diff --git a/AUTHORS b/AUTHORS
index f5ffd1d..dd1590a1 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -859,6 +859,7 @@
 Timo Gurr <timo.gurr@gmail.com>
 Timo Reimann <ttr314@googlemail.com>
 Timo Witte <timo.witte@gmail.com>
+Ting Shao <ting.shao@intel.com>
 Tom Callaway <tcallawa@redhat.com>
 Tom Harwood <tfh@skip.org>
 Tomas Popela <tomas.popela@gmail.com>
diff --git a/DEPS b/DEPS
index 71365af..c4dc5719 100644
--- a/DEPS
+++ b/DEPS
@@ -105,7 +105,7 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling Skia
   # and whatever else without interference from each other.
-  'skia_revision': '9461dcf1306a9a9517e1545cf6d16bde05261280',
+  'skia_revision': 'e514fa0f1a6ce306264a7fefbd43d16bd28ddffe',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling V8
   # and whatever else without interference from each other.
@@ -117,7 +117,7 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling ANGLE
   # and whatever else without interference from each other.
-  'angle_revision': '5272a543705e062c74678ce4a756dd0cae548abf',
+  'angle_revision': '85c4b43e6db185bd06d8df5cf0143d42dea6df80',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling build tools
   # and whatever else without interference from each other.
@@ -165,7 +165,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': '64f2ed4bb2f1a094bba38cb817ed912a118e442e',
+  'catapult_revision': 'c51eb628dd91236000ddc6534c26cceb3c5c1544',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling libFuzzer
   # and whatever else without interference from each other.
@@ -595,7 +595,7 @@
 
   # Build tools for Chrome OS. Note: This depends on third_party/pyelftools.
   'src/third_party/chromite': {
-      'url': Var('chromium_git') + '/chromiumos/chromite.git' + '@' + '835cc9ad9eb5cd36f71d82bd095c5e5b64d5b360',
+      'url': Var('chromium_git') + '/chromiumos/chromite.git' + '@' + '7fd8b20a597af3ee31ed185a8c0d6229ecabf2af',
       'condition': 'checkout_linux',
   },
 
@@ -620,7 +620,7 @@
   },
 
   'src/third_party/depot_tools':
-    Var('chromium_git') + '/chromium/tools/depot_tools.git' + '@' + 'aaf2cc09c6874e394c6c1e4692360cc400d6b388',
+    Var('chromium_git') + '/chromium/tools/depot_tools.git' + '@' + '64b61330ec7f3632d5eb1ea97133ce11f3bf6627',
 
   'src/third_party/devtools-node-modules':
     Var('chromium_git') + '/external/github.com/ChromeDevTools/devtools-node-modules' + '@' + Var('devtools_node_modules_revision'),
@@ -1106,7 +1106,7 @@
     Var('chromium_git') + '/external/khronosgroup/webgl.git' + '@' + '6d2f3f4cb8bac1f7c4a945c73d07a33df74f22f9',
 
   'src/third_party/webrtc':
-    Var('webrtc_git') + '/src.git' + '@' + '645512ba5966fa155b0c818ec35bbf0d28fb2253',
+    Var('webrtc_git') + '/src.git' + '@' + 'a36631cdb57139f28c09813cccbb38880d1c5e50',
 
   'src/third_party/xdg-utils': {
       'url': Var('chromium_git') + '/chromium/deps/xdg-utils.git' + '@' + 'd80274d5869b17b8c9067a1022e4416ee7ed5e0d',
@@ -1137,7 +1137,7 @@
     Var('chromium_git') + '/v8/v8.git' + '@' +  Var('v8_revision'),
 
   'src-internal': {
-    'url': 'https://chrome-internal.googlesource.com/chrome/src-internal.git@fb85aabf9a1578e3202b118b2e8987b8898ed61f',
+    'url': 'https://chrome-internal.googlesource.com/chrome/src-internal.git@d6b25c280cdc9cddda34ce091857f0fa6dd1cc83',
     'condition': 'checkout_src_internal',
   },
 
diff --git a/WATCHLISTS b/WATCHLISTS
index fa6f462..8b139b5 100644
--- a/WATCHLISTS
+++ b/WATCHLISTS
@@ -1943,7 +1943,8 @@
                      'dongseong.hwang@intel.com'],
     'blink_paintworklet' : ['xidachen@chromium.org'],
     'blink_performance_timing': ['panicker+watch@chromium.org'],
-    'blink_permissions': ['mlamouri+watch-blink@chromium.org'],
+    'blink_permissions': ['mlamouri+watch-blink@chromium.org',
+                          'permissions-reviews@chromium.org'],
     'blink_platform': ['kinuko+watch@chromium.org'],
     'blink_platform_graphics': ['blink-reviews-platform-graphics@chromium.org',
                                 'dongseong.hwang@intel.com',
@@ -2327,6 +2328,7 @@
     'permissions': ['dominickn+watch-permissions@chromium.org',
                     'hanxi+watch@chromium.org',
                     'mlamouri+watch-permissions@chromium.org',
+                    'permissions-reviews@chromium.org',
                     'raymes+watch@chromium.org',
                     'timloh+watch@chromium.org'],
     'picture_in_picture': ['beaufort.francois+pip@gmail.com'],
diff --git a/ash/app_list/app_list_controller_impl.cc b/ash/app_list/app_list_controller_impl.cc
index ca82613f..8200dd1 100644
--- a/ash/app_list/app_list_controller_impl.cc
+++ b/ash/app_list/app_list_controller_impl.cc
@@ -48,7 +48,7 @@
 AppListControllerImpl::AppListControllerImpl(ws::WindowService* window_service)
     : window_service_(window_service),
       presenter_(std::make_unique<AppListPresenterDelegateImpl>(this)),
-      is_home_launcher_enabled_(app_list::features::IsHomeLauncherEnabled()),
+      is_home_launcher_enabled_(app_list_features::IsHomeLauncherEnabled()),
       voice_interaction_binding_(this) {
   model_.AddObserver(this);
 
@@ -73,7 +73,7 @@
   keyboard::KeyboardController::Get()->AddObserver(this);
 
   if (is_home_launcher_enabled_ &&
-      app_list::features::IsHomeLauncherGesturesEnabled()) {
+      app_list_features::IsHomeLauncherGesturesEnabled()) {
     home_launcher_gesture_handler_ =
         std::make_unique<HomeLauncherGestureHandler>(this);
   }
diff --git a/ash/app_list/app_list_presenter_delegate_unittest.cc b/ash/app_list/app_list_presenter_delegate_unittest.cc
index 15eb90e..e82449f4 100644
--- a/ash/app_list/app_list_presenter_delegate_unittest.cc
+++ b/ash/app_list/app_list_presenter_delegate_unittest.cc
@@ -150,7 +150,7 @@
   // testing::Test:
   void SetUp() override {
     scoped_feature_list_.InitWithFeatures(
-        {}, {app_list::features::kEnableHomeLauncher});
+        {}, {app_list_features::kEnableHomeLauncher});
     AppListPresenterDelegateTest::SetUp();
   }
 
@@ -1120,8 +1120,8 @@
   // testing::Test:
   void SetUp() override {
     scoped_feature_list_.InitWithFeatures(
-        {app_list::features::kEnableHomeLauncher,
-         app_list::features::kEnableBackgroundBlur},
+        {app_list_features::kEnableHomeLauncher,
+         app_list_features::kEnableBackgroundBlur},
         {});
     AppListPresenterDelegateTest::SetUp();
     // Home launcher is only enabled on internal display.
diff --git a/ash/app_list/model/folder_image.cc b/ash/app_list/model/folder_image.cc
index 879fc84..d258d23 100644
--- a/ash/app_list/model/folder_image.cc
+++ b/ash/app_list/model/folder_image.cc
@@ -178,7 +178,8 @@
 
 FolderImage::FolderImage(AppListItemList* item_list)
     : item_list_(item_list),
-      is_new_style_launcher_enabled_(features::IsNewStyleLauncherEnabled()) {
+      is_new_style_launcher_enabled_(
+          app_list_features::IsNewStyleLauncherEnabled()) {
   item_list_->AddObserver(this);
 }
 
@@ -217,7 +218,7 @@
 std::vector<gfx::Rect> FolderImage::GetTopIconsBounds(
     const gfx::Rect& folder_icon_bounds,
     size_t num_items) {
-  if (!features::IsNewStyleLauncherEnabled())
+  if (!app_list_features::IsNewStyleLauncherEnabled())
     return GetTopIconsBoundsLegacy(folder_icon_bounds, num_items);
 
   DCHECK_LE(num_items, kNumFolderTopItems);
diff --git a/ash/app_list/views/app_list_item_view.cc b/ash/app_list/views/app_list_item_view.cc
index 09585e6..bde967c 100644
--- a/ash/app_list/views/app_list_item_view.cc
+++ b/ash/app_list/views/app_list_item_view.cc
@@ -190,7 +190,8 @@
       icon_(new IconImageView),
       title_(new views::Label),
       progress_bar_(new views::ProgressBar),
-      is_new_style_launcher_enabled_(features::IsNewStyleLauncherEnabled()),
+      is_new_style_launcher_enabled_(
+          app_list_features::IsNewStyleLauncherEnabled()),
       weak_ptr_factory_(this) {
   SetFocusBehavior(FocusBehavior::ALWAYS);
 
diff --git a/ash/app_list/views/app_list_main_view.cc b/ash/app_list/views/app_list_main_view.cc
index d30747f6..11b44019 100644
--- a/ash/app_list/views/app_list_main_view.cc
+++ b/ash/app_list/views/app_list_main_view.cc
@@ -181,7 +181,7 @@
   base::string16 query;
   base::TrimWhitespace(raw_query, base::TRIM_ALL, &query);
   bool should_show_search =
-      features::IsZeroStateSuggestionsEnabled()
+      app_list_features::IsZeroStateSuggestionsEnabled()
           ? search_box_view_->is_search_box_active() || !query.empty()
           : !query.empty();
   contents_view_->ShowSearchResults(should_show_search);
@@ -190,7 +190,7 @@
 }
 
 void AppListMainView::ActiveChanged(search_box::SearchBoxViewBase* sender) {
-  if (!features::IsZeroStateSuggestionsEnabled())
+  if (!app_list_features::IsZeroStateSuggestionsEnabled())
     return;
 
   if (search_box_view_->is_search_box_active()) {
diff --git a/ash/app_list/views/app_list_view.cc b/ash/app_list/views/app_list_view.cc
index 4ac557f..690a19ff 100644
--- a/ash/app_list/views/app_list_view.cc
+++ b/ash/app_list/views/app_list_view.cc
@@ -305,7 +305,7 @@
     : delegate_(delegate),
       model_(delegate->GetModel()),
       search_model_(delegate->GetSearchModel()),
-      is_background_blur_enabled_(features::IsBackgroundBlurEnabled()),
+      is_background_blur_enabled_(app_list_features::IsBackgroundBlurEnabled()),
       display_observer_(this),
       hide_view_animation_observer_(
           std::make_unique<HideViewAnimationObserver>()),
@@ -315,8 +315,9 @@
           views::FocusManager::arrow_key_traversal_enabled()),
       state_animation_metrics_reporter_(
           std::make_unique<StateAnimationMetricsReporter>()),
-      is_home_launcher_enabled_(app_list::features::IsHomeLauncherEnabled()),
-      is_new_style_launcher_enabled_(features::IsNewStyleLauncherEnabled()),
+      is_home_launcher_enabled_(app_list_features::IsHomeLauncherEnabled()),
+      is_new_style_launcher_enabled_(
+          app_list_features::IsNewStyleLauncherEnabled()),
       weak_ptr_factory_(this) {
   CHECK(delegate);
 
@@ -1413,7 +1414,7 @@
                                             bool triggered_by_contents_change) {
   switch (app_list_state_) {
     case AppListViewState::PEEKING:
-      if (features::IsZeroStateSuggestionsEnabled()) {
+      if (app_list_features::IsZeroStateSuggestionsEnabled()) {
         if (!search_box_is_empty || search_box_view()->is_search_box_active())
           SetState(AppListViewState::HALF);
       } else {
@@ -1422,7 +1423,7 @@
       }
       break;
     case AppListViewState::HALF:
-      if (features::IsZeroStateSuggestionsEnabled()) {
+      if (app_list_features::IsZeroStateSuggestionsEnabled()) {
         if (search_box_is_empty && !triggered_by_contents_change)
           SetState(AppListViewState::PEEKING);
       } else {
@@ -1431,7 +1432,7 @@
       }
       break;
     case AppListViewState::FULLSCREEN_SEARCH:
-      if (features::IsZeroStateSuggestionsEnabled()) {
+      if (app_list_features::IsZeroStateSuggestionsEnabled()) {
         if (search_box_is_empty && !triggered_by_contents_change) {
           SetState(AppListViewState::FULLSCREEN_ALL_APPS);
           app_list_main_view()->contents_view()->SetActiveState(
@@ -1446,7 +1447,7 @@
       }
       break;
     case AppListViewState::FULLSCREEN_ALL_APPS:
-      if (features::IsZeroStateSuggestionsEnabled()) {
+      if (app_list_features::IsZeroStateSuggestionsEnabled()) {
         if (!search_box_is_empty ||
             (search_box_is_empty && triggered_by_contents_change))
           SetState(AppListViewState::FULLSCREEN_SEARCH);
diff --git a/ash/app_list/views/app_list_view_unittest.cc b/ash/app_list/views/app_list_view_unittest.cc
index b81e643..7804cce 100644
--- a/ash/app_list/views/app_list_view_unittest.cc
+++ b/ash/app_list/views/app_list_view_unittest.cc
@@ -122,10 +122,10 @@
     }
     if (is_new_style_launcher_enabled_) {
       scoped_feature_list_.InitAndEnableFeature(
-          features::kEnableNewStyleLauncher);
+          app_list_features::kEnableNewStyleLauncher);
     } else {
       scoped_feature_list_.InitAndDisableFeature(
-          features::kEnableNewStyleLauncher);
+          app_list_features::kEnableNewStyleLauncher);
     }
     views::ViewsTestBase::SetUp();
   }
@@ -271,10 +271,10 @@
     }
     if (is_new_style_launcher_enabled_) {
       scoped_feature_list_.InitAndEnableFeature(
-          features::kEnableNewStyleLauncher);
+          app_list_features::kEnableNewStyleLauncher);
     } else {
       scoped_feature_list_.InitAndDisableFeature(
-          features::kEnableNewStyleLauncher);
+          app_list_features::kEnableNewStyleLauncher);
     }
 
     views::ViewsTestBase::SetUp();
@@ -614,7 +614,7 @@
 
   void SetUp() override {
     scoped_feature_list_.InitAndEnableFeature(
-        app_list::features::kEnableHomeLauncher);
+        app_list_features::kEnableHomeLauncher);
     AppListViewTest::SetUp();
   }
 
@@ -632,7 +632,7 @@
 
   void SetUp() override {
     scoped_feature_list_.InitAndDisableFeature(
-        app_list::features::kEnableHomeLauncher);
+        app_list_features::kEnableHomeLauncher);
     AppListViewTest::SetUp();
   }
 
diff --git a/ash/app_list/views/apps_container_view.cc b/ash/app_list/views/apps_container_view.cc
index 60b741c..61d99120 100644
--- a/ash/app_list/views/apps_container_view.cc
+++ b/ash/app_list/views/apps_container_view.cc
@@ -62,7 +62,8 @@
 AppsContainerView::AppsContainerView(ContentsView* contents_view,
                                      AppListModel* model)
     : contents_view_(contents_view),
-      is_new_style_launcher_enabled_(features::IsNewStyleLauncherEnabled()) {
+      is_new_style_launcher_enabled_(
+          app_list_features::IsNewStyleLauncherEnabled()) {
   if (is_new_style_launcher_enabled_) {
     suggestion_chip_container_view_ =
         new SuggestionChipContainerView(contents_view);
diff --git a/ash/app_list/views/apps_grid_view.cc b/ash/app_list/views/apps_grid_view.cc
index c108c97b..17a87572 100644
--- a/ash/app_list/views/apps_grid_view.cc
+++ b/ash/app_list/views/apps_grid_view.cc
@@ -324,8 +324,9 @@
       pagination_animation_start_frame_number_(0),
       view_structure_(this),
       is_apps_grid_gap_feature_enabled_(
-          features::IsAppsGridGapFeatureEnabled()),
-      is_new_style_launcher_enabled_(features::IsNewStyleLauncherEnabled()) {
+          app_list_features::IsAppsGridGapFeatureEnabled()),
+      is_new_style_launcher_enabled_(
+          app_list_features::IsNewStyleLauncherEnabled()) {
   DCHECK(contents_view_);
   SetPaintToLayer();
   // Clip any icons that are outside the grid view's bounds. These icons would
@@ -353,7 +354,7 @@
     AddChildView(expand_arrow_view_);
   }
 
-  if (!folder_delegate_ && features::IsBackgroundBlurEnabled()) {
+  if (!folder_delegate_ && app_list_features::IsBackgroundBlurEnabled()) {
     // TODO(newcomer): Improve implementation of the mask layer so we can
     // enable it on all devices https://crbug.com/765292.
     fadeout_layer_delegate_ = std::make_unique<FadeoutLayerDelegate>();
diff --git a/ash/app_list/views/apps_grid_view_unittest.cc b/ash/app_list/views/apps_grid_view_unittest.cc
index 77548c5..e76366a 100644
--- a/ash/app_list/views/apps_grid_view_unittest.cc
+++ b/ash/app_list/views/apps_grid_view_unittest.cc
@@ -198,14 +198,17 @@
       is_new_style_launcher_enabled_ = GetParam().is_new_style_launcher_enabled;
     }
     if (is_apps_grid_gap_enabled_) {
-      enabled_features.emplace_back(features::kEnableAppsGridGapFeature);
+      enabled_features.emplace_back(
+          app_list_features::kEnableAppsGridGapFeature);
     } else {
-      disabled_features.emplace_back(features::kEnableAppsGridGapFeature);
+      disabled_features.emplace_back(
+          app_list_features::kEnableAppsGridGapFeature);
     }
     if (is_new_style_launcher_enabled_) {
-      enabled_features.emplace_back(features::kEnableNewStyleLauncher);
+      enabled_features.emplace_back(app_list_features::kEnableNewStyleLauncher);
     } else {
-      disabled_features.emplace_back(features::kEnableNewStyleLauncher);
+      disabled_features.emplace_back(
+          app_list_features::kEnableNewStyleLauncher);
     }
     scoped_feature_list_.InitWithFeatures(enabled_features, disabled_features);
     views::ViewsTestBase::SetUp();
@@ -1087,7 +1090,7 @@
   // testing::Test overrides:
   void SetUp() override {
     scoped_feature_list_.InitWithFeatures(
-        {app_list::features::kEnableAppsGridGapFeature}, {});
+        {app_list_features::kEnableAppsGridGapFeature}, {});
     AppsGridViewTest::SetUp();
     apps_grid_view_->set_page_flip_delay_in_ms_for_testing(10);
     GetPaginationModel()->SetTransitionDurations(10, 10);
diff --git a/ash/app_list/views/contents_view.cc b/ash/app_list/views/contents_view.cc
index 82ab36a43..99db7fa 100644
--- a/ash/app_list/views/contents_view.cc
+++ b/ash/app_list/views/contents_view.cc
@@ -85,14 +85,14 @@
   SearchModel::SearchResults* results =
       view_delegate->GetSearchModel()->results();
 
-  if (features::IsAnswerCardEnabled()) {
+  if (app_list_features::IsAnswerCardEnabled()) {
     search_result_answer_card_view_ =
         new SearchResultAnswerCardView(view_delegate);
     search_results_page_view_->AddSearchResultContainerView(
         results, search_result_answer_card_view_);
   }
 
-  if (features::IsNewStyleLauncherEnabled()) {
+  if (app_list_features::IsNewStyleLauncherEnabled()) {
     expand_arrow_view_ = new ExpandArrowView(this, app_list_view_);
     AddChildView(expand_arrow_view_);
   }
@@ -323,7 +323,7 @@
   // Don't show |expand_arrow_view_| when the home launcher gestures are
   // disabled in tablet mode.
   if (app_list_view_->IsHomeLauncherEnabledInTabletMode() &&
-      !features::IsHomeLauncherGesturesEnabled()) {
+      !app_list_features::IsHomeLauncherGesturesEnabled()) {
     expand_arrow_view_->layer()->SetOpacity(0);
     return;
   }
diff --git a/ash/app_list/views/expand_arrow_view.cc b/ash/app_list/views/expand_arrow_view.cc
index 237b8a2..4b359749 100644
--- a/ash/app_list/views/expand_arrow_view.cc
+++ b/ash/app_list/views/expand_arrow_view.cc
@@ -98,7 +98,8 @@
     : views::Button(this),
       contents_view_(contents_view),
       app_list_view_(app_list_view),
-      is_new_style_launcher_enabled_(features::IsNewStyleLauncherEnabled()),
+      is_new_style_launcher_enabled_(
+          app_list_features::IsNewStyleLauncherEnabled()),
       weak_ptr_factory_(this) {
   SetFocusBehavior(FocusBehavior::ALWAYS);
   SetPaintToLayer();
diff --git a/ash/app_list/views/search_box_view.cc b/ash/app_list/views/search_box_view.cc
index e26b42f..71a7dc4 100644
--- a/ash/app_list/views/search_box_view.cc
+++ b/ash/app_list/views/search_box_view.cc
@@ -94,12 +94,13 @@
     : search_box::SearchBoxViewBase(delegate),
       view_delegate_(view_delegate),
       app_list_view_(app_list_view),
-      is_new_style_launcher_enabled_(features::IsNewStyleLauncherEnabled()),
+      is_new_style_launcher_enabled_(
+          app_list_features::IsNewStyleLauncherEnabled()),
       is_app_list_search_autocomplete_enabled_(
-          features::IsAppListSearchAutocompleteEnabled()),
+          app_list_features::IsAppListSearchAutocompleteEnabled()),
       weak_ptr_factory_(this) {
   set_is_tablet_mode(app_list_view->is_tablet_mode());
-  if (features::IsZeroStateSuggestionsEnabled())
+  if (app_list_features::IsZeroStateSuggestionsEnabled())
     set_show_close_button_when_active(true);
 }
 
diff --git a/ash/app_list/views/search_box_view_unittest.cc b/ash/app_list/views/search_box_view_unittest.cc
index a14e3d6b..249b2e14 100644
--- a/ash/app_list/views/search_box_view_unittest.cc
+++ b/ash/app_list/views/search_box_view_unittest.cc
@@ -286,7 +286,7 @@
   // Overridden from testing::Test
   void SetUp() override {
     scoped_feature_list_.InitWithFeatures(
-        {features::kEnableAppListSearchAutocomplete}, {});
+        {app_list_features::kEnableAppListSearchAutocomplete}, {});
     SearchBoxViewTest::SetUp();
   }
 
diff --git a/ash/app_list/views/search_result_page_view_unittest.cc b/ash/app_list/views/search_result_page_view_unittest.cc
index 5c008c4..3344542 100644
--- a/ash/app_list/views/search_result_page_view_unittest.cc
+++ b/ash/app_list/views/search_result_page_view_unittest.cc
@@ -59,11 +59,13 @@
 
     // Setting up the feature set.
     if (test_with_answer_card)
-      scoped_feature_list_.InitAndEnableFeature(features::kEnableAnswerCard);
+      scoped_feature_list_.InitAndEnableFeature(
+          app_list_features::kEnableAnswerCard);
     else
-      scoped_feature_list_.InitAndDisableFeature(features::kEnableAnswerCard);
+      scoped_feature_list_.InitAndDisableFeature(
+          app_list_features::kEnableAnswerCard);
 
-    ASSERT_EQ(test_with_answer_card, features::IsAnswerCardEnabled());
+    ASSERT_EQ(test_with_answer_card, app_list_features::IsAnswerCardEnabled());
 
     // Setting up views.
     delegate_ = std::make_unique<AppListTestViewDelegate>();
diff --git a/ash/app_list/views/search_result_tile_item_list_view.cc b/ash/app_list/views/search_result_tile_item_list_view.cc
index e4a36aa..2829297 100644
--- a/ash/app_list/views/search_result_tile_item_list_view.cc
+++ b/ash/app_list/views/search_result_tile_item_list_view.cc
@@ -49,7 +49,7 @@
     : search_result_page_view_(search_result_page_view),
       search_box_(search_box),
       is_play_store_app_search_enabled_(
-          features::IsPlayStoreAppSearchEnabled()) {
+          app_list_features::IsPlayStoreAppSearchEnabled()) {
   SetLayoutManager(std::make_unique<views::BoxLayout>(
       views::BoxLayout::kHorizontal,
       gfx::Insets(kItemListVerticalSpacing, kItemListHorizontalSpacing),
@@ -98,7 +98,7 @@
   base::TrimWhitespace(raw_query, base::TRIM_ALL, &query);
 
   SearchResult::DisplayType display_type =
-      features::IsZeroStateSuggestionsEnabled()
+      app_list_features::IsZeroStateSuggestionsEnabled()
           ? (query.empty() ? ash::SearchResultDisplayType::kRecommendation
                            : ash::SearchResultDisplayType::kTile)
           : ash::SearchResultDisplayType::kTile;
diff --git a/ash/app_list/views/search_result_tile_item_list_view_unittest.cc b/ash/app_list/views/search_result_tile_item_list_view_unittest.cc
index 0c4a765..99da7fc91 100644
--- a/ash/app_list/views/search_result_tile_item_list_view_unittest.cc
+++ b/ash/app_list/views/search_result_tile_item_list_view_unittest.cc
@@ -43,13 +43,13 @@
     // feature.
     if (IsPlayStoreAppSearchEnabled()) {
       scoped_feature_list_.InitWithFeatures(
-          {features::kEnablePlayStoreAppSearch}, {});
+          {app_list_features::kEnablePlayStoreAppSearch}, {});
     } else {
       scoped_feature_list_.InitWithFeatures(
-          {}, {features::kEnablePlayStoreAppSearch});
+          {}, {app_list_features::kEnablePlayStoreAppSearch});
     }
     ASSERT_EQ(IsPlayStoreAppSearchEnabled(),
-              features::IsPlayStoreAppSearchEnabled());
+              app_list_features::IsPlayStoreAppSearchEnabled());
 
     // Sets up the views.
     textfield_ = std::make_unique<views::Textfield>();
diff --git a/ash/app_list/views/search_result_tile_item_view.cc b/ash/app_list/views/search_result_tile_item_view.cc
index 1a2b06c..eabf42b 100644
--- a/ash/app_list/views/search_result_tile_item_view.cc
+++ b/ash/app_list/views/search_result_tile_item_view.cc
@@ -98,7 +98,7 @@
     : view_delegate_(view_delegate),
       pagination_model_(pagination_model),
       is_play_store_app_search_enabled_(
-          features::IsPlayStoreAppSearchEnabled()),
+          app_list_features::IsPlayStoreAppSearchEnabled()),
       show_in_apps_page_(show_in_apps_page),
       weak_ptr_factory_(this) {
   SetFocusBehavior(FocusBehavior::ALWAYS);
@@ -114,7 +114,7 @@
   AddChildView(icon_);
 
   if (is_play_store_app_search_enabled_ ||
-      features::IsAppShortcutSearchEnabled()) {
+      app_list_features::IsAppShortcutSearchEnabled()) {
     badge_ = new views::ImageView;
     badge_->set_can_process_events_within_subtree(false);
     badge_->SetVerticalAlignment(views::ImageView::LEADING);
diff --git a/ash/ash_service.cc b/ash/ash_service.cc
index ddf2bbe..5ec00b29 100644
--- a/ash/ash_service.cc
+++ b/ash/ash_service.cc
@@ -148,10 +148,9 @@
   chromeos::PowerPolicyController::Initialize(
       chromeos::DBusThreadManager::Get()->GetPowerManagerClient());
 
-  // See ChromeBrowserMainPartsChromeos for ordering details.
-  bluez::BluezDBusManager::Initialize(
-      chromeos::DBusThreadManager::Get()->GetSystemBus(),
-      chromeos::DBusThreadManager::Get()->IsUsingFakes());
+  // The initialization matches that in ChromeBrowserMainPartsChromeos.
+
+  bluez::BluezDBusManager::Initialize();
   if (!chromeos::NetworkHandler::IsInitialized()) {
     chromeos::NetworkHandler::Initialize();
     network_handler_initialized_ = true;
diff --git a/ash/assistant/ui/main_stage/assistant_header_view.cc b/ash/assistant/ui/main_stage/assistant_header_view.cc
index 8eb7d3e..13e3929e 100644
--- a/ash/assistant/ui/main_stage/assistant_header_view.cc
+++ b/ash/assistant/ui/main_stage/assistant_header_view.cc
@@ -75,10 +75,6 @@
   return gfx::Size(INT_MAX, GetHeightForWidth(INT_MAX));
 }
 
-void AssistantHeaderView::ChildVisibilityChanged(views::View* child) {
-  PreferredSizeChanged();
-}
-
 void AssistantHeaderView::InitLayout() {
   layout_manager_ = SetLayoutManager(std::make_unique<views::BoxLayout>(
       views::BoxLayout::Orientation::kVertical,
diff --git a/ash/assistant/ui/main_stage/assistant_header_view.h b/ash/assistant/ui/main_stage/assistant_header_view.h
index 8eff87d..e5ab060 100644
--- a/ash/assistant/ui/main_stage/assistant_header_view.h
+++ b/ash/assistant/ui/main_stage/assistant_header_view.h
@@ -31,7 +31,6 @@
   // views::View:
   const char* GetClassName() const override;
   gfx::Size CalculatePreferredSize() const override;
-  void ChildVisibilityChanged(views::View* child) override;
 
   // AssistantInteractionModelObserver:
   void OnResponseChanged(const AssistantResponse& response) override;
diff --git a/ash/assistant/ui/main_stage/assistant_main_stage.cc b/ash/assistant/ui/main_stage/assistant_main_stage.cc
index dec2e85..e9ecf518 100644
--- a/ash/assistant/ui/main_stage/assistant_main_stage.cc
+++ b/ash/assistant/ui/main_stage/assistant_main_stage.cc
@@ -234,10 +234,6 @@
   PreferredSizeChanged();
 }
 
-void AssistantMainStage::ChildVisibilityChanged(views::View* child) {
-  PreferredSizeChanged();
-}
-
 void AssistantMainStage::OnViewBoundsChanged(views::View* view) {
   if (view == active_query_view_) {
     UpdateTopPadding();
diff --git a/ash/assistant/ui/main_stage/assistant_main_stage.h b/ash/assistant/ui/main_stage/assistant_main_stage.h
index db20259f..2ea3268 100644
--- a/ash/assistant/ui/main_stage/assistant_main_stage.h
+++ b/ash/assistant/ui/main_stage/assistant_main_stage.h
@@ -44,7 +44,6 @@
   // views::View:
   const char* GetClassName() const override;
   void ChildPreferredSizeChanged(views::View* child) override;
-  void ChildVisibilityChanged(views::View* child) override;
 
   // views::ViewObserver:
   void OnViewBoundsChanged(views::View* view) override;
diff --git a/ash/assistant/ui/main_stage/ui_element_container_view.cc b/ash/assistant/ui/main_stage/ui_element_container_view.cc
index 42bb7e3..80aa8e4 100644
--- a/ash/assistant/ui/main_stage/ui_element_container_view.cc
+++ b/ash/assistant/ui/main_stage/ui_element_container_view.cc
@@ -258,15 +258,11 @@
 }
 
 void UiElementContainerView::InitLayout() {
-  views::BoxLayout* layout_manager =
-      content_view()->SetLayoutManager(std::make_unique<views::BoxLayout>(
-          views::BoxLayout::Orientation::kVertical,
-          gfx::Insets(0, kPaddingHorizontalDip, kPaddingBottomDip,
-                      kPaddingHorizontalDip),
-          kSpacingDip));
-
-  layout_manager->set_cross_axis_alignment(
-      views::BoxLayout::CrossAxisAlignment::CROSS_AXIS_ALIGNMENT_START);
+  content_view()->SetLayoutManager(std::make_unique<views::BoxLayout>(
+      views::BoxLayout::Orientation::kVertical,
+      gfx::Insets(0, kPaddingHorizontalDip, kPaddingBottomDip,
+                  kPaddingHorizontalDip),
+      kSpacingDip));
 }
 
 void UiElementContainerView::OnCommittedQueryChanged(
diff --git a/ash/components/strings/ash_components_strings_fa.xtb b/ash/components/strings/ash_components_strings_fa.xtb
index 252def3..592376c4 100644
--- a/ash/components/strings/ash_components_strings_fa.xtb
+++ b/ash/components/strings/ash_components_strings_fa.xtb
@@ -36,7 +36,7 @@
 <translation id="2397416548179033562">‏نمایش منوی Chrome</translation>
 <translation id="2424073332829844142">‏روشن و خاموش کردن Caps Lock</translation>
 <translation id="2441202986792279177">جابه‌جا شدن سریع بین پنجره‌ها</translation>
-<translation id="2454251766545114447">کوچک کردن صفحه‌نمایش</translation>
+<translation id="2454251766545114447">دورنمایی صفحه‌نمایش</translation>
 <translation id="2478303094958140141">‏روشن یا خاموش کردن ChromeVox (بازخورد گفتاری)</translation>
 <translation id="2515586267016047495">Alt</translation>
 <translation id="2530339807289914946">پیمایش به پایین صفحه وب</translation>
@@ -47,7 +47,7 @@
 <translation id="2699509451653686398">ذخیره صفحه وب کنونی شما به‌عنوان نشانک</translation>
 <translation id="2750942583782703988">بارگیری مجدد صفحه کنونی</translation>
 <translation id="2764005613199379871">قرار دادن تمرکز روی نوار نشانی جستجو</translation>
-<translation id="2789868185375229787">کوچک‌نمایی روی صفحه</translation>
+<translation id="2789868185375229787">دورنمایی کردن روی صفحه</translation>
 <translation id="2804480015716812239"><ph name="ALT" /> را فشار دهید و روی پیوند کلیک کنید</translation>
 <translation id="2830827904629746450">ثابت کردن یک پنجره در سمت راست</translation>
 <translation id="2840766858109427815">رفتن به صفحه بعدی</translation>
@@ -135,7 +135,7 @@
 <translation id="6425378783626925378">کلیک کردن نمادهای ۱ تا ۸ در قفسه</translation>
 <translation id="6435207348963613811">برجسته‌سازی مورد قبلی روی قفسه شما</translation>
 <translation id="6445033640292336367">برگرداندن برگه به جای اول</translation>
-<translation id="6474744297082284761">کوچک کردن (وقتی ذره‌بین متصل یا ذره‌بین تمام‌صفحه فعال است)</translation>
+<translation id="6474744297082284761">دورنمایی کردن (وقتی ذره‌بین متصل یا ذره‌بین تمام‌صفحه فعال است)</translation>
 <translation id="649811797655257835">فایلی را انتخاب کنید و سپس <ph name="SPACE" /> را فشار دهید</translation>
 <translation id="6556040137485212400">باز کردن پنجره‌ای که طی طولانی‌ترین زمان استفاده نشده است</translation>
 <translation id="666343722268997814">باز کردن منوی کلیک راست برای مورد برجسته‌شده</translation>
diff --git a/ash/components/strings/ash_components_strings_ta.xtb b/ash/components/strings/ash_components_strings_ta.xtb
index 93c29e13..b770336 100644
--- a/ash/components/strings/ash_components_strings_ta.xtb
+++ b/ash/components/strings/ash_components_strings_ta.xtb
@@ -154,9 +154,9 @@
 <translation id="7076878155205969899">ஒலியை முடக்கும்</translation>
 <translation id="7077383985738259936">புக்மார்க் பட்டியில் ஃபோகஸ் செய்யும் அல்லது ஹைலைட் செய்யும் (காட்டப்பட்டால்)</translation>
 <translation id="7237562915163138771">முகவரிப் பட்டியில் இணைய முகவரியைத் தட்டச்சு செய்து, <ph name="ALT" /><ph name="SEPARATOR" /><ph name="ENTER" />ஐ அழுத்தவும்</translation>
-<translation id="7254764037241667478">சாதனத்தை உறக்கப் பயன்முறைக்கு அமைக்கும் (இடைநிறுத்தப்பட்டது)</translation>
+<translation id="7254764037241667478">சாதனத்தை உறக்கப் பயன்முறைக்கு அமைக்கும் (இடைநிறுத்தம்)</translation>
 <translation id="7379254767514753910"><ph name="ALT" /> அல்லது <ph name="SEARCH" /><ph name="SEPARATOR" /><ph name="UP" /></translation>
-<translation id="743754632698445141">பயன்பாட்டைப் பிரித்தெடுக்கும்</translation>
+<translation id="743754632698445141">ஆப்ஸைப் பிரித்தெடுக்கும்</translation>
 <translation id="7439718573248533901">அடுத்த எழுத்தை நீக்கும் (முன்னோக்கி நீக்குதல்)</translation>
 <translation id="7611271430932669992">பாப்அப்களுக்கும் உரையாடல்களுக்கும் ஃபோகஸை நகர்த்தும்</translation>
 <translation id="766326951329901120">கிளிப்போர்டிலிருந்து உள்ளடக்கத்தை எளிய உரையாக ஒட்டும்</translation>
@@ -172,7 +172,7 @@
 <translation id="8234414138295101081">திரையை 90 டிகிரிக்குச் சுழற்றும்</translation>
 <translation id="8264941229485248811">டெவெலப்பர் கருவிகள் கண்காணிப்பானைக் காட்டும் அல்லது மறைக்கும்</translation>
 <translation id="836869401750819675">பதிவிறக்கங்கள் பக்கத்தைத் திறக்கும்</translation>
-<translation id="8388247778047144397">தாவல் பட்டையில் உள்ள வெற்றுப் பகுதியில் இணைப்பை இழுக்கவும்</translation>
+<translation id="8388247778047144397">தாவல் பட்டையில் உள்ள வெற்றுப் பகுதிக்கு இணைப்பை இழுக்கும்</translation>
 <translation id="8389638407792712197">புதிய சாளரத்தைத் திறக்கும்</translation>
 <translation id="8429696719963529183">F விசைகளைப் பயன்படுத்தும் (F1 முதல் F12 வரை)</translation>
 <translation id="8537650670971624753">தேடல் பயன்முறையிலிருந்து வெளியேறவும்</translation>
diff --git a/ash/frame/non_client_frame_view_ash_unittest.cc b/ash/frame/non_client_frame_view_ash_unittest.cc
index 92a5f98a..bebdf8a 100644
--- a/ash/frame/non_client_frame_view_ash_unittest.cc
+++ b/ash/frame/non_client_frame_view_ash_unittest.cc
@@ -971,7 +971,7 @@
 
   void SetUp() override {
     scoped_feature_list_.InitAndEnableFeature(
-        app_list::features::kEnableHomeLauncher);
+        app_list_features::kEnableHomeLauncher);
     AshTestBase::SetUp();
   }
 
diff --git a/ash/message_center/message_center_bubble.cc b/ash/message_center/message_center_bubble.cc
index 8fc4430..6dce1a3 100644
--- a/ash/message_center/message_center_bubble.cc
+++ b/ash/message_center/message_center_bubble.cc
@@ -51,8 +51,8 @@
   SetLayoutManager(std::make_unique<views::FillLayout>());
 
   SetBackground(views::CreateSolidBackground(
-      app_list::features::IsBackgroundBlurEnabled() ? kBackgroundColorWithBlur
-                                                    : kBackgroundColor));
+      app_list_features::IsBackgroundBlurEnabled() ? kBackgroundColorWithBlur
+                                                   : kBackgroundColor));
   SetPaintToLayer();
   layer()->SetFillsBoundsOpaquely(false);
   AddChildView(contents);
diff --git a/ash/public/cpp/app_list/app_list_config.cc b/ash/public/cpp/app_list/app_list_config.cc
index 8c88036..4c85280 100644
--- a/ash/public/cpp/app_list/app_list_config.cc
+++ b/ash/public/cpp/app_list/app_list_config.cc
@@ -59,7 +59,7 @@
       // 48 when the new shelf UI is turned off.
       shelf_height_(56),
       blur_radius_(30) {
-  if (features::IsNewStyleLauncherEnabled()) {
+  if (app_list_features::IsNewStyleLauncherEnabled()) {
     grid_tile_width_ = 120;
     grid_tile_height_ = 112;
     grid_tile_spacing_ = 0;
diff --git a/ash/public/cpp/app_list/app_list_features.cc b/ash/public/cpp/app_list/app_list_features.cc
index ad87852d..b625ad6 100644
--- a/ash/public/cpp/app_list/app_list_features.cc
+++ b/ash/public/cpp/app_list/app_list_features.cc
@@ -8,8 +8,7 @@
 #include "base/feature_list.h"
 #include "base/metrics/field_trial_params.h"
 
-namespace app_list {
-namespace features {
+namespace app_list_features {
 
 const base::Feature kEnableAnswerCard{"EnableAnswerCard",
                                       base::FEATURE_ENABLED_BY_DEFAULT};
@@ -113,5 +112,4 @@
   return std::string("MrfuAppLaunchPredictor");
 }
 
-}  // namespace features
-}  // namespace app_list
+}  // namespace app_list_features
diff --git a/ash/public/cpp/app_list/app_list_features.h b/ash/public/cpp/app_list/app_list_features.h
index 4f5f6a0d..c5d4ba10 100644
--- a/ash/public/cpp/app_list/app_list_features.h
+++ b/ash/public/cpp/app_list/app_list_features.h
@@ -13,8 +13,7 @@
 struct Feature;
 }
 
-namespace app_list {
-namespace features {
+namespace app_list_features {
 
 // Please keep these features sorted.
 // TODO(newcomer|weidongg): Sort these features.
@@ -82,7 +81,6 @@
 std::string ASH_PUBLIC_EXPORT AnswerServerQuerySuffix();
 std::string ASH_PUBLIC_EXPORT AppSearchResultRankerPredictorName();
 
-}  // namespace features
-}  // namespace app_list
+}  // namespace app_list_features
 
 #endif  // ASH_PUBLIC_CPP_APP_LIST_APP_LIST_FEATURES_H_
diff --git a/ash/shelf/shelf_layout_manager.cc b/ash/shelf/shelf_layout_manager.cc
index 92608aa..b75522e 100644
--- a/ash/shelf/shelf_layout_manager.cc
+++ b/ash/shelf/shelf_layout_manager.cc
@@ -173,7 +173,7 @@
       shelf_widget_(shelf_widget),
       shelf_(shelf),
       is_background_blur_enabled_(
-          app_list::features::IsBackgroundBlurEnabled()) {
+          app_list_features::IsBackgroundBlurEnabled()) {
   DCHECK(shelf_widget_);
   DCHECK(shelf_);
   Shell::Get()->AddShellObserver(this);
diff --git a/ash/shelf/shelf_layout_manager_unittest.cc b/ash/shelf/shelf_layout_manager_unittest.cc
index 56574914..7636ded8 100644
--- a/ash/shelf/shelf_layout_manager_unittest.cc
+++ b/ash/shelf/shelf_layout_manager_unittest.cc
@@ -706,7 +706,7 @@
 
   void SetUp() override {
     scoped_feature_list_.InitWithFeatures(
-        {}, {app_list::features::kEnableHomeLauncher});
+        {}, {app_list_features::kEnableHomeLauncher});
     ShelfLayoutManagerTest::SetUp();
   }
 
diff --git a/ash/shell/content/client/shell_browser_main_parts.cc b/ash/shell/content/client/shell_browser_main_parts.cc
index 390db98..df62cdf 100644
--- a/ash/shell/content/client/shell_browser_main_parts.cc
+++ b/ash/shell/content/client/shell_browser_main_parts.cc
@@ -80,7 +80,7 @@
   // is absent.
   chromeos::CrasAudioHandler::InitializeForTesting();
 
-  bluez::BluezDBusManager::Initialize(nullptr, true /* use stub */);
+  bluez::BluezDBusManager::Initialize();
 
   chromeos::PowerPolicyController::Initialize(
       chromeos::DBusThreadManager::Get()->GetPowerManagerClient());
diff --git a/ash/strings/ash_strings_am.xtb b/ash/strings/ash_strings_am.xtb
index 612b6b5b..ae60d14 100644
--- a/ash/strings/ash_strings_am.xtb
+++ b/ash/strings/ash_strings_am.xtb
@@ -21,6 +21,7 @@
 <translation id="1270290102613614947">በማያ ገጽ ላይ የቁልፍ ሰሌዳ ተሰናክሏል</translation>
 <translation id="1272079795634619415">አቁም</translation>
 <translation id="1279938420744323401"><ph name="DISPLAY_NAME" /> (<ph name="ANNOTATION" />)</translation>
+<translation id="1289185460362160437"><ph name="COME_BACK_DAY_OF_WEEK" /> <ph name="COME_BACK_TIME" /> ላይ ተመልሰው ይምጡ።</translation>
 <translation id="1290331692326790741">ደካማ ሲግናል</translation>
 <translation id="1293264513303784526">USB-C መሣሪያ (የግራ ወደብ)</translation>
 <translation id="1294929383540927798">የማያ ገጽ ቆልፍ ማሳወቂያ ቅንብሮቹን ይለውጡ</translation>
@@ -98,6 +99,7 @@
 <translation id="2501920221385095727">ተጣባቂ ቁልፎች</translation>
 <translation id="2509468283778169019">CAPS LOCK በርቷል</translation>
 <translation id="2532589005999780174">ባለከፍተኛ ንፅፅር ሁነታ</translation>
+<translation id="255671100581129685">የGoogle ረዳቱ በይፋዊ ክፍለ-ጊዜ ውስጥ አይገኝም።</translation>
 <translation id="2575685495496069081">በበርካታ መለያ መግባት ነቅቷል</translation>
 <translation id="2582112259361606227">ለማዘመን ዳግም ያስነሱ</translation>
 <translation id="2597972630681408282">የሌሊት ብርሃን፦ <ph name="NIGHT_LIGHT_STATUS" /></translation>
@@ -129,6 +131,7 @@
 <translation id="3000461861112256445">ሞኖ ኦዲዮ</translation>
 <translation id="3009178788565917040">ውጽዓት</translation>
 <translation id="3019353588588144572">ባትሪ ሙሉ ኃይል እስኪኖረው ድረስ የሚቀረው ጊዜ፣ <ph name="TIME_REMAINING" /></translation>
+<translation id="3055162170959710888">ይህን መሣሪያ ዛሬ ለ<ph name="USED_TIME" /> ተጠቅመውበታል</translation>
 <translation id="3077734595579995578">shift</translation>
 <translation id="3081696990447829002">ምናሌ ዘርጋ</translation>
 <translation id="3087734570205094154">ግርጌ</translation>
@@ -214,6 +217,7 @@
 <translation id="4659419629803378708">ChromeVox ነቅቷል</translation>
 <translation id="4734965478015604180">አግድማዊ</translation>
 <translation id="476166673298332917">የዚህ መሣሪያ አስተዳዳሪ የይለፍ ቃላት እና የተግባቦት ጨምሮ የሁሉንም እንቅስቃሴ መዳረሻ አለው።</translation>
+<translation id="4774338217796918551">ነገ <ph name="COME_BACK_TIME" /> ላይ ተመልሰው ይምጡ።</translation>
 <translation id="4776917500594043016">የ<ph name="USER_EMAIL_ADDRESS" /> ይለፍ ቃል</translation>
 <translation id="4778095205580009397">የGoogle ረዳቱ በማሳያ ክፍለ-ጊዜ ውስጥ አይገኝም።</translation>
 <translation id="479989351350248267">ፈልግ</translation>
@@ -228,6 +232,7 @@
 <translation id="4918086044614829423">ይቀበሉ</translation>
 <translation id="4924411785043111640">ዳግም ይጀምሩ እና ዳግም ያቀናብሩ</translation>
 <translation id="4961318399572185831">የCast ማያ ገጽ</translation>
+<translation id="5030687792513154421">ሰዓት አልቋል</translation>
 <translation id="5083553833479578423">ተጨማሪ የረዳት ባህሪያትን ያስከፍቱ።</translation>
 <translation id="5136175204352732067">የተለየ የቁልፍ ሰሌዳ ተገናኝቷል</translation>
 <translation id="5168181903108465623">የCast መሣሪያዎች ይገኛሉ</translation>
@@ -276,7 +281,6 @@
 <translation id="598882571027504733">ዝማኔውን ለማግኘት፣ ከተያያዘው የቁልፍ ሰሌዳ ጋር የእርስዎን Chromebook ዳግም ያስጀምሩ።</translation>
 <translation id="5992218262414051481">ባለከፍተኛ ንፅፅር ሁነታ ነቅቷል። እሱን ለማጥፋት እንደገና Ctrl+Search+H ይጫኑ።</translation>
 <translation id="6018164090099858612">ከመስታወት ሁነታ በመውጣት ላይ</translation>
-<translation id="6040143037577758943">ዝጋ</translation>
 <translation id="6043212731627905357">ይህ ማሳያ ከእርስዎ <ph name="DEVICE_TYPE" /> ጋር መስማማት አልቻለም (ማሳያው የሚደገፍ አይደለም)።</translation>
 <translation id="6043994281159824495">አሁን ዘግተህ ውጣ</translation>
 <translation id="6047696787498798094">ወደ ሌላ ተጠቃሚ ሲቀይሩ ማያ ገጽ ማጋራት ይቆማል። መቀጠል ይፈልጋሉ?</translation>
@@ -359,6 +363,7 @@
 <translation id="7510334386202674593">Ctrl+Shift+L</translation>
 <translation id="7526573455193969409">አውታረ መረብ ክትትል የሚደረግበት ሊሆን ይችላል</translation>
 <translation id="7536035074519304529">የአይፒ አድራሻ፦ <ph name="ADDRESS" /></translation>
+<translation id="7548434653388805669">የመኝታ ጊዜ</translation>
 <translation id="7561014039265304140"><ph name="DISPLAY_NAME" /> <ph name="SPECIFIED_RESOLUTION" />ን አይደግፍም። ጥራቱ ወደ <ph name="FALLBACK_RESOLUTION" /> ተቀይሯል</translation>
 <translation id="7562368315689366235">ስሜት ገላጭ ሥዕል ቤተ-ሥዕል</translation>
 <translation id="7564874036684306347">መስኮትን ወደ ሌላ ዴስክቶፕ መውሰድ ያልተጠበቀ ባህሪን ሊያስከትል ይችላል። ተከትለው የሚመጡ ማሳወቂያዎችን፣ መስኮቶች እና መገናኛዎች በዴስክቶፖች መካከል ሊከፈሉ ይችላሉ።</translation>
@@ -401,12 +406,14 @@
 <translation id="8152119955266188852">የሙሉ ማያ ገጽ ማጉያውን አቋራጭ ተጭነዋል። ሊያበሩት ይፈልጋሉ?</translation>
 <translation id="8190698733819146287">ቋንቋዎችን እና ግብአቶችን አብጅ...</translation>
 <translation id="8192202700944119416">ማሳወቂያዎች ተደብቀዋል</translation>
+<translation id="8236042855478648955">የዕረፍት ጊዜ</translation>
 <translation id="8261506727792406068">ሰርዝ</translation>
 <translation id="8297006494302853456">ደካማ</translation>
 <translation id="8308637677604853869">ቀዳሚ ምናሌ</translation>
 <translation id="8341451174107936385"><ph name="UNLOCK_MORE_FEATURES" />  <ph name="GET_STARTED" /></translation>
 <translation id="8351131234907093545">ማስታወሻን ይፍጠሩ</translation>
 <translation id="8392451568018454956">የ<ph name="USER_EMAIL_ADDRESS" /> አማራጮች ምናሌ</translation>
+<translation id="8394567579869570560">የእርስዎ ወላጅ ይህን መሣሪያ ቆልፈውታል</translation>
 <translation id="8406981827175133772">የሙሉ ማያ ገጽ ማጉያ</translation>
 <translation id="8425213833346101688">ለውጥ</translation>
 <translation id="8427213022735114808">በቃል ማስጻፍ በማንኛውም የጽሑፍ መስክ ውስጥ የድምጽ ትየባን ለመፍቀድ ድምጽዎን ወደ Google ይልካል።</translation>
@@ -436,7 +443,6 @@
 <translation id="8814190375133053267">Wi-Fi</translation>
 <translation id="8825534185036233643">ከሁለት ማሳያዎች በላይ ማንጸባረቅ አይደገፍም።</translation>
 <translation id="8828714802988429505">90°</translation>
-<translation id="8841375032071747811">የተመለስ አዝራር</translation>
 <translation id="8843682306134542540">የማሽከርከሪያ ቁልፍን አብራ ወይም አጥፋ። <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Search+Esc</translation>
 <translation id="8870509716567206129">መተግበሪያው የተከፈለ ማያ ገጽን አይደግፍም።</translation>
@@ -463,6 +469,7 @@
 <translation id="9201131092683066720">ባትሪው <ph name="PERCENTAGE" />% ሙሉ ነው።</translation>
 <translation id="9210037371811586452">ከተዋሃደ የዴስክቶፕ ሁነታ በመውጣት ላይ</translation>
 <translation id="9215934040295798075">ልጣፍ ያዘጋጁ</translation>
+<translation id="921989828232331238">የእርስዎ ወላጅ ለቀኑ መሣሪያውን ቆልፈውታል</translation>
 <translation id="923686485342484400">ዘግተው ለመውጣት Ctrl Shift Qን ሁለቴ ይጫኑ።</translation>
 <translation id="938963181863597773">የቀን መቁጠሪያዬ ላይ ምን አለ?</translation>
 <translation id="945522503751344254">ግብረ መልስ ላክ</translation>
diff --git a/ash/strings/ash_strings_ar.xtb b/ash/strings/ash_strings_ar.xtb
index 763dbfa7e..c149648 100644
--- a/ash/strings/ash_strings_ar.xtb
+++ b/ash/strings/ash_strings_ar.xtb
@@ -21,6 +21,7 @@
 <translation id="1270290102613614947">تم إيقاف لوحة المفاتيح على الشاشة</translation>
 <translation id="1272079795634619415">إيقاف</translation>
 <translation id="1279938420744323401"><ph name="DISPLAY_NAME" /> (<ph name="ANNOTATION" />)</translation>
+<translation id="1289185460362160437">يمكنك العودة يوم <ph name="COME_BACK_DAY_OF_WEEK" /> في <ph name="COME_BACK_TIME" />.</translation>
 <translation id="1290331692326790741">إشارة ضعيفة</translation>
 <translation id="1293264513303784526">‏جهاز USB-C (المنفذ الأيسر)</translation>
 <translation id="1294929383540927798">تغيير إعدادات الإشعارات لشاشة التأمين</translation>
@@ -90,7 +91,7 @@
 <translation id="2391579633712104609">180 درجة</translation>
 <translation id="239188844683466770">تبديل حالة "الرجاء عدم الإزعاج"</translation>
 <translation id="2412593942846481727">هناك تحديث جديد</translation>
-<translation id="2413728805700750528"><ph name="DISPLAY_NAME" /> هي جلسة مُدارة يديرها <ph name="DOMAIN" /></translation>
+<translation id="2413728805700750528"><ph name="DISPLAY_NAME" /> هي جلسة مُدارة بواسطة <ph name="DOMAIN" /></translation>
 <translation id="2416346634399901812">تم الاتصال بشبكة <ph name="NETWORK_NAME" /></translation>
 <translation id="2429753432712299108">يريد جهاز بلوتوث "<ph name="DEVICE_NAME" />" الحصول على إذن للإقران. قبل القبول، يُرجى التأكد أن مفتاح المرور هذا يظهر في هذا الجهاز: <ph name="PASSKEY" /></translation>
 <translation id="2482878487686419369">الاشعارات</translation>
@@ -98,6 +99,7 @@
 <translation id="2501920221385095727">مفاتيح الثبات</translation>
 <translation id="2509468283778169019">‏مفتاح CAPS LOCK قيد التشغيل</translation>
 <translation id="2532589005999780174">وضع التباين العالي</translation>
+<translation id="255671100581129685">‏لا يتوفَّر "مساعد Google" في جلسة عامة.</translation>
 <translation id="2575685495496069081">تمّ إيقاف الدخول المتعدّد</translation>
 <translation id="2582112259361606227">إعادة التشغيل للتحديث</translation>
 <translation id="2597972630681408282">إضاءة ليلية: <ph name="NIGHT_LIGHT_STATUS" /></translation>
@@ -129,6 +131,7 @@
 <translation id="3000461861112256445">صوت أحادي</translation>
 <translation id="3009178788565917040">الإخراج</translation>
 <translation id="3019353588588144572">الوقت المتبقي حتى يتم شحن البطارية بالكامل <ph name="TIME_REMAINING" /></translation>
+<translation id="3055162170959710888">استخدمت هذا الجهاز لمدة <ph name="USED_TIME" /> اليوم</translation>
 <translation id="3077734595579995578">shift</translation>
 <translation id="3081696990447829002">توسيع القائمة</translation>
 <translation id="3087734570205094154">أسفل</translation>
@@ -214,6 +217,7 @@
 <translation id="4659419629803378708">‏تم تفعيل ChromeVox</translation>
 <translation id="4734965478015604180">أفقي</translation>
 <translation id="476166673298332917">يمكن لمشرف هذا الجهاز الوصول إلى جميع الأنشطة، بما في ذلك كلمات المرور والاتصالات.</translation>
+<translation id="4774338217796918551">يمكنك العودة غدًا في <ph name="COME_BACK_TIME" />.</translation>
 <translation id="4776917500594043016">كلمة مرور <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="4778095205580009397">‏لا يتوفَّر "مساعد Google" في جلسة تجريبية.</translation>
 <translation id="479989351350248267">بحث</translation>
@@ -228,6 +232,7 @@
 <translation id="4918086044614829423">قبول</translation>
 <translation id="4924411785043111640">إعادة التشغيل وإعادة الضبط</translation>
 <translation id="4961318399572185831">إرسال الشاشة</translation>
+<translation id="5030687792513154421">انتهى الوقت</translation>
 <translation id="5083553833479578423">‏الاستفادة من المزيد من ميزات "مساعد Google"</translation>
 <translation id="5136175204352732067">تم توصيل لوحة مفاتيح مختلفة</translation>
 <translation id="5168181903108465623">أجهزة البث متاحة</translation>
@@ -276,7 +281,6 @@
 <translation id="598882571027504733">‏للحصول على التحديث، يُرجى إعادة تشغيل جهاز Chromebook مع توصيل لوحة المفاتيح.</translation>
 <translation id="5992218262414051481">‏تم تفعيل وضع التباين العالي. اضغط على "Ctrl+Search+H" مرة أخرى لإيقافه.</translation>
 <translation id="6018164090099858612">جارٍ الخروج من وضع المرآة</translation>
-<translation id="6040143037577758943">إغلاق</translation>
 <translation id="6043212731627905357">لا تتوافق هذه الشاشة مع <ph name="DEVICE_TYPE" /> (هذه الشاشة غير مدعومة).</translation>
 <translation id="6043994281159824495">الخروج الآن</translation>
 <translation id="6047696787498798094">سيتم إيقاف مشاركة الشاشة عند التبديل إلى مستخدم آخر. هل تريد المتابعة؟</translation>
@@ -360,6 +364,7 @@
 <translation id="7510334386202674593">Ctrl+Shift+L</translation>
 <translation id="7526573455193969409">قد تكون الشبكة خاضعة للمراقبة</translation>
 <translation id="7536035074519304529">‏عنوان IP: ‏<ph name="ADDRESS" /></translation>
+<translation id="7548434653388805669">وقت النوم</translation>
 <translation id="7561014039265304140"><ph name="DISPLAY_NAME" /> غير متوافق مع <ph name="SPECIFIED_RESOLUTION" />. تم تغيير الدقة إلى <ph name="FALLBACK_RESOLUTION" /></translation>
 <translation id="7562368315689366235">لوحة ألوان الرموز التعبيرية</translation>
 <translation id="7564874036684306347">قد ينتج عن نقل النوافذ إلى سطح مكتب آخر سلوك غير متوقع. من الممكن أن يتم تقسيم مربعات الحوار والنوافذ والإشعارات المتتالية بين سطحَي المكتب.</translation>
@@ -402,12 +407,14 @@
 <translation id="8152119955266188852">لقد ضغطت على اختصار المُكبِّر بملء الشاشة. هل ترغب في تفعيله؟</translation>
 <translation id="8190698733819146287">تخصيص اللغات والإدخال...</translation>
 <translation id="8192202700944119416">يتم إخفاء الإشعارات.</translation>
+<translation id="8236042855478648955">حان وقت الراحة</translation>
 <translation id="8261506727792406068">حذف</translation>
 <translation id="8297006494302853456">ضعيفة</translation>
 <translation id="8308637677604853869">القائمة السابقة</translation>
 <translation id="8341451174107936385"><ph name="UNLOCK_MORE_FEATURES" />  <ph name="GET_STARTED" /></translation>
 <translation id="8351131234907093545">إنشاء ملاحظة</translation>
 <translation id="8392451568018454956">قائمة الخيارات لـ <ph name="USER_EMAIL_ADDRESS" /></translation>
+<translation id="8394567579869570560">قفل أحد الوالدين هذا الجهاز</translation>
 <translation id="8406981827175133772">مُكبِّر بوضع ملء الشاشة</translation>
 <translation id="8425213833346101688">تغيير</translation>
 <translation id="8427213022735114808">‏ترسل ميزة "الإملاء" صوتك إلى Google للسماح بالكتابة بالصوت في أي حقل نصي.</translation>
@@ -437,7 +444,6 @@
 <translation id="8814190375133053267">‏لاسلكي، Wi-Fi</translation>
 <translation id="8825534185036233643">النسخ المطابق بأكثر من عرضين غير مدعوم.</translation>
 <translation id="8828714802988429505">90 درجة</translation>
-<translation id="8841375032071747811">زر الرجوع</translation>
 <translation id="8843682306134542540">تبديل قفل التدوير. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Search+Esc</translation>
 <translation id="8870509716567206129">التطبيق لا يتيح تقسيم الشاشة.</translation>
@@ -464,6 +470,7 @@
 <translation id="9201131092683066720">اكتمل شحن <ph name="PERCENTAGE" />% من البطارية.</translation>
 <translation id="9210037371811586452">جارٍ الخروج من وضع سطح المكتب الموحد</translation>
 <translation id="9215934040295798075">تعيين خلفية</translation>
+<translation id="921989828232331238">قفل أحد الوالدين جهازك لليوم</translation>
 <translation id="923686485342484400">‏للخروج اضغط على Ctrl Shift Q مرتين.</translation>
 <translation id="938963181863597773">ماذا يتضمّن تقويمي؟</translation>
 <translation id="945522503751344254">إرسال تعليقات</translation>
diff --git a/ash/strings/ash_strings_bg.xtb b/ash/strings/ash_strings_bg.xtb
index 6f88f4f..bb38d984 100644
--- a/ash/strings/ash_strings_bg.xtb
+++ b/ash/strings/ash_strings_bg.xtb
@@ -21,6 +21,7 @@
 <translation id="1270290102613614947">Екранната клавиатура е деактивирана</translation>
 <translation id="1272079795634619415">Стоп</translation>
 <translation id="1279938420744323401">„<ph name="DISPLAY_NAME" />“ (<ph name="ANNOTATION" />)</translation>
+<translation id="1289185460362160437">Заповядайте отново в <ph name="COME_BACK_TIME" /> в(ъв) <ph name="COME_BACK_DAY_OF_WEEK" />.</translation>
 <translation id="1290331692326790741">слаб сигнал</translation>
 <translation id="1293264513303784526">USB-C устройство (левият порт)</translation>
 <translation id="1294929383540927798">Промяна на настройките за известия на заключения екран</translation>
@@ -98,6 +99,7 @@
 <translation id="2501920221385095727">Оставащи клавиши</translation>
 <translation id="2509468283778169019">„CAPS LOCK“ е включен</translation>
 <translation id="2532589005999780174">Режим на висок контраст</translation>
+<translation id="255671100581129685">Google Асистент не е налице по време на публична сесия.</translation>
 <translation id="2575685495496069081">Централизираният вход е деактивиран</translation>
 <translation id="2582112259361606227">Рестартирайте, за да актуализирате</translation>
 <translation id="2597972630681408282">Нощно осветление: <ph name="NIGHT_LIGHT_STATUS" /></translation>
@@ -129,6 +131,7 @@
 <translation id="3000461861112256445">Монозвук</translation>
 <translation id="3009178788565917040">Изход</translation>
 <translation id="3019353588588144572">Оставащо време до пълното зареждане на батерията: <ph name="TIME_REMAINING" /></translation>
+<translation id="3055162170959710888">Днес използвахте това устройство <ph name="USED_TIME" /></translation>
 <translation id="3077734595579995578">shift</translation>
 <translation id="3081696990447829002">Разгъване на менюто</translation>
 <translation id="3087734570205094154">Най-долу</translation>
@@ -214,6 +217,7 @@
 <translation id="4659419629803378708">Активирахте ChromeVox</translation>
 <translation id="4734965478015604180">Хоризонтална ориентация</translation>
 <translation id="476166673298332917">Администраторът на това устройство има достъп до цялата активност, включително паролите и комуникациите.</translation>
+<translation id="4774338217796918551">Заповядайте отново утре в <ph name="COME_BACK_TIME" />.</translation>
 <translation id="4776917500594043016">Парола за <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="4778095205580009397">Google Асистент не е налице по време на демонстрационна сесия.</translation>
 <translation id="479989351350248267">search</translation>
@@ -228,6 +232,7 @@
 <translation id="4918086044614829423">Приемам</translation>
 <translation id="4924411785043111640">Рестартиране и нулиране</translation>
 <translation id="4961318399572185831">Предаване на екрана</translation>
+<translation id="5030687792513154421">Времето свърши</translation>
 <translation id="5083553833479578423">Отключете още функции на Асистент.</translation>
 <translation id="5136175204352732067">Свързана е различна клавиатура</translation>
 <translation id="5168181903108465623">Налице са устройства Cast</translation>
@@ -276,7 +281,6 @@
 <translation id="598882571027504733">За да инсталирате актуализацията, рестартирайте своя Chromebook, докато клавиатурата е прикачена.</translation>
 <translation id="5992218262414051481">Режимът на висок контраст е активиран. За да го изключите, натиснете отново Ctrl + клавиш „Търсене“ + H.</translation>
 <translation id="6018164090099858612">Излиза се от огледалния режим</translation>
-<translation id="6040143037577758943">Затваряне</translation>
 <translation id="6043212731627905357">Този монитор не се поддържа от вашия <ph name="DEVICE_TYPE" />.</translation>
 <translation id="6043994281159824495">Изход сега</translation>
 <translation id="6047696787498798094">Споделянето на екрана ще спре, когато превключите към друг потребител. Искате ли да продължите?</translation>
@@ -359,6 +363,7 @@
 <translation id="7510334386202674593">Ctrl + Shift + L</translation>
 <translation id="7526573455193969409">Мрежата може да е под наблюдение</translation>
 <translation id="7536035074519304529">IP адрес: <ph name="ADDRESS" /></translation>
+<translation id="7548434653388805669">Време е за сън</translation>
 <translation id="7561014039265304140">„<ph name="DISPLAY_NAME" />“ не поддържа разделителна способност от <ph name="SPECIFIED_RESOLUTION" />. Тя бе променена на <ph name="FALLBACK_RESOLUTION" /></translation>
 <translation id="7562368315689366235">Панел с емотикони</translation>
 <translation id="7564874036684306347">Преместването на прозорци към друг работен плот може да предизвика неочаквано поведение. Последващите известия, прозорци и диалогови прозорци може да бъдат разделени между работните плотове.</translation>
@@ -401,12 +406,14 @@
 <translation id="8152119955266188852">Използвахте клавишната комбинация за лупата за увеличаване на целия екран. Искате ли да включите функцията?</translation>
 <translation id="8190698733819146287">Персонализиране на езиците и въвеждането...</translation>
 <translation id="8192202700944119416">Известията са скрити.</translation>
+<translation id="8236042855478648955">Време е за почивка</translation>
 <translation id="8261506727792406068">Изтриване</translation>
 <translation id="8297006494302853456">Слаб</translation>
 <translation id="8308637677604853869">Предишно меню</translation>
 <translation id="8341451174107936385"><ph name="UNLOCK_MORE_FEATURES" />  <ph name="GET_STARTED" /></translation>
 <translation id="8351131234907093545">Създаване на бележка</translation>
 <translation id="8392451568018454956">Меню с опции за <ph name="USER_EMAIL_ADDRESS" /></translation>
+<translation id="8394567579869570560">Родителят ви заключи това устройство</translation>
 <translation id="8406981827175133772">Лупа за увеличаване на целия екран</translation>
 <translation id="8425213833346101688">Промяна</translation>
 <translation id="8427213022735114808">Функцията за диктуване изпраща гласа ви до Google, за да даде възможност за гласово въвеждане във всяко текстово поле.</translation>
@@ -436,7 +443,6 @@
 <translation id="8814190375133053267">Wi-Fi</translation>
 <translation id="8825534185036233643">Дублирането с повече от два екрана не се поддържа.</translation>
 <translation id="8828714802988429505">90°</translation>
-<translation id="8841375032071747811">Бутон за връщане назад</translation>
 <translation id="8843682306134542540">Превключване на функцията за заключване на завъртането. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">търсене + Esc</translation>
 <translation id="8870509716567206129">Приложението не поддържа разделен екран.</translation>
@@ -463,6 +469,7 @@
 <translation id="9201131092683066720">Батерията е <ph name="PERCENTAGE" />% пълна.</translation>
 <translation id="9210037371811586452">Излиза се от режима на обединен работен плот</translation>
 <translation id="9215934040295798075">Задаване на тапета</translation>
+<translation id="921989828232331238">Родителят ви заключи устройството ви за деня</translation>
 <translation id="923686485342484400">Натиснете два пъти „Control+Shift+Q“ за изход.</translation>
 <translation id="938963181863597773">„What's on my calendar?“ („Какво има в календара ми?“)</translation>
 <translation id="945522503751344254">Изпращане на отзиви</translation>
diff --git a/ash/strings/ash_strings_bn.xtb b/ash/strings/ash_strings_bn.xtb
index 9781abd..f2c7dcc 100644
--- a/ash/strings/ash_strings_bn.xtb
+++ b/ash/strings/ash_strings_bn.xtb
@@ -21,6 +21,7 @@
 <translation id="1270290102613614947">অন-স্ক্রিন কীবোর্ড অক্ষম করা রয়েছে</translation>
 <translation id="1272079795634619415">বন্ধ</translation>
 <translation id="1279938420744323401"><ph name="DISPLAY_NAME" /> (<ph name="ANNOTATION" />)</translation>
+<translation id="1289185460362160437"><ph name="COME_BACK_DAY_OF_WEEK" /> <ph name="COME_BACK_TIME" />-এ আবার ব্যবহার করতে পারবেন।</translation>
 <translation id="1290331692326790741">সিগন্যালটি ভাল নয়</translation>
 <translation id="1293264513303784526">USB-C ডিভাইস (বাঁ পোর্ট)</translation>
 <translation id="1294929383540927798">লক-স্ক্রিন বিজ্ঞপ্তির সেটিংস পরিবর্তন করুন</translation>
@@ -98,6 +99,7 @@
 <translation id="2501920221385095727">স্টিকি কীজ</translation>
 <translation id="2509468283778169019">CAPS LOCK চালু</translation>
 <translation id="2532589005999780174">উচ্চ কনট্রাস্ট মোড</translation>
+<translation id="255671100581129685">সর্বজনীন সেশনে Google অ্যাসিস্ট্যান্ট উপলভ্য নয়।</translation>
 <translation id="2575685495496069081">একাধিক সাইন-ইন বিকল্প বন্ধ করা হয়েছে</translation>
 <translation id="2582112259361606227">আপডেট করার জন্য রিস্টার্ট করুন</translation>
 <translation id="2597972630681408282">নাইট লাইট: <ph name="NIGHT_LIGHT_STATUS" /></translation>
@@ -129,6 +131,7 @@
 <translation id="3000461861112256445">মোনো অডিও</translation>
 <translation id="3009178788565917040">আউটপুট</translation>
 <translation id="3019353588588144572">ব্যাটারি পরিপূর্ণ চার্জ হতে, <ph name="TIME_REMAINING" /> সময় বাকি আছে</translation>
+<translation id="3055162170959710888">এই ডিভাইসটি আজ আপনি <ph name="USED_TIME" /> ব্যবহার করেছেন</translation>
 <translation id="3077734595579995578">shift</translation>
 <translation id="3081696990447829002">মেনুটি বড় করুন</translation>
 <translation id="3087734570205094154">নিচে</translation>
@@ -214,6 +217,7 @@
 <translation id="4659419629803378708">ChromeVox সক্ষম করা আছে</translation>
 <translation id="4734965478015604180">অনুভূমিক</translation>
 <translation id="476166673298332917">পাসওয়ার্ড এবং যোগাযোগ সহ সমস্ত অ্যাক্টিভিটির অ্যাক্সেস এই ডিভাইসের অ্যাডমিনিস্ট্রেটরের কাছে আছে।</translation>
+<translation id="4774338217796918551">আগামীকাল <ph name="COME_BACK_TIME" />-এ আবার ব্যবহার করতে পারবেন।</translation>
 <translation id="4776917500594043016"><ph name="USER_EMAIL_ADDRESS" />-এর জন্য পাসওয়ার্ড</translation>
 <translation id="4778095205580009397">একটি ডেমো সেশনে Google অ্যাসিস্ট্যান্ট উপলভ্য নয়।</translation>
 <translation id="479989351350248267">search</translation>
@@ -228,6 +232,7 @@
 <translation id="4918086044614829423">স্বীকার</translation>
 <translation id="4924411785043111640">রিস্টার্ট করুন এবং রিসেট করুন</translation>
 <translation id="4961318399572185831">স্ক্রিন কাস্ট করুন</translation>
+<translation id="5030687792513154421">সময় শেষ</translation>
 <translation id="5083553833479578423">অ্যাসিস্ট্যান্ট-এর আরও বৈশিষ্ট্য আনলক করুন।</translation>
 <translation id="5136175204352732067">বিভিন্ন কীবোর্ড কানেক্ট করা হয়েছে</translation>
 <translation id="5168181903108465623">কাস্ট ডিভাইসগুলি উপলব্ধ</translation>
@@ -244,7 +249,7 @@
 <translation id="5496819745535887422">আপনার অ্যাডমিনিস্ট্রেটর আপনার ডিভাইসটি রোল ব্যাক করেছেন। ডিভাইসটি রিস্টার্টের সময় সমস্ত ডেটা মুছে ফেলা হবে।</translation>
 <translation id="553675580533261935">সেশন থেকে প্রস্থান করছে</translation>
 <translation id="5537725057119320332">কাস্ট করুন</translation>
-<translation id="5548285847212963613">"<ph name="EXTENSION_NAME" />" এক্সটেনশানটি এই নেটওয়ার্কের সাথে সংযোগ স্থাপন করতে সাহায্য করতে পারে৷</translation>
+<translation id="5548285847212963613">"<ph name="EXTENSION_NAME" />" এক্সটেনশনটি এই নেটওয়ার্কের সাথে সংযোগ স্থাপন করতে সাহায্য করতে পারে৷</translation>
 <translation id="554893713779400387">ডিক্টেশন চালু বা বন্ধ করুন</translation>
 <translation id="5571066253365925590">ব্লুটুথ সক্ষমিত</translation>
 <translation id="5597451508971090205"><ph name="SHORT_WEEKDAY" />, <ph name="DATE" /></translation>
@@ -276,7 +281,6 @@
 <translation id="598882571027504733">আপডেট পেতে, অ্যাটাচ করা কীবোর্ডের মাধ্যমে আপনার Chromebook রিস্টার্ট করুন।</translation>
 <translation id="5992218262414051481">উচ্চ কনট্রাস্ট মোড সক্ষম করা হয়েছে। টগল করে বন্ধ করার জন্য Ctrl+Search+H টিপুন।</translation>
 <translation id="6018164090099858612">মিরর মোড থেকে প্রস্থান করছে</translation>
-<translation id="6040143037577758943">বন্ধ</translation>
 <translation id="6043212731627905357">এই মনিটরটি আপনার <ph name="DEVICE_TYPE" /> এর সাথে তাল মেলাতে পারছে না (মনিটরটি সমর্থিত নয়)।</translation>
 <translation id="6043994281159824495">এখনই প্রস্থান করুন</translation>
 <translation id="6047696787498798094">যখন আপনি অন্য ব্যবহারকারীতে পাল্টাবেন তখন স্ক্রিন শেয়ার করা বন্ধ হবে৷ আপনি কি চালিয়ে যেতে চান?</translation>
@@ -360,6 +364,7 @@
 <translation id="7510334386202674593">Ctrl+Shift+L</translation>
 <translation id="7526573455193969409">নেটওয়ার্কের উপরে নজর রাখা হতে পারে</translation>
 <translation id="7536035074519304529">IP ঠিকানা: <ph name="ADDRESS" /></translation>
+<translation id="7548434653388805669">শুতে যাওয়ার সময় হয়েছে</translation>
 <translation id="7561014039265304140"><ph name="DISPLAY_NAME" />, <ph name="SPECIFIED_RESOLUTION" /> সমর্থন করে না৷ রেজোলিউশন <ph name="FALLBACK_RESOLUTION" /> এ পরিবর্তিত হয়েছে</translation>
 <translation id="7562368315689366235">ইমোজি প্যালেট</translation>
 <translation id="7564874036684306347">কোনও উইন্ডো অন্য ডেস্কটপে সরানো হলে সেটির আচরণে অপ্রত্যাশিত পরিবর্তন হতে পারে। পরবর্তী বিজ্ঞপ্তি, উইন্ডো এবং ডায়ালগ দুটি ডেস্কটপ মিলিয়ে দেখানো হতে পারে।</translation>
@@ -383,7 +388,7 @@
 <translation id="7886169021410746335">গোপনীয়তা সেটিংস অ্যাডজাস্ট করুন</translation>
 <translation id="7886277072580235377">আপনি সাইন-আউট করলে আপনার ইন্টারনেট সেশন মুছে ফেলা হবে। <ph name="LEARN_MORE" /></translation>
 <translation id="788781083998633524">একটি ইমেল পাঠান</translation>
-<translation id="7904094684485781019">এই অ্যাকাউন্টের প্রশাসক একাধিক প্রবেশ করুন অননুমোদিত করেছেন৷</translation>
+<translation id="7904094684485781019">এই অ্যাকাউন্টের অ্যাডমিনিস্ট্রেটর একাধিক সাইন-ইন অননুমোদিত করেছেন৷</translation>
 <translation id="7933084174919150729">Google সহায়ক শুধুমাত্র প্রাথমিক প্রোফাইলেই ব্যবহার করা যায়।</translation>
 <translation id="79341161159229895">অ্যাকাউন্টটি <ph name="FIRST_PARENT_EMAIL" /> এবং <ph name="SECOND_PARENT_EMAIL" /> পরিচালনা করছেন</translation>
 <translation id="7977927628060636163">মোবাইল নেটওয়ার্কগুলির জন্য সার্চ করছে...</translation>
@@ -402,12 +407,14 @@
 <translation id="8152119955266188852">ফুল-স্ক্রিন ম্যাগনিফায়ারের জন্য আপনি শর্টকাট প্রেস করেছেন। আপনি কি এটি চালু করতে চান?</translation>
 <translation id="8190698733819146287">ভাষা এবং ইনপুট কাস্টমাইজ করুন...</translation>
 <translation id="8192202700944119416">বিজ্ঞপ্তি লুকানো আছে।</translation>
+<translation id="8236042855478648955">বিরতির সময় হয়েছে</translation>
 <translation id="8261506727792406068">মুছুন</translation>
 <translation id="8297006494302853456">দুর্বল</translation>
 <translation id="8308637677604853869">পূর্ববর্তী মেনু</translation>
 <translation id="8341451174107936385"><ph name="UNLOCK_MORE_FEATURES" />  <ph name="GET_STARTED" /></translation>
 <translation id="8351131234907093545">নোট তৈরি করুন</translation>
 <translation id="8392451568018454956"><ph name="USER_EMAIL_ADDRESS" /> এর জন্য বিকল্পগুলির মেনু</translation>
+<translation id="8394567579869570560">আপনার অভিভাবক এই ডিভাইসটি লক করে দিয়েছেন</translation>
 <translation id="8406981827175133772">ফুল-স্ক্রিন ম্যাগনিফায়ার</translation>
 <translation id="8425213833346101688">পরিবর্তন</translation>
 <translation id="8427213022735114808">যেকোনও টেক্সট ক্ষেত্রে ভয়েস টাইপিং করার অনুমতি দেওয়ার জন্য ডিকটেশন Google-কে আপনার ভয়েস পাঠায়।</translation>
@@ -437,7 +444,6 @@
 <translation id="8814190375133053267">ওয়াই-ফাই</translation>
 <translation id="8825534185036233643">দুটির বেশি প্রদর্শনের সাথে মিররিং সমর্থিত নয়।</translation>
 <translation id="8828714802988429505">৯০°</translation>
-<translation id="8841375032071747811">ফিরে যাওয়ার বোতাম</translation>
 <translation id="8843682306134542540">রোটেশন লক টগল করুন। <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Search+Esc</translation>
 <translation id="8870509716567206129">অ্যাপ্লিকেশনটি বিভক্ত-স্ক্রিন সমর্থন করে না৷</translation>
@@ -464,6 +470,7 @@
 <translation id="9201131092683066720">ব্যাটারি <ph name="PERCENTAGE" />% পূর্ণ৷</translation>
 <translation id="9210037371811586452">সমন্বিত ডেস্কটপ মোড থেকে প্রস্থান করছে</translation>
 <translation id="9215934040295798075">ওয়ালপেপার সেট করুন</translation>
+<translation id="921989828232331238">আপনার অভিভাবক এই ডিভাইসটি আজকের জন্য লক করে দিয়েছেন</translation>
 <translation id="923686485342484400">প্রস্থান করার জন্য দুবার Control Shift Q টিপুন৷</translation>
 <translation id="938963181863597773">আমার ক্যালেন্ডারে কী কী আছে?</translation>
 <translation id="945522503751344254">মতামত জানান</translation>
diff --git a/ash/strings/ash_strings_ca.xtb b/ash/strings/ash_strings_ca.xtb
index 2fb61ee..4743691 100644
--- a/ash/strings/ash_strings_ca.xtb
+++ b/ash/strings/ash_strings_ca.xtb
@@ -21,6 +21,7 @@
 <translation id="1270290102613614947">Teclat en pantalla desactivat</translation>
 <translation id="1272079795634619415">Atura</translation>
 <translation id="1279938420744323401"><ph name="DISPLAY_NAME" /> (<ph name="ANNOTATION" />)</translation>
+<translation id="1289185460362160437">Pots tornar <ph name="COME_BACK_DAY_OF_WEEK" /> a les <ph name="COME_BACK_TIME" />.</translation>
 <translation id="1290331692326790741">Senyal feble</translation>
 <translation id="1293264513303784526">Dispositiu USB-C (port esquerre)</translation>
 <translation id="1294929383540927798">Canvia la configuració de notificacions de la pantalla de bloqueig</translation>
@@ -98,6 +99,7 @@
 <translation id="2501920221385095727">Tecles permanents</translation>
 <translation id="2509468283778169019">BLOQ MAJ està activat.</translation>
 <translation id="2532589005999780174">Mode d'alt contrast</translation>
+<translation id="255671100581129685">L'Assistent de Google no està disponible a les sessions públiques.</translation>
 <translation id="2575685495496069081">L'inici de sessió múltiple s'ha desactivat</translation>
 <translation id="2582112259361606227">Reinicia per actualitzar</translation>
 <translation id="2597972630681408282">Llum nocturna: <ph name="NIGHT_LIGHT_STATUS" /></translation>
@@ -129,6 +131,7 @@
 <translation id="3000461861112256445">Àudio mono</translation>
 <translation id="3009178788565917040">Sortida</translation>
 <translation id="3019353588588144572">Temps restant fins que la bateria no estigui totalment carregada: <ph name="TIME_REMAINING" /></translation>
+<translation id="3055162170959710888">Avui has fet servir aquest dispositiu durant <ph name="USED_TIME" /></translation>
 <translation id="3077734595579995578">maj</translation>
 <translation id="3081696990447829002">Desplega el menú</translation>
 <translation id="3087734570205094154">Part inferior</translation>
@@ -214,6 +217,7 @@
 <translation id="4659419629803378708">S'ha activat ChromeVox</translation>
 <translation id="4734965478015604180">Horitzontal</translation>
 <translation id="476166673298332917">L'administrador d'aquest dispositiu té accés a tota l'activitat, incloses les contrasenyes i les comunicacions.</translation>
+<translation id="4774338217796918551">Pots tornar demà a les <ph name="COME_BACK_TIME" />.</translation>
 <translation id="4776917500594043016">Contrasenya per a <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="4778095205580009397">L'Assistent de Google no està disponible en les sessions de demostració.</translation>
 <translation id="479989351350248267">cerca</translation>
@@ -228,6 +232,7 @@
 <translation id="4918086044614829423">Accepta</translation>
 <translation id="4924411785043111640">Reinicia i restableix</translation>
 <translation id="4961318399572185831">Emet la pantalla</translation>
+<translation id="5030687792513154421">S'ha acabat el temps</translation>
 <translation id="5083553833479578423">Desbloqueja més funcions de l'Assistent.</translation>
 <translation id="5136175204352732067">S'ha connectat un altre teclat</translation>
 <translation id="5168181903108465623">Dispositius d'emissió disponibles</translation>
@@ -276,7 +281,6 @@
 <translation id="598882571027504733">Per obtenir l'actualització, reinicia Chromebook amb el teclat connectat.</translation>
 <translation id="5992218262414051481">El mode d'alt contrast està activat. Torna a prémer Ctrl+Cerca+H per desactivar-lo.</translation>
 <translation id="6018164090099858612">S'està sortint del mode de rèplica</translation>
-<translation id="6040143037577758943">Tanca</translation>
 <translation id="6043212731627905357">Aquest monitor i el teu <ph name="DEVICE_TYPE" /> no s'entenen (el monitor no és compatible).</translation>
 <translation id="6043994281159824495">Tanca la sessió ara</translation>
 <translation id="6047696787498798094">La pantalla es deixarà de compartir quan canvieu d'usuari. Voleu continuar?</translation>
@@ -359,6 +363,7 @@
 <translation id="7510334386202674593">Ctrl + Maj + L</translation>
 <translation id="7526573455193969409">És possible que la xarxa estigui supervisada</translation>
 <translation id="7536035074519304529">Adreça IP: <ph name="ADDRESS" /></translation>
+<translation id="7548434653388805669">Ara toca anar a dormir</translation>
 <translation id="7561014039265304140"><ph name="DISPLAY_NAME" /> no admet <ph name="SPECIFIED_RESOLUTION" />. S'ha canviat la resolució per <ph name="FALLBACK_RESOLUTION" />.</translation>
 <translation id="7562368315689366235">Paleta d'emoji</translation>
 <translation id="7564874036684306347">Moure finestres a un altre escriptori pot provocar un comportament imprevist. És possible que les notificacions, les finestres i els quadres de diàleg següents quedin dividits entre escriptoris.</translation>
@@ -379,7 +384,7 @@
 <translation id="7842211907556571265">S'està connectant a <ph name="NETWORK_NAME" /></translation>
 <translation id="7842569679327885685">Advertiment: funció experimental</translation>
 <translation id="7846634333498149051">Teclat</translation>
-<translation id="7886169021410746335">Ajustar la configuració relacionada amb la privadesa</translation>
+<translation id="7886169021410746335">Ajustar la configuració de privadesa</translation>
 <translation id="7886277072580235377">Les dades de la sessió a Internet s'esborraran en tancar-la. <ph name="LEARN_MORE" /></translation>
 <translation id="788781083998633524">Envia un correu electrònic</translation>
 <translation id="7904094684485781019">L'administrador d'aquest compte no ha permès l'inici de sessió múltiple.</translation>
@@ -401,12 +406,14 @@
 <translation id="8152119955266188852">Has premut la drecera de la lupa de pantalla completa. Vols activar-la?</translation>
 <translation id="8190698733819146287">Personalitza idiomes i introducció de text...</translation>
 <translation id="8192202700944119416">S'han amagat les notificacions.</translation>
+<translation id="8236042855478648955">Ara toca fer una pausa</translation>
 <translation id="8261506727792406068">Suprimeix</translation>
 <translation id="8297006494302853456">Feble</translation>
 <translation id="8308637677604853869">Menú anterior</translation>
 <translation id="8341451174107936385"><ph name="UNLOCK_MORE_FEATURES" />  <ph name="GET_STARTED" /></translation>
 <translation id="8351131234907093545">Crea una nota</translation>
 <translation id="8392451568018454956">Menú d'opcions per a <ph name="USER_EMAIL_ADDRESS" /></translation>
+<translation id="8394567579869570560">El teu pare o la teva mare han bloquejat aquest dispositiu</translation>
 <translation id="8406981827175133772">Lupa de pantalla completa</translation>
 <translation id="8425213833346101688">Canvia</translation>
 <translation id="8427213022735114808">El dictat envia la teva veu a Google per permetre l'escriptura per veu en qualsevol camp de text.</translation>
@@ -436,7 +443,6 @@
 <translation id="8814190375133053267">Wi-Fi</translation>
 <translation id="8825534185036233643">No es pot projectar amb més de dues pantalles.</translation>
 <translation id="8828714802988429505">90°</translation>
-<translation id="8841375032071747811">Botó Enrere</translation>
 <translation id="8843682306134542540">Activa o desactiva el bloqueig de rotació. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Cerca + Esc</translation>
 <translation id="8870509716567206129">L'aplicació no admet la pantalla dividida.</translation>
@@ -463,6 +469,7 @@
 <translation id="9201131092683066720">La bateria està carregada fins al <ph name="PERCENTAGE" />%.</translation>
 <translation id="9210037371811586452">S'està sortint del mode d'escriptori unificat</translation>
 <translation id="9215934040295798075">Estableix fons de pantalla</translation>
+<translation id="921989828232331238">El teu pare o la teva mare han bloquejat el dispositiu durant el dia d'avui</translation>
 <translation id="923686485342484400">Premeu Control+Maj+Q dues vegades per tancar la sessió.</translation>
 <translation id="938963181863597773">Què tinc programat al calendari?</translation>
 <translation id="945522503751344254">Envia suggeriments</translation>
diff --git a/ash/strings/ash_strings_cs.xtb b/ash/strings/ash_strings_cs.xtb
index 9fa7a63..54adb8e 100644
--- a/ash/strings/ash_strings_cs.xtb
+++ b/ash/strings/ash_strings_cs.xtb
@@ -21,6 +21,7 @@
 <translation id="1270290102613614947">Softwarová klávesnice je deaktivována</translation>
 <translation id="1272079795634619415">Zastavit</translation>
 <translation id="1279938420744323401"><ph name="DISPLAY_NAME" /> (<ph name="ANNOTATION" />)</translation>
+<translation id="1289185460362160437">Vrať se, až bude <ph name="COME_BACK_DAY_OF_WEEK" />, <ph name="COME_BACK_TIME" />.</translation>
 <translation id="1290331692326790741">Slabý signál</translation>
 <translation id="1293264513303784526">Zařízení USB Type-C (levý port)</translation>
 <translation id="1294929383540927798">Změnit nastavení oznámení na obrazovce uzamčení</translation>
@@ -98,6 +99,7 @@
 <translation id="2501920221385095727">Jedním prstem</translation>
 <translation id="2509468283778169019">CAPS LOCK je zapnutý</translation>
 <translation id="2532589005999780174">Režim vysokého kontrastu</translation>
+<translation id="255671100581129685">Asistent Google není ve veřejné relaci k dispozici.</translation>
 <translation id="2575685495496069081">Vícenásobné přihlášení je zakázáno.</translation>
 <translation id="2582112259361606227">Restartovat a aktualizovat</translation>
 <translation id="2597972630681408282">Noční režim: <ph name="NIGHT_LIGHT_STATUS" /></translation>
@@ -129,6 +131,7 @@
 <translation id="3000461861112256445">Zvuk mono</translation>
 <translation id="3009178788565917040">Výstup</translation>
 <translation id="3019353588588144572">Čas zbývající do úplného nabití baterie: <ph name="TIME_REMAINING" /></translation>
+<translation id="3055162170959710888">Toto zařízení jsi dnes používal(a) <ph name="USED_TIME" /></translation>
 <translation id="3077734595579995578">shift</translation>
 <translation id="3081696990447829002">Rozbalit nabídku</translation>
 <translation id="3087734570205094154">Až dolů</translation>
@@ -214,8 +217,9 @@
 <translation id="4659419629803378708">Funkce ChromeVox je zapnutá</translation>
 <translation id="4734965478015604180">Na šířku</translation>
 <translation id="476166673298332917">Administrátor tohoto zařízení má přístup k veškeré aktivitě včetně hesel a komunikace.</translation>
+<translation id="4774338217796918551">Vrať se v <ph name="COME_BACK_TIME" />.</translation>
 <translation id="4776917500594043016">Heslo pro účet <ph name="USER_EMAIL_ADDRESS" /></translation>
-<translation id="4778095205580009397">Asistent Google v ukázkové relaci není k dispozici.</translation>
+<translation id="4778095205580009397">Asistent Google není v ukázkové relaci k dispozici.</translation>
 <translation id="479989351350248267">search</translation>
 <translation id="4804818685124855865">Odpojit</translation>
 <translation id="4849058404725798627">Zvýraznit objekt se zaměřením pro zadávání</translation>
@@ -228,6 +232,7 @@
 <translation id="4918086044614829423">Přijmout</translation>
 <translation id="4924411785043111640">Restartovat a resetovat</translation>
 <translation id="4961318399572185831">Odesílání obrazovky</translation>
+<translation id="5030687792513154421">Čas vypršel</translation>
 <translation id="5083553833479578423">Odemkněte další funkce Asistenta.</translation>
 <translation id="5136175204352732067">Je připojena jiná klávesnice</translation>
 <translation id="5168181903108465623">Dostupná zařízení Cast</translation>
@@ -276,7 +281,6 @@
 <translation id="598882571027504733">Aktualizaci nainstalujete tím, že Chromebook s připojenou klávesnicí restartujete.</translation>
 <translation id="5992218262414051481">Je aktivován režim vysokého kontrastu. Vypnete jej opětovným stisknutím kombinace kláves Ctrl+Hledat+H.</translation>
 <translation id="6018164090099858612">Ukončování režimu zrcadlení</translation>
-<translation id="6040143037577758943">Zavřít</translation>
 <translation id="6043212731627905357">Tento monitor si se zařízením <ph name="DEVICE_TYPE" /> nerozumí (monitor není podporován).</translation>
 <translation id="6043994281159824495">Odhlásit se</translation>
 <translation id="6047696787498798094">Pokud přepnete na jiného uživatele, sdílení obrazovky bude ukončeno. Chcete pokračovat?</translation>
@@ -359,6 +363,7 @@
 <translation id="7510334386202674593">Ctrl+Shift+L</translation>
 <translation id="7526573455193969409">Síť může být sledována</translation>
 <translation id="7536035074519304529">IP adresa: <ph name="ADDRESS" /></translation>
+<translation id="7548434653388805669">Čas jít spát</translation>
 <translation id="7561014039265304140"><ph name="DISPLAY_NAME" /> rozlišení <ph name="SPECIFIED_RESOLUTION" /> nepodporuje. Rozlišení bylo změněno zpět na <ph name="FALLBACK_RESOLUTION" />.</translation>
 <translation id="7562368315689366235">Paleta emodži</translation>
 <translation id="7564874036684306347">Přesunutí oken na jinou plochu může vést k neočekávanému chování. Následná oznámení, okna a dialogy mohou být rozděleny mezi plochy.</translation>
@@ -401,12 +406,14 @@
 <translation id="8152119955266188852">Stiskli jste klávesovou zkratku pro lupu celé obrazovky. Chcete ji zapnout?</translation>
 <translation id="8190698733819146287">Personalizovat jazyky a zadávání...</translation>
 <translation id="8192202700944119416">Oznámení jsou skryta.</translation>
+<translation id="8236042855478648955">Čas na přestávku</translation>
 <translation id="8261506727792406068">Smazat</translation>
 <translation id="8297006494302853456">Slabý</translation>
 <translation id="8308637677604853869">Předchozí nabídka</translation>
 <translation id="8341451174107936385"><ph name="UNLOCK_MORE_FEATURES" />  <ph name="GET_STARTED" /></translation>
 <translation id="8351131234907093545">Vytvořit poznámku</translation>
 <translation id="8392451568018454956">Nabídka možností pro uživatele <ph name="USER_EMAIL_ADDRESS" /></translation>
+<translation id="8394567579869570560">Rodič toto zařízení uzamkl</translation>
 <translation id="8406981827175133772">Lupa celé obrazovky</translation>
 <translation id="8425213833346101688">Změnit</translation>
 <translation id="8427213022735114808">Diktování odesílá váš hlas do Googlu, aby bylo možné hlasově zadávat do libovolného textového pole.</translation>
@@ -436,7 +443,6 @@
 <translation id="8814190375133053267">Wi-Fi</translation>
 <translation id="8825534185036233643">Zrcadlení s více než dvěma obrazovkami není podporováno.</translation>
 <translation id="8828714802988429505">90°</translation>
-<translation id="8841375032071747811">Tlačítko Zpět</translation>
 <translation id="8843682306134542540">Přepnout zámek otáčení. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Hledat+Esc</translation>
 <translation id="8870509716567206129">Aplikace nepodporuje režim rozdělené obrazovky.</translation>
@@ -463,6 +469,7 @@
 <translation id="9201131092683066720">Baterie je nabita na <ph name="PERCENTAGE" /> %.</translation>
 <translation id="9210037371811586452">Ukončování režimu jednotné plochy</translation>
 <translation id="9215934040295798075">Nastavit tapetu</translation>
+<translation id="921989828232331238">Rodič zařízení na celý den uzamkl</translation>
 <translation id="923686485342484400">Odhlásíte se dvojitým stisknutím kombinace kláves Control Shift Q.</translation>
 <translation id="938963181863597773">Co mám v kalendáři?</translation>
 <translation id="945522503751344254">Odeslat zpětnou vazbu</translation>
diff --git a/ash/strings/ash_strings_da.xtb b/ash/strings/ash_strings_da.xtb
index 08dec937..a0bf07e8a 100644
--- a/ash/strings/ash_strings_da.xtb
+++ b/ash/strings/ash_strings_da.xtb
@@ -21,6 +21,7 @@
 <translation id="1270290102613614947">Skærmtastaturet er deaktiveret</translation>
 <translation id="1272079795634619415">Stop</translation>
 <translation id="1279938420744323401"><ph name="DISPLAY_NAME" /> (<ph name="ANNOTATION" />)</translation>
+<translation id="1289185460362160437">Kom tilbage <ph name="COME_BACK_DAY_OF_WEEK" /> kl. <ph name="COME_BACK_TIME" />.</translation>
 <translation id="1290331692326790741">Svagt signal</translation>
 <translation id="1293264513303784526">USB-C-enhed (venstre port)</translation>
 <translation id="1294929383540927798">Skift indstillinger for underretninger på låseskærm</translation>
@@ -98,6 +99,7 @@
 <translation id="2501920221385095727">Træge taster</translation>
 <translation id="2509468283778169019">CAPS LOCK er slået til</translation>
 <translation id="2532589005999780174">Tilstanden Høj kontrast</translation>
+<translation id="255671100581129685">Google Assistent er ikke tilgængelig i en offentlig session.</translation>
 <translation id="2575685495496069081">Samlet login fra flere konti er deaktiveret</translation>
 <translation id="2582112259361606227">Genstart for at opdatere</translation>
 <translation id="2597972630681408282">Nattelys: <ph name="NIGHT_LIGHT_STATUS" /></translation>
@@ -129,6 +131,7 @@
 <translation id="3000461861112256445">Monolyd</translation>
 <translation id="3009178788565917040">Output</translation>
 <translation id="3019353588588144572">Resterende tid, indtil batteriet er fuldt opladet, <ph name="TIME_REMAINING" /></translation>
+<translation id="3055162170959710888">Du har brugt denne enhed i <ph name="USED_TIME" /> i dag</translation>
 <translation id="3077734595579995578">shift</translation>
 <translation id="3081696990447829002">Udvid menu</translation>
 <translation id="3087734570205094154">Bund</translation>
@@ -214,6 +217,7 @@
 <translation id="4659419629803378708">ChromeVox er aktiveret</translation>
 <translation id="4734965478015604180">Vandret</translation>
 <translation id="476166673298332917">Administratoren af denne enhed har adgang til al aktivitet, herunder adgangskoder og kommunikation.</translation>
+<translation id="4774338217796918551">Kom tilbage i morgen kl. <ph name="COME_BACK_TIME" />.</translation>
 <translation id="4776917500594043016">Adgangskode for <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="4778095205580009397">Google Assistent er ikke tilgængelig i en demosession.</translation>
 <translation id="479989351350248267">søg</translation>
@@ -228,6 +232,7 @@
 <translation id="4918086044614829423">Accepter</translation>
 <translation id="4924411785043111640">Genstart og nulstil</translation>
 <translation id="4961318399572185831">Cast skærm</translation>
+<translation id="5030687792513154421">Tiden er gået</translation>
 <translation id="5083553833479578423">Få adgang til endnu flere Assistent-funktioner.</translation>
 <translation id="5136175204352732067">Du har tilsluttet et andet tastatur</translation>
 <translation id="5168181903108465623">Tilgængelige Cast-enheder</translation>
@@ -276,7 +281,6 @@
 <translation id="598882571027504733">Genstart din Chromebook med det tilsluttede tastatur for at hente opdateringen.</translation>
 <translation id="5992218262414051481">Tilstanden Høj kontrast er aktiveret. Tryk på Ctrl+Søg+H igen for at deaktivere tilstanden.</translation>
 <translation id="6018164090099858612">Lukker spejltilstand</translation>
-<translation id="6040143037577758943">Luk</translation>
 <translation id="6043212731627905357">Denne skærm fungerer ikke sammen med <ph name="DEVICE_TYPE" /> (skærmen understøttes ikke).</translation>
 <translation id="6043994281159824495">Log ud nu</translation>
 <translation id="6047696787498798094">Skærmdeling ophører, når du skifter til en anden bruger. Vil du fortsætte?</translation>
@@ -360,6 +364,7 @@
 <translation id="7510334386202674593">Ctrl+Shift+L</translation>
 <translation id="7526573455193969409">Netværket kan være overvåget</translation>
 <translation id="7536035074519304529">IP-adresse: <ph name="ADDRESS" /></translation>
+<translation id="7548434653388805669">Det er sengetid</translation>
 <translation id="7561014039265304140"><ph name="DISPLAY_NAME" /> understøtter ikke <ph name="SPECIFIED_RESOLUTION" />. Opløsningen blev ændret til <ph name="FALLBACK_RESOLUTION" /></translation>
 <translation id="7562368315689366235">Emojipalet</translation>
 <translation id="7564874036684306347">Hvis du flytter vinduer til et andet skrivebord, kan det resultere i uventet adfærd. Efterfølgende underretninger, vinduer og dialogbokse kan blive delt mellem skriveborde.</translation>
@@ -402,12 +407,14 @@
 <translation id="8152119955266188852">Du trykkede på genvejen for forstørrelse af fuld skærm. Vil du aktivere indstillingen?</translation>
 <translation id="8190698733819146287">Tilpas sprog og indtastning...</translation>
 <translation id="8192202700944119416">Underretninger er skjult.</translation>
+<translation id="8236042855478648955">Det er tid til at tage en pause</translation>
 <translation id="8261506727792406068">Slet</translation>
 <translation id="8297006494302853456">Svag</translation>
 <translation id="8308637677604853869">Forrige menu</translation>
 <translation id="8341451174107936385"><ph name="UNLOCK_MORE_FEATURES" />  <ph name="GET_STARTED" /></translation>
 <translation id="8351131234907093545">Opret note</translation>
 <translation id="8392451568018454956">Menuen Indstillinger for <ph name="USER_EMAIL_ADDRESS" /></translation>
+<translation id="8394567579869570560">Din forælder har låst denne enhed</translation>
 <translation id="8406981827175133772">Forstørrelse af fuld skærm</translation>
 <translation id="8425213833346101688">Skift</translation>
 <translation id="8427213022735114808">Diktering sender din stemme til Google, så du kan indtale tekst i alle tekstfelter.</translation>
@@ -437,7 +444,6 @@
 <translation id="8814190375133053267">Wi-Fi</translation>
 <translation id="8825534185036233643">Spejling med mere end to skærme understøttes ikke.</translation>
 <translation id="8828714802988429505">90°</translation>
-<translation id="8841375032071747811">Knappen Tilbage</translation>
 <translation id="8843682306134542540">Slå Lås rotation til eller fra. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Søg+Esc</translation>
 <translation id="8870509716567206129">Appen understøtter ikke delt skærm.</translation>
@@ -464,6 +470,7 @@
 <translation id="9201131092683066720">Batteriet er <ph name="PERCENTAGE" /> % opladet.</translation>
 <translation id="9210037371811586452">Lukker tilstanden Kombineret skrivebord</translation>
 <translation id="9215934040295798075">Vælg baggrund</translation>
+<translation id="921989828232331238">Din forælder har låst din enhed resten af dagen</translation>
 <translation id="923686485342484400">Tryk på Control+Shift+Q to gange for at logge ud.</translation>
 <translation id="938963181863597773">Hvad har jeg i kalenderen?</translation>
 <translation id="945522503751344254">Send feedback</translation>
diff --git a/ash/strings/ash_strings_de.xtb b/ash/strings/ash_strings_de.xtb
index 58ecc4e7..0ca56be 100644
--- a/ash/strings/ash_strings_de.xtb
+++ b/ash/strings/ash_strings_de.xtb
@@ -21,6 +21,7 @@
 <translation id="1270290102613614947">Bildschirmtastatur deaktiviert</translation>
 <translation id="1272079795634619415">Stopp</translation>
 <translation id="1279938420744323401"><ph name="DISPLAY_NAME" /> (<ph name="ANNOTATION" />)</translation>
+<translation id="1289185460362160437">Du darfst das Gerät am <ph name="COME_BACK_DAY_OF_WEEK" /> um <ph name="COME_BACK_TIME" /> wieder verwenden.</translation>
 <translation id="1290331692326790741">Schwaches Signal</translation>
 <translation id="1293264513303784526">USB-C-Gerät (Port links)</translation>
 <translation id="1294929383540927798">Benachrichtigungseinstellungen für den Sperrbildschirm ändern</translation>
@@ -98,6 +99,7 @@
 <translation id="2501920221385095727">Sticky Keys</translation>
 <translation id="2509468283778169019">Feststelltaste An</translation>
 <translation id="2532589005999780174">Modus mit hohem Kontrast</translation>
+<translation id="255671100581129685">In öffentlichen Sitzungen ist Google Assistant nicht verfügbar.</translation>
 <translation id="2575685495496069081">Mehrfachanmeldung wurde deaktiviert</translation>
 <translation id="2582112259361606227">Zum Aktualisieren neu starten</translation>
 <translation id="2597972630681408282">Nachtlicht: <ph name="NIGHT_LIGHT_STATUS" /></translation>
@@ -129,6 +131,7 @@
 <translation id="3000461861112256445">Mono-Audio</translation>
 <translation id="3009178788565917040">Ausgang</translation>
 <translation id="3019353588588144572">Verbleibende Zeit, bis der Akku vollständig geladen ist: <ph name="TIME_REMAINING" /></translation>
+<translation id="3055162170959710888">Du hast das Gerät heute <ph name="USED_TIME" /> verwendet</translation>
 <translation id="3077734595579995578">Umschalttaste</translation>
 <translation id="3081696990447829002">Menü maximieren</translation>
 <translation id="3087734570205094154">Unten</translation>
@@ -214,6 +217,7 @@
 <translation id="4659419629803378708">ChromeVox aktiviert</translation>
 <translation id="4734965478015604180">Horizontal</translation>
 <translation id="476166673298332917">Der Administrator dieses Geräts hat Zugriff auf sämtliche Aktivitäten, einschließlich Passwörtern und Kommunikation.</translation>
+<translation id="4774338217796918551">Du darfst das Gerät um <ph name="COME_BACK_TIME" /> wieder verwenden.</translation>
 <translation id="4776917500594043016">Passwort für <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="4778095205580009397">In Demositzungen ist Google Assistant nicht verfügbar.</translation>
 <translation id="479989351350248267">Suchen</translation>
@@ -228,6 +232,7 @@
 <translation id="4918086044614829423">Annehmen</translation>
 <translation id="4924411785043111640">Neu starten und zurücksetzen</translation>
 <translation id="4961318399572185831">Bildschirmübertragung</translation>
+<translation id="5030687792513154421">Die Zeit ist abgelaufen</translation>
 <translation id="5083553833479578423">Möchten Sie weitere Assistant-Funktionen freischalten?</translation>
 <translation id="5136175204352732067">Andere Tastatur angeschlossen</translation>
 <translation id="5168181903108465623">Übertragungsgeräte verfügbar</translation>
@@ -276,7 +281,6 @@
 <translation id="598882571027504733">Sie können das Update vornehmen, indem Sie das Chromebook mit angeschlossener Tastatur neu starten.</translation>
 <translation id="5992218262414051481">Modus mit hohem Kontrast aktiviert. Drücken Sie Strg + Suche + H, um ihn zu deaktivieren.</translation>
 <translation id="6018164090099858612">Spiegelungsmodus wird beendet</translation>
-<translation id="6040143037577758943">Schließen</translation>
 <translation id="6043212731627905357">Dieser Monitor ist mit Ihrem <ph name="DEVICE_TYPE" /> nicht kompatibel (wird nicht unterstützt).</translation>
 <translation id="6043994281159824495">Jetzt abmelden</translation>
 <translation id="6047696787498798094">Wenn Sie zu einem anderen Nutzer wechseln, wird die Bildschirmfreigabe beendet. Möchten Sie fortfahren?</translation>
@@ -359,6 +363,7 @@
 <translation id="7510334386202674593">Strg + Umschalttaste + L</translation>
 <translation id="7526573455193969409">Das Netzwerk wird möglicherweise überwacht</translation>
 <translation id="7536035074519304529">IP-Adresse: <ph name="ADDRESS" /></translation>
+<translation id="7548434653388805669">Schlafenszeit</translation>
 <translation id="7561014039265304140"><ph name="DISPLAY_NAME" /> unterstützt <ph name="SPECIFIED_RESOLUTION" /> nicht. Die Auflösung wurde auf <ph name="FALLBACK_RESOLUTION" /> zurückgesetzt.</translation>
 <translation id="7562368315689366235">Emoji-Palette</translation>
 <translation id="7564874036684306347">Das Verschieben von Fenstern auf einen anderen Desktop kann zu unerwartetem Verhalten führen. Nachfolgende Benachrichtigungen, Fenster und Dialogfelder werden unter Umständen zwischen den Desktops aufgeteilt.</translation>
@@ -401,12 +406,14 @@
 <translation id="8152119955266188852">Sie haben die Tastenkombination für die Vollbildlupe gedrückt. Möchten Sie sie aktivieren?</translation>
 <translation id="8190698733819146287">Sprache und Eingabe anpassen...</translation>
 <translation id="8192202700944119416">Benachrichtigungen sind ausgeblendet.</translation>
+<translation id="8236042855478648955">Zeit für eine Pause</translation>
 <translation id="8261506727792406068">Löschen</translation>
 <translation id="8297006494302853456">Schwach</translation>
 <translation id="8308637677604853869">Vorheriges Menü</translation>
 <translation id="8341451174107936385"><ph name="UNLOCK_MORE_FEATURES" /> <ph name="GET_STARTED" /></translation>
 <translation id="8351131234907093545">Notiz erstellen</translation>
 <translation id="8392451568018454956">Optionsmenü für <ph name="USER_EMAIL_ADDRESS" /></translation>
+<translation id="8394567579869570560">Deine Eltern haben dieses Gerät gesperrt</translation>
 <translation id="8406981827175133772">Vollbildlupe</translation>
 <translation id="8425213833346101688">Ändern</translation>
 <translation id="8427213022735114808">Die Diktierfunktion sendet Ihre Spracheingaben an Google, damit sie in das entsprechende Textfeld eingetragen werden können.</translation>
@@ -436,7 +443,6 @@
 <translation id="8814190375133053267">WLAN</translation>
 <translation id="8825534185036233643">Das Spiegeln mit mehr als zwei Displays wird nicht unterstützt.</translation>
 <translation id="8828714802988429505">90°</translation>
-<translation id="8841375032071747811">Schaltfläche "Zurück"</translation>
 <translation id="8843682306134542540">Rotationssperre aktivieren/deaktivieren. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Suche + Esc</translation>
 <translation id="8870509716567206129">Das Teilen des Bildschirms wird in dieser App nicht unterstützt.</translation>
@@ -463,6 +469,7 @@
 <translation id="9201131092683066720">Akku ist zu <ph name="PERCENTAGE" /> % geladen.</translation>
 <translation id="9210037371811586452">Unified Desktop-Modus wird beendet</translation>
 <translation id="9215934040295798075">Hintergrund festlegen</translation>
+<translation id="921989828232331238">Deine Eltern haben dein Gerät für heute gesperrt</translation>
 <translation id="923686485342484400">Drücken Sie zum Abmelden zweimal Steuerung - Umschalttaste - Q.</translation>
 <translation id="938963181863597773">Welche Termine stehen an?</translation>
 <translation id="945522503751344254">Feedback geben</translation>
diff --git a/ash/strings/ash_strings_el.xtb b/ash/strings/ash_strings_el.xtb
index b91ac283..d4d9d4b 100644
--- a/ash/strings/ash_strings_el.xtb
+++ b/ash/strings/ash_strings_el.xtb
@@ -21,6 +21,7 @@
 <translation id="1270290102613614947">Το πληκτρολόγιο οθόνης είναι απενεργοποιημένο</translation>
 <translation id="1272079795634619415">Διακοπή</translation>
 <translation id="1279938420744323401"><ph name="DISPLAY_NAME" /> (<ph name="ANNOTATION" />)</translation>
+<translation id="1289185460362160437">Επιστρέψτε ξανά το/τη(ν) <ph name="COME_BACK_DAY_OF_WEEK" /> στις <ph name="COME_BACK_TIME" />.</translation>
 <translation id="1290331692326790741">Ασθενές σήμα</translation>
 <translation id="1293264513303784526">Συσκευή USB-C (αριστερή θύρα)</translation>
 <translation id="1294929383540927798">Αλλάξτε τις ρυθμίσεις ειδοποιήσεων της οθόνης κλειδώματος</translation>
@@ -98,6 +99,7 @@
 <translation id="2501920221385095727">Σταθερά πλήκτρα</translation>
 <translation id="2509468283778169019">Το CAPS LOCK είναι ενεργοποιημένο</translation>
 <translation id="2532589005999780174">Λειτουργία υψηλής αντίθεσης</translation>
+<translation id="255671100581129685">Ο Βοηθός Google δεν διατίθεται σε δημόσιες περιόδους λειτουργίας.</translation>
 <translation id="2575685495496069081">Η σύνδεση σε πολλούς λογαριασμούς απενεργοποιήθηκε</translation>
 <translation id="2582112259361606227">Επανεκκίνηση για ενημέρωση</translation>
 <translation id="2597972630681408282">Νυχτερινός φωτισμός: <ph name="NIGHT_LIGHT_STATUS" /></translation>
@@ -129,6 +131,7 @@
 <translation id="3000461861112256445">Μονοφωνικός ήχος</translation>
 <translation id="3009178788565917040">Έξοδος</translation>
 <translation id="3019353588588144572">Χρόνος που απομένει μέχρι να φορτιστεί πλήρως η μπαταρία, <ph name="TIME_REMAINING" /></translation>
+<translation id="3055162170959710888">Χρησιμοποιήσατε αυτήν τη συσκευή για <ph name="USED_TIME" /> σήμερα</translation>
 <translation id="3077734595579995578">shift</translation>
 <translation id="3081696990447829002">Ανάπτυξη μενού</translation>
 <translation id="3087734570205094154">Κάτω</translation>
@@ -214,6 +217,7 @@
 <translation id="4659419629803378708">Το ChromeVox ενεργοποιήθηκε</translation>
 <translation id="4734965478015604180">Οριζόντια περιστροφή</translation>
 <translation id="476166673298332917">Ο διαχειριστής αυτής της συσκευής έχει πρόσβαση σε όλη τη δραστηριότητα, συμπεριλαμβανομένων των κωδικών πρόσβασης και της επικοινωνίας.</translation>
+<translation id="4774338217796918551">Επιστρέψτε ξανά αύριο στις <ph name="COME_BACK_TIME" />.</translation>
 <translation id="4776917500594043016">Κωδικός πρόσβασης για <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="4778095205580009397">Ο Βοηθός Google δεν είναι διαθέσιμος σε περίοδο λειτουργίας επίδειξης.</translation>
 <translation id="479989351350248267">search</translation>
@@ -228,6 +232,7 @@
 <translation id="4918086044614829423">Αποδοχή</translation>
 <translation id="4924411785043111640">Επανεκκίνηση και επαναφορά</translation>
 <translation id="4961318399572185831">Μετάδοση οθόνης</translation>
+<translation id="5030687792513154421">Τέλος χρόνου</translation>
 <translation id="5083553833479578423">Ξεκλειδώστε περισσότερες λειτουργίες του Βοηθού.</translation>
 <translation id="5136175204352732067">Συνδέθηκε διαφορετικό πληκτρολόγιο</translation>
 <translation id="5168181903108465623">Διαθέσιμες συσκευές μετάδοσης</translation>
@@ -276,7 +281,6 @@
 <translation id="598882571027504733">Για να λάβετε την ενημέρωση, επανεκκινήστε το Chromebook με το συνδεδεμένο πληκτρολόγιο.</translation>
 <translation id="5992218262414051481">Η Λειτουργία υψηλής αντίθεσης ενεργοποιήθηκε. Πατήστε Ctrl+Search+H ξανά για να την απενεργοποιήσετε.</translation>
 <translation id="6018164090099858612">Έξοδος από λειτουργία κατοπτρισμού</translation>
-<translation id="6040143037577758943">Κλείσιμο</translation>
 <translation id="6043212731627905357">Αυτή η οθόνη δεν είναι συμβατή με τη συσκευή σας <ph name="DEVICE_TYPE" /> (η οθόνη δεν υποστηρίζεται).</translation>
 <translation id="6043994281159824495">Έξοδος τώρα</translation>
 <translation id="6047696787498798094">Η κοινή χρήση οθόνης θα διακοπεί κατά την εναλλαγή σε άλλον χρήστη. Θέλετε να συνεχίσετε;</translation>
@@ -359,6 +363,7 @@
 <translation id="7510334386202674593">Ctrl+Shift+L</translation>
 <translation id="7526573455193969409">Το δίκτυο ενδέχεται να παρακολουθείται</translation>
 <translation id="7536035074519304529">Διεύθυνση IP: <ph name="ADDRESS" /></translation>
+<translation id="7548434653388805669">Ώρα για ύπνο</translation>
 <translation id="7561014039265304140">Το <ph name="DISPLAY_NAME" /> δεν υποστηρίζει το <ph name="SPECIFIED_RESOLUTION" />. Η ανάλυση άλλαξε σε <ph name="FALLBACK_RESOLUTION" /></translation>
 <translation id="7562368315689366235">Παλέτα Emoji</translation>
 <translation id="7564874036684306347">Η μετακίνηση των παραθύρων σε άλλη επιφάνεια εργασίας ενδέχεται να οδηγήσει σε μη αναμενόμενη συμπεριφορά. Ενδέχεται να γίνει διαχωρισμός μεταγενέστερων ειδοποιήσεων, παραθύρων και παραθύρων διαλόγου μεταξύ των επιφανειών εργασίας.</translation>
@@ -401,12 +406,14 @@
 <translation id="8152119955266188852">Πατήσατε τη συντόμευση για τον μεγεθυντικό φακό πλήρους οθόνης. Θέλετε να τον ενεργοποιήσετε;</translation>
 <translation id="8190698733819146287">Προσαρμογή γλωσσών και εισόδου...</translation>
 <translation id="8192202700944119416">Οι ειδοποιήσεις είναι κρυφές.</translation>
+<translation id="8236042855478648955">Ώρα για διάλειμμα</translation>
 <translation id="8261506727792406068">Διαγραφή</translation>
 <translation id="8297006494302853456">Αδύναμο</translation>
 <translation id="8308637677604853869">Προηγούμενο μενού</translation>
 <translation id="8341451174107936385"><ph name="UNLOCK_MORE_FEATURES" />  <ph name="GET_STARTED" /></translation>
 <translation id="8351131234907093545">Δημιουργία σημείωσης</translation>
 <translation id="8392451568018454956">Μενού επιλογών για τη διεύθυνση <ph name="USER_EMAIL_ADDRESS" /></translation>
+<translation id="8394567579869570560">Ο γονέας σας κλείδωσε αυτήν τη συσκευή</translation>
 <translation id="8406981827175133772">Μεγεθυντικός φακός πλήρους οθόνης</translation>
 <translation id="8425213833346101688">Αλλαγή</translation>
 <translation id="8427213022735114808">Η υπαγόρευση αποστέλλει τη φωνή σας στην Google, ώστε να επιτρέπεται η φωνητική πληκτρολόγηση σε οποιοδήποτε πεδίο κειμένου.</translation>
@@ -436,7 +443,6 @@
 <translation id="8814190375133053267">Wi-Fi</translation>
 <translation id="8825534185036233643">Δεν υποστηρίζεται ο κατοπτρισμός με περισσότερες από δύο οθόνες.</translation>
 <translation id="8828714802988429505">90°</translation>
-<translation id="8841375032071747811">Κουμπί "Πίσω"</translation>
 <translation id="8843682306134542540">Εναλλαγή κλειδώματος περιστροφής. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Πλήκτρο αναζήτησης+Esc</translation>
 <translation id="8870509716567206129">Η εφαρμογή δεν υποστηρίζει διαχωρισμό οθόνης.</translation>
@@ -463,6 +469,7 @@
 <translation id="9201131092683066720">Η μπαταρία είναι πλήρης <ph name="PERCENTAGE" />%.</translation>
 <translation id="9210037371811586452">Έξοδος από λειτουργία ενοποιημένης επιφάνειας εργασίας</translation>
 <translation id="9215934040295798075">Ορισμός ταπετσαρίας</translation>
+<translation id="921989828232331238">Ο γονέας σας κλείδωσε τη συσκευή σου για σήμερα</translation>
 <translation id="923686485342484400">Πατήστε Ctrl + Shift + Q δύο φορές για να αποσυνδεθείτε.</translation>
 <translation id="938963181863597773">Τι υπάρχει στο ημερολόγιό μου;</translation>
 <translation id="945522503751344254">Αποστολή σχολίων</translation>
diff --git a/ash/strings/ash_strings_en-GB.xtb b/ash/strings/ash_strings_en-GB.xtb
index a8971c4a..15530d3 100644
--- a/ash/strings/ash_strings_en-GB.xtb
+++ b/ash/strings/ash_strings_en-GB.xtb
@@ -21,6 +21,7 @@
 <translation id="1270290102613614947">On-screen keyboard disabled</translation>
 <translation id="1272079795634619415">Stop</translation>
 <translation id="1279938420744323401"><ph name="DISPLAY_NAME" /> (<ph name="ANNOTATION" />)</translation>
+<translation id="1289185460362160437">Come back <ph name="COME_BACK_DAY_OF_WEEK" /> at <ph name="COME_BACK_TIME" />.</translation>
 <translation id="1290331692326790741">Weak signal</translation>
 <translation id="1293264513303784526">USB-C device (left port)</translation>
 <translation id="1294929383540927798">Change the lock-screen notification settings</translation>
@@ -98,6 +99,7 @@
 <translation id="2501920221385095727">Sticky keys</translation>
 <translation id="2509468283778169019">CAPS LOCK is on</translation>
 <translation id="2532589005999780174">High contrast mode</translation>
+<translation id="255671100581129685">The Google Assistant is not available in a public session.</translation>
 <translation id="2575685495496069081">Multiple sign-in has been disabled</translation>
 <translation id="2582112259361606227">Restart to update</translation>
 <translation id="2597972630681408282">Night Light: <ph name="NIGHT_LIGHT_STATUS" /></translation>
@@ -129,6 +131,7 @@
 <translation id="3000461861112256445">Mono audio</translation>
 <translation id="3009178788565917040">Output</translation>
 <translation id="3019353588588144572">Time remaining until battery is fully charged, <ph name="TIME_REMAINING" /></translation>
+<translation id="3055162170959710888">You used this device for <ph name="USED_TIME" /> today</translation>
 <translation id="3077734595579995578">shift</translation>
 <translation id="3081696990447829002">Expand menu</translation>
 <translation id="3087734570205094154">Bottom</translation>
@@ -214,6 +217,7 @@
 <translation id="4659419629803378708">ChromeVox enabled</translation>
 <translation id="4734965478015604180">Horizontal</translation>
 <translation id="476166673298332917">The administrator of this device has access to all activity, including passwords and communications.</translation>
+<translation id="4774338217796918551">Come back tomorrow at <ph name="COME_BACK_TIME" />.</translation>
 <translation id="4776917500594043016">Password for <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="4778095205580009397">The Google Assistant is not available in a demo session.</translation>
 <translation id="479989351350248267">search</translation>
@@ -228,6 +232,7 @@
 <translation id="4918086044614829423">Accept</translation>
 <translation id="4924411785043111640">Restart and reset</translation>
 <translation id="4961318399572185831">Cast screen</translation>
+<translation id="5030687792513154421">Time is up</translation>
 <translation id="5083553833479578423">Unlock more Assistant features.</translation>
 <translation id="5136175204352732067">Different keyboard connected</translation>
 <translation id="5168181903108465623">Cast devices available</translation>
@@ -276,7 +281,6 @@
 <translation id="598882571027504733">To get the update, restart your Chromebook with the keyboard attached.</translation>
 <translation id="5992218262414051481">High contrast mode enabled. Press Ctrl+Search+H again to toggle it off.</translation>
 <translation id="6018164090099858612">Exiting mirror mode</translation>
-<translation id="6040143037577758943">Close</translation>
 <translation id="6043212731627905357">This monitor isn't getting along with your <ph name="DEVICE_TYPE" /> (the monitor is not supported).</translation>
 <translation id="6043994281159824495">Sign out now</translation>
 <translation id="6047696787498798094">Screen sharing will stop when you switch to another user. Do you want to continue?</translation>
@@ -359,6 +363,7 @@
 <translation id="7510334386202674593">Ctrl+Shift+L</translation>
 <translation id="7526573455193969409">Network may be monitored</translation>
 <translation id="7536035074519304529">IP address: <ph name="ADDRESS" /></translation>
+<translation id="7548434653388805669">Time for bed</translation>
 <translation id="7561014039265304140"><ph name="DISPLAY_NAME" /> doesn't support <ph name="SPECIFIED_RESOLUTION" />. The resolution was changed to <ph name="FALLBACK_RESOLUTION" /></translation>
 <translation id="7562368315689366235">Emoji palette</translation>
 <translation id="7564874036684306347">Moving windows to another desktop may result in unexpected behaviour. Subsequent notifications, windows and dialogues may be split between desktops.</translation>
@@ -401,12 +406,14 @@
 <translation id="8152119955266188852">You pressed the shortcut for the full-screen magnifier. Do you want to turn it on?</translation>
 <translation id="8190698733819146287">Customise languages and input...</translation>
 <translation id="8192202700944119416">Notifications are hidden.</translation>
+<translation id="8236042855478648955">Time for a break</translation>
 <translation id="8261506727792406068">Delete</translation>
 <translation id="8297006494302853456">Weak</translation>
 <translation id="8308637677604853869">Previous menu</translation>
 <translation id="8341451174107936385"><ph name="UNLOCK_MORE_FEATURES" />  <ph name="GET_STARTED" /></translation>
 <translation id="8351131234907093545">Create note</translation>
 <translation id="8392451568018454956">Options menu for <ph name="USER_EMAIL_ADDRESS" /></translation>
+<translation id="8394567579869570560">Your parent has locked this device</translation>
 <translation id="8406981827175133772">Full-screen Magnifier</translation>
 <translation id="8425213833346101688">Change</translation>
 <translation id="8427213022735114808">Dictation sends your voice to Google to allow voice typing in any text field.</translation>
@@ -436,7 +443,6 @@
 <translation id="8814190375133053267">Wi-Fi</translation>
 <translation id="8825534185036233643">Mirroring with more than two displays is not supported.</translation>
 <translation id="8828714802988429505">90°</translation>
-<translation id="8841375032071747811">Back button</translation>
 <translation id="8843682306134542540">Toggle rotation lock. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Search+Esc</translation>
 <translation id="8870509716567206129">App does not support split-screen.</translation>
@@ -463,6 +469,7 @@
 <translation id="9201131092683066720">Battery is <ph name="PERCENTAGE" />% full.</translation>
 <translation id="9210037371811586452">Exiting unified desktop mode</translation>
 <translation id="9215934040295798075">Set wallpaper</translation>
+<translation id="921989828232331238">Your parent locked your device for the day</translation>
 <translation id="923686485342484400">Press Control Shift Q twice to sign out.</translation>
 <translation id="938963181863597773">What's on my calendar?</translation>
 <translation id="945522503751344254">Send feedback</translation>
diff --git a/ash/strings/ash_strings_es-419.xtb b/ash/strings/ash_strings_es-419.xtb
index 9bba307..7392b20 100644
--- a/ash/strings/ash_strings_es-419.xtb
+++ b/ash/strings/ash_strings_es-419.xtb
@@ -21,6 +21,7 @@
 <translation id="1270290102613614947">Teclado en pantalla inhabilitado</translation>
 <translation id="1272079795634619415">Interrumpir</translation>
 <translation id="1279938420744323401"><ph name="DISPLAY_NAME" /> (<ph name="ANNOTATION" />)</translation>
+<translation id="1289185460362160437">Regresa el <ph name="COME_BACK_DAY_OF_WEEK" /> a las <ph name="COME_BACK_TIME" />.</translation>
 <translation id="1290331692326790741">Señal débil</translation>
 <translation id="1293264513303784526">Dispositivo USB-C (puerto izquierdo)</translation>
 <translation id="1294929383540927798">Cambia la configuración de notificaciones de pantalla bloqueada</translation>
@@ -98,6 +99,7 @@
 <translation id="2501920221385095727">Teclas especiales</translation>
 <translation id="2509468283778169019">BLOQ MAYÚS está activado.</translation>
 <translation id="2532589005999780174">Modo de contraste alto</translation>
+<translation id="255671100581129685">El Asistente de Google no está disponible en una sesión pública.</translation>
 <translation id="2575685495496069081">Se inhabilitó el acceso múltiple</translation>
 <translation id="2582112259361606227">Reiniciar para actualizar</translation>
 <translation id="2597972630681408282">Luz nocturna: <ph name="NIGHT_LIGHT_STATUS" /></translation>
@@ -129,6 +131,7 @@
 <translation id="3000461861112256445">Audio mono</translation>
 <translation id="3009178788565917040">Salida</translation>
 <translation id="3019353588588144572">Tiempo restante hasta que la batería esté completamente cargada: <ph name="TIME_REMAINING" /></translation>
+<translation id="3055162170959710888">Hoy usaste este dispositivo durante <ph name="USED_TIME" /></translation>
 <translation id="3077734595579995578">shift</translation>
 <translation id="3081696990447829002">Expandir menú</translation>
 <translation id="3087734570205094154">Inferior</translation>
@@ -215,6 +218,7 @@
 <translation id="4659419629803378708">Se habilitó ChromeVox</translation>
 <translation id="4734965478015604180">Horizontal</translation>
 <translation id="476166673298332917">El administrador de este dispositivo tiene acceso a toda la actividad, incluidas las contraseñas y comunicaciones.</translation>
+<translation id="4774338217796918551">Regresa mañana a las <ph name="COME_BACK_TIME" />.</translation>
 <translation id="4776917500594043016">Contraseña para <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="4778095205580009397">El Asistente de Google no está disponible en la sesión de demostración.</translation>
 <translation id="479989351350248267">search</translation>
@@ -229,6 +233,7 @@
 <translation id="4918086044614829423">Aceptar</translation>
 <translation id="4924411785043111640">Reiniciar y restablecer</translation>
 <translation id="4961318399572185831">Transmitir pantalla</translation>
+<translation id="5030687792513154421">Se acabó el tiempo</translation>
 <translation id="5083553833479578423">Desbloquea más funciones del Asistente.</translation>
 <translation id="5136175204352732067">Se conectó otro teclado</translation>
 <translation id="5168181903108465623">Dispositivos de transmisión disponibles</translation>
@@ -277,7 +282,6 @@
 <translation id="598882571027504733">Para obtener la actualización, reinicia tu Chromebook con el teclado conectado.</translation>
 <translation id="5992218262414051481">Se habilitó el modo de contraste alto. Presiona Ctrl+Buscar+H de nuevo para desactivarlo.</translation>
 <translation id="6018164090099858612">Saliendo del modo de espejo</translation>
-<translation id="6040143037577758943">Cerrar</translation>
 <translation id="6043212731627905357">Este monitor no es compatible con tu dispositivo <ph name="DEVICE_TYPE" />.</translation>
 <translation id="6043994281159824495">Salir ahora</translation>
 <translation id="6047696787498798094">Cuando cambies de usuario, se dejará de compartir la pantalla. ¿Quieres continuar?</translation>
@@ -295,6 +299,7 @@
 <translation id="6297287540776456956">Usa la pluma stylus para seleccionar una región</translation>
 <translation id="6310121235600822547"><ph name="DISPLAY_NAME" /> se giró a <ph name="ROTATION" />.</translation>
 <translation id="632744581670418035">Superposición de teclado</translation>
+<translation id="6344698853700675736">Activar o desactivar la Luz nocturna</translation>
 <translation id="6376931439017688372">Se activó la conexión Bluetooth</translation>
 <translation id="639644700271529076">El bloqueo de mayúsculas está desactivado.</translation>
 <translation id="6406704438230478924">altgr</translation>
@@ -359,6 +364,7 @@
 <translation id="7510334386202674593">Ctrl + mayúscula + L</translation>
 <translation id="7526573455193969409">Es posible que la red esté supervisada</translation>
 <translation id="7536035074519304529">Dirección IP: <ph name="ADDRESS" /></translation>
+<translation id="7548434653388805669">Es hora de ir a la cama</translation>
 <translation id="7561014039265304140"><ph name="DISPLAY_NAME" /> no admite una resolución de <ph name="SPECIFIED_RESOLUTION" />. La resolución se cambió a <ph name="FALLBACK_RESOLUTION" />.</translation>
 <translation id="7562368315689366235">Paleta de emoji</translation>
 <translation id="7564874036684306347">Si mueves las ventanas a otro escritorio, puede producirse un comportamiento inesperado. Es posible que las próximas notificaciones, ventanas y cuadros de diálogo se dividan entre los escritorios.</translation>
@@ -401,12 +407,14 @@
 <translation id="8152119955266188852">Presionaste la combinación de teclas para activar la lupa de pantalla completa. ¿Quieres activarla?</translation>
 <translation id="8190698733819146287">Personalizar idiomas y la entrada de datos</translation>
 <translation id="8192202700944119416">Las notificaciones están ocultas.</translation>
+<translation id="8236042855478648955">Es hora de descansar</translation>
 <translation id="8261506727792406068">Borrar</translation>
 <translation id="8297006494302853456">Débil</translation>
 <translation id="8308637677604853869">Menú anterior</translation>
 <translation id="8341451174107936385"><ph name="UNLOCK_MORE_FEATURES" />  <ph name="GET_STARTED" /></translation>
 <translation id="8351131234907093545">Crear nota</translation>
 <translation id="8392451568018454956">Menú de opciones para <ph name="USER_EMAIL_ADDRESS" /></translation>
+<translation id="8394567579869570560">Tus padres bloquearon este dispositivo</translation>
 <translation id="8406981827175133772">Lupa de pantalla completa</translation>
 <translation id="8425213833346101688">Cambiar</translation>
 <translation id="8427213022735114808">Dictado envía tu voz a Google para habilitar el dictado por voz en cualquier campo de texto.</translation>
@@ -436,7 +444,6 @@
 <translation id="8814190375133053267">Wi-Fi</translation>
 <translation id="8825534185036233643">La duplicación con más de dos pantallas no es compatible.</translation>
 <translation id="8828714802988429505">90°</translation>
-<translation id="8841375032071747811">Botón Atrás</translation>
 <translation id="8843682306134542540">Activar o desactivar el bloqueo de rotación: <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Tecla de búsqueda + Esc</translation>
 <translation id="8870509716567206129">La app no es compatible con la función de pantalla dividida.</translation>
@@ -463,6 +470,7 @@
 <translation id="9201131092683066720">La batería tiene un <ph name="PERCENTAGE" /> % de carga.</translation>
 <translation id="9210037371811586452">Saliendo del modo de escritorio unificado</translation>
 <translation id="9215934040295798075">Establecer fondo de pantalla</translation>
+<translation id="921989828232331238">Tus padres bloquearon el dispositivo por el día</translation>
 <translation id="923686485342484400">Presiona Control Mayús Q dos veces para salir.</translation>
 <translation id="938963181863597773">¿Qué eventos tengo en mi calendario?</translation>
 <translation id="945522503751344254">Enviar comentarios</translation>
diff --git a/ash/strings/ash_strings_es.xtb b/ash/strings/ash_strings_es.xtb
index 325eb12..49678b0e 100644
--- a/ash/strings/ash_strings_es.xtb
+++ b/ash/strings/ash_strings_es.xtb
@@ -21,6 +21,7 @@
 <translation id="1270290102613614947">Teclado en pantalla inhabilitado</translation>
 <translation id="1272079795634619415">Interrumpir</translation>
 <translation id="1279938420744323401"><ph name="DISPLAY_NAME" /> (<ph name="ANNOTATION" />)</translation>
+<translation id="1289185460362160437">Vuelve el <ph name="COME_BACK_DAY_OF_WEEK" /> a las <ph name="COME_BACK_TIME" />.</translation>
 <translation id="1290331692326790741">Señal débil</translation>
 <translation id="1293264513303784526">Dispositivo USB-C (puerto izquierdo)</translation>
 <translation id="1294929383540927798">Cambia la configuración de las notificaciones de la pantalla de bloqueo</translation>
@@ -98,6 +99,7 @@
 <translation id="2501920221385095727">Teclas persistentes</translation>
 <translation id="2509468283778169019">Bloqueo de mayúsculas activado</translation>
 <translation id="2532589005999780174">Modo de contraste alto</translation>
+<translation id="255671100581129685">El Asistente de Google no está disponible en las sesiones públicas.</translation>
 <translation id="2575685495496069081">Se ha inhabilitado el inicio de sesión múltiple</translation>
 <translation id="2582112259361606227">Reiniciar para actualizar</translation>
 <translation id="2597972630681408282">Luz nocturna: <ph name="NIGHT_LIGHT_STATUS" /></translation>
@@ -129,6 +131,7 @@
 <translation id="3000461861112256445">Audio en mono</translation>
 <translation id="3009178788565917040">Salida</translation>
 <translation id="3019353588588144572">Tiempo restante hasta que se cargue la batería por completo: <ph name="TIME_REMAINING" /></translation>
+<translation id="3055162170959710888">Hoy has utilizado este dispositivo durante <ph name="USED_TIME" /></translation>
 <translation id="3077734595579995578">mayús</translation>
 <translation id="3081696990447829002">Mostrar menú</translation>
 <translation id="3087734570205094154">Inferior</translation>
@@ -215,6 +218,7 @@
 <translation id="4659419629803378708">ChromeVox habilitado</translation>
 <translation id="4734965478015604180">Horizontal</translation>
 <translation id="476166673298332917">El administrador de este dispositivo tiene acceso a toda la actividad, incluidas las contraseñas y las comunicaciones.</translation>
+<translation id="4774338217796918551">Vuelve mañana a las <ph name="COME_BACK_TIME" />.</translation>
 <translation id="4776917500594043016">Contraseña de <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="4778095205580009397">El Asistente de Google no está disponible en las sesiones de demostración.</translation>
 <translation id="479989351350248267">buscar</translation>
@@ -229,6 +233,7 @@
 <translation id="4918086044614829423">Aceptar</translation>
 <translation id="4924411785043111640">Reiniciar y restablecer</translation>
 <translation id="4961318399572185831">Enviar pantalla</translation>
+<translation id="5030687792513154421">Se ha agotado el tiempo</translation>
 <translation id="5083553833479578423">Descubre más funciones del Asistente.</translation>
 <translation id="5136175204352732067">Se ha conectado otro teclado</translation>
 <translation id="5168181903108465623">Dispositivos de transmisión disponibles</translation>
@@ -277,7 +282,6 @@
 <translation id="598882571027504733">Para recibir la actualización, reinicia tu Chromebook con el teclado conectado.</translation>
 <translation id="5992218262414051481">Se ha habilitado el modo de contraste alto. Pulsa Ctrl + Tecla de búsqueda + H de nuevo para desactivarlo.</translation>
 <translation id="6018164090099858612">Saliendo del modo de proyección</translation>
-<translation id="6040143037577758943">Cerrar</translation>
 <translation id="6043212731627905357">Este monitor no se puede utilizar con tu <ph name="DEVICE_TYPE" /> (el monitor no es compatible).</translation>
 <translation id="6043994281159824495">Salir ahora</translation>
 <translation id="6047696787498798094">Cuando cambies de usuario, la pantalla dejará de compartirse. ¿Quieres continuar?</translation>
@@ -360,6 +364,7 @@
 <translation id="7510334386202674593">Ctrl+Mayús+L</translation>
 <translation id="7526573455193969409">Es posible que la red esté supervisada</translation>
 <translation id="7536035074519304529">Dirección IP: <ph name="ADDRESS" /></translation>
+<translation id="7548434653388805669">Es hora de acostarse</translation>
 <translation id="7561014039265304140"><ph name="DISPLAY_NAME" /> no admite una resolución de <ph name="SPECIFIED_RESOLUTION" />. Se ha cambiado la resolución a <ph name="FALLBACK_RESOLUTION" /></translation>
 <translation id="7562368315689366235">Paleta de emojis</translation>
 <translation id="7564874036684306347">Si mueves ventanas a otro escritorio, es posible que se produzca un comportamiento inesperado. Puede que las notificaciones, las ventanas y los cuadros de diálogo que aparezcan después de realizar esta acción se dividan entre los escritorios.</translation>
@@ -402,12 +407,14 @@
 <translation id="8152119955266188852">Has pulsado la combinación de teclas de la lupa de pantalla completa. ¿Quieres activarla?</translation>
 <translation id="8190698733819146287">Personalizar idiomas...</translation>
 <translation id="8192202700944119416">Las notificaciones están ocultas.</translation>
+<translation id="8236042855478648955">Es hora de descansar</translation>
 <translation id="8261506727792406068">Eliminar</translation>
 <translation id="8297006494302853456">Débil</translation>
 <translation id="8308637677604853869">Menú anterior</translation>
 <translation id="8341451174107936385"><ph name="UNLOCK_MORE_FEATURES" />  <ph name="GET_STARTED" /></translation>
 <translation id="8351131234907093545">Crear nota</translation>
 <translation id="8392451568018454956">Menú de opciones de <ph name="USER_EMAIL_ADDRESS" /></translation>
+<translation id="8394567579869570560">Tu padre, madre o tutor han bloqueado este dispositivo</translation>
 <translation id="8406981827175133772">Lupa de pantalla completa</translation>
 <translation id="8425213833346101688">Cambiar</translation>
 <translation id="8427213022735114808">Dictado envía tu voz a Google para que puedas usar el dictado por voz en cualquier campo de texto.</translation>
@@ -437,7 +444,6 @@
 <translation id="8814190375133053267">Wi-Fi</translation>
 <translation id="8825534185036233643">No se puede proyectar contenido en más de dos pantallas.</translation>
 <translation id="8828714802988429505">90°</translation>
-<translation id="8841375032071747811">Botón Atrás</translation>
 <translation id="8843682306134542540">Activa o desactiva el bloqueo. <ph name="STATE_TEXT" />.</translation>
 <translation id="8850991929411075241">Buscar+Esc</translation>
 <translation id="8870509716567206129">La aplicación no admite la pantalla dividida.</translation>
@@ -464,6 +470,7 @@
 <translation id="9201131092683066720">La batería está al <ph name="PERCENTAGE" />%.</translation>
 <translation id="9210037371811586452">Saliendo del modo de escritorio unificado</translation>
 <translation id="9215934040295798075">Establecer fondo de pantalla</translation>
+<translation id="921989828232331238">Tu padre, madre o tutor han bloqueado tu dispositivo todo el día</translation>
 <translation id="923686485342484400">Pulsa Control Mayús Q dos veces para cerrar sesión.</translation>
 <translation id="938963181863597773">¿Qué tengo en el calendario?</translation>
 <translation id="945522503751344254">Enviar comentarios</translation>
diff --git a/ash/strings/ash_strings_et.xtb b/ash/strings/ash_strings_et.xtb
index 3d669cdf..f0db1aa1 100644
--- a/ash/strings/ash_strings_et.xtb
+++ b/ash/strings/ash_strings_et.xtb
@@ -21,6 +21,7 @@
 <translation id="1270290102613614947">Ekraanil kuvatav klaviatuur on keelatud</translation>
 <translation id="1272079795634619415">Peata</translation>
 <translation id="1279938420744323401"><ph name="DISPLAY_NAME" /> (<ph name="ANNOTATION" />)</translation>
+<translation id="1289185460362160437">Tulge tagasi: <ph name="COME_BACK_DAY_OF_WEEK" /> kell <ph name="COME_BACK_TIME" />.</translation>
 <translation id="1290331692326790741">Nõrk signaal</translation>
 <translation id="1293264513303784526">C-tüüpi USB-seade (vasakpoolne port)</translation>
 <translation id="1294929383540927798">Lukustuskuva märguandeseadete muutmine</translation>
@@ -98,6 +99,7 @@
 <translation id="2501920221385095727">Nakkeklahvid</translation>
 <translation id="2509468283778169019">SUURTÄHELUKK on sisse lülitatud</translation>
 <translation id="2532589005999780174">Suure kontrastsusega režiim</translation>
+<translation id="255671100581129685">Google'i assistent ei ole avalikus seansis saadaval.</translation>
 <translation id="2575685495496069081">Mitmele kontole sisselogimine on keelatud</translation>
 <translation id="2582112259361606227">Taaskäivitage värskendamiseks</translation>
 <translation id="2597972630681408282">Öövalgus: <ph name="NIGHT_LIGHT_STATUS" /></translation>
@@ -129,6 +131,7 @@
 <translation id="3000461861112256445">Monoheli</translation>
 <translation id="3009178788565917040">Väljund</translation>
 <translation id="3019353588588144572">Aku täitumiseni on aega <ph name="TIME_REMAINING" /></translation>
+<translation id="3055162170959710888">Kasutasite seda seadet täna <ph name="USED_TIME" /></translation>
 <translation id="3077734595579995578">tõstuklahv</translation>
 <translation id="3081696990447829002">Laienda menüü</translation>
 <translation id="3087734570205094154">Alaserv</translation>
@@ -215,6 +218,7 @@
 <translation id="4659419629803378708">ChromeVox on lubatud</translation>
 <translation id="4734965478015604180">Horisontaalne</translation>
 <translation id="476166673298332917">Seadme aministraatoril on juurdepääs kõigile tegevustele, sh paroolidele ja sidele.</translation>
+<translation id="4774338217796918551">Tulge tagasi homme kell <ph name="COME_BACK_TIME" />.</translation>
 <translation id="4776917500594043016">Kasutaja <ph name="USER_EMAIL_ADDRESS" /> parool</translation>
 <translation id="4778095205580009397">Google'i assistent ei ole demoseansi puhul saadaval.</translation>
 <translation id="479989351350248267">otsing</translation>
@@ -229,6 +233,7 @@
 <translation id="4918086044614829423">Nõustu</translation>
 <translation id="4924411785043111640">Taaskäivita ja lähtesta</translation>
 <translation id="4961318399572185831">Ekraani ülekandmine</translation>
+<translation id="5030687792513154421">Aeg on läbi</translation>
 <translation id="5083553833479578423">Avage rohkem assistendi funktsioone.</translation>
 <translation id="5136175204352732067">Ühendatud on teine klaviatuur</translation>
 <translation id="5168181903108465623">Ülekandeseadmed on saadaval</translation>
@@ -277,7 +282,6 @@
 <translation id="598882571027504733">Värskenduse hankimiseks taaskäivitage Chromebook koos ühendatud klaviatuuriga.</translation>
 <translation id="5992218262414051481">Suure kontrastsusega režiim on lubatud. Vajutage selle väljalülitamiseks uuesti klahvikombinatsiooni Ctrl + otsinguklahv + H.</translation>
 <translation id="6018164090099858612">Peeglirežiimist väljumine</translation>
-<translation id="6040143037577758943">Sulge</translation>
 <translation id="6043212731627905357">See monitor ei toimi teie seadmega <ph name="DEVICE_TYPE" /> (seda monitori ei toetata).</translation>
 <translation id="6043994281159824495">Logi nüüd välja</translation>
 <translation id="6047696787498798094">Teisele kasutajale lülitumine peatab ekraani jagamise. Kas soovite jätkata?</translation>
@@ -360,6 +364,7 @@
 <translation id="7510334386202674593">Ctrl + Tõstuklahv + L</translation>
 <translation id="7526573455193969409">Võrku võidakse jälgida</translation>
 <translation id="7536035074519304529">IP-adress: <ph name="ADDRESS" /></translation>
+<translation id="7548434653388805669">Aeg magama minna</translation>
 <translation id="7561014039265304140">Üksus <ph name="DISPLAY_NAME" /> ei toeta eraldusvõimet <ph name="SPECIFIED_RESOLUTION" />. Eraldusvõime muudeti tagasi väärtusele <ph name="FALLBACK_RESOLUTION" /></translation>
 <translation id="7562368315689366235">Emotikonide palett</translation>
 <translation id="7564874036684306347">Kui teisaldate aknad teisele töölauale, võib tagajärjeks olla ootamatu käitumine. Järgmised märguanded, aknad ja dialoogid võivad jaguneda eri töölaudade vahel.</translation>
@@ -402,12 +407,14 @@
 <translation id="8152119955266188852">Vajutasite täisekraani luubi otseteed. Kas soovite luubi sisse lülitada?</translation>
 <translation id="8190698733819146287">Keelte ja sisendi kohandamine...</translation>
 <translation id="8192202700944119416">Märguanded on peidetud.</translation>
+<translation id="8236042855478648955">Aeg pausi pidada</translation>
 <translation id="8261506727792406068">Kustuta</translation>
 <translation id="8297006494302853456">Nõrk</translation>
 <translation id="8308637677604853869">Eelmine menüü</translation>
 <translation id="8341451174107936385"><ph name="UNLOCK_MORE_FEATURES" /> <ph name="GET_STARTED" /></translation>
 <translation id="8351131234907093545">Märkme loomine</translation>
 <translation id="8392451568018454956">Konto <ph name="USER_EMAIL_ADDRESS" /> valikute menüü</translation>
+<translation id="8394567579869570560">Vanem lukustas selle seadme</translation>
 <translation id="8406981827175133772">Täisekraani luup</translation>
 <translation id="8425213833346101688">Muuda</translation>
 <translation id="8427213022735114808">Dikteerimisel saadetakse teie hääl Google'ile, et lubada häälsisestus kõigil tekstiväljadel.</translation>
@@ -437,7 +444,6 @@
 <translation id="8814190375133053267">WiFi</translation>
 <translation id="8825534185036233643">Rohkem kui kahe ekraaniga peegeldamist ei toetata.</translation>
 <translation id="8828714802988429505">90°</translation>
-<translation id="8841375032071747811">Nupp Tagasi</translation>
 <translation id="8843682306134542540">Lülitab pööramisluku sisse või välja. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Otsing + ESC</translation>
 <translation id="8870509716567206129">Rakendus ei toeta jagatud ekraani.</translation>
@@ -464,6 +470,7 @@
 <translation id="9201131092683066720">Aku on <ph name="PERCENTAGE" />% täis.</translation>
 <translation id="9210037371811586452">Ühendatud töölaua režiimist väljumine</translation>
 <translation id="9215934040295798075">Taustapildi määramine</translation>
+<translation id="921989828232331238">Vanem lukustas sinu seadme päevaks</translation>
 <translation id="923686485342484400">Väljalogimiseks vajutage kaks korda klahvikombinatsiooni Ctrl + tõstuklahv + Q.</translation>
 <translation id="938963181863597773">Mis on minu kalendris?</translation>
 <translation id="945522503751344254">Saada tagasisidet</translation>
diff --git a/ash/strings/ash_strings_fa.xtb b/ash/strings/ash_strings_fa.xtb
index c81b555..771f1a72 100644
--- a/ash/strings/ash_strings_fa.xtb
+++ b/ash/strings/ash_strings_fa.xtb
@@ -21,6 +21,7 @@
 <translation id="1270290102613614947">صفحه‌کلید روی صفحه غیرفعال شد</translation>
 <translation id="1272079795634619415">توقف</translation>
 <translation id="1279938420744323401"><ph name="DISPLAY_NAME" /> (<ph name="ANNOTATION" />)</translation>
+<translation id="1289185460362160437"><ph name="COME_BACK_DAY_OF_WEEK" /> ساعت <ph name="COME_BACK_TIME" /> برگردید.</translation>
 <translation id="1290331692326790741">سیگنال ضعیف</translation>
 <translation id="1293264513303784526">‏دستگاه USB-C (درگاه سمت چپ)</translation>
 <translation id="1294929383540927798">تغییر تنظیمات اعلان صفحه قفل</translation>
@@ -98,6 +99,7 @@
 <translation id="2501920221385095727">کلیدهای چسبان</translation>
 <translation id="2509468283778169019">‏CAPS LOCK روشن است</translation>
 <translation id="2532589005999780174">حالت کنتراست بالا</translation>
+<translation id="255671100581129685">‏«دستیار Google» در جلسه عمومی در دسترس نیست.</translation>
 <translation id="2575685495496069081">ورود چندگانه به سیستم غیرفعال شده است</translation>
 <translation id="2582112259361606227">بازراه‌اندازی برای به‌روزرسانی</translation>
 <translation id="2597972630681408282">«نور شب»: <ph name="NIGHT_LIGHT_STATUS" /></translation>
@@ -129,6 +131,7 @@
 <translation id="3000461861112256445">صدای مونو</translation>
 <translation id="3009178788565917040">خروجی</translation>
 <translation id="3019353588588144572">زمان باقی مانده تا شارژ کامل باتری، <ph name="TIME_REMAINING" /></translation>
+<translation id="3055162170959710888">امروز از این دستگاه به‌مدت <ph name="USED_TIME" /> استفاده کردید</translation>
 <translation id="3077734595579995578">تبدیل</translation>
 <translation id="3081696990447829002">بزرگ کردن منو</translation>
 <translation id="3087734570205094154">پایین</translation>
@@ -215,6 +218,7 @@
 <translation id="4659419629803378708">‏ChromeVox فعال شد</translation>
 <translation id="4734965478015604180">افقی</translation>
 <translation id="476166673298332917">سرپرست این سیستم به همه فعالیت‌ها، ازجمله گذرواژه‌ها و ارتباطات دسترسی دارد.</translation>
+<translation id="4774338217796918551">فردا ساعت <ph name="COME_BACK_TIME" /> برگردید.</translation>
 <translation id="4776917500594043016">گذرواژه <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="4778095205580009397">‏«دستیار Google» در جلسه نمایشی در دسترس نیست.</translation>
 <translation id="479989351350248267">جستجو</translation>
@@ -229,6 +233,7 @@
 <translation id="4918086044614829423">می‌پذیرم</translation>
 <translation id="4924411785043111640">بازراه‌اندازی و بازنشانی</translation>
 <translation id="4961318399572185831">فرستادن صفحه</translation>
+<translation id="5030687792513154421">وقت تمام شد</translation>
 <translation id="5083553833479578423">باز کردن قفل ویژگی‌های بیشتری از «دستیار».</translation>
 <translation id="5136175204352732067">صفحه‌کلید دیگری متصل شد</translation>
 <translation id="5168181903108465623">دستگاه‌های فرستادن موجود هستند</translation>
@@ -277,7 +282,6 @@
 <translation id="598882571027504733">‏برای دریافت به‌روزرسانی، Chromebook را با صفحه‌کلید متصل بازراه‌اندازی کنید.</translation>
 <translation id="5992218262414051481">‏«حالت تضاد بالا» فعال شد. برای خاموش کردن آن، Ctrl+Search+H را دوباره فشار دهید.</translation>
 <translation id="6018164090099858612">خروج از حالت آینه</translation>
-<translation id="6040143037577758943">بستن</translation>
 <translation id="6043212731627905357">این نمایشگر با <ph name="DEVICE_TYPE" /> سازگار نیست (نمایشگر پشتیبانی نمی‌شود).</translation>
 <translation id="6043994281159824495">خروج از سیستم هم‌اکنون</translation>
 <translation id="6047696787498798094">زمانی که به یک کاربر دیگر جابه‌جا می‌شوید، اشتراک‌گذاری صفحه نمایش متوقف می‌شود. می‌خواهید ادامه دهید؟</translation>
@@ -360,6 +364,7 @@
 <translation id="7510334386202674593">Ctrl+Shift+L</translation>
 <translation id="7526573455193969409">ممکن است شبکه پایش شود</translation>
 <translation id="7536035074519304529">‏نشانی IP: <ph name="ADDRESS" /></translation>
+<translation id="7548434653388805669">وقت خواب</translation>
 <translation id="7561014039265304140"><ph name="DISPLAY_NAME" />،‏ <ph name="SPECIFIED_RESOLUTION" /> را پشتیبانی نمی‌کند. وضوح به <ph name="FALLBACK_RESOLUTION" /> تغییر کرد</translation>
 <translation id="7562368315689366235">پالت صورتک</translation>
 <translation id="7564874036684306347">انتقال پنجره‌ها به میز کار دیگر می‌تواند به رفتار غیرمنتظره منجر شود. اعلان‌ها، پنجره‌ها و کادرهای گفتگوی بعدی ممکن است بین میز کارها تقسیم شوند.</translation>
@@ -402,12 +407,14 @@
 <translation id="8152119955266188852">میان‌بر مربوط به ذره‌بین تمام‌صفحه را فشار دادید. می‌خواهید آن را روشن کنید؟</translation>
 <translation id="8190698733819146287">سفارشی کردن زبان‌ها و ورودی...</translation>
 <translation id="8192202700944119416">اعلان‌ها پنهان شده است.</translation>
+<translation id="8236042855478648955">وقت استراحت</translation>
 <translation id="8261506727792406068">حذف</translation>
 <translation id="8297006494302853456">ضعیف</translation>
 <translation id="8308637677604853869">منوی قبلی</translation>
 <translation id="8341451174107936385"><ph name="UNLOCK_MORE_FEATURES" />  <ph name="GET_STARTED" /></translation>
 <translation id="8351131234907093545">یادداشت ایجاد کنید</translation>
 <translation id="8392451568018454956">منوی گزینه‌ها برای <ph name="USER_EMAIL_ADDRESS" /></translation>
+<translation id="8394567579869570560">پدر یا مادرتان این دستگاه را قفل کرده است</translation>
 <translation id="8406981827175133772">ذره‌بین تمام‌صفحه</translation>
 <translation id="8425213833346101688">تغییر</translation>
 <translation id="8427213022735114808">‏با دیکته کردن، صدایتان به Google ارسال می‌شود تا بتوانید در هر فیلد نوشتاری تایپ گفتاری انجام دهید.</translation>
@@ -437,7 +444,6 @@
 <translation id="8814190375133053267">Wi-Fi</translation>
 <translation id="8825534185036233643">«نمایش صفحه‌نمایش روی دستگاه دیگر» با بیش از دو نمایشگر پشتیبانی نمی‌شود.</translation>
 <translation id="8828714802988429505">۹۰°</translation>
-<translation id="8841375032071747811">دکمه برگشت</translation>
 <translation id="8843682306134542540">تغییر وضعیت قفل چرخش. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Search+Esc</translation>
 <translation id="8870509716567206129">برنامه از تقسیم صفحه پشتیبانی نمی‌کند.</translation>
@@ -464,6 +470,7 @@
 <translation id="9201131092683066720">باتری <ph name="PERCENTAGE" /> درصد پر است.</translation>
 <translation id="9210037371811586452">خروج از حالت میزکار یکپارچه</translation>
 <translation id="9215934040295798075">تنظیم کاغذدیواری</translation>
+<translation id="921989828232331238">پدر یا مادرتان دستگاهتان را برای تمام روز قفل کرده‌ است</translation>
 <translation id="923686485342484400">‏برای خروج از سیستم Control Shift Q را دو بار فشار دهید.</translation>
 <translation id="938963181863597773">‏?What's on my calendar (در تقویم من چه رویدادی هست؟)</translation>
 <translation id="945522503751344254">ارسال بازخورد</translation>
diff --git a/ash/strings/ash_strings_fi.xtb b/ash/strings/ash_strings_fi.xtb
index 61be3d5..eed6d3fd 100644
--- a/ash/strings/ash_strings_fi.xtb
+++ b/ash/strings/ash_strings_fi.xtb
@@ -21,6 +21,7 @@
 <translation id="1270290102613614947">Ruutunäppäimistö poistettiin käytöstä</translation>
 <translation id="1272079795634619415">Pysäytä</translation>
 <translation id="1279938420744323401"><ph name="DISPLAY_NAME" /> (<ph name="ANNOTATION" />)</translation>
+<translation id="1289185460362160437">Palaa seuraavana ajankohtana: <ph name="COME_BACK_DAY_OF_WEEK" />, kello <ph name="COME_BACK_TIME" />.</translation>
 <translation id="1290331692326790741">Heikko signaali</translation>
 <translation id="1293264513303784526">C-tyypin USB-laite (vasemman sivun portti)</translation>
 <translation id="1294929383540927798">Muuta lukitusnäytön ilmoitusasetuksia</translation>
@@ -98,6 +99,7 @@
 <translation id="2501920221385095727">Päälle jäävät näppäimet</translation>
 <translation id="2509468283778169019">CAPS LOCK on päällä</translation>
 <translation id="2532589005999780174">Suuri kontrasti -tila</translation>
+<translation id="255671100581129685">Google Assistantia ei voi käyttää julkisella käyttökerralla.</translation>
 <translation id="2575685495496069081">Useille tileille kirjautuminen on poistettu käytöstä</translation>
 <translation id="2582112259361606227">Päivitä käynnistämällä uudelleen</translation>
 <translation id="2597972630681408282">Yövalo: <ph name="NIGHT_LIGHT_STATUS" /></translation>
@@ -129,6 +131,7 @@
 <translation id="3000461861112256445">Monoääni</translation>
 <translation id="3009178788565917040">Äänentoisto</translation>
 <translation id="3019353588588144572">Akku on ladattu <ph name="TIME_REMAINING" /> kuluttua</translation>
+<translation id="3055162170959710888">Olet käyttänyt tätä laitetta tänään <ph name="USED_TIME" /></translation>
 <translation id="3077734595579995578">shift</translation>
 <translation id="3081696990447829002">Laajenna valikko</translation>
 <translation id="3087734570205094154">Alaosa</translation>
@@ -215,6 +218,7 @@
 <translation id="4659419629803378708">ChromeVox käytössä</translation>
 <translation id="4734965478015604180">Vaakasuora</translation>
 <translation id="476166673298332917">Tämän laitteen järjestelmänvalvojalla on pääsy kaikkeen toimintaan, mukaan lukien salasanoihin ja viestintään.</translation>
+<translation id="4774338217796918551">Palaa huomenna kello <ph name="COME_BACK_TIME" />.</translation>
 <translation id="4776917500594043016">Osoitteen <ph name="USER_EMAIL_ADDRESS" /> salasana</translation>
 <translation id="4778095205580009397">Google Assistantia ei voi käyttää demo-käyttökerralla.</translation>
 <translation id="479989351350248267">haku</translation>
@@ -229,6 +233,7 @@
 <translation id="4918086044614829423">Hyväksy</translation>
 <translation id="4924411785043111640">Käynnistä uudelleen ja palauta</translation>
 <translation id="4961318399572185831">Suoratoista näyttö</translation>
+<translation id="5030687792513154421">Aika on lopussa</translation>
 <translation id="5083553833479578423">Käytä lisää Assistantin ominaisuuksia.</translation>
 <translation id="5136175204352732067">Eri näppäimistö kytketty</translation>
 <translation id="5168181903108465623">Cast-laitteita käytettävissä</translation>
@@ -277,7 +282,6 @@
 <translation id="598882571027504733">Voit asentaa päivityksen käynnistämällä Chromebookisi uudelleen niin, että näppäimistö on kytkettynä.</translation>
 <translation id="5992218262414051481">Suuri kontrasti ‑tila on käytössä. Poista se käytöstä painamalla uudelleen Ctrl + haku + H.</translation>
 <translation id="6018164090099858612">Poistutaan peilitilasta</translation>
-<translation id="6040143037577758943">Sulje</translation>
 <translation id="6043212731627905357">Näyttö ja <ph name="DEVICE_TYPE" /> eivät sovi yhteen (näyttöä ei tueta).</translation>
 <translation id="6043994281159824495">Kirjaudu ulos nyt</translation>
 <translation id="6047696787498798094">Näytön jakaminen loppuu, kun vaihdat toiseen käyttäjään. Haluatko jatkaa?</translation>
@@ -362,6 +366,7 @@
 <translation id="7510334386202674593">Ctrl+Shift+L</translation>
 <translation id="7526573455193969409">Verkkoa saatetaan valvoa</translation>
 <translation id="7536035074519304529">IP-osoite: <ph name="ADDRESS" /></translation>
+<translation id="7548434653388805669">Nukkumaanmenoaika</translation>
 <translation id="7561014039265304140"><ph name="DISPLAY_NAME" /> ei tue resoluutiota <ph name="SPECIFIED_RESOLUTION" />. Resoluutioksi valittiin <ph name="FALLBACK_RESOLUTION" />.</translation>
 <translation id="7562368315689366235">Emojipaletti</translation>
 <translation id="7564874036684306347">Ikkunan siirtämisellä toiselle työpöydälle voi olla odottamattomia seurauksia. Myöhemmät ilmoitukset, ikkunat ja valintaikkunat voidaan jakaa työpöytien välillä.</translation>
@@ -404,12 +409,14 @@
 <translation id="8152119955266188852">Painoit koko näytön suurennuksen pikanäppäintä. Haluatko ottaa sen käyttöön?</translation>
 <translation id="8190698733819146287">Muokkaa kieliä ja syötettä...</translation>
 <translation id="8192202700944119416">Ilmoitukset on piilotettu.</translation>
+<translation id="8236042855478648955">Tauon paikka</translation>
 <translation id="8261506727792406068">Poista</translation>
 <translation id="8297006494302853456">Heikko</translation>
 <translation id="8308637677604853869">Edellinen valikko</translation>
 <translation id="8341451174107936385"><ph name="UNLOCK_MORE_FEATURES" /> <ph name="GET_STARTED" /></translation>
 <translation id="8351131234907093545">Luo muistiinpano</translation>
 <translation id="8392451568018454956">Tilin <ph name="USER_EMAIL_ADDRESS" /> vaihtoehtovalikko</translation>
+<translation id="8394567579869570560">Vanhempasi lukitsi tämän laitteen</translation>
 <translation id="8406981827175133772">Koko näytön suurennus</translation>
 <translation id="8425213833346101688">Vaihda</translation>
 <translation id="8427213022735114808">Sanelu lähettää äänesi Googlelle, jotta puhekirjoitus on mahdollista kaikissa tekstikentissä.</translation>
@@ -439,7 +446,6 @@
 <translation id="8814190375133053267">Wi-Fi</translation>
 <translation id="8825534185036233643">Peilaamista yli kahdelle näytölle ei tueta.</translation>
 <translation id="8828714802988429505">90°</translation>
-<translation id="8841375032071747811">Takaisin-painike</translation>
 <translation id="8843682306134542540">Ota kierron lukitus käyttöön tai poista se käytöstä. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Haku+Esc</translation>
 <translation id="8870509716567206129">Sovellus ei tue jaetun näytön tilaa.</translation>
@@ -466,6 +472,7 @@
 <translation id="9201131092683066720">Akussa on virtaa <ph name="PERCENTAGE" /> %.</translation>
 <translation id="9210037371811586452">Poistutaan yhtenäisen työpöydän tilasta</translation>
 <translation id="9215934040295798075">Aseta taustakuva</translation>
+<translation id="921989828232331238">Vanhempasi lukitsi laitteen loppupäivän ajaksi</translation>
 <translation id="923686485342484400">Kirjaudu ulos painamalla Control Shift Q kahdesti.</translation>
 <translation id="938963181863597773">Mitä kalenterissani on?</translation>
 <translation id="945522503751344254">Lähetä palautetta</translation>
diff --git a/ash/strings/ash_strings_fil.xtb b/ash/strings/ash_strings_fil.xtb
index 34c834e..bd6304375 100644
--- a/ash/strings/ash_strings_fil.xtb
+++ b/ash/strings/ash_strings_fil.xtb
@@ -21,6 +21,7 @@
 <translation id="1270290102613614947">Naka-disable ang on-screen na keyboard</translation>
 <translation id="1272079795634619415">Stop</translation>
 <translation id="1279938420744323401"><ph name="DISPLAY_NAME" /> (<ph name="ANNOTATION" />)</translation>
+<translation id="1289185460362160437">Bumalik sa <ph name="COME_BACK_DAY_OF_WEEK" /> nang <ph name="COME_BACK_TIME" />.</translation>
 <translation id="1290331692326790741">Mahina ang signal</translation>
 <translation id="1293264513303784526">USB-C device (port sa kaliwa)</translation>
 <translation id="1294929383540927798">Baguhin ang mga setting ng notification ng lock-screen</translation>
@@ -98,6 +99,7 @@
 <translation id="2501920221385095727">Mga sticky key</translation>
 <translation id="2509468283778169019">Naka-on ang CAPS LOCK</translation>
 <translation id="2532589005999780174">High contrast mode</translation>
+<translation id="255671100581129685">Hindi available ang Google Assistant sa isang pampublikong session.</translation>
 <translation id="2575685495496069081">Na-disable ang maraming pag-sign in</translation>
 <translation id="2582112259361606227">I-restart para mag-update</translation>
 <translation id="2597972630681408282">Night Light: <ph name="NIGHT_LIGHT_STATUS" /></translation>
@@ -129,6 +131,7 @@
 <translation id="3000461861112256445">Mono audio</translation>
 <translation id="3009178788565917040">Output</translation>
 <translation id="3019353588588144572">Natitirang oras bago ganap na ma-charge ang baterya, <ph name="TIME_REMAINING" /></translation>
+<translation id="3055162170959710888">Ginamit mo ang device na ito nang <ph name="USED_TIME" /> ngayong araw</translation>
 <translation id="3077734595579995578">shift</translation>
 <translation id="3081696990447829002">I-expand ang menu</translation>
 <translation id="3087734570205094154">Sa ilalim</translation>
@@ -214,6 +217,7 @@
 <translation id="4659419629803378708">Na-enable ang ChromeVox</translation>
 <translation id="4734965478015604180">Horizontal</translation>
 <translation id="476166673298332917">May access ang administrator ng device na ito sa lahat ng aktibidad, kabilang ang mga password at komunikasyon.</translation>
+<translation id="4774338217796918551">Bumalik nang <ph name="COME_BACK_TIME" />.</translation>
 <translation id="4776917500594043016">Password para sa <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="4778095205580009397">Hindi available ang Google Assistant sa demo session.</translation>
 <translation id="479989351350248267">search</translation>
@@ -228,6 +232,7 @@
 <translation id="4918086044614829423">Tanggapin</translation>
 <translation id="4924411785043111640">I-restart at i-reset</translation>
 <translation id="4961318399572185831">I-cast ang screen</translation>
+<translation id="5030687792513154421">Tapos na ang oras</translation>
 <translation id="5083553833479578423">Mag-unlock ng higit pang feature ng Assistant.</translation>
 <translation id="5136175204352732067">Ibang keyboard ang nakakonekta</translation>
 <translation id="5168181903108465623">I-cast ang mga available na device</translation>
@@ -276,7 +281,6 @@
 <translation id="598882571027504733">Para makuha ang update, i-restart ang iyong Chromebook nang nakakabit ang keyboard.</translation>
 <translation id="5992218262414051481">Na-enable ang High Contrast Mode. Pinduting muli ang Ctrl+Search+H upang i-off ito.</translation>
 <translation id="6018164090099858612">Lumalabas sa mirror mode</translation>
-<translation id="6040143037577758943">Isara</translation>
 <translation id="6043212731627905357">Hindi gumagana ang monitor na ito sa iyong <ph name="DEVICE_TYPE" /> (hindi sinusuportahan ang monitor).</translation>
 <translation id="6043994281159824495">Mag-sign out ngayon</translation>
 <translation id="6047696787498798094">Matitigil ang screen sharing kapag nagpalit ka ng user. Gusto mo bang magpatuloy?</translation>
@@ -359,6 +363,7 @@
 <translation id="7510334386202674593">Ctrl+Shift+L</translation>
 <translation id="7526573455193969409">Maaaring sinusubaybayan ang network</translation>
 <translation id="7536035074519304529">IP address: <ph name="ADDRESS" /></translation>
+<translation id="7548434653388805669">Oras nang matulog</translation>
 <translation id="7561014039265304140">Hindi sinusuportahan ng <ph name="DISPLAY_NAME" /> ang <ph name="SPECIFIED_RESOLUTION" />. Ang resolution ay ginawang <ph name="FALLBACK_RESOLUTION" /></translation>
 <translation id="7562368315689366235">Emoji palette</translation>
 <translation id="7564874036684306347">Kapag inilipat ang mga window sa isa pang desktop, maaari itong magresulta sa hindi inaasahang gawi. Maaaring hatiin ang mga susunod na notification, window, at dialog sa pagitan ng mga desktop.</translation>
@@ -401,12 +406,14 @@
 <translation id="8152119955266188852">Napindot mo ang shortcut para sa full-screen magnifier. Gusto mo ba itong i-on?</translation>
 <translation id="8190698733819146287">I-customize ang mga wika at input...</translation>
 <translation id="8192202700944119416">Nakatago ang mga notification.</translation>
+<translation id="8236042855478648955">Oras na para magpahinga</translation>
 <translation id="8261506727792406068">I-delete</translation>
 <translation id="8297006494302853456">Mahina</translation>
 <translation id="8308637677604853869">Nakaraang menu</translation>
 <translation id="8341451174107936385"><ph name="UNLOCK_MORE_FEATURES" />  <ph name="GET_STARTED" /></translation>
 <translation id="8351131234907093545">Gumawa ng tala</translation>
 <translation id="8392451568018454956">Menu ng mga pagpipilian para sa <ph name="USER_EMAIL_ADDRESS" /></translation>
+<translation id="8394567579869570560">Ni-lock ng iyong magulang ang device na ito</translation>
 <translation id="8406981827175133772">Fullscreen Magnifier</translation>
 <translation id="8425213833346101688">Baguhin</translation>
 <translation id="8427213022735114808">Ipinapadala ng Dictation ang iyong boses sa Google para mabigyang-daan ang voice-typing sa anumang field ng text.</translation>
@@ -436,7 +443,6 @@
 <translation id="8814190375133053267">Wi-Fi</translation>
 <translation id="8825534185036233643">Hindi sinusuportahan ang pagmi-mirror sa mahigit sa dalawang display.</translation>
 <translation id="8828714802988429505">90°</translation>
-<translation id="8841375032071747811">Button na Bumalik</translation>
 <translation id="8843682306134542540">I-toggle ang lock ng pag-rotate. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Search+Esc</translation>
 <translation id="8870509716567206129">Hindi sinusuportahan ng app ang split-screen.</translation>
@@ -463,6 +469,7 @@
 <translation id="9201131092683066720">Ang baterya ay <ph name="PERCENTAGE" />% na puno.</translation>
 <translation id="9210037371811586452">Lumalabas sa unified desktop mode</translation>
 <translation id="9215934040295798075">Magtakda ng wallpaper</translation>
+<translation id="921989828232331238">Ni-lock ng iyong magulang ang device mo para sa araw na ito</translation>
 <translation id="923686485342484400">Pindutin ang Control Shift Q nang dalawang beses upang mag-sign out.</translation>
 <translation id="938963181863597773">Ano'ng nakaiskedyul sa kalendaryo ko?</translation>
 <translation id="945522503751344254">Magpadala ng feedback...</translation>
diff --git a/ash/strings/ash_strings_fr.xtb b/ash/strings/ash_strings_fr.xtb
index 0db1022..c8f7355 100644
--- a/ash/strings/ash_strings_fr.xtb
+++ b/ash/strings/ash_strings_fr.xtb
@@ -21,6 +21,7 @@
 <translation id="1270290102613614947">Clavier à l'écran désactivé</translation>
 <translation id="1272079795634619415">Arrêter</translation>
 <translation id="1279938420744323401"><ph name="DISPLAY_NAME" /> (<ph name="ANNOTATION" />)</translation>
+<translation id="1289185460362160437">Revenez <ph name="COME_BACK_DAY_OF_WEEK" /> à <ph name="COME_BACK_TIME" />.</translation>
 <translation id="1290331692326790741">Signal de faible intensité</translation>
 <translation id="1293264513303784526">Appareil USB de type C (port situé sur la gauche de l'appareil)</translation>
 <translation id="1294929383540927798">Modifier les paramètres de notification sur l'écran de verrouillage</translation>
@@ -98,6 +99,7 @@
 <translation id="2501920221385095727">Touches persistantes</translation>
 <translation id="2509468283778169019">Touche VERR MAJ activée</translation>
 <translation id="2532589005999780174">Mode Contraste élevé</translation>
+<translation id="255671100581129685">L'Assistant Google n'est pas disponible dans une session publique.</translation>
 <translation id="2575685495496069081">La connexion multicompte a été désactivée</translation>
 <translation id="2582112259361606227">Redémarrer pour mettre à jour</translation>
 <translation id="2597972630681408282">Éclairage nocturne : <ph name="NIGHT_LIGHT_STATUS" /></translation>
@@ -129,6 +131,7 @@
 <translation id="3000461861112256445">Audio mono</translation>
 <translation id="3009178788565917040">Sortie</translation>
 <translation id="3019353588588144572">Temps restant avant chargement complet de la batterie : <ph name="TIME_REMAINING" />.</translation>
+<translation id="3055162170959710888">Vous avez utilisé l'appareil pendant <ph name="USED_TIME" /> aujourd'hui</translation>
 <translation id="3077734595579995578">maj</translation>
 <translation id="3081696990447829002">Développer le menu</translation>
 <translation id="3087734570205094154">Bas</translation>
@@ -215,6 +218,7 @@
 <translation id="4659419629803378708">ChromeVox activé</translation>
 <translation id="4734965478015604180">Horizontal</translation>
 <translation id="476166673298332917">L'administrateur de cet appareil a accès à toute l'activité, y compris aux mots de passe et aux communications.</translation>
+<translation id="4774338217796918551">Revenez demain à <ph name="COME_BACK_TIME" />.</translation>
 <translation id="4776917500594043016">Mot de passe de <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="4778095205580009397">L'Assistant Google n'est pas disponible dans une session de démonstration.</translation>
 <translation id="479989351350248267">rechercher</translation>
@@ -229,6 +233,7 @@
 <translation id="4918086044614829423">Accepter</translation>
 <translation id="4924411785043111640">Redémarrer et réinitialiser</translation>
 <translation id="4961318399572185831">Diffuser l'écran</translation>
+<translation id="5030687792513154421">Temps écoulé</translation>
 <translation id="5083553833479578423">Déverrouiller plus de fonctionnalités de l'Assistant.</translation>
 <translation id="5136175204352732067">Clavier différent branché</translation>
 <translation id="5168181903108465623">Appareils Cast disponibles</translation>
@@ -277,7 +282,6 @@
 <translation id="598882571027504733">Pour télécharger la mise à jour, redémarrez votre Chromebook avec le clavier branché.</translation>
 <translation id="5992218262414051481">Le mode Contraste élevé est activé. Appuyez de nouveau sur Ctrl+Recherche+H pour le désactiver.</translation>
 <translation id="6018164090099858612">Sortie du mode Miroir…</translation>
-<translation id="6040143037577758943">Fermer</translation>
 <translation id="6043212731627905357">Ce moniteur ne fonctionne pas avec votre <ph name="DEVICE_TYPE" /> (il n'est pas compatible).</translation>
 <translation id="6043994281159824495">Se déconnecter maintenant</translation>
 <translation id="6047696787498798094">Le partage d'écran s'arrête lorsque vous passez à un autre utilisateur. Voulez-vous continuer ?</translation>
@@ -360,6 +364,7 @@
 <translation id="7510334386202674593">Ctrl+Maj+L</translation>
 <translation id="7526573455193969409">Il est possible que le réseau soit surveillé</translation>
 <translation id="7536035074519304529">Adresse IP : <ph name="ADDRESS" /></translation>
+<translation id="7548434653388805669">Il est l'heure d'aller au lit</translation>
 <translation id="7561014039265304140"><ph name="DISPLAY_NAME" /> n'est pas compatible avec <ph name="SPECIFIED_RESOLUTION" />. La résolution a été modifiée pour utiliser <ph name="FALLBACK_RESOLUTION" />.</translation>
 <translation id="7562368315689366235">Palette d'emoji</translation>
 <translation id="7564874036684306347">Le déplacement de fenêtres vers un autre écran peut entraîner un comportement inattendu. Par exemple, les notifications, les fenêtres et les boîtes de dialogue peuvent s'afficher sur les deux écrans.</translation>
@@ -402,12 +407,14 @@
 <translation id="8152119955266188852">Vous avez utilisé le raccourci de la loupe plein écran. Voulez-vous l'activer ?</translation>
 <translation id="8190698733819146287">Personnaliser les langues et la saisie...</translation>
 <translation id="8192202700944119416">Les notifications sont masquées.</translation>
+<translation id="8236042855478648955">Il est temps de faire une pause</translation>
 <translation id="8261506727792406068">Supprimer</translation>
 <translation id="8297006494302853456">Faible</translation>
 <translation id="8308637677604853869">Menu précédent</translation>
 <translation id="8341451174107936385"><ph name="UNLOCK_MORE_FEATURES" />  <ph name="GET_STARTED" /></translation>
 <translation id="8351131234907093545">Créer une note</translation>
 <translation id="8392451568018454956">Menu "Options" de l'adresse e-mail <ph name="USER_EMAIL_ADDRESS" /></translation>
+<translation id="8394567579869570560">Ton parent a verrouillé cet appareil</translation>
 <translation id="8406981827175133772">Loupe plein écran</translation>
 <translation id="8425213833346101688">Modifier</translation>
 <translation id="8427213022735114808">La fonctionnalité de dictée transmet votre voix à Google et permet d'utiliser ainsi la saisie vocale dans n'importe quelle zone de texte.</translation>
@@ -437,7 +444,6 @@
 <translation id="8814190375133053267">Wi-Fi </translation>
 <translation id="8825534185036233643">La duplication d'écran avec plus de deux écrans n'est pas acceptée.</translation>
 <translation id="8828714802988429505">90°</translation>
-<translation id="8841375032071747811">Bouton Retour</translation>
 <translation id="8843682306134542540">Activer/Désactiver le verrouillage de la rotation. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Recherche+Échap</translation>
 <translation id="8870509716567206129">Application incompatible avec l'écran partagé.</translation>
@@ -464,6 +470,7 @@
 <translation id="9201131092683066720">La batterie est chargée à <ph name="PERCENTAGE" /> %.</translation>
 <translation id="9210037371811586452">Sortie du mode Bureau unifié</translation>
 <translation id="9215934040295798075">Définir le fond d'écran</translation>
+<translation id="921989828232331238">Ton parent a verrouillé ton appareil pour la journée</translation>
 <translation id="923686485342484400">Appuyez deux fois sur Contrôle + Maj + Q pour vous déconnecter.</translation>
 <translation id="938963181863597773">Qu'y a-t-il dans mon agenda ?</translation>
 <translation id="945522503751344254">Envoyer le commentaire</translation>
diff --git a/ash/strings/ash_strings_gu.xtb b/ash/strings/ash_strings_gu.xtb
index 6109847..f08d72ae 100644
--- a/ash/strings/ash_strings_gu.xtb
+++ b/ash/strings/ash_strings_gu.xtb
@@ -276,7 +276,6 @@
 <translation id="598882571027504733">અપડેટ મેળવવા માટે, તમારી Chromebookને જોડાયેલ કીબોર્ડ સાથે ફરીથી શરૂ કરો.</translation>
 <translation id="5992218262414051481">હાઇ કોન્ટ્રાસ્ટ મોડ સક્ષમ કર્યો. ટૉગલ બંધ કરવા માટે ફરીથી Ctrl+Search+H ફરીથી દબાવો.</translation>
 <translation id="6018164090099858612">મીરર મોડથી બહાર નીકળે છે</translation>
-<translation id="6040143037577758943">બંધ કરો</translation>
 <translation id="6043212731627905357">આ મૉનિટર તમારા <ph name="DEVICE_TYPE" /> સાથે કામ કરી રહ્યું નથી (મૉનિટર સમર્થિત નથી).</translation>
 <translation id="6043994281159824495">હવે સાઇન આઉટ કરો</translation>
 <translation id="6047696787498798094">જ્યારે તમે બીજા વપરાશકર્તા પર સ્વિચ કરો ત્યારે સ્ક્રીન શેરિંગ રોકવામાં આવશે. શું તમે ચાલુ રાખવા માંગો છો?</translation>
@@ -436,7 +435,6 @@
 <translation id="8814190375133053267">વાઇ-ફાઇ</translation>
 <translation id="8825534185036233643">બે કરતાં વધુ પ્રદર્શનો સાથે મીરરીંગ સમર્થિત નથી.</translation>
 <translation id="8828714802988429505">90°</translation>
-<translation id="8841375032071747811">પાછળ બટન</translation>
 <translation id="8843682306134542540">રોટેશન લૉક ટૉગલ કરો. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Search+Esc</translation>
 <translation id="8870509716567206129">ઍપ સ્ક્રીન-વિભાજનને સહાય કરતી નથી.</translation>
diff --git a/ash/strings/ash_strings_hi.xtb b/ash/strings/ash_strings_hi.xtb
index 2fa9a83..f9deab5 100644
--- a/ash/strings/ash_strings_hi.xtb
+++ b/ash/strings/ash_strings_hi.xtb
@@ -21,6 +21,7 @@
 <translation id="1270290102613614947">ऑन-स्‍क्रीन कीबोर्ड अक्षम है</translation>
 <translation id="1272079795634619415">रोकें</translation>
 <translation id="1279938420744323401"><ph name="DISPLAY_NAME" /> (<ph name="ANNOTATION" />)</translation>
+<translation id="1289185460362160437"><ph name="COME_BACK_DAY_OF_WEEK" /> को <ph name="COME_BACK_TIME" /> बजे फिर से देखें.</translation>
 <translation id="1290331692326790741">कमज़ोर सिग्नल</translation>
 <translation id="1293264513303784526">USB-C डिवाइस (बायां पोर्ट)</translation>
 <translation id="1294929383540927798">लॉक स्क्रीन नोटिफ़िकेशन सेटिंग बदलें</translation>
@@ -98,6 +99,7 @@
 <translation id="2501920221385095727">रोचक कुंजियां</translation>
 <translation id="2509468283778169019">CAPS LOCK चालू है</translation>
 <translation id="2532589005999780174">उच्च कंट्रास्ट मोड</translation>
+<translation id="255671100581129685">सार्वजनिक सत्र में Google Assistant उपलब्ध नहीं है.</translation>
 <translation id="2575685495496069081">एक से ज़्यादा 'साइन इन' को बंद कर दिया गया है</translation>
 <translation id="2582112259361606227">अपडेट करने के लिए रीस्टार्ट करें</translation>
 <translation id="2597972630681408282">नाइट लाइट: <ph name="NIGHT_LIGHT_STATUS" /></translation>
@@ -129,6 +131,7 @@
 <translation id="3000461861112256445">मोनो ऑडियो</translation>
 <translation id="3009178788565917040">आउटपुट</translation>
 <translation id="3019353588588144572">बैटरी के पूरी तरह से चार्ज होने में शेष समय, <ph name="TIME_REMAINING" /></translation>
+<translation id="3055162170959710888">आपने आज इस डिवाइस का <ph name="USED_TIME" /> तक इस्तेमाल कर लिया है</translation>
 <translation id="3077734595579995578">shift</translation>
 <translation id="3081696990447829002">मेन्यू बड़ा करें</translation>
 <translation id="3087734570205094154">नीचे</translation>
@@ -215,6 +218,7 @@
 <translation id="4659419629803378708">ChromeVox सक्षम है</translation>
 <translation id="4734965478015604180">क्षैतिज</translation>
 <translation id="476166673298332917">इस डिवाइस के एडमिन के पास सभी गतिविधियों का एक्सेस है, जिनमें पासवर्ड और संचार शामिल हैं.</translation>
+<translation id="4774338217796918551">कल <ph name="COME_BACK_TIME" /> बजे फिर से देखें.</translation>
 <translation id="4776917500594043016"><ph name="USER_EMAIL_ADDRESS" /> के लिए पासवर्ड</translation>
 <translation id="4778095205580009397">डेमो सत्र में Google Assistant मौजूद नहीं है.</translation>
 <translation id="479989351350248267">search</translation>
@@ -229,6 +233,7 @@
 <translation id="4918086044614829423">स्वीकार करें</translation>
 <translation id="4924411785043111640">रीस्टार्ट करें और रीसेट करें</translation>
 <translation id="4961318399572185831">स्‍क्रीन कास्‍ट करें</translation>
+<translation id="5030687792513154421">समय पूरा हो गया</translation>
 <translation id="5083553833479578423">Assistant की और भी सुविधाओं के बारे में जानें.</translation>
 <translation id="5136175204352732067">अलग कीबोर्ड कनेक्ट किया गया</translation>
 <translation id="5168181903108465623">कास्ट डिवाइस उपलब्ध हैं</translation>
@@ -277,10 +282,9 @@
 <translation id="598882571027504733">अपडेट पाने के लिए, अटैच किए गए कीबोर्ड से अपने Chromebook को रीस्टार्ट करें.</translation>
 <translation id="5992218262414051481">उच्च कंट्रास्ट मोड सक्षम है. उसे बंद पर टॉगल करने के लिए Ctrl+Search+H फिर से दबाएं.</translation>
 <translation id="6018164090099858612">मिरर मोड से बाहर निकाला जा रहा है</translation>
-<translation id="6040143037577758943">बंद करें</translation>
 <translation id="6043212731627905357">यह मॉनीटर आपके <ph name="DEVICE_TYPE" /> के साथ काम नहीं कर रहा है (मॉनीटर समर्थित नहीं है).</translation>
 <translation id="6043994281159824495">अब प्रस्थान करें</translation>
-<translation id="6047696787498798094">आपके द्वारा किसी अन्‍य उपयोगकर्ता पर स्‍विच करने से स्‍क्रीन साझाकरण रुक जाएगा. क्‍या आप जारी रखना चाहते हैं?</translation>
+<translation id="6047696787498798094">किसी दूसरे उपयोगकर्ता पर स्‍विच करने से स्‍क्रीन शेयर होना बंद हो जाएगा. क्या आप शेयर करना जारी रखना चाहते हैं?</translation>
 <translation id="6062360702481658777">आप <ph name="LOGOUT_TIME_LEFT" /> में अपने आप प्रस्थान कर जाएंगे.</translation>
 <translation id="6064337552080329342">माफ़ करें, आपके पासवर्ड की पुष्टि नहीं की जा सकी. कृपया फिर से कोशिश करें.</translation>
 <translation id="607652042414456612">आपका कंप्यूर आस-पास के ब्लूटूथ डिवाइस के लिए खोजे जाने योग्य है और वह "<ph name="NAME" />" के रूप में <ph name="ADDRESS" /> पते के साथ दिखाई देगा</translation>
@@ -360,6 +364,7 @@
 <translation id="7510334386202674593">Ctrl+Shift+L</translation>
 <translation id="7526573455193969409">नेटवर्क की निगरानी की जा सकती है</translation>
 <translation id="7536035074519304529">आईपी पता: <ph name="ADDRESS" /></translation>
+<translation id="7548434653388805669">सोने का समय हो गया</translation>
 <translation id="7561014039265304140"><ph name="DISPLAY_NAME" /> <ph name="SPECIFIED_RESOLUTION" /> का समर्थन नहीं करता. रिज़ॉल्यूशन को <ph name="FALLBACK_RESOLUTION" /> में बदल दिया गया था</translation>
 <translation id="7562368315689366235">इमोजी पैलेट</translation>
 <translation id="7564874036684306347">विंडो को किसी दूसरे डेस्कटॉप पर ले जाने से अनचाहा बर्ताव हो सकता है. इसके बाद की सूचनाएं, विंडो और संवाद डेस्कटॉप के बीच बंट सकती हैं.</translation>
@@ -402,12 +407,14 @@
 <translation id="8152119955266188852">आपने 'सामग्री को फ़ुल-स्क्रीन पर बड़ा दिखाने वाली सेवा' का शॉर्टकट दबाया है. क्या आप इसे चालू करना चाहते हैं?</translation>
 <translation id="8190698733819146287">भाषाएं और इनपुट कस्टमाइज़ करें...</translation>
 <translation id="8192202700944119416">सूचनाएं छिपी हुई हैं.</translation>
+<translation id="8236042855478648955">ब्रेक लेने का समय हो गया</translation>
 <translation id="8261506727792406068">हटाएं</translation>
 <translation id="8297006494302853456">कमज़ोर</translation>
 <translation id="8308637677604853869">पिछला मेन्यू</translation>
 <translation id="8341451174107936385"><ph name="UNLOCK_MORE_FEATURES" />  <ph name="GET_STARTED" /></translation>
 <translation id="8351131234907093545">नोट बनाएं</translation>
 <translation id="8392451568018454956"><ph name="USER_EMAIL_ADDRESS" /> के लिए विकल्प मेनू</translation>
+<translation id="8394567579869570560">आपके अभिभावक ने यह डिवाइस लॉक कर दिया है</translation>
 <translation id="8406981827175133772">फ़ुलस्क्रीन पर सामग्री को बड़ा दिखाने की सुविधा</translation>
 <translation id="8425213833346101688">बदलें</translation>
 <translation id="8427213022735114808">'डिक्टेशन (आप जो बोलते हैं उसे लिखना)' सुविधा आपकी आवाज़ Google को भेजती है ताकि किसी भी लेख फ़ील्ड में बोलकर लिखा जा सके.</translation>
@@ -437,7 +444,6 @@
 <translation id="8814190375133053267">वाई-फ़ाई </translation>
 <translation id="8825534185036233643">दो से ज़्यादा डिसप्ले की स्क्रीन नहीं शेयर की जा सकती है.</translation>
 <translation id="8828714802988429505">90°</translation>
-<translation id="8841375032071747811">वापस जाएं बटन</translation>
 <translation id="8843682306134542540">रोटेशन लॉक को टॉगल करें. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Search+Esc</translation>
 <translation id="8870509716567206129">ऐप दो-स्क्रीन मोड में काम नहीं करता है.</translation>
@@ -464,6 +470,7 @@
 <translation id="9201131092683066720">बैटरी <ph name="PERCENTAGE" />% भरी हुई है.</translation>
 <translation id="9210037371811586452">संयुक्त डेस्कटॉप मोड से बाहर निकाला जा रहा है</translation>
 <translation id="9215934040295798075">वॉलपेपर सेट करें</translation>
+<translation id="921989828232331238">आपके अभिभावक ने आज के लिए यह डिवाइस लॉक कर दिया है</translation>
 <translation id="923686485342484400">साइन आउट करने के लिए दो बार Control Shift Q दबाएं.</translation>
 <translation id="938963181863597773">मेरे कैलेंडर पर आज के लिए क्या काम हैं?</translation>
 <translation id="945522503751344254">सुझाव भेजें</translation>
diff --git a/ash/strings/ash_strings_hr.xtb b/ash/strings/ash_strings_hr.xtb
index 979a01c..44621d9 100644
--- a/ash/strings/ash_strings_hr.xtb
+++ b/ash/strings/ash_strings_hr.xtb
@@ -21,6 +21,7 @@
 <translation id="1270290102613614947">Tipkovnica na zaslonu onemogućena je</translation>
 <translation id="1272079795634619415">Zaustavi</translation>
 <translation id="1279938420744323401"><ph name="DISPLAY_NAME" /> (<ph name="ANNOTATION" />)</translation>
+<translation id="1289185460362160437">Vrati se u <ph name="COME_BACK_DAY_OF_WEEK" /> u <ph name="COME_BACK_TIME" />.</translation>
 <translation id="1290331692326790741">Slab signal</translation>
 <translation id="1293264513303784526">USB-C uređaj (lijevi priključak)</translation>
 <translation id="1294929383540927798">Promijenite postavke obavijesti o zaključanom zaslonu</translation>
@@ -98,6 +99,7 @@
 <translation id="2501920221385095727">Ljepljive tipke</translation>
 <translation id="2509468283778169019">Opcija CAPS LOCK uključena</translation>
 <translation id="2532589005999780174">Način visokog kontrasta</translation>
+<translation id="255671100581129685">Google asistent nije dostupan u javnoj sesiji.</translation>
 <translation id="2575685495496069081">Onemogućena je višestruka prijava</translation>
 <translation id="2582112259361606227">Ponovo pokrenite da biste ažurirali</translation>
 <translation id="2597972630681408282">Noćno svjetlo: <ph name="NIGHT_LIGHT_STATUS" /></translation>
@@ -129,6 +131,7 @@
 <translation id="3000461861112256445">Monoaudio</translation>
 <translation id="3009178788565917040">Izlaz</translation>
 <translation id="3019353588588144572">Baterija će se napuniti za <ph name="TIME_REMAINING" /></translation>
+<translation id="3055162170959710888">Uređaj je danas korišten <ph name="USED_TIME" /></translation>
 <translation id="3077734595579995578">shift</translation>
 <translation id="3081696990447829002">Proširi izbornik</translation>
 <translation id="3087734570205094154">Donji</translation>
@@ -214,6 +217,7 @@
 <translation id="4659419629803378708">ChromeVox omogućen</translation>
 <translation id="4734965478015604180">Vodoravno</translation>
 <translation id="476166673298332917">Administrator ovog uređaja pristupio je cjelokupnoj aktivnosti, uključujući zaporke i komunikacije.</translation>
+<translation id="4774338217796918551">Vrati se sutra u <ph name="COME_BACK_TIME" />.</translation>
 <translation id="4776917500594043016">Zaporka za adresu <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="4778095205580009397">Google asistent nije dostupan u demosesiji.</translation>
 <translation id="479989351350248267">search</translation>
@@ -228,6 +232,7 @@
 <translation id="4918086044614829423">Prihvati</translation>
 <translation id="4924411785043111640">Ponovo pokreni i vrati na prethodno</translation>
 <translation id="4961318399572185831">Emitiranje zaslona</translation>
+<translation id="5030687792513154421">Vrijeme je isteklo</translation>
 <translation id="5083553833479578423">Otključajte više značajki Asistenta.</translation>
 <translation id="5136175204352732067">Povezana je neka druga tipkovnica</translation>
 <translation id="5168181903108465623">Dostupni su uređaji za emitiranje</translation>
@@ -276,7 +281,6 @@
 <translation id="598882571027504733">Da biste preuzeli ažuriranje, ponovo pokrenite Chromebook dok je tipkovnica priključena.</translation>
 <translation id="5992218262414051481">Način visokog kontrasta omogućen je. Ponovo pritisnite Ctrl + Search + H da biste ga isključili.</translation>
 <translation id="6018164090099858612">Izlaz iz zrcalnog načina</translation>
-<translation id="6040143037577758943">Zatvori</translation>
 <translation id="6043212731627905357">Ovaj se monitor ne podudara s vašim uređajem <ph name="DEVICE_TYPE" /> (monitor nije podržan).</translation>
 <translation id="6043994281159824495">Odjavi se odmah</translation>
 <translation id="6047696787498798094">Dijeljenje zaslona prekinut će se kad se prebacite na drugog korisnika. Želite li nastaviti?</translation>
@@ -359,6 +363,7 @@
 <translation id="7510334386202674593">Ctrl + Shift + L</translation>
 <translation id="7526573455193969409">Mreža se možda nadzire</translation>
 <translation id="7536035074519304529">IP adresa: <ph name="ADDRESS" /></translation>
+<translation id="7548434653388805669">Vrijeme je za spavanje</translation>
 <translation id="7561014039265304140"><ph name="DISPLAY_NAME" /> ne podržava razlučivost <ph name="SPECIFIED_RESOLUTION" />. Razlučivost je promijenjena u <ph name="FALLBACK_RESOLUTION" /></translation>
 <translation id="7562368315689366235">Paleta emojija</translation>
 <translation id="7564874036684306347">Premještanje prozora na drugu radnu površinu može dovesti do neočekivanog ponašanja. Daljnje obavijesti, prozori i dijaloški okviri mogu se podijeliti između radnih površina.</translation>
@@ -401,12 +406,14 @@
 <translation id="8152119955266188852">Pritisnuli ste prečac za povećalo za cijeli zaslon. Želite li ga uključiti?</translation>
 <translation id="8190698733819146287">Prilagodi jezike i unos...</translation>
 <translation id="8192202700944119416">Obavijesti su skrivene.</translation>
+<translation id="8236042855478648955">Vrijeme je za pauzu</translation>
 <translation id="8261506727792406068">Izbriši</translation>
 <translation id="8297006494302853456">Slab</translation>
 <translation id="8308637677604853869">Prethodni izbornik</translation>
 <translation id="8341451174107936385"><ph name="UNLOCK_MORE_FEATURES" />  <ph name="GET_STARTED" /></translation>
 <translation id="8351131234907093545">Izrada bilješke</translation>
 <translation id="8392451568018454956">Izbornik opcija za korisnika <ph name="USER_EMAIL_ADDRESS" /></translation>
+<translation id="8394567579869570560">Tvoj je roditelj zaključao ovaj uređaj</translation>
 <translation id="8406981827175133772">Povećalo za cijeli zaslon</translation>
 <translation id="8425213833346101688">Promijeni</translation>
 <translation id="8427213022735114808">Diktat šalje Googleu audiopodatke o vašem glasu kako biste mogli unositi tekst govorom u bilo koje tekstno polje.</translation>
@@ -436,7 +443,6 @@
 <translation id="8814190375133053267">Wi-Fi</translation>
 <translation id="8825534185036233643">Zrcaljenje s više od dva zaslona nije podržano.</translation>
 <translation id="8828714802988429505">90°</translation>
-<translation id="8841375032071747811">Gumb Natrag</translation>
 <translation id="8843682306134542540">Prebacivanje zaključavanja rotacije. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Pretraživanje + Esc</translation>
 <translation id="8870509716567206129">Aplikacija ne podržava podijeljeni zaslon.</translation>
@@ -463,6 +469,7 @@
 <translation id="9201131092683066720">Baterija je <ph name="PERCENTAGE" />% puna.</translation>
 <translation id="9210037371811586452">Izlaz iz načina jedinstvene radne površine</translation>
 <translation id="9215934040295798075">Postavi pozadinu</translation>
+<translation id="921989828232331238">Tvoj je roditelj zaključao ovaj uređaj za danas</translation>
 <translation id="923686485342484400">Pritisnite Ctrl, Shift i Q dvaput da biste se odjavili.</translation>
 <translation id="938963181863597773">Što je na mojem kalendaru?</translation>
 <translation id="945522503751344254">Slanje povratnih informacija</translation>
diff --git a/ash/strings/ash_strings_hu.xtb b/ash/strings/ash_strings_hu.xtb
index 612a3155..7276711d 100644
--- a/ash/strings/ash_strings_hu.xtb
+++ b/ash/strings/ash_strings_hu.xtb
@@ -21,6 +21,7 @@
 <translation id="1270290102613614947">Képernyő-billentyűzet kikapcsolva</translation>
 <translation id="1272079795634619415">Leállítás</translation>
 <translation id="1279938420744323401"><ph name="DISPLAY_NAME" /> (<ph name="ANNOTATION" />)</translation>
+<translation id="1289185460362160437">Térjen vissza ekkor: <ph name="COME_BACK_DAY_OF_WEEK" />, <ph name="COME_BACK_TIME" />.</translation>
 <translation id="1290331692326790741">Gyenge jel</translation>
 <translation id="1293264513303784526">C típusú USB-vel kompatibilis eszköz (bal oldali port)</translation>
 <translation id="1294929383540927798">A lezárási képernyő értesítési beállításainak módosítása</translation>
@@ -98,6 +99,7 @@
 <translation id="2501920221385095727">Beragadó billentyűk</translation>
 <translation id="2509468283778169019">A CAPS LOCK be van kapcsolva</translation>
 <translation id="2532589005999780174">Nagy kontrasztú mód</translation>
+<translation id="255671100581129685">A Google Segéd nem áll rendelkezésre nyilvános munkamenetben.</translation>
 <translation id="2575685495496069081">A többfiókos bejelentkezés le van tiltva</translation>
 <translation id="2582112259361606227">Újraindítás és frissítés</translation>
 <translation id="2597972630681408282">Éjszakai fény: <ph name="NIGHT_LIGHT_STATUS" /></translation>
@@ -129,6 +131,7 @@
 <translation id="3000461861112256445">Monó hang</translation>
 <translation id="3009178788565917040">Kimenet</translation>
 <translation id="3019353588588144572">Akkumulátor teljes feltöltéséig hátralévő idő: <ph name="TIME_REMAINING" /></translation>
+<translation id="3055162170959710888">Az eszköz mai használatának teljes időtartama: <ph name="USED_TIME" /></translation>
 <translation id="3077734595579995578">shift</translation>
 <translation id="3081696990447829002">Menü kibontása</translation>
 <translation id="3087734570205094154">Alja</translation>
@@ -215,6 +218,7 @@
 <translation id="4659419629803378708">ChromeVox bekapcsolva</translation>
 <translation id="4734965478015604180">Vízszintes</translation>
 <translation id="476166673298332917">Az eszköz rendszergazdája hozzáfér az összes tevékenységhez, mindennemű kommunikációhoz és a jelszavakhoz.</translation>
+<translation id="4774338217796918551">Térjen vissza holnap, ekkor: <ph name="COME_BACK_TIME" />.</translation>
 <translation id="4776917500594043016">A(z) <ph name="USER_EMAIL_ADDRESS" /> fiókhoz tartozó jelszó</translation>
 <translation id="4778095205580009397">A Google Segéd nem áll rendelkezésre bemutató munkamenetben.</translation>
 <translation id="479989351350248267">search</translation>
@@ -229,6 +233,7 @@
 <translation id="4918086044614829423">Elfogadás</translation>
 <translation id="4924411785043111640">Újraindítás és visszaállítás</translation>
 <translation id="4961318399572185831">Képernyő átküldése</translation>
+<translation id="5030687792513154421">Lejárt az idő</translation>
 <translation id="5083553833479578423">Hozzáférés a Segéd további funkcióihoz</translation>
 <translation id="5136175204352732067">Új billentyűzet lett csatlakoztatva</translation>
 <translation id="5168181903108465623">Cast-eszközök állnak rendelkezésre</translation>
@@ -277,7 +282,6 @@
 <translation id="598882571027504733">A frissítés lekéréséhez indítsa újra a Chromebookot a csatlakoztatott billentyűzet segítségével.</translation>
 <translation id="5992218262414051481">Nagy kontrasztú mód bekapcsolva. Kikapcsoláshoz nyomja le ismét a Ctrl+Keresés+H billentyűparancsot.</translation>
 <translation id="6018164090099858612">Kilépés a tükrözési módból</translation>
-<translation id="6040143037577758943">Bezárás</translation>
 <translation id="6043212731627905357">Ez a monitor nem illik össze <ph name="DEVICE_TYPE" />-eszközével (a monitor nem támogatott).</translation>
 <translation id="6043994281159824495">Kijelentkezés most</translation>
 <translation id="6047696787498798094">A képernyőmegosztás leáll, amikor másik felhasználóra vált. Folytatja?</translation>
@@ -360,6 +364,7 @@
 <translation id="7510334386202674593">Ctrl+Shift+L</translation>
 <translation id="7526573455193969409">Elképzelhető, hogy figyelik a hálózatot</translation>
 <translation id="7536035074519304529">IP-cím: <ph name="ADDRESS" /></translation>
+<translation id="7548434653388805669">Ideje aludni</translation>
 <translation id="7561014039265304140">A(z) <ph name="DISPLAY_NAME" /> nem támogatja a következő felbontást: <ph name="SPECIFIED_RESOLUTION" />. A felbontás megváltozott erre: <ph name="FALLBACK_RESOLUTION" /></translation>
 <translation id="7562368315689366235">Hangulatjel-paletta</translation>
 <translation id="7564874036684306347">Az ablakok másik asztalra történő áthelyezése váratlan viselkedést eredményezhet. Az ezt követő értesítéseket, ablakokat és párbeszédpaneleket a rendszer megoszthatja az asztalok között.</translation>
@@ -402,12 +407,14 @@
 <translation id="8152119955266188852">Lenyomta a teljes képernyős nagyító billentyűparancsát. Bekapcsolja a funkciót?</translation>
 <translation id="8190698733819146287">Nyelvek és beviteli módok személyre szabása...</translation>
 <translation id="8192202700944119416">Az értesítések el vannak rejtve.</translation>
+<translation id="8236042855478648955">Ideje pihenni</translation>
 <translation id="8261506727792406068">Törlés</translation>
 <translation id="8297006494302853456">Gyenge</translation>
 <translation id="8308637677604853869">Előző menü</translation>
 <translation id="8341451174107936385"><ph name="UNLOCK_MORE_FEATURES" />  <ph name="GET_STARTED" /></translation>
 <translation id="8351131234907093545">Jegyzet létrehozása</translation>
 <translation id="8392451568018454956"><ph name="USER_EMAIL_ADDRESS" /> beállításainak menüje</translation>
+<translation id="8394567579869570560">A szülőd zárolta az eszközt</translation>
 <translation id="8406981827175133772">Teljes képernyős nagyító</translation>
 <translation id="8425213833346101688">Módosítás</translation>
 <translation id="8427213022735114808">A diktálás elküldi a hangját a Google számára, hogy bármely szövegmezőbe írhasson hangvezérléssel.</translation>
@@ -437,7 +444,6 @@
 <translation id="8814190375133053267">Wi-Fi</translation>
 <translation id="8825534185036233643">A böngésző nem támogatja a tükrözést kettőnél több megjelenítő esetén.</translation>
 <translation id="8828714802988429505">90°</translation>
-<translation id="8841375032071747811">Vissza gomb</translation>
 <translation id="8843682306134542540">Váltás a forgatás zárolásának állapotai közt. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Keresés+Esc</translation>
 <translation id="8870509716567206129">Az alkalmazás nem támogatja az osztott képernyős nézetet.</translation>
@@ -464,6 +470,7 @@
 <translation id="9201131092683066720">Az akkumulátor töltöttsége: <ph name="PERCENTAGE" />%.</translation>
 <translation id="9210037371811586452">Kilépés az Egységes asztali módból</translation>
 <translation id="9215934040295798075">Háttérkép beállítása</translation>
+<translation id="921989828232331238">A szülőd zárolta az eszközt mára</translation>
 <translation id="923686485342484400">Nyomja meg a Ctrl Shift Q billentyűkombinációt kétszer a kijelentkezéshez.</translation>
 <translation id="938963181863597773">Mi van a naptáramban?</translation>
 <translation id="945522503751344254">Visszajelzés küldése</translation>
diff --git a/ash/strings/ash_strings_id.xtb b/ash/strings/ash_strings_id.xtb
index 203e9c87..feadadc 100644
--- a/ash/strings/ash_strings_id.xtb
+++ b/ash/strings/ash_strings_id.xtb
@@ -21,6 +21,7 @@
 <translation id="1270290102613614947">Keyboard di layar dinonaktifkan</translation>
 <translation id="1272079795634619415">Berhenti</translation>
 <translation id="1279938420744323401"><ph name="DISPLAY_NAME" /> (<ph name="ANNOTATION" />)</translation>
+<translation id="1289185460362160437">Coba lagi hari <ph name="COME_BACK_DAY_OF_WEEK" /> pukul <ph name="COME_BACK_TIME" />.</translation>
 <translation id="1290331692326790741">Sinyal lemah</translation>
 <translation id="1293264513303784526">Perangkat USB-C (port sebelah kiri)</translation>
 <translation id="1294929383540927798">Ubah setelan notifikasi layar kunci</translation>
@@ -98,6 +99,7 @@
 <translation id="2501920221385095727">Tombol sticky</translation>
 <translation id="2509468283778169019">CAPS LOCK aktif</translation>
 <translation id="2532589005999780174">Mode kontras tinggi</translation>
+<translation id="255671100581129685">Asisten Google tidak tersedia dalam sesi publik.</translation>
 <translation id="2575685495496069081">Fitur login multipel telah dinonaktifkan</translation>
 <translation id="2582112259361606227">Nyalakan ulang untuk mengupdate</translation>
 <translation id="2597972630681408282">Cahaya Malam: <ph name="NIGHT_LIGHT_STATUS" /></translation>
@@ -129,6 +131,7 @@
 <translation id="3000461861112256445">Audio mono</translation>
 <translation id="3009178788565917040">Keluaran</translation>
 <translation id="3019353588588144572">Waktu yang tersisa hingga baterai terisi penuh, <ph name="TIME_REMAINING" /></translation>
+<translation id="3055162170959710888">Anda menggunakan perangkat ini selama <ph name="USED_TIME" /> hari ini</translation>
 <translation id="3077734595579995578">shift</translation>
 <translation id="3081696990447829002">Luaskan menu</translation>
 <translation id="3087734570205094154">Bawah</translation>
@@ -214,6 +217,7 @@
 <translation id="4659419629803378708">ChromeVox diaktifkan</translation>
 <translation id="4734965478015604180">Horizontal</translation>
 <translation id="476166673298332917">Administrator perangkat ini memiliki akses ke semua aktivitas, termasuk sandi dan komunikasi.</translation>
+<translation id="4774338217796918551">Coba lagi besok pukul <ph name="COME_BACK_TIME" />.</translation>
 <translation id="4776917500594043016">Sandi untuk <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="4778095205580009397">Asisten Google tidak tersedia dalam sesi demo.</translation>
 <translation id="479989351350248267">search</translation>
@@ -228,6 +232,7 @@
 <translation id="4918086044614829423">Terima</translation>
 <translation id="4924411785043111640">Mulai ulang dan setel ulang</translation>
 <translation id="4961318399572185831">Transmisikan layar</translation>
+<translation id="5030687792513154421">Waktu habis</translation>
 <translation id="5083553833479578423">Dapatkan lebih banyak fitur Asisten.</translation>
 <translation id="5136175204352732067">Keyboard yang berbeda terhubung</translation>
 <translation id="5168181903108465623">Perangkat transmisi tersedia</translation>
@@ -276,7 +281,6 @@
 <translation id="598882571027504733">Untuk mendapatkan update, nyalakan ulang Chromebook dengan keyboard dalam keadaan terhubung.</translation>
 <translation id="5992218262414051481">Mode Kontras Tinggi diaktifkan. Tekan Ctrl+Search+H lagi untuk menonaktifkannya.</translation>
 <translation id="6018164090099858612">Keluar dari mode transmisi</translation>
-<translation id="6040143037577758943">Tutup</translation>
 <translation id="6043212731627905357">Monitor ini tidak dapat berfungsi dengan <ph name="DEVICE_TYPE" /> Anda (monitor tidak didukung).</translation>
 <translation id="6043994281159824495">Keluar sekarang</translation>
 <translation id="6047696787498798094">Berbagi layar akan berhenti saat Anda beralih ke pengguna lain. Ingin melanjutkan?</translation>
@@ -294,7 +298,7 @@
 <translation id="6297287540776456956">Gunakan stilus untuk memilih wilayah</translation>
 <translation id="6310121235600822547"><ph name="DISPLAY_NAME" /> diputar ke <ph name="ROTATION" /></translation>
 <translation id="632744581670418035">Hamparan keyboard</translation>
-<translation id="6344698853700675736">Beralih Cahaya Malam</translation>
+<translation id="6344698853700675736">Aktifkan/Nonaktifkan Cahaya Malam</translation>
 <translation id="6376931439017688372">Bluetooth aktif</translation>
 <translation id="639644700271529076">CAPS LOCK tidak aktif</translation>
 <translation id="6406704438230478924">altgr</translation>
@@ -359,6 +363,7 @@
 <translation id="7510334386202674593">Ctrl+Shift+L</translation>
 <translation id="7526573455193969409">Jaringan mungkin dipantau</translation>
 <translation id="7536035074519304529">Alamat IP: <ph name="ADDRESS" /></translation>
+<translation id="7548434653388805669">Waktunya tidur</translation>
 <translation id="7561014039265304140"><ph name="DISPLAY_NAME" /> tidak mendukung <ph name="SPECIFIED_RESOLUTION" />. Resolusi diubah menjadi <ph name="FALLBACK_RESOLUTION" /></translation>
 <translation id="7562368315689366235">Palet emoji</translation>
 <translation id="7564874036684306347">Memindahkan jendela ke desktop lain dapat mengakibatkan perilaku tak terduga. Notifikasi, jendela, dan dialog berikutnya dapat terpisah antardesktop.</translation>
@@ -401,12 +406,14 @@
 <translation id="8152119955266188852">Anda menekan pintasan untuk kaca pembesar layar penuh. Ingin mengaktifkannya?</translation>
 <translation id="8190698733819146287">Sesuaikan bahasa dan masukan...</translation>
 <translation id="8192202700944119416">Notifikasi disembunyikan.</translation>
+<translation id="8236042855478648955">Waktunya beristirahat</translation>
 <translation id="8261506727792406068">Hapus</translation>
 <translation id="8297006494302853456">Lemah</translation>
 <translation id="8308637677604853869">Menu sebelumnya</translation>
 <translation id="8341451174107936385"><ph name="UNLOCK_MORE_FEATURES" />  <ph name="GET_STARTED" /></translation>
 <translation id="8351131234907093545">Buat catatan</translation>
 <translation id="8392451568018454956">Menu opsi untuk <ph name="USER_EMAIL_ADDRESS" /></translation>
+<translation id="8394567579869570560">Orang tua Anda mengunci perangkat ini</translation>
 <translation id="8406981827175133772">Kaca Pembesar Layar Penuh</translation>
 <translation id="8425213833346101688">Ubah</translation>
 <translation id="8427213022735114808">Fitur Pengetikan suara mengirimkan suara Anda ke Google untuk memungkinkan pengetikan menggunakan suara ke kolom teks.</translation>
@@ -436,7 +443,6 @@
 <translation id="8814190375133053267">Wi-Fi</translation>
 <translation id="8825534185036233643">Pencerminan dengan lebih dari dua layar tidak didukung.</translation>
 <translation id="8828714802988429505">90°</translation>
-<translation id="8841375032071747811">Tombol kembali</translation>
 <translation id="8843682306134542540">Alihkan kunci rotasi. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Search+Esc</translation>
 <translation id="8870509716567206129">Aplikasi tidak mendukung layar terpisah.</translation>
@@ -463,6 +469,7 @@
 <translation id="9201131092683066720">Baterai terisi <ph name="PERCENTAGE" />%.</translation>
 <translation id="9210037371811586452">Keluar dari mode desktop terpadu</translation>
 <translation id="9215934040295798075">Setel wallpaper</translation>
+<translation id="921989828232331238">Orang tua Anda mengunci perangkat untuk hari ini</translation>
 <translation id="923686485342484400">Tekan Control Shift Q dua kali untuk keluar.</translation>
 <translation id="938963181863597773">Apa saja daftar acara di kalender saya?</translation>
 <translation id="945522503751344254">Kirim masukan</translation>
diff --git a/ash/strings/ash_strings_it.xtb b/ash/strings/ash_strings_it.xtb
index 792353a..0c8d02ba 100644
--- a/ash/strings/ash_strings_it.xtb
+++ b/ash/strings/ash_strings_it.xtb
@@ -21,6 +21,7 @@
 <translation id="1270290102613614947">Tastiera sullo schermo disattivata</translation>
 <translation id="1272079795634619415">Interrompi</translation>
 <translation id="1279938420744323401"><ph name="DISPLAY_NAME" /> (<ph name="ANNOTATION" />)</translation>
+<translation id="1289185460362160437">Puoi riprendere <ph name="COME_BACK_DAY_OF_WEEK" /> alle ore <ph name="COME_BACK_TIME" />.</translation>
 <translation id="1290331692326790741">Segnale debole</translation>
 <translation id="1293264513303784526">Dispositivo USB-C (porta a sinistra)</translation>
 <translation id="1294929383540927798">Modifica le impostazioni per le notifiche della schermata di blocco</translation>
@@ -98,6 +99,7 @@
 <translation id="2501920221385095727">Tasti permanenti</translation>
 <translation id="2509468283778169019">BLOC MAIUSC è attivo</translation>
 <translation id="2532589005999780174">Modalità ad alto contrasto</translation>
+<translation id="255671100581129685">L'Assistente Google non è disponibile in una sessione pubblica.</translation>
 <translation id="2575685495496069081">L'accesso simultaneo è stato disattivato</translation>
 <translation id="2582112259361606227">Riavvia per aggiornare</translation>
 <translation id="2597972630681408282">Luminosità notturna: <ph name="NIGHT_LIGHT_STATUS" /></translation>
@@ -129,6 +131,7 @@
 <translation id="3000461861112256445">Audio in formato mono</translation>
 <translation id="3009178788565917040">Uscita</translation>
 <translation id="3019353588588144572">Tempo rimanente al caricamento completo della batteria: <ph name="TIME_REMAINING" /></translation>
+<translation id="3055162170959710888">Oggi hai utilizzato questo dispositivo per <ph name="USED_TIME" /></translation>
 <translation id="3077734595579995578">maiusc</translation>
 <translation id="3081696990447829002">Espandi il menu</translation>
 <translation id="3087734570205094154">In basso</translation>
@@ -215,6 +218,7 @@
 <translation id="4659419629803378708">ChromeVox attivato</translation>
 <translation id="4734965478015604180">Orizzontale</translation>
 <translation id="476166673298332917">L'amministratore di questo dispositivo ha accesso a tutte le attività, comprese password e comunicazioni.</translation>
+<translation id="4774338217796918551">Puoi riprendere domani alle ore <ph name="COME_BACK_TIME" />.</translation>
 <translation id="4776917500594043016">Password per <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="4778095205580009397">L'Assistente Google non è disponibile in una sessione demo.</translation>
 <translation id="479989351350248267">ricerca</translation>
@@ -229,6 +233,7 @@
 <translation id="4918086044614829423">Accetto</translation>
 <translation id="4924411785043111640">Riavvia e reimposta</translation>
 <translation id="4961318399572185831">Trasmetti schermo</translation>
+<translation id="5030687792513154421">Tempo scaduto</translation>
 <translation id="5083553833479578423">Sblocca altre funzioni dell'assistente.</translation>
 <translation id="5136175204352732067">Tastiera diversa collegata</translation>
 <translation id="5168181903108465623">Dispositivi di trasmissione disponibili</translation>
@@ -277,7 +282,6 @@
 <translation id="598882571027504733">Per scaricare l'aggiornamento, riavvia il Chromebook con la tastiera collegata.</translation>
 <translation id="5992218262414051481">Modalità ad alto contrasto attivata. Premi di nuovo CTRL + tasto per la ricerca + H per disattivarla.</translation>
 <translation id="6018164090099858612">Uscita dalla modalità di mirroring</translation>
-<translation id="6040143037577758943">Chiudi</translation>
 <translation id="6043212731627905357">Questo monitor non è compatibile con il tuo dispositivo <ph name="DEVICE_TYPE" /> (il monitor non è supportato).</translation>
 <translation id="6043994281159824495">Esci ora</translation>
 <translation id="6047696787498798094">La condivisione dello schermo verrà interrotta se cambi utente. Vuoi continuare?</translation>
@@ -360,6 +364,7 @@
 <translation id="7510334386202674593">CTRL+MAIUSC+L</translation>
 <translation id="7526573455193969409">La rete potrebbe essere monitorata</translation>
 <translation id="7536035074519304529">Indirizzo IP: <ph name="ADDRESS" /></translation>
+<translation id="7548434653388805669">È ora di andare a letto</translation>
 <translation id="7561014039265304140"><ph name="DISPLAY_NAME" /> non supporta <ph name="SPECIFIED_RESOLUTION" />. La risoluzione è stata modificata in <ph name="FALLBACK_RESOLUTION" /></translation>
 <translation id="7562368315689366235">Riquadro di emoji</translation>
 <translation id="7564874036684306347">Lo spostamento delle finestre su un altro desktop potrebbe causare comportamenti imprevisti. Le finestre, le notifiche e le finestre di dialogo successive potrebbero essere divise tra i desktop.</translation>
@@ -402,12 +407,14 @@
 <translation id="8152119955266188852">Hai premuto la scorciatoia per la lente d'ingrandimento a schermo intero. Vuoi attivarla?</translation>
 <translation id="8190698733819146287">Personalizza lingue e immissione...</translation>
 <translation id="8192202700944119416">Le notifiche sono nascoste.</translation>
+<translation id="8236042855478648955">È ora di fare una pausa</translation>
 <translation id="8261506727792406068">Elimina</translation>
 <translation id="8297006494302853456">Debole</translation>
 <translation id="8308637677604853869">Menu precedente</translation>
 <translation id="8341451174107936385"><ph name="UNLOCK_MORE_FEATURES" />  <ph name="GET_STARTED" /></translation>
 <translation id="8351131234907093545">Crea nota</translation>
 <translation id="8392451568018454956">Menu Opzioni per <ph name="USER_EMAIL_ADDRESS" /></translation>
+<translation id="8394567579869570560">Uno dei tuoi genitori ha bloccato questo dispositivo</translation>
 <translation id="8406981827175133772">Lente d'ingrandimento a schermo intero</translation>
 <translation id="8425213833346101688">Cambia</translation>
 <translation id="8427213022735114808">La dettatura invia i tuoi dati audio a Google per consentire la digitazione vocale in tutti i campi di testo.</translation>
@@ -437,7 +444,6 @@
 <translation id="8814190375133053267">Wi-Fi</translation>
 <translation id="8825534185036233643">Il mirroring con più di due display non è supportato.</translation>
 <translation id="8828714802988429505">90°</translation>
-<translation id="8841375032071747811">Pulsante Indietro</translation>
 <translation id="8843682306134542540">Attiva/disattiva blocco rotazione. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Tasto di ricerca+ESC</translation>
 <translation id="8870509716567206129">L'app non supporta la modalità Schermo diviso.</translation>
@@ -464,6 +470,7 @@
 <translation id="9201131092683066720">Percentuale di caricamento della batteria: <ph name="PERCENTAGE" />%.</translation>
 <translation id="9210037371811586452">Uscita dalla modalità Desktop unificato</translation>
 <translation id="9215934040295798075">Imposta sfondo</translation>
+<translation id="921989828232331238">Uno dei tuoi genitori ha bloccato il tuo dispositivo per tutto il giorno</translation>
 <translation id="923686485342484400">Premi due volte Control Maiusc Q per uscire.</translation>
 <translation id="938963181863597773">Cosa è segnato sul mio calendario?</translation>
 <translation id="945522503751344254">Invia feedback</translation>
diff --git a/ash/strings/ash_strings_iw.xtb b/ash/strings/ash_strings_iw.xtb
index 088d19bf..c3da5c6 100644
--- a/ash/strings/ash_strings_iw.xtb
+++ b/ash/strings/ash_strings_iw.xtb
@@ -21,6 +21,7 @@
 <translation id="1270290102613614947">המקלדת שמופיעה במסך מושבתת</translation>
 <translation id="1272079795634619415">הפסק</translation>
 <translation id="1279938420744323401"><ph name="DISPLAY_NAME" />‏ (<ph name="ANNOTATION" />)</translation>
+<translation id="1289185460362160437">אפשר לחזור ביום <ph name="COME_BACK_DAY_OF_WEEK" /> בשעה <ph name="COME_BACK_TIME" />.</translation>
 <translation id="1290331692326790741">אות חלש</translation>
 <translation id="1293264513303784526">‏מכשיר עם יציאת USB-C (יציאה שמאלית)</translation>
 <translation id="1294929383540927798">שינוי ההגדרות של ההתראות במסך הנעילה</translation>
@@ -98,6 +99,7 @@
 <translation id="2501920221385095727">מקשים דביקים</translation>
 <translation id="2509468283778169019">‏CAPS LOCK מופעל</translation>
 <translation id="2532589005999780174">מצב ניגודיות גבוהה</translation>
+<translation id="255671100581129685">‏Google Assistant אינו זמין בסשן ציבורי.</translation>
 <translation id="2575685495496069081">הכניסה עם מספר חשבונות הושבתה</translation>
 <translation id="2582112259361606227">צריך להפעיל מחדש כדי לעדכן</translation>
 <translation id="2597972630681408282">תאורת לילה: <ph name="NIGHT_LIGHT_STATUS" /></translation>
@@ -129,6 +131,7 @@
 <translation id="3000461861112256445">אודיו במונו</translation>
 <translation id="3009178788565917040">פלט</translation>
 <translation id="3019353588588144572">הזמן שנותר עד לטעינה מלאה של הסוללה, <ph name="TIME_REMAINING" /></translation>
+<translation id="3055162170959710888">השתמשת היום במכשיר הזה במשך <ph name="USED_TIME" /></translation>
 <translation id="3077734595579995578">shift</translation>
 <translation id="3081696990447829002">הרחבת התפריט</translation>
 <translation id="3087734570205094154">תחתית</translation>
@@ -214,6 +217,7 @@
 <translation id="4659419629803378708">‏ChromeVox הופעל</translation>
 <translation id="4734965478015604180">אופקי</translation>
 <translation id="476166673298332917">למנהל המכשיר הזה יש גישה אל כל הפעילות, כולל סיסמאות ותקשורת.</translation>
+<translation id="4774338217796918551">אפשר לחזור מחר בשעה <ph name="COME_BACK_TIME" />.</translation>
 <translation id="4776917500594043016">סיסמה עבור <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="4778095205580009397">‏Google Assistant אינו זמין בסשן הדגמה.</translation>
 <translation id="479989351350248267">Search</translation>
@@ -228,6 +232,7 @@
 <translation id="4918086044614829423">אשר</translation>
 <translation id="4924411785043111640">הפעלה מחדש ואתחול</translation>
 <translation id="4961318399572185831">העברת מסך</translation>
+<translation id="5030687792513154421">נגמר הזמן</translation>
 <translation id="5083553833479578423">‏אפשר להפעיל תכונות Assistant נוספות.</translation>
 <translation id="5136175204352732067">חוברה מקלדת אחרת</translation>
 <translation id="5168181903108465623">מכשירי העברה זמינים</translation>
@@ -276,7 +281,6 @@
 <translation id="598882571027504733">‏כדי להתקין את העדכון, יש להפעיל מחדש את ה-Chromebook כשהמקלדת מחוברת.</translation>
 <translation id="5992218262414051481">‏מצב ניגודיות גבוהה פועל. הקש שוב על Ctrl+Search+H כדי לכבות אותו.</translation>
 <translation id="6018164090099858612">יציאה ממצב שיקוף</translation>
-<translation id="6040143037577758943">סגור</translation>
 <translation id="6043212731627905357">אין כימיה בין הצג הזה למכשיר ה-<ph name="DEVICE_TYPE" /> שלך (המכשיר לא תומך בצג).</translation>
 <translation id="6043994281159824495">צא עכשיו</translation>
 <translation id="6047696787498798094">שיתוף המסך יפסיק ברגע שתעבור למשתמש אחר. האם ברצונך להמשיך?</translation>
@@ -294,7 +298,7 @@
 <translation id="6297287540776456956">בחר אזור באמצעות הסטיילוס</translation>
 <translation id="6310121235600822547">בוצע סיבוב של <ph name="DISPLAY_NAME" /> אל <ph name="ROTATION" /></translation>
 <translation id="632744581670418035">שכבת-על של מקלדת</translation>
-<translation id="6344698853700675736">החלפת מצב של תאורת לילה</translation>
+<translation id="6344698853700675736">הפעלה או כיבוי של תאורת הלילה</translation>
 <translation id="6376931439017688372">‏Bluetooth פועל</translation>
 <translation id="639644700271529076">‏CAPS LOCK כבוי</translation>
 <translation id="6406704438230478924">altgr</translation>
@@ -359,6 +363,7 @@
 <translation id="7510334386202674593">Ctrl+Shift+L</translation>
 <translation id="7526573455193969409">ייתכן שהרשת מנוטרת</translation>
 <translation id="7536035074519304529">‏כתובת IP: <ph name="ADDRESS" /></translation>
+<translation id="7548434653388805669">קדימה, לילה טוב!</translation>
 <translation id="7561014039265304140"><ph name="DISPLAY_NAME" /> אינו תומך ב-<ph name="SPECIFIED_RESOLUTION" />. הרזולוציה שונתה ל-<ph name="FALLBACK_RESOLUTION" /></translation>
 <translation id="7562368315689366235">לוח סמלי אמוג'י</translation>
 <translation id="7564874036684306347">העברת חלונות לשולחן עבודה אחר עלולה לגרום להתנהגות בלתי צפויה.
@@ -403,12 +408,14 @@
 <translation id="8152119955266188852">לחצת על מקש הקיצור של זכוכית מגדלת במסך מלא. להפעיל אותה?</translation>
 <translation id="8190698733819146287">התאם אישית שפה וקלט...</translation>
 <translation id="8192202700944119416">ההודעות מוסתרות.</translation>
+<translation id="8236042855478648955">הגיע הזמן לקחת הפסקה</translation>
 <translation id="8261506727792406068">מחיקה</translation>
 <translation id="8297006494302853456">חלש</translation>
 <translation id="8308637677604853869">התפריט הקודם</translation>
 <translation id="8341451174107936385"><ph name="UNLOCK_MORE_FEATURES" />  <ph name="GET_STARTED" /></translation>
 <translation id="8351131234907093545">יצירת הערה</translation>
 <translation id="8392451568018454956">תפריט אפשרויות עבור <ph name="USER_EMAIL_ADDRESS" /></translation>
+<translation id="8394567579869570560">הורה נעל את המכשיר הזה</translation>
 <translation id="8406981827175133772">זכוכית מגדלת במסך מלא</translation>
 <translation id="8425213833346101688">שנה</translation>
 <translation id="8427213022735114808">‏הכתבה שולחת הקלטה של הקול שלך אל Google כדי לאפשר הקלדה קולית בתיבת טקסט כלשהי.</translation>
@@ -438,7 +445,6 @@
 <translation id="8814190375133053267">Wi-Fi</translation>
 <translation id="8825534185036233643">אין תמיכה בשיקוף מסך עם יותר משני מסכים.</translation>
 <translation id="8828714802988429505">90°</translation>
-<translation id="8841375032071747811">לחצן 'הקודם'</translation>
 <translation id="8843682306134542540">הפעלה או השבתה של נעילת הסיבוב. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Search+Esc</translation>
 <translation id="8870509716567206129">האפליקציה אינה תומכת במסך מפוצל.</translation>
@@ -467,6 +473,7 @@
 <translation id="9201131092683066720">‏הסוללה טעונה ברמה של ‎<ph name="PERCENTAGE" />%‎.</translation>
 <translation id="9210037371811586452">‏יציאה ממצב Unified Desktop</translation>
 <translation id="9215934040295798075">הגדר טפט</translation>
+<translation id="921989828232331238">הורה נעל את המכשיר שלך להיום</translation>
 <translation id="923686485342484400">‏הקש פעמיים על Control Shift Q כדי לצאת.</translation>
 <translation id="938963181863597773">אירועים קרובים ביומן שלי</translation>
 <translation id="945522503751344254"> שליחת משוב</translation>
diff --git a/ash/strings/ash_strings_ja.xtb b/ash/strings/ash_strings_ja.xtb
index 3eedc3f..e8f8e41 100644
--- a/ash/strings/ash_strings_ja.xtb
+++ b/ash/strings/ash_strings_ja.xtb
@@ -276,7 +276,6 @@
 <translation id="598882571027504733">アップデートを取得するには、キーボードを接続した状態で Chromebook を再起動してください。</translation>
 <translation id="5992218262414051481">ハイコントラスト モードが有効になりました。無効にするには、Ctrl+検索+H キーをもう一度押します。</translation>
 <translation id="6018164090099858612">ミラーモードを終了しています</translation>
-<translation id="6040143037577758943">閉じる</translation>
 <translation id="6043212731627905357">このモニターは <ph name="DEVICE_TYPE" /> では使用できません(サポートされていません)。</translation>
 <translation id="6043994281159824495">ログアウト</translation>
 <translation id="6047696787498798094">別のユーザーに切り替えると画面の共有は解除されます。続行してもよろしいですか?</translation>
@@ -294,6 +293,7 @@
 <translation id="6297287540776456956">タッチペンを使って部分を選択してください</translation>
 <translation id="6310121235600822547"><ph name="DISPLAY_NAME" /> を <ph name="ROTATION" /> に回転しました</translation>
 <translation id="632744581670418035">キーボード オーバーレイ</translation>
+<translation id="6344698853700675736">夜間モードをオンまたはオフにします</translation>
 <translation id="6376931439017688372">Bluetooth がオンです</translation>
 <translation id="639644700271529076">CapsLock 機能はオフになっています</translation>
 <translation id="6406704438230478924">altgr</translation>
@@ -436,7 +436,6 @@
 <translation id="8814190375133053267">Wi-Fi</translation>
 <translation id="8825534185036233643">2 台を超えるディスプレイのミラーリングはサポートされていません。</translation>
 <translation id="8828714802988429505">90°</translation>
-<translation id="8841375032071747811">戻るボタン</translation>
 <translation id="8843682306134542540">画面の向きの固定を切り替えます。<ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Search+Esc</translation>
 <translation id="8870509716567206129">アプリで分割画面がサポートされていません。</translation>
@@ -455,7 +454,7 @@
 <translation id="9079731690316798640">Wi-Fi: <ph name="ADDRESS" /></translation>
 <translation id="9080206825613744995">マイクは使用中です。</translation>
 <translation id="9089416786594320554">入力方法</translation>
-<translation id="9091626656156419976">ディスプレイ「<ph name="DISPLAY_NAME" />」を削除しました</translation>
+<translation id="9091626656156419976">ディスプレイ「<ph name="DISPLAY_NAME" />」が取り外されました</translation>
 <translation id="9151726767154816831">更新するには、再起動して Powerwash を実行してください</translation>
 <translation id="9179259655489829027">この機能を使用すると、パスワードを入力せずにログイン ユーザーにすばやくアクセスできます。この機能は信頼できるアカウントにのみ使用してください。</translation>
 <translation id="9193626018745640770">不明な受信デバイスにキャストしています</translation>
diff --git a/ash/strings/ash_strings_kn.xtb b/ash/strings/ash_strings_kn.xtb
index 9b05f92..6ce7fea81 100644
--- a/ash/strings/ash_strings_kn.xtb
+++ b/ash/strings/ash_strings_kn.xtb
@@ -21,6 +21,7 @@
 <translation id="1270290102613614947">ಆನ್ ಸ್ಕ್ರೀನ್ ಕೀಬೋರ್ಡ್ ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ</translation>
 <translation id="1272079795634619415">ನಿಲ್ಲಿಸಿ</translation>
 <translation id="1279938420744323401"><ph name="DISPLAY_NAME" /> (<ph name="ANNOTATION" />)</translation>
+<translation id="1289185460362160437"><ph name="COME_BACK_DAY_OF_WEEK" /> ರಂದು <ph name="COME_BACK_TIME" /> ಸಮಯಕ್ಕೆ ಹಿಂತಿರುಗಿ.</translation>
 <translation id="1290331692326790741">ದುರ್ಬಲ ಸಿಗ್ನಲ್</translation>
 <translation id="1293264513303784526">USB-C ಸಾಧನ (ಎಡ ಪೋರ್ಟ್)</translation>
 <translation id="1294929383540927798">ಲಾಕ್-ಸ್ಕ್ರೀನ್ ಅಧಿಸೂಚನೆ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಬದಲಾಯಿಸಿ</translation>
@@ -98,6 +99,7 @@
 <translation id="2501920221385095727">ಸ್ಟಿಕಿ ಕೀಗಳು</translation>
 <translation id="2509468283778169019">CAPS LOCK ಆನ್ ಆಗಿದೆ</translation>
 <translation id="2532589005999780174">ಹೆಚ್ಚಿನ ಕಾಂಟ್ರಾಸ್ಟ್ ಮೋಡ್</translation>
+<translation id="255671100581129685">Google ಅಸಿಸ್ಟೆಂಟ್‌ ಸಾರ್ವಜನಿಕ ಸೆಶನ್‌ನಲ್ಲಿ ಲಭ್ಯವಿಲ್ಲ.</translation>
 <translation id="2575685495496069081">ಬಹು ಸೈನ್-ಇನ್ ಅನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ</translation>
 <translation id="2582112259361606227">ಅಪ್‌ಡೇಟ್ ಮಾಡಲು, ಮರುಪ್ರಾರಂಭಿಸಿ</translation>
 <translation id="2597972630681408282">ನೈಟ್ ಲೈಟ್: <ph name="NIGHT_LIGHT_STATUS" /></translation>
@@ -129,6 +131,7 @@
 <translation id="3000461861112256445">ಮೊನೊ ಆಡಿಯೊ</translation>
 <translation id="3009178788565917040">ಔಟ್‌ಪುಟ್</translation>
 <translation id="3019353588588144572">ಬ್ಯಾಟರಿ ಪೂರ್ಣವಾಗಿ ಚಾರ್ಜ್ ಆಗುವವರೆಗೆ ಉಳಿದಿರುವ ಸಮಯ, <ph name="TIME_REMAINING" /></translation>
+<translation id="3055162170959710888">ನೀವು ಇಂದು <ph name="USED_TIME" /> ರಷ್ಟು ಸಮಯ ಈ ಸಾಧನವನ್ನು ಬಳಸಿದ್ದೀರಿ</translation>
 <translation id="3077734595579995578">shift</translation>
 <translation id="3081696990447829002">ಮೆನುವನ್ನು ವಿಸ್ತರಿಸಿ</translation>
 <translation id="3087734570205094154">ಕೆಳಗೆ</translation>
@@ -214,6 +217,7 @@
 <translation id="4659419629803378708">ChromeVox ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ</translation>
 <translation id="4734965478015604180">ಅಡ್ಡ</translation>
 <translation id="476166673298332917">ಪಾಸ್‌ವರ್ಡ್‌ಗಳು ಹಾಗೂ ಸಂವಹನಗಳು ಸೇರಿದಂತೆ ಎಲ್ಲಾ ಚಟುವಟಿಕೆಗೆ, ಈ ಸಾಧನದ ನಿರ್ವಾಹಕರು ಪ್ರವೇಶ ಹೊಂದಿರುತ್ತಾರೆ.</translation>
+<translation id="4774338217796918551"><ph name="COME_BACK_TIME" /> ಸಮಯಕ್ಕೆ ಹಿಂತಿರುಗಿ.</translation>
 <translation id="4776917500594043016"><ph name="USER_EMAIL_ADDRESS" /> ಗಾಗಿ ಪಾಸ್‌ವರ್ಡ್</translation>
 <translation id="4778095205580009397">Google ಅಸಿಸ್ಟೆಂಟ್‌ ಡೆಮೊ ಸೆಶನ್‌ನಲ್ಲಿ ಲಭ್ಯವಿಲ್ಲ.</translation>
 <translation id="479989351350248267">search</translation>
@@ -228,6 +232,7 @@
 <translation id="4918086044614829423">ಸಮ್ಮತಿಸು</translation>
 <translation id="4924411785043111640">ಮರುಪ್ರಾರಂಭಿಸಿ ಮತ್ತು ಮರುಹೊಂದಿಸಿ</translation>
 <translation id="4961318399572185831">ಪರದೆಯನ್ನು ಬಿತ್ತರಿಸಿ</translation>
+<translation id="5030687792513154421">ಸಮಯ ಮುಗಿದಿದೆ</translation>
 <translation id="5083553833479578423">ಇನ್ನಷ್ಟು ಅಸಿಸ್ಟೆಂಟ್ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಅನ್‌ಲಾಕ್‌ ಮಾಡಿ.</translation>
 <translation id="5136175204352732067">ವಿವಿಧ ಕೀಬೋರ್ಡ್ ಸಂಪರ್ಕಗೊಂಡಿದೆ</translation>
 <translation id="5168181903108465623">ಬಿತ್ತರಿಸುವಿಕೆಯ ಸಾಧನಗಳು ಲಭ್ಯವಿದೆ</translation>
@@ -277,7 +282,6 @@
 <translation id="5992218262414051481">ಹೆಚ್ಚು ಕಾಂಟ್ರಾಸ್ಟ್ ಮೋಡ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ. ಅದನ್ನು ಟಾಗಲ್‌ ಆಫ್‌ ಮಾಡಲು ಪುನಃ
 Ctrl+ಹುಡುಕಾಟ+H ಅನ್ನು ಒತ್ತಿರಿ.</translation>
 <translation id="6018164090099858612">ಪ್ರತಿಬಿಂಬ ಮೋಡ್ ನಿರ್ಗಮಿಸಲಾಗುತ್ತಿದೆ</translation>
-<translation id="6040143037577758943">ಮುಚ್ಚಿರಿ</translation>
 <translation id="6043212731627905357">ಈ ಮಾನಿಟರ್ ನಿಮ್ಮ <ph name="DEVICE_TYPE" /> ಜೊತೆ ಸಿಗುತ್ತಿಲ್ಲ (ಮಾನಿಟರ್ ಬೆಂಬಲಿಸುವುದಿಲ್ಲ).</translation>
 <translation id="6043994281159824495">ಈಗ ಸೈನ್ ಔಟ್ ಮಾಡಿ</translation>
 <translation id="6047696787498798094">ನೀವು ಬೇರೊಬ್ಬ ಬಳಕೆದಾರರಿಗೆ ಬದಲಾಯಿಸಿದಾಗ ಸ್ಕ್ರೀನ್ ಹಂಚಿಕೆಯು ನಿಲ್ಲುತ್ತದೆ. ನೀವು ಮುಂದುವರಿಸಲು ಬಯಸುತ್ತೀರಾ?</translation>
@@ -360,6 +364,7 @@
 <translation id="7510334386202674593">Ctrl+Shift+L</translation>
 <translation id="7526573455193969409">ನೆಟ್‌ವರ್ಕ್‌ನ ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಬಹುದಾಗಿದೆ</translation>
 <translation id="7536035074519304529">ಐಪಿ ವಿಳಾಸ: <ph name="ADDRESS" /></translation>
+<translation id="7548434653388805669">ಮಲಗುವ ಸಮಯ</translation>
 <translation id="7561014039265304140"><ph name="SPECIFIED_RESOLUTION" /> ಅನ್ನು <ph name="DISPLAY_NAME" /> ಬೆಂಬಲಿಸುವುದಿಲ್ಲ. ರೆಸಲ್ಯೂಶನ್‌ ಅನ್ನು <ph name="FALLBACK_RESOLUTION" /> ಗೆ ಬದಲಾಯಿಸಲಾಗಿದೆ</translation>
 <translation id="7562368315689366235">ಎಮೋಜಿ ಪ್ಯಾಲೆಟ್</translation>
 <translation id="7564874036684306347">ವಿಂಡೋಗಳನ್ನು ಬೇರೊಂದು ಡೆಸ್ಕ್‌ಟಾಪ್‌ಗೆ ಸರಿಸಿದರೆ, ಅದು ಅನಿರೀಕ್ಷಿತ ವರ್ತನೆಗೆ ಕಾರಣವಾಗಬಹುದು. ಆನಂತರ ಬರುವ ಅಧಿಸೂಚನೆಗಳು, ವಿಂಡೋಗಳು ಮತ್ತು ಡೈಲಾಗ್‌ಗಳು ಡೆಸ್ಕ್‌ಟಾಪ್‌ಗಳ ನಡುವೆ ವಿಭಜನೆಯಾಗಬಹುದು.</translation>
@@ -402,12 +407,14 @@
 <translation id="8152119955266188852">ನೀವು ಪೂರ್ಣಪರದೆ ವರ್ಧಕದ ಶಾರ್ಟ್‌ಕಟ್ ಅನ್ನು ಒತ್ತಿದ್ದೀರಿ. ಅದನ್ನು ಆನ್ ಮಾಡಲು ಬಯಸುವಿರಾ?</translation>
 <translation id="8190698733819146287">ಭಾಷೆಗಳು ಮತ್ತು ಇನ್‌ಪುಟ್ ಅನ್ನು ಕಸ್ಟಮೈಸ್ ಮಾಡಿ...</translation>
 <translation id="8192202700944119416">ಅಧಿಸೂಚನೆಗಳು ಮರೆಯಾಗಿವೆ.</translation>
+<translation id="8236042855478648955">ವಿರಾಮದ ಸಮಯ</translation>
 <translation id="8261506727792406068">ಅಳಿಸಿ</translation>
 <translation id="8297006494302853456">ದುರ್ಬಲ</translation>
 <translation id="8308637677604853869">ಹಿಂದಿನ ಮೆನು</translation>
 <translation id="8341451174107936385"><ph name="UNLOCK_MORE_FEATURES" />  <ph name="GET_STARTED" /></translation>
 <translation id="8351131234907093545">ಟಿಪ್ಪಣಿ ರಚಿಸಿ</translation>
 <translation id="8392451568018454956"><ph name="USER_EMAIL_ADDRESS" /> ಅವರಿಗಾಗಿ ಆಯ್ಕೆಗಳ ಮೆನು</translation>
+<translation id="8394567579869570560">ನಿಮ್ಮ ಪೋಷಕರು ಈ ಸಾಧನವನ್ನು ಲಾಕ್ ಮಾಡಿದ್ದಾರೆ</translation>
 <translation id="8406981827175133772">ಫುಲ್‌ಸ್ಕ್ರೀನ್ ವರ್ಧಕ</translation>
 <translation id="8425213833346101688">ಬದಲಿಸಿ</translation>
 <translation id="8427213022735114808">ಯಾವುದೇ ಪಠ್ಯ ಕ್ಷೇತ್ರದಲ್ಲಿ ಧ್ವನಿ ಟೈಪಿಂಗ್ ಅನ್ನು ಅನುಮತಿಸಲು ಡಿಕ್ಟೇಷನ್ Google ಗೆ ನಿಮ್ಮ ಧ್ವನಿಯನ್ನು ಕಳುಹಿಸುತ್ತದೆ.</translation>
@@ -437,7 +444,6 @@
 <translation id="8814190375133053267">ವೈ-ಫೈ</translation>
 <translation id="8825534185036233643">ಎರಡಕ್ಕಿಂತ ಹೆಚ್ಚಿನ ಪ್ರದರ್ಶನಗಳ ಪ್ರತಿಬಿಂಬಿಸುವಿಕೆ ಬೆಂಬಲಿಸುವುದಿಲ್ಲ.</translation>
 <translation id="8828714802988429505">90°</translation>
-<translation id="8841375032071747811">ಹಿಂದೆ ಬಟನ್</translation>
 <translation id="8843682306134542540">ಪರದೆ ತಿರುಗಿಸುವಿಕೆಯ ಲಾಕ್ ಅನ್ನು ಟಾಗಲ್ ಮಾಡಿ. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Search+Esc</translation>
 <translation id="8870509716567206129">ಅಪ್ಲಿಕೇಶನ್ ಸ್ಪ್ಲಿಟ್ ಸ್ಕ್ರೀನ್ ಅನ್ನು ಬೆಂಬಲಿಸುವುದಿಲ್ಲ.</translation>
@@ -464,6 +470,7 @@
 <translation id="9201131092683066720">ಬ್ಯಾಟರಿ <ph name="PERCENTAGE" />% ಪೂರ್ಣವಾಗಿದೆ.</translation>
 <translation id="9210037371811586452">ಏಕೀಕೃತ ಡೆಸ್ಕ್‌ಟಾಪ್ ಮೋಡ್‌ನಿಂದ ನಿರ್ಗಮಿಸಲಾಗುತ್ತಿದೆ</translation>
 <translation id="9215934040295798075">ವಾಲ್‌ಪೇಪರ್‌ ಹೊಂದಿಸಿ</translation>
+<translation id="921989828232331238">ಈ ದಿನ ನಿಮ್ಮ ಪೋಷಕರು ನಿಮ್ಮ ಸಾಧನವನ್ನು ಲಾಕ್ ಮಾಡಿದ್ದಾರೆ</translation>
 <translation id="923686485342484400">ಸೈನ್ ಔಟ್ ಮಾಡಲು Control Shift Q ಅನ್ನು ಎರಡುಬಾರಿ ಒತ್ತಿರಿ.</translation>
 <translation id="938963181863597773">ನನ್ನ ಕ್ಯಾಲೆಂಡರ್‌ನಲ್ಲಿ ಏನಿದೆ?</translation>
 <translation id="945522503751344254">ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ಕಳುಹಿಸಿ</translation>
diff --git a/ash/strings/ash_strings_ko.xtb b/ash/strings/ash_strings_ko.xtb
index 04f6069..24bd7b3 100644
--- a/ash/strings/ash_strings_ko.xtb
+++ b/ash/strings/ash_strings_ko.xtb
@@ -276,7 +276,6 @@
 <translation id="598882571027504733">업데이트하려면 키보드가 연결된 상태로 Chromebook을 다시 시작하세요.</translation>
 <translation id="5992218262414051481">고대비 모드가 사용 설정되었습니다. 사용 중지하려면 다시 Ctrl+Search+H를 누르세요.</translation>
 <translation id="6018164090099858612">미러링 모드 종료 중</translation>
-<translation id="6040143037577758943">닫기</translation>
 <translation id="6043212731627905357"><ph name="DEVICE_TYPE" />과(와) 호환되지 않는 모니터입니다(지원되지 않는 모니터임).</translation>
 <translation id="6043994281159824495">지금 로그아웃</translation>
 <translation id="6047696787498798094">다른 사용자로 전환하면 화면 공유가 중단됩니다. 계속하시겠습니까?</translation>
@@ -436,7 +435,6 @@
 <translation id="8814190375133053267">Wi-Fi</translation>
 <translation id="8825534185036233643">3개 이상의 디스플레이 미러링은 지원되지 않습니다.</translation>
 <translation id="8828714802988429505">90°</translation>
-<translation id="8841375032071747811">뒤로 버튼</translation>
 <translation id="8843682306134542540">회전 잠금을 전환합니다. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Search+Esc</translation>
 <translation id="8870509716567206129">앱이 화면 분할을 지원하지 않습니다.</translation>
diff --git a/ash/strings/ash_strings_lt.xtb b/ash/strings/ash_strings_lt.xtb
index fa1c009..dccf0443 100644
--- a/ash/strings/ash_strings_lt.xtb
+++ b/ash/strings/ash_strings_lt.xtb
@@ -277,7 +277,6 @@
 <translation id="598882571027504733">Kad gautumėte naujinį, iš naujo paleiskite „Chromebook“ su prijungta klaviatūra.</translation>
 <translation id="5992218262414051481">Didelio kontrasto režimas įgalintas. Dar kartą paspauskite „Ctrl“ + paieškos klavišą + H, kad išjungtumėte režimą.</translation>
 <translation id="6018164090099858612">Išjungiamas atvaizdavimo režimas</translation>
-<translation id="6040143037577758943">Uždaryti</translation>
 <translation id="6043212731627905357">Šis monitorius nesuderinamas su jūsų „<ph name="DEVICE_TYPE" />“ (monitorius nepalaikomas).</translation>
 <translation id="6043994281159824495">Atsijungti dabar</translation>
 <translation id="6047696787498798094">Perjungus naudotoją ekrano bendrinimas bus nutrauktas. Ar norite tęsti?</translation>
@@ -437,7 +436,6 @@
 <translation id="8814190375133053267">WI-Fi</translation>
 <translation id="8825534185036233643">Negalima bendrinti daugiau nei dviejų ekranų vaizdų.</translation>
 <translation id="8828714802988429505">90°</translation>
-<translation id="8841375032071747811">Mygtukas „Atgal“</translation>
 <translation id="8843682306134542540">Perjungti pasukimo užrakinimą. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Paieškos klavišas + „Esc“</translation>
 <translation id="8870509716567206129">Programoje nepalaikomas skaidytas ekranas.</translation>
diff --git a/ash/strings/ash_strings_lv.xtb b/ash/strings/ash_strings_lv.xtb
index 9f481a1..5423282 100644
--- a/ash/strings/ash_strings_lv.xtb
+++ b/ash/strings/ash_strings_lv.xtb
@@ -21,6 +21,7 @@
 <translation id="1270290102613614947">Ekrāna tastatūra atspējota</translation>
 <translation id="1272079795634619415">Apturēt</translation>
 <translation id="1279938420744323401"><ph name="DISPLAY_NAME" /> (<ph name="ANNOTATION" />)</translation>
+<translation id="1289185460362160437">Atgriezieties šajā dienā: <ph name="COME_BACK_DAY_OF_WEEK" />, plkst. <ph name="COME_BACK_TIME" />.</translation>
 <translation id="1290331692326790741">Vājš signāls</translation>
 <translation id="1293264513303784526">USB-C ierīce (pieslēgvieta pa kreisi)</translation>
 <translation id="1294929383540927798">Mainiet bloķēšanas ekrāna paziņojumu rādīšanas iestatījumus</translation>
@@ -98,6 +99,7 @@
 <translation id="2501920221385095727">Taustiņu ķēde</translation>
 <translation id="2509468283778169019">Funkcija Caps Lock ir ieslēgta</translation>
 <translation id="2532589005999780174">Augsta kontrasta režīms</translation>
+<translation id="255671100581129685">Google asistents nav pieejams publiskā sesijā.</translation>
 <translation id="2575685495496069081">Vairākkārtēja pierakstīšanās ir atspējota</translation>
 <translation id="2582112259361606227">Restartēt, lai atjauninātu</translation>
 <translation id="2597972630681408282">Nakts režīms: <ph name="NIGHT_LIGHT_STATUS" /></translation>
@@ -129,6 +131,7 @@
 <translation id="3000461861112256445">Mono audio</translation>
 <translation id="3009178788565917040">Izvade</translation>
 <translation id="3019353588588144572">Pilnīgais uzlādei nepieciešamais laiks: <ph name="TIME_REMAINING" />.</translation>
+<translation id="3055162170959710888">Šodien jūs izmantojāt šo ierīci: <ph name="USED_TIME" /></translation>
 <translation id="3077734595579995578">shift</translation>
 <translation id="3081696990447829002">Izvērst izvēlni</translation>
 <translation id="3087734570205094154">Apakšā</translation>
@@ -214,6 +217,7 @@
 <translation id="4659419629803378708">ChromeVox iespējots</translation>
 <translation id="4734965478015604180">Horizontāli</translation>
 <translation id="476166673298332917">Šīs ierīces administrators var piekļūt visām darbībām, tostarp parolēm un saziņas iespējām.</translation>
+<translation id="4774338217796918551">Atgriezieties plkst. <ph name="COME_BACK_TIME" />.</translation>
 <translation id="4776917500594043016">Parole e-pasta adresei <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="4778095205580009397">Google asistents nav pieejams demonstrācijas sesijā.</translation>
 <translation id="479989351350248267">meklēt</translation>
@@ -228,6 +232,7 @@
 <translation id="4918086044614829423">Pieņemt</translation>
 <translation id="4924411785043111640">Restartēt un atiestatīt</translation>
 <translation id="4961318399572185831">Ekrāna apraide</translation>
+<translation id="5030687792513154421">Izmantošanas laiks beidzies</translation>
 <translation id="5083553833479578423">Piekļūstiet citām Asistenta funkcijām</translation>
 <translation id="5136175204352732067">Ir pievienota cita tastatūra</translation>
 <translation id="5168181903108465623">Pieejamas apraides ierīces</translation>
@@ -276,7 +281,6 @@
 <translation id="598882571027504733">Lai iegūtu atjauninājumu, restartējiet savu Chromebook datoru ar pievienoto tastatūru.</translation>
 <translation id="5992218262414051481">Augsta kontrasta režīms ir iespējots. Lai to izslēgtu, vēlreiz nospiediet Ctrl+Search+H.</translation>
 <translation id="6018164090099858612">Notiek iziešana no spoguļošanas režīma</translation>
-<translation id="6040143037577758943">Aizvērt</translation>
 <translation id="6043212731627905357">Šis monitors nav saderīgs ar jūsu ierīci <ph name="DEVICE_TYPE" /> (monitors netiek atbalstīts).</translation>
 <translation id="6043994281159824495">Izrakstīties tagad</translation>
 <translation id="6047696787498798094">Pārslēdzoties uz citu lietotāju, ekrāna koplietošana tiks apturēta. Vai vēlaties turpināt?</translation>
@@ -359,6 +363,7 @@
 <translation id="7510334386202674593">Ctrl+Shift+L</translation>
 <translation id="7526573455193969409">Var tikt pārraudzītas tīklā veiktās darbības</translation>
 <translation id="7536035074519304529">IP adrese: <ph name="ADDRESS" /></translation>
+<translation id="7548434653388805669">Laiks naktsmieram</translation>
 <translation id="7561014039265304140"><ph name="DISPLAY_NAME" /> neatbalsta šādu izšķirtspēju: <ph name="SPECIFIED_RESOLUTION" />. Izšķirtspēja tika mainīta uz <ph name="FALLBACK_RESOLUTION" />.</translation>
 <translation id="7562368315689366235">Emocijzīmju palete</translation>
 <translation id="7564874036684306347">Logu pārvietošana uz citu darbvirsmu var izraisīt neparedzētu darbību. Turpmākie paziņojumi, logi un dialoglodziņi var tikt sadalīti pa darbvirsmām.</translation>
@@ -401,12 +406,14 @@
 <translation id="8152119955266188852">Jūs nospiedāt pilnekrāna lupas īsinājumtaustiņu. Vai vēlaties to ieslēgt?</translation>
 <translation id="8190698733819146287">Pielāgot valodas un ievadi...</translation>
 <translation id="8192202700944119416">Paziņojumi ir paslēpti.</translation>
+<translation id="8236042855478648955">Laiks pārtraukumam</translation>
 <translation id="8261506727792406068">Dzēst</translation>
 <translation id="8297006494302853456">Vājš</translation>
 <translation id="8308637677604853869">Iepriekšējā izvēlne</translation>
 <translation id="8341451174107936385"><ph name="UNLOCK_MORE_FEATURES" />  <ph name="GET_STARTED" /></translation>
 <translation id="8351131234907093545">Izveidot piezīmi</translation>
 <translation id="8392451568018454956">Opciju izvēlne kontam <ph name="USER_EMAIL_ADDRESS" /></translation>
+<translation id="8394567579869570560">Jūsu vecāki bloķēja šo ierīci</translation>
 <translation id="8406981827175133772">Pilnekrāna lupa</translation>
 <translation id="8425213833346101688">Mainīt</translation>
 <translation id="8427213022735114808">Diktēšanas funkcija nosūta jūsu balss datus Google serveriem, lai atļautu rakstīšanu ar balsi jebkurā teksta laukā.</translation>
@@ -436,7 +443,6 @@
 <translation id="8814190375133053267">Wi-Fi</translation>
 <translation id="8825534185036233643">Spoguļošana ar vairāk nekā diviem ekrāniem netiek atbalstīta.</translation>
 <translation id="8828714802988429505">90°</translation>
-<translation id="8841375032071747811">Poga Atpakaļ</translation>
 <translation id="8843682306134542540">Pārslēgt pagriešanas bloķēšanu. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Search+Esc</translation>
 <translation id="8870509716567206129">Lietotnē netiek atbalstīta ekrāna sadalīšana.</translation>
@@ -463,6 +469,7 @@
 <translation id="9201131092683066720">Akumulatora uzlādes līmenis: <ph name="PERCENTAGE" />%</translation>
 <translation id="9210037371811586452">Notiek iziešana no vienotās darbvirsmas režīma</translation>
 <translation id="9215934040295798075">Iestatīt fona tapeti</translation>
+<translation id="921989828232331238">Jūsu vecāki bloķēja jūsu ierīci šai dienai</translation>
 <translation id="923686485342484400">Lai izrakstītos, divas reizes nospiediet taustiņu kombināciju Ctrl+Shift+Q.</translation>
 <translation id="938963181863597773">Kas ir atrodams manā kalendārā?</translation>
 <translation id="945522503751344254">Sūtīt atsauksmes</translation>
diff --git a/ash/strings/ash_strings_ml.xtb b/ash/strings/ash_strings_ml.xtb
index 8c0da50..3c783ad 100644
--- a/ash/strings/ash_strings_ml.xtb
+++ b/ash/strings/ash_strings_ml.xtb
@@ -21,6 +21,7 @@
 <translation id="1270290102613614947">ഓൺ-സ്‌ക്രീൻ കീബോർഡ് പ്രവർത്തനരഹിതമാക്കി</translation>
 <translation id="1272079795634619415">നിര്‍ത്തുക</translation>
 <translation id="1279938420744323401"><ph name="DISPLAY_NAME" /> (<ph name="ANNOTATION" />)</translation>
+<translation id="1289185460362160437"><ph name="COME_BACK_DAY_OF_WEEK" />, <ph name="COME_BACK_TIME" />-ന്‌ തിരികെ വരിക.</translation>
 <translation id="1290331692326790741">ദുർബലമായ സിഗ്നൽ</translation>
 <translation id="1293264513303784526">USB-C ഉപകരണം (ഇടത് പോർട്ട്)</translation>
 <translation id="1294929383540927798">ലോക്ക് സ്ക്രീൻ അറിയിപ്പ് ക്രമീകരണം മാറ്റുക</translation>
@@ -98,6 +99,7 @@
 <translation id="2501920221385095727">സ്‌റ്റിക്കി കീകൾ</translation>
 <translation id="2509468283778169019">CAPS LOCK ഓൺ ആണ്</translation>
 <translation id="2532589005999780174">ഉയർന്ന ദൃശ്യതീവ്രത മോഡ്</translation>
+<translation id="255671100581129685">പൊതു സെഷനില്‍ Google അസി‌സ്‌റ്റന്റ് ലഭ്യമല്ല.</translation>
 <translation id="2575685495496069081">ഒന്നിലധികം സൈൻ ഇൻ പ്രവർത്തനരഹിതമാക്കിയിരിക്കുന്നു</translation>
 <translation id="2582112259361606227">അപ്‌ഡേറ്റ് ചെയ്യാൻ റീസ്‌റ്റാർട്ട് ചെയ്യുക</translation>
 <translation id="2597972630681408282">നൈറ്റ് ‌ലൈറ്റ്: <ph name="NIGHT_LIGHT_STATUS" /></translation>
@@ -129,6 +131,7 @@
 <translation id="3000461861112256445">മോണോ ഓഡിയോ</translation>
 <translation id="3009178788565917040">ഔട്ട്പുട്ട്</translation>
 <translation id="3019353588588144572">ബാറ്ററി പൂർണ്ണമായി ചാർജ്ജാകുന്നതിന് ശേഷിക്കുന്ന സമയം, <ph name="TIME_REMAINING" /></translation>
+<translation id="3055162170959710888">നിങ്ങൾ ഇന്ന് <ph name="USED_TIME" />, ഈ ഉപകരണം ഉപയോഗിച്ചു</translation>
 <translation id="3077734595579995578">shift</translation>
 <translation id="3081696990447829002">മെനു വികസിപ്പിക്കുക</translation>
 <translation id="3087734570205094154">താഴെ</translation>
@@ -214,6 +217,7 @@
 <translation id="4659419629803378708">ChromeVox പ്രവർത്തനക്ഷമമാക്കി</translation>
 <translation id="4734965478015604180">സമാന്തരം</translation>
 <translation id="476166673298332917">പാസ്‌വേഡുകളും ആശയവിനിമയങ്ങളും ഉൾപ്പെടെ, എല്ലാ ആക്‌റ്റിവിറ്റിയിലേക്കും ഈ ഉപകരണത്തിന്റെ അഡ്‌മിന് ആക്‌സസ് ഉണ്ട്.</translation>
+<translation id="4774338217796918551">നാളെ <ph name="COME_BACK_TIME" />-ന് തിരികെ വരിക.</translation>
 <translation id="4776917500594043016"><ph name="USER_EMAIL_ADDRESS" /> എന്നതിനായുള്ള പാസ്‌വേഡ്</translation>
 <translation id="4778095205580009397">ഡെമോ സെഷനിൽ Google അസി‌സ്‌റ്റന്റ് ലഭ്യമല്ല.</translation>
 <translation id="479989351350248267">search</translation>
@@ -228,6 +232,7 @@
 <translation id="4918086044614829423">സ്വീകരിക്കുക</translation>
 <translation id="4924411785043111640">പുനഃരാരംഭിച്ച് പുനഃസജ്ജീകരിക്കുക</translation>
 <translation id="4961318399572185831">സ്‌ക്രീൻ കാസ്റ്റുചെയ്യുക</translation>
+<translation id="5030687792513154421">സമയം കഴിഞ്ഞു</translation>
 <translation id="5083553833479578423">കൂടുതൽ അസിസ്റ്റന്റ് ഫീച്ചറുകൾ അൺലോക്ക് ചെയ്യുക.</translation>
 <translation id="5136175204352732067">വ്യത്യസ്ത കീബോർഡ് കണക്‌റ്റ് ചെയ്‌തു</translation>
 <translation id="5168181903108465623">Cast ഉപകരണങ്ങൾ ലഭ്യമാണ്.</translation>
@@ -276,7 +281,6 @@
 <translation id="598882571027504733">അപ്ഡേറ്റ് നേടാൻ, അറ്റാച്ച് ചെയ്‌ത കീബോഡിനൊപ്പം Chromebook റീസ്‌റ്റാർട്ട് ചെയ്യുക.</translation>
 <translation id="5992218262414051481">ഉയർന്ന ദൃശ്യതീവ്രത മോഡ് പ്രവർത്തനക്ഷമമാക്കി. ഇത് ഓഫാക്കാൻ, Ctrl+തിരയൽ+H വീണ്ടും അമർത്തുക.</translation>
 <translation id="6018164090099858612">മിറർ മോഡിൽ നിന്ന് പുറത്തുകടക്കുന്നു</translation>
-<translation id="6040143037577758943">അടയ്ക്കുക</translation>
 <translation id="6043212731627905357">ഈ മോണിറ്റർ നിങ്ങളുടെ <ph name="DEVICE_TYPE" /> ഉപകരണത്തിൽ പ്രവർത്തിക്കുന്നില്ല (മോണിറ്റർ ഇതിൽ പ്രവർത്തിക്കില്ല).</translation>
 <translation id="6043994281159824495">ഇപ്പോൾ സൈൻ ഔട്ട് ചെയ്യുക</translation>
 <translation id="6047696787498798094">മറ്റൊരു ഉപയോക്താവിലേക്ക് മാറുമ്പോൾ സ്ക്രീൻ പങ്കിടൽ നിർത്തും. നിങ്ങൾക്ക് തുടരണോ?</translation>
@@ -359,6 +363,7 @@
 <translation id="7510334386202674593">Ctrl+Shift+L</translation>
 <translation id="7526573455193969409">നെറ്റ്‌വർക്ക് നിരീക്ഷിക്കപ്പെടാം</translation>
 <translation id="7536035074519304529">IP വിലാസം: <ph name="ADDRESS" /></translation>
+<translation id="7548434653388805669">ഉറങ്ങാൻ സമയമായി</translation>
 <translation id="7561014039265304140"><ph name="DISPLAY_NAME" />, <ph name="SPECIFIED_RESOLUTION" /> എന്നതിനെ പിന്തുണയ്‌ക്കുന്നില്ല. റസലൂഷൻ <ph name="FALLBACK_RESOLUTION" /> എന്നതിലേക്ക് മാറ്റി.</translation>
 <translation id="7562368315689366235">ഇമോജി പാലറ്റ്</translation>
 <translation id="7564874036684306347">മറ്റൊരു ഡെസ്‌ക്‌ടോപ്പിലേക്ക് വിൻഡോകൾ നീക്കുന്നത് അപ്രതീക്ഷിതമായ പ്രവർത്തനരീതിയ്‌ക്ക് ഇടയാക്കാം. തുടർന്നുള്ള അറിയിപ്പുകൾ, വിൻഡോകൾ, ഡയലോഗുകൾ എന്നിവ ഡെസ്‌ക്‌‌ടോപ്പുകൾക്കിടയിൽ വിഭജിക്കപ്പെടാം.</translation>
@@ -401,12 +406,14 @@
 <translation id="8152119955266188852">നിങ്ങൾ പൂർണ്ണ സ്‌ക്രീൻ മാഗ്നിഫയറിനുള്ള കുറുക്കുവഴി അമർത്തി. അത് ഓണാക്കണോ?</translation>
 <translation id="8190698733819146287">ഭാഷകൾ‌ ഇച്ഛാനുസൃതമാക്കി നല്‍‌കുക...</translation>
 <translation id="8192202700944119416">അറിയിപ്പുകൾ അദൃശ്യമാക്കിയിരിക്കുന്നു.</translation>
+<translation id="8236042855478648955">ഇടവേളയ്ക്ക് സമയമായി</translation>
 <translation id="8261506727792406068">ഇല്ലാതാക്കുക</translation>
 <translation id="8297006494302853456">ദുര്‍ബലം</translation>
 <translation id="8308637677604853869">മുൻ മെനു</translation>
 <translation id="8341451174107936385"><ph name="UNLOCK_MORE_FEATURES" />  <ph name="GET_STARTED" /></translation>
 <translation id="8351131234907093545">കുറിപ്പ് സൃഷ്‌ടിക്കുക</translation>
 <translation id="8392451568018454956"><ph name="USER_EMAIL_ADDRESS" /> എന്നതിനുള്ള ഓപ്‌ഷനുകൾ മെനു</translation>
+<translation id="8394567579869570560">നിങ്ങളുടെ രക്ഷിതാവ് ഈ ഉപകരണം ലോക്ക് ചെയ്‌തു</translation>
 <translation id="8406981827175133772">പൂർണ്ണസ്‌ക്രീൻ മാഗ്‌നിഫയർ</translation>
 <translation id="8425213833346101688">മാറ്റുക</translation>
 <translation id="8427213022735114808">ഏതെങ്കിലും ടെക്‌സ്‌റ്റ് ഫീൽഡിൽ വോയ്‌സ് ടൈപ്പിംഗ് അനുവദിക്കുന്നതിന്, 'കേട്ടെഴുതൽ' നിങ്ങളുടെ വോയ്‌സ് Google-ലേക്ക് അയയ്ക്കുന്നു.</translation>
@@ -436,7 +443,6 @@
 <translation id="8814190375133053267">Wi-Fi</translation>
 <translation id="8825534185036233643">രണ്ടിലധികം ഡിസ്‌പ്ലേകളിൽ മിററിംഗ് ചെയ്യുന്നത് പിന്തുണയ്‌ക്കുന്നില്ല.</translation>
 <translation id="8828714802988429505">90°</translation>
-<translation id="8841375032071747811">ബാക്ക് ബട്ടൺ</translation>
 <translation id="8843682306134542540">റൊട്ടേഷൻ ലോക്ക് മാറ്റുക. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">തിരയൽ+Esc</translation>
 <translation id="8870509716567206129">സ്പ്ലിറ്റ്-സ്ക്രീനിനെ ആപ്പ് പിന്തുണയ്ക്കുന്നില്ല.</translation>
@@ -463,6 +469,7 @@
 <translation id="9201131092683066720">ബാറ്ററി <ph name="PERCENTAGE" />% നിറഞ്ഞു.</translation>
 <translation id="9210037371811586452">ഏകീകൃത ഡെസ്‌ക്‌ടോപ്പ് മോഡിൽ നിന്ന് പുറത്തുകടക്കുന്നു</translation>
 <translation id="9215934040295798075">വാൾപേപ്പർ സജ്ജമാക്കുക</translation>
+<translation id="921989828232331238">നിങ്ങളുടെ രക്ഷിതാവ് ഇന്നത്തേക്ക് ഉപകരണം ലോക്ക് ചെയ്‌തു</translation>
 <translation id="923686485342484400">സൈൻ ഔട്ട് ചെയ്യുന്നതിന് രണ്ടു‌തവണ Control Shift Q അമർത്തുക.</translation>
 <translation id="938963181863597773">എന്റെ കലണ്ടറിൽ എന്താണുള്ളത്?</translation>
 <translation id="945522503751344254">ഫീഡ്ബാക്ക് അയയ്ക്കുക</translation>
diff --git a/ash/strings/ash_strings_mr.xtb b/ash/strings/ash_strings_mr.xtb
index e82a9521..f1af798 100644
--- a/ash/strings/ash_strings_mr.xtb
+++ b/ash/strings/ash_strings_mr.xtb
@@ -21,6 +21,7 @@
 <translation id="1270290102613614947">ऑन-स्क्रीन कीबोर्ड अक्षम</translation>
 <translation id="1272079795634619415">थांबा</translation>
 <translation id="1279938420744323401"><ph name="DISPLAY_NAME" /> (<ph name="ANNOTATION" />)</translation>
+<translation id="1289185460362160437"><ph name="COME_BACK_DAY_OF_WEEK" /> <ph name="COME_BACK_TIME" /> वाजता परत या.</translation>
 <translation id="1290331692326790741">खराब सिग्नल</translation>
 <translation id="1293264513303784526">USB-C डिव्‍हाइस (डावे पोर्ट)</translation>
 <translation id="1294929383540927798">लॉक स्क्रीन सूचना सेटिंग्ज बदला</translation>
@@ -98,6 +99,7 @@
 <translation id="2501920221385095727">स्टिकी की</translation>
 <translation id="2509468283778169019">CAPS LOCK सुरु आहे</translation>
 <translation id="2532589005999780174">उच्च तीव्रता मोड</translation>
+<translation id="255671100581129685">सार्वजनिक सेशनमध्ये Google असिस्टंट उपलब्ध नाही.</translation>
 <translation id="2575685495496069081">एकाहून अधिक साइन इन बंद करण्यात आले आहे</translation>
 <translation id="2582112259361606227">अपडेट करण्यासाठी रीस्टार्ट करा</translation>
 <translation id="2597972630681408282">रात्रीचा प्रकाश: <ph name="NIGHT_LIGHT_STATUS" /></translation>
@@ -129,6 +131,7 @@
 <translation id="3000461861112256445">मोनो ऑडिओ</translation>
 <translation id="3009178788565917040">आउटपुट</translation>
 <translation id="3019353588588144572">बॅटरी पूर्णपणे चार्ज होईपर्यंत उर्वरित वेळ, <ph name="TIME_REMAINING" /></translation>
+<translation id="3055162170959710888">तुम्ही हे डिव्हाइस आज <ph name="USED_TIME" /> साठी वापरले</translation>
 <translation id="3077734595579995578">shift</translation>
 <translation id="3081696990447829002">मेनूचा विस्तार करा</translation>
 <translation id="3087734570205094154">तळाकडील</translation>
@@ -214,6 +217,7 @@
 <translation id="4659419629803378708">ChromeVox चालू केले</translation>
 <translation id="4734965478015604180">आडवा</translation>
 <translation id="476166673298332917">या डिव्हाइसच्या अॅडमिनिस्ट्रेटरकडे पासवर्ड आणि कम्युनिकेशनेसह सर्व अॅक्टिव्हिटीचा अॅक्सेस आहे.</translation>
+<translation id="4774338217796918551"><ph name="COME_BACK_TIME" /> वाजता परत या.</translation>
 <translation id="4776917500594043016"><ph name="USER_EMAIL_ADDRESS" /> साठी पासवर्ड</translation>
 <translation id="4778095205580009397">डेमो सेशनमध्ये Google असिस्टंट उपलब्ध नाही.</translation>
 <translation id="479989351350248267">search</translation>
@@ -228,6 +232,7 @@
 <translation id="4918086044614829423">स्वीकारा</translation>
 <translation id="4924411785043111640">रीस्टार्ट करा आणि रीसेट करा</translation>
 <translation id="4961318399572185831">स्क्रीन कास्ट करा</translation>
+<translation id="5030687792513154421">वेळ संपली</translation>
 <translation id="5083553833479578423">असिस्टंटची आणखी वैशिष्ट्ये अनलॉक करा.</translation>
 <translation id="5136175204352732067">वेगळा कीबोर्ड कनेक्ट केला आहे</translation>
 <translation id="5168181903108465623">कास्‍ट डिव्‍हाइसेस उपलब्‍ध</translation>
@@ -276,7 +281,6 @@
 <translation id="598882571027504733">अपडेट करण्यासाठी, संलग्न केलेल्या कीबोर्डसह तुमचे Chromebook रीस्टार्ट करा.</translation>
 <translation id="5992218262414051481">उच्च तीव्रता मोड चालू केला आहे. तो बंदवर टॉगल करण्यासाठी Ctrl+Search+H दाबा.</translation>
 <translation id="6018164090099858612">मिरर मोडमधून बाहेर पडत आहे</translation>
-<translation id="6040143037577758943">बंद करा</translation>
 <translation id="6043212731627905357">हा मॉनिटर आपल्या <ph name="DEVICE_TYPE" /> सह प्राप्त होत नाही (मॉनिटर समर्थित नाही).</translation>
 <translation id="6043994281159824495">आता साइन आउट करा</translation>
 <translation id="6047696787498798094">आपण दुसर्‍या वापरकर्त्यावर स्‍विच करता तेव्‍हा स्क्रीन सामायिकरण थांबेल. आपण सुरु ठेवू इच्छिता?</translation>
@@ -359,6 +363,7 @@
 <translation id="7510334386202674593">Ctrl+Shift+L</translation>
 <translation id="7526573455193969409">नेटवर्कचे परीक्षण केले जाऊ शकते</translation>
 <translation id="7536035074519304529">IP पत्ता: <ph name="ADDRESS" /></translation>
+<translation id="7548434653388805669">झोपण्याची वेळ</translation>
 <translation id="7561014039265304140"><ph name="DISPLAY_NAME" /> <ph name="SPECIFIED_RESOLUTION" /> ला समर्थन देत नाही. रिजोल्यूशन <ph name="FALLBACK_RESOLUTION" /> मध्ये बदलले</translation>
 <translation id="7562368315689366235">इमोजी पॅलेट</translation>
 <translation id="7564874036684306347">दुसऱ्या डेस्कटॉपवर विंडो हलवण्याने अनपेक्षित वर्तन घडू शकते. नंतर येणाऱ्या सूचना, विंडो आणि डायलॉग हे डेस्कटॉपच्या दरम्यान विभाजित केले जाऊ शकतात.</translation>
@@ -401,12 +406,14 @@
 <translation id="8152119955266188852">तुम्ही पूर्ण-स्क्रीन मॅग्निफायर शॉर्टकट दाबला. तुम्हाला ते सुरू करायचे आहे का?</translation>
 <translation id="8190698733819146287">भाषा आणि इनपुट सानुकूलित करा...</translation>
 <translation id="8192202700944119416">सूचना लपवलेल्या आहेत.</translation>
+<translation id="8236042855478648955">विश्रांतीची वेळ</translation>
 <translation id="8261506727792406068">हटवा</translation>
 <translation id="8297006494302853456">कमकुवत</translation>
 <translation id="8308637677604853869">मागील मेनू</translation>
 <translation id="8341451174107936385"><ph name="UNLOCK_MORE_FEATURES" />  <ph name="GET_STARTED" /></translation>
 <translation id="8351131234907093545">टीप तयार करा</translation>
 <translation id="8392451568018454956"><ph name="USER_EMAIL_ADDRESS" /> साठी पर्याय मेनू</translation>
+<translation id="8394567579869570560">तुमच्या पालकाने हे डिव्हाइस लॉक केले</translation>
 <translation id="8406981827175133772">फुलस्क्रीन मॅग्निफायर</translation>
 <translation id="8425213833346101688">बदल करा</translation>
 <translation id="8427213022735114808">कोणत्याही मजकूर फील्डमध्ये व्हॉइस टायपिंगची अनुमती देण्यासाठी डिक्टेशन तुमचा व्हॉइस Google ला पाठवेल.</translation>
@@ -436,7 +443,6 @@
 <translation id="8814190375133053267">वाय-फाय</translation>
 <translation id="8825534185036233643">दोन पेक्षा जास्त प्रदर्शनासाठी मि‍ररिंग समर्थित नाही.</translation>
 <translation id="8828714802988429505">90°</translation>
-<translation id="8841375032071747811">मागे जा बटण</translation>
 <translation id="8843682306134542540">रोटेशन लॉक टॉगल करा. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Search+Esc</translation>
 <translation id="8870509716567206129">अॅप विभाजित-स्क्रीनला सपोर्ट करत नाही.</translation>
@@ -463,6 +469,7 @@
 <translation id="9201131092683066720">बॅटरी <ph name="PERCENTAGE" />% भरली आहे.</translation>
 <translation id="9210037371811586452">एकीकृत डेस्कटॉप मोड मधून बाहेर पडत आहे</translation>
 <translation id="9215934040295798075">वॉलपेपर सेट करा</translation>
+<translation id="921989828232331238">तुमच्या पालकाने आज दिवसभरासाठी तुमचे डिव्हाइस लॉक केले</translation>
 <translation id="923686485342484400">साइन आउट करण्यासाठी Control Shift Q दोनदा दाबा.</translation>
 <translation id="938963181863597773">माझ्या कॅलेंडरमधील इव्हेंट काय आहेत?</translation>
 <translation id="945522503751344254">अभिप्राय पाठवा</translation>
diff --git a/ash/strings/ash_strings_ms.xtb b/ash/strings/ash_strings_ms.xtb
index fd68be3..e5efa1e 100644
--- a/ash/strings/ash_strings_ms.xtb
+++ b/ash/strings/ash_strings_ms.xtb
@@ -21,6 +21,7 @@
 <translation id="1270290102613614947">Papan kekunci pada skrin dilumpuhkan</translation>
 <translation id="1272079795634619415">Berhenti</translation>
 <translation id="1279938420744323401"><ph name="DISPLAY_NAME" /> (<ph name="ANNOTATION" />)</translation>
+<translation id="1289185460362160437">Kembali pada <ph name="COME_BACK_DAY_OF_WEEK" /> jam <ph name="COME_BACK_TIME" />.</translation>
 <translation id="1290331692326790741">Isyarat lemah</translation>
 <translation id="1293264513303784526">Peranti USB-C (port kiri)</translation>
 <translation id="1294929383540927798">Tukar tetapan pemberitahuan kunci skrin</translation>
@@ -98,6 +99,7 @@
 <translation id="2501920221385095727">Kekunci lekit</translation>
 <translation id="2509468283778169019">Kekunci CAPS LOCK dihidupkan</translation>
 <translation id="2532589005999780174">Mod kontras tinggi</translation>
+<translation id="255671100581129685">Google Assistant tidak tersedia dalam sesi awam.</translation>
 <translation id="2575685495496069081">Log masuk berbilang telah dilumpuhkan</translation>
 <translation id="2582112259361606227">Mulakan semula untuk mengemas kini</translation>
 <translation id="2597972630681408282">Lampu Malam: <ph name="NIGHT_LIGHT_STATUS" /></translation>
@@ -129,6 +131,7 @@
 <translation id="3000461861112256445">Audio mono</translation>
 <translation id="3009178788565917040">Output</translation>
 <translation id="3019353588588144572">Masa yang tinggal sehingga bateri dicas sepenuhnya, <ph name="TIME_REMAINING" /></translation>
+<translation id="3055162170959710888">Anda menggunakan peranti ini selama <ph name="USED_TIME" /> hari ini</translation>
 <translation id="3077734595579995578">shift</translation>
 <translation id="3081696990447829002">Kembangkan menu</translation>
 <translation id="3087734570205094154">Bawah</translation>
@@ -215,6 +218,7 @@
 <translation id="4659419629803378708">ChromeVox didayakan</translation>
 <translation id="4734965478015604180">Mendatar</translation>
 <translation id="476166673298332917">Pentadbir peranti ini mempunyai akses kepada semua aktiviti, termasuk kata laluan dan komunikasi.</translation>
+<translation id="4774338217796918551">Datang semula esok pada <ph name="COME_BACK_TIME" />.</translation>
 <translation id="4776917500594043016">Kata laluan untuk <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="4778095205580009397">Google Assistant tidak tersedia dalam sesi tunjuk cara.</translation>
 <translation id="479989351350248267">search</translation>
@@ -229,6 +233,7 @@
 <translation id="4918086044614829423">Terima</translation>
 <translation id="4924411785043111640">Mulakan semula dan tetapkan semula</translation>
 <translation id="4961318399572185831">Hantar skrin</translation>
+<translation id="5030687792513154421">Masa sudah tamat</translation>
 <translation id="5083553833479578423">Buka kunci pelbagai lagi ciri Assistant.</translation>
 <translation id="5136175204352732067">Papan kekunci lain disambungkan</translation>
 <translation id="5168181903108465623">Peranti Cast tersedia</translation>
@@ -277,7 +282,6 @@
 <translation id="598882571027504733">Untuk mendapatkan kemas kini, mulakan semula Chromebook dengan papan kekunci yang dipasang.</translation>
 <translation id="5992218262414051481">Mod Kontras Tinggi didayakan. Tekan Ctrl+Cari+H semula untuk mematikannya.</translation>
 <translation id="6018164090099858612">Keluar daripada mod cermin</translation>
-<translation id="6040143037577758943">Tutup</translation>
 <translation id="6043212731627905357">Monitor ini tidak serasi dengan <ph name="DEVICE_TYPE" /> anda (monitor tidak disokong).</translation>
 <translation id="6043994281159824495">Log keluar sekarang</translation>
 <translation id="6047696787498798094">Perkongsian skrin akan berhenti apabila anda beralih kepada pengguna lain. Adakah anda ingin meneruskan?</translation>
@@ -360,6 +364,7 @@
 <translation id="7510334386202674593">Ctrl+Shift+L</translation>
 <translation id="7526573455193969409">Rangkaian mungkin dipantau</translation>
 <translation id="7536035074519304529">Alamat IP: <ph name="ADDRESS" /></translation>
+<translation id="7548434653388805669">Masa untuk tidur</translation>
 <translation id="7561014039265304140"><ph name="DISPLAY_NAME" /> tidak menyokong <ph name="SPECIFIED_RESOLUTION" />. Resolusi telah ditukar kepada <ph name="FALLBACK_RESOLUTION" /></translation>
 <translation id="7562368315689366235">Palet emoji</translation>
 <translation id="7564874036684306347">Tindakan memindahkan tetingkap ke desktop lain boleh menyebabkan gelagat yang tidak dijangka. Pemberitahuan, tetingkap dan dialog yang seterusnya mungkin dipisahkan antara desktop.</translation>
@@ -402,12 +407,14 @@
 <translation id="8152119955266188852">Anda menekan pintasan untuk penggadang skrin penuh. Adakah anda ingin menghidupkannya?</translation>
 <translation id="8190698733819146287">Sesuaikan bahasa dan input...</translation>
 <translation id="8192202700944119416">Pemberitahuan disembunyikan.</translation>
+<translation id="8236042855478648955">Masa rehat</translation>
 <translation id="8261506727792406068">Padam</translation>
 <translation id="8297006494302853456">Lemah</translation>
 <translation id="8308637677604853869">Menu sebelumnya</translation>
 <translation id="8341451174107936385"><ph name="UNLOCK_MORE_FEATURES" />  <ph name="GET_STARTED" /></translation>
 <translation id="8351131234907093545">Buat nota</translation>
 <translation id="8392451568018454956">Menu pilihan untuk <ph name="USER_EMAIL_ADDRESS" /></translation>
+<translation id="8394567579869570560">Ibu bapa anda mengunci peranti ini</translation>
 <translation id="8406981827175133772">Penggadang Skrin Penuh</translation>
 <translation id="8425213833346101688">Tukar</translation>
 <translation id="8427213022735114808">Pengimlakan menghantar suara anda kepada Google untuk membolehkan penaipan suara dalam mana-mana medan teks.</translation>
@@ -437,7 +444,6 @@
 <translation id="8814190375133053267">Wi-Fi</translation>
 <translation id="8825534185036233643">Pencerminan menggunakan lebih daripada dua paparan tidak disokong.</translation>
 <translation id="8828714802988429505">90°</translation>
-<translation id="8841375032071747811">Butang kembali</translation>
 <translation id="8843682306134542540">Togol kunci putaran. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Carian+Esc</translation>
 <translation id="8870509716567206129">Apl tidak menyokong skrin pisah.</translation>
@@ -464,6 +470,7 @@
 <translation id="9201131092683066720">Bateri <ph name="PERCENTAGE" />% penuh.</translation>
 <translation id="9210037371811586452">Keluar daripada mod desktop bersatu</translation>
 <translation id="9215934040295798075">Tetapkan kertas dinding</translation>
+<translation id="921989828232331238">Ibu bapa anda mengunci peranti untuk hari ini</translation>
 <translation id="923686485342484400">Tekan Tekan Shift Q dua kali untuk keluar.</translation>
 <translation id="938963181863597773">Apakah acara dalam kalendar saya?</translation>
 <translation id="945522503751344254">Hantar maklum balas</translation>
diff --git a/ash/strings/ash_strings_nl.xtb b/ash/strings/ash_strings_nl.xtb
index 63cc7bc..d120d118 100644
--- a/ash/strings/ash_strings_nl.xtb
+++ b/ash/strings/ash_strings_nl.xtb
@@ -21,6 +21,7 @@
 <translation id="1270290102613614947">Schermtoetsenbord uitgeschakeld</translation>
 <translation id="1272079795634619415">Stop</translation>
 <translation id="1279938420744323401"><ph name="DISPLAY_NAME" /> (<ph name="ANNOTATION" />)</translation>
+<translation id="1289185460362160437">Kom op <ph name="COME_BACK_DAY_OF_WEEK" /> terug om <ph name="COME_BACK_TIME" />.</translation>
 <translation id="1290331692326790741">Zwak signaal</translation>
 <translation id="1293264513303784526">USB-C-apparaat (poort aan linkerkant)</translation>
 <translation id="1294929383540927798">Instellingen voor meldingen voor het vergrendelingsscherm wijzigen</translation>
@@ -98,6 +99,7 @@
 <translation id="2501920221385095727">Plaktoetsen</translation>
 <translation id="2509468283778169019">CAPS LOCK is ingeschakeld</translation>
 <translation id="2532589005999780174">Modus voor hoog contrast</translation>
+<translation id="255671100581129685">De Google Assistent is niet beschikbaar in een openbare sessie.</translation>
 <translation id="2575685495496069081">Toegang tot meerdere accounts is uitgeschakeld</translation>
 <translation id="2582112259361606227">Opnieuw starten om updates uit te voeren</translation>
 <translation id="2597972630681408282">Nachtverlichting: <ph name="NIGHT_LIGHT_STATUS" /></translation>
@@ -129,6 +131,7 @@
 <translation id="3000461861112256445">Monogeluid</translation>
 <translation id="3009178788565917040">Uitgang</translation>
 <translation id="3019353588588144572">Resterende tijd totdat de batterij volledig is opgeladen: <ph name="TIME_REMAINING" /></translation>
+<translation id="3055162170959710888">Je hebt dit apparaat vandaag <ph name="USED_TIME" /> gebruikt</translation>
 <translation id="3077734595579995578">shift</translation>
 <translation id="3081696990447829002">Menu uitvouwen</translation>
 <translation id="3087734570205094154">Onderaan</translation>
@@ -214,6 +217,7 @@
 <translation id="4659419629803378708">ChromeVox ingeschakeld</translation>
 <translation id="4734965478015604180">Horizontaal</translation>
 <translation id="476166673298332917">De beheerder van dit apparaat heeft toegang tot alle activiteit, inclusief wachtwoorden en communicatie.</translation>
+<translation id="4774338217796918551">Kom morgen terug om <ph name="COME_BACK_TIME" />.</translation>
 <translation id="4776917500594043016">Wachtwoord voor <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="4778095205580009397">De Google Assistent is niet beschikbaar in een demosessie.</translation>
 <translation id="479989351350248267">zoeken</translation>
@@ -228,6 +232,7 @@
 <translation id="4918086044614829423">Accepteren</translation>
 <translation id="4924411785043111640">Opnieuw opstarten en resetten</translation>
 <translation id="4961318399572185831">Scherm casten</translation>
+<translation id="5030687792513154421">De tijd is voorbij</translation>
 <translation id="5083553833479578423">Ontgrendel meer functies van de Assistent.</translation>
 <translation id="5136175204352732067">Ander toetsenbord aangesloten</translation>
 <translation id="5168181903108465623">Cast-apparaten beschikbaar</translation>
@@ -276,7 +281,6 @@
 <translation id="598882571027504733">Als je de update wilt downloaden, sluit je het toetsenbord aan en start je je Chromebook opnieuw op</translation>
 <translation id="5992218262414051481">De modus voor hoog contrast is ingeschakeld. Druk nogmaals op Ctrl+Zoeken+H om deze uit te schakelen.</translation>
 <translation id="6018164090099858612">Mirrormodus wordt gesloten</translation>
-<translation id="6040143037577758943">Sluiten</translation>
 <translation id="6043212731627905357">Dit beeldscherm werkt niet met je <ph name="DEVICE_TYPE" /> (het beeldscherm wordt niet ondersteund).</translation>
 <translation id="6043994281159824495">Nu uitloggen</translation>
 <translation id="6047696787498798094">Scherm delen wordt gestopt wanneer je overschakelt naar een andere gebruiker. Wil je doorgaan?</translation>
@@ -359,6 +363,7 @@
 <translation id="7510334386202674593">Ctrl+Shift+L</translation>
 <translation id="7526573455193969409">Netwerk kan worden bijgehouden</translation>
 <translation id="7536035074519304529">IP-adres: <ph name="ADDRESS" /></translation>
+<translation id="7548434653388805669">Bedtijd</translation>
 <translation id="7561014039265304140"><ph name="DISPLAY_NAME" /> ondersteunt <ph name="SPECIFIED_RESOLUTION" /> niet. De resolutie is gewijzigd in <ph name="FALLBACK_RESOLUTION" /></translation>
 <translation id="7562368315689366235">Emoji-palet</translation>
 <translation id="7564874036684306347">Verplaatsing van vensters naar een ander bureaublad kan leiden tot onverwacht gedrag. Verdere meldingen, vensters en dialoogvensters worden mogelijk verdeeld over de bureaubladen.</translation>
@@ -401,12 +406,14 @@
 <translation id="8152119955266188852">Je hebt op de sneltoets voor volledig scherm vergroten gedrukt. Wil je deze functie inschakelen?</translation>
 <translation id="8190698733819146287">Talen en invoer aanpassen...</translation>
 <translation id="8192202700944119416">Meldingen zijn verborgen.</translation>
+<translation id="8236042855478648955">Tijd voor een pauze</translation>
 <translation id="8261506727792406068">Verwijderen</translation>
 <translation id="8297006494302853456">Zwak</translation>
 <translation id="8308637677604853869">Vorig menu</translation>
 <translation id="8341451174107936385"><ph name="UNLOCK_MORE_FEATURES" />  <ph name="GET_STARTED" /></translation>
 <translation id="8351131234907093545">Notitie maken</translation>
 <translation id="8392451568018454956">Optiemenu voor <ph name="USER_EMAIL_ADDRESS" /></translation>
+<translation id="8394567579869570560">Je ouder heeft dit apparaat vergrendeld</translation>
 <translation id="8406981827175133772">Volledig scherm vergroten</translation>
 <translation id="8425213833346101688">Wijzigen</translation>
 <translation id="8427213022735114808">Bij dicteren wordt je stem verzonden naar Google, waardoor spraakgestuurd typen in tekstvelden mogelijk wordt.</translation>
@@ -436,7 +443,6 @@
 <translation id="8814190375133053267">Wifi</translation>
 <translation id="8825534185036233643">Mirroring met meer dan twee displays wordt niet ondersteund.</translation>
 <translation id="8828714802988429505">90°</translation>
-<translation id="8841375032071747811">Knop Terug</translation>
 <translation id="8843682306134542540">Draaivergrendeling schakelen. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Zoeken+Esc</translation>
 <translation id="8870509716567206129">App biedt geen ondersteuning voor gesplitst scherm.</translation>
@@ -463,6 +469,7 @@
 <translation id="9201131092683066720">De batterij is <ph name="PERCENTAGE" />% vol.</translation>
 <translation id="9210037371811586452">Samengestelde desktopmodus wordt gesloten</translation>
 <translation id="9215934040295798075">Achtergrond instellen</translation>
+<translation id="921989828232331238">Je ouder heeft je apparaat de hele dag vergrendeld</translation>
 <translation id="923686485342484400">Druk twee keer op Control+Shift+Q om uit te loggen.</translation>
 <translation id="938963181863597773">Wat staat er in mijn agenda?</translation>
 <translation id="945522503751344254">Feedback verzenden</translation>
diff --git a/ash/strings/ash_strings_no.xtb b/ash/strings/ash_strings_no.xtb
index 975d616..bd69e38d 100644
--- a/ash/strings/ash_strings_no.xtb
+++ b/ash/strings/ash_strings_no.xtb
@@ -276,7 +276,6 @@
 <translation id="598882571027504733">For å laste ned oppdateringen, start Chromebooken på nytt med tastaturet tilkoblet.</translation>
 <translation id="5992218262414051481">Høykontrastmodus er slått på. Trykk på Ctrl + Søk + H på nytt for å slå den av.</translation>
 <translation id="6018164090099858612">Avslutter speilingsmodus</translation>
-<translation id="6040143037577758943">Lukk</translation>
 <translation id="6043212731627905357">Denne skjermen liker ikke <ph name="DEVICE_TYPE" /> (skjermen støttes ikke).</translation>
 <translation id="6043994281159824495">Logg av nå</translation>
 <translation id="6047696787498798094">Skjermdelingen stopper hvis du bytter til en annen bruker.</translation>
@@ -436,7 +435,6 @@
 <translation id="8814190375133053267">Wi-Fi</translation>
 <translation id="8825534185036233643">Speiling med mer enn to skjermer støttes ikke.</translation>
 <translation id="8828714802988429505">90°</translation>
-<translation id="8841375032071747811">Tilbakeknapp</translation>
 <translation id="8843682306134542540">Slå av/på rotasjonslås. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Søk+Esc</translation>
 <translation id="8870509716567206129">Appen støtter ikke delt skjerm.</translation>
diff --git a/ash/strings/ash_strings_pl.xtb b/ash/strings/ash_strings_pl.xtb
index 040dd2b..798f4adc 100644
--- a/ash/strings/ash_strings_pl.xtb
+++ b/ash/strings/ash_strings_pl.xtb
@@ -21,6 +21,7 @@
 <translation id="1270290102613614947">Klawiatura ekranowa wyłączona</translation>
 <translation id="1272079795634619415">Zatrzymaj</translation>
 <translation id="1279938420744323401"><ph name="DISPLAY_NAME" /> (<ph name="ANNOTATION" />)</translation>
+<translation id="1289185460362160437">Możesz wrócić w: <ph name="COME_BACK_DAY_OF_WEEK" /> o <ph name="COME_BACK_TIME" />.</translation>
 <translation id="1290331692326790741">słaby sygnał</translation>
 <translation id="1293264513303784526">Urządzenie USB-C (lewy port)</translation>
 <translation id="1294929383540927798">Zmień ustawienia powiadomień na ekranie blokady</translation>
@@ -98,6 +99,7 @@
 <translation id="2501920221385095727">Klawisze trwałe</translation>
 <translation id="2509468283778169019">CAPS LOCK jest włączony.</translation>
 <translation id="2532589005999780174">Tryb wysokiego kontrastu</translation>
+<translation id="255671100581129685">Asystent Google jest niedostępny w sesji publicznej.</translation>
 <translation id="2575685495496069081">Wielokrotne logowanie jest wyłączone</translation>
 <translation id="2582112259361606227">Uruchom ponownie, by zaktualizować</translation>
 <translation id="2597972630681408282">Podświetlenie nocne: <ph name="NIGHT_LIGHT_STATUS" /></translation>
@@ -129,6 +131,7 @@
 <translation id="3000461861112256445">Dźwięk mono</translation>
 <translation id="3009178788565917040">Urządzenie wyjściowe</translation>
 <translation id="3019353588588144572">Czas pozostały do pełnego naładowania baterii: <ph name="TIME_REMAINING" /></translation>
+<translation id="3055162170959710888">Urządzenie było dziś przez Ciebie używane przez <ph name="USED_TIME" /></translation>
 <translation id="3077734595579995578">shift</translation>
 <translation id="3081696990447829002">Rozwiń menu</translation>
 <translation id="3087734570205094154">Na dół</translation>
@@ -215,6 +218,7 @@
 <translation id="4659419629803378708">Włączono ChromeVox</translation>
 <translation id="4734965478015604180">Orientacja pozioma</translation>
 <translation id="476166673298332917">Administrator tego urządzenia ma dostęp do wszystkiego, co robisz, w tym do haseł i komunikacji.</translation>
+<translation id="4774338217796918551">Możesz wrócić jutro o <ph name="COME_BACK_TIME" />.</translation>
 <translation id="4776917500594043016">Hasło dla <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="4778095205580009397">Asystent Google jest niedostępny w sesji demonstracyjnej.</translation>
 <translation id="479989351350248267">search</translation>
@@ -229,6 +233,7 @@
 <translation id="4918086044614829423">Akceptuj</translation>
 <translation id="4924411785043111640">Uruchom ponownie i zresetuj</translation>
 <translation id="4961318399572185831">Przesyłanie ekranu</translation>
+<translation id="5030687792513154421">Czas minął</translation>
 <translation id="5083553833479578423">Odblokuj więcej funkcji Asystenta.</translation>
 <translation id="5136175204352732067">Podłączono inną klawiaturę</translation>
 <translation id="5168181903108465623">Dostępne są urządzenia przesyłające</translation>
@@ -277,7 +282,6 @@
 <translation id="598882571027504733">Aby pobrać aktualizację, uruchom Chromebooka ponownie z podłączoną klawiaturą.</translation>
 <translation id="5992218262414051481">Tryb wysokiego kontrastu został włączony. Aby go wyłączyć, naciśnij ponownie Ctrl+Search+H.</translation>
 <translation id="6018164090099858612">Wyłączam tryb odbicia lustrzanego</translation>
-<translation id="6040143037577758943">Zamknij</translation>
 <translation id="6043212731627905357">Ten monitor nie działa z Twoim urządzeniem <ph name="DEVICE_TYPE" /> (nie jest obsługiwany).</translation>
 <translation id="6043994281159824495">Wyloguj się teraz</translation>
 <translation id="6047696787498798094">Gdy zmienisz użytkownika, udostępnianie ekranu zostanie zakończone. Chcesz kontynuować?</translation>
@@ -360,6 +364,7 @@
 <translation id="7510334386202674593">Ctrl+Shift+L</translation>
 <translation id="7526573455193969409">Sieć może być monitorowana</translation>
 <translation id="7536035074519304529">Adres IP: <ph name="ADDRESS" /></translation>
+<translation id="7548434653388805669">Czas iść spać</translation>
 <translation id="7561014039265304140"><ph name="DISPLAY_NAME" /> nie obsługuje <ph name="SPECIFIED_RESOLUTION" />. Zmieniono rozdzielczość na <ph name="FALLBACK_RESOLUTION" /></translation>
 <translation id="7562368315689366235">Paleta emotikonów</translation>
 <translation id="7564874036684306347">Przenoszenie okien na inny pulpit może spowodować nieoczekiwane zachowanie. Kolejne powiadomienia, okna i okna dialogowe mogą pojawiać się na różnych pulpitach.</translation>
@@ -402,12 +407,14 @@
 <translation id="8152119955266188852">Naciśnięto skrót lupy pełnoekranowej. Czy chcesz ją włączyć?</translation>
 <translation id="8190698733819146287">Dostosuj języki i metody wprowadzania...</translation>
 <translation id="8192202700944119416">Powiadomienia są ukryte.</translation>
+<translation id="8236042855478648955">Czas na przerwę</translation>
 <translation id="8261506727792406068">Usuń</translation>
 <translation id="8297006494302853456">Słaby</translation>
 <translation id="8308637677604853869">Poprzednie menu</translation>
 <translation id="8341451174107936385"><ph name="UNLOCK_MORE_FEATURES" /> <ph name="GET_STARTED" /></translation>
 <translation id="8351131234907093545">Utwórz notatkę</translation>
 <translation id="8392451568018454956">Menu opcji dla <ph name="USER_EMAIL_ADDRESS" /></translation>
+<translation id="8394567579869570560">Twój rodzic zablokował urządzenie</translation>
 <translation id="8406981827175133772">Lupa pełnego ekranu</translation>
 <translation id="8425213833346101688">Zmień</translation>
 <translation id="8427213022735114808">Dyktowanie wysyła Twój głos do Google, by umożliwić pisanie głosowe w dowolnym polu tekstowym.</translation>
@@ -437,7 +444,6 @@
 <translation id="8814190375133053267">Wi-Fi</translation>
 <translation id="8825534185036233643">Odbicie lustrzane na więcej niż dwóch wyświetlaczach nie jest obsługiwane.</translation>
 <translation id="8828714802988429505">90°</translation>
-<translation id="8841375032071747811">Przycisk Wstecz</translation>
 <translation id="8843682306134542540">Włącz lub wyłącz blokadę obracania. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Szukaj+Esc</translation>
 <translation id="8870509716567206129">Aplikacja nie obsługuje dzielonego ekranu.</translation>
@@ -464,6 +470,7 @@
 <translation id="9201131092683066720">Naładowanie baterii: <ph name="PERCENTAGE" />%.</translation>
 <translation id="9210037371811586452">Wyłączam tryb ujednoliconego pulpitu</translation>
 <translation id="9215934040295798075">Ustaw tapetę</translation>
+<translation id="921989828232331238">Twój rodzic zablokował urządzenie na cały dzień</translation>
 <translation id="923686485342484400">Naciśnij dwukrotnie Control Shift Q, by się wylogować.</translation>
 <translation id="938963181863597773">Co mam w kalendarzu?</translation>
 <translation id="945522503751344254">Wyślij zgłoszenie</translation>
diff --git a/ash/strings/ash_strings_pt-BR.xtb b/ash/strings/ash_strings_pt-BR.xtb
index dbbccd9..865b85d 100644
--- a/ash/strings/ash_strings_pt-BR.xtb
+++ b/ash/strings/ash_strings_pt-BR.xtb
@@ -21,6 +21,7 @@
 <translation id="1270290102613614947">Teclado na tela desativado</translation>
 <translation id="1272079795634619415">Parar</translation>
 <translation id="1279938420744323401"><ph name="DISPLAY_NAME" /> (<ph name="ANNOTATION" />)</translation>
+<translation id="1289185460362160437">Volte <ph name="COME_BACK_DAY_OF_WEEK" /> às <ph name="COME_BACK_TIME" />.</translation>
 <translation id="1290331692326790741">Sinal fraco</translation>
 <translation id="1293264513303784526">Dispositivo USB-C (porta da esquerda)</translation>
 <translation id="1294929383540927798">Alterar as configurações de notificação da tela de bloqueio</translation>
@@ -98,6 +99,7 @@
 <translation id="2501920221385095727">Teclas aderentes</translation>
 <translation id="2509468283778169019">CAPS LOCK está ativado</translation>
 <translation id="2532589005999780174">Modo de alto contraste</translation>
+<translation id="255671100581129685">O Google Assistente não está disponível para uma sessão pública.</translation>
 <translation id="2575685495496069081">A opção de login múltiplo foi desativada</translation>
 <translation id="2582112259361606227">Reiniciar para atualizar</translation>
 <translation id="2597972630681408282">Modo noturno: <ph name="NIGHT_LIGHT_STATUS" /></translation>
@@ -129,6 +131,7 @@
 <translation id="3000461861112256445">Áudio mono</translation>
 <translation id="3009178788565917040">Saída</translation>
 <translation id="3019353588588144572">O tempo restante até que a bateria esteja totalmente carregada é de <ph name="TIME_REMAINING" /></translation>
+<translation id="3055162170959710888">Você usou este dispositivo por <ph name="USED_TIME" /> hoje</translation>
 <translation id="3077734595579995578">shift</translation>
 <translation id="3081696990447829002">Expandir menu</translation>
 <translation id="3087734570205094154">Parte inferior</translation>
@@ -215,6 +218,7 @@
 <translation id="4659419629803378708">ChromeVox ativado</translation>
 <translation id="4734965478015604180">Horizontal</translation>
 <translation id="476166673298332917">O administrador deste dispositivo tem acesso a todas as atividades, inclusive às senhas e comunicações.</translation>
+<translation id="4774338217796918551">Volte amanhã às <ph name="COME_BACK_TIME" />.</translation>
 <translation id="4776917500594043016">Senha para <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="4778095205580009397">O Google Assistente não está disponível para uma sessão de demonstração.</translation>
 <translation id="479989351350248267">pesquisar</translation>
@@ -229,6 +233,7 @@
 <translation id="4918086044614829423">Aceitar</translation>
 <translation id="4924411785043111640">Reiniciar e redefinir</translation>
 <translation id="4961318399572185831">Transmitir tela</translation>
+<translation id="5030687792513154421">Tempo esgotado</translation>
 <translation id="5083553833479578423">Desbloqueie mais recursos do Assistente.</translation>
 <translation id="5136175204352732067">Teclado diferente conectado</translation>
 <translation id="5168181903108465623">Dispositivos de transmissão disponíveis</translation>
@@ -277,7 +282,6 @@
 <translation id="598882571027504733">Para receber a atualização, reinicie seu Chromebook com o teclado conectado.</translation>
 <translation id="5992218262414051481">Modo de alto contraste ativado. Pressione Ctrl+Pesquisa+H novamente para desativá-lo.</translation>
 <translation id="6018164090099858612">Saindo do modo espelhado</translation>
-<translation id="6040143037577758943">Fechar</translation>
 <translation id="6043212731627905357">Este monitor não está funcionando bem com seu <ph name="DEVICE_TYPE" /> (o monitor não é compatível).</translation>
 <translation id="6043994281159824495">Sair agora</translation>
 <translation id="6047696787498798094">O compartilhamento de tela será interrompido quando você alternar para outro usuário. Quer continuar?</translation>
@@ -361,6 +365,7 @@
 <translation id="7510334386202674593">Ctrl+Shift+L</translation>
 <translation id="7526573455193969409">A rede pode ser monitorada</translation>
 <translation id="7536035074519304529">Endereço IP: <ph name="ADDRESS" /></translation>
+<translation id="7548434653388805669">Hora de dormir</translation>
 <translation id="7561014039265304140"><ph name="DISPLAY_NAME" /> não suporta <ph name="SPECIFIED_RESOLUTION" />. A resolução foi alterada para <ph name="FALLBACK_RESOLUTION" /></translation>
 <translation id="7562368315689366235">Teclado de emojis</translation>
 <translation id="7564874036684306347">A movimentação de janelas para outra área de trabalho pode resultar em comportamentos inesperados. Notificações posteriores, janelas e caixas de diálogo podem ser divididas entre as áreas de trabalho.</translation>
@@ -403,12 +408,14 @@
 <translation id="8152119955266188852">Você pressionou o atalho para a lupa de tela cheia. Gostaria de ativá-la?</translation>
 <translation id="8190698733819146287">Personalizar idiomas e entrada...</translation>
 <translation id="8192202700944119416">As notificações estão ocultas.</translation>
+<translation id="8236042855478648955">Hora de fazer uma pausa</translation>
 <translation id="8261506727792406068">Excluir</translation>
 <translation id="8297006494302853456">Fraco</translation>
 <translation id="8308637677604853869">Menu anterior</translation>
 <translation id="8341451174107936385"><ph name="UNLOCK_MORE_FEATURES" />  <ph name="GET_STARTED" /></translation>
 <translation id="8351131234907093545">Criar nota</translation>
 <translation id="8392451568018454956">Menu de opções para <ph name="USER_EMAIL_ADDRESS" /></translation>
+<translation id="8394567579869570560">Seu pai/mãe bloqueou o dispositivo</translation>
 <translation id="8406981827175133772">Lupa de tela cheia</translation>
 <translation id="8425213833346101688">Alterar</translation>
 <translation id="8427213022735114808">O ditado envia sua voz para o Google e permite digitação por voz em qualquer campo de texto.</translation>
@@ -438,7 +445,6 @@
 <translation id="8814190375133053267">Wi-Fi</translation>
 <translation id="8825534185036233643">Não há suporte para o espelhamento com mais de duas telas.</translation>
 <translation id="8828714802988429505">90°</translation>
-<translation id="8841375032071747811">Botão "Voltar"</translation>
 <translation id="8843682306134542540">Alternar bloqueio de rotação. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Pesquisa+Esc</translation>
 <translation id="8870509716567206129">O app não é compatível com a divisão de tela.</translation>
@@ -465,6 +471,7 @@
 <translation id="9201131092683066720">A bateria está <ph name="PERCENTAGE" />% carregada.</translation>
 <translation id="9210037371811586452">Saindo do modo de área de trabalho unificada</translation>
 <translation id="9215934040295798075">Definir plano de fundo</translation>
+<translation id="921989828232331238">Seu pai/mãe bloqueou o dispositivo por hoje</translation>
 <translation id="923686485342484400">Pressione Control+Shift+Q duas vezes para sair.</translation>
 <translation id="938963181863597773">O que tem na minha agenda?</translation>
 <translation id="945522503751344254">Enviar comentários</translation>
diff --git a/ash/strings/ash_strings_pt-PT.xtb b/ash/strings/ash_strings_pt-PT.xtb
index e7ce6b8..7095725a 100644
--- a/ash/strings/ash_strings_pt-PT.xtb
+++ b/ash/strings/ash_strings_pt-PT.xtb
@@ -21,6 +21,7 @@
 <translation id="1270290102613614947">Teclado no ecrã desativado</translation>
 <translation id="1272079795634619415">Parar</translation>
 <translation id="1279938420744323401"><ph name="DISPLAY_NAME" /> (<ph name="ANNOTATION" />)</translation>
+<translation id="1289185460362160437">Volte <ph name="COME_BACK_DAY_OF_WEEK" /> à(s) <ph name="COME_BACK_TIME" />.</translation>
 <translation id="1290331692326790741">Sinal fraco</translation>
 <translation id="1293264513303784526">Dispositivo USB-C (porta esquerda)</translation>
 <translation id="1294929383540927798">Alterar as definições de notificação do ecrã de bloqueio</translation>
@@ -98,6 +99,7 @@
 <translation id="2501920221385095727">Teclas aderentes</translation>
 <translation id="2509468283778169019">CAPS LOCK está ativado</translation>
 <translation id="2532589005999780174">Modo de alto contraste</translation>
+<translation id="255671100581129685">O Assistente Google não está disponível numa sessão pública.</translation>
 <translation id="2575685495496069081">O início de sessão integrado foi desativado</translation>
 <translation id="2582112259361606227">Reiniciar para atualizar</translation>
 <translation id="2597972630681408282">Luz noturna: <ph name="NIGHT_LIGHT_STATUS" /></translation>
@@ -129,6 +131,7 @@
 <translation id="3000461861112256445">Áudio mono</translation>
 <translation id="3009178788565917040">Saída</translation>
 <translation id="3019353588588144572">Tempo restante até a bateria estar totalmente carregada: <ph name="TIME_REMAINING" /></translation>
+<translation id="3055162170959710888">Utilizou este dispositivo durante <ph name="USED_TIME" /> hoje.</translation>
 <translation id="3077734595579995578">shift</translation>
 <translation id="3081696990447829002">Expandir menu</translation>
 <translation id="3087734570205094154">Parte inferior</translation>
@@ -214,6 +217,7 @@
 <translation id="4659419629803378708">ChromeVox ativado</translation>
 <translation id="4734965478015604180">Horizontal</translation>
 <translation id="476166673298332917">O administrador deste dispositivo tem acesso a toda a atividade, incluindo palavras-passe e comunicações.</translation>
+<translation id="4774338217796918551">Volte amanhã à(s) <ph name="COME_BACK_TIME" />.</translation>
 <translation id="4776917500594043016">Palavra-passe para <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="4778095205580009397">O Assistente Google não está disponível numa sessão de demonstração.</translation>
 <translation id="479989351350248267">search</translation>
@@ -228,6 +232,7 @@
 <translation id="4918086044614829423">Aceitar</translation>
 <translation id="4924411785043111640">Reiniciar e repor</translation>
 <translation id="4961318399572185831">Transmitir ecrã</translation>
+<translation id="5030687792513154421">O tempo terminou</translation>
 <translation id="5083553833479578423">Desbloqueie mais funcionalidades do Assistente.</translation>
 <translation id="5136175204352732067">Teclado diferente ligado</translation>
 <translation id="5168181903108465623">Dispositivos de transmissão disponíveis</translation>
@@ -276,7 +281,6 @@
 <translation id="598882571027504733">Para obter a atualização, reinicie o Chromebook com o teclado ligado.</translation>
 <translation id="5992218262414051481">Modo de alto contraste ativado. Prima Ctrl + Pesquisa + H novamente para o desativar.</translation>
 <translation id="6018164090099858612">A sair do modo espelhado</translation>
-<translation id="6040143037577758943">Fechar</translation>
 <translation id="6043212731627905357">Este monitor está em conflito com o seu <ph name="DEVICE_TYPE" /> (o monitor não é compatível).</translation>
 <translation id="6043994281159824495">Terminar sessão agora</translation>
 <translation id="6047696787498798094">A partilha do ecrã será interrompida quando mudar para outro utilizador. Pretende continuar?</translation>
@@ -359,6 +363,7 @@
 <translation id="7510334386202674593">Ctrl+Shift+L</translation>
 <translation id="7526573455193969409">A rede pode ser monitorizada</translation>
 <translation id="7536035074519304529">Endereço IP: <ph name="ADDRESS" /></translation>
+<translation id="7548434653388805669">Hora de dormir</translation>
 <translation id="7561014039265304140"><ph name="DISPLAY_NAME" /> não suporta <ph name="SPECIFIED_RESOLUTION" />. A resolução foi alterada para <ph name="FALLBACK_RESOLUTION" /></translation>
 <translation id="7562368315689366235">Paleta de emoji</translation>
 <translation id="7564874036684306347">A movimentação de janelas para outro ambiente de trabalho pode provocar um comportamento inesperado. É possível dividir as notificações, as janelas e as caixas de diálogo subsequentes entre ambientes de trabalho.</translation>
@@ -401,12 +406,14 @@
 <translation id="8152119955266188852">Premiu o atalho da lupa de ecrã inteiro. Pretende ativá-la?</translation>
 <translation id="8190698733819146287">Personalizar idiomas e introdução...</translation>
 <translation id="8192202700944119416">As notificações estão ocultas.</translation>
+<translation id="8236042855478648955">Hora de fazer uma pausa</translation>
 <translation id="8261506727792406068">Eliminar</translation>
 <translation id="8297006494302853456">Fraca</translation>
 <translation id="8308637677604853869">Menu anterior</translation>
 <translation id="8341451174107936385"><ph name="UNLOCK_MORE_FEATURES" />  <ph name="GET_STARTED" /></translation>
 <translation id="8351131234907093545">Criar nota</translation>
 <translation id="8392451568018454956">Menu de opções para <ph name="USER_EMAIL_ADDRESS" /></translation>
+<translation id="8394567579869570560">Os teus pais bloquearam este dispositivo</translation>
 <translation id="8406981827175133772">Lupa de ecrã inteiro</translation>
 <translation id="8425213833346101688">Alterar</translation>
 <translation id="8427213022735114808">A introdução por voz envia a sua voz para o Google para permitir a digitação por voz em qualquer campo de texto.</translation>
@@ -436,7 +443,6 @@
 <translation id="8814190375133053267">Wi-Fi</translation>
 <translation id="8825534185036233643">O espelhamento com mais do que dois ecrãs não é suportado.</translation>
 <translation id="8828714802988429505">90°</translation>
-<translation id="8841375032071747811">Botão Anterior</translation>
 <translation id="8843682306134542540">Ativar/desativar bloqueio de rotação. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Pesquisa+Esc</translation>
 <translation id="8870509716567206129">A aplicação não é compatível com o ecrã dividido.</translation>
@@ -463,6 +469,7 @@
 <translation id="9201131092683066720">A bateria está <ph name="PERCENTAGE" />% cheia.</translation>
 <translation id="9210037371811586452">A sair do Modo de ambiente de trabalho unificado</translation>
 <translation id="9215934040295798075">Definir imagem de fundo</translation>
+<translation id="921989828232331238">Os teus pais bloquearam o dispositivo para o resto do dia</translation>
 <translation id="923686485342484400">Prima Control Shift Q duas vezes para terminar sessão.</translation>
 <translation id="938963181863597773">O que está no meu calendário?</translation>
 <translation id="945522503751344254">Enviar comentários</translation>
diff --git a/ash/strings/ash_strings_ro.xtb b/ash/strings/ash_strings_ro.xtb
index 46d2ace..16b2012a 100644
--- a/ash/strings/ash_strings_ro.xtb
+++ b/ash/strings/ash_strings_ro.xtb
@@ -21,6 +21,7 @@
 <translation id="1270290102613614947">Tastatură pe ecran dezactivată</translation>
 <translation id="1272079795634619415">Oprește</translation>
 <translation id="1279938420744323401"><ph name="DISPLAY_NAME" /> (<ph name="ANNOTATION" />)</translation>
+<translation id="1289185460362160437">Revino <ph name="COME_BACK_DAY_OF_WEEK" /> la <ph name="COME_BACK_TIME" />.</translation>
 <translation id="1290331692326790741">Semnal slab</translation>
 <translation id="1293264513303784526">Dispozitiv USB-C (portul din stânga)</translation>
 <translation id="1294929383540927798">Modifică setările pentru notificările de pe ecranul de blocare</translation>
@@ -98,6 +99,7 @@
 <translation id="2501920221385095727">Taste adezive</translation>
 <translation id="2509468283778169019">Tasta CAPS LOCK este activată</translation>
 <translation id="2532589005999780174">Mod de contrast ridicat</translation>
+<translation id="255671100581129685">Asistentul Google nu este disponibil într-o sesiune publică.</translation>
 <translation id="2575685495496069081">Conectarea multiplă a fost dezactivată</translation>
 <translation id="2582112259361606227">Repornește pentru a actualiza</translation>
 <translation id="2597972630681408282">Lumină de noapte: <ph name="NIGHT_LIGHT_STATUS" /></translation>
@@ -129,6 +131,7 @@
 <translation id="3000461861112256445">Audio mono</translation>
 <translation id="3009178788565917040">Ieșiri</translation>
 <translation id="3019353588588144572">Timp rămas până la încărcarea completă a bateriei: <ph name="TIME_REMAINING" /></translation>
+<translation id="3055162170959710888">Ai folosit acest dispozitiv <ph name="USED_TIME" /> astăzi</translation>
 <translation id="3077734595579995578">shift</translation>
 <translation id="3081696990447829002">Extinde meniul</translation>
 <translation id="3087734570205094154">Jos</translation>
@@ -214,6 +217,7 @@
 <translation id="4659419629803378708">ChromeVox este activat</translation>
 <translation id="4734965478015604180">Orizontal</translation>
 <translation id="476166673298332917">Administratorul acestui dispozitiv are acces la toate activitățile, inclusiv la parole și comunicații.</translation>
+<translation id="4774338217796918551">Revino mâine la <ph name="COME_BACK_TIME" />.</translation>
 <translation id="4776917500594043016">Parolă pentru <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="4778095205580009397">Asistentul Google nu este disponibil într-o sesiune demonstrativă.</translation>
 <translation id="479989351350248267">căutați</translation>
@@ -228,6 +232,7 @@
 <translation id="4918086044614829423">Accept</translation>
 <translation id="4924411785043111640">Repornește și resetează</translation>
 <translation id="4961318399572185831">Proiectează ecranul</translation>
+<translation id="5030687792513154421">Timpul a expirat</translation>
 <translation id="5083553833479578423">Deblochează mai multe funcții ale Asistentului.</translation>
 <translation id="5136175204352732067">Altă tastatură conectată</translation>
 <translation id="5168181903108465623">Dispozitive de proiecție disponibile</translation>
@@ -276,7 +281,6 @@
 <translation id="598882571027504733">Pentru a obține actualizarea, repornește Chromebookul cu tastatura atașată.</translation>
 <translation id="5992218262414051481">Modul Contrast ridicat este activat. Apasă din nou pe Ctrl + tasta de căutare + H pentru a-l dezactiva.</translation>
 <translation id="6018164090099858612">Se iese din modul oglindă</translation>
-<translation id="6040143037577758943">Închide</translation>
 <translation id="6043212731627905357">Monitorul nu funcționează cu <ph name="DEVICE_TYPE" /> (monitorul nu este compatibil).</translation>
 <translation id="6043994281159824495">Deconectați-vă acum</translation>
 <translation id="6047696787498798094">Permiterea accesului la ecran încetează când comuți la alt utilizator. Dorești să continui?</translation>
@@ -359,6 +363,7 @@
 <translation id="7510334386202674593">Ctrl + Shift + L</translation>
 <translation id="7526573455193969409">Este posibil ca rețeaua să fie monitorizată</translation>
 <translation id="7536035074519304529">Adresă IP: <ph name="ADDRESS" /></translation>
+<translation id="7548434653388805669">Este timpul pentru culcare</translation>
 <translation id="7561014039265304140"><ph name="DISPLAY_NAME" /> nu acceptă <ph name="SPECIFIED_RESOLUTION" />. Rezoluția a fost modificată la <ph name="FALLBACK_RESOLUTION" /></translation>
 <translation id="7562368315689366235">Paletă cu emoji</translation>
 <translation id="7564874036684306347">Mutarea ferestrelor pe alt desktop poate duce la un comportament neașteptat. Notificările, ferestrele și casetele de dialog ulterioare ar putea fi împărțite între ecrane.</translation>
@@ -401,12 +406,14 @@
 <translation id="8152119955266188852">Ai accesat comanda rapidă pentru lupa de ecran complet. Vrei să o activezi?</translation>
 <translation id="8190698733819146287">Personalizează limbile și modul de introducere...</translation>
 <translation id="8192202700944119416">Notificările sunt ascunse.</translation>
+<translation id="8236042855478648955">E timpul pentru o pauză</translation>
 <translation id="8261506727792406068">Șterge</translation>
 <translation id="8297006494302853456">Slab</translation>
 <translation id="8308637677604853869">Meniul anterior</translation>
 <translation id="8341451174107936385"><ph name="UNLOCK_MORE_FEATURES" />  <ph name="GET_STARTED" /></translation>
 <translation id="8351131234907093545">Creează o notă</translation>
 <translation id="8392451568018454956">Meniu cu opțiuni pentru <ph name="USER_EMAIL_ADDRESS" /></translation>
+<translation id="8394567579869570560">Părintele tău a blocat dispozitivul</translation>
 <translation id="8406981827175133772">Lupă de ecran complet</translation>
 <translation id="8425213833346101688">Modificați</translation>
 <translation id="8427213022735114808">Dictarea îți trimite vocea la Google pentru a permite tastarea vocală în orice câmp de text.</translation>
@@ -436,7 +443,6 @@
 <translation id="8814190375133053267">Wi-Fi</translation>
 <translation id="8825534185036233643">Oglindirea cu mai mult de două afișaje nu este acceptată.</translation>
 <translation id="8828714802988429505">90°</translation>
-<translation id="8841375032071747811">Butonul Înapoi</translation>
 <translation id="8843682306134542540">Comută blocarea rotației. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Tasta de căutare + Esc</translation>
 <translation id="8870509716567206129">Aplicația nu acceptă ecranul împărțit.</translation>
@@ -463,6 +469,7 @@
 <translation id="9201131092683066720">Nivelul bateriei este de <ph name="PERCENTAGE" />%.</translation>
 <translation id="9210037371811586452">Se iese din modul desktop unificat</translation>
 <translation id="9215934040295798075">Setează o imagine de fundal</translation>
+<translation id="921989828232331238">Părintele tău ți-a blocat dispozitivul pentru întreaga zi</translation>
 <translation id="923686485342484400">Apăsați de două ori Control Shift Q pentru a vă deconecta.</translation>
 <translation id="938963181863597773">Ce am în calendar?</translation>
 <translation id="945522503751344254">Trimite feedback</translation>
diff --git a/ash/strings/ash_strings_ru.xtb b/ash/strings/ash_strings_ru.xtb
index 566c94f..f620edbe 100644
--- a/ash/strings/ash_strings_ru.xtb
+++ b/ash/strings/ash_strings_ru.xtb
@@ -21,6 +21,7 @@
 <translation id="1270290102613614947">Экранная клавиатура отключена</translation>
 <translation id="1272079795634619415">Остановить</translation>
 <translation id="1279938420744323401"><ph name="DISPLAY_NAME" /> (<ph name="ANNOTATION" />)</translation>
+<translation id="1289185460362160437">Устройство станет доступно в <ph name="COME_BACK_TIME" /> (<ph name="COME_BACK_DAY_OF_WEEK" />).</translation>
 <translation id="1290331692326790741">слабый сигнал</translation>
 <translation id="1293264513303784526">Устройство USB-C (порт слева)</translation>
 <translation id="1294929383540927798">Изменить настройки уведомлений на заблокированном экране</translation>
@@ -98,6 +99,7 @@
 <translation id="2501920221385095727">Залипание клавиш</translation>
 <translation id="2509468283778169019">Включен режим CAPS LOCK</translation>
 <translation id="2532589005999780174">Режим высокой контрастности</translation>
+<translation id="255671100581129685">Google Ассистент не работает в сеансе общего доступа.</translation>
 <translation id="2575685495496069081">Множественный вход отключен</translation>
 <translation id="2582112259361606227">Перезагрузить и обновить</translation>
 <translation id="2597972630681408282">Ночной режим: <ph name="NIGHT_LIGHT_STATUS" /></translation>
@@ -129,6 +131,7 @@
 <translation id="3000461861112256445">Монофонический звук</translation>
 <translation id="3009178788565917040">Выход</translation>
 <translation id="3019353588588144572">Оставшееся время до полной зарядки батареи: <ph name="TIME_REMAINING" />.</translation>
+<translation id="3055162170959710888">Сегодня вы уже использовали это устройство <ph name="USED_TIME" />.</translation>
 <translation id="3077734595579995578">shift</translation>
 <translation id="3081696990447829002">Развернуть меню</translation>
 <translation id="3087734570205094154">Снизу</translation>
@@ -214,6 +217,7 @@
 <translation id="4659419629803378708">Функция ChromeVox включена</translation>
 <translation id="4734965478015604180">Горизонтальная ориентация</translation>
 <translation id="476166673298332917">Администратору этого устройства доступна информация обо всех действиях, а также пароли и сообщения.</translation>
+<translation id="4774338217796918551">Возвращайтесь завтра в <ph name="COME_BACK_TIME" />.</translation>
 <translation id="4776917500594043016">Пароль для адреса электронной почты <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="4778095205580009397">Google Ассистент в демонстрационном сеансе недоступен</translation>
 <translation id="479989351350248267">поиск</translation>
@@ -228,6 +232,7 @@
 <translation id="4918086044614829423">Принять</translation>
 <translation id="4924411785043111640">Перезапустить и сбросить настройки</translation>
 <translation id="4961318399572185831">Трансляция экрана</translation>
+<translation id="5030687792513154421">Время вышло</translation>
 <translation id="5083553833479578423">Получите доступ к другим возможностям Ассистента.</translation>
 <translation id="5136175204352732067">Подключена другая клавиатура</translation>
 <translation id="5168181903108465623">Доступны устройства для трансляции</translation>
@@ -276,7 +281,6 @@
 <translation id="598882571027504733">Чтобы выполнить обновление, перезагрузите устройство Chromebook, не отключая от него клавиатуру.</translation>
 <translation id="5992218262414051481">Режим высокой контрастности включен. Чтобы отключить его, нажмите CTRL + ПОИСК + H.</translation>
 <translation id="6018164090099858612">Выход из режима трансляции…</translation>
-<translation id="6040143037577758943">Закрыть</translation>
 <translation id="6043212731627905357">Монитор не совместим с устройством <ph name="DEVICE_TYPE" />.</translation>
 <translation id="6043994281159824495">Выйти</translation>
 <translation id="6047696787498798094">Если перейти к другому пользователю, доступ к экрану будет закрыт. Продолжить?</translation>
@@ -359,6 +363,7 @@
 <translation id="7510334386202674593">Ctrl + Shift + L</translation>
 <translation id="7526573455193969409">Сеть может отслеживаться</translation>
 <translation id="7536035074519304529">IP-адрес: <ph name="ADDRESS" /></translation>
+<translation id="7548434653388805669">Пора ложиться спать</translation>
 <translation id="7561014039265304140">Дисплей <ph name="DISPLAY_NAME" /> не поддерживает разрешение <ph name="SPECIFIED_RESOLUTION" />. Будет использовано разрешение <ph name="FALLBACK_RESOLUTION" />.</translation>
 <translation id="7562368315689366235">Меню смайликов</translation>
 <translation id="7564874036684306347">При переносе окон на другой рабочий стол иногда возникают ошибки. Уведомления и диалоговые окна могут появляться на разных рабочих столах.</translation>
@@ -401,12 +406,14 @@
 <translation id="8152119955266188852">Вы нажали сочетание клавиш для полноэкранной лупы. Включить ее?</translation>
 <translation id="8190698733819146287">Настройки языков и ввода…</translation>
 <translation id="8192202700944119416">Уведомления скрыты</translation>
+<translation id="8236042855478648955">Пора сделать перерыв</translation>
 <translation id="8261506727792406068">Удалить</translation>
 <translation id="8297006494302853456">Слабый</translation>
 <translation id="8308637677604853869">Предыдущее меню</translation>
 <translation id="8341451174107936385"><ph name="UNLOCK_MORE_FEATURES" />  <ph name="GET_STARTED" /></translation>
 <translation id="8351131234907093545">Создать заметку</translation>
 <translation id="8392451568018454956">Меню параметров пользователя "<ph name="USER_EMAIL_ADDRESS" />"</translation>
+<translation id="8394567579869570560">Ваш родитель заблокировал это устройство.</translation>
 <translation id="8406981827175133772">Полноэкранная лупа</translation>
 <translation id="8425213833346101688">Изменить</translation>
 <translation id="8427213022735114808">Запись вашего голоса отправляется в Google. Это позволяет использовать голосовой набор для любого текстового поля.</translation>
@@ -436,7 +443,6 @@
 <translation id="8814190375133053267">Wi-Fi</translation>
 <translation id="8825534185036233643">Зеркалирование более двух дисплеев не поддерживается.</translation>
 <translation id="8828714802988429505">90°</translation>
-<translation id="8841375032071747811">Назад</translation>
 <translation id="8843682306134542540">Изменить настройки автоповорота экрана. <ph name="STATE_TEXT" />.</translation>
 <translation id="8850991929411075241">Клавиша поиска + Esc</translation>
 <translation id="8870509716567206129">Приложение не поддерживает разделение экрана.j</translation>
@@ -463,6 +469,7 @@
 <translation id="9201131092683066720">Батарея заряжена на <ph name="PERCENTAGE" />%.</translation>
 <translation id="9210037371811586452">Выход из режима единого рабочего стола…</translation>
 <translation id="9215934040295798075">Выбрать обои</translation>
+<translation id="921989828232331238">Ваш родитель заблокировал это устройство на целый день.</translation>
 <translation id="923686485342484400">Чтобы выйти, дважды нажмите Control+Shift+Q.</translation>
 <translation id="938963181863597773">Что у меня запланировано?</translation>
 <translation id="945522503751344254">Отправить отзыв</translation>
diff --git a/ash/strings/ash_strings_sk.xtb b/ash/strings/ash_strings_sk.xtb
index f33ede3c..7a9977b 100644
--- a/ash/strings/ash_strings_sk.xtb
+++ b/ash/strings/ash_strings_sk.xtb
@@ -21,6 +21,7 @@
 <translation id="1270290102613614947">Klávesnica na obrazovke je zakázaná</translation>
 <translation id="1272079795634619415">Zastaviť</translation>
 <translation id="1279938420744323401"><ph name="DISPLAY_NAME" /> (<ph name="ANNOTATION" />)</translation>
+<translation id="1289185460362160437">Vráťte sa o <ph name="COME_BACK_TIME" /> v tento deň: <ph name="COME_BACK_DAY_OF_WEEK" /></translation>
 <translation id="1290331692326790741">Slabý signál</translation>
 <translation id="1293264513303784526">Zariadenie USB-C (port vľavo)</translation>
 <translation id="1294929383540927798">Zmeňte nastavenia upozornení na uzamknutej obrazovke</translation>
@@ -98,6 +99,7 @@
 <translation id="2501920221385095727">Funkcia sticky keys</translation>
 <translation id="2509468283778169019">Kláves CAPS LOCK je zapnutý</translation>
 <translation id="2532589005999780174">Režim s vysokým kontrastom</translation>
+<translation id="255671100581129685">Asistent Google nie je k dispozícii vo verejnej relácii.</translation>
 <translation id="2575685495496069081">Viacnásobné prihlásenie bolo zakázané</translation>
 <translation id="2582112259361606227">Reštartovaním vykonáte aktualizáciu</translation>
 <translation id="2597972630681408282">Nočný režim: <ph name="NIGHT_LIGHT_STATUS" /></translation>
@@ -129,6 +131,7 @@
 <translation id="3000461861112256445">Zvuk mono</translation>
 <translation id="3009178788565917040">Výstup</translation>
 <translation id="3019353588588144572">Čas zostávajúci do úplného nabitia batérie: <ph name="TIME_REMAINING" /></translation>
+<translation id="3055162170959710888">Toto zariadenie si dnes používal(a) <ph name="USED_TIME" /></translation>
 <translation id="3077734595579995578">shift</translation>
 <translation id="3081696990447829002">Rozbaliť ponuku</translation>
 <translation id="3087734570205094154">Spodok</translation>
@@ -214,6 +217,7 @@
 <translation id="4659419629803378708">Funkcia ChromeVox je povolená</translation>
 <translation id="4734965478015604180">Na šírku</translation>
 <translation id="476166673298332917">Správca tohto zariadenia má prístup k všetkým aktivitám vrátane hesiel a komunikácií.</translation>
+<translation id="4774338217796918551">Vráťte sa o <ph name="COME_BACK_TIME" />.</translation>
 <translation id="4776917500594043016">Heslo pre účet <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="4778095205580009397">Asistent Google nie je k dispozícii v relácii ukážky.</translation>
 <translation id="479989351350248267">search</translation>
@@ -228,6 +232,7 @@
 <translation id="4918086044614829423">Prijať</translation>
 <translation id="4924411785043111640">Reštartovať a resetovať</translation>
 <translation id="4961318399572185831">Prenášanie obrazovky</translation>
+<translation id="5030687792513154421">Čas vypršal</translation>
 <translation id="5083553833479578423">Odblokujte ďalšie funkcie Asistenta.</translation>
 <translation id="5136175204352732067">Bola pripojená iná klávesnica</translation>
 <translation id="5168181903108465623">Dostupné zariadenia na prenos</translation>
@@ -276,7 +281,6 @@
 <translation id="598882571027504733">Ak chcete získať aktualizáciu, Chromebook s pripojenou klávesnicou reštartujte.</translation>
 <translation id="5992218262414051481">Režim vysokého kontrastu je aktívny. Vypnete ho opätovným stlačením kombinácie klávesov Ctrl+Hľadať+H.</translation>
 <translation id="6018164090099858612">Ukončuje sa režim zrkadlenia</translation>
-<translation id="6040143037577758943">Zavrieť</translation>
 <translation id="6043212731627905357">Tento monitor nie je kompatibilný s vaším zariadením <ph name="DEVICE_TYPE" /> (monitor nie je podporovaný).</translation>
 <translation id="6043994281159824495">Odhlásiť sa</translation>
 <translation id="6047696787498798094">Keď prepnete na iného používateľa, zdieľanie obrazovky sa ukončí. Chcete pokračovať?</translation>
@@ -294,6 +298,7 @@
 <translation id="6297287540776456956">Pomocou dotykového pera vyberte oblasť</translation>
 <translation id="6310121235600822547">Obrazovka <ph name="DISPLAY_NAME" /> bola otočená o <ph name="ROTATION" /></translation>
 <translation id="632744581670418035">Prekryvná vrstva klávesnice</translation>
+<translation id="6344698853700675736">Prepnúť Nočný režim</translation>
 <translation id="6376931439017688372">Rozhranie Bluetooth je zapnuté</translation>
 <translation id="639644700271529076">CAPS LOCK je vypnutý</translation>
 <translation id="6406704438230478924">altgr</translation>
@@ -358,6 +363,7 @@
 <translation id="7510334386202674593">Ctrl+Shift+L</translation>
 <translation id="7526573455193969409">Sieť môže byť sledovaná</translation>
 <translation id="7536035074519304529">Adresa IP: <ph name="ADDRESS" /></translation>
+<translation id="7548434653388805669">Je čas ísť do postele</translation>
 <translation id="7561014039265304140">Obrazovka <ph name="DISPLAY_NAME" /> nepodporuje rozlíšenie <ph name="SPECIFIED_RESOLUTION" />. Rozlíšenie bolo zmenené na <ph name="FALLBACK_RESOLUTION" /></translation>
 <translation id="7562368315689366235">Paleta emodži</translation>
 <translation id="7564874036684306347">Presunutie okien na inú obrazovku môže spôsobiť neočakávané správanie. Nasledujúce upozornenia, okná a dialógové okná sa môžu zobraziť rozdelené na viacerých pracovných plochách.</translation>
@@ -400,12 +406,14 @@
 <translation id="8152119955266188852">Stlačili ste skratku lupy na celú obrazovku. Chcete ju zapnúť?</translation>
 <translation id="8190698733819146287">Prebieha prispôsobenie jazykov a vstupu...</translation>
 <translation id="8192202700944119416">Upozornenia sú skryté.</translation>
+<translation id="8236042855478648955">Čas na prestávku</translation>
 <translation id="8261506727792406068">Odstrániť</translation>
 <translation id="8297006494302853456">Slabé</translation>
 <translation id="8308637677604853869">Predchádzajúca ponuka</translation>
 <translation id="8341451174107936385"><ph name="UNLOCK_MORE_FEATURES" />  <ph name="GET_STARTED" /></translation>
 <translation id="8351131234907093545">Vytvoriť poznámku</translation>
 <translation id="8392451568018454956">Ponuka možností pre používateľa <ph name="USER_EMAIL_ADDRESS" /></translation>
+<translation id="8394567579869570560">Rodič uzamkol toto zariadenie</translation>
 <translation id="8406981827175133772">Lupa na celú obrazovku</translation>
 <translation id="8425213833346101688">Zmeniť</translation>
 <translation id="8427213022735114808">Diktovanie odosiela váš hlas do Googlu a umožňuje tak hlasové zadávanie do všetkých textových polí.</translation>
@@ -435,7 +443,6 @@
 <translation id="8814190375133053267">Wi‑Fi</translation>
 <translation id="8825534185036233643">Zrkadlenie s viac ako dvoma obrazovkami nie je podporované.</translation>
 <translation id="8828714802988429505">90 °</translation>
-<translation id="8841375032071747811">Tlačidlo Späť</translation>
 <translation id="8843682306134542540">Prepnúť uzamknutie otočenia. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Hľadať+Esc</translation>
 <translation id="8870509716567206129">Aplikácia nepodporuje rozdelenú obrazovku.</translation>
@@ -462,6 +469,7 @@
 <translation id="9201131092683066720">Batéria je nabitá na <ph name="PERCENTAGE" /> %.</translation>
 <translation id="9210037371811586452">Ukončuje sa režim jednotnej pracovnej plochy</translation>
 <translation id="9215934040295798075">Nastaviť tapetu</translation>
+<translation id="921989828232331238">Rodič na dnes toto zariadenie uzamkol</translation>
 <translation id="923686485342484400">Ak sa chcete odhlásiť, stlačte dvakrát kombináciu klávesov Ctrl, Shift a Q.</translation>
 <translation id="938963181863597773">Čo mám v kalendári?</translation>
 <translation id="945522503751344254">Poslať spätnú väzbu</translation>
diff --git a/ash/strings/ash_strings_sl.xtb b/ash/strings/ash_strings_sl.xtb
index b1317eb..dc1755d 100644
--- a/ash/strings/ash_strings_sl.xtb
+++ b/ash/strings/ash_strings_sl.xtb
@@ -21,6 +21,7 @@
 <translation id="1270290102613614947">Zaslonska tipkovnica onemogočena</translation>
 <translation id="1272079795634619415">Ustavi</translation>
 <translation id="1279938420744323401"><ph name="DISPLAY_NAME" /> (<ph name="ANNOTATION" />)</translation>
+<translation id="1289185460362160437">Vrni se ta dan ob <ph name="COME_BACK_TIME" />: <ph name="COME_BACK_DAY_OF_WEEK" />.</translation>
 <translation id="1290331692326790741">Šibek signal</translation>
 <translation id="1293264513303784526">Naprava USB-C (leva vrata)</translation>
 <translation id="1294929383540927798">Spreminjanje nastavitve obvestil na zaklenjenem zaslonu</translation>
@@ -98,6 +99,7 @@
 <translation id="2501920221385095727">Zaklepanje tipk</translation>
 <translation id="2509468283778169019">Tipka CAPS LOCK je vklopljena</translation>
 <translation id="2532589005999780174">Visokokontrastni način</translation>
+<translation id="255671100581129685">Pomočnik Google ni na voljo v javni seji.</translation>
 <translation id="2575685495496069081">Prijava z več računi je onemogočena</translation>
 <translation id="2582112259361606227">Znova zaženite za posodobitev</translation>
 <translation id="2597972630681408282">Nočna svetloba: <ph name="NIGHT_LIGHT_STATUS" /></translation>
@@ -129,6 +131,7 @@
 <translation id="3000461861112256445">Mono zvok</translation>
 <translation id="3009178788565917040">Izhod</translation>
 <translation id="3019353588588144572">Preostali čas do napolnitve akumulatorja, <ph name="TIME_REMAINING" /></translation>
+<translation id="3055162170959710888">To napravo si danes uporabljal <ph name="USED_TIME" /></translation>
 <translation id="3077734595579995578">shift</translation>
 <translation id="3081696990447829002">Razširi meni</translation>
 <translation id="3087734570205094154">Na dno</translation>
@@ -214,6 +217,7 @@
 <translation id="4659419629803378708">Omogočen je ChromeVox</translation>
 <translation id="4734965478015604180">Vodoravno</translation>
 <translation id="476166673298332917">Skrbnik te naprave ima dostop do vse dejavnosti, vključno z gesli in komunikacijami.</translation>
+<translation id="4774338217796918551">Vrni se jutri ob <ph name="COME_BACK_TIME" />.</translation>
 <translation id="4776917500594043016">Geslo za <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="4778095205580009397">Pomočnik Google ni na voljo v predstavitveni seji.</translation>
 <translation id="479989351350248267">search</translation>
@@ -228,6 +232,7 @@
 <translation id="4918086044614829423">Sprejmi</translation>
 <translation id="4924411785043111640">Znova zaženi in ponastavi</translation>
 <translation id="4961318399572185831">Predvajanje zaslona</translation>
+<translation id="5030687792513154421">Dovoljeni čas je potekel</translation>
 <translation id="5083553833479578423">Odklenite več funkcij Pomočnika.</translation>
 <translation id="5136175204352732067">Priklopljena je druga tipkovnica</translation>
 <translation id="5168181903108465623">Naprave za predvajanje so na voljo</translation>
@@ -276,7 +281,6 @@
 <translation id="598882571027504733">Če želite prejeti posodobitev, znova zaženite Chromebook s priklopljeno tipkovnico.</translation>
 <translation id="5992218262414051481">Visokokontrastni način je omogočen. Če ga želite izklopiti, znova pritisnite Ctrl + tipko za iskanje + H.</translation>
 <translation id="6018164090099858612">Izhod iz zrcalnega načina</translation>
-<translation id="6040143037577758943">Zapri</translation>
 <translation id="6043212731627905357">Ta monitor se ne ujema z napravo <ph name="DEVICE_TYPE" /> (monitor ni podprt).</translation>
 <translation id="6043994281159824495">Odjava</translation>
 <translation id="6047696787498798094">Ko preklopite na drugega uporabnika, bo skupna raba zaslona ustavljena. Ali želite nadaljevati?</translation>
@@ -359,6 +363,7 @@
 <translation id="7510334386202674593">Ctrl + Shift + L</translation>
 <translation id="7526573455193969409">Omrežje je morda nadzorovano</translation>
 <translation id="7536035074519304529">Naslov IP: <ph name="ADDRESS" /></translation>
+<translation id="7548434653388805669">Čas je za spanje</translation>
 <translation id="7561014039265304140"><ph name="DISPLAY_NAME" /> ne podpira ločljivosti <ph name="SPECIFIED_RESOLUTION" />. Spremenjena je bila na <ph name="FALLBACK_RESOLUTION" /></translation>
 <translation id="7562368315689366235">Paleta emodžijev</translation>
 <translation id="7564874036684306347">Če okna premaknete na drugo namizje, lahko pride do nepričakovanega delovanja. Nadaljnja obvestila, okna in pogovorna okna so lahko razdeljena med namizji.</translation>
@@ -401,12 +406,14 @@
 <translation id="8152119955266188852">Pritisnili ste bližnjico za celozaslonsko lupo. Ali jo želite vklopiti?</translation>
 <translation id="8190698733819146287">Prilagajanje jezikov in vnosa ...</translation>
 <translation id="8192202700944119416">Obvestila so skrita.</translation>
+<translation id="8236042855478648955">Čas je za premor</translation>
 <translation id="8261506727792406068">Izbriši</translation>
 <translation id="8297006494302853456">Šibek</translation>
 <translation id="8308637677604853869">Prejšnji meni</translation>
 <translation id="8341451174107936385"><ph name="UNLOCK_MORE_FEATURES" />  <ph name="GET_STARTED" /></translation>
 <translation id="8351131234907093545">Ustvarjanje zapiska</translation>
 <translation id="8392451568018454956">Meni z možnostmi za <ph name="USER_EMAIL_ADDRESS" /></translation>
+<translation id="8394567579869570560">Tvoj starš je zaklenil to napravo</translation>
 <translation id="8406981827175133772">Celozaslonska lupa</translation>
 <translation id="8425213833346101688">Spremeni</translation>
 <translation id="8427213022735114808">Narekovanje pošlje vaš glas v Google zaradi omogočanja glasovnega vnašanja v poljubnem besedilnem polju.</translation>
@@ -436,7 +443,6 @@
 <translation id="8814190375133053267">Wi-Fi</translation>
 <translation id="8825534185036233643">Zrcaljenje z več kot dvema zaslonoma ni podprto.</translation>
 <translation id="8828714802988429505">90°</translation>
-<translation id="8841375032071747811">Gumb za nazaj</translation>
 <translation id="8843682306134542540">Preklop zaklepanja zasuka. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Iskanje + Esc</translation>
 <translation id="8870509716567206129">Aplikacija ne podpira načina razdeljenega zaslona.</translation>
@@ -463,6 +469,7 @@
 <translation id="9201131092683066720">Napolnjenost akumulatorja: <ph name="PERCENTAGE" /> %.</translation>
 <translation id="9210037371811586452">Izhod iz načina enotnega namizja</translation>
 <translation id="9215934040295798075">Nastavi sliko za ozadje</translation>
+<translation id="921989828232331238">Tvoj starš je zaklenil napravo za ves dan</translation>
 <translation id="923686485342484400">Dvakrat pritisnite Control Shift Q, če se želite odjaviti.</translation>
 <translation id="938963181863597773">Kaj je v mojem koledarju?</translation>
 <translation id="945522503751344254">Pošlji povratne informacije</translation>
diff --git a/ash/strings/ash_strings_sr.xtb b/ash/strings/ash_strings_sr.xtb
index 89e47fdd..8888045 100644
--- a/ash/strings/ash_strings_sr.xtb
+++ b/ash/strings/ash_strings_sr.xtb
@@ -21,6 +21,7 @@
 <translation id="1270290102613614947">Тастатура на екрану је онемогућена</translation>
 <translation id="1272079795634619415">Заустави</translation>
 <translation id="1279938420744323401"><ph name="DISPLAY_NAME" /> (<ph name="ANNOTATION" />)</translation>
+<translation id="1289185460362160437">Вратите се у: <ph name="COME_BACK_DAY_OF_WEEK" /> у <ph name="COME_BACK_TIME" />.</translation>
 <translation id="1290331692326790741">Слаб сигнал</translation>
 <translation id="1293264513303784526">Уређај са USB прикључком типа C (леви порт)</translation>
 <translation id="1294929383540927798">Промените подешавања обавештења на закључаном екрану</translation>
@@ -90,7 +91,7 @@
 <translation id="2391579633712104609">180°</translation>
 <translation id="239188844683466770">Укључите/искључите Не узнемиравај</translation>
 <translation id="2412593942846481727">Доступно је ажурирање</translation>
-<translation id="2413728805700750528"><ph name="DISPLAY_NAME" /> је сесија којом се управља, а којом управља <ph name="DOMAIN" /></translation>
+<translation id="2413728805700750528"><ph name="DISPLAY_NAME" /> је сесија којом управља <ph name="DOMAIN" /></translation>
 <translation id="2416346634399901812">Повезани сте са мрежом <ph name="NETWORK_NAME" /></translation>
 <translation id="2429753432712299108">Bluetooth уређај „<ph name="DEVICE_NAME" />“ жели дозволу за упаривање. Пре него што му је дате, уверите се да је ова шифра приказана на том уређају: <ph name="PASSKEY" /></translation>
 <translation id="2482878487686419369">Обавештења</translation>
@@ -98,6 +99,7 @@
 <translation id="2501920221385095727">Лепљиви тастери</translation>
 <translation id="2509468283778169019">CAPS LOCK је укључен</translation>
 <translation id="2532589005999780174">Режим високог контраста</translation>
+<translation id="255671100581129685">Google помоћник није доступан у јавној сесији.</translation>
 <translation id="2575685495496069081">Онемогућено је вишеструко пријављивање</translation>
 <translation id="2582112259361606227">Рестартујте да бисте ажурирали</translation>
 <translation id="2597972630681408282">Ноћно светло: <ph name="NIGHT_LIGHT_STATUS" /></translation>
@@ -129,6 +131,7 @@
 <translation id="3000461861112256445">Моно звук</translation>
 <translation id="3009178788565917040">Излаз</translation>
 <translation id="3019353588588144572">Време које је преостало док се батерија у потпуности не напуни, <ph name="TIME_REMAINING" /></translation>
+<translation id="3055162170959710888">Данас користите овај уређај већ <ph name="USED_TIME" /></translation>
 <translation id="3077734595579995578">shift</translation>
 <translation id="3081696990447829002">Прошири мени</translation>
 <translation id="3087734570205094154">Дно</translation>
@@ -214,6 +217,7 @@
 <translation id="4659419629803378708">ChromeVox је омогућен</translation>
 <translation id="4734965478015604180">Хоризонтално</translation>
 <translation id="476166673298332917">Администратор овог уређаја има приступ свим активностима, укључујући лозинке и комуникацију.</translation>
+<translation id="4774338217796918551">Вратите се сутра у <ph name="COME_BACK_TIME" />.</translation>
 <translation id="4776917500594043016">Лозинка за <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="4778095205580009397">Google помоћник није доступан у сесији демонстрације.</translation>
 <translation id="479989351350248267">search</translation>
@@ -228,6 +232,7 @@
 <translation id="4918086044614829423">Прихвати</translation>
 <translation id="4924411785043111640">Рестартуј и ресетуј</translation>
 <translation id="4961318399572185831">Пребацивање екрана</translation>
+<translation id="5030687792513154421">Време је истекло</translation>
 <translation id="5083553833479578423">Откључајте још функција Помоћника.</translation>
 <translation id="5136175204352732067">Нека друга тастатура је повезана</translation>
 <translation id="5168181903108465623">Доступни су уређаји за пребацивање</translation>
@@ -276,7 +281,6 @@
 <translation id="598882571027504733">Да бисте преузели ажурирање, рестартујте Chromebook са прикљученом тастастуром.</translation>
 <translation id="5992218262414051481">Режим високог контраста је омогућен. Притисните Ctrl + тастер за претрагу + H поново да бисте га искључили.</translation>
 <translation id="6018164090099858612">Излазак из режима са пресликавањем</translation>
-<translation id="6040143037577758943">Затвори</translation>
 <translation id="6043212731627905357">Овај монитор није компатибилан са уређајем <ph name="DEVICE_TYPE" /> (монитор није подржан).</translation>
 <translation id="6043994281159824495">Одјави ме одмах</translation>
 <translation id="6047696787498798094">Дељење екрана ће се прекинути када пребаците на другог корисника. Желите ли да наставите?</translation>
@@ -359,6 +363,7 @@
 <translation id="7510334386202674593">Ctrl+Shift+L</translation>
 <translation id="7526573455193969409">Мрежа се можда надгледа</translation>
 <translation id="7536035074519304529">IP адреса: <ph name="ADDRESS" /></translation>
+<translation id="7548434653388805669">Време је за спавање</translation>
 <translation id="7561014039265304140"><ph name="DISPLAY_NAME" /> не подржава <ph name="SPECIFIED_RESOLUTION" />. Резолуција је промењена на <ph name="FALLBACK_RESOLUTION" /></translation>
 <translation id="7562368315689366235">Палета емоџија</translation>
 <translation id="7564874036684306347">Премештање прозора на други рачунар може да доведе до неочекиваног понашања. Накнадна обавештења, прозори и дијалози ће можда бити подељени између рачунара.</translation>
@@ -401,12 +406,14 @@
 <translation id="8152119955266188852">Притиснули сте пречицу за лупу за цео екран. Желите ли да је укључите?</translation>
 <translation id="8190698733819146287">Прилагоди језике и унос...</translation>
 <translation id="8192202700944119416">Обавештења су сакривена.</translation>
+<translation id="8236042855478648955">Време је за паузу</translation>
 <translation id="8261506727792406068">Избриши</translation>
 <translation id="8297006494302853456">Слаб</translation>
 <translation id="8308637677604853869">Претходни мени</translation>
 <translation id="8341451174107936385"><ph name="UNLOCK_MORE_FEATURES" />  <ph name="GET_STARTED" /></translation>
 <translation id="8351131234907093545">Направите белешку</translation>
 <translation id="8392451568018454956">Мени са опцијама за <ph name="USER_EMAIL_ADDRESS" /></translation>
+<translation id="8394567579869570560">Родитељ је закључао овај уређај</translation>
 <translation id="8406981827175133772">Лупа за цео екран</translation>
 <translation id="8425213833346101688">Промени</translation>
 <translation id="8427213022735114808">Диктирање шаље глас Google-у да би се омогућило писање гласом у пољима за текст.</translation>
@@ -436,7 +443,6 @@
 <translation id="8814190375133053267">Wi-Fi</translation>
 <translation id="8825534185036233643">Пресликавање са више од два екрана није подржано.</translation>
 <translation id="8828714802988429505">90°</translation>
-<translation id="8841375032071747811">Дугме Назад</translation>
 <translation id="8843682306134542540">Укључите/искључите закључавање ротације. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Search+Esc</translation>
 <translation id="8870509716567206129">Апликација не подржава подељени екран.</translation>
@@ -463,6 +469,7 @@
 <translation id="9201131092683066720">Батерија је <ph name="PERCENTAGE" />% пуна.</translation>
 <translation id="9210037371811586452">Излазак из режима спојених радних површина</translation>
 <translation id="9215934040295798075">Подеси позадину</translation>
+<translation id="921989828232331238">Родитељ је закључао уређај за овај дан</translation>
 <translation id="923686485342484400">Двапут притисните Control Shift Q да бисте се одјавили.</translation>
 <translation id="938963181863597773">Шта је у календару?</translation>
 <translation id="945522503751344254">Пошаљи повратне информације</translation>
diff --git a/ash/strings/ash_strings_sv.xtb b/ash/strings/ash_strings_sv.xtb
index 08396e6..905908d 100644
--- a/ash/strings/ash_strings_sv.xtb
+++ b/ash/strings/ash_strings_sv.xtb
@@ -21,6 +21,7 @@
 <translation id="1270290102613614947">Skärmen på tangentbordet har inaktiverats</translation>
 <translation id="1272079795634619415">Stopp</translation>
 <translation id="1279938420744323401"><ph name="DISPLAY_NAME" /> (<ph name="ANNOTATION" />)</translation>
+<translation id="1289185460362160437">Prova igen på <ph name="COME_BACK_DAY_OF_WEEK" /> klockan <ph name="COME_BACK_TIME" />.</translation>
 <translation id="1290331692326790741">svag signal</translation>
 <translation id="1293264513303784526">USB-C-enhet (vänster port)</translation>
 <translation id="1294929383540927798">Ändra aviseringsinställningarna för låsskärmen</translation>
@@ -98,6 +99,7 @@
 <translation id="2501920221385095727">Tröga tangenter</translation>
 <translation id="2509468283778169019">CAPS LOCK är på</translation>
 <translation id="2532589005999780174">Högkontrastläge</translation>
+<translation id="255671100581129685">Google-assistenten är inte tillgänglig i en offentlig session.</translation>
 <translation id="2575685495496069081">Multiinloggning har inaktiverats</translation>
 <translation id="2582112259361606227">Starta om för att uppdatera</translation>
 <translation id="2597972630681408282">Nattljus: <ph name="NIGHT_LIGHT_STATUS" /></translation>
@@ -129,6 +131,7 @@
 <translation id="3000461861112256445">Monoljud</translation>
 <translation id="3009178788565917040">Utgång</translation>
 <translation id="3019353588588144572">Tid som återstår tills batteriet är fulladdat: <ph name="TIME_REMAINING" /></translation>
+<translation id="3055162170959710888">Du har använt den här enheten i <ph name="USED_TIME" /> i dag</translation>
 <translation id="3077734595579995578">skift</translation>
 <translation id="3081696990447829002">Utöka menyn</translation>
 <translation id="3087734570205094154">Nederst</translation>
@@ -214,6 +217,7 @@
 <translation id="4659419629803378708">ChromeVox har aktiverats</translation>
 <translation id="4734965478015604180">Horisontell</translation>
 <translation id="476166673298332917">Enhetens administratör har tillgång till all aktivitet, inklusive lösenord och kommunikation.</translation>
+<translation id="4774338217796918551">Prova igen i morgon klockan <ph name="COME_BACK_TIME" />.</translation>
 <translation id="4776917500594043016">Lösenord för <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="4778095205580009397">Google-assistenten är inte tillgänglig i en demosession.</translation>
 <translation id="479989351350248267">sök</translation>
@@ -228,6 +232,7 @@
 <translation id="4918086044614829423">Acceptera</translation>
 <translation id="4924411785043111640">Starta om och återställ</translation>
 <translation id="4961318399572185831">Casta skärmen</translation>
+<translation id="5030687792513154421">Tiden är slut</translation>
 <translation id="5083553833479578423">Lås upp fler funktioner för Assistent</translation>
 <translation id="5136175204352732067">Ett annat tangentbord har anslutits</translation>
 <translation id="5168181903108465623">Överföringsenheter finns tillgängliga</translation>
@@ -276,7 +281,6 @@
 <translation id="598882571027504733">Starta om Chromebook-enheten med tangentbordet tillkopplat för att uppdatera.</translation>
 <translation id="5992218262414051481">Högkontrastläget har aktiverats. Tryck på Ctrl+Sök+H igen om du vill inaktivera det.</translation>
 <translation id="6018164090099858612">Spegelläge avslutas</translation>
-<translation id="6040143037577758943">Stäng</translation>
 <translation id="6043212731627905357">Skärmen kan inte användas med <ph name="DEVICE_TYPE" /> (det finns inte stöd för skärmen).</translation>
 <translation id="6043994281159824495">Logga ut nu</translation>
 <translation id="6047696787498798094">Skärmdelningen avbryts när du byter till en annan användare. Vill du fortsätta?</translation>
@@ -359,6 +363,7 @@
 <translation id="7510334386202674593">Ctrl+Skift+L</translation>
 <translation id="7526573455193969409">Nätverket kan vara övervakat</translation>
 <translation id="7536035074519304529">IP-adress: <ph name="ADDRESS" /></translation>
+<translation id="7548434653388805669">Läggdags</translation>
 <translation id="7561014039265304140"><ph name="DISPLAY_NAME" /> har inte stöd för <ph name="SPECIFIED_RESOLUTION" />. Upplösningen ändrades till <ph name="FALLBACK_RESOLUTION" /></translation>
 <translation id="7562368315689366235">Emoji-palett</translation>
 <translation id="7564874036684306347">Om du flyttar fönster till ett annat skrivbord kan det leda till oväntat beteende. Efterföljande meddelanden, fönster och dialogrutor kan delas upp mellan skrivborden.</translation>
@@ -401,12 +406,14 @@
 <translation id="8152119955266188852">Du tryckte på kortkommandot för helskärmsförstoring. Vill du aktivera funktionen?</translation>
 <translation id="8190698733819146287">Anpassa språk och inmatning...</translation>
 <translation id="8192202700944119416">Aviseringar har dolts.</translation>
+<translation id="8236042855478648955">Dags för en paus</translation>
 <translation id="8261506727792406068">Radera</translation>
 <translation id="8297006494302853456">Svag</translation>
 <translation id="8308637677604853869">Föregående meny</translation>
 <translation id="8341451174107936385"><ph name="UNLOCK_MORE_FEATURES" />  <ph name="GET_STARTED" /></translation>
 <translation id="8351131234907093545">Skapa anteckning</translation>
 <translation id="8392451568018454956">Alternativmenyn för <ph name="USER_EMAIL_ADDRESS" /></translation>
+<translation id="8394567579869570560">Din förälder har låst enheten</translation>
 <translation id="8406981827175133772">Helskärmsförstoring</translation>
 <translation id="8425213833346101688">Ändra</translation>
 <translation id="8427213022735114808">Med diktering skickas det du säger till Google så att du kan tala in text i vilket textfält som helst.</translation>
@@ -436,7 +443,6 @@
 <translation id="8814190375133053267">Wi-Fi</translation>
 <translation id="8825534185036233643">Det finns inte stöd för spegling på fler än två skärmar.</translation>
 <translation id="8828714802988429505">90°</translation>
-<translation id="8841375032071747811">Bakåtknapp</translation>
 <translation id="8843682306134542540">Aktivera och inaktivera rotationslås. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Sök+Escape</translation>
 <translation id="8870509716567206129">Appen har inte stöd för delad skärm.</translation>
@@ -463,6 +469,7 @@
 <translation id="9201131092683066720">Batteriet är fullt till <ph name="PERCENTAGE" /> %.</translation>
 <translation id="9210037371811586452">Enhetligt skrivbordsläge avslutas</translation>
 <translation id="9215934040295798075">Ange bakgrund</translation>
+<translation id="921989828232331238">Din förälder har låst enheten för dagen</translation>
 <translation id="923686485342484400">Tryck på Control + skift + Q två gånger om du vill logga ut.</translation>
 <translation id="938963181863597773">Vad står det i min kalender?</translation>
 <translation id="945522503751344254">Skicka synpunkter</translation>
diff --git a/ash/strings/ash_strings_sw.xtb b/ash/strings/ash_strings_sw.xtb
index 2bec510..538b132 100644
--- a/ash/strings/ash_strings_sw.xtb
+++ b/ash/strings/ash_strings_sw.xtb
@@ -21,6 +21,7 @@
 <translation id="1270290102613614947">Kibodi ya skrini imezimwa</translation>
 <translation id="1272079795634619415">Simamisha</translation>
 <translation id="1279938420744323401"><ph name="DISPLAY_NAME" /> (<ph name="ANNOTATION" />)</translation>
+<translation id="1289185460362160437">Rejea <ph name="COME_BACK_DAY_OF_WEEK" /> saa <ph name="COME_BACK_TIME" />.</translation>
 <translation id="1290331692326790741">Mtandao si thabiti</translation>
 <translation id="1293264513303784526">Kifaa cha USB-C (mlango wa kushoto)</translation>
 <translation id="1294929383540927798">Badilisha mipangilio ya arifa za kufunga skrini</translation>
@@ -98,6 +99,7 @@
 <translation id="2501920221385095727">Vitufe vya kusalia kwa muda</translation>
 <translation id="2509468283778169019">Caps Lock imewashwa.</translation>
 <translation id="2532589005999780174">Hali ya juu ya utofautishaji</translation>
+<translation id="255671100581129685">Programu ya Mratibu wa Google haipatikani katika kipindi cha umma.</translation>
 <translation id="2575685495496069081">Umezima uwezo wa kuingia katika akaunti nyingi kwa wakati mmoja</translation>
 <translation id="2582112259361606227">Zima kisha uwashe ili usasishe</translation>
 <translation id="2597972630681408282">Mwanga wa Usiku: <ph name="NIGHT_LIGHT_STATUS" /></translation>
@@ -129,6 +131,7 @@
 <translation id="3000461861112256445">Kipengele cha sauti moja</translation>
 <translation id="3009178788565917040">Towe</translation>
 <translation id="3019353588588144572">Muda unaosalia hadi betri itakapochajiwa kikamilifu, <ph name="TIME_REMAINING" /></translation>
+<translation id="3055162170959710888">Leo umetumia kifaa hiki kwa <ph name="USED_TIME" /></translation>
 <translation id="3077734595579995578">shift</translation>
 <translation id="3081696990447829002">Panua menyu</translation>
 <translation id="3087734570205094154">Chini</translation>
@@ -214,6 +217,7 @@
 <translation id="4659419629803378708">ChromeVox imewashwa</translation>
 <translation id="4734965478015604180">Kimlalo</translation>
 <translation id="476166673298332917">Msimamizi wa kifaa hiki ana idhini ya kufikia shughuli zote, ikiwemo manenosiri na mawasiliano.</translation>
+<translation id="4774338217796918551">Rejea kesho saa <ph name="COME_BACK_TIME" />.</translation>
 <translation id="4776917500594043016">Nenosiri la <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="4778095205580009397">Programu ya Mratibu wa Google haipatikani katika kipindi cha onyesho.</translation>
 <translation id="479989351350248267">tafuta</translation>
@@ -228,6 +232,7 @@
 <translation id="4918086044614829423">Kubali</translation>
 <translation id="4924411785043111640">Zima kisha uwashe na uweke upya</translation>
 <translation id="4961318399572185831">Tuma skrini</translation>
+<translation id="5030687792513154421">Muda wa kutumia kifaa umeisha</translation>
 <translation id="5083553833479578423">Fungua vipengele zaidi vya programu yako ya Mratibu.</translation>
 <translation id="5136175204352732067">Kibodi tofauti imeunganishwa</translation>
 <translation id="5168181903108465623">Vifaa vinavyorusha maudhui vinapatikana</translation>
@@ -276,7 +281,6 @@
 <translation id="598882571027504733">Ili upate sasisho, washa Chromebook yako upya huku kibodi ikiwa imeunganishwa.</translation>
 <translation id="5992218262414051481">Hali ya Utofautishaji wa Juu imewashwa. Bonyeza Ctrl+Search+H tena ili ugeuze na kuizima.</translation>
 <translation id="6018164090099858612">Inaondoka kwenye hali ya kuakisi</translation>
-<translation id="6040143037577758943">Funga</translation>
 <translation id="6043212731627905357">Skrini hii haiingiliani na kifaa chako cha <ph name="DEVICE_TYPE" /> (Skrini haitumiki).</translation>
 <translation id="6043994281159824495">Ondoka kwenye akaunti sasa hivi</translation>
 <translation id="6047696787498798094">Itaacha kushiriki skrini unapobadilisha hadi kwa mtumiaji mwingine. Je, unataka kuendelea?</translation>
@@ -359,6 +363,7 @@
 <translation id="7510334386202674593">Ctrl+Shift+L</translation>
 <translation id="7526573455193969409">Huenda mtandao unafuatiliwa</translation>
 <translation id="7536035074519304529">Anwani ya IP: <ph name="ADDRESS" /></translation>
+<translation id="7548434653388805669">Ni wakati wa kulala</translation>
 <translation id="7561014039265304140"><ph name="DISPLAY_NAME" /> haitumiki kwa <ph name="SPECIFIED_RESOLUTION" />. Ubora ulibadilishwa hadi <ph name="FALLBACK_RESOLUTION" /></translation>
 <translation id="7562368315689366235">Safu ya emoji</translation>
 <translation id="7564874036684306347">Hatua ya kuhamishia madirisha kwenye eneo-kazi lingine inaweza kusababisha utendaji usiotarajiwa. 
@@ -402,12 +407,14 @@
 <translation id="8152119955266188852">Umebofya njia ya mkato ya kikuzaji cha skrini nzima. Ungependa kukiwasha?</translation>
 <translation id="8190698733819146287">Geuza lugha na uingizaji kukufaa...</translation>
 <translation id="8192202700944119416">Arifa zimefichwa.</translation>
+<translation id="8236042855478648955">Ni wakati wa kupumzika</translation>
 <translation id="8261506727792406068">Futa</translation>
 <translation id="8297006494302853456">Dhaifu</translation>
 <translation id="8308637677604853869">Menyu ya awali</translation>
 <translation id="8341451174107936385"><ph name="UNLOCK_MORE_FEATURES" />  <ph name="GET_STARTED" /></translation>
 <translation id="8351131234907093545">Unda kidokezo</translation>
 <translation id="8392451568018454956">Menyu ya chaguo za <ph name="USER_EMAIL_ADDRESS" /></translation>
+<translation id="8394567579869570560">Kifaa hiki kimefungwa na mzazi wako</translation>
 <translation id="8406981827175133772">Kikuzaji cha Skrini Nzima</translation>
 <translation id="8425213833346101688">Badilisha</translation>
 <translation id="8427213022735114808">Utamkaji hutuma sauti yako kwa Google ili kuruhusu huduma ya kuandika kwa kutamka katika sehemu yoyote ya maandishi.</translation>
@@ -437,7 +444,6 @@
 <translation id="8814190375133053267">Wi-Fi</translation>
 <translation id="8825534185036233643">Kuakisi ukitumia zaidi ya skrini mbili hakuruhusiwi.</translation>
 <translation id="8828714802988429505">90°</translation>
-<translation id="8841375032071747811">Kitufe cha Nyuma</translation>
 <translation id="8843682306134542540">Washa au uzime hali ya kufunga kwa kuzungusha. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Search+Esc</translation>
 <translation id="8870509716567206129">Programu haiwezi kutumia skrini iliyogawanywa.</translation>
@@ -464,6 +470,7 @@
 <translation id="9201131092683066720">Betri imejaa <ph name="PERCENTAGE" />%.</translation>
 <translation id="9210037371811586452">Mfumo unaondoka kwenye hali ya eneo-kazi lililounganishwa</translation>
 <translation id="9215934040295798075">Weka mandhari</translation>
+<translation id="921989828232331238">Kifaa chako kimefungwa na mzazi wako kwa leo</translation>
 <translation id="923686485342484400">Bonyeza Control Shift Q mara mbili ili kuondoka katika akaunti.</translation>
 <translation id="938963181863597773">Kuna nini kwenye kalenda yangu?</translation>
 <translation id="945522503751344254">Tuma maoni</translation>
diff --git a/ash/strings/ash_strings_ta.xtb b/ash/strings/ash_strings_ta.xtb
index 7defb7f5..d70b7ca 100644
--- a/ash/strings/ash_strings_ta.xtb
+++ b/ash/strings/ash_strings_ta.xtb
@@ -21,6 +21,7 @@
 <translation id="1270290102613614947">ஆன்ஸ்க்ரீன் விசைப்பலகை முடக்கப்பட்டது</translation>
 <translation id="1272079795634619415">நிறுத்து</translation>
 <translation id="1279938420744323401"><ph name="DISPLAY_NAME" /> (<ph name="ANNOTATION" />)</translation>
+<translation id="1289185460362160437"><ph name="COME_BACK_DAY_OF_WEEK" />, <ph name="COME_BACK_TIME" />க்கு சாதனத்தை மீண்டும் பயன்படுத்தலாம்.</translation>
 <translation id="1290331692326790741">வலுவற்ற சிக்னல்</translation>
 <translation id="1293264513303784526">USB-C சாதனம் (இடது போர்ட்)</translation>
 <translation id="1294929383540927798">பூட்டுத் திரை அறிவிப்பு அமைப்புகளை மாற்றும்</translation>
@@ -56,7 +57,7 @@
 <translation id="1864454756846565995">USB-C சாதனம் (பின்பக்கப் போர்ட்)</translation>
 <translation id="1882897271359938046"><ph name="DISPLAY_NAME" /> ஐப் பிரதிபலிக்கிறது</translation>
 <translation id="1885785240814121742">கைரேகை மூலம் திறக்கலாம்</translation>
-<translation id="1919743966458266018">காரிய நிர்வாகியைத் திறப்பதற்கான குறுக்குவழி மாற்றப்பட்டது. <ph name="OLD_SHORTCUT" /> க்குப் பதிலாக <ph name="NEW_SHORTCUT" /> ஐப் பயன்படுத்தவும்.</translation>
+<translation id="1919743966458266018">செயல் நிர்வாகியைத் திறப்பதற்கான ஷார்ட்கட் மாற்றப்பட்டது. <ph name="OLD_SHORTCUT" /> க்குப் பதிலாக <ph name="NEW_SHORTCUT" /> ஐப் பயன்படுத்தவும்.</translation>
 <translation id="1923539912171292317">தன்னியக்க கிளிக்குகள்</translation>
 <translation id="1928739107511554905">புதுப்பிப்பைப் பெற, டச்ஸ்கிரீனைப் பயன்படுத்தி, விசைப்பலகை இணைக்கப்பட்ட உங்கள் Chromebookஐ மீண்டும் தொடங்கவும்.</translation>
 <translation id="1942830294380034169">கூடுதல் விருப்பங்களுக்கான பொத்தான்</translation>
@@ -98,13 +99,14 @@
 <translation id="2501920221385095727">ஸ்டிக்கி விசைகள்</translation>
 <translation id="2509468283778169019">CAPS LOCK இயக்கத்தில்</translation>
 <translation id="2532589005999780174">அதிக ஒளி மாறுபாட்டுப் பயன்முறை</translation>
+<translation id="255671100581129685">பொது அமர்வில் Google அசிஸ்டண்ட்டைப் பயன்படுத்த முடியாது.</translation>
 <translation id="2575685495496069081">பல உள்முழைவு முடக்கப்பட்டுள்ளது</translation>
 <translation id="2582112259361606227">புதுப்பிக்க, மீண்டும் தொடங்குக</translation>
-<translation id="2597972630681408282">இரவு ஒளி: <ph name="NIGHT_LIGHT_STATUS" /></translation>
+<translation id="2597972630681408282">நைட் லைட்: <ph name="NIGHT_LIGHT_STATUS" /></translation>
 <translation id="2617342710774726426">சிம் கார்டு பூட்டப்பட்டுள்ளது</translation>
 <translation id="2653659639078652383">சமர்ப்பி</translation>
 <translation id="2700493154570097719">எனது விசைப்பலகையை அமை</translation>
-<translation id="2718395828230677721">இரவு ஒளி</translation>
+<translation id="2718395828230677721">நைட் லைட்</translation>
 <translation id="2727977024730340865">குறைந்த சக்தியிலான சார்ஜர் செருகப்பட்டுள்ளது. பேட்டரி சார்ஜிங் நம்பகமானதாக இல்லாமல் இருக்கலாம்.</translation>
 <translation id="2761704814324807722">நிலைத் தட்டு, நேரம் <ph name="TIME" />, <ph name="BATTERY" /></translation>
 <translation id="277257480934873581"><ph name="NAME" /> உடன் மீண்டும் இணைக்கிறது</translation>
@@ -129,6 +131,7 @@
 <translation id="3000461861112256445">மோனோ ஆடியோ</translation>
 <translation id="3009178788565917040">வெளியீடு</translation>
 <translation id="3019353588588144572"><ph name="TIME_REMAINING" /> இல் பேட்டரி முழுவதும் சார்ஜ் ஆகிவிடும்</translation>
+<translation id="3055162170959710888">இந்தச் சாதனத்தை இன்று <ph name="USED_TIME" /> பயன்படுத்தியுள்ளீர்கள்</translation>
 <translation id="3077734595579995578">shift</translation>
 <translation id="3081696990447829002">மெனுவை விரி</translation>
 <translation id="3087734570205094154">கீழே</translation>
@@ -214,6 +217,7 @@
 <translation id="4659419629803378708">ChromeVox இயக்கப்பட்டது</translation>
 <translation id="4734965478015604180">கிடைமட்டம்</translation>
 <translation id="476166673298332917">இந்தச் சாதனத்தின் நிர்வாகிக்கு கடவுச்சொற்கள், தகவல்தொடர்புகள் உட்பட அனைத்துச் செயல்பாடுகளுக்குமான அணுகல் உள்ளது.</translation>
+<translation id="4774338217796918551">நாளை <ph name="COME_BACK_TIME" />க்கு சாதனத்தை மீண்டும் பயன்படுத்தலாம்.</translation>
 <translation id="4776917500594043016"><ph name="USER_EMAIL_ADDRESS" /> க்கான கடவுச்சொல்</translation>
 <translation id="4778095205580009397">டெமோ அமர்வில் Google அசிஸ்டண்ட்டைப் பயன்படுத்த முடியாது.</translation>
 <translation id="479989351350248267">Search</translation>
@@ -228,6 +232,7 @@
 <translation id="4918086044614829423">ஏற்கிறேன்</translation>
 <translation id="4924411785043111640">மீண்டும் தொடங்கி, மீட்டமை</translation>
 <translation id="4961318399572185831">திரையை அலைபரப்பு</translation>
+<translation id="5030687792513154421">நேரம் முடிந்தது</translation>
 <translation id="5083553833479578423">மேலும் பல அசிஸ்டண்ட் அம்சங்களைப் பெறுக.</translation>
 <translation id="5136175204352732067">வேறொரு விசைப்பலகை இணைக்கப்பட்டது</translation>
 <translation id="5168181903108465623">Cast சாதனங்கள் உள்ளன</translation>
@@ -276,7 +281,6 @@
 <translation id="598882571027504733">புதுப்பிப்பைப் பெற, விசைப்பலகை இணைக்கப்பட்ட உங்கள் Chromebookஐ மீண்டும் தொடங்கவும்.</translation>
 <translation id="5992218262414051481">அதிக ஒளி மாறுபாட்டுப் பயன்முறை இயக்கப்பட்டது. அதை முடக்க, கன்ட்ரோல்+தேடல்+Hஐ மீண்டும் அழுத்தவும்.</translation>
 <translation id="6018164090099858612">கண்ணாடிப் பயன்முறையிலிருந்து வெளியேறுகிறது</translation>
-<translation id="6040143037577758943">மூடு</translation>
 <translation id="6043212731627905357">இந்த மானிட்டர் உங்கள் <ph name="DEVICE_TYPE" /> உடன் செயல்படவில்லை (இந்த மானிட்டர் ஆதரிக்கப்படவில்லை).</translation>
 <translation id="6043994281159824495">இப்போது வெளியேறு</translation>
 <translation id="6047696787498798094">நீங்கள் வேறொரு பயனருக்கு மாறும்போது, திரைப் பகிர்வு நிறுத்தப்படும். தொடர விருப்பமா?</translation>
@@ -294,7 +298,7 @@
 <translation id="6297287540776456956">பகுதியைத் தேர்ந்தெடுக்க, ஸ்டைஸைப் பயன்படுத்தவும்</translation>
 <translation id="6310121235600822547"><ph name="DISPLAY_NAME" /> <ph name="ROTATION" /> ஆகச் சுழற்றப்பட்டது</translation>
 <translation id="632744581670418035">கீபோர்டு மேல் அடுக்கு</translation>
-<translation id="6344698853700675736">இரவு ஒளியை நிலைமாற்றும்</translation>
+<translation id="6344698853700675736">'நைட் லைட்டை' நிலைமாற்றும்</translation>
 <translation id="6376931439017688372">புளூடூத் இயக்கப்பட்டுள்ளது</translation>
 <translation id="639644700271529076">CAPS LOCK முடக்கப்பட்டுள்ளது</translation>
 <translation id="6406704438230478924">altgr</translation>
@@ -359,6 +363,7 @@
 <translation id="7510334386202674593">Ctrl+Shift+L</translation>
 <translation id="7526573455193969409">நெட்வொர்க் கண்காணிக்கப்படலாம்</translation>
 <translation id="7536035074519304529">IP முகவரி: <ph name="ADDRESS" /></translation>
+<translation id="7548434653388805669">தூங்கும் நேரம்</translation>
 <translation id="7561014039265304140"><ph name="SPECIFIED_RESOLUTION" /> ஐ <ph name="DISPLAY_NAME" /> ஆதரிக்கவில்லை. <ph name="FALLBACK_RESOLUTION" /> க்குத் தெளிவு மாற்றப்பட்டது</translation>
 <translation id="7562368315689366235">ஈமொஜி தட்டு</translation>
 <translation id="7564874036684306347">சாளரத்தை வேறு டெஸ்க்டாப்க்கு மாற்றினால், அது எதிர்பாராதவிதமாகச் செயல்படக் கூடும். அடுத்தடுத்து வரும் அறிவிப்புகளும் சாளரங்களும் உரையாடல்களும் டெஸ்க்டாப்களுக்கு இடையே பிரிக்கப்படலாம்.</translation>
@@ -401,12 +406,14 @@
 <translation id="8152119955266188852">முழுத்திரைப் பெரிதாக்கியின் ஷார்ட்கட்டை அழுத்தியுள்ளீர்கள். அதை இயக்க விரும்புகிறீர்களா?</translation>
 <translation id="8190698733819146287">மொழிகள் மற்றும்  உள்ளீடைத் தனிப்பயனாக்கு...</translation>
 <translation id="8192202700944119416">அறிவிப்புகள் மறைக்கப்பட்டுள்ளன.</translation>
+<translation id="8236042855478648955">இடைவேளைக்கான நேரம்</translation>
 <translation id="8261506727792406068">நீக்கு</translation>
 <translation id="8297006494302853456">வலுவாக இல்லை</translation>
 <translation id="8308637677604853869">முந்தைய மெனு</translation>
 <translation id="8341451174107936385"><ph name="UNLOCK_MORE_FEATURES" />  <ph name="GET_STARTED" /></translation>
 <translation id="8351131234907093545">குறிப்பை உருவாக்கு</translation>
 <translation id="8392451568018454956"><ph name="USER_EMAIL_ADDRESS" /> க்கான விருப்பத்தேர்வுகள் மெனு</translation>
+<translation id="8394567579869570560">உங்கள் பெற்றோர் இந்தச் சாதனத்தைப் பூட்டிவிட்டனர்</translation>
 <translation id="8406981827175133772">முழுத்திரைப் பெரிதாக்கி</translation>
 <translation id="8425213833346101688">மாற்று</translation>
 <translation id="8427213022735114808">உரை புலங்களில் குரல் தட்டச்சை அனுமதிக்க, டிக்டேஷன் அம்சம் உங்கள் குரலை Googleளுக்கு அனுப்பும்.</translation>
@@ -436,7 +443,6 @@
 <translation id="8814190375133053267">வைஃபை</translation>
 <translation id="8825534185036233643">இரண்டிற்கும் மேற்பட்ட திரைகளில் பிரதிபலிப்பது ஆதரிக்கப்படவில்லை.</translation>
 <translation id="8828714802988429505">90°</translation>
-<translation id="8841375032071747811">முந்தையது பொத்தான்</translation>
 <translation id="8843682306134542540">சுழற்சிப் பூட்டை நிலைமாற்றும். <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Search+Esc</translation>
 <translation id="8870509716567206129">திரையைப் பிரிப்பதைப் பயன்பாடு ஆதரிக்கவில்லை.</translation>
@@ -463,6 +469,7 @@
 <translation id="9201131092683066720">பேட்டரி <ph name="PERCENTAGE" />% நிரம்பியது.</translation>
 <translation id="9210037371811586452">ஒன்றிணைந்த டெஸ்க்டாப் பயன்முறையிலிருந்து வெளியேறுகிறது</translation>
 <translation id="9215934040295798075">வால்பேப்பரை அமை</translation>
+<translation id="921989828232331238">உங்கள் பெற்றோர் இன்று சாதனத்தைப் பயன்படுத்த முடியாதபடி பூட்டிவிட்டனர்</translation>
 <translation id="923686485342484400">வெளியேற Control Shift Q ஐ இருமுறை அழுத்தவும்.</translation>
 <translation id="938963181863597773">எனது கேலெண்டரில் என்ன உள்ளது?</translation>
 <translation id="945522503751344254">பின்னூட்டம் அனுப்புக</translation>
diff --git a/ash/strings/ash_strings_te.xtb b/ash/strings/ash_strings_te.xtb
index 56048629..6ae3befb 100644
--- a/ash/strings/ash_strings_te.xtb
+++ b/ash/strings/ash_strings_te.xtb
@@ -21,6 +21,7 @@
 <translation id="1270290102613614947">స్క్రీన్‌పై కనిపించే కీబోర్డ్ నిలిపివేయబడింది</translation>
 <translation id="1272079795634619415">ఆపు</translation>
 <translation id="1279938420744323401"><ph name="DISPLAY_NAME" /> (<ph name="ANNOTATION" />)</translation>
+<translation id="1289185460362160437"><ph name="COME_BACK_DAY_OF_WEEK" /> నాడు <ph name="COME_BACK_TIME" />కి తిరిగి రండి.</translation>
 <translation id="1290331692326790741">సిగ్నల్ బలహీనంగా ఉంది</translation>
 <translation id="1293264513303784526">USB-C పరికరం (ఎడమ పోర్ట్)</translation>
 <translation id="1294929383540927798">లాక్-స్క్రీన్ నోటిఫికేషన్ సెట్టింగ్‌లను మార్చండి</translation>
@@ -98,6 +99,7 @@
 <translation id="2501920221385095727">స్టిక్కీ కీలు</translation>
 <translation id="2509468283778169019">CAPS LOCK ఆన్‌లో ఉంది</translation>
 <translation id="2532589005999780174">అధిక కాంట్రాస్ట్ మోడ్</translation>
+<translation id="255671100581129685">Google అసిస్టెంట్ పబ్లిక్ సెషన్‌లో అందుబాటులో లేదు.</translation>
 <translation id="2575685495496069081">బహుళ సైన్-ఇన్ నిలిపివేయబడింది</translation>
 <translation id="2582112259361606227">అప్‌డేేట్ చేయడానికి పునఃప్రారంభించండి</translation>
 <translation id="2597972630681408282">రాత్రి కాంతి: <ph name="NIGHT_LIGHT_STATUS" /></translation>
@@ -129,6 +131,7 @@
 <translation id="3000461861112256445">మోనో ఆడియో</translation>
 <translation id="3009178788565917040">అవుట్‌పుట్</translation>
 <translation id="3019353588588144572">బ్యాటరీ నిండటానికి పట్టే సమయం, <ph name="TIME_REMAINING" /></translation>
+<translation id="3055162170959710888">మీరు ఈ పరికరాన్ని ఈ రోజు <ph name="USED_TIME" /> పాటు ఉపయోగించారు</translation>
 <translation id="3077734595579995578">shift</translation>
 <translation id="3081696990447829002">మెనూని విస్తరించు</translation>
 <translation id="3087734570205094154">దిగువ</translation>
@@ -215,6 +218,7 @@
 <translation id="4659419629803378708">ChromeVox ప్రారంభించబడింది</translation>
 <translation id="4734965478015604180">అడ్డంగా ఉంది</translation>
 <translation id="476166673298332917">ఈ పరికరం నిర్వాహకులు పాస్‌వర్డ్‌లు, అలాగే కమ్యూనికేషన్‌లతో సహా మొత్తం కార్యకలాపానికి యాక్సెస్‌ని కలిగి ఉన్నారు.</translation>
+<translation id="4774338217796918551">రేపు <ph name="COME_BACK_TIME" />కి తిరిగి రండి.</translation>
 <translation id="4776917500594043016"><ph name="USER_EMAIL_ADDRESS" /> కోసం పాస్‌వర్డ్</translation>
 <translation id="4778095205580009397">Google అసిస్టెంట్ డెమో సెషన్‌లో అందుబాటులో లేదు.</translation>
 <translation id="479989351350248267">search</translation>
@@ -229,6 +233,7 @@
 <translation id="4918086044614829423">ఆమోదించు</translation>
 <translation id="4924411785043111640">మళ్లీ ప్రారంభించి, రీసెట్ చేయండి</translation>
 <translation id="4961318399572185831">స్క్రీన్ ప్రసారం చేయండి</translation>
+<translation id="5030687792513154421">సమయం ముగిసింది</translation>
 <translation id="5083553833479578423">మరిన్ని Assistant ఫీచర్‌లను అన్‌లాక్ చేయండి.</translation>
 <translation id="5136175204352732067">వేరే కీబోర్డ్ కనెక్ట్ చేయబడింది</translation>
 <translation id="5168181903108465623">Cast పరికరాలు అందుబాటులో ఉన్నాయి</translation>
@@ -277,7 +282,6 @@
 <translation id="598882571027504733">అప్‌డేట్‌ని పొందడానికి, కీబోర్డ్‌‌ని అలానే జోడించి ఉంచి మీ Chromebookని పునఃప్రారంభించండి.</translation>
 <translation id="5992218262414051481">అధిక క్రాంటాస్ట్ మోడ్ ఆరంభించబడింది. దాన్ని ఆఫ్‌కి టోగుల్ చేయడం కోసం మళ్లీ Ctrl+Search+Hని నొక్కండి.</translation>
 <translation id="6018164090099858612">ప్రతిబింబ మోడ్ నుండి నిష్క్రమిస్తోంది</translation>
-<translation id="6040143037577758943">మూసివేయి</translation>
 <translation id="6043212731627905357">మీ <ph name="DEVICE_TYPE" />తో ఈ మానిటర్ పని చేయడం లేదు (మానిటర్‌కు మద్దతు లేదు).</translation>
 <translation id="6043994281159824495">ఇప్పుడే సైన్ అవుట్ చేయి</translation>
 <translation id="6047696787498798094">మీరు మరొక వినియోగదారుకు మారినప్పుడు స్క్రీన్ భాగస్వామ్యం ఆపివేయబడుతుంది. మీరు కొనసాగించాలనుకుంటున్నారా?</translation>
@@ -360,6 +364,7 @@
 <translation id="7510334386202674593">Ctrl+Shift+L</translation>
 <translation id="7526573455193969409">నెట్‌వర్క్ పర్యవేక్షించబడవచ్చు</translation>
 <translation id="7536035074519304529">IP చిరునామా: <ph name="ADDRESS" /></translation>
+<translation id="7548434653388805669">నిద్రపోయే సమయం</translation>
 <translation id="7561014039265304140"><ph name="DISPLAY_NAME" /> <ph name="SPECIFIED_RESOLUTION" />కి మద్దతివ్వదు. రిజల్యూషన్ <ph name="FALLBACK_RESOLUTION" />కి మార్చబడింది</translation>
 <translation id="7562368315689366235">ఎమోజీ ఫలకం</translation>
 <translation id="7564874036684306347">విండోలను మరొక డెస్క్‌టాప్‌కు తరలించడం వలన ఊహించని ప్రవర్తన చోటు చేసుకోవచ్చు. తర్వాత చూపబడే నోటిఫికేషన్‌లు, విండోలు మరియు డైలాగ్‌లు డెస్క్‌టాప్‌ల మధ్య విభజించబడవచ్చు.</translation>
@@ -402,12 +407,14 @@
 <translation id="8152119955266188852">పూర్తి స్క్రీన్‌ మాగ్నిఫైయర్‌కు సంబంధించిన షార్ట్‌కట్‌ను మీరు నొక్కారు. మీరు దీనిని ఆన్ చేయాలనుకుంటున్నారా?</translation>
 <translation id="8190698733819146287">భాషలను అనుకూలీకరించి, ఇన్‌పుట్ చెయ్యి...</translation>
 <translation id="8192202700944119416">నోటిఫికేషన్‌లు దాచబడ్డాయి.</translation>
+<translation id="8236042855478648955">విరామ సమయం</translation>
 <translation id="8261506727792406068">తొలగించు</translation>
 <translation id="8297006494302853456">బలహీనం</translation>
 <translation id="8308637677604853869">మునుపటి మెను</translation>
 <translation id="8341451174107936385"><ph name="UNLOCK_MORE_FEATURES" />  <ph name="GET_STARTED" /></translation>
 <translation id="8351131234907093545">గమనికను సృష్టించండి</translation>
 <translation id="8392451568018454956"><ph name="USER_EMAIL_ADDRESS" /> కోసం ఎంపికల మెను</translation>
+<translation id="8394567579869570560">మీ తల్లి/తండ్రి ఈ పరికరాన్ని లాక్ చేసి ఉంచారు</translation>
 <translation id="8406981827175133772">పూర్తి స్క్రీన్ మాగ్నిఫైయర్</translation>
 <translation id="8425213833346101688">మార్చు</translation>
 <translation id="8427213022735114808">మీరు రాయాలనుకునేది Googleకి చెబితే చాలు వెంటనే వచన రూపంలోకి మారుస్తుంది.</translation>
@@ -437,7 +444,6 @@
 <translation id="8814190375133053267">Wi-Fi</translation>
 <translation id="8825534185036233643">రెండింటి కంటే ఎక్కువ డిస్‌ప్లేలతో మిర్రరింగ్ చేయడానికి మద్దతు లేదు.</translation>
 <translation id="8828714802988429505">90°</translation>
-<translation id="8841375032071747811">వెనుకకు బటన్</translation>
 <translation id="8843682306134542540">భ్రమణం లాక్‌ను టోగుల్ చేయండి. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Search+Esc</translation>
 <translation id="8870509716567206129">యాప్‌లో విభజన స్క్రీన్‌కి మద్దతు లేదు.</translation>
@@ -464,6 +470,7 @@
 <translation id="9201131092683066720">బ్యాటరీ <ph name="PERCENTAGE" />% నిండింది.</translation>
 <translation id="9210037371811586452">ఏకీకృత డెస్క్‌టాప్ మోడ్ నుండి నిష్క్రమిస్తోంది</translation>
 <translation id="9215934040295798075">వాల్‌పేపర్‌ను సెట్ చేయండి</translation>
+<translation id="921989828232331238">మీ తల్లి/తండ్రి ఈ రోజుకి మీ పరికరాన్ని లాక్ చేసి ఉంచారు</translation>
 <translation id="923686485342484400">సైన్ అవుట్ చేయడానికి Control Shift Qను రెండుసార్లు నొక్కండి.</translation>
 <translation id="938963181863597773">నా క్యాలెండర్‌లో ఏమి ఉన్నాయి?</translation>
 <translation id="945522503751344254">అభిప్రాయాన్ని పంపండి</translation>
diff --git a/ash/strings/ash_strings_th.xtb b/ash/strings/ash_strings_th.xtb
index a06f093..f6ad9083 100644
--- a/ash/strings/ash_strings_th.xtb
+++ b/ash/strings/ash_strings_th.xtb
@@ -21,6 +21,7 @@
 <translation id="1270290102613614947">ปิดใช้แป้นพิมพ์บนหน้าจออยู่</translation>
 <translation id="1272079795634619415">หยุด</translation>
 <translation id="1279938420744323401"><ph name="DISPLAY_NAME" /> (<ph name="ANNOTATION" />)</translation>
+<translation id="1289185460362160437">ใช้ได้อีกครั้ง<ph name="COME_BACK_DAY_OF_WEEK" /> เวลา <ph name="COME_BACK_TIME" /></translation>
 <translation id="1290331692326790741">สัญญาณไม่ดี</translation>
 <translation id="1293264513303784526">อุปกรณ์ USB-C (พอร์ตด้านซ้าย)</translation>
 <translation id="1294929383540927798">เปลี่ยนการตั้งค่าการแจ้งเตือนในหน้าจอล็อก</translation>
@@ -98,6 +99,7 @@
 <translation id="2501920221385095727">คีย์ติดหนึบ</translation>
 <translation id="2509468283778169019">Caps Lock เปิดอยู่</translation>
 <translation id="2532589005999780174">โหมดคอนทราสต์สูง</translation>
+<translation id="255671100581129685">Google Assistant ไม่พร้อมใช้งานในเซสชันสาธารณะ</translation>
 <translation id="2575685495496069081">ปิดใช้การลงชื่อเข้าสู่ระบบพร้อมกันหลายบัญชีอยู่</translation>
 <translation id="2582112259361606227">รีสตาร์ทเพื่ออัปเดต</translation>
 <translation id="2597972630681408282">แสงตอนกลางคืน: <ph name="NIGHT_LIGHT_STATUS" /></translation>
@@ -129,6 +131,7 @@
 <translation id="3000461861112256445">เสียงแบบโมโน</translation>
 <translation id="3009178788565917040">เอาต์พุต</translation>
 <translation id="3019353588588144572">เวลาที่เหลือกว่าจะชาร์จแบตเตอรี่เต็ม, <ph name="TIME_REMAINING" /></translation>
+<translation id="3055162170959710888">วันนี้คุณใช้อุปกรณ์เครื่องนี้ไป <ph name="USED_TIME" /></translation>
 <translation id="3077734595579995578">shift</translation>
 <translation id="3081696990447829002">ขยายเมนู</translation>
 <translation id="3087734570205094154">ด้านล่าง</translation>
@@ -215,6 +218,7 @@
 <translation id="4659419629803378708">เปิดใช้ ChromeVox แล้ว</translation>
 <translation id="4734965478015604180">แนวนอน</translation>
 <translation id="476166673298332917">ผู้ดูแลระบบของอุปกรณ์นี้มีสิทธิ์เข้าถึงกิจกรรมทั้งหมด ซึ่งรวมถึงรหัสผ่านและการสื่อสารต่างๆ</translation>
+<translation id="4774338217796918551">ใช้ได้อีกครั้งพรุ่งนี้ เวลา <ph name="COME_BACK_TIME" /></translation>
 <translation id="4776917500594043016">รหัสผ่านของ <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="4778095205580009397">Google Assistant ไม่พร้อมใช้งานในเซสชันสาธิต</translation>
 <translation id="479989351350248267">ค้นหา</translation>
@@ -229,6 +233,7 @@
 <translation id="4918086044614829423">ยอมรับ</translation>
 <translation id="4924411785043111640">รีสตาร์ทและรีเซ็ต</translation>
 <translation id="4961318399572185831">แคสต์หน้าจอ</translation>
+<translation id="5030687792513154421">หมดเวลา</translation>
 <translation id="5083553833479578423">ใช้ฟีเจอร์จาก Assistant ได้มากขึ้น</translation>
 <translation id="5136175204352732067">เชื่อมต่อกับแป้นพิมพ์อื่นแล้ว</translation>
 <translation id="5168181903108465623">เครื่องส่งพร้อมใช้งาน</translation>
@@ -277,7 +282,6 @@
 <translation id="598882571027504733">หากต้องการรับอัปเดต ให้รีสตาร์ท Chromebook ในขณะที่ยังเชื่อมต่อกับแป้นพิมพ์</translation>
 <translation id="5992218262414051481">เปิดใช้โหมดคอนทราสต์สูงอยู่ กด Ctrl+Search+H อีกครั้งเพื่อสลับเป็นปิด</translation>
 <translation id="6018164090099858612">กำลังออกจากโหมดมิเรอร์</translation>
-<translation id="6040143037577758943">ปิด</translation>
 <translation id="6043212731627905357">จอภาพนี้ใช้งานไม่ได้กับ <ph name="DEVICE_TYPE" /> ของคุณ (ไม่รองรับจอภาพนี้)</translation>
 <translation id="6043994281159824495">ออกจากระบบเลย</translation>
 <translation id="6047696787498798094">การแชร์หน้าจอจะหยุดเมื่อคุณสลับไปเป็นผู้ใช้อีกรายหนึ่ง ต้องการดำเนินการต่อไหม</translation>
@@ -360,6 +364,7 @@
 <translation id="7510334386202674593">Ctrl+Shift+L</translation>
 <translation id="7526573455193969409">อาจมีการตรวจสอบเครือข่าย</translation>
 <translation id="7536035074519304529">ที่อยู่ IP: <ph name="ADDRESS" /></translation>
+<translation id="7548434653388805669">ได้เวลาเข้านอนแล้ว</translation>
 <translation id="7561014039265304140"><ph name="DISPLAY_NAME" /> ไม่สนับสนุน <ph name="SPECIFIED_RESOLUTION" /> ความละเอียดเปลี่ยนเป็น <ph name="FALLBACK_RESOLUTION" /></translation>
 <translation id="7562368315689366235">ชุดอีโมจิ</translation>
 <translation id="7564874036684306347">การย้ายหน้าต่างไปยังเดสก์ท็อปอื่นอาจส่งผลให้ลักษณะการทำงานผิกปกติ การแจ้งเตือน หน้าต่าง และกล่องโต้ตอบที่ตามมาอาจแสดงแยกส่วนในเดสก์ท็อปทั้งสอง</translation>
@@ -402,12 +407,14 @@
 <translation id="8152119955266188852">คุณกดแป้นพิมพ์ลัดสำหรับแว่นขยายทั้งหน้าจอ จะเปิดแว่นขยายไหม</translation>
 <translation id="8190698733819146287">กำหนดค่าภาษาและการป้อนข้อมูล... </translation>
 <translation id="8192202700944119416">ซ่อนการแจ้งเตือนไว้</translation>
+<translation id="8236042855478648955">ได้เวลาพักแล้ว</translation>
 <translation id="8261506727792406068">ลบ</translation>
 <translation id="8297006494302853456">อ่อน</translation>
 <translation id="8308637677604853869">เมนูก่อนหน้า</translation>
 <translation id="8341451174107936385"><ph name="UNLOCK_MORE_FEATURES" />  <ph name="GET_STARTED" /></translation>
 <translation id="8351131234907093545">สร้างโน้ต</translation>
 <translation id="8392451568018454956">เมนูตัวเลือกสำหรับ <ph name="USER_EMAIL_ADDRESS" /></translation>
+<translation id="8394567579869570560">ผู้ปกครองของคุณล็อกอุปกรณ์นี้ไว้</translation>
 <translation id="8406981827175133772">แว่นขยายทั้งหน้าจอ</translation>
 <translation id="8425213833346101688">เปลี่ยน</translation>
 <translation id="8427213022735114808">การพิมพ์ตามคำบอกจะส่งเสียงของคุณไปยัง Google เพื่อให้พิมพ์ด้วยเสียงในช่องข้อความต่างๆ</translation>
@@ -437,7 +444,6 @@
 <translation id="8814190375133053267">Wi-Fi</translation>
 <translation id="8825534185036233643">ไม่สนับสนุนการมิเรอร์บนจอแสดงผลเกิน 2 หน้าจอ</translation>
 <translation id="8828714802988429505">90°</translation>
-<translation id="8841375032071747811">ปุ่มกลับ</translation>
 <translation id="8843682306134542540">เปิด/ปิดการล็อกการหมุน <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Search+Esc</translation>
 <translation id="8870509716567206129">แอปไม่สนับสนุนการแยกหน้าจอ</translation>
@@ -464,6 +470,7 @@
 <translation id="9201131092683066720">มีแบตเตอรี่ <ph name="PERCENTAGE" />%</translation>
 <translation id="9210037371811586452">กำลังออกจากโหมดเดสก์ท็อปแบบรวมหลายหน้าจอ</translation>
 <translation id="9215934040295798075">ตั้งค่าวอลเปเปอร์</translation>
+<translation id="921989828232331238">ผู้ปกครองล็อกอุปกรณ์ของคุณไว้ทั้งวัน</translation>
 <translation id="923686485342484400">กด Control Shift Q 2 ครั้งเพื่อออกจากระบบ</translation>
 <translation id="938963181863597773">มีอะไรในปฏิทินของฉันบ้าง</translation>
 <translation id="945522503751344254">ส่งความคิดเห็น</translation>
diff --git a/ash/strings/ash_strings_tr.xtb b/ash/strings/ash_strings_tr.xtb
index 7bdebff3..abe55309 100644
--- a/ash/strings/ash_strings_tr.xtb
+++ b/ash/strings/ash_strings_tr.xtb
@@ -21,11 +21,12 @@
 <translation id="1270290102613614947">Dokunmatik klavye devre dışı</translation>
 <translation id="1272079795634619415">Durdur</translation>
 <translation id="1279938420744323401"><ph name="DISPLAY_NAME" /> (<ph name="ANNOTATION" />)</translation>
+<translation id="1289185460362160437"><ph name="COME_BACK_DAY_OF_WEEK" /> günü <ph name="COME_BACK_TIME" /> gibi tekrar gelin.</translation>
 <translation id="1290331692326790741">Zayıf sinyal</translation>
 <translation id="1293264513303784526">USB-C cihaz (sol bağlantı noktası)</translation>
 <translation id="1294929383540927798">Kilit ekranı bildirim ayarlarını değiştir</translation>
 <translation id="1302880136325416935">Bluetooth ayarlarını göster. <ph name="STATE_TEXT" /></translation>
-<translation id="1316069254387866896">Her zaman rafı göster</translation>
+<translation id="1316069254387866896">Rafı her zaman göster</translation>
 <translation id="1346748346194534595">Sağa</translation>
 <translation id="1351937230027495976">Menüyü daralt</translation>
 <translation id="1383876407941801731">Ara</translation>
@@ -98,6 +99,7 @@
 <translation id="2501920221385095727">Yapışkan tuşlar</translation>
 <translation id="2509468283778169019">CAPS LOCK açık</translation>
 <translation id="2532589005999780174">Yüksek kontrast modu</translation>
+<translation id="255671100581129685">Google Asistan, herkese açık oturumda kullanılamaz.</translation>
 <translation id="2575685495496069081">Çoklu oturum açma devre dışı bırakıldı</translation>
 <translation id="2582112259361606227">Güncellemek için yeniden başlat</translation>
 <translation id="2597972630681408282">Gece Işığı: <ph name="NIGHT_LIGHT_STATUS" /></translation>
@@ -129,6 +131,7 @@
 <translation id="3000461861112256445">Mono ses</translation>
 <translation id="3009178788565917040">Çıkış</translation>
 <translation id="3019353588588144572">Pilin tam olarak şarj olması için kalan süre, <ph name="TIME_REMAINING" /></translation>
+<translation id="3055162170959710888">Bugün bu cihazı <ph name="USED_TIME" /> kullandınız</translation>
 <translation id="3077734595579995578">üstkrktr</translation>
 <translation id="3081696990447829002">Menüyü genişlet</translation>
 <translation id="3087734570205094154">Alt</translation>
@@ -214,6 +217,7 @@
 <translation id="4659419629803378708">ChromeVox etkinleştirildi</translation>
 <translation id="4734965478015604180">Yatay</translation>
 <translation id="476166673298332917">Bu cihazın yöneticisinin, şifreler ve iletişimler dahil olmak üzere tüm etkinliklere erişimi var.</translation>
+<translation id="4774338217796918551">Saat <ph name="COME_BACK_TIME" /> olduğunda geri gelin.</translation>
 <translation id="4776917500594043016"><ph name="USER_EMAIL_ADDRESS" /> için şifre</translation>
 <translation id="4778095205580009397">Google Asistan, demo oturumunda kullanılamaz.</translation>
 <translation id="479989351350248267">ara</translation>
@@ -228,6 +232,7 @@
 <translation id="4918086044614829423">Kabul et</translation>
 <translation id="4924411785043111640">Yeniden başlat ve sıfırla</translation>
 <translation id="4961318399572185831">Ekranı yayınla</translation>
+<translation id="5030687792513154421">Süre doldu</translation>
 <translation id="5083553833479578423">Diğer Asistan özelliklerinin kilidini açın.</translation>
 <translation id="5136175204352732067">Farklı klavye bağlandı</translation>
 <translation id="5168181903108465623">Yayın cihazları kullanılabilir</translation>
@@ -276,7 +281,6 @@
 <translation id="598882571027504733">Güncellemeyi almak için Chromebook'unuzu klavye takılıyken yeniden başlatın.</translation>
 <translation id="5992218262414051481">Yüksek Kontrast Modu etkinleştirildi. Modu kapatmak için tekrar Ctrl+Arama+H tuşlarına basın.</translation>
 <translation id="6018164090099858612">Ayna modundan çıkılıyor</translation>
-<translation id="6040143037577758943">Kapat</translation>
 <translation id="6043212731627905357">Bu monitör <ph name="DEVICE_TYPE" /> cihazınızla uyuşmuyor (monitör desteklenmiyor).</translation>
 <translation id="6043994281159824495">Şimdi çıkış yap</translation>
 <translation id="6047696787498798094">Başka bir kullanıcıya geçtiğinizde ekran paylaşma özelliği durur. Devam etmek istiyor musunuz?</translation>
@@ -295,6 +299,7 @@
 <translation id="6297287540776456956">Alan seçmek için ekran kalemini kullanın</translation>
 <translation id="6310121235600822547"><ph name="DISPLAY_NAME" /> dönme ayarı <ph name="ROTATION" /> olarak değiştirildi</translation>
 <translation id="632744581670418035">Klavye yer paylaşımı</translation>
+<translation id="6344698853700675736">Gece Işığı'nı aç/kapat</translation>
 <translation id="6376931439017688372">Bluetooth açık</translation>
 <translation id="639644700271529076">CAPS LOCK kapalı</translation>
 <translation id="6406704438230478924">altgr</translation>
@@ -359,6 +364,7 @@
 <translation id="7510334386202674593">Ctrl + Üst Karakter + L</translation>
 <translation id="7526573455193969409">Ağ trafiği izleniyor olabilir</translation>
 <translation id="7536035074519304529">IP adresi: <ph name="ADDRESS" /></translation>
+<translation id="7548434653388805669">Uyku vakti geldi</translation>
 <translation id="7561014039265304140"><ph name="DISPLAY_NAME" />, <ph name="SPECIFIED_RESOLUTION" /> çözünürlüğünü desteklemiyor. Çözünürlük <ph name="FALLBACK_RESOLUTION" /> olarak değiştirildi</translation>
 <translation id="7562368315689366235">Emoji paleti</translation>
 <translation id="7564874036684306347">Pencereleri başka bir masaüstüne taşımak, beklenmeyen davranışlara neden olabilir. Pencereler taşındıktan sonra gelen bildirimler, pencereler ve iletişim kutuları masaüstleri arasında bölünebilir.</translation>
@@ -401,12 +407,14 @@
 <translation id="8152119955266188852">Tam ekran büyüteç kısayoluna bastınız. Bu özelliği açmak istiyor musunuz?</translation>
 <translation id="8190698733819146287">Dilleri ve girişi özelleştir...</translation>
 <translation id="8192202700944119416">Bildirimler gizlendi.</translation>
+<translation id="8236042855478648955">Mola verme zamanı</translation>
 <translation id="8261506727792406068">Sil</translation>
 <translation id="8297006494302853456">Zayıf</translation>
 <translation id="8308637677604853869">Önceki menü</translation>
 <translation id="8341451174107936385"><ph name="UNLOCK_MORE_FEATURES" />  <ph name="GET_STARTED" /></translation>
 <translation id="8351131234907093545">Not oluştur</translation>
 <translation id="8392451568018454956"><ph name="USER_EMAIL_ADDRESS" /> seçenekler menüsü</translation>
+<translation id="8394567579869570560">Ebeveyniniz bu cihazı kilitledi</translation>
 <translation id="8406981827175133772">Tam Ekran Büyüteci</translation>
 <translation id="8425213833346101688">Değiştir</translation>
 <translation id="8427213022735114808">Dikte özelliği, konuşarak herhangi bir metin alanına yazı yazabilmenizi sağlamak için sesinizi Google'a gönderir.</translation>
@@ -436,7 +444,6 @@
 <translation id="8814190375133053267">Kablosuz</translation>
 <translation id="8825534185036233643">İkiden fazla ekranla yansıtma desteklenmez.</translation>
 <translation id="8828714802988429505">90°</translation>
-<translation id="8841375032071747811">Geri düğmesi</translation>
 <translation id="8843682306134542540">Döndürme kilidini aç/kapat. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Ara+Esc</translation>
 <translation id="8870509716567206129">Uygulama bölünmüş ekranı desteklemiyor.</translation>
@@ -463,6 +470,7 @@
 <translation id="9201131092683066720">Pil %<ph name="PERCENTAGE" /> dolu.</translation>
 <translation id="9210037371811586452">Birleşik masaüstü modundan çıkılıyor</translation>
 <translation id="9215934040295798075">Duvar kağıdını ayarla</translation>
+<translation id="921989828232331238">Ebeveyniniz cihazınızı bugün için kilitledi</translation>
 <translation id="923686485342484400">Oturumu kapatmak için Control ÜstKrktr Q tuşlarına iki defa basın.</translation>
 <translation id="938963181863597773">Takvimimde ne var?</translation>
 <translation id="945522503751344254">Geri bildirim gönder</translation>
diff --git a/ash/strings/ash_strings_uk.xtb b/ash/strings/ash_strings_uk.xtb
index 31e53c5..88fdb80 100644
--- a/ash/strings/ash_strings_uk.xtb
+++ b/ash/strings/ash_strings_uk.xtb
@@ -21,6 +21,7 @@
 <translation id="1270290102613614947">Екранну клавіатуру вимкнено</translation>
 <translation id="1272079795634619415">Зупинити</translation>
 <translation id="1279938420744323401"><ph name="DISPLAY_NAME" /> (<ph name="ANNOTATION" />)</translation>
+<translation id="1289185460362160437">Поверніться о <ph name="COME_BACK_TIME" /> у такий день: <ph name="COME_BACK_DAY_OF_WEEK" />.</translation>
 <translation id="1290331692326790741">слабкий сигнал</translation>
 <translation id="1293264513303784526">Пристрій із портом USB типу C (ліворуч)</translation>
 <translation id="1294929383540927798">Змінити налаштування сповіщень на заблокованому екрані</translation>
@@ -98,6 +99,7 @@
 <translation id="2501920221385095727">Залипання клавіш</translation>
 <translation id="2509468283778169019">Режим CAPS LOCK увімкнено</translation>
 <translation id="2532589005999780174">Режим високого контрасту</translation>
+<translation id="255671100581129685">Google Асистент недоступний у сеансі для всіх.</translation>
 <translation id="2575685495496069081">Паралельний вхід вимкнено</translation>
 <translation id="2582112259361606227">Перезапустіть, щоб оновити</translation>
 <translation id="2597972630681408282">Нічний режим: <ph name="NIGHT_LIGHT_STATUS" /></translation>
@@ -129,6 +131,7 @@
 <translation id="3000461861112256445">Монофонічне аудіо</translation>
 <translation id="3009178788565917040">Вихід</translation>
 <translation id="3019353588588144572">До повного зарядження акумулятора залишилося <ph name="TIME_REMAINING" /></translation>
+<translation id="3055162170959710888">Сьогодні цей пристрій працював <ph name="USED_TIME" /></translation>
 <translation id="3077734595579995578">shift</translation>
 <translation id="3081696990447829002">Розгорнути меню</translation>
 <translation id="3087734570205094154">Низ</translation>
@@ -214,6 +217,7 @@
 <translation id="4659419629803378708">ChromeVox увімкнено</translation>
 <translation id="4734965478015604180">Горизонтально</translation>
 <translation id="476166673298332917">Адміністратор цього пристрою має доступ до всієї активності, зокрема паролів і взаємодій.</translation>
+<translation id="4774338217796918551">Поверніться завтра о <ph name="COME_BACK_TIME" />.</translation>
 <translation id="4776917500594043016">Пароль користувача  <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="4778095205580009397">Google Асистент недоступний у демонстраційному сеансі.</translation>
 <translation id="479989351350248267">пошук</translation>
@@ -228,6 +232,7 @@
 <translation id="4918086044614829423">Прийняти</translation>
 <translation id="4924411785043111640">Перезапустити й скинути</translation>
 <translation id="4961318399572185831">Трансляція екрана</translation>
+<translation id="5030687792513154421">Час закінчився</translation>
 <translation id="5083553833479578423">Розблокуйте інші функції Асистента.</translation>
 <translation id="5136175204352732067">Під’єднано іншу клавіатуру</translation>
 <translation id="5168181903108465623">Доступні пристрої для трансляції</translation>
@@ -276,7 +281,6 @@
 <translation id="598882571027504733">Щоб завантажити оновлення, перезапустіть Chromebook із під’єднаною клавіатурою.</translation>
 <translation id="5992218262414051481">Увімкнено режим високого контрасту. Щоб вимкнути його, знову натисніть Ctrl+Search+H.</translation>
 <translation id="6018164090099858612">Вихід із режиму віддзеркалення</translation>
-<translation id="6040143037577758943">Закрити</translation>
 <translation id="6043212731627905357">Ваш пристрій <ph name="DEVICE_TYPE" /> не підтримує цей монітор.</translation>
 <translation id="6043994281159824495">Вийти зараз</translation>
 <translation id="6047696787498798094">Якщо змінити користувача, спільний доступ до екрана буде скасовано. Продовжити?</translation>
@@ -359,6 +363,7 @@
 <translation id="7510334386202674593">Ctrl+Shift+L</translation>
 <translation id="7526573455193969409">Мережевий трафік може відстежуватися</translation>
 <translation id="7536035074519304529">ІР-адреса: <ph name="ADDRESS" /></translation>
+<translation id="7548434653388805669">Час спати</translation>
 <translation id="7561014039265304140">Екран <ph name="DISPLAY_NAME" /> не підтримує роздільну здатність <ph name="SPECIFIED_RESOLUTION" />. Роздільну здатність змінено на <ph name="FALLBACK_RESOLUTION" /></translation>
 <translation id="7562368315689366235">Смайли</translation>
 <translation id="7564874036684306347">Переміщення вікон на інший робочий стіл може спричинити неочікувану поведінку. Нові сповіщення та вікна можуть розділятися між робочими столами.</translation>
@@ -401,12 +406,14 @@
 <translation id="8152119955266188852">Ви натиснули комбінацію клавіш для лупи на весь екран. Увімкнути?</translation>
 <translation id="8190698733819146287">Налаштувати мови та введення тексту...</translation>
 <translation id="8192202700944119416">Сповіщення сховано.</translation>
+<translation id="8236042855478648955">Час зробити перерву</translation>
 <translation id="8261506727792406068">Видалити</translation>
 <translation id="8297006494302853456">Слабкий</translation>
 <translation id="8308637677604853869">Попереднє меню</translation>
 <translation id="8341451174107936385"><ph name="UNLOCK_MORE_FEATURES" /> <ph name="GET_STARTED" /></translation>
 <translation id="8351131234907093545">Створити нотатку</translation>
 <translation id="8392451568018454956">Меню параметрів для <ph name="USER_EMAIL_ADDRESS" /></translation>
+<translation id="8394567579869570560">Батьки заблокували цей пристрій</translation>
 <translation id="8406981827175133772">Лупа для всього екрана</translation>
 <translation id="8425213833346101688">Змінити</translation>
 <translation id="8427213022735114808">Диктування надсилає зразок вашого голосу в Google, щоб дозволити голосовий ввід у будь-якому текстовому полі.</translation>
@@ -436,7 +443,6 @@
 <translation id="8814190375133053267">Wi-Fi</translation>
 <translation id="8825534185036233643">Дзеркалювання на більше ніж двох дисплеях не підтримується.</translation>
 <translation id="8828714802988429505">90°</translation>
-<translation id="8841375032071747811">Кнопка "Назад"</translation>
 <translation id="8843682306134542540">Заблокувати/розблокувати обертання. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Search (Пошук)+Esc</translation>
 <translation id="8870509716567206129">Додаток не підтримує розділення екрана.</translation>
@@ -463,6 +469,7 @@
 <translation id="9201131092683066720">Акумулятор заряджений на <ph name="PERCENTAGE" />%.</translation>
 <translation id="9210037371811586452">Вихід з уніфікованого режиму робочого стола</translation>
 <translation id="9215934040295798075">Вибрати фоновий малюнок</translation>
+<translation id="921989828232331238">Батьки заблокували твій пристрій на весь день</translation>
 <translation id="923686485342484400">Щоб вийти, двічі натисніть Control Shift Q.</translation>
 <translation id="938963181863597773">Які події заплановано?</translation>
 <translation id="945522503751344254">Надіслати відгук</translation>
diff --git a/ash/strings/ash_strings_vi.xtb b/ash/strings/ash_strings_vi.xtb
index 3478b11..e0942cd 100644
--- a/ash/strings/ash_strings_vi.xtb
+++ b/ash/strings/ash_strings_vi.xtb
@@ -21,6 +21,7 @@
 <translation id="1270290102613614947">Đã tắt bàn phím ảo</translation>
 <translation id="1272079795634619415">Dừng</translation>
 <translation id="1279938420744323401"><ph name="DISPLAY_NAME" /> (<ph name="ANNOTATION" />)</translation>
+<translation id="1289185460362160437">Hãy quay lại vào <ph name="COME_BACK_DAY_OF_WEEK" /> lúc <ph name="COME_BACK_TIME" />.</translation>
 <translation id="1290331692326790741">Tín hiệu yếu</translation>
 <translation id="1293264513303784526">Thiết bị USB-C (cổng bên trái)</translation>
 <translation id="1294929383540927798">Thay đổi các mục cài đặt thông báo trên màn hình khóa</translation>
@@ -90,7 +91,7 @@
 <translation id="2391579633712104609">180°</translation>
 <translation id="239188844683466770">Bật/tắt trạng thái Không làm phiền</translation>
 <translation id="2412593942846481727">Đã có bản cập nhật</translation>
-<translation id="2413728805700750528"><ph name="DISPLAY_NAME" /> là một phiên được quản lý trong <ph name="DOMAIN" /></translation>
+<translation id="2413728805700750528"><ph name="DISPLAY_NAME" /> là một phiên được <ph name="DOMAIN" /> quản lý</translation>
 <translation id="2416346634399901812">Đã kết nối với <ph name="NETWORK_NAME" /></translation>
 <translation id="2429753432712299108">Thiết bị Bluetooth "<ph name="DEVICE_NAME" />" muốn được phép ghép nối. Trước khi chấp nhận, vui lòng xác nhận rằng mã xác nhận này đã hiển thị trên thiết bị đó: <ph name="PASSKEY" /></translation>
 <translation id="2482878487686419369">Thông báo</translation>
@@ -98,6 +99,7 @@
 <translation id="2501920221385095727">Phím cố định</translation>
 <translation id="2509468283778169019">Đang bật CAPS LOCK</translation>
 <translation id="2532589005999780174">Chế độ tương phản cao</translation>
+<translation id="255671100581129685">Bạn không thể sử dụng Trợ lý Google trong phiên công khai.</translation>
 <translation id="2575685495496069081">Đã tắt tính năng đăng nhập nhiều tài khoản</translation>
 <translation id="2582112259361606227">Khởi động lại để cập nhật</translation>
 <translation id="2597972630681408282">Chế độ ánh sáng ban đêm: <ph name="NIGHT_LIGHT_STATUS" /></translation>
@@ -129,6 +131,7 @@
 <translation id="3000461861112256445">Đơn âm</translation>
 <translation id="3009178788565917040">Thiết bị ra</translation>
 <translation id="3019353588588144572">Thời gian còn lại cho đến khi pin được sạc đầy, <ph name="TIME_REMAINING" /></translation>
+<translation id="3055162170959710888">Bạn đã dùng thiết bị này trong <ph name="USED_TIME" /> hôm nay</translation>
 <translation id="3077734595579995578">shift</translation>
 <translation id="3081696990447829002">Mở rộng menu</translation>
 <translation id="3087734570205094154">Bên dưới</translation>
@@ -215,6 +218,7 @@
 <translation id="4659419629803378708">Đã bật ChromeVox</translation>
 <translation id="4734965478015604180">Ngang</translation>
 <translation id="476166673298332917">Quản trị viên của thiết bị này có quyền truy cập vào mọi hoạt động, bao gồm cả mật khẩu và hoạt động giao tiếp.</translation>
+<translation id="4774338217796918551">Hãy quay lại lúc <ph name="COME_BACK_TIME" /> ngày mai.</translation>
 <translation id="4776917500594043016">Mật khẩu cho <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="4778095205580009397">Bạn không thể sử dụng Trợ lý Google trong phiên minh họa.</translation>
 <translation id="479989351350248267">search</translation>
@@ -229,6 +233,7 @@
 <translation id="4918086044614829423">Chấp nhận</translation>
 <translation id="4924411785043111640">Khởi động lại và đặt lại</translation>
 <translation id="4961318399572185831">Truyền màn hình</translation>
+<translation id="5030687792513154421">Đã hết thời gian</translation>
 <translation id="5083553833479578423">Mở khóa các tính năng khác của Trợ lý.</translation>
 <translation id="5136175204352732067">Đã kết nối bàn phím khác</translation>
 <translation id="5168181903108465623">Có thiết bị truyền</translation>
@@ -277,7 +282,6 @@
 <translation id="598882571027504733">Để cập nhật, hãy khởi động lại Chromebook bằng bàn phím đã kết nối.</translation>
 <translation id="5992218262414051481">Đã bật Chế độ tương phản cao. Nhấn lại Ctrl+Search+H để tắt.</translation>
 <translation id="6018164090099858612">Đang thoát chế độ phản chiếu</translation>
-<translation id="6040143037577758943">Đóng</translation>
 <translation id="6043212731627905357">Màn hình này không tương thích với <ph name="DEVICE_TYPE" /> của bạn (màn hình không được hỗ trợ).</translation>
 <translation id="6043994281159824495">Đăng xuất bây giờ</translation>
 <translation id="6047696787498798094">Chia sẻ màn hình sẽ dừng khi bạn chuyển sang người dùng khác. Bạn có muốn tiếp tục không?</translation>
@@ -360,6 +364,7 @@
 <translation id="7510334386202674593">Ctrl+Shift+L</translation>
 <translation id="7526573455193969409">Mạng có thể được giám sát</translation>
 <translation id="7536035074519304529">Địa chỉ IP: <ph name="ADDRESS" /></translation>
+<translation id="7548434653388805669">Giờ đi ngủ</translation>
 <translation id="7561014039265304140"><ph name="DISPLAY_NAME" /> không hỗ trợ <ph name="SPECIFIED_RESOLUTION" />. Độ phân giải đã được thay đổi thành <ph name="FALLBACK_RESOLUTION" /></translation>
 <translation id="7562368315689366235">Bảng màu biểu tượng cảm xúc</translation>
 <translation id="7564874036684306347">Di chuyển cửa sổ sang màn hình khác có thể gây ra hoạt động không mong muốn. Các thông báo, cửa sổ và hộp thoại tiếp theo có thể bị phân tách giữa các màn hình.</translation>
@@ -402,12 +407,14 @@
 <translation id="8152119955266188852">Bạn đã nhấn phím tắt để phóng to toàn màn hình. Bạn có muốn bật chế độ này không?</translation>
 <translation id="8190698733819146287">Tùy chỉnh ngôn ngữ và dữ liệu nhập...</translation>
 <translation id="8192202700944119416">Đã ẩn thông báo.</translation>
+<translation id="8236042855478648955">Giờ nghỉ giải lao</translation>
 <translation id="8261506727792406068">Xóa</translation>
 <translation id="8297006494302853456">Yếu</translation>
 <translation id="8308637677604853869">Menu trước</translation>
 <translation id="8341451174107936385"><ph name="UNLOCK_MORE_FEATURES" />  <ph name="GET_STARTED" /></translation>
 <translation id="8351131234907093545">Tạo ghi chú</translation>
 <translation id="8392451568018454956">Menu tùy chọn dành cho <ph name="USER_EMAIL_ADDRESS" /></translation>
+<translation id="8394567579869570560">Cha mẹ của bạn đã khóa thiết bị này</translation>
 <translation id="8406981827175133772">Phóng to toàn màn hình</translation>
 <translation id="8425213833346101688">Thay đổi</translation>
 <translation id="8427213022735114808">Tính năng nhập bằng giọng nói gửi giọng nói của bạn tới Google để cho phép nhập liệu bằng giọng nói vào bất kỳ trường văn bản nào.</translation>
@@ -437,7 +444,6 @@
 <translation id="8814190375133053267">Wi-Fi</translation>
 <translation id="8825534185036233643">Không hỗ trợ tính năng phản chiếu với hai màn hình trở lên.</translation>
 <translation id="8828714802988429505">90°</translation>
-<translation id="8841375032071747811">Nút quay lại</translation>
 <translation id="8843682306134542540">Bật/tắt khóa xoay. <ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Search+Esc</translation>
 <translation id="8870509716567206129">Ứng dụng không hỗ trợ chế độ chia đôi màn hình.</translation>
@@ -464,6 +470,7 @@
 <translation id="9201131092683066720">Pin đầy <ph name="PERCENTAGE" />%.</translation>
 <translation id="9210037371811586452">Đang thoát chế độ màn hình hợp nhất</translation>
 <translation id="9215934040295798075">Đặt hình nền</translation>
+<translation id="921989828232331238">Cha mẹ đã khóa thiết bị của bạn cả ngày</translation>
 <translation id="923686485342484400">Nhấn Control Shift Q hai lần để đăng xuất.</translation>
 <translation id="938963181863597773">Trên lịch của tôi có sự kiện gì?</translation>
 <translation id="945522503751344254">Gửi phản hồi</translation>
diff --git a/ash/strings/ash_strings_zh-CN.xtb b/ash/strings/ash_strings_zh-CN.xtb
index 8704ad6..3a283cf 100644
--- a/ash/strings/ash_strings_zh-CN.xtb
+++ b/ash/strings/ash_strings_zh-CN.xtb
@@ -21,6 +21,7 @@
 <translation id="1270290102613614947">屏幕键盘已停用</translation>
 <translation id="1272079795634619415">停止</translation>
 <translation id="1279938420744323401"><ph name="DISPLAY_NAME" />(<ph name="ANNOTATION" />)</translation>
+<translation id="1289185460362160437">您需要等到<ph name="COME_BACK_DAY_OF_WEEK" /><ph name="COME_BACK_TIME" /> 才能再次使用此设备。</translation>
 <translation id="1290331692326790741">信号较弱</translation>
 <translation id="1293264513303784526">USB-C 设备(左侧端口)</translation>
 <translation id="1294929383540927798">更改锁定屏幕通知设置</translation>
@@ -98,6 +99,7 @@
 <translation id="2501920221385095727">粘滞键</translation>
 <translation id="2509468283778169019">CAPS LOCK 已打开</translation>
 <translation id="2532589005999780174">高反差模式</translation>
+<translation id="255671100581129685">无法在公用自助终端使用 Google 助理。</translation>
 <translation id="2575685495496069081">多帐号登录已被停用</translation>
 <translation id="2582112259361606227">重启以进行更新</translation>
 <translation id="2597972630681408282">夜间模式:<ph name="NIGHT_LIGHT_STATUS" /></translation>
@@ -129,6 +131,7 @@
 <translation id="3000461861112256445">单声道音频</translation>
 <translation id="3009178788565917040">输出</translation>
 <translation id="3019353588588144572">电池电量将在 <ph name="TIME_REMAINING" />后充满</translation>
+<translation id="3055162170959710888">您今天的设备使用时长:<ph name="USED_TIME" /></translation>
 <translation id="3077734595579995578">shift</translation>
 <translation id="3081696990447829002">展开菜单</translation>
 <translation id="3087734570205094154">底部</translation>
@@ -215,6 +218,7 @@
 <translation id="4659419629803378708">已启用 ChromeVox</translation>
 <translation id="4734965478015604180">横向</translation>
 <translation id="476166673298332917">此设备的管理员有权访问所有活动数据,包括密码和通信内容。</translation>
+<translation id="4774338217796918551">您需要等到明天<ph name="COME_BACK_TIME" /> 才能再次使用此设备。</translation>
 <translation id="4776917500594043016"><ph name="USER_EMAIL_ADDRESS" /> 的密码</translation>
 <translation id="4778095205580009397">无法在演示会话中使用 Google 助理。</translation>
 <translation id="479989351350248267">搜索</translation>
@@ -229,6 +233,7 @@
 <translation id="4918086044614829423">接受</translation>
 <translation id="4924411785043111640">重启并重置</translation>
 <translation id="4961318399572185831">投射屏幕</translation>
+<translation id="5030687792513154421">时间到</translation>
 <translation id="5083553833479578423">启用更多 Google 助理功能。</translation>
 <translation id="5136175204352732067">所连接的键盘已不是原来的那个</translation>
 <translation id="5168181903108465623">有可用的投射设备</translation>
@@ -277,7 +282,6 @@
 <translation id="598882571027504733">要想获取此项更新,请在已连接该键盘的情况下重新启动您的 Chromebook。</translation>
 <translation id="5992218262414051481">已启用高反差模式。再按一次 Ctrl+搜索键+H 组合键即可关闭此模式。</translation>
 <translation id="6018164090099858612">正在退出镜像模式</translation>
-<translation id="6040143037577758943">关闭</translation>
 <translation id="6043212731627905357">该显示器与您的<ph name="DEVICE_TYPE" />不兼容(系统不支持该显示器)。</translation>
 <translation id="6043994281159824495">立即退出</translation>
 <translation id="6047696787498798094">切换到其他用户后将停止屏幕共享。要继续吗?</translation>
@@ -360,6 +364,7 @@
 <translation id="7510334386202674593">Ctrl+Shift+L</translation>
 <translation id="7526573455193969409">网络可能受到了监控</translation>
 <translation id="7536035074519304529">IP 地址:<ph name="ADDRESS" /></translation>
+<translation id="7548434653388805669">该睡觉了</translation>
 <translation id="7561014039265304140"><ph name="DISPLAY_NAME" />不支持<ph name="SPECIFIED_RESOLUTION" />。分辨率已改为<ph name="FALLBACK_RESOLUTION" /></translation>
 <translation id="7562368315689366235">表情符号面板</translation>
 <translation id="7564874036684306347">将窗口移至另一桌面可能会导致出现意外行为 - 后续的通知、窗口和对话框可能会被拆分到不同的桌面中。</translation>
@@ -402,12 +407,14 @@
 <translation id="8152119955266188852">您按下了全屏放大镜的快捷键。要开启这项功能吗?</translation>
 <translation id="8190698733819146287">自定义语言和输入法...</translation>
 <translation id="8192202700944119416">已隐藏通知。</translation>
+<translation id="8236042855478648955">该休息了</translation>
 <translation id="8261506727792406068">删除</translation>
 <translation id="8297006494302853456">弱</translation>
 <translation id="8308637677604853869">上一菜单</translation>
 <translation id="8341451174107936385"><ph name="UNLOCK_MORE_FEATURES" />  <ph name="GET_STARTED" /></translation>
 <translation id="8351131234907093545">创建记事</translation>
 <translation id="8392451568018454956"><ph name="USER_EMAIL_ADDRESS" /> 的“选项”菜单</translation>
+<translation id="8394567579869570560">您的家长锁定了此设备</translation>
 <translation id="8406981827175133772">全屏放大镜</translation>
 <translation id="8425213833346101688">更改</translation>
 <translation id="8427213022735114808">语音输入功能会将您的语音内容发送给 Google,以便能在任何文本字段中进行语音输入。</translation>
@@ -437,7 +444,6 @@
 <translation id="8814190375133053267">Wi-Fi</translation>
 <translation id="8825534185036233643">系统不支持镜像两个以上的显示屏。</translation>
 <translation id="8828714802988429505">90°</translation>
-<translation id="8841375032071747811">“返回”按钮</translation>
 <translation id="8843682306134542540">切换旋转锁定设置。<ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">Search+Esc</translation>
 <translation id="8870509716567206129">应用不支持分屏。</translation>
@@ -464,6 +470,7 @@
 <translation id="9201131092683066720">电池电量为<ph name="PERCENTAGE" />%。</translation>
 <translation id="9210037371811586452">正在退出统一桌面模式</translation>
 <translation id="9215934040295798075">设置壁纸</translation>
+<translation id="921989828232331238">您的家长为您设定了每日设备使用时长限制</translation>
 <translation id="923686485342484400">连按两次Ctrl+Shift+Q即可退出。</translation>
 <translation id="938963181863597773">我的日历中有哪些活动?</translation>
 <translation id="945522503751344254">发送反馈</translation>
diff --git a/ash/strings/ash_strings_zh-TW.xtb b/ash/strings/ash_strings_zh-TW.xtb
index daa806b..c6b324c 100644
--- a/ash/strings/ash_strings_zh-TW.xtb
+++ b/ash/strings/ash_strings_zh-TW.xtb
@@ -21,6 +21,7 @@
 <translation id="1270290102613614947">螢幕小鍵盤已停用</translation>
 <translation id="1272079795634619415">停止</translation>
 <translation id="1279938420744323401"><ph name="DISPLAY_NAME" /> (<ph name="ANNOTATION" />)</translation>
+<translation id="1289185460362160437"><ph name="COME_BACK_DAY_OF_WEEK" /><ph name="COME_BACK_TIME" /> 裝置就會解除鎖定。</translation>
 <translation id="1290331692326790741">訊號微弱</translation>
 <translation id="1293264513303784526">USB-C 裝置 (左側連接埠)</translation>
 <translation id="1294929383540927798">變更螢幕鎖定通知設定</translation>
@@ -98,6 +99,7 @@
 <translation id="2501920221385095727">相黏鍵</translation>
 <translation id="2509468283778169019">大寫鍵已啟用</translation>
 <translation id="2532589005999780174">高反差模式</translation>
+<translation id="255671100581129685">Google 助理不適用於公開工作階段。</translation>
 <translation id="2575685495496069081">多重登入功能已停用</translation>
 <translation id="2582112259361606227">重新啟動即可更新</translation>
 <translation id="2597972630681408282">夜燈功能:<ph name="NIGHT_LIGHT_STATUS" /></translation>
@@ -129,6 +131,7 @@
 <translation id="3000461861112256445">單聲道音訊</translation>
 <translation id="3009178788565917040">輸出</translation>
 <translation id="3019353588588144572">電池剩餘充電時間:<ph name="TIME_REMAINING" /></translation>
+<translation id="3055162170959710888">你今天的裝置使用時間:<ph name="USED_TIME" /></translation>
 <translation id="3077734595579995578">Shift</translation>
 <translation id="3081696990447829002">展開選單</translation>
 <translation id="3087734570205094154">置底</translation>
@@ -214,6 +217,7 @@
 <translation id="4659419629803378708">ChromeVox 已啟用</translation>
 <translation id="4734965478015604180">橫向</translation>
 <translation id="476166673298332917">這個裝置的管理員擁有所有活動的存取權限,包含存取密碼和通訊記錄的相關權限。</translation>
+<translation id="4774338217796918551"><ph name="COME_BACK_TIME" /> 裝置就會解除鎖定。</translation>
 <translation id="4776917500594043016"><ph name="USER_EMAIL_ADDRESS" /> 的密碼</translation>
 <translation id="4778095205580009397">Google 助理不適用於示範工作階段。</translation>
 <translation id="479989351350248267">search</translation>
@@ -228,6 +232,7 @@
 <translation id="4918086044614829423">接受</translation>
 <translation id="4924411785043111640">重新啟動並重設</translation>
 <translation id="4961318399572185831">投放螢幕</translation>
+<translation id="5030687792513154421">使用時間結束</translation>
 <translation id="5083553833479578423">啟用更多 Google 助理功能。</translation>
 <translation id="5136175204352732067">已連接其他鍵盤</translation>
 <translation id="5168181903108465623">可用的投放裝置</translation>
@@ -276,7 +281,6 @@
 <translation id="598882571027504733">如要更新,請連接鍵盤並重新啟動 Chromebook。</translation>
 <translation id="5992218262414051481">高對比模式已啟用。再次按下 Ctrl 鍵 + 搜尋鍵 + H 鍵即可停用。</translation>
 <translation id="6018164090099858612">退出鏡像模式</translation>
-<translation id="6040143037577758943">關閉</translation>
 <translation id="6043212731627905357">這個顯示器與你的 <ph name="DEVICE_TYPE" /> 不相容 (這是不支援的顯示器)。</translation>
 <translation id="6043994281159824495">立即登出</translation>
 <translation id="6047696787498798094">切換到另一個使用者會停止共用螢幕,你要繼續嗎?</translation>
@@ -359,6 +363,7 @@
 <translation id="7510334386202674593">Ctrl + Shift + L 鍵</translation>
 <translation id="7526573455193969409">網路可能會受到監控</translation>
 <translation id="7536035074519304529">IP 位址:<ph name="ADDRESS" /></translation>
+<translation id="7548434653388805669">就寢時間到了</translation>
 <translation id="7561014039265304140"><ph name="DISPLAY_NAME" /> 不支援 <ph name="SPECIFIED_RESOLUTION" />,解析度已變更為 <ph name="FALLBACK_RESOLUTION" /></translation>
 <translation id="7562368315689366235">表情符號面板</translation>
 <translation id="7564874036684306347">將視窗移至其他桌面可能會導致未預期的行為。後續的通知、視窗和對話方塊可能會分開顯示在不同桌面上。</translation>
@@ -401,12 +406,14 @@
 <translation id="8152119955266188852">你按下了全螢幕放大鏡的快速鍵。確定要啟用這項功能嗎?</translation>
 <translation id="8190698733819146287">自訂語言與輸入法...</translation>
 <translation id="8192202700944119416">已隱藏通知。</translation>
+<translation id="8236042855478648955">休息時間</translation>
 <translation id="8261506727792406068">刪除</translation>
 <translation id="8297006494302853456">弱</translation>
 <translation id="8308637677604853869">前一個選單</translation>
 <translation id="8341451174107936385"><ph name="UNLOCK_MORE_FEATURES" />  <ph name="GET_STARTED" /></translation>
 <translation id="8351131234907093545">寫筆記</translation>
 <translation id="8392451568018454956"><ph name="USER_EMAIL_ADDRESS" /> 的選項選單</translation>
+<translation id="8394567579869570560">你的家長已鎖定這部裝置</translation>
 <translation id="8406981827175133772">全螢幕放大鏡</translation>
 <translation id="8425213833346101688">變更</translation>
 <translation id="8427213022735114808">語音輸入功能會將你的語音資料傳送給 Google,讓你使用自己的語音在任何文字欄位中輸入內容。</translation>
@@ -436,7 +443,6 @@
 <translation id="8814190375133053267">Wi-Fi</translation>
 <translation id="8825534185036233643">鏡像處理作業最多支援兩部顯示器。</translation>
 <translation id="8828714802988429505">90 度</translation>
-<translation id="8841375032071747811">返回按鈕</translation>
 <translation id="8843682306134542540">切換旋轉鎖定。<ph name="STATE_TEXT" /></translation>
 <translation id="8850991929411075241">搜尋鍵 + Esc 鍵</translation>
 <translation id="8870509716567206129">這個應用程式不支援分割畫面。</translation>
@@ -463,6 +469,7 @@
 <translation id="9201131092683066720">電池電量為 <ph name="PERCENTAGE" />%。</translation>
 <translation id="9210037371811586452">退出整合桌面模式</translation>
 <translation id="9215934040295798075">設定桌布</translation>
+<translation id="921989828232331238">你的家長今天已鎖定這部裝置</translation>
 <translation id="923686485342484400">按兩下 Ctrl+Shift+Q 鍵即可登出。</translation>
 <translation id="938963181863597773">我的日曆上有什麼活動?</translation>
 <translation id="945522503751344254">提供意見</translation>
diff --git a/ash/system/message_center/notification_tray.cc b/ash/system/message_center/notification_tray.cc
index 8bdc31e..8e154c18 100644
--- a/ash/system/message_center/notification_tray.cc
+++ b/ash/system/message_center/notification_tray.cc
@@ -98,7 +98,7 @@
         tray, bubble_view, false /* is_persistent */);
     bubble->InitializeContents(bubble_view);
 
-    if (app_list::features::IsBackgroundBlurEnabled()) {
+    if (app_list_features::IsBackgroundBlurEnabled()) {
       // ClientView's layer (See TrayBubbleView::InitializeAndShowBubble())
       bubble_view->layer()->parent()->SetBackgroundBlur(kBackgroundBlurRadius);
     }
diff --git a/ash/system/tray/tray_bubble_view.cc b/ash/system/tray/tray_bubble_view.cc
index 8613c9f..162dfc02d 100644
--- a/ash/system/tray/tray_bubble_view.cc
+++ b/ash/system/tray/tray_bubble_view.cc
@@ -206,7 +206,7 @@
       bubble_border_(new BubbleBorder(
           arrow(),
           init_params.has_shadow ? BubbleBorder::NO_ASSETS
-                                 : BubbleBorder::NO_SHADOW,
+                                 : BubbleBorder::BIG_SHADOW,
           init_params.bg_color.value_or(gfx::kPlaceholderColor))),
       owned_bubble_border_(bubble_border_),
       is_gesture_dragging_(false),
diff --git a/ash/system/unified/unified_slider_bubble_controller.cc b/ash/system/unified/unified_slider_bubble_controller.cc
index 4fb3253..725d944 100644
--- a/ash/system/unified/unified_slider_bubble_controller.cc
+++ b/ash/system/unified/unified_slider_bubble_controller.cc
@@ -178,7 +178,7 @@
   TrayBackgroundView::InitializeBubbleAnimations(bubble_widget_);
   bubble_view_->InitializeAndShowBubble();
 
-  if (app_list::features::IsBackgroundBlurEnabled()) {
+  if (app_list_features::IsBackgroundBlurEnabled()) {
     bubble_widget_->client_view()->layer()->SetBackgroundBlur(
         kUnifiedMenuBackgroundBlur);
   }
diff --git a/ash/system/unified/unified_system_tray_bubble.cc b/ash/system/unified/unified_system_tray_bubble.cc
index e0e83a4..cec63ae 100644
--- a/ash/system/unified/unified_system_tray_bubble.cc
+++ b/ash/system/unified/unified_system_tray_bubble.cc
@@ -113,7 +113,7 @@
   TrayBackgroundView::InitializeBubbleAnimations(bubble_widget_);
   bubble_view_->InitializeAndShowBubble();
 
-  if (app_list::features::IsBackgroundBlurEnabled()) {
+  if (app_list_features::IsBackgroundBlurEnabled()) {
     bubble_widget_->client_view()->layer()->SetBackgroundBlur(
         kUnifiedMenuBackgroundBlur);
   }
@@ -313,7 +313,7 @@
 }
 
 void UnifiedSystemTrayBubble::CreateBlurLayerForAnimation() {
-  if (!app_list::features::IsBackgroundBlurEnabled())
+  if (!app_list_features::IsBackgroundBlurEnabled())
     return;
 
   if (blur_layer_)
@@ -336,7 +336,7 @@
 }
 
 void UnifiedSystemTrayBubble::DestroyBlurLayerForAnimation() {
-  if (!app_list::features::IsBackgroundBlurEnabled())
+  if (!app_list_features::IsBackgroundBlurEnabled())
     return;
 
   if (!blur_layer_)
diff --git a/ash/system/unified/unified_system_tray_view.cc b/ash/system/unified/unified_system_tray_view.cc
index d9d1d29b..7f6d63f9 100644
--- a/ash/system/unified/unified_system_tray_view.cc
+++ b/ash/system/unified/unified_system_tray_view.cc
@@ -375,7 +375,7 @@
 std::unique_ptr<views::Background> UnifiedSystemTrayView::CreateBackground() {
   return views::CreateBackgroundFromPainter(
       views::Painter::CreateSolidRoundRectPainter(
-          app_list::features::IsBackgroundBlurEnabled()
+          app_list_features::IsBackgroundBlurEnabled()
               ? kUnifiedMenuBackgroundColorWithBlur
               : kUnifiedMenuBackgroundColor,
           kUnifiedTrayCornerRadius));
diff --git a/ash/test/ash_test_helper.cc b/ash/test/ash_test_helper.cc
index 00c1a47e..783e2e7e 100644
--- a/ash/test/ash_test_helper.cc
+++ b/ash/test/ash_test_helper.cc
@@ -255,9 +255,7 @@
   }
 
   if (!bluez::BluezDBusManager::IsInitialized()) {
-    bluez::BluezDBusManager::Initialize(
-        chromeos::DBusThreadManager::Get()->GetSystemBus(),
-        chromeos::DBusThreadManager::Get()->IsUsingFakes());
+    bluez::BluezDBusManager::Initialize();
     bluez_dbus_manager_initialized_ = true;
   }
 
diff --git a/base/metrics/histogram.cc b/base/metrics/histogram.cc
index a5bac65..0f4efae09 100644
--- a/base/metrics/histogram.cc
+++ b/base/metrics/histogram.cc
@@ -295,30 +295,36 @@
 // thus should never have a mismatch.
 // TODO(bcwhite): Revert this once some crashes have been collected.
 #if defined(OS_WIN)  // Only Windows has a debugger that makes this useful.
-    // Create local copies of the parameters to be sure they'll be available
-    // in the crash dump for the debugger to see.
-    const Histogram* h = static_cast<Histogram*>(histogram);
-    Sample hash_32 = static_cast<Sample>(HashMetricName(name_));
-    debug::Alias(&hash_32);
-    DEBUG_ALIAS_FOR_CSTR(new_name, name_.c_str(), 100);
-    HistogramType new_type = histogram_type_;
-    Sample new_min = minimum_;
-    Sample new_max = maximum_;
-    uint32_t new_count = bucket_count_;
-    debug::Alias(&new_type);
-    debug::Alias(&new_min);
-    debug::Alias(&new_max);
-    debug::Alias(&new_count);
-    DEBUG_ALIAS_FOR_CSTR(old_name, h->histogram_name(), 100);
-    HistogramType old_type = h->GetHistogramType();
-    Sample old_min = h->declared_min();
-    Sample old_max = h->declared_max();
-    uint32_t old_count = h->bucket_count();
-    debug::Alias(&old_type);
-    debug::Alias(&old_min);
-    debug::Alias(&old_max);
-    debug::Alias(&old_count);
-    CHECK(false) << name_;
+    // Don't crash for linear histograms as these have never shown an error
+    // but mismitches still occur because of extensions that have different
+    // enumeration lists than what is inside Chrome. Continue to return the
+    // "dummy" histogram (below) instead.
+    if (histogram_type_ != LINEAR_HISTOGRAM) {
+      // Create local copies of the parameters to be sure they'll be available
+      // in the crash dump for the debugger to see.
+      const Histogram* h = static_cast<Histogram*>(histogram);
+      Sample hash_32 = static_cast<Sample>(HashMetricName(name_));
+      debug::Alias(&hash_32);
+      DEBUG_ALIAS_FOR_CSTR(new_name, name_.c_str(), 100);
+      HistogramType new_type = histogram_type_;
+      Sample new_min = minimum_;
+      Sample new_max = maximum_;
+      uint32_t new_count = bucket_count_;
+      debug::Alias(&new_type);
+      debug::Alias(&new_min);
+      debug::Alias(&new_max);
+      debug::Alias(&new_count);
+      DEBUG_ALIAS_FOR_CSTR(old_name, h->histogram_name(), 100);
+      HistogramType old_type = h->GetHistogramType();
+      Sample old_min = h->declared_min();
+      Sample old_max = h->declared_max();
+      uint32_t old_count = h->bucket_count();
+      debug::Alias(&old_type);
+      debug::Alias(&old_min);
+      debug::Alias(&old_max);
+      debug::Alias(&old_count);
+      CHECK(false) << name_;
+    }
 #endif
     return DummyHistogram::GetInstance();
   }
diff --git a/build/config/android/internal_rules.gni b/build/config/android/internal_rules.gni
index e5b654c3..0c3ce680 100644
--- a/build/config/android/internal_rules.gni
+++ b/build/config/android/internal_rules.gni
@@ -1344,7 +1344,10 @@
           rebase_path(_desugar_input_jar, root_build_dir),
           "--output-jar",
           rebase_path(_desugar_output_jar, root_build_dir),
-          "--classpath=@FileArg($_rebased_build_config:javac:interface_classpath)",
+
+          # Temporarily using java_full_interface_classpath until classpath validation of targets
+          # is implemented, see http://crbug.com/885273
+          "--classpath=@FileArg($_rebased_build_config:deps_info:javac_full_interface_classpath)",
           "--bootclasspath=@FileArg($_rebased_build_config:android:sdk_interface_jars)",
         ]
       }
diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
index 0e79697..95584a5 100644
--- a/build/config/compiler/BUILD.gn
+++ b/build/config/compiler/BUILD.gn
@@ -1056,29 +1056,16 @@
         ]
       }
     } else if (current_cpu == "ppc64") {
-      if (v8_current_cpu == "ppc") {
-        cflags += [ "-m32" ]
-        ldflags += [ "-m32" ]
-      } else if (v8_current_cpu == "ppc64") {
-        if (current_os == "aix") {
-          cflags += [ "-maix64" ]
-          ldflags += [ "-maix64" ]
-        } else {
-          cflags += [ "-m64" ]
-          ldflags += [ "-m64" ]
-        }
-      }
-    } else if (current_cpu == "s390x") {
-      if (v8_current_cpu == "s390" && host_byteorder == "little") {
-        cflags += [ "-m32" ]
-        ldflags += [ "-m32" ]
-      } else if (v8_current_cpu == "s390") {
-        cflags += [ "-m31" ]
-        ldflags += [ "-m31" ]
-      } else if (v8_current_cpu == "s390x") {
+      if (current_os == "aix") {
+        cflags += [ "-maix64" ]
+        ldflags += [ "-maix64" ]
+      } else {
         cflags += [ "-m64" ]
         ldflags += [ "-m64" ]
       }
+    } else if (current_cpu == "s390x") {
+      cflags += [ "-m64" ]
+      ldflags += [ "-m64" ]
     }
   }
 
diff --git a/build/config/fuchsia/BUILD.gn b/build/config/fuchsia/BUILD.gn
index c7fbf25..501cae4 100644
--- a/build/config/fuchsia/BUILD.gn
+++ b/build/config/fuchsia/BUILD.gn
@@ -10,7 +10,7 @@
 assert(!is_posix)
 
 config("compiler") {
-  sdk_version_file = rebase_path("$fuchsia_sdk/.hash")
+  sdk_version_file = rebase_path("${fuchsia_sdk}/.hash")
   sdk_version = read_file(sdk_version_file, "trim string")
   defines = [
     # To force full builds after SDK updates in case of ABI changes.
@@ -64,14 +64,13 @@
   # limitation in the future.
   _extend_size = "1073741824"  # 1GB
 
-  _target_dir = "//third_party/fuchsia-sdk/sdk/target/${current_cpu}"
+  _target_dir = "${fuchsia_sdk}/target/${current_cpu}"
 
   script = "//build/config/fuchsia/extend_fvm.py"
 
   inputs = [
+    "${fuchsia_sdk}/tools/fvm",
     "${_target_dir}/fvm.blk",
-    "${_target_dir}/bootdata-blob.bin",
-    "${_target_dir}/zircon.bin",
   ]
   outputs = [
     blobstore_extended_path,
diff --git a/build/fuchsia/device_target.py b/build/fuchsia/device_target.py
index 013f176..0f8e270 100644
--- a/build/fuchsia/device_target.py
+++ b/build/fuchsia/device_target.py
@@ -96,9 +96,7 @@
               boot_data.ConfigureDataFVM(self._output_dir,
                                          boot_data.FVM_TYPE_SPARSE)),
           EnsurePathExists(boot_data.GetTargetFile(self._GetTargetSdkArch(),
-                                                   'zircon.bin')),
-          EnsurePathExists(boot_data.GetTargetFile(self._GetTargetSdkArch(),
-                                                   'bootdata-blob.bin')),
+                                                   'fuchsia.zbi')),
           '--'] + boot_data.GetKernelArgs(self._output_dir)
       logging.debug(' '.join(bootserver_command))
       subprocess.check_call(bootserver_command)
diff --git a/build/fuchsia/linux.sdk.sha1 b/build/fuchsia/linux.sdk.sha1
index 5379bc7..a545949 100644
--- a/build/fuchsia/linux.sdk.sha1
+++ b/build/fuchsia/linux.sdk.sha1
@@ -1 +1 @@
-df9325278da72d1392b3cc2ae5c4ac6a18ecc929
\ No newline at end of file
+98ba6c8440c2afb334433de9bb901a0f97efe1e1
\ No newline at end of file
diff --git a/build/fuchsia/mac.sdk.sha1 b/build/fuchsia/mac.sdk.sha1
index 8e90e910..da4623e 100644
--- a/build/fuchsia/mac.sdk.sha1
+++ b/build/fuchsia/mac.sdk.sha1
@@ -1 +1 @@
-6c7feea544c29a42e087bad5bf791f80dc015d6a
\ No newline at end of file
+bd8834505d919018dd7ffdc5fa42eb04616ca9f5
\ No newline at end of file
diff --git a/build/fuchsia/qemu_target.py b/build/fuchsia/qemu_target.py
index 5376528e..bad8c6b 100644
--- a/build/fuchsia/qemu_target.py
+++ b/build/fuchsia/qemu_target.py
@@ -72,10 +72,12 @@
     qemu_command = [qemu_path,
         '-m', str(self._ram_size_mb),
         '-nographic',
-        '-kernel', EnsurePathExists(self._GetTargetKernelPath()),
+        '-kernel', EnsurePathExists(
+            boot_data.GetTargetFile(self._GetTargetSdkArch(),
+                                    'qemu-kernel.bin')),
         '-initrd', EnsurePathExists(
             boot_data.GetTargetFile(self._GetTargetSdkArch(),
-                                    'bootdata-blob.bin')),
+                                    'fuchsia.zbi')),
         '-smp', str(self._cpu_cores),
 
         # Attach the blobstore and data volumes. Use snapshot mode to discard
@@ -167,10 +169,3 @@
 
   def _GetSshConfigPath(self):
     return boot_data.GetSSHConfigPath(self._output_dir)
-
-  def _GetTargetKernelPath(self):
-    kernel_name = 'zircon.bin'
-    if self._GetTargetSdkArch() == 'arm64':
-      kernel_name = 'qemu-zircon.bin'
-    return boot_data.GetTargetFile(self._GetTargetSdkArch(),
-                                   kernel_name)
diff --git a/cc/layers/append_quads_data.h b/cc/layers/append_quads_data.h
index a681a97..d207cf2 100644
--- a/cc/layers/append_quads_data.h
+++ b/cc/layers/append_quads_data.h
@@ -25,6 +25,12 @@
   int64_t visible_layer_area = 0;
   int64_t approximated_visible_content_area = 0;
 
+  // TODO(enne): These are temporary to evaluate mask layer optimizations.
+  int num_mask_layers = 0;
+  int num_rounded_corner_mask_layers = 0;
+  int64_t visible_mask_layer_area = 0;
+  int64_t visible_rounded_corner_mask_layer_area = 0;
+
   // This is total of the following two areas.
   int64_t checkerboarded_visible_content_area = 0;
   // This is the area outside interest rect.
diff --git a/cc/layers/layer.cc b/cc/layers/layer.cc
index 22cf9cf..0a7ea94c 100644
--- a/cc/layers/layer.cc
+++ b/cc/layers/layer.cc
@@ -94,6 +94,7 @@
       may_contain_video_(false),
       needs_show_scrollbars_(false),
       has_transform_node_(false),
+      is_rounded_corner_mask_(false),
       subtree_has_copy_request_(false),
       safe_opaque_background_color_(0) {}
 
@@ -1239,6 +1240,7 @@
   // deprecated. http://crbug.com/709137
   layer->SetElementId(inputs_.element_id);
   layer->SetHasTransformNode(has_transform_node_);
+  layer->set_is_rounded_corner_mask(is_rounded_corner_mask_);
   layer->SetBackgroundColor(inputs_.background_color);
   layer->SetSafeOpaqueBackgroundColor(safe_opaque_background_color_);
   layer->SetBounds(inputs_.bounds);
diff --git a/cc/layers/layer.h b/cc/layers/layer.h
index d2b7424..d525463 100644
--- a/cc/layers/layer.h
+++ b/cc/layers/layer.h
@@ -756,6 +756,10 @@
     return should_flatten_screen_space_transform_from_property_tree_;
   }
 
+  void set_is_rounded_corner_mask(bool rounded) {
+    is_rounded_corner_mask_ = rounded;
+  }
+
  protected:
   friend class LayerImpl;
   friend class TreeSynchronizer;
@@ -972,6 +976,7 @@
   bool may_contain_video_ : 1;
   bool needs_show_scrollbars_ : 1;
   bool has_transform_node_ : 1;
+  bool is_rounded_corner_mask_ : 1;
   // This value is valid only when LayerTreeHost::has_copy_request() is true
   bool subtree_has_copy_request_ : 1;
   SkColor safe_opaque_background_color_;
diff --git a/cc/layers/layer_impl.cc b/cc/layers/layer_impl.cc
index 1bf82f3..4cd1b50 100644
--- a/cc/layers/layer_impl.cc
+++ b/cc/layers/layer_impl.cc
@@ -81,7 +81,8 @@
       scrollbars_hidden_(false),
       needs_show_scrollbars_(false),
       raster_even_if_not_drawn_(false),
-      has_transform_node_(false) {
+      has_transform_node_(false),
+      is_rounded_corner_mask_(false) {
   DCHECK_GT(layer_id_, 0);
 
   DCHECK(layer_tree_impl_);
@@ -306,6 +307,7 @@
   layer->SetElementId(element_id_);
 
   layer->has_transform_node_ = has_transform_node_;
+  layer->is_rounded_corner_mask_ = is_rounded_corner_mask_;
   layer->offset_to_transform_parent_ = offset_to_transform_parent_;
   layer->main_thread_scrolling_reasons_ = main_thread_scrolling_reasons_;
   layer->should_flatten_screen_space_transform_from_property_tree_ =
diff --git a/cc/layers/layer_impl.h b/cc/layers/layer_impl.h
index d2bcf15..1065f4e 100644
--- a/cc/layers/layer_impl.h
+++ b/cc/layers/layer_impl.h
@@ -466,6 +466,11 @@
   // TODO(sunxd): Remove this function and replace it with visitor pattern.
   virtual bool is_surface_layer() const;
 
+  void set_is_rounded_corner_mask(bool rounded) {
+    is_rounded_corner_mask_ = rounded;
+  }
+  bool is_rounded_corner_mask() const { return is_rounded_corner_mask_; }
+
  protected:
   // When |will_always_push_properties| is true, the layer will not itself set
   // its SetNeedsPushProperties() state, as it expects to be always pushed to
@@ -606,6 +611,7 @@
   bool raster_even_if_not_drawn_ : 1;
 
   bool has_transform_node_ : 1;
+  bool is_rounded_corner_mask_ : 1;
 
   DISALLOW_COPY_AND_ASSIGN(LayerImpl);
 };
diff --git a/cc/layers/picture_layer_impl.cc b/cc/layers/picture_layer_impl.cc
index 7ea4bd0..d28e609 100644
--- a/cc/layers/picture_layer_impl.cc
+++ b/cc/layers/picture_layer_impl.cc
@@ -255,6 +255,12 @@
   viz::SharedQuadState* shared_quad_state =
       render_pass->CreateAndAppendSharedQuadState();
 
+  if (mask_type_ != Layer::LayerMaskType::NOT_MASK) {
+    append_quads_data->num_mask_layers++;
+    if (is_rounded_corner_mask())
+      append_quads_data->num_rounded_corner_mask_layers++;
+  }
+
   if (raster_source_->IsSolidColor()) {
     // TODO(sunxd): Solid color non-mask layers are forced to have contents
     // scale = 1. This is a workaround to temporary fix
@@ -462,6 +468,13 @@
         visible_geometry_rect.height();
     append_quads_data->visible_layer_area += visible_geometry_area;
 
+    if (mask_type_ != Layer::LayerMaskType::NOT_MASK) {
+      append_quads_data->visible_mask_layer_area += visible_geometry_area;
+      if (is_rounded_corner_mask())
+        append_quads_data->visible_rounded_corner_mask_layer_area +=
+            visible_geometry_area;
+    }
+
     bool has_draw_quad = false;
     if (*iter && iter->draw_info().IsReadyToDraw()) {
       const TileDrawInfo& draw_info = iter->draw_info();
diff --git a/cc/layers/render_surface_impl.cc b/cc/layers/render_surface_impl.cc
index 4df2843..9a49483 100644
--- a/cc/layers/render_surface_impl.cc
+++ b/cc/layers/render_surface_impl.cc
@@ -429,6 +429,18 @@
     TRACE_EVENT1("cc", "RenderSurfaceImpl::AppendQuads",
                  "mask_layer_gpu_memory_usage",
                  mask_layer->GPUMemoryUsageInBytes());
+
+    int64_t visible_geometry_area =
+        static_cast<int64_t>(unoccluded_content_rect.width()) *
+        unoccluded_content_rect.height();
+    append_quads_data->num_mask_layers++;
+    append_quads_data->visible_mask_layer_area += visible_geometry_area;
+    if (mask_layer->is_rounded_corner_mask()) {
+      append_quads_data->num_rounded_corner_mask_layers++;
+      append_quads_data->visible_rounded_corner_mask_layer_area +=
+          visible_geometry_area;
+    }
+
     if (mask_layer->mask_type() == Layer::LayerMaskType::MULTI_TEXTURE_MASK) {
       TileMaskLayer(render_pass, shared_quad_state, unoccluded_content_rect);
       return;
diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc
index 22d4f9f..93fbeb84 100644
--- a/cc/trees/layer_tree_host_impl.cc
+++ b/cc/trees/layer_tree_host_impl.cc
@@ -1058,8 +1058,6 @@
   // texture suddenly appearing in the future.
   DrawResult draw_result = DRAW_SUCCESS;
 
-  int layers_drawn = 0;
-
   const DrawMode draw_mode = GetDrawMode();
 
   int num_missing_tiles = 0;
@@ -1071,6 +1069,12 @@
       active_tree()->property_trees()->effect_tree.HasCopyRequests();
   bool have_missing_animated_tiles = false;
 
+  int num_layers = 0;
+  int num_mask_layers = 0;
+  int num_rounded_corner_mask_layers = 0;
+  int64_t visible_mask_layer_area = 0;
+  int64_t visible_rounded_corner_mask_layer_area = 0;
+
   for (EffectTreeLayerListIterator it(active_tree());
        it.state() != EffectTreeLayerListIterator::State::END; ++it) {
     auto target_render_pass_id = it.target_render_surface()->id();
@@ -1105,10 +1109,9 @@
           frame->may_contain_video = true;
 
         layer->AppendQuads(target_render_pass, &append_quads_data);
+        ++num_layers;
       }
 
-      ++layers_drawn;
-
       rendering_stats_instrumentation_->AddVisibleContentArea(
           append_quads_data.visible_layer_area);
       rendering_stats_instrumentation_->AddApproximatedVisibleContentArea(
@@ -1146,6 +1149,12 @@
     }
     frame->use_default_lower_bound_deadline |=
         append_quads_data.use_default_lower_bound_deadline;
+    num_mask_layers += append_quads_data.num_mask_layers;
+    num_rounded_corner_mask_layers +=
+        append_quads_data.num_rounded_corner_mask_layers;
+    visible_mask_layer_area += append_quads_data.visible_mask_layer_area;
+    visible_rounded_corner_mask_layer_area +=
+        append_quads_data.visible_rounded_corner_mask_layer_area;
   }
 
   // If CommitToActiveTree() is true, then we wait to draw until
@@ -1225,6 +1234,33 @@
         checkerboarded_needs_raster_content_area);
   }
 
+  // Only record these umas on the first frame, and only in the renderer,
+  // for which we use having a compositor thread as a proxy.
+  if (!active_tree_->has_ever_been_drawn() && SupportsImplScrolling()) {
+    int mask_layer_percent = static_cast<int>(
+        num_mask_layers / static_cast<float>(num_layers) * 100);
+    int rc_mask_layer_percent =
+        static_cast<int>(num_rounded_corner_mask_layers /
+                         static_cast<float>(num_mask_layers) * 100);
+    int rc_area_percent =
+        static_cast<int>(visible_rounded_corner_mask_layer_area /
+                         static_cast<float>(total_visible_area) * 100);
+
+    UMA_HISTOGRAM_PERCENTAGE(
+        "Compositing.RenderPass.AppendQuadData.MaskLayerPercent",
+        mask_layer_percent);
+    if (num_mask_layers > 0) {
+      UMA_HISTOGRAM_PERCENTAGE(
+          "Compositing.RenderPass.AppendQuadData.RCMaskLayerPercent",
+          rc_mask_layer_percent);
+    }
+    UMA_HISTOGRAM_PERCENTAGE(
+        "Compositing.RenderPass.AppendQuadData.RCMaskAreaPercent",
+        rc_area_percent);
+    UMA_HISTOGRAM_COUNTS_10M("Compositing.RenderPass.AppendQuadData.RCMaskArea",
+                             visible_rounded_corner_mask_layer_area);
+  }
+
   TRACE_EVENT_END2("cc,benchmark", "LayerTreeHostImpl::CalculateRenderPasses",
                    "draw_result", draw_result, "missing tiles",
                    num_missing_tiles);
diff --git a/chrome/VERSION b/chrome/VERSION
index d914e16..4acba0a 100644
--- a/chrome/VERSION
+++ b/chrome/VERSION
@@ -1,4 +1,4 @@
 MAJOR=71
 MINOR=0
-BUILD=3561
+BUILD=3562
 PATCH=0
diff --git a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedNewTabPageMediator.java b/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedNewTabPageMediator.java
index 873c688..bf2272b 100644
--- a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedNewTabPageMediator.java
+++ b/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedNewTabPageMediator.java
@@ -35,8 +35,6 @@
  */
 class FeedNewTabPageMediator
         implements NewTabPageLayout.ScrollDelegate, ContextMenuManager.TouchEnabledDelegate {
-    private static boolean sOverrideFeedEnabledForTesting;
-
     private final FeedNewTabPage mCoordinator;
     private final SnapScrollHelper mSnapScrollHelper;
     private final PrefChangeRegistrar mPrefChangeRegistrar;
@@ -87,13 +85,7 @@
 
     /** Update the content based on supervised user or enterprise policy. */
     private void updateContent() {
-        // TODO(huayinz): Replace sOverrideFeedEnabledForTesting with the real preference in test
-        // once we have a decision for whether to re-enable the Feed on supervised/enterprise
-        // account removed within a session.
-        if (!sOverrideFeedEnabledForTesting) {
-            mFeedEnabled =
-                    PrefServiceBridge.getInstance().getBoolean(Pref.NTP_ARTICLES_SECTION_ENABLED);
-        }
+        mFeedEnabled = FeedProcessScopeFactory.isFeedProcessEnabled();
         if ((mFeedEnabled && mCoordinator.getStream() != null)
                 || (!mFeedEnabled && mCoordinator.getScrollViewForPolicy() != null))
             return;
@@ -328,17 +320,6 @@
         }
     }
 
-    @VisibleForTesting
-    void overrideFeedEnabledForTesting(boolean override) {
-        sOverrideFeedEnabledForTesting = override;
-    }
-
-    @VisibleForTesting
-    void updateContentForTesting(boolean feedEnabled) {
-        mFeedEnabled = feedEnabled;
-        updateContent();
-    }
-
     // TODO(huayinz): Return the Model for testing in Coordinator instead once a Model is created.
     @VisibleForTesting
     SectionHeader getSectionHeaderForTesting() {
diff --git a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedProcessScopeFactory.java b/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedProcessScopeFactory.java
index 8a42ed8..e489ab4 100644
--- a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedProcessScopeFactory.java
+++ b/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedProcessScopeFactory.java
@@ -26,10 +26,13 @@
 
 /** Holds singleton {@link FeedProcessScope} and some of the scope's host implementations. */
 public class FeedProcessScopeFactory {
+    private static boolean sIsDisableForPolicy =
+            !PrefServiceBridge.getInstance().getBoolean(Pref.NTP_ARTICLES_SECTION_ENABLED);
     private static PrefChangeRegistrar sPrefChangeRegistrar;
     private static FeedProcessScope sFeedProcessScope;
     private static FeedScheduler sFeedScheduler;
     private static FeedOfflineIndicator sFeedOfflineIndicator;
+    private static NetworkClient sTestNetworkClient;
 
     /** @return The shared {@link FeedProcessScope} instance. Null if the Feed is disabled. */
     public static @Nullable FeedProcessScope getFeedProcessScope() {
@@ -57,11 +60,19 @@
         return sFeedOfflineIndicator;
     }
 
+    /**
+     * @return Whether the dependencies provided by this class are allowed to be created. The feed
+     *         process is disabled if supervised user or enterprise policy has once been added
+     *         within the current session.
+     */
+    public static boolean isFeedProcessEnabled() {
+        return !sIsDisableForPolicy
+                && PrefServiceBridge.getInstance().getBoolean(Pref.NTP_ARTICLES_SECTION_ENABLED);
+    }
+
     private static void initialize() {
         assert sFeedProcessScope == null && sFeedScheduler == null && sFeedOfflineIndicator == null;
-        if (!PrefServiceBridge.getInstance().getBoolean(Pref.NTP_ARTICLES_SECTION_ENABLED)) {
-            return;
-        }
+        if (!isFeedProcessEnabled()) return;
 
         sPrefChangeRegistrar = new PrefChangeRegistrar();
         sPrefChangeRegistrar.addObserver(Pref.NTP_ARTICLES_SECTION_ENABLED,
@@ -76,10 +87,12 @@
                 new FeedAppLifecycleListener(new ThreadUtils());
         FeedContentStorage contentStorage = new FeedContentStorage(profile);
         FeedJournalStorage journalStorage = new FeedJournalStorage(profile);
+        NetworkClient networkClient = sTestNetworkClient == null ?
+            new FeedNetworkBridge(profile) : sTestNetworkClient;
         sFeedProcessScope =
                 new FeedProcessScope
                         .Builder(configHostApi, Executors.newSingleThreadExecutor(),
-                                new LoggingApiImpl(), new FeedNetworkBridge(profile),
+                                new LoggingApiImpl(), networkClient,
                                 schedulerBridge, lifecycleListener, DebugBehavior.SILENT,
                                 ContextUtils.getApplicationContext())
                         .setContentStorage(contentStorage)
@@ -125,6 +138,19 @@
         sFeedOfflineIndicator = feedOfflineIndicator;
     }
 
+    /** Use supplied NetworkClient instead of real one, for tests. */
+    @VisibleForTesting
+    public static void setTestNetworkClient(NetworkClient client) {
+        if (client == null) {
+            sTestNetworkClient = null;
+        } else if (sFeedProcessScope == null) {
+            sTestNetworkClient = client;
+        } else {
+            throw(new IllegalStateException(
+                    "TestNetworkClient can not be set after FeedProcessScope has initialized."));
+        }
+    }
+
     /** Resets the FeedProcessScope after testing is complete. */
     @VisibleForTesting
     static void clearFeedProcessScopeForTesting() {
@@ -135,6 +161,7 @@
         // Should only be subscribed while it was enabled. A change should mean articles are now
         // disabled.
         assert !PrefServiceBridge.getInstance().getBoolean(Pref.NTP_ARTICLES_SECTION_ENABLED);
+        sIsDisableForPolicy = true;
         destroy();
     }
 
diff --git a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/TestNetworkClient.java b/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/TestNetworkClient.java
index ca313c2..cc71bd9 100644
--- a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/TestNetworkClient.java
+++ b/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/TestNetworkClient.java
@@ -4,16 +4,134 @@
 
 package org.chromium.chrome.browser.feed;
 
+import android.util.Base64;
+
 import com.google.android.libraries.feed.common.functional.Consumer;
+import com.google.android.libraries.feed.common.logging.Logger;
+import com.google.android.libraries.feed.feedrequestmanager.FeedRequestManager;
+import com.google.android.libraries.feed.host.config.Configuration;
+import com.google.android.libraries.feed.host.config.Configuration.ConfigKey;
 import com.google.android.libraries.feed.host.network.HttpRequest;
+import com.google.android.libraries.feed.host.network.HttpRequest.HttpMethod;
 import com.google.android.libraries.feed.host.network.HttpResponse;
 import com.google.android.libraries.feed.host.network.NetworkClient;
+import com.google.protobuf.ByteString;
+import com.google.protobuf.CodedOutputStream;
+import com.google.protobuf.ExtensionRegistryLite;
+import com.google.search.now.wire.feed.FeedRequestProto.FeedRequest;
+import com.google.search.now.wire.feed.RequestProto.Request;
+import com.google.search.now.wire.feed.ResponseProto.Response;
+import com.google.search.now.wire.feed.mockserver.MockServerProto.ConditionalResponse;
+import com.google.search.now.wire.feed.mockserver.MockServerProto.MockServer;
 
-/** A {@link NetworkClient} implementation for use in testing. */
-class TestNetworkClient implements NetworkClient {
-    @Override
-    public void send(HttpRequest request, Consumer<HttpResponse> responseConsumer) {}
+import org.chromium.base.ThreadUtils;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+/** A network client that returns configurable responses
+ *  modified from com.google.android.libraries.feed.mocknetworkclient.MockServerNetworkClient
+ */
+public class TestNetworkClient implements NetworkClient {
+    private static final String TAG = "TestNetworkClient";
+
+    private final ExtensionRegistryLite mExtensionRegistry;
+    private final long mResponseDelay;
+
+    private MockServer mMockServer;
+
+    public TestNetworkClient() {
+        Configuration config = new Configuration.Builder().build();
+        mExtensionRegistry = ExtensionRegistryLite.newInstance();
+        mExtensionRegistry.add(FeedRequest.feedRequest);
+        // TODO(aluo): Add ability to delay responses
+        mResponseDelay = config.getValueOrDefault(ConfigKey.MOCK_SERVER_DELAY_MS, 0L);
+        mMockServer = MockServer.getDefaultInstance();
+    }
+
+    /** Set stored protobuf responses from the InputStream
+     *
+     * @param fs A {@link InputStream} with response pb data.
+     *           Pass in null to clear.
+     */
+    public void setResponseData(InputStream fs) throws IOException {
+        if (fs == null) {
+            mMockServer = MockServer.getDefaultInstance();
+        } else {
+            mMockServer = MockServer.parseFrom(fs);
+        }
+    }
 
     @Override
-    public void close() throws Exception {}
+    public void send(HttpRequest httpRequest, Consumer<HttpResponse> responseConsumer) {
+        // TODO(aluo): Add ability to respond with HTTP Errors
+        try {
+            Request request = getRequest(httpRequest);
+            ByteString requestToken =
+                    (request.getExtension(FeedRequest.feedRequest).getFeedQuery().hasPageToken())
+                    ? request.getExtension(FeedRequest.feedRequest).getFeedQuery().getPageToken()
+                    : null;
+            if (requestToken != null) {
+                for (ConditionalResponse response : mMockServer.getConditionalResponsesList()) {
+                    if (!response.hasContinuationToken()) {
+                        Logger.w(TAG, "Conditional response without a token");
+                        continue;
+                    }
+                    if (requestToken.equals(response.getContinuationToken())) {
+                        delayedAccept(createHttpResponse(response.getResponse()), responseConsumer);
+                        return;
+                    }
+                }
+                delayedAccept(createHttpResponse(Response.getDefaultInstance()),
+                              responseConsumer);
+            } else {
+                delayedAccept(createHttpResponse(mMockServer.getInitialResponse()),
+                              responseConsumer);
+            }
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    private void delayedAccept(HttpResponse httpResponse, Consumer<HttpResponse> responseConsumer) {
+        if (mResponseDelay <= 0) {
+            responseConsumer.accept(httpResponse);
+            return;
+        }
+
+        ThreadUtils.postOnUiThreadDelayed(
+                () -> responseConsumer.accept(httpResponse), mResponseDelay);
+    }
+
+    private Request getRequest(HttpRequest httpRequest) throws IOException {
+        byte[] rawRequest = new byte[0];
+        if (httpRequest.getMethod().equals(HttpMethod.GET)) {
+            if (httpRequest.getUri().getQueryParameter(FeedRequestManager.MOTHERSHIP_PARAM_PAYLOAD)
+                    != null) {
+                rawRequest = Base64.decode(httpRequest.getUri().getQueryParameter(
+                                                   FeedRequestManager.MOTHERSHIP_PARAM_PAYLOAD),
+                        Base64.URL_SAFE);
+            }
+        } else {
+            rawRequest = httpRequest.getBody();
+        }
+        return Request.parseFrom(rawRequest, mExtensionRegistry);
+    }
+
+    @Override
+    public void close() {}
+
+    private HttpResponse createHttpResponse(Response response) {
+        try {
+            byte[] rawResponse = response.toByteArray();
+            byte[] newResponse = new byte[rawResponse.length + (Integer.SIZE / 8)];
+            CodedOutputStream codedOutputStream = CodedOutputStream.newInstance(newResponse);
+            codedOutputStream.writeUInt32NoTag(rawResponse.length);
+            codedOutputStream.writeRawBytes(rawResponse);
+            codedOutputStream.flush();
+            return new HttpResponse(200, newResponse);
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
+    }
 }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browserservices/TrustedWebActivityClient.java b/chrome/android/java/src/org/chromium/chrome/browser/browserservices/TrustedWebActivityClient.java
index 6dd78b74..262c82e6 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/browserservices/TrustedWebActivityClient.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/browserservices/TrustedWebActivityClient.java
@@ -11,8 +11,10 @@
 import android.content.pm.ResolveInfo;
 import android.content.res.Resources;
 import android.net.Uri;
+import android.os.RemoteException;
 import android.support.annotation.Nullable;
 import android.support.customtabs.trusted.TrustedWebActivityServiceConnectionManager;
+import android.support.customtabs.trusted.TrustedWebActivityServiceWrapper;
 
 import org.chromium.base.ContextUtils;
 import org.chromium.chrome.R;
@@ -63,13 +65,7 @@
         String channelDisplayName = res.getString(R.string.notification_category_group_general);
 
         mConnection.execute(scope, new Origin(scope).toString(), service -> {
-            if (!builder.hasSmallIconBitmap()) {
-                int smallIconId = service.getSmallIconId();
-                if (smallIconId != -1) {
-                    builder.setSmallIconForRemoteApp(
-                            smallIconId, service.getComponentName().getPackageName());
-                }
-            }
+            fallbackToIconFromServiceIfNecessary(builder, service);
 
             Notification notification = builder.build();
 
@@ -83,6 +79,27 @@
         });
     }
 
+    private void fallbackToIconFromServiceIfNecessary(NotificationBuilderBase builder,
+            TrustedWebActivityServiceWrapper service) throws RemoteException {
+        if (builder.hasSmallIconForContent() && builder.hasStatusBarIconBitmap()) {
+            return;
+        }
+
+        int smallIconId = service.getSmallIconId();
+        if (smallIconId == -1) {
+            return;
+        }
+
+        String packageName = service.getComponentName().getPackageName();
+
+        if (!builder.hasStatusBarIconBitmap()) {
+            builder.setStatusBarIconForRemoteApp(smallIconId, packageName);
+        }
+        if (!builder.hasSmallIconForContent()) {
+            builder.setContentSmallIconForRemoteApp(smallIconId, packageName);
+        }
+    }
+
     /**
      * Cancels a notification through a Trusted Web Activity client.
      * @param scope The scope of the Service Worker that triggered the notification.
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadDirectoryProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadDirectoryProvider.java
index 116de62d..48fdecc 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadDirectoryProvider.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadDirectoryProvider.java
@@ -16,6 +16,7 @@
 import org.chromium.base.ContextUtils;
 import org.chromium.base.PathUtils;
 import org.chromium.base.ThreadUtils;
+import org.chromium.base.metrics.RecordHistogram;
 import org.chromium.base.task.AsyncTask;
 import org.chromium.chrome.browser.download.DirectoryOption.DownloadLocationDirectoryType;
 
@@ -60,6 +61,7 @@
             DirectoryOption defaultOption = toDirectoryOption(
                     defaultDirectory, DirectoryOption.DownloadLocationDirectoryType.DEFAULT);
             dirs.add(defaultOption);
+            recordDirectoryType(DirectoryOption.DownloadLocationDirectoryType.DEFAULT);
 
             // Retrieve additional directories, i.e. the external SD card directory.
             mExternalStorageDirectory = Environment.getExternalStorageDirectory().getAbsolutePath();
@@ -74,6 +76,7 @@
 
             if (files.length <= 1) return dirs;
 
+            boolean hasAddtionalDirectory = false;
             for (int i = 0; i < files.length; ++i) {
                 if (files[i] == null) continue;
 
@@ -81,7 +84,12 @@
                 if (files[i].getAbsolutePath().contains(mExternalStorageDirectory)) continue;
                 dirs.add(toDirectoryOption(
                         files[i], DirectoryOption.DownloadLocationDirectoryType.ADDITIONAL));
+                hasAddtionalDirectory = true;
             }
+
+            if (hasAddtionalDirectory)
+                recordDirectoryType(DirectoryOption.DownloadLocationDirectoryType.ADDITIONAL);
+
             return dirs;
         }
 
@@ -195,4 +203,9 @@
         mExternalSDCardReceiver = new ExternalSDCardReceiver();
         ContextUtils.getApplicationContext().registerReceiver(mExternalSDCardReceiver, filter);
     }
+
+    private void recordDirectoryType(@DirectoryOption.DownloadLocationDirectoryType int type) {
+        RecordHistogram.recordEnumeratedHistogram("MobileDownload.Location.DirectoryType", type,
+                DirectoryOption.DownloadLocationDirectoryType.NUM_ENTRIES);
+    }
 }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/notifications/CustomNotificationBuilder.java b/chrome/android/java/src/org/chromium/chrome/browser/notifications/CustomNotificationBuilder.java
index 33ba2a2..71aa7a13 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/notifications/CustomNotificationBuilder.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/notifications/CustomNotificationBuilder.java
@@ -128,8 +128,8 @@
 
             int smallIconId = useMaterial() ? R.id.small_icon_overlay : R.id.small_icon_footer;
             view.setViewVisibility(smallIconId, View.VISIBLE);
-            if (mSmallIconBitmap != null) {
-                view.setImageViewBitmap(smallIconId, mSmallIconBitmap);
+            if (mSmallIconBitmapForContent != null) {
+                view.setImageViewBitmap(smallIconId, mSmallIconBitmapForContent);
             } else {
                 view.setImageViewResource(smallIconId, mSmallIconId);
             }
@@ -160,7 +160,7 @@
         builder.setContentText(mBody);
         builder.setSubText(mOrigin);
         builder.setLargeIcon(getNormalizedLargeIcon());
-        setSmallIconOnBuilder(builder, mSmallIconId, mSmallIconBitmap);
+        setStatusBarIcon(builder, mSmallIconId, mSmallIconBitmapForStatusBar);
         for (Action action : mActions) {
             addActionToBuilder(builder, action);
         }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationBuilderBase.java b/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationBuilderBase.java
index 994bd76..0c951fd 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationBuilderBase.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationBuilderBase.java
@@ -119,8 +119,11 @@
     protected String mChannelId;
     protected CharSequence mTickerText;
     protected Bitmap mImage;
+
     protected int mSmallIconId;
-    protected Bitmap mSmallIconBitmap;
+    @Nullable protected Bitmap mSmallIconBitmapForStatusBar;
+    @Nullable protected Bitmap mSmallIconBitmapForContent;
+
     protected PendingIntent mContentIntent;
     protected PendingIntent mDeleteIntent;
     protected List<Action> mActions = new ArrayList<>(MAX_AUTHOR_PROVIDED_ACTION_BUTTONS);
@@ -194,55 +197,84 @@
     }
 
     /**
-     * Sets the small icon that is shown in the notification and in the status bar. Wherever the
-     * platform supports using a small icon bitmap, and a non-null {@code Bitmap} is provided, it
-     * will take precedence over one specified as a resource id.
+     * Sets the resource id of a small icon that is shown in the notification and in the status bar.
+     * Bitmaps set via {@link #setStatusBarIcon} and {@link #setSmallIconForContent} have precedence
+     * over the resource id.
      */
-    public NotificationBuilderBase setSmallIcon(int iconId) {
+    public NotificationBuilderBase setSmallIconId(int iconId) {
         mSmallIconId = iconId;
         return this;
     }
 
     /**
-     * Sets the small icon that is shown in the notification and in the status bar. Wherever the
-     * platform supports using a small icon bitmap, and a non-null {@code Bitmap} is provided, it
-     * will take precedence over one specified as a resource id.
+     * Sets the small icon that is shown in the status bar. If the platform supports using
+     * a small icon bitmap, it will take precedence over one specified as a resource id.
      */
-    public NotificationBuilderBase setSmallIcon(@Nullable Bitmap iconBitmap) {
-        Bitmap copyOfBitmap = null;
-        if (iconBitmap != null) {
-            copyOfBitmap = iconBitmap.copy(iconBitmap.getConfig(), true /* isMutable */);
-            applyWhiteOverlayToBitmap(copyOfBitmap);
+    public NotificationBuilderBase setStatusBarIcon(@Nullable Bitmap iconBitmap) {
+        if (deviceSupportsBitmapStatusBarIcons()) {
+            mSmallIconBitmapForStatusBar = applyWhiteOverlay(iconBitmap);
         }
-        mSmallIconBitmap = copyOfBitmap;
         return this;
     }
 
     /**
-     * Sets the small icon id for a notification that will be displayed by a different Android app
-     * (eg a Web APK or Trusted Web Activity). Wherever the platform supports using a small icon
-     * bitmap, and a non-null {@code Bitmap} is provided, it will take precedence over one specified
-     * as a resource id.
+     * Sets the small icon that is shown in the notification. Unlike a bitmap icon in status bar,
+     * this is supported on all devices. The specified Bitmap will take precedence over one
+     * specified as a resource id.
+     */
+    public NotificationBuilderBase setSmallIconForContent(@Nullable Bitmap iconBitmap) {
+        mSmallIconBitmapForContent = applyWhiteOverlay(iconBitmap);
+        return this;
+    }
+
+    @Nullable
+    private static Bitmap applyWhiteOverlay(@Nullable Bitmap icon) {
+        Bitmap whitened = null;
+        if (icon != null) {
+            whitened = icon.copy(icon.getConfig(), true /* isMutable */);
+            applyWhiteOverlayToBitmap(whitened);
+        }
+        return whitened;
+    }
+
+    /**
+     * Sets the status bar icon for a notification that will be displayed by a different
+     * Android app (e.g. a WebAPK or Trusted Web Activity).
      * @param iconId An iconId for a resource in the package that will display the notification.
      * @param packageName The package name of the package that will display the notification.
      * @return This NotificationBuilderBase.
      */
-    public NotificationBuilderBase setSmallIconForRemoteApp(int iconId, String packageName) {
+    public NotificationBuilderBase setStatusBarIconForRemoteApp(int iconId, String packageName) {
         if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
             // On Android M+, the small icon has to be from the resources of the app whose context
-            // is passed to the Notification.Builder constructor.
-            setSmallIcon(PackageUtils.decodeImageResource(packageName, iconId));
+            // is passed to the Notification.Builder constructor. Thus we can't use iconId directly,
+            // and instead decode the image and set the icon as a Bitmap.
+            setStatusBarIcon(PackageUtils.decodeImageResource(packageName, iconId));
         } else {
             // Pre Android M, the small icon has to be from the resources of the app whose
             // NotificationManager is used in NotificationManager#notify.
-            setSmallIcon(iconId);
+            setSmallIconId(iconId);
         }
         return this;
     }
 
-    /** Returns whether a small icon bitmap was set. */
-    public boolean hasSmallIconBitmap() {
-        return mSmallIconBitmap != null;
+    /**
+     * Sets the small icon to be shown inside a notification that will be displayed by a different
+     * Android app (e.g. a WebAPK or Trusted Web Activity).
+     */
+    public NotificationBuilderBase setContentSmallIconForRemoteApp(int iconId, String packageName) {
+        setSmallIconForContent(PackageUtils.decodeImageResource(packageName, iconId));
+        return this;
+    }
+
+    /** Returns whether a there is a small icon bitmap to show in the status bar. */
+    public boolean hasStatusBarIconBitmap() {
+        return mSmallIconBitmapForStatusBar != null;
+    }
+
+    /** Returns whether a there is a small icon bitmap to show in the notification. */
+    public boolean hasSmallIconForContent() {
+        return mSmallIconBitmapForContent != null;
     }
 
     /**
@@ -424,9 +456,11 @@
         }
 
         // Use the badge if provided and SDK supports it, else use a generated icon.
-        if (mSmallIconBitmap != null && Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
+        if (mSmallIconBitmapForStatusBar != null
+                && Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
             // The Icon class was added in Android M.
-            Bitmap publicIcon = mSmallIconBitmap.copy(mSmallIconBitmap.getConfig(), true);
+            Bitmap publicIcon = mSmallIconBitmapForStatusBar.copy(
+                    mSmallIconBitmapForStatusBar.getConfig(), true);
             builder.setSmallIcon(Icon.createWithBitmap(publicIcon));
         } else if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.M && mOrigin != null) {
             // Only set the large icon for L & M because on N(+?) it would add an extra icon on
@@ -450,11 +484,13 @@
     /**
      * Sets the small icon on {@code builder} using a {@code Bitmap} if a non-null bitmap is
      * provided and the API level is high enough, otherwise the resource id is used.
+     * @param iconBitmap should be used only on devices that support bitmap icons.
      */
     @TargetApi(Build.VERSION_CODES.M) // For the Icon class.
-    protected static void setSmallIconOnBuilder(
+    protected static void setStatusBarIcon(
             ChromeNotificationBuilder builder, int iconId, @Nullable Bitmap iconBitmap) {
-        if (iconBitmap != null && deviceSupportsBitmapStatusBarIcons()) {
+        if (iconBitmap != null) {
+            assert deviceSupportsBitmapStatusBarIcons();
             builder.setSmallIcon(Icon.createWithBitmap(iconBitmap));
         } else {
             builder.setSmallIcon(iconId);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationPlatformBridge.java b/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationPlatformBridge.java
index 7edbd83..3a10904e 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationPlatformBridge.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationPlatformBridge.java
@@ -546,8 +546,9 @@
                         .setBody(body)
                         .setImage(image)
                         .setLargeIcon(icon)
-                        .setSmallIcon(R.drawable.ic_chrome)
-                        .setSmallIcon(badge)
+                        .setSmallIconId(R.drawable.ic_chrome)
+                        .setStatusBarIcon(badge)
+                        .setSmallIconForContent(badge)
                         .setContentIntent(clickIntent)
                         .setDeleteIntent(closeIntent)
                         .setTicker(createTickerText(title, body))
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/notifications/StandardNotificationBuilder.java b/chrome/android/java/src/org/chromium/chrome/browser/notifications/StandardNotificationBuilder.java
index 295861e..62359e3f 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/notifications/StandardNotificationBuilder.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/notifications/StandardNotificationBuilder.java
@@ -46,7 +46,7 @@
             builder.setStyle(new Notification.BigTextStyle().bigText(mBody));
         }
         builder.setLargeIcon(getNormalizedLargeIcon());
-        setSmallIconOnBuilder(builder, mSmallIconId, mSmallIconBitmap);
+        setStatusBarIcon(builder, mSmallIconId, mSmallIconBitmapForStatusBar);
         builder.setContentIntent(mContentIntent);
         builder.setDeleteIntent(mDeleteIntent);
         for (Action action : mActions) {
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkServiceClient.java b/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkServiceClient.java
index cf16d0f..a7fdd33 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkServiceClient.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkServiceClient.java
@@ -80,10 +80,8 @@
         final ApiUseCallback connectionCallback = new ApiUseCallback() {
             @Override
             public void useApi(IWebApkApi api) throws RemoteException {
-                if (!notificationBuilder.hasSmallIconBitmap()) {
-                    notificationBuilder.setSmallIconForRemoteApp(
-                            api.getSmallIconId(), webApkPackage);
-                }
+                fallbackToWebApkIconIfNecessary(notificationBuilder, webApkPackage,
+                        api.getSmallIconId());
 
                 boolean notificationPermissionEnabled = api.notificationPermissionEnabled();
                 if (notificationPermissionEnabled) {
@@ -104,6 +102,16 @@
                 ContextUtils.getApplicationContext(), webApkPackage, connectionCallback);
     }
 
+    private void fallbackToWebApkIconIfNecessary(NotificationBuilderBase builder,
+            String webApkPackage, int iconId) {
+        if (!builder.hasSmallIconForContent()) {
+            builder.setContentSmallIconForRemoteApp(iconId, webApkPackage);
+        }
+        if (!builder.hasStatusBarIconBitmap()) {
+            builder.setStatusBarIconForRemoteApp(iconId, webApkPackage);
+        }
+    }
+
     /** Cancels notification previously shown by WebAPK. */
     public void cancelNotification(
             String webApkPackage, final String platformTag, final int platformID) {
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_am.xtb b/chrome/android/java/strings/translations/android_chrome_strings_am.xtb
index ef8dc6d..d9e7b47 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_am.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_am.xtb
@@ -15,7 +15,6 @@
 <translation id="1111673857033749125">በሌሎች መሣሪያዎችዎ ላይ የተቀመጡ ዕልባቶችዎ እዚህ ብቅ ይላሉ።</translation>
 <translation id="1113597929977215864">የተቃለለ እይታን አሳይ</translation>
 <translation id="1121094540300013208">የአጠቃቀም እና የብልሽት ሪፖርቶች</translation>
-<translation id="11221688409173367">ለእርስዎ በተለይ የተመረጡ ጽሑፎችን ለማየት የመነሻ አዝራሩን መታ ያድርጉ</translation>
 <translation id="1129510026454351943">ዝርዝሮች፦ <ph name="ERROR_DESCRIPTION" /></translation>
 <translation id="1141800923049248244">{FILE_COUNT,plural, =1{1 ውርድን በመጠባበቅ ላይ}one{# ውርዶችን በመጠባበቅ ላይ}other{# ውርዶችን በመጠባበቅ ላይ}}</translation>
 <translation id="1145536944570833626">ነባሩን ውሂብ ይሰርዙ።</translation>
@@ -166,7 +165,6 @@
 <translation id="2154484045852737596">ካርትን ያርትዑ</translation>
 <translation id="2154710561487035718">URL ቅዳ</translation>
 <translation id="2156074688469523661">ቀሪ ጣቢያዎች (<ph name="NUMBER_OF_SITES" />)</translation>
-<translation id="2184766556418880456">በአሁኑ ትርዎ ላይ ወደ አዲስ ትር ገጽ ለመድረስ መታ ያድርጉ</translation>
 <translation id="2206488550163399966"><ph name="APP_NAME" />፣ የድር መተግበሪያ። <ph name="APP_URL" /></translation>
 <translation id="2227444325776770048">እንደ <ph name="USER_FULL_NAME" /> ሆነው ይቀጥሉ</translation>
 <translation id="2232379019872353004">አንዳንድ የስርዓት መረጃ እና የገጽ ይዘት ወደ Google ይልካል</translation>
@@ -233,7 +231,6 @@
 <translation id="2709516037105925701">ራስ-ሙላ</translation>
 <translation id="271033894570825754">አዲስ</translation>
 <translation id="2728754400939377704">በጣቢያ ደርድር</translation>
-<translation id="2736391366332017384">በአሁኑ ትርዎ ላይ ወደ አዲስ ትር ገጽ ለመድረስ የመነሻ አዝራሩን መታ ያድርጉ</translation>
 <translation id="2744248271121720757">አንድ ቃል በቅጽበት ለመፈለግ ወይም ተዛማጅ እርምጃዎችን ለመመልከት አንድ ቃል መታ ያድርጉ</translation>
 <translation id="2762000892062317888">አሁን</translation>
 <translation id="2777555524387840389"><ph name="SECONDS" /> ሰከንዶች ይቀራሉ</translation>
@@ -344,6 +341,7 @@
 <translation id="3744111561329211289">የዳራ ስምረት</translation>
 <translation id="3773755127849930740">ማጣመርን ለመፍቀድ <ph name="BEGIN_LINK" />ብሉቱዝን ያብሩ<ph name="END_LINK" /></translation>
 <translation id="3778956594442850293">ወደ የመነሻ ገጽ ታክሏል</translation>
+<translation id="3781011235031427080">እንደዚህ ተጨማሪ በግማሽ ቁመት ተከፍቷል</translation>
 <translation id="3789841737615482174">ጫን  </translation>
 <translation id="3810838688059735925">ቪዲዮ</translation>
 <translation id="3810973564298564668">አቀናብር</translation>
@@ -492,6 +490,7 @@
 <translation id="4913169188695071480">ማደስ አቁም</translation>
 <translation id="4915549754973153784">መሣሪያዎችን እየቃኙ ሳሉ <ph name="BEGIN_LINK" />እገዛን ያግኙ<ph name="END_LINK" />…</translation>
 <translation id="4943872375798546930">ውጤቶች የሉም</translation>
+<translation id="4956460920135325549">ቀላል ገጹ በGoogle ተልኳል።</translation>
 <translation id="4958708863221495346"><ph name="URL_OF_THE_CURRENT_TAB" /> ማያ ገጽዎን እያጋራ ነው</translation>
 <translation id="4961334780091921942">የእርስዎ የይለፍ ቃላት፣ ታሪክ እና ተጨማሪ ነገሮች በሁሉም መሣሪያዎችዎ ላይ</translation>
 <translation id="4961700429721424617">በ<ph name="MANAGED_DOMAIN" /> ከሚተዳደር መለያ ዘግተው እየወጡ ነው። ይሄ የChrome ውሂብዎን ከዚህ መሣሪያ ይሰርዘዋል፣ ነገር ግን ውሂብዎ አሁንም በእርስዎ የGoogle መለያ ውስጥ እንዳለ ይቀራል።</translation>
@@ -511,6 +510,7 @@
 <translation id="5087580092889165836">ካርድ አክል</translation>
 <translation id="5100237604440890931">ተሰብስቧል - ለመዘርጋት ጠቅ ያድርጉ</translation>
 <translation id="510275257476243843">1 ሰዓት ይቀራል</translation>
+<translation id="5123685120097942451">ማንነት የማያሳውቅ ትር</translation>
 <translation id="5127805178023152808">አመሳስል ጠፍቷል</translation>
 <translation id="5129038482087801250">የድር መተግበሪያን ጫን</translation>
 <translation id="5139940364318403933">እንዴት Google Driveን መጠቀም እንደሚችሉ ይወቁ</translation>
@@ -658,6 +658,7 @@
 <translation id="6177111841848151710">ለአሁኑ የፍለጋ ፕሮግራም ታግዷል</translation>
 <translation id="6177390657002841081">የውሂብ አስቀማጭን አብራ</translation>
 <translation id="6181444274883918285">ለየት ያለ ጣቢያን አክል</translation>
+<translation id="618993374665929060">እንደዚህ ተጨማሪ በሙሉ ቁመት ተከፍቷል</translation>
 <translation id="6192333916571137726">ፋይል ያውርዱ</translation>
 <translation id="6192792657125177640">የተለዩ</translation>
 <translation id="6206551242102657620">ግንኙነት ደህንነቱ የተጠበቀ ነው። የጣቢያ መረጃ</translation>
@@ -730,9 +731,11 @@
 <translation id="6697947395630195233">Chrome አካባቢዎን ለዚህ ጣቢያ ለማጋራት የአካባቢዎ መዳረሻ ይፈልጋል።</translation>
 <translation id="6698801883190606802">የተመሳሰለ ውሂብ ያስተዳድሩ</translation>
 <translation id="6710213216561001401">ቀዳሚ</translation>
+<translation id="6712388303105732168">የእንደዚህ ተጨማሪ አዝራሩን በመጠቀም እንደዚህ ያለ ተጨማሪ ከGoogle ይመልከቱ</translation>
 <translation id="6738867403308150051">በማውረድ ላይ…</translation>
 <translation id="6746124502594467657">ወደታች አውርድ</translation>
 <translation id="6762156594045689028">ይህን ቅንብር ለመለወጥ <ph name="BEGIN_LINK" />ስምረትን ዳግም ያስጀምሩ<ph name="END_LINK" /></translation>
+<translation id="6766622839693428701">ለመዝጋት ወደታች ያንሸራትቱ።</translation>
 <translation id="6770414673596662518">የChrome የጥንቃቄ አሰሳ ስርዓት ተንኮል-አዘል ገጾችን ለማወቅ እና እርስዎን ከማስገር፣ ተንኮል-አዘል ዌር እና ጎጂ ወራጆች ለመጠበቅ ስራ ላይ ይውላል።</translation>
 <translation id="6776813977906306442">ቪዲዮዎችን በኋላ ለመመልከት የአውርድ አዝራሩን በመጠቀም ያውርዷቸው</translation>
 <translation id="6790428901817661496">አጫውት</translation>
@@ -785,7 +788,9 @@
 <translation id="7121362699166175603">በአድራሻ አሞሌው ላይ ታሪክን እና ራስ-ማጠናቀቆችን ያጸዳል። የእርስዎ Google መለያ <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> ላይ ሌሎች የአሰሳ ታሪክ አይነቶች ሊኖሩት ይችላል።</translation>
 <translation id="7128222689758636196">አሁን ላለው የፍለጋ ፕሮግራም ፍቀድ</translation>
 <translation id="7138678301420049075">ሌላ</translation>
+<translation id="7139148793369023665">እንደዚህ ተጨማሪ ተዘግቷል</translation>
 <translation id="7141896414559753902">ጣቢያዎች ብቅ-ባዮችን እንዳያሳዩ ያግዱ (የሚመከር)</translation>
+<translation id="7149158118503947153">ከ<ph name="DOMAIN_NAME" /> <ph name="BEGIN_LINK" />የመጀመሪያውን ገጽ ጫን<ph name="END_LINK" /></translation>
 <translation id="7149893636342594995">ባለፉት 24 ሰዓቶች</translation>
 <translation id="7176368934862295254"><ph name="KILOBYTES" /> ኪባ</translation>
 <translation id="7177466738963138057">ይሄንን በኋላ ቅንብሮች ውስጥ ሊለውጡት ይችላሉ</translation>
@@ -873,6 +878,7 @@
 <translation id="7846076177841592234">ምርጫ ሰርዝ</translation>
 <translation id="784934925303690534">የጊዜ ወሰን</translation>
 <translation id="7851858861565204677">ሌሎች መሣሪያዎች</translation>
+<translation id="7854964836418414587">እንደዚህ ተጨማሪ ዝጋ</translation>
 <translation id="7875915731392087153">ኢሜይል ይፍጠሩ</translation>
 <translation id="7876243839304621966">ሁሉንም አስወግድ</translation>
 <translation id="7882131421121961860">ምንም ታሪክ አልተገኘም</translation>
@@ -1000,7 +1006,6 @@
 <translation id="8912362522468806198">የGoogle መለያ</translation>
 <translation id="8920114477895755567">የወላጆች ዝርዝሮችን በመጠበቅ ላይ።</translation>
 <translation id="8922289737868596582">ገጾችን ከመስመር ውጭ ለመጠቀም ከተጨማሪ አማራጮች አዝራሩ ላይ ያውርዱ</translation>
-<translation id="8934029156920711950">ለእርስዎ በተለየ የተመረጡትን ጽሑፎች ለማየት መታ ያድርጉ</translation>
 <translation id="8941729603749328384">www.example.com</translation>
 <translation id="8942627711005830162">በሌላ መስኮት ውስጥ ክፈት</translation>
 <translation id="8951232171465285730">Chrome <ph name="MEGABYTES" /> ሜባ ቆጥቦልዎታል</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_ar.xtb b/chrome/android/java/strings/translations/android_chrome_strings_ar.xtb
index 4cf8a90..e1bf5466 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_ar.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_ar.xtb
@@ -15,7 +15,6 @@
 <translation id="1111673857033749125">ستظهر هنا الإشارات التي تم حفظها على أجهزتك الأخرى.</translation>
 <translation id="1113597929977215864">إظهار العرض المبسَّط</translation>
 <translation id="1121094540300013208">تقارير الاستخدام والأعطال</translation>
-<translation id="11221688409173367">انقر على زر "الصفحة الرئيسية" لعرض المقالات المُختارة خصيصًا لك.</translation>
 <translation id="1129510026454351943">التفاصيل: <ph name="ERROR_DESCRIPTION" /></translation>
 <translation id="1141800923049248244">{FILE_COUNT,plural, =1{هناك عملية تنزيل واحدة مُعلَّقة.}zero{هناك # عملية تنزيل مُعلَّقة.}two{هناك عمليتا تنزيل (#) مُعلَّقتان.}few{هناك # عمليات تنزيل مُعلَّقة.}many{هناك # عملية تنزيل مُعلَّقة.}other{هناك # عملية تنزيل مُعلَّقة.}}</translation>
 <translation id="1145536944570833626">يمكنك حذف البيانات الحالية.</translation>
@@ -166,7 +165,6 @@
 <translation id="2154484045852737596">تعديل البطاقة</translation>
 <translation id="2154710561487035718">‏نسخ عنوان URL</translation>
 <translation id="2156074688469523661">المواقع المتبقية (<ph name="NUMBER_OF_SITES" />)</translation>
-<translation id="2184766556418880456">انقر للوصول إلى صفحة علامة التبويب الجديدة في علامة التبويب الحالية.</translation>
 <translation id="2206488550163399966"><ph name="APP_NAME" />، تطبيق ويب. <ph name="APP_URL" /></translation>
 <translation id="2227444325776770048">متابعة باسم <ph name="USER_FULL_NAME" /></translation>
 <translation id="2232379019872353004">‏يتم إرسال بعض معلومات النظام ومحتوى الصفحة إلى Google.</translation>
@@ -233,7 +231,6 @@
 <translation id="2709516037105925701">الملء التلقائي</translation>
 <translation id="271033894570825754">جديدة</translation>
 <translation id="2728754400939377704">الترتيب حسب الموقع</translation>
-<translation id="2736391366332017384">انقر على زر "الصفحة الرئيسية" للوصول إلى صفحة علامة التبويب الجديدة في علامة التبويب الحالية.</translation>
 <translation id="2744248271121720757">النقر على الكلمة للبحث عنها فورًا أو الاطلاع على الإجراءات ذات الصلة</translation>
 <translation id="2762000892062317888">الآن</translation>
 <translation id="2777555524387840389">عدد الثواني المتبقية: <ph name="SECONDS" /></translation>
@@ -344,6 +341,7 @@
 <translation id="3744111561329211289">مزامنة الخلفية</translation>
 <translation id="3773755127849930740"><ph name="BEGIN_LINK" />تشغيل البلوتوث<ph name="END_LINK" /> للسماح بالإقران</translation>
 <translation id="3778956594442850293">تمت الإضافة إلى الشاشة الرئيسية</translation>
+<translation id="3781011235031427080">يتم فتح "المزيد من النتائج المشابهة" بنصف ارتفاع</translation>
 <translation id="3789841737615482174">تثبيت</translation>
 <translation id="3810838688059735925">فيديو</translation>
 <translation id="3810973564298564668">إدارة محرّكات البحث</translation>
@@ -493,6 +491,7 @@
 <translation id="4913169188695071480">إيقاف التحديث</translation>
 <translation id="4915549754973153784"><ph name="BEGIN_LINK" />الحصول على مساعدة<ph name="END_LINK" /> أثناء البحث عن الأجهزة…</translation>
 <translation id="4943872375798546930">لا نتائج</translation>
+<translation id="4956460920135325549">‏نسخة بسيطة مقدمَّة من Google</translation>
 <translation id="4958708863221495346">يشارك <ph name="URL_OF_THE_CURRENT_TAB" /> شاشتك</translation>
 <translation id="4961334780091921942">كلمات المرور والسجلّ والمزيد على كل الأجهزة</translation>
 <translation id="4961700429721424617">‏أنت بصدد الخروج من حساب تتم إدارته من خلال <ph name="MANAGED_DOMAIN" />. سيؤدي ذلك إلى حذف بيانات Chrome من هذا الجهاز، ولكن ستظل البيانات في حسابك في Google.</translation>
@@ -512,6 +511,7 @@
 <translation id="5087580092889165836">إضافة بطاقة</translation>
 <translation id="5100237604440890931">تم التصغير - انقر للتوسيع.</translation>
 <translation id="510275257476243843">يتبقى ساعة واحدة</translation>
+<translation id="5123685120097942451">علامة تبويب "التصفُّح المتخفي"</translation>
 <translation id="5127805178023152808">المزامنة غير مفعّلة</translation>
 <translation id="5129038482087801250">تثبيت تطبيق الويب</translation>
 <translation id="5139940364318403933">‏التعرّف على كيفية استخدام Google Drive</translation>
@@ -659,6 +659,7 @@
 <translation id="6177111841848151710">تم حظره لمحرك البحث الحالي</translation>
 <translation id="6177390657002841081">تشغيل إضافة "توفير البيانات"</translation>
 <translation id="6181444274883918285">إضافة موقع ويب إلى قائمة الاستثناءات</translation>
+<translation id="618993374665929060">يتم فتح "المزيد من النتائج المشابهة" بارتفاع كامل</translation>
 <translation id="6192333916571137726">ملف تحميل</translation>
 <translation id="6192792657125177640">الاستثناءات</translation>
 <translation id="6206551242102657620">يُعدُّ اتصالك آمنًا. معلومات موقع الويب</translation>
@@ -731,9 +732,11 @@
 <translation id="6697947395630195233">‏يحتاج Chrome إلى الوصول إلى موقعك الجغرافي لمشاركة موقعك الجغرافي مع موقع الويب هذا.</translation>
 <translation id="6698801883190606802">إدارة البيانات المتزامنة</translation>
 <translation id="6710213216561001401">السابق</translation>
+<translation id="6712388303105732168">‏الاطِّلاع على المزيد من النتائج المشابهة من Google باستخدام الزر "المزيد من النتائج المشابهة"</translation>
 <translation id="6738867403308150051">جارٍ التنزيل…</translation>
 <translation id="6746124502594467657">الانتقال إلى أسفل</translation>
 <translation id="6762156594045689028">لتغيير هذا الإعداد، يمكنك <ph name="BEGIN_LINK" />إعادة تعيين المزامنة<ph name="END_LINK" /></translation>
+<translation id="6766622839693428701">يمكنك التمرير السريع للأسفل للإغلاق.</translation>
 <translation id="6770414673596662518">‏سيتم استخدام نظام التصفح الآمن من Chrome أيضًا في اكتشاف الصفحات الضارة وحمايتك من التصيّد، والبرامج الضارة، والتنزيلات التي تلحق أذى بالجهاز.</translation>
 <translation id="6776813977906306442">يمكنك تنزيل فيديوهات لمشاهدتها لاحقًا باستخدام زر "التنزيل"</translation>
 <translation id="6790428901817661496">التشغيل</translation>
@@ -786,7 +789,9 @@
 <translation id="7121362699166175603">‏مسح السجل وميزة الإكمال التلقائي في شريط العناوين. وقد يتضمن حسابك في Google نماذج أخرى من سجل التصفح في <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
 <translation id="7128222689758636196">السماح بمحرك البحث الحالي</translation>
 <translation id="7138678301420049075">أخرى</translation>
+<translation id="7139148793369023665">تم إغلاق "المزيد من النتائج المشابهة"</translation>
 <translation id="7141896414559753902">منع مواقع الويب من عرض النوافذ المنبثقة وعمليات إعادة التوجيه (مُوصى به)</translation>
+<translation id="7149158118503947153"><ph name="BEGIN_LINK" />تحميل الصفحة الأصلية<ph name="END_LINK" /> من <ph name="DOMAIN_NAME" /></translation>
 <translation id="7149893636342594995">آخر 24 ساعة</translation>
 <translation id="7176368934862295254"><ph name="KILOBYTES" /> كيلوبايت</translation>
 <translation id="7177466738963138057">يمكنك تغيير ذلك لاحقًا من "الإعدادات"</translation>
@@ -874,6 +879,7 @@
 <translation id="7846076177841592234">إلغاء التحديد</translation>
 <translation id="784934925303690534">النطاق الزمني</translation>
 <translation id="7851858861565204677">أجهزة أخرى</translation>
+<translation id="7854964836418414587">إغلاق "المزيد من النتائج المشابهة"</translation>
 <translation id="7875915731392087153">إنشاء بريد إلكتروني</translation>
 <translation id="7876243839304621966">إزالة الكل</translation>
 <translation id="7882131421121961860">لم يتم العثور على أي سجلّ</translation>
@@ -1001,7 +1007,6 @@
 <translation id="8912362522468806198">‏حساب Google‏</translation>
 <translation id="8920114477895755567">الانتظار للحصول على تفاصيل الآباء</translation>
 <translation id="8922289737868596582">تنزيل الصفحات من الزر "مزيد من الخيارات" لاستخدامها بلا اتصال بالإنترنت</translation>
-<translation id="8934029156920711950">انقر لعرض المقالات المُختارة خصيصًا لك.</translation>
 <translation id="8941729603749328384">www.example.com</translation>
 <translation id="8942627711005830162">فتح في نافذة أخرى</translation>
 <translation id="8951232171465285730">‏لقد وفر Chrome لك <ph name="MEGABYTES" /> ميغابايت</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_bg.xtb b/chrome/android/java/strings/translations/android_chrome_strings_bg.xtb
index c5fbfb1..798353d 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_bg.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_bg.xtb
@@ -15,7 +15,6 @@
 <translation id="1111673857033749125">Тук ще се показват отметките, които сте запазили на другите си устройства.</translation>
 <translation id="1113597929977215864">Показване на опростения изглед</translation>
 <translation id="1121094540300013208">Отчети за употребата и сигнали за сривове</translation>
-<translation id="11221688409173367">Докоснете бутона „Начало“, за да видите статии, избрани специално за вас</translation>
 <translation id="1129510026454351943">Подробности: <ph name="ERROR_DESCRIPTION" /></translation>
 <translation id="1141800923049248244">{FILE_COUNT,plural, =1{Предстои 1 изтегляне.}other{Предстоят # изтегляния.}}</translation>
 <translation id="1145536944570833626">Изтриване на съществуващите данни.</translation>
@@ -166,7 +165,6 @@
 <translation id="2154484045852737596">Редактиране на картата</translation>
 <translation id="2154710561487035718">Копиране на URL адреса</translation>
 <translation id="2156074688469523661">Останали сайтове (<ph name="NUMBER_OF_SITES" />)</translation>
-<translation id="2184766556418880456">Докоснете, за да отворите нов раздел в текущия</translation>
 <translation id="2206488550163399966"><ph name="APP_NAME" />, уеб приложение. <ph name="APP_URL" /></translation>
 <translation id="2227444325776770048">Продължаване като <ph name="USER_FULL_NAME" /></translation>
 <translation id="2232379019872353004">Изпраща до Google системна информация и част от съдържанието на страниците</translation>
@@ -233,7 +231,6 @@
 <translation id="2709516037105925701">Автоматично попълване</translation>
 <translation id="271033894570825754">Създаване</translation>
 <translation id="2728754400939377704">Сортиране по сайт</translation>
-<translation id="2736391366332017384">Докоснете бутона „Начало“, за да отворите нов раздел в текущия</translation>
 <translation id="2744248271121720757">Докоснете дума, за да извършите незабавно търсене, или вижте свързаните действия</translation>
 <translation id="2762000892062317888">току-що</translation>
 <translation id="2777555524387840389">Остават <ph name="SECONDS" /> сек</translation>
@@ -344,6 +341,7 @@
 <translation id="3744111561329211289">Синхронизиране на заден план</translation>
 <translation id="3773755127849930740"><ph name="BEGIN_LINK" />Включете Bluetooth<ph name="END_LINK" />, за да разрешите сдвояването</translation>
 <translation id="3778956594442850293">Добавено към началния екран</translation>
+<translation id="3781011235031427080">„Още като това“ се отвори на половината височина</translation>
 <translation id="3789841737615482174">Инсталиране</translation>
 <translation id="3810838688059735925">Видео</translation>
 <translation id="3810973564298564668">Управление</translation>
@@ -492,6 +490,7 @@
 <translation id="4913169188695071480">Спиране на опресняването</translation>
 <translation id="4915549754973153784"><ph name="BEGIN_LINK" />Получете помощ<ph name="END_LINK" />, докато се сканира за устройства…</translation>
 <translation id="4943872375798546930">Няма резултати</translation>
+<translation id="4956460920135325549">Олекотена страница, предоставена от Google.</translation>
 <translation id="4958708863221495346"><ph name="URL_OF_THE_CURRENT_TAB" /> споделя екрана ви</translation>
 <translation id="4961334780091921942">Вашите пароли, история и др. на всички устройства</translation>
 <translation id="4961700429721424617">Излизате от профил, управляван от <ph name="MANAGED_DOMAIN" />. Данните ви в Chrome ще се изтрият от това устройство, но ще останат в профила ви в Google.</translation>
@@ -511,6 +510,7 @@
 <translation id="5087580092889165836">Добавяне на карта</translation>
 <translation id="5100237604440890931">Свито – кликнете за разгъване.</translation>
 <translation id="510275257476243843">Остава 1 час</translation>
+<translation id="5123685120097942451">Раздел в режим „инкогнито“</translation>
 <translation id="5127805178023152808">Синхронизирането е изключено</translation>
 <translation id="5129038482087801250">Инстал. на уеб приложението</translation>
 <translation id="5139940364318403933">Научете как да използвате Google Диск</translation>
@@ -636,6 +636,7 @@
 <translation id="5956665950594638604">Отваряне на Помощния център на Chrome в нов раздел</translation>
 <translation id="5958275228015807058">Намерете файловете и страниците си в „Изтегляния“</translation>
 <translation id="5962718611393537961">Докоснете за свиване</translation>
+<translation id="5990142338020175451">По-персонализирани услуги на Google, като например по-добри предложения за страници</translation>
 <translation id="6000066717592683814">Запазване на Google</translation>
 <translation id="6005538289190791541">Предложена парола</translation>
 <translation id="6039379616847168523">Преминаване към следващия раздел</translation>
@@ -658,6 +659,7 @@
 <translation id="6177111841848151710">Блокирано за текущата търсеща машина</translation>
 <translation id="6177390657002841081">Включване на Икономия на данни</translation>
 <translation id="6181444274883918285">Добавяне на изключение за сайт</translation>
+<translation id="618993374665929060">„Още като това“ се отвори на цялата височина</translation>
 <translation id="6192333916571137726">Изтегляне на файл</translation>
 <translation id="6192792657125177640">Изключения</translation>
 <translation id="6206551242102657620">Връзката е защитена. Информация за сайта</translation>
@@ -730,9 +732,11 @@
 <translation id="6697947395630195233">Chrome се нуждае от достъп до данните за местоположението ви, за да ги сподели с този сайт.</translation>
 <translation id="6698801883190606802">Управление на синхронизираните данни</translation>
 <translation id="6710213216561001401">Предишна</translation>
+<translation id="6712388303105732168">Вижте още подобни предложения от Google чрез бутона „Още като това“</translation>
 <translation id="6738867403308150051">Изтегля се…</translation>
 <translation id="6746124502594467657">Придвижване надолу</translation>
 <translation id="6762156594045689028">За да промените тази настройка, <ph name="BEGIN_LINK" />нулирайте синхронизирането<ph name="END_LINK" /></translation>
+<translation id="6766622839693428701">Прекарайте пръст надолу, за да затворите.</translation>
 <translation id="6770414673596662518">Системата на Chrome за безопасно сърфиране ще се използва също за откриване на злонамерени страници и за да ви защитава от фишинг, злонамерен софтуер и опасни изтегляния.</translation>
 <translation id="6776813977906306442">Изтегляйте видеоклипове посредством бутона „Изтегляне“, за да ги гледате по-късно</translation>
 <translation id="6790428901817661496">Пускане</translation>
@@ -785,7 +789,9 @@
 <translation id="7121362699166175603">Изчиства историята и автоматичните довършвания в адресната лента. В профила ви в Google може да има други видове история на сърфиране, съхранявани на адрес <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
 <translation id="7128222689758636196">Разрешаване за текущата търсеща машина</translation>
 <translation id="7138678301420049075">Друго</translation>
+<translation id="7139148793369023665">Затворихте „Още като това“</translation>
 <translation id="7141896414559753902">Блокиране на показването на изскачащи прозорци и пренасочвания от сайтовете (препоръчително)</translation>
+<translation id="7149158118503947153"><ph name="BEGIN_LINK" />Зареждане на оригиналната страница<ph name="END_LINK" /> от <ph name="DOMAIN_NAME" /></translation>
 <translation id="7149893636342594995">Последните 24 часа</translation>
 <translation id="7176368934862295254"><ph name="KILOBYTES" /> КБ</translation>
 <translation id="7177466738963138057">Можете да промените това по-късно от настройките</translation>
@@ -873,6 +879,7 @@
 <translation id="7846076177841592234">Анулиране на избора</translation>
 <translation id="784934925303690534">Период от време</translation>
 <translation id="7851858861565204677">Други устройства</translation>
+<translation id="7854964836418414587">Затваряне на „Още като това“</translation>
 <translation id="7875915731392087153">Създайте имейл</translation>
 <translation id="7876243839304621966">Премахване на всички</translation>
 <translation id="7882131421121961860">Няма намерена история</translation>
@@ -1000,7 +1007,6 @@
 <translation id="8912362522468806198">Профил в Google</translation>
 <translation id="8920114477895755567">Изчакват се подробности за родителите.</translation>
 <translation id="8922289737868596582">Изтеглете страниците чрез бутона „Още опции“, за да ги използвате офлайн</translation>
-<translation id="8934029156920711950">Докоснете, за да видите статии, избрани специално за вас</translation>
 <translation id="8941729603749328384">www.example.com</translation>
 <translation id="8942627711005830162">Отваряне в другия прозорец</translation>
 <translation id="8951232171465285730">Chrome ви спести <ph name="MEGABYTES" /> МБ</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_ca.xtb b/chrome/android/java/strings/translations/android_chrome_strings_ca.xtb
index 2883a8e37..f5092f7 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_ca.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_ca.xtb
@@ -15,7 +15,6 @@
 <translation id="1111673857033749125">Les adreces d'interès desades als altres dispositius es mostraran aquí.</translation>
 <translation id="1113597929977215864">Mostra la visualització simplificada</translation>
 <translation id="1121094540300013208">Informes d'ús i d'error</translation>
-<translation id="11221688409173367">Toca el botó d'inici per veure els articles seleccionats expressament per a tu</translation>
 <translation id="1129510026454351943">Detalls: <ph name="ERROR_DESCRIPTION" /></translation>
 <translation id="1141800923049248244">{FILE_COUNT,plural, =1{Hi ha 1 baixada pendent.}other{Hi ha # baixades pendents.}}</translation>
 <translation id="1145536944570833626">Suprimeix les dades existents.</translation>
@@ -166,7 +165,6 @@
 <translation id="2154484045852737596">Edita la targeta</translation>
 <translation id="2154710561487035718">Copia l'URL</translation>
 <translation id="2156074688469523661">Llocs restants (<ph name="NUMBER_OF_SITES" />)</translation>
-<translation id="2184766556418880456">Toca per anar a la pàgina Pestanya nova a la pestanya actual</translation>
 <translation id="2206488550163399966"><ph name="APP_NAME" />, aplicació web. <ph name="APP_URL" /></translation>
 <translation id="2227444325776770048">Continua com a <ph name="USER_FULL_NAME" /></translation>
 <translation id="2232379019872353004">Envia a Google algunes dades del sistema i contingut de les pàgines</translation>
@@ -233,7 +231,6 @@
 <translation id="2709516037105925701">Emplenament autom.</translation>
 <translation id="271033894570825754">Nou</translation>
 <translation id="2728754400939377704">Ordena per lloc web</translation>
-<translation id="2736391366332017384">Toca el botó d'inici per anar a la pàgina Pestanya nova a la pestanya actual</translation>
 <translation id="2744248271121720757">Toca una paraula per fer una cerca a l'instant o per veure accions relacionades</translation>
 <translation id="2762000892062317888">ara mateix</translation>
 <translation id="2777555524387840389">Queden <ph name="SECONDS" /> segons</translation>
@@ -344,6 +341,7 @@
 <translation id="3744111561329211289">Sincronització en segon pla</translation>
 <translation id="3773755127849930740">Per permetre la vinculació, <ph name="BEGIN_LINK" />activa el Bluetooth<ph name="END_LINK" /></translation>
 <translation id="3778956594442850293">S'ha afegit a la pantalla d'inici</translation>
+<translation id="3781011235031427080">El full Més contingut com aquest ocupa la meitat inferior de la pantalla</translation>
 <translation id="3789841737615482174">Instal·la</translation>
 <translation id="3810838688059735925">Vídeo</translation>
 <translation id="3810973564298564668">Gestiona</translation>
@@ -492,6 +490,7 @@
 <translation id="4913169188695071480">Deixa d'actualitzar</translation>
 <translation id="4915549754973153784"><ph name="BEGIN_LINK" />Obtén ajuda<ph name="END_LINK" /> mentre se cerquen dispositius…</translation>
 <translation id="4943872375798546930">No hi ha resultats</translation>
+<translation id="4956460920135325549">Pàgina en mode bàsic publicada per Google.</translation>
 <translation id="4958708863221495346"><ph name="URL_OF_THE_CURRENT_TAB" /> comparteix la teva pantalla</translation>
 <translation id="4961334780091921942">Les contrasenyes, l'historial i altres elements en tots els dispositius</translation>
 <translation id="4961700429721424617">Estàs tancant la sessió d'un compte gestionat per <ph name="MANAGED_DOMAIN" />. Se suprimiran les teves dades de Chrome en aquest dispositiu, però continuaran al teu compte de Google.</translation>
@@ -511,6 +510,7 @@
 <translation id="5087580092889165836">Afegiu una targeta</translation>
 <translation id="5100237604440890931">Vista replegada (feu clic per desplegar-la)</translation>
 <translation id="510275257476243843">Queda 1 hora</translation>
+<translation id="5123685120097942451">Pestanya d'incògnit</translation>
 <translation id="5127805178023152808">Sincronització desactivada</translation>
 <translation id="5129038482087801250">Instal·la l'aplicació web</translation>
 <translation id="5139940364318403933">Obtén informació sobre com pots utilitzar Google Drive</translation>
@@ -658,6 +658,7 @@
 <translation id="6177111841848151710">S'ha bloquejat per al motor de cerca actual</translation>
 <translation id="6177390657002841081">Activa l'Economitzador de dades</translation>
 <translation id="6181444274883918285">Afegeix una excepció per a un lloc web</translation>
+<translation id="618993374665929060">El full Més contingut com aquest ocupa tota la pantalla</translation>
 <translation id="6192333916571137726">Baixa el fitxer</translation>
 <translation id="6192792657125177640">Excepcions</translation>
 <translation id="6206551242102657620">La connexió és segura. Informació del lloc web</translation>
@@ -730,9 +731,11 @@
 <translation id="6697947395630195233">Chrome necessita accedir a la teva ubicació per compartir-la amb aquest lloc web.</translation>
 <translation id="6698801883190606802">Gestioneu les dades sincronitzades</translation>
 <translation id="6710213216561001401">Anterior</translation>
+<translation id="6712388303105732168">Mostra més contingut com aquest de Google amb el botó Més contingut com aquest</translation>
 <translation id="6738867403308150051">Baixada en curs...</translation>
 <translation id="6746124502594467657">Mou avall</translation>
 <translation id="6762156594045689028">Per canviar aquesta configuració, <ph name="BEGIN_LINK" />restabliu la sincronització<ph name="END_LINK" /></translation>
+<translation id="6766622839693428701">Llisca cap avall per tancar el full.</translation>
 <translation id="6770414673596662518">El sistema de Navegació segura de Chrome també s'utilitzarà per detectar pàgines malicioses i per protegir-vos de la pesca (suplantació d'identitat), de programari maliciós i de baixades perjudicials.</translation>
 <translation id="6776813977906306442">Amb el botó Baixa, pots baixar vídeos per mirar-los més tard</translation>
 <translation id="6790428901817661496">Reprodueix</translation>
@@ -785,7 +788,9 @@
 <translation id="7121362699166175603">Esborra l'historial i les complecions automàtiques a la barra d'adreces. A <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />, trobaràs altres maneres d'explorar l'historial del teu compte de Google.</translation>
 <translation id="7128222689758636196">Permet al motor de cerca actual</translation>
 <translation id="7138678301420049075">Altres</translation>
+<translation id="7139148793369023665">S'ha tancat el full Més contingut com aquest</translation>
 <translation id="7141896414559753902">Bloqueja les finestres emergents i les redireccions als llocs web (opció recomanada)</translation>
+<translation id="7149158118503947153"><ph name="BEGIN_LINK" />Carrega la pàgina original<ph name="END_LINK" /> del domini <ph name="DOMAIN_NAME" /></translation>
 <translation id="7149893636342594995">Les darreres 24 hores</translation>
 <translation id="7176368934862295254"><ph name="KILOBYTES" /> kB</translation>
 <translation id="7177466738963138057">Pots canviar aquesta opció més endavant a Configuració</translation>
@@ -873,6 +878,7 @@
 <translation id="7846076177841592234">Cancel·la la selecció</translation>
 <translation id="784934925303690534">Interval de temps</translation>
 <translation id="7851858861565204677">Altres dispositius</translation>
+<translation id="7854964836418414587">Tanca el full Més contingut com aquest</translation>
 <translation id="7875915731392087153">Crea una adreça electrònica</translation>
 <translation id="7876243839304621966">Suprimeix-ho tot</translation>
 <translation id="7882131421121961860">No s'ha trobat cap historial</translation>
@@ -1000,7 +1006,6 @@
 <translation id="8912362522468806198">Compte de Google</translation>
 <translation id="8920114477895755567">S'està esperant la informació parental.</translation>
 <translation id="8922289737868596582">Baixa pàgines amb el botó Més opcions per utilitzar-les sense connexió</translation>
-<translation id="8934029156920711950">Toca per veure els articles seleccionats expressament per a tu</translation>
 <translation id="8941729603749328384">www.example.com</translation>
 <translation id="8942627711005830162">Obre en una altra finestra</translation>
 <translation id="8951232171465285730">Chrome t'ha estalviat <ph name="MEGABYTES" /> MB</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_cs.xtb b/chrome/android/java/strings/translations/android_chrome_strings_cs.xtb
index 0911398..29e0d630 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_cs.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_cs.xtb
@@ -15,7 +15,6 @@
 <translation id="1111673857033749125">Zde se objeví záložky, které jste si uložili v ostatních zařízeních.</translation>
 <translation id="1113597929977215864">Zapnout zjednodušené zobrazení</translation>
 <translation id="1121094540300013208">Zprávy o využití a selhání</translation>
-<translation id="11221688409173367">Klepnutím na tlačítko plochy zobrazíte články vybrané speciálně pro vás</translation>
 <translation id="1129510026454351943">Podrobnosti: <ph name="ERROR_DESCRIPTION" /></translation>
 <translation id="1141800923049248244">{FILE_COUNT,plural, =1{1 nevyřízené stahování.}few{# nevyřízená stahování.}many{# nevyřízeného stahování.}other{# nevyřízených stahování.}}</translation>
 <translation id="1145536944570833626">Smazat existující data.</translation>
@@ -166,7 +165,6 @@
 <translation id="2154484045852737596">Úprava karty</translation>
 <translation id="2154710561487035718">Kopírovat adresu URL</translation>
 <translation id="2156074688469523661">Zbývající weby (<ph name="NUMBER_OF_SITES" />)</translation>
-<translation id="2184766556418880456">Klepnutím v aktuální kartě otevřete stránku Nová karta</translation>
 <translation id="2206488550163399966"><ph name="APP_NAME" />, webová aplikace <ph name="APP_URL" /></translation>
 <translation id="2227444325776770048">Pokračovat jako uživatel <ph name="USER_FULL_NAME" /></translation>
 <translation id="2232379019872353004">Odesílá část informací o systému a obsahu stránek do Googlu</translation>
@@ -233,7 +231,6 @@
 <translation id="2709516037105925701">Automatické vyplňování</translation>
 <translation id="271033894570825754">Nové</translation>
 <translation id="2728754400939377704">Seřadit podle webu</translation>
-<translation id="2736391366332017384">Klepnutím na tlačítko plochy na aktuální kartě otevřete stránku Nová karta</translation>
 <translation id="2744248271121720757">Klepnutím na slovo můžete okamžitě vyhledávat nebo zobrazit související akce</translation>
 <translation id="2762000892062317888">právě teď</translation>
 <translation id="2777555524387840389">Zbývá: <ph name="SECONDS" /> s</translation>
@@ -344,6 +341,7 @@
 <translation id="3744111561329211289">Synchronizace na pozadí</translation>
 <translation id="3773755127849930740">Chcete-li povolit párování, <ph name="BEGIN_LINK" />zapněte Bluetooth<ph name="END_LINK" />.</translation>
 <translation id="3778956594442850293">Přidáno na domovskou obrazovku</translation>
+<translation id="3781011235031427080">Je otevřen list podobných na poloviční výšku</translation>
 <translation id="3789841737615482174">Instalovat</translation>
 <translation id="3810838688059735925">Video</translation>
 <translation id="3810973564298564668">Spravovat</translation>
@@ -492,6 +490,7 @@
 <translation id="4913169188695071480">Zastavit obnovování</translation>
 <translation id="4915549754973153784"><ph name="BEGIN_LINK" />Nápověda<ph name="END_LINK" /> k vyhledávání zařízení…</translation>
 <translation id="4943872375798546930">Žádné výsledky</translation>
+<translation id="4956460920135325549">Zjednodušená stránka je poskytována společností Google.</translation>
 <translation id="4958708863221495346">Stránka <ph name="URL_OF_THE_CURRENT_TAB" /> sdílí vaši obrazovku</translation>
 <translation id="4961334780091921942">Vaše hesla, historie a další údaje na všech zařízeních</translation>
 <translation id="4961700429721424617">Odhlašujete se z účtu, který je spravován doménou <ph name="MANAGED_DOMAIN" />. Touto akcí svá data prohlížeče Chrome smažete z tohoto zařízení, ve vašem účtu Google však zůstanou.</translation>
@@ -511,6 +510,7 @@
 <translation id="5087580092889165836">Přidat kartu</translation>
 <translation id="5100237604440890931">Sbaleno – kliknutím rozbalíte</translation>
 <translation id="510275257476243843">Zbývá: 1 h</translation>
+<translation id="5123685120097942451">Anonymní karta</translation>
 <translation id="5127805178023152808">Synchronizace je vypnuta</translation>
 <translation id="5129038482087801250">Instalovat webovou aplikaci</translation>
 <translation id="5139940364318403933">Naučte se používat Disk Google</translation>
@@ -658,6 +658,7 @@
 <translation id="6177111841848151710">Pro aktuální vyhledávač blokováno</translation>
 <translation id="6177390657002841081">Zapnutí Spořiče dat</translation>
 <translation id="6181444274883918285">Přidat výjimku pro konkrétní web</translation>
+<translation id="618993374665929060">Je otevřen list podobných na plnou výšku</translation>
 <translation id="6192333916571137726">Stáhnout soubor</translation>
 <translation id="6192792657125177640">Výjimky</translation>
 <translation id="6206551242102657620">Připojení je zabezpečené. Informace o webu</translation>
@@ -730,9 +731,11 @@
 <translation id="6697947395630195233">Chrome potřebuje přístup k vaší poloze, aby ji mohl sdílet s tímto webem.</translation>
 <translation id="6698801883190606802">Správa synchronizovaných dat</translation>
 <translation id="6710213216561001401">Předchozí</translation>
+<translation id="6712388303105732168">Zobrazit další podobné návrhy od Googlu tlačítka podobných</translation>
 <translation id="6738867403308150051">Stahování…</translation>
 <translation id="6746124502594467657">Posunout dolů</translation>
 <translation id="6762156594045689028">Chcete-li toto nastavení změnit, <ph name="BEGIN_LINK" />resetujte synchronizaci<ph name="END_LINK" />.</translation>
+<translation id="6766622839693428701">Zavřete přejetím prstem dolů.</translation>
 <translation id="6770414673596662518">Chrome bude také používat systém Bezpečné prohlížení, který umožňuje zjistit škodlivé stránky a ochránit vás před phishingem, malwarem a škodlivými soubory ke stažení.</translation>
 <translation id="6776813977906306442">Pomocí tlačítka Stáhnout si můžete stáhnout videa k pozdějšímu zhlédnutí</translation>
 <translation id="6790428901817661496">Přehrát</translation>
@@ -785,7 +788,9 @@
 <translation id="7121362699166175603">Vymaže historii a automatická dokončení v adresním řádku. Na stránce <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> mohou být k dispozici další druhy historie prohlížení zaznamenané ve vašem účtu Google.</translation>
 <translation id="7128222689758636196">Povolit pro aktuální vyhledávač</translation>
 <translation id="7138678301420049075">Ostatní</translation>
+<translation id="7139148793369023665">List podobných je zavřen</translation>
 <translation id="7141896414559753902">Bránit webům v zobrazování vyskakovacích oken a v přesměrování (doporučeno)</translation>
+<translation id="7149158118503947153"><ph name="BEGIN_LINK" />Načíst původní stránku<ph name="END_LINK" /> z domény <ph name="DOMAIN_NAME" /></translation>
 <translation id="7149893636342594995">Posledních 24 hodin</translation>
 <translation id="7176368934862295254"><ph name="KILOBYTES" /> kB</translation>
 <translation id="7177466738963138057">Svoji volbu můžete později změnit v nabídce Nastavení</translation>
@@ -873,6 +878,7 @@
 <translation id="7846076177841592234">Zrušit výběr</translation>
 <translation id="784934925303690534">Časové období</translation>
 <translation id="7851858861565204677">Jiná zařízení</translation>
+<translation id="7854964836418414587">Zavřít list podobných</translation>
 <translation id="7875915731392087153">Vytvořit e-mail</translation>
 <translation id="7876243839304621966">Odstranit vše</translation>
 <translation id="7882131421121961860">Nebyla nalezena žádná historie</translation>
@@ -1000,7 +1006,6 @@
 <translation id="8912362522468806198">Účet Google</translation>
 <translation id="8920114477895755567">Čekáme na podrobnosti o rodičích.</translation>
 <translation id="8922289737868596582">Stáhněte si stránky k použití offline pomocí tlačítka Další možnosti</translation>
-<translation id="8934029156920711950">Klepnutím zobrazíte články vybrané speciálně pro vás</translation>
 <translation id="8941729603749328384">www.example.com</translation>
 <translation id="8942627711005830162">Otevřít v jiném okně</translation>
 <translation id="8951232171465285730">Chrome vám ušetřil <ph name="MEGABYTES" /> MB</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_da.xtb b/chrome/android/java/strings/translations/android_chrome_strings_da.xtb
index bc62c2a2..8709842 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_da.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_da.xtb
@@ -15,7 +15,6 @@
 <translation id="1111673857033749125">Bogmærker, der er gemt på dine andre enheder, vises her.</translation>
 <translation id="1113597929977215864">Se Enkel visning</translation>
 <translation id="1121094540300013208">Forbrugs- og nedbrudsrapporter</translation>
-<translation id="11221688409173367">Tryk på knappen Hjem for at få vist artikler, der er særligt udvalgt til dig</translation>
 <translation id="1129510026454351943">Oplysninger: <ph name="ERROR_DESCRIPTION" /></translation>
 <translation id="1141800923049248244">{FILE_COUNT,plural, =1{1 download afventer.}one{# download afventer.}other{# downloads afventer.}}</translation>
 <translation id="1145536944570833626">Slet eksisterende data.</translation>
@@ -166,7 +165,6 @@
 <translation id="2154484045852737596">Rediger kort</translation>
 <translation id="2154710561487035718">Kopier webadresse</translation>
 <translation id="2156074688469523661">Tilbageværende websites (<ph name="NUMBER_OF_SITES" />)</translation>
-<translation id="2184766556418880456">Tryk for at gå til siden Ny fane på den aktuelle fane</translation>
 <translation id="2206488550163399966"><ph name="APP_NAME" />, webapp. <ph name="APP_URL" /></translation>
 <translation id="2227444325776770048">Fortsæt som <ph name="USER_FULL_NAME" /></translation>
 <translation id="2232379019872353004">Sender nogle systemoplysninger og noget sideindhold til Google</translation>
@@ -233,7 +231,6 @@
 <translation id="2709516037105925701">AutoFyld</translation>
 <translation id="271033894570825754">Nyt</translation>
 <translation id="2728754400939377704">Sortér efter website</translation>
-<translation id="2736391366332017384">Tryk på knappen Hjem for at gå til siden Ny fane på den aktuelle fane</translation>
 <translation id="2744248271121720757">Tryk på et ord for at søge øjeblikkeligt eller se relaterede handlinger</translation>
 <translation id="2762000892062317888">lige nu</translation>
 <translation id="2777555524387840389"><ph name="SECONDS" /> sekunder tilbage</translation>
@@ -344,6 +341,7 @@
 <translation id="3744111561329211289">Synkronisering i baggrunden</translation>
 <translation id="3773755127849930740"><ph name="BEGIN_LINK" />Slå Bluetooth til<ph name="END_LINK" /> for at tillade parring</translation>
 <translation id="3778956594442850293">Føjet til startskærmen</translation>
+<translation id="3781011235031427080">"Se lignende indhold" er åbnet i halv højde</translation>
 <translation id="3789841737615482174">Installer</translation>
 <translation id="3810838688059735925">Video</translation>
 <translation id="3810973564298564668">Valgmuligheder</translation>
@@ -492,6 +490,7 @@
 <translation id="4913169188695071480">Stop med at opdatere</translation>
 <translation id="4915549754973153784"><ph name="BEGIN_LINK" />Få hjælp<ph name="END_LINK" />, mens der scannes efter enheder…</translation>
 <translation id="4943872375798546930">Ingen resultater</translation>
+<translation id="4956460920135325549">Lite-side leveret af Google.</translation>
 <translation id="4958708863221495346"><ph name="URL_OF_THE_CURRENT_TAB" /> deler din skærm</translation>
 <translation id="4961334780091921942">Dine adgangskoder, din historik og meget mere på alle enheder</translation>
 <translation id="4961700429721424617">Du er ved at logge ud af en konto, der administreres af <ph name="MANAGED_DOMAIN" />. Denne handling sletter dine Chrome-data fra denne enhed, men dine data forbliver på din Google-konto.</translation>
@@ -511,6 +510,7 @@
 <translation id="5087580092889165836">Tilføj kort</translation>
 <translation id="5100237604440890931">Skjult – klik for at udvide.</translation>
 <translation id="510275257476243843">1 time tilbage</translation>
+<translation id="5123685120097942451">Inkognitofane</translation>
 <translation id="5127805178023152808">Synkronisering er slået fra</translation>
 <translation id="5129038482087801250">Installer webapp</translation>
 <translation id="5139940364318403933">Få oplysninger om, hvordan du bruger Google Drev</translation>
@@ -658,6 +658,7 @@
 <translation id="6177111841848151710">Blokeret for den nuværende søgemaskine</translation>
 <translation id="6177390657002841081">Slå Datasparefunktion til</translation>
 <translation id="6181444274883918285">Tilføj en undtagelse for et website</translation>
+<translation id="618993374665929060">"Se lignende indhold" er åbnet i fuld højde</translation>
 <translation id="6192333916571137726">Download fil</translation>
 <translation id="6192792657125177640">Undtagelser</translation>
 <translation id="6206551242102657620">Forbindelsen er sikker. Websiteoplysninger</translation>
@@ -730,9 +731,11 @@
 <translation id="6697947395630195233">Chrome skal have adgang til din placering for at dele din placering med dette website.</translation>
 <translation id="6698801883190606802">Administrer synkroniserede data</translation>
 <translation id="6710213216561001401">Forrige</translation>
+<translation id="6712388303105732168">Se mere indhold fra Google i stil med dette ved hjælp af knappen "Se lignende indhold"</translation>
 <translation id="6738867403308150051">Downloader…</translation>
 <translation id="6746124502594467657">Flyt ned</translation>
 <translation id="6762156594045689028">Hvis du vil ændre denne indstilling, skal du <ph name="BEGIN_LINK" />nulstille synkroniseringen<ph name="END_LINK" /></translation>
+<translation id="6766622839693428701">Stryg ned for at lukke.</translation>
 <translation id="6770414673596662518">Systemet Beskyttet browsing i Chrome anvendes også til at registrere skadelige sider og beskytte dig mod phishing, malware og skadelige downloads.</translation>
 <translation id="6776813977906306442">Download videoer, som du vil se senere, ved hjælp af knappen Download</translation>
 <translation id="6790428901817661496">Afspil</translation>
@@ -785,7 +788,9 @@
 <translation id="7121362699166175603">Rydder historikken og autofuldførelser i adresselinjen. Din Google-konto kan have andre former for browserhistorik på <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
 <translation id="7128222689758636196">Tillad for den aktuelle søgemaskine</translation>
 <translation id="7138678301420049075">Andet</translation>
+<translation id="7139148793369023665">"Se lignende indhold" er lukket</translation>
 <translation id="7141896414559753902">Bloker visning af pop up-vinduer på websites og omdirigeringer (anbefalet)</translation>
+<translation id="7149158118503947153"><ph name="BEGIN_LINK" />Indlæs den oprindelige side<ph name="END_LINK" /> fra <ph name="DOMAIN_NAME" /></translation>
 <translation id="7149893636342594995">De seneste 24 timer</translation>
 <translation id="7176368934862295254"><ph name="KILOBYTES" /> kB</translation>
 <translation id="7177466738963138057">Du kan ændre dette senere i Indstillinger</translation>
@@ -873,6 +878,7 @@
 <translation id="7846076177841592234">Annuller valg</translation>
 <translation id="784934925303690534">Tidsinterval</translation>
 <translation id="7851858861565204677">Andre enheder</translation>
+<translation id="7854964836418414587">Luk "Se lignende indhold"</translation>
 <translation id="7875915731392087153">Opret mail</translation>
 <translation id="7876243839304621966">Fjern alt</translation>
 <translation id="7882131421121961860">Der blev ikke fundet nogen historik</translation>
@@ -1000,7 +1006,6 @@
 <translation id="8912362522468806198">Google-konto</translation>
 <translation id="8920114477895755567">Venter på oplysninger om forældre.</translation>
 <translation id="8922289737868596582">Download sider via knappen Flere valgmuligheder for at bruge dem, når du er offline</translation>
-<translation id="8934029156920711950">Tryk for at få vist artikler, der er særligt udvalgt til dig</translation>
 <translation id="8941729603749328384">www.eksempel.com</translation>
 <translation id="8942627711005830162">Åbn i et andet vindue</translation>
 <translation id="8951232171465285730">Chrome har sparet dig <ph name="MEGABYTES" /> MB</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_de.xtb b/chrome/android/java/strings/translations/android_chrome_strings_de.xtb
index 52bb2905..f0b9425 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_de.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_de.xtb
@@ -15,7 +15,6 @@
 <translation id="1111673857033749125">Hier werden die Lesezeichen angezeigt, die auf Ihren anderen Geräten gespeichert sind.</translation>
 <translation id="1113597929977215864">Vereinfachte Ansicht anzeigen</translation>
 <translation id="1121094540300013208">Nutzungs- und Absturzberichte</translation>
-<translation id="11221688409173367">Tippen Sie auf die Schaltfläche "Startseite", um sich speziell für Sie ausgewählte Artikel anzeigen zu lassen</translation>
 <translation id="1129510026454351943">Details: <ph name="ERROR_DESCRIPTION" /></translation>
 <translation id="1141800923049248244">{FILE_COUNT,plural, =1{1 Download ausstehend.}other{# Downloads ausstehend.}}</translation>
 <translation id="1145536944570833626">Vorhandene Daten löschen</translation>
@@ -166,7 +165,6 @@
 <translation id="2154484045852737596">Karte bearbeiten</translation>
 <translation id="2154710561487035718">URL kopieren</translation>
 <translation id="2156074688469523661">Restliche Websites (<ph name="NUMBER_OF_SITES" />)</translation>
-<translation id="2184766556418880456">Tippen Sie, um die "Neuer Tab"-Seite auf Ihrem aktuellen Tab zu öffnen</translation>
 <translation id="2206488550163399966"><ph name="APP_NAME" />, Web-App. <ph name="APP_URL" /></translation>
 <translation id="2227444325776770048">Als <ph name="USER_FULL_NAME" /> fortfahren</translation>
 <translation id="2232379019872353004">Einige Systeminformationen und Seiteninhalte werden an Google gesendet</translation>
@@ -233,7 +231,6 @@
 <translation id="2709516037105925701">AutoFill</translation>
 <translation id="271033894570825754">Neu</translation>
 <translation id="2728754400939377704">Nach Website sortieren</translation>
-<translation id="2736391366332017384">Tippen Sie auf die Schaltfläche "Startseite", um die "Neuer Tab"-Seite auf Ihrem aktuellen Tab zu öffnen</translation>
 <translation id="2744248271121720757">Tippen Sie auf ein Wort, um eine Sofortsuche zu starten oder weitere Aktionen anzuzeigen</translation>
 <translation id="2762000892062317888">gerade eben</translation>
 <translation id="2777555524387840389"><ph name="SECONDS" /> Sekunden übrig</translation>
@@ -344,6 +341,7 @@
 <translation id="3744111561329211289">Hintergrundsync</translation>
 <translation id="3773755127849930740"><ph name="BEGIN_LINK" />Aktivieren Sie Bluetooth<ph name="END_LINK" />, um die Kopplung zu ermöglichen</translation>
 <translation id="3778956594442850293">Zum Startbildschirm hinzugefügt</translation>
+<translation id="3781011235031427080">"Weitere ähnliche" halb geöffnet</translation>
 <translation id="3789841737615482174">Installieren</translation>
 <translation id="3810838688059735925">Video</translation>
 <translation id="3810973564298564668">Verwalten</translation>
@@ -492,6 +490,7 @@
 <translation id="4913169188695071480">Aktualisierung anhalten</translation>
 <translation id="4915549754973153784"><ph name="BEGIN_LINK" />Hilfe aufrufen<ph name="END_LINK" />, während nach Geräten gesucht wird…</translation>
 <translation id="4943872375798546930">Keine Ergebnisse</translation>
+<translation id="4956460920135325549">Lite-Modus-Seite von Google bereitgestellt.</translation>
 <translation id="4958708863221495346"><ph name="URL_OF_THE_CURRENT_TAB" /> hat Ihren Bildschirm freigegeben</translation>
 <translation id="4961334780091921942">Ihre Passwörter, Ihr Verlauf und mehr auf allen Geräten</translation>
 <translation id="4961700429721424617">Sie melden sich von einem Konto ab, das von <ph name="MANAGED_DOMAIN" /> verwaltet wird. Dadurch werden Ihre Chrome-Daten von diesem Gerät gelöscht, bleiben jedoch in Ihrem Google-Konto erhalten.</translation>
@@ -511,6 +510,7 @@
 <translation id="5087580092889165836">Karte hinzufügen</translation>
 <translation id="5100237604440890931">Minimiert – zum Maximieren klicken</translation>
 <translation id="510275257476243843">1 Stunde übrig</translation>
+<translation id="5123685120097942451">Inkognito-Tab</translation>
 <translation id="5127805178023152808">Synchronisierung ist deaktiviert</translation>
 <translation id="5129038482087801250">Web-App installieren</translation>
 <translation id="5139940364318403933">So nutzen Sie Google Drive</translation>
@@ -635,6 +635,7 @@
 <translation id="5956665950594638604">Chrome-Hilfe in einem neuen Tab öffnen</translation>
 <translation id="5958275228015807058">Ihre Dateien und Seiten finden Sie unter "Downloads"</translation>
 <translation id="5962718611393537961">Zum Minimieren tippen</translation>
+<translation id="5990142338020175451">Personalisierte Google-Dienste, z. B. bessere Seitenvorschläge</translation>
 <translation id="6000066717592683814">Google beibehalten</translation>
 <translation id="6005538289190791541">Vorgeschlagenes Passwort</translation>
 <translation id="6039379616847168523">Zum nächsten Tab wechseln</translation>
@@ -657,6 +658,7 @@
 <translation id="6177111841848151710">Für die aktuelle Suchmaschine blockiert</translation>
 <translation id="6177390657002841081">Datensparmodus aktivieren</translation>
 <translation id="6181444274883918285">Ausnahme für Website hinzufügen</translation>
+<translation id="618993374665929060">"Weitere ähnliche" ganz geöffnet</translation>
 <translation id="6192333916571137726">Download-Datei</translation>
 <translation id="6192792657125177640">Ausnahmen</translation>
 <translation id="6206551242102657620">Die Verbindung ist sicher. Websiteinformationen</translation>
@@ -729,9 +731,11 @@
 <translation id="6697947395630195233">Chrome benötigt Zugriff auf Ihren Standort, um ihn mit dieser Website zu teilen.</translation>
 <translation id="6698801883190606802">Synchronisierte Daten verwalten</translation>
 <translation id="6710213216561001401">Zurück</translation>
+<translation id="6712388303105732168">Über die Schaltfläche "Weitere ähnliche" sehen Sie ähnliche Inhalte von Google</translation>
 <translation id="6738867403308150051">Wird heruntergeladen...</translation>
 <translation id="6746124502594467657">Nach unten</translation>
 <translation id="6762156594045689028">Wenn Sie diese Einstellung ändern möchten, <ph name="BEGIN_LINK" />setzen Sie die Synchronisierung zurück<ph name="END_LINK" /></translation>
+<translation id="6766622839693428701">Zum Schließen nach unten wischen.</translation>
 <translation id="6770414673596662518">Das Safe Browsing-System von Chrome erkennt außerdem schädliche Seiten und schützt Sie vor Phishing, Malware und schädlichen Downloads.</translation>
 <translation id="6776813977906306442">Mit der Download-Schaltfläche Videos herunterladen, um sie später anzusehen</translation>
 <translation id="6790428901817661496">Wiedergabe</translation>
@@ -784,7 +788,9 @@
 <translation id="7121362699166175603">Löscht den Verlauf und Autovervollständigungen in der Adressleiste. Möglicherweise verfügt Ihr Google-Konto unter <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> über andere Browserverläufe.</translation>
 <translation id="7128222689758636196">Für die aktuelle Suchmaschine zulassen</translation>
 <translation id="7138678301420049075">Sonstiges</translation>
+<translation id="7139148793369023665">"Weitere ähnliche" geschlossen</translation>
 <translation id="7141896414559753902">Anzeige von Pop-ups und Weiterleitungen für Websites blockieren (empfohlen)</translation>
+<translation id="7149158118503947153"><ph name="BEGIN_LINK" />Originalseite<ph name="END_LINK" /> aus <ph name="DOMAIN_NAME" /> laden</translation>
 <translation id="7149893636342594995">Letzte 24 Stunden</translation>
 <translation id="7176368934862295254"><ph name="KILOBYTES" /> KB</translation>
 <translation id="7177466738963138057">Dies kann später in den Einstellungen geändert werden</translation>
@@ -872,6 +878,7 @@
 <translation id="7846076177841592234">Auswahl aufheben</translation>
 <translation id="784934925303690534">Zeitraum</translation>
 <translation id="7851858861565204677">Andere Geräte</translation>
+<translation id="7854964836418414587">"Weitere ähnliche" schließen</translation>
 <translation id="7875915731392087153">E-Mail erstellen</translation>
 <translation id="7876243839304621966">Alle entfernen</translation>
 <translation id="7882131421121961860">Kein Verlauf gefunden</translation>
@@ -999,7 +1006,6 @@
 <translation id="8912362522468806198">Google-Konto</translation>
 <translation id="8920114477895755567">Warten auf Details zu den Eltern</translation>
 <translation id="8922289737868596582">Seiten über die Schaltfläche "Weitere Optionen" zur Offline-Ansicht herunterladen</translation>
-<translation id="8934029156920711950">Tippen Sie, um sich speziell für Sie ausgewählte Artikel anzeigen zu lassen</translation>
 <translation id="8941729603749328384">www.example.com</translation>
 <translation id="8942627711005830162">In anderem Fenster öffnen</translation>
 <translation id="8951232171465285730">Dank Chrome haben Sie <ph name="MEGABYTES" /> MB eingespart</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_el.xtb b/chrome/android/java/strings/translations/android_chrome_strings_el.xtb
index 35d58d2b..16e8803e 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_el.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_el.xtb
@@ -15,7 +15,6 @@
 <translation id="1111673857033749125">Οι σελιδοδείκτες που είναι αποθηκευμένοι σε άλλες συσκευές θα εμφανίζονται εδώ.</translation>
 <translation id="1113597929977215864">Εμφάνιση απλοποιημένης προβολής</translation>
 <translation id="1121094540300013208">Αναφορές χρήσης και σφαλμάτων</translation>
-<translation id="11221688409173367">Πατήστε το κουμπί αρχικής οθόνης για να δείτε άρθρα που έχουν επιλεγεί ειδικά για εσάς</translation>
 <translation id="1129510026454351943">Λεπτομέρειες: <ph name="ERROR_DESCRIPTION" /></translation>
 <translation id="1141800923049248244">{FILE_COUNT,plural, =1{1 λήψη σε εκκρεμότητα.}other{# λήψεις σε εκκρεμότητα.}}</translation>
 <translation id="1145536944570833626">Διαγραφή υπαρχόντων δεδομένων.</translation>
@@ -166,7 +165,6 @@
 <translation id="2154484045852737596">Επεξεργασία κάρτας</translation>
 <translation id="2154710561487035718">Αντιγραφή διεύθυνσης URL</translation>
 <translation id="2156074688469523661">Ιστότοποι που απομένουν (<ph name="NUMBER_OF_SITES" />)</translation>
-<translation id="2184766556418880456">Πατήστε για να μεταβείτε στη σελίδα σε νέα καρτέλα στην τρέχουσα καρτέλα</translation>
 <translation id="2206488550163399966"><ph name="APP_NAME" />, εφαρμογή ιστού. <ph name="APP_URL" /></translation>
 <translation id="2227444325776770048">Συνέχεια ως <ph name="USER_FULL_NAME" /></translation>
 <translation id="2232379019872353004">Αποστέλλει ορισμένες πληροφορίες συστήματος και περιεχόμενο σελίδων στην Google</translation>
@@ -233,7 +231,6 @@
 <translation id="2709516037105925701">Αυτόματη συμπλήρωση</translation>
 <translation id="271033894570825754">Νέο</translation>
 <translation id="2728754400939377704">Ταξινόμηση κατά ιστότοπο</translation>
-<translation id="2736391366332017384">Πατήστε το κουμπί αρχικής οθόνης για να μεταβείτε στη σελίδα σε νέα καρτέλα στην τρέχουσα καρτέλα</translation>
 <translation id="2744248271121720757">Πατήστε μια λέξη για άμεση αναζήτηση ή για να δείτε τις σχετικές ενέργειες</translation>
 <translation id="2762000892062317888">μόλις τώρα</translation>
 <translation id="2777555524387840389">Απομένουν <ph name="SECONDS" /> δευτερόλεπτα</translation>
@@ -344,6 +341,7 @@
 <translation id="3744111561329211289">Συγχρονισμός παρασκηνίου</translation>
 <translation id="3773755127849930740"><ph name="BEGIN_LINK" />Ενεργοποιήστε το Bluetooth<ph name="END_LINK" />, για να επιτρέψετε τη σύζευξη</translation>
 <translation id="3778956594442850293">Προστέθηκε στην αρχική οθόνη</translation>
+<translation id="3781011235031427080">Η ενότητα "Περισσότερα σαν αυτό" άνοιξε στο μισό ύψος</translation>
 <translation id="3789841737615482174">Εγκατάσταση</translation>
 <translation id="3810838688059735925">Βίντεο</translation>
 <translation id="3810973564298564668">Διαχείριση</translation>
@@ -492,6 +490,7 @@
 <translation id="4913169188695071480">Διακοπή ανανέωσης</translation>
 <translation id="4915549754973153784"><ph name="BEGIN_LINK" />Λήψη βοήθειας<ph name="END_LINK" /> κατά τη σάρωση για συσκευές…</translation>
 <translation id="4943872375798546930">Δεν υπάρχουν αποτελέσματα</translation>
+<translation id="4956460920135325549">Σελίδα Lite από την Google.</translation>
 <translation id="4958708863221495346">Η καρτέλα <ph name="URL_OF_THE_CURRENT_TAB" /> μοιράζεται την οθόνη σας.</translation>
 <translation id="4961334780091921942">Οι κωδικοί πρόσβασης, το ιστορικό και πολλά άλλα σε όλες τις συσκευές</translation>
 <translation id="4961700429721424617">Πρόκειται να αποσυνδεθείτε από έναν λογαριασμό του οποίου η διαχείριση γίνεται από <ph name="MANAGED_DOMAIN" />. Αυτή η ενέργεια θα διαγράψει τα δεδομένα σας στο Chrome από αυτήν τη συσκευή, αλλά θα διατηρηθούν στον Λογαριασμό σας Google.</translation>
@@ -511,6 +510,7 @@
 <translation id="5087580092889165836">Προσθήκη κάρτας</translation>
 <translation id="5100237604440890931">Συμπτυγμένη - Κάντε κλικ για ανάπτυξη</translation>
 <translation id="510275257476243843">Απομένει 1 ώρα</translation>
+<translation id="5123685120097942451">Καρτέλα ανώνυμης περιήγησης</translation>
 <translation id="5127805178023152808">Ο συγχρονισμός είναι απενεργοποιημένος</translation>
 <translation id="5129038482087801250">Εγκατάσταση εφαρμογής ιστού</translation>
 <translation id="5139940364318403933">Μάθετε πώς να χρησιμοποιείτε το Google Drive</translation>
@@ -658,6 +658,7 @@
 <translation id="6177111841848151710">Αποκλείστηκε για την τρέχουσα μηχανή αναζήτησης</translation>
 <translation id="6177390657002841081">Ενεργοποίηση Εξοικονόμησης δεδομένων</translation>
 <translation id="6181444274883918285">Προσθήκη εξαίρεσης ιστότοπου</translation>
+<translation id="618993374665929060">Η ενότητα "Περισσότερα σαν αυτό" άνοιξε στο πλήρες ύψος</translation>
 <translation id="6192333916571137726">Αρχείο Λήψη</translation>
 <translation id="6192792657125177640">Εξαιρέσεις</translation>
 <translation id="6206551242102657620">Η σύνδεση είναι ασφαλής. Πληροφορίες ιστοτόπου</translation>
@@ -730,9 +731,11 @@
 <translation id="6697947395630195233">Το Chrome χρειάζεται πρόσβαση στην τοποθεσία σας, για να την κοινοποιήσει σε αυτόν τον ιστότοπο.</translation>
 <translation id="6698801883190606802">Διαχείριση συγχρονισμένων δεδομένων</translation>
 <translation id="6710213216561001401">Προηγούμενο</translation>
+<translation id="6712388303105732168">Δείτε περισσότερα σαν αυτό από το Google, χρησιμοποιώντας το κουμπί "Περισσότερα σαν αυτό"</translation>
 <translation id="6738867403308150051">Λήψη…</translation>
 <translation id="6746124502594467657">Μετακίνηση προς τα κάτω</translation>
 <translation id="6762156594045689028">Για να αλλάξετε αυτήν τη ρύθμιση, <ph name="BEGIN_LINK" />επαναφέρετε το συγχρονισμό<ph name="END_LINK" /></translation>
+<translation id="6766622839693428701">Σύρετε προς τα κάτω για κλείσιμο.</translation>
 <translation id="6770414673596662518">Το σύστημα ασφαλούς περιήγησης του Chrome μπορεί να χρησιμοποιηθεί επίσης για τον εντοπισμό κακόβουλων σελίδων και την προστασία σας από ηλεκτρονικό "ψάρεμα" (phishing), κακόβουλα προγράμματα και επιβλαβείς λήψεις.</translation>
 <translation id="6776813977906306442">Κατεβάστε βίντεο για να τα παρακολουθήσετε αργότερα, χρησιμοποιώντας το κουμπί Λήψης</translation>
 <translation id="6790428901817661496">Αναπαραγωγή</translation>
@@ -785,7 +788,9 @@
 <translation id="7121362699166175603">Διαγράφει το ιστορικό και τα στοιχεία αυτόματης συμπλήρωσης στη γραμμή διευθύνσεων. Ο Λογαριασμός σας Google ενδέχεται να διαθέτει άλλες μορφές ιστορικού περιήγησης στη διεύθυνση <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
 <translation id="7128222689758636196">Να επιτρέπεται για την τρέχουσα μηχανή αναζήτησης</translation>
 <translation id="7138678301420049075">Άλλο</translation>
+<translation id="7139148793369023665">Η ενότητα "Περισσότερα σαν αυτό" έκλεισε</translation>
 <translation id="7141896414559753902">Αποκλεισμός εμφάνισης αναδυόμενων παραθύρων και ανακατευθύνσεων σε ιστοτόπους (συνιστάται)</translation>
+<translation id="7149158118503947153"><ph name="BEGIN_LINK" />Φόρτωση αρχικής σελίδας<ph name="END_LINK" /> από <ph name="DOMAIN_NAME" /></translation>
 <translation id="7149893636342594995">Τελευταίες 24 ώρες</translation>
 <translation id="7176368934862295254"><ph name="KILOBYTES" /> KB</translation>
 <translation id="7177466738963138057">Μπορείτε να αλλάξετε αργότερα αυτήν την επιλογή στην περιοχή "Ρυθμίσεις"</translation>
@@ -873,6 +878,7 @@
 <translation id="7846076177841592234">Ακύρωση επιλογής</translation>
 <translation id="784934925303690534">Χρονικό εύρος</translation>
 <translation id="7851858861565204677">Άλλες συσκευές</translation>
+<translation id="7854964836418414587">Κλείσιμο ενότητας "Περισσότερα σαν αυτό"</translation>
 <translation id="7875915731392087153">Δημιουργία μηνύματος ηλεκτρονικού ταχυδρομείου</translation>
 <translation id="7876243839304621966">Κατάργηση όλων</translation>
 <translation id="7882131421121961860">Δεν βρέθηκε ιστορικό</translation>
@@ -1000,7 +1006,6 @@
 <translation id="8912362522468806198">Λογαριασμός Google</translation>
 <translation id="8920114477895755567">Αναμονή για λεπτομέρειες γονέων.</translation>
 <translation id="8922289737868596582">Κατεβάστε σελίδες από το κουμπί "Περισσότερες επιλογές" για να τις χρησιμοποιήσετε εκτός σύνδεσης</translation>
-<translation id="8934029156920711950">Πατήστε για να δείτε τα άρθρα που έχουν επιλεγεί ειδικά για εσάς</translation>
 <translation id="8941729603749328384">www.example.com</translation>
 <translation id="8942627711005830162">Άνοιγμα σε άλλο παράθυρο</translation>
 <translation id="8951232171465285730">Το Chrome έχει εξοικονομήσει <ph name="MEGABYTES" /> MB</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_en-GB.xtb b/chrome/android/java/strings/translations/android_chrome_strings_en-GB.xtb
index 99f9a14..af04b89b 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_en-GB.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_en-GB.xtb
@@ -15,7 +15,6 @@
 <translation id="1111673857033749125">Bookmarks saved on your other devices will appear here.</translation>
 <translation id="1113597929977215864">Show simplified view</translation>
 <translation id="1121094540300013208">Usage and crash reports</translation>
-<translation id="11221688409173367">Tap the home button to view articles selected specifically for you</translation>
 <translation id="1129510026454351943">Details: <ph name="ERROR_DESCRIPTION" /></translation>
 <translation id="1141800923049248244">{FILE_COUNT,plural, =1{1 download pending.}other{# downloads pending.}}</translation>
 <translation id="1145536944570833626">Delete existing data.</translation>
@@ -166,7 +165,6 @@
 <translation id="2154484045852737596">Edit card</translation>
 <translation id="2154710561487035718">Copy URL</translation>
 <translation id="2156074688469523661">Remaining sites (<ph name="NUMBER_OF_SITES" />)</translation>
-<translation id="2184766556418880456">Tap to get to the new tab page in your current tab</translation>
 <translation id="2206488550163399966"><ph name="APP_NAME" />, web app. <ph name="APP_URL" /></translation>
 <translation id="2227444325776770048">Continue as <ph name="USER_FULL_NAME" /></translation>
 <translation id="2232379019872353004">Sends some system information and page content to Google</translation>
@@ -233,7 +231,6 @@
 <translation id="2709516037105925701">Auto-fill</translation>
 <translation id="271033894570825754">New</translation>
 <translation id="2728754400939377704">Sort by site</translation>
-<translation id="2736391366332017384">Tap the home button to get to the new tab page in your current tab</translation>
 <translation id="2744248271121720757">Tap a word to search instantly or see related actions</translation>
 <translation id="2762000892062317888">just now</translation>
 <translation id="2777555524387840389"><ph name="SECONDS" /> secs left</translation>
@@ -344,6 +341,7 @@
 <translation id="3744111561329211289">Background sync</translation>
 <translation id="3773755127849930740"><ph name="BEGIN_LINK" />Turn on Bluetooth<ph name="END_LINK" /> to allow pairing</translation>
 <translation id="3778956594442850293">Added to Home screen</translation>
+<translation id="3781011235031427080">More like this opened at half height</translation>
 <translation id="3789841737615482174">Install</translation>
 <translation id="3810838688059735925">Video</translation>
 <translation id="3810973564298564668">Manage</translation>
@@ -492,6 +490,7 @@
 <translation id="4913169188695071480">Stop refreshing</translation>
 <translation id="4915549754973153784"><ph name="BEGIN_LINK" />Get help<ph name="END_LINK" /> while scanning for devices…</translation>
 <translation id="4943872375798546930">No results</translation>
+<translation id="4956460920135325549">Lite page delivered by Google.</translation>
 <translation id="4958708863221495346"><ph name="URL_OF_THE_CURRENT_TAB" /> is sharing your screen</translation>
 <translation id="4961334780091921942">Your passwords, history &amp; more on all devices</translation>
 <translation id="4961700429721424617">You are signing out of an account managed by <ph name="MANAGED_DOMAIN" />. This will delete your Chrome data from this device, but your data will remain in your Google account.</translation>
@@ -511,6 +510,7 @@
 <translation id="5087580092889165836">Add card</translation>
 <translation id="5100237604440890931">Collapsed – click to expand.</translation>
 <translation id="510275257476243843">1 hour left</translation>
+<translation id="5123685120097942451">Incognito tab</translation>
 <translation id="5127805178023152808">Sync is off</translation>
 <translation id="5129038482087801250">Install web app</translation>
 <translation id="5139940364318403933">Learn how to use Google Drive</translation>
@@ -658,6 +658,7 @@
 <translation id="6177111841848151710">Blocked for current search engine</translation>
 <translation id="6177390657002841081">Turn on Data Saver</translation>
 <translation id="6181444274883918285">Add site exception</translation>
+<translation id="618993374665929060">More like this opened at full height</translation>
 <translation id="6192333916571137726">Download File</translation>
 <translation id="6192792657125177640">Exceptions</translation>
 <translation id="6206551242102657620">Connection is secure. Site information</translation>
@@ -730,9 +731,11 @@
 <translation id="6697947395630195233">Chrome needs access to your location to share your location with this site.</translation>
 <translation id="6698801883190606802">Manage synced data</translation>
 <translation id="6710213216561001401">Previous</translation>
+<translation id="6712388303105732168">See more like this from Google using the More Like This button</translation>
 <translation id="6738867403308150051">Downloading…</translation>
 <translation id="6746124502594467657">Move down</translation>
 <translation id="6762156594045689028">To change this setting, <ph name="BEGIN_LINK" />reset sync<ph name="END_LINK" /></translation>
+<translation id="6766622839693428701">Swipe down to close.</translation>
 <translation id="6770414673596662518">Chrome’s Safe Browsing system will also be used to detect malicious pages and protect you from phishing, malware and harmful downloads.</translation>
 <translation id="6776813977906306442">Download videos to watch later using the Download button</translation>
 <translation id="6790428901817661496">Play</translation>
@@ -785,7 +788,9 @@
 <translation id="7121362699166175603">Clears history and autocompletions in the address bar. Your Google account may have other forms of browsing history at <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
 <translation id="7128222689758636196">Allow for current search engine</translation>
 <translation id="7138678301420049075">Other</translation>
+<translation id="7139148793369023665">More like this closed</translation>
 <translation id="7141896414559753902">Block sites from showing pop-ups and redirects (recommended)</translation>
+<translation id="7149158118503947153"><ph name="BEGIN_LINK" />Load original page<ph name="END_LINK" /> from <ph name="DOMAIN_NAME" /></translation>
 <translation id="7149893636342594995">Last 24 Hours</translation>
 <translation id="7176368934862295254"><ph name="KILOBYTES" /> KB</translation>
 <translation id="7177466738963138057">You can change this later in Settings</translation>
@@ -873,6 +878,7 @@
 <translation id="7846076177841592234">Cancel selection</translation>
 <translation id="784934925303690534">Time range</translation>
 <translation id="7851858861565204677">Other Devices</translation>
+<translation id="7854964836418414587">Close more like this</translation>
 <translation id="7875915731392087153">Create email</translation>
 <translation id="7876243839304621966">Remove all</translation>
 <translation id="7882131421121961860">No history found</translation>
@@ -998,7 +1004,6 @@
 <translation id="8912362522468806198">Google Account</translation>
 <translation id="8920114477895755567">Waiting for details of parents.</translation>
 <translation id="8922289737868596582">Download pages from the More Options button to use them offline</translation>
-<translation id="8934029156920711950">Tap to view articles selected specifically for you</translation>
 <translation id="8941729603749328384">www.example.com</translation>
 <translation id="8942627711005830162">Open in other window</translation>
 <translation id="8951232171465285730">Chrome has saved you <ph name="MEGABYTES" /> MB</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_es-419.xtb b/chrome/android/java/strings/translations/android_chrome_strings_es-419.xtb
index fc2f7da..267fa9f 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_es-419.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_es-419.xtb
@@ -15,7 +15,6 @@
 <translation id="1111673857033749125">Los favoritos guardados en tus otros dispositivos aparecerán aquí.</translation>
 <translation id="1113597929977215864">Mostrar la vista simplificada</translation>
 <translation id="1121094540300013208">Informes de uso y de fallos</translation>
-<translation id="11221688409173367">Presiona el botón de inicio para ver artículos seleccionados específicamente para ti</translation>
 <translation id="1129510026454351943">Detalles: <ph name="ERROR_DESCRIPTION" /></translation>
 <translation id="1141800923049248244">{FILE_COUNT,plural, =1{1 descarga pendiente}other{# descargas pendientes}}</translation>
 <translation id="1145536944570833626">Borra los datos existentes.</translation>
@@ -166,7 +165,6 @@
 <translation id="2154484045852737596">Editar tarjeta</translation>
 <translation id="2154710561487035718">Copiar URL</translation>
 <translation id="2156074688469523661">Sitios restantes (<ph name="NUMBER_OF_SITES" />)</translation>
-<translation id="2184766556418880456">Presiona para obtener la página Nueva pestaña en tu pestaña actual</translation>
 <translation id="2206488550163399966"><ph name="APP_NAME" /> (aplicación web), <ph name="APP_URL" /></translation>
 <translation id="2227444325776770048">Continuar como <ph name="USER_FULL_NAME" /></translation>
 <translation id="2232379019872353004">Envía información del sistema y contenido de la página a Google</translation>
@@ -233,7 +231,6 @@
 <translation id="2709516037105925701">Autocompletar</translation>
 <translation id="271033894570825754">Nuevo</translation>
 <translation id="2728754400939377704">Ordenar por sitio</translation>
-<translation id="2736391366332017384">Presiona el botón de inicio para obtener la página Nueva pestaña en tu pestaña actual</translation>
 <translation id="2744248271121720757">Presiona una palabra para realizar una búsqueda instantánea o ver acciones relacionadas</translation>
 <translation id="2762000892062317888">recién</translation>
 <translation id="2777555524387840389"><ph name="SECONDS" /> segundos restantes</translation>
@@ -344,6 +341,7 @@
 <translation id="3744111561329211289">Sincronización en segundo plano</translation>
 <translation id="3773755127849930740"><ph name="BEGIN_LINK" />Activa Bluetooth<ph name="END_LINK" /> para permitir la sincronización</translation>
 <translation id="3778956594442850293">Se agregó a la pantalla principal</translation>
+<translation id="3781011235031427080">La sección Más contenido similar se abrió a media altura</translation>
 <translation id="3789841737615482174">Instalar</translation>
 <translation id="3810838688059735925">Video</translation>
 <translation id="3810973564298564668">Administrar</translation>
@@ -492,6 +490,7 @@
 <translation id="4913169188695071480">Detener actualización</translation>
 <translation id="4915549754973153784"><ph name="BEGIN_LINK" />Obtener ayuda<ph name="END_LINK" /> mientras se buscan dispositivos…</translation>
 <translation id="4943872375798546930">Sin resultados</translation>
+<translation id="4956460920135325549">Google proporcionó la página básica.</translation>
 <translation id="4958708863221495346"><ph name="URL_OF_THE_CURRENT_TAB" /> está compartiendo tu pantalla</translation>
 <translation id="4961334780091921942">Tus contraseñas, historial y más en todos los dispositivos</translation>
 <translation id="4961700429721424617">Estás saliendo de una cuenta administrada por <ph name="MANAGED_DOMAIN" />. Esta acción borrará tus datos de Chrome en este dispositivo, pero permanecerán en tu cuenta de Google.</translation>
@@ -511,6 +510,7 @@
 <translation id="5087580092889165836">Agregar tarjeta</translation>
 <translation id="5100237604440890931">Contraído; haz clic para expandir.</translation>
 <translation id="510275257476243843">1 hora restante</translation>
+<translation id="5123685120097942451">Pestaña de incógnito</translation>
 <translation id="5127805178023152808">La sincronización está desactivada.</translation>
 <translation id="5129038482087801250">Instalar la aplicación web</translation>
 <translation id="5139940364318403933">Aprender a usar Google Drive</translation>
@@ -635,6 +635,7 @@
 <translation id="5956665950594638604">Abrir Centro de ayuda de Chrome en pestaña nueva</translation>
 <translation id="5958275228015807058">Encuentra tus archivos y páginas en Descargas</translation>
 <translation id="5962718611393537961">Presiona para contraer</translation>
+<translation id="5990142338020175451">Servicios de Google más personalizados, como mejores sugerencias de páginas</translation>
 <translation id="6000066717592683814">Seguir usando Google</translation>
 <translation id="6005538289190791541">Contraseña sugerida</translation>
 <translation id="6039379616847168523">Ir a la pestaña siguiente</translation>
@@ -657,6 +658,7 @@
 <translation id="6177111841848151710">Se bloqueó para el motor de búsqueda actual</translation>
 <translation id="6177390657002841081">Activar la extensión Ahorro de datos</translation>
 <translation id="6181444274883918285">Agregar excepción del sitio</translation>
+<translation id="618993374665929060">La sección Más contenido similar se abrió por completo</translation>
 <translation id="6192333916571137726">Descargar archivo</translation>
 <translation id="6192792657125177640">Excepciones</translation>
 <translation id="6206551242102657620">La conexión es segura. Consulta la información del sitio.</translation>
@@ -729,9 +731,11 @@
 <translation id="6697947395630195233">Chrome necesita acceso a tu ubicación para compartirla con este sitio.</translation>
 <translation id="6698801883190606802">Administrar datos sincronizados</translation>
 <translation id="6710213216561001401">Anterior</translation>
+<translation id="6712388303105732168">Usa el botón Más contenido similar para ver otras páginas como estas en Google</translation>
 <translation id="6738867403308150051">Descargando…</translation>
 <translation id="6746124502594467657">Mover hacia abajo</translation>
 <translation id="6762156594045689028">Para cambiar esta configuración, <ph name="BEGIN_LINK" />restablece la sincronización<ph name="END_LINK" /></translation>
+<translation id="6766622839693428701">Desliza hacia abajo para cerrar.</translation>
 <translation id="6770414673596662518">El sistema de navegación segura de Chrome también se puede utilizar para detectar páginas maliciosas y protegerte de la suplantación de identidad (phishing), el software malicioso y las descargas peligrosas.</translation>
 <translation id="6776813977906306442">Descarga videos con el botón Descargar para verlos más tarde</translation>
 <translation id="6790428901817661496">Reproducir</translation>
@@ -784,7 +788,9 @@
 <translation id="7121362699166175603">Borra el historial y las sugerencias de autocompletado en la barra de direcciones. Es posible que tu cuenta de Google tenga otros formularios del historial de navegación en <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
 <translation id="7128222689758636196">Habilitar el motor de búsqueda actual</translation>
 <translation id="7138678301420049075">Otros</translation>
+<translation id="7139148793369023665">Se cerró Más contenido similar</translation>
 <translation id="7141896414559753902">Bloquea las ventanas emergentes y los redireccionamientos en los sitios (recomendado)</translation>
+<translation id="7149158118503947153"><ph name="BEGIN_LINK" />Cargar página original<ph name="END_LINK" /> de <ph name="DOMAIN_NAME" /></translation>
 <translation id="7149893636342594995">Últimas 24 horas</translation>
 <translation id="7176368934862295254"><ph name="KILOBYTES" /> KB</translation>
 <translation id="7177466738963138057">Puedes cambiar esta opción más tarde en Configuración</translation>
@@ -872,6 +878,7 @@
 <translation id="7846076177841592234">Cancelar la selección</translation>
 <translation id="784934925303690534">Intervalo de tiempo</translation>
 <translation id="7851858861565204677">Otros dispositivos</translation>
+<translation id="7854964836418414587">Cerrar Más contenido similar</translation>
 <translation id="7875915731392087153">Crear correo electrónico</translation>
 <translation id="7876243839304621966">Eliminar todo</translation>
 <translation id="7882131421121961860">No se encontraron entradas en el historial</translation>
@@ -999,7 +1006,6 @@
 <translation id="8912362522468806198">Cuenta de Google</translation>
 <translation id="8920114477895755567">Esperando los detalles parentales</translation>
 <translation id="8922289737868596582">Descarga páginas desde el botón Más opciones para usarlas sin conexión</translation>
-<translation id="8934029156920711950">Presiona para ver artículos seleccionados específicamente para ti</translation>
 <translation id="8941729603749328384">www.ejemplo.com</translation>
 <translation id="8942627711005830162">Abrir en otra ventana</translation>
 <translation id="8951232171465285730">Chrome te permitió ahorrar <ph name="MEGABYTES" /> megabytes</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_es.xtb b/chrome/android/java/strings/translations/android_chrome_strings_es.xtb
index 714f361..615c228 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_es.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_es.xtb
@@ -15,7 +15,6 @@
 <translation id="1111673857033749125">Aquí aparecen los marcadores que hayas guardado en otros dispositivos.</translation>
 <translation id="1113597929977215864">Mostrar vista simplificada</translation>
 <translation id="1121094540300013208">Informes de uso y sobre fallos</translation>
-<translation id="11221688409173367">Toca el botón de inicio para ver artículos seleccionados especialmente para ti</translation>
 <translation id="1129510026454351943">Detalles: <ph name="ERROR_DESCRIPTION" /></translation>
 <translation id="1141800923049248244">{FILE_COUNT,plural, =1{Hay 1 descarga pendiente.}other{Hay # descargas pendientes.}}</translation>
 <translation id="1145536944570833626">Elimina los datos actuales.</translation>
@@ -166,7 +165,6 @@
 <translation id="2154484045852737596">Editar tarjeta</translation>
 <translation id="2154710561487035718">Copiar URL</translation>
 <translation id="2156074688469523661">Sitios web restantes (<ph name="NUMBER_OF_SITES" />)</translation>
-<translation id="2184766556418880456">Toca para acceder a la página Nueva pestaña en tu pestaña actual</translation>
 <translation id="2206488550163399966"><ph name="APP_NAME" />, una aplicación web disponible en <ph name="APP_URL" /></translation>
 <translation id="2227444325776770048">Continuar como <ph name="USER_FULL_NAME" /></translation>
 <translation id="2232379019872353004">Envía información del sistema y contenido de las páginas a Google</translation>
@@ -233,7 +231,6 @@
 <translation id="2709516037105925701">Autocompletar</translation>
 <translation id="271033894570825754">Nuevo</translation>
 <translation id="2728754400939377704">Ordenar por sitio web</translation>
-<translation id="2736391366332017384">Toca el botón de inicio para acceder a la página Nueva pestaña en tu pestaña actual</translation>
 <translation id="2744248271121720757">Toca una palabra para buscarla de forma instantánea o ver acciones relacionadas</translation>
 <translation id="2762000892062317888">ahora mismo</translation>
 <translation id="2777555524387840389">Quedan <ph name="SECONDS" /> segundos</translation>
@@ -344,6 +341,7 @@
 <translation id="3744111561329211289">Sincronización en segundo plano</translation>
 <translation id="3773755127849930740"><ph name="BEGIN_LINK" />Activa el Bluetooth<ph name="END_LINK" /> para permitir la vinculación</translation>
 <translation id="3778956594442850293">Se ha añadido a la pantalla de inicio</translation>
+<translation id="3781011235031427080">Se han abierto sugerencias similares y ocupan la mitad inferior de la pantalla</translation>
 <translation id="3789841737615482174">Instalar</translation>
 <translation id="3810838688059735925">Vídeo</translation>
 <translation id="3810973564298564668">Administrar</translation>
@@ -492,6 +490,7 @@
 <translation id="4913169188695071480">Dejar de actualizar</translation>
 <translation id="4915549754973153784"><ph name="BEGIN_LINK" />Obtener ayuda<ph name="END_LINK" /> mientras se buscan dispositivos…</translation>
 <translation id="4943872375798546930">Sin resultados</translation>
+<translation id="4956460920135325549">Página básica ofrecida por Google.</translation>
 <translation id="4958708863221495346">Estás compartiendo tu pantalla a través de <ph name="URL_OF_THE_CURRENT_TAB" /></translation>
 <translation id="4961334780091921942">Tus contraseñas, tu historial y mucho más en todos tus dispositivos</translation>
 <translation id="4961700429721424617">Estás cerrando sesión en una cuenta gestionada por <ph name="MANAGED_DOMAIN" />. Tus datos de Chrome se eliminarán de este dispositivo, pero permanecerán en tu cuenta de Google.</translation>
@@ -511,6 +510,7 @@
 <translation id="5087580092889165836">Añadir tarjeta</translation>
 <translation id="5100237604440890931">Contraído (hacer clic para ampliar)</translation>
 <translation id="510275257476243843">Queda 1 hora</translation>
+<translation id="5123685120097942451">Pestaña de incógnito</translation>
 <translation id="5127805178023152808">La sincronización está desactivada</translation>
 <translation id="5129038482087801250">Instalar aplicación web</translation>
 <translation id="5139940364318403933">Más información sobre cómo usar Google Drive</translation>
@@ -635,6 +635,7 @@
 <translation id="5956665950594638604">Abre la Ayuda de Chrome en una pestaña nueva</translation>
 <translation id="5958275228015807058">Encuentra tus archivos y páginas en la sección Descargas</translation>
 <translation id="5962718611393537961">Toca para ocultar</translation>
+<translation id="5990142338020175451">Servicios de Google más personalizados, como mejores sugerencias de páginas</translation>
 <translation id="6000066717592683814">Mantener Google como motor de búsqueda predeterminado</translation>
 <translation id="6005538289190791541">Contraseña sugerida</translation>
 <translation id="6039379616847168523">Te dirige a la siguiente pestaña</translation>
@@ -657,6 +658,7 @@
 <translation id="6177111841848151710">Bloqueado en el motor de búsqueda actual</translation>
 <translation id="6177390657002841081">Activar Ahorro de Datos</translation>
 <translation id="6181444274883918285">Añadir excepción de sitio web</translation>
+<translation id="618993374665929060">Se han abierto sugerencias similares y ocupan toda la pantalla</translation>
 <translation id="6192333916571137726">Descargar archivo</translation>
 <translation id="6192792657125177640">Excepciones</translation>
 <translation id="6206551242102657620">La conexión es segura. Información del sitio web</translation>
@@ -729,9 +731,11 @@
 <translation id="6697947395630195233">Chrome necesita acceder a tu ubicación para compartirla con este sitio web.</translation>
 <translation id="6698801883190606802">Administrar datos sincronizados</translation>
 <translation id="6710213216561001401">Anterior</translation>
+<translation id="6712388303105732168">Descubre sugerencias similares de Google con el botón Sugerencias similares</translation>
 <translation id="6738867403308150051">Descargando…</translation>
 <translation id="6746124502594467657">Bajar</translation>
 <translation id="6762156594045689028">Para cambiar esta opción, <ph name="BEGIN_LINK" />restablece la sincronización<ph name="END_LINK" /></translation>
+<translation id="6766622839693428701">Desliza el dedo hacia abajo para cerrarla.</translation>
 <translation id="6770414673596662518">El sistema de Navegación Segura de Chrome también se utilizará para detectar páginas maliciosas y para proteger al usuario de la suplantación de identidad, del software malicioso y de las descargas peligrosas.</translation>
 <translation id="6776813977906306442">Descarga vídeos para verlos más tarde con el botón Descargar</translation>
 <translation id="6790428901817661496">Reproducir</translation>
@@ -784,7 +788,9 @@
 <translation id="7121362699166175603">Borra el historial y los autocompletados de la barra de direcciones. Es posible que tu cuenta de Google tenga otros tipos de historial de navegación en <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
 <translation id="7128222689758636196">Permitirlo para el motor de búsqueda actual</translation>
 <translation id="7138678301420049075">Otro</translation>
+<translation id="7139148793369023665">Se han cerrado las sugerencias similares</translation>
 <translation id="7141896414559753902">Impedir que los sitios web muestren ventanas emergentes y redirecciones (recomendado)</translation>
+<translation id="7149158118503947153"><ph name="BEGIN_LINK" />Cargar página original<ph name="END_LINK" /> de <ph name="DOMAIN_NAME" /></translation>
 <translation id="7149893636342594995">Últimas 24 horas</translation>
 <translation id="7176368934862295254"><ph name="KILOBYTES" /> kB</translation>
 <translation id="7177466738963138057">Puedes cambiar esta opción más tarde en Configuración</translation>
@@ -872,6 +878,7 @@
 <translation id="7846076177841592234">Cancelar selección</translation>
 <translation id="784934925303690534">Intervalo de tiempo</translation>
 <translation id="7851858861565204677">Otros dispositivos</translation>
+<translation id="7854964836418414587">Cerrar sugerencias similares</translation>
 <translation id="7875915731392087153">Crear correo electrónico</translation>
 <translation id="7876243839304621966">Eliminar todo</translation>
 <translation id="7882131421121961860">No se ha encontrado el elemento buscado en el historial</translation>
@@ -887,7 +894,7 @@
 <translation id="7987073022710626672">Condiciones de Servicio de Chrome</translation>
 <translation id="7987764905897278458">Obtener más funciones inteligentes de Google</translation>
 <translation id="7998918019931843664">Volver a abrir pestaña cerrada</translation>
-<translation id="7999064672810608036">¿Estás seguro de que quieres borrar todos los datos locales, incluidas las cookies, y restablecer todos los permisos de este sitio web?</translation>
+<translation id="7999064672810608036">¿Seguro que quieres borrar todos los datos locales, incluidas las cookies, y restablecer todos los permisos de este sitio web?</translation>
 <translation id="8004582292198964060">Navegador</translation>
 <translation id="8007176423574883786">Desactivada para este dispositivo</translation>
 <translation id="8015452622527143194">Restaura el tamaño predeterminado del contenido</translation>
@@ -999,7 +1006,6 @@
 <translation id="8912362522468806198">cuenta de Google</translation>
 <translation id="8920114477895755567">Esperando detalles de los padres.</translation>
 <translation id="8922289737868596582">Descarga páginas con el botón con el botón Más opciones para usarlas sin conexión</translation>
-<translation id="8934029156920711950">Toca para ver artículos seleccionados especialmente para ti</translation>
 <translation id="8941729603749328384">www.ejemplo.com</translation>
 <translation id="8942627711005830162">Abrir en otra ventana</translation>
 <translation id="8951232171465285730">Chrome te ha permitido ahorrar <ph name="MEGABYTES" /> MB</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_fa.xtb b/chrome/android/java/strings/translations/android_chrome_strings_fa.xtb
index 4222042b..622aa11c 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_fa.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_fa.xtb
@@ -15,7 +15,6 @@
 <translation id="1111673857033749125">نشانک‌های ذخیره‌شده در سایر دستگاه‌های شما در اینجا نشان داده می‌شوند.</translation>
 <translation id="1113597929977215864">نمایش نمای ساده‌شده</translation>
 <translation id="1121094540300013208">آمار استفاده و گزارش‌های خرابی</translation>
-<translation id="11221688409173367">برای مشاهده مقاله‌هایی که به‌طور خاص برای شما انتخاب شده است روی دکمه صفحه اصلی ضربه بزنید</translation>
 <translation id="1129510026454351943">جزئیات: <ph name="ERROR_DESCRIPTION" /></translation>
 <translation id="1141800923049248244">{FILE_COUNT,plural, =1{۱ بارگیری در انتظار است.}one{# بارگیری در انتظار است.}other{# بارگیری در انتظار است.}}</translation>
 <translation id="1145536944570833626">حذف داده‌های موجود.</translation>
@@ -166,7 +165,6 @@
 <translation id="2154484045852737596">ویرایش کارت</translation>
 <translation id="2154710561487035718">کپی نشانی وب</translation>
 <translation id="2156074688469523661">سایت‌های باقی‌مانده (<ph name="NUMBER_OF_SITES" />)</translation>
-<translation id="2184766556418880456">برای رفتن به صفحه برگه جدید در برگه کنونی، ضربه بزنید</translation>
 <translation id="2206488550163399966"><ph name="APP_NAME" />، برنامه وب. <ph name="APP_URL" /></translation>
 <translation id="2227444325776770048">ادامه دادن به‌عنوان <ph name="USER_FULL_NAME" /></translation>
 <translation id="2232379019872353004">‏برخی از اطلاعات سیستم و محتوای صفحه را به Google ارسال می‌کند</translation>
@@ -233,7 +231,6 @@
 <translation id="2709516037105925701">تکمیل خودکار</translation>
 <translation id="271033894570825754">جدید</translation>
 <translation id="2728754400939377704">مرتب‌سازی براساس سایت</translation>
-<translation id="2736391366332017384">برای رفتن به صفحه برگه جدید در برگه کنونی، روی دکمه صفحه اصلی ضربه بزنید</translation>
 <translation id="2744248271121720757">برای جستجوی فوری، روی کلمه‌ای ضربه بزنید یا اقدام‌های مرتبط را ببینید</translation>
 <translation id="2762000892062317888">هم‌اکنون</translation>
 <translation id="2777555524387840389"><ph name="SECONDS" /> ثانیه باقی‌مانده است</translation>
@@ -344,6 +341,7 @@
 <translation id="3744111561329211289">همگام‌سازی پس‌زمینه</translation>
 <translation id="3773755127849930740"><ph name="BEGIN_LINK" />بلوتوث را روشن کنید<ph name="END_LINK" /> تا مرتبط‌سازی امکان‌پذیر شود</translation>
 <translation id="3778956594442850293">به صفحه اصلی اضافه شد</translation>
+<translation id="3781011235031427080">«موارد دیگر شبیه به این» تا نیمه باز شد</translation>
 <translation id="3789841737615482174">نصب</translation>
 <translation id="3810838688059735925">فیلم</translation>
 <translation id="3810973564298564668">مدیریت</translation>
@@ -492,6 +490,7 @@
 <translation id="4913169188695071480">توقف تازه‌سازی</translation>
 <translation id="4915549754973153784"><ph name="BEGIN_LINK" />دریافت راهنمایی<ph name="END_LINK" /> درحین اسکن دستگاه‌ها…</translation>
 <translation id="4943872375798546930">نتیجه‌ای پیدا نشد</translation>
+<translation id="4956460920135325549">‏صفحه Lite توسط Google ارائه می‌شود.</translation>
 <translation id="4958708863221495346"><ph name="URL_OF_THE_CURRENT_TAB" /> درحال اشتراک‌گذاری صفحه شما است</translation>
 <translation id="4961334780091921942">گذرواژه‌ها، سابقه و موارد دیگر در همه دستگاه‌ها</translation>
 <translation id="4961700429721424617">‏هم‌اکنون از حسابی که توسط <ph name="MANAGED_DOMAIN" /> مدیریت می‌شود، خارج می‌شوید. با این کار داده‌های Chrome شما از این دستگاه حذف می‌شود اما همچنان در حساب Google شما باقی می‌ماند.</translation>
@@ -511,6 +510,7 @@
 <translation id="5087580092889165836">افزودن کارت</translation>
 <translation id="5100237604440890931">کوچک شده - برای بزرگ کردن کلیک کنید.</translation>
 <translation id="510275257476243843">۱ ساعت باقی‌مانده است</translation>
+<translation id="5123685120097942451">برگه ناشناس</translation>
 <translation id="5127805178023152808">همگام‌سازی خاموش است</translation>
 <translation id="5129038482087801250">نصب برنامه وب</translation>
 <translation id="5139940364318403933">‏آشنایی با نحوه استفاده از Google Drive</translation>
@@ -657,6 +657,7 @@
 <translation id="6177111841848151710">برای موتور جستجوی فعلی مسدود شده است</translation>
 <translation id="6177390657002841081">روشن کردن «صرفه‌جویی در مصرف داده»</translation>
 <translation id="6181444274883918285">افزودن استثنای سایت</translation>
+<translation id="618993374665929060">«موارد دیگر شبیه به این» کاملاً باز شد</translation>
 <translation id="6192333916571137726">فایل بارگیری</translation>
 <translation id="6192792657125177640">موارد استثنا</translation>
 <translation id="6206551242102657620">اتصال امن است. اطلاعات سایت</translation>
@@ -729,9 +730,11 @@
 <translation id="6697947395630195233">‏Chrome برای اشتراک‌گذاری مکانتان با این سایت باید به مکانتان دسترسی داشته باشد.</translation>
 <translation id="6698801883190606802">مدیریت داده‌های همگام‌سازی شده</translation>
 <translation id="6710213216561001401">قبلی</translation>
+<translation id="6712388303105732168">‏با استفاده از دکمه «موارد دیگر شبیه به این»، موارد بیشتری از این قبیل را در Google ببینید</translation>
 <translation id="6738867403308150051">در حال بارگیری…</translation>
 <translation id="6746124502594467657">انتقال به پایین</translation>
 <translation id="6762156594045689028">برای تغییر این تنظیم، <ph name="BEGIN_LINK" />همگام‌سازی را بازنشانی کنید<ph name="END_LINK" /></translation>
+<translation id="6766622839693428701">برای بستن، تند به پایین بکشید.</translation>
 <translation id="6770414673596662518">‏همچنین از سیستم مرور ایمن Chrome برای تشخیص صفحات مخرب و محافظت از شما در برابر فیشینگ، بدافزار و بارگیری‌های خطرناک استفاده می‌شود.</translation>
 <translation id="6776813977906306442">با استفاده از دکمه «بارگیری»، ویدیوها را برای تماشا در فرصتی دیگر بارگیری کنید</translation>
 <translation id="6790428901817661496">پخش</translation>
@@ -784,7 +787,9 @@
 <translation id="7121362699166175603">‏سابقه و تکمیل‌های خودکار را در نوار نشانی پاک می‌کند. ممکن است حساب Google شما اشکال دیگری از سابقه مرور در <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> داشته باشد.</translation>
 <translation id="7128222689758636196">مجاز کردن موتور جستجوی کنونی</translation>
 <translation id="7138678301420049075">دیگر</translation>
+<translation id="7139148793369023665">«موارد دیگر شبیه به این» بسته شد</translation>
 <translation id="7141896414559753902">مسدود کردن نمایش پنجره‌های بازشو و هدایت‌ها در سایت‌ها (توصیه می‌شود)</translation>
+<translation id="7149158118503947153"><ph name="BEGIN_LINK" />بار کردن صفحه اصلی<ph name="END_LINK" /> از <ph name="DOMAIN_NAME" /></translation>
 <translation id="7149893636342594995">۲۴ ساعت گذشته</translation>
 <translation id="7176368934862295254"><ph name="KILOBYTES" /> کیلوبایت</translation>
 <translation id="7177466738963138057">می‌توانید بعداً این مورد را در تنظیمات تغییر دهید</translation>
@@ -872,6 +877,7 @@
 <translation id="7846076177841592234">لغو انتخاب</translation>
 <translation id="784934925303690534">محدوده زمانی</translation>
 <translation id="7851858861565204677">دستگاه‌های دیگر</translation>
+<translation id="7854964836418414587">بستن «موارد دیگر شبیه به این»</translation>
 <translation id="7875915731392087153">ایجاد ایمیل</translation>
 <translation id="7876243839304621966">حذف همه</translation>
 <translation id="7882131421121961860">هیچ سابقه‌ای پیدا نشد</translation>
@@ -999,7 +1005,6 @@
 <translation id="8912362522468806198">‏حساب Google</translation>
 <translation id="8920114477895755567">در انتظار اطلاعات والدین.</translation>
 <translation id="8922289737868596582">برای استفاده از صفحه‌ها در حالت آفلاین، آن‌ها را با دکمه «گزینه‌های بیشتر» بارگیری کنید</translation>
-<translation id="8934029156920711950">برای مشاهده مقاله‌هایی که به‌طور خاص برای شما انتخاب شده است ضربه بزنید</translation>
 <translation id="8941729603749328384">www.example.com</translation>
 <translation id="8942627711005830162">باز کردن در پنجره دیگر</translation>
 <translation id="8951232171465285730">‏Chrome ‏<ph name="MEGABYTES" /> مگابایت از داده‌های شما را ذخیره کرده است</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_fi.xtb b/chrome/android/java/strings/translations/android_chrome_strings_fi.xtb
index fe9f3cf..0538dbd 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_fi.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_fi.xtb
@@ -15,7 +15,6 @@
 <translation id="1111673857033749125">Muilla laitteilla tallentamasi kirjanmerkit näytetään täällä.</translation>
 <translation id="1113597929977215864">Näytä yksinkertaistettu näkymä</translation>
 <translation id="1121094540300013208">Käyttö- ja virheraportit</translation>
-<translation id="11221688409173367">Kosketa aloitusnäyttöpainiketta nähdäksesi juuri sinulle valittuja artikkeleita</translation>
 <translation id="1129510026454351943">Tiedot: <ph name="ERROR_DESCRIPTION" /></translation>
 <translation id="1141800923049248244">{FILE_COUNT,plural, =1{1 lataus odottaa}other{# latausta odottaa}}</translation>
 <translation id="1145536944570833626">Poistaa olemassa olevat tiedot.</translation>
@@ -166,7 +165,6 @@
 <translation id="2154484045852737596">Muokkaa korttia</translation>
 <translation id="2154710561487035718">Kopioi URL-osoite</translation>
 <translation id="2156074688469523661">Jäljellä olevat sivustot (<ph name="NUMBER_OF_SITES" />)</translation>
-<translation id="2184766556418880456">Napauta siirtyäksesi uusi välilehti ‑sivulle nykyisellä välilehdellä</translation>
 <translation id="2206488550163399966"><ph name="APP_NAME" />, verkkosovellus. <ph name="APP_URL" /></translation>
 <translation id="2227444325776770048">Jatka tilillä <ph name="USER_FULL_NAME" /></translation>
 <translation id="2232379019872353004">Lähettää joitain järjestelmän tietoja ja sivujen sisältöjä Googlelle</translation>
@@ -233,7 +231,6 @@
 <translation id="2709516037105925701">Automaattinen täyttö</translation>
 <translation id="271033894570825754">Uusi</translation>
 <translation id="2728754400939377704">Lajittele sivuston mukaan</translation>
-<translation id="2736391366332017384">Kosketa aloitusnäyttöpainiketta siirtyäksesi uusi välilehti ‑sivulle nykyisellä välilehdellä</translation>
 <translation id="2744248271121720757">Napauta sanaa etsiäksesi välittömästi tai nähdäksesi asiaan liittyviä toimia.</translation>
 <translation id="2762000892062317888">äsken</translation>
 <translation id="2777555524387840389"><ph name="SECONDS" /> sekuntia jäljellä</translation>
@@ -344,6 +341,7 @@
 <translation id="3744111561329211289">Taustasynkronointi</translation>
 <translation id="3773755127849930740"><ph name="BEGIN_LINK" />Ota Bluetooth käyttöön<ph name="END_LINK" />, jotta laiteparin muodostus onnistuu.</translation>
 <translation id="3778956594442850293">Lisätty aloitusnäytölle</translation>
+<translation id="3781011235031427080">Samanlaisia avattu näytön puolivälin korkeudelle</translation>
 <translation id="3789841737615482174">Asenna</translation>
 <translation id="3810838688059735925">Video</translation>
 <translation id="3810973564298564668">Hallinnoi</translation>
@@ -492,6 +490,7 @@
 <translation id="4913169188695071480">Lopeta päivittäminen</translation>
 <translation id="4915549754973153784"><ph name="BEGIN_LINK" />Tutustu ohjeisiin<ph name="END_LINK" /> laitteiden skannauksen aikana…</translation>
 <translation id="4943872375798546930">Ei tuloksia</translation>
+<translation id="4956460920135325549">Googlen tarjoama Lite-sivu</translation>
 <translation id="4958708863221495346"><ph name="URL_OF_THE_CURRENT_TAB" /> jakaa näyttösi.</translation>
 <translation id="4961334780091921942">Salasanasi, historiasi ja paljon muuta kaikilla laitteilla</translation>
 <translation id="4961700429721424617">Olet kirjautumassa ulos verkkotunnuksen <ph name="MANAGED_DOMAIN" /> hallinnoimalta tililtä. Chrome-tietosi poistetaan tältä laitteelta, mutta tietosi säilyvät Google-tililläsi.</translation>
@@ -511,6 +510,7 @@
 <translation id="5087580092889165836">Lisää kortti</translation>
 <translation id="5100237604440890931">Tiivistetty – laajenna klikkaamalla.</translation>
 <translation id="510275257476243843">1 tunti jäljellä</translation>
+<translation id="5123685120097942451">Incognito-välilehti</translation>
 <translation id="5127805178023152808">Synkronointi ei ole käytössä</translation>
 <translation id="5129038482087801250">Asenna verkkosovellus</translation>
 <translation id="5139940364318403933">Ohjeet Google Driven käyttöön</translation>
@@ -635,6 +635,7 @@
 <translation id="5956665950594638604">Avaa Chromen ohjekeskus uudella välilehdellä</translation>
 <translation id="5958275228015807058">Avaa Lataukset, niin löydät tiedostosi ja sivusi.</translation>
 <translation id="5962718611393537961">Tiivistä napauttamalla.</translation>
+<translation id="5990142338020175451">Personoidumpia Google-palveluja, kuten parempia sivuehdotuksia</translation>
 <translation id="6000066717592683814">Käytä Googlea</translation>
 <translation id="6005538289190791541">Salasanaehdotus</translation>
 <translation id="6039379616847168523">Siirry seuraavalle välilehdelle</translation>
@@ -657,6 +658,7 @@
 <translation id="6177111841848151710">Estetty nykyiseltä hakukoneelta</translation>
 <translation id="6177390657002841081">Ota Data Saver käyttöön</translation>
 <translation id="6181444274883918285">Lisää sivustopoikkeus</translation>
+<translation id="618993374665929060">Samanlaisia avattu koko näytön korkeudelle</translation>
 <translation id="6192333916571137726">Lataaminen-tiedosto</translation>
 <translation id="6192792657125177640">Poikkeukset</translation>
 <translation id="6206551242102657620">Yhteys on turvallinen. Sivuston tiedot</translation>
@@ -729,9 +731,11 @@
 <translation id="6697947395630195233">Chrome tarvitsee oikeuden käyttää sijaintiasi, jotta se voidaan jakaa tämän sivuston kanssa.</translation>
 <translation id="6698801883190606802">Hallinnoi synkronoituja tietoja</translation>
 <translation id="6710213216561001401">Edellinen</translation>
+<translation id="6712388303105732168">Hae samankaltaista sisältöä Googlesta käyttämällä Samanlaisia-painiketta</translation>
 <translation id="6738867403308150051">Ladataan…</translation>
 <translation id="6746124502594467657">Siirrä alas</translation>
 <translation id="6762156594045689028">Jos haluat muokata tätä asetusta, <ph name="BEGIN_LINK" />nollaa synkronointi<ph name="END_LINK" />.</translation>
+<translation id="6766622839693428701">Sulje pyyhkäisemällä alas.</translation>
 <translation id="6770414673596662518">Chromen selaussuojajärjestelmän avulla myös tunnistetaan haitallisia sivuja ja suojataan sinua tietojenkalastelulta, haittaohjelmilta ja haitallisilta latauksilta.</translation>
 <translation id="6776813977906306442">Lataa videoita myöhemmin katsottavaksi painamalla latauspainiketta.</translation>
 <translation id="6790428901817661496">Toista</translation>
@@ -784,7 +788,9 @@
 <translation id="7121362699166175603">Tyhjentää historian ja osoitekentän automaattiset täydennykset. Google-tililläsi voi olla muita selaushistoriatietoja osoitteessa <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
 <translation id="7128222689758636196">Salli nykyiselle hakukoneelle</translation>
 <translation id="7138678301420049075">Muu</translation>
+<translation id="7139148793369023665">Samanlaisia suljettu</translation>
 <translation id="7141896414559753902">Estä ponnahdusikkunoiden näyttäminen sivustoilla (suositus)</translation>
+<translation id="7149158118503947153"><ph name="BEGIN_LINK" />Lataa alkuperäinen sivu<ph name="END_LINK" /> osoitteesta <ph name="DOMAIN_NAME" /></translation>
 <translation id="7149893636342594995">Viimeiset 24 tuntia</translation>
 <translation id="7176368934862295254"><ph name="KILOBYTES" /> kt</translation>
 <translation id="7177466738963138057">Voit muuttaa tätä myöhemmin Asetuksista.</translation>
@@ -872,6 +878,7 @@
 <translation id="7846076177841592234">Peruuta valinta</translation>
 <translation id="784934925303690534">Aikaväli</translation>
 <translation id="7851858861565204677">Muut laitteet</translation>
+<translation id="7854964836418414587">Sulje Samanlaisia</translation>
 <translation id="7875915731392087153">Luo sähköposti</translation>
 <translation id="7876243839304621966">Poista kaikki</translation>
 <translation id="7882131421121961860">Historiaa ei löytynyt.</translation>
@@ -999,7 +1006,6 @@
 <translation id="8912362522468806198">Google-tilisi avulla</translation>
 <translation id="8920114477895755567">Odotetaan vanhempien tietoja.</translation>
 <translation id="8922289737868596582">Lataa sivuja lisäasetuksien kautta, niin voit käyttää niitä offline-tilassa.</translation>
-<translation id="8934029156920711950">Napauta nähdäksesi juuri sinulle valittuja artikkeleita</translation>
 <translation id="8941729603749328384">www.example.com</translation>
 <translation id="8942627711005830162">Avaa uudessa ikkunassa</translation>
 <translation id="8951232171465285730">Chrome on säästänyt <ph name="MEGABYTES" /> Mt tilaa</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_fil.xtb b/chrome/android/java/strings/translations/android_chrome_strings_fil.xtb
index da31998..fdd41e2 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_fil.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_fil.xtb
@@ -15,7 +15,6 @@
 <translation id="1111673857033749125">Dito lalabas ang mga naka-save na bookmark sa iba mo pang mga device.</translation>
 <translation id="1113597929977215864">Ipakita ang pinasimpleng view</translation>
 <translation id="1121094540300013208">Mga ulat sa paggamit at pag-crash</translation>
-<translation id="11221688409173367">I-tap ang button ng home para tingnan ang mga artikulong partikular na pinili para sa iyo</translation>
 <translation id="1129510026454351943">Mga Detalye: <ph name="ERROR_DESCRIPTION" /></translation>
 <translation id="1141800923049248244">{FILE_COUNT,plural, =1{Nakabinbin ang 1 pag-download.}one{Nakabinbin ang # pag-download.}other{Nakabinbin ang # na pag-download.}}</translation>
 <translation id="1145536944570833626">I-delete ang kasalukuyang data.</translation>
@@ -166,7 +165,6 @@
 <translation id="2154484045852737596">I-edit ang card</translation>
 <translation id="2154710561487035718">Kopyahin ang URL</translation>
 <translation id="2156074688469523661">Mga natitirang site (<ph name="NUMBER_OF_SITES" />)</translation>
-<translation id="2184766556418880456">Mag-tap para makapunta sa page ng bagong tab sa iyong kasalukuyang tab</translation>
 <translation id="2206488550163399966"><ph name="APP_NAME" />, web app. <ph name="APP_URL" /></translation>
 <translation id="2227444325776770048">Magpatuloy bilang si <ph name="USER_FULL_NAME" /></translation>
 <translation id="2232379019872353004">Nagpapadala ng ilang impormasyon ng system at content ng page sa Google</translation>
@@ -233,7 +231,6 @@
 <translation id="2709516037105925701">AutoFill</translation>
 <translation id="271033894570825754">Bago</translation>
 <translation id="2728754400939377704">Pagbukud-bukurin ayon sa site</translation>
-<translation id="2736391366332017384">I-tap ang button ng home para makapunta sa page ng bagong tab sa iyong kasalukuyang tab</translation>
 <translation id="2744248271121720757">Mag-tap ng salita upang hanapin agad ito o tingnan ang mga nauugnay na pagkilos</translation>
 <translation id="2762000892062317888">ngayon lang</translation>
 <translation id="2777555524387840389"><ph name="SECONDS" /> (na) segundo na lang ang natitira</translation>
@@ -344,6 +341,7 @@
 <translation id="3744111561329211289">Pag-sync sa background</translation>
 <translation id="3773755127849930740"><ph name="BEGIN_LINK" />I-on ang Bluetooth<ph name="END_LINK" /> upang payagan ang pagpapares</translation>
 <translation id="3778956594442850293">Idinagdag sa Home screen</translation>
+<translation id="3781011235031427080">Nakabukas sa kalahating bahagi sa ibaba ng screen ang higit pang tulad nito</translation>
 <translation id="3789841737615482174">Mag-install</translation>
 <translation id="3810838688059735925">Video</translation>
 <translation id="3810973564298564668">Mamahala</translation>
@@ -492,6 +490,7 @@
 <translation id="4913169188695071480">Ihinto ang pag-refresh</translation>
 <translation id="4915549754973153784"><ph name="BEGIN_LINK" />Humingi ng tulong<ph name="END_LINK" /> habang nag-ii-scan ng mga device…</translation>
 <translation id="4943872375798546930">Walang mga resulta</translation>
+<translation id="4956460920135325549">Lite na page na inihatid ng Google</translation>
 <translation id="4958708863221495346">Ibinabahagi ng <ph name="URL_OF_THE_CURRENT_TAB" /> ang iyong screen</translation>
 <translation id="4961334780091921942">Ang iyong mga password, history, at higit pa sa lahat ng device</translation>
 <translation id="4961700429721424617">Nagsa-sign out ka sa account na pinamamahalaan ng <ph name="MANAGED_DOMAIN" />. Ide-delete nito ang data mo sa Chrome mula sa device na ito, ngunit mananatili ang data mo sa iyong Google account.</translation>
@@ -511,6 +510,7 @@
 <translation id="5087580092889165836">Magdagdag ng card</translation>
 <translation id="5100237604440890931">Naka-collapse - i-click upang palawakin</translation>
 <translation id="510275257476243843">1 oras na lang ang natitira</translation>
+<translation id="5123685120097942451">Tab na incognito</translation>
 <translation id="5127805178023152808">Naka-off ang pag-sync</translation>
 <translation id="5129038482087801250">I-install ang web app</translation>
 <translation id="5139940364318403933">Alamin kung paano gamitin ang Google Drive</translation>
@@ -658,6 +658,7 @@
 <translation id="6177111841848151710">Naka-block para sa kasalukuyang search engine</translation>
 <translation id="6177390657002841081">I-on ang Data Saver</translation>
 <translation id="6181444274883918285">Magdagdag ng pagbubukod ng site</translation>
+<translation id="618993374665929060">Nakabukas sa buong screen ang higit pang tulad nito</translation>
 <translation id="6192333916571137726">File ng download</translation>
 <translation id="6192792657125177640">Mga Pagbubukod</translation>
 <translation id="6206551242102657620">Secure ang koneksyon. Impormasyon ng site</translation>
@@ -730,9 +731,11 @@
 <translation id="6697947395630195233">Kailangan ng Chrome ng access sa iyong lokasyon upang ibahagi ang lokasyon mo sa site na ito.</translation>
 <translation id="6698801883190606802">Pamahalaan ang na-sync na data</translation>
 <translation id="6710213216561001401">Nakaraan</translation>
+<translation id="6712388303105732168">Makakita ng higit pang tulad nito mula sa Google gamit ang button na Higit Pang Tulad Nito</translation>
 <translation id="6738867403308150051">Nagda-download...</translation>
 <translation id="6746124502594467657">Ibaba</translation>
 <translation id="6762156594045689028">Upang baguhin ang setting na ito, <ph name="BEGIN_LINK" />i-reset ang pag-sync<ph name="END_LINK" /></translation>
+<translation id="6766622839693428701">Mag-swipe pababa para isara.</translation>
 <translation id="6770414673596662518">Ang Chrome ay mayroong system na Ligtas na Pagba-browse para malaman kung aling mga page ang hindi ligtas gamitin. Mapoprotektahan ka nito mula sa phishing, malware at mga download na nakakasama.</translation>
 <translation id="6776813977906306442">Mag-download ng mga video upang panoorin sa ibang pagkakataon gamit ang button na I-download</translation>
 <translation id="6790428901817661496">I-play</translation>
@@ -785,7 +788,9 @@
 <translation id="7121362699166175603">Kini-clear ang history at mga autocompletion sa address bar. Maaaring may iba pang anyo ng history ng pag-browse ang iyong Google Account sa <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
 <translation id="7128222689758636196">Payagan para sa kasalukuyang search engine</translation>
 <translation id="7138678301420049075">Iba pa</translation>
+<translation id="7139148793369023665">Nakasara ang higit pang tulad nito</translation>
 <translation id="7141896414559753902">I-block ang pagpapakita ng mga site ng mga pop-up at pag-redirect (inirerekomenda)</translation>
+<translation id="7149158118503947153"><ph name="BEGIN_LINK" />I-load ang orihinal na page<ph name="END_LINK" /> mula sa <ph name="DOMAIN_NAME" /></translation>
 <translation id="7149893636342594995">Nakalipas na 24 na oras</translation>
 <translation id="7176368934862295254"><ph name="KILOBYTES" /> KB</translation>
 <translation id="7177466738963138057">Maaari mo itong baguhin sa ibang pagkakataon sa Mga Setting</translation>
@@ -873,6 +878,7 @@
 <translation id="7846076177841592234">Kanselahin ang pinili</translation>
 <translation id="784934925303690534">Sakop na oras</translation>
 <translation id="7851858861565204677">Iba pang mga device</translation>
+<translation id="7854964836418414587">Isara ang higit pang tulad nito</translation>
 <translation id="7875915731392087153">Gumawa ng email</translation>
 <translation id="7876243839304621966">Alisin lahat</translation>
 <translation id="7882131421121961860">Walang nakitang history</translation>
@@ -1000,7 +1006,6 @@
 <translation id="8912362522468806198">Google Account</translation>
 <translation id="8920114477895755567">Hinihintay ang mga detalye ng mga magulang.</translation>
 <translation id="8922289737868596582">I-download ang mga page mula sa button na Higit pang opsyon upang magamit ang mga ito offline</translation>
-<translation id="8934029156920711950">Mag-tap para tingnan ang mga artikulong partikular na pinili para sa iyo</translation>
 <translation id="8941729603749328384">www.example.com</translation>
 <translation id="8942627711005830162">Buksan sa ibang window</translation>
 <translation id="8951232171465285730">Nag-save ang Chrome ng <ph name="MEGABYTES" /> MB para sa iyo</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_fr.xtb b/chrome/android/java/strings/translations/android_chrome_strings_fr.xtb
index 6db585c..3873f0c 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_fr.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_fr.xtb
@@ -15,7 +15,6 @@
 <translation id="1111673857033749125">Les favoris enregistrés sur vos autres appareils s'affichent ici.</translation>
 <translation id="1113597929977215864">Afficher la vue simplifiée</translation>
 <translation id="1121094540300013208">Statistiques d'utilisation et rapports d'erreur</translation>
-<translation id="11221688409173367">Appuyez sur le bouton d'accueil pour afficher les articles sélectionnés spécialement pour vous</translation>
 <translation id="1129510026454351943">Détails°: <ph name="ERROR_DESCRIPTION" /></translation>
 <translation id="1141800923049248244">{FILE_COUNT,plural, =1{1 téléchargement en attente.}one{# téléchargement en attente.}other{# téléchargements en attente.}}</translation>
 <translation id="1145536944570833626">Supprimer les données existantes.</translation>
@@ -166,7 +165,6 @@
 <translation id="2154484045852737596">Modifier la carte</translation>
 <translation id="2154710561487035718">Copier l'URL</translation>
 <translation id="2156074688469523661">Sites restants (<ph name="NUMBER_OF_SITES" />)</translation>
-<translation id="2184766556418880456">Appuyez ici pour accéder à la page "Nouvel onglet" dans l'onglet actif</translation>
 <translation id="2206488550163399966"><ph name="APP_NAME" />, application Web : <ph name="APP_URL" /></translation>
 <translation id="2227444325776770048">Continuer en tant que <ph name="USER_FULL_NAME" /></translation>
 <translation id="2232379019872353004">Envoie des informations système et du contenu de pages à Google</translation>
@@ -233,7 +231,6 @@
 <translation id="2709516037105925701">Saisie automatique</translation>
 <translation id="271033894570825754">Nouveau</translation>
 <translation id="2728754400939377704">Trier par site</translation>
-<translation id="2736391366332017384">Appuyez sur le bouton d'accueil pour accéder à la page "Nouvel onglet" dans l'onglet actif</translation>
 <translation id="2744248271121720757">Appuyez sur un mot pour lancer une recherche instantanée ou afficher les actions associées</translation>
 <translation id="2762000892062317888">à l'instant</translation>
 <translation id="2777555524387840389"><ph name="SECONDS" /> secondes restantes</translation>
@@ -344,6 +341,7 @@
 <translation id="3744111561329211289">Synchronisation en arrière-plan</translation>
 <translation id="3773755127849930740">Pour permettre l'association, <ph name="BEGIN_LINK" />activez le Bluetooth<ph name="END_LINK" /></translation>
 <translation id="3778956594442850293">Ajouté à l'écran d'accueil</translation>
+<translation id="3781011235031427080">Panneau "Plus de suggestions similaires" ouvert à mi-hauteur</translation>
 <translation id="3789841737615482174">Installer</translation>
 <translation id="3810838688059735925">Vidéo</translation>
 <translation id="3810973564298564668">Gérer</translation>
@@ -492,6 +490,7 @@
 <translation id="4913169188695071480">Ne plus actualiser</translation>
 <translation id="4915549754973153784"><ph name="BEGIN_LINK" />Obtenir de l'aide<ph name="END_LINK" /> lors de la recherche d'appareils…</translation>
 <translation id="4943872375798546930">Aucun résultat</translation>
+<translation id="4956460920135325549">Page simplifiée diffusée par Google.</translation>
 <translation id="4958708863221495346"><ph name="URL_OF_THE_CURRENT_TAB" /> partage votre écran.</translation>
 <translation id="4961334780091921942">Vos mots de passe, votre historique et plus encore sur tous les appareils</translation>
 <translation id="4961700429721424617">Vous vous déconnectez d'un compte géré par <ph name="MANAGED_DOMAIN" />. Cette opération entraînera la suppression de vos données Chrome de cet appareil, mais celles-ci seront conservées dans votre compte Google.</translation>
@@ -511,6 +510,7 @@
 <translation id="5087580092889165836">Ajouter une carte</translation>
 <translation id="5100237604440890931">Réduit – Cliquer pour développer</translation>
 <translation id="510275257476243843">1 heure restante</translation>
+<translation id="5123685120097942451">Onglet de navigation privée</translation>
 <translation id="5127805178023152808">La synchronisation est désactivée.</translation>
 <translation id="5129038482087801250">Installer l'application Web</translation>
 <translation id="5139940364318403933">Découvrez comment utiliser Google Drive</translation>
@@ -635,6 +635,7 @@
 <translation id="5956665950594638604">Ouvrir le centre d'aide dans un nouvel onglet</translation>
 <translation id="5958275228015807058">Recherchez vos fichiers et vos pages dans la section "Téléchargements"</translation>
 <translation id="5962718611393537961">Appuyer pour réduire</translation>
+<translation id="5990142338020175451">Des services Google plus personnalisés, comme des suggestions de pages plus pertinentes</translation>
 <translation id="6000066717592683814">Conserver Google</translation>
 <translation id="6005538289190791541">Mot de passe suggéré</translation>
 <translation id="6039379616847168523">Accéder à l'onglet suivant</translation>
@@ -657,6 +658,7 @@
 <translation id="6177111841848151710">Bloqué pour le moteur de recherche actuel</translation>
 <translation id="6177390657002841081">Activer l'Économiseur de données</translation>
 <translation id="6181444274883918285">Ajouter une exception pour un site</translation>
+<translation id="618993374665929060">Panneau "Plus de suggestions similaires" ouvert à hauteur maximale</translation>
 <translation id="6192333916571137726">Télécharger le fichier</translation>
 <translation id="6192792657125177640">Exceptions</translation>
 <translation id="6206551242102657620">La connexion est sécurisée. Informations sur le site</translation>
@@ -729,9 +731,11 @@
 <translation id="6697947395630195233">Chrome a besoin d'accéder à votre position pour la partager avec ce site.</translation>
 <translation id="6698801883190606802">Gérer les données synchronisées</translation>
 <translation id="6710213216561001401">Précédent</translation>
+<translation id="6712388303105732168">Affichez plus de suggestions similaires en cliquant sur le bouton Plus de suggestions similaires</translation>
 <translation id="6738867403308150051">Téléchargement en cours…</translation>
 <translation id="6746124502594467657">Descendre</translation>
 <translation id="6762156594045689028">Pour modifier ce paramètre, <ph name="BEGIN_LINK" />réinitialisez la synchronisation<ph name="END_LINK" />.</translation>
+<translation id="6766622839693428701">Balayez l'écran vers le bas pour fermer la feuille.</translation>
 <translation id="6770414673596662518">Nous utilisons également le système de navigation sécurisée de Chrome pour détecter les pages nuisibles tout en vous protégeant de l'hameçonnage, des logiciels malveillants et des téléchargements dangereux.</translation>
 <translation id="6776813977906306442">Téléchargez des vidéos à regarder plus tard à l'aide du bouton "Télécharger"</translation>
 <translation id="6790428901817661496">Lire</translation>
@@ -784,7 +788,9 @@
 <translation id="7121362699166175603">Efface l'historique et les saisies semi-automatiques dans la barre d'adresse. Votre compte Google conserve peut-être d'autres formes d'historique de navigation sur la page <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
 <translation id="7128222689758636196">Autoriser l'accès pour le moteur de recherche actuel</translation>
 <translation id="7138678301420049075">Autre</translation>
+<translation id="7139148793369023665">Panneau "Plus de suggestions similaires" fermé</translation>
 <translation id="7141896414559753902">Bloquer l'affichage de fenêtres pop-up et de redirections par les sites (recommandé)</translation>
+<translation id="7149158118503947153"><ph name="BEGIN_LINK" />Charger la page originale<ph name="END_LINK" /> de <ph name="DOMAIN_NAME" /></translation>
 <translation id="7149893636342594995">Dernières 24 heures</translation>
 <translation id="7176368934862295254"><ph name="KILOBYTES" /> Ko</translation>
 <translation id="7177466738963138057">Vous pourrez modifier le moteur de recherche plus tard dans les paramètres</translation>
@@ -872,6 +878,7 @@
 <translation id="7846076177841592234">Annuler la sélection</translation>
 <translation id="784934925303690534">Période</translation>
 <translation id="7851858861565204677">Autres appareils</translation>
+<translation id="7854964836418414587">Fermer le panneau "Plus de suggestions similaires"</translation>
 <translation id="7875915731392087153">Créer un e-mail</translation>
 <translation id="7876243839304621966">Tout supprimer</translation>
 <translation id="7882131421121961860">Aucun historique trouvé</translation>
@@ -999,7 +1006,6 @@
 <translation id="8912362522468806198">Compte Google</translation>
 <translation id="8920114477895755567">En attente des coordonnées des parents…</translation>
 <translation id="8922289737868596582">Téléchargez des pages pour y accéder hors connexion, à partir du bouton "Plus d'options"</translation>
-<translation id="8934029156920711950">Appuyez ici pour afficher les articles sélectionnés spécialement pour vous</translation>
 <translation id="8941729603749328384">www.example.com</translation>
 <translation id="8942627711005830162">Ouvrir dans une autre fenêtre</translation>
 <translation id="8951232171465285730">Chrome vous a permis de gagner <ph name="MEGABYTES" /> Mo</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_hi.xtb b/chrome/android/java/strings/translations/android_chrome_strings_hi.xtb
index fd068dc..4178b95 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_hi.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_hi.xtb
@@ -15,7 +15,6 @@
 <translation id="1111673857033749125">आपके अन्‍य डिवाइस पर सहेजे गए बुकमार्क यहां दिखाई देंगे.</translation>
 <translation id="1113597929977215864">सरल बनाया गया व्यू दिखाएं</translation>
 <translation id="1121094540300013208">उपयोग और क्रैश रिपोर्ट</translation>
-<translation id="11221688409173367">खास तौर पर आपके लिए चुने गए लेख देखने के लिए 'होम' बटन पर टैप करें</translation>
 <translation id="1129510026454351943">विवरण: <ph name="ERROR_DESCRIPTION" /></translation>
 <translation id="1141800923049248244">{FILE_COUNT,plural, =1{1 डाउनलोड बाकी है.}one{# डाउनलोड बाकी हैं.}other{# डाउनलोड बाकी हैं.}}</translation>
 <translation id="1145536944570833626">मौजूदा डेटा हटाएं.</translation>
@@ -166,7 +165,6 @@
 <translation id="2154484045852737596">कार्ड संपादित करें</translation>
 <translation id="2154710561487035718">URL की कॉपी बनाएं</translation>
 <translation id="2156074688469523661">बाकी साइटें (<ph name="NUMBER_OF_SITES" />)</translation>
-<translation id="2184766556418880456">अपने मौजूदा टैब में 'नया टैब' पेज पर जाने के लिए टैप करें</translation>
 <translation id="2206488550163399966"><ph name="APP_NAME" />, वेब ऐप. <ph name="APP_URL" /></translation>
 <translation id="2227444325776770048"><ph name="USER_FULL_NAME" /> के रूप में जारी रखें</translation>
 <translation id="2232379019872353004">कुछ सिस्टम जानकारी और पेज सामग्री Google को भेजती है</translation>
@@ -233,7 +231,6 @@
 <translation id="2709516037105925701">ऑटोमैटिक भरना</translation>
 <translation id="271033894570825754">नया</translation>
 <translation id="2728754400939377704">साइट के हिसाब से क्रम में लगाएं</translation>
-<translation id="2736391366332017384">अपने मौजूदा टैब में 'नया टैब' पेज पर जाने के लिए 'होम' बटन पर टैप करें</translation>
 <translation id="2744248271121720757">झटपट खोजने या मिलती-जुलती कार्रवाइयां देखने के लिए किसी शब्द पर टैप करें</translation>
 <translation id="2762000892062317888">अभी-अभी</translation>
 <translation id="2777555524387840389"><ph name="SECONDS" /> सेकंड शेष</translation>
@@ -344,6 +341,7 @@
 <translation id="3744111561329211289">पृष्ठभूमि समन्वयन</translation>
 <translation id="3773755127849930740">युग्मन की अनुमति देने के लिए <ph name="BEGIN_LINK" />ब्लूटूथ चालू करें<ph name="END_LINK" /></translation>
 <translation id="3778956594442850293">होम स्‍क्रीन में जोड़ा गया</translation>
+<translation id="3781011235031427080">'इसी तरह के और भी' आधी स्क्रीन पर खुला है</translation>
 <translation id="3789841737615482174">इंस्‍टॉल करें</translation>
 <translation id="3810838688059735925">वीडियो</translation>
 <translation id="3810973564298564668">प्रबंधित करें</translation>
@@ -492,6 +490,7 @@
 <translation id="4913169188695071480">रीफ्रेश करना बंद करें</translation>
 <translation id="4915549754973153784">डिवाइस स्कैन करने में <ph name="BEGIN_LINK" />सहायता पाएं<ph name="END_LINK" />...</translation>
 <translation id="4943872375798546930">कोई परिणाम नहीं</translation>
+<translation id="4956460920135325549">Google की ओर से लाइट पेज डिलीवर किया गया.</translation>
 <translation id="4958708863221495346"><ph name="URL_OF_THE_CURRENT_TAB" /> आपकी स्क्रीन शेयर कर रहा है</translation>
 <translation id="4961334780091921942">सभी डिवाइस पर आपके पासवर्ड, इतिहास वगैरह</translation>
 <translation id="4961700429721424617">आप <ph name="MANAGED_DOMAIN" /> द्वारा प्रबंधित खाते से प्रस्थान कर रहे हैं. इससे आपका Chrome डेटा इस डिवाइस से हट जाएगा, लेकिन आपका डेटा आपके Google खाते में बना रहेगा.</translation>
@@ -511,6 +510,7 @@
 <translation id="5087580092889165836">कार्ड जोड़ें</translation>
 <translation id="5100237604440890931">संक्षिप्त - विस्तृत करने के लिए क्लिक करें.</translation>
 <translation id="510275257476243843">1 घंटा शेष</translation>
+<translation id="5123685120097942451">गुप्त टैब</translation>
 <translation id="5127805178023152808">समन्वयन बंद है</translation>
 <translation id="5129038482087801250">वेब ऐप्लिकेशन इंस्टॉल करें</translation>
 <translation id="5139940364318403933">Google डिस्क के इस्तेमाल का तरीका जानें</translation>
@@ -658,6 +658,7 @@
 <translation id="6177111841848151710">अभी के खोज इंजन के लिए ब्लॉक किया गया</translation>
 <translation id="6177390657002841081">डेटा बचाने का साधन चालू करना</translation>
 <translation id="6181444274883918285">साइट का अपवाद जोड़ें</translation>
+<translation id="618993374665929060">'इसी तरह के और भी' पूरी स्क्रीन पर खुला है</translation>
 <translation id="6192333916571137726">डाउनलोड फ़ाइल कहां सेव करें</translation>
 <translation id="6192792657125177640">अपवाद</translation>
 <translation id="6206551242102657620">कनेक्शन सुरक्षित है. साइट की जानकारी</translation>
@@ -730,9 +731,11 @@
 <translation id="6697947395630195233">Chrome को इस साइट से आपका स्थान शेयर करने के लिए आपके स्थान का एक्सेस चाहिए.</translation>
 <translation id="6698801883190606802">समन्वयित डेटा प्रबंधित करें</translation>
 <translation id="6710213216561001401">पिछला</translation>
+<translation id="6712388303105732168">'इसी तरह के और भी' बटन का इस्तेमाल करके Google के ज़रिए ऐसी ही और भी चीज़ें देखें</translation>
 <translation id="6738867403308150051">डाउनलोड हो रहे हैं...</translation>
 <translation id="6746124502594467657">नीचे जाएं</translation>
 <translation id="6762156594045689028">यह सेटिंग बदलने के लिए, <ph name="BEGIN_LINK" />समन्वयन रीसेट करें<ph name="END_LINK" /></translation>
+<translation id="6766622839693428701">बंद करने के लिए नीचे स्वाइप करें.</translation>
 <translation id="6770414673596662518">Chrome के सुरक्षित ब्राउज़िंग सिस्टम का उपयोग दुर्भावनापूर्ण पृष्ठों का पता लगाने तथा फ़िशिंग, मैलवेयर और हानिकारक डाउनलोड से आपकी सुरक्षा करने के लिए भी किया जाएगा.</translation>
 <translation id="6776813977906306442">डाउनलोड करें बटन का उपयोग करके बाद में देखने के लिए वीडियो डाउनलोड करें</translation>
 <translation id="6790428901817661496">चलाएं</translation>
@@ -785,7 +788,9 @@
 <translation id="7121362699166175603">पता बार में स्वत: पूर्णता और इतिहास को हटाता है. आपके Google खाते में <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> पर अन्य प्रकार के ब्राउज़िंग इतिहास हो सकतेे हैं.</translation>
 <translation id="7128222689758636196">वर्तमान खोज इंजन के लिए अनुमति दें</translation>
 <translation id="7138678301420049075">अन्य</translation>
+<translation id="7139148793369023665">'इसी तरह के और भी' को बंद किया गया</translation>
 <translation id="7141896414559753902">साइटों को पॉप-अप और रीडायरेक्ट दिखाने से ब्लॉक करें (सुझाया गया)</translation>
+<translation id="7149158118503947153"><ph name="DOMAIN_NAME" /> से <ph name="BEGIN_LINK" />मूल पेज लोड करें<ph name="END_LINK" /></translation>
 <translation id="7149893636342594995">पिछले 24 घंटे</translation>
 <translation id="7176368934862295254"><ph name="KILOBYTES" /> केबी</translation>
 <translation id="7177466738963138057">आप इसे बाद में सेटिंग में जाकर बदल सकते हैं</translation>
@@ -873,6 +878,7 @@
 <translation id="7846076177841592234">चयन हटाएं</translation>
 <translation id="784934925303690534">समय सीमा</translation>
 <translation id="7851858861565204677">अन्य डिवाइस</translation>
+<translation id="7854964836418414587">'इसी तरह के और भी' को बंद करें</translation>
 <translation id="7875915731392087153">ईमेल बनाएं</translation>
 <translation id="7876243839304621966">सभी को निकालें</translation>
 <translation id="7882131421121961860">कोई इतिहास नहीं मिला</translation>
@@ -1000,7 +1006,6 @@
 <translation id="8912362522468806198">Google खाता</translation>
 <translation id="8920114477895755567">अभिभावकों के विवरण की प्रतीक्षा कर रहे हैं.</translation>
 <translation id="8922289737868596582">पेज का ऑफ़लाइन उपयोग करने के लिए उन्हें अधिक विकल्प बटन से डाउनलोड करें</translation>
-<translation id="8934029156920711950">खास तौर पर आपके लिए चुने गए लेख देखने के लिए टैप करें</translation>
 <translation id="8941729603749328384">www.example.com</translation>
 <translation id="8942627711005830162">अन्य विंडो में खोलें</translation>
 <translation id="8951232171465285730">Chrome ने आपके <ph name="MEGABYTES" /> एमबी की बचत की</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_hr.xtb b/chrome/android/java/strings/translations/android_chrome_strings_hr.xtb
index cac018f..f185aa43 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_hr.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_hr.xtb
@@ -15,7 +15,6 @@
 <translation id="1111673857033749125">Ovdje će se prikazivati oznake koje ste spremili na drugim uređajima.</translation>
 <translation id="1113597929977215864">Prikaži pojednostavljeni prikaz</translation>
 <translation id="1121094540300013208">Izvješća o upotrebi i rušenju programa</translation>
-<translation id="11221688409173367">Dodirnite gumb početnog zaslona za prikaz članaka odabranih posebno za vas</translation>
 <translation id="1129510026454351943">Pojedinosti: <ph name="ERROR_DESCRIPTION" /></translation>
 <translation id="1141800923049248244">{FILE_COUNT,plural, =1{1 preuzimanje na čekanju.}one{# preuzimanje na čekanju.}few{# preuzimanja na čekanju.}other{# preuzimanja na čekanju.}}</translation>
 <translation id="1145536944570833626">Brisanje postojećih podataka.</translation>
@@ -166,7 +165,6 @@
 <translation id="2154484045852737596">Uredite karticu</translation>
 <translation id="2154710561487035718">Kopiraj URL</translation>
 <translation id="2156074688469523661">Preostale web-lokacije (<ph name="NUMBER_OF_SITES" />)</translation>
-<translation id="2184766556418880456">Dodirnite za pristup web-stranici nove kartice u trenutačnoj kartici</translation>
 <translation id="2206488550163399966"><ph name="APP_NAME" />, web-aplikacija. <ph name="APP_URL" /></translation>
 <translation id="2227444325776770048">Nastavite kao <ph name="USER_FULL_NAME" /></translation>
 <translation id="2232379019872353004">Googleu šalje neke podatke o sustavu i sadržaj stranice</translation>
@@ -233,7 +231,6 @@
 <translation id="2709516037105925701">Automatsko popunjavanje</translation>
 <translation id="271033894570825754">Novo</translation>
 <translation id="2728754400939377704">Poredaj po web-lokaciji</translation>
-<translation id="2736391366332017384">Dodirnite gumb početnog zaslona za pristup web-stranici nove kartice u trenutačnoj kartici</translation>
 <translation id="2744248271121720757">Dodirnite riječ da biste je odmah pretražili ili vidjeli povezane radnje</translation>
 <translation id="2762000892062317888">upravo sada</translation>
 <translation id="2777555524387840389">Preostalo sekundi: <ph name="SECONDS" /></translation>
@@ -344,6 +341,7 @@
 <translation id="3744111561329211289">Sinkronizacija u pozadini</translation>
 <translation id="3773755127849930740"><ph name="BEGIN_LINK" />Uključite Bluetooth<ph name="END_LINK" /> da biste omogućili uparivanje</translation>
 <translation id="3778956594442850293">Dodano na početni zaslon</translation>
+<translation id="3781011235031427080">Više ovakvih rezultata otvoreno na pola visine</translation>
 <translation id="3789841737615482174">Instaliraj</translation>
 <translation id="3810838688059735925">Video</translation>
 <translation id="3810973564298564668">Upravljaj</translation>
@@ -492,6 +490,7 @@
 <translation id="4913169188695071480">Zaustavi osvježavanje</translation>
 <translation id="4915549754973153784"><ph name="BEGIN_LINK" />Potražite pomoć<ph name="END_LINK" /> tijekom traženja uređaja…</translation>
 <translation id="4943872375798546930">Nema rezultata</translation>
+<translation id="4956460920135325549">Jednostavnu stranicu pruža Google.</translation>
 <translation id="4958708863221495346"><ph name="URL_OF_THE_CURRENT_TAB" /> dijeli vaš zaslon</translation>
 <translation id="4961334780091921942">Vaše zaporke, povijest i drugo na svim uređajima</translation>
 <translation id="4961700429721424617">Odjavljujete se s računa kojim upravlja <ph name="MANAGED_DOMAIN" />. Vaši podaci u Chromeu izbrisat će se s ovog uređaja, no ostat će na vašem Google računu.</translation>
@@ -511,6 +510,7 @@
 <translation id="5087580092889165836">Dodaj karticu</translation>
 <translation id="5100237604440890931">Sažeto – kliknite za proširivanje.</translation>
 <translation id="510275257476243843">Još 1 sat</translation>
+<translation id="5123685120097942451">Anonimna kartica</translation>
 <translation id="5127805178023152808">Sinkronizacija je isključena</translation>
 <translation id="5129038482087801250">Instaliraj web-aplikaciju</translation>
 <translation id="5139940364318403933">Saznajte kako se upotrebljava Google Drive</translation>
@@ -658,6 +658,7 @@
 <translation id="6177111841848151710">Blokirano za trenutačnu tražilicu</translation>
 <translation id="6177390657002841081">Uključi uštedu podataka</translation>
 <translation id="6181444274883918285">Dodaj iznimku za web-lokaciju</translation>
+<translation id="618993374665929060">Više ovakvih rezultata otvoreno cijelom visinom</translation>
 <translation id="6192333916571137726">Preuzimanje datoteka datoteka</translation>
 <translation id="6192792657125177640">Iznimke</translation>
 <translation id="6206551242102657620">Veza je sigurna. Informacije o web-lokaciji</translation>
@@ -730,9 +731,11 @@
 <translation id="6697947395630195233">Chrome treba dopuštenje za pristup vašoj lokaciji da bi je podijelio s ovom web-lokacijom.</translation>
 <translation id="6698801883190606802">Upravljanje sinkroniziranim podacima</translation>
 <translation id="6710213216561001401">Prethodno</translation>
+<translation id="6712388303105732168">Pogledajte više ovakvih rezultata s Googlea pomoću gumba Više ovakvih rezultata</translation>
 <translation id="6738867403308150051">Preuzimanje...</translation>
 <translation id="6746124502594467657">Pomakni dolje</translation>
 <translation id="6762156594045689028">Da biste promijenili tu postavku, <ph name="BEGIN_LINK" />poništite sinkronizaciju<ph name="END_LINK" /></translation>
+<translation id="6766622839693428701">Prijeđite prstom prema dolje da biste zatvorili.</translation>
 <translation id="6770414673596662518">Chromeov sustav Sigurno pregledavanje upotrebljavat će se i za otkrivanje zlonamjernih stranica i zaštitu od krađe identiteta, zlonamjernog softvera i štetnih preuzimanja.</translation>
 <translation id="6776813977906306442">Preuzmite videozapise za kasnije gledanje pomoću gumba Preuzmi</translation>
 <translation id="6790428901817661496">Reproduciraj</translation>
@@ -785,7 +788,9 @@
 <translation id="7121362699166175603">Briše povijest i automatska dovršavanja u adresnoj traci. Na vašem Google računu možda postoje drugi oblici povijesti pregledavanja na stranici <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
 <translation id="7128222689758636196">Dopusti za trenutačnu tražilicu</translation>
 <translation id="7138678301420049075">Ostalo</translation>
+<translation id="7139148793369023665">Više ovakvih rezultata zatvoreno</translation>
 <translation id="7141896414559753902">Web-lokacijama nije dopušteno prikazivanje skočnih prozora i preusmjeravanja (preporučeno)</translation>
+<translation id="7149158118503947153"><ph name="BEGIN_LINK" />Učitajte izvornu stranicu<ph name="END_LINK" /> s domene <ph name="DOMAIN_NAME" /></translation>
 <translation id="7149893636342594995">Posljednja 24 sata</translation>
 <translation id="7176368934862295254"><ph name="KILOBYTES" /> KB</translation>
 <translation id="7177466738963138057">Kasnije to možete promijeniti u odjeljku Postavke</translation>
@@ -873,6 +878,7 @@
 <translation id="7846076177841592234">Poništi odabir</translation>
 <translation id="784934925303690534">Vremenski raspon</translation>
 <translation id="7851858861565204677">Ostali uređaji</translation>
+<translation id="7854964836418414587">Zatvorite Više ovakvih rezultata</translation>
 <translation id="7875915731392087153">Izradite e-poruku</translation>
 <translation id="7876243839304621966">Ukloni sve</translation>
 <translation id="7882131421121961860">Povijest nije pronađena</translation>
@@ -1000,7 +1006,6 @@
 <translation id="8912362522468806198">Google Račun</translation>
 <translation id="8920114477895755567">Čekaju se pojedinosti o nadređenim jedinicama.</translation>
 <translation id="8922289737868596582">Preuzmite stranice za izvanmrežnu upotrebu pomoću gumba Više opcija</translation>
-<translation id="8934029156920711950">Dodirnite za prikaz članaka odabranih posebno za vas</translation>
 <translation id="8941729603749328384">www.example.com</translation>
 <translation id="8942627711005830162">Otvori u drugom prozoru</translation>
 <translation id="8951232171465285730">Chrome vam je uštedio <ph name="MEGABYTES" /> MB</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_hu.xtb b/chrome/android/java/strings/translations/android_chrome_strings_hu.xtb
index bc1da31..6f05827 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_hu.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_hu.xtb
@@ -15,7 +15,6 @@
 <translation id="1111673857033749125">A más eszközökön mentett könyvjelzők itt jelennek meg.</translation>
 <translation id="1113597929977215864">Egyszerűsített nézet megjelenítése</translation>
 <translation id="1121094540300013208">Használati és hibajelentések</translation>
-<translation id="11221688409173367">Koppintson a Kezdőképernyő gombra a kifejezetten Önnek kiválasztott cikkek megtekintéséhez</translation>
 <translation id="1129510026454351943">Részletek: <ph name="ERROR_DESCRIPTION" /></translation>
 <translation id="1141800923049248244">{FILE_COUNT,plural, =1{1 letöltés függőben.}other{# letöltés függőben.}}</translation>
 <translation id="1145536944570833626">Meglévő adatok törlése.</translation>
@@ -166,7 +165,6 @@
 <translation id="2154484045852737596">Kártya szerkesztése</translation>
 <translation id="2154710561487035718">URL másolása</translation>
 <translation id="2156074688469523661">A többi webhely (<ph name="NUMBER_OF_SITES" />)</translation>
-<translation id="2184766556418880456">Koppintson az új lap oldal megnyitásához az aktuális lapon</translation>
 <translation id="2206488550163399966"><ph name="APP_NAME" />, internetes alkalmazás. <ph name="APP_URL" /></translation>
 <translation id="2227444325776770048">Folytatás mint <ph name="USER_FULL_NAME" /></translation>
 <translation id="2232379019872353004">Elküld bizonyos rendszer-információkat és oldaltartalmakat a Google-nak</translation>
@@ -233,7 +231,6 @@
 <translation id="2709516037105925701">Automatikus kitöltés</translation>
 <translation id="271033894570825754">Új</translation>
 <translation id="2728754400939377704">Rendezés webhely szerint</translation>
-<translation id="2736391366332017384">Koppintson a Kezdőképernyő gombra az új lap oldal megnyitásához az aktuális lapon</translation>
 <translation id="2744248271121720757">Az azonnali kereséshez koppintson a kívánt szóra, vagy tekintse meg a kapcsolódó műveleteket</translation>
 <translation id="2762000892062317888">éppen most</translation>
 <translation id="2777555524387840389"><ph name="SECONDS" /> másodperc van hátra</translation>
@@ -344,6 +341,7 @@
 <translation id="3744111561329211289">Szinkronizálás a háttérben</translation>
 <translation id="3773755127849930740">A párosítás engedélyezéséhez <ph name="BEGIN_LINK" />kapcsolja be a Bluetooth funkciót<ph name="END_LINK" /></translation>
 <translation id="3778956594442850293">Hozzáadva a kezdőképernyőhöz</translation>
+<translation id="3781011235031427080">További hasonlók megnyitva félmagasságban</translation>
 <translation id="3789841737615482174">Telepítés</translation>
 <translation id="3810838688059735925">Videó</translation>
 <translation id="3810973564298564668">Szerkesztés</translation>
@@ -492,6 +490,7 @@
 <translation id="4913169188695071480">Frissítés leállítása</translation>
 <translation id="4915549754973153784"><ph name="BEGIN_LINK" />Kérjen segítséget<ph name="END_LINK" />, miközben eszközöket keresünk…</translation>
 <translation id="4943872375798546930">Nincs találat</translation>
+<translation id="4956460920135325549">Egyszerű oldal a Google-tól.</translation>
 <translation id="4958708863221495346">A(z) <ph name="URL_OF_THE_CURRENT_TAB" /> webhely megosztja az Ön képernyőjét</translation>
 <translation id="4961334780091921942">Jelszavai, előzményei (és még sok más) valamennyi eszközén</translation>
 <translation id="4961700429721424617">Kijelentkezik egy <ph name="MANAGED_DOMAIN" /> által felügyelt fiókból. Ezzel törli az eszközön található Chrome-adatokat, amelyek azonban Google-fiókjában megmaradnak.</translation>
@@ -511,6 +510,7 @@
 <translation id="5087580092889165836">Kártya hozzáadása</translation>
 <translation id="5100237604440890931">Összecsukva – kattintson a kibontáshoz.</translation>
 <translation id="510275257476243843">1 óra van hátra</translation>
+<translation id="5123685120097942451">Inkognitólap</translation>
 <translation id="5127805178023152808">Szinkronizálás kikapcsolva</translation>
 <translation id="5129038482087801250">Webes alkalmazás telepítése</translation>
 <translation id="5139940364318403933">További információ a Google Drive használatáról</translation>
@@ -635,6 +635,7 @@
 <translation id="5956665950594638604">A Chrome súgójának megnyitása új lapon</translation>
 <translation id="5958275228015807058">A fájlokat és oldalakat a Letöltések között találhatja meg</translation>
 <translation id="5962718611393537961">Koppintson az összecsukáshoz</translation>
+<translation id="5990142338020175451">Személyre szabottabb Google-szolgáltatások, például jobb oldaljavaslatok</translation>
 <translation id="6000066717592683814">A Google megtartása</translation>
 <translation id="6005538289190791541">Javasolt jelszó</translation>
 <translation id="6039379616847168523">Ugrás a következő lapra</translation>
@@ -657,6 +658,7 @@
 <translation id="6177111841848151710">Tiltott a jelenlegi keresőmotor számára</translation>
 <translation id="6177390657002841081">Az Adatforgalom-csökkentő bekapcsolása</translation>
 <translation id="6181444274883918285">Webhelykivétel hozzáadása</translation>
+<translation id="618993374665929060">További hasonlók megnyitva teljes magasságban</translation>
 <translation id="6192333916571137726">Fájl letöltése</translation>
 <translation id="6192792657125177640">Kivételek</translation>
 <translation id="6206551242102657620">A kapcsolat biztonságos. Webhelyadatok</translation>
@@ -729,9 +731,11 @@
 <translation id="6697947395630195233">A Chrome-nak hozzáférésre van szüksége a helyadatokra ahhoz, hogy megoszthassa a webhellyel az Ön tartózkodási helyét.</translation>
 <translation id="6698801883190606802">Szinkronizálás kezelése</translation>
 <translation id="6710213216561001401">Előző</translation>
+<translation id="6712388303105732168">Más hasonló tartalmakat is láthat a Google-ból a További hasonlók gomb választásával</translation>
 <translation id="6738867403308150051">Letöltés…</translation>
 <translation id="6746124502594467657">Mozgatás lefelé</translation>
 <translation id="6762156594045689028">A beállítás módosításához <ph name="BEGIN_LINK" />állítsa alaphelyzetbe a szinkronizálást<ph name="END_LINK" /></translation>
+<translation id="6766622839693428701">A bezáráshoz csúsztasson lefelé.</translation>
 <translation id="6770414673596662518">A Chrome Biztonságos Böngészés rendszere is segít a rosszindulatú oldalak észlelésében, valamint megvédi Önt az adathalászattól, a rosszindulatú programoktól és az ártalmas letöltésektől.</translation>
 <translation id="6776813977906306442">A Letöltés gomb segítségével videókat tölthet le, hogy később tekintse meg őket</translation>
 <translation id="6790428901817661496">Játék</translation>
@@ -784,7 +788,9 @@
 <translation id="7121362699166175603">Törli a címsávban található előzményeket és automatikus kiegészítéseket. Előfordulhat, hogy a böngészési előzmények más formái még megtalálhatók Google-fiókjában a <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> webhelyen.</translation>
 <translation id="7128222689758636196">Engedélyezi a jelenlegi keresőmotor számára</translation>
 <translation id="7138678301420049075">Egyéb</translation>
+<translation id="7139148793369023665">További hasonlók bezárva</translation>
 <translation id="7141896414559753902">Előugró ablakok és átirányítások letiltása a webhelyeken (ajánlott)</translation>
+<translation id="7149158118503947153"><ph name="BEGIN_LINK" />Eredeti oldal betöltése<ph name="END_LINK" /> innen: <ph name="DOMAIN_NAME" /></translation>
 <translation id="7149893636342594995">Az elmúlt 24 órából</translation>
 <translation id="7176368934862295254"><ph name="KILOBYTES" /> kB</translation>
 <translation id="7177466738963138057">Ezt később módosíthatja a beállítások között.</translation>
@@ -872,6 +878,7 @@
 <translation id="7846076177841592234">Kijelölés törlése</translation>
 <translation id="784934925303690534">Időszak</translation>
 <translation id="7851858861565204677">Egyéb eszközök</translation>
+<translation id="7854964836418414587">További hasonlók bezárása</translation>
 <translation id="7875915731392087153">E-mail létrehozása</translation>
 <translation id="7876243839304621966">Összes eltávolítása</translation>
 <translation id="7882131421121961860">Nincsenek előzmények</translation>
@@ -999,7 +1006,6 @@
 <translation id="8912362522468806198">Google Fiókjába</translation>
 <translation id="8920114477895755567">Várakozás a szülői adatokra.</translation>
 <translation id="8922289737868596582">A További lehetőségek gomb segítségével letölthet oldalakat, hogy offline is használhassa őket</translation>
-<translation id="8934029156920711950">Koppintson a kifejezetten Önnek kiválasztott cikkek megtekintéséhez</translation>
 <translation id="8941729603749328384">www.example.com</translation>
 <translation id="8942627711005830162">Megnyitás másik ablakban</translation>
 <translation id="8951232171465285730">A Chrome <ph name="MEGABYTES" /> MB-ot spórolt meg Önnek</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_id.xtb b/chrome/android/java/strings/translations/android_chrome_strings_id.xtb
index 5ae73f1..be3f59ed 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_id.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_id.xtb
@@ -15,7 +15,6 @@
 <translation id="1111673857033749125">Bookmark yang tersimpan di perangkat lainnya akan muncul di sini.</translation>
 <translation id="1113597929977215864">Tampilkan tampilan sederhana</translation>
 <translation id="1121094540300013208">Laporan kerusakan dan penggunaan</translation>
-<translation id="11221688409173367">Tap tombol beranda untuk melihat artikel yang dipilih khusus untuk Anda</translation>
 <translation id="1129510026454351943">Detail: <ph name="ERROR_DESCRIPTION" /></translation>
 <translation id="1141800923049248244">{FILE_COUNT,plural, =1{1 download tertunda.}other{# download tertunda.}}</translation>
 <translation id="1145536944570833626">Hapus data yang sudah ada.</translation>
@@ -166,7 +165,6 @@
 <translation id="2154484045852737596">Edit kartu</translation>
 <translation id="2154710561487035718">Salin URL</translation>
 <translation id="2156074688469523661">Situs yang tersisa (<ph name="NUMBER_OF_SITES" />)</translation>
-<translation id="2184766556418880456">Tap untuk membuka halaman tab baru pada tab saat ini</translation>
 <translation id="2206488550163399966"><ph name="APP_NAME" />, aplikasi web. <ph name="APP_URL" /></translation>
 <translation id="2227444325776770048">Lanjutkan sebagai <ph name="USER_FULL_NAME" /></translation>
 <translation id="2232379019872353004">Mengirimkan beberapa informasi sistem dan konten halaman ke Google</translation>
@@ -233,7 +231,6 @@
 <translation id="2709516037105925701">Isi-Otomatis</translation>
 <translation id="271033894570825754">Baru</translation>
 <translation id="2728754400939377704">Urutkan menurut situs</translation>
-<translation id="2736391366332017384">Tap tombol beranda untuk membuka halaman tab baru pada tab saat ini</translation>
 <translation id="2744248271121720757">Tap sebuah kata untuk menelusuri secara instan atau melihat tindakan terkait</translation>
 <translation id="2762000892062317888">baru saja</translation>
 <translation id="2777555524387840389"><ph name="SECONDS" /> detik lagi</translation>
@@ -344,6 +341,7 @@
 <translation id="3744111561329211289">Sinkronisasi latar belakang</translation>
 <translation id="3773755127849930740"><ph name="BEGIN_LINK" />Aktifkan Bluetooth<ph name="END_LINK" /> untuk mengizinkan penyandingan</translation>
 <translation id="3778956594442850293">Ditambahkan ke Layar utama</translation>
+<translation id="3781011235031427080">Lainnya, yang seperti ini dibuka dalam setengah layar</translation>
 <translation id="3789841737615482174">Instal</translation>
 <translation id="3810838688059735925">Video</translation>
 <translation id="3810973564298564668">Kelola</translation>
@@ -492,6 +490,7 @@
 <translation id="4913169188695071480">Hentikan refresh</translation>
 <translation id="4915549754973153784"><ph name="BEGIN_LINK" />Dapatkan bantuan<ph name="END_LINK" /> saat memindai perangkat…</translation>
 <translation id="4943872375798546930">Tidak ada hasil</translation>
+<translation id="4956460920135325549">Halaman Ringan yang ditampilkan oleh Google.</translation>
 <translation id="4958708863221495346"><ph name="URL_OF_THE_CURRENT_TAB" /> berbagi layar Anda</translation>
 <translation id="4961334780091921942">Sandi, histori dan lainnya di semua perangkat</translation>
 <translation id="4961700429721424617">Anda akan keluar dari akun yang dikelola oleh <ph name="MANAGED_DOMAIN" />. Tindakan ini akan menghapus data Chrome dari perangkat ini, namun data tetap tersedia di Akun Google Anda.</translation>
@@ -511,6 +510,7 @@
 <translation id="5087580092889165836">Tambahkan kartu</translation>
 <translation id="5100237604440890931">Diciutkan - klik untuk memperluas.</translation>
 <translation id="510275257476243843">1 jam lagi</translation>
+<translation id="5123685120097942451">Tab penyamaran</translation>
 <translation id="5127805178023152808">Sinkronisasi nonaktif</translation>
 <translation id="5129038482087801250">Instal aplikasi web</translation>
 <translation id="5139940364318403933">Pelajari cara menggunakan Google Drive</translation>
@@ -658,6 +658,7 @@
 <translation id="6177111841848151710">Diblokir untuk mesin telusur yang sedang digunakan</translation>
 <translation id="6177390657002841081">Mengaktifkan Penghemat Kuota Internet</translation>
 <translation id="6181444274883918285">Tambahkan pengecualian situs</translation>
+<translation id="618993374665929060">Lainnya, yang seperti ini dibuka dalam layar penuh</translation>
 <translation id="6192333916571137726">Download file</translation>
 <translation id="6192792657125177640">Pengecualian</translation>
 <translation id="6206551242102657620">Sambungan aman. Informasi situs</translation>
@@ -730,9 +731,11 @@
 <translation id="6697947395630195233">Chrome memerlukan akses ke lokasi Anda untuk berbagi lokasi dengan situs ini.</translation>
 <translation id="6698801883190606802">Kelola data yang disinkronkan</translation>
 <translation id="6710213216561001401">Sebelumnya</translation>
+<translation id="6712388303105732168">Lihat hal lain yang seperti ini dari Google menggunakan tombol Lainnya, Yang Seperti Ini</translation>
 <translation id="6738867403308150051">Mendownload…</translation>
 <translation id="6746124502594467657">Berpindah ke bawah</translation>
 <translation id="6762156594045689028">Untuk mengubah setelan ini, <ph name="BEGIN_LINK" />setel ulang sinkronisasi<ph name="END_LINK" /></translation>
+<translation id="6766622839693428701">Geser ke bawah untuk menutup.</translation>
 <translation id="6770414673596662518">Sistem Safe Browsing Chrome juga dapat digunakan untuk mendeteksi halaman berbahaya dan melindungi Anda dari phishing, software perusak, dan download berbahaya.</translation>
 <translation id="6776813977906306442">Download video untuk ditonton nanti menggunakan tombol Download</translation>
 <translation id="6790428901817661496">Putar</translation>
@@ -785,7 +788,9 @@
 <translation id="7121362699166175603">Menghapus histori dan pelengkapan otomatis di kolom URL. Akun Google Anda mungkin memiliki bentuk histori browsing lainnya di <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
 <translation id="7128222689758636196">Mengizinkan mesin telusur saat ini</translation>
 <translation id="7138678301420049075">Lainnya</translation>
+<translation id="7139148793369023665">Lainnya, yang seperti ini ditutup</translation>
 <translation id="7141896414559753902">Blokir situs agar tidak menampilkan pop-up dan pengalihan (disarankan)</translation>
+<translation id="7149158118503947153"><ph name="BEGIN_LINK" />Muat halaman asli<ph name="END_LINK" /> dari <ph name="DOMAIN_NAME" /></translation>
 <translation id="7149893636342594995">24 jam terakhir</translation>
 <translation id="7176368934862295254"><ph name="KILOBYTES" /> KB</translation>
 <translation id="7177466738963138057">Anda dapat mengubah ini nanti di Setelan</translation>
@@ -873,6 +878,7 @@
 <translation id="7846076177841592234">Batalkan pilihan</translation>
 <translation id="784934925303690534">Rentang waktu</translation>
 <translation id="7851858861565204677">Perangkat lain</translation>
+<translation id="7854964836418414587">Tutup Lainnya, yang seperti ini</translation>
 <translation id="7875915731392087153">Buat email</translation>
 <translation id="7876243839304621966">Hapus semua</translation>
 <translation id="7882131421121961860">Tidak ada histori</translation>
@@ -1000,7 +1006,6 @@
 <translation id="8912362522468806198">Akun Google</translation>
 <translation id="8920114477895755567">Menunggu detail orang tua.</translation>
 <translation id="8922289737868596582">Download halaman dari tombol opsi Lainnya untuk menggunakannya secara offline</translation>
-<translation id="8934029156920711950">Tap untuk melihat artikel yang dipilih khusus untuk Anda</translation>
 <translation id="8941729603749328384">www.example.com</translation>
 <translation id="8942627711005830162">Buka di jendela lain</translation>
 <translation id="8951232171465285730">Chrome telah menghemat <ph name="MEGABYTES" /> MB</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_it.xtb b/chrome/android/java/strings/translations/android_chrome_strings_it.xtb
index 875437f85..53562aa 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_it.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_it.xtb
@@ -15,7 +15,6 @@
 <translation id="1111673857033749125">I preferiti salvati sugli altri dispositivi verranno visualizzati qui.</translation>
 <translation id="1113597929977215864">Mostra la Visualizzazione semplificata</translation>
 <translation id="1121094540300013208">Rapporti sull'utilizzo e sugli arresti anomali</translation>
-<translation id="11221688409173367">Tocca il pulsante Home per visualizzare gli articoli selezionati appositamente per te</translation>
 <translation id="1129510026454351943">Dettagli: <ph name="ERROR_DESCRIPTION" /></translation>
 <translation id="1141800923049248244">{FILE_COUNT,plural, =1{1 download in attesa.}other{# download in attesa.}}</translation>
 <translation id="1145536944570833626">Elimina dati esistenti.</translation>
@@ -166,7 +165,6 @@
 <translation id="2154484045852737596">Modifica la carta</translation>
 <translation id="2154710561487035718">Copia URL</translation>
 <translation id="2156074688469523661">Siti rimanenti (<ph name="NUMBER_OF_SITES" />)</translation>
-<translation id="2184766556418880456">Tocca per andare alla pagina Nuova scheda nelle scheda corrente</translation>
 <translation id="2206488550163399966"><ph name="APP_NAME" />, app web. <ph name="APP_URL" /></translation>
 <translation id="2227444325776770048">Continua come <ph name="USER_FULL_NAME" /></translation>
 <translation id="2232379019872353004">Invia a Google alcune informazioni sul sistema e alcuni contenuti delle pagine</translation>
@@ -233,7 +231,6 @@
 <translation id="2709516037105925701">Compilazione automatica</translation>
 <translation id="271033894570825754">Nuovo</translation>
 <translation id="2728754400939377704">Ordina per sito</translation>
-<translation id="2736391366332017384">Tocca il pulsante Home per accedere alla pagina Nuova scheda nella scheda corrente</translation>
 <translation id="2744248271121720757">Tocca una parola per eseguire una ricerca immediata o visualizzare le azioni correlate</translation>
 <translation id="2762000892062317888">in questo istante</translation>
 <translation id="2777555524387840389"><ph name="SECONDS" /> sec rimanenti</translation>
@@ -344,6 +341,7 @@
 <translation id="3744111561329211289">Sincronizzazione in background</translation>
 <translation id="3773755127849930740"><ph name="BEGIN_LINK" />Attiva il Bluetooth<ph name="END_LINK" /> per consentire l'accoppiamento</translation>
 <translation id="3778956594442850293">Aggiunto alla schermata Home</translation>
+<translation id="3781011235031427080">Foglio Altri contenuti simili aperto nella metà inferiore dello schermo</translation>
 <translation id="3789841737615482174">Installa</translation>
 <translation id="3810838688059735925">Video</translation>
 <translation id="3810973564298564668">Gestisci</translation>
@@ -492,6 +490,7 @@
 <translation id="4913169188695071480">Interrompi aggiornamento</translation>
 <translation id="4915549754973153784"><ph name="BEGIN_LINK" />Richiedi assistenza<ph name="END_LINK" /> durante la ricerca di dispositivi…</translation>
 <translation id="4943872375798546930">Nessun risultato</translation>
+<translation id="4956460920135325549">Pagina Lite offerta da Google.</translation>
 <translation id="4958708863221495346"><ph name="URL_OF_THE_CURRENT_TAB" /> sta condividendo il tuo schermo</translation>
 <translation id="4961334780091921942">Le tue password, la tua cronologia e altro su tutti i tuoi dispositivi</translation>
 <translation id="4961700429721424617">Stai per uscire da un account gestito da <ph name="MANAGED_DOMAIN" />. I dati di Chrome verranno eliminati da questo dispositivo, ma rimarranno memorizzati nel tuo account Google.</translation>
@@ -511,6 +510,7 @@
 <translation id="5087580092889165836">Aggiungi carta</translation>
 <translation id="5100237604440890931">Compresso. Fai clic per espandere.</translation>
 <translation id="510275257476243843">1 ora rimanente</translation>
+<translation id="5123685120097942451">Scheda di navigazione in incognito</translation>
 <translation id="5127805178023152808">La sincronizzazione è disattivata</translation>
 <translation id="5129038482087801250">Installa app web</translation>
 <translation id="5139940364318403933">Impara a utilizzare Google Drive</translation>
@@ -658,6 +658,7 @@
 <translation id="6177111841848151710">Bloccata per il motore di ricerca corrente</translation>
 <translation id="6177390657002841081">Attiva Risparmio dati</translation>
 <translation id="6181444274883918285">Aggiungi eccezione per un sito</translation>
+<translation id="618993374665929060">Foglio Altri contenuti simili aperto a schermo intero</translation>
 <translation id="6192333916571137726">Scarica file</translation>
 <translation id="6192792657125177640">Eccezioni</translation>
 <translation id="6206551242102657620">La connessione è sicura. Informazioni sul sito</translation>
@@ -730,9 +731,11 @@
 <translation id="6697947395630195233">Chrome deve poter accedere alla tua posizione per condividerla con questo sito.</translation>
 <translation id="6698801883190606802">Gestisci dati sincronizzati</translation>
 <translation id="6710213216561001401">Indietro</translation>
+<translation id="6712388303105732168">Scopri altre pagine simili di Google usando il pulsante Altri contenuti simili</translation>
 <translation id="6738867403308150051">Download in corso…</translation>
 <translation id="6746124502594467657">Sposta giù</translation>
 <translation id="6762156594045689028">Per modificare questa impostazione, <ph name="BEGIN_LINK" />reimposta la sincronizzazione<ph name="END_LINK" /></translation>
+<translation id="6766622839693428701">Fai scorrere verso il basso per chiudere.</translation>
 <translation id="6770414673596662518">Il sistema Navigazione sicura di Chrome verrà utilizzato anche per rilevare pagine dannose e proteggerti da phishing, malware e download pericolosi.</translation>
 <translation id="6776813977906306442">Usa il pulsante di download per scaricare video da guardare in seguito.</translation>
 <translation id="6790428901817661496">Play</translation>
@@ -785,7 +788,9 @@
 <translation id="7121362699166175603">Consente di cancellare la cronologia e i completamenti automatici nella barra degli indirizzi. Il tuo account Google potrebbe avere altri tipi di cronologia di navigazione all'indirizzo <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
 <translation id="7128222689758636196">Consenti motore di ricerca corrente</translation>
 <translation id="7138678301420049075">Altro</translation>
+<translation id="7139148793369023665">Foglio Altri contenuti simili chiuso</translation>
 <translation id="7141896414559753902">Impedisci ai siti di mostrare popup e reindirizzamenti (opzione consigliata)</translation>
+<translation id="7149158118503947153"><ph name="BEGIN_LINK" />Carica la pagina originale<ph name="END_LINK" /> da <ph name="DOMAIN_NAME" /></translation>
 <translation id="7149893636342594995">Ultimo giorno</translation>
 <translation id="7176368934862295254"><ph name="KILOBYTES" /> kB</translation>
 <translation id="7177466738963138057">Puoi cambiarlo in un secondo momento nelle Impostazioni</translation>
@@ -873,6 +878,7 @@
 <translation id="7846076177841592234">Annulla selezione</translation>
 <translation id="784934925303690534">Intervallo di tempo</translation>
 <translation id="7851858861565204677">Altri dispositivi</translation>
+<translation id="7854964836418414587">Chiudi il foglio Altri contenuti simili</translation>
 <translation id="7875915731392087153">Crea email</translation>
 <translation id="7876243839304621966">Rimuovi tutto</translation>
 <translation id="7882131421121961860">Nessuna cronologia trovata</translation>
@@ -1000,7 +1006,6 @@
 <translation id="8912362522468806198">Google Account</translation>
 <translation id="8920114477895755567">In attesa dei dettagli sui genitori.</translation>
 <translation id="8922289737868596582">Usa il pulsante Altre opzioni per scaricare le pagine da usare offline</translation>
-<translation id="8934029156920711950">Tocca per visualizzare gli articoli selezionati appositamente per te</translation>
 <translation id="8941729603749328384">www.example.com</translation>
 <translation id="8942627711005830162">Apri nell'altra finestra</translation>
 <translation id="8951232171465285730">Chrome ti ha fatto risparmiare <ph name="MEGABYTES" /> MB</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_iw.xtb b/chrome/android/java/strings/translations/android_chrome_strings_iw.xtb
index f732dcf..c7c6bb5 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_iw.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_iw.xtb
@@ -15,7 +15,6 @@
 <translation id="1111673857033749125">סימניות שנשמרו במכשירים האחרים שלך יופיעו כאן.</translation>
 <translation id="1113597929977215864">צפייה בתצוגה נקייה</translation>
 <translation id="1121094540300013208">דוחות קריסה ושימוש</translation>
-<translation id="11221688409173367">הקשה על לחצן הבית תציג מאמרים שנבחרו במיוחד בשבילך</translation>
 <translation id="1129510026454351943">פרטים: <ph name="ERROR_DESCRIPTION" /></translation>
 <translation id="1141800923049248244">{FILE_COUNT,plural, =1{הורדה אחת בהמתנה.}two{# הורדות בהמתנה.}many{# הורדות בהמתנה.}other{# הורדות בהמתנה.}}</translation>
 <translation id="1145536944570833626">מחק נתונים קיימים.</translation>
@@ -166,7 +165,6 @@
 <translation id="2154484045852737596">עריכת כרטיס</translation>
 <translation id="2154710561487035718">העתק כתובת אתר</translation>
 <translation id="2156074688469523661">אתרים שנותרו (<ph name="NUMBER_OF_SITES" />)</translation>
-<translation id="2184766556418880456">הקשה תציג בכרטיסייה הנוכחית את דף הכרטיסייה החדשה</translation>
 <translation id="2206488550163399966"><ph name="APP_NAME" />, אפליקציית אינטרנט. <ph name="APP_URL" /></translation>
 <translation id="2227444325776770048">המשך בשם <ph name="USER_FULL_NAME" /></translation>
 <translation id="2232379019872353004">‏שליחת חלק מפרטי המערכת ותוכן הדף אל Google</translation>
@@ -233,7 +231,6 @@
 <translation id="2709516037105925701">מילוי אוטומטי</translation>
 <translation id="271033894570825754">חדש</translation>
 <translation id="2728754400939377704">מיון לפי אתר</translation>
-<translation id="2736391366332017384">הקשה על לחצן הבית תציג בכרטיסייה הנוכחית את דף הכרטיסייה החדשה</translation>
 <translation id="2744248271121720757">כדי לחפש באופן מיידי או לראות פעולות קשורות, צריך להקיש על מילה</translation>
 <translation id="2762000892062317888">ברגע זה</translation>
 <translation id="2777555524387840389">נותרו <ph name="SECONDS" /> שניות</translation>
@@ -344,6 +341,7 @@
 <translation id="3744111561329211289">סינכרון ברקע</translation>
 <translation id="3773755127849930740">‏<ph name="BEGIN_LINK" />הפעל את Bluetooth<ph name="END_LINK" /> כדי לאפשר התאמה</translation>
 <translation id="3778956594442850293">נוסף למסך דף הבית</translation>
+<translation id="3781011235031427080">'עוד דברים דומים' נפתח בחצי מהגובה</translation>
 <translation id="3789841737615482174">התקן</translation>
 <translation id="3810838688059735925">וידאו</translation>
 <translation id="3810973564298564668">נהל</translation>
@@ -492,6 +490,7 @@
 <translation id="4913169188695071480">הפסק לרענן</translation>
 <translation id="4915549754973153784"><ph name="BEGIN_LINK" />קבל עזרה<ph name="END_LINK" /> בזמן חיפוש התקנים…</translation>
 <translation id="4943872375798546930">אין תוצאות</translation>
+<translation id="4956460920135325549">‏הדף בגרסה בסיסית נוצר על-ידי Google.</translation>
 <translation id="4958708863221495346"><ph name="URL_OF_THE_CURRENT_TAB" /> משתף את המסך שלך</translation>
 <translation id="4961334780091921942">גישה אל הסיסמאות, ההיסטוריה ונתונים נוספים בכל המכשירים</translation>
 <translation id="4961700429721424617">‏אתה יוצא מחשבון המנוהל על-ידי <ph name="MANAGED_DOMAIN" />. פעולה זו תמחק את הנתונים שלך ב-Chrome מהמכשיר הזה, אבל הם יישארו בחשבון Google שלך.</translation>
@@ -511,6 +510,7 @@
 <translation id="5087580092889165836">הוסף כרטיס</translation>
 <translation id="5100237604440890931">מכווץ - לחץ כדי להרחיב.</translation>
 <translation id="510275257476243843">נותרה שעה אחת</translation>
+<translation id="5123685120097942451">כרטיסיית גלישה בסתר</translation>
 <translation id="5127805178023152808">סנכרון כבוי</translation>
 <translation id="5129038482087801250">התקן אפליקציית אינטרנט</translation>
 <translation id="5139940364318403933">‏איך משתמשים ב-Google Drive</translation>
@@ -635,6 +635,7 @@
 <translation id="5956665950594638604">‏פתח את מרכז העזרה של Chrome בכרטיסייה חדשה</translation>
 <translation id="5958275228015807058">מצא את הקבצים והדפים שלך ב'הורדות'</translation>
 <translation id="5962718611393537961">הקש כדי לכווץ</translation>
+<translation id="5990142338020175451">‏שירותי Google בהתאמה אישית יותר, כמו הצעות טובות יותר לדפים</translation>
 <translation id="6000066717592683814">‏המשך להשתמש ב-Google</translation>
 <translation id="6005538289190791541">הצעה לסיסמה</translation>
 <translation id="6039379616847168523">עבור לכרטיסייה הבאה</translation>
@@ -657,6 +658,7 @@
 <translation id="6177111841848151710">חסוּם למנוע החיפוש הנוכחי</translation>
 <translation id="6177390657002841081">‏הפעל את חוסך הנתונים (Data Saver)</translation>
 <translation id="6181444274883918285">הוסף חריג של אתר</translation>
+<translation id="618993374665929060">'עוד דברים דומים' נפתח בגובה מלא</translation>
 <translation id="6192333916571137726">קובץ הורדה</translation>
 <translation id="6192792657125177640">יוצאי דופן</translation>
 <translation id="6206551242102657620">החיבור מאובטח. פרטי האתר</translation>
@@ -729,9 +731,11 @@
 <translation id="6697947395630195233">‏Chrome זקוק לגישה אל המיקום שלך כדי לשתף אותו עם האתר הזה.</translation>
 <translation id="6698801883190606802">נהל נתונים מסונכרנים</translation>
 <translation id="6710213216561001401">הקודם</translation>
+<translation id="6712388303105732168">‏כדי ש-Google תציע עוד דברים כאלה יש ללחוץ על הלחצן 'עוד דברים כאלה'</translation>
 <translation id="6738867403308150051">מוריד...</translation>
 <translation id="6746124502594467657">הזז למטה</translation>
 <translation id="6762156594045689028"><ph name="BEGIN_LINK" />אפס את הסינכרון<ph name="END_LINK" /> כדי לשנות את ההגדרה הזו</translation>
+<translation id="6766622839693428701">החלקה מטה סוגרת.</translation>
 <translation id="6770414673596662518">‏מערכת הגלישה הבטוחה של Chrome תשמש גם לזיהוי דפים זדוניים ולהגנה עליך מפני דיוג, תוכנות זדוניות והורדות של קבצים מזיקים.</translation>
 <translation id="6776813977906306442">אפשר ללחוץ על לחצן ההורדה כדי להוריד סרטונים ולצפות בהם מאוחר יותר</translation>
 <translation id="6790428901817661496">הפעל</translation>
@@ -784,7 +788,9 @@
 <translation id="7121362699166175603">‏ניקוי ההיסטוריה וההשלמות האוטומטיות בסרגל הכתובות. ייתכן שלחשבון Google שלך יהיו צורות אחרות של היסטוריית גלישה בכתובת <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
 <translation id="7128222689758636196">התר למנוע החיפוש הנוכחי</translation>
 <translation id="7138678301420049075">אחר</translation>
+<translation id="7139148793369023665">'עוד דברים כאלה' נסגר</translation>
 <translation id="7141896414559753902">חסימה של חלונות קופצים והפניות אוטומטיות באתרים (מומלץ)</translation>
+<translation id="7149158118503947153"><ph name="BEGIN_LINK" />טעינת הדף המקורי<ph name="END_LINK" /> מ-<ph name="DOMAIN_NAME" /></translation>
 <translation id="7149893636342594995">מהיום האחרון</translation>
 <translation id="7176368934862295254"><ph name="KILOBYTES" /> KB</translation>
 <translation id="7177466738963138057">אפשר לשנות את ההגדרה הזו מאוחר יותר ב'הגדרות'</translation>
@@ -872,6 +878,7 @@
 <translation id="7846076177841592234">בטל את הבחירה</translation>
 <translation id="784934925303690534">טווח זמן</translation>
 <translation id="7851858861565204677">מכשירים אחרים</translation>
+<translation id="7854964836418414587">סגירת 'עוד דברים כאלה'</translation>
 <translation id="7875915731392087153">צור הודעת אימייל</translation>
 <translation id="7876243839304621966">הסר הכל</translation>
 <translation id="7882131421121961860">לא נמצאה היסטוריה</translation>
@@ -997,7 +1004,6 @@
 <translation id="8912362522468806198">‏חשבון Google</translation>
 <translation id="8920114477895755567">ממתין לפרטי ההורים.</translation>
 <translation id="8922289737868596582">כדי להשתמש בדפים במצב לא מקוון, אפשר להוריד אותם דרך הלחצן 'אפשרויות נוספות'</translation>
-<translation id="8934029156920711950">הקשה תציג מאמרים שנבחרו במיוחד בשבילך</translation>
 <translation id="8941729603749328384">www.example.com</translation>
 <translation id="8942627711005830162">פתח בחלון האחר</translation>
 <translation id="8951232171465285730">‏Chrome חסך לך ‎<ph name="MEGABYTES" /> MB</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_ja.xtb b/chrome/android/java/strings/translations/android_chrome_strings_ja.xtb
index 45f69dd..aca4ed7e 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_ja.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_ja.xtb
@@ -15,7 +15,6 @@
 <translation id="1111673857033749125">他の端末に保存されているブックマークがここに表示されます。</translation>
 <translation id="1113597929977215864">簡易表示する</translation>
 <translation id="1121094540300013208">利用状況と障害レポート</translation>
-<translation id="11221688409173367">おすすめの記事を表示するにはホームボタンをタップします</translation>
 <translation id="1129510026454351943">詳細: <ph name="ERROR_DESCRIPTION" /></translation>
 <translation id="1141800923049248244">{FILE_COUNT,plural, =1{1 件のダウンロードが保留中です。}other{# 件のダウンロードが保留中です。}}</translation>
 <translation id="1145536944570833626">既存のデータを削除します。</translation>
@@ -166,7 +165,6 @@
 <translation id="2154484045852737596">カードを編集</translation>
 <translation id="2154710561487035718">URL をコピー</translation>
 <translation id="2156074688469523661">その他のサイト(<ph name="NUMBER_OF_SITES" /> 件)</translation>
-<translation id="2184766556418880456">タップすると現在のタブに新しいタブの画面が読み込まれます</translation>
 <translation id="2206488550163399966"><ph name="APP_NAME" /> はウェブアプリです(<ph name="APP_URL" />)。</translation>
 <translation id="2227444325776770048"><ph name="USER_FULL_NAME" /> として続行</translation>
 <translation id="2232379019872353004">一部のシステム情報とページのコンテンツを Google に送信します</translation>
@@ -233,7 +231,6 @@
 <translation id="2709516037105925701">自動入力</translation>
 <translation id="271033894570825754">新しいファイル</translation>
 <translation id="2728754400939377704">サイトで並べ替え</translation>
-<translation id="2736391366332017384">現在のタブに新しいタブの画面を読み込むには、ホームボタンをタップします</translation>
 <translation id="2744248271121720757">単語をタップすると、検索をすばやく実行したり、関連する操作メニューを確認したりできます</translation>
 <translation id="2762000892062317888">たった今</translation>
 <translation id="2777555524387840389">残り <ph name="SECONDS" /> 秒</translation>
@@ -635,6 +632,7 @@
 <translation id="5956665950594638604">Chrome ヘルプセンターを新しいタブで開く</translation>
 <translation id="5958275228015807058">[ダウンロード] で自分のファイルやページを探すことができます</translation>
 <translation id="5962718611393537961">タップして折りたたむ</translation>
+<translation id="5990142338020175451">おすすめのページなど、カスタマイズされた Google サービスを利用できます</translation>
 <translation id="6000066717592683814">Google のままにする</translation>
 <translation id="6005538289190791541">推奨パスワード</translation>
 <translation id="6039379616847168523">次のタブに移動する</translation>
@@ -999,7 +997,6 @@
 <translation id="8912362522468806198">Google アカウントを使用</translation>
 <translation id="8920114477895755567">保護者の情報を待っています。</translation>
 <translation id="8922289737868596582">[その他のオプション] からページをダウンロードするとオフラインで使用できるようになります</translation>
-<translation id="8934029156920711950">タップするとおすすめの記事が表示されます</translation>
 <translation id="8941729603749328384">www.example.com</translation>
 <translation id="8942627711005830162">別のウィンドウで開く</translation>
 <translation id="8951232171465285730">Chrome で <ph name="MEGABYTES" /> MB の容量を節約しました</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_ko.xtb b/chrome/android/java/strings/translations/android_chrome_strings_ko.xtb
index 7fd43139..83355db 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_ko.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_ko.xtb
@@ -15,7 +15,6 @@
 <translation id="1111673857033749125">다른 기기에서 저장한 북마크가 여기에 표시됩니다.</translation>
 <translation id="1113597929977215864">간단히 보기 표시</translation>
 <translation id="1121094540300013208">사용 및 비정상 종료 보고서</translation>
-<translation id="11221688409173367">홈 버튼을 탭하여 나를 위해 맞춤 선정된 기사를 확인하세요.</translation>
 <translation id="1129510026454351943">세부정보: <ph name="ERROR_DESCRIPTION" /></translation>
 <translation id="1141800923049248244">{FILE_COUNT,plural, =1{다운로드 1개 대기 중}other{다운로드 #개 대기 중}}</translation>
 <translation id="1145536944570833626">기존 데이터 삭제</translation>
@@ -166,7 +165,6 @@
 <translation id="2154484045852737596">카드 수정</translation>
 <translation id="2154710561487035718">URL 복사</translation>
 <translation id="2156074688469523661">남은 사이트(<ph name="NUMBER_OF_SITES" />개)</translation>
-<translation id="2184766556418880456">탭하여 현재 탭에서 새 탭 페이지로 이동하세요.</translation>
 <translation id="2206488550163399966"><ph name="APP_NAME" />, 웹 앱. <ph name="APP_URL" /></translation>
 <translation id="2227444325776770048"><ph name="USER_FULL_NAME" />(으)로 계속</translation>
 <translation id="2232379019872353004">일부 시스템 정보와 페이지 콘텐츠를 Google로 전송</translation>
@@ -233,7 +231,6 @@
 <translation id="2709516037105925701">자동 완성</translation>
 <translation id="271033894570825754">새 파일</translation>
 <translation id="2728754400939377704">사이트별 정렬</translation>
-<translation id="2736391366332017384">홈 버튼을 탭하여 현재 탭에서 새 탭 페이지로 이동하세요.</translation>
 <translation id="2744248271121720757">단어를 탭하여 즉시 검색하거나 관련 작업을 확인하세요</translation>
 <translation id="2762000892062317888">방금 전</translation>
 <translation id="2777555524387840389"><ph name="SECONDS" />초 남음</translation>
@@ -1000,7 +997,6 @@
 <translation id="8912362522468806198">Google 계정</translation>
 <translation id="8920114477895755567">부모님의 세부정보를 기다리는 중</translation>
 <translation id="8922289737868596582">옵션 더보기 버튼을 눌러 페이지를 다운로드하여 오프라인에서 사용하세요.</translation>
-<translation id="8934029156920711950">탭하여 나를 위해 맞춤 선정된 기사를 확인하세요.</translation>
 <translation id="8941729603749328384">www.example.com</translation>
 <translation id="8942627711005830162">다른 창에서 열기</translation>
 <translation id="8951232171465285730">Chrome을 통해 <ph name="MEGABYTES" />MB를 절약했습니다.</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_lt.xtb b/chrome/android/java/strings/translations/android_chrome_strings_lt.xtb
index 8cbc9c0..30beb50 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_lt.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_lt.xtb
@@ -15,7 +15,6 @@
 <translation id="1111673857033749125">Čia bus rodomos kituose įrenginiuose išsaugotos žymės.</translation>
 <translation id="1113597929977215864">Rodyti supaprastintą rodinį</translation>
 <translation id="1121094540300013208">Naudojimo ir strigčių ataskaitos</translation>
-<translation id="11221688409173367">Norėdami peržiūrėti specialiai jums parinktus straipsnius, palieskite pagrindinio ekrano mygtuką</translation>
 <translation id="1129510026454351943">Išsami informacija: <ph name="ERROR_DESCRIPTION" /></translation>
 <translation id="1141800923049248244">{FILE_COUNT,plural, =1{Laukiama 1 atsisiuntimo.}one{Laukiama # atsisiuntimo.}few{Laukiama # atsisiuntimų.}many{Laukiama # atsisiuntimo.}other{Laukiama # atsisiuntimų.}}</translation>
 <translation id="1145536944570833626">Ištrinti esamus duomenis.</translation>
@@ -166,7 +165,6 @@
 <translation id="2154484045852737596">Kortelės informacijos redagavimas</translation>
 <translation id="2154710561487035718">Kopijuoti URL adresą</translation>
 <translation id="2156074688469523661">Likusios svetainės (<ph name="NUMBER_OF_SITES" />)</translation>
-<translation id="2184766556418880456">Norėdami pasiekti naujo skirtuko puslapį dabartiniame skirtuke, palieskite pagrindinio ekrano mygtuką</translation>
 <translation id="2206488550163399966">„<ph name="APP_NAME" />“, žiniatinklio programa. <ph name="APP_URL" /></translation>
 <translation id="2227444325776770048">Tęsti kaip <ph name="USER_FULL_NAME" /></translation>
 <translation id="2232379019872353004">Siunčia tam tikrą sistemos informaciją ir puslapio turinį „Google“</translation>
@@ -233,7 +231,6 @@
 <translation id="2709516037105925701">Automatinis pildymas</translation>
 <translation id="271033894570825754">Naujiena</translation>
 <translation id="2728754400939377704">Rūšiuoti pagal svetainę</translation>
-<translation id="2736391366332017384">Norėdami pasiekti naujo skirtuko puslapį dabartiniame skirtuke, palieskite pagrindinio ekrano mygtuką</translation>
 <translation id="2744248271121720757">Palieskite žodį ir ieškokite akimirksniu arba peržiūrėkite susijusius veiksmus</translation>
 <translation id="2762000892062317888">ką tik</translation>
 <translation id="2777555524387840389">Liko <ph name="SECONDS" /> sek.</translation>
@@ -1000,7 +997,6 @@
 <translation id="8912362522468806198">„Google“ paskyra</translation>
 <translation id="8920114477895755567">Laukiama išsamios tėvų informacijos.</translation>
 <translation id="8922289737868596582">Atsisiųskite puslapius spustelėję mygtuką „Daugiau parinkčių“, kad galėtumėte naudoti juos neprisijungę</translation>
-<translation id="8934029156920711950">Norėdami peržiūrėti specialiai jums parinktus straipsnius, palieskite pagrindinio ekrano mygtuką</translation>
 <translation id="8941729603749328384">www.example.com</translation>
 <translation id="8942627711005830162">Atidaryti kitame lange</translation>
 <translation id="8951232171465285730">„Chrome“ sutaupė jums <ph name="MEGABYTES" /> MB</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_lv.xtb b/chrome/android/java/strings/translations/android_chrome_strings_lv.xtb
index ce527a2..1cde276 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_lv.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_lv.xtb
@@ -15,7 +15,6 @@
 <translation id="1111673857033749125">Šeit būs redzamas grāmatzīmes, kuras esat saglabājis citās ierīcēs.</translation>
 <translation id="1113597929977215864">Rādīt vienkāršoto skatu</translation>
 <translation id="1121094540300013208">Lietojuma un avāriju pārskati</translation>
-<translation id="11221688409173367">Lai skatītu tieši jums atlasītos rakstus, pieskarieties pogai Sākums.</translation>
 <translation id="1129510026454351943">Informācija: <ph name="ERROR_DESCRIPTION" /></translation>
 <translation id="1141800923049248244">{FILE_COUNT,plural, =1{1 neapstiprināta lejupielāde.}zero{# neapstiprinātu lejupielāžu.}one{# neapstiprināta lejupielāde.}other{# neapstiprinātas lejupielādes.}}</translation>
 <translation id="1145536944570833626">Dzēst esošos datus.</translation>
@@ -166,7 +165,6 @@
 <translation id="2154484045852737596">Kartes informācijas rediģēšana</translation>
 <translation id="2154710561487035718">Kopēt URL</translation>
 <translation id="2156074688469523661">Pārējās vietnes (<ph name="NUMBER_OF_SITES" />)</translation>
-<translation id="2184766556418880456">Pieskarieties, lai pašreizējā cilnē pārietu uz jaunas cilnes lapu.</translation>
 <translation id="2206488550163399966">Tīmekļa lietotne <ph name="APP_NAME" />. <ph name="APP_URL" /></translation>
 <translation id="2227444325776770048">Turpināt kā: <ph name="USER_FULL_NAME" /></translation>
 <translation id="2232379019872353004">Pārsūta noteiktu sistēmas informāciju un lapas saturu Google serveriem</translation>
@@ -233,7 +231,6 @@
 <translation id="2709516037105925701">Automātiskā aizpilde</translation>
 <translation id="271033894570825754">Jauns</translation>
 <translation id="2728754400939377704">Kārtot pēc vietnes</translation>
-<translation id="2736391366332017384">Lai pašreizējā cilnē pārietu uz jaunas cilnes lapu, pieskarieties pogai Sākums.</translation>
 <translation id="2744248271121720757">Pieskarieties vārdam, lai meklētu tūlīt vai skatītu saistītas darbības.</translation>
 <translation id="2762000892062317888">tikko</translation>
 <translation id="2777555524387840389">Atlikušas <ph name="SECONDS" /> s</translation>
@@ -344,6 +341,7 @@
 <translation id="3744111561329211289">Sinhronizācija fonā</translation>
 <translation id="3773755127849930740">Lai atļautu savienošanu pārī, <ph name="BEGIN_LINK" />ieslēdziet Bluetooth<ph name="END_LINK" />.</translation>
 <translation id="3778956594442850293">Pievienots sākuma ekrānam</translation>
+<translation id="3781011235031427080">Līdzīgi vienumi atvērti pusekrāna augstumā</translation>
 <translation id="3789841737615482174">Instalēt</translation>
 <translation id="3810838688059735925">Video</translation>
 <translation id="3810973564298564668">Pārvaldīt</translation>
@@ -492,6 +490,7 @@
 <translation id="4913169188695071480">Pārtraukt atsvaidzināšanu</translation>
 <translation id="4915549754973153784"><ph name="BEGIN_LINK" />Saņemiet palīdzību<ph name="END_LINK" />, meklējot ierīces…</translation>
 <translation id="4943872375798546930">Nav rezultātu</translation>
+<translation id="4956460920135325549">Vienkāršota lapa, ko nodrošina Google.</translation>
 <translation id="4958708863221495346"><ph name="URL_OF_THE_CURRENT_TAB" /> kopīgo jūsu ekrānu</translation>
 <translation id="4961334780091921942">Jūsu paroles, vēstures un cita informācijas sinhronizēšana visās jūsu ierīcēs</translation>
 <translation id="4961700429721424617">Jūs izrakstāties no konta, kas tiek pārvaldīts domēnā <ph name="MANAGED_DOMAIN" />. Izrakstoties jūsu Chrome dati tiks dzēsti no šīs ierīces, taču tie paliks jūsu Google kontā.</translation>
@@ -511,6 +510,7 @@
 <translation id="5087580092889165836">Pievienot karti</translation>
 <translation id="5100237604440890931">Sakļauts — noklikšķiniet, lai izvērstu.</translation>
 <translation id="510275257476243843">Atlikusi 1 h</translation>
+<translation id="5123685120097942451">Inkognito cilne</translation>
 <translation id="5127805178023152808">Sinhronizācija izslēgta</translation>
 <translation id="5129038482087801250">Instalēt tīmekļa lietotni</translation>
 <translation id="5139940364318403933">Uzzināt, kā izmantot Google disku</translation>
@@ -658,6 +658,7 @@
 <translation id="6177111841848151710">Bloķēta pašreizējai meklētājprogrammai</translation>
 <translation id="6177390657002841081">Ieslēgt Datu lietojuma samazinātāju</translation>
 <translation id="6181444274883918285">Pievienot vietnes izņēmumu</translation>
+<translation id="618993374665929060">Līdzīgi vienumi atvērti pilnā augstumā</translation>
 <translation id="6192333916571137726">Lejupielāde fails</translation>
 <translation id="6192792657125177640">Izņēmumi</translation>
 <translation id="6206551242102657620">Savienojums ir drošs. Vietnes informācija</translation>
@@ -730,9 +731,11 @@
 <translation id="6697947395630195233">Pārlūkam Chrome ir nepieciešama piekļuve jūsu atrašanās vietas datiem, lai varētu tos kopīgot ar šo vietni.</translation>
 <translation id="6698801883190606802">Pārvaldīt sinhronizētos datus</translation>
 <translation id="6710213216561001401">Iepriekšējais</translation>
+<translation id="6712388303105732168">Skatīt līdzīgus Google ieteikumus, izmantojot pogu Līdzīgi vienumi</translation>
 <translation id="6738867403308150051">Notiek lejupielāde…</translation>
 <translation id="6746124502594467657">Pārvietot uz leju</translation>
 <translation id="6762156594045689028">Lai mainītu šo iestatījumu, <ph name="BEGIN_LINK" />atiestatiet sinhronizāciju<ph name="END_LINK" />.</translation>
+<translation id="6766622839693428701">Velciet uz leju, lai aizvērtu.</translation>
 <translation id="6770414673596662518">Chrome sistēma Droša pārlūkošana tiks arī izmantota, lai noteiktu ļaunprātīgas lapas un pasargātu jūs no pikšķerēšanas, ļaunprātīgas programmatūras un kaitīgu failu lejupielādes.</translation>
 <translation id="6776813977906306442">Nospiediet pogu Lejupielādēt, lai lejupielādētu videoklipus un tos skatītos vēlāk.</translation>
 <translation id="6790428901817661496">Atskaņot</translation>
@@ -785,7 +788,9 @@
 <translation id="7121362699166175603">Notīra vēsturi un automātiskās pabeigšanas datus adreses joslā. Jūsu Google kontam var būt cita veida pārlūkošanas vēstures dati vietnē <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
 <translation id="7128222689758636196">Atļaut pašreizējai meklētājprogrammai</translation>
 <translation id="7138678301420049075">Cits</translation>
+<translation id="7139148793369023665">Līdzīgi vienumi aizvērti</translation>
 <translation id="7141896414559753902">Neļaut vietnēm novirzīt un rādīt uznirstošos elementus (ieteicams)</translation>
+<translation id="7149158118503947153"><ph name="BEGIN_LINK" />Ielādēt sākotnējo lapu<ph name="END_LINK" /> no <ph name="DOMAIN_NAME" /></translation>
 <translation id="7149893636342594995">Pēdējās 24 stundas</translation>
 <translation id="7176368934862295254"><ph name="KILOBYTES" /> KB</translation>
 <translation id="7177466738963138057">Vēlāk varēsiet to mainīt iestatījumos</translation>
@@ -873,6 +878,7 @@
 <translation id="7846076177841592234">Atcelt atlasi</translation>
 <translation id="784934925303690534">Laika periods</translation>
 <translation id="7851858861565204677">Citas ierīces</translation>
+<translation id="7854964836418414587">Aizvērt līdzīgus vienumus</translation>
 <translation id="7875915731392087153">Izveidojiet e-pasta ziņojumu.</translation>
 <translation id="7876243839304621966">Noņemt visu</translation>
 <translation id="7882131421121961860">Vēsture nav atrasta</translation>
@@ -1000,7 +1006,6 @@
 <translation id="8912362522468806198">Google konts</translation>
 <translation id="8920114477895755567">Gaida vecāku informāciju.</translation>
 <translation id="8922289737868596582">Izmantojiet pogu Vairāk opciju, lai lejupielādētu lapas un piekļūtu tām bezsaistē</translation>
-<translation id="8934029156920711950">Pieskarieties, lai skatītu tieši jums atlasītos rakstus.</translation>
 <translation id="8941729603749328384">www.example.com</translation>
 <translation id="8942627711005830162">Atvērt citā logā</translation>
 <translation id="8951232171465285730">Pārlūkā Chrome esat ietaupījis <ph name="MEGABYTES" /> MB.</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_nl.xtb b/chrome/android/java/strings/translations/android_chrome_strings_nl.xtb
index 934b768..17d5708 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_nl.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_nl.xtb
@@ -15,7 +15,6 @@
 <translation id="1111673857033749125">Bladwijzers die je op andere apparaten hebt opgeslagen, worden hier weergegeven.</translation>
 <translation id="1113597929977215864">Vereenvoudigde weergave tonen</translation>
 <translation id="1121094540300013208">Gebruiks- en crashrapporten</translation>
-<translation id="11221688409173367">Tik op de startknop om de speciaal voor jou geselecteerde artikelen te bekijken</translation>
 <translation id="1129510026454351943">Details: <ph name="ERROR_DESCRIPTION" /></translation>
 <translation id="1141800923049248244">{FILE_COUNT,plural, =1{1 download in behandeling.}other{# downloads in behandeling.}}</translation>
 <translation id="1145536944570833626">Bestaande gegevens verwijderen.</translation>
@@ -166,7 +165,6 @@
 <translation id="2154484045852737596">Kaart bewerken</translation>
 <translation id="2154710561487035718">URL kopiëren</translation>
 <translation id="2156074688469523661">Resterende sites (<ph name="NUMBER_OF_SITES" />)</translation>
-<translation id="2184766556418880456">Tik om op je huidige tabblad naar de nieuwe tabbladpagina te gaan</translation>
 <translation id="2206488550163399966"><ph name="APP_NAME" />, webapp. <ph name="APP_URL" /></translation>
 <translation id="2227444325776770048">Doorgaan als <ph name="USER_FULL_NAME" /></translation>
 <translation id="2232379019872353004">Hiermee verzend je bepaalde systeeminformatie en paginacontent naar Google</translation>
@@ -233,7 +231,6 @@
 <translation id="2709516037105925701">Automatisch aanvullen</translation>
 <translation id="271033894570825754">Nieuw</translation>
 <translation id="2728754400939377704">Sorteren op site</translation>
-<translation id="2736391366332017384">Tik op de startknop om op je huidige tabblad naar de nieuwe tabbladpagina te gaan</translation>
 <translation id="2744248271121720757">Tik op een woord om meteen te zoeken of gerelateerde acties te bekijken</translation>
 <translation id="2762000892062317888">zojuist</translation>
 <translation id="2777555524387840389"><ph name="SECONDS" /> seconden resterend</translation>
@@ -344,6 +341,7 @@
 <translation id="3744111561329211289">Synchronisatie op de achtergrond</translation>
 <translation id="3773755127849930740"><ph name="BEGIN_LINK" />Schakel Bluetooth in<ph name="END_LINK" /> om te koppelen</translation>
 <translation id="3778956594442850293">Toegevoegd aan startscherm</translation>
+<translation id="3781011235031427080">'Meer zoals dit' geopend op halve hoogte</translation>
 <translation id="3789841737615482174">Installeren</translation>
 <translation id="3810838688059735925">Videobestanden</translation>
 <translation id="3810973564298564668">Beheren</translation>
@@ -492,6 +490,7 @@
 <translation id="4913169188695071480">Vernieuwen stopzetten</translation>
 <translation id="4915549754973153784"><ph name="BEGIN_LINK" />Hulp<ph name="END_LINK" /> bij het zoeken naar apparaten…</translation>
 <translation id="4943872375798546930">Geen resultaten</translation>
+<translation id="4956460920135325549">Lite-pagina geleverd door Google.</translation>
 <translation id="4958708863221495346"><ph name="URL_OF_THE_CURRENT_TAB" /> heeft toegang tot je scherm</translation>
 <translation id="4961334780091921942">Je wachtwoorden, geschiedenis en meer op al je apparaten</translation>
 <translation id="4961700429721424617">Je logt uit van een account dat wordt beheerd door <ph name="MANAGED_DOMAIN" />. Hierdoor worden je Chrome-gegevens verwijderd van dit apparaat. Je gegevens blijven echter opgeslagen in je Google-account.</translation>
@@ -511,6 +510,7 @@
 <translation id="5087580092889165836">Kaart toevoegen</translation>
 <translation id="5100237604440890931">Samengevouwen; klik om uit te vouwen.</translation>
 <translation id="510275257476243843">1 uur resterend</translation>
+<translation id="5123685120097942451">Incognitotabblad</translation>
 <translation id="5127805178023152808">Synchronisatie is uitgeschakeld</translation>
 <translation id="5129038482087801250">Web-app installeren</translation>
 <translation id="5139940364318403933">Meer informatie over het gebruik van Google Drive</translation>
@@ -658,6 +658,7 @@
 <translation id="6177111841848151710">Geblokkeerd voor de huidige zoekmachine</translation>
 <translation id="6177390657002841081">Databesparing inschakelen</translation>
 <translation id="6181444274883918285">Site-uitzondering toevoegen</translation>
+<translation id="618993374665929060">'Meer zoals dit' geopend op volledige hoogte</translation>
 <translation id="6192333916571137726">Bestand downloaden</translation>
 <translation id="6192792657125177640">Uitzonderingen</translation>
 <translation id="6206551242102657620">De verbinding is beveiligd. Site-informatie</translation>
@@ -730,9 +731,11 @@
 <translation id="6697947395630195233">Chrome heeft toegang tot je locatie nodig om je locatie met deze site te delen.</translation>
 <translation id="6698801883190606802">Gesynchroniseerde gegevens beheren</translation>
 <translation id="6710213216561001401">Vorige</translation>
+<translation id="6712388303105732168">Bekijk meer zoals dit van Google met de knop 'Meer zoals dit'</translation>
 <translation id="6738867403308150051">Downloaden...</translation>
 <translation id="6746124502594467657">Omlaag</translation>
 <translation id="6762156594045689028">Als je deze instelling wilt wijzigen, <ph name="BEGIN_LINK" />stel je de synchronisatie opnieuw in<ph name="END_LINK" /></translation>
+<translation id="6766622839693428701">Veeg omlaag om te sluiten.</translation>
 <translation id="6770414673596662518">Het Safe Browsing-systeem van Chrome wordt ook gebruikt om onveilige pagina's te detecteren en je te beschermen tegen phishing, malware en andere schadelijke downloads.</translation>
 <translation id="6776813977906306442">Gebruik de knop Downloaden om video's te downloaden zodat je ze later kunt bekijken</translation>
 <translation id="6790428901817661496">Spelen</translation>
@@ -785,7 +788,9 @@
 <translation id="7121362699166175603">Hiermee worden de geschiedenis en automatische aanvullingen voor de adresbalk gewist. Er kunnen andere vormen van browsegeschiedenis zijn opgeslagen voor je Google-account op <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
 <translation id="7128222689758636196">Toestaan voor huidige zoekmachine</translation>
 <translation id="7138678301420049075">Overige</translation>
+<translation id="7139148793369023665">'Meer zoals dit' gesloten</translation>
 <translation id="7141896414559753902">Sites niet toestaan pop-ups weer te geven en omleidingen uit te voeren (aanbevolen)</translation>
+<translation id="7149158118503947153"><ph name="BEGIN_LINK" />Oorspronkelijke pagina laden <ph name="END_LINK" /> van <ph name="DOMAIN_NAME" /></translation>
 <translation id="7149893636342594995">Afgelopen 24 uur</translation>
 <translation id="7176368934862295254"><ph name="KILOBYTES" /> KB</translation>
 <translation id="7177466738963138057">Je kunt dit later wijzigen in Instellingen</translation>
@@ -873,6 +878,7 @@
 <translation id="7846076177841592234">Selectie opheffen</translation>
 <translation id="784934925303690534">Periode</translation>
 <translation id="7851858861565204677">Andere apparaten</translation>
+<translation id="7854964836418414587">'Meer zoals dit' sluiten</translation>
 <translation id="7875915731392087153">E-mail maken</translation>
 <translation id="7876243839304621966">Alles verwijderen</translation>
 <translation id="7882131421121961860">Geen geschiedenis gevonden</translation>
@@ -1000,7 +1006,6 @@
 <translation id="8912362522468806198">Google-account</translation>
 <translation id="8920114477895755567">Wachten op gegevens van ouders.</translation>
 <translation id="8922289737868596582">Download pagina's via de knop 'Meer opties' om ze offline te gebruiken</translation>
-<translation id="8934029156920711950">Tik om artikelen te bekijken die speciaal voor jou zijn geselecteerd</translation>
 <translation id="8941729603749328384">www.example.com</translation>
 <translation id="8942627711005830162">Openen in een ander venster</translation>
 <translation id="8951232171465285730">Chrome bespaart je <ph name="MEGABYTES" /> MB</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_no.xtb b/chrome/android/java/strings/translations/android_chrome_strings_no.xtb
index a2f181e..1e18cc5 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_no.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_no.xtb
@@ -15,7 +15,6 @@
 <translation id="1111673857033749125">Bokmerker som er lagret på de andre enhetene dine, vises her.</translation>
 <translation id="1113597929977215864">Vis forenklet visning</translation>
 <translation id="1121094540300013208">Bruks- og programstopprapporter</translation>
-<translation id="11221688409173367">Trykk på startsideknappen for å se sider som er spesielt valgt for deg.</translation>
 <translation id="1129510026454351943">Detaljer: <ph name="ERROR_DESCRIPTION" /></translation>
 <translation id="1141800923049248244">{FILE_COUNT,plural, =1{1 nedlasting venter.}other{# nedlastinger venter.}}</translation>
 <translation id="1145536944570833626">Slett eksisterende data.</translation>
@@ -166,7 +165,6 @@
 <translation id="2154484045852737596">Endre kortet</translation>
 <translation id="2154710561487035718">Kopier nettadresse</translation>
 <translation id="2156074688469523661">Andre nettsteder (<ph name="NUMBER_OF_SITES" />)</translation>
-<translation id="2184766556418880456">Trykk for å gå til den nye fanesiden i den gjeldende fanen</translation>
 <translation id="2206488550163399966"><ph name="APP_NAME" />, nettprogram. <ph name="APP_URL" /></translation>
 <translation id="2227444325776770048">Fortsett som <ph name="USER_FULL_NAME" /></translation>
 <translation id="2232379019872353004">Sender noe systeminformasjon og sideinnhold til Google</translation>
@@ -233,7 +231,6 @@
 <translation id="2709516037105925701">Autofyll</translation>
 <translation id="271033894570825754">Ny</translation>
 <translation id="2728754400939377704">Sortér etter nettsted</translation>
-<translation id="2736391366332017384">Trykk på startsideknappen for å gå til den nye fanesiden i den gjeldende fanen</translation>
 <translation id="2744248271121720757">Trykk på et ord for å søke umiddelbart eller se relaterte handlinger</translation>
 <translation id="2762000892062317888">akkurat nå</translation>
 <translation id="2777555524387840389"><ph name="SECONDS" /> sekunder igjen</translation>
@@ -1000,7 +997,6 @@
 <translation id="8912362522468806198">Google-konto</translation>
 <translation id="8920114477895755567">Venter på informasjon om foreldre.</translation>
 <translation id="8922289737868596582">Last ned sider via Flere alternativer-knappen for å bruke dem uten nett</translation>
-<translation id="8934029156920711950">Trykk for å se artikler som er spesielt valgt for deg</translation>
 <translation id="8941729603749328384">www.example.com</translation>
 <translation id="8942627711005830162">Åpne i et annet vindu</translation>
 <translation id="8951232171465285730">Chrome har spart deg for <ph name="MEGABYTES" /> MB</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_pl.xtb b/chrome/android/java/strings/translations/android_chrome_strings_pl.xtb
index c00c10c..180aa1c 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_pl.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_pl.xtb
@@ -15,7 +15,6 @@
 <translation id="1111673857033749125">Tutaj wyświetlą się zakładki z innych urządzeń.</translation>
 <translation id="1113597929977215864">Pokaż widok uproszczony</translation>
 <translation id="1121094540300013208">Raporty o użytkowaniu i awariach</translation>
-<translation id="11221688409173367">Dotknij przycisku ekranu głównego, by wyświetlić artykuły wybrane specjalnie dla Ciebie</translation>
 <translation id="1129510026454351943">Szczegóły: <ph name="ERROR_DESCRIPTION" /></translation>
 <translation id="1141800923049248244">{FILE_COUNT,plural, =1{1 plik oczekuje na pobranie.}few{# pliki oczekują na pobranie.}many{# plików oczekuje na pobranie.}other{# pliku oczekuje na pobranie.}}</translation>
 <translation id="1145536944570833626">Usuń istniejące dane.</translation>
@@ -166,7 +165,6 @@
 <translation id="2154484045852737596">Edytowanie karty</translation>
 <translation id="2154710561487035718">Kopiuj adres URL</translation>
 <translation id="2156074688469523661">Pozostałe strony (<ph name="NUMBER_OF_SITES" />)</translation>
-<translation id="2184766556418880456">Dotknij, by przejść do strony nowej karty na bieżącej karcie</translation>
 <translation id="2206488550163399966"><ph name="APP_NAME" /> – aplikacja internetowa. <ph name="APP_URL" /></translation>
 <translation id="2227444325776770048">Kontynuuj jako <ph name="USER_FULL_NAME" /></translation>
 <translation id="2232379019872353004">Wysyła do Google pewne informacje o systemie i część zawartości stron</translation>
@@ -233,7 +231,6 @@
 <translation id="2709516037105925701">Autouzupełnianie</translation>
 <translation id="271033894570825754">Nowy</translation>
 <translation id="2728754400939377704">Sortuj według witryny</translation>
-<translation id="2736391366332017384">Dotknij przycisku ekranu głównego, by przejść do strony nowej karty na bieżącej karcie</translation>
 <translation id="2744248271121720757">Kliknij słowo, by szybko je wyszukać lub wyświetlić powiązane czynności</translation>
 <translation id="2762000892062317888">przed chwilą</translation>
 <translation id="2777555524387840389">Pozostało: <ph name="SECONDS" /> s</translation>
@@ -344,6 +341,7 @@
 <translation id="3744111561329211289">Synchronizacja w tle</translation>
 <translation id="3773755127849930740"><ph name="BEGIN_LINK" />Włącz Bluetooth<ph name="END_LINK" />, by umożliwić parowanie</translation>
 <translation id="3778956594442850293">Dodano do ekranu głównego</translation>
+<translation id="3781011235031427080">Karta Więcej podobnych otwarta do połowy wysokości</translation>
 <translation id="3789841737615482174">Zainstaluj</translation>
 <translation id="3810838688059735925">Wideo</translation>
 <translation id="3810973564298564668">Zarządzaj</translation>
@@ -492,6 +490,7 @@
 <translation id="4913169188695071480">Zatrzymaj odświeżanie</translation>
 <translation id="4915549754973153784"><ph name="BEGIN_LINK" />Pomoc<ph name="END_LINK" /> w trakcie wyszukiwania urządzeń…</translation>
 <translation id="4943872375798546930">Brak wyników</translation>
+<translation id="4956460920135325549">Lżejsza wersja strony dostarczona przez Google.</translation>
 <translation id="4958708863221495346"><ph name="URL_OF_THE_CURRENT_TAB" /> udostępnia Twój ekran</translation>
 <translation id="4961334780091921942">Twoje hasła, historia i inne dane na wszystkich Twoich urządzeniach</translation>
 <translation id="4961700429721424617">Wylogowujesz się z konta, którym zarządza <ph name="MANAGED_DOMAIN" />. Spowoduje to usunięcie danych Chrome z tego urządzenia, ale pozostaną one na Twoim koncie Google.</translation>
@@ -511,6 +510,7 @@
 <translation id="5087580092889165836">Dodaj kartę</translation>
 <translation id="5100237604440890931">Zwinięty – kliknij, by rozwinąć.</translation>
 <translation id="510275257476243843">Pozostała godzina</translation>
+<translation id="5123685120097942451">Karta incognito</translation>
 <translation id="5127805178023152808">Synchronizacja jest wyłączona</translation>
 <translation id="5129038482087801250">Zainstaluj aplikację internetową</translation>
 <translation id="5139940364318403933">Dowiedz się, jak używać Dysku Google</translation>
@@ -658,6 +658,7 @@
 <translation id="6177111841848151710">Zablokowano dostęp obecnej wyszukiwarce</translation>
 <translation id="6177390657002841081">Włącz Oszczędzanie danych</translation>
 <translation id="6181444274883918285">Dodaj witrynę do wyjątków</translation>
+<translation id="618993374665929060">Karta Więcej podobnych otwarta na całą wysokość</translation>
 <translation id="6192333916571137726">Pobranie pliku</translation>
 <translation id="6192792657125177640">Wyjątki</translation>
 <translation id="6206551242102657620">Połączenie jest bezpieczne. Informacje o witrynie</translation>
@@ -730,9 +731,11 @@
 <translation id="6697947395630195233">Chrome musi mieć dostęp do Twojej lokalizacji, by udostępnić ją tej stronie.</translation>
 <translation id="6698801883190606802">Zarządzaj synchronizowanymi danymi</translation>
 <translation id="6710213216561001401">Wstecz</translation>
+<translation id="6712388303105732168">Zobacz więcej podobnych informacji od Google, klikając przycisk Więcej podobnych</translation>
 <translation id="6738867403308150051">Pobieram…</translation>
 <translation id="6746124502594467657">W dół</translation>
 <translation id="6762156594045689028">Aby zmienić to ustawienie, <ph name="BEGIN_LINK" />zresetuj synchronizację<ph name="END_LINK" /></translation>
+<translation id="6766622839693428701">Przesuń w dół, by zamknąć.</translation>
 <translation id="6770414673596662518">System Bezpieczne przeglądanie w Chrome jest też używany do wykrywania złośliwych stron oraz ochrony przed wyłudzaniem informacji, złośliwym oprogramowaniem i szkodliwymi plikami do pobrania.</translation>
 <translation id="6776813977906306442">Kliknij przycisk Pobierz, by pobrać film i obejrzeć go później</translation>
 <translation id="6790428901817661496">Odtwórz</translation>
@@ -785,7 +788,9 @@
 <translation id="7121362699166175603">Usuwa historię i pamięć autouzupełniania na pasku adresu. Inne rodzaje historii przeglądania mogą być nadal dostępne na Twoim koncie Google na <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
 <translation id="7128222689758636196">Zezwalaj na dostęp obecnej wyszukiwarce</translation>
 <translation id="7138678301420049075">Inne</translation>
+<translation id="7139148793369023665">Karta Więcej podobnych zamknięta</translation>
 <translation id="7141896414559753902">Blokuj wyskakujące okienka i przekierowania na stronach (zalecane)</translation>
+<translation id="7149158118503947153"><ph name="BEGIN_LINK" />Załaduj oryginalną stronę<ph name="END_LINK" /> z domeny <ph name="DOMAIN_NAME" /></translation>
 <translation id="7149893636342594995">Ostatnie 24 godziny</translation>
 <translation id="7176368934862295254"><ph name="KILOBYTES" /> KB</translation>
 <translation id="7177466738963138057">Możesz zmienić to później w Ustawieniach</translation>
@@ -873,6 +878,7 @@
 <translation id="7846076177841592234">Anuluj wybór</translation>
 <translation id="784934925303690534">Zakres czasu</translation>
 <translation id="7851858861565204677">Inne urządzenia</translation>
+<translation id="7854964836418414587">Zamknij Więcej podobnych</translation>
 <translation id="7875915731392087153">Utwórz e-maila</translation>
 <translation id="7876243839304621966">Usuń wszystkie</translation>
 <translation id="7882131421121961860">Brak historii</translation>
@@ -1000,7 +1006,6 @@
 <translation id="8912362522468806198">Konta Google</translation>
 <translation id="8920114477895755567">Oczekiwanie na informacje o rodzicach.</translation>
 <translation id="8922289737868596582">Pobierz strony, używając przycisku Więcej opcji, by korzystać z nich w trybie offline</translation>
-<translation id="8934029156920711950">Dotknij, by wyświetlić artykuły wybrane specjalnie dla Ciebie</translation>
 <translation id="8941729603749328384">www.example.com</translation>
 <translation id="8942627711005830162">Otwórz w innym oknie</translation>
 <translation id="8951232171465285730">Chrome pozwolił Ci zaoszczędzić <ph name="MEGABYTES" /> MB</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_pt-BR.xtb b/chrome/android/java/strings/translations/android_chrome_strings_pt-BR.xtb
index 9fa7b184..4a9fbab6 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_pt-BR.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_pt-BR.xtb
@@ -15,7 +15,6 @@
 <translation id="1111673857033749125">Favoritos salvos nos seus outros dispositivos serão exibidos aqui.</translation>
 <translation id="1113597929977215864">Mostrar visualização simplificada</translation>
 <translation id="1121094540300013208">Relatórios de uso e falhas</translation>
-<translation id="11221688409173367">Toque no botão home para ver artigos selecionados especialmente para você</translation>
 <translation id="1129510026454351943">Detalhes: <ph name="ERROR_DESCRIPTION" /></translation>
 <translation id="1141800923049248244">{FILE_COUNT,plural, =1{1 download pendente.}one{# download pendente.}other{# downloads pendentes.}}</translation>
 <translation id="1145536944570833626">Excluir dados já existentes.</translation>
@@ -166,7 +165,6 @@
 <translation id="2154484045852737596">Editar cartão</translation>
 <translation id="2154710561487035718">Copiar URL</translation>
 <translation id="2156074688469523661">Sites restantes (<ph name="NUMBER_OF_SITES" />)</translation>
-<translation id="2184766556418880456">Toque para acessar a página nova guia na sua guia atual</translation>
 <translation id="2206488550163399966"><ph name="APP_NAME" />, aplicativo da Web. <ph name="APP_URL" /></translation>
 <translation id="2227444325776770048">Continuar como <ph name="USER_FULL_NAME" /></translation>
 <translation id="2232379019872353004">Envia algumas informações do sistema e conteúdo da página para o Google</translation>
@@ -233,7 +231,6 @@
 <translation id="2709516037105925701">Preenchimento automático</translation>
 <translation id="271033894570825754">Novo</translation>
 <translation id="2728754400939377704">Classificar por site</translation>
-<translation id="2736391366332017384">Toque no botão home para acessar a página nova guia na sua guia atual</translation>
 <translation id="2744248271121720757">Toque em uma palavra para pesquisar instantaneamente ou ver as ações relacionadas</translation>
 <translation id="2762000892062317888">agora mesmo</translation>
 <translation id="2777555524387840389"><ph name="SECONDS" /> segundos restantes</translation>
@@ -344,6 +341,7 @@
 <translation id="3744111561329211289">Sincronização em segundo plano</translation>
 <translation id="3773755127849930740"><ph name="BEGIN_LINK" />Ativar o Bluetooth<ph name="END_LINK" /> para permitir o pareamento</translation>
 <translation id="3778956594442850293">Adicionado à tela inicial</translation>
+<translation id="3781011235031427080">Mais opções semelhantes abertas pela metade</translation>
 <translation id="3789841737615482174">Instalar</translation>
 <translation id="3810838688059735925">Vídeo</translation>
 <translation id="3810973564298564668">Gerenciar</translation>
@@ -493,6 +491,7 @@
 <translation id="4913169188695071480">Parar de atualizar</translation>
 <translation id="4915549754973153784"><ph name="BEGIN_LINK" />Receber ajuda<ph name="END_LINK" /> ao procurar dispositivos…</translation>
 <translation id="4943872375798546930">Nenhum resultado</translation>
+<translation id="4956460920135325549">Página Lite exibida pelo Google.</translation>
 <translation id="4958708863221495346"><ph name="URL_OF_THE_CURRENT_TAB" /> está compartilhando sua tela</translation>
 <translation id="4961334780091921942">Suas senhas, histórico e muito mais em todos os dispositivos</translation>
 <translation id="4961700429721424617">Você está saindo de uma conta gerenciada por <ph name="MANAGED_DOMAIN" />. Os dados do Chrome serão excluídos desse dispositivo, mas permanecerão na sua Conta do Google.</translation>
@@ -512,6 +511,7 @@
 <translation id="5087580092889165836">Adicionar cartão</translation>
 <translation id="5100237604440890931">Visualização recolhida. Clique para expandir</translation>
 <translation id="510275257476243843">Uma hora restante</translation>
+<translation id="5123685120097942451">Guia anônima</translation>
 <translation id="5127805178023152808">A sincronização está desativada</translation>
 <translation id="5129038482087801250">Instalar app da Web</translation>
 <translation id="5139940364318403933">Saber como usar o Google Drive</translation>
@@ -635,6 +635,7 @@
 <translation id="5956665950594638604">Abrir Central de Ajuda do Chrome em uma nova guia</translation>
 <translation id="5958275228015807058">Procure seus arquivos e páginas em Downloads</translation>
 <translation id="5962718611393537961">Toque para recolher</translation>
+<translation id="5990142338020175451">Serviços do Google mais personalizados, como melhores sugestões de páginas</translation>
 <translation id="6000066717592683814">Continuar usando o Google</translation>
 <translation id="6005538289190791541">Senha sugerida</translation>
 <translation id="6039379616847168523">Ir para a próxima guia</translation>
@@ -657,6 +658,7 @@
 <translation id="6177111841848151710">Bloqueado para o mecanismo de pesquisa atual</translation>
 <translation id="6177390657002841081">Ativar a Economia de dados</translation>
 <translation id="6181444274883918285">Adicionar site às exceções</translation>
+<translation id="618993374665929060">Mais opções semelhantes abertas no tamanho máximo</translation>
 <translation id="6192333916571137726">Fazer o download do arquivo</translation>
 <translation id="6192792657125177640">Exceções</translation>
 <translation id="6206551242102657620">A conexão é segura. Informações do site</translation>
@@ -729,9 +731,11 @@
 <translation id="6697947395630195233">O Chrome precisa acessar sua localização para compartilhá-la com este site.</translation>
 <translation id="6698801883190606802">Gerenciar dados sincronizados</translation>
 <translation id="6710213216561001401">Anterior</translation>
+<translation id="6712388303105732168">Veja mais páginas do Google como esta usando o botão "Mais opções semelhantes"</translation>
 <translation id="6738867403308150051">Fazendo o download...</translation>
 <translation id="6746124502594467657">Mover para baixo</translation>
 <translation id="6762156594045689028">Para alterar essa configuração, <ph name="BEGIN_LINK" />redefina a sincronização<ph name="END_LINK" /></translation>
+<translation id="6766622839693428701">Deslize para baixo para fechar.</translation>
 <translation id="6770414673596662518">O sistema de Navegação segura do Chrome também é usado para detectar páginas maliciosas e proteger você contra phishing, malware e downloads nocivos.</translation>
 <translation id="6776813977906306442">Faça o download de vídeos para assistir mais tarde usando o botão Download</translation>
 <translation id="6790428901817661496">Reproduzir</translation>
@@ -784,7 +788,9 @@
 <translation id="7121362699166175603">Limpa o histórico e os preenchimentos automáticos na barra de endereço. Sua Conta do Google pode ter outras formas de histórico de navegação em <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
 <translation id="7128222689758636196">Permitir o mecanismo de pesquisa atual</translation>
 <translation id="7138678301420049075">Outro</translation>
+<translation id="7139148793369023665">"Mais opções semelhantes" fechado</translation>
 <translation id="7141896414559753902">Impedir que sites exibam pop-ups e façam redirecionamentos (recomendado)</translation>
+<translation id="7149158118503947153"><ph name="BEGIN_LINK" />Carregar página original<ph name="END_LINK" /> de <ph name="DOMAIN_NAME" /></translation>
 <translation id="7149893636342594995">Últimas 24 horas</translation>
 <translation id="7176368934862295254"><ph name="KILOBYTES" /> KB</translation>
 <translation id="7177466738963138057">Você poderá alterar isso mais tarde nas configurações</translation>
@@ -872,6 +878,7 @@
 <translation id="7846076177841592234">Cancelar seleção</translation>
 <translation id="784934925303690534">Intervalo de tempo</translation>
 <translation id="7851858861565204677">Outros dispositivos</translation>
+<translation id="7854964836418414587">Fechar "Mais opções semelhantes"</translation>
 <translation id="7875915731392087153">Criar e-mail</translation>
 <translation id="7876243839304621966">Remover tudo</translation>
 <translation id="7882131421121961860">Nenhum histórico encontrado</translation>
@@ -998,7 +1005,6 @@
 <translation id="8912362522468806198">Conta do Google</translation>
 <translation id="8920114477895755567">Aguardando detalhes dos pais.</translation>
 <translation id="8922289737868596582">Use o botão Mais opções para fazer o download de páginas e usá-las off-line</translation>
-<translation id="8934029156920711950">Toque para ver artigos selecionados especialmente para você</translation>
 <translation id="8941729603749328384">www.example.com</translation>
 <translation id="8942627711005830162">Abrir em outra janela</translation>
 <translation id="8951232171465285730">O Chrome economizou <ph name="MEGABYTES" /> MB</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_pt-PT.xtb b/chrome/android/java/strings/translations/android_chrome_strings_pt-PT.xtb
index 196c7505..8730117 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_pt-PT.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_pt-PT.xtb
@@ -15,7 +15,6 @@
 <translation id="1111673857033749125">Os marcadores guardados nos seus outros dispositivos são apresentados aqui.</translation>
 <translation id="1113597929977215864">Mostrar vista simplificada</translation>
 <translation id="1121094540300013208">Relatórios de utilização e falhas</translation>
-<translation id="11221688409173367">Toque no botão página inicial para ver artigos selecionados especificamente para si.</translation>
 <translation id="1129510026454351943">Detalhes: <ph name="ERROR_DESCRIPTION" /></translation>
 <translation id="1141800923049248244">{FILE_COUNT,plural, =1{1 transferência pendente.}other{# transferências pendentes.}}</translation>
 <translation id="1145536944570833626">Eliminar dados existentes.</translation>
@@ -166,7 +165,6 @@
 <translation id="2154484045852737596">Editar cartão</translation>
 <translation id="2154710561487035718">Copiar URL</translation>
 <translation id="2156074688469523661">Sites restantes (<ph name="NUMBER_OF_SITES" />)</translation>
-<translation id="2184766556418880456">Toque para aceder à página novo separador no seu separador atual.</translation>
 <translation id="2206488550163399966"><ph name="APP_NAME" />, aplicação Web. <ph name="APP_URL" /></translation>
 <translation id="2227444325776770048">Continuar como <ph name="USER_FULL_NAME" /></translation>
 <translation id="2232379019872353004">Enviar algumas informações do sistema e conteúdo da página para a Google</translation>
@@ -233,7 +231,6 @@
 <translation id="2709516037105925701">Preenchimento automático</translation>
 <translation id="271033894570825754">Novo</translation>
 <translation id="2728754400939377704">Ordenar por site</translation>
-<translation id="2736391366332017384">Toque no botão página inicial para aceder ao novo separador no seu separador atual.</translation>
 <translation id="2744248271121720757">Toque numa palavra para pesquisar instantaneamente ou ver as ações relacionadas.</translation>
 <translation id="2762000892062317888">agora mesmo</translation>
 <translation id="2777555524387840389">Faltam <ph name="SECONDS" /> segundos</translation>
@@ -344,6 +341,7 @@
 <translation id="3744111561329211289">Sincronização em segundo plano</translation>
 <translation id="3773755127849930740"><ph name="BEGIN_LINK" />Ative o Bluetooth<ph name="END_LINK" /> para permitir a sincronização</translation>
 <translation id="3778956594442850293">Adicionado ao ecrã principal</translation>
+<translation id="3781011235031427080">Mais deste género aberta a meia altura.</translation>
 <translation id="3789841737615482174">Instalar</translation>
 <translation id="3810838688059735925">Vídeo</translation>
 <translation id="3810973564298564668">Gerir</translation>
@@ -492,6 +490,7 @@
 <translation id="4913169188695071480">Parar a atualização</translation>
 <translation id="4915549754973153784"><ph name="BEGIN_LINK" />Obter ajuda<ph name="END_LINK" /> enquanto procura dispositivos…</translation>
 <translation id="4943872375798546930">Nenhum resultado</translation>
+<translation id="4956460920135325549">Página em modo lite fornecida pela Google.</translation>
 <translation id="4958708863221495346"><ph name="URL_OF_THE_CURRENT_TAB" /> está a partilhar o seu ecrã</translation>
 <translation id="4961334780091921942">As suas palavras-passe, histórico e muito mais em todos os dispositivos.</translation>
 <translation id="4961700429721424617">Está a terminar sessão numa conta gerida por <ph name="MANAGED_DOMAIN" />. Esta ação elimina os seus dados do Chrome deste dispositivo, embora permaneçam na Conta Google.</translation>
@@ -511,6 +510,7 @@
 <translation id="5087580092889165836">Adicionar cartão</translation>
 <translation id="5100237604440890931">Reduzido. Clique para expandir.</translation>
 <translation id="510275257476243843">Falta 1 hora</translation>
+<translation id="5123685120097942451">Separador de navegação anónima</translation>
 <translation id="5127805178023152808">A sincronização está desativada</translation>
 <translation id="5129038482087801250">Instalar aplicação Web</translation>
 <translation id="5139940364318403933">Saiba como utilizar o Google Drive</translation>
@@ -658,6 +658,7 @@
 <translation id="6177111841848151710">Bloqueado para o motor de pesquisa atual</translation>
 <translation id="6177390657002841081">Ativar a Poupança de dados</translation>
 <translation id="6181444274883918285">Adicionar exceção de site</translation>
+<translation id="618993374665929060">Mais deste género aberta à altura total</translation>
 <translation id="6192333916571137726">Transferir ficheiro</translation>
 <translation id="6192792657125177640">Excepções</translation>
 <translation id="6206551242102657620">A ligação é segura. Informações do site</translation>
@@ -730,9 +731,11 @@
 <translation id="6697947395630195233">O Chrome precisa de acesso à sua localização para a partilhar com este site.</translation>
 <translation id="6698801883190606802">Gerir dados sincronizados</translation>
 <translation id="6710213216561001401">Anterior</translation>
+<translation id="6712388303105732168">Ver mais conteúdos deste género no Google através do botão Mais deste género</translation>
 <translation id="6738867403308150051">A transferir...</translation>
 <translation id="6746124502594467657">Mover para baixo</translation>
 <translation id="6762156594045689028">Para alterar esta definição, <ph name="BEGIN_LINK" />reponha a sincronização<ph name="END_LINK" /></translation>
+<translation id="6766622839693428701">Deslize rapidamente para baixo para fechar.</translation>
 <translation id="6770414673596662518">O sistema de Navegação segura do Chrome também será utilizado para detetar páginas maliciosas e para o proteger contra phishing, programas maliciosos e transferências prejudiciais.</translation>
 <translation id="6776813977906306442">Transferir vídeos para ver mais tarde através do botão Transferir</translation>
 <translation id="6790428901817661496">Reproduzir</translation>
@@ -785,7 +788,9 @@
 <translation id="7121362699166175603">Limpa o histórico e os preenchimentos automáticos na barra de endereço. A sua Conta Google pode ter outras formas do histórico de navegação em <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
 <translation id="7128222689758636196">Permitir o motor de pesquisa atual</translation>
 <translation id="7138678301420049075">Outros</translation>
+<translation id="7139148793369023665">Mais deste género fechada.</translation>
 <translation id="7141896414559753902">Impedir que os sites apresentem pop-ups e redirecionamentos (recomendado).</translation>
+<translation id="7149158118503947153"><ph name="BEGIN_LINK" />Carregar página original<ph name="END_LINK" /> do domínio <ph name="DOMAIN_NAME" /></translation>
 <translation id="7149893636342594995">Últimas 24 horas</translation>
 <translation id="7176368934862295254"><ph name="KILOBYTES" /> KB</translation>
 <translation id="7177466738963138057">Pode alterar esta opção mais tarde nas Definições</translation>
@@ -873,6 +878,7 @@
 <translation id="7846076177841592234">Cancelar seleção</translation>
 <translation id="784934925303690534">Intervalo de tempo</translation>
 <translation id="7851858861565204677">Outros aparelhos</translation>
+<translation id="7854964836418414587">Fechar mais deste género</translation>
 <translation id="7875915731392087153">Criar email</translation>
 <translation id="7876243839304621966">Remover tudo</translation>
 <translation id="7882131421121961860">Nenhum histórico encontrado</translation>
@@ -1000,7 +1006,6 @@
 <translation id="8912362522468806198">Conta Google</translation>
 <translation id="8920114477895755567">A aguardar os detalhes dos pais.</translation>
 <translation id="8922289737868596582">Transfira páginas através do botão Mais opções para as utilizar offline.</translation>
-<translation id="8934029156920711950">Toque para ver artigos selecionados especificamente para si.</translation>
 <translation id="8941729603749328384">www.example.com</translation>
 <translation id="8942627711005830162">Abrir noutra janela</translation>
 <translation id="8951232171465285730">O Chrome permitiu-lhe poupar <ph name="MEGABYTES" /> MB</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_ro.xtb b/chrome/android/java/strings/translations/android_chrome_strings_ro.xtb
index d503ba3..1845883 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_ro.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_ro.xtb
@@ -15,7 +15,6 @@
 <translation id="1111673857033749125">Marcajele salvate pe alte dispozitive vor apărea aici.</translation>
 <translation id="1113597929977215864">Arată afișarea simplificată</translation>
 <translation id="1121094540300013208">Statistici de utilizare și rapoarte de blocare</translation>
-<translation id="11221688409173367">Atinge butonul Pagina principală pentru a vedea articolele selectate special pentru tine</translation>
 <translation id="1129510026454351943">Detalii: <ph name="ERROR_DESCRIPTION" /></translation>
 <translation id="1141800923049248244">{FILE_COUNT,plural, =1{O descărcare în așteptare.}few{# descărcări în așteptare.}other{# de descărcări în așteptare.}}</translation>
 <translation id="1145536944570833626">Șterge datele existente.</translation>
@@ -166,7 +165,6 @@
 <translation id="2154484045852737596">Editează cardul</translation>
 <translation id="2154710561487035718">Copiați adresa URL</translation>
 <translation id="2156074688469523661">Site-uri rămase (<ph name="NUMBER_OF_SITES" />)</translation>
-<translation id="2184766556418880456">Atinge pentru a accesa pagina Filă nouă în fila curentă</translation>
 <translation id="2206488550163399966"><ph name="APP_NAME" />, aplicație web. <ph name="APP_URL" /></translation>
 <translation id="2227444325776770048">Continuă ca <ph name="USER_FULL_NAME" /></translation>
 <translation id="2232379019872353004">Trimite la Google anumite informații despre sistem și conținutul paginii</translation>
@@ -233,7 +231,6 @@
 <translation id="2709516037105925701">Completare automată</translation>
 <translation id="271033894570825754">Nou</translation>
 <translation id="2728754400939377704">Sortează după site</translation>
-<translation id="2736391366332017384">Atinge butonul Pagina principală pentru a accesa pagina Filă nouă în fila curentă</translation>
 <translation id="2744248271121720757">Atinge un cuvânt pentru a căuta instantaneu sau pentru a vedea acțiuni conexe</translation>
 <translation id="2762000892062317888">adineauri</translation>
 <translation id="2777555524387840389"><ph name="SECONDS" /> sec. rămase</translation>
@@ -344,6 +341,7 @@
 <translation id="3744111561329211289">Sincronizare în fundal</translation>
 <translation id="3773755127849930740"><ph name="BEGIN_LINK" />Activează Bluetooth<ph name="END_LINK" /> pentru a permite asocierea</translation>
 <translation id="3778956594442850293">S-a adăugat pe ecranul de pornire</translation>
+<translation id="3781011235031427080">Foaia „Mai multe similare” deschisă la jumătate din înălțime</translation>
 <translation id="3789841737615482174">Instalează</translation>
 <translation id="3810838688059735925">Video</translation>
 <translation id="3810973564298564668">Gestionează</translation>
@@ -492,6 +490,7 @@
 <translation id="4913169188695071480">Oprește actualizarea</translation>
 <translation id="4915549754973153784"><ph name="BEGIN_LINK" />Obține ajutor<ph name="END_LINK" /> în timp ce se caută dispozitive…</translation>
 <translation id="4943872375798546930">Nu există rezultate</translation>
+<translation id="4956460920135325549">Pagină Lite oferită de Google.</translation>
 <translation id="4958708863221495346"><ph name="URL_OF_THE_CURRENT_TAB" /> accesează conținutul de pe ecran</translation>
 <translation id="4961334780091921942">Parolele, istoricul și alte date, pe toate dispozitivele</translation>
 <translation id="4961700429721424617">Te deconectezi de la un cont gestionat de <ph name="MANAGED_DOMAIN" />. Astfel, se vor șterge datele Chrome de pe acest dispozitiv, dar datele vor rămâne în Contul Google.</translation>
@@ -511,6 +510,7 @@
 <translation id="5087580092889165836">Adaugă un card</translation>
 <translation id="5100237604440890931">Afișare restrânsă – dă clic pentru a extinde.</translation>
 <translation id="510275257476243843">1 oră rămasă</translation>
+<translation id="5123685120097942451">Filă incognito</translation>
 <translation id="5127805178023152808">Sincronizarea este dezactivată</translation>
 <translation id="5129038482087801250">Instalează aplicația web</translation>
 <translation id="5139940364318403933">Află cum să folosești Google Drive</translation>
@@ -658,6 +658,7 @@
 <translation id="6177111841848151710">Blocată pentru motorul de căutare actual</translation>
 <translation id="6177390657002841081">Activează Economizorul de date</translation>
 <translation id="6181444274883918285">Adaugă o excepție privind site-urile</translation>
+<translation id="618993374665929060">Foaia „Mai multe similare” deschisă la înălțimea completă</translation>
 <translation id="6192333916571137726">Descarcă fișierul</translation>
 <translation id="6192792657125177640">Excepții</translation>
 <translation id="6206551242102657620">Conexiunea este sigură. Informații despre site</translation>
@@ -730,9 +731,11 @@
 <translation id="6697947395630195233">Chrome are nevoie de acces la locația ta ca să permită accesul la locație pentru acest site.</translation>
 <translation id="6698801883190606802">Gestionează datele sincronizate</translation>
 <translation id="6710213216561001401">Înapoi</translation>
+<translation id="6712388303105732168">Afișează mai multe articole similare de la Google folosind butonul „Mai multe similare”</translation>
 <translation id="6738867403308150051">Se descarcă...</translation>
 <translation id="6746124502594467657">Mutați în jos</translation>
 <translation id="6762156594045689028">Pentru a modifica această setare, <ph name="BEGIN_LINK" />resetează sincronizarea<ph name="END_LINK" /></translation>
+<translation id="6766622839693428701">Glisează în jos pentru a închide.</translation>
 <translation id="6770414673596662518">Sistemul Navigare sigură din Chrome va fi folosit pentru a detecta pagini rău-intenționate și pentru a te proteja împotriva phishingului, a programelor malware și a descărcărilor periculoase.</translation>
 <translation id="6776813977906306442">Descarcă videoclipuri pentru a viziona mai târziu folosind butonul Descarcă</translation>
 <translation id="6790428901817661496">Redă</translation>
@@ -785,7 +788,9 @@
 <translation id="7121362699166175603">Șterge istoricul și completările automate din bara de adrese. Contul Google poate să ofere alte forme ale istoricului de navigare la <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
 <translation id="7128222689758636196">Permite pentru motorul de căutare actual</translation>
 <translation id="7138678301420049075">Altele</translation>
+<translation id="7139148793369023665">Foaia „Mai multe similare” închisă</translation>
 <translation id="7141896414559753902">Împiedică site-urile să afișeze ferestre pop-up și redirecționări (recomandat)</translation>
+<translation id="7149158118503947153"><ph name="BEGIN_LINK" />Încarcă pagina originală<ph name="END_LINK" /> de la <ph name="DOMAIN_NAME" /></translation>
 <translation id="7149893636342594995">Ultimele 24 de ore</translation>
 <translation id="7176368934862295254"><ph name="KILOBYTES" /> KB</translation>
 <translation id="7177466738963138057">Poți modifica ulterior această opțiune în Setări</translation>
@@ -873,6 +878,7 @@
 <translation id="7846076177841592234">Anulează selecția</translation>
 <translation id="784934925303690534">Interval de timp</translation>
 <translation id="7851858861565204677">Alte dispozitive</translation>
+<translation id="7854964836418414587">Închide foaia „Mai multe similare”</translation>
 <translation id="7875915731392087153">Creează un e-mail</translation>
 <translation id="7876243839304621966">Elimină tot</translation>
 <translation id="7882131421121961860">Nu s-a găsit niciun istoric</translation>
@@ -1000,7 +1006,6 @@
 <translation id="8912362522468806198">Contul Google</translation>
 <translation id="8920114477895755567">Se așteaptă detaliile părinților.</translation>
 <translation id="8922289737868596582">Descarcă paginile folosind butonul Mai multe opțiuni, pentru a le folosi offline</translation>
-<translation id="8934029156920711950">Atinge pentru a vizualiza articolele selectate special pentru tine</translation>
 <translation id="8941729603749328384">www.example.com</translation>
 <translation id="8942627711005830162">Deschide în altă fereastră</translation>
 <translation id="8951232171465285730">Chrome a economisit <ph name="MEGABYTES" /> MB</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_ru.xtb b/chrome/android/java/strings/translations/android_chrome_strings_ru.xtb
index ff8e831..55df29e4 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_ru.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_ru.xtb
@@ -15,7 +15,6 @@
 <translation id="1111673857033749125">Здесь появятся закладки, сохраненные на других устройствах.</translation>
 <translation id="1113597929977215864">Упрощенный просмотр</translation>
 <translation id="1121094540300013208">Отчеты об использовании и сбоях</translation>
-<translation id="11221688409173367">Нажмите на кнопку главного экрана, чтобы посмотреть статьи, подобранные специально для вас</translation>
 <translation id="1129510026454351943">Сведения об ошибке: <ph name="ERROR_DESCRIPTION" /></translation>
 <translation id="1141800923049248244">{FILE_COUNT,plural, =1{Ожидание скачивания 1 файла…}one{Ожидание скачивания # файла…}few{Ожидание скачивания # файлов…}many{Ожидание скачивания # файлов…}other{Ожидание скачивания # файла…}}</translation>
 <translation id="1145536944570833626">Удалить сохраненные данные.</translation>
@@ -166,7 +165,6 @@
 <translation id="2154484045852737596">Изменение данных карты</translation>
 <translation id="2154710561487035718">Копировать URL</translation>
 <translation id="2156074688469523661">Прочие сайты (<ph name="NUMBER_OF_SITES" />)</translation>
-<translation id="2184766556418880456">Нажмите, чтобы открыть страницу быстрого доступа в текущей вкладке.</translation>
 <translation id="2206488550163399966">Приложение "<ph name="APP_NAME" />" (<ph name="APP_URL" />)</translation>
 <translation id="2227444325776770048">Продолжить как <ph name="USER_FULL_NAME" /></translation>
 <translation id="2232379019872353004">Отправлять системную информацию и содержимое страниц в Google</translation>
@@ -233,7 +231,6 @@
 <translation id="2709516037105925701">Автозаполнение</translation>
 <translation id="271033894570825754">Новый</translation>
 <translation id="2728754400939377704">Сортировать по имени домена</translation>
-<translation id="2736391366332017384">Нажмите кнопку главного экрана, чтобы открыть страницу быстрого доступа в текущей вкладке</translation>
 <translation id="2744248271121720757">Нажмите на слово, чтобы увидеть связанные с ним результаты поиска и действия.</translation>
 <translation id="2762000892062317888">только что</translation>
 <translation id="2777555524387840389">Осталось <ph name="SECONDS" /> сек.</translation>
@@ -344,6 +341,7 @@
 <translation id="3744111561329211289">Фоновая синхронизация</translation>
 <translation id="3773755127849930740">Чтобы разрешить подключение, <ph name="BEGIN_LINK" />включите Bluetooth<ph name="END_LINK" /></translation>
 <translation id="3778956594442850293">Добавлено на главный экран</translation>
+<translation id="3781011235031427080">Панель "Показать похожие страницы" открыта наполовину</translation>
 <translation id="3789841737615482174">Установить</translation>
 <translation id="3810838688059735925">Видео</translation>
 <translation id="3810973564298564668">Настроить</translation>
@@ -492,6 +490,7 @@
 <translation id="4913169188695071480">Остановить обновление</translation>
 <translation id="4915549754973153784">Поиск устройств… <ph name="BEGIN_LINK" />Справка<ph name="END_LINK" /></translation>
 <translation id="4943872375798546930">Нет результатов</translation>
+<translation id="4956460920135325549">Lite-версия страницы получена с помощью Google.</translation>
 <translation id="4958708863221495346">Сайту <ph name="URL_OF_THE_CURRENT_TAB" /> предоставлен доступ к вашему экрану</translation>
 <translation id="4961334780091921942">Пароли, история действий и другая информация на всех устройствах</translation>
 <translation id="4961700429721424617">Вы выходите из аккаунта, которым управляет администратор домена <ph name="MANAGED_DOMAIN" />. Обратите внимание, что данные Chrome будут удалены с устройства, но сохранятся в аккаунте Google.</translation>
@@ -511,6 +510,7 @@
 <translation id="5087580092889165836">Добавить карту</translation>
 <translation id="5100237604440890931">Свернуто. Нажмите, чтобы развернуть.</translation>
 <translation id="510275257476243843">Остался 1 час</translation>
+<translation id="5123685120097942451">Вкладка инкогнито</translation>
 <translation id="5127805178023152808">Синхронизация выключена</translation>
 <translation id="5129038482087801250">Установить веб-приложение</translation>
 <translation id="5139940364318403933">Открыть справочную статью</translation>
@@ -658,6 +658,7 @@
 <translation id="6177111841848151710">Закрыт доступ для текущей поисковой системы</translation>
 <translation id="6177390657002841081">Включить режим экономии трафика</translation>
 <translation id="6181444274883918285">Добавить исключение</translation>
+<translation id="618993374665929060">Панель "Показать похожие страницы" открыта полностью</translation>
 <translation id="6192333916571137726">Скачивание файла</translation>
 <translation id="6192792657125177640">Исключения</translation>
 <translation id="6206551242102657620">Подключение защищено. Информация о сайте</translation>
@@ -730,9 +731,11 @@
 <translation id="6697947395630195233">Для этого сайта Chrome запрашивает доступ к данным о вашем местоположении.</translation>
 <translation id="6698801883190606802">Управление синхронизированными данными</translation>
 <translation id="6710213216561001401">Назад</translation>
+<translation id="6712388303105732168">Чтобы увидеть подобные результаты из Google Поиска, нажмите кнопку "Показать похожие страницы".</translation>
 <translation id="6738867403308150051">Скачивание…</translation>
 <translation id="6746124502594467657">Переместить вниз</translation>
 <translation id="6762156594045689028">Чтобы изменить эту настройку, <ph name="BEGIN_LINK" />сбросьте параметры синхронизации<ph name="END_LINK" />.</translation>
+<translation id="6766622839693428701">Проведите вниз, чтобы закрыть панель.</translation>
 <translation id="6770414673596662518">Функция "Безопасный просмотр" также позволяет обнаружить подозрительные страницы и защитить устройство от фишинга и вредоносного ПО.</translation>
 <translation id="6776813977906306442">Чтобы скачать видео для просмотра, нажмите соответствующую кнопку</translation>
 <translation id="6790428901817661496">Воспроизвести</translation>
@@ -785,7 +788,9 @@
 <translation id="7121362699166175603">Удаление истории и вариантов автозаполнения в адресной строке. Информация о других ваших действиях в Интернете может также храниться на странице <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
 <translation id="7128222689758636196">Открыть доступ текущей поисковой системе</translation>
 <translation id="7138678301420049075">Другое</translation>
+<translation id="7139148793369023665">Панель "Показать похожие страницы" закрыта</translation>
 <translation id="7141896414559753902">Блокировать всплывающие окна и переадресацию на сайтах (рекомендуется)</translation>
+<translation id="7149158118503947153"><ph name="BEGIN_LINK" />Загрузить исходную версию страницы<ph name="END_LINK" /> из <ph name="DOMAIN_NAME" /></translation>
 <translation id="7149893636342594995">Последние 24 часа</translation>
 <translation id="7176368934862295254"><ph name="KILOBYTES" /> КБ</translation>
 <translation id="7177466738963138057">Вы всегда можете изменить свой выбор в настройках</translation>
@@ -873,6 +878,7 @@
 <translation id="7846076177841592234">Отменить выбор</translation>
 <translation id="784934925303690534">Временной диапазон</translation>
 <translation id="7851858861565204677">Другие устройства</translation>
+<translation id="7854964836418414587">Закрыть панель "Показать похожие страницы"</translation>
 <translation id="7875915731392087153">Написать письмо</translation>
 <translation id="7876243839304621966">Удалить все</translation>
 <translation id="7882131421121961860">История не найдена</translation>
@@ -1000,7 +1006,6 @@
 <translation id="8912362522468806198">Аккаунт Google</translation>
 <translation id="8920114477895755567">Недостаточно данных о родителях.</translation>
 <translation id="8922289737868596582">Скачивайте страницы через меню кнопки "Ещё" и открывайте их без подключения к Интернету</translation>
-<translation id="8934029156920711950">Нажмите, чтобы посмотреть статьи, подобранные специально для вас.</translation>
 <translation id="8941729603749328384">www.example.com</translation>
 <translation id="8942627711005830162">Открыть в новом окне</translation>
 <translation id="8951232171465285730">Благодаря Chrome вы сэкономили <ph name="MEGABYTES" /> МБ свободного места</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_sk.xtb b/chrome/android/java/strings/translations/android_chrome_strings_sk.xtb
index cb9275f6..0d29df4 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_sk.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_sk.xtb
@@ -15,7 +15,6 @@
 <translation id="1111673857033749125">Tu sa zobrazia záložky, ktoré ste uložili na iných zariadeniach.</translation>
 <translation id="1113597929977215864">Aktivovať zjednodušené zobrazenie</translation>
 <translation id="1121094540300013208">Správy o použití a o zlyhaní</translation>
-<translation id="11221688409173367">Ak chcete zobraziť články vybrané iba pre vás, klepnite na tlačidlo plochy</translation>
 <translation id="1129510026454351943">Podrobnosti: <ph name="ERROR_DESCRIPTION" /></translation>
 <translation id="1141800923049248244">{FILE_COUNT,plural, =1{Na stiahnutie čaká 1 položka.}few{Na stiahnutie čakajú # položky.}many{# downloads pending.}other{Na stiahnutie čaká # položiek.}}</translation>
 <translation id="1145536944570833626">Odstrániť existujúce dáta.</translation>
@@ -166,7 +165,6 @@
 <translation id="2154484045852737596">Úprava karty</translation>
 <translation id="2154710561487035718">Kopírovať webovú adresu</translation>
 <translation id="2156074688469523661">Zostávajúce weby (<ph name="NUMBER_OF_SITES" />)</translation>
-<translation id="2184766556418880456">Klepnutím prejdete na stránku na novej karte vo svojej aktuálnej karte</translation>
 <translation id="2206488550163399966"><ph name="APP_NAME" />, webová aplikácia: <ph name="APP_URL" /></translation>
 <translation id="2227444325776770048">Pokračovať ako <ph name="USER_FULL_NAME" /></translation>
 <translation id="2232379019872353004">Odosielať niektoré informácie o systéme a obsah stránok Googlu</translation>
@@ -233,7 +231,6 @@
 <translation id="2709516037105925701">Automatické dopĺňanie</translation>
 <translation id="271033894570825754">Nové</translation>
 <translation id="2728754400939377704">Zoradiť podľa webu</translation>
-<translation id="2736391366332017384">Klepnutím na tlačidlo plochy prejdete na stránku na novej karte vo svojej aktuálnej karte</translation>
 <translation id="2744248271121720757">Klepnutím na slovo aktivujete dynamické vyhľadávanie alebo zobrazíte súvisiace akcie</translation>
 <translation id="2762000892062317888">práve teraz</translation>
 <translation id="2777555524387840389">Zostáva: <ph name="SECONDS" /> s</translation>
@@ -344,6 +341,7 @@
 <translation id="3744111561329211289">Synchronizácia na pozadí</translation>
 <translation id="3773755127849930740">Povoľte párovanie <ph name="BEGIN_LINK" />zapnutím rozhrania Bluetooth<ph name="END_LINK" /></translation>
 <translation id="3778956594442850293">Pridané na plochu</translation>
+<translation id="3781011235031427080">Ďalšie podobné návrhy boli otvorené na polovičnú výšku</translation>
 <translation id="3789841737615482174">Inštalovať</translation>
 <translation id="3810838688059735925">Video</translation>
 <translation id="3810973564298564668">Spravovať</translation>
@@ -492,6 +490,7 @@
 <translation id="4913169188695071480">Zastaviť obnovovanie</translation>
 <translation id="4915549754973153784"><ph name="BEGIN_LINK" />Získajte pomoc<ph name="END_LINK" /> s vyhľadávaním zariadení…</translation>
 <translation id="4943872375798546930">Žiadne výsledky</translation>
+<translation id="4956460920135325549">Zjednodušenú verziu stránky poskytol Google.</translation>
 <translation id="4958708863221495346">Web <ph name="URL_OF_THE_CURRENT_TAB" /> zdieľa vašu obrazovku</translation>
 <translation id="4961334780091921942">Vaše heslá, história a ďalší obsah vo všetkých zariadeniach</translation>
 <translation id="4961700429721424617">Odhlasujete sa z účtu spravovaného doménou <ph name="MANAGED_DOMAIN" />. Týmto odstránite údaje Chromu z tohto zariadenia, avšak zostanú naďalej vo vašom účte Google.</translation>
@@ -511,6 +510,7 @@
 <translation id="5087580092889165836">Pridať kartu</translation>
 <translation id="5100237604440890931">Zbalená (rozbalíte ju kliknutím)</translation>
 <translation id="510275257476243843">Zostáva: 1 h</translation>
+<translation id="5123685120097942451">Karta inkognito</translation>
 <translation id="5127805178023152808">Synchronizácia je vypnutá.</translation>
 <translation id="5129038482087801250">Inštalovať webovú aplikáciu</translation>
 <translation id="5139940364318403933">Ako používať Disk Google</translation>
@@ -635,6 +635,7 @@
 <translation id="5956665950594638604">Otvorenie Centra pomoci prehliadača Chrome na novej karte</translation>
 <translation id="5958275228015807058">Súbory a stránky nájdete v priečinku Stiahnuté súbory</translation>
 <translation id="5962718611393537961">Klepnutím zbaliť</translation>
+<translation id="5990142338020175451">Viac osobných služieb Googlu, napríklad lepšie návrhy stránok</translation>
 <translation id="6000066717592683814">Ponechať Google</translation>
 <translation id="6005538289190791541">Navrhované heslo</translation>
 <translation id="6039379616847168523">Prechod na ďalšiu kartu</translation>
@@ -657,6 +658,7 @@
 <translation id="6177111841848151710">Blokované v aktuálnom vyhľadávači</translation>
 <translation id="6177390657002841081">Zapnúť Šetrič dát</translation>
 <translation id="6181444274883918285">Pridať výnimku pre web</translation>
+<translation id="618993374665929060">Ďalšie podobné návrhy boli otvorené na celú výšku</translation>
 <translation id="6192333916571137726">Sťahovanie súboru</translation>
 <translation id="6192792657125177640">Výnimky</translation>
 <translation id="6206551242102657620">Pripojenie je zabezpečené. Informácie o webe</translation>
@@ -729,9 +731,11 @@
 <translation id="6697947395630195233">Chrome potrebuje prístup k vašej polohe, aby ju mohol zdieľať s týmto webom.</translation>
 <translation id="6698801883190606802">Spravovať synchronizované údaje</translation>
 <translation id="6710213216561001401">Dozadu</translation>
+<translation id="6712388303105732168">Zobrazovať ďalšie podobné návrhy od Googlu pomocou tlačidla Ďalšie podobné</translation>
 <translation id="6738867403308150051">Sťahuje sa...</translation>
 <translation id="6746124502594467657">Presunúť nadol</translation>
 <translation id="6762156594045689028">Ak chcete zmeniť toto nastavenie, <ph name="BEGIN_LINK" />resetujte synchronizáciu<ph name="END_LINK" /></translation>
+<translation id="6766622839693428701">Zatvorte potiahnutím dole.</translation>
 <translation id="6770414673596662518">Systém Bezpečné prehliadanie v prehliadači Chrome sa použije aj na rozpoznanie škodlivých stránok a ochranu pred phishingom, malvérom a sťahovaním škodlivých súborov.</translation>
 <translation id="6776813977906306442">Stiahnite si videá pomocou tlačidla Stiahnuť a pozrite si ich neskôr</translation>
 <translation id="6790428901817661496">Prehrať</translation>
@@ -784,7 +788,9 @@
 <translation id="7121362699166175603">Vymaže históriu a záznamy automatického dopĺňania v paneli s adresou. Váš účet Google môže mať ďalšie formy histórie prehliadania na adrese <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
 <translation id="7128222689758636196">Povoliť pre aktuálny vyhľadávač</translation>
 <translation id="7138678301420049075">Ostatné</translation>
+<translation id="7139148793369023665">Ďalšie podobné návrhy boli zatvorené</translation>
 <translation id="7141896414559753902">Blokovať na weboch zobrazovanie kontextových okien a presmerovania (odporúčané)</translation>
+<translation id="7149158118503947153"><ph name="BEGIN_LINK" />Načítať pôvodnú stránku<ph name="END_LINK" /> z domény <ph name="DOMAIN_NAME" /></translation>
 <translation id="7149893636342594995">Posledných 24 hodín</translation>
 <translation id="7176368934862295254"><ph name="KILOBYTES" /> kB</translation>
 <translation id="7177466738963138057">Zmeniť to môžete neskôr v časti Nastavenia</translation>
@@ -872,6 +878,7 @@
 <translation id="7846076177841592234">Zrušiť výber</translation>
 <translation id="784934925303690534">Časové obdobie</translation>
 <translation id="7851858861565204677">Ďalšie zariadenia</translation>
+<translation id="7854964836418414587">Zatvoriť ďalšie podobné návrhy</translation>
 <translation id="7875915731392087153">Vytvorte správu</translation>
 <translation id="7876243839304621966">Odstrániť všetko</translation>
 <translation id="7882131421121961860">Nenašla sa žiadna história</translation>
@@ -997,7 +1004,6 @@
 <translation id="8912362522468806198">účtu Google</translation>
 <translation id="8920114477895755567">Čaká sa na podrobnosti o rodičoch.</translation>
 <translation id="8922289737868596582">Stiahnite si stránky pomocou tlačidla Ďalšie možnosti, aby ste ich mohli použiť offline</translation>
-<translation id="8934029156920711950">Klepnutím zobrazíte články vybrané iba pre vás</translation>
 <translation id="8941729603749328384">www.example.com</translation>
 <translation id="8942627711005830162">Otvoriť v ďalšom okne</translation>
 <translation id="8951232171465285730">Chrome ušetril <ph name="MEGABYTES" /> MB</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_sl.xtb b/chrome/android/java/strings/translations/android_chrome_strings_sl.xtb
index a69f947..ec784b3 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_sl.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_sl.xtb
@@ -15,7 +15,6 @@
 <translation id="1111673857033749125">Tu bodo prikazani zaznamki, shranjeni v drugih napravah.</translation>
 <translation id="1113597929977215864">Pokaži poenostavljen pogled</translation>
 <translation id="1121094540300013208">Poročila o uporabi in zrušitvah</translation>
-<translation id="11221688409173367">Dotaknite se gumba za začetni zaslon, če si želite ogledati članke, izbrane za vas</translation>
 <translation id="1129510026454351943">Podrobnosti: <ph name="ERROR_DESCRIPTION" /></translation>
 <translation id="1141800923049248244">{FILE_COUNT,plural, =1{1 prenos na čakanju}one{# prenos na čakanju}two{# prenosa na čakanju}few{# prenosi na čakanju}other{# prenosov na čakanju}}</translation>
 <translation id="1145536944570833626">Izbris obstoječih podatkov.</translation>
@@ -166,7 +165,6 @@
 <translation id="2154484045852737596">Urejanje kartice</translation>
 <translation id="2154710561487035718">Kopiraj URL</translation>
 <translation id="2156074688469523661">Preostala spletna mesta (<ph name="NUMBER_OF_SITES" />)</translation>
-<translation id="2184766556418880456">Dotaknite se, če želite na trenutnem zavihku odpreti nov zavihek s povezavami</translation>
 <translation id="2206488550163399966"><ph name="APP_NAME" />, spletna aplikacija. <ph name="APP_URL" /></translation>
 <translation id="2227444325776770048">Nadaljujte kot <ph name="USER_FULL_NAME" /></translation>
 <translation id="2232379019872353004">Pošilja nekatere informacije o sistemu in vsebino strani Googlu</translation>
@@ -233,7 +231,6 @@
 <translation id="2709516037105925701">Samodejno izpolnjevanje</translation>
 <translation id="271033894570825754">Novo</translation>
 <translation id="2728754400939377704">Razvrsti glede na spletno mesto</translation>
-<translation id="2736391366332017384">Dotaknite se gumba za začetni zaslon, če želite na trenutnem zavihku odpreti nov zavihek s povezavami</translation>
 <translation id="2744248271121720757">Dotaknite se besede, če želite dinamično iskati ali prikazati sorodna dejanja</translation>
 <translation id="2762000892062317888">pravkar</translation>
 <translation id="2777555524387840389">Še <ph name="SECONDS" /> s</translation>
@@ -344,6 +341,7 @@
 <translation id="3744111561329211289">Sinhroniziranje v ozadju</translation>
 <translation id="3773755127849930740"><ph name="BEGIN_LINK" />Vklopite Bluetooth<ph name="END_LINK" />, če želite dovoliti seznanjanje</translation>
 <translation id="3778956594442850293">Dodano na začetni zaslon</translation>
+<translation id="3781011235031427080">Več podobnega odprtega pri polovični višini</translation>
 <translation id="3789841737615482174">Namesti</translation>
 <translation id="3810838688059735925">Video</translation>
 <translation id="3810973564298564668">Upravljanje</translation>
@@ -491,6 +489,7 @@
 <translation id="4913169188695071480">Ustavitev osveževanja</translation>
 <translation id="4915549754973153784"><ph name="BEGIN_LINK" />Poiščite pomoč<ph name="END_LINK" /> med iskanjem naprav …</translation>
 <translation id="4943872375798546930">Ni rezultatov</translation>
+<translation id="4956460920135325549">Stran v osnovnem načinu, ki jo je prikazal Google.</translation>
 <translation id="4958708863221495346"><ph name="URL_OF_THE_CURRENT_TAB" /> dostopa do vašega zaslona</translation>
 <translation id="4961334780091921942">Gesla, zgodovina in drugi podatki v vseh vaših napravah</translation>
 <translation id="4961700429721424617">Odjavili se boste iz računa, ki ga upravlja <ph name="MANAGED_DOMAIN" />. S tem boste iz te naprave izbrisali podatke v Chromu, vendar bodo vaši podatki še vedno na voljo v Google Računu.</translation>
@@ -510,6 +509,7 @@
 <translation id="5087580092889165836">Dodaj kartico</translation>
 <translation id="5100237604440890931">Strnjeno – kliknite, če želite razširiti.</translation>
 <translation id="510275257476243843">Še 1 h</translation>
+<translation id="5123685120097942451">Zavihek brez beleženja zgodovine</translation>
 <translation id="5127805178023152808">Sinhroniziranje je izklopljeno</translation>
 <translation id="5129038482087801250">Namesti spletno aplikacijo</translation>
 <translation id="5139940364318403933">Naučite se uporabljati Google Drive</translation>
@@ -657,6 +657,7 @@
 <translation id="6177111841848151710">Blokirano za trenutni iskalnik</translation>
 <translation id="6177390657002841081">Vklop varčevanja s podatki</translation>
 <translation id="6181444274883918285">Dodaj izjemo za spletno mesto</translation>
+<translation id="618993374665929060">Več podobnega odprtega pri polni višini</translation>
 <translation id="6192333916571137726">Datoteka Odjemanje</translation>
 <translation id="6192792657125177640">Izjeme</translation>
 <translation id="6206551242102657620">Povezava je varna. Podatki o spletnem mestu.</translation>
@@ -729,9 +730,11 @@
 <translation id="6697947395630195233">Chrome potrebuje dostop do vaše lokacije, da jo bo lahko delil s tem spletnim mestom.</translation>
 <translation id="6698801883190606802">Upravljanje sinhroniziranih podatkov</translation>
 <translation id="6710213216561001401">Nazaj</translation>
+<translation id="6712388303105732168">Oglejte si več podobnega v Googlu z gumbom za več podobnega</translation>
 <translation id="6738867403308150051">Prenašanje ...</translation>
 <translation id="6746124502594467657">Premakni dol</translation>
 <translation id="6762156594045689028">Če želite spremeniti to nastavitev, <ph name="BEGIN_LINK" />ponastavite sinhronizacijo<ph name="END_LINK" /></translation>
+<translation id="6766622839693428701">Povlecite navzdol, da zaprete.</translation>
 <translation id="6770414673596662518">Chromov sistem varnega brskanja bo uporabljen za odkrivanje strani z zlonamerno vsebino in zaščito pred lažnim predstavljanjem, zlonamerno programsko opremo in škodljivimi prenosi.</translation>
 <translation id="6776813977906306442">Z gumbom za prenos lahko prenesete videoposnetke za poznejši ogled</translation>
 <translation id="6790428901817661496">Predvajanje</translation>
@@ -784,7 +787,9 @@
 <translation id="7121362699166175603">Izbriše zgodovino in samodokončanja v naslovni vrstici. V Google Računu so morda druge vrste zgodovine brskanja na <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
 <translation id="7128222689758636196">Dovoli trenutni iskalnik</translation>
 <translation id="7138678301420049075">Drugo</translation>
+<translation id="7139148793369023665">Več podobnega je zaprto</translation>
 <translation id="7141896414559753902">Preprečevanje, da spletna mesta prikazujejo pojavna okna in preusmeritve (priporočeno)</translation>
+<translation id="7149158118503947153"><ph name="BEGIN_LINK" />Naloži izvirno stran<ph name="END_LINK" /> iz domene <ph name="DOMAIN_NAME" /></translation>
 <translation id="7149893636342594995">Zadnjih 24 ur</translation>
 <translation id="7176368934862295254"><ph name="KILOBYTES" /> KB</translation>
 <translation id="7177466738963138057">To lahko pozneje spremenite v nastavitvah</translation>
@@ -872,6 +877,7 @@
 <translation id="7846076177841592234">Prekliči izbor</translation>
 <translation id="784934925303690534">Časovno obdobje</translation>
 <translation id="7851858861565204677">Druge naprave</translation>
+<translation id="7854964836418414587">Zapiranje več podobnega</translation>
 <translation id="7875915731392087153">Ustvarite e-poštno sporočilo</translation>
 <translation id="7876243839304621966">Odstrani vse</translation>
 <translation id="7882131421121961860">Ni zgodovine</translation>
@@ -999,7 +1005,6 @@
 <translation id="8912362522468806198">Google Račun</translation>
 <translation id="8920114477895755567">Čakanje na podrobnosti o staršu.</translation>
 <translation id="8922289737868596582">Prenos strani za uporabo brez povezave z gumbom »Več možnosti«</translation>
-<translation id="8934029156920711950">Dotaknite se, če si želite ogledati članke, izbrane za vas</translation>
 <translation id="8941729603749328384">www.example.com</translation>
 <translation id="8942627711005830162">Odpri v drugem oknu</translation>
 <translation id="8951232171465285730">S Chromom ste prihranili <ph name="MEGABYTES" /> MB</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_sr.xtb b/chrome/android/java/strings/translations/android_chrome_strings_sr.xtb
index dedf371..cb554fe 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_sr.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_sr.xtb
@@ -15,7 +15,6 @@
 <translation id="1111673857033749125">Обележивачи сачувани на другим уређајима ће се приказати овде.</translation>
 <translation id="1113597929977215864">Прикажи поједностављени приказ</translation>
 <translation id="1121094540300013208">Извештаји о коришћењу и отказивању</translation>
-<translation id="11221688409173367">Додирните дугме Почетак да бисте прегледали чланке изабране само за вас</translation>
 <translation id="1129510026454351943">Детаљи: <ph name="ERROR_DESCRIPTION" /></translation>
 <translation id="1141800923049248244">{FILE_COUNT,plural, =1{1 преузимање на чекању.}one{# преузимање на чекању.}few{# преузимања на чекању.}other{# преузимања на чекању.}}</translation>
 <translation id="1145536944570833626">Избришите постојеће податке</translation>
@@ -166,7 +165,6 @@
 <translation id="2154484045852737596">Измените картицу</translation>
 <translation id="2154710561487035718">Копирање URL адресе</translation>
 <translation id="2156074688469523661">Преостали сајтови (<ph name="NUMBER_OF_SITES" />)</translation>
-<translation id="2184766556418880456">Додирните да бисте отворили страницу нове картице на тренутној картици</translation>
 <translation id="2206488550163399966"><ph name="APP_NAME" />, веб-апликација. <ph name="APP_URL" /></translation>
 <translation id="2227444325776770048">Настави као <ph name="USER_FULL_NAME" /></translation>
 <translation id="2232379019872353004">Шаљи неке системске информације и садржај страница Google-у</translation>
@@ -233,7 +231,6 @@
 <translation id="2709516037105925701">Аутоматско попуњавање</translation>
 <translation id="271033894570825754">Ново</translation>
 <translation id="2728754400939377704">Сортирај по сајту</translation>
-<translation id="2736391366332017384">Додирните дугме Почетак да бисте отворили страницу нове картице на тренутној картици</translation>
 <translation id="2744248271121720757">Додирните реч да бисте је тренутно претражили или видели повезане радње</translation>
 <translation id="2762000892062317888">малопре</translation>
 <translation id="2777555524387840389">Још <ph name="SECONDS" /> сек</translation>
@@ -344,6 +341,7 @@
 <translation id="3744111561329211289">Синхронизација у позадини</translation>
 <translation id="3773755127849930740"><ph name="BEGIN_LINK" />Укључите Bluetooth<ph name="END_LINK" /> да бисте омогућили упаривање</translation>
 <translation id="3778956594442850293">Додато је на почетни екран</translation>
+<translation id="3781011235031427080">Још сличних ствари је отворено до пола</translation>
 <translation id="3789841737615482174">Инсталирај</translation>
 <translation id="3810838688059735925">Видео</translation>
 <translation id="3810973564298564668">Промени</translation>
@@ -492,6 +490,7 @@
 <translation id="4913169188695071480">Заустави освежавање</translation>
 <translation id="4915549754973153784"><ph name="BEGIN_LINK" />Потражите помоћ<ph name="END_LINK" /> док скенирате уређаје…</translation>
 <translation id="4943872375798546930">Нема резултата</translation>
+<translation id="4956460920135325549">Поједностављену страницу пружа Google.</translation>
 <translation id="4958708863221495346"><ph name="URL_OF_THE_CURRENT_TAB" /> дели екран</translation>
 <translation id="4961334780091921942">Лозинке, историја и други садржај са свих уређаја</translation>
 <translation id="4961700429721424617">Одјављујете се са налога којим управља <ph name="MANAGED_DOMAIN" />. Тако бришете Chrome податке са овог уређаја, али ће подаци остати на Google налогу.</translation>
@@ -511,6 +510,7 @@
 <translation id="5087580092889165836">Додај картицу</translation>
 <translation id="5100237604440890931">Скупљено је – Кликните да бисте проширили.</translation>
 <translation id="510275257476243843">Још 1 сат</translation>
+<translation id="5123685120097942451">Картица без архивирања</translation>
 <translation id="5127805178023152808">Синхронизација је искључена</translation>
 <translation id="5129038482087801250">Инсталирај веб-апликацију</translation>
 <translation id="5139940364318403933">Сазнајте како да користите Google диск</translation>
@@ -658,6 +658,7 @@
 <translation id="6177111841848151710">Блокирано је за актуелни претраживач</translation>
 <translation id="6177390657002841081">Укључи Уштеду података</translation>
 <translation id="6181444274883918285">Додај изузетак за сајтове</translation>
+<translation id="618993374665929060">Још сличних ствари је отворено у целини</translation>
 <translation id="6192333916571137726">Преузмите датотеку</translation>
 <translation id="6192792657125177640">Изузеци</translation>
 <translation id="6206551242102657620">Веза је безбедна. Информације о сајту</translation>
@@ -730,9 +731,11 @@
 <translation id="6697947395630195233">Chrome тражи приступ вашој локацији да бисте је делили са овим сајтом.</translation>
 <translation id="6698801883190606802">Управљајте синхронизованим подацима</translation>
 <translation id="6710213216561001401">Претходно</translation>
+<translation id="6712388303105732168">Погледајте још сличних ствари од Google-а помоћу дугмета Још сличних ствари</translation>
 <translation id="6738867403308150051">Преузима се...</translation>
 <translation id="6746124502594467657">Премести надоле</translation>
 <translation id="6762156594045689028">Да бисте променили ово подешавање, <ph name="BEGIN_LINK" />ресетујте синхронизацију<ph name="END_LINK" /></translation>
+<translation id="6766622839693428701">Превуците надоле да бисте затворили.</translation>
 <translation id="6770414673596662518">Chrome-ов систем Безбедно прегледање ћемо користити и да бисмо откривали злонамерне странице и да бисмо вас заштитили од „пецања“, малвера и штетних преузимања.</translation>
 <translation id="6776813977906306442">Помоћу дугмета Преузми преузимајте видео снимке да бисте их касније гледали</translation>
 <translation id="6790428901817661496">Пусти</translation>
@@ -785,7 +788,9 @@
 <translation id="7121362699166175603">Брише историју и аутоматска довршавања у траци за адресу. Google налог може да има друге облике историје прегледања на <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
 <translation id="7128222689758636196">Дозволи за актуелни претраживач</translation>
 <translation id="7138678301420049075">Друго</translation>
+<translation id="7139148793369023665">Још сличних ствари је затворено</translation>
 <translation id="7141896414559753902">Блокирај приказивање искачућих прозора и преусмеравања на сајтовима (препоручено)</translation>
+<translation id="7149158118503947153"><ph name="BEGIN_LINK" />Учитај оригиналну страницу<ph name="END_LINK" /> са <ph name="DOMAIN_NAME" /></translation>
 <translation id="7149893636342594995">Последња 24 сата</translation>
 <translation id="7176368934862295254"><ph name="KILOBYTES" /> kB</translation>
 <translation id="7177466738963138057">То можете да промените касније у подешавањима</translation>
@@ -873,6 +878,7 @@
 <translation id="7846076177841592234">Откажи избор</translation>
 <translation id="784934925303690534">Временски опсег</translation>
 <translation id="7851858861565204677">Други уређаји</translation>
+<translation id="7854964836418414587">Затворите Још сличних ствари</translation>
 <translation id="7875915731392087153">Напишите имејл</translation>
 <translation id="7876243839304621966">Уклони све</translation>
 <translation id="7882131421121961860">Историја није пронађена</translation>
@@ -1000,7 +1006,6 @@
 <translation id="8912362522468806198">Google налога</translation>
 <translation id="8920114477895755567">Чекају се детаљи родитеља.</translation>
 <translation id="8922289737868596582">Преузмите странице помоћу дугмета Још опција да бисте их користили офлајн</translation>
-<translation id="8934029156920711950">Додирните да бисте прегледали чланке изабране само за вас</translation>
 <translation id="8941729603749328384">www.example.com</translation>
 <translation id="8942627711005830162">Отвори у другом прозору</translation>
 <translation id="8951232171465285730">Chrome вам је уштедео <ph name="MEGABYTES" /> MB</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_sv.xtb b/chrome/android/java/strings/translations/android_chrome_strings_sv.xtb
index 311d861d..d851eb70 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_sv.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_sv.xtb
@@ -15,7 +15,6 @@
 <translation id="1111673857033749125">Här visas bokmärken som du har sparat på andra enheter.</translation>
 <translation id="1113597929977215864">Använd förenklad visning</translation>
 <translation id="1121094540300013208">Användning och felrapporter</translation>
-<translation id="11221688409173367">Tryck på hemknappen om du vill se artiklar som valts ut för dig</translation>
 <translation id="1129510026454351943">Mer information: <ph name="ERROR_DESCRIPTION" /></translation>
 <translation id="1141800923049248244">{FILE_COUNT,plural, =1{1 nedladdning väntar.}other{# nedladdningar väntar.}}</translation>
 <translation id="1145536944570833626">Radera befintlig data.</translation>
@@ -166,7 +165,6 @@
 <translation id="2154484045852737596">Redigera kortet</translation>
 <translation id="2154710561487035718">Kopiera webbadress</translation>
 <translation id="2156074688469523661">Återstående webbplatser (<ph name="NUMBER_OF_SITES" />)</translation>
-<translation id="2184766556418880456">Tryck här om du vill öppna sidan Ny flik på den aktuella fliken</translation>
 <translation id="2206488550163399966"><ph name="APP_NAME" />, webbapp. <ph name="APP_URL" /></translation>
 <translation id="2227444325776770048">Fortsätt som <ph name="USER_FULL_NAME" /></translation>
 <translation id="2232379019872353004">Skickar viss information om systemet och sidors innehåll till Google</translation>
@@ -233,7 +231,6 @@
 <translation id="2709516037105925701">Autofyll</translation>
 <translation id="271033894570825754">Ny</translation>
 <translation id="2728754400939377704">Sortera efter webbplats</translation>
-<translation id="2736391366332017384">Tryck på hemknappen om du vill öppna sidan Ny flik på den aktuella fliken</translation>
 <translation id="2744248271121720757">Tryck på ett ord om du vill söka direkt eller visa relaterade åtgärder</translation>
 <translation id="2762000892062317888">nyss</translation>
 <translation id="2777555524387840389"><ph name="SECONDS" /> sekunder kvar</translation>
@@ -344,6 +341,7 @@
 <translation id="3744111561329211289">Synkronisera i bakgrunden</translation>
 <translation id="3773755127849930740"><ph name="BEGIN_LINK" />Aktivera Bluetooth<ph name="END_LINK" /> om du vill tillåta koppling</translation>
 <translation id="3778956594442850293">Tillagd på startskärmen</translation>
+<translation id="3781011235031427080">Fler liknande har öppnats och tar upp halva skärmen</translation>
 <translation id="3789841737615482174">Installera</translation>
 <translation id="3810838688059735925">Video</translation>
 <translation id="3810973564298564668">Hantera</translation>
@@ -492,6 +490,7 @@
 <translation id="4913169188695071480">Sluta uppdatera</translation>
 <translation id="4915549754973153784"><ph name="BEGIN_LINK" />Få hjälp<ph name="END_LINK" /> under sökningen efter enheter …</translation>
 <translation id="4943872375798546930">Inga resultat</translation>
+<translation id="4956460920135325549">Lite-sida via Google.</translation>
 <translation id="4958708863221495346"><ph name="URL_OF_THE_CURRENT_TAB" /> delar skärmen</translation>
 <translation id="4961334780091921942">Samma lösenord, historik med mera på alla dina enheter</translation>
 <translation id="4961700429721424617">Du håller på att logga ut från ett konto som hanteras av <ph name="MANAGED_DOMAIN" />. Åtgärden raderar din data i Chrome från den här enheten, men den finns kvar i Google-kontot.</translation>
@@ -511,6 +510,7 @@
 <translation id="5087580092889165836">Lägg till kort</translation>
 <translation id="5100237604440890931">Vyn har komprimerats. Expandera den genom att klicka.</translation>
 <translation id="510275257476243843">1 timme kvar</translation>
+<translation id="5123685120097942451">Inkognitoflik</translation>
 <translation id="5127805178023152808">Synkronisering är av</translation>
 <translation id="5129038482087801250">Installera webbapp</translation>
 <translation id="5139940364318403933">Lär dig använda Google Drive</translation>
@@ -658,6 +658,7 @@
 <translation id="6177111841848151710">Blockerad för den nuvarande sökmotorn</translation>
 <translation id="6177390657002841081">Aktivera Databesparing</translation>
 <translation id="6181444274883918285">Lägg till en webbplats i undantagen</translation>
+<translation id="618993374665929060">Fler liknande har öppnats och tar upp hela skärmen</translation>
 <translation id="6192333916571137726">Ladda ned fil</translation>
 <translation id="6192792657125177640">Undantag</translation>
 <translation id="6206551242102657620">Anslutningen är säker. Webbplatsinformation</translation>
@@ -730,9 +731,11 @@
 <translation id="6697947395630195233">Du behöver ge Chrome åtkomstbehörighet till din plats om den ska kunna delas med webbplatsen.</translation>
 <translation id="6698801883190606802">Hantera synkroniserad data</translation>
 <translation id="6710213216561001401">Föregående</translation>
+<translation id="6712388303105732168">Se mer som detta från Google med knappen Fler liknande</translation>
 <translation id="6738867403308150051">Laddar ned …</translation>
 <translation id="6746124502594467657">Flytta ned</translation>
 <translation id="6762156594045689028"><ph name="BEGIN_LINK" />Återställ synkroniseringen<ph name="END_LINK" /> om du vill ändra den här inställningen.</translation>
+<translation id="6766622839693428701">Svep nedåt när du vill stänga.</translation>
 <translation id="6770414673596662518">Säker webbsökning i Chrome används dessutom för att identifiera skadliga sidor och skydda dig från nätfiske, skadlig programvara och skadliga filnedladdningar.</translation>
 <translation id="6776813977906306442">Ladda ned videor att titta på senare med knappen Ladda ned.</translation>
 <translation id="6790428901817661496">Spela</translation>
@@ -785,7 +788,9 @@
 <translation id="7121362699166175603">Historik och autoslutföranden i adressfältet rensas. Det kan finnas andra former av webbhistorik i Google-kontot på <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
 <translation id="7128222689758636196">Tillåt för den nuvarande sökmotorn</translation>
 <translation id="7138678301420049075">Övrigt</translation>
+<translation id="7139148793369023665">Fler liknande har stängts</translation>
 <translation id="7141896414559753902">Blockera webbplatser från att visa popup-fönster (rekommenderas)</translation>
+<translation id="7149158118503947153"><ph name="BEGIN_LINK" />Läs in originalsidan<ph name="END_LINK" /> från <ph name="DOMAIN_NAME" /></translation>
 <translation id="7149893636342594995">Senaste 24 timmarna</translation>
 <translation id="7176368934862295254"><ph name="KILOBYTES" /> kB</translation>
 <translation id="7177466738963138057">Du kan ändra detta senare i inställningarna</translation>
@@ -873,6 +878,7 @@
 <translation id="7846076177841592234">Rensa val</translation>
 <translation id="784934925303690534">Tidsintervall</translation>
 <translation id="7851858861565204677">Andra enheter</translation>
+<translation id="7854964836418414587">Stäng Fler liknande</translation>
 <translation id="7875915731392087153">Skapa ett e-postmeddelande</translation>
 <translation id="7876243839304621966">Ta bort alla</translation>
 <translation id="7882131421121961860">Ingen historik hittades</translation>
@@ -1000,7 +1006,6 @@
 <translation id="8912362522468806198">Google-konto</translation>
 <translation id="8920114477895755567">Väntar på föräldrauppgifter.</translation>
 <translation id="8922289737868596582">Ladda ned sidor via knappen Fler alternativ så att du kan använda dem offline</translation>
-<translation id="8934029156920711950">Tryck här om du vill se artiklar som valts ut för dig</translation>
 <translation id="8941729603749328384">www.example.com</translation>
 <translation id="8942627711005830162">Öppna i ett annat fönster</translation>
 <translation id="8951232171465285730">Du har sparat <ph name="MEGABYTES" /> MB med Chrome</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_sw.xtb b/chrome/android/java/strings/translations/android_chrome_strings_sw.xtb
index 34f174ec..81e10181 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_sw.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_sw.xtb
@@ -15,7 +15,6 @@
 <translation id="1111673857033749125">Alamisho zilizohifadhiwa katika vifaa vyako vingine zitaonekana hapa.</translation>
 <translation id="1113597929977215864">Onyesha mwonekano rahisi</translation>
 <translation id="1121094540300013208">Ripoti za matumizi na za kuacha kufanya kazi</translation>
-<translation id="11221688409173367">Gusa kitufe cha ukurasa wa mwanzo ili uone makala yaliyochaguliwa mahususi kwa ajili yako</translation>
 <translation id="1129510026454351943">Maelezo: <ph name="ERROR_DESCRIPTION" /></translation>
 <translation id="1141800923049248244">{FILE_COUNT,plural, =1{Inasubiri kupakua faili 1.}other{Inasubiri kupakua faili #.}}</translation>
 <translation id="1145536944570833626">Futa data iliyopo.</translation>
@@ -166,7 +165,6 @@
 <translation id="2154484045852737596">Badilisha kadi</translation>
 <translation id="2154710561487035718">Nakili UR:</translation>
 <translation id="2156074688469523661">Tovuti zilizosalia (<ph name="NUMBER_OF_SITES" />)</translation>
-<translation id="2184766556418880456">Gusa ili upate ukurasa wa kichupo kipya kwenye kichupo chako cha sasa</translation>
 <translation id="2206488550163399966"><ph name="APP_NAME" />, programu ya wavuti. <ph name="APP_URL" /></translation>
 <translation id="2227444325776770048">Endelea ukitumia <ph name="USER_FULL_NAME" /></translation>
 <translation id="2232379019872353004">Hutuma baadhi ya maelezo ya mfumo na maudhui ya ukurasa kwa Google</translation>
@@ -233,7 +231,6 @@
 <translation id="2709516037105925701">Kujaza Kiotomatiki</translation>
 <translation id="271033894570825754">Mpya</translation>
 <translation id="2728754400939377704">Panga kulingana na tovuti</translation>
-<translation id="2736391366332017384">Gusa kitufe cha ukurasa wa mwanzo ili upate ukurasa wa kichupo kipya kwenye kichupo chako cha sasa</translation>
 <translation id="2744248271121720757">Gusa neno ili utafute papo hapo au uone vitendo vinavyohusiana</translation>
 <translation id="2762000892062317888">sasa hivi tu</translation>
 <translation id="2777555524387840389">Zimesalia sekunde <ph name="SECONDS" /></translation>
@@ -344,6 +341,7 @@
 <translation id="3744111561329211289">Usawazishaji wa chini chini</translation>
 <translation id="3773755127849930740"><ph name="BEGIN_LINK" />Washa Bluetooth<ph name="END_LINK" /> ili uruhusu kuoanisha</translation>
 <translation id="3778956594442850293">Imeongezwa kwenye Skrini ya Kwanza</translation>
+<translation id="3781011235031427080">Mengine kama hili hayakufunguliwa kikamilifu</translation>
 <translation id="3789841737615482174">Sakinisha</translation>
 <translation id="3810838688059735925">Video</translation>
 <translation id="3810973564298564668">Dhibiti</translation>
@@ -492,6 +490,7 @@
 <translation id="4913169188695071480">Acha kuonyesha upya</translation>
 <translation id="4915549754973153784"><ph name="BEGIN_LINK" />Pata usaidizi<ph name="END_LINK" /> huku ukitafuta vifaa...</translation>
 <translation id="4943872375798546930">Hakuna matokeo yoyote yaliyopatikana</translation>
+<translation id="4956460920135325549">Ukurasa mwepesi umewasilishwa na Google.</translation>
 <translation id="4958708863221495346"><ph name="URL_OF_THE_CURRENT_TAB" /> inashiriki skrini yako</translation>
 <translation id="4961334780091921942">Manenosiri yako, historia na zaidi katika vifaa vyote</translation>
 <translation id="4961700429721424617">Unaondoka kwenye akaunti inayodhibitiwa na <ph name="MANAGED_DOMAIN" />. Hatua hii itafuta data yako ya Chrome kwenye kifaa hiki, lakini data yako itasalia katika akaunti yako ya Google.</translation>
@@ -511,6 +510,7 @@
 <translation id="5087580092889165836">Ongeza kadi</translation>
 <translation id="5100237604440890931">Imekunjwa - bofya ili upanue.</translation>
 <translation id="510275257476243843">Imesalia saa 1</translation>
+<translation id="5123685120097942451">Kichupo fiche</translation>
 <translation id="5127805178023152808">Usawazishaji umezimwa</translation>
 <translation id="5129038482087801250">Sakinisha programu ya wavuti</translation>
 <translation id="5139940364318403933">Pata maelezo ya jinsi ya kutumia Google Drive</translation>
@@ -658,6 +658,7 @@
 <translation id="6177111841848151710">Haijaruhusiwa kwa mtambo wa sasa wa kutafuta</translation>
 <translation id="6177390657002841081">Washa Kiokoa Data</translation>
 <translation id="6181444274883918285">Ongeza tovuti mpya kwenye orodha ya vighairi</translation>
+<translation id="618993374665929060">Mengine kama hili yalifunguliwa kikamilifu</translation>
 <translation id="6192333916571137726">Pakua faili</translation>
 <translation id="6192792657125177640">Vighairi</translation>
 <translation id="6206551242102657620">Muunganisho ni salama. Maelezo ya tovuti</translation>
@@ -730,9 +731,11 @@
 <translation id="6697947395630195233">Chrome inahitaji kufikia maelezo ya mahali ulipo ili kuyashiriki na tovuti hii.</translation>
 <translation id="6698801883190606802">Dhibiti data iliyosawazishwa</translation>
 <translation id="6710213216561001401">Iliyotangulia</translation>
+<translation id="6712388303105732168">Angalia mapendekezo mengine yanayofanana na hili kwenye Google ukitumia kitufe cha Mengine Kama Hili</translation>
 <translation id="6738867403308150051">Inapakua...</translation>
 <translation id="6746124502594467657">Songa chini</translation>
 <translation id="6762156594045689028">Ili kubadilisha mipangilio hii, <ph name="BEGIN_LINK" />fanya usawazishaji upya<ph name="END_LINK" /></translation>
+<translation id="6766622839693428701">Telezesha chini ili ufunge.</translation>
 <translation id="6770414673596662518">Mfumo wa Kuvinjari Salama wa Chrome pia utatumiwa kugundua kurasa hasidi na kukulinda dhidi ya hadaa ili kupata maelezo ya kibinafsi, programu hasidi, na vipakuliwa vya kudhuru.</translation>
 <translation id="6776813977906306442">Pakua video za kutazama baadaye ukitumia kifute cha Kupakua</translation>
 <translation id="6790428901817661496">Cheza</translation>
@@ -785,7 +788,9 @@
 <translation id="7121362699166175603">Hufuta historia na ukamilishaji kiotomatiki kwenye sehemu ya anwani. Huenda Akaunti yako ya Google ikawa na aina nyingine za historia ya kuvinjari kwenye <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
 <translation id="7128222689758636196">Ruhusu kwa mtambo wa sasa wa kutafuta</translation>
 <translation id="7138678301420049075">Nyingine</translation>
+<translation id="7139148793369023665">Mengine kama hili yamefungwa</translation>
 <translation id="7141896414559753902">Zuia tovuti zisionyeshe madirisha ibukizi na kuelekeza kwingine (inapendekezwa)</translation>
+<translation id="7149158118503947153"><ph name="BEGIN_LINK" />Pakia ukurasa halisi<ph name="END_LINK" /> kutoka <ph name="DOMAIN_NAME" /></translation>
 <translation id="7149893636342594995">Saa 24 zilizopita</translation>
 <translation id="7176368934862295254">KB <ph name="KILOBYTES" /></translation>
 <translation id="7177466738963138057">Unaweza kubadilisha hii baadaye katika Mipangilio</translation>
@@ -873,6 +878,7 @@
 <translation id="7846076177841592234">Ghairi uchaguzi</translation>
 <translation id="784934925303690534">Muda</translation>
 <translation id="7851858861565204677">Vifaa vingine</translation>
+<translation id="7854964836418414587">Funga mengine kama hili</translation>
 <translation id="7875915731392087153">Tunga barua pepe</translation>
 <translation id="7876243839304621966">Ondoa yote</translation>
 <translation id="7882131421121961860">Hakuna historia iliyopatikana</translation>
@@ -1000,7 +1006,6 @@
 <translation id="8912362522468806198">Akaunti ya Google</translation>
 <translation id="8920114477895755567">Tunasubiri maelezo ya wazazi.</translation>
 <translation id="8922289737868596582">Pakua kurasa kwenye kitufe cha Chaguo zaidi ili uzitumie nje ya mtandao</translation>
-<translation id="8934029156920711950">Gusa ili uone makala yaliyochaguliwa mahususi kwa ajili yako</translation>
 <translation id="8941729603749328384">www.example.com</translation>
 <translation id="8942627711005830162">Fungua katika dirisha jingine</translation>
 <translation id="8951232171465285730">Chrome imekuokolea MB <ph name="MEGABYTES" /></translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_th.xtb b/chrome/android/java/strings/translations/android_chrome_strings_th.xtb
index d5433c05..4a88d8c 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_th.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_th.xtb
@@ -15,7 +15,6 @@
 <translation id="1111673857033749125">บุ๊กมาร์กที่บันทึกไว้ในอุปกรณ์เครื่องอื่นๆ ของคุณจะปรากฏที่นี่</translation>
 <translation id="1113597929977215864">แสดง "มุมมองอย่างง่าย"</translation>
 <translation id="1121094540300013208">รายงานการใช้งานและข้อขัดข้อง</translation>
-<translation id="11221688409173367">แตะปุ่มหน้าแรกเพื่อดูบทความที่เลือกไว้ให้คุณโดยเฉพาะ</translation>
 <translation id="1129510026454351943">รายละเอียด: <ph name="ERROR_DESCRIPTION" /></translation>
 <translation id="1141800923049248244">{FILE_COUNT,plural, =1{การดาวน์โหลดที่รอดำเนินการ 1 รายการ}other{การดาวน์โหลดที่รอดำเนินการ # รายการ}}</translation>
 <translation id="1145536944570833626">ลบข้อมูลที่มีอยู่</translation>
@@ -166,7 +165,6 @@
 <translation id="2154484045852737596">แก้ไขบัตร</translation>
 <translation id="2154710561487035718">คัดลอก URL</translation>
 <translation id="2156074688469523661">เว็บไซต์ที่เหลือ (<ph name="NUMBER_OF_SITES" />)</translation>
-<translation id="2184766556418880456">แตะเพื่อไปที่หน้าแท็บใหม่ในแท็บปัจจุบัน</translation>
 <translation id="2206488550163399966">เว็บแอป <ph name="APP_NAME" />, <ph name="APP_URL" /></translation>
 <translation id="2227444325776770048">ดำเนินการต่อในชื่อ <ph name="USER_FULL_NAME" /></translation>
 <translation id="2232379019872353004">ส่งข้อมูลบางอย่างของระบบและเนื้อหาของหน้าเว็บให้กับ Google</translation>
@@ -233,7 +231,6 @@
 <translation id="2709516037105925701">ป้อนอัตโนมัติ</translation>
 <translation id="271033894570825754">ใหม่</translation>
 <translation id="2728754400939377704">จัดเรียงตามเว็บไซต์</translation>
-<translation id="2736391366332017384">แตะปุ่มหน้าแรกเพื่อไปที่หน้าแท็บใหม่ในแท็บปัจจุบัน</translation>
 <translation id="2744248271121720757">แตะคำเพื่อค้นหาทันทีหรือดูการทำงานที่เกี่ยวข้อง</translation>
 <translation id="2762000892062317888">เมื่อสักครู่</translation>
 <translation id="2777555524387840389">เหลือ <ph name="SECONDS" /> วิ</translation>
@@ -344,6 +341,7 @@
 <translation id="3744111561329211289">ซิงค์ในแบ็กกราวด์</translation>
 <translation id="3773755127849930740"><ph name="BEGIN_LINK" />เปิดบลูทูธ<ph name="END_LINK" />เพื่อให้จับคู่ได้</translation>
 <translation id="3778956594442850293">เพิ่มในหน้าจอหลักแล้ว</translation>
+<translation id="3781011235031427080">"ดูคำแนะนำแบบนี้อีก" เปิดอยู่ที่ระดับความสูงครึ่งหนึ่งของหน้าจอ</translation>
 <translation id="3789841737615482174">ติดตั้ง</translation>
 <translation id="3810838688059735925">วิดีโอ</translation>
 <translation id="3810973564298564668">จัดการ</translation>
@@ -492,6 +490,7 @@
 <translation id="4913169188695071480">หยุดรีเฟรช</translation>
 <translation id="4915549754973153784"><ph name="BEGIN_LINK" />รับความช่วยเหลือ<ph name="END_LINK" />ระหว่างการค้นหาอุปกรณ์…</translation>
 <translation id="4943872375798546930">ไม่มีผลการค้นหา</translation>
+<translation id="4956460920135325549">หน้าเวอร์ชัน Lite แสดงโดย Google</translation>
 <translation id="4958708863221495346"><ph name="URL_OF_THE_CURRENT_TAB" /> กำลังแชร์หน้าจอของคุณ</translation>
 <translation id="4961334780091921942">รหัสผ่าน ประวัติการเข้าชม และอื่นๆ ในอุปกรณ์ทุกเครื่อง</translation>
 <translation id="4961700429721424617">คุณกำลังออกจากระบบบัญชีที่จัดการโดย <ph name="MANAGED_DOMAIN" /> การออกจากระบบจะลบข้อมูล Chrome ออกจากอุปกรณ์เครื่องนี้ แต่ข้อมูลจะยังคงอยู่ในบัญชี Google</translation>
@@ -511,6 +510,7 @@
 <translation id="5087580092889165836">เพิ่มบัตร</translation>
 <translation id="5100237604440890931">ยุบ - คลิกเพื่อขยาย</translation>
 <translation id="510275257476243843">เหลือ 1 ชั่วโมง</translation>
+<translation id="5123685120097942451">แท็บที่ไม่ระบุตัวตน</translation>
 <translation id="5127805178023152808">การซิงค์ปิดอยู่</translation>
 <translation id="5129038482087801250">ติดตั้งเว็บแอป</translation>
 <translation id="5139940364318403933">ดูวิธีใช้ Google ไดรฟ์</translation>
@@ -658,6 +658,7 @@
 <translation id="6177111841848151710">ถูกบล็อกสำหรับเครื่องมือค้นหาปัจจุบัน</translation>
 <translation id="6177390657002841081">เปิดโปรแกรมประหยัดอินเทอร์เน็ต</translation>
 <translation id="6181444274883918285">เพิ่มข้อยกเว้นของเว็บไซต์</translation>
+<translation id="618993374665929060">"ดูคำแนะนำแบบนี้อีก" เปิดอยู่ที่ระดับความสูงเต็มหน้าจอ</translation>
 <translation id="6192333916571137726">ดาวน์โหลดไฟล์</translation>
 <translation id="6192792657125177640">ข้อยกเว้น</translation>
 <translation id="6206551242102657620">การเชื่อมต่อปลอดภัย ข้อมูลเว็บไซต์</translation>
@@ -730,9 +731,11 @@
 <translation id="6697947395630195233">Chrome ต้องการสิทธิ์เข้าถึงตำแหน่งของคุณเพื่อแชร์ตำแหน่งกับไซต์นี้</translation>
 <translation id="6698801883190606802">จัดการข้อมูลที่ซิงค์</translation>
 <translation id="6710213216561001401">ก่อนหน้า</translation>
+<translation id="6712388303105732168">ดูคำแนะนำแบบนี้จาก Google อีกโดยใช้ปุ่ม "ดูคำแนะนำแบบนี้อีก"</translation>
 <translation id="6738867403308150051">กำลังดาวน์โหลด…</translation>
 <translation id="6746124502594467657">เลื่อนลง</translation>
 <translation id="6762156594045689028">หากต้องการเปลี่ยนการตั้งค่านี้ โปรด<ph name="BEGIN_LINK" />รีเซ็ตการซิงค์<ph name="END_LINK" /></translation>
+<translation id="6766622839693428701">เลื่อนลงเพื่อปิด</translation>
 <translation id="6770414673596662518">ระบบ Safe Browsing ของ Chrome ยังใช้ในการตรวจหาหน้าเว็บที่ไม่ปลอดภัยและปกป้องคุณจากฟิชชิง มัลแวร์ และการดาวน์โหลดที่เป็นอันตราย</translation>
 <translation id="6776813977906306442">ดาวน์โหลดวิดีโอไว้ดูภายหลังโดยใช้ปุ่ม "ดาวน์โหลด"</translation>
 <translation id="6790428901817661496">เล่น</translation>
@@ -785,7 +788,9 @@
 <translation id="7121362699166175603">ล้างประวัติและการเติมข้อความอัตโนมัติในแถบที่อยู่เว็บ บัญชี Google อาจมีประวัติการท่องเว็บรูปแบบอื่นๆ ที่ <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /></translation>
 <translation id="7128222689758636196">อนุญาตสำหรับเครื่องมือค้นหาปัจจุบัน</translation>
 <translation id="7138678301420049075">อื่นๆ</translation>
+<translation id="7139148793369023665">ปิด "ดูคำแนะนำแบบนี้อีก" แล้ว</translation>
 <translation id="7141896414559753902">บล็อกเว็บไซต์ไม่ให้แสดงป๊อปอัปและการเปลี่ยนเส้นทาง (แนะนำ)</translation>
+<translation id="7149158118503947153"><ph name="BEGIN_LINK" />โหลดหน้าต้นฉบับ<ph name="END_LINK" />จาก <ph name="DOMAIN_NAME" /></translation>
 <translation id="7149893636342594995">24 ชั่วโมงที่แล้ว</translation>
 <translation id="7176368934862295254"><ph name="KILOBYTES" /> KB</translation>
 <translation id="7177466738963138057">คุณสามารถเปลี่ยนค่านี้ภายหลังใน "การตั้งค่า"</translation>
@@ -873,6 +878,7 @@
 <translation id="7846076177841592234">ยกเลิกการเลือก</translation>
 <translation id="784934925303690534">ช่วงเวลา</translation>
 <translation id="7851858861565204677">อุปกรณ์อื่นๆ</translation>
+<translation id="7854964836418414587">ปิด "ดูคำแนะนำแบบนี้อีก"</translation>
 <translation id="7875915731392087153">สร้างอีเมล</translation>
 <translation id="7876243839304621966">ลบทั้งหมด</translation>
 <translation id="7882131421121961860">ไม่พบประวัติ</translation>
@@ -1000,7 +1006,6 @@
 <translation id="8912362522468806198">บัญชี Google</translation>
 <translation id="8920114477895755567">กำลังรอรายละเอียดของผู้ปกครอง</translation>
 <translation id="8922289737868596582">ดาวน์โหลดหน้าจากปุ่มตัวเลือกเพิ่มเติมเพื่อใช้งานแบบออฟไลน์</translation>
-<translation id="8934029156920711950">แตะเพื่อดูบทความที่เลือกไว้ให้คุณโดยเฉพาะ</translation>
 <translation id="8941729603749328384">www.example.com</translation>
 <translation id="8942627711005830162">เปิดในหน้าต่างอื่น</translation>
 <translation id="8951232171465285730">Chrome ได้ประหยัดพื้นที่ให้คุณไป <ph name="MEGABYTES" /> MB</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_tr.xtb b/chrome/android/java/strings/translations/android_chrome_strings_tr.xtb
index f74dd020..8281d56 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_tr.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_tr.xtb
@@ -15,7 +15,6 @@
 <translation id="1111673857033749125">Diğer cihazlarınızda kaydedilmiş yer işaretleri burada görünür.</translation>
 <translation id="1113597929977215864">Basitleştirilmiş görünümü göster</translation>
 <translation id="1121094540300013208">Kullanım ve kilitlenme raporları</translation>
-<translation id="11221688409173367">Özellikle size özel seçilen makaleleri görüntülemek için ana ekran düğmesine dokunun</translation>
 <translation id="1129510026454351943">Ayrıntılar: <ph name="ERROR_DESCRIPTION" /></translation>
 <translation id="1141800923049248244">{FILE_COUNT,plural, =1{1 indirme işlemi beklemede.}other{# indirme işlemi beklemede.}}</translation>
 <translation id="1145536944570833626">Mevcut verileri silin.</translation>
@@ -166,7 +165,6 @@
 <translation id="2154484045852737596">Kartı düzenle</translation>
 <translation id="2154710561487035718">URL'yi Kopyala</translation>
 <translation id="2156074688469523661">Kalan site sayısı (<ph name="NUMBER_OF_SITES" />)</translation>
-<translation id="2184766556418880456">Geçerli sekmenizde yeni sekme sayfasına gitmek için dokunun</translation>
 <translation id="2206488550163399966"><ph name="APP_NAME" />, web uygulaması. <ph name="APP_URL" /></translation>
 <translation id="2227444325776770048"><ph name="USER_FULL_NAME" /> olarak devam edin</translation>
 <translation id="2232379019872353004">Bazı sistem bilgilerini ve sayfa içeriğini Google'a gönderir</translation>
@@ -233,7 +231,6 @@
 <translation id="2709516037105925701">Otomatik doldurma</translation>
 <translation id="271033894570825754">Yeni</translation>
 <translation id="2728754400939377704">Siteye göre sırala</translation>
-<translation id="2736391366332017384">Geçerli sekmenizde yeni sekme sayfasına gitmek için ana ekran düğmesine dokunun</translation>
 <translation id="2744248271121720757">Anında aramak veya ilgili işlemleri görmek için bir kelimeye dokunun</translation>
 <translation id="2762000892062317888">az önce</translation>
 <translation id="2777555524387840389"><ph name="SECONDS" /> sn. kaldı</translation>
@@ -344,6 +341,7 @@
 <translation id="3744111561329211289">Arka plan senkronizasyonu</translation>
 <translation id="3773755127849930740">Eşleşmeye izin vermek için <ph name="BEGIN_LINK" />Bluetooth'u açın<ph name="END_LINK" /></translation>
 <translation id="3778956594442850293">Ana ekrana eklendi</translation>
+<translation id="3781011235031427080">Yarım yükseklikte açılan, bunun gibi daha fazlası sayfası</translation>
 <translation id="3789841737615482174">Yükle</translation>
 <translation id="3810838688059735925">Video</translation>
 <translation id="3810973564298564668">Yönet</translation>
@@ -492,6 +490,7 @@
 <translation id="4913169188695071480">Yenilemeyi durdur</translation>
 <translation id="4915549754973153784">Cihazlar taranırken <ph name="BEGIN_LINK" />yardım alın<ph name="END_LINK" />…</translation>
 <translation id="4943872375798546930">Sonuç yok</translation>
+<translation id="4956460920135325549">Google tarafından sunulan basit sayfa.</translation>
 <translation id="4958708863221495346"><ph name="URL_OF_THE_CURRENT_TAB" /> ekranınızı paylaşıyor</translation>
 <translation id="4961334780091921942">Tüm cihazlardaki şifreleriniz, geçmişiniz ve diğer öğeler</translation>
 <translation id="4961700429721424617"><ph name="MANAGED_DOMAIN" /> tarafından yönetilen bir hesabın oturumunu kapatıyorsunuz. Bu işlemle Chrome verileriniz bu cihazdan silinir, ancak Google Hesabınızda kalmaya devam eder.</translation>
@@ -511,6 +510,7 @@
 <translation id="5087580092889165836">Kart ekle</translation>
 <translation id="5100237604440890931">Daraltıldı - Genişletmek için tıklayın.</translation>
 <translation id="510275257476243843">1 saat kaldı</translation>
+<translation id="5123685120097942451">Gizli sekme</translation>
 <translation id="5127805178023152808">Senkronizasyon kapalı</translation>
 <translation id="5129038482087801250">Web uygulamasını yükle</translation>
 <translation id="5139940364318403933">Google Drive'ın nasıl kullanılacağını öğrenin</translation>
@@ -635,6 +635,7 @@
 <translation id="5956665950594638604">Chrome Yardım Merkezi'ni yeni bir sekmede açar</translation>
 <translation id="5958275228015807058">Dosyalarınızı ve sayfalarınızı İndirilenler bölümünde bulabilirsiniz</translation>
 <translation id="5962718611393537961">Daraltmak için dokunun</translation>
+<translation id="5990142338020175451">Daha iyi sayfa önerileri gibi daha kişisel Google hizmetleri</translation>
 <translation id="6000066717592683814">Google kalsın</translation>
 <translation id="6005538289190791541">Önerilen şifre</translation>
 <translation id="6039379616847168523">Sonraki sekmeye gider</translation>
@@ -657,6 +658,7 @@
 <translation id="6177111841848151710">Geçerli arama motoru için engellendi</translation>
 <translation id="6177390657002841081">Veri Tasarrufu'nu aç</translation>
 <translation id="6181444274883918285">Site istisnası ekle</translation>
+<translation id="618993374665929060">Tam yükseklite açılan, bunun gibi daha fazlası sayfası</translation>
 <translation id="6192333916571137726">Dosyayı indir</translation>
 <translation id="6192792657125177640">İstisnalar</translation>
 <translation id="6206551242102657620">Bağlantı güvenli. Site bilgileri</translation>
@@ -729,9 +731,11 @@
 <translation id="6697947395630195233">Konumunuzu bu siteyle paylaşabilmek için Chrome'un konum bilgilerinize erişmesi gerekiyor.</translation>
 <translation id="6698801883190606802">Senkronize edilen verileri yönetme</translation>
 <translation id="6710213216561001401">Önceki</translation>
+<translation id="6712388303105732168">Bunun Gibi Daha Fazlası düğmesini kullanarak Google'dan buna benzer daha fazla içerik görün</translation>
 <translation id="6738867403308150051">İndiriliyor…</translation>
 <translation id="6746124502594467657">Aşağı taşı</translation>
 <translation id="6762156594045689028">Bu ayarı değiştirmek için <ph name="BEGIN_LINK" />senkronizasyonu sıfırlayın<ph name="END_LINK" /></translation>
+<translation id="6766622839693428701">Kapatmak için aşağı kaydırın.</translation>
 <translation id="6770414673596662518">Chrome'un Güvenli Tarama sistemi, kötü amaçlı sayfaların tespit edilmesinin yanı sıra sizi kimlik avı, kötü amaçlı uygulama ve zararlı indirme işlemlerine karşı korumak için de kullanılır.</translation>
 <translation id="6776813977906306442">İndir düğmesini kullanarak videoları daha sonra izlemek üzere indirin</translation>
 <translation id="6790428901817661496">Oynat</translation>
@@ -784,7 +788,9 @@
 <translation id="7121362699166175603">Geçmişi ve adres çubuğundaki otomatik tamamlamaları temizler. Google Hesabınızın <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> adresinde başka biçimlerde tarama geçmişi olabilir.</translation>
 <translation id="7128222689758636196">Geçerli arama motoruna izin verin</translation>
 <translation id="7138678301420049075">Diğer</translation>
+<translation id="7139148793369023665">Bunun gibi daha fazlası sayfası kapatıldı</translation>
 <translation id="7141896414559753902">Sitelerin pop-up göstermesini ve yönlendirme yapmasını engelle (önerilir)</translation>
+<translation id="7149158118503947153"><ph name="DOMAIN_NAME" /> alanından <ph name="BEGIN_LINK" />orijinal sayfayı yükle<ph name="END_LINK" /></translation>
 <translation id="7149893636342594995">Son 24 saat</translation>
 <translation id="7176368934862295254"><ph name="KILOBYTES" /> KB</translation>
 <translation id="7177466738963138057">Bunu daha sonra Ayarlar'da değiştirebilirsiniz</translation>
@@ -872,6 +878,7 @@
 <translation id="7846076177841592234">Seçimi iptal et</translation>
 <translation id="784934925303690534">Zaman aralığı</translation>
 <translation id="7851858861565204677">Diğer cihazlar</translation>
+<translation id="7854964836418414587">Bunun gibi daha fazlası sayfasını kapat</translation>
 <translation id="7875915731392087153">E-posta oluşturun</translation>
 <translation id="7876243839304621966">Tümünü kaldır</translation>
 <translation id="7882131421121961860">Geçmiş bulunamadı</translation>
@@ -999,7 +1006,6 @@
 <translation id="8912362522468806198">Google Hesabı</translation>
 <translation id="8920114477895755567">Ebeveyn ayrıntıları bekleniyor.</translation>
 <translation id="8922289737868596582">Çevrimdışı olarak kullanmak istediğiniz sayfaları Diğer seçenekler düğmesini kullanarak indirin</translation>
-<translation id="8934029156920711950">Özellikle size özel seçilen makaleleri görüntülemek için dokunun</translation>
 <translation id="8941729603749328384">www.example.com</translation>
 <translation id="8942627711005830162">Yeni pencerede aç</translation>
 <translation id="8951232171465285730">Chrome <ph name="MEGABYTES" /> MB tasarruf sağladı</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_uk.xtb b/chrome/android/java/strings/translations/android_chrome_strings_uk.xtb
index d47c43b..7e9fd750 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_uk.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_uk.xtb
@@ -15,7 +15,6 @@
 <translation id="1111673857033749125">Тут відображатимуться закладки, збережені на інших ваших пристроях.</translation>
 <translation id="1113597929977215864">Показати в режимі спрощеного перегляду</translation>
 <translation id="1121094540300013208">Звіти про використання й аварійне завершення роботи</translation>
-<translation id="11221688409173367">Торкніться кнопки головного екрана, щоб переглянути статті, підібрані спеціально для вас</translation>
 <translation id="1129510026454351943">Деталі. <ph name="ERROR_DESCRIPTION" /></translation>
 <translation id="1141800923049248244">{FILE_COUNT,plural, =1{Очікується 1 завантаження.}one{Очікується # завантаження.}few{Очікується # завантаження.}many{Очікується # завантажень.}other{Очікується # завантаження.}}</translation>
 <translation id="1145536944570833626">Видалити наявні дані.</translation>
@@ -166,7 +165,6 @@
 <translation id="2154484045852737596">Редагувати картку</translation>
 <translation id="2154710561487035718">Копіювати URL-адресу</translation>
 <translation id="2156074688469523661">Інші сайти (<ph name="NUMBER_OF_SITES" />)</translation>
-<translation id="2184766556418880456">Торкніться, щоб перейти на сторінку нової вкладки в поточній вкладці</translation>
 <translation id="2206488550163399966">Веб-додаток <ph name="APP_NAME" />: <ph name="APP_URL" /></translation>
 <translation id="2227444325776770048">Продовжити як <ph name="USER_FULL_NAME" /></translation>
 <translation id="2232379019872353004">Надсилати в Google деяку інформацію про систему та вміст сторінок</translation>
@@ -233,7 +231,6 @@
 <translation id="2709516037105925701">Автозаповнення</translation>
 <translation id="271033894570825754">Новий</translation>
 <translation id="2728754400939377704">Сортувати за сайтом</translation>
-<translation id="2736391366332017384">Торкніться кнопки головного екрана, щоб перейти на нову вкладку в поточній вкладці</translation>
 <translation id="2744248271121720757">Торкніться слова для миттєвого пошуку або перегляду схожих дій</translation>
 <translation id="2762000892062317888">щойно</translation>
 <translation id="2777555524387840389">Залишилося <ph name="SECONDS" /> с</translation>
@@ -344,6 +341,7 @@
 <translation id="3744111561329211289">Фонова синхронізація</translation>
 <translation id="3773755127849930740"><ph name="BEGIN_LINK" />Увімкніть Bluetooth<ph name="END_LINK" />, щоб підключити</translation>
 <translation id="3778956594442850293">Додано на головний екран</translation>
+<translation id="3781011235031427080">Сторінку "Більше схожого" відкрито на половину висоти</translation>
 <translation id="3789841737615482174">Встановити</translation>
 <translation id="3810838688059735925">Відео</translation>
 <translation id="3810973564298564668">Змінити</translation>
@@ -492,6 +490,7 @@
 <translation id="4913169188695071480">Припинити оновлення</translation>
 <translation id="4915549754973153784"><ph name="BEGIN_LINK" />Довідка<ph name="END_LINK" /> під час пошуку пристроїв…</translation>
 <translation id="4943872375798546930">Не знайдено жодного результату</translation>
+<translation id="4956460920135325549">Спрощена сторінка, доставлена Google.</translation>
 <translation id="4958708863221495346">Сторінка <ph name="URL_OF_THE_CURRENT_TAB" /> показує ваш екран</translation>
 <translation id="4961334780091921942">Ваші паролі, історія тощо на всіх пристроях</translation>
 <translation id="4961700429721424617">Ви виходите з облікового запису, зареєстрованого в домені <ph name="MANAGED_DOMAIN" />. Дані Chrome буде видалено з цього пристрою, але вони залишаться у вашому обліковому записі Google.</translation>
@@ -511,6 +510,7 @@
 <translation id="5087580092889165836">Додати картку</translation>
 <translation id="5100237604440890931">Згорнуто – натисніть, щоб розгорнути.</translation>
 <translation id="510275257476243843">Залишилась 1 година</translation>
+<translation id="5123685120097942451">Анонімна вкладка</translation>
 <translation id="5127805178023152808">Синхронізацію вимкнено</translation>
 <translation id="5129038482087801250">Установити веб-додаток</translation>
 <translation id="5139940364318403933">Як користуватися Google Диском</translation>
@@ -658,6 +658,7 @@
 <translation id="6177111841848151710">Заблоковано для поточної пошукової системи</translation>
 <translation id="6177390657002841081">Увімкнути Заощадження трафіку</translation>
 <translation id="6181444274883918285">Додати сайт у список винятків</translation>
+<translation id="618993374665929060">Сторінку "Більше схожого" відкрито на всю висоту</translation>
 <translation id="6192333916571137726">Завантажити файл</translation>
 <translation id="6192792657125177640">Винятки</translation>
 <translation id="6206551242102657620">З’єднання безпечне. Інформація про сайт</translation>
@@ -730,9 +731,11 @@
 <translation id="6697947395630195233">Chrome потрібен доступ до місцезнаходження, щоб повідомляти ваші геодані цьому сайту.</translation>
 <translation id="6698801883190606802">Керування синхронізованими даними</translation>
 <translation id="6710213216561001401">Попереднє</translation>
+<translation id="6712388303105732168">Переглядайте інший подібний вміст від Google за допомогою кнопки "Більше схожого"</translation>
 <translation id="6738867403308150051">Завантаження…</translation>
 <translation id="6746124502594467657">Вниз</translation>
 <translation id="6762156594045689028">Щоб змінити це налаштування, <ph name="BEGIN_LINK" />скиньте синхронізацію<ph name="END_LINK" /></translation>
+<translation id="6766622839693428701">Проведіть пальцем униз, щоб закрити.</translation>
 <translation id="6770414673596662518">Система Безпечного перегляду Chrome також використовується для виявлення шкідливих сторінок і захисту від фішингу, зловмисного програмного забезпечення та небезпечних завантажень.</translation>
 <translation id="6776813977906306442">Завантажити відео за допомогою відповідної кнопки, щоб переглянути їх пізніше</translation>
 <translation id="6790428901817661496">Відтворити</translation>
@@ -785,7 +788,9 @@
 <translation id="7121362699166175603">Очищує історію й автозавершення в адресному рядку. У вашому обліковому записі Google на сторінці <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> можуть бути інші форми історії веб-перегляду.</translation>
 <translation id="7128222689758636196">Дозволити поточній пошуковій системі</translation>
 <translation id="7138678301420049075">Інше</translation>
+<translation id="7139148793369023665">Сторінку "Більше схожого" закрито</translation>
 <translation id="7141896414559753902">Блокувати спливаючі вікна та переадресацію на сайтах (рекомендовано)</translation>
+<translation id="7149158118503947153"><ph name="BEGIN_LINK" />Завантажити оригінальну сторінку<ph name="END_LINK" /> з домену <ph name="DOMAIN_NAME" /></translation>
 <translation id="7149893636342594995">Останні 24 години</translation>
 <translation id="7176368934862295254"><ph name="KILOBYTES" /> КБ</translation>
 <translation id="7177466738963138057">Це можна змінити пізніше в налаштуваннях</translation>
@@ -827,7 +832,7 @@
 <translation id="748127970106343339">Підтвердити видалення облікових даних пристрою</translation>
 <translation id="7481312909269577407">Переслати</translation>
 <translation id="7493994139787901920"><ph name="VERSION" /> (оновлено: <ph name="TIME_SINCE_UPDATE" />)</translation>
-<translation id="7494879913343971937">Показувати паролі</translation>
+<translation id="7494879913343971937">Показати паролі</translation>
 <translation id="7494974237137038751">заощаджений трафік</translation>
 <translation id="7498271377022651285">Зачекайте…</translation>
 <translation id="7514365320538308">Завантажити</translation>
@@ -873,6 +878,7 @@
 <translation id="7846076177841592234">Скасувати вибір</translation>
 <translation id="784934925303690534">Період часу</translation>
 <translation id="7851858861565204677">Інші пристрої</translation>
+<translation id="7854964836418414587">Закрити сторінку "Більше схожого"</translation>
 <translation id="7875915731392087153">Створити електронну адресу</translation>
 <translation id="7876243839304621966">Видалити все</translation>
 <translation id="7882131421121961860">Історії не знайдено</translation>
@@ -1000,7 +1006,6 @@
 <translation id="8912362522468806198">Обліковий запис Google</translation>
 <translation id="8920114477895755567">Очікування даних батьків.</translation>
 <translation id="8922289737868596582">Щоб переглядати сторінки офлайн, завантажуйте їх, натиснувши кнопку "Більше опцій"</translation>
-<translation id="8934029156920711950">Торкніться, щоб переглянути статті, підібрані спеціально для вас</translation>
 <translation id="8941729603749328384">www.example.com</translation>
 <translation id="8942627711005830162">Відкрити в іншому вікні</translation>
 <translation id="8951232171465285730">Chrome заощадив <ph name="MEGABYTES" /> МБ</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_vi.xtb b/chrome/android/java/strings/translations/android_chrome_strings_vi.xtb
index 2ac43a6e..2b526fe 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_vi.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_vi.xtb
@@ -15,7 +15,6 @@
 <translation id="1111673857033749125">Dấu trang được lưu trên thiết bị khác của bạn sẽ xuất hiện tại đây.</translation>
 <translation id="1113597929977215864">Hiển thị chế độ xem đơn giản</translation>
 <translation id="1121094540300013208">Báo cáo sử dụng và sự cố</translation>
-<translation id="11221688409173367">Chạm vào nút màn hình chính để xem các bài viết chọn lọc dành riêng cho bạn</translation>
 <translation id="1129510026454351943">Chi tiết: <ph name="ERROR_DESCRIPTION" /></translation>
 <translation id="1141800923049248244">{FILE_COUNT,plural, =1{1 tệp đang chờ tải xuống.}other{# tệp đang chờ tải xuống.}}</translation>
 <translation id="1145536944570833626">Xóa dữ liệu hiện có.</translation>
@@ -166,7 +165,6 @@
 <translation id="2154484045852737596">Chỉnh sửa thẻ</translation>
 <translation id="2154710561487035718">Sao chép URL</translation>
 <translation id="2156074688469523661">Số trang web còn lại (<ph name="NUMBER_OF_SITES" />)</translation>
-<translation id="2184766556418880456">Chạm để truy cập vào trang tab mới trong tab hiện tại của bạn</translation>
 <translation id="2206488550163399966"><ph name="APP_NAME" />, ứng dụng web. <ph name="APP_URL" /></translation>
 <translation id="2227444325776770048">Tiếp tục bằng <ph name="USER_FULL_NAME" /></translation>
 <translation id="2232379019872353004">Gửi một số thông tin hệ thống và nội dung trang cho Google</translation>
@@ -233,12 +231,11 @@
 <translation id="2709516037105925701">Tự động điền</translation>
 <translation id="271033894570825754">Mới</translation>
 <translation id="2728754400939377704">Sắp xếp theo trang web</translation>
-<translation id="2736391366332017384">Chạm vào nút màn hình chính để truy cập vào trang tab mới trong tab hiện tại của bạn</translation>
 <translation id="2744248271121720757">Hãy nhấn vào một từ để tìm kiếm ngay hoặc xem các hành động có liên quan</translation>
 <translation id="2762000892062317888">vừa xong</translation>
 <translation id="2777555524387840389">Còn <ph name="SECONDS" /> giây</translation>
 <translation id="2781151931089541271">Còn 1 giây</translation>
-<translation id="2803478378562657435">Hiển thị mật khẩu đã lưu và các tùy chọn mật khẩu</translation>
+<translation id="2803478378562657435">Đang hiển thị mật khẩu đã lưu và các tùy chọn mật khẩu</translation>
 <translation id="2810645512293415242">Trang đơn giản giúp lưu dữ liệu và tải nhanh hơn.</translation>
 <translation id="281504910091592009">Xem và quản lý các mật khẩu đã lưu trong <ph name="BEGIN_LINK" />Tài khoản Google<ph name="END_LINK" /> của bạn</translation>
 <translation id="2818669890320396765">Để sử dụng dấu trang trên tất cả các thiết bị, hãy đăng nhập và bật tính năng đồng bộ hóa</translation>
@@ -344,6 +341,7 @@
 <translation id="3744111561329211289">Đồng bộ hóa dưới nền</translation>
 <translation id="3773755127849930740"><ph name="BEGIN_LINK" />Bật Bluetooth<ph name="END_LINK" /> để cho phép ghép nối</translation>
 <translation id="3778956594442850293">Đã thêm vào màn hình chính</translation>
+<translation id="3781011235031427080">Đã mở trang tính Đề xuất khác tương tự chiếm một nửa chiều cao màn hình</translation>
 <translation id="3789841737615482174">Cài đặt</translation>
 <translation id="3810838688059735925">Video</translation>
 <translation id="3810973564298564668">Quản lý</translation>
@@ -492,6 +490,7 @@
 <translation id="4913169188695071480">Ngừng làm mới</translation>
 <translation id="4915549754973153784"><ph name="BEGIN_LINK" />Nhận trợ giúp<ph name="END_LINK" /> trong khi quét tìm thiết bị…</translation>
 <translation id="4943872375798546930">Không tìm thấy kết quả nào</translation>
+<translation id="4956460920135325549">Trang lite do Google cung cấp.</translation>
 <translation id="4958708863221495346"><ph name="URL_OF_THE_CURRENT_TAB" /> đang chia sẻ màn hình của bạn</translation>
 <translation id="4961334780091921942">Mật khẩu, lịch sử và nhiều nội dung khác của bạn trên tất cả các thiết bị</translation>
 <translation id="4961700429721424617">Bạn đang đăng xuất khỏi tài khoản do <ph name="MANAGED_DOMAIN" /> quản lý. Thao tác này sẽ xóa dữ liệu Chrome khỏi thiết bị này nhưng dữ liệu sẽ vẫn còn trong Tài khoản Google của bạn.</translation>
@@ -511,6 +510,7 @@
 <translation id="5087580092889165836">Thêm thẻ</translation>
 <translation id="5100237604440890931">Đã thu gọn - nhấp để mở rộng.</translation>
 <translation id="510275257476243843">Còn 1 giờ</translation>
+<translation id="5123685120097942451">Tab ẩn danh</translation>
 <translation id="5127805178023152808">Đồng bộ hóa đã tắt</translation>
 <translation id="5129038482087801250">Cài đặt ứng dụng web</translation>
 <translation id="5139940364318403933">Tìm hiểu cách sử dụng Google Drive</translation>
@@ -635,6 +635,7 @@
 <translation id="5956665950594638604">Mở Trung tâm trợ giúp Chrome trong tab mới</translation>
 <translation id="5958275228015807058">Tìm tệp và trang của bạn trong Tài nguyên đã tải xuống</translation>
 <translation id="5962718611393537961">Nhấn để thu gọn</translation>
+<translation id="5990142338020175451">Thêm các dịch vụ của Google tùy chỉnh cho cá nhân, như nội dung đề xuất trang hiệu quả hơn</translation>
 <translation id="6000066717592683814">Giữ Google làm công cụ tìm kiếm mặc định</translation>
 <translation id="6005538289190791541">Mật khẩu đề xuất</translation>
 <translation id="6039379616847168523">Chuyển sang tab tiếp theo</translation>
@@ -657,6 +658,7 @@
 <translation id="6177111841848151710">Bị chặn đối với công cụ tìm kiếm hiện tại</translation>
 <translation id="6177390657002841081">Bật Trình tiết kiệm dữ liệu</translation>
 <translation id="6181444274883918285">Thêm ngoại lệ cho trang web</translation>
+<translation id="618993374665929060">Đã mở trang tính Đề xuất khác tương tự trên toàn màn hình</translation>
 <translation id="6192333916571137726">Tải tệp xuống</translation>
 <translation id="6192792657125177640">Ngoại lệ</translation>
 <translation id="6206551242102657620">Kết nối an toàn. Thông tin trang web</translation>
@@ -729,9 +731,11 @@
 <translation id="6697947395630195233">Chrome cần truy cập vị trí của bạn để chia sẻ thông tin vị trí với trang web này.</translation>
 <translation id="6698801883190606802">Quản lý dữ liệu đã đồng bộ hóa</translation>
 <translation id="6710213216561001401">Trước đó</translation>
+<translation id="6712388303105732168">Xem đề xuất khác tương tự từ Google bằng cách sử dụng nút Đề xuất khác tương tự</translation>
 <translation id="6738867403308150051">Đang tải xuống...</translation>
 <translation id="6746124502594467657">Di chuyển xuống</translation>
 <translation id="6762156594045689028">Để thay đổi cài đặt này, hãy <ph name="BEGIN_LINK" />đặt lại đồng bộ hóa<ph name="END_LINK" /></translation>
+<translation id="6766622839693428701">Vuốt xuống để đóng.</translation>
 <translation id="6770414673596662518">Hệ thống duyệt web an toàn của Chrome cũng sẽ được sử dụng để phát hiện trang độc hại và bảo vệ bạn khỏi lừa đảo, phần mềm độc hại và nội dung tải xuống có hại.</translation>
 <translation id="6776813977906306442">Tải video xuống để xem vào thời điểm khác bằng nút Tải xuống</translation>
 <translation id="6790428901817661496">Phát</translation>
@@ -784,7 +788,9 @@
 <translation id="7121362699166175603">Xóa lịch sử và tự động hoàn thành trong thanh địa chỉ. Tài khoản Google của bạn có thể có các dạng lịch sử duyệt web khác tại <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
 <translation id="7128222689758636196">Cho phép đối với công cụ tìm kiếm hiện tại</translation>
 <translation id="7138678301420049075">Khác</translation>
+<translation id="7139148793369023665">Đã đóng trang tính Đề xuất khác tương tự</translation>
 <translation id="7141896414559753902">Chặn trang web hiển thị cửa sổ bật lên và liên kết chuyển hướng (khuyên dùng)</translation>
+<translation id="7149158118503947153"><ph name="BEGIN_LINK" />Tải trang gốc<ph name="END_LINK" /> từ <ph name="DOMAIN_NAME" /></translation>
 <translation id="7149893636342594995">24 giờ qua</translation>
 <translation id="7176368934862295254"><ph name="KILOBYTES" /> KB</translation>
 <translation id="7177466738963138057">Bạn có thể thay đổi cài đặt này sau trong Cài đặt</translation>
@@ -872,6 +878,7 @@
 <translation id="7846076177841592234">Hủy chọn</translation>
 <translation id="784934925303690534">Phạm vi thời gian</translation>
 <translation id="7851858861565204677">Thiết bị khác</translation>
+<translation id="7854964836418414587">Đóng trang tính Đề xuất khác tương tự</translation>
 <translation id="7875915731392087153">Tạo email</translation>
 <translation id="7876243839304621966">Xóa tất cả</translation>
 <translation id="7882131421121961860">Không tìm thấy lịch sử nào</translation>
@@ -999,7 +1006,6 @@
 <translation id="8912362522468806198">Tài khoản Google</translation>
 <translation id="8920114477895755567">Đang đợi thông tin chi tiết của phụ huynh.</translation>
 <translation id="8922289737868596582">Tải trang xuống từ nút Thêm tùy chọn để sử dụng ngoại tuyến</translation>
-<translation id="8934029156920711950">Chạm để xem các bài viết chọn lọc dành riêng cho bạn</translation>
 <translation id="8941729603749328384">www.example.com</translation>
 <translation id="8942627711005830162">Mở trong cửa sổ khác</translation>
 <translation id="8951232171465285730">Chrome đã tiết kiệm <ph name="MEGABYTES" /> MB cho bạn</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_zh-CN.xtb b/chrome/android/java/strings/translations/android_chrome_strings_zh-CN.xtb
index 83ea91d..33932ce 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_zh-CN.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_zh-CN.xtb
@@ -15,7 +15,6 @@
 <translation id="1111673857033749125">您在其他设备上保存的书签将列在此处。</translation>
 <translation id="1113597929977215864">显示简化版视图</translation>
 <translation id="1121094540300013208">使用情况统计信息和崩溃报告</translation>
-<translation id="11221688409173367">点按主页按钮即可查看系统专门为您挑选的文章</translation>
 <translation id="1129510026454351943">错误详情:<ph name="ERROR_DESCRIPTION" /></translation>
 <translation id="1141800923049248244">{FILE_COUNT,plural, =1{有 1 项下载尚待处理。}other{有 # 项下载尚待处理。}}</translation>
 <translation id="1145536944570833626">删除现有数据。</translation>
@@ -166,7 +165,6 @@
 <translation id="2154484045852737596">修改支付卡</translation>
 <translation id="2154710561487035718">复制网址</translation>
 <translation id="2156074688469523661">其余的网站(<ph name="NUMBER_OF_SITES" /> 个)</translation>
-<translation id="2184766556418880456">点按即可在当前标签中转到新标签页</translation>
 <translation id="2206488550163399966"><ph name="APP_NAME" />,网络应用。<ph name="APP_URL" /></translation>
 <translation id="2227444325776770048">以“<ph name="USER_FULL_NAME" />”的身份继续</translation>
 <translation id="2232379019872353004">将一些系统信息和网页内容发送至 Google</translation>
@@ -233,7 +231,6 @@
 <translation id="2709516037105925701">自动填充</translation>
 <translation id="271033894570825754">新建</translation>
 <translation id="2728754400939377704">按网站排序</translation>
-<translation id="2736391366332017384">点按主页按钮即可在当前标签中转到新标签页</translation>
 <translation id="2744248271121720757">点按某个字词可立即开始搜索或查看相关操作</translation>
 <translation id="2762000892062317888">刚刚</translation>
 <translation id="2777555524387840389">还剩 <ph name="SECONDS" /> 秒</translation>
@@ -344,6 +341,7 @@
 <translation id="3744111561329211289">后台同步</translation>
 <translation id="3773755127849930740">请<ph name="BEGIN_LINK" />开启蓝牙<ph name="END_LINK" />以允许配对</translation>
 <translation id="3778956594442850293">已添加到主屏幕</translation>
+<translation id="3781011235031427080">已半屏打开“更多类似内容”列表</translation>
 <translation id="3789841737615482174">安装</translation>
 <translation id="3810838688059735925">视频</translation>
 <translation id="3810973564298564668">管理</translation>
@@ -492,6 +490,7 @@
 <translation id="4913169188695071480">停止刷新</translation>
 <translation id="4915549754973153784">正在搜寻设备…<ph name="BEGIN_LINK" />获取帮助<ph name="END_LINK" /></translation>
 <translation id="4943872375798546930">找不到结果</translation>
+<translation id="4956460920135325549">由 Google 提供的精简版网页。</translation>
 <translation id="4958708863221495346"><ph name="URL_OF_THE_CURRENT_TAB" /> 正在共享您的屏幕</translation>
 <translation id="4961334780091921942">您所有设备上的密码、历史记录等信息</translation>
 <translation id="4961700429721424617">您正要退出由 <ph name="MANAGED_DOMAIN" /> 管理的帐号。退出后,您的 Chrome 数据将从这台设备上删除,但仍会保留在您的 Google 帐号中。</translation>
@@ -511,6 +510,7 @@
 <translation id="5087580092889165836">添加新卡</translation>
 <translation id="5100237604440890931">已收起 - 点击此处即可展开。</translation>
 <translation id="510275257476243843">还剩 1 小时</translation>
+<translation id="5123685120097942451">无痕式标签页</translation>
 <translation id="5127805178023152808">同步功能已关闭</translation>
 <translation id="5129038482087801250">安装网络应用</translation>
 <translation id="5139940364318403933">了解如何使用 Google 云端硬盘</translation>
@@ -658,6 +658,7 @@
 <translation id="6177111841848151710">已设为不可供当前的搜索引擎使用</translation>
 <translation id="6177390657002841081">启用流量节省程序</translation>
 <translation id="6181444274883918285">添加例外网站</translation>
+<translation id="618993374665929060">已全屏打开“更多类似内容”列表</translation>
 <translation id="6192333916571137726">下载文件</translation>
 <translation id="6192792657125177640">例外</translation>
 <translation id="6206551242102657620">连接是安全的。网站信息</translation>
@@ -730,9 +731,11 @@
 <translation id="6697947395630195233">Chrome 需要获得位置权限,才能将您的位置信息共享给此网站。</translation>
 <translation id="6698801883190606802">管理已同步的数据</translation>
 <translation id="6710213216561001401">上一个</translation>
+<translation id="6712388303105732168">使用“更多类似内容”按钮查看 Google 推荐的更多类似内容</translation>
 <translation id="6738867403308150051">即将开始下载…</translation>
 <translation id="6746124502594467657">下移</translation>
 <translation id="6762156594045689028">要更改此设置,请<ph name="BEGIN_LINK" />重置同步设置<ph name="END_LINK" /></translation>
+<translation id="6766622839693428701">向下滑动即可关闭。</translation>
 <translation id="6770414673596662518">Chrome 的安全浏览系统也将用于检测恶意网页,保护您免受网上诱骗、恶意软件和有害下载内容的侵害。</translation>
 <translation id="6776813977906306442">您可使用“下载”按钮下载视频以供日后观看</translation>
 <translation id="6790428901817661496">播放</translation>
@@ -785,7 +788,9 @@
 <translation id="7121362699166175603">清除历史记录和地址栏中的自动填充项。您的 Google 帐号在 <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> 上可能有其他形式的浏览记录。</translation>
 <translation id="7128222689758636196">适用于当前的搜索引擎</translation>
 <translation id="7138678301420049075">其他</translation>
+<translation id="7139148793369023665">“更多类似内容”列表已关闭</translation>
 <translation id="7141896414559753902">禁止网站显示弹出式窗口和重定向(推荐)</translation>
+<translation id="7149158118503947153">从 <ph name="DOMAIN_NAME" /> <ph name="BEGIN_LINK" />加载原始网页<ph name="END_LINK" /></translation>
 <translation id="7149893636342594995">过去 24 小时</translation>
 <translation id="7176368934862295254"><ph name="KILOBYTES" /> KB</translation>
 <translation id="7177466738963138057">以后,您可以在“设置”中更改此设置。</translation>
@@ -873,6 +878,7 @@
 <translation id="7846076177841592234">取消选择</translation>
 <translation id="784934925303690534">时间范围</translation>
 <translation id="7851858861565204677">来自其他设备的同步</translation>
+<translation id="7854964836418414587">关闭“更多类似内容”列表</translation>
 <translation id="7875915731392087153">创建电子邮件</translation>
 <translation id="7876243839304621966">全部删除</translation>
 <translation id="7882131421121961860">未找到任何记录</translation>
@@ -1000,7 +1006,6 @@
 <translation id="8912362522468806198">Google 帐号</translation>
 <translation id="8920114477895755567">正在等待获取家长的详细信息。</translation>
 <translation id="8922289737868596582">通过“更多选项”按钮下载网页以供离线查看</translation>
-<translation id="8934029156920711950">点按即可查看系统专门为您挑选的文章</translation>
 <translation id="8941729603749328384">www.example.com</translation>
 <translation id="8942627711005830162">在其他窗口中打开</translation>
 <translation id="8951232171465285730">Chrome 已为您保存的数据量:<ph name="MEGABYTES" /> MB</translation>
@@ -1017,7 +1022,7 @@
 <translation id="9050666287014529139">密码</translation>
 <translation id="9060538597317784206">在 Play 商店中查看“<ph name="APP_NAME" />”应用。评分:<ph name="APP_RATING" />。</translation>
 <translation id="9063523880881406963">关闭“请求切换到桌面版网站”</translation>
-<translation id="9065203028668620118">修改</translation>
+<translation id="9065203028668620118">编辑</translation>
 <translation id="9070377983101773829">开始语音搜索</translation>
 <translation id="9071742570345586758">要查看虚拟实境内容,请安装 Google VR 服务</translation>
 <translation id="9074336505530349563">要获取 Google 推荐的个性化内容,请登录您的帐号并开启同步功能</translation>
diff --git a/chrome/android/java/strings/translations/android_chrome_strings_zh-TW.xtb b/chrome/android/java/strings/translations/android_chrome_strings_zh-TW.xtb
index b541873..9f5234b 100644
--- a/chrome/android/java/strings/translations/android_chrome_strings_zh-TW.xtb
+++ b/chrome/android/java/strings/translations/android_chrome_strings_zh-TW.xtb
@@ -15,7 +15,6 @@
 <translation id="1111673857033749125">儲存在您其他裝置上的書籤會顯示在這裡。</translation>
 <translation id="1113597929977215864">顯示「簡易檢視」模式</translation>
 <translation id="1121094540300013208">使用資料和當機報告</translation>
-<translation id="11221688409173367">輕觸主螢幕按鈕即可查看精選文章</translation>
 <translation id="1129510026454351943">詳細資料:<ph name="ERROR_DESCRIPTION" /></translation>
 <translation id="1141800923049248244">{FILE_COUNT,plural, =1{1 項下載作業仍待處理。}other{# 項下載作業仍待處理。}}</translation>
 <translation id="1145536944570833626">刪除現有資料。</translation>
@@ -166,7 +165,6 @@
 <translation id="2154484045852737596">編輯卡片資訊</translation>
 <translation id="2154710561487035718">複製網址</translation>
 <translation id="2156074688469523661">其餘網站 (<ph name="NUMBER_OF_SITES" />)</translation>
-<translation id="2184766556418880456">輕觸即可在目前的分頁中前往新分頁頁面</translation>
 <translation id="2206488550163399966"><ph name="APP_NAME" />,網路應用程式。<ph name="APP_URL" /></translation>
 <translation id="2227444325776770048">以<ph name="USER_FULL_NAME" />的身分繼續使用</translation>
 <translation id="2232379019872353004">將部分系統資訊和網頁內容傳送給 Google</translation>
@@ -233,7 +231,6 @@
 <translation id="2709516037105925701">自動填入</translation>
 <translation id="271033894570825754">新</translation>
 <translation id="2728754400939377704">依網站排序</translation>
-<translation id="2736391366332017384">輕觸主螢幕按鈕即可在目前的分頁中前往新分頁頁面</translation>
 <translation id="2744248271121720757">只要輕觸字詞就能立即展開搜尋或查看相關的動作</translation>
 <translation id="2762000892062317888">剛剛</translation>
 <translation id="2777555524387840389">還剩 <ph name="SECONDS" /> 秒</translation>
@@ -344,6 +341,7 @@
 <translation id="3744111561329211289">背景同步處理</translation>
 <translation id="3773755127849930740">如要允許配對,請<ph name="BEGIN_LINK" />開啟藍牙功能<ph name="END_LINK" /></translation>
 <translation id="3778956594442850293">已新增至主畫面</translation>
+<translation id="3781011235031427080">更多類似內容已開啟,顯示在畫面下半部</translation>
 <translation id="3789841737615482174">安裝</translation>
 <translation id="3810838688059735925">影片</translation>
 <translation id="3810973564298564668">管理</translation>
@@ -492,6 +490,7 @@
 <translation id="4913169188695071480">停止重新整理</translation>
 <translation id="4915549754973153784"><ph name="BEGIN_LINK" />查看說明<ph name="END_LINK" />。正在掃描裝置…</translation>
 <translation id="4943872375798546930">沒有結果</translation>
+<translation id="4956460920135325549">由 Google 提供的精簡版本網頁。</translation>
 <translation id="4958708863221495346"><ph name="URL_OF_THE_CURRENT_TAB" /> 正在共用你的畫面。</translation>
 <translation id="4961334780091921942">你所有裝置上的密碼、歷史記錄和其他設定</translation>
 <translation id="4961700429721424617">您即將登出由 <ph name="MANAGED_DOMAIN" /> 所管理的帳戶。系統會將您的 Chrome 資料從這個裝置上刪除,但繼續保留在您的 Google 帳戶中。</translation>
@@ -511,6 +510,7 @@
 <translation id="5087580092889165836">新增信用卡</translation>
 <translation id="5100237604440890931">已收合 - 按一下即可展開。</translation>
 <translation id="510275257476243843">還剩 1 小時</translation>
+<translation id="5123685120097942451">無痕式分頁</translation>
 <translation id="5127805178023152808">同步功能已停用</translation>
 <translation id="5129038482087801250">安裝網路應用程式</translation>
 <translation id="5139940364318403933">瞭解如何使用 Google 雲端硬碟</translation>
@@ -635,6 +635,7 @@
 <translation id="5956665950594638604">在新分頁中開啟 Chrome 說明中心</translation>
 <translation id="5958275228015807058">前往「下載」主畫面尋找你的檔案和網頁</translation>
 <translation id="5962718611393537961">輕觸即可收合</translation>
+<translation id="5990142338020175451">體驗更加個人化的 Google 服務 (例如更適切的網頁建議)</translation>
 <translation id="6000066717592683814">繼續使用 Google</translation>
 <translation id="6005538289190791541">建議的密碼</translation>
 <translation id="6039379616847168523">跳至下一個分頁</translation>
@@ -657,6 +658,7 @@
 <translation id="6177111841848151710">禁止目前的搜尋引擎存取位置資訊</translation>
 <translation id="6177390657002841081">開啟 Data Saver</translation>
 <translation id="6181444274883918285">新增例外網站</translation>
+<translation id="618993374665929060">更多類似內容已開啟,填滿整個畫面</translation>
 <translation id="6192333916571137726">下載檔案</translation>
 <translation id="6192792657125177640">例外</translation>
 <translation id="6206551242102657620">已建立安全連線。網站資訊</translation>
@@ -729,9 +731,11 @@
 <translation id="6697947395630195233">Chrome 需要位置資訊存取權,才能與這個網站分享你的位置資訊。</translation>
 <translation id="6698801883190606802">管理同步資料</translation>
 <translation id="6710213216561001401">返回</translation>
+<translation id="6712388303105732168">你可以使用「更多類似內容」按鈕查看更多來自 Google 的類似內容</translation>
 <translation id="6738867403308150051">下載中…</translation>
 <translation id="6746124502594467657">下移</translation>
 <translation id="6762156594045689028">如要變更這項設定,請<ph name="BEGIN_LINK" />重設同步功能<ph name="END_LINK" /></translation>
+<translation id="6766622839693428701">向下滑動即可關閉。</translation>
 <translation id="6770414673596662518">Chrome 的安全瀏覽系統也會用於偵測惡意網頁,保護您不受網路釣魚、惡意軟體和有害下載內容的攻擊。</translation>
 <translation id="6776813977906306442">使用 [下載] 按鈕可下載影片以供日後觀看</translation>
 <translation id="6790428901817661496">播放</translation>
@@ -784,7 +788,9 @@
 <translation id="7121362699166175603">將歷史記錄和自動即時查詢從網址列中清除。你的 Google 帳戶可能會儲存其他形式的瀏覽記錄,請參閱 <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />。</translation>
 <translation id="7128222689758636196">對目前的搜尋引擎開放</translation>
 <translation id="7138678301420049075">其他</translation>
+<translation id="7139148793369023665">更多類似內容已關閉</translation>
 <translation id="7141896414559753902">禁止網站顯示彈出式視窗及重新導向 (建議)</translation>
+<translation id="7149158118503947153"><ph name="BEGIN_LINK" />從 <ph name="DOMAIN_NAME" /> 載入原始頁面<ph name="END_LINK" /></translation>
 <translation id="7149893636342594995">過去 24 小時</translation>
 <translation id="7176368934862295254"><ph name="KILOBYTES" /> KB</translation>
 <translation id="7177466738963138057">日後可前往設定頁面進行變更</translation>
@@ -872,6 +878,7 @@
 <translation id="7846076177841592234">全部取消選取</translation>
 <translation id="784934925303690534">時間範圍</translation>
 <translation id="7851858861565204677">其他裝置</translation>
+<translation id="7854964836418414587">關閉「更多類似內容」</translation>
 <translation id="7875915731392087153">建立電子郵件</translation>
 <translation id="7876243839304621966">全部移除</translation>
 <translation id="7882131421121961860">找不到瀏覽記錄</translation>
@@ -999,7 +1006,6 @@
 <translation id="8912362522468806198">Google 帳戶</translation>
 <translation id="8920114477895755567">尚未取得家長詳細資料。</translation>
 <translation id="8922289737868596582">透過「更多選項」按鈕下載網頁,以便離線存取</translation>
-<translation id="8934029156920711950">輕觸即可查看精選文章</translation>
 <translation id="8941729603749328384">www.example.com</translation>
 <translation id="8942627711005830162">在其他視窗中開啟</translation>
 <translation id="8951232171465285730">Chrome 為你節省了 <ph name="MEGABYTES" /> MB</translation>
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/browserservices/TrustedWebActivityClientTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/browserservices/TrustedWebActivityClientTest.java
index 33cf51c..2682606 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/browserservices/TrustedWebActivityClientTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/browserservices/TrustedWebActivityClientTest.java
@@ -7,6 +7,7 @@
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
+import android.graphics.Bitmap;
 import android.graphics.BitmapFactory;
 import android.net.Uri;
 import android.os.Handler;
@@ -27,6 +28,7 @@
 import org.chromium.base.ThreadUtils;
 import org.chromium.base.test.BaseJUnit4ClassRunner;
 import org.chromium.base.test.util.CallbackHelper;
+import org.chromium.base.test.util.DisableIf;
 import org.chromium.chrome.R;
 import org.chromium.chrome.browser.notifications.NotificationBuilderBase;
 import org.chromium.chrome.browser.notifications.StandardNotificationBuilder;
@@ -64,10 +66,12 @@
             "org.chromium.chrome.browser.browserservices.MessengerService";
 
     @Rule public final ServiceTestRule mServiceTestRule = new ServiceTestRule();
+
     private ResponseHandler mResponseHandler;
 
     private TrustedWebActivityClient mClient;
     private Context mTargetContext;
+    private SpyNotificationBuilder mBuilder;
 
     /**
      * A Handler that MessengerService will send messages to, reporting actions on
@@ -117,6 +121,7 @@
     @Before
     public void setUp() throws TimeoutException, RemoteException, InterruptedException {
         mTargetContext = InstrumentationRegistry.getTargetContext();
+        mBuilder = new SpyNotificationBuilder(mTargetContext);
         mClient = new TrustedWebActivityClient();
 
         // TestTrustedWebActivityService is in the test support apk.
@@ -150,17 +155,9 @@
      */
     @Test
     @SmallTest
-    public void testNotifyNotification() throws TimeoutException, InterruptedException {
-        Assert.assertEquals(0, mResponseHandler.mGetSmallIconId.getCallCount());
-        Assert.assertEquals(0, mResponseHandler.mNotifyNotification.getCallCount());
-
-        ThreadUtils.runOnUiThread(() -> {
-            NotificationBuilderBase builder = new StandardNotificationBuilder(mTargetContext);
-            mClient.notifyNotification(SCOPE, NOTIFICATION_TAG, NOTIFICATION_ID, builder);
-        });
-
-        mResponseHandler.mGetSmallIconId.waitForCallback(0);
-        mResponseHandler.mNotifyNotification.waitForCallback(0);
+    public void clientCommunicatesWithServiceCorrectly()
+            throws TimeoutException, InterruptedException {
+        postNotification();
 
         Assert.assertEquals(1, mResponseHandler.mGetSmallIconId.getCallCount());
 
@@ -171,27 +168,73 @@
                         R.string.notification_category_group_general));
     }
 
+    @Test
+    @SmallTest
+    public void usesIconFromServiceIfSmallIconsNotSet()
+            throws TimeoutException, InterruptedException {
+        postNotification();
+        Assert.assertEquals(TestTrustedWebActivityService.SMALL_ICON_ID,
+                mBuilder.iconIdForContent);
+        Assert.assertEquals(TestTrustedWebActivityService.SMALL_ICON_ID,
+                mBuilder.iconIdForStatusBar);
+    }
+
     /**
      * Tests that #notifyNotification does not overwrite the small icon if a bitmap
-     * was already provided.
+     * was already provided and is supported.
      */
     @Test
     @SmallTest
-    public void testSmallIconNotOverwritten() throws TimeoutException, InterruptedException {
-        Assert.assertEquals(0, mResponseHandler.mGetSmallIconId.getCallCount());
-        Assert.assertEquals(0, mResponseHandler.mNotifyNotification.getCallCount());
+    @DisableIf.Build(sdk_is_less_than = 23,
+            message = "Sdk < 23 doesn't support small icons as Bitmaps")
+    public void doesntUseIconFromServiceIfStatusBarBitmapsSupported()
+            throws TimeoutException, InterruptedException {
+        // Set a custom small icon.
+        mBuilder.setStatusBarIcon(createBitmap());
+        postNotification();
+        Assert.assertNotEquals(TestTrustedWebActivityService.SMALL_ICON_ID,
+                mBuilder.iconIdForStatusBar);
+    }
 
+
+    /**
+     * Tests that #notifyNotification falls back to client's notification if small icon as Bitmap
+     * is not supported.
+     */
+    @Test
+    @SmallTest
+    @DisableIf.Build(sdk_is_greater_than = 22,
+            message = "Sdk < 23 doesn't support small icons as Bitmaps")
+    public void usesSmallIconFromServiceIfSmallIconAsBitmapIsNotSupported()
+            throws TimeoutException, InterruptedException {
+        mBuilder.setStatusBarIcon(createBitmap());
+        postNotification();
+        Assert.assertEquals(TestTrustedWebActivityService.SMALL_ICON_ID,
+                mBuilder.iconIdForStatusBar);
+    }
+
+    @Test
+    @SmallTest
+    public void doesntUseIconFromServiceIfSmallIconForContentSet()
+            throws TimeoutException, InterruptedException {
+        mBuilder.setSmallIconForContent(createBitmap());
+        postNotification();
+        Assert.assertNotEquals(TestTrustedWebActivityService.SMALL_ICON_ID,
+                mBuilder.iconIdForContent);
+    }
+
+
+    private void postNotification()
+            throws TimeoutException, InterruptedException {
         ThreadUtils.runOnUiThread(() -> {
-            NotificationBuilderBase builder = new StandardNotificationBuilder(mTargetContext);
-            // Set a custom small icon.
-            builder.setSmallIcon(BitmapFactory.decodeResource(
-                    mTargetContext.getResources(), R.drawable.ic_chrome));
-            mClient.notifyNotification(SCOPE, NOTIFICATION_TAG, NOTIFICATION_ID, builder);
+            mClient.notifyNotification(SCOPE, NOTIFICATION_TAG, NOTIFICATION_ID, mBuilder);
         });
 
-        mResponseHandler.mNotifyNotification.waitForCallback(0);
+        mResponseHandler.mNotifyNotification.waitForCallback();
+    }
 
-        Assert.assertEquals(0, mResponseHandler.mGetSmallIconId.getCallCount());
+    private Bitmap createBitmap() {
+        return BitmapFactory.decodeResource(mTargetContext.getResources(), R.drawable.ic_chrome);
     }
 
     /**
@@ -201,14 +244,37 @@
     @Test
     @SmallTest
     public void testCancelNotification() throws TimeoutException, InterruptedException {
-        Assert.assertEquals(0, mResponseHandler.mCancelNotification.getCallCount());
-
         ThreadUtils.runOnUiThread(() ->
             mClient.cancelNotification(SCOPE, NOTIFICATION_TAG, NOTIFICATION_ID));
 
-        mResponseHandler.mCancelNotification.waitForCallback(0);
+        mResponseHandler.mCancelNotification.waitForCallback();
 
         Assert.assertEquals(mResponseHandler.mNotificationTag, NOTIFICATION_TAG);
         Assert.assertEquals(mResponseHandler.mNotificationId, NOTIFICATION_ID);
     }
+
+    //TODO(pshmakov): separate unit tests for the TWAClient and instrumentation tests for the
+    // Service connection; use Mockito in unit tests instead of inheritance.
+    private static class SpyNotificationBuilder extends StandardNotificationBuilder {
+        public int iconIdForStatusBar;
+        public int iconIdForContent;
+
+        public SpyNotificationBuilder(Context context) {
+            super(context);
+        }
+
+        @Override
+        public NotificationBuilderBase setStatusBarIconForRemoteApp(int iconId,
+                String packageName) {
+            iconIdForStatusBar = iconId;
+            return super.setStatusBarIconForRemoteApp(iconId, packageName);
+        }
+
+        @Override
+        public NotificationBuilderBase setContentSmallIconForRemoteApp(int iconId,
+                String packageName) {
+            iconIdForContent = iconId;
+            return super.setContentSmallIconForRemoteApp(iconId, packageName);
+        }
+    }
 }
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabActivityIncognitoTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabActivityIncognitoTest.java
index ccea2612..2cd6d00 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabActivityIncognitoTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabActivityIncognitoTest.java
@@ -28,7 +28,6 @@
 import org.chromium.chrome.browser.toolbar.CustomTabToolbar;
 import org.chromium.chrome.browser.util.ColorUtils;
 import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
-import org.chromium.content_public.browser.test.util.Criteria;
 import org.chromium.content_public.browser.test.util.CriteriaHelper;
 
 import java.util.concurrent.ExecutionException;
@@ -101,12 +100,7 @@
 
         IncognitoNotificationService.getRemoveAllIncognitoTabsIntent(mActivity).send();
 
-        CriteriaHelper.pollUiThread(new Criteria() {
-            @Override
-            public boolean isSatisfied() {
-                return mActivity.isFinishing();
-            }
-        });
+        CriteriaHelper.pollUiThread(mActivity::isFinishing);
     }
 
     @Test
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabActivityTestRule.java b/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabActivityTestRule.java
index 8939b83..6c5fecaf 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabActivityTestRule.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabActivityTestRule.java
@@ -24,7 +24,6 @@
 import org.chromium.content_public.browser.test.util.CriteriaHelper;
 
 import java.lang.ref.WeakReference;
-import java.util.List;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeoutException;
 
@@ -43,20 +42,15 @@
     public void startActivityCompletely(Intent intent) {
         Activity activity = InstrumentationRegistry.getInstrumentation().startActivitySync(intent);
         Assert.assertNotNull("Main activity did not start", activity);
-        CriteriaHelper.pollUiThread(new Criteria() {
-            @Override
-            public boolean isSatisfied() {
-                List<WeakReference<Activity>> list = ApplicationStatus.getRunningActivities();
-                for (WeakReference<Activity> ref : list) {
-                    Activity activity = ref.get();
-                    if (activity == null) continue;
-                    if (activity instanceof CustomTabActivity) {
-                        setActivity((CustomTabActivity) activity);
-                        return true;
-                    }
+        CriteriaHelper.pollUiThread(() -> {
+            for (WeakReference<Activity> ref : ApplicationStatus.getRunningActivities()) {
+                Activity runningActivity = ref.get();
+                if (runningActivity instanceof CustomTabActivity) {
+                    setActivity((CustomTabActivity) runningActivity);
+                    return true;
                 }
-                return false;
             }
+            return false;
         });
     }
 
@@ -89,12 +83,10 @@
         } catch (TimeoutException e) {
             Assert.fail();
         }
-        CriteriaHelper.pollUiThread(new Criteria("Deferred startup never completed") {
-            @Override
-            public boolean isSatisfied() {
-                return DeferredStartupHandler.getInstance().isDeferredStartupCompleteForApp();
-            }
-        }, STARTUP_TIMEOUT_MS, CriteriaHelper.DEFAULT_POLLING_INTERVAL);
+        CriteriaHelper.pollUiThread(
+                DeferredStartupHandler.getInstance()::isDeferredStartupCompleteForApp,
+                "Deferred startup never completed", STARTUP_TIMEOUT_MS,
+                CriteriaHelper.DEFAULT_POLLING_INTERVAL);
         Assert.assertNotNull(tab);
         Assert.assertNotNull(tab.getView());
         Assert.assertTrue(tab.isCurrentlyACustomTab());
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabsTestUtils.java b/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabsTestUtils.java
index 609d2b44..29b1f21 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabsTestUtils.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabsTestUtils.java
@@ -23,7 +23,6 @@
 import org.chromium.base.test.util.CallbackHelper;
 import org.chromium.chrome.R;
 import org.chromium.chrome.browser.document.ChromeLauncherActivity;
-import org.chromium.content_public.browser.test.util.Criteria;
 import org.chromium.content_public.browser.test.util.CriteriaHelper;
 
 import java.util.concurrent.TimeoutException;
@@ -101,18 +100,10 @@
     }
 
     public static void openAppMenuAndAssertMenuShown(CustomTabActivity activity) {
-        ThreadUtils.runOnUiThread(new Runnable() {
-            @Override
-            public void run() {
-                activity.onMenuOrKeyboardAction(R.id.show_menu, false);
-            }
-        });
+        ThreadUtils.runOnUiThread(
+                () -> { activity.onMenuOrKeyboardAction(R.id.show_menu, false); });
 
-        CriteriaHelper.pollUiThread(new Criteria("App menu was not shown") {
-            @Override
-            public boolean isSatisfied() {
-                return activity.getAppMenuHandler().isAppMenuShowing();
-            }
-        });
+        CriteriaHelper.pollUiThread(
+                activity.getAppMenuHandler()::isAppMenuShowing, "App menu was not shown");
     }
 }
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/feed/FeedNewTabPageTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/feed/FeedNewTabPageTest.java
index b71e4f31..c52d311 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/feed/FeedNewTabPageTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/feed/FeedNewTabPageTest.java
@@ -77,7 +77,7 @@
     @Before
     public void setUp() throws Exception {
         mActivityTestRule.startMainActivityWithURL("about:blank");
-        FeedNewTabPage.setInTestMode(true);
+        ThreadUtils.runOnUiThreadBlocking(() -> FeedNewTabPage.setInTestMode(true));
 
         mTestServer = EmbeddedTestServer.createAndStartServer(InstrumentationRegistry.getContext());
         mSiteSuggestions = NewTabPageTestUtils.createFakeSiteSuggestions(mTestServer);
@@ -198,11 +198,9 @@
     @MediumTest
     @Feature({"FeedNewTabPage"})
     public void testFeedDisabledByPolicy() throws Exception {
-        // TODO(huayinz): Re-enable the part commented out on this test and replace
-        // sOverrideFeedEnabledForTesting with the real preference once we have a decision for
-        // whether to re-enable the Feed on supervised/enterprise account removed within a session.
-        FeedNewTabPageMediator mediator = mNtp.getMediatorForTesting();
-        mediator.overrideFeedEnabledForTesting(true);
+        final boolean pref = ThreadUtils.runOnUiThreadBlocking(
+                () -> PrefServiceBridge.getInstance().getBoolean(
+                        Pref.NTP_ARTICLES_SECTION_ENABLED));
 
         // Policy is disabled. Verify the NTP root view contains only the Stream view as child.
         ViewGroup rootView = (ViewGroup) mNtp.getView();
@@ -214,7 +212,8 @@
 
         // Simulate that policy is enabled. Verify the NTP root view contains only the view for
         // policy as child.
-        ThreadUtils.runOnUiThreadBlocking(() -> mediator.updateContentForTesting(false));
+        ThreadUtils.runOnUiThreadBlocking(() -> PrefServiceBridge.getInstance().setBoolean(
+                Pref.NTP_ARTICLES_SECTION_ENABLED, false));
         ViewUtils.waitForStableView(rootView);
         Assert.assertNotNull(mNtp.getScrollViewForPolicy());
         Assert.assertNull(mNtp.getStream());
@@ -233,28 +232,27 @@
         Assert.assertEquals(1, rootView2.getChildCount());
         Assert.assertEquals(ntp2.getScrollViewForPolicy(), rootView2.getChildAt(0));
 
-        /*
-        // Simulate that policy is disabled. Verify the NTP root view contains only the Stream view
-        // as child.
+        // Simulate that policy is disabled. Verify the NTP root view is the view for policy. We
+        // don't re-enable the Feed until the next restart.
         ThreadUtils.runOnUiThreadBlocking(() -> PrefServiceBridge.getInstance().setBoolean(
                 Pref.NTP_ARTICLES_SECTION_ENABLED, true));
         ViewUtils.waitForStableView(rootView2);
-        Assert.assertNotNull(ntp2.getStream());
-        Assert.assertNull(ntp2.getScrollViewForPolicy());
+        Assert.assertNotNull(ntp2.getScrollViewForPolicy());
+        Assert.assertNull(ntp2.getStream());
         Assert.assertEquals(1, rootView2.getChildCount());
-        Assert.assertEquals(ntp2.getStream().getView(), rootView2.getChildAt(0));
+        Assert.assertEquals(ntp2.getScrollViewForPolicy(), rootView2.getChildAt(0));
 
-        // Switch to the old tab. Verify the NTP root view contains only the Stream view as child.
+        // Switch to the old tab. Verify the NTP root view is the view for policy.
         ChromeTabUtils.switchTabInCurrentTabModel(mActivityTestRule.getActivity(), mTab.getId());
         ViewUtils.waitForStableView(rootView);
-        Assert.assertNotNull(mNtp.getStream());
-        Assert.assertNull(mNtp.getScrollViewForPolicy());
+        Assert.assertNotNull(mNtp.getScrollViewForPolicy());
+        Assert.assertNull(mNtp.getStream());
         Assert.assertEquals(1, rootView.getChildCount());
-        Assert.assertEquals(mNtp.getStream().getView(), rootView.getChildAt(0));
-        */
+        Assert.assertEquals(mNtp.getScrollViewForPolicy(), rootView.getChildAt(0));
 
         // Reset state.
-        mediator.overrideFeedEnabledForTesting(false);
+        ThreadUtils.runOnUiThreadBlocking(() -> PrefServiceBridge.getInstance().setBoolean(
+                Pref.NTP_ARTICLES_SECTION_ENABLED, pref));
     }
 
     private boolean getPreferenceForArticleSectionHeader() throws Exception {
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/notifications/CustomNotificationBuilderTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/notifications/CustomNotificationBuilderTest.java
index 2e6f765..f109e0e 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/notifications/CustomNotificationBuilderTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/notifications/CustomNotificationBuilderTest.java
@@ -69,16 +69,11 @@
         Bitmap smallIcon =
                 BitmapFactory.decodeResource(context.getResources(), R.drawable.ic_chrome);
 
-        Bitmap largeIcon = Bitmap.createBitmap(
-                new int[] {Color.RED}, 1 /* width */, 1 /* height */, Bitmap.Config.ARGB_8888);
-        largeIcon = largeIcon.copy(Bitmap.Config.ARGB_8888, true /* isMutable */);
-
-        Bitmap actionIcon = Bitmap.createBitmap(
-                new int[] {Color.WHITE}, 1 /* width */, 1 /* height */, Bitmap.Config.ARGB_8888);
-        actionIcon = actionIcon.copy(Bitmap.Config.ARGB_8888, true /* isMutable */);
+        Bitmap largeIcon = createIcon(Color.RED);
+        Bitmap actionIcon = createIcon(Color.WHITE);
 
         Notification notification = new CustomNotificationBuilder(context)
-                                            .setSmallIcon(R.drawable.ic_chrome)
+                                            .setSmallIconId(R.drawable.ic_chrome)
                                             .setLargeIcon(largeIcon)
                                             .setTitle("title")
                                             .setBody("body")
@@ -194,38 +189,55 @@
     @SmallTest
     @Feature({"Browser", "Notifications"})
     @DisableIf.Build(sdk_is_greater_than = 23, message = "crbug.com/779228")
-    public void testPaintIcons() {
+    public void largeIconShouldBePaintedWithoutChange() {
         Context context = InstrumentationRegistry.getTargetContext();
 
-        Bitmap largeIcon = Bitmap.createBitmap(
-                new int[] {Color.RED}, 1 /* width */, 1 /* height */, Bitmap.Config.ARGB_8888);
-        largeIcon = largeIcon.copy(Bitmap.Config.ARGB_8888, true /* isMutable */);
-
-        Bitmap smallIcon = Bitmap.createBitmap(
-                new int[] {Color.RED}, 1 /* width */, 1 /* height */, Bitmap.Config.ARGB_8888);
-        smallIcon = smallIcon.copy(Bitmap.Config.ARGB_8888, true /* isMutable */);
-
-        Bitmap actionIcon = Bitmap.createBitmap(
-                new int[] {Color.RED}, 1 /* width */, 1 /* height */, Bitmap.Config.ARGB_8888);
-        actionIcon = actionIcon.copy(Bitmap.Config.ARGB_8888, true /* isMutable */);
+        Bitmap largeIcon = createIcon(Color.RED);
 
         Notification notification = new CustomNotificationBuilder(context)
                                             .setChannelId(ChannelDefinitions.ChannelId.SITES)
                                             .setLargeIcon(largeIcon)
-                                            .setSmallIcon(smallIcon)
-                                            .addButtonAction(actionIcon, "button",
-                                                    createIntent(context, "ActionButton"))
+                                            .setSmallIconId(R.drawable.ic_chrome)
                                             .build();
 
-        // The large icon should be unchanged.
         assertLargeNotificationIconAsExpected(context, notification, largeIcon);
+    }
 
-        // Small icons should be painted white.
-        Bitmap whiteIcon = Bitmap.createBitmap(
-                new int[] {Color.WHITE}, 1 /* width */, 1 /* height */, Bitmap.Config.ARGB_8888);
-        assertSmallNotificationIconAsExpected(context, notification, whiteIcon);
+    @Test
+    @SmallTest
+    @Feature({"Browser", "Notifications"})
+    public void smallIconsArePaintedWhite() {
+        Context context = InstrumentationRegistry.getTargetContext();
 
-        // Action icons should be painted white.
+        Bitmap smallIcon = createIcon(Color.RED);
+
+        Notification notification = new CustomNotificationBuilder(context)
+                .setChannelId(ChannelDefinitions.ChannelId.SITES)
+                .setSmallIconForContent(smallIcon)
+                .setStatusBarIcon(smallIcon)
+                .build();
+
+        // Note that small icon as a Bitmap should be present on pre-M, even though it can't
+        // be shown in the status bar
+        assertSmallNotificationIconAsExpected(context, notification, createIcon(Color.WHITE));
+    }
+
+    @Test
+    @SmallTest
+    @Feature({"Browser", "Notifications"})
+    public void actionIconsArePaintedWhite() {
+        Context context = InstrumentationRegistry.getTargetContext();
+        Bitmap actionIcon = createIcon(Color.RED);
+
+        Notification notification = new CustomNotificationBuilder(context)
+                .setChannelId(ChannelDefinitions.ChannelId.SITES)
+                .setSmallIconId(R.drawable.ic_chrome)
+                .addButtonAction(actionIcon, "button",
+                        createIntent(context, "ActionButton"))
+                .build();
+
+        Bitmap whiteIcon = createIcon(Color.WHITE);
+
         Assert.assertEquals(1, NotificationTestUtil.getActions(notification).length);
         View bigView = notification.bigContentView.apply(context, new LinearLayout(context));
         ImageView actionIconView = (ImageView) bigView.findViewById(R.id.button_icon);
@@ -236,6 +248,19 @@
     @Test
     @SmallTest
     @Feature({"Browser", "Notifications"})
+    @DisableIf.Build(sdk_is_greater_than = 22)
+    public void statusBarIconAsBitmapIsIgnoredIfNotSupported() {
+        Context context = InstrumentationRegistry.getTargetContext();
+
+        NotificationBuilderBase notificationBuilder = new CustomNotificationBuilder(context)
+                .setStatusBarIcon(createIcon(Color.RED));
+
+        Assert.assertFalse(notificationBuilder.hasStatusBarIconBitmap());
+    }
+
+    @Test
+    @SmallTest
+    @Feature({"Browser", "Notifications"})
     @DisableIf.Build(sdk_is_greater_than = 23, message = "crbug.com/779228")
     public void testCharSequenceLimits() {
         Context context = InstrumentationRegistry.getTargetContext();
@@ -441,4 +466,10 @@
         Arrays.fill(chars, character);
         return new String(chars);
     }
+
+    private static Bitmap createIcon(int color) {
+        Bitmap icon = Bitmap.createBitmap(
+                new int[] {color}, 1 /* width */, 1 /* height */, Bitmap.Config.ARGB_8888);
+        return icon.copy(Bitmap.Config.ARGB_8888, true /* isMutable */);
+    }
 }
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/notifications/StandardNotificationBuilderTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/notifications/StandardNotificationBuilderTest.java
index ef47fdd3..40dc6bc 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/notifications/StandardNotificationBuilderTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/notifications/StandardNotificationBuilderTest.java
@@ -90,7 +90,7 @@
                 .setTicker(new SpannableStringBuilder("ticker"))
                 .setImage(image)
                 .setLargeIcon(largeIcon)
-                .setSmallIcon(R.drawable.ic_chrome)
+                .setSmallIconId(R.drawable.ic_chrome)
                 .setDefaults(Notification.DEFAULT_ALL)
                 .setVibrate(new long[] {100L})
                 .setContentIntent(outContentAndDeleteIntents[0])
@@ -185,8 +185,8 @@
         Bitmap bitmap =
                 BitmapFactory.decodeResource(context.getResources(), R.drawable.chrome_sync_logo);
 
-        notificationBuilder.setSmallIcon(R.drawable.ic_chrome);
-        notificationBuilder.setSmallIcon(bitmap);
+        notificationBuilder.setSmallIconId(R.drawable.ic_chrome);
+        notificationBuilder.setStatusBarIcon(bitmap);
         notificationBuilder.setChannelId(ChannelDefinitions.ChannelId.SITES);
 
         Notification notification = notificationBuilder.build();
@@ -203,7 +203,7 @@
 
             // Check using the same bitmap on another builder gives the same result.
             NotificationBuilderBase otherBuilder = new StandardNotificationBuilder(context);
-            otherBuilder.setSmallIcon(bitmap).setChannelId(ChannelDefinitions.ChannelId.SITES);
+            otherBuilder.setStatusBarIcon(bitmap).setChannelId(ChannelDefinitions.ChannelId.SITES);
             Notification otherNotification = otherBuilder.build();
             Assert.assertTrue(expected.sameAs(
                     NotificationTestUtil.getSmallIconFromNotification(context, otherNotification)));
@@ -226,7 +226,7 @@
 
         Notification notification = new StandardNotificationBuilder(context)
                                             .setChannelId(ChannelDefinitions.ChannelId.SITES)
-                                            .setSmallIcon(R.drawable.ic_chrome)
+                                            .setSmallIconId(R.drawable.ic_chrome)
                                             .build();
 
         Bitmap bitmap = Bitmap.createBitmap(new int[] {Color.BLUE}, 1, 1, Bitmap.Config.ARGB_8888);
@@ -234,8 +234,8 @@
         Notification notificationWithBitmap =
                 new StandardNotificationBuilder(context)
                         .setChannelId(ChannelDefinitions.ChannelId.SITES)
-                        .setSmallIcon(R.drawable.ic_chrome)
-                        .setSmallIcon(bitmap)
+                        .setSmallIconId(R.drawable.ic_chrome)
+                        .setStatusBarIcon(bitmap)
                         .build();
 
         NotificationManager notificationManager =
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/ntp/NewTabPageTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/ntp/NewTabPageTest.java
index b5901440..c4089e9c 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/ntp/NewTabPageTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/ntp/NewTabPageTest.java
@@ -136,7 +136,6 @@
         mInterestFeedEnabled = interestFeedEnabled;
         if (mInterestFeedEnabled) {
             Features.getInstance().enable(ChromeFeatureList.INTEREST_FEED_CONTENT_SUGGESTIONS);
-            FeedNewTabPage.setInTestMode(true);
         } else {
             Features.getInstance().disable(ChromeFeatureList.INTEREST_FEED_CONTENT_SUGGESTIONS);
         }
@@ -144,6 +143,11 @@
 
     @Before
     public void setUp() throws Exception {
+        mActivityTestRule.startMainActivityWithURL("about:blank");
+        if (mInterestFeedEnabled) {
+            ThreadUtils.runOnUiThreadBlocking(() -> FeedNewTabPage.setInTestMode(true));
+        }
+
         mTestServer = EmbeddedTestServer.createAndStartServer(InstrumentationRegistry.getContext());
 
         mSiteSuggestions = NewTabPageTestUtils.createFakeSiteSuggestions(mTestServer);
@@ -151,7 +155,7 @@
         mMostVisitedSites.setTileSuggestions(mSiteSuggestions);
         mSuggestionsDeps.getFactory().mostVisitedSites = mMostVisitedSites;
 
-        mActivityTestRule.startMainActivityWithURL(UrlConstants.NTP_URL);
+        mActivityTestRule.loadUrl(UrlConstants.NTP_URL);
         mTab = mActivityTestRule.getActivity().getActivityTab();
         NewTabPageTestUtils.waitForNtpLoaded(mTab);
 
@@ -165,7 +169,9 @@
     @After
     public void tearDown() throws Exception {
         mTestServer.stopAndDestroyServer();
-        if (mInterestFeedEnabled) FeedNewTabPage.setInTestMode(false);
+        if (mInterestFeedEnabled) {
+            ThreadUtils.runOnUiThreadBlocking(() -> FeedNewTabPage.setInTestMode(false));
+        }
     }
 
     @Test
diff --git a/chrome/app/chrome_command_ids.h b/chrome/app/chrome_command_ids.h
index be8d40c..101b0f89 100644
--- a/chrome/app/chrome_command_ids.h
+++ b/chrome/app/chrome_command_ids.h
@@ -123,7 +123,7 @@
 
 // Show various bits of UI
 #define IDC_OPEN_FILE                   40000
-#define IDC_CREATE_HOSTED_APP           40002
+#define IDC_CREATE_SHORTCUT             40002
 #define IDC_DEVELOPER_MENU              40003
 #define IDC_DEV_TOOLS                   40004
 #define IDC_DEV_TOOLS_CONSOLE           40005
@@ -176,6 +176,7 @@
 #define IDC_CUSTOMIZE_TOUCH_BAR         40251
 #define IDC_SHOW_BETA_FORUM             40252
 #define IDC_TOGGLE_JAVASCRIPT_APPLE_EVENTS 40253
+#define IDC_INSTALL_PWA                 40254
 
 // Spell-check
 // Insert any additional suggestions before _LAST; these have to be consecutive.
diff --git a/chrome/app/chromeos_strings.grdp b/chrome/app/chromeos_strings.grdp
index d820b42..b4875eb 100644
--- a/chrome/app/chromeos_strings.grdp
+++ b/chrome/app/chromeos_strings.grdp
@@ -1182,10 +1182,10 @@
     Connection to <ph name="name">$1<ex>Google VPN</ex></ph> has been lost
   </message>
   <message name="IDS_NETWORK_OUT_OF_CREDITS_TITLE" desc="Title for network out of data error notification">
-    Network connection error
+    Couldn't connect
   </message>
   <message name="IDS_NETWORK_OUT_OF_CREDITS_BODY" desc="Message body for network out of data error notification">
-    You may have used up your mobile data allowance. Visit the <ph name="name">$1<ex>GoogleGuest</ex></ph> activation portal to buy more data.
+    You may have used up your mobile data allowance. Visit the <ph name="name">$1<ex>GoogleGuest</ex></ph> activation portal to buy more data
   </message>
   <message name="IDS_NETWORK_UNRECOGNIZED_ERROR" desc="Unrecognized Network error text">
     Unrecognized error: <ph name="desc">$1<ex>ShillErrorString</ex></ph>
@@ -1194,13 +1194,13 @@
     Mobile data activated
   </message>
   <message name="IDS_NETWORK_CELLULAR_ACTIVATED" desc="Text of the cellular activated notification">
-    Congratulations! Your '<ph name="name">$1<ex>Generic Wireless</ex></ph>' data service has been activated and is ready to go.
+    Your '<ph name="name">$1<ex>Generic Wireless</ex></ph>' data service is ready to use
   </message>
   <message name="IDS_NETWORK_ACTIVATION_ERROR_TITLE" desc="Title for network activation error notification">
-    Network activation error
+    Couldn't connect
   </message>
   <message name="IDS_NETWORK_ACTIVATION_NEEDS_CONNECTION" desc="Message when attempting to activate a mobile network that requires a connection">
-    Activation of '<ph name="name">$1<ex>Generic Wireless</ex></ph>' requires a network connection.
+    To activate '<ph name="name">$1<ex>Generic Wireless</ex></ph>' data, first connect to a Wi-Fi network
   </message>
 
   <!-- Strings shown within Tether notifications -->
diff --git a/chrome/app/nibs/Toolbar.xib b/chrome/app/nibs/Toolbar.xib
index 8c47891..5e2eb5d 100644
--- a/chrome/app/nibs/Toolbar.xib
+++ b/chrome/app/nibs/Toolbar.xib
@@ -88,7 +88,7 @@
                         <action selector="commandDispatch:" target="-1" id="24"/>
                     </connections>
                 </textField>
-                <customView hidden="YES" id="144" userLabel="Browser Actions Container" customClass="BrowserActionsContainerView">
+                <customView hidden="YES" id="144" userLabel="Browser Actions Container">
                     <rect key="frame" x="572" y="4" width="0.0" height="29"/>
                     <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES"/>
                 </customView>
diff --git a/chrome/app/resources/chromium_strings_bn.xtb b/chrome/app/resources/chromium_strings_bn.xtb
index 528d464..1eb1646 100644
--- a/chrome/app/resources/chromium_strings_bn.xtb
+++ b/chrome/app/resources/chromium_strings_bn.xtb
@@ -34,8 +34,8 @@
 <translation id="2119636228670142020">&amp;Chromium OS সম্পর্কে</translation>
 <translation id="2241627712206172106">যদি আপনি একটি কম্পিউটার ভাগ করেন, তাহলে বন্ধু ও পরিবারের লোকজন পৃথকভাবে ব্রাউজ করতে পারবেন এবং তাদের ইচ্ছা অনুযায়ী Chromium এর সেট আপ করতে পারবেন৷</translation>
 <translation id="2265088490657775772">আপনার iPhone এ Chromium ইনস্টল করুন</translation>
-<translation id="2347108572062610441">আপনি Chromium শুরু করলে কোন পৃষ্ঠাটি দেখানো হবে তা এই এক্সটেনশানটি পরিবর্তন করেছে।</translation>
-<translation id="2396765026452590966">আপনি Chromium শুরু করলে কোন পৃষ্ঠাটি দেখানো হবে তা "<ph name="EXTENSION_NAME" />" এক্সটেনশান পরিবর্তন করেছে।</translation>
+<translation id="2347108572062610441">আপনি Chromium চালু করলে কোন পৃষ্ঠাটি দেখানো হবে তা এই এক্সটেনশনটি পরিবর্তন করেছে।</translation>
+<translation id="2396765026452590966">আপনি Chromium চালু করলে কোন পৃষ্ঠাটি দেখানো হবে তা "<ph name="EXTENSION_NAME" />" এক্সটেনশনটি পরিবর্তন করেছে।</translation>
 <translation id="2483889755041906834">Chromium এ</translation>
 <translation id="2485422356828889247">আনইনস্টল</translation>
 <translation id="2527042973354814951"><ph name="PLUGIN_NAME" /> কে সক্ষম করতে Chromium আবার চালু করুন</translation>
@@ -217,7 +217,7 @@
 <translation id="7745317241717453663">এটি এই ডিভাইস থেকে আপনার ব্রাউজিং ডেটা মুছে ফেলবে। আপনার ডেটা পরে পুনরুদ্ধার করার জন্য, Chromium এ <ph name="USER_EMAIL" /> হিসেবে সাইন ইন করুন।</translation>
 <translation id="7747138024166251722">ইনস্টলারটি অস্থায়ী ডিরেক্টরি তৈরি করতে পারেনি৷ অনুগ্রহ করে ডিস্কে কতটা খালি স্থান দেখুন এবং সফ্টওয়্যারটি ইনস্টল করার অনুমতি যাচাই করে নিন৷</translation>
 <translation id="7756122083761163394">এই ডিভাইস থেকে এই ব্যক্তির ব্রাউজিং ডেটা মুছে ফেলা হবে। ডেটা পুনরুদ্ধার করতে Chrome এ $2 হিসাবে সাইন-ইন করুন।</translation>
-<translation id="7773960292263897147">সতর্কতা: Chromium ব্রাউজিং ইতিহাস রেকর্ডিং করা থেকে এক্সটেনশনগুলিতে বাধা দিতে পারেনা। ছদ্মবেশী মোডে এই এক্সটেনশনটি অক্ষম করতে, এই বিকল্পটি নির্বাচন মুক্ত করুন।</translation>
+<translation id="7773960292263897147">সতর্কতা: Chromium এক্সটেনশনগুলিকে ব্রাউজিং ইতিহাস রেকর্ড করার কাজে বাধা দিতে পারে না। ছদ্মবেশী মোডে এক্সটেনশনটি বন্ধ করতে, এই বিকল্পটি সিলেক্ট করবেন না।</translation>
 <translation id="7774736947049807614">প্রমাণীকরণের শংসাপত্রটি কাজ করেনি। অনুগ্রহ করে <ph name="USER_NAME" /> হিসেবে আবার Chromium এ সাইন-ইন করুন বা আরও তথ্যের জন্য আপনার প্রশাসকের সাথে যোগাযোগ করুন। <ph name="ADDITIONAL_EXPLANATION" /></translation>
 <translation id="7790626492778995050"><ph name="PAGE_TITLE" /> - Chromium Canary</translation>
 <translation id="7867198900892795913">Chromium লেটেস্ট ভার্সনে আপডেট করা যাচ্ছে না, তাই আপনি নতুন বৈশিষ্ট্য এবং সুরক্ষা সমাধানগুলি পাচ্ছেন না।</translation>
@@ -260,7 +260,7 @@
 
 যেকোনো উপায়ে প্রবেশ করা হলে তা বুকমার্কগুলি, ইতিহাস, এবং অন্যান্য সেটিংসের মত Chromium তথ্যকে <ph name="ACCOUNT_EMAIL_NEW" /> এ মার্জ করবে৷</translation>
 <translation id="9013087743919948559">Chromium-এ জুড়ুন</translation>
-<translation id="9019929317751753759">Chromium কে আরও নিরাপদ করতে, আমরা নীচের এক্সটেনশানটি অক্ষম করেছি যা <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> এ তালিকাবদ্ধ করা হয়নি এবং হয়ত আপনাকে না জানিয়ে যোগ করা হয়েছিল৷</translation>
+<translation id="9019929317751753759">Chromium-কে আরও নিরাপদ করতে, আমরা নিচের এক্সটেনশনটি বন্ধ করেছি যা <ph name="IDS_EXTENSION_WEB_STORE_TITLE" />-এ তালিকাবদ্ধ করা হয়নি এবং হয়ত আপনাকে না জানিয়ে যোগ করা হয়েছিল৷</translation>
 <translation id="9022552996538154597">Chromium-এ প্রবেশ করুন</translation>
 <translation id="9025992965467895364">এই পৃষ্ঠাটি খুব বেশি মেমরি ব্যবহার করছে তাই Chromium এটি বিরত রেখেছে।</translation>
 <translation id="9036189287518468038">Chromium অ্যাপ্লিকেশান লঞ্চার</translation>
diff --git a/chrome/app/resources/chromium_strings_ta.xtb b/chrome/app/resources/chromium_strings_ta.xtb
index 23136994..2ec35acb 100644
--- a/chrome/app/resources/chromium_strings_ta.xtb
+++ b/chrome/app/resources/chromium_strings_ta.xtb
@@ -187,7 +187,7 @@
 <translation id="7162152143154757523">நீங்கள் உலாவியில் தட்டச்சு செய்ததை Google சேவையகங்களுக்கு அனுப்புவதன் மூலம் விரைவான எழுத்துப்பிழைச் சரிப்பார்த்தலை Chromium வழங்குகிறது, Google தேடல் பயன்படுத்தும் அதே எழுத்துப்பிழைச் சரிபார்த்தல் தொழில்நுட்பத்தை நீங்கள் பயன்படுத்த அனுமதிக்கிறது.</translation>
 <translation id="7196312274710523067">Chromiumஐத் தொடங்க முடியவில்லை. மீண்டும் முயலவும்.</translation>
 <translation id="7205698830395646142">Chromium மெனுவில் மறை</translation>
-<translation id="7223968959479464213">பணி நிர்வாகி - Chromium</translation>
+<translation id="7223968959479464213">செயல் நிர்வாகி - Chromium</translation>
 <translation id="722928257909516027">Chromium மெனுவைக் காட்டு</translation>
 <translation id="731644333568559921">&amp;Chromium OS ஐப் புதுப்பி</translation>
 <translation id="731795002583552498">Chromiumஐப் புதுப்பிக்கிறது</translation>
diff --git a/chrome/app/resources/generated_resources_am.xtb b/chrome/app/resources/generated_resources_am.xtb
index 739ec27..4aa6913 100644
--- a/chrome/app/resources/generated_resources_am.xtb
+++ b/chrome/app/resources/generated_resources_am.xtb
@@ -275,6 +275,7 @@
 <translation id="1395730723686586365">ማዘመኛ ጀምሯል</translation>
 <translation id="1396139853388185343">ማተሚያን ማዋቀር ላይ ስህተት</translation>
 <translation id="1396963298126346194">ያስገቡት የተጠቃሚ ስም እና የይለፍ ቃል አይዛመዱም</translation>
+<translation id="1397500194120344683">ምንም ብቁ የሆኑ መሣሪያዎች የሉም። <ph name="LINK_BEGIN" />የበለጠ ለመረዳት<ph name="LINK_END" /></translation>
 <translation id="1397854323885047133">ስምረት እና ግላዊነት ማላበስ</translation>
 <translation id="1398853756734560583">አስፋ</translation>
 <translation id="1399511500114202393">ምንም የተጠቃሚ እውቅና ማረጋገጫ የለም</translation>
@@ -375,7 +376,6 @@
 <translation id="1531004739673299060">የመተግበሪያ መስኮት</translation>
 <translation id="15373452373711364">ትልቅ የመዳፊት ጠቋሚ</translation>
 <translation id="1538729222189715449">የLinux ፋይሎችን በመክፈት ላይ...</translation>
-<translation id="153933193410874873">በዚህ መሣሪያ ላይ ማንነትዎን ማረጋገጥ አልቻልንም</translation>
 <translation id="1540605929960647700">የማሳያ ሁነታውን ያንቁ</translation>
 <translation id="1543284117603151572">ከEdge ላይ የመጣ</translation>
 <translation id="1545177026077493356">ራስ-ሰር የኪዮስክ ሁነታ</translation>
@@ -529,6 +529,7 @@
 <translation id="175772926354468439">ገጽታን አንቃ</translation>
 <translation id="1758018619400202187">EAP-TLS</translation>
 <translation id="17584710573359123">በChrome የድር መደብር ውስጥ ይመልከቱ</translation>
+<translation id="176193854664720708">የጣት አሻራ ዳሳሹ በኃይል አዝራሩ ውስጥ ነው። በማንኛውም ጣት ቀስ ብለው ይንኩት።</translation>
 <translation id="1763046204212875858">የመተግበሪያ አቋራጮችን ፍጠር</translation>
 <translation id="1763108912552529023">ማሰሱን ቀጥል</translation>
 <translation id="1763808908432309942">በአዲስ ትር ውስጥ ይከፍታል</translation>
@@ -682,7 +683,6 @@
 <translation id="1981115145845865539">የእርስዎን <ph name="DEVICE_TYPE" /> በራስ-ሰር ይክፈቱ</translation>
 <translation id="1983959805486816857">አዲስ ክትትል የሚደረግበት ተጠቃሚ ከፈጠሩ በኋላ ቅንብሮቹን በማንኛውም ጊዜ ከማንኛውም መሣሪያ ላይ ሆነው <ph name="MANAGEMENT_URL" /> ላይ ማቀናበር ይችላሉ።</translation>
 <translation id="1984642098429648350">መስኮት ቀኝ ላይ ይትከሉ</translation>
-<translation id="1987139229093034863">ወደተለየ ተጠቃሚ ይቀይሩ።</translation>
 <translation id="1987317783729300807">መለያዎች</translation>
 <translation id="1989112275319619282">አስስ</translation>
 <translation id="1992397118740194946">ያልተዘጋጀ</translation>
@@ -823,6 +823,7 @@
 <translation id="2208158072373999562">የZip ማህደር</translation>
 <translation id="220858061631308971">እባክዎ ይህን የፒን ኮድ በ«<ph name="DEVICE_NAME" />» ላይ ያስገቡት፦</translation>
 <translation id="2209593327042758816">የመደርደሪያ ንጥል 2</translation>
+<translation id="2212126039311489237">የስርዓት መገናኛውን ተጠቅመው ያትሙ</translation>
 <translation id="2217501013957346740">አንድ ስም ይፍጠሩ -</translation>
 <translation id="2218019600945559112">መዳፊት እና መዳሰሻ</translation>
 <translation id="2218320521449013367">Chrome ጎጂ ሶፍትዌር እያስወገደ ሳለ አንድ ስህተት ተከስቷል</translation>
@@ -935,6 +936,7 @@
 <translation id="2378075407703503998"><ph name="SELCTED_FILE_COUNT" /> ፋይሎች ተመርጠዋል</translation>
 <translation id="237828693408258535">ይህ ገጽ ይተርጎም?</translation>
 <translation id="2378982052244864789">የቅጥያውን ማውጫ ይምረጡ።</translation>
+<translation id="2379281330731083556">የስርዓት መገናኛ ተጠቅመው ያትሙ... <ph name="SHORTCUT_KEY" /></translation>
 <translation id="2381756643783702095">ከመላክ በፊት ጠይቅ (የሚመከር)</translation>
 <translation id="2384436799579181135">አንድ ስህተት ተከስቷል። እባክዎ የእርስዎን አታሚ ያረጋግጡና እንደገና ይሞክሩ።</translation>
 <translation id="2387458720915042159">የተኪ ግንኙነት አይነት</translation>
@@ -1114,6 +1116,7 @@
 <translation id="2653659639078652383">አስገባ</translation>
 <translation id="265390580714150011">የመስክ እሴት</translation>
 <translation id="2654166010170466751">ጣቢያዎች የክፍያ ተቆጣጣሪይዎችን እንዲጭኑ ይፍቀዱ</translation>
+<translation id="2656742821229528729">ከእርስዎ ኮምፒውተር ሆነው ጽሑፍ ለመላክ፣ የበይነመረብ ግንኙነትዎን ለማጋራት እና በስልክ የእርስዎን Chromebook ለመክፈት የእርስዎን የAndroid ስልክ እና Chromebook ያገናኟቸው።<ph name="FOOTNOTE_POINTER" /> <ph name="LINK_BEGIN" />የበለጠ ለመረዳት<ph name="LINK_END" /></translation>
 <translation id="2659381484350128933"><ph name="FOOTNOTE_POINTER" />ባህሪዎች እንደየመሣሪያው ይለያያሉ</translation>
 <translation id="2660779039299703961">ክስተት</translation>
 <translation id="266079277508604648">ከአታሚ ጋር መገናኘት አልተቻለም። አታሚው መብራቱንና በWi-Fi ወይም በዩኤስቢ ከእርስዎ Chromebook ጋር መገናኘቱን ያረጋግጡ።</translation>
@@ -1418,6 +1421,7 @@
 <translation id="3115128645424181617">የእርስዎን ስልክ ማግኘት አልተቻለም። በቅርብ ርቀት ላይ የሚችል መሆኑንና ብሉቱዝ መብራቱን ያረጋግጡ።</translation>
 <translation id="3115147772012638511">መሸጎጫ በመጠበቅ ላይ…</translation>
 <translation id="3118319026408854581">የ<ph name="PRODUCT_NAME" /> እገዛ</translation>
+<translation id="3119484583572640616">«አብረው የተሻለ ነው»ን ማብራት ማለት እነዚህን ማድረግ ይችላል ማለት ነው፦</translation>
 <translation id="3120430004221004537">በቂ ያልሆነ ምስጠራ ለአንድ የተወሰነ ስርዓተ ክወና በዚህ ላይ፦ «<ph name="DEVICE_NAME" />»።</translation>
 <translation id="3121793941267913344">ይህን የ<ph name="IDS_SHORT_PRODUCT_NAME" /> መሣሪያ ዳግም ያስጀምሩት</translation>
 <translation id="3122464029669770682">ሲፒዩ</translation>
@@ -1732,6 +1736,7 @@
 <translation id="3596235046596950091">የደመና አገልግሎቶችን አንቃ</translation>
 <translation id="3599863153486145794">ታሪክን በመለያ ከገቡ ሁሉም መሣሪያዎች ላይ ያጸዳል። የእርስዎ Google መለያ <ph name="BEGIN_LINK" />history.google.com<ph name="END_LINK" /> ላይ ሌሎች የአሰሳ ታሪክ ዓይነቶች ሊኖረው ይችላል</translation>
 <translation id="3600792891314830896">ድምጽን በሚያጫውቱ ጣቢያዎች ላይ ድምጸ-ከል አድርግ</translation>
+<translation id="360180734785106144">ልክ አዲስ ባህሪያት ሲገኙ ማቅረብ</translation>
 <translation id="3602290021589620013">ቅድመ-ዕይታ</translation>
 <translation id="3603533104205588786">አንድ ገጽ ዕልባት ለማድረግ ኮከቡን ጠቅ ማድረግ ይችላሉ</translation>
 <translation id="3603622770190368340">የአውታረ መረብ እውቅና ማረጋገጫ ያግኙ</translation>
@@ -2067,7 +2072,6 @@
 <translation id="4068506536726151626">ይህ ገጽ አካባቢዎን እየተከታተሉ ካሉት የሚከተሉት ጣቢያዎች አባላትን ይዟል፦</translation>
 <translation id="4068776064906523561">የተቀመጡ የጣት አሻራዎች</translation>
 <translation id="407173827865827707">ጠቅ ሲደረግ</translation>
-<translation id="4071770069230198275"><ph name="PROFILE_NAME" />፦ በመለያ የመግባት ስህተት</translation>
 <translation id="4074900173531346617">የኢሜይል ፈራሚ ሰርቲፊኬት</translation>
 <translation id="407520071244661467">የልኬት ለውጥ</translation>
 <translation id="4075639477629295004"><ph name="FILE_NAME" />ን cast ማድረግ አልተቻለም።</translation>
@@ -2867,6 +2871,7 @@
 <translation id="5332624210073556029">የሰዓት ሰቅ፦</translation>
 <translation id="5334142896108694079">የስክሪፕት መሸጎጫ</translation>
 <translation id="5334844597069022743">ምንጩን ይመልከቱ</translation>
+<translation id="5334899159203764908">ስለ <ph name="BEGIN_LINK" />ጣቢያ መዳረሻ<ph name="END_LINK" /> የበለጠ ይረዱ</translation>
 <translation id="5335458522276292100">የ<ph name="FILE_COUNT" />ን ምትኬ ወደ <ph name="BEGIN_LINK" />Google Drive<ph name="END_LINK" /> በማስቀመጥ ላይ</translation>
 <translation id="5336126339807372270">ማናቸውም ጣቢያዎች የዩኤስቢ መሣሪያዎችን እንዲደርሱ አይፍቀዱ</translation>
 <translation id="5337771866151525739">በሶስተኛ ወገን የተጫነ።</translation>
@@ -2974,6 +2979,7 @@
 <translation id="5487521232677179737">ውሂብን አጽዳ</translation>
 <translation id="5488093641312826914">«<ph name="COPIED_ITEM_NAME" />» ተቀድቷል</translation>
 <translation id="5488468185303821006">በማንነትን የማያሳውቅ ውስጥ ይፍቀዱ</translation>
+<translation id="5489121514345187313">የእርስዎ Chromebook ከእርስዎ ስልክ ጋር እንዲያውም የተሻለ ይሠራል። <ph name="LINK_BEGIN" />የበለጠ ለመረዳት<ph name="LINK_END" /></translation>
 <translation id="5489435190927933437">የተቀመጡ የይለፍ ቃላት ለ<ph name="DOMAIN" /></translation>
 <translation id="5491110079163012109">የስርዓት ውሂብ ይላኩ። የምርመራ እና የመሣሪያ እና የመተግበሪያ አጠቃቀም ውሂብ በራስ-ሰር ወደ Google ይላኩ። ይህ ቅንብር በባለቤቱ አስገዳጅነት ያለው እንዲሆን ይደረጋል። ባለቤቱ ለዚህ መሣሪያ የምርመራ እና የአጠቃቀም ውሂብ ወደ Google ለመላክ ሊመርጥ ይችላል። ይህን በቅንብሮች ውስጥ ሊመለከቱት ይችላሉ። ተጨማሪ የድር እና የመተግበሪያ እንቅስቃሴን ካበሩ ይህ መረጃ በእኔ እንቅስቃሴ ውስጥ ማቀናበር እንዲችሉ በእርስዎ መለያ ላይ ይከማቻል። <ph name="BEGIN_LINK1" />የበለጠ ለመረዳት<ph name="END_LINK1" /></translation>
 <translation id="5493792505296048976">ማያ ገጽ አብራ</translation>
@@ -3145,6 +3151,7 @@
 <translation id="5731409020711461763">1 አዲስ ፎቶ</translation>
 <translation id="5734362860645681824">ተግባቦት</translation>
 <translation id="5736796278325406685">እባክዎ የሚሠራ የተጠቃሚ ስም ያስገቡ</translation>
+<translation id="5739235828260127894">ማረጋገጫን በመጠበቅ ላይ። <ph name="LINK_BEGIN" />የበለጠ ለመረዳት<ph name="LINK_END" /></translation>
 <translation id="5739458112391494395">በጣም ትልቅ</translation>
 <translation id="5740331643563157105"><ph name="LANGUAGE_1" />፣ <ph name="LANGUAGE_2" /> እና <ph name="NUM_ADDITIONAL_LANGUAGES" /> ሌሎች</translation>
 <translation id="574209121243317957">ቅላፄ</translation>
@@ -3247,6 +3254,7 @@
 <translation id="5870086504539785141">የተደራሽነት ምናሌ ዝጋ</translation>
 <translation id="5870155679953074650">ከባድ ስህተቶች</translation>
 <translation id="5877064549588274448">ሰርጥ ተለውጧል። ለውጦችን ለመተግበር መሳሪያዎን ዳግም ያስጀምሩ።</translation>
+<translation id="5877584842898320529">የተመረጠው አታሚ የለም ወይም በትክክል አልተጫነም። <ph name="BR" /> አታሚዎን ይፈትሹት ወይም ሌላ አታሚ ለመምረጥ ይሞክሩ።</translation>
 <translation id="5880247576487732437">ማስመሰያ አለ</translation>
 <translation id="5882919346125742463">የታወቁ አውታረ መረቦች</translation>
 <translation id="5884474295213649357">ይህ ትር ከአንድ የዩኤስቢ መሣሪያ ጋር የተገናኘ ነው።</translation>
@@ -3313,6 +3321,7 @@
 <translation id="5979469435153841984">ገጾችን በዕልባት ለማስቀመጥ በአድራሻ አሞሌው ውስጥ ያለውን ኮከብ ጠቅ ያድርጉ</translation>
 <translation id="5982621672636444458">የድርደራ አማራጮች</translation>
 <translation id="5984222099446776634">በቅርብ ጊዜ የተጎበኙ</translation>
+<translation id="5985458664595100876">ልክ ያልሆነ የዩአርኤል ቅርጸት። የሚደገፉ ቅርጸቶች \\server\share እና smb://server/share ናቸው።</translation>
 <translation id="5990142338020175451">እንደ የተሻሉ የገጽ ጥቆማዎች ያሉ ይበልጥ የግል Google አገልግሎቶች</translation>
 <translation id="5990386583461751448">የተተረጎመ</translation>
 <translation id="5991049340509704927">አጉላ</translation>
@@ -3341,6 +3350,7 @@
 <translation id="6026819612896463875"><ph name="WINDOW_TITLE" /> - ዩኤስቢ መሣሪያ ተገናኝቷል</translation>
 <translation id="6028117231645531007">የጣት አሻራን አክል</translation>
 <translation id="6029027682598229313">የLinux ጭነት ተጠናቋል።</translation>
+<translation id="6029292188939175871">[<ph name="FINGERPRINT_NAME" />]ን ሰርዝ፣ አዝራር</translation>
 <translation id="6029587122245504742">በጣም ቀርፋፋው</translation>
 <translation id="6032912588568283682">የፋይል ስርዓት</translation>
 <translation id="6034662038931255275">የስርዓተ ክዋኔ ዝማኔ ተሳክቷል</translation>
@@ -3454,7 +3464,6 @@
 <translation id="6185132558746749656">የመሣሪያ አካባቢ</translation>
 <translation id="6185617499004995178">CUPS IPP አረጋጋጭ</translation>
 <translation id="6185696379715117369">ገጽ ወደላይ</translation>
-<translation id="6189273858858366896">የአውታረ መረብ ፋይል ማጋራቶችን ያዋቅሩ ወይም ያቀናብሩ</translation>
 <translation id="6189412234224385711">በ<ph name="EXTENSION_NAME" /> ክፈት</translation>
 <translation id="6196640612572343990">የሦስተኛ ወገን ኩኪዎችን አግድ</translation>
 <translation id="6196854373336333322">ይህ «<ph name="EXTENSION_NAME" />» ቅጥያ የተኪ ቅንብሮችዎን ተቆጣጥሯል፣ ይሄ ማለት መስመር ላይ የሚያደርጉት ማንኛውም ነገር ሊቀይር፣ ሊሰብር ወይም በድብቅ ሊከታተል ይችላል። ይሄ ለውጥ ለምን እንደተከሰተ እርግጠኛ ካልሆኑ የማይፈልጉት ነገር ሳይሆን አይቀርም።</translation>
@@ -3760,6 +3769,7 @@
 <translation id="6643016212128521049">አጽዳ</translation>
 <translation id="6644512095122093795">የይለፍ ቀላትን ለማስቀመጥ ጠይቅ</translation>
 <translation id="6644846457769259194">የእርስዎን መሣሪያ በማዘመን ላይ (<ph name="PROGRESS_PERCENT" />)</translation>
+<translation id="6645437135153136856">የተመረጠው የGoogle ደመና ህትመት መሣሪያ ከእንግዲህ የሚደገፍ አይደለም። <ph name="BR" /> ማተሚያውን በእርስዎ ኮምፒውተር ሥርዓት ቅንብሮች ውስጥ ለማቀናበር ይሞክሩ።</translation>
 <translation id="6647228709620733774">የNetscape ዕውቅና ማረጋገጫ ስልጣን መሻሪያ ዩአርኤል</translation>
 <translation id="6647838571840953560">በአሁኑ ጊዜ በ<ph name="CHANNEL_NAME" /> ላይ</translation>
 <translation id="6648051959475508072">የደህንነት ቁልፍ ገቢር ተደርጓል...</translation>
@@ -3781,7 +3791,6 @@
 <translation id="667517062706956822">Google ይህን ገጽ ከ<ph name="SOURCE_LANGUAGE" /> ወደ <ph name="TARGET_LANGUAGE" /> እንዲተረጉመው ይፈልጋሉ?</translation>
 <translation id="6675665718701918026">መጠቆሚያ መሣሪያ ተገናኝቷል</translation>
 <translation id="6678717876183468697">የጥያቄ ዩአርኤል</translation>
-<translation id="6680028776254050810">ተጠቃሚዎችን ይቀያይር</translation>
 <translation id="6680442031740878064">ይገኛል፦ <ph name="AVAILABLE_SPACE" /></translation>
 <translation id="6680650203439190394">ደረጃ ይስጡ</translation>
 <translation id="6681668084120808868">ፎቶ አንሳ</translation>
@@ -3790,7 +3799,6 @@
 <translation id="668599234725812620">Google Playን ይክፈቱ</translation>
 <translation id="6686490380836145850">በቀኝ በኩል ያሉ ትሮችን ዝጋ</translation>
 <translation id="6686817083349815241">የይለፍ ቃልዎን ያስቀምጡ</translation>
-<translation id="6690565918367819723"><ph name="PROFILE_NAME" /> ሰው ቀይር</translation>
 <translation id="6690659332373509948">ይህን ፋይል መተንተን አልተቻለም፦ <ph name="FILE_NAME" /></translation>
 <translation id="6690751852586194791">ወደዚህ መሣሪያ የሚያክሉት ክትትል የሚደረግበት ተጠቃሚ ይምረጡ።</translation>
 <translation id="6691331417640343772">በGoogle ዳሽቦርድ ላይ የሰመረ ውሂብን ያቀናብሩ</translation>
@@ -4127,6 +4135,7 @@
 <translation id="7201118060536064622">«<ph name="DELETED_ITEM_NAME" />» ተሰርዟል</translation>
 <translation id="7206693748120342859"><ph name="PLUGIN_NAME" />ን በማውረድ ላይ...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{ከገጽ ውጣ}one{ከገጾች ውጣ}other{ከገጾች ውጣ}}</translation>
+<translation id="7210499381659830293">የቅጥያ አታሚዎች</translation>
 <translation id="721467499098558573">በደህንነት ቁልፍዎ ላይ ያለውን አዝራር ቢያንስ ለ5 ሰከንዶች ተጭነው ይያዙት</translation>
 <translation id="7216409898977639127">የተንቀሳቃሽ ስልክ አገልግሎት አቅራቢ</translation>
 <translation id="7216595297012131718">ቋንቋዎችን በእርስዎ ፍላጎት መሠረት ይደርድሩ</translation>
@@ -4205,6 +4214,7 @@
 <translation id="7321545336522791733">አገልጋይ አይደረስበትም</translation>
 <translation id="7324297612904500502">የቅድመ-ይሁንታ ሙከራ መድረክ</translation>
 <translation id="7325437708553334317">ባለከፍተኛ ንፅፅር ቅጥያ</translation>
+<translation id="7328162502911382168">(<ph name="COUNT" />)</translation>
 <translation id="7328867076235380839">ልክ ያልሆነ ጥምረት</translation>
 <translation id="7329154610228416156">ደህንነቱ አስተማማኝ ያልሆነ ዩአርኤል (<ph name="BLOCKED_URL" />) እንዲጠቀም ስለተዋቀረ በመለያ መግባት አልተሳካም። እባክዎ የእርስዎን አስተዳዳሪ ያነጋግሩ።</translation>
 <translation id="7334190995941642545">Smart Lock በአሁኑ ጊዜ አይገኝም። እባክዎ ቆይተው እንደገና ይሞክሩ።</translation>
@@ -4801,6 +4811,7 @@
 <translation id="8199300056570174101">አውታረ መረብ (አገልግሎት) እና የመሣሪያ ጠባያት</translation>
 <translation id="8200772114523450471">ከቆመበት ቀጥል</translation>
 <translation id="8202160505685531999">የእርስዎን የ<ph name="DEVICE_TYPE" /> መገለጫ ለማዘመን እባክዎ የእርስዎን የይለፍ ቃል ዳግም ያስገቡት።</translation>
+<translation id="8203732864715032075">ማሳወቂያዎችን ለእርስዎ ይልካል እና ይህን ኮምፒውተር ለመልዕክቶች በነባሪነት ያስታውሳል። <ph name="LINK_BEGIN" />የበለጠ ለመረዳት<ph name="LINK_END" /></translation>
 <translation id="8206354486702514201">ይህ ቅንብር በአስተዳዳሪዎ ነው በግዳጅ እንዲፈጸም የተደረገው።</translation>
 <translation id="8206745257863499010">Bluesy</translation>
 <translation id="8209677645716428427">አንድ ክትትል የሚደረግበት ተጠቃሚ ድሩን በእርስዎ ክትትል ማሰስ ይችላል። በChrome ውስጥ ያለ የአንድ ክትትል የሚደረግበት ተጠቃሚ እንደመሆንዎ መጠን እርስዎ እነኚህን ማድረግ ይችላሉ፦</translation>
@@ -5112,7 +5123,6 @@
 <translation id="869884720829132584">የመተግበሪያዎች ምናሌ</translation>
 <translation id="869891660844655955">የሚያበቀበት ጊዜ</translation>
 <translation id="8699566574894671540">ይህን ለማብራት በአርትዖት ምናሌ ውስጥ እየተየቡ የፊደል አራሚን በመጀመሪያ ይምረጡ</translation>
-<translation id="870073306461175568">የአውታረ መረብ ፋይል ማጋራቶች</translation>
 <translation id="8701677791353449257">የመሣሪያው ስም መደበኛ ገለጻ <ph name="REGEX" /> ጋር መዛመድ አለበት።</translation>
 <translation id="8704521619148782536">ይሄ ከተለመደው የበለጠ ጊዜ እየወሰደ ነው። መጠበቅ ይችላሉ፣ ወይም ደግሞ ይሰርዙትና ቆይተው እንደገና ይሞክሩ።</translation>
 <translation id="8705331520020532516">መለያ ቁጥር</translation>
@@ -5297,7 +5307,6 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> - ተበላሽቷል</translation>
 <translation id="8983677657449185470">የጥንቃቄ አሰሳ እንዲሻሻል ያግዙ</translation>
 <translation id="8984179138335769204">ፈጣን ማስጀመሪያ</translation>
-<translation id="8984654317541110628">የፋይል ማጋራት ዩአርኤል</translation>
 <translation id="8986362086234534611">እርሳ</translation>
 <translation id="8986494364107987395">የአጠቃቀም ስታስቲክስ እና የብልሽት ሪፖርቶች በራስ ሰር ወደ Google ይላኩ።</translation>
 <translation id="8987927404178983737">ወር</translation>
diff --git a/chrome/app/resources/generated_resources_ar.xtb b/chrome/app/resources/generated_resources_ar.xtb
index 78b9dc7..624a21f6 100644
--- a/chrome/app/resources/generated_resources_ar.xtb
+++ b/chrome/app/resources/generated_resources_ar.xtb
@@ -275,6 +275,7 @@
 <translation id="1395730723686586365">خدمة التحديث بدأت</translation>
 <translation id="1396139853388185343">حدث خطأ أثناء إعداد الطابعة</translation>
 <translation id="1396963298126346194">اسم المستخدم وكلمة المرور اللذان أدخلتهما غير متطابقين</translation>
+<translation id="1397500194120344683">لا تتوفَّر أجهزة مؤهَّلة. <ph name="LINK_BEGIN" />مزيد من المعلومات<ph name="LINK_END" /></translation>
 <translation id="1397854323885047133">المزامنة والتخصيص</translation>
 <translation id="1398853756734560583">تكبير</translation>
 <translation id="1399511500114202393">لا توجد شهادة مستخدم.</translation>
@@ -375,7 +376,6 @@
 <translation id="1531004739673299060">نافذة التطبيق</translation>
 <translation id="15373452373711364">مؤشر الماوس الكبير</translation>
 <translation id="1538729222189715449">‏جارٍ فتح ملفات نظام التشغيل Linux...</translation>
-<translation id="153933193410874873">تعذَّر التحقُّق من هويتك على هذا الجهاز</translation>
 <translation id="1540605929960647700">تفعيل الوضع التجريبي</translation>
 <translation id="1543284117603151572">‏تم الاستيراد من شبكة Edge</translation>
 <translation id="1545177026077493356">وضع الكشك التلقائي</translation>
@@ -529,6 +529,7 @@
 <translation id="175772926354468439">تفعيل المظهر</translation>
 <translation id="1758018619400202187">EAP-TLS</translation>
 <translation id="17584710573359123">‏العرض في سوق Chrome الإلكتروني</translation>
+<translation id="176193854664720708">يتوفَّر مستشعر بصمات الإصبع في زر "التشغيل". يمكنك لمسه برفقٍ بأي إصبع.</translation>
 <translation id="1763046204212875858">إنشاء اختصارات للتطبيق</translation>
 <translation id="1763108912552529023">متابعة الاستكشاف</translation>
 <translation id="1763808908432309942">تفتح الصفحة في علامة تبويب جديدة</translation>
@@ -682,7 +683,6 @@
 <translation id="1981115145845865539">إلغاء قفل جهاز <ph name="DEVICE_TYPE" /> تلقائيًا</translation>
 <translation id="1983959805486816857">بعد إنشاء مستخدم جديد يخضع للإشراف، يُمكنك إدارة الإعدادات في أي وقت وعلى أي جهاز على <ph name="MANAGEMENT_URL" />.</translation>
 <translation id="1984642098429648350">إرساء النافذة لليمين</translation>
-<translation id="1987139229093034863">التبديل إلى مستخدم آخر.</translation>
 <translation id="1987317783729300807">الحسابات</translation>
 <translation id="1989112275319619282">تصفّح</translation>
 <translation id="1992397118740194946">لم يتم تعيينه</translation>
@@ -823,6 +823,7 @@
 <translation id="2208158072373999562">‏أرشيف Zip</translation>
 <translation id="220858061631308971">يُرجى إدخال رمز رقم التعريف الشخصي هذا على "<ph name="DEVICE_NAME" />":</translation>
 <translation id="2209593327042758816">عنصر الرف 2</translation>
+<translation id="2212126039311489237">مربع حوار الطباعة باستخدام النظام</translation>
 <translation id="2217501013957346740">أنشئ اسمًا -</translation>
 <translation id="2218019600945559112">الماوس ولوحة اللمس</translation>
 <translation id="2218320521449013367">‏حدث خطأ أثناء إزالة Chrome للبرامج الضارة.</translation>
@@ -935,6 +936,7 @@
 <translation id="2378075407703503998">تم تحديد <ph name="SELCTED_FILE_COUNT" /> من الملفات</translation>
 <translation id="237828693408258535">هل تريد ترجمة هذه الصفحة؟</translation>
 <translation id="2378982052244864789">تحديد دليل الإضافة.</translation>
+<translation id="2379281330731083556">الطباعة باستخدام مربع حوار النظام... <ph name="SHORTCUT_KEY" /></translation>
 <translation id="2381756643783702095">اسأل قبل الإرسال (موصى به)</translation>
 <translation id="2384436799579181135">حدث خطأ ما. يُرجى التحقق من الطابعة وإعادة المحاولة.</translation>
 <translation id="2387458720915042159">نوع الاتصال بالخادم الوكيل</translation>
@@ -1113,6 +1115,7 @@
 <translation id="2653659639078652383">إرسال</translation>
 <translation id="265390580714150011">قيمة الحقل</translation>
 <translation id="2654166010170466751">السماح لمواقع الويب بتثبيت معالجات الدفع</translation>
+<translation id="2656742821229528729">‏يمكنك ربط هاتف Android بجهاز Chromebook لإرسال رسائل نصيَّة من جهاز الكمبيوتر ومشاركة اتصالك بالإنترنت وفتح قفل جهاز Chromebook باستخدام هاتفك.<ph name="FOOTNOTE_POINTER" /> <ph name="LINK_BEGIN" />مزيد من المعلومات<ph name="LINK_END" /></translation>
 <translation id="2659381484350128933"><ph name="FOOTNOTE_POINTER" />تختلف الميزات حسب الجهاز</translation>
 <translation id="2660779039299703961">حدث</translation>
 <translation id="266079277508604648">‏يتعذّر الاتصال بالطابعة. تحقق مما إذا كانت الطابعة مُفعّلة ومتصلة بجهاز Chromebook عن طريق Wi-Fi أو USB.</translation>
@@ -1417,6 +1420,7 @@
 <translation id="3115128645424181617">تعذّر العثور على هاتفك. تأكد من أنه في متناول يديك وأنّ البلوتوث قيد التشغيل.</translation>
 <translation id="3115147772012638511">في انتظار ذاكرة التخزين المؤقت ...</translation>
 <translation id="3118319026408854581">مساعدة <ph name="PRODUCT_NAME" /></translation>
+<translation id="3119484583572640616">يعني تفعيل ميزة "الربط بالهاتف" أنه يمكن إجراء ما يلي:</translation>
 <translation id="3120430004221004537">تشفير غير كافٍ لعملية معينة على: "<ph name="DEVICE_NAME" />".</translation>
 <translation id="3121793941267913344">إعادة تعيين جهاز <ph name="IDS_SHORT_PRODUCT_NAME" /> هذا</translation>
 <translation id="3122464029669770682">وحدة المعالجة المركزية</translation>
@@ -1730,6 +1734,7 @@
 <translation id="3596235046596950091">تفعيل خدمات السحاب</translation>
 <translation id="3599863153486145794">‏يمسح السجل من كل الأجهزة التي تم تسجيل الدخول عليها. وقد يتضمن حسابك في Google نماذج أخرى من سجل التصفح في <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
 <translation id="3600792891314830896">كتم صوت المواقع التي تُشغّل الصوت</translation>
+<translation id="360180734785106144">عرض ميزات جديدة عندما تصبح متاحة</translation>
 <translation id="3602290021589620013">معاينة</translation>
 <translation id="3603533104205588786">يمكنك النقر على النجمة لوضع إشارة على إحدى الصفحات</translation>
 <translation id="3603622770190368340">الحصول على شهادة الشبكة</translation>
@@ -2062,7 +2067,6 @@
 <translation id="4068506536726151626">تحتوي هذه الصفحة على عناصر من المواقع التالية والتي تتتبع موقعك:</translation>
 <translation id="4068776064906523561">بصمات الإصبع المحفوظة</translation>
 <translation id="407173827865827707">عند النقر</translation>
-<translation id="4071770069230198275"><ph name="PROFILE_NAME" />: خطأ في تسجيل الدخول</translation>
 <translation id="4074900173531346617">شهادة توقيع البريد الإلكتروني</translation>
 <translation id="407520071244661467">تغيير الحجم</translation>
 <translation id="4075639477629295004">يتعذَر إرسال <ph name="FILE_NAME" />.</translation>
@@ -2863,6 +2867,7 @@
 <translation id="5332624210073556029">المنطقة الزمنية:</translation>
 <translation id="5334142896108694079">ذاكرة التخزين المؤقت للنص البرمجي</translation>
 <translation id="5334844597069022743">عرض المصدر</translation>
+<translation id="5334899159203764908">مزيد من المعلومات عن <ph name="BEGIN_LINK" />إمكانية الوصول إلى موقع الويب<ph name="END_LINK" /></translation>
 <translation id="5335458522276292100">‏الاحتفاظ بنسخة احتياطية من <ph name="FILE_COUNT" /> في <ph name="BEGIN_LINK" />Google Drive<ph name="END_LINK" /></translation>
 <translation id="5336126339807372270">‏عدم السماح لأي موقع بالوصول إلى أجهزة USB</translation>
 <translation id="5337771866151525739">تم التثبيت من جهة خارجية.</translation>
@@ -2970,6 +2975,7 @@
 <translation id="5487521232677179737">محو البيانات</translation>
 <translation id="5488093641312826914">تم نسخ العنصر '<ph name="COPIED_ITEM_NAME" />'</translation>
 <translation id="5488468185303821006">السماح بالتشغيل في وضع التصفح المتخفي</translation>
+<translation id="5489121514345187313">‏يعمل جهاز Chromebook بشكلٍ أفضل عند ربطه بهاتفك. <ph name="LINK_BEGIN" />مزيد من المعلومات<ph name="LINK_END" /></translation>
 <translation id="5489435190927933437">كلمات المرور المحفوظة لاسم النطاق <ph name="DOMAIN" /></translation>
 <translation id="5491110079163012109">‏إرسال بيانات النظام. يمكنك إرسال بيانات التشخيص وبيانات استخدام التطبيق والجهاز تلقائيًا إلى Google. يفرض المالك هذا الإعداد. وقد يختار إرسال بيانات الاستخدام والتشخيص لهذا الجهاز إلى Google. ويمكنك عرض ذلك في الإعدادات. وفي حال تفعيل "نشاط ويب وتطبيقات" إضافي، سيتم حفظ هذه المعلومات مع حسابك حتى تتمكَّن من إدارتها في "نشاطي". <ph name="BEGIN_LINK1" />مزيد من المعلومات<ph name="END_LINK1" /></translation>
 <translation id="5493792505296048976">الشاشة قيد التشغيل</translation>
@@ -3141,6 +3147,7 @@
 <translation id="5731409020711461763">صورة واحدة جديدة</translation>
 <translation id="5734362860645681824">الاتصالات</translation>
 <translation id="5736796278325406685">يُرجى إدخال اسم مستخدم صالح</translation>
+<translation id="5739235828260127894">في انتظار التحقُّق من صحة الاتصال. <ph name="LINK_BEGIN" />مزيد من المعلومات<ph name="LINK_END" /></translation>
 <translation id="5739458112391494395">كبير جدًا</translation>
 <translation id="5740331643563157105"><ph name="LANGUAGE_1" />، و<ph name="LANGUAGE_2" />، و<ph name="NUM_ADDITIONAL_LANGUAGES" /> من اللغات الأخرى</translation>
 <translation id="574209121243317957">درجة الصوت</translation>
@@ -3244,6 +3251,7 @@
 <translation id="5870086504539785141">إغلاق قائمة إمكانية الوصول</translation>
 <translation id="5870155679953074650">الأخطاء الجسيمة</translation>
 <translation id="5877064549588274448">تم تغيير القناة. يمكنك إعادة تشغيل الجهاز لتدخل التغييرات حيز التنفيذ.</translation>
+<translation id="5877584842898320529">الطابعة المُختارة غير متاحة أو لم يتم تثبيتها بشكلٍ صحيح. <ph name="BR" /> يُرجى التحقُّق من الطابعة أو تجربة اختيار طابعة أخرى.</translation>
 <translation id="5880247576487732437">الرمز المميز جاهز للاستخدام</translation>
 <translation id="5882919346125742463">الشبكات المعروفة</translation>
 <translation id="5884474295213649357">‏علامة التبويب هذه متصلة بجهاز USB.</translation>
@@ -3310,6 +3318,7 @@
 <translation id="5979469435153841984">لوضع إشارة مرجعية للصفحات، انقر على رمز "النجمة" في شريط العناوين</translation>
 <translation id="5982621672636444458">خيارات التصنيف</translation>
 <translation id="5984222099446776634">تم الانتقال إليها مؤخرًا</translation>
+<translation id="5985458664595100876">‏تنسيق عنوان URL غير صالح. التنسيقات المدعومة هي \\server\share وsmb://server/share.</translation>
 <translation id="5990142338020175451">‏مزيد من خدمات Google الشخصية، مثل أفضل اقتراحات الصفحة</translation>
 <translation id="5990386583461751448">مترجَمة</translation>
 <translation id="5991049340509704927">تكبير</translation>
@@ -3338,6 +3347,7 @@
 <translation id="6026819612896463875">‏<ph name="WINDOW_TITLE" /> - تم توصيل جهاز USB</translation>
 <translation id="6028117231645531007">إضافة بصمة الإصبع</translation>
 <translation id="6029027682598229313">‏تم تثبيت نظام التشغيل Linux بنجاح.</translation>
+<translation id="6029292188939175871">الزر حذف [<ph name="FINGERPRINT_NAME" />]</translation>
 <translation id="6029587122245504742">الأبطأ</translation>
 <translation id="6032912588568283682">نظام الملفات</translation>
 <translation id="6034662038931255275">تم تحديث نظام التشغيل بنجاح</translation>
@@ -3452,7 +3462,6 @@
 <translation id="6185132558746749656">موقع الجهاز</translation>
 <translation id="6185617499004995178">‏مدقق CUPS IPP</translation>
 <translation id="6185696379715117369">صفحة لأعلى</translation>
-<translation id="6189273858858366896">إعداد مشاركات ملف الشبكة أو إدارتها.</translation>
 <translation id="6189412234224385711">فتح باستخدام <ph name="EXTENSION_NAME" /></translation>
 <translation id="6196640612572343990">حظر ملفات تعريف الارتباط للجهات الخارجية</translation>
 <translation id="6196854373336333322">أصبح بإمكان الإضافة "<ph name="EXTENSION_NAME" />" التحكم في إعدادات الخادم الوكيل التابعة لك، مما يعني أن بإمكانها تغيير أي إجراء لك على الإنترنت أو قطعه أو التجسس عليه. إذا كنت غير متيقن من سبب حدوث هذا التغيير، فأنت لا ترغب فيه على الأرجح.</translation>
@@ -3758,6 +3767,7 @@
 <translation id="6643016212128521049">محو</translation>
 <translation id="6644512095122093795">اقتراح حفظ كلمات المرور</translation>
 <translation id="6644846457769259194">جارٍ تحديث جهازك (<ph name="PROGRESS_PERCENT" />)</translation>
+<translation id="6645437135153136856">‏لا يُدعَم جهاز "الطباعة السحابية من Google" المُختار بعد الآن. <ph name="BR" /> يمكنك تجربة إعداد الطابعة من إعدادات النظام في جهاز الكمبيوتر.</translation>
 <translation id="6647228709620733774">‏عنوان URL لإبطال المرجع المصدق لـ Netscape</translation>
 <translation id="6647838571840953560">حاليًا على قناة <ph name="CHANNEL_NAME" /></translation>
 <translation id="6648051959475508072">يتم تفعيل مفتاح الأمان...</translation>
@@ -3779,7 +3789,6 @@
 <translation id="667517062706956822">‏هل تريد أن يترجم Google هذه الصفحة من <ph name="SOURCE_LANGUAGE" /> إلى <ph name="TARGET_LANGUAGE" />؟</translation>
 <translation id="6675665718701918026">الإشارة إلى الأجهزة المتصلة</translation>
 <translation id="6678717876183468697">‏عنوان URL للاستعلام</translation>
-<translation id="6680028776254050810">التبديل بين المستخدمين</translation>
 <translation id="6680442031740878064">المساحة المتاحة: <ph name="AVAILABLE_SPACE" /></translation>
 <translation id="6680650203439190394">تقييم</translation>
 <translation id="6681668084120808868">التقاط صورة</translation>
@@ -3788,7 +3797,6 @@
 <translation id="668599234725812620">‏فتح Google Play</translation>
 <translation id="6686490380836145850">إغلاق علامات  التبويب في الجهة  اليسرى.</translation>
 <translation id="6686817083349815241">حفظ كلمة المرور</translation>
-<translation id="6690565918367819723"><ph name="PROFILE_NAME" /> تبديل الشخص</translation>
 <translation id="6690659332373509948">تعذر تحليل الملف: <ph name="FILE_NAME" /></translation>
 <translation id="6690751852586194791">اختر مستخدمًا يخضع للإشراف لإضافته إلى هذا الجهاز.</translation>
 <translation id="6691331417640343772">‏إدارة البيانات المتزامنة على لوحة بيانات Google</translation>
@@ -4125,6 +4133,7 @@
 <translation id="7201118060536064622">تم حذف "<ph name="DELETED_ITEM_NAME" />"</translation>
 <translation id="7206693748120342859">جارٍ تنزيل <ph name="PLUGIN_NAME" />...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{الخروج من الصفجة}zero{الخروج من صفحة}two{الخروج من الصفحتين}few{الخروج من صفحات}many{الخروج من صفحة}other{الخروج من صفحة}}</translation>
+<translation id="7210499381659830293">طابعات "الإضافة"</translation>
 <translation id="721467499098558573">الضغط مع الاستمرار على الزر في مفتاح الأمان لمدة لا تقل عن 5 ثوانٍ</translation>
 <translation id="7216409898977639127">موفر شبكة الجوّال</translation>
 <translation id="7216595297012131718">ترتيب اللغات حسب تفضيلك</translation>
@@ -4203,6 +4212,7 @@
 <translation id="7321545336522791733">خادم يتعذر الوصول إليه</translation>
 <translation id="7324297612904500502">منتدى الإصدار التجريبي</translation>
 <translation id="7325437708553334317">إضافة التباين العالي</translation>
+<translation id="7328162502911382168">(<ph name="COUNT" />)</translation>
 <translation id="7328867076235380839">مجموعة غير صالحة</translation>
 <translation id="7329154610228416156">‏فشل تسجيل الدخول نظرًا لأنه قد تم ضبطه على استخدام عنوان URL غير آمن <ph name="BLOCKED_URL" />. يُرجى الاتصال بالمسؤول.</translation>
 <translation id="7334190995941642545">‏Smart Lock غير متاح حاليًا. يُرجى المحاولة مرة أخرى في وقت لاحق.</translation>
@@ -4795,6 +4805,7 @@
 <translation id="8199300056570174101">خصائص الشبكة (الخدمة) والجهاز</translation>
 <translation id="8200772114523450471">استئناف</translation>
 <translation id="8202160505685531999">يُرجى إعادة إدخال كلمة المرور لتحديث ملف <ph name="DEVICE_TYPE" /> الشخصي.</translation>
+<translation id="8203732864715032075">تُرسِل إليك الإشعارات وتتذكر جهاز الكمبيوتر هذا لميزة "الرسائل". <ph name="LINK_BEGIN" />مزيد من المعلومات<ph name="LINK_END" /></translation>
 <translation id="8206354486702514201">تم فرض هذا الإعداد بواسطة المشرف.</translation>
 <translation id="8206745257863499010">موسيقي</translation>
 <translation id="8209677645716428427">‏يُمكن للمستخدم الذي يخضع للإشراف استكشاف الويب وفقًا لإرشاداتك. وباعتبارك مديرًا لمستخدم يخضع للإشراف في Chrome، يُمكنك إجراء ما يلي:</translation>
@@ -5106,7 +5117,6 @@
 <translation id="869884720829132584">قائمة التطبيقات</translation>
 <translation id="869891660844655955">تاريخ انتهاء الصلاحية</translation>
 <translation id="8699566574894671540">لتفعيل هذا الإعداد، يُرجى أولاً اختيار "التدقيق الإملائي" أثناء الكتابة في القائمة "تعديل"</translation>
-<translation id="870073306461175568">مشاركات ملف الشبكة</translation>
 <translation id="8701677791353449257">يجب أن يُطابِق اسم الجهاز التعبير العادي <ph name="REGEX" />.</translation>
 <translation id="8704521619148782536">يستغرق هذا الإجراء وقتًا أطول من المعتاد. يمكنك متابعة الانتظار أو الإلغاء وإعادة المحاولة.</translation>
 <translation id="8705331520020532516">الرقم التسلسلي</translation>
@@ -5291,7 +5301,6 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> - تعطُّل</translation>
 <translation id="8983677657449185470">المساعدة في تحسين التصفُّح الآمن</translation>
 <translation id="8984179138335769204">التشغيل السريع</translation>
-<translation id="8984654317541110628">‏عنوان URL لخادم مشاركة الملفات</translation>
 <translation id="8986362086234534611">حذف</translation>
 <translation id="8986494364107987395">‏إرسال إحصائيات الاستخدام وتقارير الأعطال إلى Google تلقائيًا</translation>
 <translation id="8987927404178983737">شهر</translation>
diff --git a/chrome/app/resources/generated_resources_bg.xtb b/chrome/app/resources/generated_resources_bg.xtb
index 2feaaf05..36ceb7f 100644
--- a/chrome/app/resources/generated_resources_bg.xtb
+++ b/chrome/app/resources/generated_resources_bg.xtb
@@ -275,6 +275,7 @@
 <translation id="1395730723686586365">Актуализиращата програма е стартирана</translation>
 <translation id="1396139853388185343">При настройването на принтера възникна грешка</translation>
 <translation id="1396963298126346194">Въведените от вас потребителско име и парола не съвпадат</translation>
+<translation id="1397500194120344683">Няма отговарящи на условията устройства. <ph name="LINK_BEGIN" />Научете повече<ph name="LINK_END" /></translation>
 <translation id="1397854323885047133">Синхронизиране и персонализиране</translation>
 <translation id="1398853756734560583">Увеличаване</translation>
 <translation id="1399511500114202393">Няма потребителски сертификат</translation>
@@ -372,7 +373,6 @@
 <translation id="1531004739673299060">Прозорец на приложението</translation>
 <translation id="15373452373711364">Голям курсор на мишката</translation>
 <translation id="1538729222189715449">Файловете за Linux се отварят...</translation>
-<translation id="153933193410874873">Не можахме да потвърдим самоличността ви на това устройство</translation>
 <translation id="1540605929960647700">Активиране на демонстрационния режим</translation>
 <translation id="1543284117603151572">Импортирани от Edge</translation>
 <translation id="1545177026077493356">Автоматичен павилионен режим</translation>
@@ -526,6 +526,7 @@
 <translation id="175772926354468439">Активиране на темата</translation>
 <translation id="1758018619400202187">EAP-TLS</translation>
 <translation id="17584710573359123">Преглед в уеб магазина на Chrome</translation>
+<translation id="176193854664720708">Сензорът за отпечатъци е в бутона за включване/изключване. Докоснете го леко с който и да е пръст.</translation>
 <translation id="1763046204212875858">Създаване на преки пътища към приложението</translation>
 <translation id="1763108912552529023">Продължаване на изследването</translation>
 <translation id="1763808908432309942">Отваря се в нов раздел</translation>
@@ -679,7 +680,6 @@
 <translation id="1981115145845865539">Автоматично отключване на вашия <ph name="DEVICE_TYPE" /></translation>
 <translation id="1983959805486816857">След като създадете нов контролиран потребител, можете да управлявате настройките по всяко време от което и да е устройство на адрес <ph name="MANAGEMENT_URL" />.</translation>
 <translation id="1984642098429648350">Закрепване на прозореца отдясно</translation>
-<translation id="1987139229093034863">Превключете към друг потребител.</translation>
 <translation id="1987317783729300807">Профили</translation>
 <translation id="1989112275319619282">Сърфиране</translation>
 <translation id="1992397118740194946">Няма зададен</translation>
@@ -820,6 +820,7 @@
 <translation id="2208158072373999562">Компресиран архивен файл</translation>
 <translation id="220858061631308971">Моля, въведете този ПИН код на „<ph name="DEVICE_NAME" />“:</translation>
 <translation id="2209593327042758816">Елемент 2 в лавицата</translation>
+<translation id="2212126039311489237">Отпечатване чрез системния диалогов прозорец</translation>
 <translation id="2217501013957346740">Създаване на име –</translation>
 <translation id="2218019600945559112">Мишка и сензорен панел</translation>
 <translation id="2218320521449013367">Възникна грешка, докато Chrome премахваше опасния софтуер</translation>
@@ -932,6 +933,7 @@
 <translation id="2378075407703503998">Избрани са <ph name="SELCTED_FILE_COUNT" /> файла</translation>
 <translation id="237828693408258535">Да се преведе ли тази страница?</translation>
 <translation id="2378982052244864789">Изберете директорията на разширението.</translation>
+<translation id="2379281330731083556">Печат чрез системния диалогов прозорец... <ph name="SHORTCUT_KEY" /></translation>
 <translation id="2381756643783702095">Извеждане на запитване преди изпращане (препоръчително)</translation>
 <translation id="2384436799579181135">Възникна грешка. Моля, проверете принтера си и опитайте отново.</translation>
 <translation id="2387458720915042159">Тип на връзката през прокси сървър</translation>
@@ -1111,6 +1113,7 @@
 <translation id="2653659639078652383">Изпращане</translation>
 <translation id="265390580714150011">Стойност на полето</translation>
 <translation id="2654166010170466751">Разрешаване на сайтовете да инсталират приложения за обработване на плащания</translation>
+<translation id="2656742821229528729">Свържете телефона си с Android и своя Chromebook, за да можете да изпращате SMS съобщения от компютъра си, да споделяте връзката с интернет и да отключвате своя Chromebook с телефона си.<ph name="FOOTNOTE_POINTER" /> <ph name="LINK_BEGIN" />Научете повече<ph name="LINK_END" /></translation>
 <translation id="2659381484350128933"><ph name="FOOTNOTE_POINTER" /> Функциите варират според устройството</translation>
 <translation id="2660779039299703961">Събитие</translation>
 <translation id="266079277508604648">Не може да се установи връзка с принтера. Уверете се, че е включен и е свързан с вашия Chromebook чрез Wi-Fi или USB.</translation>
@@ -1415,6 +1418,7 @@
 <translation id="3115128645424181617">Телефонът ви не може да бъде намерен. Уверете се, че е подръка и че функцията за Bluetooth е включена.</translation>
 <translation id="3115147772012638511">Кешът се изчаква...</translation>
 <translation id="3118319026408854581">Помощ за <ph name="PRODUCT_NAME" /></translation>
+<translation id="3119484583572640616">Ако включите Better Together, функцията може да прави следното:</translation>
 <translation id="3120430004221004537">Недостатъчно шифроване за дадена операция на: <ph name="DEVICE_NAME" />.</translation>
 <translation id="3121793941267913344">Възстановяване на това устройство с <ph name="IDS_SHORT_PRODUCT_NAME" /></translation>
 <translation id="3122464029669770682">Процесор</translation>
@@ -1729,6 +1733,7 @@
 <translation id="3596235046596950091">Активиране на услугите в облака</translation>
 <translation id="3599863153486145794">Изчиства историята от всички устройства, на които сте влезли в профила си в Google. В него може да има други видове история на сърфиране, съхранявани на адрес <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
 <translation id="3600792891314830896">Спиране на звука, възпроизвеждан от сайтовете</translation>
+<translation id="360180734785106144">Предлагане на нови функции, когато станат достъпни</translation>
 <translation id="3602290021589620013">Визуализация</translation>
 <translation id="3603533104205588786">Можете да кликнете върху иконата на звезда, за да запазите отметка към страница</translation>
 <translation id="3603622770190368340">Получаване на мрежов сертификат</translation>
@@ -2066,7 +2071,6 @@
 <translation id="4068506536726151626">Тази страница съдържа елементи от следните сайтове, които проследяват местоположението ви:</translation>
 <translation id="4068776064906523561">Запазени отпечатъци</translation>
 <translation id="407173827865827707">При кликване</translation>
-<translation id="4071770069230198275"><ph name="PROFILE_NAME" />: Грешка при влизане в профила</translation>
 <translation id="4074900173531346617">Сертификат за подписване на имейли</translation>
 <translation id="407520071244661467">Мащаб</translation>
 <translation id="4075639477629295004">Предаването на „<ph name="FILE_NAME" />“ не е възможно.</translation>
@@ -2868,6 +2872,7 @@
 <translation id="5332624210073556029">Часова зона:</translation>
 <translation id="5334142896108694079">Кеш за скриптове</translation>
 <translation id="5334844597069022743">Преглед на изходния код</translation>
+<translation id="5334899159203764908">Научете повече за <ph name="BEGIN_LINK" />достъпа на сайта<ph name="END_LINK" /></translation>
 <translation id="5335458522276292100">Създаваме резервно копие на <ph name="FILE_COUNT" /> в <ph name="BEGIN_LINK" />Google Диск<ph name="END_LINK" /></translation>
 <translation id="5336126339807372270">Забраняване на сайтовете да осъществяват достъп до USB устройства</translation>
 <translation id="5337771866151525739">Инсталирано от трета страна.</translation>
@@ -2975,6 +2980,7 @@
 <translation id="5487521232677179737">Изчиств. на данните</translation>
 <translation id="5488093641312826914">Копирахте „<ph name="COPIED_ITEM_NAME" />“</translation>
 <translation id="5488468185303821006">Да се разреши в режим инкогнито</translation>
+<translation id="5489121514345187313">Вашият Chromebook работи още по-добре с телефона ви. <ph name="LINK_BEGIN" />Научете повече<ph name="LINK_END" /></translation>
 <translation id="5489435190927933437">Запазени пароли за <ph name="DOMAIN" /></translation>
 <translation id="5491110079163012109">Изпращане на системни данни. Автоматично изпращане до Google на диагностична информация и данни за употребата на устройството и приложенията. Тази настройка е наложена от собственика. Той може да избере да ни изпраща информация за диагностиката и употребата за устройството. Можете да прегледате тази опция в настройките. Ако сте включили Допълнителна активност в мрежата и приложенията, съответната информация ще се съхранява в профила ви, така че можете да я управлявате от „Моята активност“. <ph name="BEGIN_LINK1" />Научете повече<ph name="END_LINK1" /></translation>
 <translation id="5493792505296048976">екранът е включен</translation>
@@ -3147,6 +3153,7 @@
 <translation id="5731409020711461763">1 нова снимка</translation>
 <translation id="5734362860645681824">Комуникации</translation>
 <translation id="5736796278325406685">Моля, въведете валидно потребителско име</translation>
+<translation id="5739235828260127894">Чака се потвърждение. <ph name="LINK_BEGIN" />Научете повече<ph name="LINK_END" /></translation>
 <translation id="5739458112391494395">Много голям</translation>
 <translation id="5740331643563157105"><ph name="LANGUAGE_1" />, <ph name="LANGUAGE_2" /> и още <ph name="NUM_ADDITIONAL_LANGUAGES" /></translation>
 <translation id="574209121243317957">Височина</translation>
@@ -3250,6 +3257,7 @@
 <translation id="5870086504539785141">Затваряне на менюто за достъпност</translation>
 <translation id="5870155679953074650">Съществени грешки</translation>
 <translation id="5877064549588274448">Каналът бе променен. Рестартирайте устройството си, за да се приложат промените.</translation>
+<translation id="5877584842898320529">Избраният принтер не е налице или не е инсталиран правилно.<ph name="BR" /> Проверете го или опитайте да изберете друг.</translation>
 <translation id="5880247576487732437">Съществува означение</translation>
 <translation id="5882919346125742463">Известни мрежи</translation>
 <translation id="5884474295213649357">Този раздел е свързан с USB устройство.</translation>
@@ -3316,9 +3324,12 @@
 <translation id="5979469435153841984">За да запазите отметка към страница, кликнете върху иконата на звезда в адресната лента</translation>
 <translation id="5982621672636444458">Опции за сортиране</translation>
 <translation id="5984222099446776634">Наскоро посетени</translation>
+<translation id="5985458664595100876">Форматът на URL адреса е невалиден. поддържаните формати са \\сървър\дял и smb://сървър/дял.</translation>
+<translation id="5990142338020175451">По-персонализирани услуги на Google, като например по-добри предложения за страници</translation>
 <translation id="5990386583461751448">Преведено</translation>
 <translation id="5991049340509704927">Увеличаване</translation>
 <translation id="599131315899248751">{NUM_APPLICATIONS,plural, =1{За да продължите да сърфирате безпроблемно в мрежата, помолете администратора да премахне това приложение.}other{За да продължите да сърфирате безпроблемно в мрежата, помолете администратора да премахне тези приложения.}}</translation>
+<translation id="5997337190805127100">Научете повече за достъпа на сайта</translation>
 <translation id="6002458620803359783">Предпочитани гласове</translation>
 <translation id="6005695835120147974">Медиен маршрутизатор</translation>
 <translation id="6006484371116297560">Класическа тема</translation>
@@ -3342,6 +3353,7 @@
 <translation id="6026819612896463875"><ph name="WINDOW_TITLE" /> – установена е връзка с USB устройство</translation>
 <translation id="6028117231645531007">Добавяне на отпечатъка</translation>
 <translation id="6029027682598229313">Инсталирането на Linux завърши.</translation>
+<translation id="6029292188939175871">изтриване на [<ph name="FINGERPRINT_NAME" />], бутон</translation>
 <translation id="6029587122245504742">Най-бавна</translation>
 <translation id="6032912588568283682">Файлова система</translation>
 <translation id="6034662038931255275">Актуализацията на операционната система бе успешна</translation>
@@ -3455,7 +3467,6 @@
 <translation id="6185132558746749656">Местоположение на устройството</translation>
 <translation id="6185617499004995178">Инструмент за проверка на IPP заявки за CUPS</translation>
 <translation id="6185696379715117369">Страница нагоре</translation>
-<translation id="6189273858858366896">Настройване или управление на споделянето на файлове в мрежата.</translation>
 <translation id="6189412234224385711">Отваряне с/ъс <ph name="EXTENSION_NAME" /></translation>
 <translation id="6196640612572343990">Блокиране на „бисквитките“ на трети страни</translation>
 <translation id="6196854373336333322">Разширението „<ph name="EXTENSION_NAME" />“ е поело контрол над настройките ви за прокси сървър. Това означава, че то може да променя, прекъсва или следи всичко, което правите онлайн. Ако не сте сигурни какво е причинило тази промяна, вероятно не искате тя да остава в сила.</translation>
@@ -3761,6 +3772,7 @@
 <translation id="6643016212128521049">Изчистване</translation>
 <translation id="6644512095122093795">Показване на предложение за запазване на паролите</translation>
 <translation id="6644846457769259194">Устройството ви се актуализира (<ph name="PROGRESS_PERCENT" />)</translation>
+<translation id="6645437135153136856">Избраното устройство в Google Отпечатване в облак повече не се поддържа. <ph name="BR" /> Опитайте да настроите принтера в системните настройки на компютъра си.</translation>
 <translation id="6647228709620733774">URL адрес за анулиране от сертифициращ орган на Netscape</translation>
 <translation id="6647838571840953560">Текущ канал: <ph name="CHANNEL_NAME" /></translation>
 <translation id="6648051959475508072">Ключът за сигурност е активиран...</translation>
@@ -3782,7 +3794,6 @@
 <translation id="667517062706956822">Искате ли Google да преведе тази страница от <ph name="SOURCE_LANGUAGE" /> на <ph name="TARGET_LANGUAGE" />?</translation>
 <translation id="6675665718701918026">Свързано е посочващо устройство</translation>
 <translation id="6678717876183468697">URL адрес на заявката</translation>
-<translation id="6680028776254050810">Превключване на потребителите</translation>
 <translation id="6680442031740878064">Свободно място: <ph name="AVAILABLE_SPACE" /></translation>
 <translation id="6680650203439190394">Скорост</translation>
 <translation id="6681668084120808868">Снимане</translation>
@@ -3791,7 +3802,6 @@
 <translation id="668599234725812620">Отваряне на Google Play</translation>
 <translation id="6686490380836145850">Затваряне на разделите отдясно</translation>
 <translation id="6686817083349815241">Запазване на паролата ви</translation>
-<translation id="6690565918367819723"><ph name="PROFILE_NAME" /> – Превключване към друг човек</translation>
 <translation id="6690659332373509948">Файлът „<ph name="FILE_NAME" />“ не може да се анализира синтактично</translation>
 <translation id="6690751852586194791">Изберете контролиран потребител за добавяне към това устройство.</translation>
 <translation id="6691331417640343772">Управление на синхронизираните данни чрез Google Табло за управление</translation>
@@ -4015,6 +4025,7 @@
 <translation id="7040230719604914234">Оператор</translation>
 <translation id="7042418530779813870">Поставяне и търсе&amp;не</translation>
 <translation id="7043108582968290193">Готово! Няма намерени несъвместими приложения.</translation>
+<translation id="7044124535091449260">Научете повече за достъпа на сайта</translation>
 <translation id="7049293980323620022">Да се запази ли файлът?</translation>
 <translation id="7051943809462976355">Търси се мишка...</translation>
 <translation id="7052237160939977163">Да се изпратят данните от проследяването на ефективността</translation>
@@ -4127,6 +4138,7 @@
 <translation id="7201118060536064622">Изтрихте „<ph name="DELETED_ITEM_NAME" />“</translation>
 <translation id="7206693748120342859"><ph name="PLUGIN_NAME" /> се изтегля...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Изход от страницата}other{Изход от страниците}}</translation>
+<translation id="7210499381659830293">Директно свързани принтери</translation>
 <translation id="721467499098558573">Натиснете бутона на ключа си за сигурност и го задръжте поне 5 секунди</translation>
 <translation id="7216409898977639127">Мобилен оператор</translation>
 <translation id="7216595297012131718">Подредете езиците според предпочитанието си</translation>
@@ -4205,6 +4217,7 @@
 <translation id="7321545336522791733">Няма достъп до сървъра</translation>
 <translation id="7324297612904500502">Форум за бета версията</translation>
 <translation id="7325437708553334317">Разширение High Contrast</translation>
+<translation id="7328162502911382168">(<ph name="COUNT" />)</translation>
 <translation id="7328867076235380839">Невалидна комбинация</translation>
 <translation id="7329154610228416156">Влизането не бе успешно, тъй като е конфигурирано да се извършва през незащитен URL адрес (<ph name="BLOCKED_URL" />). Моля, свържете се с администратора си.</translation>
 <translation id="7334190995941642545">Функцията Smart Lock не е налице в момента. Моля, опитайте отново по-късно.</translation>
@@ -4796,6 +4809,7 @@
 <translation id="8199300056570174101">Свойства на мрежата (услугата) и устройството</translation>
 <translation id="8200772114523450471">Възобновяване</translation>
 <translation id="8202160505685531999">Моля, въведете отново паролата си, за да актуализирате потребителския си профил за <ph name="DEVICE_TYPE" />.</translation>
+<translation id="8203732864715032075">Функция, която ви изпраща известия и по подразбиране запомня този компютър за Messages. <ph name="LINK_BEGIN" />Научете повече<ph name="LINK_END" /></translation>
 <translation id="8206354486702514201">Тази настройка е наложена от администратора ви.</translation>
 <translation id="8206745257863499010">Музикант</translation>
 <translation id="8209677645716428427">Контролираният потребител може да изследва мрежата с ваше напътствие. Като негов мениджър в Chrome можете:</translation>
@@ -5107,7 +5121,6 @@
 <translation id="869884720829132584">Меню „Applications“</translation>
 <translation id="869891660844655955">Дата на валидност</translation>
 <translation id="8699566574894671540">За да включите тази настройка, първо, изберете „Проверка на правописа при въвеждане“ в менюто „Редактиране“</translation>
-<translation id="870073306461175568">Споделяне на файлове в мрежата</translation>
 <translation id="8701677791353449257">Името на устройството трябва да съответства на регулярния израз <ph name="REGEX" />.</translation>
 <translation id="8704521619148782536">Това отнема много по-дълго време от обичайното. Можете да продължите да чакате или да анулирате и да опитате отново по-късно.</translation>
 <translation id="8705331520020532516">Сериен номер</translation>
@@ -5292,7 +5305,6 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> – възникна срив</translation>
 <translation id="8983677657449185470">Помощ за подобряването на Безопасно сърфиране</translation>
 <translation id="8984179138335769204">Бързо стартиране</translation>
-<translation id="8984654317541110628">URL адрес за споделяне на файлове</translation>
 <translation id="8986362086234534611">Забравяне</translation>
 <translation id="8986494364107987395">Автоматично изпращане до Google на статистически данни за използването на Chrome и сигнали за сривове</translation>
 <translation id="8987927404178983737">Месец</translation>
diff --git a/chrome/app/resources/generated_resources_bn.xtb b/chrome/app/resources/generated_resources_bn.xtb
index e9ef6f8..319f796 100644
--- a/chrome/app/resources/generated_resources_bn.xtb
+++ b/chrome/app/resources/generated_resources_bn.xtb
@@ -50,7 +50,7 @@
 <translation id="1067291318998134776">Linux (বিটা)</translation>
 <translation id="1067922213147265141">Google-এর অন্যান্য পরিষেবা</translation>
 <translation id="1070066693520972135">WEP</translation>
-<translation id="1070377999570795893">আপনার কম্পিউটারের অন্য একটি প্রোগ্রাম একটি অ্যাপ্লিকেশান যোগ করেছে যা Chrome এর কাজ করার ধরন পাল্টে দিতে পারে।
+<translation id="1070377999570795893">আপনার কম্পিউটারের অন্য একটি প্রোগ্রাম একটি এক্সটেনশন যোগ করেছে যা Chrome-এর কাজ করার ধরন পাল্টে দিতে পারে।
 
 <ph name="EXTENSION_NAME" /></translation>
 <translation id="1071917609930274619">ডেটা চিহ্নকরণ</translation>
@@ -78,7 +78,7 @@
 <translation id="1114525161406758033">ঢাকনা বন্ধ থাকলে স্লীপ মোডে চলে যাবে</translation>
 <translation id="1115324527092594775">Better Together সেট-আপ করুন</translation>
 <translation id="1116694919640316211">সম্পর্কে</translation>
-<translation id="1116779635164066733">এই সেটিংসটি "<ph name="NAME" />" এক্সটেনশন দ্বারা প্রয়োগ করা হয়েছে।</translation>
+<translation id="1116779635164066733">এই সেটিংস "<ph name="NAME" />" এক্সটেনশন দ্বারা প্রয়োগ করা হয়েছে।</translation>
 <translation id="111844081046043029">আপনি এই পৃষ্ঠাটি ছেড়ে যাওয়ার ব্যাপারে কি নিশ্চিত?</translation>
 <translation id="1119069657431255176">Bzip2 কম্প্রেসযুক্ত টার আর্কাইভ</translation>
 <translation id="1119447706177454957">অভ্যন্তরীণ ত্রুটি</translation>
@@ -182,7 +182,7 @@
 <translation id="1242633766021457174"><ph name="THIRD_PARTY_TOOL_NAME" /> আপনার সেটিংস আবার সেট করতে চায়।</translation>
 <translation id="1243314992276662751">আপলোড</translation>
 <translation id="1244147615850840081">কেরিয়ার</translation>
-<translation id="1244303850296295656">এক্সটেনশন ত্রুটি</translation>
+<translation id="1244303850296295656">এক্সটেনশন সমস্যা</translation>
 <translation id="1249250836236328755">প্রকার</translation>
 <translation id="1252987234827889034">প্রোফাইল ত্রুটি ঘটেছে</translation>
 <translation id="1254593899333212300">সরাসরি ইন্টারনেট সংযোগ</translation>
@@ -245,7 +245,7 @@
 <translation id="1353686479385938207"><ph name="PROVIDER_NAME" /> : <ph name="NETWORK_NAME" /></translation>
 <translation id="1353980523955420967">PPD খুঁজে পাওয়া যায়নি। আপনার Chromebook অনলাইন আছে কিনা দেখে নিয়ে আবার চেষ্টা করুন।</translation>
 <translation id="1355466263109342573"><ph name="PLUGIN_NAME" /> অবরুদ্ধ করা রয়েছে</translation>
-<translation id="1357589289913453911">এক্সটেনশান Id</translation>
+<translation id="1357589289913453911">এক্সটেনশন আইডি</translation>
 <translation id="1358735829858566124">ফাইল বা ডিরেক্টরি ব্যবহারযোগ্য নয়৷</translation>
 <translation id="1358741672408003399">বানান এবং ব্যাকরণ</translation>
 <translation id="1361164813881551742">নিজে যোগ করুন</translation>
@@ -275,6 +275,7 @@
 <translation id="1395730723686586365">আপডেটার শুরু হয়েছে</translation>
 <translation id="1396139853388185343">প্রিন্টার সেট আপ করার সময় ত্রুটি হয়েছে</translation>
 <translation id="1396963298126346194">আপনার লেখা ইউজারনেম এবং পাসওয়ার্ড মিলছে না</translation>
+<translation id="1397500194120344683">কোনও উপযুক্ত ডিভাইস নেই। <ph name="LINK_BEGIN" />আরও জানুন<ph name="LINK_END" /></translation>
 <translation id="1397854323885047133">সিঙ্ক এবং ব্যক্তিগতকরণ</translation>
 <translation id="1398853756734560583">বড় করুন</translation>
 <translation id="1399511500114202393">কোনও ব্যবহারকারীর সার্টিফিকেট নেই</translation>
@@ -292,7 +293,7 @@
 <translation id="1411668397053040814">ভিআর এ Chrome ব্যবহার করতে Daydream কীবোর্ড ইনস্টল বা আপডেট করুন</translation>
 <translation id="1414648216875402825">আপনি <ph name="PRODUCT_NAME" /> এর অস্থায়ী সংস্করণে আপডেট হচ্ছেন, এটিতে থাকা বৈশিষ্টগুলি প্রগতিতে রয়েছে৷ ক্র্যাশ এবং অপ্রত্যাশিত ত্রুটিগুলি ঘটবে৷ দয়া করে সাবধানতার সাথে এগিয়ে যান৷</translation>
 <translation id="1415708812149920388">ক্লিপবোর্ড পড়ার অ্যাক্সেস প্রত্যাখ্যান করা হয়েছে</translation>
-<translation id="1415990189994829608"><ph name="EXTENSION_NAME" /> (এক্সটেনশান ID " <ph name="EXTENSION_ID" /> ") এই ধরনের সেশনে অনুমোদিত নয়৷</translation>
+<translation id="1415990189994829608"><ph name="EXTENSION_NAME" /> (এক্সটেনশন আইডি "<ph name="EXTENSION_ID" />") এই ধরনের সেশনে অনুমোদিত নয়৷</translation>
 <translation id="1416836038590872660">EAP-MD5</translation>
 <translation id="1420834118113404499">মিডিয়া লাইসেন্সগুলি</translation>
 <translation id="1420920093772172268">যুক্ত হওয়ার জন্য  <ph name="TURN_ON_BLUETOOTH_LINK" /> কে অনুমতি দিতে</translation>
@@ -344,7 +345,7 @@
 <translation id="1495486559005647033"><ph name="NUM_PRINTERS" />টি অন্যান্য উপলব্ধ ডিভাইস৷</translation>
 <translation id="1497522201463361063">"<ph name="FILE_NAME" />" পুনঃনাম দিতে অসমর্থ৷ <ph name="ERROR_MESSAGE" /></translation>
 <translation id="1500297251995790841">অজানা ডিভাইস [<ph name="VENDOR_ID" />:<ph name="PRODUCT_ID" />]</translation>
-<translation id="1503394326855300303">একটি একাধিক প্রবেশ করুন সেশনে এই মালিক অ্যাকাউন্টটি প্রথম প্রবেশ করুন থাকা অ্যাকাউন্ট হতে হবে৷</translation>
+<translation id="1503394326855300303">একটি একাধিক সাইন-ইন সেশনে এই মালিক অ্যাকাউন্টটি প্রথম সাইন-ইন থাকা অ্যাকাউন্ট হতে হবে৷</translation>
 <translation id="1503914375822320413">অনুলিপি ক্রিয়াকলাপ ব্যর্থ হয়েছে, অপ্রত্যাশিত ত্রুটি: $1</translation>
 <translation id="150411034776756821"><ph name="SITE" /> সরান</translation>
 <translation id="1505091014076919009">অ্যাপ এবং ওয়েবসাইটগুলি থেকে আপনার সাইন-ইন করা সমস্ত Google অ্যাকাউন্টগুলি এখানে পরিচালনা করা যেতে পারে।</translation>
@@ -375,18 +376,17 @@
 <translation id="1531004739673299060">অ্যাপ্লিকেশান উইন্ডো</translation>
 <translation id="15373452373711364">বড় মাউস কার্সার</translation>
 <translation id="1538729222189715449">Linux ফাইল খোলা হচ্ছে...</translation>
-<translation id="153933193410874873">আমরা এই ডিভাইসে আপনার পরিচয় যাচাই করতে পারিনি</translation>
 <translation id="1540605929960647700">ডেমো মোড চালু করুন</translation>
 <translation id="1543284117603151572">Edge থেকে আমদানি করা</translation>
 <translation id="1545177026077493356">স্বয়ংক্রিয় Kiosk মোড</translation>
 <translation id="1545775234664667895">ইনস্টল হওয়া থিম "<ph name="THEME_NAME" />"</translation>
 <translation id="1545786162090505744">কোয়্যারীর স্থানে %s সহ URL</translation>
-<translation id="1546280085599573572">আপনি হোম বোতাম ক্লিক করলে কোন পৃষ্ঠা দেখানো হবে তা এই এক্সটেনশানটি দ্বারা পরিবর্তন করা করেছে।</translation>
+<translation id="1546280085599573572">আপনি হোম বোতাম ক্লিক করলে কোন পৃষ্ঠা দেখানো হবে তা এই এক্সটেনশনটি পরিবর্তন করেছে।</translation>
 <translation id="1549788673239553762"><ph name="APP_NAME" /> <ph name="VOLUME_NAME" /> অ্যাক্সেস করতে চায়৷ এটি আপনার ফাইলগুলিকে সংশোধন করতে বা মুছে ফেলতে পারে৷</translation>
 <translation id="1553538517812678578">সীমাহীন</translation>
 <translation id="1554390798506296774"><ph name="HOST" />-এ সর্বদা আনস্যান্ডবক্সড প্লাগ ইনগুলির অনুমতি দিন</translation>
 <translation id="1556189134700913550">সবগুলিতে প্রয়োগ করুন</translation>
-<translation id="1556537182262721003">প্রোফাইলে এক্সটেনশান ডিরেক্টরি সরানো যায়নি৷</translation>
+<translation id="1556537182262721003">প্রোফাইলে এক্সটেনশন ডিরেক্টরি সরিয়ে নিয়ে যাওয়া যায়নি৷</translation>
 <translation id="155865706765934889">টাচপ্যাড</translation>
 <translation id="1559235587769913376">ইউনিকোড অক্ষর ইনপুট করুন</translation>
 <translation id="1564414980088536597">এই ইমেজটি ব্যবহার করা যাবে না। অন্য একটি ইমেজ পছন্দ করুন।</translation>
@@ -425,7 +425,7 @@
 <translation id="1611649489706141841">ফরওয়ার্ড</translation>
 <translation id="1611704746353331382">বুকমার্কগুলিকে HTML ফাইলে রপ্তানি করুন...</translation>
 <translation id="161460670679785907">আপনার ফোনটি শনাক্ত করা যায়নি</translation>
-<translation id="1616206807336925449">এই এক্সটেনশনটির কোনো বিশেষ অনুমতির প্রয়োজন নেই।</translation>
+<translation id="1616206807336925449">এই এক্সটেনশনটির কোনও বিশেষ অনুমতির প্রয়োজন নেই।</translation>
 <translation id="1616298854599875024">এটি একটি শেয়ার করা মডিউল না হওয়ার কারণে <ph name="IMPORT_NAME" /> এক্সটেনশন ইমপোর্ট করা যাচ্ছে না</translation>
 <translation id="1618268899808219593">সহায়তা কেন্দ্র</translation>
 <translation id="162035744160882748">সিঙ্ক, ব্যক্তিগতকরণ এবং অন্যান্য Google পরিষেবাগুলি চালু করুন</translation>
@@ -528,6 +528,7 @@
 <translation id="175772926354468439">থিম সক্ষম করুন</translation>
 <translation id="1758018619400202187">EAP-TLS</translation>
 <translation id="17584710573359123">Chrome ওয়েব স্টোরে দেখুন</translation>
+<translation id="176193854664720708">পাওয়ার বোতামে আঙ্গুলের ছাপের সেন্সরটি আছে। যেকোনও আঙ্গুল দিয়ে আলতো করে এটিকে টাচ করুন।</translation>
 <translation id="1763046204212875858">অ্যাপ্লিকেশন শর্টকাটগুলি তৈরি করুন</translation>
 <translation id="1763108912552529023">অন্বেষণ করা চালিয়ে যান</translation>
 <translation id="1763808908432309942">একটি নতুন ট্যাবে খোলে</translation>
@@ -553,7 +554,7 @@
 <translation id="1794791083288629568">এই সমস্যা ঠিক করতে আমাদের সহায়তা করতে প্রতিক্রিয়া পাঠান।</translation>
 <translation id="1795214765651529549">ক্লাসিক ব্যবহার করুন</translation>
 <translation id="179793358054765055">Chromebook ডিভাইসের নাম (<ph name="REGEX" />)</translation>
-<translation id="1799071797295057738">"<ph name="EXTENSION_NAME" />" এক্সটেনশানটি স্বয়ংক্রিয়ভাবে অক্ষম করা হয়েছে।</translation>
+<translation id="1799071797295057738">"<ph name="EXTENSION_NAME" />" এক্সটেনশনটি অটোমেটিক বন্ধ করা হয়েছে।</translation>
 <translation id="180035236176489073">আপনার এই ফাইলগুলিতে অ্যাক্সেস পেতে অনলাইন হওয়া আবশ্যক৷</translation>
 <translation id="1802687198411089702">পৃষ্ঠাটি সাড়া দিচ্ছে না। আপনি অপেক্ষা করতে পারেন অথবা পৃষ্ঠা ছেড়ে যেতে পারেন।</translation>
 <translation id="1802931390041703523">এই পৃষ্ঠাতে ফ্ল্যাশ ব্লক করা হয়েছে</translation>
@@ -681,7 +682,6 @@
 <translation id="1981115145845865539">আপনার <ph name="DEVICE_TYPE" /> নিজে থেকে আনলক করুন</translation>
 <translation id="1983959805486816857">আপনার দ্বারা একটি নতুন তত্ত্বাবধানে থাকা ব্যবহারকারী তৈরি হয়ে গেলে, আপনি যেকোনো ডিভাইস থেকে যেকোনো সময়ে <ph name="MANAGEMENT_URL" /> এ সেটিংস পরিচালনা করতে পারেন৷</translation>
 <translation id="1984642098429648350">উইন্ডো ডান দিকে রাখুন</translation>
-<translation id="1987139229093034863">একজন আলাদা ব্যবহারকারীতে স্যুইচ করুন৷</translation>
 <translation id="1987317783729300807">অ্যাকাউন্টসমূহ</translation>
 <translation id="1989112275319619282">ব্রাউজ করুন</translation>
 <translation id="1992397118740194946">সেট করা নেই</translation>
@@ -703,7 +703,7 @@
 <translation id="2020183425253392403">নেটওয়ার্ক ঠিকানার সেটিংস দেখান</translation>
 <translation id="2023167225947895179">পিন অনুমান করা সহজ হতে পারে</translation>
 <translation id="202352106777823113">ডাউনলোডটি অত্যধিক সময় নিয়েছে এবং নেটওয়ার্ক দ্বারা বন্ধ হয়েছে৷</translation>
-<translation id="2025632980034333559"><ph name="APP_NAME" /> ক্র্যাশ করেছে৷ এক্সটেনশন পুনঃসূচনা করতে এই বেলুনটি ক্লিক করুন৷</translation>
+<translation id="2025632980034333559"><ph name="APP_NAME" /> ক্র্যাশ করেছে৷ এক্সটেনশনটি রিলোড করতে এই বেলুনটিতে ক্লিক করুন৷</translation>
 <translation id="2028997212275086731">RAR আর্কাইভ</translation>
 <translation id="2034346955588403444">অন্য ওয়াই ফাই নেটওয়ার্ক যোগ করুন</translation>
 <translation id="203574396658008164">লক স্ক্রিন থেকেই নোট নেওয়া সক্ষম করুন</translation>
@@ -822,6 +822,7 @@
 <translation id="2208158072373999562">জিপ সংগ্রহ</translation>
 <translation id="220858061631308971">দয়া করে  <ph name="DEVICE_NAME" /> "-এ পিন কোড লিখুন: </translation>
 <translation id="2209593327042758816">তাকের আইটেম নম্বর ২</translation>
+<translation id="2212126039311489237">সিস্টেম ডায়ালগ ব্যবহার করে প্রিন্ট করুন</translation>
 <translation id="2217501013957346740">একটি নাম লিখুন -</translation>
 <translation id="2218019600945559112">মাউস ও টাচপ্যাড</translation>
 <translation id="2218320521449013367">ক্ষতিকর সফ্টওয়্যার সরিয়ে দেওয়ার সময় Chrome এ কোনও সমস্যা হয়েছে</translation>
@@ -849,7 +850,7 @@
 <translation id="2242687258748107519">ফাইল তথ্য</translation>
 <translation id="2243194103992005307">অ্যাপগুলি সরাতে, সেটিংস &gt; অ্যাপ বা অ্যাপ্লিকেশন ম্যানেজারে যান। তারপরে আপনি যে অ্যাপটি আনইনস্টল করতে চান সেটি ট্যাপ করুন (অ্যাপটি খোঁজার জন্য আপনাকে ডান বা বাঁদিকে সোয়াইপ করতে হতে পারে)। তারপরে 'আনইনস্টল বা বন্ধ করুন' বিকল্পে ট্যাপ করুন।</translation>
 <translation id="224940702122312781">এই পৃষ্ঠাটি প্রচুর ডেটা ব্যবহার করবে।</translation>
-<translation id="2249605167705922988">উদাঃ 1-5, 8, 11-13</translation>
+<translation id="2249605167705922988">উদাঃ ১-৫, ৮, ১১-১৩</translation>
 <translation id="2251218783371366160">সিস্টেম প্রদর্শকের মাধ্যমে খুলুন</translation>
 <translation id="225163402930830576">নেটওয়ার্কগুলি রিফ্রেশ করুন</translation>
 <translation id="225240747099314620">সুরক্ষিত সামগ্রীর জন্য সনাক্তকারীগুলিকে অনুমতি দিন (কম্পিউটার পুনঃসূচনা করতে হতে পারে)</translation>
@@ -884,7 +885,7 @@
 <translation id="2294358108254308676">আপনি কি <ph name="PRODUCT_NAME" /> ইনস্টল করতে চান?</translation>
 <translation id="2297705863329999812">প্রিন্টার খুঁজুন</translation>
 <translation id="2300383962156589922"><ph name="APP_NAME" /> কাস্টমাইজ এবং নিয়ন্ত্রণ করুন</translation>
-<translation id="2301382460326681002">এক্সটেনশন রুট ডিরেক্টরিটি অবৈধ৷</translation>
+<translation id="2301382460326681002">এক্সটেনশন রুট ডিরেক্টরিটি ভুল৷</translation>
 <translation id="23030561267973084">"<ph name="EXTENSION_NAME" />" অতিরিক্ত অনুমতির অনুরোধ জানিয়েছে৷</translation>
 <translation id="2307462900900812319">নেটওয়ার্ক কনফিগার করুন</translation>
 <translation id="230927227160767054">এই পৃষ্ঠাটি একটি পরিষেবা নিয়ন্ত্রক ইনস্টল করতে চায়৷</translation>
@@ -934,6 +935,7 @@
 <translation id="2378075407703503998"><ph name="SELCTED_FILE_COUNT" /> টি ফাইল নির্বাচিত</translation>
 <translation id="237828693408258535">এই পৃষ্ঠাটি অনুবাদ করবেন?</translation>
 <translation id="2378982052244864789">এক্সটেনশন ডিরেক্টরিটি নির্বাচন করুন৷</translation>
+<translation id="2379281330731083556">সিস্টেম কথোপকথন ব্যবহার করে প্রিন্ট করুন...<ph name="SHORTCUT_KEY" /></translation>
 <translation id="2381756643783702095">পাঠানোর আগে জিজ্ঞাসা করুন (প্রস্তাবিত)</translation>
 <translation id="2384436799579181135">একটি ত্রুটি ঘটেছে৷ অনুগ্রহ করে আপনার প্রিন্টারটি পরীক্ষা করে আবার চেষ্টা করুন।</translation>
 <translation id="2387458720915042159">প্রক্সি সংযোগের প্রকার</translation>
@@ -1114,6 +1116,7 @@
 <translation id="2653659639078652383">জমা দিন</translation>
 <translation id="265390580714150011">ক্ষেত্রের মান</translation>
 <translation id="2654166010170466751">সাইটগুলিকে পেমেন্ট হ্যান্ডলার ইনস্টল করার অনুমতি দিন</translation>
+<translation id="2656742821229528729">আপনার কম্পিউটার থেকে টেক্সট করতে, ইন্টারনেট কনেকশন শেয়ার করতে এবং ফোনের সাহায্যে Chromebook আনলক করতে আপনার Android ফোনের সাথে Chromebook কানেক্ট করুন।<ph name="FOOTNOTE_POINTER" /> <ph name="LINK_BEGIN" />আরও জানুন<ph name="LINK_END" /></translation>
 <translation id="2659381484350128933">ডিভাইসের উপর নির্ভর করে <ph name="FOOTNOTE_POINTER" /> বৈশিষ্ট্যের পরিবর্তন হবে</translation>
 <translation id="2660779039299703961">ইভেন্ট</translation>
 <translation id="266079277508604648">প্রিন্টারটি সংযুক্ত করা যায়নি। প্রিন্টারটি চালু আছে কিনা এবং ওয়াই-ফাই অথবা USB এর মাধ্যমে Chromebook এর সাথে সংযুক্ত আছে কিনা দেখে নিন।</translation>
@@ -1256,7 +1259,7 @@
 <translation id="2861941300086904918">নেটিভ ক্লায়েন্ট সুরক্ষা পরিচালক</translation>
 <translation id="2864601841139725659">আপনার প্রোফাইল ফটো সেট করুন</translation>
 <translation id="2867768963760577682">পিনযুক্ত ট্যাব রূপে খুলুন</translation>
-<translation id="2868746137289129307">এই এক্সটেনশানটির পুরনো সংস্করণের এবং এন্টারপ্রাইজ নীতি অক্ষম করা রয়েছে৷ যখনই নতুন সংস্করণ উপলব্ধ থাকবে তখন এটি স্বয়ংক্রিয়ভারে সক্ষমিত হবে৷</translation>
+<translation id="2868746137289129307">এই এক্সটেনশনটির পুরনো ভার্সনের এবং এন্টারপ্রাইজ নীতি বন্ধ করা রয়েছে৷ যখনই নতুন ভার্সন উপলভ্য থাকবে তখন এটি নিজে থেকে চালু হবে৷</translation>
 <translation id="2870560284913253234">সাইট</translation>
 <translation id="2870909136778269686">আপডেট করা হচ্ছে...</translation>
 <translation id="2871813825302180988">এই অ্যাকাউন্টটি ইতিমধ্যেই এই ডিভাইসটিতে ব্যবহার করা হচ্ছে৷</translation>
@@ -1317,9 +1320,9 @@
 <translation id="2948320633360386059">যে সমস্ত সাইটে বিরক্তিকরভাবে বিজ্ঞাপন দেখানো হয়, সেগুলিতে ব্লক করা হয়েছে</translation>
 <translation id="29488703364906173">আধুনিক ওয়েবের জন্য তৈরি একটি দ্রুত, সহজ, এবং সুরক্ষিত ওয়েব ব্রাউজার৷</translation>
 <translation id="2951247061394563839">সেন্টার উইন্ডো</translation>
-<translation id="2958721676848865875">প্যাক এক্সটেন করার সতর্কীকরণ</translation>
+<translation id="2958721676848865875">প্যাক এক্সটেনশনের সতর্কীকরণ</translation>
 <translation id="296026337010986570">হয়ে গেছে! ক্ষতিকারক সফ্টওয়্যার সরানো হয়েছে। এক্সটেনশন আবার চালু করতে, &lt;a href="chrome://extensions"&gt;এক্সটেনশন&lt;/a&gt; -এ যান।</translation>
-<translation id="2961090598421146107"><ph name="CERTIFICATE_NAME" /> (এক্সটেনশান প্রদত্ত)</translation>
+<translation id="2961090598421146107"><ph name="CERTIFICATE_NAME" /> (এক্সটেনশন থেকে প্রদান করা)</translation>
 <translation id="2961695502793809356">এগিয়ে যাওয়ার জন্য ক্লিক করুন, ইতিহাস দেখার জন্য ধরে রাখুন</translation>
 <translation id="2963151496262057773">নিম্নোক্ত প্ল্যাগ ইনটি প্রতিক্রিয়াবিহীন: <ph name="PLUGIN_NAME" /> আপনি কি এটিকে থামাতে চান?</translation>
 <translation id="2966449113954629791">আপনি হয়ত আপনার মোবাইল ডেটার প্রদত্ত পরিমান ব্যবহার করে ফেলেছেন৷ আরও ডেটা কিনতে <ph name="NAME" /> সক্রিয়করণ পোর্টালে যান৷</translation>
@@ -1419,6 +1422,7 @@
 <translation id="3115128645424181617">আপনার ফোন খুঁজে পাওয়া যায়নি। এটি সহজে ব্যবহার করা যায় এবং বুলুটুথ চালু রয়েছে সেটি নিশ্চিত করুন।</translation>
 <translation id="3115147772012638511">ক্যাশের অপেক্ষা করা হচ্ছে...</translation>
 <translation id="3118319026408854581"><ph name="PRODUCT_NAME" /> সহায়তা</translation>
+<translation id="3119484583572640616">Better Together চালু করলে সেটি নিম্নলিখিতগুলি করতে পারে:</translation>
 <translation id="3120430004221004537">এখানে একটি নির্দিষ্ট ক্রিয়াকলাপের জন্য অপর্যাপ্ত এনক্রিপশান: "<ph name="DEVICE_NAME" />"।</translation>
 <translation id="3121793941267913344">এই <ph name="IDS_SHORT_PRODUCT_NAME" /> ডিভাইসটি আবার সেট করুন</translation>
 <translation id="3122464029669770682">সিপিইউ</translation>
@@ -1490,8 +1494,8 @@
 <translation id="3229922550070982305">প্লে করুন/বিরত করুন</translation>
 <translation id="3232318083971127729">মান:</translation>
 <translation id="3236289833370040187">মালিকানা <ph name="DESTINATION_DOMAIN" /> এ স্থানান্তর করা হবে।</translation>
-<translation id="323803881985677942">এক্সটেনশান বিকল্পগুলি খুলুন</translation>
-<translation id="3241680850019875542">প্যাক করার জন্য এক্সটেনশনের রুট ডিরেক্টরিটি নির্বাচন করুন৷ কোন এক্সটেনশন আপডেট করতে, আবার ব্যবহার করার জন্য ব্যক্তিগত কী ফাইলটিও নির্বাচন করুন৷</translation>
+<translation id="323803881985677942">'এক্সটেনশন বিকল্প' খুলুন</translation>
+<translation id="3241680850019875542">প্যাক করার জন্য এক্সটেনশনের রুট ডিরেক্টরিটি নির্বাচন করুন৷ কোনও এক্সটেনশন আপডেট করতে, আবার ব্যবহার করার জন্য 'ব্যক্তিগত কী ফাইলটি'ও নির্বাচন করুন৷</translation>
 <translation id="3244294424315804309">সাউন্ড মিউট করে রাখুন</translation>
 <translation id="3245321423178950146">অজানা শিল্পী</translation>
 <translation id="3246097286174000800">Smart Lock ব্যবহার করে দেখুন</translation>
@@ -1532,7 +1536,7 @@
 <translation id="3298789223962368867">অবৈধ URL দেওয়া হয়েছে৷</translation>
 <translation id="32991397311664836">ডিভাইস:</translation>
 <translation id="33022249435934718">GDI হ্যান্ডলগুলি</translation>
-<translation id="3303260552072730022">একটি এক্সটেনশন চালিত পূর্ণ স্ক্রীন৷</translation>
+<translation id="3303260552072730022">একটি এক্সটেনশন ফুল-স্ক্রিন ট্রিগার করেছে৷</translation>
 <translation id="3303818374450886607">প্রতিলিপি</translation>
 <translation id="3303855915957856445">কোনো সার্চ ফলাফল পাওয়া যায়নি</translation>
 <translation id="3305329619209039989">টাচ পয়েন্টগুলি দেখান</translation>
@@ -1580,7 +1584,7 @@
 <translation id="3371140690572404006">USB-C ডিভাইস (ডান দিকের সামনের পোর্ট)</translation>
 <translation id="337286756654493126">আপনি অ্যাপ্লিকেশানটিতে খোলেন এমন ফোল্ডারগুলি পড়ে</translation>
 <translation id="3378503599595235699">আপনি আপনার ব্রাউজার ছেড়ে যাওয়া পর্যন্ত কেবল স্থানীয় ডেটা রাখুন</translation>
-<translation id="3378572629723696641">এই এক্সটেনশানটি হয়ত ক্ষতিগ্রস্ত হয়েছে৷</translation>
+<translation id="3378572629723696641">এই এক্সটেনশনটি হয়ত ক্ষতিগ্রস্ত হয়েছে৷</translation>
 <translation id="3378630551672149129">প্রবেশ করুন, ইনপুট উপাদানের সঙ্গে যোগাযোগের জন্য ট্যাব কী টিপুন</translation>
 <translation id="337920581046691015"><ph name="PRODUCT_NAME" /> ইনস্টল করা হবে৷</translation>
 <translation id="3380365263193509176">অজানা ত্রুটি</translation>
@@ -1702,7 +1706,7 @@
 <translation id="3550915441744863158">Chrome স্বয়ংক্রিয়ভাবে আপডেট হয় তাই আপনি সবসময় নবীনতম সংস্করণটি পান</translation>
 <translation id="3551320343578183772">ট্যাব বন্ধ করুন</translation>
 <translation id="3552780134252864554">'বেরিয়ে আসুন' থেকে সাফ করা হয়েছে</translation>
-<translation id="3555812735919707620">এক্সটেনশান সরান</translation>
+<translation id="3555812735919707620">এক্সটেনশন সরান</translation>
 <translation id="3556000484321257665">আপনার সার্চ ইঞ্জিন <ph name="URL" /> এ পরিবর্তন করা হয়েছে।</translation>
 <translation id="3563432852173030730">কিয়স্ক অ্যাপ্লিকেশানটি ডাউনলোড করা যাবে না।</translation>
 <translation id="3564334271939054422">আপনি যে (<ph name="NETWORK_ID" />) ওয়াই-ফাই নেটওয়ার্ক ব্যবহার করছেন তার জন্য লগ ইন পৃষ্ঠা দেখার প্রয়োজন হতে পারে৷</translation>
@@ -1730,6 +1734,7 @@
 <translation id="3596235046596950091">ক্লাউড পরিষেবাগুলি সক্ষম করুন</translation>
 <translation id="3599863153486145794">সমস্ত সাইন-ইন করা ডিভাইসগুলি থেকে ইতিহাস মুছে ফেলে। <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> এ আপনার Google অ্যাকাউন্টের অন্যান্য ধরনের ব্রাউজিংয়ের ইতিহাস থাকতে পারে।</translation>
 <translation id="3600792891314830896">সাউন্ড প্লে করা হয় যে সাইটগুলিতে সেগুলি মিউট করুন</translation>
+<translation id="360180734785106144">নতুন ফিচার উপলভ্য হলেই তা অফার করে</translation>
 <translation id="3602290021589620013">পূর্বরূপ</translation>
 <translation id="3603533104205588786">একটি পৃষ্ঠাকে বুকমার্ক করতে তারকা আইকনটিতে ক্লিক করুন৷</translation>
 <translation id="3603622770190368340">নেটওয়ার্ক শংসাপত্র প্রাপ্ত করুন</translation>
@@ -1860,8 +1865,8 @@
 <translation id="3768037234834996183">আপনার পছন্দগুলি সিঙ্ক হচ্ছে...</translation>
 <translation id="3771294271822695279">ভিডিও  ফাইলসমূহ</translation>
 <translation id="3775432569830822555">SSL সার্ভার শংসাপত্র</translation>
-<translation id="3776796446459804932">এই এক্সটেনশনটি Chrome ওয়েব স্টোর-এর নীতি লঙ্ঘন করে৷</translation>
-<translation id="3777806571986431400">এক্সটেনশান সক্ষম হয়েছে</translation>
+<translation id="3776796446459804932">এই এক্সটেনশনটি 'Chrome ওয়েব স্টোরে'র নীতি লঙ্ঘন করে৷</translation>
+<translation id="3777806571986431400">এক্সটেনশন চালু করা হয়েছে</translation>
 <translation id="3778152852029592020">ডাউনলোড বাতিল হয়েছে৷</translation>
 <translation id="3778740492972734840">&amp;ডেভেলপার টুল</translation>
 <translation id="3778868487658107119">প্রশ্ন জিজ্ঞাসা করুন। কিছু করতে বলুন। এটি আপনার নিজস্ব Google যেটি সবসময় আপনাকে সাহায্য করে।</translation>
@@ -1882,7 +1887,7 @@
 <translation id="3800806661949714323">সব দেখান (প্রস্তাবিত)</translation>
 <translation id="380408572480438692">কার্য-সম্পাদনা ডেটার সংগ্রহ সক্ষম করলে দিনে দিনে এটি Google কে তার সিস্টেম উন্নত করতে সাহায্য করবে৷ আপনি যতক্ষণ না কোনো প্রতিক্রিয়া প্রতিবেদন (Alt-Shift-I) এবং কার্য-সম্পাদনার ডেটা অন্তর্ভুক্ত করবেন ততক্ষণ কোনো ডেটা পাঠানো হয় না৷ সংগ্রহ অক্ষম করতে আপনি যেকোনো সময়ে এই স্ক্রীনে ফিরে আসতে পারেন৷</translation>
 <translation id="3806965327722135869">ক্ষতিকর সফ্টওয়্যার খুঁজে বের করে সরিয়ে দিন</translation>
-<translation id="3807249107536149332">লগইন স্ক্রিনে <ph name="EXTENSION_NAME" /> (এক্সটেনশান আইডি "<ph name="EXTENSION_ID" />") অনুমোদিত নয়।</translation>
+<translation id="3807249107536149332">লগ-ইন স্ক্রিনে <ph name="EXTENSION_NAME" /> (এক্সটেনশান আইডি "<ph name="EXTENSION_ID" />") অনুমোদিত নয়।</translation>
 <translation id="3807747707162121253">&amp;বাতিল</translation>
 <translation id="3809280248639369696">চন্দ্রপ্রভা</translation>
 <translation id="3810973564298564668">পরিচালনা</translation>
@@ -1907,7 +1912,7 @@
 <translation id="383161972796689579">এই ডিভাইসের মালিক নতুন ব্যবহারকারী জোড়া অক্ষম করেছে</translation>
 <translation id="3834775135533257713">"<ph name="TO_INSTALL_APP_NAME" />" অ্যাপ্লিকেশান যোগ করা যায়নি কারণ "<ph name="INSTALLED_APP_NAME" />" এর সাথে এর বিরোধ আছে।</translation>
 <translation id="3835522725882634757">ওহো, না! এই সার্ভারটি ডেটা পাঠাচ্ছে <ph name="PRODUCT_NAME" /> বুঝতে পারছে না৷ দয়া করে <ph name="BEGIN_LINK" />একটি বাগ রিপোর্ট করুন<ph name="END_LINK" />, এবং  <ph name="BEGIN2_LINK" />টাটকা তালিকা<ph name="END2_LINK" /> অন্তর্ভুক্ত করুন৷</translation>
-<translation id="3838085852053358637">এক্সটেনশান লোড করা যায়নি</translation>
+<translation id="3838085852053358637">এক্সটেনশন লোড করা যায়নি</translation>
 <translation id="3838486795898716504">আরও <ph name="PAGE_TITLE" /></translation>
 <translation id="3838543471119263078">কুকিজ এবং অন্যান্য সাইট এবং প্লাগ ইন ডেটা</translation>
 <translation id="383891835335927981">কোনো সাইটের জুম বাড়ানো বা কমানো হয়নি</translation>
@@ -1918,7 +1923,7 @@
 <translation id="385051799172605136">ফিরুন</translation>
 <translation id="3851428669031642514">অনিরাপদ স্ক্রিপ্টগুলি লোড করুন</translation>
 <translation id="3854599674806204102">একটি বিকল্প বেছে নিন</translation>
-<translation id="3855441664322950881">প্যাক এক্সটেনশান</translation>
+<translation id="3855441664322950881">প্যাক এক্সটেনশন</translation>
 <translation id="3855676282923585394">বুকমার্কস এবং সেটিংস আমদানি করুন...</translation>
 <translation id="3856800405688283469">সময় অঞ্চল বেছে নিন</translation>
 <translation id="3857228364945137633">আপনার ফোন আশেপাশে থাকলে Smart Lock ব্যবহার করে <ph name="DEVICE_TYPE" /> আনলক করতে পারবেন।</translation>
@@ -1956,7 +1961,7 @@
 <translation id="3901991538546252627"><ph name="NAME" />-এ সংযোগ করা হচ্ছে</translation>
 <translation id="3905761538810670789">অ্যাপ্লিকেশান মেরামত করুন</translation>
 <translation id="3908393983276948098"><ph name="PLUGIN_NAME" /> পুরনো হয়ে গেছে</translation>
-<translation id="3908501907586732282">এক্সটেনশন সক্ষম করুন</translation>
+<translation id="3908501907586732282">এক্সটেনশন চালু করুন</translation>
 <translation id="3909690856344416952"><ph name="LANGUAGE_1" />, <ph name="LANGUAGE_2" />, এবং আরও ১টি</translation>
 <translation id="3909791450649380159">কা&amp;ট করুন</translation>
 <translation id="3911073280391218446"><ph name="USER_DISPLAY_NAME" /> (এই ডিভাইসে ব্যবহৃত নাম)</translation>
@@ -2009,7 +2014,7 @@
 <translation id="397105322502079400">গণনা করা হচ্ছে...</translation>
 <translation id="3975222297214566386">ইনপুট বিকল্পের বুদবুদ</translation>
 <translation id="397703832102027365">চূড়ান্ত হচ্ছে...</translation>
-<translation id="3979395879372752341">নতুন এক্সটেনশন জোড়া হয়েছে (<ph name="EXTENSION_NAME" />)</translation>
+<translation id="3979395879372752341">নতুন এক্সটেনশন যোগ করা হয়েছে (<ph name="EXTENSION_NAME" />)</translation>
 <translation id="3979748722126423326"><ph name="NETWORKDEVICE" /> সক্ষম করুন</translation>
 <translation id="3981760180856053153">অবৈধ সংরক্ষণ প্রকার প্রবেশ করা হয়েছে৷</translation>
 <translation id="3983586614702900908">একটি অজানা বিক্রেতা থেকে ডিভাইসগুলি</translation>
@@ -2064,7 +2069,6 @@
 <translation id="4068506536726151626">এই পৃষ্ঠাতে নিম্নলিখিত সাইটগুলি থেকে এমন উপাদান রয়েছে যা আপনার লোকেশন নির্ধারণ করে:</translation>
 <translation id="4068776064906523561">সংরক্ষিত আঙ্গুলের ছাপগুলি</translation>
 <translation id="407173827865827707">ক্লিক করা হলে</translation>
-<translation id="4071770069230198275"><ph name="PROFILE_NAME" />: প্রবেশ করায় ত্রুটি</translation>
 <translation id="4074900173531346617">ইমেল স্বাক্ষরকারী সার্টিফিকেট</translation>
 <translation id="407520071244661467">স্কেল</translation>
 <translation id="4075639477629295004"><ph name="FILE_NAME" /> কে কাস্ট করা যায়নি।</translation>
@@ -2105,7 +2109,7 @@
 <translation id="412730574613779332">স্প্যানডেক্স</translation>
 <translation id="412940972494182898">এই সময় ফ্ল্যাশটি চালান</translation>
 <translation id="4130199216115862831">ডিভাইস লগ</translation>
-<translation id="4130207949184424187">আপনি বহুউপযোগী ক্ষেত্র থেকে সার্চ করলে কোন পৃষ্ঠাটি দেখানো হবে তা এই এক্সটেনশানটি পরিবর্তন করেছে।</translation>
+<translation id="4130207949184424187">আপনি ওমনিবক্স ক্ষেত্র থেকে সার্চ করলে কোন পৃষ্ঠাটি দেখানো হবে তা এই এক্সটেনশনটি পরিবর্তন করেছে।</translation>
 <translation id="413121957363593859">উপাদানগুলি</translation>
 <translation id="4131410914670010031">সাদা ও কালো</translation>
 <translation id="4136203100490971508">সূর্যোদয়ের সময় নাইট লাইট নিজে থেকেই বন্ধ হয়ে যাবে</translation>
@@ -2121,7 +2125,7 @@
 <translation id="4158739975813877944">প্লে তালিকা খুলুন</translation>
 <translation id="4159681666905192102">এইটি হল বাচ্চাদের জন্য <ph name="CUSTODIAN_EMAIL" /> এবং <ph name="SECOND_CUSTODIAN_EMAIL" /> দ্বারা পরিচালিত একটি অ্যাকাউন্ট৷</translation>
 <translation id="4163560723127662357">অজানা কীবোর্ড</translation>
-<translation id="4168015872538332605"><ph name="PRIMARY_EMAIL" /> এর কিছু সেটিংস আপনার সাথে শেয়ার করা হচ্ছে৷ এই সেটিংস শুধুমাত্র আপনার অ্যাকাউন্টে একাধিক প্রবেশ করুন ব্যবহারের সময় কাজ করে৷</translation>
+<translation id="4168015872538332605"><ph name="PRIMARY_EMAIL" />-এর কিছু সেটিংস আপনার সাথে শেয়ার করা হচ্ছে৷ এই সেটিংস শুধুমাত্র আপনার অ্যাকাউন্টে একাধিক সাইন-ইন ব্যবহারের সময় কাজ করে৷</translation>
 <translation id="4170314459383239649">ছেড়ে গেলে কুকিজ মুছে দিন</translation>
 <translation id="4172051516777682613">সর্বদা দেখান</translation>
 <translation id="4175737294868205930">বিরতিহীন সঞ্চয়স্থান</translation>
@@ -2222,7 +2226,7 @@
 <translation id="4350019051035968019">এই ডিভাইসটি একটি ভিন্ন ডোমেনের দ্বারা পরিচালনার জন্য চিহ্নিত হওয়ায় আপনার অ্যাকাউন্টটি যে ডোমেনের আওতায় রয়েছে তাতে নথিভুক্ত করা যাবে না৷</translation>
 <translation id="4356334633973342967">অথবা আপনার নিজের ড্রাইভার উল্লেখ করুন:</translation>
 <translation id="4358353773267946514"><ph name="LANGUAGE_1" />, <ph name="LANGUAGE_2" /></translation>
-<translation id="4359408040881008151">নির্ভরশীল এক্সটেনশান(গুলি) হওয়ার কারণে ইনস্টল রয়েছে৷</translation>
+<translation id="4359408040881008151">নির্ভরশীল এক্সটেনশন(গুলি) বলে ইনস্টল রয়েছে৷</translation>
 <translation id="4361142739114356624">এই ক্লায়েন্ট শংসাপত্রের জন্য ব্যক্তিগত কী পাওয়া যাচ্ছে না বা এটি অবৈধ</translation>
 <translation id="4363771538994847871">কোনো Cast গন্তব্য পাওয়া যায়নি। সাহায্য দরকার?</translation>
 <translation id="4364567974334641491"><ph name="APP_NAME" /> একটি উইন্ডো শেয়ার করছে।</translation>
@@ -2336,7 +2340,7 @@
 <translation id="4552031286893852992">এই সাইটে বিরক্তিকরভাবে বিজ্ঞাপন দেখানো হয়, তাই Chrome এখানে বিজ্ঞাপন ব্লক করেছে।</translation>
 <translation id="4552089082226364758">ফ্ল্যাশ</translation>
 <translation id="4552678318981539154">আরও সঞ্চয়স্থান কিনুন</translation>
-<translation id="4554591392113183336">বিদ্যমানটির তুলনায় বাহ্যিক এক্সটেনশানটি একই বা আরও পুরোনো সংস্করণের৷</translation>
+<translation id="4554591392113183336">এখন যে এক্সটেনশনটি রয়েছে তার তুলনায় এক্সটারনাল এক্সটেনশনটি একই বা আরও পুরোনো ভার্সনের</translation>
 <translation id="4555769855065597957">ছায়া</translation>
 <translation id="4556110439722119938">আপনার বুকমার্ক, ইতিহাস এবং অন্যান্য সেটিংস আপনার Google অ্যাকাউন্টে সিঙ্ক হবে যাতে আপনি আপনার সমস্ত ডিভাইসে সেগুলি ব্যবহার করতে পারেন।</translation>
 <translation id="4558426062282641716">স্বয়ংক্রিয়ভাবে লঞ্চের অনুমতি অনুরোধ করা হয়েছে</translation>
@@ -2372,12 +2376,12 @@
 <translation id="4610162781778310380"><ph name="PLUGIN_NAME" /> এ সমস্যা হয়েছে</translation>
 <translation id="4610637590575890427">আপনি <ph name="SITE" />-এ যাওয়ার কথা বলছেন কি?</translation>
 <translation id="4611114513649582138">ডেটা সংযোগ পাওয়া যাচ্ছে</translation>
-<translation id="4613271546271159013">আপনি যখন একটি নতুন ট্যাব খুলবেন তখন কি পৃষ্ঠা দেখানো হবে, একটি এক্সটেনশান তার পরিবর্তন করেছে।</translation>
+<translation id="4613271546271159013">আপনি যখন একটি নতুন ট্যাব খুলবেন তখন কোন পৃষ্ঠা দেখানো হবে, একটি এক্সটেনশন তার পরিবর্তন করেছে।</translation>
 <translation id="4615586811063744755">কোনও কুকি বেছে নেওয়া হয়নি</translation>
 <translation id="4615618657481886098">আপনি আগেই এই কী টি রেজিস্টার করেছেন। আপনাকে এটি আবার রেজিস্টার করতে হবে না।</translation>
-<translation id="4617270414136722281">এক্সটেনশান বিকল্পগুলি</translation>
+<translation id="4617270414136722281">এক্সটেনশন বিকল্প</translation>
 <translation id="4619615317237390068">অন্যান্য ডিভাইসগুলি থেকে ট্যাব</translation>
-<translation id="4620809267248568679">একটি এক্সটেনশন দ্বারা এই সেটিংটি প্রয়োগ করা হয়৷</translation>
+<translation id="4620809267248568679">একটি এক্সটেনশনের মাধ্যমে এই সেটিং প্রয়োগ করা হয়৷</translation>
 <translation id="4624768044135598934">সফল!</translation>
 <translation id="4625078469366263107">অ্যাপ্লিকেশান সক্ষম করুন</translation>
 <translation id="4627427111733173920">কুকিজ ব্লক করা হয়েছে</translation>
@@ -2388,7 +2392,7 @@
 <translation id="4630590996962964935">অবৈধ অক্ষর: $1</translation>
 <translation id="4631887759990505102">শিল্পী</translation>
 <translation id="4632483769545853758">ট্যাব সশব্দ করুন</translation>
-<translation id="4633003931260532286">এক্সটেনশানের ন্যূনতম <ph name="IMPORT_VERSION" /> ভার্সনের <ph name="IMPORT_NAME" /> প্রয়োজন, কিন্তু শুধুমাত্র <ph name="INSTALLED_VERSION" /> ভার্সন ইনস্টল করা আছে</translation>
+<translation id="4633003931260532286">এক্সটেনশনের ন্যূনতম <ph name="IMPORT_VERSION" /> ভার্সনের <ph name="IMPORT_NAME" /> প্রয়োজন, কিন্তু শুধুমাত্র <ph name="INSTALLED_VERSION" /> ভার্সন ইনস্টল করা আছে</translation>
 <translation id="4634771451598206121">আবার প্রবেশ করুন...</translation>
 <translation id="4635398712689569051">অতিথি ব্যবহারকারীদের জন্য <ph name="PAGE_NAME" /> উপলভ্য নয়।</translation>
 <translation id="4641539339823703554">Chrome সিস্টেমের সময় সেট করতে পারেনি। দয়া করে নিচে সময় চেক করুন এবং প্রয়োজনে এটি সংশোধন করুন।</translation>
@@ -2461,7 +2465,7 @@
 <translation id="4743260470722568160"><ph name="BEGIN_LINK" />অ্যাপ্লিকেশন কীভাবে আপডেট করতে হয় তা জানুন<ph name="END_LINK" /></translation>
 <translation id="4746351372139058112">বার্তাগুলি</translation>
 <translation id="4746971725921104503">দেখে মনে হচ্ছে আপনি ইতিমধ্যে এই নাম দিয়ে একটি ব্যবহারকারীকে পরিচালনা করছেন৷ আপনি কি  <ph name="LINK_START" /> <ph name="USER_DISPLAY_NAME" /> এই ডিভাইসে আমদানি করতে চান<ph name="LINK_END" />?</translation>
-<translation id="4748762018725435655">Chrome ওয়েব স্টোর থেকে এক্সটেনশন প্রয়োজন</translation>
+<translation id="4748762018725435655">Chrome ওয়েব স্টোর থেকে এক্সটেনশনের প্রয়োজন</translation>
 <translation id="4750394297954878236">প্রস্তাবনা</translation>
 <translation id="475088594373173692">প্রথম ব্যবহারকারী</translation>
 <translation id="4751476147751820511">মোশন বা হালকা সেন্সর</translation>
@@ -2584,14 +2588,14 @@
 <translation id="4912643508233590958">নিষ্ক্রিয়তা সময়ের সমাপ্তি</translation>
 <translation id="491691592645955587">একটি সুরক্ষিত ব্রাউজারে স্যুইচ করুন</translation>
 <translation id="4917385247580444890">জোরালো</translation>
-<translation id="4918021164741308375">"<ph name="EXTENSION_NAME" />" এক্সটেনশন দ্বারা <ph name="ORIGIN" /> যোগাযোগ করতে চায়</translation>
+<translation id="4918021164741308375">"<ph name="EXTENSION_NAME" />" এক্সটেনশন দ্বারা <ph name="ORIGIN" /> যোগাযোগ করতে চায়</translation>
 <translation id="4918086044614829423">স্বীকার</translation>
 <translation id="4920887663447894854">এই পৃষ্ঠাতে আপনার লোকেশন নির্ধারণ করার জন্য নিম্নলিখিত সাইটগুলি অবরুদ্ধ করা হয়েছে:</translation>
 <translation id="492299503953721473">Android অ্যাপ্লিকেশানগুলি সরান</translation>
 <translation id="4923279099980110923">হ্যাঁ, আমি সাহায্য করতে চাই</translation>
 <translation id="4924352752174756392">১২x</translation>
 <translation id="4924638091161556692">স্থির</translation>
-<translation id="4925542575807923399">এই অ্যাকাউন্টের প্রশাসক এই অ্যাকাউন্টটিকে একটি একাধিক প্রবেশ করুন সেশনের প্রথম প্রবেশ করুন থাকা অ্যাকাউন্ট হিসাবে চায়৷</translation>
+<translation id="4925542575807923399">এই অ্যাকাউন্টের অ্যাডমিনিস্ট্রেটর অ্যাকাউন্টটিকে একটি একাধিক সাইন-ইন সেশনের প্রথম সাইন-ইন করে থাকা অ্যাকাউন্ট হিসেবে রাখতে চায়৷</translation>
 <translation id="4927753642311223124">এখানে দেখার কিছু নেই , এগিয়ে যান৷</translation>
 <translation id="4927846293686536410">আপনার সকল ডিভাইসে আপনার বুকমার্ক, ইতিহাস এবং অন্যান্য সেটিংস পেতে প্রবেশ করুন। এছাড়াও আপনি স্বয়ংক্রিয়ভাবে আপনার Google পরিষেবাগুলিতে প্রবেশ করবেন।</translation>
 <translation id="4929386379796360314">প্রিন্ট গন্তব্য</translation>
@@ -2624,7 +2628,7 @@
 <translation id="497421865427891073">অগ্রবর্তী করুন</translation>
 <translation id="4974733135013075877">প্রস্থান এবং চাইল্ডলক করুন</translation>
 <translation id="4977942889532008999">অ্যাক্সেস নিশ্চিত করুন</translation>
-<translation id="4980805016576257426">এই এক্সটেনশানটিতে ম্যালওয়্যার আছে।</translation>
+<translation id="4980805016576257426">এই এক্সটেনশনটিতে ম্যালওয়্যার আছে।</translation>
 <translation id="498294082491145744">কুকিজ, JavaScript, প্লাগ ইন, ভূ-লোকেশন, মাইক্রোফোন, ক্যামেরা ইত্যাদির মতো বৈশিষ্ট্যগুলিতে ওয়েবসাইটগুলির অ্যাক্সেস নিয়ন্ত্রণ করে, আপনার সেই সেটিংস পরিবর্তন করুন।</translation>
 <translation id="4988526792673242964">পৃষ্ঠাসমূহ</translation>
 <translation id="49896407730300355">ঘড়ির কাঁটার &amp;বিপরীত দিকে ঘোরান</translation>
@@ -2650,11 +2654,11 @@
 <translation id="5015762597229892204">একটি প্রিন্টার ড্রাইভার অ্যাপ্লিকেশান বেছে নিন</translation>
 <translation id="5017508259293544172">LEAP</translation>
 <translation id="5017633213534173756">মনে রাখুন</translation>
-<translation id="5018207570537526145">এক্সটেনশন ওয়েবসাইট খুলুন</translation>
+<translation id="5018207570537526145">এক্সটেনশনের ওয়েবসাইট খুলুন</translation>
 <translation id="5024856940085636730">একটি অ্যাক্টিভিটি প্রত্যাশিত সময়ের থেকে বেশি সময় নিচ্ছে। আপনি কি এটি থামাতে চান?</translation>
 <translation id="5026874946691314267">এটিকে আবার দেখাবেন না</translation>
 <translation id="5027550639139316293">ইমেল সার্টিফিকেট</translation>
-<translation id="5027562294707732951">এক্সটেনশান যোগ করুন</translation>
+<translation id="5027562294707732951">এক্সটেনশন যোগ করুন</translation>
 <translation id="5029568752722684782">প্রতিলিপি সাফ করুন</translation>
 <translation id="5030338702439866405">দ্বারা ইস্যু করা</translation>
 <translation id="503498442187459473"><ph name="HOST" /> আপনার ক্যামেরা ও মাইক্রোফোন ব্যবহার করতে চায়</translation>
@@ -2723,7 +2727,7 @@
 <translation id="5137501176474113045">এই আইটেমটি মুছে দিন</translation>
 <translation id="5139955368427980650">&amp;খুলুন</translation>
 <translation id="5142961317498132443">প্রমাণীকরণ</translation>
-<translation id="5143374789336132547">আপনি হোম বোতাম ক্লিক করলে কোন পৃষ্ঠা দেখানো হবে তা <ph name="EXTENSION_NAME" /> এক্সটেনশানটি পরিবর্তন করেছে।</translation>
+<translation id="5143374789336132547">আপনি হোম বোতাম ক্লিক করলে কোন পৃষ্ঠা দেখানো হবে তা <ph name="EXTENSION_NAME" /> এক্সটেনশনটি পরিবর্তন করেছে।</translation>
 <translation id="5143712164865402236">পূর্ণ স্ক্রিনে প্রবেশ করুন</translation>
 <translation id="5145331109270917438">পরিবর্তনের তারিখ</translation>
 <translation id="514575469079499857">লোকেশন নির্ধারণ করার জন্য আপনার আইপি অ্যাড্রেস ব্যবহার করুন (ডিফল্ট)</translation>
@@ -2864,6 +2868,7 @@
 <translation id="5332624210073556029">সময় অঞ্চল:</translation>
 <translation id="5334142896108694079">স্ক্রিপ্ট ক্যাশে</translation>
 <translation id="5334844597069022743">উৎস দেখুন</translation>
+<translation id="5334899159203764908"><ph name="BEGIN_LINK" />সাইট অ্যাক্সেস<ph name="END_LINK" /> সম্পর্কে আরও জানুন</translation>
 <translation id="5335458522276292100"><ph name="FILE_COUNT" /> এর <ph name="BEGIN_LINK" />Google ড্রাইভ<ph name="END_LINK" /> এ ব্যাক-আপ নেওয়া হচ্ছে</translation>
 <translation id="5336126339807372270">কোনও সাইটকে ইউএসবি ডিভাইস অ্যাক্সেস করার অনুমতি দেবেন না</translation>
 <translation id="5337771866151525739">কোনো তৃতীয় পক্ষ দ্বারা ইনস্টল করা হয়েছে৷</translation>
@@ -2874,10 +2879,10 @@
 <translation id="5341980496415249280">অনুগ্রহ করে অপেক্ষা করুন, প্যাকিং করা হচ্ছে....</translation>
 <translation id="5342091991439452114">পিন অবশ্যই কমপক্ষে <ph name="MINIMUM" /> সংখ্যার হতে হবে</translation>
 <translation id="5352033265844765294">Time Stamping</translation>
-<translation id="5352285283572729470">এই সেটিংটি পরিচালিত</translation>
+<translation id="5352285283572729470">এই সেটিং পরিচালিত</translation>
 <translation id="5353252989841766347">Chrome থেকে পাসওয়ার্ড রপ্তানি করুন</translation>
 <translation id="5355097969896547230">আবার খুঁজুন</translation>
-<translation id="5355926466126177564">আপনি বহুউপযোগী ক্ষেত্র থেকে সার্চ করলে কোন পৃষ্ঠা দেখানো হবে তা "<ph name="EXTENSION_NAME" />" এক্সটেনশানটি পরিবর্তন করেছে।</translation>
+<translation id="5355926466126177564">আপনি ওমনিবক্স থেকে সার্চ করলে কোন পৃষ্ঠা দেখানো হবে তা "<ph name="EXTENSION_NAME" />" এক্সটেনশনটি পরিবর্তন করেছে।</translation>
 <translation id="5358764674931277">ফ্রেম রেট</translation>
 <translation id="5360150013186312835">টুলবারের মধ্যে দেখুন</translation>
 <translation id="5362741141255528695">ব্যক্তিগত কী ফাইল নির্বাচন করুন৷</translation>
@@ -2971,6 +2976,7 @@
 <translation id="5487521232677179737">ডেটা সাফ করুন</translation>
 <translation id="5488093641312826914">'<ph name="COPIED_ITEM_NAME" />' কপি করা হয়েছে</translation>
 <translation id="5488468185303821006">ছদ্মবেশে মঞ্জুর করুন</translation>
+<translation id="5489121514345187313">আপনার ফোনের সাথে Chromebook আরও ভালোভাবে কাজ করে। <ph name="LINK_BEGIN" />আরও জানুন<ph name="LINK_END" /></translation>
 <translation id="5489435190927933437"><ph name="DOMAIN" />-এর জন্য সেভ করা পাসওয়ার্ড</translation>
 <translation id="5491110079163012109">সিস্টেম ডেটা পাঠান। নিজে থেকে ডায়গনিস্টিক এবং ডিভাইস এবং অ্যাপ ব্যবহারের ডেটা Google-এ পাঠায়। এই সেটিংসটি মালিকের দ্বারা জারি করা হয়। এই ডিভাইসের জন্য মালিক Google-কে ডায়গনস্টিক এবং ব্যবহারের ডেটা পাঠানোর বিষয়টি বেছে নিতে পারেন। আপনি এটি হয়ত সেটিংসে দেখতে পারেন। আপনি যদি অতিরিক্ত ওয়েব ও অ্যাপ অ্যাক্টিভিটি চালু করে থাকেন, তাহলে এই তথ্যটি আপনার অ্যাকাউন্টে সেভ করা হবে, যাতে আপনি আমার অ্যাক্টিভিটিতে সেটি পরিচালনা করতে পারেন। <ph name="BEGIN_LINK1" />আরও জানুন<ph name="END_LINK1" /></translation>
 <translation id="5493792505296048976">স্ক্রিন চালু</translation>
@@ -2994,13 +3000,13 @@
 <translation id="5518219166343146486">ক্লিপবোর্ডে কপি করা টেক্সট এবং ছবি কোনও সাইট দেখতে চাইলে আপনাকে জিজ্ঞেস করা হবে</translation>
 <translation id="5518584115117143805">ইমেল এনক্রিপশান সার্টিফিকেট</translation>
 <translation id="5521078259930077036">আপনি কি এই পৃষ্ঠাটিকে হোম পৃষ্টা হিসেবে আশা করছিলেন?</translation>
-<translation id="5522156646677899028">এই এক্সটেনশানটিতে একটি গুরুতর নিরাপত্তার দুর্বলতা রয়েছে৷</translation>
+<translation id="5522156646677899028">এই এক্সটেনশনটিতে একটি গুরুতর নিরাপত্তার দুর্বলতা রয়েছে৷</translation>
 <translation id="5524517123096967210">ফাইল পড়া যায়নি৷</translation>
 <translation id="5525677322972469346">একটি নতুনত ত্ত্বাবধানে থাকা ব্যবহারকারী তৈরি করুন</translation>
 <translation id="5525695896049981561">হ্যাঁ, আমি এটা দেখেছি</translation>
 <translation id="5526701598901867718">সমস্ত (অসুরক্ষিত)</translation>
 <translation id="5526745900034778153">সিঙ্ক আবার চালু করতে আবার সাইন-ইন করুন</translation>
-<translation id="5527463195266282916">এক্সটেনশান ডাউনগ্রেড করার প্রয়াস করা হয়েছে৷</translation>
+<translation id="5527463195266282916">এক্সটেনশনটির আগের ভার্সন ফিরিয়ে আনার চেষ্টা চলছে৷</translation>
 <translation id="5527474464531963247">আপনি হয়ত অন্য নেটওয়ার্ক নির্বাচন করতে পারেন৷</translation>
 <translation id="5528368756083817449">বুকমার্ক পরিচালক</translation>
 <translation id="5530160549030561969">প্রতিটি বৈশিষ্ট্যের জন্য সেটিংস পর্যালোচনা করুন এবং আপনি যদি চান তাহলে সেগুলি পরিবর্তন করতে পারেন</translation>
@@ -3020,7 +3026,7 @@
 <translation id="5546865291508181392">খুঁজুন</translation>
 <translation id="5551573675707792127">কীবোর্ড এবং টেক্সট ইনপুট</translation>
 <translation id="5553089923092577885">শংসাপত্র নীতি ম্যাপিং</translation>
-<translation id="5554489410841842733">এক্সটেনশানটি বর্তমান পৃষ্ঠাতে কাজ করলে এই আইনকটিকে দেখা যাবে৷</translation>
+<translation id="5554489410841842733">এক্সটেনশনটি বর্তমান পৃষ্ঠাতে কাজ করলে এই আইনকটিকে দেখা যাবে৷</translation>
 <translation id="5554720593229208774">ইমেল সার্টিফিকেশন কর্তৃপক্ষ</translation>
 <translation id="5556206011531515970">আপনার ডিফল্ট ব্রাউজার চয়ন করতে পরবর্তীতে ক্লিক করুন৷</translation>
 <translation id="5556459405103347317">আবার লোড করুন</translation>
@@ -3035,7 +3041,7 @@
 <translation id="5568069709869097550">প্রবেশ করতে পারছেন না</translation>
 <translation id="5568144734023334204">Android সঞ্চয়স্থান</translation>
 <translation id="5569544776448152862"><ph name="BEGIN_BOLD" /><ph name="DOMAIN_NAME" /><ph name="END_BOLD" /> এ নথিভুক্ত করা হচ্ছে...</translation>
-<translation id="5575473780076478375">ছদ্মবেশী এক্সটেনশান: <ph name="EXTENSION_NAME" /></translation>
+<translation id="5575473780076478375">ছদ্মবেশী এক্সটেনশন: <ph name="EXTENSION_NAME" /></translation>
 <translation id="557722062034137776">আপনার ডিভাইসকে আবার রিসেট করলে তা আপনার Google অ্যাকাউন্টগুলি বা এই অ্যাকাউন্টগুলিতে সিঙ্ক হওয়া যেকোনো ডেটাতে প্রভাব ফেলবে না৷ যদিও, স্থানীয়ভাবে সংরক্ষিত সমস্ত ফাইল মুছে ফেলা হবে৷</translation>
 <translation id="5578059481725149024">স্বয়ংক্রিয় সাইন ইন</translation>
 <translation id="5581700288664681403">লোড হচ্ছে<ph name="CLOUD_PRINT_NAME" /></translation>
@@ -3092,7 +3098,7 @@
 <translation id="5649053991847567735">স্বয়ংক্রিয় ডাউনলোডগুলি</translation>
 <translation id="5649768706273821470">শুনুন</translation>
 <translation id="5653140146600257126">"$1" নামের ফোল্ডার ইতিমধ্যেই বিদ্যমান৷ দয়া করে একটি ভিন্ন নাম চয়ন করুন৷</translation>
-<translation id="5657667036353380798">বাহ্যিক এক্সটেনশানটির জন্য chrome এর <ph name="MINIMUM_CHROME_VERSION" /> সংস্করণ বা তার পরবর্তী সংস্করণ ইনস্টল থাকা প্রয়োজন৷</translation>
+<translation id="5657667036353380798">এক্সটারনাল এক্সটেনশনটির জন্য Chrome-এর <ph name="MINIMUM_CHROME_VERSION" /> ভার্সন বা তার পরবর্তী ভার্সন ইনস্টল থাকা প্রয়োজন৷</translation>
 <translation id="5658415415603568799">অতিরিক্ত নিরাপত্তার জন্য, ২০ ঘণ্টা পরে Smart Lock আপনাকে পাসওয়ার্ড দিতে বলবে।</translation>
 <translation id="5659593005791499971">ইমেল আইডি</translation>
 <translation id="5659833766619490117">এই পৃষ্ঠাটির অনুবাদ করা যায়নি</translation>
@@ -3120,14 +3126,14 @@
 <translation id="5694501201003948907">$1 এর আইটেমগুলি জিপ করা হচ্ছে...</translation>
 <translation id="5696143504434933566">"<ph name="EXTENSION_NAME" />" অপব্যবহারের বিষয়ে অভিযোগ করুন</translation>
 <translation id="5696679855467848181">বর্তমানে ব্যবহার করা পিডিএফ ফাইল: <ph name="PPD_NAME" /></translation>
-<translation id="5699533844376998780">এক্সটেনশন "<ph name="EXTENSION_NAME" />" জোড়া হয়েছে৷</translation>
+<translation id="5699533844376998780">এক্সটেনশন "<ph name="EXTENSION_NAME" />" যোগ করা হয়েছে৷</translation>
 <translation id="5700087501958648444">অডিওর তথ্য</translation>
 <translation id="570043786759263127">Google Play অ্যাপ এবং পরিষেবা</translation>
 <translation id="5700836101007545240">আপনার প্রশাসকের দ্বারা ‘সংযোগ জুড়ুন’ অক্ষম করা হয়েছে</translation>
 <translation id="5701381305118179107">কেন্দ্র</translation>
 <translation id="5702898740348134351">&amp;সার্চ ইঞ্জিন সম্পাদনা...</translation>
 <translation id="5704875434923668958">এতে সিঙ্ক হচ্ছে</translation>
-<translation id="5707185214361380026">এর থেকে এক্সটেনশান লোড করতে ব্যর্থ হয়েছে:</translation>
+<translation id="5707185214361380026">এর থেকে এক্সটেনশন লোড করা যায়নি:</translation>
 <translation id="5707604204219538797">পরবর্তী শব্দ </translation>
 <translation id="5708171344853220004">Microsoft Principal Name</translation>
 <translation id="5711983031544731014">আনলক করতে অক্ষম৷ আপনার পাসওয়ার্ড লিখুন৷</translation>
@@ -3143,6 +3149,7 @@
 <translation id="5731409020711461763">১টি নতুন ফটো</translation>
 <translation id="5734362860645681824">যোগাযোগগুলি</translation>
 <translation id="5736796278325406685">অনুগ্রহ করে একটি সঠিক ইউজারনেম লিখুন</translation>
+<translation id="5739235828260127894">যাচাইকরণের জন্য অপেক্ষা করা হচ্ছে। <ph name="LINK_BEGIN" />আরও জানুন<ph name="LINK_END" /></translation>
 <translation id="5739458112391494395">খুব বড়</translation>
 <translation id="5740331643563157105"><ph name="LANGUAGE_1" />, <ph name="LANGUAGE_2" />, এবং আরও <ph name="NUM_ADDITIONAL_LANGUAGES" />টি</translation>
 <translation id="574209121243317957">পিচ</translation>
@@ -3246,6 +3253,7 @@
 <translation id="5870086504539785141">অ্যাক্সেসযোগ্যতার মেনু বন্ধ করুন</translation>
 <translation id="5870155679953074650">হার্ড ফল্ট</translation>
 <translation id="5877064549588274448">চ্যানেল পরিবর্তিত হয়েছে৷ পরিবর্তনগুলি প্রয়োগ করার জন্য আপনার ডিভাইস আবার শুরু করুন৷</translation>
+<translation id="5877584842898320529">বেছে নেওয়া প্রিন্টারটি উপলভ্য নয় অথবা সেটি সঠিকভাবে ইনস্টল করা নেই। <ph name="BR" /> আপনার প্রিন্টারটি পরীক্ষা করুন অথবা অন্য একটি প্রিন্টার বেছে নিন।</translation>
 <translation id="5880247576487732437">টোকেন উপলব্ধ</translation>
 <translation id="5882919346125742463">পরিচিত নেটওয়ার্কগুলি</translation>
 <translation id="5884474295213649357">এই ট্যাব একটি USB ডিভাইসের সাথে সংযুক্ত করা আছে।</translation>
@@ -3312,9 +3320,12 @@
 <translation id="5979469435153841984">পৃষ্ঠা বুকমার্ক করতে অ্যাড্রেস বারের উপরে তারা চিহ্নে ক্লিক করুন</translation>
 <translation id="5982621672636444458">বাছাই বিকল্পগুলি</translation>
 <translation id="5984222099446776634">সাম্প্রতিককালে দেখা</translation>
+<translation id="5985458664595100876">ইউআরএল ফর্ম্যাটটি সঠিক নয়। সমর্থিত ফর্ম্য়াটগুলি হল \\server\share এবং smb://server/share।</translation>
+<translation id="5990142338020175451">ভাল পৃষ্ঠার সাজেশনের মতো আরও ব্যক্তিগত Google পরিষেবা</translation>
 <translation id="5990386583461751448">অনূদিত</translation>
 <translation id="5991049340509704927">বিবর্ধিত করুন</translation>
 <translation id="599131315899248751">{NUM_APPLICATIONS,plural, =1{আপনি যাতে ওয়েব ব্রাউজ করা চালিয়ে যেতে পারেন তার জন্য অ্যাডমিনিস্ট্রেটরকে এই অ্যাপ্লিকেশনটি সরিয়ে দিতে বলুন।}one{আপনি যাতে ওয়েব ব্রাউজ করা চালিয়ে যেতে পারেন তার জন্য অ্যাডমিনিস্ট্রেটরকে এই অ্যাপ্লিকেশনগুলি সরিয়ে দিতে বলুন।}other{আপনি যাতে ওয়েব ব্রাউজ করা চালিয়ে যেতে পারেন তার জন্য অ্যাডমিনিস্ট্রেটরকে এই অ্যাপ্লিকেশনগুলি সরিয়ে দিতে বলুন।}}</translation>
+<translation id="5997337190805127100">সাইট অ্যাক্সেস সম্পর্কে আরও জানুন</translation>
 <translation id="6002458620803359783">পছন্দসই ভয়েস</translation>
 <translation id="6005695835120147974">মিডিয়া রাউটার</translation>
 <translation id="6006484371116297560">ক্লাসিক</translation>
@@ -3338,6 +3349,7 @@
 <translation id="6026819612896463875"><ph name="WINDOW_TITLE" /> - USB ডিভাইস সংযুক্ত হয়েছে</translation>
 <translation id="6028117231645531007">আঙ্গুলের ছাপ যোগ করুন</translation>
 <translation id="6029027682598229313">Linux ইনস্টল সম্পূর্ণ হয়েছে।</translation>
+<translation id="6029292188939175871">[<ph name="FINGERPRINT_NAME" />] মুছে ফেলুন, বোতাম</translation>
 <translation id="6029587122245504742">সবচেয়ে ধীরে</translation>
 <translation id="6032912588568283682">ফাইল সিস্টেম</translation>
 <translation id="6034662038931255275">OS আপডেট সফল হয়েছে</translation>
@@ -3406,7 +3418,7 @@
 <translation id="6122081475643980456">আপনার ইন্টারনেট সংযোগ নিয়ন্ত্রিত হচ্ছে</translation>
 <translation id="6122095009389448667">ক্লিপবোর্ড দেখা থেকে সাইটটিকে ব্লক করে রাখুন</translation>
 <translation id="6122875415561139701">"<ph name="DEVICE_NAME" />" এ লেখার ক্রিয়াকলাপ অনুমোদিত নয়।</translation>
-<translation id="6124650939968185064">নিম্নলিখিত এক্সটেনশানগুলি এই এক্সটেনশানটির উপর নির্ভর করে:</translation>
+<translation id="6124650939968185064">নিম্নলিখিত এক্সটেনশনগুলি এই এক্সটেনশনটির উপর নির্ভর করে:</translation>
 <translation id="6125479973208104919">দুর্ভাগ্যবশত, আপনাকে এই <ph name="DEVICE_TYPE" /> এ আবার অ্যাকাউন্ট তৈরি করতে হবে।</translation>
 <translation id="612596694132302162">সাইটটি আনমিউট করুন</translation>
 <translation id="6129691635767514872">বেছে নেওয়া ডেটা Chrome ও সিঙ্ক করা ডিভাইস থেকে সরিয়ে ফেলা হয়েছে। আপনার Google অ্যাকাউন্টের অন্যান্য ধরনের ব্রাউজিং ইতিহাস, যেমন বিভিন্ন Google পরিষেবায় করা সার্চ এবং অ্যাক্টিভিটির মতো তথ্য <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> এ সেভ করা থাকতে পারে।</translation>
@@ -3452,10 +3464,9 @@
 <translation id="6185132558746749656">ডিভাইসের লোকেশন</translation>
 <translation id="6185617499004995178">CUPS IPP যাচাইকারী</translation>
 <translation id="6185696379715117369">পৃষ্ঠায় উপরের দিকে যান</translation>
-<translation id="6189273858858366896">নেটওয়ার্ক ফাইল শেয়ার সেট-আপ বা পরিচালনা করুন।</translation>
 <translation id="6189412234224385711"><ph name="EXTENSION_NAME" /> এর মাধ্যমে খুলুন</translation>
 <translation id="6196640612572343990">তৃতীয় পক্ষের কুকিজ অবরুদ্ধ করুন</translation>
-<translation id="6196854373336333322">"<ph name="EXTENSION_NAME" />" এক্সটেনশান আপনার প্রক্সী সেটিংস নিয়ন্ত্রণ করছে, যার মানে হল আপনি অনলাইনে যাই করুন না কেন এটি তার পরিবর্তন করতে, সেখানে জোর করে প্রবেশ বা সেটি লুকিয়ে দেখতে পারবে। আপনি যদি বুঝতে না পারেন কেন এই পরিবর্তনটি হয়েছে তাহলে আপনি সম্ভবত এটি চাইছেন না।</translation>
+<translation id="6196854373336333322">"<ph name="EXTENSION_NAME" />" এক্সটেনশন আপনার প্রক্সী সেটিংস নিয়ন্ত্রণ করছে, যার মানে হল আপনি অনলাইনে যাই করুন না কেন এটি তার পরিবর্তন করতে, সেখানে জোর করে প্রবেশ বা সেটি লুকিয়ে দেখতে পারবে। আপনি যদি বুঝতে না পারেন কেন এই পরিবর্তনটি হয়েছে তাহলে আপনি সম্ভবত এটি চাইছেন না।</translation>
 <translation id="6198102561359457428">প্রস্থান করুন করে আবার প্রবেশ করুন...</translation>
 <translation id="6198252989419008588">পিন পরিবর্তন করুন</translation>
 <translation id="6199801702437275229">স্থান তথ্যের জন্য অপেক্ষারত...</translation>
@@ -3471,7 +3482,7 @@
 <translation id="6212168817037875041">ডিসপ্লে বন্ধ করুন</translation>
 <translation id="6212752530110374741">ইমেল লিঙ্ক</translation>
 <translation id="6218058416316985984"><ph name="DEVICE_TYPE" /> অফলাইন আছে৷ ইন্টারনেটে কানেক্ট করে আবার চেষ্টা করুন৷</translation>
-<translation id="6220413761270491930">এক্সটেনশান লোড হওয়ার সময় ত্রুটি</translation>
+<translation id="6220413761270491930">এক্সটেনশন লোড হওয়ার সময় সমস্যা</translation>
 <translation id="6223447490656896591">কাস্টম ছবি:</translation>
 <translation id="62243461820985415">Chrome এই ওয়ালপেপারে ডাউনলোড করতে পারছে না৷</translation>
 <translation id="6224481128663248237">বিন্যাসন সফলভাবে সম্পূর্ণ</translation>
@@ -3690,7 +3701,7 @@
 <translation id="6544215763872433504">Google পরিচালিত ওয়েব ব্রাউজার, আপনারই জন্য</translation>
 <translation id="6545665334409411530">পুনরাবৃত্তির হার</translation>
 <translation id="6545834809683560467">সার্চগুলি এবং ঠিকানা দণ্ডে টাইপ করা URLগুলি অথবা অ্যাপ্লিকেশান লঞ্চার সার্চ বাক্স সম্পূর্ণ করার বিষয়ে সহায়তা করার জন্য একটি পূর্বানুমান পরিষেবা ব্যবহার করুন</translation>
-<translation id="6547316139431024316">এই এক্সটেনশানটি জন্য আবার সতর্ক করবেন না</translation>
+<translation id="6547316139431024316">এই এক্সটেনশনটি জন্য আবার সতর্ক করবেন না</translation>
 <translation id="6547354035488017500">কমপক্ষে ৫১২ MB জায়গা ফাঁকা করুন, নাহলে আপনার ডিভাইস সাড়া দিবে না। জায়গা খালি করার জন্য, ডিভাইসের সঞ্চয়স্থান থেকে ফাইল মুছুন।</translation>
 <translation id="6549689063733911810">সাম্প্রতিক</translation>
 <translation id="6550675742724504774">বিকল্পসমূহ</translation>
@@ -3757,6 +3768,7 @@
 <translation id="6643016212128521049">সাফ করুন</translation>
 <translation id="6644512095122093795">পাসওয়ার্ড সংরক্ষণের প্রস্তাব</translation>
 <translation id="6644846457769259194">আপনার ডিভাইস আপডেট করা হচ্ছে (<ph name="PROGRESS_PERCENT" />)</translation>
+<translation id="6645437135153136856">বেছে নেওয়া Google ক্লাউড প্রিন্ট ডিভাইসটি আর সমর্থিত নয়। <ph name="BR" /> আপনার কম্পিউটারের সিস্টেম সেটিংসে গিয়ে প্রিন্টারটি সেট-আপ করুন।</translation>
 <translation id="6647228709620733774">Netscape শংসাপত্র কর্তৃপক্ষ নাকচের URL</translation>
 <translation id="6647838571840953560">বর্তমানে <ph name="CHANNEL_NAME" /> এ</translation>
 <translation id="6648051959475508072">নিরাপত্তা কী চালু করা হয়েছে...</translation>
@@ -3770,7 +3782,7 @@
 <translation id="6655190889273724601">ডেভেলপার মোড</translation>
 <translation id="6655458902729017087">অ্যাকাউন্টগুলি লুকান</translation>
 <translation id="6657585470893396449">পাসওয়ার্ড</translation>
-<translation id="6659213950629089752">"<ph name="NAME" />" এক্সটেনশান দ্বারা এই পৃষ্ঠাটি জুম করা হয়েছে</translation>
+<translation id="6659213950629089752">"<ph name="NAME" />" এক্সটেনশন দিয়ে এই পৃষ্ঠাটি জুম করা হয়েছে</translation>
 <translation id="6659594942844771486">ট্যাব</translation>
 <translation id="6664237456442406323">দুর্ভাগ্যবশত, আপনার কম্পিউটার একটি ত্রুটিপূর্ণ হার্ডওয়্যার ID এর মাধ্যমে কনফিগার করা হয়েছে৷ এটি Chrome OS কে সাম্প্রতিক সুরক্ষা সমাধানে আপডেট করা থেকে বিরত করেছে এবং আপনার কম্পিউটার <ph name="BEGIN_BOLD" />অনিষ্টকারী আক্রমণগুলির ফলে অরক্ষিত হতে পারে<ph name="END_BOLD" />৷</translation>
 <translation id="6664774537677393800">আপনার প্রোফাইল খোলার সময় কোনো সমস্যা হয়েছে। দয়া সাইন আউট করে আবার সাইন ইন করুন।</translation>
@@ -3778,7 +3790,6 @@
 <translation id="667517062706956822">আপনি কি চান যে Google এই পৃষ্ঠাটি <ph name="SOURCE_LANGUAGE" /> থেকে <ph name="TARGET_LANGUAGE" /> এ অনুবাদ করুক?</translation>
 <translation id="6675665718701918026">পয়েন্টিং ডিভাইস সংযুক্ত হয়েছে</translation>
 <translation id="6678717876183468697">কুয়েরি URL</translation>
-<translation id="6680028776254050810">ব্যবহারকারী স্যুইচ করুন</translation>
 <translation id="6680442031740878064">খালি জায়গা: <ph name="AVAILABLE_SPACE" /></translation>
 <translation id="6680650203439190394">দ্রুততা</translation>
 <translation id="6681668084120808868">ফটো তুলুন</translation>
@@ -3787,7 +3798,6 @@
 <translation id="668599234725812620">Google Play খুলুন</translation>
 <translation id="6686490380836145850">ডানদিকের ট্যাবগুলি বন্ধ করুন</translation>
 <translation id="6686817083349815241">আপনার পাসওয়ার্ড সেভ করুন</translation>
-<translation id="6690565918367819723"><ph name="PROFILE_NAME" /> ব্যক্তি পরিবর্তন করুন</translation>
 <translation id="6690659332373509948">ফাইল বিশ্লেষণ করতে অক্ষম: <ph name="FILE_NAME" /></translation>
 <translation id="6690751852586194791">এই ডিভাইসটিতে যোগ করতে একটি তত্ত্বাবধানে থাকা ব্যবহারকারী নির্বাচন করুন৷</translation>
 <translation id="6691331417640343772">Google ড্যাশবোর্ডে সিঙ্ক হওয়া ডেটা পরিচালনা করুন</translation>
@@ -3846,7 +3856,7 @@
 <translation id="6782111308708962316">কুকি ডেটা সংরক্ষণ করা এবং পড়া থেকে তৃতীয় পক্ষের ওয়েবসাইটগুলিকে আটকান</translation>
 <translation id="6786747875388722282">এক্সটেনশানসমূহ</translation>
 <translation id="6787839852456839824">কীবোর্ড শর্টকাটগুলি</translation>
-<translation id="6788210894632713004">এক্সটেনশন আনপ্যাক করা হয়েছে</translation>
+<translation id="6788210894632713004">এক্সটেনশন আনপ্যাক করুন</translation>
 <translation id="6790428901817661496">চালু করুন</translation>
 <translation id="6790497603648687708"><ph name="EXTENSION_NAME" /> কে দূরবর্তী লোকেশন থেকে যোগ করা হয়েছিল</translation>
 <translation id="6790820461102226165">ব্যক্তিকে যোগ করুন...</translation>
@@ -4011,6 +4021,7 @@
 <translation id="7040230719604914234">অপারেটর</translation>
 <translation id="7042418530779813870">প্রতি&amp;লেপন এবং খুঁজুন</translation>
 <translation id="7043108582968290193">হয়ে গেছে! কোনও অসঙ্গত অ্যাপ্লিকেশন খুঁজে পাওয়া যায়নি।</translation>
+<translation id="7044124535091449260">সাইট অ্যাক্সেস সম্পর্কে আরও জানুন</translation>
 <translation id="7049293980323620022">ফাইল রাখবেন?</translation>
 <translation id="7051943809462976355">মাউসের জন্য সার্চ করা হচ্ছে...</translation>
 <translation id="7052237160939977163">কার্য-সম্পাদনা ট্রেস ডেটা পাঠান</translation>
@@ -4123,6 +4134,7 @@
 <translation id="7201118060536064622">'<ph name="DELETED_ITEM_NAME" />' মুছে ফেলা হয়েছে</translation>
 <translation id="7206693748120342859"><ph name="PLUGIN_NAME" /> ডাউনলোড হচ্ছে ...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{পৃষ্ঠাটি ছেড়ে যান}one{পৃষ্ঠাগুলি ছেড়ে যান}other{পৃষ্ঠাগুলি ছেড়ে যান}}</translation>
+<translation id="7210499381659830293">এক্সটেনশন প্রিন্টার</translation>
 <translation id="721467499098558573">অন্তত ৫ সেকেন্ড আপনার 'নিরাপত্তা কী' বোতামটি প্রেস করে ধরে রাখুন</translation>
 <translation id="7216409898977639127">মোবাইল পরিষেবা প্রদানকারী</translation>
 <translation id="7216595297012131718">আপনার পছন্দের উপর ভিত্তি করে ভাষাগুলি সাজান</translation>
@@ -4200,7 +4212,8 @@
 <translation id="7317680720589234980">স্ক্রিন লক এবং সাইন-ইনের বিকল্প</translation>
 <translation id="7321545336522791733">সার্ভারে সংযোগ করা যাচ্ছে না</translation>
 <translation id="7324297612904500502">বিটা ফোরাম</translation>
-<translation id="7325437708553334317">উচ্চ বৈপরীত্য এক্সটেনশন</translation>
+<translation id="7325437708553334317">হাই কনট্রাস্ট এক্সটেনশন</translation>
+<translation id="7328162502911382168">(<ph name="COUNT" />)</translation>
 <translation id="7328867076235380839">এই কম্বিনেশন ব্যবহার করা যাবে না</translation>
 <translation id="7329154610228416156">এটি একটি অ-নিরাপদ URL (<ph name="BLOCKED_URL" />) ব্যবহারের জন্য কনফিগার করা থাকায় প্রবেশ করুন ব্যর্থ হয়েছে। দয়া করে আপনার প্রশাসকের সাথে যোগাযোগ করুন।</translation>
 <translation id="7334190995941642545">Smart Lock বর্তমানে অনুপলব্ধ৷ অনুগ্রহ করে পরে আবার চেষ্টা করুন৷</translation>
@@ -4213,7 +4226,7 @@
 <translation id="7341834142292923918">এই সাইটে অ্যাক্সেস চায়</translation>
 <translation id="7345706641791090287">আপনার পাসওয়ার্ড নিশ্চিত করুন</translation>
 <translation id="7346909386216857016">ঠিক আছে, বুঝেছি</translation>
-<translation id="7347751611463936647">এই এক্সটেনশনটি ব্যবহার করতে, "<ph name="EXTENSION_KEYWORD" />" তারপরে TAB, এরপরে আপনার command বা search টাইপ করুন৷</translation>
+<translation id="7347751611463936647">এই এক্সটেনশনটি ব্যবহার করতে, "<ph name="EXTENSION_KEYWORD" />" তারপরে TAB, এরপরে আপনার কমান্ড বা সার্চ টাইপ করুন৷</translation>
 <translation id="7348093485538360975">অন-স্ক্রীণ কীবোর্ড</translation>
 <translation id="7352651011704765696">কিছু সমস্যা হয়েছে</translation>
 <translation id="735361434055555355">Linux ইনস্টল করা হচ্ছে...</translation>
@@ -4270,7 +4283,7 @@
 <translation id="744341768939279100">একটি নতুন প্রোফাইল তৈরি করুন</translation>
 <translation id="7444726222535375658">Hangouts Meet চালিয়ে যেতে</translation>
 <translation id="7444983668544353857">অক্ষম <ph name="NETWORKDEVICE" /></translation>
-<translation id="7453008956351770337">এই প্রিন্টারটি নির্বাচন করে, আপনি নিম্নল্লিখিত এক্সটেনশানটিকে আপনার প্রিন্টারে অ্যাক্সেস করার অনুমতি দিচ্ছেন:</translation>
+<translation id="7453008956351770337">এই প্রিন্টারটি নির্বাচন করে, আপনি নিম্নল্লিখিত এক্সটেনশনটিকে আপনার প্রিন্টারে অ্যাক্সেস করার অনুমতি দিচ্ছেন:</translation>
 <translation id="7453467225369441013">বেশিরভাগ সাইট থেকে আপনাকে সাইন-আউট করিয়ে দেয়। তবে আপনার Google অ্যাকাউন্ট থেকে আপনাকে সাইন-আউট করানো হবে না।</translation>
 <translation id="7456142309650173560">dev</translation>
 <translation id="7456847797759667638">লোকেশন খুলুন...</translation>
@@ -4280,7 +4293,7 @@
 <translation id="7465778193084373987">Netscape শংসাপত্র রদকরণ  URL</translation>
 <translation id="7469406957790636836">এটি চালু করার জন্য, প্রথমে <ph name="BEGIN_LINK" />ভাষা এবং ইনপুটে <ph name="END_LINK" /> বানান পরীক্ষার বিকল্প চালু করুন</translation>
 <translation id="7469894403370665791">স্বয়ংক্রিয়ভাবে এই নেটওয়ার্কে সংযোগ করুন</translation>
-<translation id="747114903913869239">ত্রুটি: এক্সটেনশানের অর্থোদ্ধার করতে ব্যর্থ</translation>
+<translation id="747114903913869239">সমস্যা: এক্সটেনশন ডিকোড করা যায়নি</translation>
 <translation id="7473891865547856676">না থাক</translation>
 <translation id="747459581954555080">সকল পুনরুদ্ধার করুন</translation>
 <translation id="7475671414023905704">Netscape পাসওয়ার্ড URL হারিয়েছে</translation>
@@ -4301,7 +4314,7 @@
 <translation id="749028671485790643">ব্যক্তি <ph name="VALUE" /></translation>
 <translation id="7490813197707563893">MAC ঠিকানা</translation>
 <translation id="7491962110804786152">ট্যাব</translation>
-<translation id="7493386493263658176"><ph name="EXTENSION_NAME" /> এক্সটেনশান হয়ত ব্যক্তিগত ডেটা যেমন পাসওয়ার্ড ও ক্রেডিট কার্ড নম্বরগুলি সহ আপনি যা টাইপ করেন সেসব পাঠ্য সংগ্রহ করতে পারে। আপনি কি এই এক্সটেনশান ব্যবহার করতে চান?</translation>
+<translation id="7493386493263658176"><ph name="EXTENSION_NAME" /> এক্সটেনশন হয়ত ব্যক্তিগত ডেটা যেমন পাসওয়ার্ড ও ক্রেডিট কার্ড নম্বরগুলি সহ আপনি যা টাইপ করেন সেসব টেক্সট সংগ্রহ করতে পারে। আপনি কি এই এক্সটেনশন ব্যবহার করতে চান?</translation>
 <translation id="7494065396242762445">Windows সেটিংস খুলুন</translation>
 <translation id="7494694779888133066"><ph name="WIDTH" /> x <ph name="HEIGHT" /></translation>
 <translation id="7495778526395737099">আপনার পুরানো পাসওয়ার্ড ভুলে গেছেন?</translation>
@@ -4589,7 +4602,7 @@
 <translation id="7903345046358933331">পৃষ্ঠাটি প্রতিক্রিয়াবিহীন হয়েছে। আপনি এটি প্রতিক্রিয়াযুক্ত হওয়ার জন্য অপেক্ষা করতে পারেন বা এটি বন্ধ করতে পারেন।</translation>
 <translation id="7903742244674067440">এই শংসাপত্রের কর্তৃপক্ষদের শনাক্ত করে এমন ফাইলের শংসাপত্রগুলি আপনার কাছে রয়েছে</translation>
 <translation id="7903925330883316394">উপযোগিতা: <ph name="UTILITY_TYPE" /></translation>
-<translation id="7904094684485781019">এই অ্যাকাউন্টের প্রশাসক একাধিক প্রবেশ করুন অননুমোদিত করেছেন৷</translation>
+<translation id="7904094684485781019">এই অ্যাকাউন্টের অ্যাডমিনিস্ট্রেটর একাধিক সাইন-ইন অননুমোদিত করেছেন৷</translation>
 <translation id="7904402721046740204">প্রমাণীকরণ করা হচ্ছে</translation>
 <translation id="7908378463497120834">দুঃখিত, ডিভাইসটির কমপক্ষে একটি ভাগ আটকানো যায়নি৷</translation>
 <translation id="7909969815743704077">ছদ্মবেশী ভাবে ডাউনলোড হয়েছে</translation>
@@ -4654,10 +4667,10 @@
 <translation id="7997826902155442747">প্রক্রিয়ার অগ্রাধিকার</translation>
 <translation id="7999229196265990314">নিম্নোক্ত ফাইলগুলি তৈরি হয়েছে:
 
-এক্সটেনশান: <ph name="EXTENSION_FILE" />
+এক্সটেনশন: <ph name="EXTENSION_FILE" />
 কী ফাইল: <ph name="KEY_FILE" />
 
-নিজের কী ফাইল কোন নিরাপদ স্থানে রাখুন৷ আপনাকে নিজের এক্সটেনশানের নতুন সংস্করণ তৈরি করতে হবে৷</translation>
+নিজের 'কী' ফাইল কোন নিরাপদ স্থানে রাখুন৷ আপনাকে নিজের এক্সটেনশনের নতুন ভার্সন তৈরি করতে হবে৷</translation>
 <translation id="799923393800005025">দেখতে পারবেন</translation>
 <translation id="8000066093800657092">কোনও নেটওয়ার্ক নেই</translation>
 <translation id="8004582292198964060">ব্রাউজার</translation>
@@ -4696,13 +4709,13 @@
 <translation id="8045923671629973368">অ্যাপ্লিকেশান আইডি বা ওয়েবস্টোরের URL লিখুন</translation>
 <translation id="8046259711247445257">উজ্জ্বল করুন</translation>
 <translation id="8049705080247101012">Google <ph name="EXTENSION_NAME" /> কে ক্ষতিকারক হিসাবে ফ্ল্যাগ করেছে এবং ইনস্টলেশন বন্ধ করা হয়েছে</translation>
-<translation id="8049913480579063185">এক্সটেনশান নাম</translation>
+<translation id="8049913480579063185">এক্সটেনশনের নাম</translation>
 <translation id="8050038245906040378">Microsoft Commercial Code Signing</translation>
 <translation id="8053278772142718589">PKCS #12 টি ফাইল</translation>
 <translation id="8053390638574070785">এই পৃষ্ঠাটি পুনঃ লোড করুন</translation>
 <translation id="8054029954190364711">আঙুলের ছাপ দিয়ে আনলক করার বৈশিষ্ট্য</translation>
 <translation id="8054517699425078995">এই ধরনের ফাইলের প্রকার আপনার ডিভাইসের ক্ষতি করতে পারে৷ আপনি কী যে কোনো উপায়ে <ph name="FILE_NAME" />টিকে রাখতে চান?</translation>
-<translation id="8054563304616131773">অনুগ্রহ করে একটি বৈধ ইমেল আইডি লিখুন</translation>
+<translation id="8054563304616131773">অনুগ্রহ করে একটি সঠিক ইমেল আইডি লিখুন</translation>
 <translation id="8054921503121346576">USB কীবোর্ড সংযুক্ত হয়েছে</translation>
 <translation id="8058655154417507695">মেয়াদ শেষের বছর</translation>
 <translation id="8059178146866384858">"$1" নামের ফাইল ইতিমধ্যেই বিদ্যমান৷ দয়া করে কোনো পৃথক নাম চয়ন করুন৷</translation>
@@ -4720,7 +4733,7 @@
 <translation id="8075191520954018715">মেমরি স্থিতি</translation>
 <translation id="8076492880354921740">ট্যাবগুলি</translation>
 <translation id="8076835018653442223">আপনার প্রশাসকের দ্বারা আপনার ডিভাইসে স্থানীয় ফাইলের অ্যাক্সেস বন্ধ করা আছে</translation>
-<translation id="8077684120002777443">ইউজারনেম (উদাঃ user@example.com)</translation>
+<translation id="8077684120002777443">ব্যবহারকারীর নাম (উদাঃ user@example.com)</translation>
 <translation id="8077816382010018681">QU বৈশিষ্ট্য বিজ্ঞপ্তির শিরোনাম এখানে থাকবে</translation>
 <translation id="8079530767338315840">পুনরাবৃত্তি করুন</translation>
 <translation id="8079938625609335826">সব ডিভাইসে আপনার এক্সটেনশন পেতে, সিঙ্ক চালু করুন।</translation>
@@ -4739,7 +4752,7 @@
 <translation id="8113043281354018522">লাইসেন্সের প্রকার বেছে নিন</translation>
 <translation id="8116972784401310538">&amp;বুকমার্ক পরিচালক</translation>
 <translation id="8117620576188476503">স্টেটাস ট্রে থেকে সংযোগ, আপডেট এবং সেটিংস পরিচালনা করুন। কীবোর্ডের সাহায্যে এখানে পেতে Alt + Shift + S বোতামটি টিপুন।</translation>
-<translation id="8118362518458010043">Chrome এটি অক্ষম করেছে। এই এক্সটেনশনটি নিরাপদ নাও হতে পারে।</translation>
+<translation id="8118362518458010043">Chrome এটি বন্ধ করেছে। এই এক্সটেনশনটি নিরাপদ নাও হতে পারে।</translation>
 <translation id="8118860139461251237">আপনার ডাউনলোডগুলি পরিচালনা করুন</translation>
 <translation id="81238879832906896">হলুদ এবং সাদা ফুল</translation>
 <translation id="8124313775439841391">ONC পরিচালিত করা হযেছে</translation>
@@ -4791,6 +4804,7 @@
 <translation id="8199300056570174101">নেটওয়ার্ক (পরিষেবা) এবং ডিভাইসের বৈশিষ্ট্য</translation>
 <translation id="8200772114523450471">পুনঃসূচনা</translation>
 <translation id="8202160505685531999">অাপনার <ph name="DEVICE_TYPE" /> প্রোফাইল আপডেট করার জন্য দয়া করে পুনরায় আপনার পাসওয়ার্ড লিখুন।</translation>
+<translation id="8203732864715032075">আপনাকে বিজ্ঞপ্তি পাঠায় এবং মেসেজের জন্য এই কম্পিউটারকে ডিফল্ট হিসেবে মনে রাখে। <ph name="LINK_BEGIN" />আরও জানুন<ph name="LINK_END" /></translation>
 <translation id="8206354486702514201">এই সেটিংটি আপনার প্রশাসক দ্বারা কার্যকরী করা হয়েছে৷</translation>
 <translation id="8206745257863499010">ব্লুজস</translation>
 <translation id="8209677645716428427">একজন তত্ত্বাবধানে থাকা ব্যবহারকারী আপনার নির্দেশিকার সাহায্যে ওয়েব এক্সপ্লোর করতে পারে৷ Chrome এ একজন তত্ত্বাবধানে থাকা ব্যবহারকারীর পরিচালক হিসাবে, আপনি এসব করতে পারেন:</translation>
@@ -4828,7 +4842,7 @@
 <translation id="8259239505248583312">শুরু করা যাক</translation>
 <translation id="8260126382462817229">আবার সাইন ইন করার চেষ্টা করুন</translation>
 <translation id="8260864402787962391">মাউস</translation>
-<translation id="8261378640211443080">এই এক্সটেনশানটি <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> এ তালিকাভুক্ত নেই এবং হয়ত আপনাকে না জানিয়ে যোগ করা হয়েছে৷</translation>
+<translation id="8261378640211443080">এই এক্সটেনশনটি <ph name="IDS_EXTENSION_WEB_STORE_TITLE" />-এ তালিকাভুক্ত নেই এবং হয়ত আপনাকে না জানিয়ে যোগ করা হয়েছে৷</translation>
 <translation id="8261387128019234107"><ph name="PROFILE_NAME" /> এর জন্য অ্যাকাউন্ট যোগ করুন</translation>
 <translation id="8261506727792406068">মুছুন</translation>
 <translation id="8263744495942430914"><ph name="FULLSCREEN_ORIGIN" />আপনার মাউস কার্সার অক্ষম করেছে৷</translation>
@@ -4875,8 +4889,8 @@
 <translation id="8343956361364550006">সেরা ভিডিও বা অ্যানিমেশানের জন্য উচ্চ ব্যান্ডউইথ ব্যবহার করুন।
 ধীর গতির সংযোগে আপনার কন্টেন্ট নাও দেখতে পারেন।</translation>
 <translation id="8349826889576450703">লঞ্চার</translation>
-<translation id="8351419472474436977">এই এক্সটেনশান আপনার প্রক্সি সেটিংস নিয়ন্ত্রণ করছে, যার মানে হল আপনি অনলাইনে যাই করুন না কেন এটি তার পরিবর্তন, নষ্ট বা লুকিয়ে দেখতে পারবে। আপনি যদি বুঝতে না পারেন কেন এই পরিবর্তনটি হয়েছে তাহলে আপনি সম্ভবত এটি চাইছেন না।</translation>
-<translation id="8352772353338965963">একাধিক প্রবেশ করুন এ একটি অ্যাকাউন্ট যোগ করুন৷ সমস্ত প্রবেশ করুন থাকা অ্যাকাউন্টগুলি কোনো পাসওয়ার্ড ছাড়াই অ্যাক্সেস করা যাবে, তাই এই বৈশিষ্ট্যটি শুধুমাত্র বিশ্বস্ত অ্যাকাউন্টগুলির সাথে ব্যবহার করা উচিৎ৷</translation>
+<translation id="8351419472474436977">এই এক্সটেনশন আপনার প্রক্সি সেটিংস নিয়ন্ত্রণ করছে, যার মানে হল আপনি অনলাইনে যাই করুন না কেন এটি তার পরিবর্তন, নষ্ট বা লুকিয়ে দেখতে পারবে। আপনি যদি বুঝতে না পারেন কেন এই পরিবর্তনটি হয়েছে তাহলে আপনি সম্ভবত এটি চাইছেন না।</translation>
+<translation id="8352772353338965963">একাধিক সাইন-ইনে একটি অ্যাকাউন্ট যোগ করুন৷ সমস্ত সাইন-ইন করা অ্যাকাউন্ট কোনও পাসওয়ার্ড ছাড়াই অ্যাক্সেস করা যাবে, তাই এই বৈশিষ্ট্যটি শুধুমাত্র বিশ্বস্ত অ্যাকাউন্টগুলির সাথে ব্যবহার করা উচিৎ৷</translation>
 <translation id="8353683614194668312">এটি করতে পারে:</translation>
 <translation id="8356197132883132838"><ph name="TITLE" /> - <ph name="COUNT" /></translation>
 <translation id="8358685469073206162">পৃষ্ঠাগুলি পুনরুদ্ধার করবেন?</translation>
@@ -4957,7 +4971,7 @@
 <translation id="8470028084415844044">সব ডিভাইসে আপনার পাসওয়ার্ড পেতে, সিঙ্ক চালু করুন।</translation>
 <translation id="8470513973197838199"><ph name="ORIGIN" /> এর জন্য সেভ করা পাসওয়ার্ডগুলি</translation>
 <translation id="8472623782143987204">hardware-backed</translation>
-<translation id="8475313423285172237">আপনার কম্পিউটারের অন্য একটি প্রোগ্রাম একটি এক্সটেনশন জুড়েছে যা Chrome এর কাজ করার পদ্ধতিকে পাল্টে দিতে পারে৷</translation>
+<translation id="8475313423285172237">আপনার কম্পিউটারের অন্য একটি প্রোগ্রাম এক্সটেনশন যোগ করেছে যা Chrome-এর কাজ করার ধরন পাল্টে দিতে পারে৷</translation>
 <translation id="8475647382427415476">Google ড্রাইভ এই মুহূর্তে "<ph name="FILENAME" />" সিঙ্ক করতে পারেনি। Google ড্রাইভ পরে আবার চেষ্টা করবে।</translation>
 <translation id="8477241577829954800">বাতিল করা</translation>
 <translation id="8477384620836102176">&amp;সাধারণ</translation>
@@ -5057,7 +5071,7 @@
 <translation id="8648252583955599667"><ph name="GET_HELP_LINK" /> অথবা <ph name="RE_SCAN_LINK" /></translation>
 <translation id="8650543407998814195">যদিও পুরনো প্রোফাইলটি আপনি আর অ্যাক্সেস করতে পারবেন না, আপনি সেটি সরিয়ে দিতে পারেন।</translation>
 <translation id="8651585100578802546">এই পৃষ্ঠাটি পুনঃলোড করার জন্য জোর করুন</translation>
-<translation id="8652400352452647993">Pack এক্সটেনশানে ত্রুটি হয়েছে</translation>
+<translation id="8652400352452647993">প্যাক এক্সটেনশনে সমস্যা হয়েছে</translation>
 <translation id="8652487083013326477">পৃষ্ঠা শ্রেণি রেডিও বোতাম</translation>
 <translation id="8653292045957015650">ডক করা ম্যাগনিফায়ার চালু বা বন্ধ করুন</translation>
 <translation id="8654151524613148204">আপনার কম্পিউটারের পক্ষে ফাইলটি পরিচালনা করার জন্য অত্যন্ত বড়৷ দুঃখিত৷</translation>
@@ -5103,7 +5117,6 @@
 <translation id="869884720829132584">অ্যাপ্লিকেশনস মেনু</translation>
 <translation id="869891660844655955">মেয়াদকাল সমাপ্তির তারিখ</translation>
 <translation id="8699566574894671540">এটি চালু করার জন্য, এডিট মেনুতে টাইপ করার সময় প্রথমে "বানান চেক করুন" বিকল্প বেছে নিন</translation>
-<translation id="870073306461175568">নেটওয়ার্ক ফাইল শেয়ার</translation>
 <translation id="8701677791353449257">ডিভাইসের নামটি অবশ্যই রেগুলার এক্সপ্রেশনের সাথে মিলতে হবে <ph name="REGEX" />।</translation>
 <translation id="8704521619148782536">এতে স্বাভাবিকের চেয়ে অনেক বেশি সময় লাগছে৷ আপনি অপেক্ষা করতে পারেন, অথবা বাতিল করে দিয়ে পরে এসে আবার চেষ্টা করুন৷</translation>
 <translation id="8705331520020532516">ক্রমিক সংখ্যা</translation>
@@ -5153,7 +5166,7 @@
 <translation id="8759408218731716181">একাধিক সাইন-ইন সেট আপ করা যাবে না</translation>
 <translation id="8759753423332885148">আরও জানুন৷</translation>
 <translation id="8767621466733104912">সকল ব্যবহারকারীর জন্য স্বয়ংক্রিয়ভাবে Chrome আপডেট করুন</translation>
-<translation id="8770406935328356739">এক্সটেনশান রুট ডিরেক্টরি</translation>
+<translation id="8770406935328356739">এক্সটেনশন রুট ডিরেক্টরি</translation>
 <translation id="8770507190024617908">ব্যক্তিগণকে পরিচালনা করুন</translation>
 <translation id="8774934320277480003">শীর্ষ মার্জিন</translation>
 <translation id="8775144690796719618">অবৈধ URL</translation>
@@ -5288,7 +5301,6 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> - ক্র্যাশ করেছে</translation>
 <translation id="8983677657449185470">নিরাপদ ব্রাউজিং বৈশিষ্ট্যটি আরও উন্নত করে তুলতে সাহায্য করুন</translation>
 <translation id="8984179138335769204">দ্রুত চালু করুন</translation>
-<translation id="8984654317541110628">ফাইল শেয়ার করার ইউআরএল</translation>
 <translation id="8986362086234534611">ভুলে যান</translation>
 <translation id="8986494364107987395">ব্যবহারের পরিসংখ্যান এবং ক্র্যাশ প্রতিবেদনগুলি স্বয়ংক্রিয়ভাবে Google-এ পাঠান</translation>
 <translation id="8987927404178983737">মাস</translation>
@@ -5372,11 +5384,11 @@
 <translation id="9100610230175265781">পাসফ্রেজের প্রয়োজন</translation>
 <translation id="9100765901046053179">উন্নত সেটিংস</translation>
 <translation id="9101691533782776290">অ্যাপ্লিকেশান লঞ্চ করুন</translation>
-<translation id="9102610709270966160">এক্সটেনশান সক্ষম করুন</translation>
+<translation id="9102610709270966160">এক্সটেনশন চালু করুন</translation>
 <translation id="9103868373786083162">ইতিহাস দেখার জন্য ফিরে গিয়ে প্রসঙ্গ মেনুতে যেতে টিপুন</translation>
 <translation id="9105212490906037469">F2</translation>
 <translation id="9109122242323516435">জায়গা খালি করার জন্য, ডিভাইসের সঞ্চয়স্থান থেকে ফাইল মুছুন।</translation>
-<translation id="9110990317705400362">আমরা ক্রমাগত আপনার ব্রাউজ করা নিরাপদ করতে উপায় খুঁজছি৷ পূর্বে, যে কোনও ওয়েবসাইট আপনার ব্রাউজারে একটি এক্সটেনশন যোগ করার অনুরোধ জানাতে পারত৷ Google Chrome-এর সাম্প্রতিক ভার্সনে, আপনাকে অবশ্যই Chrome-কে স্পষ্টভাবে বলতে হবে যে আপনি এক্সটেনশনগুলির পৃষ্ঠার মাধ্যমে এক্সটেনশনগুলি যোগ করে সেগুলিকে ইনস্টল করতে চান৷ <ph name="BEGIN_LINK" />আরও জানুন<ph name="END_LINK" /></translation>
+<translation id="9110990317705400362">আমরা ক্রমাগত আপনার ব্রাউজ করা নিরাপদ করতে উপায় খুঁজছি৷ পূর্বে, যে কোনও ওয়েবসাইট আপনার ব্রাউজারে একটি এক্সটেনশন যোগ করার অনুরোধ করতে পারত৷ Google Chrome-এর লেটেস্ট ভার্সনে, আপনাকে অবশ্যই Chrome-কে স্পষ্টভাবে বলতে হবে যে আপনি এক্সটেনশন পৃষ্ঠার মাধ্যমে এক্সটেনশনগুলি যোগ করে সেগুলিকে ইনস্টল করতে চান৷ <ph name="BEGIN_LINK" />আরও জানুন<ph name="END_LINK" /></translation>
 <translation id="9111102763498581341">আনলক</translation>
 <translation id="9111395131601239814"><ph name="NETWORKDEVICE" />: <ph name="STATUS" /></translation>
 <translation id="9112748030372401671">আপনার ওয়ালপেপার পরিবর্তন করুন</translation>
@@ -5456,7 +5468,7 @@
 <translation id="934503638756687833">কোনও আইটেম এখানে উল্লেখ করা না থাকলেও সেটি প্রয়োজন অনুযায়ী সরিয়ে দেওয়া হবে। &lt;a href="<ph name="URL" />"&gt;অবাঞ্ছিত সফ্টওয়্যার থেকে সুরক্ষার&lt;/a&gt; বিষয়ে আরও জানতে Chrome এর গোপনীয়তা বিষয়ক শ্বেতপত্র পড়ুন।</translation>
 <translation id="935490618240037774">আপনার বুকমার্ক, ইতিহাস এবং অন্যান্য সেটিংস আপনার Google অ্যাকাউন্টে সিঙ্ক হবে যাতে আপনি আপনার সমস্ত ডিভাইসে সেগুলি ব্যবহার করতে পারেন।</translation>
 <translation id="936801553271523408">সিস্টেম ডায়াগনোস্টিক ডেটা</translation>
-<translation id="93766956588638423">এক্সটেনশান মেরামত করুন</translation>
+<translation id="93766956588638423">এক্সটেনশন মেরামত করুন</translation>
 <translation id="938339467127511841">Linux (বিটা) স্টোরেজ</translation>
 <translation id="938470336146445890">অনুগ্রহ করে একটি ব্যবহারকারী শংসাপত্র ইনস্টল করুন৷</translation>
 <translation id="938582441709398163">কীবোর্ড ওভারলে</translation>
diff --git a/chrome/app/resources/generated_resources_ca.xtb b/chrome/app/resources/generated_resources_ca.xtb
index f79b4f05..2f3424f 100644
--- a/chrome/app/resources/generated_resources_ca.xtb
+++ b/chrome/app/resources/generated_resources_ca.xtb
@@ -275,6 +275,7 @@
 <translation id="1395730723686586365">S'ha iniciat l'actualitzador.</translation>
 <translation id="1396139853388185343">S'ha produït un error en configurar la impressora</translation>
 <translation id="1396963298126346194">El nom d’usuari i la contrasenya que has introduït no coincideixen</translation>
+<translation id="1397500194120344683">No hi ha cap dispositiu apte. <ph name="LINK_BEGIN" />Més informació<ph name="LINK_END" /></translation>
 <translation id="1397854323885047133">Sincronització i personalització</translation>
 <translation id="1398853756734560583">Maximitza</translation>
 <translation id="1399511500114202393">Sense certificat d'usuari</translation>
@@ -375,7 +376,6 @@
 <translation id="1531004739673299060">Finestra de l'aplicació</translation>
 <translation id="15373452373711364">Cursor del ratolí gran</translation>
 <translation id="1538729222189715449">S'estan obrint els fitxers de Linux...</translation>
-<translation id="153933193410874873">No hem pogut verificar la teva identitat en aquest dispositiu</translation>
 <translation id="1540605929960647700">Activa el mode de demostració</translation>
 <translation id="1543284117603151572">Importades d'Edge</translation>
 <translation id="1545177026077493356">Mode quiosc automàtic</translation>
@@ -529,6 +529,7 @@
 <translation id="175772926354468439">Activa el tema</translation>
 <translation id="1758018619400202187">EAP-TLS</translation>
 <translation id="17584710573359123">Mostra a Chrome Web Store</translation>
+<translation id="176193854664720708">El sensor d'empremtes digitals és al botó d'engegada. Toca'l lleugerament amb qualsevol dit.</translation>
 <translation id="1763046204212875858">Creació de dreceres a aplicacions</translation>
 <translation id="1763108912552529023">Continua explorant</translation>
 <translation id="1763808908432309942">S'obre en una pestanya nova</translation>
@@ -682,7 +683,6 @@
 <translation id="1981115145845865539">Desbloqueja <ph name="DEVICE_TYPE" /> automàticament</translation>
 <translation id="1983959805486816857">Després d'haver creat un usuari supervisat nou, podeu gestionar la configuració en qualsevol moment i des de qualsevol dispositiu a la pàgina <ph name="MANAGEMENT_URL" />.</translation>
 <translation id="1984642098429648350">Redueix la finestra cap a la dreta</translation>
-<translation id="1987139229093034863">Canvia a un altre usuari.</translation>
 <translation id="1987317783729300807">Comptes</translation>
 <translation id="1989112275319619282">Examina</translation>
 <translation id="1992397118740194946">No establerta</translation>
@@ -823,6 +823,7 @@
 <translation id="2208158072373999562">Fitxer zip</translation>
 <translation id="220858061631308971">Introduïu aquest codi PIN a "<ph name="DEVICE_NAME" />":</translation>
 <translation id="2209593327042758816">Objecte de prestatge 2</translation>
+<translation id="2212126039311489237">Imprimeix des del quadre de diàleg del sistema</translation>
 <translation id="2217501013957346740">Creeu un nom:</translation>
 <translation id="2218019600945559112">Ratolí i ratolí tàctil</translation>
 <translation id="2218320521449013367">S'ha produït un error mentre Chrome suprimia programari perjudicial</translation>
@@ -935,6 +936,7 @@
 <translation id="2378075407703503998"><ph name="SELCTED_FILE_COUNT" /> fitxers seleccionats</translation>
 <translation id="237828693408258535">Vols traduir aquesta pàgina?</translation>
 <translation id="2378982052244864789">Seleccioneu el directori de l'extensió.</translation>
+<translation id="2379281330731083556">Imprimeix des de la finestra de diàleg del sistema… <ph name="SHORTCUT_KEY" /></translation>
 <translation id="2381756643783702095">Demana permís abans de fer cap enviament (recomanat)</translation>
 <translation id="2384436799579181135">S'ha produït un error. Comprova la impressora i torna-ho a provar.</translation>
 <translation id="2387458720915042159">Tipus de connexió del servidor intermediari</translation>
@@ -1113,6 +1115,7 @@
 <translation id="2653659639078652383">Envia</translation>
 <translation id="265390580714150011">Valor del camp</translation>
 <translation id="2654166010170466751">Permet que els llocs web instal·lin gestors de pagament</translation>
+<translation id="2656742821229528729">Connecta el teu Chromebook i el telèfon Android per poder enviar missatges de text des de l'ordinador, compartir la connexió a Internet i desbloquejar el dispositiu Chromebook amb el telèfon.<ph name="FOOTNOTE_POINTER" /> <ph name="LINK_BEGIN" />Més informació<ph name="LINK_END" /></translation>
 <translation id="2659381484350128933"><ph name="FOOTNOTE_POINTER" />Les funcions varien segons el dispositiu</translation>
 <translation id="2660779039299703961">Esdeveniment</translation>
 <translation id="266079277508604648">No es pot contactar amb la impressora. Comprova que estigui encesa i connectada al teu Chromebook per Wi-Fi o USB.</translation>
@@ -1417,6 +1420,7 @@
 <translation id="3115128645424181617">No es troba el telèfon. Comprova que sigui a prop i que tingui el Bluetooth activat.</translation>
 <translation id="3115147772012638511">Esperant la memòria cau...</translation>
 <translation id="3118319026408854581">Ajuda de <ph name="PRODUCT_NAME" /></translation>
+<translation id="3119484583572640616">Un cop activat, Better Together podrà fer el següent:</translation>
 <translation id="3120430004221004537">El nivell d'encriptació no és prou alt per a una operació determinada a <ph name="DEVICE_NAME" />.</translation>
 <translation id="3121793941267913344">Restabliu aquest dispositiu <ph name="IDS_SHORT_PRODUCT_NAME" />.</translation>
 <translation id="3122464029669770682">CPU</translation>
@@ -1730,6 +1734,7 @@
 <translation id="3596235046596950091">Activa els serveis en núvol</translation>
 <translation id="3599863153486145794">Esborra l'historial de tots els dispositius en què tinguis iniciada la sessió. A <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />, trobaràs altres maneres d'explorar l'historial del teu compte de Google.</translation>
 <translation id="3600792891314830896">Silencia els llocs web que reprodueixen so</translation>
+<translation id="360180734785106144">Oferir funcions noves a mesura que estiguin disponibles</translation>
 <translation id="3602290021589620013">Previsualitza</translation>
 <translation id="3603533104205588786">Pots fer clic a l'estrella per afegir la pàgina a les adreces d'interès</translation>
 <translation id="3603622770190368340">Obtenció del certificat de xarxa</translation>
@@ -1738,7 +1743,7 @@
 <translation id="3606712892509067288">Suprimeix de Better Together</translation>
 <translation id="3608454375274108141">F10</translation>
 <translation id="3608576286259426129">Previsualització de la imatge d'usuari</translation>
-<translation id="3609446736023031597">Obtén les darreres actualitzacions i recomanacions a les aplicacions de Play Store</translation>
+<translation id="3609446736023031597">Obtén les darreres actualitzacions i recomanacions de les aplicacions de Play Store</translation>
 <translation id="3609785682760573515">S'està sincronitzant...</translation>
 <translation id="3609895557594655134">Afegeix una VPN d'Android...</translation>
 <translation id="361106536627977100">Dades Flash</translation>
@@ -1771,7 +1776,7 @@
 <translation id="3645372836428131288">Mou el dit lleugerament perquè es pugui capturar una altra part de l'empremta digital.</translation>
 <translation id="3648348069317717750">S'ha detectat <ph name="USB_DEVICE_NAME" /></translation>
 <translation id="3649138363871392317">S'ha fet la foto.</translation>
-<translation id="3650845953328929506">La càrrega del registre està pendent.</translation>
+<translation id="3650845953328929506">La pujada del registre està pendent.</translation>
 <translation id="3650952250015018111">Permet que "<ph name="APP_NAME" />" accedeixi a:</translation>
 <translation id="3651488188562686558">Desconnecta de la Wi-Fi</translation>
 <translation id="3652817283076144888">S'està inicialitzant</translation>
@@ -2064,7 +2069,6 @@
 <translation id="4068506536726151626">Aquesta pàgina conté elements dels llocs següents que fan un seguiment de la teva ubicació:</translation>
 <translation id="4068776064906523561">Empremtes digitals desades</translation>
 <translation id="407173827865827707">En fer clic</translation>
-<translation id="4071770069230198275"><ph name="PROFILE_NAME" />: error d'inici de sessió</translation>
 <translation id="4074900173531346617">Certificat del signant del correu electrònic</translation>
 <translation id="407520071244661467">Canvia l'escala</translation>
 <translation id="4075639477629295004">No es pot emetre <ph name="FILE_NAME" /></translation>
@@ -2868,6 +2872,7 @@
 <translation id="5332624210073556029">Zona horària:</translation>
 <translation id="5334142896108694079">Memòria cau d'scripts</translation>
 <translation id="5334844597069022743">Mostra el codi font</translation>
+<translation id="5334899159203764908">Més informació sobre l'<ph name="BEGIN_LINK" />accés als llocs web<ph name="END_LINK" /></translation>
 <translation id="5335458522276292100">S'estan afegint <ph name="FILE_COUNT" /> a la còpia de seguretat de <ph name="BEGIN_LINK" />Google Drive<ph name="END_LINK" /></translation>
 <translation id="5336126339807372270">No permetis que cap lloc web accedeixi als dispositius USB</translation>
 <translation id="5337771866151525739">Instal·lat per tercers.</translation>
@@ -2975,6 +2980,7 @@
 <translation id="5487521232677179737">Esborra les dades</translation>
 <translation id="5488093641312826914">S'ha copiat <ph name="COPIED_ITEM_NAME" /></translation>
 <translation id="5488468185303821006">Permet en mode d'incògnit</translation>
+<translation id="5489121514345187313">Chromebook funciona encara millor amb el telèfon. <ph name="LINK_BEGIN" />Més informació<ph name="LINK_END" /></translation>
 <translation id="5489435190927933437">Contrasenyes desades per a <ph name="DOMAIN" /></translation>
 <translation id="5491110079163012109">Envia dades del sistema. Envia automàticament a Google dades de diagnòstic i d'ús del dispositiu i de les aplicacions. El propietari ha definit aquesta opció de configuració. És possible que el propietari decideixi enviar a Google dades de diagnòstic i d'ús sobre aquest dispositiu. Pots veure-ho a la configuració. Si també has activat l'opció Activitat al web i en aplicacions, aquesta informació es desarà al teu compte perquè la puguis gestionar des de La meva activitat. <ph name="BEGIN_LINK1" />Obtén més informació<ph name="END_LINK1" />.</translation>
 <translation id="5493792505296048976">pantalla activada</translation>
@@ -3147,6 +3153,7 @@
 <translation id="5731409020711461763">1 foto nova</translation>
 <translation id="5734362860645681824">Comunicacions</translation>
 <translation id="5736796278325406685">Introdueix un nom d'usuari vàlid</translation>
+<translation id="5739235828260127894">S'està esperant la verificació. <ph name="LINK_BEGIN" />Més informació<ph name="LINK_END" /></translation>
 <translation id="5739458112391494395">Molt gran</translation>
 <translation id="5740331643563157105"><ph name="LANGUAGE_1" />, <ph name="LANGUAGE_2" /> i <ph name="NUM_ADDITIONAL_LANGUAGES" /> més</translation>
 <translation id="574209121243317957">To</translation>
@@ -3250,6 +3257,7 @@
 <translation id="5870086504539785141">Tanca el menú d'accessibilitat</translation>
 <translation id="5870155679953074650">Errors greus</translation>
 <translation id="5877064549588274448">El canal ha canviat. Reinicieu el dispositiu perquè s'apliquin els canvis.</translation>
+<translation id="5877584842898320529">La impressora seleccionada no està disponible o no s'ha instal·lat correctament.<ph name="BR" />Comprova la impressora o prova de seleccionar-ne una altra.</translation>
 <translation id="5880247576487732437">Testimoni present</translation>
 <translation id="5882919346125742463">Xarxes conegudes</translation>
 <translation id="5884474295213649357">Aquesta pestanya està connectada a un dispositiu USB</translation>
@@ -3316,6 +3324,7 @@
 <translation id="5979469435153841984">Per afegir pàgines a les adreces d'interès, fes clic a l'estrella de la barra d'adreces</translation>
 <translation id="5982621672636444458">Ordena les opcions</translation>
 <translation id="5984222099446776634">Visitats recentment</translation>
+<translation id="5985458664595100876">El format de l'URL no és vàlid. S'admeten els formats del tipus \\servidor\compartir i smb://servidor/compartir.</translation>
 <translation id="5990142338020175451">Serveis de Google més personals, com ara millors suggeriments de pàgines</translation>
 <translation id="5990386583461751448">Traduïda</translation>
 <translation id="5991049340509704927">Amplia</translation>
@@ -3344,6 +3353,7 @@
 <translation id="6026819612896463875"><ph name="WINDOW_TITLE" />: hi ha un dispositiu USB connectat</translation>
 <translation id="6028117231645531007">Afegeix una empremta digital</translation>
 <translation id="6029027682598229313">La instal·lació de Linux ha finalitzat.</translation>
+<translation id="6029292188939175871">suprimeix [<ph name="FINGERPRINT_NAME" />], botó</translation>
 <translation id="6029587122245504742">Mínima</translation>
 <translation id="6032912588568283682">Sistema de fitxers</translation>
 <translation id="6034662038931255275">El sistema operatiu s'ha actualitzat correctament</translation>
@@ -3457,7 +3467,6 @@
 <translation id="6185132558746749656">Ubicació del dispositiu</translation>
 <translation id="6185617499004995178">Validador d'IPP per a CUPS</translation>
 <translation id="6185696379715117369">Re Pàg</translation>
-<translation id="6189273858858366896">Configura o gestiona l'ús compartit dels fitxers de la xarxa.</translation>
 <translation id="6189412234224385711">Obre amb <ph name="EXTENSION_NAME" /></translation>
 <translation id="6196640612572343990">Bloqueja les galetes de tercers</translation>
 <translation id="6196854373336333322">L'extensió <ph name="EXTENSION_NAME" /> ha passat a controlar la configuració del servidor intermediari. Això vol dir que pot modificar, desfer o espiar qualsevol acció que feu en línia. Si no esteu segur del motiu d'aquest canvi, és possible que no el vulgueu aplicar.</translation>
@@ -3760,8 +3769,9 @@
 <translation id="6639554308659482635">Memòria SQLite</translation>
 <translation id="6641138807883536517">La contrasenya del mòdul de seguretat generada aleatòriament no està disponible. Això és normal després d'executar la funció Powerwash.</translation>
 <translation id="6643016212128521049">Esborra</translation>
-<translation id="6644512095122093795">Ofereix desar contrasenyes</translation>
+<translation id="6644512095122093795">Pregunta'm si vull desar les contrasenyes</translation>
 <translation id="6644846457769259194">S'està actualitzant el dispositiu (<ph name="PROGRESS_PERCENT" />)</translation>
+<translation id="6645437135153136856">El dispositiu Google Cloud Print seleccionat ja no és compatible.<ph name="BR" />Prova de definir la impressora a la configuració del sistema de l'ordinador.</translation>
 <translation id="6647228709620733774">URL de revocació de l'entitat emissora de certificats de Netscape</translation>
 <translation id="6647838571840953560">Actualment a <ph name="CHANNEL_NAME" /></translation>
 <translation id="6648051959475508072">S'ha activat la clau de seguretat...</translation>
@@ -3783,7 +3793,6 @@
 <translation id="667517062706956822">Voleu que Google tradueixi a <ph name="TARGET_LANGUAGE" /> aquesta pàgina escrita en <ph name="SOURCE_LANGUAGE" />?</translation>
 <translation id="6675665718701918026">S'ha connectat un dispositiu per apuntar</translation>
 <translation id="6678717876183468697">URL de la consulta</translation>
-<translation id="6680028776254050810">Canvia els usuaris</translation>
 <translation id="6680442031740878064">Disponible: <ph name="AVAILABLE_SPACE" /></translation>
 <translation id="6680650203439190394">Puntua</translation>
 <translation id="6681668084120808868">Fes una foto</translation>
@@ -3792,7 +3801,6 @@
 <translation id="668599234725812620">Obre Google Play</translation>
 <translation id="6686490380836145850">Tanca les pestanyes de la dreta</translation>
 <translation id="6686817083349815241">Desa la contrasenya</translation>
-<translation id="6690565918367819723"><ph name="PROFILE_NAME" /> Canvia de persona</translation>
 <translation id="6690659332373509948">No es pot analitzar el fitxer: <ph name="FILE_NAME" /></translation>
 <translation id="6690751852586194791">Trieu un usuari supervisat per afegir-lo a aquest dispositiu.</translation>
 <translation id="6691331417640343772">Gestiona les dades sincronitzades des del Tauler de control de Google</translation>
@@ -4129,6 +4137,7 @@
 <translation id="7201118060536064622">S'ha suprimit <ph name="DELETED_ITEM_NAME" /></translation>
 <translation id="7206693748120342859">S'està baixant <ph name="PLUGIN_NAME" />...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Surt de la pàgina}other{Surt de les pàgines}}</translation>
+<translation id="7210499381659830293">Impressores d'extensions</translation>
 <translation id="721467499098558573">Mantén premut el botó de la clau de seguretat durant 5 segons com a mínim</translation>
 <translation id="7216409898977639127">Proveïdor de dades mòbils</translation>
 <translation id="7216595297012131718">Ordena els idiomes segons les teves preferències</translation>
@@ -4207,6 +4216,7 @@
 <translation id="7321545336522791733">No s'ha pogut accedir al servidor</translation>
 <translation id="7324297612904500502">Fòrum per a la versió beta</translation>
 <translation id="7325437708553334317">Extensió d'alt contrast</translation>
+<translation id="7328162502911382168">(<ph name="COUNT" />)</translation>
 <translation id="7328867076235380839">La combinació no és vàlida</translation>
 <translation id="7329154610228416156">S'ha produït un problema en iniciar la sessió perquè s'ha configurat per utilitzar un URL no segur (<ph name="BLOCKED_URL" />). Contacteu amb l'administrador.</translation>
 <translation id="7334190995941642545">Smart Lock no està disponible actualment. Torneu-ho a provar més tard.</translation>
@@ -4796,6 +4806,7 @@
 <translation id="8199300056570174101">Xarxa (servei) i propietats del dispositiu</translation>
 <translation id="8200772114523450471">Reprèn</translation>
 <translation id="8202160505685531999">Torneu a introduir la contrasenya per actualitzar el vostre perfil del dispositiu <ph name="DEVICE_TYPE" />.</translation>
+<translation id="8203732864715032075">Rep notificacions en aquest ordinador i estableix-lo com a predeterminat per enviar i rebre missatges. <ph name="LINK_BEGIN" />Més informació<ph name="LINK_END" /></translation>
 <translation id="8206354486702514201">L'administrador aplica aquesta opció de configuració.</translation>
 <translation id="8206745257863499010">Música</translation>
 <translation id="8209677645716428427">Un usuari supervisat pot explorar el web amb la vostra orientació. Com a administrador d'un usuari supervisat de Chrome, podeu fer el següent:</translation>
@@ -5107,7 +5118,6 @@
 <translation id="869884720829132584">Menú d'aplicacions</translation>
 <translation id="869891660844655955">Data de caducitat</translation>
 <translation id="8699566574894671540">Per activar aquesta funció, selecciona primer Comprova l'ortografia mentre escric al menú Edita</translation>
-<translation id="870073306461175568">Ús compartit dels fitxers de la xarxa</translation>
 <translation id="8701677791353449257">El nom del dispositiu ha de coincidir amb l'expressió regular <ph name="REGEX" />.</translation>
 <translation id="8704521619148782536">El procés triga més del que és habitual. Podeu esperar o cancel·lar-lo i tornar-ho a provar més tard.</translation>
 <translation id="8705331520020532516">Número de sèrie</translation>
@@ -5292,7 +5302,6 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" />: ha fallat</translation>
 <translation id="8983677657449185470">Ajuda a millorar Navegació segura</translation>
 <translation id="8984179138335769204">Inici ràpid</translation>
-<translation id="8984654317541110628">URL de l'ús compartit del fitxer</translation>
 <translation id="8986362086234534611">Oblida</translation>
 <translation id="8986494364107987395">Envia automàticament estadístiques d'ús i informes d'error a Google</translation>
 <translation id="8987927404178983737">Mes</translation>
diff --git a/chrome/app/resources/generated_resources_cs.xtb b/chrome/app/resources/generated_resources_cs.xtb
index 651d27f2..13d44299 100644
--- a/chrome/app/resources/generated_resources_cs.xtb
+++ b/chrome/app/resources/generated_resources_cs.xtb
@@ -275,6 +275,7 @@
 <translation id="1395730723686586365">Byl spuštěn nástroj na aktualizaci</translation>
 <translation id="1396139853388185343">Při nastavování tiskárny došlo k chybě</translation>
 <translation id="1396963298126346194">Zadané uživatelské jméno a heslo se neshodují.</translation>
+<translation id="1397500194120344683">Žádná způsobilá zařízení. <ph name="LINK_BEGIN" />Další informace<ph name="LINK_END" /></translation>
 <translation id="1397854323885047133">Synchronizace a personalizace</translation>
 <translation id="1398853756734560583">Maximalizovat</translation>
 <translation id="1399511500114202393">Žádný certifikát uživatele</translation>
@@ -375,7 +376,6 @@
 <translation id="1531004739673299060">Okno aplikace</translation>
 <translation id="15373452373711364">Velký kurzor myši</translation>
 <translation id="1538729222189715449">Otevírání souborů systému Linux...</translation>
-<translation id="153933193410874873">Na tomto zařízení jsme nemohli ověřit vaši identitu</translation>
 <translation id="1540605929960647700">Zapnout ukázkový režim</translation>
 <translation id="1543284117603151572">Importováno z aplikace Edge</translation>
 <translation id="1545177026077493356">Automatický režim veřejného terminálu</translation>
@@ -529,6 +529,7 @@
 <translation id="175772926354468439">Aktivovat motiv</translation>
 <translation id="1758018619400202187">EAP-TLS</translation>
 <translation id="17584710573359123">Zobrazit v Internetovém obchodu Chrome</translation>
+<translation id="176193854664720708">Snímač otisků prstů je vypínač. Zlehka se ho dotkněte jakýmkoli prstem.</translation>
 <translation id="1763046204212875858">Vytvořit zástupce aplikací</translation>
 <translation id="1763108912552529023">Pokračovat v průzkumu</translation>
 <translation id="1763808908432309942">Otevře se na nové kartě</translation>
@@ -682,7 +683,6 @@
 <translation id="1981115145845865539">Odemykejte zařízení <ph name="DEVICE_TYPE" /> automaticky</translation>
 <translation id="1983959805486816857">Po vytvoření nového dozorovaného uživatele můžete tato nastavení spravovat na adrese <ph name="MANAGEMENT_URL" />, a to kdykoli a z libovolného zařízení.</translation>
 <translation id="1984642098429648350">Ukotvit okno vpravo</translation>
-<translation id="1987139229093034863">Přepnout na jiného uživatele.</translation>
 <translation id="1987317783729300807">Účty</translation>
 <translation id="1989112275319619282">Procházet</translation>
 <translation id="1992397118740194946">Hodnota není nastavena</translation>
@@ -823,6 +823,7 @@
 <translation id="2208158072373999562">Archiv ZIP</translation>
 <translation id="220858061631308971">Zadejte prosím v zařízení <ph name="DEVICE_NAME" /> tento kód PIN:</translation>
 <translation id="2209593327042758816">Položka č. 2 v poličce</translation>
+<translation id="2212126039311489237">Tisk pomocí dialogového okna systému</translation>
 <translation id="2217501013957346740">Vytvořte jméno –</translation>
 <translation id="2218019600945559112">Myš a touchpad</translation>
 <translation id="2218320521449013367">Při odstraňování škodlivého softwaru Chromem došlo k chybě</translation>
@@ -935,6 +936,7 @@
 <translation id="2378075407703503998">Vybrané soubory: <ph name="SELCTED_FILE_COUNT" /></translation>
 <translation id="237828693408258535">Přeložit tuto stránku?</translation>
 <translation id="2378982052244864789">Vyberte adresář rozšíření.</translation>
+<translation id="2379281330731083556">Tisk pomocí dialogového okna systému... <ph name="SHORTCUT_KEY" /></translation>
 <translation id="2381756643783702095">Před odesláním se zeptat (doporučeno)</translation>
 <translation id="2384436799579181135">Došlo k chybě. Zkontrolujte tiskárnu a zkuste to znovu.</translation>
 <translation id="2387458720915042159">Typ připojení k proxy serveru</translation>
@@ -1114,6 +1116,7 @@
 <translation id="2653659639078652383">Odeslat</translation>
 <translation id="265390580714150011">Hodnota pole</translation>
 <translation id="2654166010170466751">Povolit webům instalovat obslužné nástroje pro platby</translation>
+<translation id="2656742821229528729">Připojte telefon Android k Chromebooku, abyste mohli psát SMS z počítače, sdílet připojení k internetu a odemykat Chromebook pomocí telefonu.<ph name="FOOTNOTE_POINTER" /> <ph name="LINK_BEGIN" />Další informace<ph name="LINK_END" /></translation>
 <translation id="2659381484350128933"><ph name="FOOTNOTE_POINTER" />Funkce se v různých zařízeních liší</translation>
 <translation id="2660779039299703961">Událost</translation>
 <translation id="266079277508604648">K tiskárně se nelze připojit. Zkontrolujte, zda je tiskárna zapnutá a připojená k Chromebooku přes Wi-Fi nebo USB.</translation>
@@ -1418,6 +1421,7 @@
 <translation id="3115128645424181617">Telefon nebyl nalezen. Zkontrolujte, zda jej máte u sebe a zda je zapnutý Bluetooth.</translation>
 <translation id="3115147772012638511">Čekání na mezipaměť</translation>
 <translation id="3118319026408854581">Nápověda aplikace <ph name="PRODUCT_NAME" /></translation>
+<translation id="3119484583572640616">Zapnutím funkce Better Together získáte následující výhody:</translation>
 <translation id="3120430004221004537">Šifrování je pro danou operaci na zařízení <ph name="DEVICE_NAME" /> nedostatečné.</translation>
 <translation id="3121793941267913344">Resetování tohoto zařízení <ph name="IDS_SHORT_PRODUCT_NAME" /></translation>
 <translation id="3122464029669770682">CPU</translation>
@@ -1642,7 +1646,7 @@
 <translation id="3465566417615315331">Klikněte na svou fotku</translation>
 <translation id="3466147780910026086">Prohledávání mediálního zařízení...</translation>
 <translation id="3467267818798281173">Žádat o návrhy z Googlu</translation>
-<translation id="3468275649641751422">Streamovat soubor videa nebo zvuku</translation>
+<translation id="3468275649641751422">Streamovat zvukový soubor nebo video</translation>
 <translation id="3468522857997926824">Počet fotek, které byly zálohovány na <ph name="BEGIN_LINK" />Disk Google<ph name="END_LINK" />: <ph name="FILE_COUNT" /></translation>
 <translation id="3470442499439619530">Odebrat tohoto uživatele</translation>
 <translation id="3470502288861289375">Kopírování...</translation>
@@ -1730,6 +1734,7 @@
 <translation id="3596235046596950091">Aktivovat cloudové služby</translation>
 <translation id="3599863153486145794">Vymaže historii ze všech zařízení, na kterých jste přihlášeni. Na stránce <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> mohou být k dispozici další druhy historie prohlížení zaznamenané ve vašem účtu Google.</translation>
 <translation id="3600792891314830896">Ztlumit weby, které přehrávají zvuky</translation>
+<translation id="360180734785106144">Nabízet nové funkce, až budou k dispozici</translation>
 <translation id="3602290021589620013">Náhled</translation>
 <translation id="3603533104205588786">Stránku přidáte do záložek kliknutím na hvězdičku</translation>
 <translation id="3603622770190368340">Získání certifikátu sítě</translation>
@@ -2064,7 +2069,6 @@
 <translation id="4068506536726151626">Tato stránka obsahuje prvky z následujících webů, které sledují vaši polohu:</translation>
 <translation id="4068776064906523561">Uložené otisky prstu</translation>
 <translation id="407173827865827707">Při kliknutí</translation>
-<translation id="4071770069230198275"><ph name="PROFILE_NAME" />: chyba přihlášení</translation>
 <translation id="4074900173531346617">Certifikát autora podpisu e-mailu</translation>
 <translation id="407520071244661467">Měřítko</translation>
 <translation id="4075639477629295004">Soubor <ph name="FILE_NAME" /> nelze odeslat.</translation>
@@ -2249,7 +2253,7 @@
 <translation id="4405117686468554883">*.jpeg, *.jpg, *.png</translation>
 <translation id="4408599188496843485">&amp;Nápověda</translation>
 <translation id="4409697491990005945">Okraje</translation>
-<translation id="4410545552906060960">Zařízení budete místo hesla odemykat pomocí kódu PIN. PIN můžete nastavit později v Nastavení.</translation>
+<translation id="4410545552906060960">Zařízení budete místo heslem odemykat pomocí kódu PIN. PIN můžete nastavit později v Nastavení.</translation>
 <translation id="4411578466613447185">Slouží k podepsání kódu</translation>
 <translation id="4412698727486357573">Centrum nápovědy</translation>
 <translation id="44141919652824029">Povolit aplikaci <ph name="APP_NAME" /> získat seznam připojených zařízení USB?</translation>
@@ -2865,6 +2869,7 @@
 <translation id="5332624210073556029">Časové pásmo:</translation>
 <translation id="5334142896108694079">Mezipaměť skriptů</translation>
 <translation id="5334844597069022743">Zobrazit zdrojový kód</translation>
+<translation id="5334899159203764908">Další informace o <ph name="BEGIN_LINK" />přístupu k webu<ph name="END_LINK" /></translation>
 <translation id="5335458522276292100">Probíhá zálohování na <ph name="BEGIN_LINK" />Disk Google<ph name="END_LINK" />: <ph name="FILE_COUNT" /></translation>
 <translation id="5336126339807372270">Nepovolovat žádným webům přístup k zařízením USB</translation>
 <translation id="5337771866151525739">Nainstalováno třetí stranou.</translation>
@@ -2972,6 +2977,7 @@
 <translation id="5487521232677179737">Vymazat data</translation>
 <translation id="5488093641312826914">Položka „<ph name="COPIED_ITEM_NAME" />“ byla zkopírována</translation>
 <translation id="5488468185303821006">Povolit v anonymním režimu</translation>
+<translation id="5489121514345187313">S telefonem funguje Chromebook ještě lépe. <ph name="LINK_BEGIN" />Další informace<ph name="LINK_END" /></translation>
 <translation id="5489435190927933437">Uložená hesla pro web <ph name="DOMAIN" /></translation>
 <translation id="5491110079163012109">Odesílání údajů o systému. Automaticky do Googlu odesílat diagnostické údaje a údaje o využití. Toto nastavení vynucuje vlastník. Vlastník může zvolit, že se z tohoto zařízení do Googlu mají odesílat diagnostické údaje a údaje o využití. Tuto možnost můžete zobrazit v nastavení. Pokud jste zapnuli další Aktivitu na webu a v aplikacích, budou se tyto informace ukládat na vašem účtu a budete je moci spravovat na panelu Moje aktivita. <ph name="BEGIN_LINK1" />Další informace<ph name="END_LINK1" /></translation>
 <translation id="5493792505296048976">obrazovka je zapnutá</translation>
@@ -3143,6 +3149,7 @@
 <translation id="5731409020711461763">1 nová fotka</translation>
 <translation id="5734362860645681824">Komunikační příslušenství</translation>
 <translation id="5736796278325406685">Zadejte prosím platné uživatelské jméno</translation>
+<translation id="5739235828260127894">Čeká na ověření. <ph name="LINK_BEGIN" />Další informace<ph name="LINK_END" /></translation>
 <translation id="5739458112391494395">Velmi velké</translation>
 <translation id="5740331643563157105"><ph name="LANGUAGE_1" />, <ph name="LANGUAGE_2" /> a další <ph name="NUM_ADDITIONAL_LANGUAGES" /></translation>
 <translation id="574209121243317957">Výška</translation>
@@ -3246,6 +3253,7 @@
 <translation id="5870086504539785141">Zavřít nabídku usnadnění přístupu</translation>
 <translation id="5870155679953074650">Chyby stránkování na disk</translation>
 <translation id="5877064549588274448">Verze byla změněna. Změny se projeví po restartování zařízení.</translation>
+<translation id="5877584842898320529">Zvolená tiskárna není k dispozici nebo není správně nainstalovaná. <ph name="BR" /> Zkontrolujte tiskárnu nebo vyberte jinou.</translation>
 <translation id="5880247576487732437">Token je přítomen</translation>
 <translation id="5882919346125742463">Známé sítě</translation>
 <translation id="5884474295213649357">Tato karta je připojena k zařízení USB.</translation>
@@ -3312,6 +3320,7 @@
 <translation id="5979469435153841984">Stránky přidáte do záložek kliknutím na hvězdičku v adresním řádku</translation>
 <translation id="5982621672636444458">Možnosti řazení</translation>
 <translation id="5984222099446776634">Nedávno navštívené</translation>
+<translation id="5985458664595100876">Neplatný formát adresy URL. Podporované formáty jsou \\server\share a smb://server/share.</translation>
 <translation id="5990142338020175451">Více osobních služeb Google, např. lepší návrhy stránek</translation>
 <translation id="5990386583461751448">Přeloženo</translation>
 <translation id="5991049340509704927">Zvětšit</translation>
@@ -3340,6 +3349,7 @@
 <translation id="6026819612896463875"><ph name="WINDOW_TITLE" /> – připojeno k zařízení USB</translation>
 <translation id="6028117231645531007">Přidat otisk prstu</translation>
 <translation id="6029027682598229313">Instalace systému Linux je dokončena.</translation>
+<translation id="6029292188939175871">smazat [<ph name="FINGERPRINT_NAME" />], tlačítko</translation>
 <translation id="6029587122245504742">Nejpomalejší</translation>
 <translation id="6032912588568283682">Systém souborů</translation>
 <translation id="6034662038931255275">Aktualizace operačního systému byla úspěšná</translation>
@@ -3453,7 +3463,6 @@
 <translation id="6185132558746749656">Poloha zařízení</translation>
 <translation id="6185617499004995178">Validátor CUPS IPP</translation>
 <translation id="6185696379715117369">O stránku nahoru</translation>
-<translation id="6189273858858366896">Nastavit nebo spravovat sdílené síťové složky.</translation>
 <translation id="6189412234224385711">Otevřít pomocí rozšíření <ph name="EXTENSION_NAME" /></translation>
 <translation id="6196640612572343990">Blokovat soubory cookie třetích stran</translation>
 <translation id="6196854373336333322">Rozšíření <ph name="EXTENSION_NAME" /> převzalo kontrolu nad nastavením proxy serveru, což znamená, že může změnit, narušit nebo sledovat vše, co děláte na internetu. Pokud si nejste jisti, proč k tomu došlo, zřejmě se jedná o nežádoucí změnu.</translation>
@@ -3759,6 +3768,7 @@
 <translation id="6643016212128521049">Vymazat</translation>
 <translation id="6644512095122093795">Nabídnout uložení hesel</translation>
 <translation id="6644846457769259194">Aktualizace zařízení (<ph name="PROGRESS_PERCENT" />)</translation>
+<translation id="6645437135153136856">Vybrané zařízení Google Cloud Print již není podporováno. <ph name="BR" /> Zkuste klávesnici nastavit v nastavení systému počítače.</translation>
 <translation id="6647228709620733774">Adresa URL pro odvolání certifikační autority Netscape</translation>
 <translation id="6647838571840953560">Aktuální kanál: <ph name="CHANNEL_NAME" /></translation>
 <translation id="6648051959475508072">Bezpečnostní klíč byl aktivován...</translation>
@@ -3780,7 +3790,6 @@
 <translation id="667517062706956822">Chcete, aby Google tuto stránku přeložil z jazyka <ph name="SOURCE_LANGUAGE" /> do jazyka <ph name="TARGET_LANGUAGE" />?</translation>
 <translation id="6675665718701918026">Je připojeno polohovací zařízení</translation>
 <translation id="6678717876183468697">Adresa URL dotazu</translation>
-<translation id="6680028776254050810">Přepnout uživatele</translation>
 <translation id="6680442031740878064">Volné místo: <ph name="AVAILABLE_SPACE" /></translation>
 <translation id="6680650203439190394">Ohodnotit</translation>
 <translation id="6681668084120808868">Vyfotit</translation>
@@ -3789,7 +3798,6 @@
 <translation id="668599234725812620">Otevřít Google Play</translation>
 <translation id="6686490380836145850">Zavřít karty napravo</translation>
 <translation id="6686817083349815241">Uložte si heslo</translation>
-<translation id="6690565918367819723">Přepnout uživatele: <ph name="PROFILE_NAME" /></translation>
 <translation id="6690659332373509948">Soubor nelze analyzovat: <ph name="FILE_NAME" /></translation>
 <translation id="6690751852586194791">Vyberte dozorovaného uživatele, kterého chcete přidat do tohoto zařízení.</translation>
 <translation id="6691331417640343772">Spravovat synchronizovaná data na Hlavním panelu Google</translation>
@@ -4126,6 +4134,7 @@
 <translation id="7201118060536064622">Položka „<ph name="DELETED_ITEM_NAME" />“ byla smazána</translation>
 <translation id="7206693748120342859">Stahování pluginu <ph name="PLUGIN_NAME" />...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Opustit stránku}few{Opustit stránky}many{Opustit stránky}other{Opustit stránky}}</translation>
+<translation id="7210499381659830293">Rozšíření – tiskárny</translation>
 <translation id="721467499098558573">Podržte tlačítko na bezpečnostním klíči po dobu alespoň 5 sekund</translation>
 <translation id="7216409898977639127">Poskytovatel mobilních dat</translation>
 <translation id="7216595297012131718">Další jazyky podle vašich požadavků</translation>
@@ -4204,6 +4213,7 @@
 <translation id="7321545336522791733">Server je nedostupný</translation>
 <translation id="7324297612904500502">Fórum beta</translation>
 <translation id="7325437708553334317">Rozšíření Vysoký kontrast</translation>
+<translation id="7328162502911382168">(<ph name="COUNT" />)</translation>
 <translation id="7328867076235380839">Neplatná kombinace</translation>
 <translation id="7329154610228416156">Přihlášení se nezdařilo, protože bylo nakonfigurováno k použití nezabezpečené adresy URL (<ph name="BLOCKED_URL" />). Obraťte se na svého administrátora.</translation>
 <translation id="7334190995941642545">Smart Lock aktuálně není k dispozici. Zkuste to znovu později.</translation>
@@ -4350,7 +4360,7 @@
 <translation id="7564847347806291057">Ukončit proces</translation>
 <translation id="7566118625369982896">Spravovat odkazy na aplikace ve službě Play</translation>
 <translation id="7566723889363720618">F12</translation>
-<translation id="7567772679638539078">Umístěte prst</translation>
+<translation id="7567772679638539078">Přiložte prst</translation>
 <translation id="756809126120519699">Vymazání údajů Chromu</translation>
 <translation id="7568790562536448087">Aktualizace</translation>
 <translation id="7571643774869182231">Na aktualizaci nemáte dostatek místa</translation>
@@ -4793,6 +4803,7 @@
 <translation id="8199300056570174101">Vlastnosti sítě (služba) a zařízení</translation>
 <translation id="8200772114523450471">Pokračovat</translation>
 <translation id="8202160505685531999">Chcete-li aktualizovat profil zařízení <ph name="DEVICE_TYPE" />, znovu zadejte heslo.</translation>
+<translation id="8203732864715032075">Odesílat vám oznámení a zapamatovat si tento počítač pro Zprávy. <ph name="LINK_BEGIN" />Další informace<ph name="LINK_END" /></translation>
 <translation id="8206354486702514201">Toto nastavení je vyžadováno administrátorem.</translation>
 <translation id="8206745257863499010">Melodie</translation>
 <translation id="8209677645716428427">Dozorovaný uživatel si může prohlížet web podle vašich pokynů. Jako správce dozorovaného uživatele v Chromu můžete:</translation>
@@ -5104,7 +5115,6 @@
 <translation id="869884720829132584">Nabídka Aplikace</translation>
 <translation id="869891660844655955">Datum vypršení platnosti</translation>
 <translation id="8699566574894671540">Chcete-li tuto funkci zapnout, v nabídce Upravit vyberte Kontrolovat během psaní pravopis</translation>
-<translation id="870073306461175568">Sdílené síťové složky</translation>
 <translation id="8701677791353449257">Název zařízení musí odpovídat regulárnímu výrazu <ph name="REGEX" />.</translation>
 <translation id="8704521619148782536">Tato akce trvá déle, než je obvyklé. Můžete počkat, nebo akci zrušit a zkusit ji provést znovu později.</translation>
 <translation id="8705331520020532516">Sériové číslo</translation>
@@ -5289,7 +5299,6 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> – selhalo</translation>
 <translation id="8983677657449185470">Pomoci zlepšovat Bezpečné prohlížení</translation>
 <translation id="8984179138335769204">Rychlé spuštění</translation>
-<translation id="8984654317541110628">Adresa URL sdílené složky</translation>
 <translation id="8986362086234534611">Odstranit</translation>
 <translation id="8986494364107987395">Automaticky posílat společnosti Google statistiky používání a zprávy o selhání</translation>
 <translation id="8987927404178983737">Měsíc</translation>
diff --git a/chrome/app/resources/generated_resources_da.xtb b/chrome/app/resources/generated_resources_da.xtb
index 82d85a888..aaab97aa 100644
--- a/chrome/app/resources/generated_resources_da.xtb
+++ b/chrome/app/resources/generated_resources_da.xtb
@@ -275,6 +275,7 @@
 <translation id="1395730723686586365">Opdateringsprogrammet er startet</translation>
 <translation id="1396139853388185343">Der opstod en fejl under konfigurationen af printeren</translation>
 <translation id="1396963298126346194">Brugernavnet og adgangskoden, du har angivet, stemmer ikke overens.</translation>
+<translation id="1397500194120344683">Der er ingen kvalificerede enheder. <ph name="LINK_BEGIN" />Få flere oplysninger<ph name="LINK_END" /></translation>
 <translation id="1397854323885047133">Synkronisering og tilpasning</translation>
 <translation id="1398853756734560583">Maksimér</translation>
 <translation id="1399511500114202393">Ikke noget brugercertifikat</translation>
@@ -375,7 +376,6 @@
 <translation id="1531004739673299060">Appvindue</translation>
 <translation id="15373452373711364">Stor musemarkør</translation>
 <translation id="1538729222189715449">Åbner Linux-filer...</translation>
-<translation id="153933193410874873">Din identitet kunne ikke bekræftes på denne enhed</translation>
 <translation id="1540605929960647700">Aktivér demotilstand</translation>
 <translation id="1543284117603151572">Importeret fra Edge</translation>
 <translation id="1545177026077493356">Automatisk terminaltilstand</translation>
@@ -526,6 +526,7 @@
 <translation id="175772926354468439">Aktivér tema</translation>
 <translation id="1758018619400202187">EAP-TLS</translation>
 <translation id="17584710573359123">Se i Chrome Webshop</translation>
+<translation id="176193854664720708">Fingeraftrykslæseren sidder i afbryderknappen. Tryk let på den med en finger.</translation>
 <translation id="1763046204212875858">Opret programgenveje</translation>
 <translation id="1763108912552529023">Udforsk videre</translation>
 <translation id="1763808908432309942">Åbnes på en ny fane</translation>
@@ -679,7 +680,6 @@
 <translation id="1981115145845865539">Lås din <ph name="DEVICE_TYPE" /> op automatisk</translation>
 <translation id="1983959805486816857">Når du har oprettet en ny administreret bruger, kan du når som helst administrere indstillingerne på en hvilken som helst enhed på <ph name="MANAGEMENT_URL" />.</translation>
 <translation id="1984642098429648350">Fastgør vinduet til højre</translation>
-<translation id="1987139229093034863">Skift til en anden bruger.</translation>
 <translation id="1987317783729300807">Konti</translation>
 <translation id="1989112275319619282">Gennemse</translation>
 <translation id="1992397118740194946">Ikke angivet</translation>
@@ -820,6 +820,7 @@
 <translation id="2208158072373999562">Zip-arkiv</translation>
 <translation id="220858061631308971">Angiv denne pinkode på "<ph name="DEVICE_NAME" />":</translation>
 <translation id="2209593327042758816">Hyldeelement 2</translation>
+<translation id="2212126039311489237">Udskriv via systemdialogboksen</translation>
 <translation id="2217501013957346740">Opret et navn –</translation>
 <translation id="2218019600945559112">Mus og touchpad</translation>
 <translation id="2218320521449013367">Der opstod en fejl i Chrome ved fjernelsen af skadelig software</translation>
@@ -932,6 +933,7 @@
 <translation id="2378075407703503998"><ph name="SELCTED_FILE_COUNT" /> filer valgt</translation>
 <translation id="237828693408258535">Vil du oversætte denne side?</translation>
 <translation id="2378982052244864789">Vælg udvidelsens mappe.</translation>
+<translation id="2379281330731083556">Dialogboks til Udskriv via system... <ph name="SHORTCUT_KEY" /></translation>
 <translation id="2381756643783702095">Spørg inden afsendelse (anbefales)</translation>
 <translation id="2384436799579181135">Der opstod en fejl. Tjek din printer, og prøv igen.</translation>
 <translation id="2387458720915042159">Proxy-forbindelsestype</translation>
@@ -1112,6 +1114,7 @@
 <translation id="2653659639078652383">Indsend</translation>
 <translation id="265390580714150011">Feltværdi</translation>
 <translation id="2654166010170466751">Tillad, at websites installerer betalingshandlere</translation>
+<translation id="2656742821229528729">Opret forbindelse mellem din Android-telefon og din Chromebook, så du kan sende sms-beskeder fra din computer, dele din internetforbindelse og låse din Chromebook op med telefonen.<ph name="FOOTNOTE_POINTER" /> <ph name="LINK_BEGIN" />Få flere oplysninger<ph name="LINK_END" /></translation>
 <translation id="2659381484350128933"><ph name="FOOTNOTE_POINTER" />Funktionerne varierer afhængigt af enheden</translation>
 <translation id="2660779039299703961">Hændelse</translation>
 <translation id="266079277508604648">Der kan ikke oprettes forbindelse til printeren. Tjek, at printeren er tændt og tilsluttet din Chromebook via Wi-Fi eller USB.</translation>
@@ -1416,6 +1419,7 @@
 <translation id="3115128645424181617">Din telefon blev ikke fundet. Sørg for, at den er ved hånden, og at Bluetooth er slået til.</translation>
 <translation id="3115147772012638511">Venter på cache...</translation>
 <translation id="3118319026408854581"><ph name="PRODUCT_NAME" /> Hjælp</translation>
+<translation id="3119484583572640616">Når du aktiverer Better Together, kan den:</translation>
 <translation id="3120430004221004537">Utilstrækkelig kryptering til en angivet handling på: "<ph name="DEVICE_NAME" />".</translation>
 <translation id="3121793941267913344">Nulstil denne <ph name="IDS_SHORT_PRODUCT_NAME" />-enhed</translation>
 <translation id="3122464029669770682">CPU</translation>
@@ -1730,6 +1734,7 @@
 <translation id="3596235046596950091">Aktivér skytjenester</translation>
 <translation id="3599863153486145794">Rydder historikken på alle enheder, hvor du er logget ind. Din Google-konto kan have andre former for browserhistorik på <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
 <translation id="3600792891314830896">Lyden slås fra for websites, der afspiller lyd</translation>
+<translation id="360180734785106144">Tilbyde nye funktioner, efterhånden som de bliver tilgængelige</translation>
 <translation id="3602290021589620013">Forhåndsvisning</translation>
 <translation id="3603533104205588786">Du kan klikke på stjernen for at tilføje siden som bogmærke</translation>
 <translation id="3603622770190368340">Få fat i et netværkscertifikat</translation>
@@ -2065,7 +2070,6 @@
 <translation id="4068506536726151626">Denne side indeholder elementer fra følgende websites, som sporer din placering:</translation>
 <translation id="4068776064906523561">Gemte fingeraftryk</translation>
 <translation id="407173827865827707">Ved klik</translation>
-<translation id="4071770069230198275"><ph name="PROFILE_NAME" />: loginfejl</translation>
 <translation id="4074900173531346617">Certifikat til e-mailunderskriver</translation>
 <translation id="407520071244661467">Skaler</translation>
 <translation id="4075639477629295004"><ph name="FILE_NAME" /> kunne ikke castes.</translation>
@@ -2867,6 +2871,7 @@
 <translation id="5332624210073556029">Tidszone:</translation>
 <translation id="5334142896108694079">Scriptcache</translation>
 <translation id="5334844597069022743">Vis kilde</translation>
+<translation id="5334899159203764908">Få flere oplysninger om <ph name="BEGIN_LINK" />websiteadgang<ph name="END_LINK" /></translation>
 <translation id="5335458522276292100">Sikkerhedskopierer <ph name="FILE_COUNT" /> til <ph name="BEGIN_LINK" />Google Drev<ph name="END_LINK" /></translation>
 <translation id="5336126339807372270">Tillad ikke, at websites kan få adgang til USB-enheder</translation>
 <translation id="5337771866151525739">Den er installeret af en tredjepart.</translation>
@@ -2974,6 +2979,7 @@
 <translation id="5487521232677179737">Ryd data</translation>
 <translation id="5488093641312826914">"<ph name="COPIED_ITEM_NAME" />" er kopieret</translation>
 <translation id="5488468185303821006">Tillad i inkognito</translation>
+<translation id="5489121514345187313">Din Chromebook fungerer endnu bedre sammen med din telefon. <ph name="LINK_BEGIN" />Få flere oplysninger<ph name="LINK_END" />.</translation>
 <translation id="5489435190927933437">Gemte adgangskoder til <ph name="DOMAIN" /></translation>
 <translation id="5491110079163012109">Send systemdata. Send automatisk diagnostik og data om enheds- og appforbrug til Google. Denne indstilling håndhæves af ejeren. Ejeren kan vælge at sende diagnostik og forbrugsdata for denne enhed til Google. Du kan muligvis se dette i indstillingerne. Hvis du derudover har aktiveret Web- og app-aktivitet, gemmes disse oplysninger på din konto, så du kan administrere dem i Min aktivitet. <ph name="BEGIN_LINK1" />Få flere oplysninger<ph name="END_LINK1" /></translation>
 <translation id="5493792505296048976">skærmen er tændt</translation>
@@ -3145,6 +3151,7 @@
 <translation id="5731409020711461763">1 nyt billede</translation>
 <translation id="5734362860645681824">Kommunikation</translation>
 <translation id="5736796278325406685">Angiv et gyldigt brugernavn</translation>
+<translation id="5739235828260127894">Venter på bekræftelse. <ph name="LINK_BEGIN" />Få flere oplysninger<ph name="LINK_END" /></translation>
 <translation id="5739458112391494395">Meget stor</translation>
 <translation id="5740331643563157105"><ph name="LANGUAGE_1" />, <ph name="LANGUAGE_2" /> og <ph name="NUM_ADDITIONAL_LANGUAGES" /> andre</translation>
 <translation id="574209121243317957">Toneleje</translation>
@@ -3248,6 +3255,7 @@
 <translation id="5870086504539785141">Luk menuen for hjælpefunktioner</translation>
 <translation id="5870155679953074650">Hårde fejl</translation>
 <translation id="5877064549588274448">Kanalen er ændret. Genstart din enhed for at anvende ændringerne.</translation>
+<translation id="5877584842898320529">Den valgte printer er ikke tilgængelig eller ikke installeret korrekt. <ph name="BR" /> Tjek din printer, eller vælg en anden printer.</translation>
 <translation id="5880247576487732437">Token til stede</translation>
 <translation id="5882919346125742463">Kendte netværk</translation>
 <translation id="5884474295213649357">Denne fane er sluttet til en USB-enhed.</translation>
@@ -3314,6 +3322,7 @@
 <translation id="5979469435153841984">Klik på stjernen i adresselinjen for at gemme sider som bogmærker.</translation>
 <translation id="5982621672636444458">Sorteringsmuligheder</translation>
 <translation id="5984222099446776634">Besøgt for nylig</translation>
+<translation id="5985458664595100876">Ugyldigt webadresseformat. De understøttede formater er \\server\share og smb://server/share.</translation>
 <translation id="5990142338020175451">Mere personlige Google-tjenester, f.eks. bedre sideforslag</translation>
 <translation id="5990386583461751448">Oversat</translation>
 <translation id="5991049340509704927">Forstør</translation>
@@ -3342,6 +3351,7 @@
 <translation id="6026819612896463875"><ph name="WINDOW_TITLE" /> – en USB-enhed er forbundet</translation>
 <translation id="6028117231645531007">Tilføj fingeraftryk</translation>
 <translation id="6029027682598229313">Installationen af Linux blev gennemført.</translation>
+<translation id="6029292188939175871">slet [<ph name="FINGERPRINT_NAME" />], knap</translation>
 <translation id="6029587122245504742">Langsomst</translation>
 <translation id="6032912588568283682">Filsystem</translation>
 <translation id="6034662038931255275">OS-opdateringen er fuldført</translation>
@@ -3456,7 +3466,6 @@
 <translation id="6185132558746749656">Enhedsplacering</translation>
 <translation id="6185617499004995178">CUPS IPP-validering</translation>
 <translation id="6185696379715117369">Gå en side op</translation>
-<translation id="6189273858858366896">Konfigurer eller administrer fildeling via netværk.</translation>
 <translation id="6189412234224385711">Åbn med <ph name="EXTENSION_NAME" /></translation>
 <translation id="6196640612572343990">Bloker cookies fra tredjeparter</translation>
 <translation id="6196854373336333322">Udvidelsen <ph name="EXTENSION_NAME" /> har taget kontrol over dine proxyindstillinger, hvilket betyder, at den kan ændre, ødelægge eller aflytte alt, hvad du foretager dig på nettet. Hvis du ikke er sikker på, hvorfor denne ændring er sket, er den sandsynligvis uønsket.</translation>
@@ -3762,6 +3771,7 @@
 <translation id="6643016212128521049">Ryd</translation>
 <translation id="6644512095122093795">Få tilbudt at gemme adgangskoder</translation>
 <translation id="6644846457769259194">Opdaterer din enhed (<ph name="PROGRESS_PERCENT" />)</translation>
+<translation id="6645437135153136856">Den valgte Google Cloudprinter-enhed understøttes ikke længere. <ph name="BR" /> Prøv at konfigurere printeren i systemindstillingerne på din computer.</translation>
 <translation id="6647228709620733774">Webadresse for tilbagekaldelse af Netscape-certifikatautoritet</translation>
 <translation id="6647838571840953560">I øjeblikket på <ph name="CHANNEL_NAME" /></translation>
 <translation id="6648051959475508072">En sikkerhedsnøgle er aktiveret...</translation>
@@ -3783,7 +3793,6 @@
 <translation id="667517062706956822">Skal Google oversætte denne side fra <ph name="SOURCE_LANGUAGE" /> til <ph name="TARGET_LANGUAGE" />?</translation>
 <translation id="6675665718701918026">Pegeredskabet er tilsluttet</translation>
 <translation id="6678717876183468697">Webadresse for søgeforespørgsler</translation>
-<translation id="6680028776254050810">Skift bruger</translation>
 <translation id="6680442031740878064">Tilgængelig: <ph name="AVAILABLE_SPACE" /></translation>
 <translation id="6680650203439190394">Talehastighed</translation>
 <translation id="6681668084120808868">Tag billede</translation>
@@ -3792,7 +3801,6 @@
 <translation id="668599234725812620">Åbn Google Play</translation>
 <translation id="6686490380836145850">Luk fanerne til højre</translation>
 <translation id="6686817083349815241">Gem din adgangskode</translation>
-<translation id="6690565918367819723"><ph name="PROFILE_NAME" /> Skift person</translation>
 <translation id="6690659332373509948">Filen kan ikke parses: <ph name="FILE_NAME" /></translation>
 <translation id="6690751852586194791">Vælg en administreret bruger, der skal føjes til denne enhed.</translation>
 <translation id="6691331417640343772">Administrer synkroniserede data i Google Betjeningspanel</translation>
@@ -4129,6 +4137,7 @@
 <translation id="7201118060536064622">"<ph name="DELETED_ITEM_NAME" />" er slettet</translation>
 <translation id="7206693748120342859">Downloader <ph name="PLUGIN_NAME" />...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Forlad side}one{Forlad side}other{Forlad sider}}</translation>
+<translation id="7210499381659830293">Udvidelsesprintere</translation>
 <translation id="721467499098558573">Hold knappen på din sikkerhedsnøgle inde i mindst fem sekunder</translation>
 <translation id="7216409898977639127">Mobilselskab</translation>
 <translation id="7216595297012131718">Sortér sprog efter dine præferencer</translation>
@@ -4207,6 +4216,7 @@
 <translation id="7321545336522791733">Serveren er utilgængelig</translation>
 <translation id="7324297612904500502">Betaforum</translation>
 <translation id="7325437708553334317">Udvidelsen Høj kontrast</translation>
+<translation id="7328162502911382168">(<ph name="COUNT" />)</translation>
 <translation id="7328867076235380839">Ugyldig kombination</translation>
 <translation id="7329154610228416156">Login mislykkedes, da det er konfigureret til at anvende en webadresse, der ikke er sikker (<ph name="BLOCKED_URL" />). Kontakt din administrator.</translation>
 <translation id="7334190995941642545">Smart Lock er ikke tilgængelig i øjeblikket. Prøv igen senere.</translation>
@@ -4797,6 +4807,7 @@
 <translation id="8199300056570174101">Egenskaber for netværkstjeneste og enhed</translation>
 <translation id="8200772114523450471">Genoptag</translation>
 <translation id="8202160505685531999">Angiv adgangskoden igen for at opdatere din <ph name="DEVICE_TYPE" />-profil.</translation>
+<translation id="8203732864715032075">Sende dig underretninger og huske denne computer som standard til Beskeder. <ph name="LINK_BEGIN" />Få flere oplysninger<ph name="LINK_END" /></translation>
 <translation id="8206354486702514201">Denne indstilling håndhæves af din administrator.</translation>
 <translation id="8206745257863499010">BB King</translation>
 <translation id="8209677645716428427">En administreret bruger kan søge på nettet med din hjælp. Som administrator for en administreret bruger i Chrome kan du:</translation>
@@ -5108,7 +5119,6 @@
 <translation id="869884720829132584">Programmenu</translation>
 <translation id="869891660844655955">Udløbsdato</translation>
 <translation id="8699566574894671540">Hvis du vil aktivere indstillingen, skal du først vælge Kontrollér stavning under indtastning i menuen Rediger</translation>
-<translation id="870073306461175568">Fildeling via netværk</translation>
 <translation id="8701677791353449257">Enhedsnavnet skal matche det regulære udtryk <ph name="REGEX" />.</translation>
 <translation id="8704521619148782536">Det tager meget længere tid end normalt. Fortsæt med at vente, eller annuller og prøv igen senere.</translation>
 <translation id="8705331520020532516">Serienummer</translation>
@@ -5294,7 +5304,6 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> – gået ned</translation>
 <translation id="8983677657449185470">Vær med til at forbedre Beskyttet browsing</translation>
 <translation id="8984179138335769204">Hurtig start</translation>
-<translation id="8984654317541110628">Webadresse til fildeling</translation>
 <translation id="8986362086234534611">Glem</translation>
 <translation id="8986494364107987395">Send automatisk brugsstatistikker og nedbrudsrapporter til Google</translation>
 <translation id="8987927404178983737">Måned</translation>
diff --git a/chrome/app/resources/generated_resources_de.xtb b/chrome/app/resources/generated_resources_de.xtb
index 0356a8f..9d34a31 100644
--- a/chrome/app/resources/generated_resources_de.xtb
+++ b/chrome/app/resources/generated_resources_de.xtb
@@ -275,6 +275,7 @@
 <translation id="1395730723686586365">Updater gestartet</translation>
 <translation id="1396139853388185343">Fehler beim Einrichten des Druckers</translation>
 <translation id="1396963298126346194">Der eingegebene Nutzername und das Passwort stimmen nicht überein</translation>
+<translation id="1397500194120344683">Keine geeigneten Geräte vorhanden. <ph name="LINK_BEGIN" />Weitere Informationen<ph name="LINK_END" /></translation>
 <translation id="1397854323885047133">Synchronisieren und personalisieren</translation>
 <translation id="1398853756734560583">Vergrößern</translation>
 <translation id="1399511500114202393">Kein Nutzerzertifikat</translation>
@@ -372,7 +373,6 @@
 <translation id="1531004739673299060">Anwendungsfenster</translation>
 <translation id="15373452373711364">Großer Cursor</translation>
 <translation id="1538729222189715449">Linux-Dateien werden geöffnet…</translation>
-<translation id="153933193410874873">Wir konnten Ihre Identität auf diesem Gerät nicht überprüfen</translation>
 <translation id="1540605929960647700">Demomodus aktivieren</translation>
 <translation id="1543284117603151572">Aus Edge importiert</translation>
 <translation id="1545177026077493356">Automatischer Kioskmodus</translation>
@@ -526,6 +526,7 @@
 <translation id="175772926354468439">Design aktivieren</translation>
 <translation id="1758018619400202187">EAP-TLS</translation>
 <translation id="17584710573359123">Im Chrome Web Store ansehen</translation>
+<translation id="176193854664720708">Der Fingerabdrucksensor ist in die Ein-/Aus-Taste integriert. Berühren Sie diese leicht mit dem Finger.</translation>
 <translation id="1763046204212875858">App-Verknüpfungen erstellen</translation>
 <translation id="1763108912552529023">Weiter erkunden</translation>
 <translation id="1763808908432309942">Wird in einem neuen Tab geöffnet</translation>
@@ -679,7 +680,6 @@
 <translation id="1981115145845865539"><ph name="DEVICE_TYPE" /> automatisch entsperren</translation>
 <translation id="1983959805486816857">Nach der Erstellung eines neuen betreuten Nutzers können Sie die Einstellungen jederzeit von jedem Gerät aus unter <ph name="MANAGEMENT_URL" /> verwalten.</translation>
 <translation id="1984642098429648350">Fenster rechts verankern</translation>
-<translation id="1987139229093034863">Zu anderem Nutzer wechseln</translation>
 <translation id="1987317783729300807">Konten</translation>
 <translation id="1989112275319619282">Durchsuchen</translation>
 <translation id="1992397118740194946">Nicht eingerichtet</translation>
@@ -820,6 +820,7 @@
 <translation id="2208158072373999562">ZIP-Archiv</translation>
 <translation id="220858061631308971">Geben Sie diesen PIN-Code bitte auf "<ph name="DEVICE_NAME" /> " ein:</translation>
 <translation id="2209593327042758816">Ablageartikel 2</translation>
+<translation id="2212126039311489237">Über das Systemdialogfeld drucken</translation>
 <translation id="2217501013957346740">Namen erstellen –</translation>
 <translation id="2218019600945559112">Maus und Touchpad</translation>
 <translation id="2218320521449013367">Beim Entfernen schädlicher Software ist ein Fehler aufgetreten</translation>
@@ -932,6 +933,7 @@
 <translation id="2378075407703503998"><ph name="SELCTED_FILE_COUNT" /> Dateien ausgewählt</translation>
 <translation id="237828693408258535">Diese Seite übersetzen?</translation>
 <translation id="2378982052244864789">Erweiterungsverzeichnis auswählen</translation>
+<translation id="2379281330731083556">Über das Systemdialogfeld drucken... <ph name="SHORTCUT_KEY" /></translation>
 <translation id="2381756643783702095">Vor dem Senden nachfragen (empfohlen)</translation>
 <translation id="2384436799579181135">Ein Fehler ist aufgetreten. Bitte überprüfen Sie Ihren Drucker und versuchen Sie es noch einmal.</translation>
 <translation id="2387458720915042159">Proxy-Verbindungstyp</translation>
@@ -1110,6 +1112,7 @@
 <translation id="2653659639078652383">Senden</translation>
 <translation id="265390580714150011">Feldwert</translation>
 <translation id="2654166010170466751">Installation von Zahlungs-Handlern auf Websites zulassen</translation>
+<translation id="2656742821229528729">Sie können Ihr Android-Smartphone mit Ihrem Chromebook verbinden, um Textnachrichten von Ihrem Computer zu senden, die Internetverbindung zu teilen und das Chromebook mit Ihrem Smartphone zu entsperren.<ph name="FOOTNOTE_POINTER" /> <ph name="LINK_BEGIN" />Weitere Informationen<ph name="LINK_END" /></translation>
 <translation id="2659381484350128933"><ph name="FOOTNOTE_POINTER" /> Die Funktionen variieren je nach Gerät</translation>
 <translation id="2660779039299703961">Ereignis</translation>
 <translation id="266079277508604648">Verbindung zum Drucker nicht möglich. Vergewissern Sie sich, dass der Drucker aktiviert und über WLAN oder USB mit Ihrem Chromebook verbunden ist.</translation>
@@ -1414,6 +1417,7 @@
 <translation id="3115128645424181617">Smartphone wurde nicht gefunden. Vergewissern Sie sich, dass es sich in Reichweite befindet und dass Bluetooth aktiviert ist.</translation>
 <translation id="3115147772012638511">Warten auf den Cache...</translation>
 <translation id="3118319026408854581"><ph name="PRODUCT_NAME" />-Hilfe</translation>
+<translation id="3119484583572640616">Wenn Sie Better Together aktivieren, erhalten Sie Zugriff auf folgende Funktionen:</translation>
 <translation id="3120430004221004537">Unzureichende Verschlüsselung für einen bestimmten Vorgang auf folgendem Gerät: "<ph name="DEVICE_NAME" />".</translation>
 <translation id="3121793941267913344"><ph name="IDS_SHORT_PRODUCT_NAME" />-Gerät zurücksetzen</translation>
 <translation id="3122464029669770682">CPU</translation>
@@ -1728,6 +1732,7 @@
 <translation id="3596235046596950091">Clouddienste aktivieren</translation>
 <translation id="3599863153486145794">Löscht den Verlauf bei allen angemeldeten Geräten. Möglicherweise verfügt Ihr Google-Konto unter <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> über andere Browserverläufe.</translation>
 <translation id="3600792891314830896">Websites stummschalten, die Ton wiedergeben</translation>
+<translation id="360180734785106144">Neue Funktionen anbieten, sobald sie verfügbar sind</translation>
 <translation id="3602290021589620013">Vorschau</translation>
 <translation id="3603533104205588786">Sie können auf den Stern klicken, um eine Seite als Lesezeichen zu speichern</translation>
 <translation id="3603622770190368340">Netzwerkzertifikat anfordern</translation>
@@ -2063,7 +2068,6 @@
 <translation id="4068506536726151626">Diese Seite enthält Elemente von folgenden Websites, die Ihren Standort nachverfolgen:</translation>
 <translation id="4068776064906523561">Gespeicherte Fingerabdrücke</translation>
 <translation id="407173827865827707">Bei Klick</translation>
-<translation id="4071770069230198275"><ph name="PROFILE_NAME" />: Anmeldefehler</translation>
 <translation id="4074900173531346617">Zertifikat für E-Mail-Signaturen</translation>
 <translation id="407520071244661467">Skalieren</translation>
 <translation id="4075639477629295004"><ph name="FILE_NAME" /> kann nicht gestreamt werden.</translation>
@@ -2865,6 +2869,7 @@
 <translation id="5332624210073556029">Zeitzone:</translation>
 <translation id="5334142896108694079">Skript-Cache</translation>
 <translation id="5334844597069022743">Quelltext anzeigen</translation>
+<translation id="5334899159203764908">Weitere Informationen zum <ph name="BEGIN_LINK" />Websitezugriff<ph name="END_LINK" /></translation>
 <translation id="5335458522276292100"><ph name="FILE_COUNT" /> werden auf <ph name="BEGIN_LINK" />Google Drive<ph name="END_LINK" /> gesichert</translation>
 <translation id="5336126339807372270">Websites nicht erlauben, auf USB-Geräte zuzugreifen</translation>
 <translation id="5337771866151525739">Von einem Drittanbieter installiert</translation>
@@ -2972,6 +2977,7 @@
 <translation id="5487521232677179737">Daten löschen</translation>
 <translation id="5488093641312826914">"<ph name="COPIED_ITEM_NAME" />" kopiert</translation>
 <translation id="5488468185303821006">Im Inkognitomodus zulassen</translation>
+<translation id="5489121514345187313">Ihr Chromebook wird noch besser, wenn Sie Ihr Smartphone damit verbinden. <ph name="LINK_BEGIN" />Weitere Informationen<ph name="LINK_END" /></translation>
 <translation id="5489435190927933437">Gespeicherte Passwörter für <ph name="DOMAIN" /></translation>
 <translation id="5491110079163012109">Systemdaten senden. Diagnosedaten sowie Geräte- und App-Nutzungsdaten werden automatisch an Google gesendet. Diese Einstellung wird durch den Eigentümer erzwungen. Der Eigentümer kann festlegen, ob Diagnose- und Nutzungsdaten von diesem Gerät an Google gesendet werden. Sie können das in den Einstellungen überprüfen. Wenn Sie zusätzliche Web- &amp; App-Aktivitäten aktiviert haben, werden diese Informationen in Ihrem Konto gespeichert, damit Sie sie unter "Meine Aktivitäten" verwalten können. <ph name="BEGIN_LINK1" />Weitere Informationen<ph name="END_LINK1" /></translation>
 <translation id="5493792505296048976">Bildschirm an</translation>
@@ -3143,6 +3149,7 @@
 <translation id="5731409020711461763">1 neues Foto</translation>
 <translation id="5734362860645681824">Kommunikation</translation>
 <translation id="5736796278325406685">Bitte geben Sie einen gültigen Nutzernamen ein</translation>
+<translation id="5739235828260127894">Bestätigung steht aus. <ph name="LINK_BEGIN" />Weitere Informationen<ph name="LINK_END" /></translation>
 <translation id="5739458112391494395">Sehr groß</translation>
 <translation id="5740331643563157105"><ph name="LANGUAGE_1" />, <ph name="LANGUAGE_2" /> und <ph name="NUM_ADDITIONAL_LANGUAGES" /> andere Sprachen</translation>
 <translation id="574209121243317957">Tonhöhe</translation>
@@ -3246,6 +3253,7 @@
 <translation id="5870086504539785141">Bedienungshilfemenü schließen</translation>
 <translation id="5870155679953074650">Harte Fehler</translation>
 <translation id="5877064549588274448">Kanal wurde geändert. Starten Sie Ihr Gerät neu, um die Änderungen zu übernehmen.</translation>
+<translation id="5877584842898320529">Der ausgewählte Drucker ist entweder nicht verfügbar oder nicht ordnungsgemäß installiert. <ph name="BR" /> Überprüfen Sie den Drucker oder wählen Sie einen anderen Drucker aus.</translation>
 <translation id="5880247576487732437">Token vorhanden</translation>
 <translation id="5882919346125742463">Bekannte Netzwerke</translation>
 <translation id="5884474295213649357">Dieser Tab ist mit einem USB-Gerät verbunden.</translation>
@@ -3312,9 +3320,12 @@
 <translation id="5979469435153841984">Klicken Sie auf den Stern in der Adressleiste, um Seiten als Lesezeichen zu speichern</translation>
 <translation id="5982621672636444458">Sortieroptionen</translation>
 <translation id="5984222099446776634">Kürzlich besucht</translation>
+<translation id="5985458664595100876">Ungültiges URL-Format. Unterstützt werden \\server\share und smb://server/share.</translation>
+<translation id="5990142338020175451">Personalisierte Google-Dienste, z. B. bessere Seitenvorschläge</translation>
 <translation id="5990386583461751448">Übersetzt</translation>
 <translation id="5991049340509704927">Vergrößern</translation>
 <translation id="599131315899248751">{NUM_APPLICATIONS,plural, =1{Bitten Sie den Administrator, diese Anwendung zu entfernen, damit Sie weiterhin im Web surfen können.}other{Bitten Sie den Administrator, diese Anwendungen zu entfernen, damit Sie weiterhin im Web surfen können.}}</translation>
+<translation id="5997337190805127100">Weitere Informationen zum Websitezugriff</translation>
 <translation id="6002458620803359783">Bevorzugte Stimmen</translation>
 <translation id="6005695835120147974">Media Router</translation>
 <translation id="6006484371116297560">Klassisch</translation>
@@ -3338,6 +3349,7 @@
 <translation id="6026819612896463875"><ph name="WINDOW_TITLE" /> – USB-Gerät verbunden</translation>
 <translation id="6028117231645531007">Fingerabdruck hinzufügen</translation>
 <translation id="6029027682598229313">Die Linux-Installation ist abgeschlossen.</translation>
+<translation id="6029292188939175871">[<ph name="FINGERPRINT_NAME" />] löschen, Schaltfläche</translation>
 <translation id="6029587122245504742">Langsamste</translation>
 <translation id="6032912588568283682">Dateisystem</translation>
 <translation id="6034662038931255275">Betriebssystem-Update erfolgreich</translation>
@@ -3451,7 +3463,6 @@
 <translation id="6185132558746749656">Gerätestandort</translation>
 <translation id="6185617499004995178">CUPS-IPP-Validierung</translation>
 <translation id="6185696379715117369">Bildlauf nach oben</translation>
-<translation id="6189273858858366896">Netzwerkfreigaben einrichten oder verwalten.</translation>
 <translation id="6189412234224385711">Öffnen mit <ph name="EXTENSION_NAME" /></translation>
 <translation id="6196640612572343990">Drittanbieter-Cookies blockieren</translation>
 <translation id="6196854373336333322">Die Erweiterung <ph name="EXTENSION_NAME" /> hat die Kontrolle über Ihre Proxyeinstellungen übernommen. Das bedeutet, dass sie sämtliche Onlineaktivitäten ändern, abbrechen oder überwachen kann. Wenn Sie nicht sicher sind, wie es zu dieser Änderung gekommen ist, war sie wahrscheinlich nicht beabsichtigt.</translation>
@@ -3757,6 +3768,7 @@
 <translation id="6643016212128521049">Löschen</translation>
 <translation id="6644512095122093795">Speichern von Passwörtern anbieten</translation>
 <translation id="6644846457769259194">Gerät wird aktualisiert (<ph name="PROGRESS_PERCENT" />)</translation>
+<translation id="6645437135153136856">Das ausgewählte Google Cloud Print-Gerät wird nicht mehr unterstützt. <ph name="BR" /> Versuchen Sie, den Drucker in den Systemeinstellungen Ihres Computers einzurichten.</translation>
 <translation id="6647228709620733774">URL zum Zurückrufen der Zertifizierungsstelle von Netscape-Zertifikaten</translation>
 <translation id="6647838571840953560">Derzeit auf <ph name="CHANNEL_NAME" /></translation>
 <translation id="6648051959475508072">Sicherheitsschlüssel aktiviert…</translation>
@@ -3778,7 +3790,6 @@
 <translation id="667517062706956822">Soll Google diese Seite von <ph name="SOURCE_LANGUAGE" /> in <ph name="TARGET_LANGUAGE" /> übersetzen?</translation>
 <translation id="6675665718701918026">Zeigegerät verbunden</translation>
 <translation id="6678717876183468697">Abfrage-URL</translation>
-<translation id="6680028776254050810">Nutzer wechseln</translation>
 <translation id="6680442031740878064">Verfügbar: <ph name="AVAILABLE_SPACE" /></translation>
 <translation id="6680650203439190394">Geschwindigkeit</translation>
 <translation id="6681668084120808868">Foto machen</translation>
@@ -3787,7 +3798,6 @@
 <translation id="668599234725812620">Google Play öffnen</translation>
 <translation id="6686490380836145850">Tabs rechts schließen</translation>
 <translation id="6686817083349815241">Passwort speichern</translation>
-<translation id="6690565918367819723"><ph name="PROFILE_NAME" /> Person wechseln</translation>
 <translation id="6690659332373509948">Datei kann nicht geparst werden: <ph name="FILE_NAME" /></translation>
 <translation id="6690751852586194791">Wählen Sie einen betreuten Nutzer aus, der zu diesem Gerät hinzugefügt werden soll.</translation>
 <translation id="6691331417640343772">Synchronisierte Daten im Google Dashboard verwalten</translation>
@@ -4011,6 +4021,7 @@
 <translation id="7040230719604914234">Operator</translation>
 <translation id="7042418530779813870">Einfügen und &amp;suchen</translation>
 <translation id="7043108582968290193">Fertig! Keine nicht kompatiblen Anwendungen gefunden.</translation>
+<translation id="7044124535091449260">Weitere Informationen zum Websitezugriff</translation>
 <translation id="7049293980323620022">Datei beibehalten?</translation>
 <translation id="7051943809462976355">Suche nach Maus läuft...</translation>
 <translation id="7052237160939977163">Daten der Leistungsnachverfolgung senden</translation>
@@ -4123,6 +4134,7 @@
 <translation id="7201118060536064622">"<ph name="DELETED_ITEM_NAME" />" wurde gelöscht</translation>
 <translation id="7206693748120342859"><ph name="PLUGIN_NAME" /> wird heruntergeladen...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Seite verlassen}other{Seiten verlassen}}</translation>
+<translation id="7210499381659830293">Erweiterungsdrucker</translation>
 <translation id="721467499098558573">Halten Sie die Taste auf Ihrem Sicherheitsschlüssel mindestens fünf Sekunden lang gedrückt</translation>
 <translation id="7216409898977639127">Mobilfunkanbieter</translation>
 <translation id="7216595297012131718">Ordnen Sie Sprachen in der gewünschten Reihenfolge an</translation>
@@ -4201,6 +4213,7 @@
 <translation id="7321545336522791733">Server nicht erreichbar</translation>
 <translation id="7324297612904500502">Beta-Forum</translation>
 <translation id="7325437708553334317">High Contrast-Erweiterung</translation>
+<translation id="7328162502911382168">(<ph name="COUNT" />)</translation>
 <translation id="7328867076235380839">Ungültige Kombination</translation>
 <translation id="7329154610228416156">Sie konnten nicht angemeldet werden, weil in der Konfiguration eine unsichere URL angegeben ist (<ph name="BLOCKED_URL" />). Bitte wenden Sie sich an Ihren Administrator.</translation>
 <translation id="7334190995941642545">Smart Lock ist momentan nicht verfügbar. Bitte versuchen Sie es später erneut.</translation>
@@ -4792,6 +4805,7 @@
 <translation id="8199300056570174101">Netzwerk(dienst) und Geräteeigenschaften</translation>
 <translation id="8200772114523450471">Fortsetzen</translation>
 <translation id="8202160505685531999">Geben Sie Ihr Passwort erneut ein, um Ihr <ph name="DEVICE_TYPE" />-Profil zu aktualisieren.</translation>
+<translation id="8203732864715032075">Messages sendet Benachrichtigungen und merkt sich diesen Computer. <ph name="LINK_BEGIN" />Weitere Informationen<ph name="LINK_END" /></translation>
 <translation id="8206354486702514201">Diese Einstellung wird von Ihrem Administrator erzwungen.</translation>
 <translation id="8206745257863499010">Blues</translation>
 <translation id="8209677645716428427">Sie können die Weberfahrung von betreuten Nutzern anpassen. Als Manager eines betreuten Nutzers in Chrome können Sie:</translation>
@@ -5104,7 +5118,6 @@
 <translation id="869884720829132584">Apps-Menü</translation>
 <translation id="869891660844655955">Ablaufdatum</translation>
 <translation id="8699566574894671540">Wenn Sie diese Funktion aktivieren möchten, müssen Sie zuerst die Option "Rechtschreibung während der Eingabe prüfen" im Menü "Bearbeiten" auswählen</translation>
-<translation id="870073306461175568">Netzwerkfreigaben</translation>
 <translation id="8701677791353449257">Der Gerätename muss mit dem regulären Ausdruck <ph name="REGEX" /> übereinstimmen.</translation>
 <translation id="8704521619148782536">Der Vorgang dauert deutlich länger als erwartet. Sie können weiter warten oder den Vorgang abbrechen und es später erneut versuchen.</translation>
 <translation id="8705331520020532516">Seriennummer</translation>
@@ -5289,7 +5302,6 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> – abgestürzt</translation>
 <translation id="8983677657449185470">Bei der Optimierung von Safe Browsing helfen</translation>
 <translation id="8984179138335769204">Schnellstart</translation>
-<translation id="8984654317541110628">Dateifreigabe-URL</translation>
 <translation id="8986362086234534611">Entfernen</translation>
 <translation id="8986494364107987395">Nutzungsstatistiken und Absturzberichte automatisch an Google senden</translation>
 <translation id="8987927404178983737">Monat</translation>
diff --git a/chrome/app/resources/generated_resources_el.xtb b/chrome/app/resources/generated_resources_el.xtb
index 7c3852dd..ddd0c964 100644
--- a/chrome/app/resources/generated_resources_el.xtb
+++ b/chrome/app/resources/generated_resources_el.xtb
@@ -275,6 +275,7 @@
 <translation id="1395730723686586365">Ξεκίνησε το πρόγραμμα ενημέρωσης</translation>
 <translation id="1396139853388185343">Σφάλμα κατά τη ρύθμιση του εκτυπωτή</translation>
 <translation id="1396963298126346194">Το όνομα χρήστη και ο κωδικός πρόσβασης που καταχωρίσατε δεν ταιριάζουν</translation>
+<translation id="1397500194120344683">Δεν υπάρχουν κατάλληλες συσκευές. <ph name="LINK_BEGIN" />Μάθετε περισσότερα<ph name="LINK_END" /></translation>
 <translation id="1397854323885047133">Συγχρονισμός και εξατομίκευση</translation>
 <translation id="1398853756734560583">Μεγιστοποίηση</translation>
 <translation id="1399511500114202393">Δεν υπάρχει πιστοποιητικό χρήστη</translation>
@@ -375,7 +376,6 @@
 <translation id="1531004739673299060">Παράθυρο εφαρμογής</translation>
 <translation id="15373452373711364">Μεγάλος δείκτης ποντικιού</translation>
 <translation id="1538729222189715449">Άνοιγμα αρχείων Linux…</translation>
-<translation id="153933193410874873">Δεν ήταν δυνατή η επαλήθευση της ταυτότητάς σας σε αυτήν τη συσκευή</translation>
 <translation id="1540605929960647700">Ενεργοποίηση λειτουργίας επίδειξης</translation>
 <translation id="1543284117603151572">Εισαγωγή από το Edge</translation>
 <translation id="1545177026077493356">Αυτόματη λειτουργία kiosk</translation>
@@ -529,6 +529,7 @@
 <translation id="175772926354468439">Ενεργοποίηση θέματος</translation>
 <translation id="1758018619400202187">EAP-TLS</translation>
 <translation id="17584710573359123">Προβολή στο Chrome Web Store</translation>
+<translation id="176193854664720708">Ο αισθητήρας δακτυλικού αποτυπώματος βρίσκεται στο κουμπί λειτουργίας. Αγγίξτε το ελαφρώς με οποιοδήποτε δάκτυλο.</translation>
 <translation id="1763046204212875858">Δημιουργία συντομεύσεων εφαρμογής</translation>
 <translation id="1763108912552529023">Συνεχίστε την εξερεύνηση</translation>
 <translation id="1763808908432309942">Ανοίγει σε νέα καρτέλα</translation>
@@ -682,7 +683,6 @@
 <translation id="1981115145845865539">Ξεκλειδώστε αυτόματα το <ph name="DEVICE_TYPE" /></translation>
 <translation id="1983959805486816857">Αφού δημιουργήσετε ένα νέο εποπτευόμενο χρήστη, μπορείτε να διαχειριστείτε τις ρυθμίσεις ανά πάσα στιγμή και από οποιαδήποτε συσκευή στη διεύθυνση <ph name="MANAGEMENT_URL" /> .</translation>
 <translation id="1984642098429648350">Αγκύρωση παραθύρου δεξιά</translation>
-<translation id="1987139229093034863">Μετάβαση σε διαφορετικό χρήστη.</translation>
 <translation id="1987317783729300807">Λογαριασμοί</translation>
 <translation id="1989112275319619282">Περιήγηση</translation>
 <translation id="1992397118740194946">Δεν έχει οριστεί</translation>
@@ -823,6 +823,7 @@
 <translation id="2208158072373999562">Αρχείο Zip</translation>
 <translation id="220858061631308971">Εισαγάγετε αυτόν τον κωδικό PIN στη συσκευή "<ph name="DEVICE_NAME" />":</translation>
 <translation id="2209593327042758816">Στοιχείο ραφιού 2</translation>
+<translation id="2212126039311489237">Εκτύπωση με χρήση του παραθύρου διαλόγου του συστήματος</translation>
 <translation id="2217501013957346740">Δημιουργία ονόματος -</translation>
 <translation id="2218019600945559112">Ποντίκι και επιφάνεια αφής</translation>
 <translation id="2218320521449013367">Παρουσιάστηκε ένα σφάλμα κατά την κατάργηση επιβλαβούς λογισμικού από το Chrome</translation>
@@ -935,6 +936,7 @@
 <translation id="2378075407703503998">Έχουν επιλεγεί <ph name="SELCTED_FILE_COUNT" /> αρχεία</translation>
 <translation id="237828693408258535">Θέλετε να μεταφραστεί αυτή η σελίδα;</translation>
 <translation id="2378982052244864789">Επιλέξτε τον κατάλογο επεκτάσεων.</translation>
+<translation id="2379281330731083556">Εκτύπωση με χρήση του παραθύρου διαλόγου συστήματος... <ph name="SHORTCUT_KEY" /></translation>
 <translation id="2381756643783702095">Ερώτηση πριν από την αποστολή (συνιστάται)</translation>
 <translation id="2384436799579181135">Προέκυψε σφάλμα. Ελέγξτε τον εκτυπωτή σας και δοκιμάστε ξανά.</translation>
 <translation id="2387458720915042159">Τύπος σύνδεσης διακομιστή μεσολάβησης</translation>
@@ -1114,6 +1116,7 @@
 <translation id="2653659639078652383">Υποβολή</translation>
 <translation id="265390580714150011">Τιμή πεδίου</translation>
 <translation id="2654166010170466751">Να επιτρέπεται σε ιστοτόπους η εγκατάσταση δεικτών χειρισμού για πληρωμές</translation>
+<translation id="2656742821229528729">Συνδέστε το τηλέφωνο Android και το Chromebook, για να στέλνετε μηνύματα κειμένου από τον υπολογιστή σας, να μοιράζεστε τη σύνδεση στο διαδίκτυο και αν ξεκλειδώνετε το Chromebook με το τηλέφωνό σας.<ph name="FOOTNOTE_POINTER" /> <ph name="LINK_BEGIN" />Μάθετε περισσότερα<ph name="LINK_END" /></translation>
 <translation id="2659381484350128933"><ph name="FOOTNOTE_POINTER" />Οι λειτουργίες διαφέρουν ανά συσκευή</translation>
 <translation id="2660779039299703961">Συμβάν</translation>
 <translation id="266079277508604648">Δεν είναι δυνατή η σύνδεση του εκτυπωτή. Βεβαιωθείτε ότι ο εκτυπωτής είναι ενεργοποιημένος και ότι είναι συνδεδεμένος στο Chromebook μέσω Wi-Fi ή USB.</translation>
@@ -1418,6 +1421,7 @@
 <translation id="3115128645424181617">Δεν είναι δυνατή η εύρεση του τηλεφώνου σας. Βεβαιωθείτε ότι είναι διαθέσιμο και ότι το Bluetooth είναι ενεργοποιημένο.</translation>
 <translation id="3115147772012638511">Αναμονή για προσωρινή μνήμη...</translation>
 <translation id="3118319026408854581"><ph name="PRODUCT_NAME" /> Βοήθεια</translation>
+<translation id="3119484583572640616">Εάν ενεργοποιήσετε το Better Together, αυτή η λειτουργία μπορεί να εκτελεί τις εξής ενέργειες:</translation>
 <translation id="3120430004221004537">Ανεπαρκής κρυπτογράφηση για συγκεκριμένη λειτουργία στη συσκευή: "<ph name="DEVICE_NAME" />".</translation>
 <translation id="3121793941267913344">Επαναφορά αυτής της συσκευής <ph name="IDS_SHORT_PRODUCT_NAME" /></translation>
 <translation id="3122464029669770682">Κεντρική μονάδα επεξεργασίας</translation>
@@ -1732,6 +1736,7 @@
 <translation id="3596235046596950091">Ενεργοποίηση υπηρεσιών cloud</translation>
 <translation id="3599863153486145794">Διαγράφει το ιστορικό από όλες τις συνδεδεμένες συσκευές. Ο Λογαριασμός σας Google ενδέχεται να διαθέτει άλλες μορφές ιστορικού περιήγησης στη διεύθυνση <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
 <translation id="3600792891314830896">Σίγαση ιστοτόπων που αναπαράγουν ήχο</translation>
+<translation id="360180734785106144">Παροχή νέων λειτουργιών μόλις γίνουν διαθέσιμες</translation>
 <translation id="3602290021589620013">Προεπισκόπηση</translation>
 <translation id="3603533104205588786">Μπορείτε να κάνετε κλικ στο αστέρι για να προσθέσετε σελιδοδείκτη σε μια σελίδα</translation>
 <translation id="3603622770190368340">Απόκτηση πιστοποιητικού δικτύου</translation>
@@ -2067,7 +2072,6 @@
 <translation id="4068506536726151626">Η σελίδα περιέχει στοιχεία από τους ακόλουθους ιστότοπους που παρακολουθούν τη θέση σας:</translation>
 <translation id="4068776064906523561">Αποθηκευμένα δακτυλικά αποτυπώματα</translation>
 <translation id="407173827865827707">Όταν κάνετε κλικ</translation>
-<translation id="4071770069230198275"><ph name="PROFILE_NAME" />: σφάλμα σύνδεσης</translation>
 <translation id="4074900173531346617">Πιστοποιητικό υπηρεσίας υπογραφής ηλεκτρονικού ταχυδρομείου</translation>
 <translation id="407520071244661467">Κλίμακα</translation>
 <translation id="4075639477629295004">Δεν είναι δυνατή η μετάδοση του αρχείου <ph name="FILE_NAME" />.</translation>
@@ -2869,6 +2873,7 @@
 <translation id="5332624210073556029">Ζώνη ώρας:</translation>
 <translation id="5334142896108694079">Προσωρινή μνήμη σεναρίου</translation>
 <translation id="5334844597069022743">Προβολή κώδικα</translation>
+<translation id="5334899159203764908">Μάθετε περισσότερα για την <ph name="BEGIN_LINK" />πρόσβαση ιστοτόπου<ph name="END_LINK" /></translation>
 <translation id="5335458522276292100">Δημιουργία αντιγράφων ασφαλείας για <ph name="FILE_COUNT" /> αρχεία στο <ph name="BEGIN_LINK" />Google Drive<ph name="END_LINK" /></translation>
 <translation id="5336126339807372270">Να μην επιτρέπεται η πρόσβαση των ιστοτόπων στις συσκευές USB</translation>
 <translation id="5337771866151525739">Εγκαταστάθηκε από τρίτο μέρος.</translation>
@@ -2976,6 +2981,7 @@
 <translation id="5487521232677179737">Διαγραφή δεδομένων</translation>
 <translation id="5488093641312826914">Το στοιχείο "<ph name="COPIED_ITEM_NAME" />" αντιγράφηκε</translation>
 <translation id="5488468185303821006">Να επιτρέπονται στην ανώνυμη περιήγηση</translation>
+<translation id="5489121514345187313">Το Chromebook λειτουργεί ακόμα καλύτερα με το τηλέφωνό σας. <ph name="LINK_BEGIN" />Μάθετε περισσότερα<ph name="LINK_END" /></translation>
 <translation id="5489435190927933437">Αποθηκευμένοι κωδικοί πρόσβασης για τον τομέα <ph name="DOMAIN" /></translation>
 <translation id="5491110079163012109">Αποστολή δεδομένων συστήματος. Αυτόματη αποστολή διαγνωστικών δεδομένων και δεδομένων χρήσης της συσκευής και της εφαρμογής στην Google. Αυτή η ρύθμιση επιβάλλεται από τον κάτοχο. Ο κάτοχος μπορεί να επιλέξει την αποστολή διαγνωστικών δεδομένων και δεδομένων χρήσης για αυτήν τη συσκευή στην Google. Μπορείτε να αλλάξετε αυτήν την επιλογή στις ρυθμίσεις. Εάν έχετε ενεργοποιήσει επιπλέον τη Δραστηριότητα ιστού και εφαρμογών, αυτές οι πληροφορίες θα αποθηκεύονται στον λογαριασμό σας, έτσι ώστε να μπορείτε να τις διαχειριστείτε στην ενότητα "Η δραστηριότητά μου". <ph name="BEGIN_LINK1" />Μάθετε περισσότερα<ph name="END_LINK1" /></translation>
 <translation id="5493792505296048976">η οθόνη ενεργοποιήθηκε</translation>
@@ -3148,6 +3154,7 @@
 <translation id="5731409020711461763">1 νέα φωτογραφία</translation>
 <translation id="5734362860645681824">Επικοινωνίες</translation>
 <translation id="5736796278325406685">Καταχωρίστε ένα έγκυρο όνομα χρήστη</translation>
+<translation id="5739235828260127894">Αναμονή για επαλήθευση. <ph name="LINK_BEGIN" />Μάθετε περισσότερα<ph name="LINK_END" /></translation>
 <translation id="5739458112391494395">Πολύ μεγάλο</translation>
 <translation id="5740331643563157105"><ph name="LANGUAGE_1" />, <ph name="LANGUAGE_2" /> και <ph name="NUM_ADDITIONAL_LANGUAGES" /> ακόμη</translation>
 <translation id="574209121243317957">Τόνος</translation>
@@ -3251,6 +3258,7 @@
 <translation id="5870086504539785141">Κλείστε το μενού της προσβασιμότητας</translation>
 <translation id="5870155679953074650">Σοβαρά σφάλματα</translation>
 <translation id="5877064549588274448">Το κανάλι έχει αλλάξει. Επανεκκινήστε τη συσκευή σας για να εφαρμόσετε τις αλλαγές.</translation>
+<translation id="5877584842898320529">Ο επιλεγμένος εκτυπωτής δεν είναι διαθέσιμος ή δεν έχει εγκατασταθεί σωστά. <ph name="BR" /> Ελέγξτε τον εκτυπωτή σας ή δοκιμάστε να επιλέξετε άλλον εκτυπωτή.</translation>
 <translation id="5880247576487732437">Το διακριτικό υπάρχει</translation>
 <translation id="5882919346125742463">Γνωστά δίκτυα</translation>
 <translation id="5884474295213649357">Αυτή η καρτέλα είναι συνδεδεμένη σε μια συσκευή USB.</translation>
@@ -3317,6 +3325,7 @@
 <translation id="5979469435153841984">Για την προσθήκη σελιδοδεικτών σε σελίδες, κάντε κλικ στο αστέρι στη γραμμή διευθύνσεων</translation>
 <translation id="5982621672636444458">Επιλογές ταξινόμησης</translation>
 <translation id="5984222099446776634">Πραγματοποιήθηκε επίσκεψη πρόσφατα</translation>
+<translation id="5985458664595100876">Μη έγκυρη μορφή URL. Οι υποστηριζόμενες μορφές είναι \\server\share και smb://server/share.</translation>
 <translation id="5990142338020175451">Περισσότερες εξατομικευμένες υπηρεσίες Google, όπως καλύτερες προτάσεις σελίδας</translation>
 <translation id="5990386583461751448">Μεταφρασμένη</translation>
 <translation id="5991049340509704927">Μεγέθυνση</translation>
@@ -3345,6 +3354,7 @@
 <translation id="6026819612896463875"><ph name="WINDOW_TITLE" /> - Συνδέθηκε συσκευή USB</translation>
 <translation id="6028117231645531007">Προσθήκη δακτυλικού αποτυπώματος</translation>
 <translation id="6029027682598229313">Η εγκατάσταση του Linux ολοκληρώθηκε.</translation>
+<translation id="6029292188939175871">διαγραφή [<ph name="FINGERPRINT_NAME" />], κουμπί</translation>
 <translation id="6029587122245504742">Πιο αργή</translation>
 <translation id="6032912588568283682">Σύστημα αρχείων</translation>
 <translation id="6034662038931255275">Η ενημέρωση του λειτουργικού συστήματος ήταν επιτυχής</translation>
@@ -3458,7 +3468,6 @@
 <translation id="6185132558746749656">Τοποθεσία συσκευής</translation>
 <translation id="6185617499004995178">Εργαλείο επικύρωσης CUPS IPP</translation>
 <translation id="6185696379715117369">Page up</translation>
-<translation id="6189273858858366896">Ρύθμιση ή διαχείριση κοινόχρηστων αρχείων δικτύου.</translation>
 <translation id="6189412234224385711">Άνοιγμα με <ph name="EXTENSION_NAME" /></translation>
 <translation id="6196640612572343990">Αποκλεισμός cookie τρίτων</translation>
 <translation id="6196854373336333322">Η επέκταση "<ph name="EXTENSION_NAME" />" ελέγχει τις ρυθμίσεις διακομιστή μεσολάβησης. Αυτό σημαίνει ότι μπορεί να αλλάξει, να διακόψει ή να παρακολουθήσει όλες τις ενέργειες που εκτελείτε στο διαδίκτυο. Εάν δεν είστε βέβαιοι για το λόγο αυτής της αλλαγής, πιθανότατα να μην την επιθυμούσατε.</translation>
@@ -3764,6 +3773,7 @@
 <translation id="6643016212128521049">Διαγραφή</translation>
 <translation id="6644512095122093795">Να προτείνεται αποθήκευση των κωδικών πρόσβασης</translation>
 <translation id="6644846457769259194">Ενημέρωση της συσκευής σας (<ph name="PROGRESS_PERCENT" />)</translation>
+<translation id="6645437135153136856">Η επιλεγμένη συσκευή Google Cloud Print δεν υποστηρίζεται πλέον. <ph name="BR" /> Δοκιμάστε να ρυθμίσετε τον εκτυπωτή ανάλογα με τις ρυθμίσεις συστήματος του υπολογιστή σας.</translation>
 <translation id="6647228709620733774">URL ανάκλησης Αρχής πιστοποίησης του Netscape</translation>
 <translation id="6647838571840953560">Αυτήν τη στιγμή στο κανάλι <ph name="CHANNEL_NAME" /></translation>
 <translation id="6648051959475508072">Το κλειδί ασφαλείας ενεργοποιήθηκε…</translation>
@@ -3785,7 +3795,6 @@
 <translation id="667517062706956822">Θέλετε να μεταφράσει το Google αυτήν τη σελίδα από <ph name="SOURCE_LANGUAGE" /> σε <ph name="TARGET_LANGUAGE" />;</translation>
 <translation id="6675665718701918026">Η συσκευή κατάδειξης είναι συνδεδεμένη</translation>
 <translation id="6678717876183468697">URL ερωτήματος</translation>
-<translation id="6680028776254050810">Εναλλαγή χρηστών</translation>
 <translation id="6680442031740878064">Διαθέσιμος χώρος: <ph name="AVAILABLE_SPACE" /></translation>
 <translation id="6680650203439190394">Βαθμολόγηση</translation>
 <translation id="6681668084120808868">Λήψη φωτογραφίας</translation>
@@ -3794,7 +3803,6 @@
 <translation id="668599234725812620">Άνοιγμα Google Play</translation>
 <translation id="6686490380836145850">Κλείσιμο καρτελών δεξιά</translation>
 <translation id="6686817083349815241">Αποθηκεύστε τον κωδικό πρόσβασής σας</translation>
-<translation id="6690565918367819723"><ph name="PROFILE_NAME" /> Αλλαγή ατόμου</translation>
 <translation id="6690659332373509948">Δεν είναι δυνατή η ανάλυση του αρχείου: <ph name="FILE_NAME" /></translation>
 <translation id="6690751852586194791">Επιλέξτε ένα χρήστη υπό επίβλεψη, για να τον προσθέσετε σε αυτήν τη συσκευή.</translation>
 <translation id="6691331417640343772">Διαχείριση συγχρονισμένων δεδομένων στον Πίνακα ελέγχου Google</translation>
@@ -4131,6 +4139,7 @@
 <translation id="7201118060536064622">Το "<ph name="DELETED_ITEM_NAME" />" διαγράφηκε</translation>
 <translation id="7206693748120342859">Γίνεται λήψη της προσθήκης <ph name="PLUGIN_NAME" />…</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Έξοδος από τη σελίδα}other{Έξοδος από τις σελίδες}}</translation>
+<translation id="7210499381659830293">Εκτυπωτές επέκτασης</translation>
 <translation id="721467499098558573">Πατήστε παρατεταμένα το κουμπί στο κλειδί ασφαλείας σας για τουλάχιστον 5 δευτερόλεπτα</translation>
 <translation id="7216409898977639127">Πάροχος δικτύου κινητής τηλεφωνίας</translation>
 <translation id="7216595297012131718">Γλώσσες παραγγελίας με βάση τις προτιμήσεις σας</translation>
@@ -4209,6 +4218,7 @@
 <translation id="7321545336522791733">Μη προσβάσιμος διακομιστής</translation>
 <translation id="7324297612904500502">Φόρουμ για την έκδοση beta</translation>
 <translation id="7325437708553334317">Επέκταση για τις "Αντιθέσεις"</translation>
+<translation id="7328162502911382168">(<ph name="COUNT" />)</translation>
 <translation id="7328867076235380839">Μη έγκυρος συνδυασμός</translation>
 <translation id="7329154610228416156">Η διαδικασία σύνδεσης απέτυχε γιατί είχε ρυθμιστεί να χρησιμοποιεί μια μη ασφαλή διεύθυνση URL (<ph name="BLOCKED_URL" />). Επικοινωνήστε με το διαχειριστή σας.</translation>
 <translation id="7334190995941642545">Η λειτουργία Smart Lock δεν είναι διαθέσιμη προς το παρόν. Δοκιμάστε ξανά αργότερα.</translation>
@@ -4800,6 +4810,7 @@
 <translation id="8199300056570174101">Ιδιότητες δικτύου (Υπηρεσία) και συσκευής</translation>
 <translation id="8200772114523450471">Συνέχιση</translation>
 <translation id="8202160505685531999">Εισαγάγετε ξανά τον κωδικό πρόσβασής σας για να ενημερώσετε το προφίλ σας στο <ph name="DEVICE_TYPE" />.</translation>
+<translation id="8203732864715032075">Να λαμβάνετε ειδοποιήσεις και να οριστεί ως προεπιλογή η απομνημόνευση αυτού του υπολογιστή για τα Μηνύματα. <ph name="LINK_BEGIN" />Μάθετε περισσότερα<ph name="LINK_END" /></translation>
 <translation id="8206354486702514201">Η ρύθμιση αυτή επιβάλλεται από τον διαχειριστή σας.</translation>
 <translation id="8206745257863499010">Μπλουζ</translation>
 <translation id="8209677645716428427">Οι εποπτευόμενοι χρήστες μπορούν να εξερευνήσουν το διαδίκτυο με την καθοδήγησή σας. Ως διαχειριστής ενός εποπτευόμενου χρήστη στο Chrome, μπορείτε να κάνετε τα εξής:</translation>
@@ -5111,7 +5122,6 @@
 <translation id="869884720829132584">Μενού εφαρμογών</translation>
 <translation id="869891660844655955">Ημερομηνία λήξης</translation>
 <translation id="8699566574894671540">Για ενεργοποίηση, πρώτα επιλέξτε "Ορθογραφικός έλεγχος κατά την πληκτρολόγηση" στο μενού Επεξεργασία</translation>
-<translation id="870073306461175568">Κοινόχρηστα αρχεία δικτύου</translation>
 <translation id="8701677791353449257">Το όνομα συσκευής πρέπει να αντιστοιχεί σε μια τυπική έκφραση <ph name="REGEX" />.</translation>
 <translation id="8704521619148782536">Η διαδικασία διαρκεί περισσότερο απ' ό,τι συνήθως. Μπορείτε να συνεχίσετε να περιμένετε ή να ακυρώσετε τη διαδικασία και να δοκιμάσετε ξανά αργότερα.</translation>
 <translation id="8705331520020532516">Σειριακός αριθμός</translation>
@@ -5294,7 +5304,6 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> - Παρουσίασε σφάλμα</translation>
 <translation id="8983677657449185470">Συμβάλλετε στη βελτίωση της Ασφαλούς περιήγησης</translation>
 <translation id="8984179138335769204">Γρήγορη εκκίνηση</translation>
-<translation id="8984654317541110628">URL κοινής χρήσης αρχείου</translation>
 <translation id="8986362086234534611">Διαγραφή από τη μνήμη</translation>
 <translation id="8986494364107987395">Αυτόματη αποστολή στατιστικών στοιχείων χρήσης και αναφορών σφαλμάτων στην Google</translation>
 <translation id="8987927404178983737">Μήνας</translation>
diff --git a/chrome/app/resources/generated_resources_en-GB.xtb b/chrome/app/resources/generated_resources_en-GB.xtb
index cfdaa93fc..dc8b340 100644
--- a/chrome/app/resources/generated_resources_en-GB.xtb
+++ b/chrome/app/resources/generated_resources_en-GB.xtb
@@ -275,6 +275,7 @@
 <translation id="1395730723686586365">Updater started</translation>
 <translation id="1396139853388185343">Error setting up printer</translation>
 <translation id="1396963298126346194">The username and password that you entered do not match</translation>
+<translation id="1397500194120344683">No eligible devices. <ph name="LINK_BEGIN" />Find out more<ph name="LINK_END" /></translation>
 <translation id="1397854323885047133">Sync and personalisation</translation>
 <translation id="1398853756734560583">Maximise</translation>
 <translation id="1399511500114202393">No user certificate</translation>
@@ -375,7 +376,6 @@
 <translation id="1531004739673299060">Application Window</translation>
 <translation id="15373452373711364">Large mouse cursor</translation>
 <translation id="1538729222189715449">Opening Linux files...</translation>
-<translation id="153933193410874873">We couldn't verify your identity on this device</translation>
 <translation id="1540605929960647700">Enable demo mode</translation>
 <translation id="1543284117603151572">Imported From Edge</translation>
 <translation id="1545177026077493356">Automatic Kiosk Mode</translation>
@@ -529,6 +529,7 @@
 <translation id="175772926354468439">Enable theme</translation>
 <translation id="1758018619400202187">EAP-TLS</translation>
 <translation id="17584710573359123">View in Chrome Web Store</translation>
+<translation id="176193854664720708">The fingerprint sensor is in the power button. Touch it lightly with any finger.</translation>
 <translation id="1763046204212875858">Create application shortcuts</translation>
 <translation id="1763108912552529023">Keep exploring</translation>
 <translation id="1763808908432309942">Opens in a new tab</translation>
@@ -682,7 +683,6 @@
 <translation id="1981115145845865539">Automatically unlock your <ph name="DEVICE_TYPE" /></translation>
 <translation id="1983959805486816857">After you create a new supervised user, you can manage the settings at any time from any device at <ph name="MANAGEMENT_URL" />.</translation>
 <translation id="1984642098429648350">Dock window right</translation>
-<translation id="1987139229093034863">Change to a different user.</translation>
 <translation id="1987317783729300807">Accounts</translation>
 <translation id="1989112275319619282">Browse</translation>
 <translation id="1992397118740194946">Not set</translation>
@@ -823,6 +823,7 @@
 <translation id="2208158072373999562">Zip archive</translation>
 <translation id="220858061631308971">Please enter this PIN code on "<ph name="DEVICE_NAME" />":</translation>
 <translation id="2209593327042758816">Shelf item 2</translation>
+<translation id="2212126039311489237">Print using system dialogue</translation>
 <translation id="2217501013957346740">Create a name -</translation>
 <translation id="2218019600945559112">Mouse and touchpad</translation>
 <translation id="2218320521449013367">An error occurred while Chrome was removing harmful software</translation>
@@ -935,6 +936,7 @@
 <translation id="2378075407703503998"><ph name="SELCTED_FILE_COUNT" /> files selected</translation>
 <translation id="237828693408258535">Translate this page?</translation>
 <translation id="2378982052244864789">Select the extension directory.</translation>
+<translation id="2379281330731083556">Print using system dialogue... <ph name="SHORTCUT_KEY" /></translation>
 <translation id="2381756643783702095">Ask before sending (recommended)</translation>
 <translation id="2384436799579181135">An error has occurred. Please check your printer and try again.</translation>
 <translation id="2387458720915042159">Proxy connection type</translation>
@@ -1113,6 +1115,7 @@
 <translation id="2653659639078652383">Submit</translation>
 <translation id="265390580714150011">Field Value</translation>
 <translation id="2654166010170466751">Allow sites to install payment handlers</translation>
+<translation id="2656742821229528729">Connect your Android phone and Chromebook to text from your computer, share your Internet connection and unlock your Chromebook with your phone.<ph name="FOOTNOTE_POINTER" /> <ph name="LINK_BEGIN" />Find out more<ph name="LINK_END" /></translation>
 <translation id="2659381484350128933"><ph name="FOOTNOTE_POINTER" />Features vary by device</translation>
 <translation id="2660779039299703961">Event</translation>
 <translation id="266079277508604648">Can’t connect to printer. Check that the printer is turned on and is connected to your Chromebook by Wi-Fi or USB.</translation>
@@ -1417,6 +1420,7 @@
 <translation id="3115128645424181617">Can’t find your phone. Make sure that it’s handy and Bluetooth is turned on.</translation>
 <translation id="3115147772012638511">Waiting for cache...</translation>
 <translation id="3118319026408854581"><ph name="PRODUCT_NAME" /> Help</translation>
+<translation id="3119484583572640616">Turning on Better Together means that it can:</translation>
 <translation id="3120430004221004537">Insufficient encryption for a given operation on: "<ph name="DEVICE_NAME" />".</translation>
 <translation id="3121793941267913344">Reset this <ph name="IDS_SHORT_PRODUCT_NAME" /> device</translation>
 <translation id="3122464029669770682">CPU</translation>
@@ -1731,6 +1735,7 @@
 <translation id="3596235046596950091">Enable cloud services</translation>
 <translation id="3599863153486145794">Clears history from all signed-in devices. Your Google account may have other forms of browsing history at <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
 <translation id="3600792891314830896">Mute sites that play sound</translation>
+<translation id="360180734785106144">Offer new features as they become available</translation>
 <translation id="3602290021589620013">Preview</translation>
 <translation id="3603533104205588786">You can click the star to bookmark a page</translation>
 <translation id="3603622770190368340">Obtain network certificate</translation>
@@ -2066,7 +2071,6 @@
 <translation id="4068506536726151626">This page contains elements from the following sites that are tracking your location:</translation>
 <translation id="4068776064906523561">Saved fingerprints</translation>
 <translation id="407173827865827707">On click</translation>
-<translation id="4071770069230198275"><ph name="PROFILE_NAME" />: sign-in error</translation>
 <translation id="4074900173531346617">Email Signer Certificate</translation>
 <translation id="407520071244661467">Scale</translation>
 <translation id="4075639477629295004">Unable to cast <ph name="FILE_NAME" />.</translation>
@@ -2868,6 +2872,7 @@
 <translation id="5332624210073556029">Time zone:</translation>
 <translation id="5334142896108694079">Script Cache</translation>
 <translation id="5334844597069022743">View source</translation>
+<translation id="5334899159203764908">Find out more about <ph name="BEGIN_LINK" />site access<ph name="END_LINK" /></translation>
 <translation id="5335458522276292100">Backing up <ph name="FILE_COUNT" /> to <ph name="BEGIN_LINK" />Google Drive<ph name="END_LINK" /></translation>
 <translation id="5336126339807372270">Do not allow any sites to access USB devices</translation>
 <translation id="5337771866151525739">Installed by a third party.</translation>
@@ -2975,6 +2980,7 @@
 <translation id="5487521232677179737">Clear data</translation>
 <translation id="5488093641312826914">'<ph name="COPIED_ITEM_NAME" />' copied</translation>
 <translation id="5488468185303821006">Allow in incognito</translation>
+<translation id="5489121514345187313">Your Chromebook works even better with your phone. <ph name="LINK_BEGIN" />Find out more<ph name="LINK_END" /></translation>
 <translation id="5489435190927933437">Saved passwords for <ph name="DOMAIN" /></translation>
 <translation id="5491110079163012109">Send system data. Automatically send diagnostic and device and app usage data to Google. This setting is enforced by the owner. The owner may choose to send diagnostic and usage data for this device to Google. You may view this in settings. If you turned on additional Web &amp; App Activity, this information will be stored with your account so that you can manage it in My Activity. <ph name="BEGIN_LINK1" />Learn More<ph name="END_LINK1" /></translation>
 <translation id="5493792505296048976">screen on</translation>
@@ -3146,6 +3152,7 @@
 <translation id="5731409020711461763">One new photo</translation>
 <translation id="5734362860645681824">Communications</translation>
 <translation id="5736796278325406685">Please enter a valid username</translation>
+<translation id="5739235828260127894">Waiting for verification. <ph name="LINK_BEGIN" />Find out more<ph name="LINK_END" /></translation>
 <translation id="5739458112391494395">Very large</translation>
 <translation id="5740331643563157105"><ph name="LANGUAGE_1" />, <ph name="LANGUAGE_2" />, and <ph name="NUM_ADDITIONAL_LANGUAGES" /> others</translation>
 <translation id="574209121243317957">Pitch</translation>
@@ -3249,6 +3256,7 @@
 <translation id="5870086504539785141">Close accessibility menu</translation>
 <translation id="5870155679953074650">Hard faults</translation>
 <translation id="5877064549588274448">Channel changed. Restart your device to apply changes.</translation>
+<translation id="5877584842898320529">The selected printer is not available or not installed correctly. <ph name="BR" /> Check your printer or try selecting another printer.</translation>
 <translation id="5880247576487732437">Token Present</translation>
 <translation id="5882919346125742463">Known Networks</translation>
 <translation id="5884474295213649357">This tab is connected to a USB device.</translation>
@@ -3315,6 +3323,7 @@
 <translation id="5979469435153841984">To bookmark pages, click the star in the address bar</translation>
 <translation id="5982621672636444458">Sort options</translation>
 <translation id="5984222099446776634">Recently Visited</translation>
+<translation id="5985458664595100876">Invalid URL format. Supported formats are \\server\share and smb://server/share.</translation>
 <translation id="5990142338020175451">More personal Google services, such as better page suggestions</translation>
 <translation id="5990386583461751448">Translated</translation>
 <translation id="5991049340509704927">Magnify</translation>
@@ -3343,6 +3352,7 @@
 <translation id="6026819612896463875"><ph name="WINDOW_TITLE" /> – USB device connected</translation>
 <translation id="6028117231645531007">Add fingerprint</translation>
 <translation id="6029027682598229313">Linux installation is complete.</translation>
+<translation id="6029292188939175871">delete [<ph name="FINGERPRINT_NAME" />], button</translation>
 <translation id="6029587122245504742">Slowest</translation>
 <translation id="6032912588568283682">File system</translation>
 <translation id="6034662038931255275">OS update successful</translation>
@@ -3456,7 +3466,6 @@
 <translation id="6185132558746749656">Device Location</translation>
 <translation id="6185617499004995178">CUPS IPP Validator</translation>
 <translation id="6185696379715117369">Page up</translation>
-<translation id="6189273858858366896">Set up or manage Network File Shares.</translation>
 <translation id="6189412234224385711">Open with <ph name="EXTENSION_NAME" /></translation>
 <translation id="6196640612572343990">Block third-party cookies</translation>
 <translation id="6196854373336333322">The extension "<ph name="EXTENSION_NAME" />" has taken control of your proxy settings, which means it can change, break or eavesdrop on anything you do online. If you aren't sure why this change happened, you probably don't want it.</translation>
@@ -3762,6 +3771,7 @@
 <translation id="6643016212128521049">Clear</translation>
 <translation id="6644512095122093795">Offer to save passwords</translation>
 <translation id="6644846457769259194">Updating your device (<ph name="PROGRESS_PERCENT" />)</translation>
+<translation id="6645437135153136856">The selected Google Cloud Print device is no longer supported. <ph name="BR" /> Try setting up the printer in your computer's system settings.</translation>
 <translation id="6647228709620733774">Netscape Certification Authority Revocation URL</translation>
 <translation id="6647838571840953560">Currently on <ph name="CHANNEL_NAME" /></translation>
 <translation id="6648051959475508072">Security key activated...</translation>
@@ -3783,7 +3793,6 @@
 <translation id="667517062706956822">Do you want Google to translate this page from <ph name="SOURCE_LANGUAGE" /> to <ph name="TARGET_LANGUAGE" />?</translation>
 <translation id="6675665718701918026">Pointing device connected</translation>
 <translation id="6678717876183468697">Query URL</translation>
-<translation id="6680028776254050810">Change Users</translation>
 <translation id="6680442031740878064">Available: <ph name="AVAILABLE_SPACE" /></translation>
 <translation id="6680650203439190394">Rate</translation>
 <translation id="6681668084120808868">Take photo</translation>
@@ -3792,7 +3801,6 @@
 <translation id="668599234725812620">Open Google Play</translation>
 <translation id="6686490380836145850">Close tabs to the right</translation>
 <translation id="6686817083349815241">Save your password</translation>
-<translation id="6690565918367819723"><ph name="PROFILE_NAME" /> Switch person</translation>
 <translation id="6690659332373509948">Unable to parse file: <ph name="FILE_NAME" /></translation>
 <translation id="6690751852586194791">Choose a supervised user to add to this device.</translation>
 <translation id="6691331417640343772">Manage synced data on Google Dashboard</translation>
@@ -4129,6 +4137,7 @@
 <translation id="7201118060536064622">'<ph name="DELETED_ITEM_NAME" />' deleted</translation>
 <translation id="7206693748120342859">Downloading <ph name="PLUGIN_NAME" />...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Exit page}other{Exit pages}}</translation>
+<translation id="7210499381659830293">Extension printers</translation>
 <translation id="721467499098558573">Press and hold the button on your security key for at least 5 seconds</translation>
 <translation id="7216409898977639127">Mobile provider</translation>
 <translation id="7216595297012131718">Order languages based on your preference</translation>
@@ -4207,6 +4216,7 @@
 <translation id="7321545336522791733">Server unreachable</translation>
 <translation id="7324297612904500502">Beta forum</translation>
 <translation id="7325437708553334317">High Contrast Extension</translation>
+<translation id="7328162502911382168">(<ph name="COUNT" />)</translation>
 <translation id="7328867076235380839">Invalid combination</translation>
 <translation id="7329154610228416156">Sign-in failed because it was configured to use a non-secure URL (<ph name="BLOCKED_URL" />). Please contact your administrator.</translation>
 <translation id="7334190995941642545">Smart Lock is currently unavailable. Please try again later.</translation>
@@ -4798,6 +4808,7 @@
 <translation id="8199300056570174101">Network (Service) and Device properties</translation>
 <translation id="8200772114523450471">Resume</translation>
 <translation id="8202160505685531999">Please re-enter your password to update your <ph name="DEVICE_TYPE" /> profile.</translation>
+<translation id="8203732864715032075">Send you notifications and default to remembering this computer for Messages. <ph name="LINK_BEGIN" />Find out more<ph name="LINK_END" /></translation>
 <translation id="8206354486702514201">This setting is enforced by your administrator.</translation>
 <translation id="8206745257863499010">Bluesy</translation>
 <translation id="8209677645716428427">A supervised user can explore the web with your guidance. As the manager of a supervised user in Chrome, you can:</translation>
@@ -5109,7 +5120,6 @@
 <translation id="869884720829132584">Applications menu</translation>
 <translation id="869891660844655955">Expiry date</translation>
 <translation id="8699566574894671540">To turn this on, first select Check Spelling While Typing in the Edit menu</translation>
-<translation id="870073306461175568">Network File Shares</translation>
 <translation id="8701677791353449257">The device name must match regular expression <ph name="REGEX" />.</translation>
 <translation id="8704521619148782536">This is taking much longer than usual. You can keep waiting or cancel and try again later.</translation>
 <translation id="8705331520020532516">Serial Number</translation>
@@ -5294,7 +5304,6 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> – Crashed</translation>
 <translation id="8983677657449185470">Help improve Safe Browsing</translation>
 <translation id="8984179138335769204">Quick launch</translation>
-<translation id="8984654317541110628">File Share URL</translation>
 <translation id="8986362086234534611">Forget</translation>
 <translation id="8986494364107987395">Automatically send usage statistics and crash reports to Google</translation>
 <translation id="8987927404178983737">Month</translation>
diff --git a/chrome/app/resources/generated_resources_es-419.xtb b/chrome/app/resources/generated_resources_es-419.xtb
index d4f4e2a..6914edb2 100644
--- a/chrome/app/resources/generated_resources_es-419.xtb
+++ b/chrome/app/resources/generated_resources_es-419.xtb
@@ -275,6 +275,7 @@
 <translation id="1395730723686586365">Actualizador iniciado</translation>
 <translation id="1396139853388185343">Se produjo un error al configurar la impresora</translation>
 <translation id="1396963298126346194">El nombre de usuario y la contraseña que ingresaste no coinciden</translation>
+<translation id="1397500194120344683">No hay dispositivos compatibles. <ph name="LINK_BEGIN" />Más información<ph name="LINK_END" /></translation>
 <translation id="1397854323885047133">Sincronización y personalización</translation>
 <translation id="1398853756734560583">Maximizar</translation>
 <translation id="1399511500114202393">Sin certificado del usuario</translation>
@@ -372,7 +373,6 @@
 <translation id="1531004739673299060">Ventana de la app</translation>
 <translation id="15373452373711364">Cursor del mouse grande</translation>
 <translation id="1538729222189715449">Abriendo archivos de Linux…</translation>
-<translation id="153933193410874873">No pudimos verificar tu identidad en este dispositivo</translation>
 <translation id="1540605929960647700">Activar el modo de demostración</translation>
 <translation id="1543284117603151572">Importados desde Edge</translation>
 <translation id="1545177026077493356">Modo kiosco automático</translation>
@@ -526,6 +526,7 @@
 <translation id="175772926354468439">Habilitar tema</translation>
 <translation id="1758018619400202187">EAP-TLS</translation>
 <translation id="17584710573359123">Ver en Chrome Web Store</translation>
+<translation id="176193854664720708">El sensor de huellas digitales es el botón de encendido. Tócalo suavemente con cualquier dedo.</translation>
 <translation id="1763046204212875858">Crear accesos directos a aplicaciones</translation>
 <translation id="1763108912552529023">Seguir explorando</translation>
 <translation id="1763808908432309942">Se abre en una pestaña nueva</translation>
@@ -679,7 +680,6 @@
 <translation id="1981115145845865539">Desbloquear tu <ph name="DEVICE_TYPE" /> automáticamente</translation>
 <translation id="1983959805486816857">Una vez que crees un usuario supervisado, podrás administrar la configuración cuando lo desees desde cualquier dispositivo en <ph name="MANAGEMENT_URL" />.</translation>
 <translation id="1984642098429648350">Acoplar ventana a la derecha</translation>
-<translation id="1987139229093034863">Cambiar a un usuario diferente</translation>
 <translation id="1987317783729300807">Cuentas</translation>
 <translation id="1989112275319619282">Navegar</translation>
 <translation id="1992397118740194946">No está configurada</translation>
@@ -820,6 +820,7 @@
 <translation id="2208158072373999562">Archivo Zip</translation>
 <translation id="220858061631308971">Ingresa este código PIN en "<ph name="DEVICE_NAME" />":</translation>
 <translation id="2209593327042758816">Elemento 2 de la biblioteca</translation>
+<translation id="2212126039311489237">Imprimir utilizando el diálogo del sistema</translation>
 <translation id="2217501013957346740">Crear un nombre:</translation>
 <translation id="2218019600945559112">Mouse y panel táctil</translation>
 <translation id="2218320521449013367">Se produjo un error cuando Chrome intentaba quitar software dañino</translation>
@@ -932,6 +933,7 @@
 <translation id="2378075407703503998"><ph name="SELCTED_FILE_COUNT" /> archivos seleccionados</translation>
 <translation id="237828693408258535">¿Deseas traducir esta página?</translation>
 <translation id="2378982052244864789">Seleccionar el directorio de extensión.</translation>
+<translation id="2379281330731083556">Imprimir mediante el sistema de diálogo... <ph name="SHORTCUT_KEY" /></translation>
 <translation id="2381756643783702095">Preguntar antes de enviar (recomendado)</translation>
 <translation id="2384436799579181135">Se produjo un error. Revisa la impresora y vuelve a intentarlo.</translation>
 <translation id="2387458720915042159">Tipo de conexión proxy</translation>
@@ -1111,6 +1113,7 @@
 <translation id="2653659639078652383">Enviar</translation>
 <translation id="265390580714150011">Valor de campo</translation>
 <translation id="2654166010170466751">Permitir que los sitios instalen controladores de pago</translation>
+<translation id="2656742821229528729">Conecta tu teléfono Android y Chromebook para enviar mensajes de texto desde la computadora y desbloquear la Chromebook con el teléfono.<ph name="FOOTNOTE_POINTER" /> <ph name="LINK_BEGIN" />Más información<ph name="LINK_END" /></translation>
 <translation id="2659381484350128933"><ph name="FOOTNOTE_POINTER" />Las funciones varían según el dispositivo</translation>
 <translation id="2660779039299703961">Evento</translation>
 <translation id="266079277508604648">No se puede establecer conexión con la impresora. Comprueba que esté encendida y conectada a la Chromebook mediante Wi-Fi o USB.</translation>
@@ -1415,6 +1418,7 @@
 <translation id="3115128645424181617">No se puede encontrar el teléfono. Asegúrate de que esté cerca y de que Bluetooth esté activado.</translation>
 <translation id="3115147772012638511">Esperando caché...</translation>
 <translation id="3118319026408854581"><ph name="PRODUCT_NAME" /> Ayuda</translation>
+<translation id="3119484583572640616">Si activas "Better Together", esta función podrá hacer lo siguiente:</translation>
 <translation id="3120430004221004537">La encriptación no fue suficiente para una operación en: "<ph name="DEVICE_NAME" />".</translation>
 <translation id="3121793941267913344">Restablecer este dispositivo <ph name="IDS_SHORT_PRODUCT_NAME" /></translation>
 <translation id="3122464029669770682">CPU</translation>
@@ -1729,6 +1733,7 @@
 <translation id="3596235046596950091">Habilitar los servicios de nube</translation>
 <translation id="3599863153486145794">Borra el historial de todos los dispositivos en los que accediste. Es posible que tu cuenta de Google tenga otros formularios del historial de navegación en <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
 <translation id="3600792891314830896">Silenciar los sitios que reproducen sonido</translation>
+<translation id="360180734785106144">Ofrecer funciones nuevas cuando estén disponibles</translation>
 <translation id="3602290021589620013">Vista previa</translation>
 <translation id="3603533104205588786">Puedes hacer clic en la estrella para agregar una página a favoritos</translation>
 <translation id="3603622770190368340">Obtener certificado de red</translation>
@@ -2064,7 +2069,6 @@
 <translation id="4068506536726151626">Esta página contiene elementos de los siguientes sitios que están rastreando tu ubicación:</translation>
 <translation id="4068776064906523561">Huellas digitales guardadas</translation>
 <translation id="407173827865827707">Al hacer clic</translation>
-<translation id="4071770069230198275"><ph name="PROFILE_NAME" />: error de acceso</translation>
 <translation id="4074900173531346617">Enviar por correo electrónico el certificado del firmante</translation>
 <translation id="407520071244661467">Escala</translation>
 <translation id="4075639477629295004">No se puede transmitir <ph name="FILE_NAME" />.</translation>
@@ -2866,6 +2870,7 @@
 <translation id="5332624210073556029">Zona horaria:</translation>
 <translation id="5334142896108694079">Caché de la secuencia de comandos</translation>
 <translation id="5334844597069022743">Ver código fuente</translation>
+<translation id="5334899159203764908">Más información sobre el <ph name="BEGIN_LINK" />acceso del sitio<ph name="END_LINK" /></translation>
 <translation id="5335458522276292100">Realizando una copia de seguridad de <ph name="FILE_COUNT" /> en <ph name="BEGIN_LINK" />Google Drive<ph name="END_LINK" /></translation>
 <translation id="5336126339807372270">No permitir que ningún sitio acceda a dispositivos USB</translation>
 <translation id="5337771866151525739">Instalada por un tercero</translation>
@@ -2973,6 +2978,7 @@
 <translation id="5487521232677179737">Borrar datos</translation>
 <translation id="5488093641312826914">"<ph name="COPIED_ITEM_NAME" />" copiado</translation>
 <translation id="5488468185303821006">Permitir modo incógnito</translation>
+<translation id="5489121514345187313">Tu Chromebook funciona mejor con el teléfono. <ph name="LINK_BEGIN" />Más información<ph name="LINK_END" /></translation>
 <translation id="5489435190927933437">Contraseñas guardadas para <ph name="DOMAIN" /></translation>
 <translation id="5491110079163012109">Envía los datos del sistema. Envía datos de diagnóstico y uso del dispositivo y de apps a Google automáticamente. Esta configuración es aplicada por el propietario, que puede decidir si se envían datos de uso y diagnóstico para este dispositivo a Google. Puedes verlo en la configuración. Si activas la función adicional de Actividad web y de aplicaciones, esta información se almacenará con tu cuenta para que puedas administrarla en Mi actividad. <ph name="BEGIN_LINK1" />Más información<ph name="END_LINK1" /></translation>
 <translation id="5493792505296048976">pantalla encendida</translation>
@@ -3144,6 +3150,7 @@
 <translation id="5731409020711461763">1 foto nueva</translation>
 <translation id="5734362860645681824">Comunicaciones</translation>
 <translation id="5736796278325406685">Ingresa un nombre de usuario válido</translation>
+<translation id="5739235828260127894">La verificación está pendiente. <ph name="LINK_BEGIN" />Más información<ph name="LINK_END" /></translation>
 <translation id="5739458112391494395">Muy grande</translation>
 <translation id="5740331643563157105"><ph name="LANGUAGE_1" />, <ph name="LANGUAGE_2" /> y <ph name="NUM_ADDITIONAL_LANGUAGES" /> más</translation>
 <translation id="574209121243317957">Sonido</translation>
@@ -3247,6 +3254,7 @@
 <translation id="5870086504539785141">Cerrar menú de accesibilidad</translation>
 <translation id="5870155679953074650">Fallos graves</translation>
 <translation id="5877064549588274448">Se cambió el canal. Reinicia el dispositivo para aplicar los cambios.</translation>
+<translation id="5877584842898320529">La impresora seleccionada no está disponible o no está instalada correctamente. <ph name="BR" /> Comprueba tu impresora o selecciona otra.</translation>
 <translation id="5880247576487732437">Token presente</translation>
 <translation id="5882919346125742463">Redes conocidas</translation>
 <translation id="5884474295213649357">Esta pestaña está conectada a un dispositivo USB.</translation>
@@ -3313,9 +3321,12 @@
 <translation id="5979469435153841984">Para agregar páginas a Favoritos, haz clic en la estrella que se encuentra en la barra de direcciones</translation>
 <translation id="5982621672636444458">Ordenar opciones</translation>
 <translation id="5984222099446776634">Visitados recientemente</translation>
+<translation id="5985458664595100876">El formato de la URL no es válido. Los formatos compatibles son \\server\share y smb://server/share.</translation>
+<translation id="5990142338020175451">Servicios de Google más personalizados, como mejores sugerencias de páginas</translation>
 <translation id="5990386583461751448">Traducida</translation>
 <translation id="5991049340509704927">Ampliar</translation>
 <translation id="599131315899248751">{NUM_APPLICATIONS,plural, =1{Para asegurarte de que puedas seguir navegando en la Web, pídele a tu administrador que quite esta aplicación.}other{Para asegurarte de que puedas seguir navegando en la Web, pídele a tu administrador que quite estas aplicaciones.}}</translation>
+<translation id="5997337190805127100">Más información sobre el acceso a sitios</translation>
 <translation id="6002458620803359783">Voces preferidas</translation>
 <translation id="6005695835120147974">Router multimedia</translation>
 <translation id="6006484371116297560">Clásico</translation>
@@ -3339,6 +3350,7 @@
 <translation id="6026819612896463875"><ph name="WINDOW_TITLE" />: Se conectó el dispositivo USB</translation>
 <translation id="6028117231645531007">Agregar huella digital</translation>
 <translation id="6029027682598229313">Se completó la instalación de Linux.</translation>
+<translation id="6029292188939175871">borrar [<ph name="FINGERPRINT_NAME" />], botón</translation>
 <translation id="6029587122245504742">Más lento</translation>
 <translation id="6032912588568283682">Sistema de archivos</translation>
 <translation id="6034662038931255275">El SO se actualizó correctamente</translation>
@@ -3452,7 +3464,6 @@
 <translation id="6185132558746749656">Ubicación del dispositivo</translation>
 <translation id="6185617499004995178">Validador del IPP mediante CUPS</translation>
 <translation id="6185696379715117369">Retroceder página</translation>
-<translation id="6189273858858366896">Configura o administra Network File Shares.</translation>
 <translation id="6189412234224385711">Abrir con <ph name="EXTENSION_NAME" /></translation>
 <translation id="6196640612572343990">Bloquear cookies de terceros</translation>
 <translation id="6196854373336333322">La extensión "<ph name="EXTENSION_NAME" />" tomó el control de la configuración de proxy, lo que significa que puede modificar, dañar o espiar cualquier actividad que lleves a cabo en línea. Si no sabes con certeza por qué se produjo este cambio, probablemente no lo desees.</translation>
@@ -3758,6 +3769,7 @@
 <translation id="6643016212128521049">Borrar</translation>
 <translation id="6644512095122093795">Sugerir que se guarden las contraseñas</translation>
 <translation id="6644846457769259194">Actualizando tu dispositivo (<ph name="PROGRESS_PERCENT" />)</translation>
+<translation id="6645437135153136856">El dispositivo de Google Cloud Print ya no es compatible. <ph name="BR" /> Intenta configurar la impresora en la configuración de sistema de tu computadora.</translation>
 <translation id="6647228709620733774">URL de revocación de entidad de certificación de Netscape</translation>
 <translation id="6647838571840953560">Actualmente estás en el canal <ph name="CHANNEL_NAME" /></translation>
 <translation id="6648051959475508072">Se activó la llave de seguridad…</translation>
@@ -3779,7 +3791,6 @@
 <translation id="667517062706956822">¿Deseas que Google traduzca esta página de <ph name="SOURCE_LANGUAGE" /> a <ph name="TARGET_LANGUAGE" />?</translation>
 <translation id="6675665718701918026">Dispositivo señalador conectado</translation>
 <translation id="6678717876183468697">URL de consulta</translation>
-<translation id="6680028776254050810">Cambiar usuario</translation>
 <translation id="6680442031740878064">Disponible: <ph name="AVAILABLE_SPACE" /></translation>
 <translation id="6680650203439190394">Calificar</translation>
 <translation id="6681668084120808868">Tomar foto</translation>
@@ -3788,7 +3799,6 @@
 <translation id="668599234725812620">Abrir Google Play</translation>
 <translation id="6686490380836145850">Cerrar pestañas a la derecha</translation>
 <translation id="6686817083349815241">Guardar la contraseña</translation>
-<translation id="6690565918367819723"><ph name="PROFILE_NAME" /> Cambiar de persona</translation>
 <translation id="6690659332373509948">Error al analizar el archivo: <ph name="FILE_NAME" /></translation>
 <translation id="6690751852586194791">Selecciona un usuario supervisado para agregar a este dispositivo.</translation>
 <translation id="6691331417640343772">Administrar los datos sincronizados en el Panel de control de Google</translation>
@@ -4012,6 +4022,7 @@
 <translation id="7040230719604914234">Operador</translation>
 <translation id="7042418530779813870">Pe&amp;gar y buscar</translation>
 <translation id="7043108582968290193">¡Listo! No se encontraron aplicaciones incompatibles.</translation>
+<translation id="7044124535091449260">Más información sobre el acceso a sitios</translation>
 <translation id="7049293980323620022">¿Deseas conservar el archivo?</translation>
 <translation id="7051943809462976355">Buscando mouse…</translation>
 <translation id="7052237160939977163">Enviar datos de seguimiento de rendimiento</translation>
@@ -4124,6 +4135,7 @@
 <translation id="7201118060536064622">Se borró "<ph name="DELETED_ITEM_NAME" />"</translation>
 <translation id="7206693748120342859">Descargando <ph name="PLUGIN_NAME" />...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Salir de la página}other{Salir de las páginas}}</translation>
+<translation id="7210499381659830293">Impresoras de extensiones</translation>
 <translation id="721467499098558573">Mantén presionado el botón de la llave de seguridad durante al menos 5 segundos</translation>
 <translation id="7216409898977639127">Proveedor de red celular</translation>
 <translation id="7216595297012131718">Ordena los idiomas según tus preferencias</translation>
@@ -4202,6 +4214,7 @@
 <translation id="7321545336522791733">No se puede acceder al servidor</translation>
 <translation id="7324297612904500502">Foro de la versión Beta</translation>
 <translation id="7325437708553334317">Extensión de alto contraste</translation>
+<translation id="7328162502911382168">(<ph name="COUNT" />)</translation>
 <translation id="7328867076235380839">La combinación no es válida</translation>
 <translation id="7329154610228416156">Se produjo un error de acceso porque está configurado para usar una URL no segura (<ph name="BLOCKED_URL" />). Comunícate con el administrador.</translation>
 <translation id="7334190995941642545">Smart Lock no está disponible actualmente. Vuelve a intentarlo más tarde.</translation>
@@ -4793,6 +4806,7 @@
 <translation id="8199300056570174101">Propiedades de la red (servicio) y del dispositivo</translation>
 <translation id="8200772114523450471">Reanudar</translation>
 <translation id="8202160505685531999">Vuelve a ingresar la contraseña para actualizar tu perfil de <ph name="DEVICE_TYPE" />.</translation>
+<translation id="8203732864715032075">Te envía notificaciones y establece esta computadora como la opción predeterminada para la app de Mensajes. <ph name="LINK_BEGIN" />Más información<ph name="LINK_END" /></translation>
 <translation id="8206354486702514201">El administrador controla esta configuración.</translation>
 <translation id="8206745257863499010">Musical</translation>
 <translation id="8209677645716428427">Un usuario supervisado puede explorar la Web con tu ayuda. Como administrador de un usuario supervisado en Chrome, puedes:</translation>
@@ -5105,7 +5119,6 @@
 <translation id="869884720829132584">Menú Aplicaciones</translation>
 <translation id="869891660844655955">Fecha de vencimiento</translation>
 <translation id="8699566574894671540">Para activar esta opción, primero selecciona Comprobar ortografía mientras se escribe, en el menú Editar</translation>
-<translation id="870073306461175568">Network File Shares</translation>
 <translation id="8701677791353449257">El nombre del dispositivo debe coincidir con la expresión regular <ph name="REGEX" />.</translation>
 <translation id="8704521619148782536">Esta acción está tardando más de lo normal. Puedes seguir esperando o cancelar la acción y volver a intentarlo más tarde.</translation>
 <translation id="8705331520020532516">Número de serie</translation>
@@ -5290,7 +5303,6 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" />: Falló</translation>
 <translation id="8983677657449185470">Ayudar a mejorar la Navegación segura</translation>
 <translation id="8984179138335769204">Inicio rápido</translation>
-<translation id="8984654317541110628">URL de archivo compartido</translation>
 <translation id="8986362086234534611">Borrar</translation>
 <translation id="8986494364107987395">Enviar automáticamente estadísticas de uso e informes sobre fallos a Google</translation>
 <translation id="8987927404178983737">Mes</translation>
diff --git a/chrome/app/resources/generated_resources_es.xtb b/chrome/app/resources/generated_resources_es.xtb
index 1e451b7..532f1b2 100644
--- a/chrome/app/resources/generated_resources_es.xtb
+++ b/chrome/app/resources/generated_resources_es.xtb
@@ -261,7 +261,7 @@
 <translation id="1374844444528092021">El certificado requerido por la red "<ph name="NETWORK_NAME" />" no está instalado o ya no es válido. Consigue un nuevo certificado y prueba a conectarte de nuevo.</translation>
 <translation id="1375321115329958930">Contraseñas guardadas</translation>
 <translation id="137651782282853227">Las direcciones guardadas aparecerán aquí</translation>
-<translation id="1377600615067678409">Omitir por ahora</translation>
+<translation id="1377600615067678409">Saltarpor ahora</translation>
 <translation id="1378613616312864539"><ph name="NAME" /> controla esta configuración</translation>
 <translation id="1378727793141957596">Te damos la bienvenida a Google Drive</translation>
 <translation id="1380436189840894976">¿Quieres salir del modo de incógnito de todas formas?</translation>
@@ -275,6 +275,7 @@
 <translation id="1395730723686586365">Herramienta de actualización iniciada</translation>
 <translation id="1396139853388185343">No se ha podido configurar la impresora</translation>
 <translation id="1396963298126346194">El nombre de usuario y la contraseña que has introducido no coinciden</translation>
+<translation id="1397500194120344683">No hay ningún dispositivo apto. <ph name="LINK_BEGIN" />Más información<ph name="LINK_END" /></translation>
 <translation id="1397854323885047133">Sincronización y personalización</translation>
 <translation id="1398853756734560583">Maximizar</translation>
 <translation id="1399511500114202393">Sin certificado de usuario</translation>
@@ -375,7 +376,6 @@
 <translation id="1531004739673299060">Ventana de la aplicación</translation>
 <translation id="15373452373711364">Cursor del ratón grande</translation>
 <translation id="1538729222189715449">Abriendo archivos de Linux...</translation>
-<translation id="153933193410874873">No hemos podido verificar tu identidad en este dispositivo</translation>
 <translation id="1540605929960647700">Habilitar modo de demostración</translation>
 <translation id="1543284117603151572">Importado desde Edge</translation>
 <translation id="1545177026077493356">Modo kiosco automático</translation>
@@ -529,6 +529,7 @@
 <translation id="175772926354468439">Habilitar tema</translation>
 <translation id="1758018619400202187">EAP-TLS</translation>
 <translation id="17584710573359123">Ver en Chrome Web Store</translation>
+<translation id="176193854664720708">El sensor de huellas digitales está situado en el botón de encendido. Tócalo ligeramente con un dedo.</translation>
 <translation id="1763046204212875858">Crear accesos directos a aplicaciones</translation>
 <translation id="1763108912552529023">Seguir explorando</translation>
 <translation id="1763808908432309942">Se abre en una nueva pestaña</translation>
@@ -682,7 +683,6 @@
 <translation id="1981115145845865539">Desbloquea automáticamente tu <ph name="DEVICE_TYPE" /></translation>
 <translation id="1983959805486816857">Una vez que hayas creado un nuevo usuario supervisado, podrás administrar su configuración en cualquier momento desde cualquier dispositivo a través de la página <ph name="MANAGEMENT_URL" />.</translation>
 <translation id="1984642098429648350">Acoplar ventana a la derecha</translation>
-<translation id="1987139229093034863">Cambiar a un usuario diferente</translation>
 <translation id="1987317783729300807">Cuentas</translation>
 <translation id="1989112275319619282">Examinar</translation>
 <translation id="1992397118740194946">Sin configurar</translation>
@@ -823,6 +823,7 @@
 <translation id="2208158072373999562">Archivo zip</translation>
 <translation id="220858061631308971">Introduce este código PIN en "<ph name="DEVICE_NAME" />":</translation>
 <translation id="2209593327042758816">Elemento 2 de la estantería</translation>
+<translation id="2212126039311489237">Imprimir usando el cuadro de diálogo del sistema</translation>
 <translation id="2217501013957346740">Crea un nombre -</translation>
 <translation id="2218019600945559112">Ratón y panel táctil</translation>
 <translation id="2218320521449013367">Chrome no ha podido eliminar el software dañino</translation>
@@ -935,6 +936,7 @@
 <translation id="2378075407703503998"><ph name="SELCTED_FILE_COUNT" /> archivos seleccionados</translation>
 <translation id="237828693408258535">¿Quieres traducir esta página?</translation>
 <translation id="2378982052244864789">Selecciona el directorio de la extensión.</translation>
+<translation id="2379281330731083556">Imprimir utilizando el cuadro de diálogo del sistema <ph name="SHORTCUT_KEY" /></translation>
 <translation id="2381756643783702095">Preguntar antes de enviar (recomendado)</translation>
 <translation id="2384436799579181135">Se ha producido un error. Comprueba tu impresora y vuelve a intentarlo.</translation>
 <translation id="2387458720915042159">Tipo de conexión con proxy</translation>
@@ -1114,6 +1116,7 @@
 <translation id="2653659639078652383">Enviar</translation>
 <translation id="265390580714150011">Valor de campo</translation>
 <translation id="2654166010170466751">Permitir a los sitios web instalar controladores de pago</translation>
+<translation id="2656742821229528729">Conecta tu teléfono Android al Chromebook para enviar mensajes desde el ordenador, compartir la conexión a Internet y desbloquear tu Chromebook con el teléfono.<ph name="FOOTNOTE_POINTER" /> <ph name="LINK_BEGIN" />Más información<ph name="LINK_END" /></translation>
 <translation id="2659381484350128933"><ph name="FOOTNOTE_POINTER" />Las funciones varían según el dispositivo</translation>
 <translation id="2660779039299703961">Evento</translation>
 <translation id="266079277508604648">No se puede establecer conexión con la impresora. Comprueba que esté encendida y conectada a tu Chromebook por red Wi‑Fi o USB.</translation>
@@ -1418,6 +1421,7 @@
 <translation id="3115128645424181617">No se encuentra tu teléfono. Asegúrate de que lo tienes cerca y de que el Bluetooth está activado.</translation>
 <translation id="3115147772012638511">Esperando caché...</translation>
 <translation id="3118319026408854581">Ayuda de <ph name="PRODUCT_NAME" /></translation>
+<translation id="3119484583572640616">Si la función Better Together está activada, puede hacer lo siguiente:</translation>
 <translation id="3120430004221004537">Cifrado insuficiente para una operación determinada de "<ph name="DEVICE_NAME" />".</translation>
 <translation id="3121793941267913344">Restablece este dispositivo <ph name="IDS_SHORT_PRODUCT_NAME" /></translation>
 <translation id="3122464029669770682">CPU</translation>
@@ -1730,6 +1734,7 @@
 <translation id="3596235046596950091">Habilitar servicios en la nube</translation>
 <translation id="3599863153486145794">Borra el historial de todos los dispositivos en los que hayas iniciado sesión. Es posible que tu cuenta de Google tenga otros tipos de historial de navegación en <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
 <translation id="3600792891314830896">Silenciar los sitios web que reproducen sonidos</translation>
+<translation id="360180734785106144">Ofrecer funciones nuevas cuando estén disponibles</translation>
 <translation id="3602290021589620013">Vista previa</translation>
 <translation id="3603533104205588786">Puedes hacer clic en la estrella para añadir esta página a marcadores</translation>
 <translation id="3603622770190368340">Obtener certificado de red</translation>
@@ -1834,7 +1839,7 @@
 <translation id="3737536731758327622">Tus descargas aparecen en esta sección</translation>
 <translation id="3738924763801731196"><ph name="OID" />:</translation>
 <translation id="3739254215541673094">¿Abrir <ph name="APPLICATION" />?</translation>
-<translation id="3741158646617793859"><ph name="DEVICE_NAME" /> aparecerá ahora en la Consola del administrador</translation>
+<translation id="3741158646617793859"><ph name="DEVICE_NAME" /> aparecerá ahora en la Consola de administración</translation>
 <translation id="3741243925913727067">Realiza una copia de seguridad en Google Drive de los vídeos y de las fotos de tu dispositivo multimedia.</translation>
 <translation id="3742055079367172538">Captura de pantalla hecha</translation>
 <translation id="3742666961763734085">No se puede encontrar una unidad organizativa con ese nombre. Inténtalo de nuevo.</translation>
@@ -2064,7 +2069,6 @@
 <translation id="4068506536726151626">Esta página contiene elementos de los siguientes sitios que hacen un seguimiento de tu ubicación:</translation>
 <translation id="4068776064906523561">Huellas digitales guardadas</translation>
 <translation id="407173827865827707">Al hacer clic</translation>
-<translation id="4071770069230198275"><ph name="PROFILE_NAME" />: error de inicio de sesión</translation>
 <translation id="4074900173531346617">Certificado de firma de correo electrónico</translation>
 <translation id="407520071244661467">Escala</translation>
 <translation id="4075639477629295004">No se puede enviar <ph name="FILE_NAME" />.</translation>
@@ -2972,6 +2976,7 @@
 <translation id="5487521232677179737">Borrar los datos</translation>
 <translation id="5488093641312826914">Se ha copiado <ph name="COPIED_ITEM_NAME" /></translation>
 <translation id="5488468185303821006">Permitir en modo de incógnito</translation>
+<translation id="5489121514345187313">Tu Chromebook funciona aún mejor con tu teléfono. <ph name="LINK_BEGIN" />Más información<ph name="LINK_END" />.</translation>
 <translation id="5489435190927933437">Contraseñas guardadas de <ph name="DOMAIN" /></translation>
 <translation id="5491110079163012109">Enviar datos del sistema. Envía automáticamente datos de diagnósticos y uso del dispositivo y las aplicaciones a Google. El propietario aplica esta configuración y puede elegir si se envían datos de uso y diagnósticos de este dispositivo a Google. Puedes ver esta opción en los ajustes. Si has activado la opción Actividad en la Web y en Aplicaciones, esta información se almacenará en tu cuenta para que puedas gestionarla en la sección Mi Actividad. <ph name="BEGIN_LINK1" />Más información<ph name="END_LINK1" /></translation>
 <translation id="5493792505296048976">pantalla encendida</translation>
@@ -3143,6 +3148,7 @@
 <translation id="5731409020711461763">1 foto nueva</translation>
 <translation id="5734362860645681824">Comunicaciones</translation>
 <translation id="5736796278325406685">Introduce un nombre de usuario válido</translation>
+<translation id="5739235828260127894">Esperando verificación. <ph name="LINK_BEGIN" />Más información<ph name="LINK_END" />.</translation>
 <translation id="5739458112391494395">Muy grande</translation>
 <translation id="5740331643563157105"><ph name="LANGUAGE_1" />, <ph name="LANGUAGE_2" /> y otros <ph name="NUM_ADDITIONAL_LANGUAGES" /></translation>
 <translation id="574209121243317957">Tono</translation>
@@ -3246,6 +3252,7 @@
 <translation id="5870086504539785141">Cerrar menú de accesibilidad</translation>
 <translation id="5870155679953074650">Fallos graves</translation>
 <translation id="5877064549588274448">Se ha cambiado el canal. Reinicia el dispositivo para aplicar los cambios.</translation>
+<translation id="5877584842898320529">La impresora seleccionada no se encuentra disponible o no está bien instalada. <ph name="BR" /> Compruébala o prueba a seleccionar otra.</translation>
 <translation id="5880247576487732437">Token presente</translation>
 <translation id="5882919346125742463">Redes conocidas</translation>
 <translation id="5884474295213649357">Esta pestaña está conectada a un dispositivo USB.</translation>
@@ -3312,9 +3319,12 @@
 <translation id="5979469435153841984">Para añadir páginas a marcadores, haz clic en la estrella situada en la barra de direcciones</translation>
 <translation id="5982621672636444458">Opciones de orden</translation>
 <translation id="5984222099446776634">Visitados recientemente</translation>
+<translation id="5985458664595100876">El formato de la URL no es válido. Los formatos admitidos son \\server\share y smb://server/share.</translation>
+<translation id="5990142338020175451">Servicios de Google más personalizados, como mejores sugerencias de páginas</translation>
 <translation id="5990386583461751448">Traducida</translation>
 <translation id="5991049340509704927">Ampliar</translation>
 <translation id="599131315899248751">{NUM_APPLICATIONS,plural, =1{Para seguir navegando por Internet, pide a tu administrador que quite esta aplicación.}other{Para seguir navegando por Internet, pide a tu administrador que quite estas aplicaciones.}}</translation>
+<translation id="5997337190805127100">Más información sobre el acceso del sitio web</translation>
 <translation id="6002458620803359783">Voces preferidas</translation>
 <translation id="6005695835120147974">Router multimedia</translation>
 <translation id="6006484371116297560">Clásico</translation>
@@ -3338,6 +3348,7 @@
 <translation id="6026819612896463875"><ph name="WINDOW_TITLE" />: dispositivo USB conectado</translation>
 <translation id="6028117231645531007">Añadir huella digital</translation>
 <translation id="6029027682598229313">Se ha completado la instalación de Linux.</translation>
+<translation id="6029292188939175871">eliminar [<ph name="FINGERPRINT_NAME" />], botón</translation>
 <translation id="6029587122245504742">Velocidad mínima</translation>
 <translation id="6032912588568283682">Sistema de archivos</translation>
 <translation id="6034662038931255275">Se ha actualizado correctamente el SO</translation>
@@ -3451,7 +3462,6 @@
 <translation id="6185132558746749656">Ubicación del dispositivo</translation>
 <translation id="6185617499004995178">Validador de IPP de CUPS</translation>
 <translation id="6185696379715117369">Retroceder página</translation>
-<translation id="6189273858858366896">Configurar o gestionar archivos compartidos de la red.</translation>
 <translation id="6189412234224385711">Abrir con <ph name="EXTENSION_NAME" /></translation>
 <translation id="6196640612572343990">Bloquear cookies de terceros</translation>
 <translation id="6196854373336333322">La extensión <ph name="EXTENSION_NAME" /> ahora controla la configuración del proxy, lo que significa que puede cambiar, deshacer o espiar cualquier acción que hagas online. Si no estás seguro de los motivos por los que se ha producido este cambio, probablemente no haya sido intencionado.</translation>
@@ -3756,6 +3766,7 @@
 <translation id="6643016212128521049">Eliminar</translation>
 <translation id="6644512095122093795">Preguntar si quiero guardar contraseñas</translation>
 <translation id="6644846457769259194">Actualizando el dispositivo (<ph name="PROGRESS_PERCENT" />)</translation>
+<translation id="6645437135153136856">El dispositivo de Google Cloud Print seleccionado ya no se admite. <ph name="BR" /> Prueba a configurar la impresora desde la configuración del sistema de tu ordenador.</translation>
 <translation id="6647228709620733774">URL de revocación de la entidad emisora de certificados de Netscape</translation>
 <translation id="6647838571840953560">Actualmente en <ph name="CHANNEL_NAME" /></translation>
 <translation id="6648051959475508072">Llave de seguridad activada...</translation>
@@ -3777,7 +3788,6 @@
 <translation id="667517062706956822">¿Quieres que Google traduzca esta página de <ph name="SOURCE_LANGUAGE" /> a <ph name="TARGET_LANGUAGE" />?</translation>
 <translation id="6675665718701918026">Dispositivo señalador conectado</translation>
 <translation id="6678717876183468697">URL de la consulta</translation>
-<translation id="6680028776254050810">Cambiar usuario</translation>
 <translation id="6680442031740878064">Disponible: <ph name="AVAILABLE_SPACE" /></translation>
 <translation id="6680650203439190394">Velocidad</translation>
 <translation id="6681668084120808868">Sacar foto</translation>
@@ -3786,7 +3796,6 @@
 <translation id="668599234725812620">Abrir Google Play</translation>
 <translation id="6686490380836145850">Cerrar pestañas a la derecha</translation>
 <translation id="6686817083349815241">Guardar tu contraseña</translation>
-<translation id="6690565918367819723"><ph name="PROFILE_NAME" /> - Cambiar de persona</translation>
 <translation id="6690659332373509948">No se puede analizar el archivo: <ph name="FILE_NAME" /></translation>
 <translation id="6690751852586194791">Selecciona un usuario supervisado que quieras añadir a este dispositivo.</translation>
 <translation id="6691331417640343772">Gestionar datos sincronizados en el Panel de Control de Google</translation>
@@ -4010,6 +4019,7 @@
 <translation id="7040230719604914234">Operador</translation>
 <translation id="7042418530779813870">Pe&amp;gar y buscar</translation>
 <translation id="7043108582968290193">¡Listo! No se han encontrado aplicaciones incompatibles.</translation>
+<translation id="7044124535091449260">Más información sobre el acceso del sitio web</translation>
 <translation id="7049293980323620022">¿Quieres conservar el archivo?</translation>
 <translation id="7051943809462976355">Buscando el ratón...</translation>
 <translation id="7052237160939977163">Enviar datos de seguimiento de rendimiento</translation>
@@ -4122,6 +4132,7 @@
 <translation id="7201118060536064622">Se ha eliminado "<ph name="DELETED_ITEM_NAME" />"</translation>
 <translation id="7206693748120342859">Descargando <ph name="PLUGIN_NAME" />...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Salir de la página}other{Salir de las páginas}}</translation>
+<translation id="7210499381659830293">Impresoras de extensiones</translation>
 <translation id="721467499098558573">Mantén pulsado el botón de la llave de seguridad durante al menos 5 segundos</translation>
 <translation id="7216409898977639127">Proveedor de servicios móviles</translation>
 <translation id="7216595297012131718">Ordena los idiomas según tus preferencias</translation>
@@ -4200,6 +4211,7 @@
 <translation id="7321545336522791733">No se puede acceder al servidor</translation>
 <translation id="7324297612904500502">Foro beta</translation>
 <translation id="7325437708553334317">Extensión de contraste alto</translation>
+<translation id="7328162502911382168">(<ph name="COUNT" />)</translation>
 <translation id="7328867076235380839">Combinación no válida</translation>
 <translation id="7329154610228416156">No ha sido posible iniciar la sesión porque se ha establecido una URL de inicio de sesión no segura (<ph name="BLOCKED_URL" />). Ponte en contacto con el administrador.</translation>
 <translation id="7334190995941642545">Smart Lock no está disponible en este momento. Inténtalo de nuevo más tarde.</translation>
@@ -4791,6 +4803,7 @@
 <translation id="8199300056570174101">Propiedades de los dispositivos y las redes (servicio)</translation>
 <translation id="8200772114523450471">Reanudar</translation>
 <translation id="8202160505685531999">Vuelve a introducir tu contraseña para actualizar tu perfil de <ph name="DEVICE_TYPE" />.</translation>
+<translation id="8203732864715032075">Recibe notificaciones en este ordenador y establécelo como predeterminado para enviar y recibir mensajes. <ph name="LINK_BEGIN" />Más información<ph name="LINK_END" /></translation>
 <translation id="8206354486702514201">El administrador aplica esta opción.</translation>
 <translation id="8206745257863499010">Música</translation>
 <translation id="8209677645716428427">Un usuario supervisado puede explorar la Web con tu ayuda. Como administrador de un usuario supervisado en Chrome, puedes realizar las siguientes acciones:</translation>
@@ -5102,7 +5115,6 @@
 <translation id="869884720829132584">Menú de aplicaciones</translation>
 <translation id="869891660844655955">Fecha de caducidad</translation>
 <translation id="8699566574894671540">Para activar esta opción, antes debes seleccionar Comprobar ortografía al escribir en el menú Editar</translation>
-<translation id="870073306461175568">Uso compartido de archivos del sistema</translation>
 <translation id="8701677791353449257">El nombre del dispositivo debe coincidir con la expresión regular <ph name="REGEX" />.</translation>
 <translation id="8704521619148782536">Esta acción está tardando mucho más tiempo del habitual. Puedes seguir esperando o cancelar la acción y volver a intentarlo más tarde.</translation>
 <translation id="8705331520020532516">Número de serie</translation>
@@ -5287,7 +5299,6 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" />: ha fallado</translation>
 <translation id="8983677657449185470">Ayudar a mejorar la función Navegación Segura</translation>
 <translation id="8984179138335769204">Inicio rápido</translation>
-<translation id="8984654317541110628">URL de recurso compartido</translation>
 <translation id="8986362086234534611">Dejar de recordar</translation>
 <translation id="8986494364107987395">Envía automáticamente estadísticas de uso e informes sobre fallos a Google</translation>
 <translation id="8987927404178983737">Mes</translation>
diff --git a/chrome/app/resources/generated_resources_et.xtb b/chrome/app/resources/generated_resources_et.xtb
index 465f2bb..098770d 100644
--- a/chrome/app/resources/generated_resources_et.xtb
+++ b/chrome/app/resources/generated_resources_et.xtb
@@ -275,6 +275,7 @@
 <translation id="1395730723686586365">Värskendaja käivitati</translation>
 <translation id="1396139853388185343">Viga printeri seadistamisel</translation>
 <translation id="1396963298126346194">Sisestatud kasutajanimi ja parool ei ühti</translation>
+<translation id="1397500194120344683">Sobilikke seadmeid ei ole. <ph name="LINK_BEGIN" />Lisateave<ph name="LINK_END" /></translation>
 <translation id="1397854323885047133">Sünkroonimine ja isikupärastamine</translation>
 <translation id="1398853756734560583">Maksimeeri</translation>
 <translation id="1399511500114202393">Kasutaja sertifikaat puudub</translation>
@@ -375,7 +376,6 @@
 <translation id="1531004739673299060">Rakenduse aken</translation>
 <translation id="15373452373711364">Suur hiirekursor</translation>
 <translation id="1538729222189715449">Linuxi failide avamine …</translation>
-<translation id="153933193410874873">Meil ei õnnestunud selles seadmes teie identiteeti kinnitada</translation>
 <translation id="1540605929960647700">Demorežiimi lubamine</translation>
 <translation id="1543284117603151572">Imporditud teenusest Edge</translation>
 <translation id="1545177026077493356">Automaatne kioskirežiim</translation>
@@ -529,6 +529,7 @@
 <translation id="175772926354468439">Luba teema</translation>
 <translation id="1758018619400202187">EAP-TLS</translation>
 <translation id="17584710573359123">Kuva Chrome'i veebipoes</translation>
+<translation id="176193854664720708">Sõrmejäljeandur on toitenupp. Puudutage seda õrnalt mis tahes sõrmega.</translation>
 <translation id="1763046204212875858">Rakenduse otseteede loomine</translation>
 <translation id="1763108912552529023">Jätka uurimist</translation>
 <translation id="1763808908432309942">Avaneb uuel vahekaardil</translation>
@@ -682,7 +683,6 @@
 <translation id="1981115145845865539">Avage oma seade <ph name="DEVICE_TYPE" /> automaatselt</translation>
 <translation id="1983959805486816857">Pärast uue valvatava kasutaja loomist saate seadmes aadressil <ph name="MANAGEMENT_URL" /> seadeid hallata.</translation>
 <translation id="1984642098429648350">Doki aken paremale</translation>
-<translation id="1987139229093034863">Vaheta kasutajat.</translation>
 <translation id="1987317783729300807">Kontod</translation>
 <translation id="1989112275319619282">Sirvi</translation>
 <translation id="1992397118740194946">Pole määratud</translation>
@@ -823,6 +823,7 @@
 <translation id="2208158072373999562">Zip-arhiiv</translation>
 <translation id="220858061631308971">Sisestage seadmes „<ph name="DEVICE_NAME" />” see PIN-kood:</translation>
 <translation id="2209593327042758816">Riiuliüksus 2</translation>
+<translation id="2212126039311489237">Printimine süsteemidialoogidega</translation>
 <translation id="2217501013957346740">Nime loomine –</translation>
 <translation id="2218019600945559112">Hiir ja puuteplaat</translation>
 <translation id="2218320521449013367">Chrome'is ilmnes ohtliku tarkvara eemaldamisel viga</translation>
@@ -935,6 +936,7 @@
 <translation id="2378075407703503998">Valitud on <ph name="SELCTED_FILE_COUNT" /> faili</translation>
 <translation id="237828693408258535">Kas tõlkida see leht?</translation>
 <translation id="2378982052244864789">Laiendi kataloogi valimine.</translation>
+<translation id="2379281330731083556">Prindi süsteemidialoogi abil ... <ph name="SHORTCUT_KEY" /></translation>
 <translation id="2381756643783702095">Küsib enne saatmist (soovitatav)</translation>
 <translation id="2384436799579181135">Ilmnes viga. Kontrollige printerit ja proovige uuesti.</translation>
 <translation id="2387458720915042159">Puhverserveri ühenduse tüüp</translation>
@@ -1114,6 +1116,7 @@
 <translation id="2653659639078652383">Esita</translation>
 <translation id="265390580714150011">Välja väärtus</translation>
 <translation id="2654166010170466751">Luba saitidel maksetöötlejaid installida</translation>
+<translation id="2656742821229528729">Ühendage oma Android-telefon ja Chromebook, et saaksite arvutist tekstisõnumeid saata, jagada oma Interneti-ühendust ja avada telefoniga oma Chromebooki ekraani.<ph name="FOOTNOTE_POINTER" /> <ph name="LINK_BEGIN" />Lisateave<ph name="LINK_END" /></translation>
 <translation id="2659381484350128933"><ph name="FOOTNOTE_POINTER" />Funktsioonid erinevad seadmeti</translation>
 <translation id="2660779039299703961">Sündmus</translation>
 <translation id="266079277508604648">Printeriga ei saa ühendada. Kontrollige, kas printer on sisse lülitatud ja teie Chromebookiga WiFi või USB kaudu ühendatud.</translation>
@@ -1418,6 +1421,7 @@
 <translation id="3115128645424181617">Teie telefoni ei õnnestu leida. Veenduge, et see oleks käepärast ja Bluetooth oleks sisse lülitatud.</translation>
 <translation id="3115147772012638511">Puhvri ootel...</translation>
 <translation id="3118319026408854581">Toote <ph name="PRODUCT_NAME" /> abi</translation>
+<translation id="3119484583572640616">Funktsiooni Better Together sisselülitamine tähendab, et see saab teha järgmist.</translation>
 <translation id="3120430004221004537">Ebapiisav krüpteerimine antud toimingu puhul seadmes „<ph name="DEVICE_NAME" />”.</translation>
 <translation id="3121793941267913344">Toote <ph name="IDS_SHORT_PRODUCT_NAME" /> seadme lähtestamine</translation>
 <translation id="3122464029669770682">Protsessor</translation>
@@ -1732,6 +1736,7 @@
 <translation id="3596235046596950091">Luba pilveteenused</translation>
 <translation id="3599863153486145794">Kustutab ajaloo kõigist sisselogitud seadmetest. Aadressil <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> võib teie Google'i kontol olla muus vormis sirvimisajalugu.</translation>
 <translation id="3600792891314830896">Heli esitavad saidid vaigistatakse</translation>
+<translation id="360180734785106144">Pakkuda uusi funktsioone, kui need kättesaadavaks muutuvad</translation>
 <translation id="3602290021589620013">Eelvaade</translation>
 <translation id="3603533104205588786">Lehe järjehoidjatesse lisamiseks klõpsake tärnil</translation>
 <translation id="3603622770190368340">Võrgusertifikaadi hankimine</translation>
@@ -2067,7 +2072,6 @@
 <translation id="4068506536726151626">See leht sisaldab järgmiste saitide elemente, mis jälgivad teie asukohta:</translation>
 <translation id="4068776064906523561">Salvestatud sõrmejäljed</translation>
 <translation id="407173827865827707">Klõpsamisel</translation>
-<translation id="4071770069230198275"><ph name="PROFILE_NAME" />: sisselogimise viga</translation>
 <translation id="4074900173531346617">Meili allkirjastamise sertifikaat</translation>
 <translation id="407520071244661467">Skaleeri</translation>
 <translation id="4075639477629295004">Faili <ph name="FILE_NAME" /> ei saa üle kanda.</translation>
@@ -2869,6 +2873,7 @@
 <translation id="5332624210073556029">Ajavöönd:</translation>
 <translation id="5334142896108694079">Skripti vahemälu</translation>
 <translation id="5334844597069022743">Allika kuvamine</translation>
+<translation id="5334899159203764908">Lisateave <ph name="BEGIN_LINK" />saidijuurdepääsu<ph name="END_LINK" /> kohta</translation>
 <translation id="5335458522276292100"><ph name="BEGIN_LINK" />Google Drive'i<ph name="END_LINK" /> varundamine: <ph name="FILE_COUNT" /></translation>
 <translation id="5336126339807372270">Ära luba ühelgi saidil USB-seadmetele juurde pääseda</translation>
 <translation id="5337771866151525739">Installis kolmas osapool.</translation>
@@ -2976,6 +2981,7 @@
 <translation id="5487521232677179737">Kustuta andmed</translation>
 <translation id="5488093641312826914">„<ph name="COPIED_ITEM_NAME" />” on kopeeritud</translation>
 <translation id="5488468185303821006">Luba inkognito-režiimis</translation>
+<translation id="5489121514345187313">Teie Chromebook töötab koos teie telefoniga veelgi paremini. <ph name="LINK_BEGIN" />Lisateave<ph name="LINK_END" /></translation>
 <translation id="5489435190927933437">Domeeni <ph name="DOMAIN" /> jaoks salvestatud paroolid</translation>
 <translation id="5491110079163012109">Saatke süsteemi andmeid. Saatke Google'ile automaatselt diagnostikateavet ning seadme ja rakenduste kasutusandmeid. Omanik võib lubada seadme diagnostika- ja kasutusandmete saatmise Google'ile. Seda saate vaadata seadetes. Kui lülitasite sisse rohkem veebi- ja rakendustegevusi, salvestatakse see teave teie kontole, et saaksite seda hallata jaotises Minu tegevused. <ph name="BEGIN_LINK1" />Lisateave<ph name="END_LINK1" /></translation>
 <translation id="5493792505296048976">ekraan on sees</translation>
@@ -3147,6 +3153,7 @@
 <translation id="5731409020711461763">Üks uus foto</translation>
 <translation id="5734362860645681824">Vestlusteenused</translation>
 <translation id="5736796278325406685">Sisestage kehtiv kasutajanimi</translation>
+<translation id="5739235828260127894">Kinnitamise ootel. <ph name="LINK_BEGIN" />Lisateave<ph name="LINK_END" /></translation>
 <translation id="5739458112391494395">Väga suur</translation>
 <translation id="5740331643563157105"><ph name="LANGUAGE_1" />, <ph name="LANGUAGE_2" /> ja veel <ph name="NUM_ADDITIONAL_LANGUAGES" /> keelt</translation>
 <translation id="574209121243317957">Helikõrgus</translation>
@@ -3250,6 +3257,7 @@
 <translation id="5870086504539785141">Juurdepääsetavuse menüü sulgemine</translation>
 <translation id="5870155679953074650">Rängad vead</translation>
 <translation id="5877064549588274448">Kanal on muutunud. Muudatuste rakendamiseks taaskäivitage oma seade.</translation>
+<translation id="5877584842898320529">Valitud printer pole saadaval või pole õigesti installitud. <ph name="BR" /> Kontrollige printerit või valige teine printer.</translation>
 <translation id="5880247576487732437">Luba on olemas</translation>
 <translation id="5882919346125742463">Teadaolevad võrgud</translation>
 <translation id="5884474295213649357">See vaheleht on ühendatud USB-seadmega.</translation>
@@ -3316,6 +3324,7 @@
 <translation id="5979469435153841984">Lehtede järjehoidjatesse lisamiseks klõpsake aadressiribal tärnil</translation>
 <translation id="5982621672636444458">Sortimisvalikud</translation>
 <translation id="5984222099446776634">Viimati külastatud</translation>
+<translation id="5985458664595100876">URL-i sobimatu vorming. Toetatud vormingud on \\server\share ja smb://server/share.</translation>
 <translation id="5990142338020175451">Isiklikumad Google'i teenused, nt paremad lehesoovitused</translation>
 <translation id="5990386583461751448">Tõlgitud</translation>
 <translation id="5991049340509704927">Suurenda</translation>
@@ -3344,6 +3353,7 @@
 <translation id="6026819612896463875"><ph name="WINDOW_TITLE" /> – USB-seade on ühendatud</translation>
 <translation id="6028117231645531007">Lisa sõrmejälg</translation>
 <translation id="6029027682598229313">Linuxi installimine lõpetati.</translation>
+<translation id="6029292188939175871">kustuta [<ph name="FINGERPRINT_NAME" />], nupp</translation>
 <translation id="6029587122245504742">Kõige aeglasem</translation>
 <translation id="6032912588568283682">Failisüsteem</translation>
 <translation id="6034662038931255275">OS-i värskendamine õnnestus</translation>
@@ -3457,7 +3467,6 @@
 <translation id="6185132558746749656">Seadme asukoht</translation>
 <translation id="6185617499004995178">CUPS IPP validaator</translation>
 <translation id="6185696379715117369">Lehel üles</translation>
-<translation id="6189273858858366896">Seadistage või hallake failide võrguhoidlaid.</translation>
 <translation id="6189412234224385711">Ava laiendusega <ph name="EXTENSION_NAME" /></translation>
 <translation id="6196640612572343990">Blokeeri kolmanda osapoole küpsisefailid</translation>
 <translation id="6196854373336333322">Laiendus „<ph name="EXTENSION_NAME" />” on hõivanud puhverserveri seaded, mis tähendab, et see saab muuta, lõhkuda või kuulata pealt kogu teie veebitegevust. Kui te pole kindel, miks see muudatus toimus, siis te tõenäoliselt ei taha seda.</translation>
@@ -3763,6 +3772,7 @@
 <translation id="6643016212128521049">Tühjenda</translation>
 <translation id="6644512095122093795">Paku paroolide salvestamist</translation>
 <translation id="6644846457769259194">Seadme värskendamine (<ph name="PROGRESS_PERCENT" />)</translation>
+<translation id="6645437135153136856">Valitud Google'i pilvprintimise seadet enam ei toetata. <ph name="BR" /> Proovige printer seadistada oma arvuti süsteemiseadetes.</translation>
 <translation id="6647228709620733774">Netscape'i sertifitseerimisorgani tühistus-URL</translation>
 <translation id="6647838571840953560">Praegu kanalil <ph name="CHANNEL_NAME" /></translation>
 <translation id="6648051959475508072">Turvavõti aktiveeriti …</translation>
@@ -3784,7 +3794,6 @@
 <translation id="667517062706956822">Kas soovite lasta Google'il selle lehe tõlkida <ph name="SOURCE_LANGUAGE" /> keelest <ph name="TARGET_LANGUAGE" /> keelde?</translation>
 <translation id="6675665718701918026">Ühendati kursoriseade</translation>
 <translation id="6678717876183468697">Päringu URL</translation>
-<translation id="6680028776254050810">Kasutaja vahetamine</translation>
 <translation id="6680442031740878064">Saadaval: <ph name="AVAILABLE_SPACE" /></translation>
 <translation id="6680650203439190394">Kiirus</translation>
 <translation id="6681668084120808868">Tee foto</translation>
@@ -3793,7 +3802,6 @@
 <translation id="668599234725812620">Ava Google Play</translation>
 <translation id="6686490380836145850">Sule vahelehed paremalt</translation>
 <translation id="6686817083349815241">Parooli salvestamine</translation>
-<translation id="6690565918367819723"><ph name="PROFILE_NAME" />: vaheta kasutaja isikut</translation>
 <translation id="6690659332373509948">Faili ei saa sõeluda: <ph name="FILE_NAME" /></translation>
 <translation id="6690751852586194791">Valige jälgitav kasutaja, kes seadmes lisada.</translation>
 <translation id="6691331417640343772">Sünkroonitud andmete haldamine teenuses Google Dashboard</translation>
@@ -4130,6 +4138,7 @@
 <translation id="7201118060536064622">Üksus „<ph name="DELETED_ITEM_NAME" />” kustutati</translation>
 <translation id="7206693748120342859">Pistikprogrammi <ph name="PLUGIN_NAME" /> allalaadimine ...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Välju lehelt}other{Välju lehtedelt}}</translation>
+<translation id="7210499381659830293">Laienduse printerid</translation>
 <translation id="721467499098558573">Vajutage ja hoidke turvavõtmel olevat nuppu all vähemalt viis sekundit</translation>
 <translation id="7216409898977639127">Mobiilsideteenuse pakkuja</translation>
 <translation id="7216595297012131718">Keeled järjestatakse teie eelistuste põhjal</translation>
@@ -4208,6 +4217,7 @@
 <translation id="7321545336522791733">Serveriga ei saa ühendust</translation>
 <translation id="7324297612904500502">Beeta foorum</translation>
 <translation id="7325437708553334317">Kõrge kontrastsuse laiendus</translation>
+<translation id="7328162502911382168">(<ph name="COUNT" />)</translation>
 <translation id="7328867076235380839">Sobimatu kombinatsioon</translation>
 <translation id="7329154610228416156">Sisselogimine ebaõnnestus, sest see oli konfigureeritud kasutama ebaturvalist URL-i (<ph name="BLOCKED_URL" />). Võtke ühendust administraatoriga.</translation>
 <translation id="7334190995941642545">Smart Lock ei ole praegu saadaval. Proovige hiljem uuesti.</translation>
@@ -4799,6 +4809,7 @@
 <translation id="8199300056570174101">Võrk (teenus) ja seadme atribuudid</translation>
 <translation id="8200772114523450471">Taasta</translation>
 <translation id="8202160505685531999">Sisestage oma seadme <ph name="DEVICE_TYPE" /> profiili värskendamiseks parool uuesti.</translation>
+<translation id="8203732864715032075">See arvuti jäetakse rakenduse Messages jaoks meelde ning teile saadetakse sõnumite kohta märguandeid. <ph name="LINK_BEGIN" />Lisateave<ph name="LINK_END" /></translation>
 <translation id="8206354486702514201">Selle seade jõustas teie administraator.</translation>
 <translation id="8206745257863499010">Bluusilik</translation>
 <translation id="8209677645716428427">Valvatav kasutaja saab veebi avastada teie juhendamisel. Valvatava kasutaja haldurina Chrome'is saate teha järgmist:</translation>
@@ -5111,7 +5122,6 @@
 <translation id="869884720829132584">Rakenduste menüü</translation>
 <translation id="869891660844655955">Aegumiskuupäev</translation>
 <translation id="8699566574894671540">Selle sisselülitamiseks tehke menüüs Muutmine esmalt valik Õigekirja kontrollimine teksti sisestamisel</translation>
-<translation id="870073306461175568">Failide võrguhoidlad</translation>
 <translation id="8701677791353449257">Seadme nimi peab ühtima regulaaravaldisega <ph name="REGEX" />.</translation>
 <translation id="8704521619148782536">Selleks kulub tavalisest palju rohkem aega. Võite edasi oodata või toimingu tühistada ja hiljem uuesti proovida.</translation>
 <translation id="8705331520020532516">Seerianumber</translation>
@@ -5296,7 +5306,6 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> – jooksis kokku</translation>
 <translation id="8983677657449185470">Aidake ohutut sirvimist paremaks muuta</translation>
 <translation id="8984179138335769204">Kiirkäivitus</translation>
-<translation id="8984654317541110628">Failide jagamise URL</translation>
 <translation id="8986362086234534611">Unusta</translation>
 <translation id="8986494364107987395">Saada kasutusstatistika ja krahhiaruanded automaatselt Google'ile</translation>
 <translation id="8987927404178983737">kuu</translation>
diff --git a/chrome/app/resources/generated_resources_fa.xtb b/chrome/app/resources/generated_resources_fa.xtb
index 3a28349..4b693bc5 100644
--- a/chrome/app/resources/generated_resources_fa.xtb
+++ b/chrome/app/resources/generated_resources_fa.xtb
@@ -275,6 +275,7 @@
 <translation id="1395730723686586365">به‌روزرسان شروع شد</translation>
 <translation id="1396139853388185343">خطا هنگام راه‌اندازی چاپگر</translation>
 <translation id="1396963298126346194">نام کاربری و گذرواژه‌ای که وارد کرده‌اید، مطابقت ندارند</translation>
+<translation id="1397500194120344683">دستگاه واجد شرایطی وجود ندارد. <ph name="LINK_BEGIN" />بیشتر بدانید.<ph name="LINK_END" /></translation>
 <translation id="1397854323885047133">همگام‌سازی و شخصی‌سازی</translation>
 <translation id="1398853756734560583">بزرگ کردن</translation>
 <translation id="1399511500114202393">بدون گواهینامه کاربر</translation>
@@ -372,7 +373,6 @@
 <translation id="1531004739673299060">پنجره برنامه</translation>
 <translation id="15373452373711364">نشانگر موشواره بزرگ</translation>
 <translation id="1538729222189715449">‏درحال باز کردن فایل‌های Linux…</translation>
-<translation id="153933193410874873">نتوانستیم هویتتان را در این دستگاه تأیید کنیم</translation>
 <translation id="1540605929960647700">فعال کردن حالت نمایشی</translation>
 <translation id="1543284117603151572">‏وارد شده از Edge</translation>
 <translation id="1545177026077493356">حالت کیوسک خودکار</translation>
@@ -526,6 +526,7 @@
 <translation id="175772926354468439">فعال کردن طرح زمینه</translation>
 <translation id="1758018619400202187">EAP-TLS</translation>
 <translation id="17584710573359123">‏مشاهده در «نت‌بازار Chrome»</translation>
+<translation id="176193854664720708">حسگر اثر انگشت روی دکمه روشن/خاموش است. با یکی از انگشت‌هایتان آن را به‌آرامی لمس کنید.</translation>
 <translation id="1763046204212875858">ایجاد میان‌برهای برنامه</translation>
 <translation id="1763108912552529023">به کاوش ادامه دهید</translation>
 <translation id="1763808908432309942">در برگه جدیدی باز می‌شود</translation>
@@ -679,7 +680,6 @@
 <translation id="1981115145845865539">باز کردن قفل <ph name="DEVICE_TYPE" /> به‌طور خودکار</translation>
 <translation id="1983959805486816857">پس از ایجاد کاربر نظارت‌‌شده جدید، می‌توانید هر زمان که بخواهید از هر دستگاهی، تنظیمات را در <ph name="MANAGEMENT_URL" /> مدیریت کنید.</translation>
 <translation id="1984642098429648350">متصل کردن پنجره در راست</translation>
-<translation id="1987139229093034863">به کاربر دیگری بروید.</translation>
 <translation id="1987317783729300807">حساب‌ها</translation>
 <translation id="1989112275319619282">مشاهده محتوای موجود در فروشگاه ما</translation>
 <translation id="1992397118740194946">تنظیم نشده است</translation>
@@ -820,6 +820,7 @@
 <translation id="2208158072373999562">فایل بایگانی زیپ</translation>
 <translation id="220858061631308971">لطفاً این کد پین را در "<ph name="DEVICE_NAME" />" وارد کنید:</translation>
 <translation id="2209593327042758816">مورد ۲ قفسه</translation>
+<translation id="2212126039311489237">چاپ با استفاده از کادر گفتگوی سیستم</translation>
 <translation id="2217501013957346740">یک نام ایجاد کنید -</translation>
 <translation id="2218019600945559112">موشواره و صفحه لمسی</translation>
 <translation id="2218320521449013367">‏هنگام حذف نرم‌افزار مضر توسط Chrome، خطایی روی داد</translation>
@@ -932,6 +933,7 @@
 <translation id="2378075407703503998"><ph name="SELCTED_FILE_COUNT" /> فایل انتخاب شد</translation>
 <translation id="237828693408258535">این صفحه ترجمه شود؟</translation>
 <translation id="2378982052244864789">دایرکتوری برنامهٔ افزودنی را انتخاب کنید.</translation>
+<translation id="2379281330731083556">چاپ با استفاده از گفتگوی سیستم... <ph name="SHORTCUT_KEY" /></translation>
 <translation id="2381756643783702095">قبل از ارسال سؤال شود (توصیه می‌شود)</translation>
 <translation id="2384436799579181135">خطایی روی داده است. لطفاً چاپگرتان را بررسی و دوباره امتحان کنید.</translation>
 <translation id="2387458720915042159">نوع اتصال پراکسی</translation>
@@ -1110,6 +1112,7 @@
 <translation id="2653659639078652383">ارائه</translation>
 <translation id="265390580714150011">مقدار قسمت</translation>
 <translation id="2654166010170466751">اجازه به سایت‌ها برای نصب کنتر‌ل‌کننده‌های پرداخت</translation>
+<translation id="2656742821229528729">‏تلفنتان Android و Chromebook خود را مرتبط کنید تا بتوانید از رایانه‌تان پیام نوشتاری ارسال کنید، اتصال اینترنت تلفنتان را به اشتراک بگذارید و قفل صفحه Chromebook را باز کنید.<ph name="FOOTNOTE_POINTER" /><ph name="LINK_BEGIN" /> یشتر بدانید<ph name="LINK_END" /></translation>
 <translation id="2659381484350128933"><ph name="FOOTNOTE_POINTER" />ویژگی‌ها براساس دستگاه متفاوت است</translation>
 <translation id="2660779039299703961">رویداد</translation>
 <translation id="266079277508604648">‏چاپگر متصل نشد. بررسی کنید چاپگر روشن و ازطریق Wi-Fi یا USB به Chromebook متصل باشد.</translation>
@@ -1414,6 +1417,7 @@
 <translation id="3115128645424181617">تلفنتان پیدا نمی‌شود. مطمئن شوید در دسترس است و بلوتوث روشن است.</translation>
 <translation id="3115147772012638511">منتظر حافظهٔ پنهان...</translation>
 <translation id="3118319026408854581">راهنمای <ph name="PRODUCT_NAME" /></translation>
+<translation id="3119484583572640616">‏اگر Better Together را روشن کنید، می‌تواند این کارها را انجام دهد:</translation>
 <translation id="3120430004221004537">رمزگذاری برای عملیات موردنظر در این دستگاه کافی نیست: «<ph name="DEVICE_NAME" />».</translation>
 <translation id="3121793941267913344">این دستگاه <ph name="IDS_SHORT_PRODUCT_NAME" /> بازنشانی شود</translation>
 <translation id="3122464029669770682">CPU</translation>
@@ -1664,7 +1668,7 @@
 <translation id="3494769164076977169">وقتی سایتی تلاش می‌کند بعد از اولین فایل، فایل‌ها را به‌طور خودکار بارگیری کند سؤال شود (توصیه می‌شود)</translation>
 <translation id="3495304270784461826"><ph name="COUNT" /> خطا.</translation>
 <translation id="3495660573538963482">‏تنظیمات «دستیار Google»</translation>
-<translation id="3496213124478423963">کوچک نمایی</translation>
+<translation id="3496213124478423963">‏Zoom Out (دورنمایی)</translation>
 <translation id="3505030558724226696">لغو دسترسی دستگاه</translation>
 <translation id="3507421388498836150">اجازه‌های فعلی برای «<ph name="EXTENSION_NAME" />»</translation>
 <translation id="3507547268929739059">‏حذف برنامه‌های Linux برای Chromebook</translation>
@@ -1728,6 +1732,7 @@
 <translation id="3596235046596950091">فعال کردن سرویس‌های ابری</translation>
 <translation id="3599863153486145794">‏سابقه را از همه دستگاه‌های به سیستم واردشده پاک می‌کند. ممکن است حساب Google شما اشکال دیگری از سابقه مرور در <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> داشته باشد.</translation>
 <translation id="3600792891314830896">سایت‌هایی که صدا پخش می‌کنند بی‌صدا شوند</translation>
+<translation id="360180734785106144">پیشنهاد ویژگی‌های جدید به‌محض دردسترس قرار گرفتن</translation>
 <translation id="3602290021589620013">پیش‌نمایش</translation>
 <translation id="3603533104205588786">می‌توانید برای نشانک‌گذاری صفحه‌ای، روی ستاره کلیک کنید</translation>
 <translation id="3603622770190368340">دریافت گواهی‌نامه شبکه</translation>
@@ -2063,7 +2068,6 @@
 <translation id="4068506536726151626">این صفحه کنشگرهایی از سایت‌های زیر دارد که مکان شما را ردیابی می‌کنند:</translation>
 <translation id="4068776064906523561">اثرانگشت‌های ذخیره‌شده</translation>
 <translation id="407173827865827707">با کلیک</translation>
-<translation id="4071770069230198275"><ph name="PROFILE_NAME" />: خطای ورود به سیستم</translation>
 <translation id="4074900173531346617">گواهی امضاکننده ایمیل</translation>
 <translation id="407520071244661467">مقیاس</translation>
 <translation id="4075639477629295004">ارسال محتوای <ph name="FILE_NAME" /> امکان‌پذیر نیست.</translation>
@@ -2865,6 +2869,7 @@
 <translation id="5332624210073556029">منطقهٔ زمانی:</translation>
 <translation id="5334142896108694079">حافظهٔ پنهان اسکریپت</translation>
 <translation id="5334844597069022743">مشاهده منبع</translation>
+<translation id="5334899159203764908">درباره <ph name="BEGIN_LINK" />دسترسی به سایت<ph name="END_LINK" /> بیشتر بدانید</translation>
 <translation id="5335458522276292100">‏درحال پشتیبان‌گیری از <ph name="FILE_COUNT" /> در <ph name="BEGIN_LINK" />Google Drive<ph name="END_LINK" /></translation>
 <translation id="5336126339807372270">‏به هیچ سایتی اجازه دسترسی به دستگاه‌های USB داده نشود</translation>
 <translation id="5337771866151525739">توسط یک شخص ثالث نصب شده است.</translation>
@@ -2972,6 +2977,7 @@
 <translation id="5487521232677179737">پاک کردن داده‌ها</translation>
 <translation id="5488093641312826914">«<ph name="COPIED_ITEM_NAME" />» کپی شد</translation>
 <translation id="5488468185303821006">در ناشناس مجاز است</translation>
+<translation id="5489121514345187313">‏Chromebook با تلفنتان به‌مراتب بهتر کار می‌کند. <ph name="LINK_BEGIN" />بیشتر بدانید.<ph name="LINK_END" /></translation>
 <translation id="5489435190927933437">گذرواژه‌های ذخیره‌شده برای <ph name="DOMAIN" /></translation>
 <translation id="5491110079163012109">‏ارسال داده‌های سیستم. داده‌های عیب‌یابی و میزان استفاده دستگاه و برنامه به‌طور خودکار به Google ارسال می‌شوند. این تنظیم توسط مالک اعمال می‌شود. ممکن است مالک انتخاب کند داده‌های عیب‌یابی و میزان استفاده این دستگاه به Google ارسال شوند. می‌توانید این مورد را در تنظیمات مشاهده کنید. اگر «فعالیت وب و برنامه» تکمیلی را روشن کرده باشید، این اطلاعات در حسابتان ذخیره خواهد شد تا بتوانید آن‌ها را در «فعالیت من» مدیریت کنید. <ph name="BEGIN_LINK1" />بیشتر بدانید<ph name="END_LINK1" /></translation>
 <translation id="5493792505296048976">صفحه روشن است</translation>
@@ -3143,6 +3149,7 @@
 <translation id="5731409020711461763">۱ عکس‌ جدید</translation>
 <translation id="5734362860645681824">ارتباطات</translation>
 <translation id="5736796278325406685">لطفاً نام کاربری معتبری وارد کنید.</translation>
+<translation id="5739235828260127894">در انتظار تأیید. <ph name="LINK_BEGIN" />بیشتر بدانید.<ph name="LINK_END" /></translation>
 <translation id="5739458112391494395">خیلی بزرگ</translation>
 <translation id="5740331643563157105"><ph name="LANGUAGE_1" />، <ph name="LANGUAGE_2" /> و <ph name="NUM_ADDITIONAL_LANGUAGES" /> زبان دیگر</translation>
 <translation id="574209121243317957">زیروبمی صدا</translation>
@@ -3246,6 +3253,7 @@
 <translation id="5870086504539785141">منوی دسترس‌پذیری نزدیک</translation>
 <translation id="5870155679953074650">خطاهای سخت‌افزاری</translation>
 <translation id="5877064549588274448">کانال تغییر کرد. برای اعمال تغییرات دستگاه خود را مجدداً راه‌اندازی کنید.</translation>
+<translation id="5877584842898320529">چاپگر انتخابی موجود نیست یا به‌درستی نصب نشده است. <ph name="BR" /> چاپگر خود را بررسی کنید یا چاپگر دیگری را انتخاب کنید.</translation>
 <translation id="5880247576487732437">کد آماده است</translation>
 <translation id="5882919346125742463">شبکه‌های شناخته‌شده</translation>
 <translation id="5884474295213649357">‏این برگه به دستگاه USB متصل است.</translation>
@@ -3304,7 +3312,7 @@
 <translation id="5972017421290582825">‏مدیریت تنظیمات MIDI ...</translation>
 <translation id="5972708806901999743">انتقال به بالا</translation>
 <translation id="5972826969634861500">شروع <ph name="PRODUCT_NAME" /></translation>
-<translation id="5975083100439434680">کوچک نمایی</translation>
+<translation id="5975083100439434680">دورنمایی کردن</translation>
 <translation id="5975792506968920132">درصد شارژ باتری</translation>
 <translation id="5976160379964388480">موارد دیگر</translation>
 <translation id="5978264784700053212">مرکز پیام‌رسانی</translation>
@@ -3312,6 +3320,7 @@
 <translation id="5979469435153841984">برای نشانک‌گذاری صفحه‌ها، روی ستاره در نوار نشانی کلیک کنید</translation>
 <translation id="5982621672636444458">گزینه‌های مرتب‌سازی</translation>
 <translation id="5984222099446776634">به‌تازگی بازدیدشده</translation>
+<translation id="5985458664595100876">‏قالب نشانی وب نامعتبر است. قالب‌های پشتیبانی‌شده عبارتند از: \\server\share و smb://server/share.</translation>
 <translation id="5990142338020175451">‏سرویس‌های Google شخصی‌شده بیشتر، مثل پیشنهادهای بهتر برای صفحه</translation>
 <translation id="5990386583461751448">ترجمه‌شده</translation>
 <translation id="5991049340509704927">بزرگ‌نمایی</translation>
@@ -3340,6 +3349,7 @@
 <translation id="6026819612896463875">‏<ph name="WINDOW_TITLE" /> - دستگاه USB متصل است</translation>
 <translation id="6028117231645531007">افزودن اثر انگشت</translation>
 <translation id="6029027682598229313">‏نصب Linux کامل شد.</translation>
+<translation id="6029292188939175871">حذف [<ph name="FINGERPRINT_NAME" />]، دکمه</translation>
 <translation id="6029587122245504742">آهسته‌ترین</translation>
 <translation id="6032912588568283682">سیستم فایل</translation>
 <translation id="6034662038931255275">به‌روزرسانی موفق سیستم عامل</translation>
@@ -3453,7 +3463,6 @@
 <translation id="6185132558746749656">مکان دستگاه</translation>
 <translation id="6185617499004995178">‏تأییدکننده CUPS IPP</translation>
 <translation id="6185696379715117369">صفحه بالا</translation>
-<translation id="6189273858858366896">‏راه‌اندازی یا مدیریت Network File Shares.</translation>
 <translation id="6189412234224385711">بازکردن با <ph name="EXTENSION_NAME" /></translation>
 <translation id="6196640612572343990">مسدود کردن کوکی‌های شخص ثالث</translation>
 <translation id="6196854373336333322">افزونه «<ph name="EXTENSION_NAME" />»، کنترل تنظیمات پروکسی شما را در اختیار گرفته است یعنی می‌تواند هر چیزی که در حالت آنلاین انجام می‌دهید تغییر دهد، خراب کند یا استراق سمع کند. اگر مطمئن نیستید چرا این تغییر انجام شده است، احتمالاً این افزونه را نمی‌خواهید.</translation>
@@ -3759,6 +3768,7 @@
 <translation id="6643016212128521049">پاک کردن</translation>
 <translation id="6644512095122093795">پیشنهاد برای ذخیره رمزهای ورود</translation>
 <translation id="6644846457769259194">درحال به‌روزرسانی دستگاه شما (<ph name="PROGRESS_PERCENT" />)</translation>
+<translation id="6645437135153136856">‏دستگاه Google Cloud Print انتخاب‌شده دیگر پشتیبانی نمی‌شود. <ph name="BR" /> چاپگر را در تنظیمات سیستم رایانه‌تان راه‌اندازی کنید.</translation>
 <translation id="6647228709620733774">‏نشانی وب ابطال ارائه دهنده مجوز Netscape</translation>
 <translation id="6647838571840953560">درحال‌حاضر در کانال <ph name="CHANNEL_NAME" /> است</translation>
 <translation id="6648051959475508072">کلید امنیتی فعال شد...</translation>
@@ -3780,7 +3790,6 @@
 <translation id="667517062706956822">‏می‌خواهید Google این صفحه را از <ph name="SOURCE_LANGUAGE" /> به <ph name="TARGET_LANGUAGE" /> ترجمه کند؟</translation>
 <translation id="6675665718701918026">دستگاه نشانگر متصل شد</translation>
 <translation id="6678717876183468697">نشانی وب عبارت</translation>
-<translation id="6680028776254050810">تغییر کاربران</translation>
 <translation id="6680442031740878064">در دسترس: <ph name="AVAILABLE_SPACE" /></translation>
 <translation id="6680650203439190394">رتبه‌بندی</translation>
 <translation id="6681668084120808868">عکسبرداری</translation>
@@ -3789,7 +3798,6 @@
 <translation id="668599234725812620">‏باز کردن Google Play</translation>
 <translation id="6686490380836145850">بستن برگه‌ها به چپ</translation>
 <translation id="6686817083349815241">ذخیره گذرواژه‌تان</translation>
-<translation id="6690565918367819723"><ph name="PROFILE_NAME" /> تعویض فرد</translation>
 <translation id="6690659332373509948">این فایل تجزیه نمی‌شود: <ph name="FILE_NAME" /></translation>
 <translation id="6690751852586194791">یک کاربر نظارت‌شده را برای افزودن به این دستگاه انتخاب کنید.</translation>
 <translation id="6691331417640343772">‏مدیریت داده‌های همگام‌سازی‌شده در داشبورد Google</translation>
@@ -4126,6 +4134,7 @@
 <translation id="7201118060536064622">«<ph name="DELETED_ITEM_NAME" />» حذف شد</translation>
 <translation id="7206693748120342859">در حال بارگیری <ph name="PLUGIN_NAME" />…</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{خروج از صفحه}one{خروج از صفحه‌ها}other{خروج از صفحه‌ها}}</translation>
+<translation id="7210499381659830293">چاپگرهای افزونه</translation>
 <translation id="721467499098558573">دکمهٔ روی کلید امنیتی را حداقل ۵ ثانیه فشار دهید و نگه‌دارید</translation>
 <translation id="7216409898977639127">ارائه‌دهنده شبکه تلفن همراه</translation>
 <translation id="7216595297012131718">زبان‌ها را براساس ترجیحتان مرتب کنید</translation>
@@ -4204,6 +4213,7 @@
 <translation id="7321545336522791733">سرور غیرقابل دسترسی است</translation>
 <translation id="7324297612904500502">تالار گفتمان بتا</translation>
 <translation id="7325437708553334317">برنامهٔ افزودنی کنتراست بالا</translation>
+<translation id="7328162502911382168">(<ph name="COUNT" />)</translation>
 <translation id="7328867076235380839">ترکیب نامعتبر</translation>
 <translation id="7329154610228416156">ورود به سیستم ناموفق بود، زیرا برای استفاده از یک نشانی وب غیرامن (<ph name="BLOCKED_URL" />) پیکربندی شده بود. لطفاً با سرپرستتان تماس بگیرید.</translation>
 <translation id="7334190995941642545">‏در حال حاضر Smart Lock در دسترس نیست. لطفاً بعداً دوباره امتحان کنید.</translation>
@@ -4795,6 +4805,7 @@
 <translation id="8199300056570174101">مشخصات دستگاه و شبکه (سرویس)</translation>
 <translation id="8200772114523450471">ازسرگیری</translation>
 <translation id="8202160505685531999">لطفاً برای به‌روزرسانی نمایه <ph name="DEVICE_TYPE" /> خود، گذرواژه‌تان را دوباره وارد کنید.</translation>
+<translation id="8203732864715032075">ارسال اعلان برای شما و به‌خاطرسپردن این رایانه به‌عنوان پیش‌فرض برای «پیام‌ها». <ph name="LINK_BEGIN" />بیشتر بدانید<ph name="LINK_END" /></translation>
 <translation id="8206354486702514201">این تنظیم توسط سرپرست شما اجباری شده است.</translation>
 <translation id="8206745257863499010">بلوزی</translation>
 <translation id="8209677645716428427">‏کاربر نظارت‌شده می‌تواند با راهنمایی شما در وب کاوش کند. شما به عنوان مدیر کاربر نظارت‌شده در Chrome می‌توانید:</translation>
@@ -5106,7 +5117,6 @@
 <translation id="869884720829132584">منوی برنامه</translation>
 <translation id="869891660844655955">تاریخ انقضا</translation>
 <translation id="8699566574894671540">برای روشن کردن این گزینه، ابتدا «بررسی املا هنگام تایپ» را در «منوی ویرایش» روشن کنید</translation>
-<translation id="870073306461175568">Network File Shares</translation>
 <translation id="8701677791353449257">نام دستگاه باید با عبارت باقاعده <ph name="REGEX" /> مطابقت داشته باشد.</translation>
 <translation id="8704521619148782536">این کار بیشتر از زمان معمول طول کشیده است. می‌توانید منتظر بمانید یا آن را لغو کرده و بعداً دوباره امتحان کنید.</translation>
 <translation id="8705331520020532516">شمارهٔ سریال</translation>
@@ -5291,7 +5301,6 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> - خراب شد</translation>
 <translation id="8983677657449185470">کمک به بهبود مرور ایمن</translation>
 <translation id="8984179138335769204">راه‌اندازی سریع</translation>
-<translation id="8984654317541110628">نشانی وب دستگاه ذخیره‌سازی متصل به شبکه</translation>
 <translation id="8986362086234534611">فراموش شود</translation>
 <translation id="8986494364107987395">‏ارسال خودکار آمار کاربرد و گزارش‌های خرابی به Google</translation>
 <translation id="8987927404178983737">ماه</translation>
diff --git a/chrome/app/resources/generated_resources_fi.xtb b/chrome/app/resources/generated_resources_fi.xtb
index f3051d7a..e05c05c5 100644
--- a/chrome/app/resources/generated_resources_fi.xtb
+++ b/chrome/app/resources/generated_resources_fi.xtb
@@ -275,6 +275,7 @@
 <translation id="1395730723686586365">Päivittäjä käynnistyi</translation>
 <translation id="1396139853388185343">Virhe tulostimen määrityksessä</translation>
 <translation id="1396963298126346194">Antamasi käyttäjänimi ja salasana eivät vastaa toisiaan.</translation>
+<translation id="1397500194120344683">Ei kelvollisia laitteita. <ph name="LINK_BEGIN" />Lisätietoja<ph name="LINK_END" /></translation>
 <translation id="1397854323885047133">Synkronointi ja räätälöinti</translation>
 <translation id="1398853756734560583">Suurenna</translation>
 <translation id="1399511500114202393">Ei käyttäjävarmennetta</translation>
@@ -375,7 +376,6 @@
 <translation id="1531004739673299060">Sovellusikkuna</translation>
 <translation id="15373452373711364">Suuri hiiren osoitin</translation>
 <translation id="1538729222189715449">Avataan Linux-tiedostoja…</translation>
-<translation id="153933193410874873">Henkilöllisyyttäsi ei voitu vahvistaa tällä laitteella</translation>
 <translation id="1540605929960647700">Ota esittelytila käyttöön</translation>
 <translation id="1543284117603151572">Edgestä tuodut</translation>
 <translation id="1545177026077493356">Automaattinen kioskitila</translation>
@@ -529,6 +529,7 @@
 <translation id="175772926354468439">Ota teema käyttöön</translation>
 <translation id="1758018619400202187">EAP-TLS</translation>
 <translation id="17584710573359123">Näytä Chrome Web Storessa</translation>
+<translation id="176193854664720708">Sormenjälkitunnistin on virtapainikkeessa. Kosketa sitä kevyesti millä tahansa sormella.</translation>
 <translation id="1763046204212875858">Luo sovelluspikakuvakkeita</translation>
 <translation id="1763108912552529023">Jatka tutkimista</translation>
 <translation id="1763808908432309942">Avautuu uuteen välilehteen</translation>
@@ -682,7 +683,6 @@
 <translation id="1981115145845865539">Avaa <ph name="DEVICE_TYPE" /> lukituksesta automaattisesti</translation>
 <translation id="1983959805486816857">Kun olet luonut uuden valvotun käyttäjän, voit hallinnoida asetuksia milloin tahansa miltä tahansa laitteelta osoitteessa <ph name="MANAGEMENT_URL" />.</translation>
 <translation id="1984642098429648350">Kiinnitä ikkuna oikealle</translation>
-<translation id="1987139229093034863">Vaihda käyttäjää.</translation>
 <translation id="1987317783729300807">Tilit</translation>
 <translation id="1989112275319619282">Selaa</translation>
 <translation id="1992397118740194946">Ei asetettu</translation>
@@ -823,6 +823,7 @@
 <translation id="2208158072373999562">Zip-arkisto</translation>
 <translation id="220858061631308971">Syötä tämä PIN-koodi laitteella <ph name="DEVICE_NAME" />:</translation>
 <translation id="2209593327042758816">Hyllyn kohde 2</translation>
+<translation id="2212126039311489237">Tulosta käyttämällä järjestelmän tulostusikkunaa</translation>
 <translation id="2217501013957346740">Luo nimi –</translation>
 <translation id="2218019600945559112">Hiiri ja kosketuslevy</translation>
 <translation id="2218320521449013367">Chromen poistaessa haittaohjelmia tapahtui virhe</translation>
@@ -935,6 +936,7 @@
 <translation id="2378075407703503998"><ph name="SELCTED_FILE_COUNT" /> tiedostoa on valittu</translation>
 <translation id="237828693408258535">Käännetäänkö tämä sivu?</translation>
 <translation id="2378982052244864789">Valitse laajennuksen hakemisto.</translation>
+<translation id="2379281330731083556">Tulosta järjestelmän tulostusikkunalla... <ph name="SHORTCUT_KEY" /></translation>
 <translation id="2381756643783702095">Kysy ennen lähettämistä (suositus)</translation>
 <translation id="2384436799579181135">Tapahtui virhe. Tarkista tulostimesi ja yritä uudelleen.</translation>
 <translation id="2387458720915042159">Välityspalvelinyhteyden tyyppi</translation>
@@ -1115,6 +1117,7 @@
 <translation id="2653659639078652383">Lähetä</translation>
 <translation id="265390580714150011">Kentän arvo</translation>
 <translation id="2654166010170466751">Salli sivustojen asentaa maksujen käsittelijöitä</translation>
+<translation id="2656742821229528729">Yhdistä Android-puhelin ja Chromebook. niin voit lähettää tekstiviestejä tietokoneelta, jakaa internetyhteyden ja avata Chromebookin lukituksen puhelimella.<ph name="FOOTNOTE_POINTER" /> <ph name="LINK_BEGIN" />Lisätietoja<ph name="LINK_END" /></translation>
 <translation id="2659381484350128933"><ph name="FOOTNOTE_POINTER" /> Ominaisuudet vaihtelevat laitteen mukaan</translation>
 <translation id="2660779039299703961">Tapahtuma</translation>
 <translation id="266079277508604648">Tulostimeen yhdistäminen epäonnistui. Tarkista, että tulostin on päällä ja yhteydessä Chromebookiin Wi-Fi-yhteydellä tai USB:llä.</translation>
@@ -1419,6 +1422,7 @@
 <translation id="3115128645424181617">Puhelintasi ei löydy. Varmista, että se on mukanasi ja että Bluetooth on päällä.</translation>
 <translation id="3115147772012638511">Odotetaan välimuistia...</translation>
 <translation id="3118319026408854581"><ph name="PRODUCT_NAME" /> Ohje</translation>
+<translation id="3119484583572640616">Better Togetherin käyttöönottoon liittyy seuraavia etuja:</translation>
 <translation id="3120430004221004537">Riittämätön annetun toiminnon salaus laitteella <ph name="DEVICE_NAME" />.</translation>
 <translation id="3121793941267913344">Palauta <ph name="IDS_SHORT_PRODUCT_NAME" />-laitteesi</translation>
 <translation id="3122464029669770682">Keskusyksikkö</translation>
@@ -1733,6 +1737,7 @@
 <translation id="3596235046596950091">Ota pilvipalvelut käyttöön</translation>
 <translation id="3599863153486145794">Tyhjentää kaikkien sisäänkirjautuneiden laitteiden historian. Google-tililläsi voi olla muuta toimintaa osoitteessa <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
 <translation id="3600792891314830896">Mykistä ääniä toistavat sivustot</translation>
+<translation id="360180734785106144">Sinulle voidaan tarjota uusia ominaisuuksia, kun ne tulevat saataville.</translation>
 <translation id="3602290021589620013">Esikatselu</translation>
 <translation id="3603533104205588786">Voit lisätä sivun kirjanmerkkeihin klikkaamalla tähteä.</translation>
 <translation id="3603622770190368340">Hanki verkkovarmenne</translation>
@@ -2065,7 +2070,6 @@
 <translation id="4068506536726151626">Tämä sivu sisältää osia seuraavista sivuistoista, jotka käyttävät sijaintiasi:</translation>
 <translation id="4068776064906523561">Tallennetut sormenjäljet</translation>
 <translation id="407173827865827707">Klikkaamalla</translation>
-<translation id="4071770069230198275"><ph name="PROFILE_NAME" />: kirjautumisvirhe</translation>
 <translation id="4074900173531346617">Sähköpostin allekirjoitusvarmenne</translation>
 <translation id="407520071244661467">Asteikko</translation>
 <translation id="4075639477629295004"><ph name="FILE_NAME" /> ei ole suoratoistettavissa.</translation>
@@ -2867,6 +2871,7 @@
 <translation id="5332624210073556029">Aikavyöhyke:</translation>
 <translation id="5334142896108694079">Ohjelmavälimuisti</translation>
 <translation id="5334844597069022743">Näytä lähdekoodi</translation>
+<translation id="5334899159203764908">Lisätietoja <ph name="BEGIN_LINK" />sivustojen käyttöoikeuksista<ph name="END_LINK" /></translation>
 <translation id="5335458522276292100">Varmuuskopioidaan <ph name="FILE_COUNT" /> <ph name="BEGIN_LINK" />Google Driveen<ph name="END_LINK" /></translation>
 <translation id="5336126339807372270">Älä anna USB-laitteiden käyttölupaa millekään sivustolle</translation>
 <translation id="5337771866151525739">Kolmannen osapuolen asentama.</translation>
@@ -2974,6 +2979,7 @@
 <translation id="5487521232677179737">Poista tiedot</translation>
 <translation id="5488093641312826914"><ph name="COPIED_ITEM_NAME" /> kopioitu</translation>
 <translation id="5488468185303821006">Salli incognito-tilassa</translation>
+<translation id="5489121514345187313">Puhelimen avulla Chromebookisi toimii entistä paremmin. <ph name="LINK_BEGIN" />Lisätietoja<ph name="LINK_END" /></translation>
 <translation id="5489435190927933437">Tallennetut salasanat: <ph name="DOMAIN" /></translation>
 <translation id="5491110079163012109">Lähetä järjestelmädataa. Lähetä diagnostiikkadataa ja laitteen ja sovellusten käyttödataa automaattisesti Googlelle. Omistaja on ottanut tämän asetuksen käyttöön. Omistaja voi lähettää tätä laitetta koskevaa diagnostiikka- ja käyttödataa Googlelle. Voit katsella tätä asetuksissa. Jos olet ottanut käyttöön verkko- ja sovellustoiminnan lisäominaisuuksia, tietoja säilytetään tililläsi, joten voit hallinnoida niitä Omat tapahtumat ‑sivulla. <ph name="BEGIN_LINK1" />Lisätietoja<ph name="END_LINK1" /></translation>
 <translation id="5493792505296048976">näyttö päällä</translation>
@@ -3145,6 +3151,7 @@
 <translation id="5731409020711461763">1 uusi valokuva</translation>
 <translation id="5734362860645681824">Äänilaitteet</translation>
 <translation id="5736796278325406685">Anna kelvollinen käyttäjänimi</translation>
+<translation id="5739235828260127894">Odotetaan vahvistusta. <ph name="LINK_BEGIN" />Lisätietoja<ph name="LINK_END" /></translation>
 <translation id="5739458112391494395">Hyvin suuri</translation>
 <translation id="5740331643563157105"><ph name="LANGUAGE_1" />, <ph name="LANGUAGE_2" /> ja <ph name="NUM_ADDITIONAL_LANGUAGES" /> muuta</translation>
 <translation id="574209121243317957">Äänenkorkeus</translation>
@@ -3248,6 +3255,7 @@
 <translation id="5870086504539785141">Sulje käytettävyysvalikko</translation>
 <translation id="5870155679953074650">Levyn sivuvirheet</translation>
 <translation id="5877064549588274448">Kanava vaihdettiin. Ota muutokset käyttöön käynnistämällä laite uudelleen.</translation>
+<translation id="5877584842898320529">Valittu tulostin ei ole käytettävissä tai sitä ei ole asennettu oikein. <ph name="BR" /> Tarkista tulostin tai valitse toinen tulostin.</translation>
 <translation id="5880247576487732437">Tunnus paikalla</translation>
 <translation id="5882919346125742463">Tunnetut verkot</translation>
 <translation id="5884474295213649357">Tämä välilehti on yhdistetty USB-laitteeseen.</translation>
@@ -3314,9 +3322,12 @@
 <translation id="5979469435153841984">Lisää sivu kirjanmerkkeihin klikkaamalla osoitepalkin tähtikuvaketta.</translation>
 <translation id="5982621672636444458">Lajitteluasetukset</translation>
 <translation id="5984222099446776634">Viimeksi vieraillut</translation>
+<translation id="5985458664595100876">Virheellinen URL-osoitteen muoto. Tuettuja muotoja ovat \\server\share ja smb://server/share.</translation>
+<translation id="5990142338020175451">Personoidumpia Google-palveluja, kuten parempia sivuehdotuksia</translation>
 <translation id="5990386583461751448">Käännetty</translation>
 <translation id="5991049340509704927">Suurenna</translation>
 <translation id="599131315899248751">{NUM_APPLICATIONS,plural, =1{Pyydä järjestelmänvalvojaasi poistamaan tämä sovellus, jotta voit varmasti jatkaa verkon selaamista.}other{Pyydä järjestelmänvalvojaasi poistamaan nämä sovellukset, jotta voit varmasti jatkaa verkon selaamista.}}</translation>
+<translation id="5997337190805127100">Lisätietoja sivustojen käyttöoikeuksista</translation>
 <translation id="6002458620803359783">Ensisijaiset äänet</translation>
 <translation id="6005695835120147974">Mediareititin</translation>
 <translation id="6006484371116297560">Perinteinen</translation>
@@ -3340,6 +3351,7 @@
 <translation id="6026819612896463875"><ph name="WINDOW_TITLE" /> – USB-laite yhdistetty</translation>
 <translation id="6028117231645531007">Lisää sormenjälki</translation>
 <translation id="6029027682598229313">Linuxin asennus on valmis.</translation>
+<translation id="6029292188939175871">poista [<ph name="FINGERPRINT_NAME" />], painike</translation>
 <translation id="6029587122245504742">Hitain</translation>
 <translation id="6032912588568283682">Tiedostojärjestelmä</translation>
 <translation id="6034662038931255275">Käyttöjärjestelmän päivitys onnistui</translation>
@@ -3455,7 +3467,6 @@
 <translation id="6185132558746749656">Laitteen sijainti</translation>
 <translation id="6185617499004995178">CUPS IPP ‑vahvistus</translation>
 <translation id="6185696379715117369">Sivu ylös</translation>
-<translation id="6189273858858366896">Määritä tai hallinnoi verkkotiedostojen jakamista.</translation>
 <translation id="6189412234224385711">Avaa laajennuksella <ph name="EXTENSION_NAME" /></translation>
 <translation id="6196640612572343990">Estä kolmannen osapuolen evästeet</translation>
 <translation id="6196854373336333322">Välityspalvelimesi asetuksia hallinnoi tällä hetkellä tämä laajennus <ph name="EXTENSION_NAME" />, joka voi muokata, haitata tai salakuunnella kaikkia verkkotoimiasi. Jos et tiedä, miksi tämä muutos tehtiin, et luultavasti halua käyttää sitä.</translation>
@@ -3761,6 +3772,7 @@
 <translation id="6643016212128521049">Tyhjennä</translation>
 <translation id="6644512095122093795">Tarjoa salasanojen tallentamista</translation>
 <translation id="6644846457769259194">Päivitetään laitetta (<ph name="PROGRESS_PERCENT" />)</translation>
+<translation id="6645437135153136856">Valittua Google Cloud Print ‑laitetta ei enää tueta. <ph name="BR" /> Yritä määrittää tulostin tietokoneen järjestelmäasetuksista.</translation>
 <translation id="6647228709620733774">Netscape-varmenteen myöntäjän kumoamis-URL</translation>
 <translation id="6647838571840953560">Käytössä: <ph name="CHANNEL_NAME" /></translation>
 <translation id="6648051959475508072">Suojausavainta aktivoidaan…</translation>
@@ -3782,7 +3794,6 @@
 <translation id="667517062706956822">Haluatko, että Google kääntää tämän sivun kielestä <ph name="SOURCE_LANGUAGE" /> kieleen <ph name="TARGET_LANGUAGE" />?</translation>
 <translation id="6675665718701918026">Osoitinlaite yhdistetty.</translation>
 <translation id="6678717876183468697">Kyselyn URL-osoite</translation>
-<translation id="6680028776254050810">Vaihda käyttäjää</translation>
 <translation id="6680442031740878064">Käytettävissä: <ph name="AVAILABLE_SPACE" /></translation>
 <translation id="6680650203439190394">Nopeus</translation>
 <translation id="6681668084120808868">Ota valokuva</translation>
@@ -3791,7 +3802,6 @@
 <translation id="668599234725812620">Avaa Google Play</translation>
 <translation id="6686490380836145850">Sulje välilehdet oikealle</translation>
 <translation id="6686817083349815241">Tallenna salasanasi</translation>
-<translation id="6690565918367819723"><ph name="PROFILE_NAME" /> Vaihda henkilö</translation>
 <translation id="6690659332373509948">Tiedoston jäsennys epäonnistui: <ph name="FILE_NAME" /></translation>
 <translation id="6690751852586194791">Valitse valvottava käyttäjä, jonka haluat lisätä tähän laitteeseen.</translation>
 <translation id="6691331417640343772">Hallinnoi synkronoituja tietoja Google Hallintapaneelin avulla</translation>
@@ -4015,6 +4025,7 @@
 <translation id="7040230719604914234">Operaattori</translation>
 <translation id="7042418530779813870">&amp;Liitä ja tee haku</translation>
 <translation id="7043108582968290193">Valmista. Yhteensopimattomia sovelluksia ei löytynyt.</translation>
+<translation id="7044124535091449260">Lisätietoja sivustojen käyttöoikeuksista</translation>
 <translation id="7049293980323620022">Pidetäänkö tiedosto?</translation>
 <translation id="7051943809462976355">Hiirtä etsitään…</translation>
 <translation id="7052237160939977163">Lähetä tehokkuuden tarkkailutietoja</translation>
@@ -4127,6 +4138,7 @@
 <translation id="7201118060536064622"><ph name="DELETED_ITEM_NAME" /> poistettu</translation>
 <translation id="7206693748120342859">Ladataan <ph name="PLUGIN_NAME" />...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Sulje sivu}other{Sulje sivut}}</translation>
+<translation id="7210499381659830293">Laajennustulostimet</translation>
 <translation id="721467499098558573">Pidä suojausavaimen painiketta painettuna vähintään viisi sekuntia</translation>
 <translation id="7216409898977639127">Mobiilioperaattori</translation>
 <translation id="7216595297012131718">Järjestä kielet haluamallasi tavalla.</translation>
@@ -4205,6 +4217,7 @@
 <translation id="7321545336522791733">Palvelimeen ei saada yhteyttä.</translation>
 <translation id="7324297612904500502">Beta-keskusteluryhmä</translation>
 <translation id="7325437708553334317">Suuri kontrasti -laajennus</translation>
+<translation id="7328162502911382168">(<ph name="COUNT" />)</translation>
 <translation id="7328867076235380839">Virheellinen yhdistelmä</translation>
 <translation id="7329154610228416156">Sisäänkirjautuminen epäonnistui, koska se määritettiin käyttämään suojaamatonta URL-osoitetta (<ph name="BLOCKED_URL" />). Ota yhteyttä järjestelmänvalvojaan.</translation>
 <translation id="7334190995941642545">Smart Lock ei ole käytettävissä tällä hetkellä. Yritä myöhemmin uudelleen.</translation>
@@ -4795,6 +4808,7 @@
 <translation id="8199300056570174101">Verkon ja laitteen ominaisuudet</translation>
 <translation id="8200772114523450471">Jatka</translation>
 <translation id="8202160505685531999">Päivitä <ph name="DEVICE_TYPE" />-profiilisi kirjoittamalla salasanasi uudelleen.</translation>
+<translation id="8203732864715032075">Voit saada ilmoituksia, ja tämä tietokone voidaan muistaa oletuksena Messages-sovellusta käytettäessä. <ph name="LINK_BEGIN" />Lisätietoja<ph name="LINK_END" /></translation>
 <translation id="8206354486702514201">Järjestelmänvalvojasi hallinnoi tätä asetusta.</translation>
 <translation id="8206745257863499010">Muusikko</translation>
 <translation id="8209677645716428427">Valvottu käyttäjä voi selata internetiä sinun opastuksessasi. Valvotun käyttäjän hallinnoijana Chromessa voit</translation>
@@ -5106,7 +5120,6 @@
 <translation id="869884720829132584">Sovellusvalikko</translation>
 <translation id="869891660844655955">Vanhenemispäivämäärä</translation>
 <translation id="8699566574894671540">Ota tämä käyttöön valitsemalla Muokkaa-valikosta Tarkista oikeinkirjoitus kirjoittaessani.</translation>
-<translation id="870073306461175568">Verkkotiedostojen jakaminen</translation>
 <translation id="8701677791353449257">Laitteen nimen on vastattava säännöllistä lauseketta <ph name="REGEX" />.</translation>
 <translation id="8704521619148782536">Toiminto kestää paljon normaalia kauemmin. Voit jatkaa odottamista tai peruuttaa ja kokeilla myöhemmin uudelleen.</translation>
 <translation id="8705331520020532516">Sarjanumero</translation>
@@ -5291,7 +5304,6 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> – kaatunut</translation>
 <translation id="8983677657449185470">Auta parantamaan selaussuojaa</translation>
 <translation id="8984179138335769204">Pikakäynnistys</translation>
-<translation id="8984654317541110628">Tiedostojaon URL-osoite</translation>
 <translation id="8986362086234534611">Unohda</translation>
 <translation id="8986494364107987395">Lähetä Googlelle käyttötilastoja ja virheraportteja automaattisesti</translation>
 <translation id="8987927404178983737">Kuukausi</translation>
diff --git a/chrome/app/resources/generated_resources_fil.xtb b/chrome/app/resources/generated_resources_fil.xtb
index 9d8e0467..f88fc36 100644
--- a/chrome/app/resources/generated_resources_fil.xtb
+++ b/chrome/app/resources/generated_resources_fil.xtb
@@ -275,6 +275,7 @@
 <translation id="1395730723686586365">Sinimulan ang updater</translation>
 <translation id="1396139853388185343">Nagkaroon ng error sa pag-set up ng printer</translation>
 <translation id="1396963298126346194">Hindi nagtutugma ang username at password na inilagay mo</translation>
+<translation id="1397500194120344683">Walang kwalipikadong device. <ph name="LINK_BEGIN" />Matuto pa<ph name="LINK_END" /></translation>
 <translation id="1397854323885047133">Pag-sync at pag-personalize</translation>
 <translation id="1398853756734560583">Maximize</translation>
 <translation id="1399511500114202393">Walang certificate ng user</translation>
@@ -375,7 +376,6 @@
 <translation id="1531004739673299060">Window ng Application</translation>
 <translation id="15373452373711364">Malaking mouse cursor</translation>
 <translation id="1538729222189715449">Binubuksan ang mga Linux file...</translation>
-<translation id="153933193410874873">Hindi namin ma-verify ang iyong pagkakakilanlan sa device na ito</translation>
 <translation id="1540605929960647700">I-enable ang demo mode</translation>
 <translation id="1543284117603151572">Na-import Mula Sa Edge</translation>
 <translation id="1545177026077493356">Awtomatikong Kiosk Mode</translation>
@@ -529,6 +529,7 @@
 <translation id="175772926354468439">Paganahin ang tema</translation>
 <translation id="1758018619400202187">EAP-TLS</translation>
 <translation id="17584710573359123">Tingnan sa Chrome Web Store</translation>
+<translation id="176193854664720708">Nasa power button ang sensor para sa fingerprint. Pundutin ito nang magaan gamit ang alinmang daliri.</translation>
 <translation id="1763046204212875858">Gumawa ng mga shortcut ng application</translation>
 <translation id="1763108912552529023">Magpatuloy sa pag-explore</translation>
 <translation id="1763808908432309942">Magbubukas sa bagong tab</translation>
@@ -682,7 +683,6 @@
 <translation id="1981115145845865539">Awtomatikong i-unlock ang iyong <ph name="DEVICE_TYPE" /></translation>
 <translation id="1983959805486816857">Pagkatapos mong gumawa ng bagong pinangangasiwaang user, maaari mong pamahalaan ang mga setting anumang oras mula sa anumang device, sa <ph name="MANAGEMENT_URL" />.</translation>
 <translation id="1984642098429648350">I-dock ang window sa kanan</translation>
-<translation id="1987139229093034863">Lumipat sa ibang user.</translation>
 <translation id="1987317783729300807">Mga Account</translation>
 <translation id="1989112275319619282">Mag-browse</translation>
 <translation id="1992397118740194946">Hindi nakatakda</translation>
@@ -823,6 +823,7 @@
 <translation id="2208158072373999562">Zip archive</translation>
 <translation id="220858061631308971">Pakilagay ang PIN code na ito sa "<ph name="DEVICE_NAME" />":</translation>
 <translation id="2209593327042758816">Item 2 sa shelf</translation>
+<translation id="2212126039311489237">Mag-print gamit ang dialog ng system</translation>
 <translation id="2217501013957346740">Gumawa ng pangalan -</translation>
 <translation id="2218019600945559112">Mouse at touchpad</translation>
 <translation id="2218320521449013367">Nagkaroon ng error habang inaalis ng Chrome ang mapaminsalang software</translation>
@@ -935,6 +936,7 @@
 <translation id="2378075407703503998"><ph name="SELCTED_FILE_COUNT" /> (na) file ang pinili</translation>
 <translation id="237828693408258535">I-translate ang page na ito?</translation>
 <translation id="2378982052244864789">Piliin ang direktoryo ng extension.</translation>
+<translation id="2379281330731083556">I-print gamit ang dialog ng system... <ph name="SHORTCUT_KEY" /></translation>
 <translation id="2381756643783702095">Magtanong bago magpadala (inirerekomenda)</translation>
 <translation id="2384436799579181135">Nagka-error. Pakisuri ang iyong printer at subukang muli.</translation>
 <translation id="2387458720915042159">Uri ng koneksyon sa proxy</translation>
@@ -1114,6 +1116,7 @@
 <translation id="2653659639078652383">Isumite</translation>
 <translation id="265390580714150011">Field Value</translation>
 <translation id="2654166010170466751">Payagan ang mga site na mag-install ng mga tagapangasiwa ng pagbabayad</translation>
+<translation id="2656742821229528729">Ikonekta ang iyong Android phone at Chromebook para makapag-text mula sa computer mo, maibahagi ang iyong koneksyon sa internet, at ma-unlock ang Chromebook mo gamit ang iyong telepono.<ph name="FOOTNOTE_POINTER" /> <ph name="LINK_BEGIN" />Matuto pa<ph name="LINK_END" /></translation>
 <translation id="2659381484350128933"><ph name="FOOTNOTE_POINTER" />Nag-iiba-iba ang feature depende sa device</translation>
 <translation id="2660779039299703961">Kaganapan</translation>
 <translation id="266079277508604648">Hindi makakonekta sa printer. Tiyaking naka-on ang printer at nakakonekta ito sa iyong Chromebook sa pamamagitan ng Wi-Fi o USB.</translation>
@@ -1418,6 +1421,7 @@
 <translation id="3115128645424181617">Hindi mahanap ang iyong telepono. Siguraduhing malapit ito at naka-on ang Bluetooth.</translation>
 <translation id="3115147772012638511">Naghihintay para sa cache...</translation>
 <translation id="3118319026408854581"><ph name="PRODUCT_NAME" /> Help</translation>
+<translation id="3119484583572640616">Kapag ini-on ang Better Together, ibig sabihin ay magagawa nitong:</translation>
 <translation id="3120430004221004537">Hindi sapat ang pag-encrypt para sa isang partikular na operation sa: "<ph name="DEVICE_NAME" />".</translation>
 <translation id="3121793941267913344">I-reset ang <ph name="IDS_SHORT_PRODUCT_NAME" /> device na ito</translation>
 <translation id="3122464029669770682">CPU</translation>
@@ -1732,6 +1736,7 @@
 <translation id="3596235046596950091">I-enable ang mga serbisyo sa cloud</translation>
 <translation id="3599863153486145794">Kini-clear ang history sa lahat ng naka-sign in na device. Maaaring may iba pang anyo ng history ng pag-browse ang iyong Google Account sa <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
 <translation id="3600792891314830896">I-mute ang mga site na nagpe-play ng tunog</translation>
+<translation id="360180734785106144">Mag-alok ng mga bagong feature kapag naging available ang mga ito</translation>
 <translation id="3602290021589620013">I-preview</translation>
 <translation id="3603533104205588786">Maaari mong i-click ang star upang mag-bookmark ng page</translation>
 <translation id="3603622770190368340">Kunin ang certificate ng network</translation>
@@ -2067,7 +2072,6 @@
 <translation id="4068506536726151626">Naglalaman ang page na ito ng mga elemento mula sa sumusunod na mga site na sumusubaybay sa lokasyon mo:</translation>
 <translation id="4068776064906523561">Mga naka-save na fingerprint</translation>
 <translation id="407173827865827707">Sa pag-click</translation>
-<translation id="4071770069230198275"><ph name="PROFILE_NAME" />: error sa pag-sign in</translation>
 <translation id="4074900173531346617">Certificate ng Email Signer</translation>
 <translation id="407520071244661467">Scale</translation>
 <translation id="4075639477629295004">Hindi ma-cast ang <ph name="FILE_NAME" />.</translation>
@@ -2869,6 +2873,7 @@
 <translation id="5332624210073556029">Time zone:</translation>
 <translation id="5334142896108694079">Cache ng Script</translation>
 <translation id="5334844597069022743">Tingnan ang source</translation>
+<translation id="5334899159203764908">Matuto pa tungkol sa <ph name="BEGIN_LINK" />access sa site<ph name="END_LINK" /></translation>
 <translation id="5335458522276292100">Bina-back up ang <ph name="FILE_COUNT" /> sa <ph name="BEGIN_LINK" />Google Drive<ph name="END_LINK" /></translation>
 <translation id="5336126339807372270">Huwag payagan ang anumang site na i-access ang mga USB device</translation>
 <translation id="5337771866151525739">Na-install ng third party.</translation>
@@ -2976,6 +2981,7 @@
 <translation id="5487521232677179737">I-clear ang data</translation>
 <translation id="5488093641312826914">Nakopya ang '<ph name="COPIED_ITEM_NAME" />'</translation>
 <translation id="5488468185303821006">Payagan sa incognito</translation>
+<translation id="5489121514345187313">Mas mahusay na gumagana ang iyong Chromebook sa telepono mo. <ph name="LINK_BEGIN" />Matuto pa<ph name="LINK_END" /></translation>
 <translation id="5489435190927933437">Mga naka-save na password para sa <ph name="DOMAIN" /></translation>
 <translation id="5491110079163012109">Magpadala ng data ng system. Awtomatikong magpadala sa Google ng diagnostic at data ng paggamit sa device at app. Ang may-ari ang nagpapatupad sa setting na ito. Maaaring piliin ng may-ari na magpadala sa Google ng diagnostic at data ng paggamit para sa device na ito. Maaari mo itong tingnan sa mga setting. Kung in-on mo ang karagdagang Aktibidad sa Web at App, iso-store ang impormasyong ito sa iyong account para mapamahalaan mo ito sa Aking Aktibidad. <ph name="BEGIN_LINK1" />Matuto Pa<ph name="END_LINK1" /></translation>
 <translation id="5493792505296048976">naka-on ang screen</translation>
@@ -3147,6 +3153,7 @@
 <translation id="5731409020711461763">1 bagong larawan</translation>
 <translation id="5734362860645681824">Komunikasyon</translation>
 <translation id="5736796278325406685">Mangyaring maglagay ng wastong username</translation>
+<translation id="5739235828260127894">Naghihintay ng pag-verify. <ph name="LINK_BEGIN" />Matuto pa<ph name="LINK_END" /></translation>
 <translation id="5739458112391494395">Napakalaki</translation>
 <translation id="5740331643563157105"><ph name="LANGUAGE_1" />, <ph name="LANGUAGE_2" /> at <ph name="NUM_ADDITIONAL_LANGUAGES" /> pa</translation>
 <translation id="574209121243317957">Pitch</translation>
@@ -3250,6 +3257,7 @@
 <translation id="5870086504539785141">Isara ang menu ng accessibility</translation>
 <translation id="5870155679953074650">Mga hard fault</translation>
 <translation id="5877064549588274448">Binago ang channel. I-restart ang iyong device upang ilapat ang mga pagbabago.</translation>
+<translation id="5877584842898320529">Hindi available o hindi naka-install nang tama ang napiling printer. <ph name="BR" /> Suriin ang iyong printer o subukang pumili ng ibang printer.</translation>
 <translation id="5880247576487732437">May Token</translation>
 <translation id="5882919346125742463">Mga Kilalang Network</translation>
 <translation id="5884474295213649357">Nakakonekta ang tab na ito sa isang USB device.</translation>
@@ -3316,11 +3324,12 @@
 <translation id="5979469435153841984">Upang mag-bookmark ng mga page, i-click ang star sa address bar</translation>
 <translation id="5982621672636444458">Mga opsyon sa pag-uuri</translation>
 <translation id="5984222099446776634">Kamakailang Binisita</translation>
+<translation id="5985458664595100876">Invalid ang format ng URL. Ang mga sinusuportahang format ay \\server\share at smb://server/share.</translation>
 <translation id="5990142338020175451">Higit pang personal na serbisyo ng Google, tulad ng mas mahuhusay na suhestyon sa page</translation>
 <translation id="5990386583461751448">Naisalin</translation>
 <translation id="5991049340509704927">I-magnify</translation>
 <translation id="599131315899248751">{NUM_APPLICATIONS,plural, =1{Para matiyak na makakapag-browse ka pa rin sa web, hilingin sa iyong administrator na alisin ang application na ito.}one{Para matiyak na makakapag-browse ka pa rin sa web, hilingin sa iyong administrator na alisin ang mga application na ito.}other{Para matiyak na makakapag-browse ka pa rin sa web, hilingin sa iyong administrator na alisin ang mga application na ito.}}</translation>
-<translation id="5997337190805127100">Matuto pa Tungkol sa Access ng Site</translation>
+<translation id="5997337190805127100">Matuto pa Tungkol sa Access sa Site</translation>
 <translation id="6002458620803359783">Mga Gustong Boses</translation>
 <translation id="6005695835120147974">Router para sa Media</translation>
 <translation id="6006484371116297560">Classic</translation>
@@ -3344,6 +3353,7 @@
 <translation id="6026819612896463875"><ph name="WINDOW_TITLE" /> - May nakakonektang USB device</translation>
 <translation id="6028117231645531007">Magdagdag ng fingerprint</translation>
 <translation id="6029027682598229313">Tapos nang i-install ang Linux.</translation>
+<translation id="6029292188939175871">i-delete ang [<ph name="FINGERPRINT_NAME" />], button</translation>
 <translation id="6029587122245504742">Pinakamabagal</translation>
 <translation id="6032912588568283682">System ng file</translation>
 <translation id="6034662038931255275">Na-update na ang OS</translation>
@@ -3457,7 +3467,6 @@
 <translation id="6185132558746749656">Lokasyon ng Device</translation>
 <translation id="6185617499004995178">CUPS IPP Validator</translation>
 <translation id="6185696379715117369">Pataas sa pahina</translation>
-<translation id="6189273858858366896">I-set up o pamahalaan ang Mga Pagbabahagi ng File sa Network.</translation>
 <translation id="6189412234224385711">Buksan gamit ang <ph name="EXTENSION_NAME" /></translation>
 <translation id="6196640612572343990">I-block ang mga third-party na cookie</translation>
 <translation id="6196854373336333322">Kinokontrol na ng extension na "<ph name="EXTENSION_NAME" />" ang iyong mga setting ng proxy, na ang ibig sabihin ay maaari nitong baguhin, sirain o alamin ang anumang bagay na gagawin mo online. Kung hindi ka sigurado kung bakit naganap ang pagbabagong ito, malamang ay hindi mo ito ginustong mangyari.</translation>
@@ -3763,6 +3772,7 @@
 <translation id="6643016212128521049">I-clear</translation>
 <translation id="6644512095122093795">Mag-alok na mag-save ng mga password</translation>
 <translation id="6644846457769259194">Ina-update ang iyong device (<ph name="PROGRESS_PERCENT" />)</translation>
+<translation id="6645437135153136856">Hindi na sinusuportahan ang Google Cloud Print device. <ph name="BR" /> Subukang i-set up ang printer sa mga setting ng system ng iyong computer.</translation>
 <translation id="6647228709620733774">Netscape Certification Authority Revocation URL</translation>
 <translation id="6647838571840953560">Kasalukuyang nasa <ph name="CHANNEL_NAME" /></translation>
 <translation id="6648051959475508072">Na-activate ang security key...</translation>
@@ -3784,7 +3794,6 @@
 <translation id="667517062706956822">Gusto mo bang i-translate ng Google ang page na ito mula sa <ph name="SOURCE_LANGUAGE" /> patungo sa <ph name="TARGET_LANGUAGE" />?</translation>
 <translation id="6675665718701918026">May nakakonektang pointing device</translation>
 <translation id="6678717876183468697">URL ng Query</translation>
-<translation id="6680028776254050810">Magpalit ng mga User</translation>
 <translation id="6680442031740878064">Available: <ph name="AVAILABLE_SPACE" /></translation>
 <translation id="6680650203439190394">I-rate</translation>
 <translation id="6681668084120808868">Kumuha ng larawan</translation>
@@ -3793,7 +3802,6 @@
 <translation id="668599234725812620">Buksan ang Google Play</translation>
 <translation id="6686490380836145850">Isara ang mga tab sa kanan</translation>
 <translation id="6686817083349815241">I-save ang iyong password</translation>
-<translation id="6690565918367819723"><ph name="PROFILE_NAME" /> Magpalit ng tao</translation>
 <translation id="6690659332373509948">Hindi magawang i-parse ang file: <ph name="FILE_NAME" /></translation>
 <translation id="6690751852586194791">Pumili ng isang pinangangasiwaang user na idaragdag sa device na ito.</translation>
 <translation id="6691331417640343772">Pamahalaan ang naka-sync na data sa Google Dashboard</translation>
@@ -4017,7 +4025,7 @@
 <translation id="7040230719604914234">Operator</translation>
 <translation id="7042418530779813870">Pa&amp;ste at paghahanap</translation>
 <translation id="7043108582968290193">Tapos na! Walang nakitang hindi compatible na application.</translation>
-<translation id="7044124535091449260">Matuto pa tungkol sa access ng site</translation>
+<translation id="7044124535091449260">Matuto pa tungkol sa access sa site</translation>
 <translation id="7049293980323620022">Gusto mo bang panatilihin ang file?</translation>
 <translation id="7051943809462976355">Naghahanap ng mouse...</translation>
 <translation id="7052237160939977163">Ipadala ang data ng pagte-trace sa pagganap</translation>
@@ -4130,6 +4138,7 @@
 <translation id="7201118060536064622">Na-delete ang '<ph name="DELETED_ITEM_NAME" />'</translation>
 <translation id="7206693748120342859">Dina-download ang <ph name="PLUGIN_NAME" />...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Umalis sa Page}one{Umalis sa Mga Page}other{Umalis sa Mga Page}}</translation>
+<translation id="7210499381659830293">Mga extension na printer</translation>
 <translation id="721467499098558573">Pindutin ang button sa iyong security key sa loob ng hindi bababa sa 5 segundo</translation>
 <translation id="7216409898977639127">Cellular provider</translation>
 <translation id="7216595297012131718">Pagsunud-sunurin ang mga wika batay sa iyong kagustuhan</translation>
@@ -4208,6 +4217,7 @@
 <translation id="7321545336522791733">Hindi makakonekta sa server</translation>
 <translation id="7324297612904500502">Forum sa Beta</translation>
 <translation id="7325437708553334317">Extension ng Mataas na Contrast</translation>
+<translation id="7328162502911382168">(<ph name="COUNT" />)</translation>
 <translation id="7328867076235380839">Invalid ang kumbinasyon</translation>
 <translation id="7329154610228416156">Hindi nakapag-sign in dahil naka-configure ito sa paggamit ng isang hindi secure na URL (<ph name="BLOCKED_URL" />). Mangyaring makipag-ugnayan sa iyong administrator.</translation>
 <translation id="7334190995941642545">Kasalukuyang hindi available ang Smart Lock. Pakisubukang muli sa ibang pagkakataon.</translation>
@@ -4799,6 +4809,7 @@
 <translation id="8199300056570174101">Mga property ng Network (Serbisyo) at Device</translation>
 <translation id="8200772114523450471">Resume</translation>
 <translation id="8202160505685531999">Mangyaring ilagay muli ang iyong password upang i-update ang iyong profile sa <ph name="DEVICE_TYPE" />.</translation>
+<translation id="8203732864715032075">Papadalhan ka ng mga notification at aalalahanin ang computer na ito para sa Messages bilang default. <ph name="LINK_BEGIN" />Matuto pa<ph name="LINK_END" /></translation>
 <translation id="8206354486702514201">Ipinapatupad ng iyong administrator ang setting na ito.</translation>
 <translation id="8206745257863499010">Musika</translation>
 <translation id="8209677645716428427">Maaaring i-explore ng isang pinangangasiwaang user ang web sa iyong paggabay. Bilang manager ng isang pinangangasiwaang user sa Chrome, maaari mong:</translation>
@@ -5111,7 +5122,6 @@
 <translation id="869884720829132584">Menu ng mga application</translation>
 <translation id="869891660844655955">Expiration date</translation>
 <translation id="8699566574894671540">Para i-on ito, piliin muna ang Suriin ang Pagbabaybay Habang Nagta-type sa menu na I-edit</translation>
-<translation id="870073306461175568">Mga Pagbabahagi ng File sa Network</translation>
 <translation id="8701677791353449257">Dapat tumugma ang pangalan ng device sa karaniwang expression na <ph name="REGEX" />.</translation>
 <translation id="8704521619148782536">Nagtatagal ito nang higit sa karaniwan. Magagawa mong magpatuloy sa paghihintay, o kanselahin ito at subukang muli sa ibang pagkakataon.</translation>
 <translation id="8705331520020532516">Serial Number</translation>
@@ -5297,7 +5307,6 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> - Nag-crash</translation>
 <translation id="8983677657449185470">Tumulong na pahusayin ang Ligtas na Pag-browse</translation>
 <translation id="8984179138335769204">Mabilisang paglunsad</translation>
-<translation id="8984654317541110628">URL ng File Share</translation>
 <translation id="8986362086234534611">Kalimutan</translation>
 <translation id="8986494364107987395">Awtomatikong ipadala ang mga istatistika ng paggamit at mga ulat ng pag-crash sa Google</translation>
 <translation id="8987927404178983737">Buwan</translation>
diff --git a/chrome/app/resources/generated_resources_fr.xtb b/chrome/app/resources/generated_resources_fr.xtb
index cba70304..621faf87 100644
--- a/chrome/app/resources/generated_resources_fr.xtb
+++ b/chrome/app/resources/generated_resources_fr.xtb
@@ -275,6 +275,7 @@
 <translation id="1395730723686586365">Processus de mise à jour lancé</translation>
 <translation id="1396139853388185343">Erreur de configuration de l'imprimante</translation>
 <translation id="1396963298126346194">Le nom d'utilisateur et le mot de passe saisis ne correspondent pas</translation>
+<translation id="1397500194120344683">Aucun appareil éligible. <ph name="LINK_BEGIN" />En savoir plus<ph name="LINK_END" /></translation>
 <translation id="1397854323885047133">Synchronisation et personnalisation</translation>
 <translation id="1398853756734560583">Agrandir</translation>
 <translation id="1399511500114202393">Aucun certificat utilisateur</translation>
@@ -375,7 +376,6 @@
 <translation id="1531004739673299060">Fenêtre de l'application</translation>
 <translation id="15373452373711364">Grand curseur</translation>
 <translation id="1538729222189715449">Ouverture des fichiers Linux…</translation>
-<translation id="153933193410874873">Impossible de valider votre identité sur cet appareil</translation>
 <translation id="1540605929960647700">Activer le mode de démonstration</translation>
 <translation id="1543284117603151572">Importés depuis Edge</translation>
 <translation id="1545177026077493356">Mode Kiosque automatique</translation>
@@ -529,6 +529,7 @@
 <translation id="175772926354468439">Activer le thème</translation>
 <translation id="1758018619400202187">EAP-TLS</translation>
 <translation id="17584710573359123">Afficher sur le Chrome Web Store</translation>
+<translation id="176193854664720708">Le lecteur d'empreinte digitale est intégré au bouton Marche/Arrêt. Effleurez-le avec n'importe quel doigt.</translation>
 <translation id="1763046204212875858">Créer des raccourcis vers des applications</translation>
 <translation id="1763108912552529023">Poursuivre la découverte</translation>
 <translation id="1763808908432309942">La page s'ouvre dans un nouvel onglet</translation>
@@ -682,7 +683,6 @@
 <translation id="1981115145845865539">Déverrouiller automatiquement votre <ph name="DEVICE_TYPE" /></translation>
 <translation id="1983959805486816857">Une fois l'utilisateur supervisé créé, vous pouvez gérer les paramètres à tout moment et depuis n'importe quel appareil à l'adresse <ph name="MANAGEMENT_URL" />.</translation>
 <translation id="1984642098429648350">Ancrer la fenêtre à droite</translation>
-<translation id="1987139229093034863">Changer d'utilisateur</translation>
 <translation id="1987317783729300807">Comptes</translation>
 <translation id="1989112275319619282">Parcourir</translation>
 <translation id="1992397118740194946">Non défini</translation>
@@ -823,6 +823,7 @@
 <translation id="2208158072373999562">Archive ZIP</translation>
 <translation id="220858061631308971">Veuillez saisir le code d'accès de "<ph name="DEVICE_NAME" />" :</translation>
 <translation id="2209593327042758816">Élément d'étagère 2</translation>
+<translation id="2212126039311489237">Imprimer via la boîte de dialogue du système</translation>
 <translation id="2217501013957346740">Créer un nom</translation>
 <translation id="2218019600945559112">Souris et pavé tactile</translation>
 <translation id="2218320521449013367">Une erreur s'est produite lors de la suppression du logiciel malveillant par Chrome</translation>
@@ -935,6 +936,7 @@
 <translation id="2378075407703503998"><ph name="SELCTED_FILE_COUNT" /> fichiers sélectionnés</translation>
 <translation id="237828693408258535">Traduire cette page ?</translation>
 <translation id="2378982052244864789">Sélectionner le répertoire de l'extension</translation>
+<translation id="2379281330731083556">Imprimer via la boîte de dialogue du système... <ph name="SHORTCUT_KEY" /></translation>
 <translation id="2381756643783702095">Demander l'autorisation avant d'envoyer (recommandé)</translation>
 <translation id="2384436799579181135">Une erreur s'est produite. Veuillez vérifier l'imprimante, puis réessayer.</translation>
 <translation id="2387458720915042159">Type de connexion proxy</translation>
@@ -1114,6 +1116,7 @@
 <translation id="2653659639078652383">Valider</translation>
 <translation id="265390580714150011">Valeur du champ</translation>
 <translation id="2654166010170466751">Autoriser les sites à installer des gestionnaires de paiement</translation>
+<translation id="2656742821229528729">Associez votre téléphone Android et votre Chromebook pour envoyer des SMS depuis votre ordinateur, partager votre connexion Internet et déverrouiller votre Chromebook avec votre téléphone.<ph name="FOOTNOTE_POINTER" /> <ph name="LINK_BEGIN" />En savoir plus<ph name="LINK_END" /></translation>
 <translation id="2659381484350128933"><ph name="FOOTNOTE_POINTER" /> Les fonctionnalités varient d'un appareil à l'autre</translation>
 <translation id="2660779039299703961">Événement</translation>
 <translation id="266079277508604648">Impossible de se connecter à l'imprimante. Vérifiez qu'elle est sous tension et connectée à votre Chromebook par Wi-Fi ou USB.</translation>
@@ -1418,6 +1421,7 @@
 <translation id="3115128645424181617">Impossible de trouver votre téléphone. Assurez-vous qu'il se trouve à proximité et que le Bluetooth est activé.</translation>
 <translation id="3115147772012638511">En attente de l'affichage du cache</translation>
 <translation id="3118319026408854581">Aide <ph name="PRODUCT_NAME" /></translation>
+<translation id="3119484583572640616">Une fois activée, la fonctionnalité Better Together peut effectuer les actions suivantes :</translation>
 <translation id="3120430004221004537">Chiffrement insuffisant pour une opération donnée sur l'appareil <ph name="DEVICE_NAME" />.</translation>
 <translation id="3121793941267913344">Réinitialiser cet appareil <ph name="IDS_SHORT_PRODUCT_NAME" /></translation>
 <translation id="3122464029669770682">UC</translation>
@@ -1732,6 +1736,7 @@
 <translation id="3596235046596950091">Activer les services cloud</translation>
 <translation id="3599863153486145794">Efface l'historique de tous les appareils sur lesquels vous êtes connecté à votre compte Google. Ce dernier peut conserver d'autres formes d'historique de navigation sur la page <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
 <translation id="3600792891314830896">Couper le son des sites</translation>
+<translation id="360180734785106144">Proposer de nouvelles fonctionnalités dès qu'elles sont disponibles</translation>
 <translation id="3602290021589620013">Aperçu</translation>
 <translation id="3603533104205588786">Vous pouvez cliquer sur l'étoile pour ajouter une page à vos favoris</translation>
 <translation id="3603622770190368340">Obtenir un certificat réseau</translation>
@@ -2067,7 +2072,6 @@
 <translation id="4068506536726151626">Cette page contient des éléments des sites ci-dessous qui suivent votre position géographique :</translation>
 <translation id="4068776064906523561">Empreintes digitales enregistrées</translation>
 <translation id="407173827865827707">En cas de clic</translation>
-<translation id="4071770069230198275"><ph name="PROFILE_NAME" /> : erreur de connexion</translation>
 <translation id="4074900173531346617">Certificat du signataire de courrier électronique</translation>
 <translation id="407520071244661467">Mise à l'échelle</translation>
 <translation id="4075639477629295004">Impossible de caster "<ph name="FILE_NAME" />"</translation>
@@ -2869,6 +2873,7 @@
 <translation id="5332624210073556029">Fuseau horaire :</translation>
 <translation id="5334142896108694079">Cache des scripts</translation>
 <translation id="5334844597069022743">Afficher le code source</translation>
+<translation id="5334899159203764908">En savoir plus sur l'<ph name="BEGIN_LINK" />accès au site<ph name="END_LINK" /></translation>
 <translation id="5335458522276292100">Sauvegarde de <ph name="FILE_COUNT" /> sur <ph name="BEGIN_LINK" />Google Drive<ph name="END_LINK" />…</translation>
 <translation id="5336126339807372270">N'autoriser aucun site à accéder aux appareils USB</translation>
 <translation id="5337771866151525739">Installé par un tiers</translation>
@@ -2976,6 +2981,7 @@
 <translation id="5487521232677179737">Effacer les données</translation>
 <translation id="5488093641312826914">"<ph name="COPIED_ITEM_NAME" />" copié</translation>
 <translation id="5488468185303821006">Autoriser en mode navigation privée</translation>
+<translation id="5489121514345187313">Votre Chromebook fonctionne encore mieux avec votre téléphone. <ph name="LINK_BEGIN" />En savoir plus<ph name="LINK_END" /></translation>
 <translation id="5489435190927933437">Mots de passe enregistrés pour <ph name="DOMAIN" /></translation>
 <translation id="5491110079163012109">Envoyer les données système. Cet appareil enverra automatiquement des diagnostics et des données d'utilisation à Google. Ce paramètre est appliqué par le propriétaire. Le propriétaire de cet appareil peut choisir d'envoyer à Google des données de diagnostic et d'utilisation. Cette option est visible dans les paramètres. Si vous avez activé l'option "Activité sur le Web et les applications", ces informations seront enregistrées dans votre compte. Vous pourrez alors les gérer dans la section "Mon activité". <ph name="BEGIN_LINK1" />En savoir plus<ph name="END_LINK1" /></translation>
 <translation id="5493792505296048976">écran activé</translation>
@@ -3148,6 +3154,7 @@
 <translation id="5731409020711461763">Une nouvelle photo</translation>
 <translation id="5734362860645681824">Communications</translation>
 <translation id="5736796278325406685">Veuillez saisir un nom d'utilisateur valide</translation>
+<translation id="5739235828260127894">En attente de validation. <ph name="LINK_BEGIN" />En savoir plus<ph name="LINK_END" /></translation>
 <translation id="5739458112391494395">Très grande</translation>
 <translation id="5740331643563157105"><ph name="LANGUAGE_1" />, <ph name="LANGUAGE_2" /> et <ph name="NUM_ADDITIONAL_LANGUAGES" /> autres</translation>
 <translation id="574209121243317957">Ton</translation>
@@ -3251,6 +3258,7 @@
 <translation id="5870086504539785141">Fermer le menu d'accessibilité</translation>
 <translation id="5870155679953074650">Défauts matériels</translation>
 <translation id="5877064549588274448">La version a été modifiée. Redémarrez votre appareil pour appliquer les modifications.</translation>
+<translation id="5877584842898320529">L'imprimante sélectionnée n'est pas disponible ou n'est pas installée correctement. <ph name="BR" /> Vérifiez votre imprimante ou sélectionnez-en une autre.</translation>
 <translation id="5880247576487732437">Jeton présent</translation>
 <translation id="5882919346125742463">Réseaux connus</translation>
 <translation id="5884474295213649357">Cet onglet est associé à un périphérique USB.</translation>
@@ -3317,9 +3325,12 @@
 <translation id="5979469435153841984">Pour ajouter des pages à vos favoris, cliquez sur l'étoile dans la barre d'adresse</translation>
 <translation id="5982621672636444458">Options de tri</translation>
 <translation id="5984222099446776634">Consultations récentes</translation>
+<translation id="5985458664595100876">Le format de l'URL n'est pas valide. Les formats acceptés sont \\server\share et smb://server/share.</translation>
+<translation id="5990142338020175451">Des services Google plus personnalisés, comme des suggestions de pages plus pertinentes</translation>
 <translation id="5990386583461751448">Traduite</translation>
 <translation id="5991049340509704927">Agrandir</translation>
 <translation id="599131315899248751">{NUM_APPLICATIONS,plural, =1{Pour pouvoir continuer à naviguer sur Internet, demandez à votre administrateur de supprimer cette application.}one{Pour pouvoir continuer à naviguer sur Internet, demandez à votre administrateur de supprimer cette application.}other{Pour pouvoir continuer à naviguer sur Internet, demandez à votre administrateur de supprimer ces applications.}}</translation>
+<translation id="5997337190805127100">En savoir plus sur l'accès aux sites</translation>
 <translation id="6002458620803359783">Voix préférées</translation>
 <translation id="6005695835120147974">Routeur multimédia</translation>
 <translation id="6006484371116297560">Classique</translation>
@@ -3343,6 +3354,7 @@
 <translation id="6026819612896463875"><ph name="WINDOW_TITLE" /> –  Appareil USB connecté</translation>
 <translation id="6028117231645531007">Ajouter une empreinte digitale</translation>
 <translation id="6029027682598229313">L'installation de Linux est terminée.</translation>
+<translation id="6029292188939175871">supprimer [<ph name="FINGERPRINT_NAME" />], bouton</translation>
 <translation id="6029587122245504742">La plus lente</translation>
 <translation id="6032912588568283682">Système de fichiers</translation>
 <translation id="6034662038931255275">Le système d'exploitation a bien été mis à jour</translation>
@@ -3456,7 +3468,6 @@
 <translation id="6185132558746749656">Position de l'appareil</translation>
 <translation id="6185617499004995178">Outil de validation IPP CUPS</translation>
 <translation id="6185696379715117369">Accéder à la page précédente</translation>
-<translation id="6189273858858366896">Configurez ou gérez des partages de fichiers en réseau.</translation>
 <translation id="6189412234224385711">Ouvrir avec <ph name="EXTENSION_NAME" /></translation>
 <translation id="6196640612572343990">Bloquer les cookies tiers</translation>
 <translation id="6196854373336333322">L'extension <ph name="EXTENSION_NAME" /> a pris le contrôle de vos paramètres de proxy, ce qui signifie que toutes vos activités en ligne peuvent être modifiées, interrompues ou espionnées. Si vous ne savez pas pourquoi cette modification s'est produite, c'est qu'elle est probablement indésirable.</translation>
@@ -3762,6 +3773,7 @@
 <translation id="6643016212128521049">Effacer</translation>
 <translation id="6644512095122093795">Proposer d'enregistrer les mots de passe</translation>
 <translation id="6644846457769259194">Mise à jour de votre appareil (<ph name="PROGRESS_PERCENT" />)…</translation>
+<translation id="6645437135153136856">L'appareil Google Cloud Print sélectionné est désormais incompatible. <ph name="BR" /> Essayez de configurer l'imprimante dans les paramètres système de votre ordinateur.</translation>
 <translation id="6647228709620733774">URL de révocation de l'autorité de certification Netscape</translation>
 <translation id="6647838571840953560">Version actuelle : <ph name="CHANNEL_NAME" /></translation>
 <translation id="6648051959475508072">Clé de sécurité activée</translation>
@@ -3783,7 +3795,6 @@
 <translation id="667517062706956822">Souhaitez-vous que Google traduise cette page de la langue "<ph name="SOURCE_LANGUAGE" />" vers la langue "<ph name="TARGET_LANGUAGE" />" ?</translation>
 <translation id="6675665718701918026">Dispositif de pointage connecté</translation>
 <translation id="6678717876183468697">URL de requête</translation>
-<translation id="6680028776254050810">Changer d'utilisateur</translation>
 <translation id="6680442031740878064">Espace disponible : <ph name="AVAILABLE_SPACE" /></translation>
 <translation id="6680650203439190394">Noter</translation>
 <translation id="6681668084120808868">Prendre une photo</translation>
@@ -3792,7 +3803,6 @@
 <translation id="668599234725812620">Ouvrir Google Play</translation>
 <translation id="6686490380836145850">Fermer les onglets sur la droite</translation>
 <translation id="6686817083349815241">Enregistrer votre mot de passe</translation>
-<translation id="6690565918367819723"><ph name="PROFILE_NAME" /> – Changer d'utilisateur</translation>
 <translation id="6690659332373509948">Impossible d'analyser le fichier : <ph name="FILE_NAME" /></translation>
 <translation id="6690751852586194791">Sélectionnez un utilisateur supervisé à ajouter à cet appareil.</translation>
 <translation id="6691331417640343772">Gérer les données synchronisées dans Google Dashboard</translation>
@@ -4016,6 +4026,7 @@
 <translation id="7040230719604914234">Opérateur</translation>
 <translation id="7042418530779813870">Co&amp;ller et rechercher</translation>
 <translation id="7043108582968290193">Recherche terminée. Aucune application incompatible détectée.</translation>
+<translation id="7044124535091449260">En savoir plus sur l'accès aux sites</translation>
 <translation id="7049293980323620022">Conserver le fichier ?</translation>
 <translation id="7051943809462976355">Recherche de la souris en cours…</translation>
 <translation id="7052237160939977163">Envoyer des informations relatives au suivi des performances</translation>
@@ -4128,6 +4139,7 @@
 <translation id="7201118060536064622">"<ph name="DELETED_ITEM_NAME" />" supprimé</translation>
 <translation id="7206693748120342859">Téléchargement de <ph name="PLUGIN_NAME" /> en cours…</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Quitter la page}one{Quitter la page}other{Quitter les pages}}</translation>
+<translation id="7210499381659830293">Imprimantes d'extension</translation>
 <translation id="721467499098558573">Appuyez sur le bouton situé sur votre clé de sécurité pendant au moins cinq secondes</translation>
 <translation id="7216409898977639127">Opérateur de téléphonie mobile</translation>
 <translation id="7216595297012131718">Classer les langues selon vos préférences</translation>
@@ -4206,6 +4218,7 @@
 <translation id="7321545336522791733">Serveur inaccessible</translation>
 <translation id="7324297612904500502">Forum bêta</translation>
 <translation id="7325437708553334317">Extension Contraste élevé</translation>
+<translation id="7328162502911382168">(<ph name="COUNT" />)</translation>
 <translation id="7328867076235380839">Combinaison non valide</translation>
 <translation id="7329154610228416156">La connexion a échoué, car elle a été configurée pour utiliser une URL non sécurisée (<ph name="BLOCKED_URL" />). Veuillez contacter votre administrateur.</translation>
 <translation id="7334190995941642545">Smart Lock n'est pas disponible pour l'instant. Veuillez réessayer plus tard.</translation>
@@ -4797,6 +4810,7 @@
 <translation id="8199300056570174101">Propriétés du réseau (service) et de l'appareil</translation>
 <translation id="8200772114523450471">Reprendre</translation>
 <translation id="8202160505685531999">Saisissez à nouveau votre mot de passe pour modifier votre profil <ph name="DEVICE_TYPE" /></translation>
+<translation id="8203732864715032075">Vous envoyer des notifications et mémoriser cet ordinateur pour les messages. <ph name="LINK_BEGIN" />En savoir plus<ph name="LINK_END" /></translation>
 <translation id="8206354486702514201">Ce paramètre est appliqué par votre administrateur.</translation>
 <translation id="8206745257863499010">Musique</translation>
 <translation id="8209677645716428427">Un utilisateur supervisé peut naviguer sur le Web avec votre aide. En tant que gestionnaire d'un tel utilisateur dans Chrome, vous pouvez :</translation>
@@ -5108,7 +5122,6 @@
 <translation id="869884720829132584">Menu Applications</translation>
 <translation id="869891660844655955">Date d'expiration</translation>
 <translation id="8699566574894671540">Pour activer cette option, sélectionnez d'abord "Vérifier l'orthographe lors de la frappe" depuis le menu "Édition"</translation>
-<translation id="870073306461175568">Partages de fichiers en réseau</translation>
 <translation id="8701677791353449257">Le nom de l'appareil doit correspondre à l'expression régulière <ph name="REGEX" />.</translation>
 <translation id="8704521619148782536">Cette opération dure beaucoup plus longtemps que d'habitude. Vous pouvez continuer à attendre, ou annuler l'opération et réessayer plus tard.</translation>
 <translation id="8705331520020532516">Numéro de série</translation>
@@ -5293,7 +5306,6 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> – Plantage</translation>
 <translation id="8983677657449185470">Contribuer à l'amélioration de la navigation sécurisée</translation>
 <translation id="8984179138335769204">Lancement rapide</translation>
-<translation id="8984654317541110628">URL de partage de fichiers</translation>
 <translation id="8986362086234534611">Retirer</translation>
 <translation id="8986494364107987395">Envoie automatiquement les statistiques d'utilisation et les rapports d'erreur à Google</translation>
 <translation id="8987927404178983737">Mois</translation>
diff --git a/chrome/app/resources/generated_resources_gu.xtb b/chrome/app/resources/generated_resources_gu.xtb
index c3309ee..9761ba4 100644
--- a/chrome/app/resources/generated_resources_gu.xtb
+++ b/chrome/app/resources/generated_resources_gu.xtb
@@ -372,7 +372,6 @@
 <translation id="1531004739673299060">ઍપ્લિકેશન વિંડો</translation>
 <translation id="15373452373711364">મોટું માઉસ કર્સર</translation>
 <translation id="1538729222189715449">Linux ફાઇલો ખોલી રહ્યાં છીએ...</translation>
-<translation id="153933193410874873">અમે આ ઉપકરણ પર તમારી ઓળખની ચકાસણી કરી શક્યાં નથી</translation>
 <translation id="1540605929960647700">ડેમો મોડ ચાલુ કરો</translation>
 <translation id="1543284117603151572">Edge માંથી આયાત કરેલ</translation>
 <translation id="1545177026077493356">સ્વચલિત કિઓસ્ક મોડ</translation>
@@ -678,7 +677,6 @@
 <translation id="1981115145845865539">તમારા <ph name="DEVICE_TYPE" />ને આપમેળે અનલૉક કરો</translation>
 <translation id="1983959805486816857">તમે નવા નિરીક્ષણ કરેલા વપરાશકર્તા બનાવી લો, પછી કોઈપણ ઉપકરણ પરથી તમે <ph name="MANAGEMENT_URL" /> પર,  કોઈપણ સમયે સેટિંગ્સનું સંચાલન કરી શકો છો.</translation>
 <translation id="1984642098429648350">વિન્ડો જમણે ડૉક કરો</translation>
-<translation id="1987139229093034863">ભિન્ન વપરાશકર્તા પર સ્વિચ કરો.</translation>
 <translation id="1987317783729300807">એકાઉન્ટ્સ</translation>
 <translation id="1989112275319619282">બ્રાઉઝ કરો</translation>
 <translation id="1992397118740194946">સેટ નથી</translation>
@@ -931,6 +929,7 @@
 <translation id="2378075407703503998"><ph name="SELCTED_FILE_COUNT" /> ફાઇલો પસંદ કરી</translation>
 <translation id="237828693408258535">આ પેજનો અનુવાદ કરીએ?</translation>
 <translation id="2378982052244864789">એક્સ્ટેંશન ડાયરેક્ટરી પસંદ કરો.</translation>
+<translation id="2379281330731083556">સિસ્ટમ સંવાદનો ઉપયોગ કરીને છાપો... <ph name="SHORTCUT_KEY" /></translation>
 <translation id="2381756643783702095">મોકલતાં પહેલાં પૂછો (ભલામણ કરેલ)</translation>
 <translation id="2384436799579181135">એક ભૂલ આવી છે. કૃપા કરીને તમારું પ્રિન્ટર તપાસો અને ફરી પ્રયાસ કરો.</translation>
 <translation id="2387458720915042159">પ્રૉક્સી કનેક્શનનો પ્રકાર</translation>
@@ -1720,7 +1719,7 @@
 <translation id="358796204584394954">જોડી બનાવવા માટે "<ph name="DEVICE_NAME" />" પર આ કોડ લખો:</translation>
 <translation id="3589766037099229847">અસુરક્ષિત કન્ટેન્ટ બ્લૉક</translation>
 <translation id="3590194807845837023">પ્રોફાઇલ અનલૉક કરો અને ફરીથી લોંચ કરો</translation>
-<translation id="3590295622232282437">મેનેજ કરાયેલ સત્રમાં દાખલ થઈ રહ્યાં છીએ.</translation>
+<translation id="3590295622232282437">મેનેજ કરાયેલ સત્રમાં દાખલ થઈ રહ્યા છીએ.</translation>
 <translation id="3592260987370335752">&amp;વધુ જાણો</translation>
 <translation id="359283478042092570">Enter</translation>
 <translation id="3593965109698325041">પ્રમાણપત્રના નામની મર્યાદાઓ</translation>
@@ -2063,7 +2062,6 @@
 <translation id="4068506536726151626">આ પૃષ્ઠમાં તમારા સ્થાનને ટ્રૅક કરતી નીચેની સાઇટ્સનાં ઘટકો શામેલ છે:</translation>
 <translation id="4068776064906523561">સાચવેલ ફિંગરપ્રિન્ટ</translation>
 <translation id="407173827865827707">ક્લિક કરવા પર</translation>
-<translation id="4071770069230198275"><ph name="PROFILE_NAME" />: સાઇન ઇન ભૂલ</translation>
 <translation id="4074900173531346617">ઇમેઇલ હસ્તાક્ષરકર્તા પ્રમાણપત્ર</translation>
 <translation id="407520071244661467">સ્કેલ</translation>
 <translation id="4075639477629295004"><ph name="FILE_NAME" />ને કાસ્ટ કરવામાં અસમર્થ.</translation>
@@ -2665,7 +2663,7 @@
 <translation id="5039512255859636053">$1 TB</translation>
 <translation id="5039804452771397117">મંજૂરી આપો</translation>
 <translation id="5045550434625856497">ખોટો પાસવર્ડ</translation>
-<translation id="504561833207953641">હાલના બ્રાઉઝર સત્રમાં ખોલી રહ્યાં છીએ.</translation>
+<translation id="504561833207953641">હાલના બ્રાઉઝર સત્રમાં ખોલી રહ્યા છીએ.</translation>
 <translation id="5047421709274785093">સાઇટને મોશન અને લાઇટ સેન્સરનો ઉપયોગ કરવાથી બ્લૉક કરો</translation>
 <translation id="5050042263972837708">જૂથનું નામ</translation>
 <translation id="5052499409147950210">સાઇટ સંપાદિત કરો</translation>
@@ -2865,6 +2863,7 @@
 <translation id="5332624210073556029">ટાઇમ ઝોન:</translation>
 <translation id="5334142896108694079">સ્ક્રિપ્ટ કેશ</translation>
 <translation id="5334844597069022743">સ્રોત જુઓ</translation>
+<translation id="5334899159203764908"><ph name="BEGIN_LINK" />સાઇટના ઍક્સેસ<ph name="END_LINK" /> વિશે વધુ જાણો</translation>
 <translation id="5335458522276292100"><ph name="BEGIN_LINK" />Google ડ્રાઇવ<ph name="END_LINK" />માં <ph name="FILE_COUNT" />નો બૅકઅપ લઈ રહ્યાં છીએ</translation>
 <translation id="5336126339807372270">કોઈપણ સાઇટને USB ઉપકરણો ઍક્સેસ કરવાની મંજૂરી આપશો નહીં</translation>
 <translation id="5337771866151525739">તૃતીય-પક્ષ દ્વારા ઇન્સ્ટોલ કરેલું.</translation>
@@ -3455,7 +3454,6 @@
 <translation id="6185132558746749656">ઉપકરણનું સ્થાન</translation>
 <translation id="6185617499004995178">CUPS IPP વૅલિડેટર</translation>
 <translation id="6185696379715117369">પૃષ્ઠ ઉપર</translation>
-<translation id="6189273858858366896">નેટવર્ક ફાઇલ શેર સેટ કરો અને મેનેજ કરો.</translation>
 <translation id="6189412234224385711"><ph name="EXTENSION_NAME" /> સાથે ખોલો</translation>
 <translation id="6196640612572343990">તૃતીય પક્ષની કુકીઝ અવરોધિત કરો</translation>
 <translation id="6196854373336333322"><ph name="EXTENSION_NAME" /> એક્સ્ટેન્શને તમારી પ્રોક્સી સેટિંગ્સનું નિયંત્રણ લઈ લીધું છે, એનો અર્થ છે કે તમે જે કંઈપણ ઓનલાઇન કરો છો તેને તે બદલી, ભંગ કરી કે છુપાઇને પારકી વાતો સાંભળી શકે છે. આ ફેરફાર કેમ થયો તે અંગે જો તમને ખાતરી નથી, તો સંભવિત રૂપે તે તમને જોઈતું નહીં હોય.</translation>
@@ -3782,7 +3780,6 @@
 <translation id="667517062706956822">શું તમે ઇચ્છો છો કે Google, <ph name="SOURCE_LANGUAGE" /> થી <ph name="TARGET_LANGUAGE" /> માં આ પૃષ્ઠનો અનુવાદ કરે?</translation>
 <translation id="6675665718701918026">પોઇંટિંગ ઉપકરણ કનેક્ટ કર્યું</translation>
 <translation id="6678717876183468697">ક્વેરી URL</translation>
-<translation id="6680028776254050810">વપરાશકર્તાઓને સ્વિચ કરો</translation>
 <translation id="6680442031740878064">ઉપલબ્ધ: <ph name="AVAILABLE_SPACE" /></translation>
 <translation id="6680650203439190394">રેટ કરો</translation>
 <translation id="6681668084120808868">ફોટો લો</translation>
@@ -3791,7 +3788,6 @@
 <translation id="668599234725812620">Google Play ખોલો</translation>
 <translation id="6686490380836145850">જમણી બાજુનાં ટૅબ્સ બંધ કરો</translation>
 <translation id="6686817083349815241">તમારો પાસવર્ડ સાચવો</translation>
-<translation id="6690565918367819723"><ph name="PROFILE_NAME" />, વ્યક્તિને સ્વિચ કરો</translation>
 <translation id="6690659332373509948">ફાઇલ વિશ્લેષિત કરવામાં અક્ષમ છે: <ph name="FILE_NAME" /></translation>
 <translation id="6690751852586194791">આ ઉપકરણ પર ઉમેરવા માટે એક નિરીક્ષિત વપરાશકર્તા પસંદ કરો.</translation>
 <translation id="6691331417640343772">Google ડૅશબોર્ડ પર સમન્વયિત કરેલ ડેટા સંચાલિત કરો</translation>
@@ -5102,7 +5098,6 @@
 <translation id="869884720829132584">ઍપ્લિકેશનો મેનૂ</translation>
 <translation id="869891660844655955">સમાપ્તિ તારીખ</translation>
 <translation id="8699566574894671540">આ ચાલુ કરવા માટે, પહેલા સંપાદન મેનૂમાં ટાઇપિંગ વખતે જોડણી તપાસો પસંદ કરો</translation>
-<translation id="870073306461175568">નેટવર્ક ફાઇલ શેર</translation>
 <translation id="8701677791353449257">ઉપકરણનું નામ રેગ્યુલર એક્સપ્રેશન <ph name="REGEX" /> સાથે મેળ ખાતું હોવું જોઈએ.</translation>
 <translation id="8704521619148782536">આ સામાન્ય કરતાં વધુ સમય લઈ રહ્યું છે. તમે રાહ જોઈ શકો છો અથવા રદ કરી અને પછીથી ફરી પ્રયાસ કરી શકો છો.</translation>
 <translation id="8705331520020532516">શૃંખલા ક્રમાંક</translation>
@@ -5287,7 +5282,6 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> - ક્રેશ થયું</translation>
 <translation id="8983677657449185470">સુરક્ષિત બ્રાઉઝિંગને બહેતર બનાવવામાં સહાય કરો</translation>
 <translation id="8984179138335769204">ઝડપી લૉન્ચ</translation>
-<translation id="8984654317541110628">શેર કરેલ ફાઇલ URL</translation>
 <translation id="8986362086234534611">ભૂલી ગયા</translation>
 <translation id="8986494364107987395">ઉપયોગિતા આંકડાઓ અને ક્રેશ રિપોર્ટ્સ Google ને આપમેળે મોકલો</translation>
 <translation id="8987927404178983737">મહિનો</translation>
diff --git a/chrome/app/resources/generated_resources_hi.xtb b/chrome/app/resources/generated_resources_hi.xtb
index 49c67853..14cf23d 100644
--- a/chrome/app/resources/generated_resources_hi.xtb
+++ b/chrome/app/resources/generated_resources_hi.xtb
@@ -275,6 +275,7 @@
 <translation id="1395730723686586365">अपडेटर प्रारंभ हुआ</translation>
 <translation id="1396139853388185343">प्रिंटर सेट अप करने में गड़बड़ी हुई</translation>
 <translation id="1396963298126346194">आपने जो उपयोगकर्ता नाम और पासवर्ड डाला है, वो मेल नहीं खाते हैं</translation>
+<translation id="1397500194120344683">कनेक्ट हो सकने वाला कोई डिवाइस नहीं है. <ph name="LINK_BEGIN" />ज़्यादा जानें<ph name="LINK_END" /></translation>
 <translation id="1397854323885047133">सिंक करना और मनमुताबिक बनाना</translation>
 <translation id="1398853756734560583">बड़ा करें</translation>
 <translation id="1399511500114202393">कोई 'उपयोगकर्ता प्रमाणपत्र' नहीं</translation>
@@ -375,7 +376,6 @@
 <translation id="1531004739673299060">ऐप्लिकेशन विंडो</translation>
 <translation id="15373452373711364">बड़ा माउस कर्सर</translation>
 <translation id="1538729222189715449">Linux फ़ाइलें खुल रही हैं...</translation>
-<translation id="153933193410874873">हम इस डिवाइस पर आपकी पहचान की पुष्टि नहीं कर पाए</translation>
 <translation id="1540605929960647700">'डेमो मोड' चालू करें</translation>
 <translation id="1543284117603151572">Edge से आयात किया गया</translation>
 <translation id="1545177026077493356">स्वचालित किओस्क मोड</translation>
@@ -529,6 +529,7 @@
 <translation id="175772926354468439">थीम सक्षम करें</translation>
 <translation id="1758018619400202187">EAP-TLS</translation>
 <translation id="17584710573359123">Chrome वेब स्टोर में देखें</translation>
+<translation id="176193854664720708">पावर बटन में फ़िंगरप्रिंट सेंसर मौजूद होता है. किसी भी उंगली से इसे हल्के से छुएं.</translation>
 <translation id="1763046204212875858">ऐप्स  शॉर्टकट बनाएं</translation>
 <translation id="1763108912552529023">एक्सप्लोर करते रहें</translation>
 <translation id="1763808908432309942">नए टैब में खुलता है</translation>
@@ -680,9 +681,8 @@
 <translation id="1977965994116744507">अपने <ph name="DEVICE_TYPE" /> को अनलॉक करने के लिए अपने फ़ोन को पास लाएं.</translation>
 <translation id="1979280758666859181">आप <ph name="PRODUCT_NAME" /> के पुराने वर्शन वाले चैनल में बदल रहे हैं. चैनल बदलाव तब लागू किया जाएगा जब चैनल का वर्शन आपके डिवाइस पर वर्तमान में इंस्टॉल किए गए वर्शन से मिलान करेगा.</translation>
 <translation id="1981115145845865539">अपने <ph name="DEVICE_TYPE" /> को अपने आप अनलॉक करें</translation>
-<translation id="1983959805486816857">आपके द्वारा नया निगरानी में रखा गया उपयोगकर्ता बनाए जाने के बाद, आप <ph name="MANAGEMENT_URL" /> पर कभी भी किसी भी डिवाइस से सेटिंग प्रबंधित कर सकते हैं.</translation>
+<translation id="1983959805486816857">नया निगरानी में रखा गया उपयोगकर्ता बनाने के बाद, आप <ph name="MANAGEMENT_URL" /> पर कभी भी किसी भी डिवाइस से सेटिंग प्रबंधित कर सकते हैं.</translation>
 <translation id="1984642098429648350">विंडो को दाईं ओर डॉक करें</translation>
-<translation id="1987139229093034863">किसी दूसरे उपयोगकर्ता पर स्विच करें.</translation>
 <translation id="1987317783729300807">खाते</translation>
 <translation id="1989112275319619282">ब्राउज़ करें</translation>
 <translation id="1992397118740194946">सेट नहीं है</translation>
@@ -713,7 +713,7 @@
 <translation id="204497730941176055">Microsoft Certificate Template Name</translation>
 <translation id="2045117674524495717">कीबोर्ड शॉर्टकट सहायक</translation>
 <translation id="2045969484888636535">कुकी अवरोधित करना जारी रखें</translation>
-<translation id="204622017488417136">आपके डिवाइस को Chrome के पूर्व में इंस्‍टॉल किए गए वर्ज़न पर वापस ले जाया जाएगा. सभी उपयोगकर्ता खाते और स्‍थानीय डेटा निकाल दिया जाएगा. इसे पूर्ववत नहीं किया जा सकता.</translation>
+<translation id="204622017488417136">आपके डिवाइस को Chrome के इसे पहले इंस्‍टॉल किए गए वर्शन पर वापस ले जाया जाएगा. सभी उपयोगकर्ता खाते और स्‍थानीय डेटा हटा दिइ जाएंगे. इसे पहले जैसा नहीं किया जा सकता.</translation>
 <translation id="2048182445208425546">अपना नेटवर्क ट्रैफ़िक ऐक्‍सेस करें</translation>
 <translation id="2048653237708779538">कार्रवाई उपलब्ध नहीं है</translation>
 <translation id="204914487372604757">शॉर्टकट बनाएं</translation>
@@ -761,7 +761,7 @@
 <translation id="2119349053129246860"><ph name="APP" /> में खोलें</translation>
 <translation id="2120297377148151361">गतिविधि और इंटरैक्शन</translation>
 <translation id="2121825465123208577">आकार बदलें</translation>
-<translation id="2124930039827422115">{1,plural, =1{एक उपयोगकर्ता ने <ph name="AVERAGE_RATING" /> रेट किया है.}one{# उपयोगकर्ताओं ने <ph name="AVERAGE_RATING" /> रेट किया है.}other{# उपयोगकर्ताओं ने <ph name="AVERAGE_RATING" /> रेट किया है.}}</translation>
+<translation id="2124930039827422115">{1,plural, =1{एक उपयोगकर्ता ने <ph name="AVERAGE_RATING" /> रेटिंग दी है.}one{# उपयोगकर्ताओं ने <ph name="AVERAGE_RATING" /> रेटिंग दी है.}other{# उपयोगकर्ताओं ने <ph name="AVERAGE_RATING" /> रेटिंग दी है.}}</translation>
 <translation id="2126167708562367080">सिंक को आपके व्यवस्थापक ने अक्षम किया है.</translation>
 <translation id="2127372758936585790">कम-शक्ति वाला चार्जर</translation>
 <translation id="212862741129535676">आवृत्ति स्थिति उपयोग प्रतिशत</translation>
@@ -823,6 +823,7 @@
 <translation id="2208158072373999562">ज़िप संग्रह</translation>
 <translation id="220858061631308971">कृपया इस पिन कोड को "<ph name="DEVICE_NAME" />" पर दर्ज करें:</translation>
 <translation id="2209593327042758816">अलमारी आइटम 2</translation>
+<translation id="2212126039311489237">सिस्टम संवाद का इस्तेमाल करके प्रिंट करें</translation>
 <translation id="2217501013957346740">कोई नाम बनाएं -</translation>
 <translation id="2218019600945559112">माउस और टचपैड</translation>
 <translation id="2218320521449013367">जिस समय Chrome नुकसान पहुंचाने वाला सॉफ़्टवेयर हटा रहा था, तब कोई गड़बड़ी हुई</translation>
@@ -935,6 +936,7 @@
 <translation id="2378075407703503998"><ph name="SELCTED_FILE_COUNT" /> फ़ाइलें चयनित</translation>
 <translation id="237828693408258535">क्या इस पेज का अनुवाद करना चाहते हैं?</translation>
 <translation id="2378982052244864789">विस्तार निर्देशिका को चुनें.</translation>
+<translation id="2379281330731083556">सिस्‍टम डॉयलॉग का उपयोग करके प्रिंट करें… <ph name="SHORTCUT_KEY" /></translation>
 <translation id="2381756643783702095">भेजने से पहले पूछें (अनुशंसित)</translation>
 <translation id="2384436799579181135">कोई गड़बड़ी हुई है. कृपया अपना प्रिंटर देखें और दोबारा कोशिश करें.</translation>
 <translation id="2387458720915042159">प्रॉक्सी कनेक्शन प्रकार</translation>
@@ -1114,6 +1116,7 @@
 <translation id="2653659639078652383">सबमिट करें</translation>
 <translation id="265390580714150011">फ़ील्ड मान</translation>
 <translation id="2654166010170466751">साइटों को भुगतान हैंडलर इंस्टॉल करने की अनुमति दें</translation>
+<translation id="2656742821229528729">अपने Android फ़ोन और Chromebook को जोड़ें ताकि आप अपने फ़ोन के ज़रिए कंप्यूटर से मैसेज कर सकें, अपना इंटरनेट कनेक्शन शेयर कर सकें, और अपना Chromebook अनलॉक कर सकें.<ph name="FOOTNOTE_POINTER" /> <ph name="LINK_BEGIN" />ज़्यादा जानें<ph name="LINK_END" /></translation>
 <translation id="2659381484350128933"><ph name="FOOTNOTE_POINTER" />डिवाइस के हिसाब से सुविधाएं अलग-अलग हो सकती हैं</translation>
 <translation id="2660779039299703961">इवेंट</translation>
 <translation id="266079277508604648">प्रिंटर से कनेक्ट नहीं किया जा सका. देखें कि प्रिंटर चालू है और वाई-फ़ाई या USB के ज़रिए आपके Chromebook से कनेक्ट किया हुआ है.</translation>
@@ -1418,6 +1421,7 @@
 <translation id="3115128645424181617">आपका फ़ोन नहीं मिल पा रहा है. पक्का करें कि वह पहुंच में है और ब्लूटूथ चालू है.</translation>
 <translation id="3115147772012638511">संचय की प्रतीक्षा कर रहा है...</translation>
 <translation id="3118319026408854581"><ph name="PRODUCT_NAME" />सहायता</translation>
+<translation id="3119484583572640616">Better Together को चालू करने पर इसके ज़रिए ये सुविधाएं मिलती हैं:</translation>
 <translation id="3120430004221004537">दिए गए संचालन के लिए इस पर अपर्याप्त एन्क्रिप्शन: "<ph name="DEVICE_NAME" />".</translation>
 <translation id="3121793941267913344">इस <ph name="IDS_SHORT_PRODUCT_NAME" /> डिवाइस को रीसेट करें</translation>
 <translation id="3122464029669770682">CPU</translation>
@@ -1429,7 +1433,7 @@
 <translation id="3128230619496333808">टैब 6</translation>
 <translation id="3129140854689651517">टेक्स्ट खोजें</translation>
 <translation id="3129173833825111527">बायां हाशिया</translation>
-<translation id="3130528281680948470">आपका डिवाइस रीसेट कर दिया जाएगा और सभी उपयोगकर्ता खाते तथा स्‍थानीय डेटा निकाल दिया जाएगा. इसे पूर्ववत नहीं किया जा सकता.</translation>
+<translation id="3130528281680948470">आपका डिवाइस रीसेट कर दिया जाएगा और सभी उपयोगकर्ता खाते और स्‍थानीय डेटा हटा दिए जाएंगे. इसे पहले जैसा नहीं किया जा सकता.</translation>
 <translation id="313205617302240621">पासवर्ड भूल गए?</translation>
 <translation id="3132996321662585180">हर रोज़ रीफ्रेश करें</translation>
 <translation id="3135204511829026971">स्क्रीन को घुमाएं</translation>
@@ -1732,6 +1736,7 @@
 <translation id="3596235046596950091">क्लाउड सेवाएं सक्षम करें</translation>
 <translation id="3599863153486145794">प्रवेश किए हुए सभी डिवाइसों से इतिहास साफ़ कर देता है. आपके Google खाते में <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> पर अन्य प्रकार के ब्राउज़िंग इतिहास हो सकतेे हैं.</translation>
 <translation id="3600792891314830896">आवाज़ चलाने वाली साइटों की आवाज़ बंद करें</translation>
+<translation id="360180734785106144">उपलब्ध होने पर नई सुविधाएं ऑफ़र कर सकता है</translation>
 <translation id="3602290021589620013">पूर्वावलोकन</translation>
 <translation id="3603533104205588786">पेज को बुकमार्क करने के लिए आप तारे पर क्लिक कर सकते हैं</translation>
 <translation id="3603622770190368340">नेटवर्क प्रमाणपत्र प्राप्त करें</translation>
@@ -2066,7 +2071,6 @@
 <translation id="4068506536726151626">इस पेज पर आपके स्थान की जानकारी रखने वाली निम्न साइटों की कुछ चीजें मौजूद हैं:</translation>
 <translation id="4068776064906523561">सहेजे गए फ़िंगरप्रिंट</translation>
 <translation id="407173827865827707">क्लिक करने पर</translation>
-<translation id="4071770069230198275"><ph name="PROFILE_NAME" />: साइन इन करने संबंधी त्रुटि</translation>
 <translation id="4074900173531346617">ईमेल हस्ताक्षरकर्ता प्रमाणपत्र</translation>
 <translation id="407520071244661467">स्केल</translation>
 <translation id="4075639477629295004"><ph name="FILE_NAME" /> कास्ट नहीं हो पा रहा है.</translation>
@@ -2465,7 +2469,7 @@
 <translation id="4746971725921104503">ऐसा लगता है कि आप पहले से ही उस नाम से उपयोगकर्ता को प्रबंधित कर रहे हैं. क्‍या आप <ph name="LINK_START" /><ph name="USER_DISPLAY_NAME" /> को इस डिवाइस पर लाना<ph name="LINK_END" /> चाहते थे?</translation>
 <translation id="4748762018725435655">Chrome वेब स्टोर से एक्सटेंशन की आवश्यकता है</translation>
 <translation id="4750394297954878236">सुझाव</translation>
-<translation id="475088594373173692">प्रथम उपयोगकर्ता</translation>
+<translation id="475088594373173692">पहला उपयोगकर्ता</translation>
 <translation id="4751476147751820511">गति या लाइट सेंसर</translation>
 <translation id="4756378406049221019">बंद करें/फिर से लोड करें</translation>
 <translation id="4756388243121344051">&amp;इतिहास</translation>
@@ -2868,6 +2872,7 @@
 <translation id="5332624210073556029">समय क्षेत्र:</translation>
 <translation id="5334142896108694079">स्क्रिप्ट संचय</translation>
 <translation id="5334844597069022743">स्रोत देखें</translation>
+<translation id="5334899159203764908"><ph name="BEGIN_LINK" />साइट एक्सेस<ph name="END_LINK" /> करने के बारे में ज़्यादा जानें</translation>
 <translation id="5335458522276292100"><ph name="FILE_COUNT" /> का <ph name="BEGIN_LINK" />Google डिस्क<ph name="END_LINK" /> में बैक अप लिया जा रहा है</translation>
 <translation id="5336126339807372270">किसी भी साइट को USB डिवाइस एक्सेस न करने दें</translation>
 <translation id="5337771866151525739">किसी तृतीय पक्ष द्वारा इंस्टॉल किया गया.</translation>
@@ -2975,6 +2980,7 @@
 <translation id="5487521232677179737">डेटा साफ़ करें</translation>
 <translation id="5488093641312826914">'<ph name="COPIED_ITEM_NAME" />' कॉपी किया गया</translation>
 <translation id="5488468185303821006">गुप्त विंडो में अनुमति दें</translation>
+<translation id="5489121514345187313">आपका Chromebook आपके फ़ोन के साथ और भी बेहतर काम करता है. <ph name="LINK_BEGIN" />ज़्यादा जानें<ph name="LINK_END" /></translation>
 <translation id="5489435190927933437"><ph name="DOMAIN" /> के लिए सेव किए गए पासवर्ड</translation>
 <translation id="5491110079163012109">सिस्टम डेटा भेजें. Google को निदान और डिवाइस और ऐप्लिकेशन के इस्तेमाल का डेटा अपने आप भेजें. यह सेटिंग डिवाइस के मालिक ने लागू की है. इस डिवाइस का मालिक इसके निदान और डेटा के इस्तेमाल की जानकारी Google को भेजना चुन सकता है. आप इसे सेटिंग में जाकर देख सकते हैं. अगर आपने अतिरिक्त वेब और ऐप्लिकेशन गतिविधि चालू की है, तो यह जानकारी आपके खाते से संग्रहित की जाएगी, ताकि आप इसे मेरी गतिविधि में प्रबंधित कर सकें. <ph name="BEGIN_LINK1" />अधिक जानें<ph name="END_LINK1" /></translation>
 <translation id="5493792505296048976">स्क्रीन चालू है</translation>
@@ -3146,6 +3152,7 @@
 <translation id="5731409020711461763">1 नई फ़ोटो</translation>
 <translation id="5734362860645681824">संचार</translation>
 <translation id="5736796278325406685">कृपया कोई मान्य उपयोगकर्ता नाम डालें</translation>
+<translation id="5739235828260127894">पुष्टि होने का इंतज़ार किया जा रहा है. <ph name="LINK_BEGIN" />ज़्यादा जानें<ph name="LINK_END" /></translation>
 <translation id="5739458112391494395">बहुत बड़ा</translation>
 <translation id="5740331643563157105"><ph name="LANGUAGE_1" />, <ph name="LANGUAGE_2" /> और <ph name="NUM_ADDITIONAL_LANGUAGES" /> अन्य</translation>
 <translation id="574209121243317957">पिच</translation>
@@ -3177,7 +3184,7 @@
 <translation id="5781092003150880845"><ph name="ACCOUNT_FULL_NAME" /> के रूप में सिंक करें</translation>
 <translation id="5781865261247219930"><ph name="EXTENSION_NAME" /> को आदेश भेजें</translation>
 <translation id="5782227691023083829">अनुवाद हो रहा है...</translation>
-<translation id="5783221160790377646">किसी गड़बड़ी के कारण, एक निगरानी में रखा गया उपयोगकर्ता बनाया गया. कृपया बाद में पुन: प्रयास करें.</translation>
+<translation id="5783221160790377646">किसी गड़बड़ी की वजह से, निगरानी में रखा गया उपयोगकर्ता नहीं बनाया जा सका. कृपया थोड़ी देर बाद फिर से कोशिश करें.</translation>
 <translation id="5783602409389152506">डिवाइस स्कैन करते समय...</translation>
 <translation id="57838592816432529">म्यूट करें</translation>
 <translation id="5785583009707899920">Chrome की फ़ाइल सुविधाएं</translation>
@@ -3249,6 +3256,7 @@
 <translation id="5870086504539785141">पहुंच-योग्यता मेनू को बंद करें</translation>
 <translation id="5870155679953074650">हार्ड फ़ॉल्ट</translation>
 <translation id="5877064549588274448">चैनल बदल दिया गया है. बदलावों का लागू करने के लिए अपने डिवाइस को फिर से प्रारंभ करें.</translation>
+<translation id="5877584842898320529">चुना गया प्रिंटर उपलब्ध नहीं है या ठीक से इंस्टॉल नहीं किया गया है. <ph name="BR" /> अपना प्रिंटर जाँचें या कोई दूसरा प्रिंटर चुनकर देखें.</translation>
 <translation id="5880247576487732437">टोकन उपस्थित</translation>
 <translation id="5882919346125742463">ज्ञात नेटवर्क</translation>
 <translation id="5884474295213649357">यह टैब किसी USB डिवाइस से कनेक्ट है.</translation>
@@ -3315,6 +3323,7 @@
 <translation id="5979469435153841984">पेज बुकमार्क करने के लिए, पता बार में मौजूद तारे पर क्‍लिक करें.</translation>
 <translation id="5982621672636444458">विकल्पों को क्रमबद्ध करें</translation>
 <translation id="5984222099446776634">हाल ही में देखे गए</translation>
+<translation id="5985458664595100876">यूआरएल का फ़ॉर्मेट गलत है. काम करने वाले फ़ॉर्मेट \\server\share और smb://server/share हैं.</translation>
 <translation id="5990142338020175451">ज़्यादा निजी Google सेवाएं, जैसे कि बेहतर पेज सुझाव</translation>
 <translation id="5990386583461751448">अनुवाद किया गया</translation>
 <translation id="5991049340509704927">आवर्धित करें</translation>
@@ -3343,6 +3352,7 @@
 <translation id="6026819612896463875"><ph name="WINDOW_TITLE" /> - USB डिवाइस कनेक्ट है</translation>
 <translation id="6028117231645531007">फ़िंगरप्रिंट जोड़ें</translation>
 <translation id="6029027682598229313">Linux इंस्टॉल हो गया है.</translation>
+<translation id="6029292188939175871">[<ph name="FINGERPRINT_NAME" />] मिटाएं बटन</translation>
 <translation id="6029587122245504742">सबसे धीमा</translation>
 <translation id="6032912588568283682">फ़ाइल सिस्टम</translation>
 <translation id="6034662038931255275">OS अपडेट सफल रहा</translation>
@@ -3456,7 +3466,6 @@
 <translation id="6185132558746749656">डिवाइस स्थान</translation>
 <translation id="6185617499004995178">CUPS IPP वैलिडेटर</translation>
 <translation id="6185696379715117369">Page up</translation>
-<translation id="6189273858858366896">Network File Shares सेट अप करें या प्रबंधित करें.</translation>
 <translation id="6189412234224385711"><ph name="EXTENSION_NAME" /> से खोलें</translation>
 <translation id="6196640612572343990">तृतीय पक्ष कुकी ब्लॉक करें</translation>
 <translation id="6196854373336333322">एक्सटेंशन "<ph name="EXTENSION_NAME" />" ने आपकी प्रॉक्सी सेटिंग पर नियंत्रण कर लिया है, जिसका अर्थ है कि यह आपके द्वारा ऑनलाइन किए जाने वाले कार्यों को बदल सकता है, रोक सकता है या उसे छिप कर सुन सकता है. यदि आप सुनिश्चित नहीं हैं कि यह बदलाव क्यों हुआ है, तो संभवत: आप उसे नहीं चाहते हैं.</translation>
@@ -3762,6 +3771,7 @@
 <translation id="6643016212128521049">साफ़ करें</translation>
 <translation id="6644512095122093795">पासवर्ड सहेजने की पेशकश करें</translation>
 <translation id="6644846457769259194">आपका डिवाइस अपडेट हो रहा है (<ph name="PROGRESS_PERCENT" />)</translation>
+<translation id="6645437135153136856">चुना गया 'Google क्लाउड प्रिंट' डिवाइस अब काम नहीं करता है. <ph name="BR" /> अपने कंप्यूटर की सिस्टम सेटिंग में जाकर प्रिंटर सेट अप करके देखें.</translation>
 <translation id="6647228709620733774">Netscape प्रमाणन प्राधिकरण खण्डन यूआरएल</translation>
 <translation id="6647838571840953560">वर्तमान में <ph name="CHANNEL_NAME" /> पर</translation>
 <translation id="6648051959475508072">'सुरक्षा चाबी' चालू की गई...</translation>
@@ -3783,7 +3793,6 @@
 <translation id="667517062706956822">क्या आप चाहते हैं कि Google इस पेज का <ph name="SOURCE_LANGUAGE" /> से <ph name="TARGET_LANGUAGE" /> में अनुवाद करे?</translation>
 <translation id="6675665718701918026">सूचक डिवाइस कनेक्ट किया गया</translation>
 <translation id="6678717876183468697">क्वेरी यूआरएल</translation>
-<translation id="6680028776254050810">उपयोगकर्ताओं को स्विच करें</translation>
 <translation id="6680442031740878064">उपलब्ध: <ph name="AVAILABLE_SPACE" /></translation>
 <translation id="6680650203439190394">दर</translation>
 <translation id="6681668084120808868">फ़ोटो लें</translation>
@@ -3792,7 +3801,6 @@
 <translation id="668599234725812620">Google Play खोलें</translation>
 <translation id="6686490380836145850">दाईं ओर के टैब बंद करें</translation>
 <translation id="6686817083349815241">अपना पासवर्ड सहेजें</translation>
-<translation id="6690565918367819723"><ph name="PROFILE_NAME" /> व्‍यक्‍ति स्‍विच करें</translation>
 <translation id="6690659332373509948">इस फ़ाइल को पार्स करने में असमर्थ: <ph name="FILE_NAME" /></translation>
 <translation id="6690751852586194791">इस डिवाइस से जोड़ने के लिए कोई 'निगरानी में रखा गया उपयोगकर्ता' चुनें.</translation>
 <translation id="6691331417640343772">Google डैशबोर्ड पर सिंक किया गया डेटा प्रबंधित करें</translation>
@@ -4129,6 +4137,7 @@
 <translation id="7201118060536064622">'<ph name="DELETED_ITEM_NAME" />' मिटाया गया</translation>
 <translation id="7206693748120342859"><ph name="PLUGIN_NAME" /> डाउनलोड हो रहा है...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{पेज से बाहर निकलें}one{पेज से बाहर निकलें}other{पेज से बाहर निकलें}}</translation>
+<translation id="7210499381659830293">एक्सटेंशन प्रिंटर</translation>
 <translation id="721467499098558573">अपनी 'सुरक्षा चाबी' पर दिए गए बटन को पांच सेकंड तक दबाकर रखें.</translation>
 <translation id="7216409898977639127">सेल्युलर सेवा देने वाली कंपनी</translation>
 <translation id="7216595297012131718">अपनी प्राथमिकताओं के आधार पर भाषाएं क्रमित करें</translation>
@@ -4207,6 +4216,7 @@
 <translation id="7321545336522791733">सर्वर पहुंच योग्य नहीं है</translation>
 <translation id="7324297612904500502">बीटा फ़ोरम</translation>
 <translation id="7325437708553334317">उच्च कंट्रास्ट एक्सटेंशन</translation>
+<translation id="7328162502911382168">(<ph name="COUNT" />)</translation>
 <translation id="7328867076235380839">गलत संयोजन</translation>
 <translation id="7329154610228416156">प्रवेश करना विफल रहा क्‍योंकि उसे गैर-सुरक्षित यूआरएल (<ph name="BLOCKED_URL" />) का उपयोग करने के लिए कॉन्‍फ़िगर किया गया था. कृपया अपने एडमिन से संपर्क करें.</translation>
 <translation id="7334190995941642545">Smart Lock वर्तमान में अनुपलब्‍ध है. कृपया बाद में पुन: प्रयास करें.</translation>
@@ -4798,6 +4808,7 @@
 <translation id="8199300056570174101">नेटवर्क (सेवा) और डिवाइस प्रॉपर्टी</translation>
 <translation id="8200772114523450471">फिर से शुरू करें</translation>
 <translation id="8202160505685531999">अपनी <ph name="DEVICE_TYPE" /> प्रोफ़ाइल अपडेट करने के लिए कृपया अपना पासवर्ड पुनः डालें.</translation>
+<translation id="8203732864715032075">आपको सूचनाएं भेजती है और यह याद रखती है कि मैसेज के लिए यह कंप्यूटर डिफ़ॉल्ट है. <ph name="LINK_BEGIN" />ज़्यादा जानें<ph name="LINK_END" /></translation>
 <translation id="8206354486702514201">इस सेटिंग को आपके व्‍यवस्थापक द्वारा लागू किया जाता है.</translation>
 <translation id="8206745257863499010">ब्‍लुसी</translation>
 <translation id="8209677645716428427">'निगरानी में रखा गया उपयोगकर्ता' आपके दिशा-निर्देशों के साथ वेब को एक्सप्लोर कर सकता है. Chrome में 'निगरानी में रखे गए उपयोगकर्ता' के प्रबंधक के रूप में, आप यह कर सकते हैं:</translation>
@@ -4951,7 +4962,7 @@
 <translation id="8461329675984532579">होम प्रदाता का नाम</translation>
 <translation id="84613761564611563">नेटवर्क कॉन्फ़िगर यूज़र इंटरफ़ेस (यूआई) का अनुरोध किया गया, कृृपया प्रतीक्षा करें...</translation>
 <translation id="8461914792118322307">प्रॉक्सी</translation>
-<translation id="8463215747450521436">इस निगरानी में रखे गए उपयोगकर्ता को प्रबंधक द्वारा हटा दिया गया है या अक्षम कर दिया गया है. यदि आप इस उपयोगकर्ता के रूप में साइन इन करते रहना चाहते हैं, तो कृपया प्रबंधक से संपर्क करें.</translation>
+<translation id="8463215747450521436">इस निगरानी में रखे गए उपयोगकर्ता को प्रबंधक ने मिटा दिया है या बंद कर दिया है. अगर आप इस उपयोगकर्ता के रूप में साइन इन किए हुए रहना चाहते हैं, तो कृपया प्रबंधक से संपर्क करें.</translation>
 <translation id="846374874681391779">डाउनलोड बार</translation>
 <translation id="8463955938112983119"><ph name="PLUGIN_NAME" /> बंद किया गया.</translation>
 <translation id="8464132254133862871">यह उपयोगकर्ता खाता सेवा के लिए योग्‍य नहीं है.</translation>
@@ -5109,7 +5120,6 @@
 <translation id="869884720829132584">ऐप्स  मेनू</translation>
 <translation id="869891660844655955">समय समाप्ति दिनांक</translation>
 <translation id="8699566574894671540">इसे चालू करने के लिए, पहले 'बदलाव करें' मेन्यू में जाकर 'लिखते समय वर्तनी जांचें' चुनें</translation>
-<translation id="870073306461175568">Network File Shares</translation>
 <translation id="8701677791353449257">डिवाइस के नाम का मिलान रेगुलर एक्सप्रेशन <ph name="REGEX" /> से होना चाहिए.</translation>
 <translation id="8704521619148782536">इसमें सामान्य से अधिक समय लग रहा है. आप प्रतीक्षा कर सकते हैं, या रद्द कर सकते हैं और बाद में फिर से प्रयास कर सकते हैं.</translation>
 <translation id="8705331520020532516">क्रम संख्या</translation>
@@ -5294,7 +5304,6 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> - क्रैश हो गया है</translation>
 <translation id="8983677657449185470">सुरक्षित ब्राउज़िंग को बेहतर बनाने में सहायता करें</translation>
 <translation id="8984179138335769204">झटपट लॉन्च</translation>
-<translation id="8984654317541110628">फ़ाइल शेयर यूआरएल</translation>
 <translation id="8986362086234534611">भूल जाएं</translation>
 <translation id="8986494364107987395">'इस्तेमाल के आंकड़े' और 'खराबी रिपोर्ट' Google को अपने आप भेजे जाने की अनुमति दें</translation>
 <translation id="8987927404178983737">माह</translation>
diff --git a/chrome/app/resources/generated_resources_hr.xtb b/chrome/app/resources/generated_resources_hr.xtb
index 4c4327cc..4f303c7 100644
--- a/chrome/app/resources/generated_resources_hr.xtb
+++ b/chrome/app/resources/generated_resources_hr.xtb
@@ -275,6 +275,7 @@
 <translation id="1395730723686586365">Alat za ažuriranje pokrenut je</translation>
 <translation id="1396139853388185343">Pogreška pri postavljanju pisača</translation>
 <translation id="1396963298126346194">Unijeli ste e-adresu i zaporku koje se ne podudaraju</translation>
+<translation id="1397500194120344683">Nema uređaja koji ispunjavaju uvjete. <ph name="LINK_BEGIN" />Saznajte više<ph name="LINK_END" /></translation>
 <translation id="1397854323885047133">Sinkronizacija i prilagodba</translation>
 <translation id="1398853756734560583">Maksimiziraj</translation>
 <translation id="1399511500114202393">Nema korisničkog certifikata</translation>
@@ -375,7 +376,6 @@
 <translation id="1531004739673299060">Prozor aplikacije</translation>
 <translation id="15373452373711364">Veliki pokazivač miša</translation>
 <translation id="1538729222189715449">Otvaranje Linux datoteka...</translation>
-<translation id="153933193410874873">Nismo uspjeli potvrditi vaš identitet na ovom uređaju</translation>
 <translation id="1540605929960647700">Omogućite demo-način</translation>
 <translation id="1543284117603151572">Uvezeno iz Edgea</translation>
 <translation id="1545177026077493356">Automatski način kioska</translation>
@@ -529,6 +529,7 @@
 <translation id="175772926354468439">Omogućiti temu</translation>
 <translation id="1758018619400202187">EAP-TLS</translation>
 <translation id="17584710573359123">Prikaz u Chrome web-trgovini</translation>
+<translation id="176193854664720708">Senzor otiska prsta nalazi se u tipki za uključivanje/isključivanje. Dodirnite ga lagano bilo kojim prstom.</translation>
 <translation id="1763046204212875858">Stvaranje prečaca aplikacije</translation>
 <translation id="1763108912552529023">Nastavi istraživati</translation>
 <translation id="1763808908432309942">Otvara se u novoj kartici</translation>
@@ -682,7 +683,6 @@
 <translation id="1981115145845865539">Automatski otključajte svoj <ph name="DEVICE_TYPE" /></translation>
 <translation id="1983959805486816857">Nakon što izradite novog nadziranog korisnika, možete upravljati postavkama u bilo kojem trenutku s bilo kojeg uređaja na adresi <ph name="MANAGEMENT_URL" />.</translation>
 <translation id="1984642098429648350">Usidri prozor udesno</translation>
-<translation id="1987139229093034863">Prebacite se na drugog korisnika.</translation>
 <translation id="1987317783729300807">Računi</translation>
 <translation id="1989112275319619282">Pregledaj</translation>
 <translation id="1992397118740194946">Nije postavljeno</translation>
@@ -823,6 +823,7 @@
 <translation id="2208158072373999562">Zip arhiva</translation>
 <translation id="220858061631308971">Unesite ovaj PIN kôd na uređaj "<ph name="DEVICE_NAME" />":</translation>
 <translation id="2209593327042758816">Stavka police 2.</translation>
+<translation id="2212126039311489237">Ispis pomoću dijaloškog okvira sustava</translation>
 <translation id="2217501013957346740">Izrada naziva –</translation>
 <translation id="2218019600945559112">Miš i dodirna podloga</translation>
 <translation id="2218320521449013367">Došlo je do pogreške dok je Chrome uklanjao štetni softver</translation>
@@ -935,6 +936,7 @@
 <translation id="2378075407703503998">Odabrane datoteke: <ph name="SELCTED_FILE_COUNT" /></translation>
 <translation id="237828693408258535">Želite li prevesti ovu stranicu?</translation>
 <translation id="2378982052244864789">Odaberi direktorij proširenja.</translation>
+<translation id="2379281330731083556">Ispis pomoću dijaloškog okvira sustava... <ph name="SHORTCUT_KEY" /></translation>
 <translation id="2381756643783702095">Pitanje prije slanja (preporučeno)</translation>
 <translation id="2384436799579181135">Došlo je do pogreške. Provjerite pisač i pokušajte opet.</translation>
 <translation id="2387458720915042159">Vrsta proxy veze</translation>
@@ -1114,6 +1116,7 @@
 <translation id="2653659639078652383">Pošalji</translation>
 <translation id="265390580714150011">Vrijednost polja</translation>
 <translation id="2654166010170466751">Dopusti web-lokacijama instalaciju rukovatelja plaćanjem</translation>
+<translation id="2656742821229528729">Povežite svoj Android telefon i Chromebook da biste mogli slati tekstne poruke s računala, dijeliti internetsku vezu i otključavati Chromebook pomoću telefona.<ph name="FOOTNOTE_POINTER" /> <ph name="LINK_BEGIN" />Saznajte više<ph name="LINK_END" /></translation>
 <translation id="2659381484350128933"><ph name="FOOTNOTE_POINTER" />Značajke se razlikuju ovisno o uređaju</translation>
 <translation id="2660779039299703961">Događaj</translation>
 <translation id="266079277508604648">Povezivanje s pisačem nije uspjelo. Provjerite je li pisač uključen i povezan s Chromebookom putem Wi-Fi mreže ili USB-a.</translation>
@@ -1418,6 +1421,7 @@
 <translation id="3115128645424181617">Telefon nije moguće pronaći. Provjerite je li vam pri ruci i je li uključen Bluetooth.</translation>
 <translation id="3115147772012638511">Čekanje predmemorije...</translation>
 <translation id="3118319026408854581"><ph name="PRODUCT_NAME" /> Pomoć</translation>
+<translation id="3119484583572640616">Ako uključite Better Together, ta će značajka moći:</translation>
 <translation id="3120430004221004537">Nedovoljna enkripcija za navedenu operaciju na uređaju: "<ph name="DEVICE_NAME" />".</translation>
 <translation id="3121793941267913344">Vraćanje uređaja <ph name="IDS_SHORT_PRODUCT_NAME" /> na zadano</translation>
 <translation id="3122464029669770682">Procesor (CPU)</translation>
@@ -1732,6 +1736,7 @@
 <translation id="3596235046596950091">Omogući usluge u oblaku</translation>
 <translation id="3599863153486145794">Briše povijest na svim uređajima na kojima ste prijavljeni. Na vašem Google računu možda postoje drugi oblici povijesti pregledavanja na stranici <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
 <translation id="3600792891314830896">Isključen je zvuk na web-lokacijama koje ga reproduciraju</translation>
+<translation id="360180734785106144">ponuditi nove značajke kad postanu dostupne</translation>
 <translation id="3602290021589620013">Pregled</translation>
 <translation id="3603533104205588786">Stranicu možete označiti klikom na zvjezdicu</translation>
 <translation id="3603622770190368340">Dobivanje certifikata mreže</translation>
@@ -2067,7 +2072,6 @@
 <translation id="4068506536726151626">Ova stranica sadrži elemente sa sljedećih web-lokacija koje prate vašu lokaciju:</translation>
 <translation id="4068776064906523561">Spremljeni otisci prstiju</translation>
 <translation id="407173827865827707">Na klik</translation>
-<translation id="4071770069230198275"><ph name="PROFILE_NAME" />: pogreška prijave</translation>
 <translation id="4074900173531346617">Certifikat potpisnika e-pošte</translation>
 <translation id="407520071244661467">Skaliranje</translation>
 <translation id="4075639477629295004">Nije moguće emitirati <ph name="FILE_NAME" />.</translation>
@@ -2869,6 +2873,7 @@
 <translation id="5332624210073556029">Vremenska zona:</translation>
 <translation id="5334142896108694079">Predmemorija skripte</translation>
 <translation id="5334844597069022743">Pogledaj izvor</translation>
+<translation id="5334899159203764908">Saznajte više o <ph name="BEGIN_LINK" />pristupu web-lokacijama<ph name="END_LINK" /></translation>
 <translation id="5335458522276292100">Sigurnosno kopiranje datoteka (ukupno) <ph name="FILE_COUNT" /> na <ph name="BEGIN_LINK" />Google disk<ph name="END_LINK" /></translation>
 <translation id="5336126339807372270">Onemogući svim web-lokacijama pristup USB uređajima</translation>
 <translation id="5337771866151525739">Instalirala treća strana.</translation>
@@ -2976,6 +2981,7 @@
 <translation id="5487521232677179737">Izbriši podatke</translation>
 <translation id="5488093641312826914">Kopirano: "<ph name="COPIED_ITEM_NAME" />"</translation>
 <translation id="5488468185303821006">Dopusti u anonimnom načinu</translation>
+<translation id="5489121514345187313">Vaš Chromebook funkcionira još bolje s vašim telefonom. <ph name="LINK_BEGIN" />Saznajte više<ph name="LINK_END" /></translation>
 <translation id="5489435190927933437">Spremljene zaporke za <ph name="DOMAIN" /></translation>
 <translation id="5491110079163012109">Slanje podataka o sustavu. Automatsko slanje dijagnostičkih podataka te podataka o upotrebi uređaja i aplikacija Googleu. Tu je postavku nametnuo vlasnik. Vlasnik može odlučiti hoće li se dijagnostički podaci te podaci o upotrebi uređaja slati Googleu. To možete vidjeti u postavkama. Ako ste uključili dodatnu Aktivnost na webu i u aplikacijama, ti će se podaci pohranjivati na vašem računu, pa možete upravljati njima na stranici Moja aktivnost. <ph name="BEGIN_LINK1" />Saznajte više<ph name="END_LINK1" /></translation>
 <translation id="5493792505296048976">zaslon uključen</translation>
@@ -3147,6 +3153,7 @@
 <translation id="5731409020711461763">1 nova fotografija</translation>
 <translation id="5734362860645681824">Komunikacije</translation>
 <translation id="5736796278325406685">Unesite važeće korisničko ime</translation>
+<translation id="5739235828260127894">Čeka se potvrda. <ph name="LINK_BEGIN" />Saznajte više<ph name="LINK_END" /></translation>
 <translation id="5739458112391494395">Vrlo velik</translation>
 <translation id="5740331643563157105"><ph name="LANGUAGE_1" />, <ph name="LANGUAGE_2" /> i još <ph name="NUM_ADDITIONAL_LANGUAGES" /></translation>
 <translation id="574209121243317957">Visina glasa</translation>
@@ -3250,6 +3257,7 @@
 <translation id="5870086504539785141">Zatvori izbornik pristupačnosti</translation>
 <translation id="5870155679953074650">Pogreške tvrdog diska</translation>
 <translation id="5877064549588274448">Kanal je promijenjen. Ponovo pokrenite uređaj za primjenu promjena.</translation>
+<translation id="5877584842898320529">Odabrani pisač nije dostupan ili nije ispravno instaliran. <ph name="BR" /> Provjerite pisač ili pokušajte odabrati neki drugi.</translation>
 <translation id="5880247576487732437">Oznaka je prisutna</translation>
 <translation id="5882919346125742463">Poznate mreže</translation>
 <translation id="5884474295213649357">Kartica je povezana s USB uređajem.</translation>
@@ -3316,6 +3324,7 @@
 <translation id="5979469435153841984">Da biste označili stranice, kliknite zvjezdicu u adresnoj traci</translation>
 <translation id="5982621672636444458">Opcije razvrstavanja</translation>
 <translation id="5984222099446776634">Nedavno posjećeno</translation>
+<translation id="5985458664595100876">Format URL-a nije važeći. Podržani su formati \\server\share i smb://server/share.</translation>
 <translation id="5990142338020175451">Više prilagođenih Googleovih usluga, na primjer bolji prijedlozi stranica</translation>
 <translation id="5990386583461751448">Prevedeno</translation>
 <translation id="5991049340509704927">Uvećanje</translation>
@@ -3344,6 +3353,7 @@
 <translation id="6026819612896463875"><ph name="WINDOW_TITLE" /> – USB uređaj povezan</translation>
 <translation id="6028117231645531007">Dodaj otisak prsta</translation>
 <translation id="6029027682598229313">Dovršena je instalacija Linuxa.</translation>
+<translation id="6029292188939175871">izbriši [<ph name="FINGERPRINT_NAME" />], gumb</translation>
 <translation id="6029587122245504742">Najsporije</translation>
 <translation id="6032912588568283682">Datotečni sustav</translation>
 <translation id="6034662038931255275">OS je uspješno ažuriran</translation>
@@ -3457,7 +3467,6 @@
 <translation id="6185132558746749656">Lokacija uređaja</translation>
 <translation id="6185617499004995178">CUPS IPP validator</translation>
 <translation id="6185696379715117369">Stranica prema gore</translation>
-<translation id="6189273858858366896">Postavite mrežno dijeljenje datoteka ili upravljajte njime.</translation>
 <translation id="6189412234224385711">Otvori proširenjem <ph name="EXTENSION_NAME" /></translation>
 <translation id="6196640612572343990">Blokiraj kolačiće trećih strana</translation>
 <translation id="6196854373336333322">Proširenje "<ph name="EXTENSION_NAME" />" preuzelo je kontrolu nad vašim postavkama proxyja, a to znači da može promijeniti, prekinuti ili prisluškivati sve što radite na mreži. Ako niste sigurni kako je došlo do te promjene, vjerojatno je ne želite.</translation>
@@ -3763,6 +3772,7 @@
 <translation id="6643016212128521049">Izbriši</translation>
 <translation id="6644512095122093795">Ponudi spremanje zaporki</translation>
 <translation id="6644846457769259194">Ažuriranje uređaja (<ph name="PROGRESS_PERCENT" />)</translation>
+<translation id="6645437135153136856">Odabrani uređaj Google Cloud Printa više nije podržan. <ph name="BR" /> Pokušajte postaviti pisač u postavkama sustava računala.</translation>
 <translation id="6647228709620733774">URL za opoziv tijela za izdavanje Netscape certifikata</translation>
 <translation id="6647838571840953560">Trenutačni kanal: <ph name="CHANNEL_NAME" /></translation>
 <translation id="6648051959475508072">Aktiviran je sigurnosni ključ...</translation>
@@ -3784,7 +3794,6 @@
 <translation id="667517062706956822">Želite li da Google prevede ovu stranicu (<ph name="SOURCE_LANGUAGE" /> – <ph name="TARGET_LANGUAGE" />)?</translation>
 <translation id="6675665718701918026">Pokazivački je uređaj povezan</translation>
 <translation id="6678717876183468697">URL upita</translation>
-<translation id="6680028776254050810">Promjena korisnika</translation>
 <translation id="6680442031740878064">Dostupno: <ph name="AVAILABLE_SPACE" /></translation>
 <translation id="6680650203439190394">Brzina</translation>
 <translation id="6681668084120808868">Snimite fotografiju</translation>
@@ -3793,7 +3802,6 @@
 <translation id="668599234725812620">Otvori Google Play</translation>
 <translation id="6686490380836145850">Zatvori kartice s desne strane</translation>
 <translation id="6686817083349815241">Spremite zaporku</translation>
-<translation id="6690565918367819723"><ph name="PROFILE_NAME" />: promijeni osobu</translation>
 <translation id="6690659332373509948">Nije moguće raščlaniti datoteku: <ph name="FILE_NAME" /></translation>
 <translation id="6690751852586194791">Odaberite zaštićenog korisnika kojeg ćete dodati na ovaj uređaj.</translation>
 <translation id="6691331417640343772">Upravljanje sinkroniziranim podacima na Google nadzornoj ploči</translation>
@@ -4130,6 +4138,7 @@
 <translation id="7201118060536064622">Izbrisana je stavka "<ph name="DELETED_ITEM_NAME" />"</translation>
 <translation id="7206693748120342859">Preuzimanje dodatka <ph name="PLUGIN_NAME" />...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Zatvori stranicu}one{Zatvori stranicu}few{Zatvori stranice}other{Zatvori stranica}}</translation>
+<translation id="7210499381659830293">Pisači proširenja</translation>
 <translation id="721467499098558573">Pritisnite i zadržite tipku na sigurnosnom ključu najmanje 5 sekundi</translation>
 <translation id="7216409898977639127">Davatelj mobilnih usluga</translation>
 <translation id="7216595297012131718">Poredajte jezike prema svojim preferencijama</translation>
@@ -4208,6 +4217,7 @@
 <translation id="7321545336522791733">Poslužitelj nije dostupan</translation>
 <translation id="7324297612904500502">Forum za beta verziju</translation>
 <translation id="7325437708553334317">Proširenje za visoki kontrast</translation>
+<translation id="7328162502911382168">(<ph name="COUNT" />)</translation>
 <translation id="7328867076235380839">Nevažeća kombinacija</translation>
 <translation id="7329154610228416156">Prijava nije uspjela jer je konfigurirana za upotrebu nesigurnog URL-a (<ph name="BLOCKED_URL" />). Obratite se administratoru.</translation>
 <translation id="7334190995941642545">Smart Lock trenutačno nije dostupan. Pokušajte ponovo kasnije.</translation>
@@ -4799,6 +4809,7 @@
 <translation id="8199300056570174101">Svojstva mreže (usluge) i uređaja</translation>
 <translation id="8200772114523450471">Nastavi</translation>
 <translation id="8202160505685531999">Ponovo unesite zaporku da biste ažurirali svoj profil na uređaju <ph name="DEVICE_TYPE" />.</translation>
+<translation id="8203732864715032075">Slanje obavijesti i vraćanje na postavku pamćenja ovog računala za Poruke. <ph name="LINK_BEGIN" />Saznajte više<ph name="LINK_END" /></translation>
 <translation id="8206354486702514201">Ovu postavku nametnuo je vaš administrator.</translation>
 <translation id="8206745257863499010">Bluesy</translation>
 <translation id="8209677645716428427">Nadzirani korisnik može istraživati web uz vaše vodstvo. Kao upravitelj nadziranog korisnika na pregledniku Chrome možete:</translation>
@@ -5111,7 +5122,6 @@
 <translation id="869884720829132584">Izbornik aplikacija</translation>
 <translation id="869891660844655955">Datum isteka</translation>
 <translation id="8699566574894671540">Da biste uključili tu postavku, prvo odaberite opciju Provjeravaj pravopis tijekom pisanja na izborniku Uređivanje</translation>
-<translation id="870073306461175568">Mrežno dijeljenje datoteka</translation>
 <translation id="8701677791353449257">Naziv uređaja mora se podudarati s regularnim izrazom <ph name="REGEX" />.</translation>
 <translation id="8704521619148782536">Ovo traje mnogo dulje nego što je to uobičajeno. Možete pričekati ili odustati pa pokušati ponovo.</translation>
 <translation id="8705331520020532516">Serijski broj</translation>
@@ -5296,7 +5306,6 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> – kartica se srušila</translation>
 <translation id="8983677657449185470">Pomozite poboljšati Sigurno pregledavanje</translation>
 <translation id="8984179138335769204">Brzo pokretanje</translation>
-<translation id="8984654317541110628">URL za dijeljenje datoteka</translation>
 <translation id="8986362086234534611">Zaboravi</translation>
 <translation id="8986494364107987395">Automatski šalji Googleu statistiku o upotrebi i izvješća o padu programa</translation>
 <translation id="8987927404178983737">Mjesec</translation>
diff --git a/chrome/app/resources/generated_resources_hu.xtb b/chrome/app/resources/generated_resources_hu.xtb
index 1daeeab..0dc3c10 100644
--- a/chrome/app/resources/generated_resources_hu.xtb
+++ b/chrome/app/resources/generated_resources_hu.xtb
@@ -275,6 +275,7 @@
 <translation id="1395730723686586365">A frissítő elindult</translation>
 <translation id="1396139853388185343">Hiba történt a nyomtató beállítása közben</translation>
 <translation id="1396963298126346194">A megadott felhasználónév és jelszó nem egyezik</translation>
+<translation id="1397500194120344683">Nincsenek használható eszközök. <ph name="LINK_BEGIN" />További információ<ph name="LINK_END" />.</translation>
 <translation id="1397854323885047133">Szinkronizálás és személyre szabás</translation>
 <translation id="1398853756734560583">Teljes méret</translation>
 <translation id="1399511500114202393">Felhasználói tanúsítvány nélkül</translation>
@@ -375,7 +376,6 @@
 <translation id="1531004739673299060">Alkalmazásablak</translation>
 <translation id="15373452373711364">Nagy egérmutató</translation>
 <translation id="1538729222189715449">Linux-fájlok megnyitása…</translation>
-<translation id="153933193410874873">Nem tudtuk ellenőrizni a személyazonosságát ezen az eszközön</translation>
 <translation id="1540605929960647700">Demó mód engedélyezése</translation>
 <translation id="1543284117603151572">Az Edge böngészőből importálva</translation>
 <translation id="1545177026077493356">Automatikus kioszk mód</translation>
@@ -529,6 +529,7 @@
 <translation id="175772926354468439">Téma engedélyezése</translation>
 <translation id="1758018619400202187">EAP-TLS</translation>
 <translation id="17584710573359123">Megtekintés a Chrome Internetes áruházban</translation>
+<translation id="176193854664720708">Az ujjlenyomat-érzékelő a bekapcsológombban található. Érintse meg finoman valamelyik ujjával.</translation>
 <translation id="1763046204212875858">Parancsikon létrehozása az alkalmazáshoz</translation>
 <translation id="1763108912552529023">A felfedezés folytatása</translation>
 <translation id="1763808908432309942">Új lapon nyílik meg</translation>
@@ -682,7 +683,6 @@
 <translation id="1981115145845865539">A(z) <ph name="DEVICE_TYPE" /> zárolásának automatikus feloldása</translation>
 <translation id="1983959805486816857">Új felügyelt felhasználó létrehozása után a következő címen kezelheti beállításait bármikor, bármilyen eszközről: <ph name="MANAGEMENT_URL" />.</translation>
 <translation id="1984642098429648350">Ablak rögzítése jobbra</translation>
-<translation id="1987139229093034863">Váltás egy másik felhasználóra.</translation>
 <translation id="1987317783729300807">Fiókok</translation>
 <translation id="1989112275319619282">Böngészés</translation>
 <translation id="1992397118740194946">Nincs beállítva</translation>
@@ -823,6 +823,7 @@
 <translation id="2208158072373999562">Zip-archívum</translation>
 <translation id="220858061631308971">Kérjük, adja meg a PIN kódot a(z) "<ph name="DEVICE_NAME" />" eszközhöz:</translation>
 <translation id="2209593327042758816">2. polcelem</translation>
+<translation id="2212126039311489237">Nyomtatás a rendszer párbeszédablakán keresztül</translation>
 <translation id="2217501013957346740">Név létrehozása –</translation>
 <translation id="2218019600945559112">Egér és érintőpad</translation>
 <translation id="2218320521449013367">Hiba történt, miközben a Chrome megpróbálta eltávolítani a kártékony szoftvert</translation>
@@ -935,6 +936,7 @@
 <translation id="2378075407703503998"><ph name="SELCTED_FILE_COUNT" /> fájl kiválasztva</translation>
 <translation id="237828693408258535">Szeretné kérni az oldal lefordítását?</translation>
 <translation id="2378982052244864789">A bővítmény könyvtárának kiválasztása.</translation>
+<translation id="2379281330731083556">Nyomtatás a rendszer párbeszédablakán keresztül... <ph name="SHORTCUT_KEY" /></translation>
 <translation id="2381756643783702095">Kérdezzen rá küldés előtt (ajánlott)</translation>
 <translation id="2384436799579181135">Hiba történt. Ellenőrizze a nyomtatót, majd próbálja újra.</translation>
 <translation id="2387458720915042159">Proxykapcsolat típusa</translation>
@@ -1115,6 +1117,7 @@
 <translation id="2653659639078652383">Elküldés</translation>
 <translation id="265390580714150011">Mező értéke</translation>
 <translation id="2654166010170466751">Fizetéskezelők telepítésének engedélyezése a webhelyek számára</translation>
+<translation id="2656742821229528729">Csatlakoztassa Android-telefonját és Chromebookját, hogy üzenetet küldhessen számítógépéről, megoszthassa az internetkapcsolatot, és feloldhassa a Chromebookot a telefonnal.<ph name="FOOTNOTE_POINTER" /> <ph name="LINK_BEGIN" />További információ<ph name="LINK_END" />.</translation>
 <translation id="2659381484350128933"><ph name="FOOTNOTE_POINTER" />A funkciók eszköztől függően eltérők lehetnek</translation>
 <translation id="2660779039299703961">Esemény</translation>
 <translation id="266079277508604648">Nem sikerült csatlakozni a nyomtatóhoz. Ellenőrizze, hogy be van-e kapcsolva a nyomtató, és hogy csatlakozik-e a Chromebookhoz Wi-Fi-n vagy USB-n keresztül.</translation>
@@ -1419,6 +1422,7 @@
 <translation id="3115128645424181617">A telefon nem található. Győződjön meg arról, hogy kéznél van, és hogy a Bluetooth be van kapcsolva.</translation>
 <translation id="3115147772012638511">Betöltés a gyorsítótárból folyamatban...</translation>
 <translation id="3118319026408854581"><ph name="PRODUCT_NAME" /> Súgó</translation>
+<translation id="3119484583572640616">A Better Together bekapcsolásának előnyei:</translation>
 <translation id="3120430004221004537">Elégtelen titkosítás egy adott művelet esetében a következőn: „<ph name="DEVICE_NAME" />”.</translation>
 <translation id="3121793941267913344">A(z) <ph name="IDS_SHORT_PRODUCT_NAME" /> eszköz visszaállítása</translation>
 <translation id="3122464029669770682">CPU</translation>
@@ -1733,6 +1737,7 @@
 <translation id="3596235046596950091">Felhőszolgáltatások engedélyezése</translation>
 <translation id="3599863153486145794">Törli az előzményeket valamennyi bejelentkezett eszközről. Előfordulhat, hogy a böngészési előzmények más formái még megtalálhatók Google-fiókjában a <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> webhelyen.</translation>
 <translation id="3600792891314830896">Elnémítja a hangot lejátszó webhelyeket</translation>
+<translation id="360180734785106144">Értesítés az újonnan hozzáférhetővé vált funkciókról</translation>
 <translation id="3602290021589620013">Előnézet</translation>
 <translation id="3603533104205588786">Az oldalt úgy is hozzáadhatja a könyvjelzőkhöz, hogy a csillagra kattint</translation>
 <translation id="3603622770190368340">Hálózati tanúsítvány beszerzése</translation>
@@ -2067,7 +2072,6 @@
 <translation id="4068506536726151626">Ezen az oldalon olyan elemek vannak webhelyekről, amelyek figyelik a tartózkodási helyét:</translation>
 <translation id="4068776064906523561">Mentett ujjlenyomatok</translation>
 <translation id="407173827865827707">Kattintásra</translation>
-<translation id="4071770069230198275"><ph name="PROFILE_NAME" />: bejelentkezési hiba</translation>
 <translation id="4074900173531346617">E-mail aláíró tanúsítvány</translation>
 <translation id="407520071244661467">Átméretezés</translation>
 <translation id="4075639477629295004">Nem lehet átküldeni a következőt: <ph name="FILE_NAME" />.</translation>
@@ -2870,6 +2874,7 @@
 <translation id="5332624210073556029">Időzóna:</translation>
 <translation id="5334142896108694079">Szkript gyorsítótár</translation>
 <translation id="5334844597069022743">Forráskód megtekintése</translation>
+<translation id="5334899159203764908">További információ a <ph name="BEGIN_LINK" />webhelyekhez való hozzáférésről<ph name="END_LINK" /></translation>
 <translation id="5335458522276292100"><ph name="FILE_COUNT" /> biztonsági mentése a <ph name="BEGIN_LINK" />Google Drive-ra<ph name="END_LINK" /></translation>
 <translation id="5336126339807372270">Egyik webhely sem férhet hozzá az USB-eszközökhöz</translation>
 <translation id="5337771866151525739">Harmadik fél telepítette.</translation>
@@ -2977,6 +2982,7 @@
 <translation id="5487521232677179737">Adatok törlése</translation>
 <translation id="5488093641312826914">„<ph name="COPIED_ITEM_NAME" />” másolva</translation>
 <translation id="5488468185303821006">Engedélyezés inkognitó módban</translation>
+<translation id="5489121514345187313">A Chromebook még jobban működik, ha csatlakoztatja telefonjához. <ph name="LINK_BEGIN" />További információ<ph name="LINK_END" />.</translation>
 <translation id="5489435190927933437">A(z) <ph name="DOMAIN" /> mentett jelszavai</translation>
 <translation id="5491110079163012109">Rendszeradatok küldése. Diagnosztikai, továbbá eszköz- és alkalmazáshasználati adatok automatikus küldése a Google-nak. Ezt a beállítást kötelezővé tette a tulajdonos. A tulajdonos dönthet úgy, hogy elküldi az eszközzel kapcsolatos diagnosztikai és használati adatokat a Google-nak. Ezt a beállításokban tekintheti meg. Ha bekapcsolta a további Internetes és alkalmazástevékenységeket, akkor a rendszer tárolja ezeket az információkat a fiókjában, Ön pedig kezelheti őket a Saját tevékenységek között. <ph name="BEGIN_LINK1" />További információ<ph name="END_LINK1" />.</translation>
 <translation id="5493792505296048976">képernyő bekapcsolva</translation>
@@ -3149,6 +3155,7 @@
 <translation id="5731409020711461763">1 új fotó</translation>
 <translation id="5734362860645681824">Kommunikáció</translation>
 <translation id="5736796278325406685">Érvényes felhasználónevet adjon meg</translation>
+<translation id="5739235828260127894">Várakozás az ellenőrzésre. <ph name="LINK_BEGIN" />További információ<ph name="LINK_END" />.</translation>
 <translation id="5739458112391494395">Nagyon nagy</translation>
 <translation id="5740331643563157105"><ph name="LANGUAGE_1" />, <ph name="LANGUAGE_2" /> és <ph name="NUM_ADDITIONAL_LANGUAGES" /> további</translation>
 <translation id="574209121243317957">Hangmagasság</translation>
@@ -3252,6 +3259,7 @@
 <translation id="5870086504539785141">A kisegítő lehetőségek menüjének bezárása</translation>
 <translation id="5870155679953074650">Súlyos hibák</translation>
 <translation id="5877064549588274448">Módosult a csatorna. Indítsa újra az eszközt a módosítások alkalmazásához.</translation>
+<translation id="5877584842898320529">A kiválasztott nyomtató nem áll rendelkezésre, vagy nincs megfelelően telepítve. <ph name="BR" /> Ellenőrizze a nyomtatót, vagy válasszon másikat.</translation>
 <translation id="5880247576487732437">Token található</translation>
 <translation id="5882919346125742463">Ismert hálózatok</translation>
 <translation id="5884474295213649357">Ez a lap USB-eszközhöz csatlakozik.</translation>
@@ -3318,9 +3326,12 @@
 <translation id="5979469435153841984">Ha szeretné felvenni valamelyik weboldalt a könyvjelzők közé, kattintson a címsávban található csillag ikonra.</translation>
 <translation id="5982621672636444458">Rendezési beállítások</translation>
 <translation id="5984222099446776634">Legutóbb látogatott</translation>
+<translation id="5985458664595100876">Érvénytelen URL-formátum. A támogatott formátumok: \\server\share és smb://server/share.</translation>
+<translation id="5990142338020175451">Személyre szabottabb Google-szolgáltatások, például jobb oldaljavaslatok</translation>
 <translation id="5990386583461751448">Fordítás</translation>
 <translation id="5991049340509704927">Nagyítás</translation>
 <translation id="599131315899248751">{NUM_APPLICATIONS,plural, =1{Annak érdekében, hogy biztosan tudjon böngészni az interneten, kérje meg rendszergazdáját az alkalmazás eltávolítására.}other{Annak érdekében, hogy biztosan tudjon böngészni az interneten, kérje meg rendszergazdáját az alkalmazások eltávolítására.}}</translation>
+<translation id="5997337190805127100">További információ a webhelyekhez való hozzáférésről</translation>
 <translation id="6002458620803359783">Előnyben részesített hangok</translation>
 <translation id="6005695835120147974">Adathordozó router</translation>
 <translation id="6006484371116297560">Klasszikus</translation>
@@ -3344,6 +3355,7 @@
 <translation id="6026819612896463875"><ph name="WINDOW_TITLE" /> – USB-eszköz csatlakoztatva</translation>
 <translation id="6028117231645531007">Ujjlenyomat hozzáadása</translation>
 <translation id="6029027682598229313">Sikeresen befejeződött a Linux telepítése.</translation>
+<translation id="6029292188939175871">[<ph name="FINGERPRINT_NAME" />] törlése, gomb</translation>
 <translation id="6029587122245504742">Leglassabb</translation>
 <translation id="6032912588568283682">Fájlrendszer</translation>
 <translation id="6034662038931255275">Az operációs rendszer frissítése sikerült</translation>
@@ -3457,7 +3469,6 @@
 <translation id="6185132558746749656">Eszközhely</translation>
 <translation id="6185617499004995178">CUPS IPP-érvényesítő</translation>
 <translation id="6185696379715117369">Lapozás felfelé</translation>
-<translation id="6189273858858366896">Hálózati fájlmegosztások beállítása, illetve kezelése.</translation>
 <translation id="6189412234224385711">Megnyitás a következővel: <ph name="EXTENSION_NAME" /></translation>
 <translation id="6196640612572343990">Harmadik féltől származó cookie-k letiltása</translation>
 <translation id="6196854373336333322">A(z) <ph name="EXTENSION_NAME" /> bővítmény átvette az irányítást proxybeállításai felett, ami azt jelenti, hogy a bővítmény minden internetes tevékenységét módosíthatja, feltörheti vagy lehallgathatja. Ha nem biztos benne, hogy miért történt a változás, akkor valószínűleg nem is akarja azt.</translation>
@@ -3763,6 +3774,7 @@
 <translation id="6643016212128521049">Törlés</translation>
 <translation id="6644512095122093795">Jelszavak mentésének felajánlása</translation>
 <translation id="6644846457769259194">Eszköz frissítése (<ph name="PROGRESS_PERCENT" />)</translation>
+<translation id="6645437135153136856">A kiválasztott Google Cloud Print-eszköz már nem támogatott. <ph name="BR" /> Próbálkozzon a nyomtató beállításával a számítógép rendszerbeállításaiban.</translation>
 <translation id="6647228709620733774">Netscape tanúsítványkibocsátó -- visszavonási URL</translation>
 <translation id="6647838571840953560">Jelenleg a(z) <ph name="CHANNEL_NAME" /> csatornán</translation>
 <translation id="6648051959475508072">Biztonsági hardverkulcs aktiválva…</translation>
@@ -3784,7 +3796,6 @@
 <translation id="667517062706956822">Szeretné, hogy a Google lefordítsa az oldalt <ph name="SOURCE_LANGUAGE" /> nyelvről <ph name="TARGET_LANGUAGE" /> nyelvre?</translation>
 <translation id="6675665718701918026">Mutatóeszköz csatlakoztatva</translation>
 <translation id="6678717876183468697">Lekérdezés URL-je</translation>
-<translation id="6680028776254050810">Felhasználóváltás</translation>
 <translation id="6680442031740878064">Rendelkezésre álló tárhely: <ph name="AVAILABLE_SPACE" /></translation>
 <translation id="6680650203439190394">Értékelés</translation>
 <translation id="6681668084120808868">Fényképkészítés</translation>
@@ -3793,7 +3804,6 @@
 <translation id="668599234725812620">A Google Play megnyitása</translation>
 <translation id="6686490380836145850">Jobbra lévő lapok bezárása</translation>
 <translation id="6686817083349815241">Jelszó mentése</translation>
-<translation id="6690565918367819723"><ph name="PROFILE_NAME" /> – felhasználóváltás</translation>
 <translation id="6690659332373509948">Nem sikerült a fájl szintaktikai elemzése: <ph name="FILE_NAME" /></translation>
 <translation id="6690751852586194791">Válasszon egy felügyelt felhasználót, akit hozzá szeretne adni az eszközhöz.</translation>
 <translation id="6691331417640343772">Szinkronizált adatok kezelése a Google Irányítópulton</translation>
@@ -4017,6 +4027,7 @@
 <translation id="7040230719604914234">Szolgáltató</translation>
 <translation id="7042418530779813870">Beille&amp;sztés és keresés</translation>
 <translation id="7043108582968290193">Kész! Nincs több nem kompatibilis alkalmazás.</translation>
+<translation id="7044124535091449260">További információ a webhelyekhez való hozzáférésről</translation>
 <translation id="7049293980323620022">Megtartja a fájlt?</translation>
 <translation id="7051943809462976355">Egér keresése…</translation>
 <translation id="7052237160939977163">Teljesítménykövetési adatok elküldése</translation>
@@ -4129,6 +4140,7 @@
 <translation id="7201118060536064622">„<ph name="DELETED_ITEM_NAME" />” törölve</translation>
 <translation id="7206693748120342859">A(z) <ph name="PLUGIN_NAME" /> plug-in letöltése...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Oldal elhagyása}other{Oldalak elhagyása}}</translation>
+<translation id="7210499381659830293">Bővítményalapú nyomtatók</translation>
 <translation id="721467499098558573">Tartsa nyomva a biztonsági hardverkulcson található gombot legalább 5 másodpercig</translation>
 <translation id="7216409898977639127">Mobilszolgáltató</translation>
 <translation id="7216595297012131718">A nyelveket tetszés szerint rendezheti</translation>
@@ -4207,6 +4219,7 @@
 <translation id="7321545336522791733">A szerver nem áll rendelkezésre</translation>
 <translation id="7324297612904500502">Béta fórum</translation>
 <translation id="7325437708553334317">Kontrasztos megjelenítés bővítmény</translation>
+<translation id="7328162502911382168">(<ph name="COUNT" />)</translation>
 <translation id="7328867076235380839">Érvénytelen kombináció</translation>
 <translation id="7329154610228416156">A bejelentkezés nem sikerült, mert azt egy nem biztonságos URL használatára állították be (<ph name="BLOCKED_URL" />). Kérjük, forduljon rendszergazdájához.</translation>
 <translation id="7334190995941642545">A Smart Lock jelenleg nem áll rendelkezésre. Próbálja újra később.</translation>
@@ -4798,6 +4811,7 @@
 <translation id="8199300056570174101">Hálózati (szolgáltatási) és eszköztulajdonságok</translation>
 <translation id="8200772114523450471">Folytatás</translation>
 <translation id="8202160505685531999"><ph name="DEVICE_TYPE" />-profilja frissítéséhez adja meg újra jelszavát.</translation>
+<translation id="8203732864715032075">Értesítések küldése, valamint a számítógép alapértelmezettként való megjegyzése a Messages alkalmazásban. <ph name="LINK_BEGIN" />További információ<ph name="LINK_END" />.</translation>
 <translation id="8206354486702514201">Ezt a beállítást rendszergazdája lépteti életbe.</translation>
 <translation id="8206745257863499010">Énekes</translation>
 <translation id="8209677645716428427">A felügyelt felhasználó az Ön engedélyei szerint böngészhet az interneten. A Chrome felügyelt felhasználójának feletteseként Ön a következőket teheti:</translation>
@@ -5109,7 +5123,6 @@
 <translation id="869884720829132584">Alkalmazások menü</translation>
 <translation id="869891660844655955">Lejárati dátum</translation>
 <translation id="8699566574894671540">Ennek bekapcsolásához először engedélyezze a „Helyesírás-ellenőrzés gépelés közben” funkciót a Szerkesztés menüben</translation>
-<translation id="870073306461175568">Hálózati fájlmegosztások</translation>
 <translation id="8701677791353449257">Az eszköznévnek meg kell felelnie a következő reguláris kifejezésnek: <ph name="REGEX" />.</translation>
 <translation id="8704521619148782536">A folyamat a szokásosnál jóval tovább tart. Várakozhat, vagy megszakíthatja a folyamatot, és később ismét próbálkozhat.</translation>
 <translation id="8705331520020532516">Sorozatszám</translation>
@@ -5294,7 +5307,6 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> – Összeomlott</translation>
 <translation id="8983677657449185470">Segítség a Biztonságos Böngészés továbbfejlesztésében</translation>
 <translation id="8984179138335769204">Gyorsindítás</translation>
-<translation id="8984654317541110628">Fájlmegosztás URL-címe</translation>
 <translation id="8986362086234534611">Elfelejt</translation>
 <translation id="8986494364107987395">Használati statisztikák és hibajelentések automatikus küldése a Google-nak</translation>
 <translation id="8987927404178983737">hónap</translation>
diff --git a/chrome/app/resources/generated_resources_id.xtb b/chrome/app/resources/generated_resources_id.xtb
index 3a83b0d9..fc1d1c3 100644
--- a/chrome/app/resources/generated_resources_id.xtb
+++ b/chrome/app/resources/generated_resources_id.xtb
@@ -275,6 +275,7 @@
 <translation id="1395730723686586365">Updater dimulai</translation>
 <translation id="1396139853388185343">Terjadi error saat menyiapkan printer</translation>
 <translation id="1396963298126346194">Nama pengguna dan sandi yang Anda masukkan tidak cocok</translation>
+<translation id="1397500194120344683">Tidak ada perangkat yang memenuhi syarat. <ph name="LINK_BEGIN" />Pelajari lebih lanjut<ph name="LINK_END" /></translation>
 <translation id="1397854323885047133">Sinkronisasi dan personalisasi</translation>
 <translation id="1398853756734560583">Perbesar</translation>
 <translation id="1399511500114202393">Tidak ada sertifikat pengguna</translation>
@@ -375,7 +376,6 @@
 <translation id="1531004739673299060">Jendela Aplikasi</translation>
 <translation id="15373452373711364">Kursor mouse besar</translation>
 <translation id="1538729222189715449">Membuka file Linux...</translation>
-<translation id="153933193410874873">Kami tidak dapat memverifikasi identitas Anda di perangkat ini</translation>
 <translation id="1540605929960647700">Aktifkan mode demo</translation>
 <translation id="1543284117603151572">Diimpor Dari Edge</translation>
 <translation id="1545177026077493356">Mode Kios Otomatis</translation>
@@ -475,7 +475,7 @@
 <translation id="1673103856845176271">File tidak dapat diakses karena alasan keamanan.</translation>
 <translation id="1673137583248014546"><ph name="URL" /> ingin melihat merek dan model Kunci Keamanan Anda</translation>
 <translation id="167832068858235403">kecilkan vol.</translation>
-<translation id="1679068421605151609">Alat Pengembang</translation>
+<translation id="1679068421605151609">Developer Tools</translation>
 <translation id="1680849702532889074">Terjadi error saat menginstal aplikasi Linux.</translation>
 <translation id="16815041330799488">Jangan izinkan situs melihat teks dan gambar yang disalin ke papan klip</translation>
 <translation id="1682548588986054654">Jendela Samaran Baru</translation>
@@ -529,6 +529,7 @@
 <translation id="175772926354468439">Aktifkan tema</translation>
 <translation id="1758018619400202187">EAP-TLS</translation>
 <translation id="17584710573359123">Lihat di Chrome Web Store</translation>
+<translation id="176193854664720708">Sensor sidik jari ada di tombol power. Sentuh sensor menggunakan jari apa pun.</translation>
 <translation id="1763046204212875858">Buat pintasan aplikasi</translation>
 <translation id="1763108912552529023">Terus menjelajah</translation>
 <translation id="1763808908432309942">Membuka di tab baru</translation>
@@ -682,7 +683,6 @@
 <translation id="1981115145845865539">Membuka <ph name="DEVICE_TYPE" /> Anda secara otomatis</translation>
 <translation id="1983959805486816857">Setelah Anda membuat pengguna baru yang diawasi, Anda dapat mengelola setelannya kapan pun dari perangkat mana pun di <ph name="MANAGEMENT_URL" />.</translation>
 <translation id="1984642098429648350">Galangkan jendela ke kanan</translation>
-<translation id="1987139229093034863">Beralih ke pengguna lain.</translation>
 <translation id="1987317783729300807">Akun</translation>
 <translation id="1989112275319619282">Jelajahi</translation>
 <translation id="1992397118740194946">Belum disetel</translation>
@@ -823,6 +823,7 @@
 <translation id="2208158072373999562">Arsip Zip</translation>
 <translation id="220858061631308971">Masukkan kode PIN ini ke "<ph name="DEVICE_NAME" />":</translation>
 <translation id="2209593327042758816">Item rak 2</translation>
+<translation id="2212126039311489237">Cetak menggunakan dialog sistem</translation>
 <translation id="2217501013957346740">Buat nama -</translation>
 <translation id="2218019600945559112">Mouse dan touchpad</translation>
 <translation id="2218320521449013367">Terjadi error saat Chrome menghapus software berbahaya</translation>
@@ -935,6 +936,7 @@
 <translation id="2378075407703503998"><ph name="SELCTED_FILE_COUNT" /> file dipilih</translation>
 <translation id="237828693408258535">Terjemahkan halaman ini?</translation>
 <translation id="2378982052244864789">Pilih direktori ekstensi.</translation>
+<translation id="2379281330731083556">Cetak menggunakan dialog sistem... <ph name="SHORTCUT_KEY" /></translation>
 <translation id="2381756643783702095">Tanyakan sebelum mengirim (disarankan)</translation>
 <translation id="2384436799579181135">Terjadi error. Harap periksa printer Anda dan coba lagi.</translation>
 <translation id="2387458720915042159">Jenis sambungan proxy</translation>
@@ -1114,6 +1116,7 @@
 <translation id="2653659639078652383">Kirim</translation>
 <translation id="265390580714150011">Nilai Bidang</translation>
 <translation id="2654166010170466751">Izinkan situs menginstal penangan pembayaran</translation>
+<translation id="2656742821229528729">Sambungkan ponsel Android dan Chromebook untuk mengirim SMS dari komputer, berbagi sambungan internet, dan membuka kunci Chromebook dengan ponsel.<ph name="FOOTNOTE_POINTER" /> <ph name="LINK_BEGIN" />Pelajari lebih lanjut<ph name="LINK_END" /></translation>
 <translation id="2659381484350128933"><ph name="FOOTNOTE_POINTER" />Fitur berbeda menurut perangkat</translation>
 <translation id="2660779039299703961">Acara</translation>
 <translation id="266079277508604648">Tidak dapat terhubung ke printer. Harap periksa apakah printer sudah diaktifkan dan terhubung ke Chromebook dengan Wi-Fi atau USB.</translation>
@@ -1418,6 +1421,7 @@
 <translation id="3115128645424181617">Ponsel tidak dapat ditemukan. Pastikan ponsel ada dalam jangkauan dan Bluetooth diaktifkan.</translation>
 <translation id="3115147772012638511">Menunggu cache...</translation>
 <translation id="3118319026408854581">Bantuan <ph name="PRODUCT_NAME" /></translation>
+<translation id="3119484583572640616">Mengaktifkan Better Together berarti dapat:</translation>
 <translation id="3120430004221004537">Enkripsi tidak mencukupi untuk operasi yang diberikan di: "<ph name="DEVICE_NAME" />".</translation>
 <translation id="3121793941267913344">Setel ulang perangkat <ph name="IDS_SHORT_PRODUCT_NAME" /> ini</translation>
 <translation id="3122464029669770682">CPU</translation>
@@ -1732,6 +1736,7 @@
 <translation id="3596235046596950091">Aktifkan layanan awan</translation>
 <translation id="3599863153486145794">Menghapus histori dari semua perangkat yang dibuat login. Akun Google Anda mungkin memiliki bentuk histori browsing lain di <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
 <translation id="3600792891314830896">Mematikan suara situs yang memutar suara</translation>
+<translation id="360180734785106144">Menawarkan fitur baru setelah tersedia</translation>
 <translation id="3602290021589620013">Pratinjau</translation>
 <translation id="3603533104205588786">Anda dapat mengklik bintang untuk mem-bookmark halaman</translation>
 <translation id="3603622770190368340">Mendapatkan sertifikat jaringan</translation>
@@ -2067,7 +2072,6 @@
 <translation id="4068506536726151626">Halaman ini berisi elemen dari situs berikut yang melacak lokasi Anda:</translation>
 <translation id="4068776064906523561">Sidik jari yang disimpan</translation>
 <translation id="407173827865827707">Saat diklik</translation>
-<translation id="4071770069230198275"><ph name="PROFILE_NAME" />: kesalahan saat masuk</translation>
 <translation id="4074900173531346617">Sertifikat Penandatangan Email</translation>
 <translation id="407520071244661467">Skala</translation>
 <translation id="4075639477629295004">Tidak dapat mentransmisikan <ph name="FILE_NAME" />.</translation>
@@ -2869,6 +2873,7 @@
 <translation id="5332624210073556029">Zona waktu:</translation>
 <translation id="5334142896108694079">Cache Skrip</translation>
 <translation id="5334844597069022743">Lihat sumber</translation>
+<translation id="5334899159203764908">Pelajari lebih lanjut tentang <ph name="BEGIN_LINK" />akses situs<ph name="END_LINK" /></translation>
 <translation id="5335458522276292100">Mem-backup <ph name="FILE_COUNT" /> ke <ph name="BEGIN_LINK" />Google Drive<ph name="END_LINK" /></translation>
 <translation id="5336126339807372270">Jangan izinkan situs apa pun mengakses perangkat USB</translation>
 <translation id="5337771866151525739">Dipasang oleh pihak ketiga.</translation>
@@ -2976,6 +2981,7 @@
 <translation id="5487521232677179737">Hapus data</translation>
 <translation id="5488093641312826914">'<ph name="COPIED_ITEM_NAME" />' disalin</translation>
 <translation id="5488468185303821006">Izinkan dalam mode penyamaran</translation>
+<translation id="5489121514345187313">Chromebook berfungsi lebih baik dengan ponsel. <ph name="LINK_BEGIN" />Pelajari lebih lanjut<ph name="LINK_END" /></translation>
 <translation id="5489435190927933437">Sandi yang tersimpan untuk <ph name="DOMAIN" /></translation>
 <translation id="5491110079163012109">Kirim data sistem. Kirim data penggunaan perangkat dan aplikasi serta diagnostik secara otomatis ke Google. Setelan ini diterapkan oleh pemilik. Pemilik dapat memilih untuk mengirim data diagnostik dan penggunaan data untuk perangkat ini ke Google. Anda dapat melihat opsi ini di setelan. Jika Anda mengaktifkan Aktivitas Web &amp; Aplikasi tambahan, informasi ini akan disimpan dalam akun sehingga Anda dapat mengelolanya di Aktivitas Saya. <ph name="BEGIN_LINK1" />Pelajari Lebih Lanjut<ph name="END_LINK1" /></translation>
 <translation id="5493792505296048976">layar aktif</translation>
@@ -3147,6 +3153,7 @@
 <translation id="5731409020711461763">1 foto baru</translation>
 <translation id="5734362860645681824">Komunikasi</translation>
 <translation id="5736796278325406685">Masukkan nama pengguna yang valid</translation>
+<translation id="5739235828260127894">Menunggu verifikasi. <ph name="LINK_BEGIN" />Pelajari lebih lanjut<ph name="LINK_END" /></translation>
 <translation id="5739458112391494395">Sangat besar</translation>
 <translation id="5740331643563157105"><ph name="LANGUAGE_1" />, <ph name="LANGUAGE_2" />, dan <ph name="NUM_ADDITIONAL_LANGUAGES" /> lainnya</translation>
 <translation id="574209121243317957">Tinggi nada</translation>
@@ -3250,6 +3257,7 @@
 <translation id="5870086504539785141">Close accessibility menu (Tutup menu aksesibilitas)</translation>
 <translation id="5870155679953074650">Hard fault</translation>
 <translation id="5877064549588274448">Saluran diubah. Mulai ulang perangkat Anda untuk menerapkan perubahan.</translation>
+<translation id="5877584842898320529">Printer yang dipilih tidak tersedia atau tidak terinstal dengan benar. <ph name="BR" /> Periksa printer atau coba pilih printer lain.</translation>
 <translation id="5880247576487732437">Token Tersedia</translation>
 <translation id="5882919346125742463">Jaringan yang Dikenal</translation>
 <translation id="5884474295213649357">Tab ini terhubung dengan perangkat USB.</translation>
@@ -3316,6 +3324,7 @@
 <translation id="5979469435153841984">Untuk mem-bookmark halaman, klik ikon bintang di kolom URL</translation>
 <translation id="5982621672636444458">Sortir opsi</translation>
 <translation id="5984222099446776634">Barusan Dikunjungi</translation>
+<translation id="5985458664595100876">Format URL tidak valid. Format yang didukung adalah \\server\share dan smb://server/share.</translation>
 <translation id="5990142338020175451">Layanan Google yang lebih personal, seperti saran halaman yang lebih baik</translation>
 <translation id="5990386583461751448">Diterjemahkan</translation>
 <translation id="5991049340509704927">Memperbesar</translation>
@@ -3344,6 +3353,7 @@
 <translation id="6026819612896463875"><ph name="WINDOW_TITLE" /> - Perangkat USB tersambung</translation>
 <translation id="6028117231645531007">Tambahkan sidik jari</translation>
 <translation id="6029027682598229313">Penginstalan Linux selesai.</translation>
+<translation id="6029292188939175871">tombol hapus [<ph name="FINGERPRINT_NAME" />]</translation>
 <translation id="6029587122245504742">Paling lambat</translation>
 <translation id="6032912588568283682">Sistem file</translation>
 <translation id="6034662038931255275">Update OS berhasil</translation>
@@ -3457,7 +3467,6 @@
 <translation id="6185132558746749656">Lokasi Perangkat</translation>
 <translation id="6185617499004995178">Validator IPP CUPS</translation>
 <translation id="6185696379715117369">Page up</translation>
-<translation id="6189273858858366896">Siapkan atau kelola Berbagi File Jaringan.</translation>
 <translation id="6189412234224385711">Buka dengan <ph name="EXTENSION_NAME" /></translation>
 <translation id="6196640612572343990">Blokir cookie pihak ketiga</translation>
 <translation id="6196854373336333322">Ekstensi "<ph name="EXTENSION_NAME" />" telah mengambil alih kontrol setelan proxy Anda, yang berarti ekstensi dapat mengubah, merusak, atau menyadap apa pun yang Anda lakukan secara online. Jika tidak yakin mengapa perubahan ini terjadi, mungkin Anda tidak menginginkannya.</translation>
@@ -3763,6 +3772,7 @@
 <translation id="6643016212128521049">Hapus</translation>
 <translation id="6644512095122093795">Tawarkan untuk menyimpan sandi</translation>
 <translation id="6644846457769259194">Memperbarui perangkat (<ph name="PROGRESS_PERCENT" />)</translation>
+<translation id="6645437135153136856">Perangkat Google Cloud Print yang dipilih tidak didukung lagi. <ph name="BR" /> Coba siapkan printer di setelan sistem komputer.</translation>
 <translation id="6647228709620733774">URL Kebijakan Otoritas Sertifikasi Netscape</translation>
 <translation id="6647838571840953560">Saat ini di <ph name="CHANNEL_NAME" /></translation>
 <translation id="6648051959475508072">Kunci keamanan diaktifkan...</translation>
@@ -3784,7 +3794,6 @@
 <translation id="667517062706956822">Ingin Google menerjemahkan halaman ini dari <ph name="SOURCE_LANGUAGE" /> ke <ph name="TARGET_LANGUAGE" />?</translation>
 <translation id="6675665718701918026">Perangkat penunjuk telah tersambung</translation>
 <translation id="6678717876183468697">URL Kueri</translation>
-<translation id="6680028776254050810">Alihkan Pengguna</translation>
 <translation id="6680442031740878064">Tersedia: <ph name="AVAILABLE_SPACE" /></translation>
 <translation id="6680650203439190394">Beri nilai</translation>
 <translation id="6681668084120808868">Ambil foto</translation>
@@ -3793,7 +3802,6 @@
 <translation id="668599234725812620">Buka Google Play</translation>
 <translation id="6686490380836145850">Tutup tab di sisi kanan</translation>
 <translation id="6686817083349815241">Simpan sandi Anda</translation>
-<translation id="6690565918367819723"><ph name="PROFILE_NAME" /> Beralih orang</translation>
 <translation id="6690659332373509948">Tidak dapat mengurai file: <ph name="FILE_NAME" /></translation>
 <translation id="6690751852586194791">Pilih pengguna yang dilindungi untuk ditambahkan ke perangkat ini.</translation>
 <translation id="6691331417640343772">Kelola data yang disinkronkan pada Google Dasbor</translation>
@@ -4130,6 +4138,7 @@
 <translation id="7201118060536064622">'<ph name="DELETED_ITEM_NAME" />' dihapus</translation>
 <translation id="7206693748120342859">Mendownload <ph name="PLUGIN_NAME" />...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Keluar dari halaman}other{Keluar dari halaman}}</translation>
+<translation id="7210499381659830293">Printer ekstensi</translation>
 <translation id="721467499098558573">Tekan dan tahan tombol di kunci keamanan minimal selama 5 detik</translation>
 <translation id="7216409898977639127">Operator seluler</translation>
 <translation id="7216595297012131718">Urutkan bahasa berdasarkan preferensi Anda</translation>
@@ -4208,6 +4217,7 @@
 <translation id="7321545336522791733">Server tidak dapat dijangkau</translation>
 <translation id="7324297612904500502">Forum Beta</translation>
 <translation id="7325437708553334317">Ekstensi Kontras Tinggi</translation>
+<translation id="7328162502911382168">(<ph name="COUNT" />)</translation>
 <translation id="7328867076235380839">Kombinasi tidak valid</translation>
 <translation id="7329154610228416156">Proses masuk gagal karena dikonfigurasi untuk menggunakan URL yang tidak aman (<ph name="BLOCKED_URL" />). Hubungi administrator Anda.</translation>
 <translation id="7334190995941642545">Saat ini Smart Lock tidak tersedia. Coba lagi nanti.</translation>
@@ -4764,7 +4774,7 @@
 <translation id="8143442547342702591">Aplikasi tidak valid</translation>
 <translation id="8146177459103116374">Jika Anda telah terdaftar di perangkat ini, Anda dapat <ph name="LINK2_START" />masuk sebagai pengguna yang ada<ph name="LINK2_END" />.</translation>
 <translation id="8146793085009540321">Proses masuk gagal. Hubungi administrator Anda atau coba lagi.</translation>
-<translation id="8151185429379586178">Alat pengembang</translation>
+<translation id="8151185429379586178">Developer Tools</translation>
 <translation id="8151638057146502721">Konfigurasi</translation>
 <translation id="8152091997436726702">Waktu pendaftaran printer telah habis. Untuk mendaftarkan printer, Anda harus mengonfirmasi pendaftaran di printer tersebut.</translation>
 <translation id="8153607920959057464">File ini tidak dapat ditampilkan.</translation>
@@ -4799,6 +4809,7 @@
 <translation id="8199300056570174101">Properti Perangkat dan Jaringan (Layanan)</translation>
 <translation id="8200772114523450471">Lanjutkan</translation>
 <translation id="8202160505685531999">Masukkan kembali sandi untuk memperbarui profil <ph name="DEVICE_TYPE" /> Anda.</translation>
+<translation id="8203732864715032075">Mengirim notifikasi dan secara default mengingat komputer ini untuk Message. <ph name="LINK_BEGIN" />Pelajari lebih lanjut<ph name="LINK_END" /></translation>
 <translation id="8206354486702514201">Setelan ini diberlakukan oleh administrator Anda.</translation>
 <translation id="8206745257863499010">Jazzy</translation>
 <translation id="8209677645716428427">Pengguna yang diawasi dapat menjelajah web dengan panduan Anda. Sebagai pengelola pengguna yang dilindungi di Chrome, Anda dapat:</translation>
@@ -5110,7 +5121,6 @@
 <translation id="869884720829132584">Menu aplikasi</translation>
 <translation id="869891660844655955">Masa berlaku</translation>
 <translation id="8699566574894671540">Untuk mengaktifkannya, terlebih dahulu pilih Periksa Ejaan Saat Mengetik di menu Edit</translation>
-<translation id="870073306461175568">Berbagi File Jaringan</translation>
 <translation id="8701677791353449257">Nama perangkat harus cocok dengan ekspresi reguler <ph name="REGEX" />.</translation>
 <translation id="8704521619148782536">Proses ini lebih lama dari biasanya. Anda dapat terus menunggu, atau batalkan dan coba lagi nanti.</translation>
 <translation id="8705331520020532516">Nomor Seri</translation>
@@ -5295,7 +5305,6 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> - Mogok</translation>
 <translation id="8983677657449185470">Bantu sempurnakan Safe Browsing</translation>
 <translation id="8984179138335769204">Quick launch</translation>
-<translation id="8984654317541110628">URL Berbagi File</translation>
 <translation id="8986362086234534611">Lupakan</translation>
 <translation id="8986494364107987395">Kirim statistik penggunaan dan laporan kerusakan ke Google secara otomatis</translation>
 <translation id="8987927404178983737">Bulan</translation>
diff --git a/chrome/app/resources/generated_resources_it.xtb b/chrome/app/resources/generated_resources_it.xtb
index a9d0b8c..f14f26b 100644
--- a/chrome/app/resources/generated_resources_it.xtb
+++ b/chrome/app/resources/generated_resources_it.xtb
@@ -17,7 +17,7 @@
 <translation id="1018656279737460067">Operazione annullata</translation>
 <translation id="102272308210570439">Consenti all'assistente di usare i contenuti sullo schermo</translation>
 <translation id="1026822031284433028">Carica immagine</translation>
-<translation id="1029317248976101138">Dimensioni dei caratteri</translation>
+<translation id="1029317248976101138">Zoom</translation>
 <translation id="1030706264415084469"><ph name="URL" /> vuole memorizzare in modo definitivo grandi quantità di dati sul dispositivo</translation>
 <translation id="1031362278801463162">Caricamento anteprima in corso</translation>
 <translation id="103279545524624934">Libera spazio sul disco per avviare le app Android.</translation>
@@ -275,6 +275,7 @@
 <translation id="1395730723686586365">Programma di aggiornamento avviato</translation>
 <translation id="1396139853388185343">Errore durante la configurazione della stampante</translation>
 <translation id="1396963298126346194">Il nome utente e la password inseriti non corrispondono</translation>
+<translation id="1397500194120344683">Nessun dispositivo idoneo. <ph name="LINK_BEGIN" />Ulteriori informazioni<ph name="LINK_END" /></translation>
 <translation id="1397854323885047133">Sincronizzazione e personalizzazione</translation>
 <translation id="1398853756734560583">Ingrandisci</translation>
 <translation id="1399511500114202393">Nessun certificato utente</translation>
@@ -375,7 +376,6 @@
 <translation id="1531004739673299060">Finestra dell'applicazione</translation>
 <translation id="15373452373711364">Puntatore del mouse grande</translation>
 <translation id="1538729222189715449">Apertura di file Linux…</translation>
-<translation id="153933193410874873">Non siamo riusciti a verificare la tua identità su questo dispositivo</translation>
 <translation id="1540605929960647700">Attiva modalità demo</translation>
 <translation id="1543284117603151572">Importati da Edge</translation>
 <translation id="1545177026077493356">Modalità kiosk automatica</translation>
@@ -529,6 +529,7 @@
 <translation id="175772926354468439">Attiva tema</translation>
 <translation id="1758018619400202187">EAP-TLS</translation>
 <translation id="17584710573359123">Visualizza nel Chrome Web Store</translation>
+<translation id="176193854664720708">Il sensore di impronte digitali si trova nel tasto di accensione. Toccalo leggermente con un dito.</translation>
 <translation id="1763046204212875858">Creazione di scorciatoie applicazione</translation>
 <translation id="1763108912552529023">Continua a esplorare</translation>
 <translation id="1763808908432309942">Si apre in una nuova scheda</translation>
@@ -682,7 +683,6 @@
 <translation id="1981115145845865539">Sblocca automaticamente il tuo dispositivo <ph name="DEVICE_TYPE" /></translation>
 <translation id="1983959805486816857">Dopo avere creato un nuovo utente supervisionato, puoi gestire le impostazioni in qualsiasi momento e da qualsiasi dispositivo all'indirizzo <ph name="MANAGEMENT_URL" />.</translation>
 <translation id="1984642098429648350">Aggancia la finestra a destra</translation>
-<translation id="1987139229093034863">Passa a un altro utente.</translation>
 <translation id="1987317783729300807">Account</translation>
 <translation id="1989112275319619282">Esplora</translation>
 <translation id="1992397118740194946">Non impostata</translation>
@@ -823,6 +823,7 @@
 <translation id="2208158072373999562">Archivio Zip</translation>
 <translation id="220858061631308971">Inserisci questo codice PIN su "<ph name="DEVICE_NAME" />":</translation>
 <translation id="2209593327042758816">Elemento 2 della shelf</translation>
+<translation id="2212126039311489237">Stampa utilizzando la finestra di dialogo di sistema</translation>
 <translation id="2217501013957346740">Crea un nome -</translation>
 <translation id="2218019600945559112">Mouse e touchpad</translation>
 <translation id="2218320521449013367">Si è verificato un errore in Chrome durante la rimozione di software dannoso</translation>
@@ -935,6 +936,7 @@
 <translation id="2378075407703503998"><ph name="SELCTED_FILE_COUNT" /> file selezionati</translation>
 <translation id="237828693408258535">Vuoi tradurre questa pagina?</translation>
 <translation id="2378982052244864789">Seleziona la directory dell'estensione.</translation>
+<translation id="2379281330731083556">Stampa utilizzando la finestra di dialogo di sistema... <ph name="SHORTCUT_KEY" /></translation>
 <translation id="2381756643783702095">Chiedi prima di inviare (opzione consigliata)</translation>
 <translation id="2384436799579181135">Si è verificato un errore. Controlla la tua stampante e riprova.</translation>
 <translation id="2387458720915042159">Tipo di connessione proxy</translation>
@@ -1113,6 +1115,7 @@
 <translation id="2653659639078652383">Invia</translation>
 <translation id="265390580714150011">Valore campo</translation>
 <translation id="2654166010170466751">Consenti ai siti di installare gestori dei pagamenti</translation>
+<translation id="2656742821229528729">Connetti il telefono Android e il Chromebook per poter mandare SMS dal computer, condividere la connessione a Internet e sbloccare il Chromebook con il telefono.<ph name="FOOTNOTE_POINTER" /> <ph name="LINK_BEGIN" />Ulteriori informazioni<ph name="LINK_END" /></translation>
 <translation id="2659381484350128933"><ph name="FOOTNOTE_POINTER" />Le funzionalità variano in base al dispositivo</translation>
 <translation id="2660779039299703961">Evento</translation>
 <translation id="266079277508604648">Impossibile connettere la stampante. Verifica che sia accesa e collegata al Chromebook tramite Wi-Fi o USB.</translation>
@@ -1417,6 +1420,7 @@
 <translation id="3115128645424181617">Impossibile trovare il telefono. Assicurati che sia a portata di mano e che il Bluetooth sia attivo.</translation>
 <translation id="3115147772012638511">In attesa di elaborazione cache...</translation>
 <translation id="3118319026408854581">Guida di <ph name="PRODUCT_NAME" /></translation>
+<translation id="3119484583572640616">Se attivi Better Together, questa funzione può:</translation>
 <translation id="3120430004221004537">Crittografia insufficiente per un'operazione specifica su: "<ph name="DEVICE_NAME" />".</translation>
 <translation id="3121793941267913344">Ripristina questo dispositivo <ph name="IDS_SHORT_PRODUCT_NAME" /></translation>
 <translation id="3122464029669770682">CPU</translation>
@@ -1729,6 +1733,7 @@
 <translation id="3596235046596950091">Attiva servizi cloud</translation>
 <translation id="3599863153486145794">Consente di cancellare la cronologia da tutti i dispositivi su cui hai eseguito l'accesso. Il tuo account Google potrebbe avere altri tipi di cronologia di navigazione all'indirizzo <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
 <translation id="3600792891314830896">Disattiva l'audio nei siti che riproducono suoni</translation>
+<translation id="360180734785106144">Offrire nuove funzionalità quando diventano disponibili.</translation>
 <translation id="3602290021589620013">Anteprima</translation>
 <translation id="3603533104205588786">Puoi fare clic sulla stella per aggiungere una pagina ai preferiti</translation>
 <translation id="3603622770190368340">Ottieni certificato di rete</translation>
@@ -2064,7 +2069,6 @@
 <translation id="4068506536726151626">Questa pagina contiene elementi dai seguenti siti che stanno rilevando la tua posizione:</translation>
 <translation id="4068776064906523561">Impronte digitali salvate</translation>
 <translation id="407173827865827707">Al clic</translation>
-<translation id="4071770069230198275"><ph name="PROFILE_NAME" />: errore di accesso</translation>
 <translation id="4074900173531346617">Certificato del firmatario email</translation>
 <translation id="407520071244661467">Scala</translation>
 <translation id="4075639477629295004">Impossibile trasmettere <ph name="FILE_NAME" />.</translation>
@@ -2477,7 +2481,7 @@
 <translation id="4772404146526168240">Entrambi gli schermi</translation>
 <translation id="4776917500594043016">Password per <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="4777825441726637019">Play Store</translation>
-<translation id="4779083564647765204">Dimensioni dei caratteri</translation>
+<translation id="4779083564647765204">Zoom</translation>
 <translation id="477945296921629067">{NUM_POPUPS,plural, =1{Popup bloccato}other{# popup bloccati}}</translation>
 <translation id="4780321648949301421">Salva pagina con nome...</translation>
 <translation id="4781787911582943401">Ingrandimento dello schermo</translation>
@@ -2865,6 +2869,7 @@
 <translation id="5332624210073556029">Fuso orario:</translation>
 <translation id="5334142896108694079">Cache script</translation>
 <translation id="5334844597069022743">Visualizza sorgente</translation>
+<translation id="5334899159203764908">Ulteriori informazioni sull'<ph name="BEGIN_LINK" />accesso ai siti<ph name="END_LINK" /></translation>
 <translation id="5335458522276292100">Backup di <ph name="FILE_COUNT" /> su <ph name="BEGIN_LINK" />Google Drive<ph name="END_LINK" /> in corso</translation>
 <translation id="5336126339807372270">Non consentire ai siti di accedere ai dispositivi USB</translation>
 <translation id="5337771866151525739">Installata da una terza parte.</translation>
@@ -2972,6 +2977,7 @@
 <translation id="5487521232677179737">Cancella dati</translation>
 <translation id="5488093641312826914">"<ph name="COPIED_ITEM_NAME" />" copiato</translation>
 <translation id="5488468185303821006">Consenti modalità in incognito</translation>
+<translation id="5489121514345187313">Il Chromebook funziona ancora meglio insieme al tuo telefono. <ph name="LINK_BEGIN" />Ulteriori informazioni<ph name="LINK_END" /></translation>
 <translation id="5489435190927933437">Password salvate per <ph name="DOMAIN" /></translation>
 <translation id="5491110079163012109">Invia dati sul sistema. Invia automaticamente a Google dati diagnostici e sull'utilizzo delle app e del dispositivo. Questa impostazione viene applicata dal proprietario, che può decidere di inviare a Google dati diagnostici e sull'utilizzo del dispositivo. Puoi visualizzare questa opzione nelle impostazioni. Se hai attivato Attività web e app, queste informazioni vengono memorizzate nel tuo account per consentirti di gestirle nella pagina Le mie attività. <ph name="BEGIN_LINK1" />Ulteriori informazioni<ph name="END_LINK1" /></translation>
 <translation id="5493792505296048976">schermo attivo</translation>
@@ -3143,6 +3149,7 @@
 <translation id="5731409020711461763">1 nuova foto</translation>
 <translation id="5734362860645681824">Comunicazioni</translation>
 <translation id="5736796278325406685">Inserisci un nome utente valido</translation>
+<translation id="5739235828260127894">In attesa di verifica. <ph name="LINK_BEGIN" />Ulteriori informazioni<ph name="LINK_END" /></translation>
 <translation id="5739458112391494395">Molto grandi</translation>
 <translation id="5740331643563157105"><ph name="LANGUAGE_1" />, <ph name="LANGUAGE_2" /> e altre <ph name="NUM_ADDITIONAL_LANGUAGES" /></translation>
 <translation id="574209121243317957">Tono</translation>
@@ -3246,6 +3253,7 @@
 <translation id="5870086504539785141">Chiudi menu accessibilità</translation>
 <translation id="5870155679953074650">Errori hardware</translation>
 <translation id="5877064549588274448">Canale cambiato. Riavvia il dispositivo per applicare le modifiche.</translation>
+<translation id="5877584842898320529">La stampante selezionata non è disponibile o non è installata correttamente. <ph name="BR" /> Controlla la stampante o prova a selezionarne un'altra.</translation>
 <translation id="5880247576487732437">Token presente</translation>
 <translation id="5882919346125742463">Reti note</translation>
 <translation id="5884474295213649357">La scheda è connessa a un dispositivo USB.</translation>
@@ -3312,6 +3320,7 @@
 <translation id="5979469435153841984">Per aggiungere una pagina ai preferiti, fai clic sulla stella nella barra degli indirizzi</translation>
 <translation id="5982621672636444458">Opzioni ordinamento</translation>
 <translation id="5984222099446776634">Visitati di recente</translation>
+<translation id="5985458664595100876">Formato dell'URL non valido. I formati supportati sono \\server\share e smb://server/share.</translation>
 <translation id="5990142338020175451">Più servizi Google personali, ad esempio suggerimenti di pagine migliori</translation>
 <translation id="5990386583461751448">Tradotta</translation>
 <translation id="5991049340509704927">Ingrandisci</translation>
@@ -3340,6 +3349,7 @@
 <translation id="6026819612896463875"><ph name="WINDOW_TITLE" /> - Dispositivo USB collegato</translation>
 <translation id="6028117231645531007">Aggiungi impronta</translation>
 <translation id="6029027682598229313">Installazione di Linux completata.</translation>
+<translation id="6029292188939175871">elimina [<ph name="FINGERPRINT_NAME" />], pulsante</translation>
 <translation id="6029587122245504742">Minima</translation>
 <translation id="6032912588568283682">File system</translation>
 <translation id="6034662038931255275">Aggiornamento del sistema operativo eseguito correttamente</translation>
@@ -3453,7 +3463,6 @@
 <translation id="6185132558746749656">Posizione del dispositivo</translation>
 <translation id="6185617499004995178">Validatore IPP CUPS</translation>
 <translation id="6185696379715117369">Pagina su</translation>
-<translation id="6189273858858366896">Configura o gestisci condivisioni file di rete.</translation>
 <translation id="6189412234224385711">Apri con l'estensione <ph name="EXTENSION_NAME" /></translation>
 <translation id="6196640612572343990">Blocca cookie di terze parti</translation>
 <translation id="6196854373336333322">L'estensione "<ph name="EXTENSION_NAME" />" ha assunto il controllo delle tue impostazioni proxy, il che significa che può cambiare, interrompere o intercettare tutto ciò che fai online. Se non sei sicuro del motivo per cui si sia verificato questo cambiamento, è probabile che sia indesiderato.</translation>
@@ -3759,6 +3768,7 @@
 <translation id="6643016212128521049">Cancella</translation>
 <translation id="6644512095122093795">Chiedi di salvare le password</translation>
 <translation id="6644846457769259194">Aggiornamento del dispositivo in corso (<ph name="PROGRESS_PERCENT" />)</translation>
+<translation id="6645437135153136856">Il dispositivo Google Cloud Print selezionato non è più supportato. <ph name="BR" /> Prova a configurare la stampante nelle impostazioni di sistema del computer.</translation>
 <translation id="6647228709620733774">URL di revoca dell'autorità di certificazione Netscape</translation>
 <translation id="6647838571840953560">Attualmente su <ph name="CHANNEL_NAME" /></translation>
 <translation id="6648051959475508072">Token di sicurezza attivato…</translation>
@@ -3780,7 +3790,6 @@
 <translation id="667517062706956822">Vuoi che Google traduca la pagina da <ph name="SOURCE_LANGUAGE" /> in <ph name="TARGET_LANGUAGE" />?</translation>
 <translation id="6675665718701918026">Dispositivo di puntamento collegato</translation>
 <translation id="6678717876183468697">URL query</translation>
-<translation id="6680028776254050810">Scambia utenti</translation>
 <translation id="6680442031740878064">Disponibile: <ph name="AVAILABLE_SPACE" /></translation>
 <translation id="6680650203439190394">Velocità</translation>
 <translation id="6681668084120808868">Scatta foto</translation>
@@ -3789,7 +3798,6 @@
 <translation id="668599234725812620">Apri Google Play</translation>
 <translation id="6686490380836145850">Chiudi schede a destra</translation>
 <translation id="6686817083349815241">Salva la password</translation>
-<translation id="6690565918367819723"><ph name="PROFILE_NAME" /> Cambia persona</translation>
 <translation id="6690659332373509948">Impossibile analizzare il file: <ph name="FILE_NAME" /></translation>
 <translation id="6690751852586194791">Scegli un utente controllato da aggiungere a questo dispositivo.</translation>
 <translation id="6691331417640343772">Gestisci dati sincronizzati sulla Dashboard di Google</translation>
@@ -4126,6 +4134,7 @@
 <translation id="7201118060536064622">"<ph name="DELETED_ITEM_NAME" />" eliminato</translation>
 <translation id="7206693748120342859">Download di <ph name="PLUGIN_NAME" /> in corso...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Esci dalla pagina}other{Esci dalle pagine}}</translation>
+<translation id="7210499381659830293">Stampanti estensione</translation>
 <translation id="721467499098558573">Tieni premuto il pulsante del token di sicurezza per almeno 5 secondi</translation>
 <translation id="7216409898977639127">Fornitore del servizio di telefonia mobile</translation>
 <translation id="7216595297012131718">Ordina le lingue in base alle tue preferenze</translation>
@@ -4204,6 +4213,7 @@
 <translation id="7321545336522791733">Server non raggiungibile</translation>
 <translation id="7324297612904500502">Forum per la versione Beta</translation>
 <translation id="7325437708553334317">Estensione Contrasto elevato</translation>
+<translation id="7328162502911382168">(<ph name="COUNT" />)</translation>
 <translation id="7328867076235380839">Combinazione non valida</translation>
 <translation id="7329154610228416156">Accesso non riuscito perché è stato configurato l'utilizzo di un URL non protetto (<ph name="BLOCKED_URL" />). Contatta l'amministratore.</translation>
 <translation id="7334190995941642545">La funzione Smart Lock non è al momento disponibile. Riprova più tardi.</translation>
@@ -4793,6 +4803,7 @@
 <translation id="8199300056570174101">Proprietà dispositivo e rete (servizio)</translation>
 <translation id="8200772114523450471">Riprendi</translation>
 <translation id="8202160505685531999">Inserisci di nuovo la password per aggiornare il profilo <ph name="DEVICE_TYPE" />.</translation>
+<translation id="8203732864715032075">Ricevi notifiche e imposta come predefinita la memorizzazione di questo computer per Messaggi. <ph name="LINK_BEGIN" />Ulteriori informazioni<ph name="LINK_END" /></translation>
 <translation id="8206354486702514201">Questa impostazione è stata applicata dall'amministratore.</translation>
 <translation id="8206745257863499010">Bluesy</translation>
 <translation id="8209677645716428427">Un utente supervisionato può navigare sul Web sotto la tua guida. In qualità di gestore di un utente supervisionato in Chome, puoi:</translation>
@@ -5104,7 +5115,6 @@
 <translation id="869884720829132584">Menu Applicazioni</translation>
 <translation id="869891660844655955">Data di scadenza</translation>
 <translation id="8699566574894671540">Per attivare questa funzione, seleziona prima Controllo ortografico durante la digitazione nel menu Modifica</translation>
-<translation id="870073306461175568">Condivisioni file di rete</translation>
 <translation id="8701677791353449257">Il nome del dispositivo deve corrispondere all'espressione regolare <ph name="REGEX" />.</translation>
 <translation id="8704521619148782536">L'operazione sta richiedendo più tempo del solito. Puoi continuare ad aspettare oppure annullare l'operazione e riprovare più tardi.</translation>
 <translation id="8705331520020532516">Numero di serie</translation>
@@ -5289,7 +5299,6 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> - Bloccata</translation>
 <translation id="8983677657449185470">Contribuisci a migliorare Navigazione sicura</translation>
 <translation id="8984179138335769204">Avvio rapido</translation>
-<translation id="8984654317541110628">URL condivisione file</translation>
 <translation id="8986362086234534611">Elimina</translation>
 <translation id="8986494364107987395">Invia automaticamente a Google statistiche sull'utilizzo e rapporti sugli arresti anomali</translation>
 <translation id="8987927404178983737">Mese</translation>
diff --git a/chrome/app/resources/generated_resources_iw.xtb b/chrome/app/resources/generated_resources_iw.xtb
index ef19c92..f9b4d60 100644
--- a/chrome/app/resources/generated_resources_iw.xtb
+++ b/chrome/app/resources/generated_resources_iw.xtb
@@ -275,6 +275,7 @@
 <translation id="1395730723686586365">המעדכן הופעל</translation>
 <translation id="1396139853388185343">אירעה שגיאה בהגדרת המדפסת</translation>
 <translation id="1396963298126346194">הזנת שם משתמש או סיסמה שגויים</translation>
+<translation id="1397500194120344683">אין מכשירים שיכולים להתחבר. <ph name="LINK_BEGIN" />מידע נוסף<ph name="LINK_END" /></translation>
 <translation id="1397854323885047133">סנכרון והתאמה אישית</translation>
 <translation id="1398853756734560583">הגדל</translation>
 <translation id="1399511500114202393">אין אישור משתמש</translation>
@@ -372,7 +373,6 @@
 <translation id="1531004739673299060">חלון אפליקציה</translation>
 <translation id="15373452373711364">סמן עכבר גדול</translation>
 <translation id="1538729222189715449">‏מתבצעת פתיחה של קובצי Linux...</translation>
-<translation id="153933193410874873">לא ניתן לאמת את הזהות שלך במכשיר הזה</translation>
 <translation id="1540605929960647700">הפעלת מצב הדגמה</translation>
 <translation id="1543284117603151572">‏מיובא מ-Edge</translation>
 <translation id="1545177026077493356">מצב קיוסק אוטומטי</translation>
@@ -526,6 +526,7 @@
 <translation id="175772926354468439">הפעל עיצוב</translation>
 <translation id="1758018619400202187">EAP-TLS</translation>
 <translation id="17584710573359123">‏הצגה בחנות האינטרנט של Chrome</translation>
+<translation id="176193854664720708">חיישן טביעות האצבע נמצא בלחצן ההפעלה. יש להצמיד אליו בעדינות אצבע כלשהי.</translation>
 <translation id="1763046204212875858">צור קיצורי דרך ליישום</translation>
 <translation id="1763108912552529023">המשך לחקור</translation>
 <translation id="1763808908432309942">פתיחה בכרטיסייה חדשה</translation>
@@ -679,7 +680,6 @@
 <translation id="1981115145845865539">ביטול אוטומטי של נעילת ה-<ph name="DEVICE_TYPE" /></translation>
 <translation id="1983959805486816857">לאחר יצירת משתמש בפיקוח חדש, תוכל לנהל את ההגדרות בכל עת מכל מכשיר בכתובת <ph name="MANAGEMENT_URL" />.</translation>
 <translation id="1984642098429648350">עגן חלון לימין</translation>
-<translation id="1987139229093034863">עבור למשתמש אחר.</translation>
 <translation id="1987317783729300807">חשבונות</translation>
 <translation id="1989112275319619282">דפדף</translation>
 <translation id="1992397118740194946">לא מוגדר</translation>
@@ -820,6 +820,7 @@
 <translation id="2208158072373999562">‏ארכיון Zip</translation>
 <translation id="220858061631308971">‏הזן את קוד PIN זה ב-"<ph name="DEVICE_NAME" />":</translation>
 <translation id="2209593327042758816">פריט מדף 2</translation>
+<translation id="2212126039311489237">הדפסה באמצעות תיבת דו-שיח של המערכת</translation>
 <translation id="2217501013957346740">צור שם -</translation>
 <translation id="2218019600945559112">עכבר ולוח מגע</translation>
 <translation id="2218320521449013367">‏אירעה שגיאה בזמן ש-Chrome הסיר תוכנות מזיקות</translation>
@@ -932,6 +933,7 @@
 <translation id="2378075407703503998"><ph name="SELCTED_FILE_COUNT" /> קבצים נבחרו</translation>
 <translation id="237828693408258535">לתרגם את הדף הזה?</translation>
 <translation id="2378982052244864789">בחר את ספריית ההרחבה.</translation>
+<translation id="2379281330731083556">הדפס באמצעות תיבת דו-שיח של המערכת... <ph name="SHORTCUT_KEY" /></translation>
 <translation id="2381756643783702095">שאל לפני שליחה (מומלץ)</translation>
 <translation id="2384436799579181135">אירעה שגיאה. יש לבדוק את המדפסת ולנסות שוב.</translation>
 <translation id="2387458720915042159">‏סוג חיבור לשרת proxy</translation>
@@ -1111,6 +1113,7 @@
 <translation id="2653659639078652383">שלח</translation>
 <translation id="265390580714150011">ערך שדה </translation>
 <translation id="2654166010170466751">‏מתן הרשאה לאתרים להתקין מעבדי handler לתשלומים</translation>
+<translation id="2656742821229528729">‏אפשר לחבר את טלפון ה-Android ל-Chromebook כדי לשלוח הודעות טקסט מהמחשב, לשתף את חיבור האינטרנט ולבטל את נעילת ה-Chromebook בעזרת הטלפון.<ph name="FOOTNOTE_POINTER" /> <ph name="LINK_BEGIN" />מידע נוסף<ph name="LINK_END" /></translation>
 <translation id="2659381484350128933"><ph name="FOOTNOTE_POINTER" />במכשירים שונים יש תכונות שונות</translation>
 <translation id="2660779039299703961">אירוע</translation>
 <translation id="266079277508604648">‏לא ניתן להתחבר אל המדפסת. יש לוודא שהמדפסת פועלת ומחוברת אל ה-Chromebook דרך רשת ה-Wi-Fi או בחיבור USB.</translation>
@@ -1415,6 +1418,7 @@
 <translation id="3115128645424181617">‏לא ניתן למצוא את הטלפון שלך. יש לוודא שהוא נמצא איתך ושהופעל בו Bluetooth.</translation>
 <translation id="3115147772012638511">ממתין למטמון...</translation>
 <translation id="3118319026408854581">עזרה של <ph name="PRODUCT_NAME" /></translation>
+<translation id="3119484583572640616">‏אחרי הפעלת Better Together התכונה יכולה:</translation>
 <translation id="3120430004221004537">ההצפנה לא מספיקה לפעולה נתונה במכשיר: "<ph name="DEVICE_NAME" />".</translation>
 <translation id="3121793941267913344">אפס את מכשיר <ph name="IDS_SHORT_PRODUCT_NAME" /> זה</translation>
 <translation id="3122464029669770682">CPU</translation>
@@ -1729,6 +1733,7 @@
 <translation id="3596235046596950091">הפעלת שירותי ענן</translation>
 <translation id="3599863153486145794">‏ניקוי ההיסטוריה מכל המכשירים שבהם המשתמש נכנס לחשבון. ייתכן שלחשבון Google שלך יהיו צורות אחרות של היסטוריית גלישה בכתובת <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
 <translation id="3600792891314830896">השתקת אתרים שמשמיעים צלילים</translation>
+<translation id="360180734785106144">להציע תכונות חדשות כשהן זמינות</translation>
 <translation id="3602290021589620013">תצוגה מקדימה</translation>
 <translation id="3603533104205588786">בלחיצה על סימן הכוכב אפשר להוסיף דף לסימניות</translation>
 <translation id="3603622770190368340">השג אישור רשת</translation>
@@ -2064,7 +2069,6 @@
 <translation id="4068506536726151626">דף זה מכיל אלמנטים מהאתרים הבאים העוקבים אחר המיקום שלך:</translation>
 <translation id="4068776064906523561">טביעות אצבע שמורות</translation>
 <translation id="407173827865827707">בזמן לחיצה</translation>
-<translation id="4071770069230198275"><ph name="PROFILE_NAME" />: כניסה שגויה</translation>
 <translation id="4074900173531346617">אישור חותם אימייל</translation>
 <translation id="407520071244661467">שנה קנה מידה</translation>
 <translation id="4075639477629295004">לא ניתן להעביר את <ph name="FILE_NAME" />.</translation>
@@ -2974,6 +2978,7 @@
 <translation id="5487521232677179737">נקה נתונים</translation>
 <translation id="5488093641312826914">'<ph name="COPIED_ITEM_NAME" />' הועתק</translation>
 <translation id="5488468185303821006">אפשר במצב גלישה פרטית</translation>
+<translation id="5489121514345187313">‏ה-Chromebook יכול לפעול עוד יותר טוב יחד עם הטלפון. <ph name="LINK_BEGIN" />מידע נוסף<ph name="LINK_END" /></translation>
 <translation id="5489435190927933437">סיסמאות שמורות בשביל <ph name="DOMAIN" /></translation>
 <translation id="5491110079163012109">‏שליחת נתוני מערכת. אפשר לשלוח אל Google באופן אוטומטי נתוני ניתוח ונתוני שימוש במכשיר ובאפליקציות. ההגדרה הזו נאכפת על-ידי הבעלים. הבעלים עשוי לשלוח אל Google נתוני ניתוח ושימוש בשביל המכשיר הזה. ניתן להציג את האפשרות הזו בהגדרות. אם הפעלת פריטים נוספים 'בפעילות באינטרנט ובאפליקציות', המידע הזה יאוחסן בחשבון כדי לאפשר לך לנהל אותו דרך 'הפעילות שלי'. <ph name="BEGIN_LINK1" />מידע נוסף<ph name="END_LINK1" /></translation>
 <translation id="5493792505296048976">מסך מופעל</translation>
@@ -3145,6 +3150,7 @@
 <translation id="5731409020711461763">תמונה חדשה אחת</translation>
 <translation id="5734362860645681824">תקשורת</translation>
 <translation id="5736796278325406685">הזן שם משתמש חוקי</translation>
+<translation id="5739235828260127894">ממתין לאימות. <ph name="LINK_BEGIN" />מידע נוסף<ph name="LINK_END" /></translation>
 <translation id="5739458112391494395">גדול מאוד</translation>
 <translation id="5740331643563157105"><ph name="LANGUAGE_1" />‏, <ph name="LANGUAGE_2" /> ו-<ph name="NUM_ADDITIONAL_LANGUAGES" /> נוספות</translation>
 <translation id="574209121243317957">גובה צליל</translation>
@@ -3248,6 +3254,7 @@
 <translation id="5870086504539785141">סגור את תפריט הנגישות</translation>
 <translation id="5870155679953074650">שגיאות חמורות</translation>
 <translation id="5877064549588274448">הערוץ שונה. הפעל מחדש את המכשיר להחלת השינויים.</translation>
+<translation id="5877584842898320529">המדפסת שבחרת אינה זמינה או שאינה מותקנת כראוי. <ph name="BR" /> יש לבדוק את המדפסת או לנסות לבחור מדפסת אחרת.</translation>
 <translation id="5880247576487732437">אסימון קיים</translation>
 <translation id="5882919346125742463">רשתות מוכרות</translation>
 <translation id="5884474295213649357">‏הכרטיסייה הזו מחוברת להתקן USB.</translation>
@@ -3314,9 +3321,12 @@
 <translation id="5979469435153841984">כדי להוסיף דפים לסימניות, לחץ על הכוכב בסרגל הכתובות</translation>
 <translation id="5982621672636444458">אפשרויות מיון</translation>
 <translation id="5984222099446776634">ביקרת לאחרונה</translation>
+<translation id="5985458664595100876">‏פורמט כתובת האתר לא חוקי. הפורמטים הנתמכים הם ‎\\server\share ו-smb://server/share.</translation>
+<translation id="5990142338020175451">‏שירותי Google בהתאמה אישית יותר, כמו הצעות טובות יותר לדפים</translation>
 <translation id="5990386583461751448">מתורגם</translation>
 <translation id="5991049340509704927">הגדל</translation>
 <translation id="599131315899248751">{NUM_APPLICATIONS,plural, =1{כדי שאפשר יהיה להמשיך לגלוש באינטרנט, צריך לבקש ממנהל המערכת להסיר את האפליקציה הזו.}two{כדי שאפשר יהיה להמשיך לגלוש באינטרנט, צריך לבקש ממנהל המערכת להסיר את האפליקציות האלה.}many{כדי שאפשר יהיה להמשיך לגלוש באינטרנט, צריך לבקש ממנהל המערכת להסיר את האפליקציות האלה.}other{כדי שאפשר יהיה להמשיך לגלוש באינטרנט, צריך לבקש ממנהל המערכת להסיר את האפליקציות האלה.}}</translation>
+<translation id="5997337190805127100">מידע נוסף על גישה לאתר</translation>
 <translation id="6002458620803359783">קולות מועדפים</translation>
 <translation id="6005695835120147974">נתב מדיה</translation>
 <translation id="6006484371116297560">קלאסי</translation>
@@ -3340,6 +3350,7 @@
 <translation id="6026819612896463875">‏<ph name="WINDOW_TITLE" /> - USB מחובר</translation>
 <translation id="6028117231645531007">הוספת טביעת אצבע</translation>
 <translation id="6029027682598229313">‏התקנת Linux הושלמה.</translation>
+<translation id="6029292188939175871">מחיקת [<ph name="FINGERPRINT_NAME" />], לחצן</translation>
 <translation id="6029587122245504742">הכי איטי</translation>
 <translation id="6032912588568283682">מערכת קבצים</translation>
 <translation id="6034662038931255275">‏עדכון ה-OS הצליח</translation>
@@ -3453,7 +3464,6 @@
 <translation id="6185132558746749656">מיקום מכשיר</translation>
 <translation id="6185617499004995178">‏מאמת CUPS IPP</translation>
 <translation id="6185696379715117369">Page up</translation>
-<translation id="6189273858858366896">הגדרה או ניהול של שיתופי קבצים ברשת.</translation>
 <translation id="6189412234224385711">פתח באמצעות <ph name="EXTENSION_NAME" /></translation>
 <translation id="6196640612572343990">‏חסום קובצי Cookie של צד שלישי</translation>
 <translation id="6196854373336333322">‏התוסף "<ph name="EXTENSION_NAME" />" השתלט על הגדרות שרת ה-Proxy. פירוש הדבר שהוא יכול לשנות ולקטוע לכל פעולה שתבצע באינטרנט או לצותת לה. אם אינך יודע בוודאות מדוע שינוי זה התרחש, סביר להניח שזהו שינוי לא רצוי.</translation>
@@ -3759,6 +3769,7 @@
 <translation id="6643016212128521049">נקה</translation>
 <translation id="6644512095122093795">הצע לשמור סיסמאות</translation>
 <translation id="6644846457769259194">מעדכן את המכשיר שלך (<ph name="PROGRESS_PERCENT" />)</translation>
+<translation id="6645437135153136856">‏מכשיר Google Cloud Print שבחרת כבר לא נתמך. <ph name="BR" /> אפשר לנסות להגדיר את המדפסת דרך הגדרות המערכת של המחשב.</translation>
 <translation id="6647228709620733774">‏כתובת אתר לביטול של רשות אישורי Netscape</translation>
 <translation id="6647838571840953560">עכשיו בערוץ <ph name="CHANNEL_NAME" /></translation>
 <translation id="6648051959475508072">מפתח האבטחה הופעל...</translation>
@@ -3780,7 +3791,6 @@
 <translation id="667517062706956822">‏האם תרצה ש-Google תתרגם דף זה מ<ph name="SOURCE_LANGUAGE" /> ל<ph name="TARGET_LANGUAGE" />?</translation>
 <translation id="6675665718701918026">התקן הצבעה מחובר</translation>
 <translation id="6678717876183468697">כתובת אתר של שאילתה</translation>
-<translation id="6680028776254050810">החלף משתמשים</translation>
 <translation id="6680442031740878064">השטח הזמין: <ph name="AVAILABLE_SPACE" /></translation>
 <translation id="6680650203439190394">קצב</translation>
 <translation id="6681668084120808868">צלם תמונה</translation>
@@ -3789,7 +3799,6 @@
 <translation id="668599234725812620">‏פתח את Google Play</translation>
 <translation id="6686490380836145850">סגור את הכרטיסיות משמאל</translation>
 <translation id="6686817083349815241">שמור את הסיסמה שלך</translation>
-<translation id="6690565918367819723"><ph name="PROFILE_NAME" />, החלף משתמש</translation>
 <translation id="6690659332373509948">לא ניתן לנתח את הקובץ: <ph name="FILE_NAME" /></translation>
 <translation id="6690751852586194791">בחר משתמש בפיקוח להוספה למכשיר זה.</translation>
 <translation id="6691331417640343772">‏ניהול נתונים מסוכרנים במרכז השליטה של Google</translation>
@@ -4013,6 +4022,7 @@
 <translation id="7040230719604914234">ספק</translation>
 <translation id="7042418530779813870">הדבק וחפש</translation>
 <translation id="7043108582968290193">סיימת. לא נמצאו יותר אפליקציות שאינן תואמות.</translation>
+<translation id="7044124535091449260">מידע נוסף על גישה לאתר</translation>
 <translation id="7049293980323620022">להשאיר את הקובץ?</translation>
 <translation id="7051943809462976355">מחפש עכבר...</translation>
 <translation id="7052237160939977163">שלח נתוני מעקב אחר ביצועים</translation>
@@ -4125,6 +4135,7 @@
 <translation id="7201118060536064622">הפריט '<ph name="DELETED_ITEM_NAME" />' נמחק</translation>
 <translation id="7206693748120342859">מוריד את <ph name="PLUGIN_NAME" />...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{יציאה מהדף}two{יציאה מהדפים}many{יציאה מהדפים}other{יציאה מהדפים}}</translation>
+<translation id="7210499381659830293">מדפסות בתוסף</translation>
 <translation id="721467499098558573">יש ללחוץ לחיצה ארוכה על הלחצן במפתח האבטחה, למשך 5 שניות לפחות</translation>
 <translation id="7216409898977639127">ספק שירות סלולרי</translation>
 <translation id="7216595297012131718">סדר את השפות לפי ההעדפות שלך</translation>
@@ -4203,6 +4214,7 @@
 <translation id="7321545336522791733">השרת אינו נגיש</translation>
 <translation id="7324297612904500502">פורום ביטא</translation>
 <translation id="7325437708553334317">תוסף ניגודיות גבוהה</translation>
+<translation id="7328162502911382168">(<ph name="COUNT" />)</translation>
 <translation id="7328867076235380839">שילוב לא חוקי</translation>
 <translation id="7329154610228416156">הכניסה נכשלה מפני שהוגדר שימוש בכתובת אתר לא מאובטחת (<ph name="BLOCKED_URL" />). צור קשר עם מנהל המערכת.</translation>
 <translation id="7334190995941642545">‏מערכת Smart Lock אינה זמינה כרגע. נסה שוב מאוחר יותר.</translation>
@@ -4791,6 +4803,7 @@
 <translation id="8199300056570174101">מאפייני רשת (שירות) ומכשיר</translation>
 <translation id="8200772114523450471">חדש</translation>
 <translation id="8202160505685531999">הזן שוב את הסיסמה כדי לעדכן את פרופיל <ph name="DEVICE_TYPE" />.</translation>
+<translation id="8203732864715032075">המערכת שולחת לך התראות ומגדירה את המחשב הזה כברירת מחדל לשליחת ההודעות. <ph name="LINK_BEGIN" />מידע נוסף<ph name="LINK_END" /></translation>
 <translation id="8206354486702514201">הגדרה זו נאכפת על ידי מנהל המערכת שלך.</translation>
 <translation id="8206745257863499010">בלוז</translation>
 <translation id="8209677645716428427">‏משתמש בפיקוח יכול לסייר באינטרנט בהדרכתך. כמנהל של משתמש בפיקוח ב-Chrome, אתה יכול:</translation>
@@ -5102,7 +5115,6 @@
 <translation id="869884720829132584">תפריט יישומים</translation>
 <translation id="869891660844655955">תאריך תפוגה</translation>
 <translation id="8699566574894671540">כדי להפעיל את האפשרות הזאת, צריך לבחור 'בדיקת איות בעת ההקלדה' בתפריט 'עריכה'.</translation>
-<translation id="870073306461175568">שיתופי קבצים ברשת</translation>
 <translation id="8701677791353449257">שם המכשיר חייב להתאים לביטוי הרגולרי <ph name="REGEX" />.</translation>
 <translation id="8704521619148782536">הפעולה נמשכת זמן רב מהרגיל. תוכל להמשיך להמתין, או לבטל את הפעולה ולנסות שוב מאוחר יותר.</translation>
 <translation id="8705331520020532516">מספר סידורי</translation>
@@ -5287,7 +5299,6 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> - קרס</translation>
 <translation id="8983677657449185470">עזרה בשיפור של גלישה בטוחה</translation>
 <translation id="8984179138335769204">פתיחה מהירה</translation>
-<translation id="8984654317541110628">כתובת אתר של התקן רשת לשיתוף קבצים</translation>
 <translation id="8986362086234534611">שכח</translation>
 <translation id="8986494364107987395">‏שלח ל-Google דוחות קריסה וסטטיסטיקת שימוש באופן אוטומטי</translation>
 <translation id="8987927404178983737">חודש</translation>
diff --git a/chrome/app/resources/generated_resources_ja.xtb b/chrome/app/resources/generated_resources_ja.xtb
index 1bcbae0..fca4f7d7 100644
--- a/chrome/app/resources/generated_resources_ja.xtb
+++ b/chrome/app/resources/generated_resources_ja.xtb
@@ -375,7 +375,6 @@
 <translation id="1531004739673299060">アプリケーション ウィンドウ</translation>
 <translation id="15373452373711364">大きいマウス カーソル</translation>
 <translation id="1538729222189715449">[Linux ファイル] を開いています...</translation>
-<translation id="153933193410874873">この端末で本人確認ができませんでした</translation>
 <translation id="1540605929960647700">デモモードの有効化</translation>
 <translation id="1543284117603151572">Edge からインポート</translation>
 <translation id="1545177026077493356">自動キオスク モード</translation>
@@ -682,7 +681,6 @@
 <translation id="1981115145845865539"><ph name="DEVICE_TYPE" /> のロックを自動的に解除</translation>
 <translation id="1983959805486816857">新しい監視対象ユーザーを作成した後は、設定をいつでも、どのデバイスからでも <ph name="MANAGEMENT_URL" /> で管理できます。</translation>
 <translation id="1984642098429648350">ウィンドウを右に固定</translation>
-<translation id="1987139229093034863">別のユーザーに切り替えます。</translation>
 <translation id="1987317783729300807">アカウント</translation>
 <translation id="1989112275319619282">閲覧</translation>
 <translation id="1992397118740194946">未設定</translation>
@@ -935,6 +933,7 @@
 <translation id="2378075407703503998"><ph name="SELCTED_FILE_COUNT" /> 個のファイルを選択</translation>
 <translation id="237828693408258535">このページを翻訳しますか?</translation>
 <translation id="2378982052244864789">拡張機能のディレクトリを選択してください。</translation>
+<translation id="2379281330731083556">システム ダイアログを使用して印刷... <ph name="SHORTCUT_KEY" /></translation>
 <translation id="2381756643783702095">送信する前に確認する(推奨)</translation>
 <translation id="2384436799579181135">エラーが発生しました。プリンタを確認してもう一度お試しください。</translation>
 <translation id="2387458720915042159">プロキシ接続タイプ</translation>
@@ -2067,7 +2066,6 @@
 <translation id="4068506536726151626">このページには、あなたの現在地を追跡している以下のサイトからの要素が含まれています。</translation>
 <translation id="4068776064906523561">保存した指紋</translation>
 <translation id="407173827865827707">クリックされた場合のみ</translation>
-<translation id="4071770069230198275"><ph name="PROFILE_NAME" />: ログインエラー</translation>
 <translation id="4074900173531346617">メール署名者の証明書</translation>
 <translation id="407520071244661467">倍率</translation>
 <translation id="4075639477629295004"><ph name="FILE_NAME" /> をキャストできません。</translation>
@@ -2869,6 +2867,7 @@
 <translation id="5332624210073556029">タイムゾーン:</translation>
 <translation id="5334142896108694079">スクリプト キャッシュ</translation>
 <translation id="5334844597069022743">ソースを表示する</translation>
+<translation id="5334899159203764908"><ph name="BEGIN_LINK" />サイトアクセス<ph name="END_LINK" />の詳細</translation>
 <translation id="5335458522276292100"><ph name="FILE_COUNT" />を <ph name="BEGIN_LINK" />Google ドライブ<ph name="END_LINK" />にバックアップしています</translation>
 <translation id="5336126339807372270">USB デバイスへのアクセスをどのサイトにも許可しない</translation>
 <translation id="5337771866151525739">第三者によってインストールされました。</translation>
@@ -3316,9 +3315,11 @@
 <translation id="5979469435153841984">ページをブックマークするには、アドレスバーのスターアイコンをクリックしてください</translation>
 <translation id="5982621672636444458">並べ替え方法</translation>
 <translation id="5984222099446776634">最近のアクセス</translation>
+<translation id="5990142338020175451">おすすめのページなど、カスタマイズされた Google サービスを利用できます</translation>
 <translation id="5990386583461751448">翻訳済み</translation>
 <translation id="5991049340509704927">拡大表示</translation>
 <translation id="599131315899248751">{NUM_APPLICATIONS,plural, =1{今後もウェブ ブラウジングを続けられるように、管理者にこのアプリケーションの削除を依頼してください。}other{今後もウェブ ブラウジングを続けられるように、管理者にこれらのアプリケーションの削除を依頼してください。}}</translation>
+<translation id="5997337190805127100">サイトアクセスの詳細</translation>
 <translation id="6002458620803359783">使用する音声</translation>
 <translation id="6005695835120147974">メディア ルーター</translation>
 <translation id="6006484371116297560">クラシック</translation>
@@ -3455,7 +3456,6 @@
 <translation id="6185132558746749656">デバイスの位置情報</translation>
 <translation id="6185617499004995178">CUPS IPP 検証ツール</translation>
 <translation id="6185696379715117369">ページ内を上に移動</translation>
-<translation id="6189273858858366896">ネットワーク ファイル共有を設定または管理する。</translation>
 <translation id="6189412234224385711"><ph name="EXTENSION_NAME" /> で開く</translation>
 <translation id="6196640612572343990">サードパーティの Cookie をブロックする</translation>
 <translation id="6196854373336333322">拡張機能「<ph name="EXTENSION_NAME" />」によってプロキシ設定が制御されています。オンラインで行う操作は、この拡張機能によって変更、遮断、傍受される可能性があります。この変更が行われた理由に心当たりがない場合、これは不正な変更と考えられます。</translation>
@@ -3782,7 +3782,6 @@
 <translation id="667517062706956822">Google でこのページを <ph name="SOURCE_LANGUAGE" /> から <ph name="TARGET_LANGUAGE" /> に翻訳しますか?</translation>
 <translation id="6675665718701918026">ポインティング デバイスが接続されました</translation>
 <translation id="6678717876183468697">クエリ URL</translation>
-<translation id="6680028776254050810">ユーザーを切り替え</translation>
 <translation id="6680442031740878064">空き容量: <ph name="AVAILABLE_SPACE" /></translation>
 <translation id="6680650203439190394">速度</translation>
 <translation id="6681668084120808868">写真を撮る</translation>
@@ -3791,7 +3790,6 @@
 <translation id="668599234725812620">Google Play を開く</translation>
 <translation id="6686490380836145850">右側のタブを閉じる</translation>
 <translation id="6686817083349815241">パスワードを保存</translation>
-<translation id="6690565918367819723"><ph name="PROFILE_NAME" />: ユーザーを切り替える</translation>
 <translation id="6690659332373509948">ファイル <ph name="FILE_NAME" /> を解析できません</translation>
 <translation id="6690751852586194791">このデバイスに追加する監視対象ユーザーを選択してください。</translation>
 <translation id="6691331417640343772">Google ダッシュボードで同期データを管理</translation>
@@ -4015,6 +4013,7 @@
 <translation id="7040230719604914234">携帯通信会社</translation>
 <translation id="7042418530779813870">貼り付けて検索(&amp;S)</translation>
 <translation id="7043108582968290193">完了しました。互換性のないアプリケーションは見つかりませんでした。</translation>
+<translation id="7044124535091449260">サイトアクセスの詳細</translation>
 <translation id="7049293980323620022">ファイルを保存しますか?</translation>
 <translation id="7051943809462976355">マウスを探しています...</translation>
 <translation id="7052237160939977163">パフォーマンス追跡データを送信する</translation>
@@ -5108,7 +5107,6 @@
 <translation id="869884720829132584">アプリケーション メニュー</translation>
 <translation id="869891660844655955">有効期限</translation>
 <translation id="8699566574894671540">この機能をオンにするには、まず [編集] メニューの [入力中にスペルチェック] を選択します</translation>
-<translation id="870073306461175568">ネットワーク ファイル共有</translation>
 <translation id="8701677791353449257">デバイス名は正規表現 <ph name="REGEX" /> と一致する必要があります。</translation>
 <translation id="8704521619148782536">通常よりもかなり時間がかかっています。そのままお待ちいただくか、キャンセルし、しばらくしてからもう一度お試しください。</translation>
 <translation id="8705331520020532516">シリアル番号</translation>
@@ -5293,7 +5291,6 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> - クラッシュしました</translation>
 <translation id="8983677657449185470">セーフ ブラウジングの改善に協力する</translation>
 <translation id="8984179138335769204">クイック起動</translation>
-<translation id="8984654317541110628">ファイル共有 URL</translation>
 <translation id="8986362086234534611">切断</translation>
 <translation id="8986494364107987395">使用統計データと障害レポートを Google に自動送信します</translation>
 <translation id="8987927404178983737">月</translation>
diff --git a/chrome/app/resources/generated_resources_kn.xtb b/chrome/app/resources/generated_resources_kn.xtb
index 412e8a30..e65627e 100644
--- a/chrome/app/resources/generated_resources_kn.xtb
+++ b/chrome/app/resources/generated_resources_kn.xtb
@@ -271,6 +271,7 @@
 <translation id="1395730723686586365">ನವೀಕರಣವು ಪ್ರಾರಂಭಗೊಂಡಿದೆ</translation>
 <translation id="1396139853388185343">ಪ್ರಿಂಟರ್ ಹೊಂದಿಸುವಲ್ಲಿ ದೋಷ ಸಂಭವಿಸಿದೆ</translation>
 <translation id="1396963298126346194">ನೀವು ನಮೂದಿಸಿದ ಬಳಕೆದಾರ ಹೆಸರು ಮತ್ತು ಪಾಸ್‌ವರ್ಡ್‌ ಹೊಂದಿಕೆಯಾಗುವುದಿಲ್ಲ</translation>
+<translation id="1397500194120344683">ಯಾವುದೇ ಅರ್ಹ ಸಾಧನಗಳಿಲ್ಲ. <ph name="LINK_BEGIN" />ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ.<ph name="LINK_END" /></translation>
 <translation id="1397854323885047133">ಸಿಂಕ್‌ ಮತ್ತು ವೈಯಕ್ತೀಕರಣ</translation>
 <translation id="1398853756734560583">ಗರಿಷ್ಠಗೊಳಿಸು</translation>
 <translation id="1399511500114202393">ಯಾವುದೇ ಬಳಕೆದಾರ ಪ್ರಮಾಣಪತ್ರವಿಲ್ಲ</translation>
@@ -372,7 +373,6 @@
 <translation id="1531004739673299060">ಅಪ್ಲಿಕೇಶನ್ ವಿಂಡೋ</translation>
 <translation id="15373452373711364">ದೊಡ್ಡ ಮೌಸ್ ಕರ್ಸರ್</translation>
 <translation id="1538729222189715449">Linux ಫೈಲ್‌ಗಳನ್ನು ತೆರೆಯಲಾಗುತ್ತಿದೆ...</translation>
-<translation id="153933193410874873">ನಮಗೆ ಈ ಸಾಧನದಲ್ಲಿ ನಿಮ್ಮ ಗುರುತನ್ನು ಪರಿಶೀಲಿಸಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ</translation>
 <translation id="1540605929960647700">ಡೆಮೊ ಮೋಡ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ</translation>
 <translation id="1543284117603151572">Edge ನಿಂದ ಆಮದು ಮಾಡಿಕೊಳ್ಳಲಾಗಿದೆ</translation>
 <translation id="1545177026077493356">ಸ್ವಯಂಚಾಲಿತ ಕಿಯೋಸ್ಕ್ ಮೋಡ್</translation>
@@ -526,6 +526,7 @@
 <translation id="175772926354468439">ಥೀಮ್ ಸಕ್ರಿಯಗೊಳಿಸು</translation>
 <translation id="1758018619400202187">EAP-TLS</translation>
 <translation id="17584710573359123">Chrome ವೆಬ್‌ ಸ್ಟೋರ್‌ನಲ್ಲಿ ವೀಕ್ಷಿಸಿ</translation>
+<translation id="176193854664720708">ಪವರ್ ಬಟನ್‌ನಲ್ಲಿ ಫಿಂಗರ್‌ಪ್ರಿಂಟ್ ಸೆನ್ಸಾರ್ ಇದೆ. ಯಾವುದೇ ಬೆರಳಿನಿಂದ ಅದನ್ನು ಲಘುವಾಗಿ ಸ್ಪರ್ಶಿಸಿ.</translation>
 <translation id="1763046204212875858">ಅಪ್ಲಿಕೇಶನ್ ಶಾರ್ಟ್‌ಕಟ್‌ಗಳನ್ನು ರಚಿಸಿ</translation>
 <translation id="1763108912552529023">ಅನ್ವೇಷಣೆ ಮುಂದುವರಿಸು</translation>
 <translation id="1763808908432309942">ಹೊಸ ಟ್ಯಾಬ್‌ನಲ್ಲಿ ತೆರೆಯುತ್ತದೆ</translation>
@@ -679,7 +680,6 @@
 <translation id="1981115145845865539">ನಿಮ್ಮ <ph name="DEVICE_TYPE" /> ಅನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಅನ್‌ಲಾಕ್‌ ಮಾಡಿ</translation>
 <translation id="1983959805486816857">ನೀವು ಒಬ್ಬ ಹೊಸ ಮೇಲ್ವಿಚಾರಣೆ ಬಳಕೆದಾರರನ್ನು ರಚಿಸಿದ ನಂತರ, ನೀವು <ph name="MANAGEMENT_URL" /> ನಲ್ಲಿ ಯಾವುದೇ ಸಾಧನದಿಂದ ಯಾವುದೇ ಸಮಯದಲ್ಲಿ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ನಿರ್ವಹಿಸಬಹುದು.</translation>
 <translation id="1984642098429648350">ವಿಂಡೋ ಬಲಕ್ಕೆ ಡಾಕ್ ಮಾಡಿ</translation>
-<translation id="1987139229093034863">ಬೇರೆ ಬಳಕೆದಾರರಿಗೆ ಬದಲಿಸಿ.</translation>
 <translation id="1987317783729300807">ಖಾತೆಗಳು</translation>
 <translation id="1989112275319619282">ಬ್ರೌಸ್ ಮಾಡಿ</translation>
 <translation id="1992397118740194946">ಹೊಂದಿಸಿಲ್ಲ</translation>
@@ -820,6 +820,7 @@
 <translation id="2208158072373999562">ಜಿಪ್  ಆರ್ಕೈವ್</translation>
 <translation id="220858061631308971">ದಯವಿಟ್ಟು "<ph name="DEVICE_NAME" />" ಇದರಲ್ಲಿ ಈ ಪಿನ್ ಕೋಡ್ ಅನ್ನು ನಮೂದಿಸಿ :</translation>
 <translation id="2209593327042758816">ಶೆಲ್ಫ್ ಐಟಂ 2</translation>
+<translation id="2212126039311489237">ಸಿಸ್ಟಂ ಸಂವಾದವನ್ನು ಬಳಸಿಕೊಂಡು ಮುದ್ರಿಸಿ</translation>
 <translation id="2217501013957346740">ಹೆಸರು ರಚಿಸಿ -</translation>
 <translation id="2218019600945559112">ಮೌಸ್ ಮತ್ತು ಟಚ್‌ಪ್ಯಾಡ್</translation>
 <translation id="2218320521449013367">Chrome, ಹಾನಿಕಾರಕ ಸಾಫ್ಟ್‌ವೇರ್ ಅನ್ನು ತೆಗೆದುಹಾಕುವಾಗ ದೋಷ ಸಂಭವಿಸಿದೆ</translation>
@@ -932,6 +933,7 @@
 <translation id="2378075407703503998"><ph name="SELCTED_FILE_COUNT" /> ಫೈಲ್‌ಗಳನ್ನು ಆಯ್ಕೆ ಮಾಡಲಾಗಿದೆ</translation>
 <translation id="237828693408258535">ಈ ಪುಟವನ್ನು ಅನುವಾದಿಸುವುದೇ?</translation>
 <translation id="2378982052244864789">ವಿಸ್ತರಣೆ ಡೈರೆಕ್ಟರಿಯನ್ನು ಆಯ್ಕೆಮಾಡಿ.</translation>
+<translation id="2379281330731083556">ಸಿಸ್ಟಂ ಸಂವಾದವನ್ನು ಬಳಸಿ ಮುದ್ರಿಸಿ... <ph name="SHORTCUT_KEY" /></translation>
 <translation id="2381756643783702095">ಕಳುಹಿಸುವ ಮೊದಲು ಕೇಳಿ (ಶಿಫಾರಸು ಮಾಡಲಾಗಿದೆ)</translation>
 <translation id="2384436799579181135">ದೋಷ ಸಂಭವಿಸಿದೆ. ನಿಮ್ಮ ಪ್ರಿಂಟರ್ ಪರಿಶೀಲಿಸಿ ಮತ್ತು ಪುನಃ ಪ್ರಯತ್ನಿಸಿ.</translation>
 <translation id="2387458720915042159">ಪ್ರಾಕ್ಸಿ ಪ್ರಕಾರ ಸಂಪರ್ಕ</translation>
@@ -1111,6 +1113,7 @@
 <translation id="2653659639078652383">ಸಲ್ಲಿಸು</translation>
 <translation id="265390580714150011">ಕ್ಷೇತ್ರ ಮೌಲ್ಯ</translation>
 <translation id="2654166010170466751">ಪಾವತಿ ಹ್ಯಾಂಡ್‌ಲರ್‌ಗಳನ್ನು ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಲು ಸೈಟ್‌ ಸೆಟ್ಟಿಂಗ್‌ಗಳಲ್ಲಿ ಅನುಮತಿಸಿ</translation>
+<translation id="2656742821229528729">ನಿಮ್ಮ Android ಫೋನ್ ಮತ್ತು Chromebook ಅನ್ನು ಸಂಪರ್ಕಿಸುವುದರಿಂದ ನೀವು ನಿಮ್ಮ ಕಂಪ್ಯೂಟರ್‌ನಿಂದ ಸಂದೇಶವನ್ನು ಕಳುಹಿಸಬಹುದು, ನಿಮ್ಮ ಫೋನ್‌ನ ಇಂಟರ್ನೆಟ್ ಸಂಪರ್ಕವನ್ನು ಹಂಚಿಕೊಳ್ಳಬಹುದು, ಮತ್ತು ನಿಮ್ಮ ಫೋನ್‌ನಿಂದ Chromebook ಅನ್ನು ಅನ್‌ಲಾಕ್ ಮಾಡಬಹುದು. <ph name="FOOTNOTE_POINTER" /> <ph name="LINK_BEGIN" />ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ<ph name="LINK_END" /></translation>
 <translation id="2659381484350128933"><ph name="FOOTNOTE_POINTER" />ಸಾಧನದಿಂದ ಸಾಧನಕ್ಕೆ ವೈಶಿಷ್ಟ್ಯಗಳು ಬದಲಾಗುತ್ತವೆ</translation>
 <translation id="2660779039299703961">ಈವೆಂಟ್</translation>
 <translation id="266079277508604648">ಪ್ರಿಂಟರ್ ಅನ್ನು ಸಂಪರ್ಕಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. ಪ್ರಿಂಟರ್ ಆನ್ ಆಗಿದೆಯೇ ಮತ್ತು ಅದು ನಿಮ್ಮ Chromebook ಗೆ ವೈ-ಫೈ ಅಥವಾ USB ಮೂಲಕ ಸಂಪರ್ಕ ಹೊಂದಿದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸಿ.</translation>
@@ -1415,6 +1418,7 @@
 <translation id="3115128645424181617">ನಿಮ್ಮ ಫೋನ್‌ ಹುಡುಕಲು ಸಾಧ್ಯವಿಲ್ಲ. ಅದು ಸುಲಭವಾಗಿ ಲಭ್ಯವಿರುತ್ತದೆಯೇ ಮತ್ತು ಬ್ಲೂಟೂತ್‌ ಆನ್‌ ಮಾಡಲಾಗಿದೆಯೇ ಎಂಬುದನ್ನು ಖಚಿತಪಡಿಕೊಳ್ಳಿ.</translation>
 <translation id="3115147772012638511">ಕ್ಯಾಶ್‌ಗಾಗಿ ನಿರೀಕ್ಷಿಸುತ್ತಿದೆ...</translation>
 <translation id="3118319026408854581"><ph name="PRODUCT_NAME" /> ಸಹಾಯ</translation>
+<translation id="3119484583572640616">Better Together ಅನ್ನು ಆನ್ ಮಾಡುವುದರಿಂದ ಅದು ಈ ಕೆಲಸಗಳನ್ನು ಮಾಡಬಹುದು:</translation>
 <translation id="3120430004221004537">ನೀಡಿರುವ ಕಾರ್ಯಾಚರಣೆಗೆ ಈ ಸಾಧನದಲ್ಲಿ ಎನ್‌ಕ್ರಿಪ್ಶನ್ ಸಾಕಷ್ಟಿಲ್ಲ: "<ph name="DEVICE_NAME" />".</translation>
 <translation id="3121793941267913344">ಈ <ph name="IDS_SHORT_PRODUCT_NAME" /> ಸಾಧನವನ್ನು ಮರುಹೊಂದಿಸಿ</translation>
 <translation id="3122464029669770682">CPU</translation>
@@ -1729,6 +1733,7 @@
 <translation id="3596235046596950091">ಮೇಘ ಸೇವೆಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ</translation>
 <translation id="3599863153486145794">ಸೈನ್-ಇನ್ ಮಾಡಿರುವ ಎಲ್ಲ ಸಾಧನಗಳಿಂದ ಇತಿಹಾಸವನ್ನು ತೆರವುಗೊಳಿಸುತ್ತದೆ. ನಿಮ್ಮ Google ಖಾತೆಯು <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> ನಲ್ಲಿ ಇತರ ವಿಧಗಳ ಬ್ರೌಸಿಂಗ್ ಇತಿಹಾಸವನ್ನು ಹೊಂದಿರಬಹುದು.</translation>
 <translation id="3600792891314830896">ಕೆಲವು ಸೈಟ್‌ಗಳಲ್ಲಿ ಧ್ವನಿ ಪ್ಲೇ ಆಗುವುದನ್ನು ಮ್ಯೂಟ್ ಮಾಡಿ</translation>
+<translation id="360180734785106144">ಲಭ್ಯವಾದ ಹೊಸ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಆಫರ್ ಮಾಡಿ</translation>
 <translation id="3602290021589620013">ಪೂರ್ವವೀಕ್ಷಣೆ</translation>
 <translation id="3603533104205588786">ಪುಟವನ್ನು ಬುಕ್‌ಮಾರ್ಕ್‌ ಮಾಡಲು ನೀವು ನಕ್ಷತ್ರವನ್ನು ಕ್ಲಿಕ್ ಮಾಡಬಹುದು</translation>
 <translation id="3603622770190368340">ನೆಟ್‌ವರ್ಕ್ ಪ್ರಮಾಣಪತ್ರವನ್ನು ಪಡೆದುಕೊಳ್ಳಿ</translation>
@@ -2064,7 +2069,6 @@
 <translation id="4068506536726151626">ಈ ಪುಟವು ನಿಮ್ಮ ಸ್ಥಾನದ ನಿಗಾ ಇರಿಸುತ್ತಿರುವ ಈ ಕೆಳಗಿನ ಸೈಟ್‌ಗಳ ಮೂಲಾಂಶಗಳನ್ನು ಒಳಗೊಂಡಿದೆ:</translation>
 <translation id="4068776064906523561">ಉಳಿಸಿದ ಬೆರಳಚ್ಚುಗಳು</translation>
 <translation id="407173827865827707">ಕ್ಲಿಕ್ ಮಾಡಿದಾಗ</translation>
-<translation id="4071770069230198275"><ph name="PROFILE_NAME" />: ಸೈನ್‌ ಇನ್‌ ದೋಷ</translation>
 <translation id="4074900173531346617">ಇಮೇಲ್ ಸಹಿ ಮಾಡುವವರ ಪ್ರಮಾಣಪತ್ರ</translation>
 <translation id="407520071244661467">ಮಾಪಕ</translation>
 <translation id="4075639477629295004"><ph name="FILE_NAME" /> ಬಿತ್ತರಿಸಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ.</translation>
@@ -2868,6 +2872,7 @@
 <translation id="5332624210073556029">ಸಮಯ ವಲಯ:</translation>
 <translation id="5334142896108694079">ಸ್ಕ್ರಿಪ್ಟ್ ಸಂಗ್ರಹ</translation>
 <translation id="5334844597069022743">ಮೂಲ ವೀಕ್ಷಿಸಿ</translation>
+<translation id="5334899159203764908"><ph name="BEGIN_LINK" />ಸೈಟ್ ಪ್ರವೇಶ<ph name="END_LINK" /> ಕುರಿತು ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ</translation>
 <translation id="5335458522276292100"><ph name="BEGIN_LINK" />Google ಡ್ರೈವ್<ph name="END_LINK" /> ಗೆ <ph name="FILE_COUNT" /> ಅನ್ನು ಬ್ಯಾಕಪ್ ಮಾಡಲಾಗುತ್ತಿದೆ</translation>
 <translation id="5336126339807372270">USB ಸಾಧನಗಳಿಗೆ ಪ್ರವೇಶ ಪಡೆಯಲು ಯಾವುದೇ ಸೈಟ್‌ಗಳಿಗೂ ಅನುಮತಿಸಬೇಡಿ</translation>
 <translation id="5337771866151525739">ಮೂರನೇ ವ್ಯಕ್ತಿಯ ಮೂಲಕ ಸ್ಥಾಪಿಸಲಾಗಿದೆ.</translation>
@@ -2975,6 +2980,7 @@
 <translation id="5487521232677179737">ಡೇಟಾ ತೆರವುಗೊಳಿಸು</translation>
 <translation id="5488093641312826914">'<ph name="COPIED_ITEM_NAME" />' ಅನ್ನು ನಕಲಿಸಲಾಗಿದೆ</translation>
 <translation id="5488468185303821006">ಅಜ್ಞಾತವಾಗಿ ಅನುಮತಿಸಿ</translation>
+<translation id="5489121514345187313">ನಿಮ್ಮ Chromebook ನಿಮ್ಮ ಫೋನ್‌ನೊಂದಿಗೆ ಇನ್ನೂ ಉತ್ತಮವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ. ಇದರ ಬಗ್ಗೆ <ph name="LINK_BEGIN" />ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ.<ph name="LINK_END" /></translation>
 <translation id="5489435190927933437"><ph name="DOMAIN" /> ಸೈಟ್‌ಗಾಗಿ ಉಳಿಸಲಾದ ಪಾಸ್‌ವರ್ಡ್‌ಗಳು</translation>
 <translation id="5491110079163012109">ಸಿಸ್ಟಂ ಡೇಟಾ ಕಳುಹಿಸಿ. ಡಯಗ್ನೋಸ್ಟಿಕ್, ಸಾಧನ ಮತ್ತು ಅಪ್ಲಿಕೇಶನ್‌ ಬಳಕೆಯ ಡೇಟಾವನ್ನು Google ಗೆ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಕಳುಹಿಸಿ. ಈ ಸೆಟ್ಟಿಂಗ್‌ ಅನ್ನು ಮಾಲೀಕರು ಜಾರಿಗೊಳಿಸಿದ್ದಾರೆ. ಈ ಸಾಧನಕ್ಕಾಗಿ Google ಗೆ ಡಯಾಗ್ನೋಸ್ಟಿಕ್‌ ಮತ್ತು ಬಳಕೆಯ ಡೇಟಾವನ್ನು ಕಳುಹಿಸಲು ಮಾಲೀಕರು ಆಯ್ಕೆ ಮಾಡಬಹುದು. ನೀವು ಇದನ್ನು ಸೆಟ್ಟಿಂಗ್‌ಗಳಲ್ಲಿ ವೀಕ್ಷಿಸಬಹುದು. ನೀವು ಹೆಚ್ಚುವರಿ ವೆಬ್‌ ಮತ್ತು ಅಪ್ಲಿಕೇಶನ್‌ ಚಟುವಟಿಕೆಯನ್ನು ಆನ್‌ ಮಾಡಿದರೆ, ಈ ಮಾಹಿತಿಯು ನಿಮ್ಮ ಖಾತೆಯೊಂದಿಗೆ ಸಂಗ್ರಹವಾಗುತ್ತದೆ, ಇದರಿಂದಾಗಿ ಅದನ್ನು ನೀವು "ನನ್ನ ಚಟುವಟಿಕೆ"ಯಲ್ಲಿ ನಿರ್ವಹಿಸಬಹುದು. <ph name="BEGIN_LINK1" />ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ<ph name="END_LINK1" /></translation>
 <translation id="5493792505296048976">ಸ್ಕ್ರೀನ್ ಆನ್‌ ಆಗಿದೆ</translation>
@@ -3145,6 +3151,7 @@
 <translation id="5731409020711461763">1 ಹೊಸ ಫೋಟೋ</translation>
 <translation id="5734362860645681824">ಸಂವಹನಗಳು</translation>
 <translation id="5736796278325406685">ದಯವಿಟ್ಟು ಮಾನ್ಯವಾದ ಬಳಕೆದಾರ ಹೆಸರನ್ನು ನಮೂದಿಸಿ</translation>
+<translation id="5739235828260127894">ಪರಿಶೀಲನೆಗಾಗಿ ನಿರೀಕ್ಷಿಸಲಾಗುತ್ತಿದೆ. <ph name="LINK_BEGIN" />ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ.<ph name="LINK_END" /></translation>
 <translation id="5739458112391494395">ಅತ್ಯಂತ ದೊಡ್ಡದು</translation>
 <translation id="5740331643563157105"><ph name="LANGUAGE_1" />, <ph name="LANGUAGE_2" /> ಮತ್ತು <ph name="NUM_ADDITIONAL_LANGUAGES" /> ಇತರೆ</translation>
 <translation id="574209121243317957">ಪಿಚ್</translation>
@@ -3248,6 +3255,7 @@
 <translation id="5870086504539785141">ಪ್ರವೇಶಿಸುವಿಕೆ ಮೆನು ಮುಚ್ಚಿ</translation>
 <translation id="5870155679953074650">ಹಾರ್ಡ್ ಫಾಲ್ಟ್ಸ್</translation>
 <translation id="5877064549588274448">ಚಾನಲ್ ಬದಲಾಗಿದೆ. ಬದಲಾವಣೆಗಳನ್ನು ಅನ್ವಯಿಸಲು ನಿಮ್ಮ ಸಾಧನವನ್ನು ಮರುಪ್ರಾರಂಭಿಸಿ.</translation>
+<translation id="5877584842898320529">ಆಯ್ಕೆಮಾಡಿದ ಮುದ್ರಕವು ಲಭ್ಯವಿಲ್ಲ ಅಥವಾ ಸರಿಯಾಗಿ ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಲಾಗಿಲ್ಲ. <ph name="BR" /> ನಿಮ್ಮ ಮುದ್ರಕವನ್ನು ಪರೀಕ್ಷಿಸಿ ಅಥವಾ ಅವಶ್ಯವಿದ್ದರೆ ಬೇರೊಂದು ಮುದ್ರಕವನ್ನು ಆಯ್ಕೆಮಾಡಲು ಪ್ರಯತ್ನಿಸಿ.</translation>
 <translation id="5880247576487732437">ಟೋಕನ್ ಅಸ್ತಿತ್ವದಲ್ಲಿದೆ</translation>
 <translation id="5882919346125742463">ತಿಳಿದಿರುವ ನೆಟ್‌ವರ್ಕ್‌ಗಳು</translation>
 <translation id="5884474295213649357">ಈ ಟ್ಯಾಬ್ USB ಸಾಧನಕ್ಕೆ ಸಂಪರ್ಕಗೊಂಡಿದೆ.</translation>
@@ -3314,6 +3322,7 @@
 <translation id="5979469435153841984">ಪುಟಗಳನ್ನು ಬುಕ್‌ಮಾರ್ಕ್‌ ಮಾಡಲು, ವಿಳಾಸಪಟ್ಟಿಯಲ್ಲಿರುವ ನಕ್ಷತ್ರವನ್ನು ಕ್ಲಿಕ್ ಮಾಡಿ</translation>
 <translation id="5982621672636444458">ಆಯ್ಕೆಗಳನ್ನು ವಿಂಗಡಿಸು</translation>
 <translation id="5984222099446776634">ಇತ್ತೀಚೆಗೆ ಭೇಟಿ ನೀಡಿದವು</translation>
+<translation id="5985458664595100876">ಅಮಾನ್ಯ URL ಫಾರ್ಮ್ಯಾಟ್. ಬೆಂಬಲಿತ ಫಾರ್ಮ್ಯಾಟ್‌ಗಳು \\server\share and smb://server/share ಆಗಿವೆ.</translation>
 <translation id="5990142338020175451">ಉತ್ತಮ ಪುಟ ಸಲಹೆಗಳಂತಹ ಇನ್ನಷ್ಟು ವೈಯಕ್ತಿಕ Google ಸೇವೆಗಳು</translation>
 <translation id="5990386583461751448">ಅನುವಾದಿತ</translation>
 <translation id="5991049340509704927">ವರ್ಧಿಸು</translation>
@@ -3342,6 +3351,7 @@
 <translation id="6026819612896463875"><ph name="WINDOW_TITLE" /> - USB ಸಾಧನ ಸಂಪರ್ಕಗೊಂಡಿದೆ</translation>
 <translation id="6028117231645531007">ಫಿಂಗರ್‌ಪ್ರಿಂಟ್ ಸೇರಿಸಿ</translation>
 <translation id="6029027682598229313">Linux ಇನ್‌ಸ್ಟಾಲ್‌ ಮಾಡುವಿಕೆ ಪೂರ್ಣಗೊಂಡಿದೆ.</translation>
+<translation id="6029292188939175871">[<ph name="FINGERPRINT_NAME" />], ಬಟನ್ ಅನ್ನು ಅಳಿಸಿ</translation>
 <translation id="6029587122245504742">ಅತಿ ನಿಧಾನ</translation>
 <translation id="6032912588568283682">ಫೈಲ್ ಸಿಸ್ಟಂ</translation>
 <translation id="6034662038931255275">OS ಅಪ್‌ಡೇಟ್ ಯಶಸ್ವಿಯಾಗಿದೆ</translation>
@@ -3455,7 +3465,6 @@
 <translation id="6185132558746749656">ಸಾಧನದ ಸ್ಥಳ</translation>
 <translation id="6185617499004995178">CUPS IPP ಮೌಲ್ಯಮಾಪಕ</translation>
 <translation id="6185696379715117369">Page up</translation>
-<translation id="6189273858858366896">ನೆಟ್‌ವರ್ಕ್‌ ಫೈಲ್‌ ಹಂಚಿಕೆಗಳನ್ನು ಸೆಟಪ್‌ ಮಾಡಿ ಅಥವಾ ನಿರ್ವಹಿಸಿ.</translation>
 <translation id="6189412234224385711"><ph name="EXTENSION_NAME" /> ಮೂಲಕ ತೆರೆಯಿರಿ</translation>
 <translation id="6196640612572343990">ಥರ್ಡ್ ಪಾರ್ಟಿ ಕುಕೀಗಳನ್ನು ನಿರ್ಬಂಧಿಸಿ</translation>
 <translation id="6196854373336333322">ನಿಮ್ಮ ಪ್ರಾಕ್ಸಿ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು "<ph name="EXTENSION_NAME" />" ವಿಸ್ತರಣೆಯು ನಿಯಂತ್ರಣಕ್ಕೆ ತೆಗೆದುಕೊಂಡಿದೆ. ಅಂದರೆ, ನೀವು ಆನ್‌ಲೈನ್‌ನಲ್ಲಿ ಮಾಡುವ ಯಾವುದೇ ಕಾರ್ಯವನ್ನು ಇದು ಬದಲಾಯಿಸಬಹುದು, ಒಳನುಸುಳಬಹುದು ಅಥವಾ ಕದ್ದಾಲಿಸಬಹುದು ಎಂದರ್ಥ. ಇದು ಹೇಗೆ ಸಂಭವಿಸಿದೆ ಎಂಬುದೇ ನಿಮಗೆ ಖಚಿತವಿಲ್ಲದಿದ್ದರೆ, ನಿಮಗೆ ಬಹುಶಃ ಇದು ಬೇಕಾಗಿಲ್ಲ.</translation>
@@ -3760,6 +3769,7 @@
 <translation id="6643016212128521049">ತೆರವುಗೊಳಿಸಿ</translation>
 <translation id="6644512095122093795">ಪಾಸ್‌ವರ್ಡ್‌ಗಳನ್ನು ಉಳಿಸಲು ಸೂಚಿಸು</translation>
 <translation id="6644846457769259194">ನಿಮ್ಮ ಸಾಧನವನ್ನು ಅಪ್‌ಡೇಟ್ ಮಾಡಲಾಗುತ್ತಿದೆ (<ph name="PROGRESS_PERCENT" />)</translation>
+<translation id="6645437135153136856">Google ಕ್ಲೌಡ್‌ ಮುದ್ರಣ ಸಾಧನವು ಇನ್ನು ಮುಂದೆ ಬೆಂಬಲಿಸುವುದಿಲ್ಲ. <ph name="BR" /> ನಿಮ್ಮ ಕಂಪ್ಯೂಟರ್‌ ಸಿಸ್ಟಮ್‌ ಸೆಟ್ಟಿಂಗ್‌ಗಳಲ್ಲಿನ ಪ್ರಿಂಟರ್‌ ಅನ್ನು ಸೆಟಪ್‌ ಮಾಡಲು ಪ್ರಯತ್ನಿಸಿ.</translation>
 <translation id="6647228709620733774">Netscape ಪ್ರಮಾಣಪತ್ರ ಪ್ರಾಧಿಕಾರ ಹಿಂತೆಗೆದುಕೊಳ್ಳುವಿಕೆ URL</translation>
 <translation id="6647838571840953560">ಪ್ರಸ್ತುತ <ph name="CHANNEL_NAME" /> ನಲ್ಲಿ</translation>
 <translation id="6648051959475508072">ಸುರಕ್ಷತಾ ಕೀ ಸಕ್ರಿಯಗೊಂಡಿದೆ...</translation>
@@ -3781,16 +3791,14 @@
 <translation id="667517062706956822"><ph name="SOURCE_LANGUAGE" /> ಭಾಷೆಯಿಂದ <ph name="TARGET_LANGUAGE" /> ಭಾಷೆಗೆ ಈ ಪುಟವನ್ನು ಅನುವಾದಿಸಲು ನಿಮಗೆ Google ಸಹಾಯ ಬೇಕೇ?</translation>
 <translation id="6675665718701918026">ಪಾಯಿಂಟಿಂಗ್ ಸಾಧನ ಸಂಪರ್ಕಿಸಲಾಗಿದೆ</translation>
 <translation id="6678717876183468697">ಕ್ವೆರಿ URL</translation>
-<translation id="6680028776254050810">ಬಳಕೆದಾರರನ್ನು ಬದಲಿಸಿ</translation>
 <translation id="6680442031740878064">ಲಭ್ಯವಿದೆ: <ph name="AVAILABLE_SPACE" /></translation>
 <translation id="6680650203439190394">ದರ</translation>
 <translation id="6681668084120808868">ಫೋಟೋ ತೆಗೆಯಿರಿ</translation>
 <translation id="6681964764822470072">"<ph name="APP_NAME" />" ಅಸ್ಥಾಪಿಸಲಾಗುವುದು.</translation>
-<translation id="6685083257944113180"><ph name="SINK_NAME" />, <ph name="SINK_STATUS" /> ನಿಲ್ಲಿಸಿ</translation>
+<translation id="6685083257944113180">ನಿಲ್ಲಿಸಿ, <ph name="SINK_NAME" />, <ph name="SINK_STATUS" /></translation>
 <translation id="668599234725812620">Google Play ತೆರೆಯಿರಿ</translation>
 <translation id="6686490380836145850">ಬಲಗಡೆಗೆ ಟ್ಯಾಬ್ ಅನ್ನು ಮುಚ್ಚಿರಿ</translation>
 <translation id="6686817083349815241">ನಿಮ್ಮ ಪಾಸ್‌ವರ್ಡ್‌ ಉಳಿಸಿ</translation>
-<translation id="6690565918367819723"><ph name="PROFILE_NAME" /> ವ್ಯಕ್ತಿಯನ್ನು ಬದಲಾಯಿಸು</translation>
 <translation id="6690659332373509948">ಫೈಲ್ ಅನ್ನು ಪಾರ್ಸ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ: <ph name="FILE_NAME" /></translation>
 <translation id="6690751852586194791">ಈ ಸಾಧನಕ್ಕೆ ಸೇರಿಸಲು ಮೇಲ್ವಿಚಾರಣೆ ಬಳಕೆದಾರರನ್ನು ಆಯ್ಕೆಮಾಡಿ.</translation>
 <translation id="6691331417640343772">ಸಿಂಕ್ ಆಗಿರುವ ಡೇಟಾವನ್ನು Google ಡ್ಯಾಶ್‌ಬೋರ್ಡ್‌ನಲ್ಲಿ ನಿರ್ವಹಿಸಿ</translation>
@@ -4127,6 +4135,7 @@
 <translation id="7201118060536064622">'<ph name="DELETED_ITEM_NAME" />' ಅನ್ನು ಅಳಿಸಲಾಗಿದೆ</translation>
 <translation id="7206693748120342859"><ph name="PLUGIN_NAME" /> ಅನ್ನು ಡೌನ್‌ಲೋಡ್ ಮಾಡಲಾಗುತ್ತಿದೆ...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{ನಿರ್ಗಮನ ಪುಟ}one{ನಿರ್ಗಮನ ಪುಟಗಳು}other{ನಿರ್ಗಮನ ಪುಟಗಳು}}</translation>
+<translation id="7210499381659830293">ವಿಸ್ತರಣೆ ಮುದ್ರಕಗಳು</translation>
 <translation id="721467499098558573">ನಿಮ್ಮ ಸುರಕ್ಷತಾ ಕೀಯ ಮೇಲಿನ ಬಟನ್ ಅನ್ನು ಕನಿಷ್ಠ 5 ಸೆಕೆಂಡುಗಳವರೆಗೆ ಒತ್ತಿ ಹಿಡಿದುಕೊಳ್ಳಿ</translation>
 <translation id="7216409898977639127">ಸೆಲ್ಯುಲಾರ್ ಒದಗಿಸುವವರು</translation>
 <translation id="7216595297012131718">ನಿಮ್ಮ ಆದ್ಯತೆಯನ್ನು ಆಧರಿಸಿ ಭಾಷೆಗಳನ್ನು ಕ್ರಮಗೊಳಿಸಿ</translation>
@@ -4205,6 +4214,7 @@
 <translation id="7321545336522791733">ಸರ್ವರ್ ತಲುಪಲಾಗುತ್ತಿಲ್ಲ</translation>
 <translation id="7324297612904500502">ಬೀಟಾ ಫೋರಮ್‌</translation>
 <translation id="7325437708553334317">ಉನ್ನತ ಕಾಂಟ್ರಾಸ್ಟ್ ವಿಸ್ತರಣೆ</translation>
+<translation id="7328162502911382168">(<ph name="COUNT" />)</translation>
 <translation id="7328867076235380839">ಅಮಾನ್ಯ ಸಂಯೋಜನೆ</translation>
 <translation id="7329154610228416156">ಸೈನ್‌ ಇನ್‌ ವಿಫಲಗೊಂಡಿದೆ ಏಕೆಂದರೆ ಅದು ಸುರಕ್ಷಿತವಲ್ಲದ URL (<ph name="BLOCKED_URL" />) ಬಳಸುವಂತೆ ಕಾನ್ಫಿಗರ್‌‌ ಮಾಡಲಾಗಿದೆ. ದಯವಿಟ್ಟು ನಿಮ್ಮ ನಿರ್ವಾಹಕರನ್ನು ಸಂಪರ್ಕಿಸಿ.</translation>
 <translation id="7334190995941642545">Smart Lock ಪ್ರಸ್ತುತ ಲಭ್ಯವಿಲ್ಲ. ದಯವಿಟ್ಟು ನಂತರ ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ.</translation>
@@ -4787,6 +4797,7 @@
 <translation id="8199300056570174101">ನೆಟ್‌ವರ್ಕ್ (ಸೇವೆ) ಮತ್ತು ಸಾಧನದ ಗುಣಲಕ್ಷಣಗಳು</translation>
 <translation id="8200772114523450471">ಪುನರಾರಂಭಿಸು</translation>
 <translation id="8202160505685531999">ನಿಮ್ಮ <ph name="DEVICE_TYPE" /> ಪ್ರೊಫೈಲ್ ಅಪ್‌‌ಡೇಟ್‌ ಮಾಡಲು ನಿಮ್ಮ ಪಾಸ್‌ವರ್ಡ್‌ ಮರುನಮೂದಿಸಿ.</translation>
+<translation id="8203732864715032075">ನಿಮಗೆ ಅಧಿಸೂಚನೆಗಳನ್ನು ಕಳುಹಿಸುತ್ತದೆ ಮತ್ತು ಸಂದೇಶಗಳನ್ನು ನೆನಪಿನಲ್ಲಿಟ್ಟುಕೊಳ್ಳಲು ಈ ಕಂಪ್ಯೂಟರ್ ಅನ್ನು ಪೂರ್ವನಿಯೋಜಿಸಲಾಗಿರುತ್ತದೆ.<ph name="LINK_BEGIN" />ಇನ್ನಷ್ಟು ತಿಳಿದುಕೊಳ್ಳಿ<ph name="LINK_END" /></translation>
 <translation id="8206354486702514201">ಈ ಸೆಟ್ಟಿಂಗ್ ಅನ್ನು ನಿಮ್ಮ ನಿರ್ವಾಹಕರಿಂದ ಜಾರಿಗೊಳಿಸಲಾಗಿದೆ.</translation>
 <translation id="8206745257863499010">ಬ್ಲೂಸಿ</translation>
 <translation id="8209677645716428427">ಮೇಲ್ವಿಚಾರಣೆ ಬಳಕೆದಾರರು ನಿಮ್ಮ ಮಾರ್ಗದರ್ಶನದೊಂದಿಗೆ ವೆಬ್ ಅನ್ನು ಎಕ್ಸ್‌ಪ್ಲೋರ್ ಮಾಡಬಹುದು. Chrome ನಲ್ಲಿ ಮೇಲ್ವಿಚಾರಣೆ ಬಳಕೆದಾರರ ನಿರ್ವಾಹಕರಾಗಿ, ನೀವು ಈ ಎಲ್ಲವನ್ನೂ ಮಾಡಬಹುದು:</translation>
@@ -5101,7 +5112,6 @@
 <translation id="869884720829132584">ಅಪ್ಲಿಕೇಶನ್‌ಗಳ ಮೆನು</translation>
 <translation id="869891660844655955">ಅವಧಿ ಮುಗಿಯುವ ದಿನಾಂಕ</translation>
 <translation id="8699566574894671540">ಇದನ್ನು ಆನ್ ಮಾಡಲು, ಮೊದಲಿಗೆ ಎಡಿಟ್ ಮೆನುವಿನಲ್ಲಿ 'ಟೈಪ್ ಮಾಡುವಾಗ ಕಾಗುಣಿತ ಪರಿಶೀಲಿಸಿ' ಅನ್ನು ಆಯ್ಕೆ ಮಾಡಿ</translation>
-<translation id="870073306461175568">ನೆಟ್‌ವರ್ಕ್‌ ಫೈಲ್‌ ಹಂಚಿಕೆಗಳು</translation>
 <translation id="8701677791353449257">ಸಾಧನದ ಹೆಸರು, ರೆಗ್ಯುಲರ್ ಎಕ್ಸ್‌ಪ್ರೆಶನ್ <ph name="REGEX" /> ಗೆ ಹೊಂದಾಣಿಕೆಯಾಗಬೇಕು.</translation>
 <translation id="8704521619148782536">ಇದು ಸಾಮಾನ್ಯಕ್ಕಿಂತ ಹೆಚ್ಚು ಸಮಯ ತೆಗೆದುಕೊಳ್ಳುತ್ತಿದೆ. ನೀವು ನಿರೀಕ್ಷಿಸಬಹುದು, ಅಥವಾ ರದ್ದುಪಡಿಸಿ ನಂತರ ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಬಹುದು.</translation>
 <translation id="8705331520020532516">ಕ್ರಮ ಸಂಖ್ಯೆ</translation>
@@ -5286,7 +5296,6 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> - ಕ್ರ್ಯಾಶ್ ಮಾಡಲಾಗಿದೆ</translation>
 <translation id="8983677657449185470">ಸುರಕ್ಷಿತ ಬ್ರೌಸಿಂಗ್ ಸುಧಾರಿಸಲು ಸಹಾಯ ಮಾಡಿ</translation>
 <translation id="8984179138335769204">ಶೀಘ್ರ ಬಿಡುಗಡೆ</translation>
-<translation id="8984654317541110628">ಫೈಲ್‌ ಹಂಚಿಕೊಳ್ಳುವ URL</translation>
 <translation id="8986362086234534611">ಮರೆತುಹೋಗು</translation>
 <translation id="8986494364107987395">ಬಳಕೆಯ ಅಂಕಿಅಂಶಗಳನ್ನು ಮತ್ತು ಕ್ರಾಶ್ ವರದಿಗಳನ್ನು Google ಗೆ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ರವಾನಿಸು</translation>
 <translation id="8987927404178983737">ತಿಂಗಳು</translation>
diff --git a/chrome/app/resources/generated_resources_ko.xtb b/chrome/app/resources/generated_resources_ko.xtb
index aa607e3..5ab1ffab 100644
--- a/chrome/app/resources/generated_resources_ko.xtb
+++ b/chrome/app/resources/generated_resources_ko.xtb
@@ -375,7 +375,6 @@
 <translation id="1531004739673299060">애플리케이션 창</translation>
 <translation id="15373452373711364">큰 마우스 커서</translation>
 <translation id="1538729222189715449">Linux 파일을 여는 중...</translation>
-<translation id="153933193410874873">이 기기에서 신원을 인증할 수 없습니다.</translation>
 <translation id="1540605929960647700">데모 모드 사용</translation>
 <translation id="1543284117603151572">Edge에서 가져옴</translation>
 <translation id="1545177026077493356">자동 키오스크 모드</translation>
@@ -682,7 +681,6 @@
 <translation id="1981115145845865539"><ph name="DEVICE_TYPE" />을(를) 자동으로 잠금 해제</translation>
 <translation id="1983959805486816857">새로운 관리 대상 사용자를 만든 후에는 언제 어떤 기기를 사용하든 <ph name="MANAGEMENT_URL" /> 페이지에서 설정을 관리할 수 있습니다.</translation>
 <translation id="1984642098429648350">창을 오른쪽에 고정</translation>
-<translation id="1987139229093034863">다른 사용자로 전환합니다.</translation>
 <translation id="1987317783729300807">계정</translation>
 <translation id="1989112275319619282">찾아보기</translation>
 <translation id="1992397118740194946">설정 안됨</translation>
@@ -935,6 +933,7 @@
 <translation id="2378075407703503998"><ph name="SELCTED_FILE_COUNT" />개의 파일이 선택됨</translation>
 <translation id="237828693408258535">이 페이지를 번역하시겠습니까?</translation>
 <translation id="2378982052244864789">확장 프로그램 디렉토리를 선택합니다.</translation>
+<translation id="2379281330731083556">시스템 대화상자를 사용하여 인쇄... <ph name="SHORTCUT_KEY" /></translation>
 <translation id="2381756643783702095">보내기 전에 확인(권장)</translation>
 <translation id="2384436799579181135">오류가 발생했습니다. 프린터를 확인한 후 다시 시도해 주세요.</translation>
 <translation id="2387458720915042159">프록시 연결 유형</translation>
@@ -2067,7 +2066,6 @@
 <translation id="4068506536726151626">이 페이지에는 사용자 위치를 추적하는 다음 사이트의 요소가 포함되어 있습니다.</translation>
 <translation id="4068776064906523561">저장된 지문</translation>
 <translation id="407173827865827707">클릭 시</translation>
-<translation id="4071770069230198275"><ph name="PROFILE_NAME" />: 로그인 오류</translation>
 <translation id="4074900173531346617">이메일 서명자 인증서</translation>
 <translation id="407520071244661467">배율</translation>
 <translation id="4075639477629295004"><ph name="FILE_NAME" />을(를) 전송할 수 없습니다.</translation>
@@ -2867,6 +2865,7 @@
 <translation id="5332624210073556029">표준시간대:</translation>
 <translation id="5334142896108694079">스크립트 캐시</translation>
 <translation id="5334844597069022743">소스 보기</translation>
+<translation id="5334899159203764908"><ph name="BEGIN_LINK" />사이트 액세스 권한<ph name="END_LINK" /> 자세히 알아보기</translation>
 <translation id="5335458522276292100"><ph name="BEGIN_LINK" />Google 드라이브<ph name="END_LINK" />에 파일 <ph name="FILE_COUNT" />개 백업 중</translation>
 <translation id="5336126339807372270">모든 사이트의 USB 기기 액세스를 허용하지 않음</translation>
 <translation id="5337771866151525739">제3자에 의해 설치되었습니다.</translation>
@@ -3455,7 +3454,6 @@
 <translation id="6185132558746749656">기기 위치</translation>
 <translation id="6185617499004995178">CUPS IPP 검사기</translation>
 <translation id="6185696379715117369">페이지 위로</translation>
-<translation id="6189273858858366896">Network File Shares를 설정하거나 관리합니다.</translation>
 <translation id="6189412234224385711"><ph name="EXTENSION_NAME" />(으)로 열기</translation>
 <translation id="6196640612572343990">타사 쿠키 차단</translation>
 <translation id="6196854373336333322">'<ph name="EXTENSION_NAME" />' 확장 프로그램이 프록시 설정을 제어할 수 있게 되었으며, 따라서 사용자가 온라인에서 수행하는 모든 작업을 변경, 중단하거나 엿볼 수 있게 되었습니다. 이와 같이 변경된 이유를 잘 모른다면 이 설정을 사용하지 않는 것이 좋습니다.</translation>
@@ -3782,7 +3780,6 @@
 <translation id="667517062706956822">Google에서 이 페이지를 <ph name="SOURCE_LANGUAGE" />에서 <ph name="TARGET_LANGUAGE" />로 번역할까요?</translation>
 <translation id="6675665718701918026">포인팅 기기 연결됨</translation>
 <translation id="6678717876183468697">쿼리 URL</translation>
-<translation id="6680028776254050810">사용자 전환</translation>
 <translation id="6680442031740878064">사용 가능한 저장용량: <ph name="AVAILABLE_SPACE" /></translation>
 <translation id="6680650203439190394">평가</translation>
 <translation id="6681668084120808868">사진 찍기</translation>
@@ -3791,7 +3788,6 @@
 <translation id="668599234725812620">Google Play 열기</translation>
 <translation id="6686490380836145850">우측 탭 닫기</translation>
 <translation id="6686817083349815241">비밀번호 저장</translation>
-<translation id="6690565918367819723"><ph name="PROFILE_NAME" /> 사용자 전환</translation>
 <translation id="6690659332373509948">파일을 파싱할 수 없음: <ph name="FILE_NAME" /></translation>
 <translation id="6690751852586194791">이 기기에 추가할 관리 대상 사용자를 선택하세요.</translation>
 <translation id="6691331417640343772">Google 대시보드에서 동기화된 데이터 관리</translation>
@@ -5108,7 +5104,6 @@
 <translation id="869884720829132584">애플리케이션 메뉴</translation>
 <translation id="869891660844655955">유효기간</translation>
 <translation id="8699566574894671540">이 기능을 사용 설정하려면 먼저 편집 메뉴에서 '입력하는 동안에 영문 철자 검사'를 선택하세요.</translation>
-<translation id="870073306461175568">Network File Shares</translation>
 <translation id="8701677791353449257">기기 이름이 정규 표현식 <ph name="REGEX" />과(와) 일치해야 합니다.</translation>
 <translation id="8704521619148782536">평소보다 훨씬 오래 걸리는 것 같습니다. 계속 기다리거나, 취소하고 나중에 다시 시도해 보세요.</translation>
 <translation id="8705331520020532516">일련번호</translation>
@@ -5293,7 +5288,6 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> - 비정상 종료됨</translation>
 <translation id="8983677657449185470">세이프 브라우징 개선에 참여</translation>
 <translation id="8984179138335769204">빠른 실행</translation>
-<translation id="8984654317541110628">파일 공유 URL</translation>
 <translation id="8986362086234534611">저장 안함</translation>
 <translation id="8986494364107987395">사용 통계 및 비정상 종료 보고서를 Google에 자동으로 보내기</translation>
 <translation id="8987927404178983737">월</translation>
diff --git a/chrome/app/resources/generated_resources_lt.xtb b/chrome/app/resources/generated_resources_lt.xtb
index c14658b..375bafd 100644
--- a/chrome/app/resources/generated_resources_lt.xtb
+++ b/chrome/app/resources/generated_resources_lt.xtb
@@ -375,7 +375,6 @@
 <translation id="1531004739673299060">Programos langas</translation>
 <translation id="15373452373711364">Didelis pelės žymeklis</translation>
 <translation id="1538729222189715449">Atidaromi „Linux“ failai...</translation>
-<translation id="153933193410874873">Nepavyko patvirtinti tapatybės šiame įrenginyje</translation>
 <translation id="1540605929960647700">Demonstracinio režimo įgalinimas</translation>
 <translation id="1543284117603151572">Importuota iš „Edge“</translation>
 <translation id="1545177026077493356">Automatinis viešojo terminalo režimas</translation>
@@ -682,7 +681,6 @@
 <translation id="1981115145845865539">Automatinis „<ph name="DEVICE_TYPE" />“ atrakinimas</translation>
 <translation id="1983959805486816857">Sukūrę naują prižiūrimą naudotoją galite bet kada valdyti nustatymus iš bet kurio įrenginio adresu <ph name="MANAGEMENT_URL" />.</translation>
 <translation id="1984642098429648350">Pritvirtinti langą dešinėje</translation>
-<translation id="1987139229093034863">Perjungti kitą naudotoją.</translation>
 <translation id="1987317783729300807">Paskyros</translation>
 <translation id="1989112275319619282">Naršyti</translation>
 <translation id="1992397118740194946">Nenustatyta</translation>
@@ -935,6 +933,7 @@
 <translation id="2378075407703503998">Pasirinkta failų: <ph name="SELCTED_FILE_COUNT" /></translation>
 <translation id="237828693408258535">Išversti šį puslapį?</translation>
 <translation id="2378982052244864789">Pasirinkti plėtinio katalogą.</translation>
+<translation id="2379281330731083556">Spausdinti naudojant sistemos dialogo langą... <ph name="SHORTCUT_KEY" /></translation>
 <translation id="2381756643783702095">Klausti prieš siunčiant (rekomenduojama)</translation>
 <translation id="2384436799579181135">Įvyko klaida. Patikrinkite spausdintuvą ir bandykite dar kartą.</translation>
 <translation id="2387458720915042159">Tarpinio serverio ryšio tipas</translation>
@@ -2067,7 +2066,6 @@
 <translation id="4068506536726151626">Šiame puslapyje yra elementų iš šių svetainių, kuriose stebima jūsų vietovė:</translation>
 <translation id="4068776064906523561">Išsaugoti kontroliniai kodai</translation>
 <translation id="407173827865827707">Spustelėjus</translation>
-<translation id="4071770069230198275"><ph name="PROFILE_NAME" />: prisijungimo klaida</translation>
 <translation id="4074900173531346617">El. laiškus pasirašančiojo sertifikatas</translation>
 <translation id="407520071244661467">Mastelis</translation>
 <translation id="4075639477629295004">Nepavyko perduoti „<ph name="FILE_NAME" />“.</translation>
@@ -2869,6 +2867,7 @@
 <translation id="5332624210073556029">Laiko juosta:</translation>
 <translation id="5334142896108694079">Scenarijų talpykla</translation>
 <translation id="5334844597069022743">Žiūrėti šaltinį</translation>
+<translation id="5334899159203764908">Sužinokite daugiau apie <ph name="BEGIN_LINK" />prieigą prie svetainės<ph name="END_LINK" /></translation>
 <translation id="5335458522276292100">Kuriama <ph name="FILE_COUNT" /> atsarginė kopija <ph name="BEGIN_LINK" />„Google“ diske<ph name="END_LINK" /></translation>
 <translation id="5336126339807372270">Neleisti svetainėms pasiekti USB įrenginių</translation>
 <translation id="5337771866151525739">Įdiegė trečioji šalis.</translation>
@@ -3458,7 +3457,6 @@
 <translation id="6185132558746749656">Įrenginio vietovė</translation>
 <translation id="6185617499004995178">CUPS IPP patvirtinimo priemonė</translation>
 <translation id="6185696379715117369">Puslapiu aukštyn</translation>
-<translation id="6189273858858366896">Nustatykite arba tvarkykite tinklo failų bendrinimą.</translation>
 <translation id="6189412234224385711">Atidaryti naudojant „<ph name="EXTENSION_NAME" />“</translation>
 <translation id="6196640612572343990">Blokuoti trečiosios šalies slapukus</translation>
 <translation id="6196854373336333322">Plėtinys „<ph name="EXTENSION_NAME" />“ perėmė tarpinio serverio valdymą. Tai reiškia, kad jis gali keisti, nutraukti ar stebėti visus prisijungus atliekamus veiksmus. Jei nesate tikri, kodėl įvyko šis pakeitimas, tikriausiai jūs jo nenorite.</translation>
@@ -3785,7 +3783,6 @@
 <translation id="667517062706956822">Ar norite, kad „Google“ išverstų puslapį iš <ph name="SOURCE_LANGUAGE" /> į <ph name="TARGET_LANGUAGE" />?</translation>
 <translation id="6675665718701918026">Manipuliatorius prijungtas</translation>
 <translation id="6678717876183468697">Užklausos URL</translation>
-<translation id="6680028776254050810">Perjungti naudotojus</translation>
 <translation id="6680442031740878064">Pasiekiama: <ph name="AVAILABLE_SPACE" /></translation>
 <translation id="6680650203439190394">Sparta</translation>
 <translation id="6681668084120808868">Fotografuoti</translation>
@@ -3794,7 +3791,6 @@
 <translation id="668599234725812620">Atidaryti „Google Play“</translation>
 <translation id="6686490380836145850">Uždaryti dešinėje esančius skirtukus</translation>
 <translation id="6686817083349815241">Išsaugokite slaptažodį</translation>
-<translation id="6690565918367819723"><ph name="PROFILE_NAME" /> – perjungti asmenį</translation>
 <translation id="6690659332373509948">Nepavyksta išanalizuoti failo: „<ph name="FILE_NAME" />“</translation>
 <translation id="6690751852586194791">Pasirinkite prižiūrimą naudotoją, kuris bus pridėtas prie šio įrenginio.</translation>
 <translation id="6691331417640343772">Sinchronizuotų duomenų tvarkymas „Google“ informacijos suvestinėje</translation>
@@ -5111,7 +5107,6 @@
 <translation id="869884720829132584">Programų meniu</translation>
 <translation id="869891660844655955">Galiojimo data</translation>
 <translation id="8699566574894671540">Norėdami tai įjungti, pirmiausia pasirinkite parinktį „Check spelling while typing“, esančią meniu „Edit“</translation>
-<translation id="870073306461175568">Tinklo failų bendrinimas</translation>
 <translation id="8701677791353449257">Įrenginio pavadinimas turi atitikti reguliarųjį reiškinį „<ph name="REGEX" />“.</translation>
 <translation id="8704521619148782536">Tai trunka ilgiau nei paprastai. Galite palaukti arba atšaukti ir vėliau bandyti dar kartą.</translation>
 <translation id="8705331520020532516">Serijos numeris</translation>
@@ -5296,7 +5291,6 @@
 <translation id="8980951173413349704">„<ph name="WINDOW_TITLE" />“ – užstrigo</translation>
 <translation id="8983677657449185470">Padėti tobulinti Saugų naršymą</translation>
 <translation id="8984179138335769204">Greitasis paleidimas</translation>
-<translation id="8984654317541110628">Failo bendrinimo URL</translation>
 <translation id="8986362086234534611">Pamiršti</translation>
 <translation id="8986494364107987395">Automatiškai siųsti naudojimo statistiką ir strigčių ataskaitas „Google“</translation>
 <translation id="8987927404178983737">Mėnuo</translation>
diff --git a/chrome/app/resources/generated_resources_lv.xtb b/chrome/app/resources/generated_resources_lv.xtb
index 94a13926..6626bd7 100644
--- a/chrome/app/resources/generated_resources_lv.xtb
+++ b/chrome/app/resources/generated_resources_lv.xtb
@@ -275,6 +275,7 @@
 <translation id="1395730723686586365">Startēts atjauninātājs</translation>
 <translation id="1396139853388185343">Kļūda, iestatot printeri</translation>
 <translation id="1396963298126346194">Ievadītais lietotājvārds un parole neatbilst.</translation>
+<translation id="1397500194120344683">Nav piemērotu ierīču. <ph name="LINK_BEGIN" />Uzziniet vairāk<ph name="LINK_END" />.</translation>
 <translation id="1397854323885047133">Sinhronizēšana un personalizācija</translation>
 <translation id="1398853756734560583">Maksimizēt</translation>
 <translation id="1399511500114202393">Bez lietotāja sertifikāta</translation>
@@ -375,7 +376,6 @@
 <translation id="1531004739673299060">Lietojumprogrammas logs</translation>
 <translation id="15373452373711364">Liels peles kursors</translation>
 <translation id="1538729222189715449">Notiek Linux failu atvēršana…</translation>
-<translation id="153933193410874873">Neizdevās apstiprināt jūsu identitāti šajā ierīcē.</translation>
 <translation id="1540605929960647700">Demonstrācijas režīma iespējošana</translation>
 <translation id="1543284117603151572">Importētas no pārlūkprogrammas Edge</translation>
 <translation id="1545177026077493356">Automātiskais kioska režīms</translation>
@@ -529,6 +529,7 @@
 <translation id="175772926354468439">Iespējot motīvu</translation>
 <translation id="1758018619400202187">EAP-TLS</translation>
 <translation id="17584710573359123">Skatīt Chrome interneta veikalā</translation>
+<translation id="176193854664720708">Pirksta nospieduma sensors atrodas barošanas pogā. Viegli pieskarieties tai ar jebkuru pirkstu.</translation>
 <translation id="1763046204212875858">Izveidot lietojumprogrammu saīsnes</translation>
 <translation id="1763108912552529023">Turpināt izpēti</translation>
 <translation id="1763808908432309942">Tiks atvērta jaunā cilnē</translation>
@@ -682,7 +683,6 @@
 <translation id="1981115145845865539">Automātiski atbloķējiet savu ierīci (<ph name="DEVICE_TYPE" />)</translation>
 <translation id="1983959805486816857">Kad esat izveidojis jaunu uzraudzīto lietotāju, varat jebkurā brīdī no jebkuras ierīces pārvaldīt iestatījumus, apmeklējot vietni <ph name="MANAGEMENT_URL" />.</translation>
 <translation id="1984642098429648350">Dokot logu labajā pusē</translation>
-<translation id="1987139229093034863">Pārslēgties uz citu lietotāju.</translation>
 <translation id="1987317783729300807">Konti</translation>
 <translation id="1989112275319619282">Pārlūkot</translation>
 <translation id="1992397118740194946">Nav iestatīts</translation>
@@ -823,6 +823,7 @@
 <translation id="2208158072373999562">Zip arhīvs</translation>
 <translation id="220858061631308971">Ievadiet šo PIN kodu ierīcē <ph name="DEVICE_NAME" />:</translation>
 <translation id="2209593327042758816">2. plaukta vienums</translation>
+<translation id="2212126039311489237">Drukāt, izmantojot sistēmas dialoglodziņu</translation>
 <translation id="2217501013957346740">Vārda izveide —</translation>
 <translation id="2218019600945559112">Pele un skārienpaliktnis</translation>
 <translation id="2218320521449013367">Kamēr pārlūks Chrome mēģināja noņemt kaitīgu programmatūru, radās kļūda.</translation>
@@ -935,6 +936,7 @@
 <translation id="2378075407703503998">Atlasīti <ph name="SELCTED_FILE_COUNT" /> faili.</translation>
 <translation id="237828693408258535">Vai tulkot šo lapu?</translation>
 <translation id="2378982052244864789">Atlasiet paplašinājuma direktoriju.</translation>
+<translation id="2379281330731083556">Drukāt, izmantojot sistēmas dialoglodziņu... <ph name="SHORTCUT_KEY" /></translation>
 <translation id="2381756643783702095">Jautāt pirms sūtīšanas (ieteicams)</translation>
 <translation id="2384436799579181135">Radās kļūda. Lūdzu, pārbaudiet printeri un mēģiniet vēlreiz.</translation>
 <translation id="2387458720915042159">Starpniekservera savienojuma veids</translation>
@@ -1114,6 +1116,7 @@
 <translation id="2653659639078652383">Iesniegt</translation>
 <translation id="265390580714150011">Lauka vērtība</translation>
 <translation id="2654166010170466751">Atļaut vietnēm instalēt maksājumu apdarinātājus</translation>
+<translation id="2656742821229528729">Izveidojiet savienojumu starp Android tālruni un Chromebook datoru, lai varētu no datora sūtīt īsziņas, koplietot tālruņa interneta savienojumu un atbloķēt Chromebook datora ekrānu ar tālruni.<ph name="FOOTNOTE_POINTER" /> <ph name="LINK_BEGIN" />Uzziniet vairāk<ph name="LINK_END" />.</translation>
 <translation id="2659381484350128933"><ph name="FOOTNOTE_POINTER" />Dažādās ierīcēs funkcijas var atšķirties</translation>
 <translation id="2660779039299703961">Notikums</translation>
 <translation id="266079277508604648">Nevar izveidot savienojumu ar printeri. Pārbaudiet, vai printeris ir ieslēgts un vai printerim ir izveidots savienojums ar Chromebook datoru Wi-Fi tīklā vai izmantojot USB savienojumu.</translation>
@@ -1418,6 +1421,7 @@
 <translation id="3115128645424181617">Nevar atrast tālruni. Tam ir jābūt rokas stiepiena attālumā, un Bluetooth savienojumam jābūt ieslēgtam.</translation>
 <translation id="3115147772012638511">Gaida krtuvi...</translation>
 <translation id="3118319026408854581"><ph name="PRODUCT_NAME" /> palīdzība</translation>
+<translation id="3119484583572640616">Ieslēdzot funkciju Better Together, tā spēj veikt tālāk norādītās darbības.</translation>
 <translation id="3120430004221004537">Nepietiekams attiecīgās darbības šifrējums šajā ierīcē: “<ph name="DEVICE_NAME" />”.</translation>
 <translation id="3121793941267913344">Atiestatiet šo <ph name="IDS_SHORT_PRODUCT_NAME" /> ierīci.</translation>
 <translation id="3122464029669770682">Maksa par daļas vienību</translation>
@@ -1732,6 +1736,7 @@
 <translation id="3596235046596950091">Iespējot mākoņa pakalpojumus</translation>
 <translation id="3599863153486145794">Notīra vēsturi no visām ierīcēm, kurās esat pierakstījies. Jūsu Google kontam vietnē <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> var būt citu veidu pārlūkošanas vēstures dati.</translation>
 <translation id="3600792891314830896">Izslēgt skaņu vietnēm, kurās tiek atskaņota skaņa</translation>
+<translation id="360180734785106144">Piedāvāt jaunas funkcijas, kad tās kļūst pieejamas</translation>
 <translation id="3602290021589620013">Priekšskatīt</translation>
 <translation id="3603533104205588786">Varat noklikšķināt uz zvaigznītes, lai saglabātu lapu kā grāmatzīmi</translation>
 <translation id="3603622770190368340">Tīkla sertifikāta iegūšana</translation>
@@ -2067,7 +2072,6 @@
 <translation id="4068506536726151626">Šajā lapā ir elementi no šādām vietnēm, kas izseko jūsu atrašanās vietu:</translation>
 <translation id="4068776064906523561">Saglabātie pirkstu nospiedumi</translation>
 <translation id="407173827865827707">Noklikšķinot</translation>
-<translation id="4071770069230198275"><ph name="PROFILE_NAME" />: pierakstīšanās kļūda</translation>
 <translation id="4074900173531346617">E-pasta parakstītāja sertifikāts</translation>
 <translation id="407520071244661467">Mērogs</translation>
 <translation id="4075639477629295004">Nevar apraidīt failu <ph name="FILE_NAME" />.</translation>
@@ -2669,7 +2673,7 @@
 <translation id="5039512255859636053">$1 TB</translation>
 <translation id="5039804452771397117">Atļaut</translation>
 <translation id="5045550434625856497">Nepareiza parole</translation>
-<translation id="504561833207953641">Notiek atvēršana esošā pārlūka sesijā.</translation>
+<translation id="504561833207953641">Tiek atvērts esošā pārlūka sesijā.</translation>
 <translation id="5047421709274785093">Neļaut vietnēm izmantot kustību un gaismas sensorus</translation>
 <translation id="5050042263972837708">Grupas nosaukums</translation>
 <translation id="5052499409147950210">Vietnes rediģēšana</translation>
@@ -2869,6 +2873,7 @@
 <translation id="5332624210073556029">Laika josla:</translation>
 <translation id="5334142896108694079">Skriptu kešatmiņa</translation>
 <translation id="5334844597069022743">Skatīt avotu</translation>
+<translation id="5334899159203764908">Uzzināt vairāk par <ph name="BEGIN_LINK" />piekļuvi vietnēm<ph name="END_LINK" /></translation>
 <translation id="5335458522276292100">Dublēšana <ph name="BEGIN_LINK" />Google diskā<ph name="END_LINK" />: <ph name="FILE_COUNT" /></translation>
 <translation id="5336126339807372270">Neatļaut nevienai vietnei piekļūt USB ierīcēm</translation>
 <translation id="5337771866151525739">Instalēts, izmantojot trešās puses lietotni.</translation>
@@ -2976,6 +2981,7 @@
 <translation id="5487521232677179737">Notīrīt datus</translation>
 <translation id="5488093641312826914">Vienums “<ph name="COPIED_ITEM_NAME" />” ir nokopēts</translation>
 <translation id="5488468185303821006">Atļaut inkognito režīmā</translation>
+<translation id="5489121514345187313">Kopā ar tālruni Chromebook dators darbojas vēl labāk. <ph name="LINK_BEGIN" />Uzziniet vairāk<ph name="LINK_END" />.</translation>
 <translation id="5489435190927933437">Saglabātās paroles vietnei <ph name="DOMAIN" /></translation>
 <translation id="5491110079163012109">Sūtīt sistēmas datus. Google serveriem tiek automātiski sūtīti diagnostikas dati un dati par ierīces un lietotņu izmantošanu. Šo iestatījumu ir noteicis īpašnieks. Īpašnieks var izvēlēties nosūtīt šīs ierīces diagnostikas un lietojuma datus Google serveriem. Šo informāciju varat skatīt iestatījumu sadaļā. Ja esat papildus ieslēdzis opciju “Darbības tīmeklī un lietotnēs”, šī informācija tiks saglabāta jūsu kontā, lai jūs to varētu pārvaldīt sadaļā “Manas darbības”. <ph name="BEGIN_LINK1" />Uzziniet vairāk.<ph name="END_LINK1" /></translation>
 <translation id="5493792505296048976">ekrāns ieslēgts</translation>
@@ -3147,6 +3153,7 @@
 <translation id="5731409020711461763">1 jauns fotoattēls</translation>
 <translation id="5734362860645681824">Saziņa</translation>
 <translation id="5736796278325406685">Lūdzu, ievadiet derīgu lietotājvārdu.</translation>
+<translation id="5739235828260127894">Tiek gaidīta verifikācija. <ph name="LINK_BEGIN" />Uzziniet vairāk<ph name="LINK_END" />.</translation>
 <translation id="5739458112391494395">Ļoti liels</translation>
 <translation id="5740331643563157105"><ph name="LANGUAGE_1" />, <ph name="LANGUAGE_2" /> un vēl <ph name="NUM_ADDITIONAL_LANGUAGES" /></translation>
 <translation id="574209121243317957">Tonis</translation>
@@ -3250,6 +3257,7 @@
 <translation id="5870086504539785141">Aizvērt pieejamības izvēlni</translation>
 <translation id="5870155679953074650">Nopietnas kļūdas</translation>
 <translation id="5877064549588274448">Kanāls tika mainīts. Lai lietotu izmaiņas, restartējiet ierīci.</translation>
+<translation id="5877584842898320529">Atlasītais printeris nav pieejams vai nav instalēts pareizi. <ph name="BR" /> Pārbaudiet savu printeri vai pamēģiniet atlasīt citu printeri.</translation>
 <translation id="5880247576487732437">Marķieris pastāv</translation>
 <translation id="5882919346125742463">Zināmie tīkli</translation>
 <translation id="5884474295213649357">Šī cilne ir piesaistīta USB ierīcei.</translation>
@@ -3316,6 +3324,7 @@
 <translation id="5979469435153841984">Lai saglabātu lapu kā grāmatzīmi, noklikšķiniet uz zvaigznītes adreses joslā.</translation>
 <translation id="5982621672636444458">Kārtošanas iespējas</translation>
 <translation id="5984222099446776634">Nesen apmeklētie</translation>
+<translation id="5985458664595100876">Nederīgs vietrāža URL formāts. Atbalstītie formāti ir \\server\share un smb://server/share.</translation>
 <translation id="5990142338020175451">Personalizētāki Google pakalpojumi, piemēram, precīzāki lapu ieteikumi</translation>
 <translation id="5990386583461751448">Tulkojums</translation>
 <translation id="5991049340509704927">Palielināt</translation>
@@ -3344,6 +3353,7 @@
 <translation id="6026819612896463875"><ph name="WINDOW_TITLE" /> — pievienota USB ierīce</translation>
 <translation id="6028117231645531007">Pievienot pirksta nospiedumu</translation>
 <translation id="6029027682598229313">Linux instalēšana ir pabeigta.</translation>
+<translation id="6029292188939175871">dzēst [<ph name="FINGERPRINT_NAME" />], poga</translation>
 <translation id="6029587122245504742">Lēnākais</translation>
 <translation id="6032912588568283682">Failu sistēma</translation>
 <translation id="6034662038931255275">OS atjaunināta veiksmīgi</translation>
@@ -3457,7 +3467,6 @@
 <translation id="6185132558746749656">Ierīces atrašanās vieta</translation>
 <translation id="6185617499004995178">CUPS IPP validators</translation>
 <translation id="6185696379715117369">Augšup</translation>
-<translation id="6189273858858366896">Izveidojiet vai pārvaldiet tīkla failu kopīgošanu.</translation>
 <translation id="6189412234224385711">Atvērt ar paplašinājumu <ph name="EXTENSION_NAME" /></translation>
 <translation id="6196640612572343990">Bloķēt trešo pušu sīkfailus</translation>
 <translation id="6196854373336333322">Paplašinājums “<ph name="EXTENSION_NAME" />” pārvalda jūsu starpniekservera iestatījumus. Tas nozīmē, ka tas var mainīt, pārtraukt vai izsekot visas jūsu darbības tiešsaistē. Ja neesat pārliecināts, kāpēc notika šīs izmaiņas, visticamāk, jūs tās nevēlaties.</translation>
@@ -3763,6 +3772,7 @@
 <translation id="6643016212128521049">Notīrīt</translation>
 <translation id="6644512095122093795">Piedāvāt saglabāt paroles</translation>
 <translation id="6644846457769259194">Notiek ierīces atjaunināšana (<ph name="PROGRESS_PERCENT" />)</translation>
+<translation id="6645437135153136856">Atlasītā Google mākoņdrukas ierīce vairs netiek atbalstīta. <ph name="BR" /> Mēģiniet iestatīt printeri sava datora sistēmas iestatījumos.</translation>
 <translation id="6647228709620733774">Netscape sertifikāta izdevējiestādes atsaukšanas URL</translation>
 <translation id="6647838571840953560">Pašreizējā versija: <ph name="CHANNEL_NAME" /></translation>
 <translation id="6648051959475508072">Drošības atslēga ir aktivizēta...</translation>
@@ -3784,7 +3794,6 @@
 <translation id="667517062706956822">Vai vēlaties, lai Google tulkotu šo lapu šādā valodu kombinācijā: <ph name="SOURCE_LANGUAGE" />–<ph name="TARGET_LANGUAGE" />?</translation>
 <translation id="6675665718701918026">Rādītājierīce ir pievienota.</translation>
 <translation id="6678717876183468697">Vaicājuma URL</translation>
-<translation id="6680028776254050810">Pārslēgt lietotājus</translation>
 <translation id="6680442031740878064">Pieejamā vieta: <ph name="AVAILABLE_SPACE" /></translation>
 <translation id="6680650203439190394">Ātrums</translation>
 <translation id="6681668084120808868">Uzņemt fotoattēlu</translation>
@@ -3793,7 +3802,6 @@
 <translation id="668599234725812620">Atvērt pakalpojumu Google Play</translation>
 <translation id="6686490380836145850">Aizvērt cilnes pa labi</translation>
 <translation id="6686817083349815241">Saglabājiet savu paroli</translation>
-<translation id="6690565918367819723"><ph name="PROFILE_NAME" /> Pārslēgt lietotāju</translation>
 <translation id="6690659332373509948">Nevar parsēt failu: <ph name="FILE_NAME" /></translation>
 <translation id="6690751852586194791">Izvēlieties uzraudzītu lietotāju, ko pievienot šai ierīcei.</translation>
 <translation id="6691331417640343772">Pārvaldīt sinhronizētos datus Google informācijas panelī</translation>
@@ -4130,6 +4138,7 @@
 <translation id="7201118060536064622">Vienums “<ph name="DELETED_ITEM_NAME" />” ir izdzēsts.</translation>
 <translation id="7206693748120342859">Notiek spraudņa <ph name="PLUGIN_NAME" /> lejupielāde...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Izejas lapa}zero{Izejas lapas}one{Izejas lapas}other{Izejas lapas}}</translation>
+<translation id="7210499381659830293">Paplašinājuma printeri</translation>
 <translation id="721467499098558573">Nospiediet uz drošības atslēgas esošo pogu un turiet to nospiestu vismaz 5 sekundes.</translation>
 <translation id="7216409898977639127">Mobilo sakaru operators</translation>
 <translation id="7216595297012131718">Kārtojiet valodas atbilstoši preferencei.</translation>
@@ -4208,6 +4217,7 @@
 <translation id="7321545336522791733">Serveris nav sasniedzams</translation>
 <translation id="7324297612904500502">Beta versijas forums</translation>
 <translation id="7325437708553334317">Paplašinājums Augsts kontrasts</translation>
+<translation id="7328162502911382168">(<ph name="COUNT" />)</translation>
 <translation id="7328867076235380839">Nederīga kombinācija</translation>
 <translation id="7329154610228416156">Neizdevās pierakstīties, jo konfigurācijā tika norādīts izmantot nedrošu URL (<ph name="BLOCKED_URL" />). Lūdzu, sazinieties ar savu administratoru.</translation>
 <translation id="7334190995941642545">Sistēma Smart Lock pašlaik nav pieejama. Lūdzu, vēlāk mēģiniet vēlreiz.</translation>
@@ -4798,6 +4808,7 @@
 <translation id="8199300056570174101">Tīklu (pakalpojumu) un ierīču rekvizīti</translation>
 <translation id="8200772114523450471">Kopsavilkums</translation>
 <translation id="8202160505685531999">Lai atjauninātu savu <ph name="DEVICE_TYPE" /> profilu, lūdzu, atkārtoti ievadiet paroli.</translation>
+<translation id="8203732864715032075">Jums tiks sūtīti paziņojumi, un pēc noklusējuma šis dators tiks iestatīts īsziņu saņemšanai. <ph name="LINK_BEGIN" />Uzziniet vairāk<ph name="LINK_END" />.</translation>
 <translation id="8206354486702514201">Šo iestatījumu ievieš jūsu administrators.</translation>
 <translation id="8206745257863499010">Blūzs</translation>
 <translation id="8209677645716428427">Uzraudzīts lietotājs var pārlūkot tīmekli ar jūsu palīdzību. Kā uzraudzīta lietotāja pārzinis pārlūkā Chrome jūs varat:</translation>
@@ -5110,7 +5121,6 @@
 <translation id="869884720829132584">Lietojumprogrammu izvēlne</translation>
 <translation id="869891660844655955">Derīguma termiņš</translation>
 <translation id="8699566574894671540">Lai šo funkciju ieslēgtu, vispirms rediģēšanas izvēlnē atlasiet vienumu “Check Spelling While Typing” (Pārbaudīt pareizrakstību rakstīšanas laikā).</translation>
-<translation id="870073306461175568">Tīkla failu kopīgošana</translation>
 <translation id="8701677791353449257">Ierīces nosaukumam ir jāatbilst regulārajai izteiksmei <ph name="REGEX" />.</translation>
 <translation id="8704521619148782536">Tas aizņem daudz vairāk laika nekā parasti. Varat turpināt gaidīt vai atcelt darbību un mēģināt vēlreiz.</translation>
 <translation id="8705331520020532516">Sērijas numurs</translation>
@@ -5295,7 +5305,6 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> — avārija</translation>
 <translation id="8983677657449185470">Palīdzēt uzlabot drošo pārlūkošanu</translation>
 <translation id="8984179138335769204">Ātrā palaišana</translation>
-<translation id="8984654317541110628">Failu kopīgošanas URL</translation>
 <translation id="8986362086234534611">Aizmirst</translation>
 <translation id="8986494364107987395">Automātiski sūtīt lietošanas statistiku un avāriju pārskatus uzņēmumam Google</translation>
 <translation id="8987927404178983737">Mēnesis</translation>
diff --git a/chrome/app/resources/generated_resources_ml.xtb b/chrome/app/resources/generated_resources_ml.xtb
index 40471546..22257051 100644
--- a/chrome/app/resources/generated_resources_ml.xtb
+++ b/chrome/app/resources/generated_resources_ml.xtb
@@ -275,6 +275,7 @@
 <translation id="1395730723686586365">അപ്‌ഡേറ്റർ ആരംഭിച്ചു</translation>
 <translation id="1396139853388185343">പ്രിന്റർ സജ്ജീകരിക്കുന്നതിൽ പിശക്</translation>
 <translation id="1396963298126346194">നിങ്ങൾ നൽകിയ ഉപയോക്തൃ‌നാമവും പാസ്‌വേഡും യോജിക്കുന്നില്ല</translation>
+<translation id="1397500194120344683">യോഗ്യമായ ഉപകരണങ്ങളൊന്നുമില്ല. <ph name="LINK_BEGIN" />കൂടുതലറിയുക<ph name="LINK_END" /></translation>
 <translation id="1397854323885047133">സമന്വയവും വ്യക്തിപരമാക്കലും</translation>
 <translation id="1398853756734560583">വലുതാക്കുക</translation>
 <translation id="1399511500114202393">ഉപയോക്തൃ സർട്ടിഫിക്കറ്റ് പാടില്ല</translation>
@@ -372,7 +373,6 @@
 <translation id="1531004739673299060">അപ്ലിക്കേഷൻ വിൻഡോ</translation>
 <translation id="15373452373711364">വലിയ മൗസ് കഴ്‌സർ</translation>
 <translation id="1538729222189715449">Linux ഫയലുകൾ തുറക്കുന്നു...</translation>
-<translation id="153933193410874873">ഈ ഉപകരണത്തിൽ നിങ്ങളുടെ ഐഡൻറിറ്റി പരിശോധിച്ചുറപ്പിക്കാൻ ഞങ്ങൾക്കായില്ല</translation>
 <translation id="1540605929960647700">ഡെമോ മോഡ് പ്രവർത്തനക്ഷമമാക്കുക</translation>
 <translation id="1543284117603151572">Edge-ൽ നിന്നും ഇമ്പോർട്ടുചെയ്‌തത്</translation>
 <translation id="1545177026077493356">യാന്ത്രിക കിയോസ്‌ക് മോഡ്</translation>
@@ -526,6 +526,7 @@
 <translation id="175772926354468439">തീം പ്രവർത്തനക്ഷമമാക്കുക</translation>
 <translation id="1758018619400202187">EAP-TLS</translation>
 <translation id="17584710573359123">Chrome വെബ് സ്‌റ്റോറിൽ കാണുക</translation>
+<translation id="176193854664720708">വിരലടയാള സെന്‍സര്‍, പവര്‍ ബട്ടണിലാണ്‌ ഉള്ളത്. ഏതെങ്കിലും വിരലുകൊണ്ട് അത് മൃദുവായി സ്‌പര്‍ശിക്കുക.</translation>
 <translation id="1763046204212875858">അപ്ലിക്കേഷന്‍‌ കുറുക്കുവഴികള്‍‌ സൃഷ്‌ടിക്കുക</translation>
 <translation id="1763108912552529023">പര്യവേക്ഷണം ചെയ്യുന്നത് തുടരുക</translation>
 <translation id="1763808908432309942">പുതിയൊരു ടാബിൽ തുറക്കുന്നു</translation>
@@ -679,7 +680,6 @@
 <translation id="1981115145845865539">നിങ്ങളുടെ <ph name="DEVICE_TYPE" /> സ്വയമേവ അൺലോക്കുചെയ്യുക</translation>
 <translation id="1983959805486816857">സൂപ്പർവൈസുചെയ്‌ത ഒരു പുതിയ ഉപയോക്താവിനെ സൃഷ്‌ടിച്ചുകഴിഞ്ഞാൽ, നിങ്ങൾക്ക് ഏത് സമയത്തും ഏത് ഉപകരണത്തിൽ നിന്നും <ph name="MANAGEMENT_URL" />-ൽ ക്രമീകരണങ്ങൾ നിയന്ത്രിക്കാനാവും.</translation>
 <translation id="1984642098429648350">വിൻഡോ വലതുവശത്തേയ്‌ക്ക് ഡോക്കുചെയ്യുക</translation>
-<translation id="1987139229093034863">ഒരു വ്യത്യസ്ത ഉപയോക്താവിലേക്ക് സ്വിച്ചുചെയ്യുക</translation>
 <translation id="1987317783729300807">അക്കൗണ്ടുകൾ‌</translation>
 <translation id="1989112275319619282">ബ്രൗസുചെയ്യുക</translation>
 <translation id="1992397118740194946">സജ്ജമാക്കിയിട്ടില്ല</translation>
@@ -820,6 +820,7 @@
 <translation id="2208158072373999562">Zip ശേഖരം</translation>
 <translation id="220858061631308971">"<ph name="DEVICE_NAME" />" എന്നതിൽ PIN കോഡ് നൽകുക:</translation>
 <translation id="2209593327042758816">ഷെൽഫ് ഇനം 2</translation>
+<translation id="2212126039311489237">സിസ്‌റ്റം ഡയലോഗ് ഉപയോഗിച്ച് പ്രിന്റ് ചെയ്യുക</translation>
 <translation id="2217501013957346740">ഒരു പേര് സൃഷ്‌ടിക്കുക -</translation>
 <translation id="2218019600945559112">മൗസും ടച്ച്പാഡും</translation>
 <translation id="2218320521449013367">Chrome ദോഷകരമായ സോഫ്‌റ്റ്‌വെയർ നീക്കം ചെയ്യുന്നതിനിടെ ഒരു പിശക് സംഭവിച്ചു</translation>
@@ -932,6 +933,7 @@
 <translation id="2378075407703503998"><ph name="SELCTED_FILE_COUNT" /> ഫയലുകൾ തിരഞ്ഞെടുത്തു</translation>
 <translation id="237828693408258535">ഈ പേജ് വിവർത്തനം ചെയ്യണോ?</translation>
 <translation id="2378982052244864789">വിപുലീകരണ ഡയറക്‌ടറി തിരഞ്ഞെടുക്കുക.</translation>
+<translation id="2379281330731083556">സിസ്റ്റം ഡയലോഗ് ഉപയോഗിച്ച് പ്രിന്റ് ചെയ്യുക... <ph name="SHORTCUT_KEY" /></translation>
 <translation id="2381756643783702095">അയയ്‌ക്കുന്നതിന് മുമ്പ് ചോദിക്കുക (ശുപാർശചെയ്‌തത്)</translation>
 <translation id="2384436799579181135">ഒരു പിശക് സംഭവിച്ചു. നിങ്ങളുടെ പ്രിന്‍റർ പരിശോധിച്ച് വീണ്ടും ശ്രമിക്കുക.</translation>
 <translation id="2387458720915042159">പ്രോക്‌സി കണക്ഷൻ തരം</translation>
@@ -1111,6 +1113,7 @@
 <translation id="2653659639078652383">സമര്‍പ്പിക്കൂ</translation>
 <translation id="265390580714150011">ഫീല്‍‌ഡ് മൂല്യം</translation>
 <translation id="2654166010170466751">പേയ്‌മെന്റ് ഹാൻഡ്‌ലറുകളെ ഇൻസ്റ്റാൾ ചെയ്യാൻ സൈറ്റുകളെ അനുവദിക്കുന്നു</translation>
+<translation id="2656742821229528729">കമ്പ്യൂട്ടറില്‍ നിന്ന് ടെക്‌സ്‌റ്റ് ചെയ്യാനും ഇന്റര്‍നെറ്റ് കണക്ഷന്‍ പങ്കിടാനും ഫോണ്‍ ഉപയോഗിച്ച് Chromebook അണ്‍‌ലോക്ക് ചെയ്യാനും നിങ്ങളുടെ Android ഫോണ്‍ Chromebook-മായി കണക്‌റ്റ് ചെയ്യുക.<ph name="FOOTNOTE_POINTER" /> <ph name="LINK_BEGIN" />കൂടുതലറിയുക<ph name="LINK_END" /></translation>
 <translation id="2659381484350128933"><ph name="FOOTNOTE_POINTER" />ഉപകരണത്തിന് അനുസരിച്ച് ഫീച്ചറുകൾ വ്യത്യാസപ്പെടും</translation>
 <translation id="2660779039299703961">ഇവന്റ്</translation>
 <translation id="266079277508604648">പ്രിന്‍റർ കണക്റ്റ് ചെയ്യാനാവുന്നില്ല. പ്രിന്‍റർ ഓണാണോ എന്നും വൈഫൈയോ USB-യോ ഉപയോഗിച്ച് Chromebook-ലേക്ക് കണക്റ്റ് ചെയ്‌‌തിട്ടുണ്ടോ എന്നും പരിശോധിക്കുക.</translation>
@@ -1415,6 +1418,7 @@
 <translation id="3115128645424181617">നിങ്ങളുടെ ഫോൺ കണ്ടെത്താനാകുന്നില്ല. Bluetooth ഓണാണെന്നും ഫോൺ കൈയ്യിലുണ്ടെന്നും ഉറപ്പാക്കുക.</translation>
 <translation id="3115147772012638511">കാഷെയ്ക്കായി കാത്തിരിക്കുന്നു...</translation>
 <translation id="3118319026408854581"><ph name="PRODUCT_NAME" /> സഹായം</translation>
+<translation id="3119484583572640616">Better Together-ന് ഇനിപ്പറയുന്ന കാര്യങ്ങള്‍ ചെയ്യാനാകും എന്നാണ് അത് ഓണാക്കുന്നതിലൂടെ അർത്ഥമാക്കുന്നത്:</translation>
 <translation id="3120430004221004537">ഇനി പറയുന്നതിൽ നൽകിയിരിക്കുന്ന പ്രവർത്തനത്തിന് എൻക്രിപ്‌ഷൻ അപര്യാപ്‌തമാണ്: "<ph name="DEVICE_NAME" />".</translation>
 <translation id="3121793941267913344">ഈ <ph name="IDS_SHORT_PRODUCT_NAME" /> ഉപകരണം പുനഃസജ്ജീകരിക്കുക</translation>
 <translation id="3122464029669770682">CPU</translation>
@@ -1729,6 +1733,7 @@
 <translation id="3596235046596950091">ക്ലൗഡ് സേവനങ്ങൾ പ്രവർത്തനക്ഷമമാക്കുക</translation>
 <translation id="3599863153486145794">സൈൻ ഇൻ ചെയ്‌ത എല്ലാ ഉപകരണങ്ങളിൽ നിന്നും ചരിത്രം മായ്ക്കുന്നു. നിങ്ങളുടെ Google അക്കൗണ്ടിന് <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> എന്നതിൽ മറ്റ് തരത്തിലുള്ള ബ്രൗസിംഗ് ചരിത്രങ്ങളുണ്ടായിരിക്കാം.</translation>
 <translation id="3600792891314830896">ശബ്‌ദം പ്ലേ ചെയ്യുന്ന സൈറ്റുകളെ മ്യൂട്ട് ചെയ്യുക</translation>
+<translation id="360180734785106144">പുതിയ ഫീച്ചറുകൾ ലഭ്യമാകുമ്പോൾ അവ നൽകുക</translation>
 <translation id="3602290021589620013">പ്രിവ്യൂ</translation>
 <translation id="3603533104205588786">ഒരു പേജ് ബുക്ക്‌മാർക്ക് ചെയ്യാൻ നക്ഷത്ര ചിഹ്നത്തിൽ ക്ലിക്ക് ചെയ്യുക</translation>
 <translation id="3603622770190368340">നെറ്റ്‌വർക്ക് സർട്ടിഫിക്കറ്റ് ലഭ്യമാക്കുക</translation>
@@ -2063,7 +2068,6 @@
 <translation id="4068506536726151626">നിങ്ങളുടെ ലൊക്കേഷൻ ട്രാക്കുചെയ്യുന്ന ഇനിപ്പറയുന്ന സൈറ്റുകളിൽ നിന്നുമുള്ള ഘടകങ്ങൾ ഈ പേജിൽ അടങ്ങിയിരിക്കുന്നു:</translation>
 <translation id="4068776064906523561">സംരക്ഷിച്ച വിരലടയാളങ്ങൾ</translation>
 <translation id="407173827865827707">ക്ലിക്കിൽ</translation>
-<translation id="4071770069230198275"><ph name="PROFILE_NAME" />: സൈൻ ഇൻ പിശക്</translation>
 <translation id="4074900173531346617">സൈനര്‍‌ സര്‍‌ട്ടിഫിക്കറ്റ് ഇമെയില്‍‌ അയയ്‌ക്കുക</translation>
 <translation id="407520071244661467">സ്കെയിൽ</translation>
 <translation id="4075639477629295004"><ph name="FILE_NAME" /> കാസ്‌റ്റുചെയ്യാനാവുന്നില്ല.</translation>
@@ -2865,6 +2869,7 @@
 <translation id="5332624210073556029">സമയ മേഖല :</translation>
 <translation id="5334142896108694079">സ്‌ക്രിപ്റ്റ് കാഷെ</translation>
 <translation id="5334844597069022743">ഉറവിടം കാണുക</translation>
+<translation id="5334899159203764908"><ph name="BEGIN_LINK" />സൈറ്റ് ആക്‌സസ്<ph name="END_LINK" /> എന്നതിനെ കുറിച്ച് കൂടുതലറിയുക</translation>
 <translation id="5335458522276292100"><ph name="BEGIN_LINK" />Google ഡ്രൈവിലേക്ക്<ph name="END_LINK" /> <ph name="FILE_COUNT" /> ബാക്കപ്പ് ചെയ്യുന്നു</translation>
 <translation id="5336126339807372270">USB ഉപകരണങ്ങൾ ആക്‌സസ് ചെയ്യാൻ ഒരു സൈറ്റിനെയും അനുവദിക്കരുത്</translation>
 <translation id="5337771866151525739">ഒരു മൂന്നാം കക്ഷി ഇൻസ്റ്റാളുചെയ്‌തത്.</translation>
@@ -2972,6 +2977,7 @@
 <translation id="5487521232677179737">ഡാറ്റ മായ്‌ക്കുക</translation>
 <translation id="5488093641312826914">'<ph name="COPIED_ITEM_NAME" />' പകർത്തി</translation>
 <translation id="5488468185303821006">ആള്‍‌മാറാട്ടത്തില്‍‌ അനുവദിക്കുക</translation>
+<translation id="5489121514345187313">Chromebook നിങ്ങളുടെ ഫോണുമായി ചേർന്ന് കൂടുതൽ മികച്ച രീതിയിൽ പ്രവർത്തിക്കും. <ph name="LINK_BEGIN" />കൂടുതലറിയുക<ph name="LINK_END" /></translation>
 <translation id="5489435190927933437"><ph name="DOMAIN" /> ഡൊമെയ്‌നായി സംരക്ഷിച്ച പാസ്‌വേഡുകൾ</translation>
 <translation id="5491110079163012109">സിസ്റ്റം ഡാറ്റ അയയ്‌ക്കുക. Google-ന് ഡയഗ്നോസ്‌റ്റിക് ഡാറ്റയും ഉപയോഗ ഡാറ്റയും ആപ്പ് ഉപയോഗ ഡാറ്റയും സ്വമേധയാ അയയ്‌ക്കുക. ഉടമയാണ് ഈ ക്രമീകരണം നടപ്പാക്കിയിട്ടുള്ളത്. ഈ ഉപകരണത്തിന്റെ ഡയഗ്നോസ്റ്റിക് ഡാറ്റയും ഉപയോഗ ഡാറ്റയും Google-ലേക്ക് അയയ്‌ക്കാൻ ഉടമ തിരഞ്ഞെടുത്തേക്കാം. ക്രമീകരണത്തിൽ നിങ്ങൾക്കിത് കാണാവുന്നതാണ്. അധിക 'വെബ്, ആപ്പ് ആക്റ്റിവിറ്റി' ഓണാക്കിയിട്ടുണ്ടെങ്കിൽ, നിങ്ങളുടെ അക്കൗണ്ട് ഉപയോഗിച്ച് ഈ വിവരങ്ങൾ സംഭരിക്കപ്പെടും. അതിനാൽ, നിങ്ങൾക്ക് ഇത് എന്റെ ആക്റ്റിവിറ്റിയിൽ നിയന്ത്രിക്കാവുന്നതാണ്. <ph name="BEGIN_LINK1" />കൂടുതലറിയുക<ph name="END_LINK1" /></translation>
 <translation id="5493792505296048976">സ്‌ക്രീൻ ഓണാണ്</translation>
@@ -3143,6 +3149,7 @@
 <translation id="5731409020711461763">ഒരു പുതിയ ഫോട്ടോ</translation>
 <translation id="5734362860645681824">കമ്മ്യൂണിക്കേഷനുകൾ</translation>
 <translation id="5736796278325406685">ശരിയായ ഉപയോക്തൃനാമം നൽകുക</translation>
+<translation id="5739235828260127894">പരിശോധിച്ചുറപ്പിക്കാൻ കാത്തിരിക്കുന്നു. <ph name="LINK_BEGIN" />കൂടുതലറിയുക<ph name="LINK_END" /></translation>
 <translation id="5739458112391494395">വളരെ വലുത്</translation>
 <translation id="5740331643563157105"><ph name="LANGUAGE_1" />, <ph name="LANGUAGE_2" /> എന്നിവയും മറ്റ് <ph name="NUM_ADDITIONAL_LANGUAGES" /> ഭാഷകളും</translation>
 <translation id="574209121243317957">പിച്ച്</translation>
@@ -3246,6 +3253,7 @@
 <translation id="5870086504539785141">ഉപയോഗസഹായി മെനു അടയ്ക്കുക</translation>
 <translation id="5870155679953074650">ഹാർഡ് ഫോൾട്ടുകൾ</translation>
 <translation id="5877064549588274448">ചാനൽ മാറ്റി. മാറ്റങ്ങൾ ബാധകമാകാൻ നിങ്ങളുടെ ഉപകരണം പുനരാരംഭിക്കുക.</translation>
+<translation id="5877584842898320529">തിരഞ്ഞെടുത്ത പ്രിന്റര്‍ ലഭ്യമല്ല, അല്ലെങ്കിൽ ശരിയായി ഇന്‌സ്‌റ്റാൾ ചെയ്‌തിട്ടില്ല. <ph name="BR" /> നിങ്ങളുടെ പ്രിന്റര്‍ പരിശോധിക്കുക അല്ലെങ്കില്‍ മറ്റൊരു പ്രിന്റര്‍ തിരഞ്ഞെടുക്കുക.</translation>
 <translation id="5880247576487732437">ടോക്കൺ ലഭ്യമാണ്</translation>
 <translation id="5882919346125742463">അറിയാവുന്ന നെറ്റ്‌വർക്കുകൾ</translation>
 <translation id="5884474295213649357">ഈ ടാബ് ഒരു USB ഉപകരണവുമായി കണക്‌റ്റുചെയ്‌തിരിക്കുന്നു.</translation>
@@ -3312,6 +3320,7 @@
 <translation id="5979469435153841984">പേജുകൾ ബുക്ക്‌മാർക്ക് ചെയ്യാൻ, വിലാസ ബാറിലുള്ള നക്ഷത്ര ചിഹ്നത്തിൽ ക്ലിക്ക് ചെയ്യുക</translation>
 <translation id="5982621672636444458">അടുക്കൽ ഓപ്‌ഷനുകൾ</translation>
 <translation id="5984222099446776634">സമീപകാലത്ത് സന്ദർശിച്ചത്</translation>
+<translation id="5985458664595100876">അസാധുവായ URL ഫോര്‍മാറ്റ്. \\server\share, smb://server/share എന്നിവയാണ്‌ പിന്തുണയ്‌ക്കുന്ന ഫോര്‍മാറ്റുകള്‍.</translation>
 <translation id="5990142338020175451">കൂടുതൽ നല്ല പേജ് നിർദ്ദേശങ്ങൾ പോലുള്ള, കൂടുതൽ വ്യക്തിപരമായ Google സേവനങ്ങൾ</translation>
 <translation id="5990386583461751448">വിവർത്തനം ചെയ്‌തു</translation>
 <translation id="5991049340509704927">മാഗ്‌നിഫൈ ചെയ്യുക</translation>
@@ -3340,6 +3349,7 @@
 <translation id="6026819612896463875"><ph name="WINDOW_TITLE" /> - USB ഉപകരണം കണക്‌റ്റുചെയ്‌തു</translation>
 <translation id="6028117231645531007">ഫിംഗർപ്രിന്റ് ചേർക്കുക</translation>
 <translation id="6029027682598229313">Linux ഇൻസ്റ്റലേഷൻ പൂർത്തിയായി.</translation>
+<translation id="6029292188939175871">[<ph name="FINGERPRINT_NAME" />] ഇല്ലാതാക്കുക, ബട്ടണ്‍</translation>
 <translation id="6029587122245504742">ഏറ്റവും വേഗത ‌കുറഞ്ഞത്</translation>
 <translation id="6032912588568283682">ഫയല്‍ സിസ്റ്റം</translation>
 <translation id="6034662038931255275">OS അപ്‌ഡേറ്റ് വിജയകരം</translation>
@@ -3454,7 +3464,6 @@
 <translation id="6185132558746749656">ഉപകരണ ലൊക്കേഷൻ</translation>
 <translation id="6185617499004995178">CUPS IPP വാലിഡേറ്റർ</translation>
 <translation id="6185696379715117369">Page up</translation>
-<translation id="6189273858858366896">നെറ്റ്‌വർക്ക് ഫയൽ പങ്കിടലുകൾ സജ്ജീകരിക്കുക അല്ലെങ്കിൽ നിയന്ത്രിക്കുക.</translation>
 <translation id="6189412234224385711"><ph name="EXTENSION_NAME" /> ഉപയോഗിച്ച് തുറക്കുക</translation>
 <translation id="6196640612572343990">മൂന്നാം കക്ഷി കുക്കികള്‍ ബ്ലോക്കുചെയ്യുക</translation>
 <translation id="6196854373336333322">ഈ "<ph name="EXTENSION_NAME" />" വിപുലീകരണം നിങ്ങളുടെ പ്രോക്‌സി ക്രമീകരണത്തെ നിയന്ത്രിക്കുന്നുണ്ട്, എന്നുവെച്ചാൽ നിങ്ങൾ ഓൺലൈനിൽ ചെയ്യുന്ന എല്ലാ പ്രവർത്തിയിലും മാറ്റം വരുത്താനും തകർക്കാനും രഹസ്യങ്ങൾ ചോർത്താനും കഴിയും. എന്തുകൊണ്ട് ഈ മാറ്റം സംഭവിച്ചത് എന്നതിനെക്കുറിച്ച് നിങ്ങൾക്കുറപ്പില്ലെങ്കിൽ, അത് നിങ്ങൾക്ക് ആവശ്യമില്ലാത്ത കാര്യമായിരിക്കാം.</translation>
@@ -3761,6 +3770,7 @@
 <translation id="6643016212128521049">മായ്‌ക്കുക</translation>
 <translation id="6644512095122093795">പാസ്‌വേഡുകള്‍ സംരക്ഷിക്കുന്നതിനുള്ള നിര്‍ദ്ദേശം</translation>
 <translation id="6644846457769259194">നിങ്ങളുടെ ഉപകരണം അപ്‌ഡേറ്റുചെയ്യുന്നു, (<ph name="PROGRESS_PERCENT" />)</translation>
+<translation id="6645437135153136856">തിരഞ്ഞെടുത്ത Google ക്ലൗഡ് പ്രിന്റർ ഉപകരണം ഇനിയങ്ങോട്ട് പിന്തുണയ്‌ക്കില്ല. <ph name="BR" /> നിങ്ങളുടെ കമ്പ്യൂട്ടറിന്റെ സി‌സ്‌റ്റം ക്രമീകരണത്തില്‍ പ്രിന്റർ സജ്ജീകരിച്ച്, ശ്രമിക്കുക.</translation>
 <translation id="6647228709620733774">നെറ്റ്സ്കേപ്പ് സര്‍ട്ടിഫിക്കേഷന്‍ അതോറിറ്റി അസാധുവാക്കല്‍ URL</translation>
 <translation id="6647838571840953560">നിലവിൽ <ph name="CHANNEL_NAME" /> ചാനലിലാണ്</translation>
 <translation id="6648051959475508072">സുരക്ഷാ കീ സജീവമാക്കി...</translation>
@@ -3782,7 +3792,6 @@
 <translation id="667517062706956822">Google ഈ പേജ്, <ph name="SOURCE_LANGUAGE" /> ഭാഷയിൽ നിന്ന് <ph name="TARGET_LANGUAGE" /> ഭാഷയിലേക്ക് വിവർത്തനം ചെയ്യണോ?</translation>
 <translation id="6675665718701918026">പോയിന്റുചെയ്യുന്ന ഉപകരണം കണക്റ്റുചെയ്‌തു</translation>
 <translation id="6678717876183468697">ചോദ്യ URL</translation>
-<translation id="6680028776254050810">ഉപയോക്താക്കളെ സ്വിച്ചുചെയ്യുക</translation>
 <translation id="6680442031740878064">ലഭ്യമായ ഇടം: <ph name="AVAILABLE_SPACE" /></translation>
 <translation id="6680650203439190394">റേറ്റ് ചെയ്യുക</translation>
 <translation id="6681668084120808868">ഫോട്ടോ എടുക്കുക</translation>
@@ -3791,7 +3800,6 @@
 <translation id="668599234725812620">Google Play തുറക്കുക</translation>
 <translation id="6686490380836145850">വലത്തേക്കുള്ള ടാബുകള്‍ അടയ്ക്കുക</translation>
 <translation id="6686817083349815241">നിങ്ങളുടെ പാസ്‌വേഡ് സംരക്ഷിക്കുക</translation>
-<translation id="6690565918367819723"><ph name="PROFILE_NAME" /> വ്യക്തിയെ മാറ്റുക</translation>
 <translation id="6690659332373509948">ഫയൽ പാഴ്‌സുചെയ്യാനായില്ല: <ph name="FILE_NAME" /></translation>
 <translation id="6690751852586194791">ഈ ഉപകരണത്തിൽ ചേർക്കാൻ ഒരു സൂപ്പർവൈസുചെയ്‌ത ഉപയോക്താവിനെ തിരഞ്ഞെടുക്കുക.</translation>
 <translation id="6691331417640343772">Google ഡാഷ്ബോര്‍ഡിലെ സമന്വയിപ്പിച്ച ഡാറ്റ മാനേജുചെയ്യുക</translation>
@@ -4128,6 +4136,7 @@
 <translation id="7201118060536064622">'<ph name="DELETED_ITEM_NAME" />' ഇല്ലാതാക്കി</translation>
 <translation id="7206693748120342859"><ph name="PLUGIN_NAME" /> ഡൗൺലോഡുചെയ്യുന്നു...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{പേജിൽ നിന്ന് പുറത്തുകടക്കുക}other{പേജുകളിൽ നിന്ന് പുറത്തുകടക്കുക}}</translation>
+<translation id="7210499381659830293">വിപുലീകരണ പ്രിന്ററുകള്‍</translation>
 <translation id="721467499098558573">നിങ്ങളുടെ സുരക്ഷാ കീയിലുള്ള ബട്ടൺ കുറഞ്ഞത് 5 സെക്കൻഡ് അമർത്തിപ്പിടിക്കുക</translation>
 <translation id="7216409898977639127">സെല്ലുലാര്‍‌ സേവനദാതാവ്</translation>
 <translation id="7216595297012131718">നിങ്ങളുടെ മുൻഗണന അനുസരിച്ച് ഭാഷകൾ ക്രമപ്പെടുത്തുക</translation>
@@ -4206,6 +4215,7 @@
 <translation id="7321545336522791733">സെർവർ ലഭ്യമല്ല</translation>
 <translation id="7324297612904500502">ബീറ്റ ഫോറം</translation>
 <translation id="7325437708553334317">ഉയർന്ന ദൃശ്യ തീവ്രത വിപുലീകരണം</translation>
+<translation id="7328162502911382168">(<ph name="COUNT" />)</translation>
 <translation id="7328867076235380839">അസാധുവായ കോമ്പിനേഷൻ</translation>
 <translation id="7329154610228416156">സുരക്ഷിതമല്ലാത്ത URL (<ph name="BLOCKED_URL" />) ഉപയോഗിക്കാൻ കോൺഫിഗർ ചെയ്‌തിരിക്കുന്നതിനാൽ സൈൻ ഇൻ ചെയ്യുന്നതിന് പരാജയപ്പെട്ടു. നിങ്ങളുടെ അഡ്‌മിനിസ്‌ട്രേറ്ററെ ബന്ധപ്പെടുക.</translation>
 <translation id="7334190995941642545">നിലവിൽ Smart Lock ലഭ്യമല്ല. പിന്നീട് വീണ്ടും ശ്രമിക്കുക.</translation>
@@ -4518,7 +4528,7 @@
     <ph name="LINE_BREAK2" />
     കുറച്ച് ഫോട്ടോകൾ തിരഞ്ഞെടുത്ത് പരീക്ഷിക്കുക.</translation>
 <translation id="782590969421016895">നിലവിലെ പേജുകള്‍ ഉപയോഗിക്കുക</translation>
-<translation id="7826346148677309647">നിങ്ങളുടെ ഉപകരണത്തിനായി കൂടുതൽ ആപ്പുകൾ Play സ്‌റ്റോറിൽ കണ്ടെത്താനാവും.</translation>
+<translation id="7826346148677309647">നിങ്ങളുടെ ഉപകരണത്തിനായി കൂടുതൽ ആപ്പുകൾ, Play സ്‌റ്റോറിൽ കണ്ടെത്താനാവും.</translation>
 <translation id="7826790948326204519"><ph name="BEGIN_H3" />ഡീബഗ് ചെയ്യൽ ഫീച്ചറുകൾ<ph name="END_H3" />
     <ph name="BR" />
     നിങ്ങളുടെ ഉപകരണത്തിൽ ഇൻസ്‌റ്റാൾ ചെയ്യുന്നതിനും ഇഷ്‌ടാനുസൃത കോഡ് പരീക്ഷിക്കുന്നതിനും Chrome OS ഉപകരണത്തിൽ ഡീബഗ് ചെയ്യൽ ഫീച്ചറുകൾ പ്രവർത്തനക്ഷമമാക്കാനാവും. ഇനി പറയുന്നവ ചെയ്യാൻ ഇത് നിങ്ങളെ അനുവദിക്കും:<ph name="BR" />
@@ -4715,7 +4725,7 @@
 <translation id="8059417245945632445">&amp;ഉപകരണങ്ങൾ പരിശോധിക്കുക</translation>
 <translation id="8063235345342641131">ഡിഫോൾട്ടായ പച്ച അവതാർ</translation>
 <translation id="8064671687106936412">കീ:</translation>
-<translation id="8065485338434000013">നിങ്ങളുടെ ചില കാർഡുകൾ മാത്രമേ ഈ ഉപകരണത്തിൽ ഉപയോഗിക്കാനാവൂ</translation>
+<translation id="8065485338434000013">നിങ്ങളുടെ ചില കാർഡുകൾ, ഈ ഉപകരണത്തിൽ മാത്രമേ ഉപയോഗിക്കാനാവൂ</translation>
 <translation id="806812017500012252">ശീര്‍ഷക പ്രകാരം പുനര്‍ക്രമീകരിക്കുക</translation>
 <translation id="8068253693380742035">സൈൻ ഇൻ ചെയ്യാൻ സ്‌പർശിക്കുക</translation>
 <translation id="8069615408251337349">Google ക്ലൗഡ് പ്രിന്റ്</translation>
@@ -4797,6 +4807,7 @@
 <translation id="8199300056570174101">നെറ്റ്‌വർക്കും (സേവനം) ഉപകരണ പ്രോപ്പർട്ടികളും</translation>
 <translation id="8200772114523450471">തുടരൂ</translation>
 <translation id="8202160505685531999">നിങ്ങളുടെ <ph name="DEVICE_TYPE" /> പ്രൊഫൈൽ അപ്‌ഡേറ്റുചെയ്യാൻ പാസ്‌വേഡ് വീണ്ടും നൽകുക.</translation>
+<translation id="8203732864715032075">നിങ്ങള്‍ക്ക് അറിയിപ്പുകള്‍ അയയ്‌ക്കുന്നു, സന്ദേശങ്ങള്‍ക്കായി ഈ കമ്പ്യൂട്ടറിനെ ഡിഫോള്‍‌ട്ടായി ഒാർമ്മിപ്പിക്കുകയും ചെയ്യുന്നു. <ph name="LINK_BEGIN" />കൂടുതലറിയുക<ph name="LINK_END" /></translation>
 <translation id="8206354486702514201">ഈ ക്രമീകരണം നിങ്ങളുടെ അഡ്‌മിനി‌സ്‌ട്രേറ്റർ നടപ്പിലാക്കിയതാണ്.</translation>
 <translation id="8206745257863499010">ബ്ലൂസി</translation>
 <translation id="8209677645716428427">സൂപ്പർവൈസുചെയ്‌ത ഉപയോക്താവിന് നിങ്ങളുടെ മാർഗനിർദ്ദേശം ഉപയോഗിച്ച് വെബ് പര്യവേക്ഷണം ചെയ്യാനാകും. Chrome-ലെ സൂപ്പർവൈസുചെയ്‌ത മാനേജരെന്ന നിലയിൽ നിങ്ങൾക്ക് ഇനിപ്പറയുന്നത് ചെയ്യാനാകും:</translation>
@@ -5108,7 +5119,6 @@
 <translation id="869884720829132584">അപ്ലിക്കേഷനുക‌ള്‍‌ മെനു</translation>
 <translation id="869891660844655955">കാലഹരണപ്പെടല്‍‌ തീയതി</translation>
 <translation id="8699566574894671540">ഇത് ഓണാക്കുന്നതിന്, എഡിറ്റ് മെനുവിൽ ടൈപ്പ് ചെയ്യുന്ന സമയത്ത് അക്ഷരത്തെറ്റ് പരിശോധന എന്നത് ആദ്യം തിരഞ്ഞെടുക്കുക</translation>
-<translation id="870073306461175568">നെറ്റ്‌വർക്ക് ഫയൽ പങ്കിടലുകൾ</translation>
 <translation id="8701677791353449257">ഉപകരണ നാമം <ph name="REGEX" /> റെഗുലർ എക്‌സ്‌പ്രഷനുമായി പൊരുത്തപ്പെടണം.</translation>
 <translation id="8704521619148782536">ഇത് സാധാരണയിലും കൂടുതൽ സമയമെടുക്കുന്നു. നിങ്ങൾക്ക് കാത്തിരിക്കാം, അല്ലെങ്കിൽ റദ്ദാക്കി പിന്നീട് വീണ്ടും ശ്രമിക്കുക.</translation>
 <translation id="8705331520020532516">സീരിയല്‍‌ നമ്പര്‍‌</translation>
@@ -5292,7 +5302,6 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> - ക്രാഷായി</translation>
 <translation id="8983677657449185470">സുരക്ഷിത ബ്രൗസിംഗ് മെച്ചപ്പെടുത്താൻ സഹായിക്കുക</translation>
 <translation id="8984179138335769204">ക്വിക്ക് ലോഞ്ച്</translation>
-<translation id="8984654317541110628">ഫയൽ പങ്കിടൽ URL</translation>
 <translation id="8986362086234534611">മറന്നു</translation>
 <translation id="8986494364107987395">Google ലേക്ക് സ്വപ്രേരിതമായി ഉപയോഗ സ്ഥിതിവിവരക്കണക്കുകളും ക്രാഷ് റിപ്പോര്‍ട്ടുകളും അയയ്ക്കുക</translation>
 <translation id="8987927404178983737">മാസം</translation>
diff --git a/chrome/app/resources/generated_resources_mr.xtb b/chrome/app/resources/generated_resources_mr.xtb
index f72eeca..c0ece1c 100644
--- a/chrome/app/resources/generated_resources_mr.xtb
+++ b/chrome/app/resources/generated_resources_mr.xtb
@@ -275,6 +275,7 @@
 <translation id="1395730723686586365">अद्यतनकर्ता प्रारंभ</translation>
 <translation id="1396139853388185343">प्रिंटर सेट अप करण्यात एरर आली</translation>
 <translation id="1396963298126346194">आपण प्रविष्‍ट केलेले वापरकर्तानाव आणि पासवर्ड जुळत नाही</translation>
+<translation id="1397500194120344683">कोणतीही पात्र डिव्हाइस नाहीत. <ph name="LINK_BEGIN" />अधिक जाणून घ्या.<ph name="LINK_END" /></translation>
 <translation id="1397854323885047133">सिंक आणि पर्सनलायझेयन</translation>
 <translation id="1398853756734560583">वाढवा</translation>
 <translation id="1399511500114202393">वापरकर्ता सर्टिफिकेट नाही</translation>
@@ -375,7 +376,6 @@
 <translation id="1531004739673299060">अॅप्लिकेशन विंडो</translation>
 <translation id="15373452373711364">मोठा माउस कर्सर</translation>
 <translation id="1538729222189715449">Linux फायली सुरू करत आहे...</translation>
-<translation id="153933193410874873">आम्ही या डिव्हाइसवर तुमची ओळख पडताळू शकलो नाही</translation>
 <translation id="1540605929960647700">डेमो मोड सुरू करा</translation>
 <translation id="1543284117603151572">Edge वरून आयात केले</translation>
 <translation id="1545177026077493356">स्वयंचलित कियोस्क मोड</translation>
@@ -528,6 +528,7 @@
 <translation id="175772926354468439">थीम सक्षम करा</translation>
 <translation id="1758018619400202187">EAP-TLS</translation>
 <translation id="17584710573359123">Chrome वेब स्टोअरमध्ये पहा</translation>
+<translation id="176193854664720708">फिंगरप्रिंट सेन्सर पॉवर बटणात आहे. कोणत्याही बोटाने हळूवारपणे स्पर्श करा.</translation>
 <translation id="1763046204212875858">अॅप्लिकेशन शॉर्टकट तयार करा</translation>
 <translation id="1763108912552529023">एक्सप्लोर करत रहा</translation>
 <translation id="1763808908432309942">नवीन टॅबमध्ये उघडते</translation>
@@ -681,7 +682,6 @@
 <translation id="1981115145845865539">तुमचे <ph name="DEVICE_TYPE" /> आपोआप अनलॉक करा</translation>
 <translation id="1983959805486816857">आपण एक नवीन पर्यवेक्षी वापरकर्ता तयार केल्यानंतर, आपण <ph name="MANAGEMENT_URL" /> वर कोणत्याही डिव्हाइसवरून कोणत्याही वेळी सेटिंग्ज व्यवस्थापित करू शकता.</translation>
 <translation id="1984642098429648350">विंडो उजवीकडे आणा</translation>
-<translation id="1987139229093034863">विभिन्न वापरकर्त्यावर बदला.</translation>
 <translation id="1987317783729300807">खाती</translation>
 <translation id="1989112275319619282">ब्राउझ करा</translation>
 <translation id="1992397118740194946">सेट नाही</translation>
@@ -822,6 +822,7 @@
 <translation id="2208158072373999562">झीप संग्रहण करा</translation>
 <translation id="220858061631308971">कृपया यावर हा पिन कोड प्रविष्‍ट करा "<ph name="DEVICE_NAME" />":</translation>
 <translation id="2209593327042758816">शेल्फ आयटम 2</translation>
+<translation id="2212126039311489237">सिस्टम डायलॉग वापरून प्रिंट करा</translation>
 <translation id="2217501013957346740">एक नाव तयार करा -</translation>
 <translation id="2218019600945559112">माऊस आणि टचपॅड</translation>
 <translation id="2218320521449013367">Chrome ला हानिकारक सॉफ्टवेअर काढत असताना एरर आली</translation>
@@ -934,6 +935,7 @@
 <translation id="2378075407703503998"><ph name="SELCTED_FILE_COUNT" /> फायली निवडल्या</translation>
 <translation id="237828693408258535">या पेजचे भाषांतर करायचे?</translation>
 <translation id="2378982052244864789">विस्तार निर्देशिका निवडा.</translation>
+<translation id="2379281330731083556">सिस्टम संवाद वापरून प्रिंट करा… <ph name="SHORTCUT_KEY" /></translation>
 <translation id="2381756643783702095">पाठविण्यापूर्वी विचारा (शिफारस केलेले)</translation>
 <translation id="2384436799579181135">एक एरर आली आहे. कृपया तुमचा प्रिंटर तपासा आणि पुन्हा प्रयत्न करा.</translation>
 <translation id="2387458720915042159">प्रॉक्सी कनेक्शन प्रकार</translation>
@@ -1113,6 +1115,7 @@
 <translation id="2653659639078652383">सबमिट करा</translation>
 <translation id="265390580714150011">फील्ड मूल्य</translation>
 <translation id="2654166010170466751">पेमेंट हँडलर इंस्टॉल करण्यासाठी साइटना अनुमती द्या</translation>
+<translation id="2656742821229528729">तुमच्या कॉंप्युटरवरून एसएमएस पाठवण्यासाठी तुमचा Android फोन आणि Chromebook कनेक्ट करा, तुमचे इंटरनेट कनेक्शन शेअर करा आणि तुमचे Chromebook तुमच्या फोनने अनलॉक करा.<ph name="FOOTNOTE_POINTER" /> <ph name="LINK_BEGIN" />अधिक जाणून घ्या<ph name="LINK_END" /></translation>
 <translation id="2659381484350128933"><ph name="FOOTNOTE_POINTER" />वैशिष्ट्ये डिव्हाइसनुसार बदलतात</translation>
 <translation id="2660779039299703961">इव्‍हेंट</translation>
 <translation id="266079277508604648">प्रिंटरशी कनेक्ट करू शकत नाही. प्रिंटर सुरू आहे का आणि तो वाय-फाय किंवा USB ने तुमच्या Chromebook शी कनेक्ट केला आहे का ते तपासा.</translation>
@@ -1417,6 +1420,7 @@
 <translation id="3115128645424181617">तुमचा फोन आढळला नाही. तो सोयीस्कर असल्याची आणि ब्लूटूथ सुरू असल्याची खात्री करा.</translation>
 <translation id="3115147772012638511">कॅशेसाठी प्रतीक्षा करत आहे...</translation>
 <translation id="3118319026408854581"><ph name="PRODUCT_NAME" /> मदत</translation>
+<translation id="3119484583572640616">Better Together सुरू करणे म्हणजे ते हे करू शकते:</translation>
 <translation id="3120430004221004537">दिलेल्या ऑपरेशनसाठी यावर अपुरे एंक्रिप्शन आहे: "<ph name="DEVICE_NAME" />".</translation>
 <translation id="3121793941267913344">हा <ph name="IDS_SHORT_PRODUCT_NAME" /> डिव्हाइस रीसेट करा</translation>
 <translation id="3122464029669770682">सीपीयू</translation>
@@ -1732,6 +1736,7 @@
 <translation id="3596235046596950091">क्लाउड सेवा सक्षम करा</translation>
 <translation id="3599863153486145794">साइन-इन केलेल्या सर्व डिव्हाइसमधून इतिहास साफ करते. तुमच्या Google खात्यामध्ये <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> वर कदाचित ब्राउझिंगचे इतर फॉर्म असतील.</translation>
 <translation id="3600792891314830896">ध्वनी प्ले करणाऱ्या साइट म्यूट करा</translation>
+<translation id="360180734785106144">नवीन वैशिष्ट्ये उपलब्ध होताच क्षणी ते ऑफर करते</translation>
 <translation id="3602290021589620013">पूर्वावलोकन</translation>
 <translation id="3603533104205588786">तुम्ही पेज बुकमार्क करण्यासाठी तारावर क्लिक करू शकता</translation>
 <translation id="3603622770190368340">नेटवर्क सर्टिफिकेट प्राप्त करा</translation>
@@ -2068,7 +2073,6 @@
 <translation id="4068506536726151626">या पृष्ठावर आपले स्थान ट्रॅक करणार्‍या खालील साइटवरील घटक समाविष्ट आहेत:</translation>
 <translation id="4068776064906523561">फिंगरप्रिंट सेव्ह केले</translation>
 <translation id="407173827865827707">क्लिकवर</translation>
-<translation id="4071770069230198275"><ph name="PROFILE_NAME" />: साइन इन एरर</translation>
 <translation id="4074900173531346617">ईमेल स्वाक्षरीकर्ता सर्टिफिकेट</translation>
 <translation id="407520071244661467">स्केल</translation>
 <translation id="4075639477629295004"><ph name="FILE_NAME" /> कास्ट करू शकलो नाही.</translation>
@@ -2869,6 +2873,7 @@
 <translation id="5332624210073556029">टाइम झोन:</translation>
 <translation id="5334142896108694079">स्क्रिप्ट कॅशे</translation>
 <translation id="5334844597069022743">स्त्रोत पहा</translation>
+<translation id="5334899159203764908"><ph name="BEGIN_LINK" />साइट अॅक्सेस<ph name="END_LINK" /> बद्दल अधिक जाणून घ्या</translation>
 <translation id="5335458522276292100"><ph name="FILE_COUNT" /> चा <ph name="BEGIN_LINK" />Google ड्राइव्ह<ph name="END_LINK" /> वर बॅकअप घेत आहे</translation>
 <translation id="5336126339807372270">कोणत्याही साइटना USB डिव्हाइस अॅक्सेस करू देऊ नका</translation>
 <translation id="5337771866151525739">एका तृतीय पक्षाद्वारे इंस्टॉल.</translation>
@@ -2976,6 +2981,7 @@
 <translation id="5487521232677179737">डेटा साफ करा</translation>
 <translation id="5488093641312826914">'<ph name="COPIED_ITEM_NAME" />' कॉपी केला</translation>
 <translation id="5488468185303821006">गुप्तमध्ये परवानगी द्या</translation>
+<translation id="5489121514345187313">तुमचे Chromebook तुमच्या फोनसोबत आणखी चांगले काम करते. <ph name="LINK_BEGIN" />अधिक जाणून घ्या.<ph name="LINK_END" /></translation>
 <translation id="5489435190927933437"><ph name="DOMAIN" /> साठी सेव्ह केलेले पासवर्ड</translation>
 <translation id="5491110079163012109">सिस्टम डेटा पाठवा. आपोआप निदान आणि डिव्हाइस आणि अ‍ॅप वापर डेटा Google ला पाठवा. या डिव्हाइससाठी निदान आणि वापर डेटा Google ला पाठवण्याचे मालक निवडू शकतो. तुम्ही हे सेटिंग्जमध्ये पाहू शकता. तुम्ही अतिरिक्त वेब आणि अ‍ॅप अॅक्टिव्हिटी चालू केली असल्यास, ही माहिती तुमच्या खात्यात स्टोअर केली जाईल जेणेकरून तुम्ही ती माझी अॅक्टिव्हिटी मध्ये व्यवस्थापित करू शकाल. <ph name="BEGIN_LINK1" />अधिक जाणून घ्या<ph name="END_LINK1" /></translation>
 <translation id="5493792505296048976">स्क्रीन चालू</translation>
@@ -3147,6 +3153,7 @@
 <translation id="5731409020711461763">1 नवीन फोटो</translation>
 <translation id="5734362860645681824">संप्रेषणे</translation>
 <translation id="5736796278325406685">कृपया एक वैध वापरकर्तानाव एंटर करा</translation>
+<translation id="5739235828260127894">पडताळणीसाठी वाट पाहत आहे. <ph name="LINK_BEGIN" />अधिक जाणून घ्या.<ph name="LINK_END" /></translation>
 <translation id="5739458112391494395">खूप मोठा</translation>
 <translation id="5740331643563157105"><ph name="LANGUAGE_1" />, <ph name="LANGUAGE_2" /> आणि अन्य <ph name="NUM_ADDITIONAL_LANGUAGES" /></translation>
 <translation id="574209121243317957">पिच</translation>
@@ -3250,6 +3257,7 @@
 <translation id="5870086504539785141">प्रवेशक्षमता मेनू बंद करा</translation>
 <translation id="5870155679953074650">हार्ड फॉल्‍ट</translation>
 <translation id="5877064549588274448">चॅनेल बदलले. बदल लागू करण्यासाठी आपले डिव्हाइस रीस्टार्ट करा.</translation>
+<translation id="5877584842898320529">निवडलेले प्रिंटर उपलब्ध नाही किंवा योग्यरीत्या इंस्टॉल केलेले नाही. <ph name="BR" /> तुमचा प्रिंटर तपासा किंवा दुसरा प्रिंटर निवडून पहा.</translation>
 <translation id="5880247576487732437">टोकन सादर</translation>
 <translation id="5882919346125742463">ज्ञात नेटवर्क</translation>
 <translation id="5884474295213649357">हा टॅब USB डिव्हाइसशी कनेक्ट केला आहे.</translation>
@@ -3317,6 +3325,7 @@
 <translation id="5979469435153841984">पेज बुकमार्क करण्यासाठी, अॅड्रेस बारमधील स्टार क्लिक करा</translation>
 <translation id="5982621672636444458">क्रमवारी पर्याय</translation>
 <translation id="5984222099446776634">अलीकडे भेट दिलेले</translation>
+<translation id="5985458664595100876">चुकीचा URL फॉरमॅट. सपोर्ट केले जाणारे फॉरमॅट \\server\share आणि smb://server/share आहेत.</translation>
 <translation id="5990142338020175451">आणखी चांगल्या पेज सूचना, यासारख्या अधिक वैयक्तिक Google सेवा</translation>
 <translation id="5990386583461751448">भाषांतर केले</translation>
 <translation id="5991049340509704927">विशालित करा</translation>
@@ -3345,6 +3354,7 @@
 <translation id="6026819612896463875"><ph name="WINDOW_TITLE" /> - USB डिव्हाइस कनेक्ट केले</translation>
 <translation id="6028117231645531007">फिंगरप्रिंट जोडा</translation>
 <translation id="6029027682598229313">Linux इंस्टॉलेशन पूर्ण झाले आहे.</translation>
+<translation id="6029292188939175871">हटवा [<ph name="FINGERPRINT_NAME" />], बटण</translation>
 <translation id="6029587122245504742">सर्वात धीमे</translation>
 <translation id="6032912588568283682">फाइल सिस्‍टिम</translation>
 <translation id="6034662038931255275">OS अपडेट यशस्वी</translation>
@@ -3458,7 +3468,6 @@
 <translation id="6185132558746749656">डिव्‍हाइस स्‍थान</translation>
 <translation id="6185617499004995178">CUPS IPP व्हॅलिडेटर</translation>
 <translation id="6185696379715117369">पृष्ठ वर</translation>
-<translation id="6189273858858366896">नेटवर्क फाइल शेअर सेट किंवा व्यवस्थापित करा</translation>
 <translation id="6189412234224385711"><ph name="EXTENSION_NAME" /> मध्ये उघडा</translation>
 <translation id="6196640612572343990">तृतीय-पक्ष कुकीज अवरोधित करा</translation>
 <translation id="6196854373336333322">"<ph name="EXTENSION_NAME" />" एक्स्टेंशनने तुमच्या प्रॉक्सी सेटिंग्जचे नियंत्रण घेतले आहे, याचा अर्थ हे तुम्ही ऑनलाइन करता ती कोणतीही गोष्ट बदलू शकते, खंडित करू शकते किंवा चोरून ऐकू शकते. हा बदल का झाला, याबद्दल तुम्ही खात्री नसल्यास, तुम्हाला कदाचित तो नको आहे.</translation>
@@ -3765,6 +3774,7 @@
 <translation id="6643016212128521049">साफ करा</translation>
 <translation id="6644512095122093795">पासवर्ड सेव्ह करण्यासाठी विचारा</translation>
 <translation id="6644846457769259194">आपले डिव्हाइस अपडेट करीत आहे (<ph name="PROGRESS_PERCENT" />)</translation>
+<translation id="6645437135153136856">निवडलेल्या Google क्लाउड प्रिंट डिव्हाइसला यापुढे सपोर्ट असणार नाही. <ph name="BR" /> तुमच्या कॉंप्युटरच्या सिस्टम सेटिंग्जमध्ये प्रिंटर सेट करण्याचा प्रयत्न करा.</translation>
 <translation id="6647228709620733774">Netscape प्रमाणन अधिकृतता निरस्तीकरण URL</translation>
 <translation id="6647838571840953560">सध्या <ph name="CHANNEL_NAME" /> वर</translation>
 <translation id="6648051959475508072">सिक्युरिटी की अॅक्टिव्हेट केली आहे…</translation>
@@ -3786,7 +3796,6 @@
 <translation id="667517062706956822">Google ने हे पृष्ठ <ph name="SOURCE_LANGUAGE" /> मधून <ph name="TARGET_LANGUAGE" /> मध्ये भाषांतरित करावे असे आपण इच्छिता?</translation>
 <translation id="6675665718701918026">निर्देशित करणारे डिव्हाइस कनेक्‍ट केले</translation>
 <translation id="6678717876183468697">क्वेरी URL</translation>
-<translation id="6680028776254050810">वापरकर्ते स्‍वीच करा</translation>
 <translation id="6680442031740878064">उपलब्ध: <ph name="AVAILABLE_SPACE" /></translation>
 <translation id="6680650203439190394">रेट करा</translation>
 <translation id="6681668084120808868">फोटो घ्या</translation>
@@ -3795,7 +3804,6 @@
 <translation id="668599234725812620">Google Play उघडा</translation>
 <translation id="6686490380836145850">उजवीकडील टॅब बंद करा</translation>
 <translation id="6686817083349815241">तुमचा पासवर्ड सेव्ह करा</translation>
-<translation id="6690565918367819723"><ph name="PROFILE_NAME" /> व्यक्ती स्विच करा</translation>
 <translation id="6690659332373509948">फाईल विश्लेषित करण्यात अक्षम: <ph name="FILE_NAME" /></translation>
 <translation id="6690751852586194791">या डिव्हाइसवर जोडण्यासाठी एक पर्यवेक्षी वापरकर्ता निवडा.</translation>
 <translation id="6691331417640343772">Google डॅशबोर्डवरील संकालित डेटा व्यवस्थापित करा</translation>
@@ -4132,6 +4140,7 @@
 <translation id="7201118060536064622">'<ph name="DELETED_ITEM_NAME" />' हटवले</translation>
 <translation id="7206693748120342859"><ph name="PLUGIN_NAME" /> डाउनलोड करीत आहे...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{पेजमधून बाहेर या}one{पेजमधून बाहेर या}other{पेजमधून बाहेर या}}</translation>
+<translation id="7210499381659830293">एक्स्टेंशन प्रिंटर</translation>
 <translation id="721467499098558573">तुमच्या सिक्युरिटी की वरील बटण कमीतकमी पाच सेकंदांपर्यंत दाबा आणि धरून ठेवा</translation>
 <translation id="7216409898977639127">सेल्युलर सेवा देणारा</translation>
 <translation id="7216595297012131718">आपल्या प्राधान्याच्या आधारावर भाषांची क्रमवारी लावा</translation>
@@ -4210,6 +4219,7 @@
 <translation id="7321545336522791733">सर्व्हर आवाक्याबाहेर आहे</translation>
 <translation id="7324297612904500502">बीटा फोरम</translation>
 <translation id="7325437708553334317">उच्च प्रखरता विस्तार</translation>
+<translation id="7328162502911382168">(<ph name="COUNT" />)</translation>
 <translation id="7328867076235380839">चुकीचे कॉंबिनेशन</translation>
 <translation id="7329154610228416156">सुरक्षित-नसलेली URL (<ph name="BLOCKED_URL" />) वापरण्यासाठी साइन-इन कॉन्फिगर केल्यामुळे ते अयशस्वी झाले. कृपया आपल्या प्रशासकाशी संपर्क साधा.</translation>
 <translation id="7334190995941642545">Smart Lock सध्या अनुपलब्ध आहे. कृपया नंतर पुन्हा प्रयत्न करा.</translation>
@@ -4799,6 +4809,7 @@
 <translation id="8199300056570174101">नेटवर्क (सेवा) आणि डिव्हाइसचे गुणधर्म</translation>
 <translation id="8200772114523450471">रेझ्युमे</translation>
 <translation id="8202160505685531999">कृपया तुमचे <ph name="DEVICE_TYPE" /> प्रोफाइल अपडेट करण्‍यासाठी तुमचा पासवर्ड पुन्हा एंटर करा.</translation>
+<translation id="8203732864715032075">Messages साठी हा कॉंप्युटर डीफॉल्ट म्हणून लक्षात ठेवण्याकरता तुम्हाला सूचना पाठवेल. <ph name="LINK_BEGIN" />अधिक जाणून घ्या<ph name="LINK_END" /></translation>
 <translation id="8206354486702514201">या सेटिंगची अंमलबजावणी आपल्या प्रशासकाकडून होते.</translation>
 <translation id="8206745257863499010">Bluesy</translation>
 <translation id="8209677645716428427">एक पर्यवेक्षी वापरकर्ता आपल्या मार्गदर्शनाने वेब एक्सप्लोर करू शकतो. Chrome मधील पर्यवेक्षी वापरकर्त्याचा व्यवस्थापक म्हणून, आपण हे करू शकता:</translation>
@@ -5110,7 +5121,6 @@
 <translation id="869884720829132584">अॅप्लिकेशन मेनू</translation>
 <translation id="869891660844655955">कालावधी समाप्ती तारीख</translation>
 <translation id="8699566574894671540">हे सुरू करण्यासाठी, संपादन मेनू मध्ये टाइप करताना प्रथम शब्दलेखन तपासा निवडा</translation>
-<translation id="870073306461175568">नेटवर्क फाइल शेअर</translation>
 <translation id="8701677791353449257">डिव्हाइसचे नाव रेग्युलर एक्स्प्रेशन <ph name="REGEX" /> शी जुळणे आवश्यक आहे.</translation>
 <translation id="8704521619148782536">यास नेहमीपेक्षा जास्त वेळ लागत आहे. आपण प्रतीक्षा करु शकता किंवा रद्द करा आणि नंतर पुन्हा प्रयत्न करा.</translation>
 <translation id="8705331520020532516">सिरीअल नंबर</translation>
@@ -5296,7 +5306,6 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> - क्रॅश झाले</translation>
 <translation id="8983677657449185470">सुरक्षित ब्राउझिंग सुधारण्यात मदत करा</translation>
 <translation id="8984179138335769204">त्वरित लाँच</translation>
-<translation id="8984654317541110628">फाइल शेअर URL</translation>
 <translation id="8986362086234534611">विसरा</translation>
 <translation id="8986494364107987395">Google ला वापर आकडेवारी आणि क्रॅश अहवाल आपोआप पाठवा</translation>
 <translation id="8987927404178983737">महिना</translation>
diff --git a/chrome/app/resources/generated_resources_ms.xtb b/chrome/app/resources/generated_resources_ms.xtb
index c78c781..7e89327 100644
--- a/chrome/app/resources/generated_resources_ms.xtb
+++ b/chrome/app/resources/generated_resources_ms.xtb
@@ -275,6 +275,7 @@
 <translation id="1395730723686586365">Pengemaskinian bermula</translation>
 <translation id="1396139853388185343">Ralat menyediakan pencetak</translation>
 <translation id="1396963298126346194">Nama pengguna dan kata laluan yang anda masukkan tidak sepadan</translation>
+<translation id="1397500194120344683">Tiada peranti yang layak. <ph name="LINK_BEGIN" />Ketahui lebih lanjut<ph name="LINK_END" /></translation>
 <translation id="1397854323885047133">Penyegerakan dan pemeribadian</translation>
 <translation id="1398853756734560583">Maksimumkan</translation>
 <translation id="1399511500114202393">Tiada sijil pengguna</translation>
@@ -375,7 +376,6 @@
 <translation id="1531004739673299060">Tetingkap Aplikasi</translation>
 <translation id="15373452373711364">Kursor tetikus besar</translation>
 <translation id="1538729222189715449">Membuka fail Linux...</translation>
-<translation id="153933193410874873">Kami tidak dapat mengesahkan identiti anda pada peranti ini</translation>
 <translation id="1540605929960647700">Dayakan mod tunjuk cara</translation>
 <translation id="1543284117603151572">Diimport Daripada Edge</translation>
 <translation id="1545177026077493356">Mod Kios Automatik</translation>
@@ -529,6 +529,7 @@
 <translation id="175772926354468439">Dayakan tema</translation>
 <translation id="1758018619400202187">EAP-TLS</translation>
 <translation id="17584710573359123">Lihat di Gedung Web Chrome</translation>
+<translation id="176193854664720708">Penderia cap jari terletak di dalam butang kuasa. Sentuh dengan lembut menggunakan mana-mana jari.</translation>
 <translation id="1763046204212875858">Cipta pintasan aplikasi</translation>
 <translation id="1763108912552529023">Teruskan meneroka</translation>
 <translation id="1763808908432309942">Membuka dalam tab baharu</translation>
@@ -682,7 +683,6 @@
 <translation id="1981115145845865539">Buka kunci <ph name="DEVICE_TYPE" /> anda secara automatik</translation>
 <translation id="1983959805486816857">Selepas anda membuat pengguna diselia baharu, anda boleh mengurus tetapan pada bila-bila masa dari mana-mana peranti di <ph name="MANAGEMENT_URL" />.</translation>
 <translation id="1984642098429648350">Letakkan tetingkap di kanan</translation>
-<translation id="1987139229093034863">Tukar kepada pengguna yang lain.</translation>
 <translation id="1987317783729300807">Akaun</translation>
 <translation id="1989112275319619282">Semak Imbas</translation>
 <translation id="1992397118740194946">Tidak ditetapkan</translation>
@@ -823,6 +823,7 @@
 <translation id="2208158072373999562">Arkib zip</translation>
 <translation id="220858061631308971">Sila masukkan kod PIN ini pada "<ph name="DEVICE_NAME" />":</translation>
 <translation id="2209593327042758816">Item rak 2</translation>
+<translation id="2212126039311489237">Cetak menggunakan dialog sistem</translation>
 <translation id="2217501013957346740">Cipta nama -</translation>
 <translation id="2218019600945559112">Tetikus dan pad sentuh</translation>
 <translation id="2218320521449013367">Ralat berlaku semasa Chrome mengalih keluar perisian yang berbahaya</translation>
@@ -935,6 +936,7 @@
 <translation id="2378075407703503998"><ph name="SELCTED_FILE_COUNT" /> fail dipilih</translation>
 <translation id="237828693408258535">Terjemah halaman ini?</translation>
 <translation id="2378982052244864789">Pilih direktori sambungan.</translation>
+<translation id="2379281330731083556">Cetak menggunakan dialog sistem... <ph name="SHORTCUT_KEY" /></translation>
 <translation id="2381756643783702095">Tanya sebelum menghantar (disyorkan)</translation>
 <translation id="2384436799579181135">Ralat telah berlaku. Sila periksa pencetak anda dan cuba lagi.</translation>
 <translation id="2387458720915042159">Jenis sambungan proksi</translation>
@@ -1115,6 +1117,7 @@
 <translation id="2653659639078652383">Serah</translation>
 <translation id="265390580714150011">Nilai Medan</translation>
 <translation id="2654166010170466751">Benarkan tapak untuk memasang pengendali pembayaran</translation>
+<translation id="2656742821229528729">Sambungkan telefon Android dan Chromebook untuk menghantar teks dari komputer, berkongsi sambungan Internet dan membuka kunci Chromebook menggunakan telefon anda.<ph name="FOOTNOTE_POINTER" /> <ph name="LINK_BEGIN" />Ketahui lebih lanjut<ph name="LINK_END" /></translation>
 <translation id="2659381484350128933"><ph name="FOOTNOTE_POINTER" />Ciri berbeza-beza mengikut peranti</translation>
 <translation id="2660779039299703961">Acara</translation>
 <translation id="266079277508604648">Tidak dapat menyambungkan pencetak. Pastikan pencetak dihidupkan dan disambungkan kepada Chromebook anda melalui Wi-Fi atau USB.</translation>
@@ -1419,6 +1422,7 @@
 <translation id="3115128645424181617">Tidak dapat mencari telefon anda. Pastikan telefon tersebut ada bersama anda dan Bluetooth dihidupkan.</translation>
 <translation id="3115147772012638511">Menunggu cache...</translation>
 <translation id="3118319026408854581"><ph name="PRODUCT_NAME" /> Bantuan</translation>
+<translation id="3119484583572640616">Menghidupkan Better Together bermakna apl ini boleh:</translation>
 <translation id="3120430004221004537">Penyulitan tidak mencukupi untuk pengendalian yang dinyatakan pada: "<ph name="DEVICE_NAME" />".</translation>
 <translation id="3121793941267913344">Tetapkan semula peranti <ph name="IDS_SHORT_PRODUCT_NAME" /> ini</translation>
 <translation id="3122464029669770682">CPU</translation>
@@ -1733,6 +1737,7 @@
 <translation id="3596235046596950091">Dayakan perkhidmatan awan</translation>
 <translation id="3599863153486145794">Mengosongkan sejarah daripada semua peranti yang dilog masuk. Akaun Google anda mungkin mempunyai sejarah penyemakan imbas dalam bentuk lain di <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
 <translation id="3600792891314830896">Redam tapak yang memainkan bunyi</translation>
+<translation id="360180734785106144">Tawarkan ciri baharu apabila tersedia</translation>
 <translation id="3602290021589620013">Pratonton</translation>
 <translation id="3603533104205588786">Anda boleh mengklik bintang untuk menandai halaman</translation>
 <translation id="3603622770190368340">Dapatkan sijil rangkaian</translation>
@@ -2068,7 +2073,6 @@
 <translation id="4068506536726151626">Halaman ini mengandungi unsur daripada tapak berikut yang menjejaki lokasi anda:</translation>
 <translation id="4068776064906523561">Cap jari disimpan</translation>
 <translation id="407173827865827707">Apabila diklik</translation>
-<translation id="4071770069230198275"><ph name="PROFILE_NAME" /> : ralat log masuk</translation>
 <translation id="4074900173531346617">Sijil Penandatangan E-mel</translation>
 <translation id="407520071244661467">Skala</translation>
 <translation id="4075639477629295004">Tidak dapat menghantar <ph name="FILE_NAME" />.</translation>
@@ -2870,6 +2874,7 @@
 <translation id="5332624210073556029">Zon waktu:</translation>
 <translation id="5334142896108694079">Cache Skrip</translation>
 <translation id="5334844597069022743">Paparkan sumber</translation>
+<translation id="5334899159203764908">Ketahui lebih lanjut tentang <ph name="BEGIN_LINK" />akses tapak<ph name="END_LINK" /></translation>
 <translation id="5335458522276292100">Menyandarkan <ph name="FILE_COUNT" /> ke <ph name="BEGIN_LINK" />Google Drive<ph name="END_LINK" /></translation>
 <translation id="5336126339807372270">Jangan benarkan mana-mana tapak mengakses peranti USB</translation>
 <translation id="5337771866151525739">Dipasang oleh pihak ketiga.</translation>
@@ -2977,6 +2982,7 @@
 <translation id="5487521232677179737">Kosongkan data</translation>
 <translation id="5488093641312826914">'<ph name="COPIED_ITEM_NAME" />' disalin</translation>
 <translation id="5488468185303821006">Benarkan dalam inkognito</translation>
+<translation id="5489121514345187313">Chromebook anda berfungsi lebih baik dengan telefon anda. <ph name="LINK_BEGIN" />Ketahui lebih lanjut<ph name="LINK_END" /></translation>
 <translation id="5489435190927933437">Kata laluan yang disimpan untuk <ph name="DOMAIN" /></translation>
 <translation id="5491110079163012109">Hantar data sistem. Data diagnostik dan penggunaan peranti serta apl dihantar secara automatik kepada Google. Tetapan ini dikuatkuasakan oleh pemilik. Pemilik boleh memilih untuk menghantar data diagnostik dan penggunaan peranti ini kepada Google. Anda boleh melihat pilihan ini dalam tetapan. Jika anda menghidupkan Aktiviti Web &amp; Apl tambahan, maklumat ini akan disimpan dengan akaun anda supaya anda dapat mengurus maklumat ini dalam Aktiviti Saya. <ph name="BEGIN_LINK1" />Ketahui Lebih Lanjut<ph name="END_LINK1" /></translation>
 <translation id="5493792505296048976">skrin dihidupkan</translation>
@@ -3148,6 +3154,7 @@
 <translation id="5731409020711461763">1 foto baharu</translation>
 <translation id="5734362860645681824">Komunikasi</translation>
 <translation id="5736796278325406685">Sila masukkan nama pengguna yang sah</translation>
+<translation id="5739235828260127894">Menunggu pengesahan. <ph name="LINK_BEGIN" />Ketahui lebih lanjut<ph name="LINK_END" /></translation>
 <translation id="5739458112391494395">Sangat besar</translation>
 <translation id="5740331643563157105"><ph name="LANGUAGE_1" />, <ph name="LANGUAGE_2" /> dan <ph name="NUM_ADDITIONAL_LANGUAGES" /> yang lain</translation>
 <translation id="574209121243317957">Nada</translation>
@@ -3251,6 +3258,7 @@
 <translation id="5870086504539785141">Tutup menu kebolehaksesan</translation>
 <translation id="5870155679953074650">Kesalahan keras</translation>
 <translation id="5877064549588274448">Saluran berubah. Mulakan semula peranti anda untuk menggunakan perubahan.</translation>
+<translation id="5877584842898320529">Pencetak yang dipilih tidak tersedia atau tidak dipasang dengan betul. <ph name="BR" /> Periksa pencetak anda atau cuba pilih pencetak lain.</translation>
 <translation id="5880247576487732437">Token Ada</translation>
 <translation id="5882919346125742463">Rangkaian Yang Diketahui</translation>
 <translation id="5884474295213649357">Tab ini disambungkan ke peranti USB.</translation>
@@ -3317,6 +3325,7 @@
 <translation id="5979469435153841984">Untuk menandai halaman, klik bintang dalam bar alamat</translation>
 <translation id="5982621672636444458">Pilihan isihan</translation>
 <translation id="5984222099446776634">Dilawati Baru-baru Ini</translation>
+<translation id="5985458664595100876">Format URL tidak sah. Format yang disokong ialah \\server\share dan smb://server/share.</translation>
 <translation id="5990142338020175451">Perkhidmatan Google yang lebih peribadi, seperti cadangan halaman yang lebih baik</translation>
 <translation id="5990386583461751448">Diterjemahkan</translation>
 <translation id="5991049340509704927">Membesarkan</translation>
@@ -3345,6 +3354,7 @@
 <translation id="6026819612896463875"><ph name="WINDOW_TITLE" /> - Peranti USB disambungkan</translation>
 <translation id="6028117231645531007">Tambahkan cap jari</translation>
 <translation id="6029027682598229313">Pemasangan Linux selesai.</translation>
+<translation id="6029292188939175871">padamkan [<ph name="FINGERPRINT_NAME" />], butang</translation>
 <translation id="6029587122245504742">Paling perlahan</translation>
 <translation id="6032912588568283682">Sistem fail</translation>
 <translation id="6034662038931255275">Berjaya mengemas kini OS</translation>
@@ -3458,7 +3468,6 @@
 <translation id="6185132558746749656">Lokasi Peranti</translation>
 <translation id="6185617499004995178">Pengesah IPP CUPS</translation>
 <translation id="6185696379715117369">Halaman atas</translation>
-<translation id="6189273858858366896">Sediakan atau urus Perkongsian Fail Rangkaian.</translation>
 <translation id="6189412234224385711">Buka dengan <ph name="EXTENSION_NAME" /></translation>
 <translation id="6196640612572343990">Sekat kuki pihak ketiga</translation>
 <translation id="6196854373336333322">Sambungan "<ph name="EXTENSION_NAME" />" telah mengambil alih kawalan tetapan proksi anda, yang bermakna sambungan ini boleh mengubah, menghentikan atau mencuri dengar apa-apa sahaja yang anda lakukan dalam talian. Jika anda tidak pasti mengapa perubahan ini berlaku, anda mungkin tidak mahukannya.</translation>
@@ -3764,6 +3773,7 @@
 <translation id="6643016212128521049">Kosongkan</translation>
 <translation id="6644512095122093795">Tawarkan untuk menyimpan kata laluan</translation>
 <translation id="6644846457769259194">Mengemas kini peranti anda (<ph name="PROGRESS_PERCENT" />)</translation>
+<translation id="6645437135153136856">Peranti Cetakan Awan Google yang dipilih tidak disokong lagi. <ph name="BR" /> Cuba tetapkan pencetak dalam tetapan sistem komputer anda.</translation>
 <translation id="6647228709620733774">URL Pembatalan Pihak Berkuasa Pensijilan Netscape</translation>
 <translation id="6647838571840953560">Pada masa ini di <ph name="CHANNEL_NAME" /></translation>
 <translation id="6648051959475508072">Kunci keselamatan diaktifkan...</translation>
@@ -3785,7 +3795,6 @@
 <translation id="667517062706956822">Adakah anda mahu Google menterjemahkan halaman ini daripada <ph name="SOURCE_LANGUAGE" /> kepada <ph name="TARGET_LANGUAGE" />?</translation>
 <translation id="6675665718701918026">Peranti penuding disambung</translation>
 <translation id="6678717876183468697">URL Pertanyaan</translation>
-<translation id="6680028776254050810">Tukar Pengguna</translation>
 <translation id="6680442031740878064">Tersedia: <ph name="AVAILABLE_SPACE" /></translation>
 <translation id="6680650203439190394">Kadar</translation>
 <translation id="6681668084120808868">Ambil foto</translation>
@@ -3794,7 +3803,6 @@
 <translation id="668599234725812620">Buka Google Play</translation>
 <translation id="6686490380836145850">Tutup tab di sebelah kanan</translation>
 <translation id="6686817083349815241">Simpan kata laluan anda</translation>
-<translation id="6690565918367819723"><ph name="PROFILE_NAME" /> Tukar orang</translation>
 <translation id="6690659332373509948">Tidak dapat menghuraikan fail: <ph name="FILE_NAME" /></translation>
 <translation id="6690751852586194791">Pilih pengguna diselia untuk ditambahkan pada peranti ini.</translation>
 <translation id="6691331417640343772">Urus data disegerak pada Papan Pemuka Google</translation>
@@ -4131,6 +4139,7 @@
 <translation id="7201118060536064622">'<ph name="DELETED_ITEM_NAME" />' dipadamkan</translation>
 <translation id="7206693748120342859">Memuat turun <ph name="PLUGIN_NAME" />...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Keluar daripada halaman}other{Keluar daripada halaman}}</translation>
+<translation id="7210499381659830293">Pencetak sambungan</translation>
 <translation id="721467499098558573">Tekan dan tahan butang pada kunci keselamatan anda selama sekurang-kurangnya 5 saat</translation>
 <translation id="7216409898977639127">Penyedia selular</translation>
 <translation id="7216595297012131718">Susun bahasa berdasarkan pilihan anda</translation>
@@ -4209,6 +4218,7 @@
 <translation id="7321545336522791733">Pelayan tidak dapat dihubungi</translation>
 <translation id="7324297612904500502">Forum Beta</translation>
 <translation id="7325437708553334317">Sambungan Kontras Tinggi</translation>
+<translation id="7328162502911382168">(<ph name="COUNT" />)</translation>
 <translation id="7328867076235380839">Gabungan tidak sah</translation>
 <translation id="7329154610228416156">Log masuk gagal kerana telah dikonfigurasikan untuk menggunakan URL tidak selamat (<ph name="BLOCKED_URL" />). Sila hubungi pentadbir anda.</translation>
 <translation id="7334190995941642545">Smart Lock tidak tersedia buat masa ini. Sila cuba lagi kemudian.</translation>
@@ -4800,6 +4810,7 @@
 <translation id="8199300056570174101">Sifat Rangkaian (Perkhidmatan) dan Peranti</translation>
 <translation id="8200772114523450471">Sambung semula</translation>
 <translation id="8202160505685531999">Sila masukkan semula kata laluan untuk mengemaskinikan profil <ph name="DEVICE_TYPE" /> anda.</translation>
+<translation id="8203732864715032075">Hantar pemberitahuan kepada anda dan tetapkan mengingati komputer ini untuk Messages sebagai pilihan lalai. <ph name="LINK_BEGIN" />Ketahui lebih lanjut<ph name="LINK_END" /></translation>
 <translation id="8206354486702514201">Tetapan ini dikuatkuasakan oleh pentadbir anda.</translation>
 <translation id="8206745257863499010">Sayu</translation>
 <translation id="8209677645716428427">Pengguna diselia boleh meneroka web dengan bimbingan anda. Sebagai pengurus pengguna diselia dalam Chrome, anda boleh:</translation>
@@ -5112,7 +5123,6 @@
 <translation id="869884720829132584">Menu aplikasi</translation>
 <translation id="869891660844655955">Tarikh tamat tempoh</translation>
 <translation id="8699566574894671540">Untuk menghidupkan ciri ini, mula-mula pilih Semak Ejaan Semasa Menaip dalam menu Edit</translation>
-<translation id="870073306461175568">Perkongsian Fail Rangkaian</translation>
 <translation id="8701677791353449257">Nama peranti mesti sepadan dengan ungkapan nalar <ph name="REGEX" />.</translation>
 <translation id="8704521619148782536">Ini mengambil masa lebih lama daripada biasa. Anda boleh terus menunggu atau batalkan dan cuba sebentar lagi.</translation>
 <translation id="8705331520020532516">Nombor Siri</translation>
@@ -5297,7 +5307,6 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> - Mengalami ranap sistem</translation>
 <translation id="8983677657449185470">Bantu meningkatkan Penyemakan Imbas Selamat</translation>
 <translation id="8984179138335769204">Lancar pantas</translation>
-<translation id="8984654317541110628">URL Perkongsian Fail</translation>
 <translation id="8986362086234534611">Lupa</translation>
 <translation id="8986494364107987395">Hantar statistik penggunaan dan laporan nahas kepada Google secara automatik</translation>
 <translation id="8987927404178983737">Bulan</translation>
diff --git a/chrome/app/resources/generated_resources_nl.xtb b/chrome/app/resources/generated_resources_nl.xtb
index 3aefdde..a5ec6d4 100644
--- a/chrome/app/resources/generated_resources_nl.xtb
+++ b/chrome/app/resources/generated_resources_nl.xtb
@@ -275,6 +275,7 @@
 <translation id="1395730723686586365">Updater gestart</translation>
 <translation id="1396139853388185343">Fout bij instellen van printer</translation>
 <translation id="1396963298126346194">De gebruikersnaam en het wachtwoord die je hebt opgegeven, komen niet overeen</translation>
+<translation id="1397500194120344683">Geen geschikte apparaten. <ph name="LINK_BEGIN" />Meer informatie<ph name="LINK_END" /></translation>
 <translation id="1397854323885047133">Synchronisatie en personalisatie</translation>
 <translation id="1398853756734560583">Maximaliseren</translation>
 <translation id="1399511500114202393">Geen gebruikerscertificaat</translation>
@@ -375,7 +376,6 @@
 <translation id="1531004739673299060">App-venster</translation>
 <translation id="15373452373711364">Grote muisaanwijzer</translation>
 <translation id="1538729222189715449">Linux-bestanden openen…</translation>
-<translation id="153933193410874873">We kunnen je identiteit niet verifiëren op dit apparaat</translation>
 <translation id="1540605929960647700">Demomodus inschakelen</translation>
 <translation id="1543284117603151572">Geïmporteerd uit Edge</translation>
 <translation id="1545177026077493356">Automatische kioskmodus</translation>
@@ -529,6 +529,7 @@
 <translation id="175772926354468439">Thema inschakelen</translation>
 <translation id="1758018619400202187">EAP-TLS</translation>
 <translation id="17584710573359123">Bekijken in de Chrome Web Store</translation>
+<translation id="176193854664720708">De vingerafdruksensor bevindt zich in de aan/uit-knop. Raak deze voorzichtig aan met een vinger.</translation>
 <translation id="1763046204212875858">Applicatiesnelkoppelingen maken</translation>
 <translation id="1763108912552529023">Blijf ontdekken</translation>
 <translation id="1763808908432309942">Wordt op een nieuw tabblad geopend</translation>
@@ -682,7 +683,6 @@
 <translation id="1981115145845865539">Je <ph name="DEVICE_TYPE" /> automatisch ontgrendelen</translation>
 <translation id="1983959805486816857">Nadat je een nieuwe gebruiker met beperkte rechten hebt gemaakt, kun je de instellingen op elk moment en vanaf elk apparaat beheren op <ph name="MANAGEMENT_URL" />.</translation>
 <translation id="1984642098429648350">Venster rechts koppelen</translation>
-<translation id="1987139229093034863">Schakel over naar een andere gebruiker.</translation>
 <translation id="1987317783729300807">Accounts</translation>
 <translation id="1989112275319619282">Browsen</translation>
 <translation id="1992397118740194946">Niet ingesteld</translation>
@@ -823,6 +823,7 @@
 <translation id="2208158072373999562">Zip-archiefbestand</translation>
 <translation id="220858061631308971">Voer deze pincode in op '<ph name="DEVICE_NAME" />':</translation>
 <translation id="2209593327042758816">Plankartikel 2</translation>
+<translation id="2212126039311489237">Afdrukken via systeemdialoogvenster</translation>
 <translation id="2217501013957346740">Maak een naam -</translation>
 <translation id="2218019600945559112">Muis en touchpad</translation>
 <translation id="2218320521449013367">Er is een fout opgetreden terwijl Chrome schadelijke software verwijderde</translation>
@@ -935,6 +936,7 @@
 <translation id="2378075407703503998"><ph name="SELCTED_FILE_COUNT" /> bestanden geselecteerd</translation>
 <translation id="237828693408258535">Deze pagina vertalen?</translation>
 <translation id="2378982052244864789">Selecteer de directory van de extensie.</translation>
+<translation id="2379281330731083556">Afdrukken via systeemdialoogvenster... <ph name="SHORTCUT_KEY" /></translation>
 <translation id="2381756643783702095">Vragen vóór verzenden (aanbevolen)</translation>
 <translation id="2384436799579181135">Er is een fout opgetreden. Controleer je printer en probeer het opnieuw.</translation>
 <translation id="2387458720915042159">Proxyverbindingstype</translation>
@@ -1114,6 +1116,7 @@
 <translation id="2653659639078652383">Verzenden</translation>
 <translation id="265390580714150011">Veldwaarde</translation>
 <translation id="2654166010170466751">Toestaan dat sites betalingshandlers installeren</translation>
+<translation id="2656742821229528729">Koppel je Android-telefoon aan je Chromebook zodat je kunt sms'en vanaf je computer, je internetverbinding kunt delen en je Chromebook-scherm kunt ontgrendelen met je telefoon.<ph name="FOOTNOTE_POINTER" /><ph name="LINK_BEGIN" />Meer informatie<ph name="LINK_END" /></translation>
 <translation id="2659381484350128933"><ph name="FOOTNOTE_POINTER" />Functies verschillen per apparaat</translation>
 <translation id="2660779039299703961">Gebeurtenis</translation>
 <translation id="266079277508604648">Verbinding met printer niet mogelijk. Controleer of de printer is ingeschakeld en via wifi of USB is verbonden met je Chromebook.</translation>
@@ -1418,6 +1421,7 @@
 <translation id="3115128645424181617">Kan je telefoon niet vinden. Zorg ervoor dat je deze bij de hand hebt en dat Bluetooth is ingeschakeld.</translation>
 <translation id="3115147772012638511">Wachten op cache...</translation>
 <translation id="3118319026408854581"><ph name="PRODUCT_NAME" /> Help</translation>
+<translation id="3119484583572640616">Wanneer je Better Together inschakelt, kan deze functie het volgende doen:</translation>
 <translation id="3120430004221004537">Onvoldoende versleuteling voor een bepaalde bewerking op: <ph name="DEVICE_NAME" />.</translation>
 <translation id="3121793941267913344">Dit <ph name="IDS_SHORT_PRODUCT_NAME" />-apparaat herstellen</translation>
 <translation id="3122464029669770682">CPU</translation>
@@ -1732,6 +1736,7 @@
 <translation id="3596235046596950091">Cloudservices inschakelen</translation>
 <translation id="3599863153486145794">Hiermee wordt de geschiedenis van alle ingelogde apparaten gewist. Er kunnen andere vormen van browsegeschiedenis zijn opgeslagen voor je Google-account op <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
 <translation id="3600792891314830896">Sites dempen die geluid afspelen</translation>
+<translation id="360180734785106144">Nieuwe functies aanbieden zodra deze beschikbaar komen</translation>
 <translation id="3602290021589620013">Voorbeeld</translation>
 <translation id="3603533104205588786">Je kunt op de ster klikken om een bladwijzer voor een pagina in te stellen</translation>
 <translation id="3603622770190368340">Netwerkcertificaat verkrijgen</translation>
@@ -2067,7 +2072,6 @@
 <translation id="4068506536726151626">Deze pagina bevat elementen van de volgende sites die je locatie bijhouden:</translation>
 <translation id="4068776064906523561">Opgeslagen vingerafdrukken</translation>
 <translation id="407173827865827707">Bij klik</translation>
-<translation id="4071770069230198275"><ph name="PROFILE_NAME" />: inlogfout</translation>
 <translation id="4074900173531346617">Certificaat van ondertekenaar van e-mail</translation>
 <translation id="407520071244661467">Schaal</translation>
 <translation id="4075639477629295004">Kan <ph name="FILE_NAME" /> niet casten.</translation>
@@ -2870,6 +2874,7 @@
 <translation id="5332624210073556029">Tijdzone:</translation>
 <translation id="5334142896108694079">Script in cache</translation>
 <translation id="5334844597069022743">Bron weergeven</translation>
+<translation id="5334899159203764908">Meer informatie over <ph name="BEGIN_LINK" />sitetoegang<ph name="END_LINK" /></translation>
 <translation id="5335458522276292100">Back-up van <ph name="FILE_COUNT" /> maken op <ph name="BEGIN_LINK" />Google Drive<ph name="END_LINK" /></translation>
 <translation id="5336126339807372270">Sites geen toegang tot USB-apparaten toestaan</translation>
 <translation id="5337771866151525739">Geïnstalleerd door derden.</translation>
@@ -2977,6 +2982,7 @@
 <translation id="5487521232677179737">Gegevens wissen</translation>
 <translation id="5488093641312826914">'<ph name="COPIED_ITEM_NAME" />' gekopieerd</translation>
 <translation id="5488468185303821006">Toestaan in incognitomodus</translation>
+<translation id="5489121514345187313">Je Chromebook werkt nog beter in combinatie met je telefoon. <ph name="LINK_BEGIN" />Meer informatie.<ph name="LINK_END" /></translation>
 <translation id="5489435190927933437">Opgeslagen wachtwoorden voor <ph name="DOMAIN" /></translation>
 <translation id="5491110079163012109">Systeemgegevens verzenden. Automatisch diagnostische en app- en gebruiksgegevens naar Google verzenden. Deze instelling wordt afgedwongen door de eigenaar. De eigenaar kan ervoor kiezen diagnostische en gebruiksgegevens van dit apparaat naar Google te verzenden. Je kunt dit bekijken in de instellingen. Als je 'Web- en app-activiteit' ook hebt ingeschakeld, worden deze gegevens opgeslagen in je account, zodat je ze kunt beheren in 'Mijn activiteit'. <ph name="BEGIN_LINK1" />Meer informatie<ph name="END_LINK1" /></translation>
 <translation id="5493792505296048976">scherm aan</translation>
@@ -3148,6 +3154,7 @@
 <translation id="5731409020711461763">1 nieuwe foto</translation>
 <translation id="5734362860645681824">Communicatie</translation>
 <translation id="5736796278325406685">Geef een geldige gebruikersnaam op</translation>
+<translation id="5739235828260127894">Wachten op verificatie. <ph name="LINK_BEGIN" />Meer informatie.<ph name="LINK_END" /></translation>
 <translation id="5739458112391494395">Zeer groot</translation>
 <translation id="5740331643563157105"><ph name="LANGUAGE_1" />, <ph name="LANGUAGE_2" /> en <ph name="NUM_ADDITIONAL_LANGUAGES" /> andere</translation>
 <translation id="574209121243317957">Hoogte</translation>
@@ -3251,6 +3258,7 @@
 <translation id="5870086504539785141">Toegankelijkheidsmenu sluiten</translation>
 <translation id="5870155679953074650">Harde fouten</translation>
 <translation id="5877064549588274448">Kanaal gewijzigd. Start het apparaat opnieuw op om de wijzigingen door te voeren.</translation>
+<translation id="5877584842898320529">De geselecteerde printer is niet beschikbaar of niet correct geïnstalleerd. <ph name="BR" /> Controleer de printer of probeer een andere printer te selecteren.</translation>
 <translation id="5880247576487732437">Token aanwezig</translation>
 <translation id="5882919346125742463">Bekende netwerken</translation>
 <translation id="5884474295213649357">Dit tabblad is gekoppeld aan een USB-apparaat.</translation>
@@ -3317,6 +3325,7 @@
 <translation id="5979469435153841984">Als je een bladwijzer wilt instellen voor een pagina, klik je op de ster in de adresbalk</translation>
 <translation id="5982621672636444458">Sorteeropties</translation>
 <translation id="5984222099446776634">Recent bezocht</translation>
+<translation id="5985458664595100876">Ongeldige URL-indeling. Ondersteunde formaten zijn \\server\share en smb://server/share.</translation>
 <translation id="5990142338020175451">Meer persoonlijke Google-services, zoals betere paginasuggesties</translation>
 <translation id="5990386583461751448">Vertaald</translation>
 <translation id="5991049340509704927">Vergroten</translation>
@@ -3345,6 +3354,7 @@
 <translation id="6026819612896463875"><ph name="WINDOW_TITLE" />: USB-apparaat verbonden</translation>
 <translation id="6028117231645531007">Vingerafdruk toevoegen</translation>
 <translation id="6029027682598229313">Linux-installatie is voltooid.</translation>
+<translation id="6029292188939175871">[<ph name="FINGERPRINT_NAME" />] verwijderen, knop</translation>
 <translation id="6029587122245504742">Langzaamst</translation>
 <translation id="6032912588568283682">Bestandssysteem</translation>
 <translation id="6034662038931255275">OS-update voltooid</translation>
@@ -3458,7 +3468,6 @@
 <translation id="6185132558746749656">Apparaatlocatie</translation>
 <translation id="6185617499004995178">CUPS IPP Validator</translation>
 <translation id="6185696379715117369">Page Up</translation>
-<translation id="6189273858858366896">Network File Shares instellen of beheren.</translation>
 <translation id="6189412234224385711">Openen met <ph name="EXTENSION_NAME" /></translation>
 <translation id="6196640612572343990">Indirecte cookies blokkeren</translation>
 <translation id="6196854373336333322">De extensie '<ph name="EXTENSION_NAME" />' heeft het beheer van je proxyinstellingen overgenomen. Dit betekent dat de extensie alles wat je online doet, kan wijzigen, beschadigen of bekijken. Als je niet zeker weet waarom deze wijziging heeft plaatsgevonden, is het waarschijnlijk een ongewenste wijziging.</translation>
@@ -3764,6 +3773,7 @@
 <translation id="6643016212128521049">Wissen</translation>
 <translation id="6644512095122093795">Aanbieden wachtwoorden op te slaan</translation>
 <translation id="6644846457769259194">Je apparaat updaten (<ph name="PROGRESS_PERCENT" />)</translation>
+<translation id="6645437135153136856">Het geselecteerde Google Cloudprinter-apparaat wordt niet meer ondersteund. <ph name="BR" /> Stel de printer in via de systeeminstellingen van je computer.</translation>
 <translation id="6647228709620733774">URL voor intrekken van certificeringsinstantie voor Netscape-certificaat</translation>
 <translation id="6647838571840953560">Momenteel op <ph name="CHANNEL_NAME" /></translation>
 <translation id="6648051959475508072">Beveiligingssleutel geactiveerd…</translation>
@@ -3785,7 +3795,6 @@
 <translation id="667517062706956822">Wil je dat Google deze pagina vertaalt van het <ph name="SOURCE_LANGUAGE" /> naar het <ph name="TARGET_LANGUAGE" />?</translation>
 <translation id="6675665718701918026">Aanwijsapparaat verbonden</translation>
 <translation id="6678717876183468697">Query-URL</translation>
-<translation id="6680028776254050810">Gebruiker wijzigen</translation>
 <translation id="6680442031740878064">Beschikbaar: <ph name="AVAILABLE_SPACE" /></translation>
 <translation id="6680650203439190394">Snelheid</translation>
 <translation id="6681668084120808868">Foto nemen</translation>
@@ -3794,7 +3803,6 @@
 <translation id="668599234725812620">Google Play openen</translation>
 <translation id="6686490380836145850">Tabbladen aan de rechterkant sluiten</translation>
 <translation id="6686817083349815241">Je wachtwoord opslaan</translation>
-<translation id="6690565918367819723"><ph name="PROFILE_NAME" /> Van persoon wisselen</translation>
 <translation id="6690659332373509948">Fout bij het parseren van dit bestand: <ph name="FILE_NAME" /></translation>
 <translation id="6690751852586194791">Kies een gebruiker met beperkte rechten om toe te voegen aan dit apparaat.</translation>
 <translation id="6691331417640343772">Gesynchroniseerde gegevens beheren in Google Dashboard</translation>
@@ -4131,6 +4139,7 @@
 <translation id="7201118060536064622">'<ph name="DELETED_ITEM_NAME" />' verwijderd</translation>
 <translation id="7206693748120342859"><ph name="PLUGIN_NAME" /> downloaden...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Pagina afsluiten}other{Pagina's afsluiten}}</translation>
+<translation id="7210499381659830293">Printers via extensie</translation>
 <translation id="721467499098558573">Druk de knop op je beveiligingssleutel ten minste vijf seconden in</translation>
 <translation id="7216409898977639127">Mobiele provider</translation>
 <translation id="7216595297012131718">Talen rangschikken op basis van je voorkeur</translation>
@@ -4209,6 +4218,7 @@
 <translation id="7321545336522791733">Server niet bereikbaar</translation>
 <translation id="7324297612904500502">Bètaforum</translation>
 <translation id="7325437708553334317">Extensie voor hoog contrast</translation>
+<translation id="7328162502911382168">(<ph name="COUNT" />)</translation>
 <translation id="7328867076235380839">Ongeldige combinatie</translation>
 <translation id="7329154610228416156">Inloggen is mislukt omdat er een onbeveiligde URL (<ph name="BLOCKED_URL" />) wordt gebruikt. Neem contact op met je beheerder.</translation>
 <translation id="7334190995941642545">Smart Lock is momenteel niet beschikbaar. Probeer het later opnieuw.</translation>
@@ -4799,6 +4809,7 @@
 <translation id="8199300056570174101">Eigenschappen van netwerk (service) en apparaat</translation>
 <translation id="8200772114523450471">Hervatten</translation>
 <translation id="8202160505685531999">Geef je wachtwoord opnieuw op om je <ph name="DEVICE_TYPE" />-profiel te updaten.</translation>
+<translation id="8203732864715032075">Je meldingen sturen en deze computer standaard onthouden voor Berichten. <ph name="LINK_BEGIN" />Meer informatie<ph name="LINK_END" /></translation>
 <translation id="8206354486702514201">Deze instelling wordt door je beheerder afgedwongen.</translation>
 <translation id="8206745257863499010">Bluesy</translation>
 <translation id="8209677645716428427">Een gebruiker met beperkte rechten kan internet verkennen onder je toezicht. Als beheerder van een gebruiker met beperkte rechten in Chrome, kun je:</translation>
@@ -5110,7 +5121,6 @@
 <translation id="869884720829132584">Menu 'Applicaties'</translation>
 <translation id="869891660844655955">Vervaldatum</translation>
 <translation id="8699566574894671540">Als je dit wilt inschakelen, selecteer je eerst de optie 'Controleer spelling tijdens typen' in het menu 'Bewerken'</translation>
-<translation id="870073306461175568">Network File Shares</translation>
 <translation id="8701677791353449257">De apparaatnaam moet overeenkomen met de reguliere expressie <ph name="REGEX" />.</translation>
 <translation id="8704521619148782536">Dit duurt langer dan verwacht. Je kunt blijven wachten of nu annuleren en het later opnieuw proberen.</translation>
 <translation id="8705331520020532516">Serienummer</translation>
@@ -5296,7 +5306,6 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" />: gecrasht</translation>
 <translation id="8983677657449185470">Help 'Safe Browsing' te verbeteren</translation>
 <translation id="8984179138335769204">Snelstarten</translation>
-<translation id="8984654317541110628">URL voor fileshare</translation>
 <translation id="8986362086234534611">Vergeten</translation>
 <translation id="8986494364107987395">Automatisch gebruiksstatistieken en crashrapporten naar Google verzenden</translation>
 <translation id="8987927404178983737">Maand</translation>
diff --git a/chrome/app/resources/generated_resources_no.xtb b/chrome/app/resources/generated_resources_no.xtb
index 1265a7d7..d17a265 100644
--- a/chrome/app/resources/generated_resources_no.xtb
+++ b/chrome/app/resources/generated_resources_no.xtb
@@ -372,7 +372,6 @@
 <translation id="1531004739673299060">Programvindu</translation>
 <translation id="15373452373711364">Stor markør</translation>
 <translation id="1538729222189715449">Åpner Linux-filer …</translation>
-<translation id="153933193410874873">Vi kunne ikke bekrefte identiteten din på denne enheten</translation>
 <translation id="1540605929960647700">Slå på demomodus</translation>
 <translation id="1543284117603151572">Importert fra Edge</translation>
 <translation id="1545177026077493356">Automatisk kioskmodus</translation>
@@ -679,7 +678,6 @@
 <translation id="1981115145845865539">Lås opp <ph name="DEVICE_TYPE" />-enheten automatisk</translation>
 <translation id="1983959805486816857">Når du har opprettet en ny administrert bruker, kan du administrere innstillingene når som helst fra hvilken som helst enhet på <ph name="MANAGEMENT_URL" />.</translation>
 <translation id="1984642098429648350">Forankre vinduet til høyre</translation>
-<translation id="1987139229093034863">Bytt til en annen bruker.</translation>
 <translation id="1987317783729300807">Kontoer</translation>
 <translation id="1989112275319619282">Bla gjennom</translation>
 <translation id="1992397118740194946">Ikke angitt</translation>
@@ -932,6 +930,7 @@
 <translation id="2378075407703503998"><ph name="SELCTED_FILE_COUNT" /> filer valgt</translation>
 <translation id="237828693408258535">Vil du oversette denne siden?</translation>
 <translation id="2378982052244864789">Velg katalog for utvidelsen.</translation>
+<translation id="2379281330731083556">Skriv ut med systemdialogen <ph name="SHORTCUT_KEY" /></translation>
 <translation id="2381756643783702095">Spør før noe sendes (anbefales).</translation>
 <translation id="2384436799579181135">Det har oppstått en feil. Sjekk skriveren og prøv på nytt.</translation>
 <translation id="2387458720915042159">Tilkoblingstype for proxy-tjener</translation>
@@ -2060,7 +2059,6 @@
 <translation id="4068506536726151626">Denne siden inneholder elementer fra følgende nettsteder som sporer posisjonen din:</translation>
 <translation id="4068776064906523561">Lagrede fingeravtrykk</translation>
 <translation id="407173827865827707">Ved klikk</translation>
-<translation id="4071770069230198275"><ph name="PROFILE_NAME" />: påloggingsfeil</translation>
 <translation id="4074900173531346617">Sertifikat for signering av e-poster</translation>
 <translation id="407520071244661467">Skalér</translation>
 <translation id="4075639477629295004">Kunne ikke caste <ph name="FILE_NAME" />.</translation>
@@ -2861,6 +2859,7 @@
 <translation id="5332624210073556029">Tidssone:</translation>
 <translation id="5334142896108694079">Skriptbuffer</translation>
 <translation id="5334844597069022743">Se kilden</translation>
+<translation id="5334899159203764908">Finn ut mer om <ph name="BEGIN_LINK" />nettstedstilgang<ph name="END_LINK" /></translation>
 <translation id="5335458522276292100">Sikkerhetskopierer <ph name="FILE_COUNT" /> til <ph name="BEGIN_LINK" />Google Disk<ph name="END_LINK" /></translation>
 <translation id="5336126339807372270">Ikke gi noen nettsteder tilgang til USB-enheter</translation>
 <translation id="5337771866151525739">Installert av en tredjepart.</translation>
@@ -3449,7 +3448,6 @@
 <translation id="6185132558746749656">Enhetsposisjon</translation>
 <translation id="6185617499004995178">CUPS IPP-validator</translation>
 <translation id="6185696379715117369">Opp én side</translation>
-<translation id="6189273858858366896">Konfigurer eller administrer fildelinger på nettverket.</translation>
 <translation id="6189412234224385711">Åpne med <ph name="EXTENSION_NAME" /></translation>
 <translation id="6196640612572343990">Blokkér informasjonskapsler fra tredjeparter</translation>
 <translation id="6196854373336333322">Utvidelsen «<ph name="EXTENSION_NAME" />» har tatt kontroll over proxy-tjenerinnstillingene dine, noe som betyr at den kan endre, ødelegge eller spionere på alt du foretar deg på nettet. Hvis du ikke er sikker på hvorfor denne endringen fant sted, vil du mest sannsynlig ikke ha den.</translation>
@@ -3775,7 +3773,6 @@
 <translation id="667517062706956822">Vil du at Google skal oversette denne siden fra <ph name="SOURCE_LANGUAGE" /> til <ph name="TARGET_LANGUAGE" />?</translation>
 <translation id="6675665718701918026">En pekeenhet er koblet til</translation>
 <translation id="6678717876183468697">Nettadresse for søk</translation>
-<translation id="6680028776254050810">Bytt bruker</translation>
 <translation id="6680442031740878064">Tilgjengelig: <ph name="AVAILABLE_SPACE" /></translation>
 <translation id="6680650203439190394">Vurder</translation>
 <translation id="6681668084120808868">Ta et bilde</translation>
@@ -3784,7 +3781,6 @@
 <translation id="668599234725812620">Åpne Google Play.</translation>
 <translation id="6686490380836145850">Lukk fanene til høyre</translation>
 <translation id="6686817083349815241">Lagre passordet ditt</translation>
-<translation id="6690565918367819723"><ph name="PROFILE_NAME" /> – Bytt person</translation>
 <translation id="6690659332373509948">Kan ikke parse filen: <ph name="FILE_NAME" /></translation>
 <translation id="6690751852586194791">Velg en administrert bruker som skal legges til på denne enheten.</translation>
 <translation id="6691331417640343772">Administrer synkroniserte data i Google Oversikt</translation>
@@ -5099,7 +5095,6 @@
 <translation id="869884720829132584">Programmeny</translation>
 <translation id="869891660844655955">Utløpsdato</translation>
 <translation id="8699566574894671540">For å slå dette på må du først velge «Kontrollér staving mens du skriver» på Rediger-menyen</translation>
-<translation id="870073306461175568">Fildelinger på nettverket</translation>
 <translation id="8701677791353449257">Enhetsnavnet må samsvare med det regulære uttrykket <ph name="REGEX" />.</translation>
 <translation id="8704521619148782536">Dette tar mye lengre tid enn normalt. Du kan fortsette å vente eller avbryte og prøve på nytt senere.</translation>
 <translation id="8705331520020532516">Serienummer</translation>
@@ -5284,7 +5279,6 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> – kræsjet</translation>
 <translation id="8983677657449185470">Bidra til å forbedre Safe Browsing</translation>
 <translation id="8984179138335769204">Hurtigtaster</translation>
-<translation id="8984654317541110628">Nettadresse for fildeling</translation>
 <translation id="8986362086234534611">Glem</translation>
 <translation id="8986494364107987395">Send bruksstatistikk og programstopprapporter automatisk til Google</translation>
 <translation id="8987927404178983737">Måned</translation>
diff --git a/chrome/app/resources/generated_resources_pl.xtb b/chrome/app/resources/generated_resources_pl.xtb
index 8599cf4..e05eec0 100644
--- a/chrome/app/resources/generated_resources_pl.xtb
+++ b/chrome/app/resources/generated_resources_pl.xtb
@@ -275,6 +275,7 @@
 <translation id="1395730723686586365">Aktualizator został uruchomiony</translation>
 <translation id="1396139853388185343">Błąd podczas konfigurowania drukarki</translation>
 <translation id="1396963298126346194">Wpisana nazwa użytkownika i hasło nie pasują do siebie</translation>
+<translation id="1397500194120344683">Brak odpowiednich urządzeń. <ph name="LINK_BEGIN" />Więcej informacji<ph name="LINK_END" /></translation>
 <translation id="1397854323885047133">Synchronizacja i personalizacja</translation>
 <translation id="1398853756734560583">Maksymalizuj</translation>
 <translation id="1399511500114202393">Brak certyfikatu użytkownika</translation>
@@ -375,7 +376,6 @@
 <translation id="1531004739673299060">Okno aplikacji</translation>
 <translation id="15373452373711364">Duży kursor myszy</translation>
 <translation id="1538729222189715449">Otwieram pliki Linuksa…</translation>
-<translation id="153933193410874873">Nie udało się nam zweryfikować Twojej tożsamości na tym urządzeniu</translation>
 <translation id="1540605929960647700">Włącz tryb demonstracyjny</translation>
 <translation id="1543284117603151572">Zaimportowane z Edge</translation>
 <translation id="1545177026077493356">Automatyczny tryb kiosku</translation>
@@ -529,6 +529,7 @@
 <translation id="175772926354468439">Włącz motyw</translation>
 <translation id="1758018619400202187">EAP-TLS</translation>
 <translation id="17584710573359123">Wyświetl w Chrome Web Store</translation>
+<translation id="176193854664720708">Czytnik linii papilarnych znajduje się na przycisku zasilania. Przyłóż do niego dowolny palec.</translation>
 <translation id="1763046204212875858">Utwórz skróty do aplikacji</translation>
 <translation id="1763108912552529023">Odkrywaj dalej</translation>
 <translation id="1763808908432309942">Otworzy się na nowej karcie</translation>
@@ -682,7 +683,6 @@
 <translation id="1981115145845865539">Automatycznie odblokuj urządzenie <ph name="DEVICE_TYPE" /></translation>
 <translation id="1983959805486816857">Po utworzeniu nowego użytkownika nadzorowanego możesz w każdej chwili i z dowolnego urządzenia zarządzać ustawieniami na stronie <ph name="MANAGEMENT_URL" />.</translation>
 <translation id="1984642098429648350">Umieść okno po prawej</translation>
-<translation id="1987139229093034863">Przełącz na innego użytkownika.</translation>
 <translation id="1987317783729300807">Konta</translation>
 <translation id="1989112275319619282">Przeglądaj</translation>
 <translation id="1992397118740194946">Nie ustawiono</translation>
@@ -823,6 +823,7 @@
 <translation id="2208158072373999562">Archiwum ZIP</translation>
 <translation id="220858061631308971">Wpisz ten kod PIN na urządzeniu „<ph name="DEVICE_NAME" />”:</translation>
 <translation id="2209593327042758816">2 element na półce</translation>
+<translation id="2212126039311489237">Drukuj w oknie systemowym</translation>
 <translation id="2217501013957346740">Utwórz nazwę –</translation>
 <translation id="2218019600945559112">Myszka i touchpad</translation>
 <translation id="2218320521449013367">Podczas usuwania szkodliwego oprogramowania przez Chrome wystąpił błąd</translation>
@@ -935,6 +936,7 @@
 <translation id="2378075407703503998">Wybrano <ph name="SELCTED_FILE_COUNT" /> pliki(ów)</translation>
 <translation id="237828693408258535">Przetłumaczyć tę stronę?</translation>
 <translation id="2378982052244864789">Wybierz katalog rozszerzenia.</translation>
+<translation id="2379281330731083556">Drukuj w oknie systemowym <ph name="SHORTCUT_KEY" /></translation>
 <translation id="2381756643783702095">Pytaj przed wysłaniem (zalecane)</translation>
 <translation id="2384436799579181135">Wystąpił błąd. Sprawdź drukarkę i spróbuj ponownie.</translation>
 <translation id="2387458720915042159">Typ połączenia z serwerem proxy</translation>
@@ -1114,6 +1116,7 @@
 <translation id="2653659639078652383">Prześlij</translation>
 <translation id="265390580714150011">Wartość pola</translation>
 <translation id="2654166010170466751">Zezwalaj stronom na instalowanie modułów do obsługi płatności</translation>
+<translation id="2656742821229528729">Skonfiguruj połączenie telefonu z Androidem i Chromebooka, by wysyłać SMS-y z komputera, udostępniać połączenie internetowe z telefonu i odblokowywać Chromebooka telefonem.<ph name="FOOTNOTE_POINTER" /> <ph name="LINK_BEGIN" />Więcej informacji<ph name="LINK_END" /></translation>
 <translation id="2659381484350128933"><ph name="FOOTNOTE_POINTER" />Dostępne funkcje zależą od urządzenia</translation>
 <translation id="2660779039299703961">Wydarzenie</translation>
 <translation id="266079277508604648">Nie można połączyć z drukarką. Upewnij się, że drukarka jest włączona i podłączona do Chromebooka przez Wi-Fi lub USB.</translation>
@@ -1418,6 +1421,7 @@
 <translation id="3115128645424181617">Nie można znaleźć telefonu. Upewnij się, że masz go w zasięgu ręki i włączony jest na nim Bluetooth.</translation>
 <translation id="3115147772012638511">Czekam na pamięć podręczną...</translation>
 <translation id="3118319026408854581"><ph name="PRODUCT_NAME" /> – pomoc</translation>
+<translation id="3119484583572640616">Z włączoną funkcją Better Together:</translation>
 <translation id="3120430004221004537">Zbyt słabe szyfrowanie tej operacji na: „<ph name="DEVICE_NAME" />”.</translation>
 <translation id="3121793941267913344">Zresetuj to urządzenie z <ph name="IDS_SHORT_PRODUCT_NAME" /></translation>
 <translation id="3122464029669770682">Procesor</translation>
@@ -1732,6 +1736,7 @@
 <translation id="3596235046596950091">Włącz usługi w chmurze</translation>
 <translation id="3599863153486145794">Usuwa historię ze wszystkich urządzeń, na których jesteś zalogowany. Inne rodzaje historii przeglądania mogą być nadal dostępne na Twoim koncie Google na <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
 <translation id="3600792891314830896">Wycisz strony, które odtwarzają dźwięk</translation>
+<translation id="360180734785106144">Dowiadujesz się o nowych funkcjach, gdy tylko są dostępne</translation>
 <translation id="3602290021589620013">Podgląd</translation>
 <translation id="3603533104205588786">Aby dodać stronę do zakładek, możesz kliknąć gwiazdkę</translation>
 <translation id="3603622770190368340">Pobierz certyfikat sieci</translation>
@@ -2067,7 +2072,6 @@
 <translation id="4068506536726151626">Ta strona zawiera elementy z następujących witryn, które śledzą Twoją lokalizację:</translation>
 <translation id="4068776064906523561">Zapisane odciski palców</translation>
 <translation id="407173827865827707">Po kliknięciu</translation>
-<translation id="4071770069230198275"><ph name="PROFILE_NAME" />: błąd logowania</translation>
 <translation id="4074900173531346617">Certyfikat podmiotu podpisującego pocztę e-mail</translation>
 <translation id="407520071244661467">Skala</translation>
 <translation id="4075639477629295004">Nie udało się przesłać pliku <ph name="FILE_NAME" />.</translation>
@@ -2869,6 +2873,7 @@
 <translation id="5332624210073556029">Strefa czasowa</translation>
 <translation id="5334142896108694079">Pamięć podręczna skryptów</translation>
 <translation id="5334844597069022743">Wyświetl źródło</translation>
+<translation id="5334899159203764908">Więcej informacji o uprawnieniach <ph name="BEGIN_LINK" />dostępu dla strony<ph name="END_LINK" /></translation>
 <translation id="5335458522276292100">Tworzą kopię zapasową (<ph name="FILE_COUNT" />) na <ph name="BEGIN_LINK" />Dysku Google<ph name="END_LINK" /></translation>
 <translation id="5336126339807372270">Nie zezwalaj żadnym stronom na dostęp do urządzeń USB</translation>
 <translation id="5337771866151525739">Zainstalowane przez inną firmę.</translation>
@@ -2976,6 +2981,7 @@
 <translation id="5487521232677179737">Wyczyść dane</translation>
 <translation id="5488093641312826914">Skopiowano: „<ph name="COPIED_ITEM_NAME" />”</translation>
 <translation id="5488468185303821006">Zezwalaj w trybie incognito</translation>
+<translation id="5489121514345187313">Chromebook będzie jeszcze lepszy, gdy połączysz go ze swoim telefonem. <ph name="LINK_BEGIN" />Więcej informacji<ph name="LINK_END" /></translation>
 <translation id="5489435190927933437">Zapisane hasła do <ph name="DOMAIN" /></translation>
 <translation id="5491110079163012109">Wysyłanie danych systemowych. Automatycznie wysyłaj do Google dane diagnostyczne oraz dotyczące używania urządzenia i aplikacji. To ustawienie jest wybierane przez właściciela urządzenia. Może on wybrać, czy te dane będą wysyłane z urządzenia do Google. Wybraną opcję możesz zobaczyć w ustawieniach. Jeśli masz włączoną dodatkowo Aktywność w internecie i aplikacjach, te dane będą zapisywane na Twoim koncie, co umożliwi Ci zarządzanie nimi na stronie Moja aktywność. <ph name="BEGIN_LINK1" />Więcej informacji<ph name="END_LINK1" /></translation>
 <translation id="5493792505296048976">ekran włączony</translation>
@@ -3147,6 +3153,7 @@
 <translation id="5731409020711461763">jedno nowe zdjęcie</translation>
 <translation id="5734362860645681824">Komunikacja</translation>
 <translation id="5736796278325406685">Wpisz prawidłową nazwę użytkownika</translation>
+<translation id="5739235828260127894">Czekam na weryfikację. <ph name="LINK_BEGIN" />Więcej informacji<ph name="LINK_END" /></translation>
 <translation id="5739458112391494395">Bardzo duża</translation>
 <translation id="5740331643563157105"><ph name="LANGUAGE_1" />, <ph name="LANGUAGE_2" /> i jeszcze <ph name="NUM_ADDITIONAL_LANGUAGES" /></translation>
 <translation id="574209121243317957">Ton</translation>
@@ -3250,6 +3257,7 @@
 <translation id="5870086504539785141">Zamknij menu ułatwień dostępu</translation>
 <translation id="5870155679953074650">Poważne błędy</translation>
 <translation id="5877064549588274448">Kanał został zmieniony. Aby zastosować zmiany, uruchom ponownie urządzenie.</translation>
+<translation id="5877584842898320529">Wybrana drukarka jest niedostępna lub nieprawidłowo zainstalowana. <ph name="BR" /> Sprawdź ją lub wybierz inną.</translation>
 <translation id="5880247576487732437">Token istnieje</translation>
 <translation id="5882919346125742463">Znane sieci</translation>
 <translation id="5884474295213649357">Ta karta jest połączona z urządzeniem USB.</translation>
@@ -3316,6 +3324,7 @@
 <translation id="5979469435153841984">Aby dodać stronę do zakładek, kliknij gwiazdkę na pasku adresu</translation>
 <translation id="5982621672636444458">Opcje sortowania</translation>
 <translation id="5984222099446776634">Ostatnio odwiedzone</translation>
+<translation id="5985458664595100876">Nieprawidłowy format adresu URL. Obsługiwane formaty to \\server\share i smb://server/share.</translation>
 <translation id="5990142338020175451">Bardziej spersonalizowane usługi Google, na przykład lepsze podpowiedzi stron</translation>
 <translation id="5990386583461751448">Przetłumaczona</translation>
 <translation id="5991049340509704927">Powiększ</translation>
@@ -3344,6 +3353,7 @@
 <translation id="6026819612896463875"><ph name="WINDOW_TITLE" /> – połączono z urządzeniem USB</translation>
 <translation id="6028117231645531007">Dodaj odcisk palca</translation>
 <translation id="6029027682598229313">Instalacja Linuksa została ukończona.</translation>
+<translation id="6029292188939175871">usuń odcisk palca [<ph name="FINGERPRINT_NAME" />], przycisk</translation>
 <translation id="6029587122245504742">Najwolniej</translation>
 <translation id="6032912588568283682">System plików</translation>
 <translation id="6034662038931255275">System operacyjny zaktualizowany</translation>
@@ -3457,7 +3467,6 @@
 <translation id="6185132558746749656">Lokalizacja urządzenia</translation>
 <translation id="6185617499004995178">Walidator CUPS IPP</translation>
 <translation id="6185696379715117369">Strona do góry</translation>
-<translation id="6189273858858366896">Skonfiguruj sieciowe magazyny plików lub nimi zarządzaj.</translation>
 <translation id="6189412234224385711">Otwórz w rozszerzeniu <ph name="EXTENSION_NAME" /></translation>
 <translation id="6196640612572343990">Blokuj pliki cookie innych firm</translation>
 <translation id="6196854373336333322">Rozszerzenie „<ph name="EXTENSION_NAME" />” przejęło kontrolę nad ustawieniami serwera proxy, co oznacza, że może zmieniać, przerywać lub podglądać wszystko, co robisz online. Jeśli nie masz pewności, skąd wzięła się ta zmiana, prawdopodobnie jej nie chcesz.</translation>
@@ -3763,6 +3772,7 @@
 <translation id="6643016212128521049">Wyczyść</translation>
 <translation id="6644512095122093795">Proponuj zapisywanie haseł</translation>
 <translation id="6644846457769259194">Aktualizuję Twoje urządzenie (<ph name="PROGRESS_PERCENT" />)</translation>
+<translation id="6645437135153136856">Wybrane urządzenie Google Cloud Print nie jest już obsługiwane. <ph name="BR" /> Skonfiguruj drukarkę w ustawieniach systemu na komputerze.</translation>
 <translation id="6647228709620733774">Adres URL odwołania urzędu certyfikacji firmy Netscape</translation>
 <translation id="6647838571840953560">Obecny kanał: <ph name="CHANNEL_NAME" /></translation>
 <translation id="6648051959475508072">Klucz bezpieczeństwa aktywowany…</translation>
@@ -3784,7 +3794,6 @@
 <translation id="667517062706956822">Chcesz zobaczyć tłumaczenie Google tej strony z języka <ph name="SOURCE_LANGUAGE" /> na <ph name="TARGET_LANGUAGE" />?</translation>
 <translation id="6675665718701918026">Podłączono urządzenie wskazujące</translation>
 <translation id="6678717876183468697">URL zapytania</translation>
-<translation id="6680028776254050810">Przełącz użytkowników</translation>
 <translation id="6680442031740878064">Dostępne: <ph name="AVAILABLE_SPACE" /></translation>
 <translation id="6680650203439190394">Szybkość</translation>
 <translation id="6681668084120808868">Zrób zdjęcie</translation>
@@ -3793,7 +3802,6 @@
 <translation id="668599234725812620">Otwórz Google Play</translation>
 <translation id="6686490380836145850">Zamknij karty po prawej</translation>
 <translation id="6686817083349815241">Zapisz hasło</translation>
-<translation id="6690565918367819723"><ph name="PROFILE_NAME" /> – przełącz osobę</translation>
 <translation id="6690659332373509948">Nie można przeanalizować pliku: <ph name="FILE_NAME" /></translation>
 <translation id="6690751852586194791">Wybierz użytkownika nadzorowanego, którego chcesz dodać do tego urządzenia.</translation>
 <translation id="6691331417640343772">Zarządzaj synchronizowanymi danymi w Panelu Google</translation>
@@ -4130,6 +4138,7 @@
 <translation id="7201118060536064622">Element „<ph name="DELETED_ITEM_NAME" />” został usunięty</translation>
 <translation id="7206693748120342859">Pobieram <ph name="PLUGIN_NAME" />...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Zamknij stronę}few{Zamknij strony}many{Zamknij strony}other{Zamknij strony}}</translation>
+<translation id="7210499381659830293">Rozszerzenia drukarek</translation>
 <translation id="721467499098558573">Naciśnij i przytrzymaj przycisk na kluczu bezpieczeństwa przez co najmniej 5 sekund</translation>
 <translation id="7216409898977639127">Operator komórkowy</translation>
 <translation id="7216595297012131718">Ustaw preferowaną kolejność języków</translation>
@@ -4208,6 +4217,7 @@
 <translation id="7321545336522791733">Serwer niedostępny</translation>
 <translation id="7324297612904500502">Forum użytkowników wersji beta</translation>
 <translation id="7325437708553334317">Rozszerzenie High Contrast</translation>
+<translation id="7328162502911382168">(<ph name="COUNT" />)</translation>
 <translation id="7328867076235380839">Niepoprawna kombinacja</translation>
 <translation id="7329154610228416156">Nie udało się zalogować, bo mechanizm logowania korzysta z niezabezpieczonego URL-a (<ph name="BLOCKED_URL" />). Skontaktuj się z administratorem.</translation>
 <translation id="7334190995941642545">Smart Lock jest obecnie niedostępny. Spróbuj ponownie później.</translation>
@@ -4271,7 +4281,7 @@
 <translation id="7433692219247014412">{COUNT,plural, =0{Otwórz wszystkie w &amp;nowym oknie}=1{Otwórz w &amp;nowym oknie}few{Otwórz wszystkie (#) w &amp;nowym oknie}many{Otwórz wszystkie (#) w &amp;nowym oknie}other{Otwórz wszystkie (#) w &amp;nowym oknie}}</translation>
 <translation id="7434509671034404296">Programista</translation>
 <translation id="7436921188514130341">Kurza twarz! Podczas zmiany nazwy wystąpił błąd.</translation>
-<translation id="7441736921018636843">Aby zmienić to ustawienie, <ph name="BEGIN_LINK" />zresetuj synchronizację<ph name="END_LINK" /> w celu usunięcia hasła synchronizacji</translation>
+<translation id="7441736921018636843">Aby zmienić to ustawienie, <ph name="BEGIN_LINK" />zresetuj synchronizację<ph name="END_LINK" />, by usunąć hasło synchronizacji</translation>
 <translation id="7441830548568730290">Inni użytkownicy</translation>
 <translation id="7442465037756169001">Hardware Hangouts Meet jest gotowy do konfiguracji.</translation>
 <translation id="744341768939279100">Utwórz nowy profil</translation>
@@ -4799,6 +4809,7 @@
 <translation id="8199300056570174101">Właściwości sieci (usługi) i urządzenia</translation>
 <translation id="8200772114523450471">Wznów</translation>
 <translation id="8202160505685531999">Wpisz hasło ponownie, by zaktualizować swój profil na urządzeniu <ph name="DEVICE_TYPE" />.</translation>
+<translation id="8203732864715032075">Wysyła powiadomienia i sprawia, że ten komputer jest domyślnie używany do obsługi Wiadomości. <ph name="LINK_BEGIN" />Więcej informacji<ph name="LINK_END" /></translation>
 <translation id="8206354486702514201">O tym ustawieniu decyduje administrator.</translation>
 <translation id="8206745257863499010">Bluesowy</translation>
 <translation id="8209677645716428427">Użytkownik nadzorowany może przeglądać internet zgodnie z Twoimi wytycznymi. Jako jego menedżer w Chrome możesz:</translation>
@@ -5111,7 +5122,6 @@
 <translation id="869884720829132584">Menu aplikacji</translation>
 <translation id="869891660844655955">Data wygaśnięcia</translation>
 <translation id="8699566574894671540">Aby włączyć tę funkcję, najpierw w menu Edytuj włącz Sprawdzaj pisownię w trakcie pisania</translation>
-<translation id="870073306461175568">Sieciowe magazyny plików</translation>
 <translation id="8701677791353449257">Nazwa urządzenia musi odpowiadać wyrażeniu regularnemu <ph name="REGEX" />.</translation>
 <translation id="8704521619148782536">To trwa o wiele dłużej niż zwykle. Możesz zaczekać albo anulować i spróbować ponownie później.</translation>
 <translation id="8705331520020532516">Numer seryjny</translation>
@@ -5296,7 +5306,6 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> – awaria</translation>
 <translation id="8983677657449185470">Pomóż ulepszyć Bezpieczne przeglądanie</translation>
 <translation id="8984179138335769204">Szybkie uruchamianie</translation>
-<translation id="8984654317541110628">URL udziału plików</translation>
 <translation id="8986362086234534611">Zapomnij</translation>
 <translation id="8986494364107987395">Automatycznie przesyłaj do Google statystyki użytkowania i raporty o awariach</translation>
 <translation id="8987927404178983737">Miesiąc</translation>
diff --git a/chrome/app/resources/generated_resources_pt-BR.xtb b/chrome/app/resources/generated_resources_pt-BR.xtb
index 17d1a7d..383d5d3 100644
--- a/chrome/app/resources/generated_resources_pt-BR.xtb
+++ b/chrome/app/resources/generated_resources_pt-BR.xtb
@@ -275,6 +275,7 @@
 <translation id="1395730723686586365">Atualizador iniciado</translation>
 <translation id="1396139853388185343">Erro na configuração da impressora</translation>
 <translation id="1396963298126346194">O nome de usuário e a senha inseridos não correspondem</translation>
+<translation id="1397500194120344683">Nenhum dispositivo qualificado. <ph name="LINK_BEGIN" />Saiba mais<ph name="LINK_END" /></translation>
 <translation id="1397854323885047133">Sincronização e personalização</translation>
 <translation id="1398853756734560583">Maximizar</translation>
 <translation id="1399511500114202393">Nenhum certificado do usuário</translation>
@@ -375,7 +376,6 @@
 <translation id="1531004739673299060">Janela do aplicativo</translation>
 <translation id="15373452373711364">Cursor grande do mouse</translation>
 <translation id="1538729222189715449">Abrindo arquivos do Linux…</translation>
-<translation id="153933193410874873">Não foi possível verificar sua identidade neste dispositivo</translation>
 <translation id="1540605929960647700">Ativar modo de demonstração</translation>
 <translation id="1543284117603151572">Importados do Edge</translation>
 <translation id="1545177026077493356">Modo de quiosque automático</translation>
@@ -529,6 +529,7 @@
 <translation id="175772926354468439">Ativar tema</translation>
 <translation id="1758018619400202187">EAP-TLS</translation>
 <translation id="17584710573359123">Ver na Chrome Web Store</translation>
+<translation id="176193854664720708">O sensor de impressão digital fica no botão liga/desliga. Toque levemente com qualquer dedo.</translation>
 <translation id="1763046204212875858">Criar atalhos para aplicativos</translation>
 <translation id="1763108912552529023">Continuar explorando</translation>
 <translation id="1763808908432309942">Abre em uma nova guia</translation>
@@ -682,7 +683,6 @@
 <translation id="1981115145845865539">Desbloquear seu <ph name="DEVICE_TYPE" /> automaticamente</translation>
 <translation id="1983959805486816857">Após criar um novo usuário supervisionado, você pode gerenciar as configurações a qualquer momento, a partir de qualquer dispositivo, em <ph name="MANAGEMENT_URL" />.</translation>
 <translation id="1984642098429648350">Encaixar janela à direita</translation>
-<translation id="1987139229093034863">Escolher outro usuário.</translation>
 <translation id="1987317783729300807">Contas</translation>
 <translation id="1989112275319619282">Procurar</translation>
 <translation id="1992397118740194946">Não definido</translation>
@@ -823,6 +823,7 @@
 <translation id="2208158072373999562">Arquivo Zip</translation>
 <translation id="220858061631308971">Digite este código PIN em "<ph name="DEVICE_NAME" />":</translation>
 <translation id="2209593327042758816">Item 2 da estante</translation>
+<translation id="2212126039311489237">Imprimir utilizando a caixa de diálogo de sistema</translation>
 <translation id="2217501013957346740">Criar um nome –</translation>
 <translation id="2218019600945559112">Mouse e touchpad</translation>
 <translation id="2218320521449013367">Ocorreu um erro enquanto o Chrome estava removendo softwares nocivos</translation>
@@ -935,6 +936,7 @@
 <translation id="2378075407703503998"><ph name="SELCTED_FILE_COUNT" /> arquivos selecionados</translation>
 <translation id="237828693408258535">Traduzir esta página?</translation>
 <translation id="2378982052244864789">Selecionar o diretório da extensão.</translation>
+<translation id="2379281330731083556">Imprimir utilizando caixa de diálogo de sistema... <ph name="SHORTCUT_KEY" /></translation>
 <translation id="2381756643783702095">Perguntar antes de enviar (recomendado)</translation>
 <translation id="2384436799579181135">Ocorreu um erro. Verifique sua impressora e tente novamente.</translation>
 <translation id="2387458720915042159">Tipo de conexão proxy</translation>
@@ -1114,6 +1116,7 @@
 <translation id="2653659639078652383">Enviar</translation>
 <translation id="265390580714150011">Valor do campo</translation>
 <translation id="2654166010170466751">Permitir que sites instalem gerenciadores de pagamento</translation>
+<translation id="2656742821229528729">Conecte o smartphone Android e o Chromebook para enviar mensagens de texto do seu computador, compartilhar sua conexão com a Internet e desbloquear a tela do Chromebook com o smartphone.<ph name="FOOTNOTE_POINTER" /> <ph name="LINK_BEGIN" />Saiba mais<ph name="LINK_END" /></translation>
 <translation id="2659381484350128933"><ph name="FOOTNOTE_POINTER" />Os recursos variam de acordo com o dispositivo</translation>
 <translation id="2660779039299703961">Evento</translation>
 <translation id="266079277508604648">Não é possível conectar a impressora. Verifique se ela está ligada e conectada ao seu Chromebook por Wi-Fi ou USB.</translation>
@@ -1418,6 +1421,7 @@
 <translation id="3115128645424181617">Não foi possível encontrar seu smartphone. Certifique-se de que ele esteja acessível e com o Bluetooth ativado.</translation>
 <translation id="3115147772012638511">Aguardando o cache...</translation>
 <translation id="3118319026408854581">Ajuda do <ph name="PRODUCT_NAME" /></translation>
+<translation id="3119484583572640616">Ativar o "Better Together" significa poder:</translation>
 <translation id="3120430004221004537">Criptografia insuficiente para uma determinada operação em "<ph name="DEVICE_NAME" />".</translation>
 <translation id="3121793941267913344">Restaurar este dispositivo <ph name="IDS_SHORT_PRODUCT_NAME" /></translation>
 <translation id="3122464029669770682">CPU</translation>
@@ -1732,6 +1736,7 @@
 <translation id="3596235046596950091">Ativar serviços em nuvem</translation>
 <translation id="3599863153486145794">Limpa o histórico de todos os dispositivos conectados. Sua Conta do Google pode ter outras formas de histórico de navegação em <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
 <translation id="3600792891314830896">Silenciar sites que reproduzem sons</translation>
+<translation id="360180734785106144">Oferecer novos recursos à medida que sejam disponibilizados</translation>
 <translation id="3602290021589620013">Visualizar</translation>
 <translation id="3603533104205588786">Você pode clicar no ícone da estrela para adicionar uma página aos favoritos</translation>
 <translation id="3603622770190368340">Obter certificado de rede</translation>
@@ -2067,7 +2072,6 @@
 <translation id="4068506536726151626">Esta página contém elementos dos seguintes sites que estão rastreando o seu local:</translation>
 <translation id="4068776064906523561">Impressões digitais salvas</translation>
 <translation id="407173827865827707">Ao clicar</translation>
-<translation id="4071770069230198275"><ph name="PROFILE_NAME" />: erro de login</translation>
 <translation id="4074900173531346617">Certificado do signatário do e-mail</translation>
 <translation id="407520071244661467">Escala</translation>
 <translation id="4075639477629295004">Não foi possível transmitir o arquivo <ph name="FILE_NAME" /></translation>
@@ -2869,6 +2873,7 @@
 <translation id="5332624210073556029">Fuso horário:</translation>
 <translation id="5334142896108694079">Cache de script</translation>
 <translation id="5334844597069022743">Exibir código fonte</translation>
+<translation id="5334899159203764908">Saiba mais sobre o <ph name="BEGIN_LINK" />acesso de site<ph name="END_LINK" /></translation>
 <translation id="5335458522276292100">Fazendo backup de <ph name="FILE_COUNT" /> arquivo(s) para o <ph name="BEGIN_LINK" />Google Drive<ph name="END_LINK" /></translation>
 <translation id="5336126339807372270">Não permitir que nenhum site acesse dispositivos USB</translation>
 <translation id="5337771866151525739">Instalada por terceiro.</translation>
@@ -2976,6 +2981,7 @@
 <translation id="5487521232677179737">Limpar dados</translation>
 <translation id="5488093641312826914">"<ph name="COPIED_ITEM_NAME" />" copiado</translation>
 <translation id="5488468185303821006">Permitir em modo anônimo</translation>
+<translation id="5489121514345187313">O Chromebook funciona ainda melhor com seu smartphone. <ph name="LINK_BEGIN" />Saiba mais<ph name="LINK_END" /></translation>
 <translation id="5489435190927933437">Senhas salvas para <ph name="DOMAIN" /></translation>
 <translation id="5491110079163012109">Enviar dados do sistema. Enviar automaticamente dados de uso e diagnóstico do dispositivo e de apps para o Google. Essa configuração é aplicada pelo proprietário, que pode optar por enviar dados de uso e diagnóstico deste dispositivo para o Google. É possível ver essa opção nas configurações. Se você ativou a opção "Atividade na Web e de apps", essas informações serão armazenadas com sua conta para que você possa gerenciá-las em Minha atividade. <ph name="BEGIN_LINK1" />Saiba mais<ph name="END_LINK1" /></translation>
 <translation id="5493792505296048976">tela ativada</translation>
@@ -3148,6 +3154,7 @@
 <translation id="5731409020711461763">Uma nova foto</translation>
 <translation id="5734362860645681824">Comunicações</translation>
 <translation id="5736796278325406685">Insira um nome de usuário válido</translation>
+<translation id="5739235828260127894">Aguardando verificação. <ph name="LINK_BEGIN" />Saiba mais<ph name="LINK_END" /></translation>
 <translation id="5739458112391494395">Muito grande</translation>
 <translation id="5740331643563157105"><ph name="LANGUAGE_1" />, <ph name="LANGUAGE_2" /> e outros <ph name="NUM_ADDITIONAL_LANGUAGES" /> idiomas</translation>
 <translation id="574209121243317957">Tom da fala</translation>
@@ -3251,6 +3258,7 @@
 <translation id="5870086504539785141">Fechar o menu de acessibilidade</translation>
 <translation id="5870155679953074650">Falhas graves</translation>
 <translation id="5877064549588274448">Canal alterado. Reinicie o dispositivo para aplicar as alterações.</translation>
+<translation id="5877584842898320529">A impressora selecionada não está disponível ou não foi instalada corretamente. <ph name="BR" /> Verifique a impressora ou selecione outra.</translation>
 <translation id="5880247576487732437">Token presente</translation>
 <translation id="5882919346125742463">Redes conhecidas</translation>
 <translation id="5884474295213649357">Esta guia está conectada a um dispositivo USB.</translation>
@@ -3317,9 +3325,12 @@
 <translation id="5979469435153841984">Para adicionar páginas aos favoritos, clique na estrela na barra de endereço</translation>
 <translation id="5982621672636444458">Opções de classificação</translation>
 <translation id="5984222099446776634">Visitados recentemente</translation>
+<translation id="5985458664595100876">Formato de URL inválido. Os formatos compatíveis são \\server\share e smb://server/share.</translation>
+<translation id="5990142338020175451">Serviços do Google mais personalizados, como melhores sugestões de páginas</translation>
 <translation id="5990386583461751448">Traduzida</translation>
 <translation id="5991049340509704927">Ampliar</translation>
 <translation id="599131315899248751">{NUM_APPLICATIONS,plural, =1{Para que você possa continuar navegando na Web, peça ao seu administrador para remover esse aplicativo.}one{Para que você possa continuar navegando na Web, peça ao seu administrador para remover esse aplicativo.}other{Para que você possa continuar navegando na Web, peça ao seu administrador para remover esses aplicativos.}}</translation>
+<translation id="5997337190805127100">Saiba mais sobre o acesso aos sites</translation>
 <translation id="6002458620803359783">Vozes preferidas</translation>
 <translation id="6005695835120147974">Roteador de mídia</translation>
 <translation id="6006484371116297560">Clássico</translation>
@@ -3343,6 +3354,7 @@
 <translation id="6026819612896463875"><ph name="WINDOW_TITLE" /> - Dispositivo USB conectado</translation>
 <translation id="6028117231645531007">Adicionar impressão digital</translation>
 <translation id="6029027682598229313">A instalação do Linux foi concluída.</translation>
+<translation id="6029292188939175871">botão excluir [<ph name="FINGERPRINT_NAME" />]</translation>
 <translation id="6029587122245504742">Mais lenta</translation>
 <translation id="6032912588568283682">Sistema de arquivos</translation>
 <translation id="6034662038931255275">SO atualizado</translation>
@@ -3457,7 +3469,6 @@
 <translation id="6185132558746749656">Localização do dispositivo</translation>
 <translation id="6185617499004995178">Validador de CUPS IPP</translation>
 <translation id="6185696379715117369">Página para cima</translation>
-<translation id="6189273858858366896">Configurar ou gerenciar compartilhamentos de arquivos de rede.</translation>
 <translation id="6189412234224385711">Abrir com <ph name="EXTENSION_NAME" /></translation>
 <translation id="6196640612572343990">Bloquear cookies de terceiros</translation>
 <translation id="6196854373336333322">A extensão "<ph name="EXTENSION_NAME" />" assumiu o controle das suas configurações de proxy, o que significa que ela pode alterar, invadir ou escutar qualquer coisa que você fizer on-line. Se você não tiver certeza do motivo dessa alteração, provavelmente não a deseja.</translation>
@@ -3763,6 +3774,7 @@
 <translation id="6643016212128521049">Limpar</translation>
 <translation id="6644512095122093795">Oferecer salvar senhas</translation>
 <translation id="6644846457769259194">Atualizando seu dispositivo (<ph name="PROGRESS_PERCENT" />)</translation>
+<translation id="6645437135153136856">O dispositivo Google Cloud Print selecionado não é mais compatível. <ph name="BR" />Tente configurar a impressora nas configurações do seu computador.</translation>
 <translation id="6647228709620733774">URL da revogação da Autoridade de certificação do Netscape</translation>
 <translation id="6647838571840953560">No momento, no <ph name="CHANNEL_NAME" /></translation>
 <translation id="6648051959475508072">Chave de segurança ativada…</translation>
@@ -3784,7 +3796,6 @@
 <translation id="667517062706956822">Quer que o Google traduza esta página de <ph name="SOURCE_LANGUAGE" /> para <ph name="TARGET_LANGUAGE" />?</translation>
 <translation id="6675665718701918026">Dispositivo apontador conectado</translation>
 <translation id="6678717876183468697">URL de consulta</translation>
-<translation id="6680028776254050810">Trocar usuários</translation>
 <translation id="6680442031740878064">Disponível: <ph name="AVAILABLE_SPACE" /></translation>
 <translation id="6680650203439190394">Velocidade</translation>
 <translation id="6681668084120808868">Tirar foto</translation>
@@ -3793,7 +3804,6 @@
 <translation id="668599234725812620">Abrir o Google Play</translation>
 <translation id="6686490380836145850">Fechar guias à direita</translation>
 <translation id="6686817083349815241">Salvar sua senha</translation>
-<translation id="6690565918367819723"><ph name="PROFILE_NAME" /> Alterar pessoa</translation>
 <translation id="6690659332373509948">Não é possível analisar arquivo: <ph name="FILE_NAME" /></translation>
 <translation id="6690751852586194791">Escolha um usuário supervisionado para adicionar a este dispositivo.</translation>
 <translation id="6691331417640343772">Gerenciar dados sincronizados no Painel de controle do Google</translation>
@@ -4017,6 +4027,7 @@
 <translation id="7040230719604914234">Operador</translation>
 <translation id="7042418530779813870">&amp;Colar e pesquisar</translation>
 <translation id="7043108582968290193">Pronto! Nenhum aplicativo incompatível encontrado.</translation>
+<translation id="7044124535091449260">Saiba mais sobre o acesso aos sites</translation>
 <translation id="7049293980323620022">Manter arquivo?</translation>
 <translation id="7051943809462976355">Procurando mouse...</translation>
 <translation id="7052237160939977163">Enviar dados de rastreamento de desempenho</translation>
@@ -4129,6 +4140,7 @@
 <translation id="7201118060536064622">'<ph name="DELETED_ITEM_NAME" />' excluído</translation>
 <translation id="7206693748120342859">Fazendo download do <ph name="PLUGIN_NAME" />...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Sair da página}one{Sair da página}other{Sair das páginas}}</translation>
+<translation id="7210499381659830293">Impressoras de extensão</translation>
 <translation id="721467499098558573">Toque no botão da sua chave de segurança e mantenha-o pressionado por pelo menos cinco segundos</translation>
 <translation id="7216409898977639127">Operadora de celular</translation>
 <translation id="7216595297012131718">Ordenar idiomas com base na sua preferência</translation>
@@ -4207,6 +4219,7 @@
 <translation id="7321545336522791733">Servidor inacessível</translation>
 <translation id="7324297612904500502">Fórum do Beta</translation>
 <translation id="7325437708553334317">Extensão de alto contraste</translation>
+<translation id="7328162502911382168">(<ph name="COUNT" />)</translation>
 <translation id="7328867076235380839">Combinação inválida</translation>
 <translation id="7329154610228416156">O login falhou porque foi configurado para usar um URL não seguro (<ph name="BLOCKED_URL" />). Entre em contato com o administrador.</translation>
 <translation id="7334190995941642545">O Smart Lock está indisponível no momento. Tente novamente mais tarde.</translation>
@@ -4798,6 +4811,7 @@
 <translation id="8199300056570174101">Propriedades da rede (serviço) e do dispositivo</translation>
 <translation id="8200772114523450471">Retomar</translation>
 <translation id="8202160505685531999">Digite sua senha novamente para atualizar o perfil do <ph name="DEVICE_TYPE" />.</translation>
+<translation id="8203732864715032075">Enviar notificações para você e lembrar por padrão deste computador para o app Mensagens. <ph name="LINK_BEGIN" />Saiba mais<ph name="LINK_END" /></translation>
 <translation id="8206354486702514201">Esta configuração é aplicada por seu administrador.</translation>
 <translation id="8206745257863499010">Chorinho</translation>
 <translation id="8209677645716428427">Um usuário supervisionado pode explorar a Web sob sua orientação. Como gerente de um usuário supervisionado no Google Chrome, você pode:</translation>
@@ -5110,7 +5124,6 @@
 <translation id="869884720829132584">Menu Aplicativos</translation>
 <translation id="869891660844655955">Validade</translation>
 <translation id="8699566574894671540">Para ativar essa configuração, primeiro selecione "Verificar ortografia ao digitar" no menu "Editar"</translation>
-<translation id="870073306461175568">Compartilhamentos de arquivos de rede</translation>
 <translation id="8701677791353449257">O nome do dispositivo precisa corresponder à expressão regular <ph name="REGEX" />.</translation>
 <translation id="8704521619148782536">Esta ação está levando mais tempo que o habitual. Você pode continuar esperando ou cancelá-la e tentar mais tarde.</translation>
 <translation id="8705331520020532516">Número de série</translation>
@@ -5295,7 +5308,6 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> - Falhou</translation>
 <translation id="8983677657449185470">Ajude a melhorar a Navegação segura</translation>
 <translation id="8984179138335769204">Início rápido</translation>
-<translation id="8984654317541110628">URL de compartilhamento de arquivos</translation>
 <translation id="8986362086234534611">Esquecer</translation>
 <translation id="8986494364107987395">Envia estatísticas de uso e relatórios de erros ao Google automaticamente</translation>
 <translation id="8987927404178983737">Mês</translation>
diff --git a/chrome/app/resources/generated_resources_pt-PT.xtb b/chrome/app/resources/generated_resources_pt-PT.xtb
index 4690b8b..8fa1a51 100644
--- a/chrome/app/resources/generated_resources_pt-PT.xtb
+++ b/chrome/app/resources/generated_resources_pt-PT.xtb
@@ -275,6 +275,7 @@
 <translation id="1395730723686586365">Atualizador iniciado</translation>
 <translation id="1396139853388185343">Erro ao configurar a impressora</translation>
 <translation id="1396963298126346194">O nome de utilizador e a palavra-passe introduzidos não coincidem</translation>
+<translation id="1397500194120344683">Nenhum dispositivo elegível. <ph name="LINK_BEGIN" />Saiba mais<ph name="LINK_END" /></translation>
 <translation id="1397854323885047133">Sincronização e personalização</translation>
 <translation id="1398853756734560583">Maximizar</translation>
 <translation id="1399511500114202393">Nenhum certificado de utilizador</translation>
@@ -375,7 +376,6 @@
 <translation id="1531004739673299060">Janela da aplicação</translation>
 <translation id="15373452373711364">Cursor do rato grande</translation>
 <translation id="1538729222189715449">A abrir ficheiros Linux…</translation>
-<translation id="153933193410874873">Não foi possível validar a sua identidade neste dispositivo.</translation>
 <translation id="1540605929960647700">Ativar o modo de demonstração</translation>
 <translation id="1543284117603151572">Importado do Edge</translation>
 <translation id="1545177026077493356">Modo quiosque automático</translation>
@@ -529,6 +529,7 @@
 <translation id="175772926354468439">Ativar tema</translation>
 <translation id="1758018619400202187">EAP-TLS</translation>
 <translation id="17584710573359123">Ver na Web Store do Chrome</translation>
+<translation id="176193854664720708">O sensor de impressões digitais está no botão ligar/desligar. Toque levemente no mesmo com qualquer dedo.</translation>
 <translation id="1763046204212875858">Criar atalhos da aplicação</translation>
 <translation id="1763108912552529023">Continuar a explorar</translation>
 <translation id="1763808908432309942">Abre-se num novo separador.</translation>
@@ -682,7 +683,6 @@
 <translation id="1981115145845865539">Desbloquear automaticamente o seu <ph name="DEVICE_TYPE" /></translation>
 <translation id="1983959805486816857">Depois de criar um utilizador supervisionado, pode gerir as definições sempre que pretender e em qualquer dispositivo em <ph name="MANAGEMENT_URL" />.</translation>
 <translation id="1984642098429648350">Colocar janela à direita</translation>
-<translation id="1987139229093034863">Mudar para um utilizador diferente.</translation>
 <translation id="1987317783729300807">Contas</translation>
 <translation id="1989112275319619282">Procurar</translation>
 <translation id="1992397118740194946">Não definida</translation>
@@ -823,6 +823,7 @@
 <translation id="2208158072373999562">Ficheiro zip</translation>
 <translation id="220858061631308971">Introduza este código PIN no "<ph name="DEVICE_NAME" />":</translation>
 <translation id="2209593327042758816">Artigo de prateleira 2</translation>
+<translation id="2212126039311489237">Imprimir ao utilizar a caixa de diálogo do sistema</translation>
 <translation id="2217501013957346740">Criar um nome –</translation>
 <translation id="2218019600945559112">Rato e touchpad</translation>
 <translation id="2218320521449013367">Ocorreu um erro enquanto o Chrome removia software prejudicial.</translation>
@@ -935,6 +936,7 @@
 <translation id="2378075407703503998"><ph name="SELCTED_FILE_COUNT" /> ficheiros selecionados</translation>
 <translation id="237828693408258535">Pretende traduzir esta página?</translation>
 <translation id="2378982052244864789">Selecione o diretório da extensão.</translation>
+<translation id="2379281330731083556">Imprimir utilizando a caixa de diálogo do sistema... <ph name="SHORTCUT_KEY" /></translation>
 <translation id="2381756643783702095">Perguntar antes de enviar (recomendado)</translation>
 <translation id="2384436799579181135">Ocorreu um erro. Verifique a impressora e tente novamente.</translation>
 <translation id="2387458720915042159">Tipo de ligação proxy</translation>
@@ -1114,6 +1116,7 @@
 <translation id="2653659639078652383">Submeter</translation>
 <translation id="265390580714150011">Campo Valor</translation>
 <translation id="2654166010170466751">Permitir que os sites instalem controladores de pagamentos</translation>
+<translation id="2656742821229528729">Associe o telemóvel Android e o Chromebook para enviar mensagens de texto a partir do computador, partilhar a ligação à Internet e desbloquear o Chromebook com o telemóvel.<ph name="FOOTNOTE_POINTER" /> <ph name="LINK_BEGIN" />Saiba mais<ph name="LINK_END" />.</translation>
 <translation id="2659381484350128933"><ph name="FOOTNOTE_POINTER" /> As funcionalidades variam consoante o dispositivo.</translation>
 <translation id="2660779039299703961">Evento</translation>
 <translation id="266079277508604648">Não é possível ligar à impressora. Verifique se a impressora está ligada e associada ao Chromebook por Wi-Fi ou USB.</translation>
@@ -1419,6 +1422,7 @@
 <translation id="3115128645424181617">Não é possível localizar o telemóvel. Certifique-se de que o mesmo está próximo e que o Bluetooth está ativado.</translation>
 <translation id="3115147772012638511">A aguardar pela cache...</translation>
 <translation id="3118319026408854581">Ajuda do <ph name="PRODUCT_NAME" /></translation>
+<translation id="3119484583572640616">Ao ativar a funcionalidade Better Together, significa que pode:</translation>
 <translation id="3120430004221004537">Encriptação insuficiente para uma operação indicada em: "<ph name="DEVICE_NAME" />".</translation>
 <translation id="3121793941267913344">Repor este dispositivo <ph name="IDS_SHORT_PRODUCT_NAME" /></translation>
 <translation id="3122464029669770682">CPU</translation>
@@ -1733,6 +1737,7 @@
 <translation id="3596235046596950091">Ativar serviços na nuvem</translation>
 <translation id="3599863153486145794">Limpa o histórico de todos os dispositivos com sessão iniciada. A sua Conta Google pode ter outras formas do histórico de navegação em <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
 <translation id="3600792891314830896">Desativar o som dos sites que reproduzem som</translation>
+<translation id="360180734785106144">Disponibilizar novas funcionalidades à medida que ficam disponíveis</translation>
 <translation id="3602290021589620013">Pré-visualizar</translation>
 <translation id="3603533104205588786">Pode clicar na estrela para adicionar uma página aos marcadores</translation>
 <translation id="3603622770190368340">Obter certificado de rede</translation>
@@ -2068,7 +2073,6 @@
 <translation id="4068506536726151626">Esta página contém elementos dos seguintes sites que estão a monitorizar a sua localização:</translation>
 <translation id="4068776064906523561">Impressões digitais guardadas</translation>
 <translation id="407173827865827707">Ao clicar</translation>
-<translation id="4071770069230198275"><ph name="PROFILE_NAME" />: erro de início de sessão</translation>
 <translation id="4074900173531346617">Certificado do signatário do email</translation>
 <translation id="407520071244661467">Escala</translation>
 <translation id="4075639477629295004">Não é possível transmitir <ph name="FILE_NAME" />.</translation>
@@ -2870,6 +2874,7 @@
 <translation id="5332624210073556029">Fuso horário:</translation>
 <translation id="5334142896108694079">Cache de Script</translation>
 <translation id="5334844597069022743">Ver fonte</translation>
+<translation id="5334899159203764908">Saiba mais acerca do <ph name="BEGIN_LINK" />acesso a sites<ph name="END_LINK" /></translation>
 <translation id="5335458522276292100">A fazer uma cópia de segurança de <ph name="FILE_COUNT" /> para o <ph name="BEGIN_LINK" />Google Drive<ph name="END_LINK" />...</translation>
 <translation id="5336126339807372270">Não permitir o acesso de sites a dispositivos USB</translation>
 <translation id="5337771866151525739">Instalada por terceiros.</translation>
@@ -2977,6 +2982,7 @@
 <translation id="5487521232677179737">Limpar dados</translation>
 <translation id="5488093641312826914">"<ph name="COPIED_ITEM_NAME" />" copiado</translation>
 <translation id="5488468185303821006">Permitir em modo de navegação anónima</translation>
+<translation id="5489121514345187313">O seu Chromebook funciona ainda melhor com o seu telemóvel. <ph name="LINK_BEGIN" />Saiba mais<ph name="LINK_END" /></translation>
 <translation id="5489435190927933437">Palavras-passe guardadas para <ph name="DOMAIN" /></translation>
 <translation id="5491110079163012109">Envie dados do sistema. Envie automaticamente dados de diagnóstico e de utilização do dispositivo e das aplicações para a Google. Esta definição é aplicada pelo proprietário. O proprietário pode optar por enviar dados de diagnóstico e de utilização deste dispositivo para a Google. Pode ver esta seleção nas definições. Se tiver ativado a Atividade da Web e de aplicações adicional, estas informações serão armazenadas na sua conta para que as possa gerir em A minha atividade. <ph name="BEGIN_LINK1" />Saiba mais<ph name="END_LINK1" /></translation>
 <translation id="5493792505296048976">ecrã ligado</translation>
@@ -3149,6 +3155,7 @@
 <translation id="5731409020711461763">1 nova foto</translation>
 <translation id="5734362860645681824">Comunicações</translation>
 <translation id="5736796278325406685">Introduza um nome de utilizador válido</translation>
+<translation id="5739235828260127894">A aguardar a validação. <ph name="LINK_BEGIN" />Saiba mais<ph name="LINK_END" /></translation>
 <translation id="5739458112391494395">Muito grande</translation>
 <translation id="5740331643563157105"><ph name="LANGUAGE_1" />, <ph name="LANGUAGE_2" /> e mais <ph name="NUM_ADDITIONAL_LANGUAGES" /> idiomas</translation>
 <translation id="574209121243317957">Tonalidade</translation>
@@ -3252,6 +3259,7 @@
 <translation id="5870086504539785141">Fechar menu de acessibilidade</translation>
 <translation id="5870155679953074650">Falhas principais</translation>
 <translation id="5877064549588274448">Canal alterado. Reinicie o dispositivo para aplicar as alterações.</translation>
+<translation id="5877584842898320529">A impressora selecionada não está disponível ou não está instalada corretamente. <ph name="BR" /> Verifique a impressora ou tente selecionar outra impressora.</translation>
 <translation id="5880247576487732437">Símbolo Presente</translation>
 <translation id="5882919346125742463">Redes conhecidas</translation>
 <translation id="5884474295213649357">Este separador está associado a um dispositivo USB.</translation>
@@ -3318,11 +3326,12 @@
 <translation id="5979469435153841984">Para adicionar páginas aos marcadores, clicar na estrela na barra de endereço</translation>
 <translation id="5982621672636444458">Opções de ordenação</translation>
 <translation id="5984222099446776634">Visitados Recentemente</translation>
+<translation id="5985458664595100876">Formato de URL inválido. Os formatos suportados são \\server\share e smb://server/share.</translation>
 <translation id="5990142338020175451">Serviços Google mais pessoais, como melhores sugestões de páginas</translation>
 <translation id="5990386583461751448">Tradução</translation>
 <translation id="5991049340509704927">Ampliar</translation>
 <translation id="599131315899248751">{NUM_APPLICATIONS,plural, =1{Para garantir que pode continuar a navegar na Web, peça ao administrador para remover esta aplicação.}other{Para garantir que pode continuar a navegar na Web, peça ao administrador para remover estas aplicações.}}</translation>
-<translation id="5997337190805127100">Saiba mais acerca do acesso de sites</translation>
+<translation id="5997337190805127100">Saiba mais acerca do acesso a sites</translation>
 <translation id="6002458620803359783">Vozes preferidas</translation>
 <translation id="6005695835120147974">Media Router</translation>
 <translation id="6006484371116297560">Clássico</translation>
@@ -3346,6 +3355,7 @@
 <translation id="6026819612896463875"><ph name="WINDOW_TITLE" /> – dispositivo USB ligado</translation>
 <translation id="6028117231645531007">Adicionar impressão digital</translation>
 <translation id="6029027682598229313">A instalação do Linux está concluída.</translation>
+<translation id="6029292188939175871">eliminar [<ph name="FINGERPRINT_NAME" />], botão</translation>
 <translation id="6029587122245504742">A mais lenta</translation>
 <translation id="6032912588568283682">Sistema de ficheiros</translation>
 <translation id="6034662038931255275">A atualização do SO foi efetuada com êxito</translation>
@@ -3459,7 +3469,6 @@
 <translation id="6185132558746749656">Localização do dispositivo</translation>
 <translation id="6185617499004995178">Verificador de IPP do CUPS</translation>
 <translation id="6185696379715117369">Página para cima</translation>
-<translation id="6189273858858366896">Configurar ou gerir Partilhas de ficheiros na rede.</translation>
 <translation id="6189412234224385711">Abrir com <ph name="EXTENSION_NAME" /></translation>
 <translation id="6196640612572343990">Bloquear cookies de terceiros</translation>
 <translation id="6196854373336333322">A extensão "<ph name="EXTENSION_NAME" />" apoderou-se das suas definições de proxy, o que significa que pode alterar, interromper ou intercetar qualquer coisa que esteja a fazer online. Se não tem a certeza do motivo pelo qual aconteceu esta alteração, é provável que não a queira.</translation>
@@ -3765,6 +3774,7 @@
 <translation id="6643016212128521049">Limpar</translation>
 <translation id="6644512095122093795">Propor guardar palavras-passe</translation>
 <translation id="6644846457769259194">A atualizar o dispositivo (<ph name="PROGRESS_PERCENT" />)…</translation>
+<translation id="6645437135153136856">O dispositivo Google Cloud Print selecionado já não é suportado. <ph name="BR" /> Experimente configurar a impressora nas definições do sistema do computador.</translation>
 <translation id="6647228709620733774">URL de revogação da autoridade de certificação Netscape</translation>
 <translation id="6647838571840953560">Atualmente no canal <ph name="CHANNEL_NAME" /></translation>
 <translation id="6648051959475508072">Chave de segurança ativada…</translation>
@@ -3786,7 +3796,6 @@
 <translation id="667517062706956822">Pretende que o Google traduza esta página de <ph name="SOURCE_LANGUAGE" /> para <ph name="TARGET_LANGUAGE" />?</translation>
 <translation id="6675665718701918026">Dispositivo apontador ligado</translation>
 <translation id="6678717876183468697">URL de consulta</translation>
-<translation id="6680028776254050810">Mudar Utilizadores</translation>
 <translation id="6680442031740878064">Disponível: <ph name="AVAILABLE_SPACE" /></translation>
 <translation id="6680650203439190394">Classificar</translation>
 <translation id="6681668084120808868">Tirar foto</translation>
@@ -3795,7 +3804,6 @@
 <translation id="668599234725812620">Abrir o Google Play</translation>
 <translation id="6686490380836145850">Fechar separadores à direita</translation>
 <translation id="6686817083349815241">Guardar a sua palavra-passe</translation>
-<translation id="6690565918367819723">Mudar de pessoa – <ph name="PROFILE_NAME" /></translation>
 <translation id="6690659332373509948">Impossível analisar o ficheiro: <ph name="FILE_NAME" /></translation>
 <translation id="6690751852586194791">Escolha um utilizador supervisionado para adicionar a este dispositivo.</translation>
 <translation id="6691331417640343772">Gerir dados sincronizados no Painel de Controlo Google</translation>
@@ -4019,7 +4027,7 @@
 <translation id="7040230719604914234">Operador</translation>
 <translation id="7042418530779813870">Colar e pesqui&amp;sar</translation>
 <translation id="7043108582968290193">Concluído! Não foram encontradas aplicações incompatíveis.</translation>
-<translation id="7044124535091449260">Saiba mais acerca do acesso de sites</translation>
+<translation id="7044124535091449260">Saiba mais acerca do acesso a sites</translation>
 <translation id="7049293980323620022">Pretende manter este ficheiro?</translation>
 <translation id="7051943809462976355">A pesquisar rato...</translation>
 <translation id="7052237160939977163">Enviar dados de rastreio do desempenho</translation>
@@ -4132,6 +4140,7 @@
 <translation id="7201118060536064622">"<ph name="DELETED_ITEM_NAME" />" eliminado</translation>
 <translation id="7206693748120342859">A transferir <ph name="PLUGIN_NAME" />...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Sair da página}other{Sair das páginas}}</translation>
+<translation id="7210499381659830293">Impressoras da extensão</translation>
 <translation id="721467499098558573">Prima sem soltar o botão na sua chave de segurança durante, pelo menos, 5 segundos.</translation>
 <translation id="7216409898977639127">Operador de telemóvel</translation>
 <translation id="7216595297012131718">Ordene idiomas com base na sua preferência</translation>
@@ -4210,6 +4219,7 @@
 <translation id="7321545336522791733">Servidor inacessível</translation>
 <translation id="7324297612904500502">Fórum da versão beta</translation>
 <translation id="7325437708553334317">Extensão Alto Contraste</translation>
+<translation id="7328162502911382168">(<ph name="COUNT" />)</translation>
 <translation id="7328867076235380839">Combinação inválida.</translation>
 <translation id="7329154610228416156">O início de sessão falhou porque foi configurado para utilizar um URL não seguro (<ph name="BLOCKED_URL" />). Contacte o gestor.</translation>
 <translation id="7334190995941642545">O Smart Lock não está disponível atualmente. Tente novamente mais tarde.</translation>
@@ -4801,6 +4811,7 @@
 <translation id="8199300056570174101">Propriedades da rede (serviço) e do dispositivo</translation>
 <translation id="8200772114523450471">Continuar</translation>
 <translation id="8202160505685531999">Introduza a sua palavra-passe novamente para atualizar o perfil do <ph name="DEVICE_TYPE" />.</translation>
+<translation id="8203732864715032075">Enviar-lhe notificações e memorizar este computador para a aplicação Mensagens como predefinição. <ph name="LINK_BEGIN" />Saiba mais<ph name="LINK_END" /></translation>
 <translation id="8206354486702514201">Esta definição é aplicada pelo gestor.</translation>
 <translation id="8206745257863499010">Bluesy</translation>
 <translation id="8209677645716428427">Os utilizadores supervisionados podem explorar a Web com a sua orientação. Enquanto gestor de utilizadores supervisionados no Chrome, pode:</translation>
@@ -5112,7 +5123,6 @@
 <translation id="869884720829132584">Menu Aplicações</translation>
 <translation id="869891660844655955">Data de expiração</translation>
 <translation id="8699566574894671540">Para ativar esta opção, selecione primeiro Verificar a ortografia durante a escrita no menu Editar.</translation>
-<translation id="870073306461175568">Partilhas de ficheiros na rede</translation>
 <translation id="8701677791353449257">O nome do dispositivo deve corresponder à expressão regular <ph name="REGEX" />.</translation>
 <translation id="8704521619148782536">Este processo está a demorar muito mais tempo do que é habitual. Pode continuar a aguardar ou cancelar e tentar novamente mais tarde.</translation>
 <translation id="8705331520020532516">Número de série</translation>
@@ -5297,7 +5307,6 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> – falhou</translation>
 <translation id="8983677657449185470">Ajudar a melhorar a Navegação segura</translation>
 <translation id="8984179138335769204">Início rápido</translation>
-<translation id="8984654317541110628">URL de partilha de ficheiros</translation>
 <translation id="8986362086234534611">Esquecer</translation>
 <translation id="8986494364107987395">Enviar automaticamente estatísticas de utilização e relatórios de falhas para a Google</translation>
 <translation id="8987927404178983737">Mês</translation>
diff --git a/chrome/app/resources/generated_resources_ro.xtb b/chrome/app/resources/generated_resources_ro.xtb
index 9f4cf37..9dd2b20 100644
--- a/chrome/app/resources/generated_resources_ro.xtb
+++ b/chrome/app/resources/generated_resources_ro.xtb
@@ -275,6 +275,7 @@
 <translation id="1395730723686586365">Utilitarul de actualizare a pornit</translation>
 <translation id="1396139853388185343">Eroare la configurarea imprimantei</translation>
 <translation id="1396963298126346194">Numele de utilizator și parola introduse nu se potrivesc</translation>
+<translation id="1397500194120344683">Nu există dispozitive eligibile. <ph name="LINK_BEGIN" />Află mai multe<ph name="LINK_END" /></translation>
 <translation id="1397854323885047133">Sincronizare și personalizare</translation>
 <translation id="1398853756734560583">Maximizează</translation>
 <translation id="1399511500114202393">Niciun certificat de utilizator</translation>
@@ -375,7 +376,6 @@
 <translation id="1531004739673299060">Fereastra aplicației</translation>
 <translation id="15373452373711364">Cursor de mouse mare</translation>
 <translation id="1538729222189715449">Se deschid fișierele Linux...</translation>
-<translation id="153933193410874873">Nu ți-am putut confirma identitatea pe acest dispozitiv</translation>
 <translation id="1540605929960647700">Activează modul demonstrativ</translation>
 <translation id="1543284117603151572">Importate din Edge</translation>
 <translation id="1545177026077493356">Mod chioșc automat</translation>
@@ -529,6 +529,7 @@
 <translation id="175772926354468439">Activați tema</translation>
 <translation id="1758018619400202187">EAP-TLS</translation>
 <translation id="17584710573359123">Vezi în Magazinul web Chrome</translation>
+<translation id="176193854664720708">Senzorul de amprentă digitală se află în butonul de pornire. Atinge-l ușor cu oricare deget.</translation>
 <translation id="1763046204212875858">Creează comenzi rapide pentru aplicație</translation>
 <translation id="1763108912552529023">Explorați în continuare</translation>
 <translation id="1763808908432309942">Se deschide într-o filă nouă</translation>
@@ -682,7 +683,6 @@
 <translation id="1981115145845865539">Deblochează automat dispozitivul <ph name="DEVICE_TYPE" /></translation>
 <translation id="1983959805486816857">După ce creați un utilizator monitorizat, puteți gestiona setările oricând și de pe orice dispozitiv, de la <ph name="MANAGEMENT_URL" />.</translation>
 <translation id="1984642098429648350">Andocați fereastra la dreapta</translation>
-<translation id="1987139229093034863">Comutați la alt utilizator.</translation>
 <translation id="1987317783729300807">Conturi</translation>
 <translation id="1989112275319619282">Răsfoiește</translation>
 <translation id="1992397118740194946">Nu este setat</translation>
@@ -823,6 +823,7 @@
 <translation id="2208158072373999562">Arhivă zip</translation>
 <translation id="220858061631308971">Introduceți acest cod PIN pe „<ph name="DEVICE_NAME" />”:</translation>
 <translation id="2209593327042758816">Elementul 2 din raft</translation>
+<translation id="2212126039311489237">Printează folosind caseta de dialog a sistemului</translation>
 <translation id="2217501013957346740">Creați un nume –</translation>
 <translation id="2218019600945559112">Mouse și touchpad</translation>
 <translation id="2218320521449013367">A apărut o eroare în timp ce Chrome elimina un software dăunător</translation>
@@ -935,6 +936,7 @@
 <translation id="2378075407703503998"><ph name="SELCTED_FILE_COUNT" /> fișiere selectate</translation>
 <translation id="237828693408258535">Traduci această pagină?</translation>
 <translation id="2378982052244864789">Selectează directorul extensiei.</translation>
+<translation id="2379281330731083556">Printați utilizând caseta de dialog a sistemului... <ph name="SHORTCUT_KEY" /></translation>
 <translation id="2381756643783702095">Solicită permisiunea înainte de trimitere (recomandat)</translation>
 <translation id="2384436799579181135">A apărut o eroare. Verifică imprimanta și încearcă din nou.</translation>
 <translation id="2387458720915042159">Tip de conexiune prin proxy</translation>
@@ -1114,6 +1116,7 @@
 <translation id="2653659639078652383">Trimite</translation>
 <translation id="265390580714150011">Valoarea câmpului</translation>
 <translation id="2654166010170466751">Permite site-urilor să instaleze handlere pentru plăți</translation>
+<translation id="2656742821229528729">Conectează-ți telefonul Android și Chromebookul ca să trimiți mesaje text de pe computer, să permiți accesul la conexiunea de internet a telefonului și să deblochezi Chromebookul de pe telefon.<ph name="FOOTNOTE_POINTER" /> <ph name="LINK_BEGIN" />Află mai multe<ph name="LINK_END" /></translation>
 <translation id="2659381484350128933"><ph name="FOOTNOTE_POINTER" />Funcțiile variază în funcție de dispozitiv</translation>
 <translation id="2660779039299703961">Eveniment</translation>
 <translation id="266079277508604648">Nu se poate conecta imprimanta. Asigură-te că este pornită și conectată la Chromebook prin Wi-Fi sau USB.</translation>
@@ -1418,6 +1421,7 @@
 <translation id="3115128645424181617">Telefonul nu poate fi găsit. Asigură-te că este la îndemână și că ai activat Bluetooth.</translation>
 <translation id="3115147772012638511">Se așteaptă cache-ul...</translation>
 <translation id="3118319026408854581">Ajutor <ph name="PRODUCT_NAME" /></translation>
+<translation id="3119484583572640616">Dacă activezi Better Together, acesta poate face următoarele lucruri:</translation>
 <translation id="3120430004221004537">Criptare insuficientă pentru o operațiune pe: „<ph name="DEVICE_NAME" />”.</translation>
 <translation id="3121793941267913344">Resetați acest dispozitiv <ph name="IDS_SHORT_PRODUCT_NAME" /></translation>
 <translation id="3122464029669770682">CPU</translation>
@@ -1732,6 +1736,7 @@
 <translation id="3596235046596950091">Activează serviciile cloud</translation>
 <translation id="3599863153486145794">Șterge istoricul de pe toate dispozitivele conectate. Contul Google poate să ofere alte forme ale istoricului de navigare la <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
 <translation id="3600792891314830896">Dezactivează sunetul pentru site-urile care îl redau</translation>
+<translation id="360180734785106144">să ofere noi caracteristici pe măsură ce devin disponibile;</translation>
 <translation id="3602290021589620013">Previzualizare</translation>
 <translation id="3603533104205588786">Poți da clic pe pictograma stea pentru a marca o pagină</translation>
 <translation id="3603622770190368340">Obțineți certificatul de rețea</translation>
@@ -2067,7 +2072,6 @@
 <translation id="4068506536726151626">Această pagină conține elemente din următoarele site-uri care îți urmăresc locația:</translation>
 <translation id="4068776064906523561">Amprentele salvate</translation>
 <translation id="407173827865827707">Când se dă clic</translation>
-<translation id="4071770069230198275"><ph name="PROFILE_NAME" />: eroare la conectare</translation>
 <translation id="4074900173531346617">Certificat semnatar pentru e-mail</translation>
 <translation id="407520071244661467">Redimensionează</translation>
 <translation id="4075639477629295004">Nu se poate proiecta <ph name="FILE_NAME" />.</translation>
@@ -2869,6 +2873,7 @@
 <translation id="5332624210073556029">Fus orar:</translation>
 <translation id="5334142896108694079">Memorie cache de scripturi</translation>
 <translation id="5334844597069022743">Afișează sursa</translation>
+<translation id="5334899159203764908">Află mai multe despre <ph name="BEGIN_LINK" />accesul la site<ph name="END_LINK" /></translation>
 <translation id="5335458522276292100">Se face backup pentru <ph name="FILE_COUNT" /> în <ph name="BEGIN_LINK" />Google Drive<ph name="END_LINK" /></translation>
 <translation id="5336126339807372270">Nu permite niciunui site să acceseze dispozitive USB</translation>
 <translation id="5337771866151525739">Instalată de o terță parte.</translation>
@@ -2976,6 +2981,7 @@
 <translation id="5487521232677179737">Șterge datele</translation>
 <translation id="5488093641312826914">Elementul „<ph name="COPIED_ITEM_NAME" />” a fost copiat</translation>
 <translation id="5488468185303821006">Permite în incognito</translation>
+<translation id="5489121514345187313">Chromebookul funcționează și mai bine cu telefonul. <ph name="LINK_BEGIN" />Află mai multe<ph name="LINK_END" /></translation>
 <translation id="5489435190927933437">Parole salvate pentru <ph name="DOMAIN" /></translation>
 <translation id="5491110079163012109">Trimite date de sistem. Trimite automat la Google date privind diagnosticarea și utilizarea dispozitivelor și a aplicațiilor. Această setare este impusă de proprietar. Proprietarul poate alege să trimită la Google date privind diagnosticarea și utilizarea pentru dispozitiv. Poți vedea acest lucru în setări. Dacă ai activat opțiunea suplimentară „Activitatea de pe web și din aplicații”, aceste informații vor fi stocate în contul tău, astfel încât să le poți gestiona din Activitatea mea. <ph name="BEGIN_LINK1" />Află mai multe<ph name="END_LINK1" /></translation>
 <translation id="5493792505296048976">ecran activat</translation>
@@ -3147,6 +3153,7 @@
 <translation id="5731409020711461763">1 fotografie nouă</translation>
 <translation id="5734362860645681824">Comunicații</translation>
 <translation id="5736796278325406685">Introdu un nume de utilizator valid</translation>
+<translation id="5739235828260127894">Se așteaptă confirmarea. <ph name="LINK_BEGIN" />Află mai multe<ph name="LINK_END" /></translation>
 <translation id="5739458112391494395">Foarte mare</translation>
 <translation id="5740331643563157105"><ph name="LANGUAGE_1" />, <ph name="LANGUAGE_2" /> și încă <ph name="NUM_ADDITIONAL_LANGUAGES" /></translation>
 <translation id="574209121243317957">Tonalitatea</translation>
@@ -3250,6 +3257,7 @@
 <translation id="5870086504539785141">Închideți meniul de accesibilitate</translation>
 <translation id="5870155679953074650">Erori de hardware</translation>
 <translation id="5877064549588274448">Canalul a fost schimbat. Reporniți dispozitivul pentru a aplica modificările.</translation>
+<translation id="5877584842898320529">Imprimanta selectată nu este disponibilă sau nu este instalată corect. <ph name="BR" /> Verifică imprimanta sau încearcă să selectezi altă imprimantă.</translation>
 <translation id="5880247576487732437">Indicativ prezent</translation>
 <translation id="5882919346125742463">Rețele cunoscute</translation>
 <translation id="5884474295213649357">Această filă este conectată la un dispozitiv USB.</translation>
@@ -3316,6 +3324,7 @@
 <translation id="5979469435153841984">Pentru a marca paginile, dă clic pe steaua din bara de adrese</translation>
 <translation id="5982621672636444458">Opțiuni de sortare</translation>
 <translation id="5984222099446776634">Recently visited (Vizitate recent)</translation>
+<translation id="5985458664595100876">Format nevalid al adresei URL. Formatele acceptate sunt \\server\share și smb://server/share.</translation>
 <translation id="5990142338020175451">Servicii Google personalizate, cum ar fi sugestiile îmbunătățite privind paginile</translation>
 <translation id="5990386583461751448">Tradusă</translation>
 <translation id="5991049340509704927">Mărește</translation>
@@ -3344,6 +3353,7 @@
 <translation id="6026819612896463875"><ph name="WINDOW_TITLE" /> – dispozitivul USB a fost conectat</translation>
 <translation id="6028117231645531007">Adaugă amprenta</translation>
 <translation id="6029027682598229313">Instalarea Linux s-a finalizat.</translation>
+<translation id="6029292188939175871">șterge [<ph name="FINGERPRINT_NAME" />], buton</translation>
 <translation id="6029587122245504742">Cea mai lentă</translation>
 <translation id="6032912588568283682">Sistem de fișiere</translation>
 <translation id="6034662038931255275">Sistemul de operare a fost actualizat</translation>
@@ -3457,7 +3467,6 @@
 <translation id="6185132558746749656">Locația dispozitivului</translation>
 <translation id="6185617499004995178">Validator IPP CUPS</translation>
 <translation id="6185696379715117369">O pagină mai sus</translation>
-<translation id="6189273858858366896">Configurează sau gestionează dispozitive de stocare în rețea.</translation>
 <translation id="6189412234224385711">Deschide cu <ph name="EXTENSION_NAME" /></translation>
 <translation id="6196640612572343990">Blochează cookie-urile terță parte</translation>
 <translation id="6196854373336333322">Extensia „<ph name="EXTENSION_NAME" />” a preluat controlul asupra setărilor de proxy, ceea ce înseamnă că poate modifica, întrerupe sau intercepta tot ceea ce faci online. Dacă nu știi sigur de ce a apărut această modificare, probabil că nu ai aprobat-o.</translation>
@@ -3763,6 +3772,7 @@
 <translation id="6643016212128521049">Ștergeți</translation>
 <translation id="6644512095122093795">Oferă salvarea parolelor</translation>
 <translation id="6644846457769259194">Se actualizează dispozitivul (<ph name="PROGRESS_PERCENT" />)</translation>
+<translation id="6645437135153136856">Dispozitivul Google Cloud Print selectat nu mai este acceptat. <ph name="BR" /> Încearcă să configurezi imprimanta din setările de sistem ale computerului.</translation>
 <translation id="6647228709620733774">Adresă URL de revocare a autorității de certificare Netscape</translation>
 <translation id="6647838571840953560">În prezent, pe <ph name="CHANNEL_NAME" /></translation>
 <translation id="6648051959475508072">Cheia de securitate a fost activată...</translation>
@@ -3784,7 +3794,6 @@
 <translation id="667517062706956822">Dorești ca Google să traducă această pagină din <ph name="SOURCE_LANGUAGE" /> în <ph name="TARGET_LANGUAGE" />?</translation>
 <translation id="6675665718701918026">Dispozitivul de indicat este conectat</translation>
 <translation id="6678717876183468697">Adresa URL a interogării</translation>
-<translation id="6680028776254050810">Comutați la alt utilizator</translation>
 <translation id="6680442031740878064">Spațiu disponibil: <ph name="AVAILABLE_SPACE" /></translation>
 <translation id="6680650203439190394">Ritmul</translation>
 <translation id="6681668084120808868">Fotografiază</translation>
@@ -3793,7 +3802,6 @@
 <translation id="668599234725812620">Deschide Google Play</translation>
 <translation id="6686490380836145850">Închide filele de la dreapta</translation>
 <translation id="6686817083349815241">Salvați parola</translation>
-<translation id="6690565918367819723"><ph name="PROFILE_NAME" /> Comută la altă persoană</translation>
 <translation id="6690659332373509948">Fișierul <ph name="FILE_NAME" /> nu poate fi analizat</translation>
 <translation id="6690751852586194791">Alegeți un utilizator monitorizat pe care să îl adăugați la dispozitiv.</translation>
 <translation id="6691331417640343772">Gestionează datele sincronizate în Tabloul de bord Google</translation>
@@ -4130,6 +4138,7 @@
 <translation id="7201118060536064622">„<ph name="DELETED_ITEM_NAME" />” a fost șters</translation>
 <translation id="7206693748120342859">Se descarcă pluginul <ph name="PLUGIN_NAME" />...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Închide pagina}few{Închide paginile}other{Închide paginile}}</translation>
+<translation id="7210499381659830293">Imprimante de extensie</translation>
 <translation id="721467499098558573">Apasă lung butonul de pe cheia de securitate timp de cel puțin cinci secunde</translation>
 <translation id="7216409898977639127">Furnizor de date mobile</translation>
 <translation id="7216595297012131718">Ordonează limbile pe baza preferințelor tale</translation>
@@ -4208,6 +4217,7 @@
 <translation id="7321545336522791733">Serverul nu poate fi accesat</translation>
 <translation id="7324297612904500502">Forumul pentru versiunea beta</translation>
 <translation id="7325437708553334317">Extensia Contrast ridicat</translation>
+<translation id="7328162502911382168">(<ph name="COUNT" />)</translation>
 <translation id="7328867076235380839">Combinație nevalidă</translation>
 <translation id="7329154610228416156">Nu s-a conectat, deoarece era configurată folosirea unei adrese URL nesecurizate (<ph name="BLOCKED_URL" />). Contactează administratorul.</translation>
 <translation id="7334190995941642545">În prezent funcția Smart Lock nu este disponibilă. Încearcă din nou mai târziu.</translation>
@@ -4799,6 +4809,7 @@
 <translation id="8199300056570174101">Proprietăți pentru dispozitiv și rețea (serviciu)</translation>
 <translation id="8200772114523450471">Reia</translation>
 <translation id="8202160505685531999">Reintrodu parola pentru a actualiza profilul <ph name="DEVICE_TYPE" />.</translation>
+<translation id="8203732864715032075">Îți trimite notificări și are ca setare prestabilită reținerea acestui computer pentru Messages <ph name="LINK_BEGIN" />Află mai multe<ph name="LINK_END" /></translation>
 <translation id="8206354486702514201">Această setare este impusă de administratorul dvs.</translation>
 <translation id="8206745257863499010">Albăstrel</translation>
 <translation id="8209677645716428427">Un utilizator monitorizat poate naviga pe web sub îndrumarea dvs. În calitate de manager al unui utilizator monitorizat în Chrome, puteți să:</translation>
@@ -5110,7 +5121,6 @@
 <translation id="869884720829132584">Meniul aplicațiilor</translation>
 <translation id="869891660844655955">Dată de expirare</translation>
 <translation id="8699566574894671540">Pentru a activa această opțiune, selectează mai întâi Verifică ortografia în timp ce se introduce text în meniul Editare</translation>
-<translation id="870073306461175568">Dispozitive de stocare în rețea</translation>
 <translation id="8701677791353449257">Numele dispozitivului trebuie să corespundă expresiei regulate <ph name="REGEX" />.</translation>
 <translation id="8704521619148782536">Acțiunea durează mult mai mult decât de obicei. Puteți aștepta în continuare sau puteți anula și încerca din nou mai târziu.</translation>
 <translation id="8705331520020532516">Număr de serie</translation>
@@ -5295,7 +5305,6 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> – s-a blocat</translation>
 <translation id="8983677657449185470">Contribuie la îmbunătățirea Navigării sigure</translation>
 <translation id="8984179138335769204">Lansare rapidă</translation>
-<translation id="8984654317541110628">Adresa URL a dispozitivului de stocare în rețea</translation>
 <translation id="8986362086234534611">Șterge</translation>
 <translation id="8986494364107987395">Trimite automat la Google statistici de utilizare și rapoarte de blocare</translation>
 <translation id="8987927404178983737">Lună</translation>
diff --git a/chrome/app/resources/generated_resources_ru.xtb b/chrome/app/resources/generated_resources_ru.xtb
index e1ac8b9..0bc9118b 100644
--- a/chrome/app/resources/generated_resources_ru.xtb
+++ b/chrome/app/resources/generated_resources_ru.xtb
@@ -275,6 +275,7 @@
 <translation id="1395730723686586365">Программа обновлений запущена</translation>
 <translation id="1396139853388185343">Не удалось настроить принтер</translation>
 <translation id="1396963298126346194">Неправильное имя пользователя или пароль</translation>
+<translation id="1397500194120344683">Нет подходящих устройств. <ph name="LINK_BEGIN" />Подробнее…<ph name="LINK_END" /></translation>
 <translation id="1397854323885047133">Настройки синхронизации и персонализации</translation>
 <translation id="1398853756734560583">Развернуть</translation>
 <translation id="1399511500114202393">Не использовать сертификат пользователя</translation>
@@ -374,7 +375,6 @@
 <translation id="1531004739673299060">Окно программы</translation>
 <translation id="15373452373711364">Большой курсор мыши</translation>
 <translation id="1538729222189715449">Файлы Linux открываются…</translation>
-<translation id="153933193410874873">Не удалось проверить вашу личность на этом устройстве.</translation>
 <translation id="1540605929960647700">Демонстрационный режим</translation>
 <translation id="1543284117603151572">Импортированные из Microsoft Edge</translation>
 <translation id="1545177026077493356">Автоматическое включение режима киоска</translation>
@@ -528,6 +528,7 @@
 <translation id="175772926354468439">Включить тему</translation>
 <translation id="1758018619400202187">EAP-TLS</translation>
 <translation id="17584710573359123">Перейти в Интернет-магазин Chrome</translation>
+<translation id="176193854664720708">Сканер отпечатков пальцев встроен в кнопку питания. Несильно нажмите на нее любым пальцем.</translation>
 <translation id="1763046204212875858">Создание ярлыков приложений</translation>
 <translation id="1763108912552529023">Дополнительные сведения</translation>
 <translation id="1763808908432309942">Страница откроется в новой вкладке</translation>
@@ -681,7 +682,6 @@
 <translation id="1981115145845865539">Снимайте блокировку устройства <ph name="DEVICE_TYPE" /> автоматически</translation>
 <translation id="1983959805486816857">Создав контролируемый профиль, вы можете управлять его настройками с любого устройства на странице <ph name="MANAGEMENT_URL" />.</translation>
 <translation id="1984642098429648350">Закрепить окно справа</translation>
-<translation id="1987139229093034863">Переключитесь на другого пользователя.</translation>
 <translation id="1987317783729300807">Аккаунты</translation>
 <translation id="1989112275319619282">Выбрать</translation>
 <translation id="1992397118740194946">Не задано</translation>
@@ -822,6 +822,7 @@
 <translation id="2208158072373999562">ZIP-архив</translation>
 <translation id="220858061631308971">Введите PIN-код для устройства "<ph name="DEVICE_NAME" />":</translation>
 <translation id="2209593327042758816">2-й объект на панели запуска</translation>
+<translation id="2212126039311489237">Печатать с помощью системного диалогового окна</translation>
 <translation id="2217501013957346740">Придумайте имя –</translation>
 <translation id="2218019600945559112">Мышь и сенсорная панель</translation>
 <translation id="2218320521449013367">При удалении вредоносного ПО произошла ошибка.</translation>
@@ -934,6 +935,7 @@
 <translation id="2378075407703503998">Выбрано файлов: <ph name="SELCTED_FILE_COUNT" />.</translation>
 <translation id="237828693408258535">Перевести эту страницу?</translation>
 <translation id="2378982052244864789">Выберите каталог расширения</translation>
+<translation id="2379281330731083556">Печатать с помощью системного диалогового окна <ph name="SHORTCUT_KEY" /></translation>
 <translation id="2381756643783702095">Спрашивать разрешение перед отправкой (рекомендуется)</translation>
 <translation id="2384436799579181135">Произошла ошибка. Проверьте принтер и повторите попытку.</translation>
 <translation id="2387458720915042159">Тип подключения через прокси-сервер</translation>
@@ -1115,6 +1117,7 @@
 <translation id="2653659639078652383">Отправить</translation>
 <translation id="265390580714150011">Значение поля</translation>
 <translation id="2654166010170466751">Разрешить сайтам устанавливать обработчики платежей.</translation>
+<translation id="2656742821229528729">Подключив телефон Android, вы сможете отправлять с устройства Chromebook SMS, пользоваться на нем настроенным на телефоне интернет-соединением, а также разблокировать Chromebook с помощью телефона.<ph name="FOOTNOTE_POINTER" /> <ph name="LINK_BEGIN" />Подробнее…<ph name="LINK_END" /></translation>
 <translation id="2659381484350128933"><ph name="FOOTNOTE_POINTER" />Набор доступных функций зависит от устройства.</translation>
 <translation id="2660779039299703961">Событие</translation>
 <translation id="266079277508604648">Не удается установить соединение с принтером. Убедитесь, что он включен и подключен к устройству Chromebook через Wi-Fi или USB.</translation>
@@ -1419,6 +1422,7 @@
 <translation id="3115128645424181617">Не удалось найти телефон. Убедитесь, что он поблизости и на нем включен Bluetooth.</translation>
 <translation id="3115147772012638511">Ожидание кеша…</translation>
 <translation id="3118319026408854581">Справка <ph name="PRODUCT_NAME" /></translation>
+<translation id="3119484583572640616">Разрешения включенного режима "Взаимодействие":</translation>
 <translation id="3120430004221004537">Неполное шифрование операции на устройстве <ph name="DEVICE_NAME" />.</translation>
 <translation id="3121793941267913344">Сбросить настройки устройства <ph name="IDS_SHORT_PRODUCT_NAME" /></translation>
 <translation id="3122464029669770682">ЦПУ</translation>
@@ -1733,6 +1737,7 @@
 <translation id="3596235046596950091">Включить облачные сервисы</translation>
 <translation id="3599863153486145794">Удаление истории со всех устройств, на которых выполнен вход в аккаунт. Информация о других ваших действиях в Интернете может также храниться на странице <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
 <translation id="3600792891314830896">Отключить звуки на сайтах</translation>
+<translation id="360180734785106144">Предлагать новые функции по мере их появления.</translation>
 <translation id="3602290021589620013">Предварительный просмотр</translation>
 <translation id="3603533104205588786">Нажмите на значок звездочки</translation>
 <translation id="3603622770190368340">Получение сетевого сертификата</translation>
@@ -2068,7 +2073,6 @@
 <translation id="4068506536726151626">Эта страница содержит элементы со следующих сайтов, которые отслеживают ваше местоположение:</translation>
 <translation id="4068776064906523561">Сохраненные отпечатки пальцев</translation>
 <translation id="407173827865827707">При нажатии</translation>
-<translation id="4071770069230198275"><ph name="PROFILE_NAME" />: ошибка входа</translation>
 <translation id="4074900173531346617">Сертификат для подписи электронной почты</translation>
 <translation id="407520071244661467">Масштаб</translation>
 <translation id="4075639477629295004">Невозможно транслировать файл "<ph name="FILE_NAME" />"</translation>
@@ -2870,6 +2874,7 @@
 <translation id="5332624210073556029">Часовой пояс:</translation>
 <translation id="5334142896108694079">Кеш скрипта</translation>
 <translation id="5334844597069022743">Смотреть исходный код</translation>
+<translation id="5334899159203764908">Подробнее <ph name="BEGIN_LINK" />о доступе для сайта<ph name="END_LINK" />…</translation>
 <translation id="5335458522276292100">Сохранение файлов (<ph name="FILE_COUNT" />) на <ph name="BEGIN_LINK" />Google Диске<ph name="END_LINK" />…</translation>
 <translation id="5336126339807372270">Запретить сайтам доступ к USB-устройствам.</translation>
 <translation id="5337771866151525739">Установлено независимым поставщиком.</translation>
@@ -2977,6 +2982,7 @@
 <translation id="5487521232677179737">Удалить данные</translation>
 <translation id="5488093641312826914">Объект "<ph name="COPIED_ITEM_NAME" />" скопирован</translation>
 <translation id="5488468185303821006">Разрешить использование в режиме инкогнито</translation>
+<translation id="5489121514345187313">Подключите телефон к устройству Chromebook, чтобы получить дополнительные возможности. <ph name="LINK_BEGIN" />Подробнее…<ph name="LINK_END" /></translation>
 <translation id="5489435190927933437">Сохраненные пароли для домена <ph name="DOMAIN" /></translation>
 <translation id="5491110079163012109">Отправка системных данных. Автоматическая передача в Google данных диагностики, а также сведений об использовании устройства и приложений. Этот параметр задает владелец устройства. Владелец может разрешить автоматическую отправку в Google данных об использовании и диагностике устройства. Проверить этот параметр можно в настройках. Если включена История приложений и веб-поиска, эта информация будет сохраняться в вашем аккаунте, и вы сможете управлять ей на странице "Мои действия". <ph name="BEGIN_LINK1" />Подробнее…<ph name="END_LINK1" /></translation>
 <translation id="5493792505296048976">экран включен</translation>
@@ -3148,6 +3154,7 @@
 <translation id="5731409020711461763">новых фото: 1</translation>
 <translation id="5734362860645681824">Оборудование</translation>
 <translation id="5736796278325406685">Введите действительное имя пользователя</translation>
+<translation id="5739235828260127894">Требуется подтверждение. <ph name="LINK_BEGIN" />Подробнее…<ph name="LINK_END" /></translation>
 <translation id="5739458112391494395">Очень крупный</translation>
 <translation id="5740331643563157105"><ph name="LANGUAGE_1" />, <ph name="LANGUAGE_2" />, а также другие языки (<ph name="NUM_ADDITIONAL_LANGUAGES" />)</translation>
 <translation id="574209121243317957">Высота звука</translation>
@@ -3251,6 +3258,7 @@
 <translation id="5870086504539785141">Закрыть меню специальных возможностей</translation>
 <translation id="5870155679953074650">Ошибки отсутствия страницы в памяти</translation>
 <translation id="5877064549588274448">Канал изменен. Чтобы изменения вступили в силу, перезапустите устройство.</translation>
+<translation id="5877584842898320529">Этот принтер недоступен или настроен неправильно.<ph name="BR" />Проверьте его или выберите другой.</translation>
 <translation id="5880247576487732437">Наличие токена</translation>
 <translation id="5882919346125742463">Сохраненные сети</translation>
 <translation id="5884474295213649357">Эта вкладка подключена к USB-устройству</translation>
@@ -3317,6 +3325,7 @@
 <translation id="5979469435153841984">Чтобы добавить страницу в закладки, нажмите на значок звездочки в адресной строке</translation>
 <translation id="5982621672636444458">Сортировать</translation>
 <translation id="5984222099446776634">Недавно посещенные страницы</translation>
+<translation id="5985458664595100876">Произошла ошибка. Необходимо использовать допустимые форматы URL: \\server\share или smb://server/share.</translation>
 <translation id="5990142338020175451">Расширенная персонализация сервисов Google, например более актуальные подсказки на странице быстрого доступа.</translation>
 <translation id="5990386583461751448">Перевод</translation>
 <translation id="5991049340509704927">Увеличение</translation>
@@ -3345,6 +3354,7 @@
 <translation id="6026819612896463875"><ph name="WINDOW_TITLE" />: подключено USB-устройство</translation>
 <translation id="6028117231645531007">Добавить отпечаток пальца</translation>
 <translation id="6029027682598229313">Установка Linux завершена.</translation>
+<translation id="6029292188939175871">Кнопка удалить [<ph name="FINGERPRINT_NAME" />]</translation>
 <translation id="6029587122245504742">Минимальная</translation>
 <translation id="6032912588568283682">Файловая система</translation>
 <translation id="6034662038931255275">Обновление ОС завершено</translation>
@@ -3458,7 +3468,6 @@
 <translation id="6185132558746749656">Местоположение устройства</translation>
 <translation id="6185617499004995178">Валидатор CUPS IPP</translation>
 <translation id="6185696379715117369">На страницу вверх</translation>
-<translation id="6189273858858366896">Настройка совместного доступа к файлам в сети.</translation>
 <translation id="6189412234224385711">Открыть с помощью расширения "<ph name="EXTENSION_NAME" />"</translation>
 <translation id="6196640612572343990">Блокировать сторонние файлы cookie</translation>
 <translation id="6196854373336333322">Расширение "<ph name="EXTENSION_NAME" />" контролирует настройки прокси-сервера. Это значит, что оно может отследить или изменить передаваемые вами данные, а также оборвать интернет-соединение. Если вы не знали об этом, вам следует отключить расширение.</translation>
@@ -3764,6 +3773,7 @@
 <translation id="6643016212128521049">Очистить</translation>
 <translation id="6644512095122093795">Предлагать сохранение паролей</translation>
 <translation id="6644846457769259194">Обновление устройства (<ph name="PROGRESS_PERCENT" />)…</translation>
+<translation id="6645437135153136856">Устройство, подключенное к сервису "Google Виртуальный принтер", больше не поддерживается.<ph name="BR" />Укажите новый принтер в системных настройках компьютера.</translation>
 <translation id="6647228709620733774">URL отзыва ЦС Netscape</translation>
 <translation id="6647838571840953560">Сейчас на канале "<ph name="CHANNEL_NAME" />"</translation>
 <translation id="6648051959475508072">Электронный ключ активирован</translation>
@@ -3785,7 +3795,6 @@
 <translation id="667517062706956822">Вы хотите, чтобы Google сделал перевод страницы: <ph name="SOURCE_LANGUAGE" /> &gt;&gt; <ph name="TARGET_LANGUAGE" />?</translation>
 <translation id="6675665718701918026">Подключено дополнительное устройство</translation>
 <translation id="6678717876183468697">URL запроса</translation>
-<translation id="6680028776254050810">Смена пользователя</translation>
 <translation id="6680442031740878064">Доступно: <ph name="AVAILABLE_SPACE" /></translation>
 <translation id="6680650203439190394">Скорость речи</translation>
 <translation id="6681668084120808868">Сфотографировать</translation>
@@ -3794,7 +3803,6 @@
 <translation id="668599234725812620">Открыть Google Play</translation>
 <translation id="6686490380836145850">Закрыть вкладки справа</translation>
 <translation id="6686817083349815241">Сохранить пароль</translation>
-<translation id="6690565918367819723"><ph name="PROFILE_NAME" /> Сменить пользователя</translation>
 <translation id="6690659332373509948">Не удалось проанализировать файл <ph name="FILE_NAME" /></translation>
 <translation id="6690751852586194791">Выберите контролируемый профиль, который необходимо добавить на это устройство.</translation>
 <translation id="6691331417640343772">Управление синхронизированными данными в Личном кабинете Google</translation>
@@ -4131,6 +4139,7 @@
 <translation id="7201118060536064622">Объект "<ph name="DELETED_ITEM_NAME" />" удален</translation>
 <translation id="7206693748120342859">Скачивание плагина <ph name="PLUGIN_NAME" />…</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Закрыть страницу}one{Закрыть страницы}few{Закрыть страницы}many{Закрыть страницы}other{Закрыть страницы}}</translation>
+<translation id="7210499381659830293">Принтеры, используемые расширением</translation>
 <translation id="721467499098558573">Нажмите кнопку на электронном ключе и удерживайте ее в течение пяти секунд.</translation>
 <translation id="7216409898977639127">Оператор сотовой связи</translation>
 <translation id="7216595297012131718">Расположите языки, исходя из своих предпочтений</translation>
@@ -4209,6 +4218,7 @@
 <translation id="7321545336522791733">Сервер недоступен</translation>
 <translation id="7324297612904500502">Форум бета-версии</translation>
 <translation id="7325437708553334317">Расширение высокой контрастности</translation>
+<translation id="7328162502911382168">(<ph name="COUNT" />)</translation>
 <translation id="7328867076235380839">Недопустимое сочетание</translation>
 <translation id="7329154610228416156">Не удалось выполнить вход из-за перенаправления на небезопасный URL (<ph name="BLOCKED_URL" />). Обратитесь к администратору.</translation>
 <translation id="7334190995941642545">В настоящий момент функция Smart Lock недоступна. Повторите попытку позже.</translation>
@@ -4800,6 +4810,7 @@
 <translation id="8199300056570174101">Настройки сети и устройства</translation>
 <translation id="8200772114523450471">Возобновить</translation>
 <translation id="8202160505685531999">Чтобы обновить профиль устройства <ph name="DEVICE_TYPE" />, введите пароль ещё раз</translation>
+<translation id="8203732864715032075">Показывать на этом компьютере уведомления о сообщениях, полученных на телефоне. <ph name="LINK_BEGIN" />Подробнее…<ph name="LINK_END" /></translation>
 <translation id="8206354486702514201">Этот параметр включен администратором.</translation>
 <translation id="8206745257863499010">Блюз</translation>
 <translation id="8209677645716428427">Пользователь контролируемого аккаунта может посещать веб-страницы под вашим руководством. Как менеджер профиля в Chrome вы можете выполнять следующие операции:</translation>
@@ -5111,7 +5122,6 @@
 <translation id="869884720829132584">Меню приложений</translation>
 <translation id="869891660844655955">Срок действия</translation>
 <translation id="8699566574894671540">Чтобы включить эту настройку, выберите в меню "Изменить" функцию "Проверять правописание при наборе текста".</translation>
-<translation id="870073306461175568">Совместный доступ к файлам в сети</translation>
 <translation id="8701677791353449257">Название устройства должно соответствовать регулярному выражению <ph name="REGEX" />.</translation>
 <translation id="8704521619148782536">Похоже, процесс займет больше времени, чем обычно. Вы можете подождать или нажать "Отмена" и повторить попытку позже.</translation>
 <translation id="8705331520020532516">Серийный номер</translation>
@@ -5296,7 +5306,6 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" />: произошел сбой</translation>
 <translation id="8983677657449185470">Помогать улучшить режим Безопасного просмотра</translation>
 <translation id="8984179138335769204">Быстрый запуск</translation>
-<translation id="8984654317541110628">URL для совместного доступа к файлу</translation>
 <translation id="8986362086234534611">Удалить</translation>
 <translation id="8986494364107987395">Автоматически отправлять в Google статистику использования и отчеты о сбоях</translation>
 <translation id="8987927404178983737">Месяц</translation>
diff --git a/chrome/app/resources/generated_resources_sk.xtb b/chrome/app/resources/generated_resources_sk.xtb
index eb8cee26..adfa6f2 100644
--- a/chrome/app/resources/generated_resources_sk.xtb
+++ b/chrome/app/resources/generated_resources_sk.xtb
@@ -275,6 +275,7 @@
 <translation id="1395730723686586365">Služba Updater bola spustená</translation>
 <translation id="1396139853388185343">Pri nastavovaní tlačiarne sa vyskytla chyba</translation>
 <translation id="1396963298126346194">Zadané používateľské meno a heslo sa nezhodujú</translation>
+<translation id="1397500194120344683">Žiadne zariadenia spĺňajúce kritériá. <ph name="LINK_BEGIN" />Ďalšie informácie<ph name="LINK_END" /></translation>
 <translation id="1397854323885047133">Synchronizácia a prispôsobenie</translation>
 <translation id="1398853756734560583">Maximalizovať</translation>
 <translation id="1399511500114202393">Žiadny certifikát používateľa</translation>
@@ -375,7 +376,6 @@
 <translation id="1531004739673299060">Okno aplikácie</translation>
 <translation id="15373452373711364">Veľký kurzor myši</translation>
 <translation id="1538729222189715449">Otvárajú sa súbory Linux…</translation>
-<translation id="153933193410874873">Vašu totožnosť sa v tomto zariadení nepodarilo overiť</translation>
 <translation id="1540605929960647700">Povolenie režimu ukážky</translation>
 <translation id="1543284117603151572">Importované z prehliadača Edge</translation>
 <translation id="1545177026077493356">Automatický režim verejného terminálu</translation>
@@ -529,6 +529,7 @@
 <translation id="175772926354468439">Povoliť motív</translation>
 <translation id="1758018619400202187">EAP-TLS</translation>
 <translation id="17584710573359123">Zobraziť v Internetovom obchode Chrome</translation>
+<translation id="176193854664720708">Senzor odtlačkov prstov je vo vypínači. Dotknite sa ho ľubovoľným prstom.</translation>
 <translation id="1763046204212875858">Vytvoriť odkazy na aplikáciu</translation>
 <translation id="1763108912552529023">Skúmať</translation>
 <translation id="1763808908432309942">Otvorí sa na novej karte</translation>
@@ -682,7 +683,6 @@
 <translation id="1981115145845865539">Automatické odomykanie zariadenia <ph name="DEVICE_TYPE" /></translation>
 <translation id="1983959805486816857">Po vytvorení nového kontrolovaného používateľa môžete kedykoľvek spravovať nastavenia z akéhokoľvek zariadenia na adrese <ph name="MANAGEMENT_URL" />.</translation>
 <translation id="1984642098429648350">Prichytiť okno vpravo</translation>
-<translation id="1987139229093034863">Prepnúť na iného používateľa.</translation>
 <translation id="1987317783729300807">Účty</translation>
 <translation id="1989112275319619282">Prehliadať</translation>
 <translation id="1992397118740194946">Nie je nastavené</translation>
@@ -824,6 +824,7 @@
 <translation id="2208158072373999562">Archív ZIP</translation>
 <translation id="220858061631308971">Zadajte tento kód PIN v zariadení „<ph name="DEVICE_NAME" />“:</translation>
 <translation id="2209593327042758816">2. položka na poličke</translation>
+<translation id="2212126039311489237">Tlačiť prostredníctvom dialógového okna systému</translation>
 <translation id="2217501013957346740">Vytvoriť meno –</translation>
 <translation id="2218019600945559112">Myš a touchpad</translation>
 <translation id="2218320521449013367">Pri odstraňovaní škodlivého softvéru sa v Chrome vyskytla chyba</translation>
@@ -936,6 +937,7 @@
 <translation id="2378075407703503998">Počet vybratých súborov: <ph name="SELCTED_FILE_COUNT" /></translation>
 <translation id="237828693408258535">Preložiť túto stránku?</translation>
 <translation id="2378982052244864789">Vybrať adresár rozšírenia.</translation>
+<translation id="2379281330731083556">Tlačiť pomocou dialógového okna systému... <ph name="SHORTCUT_KEY" /></translation>
 <translation id="2381756643783702095">Spýtať sa pred odoslaním (odporúčané)</translation>
 <translation id="2384436799579181135">Vyskytla sa chyba. Skontrolujte tlačiareň a skúste to znova.</translation>
 <translation id="2387458720915042159">Typ pripojenia proxy</translation>
@@ -1114,6 +1116,7 @@
 <translation id="2653659639078652383">Odoslať</translation>
 <translation id="265390580714150011">Hodnota poľa</translation>
 <translation id="2654166010170466751">Povoliť webom inštalovať obslužné nástroje platieb</translation>
+<translation id="2656742821229528729">Pripojte svoj telefón s Androidom a Chromebook, aby ste mohli odosielať textové správy z počítača, zdieľať internetové pripojenie a odomykať obrazovku Chromebooku telefónom.<ph name="FOOTNOTE_POINTER" /> <ph name="LINK_BEGIN" />Ďalšie informácie<ph name="LINK_END" /></translation>
 <translation id="2659381484350128933"><ph name="FOOTNOTE_POINTER" />Funkcie sa môžu v rôznych zariadeniach líšiť</translation>
 <translation id="2660779039299703961">Udalosť</translation>
 <translation id="266079277508604648">K tlačiarni sa nepodarilo pripojiť. Skontrolujte, či je zapnutá a pripojená k Chromebooku prostredníctvom Wi-Fi alebo USB.</translation>
@@ -1418,6 +1421,7 @@
 <translation id="3115128645424181617">Telefón sa nedarí nájsť. Skontrolujte, či je v dosahu a či má zapnuté rozhranie Bluetooth.</translation>
 <translation id="3115147772012638511">Čakanie na vyrovnávaciu pamäť...</translation>
 <translation id="3118319026408854581">Pomocník aplikácie <ph name="PRODUCT_NAME" /></translation>
+<translation id="3119484583572640616">Ak zapnete funkciu Better Together, bude môcť:</translation>
 <translation id="3120430004221004537">Nedostatočné šifrovanie pre danú operáciu na zariadení <ph name="DEVICE_NAME" />.</translation>
 <translation id="3121793941267913344">Resetovanie tohto zariadenia <ph name="IDS_SHORT_PRODUCT_NAME" /></translation>
 <translation id="3122464029669770682">CPU</translation>
@@ -1732,6 +1736,7 @@
 <translation id="3596235046596950091">Povoliť cloudové služby</translation>
 <translation id="3599863153486145794">Vymaže históriu zo všetkých prihlásených zariadení. Váš účet Google môže mať ďalšie formy histórie prehliadania na adrese <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
 <translation id="3600792891314830896">Vypnutie zvuku webov, ktoré prehrávajú zvuk</translation>
+<translation id="360180734785106144">Poskytovať nové funkcie, keď budú k dispozícii</translation>
 <translation id="3602290021589620013">Ukážka</translation>
 <translation id="3603533104205588786">Stránku uložíte ako záložku kliknutím na hviezdičku</translation>
 <translation id="3603622770190368340">Získanie certifkátu siete</translation>
@@ -2067,7 +2072,6 @@
 <translation id="4068506536726151626">Táto stránka obsahuje prvky z nasledujúcich webov, ktoré sledujú vašu polohu:</translation>
 <translation id="4068776064906523561">Uložené odtlačky prstov</translation>
 <translation id="407173827865827707">Po kliknutí</translation>
-<translation id="4071770069230198275"><ph name="PROFILE_NAME" />: chyba prihlásenia</translation>
 <translation id="4074900173531346617">Certifikát podpisovateľa e-mailu</translation>
 <translation id="407520071244661467">Prispôsobiť veľkosť</translation>
 <translation id="4075639477629295004">Nie je možné prenášať súbor <ph name="FILE_NAME" />.</translation>
@@ -2869,6 +2873,7 @@
 <translation id="5332624210073556029">Časová zóna:</translation>
 <translation id="5334142896108694079">Vyrovnávacia pamäť skriptov</translation>
 <translation id="5334844597069022743">Zobraziť zdrojový kód</translation>
+<translation id="5334899159203764908">Ďalšie informácie o <ph name="BEGIN_LINK" />prístupe k webu<ph name="END_LINK" /></translation>
 <translation id="5335458522276292100">Zálohujú sa fotky (<ph name="FILE_COUNT" />) na <ph name="BEGIN_LINK" />Disk Google<ph name="END_LINK" /></translation>
 <translation id="5336126339807372270">Zakázať všetkým webom prístup k zariadeniam USB</translation>
 <translation id="5337771866151525739">Nainštalované treťou stranou.</translation>
@@ -2976,6 +2981,7 @@
 <translation id="5487521232677179737">Vymazať údaje</translation>
 <translation id="5488093641312826914">Položka <ph name="COPIED_ITEM_NAME" /> bola skopírovaná</translation>
 <translation id="5488468185303821006">Povoliť v režime inkognito</translation>
+<translation id="5489121514345187313">Váš Chromebook funguje ešte lepšie s telefónom. <ph name="LINK_BEGIN" />Ďalšie informácie<ph name="LINK_END" /></translation>
 <translation id="5489435190927933437">Uložené heslá domény <ph name="DOMAIN" /></translation>
 <translation id="5491110079163012109">Odosielanie systémových údajov. Automaticky odosielajte Googlu diagnostiku a údaje o využívaní aplikácií. Používanie tohto nastavenia je vynútené vlastníkom. Vlastník môže odosielať Googlu diagnostiku a údaje o využívaní pre toto zariadenie. Môžete si to zobraziť v nastaveniach. Ak ste zapli ďalšiu aktivitu na internete a v aplikáciách, tieto informácie sa budú ukladať vo vašom účte a budete ich môcť spravovať na stránke Moja aktivita. <ph name="BEGIN_LINK1" />Ďalšie informácie<ph name="END_LINK1" /></translation>
 <translation id="5493792505296048976">obrazovka je zapnutá</translation>
@@ -3147,6 +3153,7 @@
 <translation id="5731409020711461763">1 nová fotka</translation>
 <translation id="5734362860645681824">Komunikácia</translation>
 <translation id="5736796278325406685">Zadajte platné používateľské meno</translation>
+<translation id="5739235828260127894">Čaká sa na overenie. <ph name="LINK_BEGIN" />Ďalšie informácie<ph name="LINK_END" /></translation>
 <translation id="5739458112391494395">Veľmi veľké</translation>
 <translation id="5740331643563157105"><ph name="LANGUAGE_1" />, <ph name="LANGUAGE_2" /> a ďalšie (<ph name="NUM_ADDITIONAL_LANGUAGES" />)</translation>
 <translation id="574209121243317957">Výška hlasu</translation>
@@ -3250,6 +3257,7 @@
 <translation id="5870086504539785141">Zavrieť ponuku zjednodušenia ovládania</translation>
 <translation id="5870155679953074650">Závažné chyby</translation>
 <translation id="5877064549588274448">Kanál sa zmenil. Ak chcete zmeny použiť, reštartujte zariadenie.</translation>
+<translation id="5877584842898320529">Vybraná tlačiareň nie je k dispozícii alebo nie je správne nainštalovaná. <ph name="BR" />Skontrolujte svoju tlačiareň alebo skúste vybrať inú.</translation>
 <translation id="5880247576487732437">Token je k dispozícii</translation>
 <translation id="5882919346125742463">Známe siete</translation>
 <translation id="5884474295213649357">Táto karta je pripojená k zariadeniu USB.</translation>
@@ -3316,9 +3324,12 @@
 <translation id="5979469435153841984">Stránky uložíte ako záložky kliknutím na hviezdičku v paneli s adresou</translation>
 <translation id="5982621672636444458">Usporiadať možnosti</translation>
 <translation id="5984222099446776634">Nedávno navštívené</translation>
+<translation id="5985458664595100876">Neplatný formát webovej adresy. Podporované formáty sú \\server\share a smb://server/share.</translation>
+<translation id="5990142338020175451">Viac osobných služieb Googlu, napríklad lepšie návrhy stránok</translation>
 <translation id="5990386583461751448">Preložené</translation>
 <translation id="5991049340509704927">Zväčšenie</translation>
 <translation id="599131315899248751">{NUM_APPLICATIONS,plural, =1{Ak chcete zaistiť, že aj naďalej budete môcť prehliadať internet, požiadajte správcu o odstránenie tejto aplikácie.}few{Ak chcete zaistiť, že aj naďalej budete môcť prehliadať internet, požiadajte správcu o odstránenie týchto aplikácií.}many{Ak chcete zaistiť, že aj naďalej budete môcť prehliadať internet, požiadajte správcu o odstránenie týchto aplikácií.}other{Ak chcete zaistiť, že aj naďalej budete môcť prehliadať internet, požiadajte správcu o odstránenie týchto aplikácií.}}</translation>
+<translation id="5997337190805127100">Ďalšie informácie o prístupe k webom</translation>
 <translation id="6002458620803359783">Preferované hlasy</translation>
 <translation id="6005695835120147974">Smerovač médií</translation>
 <translation id="6006484371116297560">Klasický</translation>
@@ -3342,6 +3353,7 @@
 <translation id="6026819612896463875"><ph name="WINDOW_TITLE" /> – Bolo pripojené zariadenie USB</translation>
 <translation id="6028117231645531007">Pridať odtlačok</translation>
 <translation id="6029027682598229313">Inštalácia systému Linux bola dokončená.</translation>
+<translation id="6029292188939175871">odstrániť [<ph name="FINGERPRINT_NAME" />], tlačidlo</translation>
 <translation id="6029587122245504742">Najpomalšia</translation>
 <translation id="6032912588568283682">Systém súborov</translation>
 <translation id="6034662038931255275">Operačný systém bol úspešne aktualizovaný</translation>
@@ -3455,7 +3467,6 @@
 <translation id="6185132558746749656">Poloha zariadenia</translation>
 <translation id="6185617499004995178">Nástroj na overenie CUPS IPP</translation>
 <translation id="6185696379715117369">Posunúť o stránku nahor</translation>
-<translation id="6189273858858366896">Nastaviť alebo spravovať zdieľanie súborov v sieti</translation>
 <translation id="6189412234224385711">Otvoriť pomocou rozšírenia <ph name="EXTENSION_NAME" /></translation>
 <translation id="6196640612572343990">Blokovať súbory cookie tretích strán</translation>
 <translation id="6196854373336333322">Toto rozšírenie „<ph name="EXTENSION_NAME" />“ prevzalo kontrolu nad vašimi nastaveniami servera proxy, čo znamená, že môže zmeniť, prerušiť alebo zachytiť všetku vašu činnosť online. Ak neviete, prečo k tomu došlo, pravdepodobne si to neželáte.</translation>
@@ -3761,6 +3772,7 @@
 <translation id="6643016212128521049">Vymazať</translation>
 <translation id="6644512095122093795">Ponúknuť uloženie hesiel</translation>
 <translation id="6644846457769259194">Zariadenie sa aktualizuje (<ph name="PROGRESS_PERCENT" />)</translation>
+<translation id="6645437135153136856">Vybrané zariadenie so službou Google Cloud Print už nie je podporované. <ph name="BR" /> Skúste túto tlačiareň nakonfigurovať v nastaveniach systému počítača.</translation>
 <translation id="6647228709620733774">Webová adresa pre odvolanie certifikačnej autority služby Netscape</translation>
 <translation id="6647838571840953560">Momentálne v kanáli <ph name="CHANNEL_NAME" /></translation>
 <translation id="6648051959475508072">Bezpečnostný kľúč bol aktivovaný…</translation>
@@ -3782,7 +3794,6 @@
 <translation id="667517062706956822">Chcete, aby Google preložil túto stránku z jazyka <ph name="SOURCE_LANGUAGE" /> do jazyka <ph name="TARGET_LANGUAGE" />?</translation>
 <translation id="6675665718701918026">Bolo pripojené ukazovacie zariadenie</translation>
 <translation id="6678717876183468697">Webová adresa dopytu</translation>
-<translation id="6680028776254050810">Prepnutie používateľov</translation>
 <translation id="6680442031740878064">K dispozícii: <ph name="AVAILABLE_SPACE" /></translation>
 <translation id="6680650203439190394">Ohodnotiť</translation>
 <translation id="6681668084120808868">Zaznamenať fotografiu</translation>
@@ -3791,7 +3802,6 @@
 <translation id="668599234725812620">Otvoriť Google Play</translation>
 <translation id="6686490380836145850">Zatvoriť karty vpravo</translation>
 <translation id="6686817083349815241">Uloženie hesla</translation>
-<translation id="6690565918367819723"><ph name="PROFILE_NAME" /> Prepnúť osobu</translation>
 <translation id="6690659332373509948">Nepodarilo sa analyzovať súbor: <ph name="FILE_NAME" /></translation>
 <translation id="6690751852586194791">Vyberte kontrolovaného používateľa na pridanie do tohto zariadenia.</translation>
 <translation id="6691331417640343772">Spravovať synchronizované dáta v službe Google Dashboard</translation>
@@ -4015,6 +4025,7 @@
 <translation id="7040230719604914234">Operátor</translation>
 <translation id="7042418530779813870">Prilepiť a &amp;hľadať</translation>
 <translation id="7043108582968290193">Hotovo. Nenašli sa žiadne nekompatibilné aplikácie.</translation>
+<translation id="7044124535091449260">Ďalšie informácie o prístupe k webom</translation>
 <translation id="7049293980323620022">Ponechať súbor?</translation>
 <translation id="7051943809462976355">Prebieha hľadanie myši...</translation>
 <translation id="7052237160939977163">Odosielať údaje sledovania výkonnosti</translation>
@@ -4127,6 +4138,7 @@
 <translation id="7201118060536064622">Položka <ph name="DELETED_ITEM_NAME" /> bola odstránená</translation>
 <translation id="7206693748120342859">Sťahovanie doplnku <ph name="PLUGIN_NAME" />...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Opustiť stránku}few{Opustiť stránky}many{Opustiť stránky}other{Opustiť stránky}}</translation>
+<translation id="7210499381659830293">Rozšírenia tlačiarní</translation>
 <translation id="721467499098558573">Pridržte tlačidlo na bezpečnostnom kľúči aspoň päť sekúnd</translation>
 <translation id="7216409898977639127">Poskytovateľ mobilného pripojenia</translation>
 <translation id="7216595297012131718">Zoraďte si jazyky podľa svojich požiadaviek</translation>
@@ -4205,6 +4217,7 @@
 <translation id="7321545336522791733">Server je nedostupný</translation>
 <translation id="7324297612904500502">Beta fórum</translation>
 <translation id="7325437708553334317">Rozšírenie Vysoký kontrast</translation>
+<translation id="7328162502911382168">(<ph name="COUNT" />)</translation>
 <translation id="7328867076235380839">Neplatná kombinácia</translation>
 <translation id="7329154610228416156">Prihlásenie zlyhalo, pretože bolo nakonfigurované tak, aby použilo nezabezpečenú webovú adresu (<ph name="BLOCKED_URL" />). Kontaktuje svojho správcu.</translation>
 <translation id="7334190995941642545">Funkcia Smart Lock nie je momentálne k dispozícii. Skúste to znova neskôr.</translation>
@@ -4796,6 +4809,7 @@
 <translation id="8199300056570174101">Vlastnosti siete (služba) a zariadenia</translation>
 <translation id="8200772114523450471">Pokračovať</translation>
 <translation id="8202160505685531999">Zadajte znova svoje heslo a aktualizujte tak profil zariadenia <ph name="DEVICE_TYPE" />.</translation>
+<translation id="8203732864715032075">Odosiela upozornenia a predvolene si zapamätá tento počítač pre Správy. <ph name="LINK_BEGIN" />Ďalšie informácie<ph name="LINK_END" /></translation>
 <translation id="8206354486702514201">Toto nastavenie je vynútené správcom.</translation>
 <translation id="8206745257863499010">Bluesový</translation>
 <translation id="8209677645716428427">Kontrolovaný používateľ môže preskúmať web pod vaším dohľadom. Ako správca kontrolovaného používateľa v prehliadači Chrome môžete:</translation>
@@ -5107,7 +5121,6 @@
 <translation id="869884720829132584">Ponuka Aplikácie</translation>
 <translation id="869891660844655955">Koniec platnosti</translation>
 <translation id="8699566574894671540">Ak chcete túto funkciu zapnúť, najprv v ponuke Upraviť vyberte možnosť Kontrolovať pravopis počas písania</translation>
-<translation id="870073306461175568">Zdieľanie súborov v sieti</translation>
 <translation id="8701677791353449257">Názov zariadenia musí zodpovedať regulárnemu výrazu <ph name="REGEX" />.</translation>
 <translation id="8704521619148782536">Táto akcia trvá dlhšie ako obvykle. Môžete počkať alebo ju zrušiť a skúsiť to znova neskôr.</translation>
 <translation id="8705331520020532516">Sériové číslo</translation>
@@ -5292,7 +5305,6 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> – Zlyhanie</translation>
 <translation id="8983677657449185470">Pomáhať s vylepšovaním Bezpečného prehliadania</translation>
 <translation id="8984179138335769204">Rýchle spustenie</translation>
-<translation id="8984654317541110628">Webová adresa zdieľaného úložiska</translation>
 <translation id="8986362086234534611">Odstrániť</translation>
 <translation id="8986494364107987395">Automaticky odosielať Googlu štatistiky používania a správy o zlyhaní</translation>
 <translation id="8987927404178983737">Mesiac</translation>
diff --git a/chrome/app/resources/generated_resources_sl.xtb b/chrome/app/resources/generated_resources_sl.xtb
index 5da1265..77402d8 100644
--- a/chrome/app/resources/generated_resources_sl.xtb
+++ b/chrome/app/resources/generated_resources_sl.xtb
@@ -275,6 +275,7 @@
 <translation id="1395730723686586365">Orodje za posodabljanje je zagnano</translation>
 <translation id="1396139853388185343">Napaka pri nastavljanju tiskalnika</translation>
 <translation id="1396963298126346194">Vneseno uporabniško ime in geslo se ne ujemata</translation>
+<translation id="1397500194120344683">Ni ustreznih naprav. <ph name="LINK_BEGIN" />Preberite več o tem.<ph name="LINK_END" /></translation>
 <translation id="1397854323885047133">Sinhronizacija in prilagajanje</translation>
 <translation id="1398853756734560583">Povečaj</translation>
 <translation id="1399511500114202393">Brez uporabniškega potrdila</translation>
@@ -375,7 +376,6 @@
 <translation id="1531004739673299060">Okno aplikacije</translation>
 <translation id="15373452373711364">Velik miškin kazalec</translation>
 <translation id="1538729222189715449">Odpiranje datotek za Linux ...</translation>
-<translation id="153933193410874873">V tej napravi ni bilo mogoče preveriti vaše identitete</translation>
 <translation id="1540605929960647700">Omogočanje predstavitvenega načina</translation>
 <translation id="1543284117603151572">Uvoženo iz brskalnika Edge</translation>
 <translation id="1545177026077493356">Samodejni način kiosk</translation>
@@ -529,6 +529,7 @@
 <translation id="175772926354468439">Omogoči temo</translation>
 <translation id="1758018619400202187">EAP-TLS</translation>
 <translation id="17584710573359123">Prikaži v Spletni trgovini Chrome</translation>
+<translation id="176193854664720708">Tipalo prstnih odtisov je v gumbu za vklop. Rahlo se ga dotaknite s poljubnim prstom.</translation>
 <translation id="1763046204212875858">Ustvari bližnjice do &amp;programov ...</translation>
 <translation id="1763108912552529023">Nadaljujte raziskovanje</translation>
 <translation id="1763808908432309942">Odpre se na novem zavihku</translation>
@@ -682,7 +683,6 @@
 <translation id="1981115145845865539">Samodejno odklepanje naprave <ph name="DEVICE_TYPE" /></translation>
 <translation id="1983959805486816857">Ko ustvarite novega zaščitenega uporabnika, lahko na naslovu <ph name="MANAGEMENT_URL" /> kadar koli in iz poljubne naprave upravljate njegove nastavitve.</translation>
 <translation id="1984642098429648350">Zasidraj okno desno</translation>
-<translation id="1987139229093034863">Preklopite na drugega uporabnika.</translation>
 <translation id="1987317783729300807">Računi</translation>
 <translation id="1989112275319619282">Brskanje</translation>
 <translation id="1992397118740194946">Ni nastavljeno</translation>
@@ -823,6 +823,7 @@
 <translation id="2208158072373999562">Arhiv zip</translation>
 <translation id="220858061631308971">Vnesite PIN za napravo »<ph name="DEVICE_NAME" />«:</translation>
 <translation id="2209593327042758816">Element na polici 2</translation>
+<translation id="2212126039311489237">Tiskanje iz sistemskega pogovornega okna</translation>
 <translation id="2217501013957346740">Ustvarite ime –</translation>
 <translation id="2218019600945559112">Miška in sledilna ploščica</translation>
 <translation id="2218320521449013367">Medtem ko je Chrome odstranjeval škodljivo programsko opremo, je prišlo do napake</translation>
@@ -935,6 +936,7 @@
 <translation id="2378075407703503998">Št. izbranih datotek: <ph name="SELCTED_FILE_COUNT" /></translation>
 <translation id="237828693408258535">Želite prevod te strani?</translation>
 <translation id="2378982052244864789">Izberite imenik z razširitvami.</translation>
+<translation id="2379281330731083556">Tiskanje v pogovornem oknu sistema ... <ph name="SHORTCUT_KEY" /></translation>
 <translation id="2381756643783702095">Vprašaj pred pošiljanjem (priporočljivo)</translation>
 <translation id="2384436799579181135">Prišlo je do napake. Preverite tiskalnik in poskusite znova.</translation>
 <translation id="2387458720915042159">Vrsta povezave strežnika proxy</translation>
@@ -1114,6 +1116,7 @@
 <translation id="2653659639078652383">Pošlji</translation>
 <translation id="265390580714150011">Vrednost polja</translation>
 <translation id="2654166010170466751">Spletnim mestom dovoli namestitev rutin za obravnavo plačil</translation>
+<translation id="2656742821229528729">Povežite telefon Android in Chromebook, tako da boste lahko pošiljali sporočila SMS iz računalnika, delili internetno povezavo in odklepali Chromebook s telefonom.<ph name="FOOTNOTE_POINTER" /> <ph name="LINK_BEGIN" />Več o tem<ph name="LINK_END" /></translation>
 <translation id="2659381484350128933"><ph name="FOOTNOTE_POINTER" />Funkcije se razlikujejo glede na napravo</translation>
 <translation id="2660779039299703961">Dogodek</translation>
 <translation id="266079277508604648">Ni se mogoče povezati s tiskalnikom. Preverite, ali je tiskalnik vklopljen in povezan s Chromebookom prek omrežja Wi-Fi ali z USB-jem.</translation>
@@ -1418,6 +1421,7 @@
 <translation id="3115128645424181617">Telefona ni mogoče najti. Imeti ga morate pri roki in vklopiti morate Bluetooth.</translation>
 <translation id="3115147772012638511">Čakam predpomnilnik ...</translation>
 <translation id="3118319026408854581">Pomoč za <ph name="PRODUCT_NAME" /> </translation>
+<translation id="3119484583572640616">Če vklopite funkcijo Better Together, ji omogočite to:</translation>
 <translation id="3120430004221004537">Nezadostno šifriranje za dano dejanje v tej napravi: »<ph name="DEVICE_NAME" />«.</translation>
 <translation id="3121793941267913344">Ponastavitev te naprave <ph name="IDS_SHORT_PRODUCT_NAME" /></translation>
 <translation id="3122464029669770682">CPE</translation>
@@ -1732,6 +1736,7 @@
 <translation id="3596235046596950091">Omogočanje storitev v oblaku</translation>
 <translation id="3599863153486145794">Izbriše zgodovino iz vseh naprav, v katerih ste prijavljeni. V Google Računu so morda druge vrste zgodovine brskanja na <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
 <translation id="3600792891314830896">Izklop zvoka na spletnih mestih, ki predvajajo zvok</translation>
+<translation id="360180734785106144">Ponujanje novih funkcij, ko so na voljo</translation>
 <translation id="3602290021589620013">Predogled</translation>
 <translation id="3603533104205588786">Če želite dodati stran med zaznamke, lahko kliknete zvezdico</translation>
 <translation id="3603622770190368340">Prejemanje omrežnega potrdila</translation>
@@ -2067,7 +2072,6 @@
 <translation id="4068506536726151626">Na tej strani so elementi iz teh spletnih mest, ki sledijo vaši lokaciji:</translation>
 <translation id="4068776064906523561">Shranjeni prstni odtisi</translation>
 <translation id="407173827865827707">Ob kliku</translation>
-<translation id="4071770069230198275"><ph name="PROFILE_NAME" />: napaka pri prijavi</translation>
 <translation id="4074900173531346617">Potrdilo podpisnika e-pošte</translation>
 <translation id="407520071244661467">Prilagajanje velikosti</translation>
 <translation id="4075639477629295004">Ni mogoče predvajati <ph name="FILE_NAME" />.</translation>
@@ -2869,6 +2873,7 @@
 <translation id="5332624210073556029">Časovni pas:</translation>
 <translation id="5334142896108694079">Predpomnilnik za skripte</translation>
 <translation id="5334844597069022743">Ogled izvorne kode</translation>
+<translation id="5334899159203764908">Preberite več o <ph name="BEGIN_LINK" />dostopu do spletnih mest<ph name="END_LINK" /></translation>
 <translation id="5335458522276292100">Varnostno kopiranje v <ph name="BEGIN_LINK" />Google Drive<ph name="END_LINK" />: <ph name="FILE_COUNT" /></translation>
 <translation id="5336126339807372270">Spletnim mestom ne dovoli dostopa do naprav USB</translation>
 <translation id="5337771866151525739">Namestil jo je drug ponudnik.</translation>
@@ -2976,6 +2981,7 @@
 <translation id="5487521232677179737">Izbriši podatke</translation>
 <translation id="5488093641312826914">Element »<ph name="COPIED_ITEM_NAME" />« je kopiran</translation>
 <translation id="5488468185303821006">Omogoči v načinu brez beleženja zgodovine</translation>
+<translation id="5489121514345187313">Chromebook deluje še bolje s telefonom. <ph name="LINK_BEGIN" />Več o tem<ph name="LINK_END" /></translation>
 <translation id="5489435190927933437">Shranjena gesla za <ph name="DOMAIN" /></translation>
 <translation id="5491110079163012109">Pošiljanje podatkov o sistemu. Samodejno pošiljanje diagnostičnih podatkov ter podatkov o uporabi naprav in aplikacij Googlu. To nastavitev je uveljavil lastnik. Lastnik se morda odloči Googlu poslati diagnostične podatke in podatke o uporabi za to napravo. To si je mogoče ogledati v nastavitvah. Če ste vklopili dodatno dejavnost v spletu in aplikacijah, bodo ti podatki shranjeni v računu, tako da jih lahko upravljate v Moji dejavnosti. <ph name="BEGIN_LINK1" />Več o tem<ph name="END_LINK1" /></translation>
 <translation id="5493792505296048976">zaslon je vklopljen</translation>
@@ -3148,6 +3154,7 @@
 <translation id="5731409020711461763">1 nova fotografija</translation>
 <translation id="5734362860645681824">Komunikacije</translation>
 <translation id="5736796278325406685">Vnesite veljavno uporabniško ime</translation>
+<translation id="5739235828260127894">Čakanje na potrditev. <ph name="LINK_BEGIN" />Več o tem<ph name="LINK_END" /></translation>
 <translation id="5739458112391494395">Zelo velika</translation>
 <translation id="5740331643563157105"><ph name="LANGUAGE_1" />, <ph name="LANGUAGE_2" /> in toliko drugih jezikov: <ph name="NUM_ADDITIONAL_LANGUAGES" /></translation>
 <translation id="574209121243317957">Višina tona</translation>
@@ -3251,6 +3258,7 @@
 <translation id="5870086504539785141">Zapiranje menija s funkcijami za ljudi s posebnimi potrebami</translation>
 <translation id="5870155679953074650">Težke napake</translation>
 <translation id="5877064549588274448">Kanal spremenjen. Znova zaženite napravo, da uveljavite spremembe.</translation>
+<translation id="5877584842898320529">Izbrani tiskalnik ni na voljo ali ni pravilno nameščen. <ph name="BR" /> Preverite tiskalnik ali izberite drugega.</translation>
 <translation id="5880247576487732437">Žeton je na voljo</translation>
 <translation id="5882919346125742463">Znana omrežja</translation>
 <translation id="5884474295213649357">Ta zavihek je povezan z napravo USB.</translation>
@@ -3317,6 +3325,7 @@
 <translation id="5979469435153841984">Če želite strani dodati med zaznamke, kliknite zvezdico v naslovni vrstici</translation>
 <translation id="5982621672636444458">Možnosti razvrščanja</translation>
 <translation id="5984222099446776634">Nedavno obiskano</translation>
+<translation id="5985458664595100876">Neveljavna oblika URL-ja. Podprti obliki sta \\server\share in smb://server/share.</translation>
 <translation id="5990142338020175451">Bolj osebne Googlove storitve, kot so boljši predlogi strani</translation>
 <translation id="5990386583461751448">Prevedeno</translation>
 <translation id="5991049340509704927">Povečava</translation>
@@ -3345,6 +3354,7 @@
 <translation id="6026819612896463875"><ph name="WINDOW_TITLE" /> – naprava USB povezana</translation>
 <translation id="6028117231645531007">Dodaj prstni odtis</translation>
 <translation id="6029027682598229313">Namestitev Linuxa je dokončana.</translation>
+<translation id="6029292188939175871">izbriši [<ph name="FINGERPRINT_NAME" />], gumb</translation>
 <translation id="6029587122245504742">Najpočasnejša</translation>
 <translation id="6032912588568283682">Datotečni sistem</translation>
 <translation id="6034662038931255275">Posodobitev operacijskega sistema je uspela</translation>
@@ -3458,7 +3468,6 @@
 <translation id="6185132558746749656">Lokacija naprave</translation>
 <translation id="6185617499004995178">Orodje CUPS IPP Validator</translation>
 <translation id="6185696379715117369">Stran gor</translation>
-<translation id="6189273858858366896">Nastavitev ali upravljanje omrežnih naprav za skupno rabo datotek.</translation>
 <translation id="6189412234224385711">Odpiranje z: <ph name="EXTENSION_NAME" /></translation>
 <translation id="6196640612572343990">Blokiraj piškotke drugih spletnih mest</translation>
 <translation id="6196854373336333322">Razširitev »<ph name="EXTENSION_NAME" />« je prevzela nadzor nad nastavitvami strežnika proxy, kar pomeni, da lahko spremeni, prekine ali nadzoruje vse, kar počnete v spletu. Če ne veste, zakaj je prišlo do te spremembe, je verjetno nezaželena.</translation>
@@ -3763,6 +3772,7 @@
 <translation id="6643016212128521049">Počisti</translation>
 <translation id="6644512095122093795">Ponudi shranjevanje gesel</translation>
 <translation id="6644846457769259194">Posodabljanje naprave (<ph name="PROGRESS_PERCENT" />)</translation>
+<translation id="6645437135153136856">Izbrana naprava za Google Tiskanje v oblaku ni več podprta. <ph name="BR" /> Poskusite nastaviti tiskalnik v sistemskih nastavitvah računalnika.</translation>
 <translation id="6647228709620733774">Spletni naslov preklica overitelja Netscapeovega potrdila</translation>
 <translation id="6647838571840953560">Trenutno uporablja kanal: <ph name="CHANNEL_NAME" /></translation>
 <translation id="6648051959475508072">Varnostni ključ je aktiviran ...</translation>
@@ -3784,7 +3794,6 @@
 <translation id="667517062706956822">Ali želite, da Google prevede to stran iz jezika <ph name="SOURCE_LANGUAGE" /> v jezik <ph name="TARGET_LANGUAGE" />?</translation>
 <translation id="6675665718701918026">Priključena je kazalna naprava</translation>
 <translation id="6678717876183468697">URL poizvedbe</translation>
-<translation id="6680028776254050810">Preklopi med uporabniki</translation>
 <translation id="6680442031740878064">Na voljo: <ph name="AVAILABLE_SPACE" /></translation>
 <translation id="6680650203439190394">Hitrost</translation>
 <translation id="6681668084120808868">Posnemi fotografijo</translation>
@@ -3793,7 +3802,6 @@
 <translation id="668599234725812620">Odpiranje Googla Play</translation>
 <translation id="6686490380836145850">Zapri zavihke na desni</translation>
 <translation id="6686817083349815241">Shranite geslo</translation>
-<translation id="6690565918367819723"><ph name="PROFILE_NAME" /> Preklop osebe</translation>
 <translation id="6690659332373509948">Ni mogoče razčleniti datoteke: <ph name="FILE_NAME" /></translation>
 <translation id="6690751852586194791">Izberite zaščitenega uporabnika, ki ga želite dodati tej napravi.</translation>
 <translation id="6691331417640343772">Upravljanje sinhroniziranih podatkov na Google Nadzorni plošči</translation>
@@ -4130,6 +4138,7 @@
 <translation id="7201118060536064622">Element »<ph name="DELETED_ITEM_NAME" />« je izbrisan</translation>
 <translation id="7206693748120342859">Prenos vtičnika <ph name="PLUGIN_NAME" /> ...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Izhodna stran}one{Izhodne strani}two{Izhodne strani}few{Izhodne strani}other{Izhodne strani}}</translation>
+<translation id="7210499381659830293">Tiskalniki razširitev</translation>
 <translation id="721467499098558573">Pritisnite in vsaj 5 sekund pridržite gumb na varnostnem ključu</translation>
 <translation id="7216409898977639127">Ponudnik mobilnih storitev</translation>
 <translation id="7216595297012131718">Razvrstite jezike v želeni vrstni red</translation>
@@ -4208,6 +4217,7 @@
 <translation id="7321545336522791733">Strežnik ni dosegljiv</translation>
 <translation id="7324297612904500502">Forum za beto</translation>
 <translation id="7325437708553334317">Visokokontrastna razširitev</translation>
+<translation id="7328162502911382168">(<ph name="COUNT" />)</translation>
 <translation id="7328867076235380839">Neveljavna kombinacija</translation>
 <translation id="7329154610228416156">Prijava ni uspela, ker je konfigurirana za uporabo URL-ja, ki ni varen (<ph name="BLOCKED_URL" />). Obrnite se na skrbnika.</translation>
 <translation id="7334190995941642545">Funkcija Smart Lock trenutno ni na voljo. Poskusite znova pozneje.</translation>
@@ -4799,6 +4809,7 @@
 <translation id="8199300056570174101">Nastavitve omrežja (storitve) in naprav</translation>
 <translation id="8200772114523450471">Nadaljuj</translation>
 <translation id="8202160505685531999">Znova vnesite geslo, če želite posodobiti profil v napravi <ph name="DEVICE_TYPE" />.</translation>
+<translation id="8203732864715032075">Pošlje vam obvestila in si privzeto zapomni ta računalnik za Sporočila. <ph name="LINK_BEGIN" />Več o tem<ph name="LINK_END" /></translation>
 <translation id="8206354486702514201">To nastavitev je uveljavil skrbnik.</translation>
 <translation id="8206745257863499010">Glasbenik</translation>
 <translation id="8209677645716428427">Zaščiteni uporabnik lahko prek vašega vodenja raziskuje splet. Kot upravitelj zaščitenega uporabnika v Chromu imate te možnosti:</translation>
@@ -5110,7 +5121,6 @@
 <translation id="869884720829132584">Meni programov</translation>
 <translation id="869891660844655955">Datum izteka</translation>
 <translation id="8699566574894671540">Če želite to vklopiti, v meniju za urejanje najprej izberite »Check Spelling While Typing« (Preverjaj črkovanje med vnašanjem)</translation>
-<translation id="870073306461175568">Omrežne naprave za skupno rabo datotek</translation>
 <translation id="8701677791353449257">Ime naprave se mora ujemati z regularnim izrazom <ph name="REGEX" />.</translation>
 <translation id="8704521619148782536">Postopek traja veliko dlje kot običajno. Počakajte ali prekličete in poskusite znova pozneje.</translation>
 <translation id="8705331520020532516">Serijska številka</translation>
@@ -5295,7 +5305,6 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> – zrušitev</translation>
 <translation id="8983677657449185470">Pomagajte izboljšati Varno brskanje</translation>
 <translation id="8984179138335769204">Hitri zagon</translation>
-<translation id="8984654317541110628">URL datotečnega sredstva v skupni rabi</translation>
 <translation id="8986362086234534611">Pozabi</translation>
 <translation id="8986494364107987395">Samodejno pošlji statistične podatke o uporabi in poročila o zrušitvah Googlu</translation>
 <translation id="8987927404178983737">Mesec</translation>
diff --git a/chrome/app/resources/generated_resources_sr.xtb b/chrome/app/resources/generated_resources_sr.xtb
index e362354..f46861f 100644
--- a/chrome/app/resources/generated_resources_sr.xtb
+++ b/chrome/app/resources/generated_resources_sr.xtb
@@ -275,6 +275,7 @@
 <translation id="1395730723686586365">Програм за ажурирање је покренут</translation>
 <translation id="1396139853388185343">Дошло је до грешке при подешавању штампача</translation>
 <translation id="1396963298126346194">Корисничко име и лозинка које сте унели се не подударају</translation>
+<translation id="1397500194120344683">Нема уређаја који испуњавају услове. <ph name="LINK_BEGIN" />Сазнајте више<ph name="LINK_END" /></translation>
 <translation id="1397854323885047133">Синхронизација и персонализација</translation>
 <translation id="1398853756734560583">Увећај</translation>
 <translation id="1399511500114202393">Нема корисничког сертификата</translation>
@@ -372,7 +373,6 @@
 <translation id="1531004739673299060">Прозор за апликацију</translation>
 <translation id="15373452373711364">Велики курсор</translation>
 <translation id="1538729222189715449">Отварају се Linux датотеке…</translation>
-<translation id="153933193410874873">Потврда идентитета на овом уређају није успела</translation>
 <translation id="1540605929960647700">Омогућите режим демонстрације</translation>
 <translation id="1543284117603151572">Увезени из Edge-а</translation>
 <translation id="1545177026077493356">Аутоматски режим киоска</translation>
@@ -526,6 +526,7 @@
 <translation id="175772926354468439">Омогући тему</translation>
 <translation id="1758018619400202187">EAP-TLS</translation>
 <translation id="17584710573359123">Прикажи у Chrome веб-продавници</translation>
+<translation id="176193854664720708">Сензор за отисак прста је у дугмету за напајање. Лагано га додирните било којим прстом.</translation>
 <translation id="1763046204212875858">Направите пречице за апликације</translation>
 <translation id="1763108912552529023">Настави са истраживањем</translation>
 <translation id="1763808908432309942">Отвара се на новој картици</translation>
@@ -679,7 +680,6 @@
 <translation id="1981115145845865539">Аутоматски откључајте <ph name="DEVICE_TYPE" /></translation>
 <translation id="1983959805486816857">Када направите новог корисника под надзором, можете да управљате подешавањима у било ком тренутку са било ког уређаја на <ph name="MANAGEMENT_URL" />.</translation>
 <translation id="1984642098429648350">Спајање прозора са десне стране</translation>
-<translation id="1987139229093034863">Прелазак на другог корисника.</translation>
 <translation id="1987317783729300807">Налози</translation>
 <translation id="1989112275319619282">Прегледај</translation>
 <translation id="1992397118740194946">Није подешено</translation>
@@ -820,6 +820,7 @@
 <translation id="2208158072373999562">Zip архива</translation>
 <translation id="220858061631308971">Унесите овај PIN кôд на уређају „<ph name="DEVICE_NAME" />“:</translation>
 <translation id="2209593327042758816">2. ставка на полици</translation>
+<translation id="2212126039311489237">Штампајте помоћу системског дијалога</translation>
 <translation id="2217501013957346740">Направите име –</translation>
 <translation id="2218019600945559112">Миш и тачпед</translation>
 <translation id="2218320521449013367">Дошло је до грешке док је Chrome уклањао штетан софтвер</translation>
@@ -932,6 +933,7 @@
 <translation id="2378075407703503998">Изабраних датотека: <ph name="SELCTED_FILE_COUNT" /></translation>
 <translation id="237828693408258535">Желите ли да преведете ову страницу?</translation>
 <translation id="2378982052244864789">Избор директоријума додатка.</translation>
+<translation id="2379281330731083556">Штампај помоћу системског дијалога... <ph name="SHORTCUT_KEY" /></translation>
 <translation id="2381756643783702095">Питај пре слања (препоручује се)</translation>
 <translation id="2384436799579181135">Дошло је до грешке. Проверите штампач и пробајте поново.</translation>
 <translation id="2387458720915042159">Тип везе са проксијем</translation>
@@ -1110,6 +1112,7 @@
 <translation id="2653659639078652383">Пошаљи</translation>
 <translation id="265390580714150011">Вредност поља</translation>
 <translation id="2654166010170466751">Дозволи сајтовима да инсталирају обрађиваче плаћања</translation>
+<translation id="2656742821229528729">Повежите Android телефон и Chromebook да бисте могли да шаљете SMS-ове помоћу рачунара, делите интернет везу телефона и откључавате Chromebook помоћу телефона.<ph name="FOOTNOTE_POINTER" /> <ph name="LINK_BEGIN" />Сазнајте више<ph name="LINK_END" /></translation>
 <translation id="2659381484350128933"><ph name="FOOTNOTE_POINTER" />Функције се разликују у зависности од уређаја</translation>
 <translation id="2660779039299703961">Догађај</translation>
 <translation id="266079277508604648">Повезивање са штампачем није успело. Проверите да ли је штампач укључен и повезан са Chromebook-ом помоћу Wi-Fi-ја или USB-а.</translation>
@@ -1414,6 +1417,7 @@
 <translation id="3115128645424181617">Не можемо да пронађемо телефон. Проверите да ли је у близини и да ли је Bluetooth укључен.</translation>
 <translation id="3115147772012638511">Чека се кеш меморија...</translation>
 <translation id="3118319026408854581"><ph name="PRODUCT_NAME" /> – помоћ</translation>
+<translation id="3119484583572640616">Када укључите функцију Better Together, она ће моћи:</translation>
 <translation id="3120430004221004537">Недовољно шифровање за дату операцију на: „<ph name="DEVICE_NAME" />“.</translation>
 <translation id="3121793941267913344">Ресетовање овог <ph name="IDS_SHORT_PRODUCT_NAME" /> уређаја</translation>
 <translation id="3122464029669770682">CPU</translation>
@@ -1720,7 +1724,7 @@
 <translation id="358796204584394954">Унесите овај кôд на „<ph name="DEVICE_NAME" />“ да бисте обавили упаривање:</translation>
 <translation id="3589766037099229847">Небезбедан садржај је блокиран</translation>
 <translation id="3590194807845837023">Откључај профил и поново покрени</translation>
-<translation id="3590295622232282437">Приступа се сесији којом се управља.</translation>
+<translation id="3590295622232282437">Приступа се управљаној сесији.</translation>
 <translation id="3592260987370335752">&amp;Сазнајте више</translation>
 <translation id="359283478042092570">Унеси</translation>
 <translation id="3593965109698325041">Ограничења назива сертификата </translation>
@@ -1728,6 +1732,7 @@
 <translation id="3596235046596950091">Омогући клауд услуге</translation>
 <translation id="3599863153486145794">Брише историју са свих уређаја на којима сте пријављени. Google налог може да има друге облике историје прегледања на <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
 <translation id="3600792891314830896">Искључи звук сајтова који пуштају звук</translation>
+<translation id="360180734785106144">да нуди нове функције када постану доступне</translation>
 <translation id="3602290021589620013">Преглед</translation>
 <translation id="3603533104205588786">Можете да обележите страницу кликом на звездицу</translation>
 <translation id="3603622770190368340">Добијање сертификата мреже</translation>
@@ -2063,7 +2068,6 @@
 <translation id="4068506536726151626">Ова страница садржи елементе са следећих сајтова који прате локацију на којој се налазите:</translation>
 <translation id="4068776064906523561">Сачувани отисци прстију</translation>
 <translation id="407173827865827707">При клику</translation>
-<translation id="4071770069230198275"><ph name="PROFILE_NAME" />: грешка при пријављивању</translation>
 <translation id="4074900173531346617">Сертификат потписника е-поште</translation>
 <translation id="407520071244661467">Размера</translation>
 <translation id="4075639477629295004">Није успело пребацивање за <ph name="FILE_NAME" />.</translation>
@@ -2865,6 +2869,7 @@
 <translation id="5332624210073556029">Временска зона:</translation>
 <translation id="5334142896108694079">Кеш скрипте</translation>
 <translation id="5334844597069022743">Приказ извора</translation>
+<translation id="5334899159203764908">Сазнајте више о <ph name="BEGIN_LINK" />приступу сајтовима<ph name="END_LINK" /></translation>
 <translation id="5335458522276292100">Праве се резервне копије (<ph name="FILE_COUNT" />) на <ph name="BEGIN_LINK" />Google диску<ph name="END_LINK" /></translation>
 <translation id="5336126339807372270">Не дозвољавај сајтовима да приступају USB уређајима</translation>
 <translation id="5337771866151525739">Инсталирала трећа страна.</translation>
@@ -2972,6 +2977,7 @@
 <translation id="5487521232677179737">Обриши податке</translation>
 <translation id="5488093641312826914">Ставка „<ph name="COPIED_ITEM_NAME" />“ је копирана</translation>
 <translation id="5488468185303821006">Омогући у режиму без архивирања</translation>
+<translation id="5489121514345187313">Chromebook ради још боље са телефоном. <ph name="LINK_BEGIN" />Сазнајте више<ph name="LINK_END" /></translation>
 <translation id="5489435190927933437">Сачуване лозинке за <ph name="DOMAIN" /></translation>
 <translation id="5491110079163012109">Шаљите податке о систему. Аутоматски шаљите Google-у дијагностичке податке, као и податке о коришћењу уређаја и апликација. Ово подешавање примењује власник. Он може одабрати да шаље Google-у дијагностичке податке и податке о коришћењу за овај уређај. Ово можете да видите у подешавањима. Ако сте укључили додатне Активности на вебу и у апликацијама, ове информације ће се сачувати на вашем налогу, па можете да управљате њима у одељку Моје активности. <ph name="BEGIN_LINK1" />Сазнајте више<ph name="END_LINK1" /></translation>
 <translation id="5493792505296048976">екран је укључен</translation>
@@ -3145,6 +3151,7 @@
 <translation id="5731409020711461763">1 нова слика</translation>
 <translation id="5734362860645681824">Комуникације</translation>
 <translation id="5736796278325406685">Унесите важеће корисничко име</translation>
+<translation id="5739235828260127894">Чека се верификација. <ph name="LINK_BEGIN" />Сазнајте више<ph name="LINK_END" /></translation>
 <translation id="5739458112391494395">Јако велики</translation>
 <translation id="5740331643563157105"><ph name="LANGUAGE_1" />, <ph name="LANGUAGE_2" /> и још <ph name="NUM_ADDITIONAL_LANGUAGES" /></translation>
 <translation id="574209121243317957">Ниво</translation>
@@ -3248,6 +3255,7 @@
 <translation id="5870086504539785141">Затвори мени приступачности</translation>
 <translation id="5870155679953074650">Грешке у вези са хард-диском</translation>
 <translation id="5877064549588274448">Канал је промењен. Покрените поново уређај да бисте применили промене.</translation>
+<translation id="5877584842898320529">Изабрани штампач није доступан или није правилно инсталиран. <ph name="BR" /> Проверите штампач или изаберите неки други.</translation>
 <translation id="5880247576487732437">Токен је присутан</translation>
 <translation id="5882919346125742463">Познате мреже</translation>
 <translation id="5884474295213649357">Ова картица је повезана са USB уређајем.</translation>
@@ -3314,6 +3322,7 @@
 <translation id="5979469435153841984">Да бисте обележили страницу, кликните на звездицу у траци за адресу.</translation>
 <translation id="5982621672636444458">Опције сортирања</translation>
 <translation id="5984222099446776634">Недавно посећено</translation>
+<translation id="5985458664595100876">Неважећи формат URL-а. Подржани формати су \\server\share и smb://server/share.</translation>
 <translation id="5990142338020175451">Персонализованије Google услуге, попут бољих предлога страница</translation>
 <translation id="5990386583461751448">Преведено</translation>
 <translation id="5991049340509704927">Увећање приказа</translation>
@@ -3342,6 +3351,7 @@
 <translation id="6026819612896463875"><ph name="WINDOW_TITLE" /> – USB уређај је повезан</translation>
 <translation id="6028117231645531007">Додај отисак прста</translation>
 <translation id="6029027682598229313">Инсталација Linux-а је завршена.</translation>
+<translation id="6029292188939175871">избришите [<ph name="FINGERPRINT_NAME" />], дугме</translation>
 <translation id="6029587122245504742">Најспорије</translation>
 <translation id="6032912588568283682">Систем датотека</translation>
 <translation id="6034662038931255275">ОС је ажуриран</translation>
@@ -3455,7 +3465,6 @@
 <translation id="6185132558746749656">Локација уређаја</translation>
 <translation id="6185617499004995178">CUPS IPP валидатор</translation>
 <translation id="6185696379715117369">Страница нагоре</translation>
-<translation id="6189273858858366896">Подесите дељења датотека на мрежи или управљајте њима.</translation>
 <translation id="6189412234224385711">Отвори помоћу додатка <ph name="EXTENSION_NAME" /></translation>
 <translation id="6196640612572343990">Блокирај колачиће треће стране</translation>
 <translation id="6196854373336333322">Додатак „<ph name="EXTENSION_NAME" />“ је преузео контролу над подешавањима проксија, што значи да може да мења, прекида или шпијунира све што радите онлајн. Ако нисте сигурни зашто је дошло до ове промене, вероватно вам није потребна.</translation>
@@ -3760,6 +3769,7 @@
 <translation id="6643016212128521049">Обриши</translation>
 <translation id="6644512095122093795">Понуди да сачуваш лозинке</translation>
 <translation id="6644846457769259194">Ажурирање уређаја (<ph name="PROGRESS_PERCENT" />)</translation>
+<translation id="6645437135153136856">Изабрани уређај за Google Cloud штампање више није подржан. <ph name="BR" /> Пробајте да подесите штампач у подешавањима система за рачунар.</translation>
 <translation id="6647228709620733774">URL адреса за опозив ауторитета за издавање Netscape сертификата</translation>
 <translation id="6647838571840953560">Тренутно на <ph name="CHANNEL_NAME" /></translation>
 <translation id="6648051959475508072">Безбедносни кључ је активиран...</translation>
@@ -3781,7 +3791,6 @@
 <translation id="667517062706956822">Желите ли да Google преведе ову страницу са језика <ph name="SOURCE_LANGUAGE" /> на <ph name="TARGET_LANGUAGE" />?</translation>
 <translation id="6675665718701918026">Показивачки уређај је повезан</translation>
 <translation id="6678717876183468697">URL упита</translation>
-<translation id="6680028776254050810">Промена корисника</translation>
 <translation id="6680442031740878064">Доступно: <ph name="AVAILABLE_SPACE" /></translation>
 <translation id="6680650203439190394">Оцените</translation>
 <translation id="6681668084120808868">Снимите фотографију</translation>
@@ -3790,7 +3799,6 @@
 <translation id="668599234725812620">Отвори Google Play</translation>
 <translation id="6686490380836145850">Затвори картице са десне стране</translation>
 <translation id="6686817083349815241">Сачувајте лозинку</translation>
-<translation id="6690565918367819723"><ph name="PROFILE_NAME" /> Други корисник</translation>
 <translation id="6690659332373509948">Није могуће рашчланити датотеку: <ph name="FILE_NAME" /></translation>
 <translation id="6690751852586194791">Изаберите корисника под надзором кога ћете додати на овај уређај.</translation>
 <translation id="6691331417640343772">Управљајте синхронизованим подацима на Google контролној табли</translation>
@@ -4127,6 +4135,7 @@
 <translation id="7201118060536064622">Ставка „<ph name="DELETED_ITEM_NAME" />“ је избрисана</translation>
 <translation id="7206693748120342859">Преузимање додатне компоненте <ph name="PLUGIN_NAME" />...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Затвори страницу}one{Затвори странице}few{Затвори странице}other{Затвори странице}}</translation>
+<translation id="7210499381659830293">Штампачи проширења</translation>
 <translation id="721467499098558573">Притисните и задржите тастер на безбедносном кључу најмање 5 секунди</translation>
 <translation id="7216409898977639127">Мобилни оператер</translation>
 <translation id="7216595297012131718">Распоредите језике по жељи</translation>
@@ -4205,6 +4214,7 @@
 <translation id="7321545336522791733">Сервер није доступан</translation>
 <translation id="7324297612904500502">Форум за бета верзију</translation>
 <translation id="7325437708553334317">Додатак за високи контраст</translation>
+<translation id="7328162502911382168">(<ph name="COUNT" />)</translation>
 <translation id="7328867076235380839">Неважећа комбинација</translation>
 <translation id="7329154610228416156">Пријављивање није успело јер је конфигурисано за коришћење небезбедног URL-а (<ph name="BLOCKED_URL" />). Контактирајте администратора.</translation>
 <translation id="7334190995941642545">Smart Lock тренутно није доступан. Пробајте поново касније.</translation>
@@ -4796,6 +4806,7 @@
 <translation id="8199300056570174101">Својства мреже (услуга) и уређаја</translation>
 <translation id="8200772114523450471">Настави</translation>
 <translation id="8202160505685531999">Унесите поново лозинку да бисте ажурирали профил за <ph name="DEVICE_TYPE" />.</translation>
+<translation id="8203732864715032075">Шаље вам обавештења и подразумевано је подешавање за памћење SMS-ова на овом рачунару. <ph name="LINK_BEGIN" />Сазнајте више<ph name="LINK_END" /></translation>
 <translation id="8206354486702514201">Ово подешавање примењује администратор.</translation>
 <translation id="8206745257863499010">Блузи</translation>
 <translation id="8209677645716428427">Корисник под надзором може да истражује веб под вашом контролом. Као менаџер корисника под надзором у Chrome-у, можете:</translation>
@@ -5107,7 +5118,6 @@
 <translation id="869884720829132584">Мени апликација</translation>
 <translation id="869891660844655955">Датум истека</translation>
 <translation id="8699566574894671540">Да бисте укључили ово, прво изаберите Check Spelling While Typing (Проверавај правопис током куцања) у менију Edit (Измена)</translation>
-<translation id="870073306461175568">Дељења датотека на мрежи</translation>
 <translation id="8701677791353449257">Име уређаја мора да се подудара са регуларним изразом <ph name="REGEX" />.</translation>
 <translation id="8704521619148782536">Ово траје много дуже него што би требало. Можете да наставите да чекате или да откажете радњу и покушате поново.</translation>
 <translation id="8705331520020532516">Серијски број</translation>
@@ -5292,7 +5302,6 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> – Отказао је</translation>
 <translation id="8983677657449185470">Помозите нам да побољшамо Безбедно прегледање</translation>
 <translation id="8984179138335769204">Брзо покретање</translation>
-<translation id="8984654317541110628">URL дељења датотека</translation>
 <translation id="8986362086234534611">Заборави</translation>
 <translation id="8986494364107987395">Аутоматски шаљи Google-у статистичке податке о коришћењу и извештаје о отказивању</translation>
 <translation id="8987927404178983737">Месец</translation>
diff --git a/chrome/app/resources/generated_resources_sv.xtb b/chrome/app/resources/generated_resources_sv.xtb
index 9de2bd4..0bc4ce5 100644
--- a/chrome/app/resources/generated_resources_sv.xtb
+++ b/chrome/app/resources/generated_resources_sv.xtb
@@ -275,6 +275,7 @@
 <translation id="1395730723686586365">Uppdateringstjänsten startades</translation>
 <translation id="1396139853388185343">Det gick inte att konfigurera skrivaren</translation>
 <translation id="1396963298126346194">Användarnamnet och lösenordet som du angav stämmer inte</translation>
+<translation id="1397500194120344683">Du har ingen enhet som uppfyller villkoren. <ph name="LINK_BEGIN" />Läs mer<ph name="LINK_END" /></translation>
 <translation id="1397854323885047133">Synkronisering och anpassning</translation>
 <translation id="1398853756734560583">Maximera</translation>
 <translation id="1399511500114202393">Inget användarcertifikat</translation>
@@ -375,7 +376,6 @@
 <translation id="1531004739673299060">Appfönster</translation>
 <translation id="15373452373711364">Stor muspekare</translation>
 <translation id="1538729222189715449">Linux-filerna öppnas …</translation>
-<translation id="153933193410874873">Vi kunde inte verifiera din identitet på enheten</translation>
 <translation id="1540605929960647700">Aktivera demoläge</translation>
 <translation id="1543284117603151572">Importerade från Edge</translation>
 <translation id="1545177026077493356">Automatiskt kioskläge</translation>
@@ -528,6 +528,7 @@
 <translation id="175772926354468439">Aktivera tema</translation>
 <translation id="1758018619400202187">EAP-TLS</translation>
 <translation id="17584710573359123">Visa i Chrome Web Store</translation>
+<translation id="176193854664720708">Fingeravtryckssensorn sitter på strömbrytaren. Tryck lätt på den med ett finger.</translation>
 <translation id="1763046204212875858">Skapa programgenvägar</translation>
 <translation id="1763108912552529023">Fortsätt att utforska</translation>
 <translation id="1763808908432309942">Öppnas på en ny flik</translation>
@@ -681,7 +682,6 @@
 <translation id="1981115145845865539">Lås upp din <ph name="DEVICE_TYPE" /> automatiskt</translation>
 <translation id="1983959805486816857">När du har skapat en ny kontrollerad användare kan du hantera inställningarna när som helst från vilken enhet som helst på <ph name="MANAGEMENT_URL" />.</translation>
 <translation id="1984642098429648350">Docka fönstret till höger</translation>
-<translation id="1987139229093034863">Byt användare.</translation>
 <translation id="1987317783729300807">Konton</translation>
 <translation id="1989112275319619282">Bläddra</translation>
 <translation id="1992397118740194946">Inte angett</translation>
@@ -822,6 +822,7 @@
 <translation id="2208158072373999562">Zip-arkiv</translation>
 <translation id="220858061631308971">Ange den här PIN-koden på <ph name="DEVICE_NAME" />:</translation>
 <translation id="2209593327042758816">Hyllobjekt 2</translation>
+<translation id="2212126039311489237">Skriv ut via systemets dialogruta</translation>
 <translation id="2217501013957346740">Skapa ett namn –</translation>
 <translation id="2218019600945559112">Mus och styrplatta</translation>
 <translation id="2218320521449013367">Ett fel uppstod när skadlig programvara skulle tas bort med Chrome</translation>
@@ -934,6 +935,7 @@
 <translation id="2378075407703503998"><ph name="SELCTED_FILE_COUNT" /> filer har valts</translation>
 <translation id="237828693408258535">Vill du översätta den här sidan?</translation>
 <translation id="2378982052244864789">Välj tilläggets katalog.</translation>
+<translation id="2379281330731083556">Skriv ut via systemets dialogruta ... <ph name="SHORTCUT_KEY" /></translation>
 <translation id="2381756643783702095">Fråga innan något skickas (rekommenderas)</translation>
 <translation id="2384436799579181135">Ett fel uppstod. Kontrollera skrivaren och försök igen.</translation>
 <translation id="2387458720915042159">Proxyanslutningstyp</translation>
@@ -1113,6 +1115,7 @@
 <translation id="2653659639078652383">Skicka</translation>
 <translation id="265390580714150011">Fältvärde</translation>
 <translation id="2654166010170466751">Tillåt att nya betalningshanterare installeras av webbplatser</translation>
+<translation id="2656742821229528729">Anslut Android-mobilen till Chromebook så att du kan skicka sms från datorn, dela mobilens internetanslutning och låsa upp skärmen på Chromebook med mobilen.<ph name="FOOTNOTE_POINTER" /> <ph name="LINK_BEGIN" />Läs mer<ph name="LINK_END" /></translation>
 <translation id="2659381484350128933"><ph name="FOOTNOTE_POINTER" />Funktionerna varierar beroende på enhet</translation>
 <translation id="2660779039299703961">Event</translation>
 <translation id="266079277508604648">Det gick inte att ansluta till skrivaren. Kontrollera att skrivaren är påslagen och ansluten till Chromebook via Wi-Fi eller USB.</translation>
@@ -1417,6 +1420,7 @@
 <translation id="3115128645424181617">Mobilen hittades inte. Den måste finnas i närheten och Bluetooth måste vara på.</translation>
 <translation id="3115147772012638511">Väntar på cache-minnet...</translation>
 <translation id="3118319026408854581">Hjälp för <ph name="PRODUCT_NAME" /></translation>
+<translation id="3119484583572640616">Better Together kan göra följande när det är aktiverat:</translation>
 <translation id="3120430004221004537">Otillräcklig kryptering för angiven åtgärd på: <ph name="DEVICE_NAME" />.</translation>
 <translation id="3121793941267913344">Återställ den här <ph name="IDS_SHORT_PRODUCT_NAME" />-enheten</translation>
 <translation id="3122464029669770682">CPU</translation>
@@ -1731,6 +1735,7 @@
 <translation id="3596235046596950091">Aktivera molntjänster</translation>
 <translation id="3599863153486145794">Historik rensas från alla inloggade enheter. Det kan finnas andra former av webbhistorik i Google-kontot på <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
 <translation id="3600792891314830896">Stäng av ljudet på webbplatser</translation>
+<translation id="360180734785106144">Visa erbjudanden om nya funktioner när de blir tillgängliga</translation>
 <translation id="3602290021589620013">Förhandsgranskning</translation>
 <translation id="3603533104205588786">Du kan lägga till ett bokmärke för sidan genom att klicka på stjärnan</translation>
 <translation id="3603622770190368340">Skaffa nätverkscertifikat</translation>
@@ -2066,7 +2071,6 @@
 <translation id="4068506536726151626">På den här sidan finns komponenter från följande webbplatser som spårar din plats:</translation>
 <translation id="4068776064906523561">Sparade fingeravtryck</translation>
 <translation id="407173827865827707">Vid klick</translation>
-<translation id="4071770069230198275"><ph name="PROFILE_NAME" />: inloggningsfel</translation>
 <translation id="4074900173531346617">Certifikat för e-postsignering</translation>
 <translation id="407520071244661467">Skaländra</translation>
 <translation id="4075639477629295004">Det gick inte att casta <ph name="FILE_NAME" />.</translation>
@@ -2868,6 +2872,7 @@
 <translation id="5332624210073556029">Tidszon:</translation>
 <translation id="5334142896108694079">Cacheminne för skript</translation>
 <translation id="5334844597069022743">Visa källa</translation>
+<translation id="5334899159203764908">Läs mer om <ph name="BEGIN_LINK" />webbplatsåtkomst<ph name="END_LINK" /></translation>
 <translation id="5335458522276292100">Säkerhetskopierar <ph name="FILE_COUNT" /> på <ph name="BEGIN_LINK" />Google Drive<ph name="END_LINK" /></translation>
 <translation id="5336126339807372270">Ge inga webbplatser åtkomst till USB-enheter</translation>
 <translation id="5337771866151525739">Installerad av tredje part.</translation>
@@ -2975,6 +2980,7 @@
 <translation id="5487521232677179737">Rensa data</translation>
 <translation id="5488093641312826914"><ph name="COPIED_ITEM_NAME" /> har kopierats</translation>
 <translation id="5488468185303821006">Tillåt i inkognito</translation>
+<translation id="5489121514345187313">Chromebook fungerar ännu bättre ihop med mobilen. <ph name="LINK_BEGIN" />Läs mer<ph name="LINK_END" /></translation>
 <translation id="5489435190927933437">Sparade lösenord för <ph name="DOMAIN" /></translation>
 <translation id="5491110079163012109">Skicka systemdata. Skicka automatiskt diagnostik- och användningsdata för enheten och appar till Google. Ägaren har låst inställningen. Ägaren kan välja att skicka diagnostik- och användningsdata för enheten till Google. Du kan visa detta i inställningarna. Om du har aktiverat ytterligare webb- och appaktivitet lagras den informationen i kontot så att du kan hantera den på sidan Min aktivitet. <ph name="BEGIN_LINK1" />Läs mer<ph name="END_LINK1" /></translation>
 <translation id="5493792505296048976">skärm på</translation>
@@ -3146,6 +3152,7 @@
 <translation id="5731409020711461763">1 nytt foto</translation>
 <translation id="5734362860645681824">Kommunikation</translation>
 <translation id="5736796278325406685">Ange ett giltigt användarnamn</translation>
+<translation id="5739235828260127894">Väntar på verifiering. <ph name="LINK_BEGIN" />Läs mer<ph name="LINK_END" /></translation>
 <translation id="5739458112391494395">Mycket stor</translation>
 <translation id="5740331643563157105"><ph name="LANGUAGE_1" />, <ph name="LANGUAGE_2" /> och <ph name="NUM_ADDITIONAL_LANGUAGES" /> till</translation>
 <translation id="574209121243317957">Ton</translation>
@@ -3249,6 +3256,7 @@
 <translation id="5870086504539785141">Stäng tillgänglighetsmenyn</translation>
 <translation id="5870155679953074650">Växlingsfel</translation>
 <translation id="5877064549588274448">Kanalen har ändrats. Starta om enheten om du vill tillämpa ändringarna.</translation>
+<translation id="5877584842898320529">Den valda skrivaren är inte tillgänglig eller har inte installerats korrekt. <ph name="BR" /> Kontrollera skrivaren eller välj en annan.</translation>
 <translation id="5880247576487732437">En token finns</translation>
 <translation id="5882919346125742463">Kända nätverk</translation>
 <translation id="5884474295213649357">Den här fliken är ansluten till en USB-enhet.</translation>
@@ -3315,6 +3323,7 @@
 <translation id="5979469435153841984">Klicka på stjärnan i adressfältet om du vill infoga ett bokmärke för en sida.</translation>
 <translation id="5982621672636444458">Sorteringsalternativ</translation>
 <translation id="5984222099446776634">Nyligen besökta</translation>
+<translation id="5985458664595100876">Ogiltigt webbadressformat. Följande format stöds: \\server\share och smb://server/share.</translation>
 <translation id="5990142338020175451">Personligare tjänster från Google, till exempel förbättrade förslag på sidor</translation>
 <translation id="5990386583461751448">Översatt</translation>
 <translation id="5991049340509704927">Förstora</translation>
@@ -3343,6 +3352,7 @@
 <translation id="6026819612896463875"><ph name="WINDOW_TITLE" /> – ansluten till USB-enhet</translation>
 <translation id="6028117231645531007">Lägg till fingeravtryck</translation>
 <translation id="6029027682598229313">Linux-installationen är klar.</translation>
+<translation id="6029292188939175871">radera [<ph name="FINGERPRINT_NAME" />], knapp</translation>
 <translation id="6029587122245504742">Långsammast</translation>
 <translation id="6032912588568283682">Filsystem</translation>
 <translation id="6034662038931255275">Operativsystemet har uppdaterats</translation>
@@ -3456,7 +3466,6 @@
 <translation id="6185132558746749656">Enhetsplats</translation>
 <translation id="6185617499004995178">CUPS IPP-validerare</translation>
 <translation id="6185696379715117369">Uppåt en sida</translation>
-<translation id="6189273858858366896">Konfigurera eller hantera Network File Share.</translation>
 <translation id="6189412234224385711">Öppna med <ph name="EXTENSION_NAME" /></translation>
 <translation id="6196640612572343990">Blockera cookies från tredje part</translation>
 <translation id="6196854373336333322">Tillägget <ph name="EXTENSION_NAME" /> har tagit kontroll över dina proxyinställningar, vilket innebär att det kan ändra, knäcka eller tjuvlyssna på allt du gör på webben. Om du inte vet varför den här ändringen inträffade är den troligen inte önskvärd.</translation>
@@ -3762,6 +3771,7 @@
 <translation id="6643016212128521049">Rensa</translation>
 <translation id="6644512095122093795">Erbjud att spara lösenord</translation>
 <translation id="6644846457769259194">Enheten uppdateras(<ph name="PROGRESS_PERCENT" />)</translation>
+<translation id="6645437135153136856">Den valda Google Cloud Print-enheten stöds inte längre. <ph name="BR" /> Testa att konfigurera skrivaren i systeminställningarna på datorn.</translation>
 <translation id="6647228709620733774">Webbadress till Netscapes spärrlista för certifikatutfärdare</translation>
 <translation id="6647838571840953560">För närvarande på <ph name="CHANNEL_NAME" /></translation>
 <translation id="6648051959475508072">Säkerhetsnyckeln har aktiverats …</translation>
@@ -3783,7 +3793,6 @@
 <translation id="667517062706956822">Vill du att Google ska översätta sidan från <ph name="SOURCE_LANGUAGE" /> till <ph name="TARGET_LANGUAGE" />?</translation>
 <translation id="6675665718701918026">Pekdon har anslutits</translation>
 <translation id="6678717876183468697">Frågewebbadress</translation>
-<translation id="6680028776254050810">Byt användare</translation>
 <translation id="6680442031740878064">Tillgängligt: <ph name="AVAILABLE_SPACE" /></translation>
 <translation id="6680650203439190394">Hastighet</translation>
 <translation id="6681668084120808868">Ta foto</translation>
@@ -3792,7 +3801,6 @@
 <translation id="668599234725812620">Öppna Google Play</translation>
 <translation id="6686490380836145850">Stäng flikar till höger</translation>
 <translation id="6686817083349815241">Spara lösenordet</translation>
-<translation id="6690565918367819723"><ph name="PROFILE_NAME" /> Byt till ett annat konto</translation>
 <translation id="6690659332373509948">Det gick inte att analysera filen: <ph name="FILE_NAME" /></translation>
 <translation id="6690751852586194791">Välj en hanterad användare som du vill lägga till i enheten.</translation>
 <translation id="6691331417640343772">Hantera synkroniserad data via Google Översikt</translation>
@@ -4129,6 +4137,7 @@
 <translation id="7201118060536064622"><ph name="DELETED_ITEM_NAME" /> har raderats</translation>
 <translation id="7206693748120342859">Laddar ned <ph name="PLUGIN_NAME" /> ...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Lämna sidan}other{Lämna sidorna}}</translation>
+<translation id="7210499381659830293">Tilläggsskrivare</translation>
 <translation id="721467499098558573">Håll knappen på säkerhetsnyckeln nedtryckt i minst fem sekunder</translation>
 <translation id="7216409898977639127">Mobiloperatör</translation>
 <translation id="7216595297012131718">Sortera språk i prioriteringsordning</translation>
@@ -4207,6 +4216,7 @@
 <translation id="7321545336522791733">Servern kan inte nås</translation>
 <translation id="7324297612904500502">Forum för betaversionen</translation>
 <translation id="7325437708553334317">Högkontrasttillägg</translation>
+<translation id="7328162502911382168">(<ph name="COUNT" />)</translation>
 <translation id="7328867076235380839">Ogiltig kombination</translation>
 <translation id="7329154610228416156">Inloggningen misslyckades eftersom den har konfigurerats att använda en webbadress som inte är säker (<ph name="BLOCKED_URL" />). Kontakta administratören.</translation>
 <translation id="7334190995941642545">Smart Lock är för närvarande inte tillgängligt. Försök igen senare.</translation>
@@ -4798,6 +4808,7 @@
 <translation id="8199300056570174101">Nätverkstjänst och enhetsegenskaper</translation>
 <translation id="8200772114523450471">Återuppta</translation>
 <translation id="8202160505685531999">Ange lösenordet på nytt om du vill uppdatera din profil på <ph name="DEVICE_TYPE" />.</translation>
+<translation id="8203732864715032075">Skicka aviseringar till dig och komma ihåg den här datorn som standard för Messages. <ph name="LINK_BEGIN" />Läs mer<ph name="LINK_END" /></translation>
 <translation id="8206354486702514201">Administratören har gjort den här inställningen obligatorisk.</translation>
 <translation id="8206745257863499010">Bluesig</translation>
 <translation id="8209677645716428427">En kontrollerad användare kan utforska webben med dig som guide. Du som hanterar en kontrollerad användare i Chrome kan:</translation>
@@ -5109,7 +5120,6 @@
 <translation id="869884720829132584">Programmeny</translation>
 <translation id="869891660844655955">Utgångsdatum</translation>
 <translation id="8699566574894671540">Aktivera först Kontrollera stavning medan jag skriver i Redigera-menyn om du vill aktivera detta</translation>
-<translation id="870073306461175568">Network File Share</translation>
 <translation id="8701677791353449257">Enhetsnamnet måste överensstämma med det reguljära uttrycket <ph name="REGEX" />.</translation>
 <translation id="8704521619148782536">Det här tar mycket längre tid än vanligt. Du kan fortsätta vänta eller avbryta och försöka igen senare.</translation>
 <translation id="8705331520020532516">Serienummer</translation>
@@ -5294,7 +5304,6 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> – kraschat</translation>
 <translation id="8983677657449185470">Bidra till att förbättra Säker webbsökning</translation>
 <translation id="8984179138335769204">Snabbstart</translation>
-<translation id="8984654317541110628">Webbadress för filresurs</translation>
 <translation id="8986362086234534611">Glöm</translation>
 <translation id="8986494364107987395">Skicka användningsstatistik och kraschrapporter till Google automatiskt</translation>
 <translation id="8987927404178983737">Månad</translation>
diff --git a/chrome/app/resources/generated_resources_sw.xtb b/chrome/app/resources/generated_resources_sw.xtb
index 5a94246..8513a44 100644
--- a/chrome/app/resources/generated_resources_sw.xtb
+++ b/chrome/app/resources/generated_resources_sw.xtb
@@ -275,6 +275,7 @@
 <translation id="1395730723686586365">Kisasishaji kimeanza</translation>
 <translation id="1396139853388185343">Hitilafu imetokea wakati wa kuweka mipangilio ya printa</translation>
 <translation id="1396963298126346194">Nenosiri na jina la mtumiaji uliloweka havilingani</translation>
+<translation id="1397500194120344683">Hakuna vifaa vinavyotimiza masharti. <ph name="LINK_BEGIN" />Pata maelezo zaidi.<ph name="LINK_END" /></translation>
 <translation id="1397854323885047133">Kusawazisha na kuweka mapendeleo</translation>
 <translation id="1398853756734560583">Tanua</translation>
 <translation id="1399511500114202393">Hakuna cheti cha mtumiaji</translation>
@@ -372,7 +373,6 @@
 <translation id="1531004739673299060">Dirisha la Programu</translation>
 <translation id="15373452373711364">Kishale kikubwa cha kipanya</translation>
 <translation id="1538729222189715449">Inafungua faili za Linux...</translation>
-<translation id="153933193410874873">Tumeshindwa kuthibitisha utambulisho wako kwenye kifaa hiki</translation>
 <translation id="1540605929960647700">Washa hali ya onyesho</translation>
 <translation id="1543284117603151572">Zilizoletwa Kutoka Kivinjari cha Edge</translation>
 <translation id="1545177026077493356">Skrini Nzima Kiotomatiki</translation>
@@ -526,6 +526,7 @@
 <translation id="175772926354468439">Washa mandhari</translation>
 <translation id="1758018619400202187">EAP-TLS</translation>
 <translation id="17584710573359123">Angalia katika Duka la Chrome kwenye Wavuti</translation>
+<translation id="176193854664720708">Kitambua alama ya kidole kiko kwenye kitufe cha kuwasha/kuzima. Kiguse taratibu ukitumia kidole chako.</translation>
 <translation id="1763046204212875858">Unda mikato ya programu</translation>
 <translation id="1763108912552529023">Endelea kugundua</translation>
 <translation id="1763808908432309942">Itafungua katika kichupo kipya</translation>
@@ -679,7 +680,6 @@
 <translation id="1981115145845865539">Fungua kifaa chako cha <ph name="DEVICE_TYPE" /> kiotomatiki</translation>
 <translation id="1983959805486816857">Baada ya kuunda mtumiaji mpya anayesimamiwa, unaweza kudhibiti mipangilio wakati wowote kutoka kwenye kifaa chochote katika <ph name="MANAGEMENT_URL" /> .</translation>
 <translation id="1984642098429648350">Shikilia cha dirisha kulia</translation>
-<translation id="1987139229093034863">Badili hadi kwa mtumiaji tofauti.</translation>
 <translation id="1987317783729300807">Akaunti</translation>
 <translation id="1989112275319619282">Vinjari</translation>
 <translation id="1992397118740194946">Haijawekwa</translation>
@@ -820,6 +820,7 @@
 <translation id="2208158072373999562">Kumbukumbu ya Zip</translation>
 <translation id="220858061631308971">Tafadhali weka nambari hii ya PIN kwenye "<ph name="DEVICE_NAME" />":</translation>
 <translation id="2209593327042758816">Kipengee cha kabati 2 cha kabati</translation>
+<translation id="2212126039311489237">Chapisha kwa kutumia kidirisha cha mfumo</translation>
 <translation id="2217501013957346740">Unda jina -</translation>
 <translation id="2218019600945559112">Kipanya na padi ya kugusa</translation>
 <translation id="2218320521449013367">Hitilafu imetokea wakati Chrome ilikuwa ikiondoa programu hatari</translation>
@@ -932,6 +933,7 @@
 <translation id="2378075407703503998">Faili <ph name="SELCTED_FILE_COUNT" /> zimezochaguliwa</translation>
 <translation id="237828693408258535">Ungependa kutafsiri ukurasa huu?</translation>
 <translation id="2378982052244864789">Chagua saraka ya kiendelezi.</translation>
+<translation id="2379281330731083556">Chapisha kwa kutumia kidadisi cha mfumo... <ph name="SHORTCUT_KEY" /></translation>
 <translation id="2381756643783702095">Uliza kabla ya kutuma (imependekezwa)</translation>
 <translation id="2384436799579181135">Hitilafu imetokea. Tafadhali angalia printa yako kisha ujaribu tena.</translation>
 <translation id="2387458720915042159">Aina ya muunganisho wa seva mbadala</translation>
@@ -1110,6 +1112,7 @@
 <translation id="2653659639078652383">Wasilisha</translation>
 <translation id="265390580714150011">Thamani ya Uga</translation>
 <translation id="2654166010170466751">Ruhusu tovuti zisakinishe vidhibiti vya malipo</translation>
+<translation id="2656742821229528729">Unganisha simu yako ya Android na Chromebook ili uweze kutuma SMS kwenye kompyuta yako, ushiriki muunganisho wako wa intaneti na ufungue Chromebook kwenye simu yako. <ph name="FOOTNOTE_POINTER" /><ph name="LINK_BEGIN" />Pata maelezo zaidi<ph name="LINK_END" /></translation>
 <translation id="2659381484350128933"><ph name="FOOTNOTE_POINTER" />Vipengele vinatofautiana kulingana na kifaa</translation>
 <translation id="2660779039299703961">Tukio</translation>
 <translation id="266079277508604648">Imeshindwa kuunganisha kwenye printa. Hakikisha kuwa printa imewashwa na imeunganishwa kwenye Chromebook yako kwa kutumia Wi-Fi au USB.</translation>
@@ -1414,6 +1417,7 @@
 <translation id="3115128645424181617">Imeshindwa kupata simu yako. Hakikisha kuwa unayo na umewasha Bluetooth.</translation>
 <translation id="3115147772012638511">Inasubiri akiba...</translation>
 <translation id="3118319026408854581">Usaidizi wa <ph name="PRODUCT_NAME" /></translation>
+<translation id="3119484583572640616">Kuwasha kipengele cha Better Together kunamaanisha kuwa:</translation>
 <translation id="3120430004221004537">Usimbaji fiche usiotosha kwa shughuli maalum kwenye: "<ph name="DEVICE_NAME" />".</translation>
 <translation id="3121793941267913344">Weka kifaa hiki cha <ph name="IDS_SHORT_PRODUCT_NAME" /> upya</translation>
 <translation id="3122464029669770682">CPU</translation>
@@ -1725,6 +1729,7 @@
 <translation id="3596235046596950091">Washa huduma za wingu</translation>
 <translation id="3599863153486145794">Hufuta historia kwenye vifaa vyote ulivyotumia kuingia katika akaunti. Huenda Akaunti yako ya Google ikawa na aina nyingine za historia ya kuvinjari kwenye <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
 <translation id="3600792891314830896">Zima sauti katika tovuti</translation>
+<translation id="360180734785106144">Kutoa vipengele vipya kadri vinavyopatikana</translation>
 <translation id="3602290021589620013">Hakiki</translation>
 <translation id="3603533104205588786">Unaweza kubofya nyota ili ualamishe ukurasa</translation>
 <translation id="3603622770190368340">Pata cheti cha mtandao</translation>
@@ -2060,7 +2065,6 @@
 <translation id="4068506536726151626">Ukurasa huu una vipengee kutoka tovuti zifuatazo ambazo zinafuatilia mahali ulipo:</translation>
 <translation id="4068776064906523561">Alama za vidole zilizohifadhiwa</translation>
 <translation id="407173827865827707">Unapobofya</translation>
-<translation id="4071770069230198275"><ph name="PROFILE_NAME" />: hitilafu ya kuingia katika akaunti</translation>
 <translation id="4074900173531346617">Cheti cha Anayetia Vyeti Sahihi</translation>
 <translation id="407520071244661467">Kipimo</translation>
 <translation id="4075639477629295004"><ph name="FILE_NAME" /> haijatumwa.</translation>
@@ -2860,6 +2864,7 @@
 <translation id="5332624210073556029">Saa za eneo:</translation>
 <translation id="5334142896108694079">Akiba ya Hati</translation>
 <translation id="5334844597069022743">Angalia chanzo</translation>
+<translation id="5334899159203764908">Pata maelezo zaidi kuhusu <ph name="BEGIN_LINK" />ufikiaji wa tovuti<ph name="END_LINK" /></translation>
 <translation id="5335458522276292100">Inahifadhi nakala ya <ph name="FILE_COUNT" /> kwenye <ph name="BEGIN_LINK" />Hifadhi ya Google<ph name="END_LINK" /></translation>
 <translation id="5336126339807372270">Usiruhusu tovuti zozote zifikie vifaa vya USB</translation>
 <translation id="5337771866151525739">Imesakinishwa na mhusika mwingine.</translation>
@@ -2967,6 +2972,7 @@
 <translation id="5487521232677179737">Futa data</translation>
 <translation id="5488093641312826914">'<ph name="COPIED_ITEM_NAME" />' imenakiliwa</translation>
 <translation id="5488468185303821006">Ruhusu katika hali fiche</translation>
+<translation id="5489121514345187313">Chromebook yako inafanya kazi vizuri zaidi kupitia simu. <ph name="LINK_BEGIN" />Pata maelezo zaidi.<ph name="LINK_END" /></translation>
 <translation id="5489435190927933437">Manenosiri yaliyohifadhiwa ya <ph name="DOMAIN" /></translation>
 <translation id="5491110079163012109">Tuma data ya mfumo. Tuma kiotomatiki data ya uchanganuzi na matumizi ya kifaa na programu kwa Google. Mipangilio hii husimamiwa na mmiliki. Mmiliki anaweza kuchagua kutuma data ya matumizi na uchanganuzi wa kifaa hiki kwa Google. Unaweza kuona hali hii katika mipangilio. Ukiwasha Historia ya Shughuli kwenye Wavuti na Programu, maelezo haya yatahifadhiwa kwenye akaunti yako ili uweze kuyadhibiti katika Shughuli Zangu. <ph name="BEGIN_LINK1" />Pata Maelezo Zaidi<ph name="END_LINK1" /></translation>
 <translation id="5493792505296048976">skrini imewashwa</translation>
@@ -3138,6 +3144,7 @@
 <translation id="5731409020711461763">Picha 1 mpya</translation>
 <translation id="5734362860645681824">Mawasiliano</translation>
 <translation id="5736796278325406685">Tafadhali andika jina sahihi la mtumiaji</translation>
+<translation id="5739235828260127894">Inasubiri uthibitishaji. <ph name="LINK_BEGIN" />Pata maelezo zaidi.<ph name="LINK_END" /></translation>
 <translation id="5739458112391494395">Kubwa sana</translation>
 <translation id="5740331643563157105"><ph name="LANGUAGE_1" />, <ph name="LANGUAGE_2" />, na nyingine <ph name="NUM_ADDITIONAL_LANGUAGES" /></translation>
 <translation id="574209121243317957">Uzito wa sauti</translation>
@@ -3241,6 +3248,7 @@
 <translation id="5870086504539785141">Funga menyu ya ufikiaji</translation>
 <translation id="5870155679953074650">Mabadiliko ya hifadhi</translation>
 <translation id="5877064549588274448">Kituo kimebadilishwa. Zima na uwashe kifaa chako ili mabadiliko yaanze kutumika.</translation>
+<translation id="5877584842898320529">Printa iliyochaguliwa haipatikani au haijasakinishwa vizuri. <ph name="BR" />Angalia printa yako au ujaribu kuchagua printa nyingine.</translation>
 <translation id="5880247576487732437">Tokeni Ipo</translation>
 <translation id="5882919346125742463">Mitandao Inayojulikana</translation>
 <translation id="5884474295213649357">Kichupo hiki kimeunganishwa kwenye kifaa cha USB.</translation>
@@ -3307,6 +3315,7 @@
 <translation id="5979469435153841984">Ili kualamisha kurasa, bofya nyota katika sehemu ya anwani</translation>
 <translation id="5982621672636444458">Chaguo za kupanga</translation>
 <translation id="5984222099446776634">Vilivyotembelewa Hivi karibuni</translation>
+<translation id="5985458664595100876">Mfumo wa URL si sahihi. Mifumo inayotumika ni \\server\share na smb://server/share.</translation>
 <translation id="5990142338020175451">Huduma zaidi za Google zinazokufaa, kama vile mapendekezo bora zaidi ya ukurasa</translation>
 <translation id="5990386583461751448">Imetafsiriwa</translation>
 <translation id="5991049340509704927">Zidisha</translation>
@@ -3335,6 +3344,7 @@
 <translation id="6026819612896463875"><ph name="WINDOW_TITLE" /> - Kifaa cha USB kimeunganishwa</translation>
 <translation id="6028117231645531007">Ongeza alama ya kidole</translation>
 <translation id="6029027682598229313">Imemaliza kusakinisha Linux.</translation>
+<translation id="6029292188939175871">futa [<ph name="FINGERPRINT_NAME" />], kitufe</translation>
 <translation id="6029587122245504742">Kasi ya chini zaidi</translation>
 <translation id="6032912588568283682">Mfumo wa faili</translation>
 <translation id="6034662038931255275">Imesasisha Mfumo wa Uendeshaji</translation>
@@ -3448,7 +3458,6 @@
 <translation id="6185132558746749656">Mahali Kifaa Kilipo</translation>
 <translation id="6185617499004995178">Kithibitishaji cha IPP ya CUPS</translation>
 <translation id="6185696379715117369">Ukurasa mmoja juu</translation>
-<translation id="6189273858858366896">Dhibiti au uweke mipangilio ya Faili Zinazoshirikiwa katika Mitandao.</translation>
 <translation id="6189412234224385711">Fungua ukitumia <ph name="EXTENSION_NAME" /></translation>
 <translation id="6196640612572343990">Zuia vidakuzi vya tovuti nyingine</translation>
 <translation id="6196854373336333322">Kiendelezi hiki "<ph name="EXTENSION_NAME" />" kinadhibiti mipangilio yako ya seva mbadala, kumaanisha kuwa kinaweza kubadilisha, kuvunja, au kufuatilia chochote unachokifanya mtandaoni. Ikiwa huna uhakika kwa nini mabadiliko haya yamefanyika, huenda huyahitaji.</translation>
@@ -3754,6 +3763,7 @@
 <translation id="6643016212128521049">Futa</translation>
 <translation id="6644512095122093795">Uliza kama manenosiri yahifadhiwe</translation>
 <translation id="6644846457769259194">Inasasisha kifaa chako <ph name="PROGRESS_PERCENT" /></translation>
+<translation id="6645437135153136856">Kifaa cha Google Cloud Print kilichochaguliwa hakitumiki tena. <ph name="BR" /> Jaribu kuweka mipangilio ya printa katika mipangilio ya mfumo ya kompyuta yako.</translation>
 <translation id="6647228709620733774">URL ya Kupinga Mamlaka ya Uidhinishaji wa Netscape</translation>
 <translation id="6647838571840953560">Hivi sasa kwenye <ph name="CHANNEL_NAME" /></translation>
 <translation id="6648051959475508072">Ufunguo wa usalama umewashwa...</translation>
@@ -3775,7 +3785,6 @@
 <translation id="667517062706956822">Je, ungependa Google itafsiri ukurasa huu kutoka <ph name="SOURCE_LANGUAGE" /> hadi <ph name="TARGET_LANGUAGE" />?</translation>
 <translation id="6675665718701918026">Kifaa cha kuonyeshea kimeunganishwa</translation>
 <translation id="6678717876183468697">URL ya Hoja</translation>
-<translation id="6680028776254050810">Badili Watumiaji</translation>
 <translation id="6680442031740878064">Nafasi inayopatikana: <ph name="AVAILABLE_SPACE" /></translation>
 <translation id="6680650203439190394">Kadiria</translation>
 <translation id="6681668084120808868">Piga picha</translation>
@@ -3784,7 +3793,6 @@
 <translation id="668599234725812620">Fungua Google Play</translation>
 <translation id="6686490380836145850">Funga vichupo vilivyo upande wa kulia</translation>
 <translation id="6686817083349815241">Hifadhi nenosiri lako</translation>
-<translation id="6690565918367819723"><ph name="PROFILE_NAME" /> Badilisha mtu</translation>
 <translation id="6690659332373509948">Haiwezi kuchanganua faili: <ph name="FILE_NAME" /></translation>
 <translation id="6690751852586194791">Chagua mtumiaji anayesimamiwa ili uongeze kifaa hiki.</translation>
 <translation id="6691331417640343772">Dhibiti data iliyosawazishwa kwenye Dashibodi ya Google</translation>
@@ -4121,6 +4129,7 @@
 <translation id="7201118060536064622">'<ph name="DELETED_ITEM_NAME" />' imefutwa</translation>
 <translation id="7206693748120342859">Inapakua <ph name="PLUGIN_NAME" />...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Funga ukurasa}other{Funga kurasa}}</translation>
+<translation id="7210499381659830293">Printa za viendelezi</translation>
 <translation id="721467499098558573">Bonyeza na ushikilie kitufe cha ufunguo wako wa usalama kwa angalau sekunde 5</translation>
 <translation id="7216409898977639127">Mtoa huduma za vifaa vya mkononi</translation>
 <translation id="7216595297012131718">Panga lugha kulingana na mapendeleo yako</translation>
@@ -4199,6 +4208,7 @@
 <translation id="7321545336522791733">Seva haifikiki</translation>
 <translation id="7324297612904500502">Mfumo wa Beta</translation>
 <translation id="7325437708553334317">Kiendelezi Kilinganushi Kikuu</translation>
+<translation id="7328162502911382168">(<ph name="COUNT" />)</translation>
 <translation id="7328867076235380839">Mkusanyiko si sahihi</translation>
 <translation id="7329154610228416156">Haikufaulu kuingia katika akaunti kwa sababu ilisanidiwa ili itumie URL isiyo salama (<ph name="BLOCKED_URL" />). Tafadhali wasiliana na msimamizi wako.</translation>
 <translation id="7334190995941642545">Smart Lock haipatikani kwa sasa. Tafadhali jaribu tena baadaye.</translation>
@@ -4791,6 +4801,7 @@
 <translation id="8199300056570174101">Sifa za Kifaa na Mtandao (Huduma)</translation>
 <translation id="8200772114523450471">Endelea</translation>
 <translation id="8202160505685531999">Tafadhali andika tena nenosiri lako ili usasishe wasifu wako kwenye <ph name="DEVICE_TYPE" />.</translation>
+<translation id="8203732864715032075">Kukutumia arifa na mipangilio chaguomsingi ili ukumbuke kompyuta hii kwa ajili ya Ujumbe. <ph name="LINK_BEGIN" />Pata maelezo zaidi<ph name="LINK_END" /></translation>
 <translation id="8206354486702514201">Mpangilio huu umetekelezwa na msimamizi wako.</translation>
 <translation id="8206745257863499010">Kimuziki</translation>
 <translation id="8209677645716428427">Mtumiaji anayesimamiwa anaweza kugundua wavuti kwa mwongozo wako. Kama mdhibiti wa mtumiaji anayesimamiwa katika Chrome, unaweza:</translation>
@@ -5103,7 +5114,6 @@
 <translation id="869884720829132584">Menyu ya programu</translation>
 <translation id="869891660844655955">Muda wake unakwisha tarehe</translation>
 <translation id="8699566574894671540">Ili kuwasha kipengele hiki, kwanza chagua Kagua Maendelezo Unapoandika kwenye menyu ya Badilisha</translation>
-<translation id="870073306461175568">Faili Zinazoshirikiwa katika Mtandao</translation>
 <translation id="8701677791353449257">Ni lazima jina la kifaa lilingane na kilinganishi <ph name="REGEX" />.</translation>
 <translation id="8704521619148782536">Hii inachukua muda mrefu zaidi ya kawaida. Unaweza kuendelea kusubiri, au ughairi na ujaribu tena baadaye.</translation>
 <translation id="8705331520020532516">Nambari ya Ufuatiliaji</translation>
@@ -5288,7 +5298,6 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> - Imeacha kufanya kazi</translation>
 <translation id="8983677657449185470">Tusaidie tuboreshe huduma ya Kuvinjari Salama</translation>
 <translation id="8984179138335769204">Kufungua kwa kasi</translation>
-<translation id="8984654317541110628">URL ya Faili ya Kushiriki</translation>
 <translation id="8986362086234534611">Sahau</translation>
 <translation id="8986494364107987395">Tumia Google takwimu za matumizi na ripoti za mara ambazo kivinjari kinaacha kufanya kazi, moja kwa moja</translation>
 <translation id="8987927404178983737">Mwezi</translation>
diff --git a/chrome/app/resources/generated_resources_ta.xtb b/chrome/app/resources/generated_resources_ta.xtb
index f6dc30f..876fbae 100644
--- a/chrome/app/resources/generated_resources_ta.xtb
+++ b/chrome/app/resources/generated_resources_ta.xtb
@@ -57,7 +57,7 @@
 <translation id="1076698951459398590">தீமினை இயக்கு</translation>
 <translation id="1076818208934827215">Microsoft Internet Explorer</translation>
 <translation id="1079766198702302550">கேமரா அணுகலை எப்போதும் தடு</translation>
-<translation id="1082398631555931481">உங்கள் Chrome அமைப்புகளை அவற்றின் அசல் இயல்புநிலைகளுக்கு மீட்டெடுக்க வேண்டும் என்று <ph name="THIRD_PARTY_TOOL_NAME" /> விரும்புகிறது. இது முகப்புப்பக்கம், புதிய தாவல் பக்கம் மற்றும் தேடல் இன்ஜினை மீட்டமைக்கும், உங்கள் நீட்டிப்புகளை முடக்கும், மேலும் எல்லா தாவல்களையும் காட்டும். குக்கீகள், உள்ளடக்கம் மற்றும் தளத் தரவு போன்ற பிற தற்காலிகத் தரவையும், தற்காலிக சேமிப்பில் உள்ள தரவையும் அழிக்கும்.</translation>
+<translation id="1082398631555931481">உங்கள் Chrome அமைப்புகளை அசல் இயல்புநிலைகளுக்கு மீட்டமைக்க வேண்டும் என்று <ph name="THIRD_PARTY_TOOL_NAME" /> விரும்புகிறது. இது உங்கள் முகப்புப்பக்கம், புதிய தாவல் பக்கம் மற்றும் தேடல் இன்ஜின் ஆகியவற்றை மீட்டமைக்கும், உங்கள் நீட்டிப்புகளை முடக்கும், மேலும் பின் செய்திருந்த எல்லா தாவல்களையும் அகற்றும். குக்கீகள், உள்ளடக்கத் தரவு, தளத் தரவு போன்ற பிற தற்காலிகத் தரவுகளையும் அழிக்கும்.</translation>
 <translation id="1082725763867769612">ஆஃப்லைன் கோப்புகள்</translation>
 <translation id="1084824384139382525">இணைப்பு முகவ&amp;ரியை நகலெடு</translation>
 <translation id="1085697365578766383">விர்ச்சுவல் மெஷினைத் தொடங்கும்போது பிழை ஏற்பட்டது. மீண்டும் முயலவும்.</translation>
@@ -275,6 +275,7 @@
 <translation id="1395730723686586365">புதுப்பிப்பான் தொடங்கியது</translation>
 <translation id="1396139853388185343">பிரிண்டரை அமைப்பதில் பிழை</translation>
 <translation id="1396963298126346194">நீங்கள் உள்ளிட்ட பயனர்பெயரும் கடவுச்சொல்லும் பொருந்தவில்லை</translation>
+<translation id="1397500194120344683">தகுதியான சாதனங்கள் இல்லை. <ph name="LINK_BEGIN" />மேலும் அறிக<ph name="LINK_END" /></translation>
 <translation id="1397854323885047133">ஒத்திசைவு மற்றும் தனிப்பயனாக்கம்</translation>
 <translation id="1398853756734560583">பெரிதாக்கு</translation>
 <translation id="1399511500114202393">பயனர் சான்றிதழ் இல்லை</translation>
@@ -375,7 +376,6 @@
 <translation id="1531004739673299060">பயன்பாட்டுச் சாளரம்</translation>
 <translation id="15373452373711364">பெரிய மவுஸ் இடஞ்சுட்டி</translation>
 <translation id="1538729222189715449">Linux கோப்புகளைத் திறக்கிறது...</translation>
-<translation id="153933193410874873">இந்தச் சாதனத்தில் உங்கள் அடையாளத்தைச் சரிபார்க்க முடியவில்லை</translation>
 <translation id="1540605929960647700">டெமோ பயன்முறையை இயக்கவும்</translation>
 <translation id="1543284117603151572">Edge இலிருந்து இறக்கப்பட்டது</translation>
 <translation id="1545177026077493356">தானியங்கு கியோஸ்க் பயன்முறை</translation>
@@ -509,7 +509,7 @@
 <translation id="1729533290416704613">சர்வபுலத்திலிருந்து தேடலை மேற்கொள்ளும்போது காண்பிக்கப்படும் பக்கத்தையும் இது கட்டுப்படுத்துகிறது.</translation>
 <translation id="1731589410171062430">மொத்தம்: <ph name="NUMBER_OF_SHEETS" /> <ph name="SHEETS_LABEL" /> (<ph name="NUMBER_OF_PAGES" /> <ph name="PAGE_OR_PAGES_LABEL" />)</translation>
 <translation id="1731911755844941020">கோரிக்கையை அனுப்புகிறது…</translation>
-<translation id="1732215134274276513">தாவல்களை எடுக்கவும்</translation>
+<translation id="1732215134274276513">தாவல்களைப் பிரித்தெடு</translation>
 <translation id="1734824808160898225"><ph name="PRODUCT_NAME" /> தன்னைப் புதுப்பித்த நிலையில் வைத்துக்கொள்ள முடியாமல் போகலாம்</translation>
 <translation id="1736419249208073774">அறிக</translation>
 <translation id="1736827427463982819">Linuxஸை (பீட்டா) நிறுத்து</translation>
@@ -529,6 +529,7 @@
 <translation id="175772926354468439">தீம் ஐ இயக்கு</translation>
 <translation id="1758018619400202187">EAP-TLS</translation>
 <translation id="17584710573359123">Chrome இணைய அங்காடியில் காட்டு</translation>
+<translation id="176193854664720708">கைரேகை உணர்வி, பவர் பட்டனில் உள்ளது. அதை ஏதேனும் ஒரு விரலால் மெதுவாகத் தொடவும்.</translation>
 <translation id="1763046204212875858">பயன்பாட்டு  குறுக்குவழிகளை உருவாக்குக</translation>
 <translation id="1763108912552529023">தொடர்ந்து அறிக</translation>
 <translation id="1763808908432309942">புதிய தாவலில் திறக்கும்</translation>
@@ -563,7 +564,7 @@
 <translation id="1807938677607439181">எல்லா கோப்புகளும்</translation>
 <translation id="1809734401532861917"><ph name="USER_EMAIL_ADDRESS" /> இல் எனது புத்தகக்குறிகள், வரலாறு, கடவுச்சொற்கள் மற்றும் பிற அமைப்புகளைச் சேர்</translation>
 <translation id="1810764548349082891">மாதிரிக்காட்சி இல்லை</translation>
-<translation id="1812631533912615985">தாவல்களை எடுக்கவும்</translation>
+<translation id="1812631533912615985">தாவல்களைப் பிரித்தெடு</translation>
 <translation id="1813278315230285598">சேவைகள்</translation>
 <translation id="18139523105317219">EDI பார்ட்டி பெயர்</translation>
 <translation id="1815083418640426271">எளிய உரையாக ஒட்டு</translation>
@@ -682,7 +683,6 @@
 <translation id="1981115145845865539"><ph name="DEVICE_TYPE" /> சாதனத்தைத் தானாகத் திறக்கலாம்</translation>
 <translation id="1983959805486816857">புதிய கண்காணிக்கப்படும் பயனரை உருவாக்கிய பிறகு, நீங்கள் எந்தச் சாதனத்திலிருந்தும் எப்போது வேண்டுமானாலும் <ph name="MANAGEMENT_URL" /> இல் அமைப்புகளை நிர்வகிக்கலாம்.</translation>
 <translation id="1984642098429648350">சாளரத்தை வலப்பக்கம் பொருத்து</translation>
-<translation id="1987139229093034863">வேறு பயனருக்கு மாற்று.</translation>
 <translation id="1987317783729300807">கணக்குகள்</translation>
 <translation id="1989112275319619282">உலாவு</translation>
 <translation id="1992397118740194946">அமைக்கப்படவில்லை</translation>
@@ -725,7 +725,7 @@
 <translation id="2065405795449409761">Chromeஐத் தானியங்கிச் சோதனை மென்பொருள் கட்டுப்படுத்துகிறது.</translation>
 <translation id="2070909990982335904">புள்ளியுடன் தொடங்கும் பெயர்களை கணினி முன்பதிவு செய்துள்ளதால், வேறொரு பெயரைத் தேர்வுசெய்க.</translation>
 <translation id="2071393345806050157">அகப் பதிவு கோப்பு எதுவுமில்லை.</translation>
-<translation id="2074527029802029717">தாவல் வெளியே எடு</translation>
+<translation id="2074527029802029717">தாவலைப் பிரித்தெடு</translation>
 <translation id="2075474481720804517">பேட்டரி: <ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="2075959085554270910">"கிளிக் செய்ய தட்டு" மற்றும் தட்டி நகர்த்துதலை இயக்க/முடக்க உங்களை அனுமதிக்கிறது</translation>
 <translation id="2076269580855484719">செருகுநிரலை மறை</translation>
@@ -823,6 +823,7 @@
 <translation id="2208158072373999562">ஜிப் காப்பகம்</translation>
 <translation id="220858061631308971">"<ph name="DEVICE_NAME" />" இல் இந்த PIN குறியீட்டை உள்ளிடுக:</translation>
 <translation id="2209593327042758816">ஷெல்ஃப் உருப்படி 2</translation>
+<translation id="2212126039311489237">சிஸ்டம் அச்சிடல் உரையாடலைப் பயன்படுத்தி அச்சிடவும்</translation>
 <translation id="2217501013957346740">பெயரை உருவாக்கவும் -</translation>
 <translation id="2218019600945559112">மவுஸ் மற்றும் டச்பேட்</translation>
 <translation id="2218320521449013367">தீங்கிழைக்கும் மென்பொருளை Chrome அகற்றும் போது, பிழை ஏற்பட்டது</translation>
@@ -935,6 +936,7 @@
 <translation id="2378075407703503998"><ph name="SELCTED_FILE_COUNT" /> கோப்புகள் தேர்ந்தெடுக்கப்பட்டன</translation>
 <translation id="237828693408258535">இந்தப் பக்கத்தை மொழிபெயர்க்கவா?</translation>
 <translation id="2378982052244864789">நீட்டிப்பு கோப்பகத்தைத் தேர்ந்தெடு.</translation>
+<translation id="2379281330731083556">கணினி உரையாடலைப் பயன்படுத்தி அச்சிடுக…<ph name="SHORTCUT_KEY" /></translation>
 <translation id="2381756643783702095">அனுப்பும் முன் கேள் (பரிந்துரைக்கப்படுகிறது)</translation>
 <translation id="2384436799579181135">பிழை ஏற்பட்டது. உங்கள் பிரிண்டரைச் சரிபார்த்து, மீண்டும் முயலவும்.</translation>
 <translation id="2387458720915042159">ப்ராக்ஸி இணைப்பு வகை</translation>
@@ -1115,6 +1117,7 @@
 <translation id="2653659639078652383">சமர்ப்பி</translation>
 <translation id="265390580714150011">புல மதிப்பு</translation>
 <translation id="2654166010170466751">பேமண்ட் ஹேண்ட்லர்களை நிறுவுவதற்குத் தளங்களை அனுமதிக்கும்</translation>
+<translation id="2656742821229528729">உங்கள் கம்ப்யூட்டரிலிருந்து மெசேஜ் அனுப்புவதற்கு உங்கள் Android ஃபோனையும் Chromebookகையும் இணைக்கலாம், இணைய இணைப்பைப் பகிரலாம், உங்கள் ஃபோனிலிருந்து Chromebookகைத் திறக்கலாம்.<ph name="FOOTNOTE_POINTER" /> <ph name="LINK_BEGIN" />மேலும் அறிக<ph name="LINK_END" /></translation>
 <translation id="2659381484350128933"><ph name="FOOTNOTE_POINTER" />சாதனத்திற்கேற்ப அம்சங்கள் மாறுபடலாம்</translation>
 <translation id="2660779039299703961">நிகழ்வு</translation>
 <translation id="266079277508604648">பிரிண்டருடன் இணைக்க முடியவில்லை. பிரிண்டர் இயக்கப்பட்டு, வைஃபை அல்லது USB மூலம் அது உங்கள் Chromebook உடன் இணைக்கப்பட்டுள்ளதா எனச் சரிபார்க்கவும்.</translation>
@@ -1148,7 +1151,7 @@
 <translation id="270358213449696159">Google Chrome OS விதிமுறைகளின் உள்ளடக்கம்</translation>
 <translation id="2704184184447774363">Microsoft Document Signing</translation>
 <translation id="270516211545221798">டச்பேடின் வேகம்</translation>
-<translation id="2705736684557713153">திரையின் கீழ்ப் பகுதிக்குச் சென்று, "உடனடி இணைப்பு முறை" இருக்கிறதா என்று பார்க்கவும். இருந்தால் அதை இயக்கவும். இல்லை எனில், அதை ஏற்கனவே அமைத்துவிட்டீர்கள்.</translation>
+<translation id="2705736684557713153">திரையின் கீழ்ப் பகுதிக்குச் சென்று, "உடனடி இணைப்பு முறை" தெரிந்தால் அதை இயக்கவும். இல்லை எனில், அதை ஏற்கனவே அமைத்துவிட்டீர்கள்.</translation>
 <translation id="2707024448553392710">உறுப்பு பதிவிறக்கப்படுகிறது</translation>
 <translation id="270921614578699633">இதன் சராசரி</translation>
 <translation id="2709453993673701466">ஒத்திசைவையும் தனிப்பயனாக்கத்தையும் இயக்குவதற்கு முன், அவற்றை நிர்வகிக்க வேண்டுமா? <ph name="BEGIN_LINK" />அமைப்புகளுக்குச்<ph name="END_LINK" /> செல்லவும்.</translation>
@@ -1156,7 +1159,7 @@
 <translation id="271033894570825754">புதிது</translation>
 <translation id="2714393097308983682">Google Play ஸ்டோர்</translation>
 <translation id="2715751256863167692">இந்தப் புதுப்பிப்பை நிறுவினால், உங்கள் Chromebook மீட்டமைக்கப்பட்டு, தற்போதைய பயனர் தரவு அகற்றப்படும்.</translation>
-<translation id="2718395828230677721">இரவு ஒளி</translation>
+<translation id="2718395828230677721">நைட் லைட்</translation>
 <translation id="2718998670920917754">வைரஸ் தடுப்பு மென்பொருள் வைரஸைக் கண்டறிந்துள்ளது.</translation>
 <translation id="2719936478972253983">பின்வரும் குக்கீகள் தடுக்கப்பட்டன:</translation>
 <translation id="2721037002783622288"><ph name="SEARCH_ENGINE" /> இல் படத்தைத் &amp;தேடு</translation>
@@ -1255,7 +1258,7 @@
 <translation id="2861301611394761800">கணினிப் புதுப்பிப்பு முடிந்தது. கணினியை மறுதொடக்கம் செய்க.</translation>
 <translation id="2861941300086904918">Native Client பாதுகாப்பு நிர்வாகி</translation>
 <translation id="2864601841139725659">சுயவிவரப் படத்தை அமைக்கவும்</translation>
-<translation id="2867768963760577682">பின்செய்யப்பட்ட தாவலாகத் திற</translation>
+<translation id="2867768963760577682">பொருத்திய தாவலாகத் திற</translation>
 <translation id="2868746137289129307">இந்த நீட்டிப்பு காலாவதியானது, நிறுவனக் கொள்கையால் முடக்கப்பட்டுள்ளது. புதிய பதிப்புக் கிடைக்கும் போது தானாகவே இயக்கப்பட வாய்ப்புள்ளது.</translation>
 <translation id="2870560284913253234">தளம்</translation>
 <translation id="2870909136778269686">புதுப்பிக்கிறது...</translation>
@@ -1269,7 +1272,7 @@
 <translation id="2881076733170862447">நீங்கள் நீட்டிப்பைக் கிளிக் செய்யும்போது</translation>
 <translation id="2881966438216424900">கடைசியாக அணுகியது:</translation>
 <translation id="2882943222317434580">சிறிது நேரத்தில் <ph name="IDS_SHORT_PRODUCT_NAME" /> மீண்டும் துவங்கப்பட்டு, மீட்டமைக்கப்படும்</translation>
-<translation id="2885378588091291677">பணி நிர்வாகி</translation>
+<translation id="2885378588091291677">செயல் நிர்வாகி</translation>
 <translation id="2886771036282400576">• <ph name="PERMISSION" /></translation>
 <translation id="2887525882758501333">PDF ஆவணம்</translation>
 <translation id="2888807692577297075">&lt;b&gt;"<ph name="SEARCH_STRING" />"&lt;/b&gt; உடன் பொருந்தும் உருப்படிகள் எதுவுமில்லை</translation>
@@ -1419,6 +1422,7 @@
 <translation id="3115128645424181617">மொபைலைக் கண்டறிய முடியவில்லை. மொபைல் அருகில் இருப்பதையும் புளூடூத் இயக்கப்பட்டிருப்பதையும் உறுதிப்படுத்திக்கொள்ளவும்.</translation>
 <translation id="3115147772012638511">தேக்ககத்திற்காக காத்திருக்கிறது...</translation>
 <translation id="3118319026408854581"><ph name="PRODUCT_NAME" /> உதவி</translation>
+<translation id="3119484583572640616">Better Togetherரை இயக்குவதன் மூலம் இந்த அம்சங்கள் கிடைக்கும்:</translation>
 <translation id="3120430004221004537">குறிப்பிட்ட செயல்பாட்டுக்குப் போதுமான என்க்ரிப்ட் இல்லாத சாதனம்: "<ph name="DEVICE_NAME" />".</translation>
 <translation id="3121793941267913344">இந்த <ph name="IDS_SHORT_PRODUCT_NAME" /> சாதனத்தை மீட்டமைக்கவும்</translation>
 <translation id="3122464029669770682">CPU</translation>
@@ -1732,10 +1736,11 @@
 <translation id="3596235046596950091">கிளவுட் சேவைகளை இயக்கு</translation>
 <translation id="3599863153486145794">உள்நுழைந்த எல்லாச் சாதனங்களிலிருந்தும் வரலாற்றை அழிக்கும். உங்கள் Google கணக்கு, <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> என்ற இணைப்பில் உலாவல் வரலாறு தொடர்பான பிற தகவல்களைக் கொண்டிருக்கக்கூடும்.</translation>
 <translation id="3600792891314830896">ஒலியை இயக்கும் தளங்களில் ஒலியடக்கு</translation>
+<translation id="360180734785106144">புதிய அம்சங்கள் கிடைக்கும்போது அவற்றை வழங்கும்</translation>
 <translation id="3602290021589620013">மாதிரிக்காட்சி</translation>
 <translation id="3603533104205588786">பக்கத்தைப் புத்தகக்குறியிட, நட்சத்திரத்தைக் கிளிக் செய்யலாம்</translation>
 <translation id="3603622770190368340">நெட்வொர்க் சான்றிதழ் பெறுதல்</translation>
-<translation id="3604048165392640554">மொபைல் இணைப்பு இல்லை. உங்கள் பிற சாதனங்களில் உடனடி இணைப்பு முறையை இயக்கி, மீண்டும் முயலவும். &lt;a target="_blank" href="<ph name="URL" />"&gt;மேலும் அறிக&lt;/a&gt;</translation>
+<translation id="3604048165392640554">மொபைல் இணைப்பு இல்லை. உங்கள் பிற சாதனங்களில் 'உடனடி இணைப்பு முறையை' இயக்கி, மீண்டும் முயலவும். &lt;a target="_blank" href="<ph name="URL" />"&gt;மேலும் அறிக&lt;/a&gt;</translation>
 <translation id="3605780360466892872">பட்டன்டவுண்</translation>
 <translation id="3606712892509067288">Better Togetherரிலிருந்து அகற்றும்</translation>
 <translation id="3608454375274108141">F10</translation>
@@ -1970,7 +1975,7 @@
 <translation id="392089482157167418">ChromeVox (பேச்சுவடிவ கருத்து) ஐ இயக்கு</translation>
 <translation id="3924145049010392604">Meta</translation>
 <translation id="3925573269917483990">கேமரா:</translation>
-<translation id="3925842537050977900">அடுக்கிலிருந்துக் காட்டு</translation>
+<translation id="3925842537050977900">அடுக்கிலிருந்து பிரித்தெடு</translation>
 <translation id="3926002189479431949">Smart Lock இன் ஃபோன் மாற்றப்பட்டது</translation>
 <translation id="3927932062596804919">மறு</translation>
 <translation id="3930521966936686665">இதில் இயக்கு</translation>
@@ -2067,7 +2072,6 @@
 <translation id="4068506536726151626">உங்கள் இருப்பிடத்தைத் தெரிந்து கொள்ளக் கூடிய பின்வரும் தளங்களின் கூறுகள் இந்தப் பக்கத்தில் உள்ளன:</translation>
 <translation id="4068776064906523561">சேமித்த கைரேகைகள்</translation>
 <translation id="407173827865827707">கிளிக் செய்யும் போது</translation>
-<translation id="4071770069230198275"><ph name="PROFILE_NAME" />: உள்நுழைவு பிழை</translation>
 <translation id="4074900173531346617">மின்னஞ்சல் கையொப்பமிடுநர் சான்றிதழ்</translation>
 <translation id="407520071244661467">அளவு</translation>
 <translation id="4075639477629295004"><ph name="FILE_NAME" />ஐ அலைபரப்ப முடியவில்லை.</translation>
@@ -2192,7 +2196,7 @@
 <translation id="4282196459431406533">Smart Lock இயக்கப்பட்டது</translation>
 <translation id="4284105660453474798">"$1" ஐ நிச்சயமாக நீக்க வேண்டுமா?</translation>
 <translation id="4285418559658561636">கடவுச்சொல்லைப் புதுப்பி</translation>
-<translation id="4285498937028063278">நிலையாக வைக்க வேண்டாம்</translation>
+<translation id="4285498937028063278">பிரித்தெடு</translation>
 <translation id="428565720843367874">இந்தக் கோப்பை ஸ்கேன் செய்யும்போது எதிர்பாராதவிதமாக வைரஸ் தடுப்பு மென்பொருள் தோல்வியடைந்தது.</translation>
 <translation id="428608937826130504">ஷெல்ஃப் உருப்படி 8</translation>
 <translation id="4287502004382794929">இந்தச் சாதனத்தைப் பதிவுசெய்வதற்கு போதுமான மென்பொருள் உரிமங்கள் உங்களிடம் இல்லை. மேலும் வாங்க, விற்பனையைத் தொடர்புகொள்ளவும். பிழை காரணமாக இந்தச் செய்தியைப் பார்க்கிறீர்கள் என நினைத்தால், ஆதரவைத் தொடர்புகொள்ளவும்.</translation>
@@ -2721,7 +2725,7 @@
 <translation id="5125751979347152379">செல்லுபடியாகாத URL.</translation>
 <translation id="5127881134400491887">நெட்வொர்க் இணைப்புகளை நிர்வகி</translation>
 <translation id="512903556749061217">இணைக்கப்பட்டது</translation>
-<translation id="5133483819862530305">சூரிய அஸ்தமனம் முதல் சூரிய உதயம் வரை</translation>
+<translation id="5133483819862530305">மாலை முதல் காலை வரை</translation>
 <translation id="5135533361271311778">புக்மார்க் உருப்படியை உருவாக்க முடியவில்லை.</translation>
 <translation id="5136529877787728692">F7</translation>
 <translation id="5137501176474113045">இந்த உருப்படியை நீக்கு</translation>
@@ -2869,6 +2873,7 @@
 <translation id="5332624210073556029">நேர மண்டலம்:</translation>
 <translation id="5334142896108694079">ஸ்கிரிப்ட் தற்காலிக சேமிப்பு</translation>
 <translation id="5334844597069022743">மூலத்தைக் காட்டுக</translation>
+<translation id="5334899159203764908"><ph name="BEGIN_LINK" />தள அணுகலைப்<ph name="END_LINK" /> பற்றி மேலும் அறிக</translation>
 <translation id="5335458522276292100"><ph name="BEGIN_LINK" />Google இயக்ககத்திற்கு<ph name="END_LINK" /> <ph name="FILE_COUNT" /> கோப்புகளைக் காப்புப் பிரதி எடுக்கிறது</translation>
 <translation id="5336126339807372270">USB சாதனங்களை அணுக, எந்தத் தளத்தையும் அனுமதிக்காதே</translation>
 <translation id="5337771866151525739">மூன்றாம் தரப்பால் நிறுவப்பட்டதாகும்.</translation>
@@ -2976,6 +2981,7 @@
 <translation id="5487521232677179737">தரவை அழி</translation>
 <translation id="5488093641312826914">'<ph name="COPIED_ITEM_NAME" />' நகலெடுக்கப்பட்டது</translation>
 <translation id="5488468185303821006">மறைநிலையில் அனுமதி</translation>
+<translation id="5489121514345187313">உங்கள் ஃபோனுடன் இணைக்கும்போது Chromebook இன்னும் சிறப்பாக வேலை செய்யும். <ph name="LINK_BEGIN" />மேலும் அறிக<ph name="LINK_END" /></translation>
 <translation id="5489435190927933437"><ph name="DOMAIN" /> இணையதளத்திற்கான சேமிக்கப்பட்ட கடவுச்சொற்கள்</translation>
 <translation id="5491110079163012109">சாதனத் தரவை அனுப்பும். பிழை அறிக்கைகளையும் சாதனம் மற்றும் பயன்பாட்டின் உபயோகத் தரவையும் தானாகவே Googleக்கு அனுப்பும். உரிமையாளர் இந்த அமைப்பைச் செயல்படுத்துவதுடன், இந்தச் சாதனத்தின் பிழை அறிக்கைகளையும் உபயோகத் தரவையும் Googleக்கு அனுப்ப தேர்வுசெய்யக்கூடும். இதை நீங்கள் அமைப்புகளில் பார்க்கலாம். கூடுதல் இணையம் மற்றும் பயன்பாட்டுச் செயல்பாடு இயக்கத்தில் இருந்தால், இந்தத் தகவல் உங்கள் கணக்கில் சேமிக்கப்படும், எனது செயல்பாடு என்பதில் இதை நீங்கள் நிர்வகிக்கலாம். <ph name="BEGIN_LINK1" />மேலும் அறிக<ph name="END_LINK1" /></translation>
 <translation id="5493792505296048976">திரை இயக்கப்பட்டுள்ளது</translation>
@@ -3148,6 +3154,7 @@
 <translation id="5731409020711461763">1 புதிய படம்</translation>
 <translation id="5734362860645681824">தகவல்தொடர்புகள்</translation>
 <translation id="5736796278325406685">சரியான பயனர்பெயரை உள்ளிடவும்</translation>
+<translation id="5739235828260127894">சரிபார்ப்புக்காகக் காத்திருக்கிறது. <ph name="LINK_BEGIN" />மேலும் அறிக<ph name="LINK_END" /></translation>
 <translation id="5739458112391494395">மிகப் பெரியது</translation>
 <translation id="5740331643563157105"><ph name="LANGUAGE_1" />, <ph name="LANGUAGE_2" />, மேலும் <ph name="NUM_ADDITIONAL_LANGUAGES" /> மொழிகள்</translation>
 <translation id="574209121243317957">குரல் அழுத்தம்</translation>
@@ -3251,6 +3258,7 @@
 <translation id="5870086504539785141">அணுகல்தன்மை மெனுவை மூடு</translation>
 <translation id="5870155679953074650">ஹார்டு ஃபால்ட்கள்</translation>
 <translation id="5877064549588274448">சேனல் மாற்றப்பட்டது. மாற்றங்களைச் செயல்படுத்த உங்கள் சாதனத்தை மீண்டும் தொடங்கவும்.</translation>
+<translation id="5877584842898320529">தேர்ந்தெடுத்த பிரிண்டர் இல்லை அல்லது சரியாக நிறுவப்படவில்லை.<ph name="BR" /> பிரிண்டரைச் சரிபார்க்கவும் அல்லது மற்றொரு பிரிண்டரைத் தேர்ந்தெடுக்கவும்.</translation>
 <translation id="5880247576487732437">டோக்கன் உள்ளது</translation>
 <translation id="5882919346125742463">தெரிந்த நெட்வொர்க்குகள்</translation>
 <translation id="5884474295213649357">இந்தத் தாவல் USB சாதனத்துடன் இணைக்கப்பட்டுள்ளது.</translation>
@@ -3317,6 +3325,7 @@
 <translation id="5979469435153841984">பக்கங்களைப் புத்தகக்குறியிட, முகவரிப் பட்டியிலுள்ள நட்சத்திரத்தைக் கிளிக் செய்யவும்</translation>
 <translation id="5982621672636444458">வரிசைப்படுத்தல் விருப்பங்கள்</translation>
 <translation id="5984222099446776634">சமீபத்தில் பார்த்தவை</translation>
+<translation id="5985458664595100876">தவறான URL வடிவமைப்பு. ஆதரிக்கப்படும் வடிவமைப்புகள்: \\server\share, smb://server/share.</translation>
 <translation id="5990142338020175451">சிறந்த பக்கப் பரிந்துரைகள் போன்ற கூடுதல் தனிப்பட்ட Google சேவைகள்</translation>
 <translation id="5990386583461751448">மொழிபெயர்க்கப்பட்டது</translation>
 <translation id="5991049340509704927">பெரிதாக்கலாம்</translation>
@@ -3345,6 +3354,7 @@
 <translation id="6026819612896463875"><ph name="WINDOW_TITLE" /> - USB சாதனம் இணைக்கப்பட்டது</translation>
 <translation id="6028117231645531007">கைரேகையைச் சேர்</translation>
 <translation id="6029027682598229313">Linux நிறுவல் முடிந்தது.</translation>
+<translation id="6029292188939175871">[<ph name="FINGERPRINT_NAME" />]ஐ நீக்கு, பட்டன்</translation>
 <translation id="6029587122245504742">குறைந்தபட்ச வேகம்</translation>
 <translation id="6032912588568283682">கோப்பு முறைமை</translation>
 <translation id="6034662038931255275">OS புதுப்பிக்கப்பட்டது</translation>
@@ -3458,7 +3468,6 @@
 <translation id="6185132558746749656">சாதன இருப்பிடம்</translation>
 <translation id="6185617499004995178">CUPS IPP வேலிடேட்டர்</translation>
 <translation id="6185696379715117369">பக்கத்தின் மேலே</translation>
-<translation id="6189273858858366896">நெட்வொர்க் கோப்புப் பகிர்வுகளை அமைக்கலாம் அல்லது நிர்வகிக்கலாம்.</translation>
 <translation id="6189412234224385711"><ph name="EXTENSION_NAME" /> மூலம் திற</translation>
 <translation id="6196640612572343990">மூன்றாம் தரப்புக் குக்கீகளைத் தடு</translation>
 <translation id="6196854373336333322"><ph name="EXTENSION_NAME" /> நீட்டிப்பு உங்கள் ப்ராக்ஸி அமைப்புகளைக் கட்டுப்படுத்துகிறது, அதாவது நீங்கள் ஆன்லைனில் செய்யும் எல்லாவற்றையும் அதனால் மாற்ற முடியும், தடுக்க முடியும் அல்லது ஒட்டுக் கேட்க முடியும். இது ஏன் நடந்தது எனத் தெரியவில்லை எனில், உங்களுக்கு இது தேவைப்படாத ஒன்றாக இருக்கும்.</translation>
@@ -3561,7 +3570,7 @@
 <translation id="6340017061976355871">சேவையகத்துடன் இணைக்க முடியவில்லை. நெட்வொர்க் இணைப்பைச் சரிபார்த்து, மீண்டும் முயலவும். சிக்கல் தொடர்ந்தால், Chromebookகை மீண்டும் தொடங்கவும்.</translation>
 <translation id="6340071272923955280">இன்டர்நெட் பிரிண்டிங் புரோட்டோகால் (IPPS)</translation>
 <translation id="6341850831632289108">உங்கள் நிஜ இருப்பிடத்தைக் கண்டறியலாம்</translation>
-<translation id="634208815998129842">காரிய நிர்வாகி</translation>
+<translation id="634208815998129842">செயல் நிர்வாகி</translation>
 <translation id="6344170822609224263">நெட்வொர்க் இணைப்புகளின் பட்டியலை அணுகு</translation>
 <translation id="6346310558342052870">அணுகல் கட்டுப்படுத்தப்பட்டுள்ளது</translation>
 <translation id="6349170655202535379">ஒத்திசைவு வேலை செய்யவில்லை. வெளியேறி, மீண்டும் உள்நுழையவும்.</translation>
@@ -3626,7 +3635,7 @@
 <translation id="6436164536244065364">இணைய அங்காடியில் காண்க</translation>
 <translation id="6438992844451964465"><ph name="WINDOW_TITLE" /> - ஆடியோ இயக்கப்படுகிறது</translation>
 <translation id="6442187272350399447">அற்புதம்</translation>
-<translation id="6442697326824312960">பொருத்தப்படாத தாவல்</translation>
+<translation id="6442697326824312960">தாவலைப் பிரித்தெடு</translation>
 <translation id="6444070574980481588">தேதியையும் நேரத்தையும் அமை</translation>
 <translation id="6445450263907939268">உங்களுக்கு இந்த மாற்றங்கள் பிடிக்கவில்லை எனில், முந்தைய அமைப்புகளை நீங்கள் மீட்டெடுக்கலாம்.</translation>
 <translation id="6447842834002726250">குக்கீகள்</translation>
@@ -3764,6 +3773,7 @@
 <translation id="6643016212128521049">அழி</translation>
 <translation id="6644512095122093795">கடவுச்சொற்களைச் சேமிப்பதற்குக் கேள்</translation>
 <translation id="6644846457769259194">சாதனத்தைப் புதுப்பிக்கிறது (<ph name="PROGRESS_PERCENT" />)</translation>
+<translation id="6645437135153136856">தேர்ந்தெடுக்கப்பட்ட ‘Google மேகக்கணி அச்சு’ சாதனம் இனி ஆதரிக்கப்படாது. <ph name="BR" /> உங்கள் கம்ப்யூட்டரின் சிஸ்டம் அமைப்புகளில் பிரிண்டரை அமைக்க முயலவும்.</translation>
 <translation id="6647228709620733774">Netscape சான்றளிக்கும் மைய தளர்த்தல் URL</translation>
 <translation id="6647838571840953560">தற்போதைய சேனல்: <ph name="CHANNEL_NAME" /></translation>
 <translation id="6648051959475508072">பாதுகாப்பு விசை செயல்படுத்தப்பட்டது...</translation>
@@ -3785,7 +3795,6 @@
 <translation id="667517062706956822">இந்தப் பக்கத்தை <ph name="SOURCE_LANGUAGE" /> மொழியிலிருந்து <ph name="TARGET_LANGUAGE" /> மொழிக்கு Google மொழிபெயர்க்க வேண்டும் என விரும்புகிறீர்களா?</translation>
 <translation id="6675665718701918026">சுட்டும் சாதனம் இணைக்கப்பட்டது</translation>
 <translation id="6678717876183468697">வினவல் URL</translation>
-<translation id="6680028776254050810">பயனர்களை மாற்று</translation>
 <translation id="6680442031740878064">இருக்கும் இடம்: <ph name="AVAILABLE_SPACE" /></translation>
 <translation id="6680650203439190394">மதிப்பிடு</translation>
 <translation id="6681668084120808868">புகைப்படம் எடு</translation>
@@ -3794,7 +3803,6 @@
 <translation id="668599234725812620">Google Playஐத் திற</translation>
 <translation id="6686490380836145850">வலப்பக்கத்தில் உள்ள தாவல்களை மூடுக</translation>
 <translation id="6686817083349815241">உங்கள் கடவுச்சொல்லைச் சேமிக்கவும்</translation>
-<translation id="6690565918367819723"><ph name="PROFILE_NAME" /> நபரை மாற்று</translation>
 <translation id="6690659332373509948">கோப்பைப் பாகுபடுத்த முடியவில்லை: <ph name="FILE_NAME" /></translation>
 <translation id="6690751852586194791">இந்தச் சாதனத்துடன் சேர்க்க கண்காணிக்கப்படும் பயனரைத் தேர்வுசெய்யவும்.</translation>
 <translation id="6691331417640343772">ஒத்திசைத்த தரவை Google டாஷ்போர்டில் நிர்வகி</translation>
@@ -4131,6 +4139,7 @@
 <translation id="7201118060536064622">'<ph name="DELETED_ITEM_NAME" />' நீக்கப்பட்டது</translation>
 <translation id="7206693748120342859"><ph name="PLUGIN_NAME" /> ஐப் பதிவிறக்குகிறது...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{பக்கத்திலிருந்து வெளியேறு}other{பக்கங்களிலிருந்து வெளியேறு}}</translation>
+<translation id="7210499381659830293">நீட்டிப்பு பிரிண்டர்கள்</translation>
 <translation id="721467499098558573">உங்கள் பாதுகாப்பு விசையில் உள்ள பட்டனைக் குறைந்தது 5 வினாடிகளுக்கு அழுத்திப் பிடித்திருக்கவும்</translation>
 <translation id="7216409898977639127">செல்லுலார் வழங்குநர்</translation>
 <translation id="7216595297012131718">உங்கள் விருப்பத்தேர்வின் அடிப்படையில் மொழிகளை வரிசைப்படுத்தவும்</translation>
@@ -4209,6 +4218,7 @@
 <translation id="7321545336522791733">சேவையகத்தைத் தொடர்புகொள்ள  முடியவில்லை</translation>
 <translation id="7324297612904500502">பீட்டா மன்றம்</translation>
 <translation id="7325437708553334317">உயர் நிறமாறுபாடு நீட்டிப்பு</translation>
+<translation id="7328162502911382168">(<ph name="COUNT" />)</translation>
 <translation id="7328867076235380839">தவறான சேர்க்கை</translation>
 <translation id="7329154610228416156">பாதுகாப்பற்ற URLஐப் (<ph name="BLOCKED_URL" />) பயன்படுத்தும்படி உள்ளமைக்கப்பட்டதால் உள்நுழைவு தோல்வியானது. உங்கள் நிர்வாகியைத் தொடர்புகொள்ளவும்.</translation>
 <translation id="7334190995941642545">தற்போது Smart Lock கிடைக்கவில்லை. பின்னர் முயற்சிக்கவும்.</translation>
@@ -4480,12 +4490,12 @@
 <translation id="7782102568078991263">Google இலிருந்து மேலும் பரிந்துரைகள் இல்லை</translation>
 <translation id="778330624322499012"><ph name="PLUGIN_NAME" /> ஐ ஏற்ற முடியவில்லை</translation>
 <translation id="7784067724422331729">உங்கள் கணினியில் உள்ள பாதுகாப்பு அமைப்புகள் இந்தக் கோப்பைத் தடுத்துள்ளன.</translation>
-<translation id="778480864305029524">உடனடி இணைப்பு முறையைப் பயன்படுத்த, Google Play சேவைகளுக்கான அறிவிப்புகளை இயக்கவும்.</translation>
+<translation id="778480864305029524">'உடனடி இணைப்பு முறையைப்' பயன்படுத்த, Google Play சேவைகளுக்கான அறிவிப்புகளை இயக்கவும்.</translation>
 <translation id="7786207843293321886">விருந்தினரை வெளியேற்று</translation>
 <translation id="7786889348652477777">&amp;பயன்பாட்டை மீண்டும் ஏற்று</translation>
 <translation id="7787308148023287649">வேறு திரையில் காட்டும்</translation>
-<translation id="7788080748068240085">"<ph name="FILE_NAME" />" கோப்பை ஆஃப்லைனில் சேமிக்க, கூடுதலாக <ph name="TOTAL_FILE_SIZE" /> ஐக் காலியாக்க வேண்டும்:<ph name="MARKUP_1" />
-        <ph name="MARKUP_2" />ஆஃப்லைனில் இனி அணுக தேவையற்ற கோப்புகளை அகற்றவும்<ph name="MARKUP_3" />
+<translation id="7788080748068240085">"<ph name="FILE_NAME" />" கோப்பை ஆஃப்லைனில் சேமிக்க, கூடுதலாக <ph name="TOTAL_FILE_SIZE" /> இடத்தைக் காலியாக்க வேண்டும்:<ph name="MARKUP_1" />
+        <ph name="MARKUP_2" />ஆஃப்லைனில் இனி அணுகத் தேவையற்ற கோப்புகளை அகற்றவும்<ph name="MARKUP_3" />
         <ph name="MARKUP_4" />பதிவிறக்கக் கோப்புறையிலிருந்து கோப்புகளை நீக்கவும்<ph name="MARKUP_5" /></translation>
 <translation id="7788298548579301890">உங்கள் கணினியில் உள்ள மற்றொரு நிரல், Chrome செயல்படும் முறையை மாற்றக்கூடிய பயன்பாட்டைச் சேர்த்துள்ளது.
 
@@ -4802,6 +4812,7 @@
 <translation id="8199300056570174101">நெட்வொர்க் (சேவை) மற்றும் சாதனப் பண்புகள்</translation>
 <translation id="8200772114523450471">மீண்டும் தொடங்கு</translation>
 <translation id="8202160505685531999">உங்கள் <ph name="DEVICE_TYPE" /> சுயவிவரத்தைப் புதுப்பிக்க உங்கள் கடவுச்சொல்லை மீண்டும் உள்ளிடவும்.</translation>
+<translation id="8203732864715032075">இந்தக் கம்ப்யூட்டரை இயல்பாக நினைவில் வைத்து, மெசேஜஸ் அறிவிப்புகளை அனுப்பும். <ph name="LINK_BEGIN" />மேலும் அறிக<ph name="LINK_END" /></translation>
 <translation id="8206354486702514201">இந்த அமைப்பு உங்கள் நிர்வாகியால் செயலாக்கப்பட்டுள்ளது.</translation>
 <translation id="8206745257863499010">ப்ளூஸி</translation>
 <translation id="8209677645716428427">உங்கள் வழிகாட்டுதல் மூலம் கண்காணிக்கப்படும் பயனர் இணையத்தை உலாவலாம். Chrome இல் கண்காணிக்கப்படும் பயனரின் நிர்வாகியாக நீங்கள் இதைச் செய்யலாம்:</translation>
@@ -4876,7 +4887,7 @@
 <translation id="8326478304147373412">PKCS #7, சான்றிதழ் சங்கிலி</translation>
 <translation id="8327039559959785305">Linux கோப்புகளை ஏற்றுவதில் பிழை ஏற்பட்டது. மீண்டும் முயலவும்.</translation>
 <translation id="8329978297633540474">எளிய உரை</translation>
-<translation id="8335587457941836791">அடுக்கிலிருந்து காட்டு</translation>
+<translation id="8335587457941836791">அடுக்கிலிருந்து பிரித்தெடு</translation>
 <translation id="8336153091935557858">நேற்று <ph name="YESTERDAY_DAYTIME" /></translation>
 <translation id="8338952601723052325">டெவலப்பர் இணையதளம்</translation>
 <translation id="8339059274628563283">சாதனத்தில் சேமிக்கப்பட்ட <ph name="SITE" /> தரவு</translation>
@@ -4997,7 +5008,7 @@
 <translation id="8528074251912154910">மொழிகளைச் சேர்</translation>
 <translation id="8528962588711550376">உள்நுழைகிறீர்கள்.</translation>
 <translation id="8529026713753283969">இந்த மொபைலில் அறிவிப்பைப் பெறுவீர்கள் என்பதால், மொபைலை அருகில் வைக்கவும்.</translation>
-<translation id="8529925957403338845">உடனடி இணைப்புமுறை மூலம் இணைக்க முடியவில்லை</translation>
+<translation id="8529925957403338845">'உடனடி இணைப்புமுறை' மூலம் இணைக்க முடியவில்லை</translation>
 <translation id="8534656636775144800">அச்சச்சோ!  டொமைனில் சேர முயலும் போது, ஏதோ தவறாகிவிட்டது. மீண்டும் முயலவும்.</translation>
 <translation id="8535005006684281994">Netscape சான்றிதழ் புதுப்பிப்பு URL</translation>
 <translation id="8538358978858059843">அலைபரப்பலுக்கான கிளவுட் சேவைகளை இயக்கவா?</translation>
@@ -5113,7 +5124,6 @@
 <translation id="869884720829132584">பயன்பாடுகள் மெனு</translation>
 <translation id="869891660844655955">காலாவதியாகும் தேதி</translation>
 <translation id="8699566574894671540">இதை இயக்க, முதலில் Edit மெனுவில் Check Spelling While Typing என்பதைத் தேர்ந்தெடுக்கவும்</translation>
-<translation id="870073306461175568">நெட்வொர்க் கோப்புப் பகிர்வுகள்</translation>
 <translation id="8701677791353449257">சாதனத்தின் பெயர், <ph name="REGEX" /> என்ற ரெகுலர் எக்ஸ்ப்ரெஷனுடன் பொருந்த வேண்டும்.</translation>
 <translation id="8704521619148782536">இது வழக்கமான நேரத்தைவிட அதிகமாக எடுக்கிறது. நீங்கள் தொடர்ந்து காத்திருக்கலாம் அல்லது ரத்துசெய்து, பின்னர் முயற்சிக்கலாம்.</translation>
 <translation id="8705331520020532516">வரிசை எண்</translation>
@@ -5298,7 +5308,6 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> - சிதைந்துவிட்டது</translation>
 <translation id="8983677657449185470">பாதுகாப்பான உலாவலை மேம்படுத்த உதவுக</translation>
 <translation id="8984179138335769204">Quick launch</translation>
-<translation id="8984654317541110628">கோப்புப் பகிர்வு URL</translation>
 <translation id="8986362086234534611">மற</translation>
 <translation id="8986494364107987395">பயன்பாட்டுப் புள்ளிவிவரங்களையும் சிதைவு அறிக்கைகளையும் தானாகவே Google க்கு அனுப்பு</translation>
 <translation id="8987927404178983737">மாதம்</translation>
@@ -5396,7 +5405,7 @@
 <translation id="9115675100829699941">&amp;புக்மார்க்குகள்</translation>
 <translation id="9116465289595958864">கடைசியாக மாற்றியது</translation>
 <translation id="9116799625073598554">குறிப்பெடுக்கும் பயன்பாடு</translation>
-<translation id="9121814364785106365">பின்செய்யப்பட்ட தாவலாகத் திற</translation>
+<translation id="9121814364785106365">பொருத்திய தாவலாகத் திற</translation>
 <translation id="9124003689441359348">சேமித்த கடவுச்சொற்கள் இங்கே தோன்றும்</translation>
 <translation id="912419004897138677">கோடெக்</translation>
 <translation id="9125466540846359910"><ph name="LICENSE_TYPE" /> (<ph name="LICENSE_COUNT" /> ரெம்)</translation>
diff --git a/chrome/app/resources/generated_resources_te.xtb b/chrome/app/resources/generated_resources_te.xtb
index 77c4afd..49a09ebc 100644
--- a/chrome/app/resources/generated_resources_te.xtb
+++ b/chrome/app/resources/generated_resources_te.xtb
@@ -275,6 +275,7 @@
 <translation id="1395730723686586365">అప్‌డేటర్ ప్రారంభించబడింది</translation>
 <translation id="1396139853388185343">ప్రింటర్‌ని సెటప్ చేస్తున్నప్పుడు ఎర్రర్ ఏర్పడింది</translation>
 <translation id="1396963298126346194">మీరు నమోదు చేసిన వినియోగదారు పేరు మరియు పాస్‌వర్డ్ సరిపోలలేదు</translation>
+<translation id="1397500194120344683">అర్హత గల పరికరాలు లేవు. <ph name="LINK_BEGIN" />మరింత తెలుసుకోండి<ph name="LINK_END" /></translation>
 <translation id="1397854323885047133">సమకాలీకరణ మరియు వ్యక్తిగతీకరణ</translation>
 <translation id="1398853756734560583">గరిష్ఠీకరించు</translation>
 <translation id="1399511500114202393">వినియోగదారు సర్టిఫికెట్ లేదు</translation>
@@ -375,7 +376,6 @@
 <translation id="1531004739673299060">అప్లికేషన్ విండో</translation>
 <translation id="15373452373711364">పెద్ద మౌస్ కర్సర్</translation>
 <translation id="1538729222189715449">Linux ఫైల్‌లను తెరుస్తోంది...</translation>
-<translation id="153933193410874873">మేము ఈ పరికరంలో మీ గుర్తింపును ధృవీకరించలేకపోయాము</translation>
 <translation id="1540605929960647700">డెమో మోడ్‌ని ప్రారంభించండి</translation>
 <translation id="1543284117603151572">Edge నుండి దిగుమతి చేసినవి</translation>
 <translation id="1545177026077493356">స్వయంచాలక కియోస్క్ మోడ్</translation>
@@ -529,6 +529,7 @@
 <translation id="175772926354468439">థీమ్‌ను ప్రారంభించు</translation>
 <translation id="1758018619400202187">EAP-TLS</translation>
 <translation id="17584710573359123">Chrome వెబ్ స్టోర్‌లో చూడండి</translation>
+<translation id="176193854664720708">వేలిముద్ర సెన్సార్ పవర్ బటన్‌లో ఉంది. ఏదైనా వేలితో మెల్లిగా దానిని తాకండి.</translation>
 <translation id="1763046204212875858">అప్లికేషన్ షార్ట్‌కట్‌లను సృష్టించు</translation>
 <translation id="1763108912552529023">విశ్లేషణ కొనసాగించండి</translation>
 <translation id="1763808908432309942">కొత్త ట్యాబ్‌లో తెరవబడుతుంది</translation>
@@ -682,7 +683,6 @@
 <translation id="1981115145845865539">మీ <ph name="DEVICE_TYPE" />ని స్వయంచాలకంగా అన్‌లాక్ చేయండి</translation>
 <translation id="1983959805486816857">మీరు క్రొత్త పర్యవేక్షించబడే వినియోగదారును సృష్టించిన తర్వాత, ఏ సమయంలో అయినా ఏ పరికరం నుండి అయినా <ph name="MANAGEMENT_URL" />లో సెట్టింగ్‌లను నిర్వహించవచ్చు.</translation>
 <translation id="1984642098429648350">విండోను కుడివైపుకు డాక్ చేయి</translation>
-<translation id="1987139229093034863">మరొక వినియోగదారుకు మారండి.</translation>
 <translation id="1987317783729300807">ఖాతాలు</translation>
 <translation id="1989112275319619282">బ్రౌజ్ చేయి</translation>
 <translation id="1992397118740194946">సెట్ చెయ్యలేదు</translation>
@@ -823,6 +823,7 @@
 <translation id="2208158072373999562">జిప్ ఆర్కైవ్</translation>
 <translation id="220858061631308971">దయచేసి ఈ PIN కోడ్‌ని "<ph name="DEVICE_NAME" />"లో నమోదు చేయండి:</translation>
 <translation id="2209593327042758816">అర అంశం 2</translation>
+<translation id="2212126039311489237">సిస్టమ్ డైలాగ్‌ని ఉపయోగించి ముద్రించు</translation>
 <translation id="2217501013957346740">పేరును సృష్టించండి -</translation>
 <translation id="2218019600945559112">మౌస్ మరియు టచ్‌ప్యాడ్</translation>
 <translation id="2218320521449013367">Chrome హానికరమైన సాఫ్ట్‌వేర్‌ని తీసివేస్తున్నప్పుడు ఎర్రర్ సంభవించింది</translation>
@@ -935,6 +936,7 @@
 <translation id="2378075407703503998"><ph name="SELCTED_FILE_COUNT" /> ఫైల్‌లు ఎంచుకోబడ్డాయి</translation>
 <translation id="237828693408258535">ఈ పేజీని అనువదించాలా?</translation>
 <translation id="2378982052244864789">పొడిగింపు డైరెక్టరీని ఎంచుకోండి.</translation>
+<translation id="2379281330731083556">సిస్టమ్ డైలాగ్‌ ఉపయోగించి ముద్రించు ...<ph name="SHORTCUT_KEY" /></translation>
 <translation id="2381756643783702095">పంపడానికి ముందు అడుగుతుంది (సిఫార్సు చేయబడింది)</translation>
 <translation id="2384436799579181135">లోపం సంభవించింది. దయచేసి మీ ప్రింటర్‌ని తనిఖీ చేసి మళ్లీ ప్రయత్నించండి.</translation>
 <translation id="2387458720915042159">ప్రాక్సీ కనెక్షన్ రకం</translation>
@@ -1114,6 +1116,7 @@
 <translation id="2653659639078652383">సమర్పించు</translation>
 <translation id="265390580714150011">ఫీల్డ్ విలువ</translation>
 <translation id="2654166010170466751">చెల్లింపు హ్యాండ్లర్‌లను ఇన్‌స్టాల్ చేయడానికి సైట్‌లను అనుమతించండి</translation>
+<translation id="2656742821229528729">మీ కంప్యూటర్ నుండి వచన సందేశాలను పంపడానికి, మీ ఇంటర్నెట్ కనెక్షన్‌ను షేర్ చేయడానికి, అలాగే మీ ఫోన్‌తో మీ Chromebookను అన్‌లాక్ చేయడానికి మీ Android ఫోన్ మరియు Chromebookను కనెక్ట్ చేయండి.<ph name="FOOTNOTE_POINTER" /> <ph name="LINK_BEGIN" />మరింత తెలుసుకోండి<ph name="LINK_END" /></translation>
 <translation id="2659381484350128933"><ph name="FOOTNOTE_POINTER" />పరికరాన్ని బట్టి ఫీచర్‌లు మారతాయి</translation>
 <translation id="2660779039299703961">ఈవెంట్</translation>
 <translation id="266079277508604648">ప్రింటర్‌కి కనెక్ట్ చేయడం సాధ్యం కాదు. ప్రింటర్‌ని ఆన్ చేసినట్లు, దానిని Wi-Fi లేదా USB ద్వారా మీ Chromebookకి కనెక్ట్ చేసినట్లు నిర్ధారించుకోండి.</translation>
@@ -1418,6 +1421,7 @@
 <translation id="3115128645424181617">మీ ఫోన్‌ను కనుగొనలేము. అది చేతికి అందేంత దగ్గర్లో ఉందని మరియు బ్లూటూత్ ఆన్ చేసి ఉన్నట్లు నిర్ధారించుకోండి.</translation>
 <translation id="3115147772012638511">కాష్ కోసం వేచి ఉంది...</translation>
 <translation id="3118319026408854581"><ph name="PRODUCT_NAME" /> సహాయం</translation>
+<translation id="3119484583572640616">Better Togetherను ఆన్ చేస్తే, అది క్రిందివాటిని చేయగలదు:</translation>
 <translation id="3120430004221004537">దీనిలో నిర్దిష్ట చర్య కోసం తగిన గుప్తీకరణ లేదు: "<ph name="DEVICE_NAME" />".</translation>
 <translation id="3121793941267913344">ఈ <ph name="IDS_SHORT_PRODUCT_NAME" /> పరికరాన్ని రీసెట్ చేయండి</translation>
 <translation id="3122464029669770682">CPU</translation>
@@ -1732,6 +1736,7 @@
 <translation id="3596235046596950091">క్లౌడ్ సేవలను ప్రారంభించు</translation>
 <translation id="3599863153486145794">సైన్ ఇన్ చేసిన అన్ని పరికరాల నుండి చరిత్రను తొలగిస్తుంది. మీ Google ఖాతా <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />లో ఇతర రూపాల్లో ఉన్న బ్రౌజింగ్ చరిత్రను కలిగి ఉండవచ్చు.</translation>
 <translation id="3600792891314830896">ధ్వనిని ప్లే చేసే సైట్‌లను మ్యూట్ చేయండి</translation>
+<translation id="360180734785106144">కొత్త ఫీచర్‌లు అందుబాటులోకి వస్తే వాటిని అందించడం</translation>
 <translation id="3602290021589620013">పరిదృశ్యం</translation>
 <translation id="3603533104205588786">మీరు పేజీని బుక్‌మార్క్ చేసేందుకు నక్షత్రం గుర్తును క్లిక్ చేయవచ్చు</translation>
 <translation id="3603622770190368340">నెట్‌వర్క్ ప్రమాణపత్రాన్ని పొందండి</translation>
@@ -2067,7 +2072,6 @@
 <translation id="4068506536726151626">ఈ పేజీలో మీ స్థానాన్ని ట్రాక్ చేస్తున్న క్రింది సైట్‌ల ఎలిమెంట్‌లు ఉన్నాయి:</translation>
 <translation id="4068776064906523561">సేవ్ చేయబడిన వేలిముద్రలు</translation>
 <translation id="407173827865827707">క్లిక్ చేసినప్పుడు</translation>
-<translation id="4071770069230198275"><ph name="PROFILE_NAME" />: సైన్ ఇన్ లోపం</translation>
 <translation id="4074900173531346617">ఇమెయిల్ సైన్ చేసినవారి సర్టిఫికెట్</translation>
 <translation id="407520071244661467">ప్రమాణం</translation>
 <translation id="4075639477629295004"><ph name="FILE_NAME" />ని ప్రసారం చేయడం సాధ్యపడలేదు.</translation>
@@ -2869,6 +2873,7 @@
 <translation id="5332624210073556029">టైమ్ జోన్:</translation>
 <translation id="5334142896108694079">స్క్రిప్ట్ క్యాష్</translation>
 <translation id="5334844597069022743">మూలాన్ని చూడండి</translation>
+<translation id="5334899159203764908"><ph name="BEGIN_LINK" />సైట్ యాక్సెస్<ph name="END_LINK" /> గురించి మరింత తెలుసుకోండి</translation>
 <translation id="5335458522276292100"><ph name="FILE_COUNT" /> వాటిని <ph name="BEGIN_LINK" />Google డిస్క్<ph name="END_LINK" />కు బ్యాకప్ చేస్తోంది</translation>
 <translation id="5336126339807372270">USB పరికరాలను యాక్సెస్ చేయడానికి ఏ సైట్‌లను అనుమతించవద్దు</translation>
 <translation id="5337771866151525739">మూడవ పక్షం ద్వారా ఇన్‌స్టాల్ చేయబడింది.</translation>
@@ -2976,6 +2981,7 @@
 <translation id="5487521232677179737">డేటాని తీసివేయి</translation>
 <translation id="5488093641312826914">'<ph name="COPIED_ITEM_NAME" />' కాపీ చేయబడింది</translation>
 <translation id="5488468185303821006">అజ్ఞాతంలో అనుమతించు</translation>
+<translation id="5489121514345187313">మీ Chromebook మీ ఫోన్‌‌తో మరింత మెరుగ్గా పనిచేస్తుంది. <ph name="LINK_BEGIN" />మరింత తెలుసుకోండి<ph name="LINK_END" /></translation>
 <translation id="5489435190927933437"><ph name="DOMAIN" /> కోసం సేవ్ చేసిన పాస్‌వర్డ్‌లు</translation>
 <translation id="5491110079163012109">సిస్టమ్ డేటాని పంపండి. సమస్య విశ్లేషణ మరియు పరికర మరియు యాప్ వినియోగ డేటాని ఆటోమేటిక్‌గా Googleకి పంపండి. ఈ సెట్టింగ్‌ని యజమాని ప్రారంభించారు. ఈ పరికరం యొక్క సమస్య విశ్లేషణ మరియు వినియోగ డేటాని Googleకి పంపేలా యజమాని ఎంచుకోవచ్చు. మీరు దీనిని సెట్టింగ్‌లలో చూడవచ్చు. మీరు అదనపు వెబ్ &amp; యాప్ కార్యకలాపాన్ని ఆన్ చేసి ఉంటే, ఈ సమాచారం మీ ఖాతాలో నిల్వ చేయబడుతుంది, కనుక మీరు నా కార్యకలాపంలో దీనిని నిర్వహించవచ్చు. <ph name="BEGIN_LINK1" />మరింత తెలుసుకోండి<ph name="END_LINK1" /></translation>
 <translation id="5493792505296048976">స్క్రీన్ ఆన్‌లో ఉంది</translation>
@@ -3147,6 +3153,7 @@
 <translation id="5731409020711461763">1 కొత్త ఫోటో</translation>
 <translation id="5734362860645681824">కమ్యూనికేషన్‌లు</translation>
 <translation id="5736796278325406685">దయచేసి చెల్లుబాటు అయ్యే వినియోగదారు పేరును నమోదు చేయండి</translation>
+<translation id="5739235828260127894">ధృవీకరణ కోసం వేచి ఉంది. <ph name="LINK_BEGIN" />మరింత తెలుసుకోండి<ph name="LINK_END" /></translation>
 <translation id="5739458112391494395">చాలా పెద్దవిగా</translation>
 <translation id="5740331643563157105"><ph name="LANGUAGE_1" />, <ph name="LANGUAGE_2" /> మరియు మరో <ph name="NUM_ADDITIONAL_LANGUAGES" /></translation>
 <translation id="574209121243317957">పిచ్</translation>
@@ -3250,6 +3257,7 @@
 <translation id="5870086504539785141">ప్రాప్యత మెనుని మూసివేయండి</translation>
 <translation id="5870155679953074650">క్లిష్టమైన లోపాలు</translation>
 <translation id="5877064549588274448">ఛానెల్ మార్చబడింది. మార్పులను వర్తింపజేయడానికి మీ పరికరాన్ని పునఃప్రారంభించండి.</translation>
+<translation id="5877584842898320529">ఎంచుకున్న ప్రింటర్ అందుబాటులో లేదు లేదా సరిగ్గా ఇన్‌స్టాల్ చేయబడలేదు. <ph name="BR" /> మీ ప్రింటర్‌ను తనిఖీ చేయండి లేదా మరొక ప్రింటర్‌ను ఎంచుకోవడాన్ని ప్రయత్నించండి.</translation>
 <translation id="5880247576487732437">టోకెన్ ఉంది</translation>
 <translation id="5882919346125742463">తెలిసిన నెట్‌వర్క్‌లు</translation>
 <translation id="5884474295213649357">ఈ ట్యాబ్ USB పరికరానికి కనెక్ట్ చేయబడింది.</translation>
@@ -3316,6 +3324,7 @@
 <translation id="5979469435153841984">పేజీలను బుక్‌మార్క్ చేయాలంటే, చిరునామా బార్‌లో ఉన్న నక్షత్రాన్ని క్లిక్ చేయండి</translation>
 <translation id="5982621672636444458">క్రమబద్ధీకరణ ఎంపికలు</translation>
 <translation id="5984222099446776634">ఇటీవల సందర్శించినవి</translation>
+<translation id="5985458664595100876">URL ఫార్మాట్ చెల్లదు. మద్దతు ఉన్న ఫార్మాట్‌లు \\server\share మరియు smb://server/share.</translation>
 <translation id="5990142338020175451">మెరుగైన పేజీ సూచనల వంటి, మరిన్ని వ్యక్తిగత Google సేవలు</translation>
 <translation id="5990386583461751448">అనువదించబడింది</translation>
 <translation id="5991049340509704927">పెద్దదిగా చేయండి</translation>
@@ -3344,6 +3353,7 @@
 <translation id="6026819612896463875"><ph name="WINDOW_TITLE" /> - USB పరికరం కనెక్ట్ చేయబడింది</translation>
 <translation id="6028117231645531007">వేలిముద్రను జోడించండి</translation>
 <translation id="6029027682598229313">Linuxను ఇన్‌స్టాల్ చేయడం పూర్తయింది.</translation>
+<translation id="6029292188939175871">తొలగించు [<ph name="FINGERPRINT_NAME" />], బటన్</translation>
 <translation id="6029587122245504742">అత్యంత నెమ్మది</translation>
 <translation id="6032912588568283682">ఫైల్ సిస్టమ్</translation>
 <translation id="6034662038931255275">OS అప్‌డేట్ విజయవంతమైంది</translation>
@@ -3457,7 +3467,6 @@
 <translation id="6185132558746749656">పరికర స్థానం</translation>
 <translation id="6185617499004995178">CUPS IPP వాలిడేటర్</translation>
 <translation id="6185696379715117369">ఎగువ పేజీకి వెళ్లుతుంది</translation>
-<translation id="6189273858858366896">నెట్‌వర్క్ ఫైల్ షేర్‌లను సెటప్ చేయండి లేదా నిర్వహించండి.</translation>
 <translation id="6189412234224385711"><ph name="EXTENSION_NAME" />తో తెరవండి</translation>
 <translation id="6196640612572343990">మూడవ పక్షం కుక్కీలను బ్లాక్ చేయి</translation>
 <translation id="6196854373336333322">"<ph name="EXTENSION_NAME" />" పొడిగింపు మీ ప్రాక్సీ సెట్టింగ్‌లపై నియంత్రణను కలిగి ఉంది, అంటే ఇది మీరు ఆన్‌లైన్‌‍లో చేసే ప్రతిదీ మార్చగలదు, విచ్ఛిన్నం చేయగలదు లేదా మీకు తెలియకుండా గమనించగలదు. ఈ మార్పు ఎందుకు జరిగిందో మీకు సరిగ్గా తెలియదంటే, బహుశా మీరు ఇది కోరుకొని ఉండకపోవచ్చు.</translation>
@@ -3763,6 +3772,7 @@
 <translation id="6643016212128521049">క్లియర్ చేయి</translation>
 <translation id="6644512095122093795">పాస్‌వర్డ్‌లను సేవ్ చెయ్యడానికి ప్రతిపాదన</translation>
 <translation id="6644846457769259194">మీ పరికరం నవీకరించబడుతోంది (<ph name="PROGRESS_PERCENT" />)</translation>
+<translation id="6645437135153136856">ఎంచుకున్న Google క్లౌడ్ ప్రింట్ పరికరానికి ఇప్పుడు మద్దతు లేదు. <ph name="BR" /> మీ కంప్యూటర్ సిస్టమ్ సెట్టింగ్‌లలో ప్రింటర్‌ని సెటప్ చేయడాన్ని ప్రయత్నించండి.</translation>
 <translation id="6647228709620733774">Netscape ప్రమాణపత్రం అధికార రద్దు URL</translation>
 <translation id="6647838571840953560">ప్రస్తుతం <ph name="CHANNEL_NAME" />లో ఉన్నారు</translation>
 <translation id="6648051959475508072">భద్రతా కీ యాక్టివేట్ చేయబడింది...</translation>
@@ -3784,7 +3794,6 @@
 <translation id="667517062706956822">ఈ పేజీని Google <ph name="SOURCE_LANGUAGE" /> నుండి <ph name="TARGET_LANGUAGE" />కి అనువదించాలని మీరు కోరుకుంటున్నారా?</translation>
 <translation id="6675665718701918026">సూచిస్తున్న పరికరం కనెక్ట్ చేయబడింది</translation>
 <translation id="6678717876183468697">ప్రశ్న URL</translation>
-<translation id="6680028776254050810">వినియోగదారులను మార్చు</translation>
 <translation id="6680442031740878064">అందుబాటులో ఉంది: <ph name="AVAILABLE_SPACE" /></translation>
 <translation id="6680650203439190394">రేట్</translation>
 <translation id="6681668084120808868">ఫోటోను తీయి</translation>
@@ -3793,7 +3802,6 @@
 <translation id="668599234725812620">Google Playని తెరువు</translation>
 <translation id="6686490380836145850">కుడివైపు ట్యాబ్‌లను మూసివేయి</translation>
 <translation id="6686817083349815241">మీ పాస్‌వర్డ్‌ను సేవ్ చేయండి</translation>
-<translation id="6690565918367819723"><ph name="PROFILE_NAME" /> వ్యక్తిని మార్చు</translation>
 <translation id="6690659332373509948">ఈ ఫైల్‌ను అన్వయించడం సాధ్యపడలేదు: <ph name="FILE_NAME" /></translation>
 <translation id="6690751852586194791">ఈ పరికరానికి జోడించడానికి పర్యవేక్షించబడే వినియోగదారుని ఎంచుకోండి.</translation>
 <translation id="6691331417640343772">Google డాష్‌బోర్డ్‌లో సమకాలీకరించబడిన డేటాని నిర్వహించండి</translation>
@@ -4130,6 +4138,7 @@
 <translation id="7201118060536064622">'<ph name="DELETED_ITEM_NAME" />' తొలగించబడింది</translation>
 <translation id="7206693748120342859"><ph name="PLUGIN_NAME" />ని డౌన్‌లోడ్ చేస్తోంది...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{పేజీ నుండి నిష్క్రమించు}other{పేజీల నుండి నిష్క్రమించు}}</translation>
+<translation id="7210499381659830293">ఎక్స్‌టెన్షన్ ప్రింటర్‌లు</translation>
 <translation id="721467499098558573">మీ భద్రతా కీపై ఉన్న బటన్‌ను కనీసం 5 సెకన్ల పాటు నొక్కి, పట్టుకోండి</translation>
 <translation id="7216409898977639127">సెల్యులార్ ప్రదాత</translation>
 <translation id="7216595297012131718">భాషలను మీ ప్రాధాన్యత ఆధారంగా క్రమం చేస్తుంది</translation>
@@ -4208,6 +4217,7 @@
 <translation id="7321545336522791733">సర్వర్ అందుబాటులో లేదు</translation>
 <translation id="7324297612904500502">బీటా ఫోరమ్</translation>
 <translation id="7325437708553334317">అధిక కాంట్రాస్ట్ పొడిగింపు</translation>
+<translation id="7328162502911382168">(<ph name="COUNT" />)</translation>
 <translation id="7328867076235380839">చెల్లని కాంబినేషన్</translation>
 <translation id="7329154610228416156">అసురక్షిత URL (<ph name="BLOCKED_URL" />)ని ఉపయోగించేలా కాన్ఫిగర్ చేయబడినందున సైన్-ఇన్ విఫలమైంది. దయచేసి మీ నిర్వాహకుడిని సంప్రదించండి.</translation>
 <translation id="7334190995941642545">Smart Lock ప్రస్తుతం అందుబాటులో లేదు. దయచేసి తర్వాత మళ్లీ ప్రయత్నించండి.</translation>
@@ -4795,6 +4805,7 @@
 <translation id="8199300056570174101">నెట్‌వర్క్ (సేవ) మరియు పరికర లక్షణాలు</translation>
 <translation id="8200772114523450471">మళ్ళీ ప్రారంభించు</translation>
 <translation id="8202160505685531999">దయచేసి మీ <ph name="DEVICE_TYPE" /> ప్రొఫైల్‌ను నవీకరించడానికి మీ పాస్‌వర్డ్‌ను మళ్లీ నమోదు చేయండి.</translation>
+<translation id="8203732864715032075">మీకు నోటిఫికేషన్‌లను పంపుతుంది, అలాగే సందేశాల కోసం ఈ కంప్యూటర్‌ను డిఫాల్ట్‌గా గుర్తుపెట్టుకుంటుంది. <ph name="LINK_BEGIN" />మరింత తెలుసుకోండి<ph name="LINK_END" /></translation>
 <translation id="8206354486702514201">ఈ సెట్టింగ్ మీ నిర్వాహకుడి ద్వారా అమలు చేయబడింది.</translation>
 <translation id="8206745257863499010">బ్లూసై</translation>
 <translation id="8209677645716428427">పర్యవేక్షించబడే వినియోగదారు మీ మార్గదర్శకత్వంతో వెబ్‌ను విశ్లేషించవచ్చు. Chromeలో పర్యవేక్షించబడే వినియోగదారు యొక్క నిర్వాహకునిగా మీరు వీటిని చేయవచ్చు:</translation>
@@ -5107,7 +5118,6 @@
 <translation id="869884720829132584">అనువర్తనాల మెను</translation>
 <translation id="869891660844655955">గడువు తేదీ</translation>
 <translation id="8699566574894671540">దీన్ని ఆన్ చేయడానికి, మొదట సవరణ మెనూలో టైప్ చేస్తున్నప్పుడు స్పెల్లింగ్‌ను తనిఖీ చేయిని ఎంచుకోండి</translation>
-<translation id="870073306461175568">నెట్‌వర్క్ ఫైల్ షేర్‌లు</translation>
 <translation id="8701677791353449257">పరికరం పేరు రెగ్యులర్ ఎక్స్‌ప్రెషన్‌ <ph name="REGEX" />కు సరిపోలాలి.</translation>
 <translation id="8704521619148782536">ఇందుకు సాధారణంగా పట్టే సమయం కంటే ఎక్కువసేపు పడుతోంది. మీరు నిరీక్షించవచ్చు లేదా రద్దు చేసి, తర్వాత మళ్లీ ప్రయత్నించవచ్చు.</translation>
 <translation id="8705331520020532516">క్రమ సంఖ్య</translation>
@@ -5292,7 +5302,6 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> - క్రాష్ అయ్యింది</translation>
 <translation id="8983677657449185470">సురక్షిత బ్రౌజింగ్‌ను మెరుగుపరచడంలో సహాయపడండి</translation>
 <translation id="8984179138335769204">శీఘ్ర ప్రారంభం</translation>
-<translation id="8984654317541110628">ఫైల్ షేర్ URL</translation>
 <translation id="8986362086234534611">మరిచిపోయారా</translation>
 <translation id="8986494364107987395">వినియోగ గణాంకాలు మరియు క్రాష్ నివేదికలను ఆటోమేటిక్‌గా Googleకు పంపు</translation>
 <translation id="8987927404178983737">నెల</translation>
diff --git a/chrome/app/resources/generated_resources_th.xtb b/chrome/app/resources/generated_resources_th.xtb
index 21ef0f26..24f3074 100644
--- a/chrome/app/resources/generated_resources_th.xtb
+++ b/chrome/app/resources/generated_resources_th.xtb
@@ -275,6 +275,7 @@
 <translation id="1395730723686586365">โปรแกรมอัปเดตเริ่มต้นแล้ว</translation>
 <translation id="1396139853388185343">เกิดข้อผิดพลาดในการตั้งค่าเครื่องพิมพ์</translation>
 <translation id="1396963298126346194">ชื่อผู้ใช้และรหัสผ่านที่คุณป้อนไม่ตรงกัน</translation>
+<translation id="1397500194120344683">ไม่มีอุปกรณ์ที่มีสิทธิ์ <ph name="LINK_BEGIN" />ดูข้อมูลเพิ่มเติม<ph name="LINK_END" /></translation>
 <translation id="1397854323885047133">การซิงค์และการปรับเปลี่ยนในแบบของคุณ</translation>
 <translation id="1398853756734560583">ย่อ</translation>
 <translation id="1399511500114202393">ไม่มีใบรับรองของผู้ใช้</translation>
@@ -375,7 +376,6 @@
 <translation id="1531004739673299060">หน้าต่างแอปพลิเคชัน</translation>
 <translation id="15373452373711364">เคอร์เซอร์เมาส์ขนาดใหญ่</translation>
 <translation id="1538729222189715449">กำลังเปิดไฟล์ Linux...</translation>
-<translation id="153933193410874873">เรายืนยันตัวตนของคุณในอุปกรณ์เครื่องนี้ไม่ได้</translation>
 <translation id="1540605929960647700">เปิดใช้โหมดสาธิต</translation>
 <translation id="1543284117603151572">นำเข้าจาก Edge</translation>
 <translation id="1545177026077493356">โหมดคีออสก์อัตโนมัติ</translation>
@@ -529,6 +529,7 @@
 <translation id="175772926354468439">เปิดใช้งานธีม</translation>
 <translation id="1758018619400202187">EAP-TLS</translation>
 <translation id="17584710573359123">ดูใน Chrome เว็บสโตร์</translation>
+<translation id="176193854664720708">เซ็นเซอร์ลายนิ้วมืออยู่ในปุ่มเปิด/ปิด โปรดแตะเบาๆ ด้วยนิ้วใดก็ได้</translation>
 <translation id="1763046204212875858">สร้างทางลัดไปยังแอปพลิเคชัน</translation>
 <translation id="1763108912552529023">สำรวจต่อไป</translation>
 <translation id="1763808908432309942">เปิดในแท็บใหม่</translation>
@@ -682,7 +683,6 @@
 <translation id="1981115145845865539">ปลดล็อก <ph name="DEVICE_TYPE" /> โดยอัตโนมัติ</translation>
 <translation id="1983959805486816857">หลังจากที่คุณสร้างผู้ใช้ภายใต้การดูแลใหม่ คุณสามารถจัดการการตั้งค่าได้ทุกเมื่อจากอุปกรณ์ใดๆ ที่ <ph name="MANAGEMENT_URL" /></translation>
 <translation id="1984642098429648350">จัดวางหน้าต่างไว้ทางขวา</translation>
-<translation id="1987139229093034863">สลับเป็นผู้ใช้อื่น</translation>
 <translation id="1987317783729300807">บัญชี</translation>
 <translation id="1989112275319619282">เล่นเน็ต</translation>
 <translation id="1992397118740194946">ไม่ได้ตั้งค่า</translation>
@@ -823,6 +823,7 @@
 <translation id="2208158072373999562">การเก็บถาวรแบบ Zip</translation>
 <translation id="220858061631308971">โปรดป้อนรหัส PIN นี้บน "<ph name="DEVICE_NAME" />":</translation>
 <translation id="2209593327042758816">รายการชั้นวาง 2</translation>
+<translation id="2212126039311489237">พิมพ์โดยใช้หน้าต่างโต้ตอบของระบบ</translation>
 <translation id="2217501013957346740">สร้างชื่อ -</translation>
 <translation id="2218019600945559112">เมาส์และทัชแพด</translation>
 <translation id="2218320521449013367">เกิดข้อผิดพลาดขณะที่ Chrome กำลังนำซอฟต์แวร์ที่เป็นอันตรายออก</translation>
@@ -935,6 +936,7 @@
 <translation id="2378075407703503998">เลือก <ph name="SELCTED_FILE_COUNT" /> ไฟล์</translation>
 <translation id="237828693408258535">แปลหน้านี้ไหม</translation>
 <translation id="2378982052244864789">เลือกไดเรกทอรีของส่วนขยาย</translation>
+<translation id="2379281330731083556">พิมพ์โดยใช้ช่องโต้ตอบของระบบ... <ph name="SHORTCUT_KEY" /></translation>
 <translation id="2381756643783702095">ถามก่อนที่จะส่ง (แนะนำ)</translation>
 <translation id="2384436799579181135">เกิดข้อผิดพลาด โปรดตรวจสอบเครื่องพิมพ์และลองอีกครั้ง</translation>
 <translation id="2387458720915042159">ประเภทการเชื่อมต่อพร็อกซี</translation>
@@ -1114,6 +1116,7 @@
 <translation id="2653659639078652383">ส่ง</translation>
 <translation id="265390580714150011">ค่าฟิลด์ </translation>
 <translation id="2654166010170466751">อนุญาตให้เว็บไซต์ติดตั้งเครื่องจัดการการชำระเงิน</translation>
+<translation id="2656742821229528729">เชื่อมต่อโทรศัพท์ Android และ Chromebook เพื่อส่งข้อความจากคอมพิวเตอร์ แชร์การเชื่อมต่ออินเทอร์เน็ต และปลดล็อก Chromebook ด้วยโทรศัพท์<ph name="FOOTNOTE_POINTER" /> <ph name="LINK_BEGIN" />ดูข้อมูลเพิ่มเติม<ph name="LINK_END" /></translation>
 <translation id="2659381484350128933"><ph name="FOOTNOTE_POINTER" />ฟีเจอร์แตกต่างกันไปตามอุปกรณ์</translation>
 <translation id="2660779039299703961">กิจกรรม</translation>
 <translation id="266079277508604648">เชื่อมต่อเครื่องพิมพ์ไม่ได้ โปรดตรวจสอบว่าเครื่องพิมพ์เปิดอยู่และเชื่อมต่อกับ Chromebook ผ่าน Wi-Fi หรือ USB</translation>
@@ -1418,6 +1421,7 @@
 <translation id="3115128645424181617">ไม่พบโทรศัพท์ของคุณ โปรดตรวจสอบว่าโทรศัพท์อยู่ใกล้ๆ มือและเปิดบลูทูธอยู่</translation>
 <translation id="3115147772012638511">กำลังรอแคช...</translation>
 <translation id="3118319026408854581">ความช่วยเหลือของ <ph name="PRODUCT_NAME" /></translation>
+<translation id="3119484583572640616">การเปิด Better Together จะทำให้ดำเนินการต่อไปนี้ได้</translation>
 <translation id="3120430004221004537">การเข้ารหัสสำหรับการดำเนินการที่ระบุไม่เพียงพอใน "<ph name="DEVICE_NAME" />"</translation>
 <translation id="3121793941267913344">รีเซ็ตอุปกรณ์ <ph name="IDS_SHORT_PRODUCT_NAME" /></translation>
 <translation id="3122464029669770682">CPU</translation>
@@ -1732,6 +1736,7 @@
 <translation id="3596235046596950091">เปิดใช้บริการระบบคลาวด์</translation>
 <translation id="3599863153486145794">ล้างประวัติจากอุปกรณ์ที่ลงชื่อเข้าใช้ทั้งหมด บัญชี Google อาจมีประวัติการท่องเว็บรูปแบบอื่นๆ ที่ <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /></translation>
 <translation id="3600792891314830896">ปิดเสียงไซต์ที่เล่นเสียง</translation>
+<translation id="360180734785106144">นำเสนอฟีเจอร์ใหม่ๆ เมื่อพร้อมให้บริการ</translation>
 <translation id="3602290021589620013">ดูตัวอย่าง</translation>
 <translation id="3603533104205588786">คุณสามารถคลิกดาวเพื่อบุ๊กมาร์กหน้า</translation>
 <translation id="3603622770190368340">รับใบรับรองเครือข่าย</translation>
@@ -2067,7 +2072,6 @@
 <translation id="4068506536726151626">หน้าเว็บนี้มีองค์ประกอบจากไซต์ต่อไปนี้ ซึ่งกำลังติดตามตำแหน่งของคุณ:</translation>
 <translation id="4068776064906523561">ลายนิ้วมือที่บันทึกไว้</translation>
 <translation id="407173827865827707">เมื่อคลิก</translation>
-<translation id="4071770069230198275"><ph name="PROFILE_NAME" />: เกิดข้อผิดพลาดในการลงชื่อเข้าใช้</translation>
 <translation id="4074900173531346617">ใบรับรองผู้เซ็นชื่อในอีเมล</translation>
 <translation id="407520071244661467">ปรับขนาด</translation>
 <translation id="4075639477629295004">ไม่สามารถแคสต์ <ph name="FILE_NAME" /></translation>
@@ -2869,6 +2873,7 @@
 <translation id="5332624210073556029">โซนเวลา:</translation>
 <translation id="5334142896108694079">แคชของสคริปต์</translation>
 <translation id="5334844597069022743">ดูโค้ดต้นฉบับ</translation>
+<translation id="5334899159203764908">ดูข้อมูลเพิ่มเติมเกี่ยวกับ<ph name="BEGIN_LINK" />การเข้าถึงเว็บไซต์<ph name="END_LINK" /></translation>
 <translation id="5335458522276292100">กำลังสำรอง <ph name="FILE_COUNT" />ไปยัง <ph name="BEGIN_LINK" />Google ไดรฟ์<ph name="END_LINK" /></translation>
 <translation id="5336126339807372270">ไม่อนุญาตให้เว็บไซต์เข้าถึงอุปกรณ์ USB</translation>
 <translation id="5337771866151525739">ติดตั้งโดยบุคคลที่สาม</translation>
@@ -2976,6 +2981,7 @@
 <translation id="5487521232677179737">ล้างข้อมูล</translation>
 <translation id="5488093641312826914">คัดลอก "<ph name="COPIED_ITEM_NAME" />" แล้ว</translation>
 <translation id="5488468185303821006">อนุญาตให้ใช้โหมดไม่ระบุตัวตน</translation>
+<translation id="5489121514345187313">Chromebook จะทำงานได้ดียิ่งขึ้นหากใช้ร่วมกับโทรศัพท์ <ph name="LINK_BEGIN" />ดูข้อมูลเพิ่มเติม<ph name="LINK_END" /></translation>
 <translation id="5489435190927933437">รหัสผ่านที่บันทึกไว้สำหรับ <ph name="DOMAIN" /></translation>
 <translation id="5491110079163012109">ส่งข้อมูลระบบ ส่งข้อมูลการวินิจฉัยและข้อมูลการใช้งานอุปกรณ์และแอปไปยัง Google โดยอัตโนมัติ เจ้าของเป็นผู้บังคับใช้การตั้งค่านี้และอาจเลือกที่จะส่งข้อมูลการวินิจฉัยและการใช้งานอุปกรณ์นี้ไปยัง Google คุณดูการตั้งค่านี้ได้ในการตั้งค่า หากคุณเปิดกิจกรรมบนเว็บและแอปเพิ่มเติม ระบบจะเก็บข้อมูลนี้ไว้กับบัญชีเพื่อให้คุณจัดการได้ในกิจกรรมของฉัน <ph name="BEGIN_LINK1" />ดูข้อมูลเพิ่มเติม<ph name="END_LINK1" /></translation>
 <translation id="5493792505296048976">เปิดหน้าจอ</translation>
@@ -3147,6 +3153,7 @@
 <translation id="5731409020711461763">รูปภาพใหม่ 1 รูป</translation>
 <translation id="5734362860645681824">การสื่อสาร</translation>
 <translation id="5736796278325406685">โปรดป้อนชื่อผู้ใช้ที่ถูกต้อง</translation>
+<translation id="5739235828260127894">กำลังรอการยืนยัน <ph name="LINK_BEGIN" />ดูข้อมูลเพิ่มเติม<ph name="LINK_END" /></translation>
 <translation id="5739458112391494395">ใหญ่มาก</translation>
 <translation id="5740331643563157105"><ph name="LANGUAGE_1" />, <ph name="LANGUAGE_2" /> และอีก <ph name="NUM_ADDITIONAL_LANGUAGES" /> ภาษา</translation>
 <translation id="574209121243317957">ระดับเสียงสูงต่ำ</translation>
@@ -3250,6 +3257,7 @@
 <translation id="5870086504539785141">ปิดเมนูการเข้าถึง</translation>
 <translation id="5870155679953074650">ฮาร์ดฟอลต์</translation>
 <translation id="5877064549588274448">เปลี่ยนช่องแล้ว รีสตาร์ทอุปกรณ์เพื่อใช้การเปลี่ยนแปลง</translation>
+<translation id="5877584842898320529">เครื่องพิมพ์ที่เลือกไว้ไม่พร้อมใช้งานหรือไม่ได้ติดตั้งไว้อย่างถูกต้อง <ph name="BR" /> โปรดตรวจสอบเครื่องพิมพ์หรือลองเลือกเครื่องพิมพ์อื่น</translation>
 <translation id="5880247576487732437">โทเค็นพร้อมใช้งาน</translation>
 <translation id="5882919346125742463">เครือข่ายที่รู้จัก</translation>
 <translation id="5884474295213649357">แท็บนี้เชื่อมต่อกับอุปกรณ์ USB อยู่</translation>
@@ -3316,6 +3324,7 @@
 <translation id="5979469435153841984">หากต้องการบุ๊กมาร์กหน้าต่างๆ ให้คลิกรูปดาวในแถบที่อยู่เว็บ</translation>
 <translation id="5982621672636444458">ตัวเลือกการจัดเรียง</translation>
 <translation id="5984222099446776634">เข้าชมล่าสุด</translation>
+<translation id="5985458664595100876">รูปแบบ URL ไม่ถูกต้อง รูปแบบที่รองรับคือ \\server\share และ smb://server/share</translation>
 <translation id="5990142338020175451">บริการของ Google ที่ตรงกับตัวคุณมากขึ้น เช่น คำแนะนำหน้าเว็บที่ดียิ่งขึ้น</translation>
 <translation id="5990386583461751448">แปลแล้ว</translation>
 <translation id="5991049340509704927">ขยาย</translation>
@@ -3344,6 +3353,7 @@
 <translation id="6026819612896463875"><ph name="WINDOW_TITLE" /> - เชื่อมต่ออุปกรณ์ USB อยู่</translation>
 <translation id="6028117231645531007">เพิ่มลายนิ้วมือ</translation>
 <translation id="6029027682598229313">ติดตั้ง Linux เสร็จสมบูรณ์แล้ว</translation>
+<translation id="6029292188939175871">ลบ [<ph name="FINGERPRINT_NAME" />], ปุ่ม</translation>
 <translation id="6029587122245504742">ช้าที่สุด</translation>
 <translation id="6032912588568283682">ระบบไฟล์</translation>
 <translation id="6034662038931255275">อัปเดตระบบปฏิบัติการสำเร็จแล้ว</translation>
@@ -3457,7 +3467,6 @@
 <translation id="6185132558746749656">ตำแหน่งของอุปกรณ์</translation>
 <translation id="6185617499004995178">โปรแกรมตรวจสอบ CUPS IPP</translation>
 <translation id="6185696379715117369">เลื่อนหน้าขึ้น</translation>
-<translation id="6189273858858366896">ตั้งค่าหรือจัดการการแชร์ไฟล์เครือข่าย</translation>
 <translation id="6189412234224385711">เปิดด้วย <ph name="EXTENSION_NAME" /></translation>
 <translation id="6196640612572343990">บล็อกคุกกี้ของบุคคลที่สาม</translation>
 <translation id="6196854373336333322">ส่วนขยาย "<ph name="EXTENSION_NAME" />" ได้เข้าควบคุมการตั้งค่าพร็อกซีของคุณ ซึ่งหมายความว่าส่วนขยายนี้จะสามารถเปลี่ยนแปลง ทำให้เสียหาย หรือดักฟังทุกอย่างที่คุณทำทางออนไลน์ได้ หากคุณไม่แน่ใจว่าการเปลี่ยนแปลงนี้เกิดขึ้นได้อย่างไร คุณอาจไม่ต้องการส่วนขยายนี้</translation>
@@ -3763,6 +3772,7 @@
 <translation id="6643016212128521049">ล้าง</translation>
 <translation id="6644512095122093795">เสนอให้บันทึกรหัสผ่าน</translation>
 <translation id="6644846457769259194">กำลังอัปเดตอุปกรณ์ (<ph name="PROGRESS_PERCENT" />)</translation>
+<translation id="6645437135153136856">ไม่รองรับอุปกรณ์ Google Cloud Print ที่เลือกอีกต่อไปแล้ว <ph name="BR" /> ลองตั้งค่าเครื่องพิมพ์ในการตั้งค่าระบบของคอมพิวเตอร์</translation>
 <translation id="6647228709620733774">URL การเพิกถอนผู้ออกใบรับรองของ Netscape</translation>
 <translation id="6647838571840953560">ขณะนี้อยู่ที่ช่อง <ph name="CHANNEL_NAME" /></translation>
 <translation id="6648051959475508072">เปิดใช้งานคีย์ความปลอดภัยแล้ว...</translation>
@@ -3784,7 +3794,6 @@
 <translation id="667517062706956822">คุณต้องการให้ Google แปลหน้านี้จากภาษา<ph name="SOURCE_LANGUAGE" />เป็นภาษา<ph name="TARGET_LANGUAGE" />ไหม</translation>
 <translation id="6675665718701918026">เชื่อมต่ออุปกรณ์ชี้ตำแหน่งแล้ว</translation>
 <translation id="6678717876183468697">URL ของคำค้นหา</translation>
-<translation id="6680028776254050810">สลับผู้ใช้</translation>
 <translation id="6680442031740878064">พร้อมใช้งาน: <ph name="AVAILABLE_SPACE" /></translation>
 <translation id="6680650203439190394">ความเร็ว</translation>
 <translation id="6681668084120808868">ถ่ายภาพ</translation>
@@ -3793,7 +3802,6 @@
 <translation id="668599234725812620">เปิด Google Play</translation>
 <translation id="6686490380836145850">ปิดแท็บทางด้านขวา</translation>
 <translation id="6686817083349815241">บันทึกรหัสผ่าน</translation>
-<translation id="6690565918367819723"><ph name="PROFILE_NAME" /> เปลี่ยนคน</translation>
 <translation id="6690659332373509948">ไม่สามารถแยกวิเคราะห์ไฟล์: <ph name="FILE_NAME" /></translation>
 <translation id="6690751852586194791">เลือกผู้ใช้ภายใต้การดูแลที่จะเพิ่มลงในอุปกรณ์นี้</translation>
 <translation id="6691331417640343772">จัดการข้อมูลที่ซิงค์ใน Google แดชบอร์ด</translation>
@@ -4130,6 +4138,7 @@
 <translation id="7201118060536064622">ลบ "<ph name="DELETED_ITEM_NAME" />" แล้ว</translation>
 <translation id="7206693748120342859">กำลังดาวน์โหลด <ph name="PLUGIN_NAME" />...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{หน้าที่ออกไป}other{หน้าที่ออกไป}}</translation>
+<translation id="7210499381659830293">เครื่องพิมพ์ส่วนขยาย</translation>
 <translation id="721467499098558573">กดปุ่มบนคีย์ความปลอดภัยค้างไว้อย่างน้อย 5 วินาที</translation>
 <translation id="7216409898977639127">ผู้ให้บริการเครือข่ายมือถือ</translation>
 <translation id="7216595297012131718">เรียงลำดับภาษาตามความต้องการของคุณ</translation>
@@ -4208,6 +4217,7 @@
 <translation id="7321545336522791733">ไม่สามารถเข้าถึงเซิร์ฟเวอร์</translation>
 <translation id="7324297612904500502">ฟอรัมเบต้า</translation>
 <translation id="7325437708553334317">ส่วนขยายภาพความคมชัดสูง</translation>
+<translation id="7328162502911382168">(<ph name="COUNT" />)</translation>
 <translation id="7328867076235380839">ชุดค่าผสมไม่ถูกต้อง</translation>
 <translation id="7329154610228416156">การลงชื่อเข้าใช้ล้มเหลวเนื่องจากมีการกำหนดค่าให้ใช้ URL ที่ไม่ปลอดภัย (<ph name="BLOCKED_URL" />) โปรดติดต่อผู้ดูแลระบบของคุณ</translation>
 <translation id="7334190995941642545">ไม่สามารถใช้ Smart Lock ได้ในขณะนี้ โปรดลองอีกครั้งในภายหลัง</translation>
@@ -4799,6 +4809,7 @@
 <translation id="8199300056570174101">เครือข่าย (บริการ) และคุณสมบัติอุปกรณ์</translation>
 <translation id="8200772114523450471">ทำต่อ</translation>
 <translation id="8202160505685531999">โปรดป้อนรหัสผ่านใหม่เพื่ออัปเดตโปรไฟล์ <ph name="DEVICE_TYPE" /> ของคุณ</translation>
+<translation id="8203732864715032075">ส่งการแจ้งเตือนให้คุณและตั้งค่าเริ่มต้นให้ Messages จดจำคอมพิวเตอร์เครื่องนี้ <ph name="LINK_BEGIN" />ดูข้อมูลเพิ่มเติม<ph name="LINK_END" /></translation>
 <translation id="8206354486702514201">ผู้ดูแลระบบของคุณกำหนดให้ใช้การตั้งค่านี้</translation>
 <translation id="8206745257863499010">บลูซี</translation>
 <translation id="8209677645716428427">ผู้ใช้ภายใต้การดูแลสามารถสำรวจเว็บด้วยคำแนะนำของคุณ ในฐานะที่เป็นผู้จัดการผู้ใช้ภายใต้การดูแลใน Chrome คุณสามารถ</translation>
@@ -5110,7 +5121,6 @@
 <translation id="869884720829132584">เมนูของแอปพลิเคชัน</translation>
 <translation id="869891660844655955">วันหมดอายุ</translation>
 <translation id="8699566574894671540">หากต้องการเปิดการตั้งค่านี้ ก่อนอื่นให้เลือก "ตรวจสอบตัวสะกดขณะพิมพ์" ในเมนู "แก้ไข"</translation>
-<translation id="870073306461175568">การแชร์ไฟล์เครือข่าย</translation>
 <translation id="8701677791353449257">ชื่ออุปกรณ์ต้องตรงกับนิพจน์ทั่วไป <ph name="REGEX" /></translation>
 <translation id="8704521619148782536">การดำเนินการนี้ใช้เวลานานกว่าปกติ คุณสามารถรอต่อไป หรือยกเลิกและลองอีกครั้งในภายหลัง</translation>
 <translation id="8705331520020532516">หมายเลขซีเรียล</translation>
@@ -5295,7 +5305,6 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> - ขัดข้อง</translation>
 <translation id="8983677657449185470">ช่วยปรับปรุง Safe Browsing</translation>
 <translation id="8984179138335769204">การเริ่มใช้งานด่วน</translation>
-<translation id="8984654317541110628">URL ของพื้นที่แชร์ไฟล์</translation>
 <translation id="8986362086234534611">ไม่จำ</translation>
 <translation id="8986494364107987395">ส่งสถิติการใช้งานและรายงานข้อขัดข้องไปยัง Google โดยอัตโนมัติ</translation>
 <translation id="8987927404178983737">เดือน</translation>
diff --git a/chrome/app/resources/generated_resources_tr.xtb b/chrome/app/resources/generated_resources_tr.xtb
index 3347cdb..f566026 100644
--- a/chrome/app/resources/generated_resources_tr.xtb
+++ b/chrome/app/resources/generated_resources_tr.xtb
@@ -275,6 +275,7 @@
 <translation id="1395730723686586365">Güncelleyici başladı</translation>
 <translation id="1396139853388185343">Yazıcı kurulum hatası</translation>
 <translation id="1396963298126346194">Girdiğiniz kullanıcı adı ve parola eşleşmiyor</translation>
+<translation id="1397500194120344683">Uygun cihaz yok. <ph name="LINK_BEGIN" />Daha fazla bilgi<ph name="LINK_END" /></translation>
 <translation id="1397854323885047133">Senkronizasyon ve kişiselleştirme</translation>
 <translation id="1398853756734560583">Büyüt</translation>
 <translation id="1399511500114202393">Kullanıcı sertifikası yok</translation>
@@ -375,7 +376,6 @@
 <translation id="1531004739673299060">Uygulama Penceresi</translation>
 <translation id="15373452373711364">Büyük fare imleci</translation>
 <translation id="1538729222189715449">Linux dosyaları açılıyor...</translation>
-<translation id="153933193410874873">Bu cihazda kimliğinizi doğrulayamadık</translation>
 <translation id="1540605929960647700">Demo modunu etkinleştir</translation>
 <translation id="1543284117603151572">Edge'den Aktarıldı</translation>
 <translation id="1545177026077493356">Otomatik Kiosk Modu</translation>
@@ -529,6 +529,7 @@
 <translation id="175772926354468439">Temayı etkinleştir</translation>
 <translation id="1758018619400202187">EAP-TLS</translation>
 <translation id="17584710573359123">Chrome Web Mağazası'nda göster</translation>
+<translation id="176193854664720708">Parmak izi sensörü güç düğmesidir. Tek parmağınızla bu düğmeye hafifçe dokunun.</translation>
 <translation id="1763046204212875858">Uygulama kısayolları oluşturun</translation>
 <translation id="1763108912552529023">Keşfetmeye devam et</translation>
 <translation id="1763808908432309942">Yeni bir sekmede açılır</translation>
@@ -682,7 +683,6 @@
 <translation id="1981115145845865539"><ph name="DEVICE_TYPE" /> cihazınızın kilidini otomatik olarak açın</translation>
 <translation id="1983959805486816857">Denetlenen yeni bir kullanıcı oluşturduktan sonra, <ph name="MANAGEMENT_URL" /> adresini kullanarak ayarları istediğiniz zaman tüm cihazlardan yönetebilirsiniz.</translation>
 <translation id="1984642098429648350">Pencereyi sağa yerleştir</translation>
-<translation id="1987139229093034863">Farklı bir kullanıcıya geçin.</translation>
 <translation id="1987317783729300807">Hesaplar</translation>
 <translation id="1989112275319619282">Göz at</translation>
 <translation id="1992397118740194946">Ayarlanmadı</translation>
@@ -823,6 +823,7 @@
 <translation id="2208158072373999562">Zip arşivi</translation>
 <translation id="220858061631308971">Lütfen "<ph name="DEVICE_NAME" />" cihazında bu PIN kodunu girin:</translation>
 <translation id="2209593327042758816">Raf öğesi 2</translation>
+<translation id="2212126039311489237">Sistem iletişim kutusunu kullanarak yazdır</translation>
 <translation id="2217501013957346740">Bir ad oluşturun -</translation>
 <translation id="2218019600945559112">Fare ve dokunmatik alan</translation>
 <translation id="2218320521449013367">Chrome zararlı yazılımları kaldırırken bir hata oluştu</translation>
@@ -935,6 +936,7 @@
 <translation id="2378075407703503998"><ph name="SELCTED_FILE_COUNT" /> dosya seçildi</translation>
 <translation id="237828693408258535">Bu sayfa çevrilsin mi?</translation>
 <translation id="2378982052244864789">Uzantı dizinini seçin.</translation>
+<translation id="2379281330731083556">Sistem iletişim kutusunu kullanarak yazdır... <ph name="SHORTCUT_KEY" /></translation>
 <translation id="2381756643783702095">Göndermeden önce sor (önerilir)</translation>
 <translation id="2384436799579181135">Bir hata oluştu. Lütfen yazıcınızı kontrol edin ve tekrar deneyin.</translation>
 <translation id="2387458720915042159">Proxy bağlantısı türü</translation>
@@ -1114,6 +1116,7 @@
 <translation id="2653659639078652383">Gönder</translation>
 <translation id="265390580714150011">Alan Değeri</translation>
 <translation id="2654166010170466751">Sitelerin ödeme işleyici yüklemesine izin ver</translation>
+<translation id="2656742821229528729">Bilgisayarınızdan kısa mesaj göndermek, internet bağlantınızı paylaşmak ve Chromebook ekranınızın kilidini telefonunuzla açmak için Android telefonunuzu veya Chromebook'unuzu bağlayın. <ph name="FOOTNOTE_POINTER" /><ph name="LINK_BEGIN" />Daha fazla bilgi<ph name="LINK_END" /></translation>
 <translation id="2659381484350128933"><ph name="FOOTNOTE_POINTER" />Özellikler cihaza göre değişiklik gösterir</translation>
 <translation id="2660779039299703961">Etkinlik</translation>
 <translation id="266079277508604648">Yazıcıya bağlanılamıyor. Yazıcının açık olduğundan ve kablosuz ağ üzerinden veya USB kablosuyla Chromebook'unuza bağlı olduğundan emin olun.</translation>
@@ -1418,6 +1421,7 @@
 <translation id="3115128645424181617">Telefonunuz bulunamıyor. Telefonunuzun yakında olduğundan ve Bluetooth'un açık olduğundan emin olun.</translation>
 <translation id="3115147772012638511">Önbellek bekleniyor...</translation>
 <translation id="3118319026408854581"><ph name="PRODUCT_NAME" /> Yardım</translation>
+<translation id="3119484583572640616">Better Together açıldığında şunları yapabilir:</translation>
 <translation id="3120430004221004537">Şu cihazda belirli bir işlem için yetersiz şifreleme: "<ph name="DEVICE_NAME" />".</translation>
 <translation id="3121793941267913344">Bu <ph name="IDS_SHORT_PRODUCT_NAME" /> cihazını sıfırla</translation>
 <translation id="3122464029669770682">CPU</translation>
@@ -1732,6 +1736,7 @@
 <translation id="3596235046596950091">Bulut hizmetlerini etkinleştir</translation>
 <translation id="3599863153486145794">Oturumunuzun açık olduğu tüm cihazlarda geçmişi temizler. Google Hesabınızın <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> adresinde başka biçimlerde tarama geçmişi olabilir.</translation>
 <translation id="3600792891314830896">Ses çalan sitelerin sesini kapat</translation>
+<translation id="360180734785106144">Kullanıma sunuldukça yeni özellikleri teklif etme</translation>
 <translation id="3602290021589620013">Önizleme</translation>
 <translation id="3603533104205588786">Sayfaya yer işareti koymak için yıldızı tıklayabilirsiniz</translation>
 <translation id="3603622770190368340">Ağ sertifikası edinme</translation>
@@ -2067,7 +2072,6 @@
 <translation id="4068506536726151626">Bu sayfa, konumunuzu izleyen şu sitelerden öğeler içeriyor:</translation>
 <translation id="4068776064906523561">Kayıtlı parmak izleri</translation>
 <translation id="407173827865827707">Tıklandığında</translation>
-<translation id="4071770069230198275"><ph name="PROFILE_NAME" />: Oturum açma hatası</translation>
 <translation id="4074900173531346617">E-posta İmza Sahibi Sertifikası</translation>
 <translation id="407520071244661467">Ölçek</translation>
 <translation id="4075639477629295004"><ph name="FILE_NAME" /> yayınlanamıyor.</translation>
@@ -2869,6 +2873,7 @@
 <translation id="5332624210073556029">Saat dilimi:</translation>
 <translation id="5334142896108694079">Komut Dosyası Önbelleği</translation>
 <translation id="5334844597069022743">Kaynağı görüntüle</translation>
+<translation id="5334899159203764908"><ph name="BEGIN_LINK" />Site erişimi<ph name="END_LINK" /> hakkında daha fazla bilgi edinin</translation>
 <translation id="5335458522276292100"><ph name="FILE_COUNT" /> <ph name="BEGIN_LINK" />Google Drive<ph name="END_LINK" />'a yedekleniyor</translation>
 <translation id="5336126339807372270">Hiçbir sitenin USB cihazlarına erişmesine izin verme</translation>
 <translation id="5337771866151525739">Üçüncü tarafça yüklendi.</translation>
@@ -2976,6 +2981,7 @@
 <translation id="5487521232677179737">Verileri temizle</translation>
 <translation id="5488093641312826914">"<ph name="COPIED_ITEM_NAME" />" kopyalandı</translation>
 <translation id="5488468185303821006">Gizli modda izin ver</translation>
+<translation id="5489121514345187313">Chromebook'unuz telefonunuzla daha da iyi çalışır. <ph name="LINK_BEGIN" />Daha fazla bilgi<ph name="LINK_END" /></translation>
 <translation id="5489435190927933437"><ph name="DOMAIN" /> için kaydedilmiş şifreler</translation>
 <translation id="5491110079163012109">Sistem verilerini gönderin. Teşhis, cihaz ve uygulama kullanım verilerini Google'a otomatik olarak gönderin. Bu ayar, cihaz sahibi tarafından uygulanır. Cihaz sahibi, bu cihaza ait teşhis ve kullanım verilerini Google'a göndermeyi seçebilir. Bu seçimi ayarlardan görüntüleyebilirsiniz. Ayrıca Web ve Uygulama Etkinliği'ni etkinleştirdiyseniz bu bilgi, Etkinliğim sayfasında yönetebilmeniz için hesabınızda depolanır. <ph name="BEGIN_LINK1" />Daha Fazla Bilgi<ph name="END_LINK1" /></translation>
 <translation id="5493792505296048976">ekran açık</translation>
@@ -3148,6 +3154,7 @@
 <translation id="5731409020711461763">1 yeni fotoğraf</translation>
 <translation id="5734362860645681824">İletişim</translation>
 <translation id="5736796278325406685">Lütfen geçerli bir kullanıcı adı girin</translation>
+<translation id="5739235828260127894">Doğrulama bekleniyor. <ph name="LINK_BEGIN" />Daha fazla bilgi<ph name="LINK_END" /></translation>
 <translation id="5739458112391494395">Çok büyük</translation>
 <translation id="5740331643563157105"><ph name="LANGUAGE_1" />, <ph name="LANGUAGE_2" /> ve <ph name="NUM_ADDITIONAL_LANGUAGES" /> dil daha</translation>
 <translation id="574209121243317957">Ses Kalınlığı</translation>
@@ -3251,6 +3258,7 @@
 <translation id="5870086504539785141">Erişilebilirlik menüsünü kapat</translation>
 <translation id="5870155679953074650">Donanım hataları</translation>
 <translation id="5877064549588274448">Kanal değişti. Değişikliklerin uygulanması için cihazınızı yeniden başlatın.</translation>
+<translation id="5877584842898320529">Seçilen yazıcı kullanılamıyor veya doğru yüklenmemiş. <ph name="BR" /> Yazıcınızı kontrol edin veya başka yazıcı seçmeyi deneyin.</translation>
 <translation id="5880247576487732437">Jeton Mevcut</translation>
 <translation id="5882919346125742463">Bilinen Ağlar</translation>
 <translation id="5884474295213649357">Bu sekme bir USB cihazına bağlı.</translation>
@@ -3317,9 +3325,12 @@
 <translation id="5979469435153841984">Sayfalara yer işareti koymak için adres çubuğundaki yıldızı tıklayın</translation>
 <translation id="5982621672636444458">Sıralama seçenekleri</translation>
 <translation id="5984222099446776634">Yakın Zamanda Ziyaret Edilenler</translation>
+<translation id="5985458664595100876">Geçersiz URL biçimi. \\sunucu\paylaşım ve smb://sunucu/paylaşım biçimleri desteklenir.</translation>
+<translation id="5990142338020175451">Daha iyi sayfa önerileri gibi daha kişisel Google hizmetleri</translation>
 <translation id="5990386583461751448">Çevrildi</translation>
 <translation id="5991049340509704927">Büyüt</translation>
 <translation id="599131315899248751">{NUM_APPLICATIONS,plural, =1{Web'e göz atmaya devam edebildiğinizden emin olmak için yöneticinizden bu uygulamayı kaldırmasını isteyin.}other{Web'e göz atmaya devam edebildiğinizden emin olmak için yöneticinizden bu uygulamaları kaldırmasını isteyin.}}</translation>
+<translation id="5997337190805127100">Site Erişimi Hakkında Daha Fazla Bilgi</translation>
 <translation id="6002458620803359783">Tercih Edilen Sesler</translation>
 <translation id="6005695835120147974">Medya Yönlendiricisi</translation>
 <translation id="6006484371116297560">Klasik</translation>
@@ -3343,6 +3354,7 @@
 <translation id="6026819612896463875"><ph name="WINDOW_TITLE" /> - USB cihazı bağlandı</translation>
 <translation id="6028117231645531007">Parmak izi ekle</translation>
 <translation id="6029027682598229313">Linux yüklemesi tamamlandı.</translation>
+<translation id="6029292188939175871">[<ph name="FINGERPRINT_NAME" />] parmak izini sil, düğme</translation>
 <translation id="6029587122245504742">En yavaş</translation>
 <translation id="6032912588568283682">Dosya sistemi</translation>
 <translation id="6034662038931255275">OS güncellemesi başarılı</translation>
@@ -3456,7 +3468,6 @@
 <translation id="6185132558746749656">Cihaz Konumu</translation>
 <translation id="6185617499004995178">CUPS IPP Doğrulayıcı</translation>
 <translation id="6185696379715117369">Bir sayfa yukarı</translation>
-<translation id="6189273858858366896">Ağ Dosya Paylaşımlarını kurun veya yönetin.</translation>
 <translation id="6189412234224385711"><ph name="EXTENSION_NAME" /> ile aç</translation>
 <translation id="6196640612572343990">Üçüncü taraf çerezlerini engelle</translation>
 <translation id="6196854373336333322">"<ph name="EXTENSION_NAME" />" uzantısı proxy ayarlarınızın denetimini ele geçirdi. Bu, uzantının çevrimiçinde yaptıklarınızı değiştirebileceği, kesebileceği veya dinleyebileceği anlamına gelir. Bu değişikliğin neden gerçekleştiğinden emin değilseniz muhtemelen bu değişikliği yapmayı istememişsinizdir.</translation>
@@ -3762,6 +3773,7 @@
 <translation id="6643016212128521049">Temizle</translation>
 <translation id="6644512095122093795">Şifreleri kaydetmeyi öner</translation>
 <translation id="6644846457769259194">Cihazınız güncelleniyor (<ph name="PROGRESS_PERCENT" />)</translation>
+<translation id="6645437135153136856">Seçilen Google Cloud Print cihazı artık desteklenmiyor. <ph name="BR" /> Bilgisayarınızın sistem ayarlarında yazıcıyı kurmayı deneyin.</translation>
 <translation id="6647228709620733774">Netscape Sertifika Yetki İptali URL'si</translation>
 <translation id="6647838571840953560">Şu anda <ph name="CHANNEL_NAME" /> kanalında</translation>
 <translation id="6648051959475508072">Güvenlik anahtarı etkinleştirildi...</translation>
@@ -3783,7 +3795,6 @@
 <translation id="667517062706956822">Google'ın bu sayfayı <ph name="SOURCE_LANGUAGE" /> dilinden <ph name="TARGET_LANGUAGE" /> diline çevirmesini istiyor musunuz?</translation>
 <translation id="6675665718701918026">İşaretleme cihazı bağlı</translation>
 <translation id="6678717876183468697">Sorgu URL'si</translation>
-<translation id="6680028776254050810">Kullanıcı Değiştir</translation>
 <translation id="6680442031740878064">Kullanılabilir alan: <ph name="AVAILABLE_SPACE" /></translation>
 <translation id="6680650203439190394">Hız</translation>
 <translation id="6681668084120808868">Fotoğraf çek</translation>
@@ -3792,7 +3803,6 @@
 <translation id="668599234725812620">Google Play'i aç</translation>
 <translation id="6686490380836145850">Sağdaki sekmeleri kapat</translation>
 <translation id="6686817083349815241">Şifrenizi kaydedin</translation>
-<translation id="6690565918367819723"><ph name="PROFILE_NAME" /> Kişi Değiştir</translation>
 <translation id="6690659332373509948">Dosya ayrıştırılamıyor: <ph name="FILE_NAME" /></translation>
 <translation id="6690751852586194791">Bu cihaza eklemek için denetlenen bir kullanıcı seçin.</translation>
 <translation id="6691331417640343772">Google Hesap Özeti'nde senkronize edilen verileri yönet</translation>
@@ -4016,6 +4026,7 @@
 <translation id="7040230719604914234">Operatör</translation>
 <translation id="7042418530779813870">Ya&amp;pıştır ve ara</translation>
 <translation id="7043108582968290193">Bitti! Uyumsuz uygulama bulunamadı.</translation>
+<translation id="7044124535091449260">Site erişimi hakkında daha fazla bilgi</translation>
 <translation id="7049293980323620022">Dosya tutulsun mu?</translation>
 <translation id="7051943809462976355">Fare aranıyor...</translation>
 <translation id="7052237160939977163">Performans izleme verilerini gönder</translation>
@@ -4128,6 +4139,7 @@
 <translation id="7201118060536064622">"<ph name="DELETED_ITEM_NAME" />" silindi</translation>
 <translation id="7206693748120342859"><ph name="PLUGIN_NAME" /> indiriliyor...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Sayfadan çık}other{Sayfalardan çık}}</translation>
+<translation id="7210499381659830293">Uzantı yazıcılar</translation>
 <translation id="721467499098558573">Güvenlik anahtarınızın üzerindeki düğmeyi en az 5 saniye süreyle basılı tutun</translation>
 <translation id="7216409898977639127">Hücresel sağlayıcı</translation>
 <translation id="7216595297012131718">Dilleri tercihinize göre sıralayın</translation>
@@ -4206,6 +4218,7 @@
 <translation id="7321545336522791733">Sunucuya ulaşılamıyor</translation>
 <translation id="7324297612904500502">Beta Forumu</translation>
 <translation id="7325437708553334317">Yüksek Kontrast Uzantısı</translation>
+<translation id="7328162502911382168">(<ph name="COUNT" />)</translation>
 <translation id="7328867076235380839">Geçersiz kombinasyon</translation>
 <translation id="7329154610228416156">Güvenli olmayan bir URL (<ph name="BLOCKED_URL" />) kullanmak üzere yapılandırıldığından oturum açılamadı. Lütfen yöneticinizle iletişime geçin.</translation>
 <translation id="7334190995941642545">Smart Lock şu anda kullanılamıyor. Lütfen daha sonra tekrar deneyin.</translation>
@@ -4796,6 +4809,7 @@
 <translation id="8199300056570174101">Ağ (Hizmet) ve Cihaz özellikleri</translation>
 <translation id="8200772114523450471">Sürdür</translation>
 <translation id="8202160505685531999"><ph name="DEVICE_TYPE" /> profilinizi güncellemek için lütfen şifrenizi tekrar girin.</translation>
+<translation id="8203732864715032075">Size bildirimler gönderir ve Mesajlar uygulaması için bu bilgisayarın hatırlanmasını varsayılan ayar yapar. <ph name="LINK_BEGIN" />Daha fazla bilgi<ph name="LINK_END" /></translation>
 <translation id="8206354486702514201">Bu seçenek, yöneticiniz tarafınızdan denetleniyor.</translation>
 <translation id="8206745257863499010">Melodi</translation>
 <translation id="8209677645716428427">Denetlenen bir kullanıcı web'i sizin rehberliğinizde keşfedebilir. Chrome'da denetlenen bir kullanıcının yöneticisi olarak şunları yapabilirsiniz:</translation>
@@ -5107,7 +5121,6 @@
 <translation id="869884720829132584">Uygulamalar menüsü</translation>
 <translation id="869891660844655955">Son kullanma tarihi</translation>
 <translation id="8699566574894671540">Bu özelliği açmak için ilk olarak Düzenleme menüsünde Yazarken Yazımı Denetle'yi seçin</translation>
-<translation id="870073306461175568">Ağ Dosya Paylaşımları</translation>
 <translation id="8701677791353449257">Cihaz adı, <ph name="REGEX" /> normal ifadesiyle eşleşmelidir.</translation>
 <translation id="8704521619148782536">Bu işlem normalden daha uzun sürüyor. Beklemeye devam edebilir veya iptal edip daha sonra tekrar deneyebilirsiniz.</translation>
 <translation id="8705331520020532516">Seri Numarası</translation>
@@ -5292,7 +5305,6 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> - Kilitlendi</translation>
 <translation id="8983677657449185470">Güvenli Tarama'yı iyileştirmeye yardımcı ol</translation>
 <translation id="8984179138335769204">Hızlı başlat</translation>
-<translation id="8984654317541110628">Dosya Paylaşımı URL'si</translation>
 <translation id="8986362086234534611">Unut</translation>
 <translation id="8986494364107987395">Kullanım istatistiklerini ve çökme raporlarını otomatik olarak Google'a gönder</translation>
 <translation id="8987927404178983737">Ay</translation>
diff --git a/chrome/app/resources/generated_resources_uk.xtb b/chrome/app/resources/generated_resources_uk.xtb
index 5886daa..d9d6056 100644
--- a/chrome/app/resources/generated_resources_uk.xtb
+++ b/chrome/app/resources/generated_resources_uk.xtb
@@ -275,6 +275,7 @@
 <translation id="1395730723686586365">Засіб оновлення запущено</translation>
 <translation id="1396139853388185343">Не вдалося налаштувати принтер</translation>
 <translation id="1396963298126346194">Введені ім'я користувача та пароль не збігаються</translation>
+<translation id="1397500194120344683">Немає пристроїв, які відповідають вимогам. <ph name="LINK_BEGIN" />Докладніше<ph name="LINK_END" /></translation>
 <translation id="1397854323885047133">Синхронізація й персоналізація</translation>
 <translation id="1398853756734560583">Збільшити</translation>
 <translation id="1399511500114202393">Без сертифіката користувача</translation>
@@ -375,7 +376,6 @@
 <translation id="1531004739673299060">додатка</translation>
 <translation id="15373452373711364">Великий курсор миші</translation>
 <translation id="1538729222189715449">Відкриваються файли Linux…</translation>
-<translation id="153933193410874873">Не вдалося підтвердити вашу особу на цьому пристрої</translation>
 <translation id="1540605929960647700">Увімкніть демонстраційний режим</translation>
 <translation id="1543284117603151572">Імпортовано з Edge</translation>
 <translation id="1545177026077493356">Автоматичний режим термінала</translation>
@@ -529,6 +529,7 @@
 <translation id="175772926354468439">Увімкнути тему</translation>
 <translation id="1758018619400202187">EAP-TLS</translation>
 <translation id="17584710573359123">Переглянути у Веб-магазині Chrome</translation>
+<translation id="176193854664720708">Сканер відбитків пальців знаходиться на кнопці живлення. Легко торкніться його будь-яким пальцем.</translation>
 <translation id="1763046204212875858">Створити ярлики програми</translation>
 <translation id="1763108912552529023">Продовжити</translation>
 <translation id="1763808908432309942">Відкриється в новій вкладці</translation>
@@ -682,7 +683,6 @@
 <translation id="1981115145845865539">Автоматично розблоковуйте свій пристрій <ph name="DEVICE_TYPE" /></translation>
 <translation id="1983959805486816857">Створивши нового контрольованого користувача, ви можете будь-коли керувати його налаштуваннями з будь-якого пристрою на сторінці <ph name="MANAGEMENT_URL" />.</translation>
 <translation id="1984642098429648350">Закріпити вікно праворуч</translation>
-<translation id="1987139229093034863">Змінити користувача.</translation>
 <translation id="1987317783729300807">Облікові записи</translation>
 <translation id="1989112275319619282">Переглянути</translation>
 <translation id="1992397118740194946">Не налаштовано</translation>
@@ -823,6 +823,7 @@
 <translation id="2208158072373999562">Архів Zip</translation>
 <translation id="220858061631308971">Введіть цей PIN-код на пристрої "<ph name="DEVICE_NAME" />":</translation>
 <translation id="2209593327042758816">Елемент полиці 2</translation>
+<translation id="2212126039311489237">Друк із діалогового вікна системи</translation>
 <translation id="2217501013957346740">Створіть ім’я –</translation>
 <translation id="2218019600945559112">Миша та сенсорна панель</translation>
 <translation id="2218320521449013367">Коли Chrome видаляв шкідливі програми, сталася помилка</translation>
@@ -935,6 +936,7 @@
 <translation id="2378075407703503998">Вибрано файлів: <ph name="SELCTED_FILE_COUNT" /></translation>
 <translation id="237828693408258535">Перекласти цю сторінку?</translation>
 <translation id="2378982052244864789">Виберіть каталог розширення.</translation>
+<translation id="2379281330731083556">Друкувати за допомогою діалогового вікна системи... <ph name="SHORTCUT_KEY" /></translation>
 <translation id="2381756643783702095">Запитувати, перш ніж надсилати (рекомендується)</translation>
 <translation id="2384436799579181135">Сталася помилка. Перевірте принтер і повторіть спробу.</translation>
 <translation id="2387458720915042159">Тип з’єднання з проксі-сервером</translation>
@@ -1114,6 +1116,7 @@
 <translation id="2653659639078652383">Надіслати</translation>
 <translation id="265390580714150011">Значення поля</translation>
 <translation id="2654166010170466751">Дозволити сайтам встановлювати обробники платежів</translation>
+<translation id="2656742821229528729">Підключіть телефон Android до Chromebook, щоб мати змогу надсилати SMS із комп’ютера, надавати доступ до інтернет-з’єднання й розблоковувати екран Chromebook за допомогою телефона.<ph name="FOOTNOTE_POINTER" /> <ph name="LINK_BEGIN" />Докладніше<ph name="LINK_END" /></translation>
 <translation id="2659381484350128933"><ph name="FOOTNOTE_POINTER" />На різних пристроях функції можуть бути іншими</translation>
 <translation id="2660779039299703961">Подія</translation>
 <translation id="266079277508604648">Не вдається під’єднатися до принтера. Перевірте, чи принтер увімкнено та під’єднано до Chromebook через Wi-Fi або USB.</translation>
@@ -1418,6 +1421,7 @@
 <translation id="3115128645424181617">Не вдається знайти телефон. Переконайтеся, що він поблизу та на ньому ввімкнено Bluetooth.</translation>
 <translation id="3115147772012638511">...</translation>
 <translation id="3118319026408854581">Довідка <ph name="PRODUCT_NAME" /></translation>
+<translation id="3119484583572640616">Функціональні можливості Better Together</translation>
 <translation id="3120430004221004537">Недостатнє шифрування для цієї операції на пристрої <ph name="DEVICE_NAME" />.</translation>
 <translation id="3121793941267913344">Скинути налаштування цього пристрою <ph name="IDS_SHORT_PRODUCT_NAME" /></translation>
 <translation id="3122464029669770682">ЦП</translation>
@@ -1732,6 +1736,7 @@
 <translation id="3596235046596950091">Увімкнути хмарні сервіси</translation>
 <translation id="3599863153486145794">Очищує історію на всіх пристроях, на яких ви ввійшли в обліковий запис. У вашому обліковому записі Google на сторінці <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> можуть бути інші форми історії веб-перегляду.</translation>
 <translation id="3600792891314830896">Вимкнути звук на сайтах, які відтворюють його</translation>
+<translation id="360180734785106144">Пропонувати нові функції, коли вони з’являються</translation>
 <translation id="3602290021589620013">Попередній перегляд</translation>
 <translation id="3603533104205588786">Щоб створити закладку сторінки, натисніть значок зірочки</translation>
 <translation id="3603622770190368340">Отримати сертифікат мережі</translation>
@@ -2067,7 +2072,6 @@
 <translation id="4068506536726151626">Ця сторінка містить елементи з таких сайтів, які відстежують ваше місцезнаходження:</translation>
 <translation id="4068776064906523561">Збережені відбитки пальців</translation>
 <translation id="407173827865827707">Після натискання</translation>
-<translation id="4071770069230198275"><ph name="PROFILE_NAME" />: помилка входу</translation>
 <translation id="4074900173531346617">Сертифікат підписувача електронної пошти</translation>
 <translation id="407520071244661467">Масштаб</translation>
 <translation id="4075639477629295004">Не вдається транслювати файл <ph name="FILE_NAME" />.</translation>
@@ -2869,6 +2873,7 @@
 <translation id="5332624210073556029">Часовий пояс:</translation>
 <translation id="5334142896108694079">Кеш сценаріїв</translation>
 <translation id="5334844597069022743">Переглянути джерело</translation>
+<translation id="5334899159203764908">Докладніше про <ph name="BEGIN_LINK" />доступ до сайтів<ph name="END_LINK" /></translation>
 <translation id="5335458522276292100">Резервне копіювання на <ph name="BEGIN_LINK" />Google Диск<ph name="END_LINK" />: <ph name="FILE_COUNT" /></translation>
 <translation id="5336126339807372270">Заборонити всім сайтам отримувати доступ до пристроїв USB</translation>
 <translation id="5337771866151525739">Встановлено третьою стороною.</translation>
@@ -2879,7 +2884,7 @@
 <translation id="5341980496415249280">Пакування. Зачекайте…</translation>
 <translation id="5342091991439452114">Мінімальна кількість цифр у PIN-коді: <ph name="MINIMUM" /></translation>
 <translation id="5352033265844765294">Встановлення позначки часу</translation>
-<translation id="5352285283572729470">Цим налаштуванням можна керувати</translation>
+<translation id="5352285283572729470">Цим налаштуванням керує адміністратор</translation>
 <translation id="5353252989841766347">Експортувати паролі з Chrome</translation>
 <translation id="5355097969896547230">Новий пошук</translation>
 <translation id="5355926466126177564">Розширення "<ph name="EXTENSION_NAME" />" змінило сторінку, яка відкривається під час пошуку в універсальному вікні пошуку.</translation>
@@ -2976,6 +2981,7 @@
 <translation id="5487521232677179737">Видалити дані</translation>
 <translation id="5488093641312826914">Елемент "<ph name="COPIED_ITEM_NAME" />" скопійовано</translation>
 <translation id="5488468185303821006">Дозволити в режимі анонімного перегляду</translation>
+<translation id="5489121514345187313">З телефоном комп’ютер Chromebook працює навіть краще. <ph name="LINK_BEGIN" />Докладніше<ph name="LINK_END" /></translation>
 <translation id="5489435190927933437">Збережені паролі для <ph name="DOMAIN" /></translation>
 <translation id="5491110079163012109">Надсилання системних даних. Автоматично надсилає в Google дані про діагностику та використання пристрою й додатків. Цей параметр налаштовано власником. Він може дозволити надсилати в Google дані про діагностику та використання цього пристрою. Ви можете переглянути це в налаштуваннях. Якщо Історію додатків і веб-пошуку ввімкнено, ця інформація зберігатиметься в обліковому записі. Ви зможете керувати нею в розділі "Моя активність". <ph name="BEGIN_LINK1" />Докладніше<ph name="END_LINK1" /></translation>
 <translation id="5493792505296048976">екран увімкнено</translation>
@@ -3147,6 +3153,7 @@
 <translation id="5731409020711461763">1 нове фото</translation>
 <translation id="5734362860645681824">Зв’язок</translation>
 <translation id="5736796278325406685">Введіть дійсне ім’я користувача</translation>
+<translation id="5739235828260127894">Очікується підтвердження. <ph name="LINK_BEGIN" />Докладніше<ph name="LINK_END" /></translation>
 <translation id="5739458112391494395">Дуже великий</translation>
 <translation id="5740331643563157105"><ph name="LANGUAGE_1" />, <ph name="LANGUAGE_2" /> та ще стільки мов: <ph name="NUM_ADDITIONAL_LANGUAGES" /></translation>
 <translation id="574209121243317957">Тон</translation>
@@ -3250,6 +3257,7 @@
 <translation id="5870086504539785141">Закрити меню доступності</translation>
 <translation id="5870155679953074650">Тривалі затримки</translation>
 <translation id="5877064549588274448">Канал змінено. Перезапустіть пристрій, щоб застосувати зміни.</translation>
+<translation id="5877584842898320529">Вибраний принтер недоступний або неправильно встановлений. <ph name="BR" /> Перевірте принтер або спробуйте вибрати інший.</translation>
 <translation id="5880247576487732437">Маркер присутній</translation>
 <translation id="5882919346125742463">Відомі мережі</translation>
 <translation id="5884474295213649357">Цю вкладку під’єднано до пристрою USB.</translation>
@@ -3316,6 +3324,7 @@
 <translation id="5979469435153841984">Щоб створити закладку сторінки, натисніть значок зірочки в адресному рядку</translation>
 <translation id="5982621672636444458">Параметри сортування</translation>
 <translation id="5984222099446776634">Нещодавно відвідані</translation>
+<translation id="5985458664595100876">Недійсний формат URL-адреси. Підтримувані формати: \\server\share і smb://server/share.</translation>
 <translation id="5990142338020175451">Більш персоналізовані сервіси Google, як-от кращі пропозиції сторінок</translation>
 <translation id="5990386583461751448">Перекладено</translation>
 <translation id="5991049340509704927">Збільшити</translation>
@@ -3344,6 +3353,7 @@
 <translation id="6026819612896463875"><ph name="WINDOW_TITLE" /> – пристрій USB підключено</translation>
 <translation id="6028117231645531007">Додати відбиток пальця</translation>
 <translation id="6029027682598229313">Встановлення Linux завершено.</translation>
+<translation id="6029292188939175871">видалити [<ph name="FINGERPRINT_NAME" />], кнопка</translation>
 <translation id="6029587122245504742">найповільніше</translation>
 <translation id="6032912588568283682">Файлова система</translation>
 <translation id="6034662038931255275">ОС оновлено</translation>
@@ -3457,7 +3467,6 @@
 <translation id="6185132558746749656">Місцезнаходження пристрою</translation>
 <translation id="6185617499004995178">Засіб перевірки CUPS IPP</translation>
 <translation id="6185696379715117369">Сторінка вгору</translation>
-<translation id="6189273858858366896">Налаштувати або керувати спільними мережевими файлами.</translation>
 <translation id="6189412234224385711">Відкрити за допомогою розширення "<ph name="EXTENSION_NAME" />"</translation>
 <translation id="6196640612572343990">Блокувати сторонні файли cookie</translation>
 <translation id="6196854373336333322">Розширення "<ph name="EXTENSION_NAME" />" керує налаштуваннями проксі-сервера, тобто може змінювати та переривати будь-які ваші дії онлайн, а також стежити за ними. Якщо ви не знаєте причини такої зміни, імовірно, вона небажана.</translation>
@@ -3763,6 +3772,7 @@
 <translation id="6643016212128521049">Очистити</translation>
 <translation id="6644512095122093795">Пропонувати зберігати паролі</translation>
 <translation id="6644846457769259194">Пристрій оновлюється (<ph name="PROGRESS_PERCENT" />)</translation>
+<translation id="6645437135153136856">Вибраний пристрій Google Cloud Print більше не підтримується. <ph name="BR" /> Спробуйте вибрати принтер у системних налаштуваннях комп’ютера.</translation>
 <translation id="6647228709620733774">URL-адреса відкликання Центру сертифікації Netscape</translation>
 <translation id="6647838571840953560">Зараз на каналі <ph name="CHANNEL_NAME" /></translation>
 <translation id="6648051959475508072">Ключ безпеки активовано…</translation>
@@ -3784,16 +3794,14 @@
 <translation id="667517062706956822">Перекласти цю сторінку (<ph name="SOURCE_LANGUAGE" />) такою мовою: <ph name="TARGET_LANGUAGE" />?</translation>
 <translation id="6675665718701918026">Маніпулятор підключено</translation>
 <translation id="6678717876183468697">URL-адреса пошукового запиту</translation>
-<translation id="6680028776254050810">Змінити користувача</translation>
 <translation id="6680442031740878064">Доступно: <ph name="AVAILABLE_SPACE" /></translation>
 <translation id="6680650203439190394">Оцінити</translation>
 <translation id="6681668084120808868">Зробити фото</translation>
 <translation id="6681964764822470072"><ph name="APP_NAME" /> буде видалено.</translation>
-<translation id="6685083257944113180">Призупинити: <ph name="SINK_STATUS" /> (<ph name="SINK_NAME" />)</translation>
+<translation id="6685083257944113180">Зупинити: <ph name="SINK_STATUS" /> (<ph name="SINK_NAME" />)</translation>
 <translation id="668599234725812620">Відкрити Google Play</translation>
 <translation id="6686490380836145850">Закрити вкладки праворуч</translation>
 <translation id="6686817083349815241">Зберегти пароль</translation>
-<translation id="6690565918367819723">Змінити користувача <ph name="PROFILE_NAME" /></translation>
 <translation id="6690659332373509948">Неможливо проаналізувати файл: <ph name="FILE_NAME" /></translation>
 <translation id="6690751852586194791">Виберіть, якого контрольованого користувача додати на цей пристрій.</translation>
 <translation id="6691331417640343772">Керувати синхронізованими даними на інформаційній панелі Google</translation>
@@ -4130,6 +4138,7 @@
 <translation id="7201118060536064622">Елемент "<ph name="DELETED_ITEM_NAME" />" видалено</translation>
 <translation id="7206693748120342859">Завантаження плагіна <ph name="PLUGIN_NAME" />...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Закрити сторінку}one{Закрити сторінки}few{Закрити сторінки}many{Закрити сторінки}other{Закрити сторінки}}</translation>
+<translation id="7210499381659830293">Принтери розширення</translation>
 <translation id="721467499098558573">Утримуйте кнопку на ключі безпеки принаймні 5 секунд</translation>
 <translation id="7216409898977639127">Постачальник мобільного зв’язку</translation>
 <translation id="7216595297012131718">Мови замовлень на основі ваших налаштувань</translation>
@@ -4208,6 +4217,7 @@
 <translation id="7321545336522791733">Сервер недоступний</translation>
 <translation id="7324297612904500502">Форум бета-версії</translation>
 <translation id="7325437708553334317">Розширення "Високий контраст"</translation>
+<translation id="7328162502911382168">(<ph name="COUNT" />)</translation>
 <translation id="7328867076235380839">Недійсна комбінація</translation>
 <translation id="7329154610228416156">Не вдалося ввійти, оскільки вас було переспрямовано на незахищену URL-адресу (<ph name="BLOCKED_URL" />). Зв’яжіться з адміністратором.</translation>
 <translation id="7334190995941642545">Функція Smart Lock зараз недоступна. Повторіть спробу пізніше.</translation>
@@ -4799,6 +4809,7 @@
 <translation id="8199300056570174101">Параметри мережі (служби) і пристрою</translation>
 <translation id="8200772114523450471">Поновити</translation>
 <translation id="8202160505685531999">Щоб оновити профіль <ph name="DEVICE_TYPE" />, введіть пароль ще раз.</translation>
+<translation id="8203732864715032075">Надсилає сповіщення й за умовчанням зберігає цей комп’ютер у додатку Повідомлення. <ph name="LINK_BEGIN" />Докладніше<ph name="LINK_END" /></translation>
 <translation id="8206354486702514201">Це налаштування застосовується вашим адміністратором.</translation>
 <translation id="8206745257863499010">Блюз</translation>
 <translation id="8209677645716428427">Контрольований користувач може переглядати веб-сайти під вашим наглядом. Як менеджер контрольованого користувача в Chrome ви можете:</translation>
@@ -5110,7 +5121,6 @@
 <translation id="869884720829132584">Меню програм</translation>
 <translation id="869891660844655955">Діє до</translation>
 <translation id="8699566574894671540">Щоб увімкнути цю функцію, спершу виберіть опцію "Перевіряти правопис під час введення" в меню "Редагування"</translation>
-<translation id="870073306461175568">Спільні мережеві файли</translation>
 <translation id="8701677791353449257">Назва пристрою має відповідати регулярному виразу <ph name="REGEX" />.</translation>
 <translation id="8704521619148782536">Це триває довше, ніж зазвичай. Можна зачекати або скасувати дію та спробувати пізніше.</translation>
 <translation id="8705331520020532516">Серійний номер</translation>
@@ -5295,7 +5305,6 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> – аварійне завершення роботи</translation>
 <translation id="8983677657449185470">Допоможіть покращити безпечний перегляд</translation>
 <translation id="8984179138335769204">Швидкий запуск</translation>
-<translation id="8984654317541110628">URL-адреса спільного файлу</translation>
 <translation id="8986362086234534611">Видалити</translation>
 <translation id="8986494364107987395">Автоматично надсилати статистику використання та звіти про аварійне завершення роботи в Google</translation>
 <translation id="8987927404178983737">Місяць</translation>
diff --git a/chrome/app/resources/generated_resources_vi.xtb b/chrome/app/resources/generated_resources_vi.xtb
index 1339294..e6778f6d 100644
--- a/chrome/app/resources/generated_resources_vi.xtb
+++ b/chrome/app/resources/generated_resources_vi.xtb
@@ -137,7 +137,7 @@
 <translation id="1189418886587279221">Bật các tính năng trợ năng để giúp thiết bị của bạn dễ sử dụng hơn.</translation>
 <translation id="1190144681599273207">Tìm nạp tệp này sẽ sử dụng khoảng <ph name="FILE_SIZE" /> dữ liệu di động.</translation>
 <translation id="11901918071949011">{NUM_FILES,plural, =1{Truy cập một tệp được lưu trữ trên máy tính của bạn}other{Truy cập # tệp được lưu trữ trên máy tính của bạn}}</translation>
-<translation id="1193273168751563528">Đăng nhập vào phiên được quản lý</translation>
+<translation id="1193273168751563528">Vào phiên được quản lý</translation>
 <translation id="1195076408729068893">Để bắt đầu Smart Lock, hãy nhập mật khẩu của bạn. Lần tới, bạn có thể sử dụng điện thoại để mở khóa <ph name="DEVICE_TYPE" /> của mình.</translation>
 <translation id="1195447618553298278">Lỗi chưa biết.</translation>
 <translation id="119738088725604856">Cửa sổ ảnh chụp màn hình</translation>
@@ -275,6 +275,7 @@
 <translation id="1395730723686586365">Trình cập nhật đã bắt đầu</translation>
 <translation id="1396139853388185343">Lỗi khi thiết lập máy in</translation>
 <translation id="1396963298126346194">Tên người dùng và mật khẩu bạn đã nhập không khớp</translation>
+<translation id="1397500194120344683">Không có thiết bị nào đủ điều kiện. <ph name="LINK_BEGIN" />Tìm hiểu thêm<ph name="LINK_END" /></translation>
 <translation id="1397854323885047133">Đồng bộ hóa và cá nhân hóa</translation>
 <translation id="1398853756734560583">Phóng to</translation>
 <translation id="1399511500114202393">Không có chứng chỉ người dùng</translation>
@@ -375,7 +376,6 @@
 <translation id="1531004739673299060">Cửa sổ ứng dụng</translation>
 <translation id="15373452373711364">Con trỏ chuột lớn</translation>
 <translation id="1538729222189715449">Đang mở tệp Linux...</translation>
-<translation id="153933193410874873">Chúng tôi không xác minh được thông tin định danh của bạn trên thiết bị này</translation>
 <translation id="1540605929960647700">Bật chế độ minh họa</translation>
 <translation id="1543284117603151572">Được nhập từ Edge</translation>
 <translation id="1545177026077493356">Chế độ kiosk tự động</translation>
@@ -529,6 +529,7 @@
 <translation id="175772926354468439">Bật chủ đề</translation>
 <translation id="1758018619400202187">EAP-TLS</translation>
 <translation id="17584710573359123">Xem trong Cửa hàng Chrome trực tuyến</translation>
+<translation id="176193854664720708">Cảm biến vân tay nằm trong nút nguồn. Hãy chạm nhẹ vào nút này bằng ngón tay bất kỳ.</translation>
 <translation id="1763046204212875858">Tạo các lối tắt cho ứng dụng</translation>
 <translation id="1763108912552529023">Tiếp tục khám phá</translation>
 <translation id="1763808908432309942">Mở trong một tab mới</translation>
@@ -682,7 +683,6 @@
 <translation id="1981115145845865539">Tự động mở khóa <ph name="DEVICE_TYPE" /> của bạn</translation>
 <translation id="1983959805486816857">Sau khi tạo người dùng được giám sát mới, bạn có thể quản lý các cài đặt bất cứ lúc nào từ mọi thiết bị tại <ph name="MANAGEMENT_URL" />.</translation>
 <translation id="1984642098429648350">Gắn cửa sổ về phía bên phải</translation>
-<translation id="1987139229093034863">Chuyển sang người dùng khác.</translation>
 <translation id="1987317783729300807">Tài khoản</translation>
 <translation id="1989112275319619282">Duyệt qua</translation>
 <translation id="1992397118740194946">Chưa đặt</translation>
@@ -823,6 +823,7 @@
 <translation id="2208158072373999562">Nén zip</translation>
 <translation id="220858061631308971">Vui lòng nhập mã PIN này trên "<ph name="DEVICE_NAME" />":</translation>
 <translation id="2209593327042758816">Mục giá 2</translation>
+<translation id="2212126039311489237">In bằng hộp thoại hệ thống</translation>
 <translation id="2217501013957346740">Tạo một tên -</translation>
 <translation id="2218019600945559112">Chuột và bàn di chuột</translation>
 <translation id="2218320521449013367">Đã xảy ra lỗi khi Chrome đang xóa phần mềm có hại</translation>
@@ -935,6 +936,7 @@
 <translation id="2378075407703503998"><ph name="SELCTED_FILE_COUNT" /> tệp được chọn</translation>
 <translation id="237828693408258535">Bạn muốn dịch trang này?</translation>
 <translation id="2378982052244864789">Chọn thư mục tiện ích.</translation>
+<translation id="2379281330731083556">In bằng hộp thoại hệ thống... <ph name="SHORTCUT_KEY" /></translation>
 <translation id="2381756643783702095">Hỏi trước khi gửi (được đề xuất)</translation>
 <translation id="2384436799579181135">Đã xảy ra lỗi. Vui lòng kiểm tra máy in của bạn và thử lại.</translation>
 <translation id="2387458720915042159">Loại kết nối proxy</translation>
@@ -1114,6 +1116,7 @@
 <translation id="2653659639078652383">Gửi</translation>
 <translation id="265390580714150011">Giá trị Trường</translation>
 <translation id="2654166010170466751">Cho phép các trang web cài đặt trình xử lý thanh toán</translation>
+<translation id="2656742821229528729">Kết nối điện thoại Android và Chromebook của bạn để nhắn tin từ máy tính, chia sẻ kết nối Internet và mở khóa Chromebook bằng điện thoại.<ph name="FOOTNOTE_POINTER" /> <ph name="LINK_BEGIN" />Tìm hiểu thêm<ph name="LINK_END" /></translation>
 <translation id="2659381484350128933"><ph name="FOOTNOTE_POINTER" />Các tính năng có thể thay đổi tùy theo thiết bị</translation>
 <translation id="2660779039299703961">Sự kiện</translation>
 <translation id="266079277508604648">Không thể kết nối với máy in. Hãy kiểm tra để đảm bảo rằng bạn đã bật máy in cũng như đã kết nối máy in với Chromebook qua Wi-Fi hoặc USB.</translation>
@@ -1418,6 +1421,7 @@
 <translation id="3115128645424181617">Không thể tìm thấy điện thoại của bạn. Hãy đảm bảo rằng điện thoại ở trong tầm tay và Bluetooth đang bật.</translation>
 <translation id="3115147772012638511">Đang chờ bộ nhớ đệm…</translation>
 <translation id="3118319026408854581">Trợ giúp <ph name="PRODUCT_NAME" /></translation>
+<translation id="3119484583572640616">Khi được bật, Better Together có thể:</translation>
 <translation id="3120430004221004537">Mã hóa không đầy đủ đối với một tác vụ cụ thể trên: "<ph name="DEVICE_NAME" />".</translation>
 <translation id="3121793941267913344">Đặt lại thiết bị <ph name="IDS_SHORT_PRODUCT_NAME" /> này</translation>
 <translation id="3122464029669770682">CPU</translation>
@@ -1724,7 +1728,7 @@
 <translation id="358796204584394954">Nhập mã này vào "<ph name="DEVICE_NAME" />" để ghép nối:</translation>
 <translation id="3589766037099229847">Đã chặn nội dung không an toàn</translation>
 <translation id="3590194807845837023">Mở khóa cấu hình và chạy lại</translation>
-<translation id="3590295622232282437">Đăng nhập vào phiên được quản lý.</translation>
+<translation id="3590295622232282437">Đang vào phiên được quản lý.</translation>
 <translation id="3592260987370335752">&amp;Tìm hiểu thêm</translation>
 <translation id="359283478042092570">Nhập</translation>
 <translation id="3593965109698325041">Ràng buộc Tên của Chứng chỉ</translation>
@@ -1732,6 +1736,7 @@
 <translation id="3596235046596950091">Bật dịch vụ đám mây</translation>
 <translation id="3599863153486145794">Xóa lịch sử khỏi tất cả các thiết bị đã đăng nhập. Tài khoản Google của bạn có thể có các dạng lịch sử duyệt web khác tại <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
 <translation id="3600792891314830896">Tắt tiếng trên các trang web phát âm thanh</translation>
+<translation id="360180734785106144">Cung cấp các tính năng mới khi có sẵn</translation>
 <translation id="3602290021589620013">Xem trước</translation>
 <translation id="3603533104205588786">Bạn có thể nhấp vào dấu sao để đánh dấu một trang</translation>
 <translation id="3603622770190368340">Nhận chứng chỉ mạng</translation>
@@ -2067,7 +2072,6 @@
 <translation id="4068506536726151626">Trang này chứa các yếu tố từ các trang web đang theo dõi vị trí của bạn:</translation>
 <translation id="4068776064906523561">Vân tay đã lưu</translation>
 <translation id="407173827865827707">Khi nhấp chuột</translation>
-<translation id="4071770069230198275"><ph name="PROFILE_NAME" />: lỗi đăng nhập</translation>
 <translation id="4074900173531346617">Chứng chỉ Người ký Email</translation>
 <translation id="407520071244661467">Tỷ lệ</translation>
 <translation id="4075639477629295004">Không thể truyền <ph name="FILE_NAME" />.</translation>
@@ -2869,6 +2873,7 @@
 <translation id="5332624210073556029">Múi giờ:</translation>
 <translation id="5334142896108694079">Bộ nhớ đệm tập lệnh</translation>
 <translation id="5334844597069022743">Xem nguồn</translation>
+<translation id="5334899159203764908">Tìm hiểu thêm về <ph name="BEGIN_LINK" />quyền truy cập vào trang web<ph name="END_LINK" /></translation>
 <translation id="5335458522276292100">Đang sao lưu <ph name="FILE_COUNT" /> vào <ph name="BEGIN_LINK" />Google Drive<ph name="END_LINK" /></translation>
 <translation id="5336126339807372270">Không cho phép bất kỳ trang web nào truy cập vào thiết bị USB</translation>
 <translation id="5337771866151525739">Được cài đặt bởi bên thứ ba.</translation>
@@ -2879,7 +2884,7 @@
 <translation id="5341980496415249280">Vui lòng đợi, đang đóng gói...</translation>
 <translation id="5342091991439452114">Mã PIN phải có ít nhất <ph name="MINIMUM" /> chữ số</translation>
 <translation id="5352033265844765294">Dấu Thời gian</translation>
-<translation id="5352285283572729470">Tùy chọn cài đặt này được quản lý</translation>
+<translation id="5352285283572729470">Mục cài đặt này được quản lý</translation>
 <translation id="5353252989841766347">Xuất mật khẩu từ Chrome</translation>
 <translation id="5355097969896547230">Tìm lại</translation>
 <translation id="5355926466126177564">Tiện ích "<ph name="EXTENSION_NAME" />" đã thay đổi trang nào được hiển thị khi bạn tìm kiếm từ Thanh địa chỉ.</translation>
@@ -2976,6 +2981,7 @@
 <translation id="5487521232677179737">Xóa dữ liệu</translation>
 <translation id="5488093641312826914">Đã sao chép '<ph name="COPIED_ITEM_NAME" />'</translation>
 <translation id="5488468185303821006">Cho phép ở chế độ ẩn danh</translation>
+<translation id="5489121514345187313">Chromebook thậm chí còn hoạt động tốt hơn với điện thoại của bạn. <ph name="LINK_BEGIN" />Tìm hiểu thêm<ph name="LINK_END" /></translation>
 <translation id="5489435190927933437">Các mật khẩu đã lưu cho <ph name="DOMAIN" /></translation>
 <translation id="5491110079163012109">Gửi dữ liệu hệ thống. Tự động gửi dữ liệu chẩn đoán, dữ liệu về mức sử dụng thiết bị và ứng dụng đến Google. Cài đặt này do chủ sở hữu thiết bị thực thi. Chủ sở hữu có thể chọn gửi dữ liệu chẩn đoán và dữ liệu về mức sử dụng cho thiết bị này đến Google. Bạn có thể xem dữ liệu này trong phần cài đặt. Nếu bạn đã bật tính năng Hoạt động web và ứng dụng bổ sung, thì thông tin này sẽ được lưu trữ cùng với tài khoản để bạn có thể quản lý trong mục Hoạt động của tôi. <ph name="BEGIN_LINK1" />Tìm hiểu thêm<ph name="END_LINK1" /></translation>
 <translation id="5493792505296048976">màn hình bật</translation>
@@ -3147,6 +3153,7 @@
 <translation id="5731409020711461763">1 ảnh mới</translation>
 <translation id="5734362860645681824">Truyền thông</translation>
 <translation id="5736796278325406685">Vui lòng nhập tên người dùng hợp lệ</translation>
+<translation id="5739235828260127894">Đang chờ xác minh. <ph name="LINK_BEGIN" />Tìm hiểu thêm<ph name="LINK_END" /></translation>
 <translation id="5739458112391494395">Rất lớn</translation>
 <translation id="5740331643563157105"><ph name="LANGUAGE_1" />, <ph name="LANGUAGE_2" /> và <ph name="NUM_ADDITIONAL_LANGUAGES" /> ngôn ngữ khác</translation>
 <translation id="574209121243317957">Cao độ</translation>
@@ -3250,6 +3257,7 @@
 <translation id="5870086504539785141">Đóng menu khả năng truy cập</translation>
 <translation id="5870155679953074650">Lỗi phần cứng</translation>
 <translation id="5877064549588274448">Kênh đã thay đổi. Hãy khởi động lại thiết bị để áp dụng thay đổi.</translation>
+<translation id="5877584842898320529">Máy in đã chọn không sử dụng được hoặc không được cài đặt chính xác. <ph name="BR" /> Hãy kiểm tra máy in hoặc thử chọn một máy in khác.</translation>
 <translation id="5880247576487732437">Mã thông báo hiện có</translation>
 <translation id="5882919346125742463">Mạng đã biết</translation>
 <translation id="5884474295213649357">Tab này được kết nối với một thiết bị USB.</translation>
@@ -3316,9 +3324,12 @@
 <translation id="5979469435153841984">Để đánh dấu các trang, hãy nhấp vào dấu sao trong thanh địa chỉ</translation>
 <translation id="5982621672636444458">Tùy chọn sắp xếp</translation>
 <translation id="5984222099446776634">Truy cập gần đây</translation>
+<translation id="5985458664595100876">Định dạng URL không hợp lệ. Các định dạng được hỗ trợ là \\server\share và smb://server/share.</translation>
+<translation id="5990142338020175451">Thêm các dịch vụ của Google tùy chỉnh cho cá nhân, như nội dung đề xuất trang hiệu quả hơn</translation>
 <translation id="5990386583461751448">Đã dịch</translation>
 <translation id="5991049340509704927">Phóng to</translation>
 <translation id="599131315899248751">{NUM_APPLICATIONS,plural, =1{Để đảm bảo có thể tiếp tục duyệt web, hãy yêu cầu quản trị viên xóa ứng dụng này.}other{Để đảm bảo có thể tiếp tục duyệt web, hãy yêu cầu quản trị viên xóa những ứng dụng này.}}</translation>
+<translation id="5997337190805127100">Tìm hiểu thêm về quyền truy cập vào trang web</translation>
 <translation id="6002458620803359783">Giọng nói ưu tiên</translation>
 <translation id="6005695835120147974">Bộ định tuyến phương tiện</translation>
 <translation id="6006484371116297560">Cổ điển</translation>
@@ -3342,6 +3353,7 @@
 <translation id="6026819612896463875"><ph name="WINDOW_TITLE" /> - Đã kết nối thiết bị USB</translation>
 <translation id="6028117231645531007">Thêm vân tay</translation>
 <translation id="6029027682598229313">Đã hoàn tất quá trình cài đặt Linux.</translation>
+<translation id="6029292188939175871">xóa [<ph name="FINGERPRINT_NAME" />], nút</translation>
 <translation id="6029587122245504742">Chậm nhất</translation>
 <translation id="6032912588568283682">Hệ thống tệp</translation>
 <translation id="6034662038931255275">Cập nhật hệ điều hành thành công</translation>
@@ -3455,7 +3467,6 @@
 <translation id="6185132558746749656">Vị trí thiết bị</translation>
 <translation id="6185617499004995178">Trình xác thực IPP CUPS</translation>
 <translation id="6185696379715117369">Trang trên</translation>
-<translation id="6189273858858366896">Thiết lập hoặc quản lý cài đặt Chia sẻ tệp trong mạng.</translation>
 <translation id="6189412234224385711">Mở bằng <ph name="EXTENSION_NAME" /></translation>
 <translation id="6196640612572343990">Chặn cookie của bên thứ ba</translation>
 <translation id="6196854373336333322">Tiện ích "<ph name="EXTENSION_NAME" />" đã chiếm quyền kiểm soát cài đặt proxy của bạn, điều đó có nghĩa là tiện ích này có thể thay đổi, làm gián đoạn hoặc nghe trộm bất kỳ điều gì bạn thực hiện trực tuyến. Nếu bạn không chắc chắn về lý do thay đổi này diễn ra, bạn có thể không cần tiện ích này.</translation>
@@ -3761,6 +3772,7 @@
 <translation id="6643016212128521049">Xóa</translation>
 <translation id="6644512095122093795">Đề xuất lưu mật khẩu</translation>
 <translation id="6644846457769259194">Đang cập nhật thiết bị của bạn (<ph name="PROGRESS_PERCENT" />)</translation>
+<translation id="6645437135153136856">Thiết bị Google Cloud Print đã chọn không còn được hỗ trợ. <ph name="BR" /> Hãy thử thiết lập máy in trong phần cài đặt hệ thống trên máy tính của bạn.</translation>
 <translation id="6647228709620733774">URL thu hồi của tổ chức phát hành chứng chỉ Netscape</translation>
 <translation id="6647838571840953560">Hiện ở trên <ph name="CHANNEL_NAME" /></translation>
 <translation id="6648051959475508072">Đã kích hoạt khóa bảo mật...</translation>
@@ -3782,7 +3794,6 @@
 <translation id="667517062706956822">Bạn có muốn Google dịch trang này từ <ph name="SOURCE_LANGUAGE" /> sang <ph name="TARGET_LANGUAGE" /> không?</translation>
 <translation id="6675665718701918026">Đã kết nối thiết bị trỏ</translation>
 <translation id="6678717876183468697">URL truy vấn</translation>
-<translation id="6680028776254050810">Chuyển người dùng</translation>
 <translation id="6680442031740878064">Còn trống: <ph name="AVAILABLE_SPACE" /></translation>
 <translation id="6680650203439190394">Tốc độ</translation>
 <translation id="6681668084120808868">Chụp ảnh</translation>
@@ -3791,7 +3802,6 @@
 <translation id="668599234725812620">Mở Google Play</translation>
 <translation id="6686490380836145850">Đóng tab phía bên phải</translation>
 <translation id="6686817083349815241">Lưu mật khẩu của bạn</translation>
-<translation id="6690565918367819723"><ph name="PROFILE_NAME" /> Chuyển người dùng</translation>
 <translation id="6690659332373509948">Không thể phân tích cú pháp tệp: <ph name="FILE_NAME" /></translation>
 <translation id="6690751852586194791">Chọn người dùng được giám sát để thêm vào thiết bị này.</translation>
 <translation id="6691331417640343772">Quản lý dữ liệu đã đồng bộ hóa trên Trang tổng quan của Google</translation>
@@ -4015,6 +4025,7 @@
 <translation id="7040230719604914234">Nhà mạng</translation>
 <translation id="7042418530779813870">Dán &amp;và tìm kiếm</translation>
 <translation id="7043108582968290193">Xong! Không tìm thấy ứng dụng nào không tương thích.</translation>
+<translation id="7044124535091449260">Tìm hiểu thêm về quyền truy cập vào trang web</translation>
 <translation id="7049293980323620022">Giữ tệp?</translation>
 <translation id="7051943809462976355">Đang tìm kiếm chuột...</translation>
 <translation id="7052237160939977163">Gửi dữ liệu theo dõi hoạt động</translation>
@@ -4127,6 +4138,7 @@
 <translation id="7201118060536064622">Đã xóa '<ph name="DELETED_ITEM_NAME" />'</translation>
 <translation id="7206693748120342859">Đang tải xuống <ph name="PLUGIN_NAME" />...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{Thoát khỏi trang}other{Thoát khỏi các trang}}</translation>
+<translation id="7210499381659830293">Máy in tiện ích</translation>
 <translation id="721467499098558573">Nhấn và giữ nút trên khóa bảo mật trong ít nhất 5 giây</translation>
 <translation id="7216409898977639127">Nhà cung cấp dịch vụ di động</translation>
 <translation id="7216595297012131718">Sắp xếp ngôn ngữ dựa trên tùy chọn của bạn</translation>
@@ -4205,6 +4217,7 @@
 <translation id="7321545336522791733">Máy chủ không truy cập được</translation>
 <translation id="7324297612904500502">Diễn đàn beta</translation>
 <translation id="7325437708553334317">Tiện ích tương phản cao</translation>
+<translation id="7328162502911382168">(<ph name="COUNT" />)</translation>
 <translation id="7328867076235380839">Tổ hợp phím không hợp lệ</translation>
 <translation id="7329154610228416156">Đăng nhập không thành công vì đã được định cấu hình sử dụng URL không an toàn (<ph name="BLOCKED_URL" />). Vui lòng liên hệ với quản trị viên của bạn.</translation>
 <translation id="7334190995941642545">Smart Lock hiện không khả dụng. Vui lòng thử lại sau.</translation>
@@ -4268,7 +4281,7 @@
 <translation id="7433692219247014412">{COUNT,plural, =0{Mở tất cả trong &amp;cửa sổ mới}=1{Mở trong &amp;cửa sổ mới}other{Mở tất cả (#) trong &amp;cửa sổ mới}}</translation>
 <translation id="7434509671034404296">Nhà phát triển</translation>
 <translation id="7436921188514130341">Ôi, hỏng! Đã xảy ra lỗi trong khi đổi tên.</translation>
-<translation id="7441736921018636843">Để thay đổi tùy chọn cài đặt này, hãy <ph name="BEGIN_LINK" />đặt lại tính năng đồng bộ hóa<ph name="END_LINK" /> để xóa cụm mật khẩu đồng bộ hóa của bạn</translation>
+<translation id="7441736921018636843">Để thay đổi mục cài đặt này, hãy <ph name="BEGIN_LINK" />đặt lại tính năng đồng bộ hóa<ph name="END_LINK" /> để xóa cụm mật khẩu đồng bộ hóa của bạn</translation>
 <translation id="7441830548568730290">Người dùng khác</translation>
 <translation id="7442465037756169001">Bạn hiện có thể thiết lập phần cứng Hangouts Meet.</translation>
 <translation id="744341768939279100">Tạo cấu hình mới</translation>
@@ -4796,6 +4809,7 @@
 <translation id="8199300056570174101">Thuộc tính của thiết bị và mạng (dịch vụ)</translation>
 <translation id="8200772114523450471">Tiếp tục</translation>
 <translation id="8202160505685531999">Vui lòng nhập lại mật khẩu để cập nhật hồ sơ <ph name="DEVICE_TYPE" /> của bạn.</translation>
+<translation id="8203732864715032075">Gửi cho bạn thông báo và tùy chọn mặc định để ghi nhớ máy tính này cho ứng dụng Messages. <ph name="LINK_BEGIN" />Tìm hiểu thêm<ph name="LINK_END" /></translation>
 <translation id="8206354486702514201">Cài đặt này được quản trị viên của bạn thực thi.</translation>
 <translation id="8206745257863499010">Nốt nhạc xanh</translation>
 <translation id="8209677645716428427">Người dùng được giám sát có thể khám phá web dưới sự hướng dẫn của bạn. Là người quản lý của người dùng được giám sát trong Chrome, bạn có thể:</translation>
@@ -5107,7 +5121,6 @@
 <translation id="869884720829132584">Menu ứng dụng</translation>
 <translation id="869891660844655955">Ngày hết hạn</translation>
 <translation id="8699566574894671540">Để bật tính năng này, trước tiên hãy chọn mục Kiểm tra chính tả trong khi nhập trong menu Chỉnh sửa</translation>
-<translation id="870073306461175568">Chia sẻ tệp trong mạng</translation>
 <translation id="8701677791353449257">Tên thiết bị phải khớp với biểu thức chính quy <ph name="REGEX" />.</translation>
 <translation id="8704521619148782536">Thao tác này mất nhiều thời gian hơn nhiều so với bình thường. Bạn có thể tiếp tục chờ hoặc hủy và thử lại sau.</translation>
 <translation id="8705331520020532516">Số Sê-ri</translation>
@@ -5292,7 +5305,6 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> - Đã bị lỗi</translation>
 <translation id="8983677657449185470">Giúp cải thiện tính năng Duyệt web an toàn</translation>
 <translation id="8984179138335769204">Khởi động nhanh</translation>
-<translation id="8984654317541110628">URL chia sẻ tệp</translation>
 <translation id="8986362086234534611">Quên</translation>
 <translation id="8986494364107987395">Tự động gửi số liệu thống kê về việc sử dụng và báo cáo sự cố cho Google</translation>
 <translation id="8987927404178983737">Tháng</translation>
diff --git a/chrome/app/resources/generated_resources_zh-CN.xtb b/chrome/app/resources/generated_resources_zh-CN.xtb
index a44f0f6..cf24a27 100644
--- a/chrome/app/resources/generated_resources_zh-CN.xtb
+++ b/chrome/app/resources/generated_resources_zh-CN.xtb
@@ -275,6 +275,7 @@
 <translation id="1395730723686586365">更新程序已启动</translation>
 <translation id="1396139853388185343">设置打印机时出错</translation>
 <translation id="1396963298126346194">您输入的用户名和密码不匹配</translation>
+<translation id="1397500194120344683">没有任何符合条件的设备。<ph name="LINK_BEGIN" />了解详情<ph name="LINK_END" /></translation>
 <translation id="1397854323885047133">同步和个性化</translation>
 <translation id="1398853756734560583">最大化</translation>
 <translation id="1399511500114202393">不使用任何用户证书</translation>
@@ -372,7 +373,6 @@
 <translation id="1531004739673299060">应用窗口</translation>
 <translation id="15373452373711364">大号鼠标光标</translation>
 <translation id="1538729222189715449">正在打开 Linux 文件…</translation>
-<translation id="153933193410874873">无法在此设备上验证您的身份</translation>
 <translation id="1540605929960647700">启用演示模式</translation>
 <translation id="1543284117603151572">从 Edge 导入的书签</translation>
 <translation id="1545177026077493356">自动自助服务终端模式</translation>
@@ -526,6 +526,7 @@
 <translation id="175772926354468439">启用主题背景</translation>
 <translation id="1758018619400202187">EAP-TLS</translation>
 <translation id="17584710573359123">在 Chrome 网上应用店中查看详情</translation>
+<translation id="176193854664720708">指纹传感器位于电源按钮中。请用任一根手指轻轻触摸它。</translation>
 <translation id="1763046204212875858">创建应用快捷方式</translation>
 <translation id="1763108912552529023">继续了解</translation>
 <translation id="1763808908432309942">在新标签页中打开</translation>
@@ -679,7 +680,6 @@
 <translation id="1981115145845865539">自动解锁您的 <ph name="DEVICE_TYPE" /></translation>
 <translation id="1983959805486816857">创建新的受监管用户后,您随时可以通过任意设备转到 <ph name="MANAGEMENT_URL" /> 管理这些设置。</translation>
 <translation id="1984642098429648350">将窗口固定到右侧</translation>
-<translation id="1987139229093034863">切换到其他用户。</translation>
 <translation id="1987317783729300807">帐号</translation>
 <translation id="1989112275319619282">浏览</translation>
 <translation id="1992397118740194946">未设置</translation>
@@ -820,6 +820,7 @@
 <translation id="2208158072373999562">Zip 归档</translation>
 <translation id="220858061631308971">请在“<ph name="DEVICE_NAME" />”上输入此 PIN 码:</translation>
 <translation id="2209593327042758816">栏中第 2 项</translation>
+<translation id="2212126039311489237">使用系统对话框进行打印</translation>
 <translation id="2217501013957346740">新建用户名 -</translation>
 <translation id="2218019600945559112">鼠标和触控板</translation>
 <translation id="2218320521449013367">Chrome 移除有害软件时出现错误</translation>
@@ -932,6 +933,7 @@
 <translation id="2378075407703503998">已选择 <ph name="SELCTED_FILE_COUNT" /> 个文件</translation>
 <translation id="237828693408258535">翻译此页?</translation>
 <translation id="2378982052244864789">选择扩展程序目录。</translation>
+<translation id="2379281330731083556">使用系统对话框进行打印...<ph name="SHORTCUT_KEY" /></translation>
 <translation id="2381756643783702095">发送前先询问(推荐)</translation>
 <translation id="2384436799579181135">出错了。请检查您的打印机,然后重试。</translation>
 <translation id="2387458720915042159">代理连接类型</translation>
@@ -1110,6 +1112,7 @@
 <translation id="2653659639078652383">提交</translation>
 <translation id="265390580714150011">字段值</translation>
 <translation id="2654166010170466751">允许网站安装付款处理程序</translation>
+<translation id="2656742821229528729">将 Android 手机与 Chromebook 连接后,您便可通过计算机收发短信、共享互联网连接以及利用手机解锁 Chromebook。<ph name="FOOTNOTE_POINTER" /><ph name="LINK_BEGIN" />了解详情<ph name="LINK_END" /></translation>
 <translation id="2659381484350128933"><ph name="FOOTNOTE_POINTER" />功能因设备而异</translation>
 <translation id="2660779039299703961">事件</translation>
 <translation id="266079277508604648">无法连接到打印机。请确保该打印机已开机且已通过 Wi-Fi 或 USB 连接到您的 Chromebook。</translation>
@@ -1313,7 +1316,7 @@
 <translation id="29488703364906173">一款快速、简单且安全的网络浏览器,能很好满足现代网络对浏览器的要求。</translation>
 <translation id="2951247061394563839">使窗口居中</translation>
 <translation id="2958721676848865875">打包扩展程序警告</translation>
-<translation id="296026337010986570">搞定了!已移除有害软件。要想重新开启扩展程序,请前往&lt;a href="chrome://extensions"&gt;扩展程序&lt;/a&gt;页面。</translation>
+<translation id="296026337010986570">大功告成!已移除有害软件。要想重新开启扩展程序,请前往&lt;a href="chrome://extensions"&gt;扩展程序&lt;/a&gt;页面。</translation>
 <translation id="2961090598421146107"><ph name="CERTIFICATE_NAME" />(已提供扩展功能)</translation>
 <translation id="2961695502793809356">点击可前进,按住可查看历史记录</translation>
 <translation id="2963151496262057773">以下插件没有响应:<ph name="PLUGIN_NAME" />。是否要停止使用该插件?</translation>
@@ -1414,6 +1417,7 @@
 <translation id="3115128645424181617">找不到您的手机。请确保它就在您身边且已开启蓝牙。</translation>
 <translation id="3115147772012638511">正在等待存入缓存...</translation>
 <translation id="3118319026408854581"><ph name="PRODUCT_NAME" />帮助</translation>
+<translation id="3119484583572640616">开启后,Better Together 即可执行以下操作:</translation>
 <translation id="3120430004221004537">“<ph name="DEVICE_NAME" />”上某项指定操作的加密强度不足。</translation>
 <translation id="3121793941267913344">重置这台<ph name="IDS_SHORT_PRODUCT_NAME" />设备</translation>
 <translation id="3122464029669770682">CPU</translation>
@@ -1726,6 +1730,7 @@
 <translation id="3596235046596950091">启用云服务</translation>
 <translation id="3599863153486145794">清除所有登录过的设备上的历史记录。您的 Google 帐号在 <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" /> 上可能有其他形式的浏览记录。</translation>
 <translation id="3600792891314830896">将播放声音的网站静音</translation>
+<translation id="360180734785106144">即时提供可用的新功能</translation>
 <translation id="3602290021589620013">预览</translation>
 <translation id="3603533104205588786">点击星形图标即可为网页添加书签</translation>
 <translation id="3603622770190368340">获取网络证书</translation>
@@ -2060,7 +2065,6 @@
 <translation id="4068506536726151626">此网页包含来自以下网站的元素,这些网站正在追踪您的位置:</translation>
 <translation id="4068776064906523561">已保存的指纹</translation>
 <translation id="407173827865827707">点击时</translation>
-<translation id="4071770069230198275"><ph name="PROFILE_NAME" />:登录错误</translation>
 <translation id="4074900173531346617">电子邮件签名人证书</translation>
 <translation id="407520071244661467">缩放</translation>
 <translation id="4075639477629295004">无法投射“<ph name="FILE_NAME" />”。</translation>
@@ -2769,7 +2773,7 @@
 <translation id="5227808808023563348">查找上一文字</translation>
 <translation id="5228076606934445476">设备出现问题。要从此错误下恢复,您需要重启设备,然后重试。</translation>
 <translation id="5229189185761556138">管理输入法</translation>
-<translation id="5230516054153933099">窗</translation>
+<translation id="5230516054153933099">窗口</translation>
 <translation id="5233019165164992427">NaCl调试端口</translation>
 <translation id="5233231016133573565">进程 ID</translation>
 <translation id="5233638681132016545">打开新的标签页</translation>
@@ -2856,6 +2860,7 @@
 <translation id="5332624210073556029">时区:</translation>
 <translation id="5334142896108694079">脚本缓存</translation>
 <translation id="5334844597069022743">查看源代码</translation>
+<translation id="5334899159203764908">详细了解<ph name="BEGIN_LINK" />网站访问权限<ph name="END_LINK" /></translation>
 <translation id="5335458522276292100">正在将 <ph name="FILE_COUNT" />备份到 <ph name="BEGIN_LINK" />Google 云端硬盘<ph name="END_LINK" /></translation>
 <translation id="5336126339807372270">禁止任何网站访问 USB 设备</translation>
 <translation id="5337771866151525739">由第三方安装。</translation>
@@ -2963,6 +2968,7 @@
 <translation id="5487521232677179737">清除数据</translation>
 <translation id="5488093641312826914">已复制“<ph name="COPIED_ITEM_NAME" />”</translation>
 <translation id="5488468185303821006">在隐身模式下启用</translation>
+<translation id="5489121514345187313">将您的 Chromebook 连接到手机可获得更好的体验。<ph name="LINK_BEGIN" />了解详情<ph name="LINK_END" /></translation>
 <translation id="5489435190927933437">已保存的用于登录 <ph name="DOMAIN" /> 的密码</translation>
 <translation id="5491110079163012109">发送系统数据。自动向 Google 发送诊断数据以及设备和应用使用情况数据。此设备的所有者已强制启用了这项设置。此设备的所有者可以选择将它的诊断数据和使用情况数据发送给 Google。您可在“设置”部分中查看此设置。如果您开启了“其他网络与应用活动记录”设置,这些信息将会存储在您的帐号中,以便您在“我的活动记录”页面中进行管理。<ph name="BEGIN_LINK1" />了解详情<ph name="END_LINK1" /></translation>
 <translation id="5493792505296048976">已开启屏幕</translation>
@@ -3134,6 +3140,7 @@
 <translation id="5731409020711461763">1 张新照片</translation>
 <translation id="5734362860645681824">通讯</translation>
 <translation id="5736796278325406685">请输入有效的用户名</translation>
+<translation id="5739235828260127894">正在等待验证。<ph name="LINK_BEGIN" />了解详情<ph name="LINK_END" /></translation>
 <translation id="5739458112391494395">特大</translation>
 <translation id="5740331643563157105"><ph name="LANGUAGE_1" />、<ph name="LANGUAGE_2" />和另外 <ph name="NUM_ADDITIONAL_LANGUAGES" /> 种语言</translation>
 <translation id="574209121243317957">音高</translation>
@@ -3237,6 +3244,7 @@
 <translation id="5870086504539785141">关闭辅助功能菜单</translation>
 <translation id="5870155679953074650">硬故障数</translation>
 <translation id="5877064549588274448">版本已更改。请重新启动设备来应用这些变更。</translation>
+<translation id="5877584842898320529">所选打印机不可用或未正确安装。<ph name="BR" />请检查打印机,或尝试另选一台打印机。</translation>
 <translation id="5880247576487732437">已提供令牌</translation>
 <translation id="5882919346125742463">已知网络</translation>
 <translation id="5884474295213649357">此标签页已连接到 USB 设备。</translation>
@@ -3303,6 +3311,7 @@
 <translation id="5979469435153841984">要为网页添加书签,请点击地址栏中的星形图标</translation>
 <translation id="5982621672636444458">排序选项</translation>
 <translation id="5984222099446776634">最近访问过的内容</translation>
+<translation id="5985458664595100876">网址格式无效。支持的格式为 \\server\share 和 smb://server/share。</translation>
 <translation id="5990142338020175451">畅享更加个性化的 Google 服务,例如更贴合个人需求的网页建议</translation>
 <translation id="5990386583461751448">已翻译</translation>
 <translation id="5991049340509704927">放大</translation>
@@ -3331,6 +3340,7 @@
 <translation id="6026819612896463875"><ph name="WINDOW_TITLE" /> - 已连接 USB 设备</translation>
 <translation id="6028117231645531007">添加指纹</translation>
 <translation id="6029027682598229313">Linux 已安装完毕。</translation>
+<translation id="6029292188939175871">删除[<ph name="FINGERPRINT_NAME" />],按钮</translation>
 <translation id="6029587122245504742">最慢</translation>
 <translation id="6032912588568283682">文件系统</translation>
 <translation id="6034662038931255275">操作系统更新成功</translation>
@@ -3444,7 +3454,6 @@
 <translation id="6185132558746749656">设备位置</translation>
 <translation id="6185617499004995178">CUPS IPP 验证程序</translation>
 <translation id="6185696379715117369">向上翻页</translation>
-<translation id="6189273858858366896">设置或管理网络文件共享。</translation>
 <translation id="6189412234224385711">使用“<ph name="EXTENSION_NAME" />”打开</translation>
 <translation id="6196640612572343990">阻止第三方 Cookie</translation>
 <translation id="6196854373336333322">“<ph name="EXTENSION_NAME" />”扩展程序控制了您的代理设置,也就是说,它可以更改、中断或窃听您在网上执行的任何操作。如果您不确定出现这种变化的原因,那么这种变化可能并不是您所希望的。</translation>
@@ -3749,6 +3758,7 @@
 <translation id="6643016212128521049">清除</translation>
 <translation id="6644512095122093795">提示保存密码</translation>
 <translation id="6644846457769259194">正在更新您的设备 (<ph name="PROGRESS_PERCENT" />)</translation>
+<translation id="6645437135153136856">所选的 Google 云打印设备已不再受支持。<ph name="BR" />请尝试在您计算机的系统设置中设置打印机。</translation>
 <translation id="6647228709620733774">Netscape 证书授权中心吊销网址</translation>
 <translation id="6647838571840953560">目前使用的是<ph name="CHANNEL_NAME" />版本</translation>
 <translation id="6648051959475508072">已启用安全密钥…</translation>
@@ -3770,7 +3780,6 @@
 <translation id="667517062706956822">您希望 Google 将此网页的内容从<ph name="SOURCE_LANGUAGE" />翻译为<ph name="TARGET_LANGUAGE" />吗?</translation>
 <translation id="6675665718701918026">已连接指针设备</translation>
 <translation id="6678717876183468697">查询网址</translation>
-<translation id="6680028776254050810">切换用户</translation>
 <translation id="6680442031740878064">可用空间:<ph name="AVAILABLE_SPACE" /></translation>
 <translation id="6680650203439190394">语速</translation>
 <translation id="6681668084120808868">拍照</translation>
@@ -3779,7 +3788,6 @@
 <translation id="668599234725812620">打开 Google Play</translation>
 <translation id="6686490380836145850">关闭右侧标签页</translation>
 <translation id="6686817083349815241">保存您的密码</translation>
-<translation id="6690565918367819723"><ph name="PROFILE_NAME" />切换用户</translation>
 <translation id="6690659332373509948">无法解析文件:<ph name="FILE_NAME" /></translation>
 <translation id="6690751852586194791">选择要添加到此设备的受监管用户。</translation>
 <translation id="6691331417640343772">通过 Google 信息中心管理已同步的数据</translation>
@@ -4116,6 +4124,7 @@
 <translation id="7201118060536064622">已删除“<ph name="DELETED_ITEM_NAME" />”</translation>
 <translation id="7206693748120342859">正在下载 <ph name="PLUGIN_NAME" />...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{退出网页}other{退出网页}}</translation>
+<translation id="7210499381659830293">扩展打印机</translation>
 <translation id="721467499098558573">按住安全密钥上的按钮至少 5 秒钟</translation>
 <translation id="7216409898977639127">移动网络服务提供商</translation>
 <translation id="7216595297012131718">根据您的偏好设置对语言进行排序</translation>
@@ -4194,6 +4203,7 @@
 <translation id="7321545336522791733">无法连接到服务器</translation>
 <translation id="7324297612904500502">Chrome(测试版)论坛</translation>
 <translation id="7325437708553334317">“高反差”扩展程序</translation>
+<translation id="7328162502911382168">(<ph name="COUNT" />)</translation>
 <translation id="7328867076235380839">无效的组合</translation>
 <translation id="7329154610228416156">由于已配置为使用不安全的网址 (<ph name="BLOCKED_URL" />),因此登录失败了。请与管理员联系。</translation>
 <translation id="7334190995941642545">目前无法使用 Smart Lock,请稍后重试。</translation>
@@ -4783,6 +4793,7 @@
 <translation id="8199300056570174101">网络(服务)和设备属性</translation>
 <translation id="8200772114523450471">继续</translation>
 <translation id="8202160505685531999">请重新输入密码,以便更新您的<ph name="DEVICE_TYPE" />资料。</translation>
+<translation id="8203732864715032075">向您发送通知,并默认记住这台计算机以便在您收到短信时向其发送通知。<ph name="LINK_BEGIN" />了解详情<ph name="LINK_END" /></translation>
 <translation id="8206354486702514201">此设置是由您的管理员执行的。</translation>
 <translation id="8206745257863499010">音符</translation>
 <translation id="8209677645716428427">受监管用户可在您的指导下浏览网页。在 Chrome 中,受监管用户的管理员可执行以下操作:</translation>
@@ -5062,7 +5073,7 @@
 <translation id="8659875081143553823">请稍候</translation>
 <translation id="8661290697478713397">在隐身窗口中打开链接(&amp;G)</translation>
 <translation id="8662671328352114214">加入<ph name="TYPE" />网络</translation>
-<translation id="8662795692588422978">其他人</translation>
+<translation id="8662795692588422978">用户</translation>
 <translation id="8662811608048051533">您会从大多数网站退出。</translation>
 <translation id="8662911384982557515">将您的主页更改为:<ph name="HOME_PAGE" /></translation>
 <translation id="8662978096466608964">Chrome 无法设置壁纸。</translation>
@@ -5094,7 +5105,6 @@
 <translation id="869884720829132584">应用菜单</translation>
 <translation id="869891660844655955">截止日期</translation>
 <translation id="8699566574894671540">要启用此功能,请先在“修改”菜单中选择“键入内容时检查拼写”</translation>
-<translation id="870073306461175568">网络文件共享</translation>
 <translation id="8701677791353449257">设备名称必须与正则表达式 <ph name="REGEX" /> 匹配。</translation>
 <translation id="8704521619148782536">所用的时间远远超出了正常情况。您可以继续等待,也可以取消并稍后重试。</translation>
 <translation id="8705331520020532516">序列号</translation>
@@ -5279,7 +5289,6 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> - 已崩溃</translation>
 <translation id="8983677657449185470">帮助我们改进安全浏览功能</translation>
 <translation id="8984179138335769204">快速启动</translation>
-<translation id="8984654317541110628">文件共享网址</translation>
 <translation id="8986362086234534611">不保存</translation>
 <translation id="8986494364107987395">将使用情况统计信息和崩溃报告自动发送给 Google</translation>
 <translation id="8987927404178983737">月</translation>
@@ -5344,7 +5353,7 @@
 <translation id="9064142312330104323">Google 个人资料照片(正在加载)</translation>
 <translation id="9064275926664971810">启用自动填充功能后,只需点击一次即可填写多个表单</translation>
 <translation id="9064939804718829769">正在处理…</translation>
-<translation id="9065203028668620118">修改</translation>
+<translation id="9065203028668620118">编辑</translation>
 <translation id="9066773882585798925">让系统大声朗读文字</translation>
 <translation id="9066782832737749352">文字转语音</translation>
 <translation id="9072550133391925347"><ph name="PASSWORD_MANAGER_BRAND" /> 会使用您保存的密码让您自动登录到符合条件的网站和应用。</translation>
@@ -5398,7 +5407,7 @@
 <translation id="9148058034647219655">退出</translation>
 <translation id="9148116311817999634">设置屏幕锁定,以确保安全无虞</translation>
 <translation id="9148126808321036104">重新登录</translation>
-<translation id="9149866541089851383">修改...</translation>
+<translation id="9149866541089851383">编辑...</translation>
 <translation id="9150045010208374699">使用您的摄像头</translation>
 <translation id="9153934054460603056">保存身份信息和密码</translation>
 <translation id="9154194610265714752">已更新</translation>
diff --git a/chrome/app/resources/generated_resources_zh-TW.xtb b/chrome/app/resources/generated_resources_zh-TW.xtb
index b1e70b28..e1af3f5 100644
--- a/chrome/app/resources/generated_resources_zh-TW.xtb
+++ b/chrome/app/resources/generated_resources_zh-TW.xtb
@@ -275,6 +275,7 @@
 <translation id="1395730723686586365">更新程式已啟動</translation>
 <translation id="1396139853388185343">設定印表機時發生錯誤</translation>
 <translation id="1396963298126346194">你輸入的使用者名稱和密碼不相符</translation>
+<translation id="1397500194120344683">沒有適用裝置。<ph name="LINK_BEGIN" />瞭解詳情<ph name="LINK_END" /></translation>
 <translation id="1397854323885047133">同步處理和個人化</translation>
 <translation id="1398853756734560583">放到最大</translation>
 <translation id="1399511500114202393">不使用使用者憑證</translation>
@@ -375,7 +376,6 @@
 <translation id="1531004739673299060">應用程式視窗</translation>
 <translation id="15373452373711364">大型滑鼠游標</translation>
 <translation id="1538729222189715449">正在開啟 Linux 檔案…</translation>
-<translation id="153933193410874873">我們無法在這部裝置上驗證你的身分</translation>
 <translation id="1540605929960647700">啟用示範模式</translation>
 <translation id="1543284117603151572">從 Edge 匯入的書籤</translation>
 <translation id="1545177026077493356">自動 Kiosk 模式</translation>
@@ -529,6 +529,7 @@
 <translation id="175772926354468439">啟用主題</translation>
 <translation id="1758018619400202187">EAP-TLS</translation>
 <translation id="17584710573359123">前往 Chrome 線上應用程式商店查看</translation>
+<translation id="176193854664720708">指紋感應器位於電源按鈕上,請以任何一隻手指輕觸指紋感應器。</translation>
 <translation id="1763046204212875858">建立應用程式捷徑</translation>
 <translation id="1763108912552529023">繼續探索</translation>
 <translation id="1763808908432309942">在新分頁中開啟</translation>
@@ -682,7 +683,6 @@
 <translation id="1981115145845865539">自動為你的 <ph name="DEVICE_TYPE" /> 解鎖</translation>
 <translation id="1983959805486816857">建立新的受監管使用者之後,你隨時都可以透過位於 <ph name="MANAGEMENT_URL" /> 的裝置來管理設定。</translation>
 <translation id="1984642098429648350">靠右固定視窗</translation>
-<translation id="1987139229093034863">切換至其他使用者。</translation>
 <translation id="1987317783729300807">帳戶</translation>
 <translation id="1989112275319619282">瀏覽</translation>
 <translation id="1992397118740194946">尚未設定</translation>
@@ -823,6 +823,7 @@
 <translation id="2208158072373999562">Zip 封存</translation>
 <translation id="220858061631308971">請在「<ph name="DEVICE_NAME" />」上輸入以下 PIN 碼:</translation>
 <translation id="2209593327042758816">檔案櫃項目 2</translation>
+<translation id="2212126039311489237">使用系統對話方塊列印</translation>
 <translation id="2217501013957346740">建立名稱 -</translation>
 <translation id="2218019600945559112">滑鼠和觸控板</translation>
 <translation id="2218320521449013367">Chrome 移除有害的軟體時發生錯誤</translation>
@@ -935,6 +936,7 @@
 <translation id="2378075407703503998">已選取 <ph name="SELCTED_FILE_COUNT" /> 個檔案</translation>
 <translation id="237828693408258535">要翻譯這個網頁嗎?</translation>
 <translation id="2378982052244864789">選取擴充功能目錄。</translation>
+<translation id="2379281330731083556">使用系統對話方塊進行列印... <ph name="SHORTCUT_KEY" /></translation>
 <translation id="2381756643783702095">傳送前詢問我 (建議)</translation>
 <translation id="2384436799579181135">發生錯誤。請檢查你的印表機,然後再試一次。</translation>
 <translation id="2387458720915042159">Proxy 連線類型</translation>
@@ -1114,6 +1116,7 @@
 <translation id="2653659639078652383">提交</translation>
 <translation id="265390580714150011">欄位值</translation>
 <translation id="2654166010170466751">允許網站安裝付款處理常式</translation>
+<translation id="2656742821229528729">將你的 Android 手機與 Chromebook 建立連結,即可透過電腦收發簡訊、讓電腦使用手機的網際網路連線,並使用手機解鎖 Chromebook 螢幕。<ph name="FOOTNOTE_POINTER" /><ph name="LINK_BEGIN" />瞭解詳情<ph name="LINK_END" /></translation>
 <translation id="2659381484350128933"><ph name="FOOTNOTE_POINTER" />功能會因裝置而異</translation>
 <translation id="2660779039299703961">活動</translation>
 <translation id="266079277508604648">無法連上印表機。請確認印表機已開啟,且已透過 Wi-Fi 或 USB 連上 Chromebook。</translation>
@@ -1418,6 +1421,7 @@
 <translation id="3115128645424181617">找不到你的手機。請確定手機在適當距離範圍內,且藍牙功能已開啟。</translation>
 <translation id="3115147772012638511">等候快取...</translation>
 <translation id="3118319026408854581"><ph name="PRODUCT_NAME" />說明</translation>
+<translation id="3119484583572640616">開啟 Better Together 即可執行下列功能:</translation>
 <translation id="3120430004221004537">在以下裝置上指定的作業的加密強度不足:「<ph name="DEVICE_NAME" />」。</translation>
 <translation id="3121793941267913344">重設這個 <ph name="IDS_SHORT_PRODUCT_NAME" /> 裝置</translation>
 <translation id="3122464029669770682">CPU</translation>
@@ -1732,6 +1736,7 @@
 <translation id="3596235046596950091">啟用雲端服務</translation>
 <translation id="3599863153486145794">將歷史記錄從所有登入帳戶的裝置上清除。你的 Google 帳戶可能會儲存其他形式的瀏覽記錄,請參閱 <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />。</translation>
 <translation id="3600792891314830896">將播放音訊的網站設為靜音</translation>
+<translation id="360180734785106144">在新功能推出時立即提供你使用</translation>
 <translation id="3602290021589620013">預覽</translation>
 <translation id="3603533104205588786">按一下星號即可將網頁加入書籤</translation>
 <translation id="3603622770190368340">取得網路憑證</translation>
@@ -2066,7 +2071,6 @@
 <translation id="4068506536726151626">這個網頁包含來自下列網站的元素,且這些元素正在追蹤你的位置:</translation>
 <translation id="4068776064906523561">已儲存的指紋</translation>
 <translation id="407173827865827707">點擊時</translation>
-<translation id="4071770069230198275"><ph name="PROFILE_NAME" />:登入錯誤</translation>
 <translation id="4074900173531346617">電子郵件簽署者憑證</translation>
 <translation id="407520071244661467">縮放比例</translation>
 <translation id="4075639477629295004">無法投放「<ph name="FILE_NAME" />」。</translation>
@@ -2974,6 +2978,7 @@
 <translation id="5487521232677179737">清除資料</translation>
 <translation id="5488093641312826914">已複製「<ph name="COPIED_ITEM_NAME" />」</translation>
 <translation id="5488468185303821006">允許在無痕模式中執行</translation>
+<translation id="5489121514345187313">與手機連結可進一步提升 Chromebook 的效能。<ph name="LINK_BEGIN" />瞭解詳情<ph name="LINK_END" /></translation>
 <translation id="5489435190927933437">已儲存的 <ph name="DOMAIN" /> 密碼</translation>
 <translation id="5491110079163012109">傳送系統資料。自動將診斷資料、裝置與應用程式使用情形資料傳送給 Google。擁有者強制啟用了這項設定。擁有者可能會選擇將這個裝置的診斷資料和使用資料傳送給 Google。你可以在「設定」中查看這項資訊。如果你另外開啟了「網路和應用程式活動」設定,這項資訊會儲存在你的帳戶中,方便你在「我的活動」中進行管理。<ph name="BEGIN_LINK1" />瞭解詳情<ph name="END_LINK1" /></translation>
 <translation id="5493792505296048976">螢幕已開啟</translation>
@@ -3145,6 +3150,7 @@
 <translation id="5731409020711461763">1 張新相片</translation>
 <translation id="5734362860645681824">通訊</translation>
 <translation id="5736796278325406685">請輸入有效的使用者名稱</translation>
+<translation id="5739235828260127894">等待驗證中。<ph name="LINK_BEGIN" />瞭解詳情<ph name="LINK_END" /></translation>
 <translation id="5739458112391494395">非常大</translation>
 <translation id="5740331643563157105"><ph name="LANGUAGE_1" />、<ph name="LANGUAGE_2" />和另外 <ph name="NUM_ADDITIONAL_LANGUAGES" /> 種語言</translation>
 <translation id="574209121243317957">音調</translation>
@@ -3248,6 +3254,7 @@
 <translation id="5870086504539785141">關閉協助工具選單</translation>
 <translation id="5870155679953074650">硬性錯誤數</translation>
 <translation id="5877064549588274448">版本已變更。請重新啟動裝置以套用變更。</translation>
+<translation id="5877584842898320529">選取的印表機無法使用或未正確安裝。<ph name="BR" />請檢查你的印表機,或改選其他印表機。</translation>
 <translation id="5880247576487732437">提供的憑證</translation>
 <translation id="5882919346125742463">已知網路</translation>
 <translation id="5884474295213649357">這個分頁已連上 USB 裝置。</translation>
@@ -3314,9 +3321,12 @@
 <translation id="5979469435153841984">如要將網頁加入書籤,請按一下網址列的星號</translation>
 <translation id="5982621672636444458">排序選項</translation>
 <translation id="5984222099446776634">最近造訪的網站</translation>
+<translation id="5985458664595100876">網址格式無效。支援的格式為 \\server\share 和 smb://server/share。</translation>
+<translation id="5990142338020175451">體驗更加個人化的 Google 服務 (例如更適切的網頁建議)</translation>
 <translation id="5990386583461751448">已翻譯</translation>
 <translation id="5991049340509704927">放大</translation>
 <translation id="599131315899248751">{NUM_APPLICATIONS,plural, =1{為確保你可以持續瀏覽網路,請要求你的管理員移除這個應用程式。}other{為確保你可以持續瀏覽網路,請要求你的管理員移除這些應用程式。}}</translation>
+<translation id="5997337190805127100">進一步瞭解網站存取權</translation>
 <translation id="6002458620803359783">聲音偏好</translation>
 <translation id="6005695835120147974">媒體路由器</translation>
 <translation id="6006484371116297560">傳統版</translation>
@@ -3340,6 +3350,7 @@
 <translation id="6026819612896463875"><ph name="WINDOW_TITLE" /> - 已連接 USB 裝置</translation>
 <translation id="6028117231645531007">新增指紋</translation>
 <translation id="6029027682598229313">Linux 安裝完成。</translation>
+<translation id="6029292188939175871">[<ph name="FINGERPRINT_NAME" />] 刪除按鈕</translation>
 <translation id="6029587122245504742">最慢</translation>
 <translation id="6032912588568283682">檔案系統</translation>
 <translation id="6034662038931255275">作業系統更新成功</translation>
@@ -3453,7 +3464,6 @@
 <translation id="6185132558746749656">裝置位置</translation>
 <translation id="6185617499004995178">CUPS IPP 驗證工具</translation>
 <translation id="6185696379715117369">Page Up 鍵</translation>
-<translation id="6189273858858366896">設定或管理網路檔案共用。</translation>
 <translation id="6189412234224385711">使用「<ph name="EXTENSION_NAME" />」開啟</translation>
 <translation id="6196640612572343990">封鎖第三方 Cookie</translation>
 <translation id="6196854373336333322">您的 Proxy 設定已受到擴充功能「<ph name="EXTENSION_NAME" />」控制,該擴充功能可變更、中斷、或監視您在網路上的行為。如果您不確定這項變更的發生原因,建議您停用該擴充功能。</translation>
@@ -3758,6 +3768,7 @@
 <translation id="6643016212128521049">清除</translation>
 <translation id="6644512095122093795">儲存密碼</translation>
 <translation id="6644846457769259194">正在更新你的裝置 (<ph name="PROGRESS_PERCENT" />)</translation>
+<translation id="6645437135153136856">我們已不再支援所選 Google 雲端列印裝置。<ph name="BR" />請在電腦的系統設定中設定印表機。</translation>
 <translation id="6647228709620733774">Netscape 憑證授權撤銷網址</translation>
 <translation id="6647838571840953560">目前使用<ph name="CHANNEL_NAME" /></translation>
 <translation id="6648051959475508072">已啟用安全金鑰...</translation>
@@ -3779,7 +3790,6 @@
 <translation id="667517062706956822">您要讓 Google 將這個網頁的內容從<ph name="SOURCE_LANGUAGE" />翻譯成<ph name="TARGET_LANGUAGE" />嗎?</translation>
 <translation id="6675665718701918026">已連上指標裝置</translation>
 <translation id="6678717876183468697">查詢網址</translation>
-<translation id="6680028776254050810">切換使用者</translation>
 <translation id="6680442031740878064">可用空間:<ph name="AVAILABLE_SPACE" /></translation>
 <translation id="6680650203439190394">語速</translation>
 <translation id="6681668084120808868">拍照</translation>
@@ -3788,7 +3798,6 @@
 <translation id="668599234725812620">開啟 Google Play</translation>
 <translation id="6686490380836145850">關閉右邊的分頁</translation>
 <translation id="6686817083349815241">儲存你的密碼</translation>
-<translation id="6690565918367819723"><ph name="PROFILE_NAME" /> 切換使用者</translation>
 <translation id="6690659332373509948">無法剖析檔案:<ph name="FILE_NAME" /></translation>
 <translation id="6690751852586194791">選擇要新增至裝置的受監管使用者。</translation>
 <translation id="6691331417640343772">管理 Google 資訊主頁中已同步處理的資料</translation>
@@ -4012,6 +4021,7 @@
 <translation id="7040230719604914234">電信業者</translation>
 <translation id="7042418530779813870">貼上及搜尋(&amp;S)</translation>
 <translation id="7043108582968290193">完成!未找到不相容的應用程式。</translation>
+<translation id="7044124535091449260">進一步瞭解網站存取權</translation>
 <translation id="7049293980323620022">要保留檔案嗎?</translation>
 <translation id="7051943809462976355">正在搜尋滑鼠...</translation>
 <translation id="7052237160939977163">傳送效能追蹤資料</translation>
@@ -4124,6 +4134,7 @@
 <translation id="7201118060536064622">已刪除「<ph name="DELETED_ITEM_NAME" />」</translation>
 <translation id="7206693748120342859">正在下載 <ph name="PLUGIN_NAME" />...</translation>
 <translation id="720715819012336933">{NUM_PAGES,plural, =1{離開網頁}other{離開網頁}}</translation>
+<translation id="7210499381659830293">擴充印表機</translation>
 <translation id="721467499098558573">按住安全金鑰上的按鈕至少 5 秒</translation>
 <translation id="7216409898977639127">行動網路提供者</translation>
 <translation id="7216595297012131718">根據你的偏好設定排列語言順序</translation>
@@ -4202,6 +4213,7 @@
 <translation id="7321545336522791733">無法連上伺服器</translation>
 <translation id="7324297612904500502">測試版論壇</translation>
 <translation id="7325437708553334317">高對比擴充功能</translation>
+<translation id="7328162502911382168">(<ph name="COUNT" />)</translation>
 <translation id="7328867076235380839">按鍵組合無效</translation>
 <translation id="7329154610228416156">由於設定使用的網址 (<ph name="BLOCKED_URL" />) 不安全,導致登入失敗。請與您的管理員聯絡。</translation>
 <translation id="7334190995941642545">目前無法使用 Smart Lock,請稍後再試。</translation>
@@ -4792,6 +4804,7 @@
 <translation id="8199300056570174101">網路 (服務) 與裝置屬性</translation>
 <translation id="8200772114523450471">繼續</translation>
 <translation id="8202160505685531999">請再次輸入您的密碼,以更新您的 <ph name="DEVICE_TYPE" /> 設定檔。</translation>
+<translation id="8203732864715032075">傳送通知給你,並預設記住這部電腦,以便在收到簡訊時傳送通知。<ph name="LINK_BEGIN" />瞭解詳情<ph name="LINK_END" /></translation>
 <translation id="8206354486702514201">這項設定由管理員執行。</translation>
 <translation id="8206745257863499010">藍調</translation>
 <translation id="8209677645716428427">受監管的使用者可以在你的指導下瀏覽網路。在 Chrome 中,受監管使用者的管理員可以:</translation>
@@ -5103,7 +5116,6 @@
 <translation id="869884720829132584">應用程式選單</translation>
 <translation id="869891660844655955">到期日</translation>
 <translation id="8699566574894671540">如要啟用這項功能,請先選取 [編輯] 選單中的 [輸入時檢查拼字]</translation>
-<translation id="870073306461175568">網路檔案共用</translation>
 <translation id="8701677791353449257">裝置名稱必須符合規則運算式 <ph name="REGEX" />。</translation>
 <translation id="8704521619148782536">作業時間過長。你可以繼續等待,或是取消後重試一次。</translation>
 <translation id="8705331520020532516">序號</translation>
@@ -5288,7 +5300,6 @@
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> - 已當機</translation>
 <translation id="8983677657449185470">協助改善「安全瀏覽」的品質</translation>
 <translation id="8984179138335769204">快速啓動</translation>
-<translation id="8984654317541110628">檔案共用網址</translation>
 <translation id="8986362086234534611">清除</translation>
 <translation id="8986494364107987395">自動傳送使用統計資料及當機報告給 Google</translation>
 <translation id="8987927404178983737">月</translation>
diff --git a/chrome/app/resources/google_chrome_strings_bn.xtb b/chrome/app/resources/google_chrome_strings_bn.xtb
index e80ce015..11cdea8 100644
--- a/chrome/app/resources/google_chrome_strings_bn.xtb
+++ b/chrome/app/resources/google_chrome_strings_bn.xtb
@@ -24,7 +24,7 @@
 <translation id="1585657529869845941">এটি দেখানো হলে <ph name="BEGIN_BOLD" />যেকোনওভাবে পরিবর্তন করতে<ph name="END_BOLD" /> ক্লিক করুন</translation>
 <translation id="1587223624401073077">Google Chrome আপনার ক্যামেরা ব্যবহার করছে৷</translation>
 <translation id="1587325591171447154"><ph name="FILE_NAME" /> বিপজ্জনক, তাই Chrome এটিকে অবরুদ্ধ করেছে।</translation>
-<translation id="1619887657840448962">Chrome কে আরও নিরাপদ করতে, আমরা নীচের এক্সটেনশানটি অক্ষম করেছি যা <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> এ তালিকাবদ্ধ করা হয়নি এবং হয়ত আপনাকে না জানিয়ে যোগ করা হয়েছিল৷</translation>
+<translation id="1619887657840448962">Chrome-কে আরও নিরাপদ করতে, আমরা নিচের এক্সটেনশনটি বন্ধ করেছি যা <ph name="IDS_EXTENSION_WEB_STORE_TITLE" />-এ তালিকাবদ্ধ করা হয়নি এবং হয়ত আপনাকে না জানিয়ে যোগ করা হয়েছিল৷</translation>
 <translation id="1628000112320670027">Chrome সম্পর্কে সহায়তা পান</translation>
 <translation id="1662639173275167396"><ph name="BEGIN_LINK_LINUX_OSS" />Linux (Beta)<ph name="END_LINK_LINUX_OSS" />-এর মত অতিরিক্ত <ph name="BEGIN_LINK_CROS_OSS" />ওপেন সোর্স সফ্টওয়্যার<ph name="END_LINK_CROS_OSS" /> ব্যবহার করে Chrome OS তৈরি করা সম্ভব হয়েছে।</translation>
 <translation id="1674870198290878346">Chrome এ ছদ্ম&amp;বেশী উইন্ডোতে লিঙ্ক খুলুন</translation>
@@ -73,7 +73,7 @@
 <translation id="2588322182880276190">Chrome লোগো</translation>
 <translation id="2652691236519827073">নতুন Chrome &amp;ট্যাবে লিঙ্ক খুলুন</translation>
 <translation id="2665296953892887393">Google এ <ph name="UMA_LINK" /> এবং ক্র্যাশ প্রতিবেদনগুলি পাঠিয়ে Google Chrome কে আরও ভাল করতে সহায়তা করুন৷</translation>
-<translation id="2689103672227170538">আপনি Chrome শুরু করলে কোন পৃষ্ঠাটি দেখানো হবে তা এই এক্সটেনশানটি পরিবর্তন করেছে।</translation>
+<translation id="2689103672227170538">আপনি Chrome চালু করলে কোন পৃষ্ঠাটি দেখানো হবে তা এই এক্সটেনশনটি পরিবর্তন করেছে।</translation>
 <translation id="2765403129283291972">এই সাইটটির জন্য Chrome কে আপনার মাইক্রোফোনে অ্যাক্সেস দিতে হবে</translation>
 <translation id="2770231113462710648">ডিফল্ট ব্রাউজার এতে পরিবর্তন করুন:</translation>
 <translation id="2799223571221894425">পুনঃশুরু</translation>
@@ -108,7 +108,7 @@
 <translation id="3637702109597584617">Google Chrome OS <ph name="TERMS_OF_SERVICE_LINK" />পরিষেবার শর্তাবলী<ph name="END_TERMS_OF_SERVICE_LINK" /></translation>
 <translation id="3716182511346448902">এই পৃষ্ঠাটি খুব বেশি মেমরি ব্যবহার করছে তাই Chrome এটি বিরত রেখেছে।</translation>
 <translation id="3718181793972440140">এটি এই ডিভাইস থেকে ১টি আইটেম মুছে দেবে। আপনার ডেটা পরে পুনরুদ্ধার করার জন্য, Chrome এ <ph name="USER_EMAIL" /> হিসেবে প্রবেশ করুন।</translation>
-<translation id="3735758079232443276">আপনি Chrome শুরু করলে কোন পৃষ্ঠাটি দেখানো হবে তা "<ph name="EXTENSION_NAME" />" এক্সটেনশান পরিবর্তন করেছে।</translation>
+<translation id="3735758079232443276">আপনি Chrome চালু করলে কোন পৃষ্ঠাটি দেখানো হবে তা "<ph name="EXTENSION_NAME" />" এক্সটেনশনটি পরিবর্তন করেছে।</translation>
 <translation id="3780814664026482060">Chrome - <ph name="PAGE_TITLE" /></translation>
 <translation id="3784527566857328444">Chrome থেকে সরান...</translation>
 <translation id="3844992844761326777">আপনার কম্পিউটারে ক্ষতিকর সফ্টওয়্যার আছে। Chrome এটিকে সরিয়ে দিতে পারে এবং আপনার সেটিংস রিস্টোর করতে পারে যাতে আপনার ব্রাউজার আবার স্বাভাবিকভাবে কাজ করে।</translation>
@@ -166,7 +166,7 @@
 <translation id="5193136243808726294">Google Chrome OS এই পৃষ্ঠা খুলতে পারছে না।</translation>
 <translation id="5204098752394657250">Google Chrome <ph name="TERMS_OF_SERVICE_LINK" /> পরিষেবার শর্তাবলী <ph name="END_TERMS_OF_SERVICE_LINK" /></translation>
 <translation id="5251420635869119124">অতিথিগণ কোনো কিছুর জন্য অভাব বোধ না করেই Chrome ব্যবহার করতে পারবেন৷</translation>
-<translation id="532046782124376502">সতর্কতা: Google Chrome কোনও এক্সটেনশনকে আপনার ব্রাউজিং ইতিহাস রেকর্ড করা থেকে বিরত করতে পারে না। ছদ্মবেশী মোডে এই এক্সটেনশনটি অক্ষম করার জন্য এই বিকল্পটি বন্ধ করুন।</translation>
+<translation id="532046782124376502">সতর্কতা: Google Chrome কোনও এক্সটেনশনকে আপনার ব্রাউজিং ইতিহাস রেকর্ড করা থেকে বিরত করতে পারে না। ছদ্মবেশী মোডে এই এক্সটেনশনটি বন্ধ করার জন্য এই বিকল্পটি বন্ধ করুন।</translation>
 <translation id="5386244825306882791">আপনি Chrome শুরু করলে বা Omnibox থেকে সার্চ করলে কোন পৃষ্ঠাটি দেখানো হবে তাও এটি নিয়ন্ত্রণ করে।</translation>
 <translation id="5430073640787465221">আপনার অভিরুচিসমূহ ফাইল দূষিত অথবা অবৈধ৷\n\nGoogle Chrome আপনার সেটিংস পুনরুদ্ধার করতে অক্ষম৷</translation>
 <translation id="5483595757826856374">{0,plural, =0{Chrome এখনই রিলঞ্চ হবে}=1{Chrome ১ সেকেন্ডের মধ্যে রিলঞ্চ হবে}one{Chrome # সেকেন্ডের মধ্যে রিলঞ্চ হবে}other{Chrome # সেকেন্ডের মধ্যে রিলঞ্চ হবে}}</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ta.xtb b/chrome/app/resources/google_chrome_strings_ta.xtb
index 0dab2ef..17ee8538 100644
--- a/chrome/app/resources/google_chrome_strings_ta.xtb
+++ b/chrome/app/resources/google_chrome_strings_ta.xtb
@@ -210,7 +210,7 @@
 <translation id="6989339256997917931">Google Chrome புதுப்பிக்கப்பட்டது, ஆனால் இதை நீங்கள் குறைந்தபட்சம் 30 நாட்களாகப் பயன்படுத்தவில்லை.</translation>
 <translation id="7023651421574588884">ஒரு புதுப்பிப்பைப் பயன்படுத்த, Chrome OSஸை மீண்டும் தொடங்குமாறு உங்கள் நிர்வாகி கோருகிறார்</translation>
 <translation id="7098166902387133879">Google Chrome உங்கள் மைக்ரோஃபோனைப் பயன்படுத்துகிறது.</translation>
-<translation id="7106741999175697885">பணி நிர்வாகி - Google Chrome</translation>
+<translation id="7106741999175697885">செயல் நிர்வாகி - Google Chrome</translation>
 <translation id="7164397146364144019">பாதுகாப்பிற்கு இடையூறு விளைவிக்கும் சாத்தியமுள்ள செயல்பாடு குறித்த விவரங்களைத் தானாகவே Google க்கு அனுப்புவதன் மூலம், Chrome ஐ மேலும் பாதுகாப்பானதாகவும், பயன்படுத்துவதற்கு எளிதானதாகவும் மாற்ற உதவவும்.</translation>
 <translation id="7242029209006116544">நீங்கள் நிர்வகிக்கப்படும் கணக்கு மூலம் உள்நுழைகிறீர்கள், மேலும் அதன் நிர்வாகிக்கு உங்கள் Google Chrome சுயவிவரத்தின் கட்டுப்பாட்டை வழங்குகிறீர்கள். உங்கள் பயன்பாடுகள், புக்மார்க்குகள், வரலாறு, கடவுச்சொற்கள் போன்ற உங்கள் Chrome தரவு மற்றும் பிற அமைப்புகள் நிரந்தரமாக <ph name="USER_NAME" /> உடன் இணைக்கப்படும். இந்தத் தரவை Google கணக்குகளின் டாஷ்போர்டு வழியாக நீக்க முடியும், ஆனால் இந்தத் தரவை வேறொரு கணக்குடன் தொடர்புபடுத்த முடியாது. விரும்பினால், உங்களுடைய நடப்பு Chrome தரவைத் தனிப்பட்ட முறையில் வைத்திருக்க நீங்கள் புதிய சுயவிவரத்தை உருவாக்கலாம். <ph name="LEARN_MORE" /></translation>
 <translation id="7308322188646931570">கோப்புகளைப் பதிவிறக்க Chromeக்குச் சேமிப்பிட அணுகல் தேவை</translation>
diff --git a/chrome/app/theme/default_100_percent/common/developer_mode_highlight_bottom.png b/chrome/app/theme/default_100_percent/common/developer_mode_highlight_bottom.png
deleted file mode 100644
index 526f43c..0000000
--- a/chrome/app/theme/default_100_percent/common/developer_mode_highlight_bottom.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/default_100_percent/common/developer_mode_highlight_bottom_left.png b/chrome/app/theme/default_100_percent/common/developer_mode_highlight_bottom_left.png
deleted file mode 100644
index f9ead72..0000000
--- a/chrome/app/theme/default_100_percent/common/developer_mode_highlight_bottom_left.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/default_100_percent/common/developer_mode_highlight_bottom_right.png b/chrome/app/theme/default_100_percent/common/developer_mode_highlight_bottom_right.png
deleted file mode 100644
index 4e3bdc6..0000000
--- a/chrome/app/theme/default_100_percent/common/developer_mode_highlight_bottom_right.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/default_100_percent/common/developer_mode_highlight_center.png b/chrome/app/theme/default_100_percent/common/developer_mode_highlight_center.png
deleted file mode 100644
index 4e9811d..0000000
--- a/chrome/app/theme/default_100_percent/common/developer_mode_highlight_center.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/default_100_percent/common/developer_mode_highlight_left.png b/chrome/app/theme/default_100_percent/common/developer_mode_highlight_left.png
deleted file mode 100644
index c4f07b9..0000000
--- a/chrome/app/theme/default_100_percent/common/developer_mode_highlight_left.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/default_100_percent/common/developer_mode_highlight_right.png b/chrome/app/theme/default_100_percent/common/developer_mode_highlight_right.png
deleted file mode 100644
index d38c8b6..0000000
--- a/chrome/app/theme/default_100_percent/common/developer_mode_highlight_right.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/default_100_percent/common/developer_mode_highlight_top.png b/chrome/app/theme/default_100_percent/common/developer_mode_highlight_top.png
deleted file mode 100644
index 78bb7ac..0000000
--- a/chrome/app/theme/default_100_percent/common/developer_mode_highlight_top.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/default_100_percent/common/developer_mode_highlight_top_left.png b/chrome/app/theme/default_100_percent/common/developer_mode_highlight_top_left.png
deleted file mode 100644
index c8b85f8..0000000
--- a/chrome/app/theme/default_100_percent/common/developer_mode_highlight_top_left.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/default_100_percent/common/developer_mode_highlight_top_right.png b/chrome/app/theme/default_100_percent/common/developer_mode_highlight_top_right.png
deleted file mode 100644
index 3f1fa00..0000000
--- a/chrome/app/theme/default_100_percent/common/developer_mode_highlight_top_right.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/default_200_percent/common/developer_mode_highlight_bottom.png b/chrome/app/theme/default_200_percent/common/developer_mode_highlight_bottom.png
deleted file mode 100644
index e537081..0000000
--- a/chrome/app/theme/default_200_percent/common/developer_mode_highlight_bottom.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/default_200_percent/common/developer_mode_highlight_bottom_left.png b/chrome/app/theme/default_200_percent/common/developer_mode_highlight_bottom_left.png
deleted file mode 100644
index a02810b..0000000
--- a/chrome/app/theme/default_200_percent/common/developer_mode_highlight_bottom_left.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/default_200_percent/common/developer_mode_highlight_bottom_right.png b/chrome/app/theme/default_200_percent/common/developer_mode_highlight_bottom_right.png
deleted file mode 100644
index ba52f77..0000000
--- a/chrome/app/theme/default_200_percent/common/developer_mode_highlight_bottom_right.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/default_200_percent/common/developer_mode_highlight_center.png b/chrome/app/theme/default_200_percent/common/developer_mode_highlight_center.png
deleted file mode 100644
index ef66cdf5..0000000
--- a/chrome/app/theme/default_200_percent/common/developer_mode_highlight_center.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/default_200_percent/common/developer_mode_highlight_left.png b/chrome/app/theme/default_200_percent/common/developer_mode_highlight_left.png
deleted file mode 100644
index 453325b8..0000000
--- a/chrome/app/theme/default_200_percent/common/developer_mode_highlight_left.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/default_200_percent/common/developer_mode_highlight_right.png b/chrome/app/theme/default_200_percent/common/developer_mode_highlight_right.png
deleted file mode 100644
index 52f8c695..0000000
--- a/chrome/app/theme/default_200_percent/common/developer_mode_highlight_right.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/default_200_percent/common/developer_mode_highlight_top.png b/chrome/app/theme/default_200_percent/common/developer_mode_highlight_top.png
deleted file mode 100644
index 18d46f0..0000000
--- a/chrome/app/theme/default_200_percent/common/developer_mode_highlight_top.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/default_200_percent/common/developer_mode_highlight_top_left.png b/chrome/app/theme/default_200_percent/common/developer_mode_highlight_top_left.png
deleted file mode 100644
index 20a0723..0000000
--- a/chrome/app/theme/default_200_percent/common/developer_mode_highlight_top_left.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/default_200_percent/common/developer_mode_highlight_top_right.png b/chrome/app/theme/default_200_percent/common/developer_mode_highlight_top_right.png
deleted file mode 100644
index 0832d28..0000000
--- a/chrome/app/theme/default_200_percent/common/developer_mode_highlight_top_right.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/theme_resources.grd b/chrome/app/theme/theme_resources.grd
index a7e749b..048ce1c 100644
--- a/chrome/app/theme/theme_resources.grd
+++ b/chrome/app/theme/theme_resources.grd
@@ -92,17 +92,6 @@
       </if>
       <structure type="chrome_scaled_image" name="IDR_COOKIES" file="common/cookies.png" />
       <structure type="chrome_scaled_image" name="IDR_COOKIE_STORAGE_ICON" file="common/cookie_storage.png" />
-      <if expr="is_macosx">
-        <structure type="chrome_scaled_image" name="IDR_DEVELOPER_MODE_HIGHLIGHT_BOTTOM_LEFT" file="common/developer_mode_highlight_bottom_left.png" />
-        <structure type="chrome_scaled_image" name="IDR_DEVELOPER_MODE_HIGHLIGHT_BOTTOM" file="common/developer_mode_highlight_bottom.png" />
-        <structure type="chrome_scaled_image" name="IDR_DEVELOPER_MODE_HIGHLIGHT_BOTTOM_RIGHT" file="common/developer_mode_highlight_bottom_right.png" />
-        <structure type="chrome_scaled_image" name="IDR_DEVELOPER_MODE_HIGHLIGHT_CENTER" file="common/developer_mode_highlight_center.png" />
-        <structure type="chrome_scaled_image" name="IDR_DEVELOPER_MODE_HIGHLIGHT_LEFT" file="common/developer_mode_highlight_left.png" />
-        <structure type="chrome_scaled_image" name="IDR_DEVELOPER_MODE_HIGHLIGHT_RIGHT" file="common/developer_mode_highlight_right.png" />
-        <structure type="chrome_scaled_image" name="IDR_DEVELOPER_MODE_HIGHLIGHT_TOP_LEFT" file="common/developer_mode_highlight_top_left.png" />
-        <structure type="chrome_scaled_image" name="IDR_DEVELOPER_MODE_HIGHLIGHT_TOP" file="common/developer_mode_highlight_top.png" />
-        <structure type="chrome_scaled_image" name="IDR_DEVELOPER_MODE_HIGHLIGHT_TOP_RIGHT" file="common/developer_mode_highlight_top_right.png" />
-      </if>
       <if expr="chromeos">
         <structure type="chrome_scaled_image" name="IDR_DEVICE_DISABLED" file="cros/device_disabled.png" />
       </if>
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
index 395567e..a6725c4b 100644
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -535,7 +535,9 @@
      switches::kTopChromeMDMaterialRefresh},
     {flag_descriptions::kTopChromeMdMaterialRefreshTouchOptimized,
      switches::kTopChromeMD,
-     switches::kTopChromeMDMaterialRefreshTouchOptimized}};
+     switches::kTopChromeMDMaterialRefreshTouchOptimized},
+    {flag_descriptions::kTopChromeMdMaterialRefreshDynamic,
+     switches::kTopChromeMD, switches::kTopChromeMDMaterialRefreshDynamic}};
 
 const FeatureEntry::Choice kNewTabButtonPositionChoices[] = {
     {flags_ui::kGenericExperimentChoiceDefault, "", ""},
@@ -1695,7 +1697,7 @@
     {
         "enable-background-blur", flag_descriptions::kEnableBackgroundBlurName,
         flag_descriptions::kEnableBackgroundBlurDescription, kOsCrOS,
-        FEATURE_VALUE_TYPE(app_list::features::kEnableBackgroundBlur),
+        FEATURE_VALUE_TYPE(app_list_features::kEnableBackgroundBlur),
     },
     {"enable-touchable-app-context-menu",
      flag_descriptions::kTouchableAppContextMenuName,
@@ -1708,7 +1710,7 @@
     {"enable-app-list-search-autocomplete",
      flag_descriptions::kEnableAppListSearchAutocompleteName,
      flag_descriptions::kEnableAppListSearchAutocompleteDescription, kOsCrOS,
-     FEATURE_VALUE_TYPE(app_list::features::kEnableAppListSearchAutocomplete)},
+     FEATURE_VALUE_TYPE(app_list_features::kEnableAppListSearchAutocomplete)},
     {
         "enable-pinch", flag_descriptions::kPinchScaleName,
         flag_descriptions::kPinchScaleDescription, kOsLinux | kOsWin | kOsCrOS,
@@ -2027,6 +2029,10 @@
      flag_descriptions::kHostedAppsInWindowsDescription, kOsMac,
      ENABLE_DISABLE_VALUE_TYPE(switches::kEnableHostedAppsInWindows,
                                switches::kDisableHostedAppsInWindows)},
+    {"create-app-windows-in-app",
+     flag_descriptions::kCreateAppWindowsInAppShimProcessName,
+     flag_descriptions::kCreateAppWindowsInAppShimProcessDescription, kOsMac,
+     FEATURE_VALUE_TYPE(features::kHostWindowsInAppShimProcess)},
     {"disable-hosted-app-shim-creation",
      flag_descriptions::kHostedAppShimCreationName,
      flag_descriptions::kHostedAppShimCreationDescription, kOsMac,
@@ -3957,16 +3963,16 @@
 #if defined(OS_CHROMEOS)
     {"enable-home-launcher", flag_descriptions::kEnableHomeLauncherName,
      flag_descriptions::kEnableHomeLauncherDescription, kOsCrOS,
-     FEATURE_VALUE_TYPE(app_list::features::kEnableHomeLauncher)},
+     FEATURE_VALUE_TYPE(app_list_features::kEnableHomeLauncher)},
 
     {"enable-apps-grid-gap", flag_descriptions::kEnableAppsGridGapFeatureName,
      flag_descriptions::kEnableAppsGridGapFeatureDescription, kOsCrOS,
-     FEATURE_VALUE_TYPE(app_list::features::kEnableAppsGridGapFeature)},
+     FEATURE_VALUE_TYPE(app_list_features::kEnableAppsGridGapFeature)},
 
     {"enable-new-style-launcher",
      flag_descriptions::kEnableNewStyleLauncherName,
      flag_descriptions::kEnableNewStyleLauncherDescription, kOsCrOS,
-     FEATURE_VALUE_TYPE(app_list::features::kEnableNewStyleLauncher)},
+     FEATURE_VALUE_TYPE(app_list_features::kEnableNewStyleLauncher)},
 #endif  // OS_CHROMEOS
 
 #if defined(OS_WIN)
@@ -3998,7 +4004,7 @@
     {"enable-settings-shortcut-search",
      flag_descriptions::kEnableSettingsShortcutSearchName,
      flag_descriptions::kEnableSettingsShortcutSearchDescription, kOsCrOS,
-     FEATURE_VALUE_TYPE(app_list::features::kEnableSettingsShortcutSearch)},
+     FEATURE_VALUE_TYPE(app_list_features::kEnableSettingsShortcutSearch)},
 #endif  // OS_CHROMEOS
 
     {"autofill-cache-query-responses",
@@ -4124,7 +4130,7 @@
     {"enable-app-shortcut-search",
      flag_descriptions::kEnableAppShortcutSearchName,
      flag_descriptions::kEnableAppShortcutSearchDescription, kOsCrOS,
-     FEATURE_VALUE_TYPE(app_list::features::kEnableAppShortcutSearch)},
+     FEATURE_VALUE_TYPE(app_list_features::kEnableAppShortcutSearch)},
 
     {"enable-drag-tabs-in-tablet-mode",
      flag_descriptions::kEnableDragTabsInTabletModeName,
@@ -4263,11 +4269,11 @@
 #if defined(OS_CHROMEOS)
     {"enable-continue-reading", flag_descriptions::kEnableContinueReadingName,
      flag_descriptions::kEnableContinueReadingDescription, kOsCrOS,
-     FEATURE_VALUE_TYPE(app_list::features::kEnableContinueReading)},
+     FEATURE_VALUE_TYPE(app_list_features::kEnableContinueReading)},
     {"enable-zero-state-suggestions",
      flag_descriptions::kEnableZeroStateSuggestionsName,
      flag_descriptions::kEnableZeroStateSuggestionsDescription, kOsCrOS,
-     FEATURE_VALUE_TYPE(app_list::features::kEnableZeroStateSuggestions)},
+     FEATURE_VALUE_TYPE(app_list_features::kEnableZeroStateSuggestions)},
 #endif  // OS_CHROMEOS
 
     {"enable-bloated-renderer-detection",
@@ -4366,7 +4372,7 @@
     {"enable-home-launcher-gestures",
      flag_descriptions::kEnableHomeLauncherGesturesName,
      flag_descriptions::kEnableHomeLauncherGesturesDescription, kOsCrOS,
-     FEATURE_VALUE_TYPE(app_list::features::kEnableHomeLauncherGestures)},
+     FEATURE_VALUE_TYPE(app_list_features::kEnableHomeLauncherGestures)},
 #endif
 
 #if !defined(OS_ANDROID)
diff --git a/chrome/browser/android/explore_sites/catalog.proto b/chrome/browser/android/explore_sites/catalog.proto
index 5ab94f8..38af710 100644
--- a/chrome/browser/android/explore_sites/catalog.proto
+++ b/chrome/browser/android/explore_sites/catalog.proto
@@ -77,21 +77,27 @@
 }
 
 message GetCatalogRequest {
-  // The latest timestamp of the catalog on the client.
-  int64 created_at_millis = 1;
+  reserved 1;
 
   // The country code for the catalog that was returned.
   string country_code = 2;
+
+  // The latest version token the client currently has cached as received in
+  // GetCatalogResponse.
+  string version_token = 3;
 }
 
 message GetCatalogResponse {
+  reserved 2;
+
   // Catalog of categories and sites that are appropriate for the client. Will
   // be empty if the client sends a request with the latest timestamp.
   Catalog catalog = 1;
 
-  // The latest timestamp of the catalof for the client on the server.
-  int64 created_at_millis = 2;
-
   // The country code for the catalog that was returned.
   string country_code = 3;
-}
\ No newline at end of file
+
+  // The version token for the latest ExploreSites Catalog. This is a
+  // server-generated opaque string.
+  string version_token = 4;
+}
diff --git a/chrome/browser/android/explore_sites/explore_sites_fetcher.cc b/chrome/browser/android/explore_sites/explore_sites_fetcher.cc
index ca4d0fb..bd85aec 100644
--- a/chrome/browser/android/explore_sites/explore_sites_fetcher.cc
+++ b/chrome/browser/android/explore_sites/explore_sites_fetcher.cc
@@ -66,7 +66,7 @@
 
 std::unique_ptr<ExploreSitesFetcher> ExploreSitesFetcher::CreateForGetCatalog(
     Callback callback,
-    const int64_t catalog_version,
+    const std::string catalog_version,
     const std::string country_code,
     scoped_refptr<network::SharedURLLoaderFactory> loader_factory) {
   GURL url = GetCatalogURL();
@@ -77,7 +77,7 @@
 std::unique_ptr<ExploreSitesFetcher>
 ExploreSitesFetcher::CreateForGetCategories(
     Callback callback,
-    const int64_t catalog_version,
+    const std::string catalog_version,
     const std::string country_code,
     scoped_refptr<network::SharedURLLoaderFactory> loader_factory) {
   GURL url = GetCategoriesURL();
@@ -88,7 +88,7 @@
 ExploreSitesFetcher::ExploreSitesFetcher(
     Callback callback,
     const GURL& url,
-    const int64_t catalog_version,
+    const std::string catalog_version,
     const std::string country_code,
     scoped_refptr<network::SharedURLLoaderFactory> loader_factory)
     : callback_(std::move(callback)),
@@ -116,7 +116,7 @@
                                                  traffic_annotation);
 
   GetCatalogRequest request;
-  request.set_created_at_millis(catalog_version);
+  request.set_version_token(catalog_version);
   request.set_country_code(country_code);
   std::string request_message;
   request.SerializeToString(&request_message);
diff --git a/chrome/browser/android/explore_sites/explore_sites_fetcher.h b/chrome/browser/android/explore_sites/explore_sites_fetcher.h
index f05b32f..fa257861 100644
--- a/chrome/browser/android/explore_sites/explore_sites_fetcher.h
+++ b/chrome/browser/android/explore_sites/explore_sites_fetcher.h
@@ -32,14 +32,14 @@
   // Creates a fetcher for the GetCatalog RPC.
   static std::unique_ptr<ExploreSitesFetcher> CreateForGetCatalog(
       Callback callback,
-      const int64_t catalog_version,
+      const std::string catalog_version,
       const std::string country_code,
       scoped_refptr<network::SharedURLLoaderFactory> loader_factory);
 
   // Creates a fetcher for the GetCategories RPC.
   static std::unique_ptr<ExploreSitesFetcher> CreateForGetCategories(
       Callback callback,
-      const int64_t catalog_version,
+      const std::string catalog_version,
       const std::string country_code,
       scoped_refptr<network::SharedURLLoaderFactory> loader_factory);
 
@@ -49,7 +49,7 @@
   explicit ExploreSitesFetcher(
       Callback callback,
       const GURL& url,
-      const int64_t catalog_version,
+      const std::string catalog_version,
       const std::string country_code,
       scoped_refptr<network ::SharedURLLoaderFactory> loader_factory);
 
diff --git a/chrome/browser/android/explore_sites/explore_sites_fetcher_unittest.cc b/chrome/browser/android/explore_sites/explore_sites_fetcher_unittest.cc
index e78443d9..a799c93 100644
--- a/chrome/browser/android/explore_sites/explore_sites_fetcher_unittest.cc
+++ b/chrome/browser/android/explore_sites/explore_sites_fetcher_unittest.cc
@@ -153,7 +153,7 @@
     base::OnceCallback<void(void)> respond_callback,
     std::string* data_received) {
   std::unique_ptr<ExploreSitesFetcher> fetcher =
-      ExploreSitesFetcher::CreateForGetCatalog(StoreResult(), 0, "KE",
+      ExploreSitesFetcher::CreateForGetCatalog(StoreResult(), "", "KE",
                                                test_shared_url_loader_factory_);
 
   std::move(respond_callback).Run();
diff --git a/chrome/browser/android/explore_sites/explore_sites_schema.cc b/chrome/browser/android/explore_sites/explore_sites_schema.cc
index 8f3a432..6f93e0e 100644
--- a/chrome/browser/android/explore_sites/explore_sites_schema.cc
+++ b/chrome/browser/android/explore_sites/explore_sites_schema.cc
@@ -24,8 +24,9 @@
                                                        // ID is *not* retained
                                                        // across catalog
                                                        // updates.
-    "version INTEGER NOT NULL, "  // matches an entry in the meta table:
-                                  // ‘current_catalog’ or ‘downloading_catalog’.
+    "version_token TEXT NOT NULL, "  // matches an entry in the meta table:
+                                     // ‘current_catalog’ or
+                                     // ‘downloading_catalog’.
     "type INTEGER NOT NULL, "
     "label TEXT NOT NULL, "
     "image BLOB, "  // can be NULL if no image is available, but must be
diff --git a/chrome/browser/android/explore_sites/explore_sites_service_impl.cc b/chrome/browser/android/explore_sites/explore_sites_service_impl.cc
index 2205e7a..06daed0 100644
--- a/chrome/browser/android/explore_sites/explore_sites_service_impl.cc
+++ b/chrome/browser/android/explore_sites/explore_sites_service_impl.cc
@@ -66,13 +66,13 @@
 void ExploreSitesServiceImpl::OnTaskQueueIsIdle() {}
 
 void ExploreSitesServiceImpl::AddUpdatedCatalog(
-    int64_t catalog_timestamp,
+    std::string version_token,
     std::unique_ptr<Catalog> catalog_proto) {
   if (!IsExploreSitesEnabled())
     return;
 
   task_queue_.AddTask(std::make_unique<ImportCatalogTask>(
-      explore_sites_store_.get(), catalog_timestamp, std::move(catalog_proto)));
+      explore_sites_store_.get(), version_token, std::move(catalog_proto)));
 }
 
 }  // namespace explore_sites
diff --git a/chrome/browser/android/explore_sites/explore_sites_service_impl.h b/chrome/browser/android/explore_sites/explore_sites_service_impl.h
index c251c20..003f5256 100644
--- a/chrome/browser/android/explore_sites/explore_sites_service_impl.h
+++ b/chrome/browser/android/explore_sites/explore_sites_service_impl.h
@@ -38,7 +38,7 @@
   // TaskQueue::Delegate implementation:
   void OnTaskQueueIsIdle() override;
 
-  void AddUpdatedCatalog(int64_t catalog_timestamp,
+  void AddUpdatedCatalog(std::string version_token,
                          std::unique_ptr<Catalog> catalog_proto);
 
   // True when Chrome starts up, this is reset after the catalog is requested
diff --git a/chrome/browser/android/explore_sites/explore_sites_types.cc b/chrome/browser/android/explore_sites/explore_sites_types.cc
index df477fd..a483e08 100644
--- a/chrome/browser/android/explore_sites/explore_sites_types.cc
+++ b/chrome/browser/android/explore_sites/explore_sites_types.cc
@@ -17,11 +17,11 @@
 ExploreSitesSite::~ExploreSitesSite() = default;
 
 ExploreSitesCategory::ExploreSitesCategory(int category_id,
-                                           int version,
+                                           std::string version_token,
                                            int category_type,
                                            std::string label)
     : category_id(category_id),
-      version(version),
+      version_token(version_token),
       category_type(category_type),
       label(label) {}
 
diff --git a/chrome/browser/android/explore_sites/explore_sites_types.h b/chrome/browser/android/explore_sites/explore_sites_types.h
index f4fc3dfc..e27916e7 100644
--- a/chrome/browser/android/explore_sites/explore_sites_types.h
+++ b/chrome/browser/android/explore_sites/explore_sites_types.h
@@ -38,14 +38,14 @@
 struct ExploreSitesCategory {
   // Creates a category.  Sites should be populated separately.
   ExploreSitesCategory(int category_id,
-                       int version,
+                       std::string version_token,
                        int category_type,
                        std::string label);
   ExploreSitesCategory(ExploreSitesCategory&& other);
   virtual ~ExploreSitesCategory();
 
   int category_id;
-  int version;
+  std::string version_token;
   int category_type;
   std::string label;
 
diff --git a/chrome/browser/android/explore_sites/get_catalog_task.cc b/chrome/browser/android/explore_sites/get_catalog_task.cc
index ec62f026..115263e 100644
--- a/chrome/browser/android/explore_sites/get_catalog_task.cc
+++ b/chrome/browser/android/explore_sites/get_catalog_task.cc
@@ -13,54 +13,50 @@
 namespace explore_sites {
 namespace {
 
-static const char kSelectCategorySql[] = R"(
-SELECT category_id, type, label FROM categories
-WHERE version = ?
-ORDER BY category_id ASC;
-)";
+static const char kSelectCategorySql[] = R"(SELECT category_id, type, label
+FROM categories
+WHERE version_token = ?
+ORDER BY category_id ASC;)";
 
-static const char kSelectSiteSql[] = R"(
-SELECT site_id, url, title FROM sites
-WHERE category_id = ?
-)";
+static const char kSelectSiteSql[] = R"(SELECT site_id, url, title
+FROM sites
+WHERE category_id = ?)";
 
-const char kDeleteSiteSql[] = R"(
-DELETE FROM sites WHERE category_id NOT IN
-(SELECT category_id FROM categories WHERE version = ?);)";
+const char kDeleteSiteSql[] = R"(DELETE FROM sites
+WHERE category_id NOT IN
+(SELECT category_id FROM categories WHERE version_token = ?);)";
 
-const char kDeleteCategorySql[] = R"(
-DELETE FROM categories WHERE version <> ?;
-)";
+const char kDeleteCategorySql[] =
+    "DELETE FROM categories WHERE version_token <> ?;";
 
 }  // namespace
 
-int64_t UpdateCurrentCatalogIfNewer(sql::MetaTable* meta_table,
-                                    int64_t current_catalog_timestamp) {
+std::string UpdateCurrentCatalogIfNewer(sql::MetaTable* meta_table,
+                                        std::string current_version_token) {
   DCHECK(meta_table);
-  int64_t downloading_catalog_timestamp = -1LL;
+  std::string downloading_version_token;
   if (!meta_table->GetValue("downloading_catalog",
-                            &downloading_catalog_timestamp) ||
-      downloading_catalog_timestamp < 0 ||
-      downloading_catalog_timestamp <= current_catalog_timestamp) {
-    return current_catalog_timestamp;
+                            &downloading_version_token)) {
+    return current_version_token;
   }
 
-  if (!meta_table->SetValue("current_catalog", downloading_catalog_timestamp))
-    return -1;
+  if (!meta_table->SetValue("current_catalog", downloading_version_token))
+    return "";
   meta_table->DeleteKey("downloading_catalog");
 
-  return downloading_catalog_timestamp;
+  return downloading_version_token;
 }
 
-void RemoveOutdatedCatalogEntries(sql::Database* db, int64_t timestamp) {
+void RemoveOutdatedCatalogEntries(sql::Database* db,
+                                  std::string version_token) {
   sql::Statement delete_sites(
       db->GetCachedStatement(SQL_FROM_HERE, kDeleteSiteSql));
-  delete_sites.BindInt64(0, timestamp);
+  delete_sites.BindString(0, version_token);
   delete_sites.Run();
 
   sql::Statement delete_categories(
       db->GetCachedStatement(SQL_FROM_HERE, kDeleteCategorySql));
-  delete_categories.BindInt64(0, timestamp);
+  delete_categories.BindString(0, version_token);
   delete_categories.Run();
 }
 
@@ -75,7 +71,7 @@
   // If we are downloading a catalog that is the same version as the one
   // currently in use, don't change it.  This is an error, should have been
   // caught before we got here.
-  int64_t catalog_timestamp = 0;
+  std::string catalog_timestamp;
   meta_table.GetValue("current_catalog", &catalog_timestamp);
 
   if (update_current) {
@@ -83,6 +79,8 @@
     transaction.Begin();
     catalog_timestamp =
         UpdateCurrentCatalogIfNewer(&meta_table, catalog_timestamp);
+    if (catalog_timestamp == "")
+      return nullptr;
     RemoveOutdatedCatalogEntries(db, catalog_timestamp);
     if (!transaction.Commit())
       return nullptr;
@@ -90,7 +88,7 @@
 
   sql::Statement category_statement(
       db->GetCachedStatement(SQL_FROM_HERE, kSelectCategorySql));
-  category_statement.BindInt64(0, catalog_timestamp);
+  category_statement.BindString(0, catalog_timestamp);
 
   auto result = std::make_unique<GetCatalogTask::CategoryList>();
   while (category_statement.Step()) {
diff --git a/chrome/browser/android/explore_sites/get_catalog_task_unittest.cc b/chrome/browser/android/explore_sites/get_catalog_task_unittest.cc
index 6931723..1df7dfe 100644
--- a/chrome/browser/android/explore_sites/get_catalog_task_unittest.cc
+++ b/chrome/browser/android/explore_sites/get_catalog_task_unittest.cc
@@ -42,9 +42,9 @@
 
   void PopulateTestingCatalog();
   void ValidateTestingCatalog(GetCatalogTask::CategoryList* catalog);
-  void SetDownloadingAndCurrentVersion(int downloading_version,
-                                       int current_version);
-  std::pair<int, int> GetCurrentAndDownloadingVersion();
+  void SetDownloadingAndCurrentVersion(std::string downloading_version_token,
+                                       std::string current_version_token);
+  std::pair<std::string, std::string> GetCurrentAndDownloadingVersion();
   int GetNumberOfCategoriesInDB();
   int GetNumberOfSitesInDB();
 
@@ -61,16 +61,16 @@
   ExecuteSync(base::BindLambdaForTesting([](sql::Database* db) {
     sql::MetaTable meta_table;
     ExploreSitesSchema::InitMetaTable(db, &meta_table);
-    meta_table.SetValue("current_catalog", 5678);
+    meta_table.SetValue("current_catalog", "5678");
     meta_table.DeleteKey("downloading_catalog");
     sql::Statement insert(db->GetUniqueStatement(R"(
 INSERT INTO categories
-(category_id, version, type, label)
+(category_id, version_token, type, label)
 VALUES
-(1, 1234, 1, "label_1"), -- older catalog
-(2, 1234, 2, "label_2"), -- older catalog
-(3, 5678, 1, "label_1"), -- current catalog
-(4, 5678, 2, "label_2"); -- current catalog)"));
+(1, "1234", 1, "label_1"), -- older catalog
+(2, "1234", 2, "label_2"), -- older catalog
+(3, "5678", 1, "label_1"), -- current catalog
+(4, "5678", 2, "label_2"); -- current catalog)"));
     if (!insert.Run())
       return false;
 
@@ -94,7 +94,7 @@
   EXPECT_EQ(2U, catalog->size());
   ExploreSitesCategory* cat = &catalog->at(0);
   EXPECT_EQ(3, cat->category_id);
-  EXPECT_EQ(5678, cat->version);
+  EXPECT_EQ("5678", cat->version_token);
   EXPECT_EQ(1, cat->category_type);
   EXPECT_EQ("label_1", cat->label);
 
@@ -106,7 +106,7 @@
 
   cat = &catalog->at(1);
   EXPECT_EQ(4, cat->category_id);
-  EXPECT_EQ(5678, cat->version);
+  EXPECT_EQ("5678", cat->version_token);
   EXPECT_EQ(2, cat->category_type);
   EXPECT_EQ("label_2", cat->label);
 
@@ -118,21 +118,21 @@
 }
 
 void ExploreSitesGetCatalogTaskTest::SetDownloadingAndCurrentVersion(
-    int downloading_version,
-    int current_version) {
+    std::string downloading_version_token,
+    std::string current_version_token) {
   ExecuteSync(base::BindLambdaForTesting([&](sql::Database* db) {
     sql::MetaTable meta_table;
     ExploreSitesSchema::InitMetaTable(db, &meta_table);
-    meta_table.SetValue("downloading_catalog", downloading_version);
-    meta_table.SetValue("current_catalog", current_version);
+    meta_table.SetValue("downloading_catalog", downloading_version_token);
+    meta_table.SetValue("current_catalog", current_version_token);
     return true;
   }));
 }
 
-std::pair<int, int>
+std::pair<std::string, std::string>
 ExploreSitesGetCatalogTaskTest::GetCurrentAndDownloadingVersion() {
-  int64_t current_catalog = -1;
-  int64_t downloading_catalog = -1;
+  std::string current_catalog = "";
+  std::string downloading_catalog = "";
   ExecuteSync(base::BindLambdaForTesting([&](sql::Database* db) {
     sql::MetaTable meta_table;
     ExploreSitesSchema::InitMetaTable(db, &meta_table);
@@ -208,7 +208,7 @@
   PopulateTestingCatalog();
   // Update the testing catalog so that the older catalog is current and the
   // downloading catalog is ready to upgrade.
-  SetDownloadingAndCurrentVersion(5678, 1234);
+  SetDownloadingAndCurrentVersion("5678", "1234");
   auto callback = base::BindLambdaForTesting(
       [&](std::unique_ptr<GetCatalogTask::CategoryList> catalog) {
         ValidateTestingCatalog(catalog.get());
@@ -216,7 +216,8 @@
   GetCatalogTask task(store(), true /* update_current */, callback);
   RunTask(&task);
 
-  EXPECT_EQ(std::make_pair(5678, -1), GetCurrentAndDownloadingVersion());
+  EXPECT_EQ(std::make_pair(std::string("5678"), std::string()),
+            GetCurrentAndDownloadingVersion());
   // The task should have pruned the database.
   EXPECT_EQ(2, GetNumberOfCategoriesInDB());
   EXPECT_EQ(2, GetNumberOfSitesInDB());
@@ -226,7 +227,7 @@
   PopulateTestingCatalog();
   // Make "1234" the downloading version, we should not see any changes in the
   // DB if the |update_current| flag is false.
-  SetDownloadingAndCurrentVersion(1234, 5678);
+  SetDownloadingAndCurrentVersion("1234", "5678");
   auto callback = base::BindLambdaForTesting(
       [&](std::unique_ptr<GetCatalogTask::CategoryList> catalog) {
         ValidateTestingCatalog(catalog.get());
@@ -234,14 +235,15 @@
   GetCatalogTask task(store(), false /* update_current */, callback);
   RunTask(&task);
 
-  EXPECT_EQ(std::make_pair(5678, 1234), GetCurrentAndDownloadingVersion());
+  EXPECT_EQ(std::make_pair(std::string("5678"), std::string("1234")),
+            GetCurrentAndDownloadingVersion());
   EXPECT_EQ(4, GetNumberOfCategoriesInDB());
   EXPECT_EQ(4, GetNumberOfSitesInDB());
 }
 
 TEST_F(ExploreSitesGetCatalogTaskTest, InvalidCatalogVersions) {
   PopulateTestingCatalog();
-  SetDownloadingAndCurrentVersion(-1, -1);
+  SetDownloadingAndCurrentVersion("", "");
   auto callback = base::BindLambdaForTesting(
       [&](std::unique_ptr<GetCatalogTask::CategoryList> catalog) {
         EXPECT_EQ(0U, catalog->size());
diff --git a/chrome/browser/android/explore_sites/get_images_task_unittest.cc b/chrome/browser/android/explore_sites/get_images_task_unittest.cc
index a1bb849c..a55a741 100644
--- a/chrome/browser/android/explore_sites/get_images_task_unittest.cc
+++ b/chrome/browser/android/explore_sites/get_images_task_unittest.cc
@@ -67,10 +67,10 @@
     meta_table.DeleteKey("downloading_catalog");
     sql::Statement insert(db->GetUniqueStatement(R"(
 INSERT INTO categories
-(category_id, version, type, label)
+(category_id, version_token, type, label)
 VALUES
-(3, 5678, 1, "label_1"),
-(4, 5678, 2, "label_2");)"));
+(3, "5678", 1, "label_1"),
+(4, "5678", 2, "label_2");)"));
     if (!insert.Run())
       return false;
 
diff --git a/chrome/browser/android/explore_sites/import_catalog_task.cc b/chrome/browser/android/explore_sites/import_catalog_task.cc
index 43d4add..b30d3ca 100644
--- a/chrome/browser/android/explore_sites/import_catalog_task.cc
+++ b/chrome/browser/android/explore_sites/import_catalog_task.cc
@@ -12,28 +12,28 @@
 
 namespace explore_sites {
 namespace {
+
 static const char kDeleteExistingCategorySql[] =
-    "DELETE FROM categories WHERE version = ?";
-static const char kInsertCategorySql[] = R"(
-INSERT INTO categories
-(version, type, label, image)
+    "DELETE FROM categories WHERE version_token = ?";
+
+static const char kInsertCategorySql[] = R"(INSERT INTO categories
+(version_token, type, label, image)
 VALUES
 (?, ?, ?, ?);)";
 
-static const char kDeleteExistingSiteSql[] = R"(
-DELETE FROM sites
+static const char kDeleteExistingSiteSql[] = R"(DELETE FROM sites
 WHERE (
  SELECT COUNT(1) FROM categories
- WHERE category_id = sites.category_id AND categories.version = ?) > 0
-)";
-static const char kInsertSiteSql[] = R"(
-INSERT INTO sites
+ WHERE category_id = sites.category_id AND categories.version_token = ?) > 0)";
+
+static const char kInsertSiteSql[] = R"(INSERT INTO sites
 (url, category_id, title, favicon)
 VALUES
 (?, ?, ?, ?);)";
+
 }  // namespace
 
-bool ImportCatalogSync(int64_t catalog_timestamp,
+bool ImportCatalogSync(std::string version_token,
                        std::unique_ptr<Catalog> catalog_proto,
                        sql::Database* db) {
   if (!db || !catalog_proto)
@@ -50,9 +50,9 @@
   // If we are downloading a catalog that is the same version as the one
   // currently in use, don't change it.  This is an error, should have been
   // caught before we got here.
-  int64_t current_catalog_timestamp = 0;
-  if (meta_table.GetValue("current_catalog", &current_catalog_timestamp) &&
-      current_catalog_timestamp == catalog_timestamp) {
+  std::string current_version_token;
+  if (meta_table.GetValue("current_catalog", &current_version_token) &&
+      current_version_token == version_token) {
     return false;
   }
 
@@ -60,17 +60,17 @@
   // the catalog with the timestamp that matches the catalog we are importing.
   sql::Statement site_clear_statement(
       db->GetCachedStatement(SQL_FROM_HERE, kDeleteExistingSiteSql));
-  site_clear_statement.BindInt64(0, catalog_timestamp);
+  site_clear_statement.BindString(0, version_token);
   site_clear_statement.Run();
 
   sql::Statement category_clear_statement(
       db->GetCachedStatement(SQL_FROM_HERE, kDeleteExistingCategorySql));
-  category_clear_statement.BindInt64(0, catalog_timestamp);
+  category_clear_statement.BindString(0, version_token);
   category_clear_statement.Run();
 
   // Update the downloading catalog version number to match what we are
   // importing.
-  if (!meta_table.SetValue("downloading_catalog", catalog_timestamp))
+  if (!meta_table.SetValue("downloading_catalog", version_token))
     return false;
 
   // Then insert each category.
@@ -79,7 +79,7 @@
         db->GetCachedStatement(SQL_FROM_HERE, kInsertCategorySql));
 
     int col = 0;
-    category_statement.BindInt64(col++, catalog_timestamp);
+    category_statement.BindString(col++, version_token);
     category_statement.BindInt(col++, static_cast<int>(category.type()));
     category_statement.BindString(col++, category.localized_title());
     category_statement.BindString(col++, category.icon());
@@ -106,17 +106,17 @@
 }
 
 ImportCatalogTask::ImportCatalogTask(ExploreSitesStore* store,
-                                     int64_t catalog_timestamp,
+                                     std::string version_token,
                                      std::unique_ptr<Catalog> catalog_proto)
     : store_(store),
-      catalog_timestamp_(catalog_timestamp),
+      version_token_(version_token),
       catalog_proto_(std::move(catalog_proto)),
       weak_ptr_factory_(this) {}
 
 ImportCatalogTask::~ImportCatalogTask() = default;
 
 void ImportCatalogTask::Run() {
-  store_->Execute(base::BindOnce(&ImportCatalogSync, catalog_timestamp_,
+  store_->Execute(base::BindOnce(&ImportCatalogSync, version_token_,
                                  std::move(catalog_proto_)),
                   base::BindOnce(&ImportCatalogTask::FinishedExecuting,
                                  weak_ptr_factory_.GetWeakPtr()),
diff --git a/chrome/browser/android/explore_sites/import_catalog_task.h b/chrome/browser/android/explore_sites/import_catalog_task.h
index dbda1881..a9841db 100644
--- a/chrome/browser/android/explore_sites/import_catalog_task.h
+++ b/chrome/browser/android/explore_sites/import_catalog_task.h
@@ -23,7 +23,7 @@
 class ImportCatalogTask : public Task {
  public:
   ImportCatalogTask(ExploreSitesStore* store,
-                    int64_t catalog_timestamp,
+                    std::string version_token,
                     std::unique_ptr<Catalog> catalog_proto);
   ~ImportCatalogTask() override;
 
@@ -37,7 +37,7 @@
   void FinishedExecuting(bool result);
 
   ExploreSitesStore* store_;  // outlives this class.
-  int64_t catalog_timestamp_;
+  std::string version_token_;
   std::unique_ptr<Catalog> catalog_proto_;
 
   bool complete_ = false;
diff --git a/chrome/browser/android/explore_sites/import_catalog_task_unittest.cc b/chrome/browser/android/explore_sites/import_catalog_task_unittest.cc
index 124d8ec..5321f76 100644
--- a/chrome/browser/android/explore_sites/import_catalog_task_unittest.cc
+++ b/chrome/browser/android/explore_sites/import_catalog_task_unittest.cc
@@ -23,7 +23,7 @@
 
 namespace explore_sites {
 
-constexpr int64_t timestamp = 12345L;
+const char kVersionToken[] = "12345";
 const char kGoogleUrl[] = "https://www.google.com";
 const char kGoogleTitle[] = "Google Search";
 const char kGmailUrl[] = "https://mail.google.com/mail";
@@ -59,7 +59,7 @@
 
 TEST_F(ExploreSitesImportCatalogTaskTest, StoreFailure) {
   store()->SetInitializationStatusForTest(InitializationStatus::FAILURE);
-  ImportCatalogTask task(store(), timestamp, std::make_unique<Catalog>());
+  ImportCatalogTask task(store(), kVersionToken, std::make_unique<Catalog>());
   RunTask(&task);
 
   // A null catalog should be completed but return with an error.
@@ -68,7 +68,7 @@
 }
 
 TEST_F(ExploreSitesImportCatalogTaskTest, EmptyTask) {
-  ImportCatalogTask task(store(), timestamp, std::unique_ptr<Catalog>());
+  ImportCatalogTask task(store(), kVersionToken, std::unique_ptr<Catalog>());
   RunTask(&task);
 
   // A null catalog should be completed but return with an error.
@@ -77,17 +77,17 @@
 }
 
 // This tests the behavior of the catalog task when there is already a catalog
-// with the current timestamp in the database. This tests both the case where it
-// is the "current" catalog, and where it is the "downloading" catalog.
+// with the current version_token in the database. This tests both the case
+// where it is the "current" catalog, and where it is the "downloading" catalog.
 TEST_F(ExploreSitesImportCatalogTaskTest, CatalogAlreadyInUse) {
-  // Successfully import a catalog with "timestamp".
-  ImportCatalogTask task(store(), timestamp, std::make_unique<Catalog>());
+  // Successfully import a catalog with "version_token".
+  ImportCatalogTask task(store(), kVersionToken, std::make_unique<Catalog>());
   RunTask(&task);
   ASSERT_TRUE(task.result());
 
   // Importing the same catalog again should cause a successful import,
   // since the catalog was not "current".
-  ImportCatalogTask task2(store(), timestamp, std::make_unique<Catalog>());
+  ImportCatalogTask task2(store(), kVersionToken, std::make_unique<Catalog>());
   RunTask(&task2);
   EXPECT_TRUE(task2.result());
 
@@ -95,13 +95,13 @@
   ExecuteSync(base::BindLambdaForTesting([&](sql::Database* db) {
     sql::MetaTable meta_table;
     ExploreSitesSchema::InitMetaTable(db, &meta_table);
-    meta_table.SetValue("current_catalog", timestamp);
+    meta_table.SetValue("current_catalog", kVersionToken);
     meta_table.DeleteKey("downloading_catalog");
     return true;
   }));
 
   // Now it should fail to import another copy of the same catalog.
-  ImportCatalogTask task3(store(), timestamp, std::make_unique<Catalog>());
+  ImportCatalogTask task3(store(), kVersionToken, std::make_unique<Catalog>());
   RunTask(&task3);
   EXPECT_TRUE(task3.complete());
   EXPECT_FALSE(task3.result());
@@ -125,7 +125,7 @@
   gmail->set_site_url(kGmailUrl);
   gmail->set_icon(kIcon);
 
-  ImportCatalogTask task(store(), timestamp, std::move(catalog));
+  ImportCatalogTask task(store(), kVersionToken, std::move(catalog));
   RunTask(&task);
 
   EXPECT_TRUE(task.complete());
@@ -137,10 +137,11 @@
     cat_count_s.Step();
     EXPECT_EQ(1, cat_count_s.ColumnInt(0));
 
-    sql::Statement cat_data_s(db->GetUniqueStatement(
-        "SELECT version, type, label, image, category_id FROM categories"));
+    sql::Statement cat_data_s(
+        db->GetUniqueStatement("SELECT version_token, type, label, image, "
+                               "category_id FROM categories"));
     cat_data_s.Step();
-    EXPECT_EQ(timestamp, cat_data_s.ColumnInt64(0));
+    EXPECT_EQ(kVersionToken, cat_data_s.ColumnString(0));
     EXPECT_EQ(static_cast<int>(Category_CategoryType_GOOGLE),
               cat_data_s.ColumnInt(1));
     EXPECT_EQ(kGoogleCategoryTitle, cat_data_s.ColumnString(2));
diff --git a/chrome/browser/banners/app_banner_manager.h b/chrome/browser/banners/app_banner_manager.h
index 682b67c..ace33940 100644
--- a/chrome/browser/banners/app_banner_manager.h
+++ b/chrome/browser/banners/app_banner_manager.h
@@ -204,7 +204,7 @@
 
   // Callback invoked by the InstallableManager once it has fetched the page's
   // manifest.
-  void OnDidGetManifest(const InstallableData& result);
+  virtual void OnDidGetManifest(const InstallableData& result);
 
   // Returns an InstallableParams object that requests all checks necessary for
   // a web app banner.
diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_process_impl.cc
index 8e4efa1..584b643 100644
--- a/chrome/browser/browser_process_impl.cc
+++ b/chrome/browser/browser_process_impl.cc
@@ -1382,7 +1382,8 @@
       base::WrapUnique(new gcm::GCMClientFactory), local_state(), store_path,
       base::BindRepeating(&RequestProxyResolvingSocketFactory),
       system_network_context_manager()->GetSharedURLLoaderFactory(),
-      chrome::GetChannel(), gcm::GetProductCategoryForSubtypes(local_state()),
+      content::GetNetworkConnectionTracker(), chrome::GetChannel(),
+      gcm::GetProductCategoryForSubtypes(local_state()),
       base::CreateSingleThreadTaskRunnerWithTraits(
           {content::BrowserThread::UI}),
       base::CreateSingleThreadTaskRunnerWithTraits(
diff --git a/chrome/browser/chrome_browser_main_linux.cc b/chrome/browser/chrome_browser_main_linux.cc
index 3e27226..ab9016fd 100644
--- a/chrome/browser/chrome_browser_main_linux.cc
+++ b/chrome/browser/chrome_browser_main_linux.cc
@@ -20,7 +20,7 @@
 #include "components/metrics/metrics_service.h"
 #include "content/public/browser/browser_task_traits.h"
 #include "device/bluetooth/dbus/bluez_dbus_manager.h"
-#include "device/bluetooth/dbus/dbus_thread_manager_linux.h"
+#include "device/bluetooth/dbus/bluez_dbus_thread_manager.h"
 #include "media/audio/audio_manager.h"
 #include "ui/base/l10n/l10n_util.h"
 
@@ -98,9 +98,8 @@
 
 void ChromeBrowserMainPartsLinux::PostMainMessageLoopStart() {
 #if !defined(OS_CHROMEOS)
-  bluez::DBusThreadManagerLinux::Initialize();
-  bluez::BluezDBusManager::Initialize(
-      bluez::DBusThreadManagerLinux::Get()->GetSystemBus(), false);
+  bluez::BluezDBusThreadManager::Initialize();
+  bluez::BluezDBusManager::Initialize();
 #endif
 
   ChromeBrowserMainPartsPosix::PostMainMessageLoopStart();
@@ -109,7 +108,7 @@
 void ChromeBrowserMainPartsLinux::PostDestroyThreads() {
 #if !defined(OS_CHROMEOS)
   bluez::BluezDBusManager::Shutdown();
-  bluez::DBusThreadManagerLinux::Shutdown();
+  bluez::BluezDBusThreadManager::Shutdown();
 #endif
 
   ChromeBrowserMainPartsPosix::PostDestroyThreads();
diff --git a/chrome/browser/chrome_browser_main_win.cc b/chrome/browser/chrome_browser_main_win.cc
index e7f6dc98..d06b888 100644
--- a/chrome/browser/chrome_browser_main_win.cc
+++ b/chrome/browser/chrome_browser_main_win.cc
@@ -82,6 +82,7 @@
 #include "ui/base/ui_base_switches.h"
 #include "ui/base/win/hidden_window.h"
 #include "ui/base/win/message_box_win.h"
+#include "ui/display/win/dpi.h"
 #include "ui/gfx/platform_font_win.h"
 #include "ui/gfx/switches.h"
 #include "ui/strings/grit/app_locale_settings.h"
@@ -110,6 +111,7 @@
 
 // gfx::Font callbacks
 void AdjustUIFont(LOGFONT* logfont) {
+  display::win::AdjustFontForAccessibility(logfont);
   l10n_util::AdjustUIFont(logfont);
 }
 
diff --git a/chrome/browser/chromeos/chrome_browser_main_chromeos.cc b/chrome/browser/chromeos/chrome_browser_main_chromeos.cc
index bb99aa5..daded642 100644
--- a/chrome/browser/chromeos/chrome_browser_main_chromeos.cc
+++ b/chrome/browser/chromeos/chrome_browser_main_chromeos.cc
@@ -316,9 +316,7 @@
 class DBusServices {
  public:
   explicit DBusServices(const content::MainFunctionParams& parameters) {
-    bluez::BluezDBusManager::Initialize(
-        DBusThreadManager::Get()->GetSystemBus(),
-        chromeos::DBusThreadManager::Get()->IsUsingFakes());
+    bluez::BluezDBusManager::Initialize();
 
     if (!features::IsMultiProcessMash()) {
       // In Mash, power policy is sent to powerd by ash.
diff --git a/chrome/browser/chromeos/crostini/crostini_remover.cc b/chrome/browser/chromeos/crostini/crostini_remover.cc
index bfd5b34..40c59147 100644
--- a/chrome/browser/chromeos/crostini/crostini_remover.cc
+++ b/chrome/browser/chromeos/crostini/crostini_remover.cc
@@ -35,8 +35,14 @@
 
 void CrostiniRemover::RemoveCrostini() {
   DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
-  CrostiniManager::GetForProfile(profile_)->InstallTerminaComponent(
-      base::BindOnce(&CrostiniRemover::OnComponentLoaded, this));
+  if (CrostiniManager::GetForProfile(profile_)->IsCrosTerminaInstalled()) {
+    CrostiniManager::GetForProfile(profile_)->InstallTerminaComponent(
+        base::BindOnce(&CrostiniRemover::OnComponentLoaded, this));
+  } else {
+    // Crostini installation didn't install the component. Concierge should not
+    // be running, nor should there be any VMs.
+    CrostiniRemover::StopConciergeFinished(true);
+  }
 }
 
 void CrostiniRemover::OnComponentLoaded(ConciergeClientResult result) {
@@ -85,6 +91,7 @@
 }
 
 void CrostiniRemover::StopConciergeFinished(bool is_successful) {
+  DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
   // The is_successful parameter is never set by debugd.
   auto* cros_component_manager =
       g_browser_process->platform_part()->cros_component_manager();
diff --git a/chrome/browser/chromeos/multidevice_setup/android_sms_app_helper_delegate_impl.cc b/chrome/browser/chromeos/multidevice_setup/android_sms_app_helper_delegate_impl.cc
index e7354dbb..8b2ee7ea 100644
--- a/chrome/browser/chromeos/multidevice_setup/android_sms_app_helper_delegate_impl.cc
+++ b/chrome/browser/chromeos/multidevice_setup/android_sms_app_helper_delegate_impl.cc
@@ -37,7 +37,8 @@
 
 AndroidSmsAppHelperDelegateImpl::~AndroidSmsAppHelperDelegateImpl() = default;
 
-void AndroidSmsAppHelperDelegateImpl::InstallAndroidSmsApp() {
+void AndroidSmsAppHelperDelegateImpl::InstallAndroidSmsApp(
+    bool launch_on_install) {
   // TODO(crbug.com/874605): Consider retries and error handling here. This call
   // can easily fail.
   pending_app_manager_->Install(
@@ -46,32 +47,48 @@
           web_app::PendingAppManager::LaunchContainer::kWindow,
           web_app::PendingAppManager::InstallSource::kInternal),
       base::BindOnce(&AndroidSmsAppHelperDelegateImpl::OnAppInstalled,
-                     weak_ptr_factory_.GetWeakPtr()));
+                     weak_ptr_factory_.GetWeakPtr(), launch_on_install));
 }
 
-bool AndroidSmsAppHelperDelegateImpl::LaunchAndroidSmsApp() {
+void AndroidSmsAppHelperDelegateImpl::InstallAndroidSmsApp() {
+  InstallAndroidSmsApp(false /* launch_on_install */);
+}
+
+void AndroidSmsAppHelperDelegateImpl::InstallAndLaunchAndroidSmsApp() {
   const extensions::Extension* android_sms_pwa =
       extensions::util::GetInstalledPwaForUrl(
           profile_, chromeos::android_sms::GetAndroidMessagesURL());
   if (!android_sms_pwa) {
-    PA_LOG(ERROR) << "No Messages app found.";
-    return false;
+    PA_LOG(INFO) << "No Messages app found. Installing it.";
+    InstallAndroidSmsApp(true /* launch_on_install */);
+    return;
   }
 
+  LaunchAndroidSmsApp();
+}
+
+void AndroidSmsAppHelperDelegateImpl::LaunchAndroidSmsApp() {
+  const extensions::Extension* android_sms_pwa =
+      extensions::util::GetInstalledPwaForUrl(
+          profile_, chromeos::android_sms::GetAndroidMessagesURL());
+  DCHECK(android_sms_pwa);
+
   PA_LOG(INFO) << "Messages app Launching...";
   AppLaunchParams params(
       profile_, android_sms_pwa, extensions::LAUNCH_CONTAINER_WINDOW,
       WindowOpenDisposition::NEW_WINDOW, extensions::SOURCE_CHROME_INTERNAL);
   // OpenApplications() is defined in application_launch.h.
   OpenApplication(params);
-  return true;
 }
 
 void AndroidSmsAppHelperDelegateImpl::OnAppInstalled(
+    bool launch_on_install,
     const GURL& app_url,
     web_app::InstallResultCode code) {
   if (code == web_app::InstallResultCode::kSuccess) {
     PA_LOG(INFO) << "Messages app installed! URL: " << app_url;
+    if (launch_on_install)
+      LaunchAndroidSmsApp();
   } else {
     PA_LOG(WARNING) << "Messages app failed to install! URL: " << app_url
                     << ", InstallResultCode: " << static_cast<int>(code);
diff --git a/chrome/browser/chromeos/multidevice_setup/android_sms_app_helper_delegate_impl.h b/chrome/browser/chromeos/multidevice_setup/android_sms_app_helper_delegate_impl.h
index c6d1984a..3e2a0b0 100644
--- a/chrome/browser/chromeos/multidevice_setup/android_sms_app_helper_delegate_impl.h
+++ b/chrome/browser/chromeos/multidevice_setup/android_sms_app_helper_delegate_impl.h
@@ -36,11 +36,15 @@
   // function are added. See https://crbug.com/876972.
   explicit AndroidSmsAppHelperDelegateImpl(
       web_app::PendingAppManager* pending_app_manager);
-  void OnAppInstalled(const GURL& app_url, web_app::InstallResultCode code);
+  void OnAppInstalled(bool launch_on_install,
+                      const GURL& app_url,
+                      web_app::InstallResultCode code);
+  void InstallAndroidSmsApp(bool launch_on_install);
+  void LaunchAndroidSmsApp();
 
   // AndroidSmsAppHelperDelegate:
   void InstallAndroidSmsApp() override;
-  bool LaunchAndroidSmsApp() override;
+  void InstallAndLaunchAndroidSmsApp() override;
 
   static const char kMessagesWebAppUrl[];
   web_app::PendingAppManager* pending_app_manager_;
diff --git a/chrome/browser/chromeos/multidevice_setup/android_sms_app_helper_delegate_impl_unittest.cc b/chrome/browser/chromeos/multidevice_setup/android_sms_app_helper_delegate_impl_unittest.cc
index f7900be..54ed8ee 100644
--- a/chrome/browser/chromeos/multidevice_setup/android_sms_app_helper_delegate_impl_unittest.cc
+++ b/chrome/browser/chromeos/multidevice_setup/android_sms_app_helper_delegate_impl_unittest.cc
@@ -39,6 +39,10 @@
     android_sms_app_helper_delegate_->InstallAndroidSmsApp();
   }
 
+  void InstallAndLaunchApp() {
+    android_sms_app_helper_delegate_->InstallAndLaunchAndroidSmsApp();
+  }
+
  private:
   std::unique_ptr<web_app::TestPendingAppManager> test_pending_app_manager_;
   std::unique_ptr<AndroidSmsAppHelperDelegate> android_sms_app_helper_delegate_;
@@ -50,14 +54,19 @@
   InstallApp();
 
   std::vector<web_app::PendingAppManager::AppInfo> expected_apps_to_install;
-  expected_apps_to_install.push_back(web_app::PendingAppManager::AppInfo(
+  expected_apps_to_install.emplace_back(
       chromeos::android_sms::GetAndroidMessagesURLWithExperiments(),
       web_app::PendingAppManager::LaunchContainer::kWindow,
-      web_app::PendingAppManager::InstallSource::kInternal));
+      web_app::PendingAppManager::InstallSource::kInternal);
   EXPECT_EQ(expected_apps_to_install,
             test_pending_app_manager()->install_requests());
 }
 
+TEST_F(AndroidSmsAppHelperDelegateImplTest, TestInstallAndLaunchMessagesApp) {
+  // TODO(crbug/876972): Figure out how to actually test the launching of the
+  // app here.
+}
+
 }  // namespace multidevice_setup
 
 }  // namespace chromeos
diff --git a/chrome/browser/chromeos/smb_client/smb_provider.cc b/chrome/browser/chromeos/smb_client/smb_provider.cc
index 0321c9b9..2d5ef62 100644
--- a/chrome/browser/chromeos/smb_client/smb_provider.cc
+++ b/chrome/browser/chromeos/smb_client/smb_provider.cc
@@ -64,7 +64,7 @@
 bool SmbProvider::RequestMount(Profile* profile) {
   auto* settings_manager = chrome::SettingsWindowManager::GetInstance();
   settings_manager->ShowChromePageForProfile(
-      profile, chrome::GetSettingsUrl(chrome::kSmbSharesPage));
+      profile, chrome::GetSettingsUrl(chrome::kSmbSharesPageAddDialog));
 
   return true;
 }
diff --git a/chrome/browser/extensions/bookmark_app_helper.cc b/chrome/browser/extensions/bookmark_app_helper.cc
index 8addc83..ccfd3a4 100644
--- a/chrome/browser/extensions/bookmark_app_helper.cc
+++ b/chrome/browser/extensions/bookmark_app_helper.cc
@@ -389,9 +389,10 @@
   if (contents_->IsBeingDestroyed())
     return;
 
-  for_installable_site_ = data.error_code == NO_ERROR_DETECTED
-                              ? ForInstallableSite::kYes
-                              : ForInstallableSite::kNo;
+  for_installable_site_ =
+      data.error_code == NO_ERROR_DETECTED && !shortcut_app_requested_
+          ? ForInstallableSite::kYes
+          : ForInstallableSite::kNo;
 
   UpdateWebAppInfoFromManifest(*data.manifest, &web_app_info_,
                                for_installable_site_);
diff --git a/chrome/browser/extensions/bookmark_app_helper.h b/chrome/browser/extensions/bookmark_app_helper.h
index e558f79..493c069 100644
--- a/chrome/browser/extensions/bookmark_app_helper.h
+++ b/chrome/browser/extensions/bookmark_app_helper.h
@@ -87,6 +87,10 @@
 
   bool is_policy_installed_app() { return is_policy_installed_app_; }
 
+  // Forces the creation of a shortcut app instead of a PWA even if installation
+  // is available.
+  void set_shortcut_app_requested() { shortcut_app_requested_ = true; }
+
   // If called, the installed extension will be considered default installed.
   void set_is_default_app() { is_default_app_ = true; }
 
@@ -171,6 +175,8 @@
 
   bool is_policy_installed_app_ = false;
 
+  bool shortcut_app_requested_ = false;
+
   bool is_default_app_ = false;
 
   bool is_system_app_ = false;
diff --git a/chrome/browser/extensions/extension_context_menu_model.cc b/chrome/browser/extensions/extension_context_menu_model.cc
index 00d8296..5d1924a 100644
--- a/chrome/browser/extensions/extension_context_menu_model.cc
+++ b/chrome/browser/extensions/extension_context_menu_model.cc
@@ -5,6 +5,7 @@
 #include "chrome/browser/extensions/extension_context_menu_model.h"
 
 #include "base/macros.h"
+#include "base/metrics/histogram_macros.h"
 #include "base/strings/utf_string_conversions.h"
 #include "chrome/app/chrome_command_ids.h"
 #include "chrome/browser/extensions/chrome_extension_browser_constants.h"
@@ -105,6 +106,38 @@
          policy->MustRemainInstalled(extension, nullptr);
 }
 
+ExtensionContextMenuModel::ContextMenuAction CommandIdToContextMenuAction(
+    int command_id) {
+  using ContextMenuAction = ExtensionContextMenuModel::ContextMenuAction;
+
+  switch (command_id) {
+    case ExtensionContextMenuModel::HOME_PAGE:
+      return ContextMenuAction::kHomePage;
+    case ExtensionContextMenuModel::OPTIONS:
+      return ContextMenuAction::kOptions;
+    case ExtensionContextMenuModel::TOGGLE_VISIBILITY:
+      return ContextMenuAction::kToggleVisibility;
+    case ExtensionContextMenuModel::UNINSTALL:
+      return ContextMenuAction::kUninstall;
+    case ExtensionContextMenuModel::MANAGE_EXTENSIONS:
+      return ContextMenuAction::kManageExtensions;
+    case ExtensionContextMenuModel::INSPECT_POPUP:
+      return ContextMenuAction::kInspectPopup;
+    case ExtensionContextMenuModel::PAGE_ACCESS_RUN_ON_CLICK:
+      return ContextMenuAction::kPageAccessRunOnClick;
+    case ExtensionContextMenuModel::PAGE_ACCESS_RUN_ON_SITE:
+      return ContextMenuAction::kPageAccessRunOnSite;
+    case ExtensionContextMenuModel::PAGE_ACCESS_RUN_ON_ALL_SITES:
+      return ContextMenuAction::kPageAccessRunOnAllSites;
+    case ExtensionContextMenuModel::PAGE_ACCESS_LEARN_MORE:
+      return ContextMenuAction::kPageAccessLearnMore;
+    default:
+      break;
+  }
+  NOTREACHED();
+  return ContextMenuAction::kNoAction;
+}
+
 // A stub for the uninstall dialog.
 // TODO(devlin): Ideally, we would just have the uninstall dialog take a
 // base::Callback, but that's a bunch of churn.
@@ -241,9 +274,12 @@
     DCHECK(extension_items_);
     extension_items_->ExecuteCommand(command_id, GetActiveWebContents(),
                                      nullptr, content::ContextMenuParams());
+    action_taken_ = ContextMenuAction::kCustomCommand;
     return;
   }
 
+  action_taken_ = CommandIdToContextMenuAction(command_id);
+
   switch (command_id) {
     case HOME_PAGE: {
       content::OpenURLParams params(ManifestURL::GetHomepageURL(extension),
@@ -287,6 +323,18 @@
   }
 }
 
+void ExtensionContextMenuModel::OnMenuWillShow(ui::SimpleMenuModel* menu) {
+  action_taken_ = ContextMenuAction::kNoAction;
+}
+
+void ExtensionContextMenuModel::MenuClosed(ui::SimpleMenuModel* menu) {
+  if (action_taken_) {
+    ContextMenuAction action = *action_taken_;
+    UMA_HISTOGRAM_ENUMERATION("Extensions.ContextMenuAction", action);
+    action_taken_ = base::nullopt;
+  }
+}
+
 ExtensionContextMenuModel::~ExtensionContextMenuModel() {}
 
 void ExtensionContextMenuModel::InitMenu(const Extension* extension,
diff --git a/chrome/browser/extensions/extension_context_menu_model.h b/chrome/browser/extensions/extension_context_menu_model.h
index b61d40b..6f0daad 100644
--- a/chrome/browser/extensions/extension_context_menu_model.h
+++ b/chrome/browser/extensions/extension_context_menu_model.h
@@ -9,6 +9,7 @@
 #include <string>
 
 #include "base/macros.h"
+#include "base/optional.h"
 #include "ui/base/models/simple_menu_model.h"
 
 class Browser;
@@ -39,6 +40,31 @@
     PAGE_ACCESS_RUN_ON_SITE,
     PAGE_ACCESS_RUN_ON_ALL_SITES,
     PAGE_ACCESS_LEARN_MORE,
+    // NOTE: If you update this, you probably need to update the
+    // ContextMenuAction enum below.
+  };
+
+  // A separate enum to indicate the action taken on the menu. We have two
+  // enums (this and MenuEntries above) to avoid needing to have a single one
+  // with both action-specific values (like kNoAction) and menu-specific values
+  // (like PAGE_ACCESS_SUBMENU).
+  // These values are persisted to logs. Entries should not be renumbered and
+  // numeric values should never be reused. New values should be added before
+  // kMaxValue.
+  enum class ContextMenuAction {
+    kNoAction = 0,
+    kCustomCommand = 1,
+    kHomePage = 2,
+    kOptions = 3,
+    kToggleVisibility = 4,
+    kUninstall = 5,
+    kManageExtensions = 6,
+    kInspectPopup = 7,
+    kPageAccessRunOnClick = 8,
+    kPageAccessRunOnSite = 9,
+    kPageAccessRunOnAllSites = 10,
+    kPageAccessLearnMore = 11,
+    kMaxValue = kPageAccessLearnMore,
   };
 
   // Type of action the extension icon represents.
@@ -82,6 +108,8 @@
   bool IsCommandIdVisible(int command_id) const override;
   bool IsCommandIdEnabled(int command_id) const override;
   void ExecuteCommand(int command_id, int event_flags) override;
+  void OnMenuWillShow(ui::SimpleMenuModel* source) override;
+  void MenuClosed(ui::SimpleMenuModel* source) override;
 
   ui::SimpleMenuModel* page_access_submenu_for_testing() {
     return page_access_submenu_.get();
@@ -136,6 +164,10 @@
 
   std::unique_ptr<ui::SimpleMenuModel> page_access_submenu_;
 
+  // The action taken by the menu. Has a valid value when the menu is being
+  // shown.
+  base::Optional<ContextMenuAction> action_taken_;
+
   DISALLOW_COPY_AND_ASSIGN(ExtensionContextMenuModel);
 };
 
diff --git a/chrome/browser/extensions/extension_context_menu_model_unittest.cc b/chrome/browser/extensions/extension_context_menu_model_unittest.cc
index f7c9fa5..b57291bf 100644
--- a/chrome/browser/extensions/extension_context_menu_model_unittest.cc
+++ b/chrome/browser/extensions/extension_context_menu_model_unittest.cc
@@ -9,6 +9,7 @@
 #include "base/macros.h"
 #include "base/memory/ptr_util.h"
 #include "base/strings/utf_string_conversions.h"
+#include "base/test/metrics/histogram_tester.h"
 #include "base/test/scoped_feature_list.h"
 #include "chrome/app/chrome_command_ids.h"
 #include "chrome/browser/extensions/api/extension_action/extension_action_api.h"
@@ -1309,4 +1310,88 @@
             web_contents->GetLastCommittedURL());
 }
 
+TEST_F(ExtensionContextMenuModelTest, HistogramTest_Basic) {
+  InitializeEmptyExtensionService();
+  scoped_refptr<const Extension> extension =
+      ExtensionBuilder("extension").Build();
+  InitializeAndAddExtension(*extension);
+  constexpr char kHistogramName[] = "Extensions.ContextMenuAction";
+  {
+    base::HistogramTester tester;
+    {
+      // The menu is constructed, but never shown.
+      ExtensionContextMenuModel menu(extension.get(), GetBrowser(),
+                                     ExtensionContextMenuModel::VISIBLE,
+                                     nullptr);
+    }
+    tester.ExpectTotalCount(kHistogramName, 0);
+  }
+
+  {
+    base::HistogramTester tester;
+    {
+      // The menu is constructed and shown, but no action is taken.
+      ExtensionContextMenuModel menu(extension.get(), GetBrowser(),
+                                     ExtensionContextMenuModel::VISIBLE,
+                                     nullptr);
+      menu.OnMenuWillShow(&menu);
+      menu.MenuClosed(&menu);
+    }
+    tester.ExpectUniqueSample(
+        kHistogramName, ExtensionContextMenuModel::ContextMenuAction::kNoAction,
+        1 /* expected_count */);
+  }
+
+  {
+    base::HistogramTester tester;
+    {
+      // The menu is constructed, shown, and an action taken.
+      ExtensionContextMenuModel menu(extension.get(), GetBrowser(),
+                                     ExtensionContextMenuModel::VISIBLE,
+                                     nullptr);
+      menu.OnMenuWillShow(&menu);
+      menu.ExecuteCommand(ExtensionContextMenuModel::MANAGE_EXTENSIONS, 0);
+      menu.MenuClosed(&menu);
+    }
+
+    tester.ExpectUniqueSample(
+        kHistogramName,
+        ExtensionContextMenuModel::ContextMenuAction::kManageExtensions,
+        1 /* expected_count */);
+  }
+}
+
+TEST_F(ExtensionContextMenuModelTest, HistogramTest_CustomCommand) {
+  constexpr char kHistogramName[] = "Extensions.ContextMenuAction";
+
+  InitializeEmptyExtensionService();
+  scoped_refptr<const Extension> extension =
+      ExtensionBuilder("extension")
+          .SetAction(ExtensionBuilder::ActionType::BROWSER_ACTION)
+          .Build();
+  InitializeAndAddExtension(*extension);
+
+  // Create a MenuManager for adding context items.
+  MenuManager* manager = static_cast<MenuManager*>(
+      (MenuManagerFactory::GetInstance()->SetTestingFactoryAndUse(
+          profile(), &MenuManagerFactory::BuildServiceInstanceForTesting)));
+  ASSERT_TRUE(manager);
+
+  MenuBuilder builder(extension, GetBrowser(), manager);
+  builder.AddContextItem(MenuItem::BROWSER_ACTION);
+  std::unique_ptr<ExtensionContextMenuModel> menu = builder.BuildMenu();
+  EXPECT_EQ(1, CountExtensionItems(*menu));
+
+  base::HistogramTester tester;
+  menu->OnMenuWillShow(menu.get());
+  menu->ExecuteCommand(
+      ContextMenuMatcher::ConvertToExtensionsCustomCommandId(0), 0);
+  menu->MenuClosed(menu.get());
+
+  tester.ExpectUniqueSample(
+      kHistogramName,
+      ExtensionContextMenuModel::ContextMenuAction::kCustomCommand,
+      1 /* expected_count */);
+}
+
 }  // namespace extensions
diff --git a/chrome/browser/extensions/extension_gcm_app_handler_unittest.cc b/chrome/browser/extensions/extension_gcm_app_handler_unittest.cc
index b1ba631..529de24 100644
--- a/chrome/browser/extensions/extension_gcm_app_handler_unittest.cc
+++ b/chrome/browser/extensions/extension_gcm_app_handler_unittest.cc
@@ -59,6 +59,7 @@
 #include "extensions/common/permissions/api_permission.h"
 #include "extensions/common/permissions/permissions_data.h"
 #include "services/network/public/cpp/shared_url_loader_factory.h"
+#include "services/network/test/test_network_connection_tracker.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
 #if defined(OS_CHROMEOS)
@@ -233,6 +234,7 @@
         base::BindRepeating(&RequestProxyResolvingSocketFactory, profile),
         content::BrowserContext::GetDefaultStoragePartition(profile)
             ->GetURLLoaderFactoryForBrowserProcess(),
+        network::TestNetworkConnectionTracker::GetInstance(),
         chrome::GetChannel(),
         gcm::GetProductCategoryForSubtypes(profile->GetPrefs()),
         IdentityManagerFactory::GetForProfile(profile),
diff --git a/chrome/browser/extensions/tab_helper.cc b/chrome/browser/extensions/tab_helper.cc
index 477616f..acb3d78 100644
--- a/chrome/browser/extensions/tab_helper.cc
+++ b/chrome/browser/extensions/tab_helper.cc
@@ -181,14 +181,14 @@
   BookmarkManagerPrivateDragEventRouter::CreateForWebContents(web_contents);
 }
 
-void TabHelper::CreateHostedAppFromWebContents() {
+void TabHelper::CreateHostedAppFromWebContents(bool shortcut_app_requested) {
   DCHECK(CanCreateBookmarkApp());
   if (pending_web_app_action_ != NONE)
     return;
 
   // Start fetching web app info for CreateApplicationShortcut dialog and show
   // the dialog when the data is available in OnDidGetWebApplicationInfo.
-  GetApplicationInfo(CREATE_HOSTED_APP);
+  GetApplicationInfo(CREATE_HOSTED_APP, shortcut_app_requested);
 }
 
 bool TabHelper::CanCreateBookmarkApp() const {
@@ -338,6 +338,7 @@
 
 void TabHelper::OnDidGetWebApplicationInfo(
     chrome::mojom::ChromeRenderFrameAssociatedPtr chrome_render_frame,
+    bool shortcut_app_requested,
     const WebApplicationInfo& info) {
   web_app_info_ = info;
 
@@ -361,6 +362,8 @@
           new BookmarkAppHelper(profile_, web_app_info_, contents,
                                 InstallableMetrics::GetInstallSource(
                                     contents, InstallTrigger::MENU)));
+      if (shortcut_app_requested)
+        bookmark_app_helper_->set_shortcut_app_requested();
       bookmark_app_helper_->Create(base::Bind(
           &TabHelper::FinishCreateBookmarkApp, weak_ptr_factory_.GetWeakPtr()));
       break;
@@ -580,7 +583,8 @@
     SetExtensionApp(nullptr);
 }
 
-void TabHelper::GetApplicationInfo(WebAppAction action) {
+void TabHelper::GetApplicationInfo(WebAppAction action,
+                                   bool shortcut_app_requested) {
   NavigationEntry* entry =
       web_contents()->GetController().GetLastCommittedEntry();
   if (!entry)
@@ -600,7 +604,7 @@
   auto* web_app_info_proxy = chrome_render_frame.get();
   web_app_info_proxy->GetWebApplicationInfo(
       base::Bind(&TabHelper::OnDidGetWebApplicationInfo, base::Unretained(this),
-                 base::Passed(&chrome_render_frame)));
+                 base::Passed(&chrome_render_frame), shortcut_app_requested));
 }
 
 void TabHelper::SetTabId(content::RenderFrameHost* render_frame_host) {
diff --git a/chrome/browser/extensions/tab_helper.h b/chrome/browser/extensions/tab_helper.h
index 9dd5aee..8fa70a9 100644
--- a/chrome/browser/extensions/tab_helper.h
+++ b/chrome/browser/extensions/tab_helper.h
@@ -54,7 +54,7 @@
  public:
   ~TabHelper() override;
 
-  void CreateHostedAppFromWebContents();
+  void CreateHostedAppFromWebContents(bool shortcut_app_requested);
   bool CanCreateBookmarkApp() const;
 
   // ScriptExecutionObserver::Delegate
@@ -158,6 +158,7 @@
   // Message handlers.
   void OnDidGetWebApplicationInfo(
       chrome::mojom::ChromeRenderFrameAssociatedPtr chrome_render_frame,
+      bool shortcut_app_requested,
       const WebApplicationInfo& info);
   void OnGetAppInstallState(content::RenderFrameHost* host,
                             const GURL& requestor_url,
@@ -191,7 +192,7 @@
   // Requests application info for the specified page. This is an asynchronous
   // request. The delegate is notified by way of OnDidGetWebApplicationInfo when
   // the data is available.
-  void GetApplicationInfo(WebAppAction action);
+  void GetApplicationInfo(WebAppAction action, bool shortcut_app_requested);
 
   // Sends our tab ID to |render_frame_host|.
   void SetTabId(content::RenderFrameHost* render_frame_host);
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
index 1a30509d..bec8cd2 100644
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -1842,6 +1842,7 @@
 const char kTopChromeMdMaterialTouchOptimized[] = "Touchable";
 const char kTopChromeMdMaterialRefresh[] = "Refresh";
 const char kTopChromeMdMaterialRefreshTouchOptimized[] = "Touchable Refresh";
+const char kTopChromeMdMaterialRefreshDynamic[] = "Dynamic Refresh";
 
 const char kThreadedScrollingName[] = "Threaded scrolling";
 const char kThreadedScrollingDescription[] =
@@ -2934,6 +2935,12 @@
     "Allows hosted apps to be opened in windows instead of being limited to "
     "tabs.";
 
+const char kCreateAppWindowsInAppShimProcessName[] =
+    "Create native windows in the app process";
+const char kCreateAppWindowsInAppShimProcessDescription[] =
+    "Create native windows the app shim process, instead of of the browser "
+    "process.";
+
 const char kMacRTLName[] = "Enable RTL";
 const char kMacRTLDescription[] = "Mirrors the UI for RTL language users";
 
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
index ec9202ad..1d0fdfe 100644
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -1119,6 +1119,7 @@
 extern const char kTopChromeMdMaterialTouchOptimized[];
 extern const char kTopChromeMdMaterialRefresh[];
 extern const char kTopChromeMdMaterialRefreshTouchOptimized[];
+extern const char kTopChromeMdMaterialRefreshDynamic[];
 
 extern const char kThreadedScrollingName[];
 extern const char kThreadedScrollingDescription[];
@@ -1769,6 +1770,9 @@
 extern const char kHostedAppsInWindowsName[];
 extern const char kHostedAppsInWindowsDescription[];
 
+extern const char kCreateAppWindowsInAppShimProcessName[];
+extern const char kCreateAppWindowsInAppShimProcessDescription[];
+
 extern const char kMacRTLName[];
 extern const char kMacRTLDescription[];
 
diff --git a/chrome/browser/gcm/gcm_profile_service_factory.cc b/chrome/browser/gcm/gcm_profile_service_factory.cc
index 7b5219d..7efeb34 100644
--- a/chrome/browser/gcm/gcm_profile_service_factory.cc
+++ b/chrome/browser/gcm/gcm_profile_service_factory.cc
@@ -16,6 +16,7 @@
 #include "components/offline_pages/buildflags/buildflags.h"
 #include "content/public/browser/browser_task_traits.h"
 #include "content/public/browser/browser_thread.h"
+#include "content/public/browser/network_service_instance.h"
 
 #if !defined(OS_ANDROID)
 #include "chrome/browser/gcm/gcm_product_util.h"
@@ -128,7 +129,7 @@
       base::BindRepeating(&RequestProxyResolvingSocketFactory, profile),
       content::BrowserContext::GetDefaultStoragePartition(profile)
           ->GetURLLoaderFactoryForBrowserProcess(),
-      chrome::GetChannel(),
+      content::GetNetworkConnectionTracker(), chrome::GetChannel(),
       gcm::GetProductCategoryForSubtypes(profile->GetPrefs()),
       IdentityManagerFactory::GetForProfile(profile),
       std::unique_ptr<GCMClientFactory>(new GCMClientFactory),
diff --git a/chrome/browser/gcm/gcm_profile_service_unittest.cc b/chrome/browser/gcm/gcm_profile_service_unittest.cc
index dad574f..0b26e12 100644
--- a/chrome/browser/gcm/gcm_profile_service_unittest.cc
+++ b/chrome/browser/gcm/gcm_profile_service_unittest.cc
@@ -35,6 +35,7 @@
 #include "content/public/browser/storage_partition.h"
 #include "content/public/test/test_browser_thread_bundle.h"
 #include "services/network/public/cpp/shared_url_loader_factory.h"
+#include "services/network/test/test_network_connection_tracker.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
 namespace gcm {
@@ -76,6 +77,7 @@
       base::BindRepeating(&RequestProxyResolvingSocketFactory, profile),
       content::BrowserContext::GetDefaultStoragePartition(profile)
           ->GetURLLoaderFactoryForBrowserProcess(),
+      network::TestNetworkConnectionTracker::GetInstance(),
       chrome::GetChannel(),
       gcm::GetProductCategoryForSubtypes(profile->GetPrefs()),
       IdentityManagerFactory::GetForProfile(profile),
diff --git a/chrome/browser/metrics/chrome_metrics_service_client.cc b/chrome/browser/metrics/chrome_metrics_service_client.cc
index 61bba17..90ab7691 100644
--- a/chrome/browser/metrics/chrome_metrics_service_client.cc
+++ b/chrome/browser/metrics/chrome_metrics_service_client.cc
@@ -608,7 +608,8 @@
 
   metrics_service_->RegisterMetricsProvider(
       std::make_unique<metrics::NetworkMetricsProvider>(
-          std::make_unique<metrics::NetworkQualityEstimatorProviderImpl>()));
+          std::make_unique<metrics::NetworkQualityEstimatorProviderImpl>(
+              g_browser_process->io_thread())));
 
   // Currently, we configure OmniboxMetricsProvider to not log events to UMA
   // if there is a single incognito session visible. In the future, it may
@@ -729,7 +730,8 @@
 void ChromeMetricsServiceClient::RegisterUKMProviders() {
   ukm_service_->RegisterMetricsProvider(
       std::make_unique<metrics::NetworkMetricsProvider>(
-          std::make_unique<metrics::NetworkQualityEstimatorProviderImpl>()));
+          std::make_unique<metrics::NetworkQualityEstimatorProviderImpl>(
+              g_browser_process->io_thread())));
 
 #if defined(OS_CHROMEOS)
   ukm_service_->RegisterMetricsProvider(
diff --git a/chrome/browser/metrics/network_quality_estimator_provider_impl.cc b/chrome/browser/metrics/network_quality_estimator_provider_impl.cc
index c87b8b5..75cf5829 100644
--- a/chrome/browser/metrics/network_quality_estimator_provider_impl.cc
+++ b/chrome/browser/metrics/network_quality_estimator_provider_impl.cc
@@ -5,36 +5,77 @@
 #include "chrome/browser/metrics/network_quality_estimator_provider_impl.h"
 
 #include "base/sequenced_task_runner.h"
-#include "chrome/browser/browser_process.h"
+#include "base/task/post_task.h"
+#include "chrome/browser/io_thread.h"
+#include "content/public/browser/browser_task_traits.h"
 #include "content/public/browser/browser_thread.h"
+#include "net/url_request/url_request_context.h"
+
+namespace net {
+class NetworkQualityEstimator;
+}
 
 namespace metrics {
 
-NetworkQualityEstimatorProviderImpl::NetworkQualityEstimatorProviderImpl()
-    : weak_ptr_factory_(this) {
+namespace {
+
+void GetNetworkQualityEstimatorOnIOThread(
+    base::Callback<void(net::NetworkQualityEstimator*)> io_callback,
+    IOThread* io_thread) {
+  DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::IO));
+
+  net::NetworkQualityEstimator* network_quality_estimator =
+      io_thread->globals()->system_request_context->network_quality_estimator();
+  // |network_quality_estimator| may be nullptr when running the network service
+  // out of process.
+  // TODO(mmenke):  Hook this up through a Mojo API.
+  if (network_quality_estimator) {
+    // It is safe to run |io_callback| here since it is guaranteed to be
+    // non-null.
+    io_callback.Run(network_quality_estimator);
+  }
+}
+
+}  // namespace
+
+NetworkQualityEstimatorProviderImpl::NetworkQualityEstimatorProviderImpl(
+    IOThread* io_thread)
+    : io_thread_(io_thread), weak_ptr_factory_(this) {
   DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
+  DCHECK(io_thread_);
 }
 
 NetworkQualityEstimatorProviderImpl::~NetworkQualityEstimatorProviderImpl() {
   DCHECK(thread_checker_.CalledOnValidThread());
 }
 
-void NetworkQualityEstimatorProviderImpl::PostReplyNetworkQualityTracker(
-    base::OnceCallback<void(network::NetworkQualityTracker*)> callback) {
+scoped_refptr<base::SequencedTaskRunner>
+NetworkQualityEstimatorProviderImpl::GetTaskRunner() {
+  DCHECK(thread_checker_.CalledOnValidThread());
+  return base::CreateSingleThreadTaskRunnerWithTraits(
+      {content::BrowserThread::IO});
+}
+
+void NetworkQualityEstimatorProviderImpl::PostReplyNetworkQualityEstimator(
+    base::Callback<void(net::NetworkQualityEstimator*)> io_callback) {
   DCHECK(thread_checker_.CalledOnValidThread());
   if (!content::BrowserThread::IsThreadInitialized(
           content::BrowserThread::IO)) {
     // IO thread is not yet initialized. Try again in the next message pump.
     bool task_posted = base::ThreadTaskRunnerHandle::Get()->PostTask(
-        FROM_HERE,
-        base::BindOnce(&NetworkQualityEstimatorProviderImpl::
-                           PostReplyNetworkQualityTracker,
-                       weak_ptr_factory_.GetWeakPtr(), std::move(callback)));
+        FROM_HERE, base::Bind(&NetworkQualityEstimatorProviderImpl::
+                                  PostReplyNetworkQualityEstimator,
+                              weak_ptr_factory_.GetWeakPtr(), io_callback));
     DCHECK(task_posted);
     return;
   }
 
-  std::move(callback).Run(g_browser_process->network_quality_tracker());
+  bool task_posted =
+      base::CreateSingleThreadTaskRunnerWithTraits({content::BrowserThread::IO})
+          ->PostTask(FROM_HERE,
+                     base::Bind(&GetNetworkQualityEstimatorOnIOThread,
+                                io_callback, io_thread_));
+  DCHECK(task_posted);
 }
 
 }  // namespace metrics
diff --git a/chrome/browser/metrics/network_quality_estimator_provider_impl.h b/chrome/browser/metrics/network_quality_estimator_provider_impl.h
index aa805f7..c6e21ac 100644
--- a/chrome/browser/metrics/network_quality_estimator_provider_impl.h
+++ b/chrome/browser/metrics/network_quality_estimator_provider_impl.h
@@ -9,25 +9,25 @@
 #include "base/threading/thread_checker.h"
 #include "components/metrics/net/network_metrics_provider.h"
 
-namespace network {
-class NetworkQualityTracker;
-}
+class IOThread;
 
 namespace metrics {
 
 // Implements NetworkMetricsProvider::NetworkQualityEstimatorProvider. Provides
-// NetworkQualityTracker. Lives on UI thread.
+// NetworkQualityEstimator by querying the IOThread. Lives on UI thread.
 class NetworkQualityEstimatorProviderImpl
     : public NetworkMetricsProvider::NetworkQualityEstimatorProvider {
  public:
-  NetworkQualityEstimatorProviderImpl();
+  explicit NetworkQualityEstimatorProviderImpl(IOThread* io_thread);
   ~NetworkQualityEstimatorProviderImpl() override;
 
  private:
   // NetworkMetricsProvider::NetworkQualityEstimatorProvider:
-  void PostReplyNetworkQualityTracker(
-      base::OnceCallback<void(network::NetworkQualityTracker*)> callback)
-      override;
+  scoped_refptr<base::SequencedTaskRunner> GetTaskRunner() override;
+  void PostReplyNetworkQualityEstimator(
+      base::Callback<void(net::NetworkQualityEstimator*)> io_callback) override;
+
+  IOThread* io_thread_;
 
   base::ThreadChecker thread_checker_;
 
diff --git a/chrome/browser/metrics/ukm_browsertest.cc b/chrome/browser/metrics/ukm_browsertest.cc
index b890eaf..77b7181 100644
--- a/chrome/browser/metrics/ukm_browsertest.cc
+++ b/chrome/browser/metrics/ukm_browsertest.cc
@@ -45,7 +45,6 @@
 #include "content/public/test/test_utils.h"
 #include "services/metrics/public/cpp/ukm_recorder.h"
 #include "services/metrics/public/cpp/ukm_source.h"
-#include "services/network/test/test_network_quality_tracker.h"
 #include "third_party/metrics_proto/ukm/report.pb.h"
 #include "third_party/zlib/google/compression_utils.h"
 
@@ -544,47 +543,6 @@
   CloseBrowserSynchronously(sync_browser);
 }
 
-// Verifies that network provider attaches effective connection type correctly
-// to the UKM report.
-IN_PROC_BROWSER_TEST_P(UkmBrowserTest, NetworkProviderPopulatesSystemProfile) {
-  // Override network quality to 2G. This should cause the
-  // |max_effective_connection_type| in the system profile to be set to 2G.
-  g_browser_process->network_quality_tracker()
-      ->ReportEffectiveConnectionTypeForTesting(
-          net::EFFECTIVE_CONNECTION_TYPE_2G);
-
-  MetricsConsentOverride metrics_consent(true);
-
-  Profile* profile = ProfileManager::GetActiveUserProfile();
-  std::unique_ptr<ProfileSyncServiceHarness> harness =
-      EnableSyncForProfile(profile);
-
-  Browser* sync_browser = CreateBrowser(profile);
-  EXPECT_TRUE(ukm_enabled());
-  uint64_t original_client_id = client_id();
-  EXPECT_NE(0U, original_client_id);
-
-  // Override network quality to 4G. This should cause the
-  // |max_effective_connection_type| in the system profile to be set to 4G.
-  g_browser_process->network_quality_tracker()
-      ->ReportEffectiveConnectionTypeForTesting(
-          net::EFFECTIVE_CONNECTION_TYPE_4G);
-
-  // Make sure there is a persistent log.
-  BuildAndStoreUkmLog();
-  EXPECT_TRUE(HasUnsentUkmLogs());
-  // Check log contents.
-  ukm::Report report = GetUkmReport();
-
-  EXPECT_EQ(SystemProfileProto::Network::EFFECTIVE_CONNECTION_TYPE_2G,
-            report.system_profile().network().min_effective_connection_type());
-  EXPECT_EQ(SystemProfileProto::Network::EFFECTIVE_CONNECTION_TYPE_4G,
-            report.system_profile().network().max_effective_connection_type());
-
-  harness->service()->RequestStop(browser_sync::ProfileSyncService::CLEAR_DATA);
-  CloseBrowserSynchronously(sync_browser);
-}
-
 // Make sure that providing consent doesn't enable UKM when sync is disabled.
 // Keep in sync with UkmTest.consentAddedButNoSyncCheck in
 // chrome/android/sync_shell/javatests/src/org/chromium/chrome/browser/sync/
diff --git a/chrome/browser/resources/chromeos/chromevox/cvox2/background/automation_predicate.js b/chrome/browser/resources/chromeos/chromevox/cvox2/background/automation_predicate.js
index dc05d58..206d6ac 100644
--- a/chrome/browser/resources/chromeos/chromevox/cvox2/background/automation_predicate.js
+++ b/chrome/browser/resources/chromeos/chromevox/cvox2/background/automation_predicate.js
@@ -455,10 +455,9 @@
  * @param {!AutomationNode} node
  * @return {boolean}
  */
-AutomationPredicate.checkable = AutomationPredicate.roles([
-  Role.CHECK_BOX, Role.RADIO_BUTTON, Role.MENU_ITEM_CHECK_BOX,
-  Role.MENU_ITEM_RADIO, Role.SWITCH, Role.TOGGLE_BUTTON, Role.TREE_ITEM
-]);
+AutomationPredicate.checkable = function(node) {
+  return !!node.checked;
+};
 
 /**
  * Returns if the node is clickable.
diff --git a/chrome/browser/resources/chromeos/chromevox/cvox2/background/panel_test.extjs b/chrome/browser/resources/chromeos/chromevox/cvox2/background/panel_test.extjs
index 96594b3b..d24c034 100644
--- a/chrome/browser/resources/chromeos/chromevox/cvox2/background/panel_test.extjs
+++ b/chrome/browser/resources/chromeos/chromevox/cvox2/background/panel_test.extjs
@@ -28,9 +28,13 @@
 
 #if !defined(NDEBUG) || defined(MEMORY_SANITIZER)
 #define MAYBE_ActivateMenu DISABLED_ActivateMenu
-#define MAYBE_LinkMenu DISABLED_LinkMenu
 #else
 #define MAYBE_ActivateMenu ActivateMenu
+#endif
+
+#if !defined(NDEBUG) || defined(MEMORY_SANITIZER) || defined(ADDRESS_SANITIZER)
+#define MAYBE_LinkMenu DISABLED_LinkMenu
+#else
 #define MAYBE_LinkMenu LinkMenu
 #endif
     */});
diff --git a/chrome/browser/resources/chromeos/select_to_speak/strings/select_to_speak_strings_ar.xtb b/chrome/browser/resources/chromeos/select_to_speak/strings/select_to_speak_strings_ar.xtb
index 9a591305..fa9c265b 100644
--- a/chrome/browser/resources/chromeos/select_to_speak/strings/select_to_speak_strings_ar.xtb
+++ b/chrome/browser/resources/chromeos/select_to_speak/strings/select_to_speak_strings_ar.xtb
@@ -9,7 +9,7 @@
 <translation id="2089387485033699258">ar</translation>
 <translation id="2714180132046334502">خلفية معتمة</translation>
 <translation id="27349076983469322">خلفية فاتحة</translation>
-<translation id="3283583562490372694">تم إلغاء التحديد</translation>
+<translation id="3283583562490372694">غير مُحدّد</translation>
 <translation id="335581015389089642">الحديث</translation>
 <translation id="4004802134384979325">تم التحديد</translation>
 <translation id="4827410568042294688">تم إلغاء التحديد</translation>
@@ -18,11 +18,11 @@
 <translation id="6475604559827479857">لون لتمييز الكلمة:</translation>
 <translation id="6837853484260746864">تحديد صوت:</translation>
 <translation id="7261612856573623172">اسم الصوت المستخدَم في ميزة "تحويل النص إلى كلام" في النظام</translation>
-<translation id="7317017974771324508">تم الاختيار جزئيًا</translation>
+<translation id="7317017974771324508">اختيار جزئي</translation>
 <translation id="7768784765476638775">الاختيار والاستماع</translation>
 <translation id="7914870167134465181">التمييز</translation>
 <translation id="8033827949643255796">تم التحديد</translation>
 <translation id="8324974933005349667">تخصيص إعدادات ميزة "تحويل النص إلى كلام"</translation>
-<translation id="8944511129464116546">تم التحديد جزئيًا</translation>
+<translation id="8944511129464116546">مُحدّد جزئيًا</translation>
 <translation id="992256792861109788">وردي</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/resources/chromeos/select_to_speak/strings/select_to_speak_strings_bn.xtb b/chrome/browser/resources/chromeos/select_to_speak/strings/select_to_speak_strings_bn.xtb
index 3e5690e..55f8d81 100644
--- a/chrome/browser/resources/chromeos/select_to_speak/strings/select_to_speak_strings_bn.xtb
+++ b/chrome/browser/resources/chromeos/select_to_speak/strings/select_to_speak_strings_bn.xtb
@@ -18,7 +18,7 @@
 <translation id="6475604559827479857">শব্দ হাইলাইট করার জন্য রং:</translation>
 <translation id="6837853484260746864">একটি ভয়েস বেছে নিন:</translation>
 <translation id="7261612856573623172">সিস্টেম টেক্সট টু স্পিচ ভয়েস</translation>
-<translation id="7317017974771324508">আংশিকভাবে বেছে নেওয়া হয়েছে</translation>
+<translation id="7317017974771324508">আংশিকভাবে টিকচিহ্ন দেওয়া হয়েছে</translation>
 <translation id="7768784765476638775">বাছুন ও শুনুন</translation>
 <translation id="7914870167134465181">হাইলাইট করা</translation>
 <translation id="8033827949643255796">নির্বাচিত</translation>
diff --git a/chrome/browser/resources/chromeos/select_to_speak/strings/select_to_speak_strings_hi.xtb b/chrome/browser/resources/chromeos/select_to_speak/strings/select_to_speak_strings_hi.xtb
index 2d830e5..8b6f86f 100644
--- a/chrome/browser/resources/chromeos/select_to_speak/strings/select_to_speak_strings_hi.xtb
+++ b/chrome/browser/resources/chromeos/select_to_speak/strings/select_to_speak_strings_hi.xtb
@@ -9,7 +9,7 @@
 <translation id="2089387485033699258">hi</translation>
 <translation id="2714180132046334502">गहरा बैकग्राउंड</translation>
 <translation id="27349076983469322">हल्का बैकग्राउंड</translation>
-<translation id="3283583562490372694">सहा का निशान हटाया गया</translation>
+<translation id="3283583562490372694">सही का निशान हटाया गया</translation>
 <translation id="335581015389089642">बोली</translation>
 <translation id="4004802134384979325">चेक किया गया</translation>
 <translation id="4827410568042294688">अचयनित</translation>
@@ -18,7 +18,7 @@
 <translation id="6475604559827479857">शब्द हाइलाइट करने का रंग:</translation>
 <translation id="6837853484260746864">एक ध्वनि चुनें:</translation>
 <translation id="7261612856573623172">लिखाई को बोली में बदलने वाली सिस्टम की आवाज़</translation>
-<translation id="7317017974771324508">आंशिक रूप से चुन गया</translation>
+<translation id="7317017974771324508">आंशिक रूप से चुना गया</translation>
 <translation id="7768784765476638775">चुनें और सुनें</translation>
 <translation id="7914870167134465181">हाइलाइट करना</translation>
 <translation id="8033827949643255796">चयनित</translation>
diff --git a/chrome/browser/resources/chromeos/select_to_speak/strings/select_to_speak_strings_ko.xtb b/chrome/browser/resources/chromeos/select_to_speak/strings/select_to_speak_strings_ko.xtb
index 3eb1ea3..503afb35 100644
--- a/chrome/browser/resources/chromeos/select_to_speak/strings/select_to_speak_strings_ko.xtb
+++ b/chrome/browser/resources/chromeos/select_to_speak/strings/select_to_speak_strings_ko.xtb
@@ -23,6 +23,6 @@
 <translation id="7914870167134465181">강조표시</translation>
 <translation id="8033827949643255796">선택됨</translation>
 <translation id="8324974933005349667">TTS(텍스트 음성 변환) 설정 맞춤설정</translation>
-<translation id="8944511129464116546">일부만 확인됨</translation>
+<translation id="8944511129464116546">일부만 선택됨</translation>
 <translation id="992256792861109788">분홍색</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/resources/chromeos/select_to_speak/strings/select_to_speak_strings_ro.xtb b/chrome/browser/resources/chromeos/select_to_speak/strings/select_to_speak_strings_ro.xtb
index 5df66696..265cb32f 100644
--- a/chrome/browser/resources/chromeos/select_to_speak/strings/select_to_speak_strings_ro.xtb
+++ b/chrome/browser/resources/chromeos/select_to_speak/strings/select_to_speak_strings_ro.xtb
@@ -23,6 +23,6 @@
 <translation id="7914870167134465181">Evidențiere</translation>
 <translation id="8033827949643255796">selectate</translation>
 <translation id="8324974933005349667">Personalizează setările redării vocale a textului</translation>
-<translation id="8944511129464116546">bifat parțial</translation>
+<translation id="8944511129464116546">bifată parțial</translation>
 <translation id="992256792861109788">Roz</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/resources/chromeos/select_to_speak/strings/select_to_speak_strings_uk.xtb b/chrome/browser/resources/chromeos/select_to_speak/strings/select_to_speak_strings_uk.xtb
index 49ce96a9..7c03477 100644
--- a/chrome/browser/resources/chromeos/select_to_speak/strings/select_to_speak_strings_uk.xtb
+++ b/chrome/browser/resources/chromeos/select_to_speak/strings/select_to_speak_strings_uk.xtb
@@ -9,7 +9,7 @@
 <translation id="2089387485033699258">uk</translation>
 <translation id="2714180132046334502">Темний фон</translation>
 <translation id="27349076983469322">Світлий фон</translation>
-<translation id="3283583562490372694">не вибрано</translation>
+<translation id="3283583562490372694">без прапорця</translation>
 <translation id="335581015389089642">Speech</translation>
 <translation id="4004802134384979325">з прапорцем</translation>
 <translation id="4827410568042294688">виділення скасовано</translation>
diff --git a/chrome/browser/resources/local_ntp/OWNERS b/chrome/browser/resources/local_ntp/OWNERS
index d03792dd..74dfcb22 100644
--- a/chrome/browser/resources/local_ntp/OWNERS
+++ b/chrome/browser/resources/local_ntp/OWNERS
@@ -1,6 +1,7 @@
-mathp@chromium.org
 fserb@chromium.org
 kristipark@chromium.org
+mathp@chromium.org
+ramyan@chromium.org
 treib@chromium.org
 
 # TEAM: ntp-dev@chromium.org
diff --git a/chrome/browser/resources/md_extensions/runtime_host_permissions.html b/chrome/browser/resources/md_extensions/runtime_host_permissions.html
index d2bb9e6..3a09d0be 100644
--- a/chrome/browser/resources/md_extensions/runtime_host_permissions.html
+++ b/chrome/browser/resources/md_extensions/runtime_host_permissions.html
@@ -38,14 +38,18 @@
         justify-content: space-between;
       }
 
+      #host-access {
+        margin-inline-start: 20px;
+      }
+
       a[href] {
         color: var(--google-blue-700);
         text-decoration: none;
       }
     </style>
-    <div id="permissions-mode">
+    <div id="permissions-mode" class="mid-section-header">
       <div>
-        <div class="mid-section-header">
+        <div>
           $i18n{hostPermissionsHeading}
         </div>
         <div>
diff --git a/chrome/browser/resources/settings/downloads_page/BUILD.gn b/chrome/browser/resources/settings/downloads_page/BUILD.gn
index d912d03..a4c1ddd2 100644
--- a/chrome/browser/resources/settings/downloads_page/BUILD.gn
+++ b/chrome/browser/resources/settings/downloads_page/BUILD.gn
@@ -24,6 +24,7 @@
 js_library("smb_shares_page") {
   deps = [
     ":add_smb_share_dialog",
+    "..:route",
     "//ui/webui/resources/js:web_ui_listener_behavior",
   ]
 }
diff --git a/chrome/browser/resources/settings/downloads_page/smb_shares_page.html b/chrome/browser/resources/settings/downloads_page/smb_shares_page.html
index 0c674c05..aff446c 100644
--- a/chrome/browser/resources/settings/downloads_page/smb_shares_page.html
+++ b/chrome/browser/resources/settings/downloads_page/smb_shares_page.html
@@ -7,6 +7,7 @@
 <link rel="import" href="chrome://resources/html/web_ui_listener_behavior.html">
 <link rel="import" href="chrome://resources/polymer/v1_0/paper-button/paper-button.html">
 <link rel="import" href="chrome://resources/html/md_select_css.html">
+<link rel="import" href="../route.html">
 <link rel="import" href="../settings_shared_css.html">
 <link rel="import" href="../settings_vars_css.html">
 <link rel="import" href="add_smb_share_dialog.html">
diff --git a/chrome/browser/resources/settings/downloads_page/smb_shares_page.js b/chrome/browser/resources/settings/downloads_page/smb_shares_page.js
index 0d2a31f..f9a8ecc 100644
--- a/chrome/browser/resources/settings/downloads_page/smb_shares_page.js
+++ b/chrome/browser/resources/settings/downloads_page/smb_shares_page.js
@@ -5,7 +5,10 @@
 Polymer({
   is: 'settings-smb-shares-page',
 
-  behaviors: [WebUIListenerBehavior],
+  behaviors: [
+    WebUIListenerBehavior,
+    settings.RouteObserverBehavior,
+  ],
 
   properties: {
     /**
@@ -23,6 +26,18 @@
     addShareResultText_: String,
   },
 
+  /**
+   * Overridden from settings.RouteObserverBehavior.
+   * @param {!settings.Route} route
+   * @protected
+   */
+  currentRouteChanged: function(route) {
+    if (route == settings.routes.SMB_SHARES) {
+      this.showAddSmbDialog_ =
+          settings.getQueryParameters().get('showAddShare') == 'true';
+    }
+  },
+
   /** @override */
   attached: function() {
     this.addWebUIListener('on-add-smb-share', this.onAddShare_.bind(this));
diff --git a/chrome/browser/resources/settings/multidevice_page/multidevice_subpage.html b/chrome/browser/resources/settings/multidevice_page/multidevice_subpage.html
index 0bc9677..8c0310d 100644
--- a/chrome/browser/resources/settings/multidevice_page/multidevice_subpage.html
+++ b/chrome/browser/resources/settings/multidevice_page/multidevice_subpage.html
@@ -28,7 +28,7 @@
       }
 
       #feature-items-container {
-        @apply(--settings-list-frame-padding);
+        @apply --settings-list-frame-padding;
       }
 
       #forget-device-container {
diff --git a/chrome/browser/resources/settings/passwords_and_forms_page/password_edit_dialog.html b/chrome/browser/resources/settings/passwords_and_forms_page/password_edit_dialog.html
index 63ec0e9..0cb6594 100644
--- a/chrome/browser/resources/settings/passwords_and_forms_page/password_edit_dialog.html
+++ b/chrome/browser/resources/settings/passwords_and_forms_page/password_edit_dialog.html
@@ -34,6 +34,20 @@
         }
       }
 
+      #passwordInput {
+        --cr-input-input: {
+<if expr="chromeos or is_linux">
+          font-family: 'DejaVu Sans Mono', monospace;
+</if>
+<if expr="is_win">
+          font-family: 'Consolas', monospace;
+</if>
+<if expr="is_macosx">
+          font-family: 'Menlo', monospace;
+</if>
+        }
+      }
+
       paper-icon-button-light {
         background-size: 24px;  /* Other buttons are sized by --cr-icon-size. */
         margin-inline-start: 2px;
diff --git a/chrome/browser/resources/settings/passwords_and_forms_page/password_list_item.html b/chrome/browser/resources/settings/passwords_and_forms_page/password_list_item.html
index e83c9d5..cebf867 100644
--- a/chrome/browser/resources/settings/passwords_and_forms_page/password_list_item.html
+++ b/chrome/browser/resources/settings/passwords_and_forms_page/password_list_item.html
@@ -31,6 +31,18 @@
         line-height: inherit;
         text-overflow: ellipsis;
       }
+
+      #password {
+<if expr="chromeos or is_linux">
+        font-family: 'DejaVu Sans Mono', monospace;
+</if>
+<if expr="is_win">
+        font-family: 'Consolas', monospace;
+</if>
+<if expr="is_macosx">
+        font-family: 'Menlo', monospace;
+</if>
+      }
     </style>
     <div class="list-item" focus-row-container>
       <div class="website-column no-min-width"
diff --git a/chrome/browser/resources/settings/settings_resources.grd b/chrome/browser/resources/settings/settings_resources.grd
index ff5eff9..4dd02ed 100644
--- a/chrome/browser/resources/settings/settings_resources.grd
+++ b/chrome/browser/resources/settings/settings_resources.grd
@@ -740,7 +740,8 @@
                  type="chrome_html" />
       <structure name="IDR_SETTINGS_PASSWORD_LIST_ITEM_HTML"
                  file="passwords_and_forms_page/password_list_item.html"
-                 type="chrome_html" />
+                 type="chrome_html"
+                 preprocess="true" />
       <structure name="IDR_SETTINGS_PASSWORD_LIST_ITEM_JS"
                  file="passwords_and_forms_page/password_list_item.js"
                  type="chrome_html" />
@@ -759,7 +760,8 @@
                  preprocess="true" />
       <structure name="IDR_SETTINGS_PASSWORD_EDIT_DIALOG_HTML"
                  file="passwords_and_forms_page/password_edit_dialog.html"
-                 type="chrome_html" />
+                 type="chrome_html"
+                 preprocess="true" />
       <structure name="IDR_SETTINGS_PASSWORD_EDIT_DIALOG_JS"
                  file="passwords_and_forms_page/password_edit_dialog.js"
                  type="chrome_html" />
diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
index f94fa36..44a266c8 100644
--- a/chrome/browser/ui/BUILD.gn
+++ b/chrome/browser/ui/BUILD.gn
@@ -77,7 +77,6 @@
       "cocoa/bubble_anchor_helper.mm",
       "cocoa/bubble_anchor_helper_views.h",
       "cocoa/bubble_anchor_helper_views.mm",
-      "cocoa/bubble_anchor_util_views_mac.mm",
       "cocoa/bubble_combobox.h",
       "cocoa/bubble_combobox.mm",
       "cocoa/bubble_view.h",
@@ -118,24 +117,8 @@
       "cocoa/device_chooser_content_view_cocoa.mm",
       "cocoa/drag_util.h",
       "cocoa/drag_util.mm",
-      "cocoa/draggable_button.h",
-      "cocoa/draggable_button.mm",
-      "cocoa/draggable_button_mixin.h",
-      "cocoa/draggable_button_mixin.mm",
-      "cocoa/extensions/browser_action_button.h",
-      "cocoa/extensions/browser_action_button.mm",
-      "cocoa/extensions/browser_actions_container_view.h",
-      "cocoa/extensions/browser_actions_container_view.mm",
-      "cocoa/extensions/browser_actions_controller.h",
-      "cocoa/extensions/browser_actions_controller.mm",
-      "cocoa/extensions/extension_action_platform_delegate_cocoa.h",
-      "cocoa/extensions/extension_action_platform_delegate_cocoa.mm",
       "cocoa/extensions/extension_keybinding_registry_cocoa.h",
       "cocoa/extensions/extension_keybinding_registry_cocoa.mm",
-      "cocoa/extensions/extension_popup_views_mac.h",
-      "cocoa/extensions/extension_popup_views_mac.mm",
-      "cocoa/extensions/toolbar_actions_bar_bubble_views_presenter.h",
-      "cocoa/extensions/toolbar_actions_bar_bubble_views_presenter.mm",
       "cocoa/fast_resize_view.h",
       "cocoa/fast_resize_view.mm",
       "cocoa/floating_bar_backing_view.h",
@@ -162,8 +145,6 @@
       "cocoa/fullscreen_placeholder_view.mm",
       "cocoa/fullscreen_window.h",
       "cocoa/fullscreen_window.mm",
-      "cocoa/harmony_button.h",
-      "cocoa/harmony_button.mm",
       "cocoa/has_weak_browser_pointer.h",
       "cocoa/hover_close_button.h",
       "cocoa/hover_close_button.mm",
@@ -177,21 +158,13 @@
       "cocoa/location_bar/autocomplete_text_field_cell.mm",
       "cocoa/location_bar/autocomplete_text_field_editor.h",
       "cocoa/location_bar/autocomplete_text_field_editor.mm",
-      "cocoa/location_bar/bubble_decoration.h",
-      "cocoa/location_bar/bubble_decoration.mm",
-      "cocoa/location_bar/image_decoration.h",
-      "cocoa/location_bar/image_decoration.mm",
       "cocoa/location_bar/location_bar_decoration.h",
       "cocoa/location_bar/location_bar_decoration.mm",
       "cocoa/location_bar/location_bar_view_mac.h",
       "cocoa/location_bar/location_bar_view_mac.mm",
-      "cocoa/location_bar/zoom_decoration.h",
-      "cocoa/location_bar/zoom_decoration.mm",
       "cocoa/main_menu_item.h",
       "cocoa/menu_button.h",
       "cocoa/menu_button.mm",
-      "cocoa/multi_key_equivalent_button.h",
-      "cocoa/multi_key_equivalent_button.mm",
       "cocoa/nsview_additions.h",
       "cocoa/nsview_additions.mm",
       "cocoa/omnibox/omnibox_popup_cell.h",
@@ -233,8 +206,6 @@
       "cocoa/tab_contents/tab_contents_controller.mm",
       "cocoa/tabbed_browser_window.h",
       "cocoa/tabbed_browser_window.mm",
-      "cocoa/tabs/alert_indicator_button_cocoa.h",
-      "cocoa/tabs/alert_indicator_button_cocoa.mm",
       "cocoa/tabs/tab_controller.h",
       "cocoa/tabs/tab_controller.mm",
       "cocoa/tabs/tab_controller_target.h",
@@ -2212,8 +2183,6 @@
       "cocoa/last_active_browser_cocoa.h",
       "cocoa/main_menu_builder.h",
       "cocoa/main_menu_builder.mm",
-      "cocoa/md_hover_button.h",
-      "cocoa/md_hover_button.mm",
       "cocoa/md_util.h",
       "cocoa/md_util.mm",
       "cocoa/media_picker/desktop_media_picker_bridge.h",
@@ -3821,9 +3790,6 @@
       "views/webauthn/authenticator_request_dialog_view_test_api.cc",
       "views/webauthn/authenticator_request_dialog_view_test_api.h",
     ]
-    if (is_mac) {
-      sources += [ "cocoa/extensions/browser_action_test_util_views_cocoa.mm" ]
-    }
     if (use_aura) {
       sources += [ "views/toolbar/browser_action_test_util_views_aura.cc" ]
       deps += [
diff --git a/chrome/browser/ui/app_list/app_list_controller_delegate.cc b/chrome/browser/ui/app_list/app_list_controller_delegate.cc
index 3eadd4d..460290d5 100644
--- a/chrome/browser/ui/app_list/app_list_controller_delegate.cc
+++ b/chrome/browser/ui/app_list/app_list_controller_delegate.cc
@@ -51,7 +51,7 @@
 }  // namespace
 
 AppListControllerDelegate::AppListControllerDelegate()
-    : is_home_launcher_enabled_(app_list::features::IsHomeLauncherEnabled()),
+    : is_home_launcher_enabled_(app_list_features::IsHomeLauncherEnabled()),
       weak_ptr_factory_(this) {}
 
 AppListControllerDelegate::~AppListControllerDelegate() {}
diff --git a/chrome/browser/ui/app_list/search/answer_card/answer_card_search_provider.cc b/chrome/browser/ui/app_list/search/answer_card/answer_card_search_provider.cc
index afe810d8..69698043 100644
--- a/chrome/browser/ui/app_list/search/answer_card/answer_card_search_provider.cc
+++ b/chrome/browser/ui/app_list/search/answer_card/answer_card_search_provider.cc
@@ -67,7 +67,7 @@
     : profile_(profile),
       model_updater_(model_updater),
       list_controller_(list_controller),
-      answer_server_url_(features::AnswerServerUrl()),
+      answer_server_url_(app_list_features::AnswerServerUrl()),
       template_url_service_(TemplateURLServiceFactory::GetForProfile(profile)) {
   navigation_contexts_[0].contents = std::move(contents0);
   navigation_contexts_[1].contents = std::move(contents1);
@@ -94,7 +94,7 @@
   // |replacements|.
   const std::string prefixed_query(
       "q=" + net::EscapeQueryParamValue(base::UTF16ToUTF8(query), true) +
-      features::AnswerServerQuerySuffix());
+      app_list_features::AnswerServerQuerySuffix());
   GURL::Replacements replacements;
   replacements.SetQueryStr(prefixed_query);
   current_request_url_ = answer_server_url_.ReplaceComponents(replacements);
diff --git a/chrome/browser/ui/app_list/search/answer_card/answer_card_search_provider_unittest.cc b/chrome/browser/ui/app_list/search/answer_card/answer_card_search_provider_unittest.cc
index 8efd6e60..fcd40fc3 100644
--- a/chrome/browser/ui/app_list/search/answer_card/answer_card_search_provider_unittest.cc
+++ b/chrome/browser/ui/app_list/search/answer_card/answer_card_search_provider_unittest.cc
@@ -150,7 +150,7 @@
     std::unique_ptr<base::FeatureList> feature_list =
         std::make_unique<base::FeatureList>();
     feature_list->RegisterFieldTrialOverride(
-        features::kEnableAnswerCard.name,
+        app_list_features::kEnableAnswerCard.name,
         base::FeatureList::OVERRIDE_ENABLE_FEATURE, trial.get());
     scoped_feature_list_.InitWithFeatureList(std::move(feature_list));
 
diff --git a/chrome/browser/ui/app_list/search/app_search_provider.cc b/chrome/browser/ui/app_list/search/app_search_provider.cc
index 6bbc3d2..3dc210f 100644
--- a/chrome/browser/ui/app_list/search/app_search_provider.cc
+++ b/chrome/browser/ui/app_list/search/app_search_provider.cc
@@ -402,7 +402,7 @@
   void AddApps(AppSearchProvider::Apps* apps) override {
     for (const auto& internal_app : GetInternalAppList(profile())) {
       if (!std::strcmp(internal_app.app_id, kInternalAppIdContinueReading)) {
-        if (!features::IsContinueReadingEnabled())
+        if (!app_list_features::IsContinueReadingEnabled())
           continue;
 
         auto* service =
diff --git a/chrome/browser/ui/app_list/search/omnibox_provider.cc b/chrome/browser/ui/app_list/search/omnibox_provider.cc
index e150f863..1e51b2a01 100644
--- a/chrome/browser/ui/app_list/search/omnibox_provider.cc
+++ b/chrome/browser/ui/app_list/search/omnibox_provider.cc
@@ -23,7 +23,8 @@
 OmniboxProvider::OmniboxProvider(Profile* profile,
                                  AppListControllerDelegate* list_controller)
     : profile_(profile),
-      is_zero_state_enabled_(features::IsZeroStateSuggestionsEnabled()),
+      is_zero_state_enabled_(
+          app_list_features::IsZeroStateSuggestionsEnabled()),
       list_controller_(list_controller),
       controller_(std::make_unique<AutocompleteController>(
           std::make_unique<ChromeAutocompleteProviderClient>(profile),
diff --git a/chrome/browser/ui/app_list/search/search_controller_factory.cc b/chrome/browser/ui/app_list/search/search_controller_factory.cc
index 88c46b1..c33ecd64 100644
--- a/chrome/browser/ui/app_list/search/search_controller_factory.cc
+++ b/chrome/browser/ui/app_list/search/search_controller_factory.cc
@@ -94,7 +94,7 @@
         webstore_group_id,
         std::make_unique<WebstoreProvider>(profile, list_controller));
   }
-  if (features::IsAnswerCardEnabled()) {
+  if (app_list_features::IsAnswerCardEnabled()) {
     controller->AddProvider(
         answer_card_group_id,
         std::make_unique<AnswerCardSearchProvider>(
@@ -113,7 +113,7 @@
                             std::make_unique<LauncherSearchProvider>(profile));
   }
 
-  if (features::IsPlayStoreAppSearchEnabled()) {
+  if (app_list_features::IsPlayStoreAppSearchEnabled()) {
     // Set same boost as apps group since Play store results are placed
     // with apps.
     size_t playstore_api_group_id =
@@ -130,7 +130,7 @@
                           std::make_unique<ArcAppDataSearchProvider>(
                               kMaxAppDataResults, list_controller));
 
-  if (features::IsSettingsShortcutSearchEnabled()) {
+  if (app_list_features::IsSettingsShortcutSearchEnabled()) {
     size_t settings_shortcut_group_id = controller->AddGroup(
         kMaxSettingsShortcutResults, 1.0, kBoostOfSettingsShortcut);
     controller->AddProvider(
@@ -138,7 +138,7 @@
         std::make_unique<SettingsShortcutProvider>(profile));
   }
 
-  if (features::IsAppShortcutSearchEnabled()) {
+  if (app_list_features::IsAppShortcutSearchEnabled()) {
     size_t app_shortcut_group_id =
         controller->AddGroup(kMaxAppShortcutResults, 1.0, kBoostOfApps);
     controller->AddProvider(
diff --git a/chrome/browser/ui/app_list/search/search_result_ranker/app_search_result_ranker.cc b/chrome/browser/ui/app_list/search/search_result_ranker/app_search_result_ranker.cc
index 705f8539..da07c3c 100644
--- a/chrome/browser/ui/app_list/search/search_result_ranker/app_search_result_ranker.cc
+++ b/chrome/browser/ui/app_list/search/search_result_ranker/app_search_result_ranker.cc
@@ -79,10 +79,11 @@
     : predictor_filename_(
           profile_path.AppendASCII(kAppLaunchPredictorFilename)),
       weak_factory_(this) {
-  if (!features::IsAppSearchResultRankerEnabled())
+  if (!app_list_features::IsAppSearchResultRankerEnabled())
     return;
 
-  predictor_ = CreatePredictor(features::AppSearchResultRankerPredictorName());
+  predictor_ =
+      CreatePredictor(app_list_features::AppSearchResultRankerPredictorName());
 
   // MrfuAppLaunchPredictor doesn't have materialization, so no loading from
   // local disk.
diff --git a/chrome/browser/ui/app_list/search/search_result_ranker/app_search_result_ranker_unittest.cc b/chrome/browser/ui/app_list/search/search_result_ranker/app_search_result_ranker_unittest.cc
index 8d9fadd..4b0d2958 100644
--- a/chrome/browser/ui/app_list/search/search_result_ranker/app_search_result_ranker_unittest.cc
+++ b/chrome/browser/ui/app_list/search/search_result_ranker/app_search_result_ranker_unittest.cc
@@ -47,7 +47,7 @@
 
 TEST_F(AppSearchResultRankerFlagTest, TrainAndInfer) {
   scoped_feature_list_.InitAndEnableFeatureWithParameters(
-      features::kEnableAppSearchResultRanker,
+      app_list_features::kEnableAppSearchResultRanker,
       {{"app_search_result_ranker_predictor_name",
         FakeAppLaunchPredictor::kPredictorName}});
 
@@ -64,7 +64,7 @@
 
 TEST_F(AppSearchResultRankerFlagTest, EphemeralUsersAreDisabled) {
   scoped_feature_list_.InitAndEnableFeatureWithParameters(
-      features::kEnableAppSearchResultRanker,
+      app_list_features::kEnableAppSearchResultRanker,
       {{"app_search_result_ranker_predictor_name",
         FakeAppLaunchPredictor::kPredictorName}});
 
@@ -79,7 +79,7 @@
 
 TEST_F(AppSearchResultRankerFlagTest, ReturnEmptyIfDisabled) {
   scoped_feature_list_.InitWithFeatures(
-      {}, {features::kEnableAppSearchResultRanker});
+      {}, {app_list_features::kEnableAppSearchResultRanker});
 
   AppSearchResultRanker ranker(temp_dir_.GetPath(), kNotAnEphemeralUser);
   Wait();
@@ -106,7 +106,7 @@
           ->mutable_rank_result())[kTarget2] = 2.0f;
 
     scoped_feature_list_.InitAndEnableFeatureWithParameters(
-        features::kEnableAppSearchResultRanker,
+        app_list_features::kEnableAppSearchResultRanker,
         {{"app_search_result_ranker_predictor_name",
           FakeAppLaunchPredictor::kPredictorName}});
   }
diff --git a/chrome/browser/ui/app_list/search/tests/app_search_provider_unittest.cc b/chrome/browser/ui/app_list/search/tests/app_search_provider_unittest.cc
index 6ffb4e4..aaa893f 100644
--- a/chrome/browser/ui/app_list/search/tests/app_search_provider_unittest.cc
+++ b/chrome/browser/ui/app_list/search/tests/app_search_provider_unittest.cc
@@ -336,7 +336,7 @@
 TEST_F(AppSearchProviderTest, FetchRecommendationsFromRanker) {
   base::test::ScopedFeatureList scoped_feature_list_;
   scoped_feature_list_.InitWithFeatures(
-      {features::kEnableAppSearchResultRanker}, {});
+      {app_list_features::kEnableAppSearchResultRanker}, {});
   CreateSearch();
 
   extensions::ExtensionPrefs* prefs =
@@ -358,7 +358,7 @@
 TEST_F(AppSearchProviderTest, RankerIsDisabledWithFlag) {
   base::test::ScopedFeatureList scoped_feature_list_;
   scoped_feature_list_.InitWithFeatures(
-      {}, {features::kEnableAppSearchResultRanker});
+      {}, {app_list_features::kEnableAppSearchResultRanker});
   CreateSearch();
 
   extensions::ExtensionPrefs* prefs =
diff --git a/chrome/browser/ui/ash/launcher/browser_status_monitor.cc b/chrome/browser/ui/ash/launcher/browser_status_monitor.cc
index c7092de..29fa2fc 100644
--- a/chrome/browser/ui/ash/launcher/browser_status_monitor.cc
+++ b/chrome/browser/ui/ash/launcher/browser_status_monitor.cc
@@ -22,6 +22,19 @@
 #include "content/public/browser/web_contents.h"
 #include "content/public/browser/web_contents_observer.h"
 
+namespace {
+
+bool IsV1WindowedApp(Browser* browser) {
+  if (!browser->is_type_popup() || !browser->is_app())
+    return false;
+  // Crostini terminal windows do not have an app id and are handled by
+  // CrostiniAppWindowShelfController. All other app windows should have a non
+  // empty app id.
+  return !web_app::GetAppIdFromApplicationName(browser->app_name()).empty();
+}
+
+}  // namespace
+
 // This class monitors the WebContent of the all tab and notifies a navigation
 // to the BrowserStatusMonitor.
 class BrowserStatusMonitor::LocalWebContentsObserver
@@ -107,7 +120,7 @@
 
 void BrowserStatusMonitor::OnBrowserAdded(Browser* browser) {
   DCHECK(initialized_);
-  if (browser->is_type_popup() && browser->is_app()) {
+  if (IsV1WindowedApp(browser)) {
     // Note: A V1 application will set the tab strip observer when the app gets
     // added to the shelf. This makes sure that in the multi user case we will
     // only set the observer while the app item exists in the shelf.
@@ -117,7 +130,7 @@
 
 void BrowserStatusMonitor::OnBrowserRemoved(Browser* browser) {
   DCHECK(initialized_);
-  if (browser->is_type_popup() && browser->is_app())
+  if (IsV1WindowedApp(browser))
     RemoveV1AppFromShelf(browser);
 
   UpdateBrowserItemState();
@@ -187,20 +200,19 @@
 }
 
 void BrowserStatusMonitor::AddV1AppToShelf(Browser* browser) {
-  DCHECK(browser->is_type_popup() && browser->is_app());
+  DCHECK(IsV1WindowedApp(browser));
   DCHECK(initialized_);
 
   std::string app_id =
       web_app::GetAppIdFromApplicationName(browser->app_name());
-  if (!app_id.empty()) {
-    if (!IsV1AppInShelfWithAppId(app_id))
-      launcher_controller_->SetV1AppStatus(app_id, ash::STATUS_RUNNING);
-    browser_to_app_id_map_[browser] = app_id;
-  }
+  DCHECK(!app_id.empty());
+  if (!IsV1AppInShelfWithAppId(app_id))
+    launcher_controller_->SetV1AppStatus(app_id, ash::STATUS_RUNNING);
+  browser_to_app_id_map_[browser] = app_id;
 }
 
 void BrowserStatusMonitor::RemoveV1AppFromShelf(Browser* browser) {
-  DCHECK(browser->is_type_popup() && browser->is_app());
+  DCHECK(IsV1WindowedApp(browser));
   DCHECK(initialized_);
 
   auto iter = browser_to_app_id_map_.find(browser);
diff --git a/chrome/browser/ui/ash/tablet_mode_client.cc b/chrome/browser/ui/ash/tablet_mode_client.cc
index e41c3b9..28e9e50 100644
--- a/chrome/browser/ui/ash/tablet_mode_client.cc
+++ b/chrome/browser/ui/ash/tablet_mode_client.cc
@@ -16,6 +16,7 @@
 #include "content/public/browser/web_contents.h"
 #include "content/public/common/service_manager_connection.h"
 #include "services/service_manager/public/cpp/connector.h"
+#include "ui/base/material_design/material_design_controller.h"
 #include "ui/base/ui_base_features.h"
 
 namespace {
@@ -74,6 +75,7 @@
 
   SetMobileLikeBehaviorEnabled(enabled);
 
+  ui::MaterialDesignController::OnTabletModeToggled(enabled);
   for (auto& observer : observers_)
     observer.OnTabletModeToggled(enabled);
 }
diff --git a/chrome/browser/ui/browser_command_controller.cc b/chrome/browser/ui/browser_command_controller.cc
index cb59d0e3..773e715 100644
--- a/chrome/browser/ui/browser_command_controller.cc
+++ b/chrome/browser/ui/browser_command_controller.cc
@@ -563,8 +563,13 @@
     case IDC_OPEN_FILE:
       browser_->OpenFile();
       break;
-    case IDC_CREATE_HOSTED_APP:
-      CreateBookmarkAppFromCurrentWebContents(browser_);
+    case IDC_CREATE_SHORTCUT:
+      CreateBookmarkAppFromCurrentWebContents(browser_,
+                                              true /* force_shortcut_app */);
+      break;
+    case IDC_INSTALL_PWA:
+      CreateBookmarkAppFromCurrentWebContents(browser_,
+                                              false /* force_shortcut_app */);
       break;
     case IDC_DEV_TOOLS:
       ToggleDevToolsWindow(browser_, DevToolsToggleAction::Show());
@@ -1018,10 +1023,13 @@
   if (browser_->is_devtools())
     command_updater_.UpdateCommandEnabled(IDC_OPEN_FILE, false);
 
-  command_updater_.UpdateCommandEnabled(IDC_CREATE_HOSTED_APP,
-                                        CanCreateBookmarkApp(browser_));
+  bool can_create_bookmark_app = CanCreateBookmarkApp(browser_);
+  command_updater_.UpdateCommandEnabled(IDC_INSTALL_PWA,
+                                        can_create_bookmark_app);
+  command_updater_.UpdateCommandEnabled(IDC_CREATE_SHORTCUT,
+                                        can_create_bookmark_app);
   command_updater_.UpdateCommandEnabled(IDC_OPEN_IN_PWA_WINDOW,
-                                        CanCreateBookmarkApp(browser_));
+                                        can_create_bookmark_app);
 
   command_updater_.UpdateCommandEnabled(
       IDC_TOGGLE_REQUEST_TABLET_SITE,
diff --git a/chrome/browser/ui/browser_commands.cc b/chrome/browser/ui/browser_commands.cc
index 5e014bb..1b80948 100644
--- a/chrome/browser/ui/browser_commands.cc
+++ b/chrome/browser/ui/browser_commands.cc
@@ -1253,11 +1253,12 @@
 }
 
 #if BUILDFLAG(ENABLE_EXTENSIONS)
-void CreateBookmarkAppFromCurrentWebContents(Browser* browser) {
+void CreateBookmarkAppFromCurrentWebContents(Browser* browser,
+                                             bool force_shortcut_app) {
   base::RecordAction(UserMetricsAction("CreateHostedApp"));
   extensions::TabHelper::FromWebContents(
-      browser->tab_strip_model()->GetActiveWebContents())->
-          CreateHostedAppFromWebContents();
+      browser->tab_strip_model()->GetActiveWebContents())
+      ->CreateHostedAppFromWebContents(force_shortcut_app);
 }
 
 bool CanCreateBookmarkApp(const Browser* browser) {
diff --git a/chrome/browser/ui/browser_commands.h b/chrome/browser/ui/browser_commands.h
index 295d82c..4b31e64 100644
--- a/chrome/browser/ui/browser_commands.h
+++ b/chrome/browser/ui/browser_commands.h
@@ -151,7 +151,12 @@
 Browser* OpenInChrome(Browser* hosted_app_browser);
 bool CanViewSource(const Browser* browser);
 
-void CreateBookmarkAppFromCurrentWebContents(Browser* browser);
+// Initiates user flow for creating a bookmark app for the current page.
+// Will install a PWA hosted app if the site meets installability requirements
+// (see |AppBannerManager::PerformInstallableCheck|) unless |force_shortcut_app|
+// is true.
+void CreateBookmarkAppFromCurrentWebContents(Browser* browser,
+                                             bool force_shortcut_app);
 bool CanCreateBookmarkApp(const Browser* browser);
 
 }  // namespace chrome
diff --git a/chrome/browser/ui/browser_dialogs.h b/chrome/browser/ui/browser_dialogs.h
index f77faa38..c0c7c211 100644
--- a/chrome/browser/ui/browser_dialogs.h
+++ b/chrome/browser/ui/browser_dialogs.h
@@ -123,6 +123,10 @@
                            const WebApplicationInfo& web_app_info,
                            AppInstallationAcceptanceCallback callback);
 
+// Sets whether |ShowBookmarkAppDialog| should accept immediately without any
+// user interaction.
+void SetAutoAcceptBookmarkAppDialogForTesting(bool auto_accept);
+
 // Shows the PWA installation confirmation bubble.
 //
 // |web_app_info| is the WebApplicationInfo to be installed.
@@ -130,6 +134,10 @@
                           const WebApplicationInfo& web_app_info,
                           AppInstallationAcceptanceCallback callback);
 
+// Sets whether |ShowPWAInstallDialog| should accept immediately without any
+// user interaction.
+void SetAutoAcceptPWAInstallDialogForTesting(bool auto_accept);
+
 // Shows a color chooser that reports to the given WebContents.
 content::ColorChooser* ShowColorChooser(content::WebContents* web_contents,
                                         SkColor initial_color);
diff --git a/chrome/browser/ui/bubble_anchor_util.h b/chrome/browser/ui/bubble_anchor_util.h
index 2492df1..9a21594 100644
--- a/chrome/browser/ui/bubble_anchor_util.h
+++ b/chrome/browser/ui/bubble_anchor_util.h
@@ -35,13 +35,6 @@
 // based browsers. The anchor rect is in screen coordinates.
 gfx::Rect GetPageInfoAnchorRect(Browser* browser);
 
-#if defined(OS_MACOSX)
-
-// Returns the app menu anchor rect for |browser|, which is assumed to have a
-// Cocoa browser window.
-gfx::Rect GetAppMenuAnchorRectCocoa(Browser* browser);
-#endif
-
 }  // namespace bubble_anchor_util
 
 #endif  // CHROME_BROWSER_UI_BUBBLE_ANCHOR_UTIL_H_
diff --git a/chrome/browser/ui/cocoa/browser_window_cocoa.mm b/chrome/browser/ui/cocoa/browser_window_cocoa.mm
index 7f6ff8a8..b6ee3a8 100644
--- a/chrome/browser/ui/cocoa/browser_window_cocoa.mm
+++ b/chrome/browser/ui/cocoa/browser_window_cocoa.mm
@@ -35,7 +35,6 @@
 #import "chrome/browser/ui/cocoa/browser_window_utils.h"
 #import "chrome/browser/ui/cocoa/chrome_event_processing_window.h"
 #import "chrome/browser/ui/cocoa/constrained_window/constrained_window_sheet_controller.h"
-#import "chrome/browser/ui/cocoa/extensions/browser_actions_controller.h"
 #include "chrome/browser/ui/cocoa/key_equivalent_constants.h"
 #import "chrome/browser/ui/cocoa/location_bar/location_bar_view_mac.h"
 #import "chrome/browser/ui/cocoa/nsmenuitem_additions.h"
@@ -438,9 +437,6 @@
 }
 
 ToolbarActionsBar* BrowserWindowCocoa::GetToolbarActionsBar() {
-  if ([controller_ hasToolbar])
-    return [[[controller_ toolbarController] browserActionsController]
-               toolbarActionsBar];
   return nullptr;
 }
 
diff --git a/chrome/browser/ui/cocoa/browser_window_controller.mm b/chrome/browser/ui/cocoa/browser_window_controller.mm
index 68395bf..bae55c6a 100644
--- a/chrome/browser/ui/cocoa/browser_window_controller.mm
+++ b/chrome/browser/ui/cocoa/browser_window_controller.mm
@@ -350,11 +350,6 @@
     // Create the bridge for the status bubble.
     statusBubble_ = new StatusBubbleMac([self window], self);
 
-    // This must be done after the view is added to the window since it relies
-    // on the window bounds to determine whether to show buttons or not.
-    if ([self hasToolbar])  // Do not create the buttons in popups.
-      [toolbarController_ createBrowserActionButtons];
-
     extensionKeybindingRegistry_.reset(
         new ExtensionKeybindingRegistryCocoa(browser_->profile(),
             [self window],
diff --git a/chrome/browser/ui/cocoa/bubble_anchor_helper_views.h b/chrome/browser/ui/cocoa/bubble_anchor_helper_views.h
index a5dc48c..9abb4be 100644
--- a/chrome/browser/ui/cocoa/bubble_anchor_helper_views.h
+++ b/chrome/browser/ui/cocoa/bubble_anchor_helper_views.h
@@ -20,9 +20,4 @@
 void KeepBubbleAnchored(views::BubbleDialogDelegateView* bubble,
                         LocationBarDecoration* decoration = nullptr);
 
-// Simplified version of KeepBubbleAnchored() for bubbles that manage their own
-// anchoring. Causes |decoration| to be set active until |bubble| is closed.
-void TrackBubbleState(views::BubbleDialogDelegateView* bubble,
-                      LocationBarDecoration* decoration);
-
 #endif  // CHROME_BROWSER_UI_COCOA_BUBBLE_ANCHOR_HELPER_VIEWS_H_
diff --git a/chrome/browser/ui/cocoa/bubble_anchor_helper_views.mm b/chrome/browser/ui/cocoa/bubble_anchor_helper_views.mm
index 64e83f99..7806572d 100644
--- a/chrome/browser/ui/cocoa/bubble_anchor_helper_views.mm
+++ b/chrome/browser/ui/cocoa/bubble_anchor_helper_views.mm
@@ -17,17 +17,13 @@
 
 namespace {
 
-// Whether frame changes on the parent window are observed or ignored.
-enum AnchorType { OBSERVE_PARENT, IGNORE_PARENT };
-
 // Self-deleting object that hosts Objective-C observers watching for parent
 // window resizes to reposition a bubble Widget. Deletes itself when the bubble
 // Widget closes.
 class BubbleAnchorHelper final : public views::WidgetObserver {
  public:
   BubbleAnchorHelper(views::BubbleDialogDelegateView* bubble,
-                     LocationBarDecoration* decoration,
-                     AnchorType type);
+                     LocationBarDecoration* decoration);
 
  private:
   // Observe |notification| on the bubble parent window with a block to call
@@ -76,17 +72,11 @@
 
 void KeepBubbleAnchored(views::BubbleDialogDelegateView* bubble,
                         LocationBarDecoration* decoration) {
-  new BubbleAnchorHelper(bubble, decoration, OBSERVE_PARENT);
-}
-
-void TrackBubbleState(views::BubbleDialogDelegateView* bubble,
-                      LocationBarDecoration* decoration) {
-  new BubbleAnchorHelper(bubble, decoration, IGNORE_PARENT);
+  new BubbleAnchorHelper(bubble, decoration);
 }
 
 BubbleAnchorHelper::BubbleAnchorHelper(views::BubbleDialogDelegateView* bubble,
-                                       LocationBarDecoration* decoration,
-                                       AnchorType type)
+                                       LocationBarDecoration* decoration)
     : observer_tokens_([[NSMutableArray alloc] init]),
       bubble_(bubble),
       decoration_(decoration) {
@@ -97,9 +87,6 @@
   if (decoration_)
     decoration_->SetActive(true);
 
-  if (type == IGNORE_PARENT)
-    return;
-
   RecalculateAnchor();
 
   ObserveParentWindow(NSWindowDidEnterFullScreenNotification);
diff --git a/chrome/browser/ui/cocoa/bubble_anchor_util_views_mac.mm b/chrome/browser/ui/cocoa/bubble_anchor_util_views_mac.mm
deleted file mode 100644
index a94780d2..0000000
--- a/chrome/browser/ui/cocoa/bubble_anchor_util_views_mac.mm
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright 2017 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chrome/browser/ui/views/bubble_anchor_util_views.h"
-
-#import <Cocoa/Cocoa.h>
-
-#include "chrome/browser/ui/browser.h"
-#include "chrome/browser/ui/browser_window.h"
-#import "chrome/browser/ui/cocoa/browser_window_controller.h"
-#include "chrome/browser/ui/cocoa/browser_window_views_mac.h"
-#import "chrome/browser/ui/cocoa/bubble_anchor_helper.h"
-#import "chrome/browser/ui/cocoa/extensions/browser_actions_controller.h"
-#import "chrome/browser/ui/cocoa/location_bar/location_bar_view_mac.h"
-#import "chrome/browser/ui/cocoa/toolbar/toolbar_controller.h"
-#include "chrome/browser/ui/extensions/extension_installed_bubble.h"
-#import "ui/base/cocoa/cocoa_base_utils.h"
-#include "ui/base/ui_features.h"
-#include "ui/gfx/geometry/rect.h"
-#import "ui/gfx/mac/coordinate_conversion.h"
-
-// This file contains the bubble_anchor_util implementation for
-// BrowserWindowCocoa.
-
-namespace bubble_anchor_util {
-
-gfx::Rect GetAppMenuAnchorRectCocoa(Browser* browser) {
-  NSWindow* window = browser->window()->GetNativeWindow();
-  BrowserWindowController* bwc = BrowserWindowControllerForWindow(window);
-  NSPoint point = [[bwc toolbarController] appMenuBubblePoint];
-  return gfx::Rect(gfx::ScreenPointFromNSPoint(
-                       ui::ConvertPointFromWindowToScreen(window, point)),
-                   gfx::Size());
-}
-
-}  // namespace bubble_anchor_util
diff --git a/chrome/browser/ui/cocoa/draggable_button.h b/chrome/browser/ui/cocoa/draggable_button.h
deleted file mode 100644
index 0cd0d9b..0000000
--- a/chrome/browser/ui/cocoa/draggable_button.h
+++ /dev/null
@@ -1,25 +0,0 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef CHROME_BROWSER_UI_COCOA_DRAGGABLE_BUTTON_H_
-#define CHROME_BROWSER_UI_COCOA_DRAGGABLE_BUTTON_H_
-
-#import <Cocoa/Cocoa.h>
-
-#import "base/mac/scoped_nsobject.h"
-#import "chrome/browser/ui/cocoa/draggable_button_mixin.h"
-
-// Class for buttons that can be drag sources. If the mouse is clicked and moved
-// more than a given distance, this class will call |-beginDrag:| instead of
-// |-performClick:|. Subclasses should override these two methods.
-@interface DraggableButton : NSButton<DraggableButtonMixin> {
- @private
-  base::scoped_nsobject<DraggableButtonImpl> draggableButtonImpl_;
-}
-
-@property(readonly, nonatomic) DraggableButtonImpl* draggableButton;
-
-@end
-
-#endif  // CHROME_BROWSER_UI_COCOA_DRAGGABLE_BUTTON_H_
diff --git a/chrome/browser/ui/cocoa/draggable_button.mm b/chrome/browser/ui/cocoa/draggable_button.mm
deleted file mode 100644
index f7dbc28..0000000
--- a/chrome/browser/ui/cocoa/draggable_button.mm
+++ /dev/null
@@ -1,57 +0,0 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#import "chrome/browser/ui/cocoa/draggable_button.h"
-
-#include "base/logging.h"
-
-@implementation DraggableButton
-
-- (id)initWithFrame:(NSRect)frame {
-  if ((self = [super initWithFrame:frame])) {
-    draggableButtonImpl_.reset(
-        [[DraggableButtonImpl alloc] initWithButton:self]);
-  }
-  return self;
-}
-
-- (id)initWithCoder:(NSCoder*)coder {
-  if ((self = [super initWithCoder:coder])) {
-    draggableButtonImpl_.reset(
-        [[DraggableButtonImpl alloc] initWithButton:self]);
-  }
-  return self;
-}
-
-- (DraggableButtonImpl*)draggableButton {
-  return draggableButtonImpl_.get();
-}
-
-- (void)mouseUp:(NSEvent*)theEvent {
-  if ([draggableButtonImpl_ mouseUpImpl:theEvent] ==
-          kDraggableButtonMixinCallSuper) {
-    [super mouseUp:theEvent];
-  }
-}
-
-- (void)mouseDown:(NSEvent*)theEvent {
-  // The impl spins an event loop to distinguish clicks from drags,
-  // which could result in our destruction.  Wire ourselves down for
-  // the duration.
-  base::scoped_nsobject<DraggableButton> keepAlive([self retain]);
-
-  if ([draggableButtonImpl_ mouseDownImpl:theEvent] ==
-          kDraggableButtonMixinCallSuper) {
-    // Hack to suppress a crash. See http://crbug.com/509833 for details.
-    if ([self window] && ![self isHiddenOrHasHiddenAncestor])
-      [super mouseDown:theEvent];
-  }
-}
-
-- (void)beginDrag:(NSEvent*)dragEvent {
-  // Must be overridden by subclasses.
-  NOTREACHED();
-}
-
-@end  // @interface DraggableButton
diff --git a/chrome/browser/ui/cocoa/draggable_button_mixin.h b/chrome/browser/ui/cocoa/draggable_button_mixin.h
deleted file mode 100644
index 07d89f2..0000000
--- a/chrome/browser/ui/cocoa/draggable_button_mixin.h
+++ /dev/null
@@ -1,133 +0,0 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef CHROME_BROWSER_UI_COCOA_DRAGGABLE_BUTTON_MIXIN_H_
-#define CHROME_BROWSER_UI_COCOA_DRAGGABLE_BUTTON_MIXIN_H_
-
-#import <Cocoa/Cocoa.h>
-
-// The design of this class is extraordinarily poor. Apologies to all clients in
-// advance. Unfortunately, the lack of multiple inheritance and our desire to
-// avoid runtime hacks makes this convoluted dance necessary.
-//
-// Buttons that want to be draggable should implement the Mixin protocol below
-// and keep an instance of the Impl as an ivar. The button should forward mouse
-// events to the impl, which will tell the button whether or not to call super
-// and let the event be handled normally.
-//
-// If the impl decides to do work on the event, methods of the mixin protocol
-// may be called. Some of the methods declared in that protocol have base
-// implementations. If the method is not implemented by the button, that base
-// implementation will be called. Otherwise, the button's implementation will
-// be called first and the DraggableButtonResult will be used to determine
-// whether the base implementation should be called. This requires the client to
-// understand what the base does.
-
-enum DraggableButtonResult {
-  // Return values for Impl methods.
-  kDraggableButtonImplDidWork,
-  kDraggableButtonMixinCallSuper,
-
-  // Return values for Mixin methods.
-  kDraggableButtonMixinDidWork,
-  kDraggableButtonImplUseBase,
-};
-
-// Mixin Protocol //////////////////////////////////////////////////////////////
-
-// Buttons that make use of the below impl need to conform to this protocol.
-@protocol DraggableButtonMixin
-
-@required
-
-// Called when a drag should start. Implement this to do any pasteboard
-// manipulation and begin the drag, usually with
-// -dragImage:at:offset:event:. Subclasses must call one of the blocking
-// -drag* methods of NSView when implementing this method.
-- (void)beginDrag:(NSEvent*)dragEvent;
-
-@optional
-
-// Called if the actsOnMouseDown property is set. Fires the button's action and
-// tracks the click.
-- (DraggableButtonResult)performMouseDownAction:(NSEvent*)theEvent;
-
-// Implement if you want to do any extra work on mouseUp, after a mouseDown
-// action has already fired.
-- (DraggableButtonResult)secondaryMouseUpAction:(BOOL)wasInside;
-
-// Resets the draggable state of the button after dragging is finished. This is
-// called by DraggableButtonImpl when the beginDrag call returns.
-- (DraggableButtonResult)endDrag;
-
-// Decides whether to treat the click as a cue to start dragging, or to instead
-// call the mouseDown/mouseUp handler as appropriate.  Implement if you want to
-// do something tricky when making the decision.
-- (DraggableButtonResult)deltaIndicatesDragStartWithXDelta:(float)xDelta
-    yDelta:(float)yDelta
-    xHysteresis:(float)xHysteresis
-    yHysteresis:(float)yHysteresis
-    indicates:(BOOL*)result;
-
-// Decides if there is enough information to stop tracking the mouse.
-// It's deltaIndicatesDragStartWithXDelta, however, that decides whether it's a
-// drag or not. Implement if you want to do something tricky when making the
-// decision.
-- (DraggableButtonResult)deltaIndicatesConclusionReachedWithXDelta:(float)xDelta
-    yDelta:(float)yDelta
-    xHysteresis:(float)xHysteresis
-    yHysteresis:(float)yHysteresis
-    indicates:(BOOL*)result;
-
-@end
-
-// Impl Interface //////////////////////////////////////////////////////////////
-
-// Implementation of the drag and drop logic. NSButton Mixin subclasses should
-// forward their mouse events to this, which in turn will call out to the mixin
-// protocol.
-@interface DraggableButtonImpl : NSObject {
- @private
-  // The button for which this class is implementing stuff.
-  NSButton<DraggableButtonMixin>* button_;
-
-  // Is this a draggable type of button?
-  BOOL draggable_;
-
-  // Has the action already fired for this click?
-  BOOL actionHasFired_;
-
-  // Does button action happen on mouse down when possible?
-  BOOL actsOnMouseDown_;
-
-  NSTimeInterval durationMouseWasDown_;
-  NSTimeInterval whenMouseDown_;
-}
-
-@property(nonatomic) NSTimeInterval durationMouseWasDown;
-
-@property(nonatomic) NSTimeInterval whenMouseDown;
-
-// Whether the action has already fired for this click.
-@property(nonatomic) BOOL actionHasFired;
-
-// Enable or disable dragability for special buttons like "Other Bookmarks".
-@property(nonatomic) BOOL draggable;
-
-// If it has a popup menu, for example, we want to perform the action on mouse
-// down, if possible (as long as user still gets chance to drag, if
-// appropriate).
-@property(nonatomic) BOOL actsOnMouseDown;
-
-// Designated initializer.
-- (id)initWithButton:(NSButton<DraggableButtonMixin>*)button;
-
-// NSResponder implementation. NSButton subclasses should invoke these methods
-// and only call super if the return value indicates such.
-- (DraggableButtonResult)mouseDownImpl:(NSEvent*)event;
-- (DraggableButtonResult)mouseUpImpl:(NSEvent*)event;
-
-@end
-
-#endif  // CHROME_BROWSER_UI_COCOA_DRAGGABLE_BUTTON_MIXIN_H_
diff --git a/chrome/browser/ui/cocoa/draggable_button_mixin.mm b/chrome/browser/ui/cocoa/draggable_button_mixin.mm
deleted file mode 100644
index 986f5e9..0000000
--- a/chrome/browser/ui/cocoa/draggable_button_mixin.mm
+++ /dev/null
@@ -1,284 +0,0 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#import "chrome/browser/ui/cocoa/draggable_button.h"
-
-#include <cmath>
-
-#include "base/logging.h"
-
-// Code taken from <http://codereview.chromium.org/180036/diff/3001/3004>.
-// TODO(viettrungluu): Do we want common, standard code for drag hysteresis?
-const CGFloat kWebDragStartHysteresisX = 5.0;
-const CGFloat kWebDragStartHysteresisY = 5.0;
-const CGFloat kDragExpirationTimeout = 0.45;
-
-// Private /////////////////////////////////////////////////////////////////////
-
-@interface DraggableButtonImpl (Private)
-
-- (BOOL)deltaIndicatesDragStartWithXDelta:(float)xDelta
-                                   yDelta:(float)yDelta
-                              xHysteresis:(float)xHysteresis
-                              yHysteresis:(float)yHysteresis;
-- (BOOL)deltaIndicatesConclusionReachedWithXDelta:(float)xDelta
-                                           yDelta:(float)yDelta
-                                      xHysteresis:(float)xHysteresis
-                                      yHysteresis:(float)yHysteresis;
-- (void)performMouseDownAction:(NSEvent*)theEvent;
-- (void)endDrag;
-- (BOOL)dragShouldBeginFromMouseDown:(NSEvent*)mouseDownEvent
-                      withExpiration:(NSDate*)expiration;
-- (BOOL)dragShouldBeginFromMouseDown:(NSEvent*)mouseDownEvent
-                      withExpiration:(NSDate*)expiration
-                         xHysteresis:(float)xHysteresis
-                         yHysteresis:(float)yHysteresis;
-
-@end
-
-// Implementation //////////////////////////////////////////////////////////////
-
-@implementation DraggableButtonImpl
-
-@synthesize draggable = draggable_;
-@synthesize actsOnMouseDown = actsOnMouseDown_;
-@synthesize durationMouseWasDown = durationMouseWasDown_;
-@synthesize actionHasFired = actionHasFired_;
-@synthesize whenMouseDown = whenMouseDown_;
-
-- (id)initWithButton:(NSButton<DraggableButtonMixin>*)button {
-  if ((self = [super init])) {
-    button_ = button;
-    draggable_ = YES;
-    actsOnMouseDown_ = NO;
-    actionHasFired_ = NO;
-  }
-  return self;
-}
-
-// NSButton/NSResponder Implementations ////////////////////////////////////////
-
-- (DraggableButtonResult)mouseUpImpl:(NSEvent*)theEvent {
-  durationMouseWasDown_ = [theEvent timestamp] - whenMouseDown_;
-
-  if (actionHasFired_)
-    return kDraggableButtonImplDidWork;
-
-  if (!draggable_)
-    return kDraggableButtonMixinCallSuper;
-
-  // There are non-drag cases where a |-mouseUp:| may happen (e.g. mouse-down,
-  // cmd-tab to another application, move mouse, mouse-up), so check.
-  NSPoint viewLocal = [button_ convertPoint:[theEvent locationInWindow]
-                                   fromView:[[button_ window] contentView]];
-  if (NSPointInRect(viewLocal, [button_ bounds]))
-    [button_ performClick:self];
-
-  return kDraggableButtonImplDidWork;
-}
-
-// Mimic "begin a click" operation visually.  Do NOT follow through with normal
-// button event handling.
-- (DraggableButtonResult)mouseDownImpl:(NSEvent*)theEvent {
-  [[NSCursor arrowCursor] set];
-
-  whenMouseDown_ = [theEvent timestamp];
-  actionHasFired_ = NO;
-
-  if (draggable_) {
-    NSDate* date = [NSDate dateWithTimeIntervalSinceNow:kDragExpirationTimeout];
-    if ([self dragShouldBeginFromMouseDown:theEvent
-                            withExpiration:date]) {
-      [button_ beginDrag:theEvent];
-      [self endDrag];
-    } else {
-      if (actsOnMouseDown_) {
-        [self performMouseDownAction:theEvent];
-        return kDraggableButtonImplDidWork;
-      } else {
-        return kDraggableButtonMixinCallSuper;
-      }
-    }
-  } else {
-    if (actsOnMouseDown_) {
-      [self performMouseDownAction:theEvent];
-      return kDraggableButtonImplDidWork;
-    } else {
-      return kDraggableButtonMixinCallSuper;
-    }
-  }
-
-  return kDraggableButtonImplDidWork;
-}
-
-// Idempotent Helpers //////////////////////////////////////////////////////////
-
-- (BOOL)deltaIndicatesDragStartWithXDelta:(float)xDelta
-                                   yDelta:(float)yDelta
-                              xHysteresis:(float)xHysteresis
-                              yHysteresis:(float)yHysteresis {
-  if ([button_ respondsToSelector:@selector(deltaIndicatesDragStartWithXDelta:
-                                            yDelta:
-                                            xHysteresis:
-                                            yHysteresis:
-                                            indicates:)]) {
-    BOOL indicates = NO;
-    DraggableButtonResult result = [button_
-        deltaIndicatesDragStartWithXDelta:xDelta
-        yDelta:yDelta
-        xHysteresis:xHysteresis
-        yHysteresis:yHysteresis
-        indicates:&indicates];
-    if (result != kDraggableButtonImplUseBase)
-      return indicates;
-  }
-  return (std::abs(xDelta) >= xHysteresis) || (std::abs(yDelta) >= yHysteresis);
-}
-
-- (BOOL)deltaIndicatesConclusionReachedWithXDelta:(float)xDelta
-                                           yDelta:(float)yDelta
-                                      xHysteresis:(float)xHysteresis
-                                      yHysteresis:(float)yHysteresis {
-  if ([button_ respondsToSelector:
-          @selector(deltaIndicatesConclusionReachedWithXDelta:
-                    yDelta:
-                    xHysteresis:
-                    yHysteresis:
-                    indicates:)]) {
-    BOOL indicates = NO;
-    DraggableButtonResult result = [button_
-        deltaIndicatesConclusionReachedWithXDelta:xDelta
-        yDelta:yDelta
-        xHysteresis:xHysteresis
-        yHysteresis:yHysteresis
-        indicates:&indicates];
-    if (result != kDraggableButtonImplUseBase)
-      return indicates;
-  }
-  return (std::abs(xDelta) >= xHysteresis) || (std::abs(yDelta) >= yHysteresis);
-}
-
-- (BOOL)dragShouldBeginFromMouseDown:(NSEvent*)mouseDownEvent
-                      withExpiration:(NSDate*)expiration {
-  return [self dragShouldBeginFromMouseDown:mouseDownEvent
-                             withExpiration:expiration
-                                xHysteresis:kWebDragStartHysteresisX
-                                yHysteresis:kWebDragStartHysteresisY];
-}
-
-// Implementation Details //////////////////////////////////////////////////////
-
-// Determine whether a mouse down should turn into a drag; started as copy of
-// NSTableView code.
-- (BOOL)dragShouldBeginFromMouseDown:(NSEvent*)mouseDownEvent
-                      withExpiration:(NSDate*)expiration
-                         xHysteresis:(float)xHysteresis
-                         yHysteresis:(float)yHysteresis {
-  if ([mouseDownEvent type] != NSLeftMouseDown) {
-    return NO;
-  }
-
-  NSEvent* nextEvent = nil;
-  NSEvent* firstEvent = nil;
-  NSEvent* dragEvent = nil;
-  NSEvent* mouseUp = nil;
-  BOOL dragIt = NO;
-
-  while ((nextEvent = [[button_ window]
-      nextEventMatchingMask:NSLeftMouseUpMask | NSLeftMouseDraggedMask
-                  untilDate:expiration
-                     inMode:NSEventTrackingRunLoopMode
-                    dequeue:YES]) != nil) {
-    if (firstEvent == nil) {
-      firstEvent = nextEvent;
-    }
-    if ([nextEvent type] == NSLeftMouseDragged) {
-      float deltax = [nextEvent locationInWindow].x -
-          [mouseDownEvent locationInWindow].x;
-      float deltay = [nextEvent locationInWindow].y -
-          [mouseDownEvent locationInWindow].y;
-      dragEvent = nextEvent;
-      if ([self deltaIndicatesConclusionReachedWithXDelta:deltax
-                                                   yDelta:deltay
-                                              xHysteresis:xHysteresis
-                                              yHysteresis:yHysteresis]) {
-        dragIt = [self deltaIndicatesDragStartWithXDelta:deltax
-                                                  yDelta:deltay
-                                             xHysteresis:xHysteresis
-                                             yHysteresis:yHysteresis];
-        break;
-      }
-    } else if ([nextEvent type] == NSLeftMouseUp) {
-      mouseUp = nextEvent;
-      break;
-    }
-  }
-
-  // Since we've been dequeuing the events (If we don't, we'll never see
-  // the mouse up...), we need to push some of the events back on.
-  // It makes sense to put the first and last drag events and the mouse
-  // up if there was one.
-  if (mouseUp != nil) {
-    [NSApp postEvent:mouseUp atStart:YES];
-  }
-  if (dragEvent != nil) {
-    [NSApp postEvent:dragEvent atStart:YES];
-  }
-  if (firstEvent != mouseUp && firstEvent != dragEvent) {
-    [NSApp postEvent:firstEvent atStart:YES];
-  }
-
-  return dragIt;
-}
-
-- (void)secondaryMouseUpAction:(BOOL)wasInside {
-  if ([button_ respondsToSelector:_cmd])
-    [button_ secondaryMouseUpAction:wasInside];
-
-  // No actual implementation yet.
-}
-
-- (void)performMouseDownAction:(NSEvent*)event {
-  if ([button_ respondsToSelector:_cmd] &&
-      [button_ performMouseDownAction:event] != kDraggableButtonImplUseBase) {
-      return;
-  }
-
-  int eventMask = NSLeftMouseUpMask;
-
-  [[button_ target] performSelector:[button_ action] withObject:self];
-  actionHasFired_ = YES;
-
-  while (1) {
-    event = [[button_ window] nextEventMatchingMask:eventMask];
-    if (!event)
-      continue;
-    NSPoint mouseLoc = [button_ convertPoint:[event locationInWindow]
-                                    fromView:nil];
-    BOOL isInside = [button_ mouse:mouseLoc inRect:[button_ bounds]];
-    [button_ highlight:isInside];
-
-    switch ([event type]) {
-      case NSLeftMouseUp:
-        durationMouseWasDown_ = [event timestamp] - whenMouseDown_;
-        [self secondaryMouseUpAction:isInside];
-        break;
-      default:
-        // Ignore any other kind of event.
-        break;
-    }
-  }
-
-  [button_ highlight:NO];
-}
-
-- (void)endDrag {
-  if ([button_ respondsToSelector:_cmd] &&
-      [button_ endDrag] != kDraggableButtonImplUseBase) {
-    return;
-  }
-  [button_ highlight:NO];
-}
-
-@end
diff --git a/chrome/browser/ui/cocoa/draggable_button_unittest.mm b/chrome/browser/ui/cocoa/draggable_button_unittest.mm
deleted file mode 100644
index 1918373..0000000
--- a/chrome/browser/ui/cocoa/draggable_button_unittest.mm
+++ /dev/null
@@ -1,142 +0,0 @@
-// Copyright (c) 2011 The Chromium 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/mac/scoped_nsobject.h"
-#import "chrome/browser/ui/cocoa/draggable_button.h"
-#import "chrome/browser/ui/cocoa/test/cocoa_test_helper.h"
-#include "testing/gtest/include/gtest/gtest.h"
-#include "testing/platform_test.h"
-#import "ui/events/test/cocoa_test_event_utils.h"
-
-@interface TestableDraggableButton : DraggableButton {
-  NSUInteger dragCount_;
-  BOOL wasTriggered_;
-}
-- (void)trigger:(id)sender;
-- (BOOL)wasTriggered;
-- (NSUInteger)dragCount;
-@end
-
-@implementation TestableDraggableButton
-- (id)initWithFrame:(NSRect)frame {
-  if ((self = [super initWithFrame:frame])) {
-    dragCount_ = 0;
-    wasTriggered_ = NO;
-  }
-  return self;
-}
-- (void)beginDrag:(NSEvent*)theEvent {
-  dragCount_++;
-}
-
-- (void)trigger:(id)sender {
-  wasTriggered_ = YES;
-}
-
-- (BOOL)wasTriggered {
-  return wasTriggered_;
-}
-
-- (NSUInteger)dragCount {
-  return dragCount_;
-}
-@end
-
-class DraggableButtonTest : public CocoaTest {};
-
-// Make sure the basic case of "click" still works.
-TEST_F(DraggableButtonTest, DownUp) {
-  base::scoped_nsobject<TestableDraggableButton> button(
-      [[TestableDraggableButton alloc]
-          initWithFrame:NSMakeRect(0, 0, 500, 500)]);
-  [[test_window() contentView] addSubview:button.get()];
-  [button setTarget:button];
-  [button setAction:@selector(trigger:)];
-  EXPECT_FALSE([button wasTriggered]);
-  NSEvent* downEvent =
-      cocoa_test_event_utils::MouseEventAtPoint(NSMakePoint(10,10),
-                                                NSLeftMouseDown,
-                                                0);
-  NSEvent* upEvent =
-      cocoa_test_event_utils::MouseEventAtPoint(NSMakePoint(10,10),
-                                                NSLeftMouseUp,
-                                                0);
-  [NSApp postEvent:upEvent atStart:YES];
-  [test_window() sendEvent:downEvent];
-  EXPECT_TRUE([button wasTriggered]);  // confirms target/action fired
-}
-
-TEST_F(DraggableButtonTest, DraggableHysteresis) {
-  base::scoped_nsobject<TestableDraggableButton> button(
-      [[TestableDraggableButton alloc]
-          initWithFrame:NSMakeRect(0, 0, 500, 500)]);
-  [[test_window() contentView] addSubview:button.get()];
-  NSEvent* downEvent =
-      cocoa_test_event_utils::MouseEventAtPoint(NSMakePoint(10,10),
-                                                NSLeftMouseDown,
-                                                0);
-  NSEvent* firstMove =
-      cocoa_test_event_utils::MouseEventAtPoint(NSMakePoint(11,11),
-                                                NSLeftMouseDragged,
-                                                0);
-  NSEvent* firstUpEvent =
-      cocoa_test_event_utils::MouseEventAtPoint(NSMakePoint(11,11),
-                                                NSLeftMouseUp,
-                                                0);
-  NSEvent* secondMove =
-      cocoa_test_event_utils::MouseEventAtPoint(NSMakePoint(100,100),
-                                                NSLeftMouseDragged,
-                                                0);
-  NSEvent* secondUpEvent =
-      cocoa_test_event_utils::MouseEventAtPoint(NSMakePoint(100,100),
-                                                NSLeftMouseUp,
-                                                0);
-  // If the mouse only moves one pixel in each direction
-  // it should not cause a drag.
-  [NSApp postEvent:firstUpEvent atStart:YES];
-  [NSApp postEvent:firstMove atStart:YES];
-  [button mouseDown:downEvent];
-  EXPECT_EQ(0U, [button dragCount]);
-
-  // If the mouse moves > 5 pixels in either direciton
-  // it should cause a drag.
-  [NSApp postEvent:secondUpEvent atStart:YES];
-  [NSApp postEvent:secondMove atStart:YES];
-  [button mouseDown:downEvent];
-  EXPECT_EQ(1U, [button dragCount]);
-}
-
-TEST_F(DraggableButtonTest, ResetState) {
-  base::scoped_nsobject<TestableDraggableButton> button(
-      [[TestableDraggableButton alloc]
-          initWithFrame:NSMakeRect(0, 0, 500, 500)]);
-  [[test_window() contentView] addSubview:button.get()];
-  NSEvent* downEvent =
-      cocoa_test_event_utils::MouseEventAtPoint(NSMakePoint(10,10),
-                                                NSLeftMouseDown,
-                                                0);
-  NSEvent* moveEvent =
-      cocoa_test_event_utils::MouseEventAtPoint(NSMakePoint(100,100),
-                                                NSLeftMouseDragged,
-                                                0);
-  NSEvent* upEvent =
-      cocoa_test_event_utils::MouseEventAtPoint(NSMakePoint(100,100),
-                                                NSLeftMouseUp,
-                                                0);
-  // If the mouse moves > 5 pixels in either direciton it should cause a drag.
-  [NSApp postEvent:upEvent atStart:YES];
-  [NSApp postEvent:moveEvent atStart:YES];
-  [button mouseDown:downEvent];
-
-  // The button should not be highlighted after the drag finishes.
-  EXPECT_FALSE([[button cell] isHighlighted]);
-  EXPECT_EQ(1U, [button dragCount]);
-
-  // We should be able to initiate another drag immediately after the first one.
-  [NSApp postEvent:upEvent atStart:YES];
-  [NSApp postEvent:moveEvent atStart:YES];
-  [button mouseDown:downEvent];
-  EXPECT_EQ(2U, [button dragCount]);
-  EXPECT_FALSE([[button cell] isHighlighted]);
-}
diff --git a/chrome/browser/ui/cocoa/extensions/browser_action_button.h b/chrome/browser/ui/cocoa/extensions/browser_action_button.h
deleted file mode 100644
index de2b806..0000000
--- a/chrome/browser/ui/cocoa/extensions/browser_action_button.h
+++ /dev/null
@@ -1,117 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef CHROME_BROWSER_UI_COCOA_EXTENSIONS_BROWSER_ACTION_BUTTON_H_
-#define CHROME_BROWSER_UI_COCOA_EXTENSIONS_BROWSER_ACTION_BUTTON_H_
-
-#import <Cocoa/Cocoa.h>
-
-#include <memory>
-
-#import "base/mac/scoped_nsobject.h"
-#import "chrome/browser/ui/cocoa/image_button_cell.h"
-#import "chrome/browser/ui/cocoa/toolbar/toolbar_button_cocoa.h"
-
-@class BrowserActionsController;
-@class MenuControllerCocoa;
-class ToolbarActionViewController;
-class ToolbarActionViewDelegateBridge;
-
-// Fired on each drag event while the user is moving the button.
-extern NSString* const kBrowserActionButtonDraggingNotification;
-// Fired when the user drops the button.
-extern NSString* const kBrowserActionButtonDragEndNotification;
-
-@interface BrowserActionButton : ToolbarButtonCocoa<NSMenuDelegate> {
- @private
-  // Used to move the button and query whether a button is currently animating.
-  base::scoped_nsobject<NSViewAnimation> moveAnimation_;
-
-  // The controller that handles most non-view logic.
-  ToolbarActionViewController* viewController_;
-
-  // The bridge between the view controller and this object.
-  std::unique_ptr<ToolbarActionViewDelegateBridge> viewControllerDelegate_;
-
-  // The context menu controller.
-  base::scoped_nsobject<MenuControllerCocoa> contextMenuController_;
-
-  // A substitute context menu to use in testing. We need this because normally
-  // menu code is blocking, making it difficult to test.
-  NSMenu* testContextMenu_;
-
-  // The controller for the browser actions bar that owns this button. Weak.
-  BrowserActionsController* browserActionsController_;
-
-  // Whether the button is currently being dragged.
-  BOOL isBeingDragged_;
-
-  // Drag events could be intercepted by other buttons, so to make sure that
-  // this is the only button moving if it ends up being dragged. This is set to
-  // YES upon |mouseDown:|.
-  BOOL dragCouldStart_;
-
-  // If a drag is not currently in progress, this is the point where the mouse
-  // down event occurred, and is used to prevent a drag from starting until it
-  // moves at least kMinimumDragDistance. Once a drag begins, this is the point
-  // at which the drag actually started.
-  NSPoint dragStartPoint_;
-}
-
-// Init the button with the frame. Does not own either |view_controller| or
-// |controller|.
-- (id)initWithFrame:(NSRect)frame
-     viewController:(ToolbarActionViewController*)viewController
-         controller:(BrowserActionsController*)controller;
-
-- (void)setFrame:(NSRect)frameRect animate:(BOOL)animate;
-
-- (void)updateState;
-
-// Called when the button is removed from the toolbar and will soon be deleted.
-- (void)onRemoved;
-
-- (BOOL)isAnimating;
-
-// Stops any currently running animation. The button's frame is unchanged.
-- (void)stopAnimation;
-
-// Returns the frame the button will occupy once animation is complete, or its
-// current frame if it is not animating.
-- (NSRect)frameAfterAnimation;
-
-- (ToolbarActionViewController*)viewController;
-
-// Returns a pointer to an autoreleased NSImage with the badge, shadow and
-// cell image drawn into it.
-- (NSImage*)compositedImage;
-
-// Shows the context menu for the action.
-- (void)showContextMenu;
-
-@property(readonly, nonatomic) BOOL isBeingDragged;
-
-@end
-
-@interface BrowserActionButton(TestingAPI)
-// Sets a context menu to use for testing purposes.
-- (void)setTestContextMenu:(NSMenu*)testContextMenu;
-// Returns true if the action wants to run.
-- (BOOL)wantsToRunForTesting;
-// Returns true if the cell is highlighted.
-- (BOOL)isHighlighted;
-@end
-
-@interface BrowserActionCell : ImageButtonCell {
- @private
-  // The controller for the browser actions bar that owns the button. Weak.
-  BrowserActionsController* browserActionsController_;
-}
-
-@property(assign, nonatomic)
-    BrowserActionsController* browserActionsController;
-
-@end
-
-#endif  // CHROME_BROWSER_UI_COCOA_EXTENSIONS_BROWSER_ACTION_BUTTON_H_
diff --git a/chrome/browser/ui/cocoa/extensions/browser_action_button.mm b/chrome/browser/ui/cocoa/extensions/browser_action_button.mm
deleted file mode 100644
index 6d9b4a6..0000000
--- a/chrome/browser/ui/cocoa/extensions/browser_action_button.mm
+++ /dev/null
@@ -1,590 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#import "chrome/browser/ui/cocoa/extensions/browser_action_button.h"
-
-#include <algorithm>
-#include <cmath>
-
-#include "base/logging.h"
-#include "base/mac/foundation_util.h"
-#include "base/macros.h"
-#include "base/memory/weak_ptr.h"
-#include "base/strings/sys_string_conversions.h"
-#include "base/time/time.h"
-#include "chrome/browser/profiles/profile.h"
-#include "chrome/browser/ui/browser.h"
-#include "chrome/browser/ui/browser_window.h"
-#import "chrome/browser/ui/cocoa/browser_window_controller.h"
-#import "chrome/browser/ui/cocoa/extensions/browser_actions_controller.h"
-#import "chrome/browser/ui/cocoa/themed_window.h"
-#import "chrome/browser/ui/cocoa/toolbar/toolbar_controller.h"
-#include "chrome/browser/ui/toolbar/toolbar_action_view_controller.h"
-#include "chrome/browser/ui/toolbar/toolbar_action_view_delegate.h"
-#include "chrome/browser/ui/toolbar/toolbar_actions_bar.h"
-#include "skia/ext/skia_utils_mac.h"
-#import "third_party/google_toolbox_for_mac/src/AppKit/GTMNSAnimation+Duration.h"
-#import "ui/base/cocoa/menu_controller.h"
-#include "ui/base/material_design/material_design_controller.h"
-#include "ui/gfx/canvas_skia_paint.h"
-#include "ui/gfx/geometry/rect.h"
-#include "ui/gfx/image/image.h"
-#include "ui/gfx/scoped_ns_graphics_context_save_gstate_mac.h"
-
-NSString* const kBrowserActionButtonDraggingNotification =
-    @"BrowserActionButtonDraggingNotification";
-NSString* const kBrowserActionButtonDragEndNotification =
-    @"BrowserActionButtonDragEndNotification";
-
-static const CGFloat kBrowserActionButtonAnimationDuration = 0.2;
-static const CGFloat kBrowserActionButtonMinimumDragDistance = 5;
-
-// Mirrors ui/views/mouse_constants.h for suppressing popup activation.
-static const int kBrowserActionButtonMinimumMsBetweenCloseOpenPopup = 100;
-
-@interface BrowserActionButton ()
-- (void)endDrag;
-- (void)updateHighlightedState;
-- (MenuControllerCocoa*)contextMenuController;
-- (void)menuDidClose:(NSNotification*)notification;
-@end
-
-// A class to bridge the ToolbarActionViewController and the
-// BrowserActionButton.
-class ToolbarActionViewDelegateBridge : public ToolbarActionViewDelegate {
- public:
-  ToolbarActionViewDelegateBridge(BrowserActionButton* owner,
-                                  BrowserActionsController* controller,
-                                  ToolbarActionViewController* viewController);
-  ~ToolbarActionViewDelegateBridge() override;
-
-  // Shows the context menu for the owning action.
-  void ShowContextMenu();
-
-  bool user_shown_popup_visible() const { return user_shown_popup_visible_; }
-
-  bool CanShowPopup() const {
-    // If the user clicks on the browser action button to close the bubble,
-    // don't show the next popup too soon on the mouse button up.
-    base::TimeDelta delta = base::TimeTicks::Now() - popup_closed_time_;
-    return delta.InMilliseconds() >=
-           kBrowserActionButtonMinimumMsBetweenCloseOpenPopup;
-  }
-
- private:
-  // ToolbarActionViewDelegate:
-  content::WebContents* GetCurrentWebContents() const override;
-  void UpdateState() override;
-  bool IsMenuRunning() const override;
-  void OnPopupShown(bool by_user) override;
-  void OnPopupClosed() override;
-
-  // A helper method to implement showing the context menu.
-  void DoShowContextMenu();
-
-  // Tracks when the menu was closed so that the button can ignore the incoming
-  // mouse button up event if its too soon. This simulates the same behavior
-  // provided by the views toolkit MenuButton Pressed Locked tracking state.
-  base::TimeTicks popup_closed_time_;
-
-  // The owning button. Weak.
-  BrowserActionButton* owner_;
-
-  // The BrowserActionsController that owns the button. Weak.
-  BrowserActionsController* controller_;
-
-  // The ToolbarActionViewController for which this is the delegate. Weak.
-  ToolbarActionViewController* viewController_;
-
-  // Whether or not a popup is visible from a user action.
-  bool user_shown_popup_visible_;
-
-  // Whether or not a context menu is running (or is in the process of opening).
-  bool contextMenuRunning_;
-
-  base::WeakPtrFactory<ToolbarActionViewDelegateBridge> weakFactory_;
-
-  DISALLOW_COPY_AND_ASSIGN(ToolbarActionViewDelegateBridge);
-};
-
-ToolbarActionViewDelegateBridge::ToolbarActionViewDelegateBridge(
-    BrowserActionButton* owner,
-    BrowserActionsController* controller,
-    ToolbarActionViewController* viewController)
-    : owner_(owner),
-      controller_(controller),
-      viewController_(viewController),
-      user_shown_popup_visible_(false),
-      contextMenuRunning_(false),
-      weakFactory_(this) {
-  viewController_->SetDelegate(this);
-}
-
-ToolbarActionViewDelegateBridge::~ToolbarActionViewDelegateBridge() {
-  viewController_->SetDelegate(nullptr);
-}
-
-void ToolbarActionViewDelegateBridge::ShowContextMenu() {
-  DCHECK(![controller_ toolbarActionsBar]->in_overflow_mode());
-  if ([owner_ superview]) {
-    // If the button is already visible on the toolbar, we can skip ahead to
-    // just showing the menu.
-    DoShowContextMenu();
-    return;
-  }
-
-  // Otherwise, we have to slide the button out.
-  contextMenuRunning_ = true;
-
-  [controller_ toolbarActionsBar]->PopOutAction(
-      viewController_,
-      false,
-      base::Bind(&ToolbarActionViewDelegateBridge::DoShowContextMenu,
-                 weakFactory_.GetWeakPtr()));
-}
-
-content::WebContents* ToolbarActionViewDelegateBridge::GetCurrentWebContents()
-    const {
-  return [controller_ currentWebContents];
-}
-
-void ToolbarActionViewDelegateBridge::UpdateState() {
-  [owner_ updateState];
-}
-
-bool ToolbarActionViewDelegateBridge::IsMenuRunning() const {
-  MenuControllerCocoa* menuController = [owner_ contextMenuController];
-  return contextMenuRunning_ || (menuController && [menuController isMenuOpen]);
-}
-
-void ToolbarActionViewDelegateBridge::OnPopupShown(bool by_user) {
-  if (by_user)
-    user_shown_popup_visible_ = true;
-  [owner_ updateHighlightedState];
-}
-
-void ToolbarActionViewDelegateBridge::OnPopupClosed() {
-  popup_closed_time_ = base::TimeTicks::Now();
-  user_shown_popup_visible_ = false;
-  [owner_ updateHighlightedState];
-}
-
-void ToolbarActionViewDelegateBridge::DoShowContextMenu() {
-  // The point the menu shows matches that of the normal app menu - that is, the
-  // right-left most corner of the menu is left-aligned with the app button,
-  // and the menu is displayed "a little bit" lower. It would be nice to be able
-  // to avoid the magic '5' here, but since it's built into Cocoa, it's not too
-  // hopeful.
-  NSPoint menuPoint = NSMakePoint(0, NSHeight([owner_ bounds]) + 5);
-  base::WeakPtr<ToolbarActionViewDelegateBridge> weakThis =
-      weakFactory_.GetWeakPtr();
-  [[owner_ cell] setHighlighted:YES];
-  [[owner_ menu] popUpMenuPositioningItem:nil
-                               atLocation:menuPoint
-                                   inView:owner_];
-  // Since menus run in a blocking way, it's possible that the extension was
-  // unloaded since this point.
-  if (!weakThis)
-    return;
-  [[owner_ cell] setHighlighted:NO];
-  contextMenuRunning_ = false;
-}
-
-@implementation BrowserActionButton
-
-@synthesize isBeingDragged = isBeingDragged_;
-
-+ (Class)cellClass {
-  return [BrowserActionCell class];
-}
-
-- (id)initWithFrame:(NSRect)frame
-     viewController:(ToolbarActionViewController*)viewController
-         controller:(BrowserActionsController*)controller {
-  if ((self = [super initWithFrame:frame])) {
-    BrowserActionCell* cell = [[[BrowserActionCell alloc] init] autorelease];
-    // [NSButton setCell:] warns to NOT use setCell: other than in the
-    // initializer of a control.  However, we are using a basic
-    // NSButton whose initializer does not take an NSCell as an
-    // object.  To honor the assumed semantics, we do nothing with
-    // NSButton between alloc/init and setCell:.
-    [self setCell:cell];
-
-    browserActionsController_ = controller;
-    viewController_ = viewController;
-    viewControllerDelegate_.reset(
-        new ToolbarActionViewDelegateBridge(self, controller, viewController));
-
-    [cell setBrowserActionsController:controller];
-    [cell
-        accessibilitySetOverrideValue:base::SysUTF16ToNSString(
-            viewController_->GetAccessibleName([controller currentWebContents]))
-        forAttribute:NSAccessibilityDescriptionAttribute];
-    [self setTitle:@""];
-    [self setButtonType:NSMomentaryChangeButton];
-    [self setShowsBorderOnlyWhileMouseInside:YES];
-
-    moveAnimation_.reset([[NSViewAnimation alloc] init]);
-    [moveAnimation_ gtm_setDuration:kBrowserActionButtonAnimationDuration
-                          eventMask:NSLeftMouseUpMask];
-    [moveAnimation_ setAnimationBlockingMode:NSAnimationNonblocking];
-
-    [self updateState];
-  }
-
-  return self;
-}
-
-- (BOOL)acceptsFirstResponder {
-  return YES;
-}
-
-- (void)rightMouseDown:(NSEvent*)theEvent {
-  // Cocoa doesn't allow menus-running-in-menus, so in order to show the
-  // context menu for an overflowed action, we close the app menu and show the
-  // context menu over the app menu (similar to what we do for popups).
-  // Let the main bar's button handle showing the context menu, since the app
-  // menu will close..
-  if ([browserActionsController_ isOverflow]) {
-    [browserActionsController_ mainButtonForId:viewController_->GetId()]->
-        viewControllerDelegate_->ShowContextMenu();
-  } else {
-    [super rightMouseDown:theEvent];
-  }
-}
-
-- (void)mouseDown:(NSEvent*)theEvent {
-  NSPoint location = [self convertPoint:[theEvent locationInWindow]
-                               fromView:nil];
-  // We don't allow dragging in the overflow container because mouse events
-  // don't work well in menus in Cocoa. Specifically, the minute the mouse
-  // leaves the view, the view stops receiving events. This is bad, because the
-  // mouse can leave the view in many ways (user moves the mouse fast, user
-  // tries to drag the icon to a non-applicable place, like outside the menu,
-  // etc). When the mouse leaves, we get no indication (no mouseUp), so we can't
-  // even handle that case - and are left in the middle of a drag. Instead, we
-  // have to simply disable dragging.
-  //
-  // NOTE(devlin): If we use a greedy event loop that consumes all incoming
-  // events (i.e. using [NSWindow nextEventMatchingMask]), we can make this
-  // work. The downside to that is that all other events are lost. Disable this
-  // for now, and revisit it at a later date.
-
-  if (NSPointInRect(location, [self bounds]) &&
-      ![browserActionsController_ isOverflow]) {
-    dragCouldStart_ = YES;
-    dragStartPoint_ = [self convertPoint:[theEvent locationInWindow]
-                                fromView:nil];
-    [self updateHighlightedState];
-  }
-}
-
-- (void)mouseDragged:(NSEvent*)theEvent {
-  if (!dragCouldStart_)
-    return;
-
-  NSPoint eventPoint = [theEvent locationInWindow];
-  if (!isBeingDragged_) {
-    // Don't initiate a drag until it moves at least
-    // kBrowserActionButtonMinimumDragDistance.
-    NSPoint dragStart = [self convertPoint:dragStartPoint_ toView:nil];
-    CGFloat dx = eventPoint.x - dragStart.x;
-    CGFloat dy = eventPoint.y - dragStart.y;
-    if (dx * dx + dy * dy < kBrowserActionButtonMinimumDragDistance *
-                                kBrowserActionButtonMinimumDragDistance)
-      return;
-
-    // The start of a drag. Position the button above all others.
-    [[self superview] addSubview:self positioned:NSWindowAbove relativeTo:nil];
-
-    // We reset the |dragStartPoint_| so that the mouse can always be in the
-    // same point along the button's x axis, and we avoid a "jump" when first
-    // starting to drag.
-    dragStartPoint_ = [self convertPoint:eventPoint fromView:nil];
-
-    isBeingDragged_ = YES;
-  }
-
-  NSRect buttonFrame = [self frame];
-  // The desired x is the current mouse point, minus the original offset of the
-  // mouse into the button.
-  NSPoint localPoint = [[self superview] convertPoint:eventPoint fromView:nil];
-  CGFloat desiredX = localPoint.x - dragStartPoint_.x;
-  // Clamp the button to be within its superview along the X-axis.
-  NSRect containerBounds = [[self superview] bounds];
-  desiredX = std::min(std::max(NSMinX(containerBounds), desiredX),
-                      NSMaxX(containerBounds) - NSWidth(buttonFrame));
-  buttonFrame.origin.x = desiredX;
-
-  // If the button is in the overflow menu, it could move along the y-axis, too.
-  if ([browserActionsController_ isOverflow]) {
-    CGFloat desiredY = localPoint.y - dragStartPoint_.y;
-    desiredY = std::min(std::max(NSMinY(containerBounds), desiredY),
-                        NSMaxY(containerBounds) - NSHeight(buttonFrame));
-    buttonFrame.origin.y = desiredY;
-  }
-
-  [self setFrame:buttonFrame];
-  [self setNeedsDisplay:YES];
-  [[NSNotificationCenter defaultCenter]
-      postNotificationName:kBrowserActionButtonDraggingNotification
-      object:self];
-}
-
-- (void)mouseUp:(NSEvent*)theEvent {
-  dragCouldStart_ = NO;
-  // There are non-drag cases where a mouseUp: may happen
-  // (e.g. mouse-down, cmd-tab to another application, move mouse,
-  // mouse-up).
-  NSPoint location = [self convertPoint:[theEvent locationInWindow]
-                               fromView:nil];
-  // Only perform the click if we didn't drag the button.
-  if (NSPointInRect(location, [self bounds]) && !isBeingDragged_) {
-    if (viewControllerDelegate_->CanShowPopup()) {
-      [self performClick:self];
-    }
-  } else {
-    // Make sure an ESC to end a drag doesn't trigger 2 endDrags.
-    if (isBeingDragged_) {
-      [self endDrag];
-    } else {
-      [super mouseUp:theEvent];
-    }
-  }
-  [self updateHighlightedState];
-}
-
-- (void)endDrag {
-  isBeingDragged_ = NO;
-  [[NSNotificationCenter defaultCenter]
-      postNotificationName:kBrowserActionButtonDragEndNotification object:self];
-}
-
-- (void)updateHighlightedState {
-  // The button's cell is highlighted if either the popup is showing by a user
-  // action, or the user is about to drag the button, unless the button is
-  // overflowed (in which case it is never highlighted).
-  if ([self superview] && ![browserActionsController_ isOverflow]) {
-    BOOL highlighted = viewControllerDelegate_->user_shown_popup_visible() ||
-        dragCouldStart_;
-    [[self cell] setHighlighted:highlighted];
-  } else {
-    [[self cell] setHighlighted:NO];
-  }
-}
-
-- (MenuControllerCocoa*)contextMenuController {
-  return contextMenuController_.get();
-}
-
-- (void)menuDidClose:(NSNotification*)notification {
-  viewController_->OnContextMenuClosed();
-}
-
-- (void)setFrame:(NSRect)frameRect animate:(BOOL)animate {
-  if (!animate) {
-    [self setFrame:frameRect];
-  } else {
-    if ([moveAnimation_ isAnimating])
-      [moveAnimation_ stopAnimation];
-
-    NSDictionary* animationDictionary = @{
-      NSViewAnimationTargetKey : self,
-      NSViewAnimationStartFrameKey : [NSValue valueWithRect:[self frame]],
-      NSViewAnimationEndFrameKey : [NSValue valueWithRect:frameRect]
-    };
-    [moveAnimation_ setViewAnimations: @[ animationDictionary ]];
-    [moveAnimation_ startAnimation];
-  }
-}
-
-- (void)updateState {
-  content::WebContents* webContents =
-      [browserActionsController_ currentWebContents];
-  if (!webContents)
-    return;
-
-  base::string16 tooltip = viewController_->GetTooltip(webContents);
-  [self setToolTip:(tooltip.empty() ? nil : base::SysUTF16ToNSString(tooltip))];
-
-  gfx::Image image =
-      viewController_->GetIcon(webContents, gfx::Size([self frame].size));
-
-  if (!image.IsEmpty())
-    [self setImage:image.ToNSImage()];
-
-  BOOL enabled = viewController_->IsEnabled(webContents) ||
-                 viewController_->DisabledClickOpensMenu();
-  [self setEnabled:enabled];
-
-  [self setNeedsDisplay:YES];
-}
-
-- (void)onRemoved {
-  // The button is being removed from the toolbar, and the backing controller
-  // will also be removed. Destroy the delegate.
-  // We only need to do this because in Cocoa's memory management, removing the
-  // button from the toolbar doesn't synchronously dealloc it.
-  viewControllerDelegate_.reset();
-  // Also reset the context menu, since it has a dependency on the backing
-  // controller (which owns its model).
-  contextMenuController_.reset();
-  // Remove any lingering observations.
-  [[NSNotificationCenter defaultCenter] removeObserver:self];
-}
-
-- (BOOL)isAnimating {
-  return [moveAnimation_ isAnimating];
-}
-
-- (void)stopAnimation {
-  // Stopping an in-progress NSViewAnimation sets the view's frame to the end
-  // frame of the animation. We want animation to stop in-place, so re-set the
-  // frame to what it is currently.
-  NSRect frame = [self frame];
-  if ([moveAnimation_ isAnimating])
-    [moveAnimation_ stopAnimation];
-  [self setFrame:frame];
-}
-
-- (NSRect)frameAfterAnimation {
-  if ([moveAnimation_ isAnimating]) {
-    NSRect endFrame = [[[[moveAnimation_ viewAnimations] objectAtIndex:0]
-        valueForKey:NSViewAnimationEndFrameKey] rectValue];
-    return endFrame;
-  } else {
-    return [self frame];
-  }
-}
-
-- (ToolbarActionViewController*)viewController {
-  return viewController_;
-}
-
-- (NSImage*)compositedImage {
-  NSRect bounds = [self bounds];
-  NSImage* image = [[[NSImage alloc] initWithSize:bounds.size] autorelease];
-  [image lockFocus];
-
-  [[NSColor clearColor] set];
-  NSRectFill(bounds);
-
-  NSImage* actionImage = [self image];
-  const NSSize imageSize = [actionImage size];
-  const NSRect imageRect =
-      NSMakeRect(std::floor((NSWidth(bounds) - imageSize.width) / 2.0),
-                 std::floor((NSHeight(bounds) - imageSize.height) / 2.0),
-                 imageSize.width, imageSize.height);
-  [actionImage drawInRect:imageRect
-                 fromRect:NSZeroRect
-                operation:NSCompositeSourceOver
-                 fraction:1.0
-           respectFlipped:YES
-                    hints:nil];
-
-  [image unlockFocus];
-  return image;
-}
-
-- (void)showContextMenu {
-  viewControllerDelegate_->ShowContextMenu();
-}
-
-- (NSMenu*)menu {
-  // Hack: Since Cocoa doesn't support menus-running-in-menus (see also comment
-  // in -rightMouseDown:), it doesn't launch the menu for an overflowed action
-  // on a Control-click. Even more unfortunate, it doesn't even pass us the
-  // mouseDown event for control clicks. However, it does call -menuForEvent:,
-  // which in turn calls -menu:, so we can tap in here and show the menu
-  // programmatically for the Control-click case.
-  if ([browserActionsController_ isOverflow] &&
-      ([NSEvent modifierFlags] & NSControlKeyMask)) {
-    [browserActionsController_ mainButtonForId:viewController_->GetId()]->
-        viewControllerDelegate_->ShowContextMenu();
-    return nil;
-  }
-
-  NSMenu* menu = nil;
-  if (testContextMenu_) {
-    menu = testContextMenu_;
-  } else {
-    // Make sure we delete any references to an old menu.
-    contextMenuController_.reset();
-
-    ui::MenuModel* contextMenu = viewController_->GetContextMenu();
-    if (contextMenu) {
-      contextMenuController_.reset([[MenuControllerCocoa alloc]
-                   initWithModel:contextMenu
-          useWithPopUpButtonCell:NO]);
-      menu = [contextMenuController_ menu];
-    }
-  }
-
-  if (menu) {
-    [[NSNotificationCenter defaultCenter]
-        addObserver:self
-           selector:@selector(menuDidClose:)
-               name:NSMenuDidEndTrackingNotification
-             object:menu];
-  }
-  return menu;
-}
-
-#pragma mark -
-#pragma mark Testing Methods
-
-- (void)setTestContextMenu:(NSMenu*)testContextMenu {
-  testContextMenu_ = testContextMenu;
-}
-
-- (BOOL)wantsToRunForTesting {
-  return viewController_->WantsToRun(
-      [browserActionsController_ currentWebContents]);
-}
-
-- (BOOL)isHighlighted {
-  return [[self cell] isHighlighted];
-}
-
-@end
-
-@implementation BrowserActionCell
-
-@synthesize browserActionsController = browserActionsController_;
-
-- (void)drawWithFrame:(NSRect)cellFrame inView:(NSView*)controlView {
-  gfx::ScopedNSGraphicsContextSaveGState scopedGState;
-  [super drawWithFrame:cellFrame inView:controlView];
-
-  const NSSize imageSize = self.image.size;
-  const NSRect imageRect =
-      NSMakeRect(std::floor((NSWidth(cellFrame) - imageSize.width) / 2.0),
-                 std::floor((NSHeight(cellFrame) - imageSize.height) / 2.0),
-                 imageSize.width, imageSize.height);
-
-  [self.image drawInRect:imageRect
-                fromRect:NSZeroRect
-               operation:NSCompositeSourceOver
-                fraction:1.0
-          respectFlipped:YES
-                   hints:nil];
-}
-
-- (void)drawFocusRingMaskWithFrame:(NSRect)cellFrame inView:(NSView*)view {
-  // Match the hover image's bezel.
-  [[NSBezierPath bezierPathWithRoundedRect:NSInsetRect(cellFrame, 2, 2)
-                                   xRadius:2
-                                   yRadius:2] fill];
-}
-
-- (const ui::ThemeProvider*)themeProviderForWindow:(NSWindow*)window {
-  const ui::ThemeProvider* themeProvider = [window themeProvider];
-  if (!themeProvider)
-    themeProvider =
-        [[browserActionsController_ browser]->window()->GetNativeWindow()
-            themeProvider];
-  return themeProvider;
-}
-
-@end
diff --git a/chrome/browser/ui/cocoa/extensions/browser_action_test_util_views_cocoa.mm b/chrome/browser/ui/cocoa/extensions/browser_action_test_util_views_cocoa.mm
deleted file mode 100644
index 5e16e98..0000000
--- a/chrome/browser/ui/cocoa/extensions/browser_action_test_util_views_cocoa.mm
+++ /dev/null
@@ -1,326 +0,0 @@
-// Copyright (c) 2009 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chrome/browser/ui/extensions/browser_action_test_util.h"
-
-#include <stddef.h>
-
-#include "base/mac/bundle_locations.h"
-#include "base/mac/foundation_util.h"
-#include "base/macros.h"
-#include "base/memory/ptr_util.h"
-#include "base/path_service.h"
-#include "base/strings/sys_string_conversions.h"
-#include "build/buildflag.h"
-#include "chrome/browser/ui/browser.h"
-#include "chrome/browser/ui/cocoa/browser_dialogs_views_mac.h"
-#import "chrome/browser/ui/cocoa/browser_window_cocoa.h"
-#import "chrome/browser/ui/cocoa/browser_window_controller.h"
-#import "chrome/browser/ui/cocoa/extensions/browser_action_button.h"
-#import "chrome/browser/ui/cocoa/extensions/browser_actions_container_view.h"
-#import "chrome/browser/ui/cocoa/extensions/browser_actions_controller.h"
-#include "chrome/browser/ui/cocoa/extensions/extension_popup_views_mac.h"
-#import "chrome/browser/ui/cocoa/test/cocoa_test_helper.h"
-#import "chrome/browser/ui/cocoa/themed_window.h"
-#import "chrome/browser/ui/cocoa/toolbar/toolbar_controller.h"
-#include "chrome/browser/ui/toolbar/toolbar_action_view_controller.h"
-#include "chrome/browser/ui/toolbar/toolbar_actions_bar.h"
-#include "chrome/browser/ui/views/toolbar/browser_action_test_util_views.h"
-#include "chrome/browser/ui/views_mode_controller.h"
-#include "chrome/common/chrome_constants.h"
-#include "ui/base/theme_provider.h"
-#include "ui/base/ui_features.h"
-#include "ui/gfx/geometry/rect.h"
-#include "ui/gfx/geometry/size.h"
-#include "ui/gfx/native_widget_types.h"
-#include "ui/views/widget/widget.h"
-
-namespace {
-
-// The Cocoa implementation of the TestToolbarActionsBarHelper, which creates
-// (and owns) a BrowserActionsController and BrowserActionsContainerView for
-// testing purposes.
-class TestToolbarActionsBarHelperCocoa : public TestToolbarActionsBarHelper {
- public:
-  TestToolbarActionsBarHelperCocoa(Browser* browser,
-                                   BrowserActionsController* mainController);
-  ~TestToolbarActionsBarHelperCocoa() override;
-
-  BrowserActionsController* controller() { return controller_.get(); }
-
- private:
-  // The owned BrowserActionsContainerView and BrowserActionsController; the
-  // mac implementation of the ToolbarActionsBar delegate and view.
-  base::scoped_nsobject<BrowserActionsContainerView> containerView_;
-  base::scoped_nsobject<BrowserActionsController> controller_;
-
-  DISALLOW_COPY_AND_ASSIGN(TestToolbarActionsBarHelperCocoa);
-};
-
-TestToolbarActionsBarHelperCocoa::TestToolbarActionsBarHelperCocoa(
-    Browser* browser,
-    BrowserActionsController* mainController) {
-  // Make sure that Cocoa has been bootstrapped.
-  if (!base::mac::FrameworkBundle()) {
-    // Look in the framework bundle for resources.
-    base::FilePath path;
-    base::PathService::Get(base::DIR_EXE, &path);
-    path = path.Append(chrome::kFrameworkName);
-    base::mac::SetOverrideFrameworkBundlePath(path);
-  }
-
-  containerView_.reset([[BrowserActionsContainerView alloc]
-      initWithFrame:NSMakeRect(0, 0, 0, 15)]);
-  controller_.reset(
-      [[BrowserActionsController alloc] initWithBrowser:browser
-                                          containerView:containerView_.get()
-                                         mainController:mainController]);
-}
-
-TestToolbarActionsBarHelperCocoa::~TestToolbarActionsBarHelperCocoa() {
-}
-
-BrowserActionsController* GetController(Browser* browser,
-                                        TestToolbarActionsBarHelper* helper) {
-  if (helper) {
-    return static_cast<TestToolbarActionsBarHelperCocoa*>(helper)->controller();
-  }
-
-  BrowserWindowCocoa* window =
-      static_cast<BrowserWindowCocoa*>(browser->window());
-  return [[window->cocoa_controller() toolbarController]
-           browserActionsController];
-}
-
-BrowserActionButton* GetButton(
-    Browser* browser,
-    TestToolbarActionsBarHelper* helper,
-    int index) {
-  return [GetController(browser, helper) buttonWithIndex:index];
-}
-
-class ExtensionPopupTestManager {
- public:
-  ExtensionPopupTestManager() = default;
-  virtual ~ExtensionPopupTestManager() = default;
-
-  virtual void DisableAnimations() = 0;
-  virtual gfx::Size GetPopupSize(BrowserActionTestUtil* test_util) = 0;
-  virtual void HidePopup(BrowserActionTestUtil* test_util) = 0;
-  virtual gfx::Size GetMinPopupSize() = 0;
-  virtual gfx::Size GetMaxPopupSize() = 0;
-
- private:
-  DISALLOW_COPY_AND_ASSIGN(ExtensionPopupTestManager);
-};
-
-class ExtensionPopupTestManagerViews : public ExtensionPopupTestManager {
- public:
-  ExtensionPopupTestManagerViews() = default;
-
-  ~ExtensionPopupTestManagerViews() override = default;
-
-  void DisableAnimations() override {}
-
-  gfx::Size GetPopupSize(BrowserActionTestUtil* test_util) override {
-    gfx::NativeView popup = test_util->GetPopupNativeView();
-    views::Widget* widget = views::Widget::GetWidgetForNativeView(popup);
-    return widget->GetWindowBoundsInScreen().size();
-  }
-
-  void HidePopup(BrowserActionTestUtil* test_util) override {
-    test_util->GetToolbarActionsBar()->HideActivePopup();
-  }
-
-  gfx::Size GetMinPopupSize() override {
-    return gfx::Size(ExtensionPopupViewsMac::kMinWidth,
-                     ExtensionPopupViewsMac::kMinHeight);
-  }
-
-  gfx::Size GetMaxPopupSize() override {
-    return gfx::Size(ExtensionPopupViewsMac::kMaxWidth,
-                     ExtensionPopupViewsMac::kMaxHeight);
-  }
-
- private:
-  DISALLOW_COPY_AND_ASSIGN(ExtensionPopupTestManagerViews);
-};
-
-std::unique_ptr<ExtensionPopupTestManager> GetExtensionPopupTestManager() {
-  return std::make_unique<ExtensionPopupTestManagerViews>();
-}
-
-}  // namespace
-
-class BrowserActionTestUtilCocoa : public BrowserActionTestUtil {
- public:
-  explicit BrowserActionTestUtilCocoa(Browser* browser);
-  BrowserActionTestUtilCocoa(Browser* browser, bool is_real_window);
-
-  ~BrowserActionTestUtilCocoa() override;
-
-  // BrowserActionTestUtil:
-  int NumberOfBrowserActions() override;
-  int VisibleBrowserActions() override;
-  void InspectPopup(int index) override;
-  bool HasIcon(int index) override;
-  gfx::Image GetIcon(int index) override;
-  void Press(int index) override;
-  std::string GetExtensionId(int index) override;
-  std::string GetTooltip(int index) override;
-  gfx::NativeView GetPopupNativeView() override;
-  bool HasPopup() override;
-  gfx::Size GetPopupSize() override;
-  bool HidePopup() override;
-  bool ActionButtonWantsToRun(size_t index) override;
-  void SetWidth(int width) override;
-  ToolbarActionsBar* GetToolbarActionsBar() override;
-  std::unique_ptr<BrowserActionTestUtil> CreateOverflowBar() override;
-  gfx::Size GetMinPopupSize() override;
-  gfx::Size GetMaxPopupSize() override;
-  bool CanBeResized() override;
-
- private:
-  friend class BrowserActionTestUtil;
-
-  BrowserActionTestUtilCocoa(Browser* browser,
-                             BrowserActionTestUtilCocoa* main_bar);
-
-  Browser* const browser_;  // weak
-
-  // Our test helper, which constructs and owns the views if we don't have a
-  // real browser window, or if this is an overflow version.
-  std::unique_ptr<TestToolbarActionsBarHelper> test_helper_;
-};
-
-BrowserActionTestUtilCocoa::BrowserActionTestUtilCocoa(Browser* browser)
-    : BrowserActionTestUtilCocoa(browser, true) {}
-
-BrowserActionTestUtilCocoa::BrowserActionTestUtilCocoa(Browser* browser,
-                                                       bool is_real_window)
-    : browser_(browser) {
-  if (!is_real_window)
-    test_helper_.reset(new TestToolbarActionsBarHelperCocoa(browser, nullptr));
-  // We disable animations on extension popups so that tests aren't waiting for
-  // a popup to fade out.
-  GetExtensionPopupTestManager()->DisableAnimations();
-}
-
-BrowserActionTestUtilCocoa::~BrowserActionTestUtilCocoa() {}
-
-int BrowserActionTestUtilCocoa::NumberOfBrowserActions() {
-  return [GetController(browser_, test_helper_.get()) buttonCount];
-}
-
-int BrowserActionTestUtilCocoa::VisibleBrowserActions() {
-  return [GetController(browser_, test_helper_.get()) visibleButtonCount];
-}
-
-void BrowserActionTestUtilCocoa::InspectPopup(int index) {
-  NOTREACHED();
-}
-
-bool BrowserActionTestUtilCocoa::HasIcon(int index) {
-  return [GetButton(browser_, test_helper_.get(), index) image] != nil;
-}
-
-gfx::Image BrowserActionTestUtilCocoa::GetIcon(int index) {
-  NSImage* ns_image = [GetButton(browser_, test_helper_.get(), index) image];
-  // gfx::Image takes ownership of the |ns_image| reference. We have to increase
-  // the ref count so |ns_image| stays around when the image object is
-  // destroyed.
-  base::mac::NSObjectRetain(ns_image);
-  return gfx::Image(ns_image);
-}
-
-void BrowserActionTestUtilCocoa::Press(int index) {
-  NSButton* button = GetButton(browser_, test_helper_.get(), index);
-  [button performClick:nil];
-}
-
-std::string BrowserActionTestUtilCocoa::GetExtensionId(int index) {
-  return
-      [GetButton(browser_, test_helper_.get(), index) viewController]->GetId();
-}
-
-std::string BrowserActionTestUtilCocoa::GetTooltip(int index) {
-  NSString* tooltip = [GetButton(browser_, test_helper_.get(), index) toolTip];
-  return base::SysNSStringToUTF8(tooltip);
-}
-
-gfx::NativeView BrowserActionTestUtilCocoa::GetPopupNativeView() {
-  ToolbarActionViewController* popup_owner =
-      GetToolbarActionsBar()->popup_owner();
-  return popup_owner ? popup_owner->GetPopupNativeView() : nil;
-}
-
-bool BrowserActionTestUtilCocoa::HasPopup() {
-  return GetPopupNativeView() != nil;
-}
-
-gfx::Size BrowserActionTestUtilCocoa::GetPopupSize() {
-  return GetExtensionPopupTestManager()->GetPopupSize(this);
-}
-
-bool BrowserActionTestUtilCocoa::HidePopup() {
-  GetExtensionPopupTestManager()->HidePopup(this);
-  return !HasPopup();
-}
-
-bool BrowserActionTestUtilCocoa::ActionButtonWantsToRun(size_t index) {
-  return [GetButton(browser_, test_helper_.get(), index) wantsToRunForTesting];
-}
-
-void BrowserActionTestUtilCocoa::SetWidth(int width) {
-  BrowserActionsContainerView* containerView =
-      [GetController(browser_, test_helper_.get()) containerView];
-  NSRect frame = [containerView frame];
-  frame.size.width = width;
-  [containerView setFrame:frame];
-}
-
-ToolbarActionsBar* BrowserActionTestUtilCocoa::GetToolbarActionsBar() {
-  return [GetController(browser_, test_helper_.get()) toolbarActionsBar];
-}
-
-std::unique_ptr<BrowserActionTestUtil>
-BrowserActionTestUtilCocoa::CreateOverflowBar() {
-  CHECK(!GetToolbarActionsBar()->in_overflow_mode())
-      << "Only a main bar can create an overflow bar!";
-  return base::WrapUnique(new BrowserActionTestUtilCocoa(browser_, this));
-}
-
-gfx::Size BrowserActionTestUtilCocoa::GetMinPopupSize() {
-  return GetExtensionPopupTestManager()->GetMinPopupSize();
-}
-
-gfx::Size BrowserActionTestUtilCocoa::GetMaxPopupSize() {
-  return GetExtensionPopupTestManager()->GetMaxPopupSize();
-}
-
-bool BrowserActionTestUtilCocoa::CanBeResized() {
-  BrowserActionsContainerView* containerView =
-      [GetController(browser_, test_helper_.get()) containerView];
-  return [containerView canBeResized];
-}
-
-BrowserActionTestUtilCocoa::BrowserActionTestUtilCocoa(
-    Browser* browser,
-    BrowserActionTestUtilCocoa* main_bar)
-    : browser_(browser),
-      test_helper_(new TestToolbarActionsBarHelperCocoa(
-          browser_,
-          GetController(browser_, main_bar->test_helper_.get()))) {}
-
-// static
-std::unique_ptr<BrowserActionTestUtil> BrowserActionTestUtil::Create(
-    Browser* browser,
-    bool is_real_window) {
-#if BUILDFLAG(MAC_VIEWS_BROWSER)
-  if (!views_mode_controller::IsViewsBrowserCocoa())
-    return std::make_unique<BrowserActionTestUtilViews>(browser,
-                                                        is_real_window);
-#endif
-  return std::make_unique<BrowserActionTestUtilCocoa>(browser, is_real_window);
-}
diff --git a/chrome/browser/ui/cocoa/extensions/browser_actions_container_view.h b/chrome/browser/ui/cocoa/extensions/browser_actions_container_view.h
deleted file mode 100644
index a673e4d..0000000
--- a/chrome/browser/ui/cocoa/extensions/browser_actions_container_view.h
+++ /dev/null
@@ -1,119 +0,0 @@
-// Copyright (c) 2010 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef CHROME_BROWSER_UI_COCOA_EXTENSIONS_BROWSER_ACTIONS_CONTAINER_VIEW_H_
-#define CHROME_BROWSER_UI_COCOA_EXTENSIONS_BROWSER_ACTIONS_CONTAINER_VIEW_H_
-
-#import <Cocoa/Cocoa.h>
-
-#include <memory>
-
-#include "base/mac/scoped_nsobject.h"
-
-namespace ui {
-struct NinePartImageIds;
-}
-
-// Sent when a user-initiated drag to resize the container is initiated.
-extern NSString* const kBrowserActionGrippyDragStartedNotification;
-
-// Sent when a user-initiated drag is resizing the container.
-extern NSString* const kBrowserActionGrippyDraggingNotification;
-
-// Sent when a user-initiated drag to resize the container has finished.
-extern NSString* const kBrowserActionGrippyDragFinishedNotification;
-
-// Sent when the Browser Actions container view is about to animate.
-extern NSString* const kBrowserActionsContainerWillAnimate;
-
-// Sent when a running animation has ended.
-extern NSString* const kBrowserActionsContainerAnimationEnded;
-
-// Key which is used to notify the translation with delta.
-extern NSString* const kTranslationWithDelta;
-
-// Sent when the container receives a key event that should be processed.
-// The userInfo contains a single entry with the key event.
-extern NSString* const kBrowserActionsContainerReceivedKeyEvent;
-
-// The key into the userInfo dictionary to retrieve the key event (stored as an
-// integer).
-extern NSString* const kBrowserActionsContainerKeyEventKey;
-
-// The possible key actions to process.
-enum BrowserActionsContainerKeyAction {
-  BROWSER_ACTIONS_INCREMENT_FOCUS = 0,
-  BROWSER_ACTIONS_DECREMENT_FOCUS = 1,
-  BROWSER_ACTIONS_EXECUTE_CURRENT = 2,
-  BROWSER_ACTIONS_INVALID_KEY_ACTION = 3,
-};
-
-// The view that encompasses the Browser Action buttons in the toolbar and
-// provides mechanisms for resizing.
-@interface BrowserActionsContainerView : NSView<NSAnimationDelegate> {
- @private
-  // The frame encompasing the grippy used for resizing the container.
-  NSRect grippyRect_;
-
-  // Remember where in the grippy the drag began.
-  CGFloat dragOffset_;
-
-  // Whether the container is currently being resized by the user.
-  BOOL userIsResizing_;
-
-  // Whether the user can resize the container; this is disabled for overflow
-  // (where it would make no sense) and during highlighting, since this is a
-  // temporary and entirely browser-driven sequence in order to warn the user
-  // about potentially dangerous items.
-  BOOL resizable_;
-
-  // Whether or not the container is the overflow container, and is shown in the
-  // app menu.
-  BOOL isOverflow_;
-
-  // When the left grippy is pinned, resizing the window has no effect on its
-  // position. This prevents it from overlapping with other elements as well
-  // as letting the container expand when the window is going from super small
-  // to large.
-  BOOL grippyPinned_;
-
-  // The nine-grid of the highlight to paint, if any.
-  std::unique_ptr<ui::NinePartImageIds> highlight_;
-
-  base::scoped_nsobject<NSViewAnimation> resizeAnimation_;
-}
-
-// Sets whether or not the container is the overflow container.
-- (void)setIsOverflow:(BOOL)isOverflow;
-
-// Sets whether or not the container is highlighting.
-- (void)setHighlight:(std::unique_ptr<ui::NinePartImageIds>)highlight;
-
-// Reeturns true if the container is currently highlighting.
-- (BOOL)isHighlighting;
-
-// Resizes the container to the given ideal width, optionally animating.
-- (void)resizeToWidth:(CGFloat)width animate:(BOOL)animate;
-
-// Returns the frame of the container after the running animation has finished.
-// If no animation is running, returns the container's current frame.
-- (NSRect)animationEndFrame;
-
-// Returns true if the view is animating.
-- (BOOL)isAnimating;
-
-// Stops any animation in progress.
-- (void)stopAnimation;
-
-// Returns true if this view is currently resizable.
-- (BOOL)canBeResized;
-
-@property(nonatomic) CGFloat minWidth;
-@property(nonatomic) CGFloat maxWidth;
-@property(nonatomic) BOOL grippyPinned;
-@property(readonly, nonatomic) BOOL userIsResizing;
-
-@end
-
-#endif  // CHROME_BROWSER_UI_COCOA_EXTENSIONS_BROWSER_ACTIONS_CONTAINER_VIEW_H_
diff --git a/chrome/browser/ui/cocoa/extensions/browser_actions_container_view.mm b/chrome/browser/ui/cocoa/extensions/browser_actions_container_view.mm
deleted file mode 100644
index 3f0f49e3..0000000
--- a/chrome/browser/ui/cocoa/extensions/browser_actions_container_view.mm
+++ /dev/null
@@ -1,331 +0,0 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#import "chrome/browser/ui/cocoa/extensions/browser_actions_container_view.h"
-
-#include <algorithm>
-#include <utility>
-
-#import "chrome/browser/ui/cocoa/l10n_util.h"
-#import "chrome/browser/ui/cocoa/view_id_util.h"
-#include "ui/base/cocoa/appkit_utils.h"
-#include "ui/events/keycodes/keyboard_code_conversion_mac.h"
-
-NSString* const kBrowserActionGrippyDragStartedNotification =
-    @"BrowserActionGrippyDragStartedNotification";
-NSString* const kBrowserActionGrippyDraggingNotification =
-    @"BrowserActionGrippyDraggingNotification";
-NSString* const kBrowserActionGrippyDragFinishedNotification =
-    @"BrowserActionGrippyDragFinishedNotification";
-NSString* const kBrowserActionsContainerWillAnimate =
-    @"BrowserActionsContainerWillAnimate";
-NSString* const kBrowserActionsContainerAnimationEnded =
-    @"BrowserActionsContainerAnimationEnded";
-NSString* const kTranslationWithDelta =
-    @"TranslationWithDelta";
-NSString* const kBrowserActionsContainerReceivedKeyEvent =
-    @"BrowserActionsContainerReceivedKeyEvent";
-NSString* const kBrowserActionsContainerKeyEventKey =
-    @"BrowserActionsContainerKeyEventKey";
-
-namespace {
-const CGFloat kBrowserActionsResizeAnimationDuration = 0.2;
-const CGFloat kGrippyWidth = 3.0;
-}  // namespace
-
-@interface BrowserActionsContainerView(Private)
-// Returns the cursor that should be shown when hovering over the grippy based
-// on |canDragLeft_| and |canDragRight_|.
-- (NSCursor*)appropriateCursorForGrippy;
-@end
-
-@implementation BrowserActionsContainerView
-
-@synthesize minWidth = minWidth_;
-@synthesize maxWidth = maxWidth_;
-@synthesize grippyPinned = grippyPinned_;
-@synthesize userIsResizing = userIsResizing_;
-
-#pragma mark -
-#pragma mark Overridden Class Functions
-
-- (id)initWithFrame:(NSRect)frameRect {
-  if ((self = [super initWithFrame:frameRect])) {
-    grippyRect_ = NSMakeRect(0.0, 0.0, kGrippyWidth, NSHeight([self bounds]));
-    if (cocoa_l10n_util::ShouldDoExperimentalRTLLayout())
-      grippyRect_.origin.x = NSWidth(frameRect) - NSWidth(grippyRect_);
-
-    resizable_ = YES;
-
-    resizeAnimation_.reset([[NSViewAnimation alloc] init]);
-    [resizeAnimation_ setDuration:kBrowserActionsResizeAnimationDuration];
-    [resizeAnimation_ setAnimationBlockingMode:NSAnimationNonblocking];
-    [resizeAnimation_ setDelegate:self];
-
-    [self setHidden:YES];
-  }
-  return self;
-}
-
-- (void)drawRect:(NSRect)rect {
-  [super drawRect:rect];
-  if (highlight_) {
-    ui::DrawNinePartImage(
-        [self bounds], *highlight_, NSCompositeSourceOver, 1.0, true);
-  }
-}
-
-- (void)viewDidMoveToWindow {
-  if (isOverflow_) {
-    // Yet another Cocoa oddity: Custom views in menu items in Cocoa, by
-    // default, won't receive key events. However, if we make this the first
-    // responder when it's moved to a window, it will, and it will behave
-    // properly (i.e., will only receive key events if the menu item is
-    // highlighted, not for any key event in the menu). More strangely,
-    // setting this to be first responder at any other time (such as calling
-    // [[containerView window] makeFirstResponder:containerView] when the menu
-    // item is highlighted) does *not* work (it messes up the currently-
-    // highlighted item).
-    // Since this seems to have the right behavior, use it.
-    [[self window] makeFirstResponder:self];
-  }
-}
-
-- (void)keyDown:(NSEvent*)theEvent {
-  // If this is the overflow container, we handle three key events: left, right,
-  // and space. Left and right navigate the actions within the container, and
-  // space activates the current one. We have to handle this ourselves, because
-  // Cocoa doesn't treat custom views with subviews in menu items differently
-  // than any other menu item, so it would otherwise be impossible to navigate
-  // to a particular action from the keyboard.
-  ui::KeyboardCode key = ui::KeyboardCodeFromNSEvent(theEvent);
-  BOOL shouldProcess = isOverflow_ &&
-      (key == ui::VKEY_RIGHT || key == ui::VKEY_LEFT || key == ui::VKEY_SPACE);
-
-  // If this isn't the overflow container, or isn't one of the keys we process,
-  // forward the event on.
-  if (!shouldProcess) {
-    [super keyDown:theEvent];
-    return;
-  }
-
-  // TODO(devlin): The keyboard navigation should be adjusted for RTL, but right
-  // now we only ever display the extension items in the same way (LTR) on Mac.
-  BrowserActionsContainerKeyAction action = BROWSER_ACTIONS_INVALID_KEY_ACTION;
-  switch (key) {
-    case ui::VKEY_RIGHT:
-      action = BROWSER_ACTIONS_INCREMENT_FOCUS;
-      break;
-    case ui::VKEY_LEFT:
-      action = BROWSER_ACTIONS_DECREMENT_FOCUS;
-      break;
-    case ui::VKEY_SPACE:
-      action = BROWSER_ACTIONS_EXECUTE_CURRENT;
-      break;
-    default:
-      NOTREACHED();  // Should have weeded this case out above.
-  }
-
-  DCHECK_NE(BROWSER_ACTIONS_INVALID_KEY_ACTION, action);
-  NSDictionary* userInfo = @{ kBrowserActionsContainerKeyEventKey : @(action) };
-  [[NSNotificationCenter defaultCenter]
-      postNotificationName:kBrowserActionsContainerReceivedKeyEvent
-                    object:self
-                    userInfo:userInfo];
-  [super keyDown:theEvent];
-}
-
-- (void)setHighlight:(std::unique_ptr<ui::NinePartImageIds>)highlight {
-  if (highlight || highlight_) {
-    highlight_ = std::move(highlight);
-    // We don't allow resizing when the container is highlighting.
-    resizable_ = highlight_.get() == nullptr;
-    [self setNeedsDisplay:YES];
-  }
-}
-
-- (BOOL)isHighlighting {
-  return highlight_.get() != nullptr;
-}
-
-- (void)setIsOverflow:(BOOL)isOverflow {
-  if (isOverflow_ != isOverflow) {
-    isOverflow_ = isOverflow;
-    resizable_ = !isOverflow_;
-    [self setNeedsDisplay:YES];
-  }
-}
-
-- (void)resetCursorRects {
-  if (cocoa_l10n_util::ShouldDoExperimentalRTLLayout())
-    grippyRect_.origin.x = NSWidth([self frame]) - NSWidth(grippyRect_);
-  [self addCursorRect:grippyRect_ cursor:[self appropriateCursorForGrippy]];
-}
-
-- (BOOL)acceptsFirstResponder {
-  // The overflow container needs to receive key events to handle in-item
-  // navigation. The top-level container should not become first responder,
-  // allowing focus travel to proceed to the first action.
-  return isOverflow_;
-}
-
-- (void)mouseDown:(NSEvent*)theEvent {
-  NSPoint location =
-      [self convertPoint:[theEvent locationInWindow] fromView:nil];
-  if (!resizable_ || !NSMouseInRect(location, grippyRect_, [self isFlipped]))
-    return;
-
-  dragOffset_ = location.x - (cocoa_l10n_util::ShouldDoExperimentalRTLLayout()
-                                  ? NSWidth(self.frame)
-                                  : 0);
-
-  userIsResizing_ = YES;
-
-  [[self appropriateCursorForGrippy] push];
-  // Disable cursor rects so that the Omnibox and other UI elements don't push
-  // cursors while the user is dragging. The cursor should be grippy until
-  // the |-mouseUp:| message is received.
-  [[self window] disableCursorRects];
-
-  [[NSNotificationCenter defaultCenter]
-      postNotificationName:kBrowserActionGrippyDragStartedNotification
-                    object:self];
-}
-
-- (void)mouseUp:(NSEvent*)theEvent {
-  if (!userIsResizing_)
-    return;
-
-  [NSCursor pop];
-  [[self window] enableCursorRects];
-
-  userIsResizing_ = NO;
-  [[NSNotificationCenter defaultCenter]
-      postNotificationName:kBrowserActionGrippyDragFinishedNotification
-                    object:self];
-}
-
-- (void)mouseDragged:(NSEvent*)theEvent {
-  if (!userIsResizing_)
-    return;
-
-  const CGFloat translation =
-      [self convertPoint:[theEvent locationInWindow] fromView:nil].x -
-      dragOffset_;
-  const CGFloat targetWidth = (cocoa_l10n_util::ShouldDoExperimentalRTLLayout()
-                                   ? translation
-                                   : NSWidth(self.frame) - translation);
-
-  [self resizeToWidth:targetWidth animate:NO];
-
-  [[NSNotificationCenter defaultCenter]
-      postNotificationName:kBrowserActionGrippyDraggingNotification
-                    object:self];
-}
-
-- (void)animationDidEnd:(NSAnimation*)animation {
-  // We notify asynchronously so that the animation fully finishes before any
-  // listeners do work.
-  [self performSelector:@selector(notifyAnimationEnded)
-              withObject:self
-              afterDelay:0];
-}
-
-- (void)animationDidStop:(NSAnimation*)animation {
-  // We notify asynchronously so that the animation fully finishes before any
-  // listeners do work.
-  [self performSelector:@selector(notifyAnimationEnded)
-              withObject:self
-              afterDelay:0];
-}
-
-- (void)notifyAnimationEnded {
-  [[NSNotificationCenter defaultCenter]
-      postNotificationName:kBrowserActionsContainerAnimationEnded
-                    object:self];
-}
-
-- (ViewID)viewID {
-  return VIEW_ID_BROWSER_ACTION_TOOLBAR;
-}
-
-#pragma mark -
-#pragma mark Public Methods
-
-- (void)resizeToWidth:(CGFloat)width animate:(BOOL)animate {
-  width = std::min(std::max(width, minWidth_), maxWidth_);
-
-  NSRect newFrame = [self frame];
-  if (!cocoa_l10n_util::ShouldDoExperimentalRTLLayout())
-    newFrame.origin.x += NSWidth(newFrame) - width;
-  newFrame.size.width = width;
-
-  grippyPinned_ = width == maxWidth_;
-
-  [self stopAnimation];
-
-  if (animate) {
-    NSDictionary* animationDictionary = @{
-      NSViewAnimationTargetKey : self,
-      NSViewAnimationStartFrameKey : [NSValue valueWithRect:[self frame]],
-      NSViewAnimationEndFrameKey : [NSValue valueWithRect:newFrame]
-    };
-    [resizeAnimation_ setViewAnimations:@[ animationDictionary ]];
-    [resizeAnimation_ startAnimation];
-
-    [[NSNotificationCenter defaultCenter]
-        postNotificationName:kBrowserActionsContainerWillAnimate
-                      object:self];
-  } else {
-    [self setFrame:newFrame];
-    [self setNeedsDisplay:YES];
-  }
-}
-
-- (NSRect)animationEndFrame {
-  if ([resizeAnimation_ isAnimating]) {
-    NSRect endFrame = [[[[resizeAnimation_ viewAnimations] objectAtIndex:0]
-        valueForKey:NSViewAnimationEndFrameKey] rectValue];
-    return endFrame;
-  } else {
-    return [self frame];
-  }
-}
-
-- (BOOL)isAnimating {
-  return [resizeAnimation_ isAnimating];
-}
-
-- (void)stopAnimation {
-  if ([resizeAnimation_ isAnimating])
-    [resizeAnimation_ stopAnimation];
-}
-
-- (BOOL)canBeResized {
-  return resizable_;
-}
-
-#pragma mark -
-#pragma mark Private Methods
-
-// Returns the cursor to display over the grippy hover region depending on the
-// current drag state.
-- (NSCursor*)appropriateCursorForGrippy {
-  if (resizable_) {
-    const CGFloat width = NSWidth(self.frame);
-    const BOOL isRTL = cocoa_l10n_util::ShouldDoExperimentalRTLLayout();
-    const BOOL canDragLeft = width != (isRTL ? minWidth_ : maxWidth_);
-    const BOOL canDragRight = width != (isRTL ? maxWidth_ : minWidth_);
-
-    if (canDragLeft && canDragRight)
-      return [NSCursor resizeLeftRightCursor];
-    if (canDragLeft)
-      return [NSCursor resizeLeftCursor];
-    if (canDragRight)
-      return [NSCursor resizeRightCursor];
-  }
-  return [NSCursor arrowCursor];
-}
-
-@end
diff --git a/chrome/browser/ui/cocoa/extensions/browser_actions_container_view_unittest.mm b/chrome/browser/ui/cocoa/extensions/browser_actions_container_view_unittest.mm
deleted file mode 100644
index 7f26cab..0000000
--- a/chrome/browser/ui/cocoa/extensions/browser_actions_container_view_unittest.mm
+++ /dev/null
@@ -1,69 +0,0 @@
-// Copyright (c) 2011 The Chromium 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/mac/scoped_nsobject.h"
-#include "base/macros.h"
-#import "chrome/browser/ui/cocoa/extensions/browser_actions_container_view.h"
-#import "chrome/browser/ui/cocoa/test/cocoa_test_helper.h"
-#include "testing/gtest/include/gtest/gtest.h"
-#include "testing/platform_test.h"
-
-namespace {
-
-const CGFloat kContainerHeight = 15.0;
-const CGFloat kMinimumContainerWidth = 3.0;
-const CGFloat kMaxAllowedWidthForTest = 50.0;
-
-class BrowserActionsContainerViewTest : public CocoaTest {
- public:
-  void SetUp() override {
-    CocoaTest::SetUp();
-    view_.reset([[BrowserActionsContainerView alloc]
-        initWithFrame:NSMakeRect(0, 0, 0, kContainerHeight)]);
-  }
-
-  base::scoped_nsobject<BrowserActionsContainerView> view_;
-};
-
-TEST_F(BrowserActionsContainerViewTest, BasicTests) {
-  EXPECT_TRUE([view_ isHidden]);
-}
-
-TEST_F(BrowserActionsContainerViewTest, SetWidthTests) {
-  [view_ setMinWidth:kMinimumContainerWidth];
-  [view_ setMaxWidth:kMaxAllowedWidthForTest];
-
-  // Try setting below the minimum width.
-  [view_ resizeToWidth:kMinimumContainerWidth - 1 animate:NO];
-  EXPECT_EQ(kMinimumContainerWidth, NSWidth([view_ frame])) << "Frame width is "
-      << "less than the minimum allowed.";
-
-  [view_ resizeToWidth:35.0 animate:NO];
-  EXPECT_EQ(35.0, NSWidth([view_ frame]));
-
-  [view_ resizeToWidth:20.0 animate:NO];
-  EXPECT_EQ(20.0, NSWidth([view_ frame]));
-
-  // Resize the view with animation. It shouldn't immediately take the new
-  // value, but the animationEndFrame should reflect the pending change.
-  [view_ resizeToWidth:40.0 animate:YES];
-  EXPECT_LE(NSWidth([view_ frame]), 40.0);
-  EXPECT_EQ(40.0, NSWidth([view_ animationEndFrame]));
-
-  // The container should be able to be resized while animating (simply taking
-  // the newest target width).
-  [view_ resizeToWidth:30.0 animate:YES];
-  EXPECT_EQ(30.0, NSWidth([view_ animationEndFrame]));
-
-  // Test with no animation again. The animationEndFrame should also reflect
-  // the current frame, if no animation is pending.
-  [view_ resizeToWidth:35.0 animate:NO];
-  EXPECT_EQ(35.0, NSWidth([view_ frame]));
-  EXPECT_EQ(35.0, NSWidth([view_ animationEndFrame]));
-
-  [view_ resizeToWidth:kMaxAllowedWidthForTest + 10.0 animate:NO];
-  EXPECT_EQ(kMaxAllowedWidthForTest, NSWidth([view_ frame]));
-}
-
-}  // namespace
diff --git a/chrome/browser/ui/cocoa/extensions/browser_actions_controller.h b/chrome/browser/ui/cocoa/extensions/browser_actions_controller.h
deleted file mode 100644
index b3cdcec9..0000000
--- a/chrome/browser/ui/cocoa/extensions/browser_actions_controller.h
+++ /dev/null
@@ -1,124 +0,0 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef CHROME_BROWSER_UI_COCOA_EXTENSIONS_BROWSER_ACTIONS_CONTROLLER_H_
-#define CHROME_BROWSER_UI_COCOA_EXTENSIONS_BROWSER_ACTIONS_CONTROLLER_H_
-
-#import <Cocoa/Cocoa.h>
-
-#include <memory>
-
-#import "base/mac/scoped_nsobject.h"
-#import "chrome/browser/ui/cocoa/has_weak_browser_pointer.h"
-#include "ui/gfx/geometry/size.h"
-
-class Browser;
-@class BrowserActionButton;
-@class BrowserActionsContainerView;
-@class MenuButton;
-class ToolbarActionsBar;
-class ToolbarActionsBarBubbleViewsPresenter;
-class ToolbarActionsBarDelegate;
-
-namespace content {
-class WebContents;
-}
-
-// Sent when the visibility of the Browser Actions changes.
-extern NSString* const kBrowserActionVisibilityChangedNotification;
-
-// Handles state and provides an interface for controlling the Browser Actions
-// container within the Toolbar.
-@interface BrowserActionsController
-    : NSObject<NSMenuDelegate, HasWeakBrowserPointer> {
- @private
-  // Reference to the current browser. Weak.
-  Browser* browser_;
-
-  // The view from Toolbar.xib we'll be rendering our browser actions in. Weak.
-  BrowserActionsContainerView* containerView_;
-
-  // Array of toolbar action buttons in the correct order for them to be
-  // displayed (includes both hidden and visible buttons).
-  base::scoped_nsobject<NSMutableArray> buttons_;
-
-  // The delegate for the ToolbarActionsBar.
-  std::unique_ptr<ToolbarActionsBarDelegate> toolbarActionsBarBridge_;
-
-  // The controlling ToolbarActionsBar.
-  std::unique_ptr<ToolbarActionsBar> toolbarActionsBar_;
-
-  // True if this is the overflow container for toolbar actions.
-  BOOL isOverflow_;
-
-  // The index of the currently-focused view in the overflow menu, or -1 if
-  // no view is focused.
-  NSInteger focusedViewIndex_;
-
-  // Bridge for showing the toolkit-views bubble on a Cocoa browser.
-  std::unique_ptr<ToolbarActionsBarBubbleViewsPresenter> viewsBubblePresenter_;
-
-  // True if a toolbar action button is being dragged.
-  BOOL isDraggingSession_;
-}
-
-@property(nonatomic) CGFloat maxWidth;
-@property(readonly, nonatomic) BrowserActionsContainerView* containerView;
-@property(readonly, nonatomic) Browser* browser;
-@property(readonly, nonatomic) BOOL isOverflow;
-
-// Initializes the controller given the current browser and container view that
-// will hold the browser action buttons. If |mainController| is nil, the created
-// BrowserActionsController will be the main controller; otherwise (if this is
-// for the overflow menu), |mainController| should be controller of the main bar
-// for the |browser|.
-- (id)initWithBrowser:(Browser*)browser
-        containerView:(BrowserActionsContainerView*)container
-       mainController:(BrowserActionsController*)mainController;
-
-// Update the display of all buttons.
-- (void)update;
-
-// Returns the current number of browser action buttons within the container,
-// whether or not they are displayed.
-- (NSUInteger)buttonCount;
-
-// Returns the current number of browser action buttons displayed in the
-// container.
-- (NSUInteger)visibleButtonCount;
-
-// Returns the preferred size for the container.
-- (gfx::Size)preferredSize;
-
-// Returns where the popup arrow should point to for the action with the given
-// |id|. If passed an id with no corresponding button, returns NSZeroPoint.
-- (NSPoint)popupPointForId:(const std::string&)id;
-
-// Returns the currently-active web contents.
-- (content::WebContents*)currentWebContents;
-
-// Returns the BrowserActionButton in the main browser actions container (as
-// opposed to the overflow) for the action of the given id.
-- (BrowserActionButton*)mainButtonForId:(const std::string&)id;
-
-// Returns the associated ToolbarActionsBar.
-- (ToolbarActionsBar*)toolbarActionsBar;
-
-// Sets whether or not the overflow container is focused in the app menu.
-- (void)setFocusedInOverflow:(BOOL)focused;
-
-// Returns the size for the provided |maxWidth| of the overflow menu.
-- (gfx::Size)sizeForOverflowWidth:(int)maxWidth;
-
-// Called when the window for the active bubble is closing, and sets the active
-// bubble to nil.
-- (void)bubbleWindowClosing;
-
-@end  // @interface BrowserActionsController
-
-@interface BrowserActionsController(TestingAPI)
-- (BrowserActionButton*)buttonWithIndex:(NSUInteger)index;
-@end
-
-#endif  // CHROME_BROWSER_UI_COCOA_EXTENSIONS_BROWSER_ACTIONS_CONTROLLER_H_
diff --git a/chrome/browser/ui/cocoa/extensions/browser_actions_controller.mm b/chrome/browser/ui/cocoa/extensions/browser_actions_controller.mm
deleted file mode 100644
index b252286c..0000000
--- a/chrome/browser/ui/cocoa/extensions/browser_actions_controller.mm
+++ /dev/null
@@ -1,856 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#import "chrome/browser/ui/cocoa/extensions/browser_actions_controller.h"
-
-#include <stddef.h>
-
-#include <string>
-#include <utility>
-
-#include "base/macros.h"
-#include "base/stl_util.h"
-#include "base/strings/sys_string_conversions.h"
-#include "chrome/browser/extensions/extension_message_bubble_controller.h"
-#include "chrome/browser/ui/browser.h"
-#include "chrome/browser/ui/browser_window.h"
-#import "chrome/browser/ui/cocoa/browser_window_controller.h"
-#import "chrome/browser/ui/cocoa/extensions/browser_action_button.h"
-#import "chrome/browser/ui/cocoa/extensions/browser_actions_container_view.h"
-#import "chrome/browser/ui/cocoa/extensions/toolbar_actions_bar_bubble_views_presenter.h"
-#import "chrome/browser/ui/cocoa/image_button_cell.h"
-#import "chrome/browser/ui/cocoa/l10n_util.h"
-#import "chrome/browser/ui/cocoa/menu_button.h"
-#import "chrome/browser/ui/cocoa/toolbar/toolbar_controller.h"
-#include "chrome/browser/ui/extensions/extension_message_bubble_bridge.h"
-#include "chrome/browser/ui/tabs/tab_strip_model.h"
-#include "chrome/browser/ui/toolbar/toolbar_action_view_controller.h"
-#include "chrome/browser/ui/toolbar/toolbar_actions_bar.h"
-#include "chrome/browser/ui/toolbar/toolbar_actions_bar_delegate.h"
-#include "chrome/grit/theme_resources.h"
-#import "third_party/google_toolbox_for_mac/src/AppKit/GTMNSAnimation+Duration.h"
-#include "ui/base/cocoa/appkit_utils.h"
-#include "ui/base/cocoa/cocoa_base_utils.h"
-
-NSString* const kBrowserActionVisibilityChangedNotification =
-    @"BrowserActionVisibilityChangedNotification";
-
-namespace {
-
-// The amount of horizontal padding the browser action container should have on
-// each side.
-const CGFloat kBrowserActionHorizontalPadding = 2.0;
-
-}  // namespace
-
-@interface BrowserActionsController(Private)
-
-// Creates and adds a view for the given |action| at |index|.
-- (void)addViewForAction:(ToolbarActionViewController*)action
-               withIndex:(NSUInteger)index;
-
-// Removes the view for the given |action| from the ccontainer.
-- (void)removeViewForAction:(ToolbarActionViewController*)action;
-
-// Removes views for all actions.
-- (void)removeAllViews;
-
-// Redraws the BrowserActionsContainerView and updates the button order to match
-// the order in the ToolbarActionsBar.
-- (void)redraw;
-
-// Resizes the container to the specified |width|, and animates according to
-// the ToolbarActionsBar.
-- (void)resizeContainerToWidth:(CGFloat)width;
-
-// Sets the container to be either hidden or visible based on whether there are
-// any actions to show.
-// Returns whether the container is visible.
-- (BOOL)updateContainerVisibility;
-
-// During container resizing, buttons become more transparent as they are pushed
-// off the screen. This method updates each button's opacity determined by the
-// position of the button.
-- (void)updateButtonOpacity;
-
-// When the container is resizing, there's a chance that the buttons' frames
-// need to be adjusted (for instance, if an action is added to the left, the
-// frames of the actions to the right should gradually move right in the
-// container). Adjust the frames accordingly.
-- (void)updateButtonPositions;
-
-// Returns the existing button associated with the given id; nil if it cannot be
-// found.
-- (BrowserActionButton*)buttonForId:(const std::string&)id;
-
-// Returns the button at the given index. This is just a wrapper around
-// [NSArray objectAtIndex:], since that technically defaults to returning ids
-// (and can cause compile errors).
-- (BrowserActionButton*)buttonAtIndex:(NSUInteger)index;
-
-// Notification handlers for events registered by the class.
-
-// Updates each button's opacity and the cursor rects.
-- (void)containerFrameChanged:(NSNotification*)notification;
-
-// Unhides every hidden button so that dragging the container out smoothly shows
-// the Browser Action buttons.
-- (void)containerDragStart:(NSNotification*)notification;
-
-// Determines which buttons need to be hidden based on the new size and hides
-// them. Also fires a notification to let the toolbar know that the drag has
-// finished.
-- (void)containerDragFinished:(NSNotification*)notification;
-
-// Notifies the controlling ToolbarActionsBar that any running animation has
-// ended.
-- (void)containerAnimationEnded:(NSNotification*)notification;
-
-// Processes a key event from the container.
-- (void)containerKeyEvent:(NSNotification*)notification;
-
-// Adjusts the position of the surrounding action buttons depending on where the
-// button is within the container.
-- (void)actionButtonDragging:(NSNotification*)notification;
-
-// Updates the position of the Browser Actions within the container. This fires
-// when _any_ Browser Action button is done dragging to keep all open windows in
-// sync visually.
-- (void)actionButtonDragFinished:(NSNotification*)notification;
-
-// Returns the frame that the button with the given |index| should have.
-- (NSRect)frameForIndex:(NSUInteger)index;
-
-// Returns the popup point for the given |view| with |bounds|.
-- (NSPoint)popupPointForView:(NSView*)view
-                  withBounds:(NSRect)bounds;
-
-// Moves the given button both visually and within the toolbar model to the
-// specified index.
-- (void)moveButton:(BrowserActionButton*)button
-           toIndex:(NSUInteger)index;
-
-// Handles clicks for BrowserActionButtons.
-- (BOOL)browserActionClicked:(BrowserActionButton*)button;
-
-// Returns the associated ToolbarController.
-- (ToolbarController*)toolbarController;
-
-// Creates a message bubble with the given |delegate|.
-- (void)createMessageBubble:
-    (std::unique_ptr<ToolbarActionsBarBubbleDelegate>)delegate;
-
-// Sets the current focused view. Should only be used for the overflow
-// container.
-- (void)setFocusedViewIndex:(NSInteger)index;
-
-@end
-
-namespace {
-
-// A bridge between the ToolbarActionsBar and the BrowserActionsController.
-class ToolbarActionsBarBridge : public ToolbarActionsBarDelegate {
- public:
-  explicit ToolbarActionsBarBridge(BrowserActionsController* controller);
-  ~ToolbarActionsBarBridge() override;
-
-  BrowserActionsController* controller_for_test() { return controller_; }
-
- private:
-  // ToolbarActionsBarDelegate:
-  void AddViewForAction(ToolbarActionViewController* action,
-                        size_t index) override;
-  void RemoveViewForAction(ToolbarActionViewController* action) override;
-  void RemoveAllViews() override;
-  void Redraw(bool order_changed) override;
-  void ResizeAndAnimate(gfx::Tween::Type tween_type,
-                        int target_width) override;
-  int GetWidth(GetWidthTime get_width_time) const override;
-  bool IsAnimating() const override;
-  void StopAnimating() override;
-  void ShowToolbarActionBubble(
-      std::unique_ptr<ToolbarActionsBarBubbleDelegate> bubble) override;
-  bool CloseOverflowMenuIfOpen() override;
-
-  // The owning BrowserActionsController; weak.
-  BrowserActionsController* controller_;
-
-  DISALLOW_COPY_AND_ASSIGN(ToolbarActionsBarBridge);
-};
-
-ToolbarActionsBarBridge::ToolbarActionsBarBridge(
-    BrowserActionsController* controller)
-    : controller_(controller) {
-}
-
-ToolbarActionsBarBridge::~ToolbarActionsBarBridge() {
-}
-
-void ToolbarActionsBarBridge::AddViewForAction(
-    ToolbarActionViewController* action,
-    size_t index) {
-  [controller_ addViewForAction:action
-                      withIndex:index];
-}
-
-void ToolbarActionsBarBridge::RemoveViewForAction(
-    ToolbarActionViewController* action) {
-  [controller_ removeViewForAction:action];
-}
-
-void ToolbarActionsBarBridge::RemoveAllViews() {
-  [controller_ removeAllViews];
-}
-
-void ToolbarActionsBarBridge::Redraw(bool order_changed) {
-  [controller_ redraw];
-}
-
-void ToolbarActionsBarBridge::ResizeAndAnimate(gfx::Tween::Type tween_type,
-                                               int target_width) {
-  [controller_ resizeContainerToWidth:target_width];
-}
-
-int ToolbarActionsBarBridge::GetWidth(GetWidthTime get_width_time) const {
-  NSRect frame =
-      get_width_time == ToolbarActionsBarDelegate::GET_WIDTH_AFTER_ANIMATION
-          ? [[controller_ containerView] animationEndFrame]
-          : [[controller_ containerView] frame];
-  return NSWidth(frame);
-}
-
-bool ToolbarActionsBarBridge::IsAnimating() const {
-  return [[controller_ containerView] isAnimating];
-}
-
-void ToolbarActionsBarBridge::StopAnimating() {
-  // Unfortunately, animating the browser actions container affects neighboring
-  // views (like the omnibox), which could also be animating. Because of this,
-  // instead of just ending the animation, the cleanest way to terminate is to
-  // "animate" to the current frame.
-  [controller_ resizeContainerToWidth:
-      NSWidth([[controller_ containerView] frame])];
-}
-
-void ToolbarActionsBarBridge::ShowToolbarActionBubble(
-    std::unique_ptr<ToolbarActionsBarBubbleDelegate> bubble) {
-  [controller_ createMessageBubble:std::move(bubble)];
-}
-
-bool ToolbarActionsBarBridge::CloseOverflowMenuIfOpen() {
-  return false;
-}
-
-}  // namespace
-
-@implementation BrowserActionsController
-
-@synthesize maxWidth = maxWidth_;
-@synthesize containerView = containerView_;
-@synthesize browser = browser_;
-@synthesize isOverflow = isOverflow_;
-
-#pragma mark -
-#pragma mark Public Methods
-
-- (id)initWithBrowser:(Browser*)browser
-        containerView:(BrowserActionsContainerView*)container
-       mainController:(BrowserActionsController*)mainController {
-  DCHECK(browser && container);
-
-  if ((self = [super init])) {
-    browser_ = browser;
-    isOverflow_ = mainController != nil;
-
-    toolbarActionsBarBridge_.reset(new ToolbarActionsBarBridge(self));
-    ToolbarActionsBar* mainBar =
-        mainController ? [mainController toolbarActionsBar] : nullptr;
-    toolbarActionsBar_.reset(
-        new ToolbarActionsBar(toolbarActionsBarBridge_.get(),
-                              browser_,
-                              mainBar));
-    viewsBubblePresenter_ =
-        std::make_unique<ToolbarActionsBarBubbleViewsPresenter>(self);
-
-    containerView_ = container;
-    [containerView_ setMinWidth:toolbarActionsBar_->GetMinimumWidth()];
-    [containerView_ setPostsFrameChangedNotifications:YES];
-    [[NSNotificationCenter defaultCenter]
-        addObserver:self
-           selector:@selector(containerFrameChanged:)
-               name:NSViewFrameDidChangeNotification
-             object:containerView_];
-    [[NSNotificationCenter defaultCenter]
-        addObserver:self
-           selector:@selector(containerDragStart:)
-               name:kBrowserActionGrippyDragStartedNotification
-             object:containerView_];
-    [[NSNotificationCenter defaultCenter]
-        addObserver:self
-           selector:@selector(containerDragFinished:)
-               name:kBrowserActionGrippyDragFinishedNotification
-             object:containerView_];
-    [[NSNotificationCenter defaultCenter]
-        addObserver:self
-           selector:@selector(containerAnimationEnded:)
-               name:kBrowserActionsContainerAnimationEnded
-             object:containerView_];
-    [[NSNotificationCenter defaultCenter]
-        addObserver:self
-           selector:@selector(containerKeyEvent:)
-               name:kBrowserActionsContainerReceivedKeyEvent
-             object:containerView_];
-    // Listen for a finished drag from any button to make sure each open window
-    // stays in sync.
-    [[NSNotificationCenter defaultCenter]
-      addObserver:self
-         selector:@selector(actionButtonDragFinished:)
-             name:kBrowserActionButtonDragEndNotification
-           object:nil];
-
-    if (isOverflow_)
-      toolbarActionsBar_->SetOverflowRowWidth(NSWidth([containerView_ frame]));
-
-    buttons_.reset([[NSMutableArray alloc] init]);
-    toolbarActionsBar_->CreateActions();
-    [container setIsOverflow:isOverflow_];
-
-    focusedViewIndex_ = -1;
-  }
-
-  return self;
-}
-
-- (void)dealloc {
-  [self browserWillBeDestroyed];
-  [super dealloc];
-}
-
-- (void)browserWillBeDestroyed {
-  // Explicitly destroy the ToolbarActionsBar so all buttons get removed with a
-  // valid BrowserActionsController, and so we can verify state before
-  // destruction.
-  if (toolbarActionsBar_.get()) {
-    toolbarActionsBar_->DeleteActions();
-    toolbarActionsBar_.reset();
-  }
-  DCHECK_EQ(0u, [buttons_ count]);
-  [[NSNotificationCenter defaultCenter] removeObserver:self];
-  browser_ = nullptr;
-}
-
-- (void)update {
-  toolbarActionsBar_->Update();
-}
-
-- (NSUInteger)buttonCount {
-  return [buttons_ count];
-}
-
-- (NSUInteger)visibleButtonCount {
-  NSUInteger visibleCount = 0;
-  for (BrowserActionButton* button in buttons_.get())
-    visibleCount += [button superview] == containerView_;
-  return visibleCount;
-}
-
-- (gfx::Size)preferredSize {
-  return toolbarActionsBar_->GetFullSize();
-}
-
-- (NSPoint)popupPointForId:(const std::string&)id {
-  BrowserActionButton* button = [self buttonForId:id];
-  if (!button)
-    return NSZeroPoint;
-
-  NSRect bounds;
-  NSView* referenceButton = button;
-  if ([button superview] != containerView_ || isOverflow_) {
-    bounds = [[[self toolbarController] appMenuButton] bounds];
-  } else {
-    bounds = [button convertRect:[button frameAfterAnimation]
-                        fromView:[button superview]];
-  }
-
-  return [self popupPointForView:referenceButton withBounds:bounds];
-}
-
-- (content::WebContents*)currentWebContents {
-  return browser_->tab_strip_model()->GetActiveWebContents();
-}
-
-- (BrowserActionButton*)mainButtonForId:(const std::string&)id {
-  BrowserActionsController* mainController = isOverflow_ ?
-      [[self toolbarController] browserActionsController] : self;
-  return [mainController buttonForId:id];
-}
-
-- (ToolbarActionsBar*)toolbarActionsBar {
-  return toolbarActionsBar_.get();
-}
-
-- (void)setFocusedInOverflow:(BOOL)focused {
-  BOOL isFocused = focusedViewIndex_ != -1;
-  if (isFocused != focused) {
-    int index = focused ?
-        [buttons_ count] - toolbarActionsBar_->GetIconCount() : -1;
-    [self setFocusedViewIndex:index];
-  }
-}
-
-- (gfx::Size)sizeForOverflowWidth:(int)maxWidth {
-  toolbarActionsBar_->SetOverflowRowWidth(maxWidth);
-  return [self preferredSize];
-}
-
-- (void)bubbleWindowClosing {
-  toolbarActionsBar_->OnBubbleClosed();
-}
-
-- (void)updateMaxWidth {
-  const CGFloat ownMaxWidth = toolbarActionsBar_->GetMaximumWidth() +
-                              kBrowserActionHorizontalPadding * 2;
-  containerView_.maxWidth =
-      (maxWidth_ ? std::min(maxWidth_, ownMaxWidth) : ownMaxWidth);
-}
-
-- (void)setMaxWidth:(CGFloat)maxWidth {
-  maxWidth_ = maxWidth;
-  [self updateMaxWidth];
-}
-
-- (void)addViewForAction:(ToolbarActionViewController*)action
-               withIndex:(NSUInteger)index {
-  const gfx::Size size = toolbarActionsBar_->GetViewSize();
-  NSRect buttonFrame = NSMakeRect(NSMaxX([containerView_ bounds]), 0,
-                                  size.width(), size.height());
-  BrowserActionButton* newButton =
-      [[[BrowserActionButton alloc]
-         initWithFrame:buttonFrame
-        viewController:action
-            controller:self] autorelease];
-  [newButton setTarget:self];
-  [newButton setAction:@selector(browserActionClicked:)];
-  [buttons_ insertObject:newButton atIndex:index];
-
-  [self updateMaxWidth];
-  [[NSNotificationCenter defaultCenter]
-      addObserver:self
-         selector:@selector(actionButtonDragging:)
-             name:kBrowserActionButtonDraggingNotification
-           object:newButton];
-}
-
-- (void)redraw {
-  if ([containerView_ isHidden])
-    return;  // Container is hidden; no need to update.
-
-  std::unique_ptr<ui::NinePartImageIds> highlight;
-  if (toolbarActionsBar_->is_highlighting()) {
-    highlight.reset(
-        new ui::NinePartImageIds(IMAGE_GRID(IDR_DEVELOPER_MODE_HIGHLIGHT)));
-  }
-  [containerView_ setHighlight:std::move(highlight)];
-
-  std::vector<ToolbarActionViewController*> toolbarActions =
-      toolbarActionsBar_->GetActions();
-  // Check that every button has an action in the referenced actions.
-  // Tracking down crbug.com/653100.
-  // TODO(devlin): Remove or relax this one the bug is fixed?
-  for (BrowserActionButton* button in buttons_.get()) {
-    CHECK(base::ContainsValue(toolbarActions, [button viewController]));
-  }
-  // Reorder |buttons_| to reflect |toolbarActions|. (Ugly n^2 sort, but the
-  // data set should be tiny.)
-  for (size_t refIndex = 0; refIndex < toolbarActions.size(); ++refIndex) {
-    NSUInteger buttonIndex = refIndex;
-    ToolbarActionViewController* refAction = toolbarActions[refIndex];
-    for (; buttonIndex < [buttons_ count]; ++buttonIndex) {
-      if ([[self buttonAtIndex:buttonIndex] viewController] == refAction)
-        break;
-    }
-    CHECK_LT(buttonIndex, [buttons_ count]);
-    if (buttonIndex != refIndex)
-      [buttons_ exchangeObjectAtIndex:buttonIndex withObjectAtIndex:refIndex];
-  }
-
-  NSUInteger startIndex = toolbarActionsBar_->GetStartIndexInBounds();
-  NSUInteger endIndex = toolbarActionsBar_->GetEndIndexInBounds();
-  for (NSUInteger i = 0; i < [buttons_ count]; ++i) {
-    BrowserActionButton* button = [buttons_ objectAtIndex:i];
-    if ([button isBeingDragged])
-      continue;
-
-    [self moveButton:[buttons_ objectAtIndex:i] toIndex:i];
-
-    if (i >= startIndex && i < endIndex) {
-      // Make sure the button is within the visible container.
-      if ([button superview] != containerView_) {
-        // We add the subview under the sibling views so that when it
-        // "slides in", it does so under its neighbors.
-        [containerView_ addSubview:button
-                        positioned:NSWindowBelow
-                        relativeTo:nil];
-      }
-      // We need to set the alpha value in case the container has resized.
-      [button setAlphaValue:1.0];
-    } else if ([button superview] == containerView_ &&
-               ![containerView_ userIsResizing]) {
-      // If the user is resizing, all buttons are (and should be) on the
-      // container view.
-      [button removeFromSuperview];
-      [button setAlphaValue:0.0];
-    }
-  }
-}
-
-- (void)removeViewForAction:(ToolbarActionViewController*)action {
-  // We're about to remove the button view from the container as well as from
-  // |buttons_|, so make sure we retain a reference.
-  base::scoped_nsobject<BrowserActionButton> button(
-      [[self buttonForId:action->GetId()] retain]);
-
-  // Note: We remove the button from the view and the buttons list first because
-  // destroying it (or calling -onRemoved) can cause redraws, and we don't want
-  // to include it when the view is gone.
-  [button removeFromSuperview];
-  [buttons_ removeObject:button];
-
-  [self updateMaxWidth];
-  [button onRemoved];
-}
-
-- (void)removeAllViews {
-  for (BrowserActionButton* button in buttons_.get()) {
-    [button removeFromSuperview];
-    [button onRemoved];
-  }
-  [buttons_ removeAllObjects];
-}
-
-- (void)resizeContainerToWidth:(CGFloat)width {
-  // Cocoa goes a little crazy if we try and change animations while adjusting
-  // child frames (i.e., the buttons). If the toolbar is already animating,
-  // just jump to the new frame. (This typically only happens if someone is
-  // "spamming" a button to add/remove an action.) If the window isn't visible
-  // (for example it's in the process of being created), don't bother animating.
-  BOOL animate = !toolbarActionsBar_->suppress_animation() &&
-      ![containerView_ isAnimating] && [[containerView_ window] isVisible];
-  [self updateContainerVisibility];
-  [containerView_ resizeToWidth:width + kBrowserActionHorizontalPadding * 2
-                        animate:animate];
-  [containerView_ setNeedsDisplay:YES];
-
-  if (!animate) {
-    [[NSNotificationCenter defaultCenter]
-        postNotificationName:kBrowserActionVisibilityChangedNotification
-                      object:self];
-  }
-  [self redraw];
-  [[containerView_ window] invalidateCursorRectsForView:containerView_];
-}
-
-- (BOOL)updateContainerVisibility {
-  BOOL hidden = [buttons_ count] == 0;
-  if ([containerView_ isHidden] != hidden)
-    [containerView_ setHidden:hidden];
-  return !hidden;
-}
-
-- (void)updateButtonOpacity {
-  for (BrowserActionButton* button in buttons_.get()) {
-    NSRect buttonFrame = [button frameAfterAnimation];
-    // The button is fully in the container view, and should get full opacity.
-    if (NSContainsRect([containerView_ bounds], buttonFrame)) {
-      if ([button alphaValue] != 1.0)
-        [button setAlphaValue:1.0];
-
-      continue;
-    }
-    // The button is only partially in the container view. If the user is
-    // resizing the container, we have partial alpha so the icon fades in as
-    // space is made. Otherwise, hide the icon fully.
-    CGFloat alpha = 0.0;
-    if ([containerView_ userIsResizing]) {
-      CGFloat intersectionWidth =
-          NSWidth(NSIntersectionRect([containerView_ bounds], buttonFrame));
-      alpha = std::max(static_cast<CGFloat>(0.0),
-                       intersectionWidth / NSWidth(buttonFrame));
-    }
-    [button setAlphaValue:alpha];
-    [button setNeedsDisplay:YES];
-  }
-}
-
-- (void)updateButtonPositions {
-  for (NSUInteger index = 0; index < [buttons_ count]; ++index) {
-    BrowserActionButton* button = [buttons_ objectAtIndex:index];
-    NSRect buttonFrame = [self frameForIndex:index];
-
-    // If the button is at the proper position (or animating to it), then we
-    // don't need to update its position.
-    if (NSMinX([button frameAfterAnimation]) == NSMinX(buttonFrame))
-      continue;
-
-    // In LTR, We set the x-origin by calculating the proper distance from the
-    // right edge in the container so that, if the container is animating, the
-    // button appears stationary.
-    if (!cocoa_l10n_util::ShouldDoExperimentalRTLLayout()) {
-      buttonFrame.origin.x =
-          NSWidth([containerView_ frame]) -
-          (toolbarActionsBar_->GetFullSize().width() - NSMinX(buttonFrame));
-    }
-    [button setFrame:buttonFrame animate:NO];
-  }
-}
-
-- (BrowserActionButton*)buttonForId:(const std::string&)id {
-  for (BrowserActionButton* button in buttons_.get()) {
-    if ([button viewController]->GetId() == id)
-      return button;
-  }
-  return nil;
-}
-
-- (BrowserActionButton*)buttonAtIndex:(NSUInteger)index {
-  return static_cast<BrowserActionButton*>([buttons_ objectAtIndex:index]);
-}
-
-- (void)containerFrameChanged:(NSNotification*)notification {
-  [self updateButtonPositions];
-  [self updateButtonOpacity];
-  [[containerView_ window] invalidateCursorRectsForView:containerView_];
-  [self redraw];
-}
-
-- (void)containerDragStart:(NSNotification*)notification {
-  for (BrowserActionButton* button in buttons_.get()) {
-    if ([button superview] != containerView_) {
-      [button setAlphaValue:1.0];
-      [containerView_ addSubview:button];
-    }
-  }
-}
-
-- (void)containerDragFinished:(NSNotification*)notification {
-  toolbarActionsBar_->OnResizeComplete(NSWidth(containerView_.bounds));
-  [[containerView_ window] invalidateCursorRectsForView:containerView_];
-}
-
-- (void)containerAnimationEnded:(NSNotification*)notification {
-  if (![containerView_ isAnimating])
-    toolbarActionsBar_->OnAnimationEnded();
-}
-
-- (void)containerKeyEvent:(NSNotification*)notification {
-  DCHECK(isOverflow_);  // We only manually process key events in overflow.
-
-  NSDictionary* dict = [notification userInfo];
-  BrowserActionsContainerKeyAction action =
-      static_cast<BrowserActionsContainerKeyAction>(
-          [[dict objectForKey:kBrowserActionsContainerKeyEventKey] intValue]);
-  switch (action) {
-    case BROWSER_ACTIONS_DECREMENT_FOCUS:
-    case BROWSER_ACTIONS_INCREMENT_FOCUS: {
-      NSInteger newIndex = focusedViewIndex_ +
-          (action == BROWSER_ACTIONS_INCREMENT_FOCUS ? 1 : -1);
-      NSInteger minIndex =
-          [buttons_ count] - toolbarActionsBar_->GetIconCount();
-      if (newIndex >= minIndex && newIndex < static_cast<int>([buttons_ count]))
-        [self setFocusedViewIndex:newIndex];
-      break;
-    }
-    case BROWSER_ACTIONS_EXECUTE_CURRENT: {
-      if (focusedViewIndex_ != -1) {
-        BrowserActionButton* focusedButton =
-            [self buttonAtIndex:focusedViewIndex_];
-        [focusedButton performClick:focusedButton];
-      }
-      break;
-    }
-    case BROWSER_ACTIONS_INVALID_KEY_ACTION:
-      NOTREACHED();
-  }
-}
-
-- (void)actionButtonDragging:(NSNotification*)notification {
-  // Determine what index the dragged button should lie in, alter the model and
-  // reposition the buttons.
-  BrowserActionButton* draggedButton = [notification object];
-
-  if (!isDraggingSession_) {
-    for (BrowserActionButton* button : buttons_.get()) {
-      if (button != draggedButton)
-        [[button cell] setIsHoverDisabled:YES];
-    }
-    isDraggingSession_ = YES;
-  }
-
-  NSRect draggedButtonFrame = [draggedButton frame];
-  // Find the mid-point. We flip the y-coordinates so that y = 0 is at the
-  // top of the container to make row calculation more logical.
-  NSPoint midPoint =
-      NSMakePoint(NSMidX(draggedButtonFrame),
-                  NSMaxY([containerView_ bounds]) - NSMidY(draggedButtonFrame));
-
-  if (cocoa_l10n_util::ShouldDoExperimentalRTLLayout())
-    midPoint.x = NSWidth([containerView_ frame]) - midPoint.x;
-
-  // Calculate the row index and the index in the row. We bound the latter
-  // because the view can go farther right than the right-most icon in the last
-  // row of the overflow menu.
-  const gfx::Size size = toolbarActionsBar_->GetViewSize();
-  NSInteger rowIndex = midPoint.y / size.height();
-  int icons_per_row = isOverflow_ ?
-      toolbarActionsBar_->platform_settings().icons_per_overflow_menu_row :
-      toolbarActionsBar_->GetIconCount();
-  NSInteger indexInRow =
-      std::min(icons_per_row - 1, static_cast<int>(midPoint.x / size.width()));
-
-  // Find the desired index for the button.
-  NSInteger maxIndex = [buttons_ count] - 1;
-  NSInteger offset = isOverflow_ ?
-      [buttons_ count] - toolbarActionsBar_->GetIconCount() : 0;
-  NSInteger index =
-      std::min(maxIndex, offset + rowIndex * icons_per_row + indexInRow);
-
-  toolbarActionsBar_->OnDragDrop([buttons_ indexOfObject:draggedButton],
-                                 index,
-                                 ToolbarActionsBar::DRAG_TO_SAME);
-}
-
-- (void)actionButtonDragFinished:(NSNotification*)notification {
-  BrowserActionButton* draggedButton = [notification object];
-  for (BrowserActionButton* button : buttons_.get()) {
-    if (button != draggedButton)
-      [[button cell] setIsHoverDisabled:NO];
-  }
-
-  isDraggingSession_ = NO;
-  [self redraw];
-}
-
-- (NSRect)frameForIndex:(NSUInteger)index {
-  gfx::Rect frameRect = toolbarActionsBar_->GetFrameForIndex(index);
-  const gfx::Size size = toolbarActionsBar_->GetViewSize();
-  int iconWidth = size.width();
-  // The toolbar actions bar will return an empty rect if the index is for an
-  // action that is before range we show (i.e., is for a button that's on the
-  // main bar, and this is the overflow). Set the frame to be outside the bounds
-  // of the view.
-  NSRect frame = frameRect.IsEmpty()
-                     ? NSMakeRect(-iconWidth - 1, 0, iconWidth, size.height())
-                     : NSRectFromCGRect(frameRect.ToCGRect());
-
-  // We need to flip the y coordinate for Cocoa's view system.
-  frame.origin.y = NSHeight([containerView_ frame]) - NSMaxY(frame);
-  if (cocoa_l10n_util::ShouldDoExperimentalRTLLayout()) {
-    frame.origin.x = NSWidth([containerView_ frame]) - NSWidth(frame) -
-                     NSMinX(frame) - kBrowserActionHorizontalPadding;
-  } else {
-    frame.origin.x += kBrowserActionHorizontalPadding;
-  }
-  return frame;
-}
-
-- (NSPoint)popupPointForView:(NSView*)view
-                  withBounds:(NSRect)bounds {
-  NSPoint anchor =
-      NSMakePoint(NSMaxX(bounds), [view isFlipped] ? NSMaxY(bounds) : 0);
-  // Convert the point to the container view's frame, and adjust for animation.
-  NSPoint anchorInContainer =
-      [containerView_ convertPoint:anchor fromView:view];
-  if (cocoa_l10n_util::ShouldDoExperimentalRTLLayout()) {
-    anchorInContainer.x += NSMaxX([containerView_ frame]) -
-                           NSMaxX([containerView_ animationEndFrame]);
-  } else {
-    anchorInContainer.x -= NSMinX([containerView_ frame]) -
-                           NSMinX([containerView_ animationEndFrame]);
-  }
-
-  return [containerView_ convertPoint:anchorInContainer toView:nil];
-}
-
-- (void)moveButton:(BrowserActionButton*)button
-           toIndex:(NSUInteger)index {
-  NSRect buttonFrame = [self frameForIndex:index];
-
-  CGFloat currentX = NSMinX([button frame]);
-  CGFloat xLeft =
-      toolbarActionsBar_->GetFullSize().width() - NSMinX(buttonFrame);
-  // We check if the button is already in the correct place for the toolbar's
-  // current size. This could mean that the button could be the correct distance
-  // from the left or from the right edge. If it has the correct distance, we
-  // don't move it, and it will be updated when the container frame changes.
-  // This way, if the user has extensions A and C installed, and installs
-  // extension B between them, extension C appears to stay stationary on the
-  // screen while the toolbar expands to the left (even though C's bounds within
-  // the container change).
-  if ((currentX == NSMinX(buttonFrame) ||
-       currentX == NSWidth([containerView_ frame]) - xLeft) &&
-      NSMinY([button frame]) == NSMinY(buttonFrame)) {
-    // If the button is in the right place, but animating, we need to stop the
-    // animation.
-    if ([button isAnimating])
-      [button stopAnimation];
-    return;
-  }
-
-  // It's possible the button is already animating to the right place. Don't
-  // call move again, because it will stop the current animation.
-  if (!NSEqualRects(buttonFrame, [button frameAfterAnimation])) {
-    [button setFrame:buttonFrame
-             animate:!toolbarActionsBar_->suppress_animation() && !isOverflow_];
-  }
-}
-
-- (BOOL)browserActionClicked:(BrowserActionButton*)button {
-  return [button viewController]->ExecuteAction(true);
-}
-
-- (ToolbarController*)toolbarController {
-  return [[BrowserWindowController browserWindowControllerForWindow:
-             browser_->window()->GetNativeWindow()] toolbarController];
-}
-
-- (void)createMessageBubble:
-    (std::unique_ptr<ToolbarActionsBarBubbleDelegate>)delegate {
-  NSView* anchorView = nil;
-  BOOL anchoredToAction = NO;
-  if (!delegate->GetAnchorActionId().empty()) {
-    BrowserActionButton* button =
-        [self buttonForId:delegate->GetAnchorActionId()];
-    if (button && [button superview]) {
-      anchorView = button;
-      anchoredToAction = YES;
-    } else {
-      anchorView = [[self toolbarController] appMenuButton];
-    }
-  } else {
-    anchorView = containerView_;
-  }
-
-  DCHECK_GE([buttons_ count], 0u);
-  NSPoint anchor = [self popupPointForView:anchorView
-                                withBounds:[anchorView bounds]];
-
-  NSWindow* parentWindow = [containerView_ window];
-  anchor = ui::ConvertPointFromWindowToScreen(parentWindow, anchor);
-  viewsBubblePresenter_->PresentAt(std::move(delegate), parentWindow, anchor,
-                                   anchoredToAction);
-}
-
-- (void)setFocusedViewIndex:(NSInteger)index {
-  DCHECK(isOverflow_);
-  focusedViewIndex_ = index;
-}
-
-#pragma mark -
-#pragma mark Testing Methods
-
-- (BrowserActionButton*)buttonWithIndex:(NSUInteger)index {
-  return index < [buttons_ count] ? [buttons_ objectAtIndex:index] : nil;
-}
-
-@end
diff --git a/chrome/browser/ui/cocoa/extensions/extension_action_platform_delegate_cocoa.h b/chrome/browser/ui/cocoa/extensions/extension_action_platform_delegate_cocoa.h
deleted file mode 100644
index cf09f12..0000000
--- a/chrome/browser/ui/cocoa/extensions/extension_action_platform_delegate_cocoa.h
+++ /dev/null
@@ -1,50 +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 CHROME_BROWSER_UI_COCOA_EXTENSIONS_EXTENSION_ACTION_PLATFORM_DELEGATE_COCOA_H_
-#define CHROME_BROWSER_UI_COCOA_EXTENSIONS_EXTENSION_ACTION_PLATFORM_DELEGATE_COCOA_H_
-
-#import <Foundation/Foundation.h>
-
-#include "base/macros.h"
-#include "chrome/browser/ui/extensions/extension_action_platform_delegate.h"
-#include "content/public/browser/notification_observer.h"
-#include "content/public/browser/notification_registrar.h"
-
-// The Cocoa-specific implementation for ExtensionActionPlatformDelegate.
-class ExtensionActionPlatformDelegateCocoa
-    : public ExtensionActionPlatformDelegate,
-      public content::NotificationObserver {
- public:
-  ExtensionActionPlatformDelegateCocoa(
-      ExtensionActionViewController* controller);
-  ~ExtensionActionPlatformDelegateCocoa() override;
-
- private:
-  // ExtensionActionPlatformDelegate:
-  void RegisterCommand() override;
-  void OnDelegateSet() override;
-  void ShowPopup(
-      std::unique_ptr<extensions::ExtensionViewHost> host,
-      bool grant_tab_permissions,
-      ExtensionActionViewController::PopupShowAction show_action) override;
-  void ShowContextMenu() override;
-
-  // content::NotificationObserver:
-  void Observe(int type,
-               const content::NotificationSource& source,
-               const content::NotificationDetails& details) override;
-
-  // Returns the point at which the popup should be shown in window coordinates.
-  NSPoint GetPopupPoint() const;
-
-  // The main controller for this extension action.
-  ExtensionActionViewController* controller_;
-
-  content::NotificationRegistrar registrar_;
-
-  DISALLOW_COPY_AND_ASSIGN(ExtensionActionPlatformDelegateCocoa);
-};
-
-#endif  // CHROME_BROWSER_UI_COCOA_EXTENSIONS_EXTENSION_ACTION_PLATFORM_DELEGATE_COCOA_H_
diff --git a/chrome/browser/ui/cocoa/extensions/extension_action_platform_delegate_cocoa.mm b/chrome/browser/ui/cocoa/extensions/extension_action_platform_delegate_cocoa.mm
deleted file mode 100644
index a64f5a2..0000000
--- a/chrome/browser/ui/cocoa/extensions/extension_action_platform_delegate_cocoa.mm
+++ /dev/null
@@ -1,148 +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.
-
-#import "chrome/browser/ui/cocoa/extensions/extension_action_platform_delegate_cocoa.h"
-
-#include <string>
-#include <utility>
-
-#include "base/logging.h"
-#include "base/memory/ptr_util.h"
-#include "chrome/browser/extensions/extension_action.h"
-#include "chrome/browser/extensions/extension_view_host.h"
-#include "chrome/browser/ui/browser.h"
-#include "chrome/browser/ui/browser_window.h"
-#include "chrome/browser/ui/cocoa/browser_dialogs_views_mac.h"
-#import "chrome/browser/ui/cocoa/browser_window_controller.h"
-#import "chrome/browser/ui/cocoa/extensions/browser_action_button.h"
-#import "chrome/browser/ui/cocoa/extensions/browser_actions_controller.h"
-#import "chrome/browser/ui/cocoa/extensions/extension_popup_views_mac.h"
-#import "chrome/browser/ui/cocoa/location_bar/location_bar_view_mac.h"
-#import "chrome/browser/ui/cocoa/toolbar/toolbar_controller.h"
-#include "chrome/browser/ui/toolbar/toolbar_action_view_delegate.h"
-#include "chrome/common/extensions/api/extension_action/action_info.h"
-#include "content/public/browser/notification_details.h"
-#include "content/public/browser/notification_source.h"
-#include "extensions/browser/notification_types.h"
-#include "extensions/common/extension.h"
-#import "ui/base/cocoa/cocoa_base_utils.h"
-#include "ui/base/ui_features.h"
-#include "ui/gfx/geometry/point.h"
-#import "ui/gfx/mac/coordinate_conversion.h"
-#include "ui/gfx/native_widget_types.h"
-
-namespace {
-
-// Returns the notification to listen to for activation for a particular
-// |extension_action|.
-int GetNotificationTypeForAction(const ExtensionAction& extension_action) {
-  if (extension_action.action_type() == extensions::ActionInfo::TYPE_BROWSER)
-    return extensions::NOTIFICATION_EXTENSION_COMMAND_BROWSER_ACTION_MAC;
-
-  // We should only have page and browser action types.
-  DCHECK_EQ(extensions::ActionInfo::TYPE_PAGE, extension_action.action_type());
-  return extensions::NOTIFICATION_EXTENSION_COMMAND_PAGE_ACTION_MAC;
-}
-
-}  // namespace
-
-// static
-std::unique_ptr<ExtensionActionPlatformDelegate>
-ExtensionActionPlatformDelegate::CreateCocoa(
-    ExtensionActionViewController* controller) {
-  return base::WrapUnique(new ExtensionActionPlatformDelegateCocoa(controller));
-}
-
-#if !BUILDFLAG(MAC_VIEWS_BROWSER)
-std::unique_ptr<ExtensionActionPlatformDelegate>
-ExtensionActionPlatformDelegate::Create(
-    ExtensionActionViewController* controller) {
-  return CreateCocoa(controller);
-}
-#endif
-
-ExtensionActionPlatformDelegateCocoa::ExtensionActionPlatformDelegateCocoa(
-    ExtensionActionViewController* controller)
-    : controller_(controller) {
-}
-
-ExtensionActionPlatformDelegateCocoa::~ExtensionActionPlatformDelegateCocoa() {
-}
-
-void ExtensionActionPlatformDelegateCocoa::RegisterCommand() {
-  // Commands are handled elsewhere for Cocoa.
-}
-
-void ExtensionActionPlatformDelegateCocoa::OnDelegateSet() {
-  registrar_.Add(
-      this,
-      GetNotificationTypeForAction(*controller_->extension_action()),
-      content::Source<Profile>(controller_->browser()->profile()));
-}
-
-void ExtensionActionPlatformDelegateCocoa::ShowPopup(
-    std::unique_ptr<extensions::ExtensionViewHost> host,
-    bool grant_tab_permissions,
-    ExtensionActionViewController::PopupShowAction show_action) {
-
-  ExtensionPopup::ShowAction popupShowAction =
-      show_action == ExtensionActionViewController::SHOW_POPUP
-          ? ExtensionPopup::SHOW
-          : ExtensionPopup::SHOW_AND_INSPECT;
-  gfx::NativeWindow containingWindow =
-      controller_->browser()->window()->GetNativeWindow();
-  NSPoint pointWindow = GetPopupPoint();
-  NSPoint pointScreen =
-      ui::ConvertPointFromWindowToScreen(containingWindow, pointWindow);
-  gfx::Point viewsScreenPoint = gfx::ScreenPointFromNSPoint(pointScreen);
-  ExtensionPopupViewsMac::ShowPopup(std::move(host), containingWindow,
-                                    viewsScreenPoint, popupShowAction);
-}
-
-void ExtensionActionPlatformDelegateCocoa::ShowContextMenu() {
-  // We should only use this code path for extensions shown in the toolbar.
-  BrowserWindowController* windowController = [BrowserWindowController
-      browserWindowControllerForWindow:controller_->browser()
-                                           ->window()
-                                           ->GetNativeWindow()];
-  BrowserActionsController* actionsController =
-      [[windowController toolbarController] browserActionsController];
-  [[actionsController mainButtonForId:controller_->GetId()] showContextMenu];
-}
-
-NSPoint ExtensionActionPlatformDelegateCocoa::GetPopupPoint() const {
-  BrowserWindowController* windowController =
-      [BrowserWindowController browserWindowControllerForWindow:
-          controller_->browser()->window()->GetNativeWindow()];
-  BrowserActionsController* actionsController =
-      [[windowController toolbarController] browserActionsController];
-  return [actionsController popupPointForId:controller_->GetId()];
-}
-
-void ExtensionActionPlatformDelegateCocoa::Observe(
-    int type,
-    const content::NotificationSource& source,
-    const content::NotificationDetails& details) {
-  switch (type) {
-    case extensions::NOTIFICATION_EXTENSION_COMMAND_BROWSER_ACTION_MAC:
-    case extensions::NOTIFICATION_EXTENSION_COMMAND_PAGE_ACTION_MAC: {
-      DCHECK_EQ(type,
-                GetNotificationTypeForAction(*controller_->extension_action()));
-      std::pair<const std::string, gfx::NativeWindow>* payload =
-          content::Details<std::pair<const std::string, gfx::NativeWindow> >(
-              details).ptr();
-      const std::string& extension_id = payload->first;
-      gfx::NativeWindow window = payload->second;
-      if (window == controller_->browser()->window()->GetNativeWindow() &&
-          extension_id == controller_->extension()->id() &&
-          controller_->IsEnabled(
-              controller_->view_delegate()->GetCurrentWebContents())) {
-        controller_->ExecuteAction(true);
-      }
-      break;
-    }
-    default:
-      NOTREACHED() << "Unexpected notification";
-  }
-}
diff --git a/chrome/browser/ui/cocoa/extensions/extension_message_bubble_views_browsertest_mac.mm b/chrome/browser/ui/cocoa/extensions/extension_message_bubble_views_browsertest_mac.mm
deleted file mode 100644
index 1322ef8..0000000
--- a/chrome/browser/ui/cocoa/extensions/extension_message_bubble_views_browsertest_mac.mm
+++ /dev/null
@@ -1,110 +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 <Cocoa/Cocoa.h>
-
-#include "build/buildflag.h"
-#include "chrome/browser/ui/browser_window.h"
-#import "chrome/browser/ui/cocoa/browser_window_controller.h"
-#import "chrome/browser/ui/cocoa/extensions/browser_action_button.h"
-#import "chrome/browser/ui/cocoa/extensions/browser_actions_controller.h"
-#import "chrome/browser/ui/cocoa/extensions/toolbar_actions_bar_bubble_views_presenter.h"
-#import "chrome/browser/ui/cocoa/toolbar/toolbar_controller.h"
-#include "chrome/browser/ui/extensions/extension_message_bubble_browsertest.h"
-#include "chrome/browser/ui/views/toolbar/toolbar_actions_bar_bubble_views.h"
-#include "ui/base/ui_features.h"
-#import "ui/gfx/mac/coordinate_conversion.h"
-
-namespace {
-
-// Returns the ToolbarController for the given browser.
-ToolbarController* ToolbarControllerForBrowser(Browser* browser) {
-  return [[BrowserWindowController
-      browserWindowControllerForWindow:browser->window()->GetNativeWindow()]
-      toolbarController];
-}
-
-}  // namespace
-
-@interface BrowserActionsController (ViewsTestingAPI)
-- (ToolbarActionsBarBubbleViewsPresenter*)presenter;
-@end
-
-@implementation BrowserActionsController (ViewsTestingAPI)
-- (ToolbarActionsBarBubbleViewsPresenter*)presenter {
-  return viewsBubblePresenter_.get();
-}
-@end
-
-namespace test {
-
-class ToolbarActionsBarBubbleViewsPresenterTestApi {
- public:
-  static ToolbarActionsBarBubbleViews* GetBubble(
-      ToolbarActionsBarBubbleViewsPresenter* presenter) {
-    return presenter->active_bubble_;
-  }
-};
-
-}  // namespace test
-
-// static
-ToolbarActionsBarBubbleViews*
-ExtensionMessageBubbleBrowserTest::GetViewsBubbleForCocoaBrowser(
-    Browser* browser) {
-  ToolbarController* toolbarController = ToolbarControllerForBrowser(browser);
-  BrowserActionsController* actionsController =
-      [toolbarController browserActionsController];
-  return test::ToolbarActionsBarBubbleViewsPresenterTestApi::GetBubble(
-      [actionsController presenter]);
-}
-
-#if !BUILDFLAG(MAC_VIEWS_BROWSER)
-// static
-ToolbarActionsBarBubbleViews*
-ExtensionMessageBubbleBrowserTest::GetViewsBubbleForBrowser(Browser* browser) {
-  return GetViewsBubbleForCocoaBrowser(browser);
-}
-#endif
-
-// static
-gfx::Rect
-ExtensionMessageBubbleBrowserTest::GetAnchorReferenceBoundsForCocoaBrowser(
-    Browser* browser,
-    AnchorPosition anchor) {
-  ToolbarController* toolbarController = ToolbarControllerForBrowser(browser);
-  BrowserActionsController* actionsController =
-      [toolbarController browserActionsController];
-  NSView* anchor_view = nil;
-  switch (anchor) {
-    case ExtensionMessageBubbleBrowserTest::ANCHOR_BROWSER_ACTION:
-      anchor_view = [actionsController buttonWithIndex:0];
-      break;
-    case ExtensionMessageBubbleBrowserTest::ANCHOR_APP_MENU:
-      anchor_view = [toolbarController appMenuButton];
-      break;
-  }
-  EXPECT_TRUE(anchor_view);
-  NSWindow* parent_window = [anchor_view window];
-
-  ToolbarActionsBarBubbleViews* bubble = GetViewsBubbleForBrowser(browser);
-  EXPECT_TRUE(bubble);
-  EXPECT_EQ([parent_window contentView], bubble->parent_window());
-
-  NSRect anchor_bounds_in_window =
-      [anchor_view convertRect:[anchor_view bounds] toView:nil];
-  NSRect reference_bounds_in_screen =
-      [parent_window convertRectToScreen:anchor_bounds_in_window];
-
-  return gfx::ScreenRectFromNSRect(reference_bounds_in_screen);
-}
-
-#if !BUILDFLAG(MAC_VIEWS_BROWSER)
-// static
-gfx::Rect ExtensionMessageBubbleBrowserTest::GetAnchorReferenceBoundsForBrowser(
-    Browser* browser,
-    AnchorPosition anchor) {
-  return GetAnchorReferenceBoundsForCocoaBrowser(browser, anchor);
-}
-#endif
diff --git a/chrome/browser/ui/cocoa/extensions/extension_popup_views_mac.h b/chrome/browser/ui/cocoa/extensions/extension_popup_views_mac.h
deleted file mode 100644
index 3b900ff..0000000
--- a/chrome/browser/ui/cocoa/extensions/extension_popup_views_mac.h
+++ /dev/null
@@ -1,45 +0,0 @@
-// Copyright 2018 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef CHROME_BROWSER_UI_COCOA_EXTENSIONS_EXTENSION_POPUP_VIEWS_MAC_H_
-#define CHROME_BROWSER_UI_COCOA_EXTENSIONS_EXTENSION_POPUP_VIEWS_MAC_H_
-
-#import <Foundation/Foundation.h>
-
-#include <memory>
-
-#import "base/mac/scoped_nsobject.h"
-#include "base/macros.h"
-#include "chrome/browser/ui/views/extensions/extension_popup.h"
-#include "ui/gfx/native_widget_types.h"
-#include "ui/views/bubble/bubble_border.h"
-
-// Bridges NSWindow and the Anchor View expected by ExtensionPopup.
-class ExtensionPopupViewsMac : public ExtensionPopup {
- public:
-  ~ExtensionPopupViewsMac() override;
-
-  // Create and show a popup with the given |host| anchored at |anchor_point| in
-  // screen coordinates. The |parent_window| serves as the parent to the popup
-  // and is used to handle dismissing the popup on activation and lifetime
-  // events. |show_action| controls the dismissal of the popup with respect to
-  // dev tools. The actual display of the popup is delayed until the page
-  // contents finish loading in order to minimize UI flashing and resizing.
-  static ExtensionPopupViewsMac* ShowPopup(
-      std::unique_ptr<extensions::ExtensionViewHost> host,
-      gfx::NativeWindow parent_window,
-      const gfx::Point& anchor_point,
-      ExtensionPopup::ShowAction show_action);
-
- private:
-  ExtensionPopupViewsMac(std::unique_ptr<extensions::ExtensionViewHost> host,
-                         const gfx::Point& anchor_point,
-                         ExtensionPopup::ShowAction show_action);
-
-  base::scoped_nsobject<NSMutableArray> observer_tokens_;
-
-  DISALLOW_COPY_AND_ASSIGN(ExtensionPopupViewsMac);
-};
-
-#endif  // CHROME_BROWSER_UI_COCOA_EXTENSIONS_EXTENSION_POPUP_VIEWS_MAC_H_
diff --git a/chrome/browser/ui/cocoa/extensions/extension_popup_views_mac.mm b/chrome/browser/ui/cocoa/extensions/extension_popup_views_mac.mm
deleted file mode 100644
index 2383e89..0000000
--- a/chrome/browser/ui/cocoa/extensions/extension_popup_views_mac.mm
+++ /dev/null
@@ -1,57 +0,0 @@
-// Copyright 2018 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chrome/browser/ui/cocoa/extensions/extension_popup_views_mac.h"
-
-#import <AppKit/AppKit.h>
-
-#include "chrome/browser/extensions/extension_view_host.h"
-#import "chrome/browser/ui/cocoa/bubble_anchor_helper_views.h"
-#include "ui/gfx/geometry/point.h"
-#include "ui/views/bubble/bubble_dialog_delegate_view.h"
-
-ExtensionPopupViewsMac::~ExtensionPopupViewsMac() {
-  // ObjC id collides with views::View::id().
-  for (::id token in observer_tokens_.get())
-    [[NSNotificationCenter defaultCenter] removeObserver:token];
-}
-
-// static
-ExtensionPopupViewsMac* ExtensionPopupViewsMac::ShowPopup(
-    std::unique_ptr<extensions::ExtensionViewHost> host,
-    gfx::NativeWindow parent_window,
-    const gfx::Point& anchor_point,
-    ExtensionPopup::ShowAction show_action) {
-  // We can't use std::make_unique here as the constructor is private.
-  std::unique_ptr<ExtensionPopupViewsMac> popup_owned(
-      new ExtensionPopupViewsMac(std::move(host), anchor_point, show_action));
-  auto* popup = popup_owned.get();
-  popup->set_parent_window([parent_window contentView]);
-  views::BubbleDialogDelegateView::CreateBubble(popup_owned.release());
-
-  KeepBubbleAnchored(popup);
-
-  NSNotificationCenter* center = [NSNotificationCenter defaultCenter];
-  // ObjC id collides with views::View::id().
-  ::id token = [center addObserverForName:NSWindowDidBecomeKeyNotification
-                                   object:parent_window
-                                    queue:nil
-                               usingBlock:^(NSNotification* notification) {
-                                 popup->CloseUnlessUnderInspection();
-                               }];
-  [popup->observer_tokens_ addObject:token];
-  return popup;
-}
-
-ExtensionPopupViewsMac::ExtensionPopupViewsMac(
-    std::unique_ptr<extensions::ExtensionViewHost> host,
-    const gfx::Point& anchor_point,
-    ExtensionPopup::ShowAction show_action)
-    : ExtensionPopup(host.release(),
-                     nullptr,
-                     views::BubbleBorder::TOP_RIGHT /* views flips for RTL. */,
-                     show_action),
-      observer_tokens_([[NSMutableArray alloc] init]) {
-  SetAnchorRect(gfx::Rect(anchor_point, gfx::Size()));
-}
diff --git a/chrome/browser/ui/cocoa/extensions/toolbar_actions_bar_bubble_views_presenter.h b/chrome/browser/ui/cocoa/extensions/toolbar_actions_bar_bubble_views_presenter.h
deleted file mode 100644
index 9d32da8..0000000
--- a/chrome/browser/ui/cocoa/extensions/toolbar_actions_bar_bubble_views_presenter.h
+++ /dev/null
@@ -1,56 +0,0 @@
-// Copyright 2017 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef CHROME_BROWSER_UI_COCOA_EXTENSIONS_TOOLBAR_ACTIONS_BAR_BUBBLE_VIEWS_PRESENTER_H_
-#define CHROME_BROWSER_UI_COCOA_EXTENSIONS_TOOLBAR_ACTIONS_BAR_BUBBLE_VIEWS_PRESENTER_H_
-
-#import <Foundation/Foundation.h>
-
-#include <memory>
-
-#include "base/macros.h"
-#include "ui/views/widget/widget_observer.h"
-
-@class NSWindow;
-
-namespace test {
-class ToolbarActionsBarBubbleViewsPresenterTestApi;
-}
-
-@class BrowserActionsController;
-class ToolbarActionsBarBubbleDelegate;
-class ToolbarActionsBarBubbleViews;
-
-// Helper class for showing a toolkit-views toolbar action bubble on a Cocoa
-// browser.
-class ToolbarActionsBarBubbleViewsPresenter : public views::WidgetObserver {
- public:
-  explicit ToolbarActionsBarBubbleViewsPresenter(
-      BrowserActionsController* owner);
-  ~ToolbarActionsBarBubbleViewsPresenter() override;
-
-  // Presents |bubble| attached to the provided browser |parent_window| at
-  // |point_in_screen|. |anchored_to_action_view| indicates that the anchor is
-  // a specific browser action view, rather than something more general.
-  void PresentAt(std::unique_ptr<ToolbarActionsBarBubbleDelegate> bubble,
-                 NSWindow* parent_window,
-                 NSPoint point_in_screen,
-                 bool anchored_to_action_view);
-
- private:
-  friend class test::ToolbarActionsBarBubbleViewsPresenterTestApi;
-
-  // WidgetObserver:
-  void OnWidgetClosing(views::Widget* widget) override;
-  void OnWidgetDestroying(views::Widget* widget) override;
-
-  BrowserActionsController* owner_;  // Weak. Owns |this|.
-
-  // Weak. Owns by its Widget (observed by |this|).
-  ToolbarActionsBarBubbleViews* active_bubble_;
-
-  DISALLOW_COPY_AND_ASSIGN(ToolbarActionsBarBubbleViewsPresenter);
-};
-
-#endif  // CHROME_BROWSER_UI_COCOA_EXTENSIONS_TOOLBAR_ACTIONS_BAR_BUBBLE_VIEWS_PRESENTER_H_
diff --git a/chrome/browser/ui/cocoa/extensions/toolbar_actions_bar_bubble_views_presenter.mm b/chrome/browser/ui/cocoa/extensions/toolbar_actions_bar_bubble_views_presenter.mm
deleted file mode 100644
index 59fa7db..0000000
--- a/chrome/browser/ui/cocoa/extensions/toolbar_actions_bar_bubble_views_presenter.mm
+++ /dev/null
@@ -1,57 +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 "chrome/browser/ui/cocoa/extensions/toolbar_actions_bar_bubble_views_presenter.h"
-
-#import <Cocoa/Cocoa.h>
-
-#include "chrome/browser/ui/cocoa/bubble_anchor_helper_views.h"
-#import "chrome/browser/ui/cocoa/extensions/browser_actions_controller.h"
-#include "chrome/browser/ui/toolbar/toolbar_actions_bar_bubble_delegate.h"
-#include "chrome/browser/ui/views/toolbar/toolbar_actions_bar_bubble_views.h"
-#import "ui/gfx/mac/coordinate_conversion.h"
-#include "ui/views/widget/widget.h"
-
-ToolbarActionsBarBubbleViewsPresenter::ToolbarActionsBarBubbleViewsPresenter(
-    BrowserActionsController* owner)
-    : owner_(owner), active_bubble_(nullptr) {}
-
-ToolbarActionsBarBubbleViewsPresenter::
-    ~ToolbarActionsBarBubbleViewsPresenter() {
-  // Child windows should never outlive the controller that owns |this|.
-  DCHECK(!active_bubble_)
-      << "|active_bubble_| should be cleared by OnWidgetDestroying().";
-}
-
-void ToolbarActionsBarBubbleViewsPresenter::PresentAt(
-    std::unique_ptr<ToolbarActionsBarBubbleDelegate> delegate,
-    NSWindow* parent_window,
-    NSPoint point_in_screen,
-    bool anchored_to_action_view) {
-  gfx::Point views_point = gfx::ScreenPointFromNSPoint(point_in_screen);
-  // For a Cocoa browser, the presenter must pass nullptr for |anchor_view|.
-  ToolbarActionsBarBubbleViews* bubble = new ToolbarActionsBarBubbleViews(
-      nullptr, views_point, anchored_to_action_view, std::move(delegate));
-  bubble->set_parent_window([parent_window contentView]);
-  active_bubble_ = bubble;
-  views::BubbleDialogDelegateView::CreateBubble(bubble);
-  bubble->GetWidget()->AddObserver(this);
-  bubble->Show();
-  KeepBubbleAnchored(bubble);
-}
-
-void ToolbarActionsBarBubbleViewsPresenter::OnWidgetClosing(
-    views::Widget* widget) {
-  // OnWidgetClosing() gives an earlier signal than OnWidgetDestroying() but is
-  // not called when the bubble is closed synchronously. Note the observer is
-  // removed so it's impossible for both methods to be triggered.
-  OnWidgetDestroying(widget);
-}
-
-void ToolbarActionsBarBubbleViewsPresenter::OnWidgetDestroying(
-    views::Widget* widget) {
-  active_bubble_ = nullptr;
-  [owner_ bubbleWindowClosing];
-  widget->RemoveObserver(this);
-}
diff --git a/chrome/browser/ui/cocoa/harmony_button.h b/chrome/browser/ui/cocoa/harmony_button.h
deleted file mode 100644
index 12f0e34..0000000
--- a/chrome/browser/ui/cocoa/harmony_button.h
+++ /dev/null
@@ -1,25 +0,0 @@
-// Copyright 2017 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef CHROME_BROWSER_UI_COCOA_HARMONY_BUTTON_H_
-#define CHROME_BROWSER_UI_COCOA_HARMONY_BUTTON_H_
-
-#import <AppKit/AppKit.h>
-
-#import "ui/base/cocoa/hover_button.h"
-
-// HarmonyButton follows the Harmony design spec. It has slightly rounded
-// corners, a border, and a shadow that appears on hover. Its color scheme
-// tracks the active theme. Not every part of the spec for Harmony buttons has
-// been implemented: it doesn't look different if it's the default button, or
-// if it's disabled, for instance. Anyone who needs these things is encouraged
-// to find joy in adding support for them.
-
-@interface HarmonyButton : HoverButtonCocoa
-+ (instancetype)buttonWithTitle:(NSString*)title
-                         target:(id)target
-                         action:(SEL)action;
-@end
-
-#endif  // CHROME_BROWSER_UI_COCOA_HARMONY_BUTTON_H_
diff --git a/chrome/browser/ui/cocoa/harmony_button.mm b/chrome/browser/ui/cocoa/harmony_button.mm
deleted file mode 100644
index c3fcd7f..0000000
--- a/chrome/browser/ui/cocoa/harmony_button.mm
+++ /dev/null
@@ -1,254 +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 "chrome/browser/ui/cocoa/harmony_button.h"
-
-#import "base/mac/scoped_cftyperef.h"
-#import "chrome/browser/themes/theme_properties.h"
-#import "chrome/browser/ui/cocoa/themed_window.h"
-#include "skia/ext/skia_utils_mac.h"
-#import "ui/base/cocoa/nsview_additions.h"
-#import "ui/base/theme_provider.h"
-
-namespace {
-
-NSColor* GetBackgroundColor(CloseButtonHoverState state, BOOL dark_theme) {
-  if (dark_theme) {
-    switch (state) {
-      case kHoverStateNone:
-        return [NSColor colorWithCalibratedWhite:1 alpha:0.12];
-      case kHoverStateMouseOver:
-        return [NSColor colorWithCalibratedWhite:1 alpha:0.18];
-      case kHoverStateMouseDown:
-        return [NSColor colorWithCalibratedWhite:1 alpha:0.22];
-    }
-  } else {
-    switch (state) {
-      case kHoverStateNone:
-        return [NSColor colorWithCalibratedWhite:1 alpha:1];
-      case kHoverStateMouseOver:
-        return [NSColor colorWithCalibratedWhite:0.98 alpha:1];
-      case kHoverStateMouseDown:
-        return [NSColor colorWithCalibratedWhite:0.95 alpha:1];
-    }
-  }
-}
-
-NSColor* GetBorderColor(BOOL dark_theme) {
-  return [NSColor colorWithCalibratedWhite:dark_theme ? 1 : 0 alpha:0.3];
-}
-
-NSColor* GetShadowColor() {
-  return NSColor.blackColor;
-}
-
-constexpr CGFloat kHarmonyButtonFontSize = 12;
-
-constexpr CGFloat kHarmonyButtonTextAlpha = 0x8A / (CGFloat)0xFF;
-
-constexpr CGSize kHarmonyButtonNormalShadowOffset{0, 0};
-constexpr CGSize kHarmonyButtonMouseOverShadowOffset{0, 1};
-
-constexpr CGFloat kHarmonyButtonNormalShadowOpacity = 0;
-constexpr CGFloat kHarmonyButtonMouseOverShadowOpacity = 0.1;
-
-constexpr CGFloat kHarmonyButtonNormalShadowRadius = 0;
-constexpr CGFloat kHarmonyButtonMouseOverShadowRadius = 2;
-
-constexpr CGFloat kHarmonyButtonCornerRadius = 3;
-constexpr CGFloat kHarmonyButtonXPadding = 16;
-constexpr CGFloat kHarmonyButtonMinWidth = 64;
-constexpr CGFloat kHarmonyButtonHeight = 28;
-
-// The text is a bit too low by default; offset the title rect to center it.
-constexpr CGFloat kHarmonyButtonTextYOffset = 1;
-
-constexpr NSTimeInterval kHarmonyButtonTransitionDuration = 0.25;
-
-}  // namespace
-
-@interface HarmonyButtonCell : NSButtonCell
-@end
-
-@implementation HarmonyButtonCell
-- (NSRect)titleRectForBounds:(NSRect)rect {
-  rect.origin.y -= kHarmonyButtonTextYOffset;
-  return rect;
-}
-@end
-
-@implementation HarmonyButton
-
-+ (instancetype)buttonWithTitle:(NSString*)title
-                         target:(id)target
-                         action:(SEL)action {
-  HarmonyButton* button = [[[self alloc] initWithFrame:NSZeroRect] autorelease];
-  button.title = title;
-  button.target = target;
-  button.action = action;
-  [button sizeToFit];
-  return button;
-}
-
-+ (Class)cellClass {
-  return [HarmonyButtonCell class];
-}
-
-- (instancetype)initWithFrame:(NSRect)frameRect {
-  if ((self = [super initWithFrame:frameRect])) {
-    self.bezelStyle = NSRoundedBezelStyle;
-    self.bordered = NO;
-    self.wantsLayer = YES;
-    CALayer* layer = self.layer;
-    layer.shadowColor = GetShadowColor().CGColor;
-    layer.cornerRadius = kHarmonyButtonCornerRadius;
-    [self updateBorderWidth];
-    [self updateHoverButtonAppearanceAnimated:NO];
-  }
-  return self;
-}
-
-- (void)updateBorderWidth {
-  self.layer.borderWidth = [self cr_lineWidth];
-}
-
-- (void)updateHoverButtonAppearanceAnimated:(BOOL)animated {
-  if (!self.window)
-    return;
-
-  const ui::ThemeProvider* themeProvider = [self.window themeProvider];
-  const BOOL darkTheme = [self.window hasDarkTheme];
-  CALayer* layer = self.layer;
-
-  if (animated) {
-    [NSAnimationContext beginGrouping];
-    NSAnimationContext* context = [NSAnimationContext currentContext];
-    context.allowsImplicitAnimation = YES;
-    context.duration = kHarmonyButtonTransitionDuration;
-  } else {
-    [layer removeAllAnimations];
-  }
-
-  switch (self.hoverState) {
-    case kHoverStateNone:
-      layer.shadowOffset = kHarmonyButtonNormalShadowOffset;
-      layer.shadowOpacity = kHarmonyButtonNormalShadowOpacity;
-      layer.shadowRadius = kHarmonyButtonNormalShadowRadius;
-      break;
-    case kHoverStateMouseOver:
-    case kHoverStateMouseDown:
-      layer.shadowOffset = kHarmonyButtonMouseOverShadowOffset;
-      layer.shadowOpacity = kHarmonyButtonMouseOverShadowOpacity;
-      layer.shadowRadius = kHarmonyButtonMouseOverShadowRadius;
-      break;
-  }
-
-  layer.borderColor =
-      (themeProvider && themeProvider->ShouldIncreaseContrast())
-          ? CGColorGetConstantColor(darkTheme ? kCGColorWhite : kCGColorBlack)
-          : GetBorderColor(darkTheme).CGColor;
-  layer.backgroundColor =
-      GetBackgroundColor(self.hoverState, darkTheme).CGColor;
-
-  if (animated) {
-    [NSAnimationContext endGrouping];
-  }
-}
-
-// HoverButtonCocoa overrides.
-
-- (void)setHoverState:(CloseButtonHoverState)state {
-  if (state == hoverState_) {
-    return;
-  }
-  const BOOL animated =
-      state != kHoverStateMouseDown && hoverState_ != kHoverStateMouseDown;
-  hoverState_ = state;
-  [self updateHoverButtonAppearanceAnimated:animated];
-}
-
-// NSButton overrides.
-
-- (void)setTitle:(NSString*)title {
-  NSColor* textColor;
-  if (const ui::ThemeProvider* themeProvider = [self.window themeProvider]) {
-    textColor = themeProvider->GetNSColor(ThemeProperties::COLOR_TAB_TEXT);
-    if (!themeProvider->ShouldIncreaseContrast())
-      textColor = [textColor colorWithAlphaComponent:kHarmonyButtonTextAlpha];
-  } else {
-    textColor = [NSColor controlTextColor];
-  }
-
-  NSFont* font;
-  if (@available(macOS 10.11, *)) {
-    font = [NSFont systemFontOfSize:kHarmonyButtonFontSize
-                             weight:NSFontWeightMedium];
-  } else {
-    font = [[NSFontManager sharedFontManager]
-        convertWeight:YES
-               ofFont:[NSFont systemFontOfSize:kHarmonyButtonFontSize]];
-  }
-
-  base::scoped_nsobject<NSMutableParagraphStyle> paragraphStyle(
-      [[NSParagraphStyle defaultParagraphStyle] mutableCopy]);
-  paragraphStyle.get().alignment = NSCenterTextAlignment;
-  base::scoped_nsobject<NSAttributedString> attributedTitle(
-      [[NSAttributedString alloc]
-          initWithString:title
-              attributes:@{
-                NSFontAttributeName : font,
-                NSForegroundColorAttributeName : textColor,
-                NSParagraphStyleAttributeName : paragraphStyle,
-              }]);
-  if (![self.attributedTitle isEqual:attributedTitle])
-    self.attributedTitle = attributedTitle;
-}
-
-// NSControl overrides.
-
-- (void)sizeToFit {
-  NSSize size = self.attributedTitle.size;
-  size.width += kHarmonyButtonXPadding * 2;
-  size = [self backingAlignedRect:NSMakeRect(0, 0, size.width, size.height)
-                          options:NSAlignAllEdgesOutward]
-             .size;
-  [self setFrameSize:NSMakeSize(size.width > kHarmonyButtonMinWidth
-                                    ? size.width
-                                    : kHarmonyButtonMinWidth,
-                                kHarmonyButtonHeight)];
-}
-
-// NSView overrides.
-
-- (void)layout {
-  CALayer* layer = self.layer;
-  layer.shadowPath =
-      base::ScopedCFTypeRef<CGPathRef>(CGPathCreateWithRoundedRect(
-          layer.bounds,
-          MIN(layer.cornerRadius, CGRectGetWidth(layer.bounds) / 2),
-          MIN(layer.cornerRadius, CGRectGetHeight(layer.bounds) / 2), nullptr));
-  [self updateHoverButtonAppearanceAnimated:NO];
-  self.title = self.title;  // Match the theme.
-  [super layout];
-}
-
-- (void)drawFocusRingMask {
-  CGFloat radius = self.layer.cornerRadius;
-  [[NSBezierPath bezierPathWithRoundedRect:self.bounds
-                                   xRadius:radius
-                                   yRadius:radius] fill];
-}
-
-- (void)viewDidChangeBackingProperties {
-  [super viewDidChangeBackingProperties];
-  [self updateBorderWidth];
-}
-
-// This is undocumented. Without it, NSView sets `self.layer.masksToBounds =
-// YES` whenever the view is resized, clipping the shadow.
-- (BOOL)clipsToBounds {
-  return NO;
-}
-
-@end
diff --git a/chrome/browser/ui/cocoa/harmony_button_unittest.mm b/chrome/browser/ui/cocoa/harmony_button_unittest.mm
deleted file mode 100644
index f79ecc5..0000000
--- a/chrome/browser/ui/cocoa/harmony_button_unittest.mm
+++ /dev/null
@@ -1,44 +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 "chrome/browser/ui/cocoa/harmony_button.h"
-
-#import "base/mac/scoped_nsobject.h"
-#import "chrome/browser/ui/cocoa/test/cocoa_test_helper.h"
-
-namespace {
-
-class HarmonyButtonTest : public ui::CocoaTest {
- public:
-  HarmonyButtonTest() {
-    base::scoped_nsobject<HarmonyButton> button(
-        [[HarmonyButton alloc] initWithFrame:NSMakeRect(0, 0, 20, 20)]);
-    button_ = button;
-    [[test_window() contentView] addSubview:button_];
-  }
-
- protected:
-  HarmonyButton* button_;  // Weak, owned by test_window().
-};
-
-TEST_VIEW(HarmonyButtonTest, button_)
-
-// Verify that displaying a button that's smaller than double the corner radius
-// doesn't crash. (CGPathCreateWithRoundedRect throws an exception if you pass
-// it a radius that's too big).
-TEST_F(HarmonyButtonTest, TooSmall) {
-  CGFloat cornerRadius = button_.layer.cornerRadius;
-  EXPECT_LT(0, cornerRadius);
-  [button_ setFrameSize:NSMakeSize(cornerRadius, cornerRadius)];
-  [button_ layoutSubtreeIfNeeded];
-  [button_ displayIfNeeded];
-}
-
-TEST(HarmonyButtonTestMore, NSViewRespondsToClipsToBounds) {
-  // HarmonyButton implements an undocumented method to avoid having its shadow
-  // clipped, so verify that it hasn't disappeared.
-  EXPECT_TRUE([NSView instancesRespondToSelector:@selector(clipsToBounds)]);
-}
-
-}  // namespace
diff --git a/chrome/browser/ui/cocoa/location_bar/bubble_decoration.h b/chrome/browser/ui/cocoa/location_bar/bubble_decoration.h
deleted file mode 100644
index d92d810..0000000
--- a/chrome/browser/ui/cocoa/location_bar/bubble_decoration.h
+++ /dev/null
@@ -1,70 +0,0 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef CHROME_BROWSER_UI_COCOA_LOCATION_BAR_BUBBLE_DECORATION_H_
-#define CHROME_BROWSER_UI_COCOA_LOCATION_BAR_BUBBLE_DECORATION_H_
-
-#import <Cocoa/Cocoa.h>
-
-#include "base/gtest_prod_util.h"
-#include "base/mac/scoped_nsobject.h"
-#include "base/macros.h"
-#include "chrome/browser/ui/cocoa/location_bar/location_bar_decoration.h"
-
-// Draws an outlined rounded rect, with an optional image to the left
-// and an optional text label to the right.
-
-class BubbleDecoration : public LocationBarDecoration {
- public:
-  BubbleDecoration();
-  ~BubbleDecoration() override;
-
-  // Setup the drawing parameters.
-  NSImage* GetImage();
-  virtual NSColor* GetBackgroundBorderColor() = 0;
-  void SetImage(NSImage* image);
-  void SetLabel(NSString* label);
-  void SetTextColor(NSColor* text_color);
-  void SetFont(NSFont* font);
-  void SetRetinaBaselineOffset(CGFloat offset);
-
-  // Implement |LocationBarDecoration|.
-  CGFloat GetWidthForSpace(CGFloat width) override;
-  NSRect GetBackgroundFrame(NSRect frame) override;
-  void DrawInFrame(NSRect frame, NSView* control_view) override;
-  NSRect GetTrackingFrame(NSRect frame) override;
-  NSFont* GetFont() const override;
-
- protected:
-  // Helper returning bubble width for the given |image| and |label|
-  // assuming |font_| (for sizing text).  Arguments can be nil.
-  CGFloat GetWidthForImageAndLabel(NSImage* image, NSString* label);
-
-  // Helper to return where the image is drawn, for subclasses to drag
-  // from.  |frame| is the decoration's frame in the containing cell.
-  NSRect GetImageRectInFrame(NSRect frame);
-
-  // Returns the text color when the theme is dark.
-  virtual NSColor* GetDarkModeTextColor();
-
-  // Returns false if the |label_| is nil or empty.
-  bool HasLabel() const;
-
-  // Image drawn in the left side of the bubble.
-  base::scoped_nsobject<NSImage> image_;
-
-  // Label to draw to right of image.  Can be |nil|.
-  base::scoped_nsobject<NSString> label_;
-
-  // Contains attribute for drawing |label_|.
-  base::scoped_nsobject<NSMutableDictionary> attributes_;
-
- private:
-  // Contains any Retina-only baseline adjustment for |label_|.
-  CGFloat retina_baseline_offset_;
-
-  DISALLOW_COPY_AND_ASSIGN(BubbleDecoration);
-};
-
-#endif  // CHROME_BROWSER_UI_COCOA_LOCATION_BAR_BUBBLE_DECORATION_H_
diff --git a/chrome/browser/ui/cocoa/location_bar/bubble_decoration.mm b/chrome/browser/ui/cocoa/location_bar/bubble_decoration.mm
deleted file mode 100644
index c75054e..0000000
--- a/chrome/browser/ui/cocoa/location_bar/bubble_decoration.mm
+++ /dev/null
@@ -1,209 +0,0 @@
-// Copyright (c) 2010 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include <cmath>
-
-#import "chrome/browser/ui/cocoa/location_bar/bubble_decoration.h"
-
-#include "base/logging.h"
-#include "base/mac/foundation_util.h"
-#include "chrome/browser/ui/cocoa/l10n_util.h"
-#import "chrome/browser/ui/cocoa/themed_window.h"
-#include "skia/ext/skia_utils_mac.h"
-#import "ui/base/cocoa/nsview_additions.h"
-#include "ui/base/material_design/material_design_controller.h"
-#include "ui/gfx/scoped_ns_graphics_context_save_gstate_mac.h"
-
-namespace {
-
-// This is used to increase the left padding of this decoration.
-const CGFloat kLeftSidePadding = 5.0;
-
-// Padding between the icon/label and bubble edges.
-const CGFloat kBubblePadding = 7.0;
-
-const CGFloat kImageOnlyPadding = 10.0;
-
-// Padding between the icon and label.
-const CGFloat kIconLabelPadding = 4.0;
-
-// Inset for the image frame.
-const CGFloat kImageFrameYInset = 4.0;
-
-// Inset for the background frame.
-const CGFloat kBackgroundFrameYInset = 2.0;
-
-// Margin for the background frame.
-const CGFloat kBackgroundFrameXMargin = 1.0;
-
-}  // namespace
-
-BubbleDecoration::BubbleDecoration() : retina_baseline_offset_(0) {
-  attributes_.reset([[NSMutableDictionary alloc] init]);
-  [attributes_ setObject:LocationBarDecoration::GetFont()
-                  forKey:NSFontAttributeName];
-}
-
-BubbleDecoration::~BubbleDecoration() {
-}
-
-CGFloat BubbleDecoration::GetWidthForImageAndLabel(NSImage* image,
-                                                   NSString* label) {
-  bool has_label = label && label.length;
-  if (!image && !has_label)
-    return kOmittedWidth;
-
-  const CGFloat image_width = image ? [image size].width : 0.0;
-  if (!has_label)
-    return kImageOnlyPadding + image_width;
-
-  // The bubble needs to take up an integral number of pixels.
-  // Generally -sizeWithAttributes: seems to overestimate rather than
-  // underestimate, so floor() seems to work better.
-  const CGFloat label_width =
-      std::floor([label sizeWithAttributes:attributes_].width);
-  return kBubblePadding + image_width + kIconLabelPadding + label_width +
-         DividerPadding() + kLeftSidePadding;
-}
-
-NSRect BubbleDecoration::GetImageRectInFrame(NSRect frame) {
-  NSRect image_rect = NSInsetRect(frame, 0.0, kImageFrameYInset);
-  if (image_) {
-    // Center the image vertically.
-    const NSSize image_size = [image_ size];
-
-    image_rect.origin.y +=
-        std::floor((NSHeight(image_rect) - image_size.height) / 2.0);
-    image_rect.origin.x += kLeftSidePadding;
-    image_rect.size = image_size;
-    if (cocoa_l10n_util::ShouldDoExperimentalRTLLayout()) {
-      image_rect.origin.x =
-          NSMaxX(frame) - NSWidth(image_rect) - kLeftSidePadding;
-    }
-  }
-  return image_rect;
-}
-
-NSColor* BubbleDecoration::GetDarkModeTextColor() {
-  return skia::SkColorToSRGBNSColor(kMaterialDarkModeTextColor);
-}
-
-CGFloat BubbleDecoration::GetWidthForSpace(CGFloat width) {
-  const CGFloat all_width = GetWidthForImageAndLabel(image_, label_);
-  if (all_width <= width)
-    return all_width;
-
-  const CGFloat image_width = GetWidthForImageAndLabel(image_, nil);
-  if (image_width <= width)
-    return image_width;
-
-  return kOmittedWidth;
-}
-
-NSRect BubbleDecoration::GetBackgroundFrame(NSRect frame) {
-  NSRect background_frame = NSInsetRect(frame, 0.0, kBackgroundFrameYInset);
-  const CGFloat divider_padding = HasLabel() ? DividerPadding() : 0.0;
-  if (cocoa_l10n_util::ShouldDoExperimentalRTLLayout()) {
-    background_frame.origin.x += divider_padding - kBackgroundFrameXMargin;
-    background_frame.size.width -= divider_padding + kBackgroundFrameXMargin;
-  } else {
-    background_frame.origin.x += kBackgroundFrameXMargin;
-    background_frame.size.width -= divider_padding + kBackgroundFrameXMargin;
-  }
-  return background_frame;
-}
-
-void BubbleDecoration::DrawInFrame(NSRect frame, NSView* control_view) {
-  const NSRect decoration_frame = NSInsetRect(frame, 0.0, kImageFrameYInset);
-  CGFloat text_left_offset = NSMinX(decoration_frame);
-  CGFloat text_right_offset = NSMaxX(decoration_frame);
-  const BOOL is_rtl = cocoa_l10n_util::ShouldDoExperimentalRTLLayout();
-
-  if (image_) {
-    NSRect image_rect = GetImageRectInFrame(frame);
-    [image_ drawInRect:image_rect
-              fromRect:NSZeroRect  // Entire image
-             operation:NSCompositeSourceOver
-              fraction:1.0
-        respectFlipped:YES
-                 hints:nil];
-    if (is_rtl)
-      text_right_offset = NSMinX(image_rect) - kIconLabelPadding;
-    else
-      text_left_offset = NSMaxX(image_rect) + kIconLabelPadding;
-  }
-
-  if (HasLabel()) {
-    // Draw the divider.
-    DrawDivider(control_view, decoration_frame, 1.0);
-
-    // Set the text color.
-    bool in_dark_mode = [[control_view window] inIncognitoModeWithSystemTheme];
-    NSColor* text_color =
-        in_dark_mode ? GetDarkModeTextColor() : GetBackgroundBorderColor();
-    SetTextColor(text_color);
-
-    NSRect text_rect = frame;
-    text_rect.origin.x = text_left_offset;
-    text_rect.size.width = text_right_offset - text_left_offset;
-    // Transform the coordinate system to adjust the baseline on Retina. This is
-    // the only way to get fractional adjustments.
-    gfx::ScopedNSGraphicsContextSaveGState saveGraphicsState;
-    CGFloat line_width = [control_view cr_lineWidth];
-    if (line_width < 1) {
-      NSAffineTransform* transform = [NSAffineTransform transform];
-      [transform translateXBy:0 yBy:retina_baseline_offset_];
-      [transform concat];
-    }
-    DrawLabel(label_, attributes_, text_rect);
-  }
-}
-
-NSRect BubbleDecoration::GetTrackingFrame(NSRect frame) {
-  NSRect tracking_frame = GetBackgroundFrame(frame);
-
-  // Include the divider width in the frame.
-  if (cocoa_l10n_util::ShouldDoExperimentalRTLLayout())
-    tracking_frame.origin.x -= 1;
-  else
-    tracking_frame.size.width += 1;
-
-  return tracking_frame;
-}
-
-NSFont* BubbleDecoration::GetFont() const {
-  return [attributes_ objectForKey:NSFontAttributeName];
-}
-
-NSImage* BubbleDecoration::GetImage() {
-  return image_;
-}
-
-void BubbleDecoration::SetImage(NSImage* image) {
-  image_.reset([image retain]);
-}
-
-void BubbleDecoration::SetLabel(NSString* label) {
-  // If the initializer was called with |nil|, then the code cannot
-  // process a label.
-  DCHECK(attributes_);
-  if (attributes_)
-    label_.reset([label copy]);
-}
-
-void BubbleDecoration::SetTextColor(NSColor* text_color) {
-  [attributes_ setObject:text_color forKey:NSForegroundColorAttributeName];
-}
-
-void BubbleDecoration::SetFont(NSFont* font) {
-  [attributes_ setObject:font forKey:NSFontAttributeName];
-}
-
-void BubbleDecoration::SetRetinaBaselineOffset(CGFloat offset) {
-  retina_baseline_offset_ = offset;
-}
-
-bool BubbleDecoration::HasLabel() const {
-  return label_ && [label_ length];
-}
diff --git a/chrome/browser/ui/cocoa/location_bar/image_decoration.h b/chrome/browser/ui/cocoa/location_bar/image_decoration.h
deleted file mode 100644
index 13482cf9..0000000
--- a/chrome/browser/ui/cocoa/location_bar/image_decoration.h
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef CHROME_BROWSER_UI_COCOA_LOCATION_BAR_IMAGE_DECORATION_H_
-#define CHROME_BROWSER_UI_COCOA_LOCATION_BAR_IMAGE_DECORATION_H_
-
-#import "base/mac/scoped_nsobject.h"
-#include "base/macros.h"
-#include "chrome/browser/ui/cocoa/location_bar/location_bar_decoration.h"
-
-// |LocationBarDecoration| which sizes and draws itself according to
-// an |NSImage|.
-
-class ImageDecoration : public LocationBarDecoration {
- public:
-  ImageDecoration();
-  ~ImageDecoration() override;
-
-  NSImage* GetImage();
-  void SetImage(NSImage* image);
-
-  // Returns the part of |frame| the image is drawn in.
-  NSRect GetDrawRectInFrame(NSRect frame);
-
-  // Implement |LocationBarDecoration|.
-  CGFloat GetWidthForSpace(CGFloat width) override;
-  void DrawInFrame(NSRect frame, NSView* control_view) override;
-
- private:
-  base::scoped_nsobject<NSImage> image_;
-
-  DISALLOW_COPY_AND_ASSIGN(ImageDecoration);
-};
-
-#endif  // CHROME_BROWSER_UI_COCOA_LOCATION_BAR_IMAGE_DECORATION_H_
diff --git a/chrome/browser/ui/cocoa/location_bar/image_decoration.mm b/chrome/browser/ui/cocoa/location_bar/image_decoration.mm
deleted file mode 100644
index 7606865e..0000000
--- a/chrome/browser/ui/cocoa/location_bar/image_decoration.mm
+++ /dev/null
@@ -1,56 +0,0 @@
-// Copyright (c) 2010 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include <cmath>
-
-#import "chrome/browser/ui/cocoa/location_bar/image_decoration.h"
-
-// The amount of horizontal padding around the image.
-const CGFloat kImageHorizontalPadding = 10.0;
-
-ImageDecoration::ImageDecoration() {
-}
-
-ImageDecoration::~ImageDecoration() {
-}
-
-NSImage* ImageDecoration::GetImage() {
-  return image_;
-}
-
-void ImageDecoration::SetImage(NSImage* image) {
-  image_.reset([image retain]);
-}
-
-NSRect ImageDecoration::GetDrawRectInFrame(NSRect frame) {
-  NSImage* image = GetImage();
-  if (!image)
-    return frame;
-
-  // Center the image within the frame.
-  const CGFloat delta_height = NSHeight(frame) - [image size].height;
-  const CGFloat y_inset = std::floor(delta_height / 2.0);
-  const CGFloat delta_width = NSWidth(frame) - [image size].width;
-  const CGFloat x_inset = std::floor(delta_width / 2.0);
-  return NSInsetRect(frame, x_inset, y_inset);
-}
-
-CGFloat ImageDecoration::GetWidthForSpace(CGFloat width) {
-  NSImage* image = GetImage();
-  if (image) {
-    const CGFloat image_width = [image size].width;
-    if (image_width <= width)
-      return image_width + kImageHorizontalPadding;
-  }
-  return kOmittedWidth;
-}
-
-void ImageDecoration::DrawInFrame(NSRect frame, NSView* control_view) {
-  [GetImage() drawInRect:GetDrawRectInFrame(frame)
-                fromRect:NSZeroRect  // Entire image
-               operation:NSCompositeSourceOver
-                fraction:1.0
-          respectFlipped:YES
-                   hints:nil];
-}
diff --git a/chrome/browser/ui/cocoa/location_bar/image_decoration_unittest.mm b/chrome/browser/ui/cocoa/location_bar/image_decoration_unittest.mm
deleted file mode 100644
index 216a598..0000000
--- a/chrome/browser/ui/cocoa/location_bar/image_decoration_unittest.mm
+++ /dev/null
@@ -1,59 +0,0 @@
-// Copyright (c) 2010 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#import <Cocoa/Cocoa.h>
-
-#import "chrome/browser/ui/cocoa/location_bar/image_decoration.h"
-
-#import "chrome/browser/ui/cocoa/test/cocoa_test_helper.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-namespace {
-
-class ImageDecorationTest : public CocoaTest {
- public:
-  ImageDecoration decoration_;
-};
-
-TEST_F(ImageDecorationTest, SetGetImage) {
-  EXPECT_FALSE(decoration_.GetImage());
-
-  const NSSize kImageSize = NSMakeSize(20.0, 20.0);
-  base::scoped_nsobject<NSImage> image(
-      [[NSImage alloc] initWithSize:kImageSize]);
-
-  decoration_.SetImage(image);
-  EXPECT_EQ(decoration_.GetImage(), image);
-
-  decoration_.SetImage(nil);
-  EXPECT_FALSE(decoration_.GetImage());
-}
-
-TEST_F(ImageDecorationTest, GetWidthForSpace) {
-  const CGFloat kWide = 100.0;
-  const CGFloat kNarrow = 10.0;
-  const CGFloat kImageHorizontalPadding = 10.0;
-
-  // Decoration with no image is omitted.
-  EXPECT_EQ(decoration_.GetWidthForSpace(kWide),
-            LocationBarDecoration::kOmittedWidth);
-
-  const NSSize kImageSize = NSMakeSize(20.0, 20.0);
-  base::scoped_nsobject<NSImage> image(
-      [[NSImage alloc] initWithSize:kImageSize]);
-
-  // Decoration takes up the space of the image and the horizontal padding.
-  decoration_.SetImage(image);
-  EXPECT_EQ(decoration_.GetWidthForSpace(kWide),
-            kImageSize.width + kImageHorizontalPadding);
-
-  // If the image doesn't fit, decoration is omitted.
-  EXPECT_EQ(decoration_.GetWidthForSpace(kNarrow),
-            LocationBarDecoration::kOmittedWidth);
-}
-
-// TODO(shess): It would be nice to test mouse clicks and dragging,
-// but those are hard because they require a real |owner|.
-
-}  // namespace
diff --git a/chrome/browser/ui/cocoa/location_bar/location_bar_view_mac.h b/chrome/browser/ui/cocoa/location_bar/location_bar_view_mac.h
index b6956e7..43ccc28 100644
--- a/chrome/browser/ui/cocoa/location_bar/location_bar_view_mac.h
+++ b/chrome/browser/ui/cocoa/location_bar/location_bar_view_mac.h
@@ -26,8 +26,6 @@
 class CommandUpdater;
 class LocationBarDecoration;
 class Profile;
-class ZoomDecoration;
-class ZoomDecorationTest;
 
 namespace {
 class LocationBarViewMacTest;
@@ -159,8 +157,6 @@
   // Returns true if the location bar is dark.
   bool IsLocationBarDark() const;
 
-  ZoomDecoration* zoom_decoration() const { return zoom_decoration_.get(); }
-
   Browser* browser() const { return browser_; }
 
   // ZoomManagerObserver:
@@ -174,7 +170,6 @@
 
  private:
   friend class LocationBarViewMacTest;
-  friend ZoomDecorationTest;
 
   // Posts |notification| to the default notification center.
   void PostNotification(NSString* notification);
@@ -185,10 +180,6 @@
   // tab contents state.
   bool RefreshContentSettingsDecorations();
 
-  // Updates the zoom decoration in the omnibox with the current zoom level.
-  // Returns whether any updates were made.
-  bool UpdateZoomDecoration(bool default_zoom_changed);
-
   // Returns pointers to all of the LocationBarDecorations owned by this
   // LocationBarViewMac. This helper function is used for positioning and
   // re-positioning accessibility views.
@@ -203,10 +194,6 @@
 
   AutocompleteTextField* field_;  // owned by tab controller
 
-  // A zoom icon at the end of the omnibox, which shows at non-standard zoom
-  // levels.
-  std::unique_ptr<ZoomDecoration> zoom_decoration_;
-
   Browser* browser_;
 
   // Used to change the visibility of the star decoration.
diff --git a/chrome/browser/ui/cocoa/location_bar/location_bar_view_mac.mm b/chrome/browser/ui/cocoa/location_bar/location_bar_view_mac.mm
index 1b6ea94..d01fea9 100644
--- a/chrome/browser/ui/cocoa/location_bar/location_bar_view_mac.mm
+++ b/chrome/browser/ui/cocoa/location_bar/location_bar_view_mac.mm
@@ -28,7 +28,6 @@
 #import "chrome/browser/ui/cocoa/l10n_util.h"
 #import "chrome/browser/ui/cocoa/location_bar/autocomplete_text_field.h"
 #import "chrome/browser/ui/cocoa/location_bar/autocomplete_text_field_cell.h"
-#import "chrome/browser/ui/cocoa/location_bar/zoom_decoration.h"
 #import "chrome/browser/ui/cocoa/omnibox/omnibox_view_mac.h"
 #import "chrome/browser/ui/cocoa/toolbar/toolbar_controller.h"
 #include "chrome/browser/ui/content_settings/content_setting_bubble_model.h"
@@ -85,7 +84,6 @@
       ChromeOmniboxEditController(command_updater),
       omnibox_view_(new OmniboxViewMac(this, profile, command_updater, field)),
       field_(field),
-      zoom_decoration_(new ZoomDecoration(this)),
       browser_(browser),
       location_bar_visible_(true) {
   edit_bookmarks_enabled_.Init(
@@ -211,7 +209,6 @@
 void LocationBarViewMac::SetEditable(bool editable) {
   [field_ setEditable:editable ? YES : NO];
   UpdateBookmarkStarVisibility();
-  UpdateZoomDecoration(/*default_zoom_changed=*/false);
   Layout();
 }
 
@@ -220,12 +217,6 @@
 }
 
 void LocationBarViewMac::ZoomChangedForActiveTab(bool can_show_bubble) {
-  bool changed = UpdateZoomDecoration(/*default_zoom_changed=*/false);
-  if (changed)
-    OnDecorationsChanged();
-
-  if (can_show_bubble && zoom_decoration_->IsVisible())
-    zoom_decoration_->ShowBubble(YES);
 }
 
 NSPoint LocationBarViewMac::GetBubblePointForDecoration(
@@ -234,14 +225,6 @@
 }
 
 void LocationBarViewMac::OnDecorationsChanged() {
-  // TODO(shess): The field-editor frame and cursor rects should not
-  // change, here.
-  std::vector<LocationBarDecoration*> decorations = GetDecorations();
-  for (auto* decoration : decorations)
-    UpdateAccessibilityView(decoration);
-  [field_ updateMouseTracking];
-  [field_ resetFieldEditorFrameIfNeeded];
-  [field_ setNeedsDisplay:YES];
 }
 
 // TODO(shess): This function should over time grow to closely match
@@ -254,7 +237,6 @@
   // the constructor.  I am still wrestling with how best to deal with
   // right-hand decorations, which are not a static set.
   [cell clearDecorations];
-  [cell addTrailingDecoration:zoom_decoration_.get()];
 
   // Get the keyword to use for keyword-search and hinting.
   const base::string16 keyword = omnibox_view_->model()->keyword();
@@ -288,7 +270,6 @@
   UpdateManagePasswordsIconAndBubble();
   UpdateBookmarkStarVisibility();
   UpdateSaveCreditCardIcon();
-  UpdateZoomDecoration(/*default_zoom_changed=*/false);
   RefreshContentSettingsDecorations();
   if (contents) {
     omnibox_view_->OnTabChanged(contents);
@@ -339,19 +320,6 @@
 }
 
 void LocationBarViewMac::UpdatePageActionIcon(PageActionIconType type) {
-  // TODO(https://crbug.com/788051): Return page action icons for updating here
-  // as update methods are migrated out of LocationBar to the
-  // PageActionIconContainer interface.
-  switch (type) {
-    case PageActionIconType::kFind:
-      // TODO(crbug/651643): Implement for mac.
-      NOTIMPLEMENTED();
-      break;
-    case PageActionIconType::kZoom:
-      UpdateZoomDecoration(/*default_zoom_changed=*/false);
-      OnChanged();
-      break;
-  }
 }
 
 PageInfoVerboseType LocationBarViewMac::GetPageInfoVerboseType() const {
@@ -436,77 +404,19 @@
   return false;
 }
 
-bool LocationBarViewMac::UpdateZoomDecoration(bool default_zoom_changed) {
-  WebContents* web_contents = GetWebContents();
-  if (!web_contents)
-    return false;
-
-  return zoom_decoration_->UpdateIfNecessary(
-      zoom::ZoomController::FromWebContents(web_contents), default_zoom_changed,
-      IsLocationBarDark());
-}
-
 void LocationBarViewMac::UpdateAccessibilityView(
     LocationBarDecoration* decoration) {
-  if (!decoration->IsVisible())
-    return;
-  // This uses |frame| instead of |bounds| because the accessibility views are
-  // parented to the toolbar.
-  NSRect apparent_frame =
-      [[field_ cell] frameForDecoration:decoration inFrame:[field_ frame]];
-
-  // This is a bit subtle:
-  // The decorations' accessibility views can become key to allow keyboard
-  // access to the location bar decorations, but Cocoa's automatic key view loop
-  // sorts by top-left coordinate. Since the omnibox's top-left coordinate is
-  // before its leading decorations, the omnibox would sort before its own
-  // leading decorations, which was logical but visually unintuitive. Therefore,
-  // for leading decorations, this method moves their frame to be "just before"
-  // the omnibox in automatic key view loop order, and gives them an apparent
-  // frame (see DecorationAccessibilityView) so that they still paint their
-  // focus rings at the right place.
-  //
-  // TODO(lgrey): This hack doesn't work in RTL layouts, but the layout of the
-  // omnibox is currently screwed up in RTL layouts anyway. See
-  // https://crbug.com/715627.
-  NSRect real_frame = apparent_frame;
-  int left_index = [[field_ cell] leadingDecorationIndex:decoration];
-
-  // If there are ever too many leading views, the fake x-coords might land
-  // before the button preceding the omnibox in the key view order. This
-  // threshold is just a guess.
-  DCHECK_LT(left_index, 10);
-  if (left_index != -1) {
-    CGFloat delta = left_index + 1;
-    real_frame.origin.x =
-        cocoa_l10n_util::ShouldDoExperimentalRTLLayout()
-            ? NSMaxX([field_ frame]) + delta - NSWidth(real_frame)
-            : NSMinX([field_ frame]) - delta;
-  }
-  decoration->UpdateAccessibilityView(apparent_frame);
-  [decoration->GetAccessibilityView() setFrame:real_frame];
-  [decoration->GetAccessibilityView() setNeedsDisplayInRect:apparent_frame];
 }
 
 std::vector<LocationBarDecoration*> LocationBarViewMac::GetDecorations() {
   std::vector<LocationBarDecoration*> decorations;
-
-  // TODO(ellyjones): page actions and keyword hints are not included right
-  // now. Keyword hints have no useful tooltip (issue 752592), and page actions
-  // are likewise.
-  decorations.push_back(zoom_decoration_.get());
   return decorations;
 }
 
 void LocationBarViewMac::OnDefaultZoomLevelChanged() {
-  if (UpdateZoomDecoration(/*default_zoom_changed=*/true))
-    OnDecorationsChanged();
 }
 
 std::vector<NSView*> LocationBarViewMac::GetDecorationAccessibilityViews() {
-  std::vector<LocationBarDecoration*> decorations = GetDecorations();
   std::vector<NSView*> views;
-  for (auto* decoration : decorations)
-    views.push_back(decoration->GetAccessibilityView());
   return views;
 }
diff --git a/chrome/browser/ui/cocoa/location_bar/zoom_decoration.h b/chrome/browser/ui/cocoa/location_bar/zoom_decoration.h
deleted file mode 100644
index ab15d3a..0000000
--- a/chrome/browser/ui/cocoa/location_bar/zoom_decoration.h
+++ /dev/null
@@ -1,83 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef CHROME_BROWSER_UI_COCOA_LOCATION_BAR_ZOOM_DECORATION_H_
-#define CHROME_BROWSER_UI_COCOA_LOCATION_BAR_ZOOM_DECORATION_H_
-
-#import <Cocoa/Cocoa.h>
-
-#include "base/macros.h"
-#include "chrome/browser/ui/cocoa/location_bar/image_decoration.h"
-
-class LocationBarViewMac;
-class ZoomDecorationTest;
-
-namespace zoom {
-class ZoomController;
-}
-
-// Zoom icon at the end of the omnibox (close to page actions) when at a
-// non-standard zoom level.
-class ZoomDecoration : public ImageDecoration {
- public:
-  explicit ZoomDecoration(LocationBarViewMac* owner);
-  ~ZoomDecoration() override;
-
-  // Called when this decoration should show or hide itself in its most current
-  // state. Returns whether any updates were made.
-  bool UpdateIfNecessary(zoom::ZoomController* zoom_controller,
-                         bool default_zoom_changed,
-                         bool location_bar_is_dark);
-
-  // Shows the zoom bubble for this decoration. If |auto_close| is YES, then
-  // the bubble will automatically close after a fixed period of time.
-  // If a bubble is already showing, the |auto_close| timer is reset.
-  void ShowBubble(BOOL auto_close);
-
-  // Closes the zoom bubble.
-  void CloseBubble();
-
- protected:
-  // Hides all UI associated with the zoom decoration.
-  // Virtual and protected for testing.
-  virtual void HideUI();
-
-  // Update UI associated with the zoom decoration.
-  // Virtual and protected for testing.
-  virtual void UpdateUI(zoom::ZoomController* zoom_controller,
-                        NSString* tooltip_string,
-                        bool location_bar_is_dark);
-
-  // Overridden from LocationBarDecoration:
-  const gfx::VectorIcon* GetMaterialVectorIcon() const override;
-
- private:
-  friend ZoomDecorationTest;
-
-  bool IsAtDefaultZoom() const;
-
-  // Returns true when |bubble_| or the views zoom bubble exists.
-  bool IsBubbleShown() const;
-
-  // Virtual for testing.
-  virtual bool ShouldShowDecoration() const;
-
-  // LocationBarDecoration implementation.
-  AcceptsPress AcceptsMousePress() override;
-  bool OnMousePressed(NSRect frame, NSPoint location) override;
-  NSString* GetToolTip() override;
-  NSPoint GetBubblePointInFrame(NSRect frame) override;
-
-  // The control that owns this. Weak.
-  LocationBarViewMac* owner_;
-
-  // The string to show for a tooltip.
-  base::scoped_nsobject<NSString> tooltip_;
-
-  const gfx::VectorIcon* vector_icon_;
-
-  DISALLOW_COPY_AND_ASSIGN(ZoomDecoration);
-};
-
-#endif  // CHROME_BROWSER_UI_COCOA_LOCATION_BAR_ZOOM_DECORATION_H_
diff --git a/chrome/browser/ui/cocoa/location_bar/zoom_decoration.mm b/chrome/browser/ui/cocoa/location_bar/zoom_decoration.mm
deleted file mode 100644
index 87a482e..0000000
--- a/chrome/browser/ui/cocoa/location_bar/zoom_decoration.mm
+++ /dev/null
@@ -1,137 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#import "chrome/browser/ui/cocoa/location_bar/zoom_decoration.h"
-
-#include "base/i18n/number_formatting.h"
-#include "base/strings/string16.h"
-#include "base/strings/string_number_conversions.h"
-#include "chrome/app/chrome_command_ids.h"
-#include "chrome/app/vector_icons/vector_icons.h"
-#include "chrome/browser/ui/cocoa/browser_dialogs_views_mac.h"
-#import "chrome/browser/ui/cocoa/browser_window_controller.h"
-#import "chrome/browser/ui/cocoa/l10n_util.h"
-#import "chrome/browser/ui/cocoa/location_bar/autocomplete_text_field.h"
-#import "chrome/browser/ui/cocoa/location_bar/autocomplete_text_field_cell.h"
-#import "chrome/browser/ui/cocoa/location_bar/location_bar_view_mac.h"
-#import "chrome/browser/ui/cocoa/omnibox/omnibox_view_mac.h"
-#include "chrome/grit/generated_resources.h"
-#include "components/zoom/zoom_controller.h"
-#include "ui/base/cocoa/cocoa_base_utils.h"
-#include "ui/base/l10n/l10n_util_mac.h"
-#import "ui/gfx/mac/coordinate_conversion.h"
-
-ZoomDecoration::ZoomDecoration(LocationBarViewMac* owner)
-    : owner_(owner), vector_icon_(nullptr) {}
-
-ZoomDecoration::~ZoomDecoration() {
-  CloseBubble();
-}
-
-bool ZoomDecoration::UpdateIfNecessary(zoom::ZoomController* zoom_controller,
-                                       bool default_zoom_changed,
-                                       bool location_bar_is_dark) {
-  if (!ShouldShowDecoration()) {
-    if (!IsVisible() && !IsBubbleShown())
-      return false;
-
-    HideUI();
-    return true;
-  }
-
-  BOOL old_visibility = IsVisible();
-  SetVisible(true);
-
-  base::string16 zoom_percent =
-      base::FormatPercent(zoom_controller->GetZoomPercent());
-  // There is no icon at the default zoom factor (100%), so don't display a
-  // tooltip either.
-  NSString* tooltip_string =
-      zoom_controller->IsAtDefaultZoom()
-          ? @""
-          : l10n_util::GetNSStringF(IDS_TOOLTIP_ZOOM, zoom_percent);
-
-  if ([tooltip_ isEqualToString:tooltip_string] && !default_zoom_changed &&
-      old_visibility == IsVisible()) {
-    return false;
-  }
-
-  UpdateUI(zoom_controller, tooltip_string, location_bar_is_dark);
-  return true;
-}
-
-void ZoomDecoration::ShowBubble(BOOL auto_close) {
-}
-
-void ZoomDecoration::CloseBubble() {
-  chrome::CloseZoomBubbleViews();
-}
-
-void ZoomDecoration::HideUI() {
-  CloseBubble();
-  SetVisible(false);
-}
-
-void ZoomDecoration::UpdateUI(zoom::ZoomController* zoom_controller,
-                              NSString* tooltip_string,
-                              bool location_bar_is_dark) {
-  vector_icon_ = zoom_controller->GetZoomRelativeToDefault() ==
-                         zoom::ZoomController::ZOOM_BELOW_DEFAULT_ZOOM
-                     ? &kZoomMinusIcon
-                     : &kZoomPlusIcon;
-
-  SetImage(GetMaterialIcon(location_bar_is_dark));
-
-  tooltip_.reset([tooltip_string retain]);
-
-  chrome::RefreshZoomBubbleViews();
-}
-
-NSPoint ZoomDecoration::GetBubblePointInFrame(NSRect frame) {
-  return NSMakePoint(cocoa_l10n_util::ShouldDoExperimentalRTLLayout()
-                         ? NSMinX(frame)
-                         : NSMaxX(frame),
-                     NSMaxY(frame));
-}
-
-bool ZoomDecoration::IsAtDefaultZoom() const {
-  content::WebContents* web_contents = owner_->GetWebContents();
-  if (!web_contents)
-    return false;
-
-  zoom::ZoomController* zoomController =
-      zoom::ZoomController::FromWebContents(web_contents);
-  return zoomController && zoomController->IsAtDefaultZoom();
-}
-
-bool ZoomDecoration::IsBubbleShown() const {
-  return chrome::IsZoomBubbleViewsShown();
-}
-
-bool ZoomDecoration::ShouldShowDecoration() const {
-  return owner_->GetWebContents() != NULL &&
-         !owner_->GetToolbarModel()->input_in_progress() &&
-         (IsBubbleShown() || !IsAtDefaultZoom());
-}
-
-AcceptsPress ZoomDecoration::AcceptsMousePress() {
-  return AcceptsPress::ALWAYS;
-}
-
-bool ZoomDecoration::OnMousePressed(NSRect frame, NSPoint location) {
-  if (IsBubbleShown()) {
-    CloseBubble();
-  } else {
-    ShowBubble(false);
-  }
-  return true;
-}
-
-NSString* ZoomDecoration::GetToolTip() {
-  return tooltip_.get();
-}
-
-const gfx::VectorIcon* ZoomDecoration::GetMaterialVectorIcon() const {
-  return vector_icon_;
-}
diff --git a/chrome/browser/ui/cocoa/location_bar/zoom_decoration_browsertest.mm b/chrome/browser/ui/cocoa/location_bar/zoom_decoration_browsertest.mm
deleted file mode 100644
index 731afb07..0000000
--- a/chrome/browser/ui/cocoa/location_bar/zoom_decoration_browsertest.mm
+++ /dev/null
@@ -1,148 +0,0 @@
-// Copyright (c) 2013 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#import "chrome/browser/ui/cocoa/location_bar/zoom_decoration.h"
-
-#include "base/auto_reset.h"
-#include "base/command_line.h"
-#include "base/macros.h"
-#include "base/run_loop.h"
-#include "base/test/scoped_feature_list.h"
-#include "base/threading/thread_task_runner_handle.h"
-#include "chrome/browser/profiles/profile.h"
-#include "chrome/browser/ui/browser_window.h"
-#import "chrome/browser/ui/cocoa/browser_window_controller.h"
-#import "chrome/browser/ui/cocoa/location_bar/location_bar_view_mac.h"
-#include "chrome/browser/ui/cocoa/test/run_loop_testing.h"
-#include "chrome/browser/ui/tabs/tab_strip_model.h"
-#include "chrome/test/base/in_process_browser_test.h"
-#include "chrome/test/views/scoped_macviews_browser_mode.h"
-#include "components/toolbar/test_toolbar_model.h"
-#include "components/zoom/page_zoom.h"
-#include "components/zoom/zoom_controller.h"
-#include "content/public/browser/host_zoom_map.h"
-#include "content/public/test/test_utils.h"
-#include "ui/base/ui_base_features.h"
-
-// TODO(crbug.com/630357): Remove parameterized testing for this class.
-class ZoomDecorationTest : public InProcessBrowserTest,
-                           public ::testing::WithParamInterface<bool> {
- protected:
-  ZoomDecorationTest()
-      : InProcessBrowserTest(),
-        should_quit_on_zoom_(false) {
-  }
-
-  void SetUpOnMainThread() override {
-    zoom_subscription_ = content::HostZoomMap::GetDefaultForBrowserContext(
-        browser()->profile())->AddZoomLevelChangedCallback(
-            base::Bind(&ZoomDecorationTest::OnZoomChanged,
-                       base::Unretained(this)));
-  }
-
-  void TearDownOnMainThread() override { zoom_subscription_.reset(); }
-
-  LocationBarViewMac* GetLocationBar() const {
-    BrowserWindowController* controller =
-        [BrowserWindowController browserWindowControllerForWindow:
-            browser()->window()->GetNativeWindow()];
-    return [controller locationBarBridge];
-  }
-
-  ZoomDecoration* GetZoomDecoration() const {
-    return GetLocationBar()->zoom_decoration_.get();
-  }
-
-  ZoomDecoration* GetZoomDecorationForBrowser(Browser* browser) const {
-    BrowserWindowController* controller =
-        [BrowserWindowController browserWindowControllerForWindow:
-            browser->window()->GetNativeWindow()];
-    return [controller locationBarBridge]->zoom_decoration_.get();
-  }
-
-  void Zoom(content::PageZoom zoom) {
-    content::WebContents* web_contents =
-        browser()->tab_strip_model()->GetActiveWebContents();
-
-    base::AutoReset<bool> reset(&should_quit_on_zoom_, true);
-    zoom::PageZoom::Zoom(web_contents, zoom);
-    content::RunMessageLoop();
-  }
-
-  void OnZoomChanged(const content::HostZoomMap::ZoomLevelChange& host) {
-    if (should_quit_on_zoom_) {
-      base::ThreadTaskRunnerHandle::Get()->PostTask(
-          FROM_HERE, base::Bind(&base::RunLoop::QuitCurrentWhenIdleDeprecated));
-    }
-  }
-
- private:
-  bool should_quit_on_zoom_;
-  std::unique_ptr<content::HostZoomMap::Subscription> zoom_subscription_;
-  base::test::ScopedFeatureList scoped_feature_list_;
-
-  test::ScopedMacViewsBrowserMode cocoa_browser_mode_{false};
-
-  DISALLOW_COPY_AND_ASSIGN(ZoomDecorationTest);
-};
-
-// TODO(crbug.com/887811): Re-enable after deflaking
-IN_PROC_BROWSER_TEST_P(ZoomDecorationTest, DISABLED_BubbleAtDefaultZoom) {
-}
-
-// Regression test for https://crbug.com/462482.
-IN_PROC_BROWSER_TEST_P(ZoomDecorationTest, IconRemainsVisibleAfterBubble) {
-  ZoomDecoration* zoom_decoration = GetZoomDecoration();
-
-  // See comment in BubbleAtDefaultZoom regarding this next line.
-  zoom::ZoomController::FromWebContents(GetLocationBar()->GetWebContents())
-      ->SetShowsNotificationBubble(false);
-
-  // Zoom in to turn on decoration icon.
-  EXPECT_FALSE(zoom_decoration->IsVisible());
-  Zoom(content::PAGE_ZOOM_IN);
-  EXPECT_TRUE(zoom_decoration->IsVisible());
-
-  // Show zoom bubble, verify decoration icon remains visible.
-  zoom_decoration->ShowBubble(/* auto_close = */false);
-  EXPECT_TRUE(zoom_decoration->IsVisible());
-
-  // Close bubble and verify the decoration is still visible.
-  zoom_decoration->CloseBubble();
-  content::RunAllPendingInMessageLoop();
-  EXPECT_TRUE(zoom_decoration->IsVisible());
-
-  // Verify the decoration does go away when we expect it to.
-  Zoom(content::PAGE_ZOOM_RESET);
-  EXPECT_FALSE(zoom_decoration->IsVisible());
-}
-
-IN_PROC_BROWSER_TEST_P(ZoomDecorationTest, HideOnInputProgress) {
-  ZoomDecoration* zoom_decoration = GetZoomDecoration();
-
-  // Zoom in and reset.
-  Zoom(content::PAGE_ZOOM_IN);
-  EXPECT_TRUE(zoom_decoration->IsVisible());
-
-  std::unique_ptr<ToolbarModel> toolbar_model(new TestToolbarModel);
-  toolbar_model->set_input_in_progress(true);
-  browser()->swap_toolbar_models(&toolbar_model);
-  GetLocationBar()->ZoomChangedForActiveTab(false);
-  EXPECT_FALSE(zoom_decoration->IsVisible());
-}
-
-IN_PROC_BROWSER_TEST_P(ZoomDecorationTest, CloseBrowserWithOpenBubble) {
-  // Create a new browser so that it can be closed properly.
-  Browser* browser2 = CreateBrowser(browser()->profile());
-  ZoomDecoration* zoom_decoration = GetZoomDecorationForBrowser(browser2);
-  zoom_decoration->ShowBubble(true);
-
-  // Test shouldn't crash.
-  browser2->window()->Close();
-  content::RunAllPendingInMessageLoop();
-}
-
-// Prefix for test instantiations intentionally left blank since the test
-// fixture class has a single parameterization.
-INSTANTIATE_TEST_CASE_P(, ZoomDecorationTest, testing::Bool());
diff --git a/chrome/browser/ui/cocoa/location_bar/zoom_decoration_unittest.mm b/chrome/browser/ui/cocoa/location_bar/zoom_decoration_unittest.mm
deleted file mode 100644
index 2977838..0000000
--- a/chrome/browser/ui/cocoa/location_bar/zoom_decoration_unittest.mm
+++ /dev/null
@@ -1,95 +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.
-
-#import "chrome/browser/ui/cocoa/location_bar/zoom_decoration.h"
-
-#include "base/command_line.h"
-#include "base/macros.h"
-#include "base/test/scoped_feature_list.h"
-#include "chrome/test/base/chrome_render_view_host_test_harness.h"
-#include "components/zoom/zoom_controller.h"
-#include "ui/base/ui_base_features.h"
-
-namespace {
-
-// TODO(crbug.com/630357): Remove parameterized testing for this class.
-class ZoomDecorationTest : public ChromeRenderViewHostTestHarness,
-                           public ::testing::WithParamInterface<bool> {
- public:
-  ZoomDecorationTest() {}
-  ~ZoomDecorationTest() override {}
-
- private:
-  base::test::ScopedFeatureList scoped_feature_list_;
-
-  DISALLOW_COPY_AND_ASSIGN(ZoomDecorationTest);
-};
-
-class MockZoomDecoration : public ZoomDecoration {
- public:
-  explicit MockZoomDecoration(LocationBarViewMac* owner)
-      : ZoomDecoration(owner), update_ui_count_(0) {}
-  bool ShouldShowDecoration() const override { return true; }
-  void UpdateUI(zoom::ZoomController* zoom_controller,
-                NSString* tooltip_string,
-                bool location_bar_is_dark) override {
-    ++update_ui_count_;
-    ZoomDecoration::UpdateUI(zoom_controller, tooltip_string,
-                             location_bar_is_dark);
-  }
-
-  int update_ui_count_;
-
- private:
-  DISALLOW_COPY_AND_ASSIGN(MockZoomDecoration);
-};
-
-class MockZoomController : public zoom::ZoomController {
- public:
-  explicit MockZoomController(content::WebContents* web_contents)
-      : zoom::ZoomController(web_contents) {}
-  int GetZoomPercent() const override { return zoom_percent_; }
-  bool IsAtDefaultZoom() const override { return zoom_percent_ == 100; }
-
-  int zoom_percent_;
-
- private:
-  DISALLOW_COPY_AND_ASSIGN(MockZoomController);
-};
-
-// Test that UpdateIfNecessary performs redraws only when the zoom percent
-// changes.
-TEST_P(ZoomDecorationTest, ChangeZoomPercent) {
-  MockZoomDecoration decoration(NULL);
-  MockZoomController controller(web_contents());
-
-  controller.zoom_percent_ = 100;
-  decoration.UpdateIfNecessary(&controller,
-                               /*default_zoom_changed=*/false,
-                               false);
-  EXPECT_EQ(1, decoration.update_ui_count_);
-
-  decoration.UpdateIfNecessary(&controller,
-                               /*default_zoom_changed=*/false,
-                               false);
-  EXPECT_EQ(1, decoration.update_ui_count_);
-
-  controller.zoom_percent_ = 80;
-  decoration.UpdateIfNecessary(&controller,
-                               /*default_zoom_changed=*/false,
-                               false);
-  EXPECT_EQ(2, decoration.update_ui_count_);
-
-  // Always redraw if the default zoom changes.
-  decoration.UpdateIfNecessary(&controller,
-                               /*default_zoom_changed=*/true,
-                               false);
-  EXPECT_EQ(3, decoration.update_ui_count_);
-}
-
-// Prefix for test instantiations intentionally left blank since the test
-// fixture class has a single parameterization.
-INSTANTIATE_TEST_CASE_P(, ZoomDecorationTest, testing::Bool());
-
-}  // namespace
diff --git a/chrome/browser/ui/cocoa/md_hover_button.h b/chrome/browser/ui/cocoa/md_hover_button.h
deleted file mode 100644
index 7e23028..0000000
--- a/chrome/browser/ui/cocoa/md_hover_button.h
+++ /dev/null
@@ -1,30 +0,0 @@
-// Copyright 2017 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef CHROME_BROWSER_UI_COCOA_MD_HOVER_BUTTON_H_
-#define CHROME_BROWSER_UI_COCOA_MD_HOVER_BUTTON_H_
-
-#import <AppKit/AppKit.h>
-
-#import "chrome/browser/ui/cocoa/themed_window.h"
-#import "ui/base/cocoa/hover_button.h"
-#include "ui/gfx/vector_icon_types.h"
-
-// MDHoverButton has a gray background with rounded corners. The background is
-// only visible on hover and gets darker on click. It's friendly to subviews.
-
-@interface MDHoverButton : HoverButtonCocoa<ThemedWindowDrawing>
-
-// An icon that's displayed in the middle of the button.
-@property(nonatomic) const gfx::VectorIcon* icon;
-@property(nonatomic) int iconSize;
-
-// If YES, the button doesn't have a hover state. This can be useful if a
-// button contains another button, or has an area which shouldn't be sensitive
-// to clicks: set hoverSuppressed to YES when the mouse enters that area, and
-// NO when the mouse exits.
-@property(nonatomic) BOOL hoverSuppressed;
-@end
-
-#endif  // CHROME_BROWSER_UI_COCOA_MD_HOVER_BUTTON_H_
diff --git a/chrome/browser/ui/cocoa/md_hover_button.mm b/chrome/browser/ui/cocoa/md_hover_button.mm
deleted file mode 100644
index 3e9a663b..0000000
--- a/chrome/browser/ui/cocoa/md_hover_button.mm
+++ /dev/null
@@ -1,148 +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 "chrome/browser/ui/cocoa/md_hover_button.h"
-
-#import <QuartzCore/QuartzCore.h>
-
-#import "ui/base/cocoa/nsview_additions.h"
-#include "ui/base/theme_provider.h"
-#include "ui/gfx/color_palette.h"
-#include "ui/gfx/color_utils.h"
-#import "ui/gfx/image/image_skia_util_mac.h"
-#include "ui/gfx/paint_vector_icon.h"
-
-namespace {
-constexpr int kMDHoverButtonDefaultIconSize = 16;
-constexpr SkAlpha kMDHoverButtonIconAlpha = 0x8A;
-constexpr CGFloat kMDHoverButtonHoverAnimationDuration = 0.25;
-
-NSColor* GetHoveringColor(BOOL dark_theme) {
-  return [NSColor colorWithWhite:dark_theme ? 1 : 0 alpha:0.08];
-}
-
-NSColor* GetActiveColor(BOOL dark_theme) {
-  return [NSColor colorWithWhite:dark_theme ? 1 : 0 alpha:0.12];
-}
-
-}  // namespace
-
-@implementation MDHoverButton {
-  const gfx::VectorIcon* icon_;
-}
-@synthesize icon = icon_;
-@synthesize iconSize = iconSize_;
-@synthesize hoverSuppressed = hoverSuppressed_;
-
-- (instancetype)initWithFrame:(NSRect)frameRect {
-  if ((self = [super initWithFrame:frameRect])) {
-    iconSize_ = kMDHoverButtonDefaultIconSize;
-    self.bezelStyle = NSRoundedBezelStyle;
-    self.bordered = NO;
-    self.wantsLayer = YES;
-    self.layer.cornerRadius = 2;
-  }
-  return self;
-}
-
-- (void)setIcon:(const gfx::VectorIcon*)icon {
-  icon_ = icon;
-  [self updateIcon];
-}
-
-- (void)setIconSize:(int)iconSize {
-  iconSize_ = iconSize;
-  [self updateIcon];
-}
-
-- (void)setHoverSuppressed:(BOOL)hoverSuppressed {
-  hoverSuppressed_ = hoverSuppressed;
-  [self updateHoverButtonAppearanceAnimated:YES];
-}
-
-- (SkColor)iconColor {
-  const ui::ThemeProvider* provider = [[self window] themeProvider];
-  if (!provider)
-    return gfx::kPlaceholderColor;
-  return SkColorSetA(
-      [[self window] hasDarkTheme] ? SK_ColorWHITE : SK_ColorBLACK,
-      provider->ShouldIncreaseContrast() ? 0xFF : kMDHoverButtonIconAlpha);
-}
-
-- (void)updateIcon {
-  if (!icon_ || icon_->is_empty() || iconSize_ == 0) {
-    self.image = nil;
-    return;
-  }
-  self.image = NSImageFromImageSkia(
-      gfx::CreateVectorIcon(*icon_, iconSize_, [self iconColor]));
-}
-
-- (void)updateHoverButtonAppearanceAnimated:(BOOL)animated {
-  const BOOL darkTheme = [[self window] hasDarkTheme];
-  const CGColorRef targetBackgroundColor = [&]() -> CGColorRef {
-    if (hoverSuppressed_)
-      return nil;
-    switch (self.hoverState) {
-      case kHoverStateMouseDown:
-        return GetActiveColor(darkTheme).CGColor;
-      case kHoverStateMouseOver:
-        return GetHoveringColor(darkTheme).CGColor;
-      case kHoverStateNone:
-        return nil;
-    }
-  }();
-  if (CGColorEqualToColor(targetBackgroundColor, self.layer.backgroundColor)) {
-    return;
-  }
-  if (!animated) {
-    [self.layer removeAnimationForKey:@"hoverButtonAppearance"];
-    self.layer.backgroundColor = targetBackgroundColor;
-    return;
-  }
-  [NSAnimationContext runAnimationGroup:^(NSAnimationContext* context) {
-    context.duration = kMDHoverButtonHoverAnimationDuration;
-    CABasicAnimation* animation =
-        [CABasicAnimation animationWithKeyPath:@"backgroundColor"];
-    self.layer.backgroundColor = targetBackgroundColor;
-    [self.layer addAnimation:animation forKey:@"hoverButtonAppearance"];
-  }
-                      completionHandler:nil];
-}
-
-// HoverButtonCocoa overrides.
-
-- (void)setHoverState:(CloseButtonHoverState)state {
-  if (state == hoverState_)
-    return;
-  const BOOL animated =
-      state != kHoverStateMouseDown && hoverState_ != kHoverStateMouseDown;
-  [super setHoverState:state];
-  [self updateHoverButtonAppearanceAnimated:animated];
-}
-
-// NSView overrides.
-
-- (void)drawFocusRingMask {
-  CGFloat radius = self.layer.cornerRadius;
-  [[NSBezierPath bezierPathWithRoundedRect:self.bounds
-                                   xRadius:radius
-                                   yRadius:radius] fill];
-}
-
-- (void)viewDidMoveToWindow {
-  [super viewDidMoveToWindow];
-  [self updateIcon];
-}
-
-// ThemedWindowDrawing implementation
-
-- (void)windowDidChangeTheme {
-  [self updateIcon];
-}
-
-- (void)windowDidChangeActive {
-}
-
-@end
diff --git a/chrome/browser/ui/cocoa/md_hover_button_unittest.mm b/chrome/browser/ui/cocoa/md_hover_button_unittest.mm
deleted file mode 100644
index 39e97e1..0000000
--- a/chrome/browser/ui/cocoa/md_hover_button_unittest.mm
+++ /dev/null
@@ -1,35 +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 "chrome/browser/ui/cocoa/md_hover_button.h"
-
-#import "base/mac/scoped_nsobject.h"
-#include "chrome/app/vector_icons/vector_icons.h"
-#import "chrome/browser/ui/cocoa/test/cocoa_test_helper.h"
-
-namespace {
-
-class MDHoverButtonTest : public ui::CocoaTest {
- public:
-  MDHoverButtonTest() {
-    base::scoped_nsobject<MDHoverButton> button(
-        [[MDHoverButton alloc] initWithFrame:NSMakeRect(0, 0, 20, 20)]);
-    button_ = button;
-    [[test_window() contentView] addSubview:button_];
-  }
-
- protected:
-  MDHoverButton* button_;  // Weak, owned by test_window().
-};
-
-TEST_VIEW(MDHoverButtonTest, button_)
-
-// Exercise icon and iconSize to make sure they don't crash.
-TEST_F(MDHoverButtonTest, TestIcon) {
-  button_.icon = &kCaretDownIcon;
-  button_.iconSize = 16;
-  [button_ displayIfNeeded];
-}
-
-}  // namespace
diff --git a/chrome/browser/ui/cocoa/multi_key_equivalent_button.h b/chrome/browser/ui/cocoa/multi_key_equivalent_button.h
deleted file mode 100644
index 14811dcd..0000000
--- a/chrome/browser/ui/cocoa/multi_key_equivalent_button.h
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright (c) 2009 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef CHROME_BROWSER_UI_COCOA_MULTI_KEY_EQUIVALENT_BUTTON_H_
-#define CHROME_BROWSER_UI_COCOA_MULTI_KEY_EQUIVALENT_BUTTON_H_
-
-#import <AppKit/AppKit.h>
-
-#include <vector>
-
-struct KeyEquivalentAndModifierMask {
- public:
-  KeyEquivalentAndModifierMask() : charCode(nil), mask(0) {}
-  NSString* charCode;
-  NSUInteger mask;
-};
-
-// MultiKeyEquivalentButton is an NSButton subclass that is capable of
-// responding to additional key equivalents.  It will respond to the ordinary
-// NSButton key equivalent set by -setKeyEquivalent: and
-// -setKeyEquivalentModifierMask:, and it will also respond to any additional
-// equivalents provided to it in a KeyEquivalentAndModifierMask structure
-// passed to -addKeyEquivalent:.
-
-@interface MultiKeyEquivalentButton : NSButton {
- @private
-  std::vector<KeyEquivalentAndModifierMask> extraKeys_;
-}
-
-- (void)addKeyEquivalent:(KeyEquivalentAndModifierMask)key;
-
-@end
-
-#endif  // CHROME_BROWSER_UI_COCOA_MULTI_KEY_EQUIVALENT_BUTTON_H_
diff --git a/chrome/browser/ui/cocoa/multi_key_equivalent_button.mm b/chrome/browser/ui/cocoa/multi_key_equivalent_button.mm
deleted file mode 100644
index b1e9536..0000000
--- a/chrome/browser/ui/cocoa/multi_key_equivalent_button.mm
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright (c) 2009 The Chromium 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 <stddef.h>
-
-#import "chrome/browser/ui/cocoa/multi_key_equivalent_button.h"
-
-@implementation MultiKeyEquivalentButton
-
-- (void)addKeyEquivalent:(KeyEquivalentAndModifierMask)key {
-  extraKeys_.push_back(key);
-}
-
-- (BOOL)performKeyEquivalent:(NSEvent*)event {
-  NSWindow* modalWindow = [NSApp modalWindow];
-  NSWindow* window = [self window];
-
-  if ([self isEnabled] &&
-      (!modalWindow || modalWindow == window || [window worksWhenModal])) {
-    for (size_t index = 0; index < extraKeys_.size(); ++index) {
-      KeyEquivalentAndModifierMask key = extraKeys_[index];
-      if (key.charCode &&
-          [key.charCode isEqualToString:[event charactersIgnoringModifiers]] &&
-          ([event modifierFlags] & key.mask) == key.mask) {
-        [self performClick:self];
-        return YES;
-      }
-    }
-  }
-
-  return [super performKeyEquivalent:event];
-}
-
-@end
diff --git a/chrome/browser/ui/cocoa/tabs/alert_indicator_button_cocoa.h b/chrome/browser/ui/cocoa/tabs/alert_indicator_button_cocoa.h
deleted file mode 100644
index ececa1ec..0000000
--- a/chrome/browser/ui/cocoa/tabs/alert_indicator_button_cocoa.h
+++ /dev/null
@@ -1,93 +0,0 @@
-// Copyright 2013 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef CHROME_BROWSER_UI_COCOA_TABS_ALERT_INDICATOR_BUTTON_COCOA_H_
-#define CHROME_BROWSER_UI_COCOA_TABS_ALERT_INDICATOR_BUTTON_COCOA_H_
-
-#include <memory>
-
-#import "base/mac/scoped_nsobject.h"
-#import "chrome/browser/ui/cocoa/themed_window.h"
-#include "chrome/browser/ui/tabs/tab_utils.h"
-#import "ui/base/cocoa/hover_button.h"
-
-namespace gfx {
-class Animation;
-class AnimationDelegate;
-}  // namespace gfx
-
-// This is an HoverButtonCocoa subclass that serves as both the alert indicator
-// icon (audio, tab capture, etc.), and as a mute button.  It is meant to only
-// be used as a subview of TabViewCocoa.
-//
-// When the indicator is transitioned to the audio playing or muting state, the
-// button functionality is enabled and begins handling mouse events.  Otherwise,
-// this view behaves like an image and all mouse events will be handled by the
-// its superview.
-//
-// Note: Send the |-setClickTarget:withAction:| message instead of the
-// |-setTarget:| and |-setAction:| messages to be notified of button clicks.
-@interface AlertIndicatorButtonCocoa : HoverButtonCocoa<ThemedWindowDrawing> {
- @private
-  class FadeAnimationDelegate;
-
-  // Current TabAlertState.  When animating fade-in/out, this reflects the
-  // indicator state at the end of the animation.
-  TabAlertState alertState_;
-
-  // Alert indicator fade-in/out animation (i.e., only on show/hide, not a
-  // continuous animation).
-  std::unique_ptr<gfx::AnimationDelegate> fadeAnimationDelegate_;
-  std::unique_ptr<gfx::Animation> fadeAnimation_;
-  TabAlertState showingAlertState_;
-
-  // Set to YES while the button is in the temporary dormant period after mute
-  // has been toggled.
-  BOOL isDormant_;
-
-  // Target and action invoked whenever a fade-in/out animation completes.  This
-  // is used by TabControllerCocoa to layout the TabViewCocoa after an indicator
-  // has completely faded out.
-  id animationDoneTarget_;  // weak
-  SEL animationDoneAction_;
-
-  // The image to show when the mouse hovers over the button.
-  base::scoped_nsobject<NSImage> affordanceImage_;
-
-  // Target and action invoked whenever an enabled button is clicked.
-  id clickTarget_;  // weak
-  SEL clickAction_;
-}
-
-@property(readonly, nonatomic) TabAlertState showingAlertState;
-
-// Initialize a new AlertIndicatorButtonCocoa in TabAlertState::NONE (i.e., a
-// non-active indicator).
-- (id)init;
-
-// Updates button images, starts fade animations, and activates/deactivates
-// button functionality as appropriate.
-- (void)transitionToAlertState:(TabAlertState)nextState;
-
-// Determines whether the AlertIndicatorButtonCocoa will be clickable for
-// toggling muting.  This should be called whenever the frame of this view is
-// changed, and also whenever the active/inactive state of the tab has changed.
-// Internally, |-transitionToAlertState:| will call this.
-- (void)updateEnabledForMuteToggle;
-
-// Register a message be sent to |target| whenever fade animations complete.  A
-// weak reference on |target| is held.
-- (void)setAnimationDoneTarget:(id)target withAction:(SEL)action;
-
-// Request a message be sent to |target| whenever the enabled button has been
-// clicked.  A weak reference on |target| is held.
-- (void)setClickTarget:(id)target withAction:(SEL)action;
-
-// ThemedWindowDrawing protocol support.
-- (void)windowDidChangeTheme;
-- (void)windowDidChangeActive;
-
-@end
-
-#endif  // CHROME_BROWSER_UI_COCOA_TABS_ALERT_INDICATOR_BUTTON_COCOA_H_
diff --git a/chrome/browser/ui/cocoa/tabs/alert_indicator_button_cocoa.mm b/chrome/browser/ui/cocoa/tabs/alert_indicator_button_cocoa.mm
deleted file mode 100644
index 3fa842daf..0000000
--- a/chrome/browser/ui/cocoa/tabs/alert_indicator_button_cocoa.mm
+++ /dev/null
@@ -1,320 +0,0 @@
-// Copyright 2013 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#import "chrome/browser/ui/cocoa/tabs/alert_indicator_button_cocoa.h"
-
-#include "base/logging.h"
-#include "base/mac/foundation_util.h"
-#include "base/macros.h"
-#include "base/metrics/user_metrics.h"
-#include "base/threading/thread_task_runner_handle.h"
-#import "chrome/browser/ui/cocoa/l10n_util.h"
-#import "chrome/browser/ui/cocoa/tabs/tab_view.h"
-#include "ui/gfx/animation/animation.h"
-#include "ui/gfx/animation/animation_delegate.h"
-#include "ui/gfx/image/image.h"
-
-namespace {
-
-// The minimum required click-to-select area of an inactive tab before allowing
-// the click-to-mute functionality to be enabled.  This value is in terms of
-// some percentage of the AlertIndicatorButtonCocoa's width.  See comments in
-// the updateEnabledForMuteToggle method.
-const int kMinMouseSelectableAreaPercent = 250;
-
-}  // namespace
-
-@implementation AlertIndicatorButtonCocoa
-
-class FadeAnimationDelegate : public gfx::AnimationDelegate {
- public:
-  explicit FadeAnimationDelegate(AlertIndicatorButtonCocoa* button)
-      : button_(button) {}
-  ~FadeAnimationDelegate() override {}
-
- private:
-  // gfx::AnimationDelegate implementation.
-  void AnimationProgressed(const gfx::Animation* animation) override {
-    [button_ setNeedsDisplay:YES];
-  }
-
-  void AnimationCanceled(const gfx::Animation* animation) override {
-    AnimationEnded(animation);
-  }
-
-  void AnimationEnded(const gfx::Animation* animation) override {
-    button_->showingAlertState_ = button_->alertState_;
-    [button_ setNeedsDisplay:YES];
-    [button_->animationDoneTarget_
-        performSelector:button_->animationDoneAction_];
-  }
-
-  AlertIndicatorButtonCocoa* const button_;
-
-  DISALLOW_COPY_AND_ASSIGN(FadeAnimationDelegate);
-};
-
-@synthesize showingAlertState = showingAlertState_;
-
-- (id)init {
-  if ((self = [super initWithFrame:NSZeroRect])) {
-    alertState_ = TabAlertState::NONE;
-    showingAlertState_ = TabAlertState::NONE;
-    isDormant_ = NO;
-    [self setEnabled:NO];
-    [super setTarget:self];
-    [super setAction:@selector(handleClick:)];
-  }
-  return self;
-}
-
-- (void)removeFromSuperview {
-  fadeAnimation_.reset();
-  [super removeFromSuperview];
-}
-
-- (void)viewDidMoveToWindow {
-  // In Material Design, the icon color depends on the theme. When the tab
-  // is moved into another window, make sure that it updates the theme.
-  [self updateIconForState:showingAlertState_];
-}
-
-- (void)updateIconForState:(TabAlertState)aState {
-  if (aState != TabAlertState::NONE) {
-    TabViewCocoa* const tabView =
-        base::mac::ObjCCast<TabViewCocoa>([self superview]);
-    SkColor iconColor = [tabView alertIndicatorColorForState:aState];
-    NSImage* tabIndicatorImage =
-        chrome::GetTabAlertIndicatorImage(aState, iconColor).ToNSImage();
-    NSImage* affordanceImage =
-        chrome::GetTabAlertIndicatorAffordanceImage(aState, iconColor)
-            .ToNSImage();
-    if (cocoa_l10n_util::ShouldDoExperimentalRTLLayout()) {
-      tabIndicatorImage = cocoa_l10n_util::FlippedImage(tabIndicatorImage);
-      affordanceImage = cocoa_l10n_util::FlippedImage(affordanceImage);
-    }
-    [self setImage:tabIndicatorImage];
-    affordanceImage_.reset([affordanceImage retain]);
-  }
-}
-
-- (void)transitionToAlertState:(TabAlertState)nextState {
-  if (nextState == alertState_)
-    return;
-
-  [self updateIconForState:nextState];
-
-  if ((alertState_ == TabAlertState::AUDIO_PLAYING &&
-       nextState == TabAlertState::AUDIO_MUTING) ||
-      (alertState_ == TabAlertState::AUDIO_MUTING &&
-       nextState == TabAlertState::AUDIO_PLAYING) ||
-      (alertState_ == TabAlertState::AUDIO_MUTING &&
-       nextState == TabAlertState::NONE)) {
-    // Instant user feedback: No fade animation.
-    showingAlertState_ = nextState;
-    fadeAnimation_.reset();
-  } else {
-    if (nextState == TabAlertState::NONE)
-      showingAlertState_ = alertState_;  // Fading-out indicator.
-    else
-      showingAlertState_ = nextState;  // Fading-in to next indicator.
-    // gfx::Animation requires a task runner is available for the current
-    // thread.  Generally, only certain unit tests would not instantiate a task
-    // runner.
-    if (base::ThreadTaskRunnerHandle::IsSet()) {
-      fadeAnimation_ = chrome::CreateTabAlertIndicatorFadeAnimation(nextState);
-      if (!fadeAnimationDelegate_)
-        fadeAnimationDelegate_.reset(new FadeAnimationDelegate(self));
-      fadeAnimation_->set_delegate(fadeAnimationDelegate_.get());
-      fadeAnimation_->Start();
-    }
-  }
-
-  alertState_ = nextState;
-
-  [self updateEnabledForMuteToggle];
-
-  [self setNeedsDisplay:YES];
-}
-
-- (void)setTarget:(id)aTarget {
-  NOTREACHED();  // See class-level comments.
-}
-
-- (void)setAction:(SEL)anAction {
-  NOTREACHED();  // See class-level comments.
-}
-
-- (void)setAnimationDoneTarget:(id)target withAction:(SEL)action {
-  animationDoneTarget_ = target;
-  animationDoneAction_ = action;
-}
-
-- (void)setClickTarget:(id)target withAction:(SEL)action {
-  clickTarget_ = target;
-  clickAction_ = action;
-}
-
-- (void)mouseDown:(NSEvent*)theEvent {
-  // Do not handle this left-button mouse event if any modifier keys are being
-  // held down.  Instead, the Tab should react (e.g., selection or drag start).
-  if ([theEvent modifierFlags] & NSDeviceIndependentModifierFlagsMask ||
-      isDormant_) {
-    [self setHoverState:kHoverStateNone];  // Turn off hover.
-    [[self nextResponder] mouseDown:theEvent];
-    return;
-  }
-  [super mouseDown:theEvent];
-}
-
-- (void)mouseEntered:(NSEvent*)theEvent {
-  // If any modifier keys are being held down, do not turn on hover.
-  if ([theEvent modifierFlags] & NSDeviceIndependentModifierFlagsMask) {
-    [self setHoverState:kHoverStateNone];
-    return;
-  }
-  [super mouseEntered:theEvent];
-}
-
-- (void)mouseExited:(NSEvent*)theEvent {
-  [self exitDormantPeriod];
-  [super mouseExited:theEvent];
-}
-
-- (void)mouseMoved:(NSEvent*)theEvent {
-  // If any modifier keys are being held down, turn off hover.
-  if ([theEvent modifierFlags] & NSDeviceIndependentModifierFlagsMask) {
-    [self setHoverState:kHoverStateNone];
-    return;
-  }
-  [super mouseMoved:theEvent];
-}
-
-- (void)rightMouseDown:(NSEvent*)theEvent {
-  // All right-button mouse events should be handled by the Tab.
-  [self setHoverState:kHoverStateNone];  // Turn off hover.
-  [[self nextResponder] rightMouseDown:theEvent];
-}
-
-- (void)drawRect:(NSRect)dirtyRect {
-  NSImage* const image = ([self hoverState] == kHoverStateNone ||
-                          ![self isEnabled] || isDormant_) ?
-      [self image] : affordanceImage_.get();
-  if (!image)
-    return;
-  NSRect imageRect = NSZeroRect;
-  imageRect.size = [image size];
-  NSRect destRect = [self bounds];
-  destRect.origin.y =
-      floor((NSHeight(destRect) / 2) - (NSHeight(imageRect) / 2));
-  destRect.size = imageRect.size;
-  double opaqueness = 1.0;
-  if (fadeAnimation_) {
-    opaqueness = fadeAnimation_->GetCurrentValue();
-    if (alertState_ == TabAlertState::NONE)
-      opaqueness = 1.0 - opaqueness;  // Fading out, not in.
-  } else if (isDormant_) {
-    opaqueness = 0.5;
-  }
-  [image drawInRect:destRect
-           fromRect:imageRect
-          operation:NSCompositeSourceOver
-           fraction:opaqueness
-     respectFlipped:YES
-              hints:nil];
-}
-
-// When disabled, the superview should receive all mouse events.
-- (NSView*)hitTest:(NSPoint)aPoint {
-  if ([self isEnabled] && !isDormant_ && ![self isHidden])
-    return [super hitTest:aPoint];
-  else
-    return nil;
-}
-
-- (void)handleClick:(id)sender {
-  [self enterDormantPeriod];
-
-  // Call |-transitionToAlertState| to change the image, providing the user with
-  // instant feedback.  In the very unlikely event that the mute toggle fails,
-  // |-transitionToAlertState| will be called again, via another code path, to
-  // set the image to be consistent with the final outcome.
-  using base::UserMetricsAction;
-  if (alertState_ == TabAlertState::AUDIO_PLAYING) {
-    base::RecordAction(UserMetricsAction("AlertIndicatorButton_Mute"));
-    [self transitionToAlertState:TabAlertState::AUDIO_MUTING];
-  } else {
-    DCHECK(alertState_ == TabAlertState::AUDIO_MUTING);
-    base::RecordAction(UserMetricsAction("AlertIndicatorButton_Unmute"));
-    [self transitionToAlertState:TabAlertState::AUDIO_PLAYING];
-  }
-
-  [clickTarget_ performSelector:clickAction_ withObject:self];
-}
-
-- (void)updateEnabledForMuteToggle {
-  const BOOL wasEnabled = [self isEnabled];
-
-  BOOL enable = chrome::AreExperimentalMuteControlsEnabled() &&
-      (alertState_ == TabAlertState::AUDIO_PLAYING ||
-       alertState_ == TabAlertState::AUDIO_MUTING);
-
-  // If the tab is not the currently-active tab, make sure it is wide enough
-  // before enabling click-to-mute.  This ensures that there is enough click
-  // area for the user to activate a tab rather than unintentionally muting it.
-  TabViewCocoa* const tabView =
-      base::mac::ObjCCast<TabViewCocoa>([self superview]);
-  if (enable && tabView && ([tabView state] != NSOnState)) {
-    const int requiredWidth =
-        NSWidth([self frame]) * kMinMouseSelectableAreaPercent / 100;
-    enable = ([tabView widthOfLargestSelectableRegion] >= requiredWidth);
-  }
-
-  if (enable == wasEnabled)
-    return;
-
-  [self setEnabled:enable];
-
-  // If the button has become enabled, check whether the mouse is currently
-  // hovering.  If it is, enter a dormant period where extra user clicks are
-  // prevented from having an effect (i.e., before the user has realized the
-  // button has become enabled underneath their cursor).
-  if (!wasEnabled && [self hoverState] == kHoverStateMouseOver)
-    [self enterDormantPeriod];
-  else if (![self isEnabled])
-    [self exitDormantPeriod];
-}
-
-// Enters a temporary "dormant period" where this button will not trigger on
-// clicks.  The user is provided a visual affordance during this period.  Sets a
-// timer to call |-exitDormantPeriod|.
-- (void)enterDormantPeriod {
-  isDormant_ = YES;
-  [self performSelector:@selector(exitDormantPeriod)
-             withObject:nil
-             afterDelay:[NSEvent doubleClickInterval]];
-  [self setNeedsDisplay:YES];
-}
-
-// Leaves the "dormant period," allowing clicks to once again trigger an enabled
-// button.
-- (void)exitDormantPeriod {
-  if (!isDormant_)
-    return;
-  isDormant_ = NO;
-  [self setNeedsDisplay:YES];
-}
-
-// ThemedWindowDrawing protocol support.
-
-- (void)windowDidChangeTheme {
-  // Force the alert icon to update because the icon color may change based
-  // on the current theme.
-  [self updateIconForState:alertState_];
-}
-
-- (void)windowDidChangeActive {
-}
-
-@end
diff --git a/chrome/browser/ui/cocoa/tabs/alert_indicator_button_cocoa_unittest.mm b/chrome/browser/ui/cocoa/tabs/alert_indicator_button_cocoa_unittest.mm
deleted file mode 100644
index 313aa11..0000000
--- a/chrome/browser/ui/cocoa/tabs/alert_indicator_button_cocoa_unittest.mm
+++ /dev/null
@@ -1,94 +0,0 @@
-// Copyright 2013 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#import "chrome/browser/ui/cocoa/tabs/alert_indicator_button_cocoa.h"
-
-#include <string>
-
-#include "base/command_line.h"
-#include "base/mac/scoped_nsobject.h"
-#include "base/test/scoped_task_environment.h"
-#import "chrome/browser/ui/cocoa/test/cocoa_test_helper.h"
-#include "chrome/common/chrome_switches.h"
-#include "testing/gtest/include/gtest/gtest.h"
-#include "testing/platform_test.h"
-
-// A simple target to confirm an action was invoked.
-@interface AlertIndicatorButtonTestTarget : NSObject {
- @private
-  int count_;
-}
-@property(readonly, nonatomic) int count;
-- (void)incrementCount:(id)sender;
-@end
-
-@implementation AlertIndicatorButtonTestTarget
-@synthesize count = count_;
-- (void)incrementCount:(id)sender {
-  ++count_;
-}
-@end
-
-namespace {
-
-class AlertIndicatorButtonTestCocoa : public CocoaTest {
- public:
-  AlertIndicatorButtonTestCocoa()
-      : scoped_task_environment_(
-            base::test::ScopedTaskEnvironment::MainThreadType::UI) {
-    base::CommandLine::ForCurrentProcess()->AppendSwitch(
-        std::string("--") + switches::kEnableTabAudioMuting);
-
-    // Create the AlertIndicatorButtonCocoa and add it to a view.
-    button_.reset([[AlertIndicatorButtonCocoa alloc] init]);
-    EXPECT_TRUE(button_ != nil);
-    [[test_window() contentView] addSubview:button_.get()];
-
-    // Initially the button is disabled and showing no indicator.
-    EXPECT_EQ(TabAlertState::NONE, [button_ showingAlertState]);
-    EXPECT_FALSE([button_ isEnabled]);
-
-    // Register target to be notified of clicks.
-    base::scoped_nsobject<AlertIndicatorButtonTestTarget> clickTarget(
-        [[AlertIndicatorButtonTestTarget alloc] init]);
-    EXPECT_EQ(0, [clickTarget count]);
-    [button_ setClickTarget:clickTarget withAction:@selector(incrementCount:)];
-
-    // Transition to audio indicator mode, and expect button is enabled.
-    [button_ transitionToAlertState:TabAlertState::AUDIO_PLAYING];
-    EXPECT_EQ(TabAlertState::AUDIO_PLAYING, [button_ showingAlertState]);
-    EXPECT_TRUE([button_ isEnabled]);
-
-    // Click, and expect one click notification.
-    EXPECT_EQ(0, [clickTarget count]);
-    [button_ performClick:button_];
-    EXPECT_EQ(1, [clickTarget count]);
-
-    // Transition to audio muting mode, and expect button is still enabled.  A
-    // click should result in another click notification.
-    [button_ transitionToAlertState:TabAlertState::AUDIO_MUTING];
-    EXPECT_EQ(TabAlertState::AUDIO_MUTING, [button_ showingAlertState]);
-    EXPECT_TRUE([button_ isEnabled]);
-    [button_ performClick:button_];
-    EXPECT_EQ(2, [clickTarget count]);
-
-    // Transition to capturing mode.  Now, the button is disabled since it
-    // should only be drawing the indicator icon (i.e., there is nothing to
-    // mute).  A click should NOT result in another click notification.
-    [button_ transitionToAlertState:TabAlertState::TAB_CAPTURING];
-    EXPECT_EQ(TabAlertState::TAB_CAPTURING, [button_ showingAlertState]);
-    EXPECT_FALSE([button_ isEnabled]);
-    [button_ performClick:button_];
-    EXPECT_EQ(2, [clickTarget count]);
-  }
-
-  base::scoped_nsobject<AlertIndicatorButtonCocoa> button_;
-
-  // Needed for gfx::Animation.
-  base::test::ScopedTaskEnvironment scoped_task_environment_;
-};
-
-TEST_VIEW(AlertIndicatorButtonTestCocoa, button_)
-
-}  // namespace
diff --git a/chrome/browser/ui/cocoa/tabs/tab_controller.h b/chrome/browser/ui/cocoa/tabs/tab_controller.h
index ef13a229..e39c117 100644
--- a/chrome/browser/ui/cocoa/tabs/tab_controller.h
+++ b/chrome/browser/ui/cocoa/tabs/tab_controller.h
@@ -23,7 +23,6 @@
   kTabCrashed,
 };
 
-@class AlertIndicatorButtonCocoa;
 @class MenuControllerCocoa;
 @class TabViewCocoa;
 @protocol TabControllerTarget;
@@ -59,7 +58,6 @@
 @property(assign, nonatomic) BOOL selected;
 @property(assign, nonatomic) id target;
 @property(assign, nonatomic) GURL url;
-@property(readonly, nonatomic) AlertIndicatorButtonCocoa* alertIndicatorButton;
 @property(readonly, nonatomic) HoverCloseButton* closeButton;
 
 // Default height for tabs.
@@ -120,7 +118,6 @@
 - (NSView*)iconView;
 - (int)iconCapacity;
 - (BOOL)shouldShowIcon;
-- (BOOL)shouldShowAlertIndicator;
 - (BOOL)shouldShowCloseButton;
 @end  // TabControllerCocoa(TestingAPI)
 
diff --git a/chrome/browser/ui/cocoa/tabs/tab_controller.mm b/chrome/browser/ui/cocoa/tabs/tab_controller.mm
index 099a2e7..81608b3 100644
--- a/chrome/browser/ui/cocoa/tabs/tab_controller.mm
+++ b/chrome/browser/ui/cocoa/tabs/tab_controller.mm
@@ -16,7 +16,6 @@
 #import "chrome/browser/themes/theme_properties.h"
 #import "chrome/browser/themes/theme_service.h"
 #include "chrome/browser/ui/cocoa/l10n_util.h"
-#import "chrome/browser/ui/cocoa/tabs/alert_indicator_button_cocoa.h"
 #import "chrome/browser/ui/cocoa/tabs/tab_controller_target.h"
 #include "chrome/browser/ui/cocoa/tabs/tab_favicon_view.h"
 #import "chrome/browser/ui/cocoa/tabs/tab_strip_controller.h"
@@ -64,7 +63,6 @@
   base::scoped_nsobject<TabFaviconView> iconView_;
   base::scoped_nsobject<NSImage> icon_;
   base::scoped_nsobject<NSView> attentionDotView_;
-  base::scoped_nsobject<AlertIndicatorButtonCocoa> alertIndicatorButton_;
   base::scoped_nsobject<HoverCloseButton> closeButton_;
 
   BOOL active_;
@@ -198,8 +196,6 @@
 }
 
 - (void)dealloc {
-  [alertIndicatorButton_ setAnimationDoneTarget:nil withAction:nil];
-  [alertIndicatorButton_ setClickTarget:nil withAction:nil];
   [[NSNotificationCenter defaultCenter] removeObserver:self];
   [[self tabView] setController:nil];
   [super dealloc];
@@ -253,21 +249,6 @@
 }
 
 - (void)closeTab:(id)sender {
-  using base::UserMetricsAction;
-
-  if (alertIndicatorButton_ && ![alertIndicatorButton_ isHidden]) {
-    if ([alertIndicatorButton_ isEnabled]) {
-      base::RecordAction(UserMetricsAction("CloseTab_MuteToggleAvailable"));
-    } else if ([alertIndicatorButton_ showingAlertState] ==
-                   TabAlertState::AUDIO_PLAYING) {
-      base::RecordAction(UserMetricsAction("CloseTab_AudioIndicator"));
-    } else {
-      base::RecordAction(UserMetricsAction("CloseTab_RecordingIndicator"));
-    }
-  } else {
-    base::RecordAction(UserMetricsAction("CloseTab_NoAlertIndicator"));
-  }
-
   if ([[self target] respondsToSelector:@selector(closeTab:)]) {
     [[self target] performSelector:@selector(closeTab:)
                         withObject:[self view]];
@@ -347,21 +328,7 @@
   }
 }
 
-- (AlertIndicatorButtonCocoa*)alertIndicatorButton {
-  return alertIndicatorButton_;
-}
-
 - (void)setAlertState:(TabAlertState)alertState {
-  if (!alertIndicatorButton_ && alertState != TabAlertState::NONE) {
-    alertIndicatorButton_.reset([[AlertIndicatorButtonCocoa alloc] init]);
-    [self updateVisibility];  // Do layout and visibility before adding subview.
-    [[self view] addSubview:alertIndicatorButton_];
-    [alertIndicatorButton_ setAnimationDoneTarget:self
-                                       withAction:@selector(updateVisibility)];
-    [alertIndicatorButton_ setClickTarget:self
-                               withAction:@selector(toggleMute:)];
-  }
-  [alertIndicatorButton_ transitionToAlertState:alertState];
 }
 
 - (BOOL)blocked {
@@ -425,15 +392,7 @@
 - (BOOL)shouldShowIcon {
   return chrome::ShouldTabShowFavicon(
       [self iconCapacity], [self pinned], [self active], [self showIcon],
-      !alertIndicatorButton_ ? TabAlertState::NONE
-                             : [alertIndicatorButton_ showingAlertState]);
-}
-
-- (BOOL)shouldShowAlertIndicator {
-  return chrome::ShouldTabShowAlertIndicator(
-      [self iconCapacity], [self pinned], [self active], [self showIcon],
-      !alertIndicatorButton_ ? TabAlertState::NONE
-                             : [alertIndicatorButton_ showingAlertState]);
+      TabAlertState::NONE);
 }
 
 - (BOOL)shouldShowCloseButton {
@@ -543,38 +502,8 @@
 
   [closeButton_ setHidden:!newShowCloseButton];
 
-  BOOL newShowAlertIndicator = [self shouldShowAlertIndicator];
-
-  [alertIndicatorButton_ setHidden:!newShowAlertIndicator];
-
   BOOL isRTL = cocoa_l10n_util::ShouldDoExperimentalRTLLayout();
 
-  if (newShowAlertIndicator) {
-    NSRect newFrame = [alertIndicatorButton_ frame];
-    newFrame.size = [[alertIndicatorButton_ image] size];
-    if ([self pinned]) {
-      // Tab is pinned: Position the alert indicator in the center.
-      const CGFloat tabWidth = [TabControllerCocoa pinnedTabWidth];
-      newFrame.origin.x = std::floor((tabWidth - NSWidth(newFrame)) / 2);
-      newFrame.origin.y =
-          kTabElementYOrigin -
-          std::floor((NSHeight(newFrame) - gfx::kFaviconSize) / 2);
-    } else {
-      // The Frame for the alertIndicatorButton_ depends on whether iconView_
-      // and/or closeButton_ are visible, and where they have been positioned.
-      const NSRect closeButtonFrame = [closeButton_ frame];
-      newFrame.origin.x = NSMinX(closeButtonFrame);
-      // Position before the close button when it is showing.
-      if (newShowCloseButton)
-        newFrame.origin.x += isRTL ? NSWidth(newFrame) : -NSWidth(newFrame);
-      // Alert indicator is centered vertically, with respect to closeButton_.
-      newFrame.origin.y = NSMinY(closeButtonFrame) -
-          std::floor((NSHeight(newFrame) - NSHeight(closeButtonFrame)) / 2);
-    }
-    [alertIndicatorButton_ setFrame:newFrame];
-    [alertIndicatorButton_ updateEnabledForMuteToggle];
-  }
-
   // Adjust the title view based on changes to the icon's and close button's
   // visibility.
   NSRect oldTitleFrame = [tabView titleFrame];
@@ -584,9 +513,7 @@
 
   CGFloat titleLeft, titleRight;
   if (isRTL) {
-    if (newShowAlertIndicator) {
-      titleLeft = NSMaxX([alertIndicatorButton_ frame]);
-    } else if (newShowCloseButton) {
+    if (newShowCloseButton) {
       titleLeft = NSMaxX([closeButton_ frame]);
     } else {
       titleLeft = kTabLeadingPadding;
@@ -597,9 +524,7 @@
   } else {
     titleLeft = newShowIcon ? NSMaxX([iconView_ frame]) + kTitleLeadingPadding
                             : kTabLeadingPadding;
-    if (newShowAlertIndicator) {
-      titleRight = NSMinX([alertIndicatorButton_ frame]);
-    } else if (newShowCloseButton) {
+    if (newShowCloseButton) {
       titleRight = NSMinX([closeButton_ frame]);
     } else {
       titleRight = NSWidth([[self tabView] frame]) - kTabTrailingPadding;
@@ -632,7 +557,7 @@
   return base::SysUTF16ToNSString(chrome::AssembleTabAccessibilityLabel(
       base::SysNSStringToUTF16([self title]),
       [self loadingState] == kTabCrashed, false,
-      [[self alertIndicatorButton] showingAlertState]));
+      TabAlertState::NONE));
 }
 
 - (void)themeChangedNotification:(NSNotification*)notification {
diff --git a/chrome/browser/ui/cocoa/tabs/tab_controller_unittest.mm b/chrome/browser/ui/cocoa/tabs/tab_controller_unittest.mm
index 981e62bb..215dea2 100644
--- a/chrome/browser/ui/cocoa/tabs/tab_controller_unittest.mm
+++ b/chrome/browser/ui/cocoa/tabs/tab_controller_unittest.mm
@@ -9,7 +9,6 @@
 #include "base/macros.h"
 #include "base/message_loop/message_loop.h"
 #include "base/strings/utf_string_conversions.h"
-#import "chrome/browser/ui/cocoa/tabs/alert_indicator_button_cocoa.h"
 #import "chrome/browser/ui/cocoa/tabs/tab_controller.h"
 #import "chrome/browser/ui/cocoa/tabs/tab_controller_target.h"
 #import "chrome/browser/ui/cocoa/tabs/tab_strip_drag_controller.h"
@@ -110,10 +109,6 @@
 
  protected:
   void CheckLayoutAndVisibilityOfSubviewsForAllStates(bool is_rtl) {
-    static const TabAlertState kAlertStatesToTest[] = {
-        TabAlertState::NONE, TabAlertState::TAB_CAPTURING,
-        TabAlertState::AUDIO_PLAYING, TabAlertState::AUDIO_MUTING};
-
     NSWindow* const window = test_window();
 
     // Create TabControllerCocoa instance and place its view into the test
@@ -127,58 +122,43 @@
     base::scoped_nsobject<NSImage> favicon(
         rb.GetNativeImageNamed(IDR_DEFAULT_FAVICON).CopyNSImage());
 
-    // Trigger TabControllerCocoa to auto-create the AlertIndicatorButtonCocoa.
-    [controller setAlertState:TabAlertState::AUDIO_PLAYING];
-    [controller setAlertState:TabAlertState::NONE];
-    base::scoped_nsobject<AlertIndicatorButtonCocoa> alertIndicatorButton(
-        [[controller alertIndicatorButton] retain]);
-    ASSERT_TRUE(alertIndicatorButton.get());
-
     // Perform layout over all possible combinations, checking for correct
     // results.
     for (int isPinnedTab = 0; isPinnedTab < 2; ++isPinnedTab) {
       for (int isActiveTab = 0; isActiveTab < 2; ++isActiveTab) {
-        for (size_t alertStateIndex = 0;
-             alertStateIndex < arraysize(kAlertStatesToTest);
-             ++alertStateIndex) {
-          const TabAlertState alertState = kAlertStatesToTest[alertStateIndex];
-          SCOPED_TRACE(::testing::Message()
-                       << (isActiveTab ? "Active" : "Inactive") << ' '
-                       << (isPinnedTab ? "Pinned " : "")
-                       << "Tab with alert indicator state "
-                       << static_cast<uint8_t>(alertState));
+        SCOPED_TRACE(::testing::Message()
+                     << (isActiveTab ? "Active" : "Inactive") << ' '
+                     << (isPinnedTab ? "Pinned " : ""));
 
-          // Simulate what tab_strip_controller would do to set up the
-          // TabControllerCocoa state.
-          [controller setPinned:(isPinnedTab ? YES : NO)];
-          [controller setActive:(isActiveTab ? YES : NO)];
-          [controller setIconImage:favicon
-                   forLoadingState:kTabDone
-                          showIcon:YES];
-          [controller setAlertState:alertState];
-          [controller updateVisibility];
+        // Simulate what tab_strip_controller would do to set up the
+        // TabControllerCocoa state.
+        [controller setPinned:(isPinnedTab ? YES : NO)];
+        [controller setActive:(isActiveTab ? YES : NO)];
+        [controller setIconImage:favicon
+                 forLoadingState:kTabDone
+                        showIcon:YES];
+        [controller updateVisibility];
 
-          // Test layout for every width from maximum to minimum.
-          NSRect tabFrame = [[controller view] frame];
-          int minWidth;
-          if (isPinnedTab) {
-            tabFrame.size.width = minWidth =
-                [TabControllerCocoa pinnedTabWidth];
-          } else {
-            tabFrame.size.width = [TabControllerCocoa maxTabWidth];
-            minWidth = isActiveTab ? [TabControllerCocoa minActiveTabWidth]
-                                   : [TabControllerCocoa minTabWidth];
-          }
-          while (NSWidth(tabFrame) >= minWidth) {
-            SCOPED_TRACE(::testing::Message() << "width="
-                                              << tabFrame.size.width);
-            [[controller view] setFrame:tabFrame];
-            if (is_rtl)
-              CheckForExpectedLayoutAndVisibilityOfSubviewsRTL(controller);
-            else
-              CheckForExpectedLayoutAndVisibilityOfSubviews(controller);
-            --tabFrame.size.width;
-          }
+        // Test layout for every width from maximum to minimum.
+        NSRect tabFrame = [[controller view] frame];
+        int minWidth;
+        if (isPinnedTab) {
+          tabFrame.size.width = minWidth =
+              [TabControllerCocoa pinnedTabWidth];
+        } else {
+          tabFrame.size.width = [TabControllerCocoa maxTabWidth];
+          minWidth = isActiveTab ? [TabControllerCocoa minActiveTabWidth]
+                                 : [TabControllerCocoa minTabWidth];
+        }
+        while (NSWidth(tabFrame) >= minWidth) {
+          SCOPED_TRACE(::testing::Message() << "width="
+                                            << tabFrame.size.width);
+          [[controller view] setFrame:tabFrame];
+          if (is_rtl)
+            CheckForExpectedLayoutAndVisibilityOfSubviewsRTL(controller);
+          else
+            CheckForExpectedLayoutAndVisibilityOfSubviews(controller);
+          --tabFrame.size.width;
         }
       }
     }
@@ -201,24 +181,6 @@
       EXPECT_LE(NSMinY(tabFrame), NSMinY(iconFrame));
       EXPECT_LE(NSMaxY(iconFrame), NSMaxY(tabFrame));
     }
-    if ([controller shouldShowIcon] && [controller shouldShowAlertIndicator]) {
-      EXPECT_LE(NSMaxX([[controller iconView] frame]),
-                NSMinX([[controller alertIndicatorButton] frame]));
-    }
-    if ([controller shouldShowAlertIndicator]) {
-      const NSRect alertIndicatorFrame =
-          [[controller alertIndicatorButton] frame];
-      if (NSWidth(titleFrame) > 0)
-        EXPECT_LE(NSMaxX(titleFrame), NSMinX(alertIndicatorFrame));
-      EXPECT_LE(NSMaxX(alertIndicatorFrame), NSMaxX(tabFrame));
-      EXPECT_LE(NSMinY(tabFrame), NSMinY(alertIndicatorFrame));
-      EXPECT_LE(NSMaxY(alertIndicatorFrame), NSMaxY(tabFrame));
-    }
-    if ([controller shouldShowAlertIndicator] &&
-        [controller shouldShowCloseButton]) {
-      EXPECT_LE(NSMaxX([[controller alertIndicatorButton] frame]),
-                NSMinX([[controller closeButton] frame]));
-    }
     if ([controller shouldShowCloseButton]) {
       const NSRect closeButtonFrame = [[controller closeButton] frame];
       if (NSWidth(titleFrame) > 0)
@@ -241,22 +203,6 @@
       if (NSWidth(titleFrame) > 0)
         EXPECT_LE(NSMaxX(closeButtonFrame), NSMinX(titleFrame));
     }
-    if ([controller shouldShowCloseButton] &&
-        [controller shouldShowAlertIndicator]) {
-      EXPECT_LE(NSMaxX([[controller closeButton] frame]),
-                NSMinX([[controller alertIndicatorButton] frame]));
-    }
-    if ([controller shouldShowAlertIndicator]) {
-      const NSRect alertIndicatorFrame =
-          [[controller alertIndicatorButton] frame];
-      EXPECT_TRUE(NSContainsRect(tabFrame, alertIndicatorFrame));
-      if (NSWidth(titleFrame) > 0)
-        EXPECT_LE(NSMaxX(alertIndicatorFrame), NSMinX(titleFrame));
-    }
-    if ([controller shouldShowAlertIndicator] && [controller shouldShowIcon]) {
-      EXPECT_LE(NSMaxX([[controller alertIndicatorButton] frame]),
-                NSMinX([[controller iconView] frame]));
-    }
     if ([controller shouldShowIcon]) {
       const NSRect iconFrame = [[controller iconView] frame];
       EXPECT_TRUE(NSContainsRect(tabFrame, iconFrame));
@@ -268,17 +214,9 @@
   static void CheckVisibilityOfSubviews(const TabControllerCocoa* controller) {
     // Check whether subviews should be visible when they are supposed to be,
     // given Tab size and TabRendererData state.
-    const TabAlertState indicatorState =
-        [[controller alertIndicatorButton] showingAlertState];
     if ([controller pinned]) {
       EXPECT_EQ(1, [controller iconCapacity]);
-      if (indicatorState != TabAlertState::NONE) {
-        EXPECT_FALSE([controller shouldShowIcon]);
-        EXPECT_TRUE([controller shouldShowAlertIndicator]);
-      } else {
-        EXPECT_TRUE([controller shouldShowIcon]);
-        EXPECT_FALSE([controller shouldShowAlertIndicator]);
-      }
+      EXPECT_TRUE([controller shouldShowIcon]);
       EXPECT_FALSE([controller shouldShowCloseButton]);
     } else if ([controller selected]) {
       EXPECT_TRUE([controller shouldShowCloseButton]);
@@ -286,24 +224,13 @@
         case 0:
         case 1:
           EXPECT_FALSE([controller shouldShowIcon]);
-          EXPECT_FALSE([controller shouldShowAlertIndicator]);
           break;
         case 2:
-          if (indicatorState != TabAlertState::NONE) {
-            EXPECT_FALSE([controller shouldShowIcon]);
-            EXPECT_TRUE([controller shouldShowAlertIndicator]);
-          } else {
-            EXPECT_TRUE([controller shouldShowIcon]);
-            EXPECT_FALSE([controller shouldShowAlertIndicator]);
-          }
+          EXPECT_TRUE([controller shouldShowIcon]);
           break;
         default:
           EXPECT_LE(3, [controller iconCapacity]);
           EXPECT_TRUE([controller shouldShowIcon]);
-          if (indicatorState != TabAlertState::NONE)
-            EXPECT_TRUE([controller shouldShowAlertIndicator]);
-          else
-            EXPECT_FALSE([controller shouldShowAlertIndicator]);
           break;
       }
     } else {  // Tab not selected/active and not pinned tab.
@@ -311,25 +238,14 @@
         case 0:
           EXPECT_FALSE([controller shouldShowCloseButton]);
           EXPECT_FALSE([controller shouldShowIcon]);
-          EXPECT_FALSE([controller shouldShowAlertIndicator]);
           break;
         case 1:
           EXPECT_FALSE([controller shouldShowCloseButton]);
-          if (indicatorState != TabAlertState::NONE) {
-            EXPECT_FALSE([controller shouldShowIcon]);
-            EXPECT_TRUE([controller shouldShowAlertIndicator]);
-          } else {
-            EXPECT_TRUE([controller shouldShowIcon]);
-            EXPECT_FALSE([controller shouldShowAlertIndicator]);
-          }
+          EXPECT_TRUE([controller shouldShowIcon]);
           break;
         default:
           EXPECT_LE(2, [controller iconCapacity]);
           EXPECT_TRUE([controller shouldShowIcon]);
-          if (indicatorState != TabAlertState::NONE)
-            EXPECT_TRUE([controller shouldShowAlertIndicator]);
-          else
-            EXPECT_FALSE([controller shouldShowAlertIndicator]);
           break;
       }
     }
diff --git a/chrome/browser/ui/cocoa/tabs/tab_strip_controller.mm b/chrome/browser/ui/cocoa/tabs/tab_strip_controller.mm
index 693cb3e..2ca85a5d 100644
--- a/chrome/browser/ui/cocoa/tabs/tab_strip_controller.mm
+++ b/chrome/browser/ui/cocoa/tabs/tab_strip_controller.mm
@@ -37,7 +37,6 @@
 #include "chrome/browser/ui/cocoa/l10n_util.h"
 #import "chrome/browser/ui/cocoa/tab_contents/favicon_util_mac.h"
 #import "chrome/browser/ui/cocoa/tab_contents/tab_contents_controller.h"
-#import "chrome/browser/ui/cocoa/tabs/alert_indicator_button_cocoa.h"
 #import "chrome/browser/ui/cocoa/tabs/tab_controller.h"
 #import "chrome/browser/ui/cocoa/tabs/tab_strip_drag_controller.h"
 #import "chrome/browser/ui/cocoa/tabs/tab_strip_view.h"
diff --git a/chrome/browser/ui/cocoa/tabs/tab_view.mm b/chrome/browser/ui/cocoa/tabs/tab_view.mm
index fc0c940..99330e01 100644
--- a/chrome/browser/ui/cocoa/tabs/tab_view.mm
+++ b/chrome/browser/ui/cocoa/tabs/tab_view.mm
@@ -13,7 +13,6 @@
 #include "chrome/browser/themes/theme_service.h"
 #include "chrome/browser/ui/cocoa/cocoa_util.h"
 #include "chrome/browser/ui/cocoa/l10n_util.h"
-#import "chrome/browser/ui/cocoa/tabs/alert_indicator_button_cocoa.h"
 #import "chrome/browser/ui/cocoa/tabs/tab_controller.h"
 #import "chrome/browser/ui/cocoa/tabs/tab_window_controller.h"
 #import "chrome/browser/ui/cocoa/themed_window.h"
@@ -734,10 +733,7 @@
   // Assume the entire region to the left of the alert indicator and/or close
   // buttons is available for click-to-select.  If neither are visible, the
   // entire tab region is available.
-  AlertIndicatorButtonCocoa* const indicator =
-      [controller_ alertIndicatorButton];
-  const int indicatorLeft = (!indicator || [indicator isHidden]) ?
-      NSWidth([self frame]) : NSMinX([indicator frame]);
+  const int indicatorLeft = NSWidth([self frame]);
   const int closeButtonLeft = (!closeButton_ || [closeButton_ isHidden])
                                   ? NSWidth([self frame])
                                   : NSMinX([closeButton_ frame]);
diff --git a/chrome/browser/ui/cocoa/toolbar/toolbar_controller.h b/chrome/browser/ui/cocoa/toolbar/toolbar_controller.h
index 0eb8782..54d44c8 100644
--- a/chrome/browser/ui/cocoa/toolbar/toolbar_controller.h
+++ b/chrome/browser/ui/cocoa/toolbar/toolbar_controller.h
@@ -20,8 +20,6 @@
 @class AutocompleteTextFieldEditor;
 @class BackForwardMenuController;
 class Browser;
-@class BrowserActionsContainerView;
-@class BrowserActionsController;
 class CommandUpdater;
 class LocationBarViewMac;
 @class MenuButton;
@@ -56,7 +54,7 @@
   IBOutlet ToolbarButtonCocoa* homeButton_;
   IBOutlet MenuButton* appMenuButton_;
   IBOutlet AutocompleteTextField* locationBar_;
-  IBOutlet BrowserActionsContainerView* browserActionsContainerView_;
+  IBOutlet id browserActionsContainerView_;
 
  @private
   CommandUpdater* commands_;  // weak, one per window
@@ -69,7 +67,6 @@
       autocompleteTextFieldEditor_;
   base::scoped_nsobject<BackForwardMenuController> backMenuController_;
   base::scoped_nsobject<BackForwardMenuController> forwardMenuController_;
-  base::scoped_nsobject<BrowserActionsController> browserActionsController_;
 
   // Used for monitoring the optional toolbar button prefs.
   std::unique_ptr<ToolbarControllerInternal::NotificationBridge>
@@ -170,15 +167,9 @@
 // |ToolbarViewCocoa| (0 means don't show it); no-op otherwise.
 - (void)setDividerOpacity:(CGFloat)opacity;
 
-// Create and add the Browser Action buttons to the toolbar view.
-- (void)createBrowserActionButtons;
-
 // Updates the visibility of the toolbar, with an optional animation.
 - (void)updateVisibility:(BOOL)visible withAnimation:(BOOL)animate;
 
-// Return the BrowserActionsController for this toolbar.
-- (BrowserActionsController*)browserActionsController;
-
 // Returns the app menu button.
 - (NSButton*)appMenuButton;
 
diff --git a/chrome/browser/ui/cocoa/toolbar/toolbar_controller.mm b/chrome/browser/ui/cocoa/toolbar/toolbar_controller.mm
index 10ac463..3b471c3d 100644
--- a/chrome/browser/ui/cocoa/toolbar/toolbar_controller.mm
+++ b/chrome/browser/ui/cocoa/toolbar/toolbar_controller.mm
@@ -29,9 +29,6 @@
 #include "chrome/browser/ui/browser_window.h"
 #import "chrome/browser/ui/cocoa/background_gradient_view.h"
 #include "chrome/browser/ui/cocoa/drag_util.h"
-#import "chrome/browser/ui/cocoa/extensions/browser_action_button.h"
-#import "chrome/browser/ui/cocoa/extensions/browser_actions_container_view.h"
-#import "chrome/browser/ui/cocoa/extensions/browser_actions_controller.h"
 #import "chrome/browser/ui/cocoa/image_button_cell.h"
 #import "chrome/browser/ui/cocoa/l10n_util.h"
 #import "chrome/browser/ui/cocoa/location_bar/autocomplete_text_field_editor.h"
@@ -112,12 +109,7 @@
 - (CGFloat)baseToolbarHeight;
 - (void)toolbarFrameChanged;
 - (void)showLocationBarOnly;
-- (void)pinLocationBarBeforeBrowserActionsContainerAndAnimate:(BOOL)animate;
 - (void)maintainMinimumLocationBarWidth;
-- (void)adjustBrowserActionsContainerForNewWindow:(NSNotification*)notification;
-- (void)browserActionsContainerDragged:(NSNotification*)notification;
-- (void)browserActionsVisibilityChanged:(NSNotification*)notification;
-- (void)browserActionsContainerWillAnimate:(NSNotification*)notification;
 - (void)adjustLocationSizeBy:(CGFloat)dX animate:(BOOL)animate;
 - (void)updateAppMenuButtonSeverity:(AppMenuIconController::Severity)severity
                            iconType:(AppMenuIconController::IconType)iconType
@@ -341,16 +333,6 @@
   locationBarFrame.size.height = kLocationBarHeight;
   [locationBar_ setFrame:locationBarFrame];
 
-  // Correctly position the extension buttons' container view.
-  NSRect containerFrame = [browserActionsContainerView_ frame];
-  containerFrame.size.width += kButtonInset;
-  containerFrame.origin.y = locationBarFrame.origin.y;
-  containerFrame.size.height = kLocationBarHeight;
-  if (cocoa_l10n_util::ShouldDoExperimentalRTLLayout())
-    containerFrame.origin.x = NSMinX(locationBarFrame) - kButtonInset;
-  [browserActionsContainerView_ setFrame:containerFrame];
-  [browserActionsContainerView_ setAutoresizingMask:trailingButtonMask];
-
   notificationBridge_.reset(
       new ToolbarControllerInternal::NotificationBridge(self));
   notificationBridge_->UpdateSeverity();
@@ -395,8 +377,6 @@
           base::Unretained(notificationBridge_.get())));
   [self showOptionalHomeButton];
 
-  [self pinLocationBarBeforeBrowserActionsContainerAndAnimate:NO];
-
   // Create the controllers for the back/forward menus.
   backMenuController_.reset([[BackForwardMenuController alloc]
           initWithBrowser:browser_
@@ -452,7 +432,6 @@
   // Pass this call onto other reference counted objects.
   [backMenuController_ browserWillBeDestroyed];
   [forwardMenuController_ browserWillBeDestroyed];
-  [browserActionsController_ browserWillBeDestroyed];
 
   [self cleanUp];
 }
@@ -619,10 +598,6 @@
 
   [locationBar_ updateMouseTracking];
 
-  if (browserActionsController_.get()) {
-    [browserActionsController_ update];
-  }
-
   BOOL needReloadMenu = chrome::IsDebuggerAttachedToCurrentTab(browser_);
   [reloadButton_ setMenuEnabled:needReloadMenu];
 }
@@ -731,36 +706,6 @@
   }
 }
 
-- (void)createBrowserActionButtons {
-  if (!browserActionsController_.get()) {
-    browserActionsController_.reset([[BrowserActionsController alloc]
-            initWithBrowser:browser_
-              containerView:browserActionsContainerView_
-             mainController:nil]);
-    [[NSNotificationCenter defaultCenter]
-        addObserver:self
-           selector:@selector(browserActionsContainerDragged:)
-               name:kBrowserActionGrippyDraggingNotification
-             object:browserActionsContainerView_];
-    [[NSNotificationCenter defaultCenter]
-        addObserver:self
-           selector:@selector(browserActionsVisibilityChanged:)
-               name:kBrowserActionVisibilityChangedNotification
-             object:browserActionsController_];
-    [[NSNotificationCenter defaultCenter]
-        addObserver:self
-           selector:@selector(browserActionsContainerWillAnimate:)
-               name:kBrowserActionsContainerWillAnimate
-             object:browserActionsContainerView_];
-    [[NSNotificationCenter defaultCenter]
-        addObserver:self
-           selector:@selector(adjustBrowserActionsContainerForNewWindow:)
-               name:NSWindowDidBecomeKeyNotification
-             object:[[self view] window]];
-  }
-  [self pinLocationBarBeforeBrowserActionsContainerAndAnimate:NO];
-}
-
 - (void)updateVisibility:(BOOL)visible withAnimation:(BOOL)animate {
   CGFloat newHeight = visible ? [ToolbarController locationBarHeight] : 0;
 
@@ -774,54 +719,6 @@
   }
 }
 
-- (void)adjustBrowserActionsContainerForNewWindow:
-    (NSNotification*)notification {
-  [self toolbarFrameChanged];
-  [[NSNotificationCenter defaultCenter]
-      removeObserver:self
-                name:NSWindowDidBecomeKeyNotification
-              object:[[self view] window]];
-}
-
-- (void)browserActionsContainerDragged:(NSNotification*)notification {
-  [self pinLocationBarBeforeBrowserActionsContainerAndAnimate:NO];
-}
-
-- (void)browserActionsVisibilityChanged:(NSNotification*)notification {
-  [self pinLocationBarBeforeBrowserActionsContainerAndAnimate:NO];
-}
-
-- (void)browserActionsContainerWillAnimate:(NSNotification*)notification {
-  [self pinLocationBarBeforeBrowserActionsContainerAndAnimate:YES];
-}
-
-- (void)pinLocationBarBeforeBrowserActionsContainerAndAnimate:(BOOL)animate {
-  CGFloat delta = 0.0;
-  if (cocoa_l10n_util::ShouldDoExperimentalRTLLayout()) {
-    CGFloat leftEdge = NSMinX([locationBar_ frame]);
-    if ([browserActionsContainerView_ isHidden]) {
-      delta = leftEdge -
-              (NSMaxX([appMenuButton_ frame]) +
-               [ToolbarController appMenuPadding] + kButtonInset);
-    } else {
-      delta = leftEdge -
-              (NSMaxX([browserActionsContainerView_ animationEndFrame]) +
-               kButtonInset);
-    }
-  } else {
-    CGFloat rightEdge = NSMaxX([locationBar_ frame]);
-    if ([browserActionsContainerView_ isHidden]) {
-      delta = NSMinX([appMenuButton_ frame]) -
-              [ToolbarController appMenuPadding] - kButtonInset - rightEdge;
-    } else {
-      delta = NSMinX([browserActionsContainerView_ animationEndFrame]) -
-              kButtonInset - rightEdge;
-    }
-  }
-
-  [self adjustLocationSizeBy:delta animate:animate];
-}
-
 - (void)maintainMinimumLocationBarWidth {
   CGFloat locationBarWidth = NSWidth([locationBar_ frame]);
   locationBarAtMinSize_ = locationBarWidth <= kMinimumLocationBarWidth;
@@ -832,65 +729,6 @@
 }
 
 - (void)toolbarFrameChanged {
-  // Do nothing if the frame changes but no Browser Action Controller is
-  // present.
-  if (!browserActionsController_.get())
-    return;
-
-  if ([browserActionsContainerView_ isAnimating]) {
-    // If the browser actions container is animating, we need to stop it first,
-    // because the frame it's animating for could be incorrect with the new
-    // bounds (if, for instance, the bookmark bar was added).
-    // This will advance to the end of the animation, so we also need to adjust
-    // it afterwards.
-    [browserActionsContainerView_ stopAnimation];
-    NSRect containerFrame = [browserActionsContainerView_ frame];
-    containerFrame.origin.y = [locationBar_ frame].origin.y;
-    [browserActionsContainerView_ setFrame:containerFrame];
-    [self pinLocationBarBeforeBrowserActionsContainerAndAnimate:NO];
-  }
-
-  [self maintainMinimumLocationBarWidth];
-
-  if (locationBarAtMinSize_) {
-    // Once the grippy is pinned, leave it until it is explicity un-pinned.
-    [browserActionsContainerView_ setGrippyPinned:YES];
-    NSRect containerFrame = [browserActionsContainerView_ frame];
-    // Determine how much the container needs to move in case it's overlapping
-    // with the location bar.
-    if (cocoa_l10n_util::ShouldDoExperimentalRTLLayout()) {
-      CGFloat dX = NSMaxX(containerFrame) - NSMinX([locationBar_ frame]);
-      containerFrame.size.width -= dX;
-    } else {
-      CGFloat dX = NSMaxX([locationBar_ frame]) - containerFrame.origin.x;
-      containerFrame = NSOffsetRect(containerFrame, dX, 0);
-      containerFrame.size.width -= dX;
-    }
-    [browserActionsContainerView_ setFrame:containerFrame];
-  } else if (!locationBarAtMinSize_ &&
-      [browserActionsContainerView_ grippyPinned]) {
-    // Expand out the container until it hits the saved size, then unpin the
-    // grippy.
-    // Add 0.1 pixel so that it doesn't hit the minimum width codepath above.
-    CGFloat dX = NSWidth([locationBar_ frame]) -
-        (kMinimumLocationBarWidth + 0.1);
-    NSRect containerFrame = [browserActionsContainerView_ frame];
-    if (!cocoa_l10n_util::ShouldDoExperimentalRTLLayout())
-      containerFrame = NSOffsetRect(containerFrame, -dX, 0);
-    containerFrame.size.width += dX;
-    CGFloat savedContainerWidth =
-        [browserActionsController_ preferredSize].width();
-    if (NSWidth(containerFrame) >= savedContainerWidth) {
-      if (!cocoa_l10n_util::ShouldDoExperimentalRTLLayout()) {
-        containerFrame = NSOffsetRect(
-            containerFrame, NSWidth(containerFrame) - savedContainerWidth, 0);
-      }
-      containerFrame.size.width = savedContainerWidth;
-      [browserActionsContainerView_ setGrippyPinned:NO];
-    }
-    [browserActionsContainerView_ setFrame:containerFrame];
-    [self pinLocationBarBeforeBrowserActionsContainerAndAnimate:NO];
-  }
 }
 
 // Hide the back, forward, reload, home, and app menu buttons of the toolbar.
@@ -917,16 +755,12 @@
   [reloadButton_ setHidden:YES];
   [appMenuButton_ setHidden:YES];
   [homeButton_ setHidden:YES];
-  [browserActionsContainerView_ setHidden:YES];
 }
 
 - (void)adjustLocationSizeBy:(CGFloat)dX animate:(BOOL)animate {
   NSRect locationFrame = [locationBar_ frame];
 
   CGFloat location_bar_flex = NSWidth(locationFrame) - kMinimumLocationBarWidth;
-  [browserActionsController_
-      setMaxWidth:NSWidth(browserActionsContainerView_.frame) +
-                  location_bar_flex];
 
   [locationBar_ stopAnimation];
 
@@ -979,10 +813,6 @@
   [toolbarView setNeedsDisplay:YES];
 }
 
-- (BrowserActionsController*)browserActionsController {
-  return browserActionsController_.get();
-}
-
 - (NSView*)appMenuButton {
   return appMenuButton_;
 }
diff --git a/chrome/browser/ui/cocoa/toolbar/toolbar_controller_unittest.mm b/chrome/browser/ui/cocoa/toolbar/toolbar_controller_unittest.mm
deleted file mode 100644
index 1713eb15..0000000
--- a/chrome/browser/ui/cocoa/toolbar/toolbar_controller_unittest.mm
+++ /dev/null
@@ -1,459 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#import <Cocoa/Cocoa.h>
-
-#include "base/command_line.h"
-#import "base/mac/scoped_nsobject.h"
-#include "base/macros.h"
-#include "base/run_loop.h"
-#include "chrome/app/chrome_command_ids.h"
-#include "chrome/browser/command_updater.h"
-#include "chrome/browser/extensions/extension_action_test_util.h"
-#include "chrome/browser/extensions/extension_service.h"
-#include "chrome/browser/extensions/load_error_reporter.h"
-#include "chrome/browser/extensions/test_extension_system.h"
-#include "chrome/browser/ui/browser.h"
-#include "chrome/browser/ui/browser_command_controller.h"
-#include "chrome/browser/ui/browser_commands.h"
-#include "chrome/browser/ui/browser_list.h"
-#include "chrome/browser/ui/browser_list_observer.h"
-#import "chrome/browser/ui/cocoa/extensions/browser_actions_controller.h"
-#import "chrome/browser/ui/cocoa/image_button_cell.h"
-#import "chrome/browser/ui/cocoa/location_bar/location_bar_view_mac.h"
-#include "chrome/browser/ui/cocoa/test/cocoa_profile_test.h"
-#include "chrome/browser/ui/cocoa/test/scoped_force_rtl_mac.h"
-#import "chrome/browser/ui/cocoa/toolbar/toolbar_controller.h"
-#import "chrome/browser/ui/cocoa/toolbar/toolbar_view_cocoa.h"
-#import "chrome/browser/ui/cocoa/view_resizer_pong.h"
-#include "chrome/browser/ui/toolbar/toolbar_actions_bar.h"
-#include "chrome/browser/ui/toolbar/toolbar_actions_model.h"
-#include "chrome/common/pref_names.h"
-#include "chrome/test/base/testing_profile.h"
-#include "components/prefs/pref_service.h"
-#include "extensions/browser/extension_system.h"
-#include "extensions/common/extension_builder.h"
-#include "testing/gtest/include/gtest/gtest.h"
-#import "testing/gtest_mac.h"
-#include "testing/platform_test.h"
-
-// An NSView that fakes out hitTest:.
-@interface HitView : NSView {
-  id hitTestReturn_;
-}
-@end
-
-@implementation HitView
-
-- (void)setHitTestReturn:(id)rtn {
-  hitTestReturn_ = rtn;
-}
-
-- (NSView *)hitTest:(NSPoint)aPoint {
-  return hitTestReturn_;
-}
-
-@end
-
-// Records the last command id and enabled state it has received so it can be
-// queried by the tests to see if we got a notification or not.
-@interface TestToolbarController : ToolbarController {
- @private
-  int lastCommand_;  // Id of last received state change.
-  bool lastState_;   // State of last received state change.
-}
-@property(nonatomic, readonly) int lastCommand;
-@property(nonatomic, readonly) bool lastState;
-@end
-
-@implementation TestToolbarController
-@synthesize lastCommand = lastCommand_;
-@synthesize lastState = lastState_;
-- (void)enabledStateChangedForCommand:(int)command enabled:(bool)enabled {
-  [super enabledStateChangedForCommand:command enabled:enabled];
-  lastCommand_ = command;
-  lastState_ = enabled;
-}
-@end
-
-namespace {
-
-class ToolbarControllerTest : public CocoaProfileTest {
- public:
-
-  // Indexes that match the ordering returned by the private ToolbarController
-  // |-toolbarViews| method.
-  enum SubviewIndex {
-    kBackIndex,
-    kForwardIndex,
-    kReloadIndex,
-    kHomeIndex,
-    kLocationIndex,
-    kBrowserActionContainerViewIndex,
-    kAppMenuIndex
-  };
-
-  void SetUp() override {
-    CocoaProfileTest::SetUp();
-    ASSERT_TRUE(browser());
-
-    // Add an extension so the browser action container view
-    // is visible and has a real size/position.
-    extensions::TestExtensionSystem* extension_system =
-        static_cast<extensions::TestExtensionSystem*>(
-            extensions::ExtensionSystem::Get(profile()));
-    extension_system->CreateExtensionService(
-        base::CommandLine::ForCurrentProcess(), base::FilePath(), false);
-    scoped_refptr<const extensions::Extension> extension =
-        extensions::ExtensionBuilder("ABC")
-            .SetAction(extensions::ExtensionBuilder::ActionType::BROWSER_ACTION)
-            .Build();
-    extensions::ExtensionSystem::Get(profile())
-        ->extension_service()
-        ->AddExtension(extension.get());
-    extensions::LoadErrorReporter::Init(false);
-    ToolbarActionsModel* model =
-        extensions::extension_action_test_util::CreateToolbarModelForProfile(
-            profile());
-    model->SetVisibleIconCount(1);
-
-    resizeDelegate_.reset([[ViewResizerPong alloc] init]);
-
-    CommandUpdater* updater = browser()->command_controller();
-    // The default state for the commands is true, set a couple to false to
-    // ensure they get picked up correct on initialization
-    updater->UpdateCommandEnabled(IDC_BACK, false);
-    updater->UpdateCommandEnabled(IDC_FORWARD, false);
-    bar_.reset([[TestToolbarController alloc]
-        initWithCommands:browser()->command_controller()
-                 profile:profile()
-                 browser:browser()]);
-    [[bar_ toolbarView] setResizeDelegate:resizeDelegate_.get()];
-    EXPECT_TRUE([bar_ view]);
-    NSView* parent = [test_window() contentView];
-    [parent addSubview:[bar_ view]];
-
-    // Nudge a few things to ensure the browser actions container gets
-    // laid out.
-    [bar_ createBrowserActionButtons];
-    [[bar_ browserActionsController] update];
-    [bar_ toolbarFrameChanged];
-  }
-
-  void TearDown() override {
-    // Releasing ToolbarController doesn't actually free it at this point, since
-    // the NSViewController retains a reference to it from the nib loading.
-    // As browser() is released in the superclass TearDown, call
-    // -[ToolbarController browserWillBeDestroyed] to prevent a use after free
-    // issue on the |browser_| pointer in LocationBarViewMac when
-    // ToolbarController is actually freed (some time after this method is run).
-    [bar_ browserWillBeDestroyed];
-    bar_.reset();
-    CocoaProfileTest::TearDown();
-  }
-
-  // Make sure the enabled state of the view is the same as the corresponding
-  // command in the updater. The views are in the declaration order of outlets.
-  void CompareState(CommandUpdater* updater, NSArray* views) {
-    EXPECT_EQ(updater->IsCommandEnabled(IDC_BACK),
-              [[views objectAtIndex:kBackIndex] isEnabled] ? true : false);
-    EXPECT_EQ(updater->IsCommandEnabled(IDC_FORWARD),
-              [[views objectAtIndex:kForwardIndex] isEnabled] ? true : false);
-    EXPECT_EQ(updater->IsCommandEnabled(IDC_RELOAD),
-              [[views objectAtIndex:kReloadIndex] isEnabled] ? true : false);
-    EXPECT_EQ(updater->IsCommandEnabled(IDC_HOME),
-              [[views objectAtIndex:kHomeIndex] isEnabled] ? true : false);
-  }
-
-  NSView* GetSubviewAt(SubviewIndex index) {
-    return [[bar_ toolbarViews] objectAtIndex:index];
-  }
-
-  base::scoped_nsobject<ViewResizerPong> resizeDelegate_;
-  base::scoped_nsobject<TestToolbarController> bar_;
-};
-
-TEST_VIEW(ToolbarControllerTest, [bar_ view])
-
-// Test the initial state that everything is sync'd up
-TEST_F(ToolbarControllerTest, InitialState) {
-  CommandUpdater* updater = browser()->command_controller();
-  CompareState(updater, [bar_ toolbarViews]);
-}
-
-// Make sure a "titlebar only" toolbar with location bar works.
-TEST_F(ToolbarControllerTest, TitlebarOnly) {
-  NSView* view = [bar_ view];
-
-  [bar_ setHasToolbar:NO hasLocationBar:YES];
-  EXPECT_EQ(view, [bar_ view]);
-
-  // Simulate a popup going fullscreen and back by performing the reparenting
-  // that happens during fullscreen transitions
-  NSView* superview = [view superview];
-  [view removeFromSuperview];
-  [superview addSubview:view];
-
-  EXPECT_EQ(view, [bar_ view]);
-}
-
-// Test updateVisibility with location bar only; this method is used by bookmark
-// apps, and should never be called when the toolbar is enabled. Ensure that the
-// buttons remain in the correct state.
-TEST_F(ToolbarControllerTest, UpdateVisibility) {
-  NSView* view = [bar_ view];
-
-  // Test the escapable states first.
-  [bar_ setHasToolbar:YES hasLocationBar:YES];
-  EXPECT_GT([[bar_ view] frame].size.height, 0);
-  EXPECT_GT([[bar_ view] frame].size.height,
-            [GetSubviewAt(kLocationIndex) frame].size.height);
-  EXPECT_GT([[bar_ view] frame].size.width,
-            [GetSubviewAt(kLocationIndex) frame].size.width);
-  EXPECT_FALSE([view isHidden]);
-  EXPECT_FALSE([GetSubviewAt(kLocationIndex) isHidden]);
-  EXPECT_FALSE([GetSubviewAt(kBackIndex) isHidden]);
-  EXPECT_FALSE([GetSubviewAt(kForwardIndex) isHidden]);
-  EXPECT_FALSE([GetSubviewAt(kReloadIndex) isHidden]);
-  EXPECT_FALSE([GetSubviewAt(kAppMenuIndex) isHidden]);
-  EXPECT_TRUE([GetSubviewAt(kHomeIndex) isHidden]);
-  EXPECT_FALSE([GetSubviewAt(kBrowserActionContainerViewIndex) isHidden]);
-
-  // For NO/NO, only the top level toolbar view is hidden.
-  [bar_ setHasToolbar:NO hasLocationBar:NO];
-  EXPECT_TRUE([view isHidden]);
-  EXPECT_FALSE([GetSubviewAt(kLocationIndex) isHidden]);
-  EXPECT_FALSE([GetSubviewAt(kBackIndex) isHidden]);
-  EXPECT_FALSE([GetSubviewAt(kForwardIndex) isHidden]);
-  EXPECT_FALSE([GetSubviewAt(kReloadIndex) isHidden]);
-  EXPECT_FALSE([GetSubviewAt(kAppMenuIndex) isHidden]);
-  EXPECT_TRUE([GetSubviewAt(kHomeIndex) isHidden]);
-  EXPECT_FALSE([GetSubviewAt(kBrowserActionContainerViewIndex) isHidden]);
-
-  // Now test the inescapable state.
-  [bar_ setHasToolbar:NO hasLocationBar:YES];
-  EXPECT_GT([[bar_ view] frame].size.height, 0);
-  EXPECT_EQ([[bar_ view] frame].size.height,
-            [GetSubviewAt(kLocationIndex) frame].size.height);
-  EXPECT_EQ([[bar_ view] frame].size.width,
-            [GetSubviewAt(kLocationIndex) frame].size.width);
-  EXPECT_FALSE([view isHidden]);
-  EXPECT_FALSE([GetSubviewAt(kLocationIndex) isHidden]);
-  EXPECT_TRUE([GetSubviewAt(kBackIndex) isHidden]);
-  EXPECT_TRUE([GetSubviewAt(kForwardIndex) isHidden]);
-  EXPECT_TRUE([GetSubviewAt(kReloadIndex) isHidden]);
-  EXPECT_TRUE([GetSubviewAt(kAppMenuIndex) isHidden]);
-  EXPECT_TRUE([GetSubviewAt(kHomeIndex) isHidden]);
-  EXPECT_TRUE([GetSubviewAt(kBrowserActionContainerViewIndex) isHidden]);
-
-  // Maintain visible state.
-  [bar_ updateVisibility:YES withAnimation:NO];
-  EXPECT_GT([[bar_ view] frame].size.height, 0);
-  EXPECT_EQ([[bar_ view] frame].size.height,
-            [GetSubviewAt(kLocationIndex) frame].size.height);
-  EXPECT_EQ([[bar_ view] frame].size.width,
-            [GetSubviewAt(kLocationIndex) frame].size.width);
-  EXPECT_FALSE([view isHidden]);
-  EXPECT_FALSE([GetSubviewAt(kLocationIndex) isHidden]);
-  EXPECT_TRUE([GetSubviewAt(kBackIndex) isHidden]);
-  EXPECT_TRUE([GetSubviewAt(kForwardIndex) isHidden]);
-  EXPECT_TRUE([GetSubviewAt(kReloadIndex) isHidden]);
-  EXPECT_TRUE([GetSubviewAt(kAppMenuIndex) isHidden]);
-  EXPECT_TRUE([GetSubviewAt(kHomeIndex) isHidden]);
-  EXPECT_TRUE([GetSubviewAt(kBrowserActionContainerViewIndex) isHidden]);
-
-  // Hide the toolbar and ensure it has height 0.
-  [bar_ updateVisibility:NO withAnimation:NO];
-  EXPECT_FALSE([view isHidden]);
-  EXPECT_EQ(0, [resizeDelegate_ height]);
-  EXPECT_EQ(0, [[bar_ view] frame].size.height);
-
-  // Try to show the home button.
-  [bar_ showOptionalHomeButton];
-
-  // Re-show the bar. Buttons should remain hidden, including the home button.
-  [bar_ updateVisibility:YES withAnimation:NO];
-  EXPECT_GT([resizeDelegate_ height], 0);
-  EXPECT_GT([[bar_ view] frame].size.height, 0);
-  EXPECT_EQ([[bar_ view] frame].size.height,
-            [GetSubviewAt(kLocationIndex) frame].size.height);
-  EXPECT_EQ([[bar_ view] frame].size.width,
-            [GetSubviewAt(kLocationIndex) frame].size.width);
-  EXPECT_FALSE([view isHidden]);
-  EXPECT_FALSE([GetSubviewAt(kLocationIndex) isHidden]);
-  EXPECT_TRUE([GetSubviewAt(kBackIndex) isHidden]);
-  EXPECT_TRUE([GetSubviewAt(kForwardIndex) isHidden]);
-  EXPECT_TRUE([GetSubviewAt(kReloadIndex) isHidden]);
-  EXPECT_TRUE([GetSubviewAt(kAppMenuIndex) isHidden]);
-  EXPECT_TRUE([GetSubviewAt(kHomeIndex) isHidden]);
-  EXPECT_TRUE([GetSubviewAt(kBrowserActionContainerViewIndex) isHidden]);
-}
-
-// Make sure it works in the completely undecorated case.
-TEST_F(ToolbarControllerTest, NoLocationBar) {
-  NSView* view = [bar_ view];
-
-  [bar_ setHasToolbar:NO hasLocationBar:NO];
-  EXPECT_TRUE([[bar_ view] isHidden]);
-
-  // Simulate a popup going fullscreen and back by performing the reparenting
-  // that happens during fullscreen transitions
-  NSView* superview = [view superview];
-  [view removeFromSuperview];
-  [superview addSubview:view];
-}
-
-// Make some changes to the enabled state of a few of the buttons and ensure
-// that we're still in sync.
-TEST_F(ToolbarControllerTest, UpdateEnabledState) {
-  EXPECT_FALSE(chrome::IsCommandEnabled(browser(), IDC_BACK));
-  EXPECT_FALSE(chrome::IsCommandEnabled(browser(), IDC_FORWARD));
-  chrome::UpdateCommandEnabled(browser(), IDC_BACK, true);
-  chrome::UpdateCommandEnabled(browser(), IDC_FORWARD, true);
-  CommandUpdater* updater = browser()->command_controller();
-  CompareState(updater, [bar_ toolbarViews]);
-
-  // Change an unwatched command and ensure the last state does not change.
-  updater->UpdateCommandEnabled(IDC_MinimumLabelValue, false);
-  EXPECT_EQ([bar_ lastCommand], IDC_FORWARD);
-  EXPECT_EQ([bar_ lastState], true);
-}
-
-// Focus the location bar and make sure that it's the first responder.
-TEST_F(ToolbarControllerTest, FocusLocation) {
-  NSWindow* window = test_window();
-  [window makeFirstResponder:[window contentView]];
-  EXPECT_EQ([window firstResponder], [window contentView]);
-  [bar_ focusLocationBar:YES];
-  EXPECT_NE([window firstResponder], [window contentView]);
-  NSView* locationBar = [[bar_ toolbarViews] objectAtIndex:kLocationIndex];
-  EXPECT_EQ([window firstResponder], [(id)locationBar currentEditor]);
-}
-
-TEST_F(ToolbarControllerTest, LoadingState) {
-  // In its initial state, the reload button has a tag of
-  // IDC_RELOAD. When loading, it should be IDC_STOP.
-  NSButton* reload = [[bar_ toolbarViews] objectAtIndex:kReloadIndex];
-  EXPECT_EQ([reload tag], IDC_RELOAD);
-  [bar_ setIsLoading:YES force:YES];
-  EXPECT_EQ([reload tag], IDC_STOP);
-  [bar_ setIsLoading:NO force:YES];
-  EXPECT_EQ([reload tag], IDC_RELOAD);
-}
-
-// Check that toggling the state of the home button changes the visible
-// state of the home button and moves the other items accordingly.
-TEST_F(ToolbarControllerTest, ToggleHome) {
-  PrefService* prefs = profile()->GetPrefs();
-  bool showHome = prefs->GetBoolean(prefs::kShowHomeButton);
-  NSView* homeButton = [[bar_ toolbarViews] objectAtIndex:kHomeIndex];
-  EXPECT_EQ(showHome, ![homeButton isHidden]);
-
-  NSView* locationBar = [[bar_ toolbarViews] objectAtIndex:kLocationIndex];
-  NSRect originalLocationBarFrame = [locationBar frame];
-
-  // Toggle the pref and make sure the button changed state and the other
-  // views moved.
-  prefs->SetBoolean(prefs::kShowHomeButton, !showHome);
-  EXPECT_EQ(showHome, [homeButton isHidden]);
-  EXPECT_NE(NSMinX(originalLocationBarFrame), NSMinX([locationBar frame]));
-  EXPECT_NE(NSWidth(originalLocationBarFrame), NSWidth([locationBar frame]));
-}
-
-// Ensure that we don't toggle the buttons when we have a strip marked as not
-// having the full toolbar. Also ensure that the location bar doesn't change
-// size.
-TEST_F(ToolbarControllerTest, DontToggleWhenNoToolbar) {
-  [bar_ setHasToolbar:NO hasLocationBar:YES];
-  NSView* homeButton = [[bar_ toolbarViews] objectAtIndex:kHomeIndex];
-  NSView* locationBar = [[bar_ toolbarViews] objectAtIndex:kLocationIndex];
-  NSRect locationBarFrame = [locationBar frame];
-  EXPECT_EQ([homeButton isHidden], YES);
-  [bar_ showOptionalHomeButton];
-  EXPECT_EQ([homeButton isHidden], YES);
-  NSRect newLocationBarFrame = [locationBar frame];
-  EXPECT_NSEQ(locationBarFrame, newLocationBarFrame);
-  newLocationBarFrame = [locationBar frame];
-  EXPECT_NSEQ(locationBarFrame, newLocationBarFrame);
-}
-
-TEST_F(ToolbarControllerTest, HoverButtonForEvent) {
-  base::scoped_nsobject<HitView> view(
-      [[HitView alloc] initWithFrame:NSMakeRect(0, 0, 100, 100)]);
-  NSView* toolbarView = [bar_ view];
-  [bar_ setView:view];
-  NSEvent* event = [NSEvent mouseEventWithType:NSMouseMoved
-                                      location:NSMakePoint(10,10)
-                                 modifierFlags:0
-                                     timestamp:0
-                                  windowNumber:0
-                                       context:nil
-                                   eventNumber:0
-                                    clickCount:0
-                                      pressure:0.0];
-
-  // NOT a match.
-  [view setHitTestReturn:bar_.get()];
-  EXPECT_FALSE([bar_ hoverButtonForEvent:event]);
-
-  // Not yet...
-  base::scoped_nsobject<NSButton> button([[NSButton alloc] init]);
-  [view setHitTestReturn:button];
-  EXPECT_FALSE([bar_ hoverButtonForEvent:event]);
-
-  // Now!
-  base::scoped_nsobject<ImageButtonCell> cell(
-      [[ImageButtonCell alloc] init]);
-  [button setCell:cell.get()];
-  EXPECT_TRUE([bar_ hoverButtonForEvent:nil]);
-
-  // Restore the original view so that
-  // -[ToolbarController browserWillBeDestroyed] will run correctly.
-  [bar_ setView:toolbarView];
-}
-
-// Test that subviews are ordered left to right
-TEST_F(ToolbarControllerTest, ElementOrder) {
-  NSArray* views = [bar_ toolbarViews];
-  for (size_t i = 1; i < [views count]; i++) {
-    NSView* previousSubview = views[i - 1];
-    NSView* subview = views[i];
-    EXPECT_LE(NSMinX([previousSubview frame]), NSMinX([subview frame]));
-  }
-}
-
-class ToolbarControllerRTLTest : public ToolbarControllerTest {
- public:
-  ToolbarControllerRTLTest() {}
-
- private:
-  cocoa_l10n_util::ScopedForceRTLMac rtl_;
-
-  DISALLOW_COPY_AND_ASSIGN(ToolbarControllerRTLTest);
-};
-
-// Test that subviews are ordered right to left
-TEST_F(ToolbarControllerRTLTest, ElementOrder) {
-  NSArray* views = [[[bar_ toolbarViews] reverseObjectEnumerator] allObjects];
-  for (size_t i = 1; i < [views count]; i++) {
-    NSView* previousSubview = views[i - 1];
-    NSView* subview = views[i];
-    EXPECT_LE(NSMinX([previousSubview frame]), NSMinX([subview frame]));
-  }
-}
-
-class BrowserRemovedObserver : public BrowserListObserver {
- public:
-  BrowserRemovedObserver() { BrowserList::AddObserver(this); }
-  ~BrowserRemovedObserver() override { BrowserList::RemoveObserver(this); }
-  void WaitUntilBrowserRemoved() { run_loop_.Run(); }
-  void OnBrowserRemoved(Browser* browser) override { run_loop_.Quit(); }
-
- private:
-  base::RunLoop run_loop_;
-
-  DISALLOW_COPY_AND_ASSIGN(BrowserRemovedObserver);
-};
-
-}  // namespace
diff --git a/chrome/browser/ui/extensions/extension_action_platform_delegate.h b/chrome/browser/ui/extensions/extension_action_platform_delegate.h
index c90b034..70eda65 100644
--- a/chrome/browser/ui/extensions/extension_action_platform_delegate.h
+++ b/chrome/browser/ui/extensions/extension_action_platform_delegate.h
@@ -5,7 +5,6 @@
 #ifndef CHROME_BROWSER_UI_EXTENSIONS_EXTENSION_ACTION_PLATFORM_DELEGATE_H_
 #define CHROME_BROWSER_UI_EXTENSIONS_EXTENSION_ACTION_PLATFORM_DELEGATE_H_
 
-#include "build/build_config.h"
 #include "chrome/browser/ui/extensions/extension_action_view_controller.h"
 
 namespace extensions {
@@ -20,12 +19,6 @@
   // platform-specific implementation for the class.
   static std::unique_ptr<ExtensionActionPlatformDelegate> Create(
       ExtensionActionViewController* controller);
-#if defined(OS_MACOSX)
-  // Temporary shim for Polychrome. See bottom of first comment in
-  // https://crbug.com/80495 for details.
-  static std::unique_ptr<ExtensionActionPlatformDelegate> CreateCocoa(
-      ExtensionActionViewController* controller);
-#endif
 
   // The following are forwarded from ToolbarActionViewController. See that
   // class for the definitions.
diff --git a/chrome/browser/ui/extensions/extension_action_view_controller.cc b/chrome/browser/ui/extensions/extension_action_view_controller.cc
index c52eced1..f2cea443 100644
--- a/chrome/browser/ui/extensions/extension_action_view_controller.cc
+++ b/chrome/browser/ui/extensions/extension_action_view_controller.cc
@@ -290,6 +290,11 @@
 ExtensionActionViewController::PageInteractionStatus
 ExtensionActionViewController::GetPageInteractionStatus(
     content::WebContents* web_contents) const {
+  // The |web_contents| can be null, if TabStripModel::GetActiveWebContents()
+  // returns null. In that case, default to kNone.
+  if (!web_contents)
+    return PageInteractionStatus::kNone;
+
   // We give priority to kPending, because it's the one that's most important
   // for users to see.
   if (HasBeenBlocked(web_contents))
diff --git a/chrome/browser/ui/extensions/extension_action_view_controller_unittest.cc b/chrome/browser/ui/extensions/extension_action_view_controller_unittest.cc
index cf970ca..3dd5418 100644
--- a/chrome/browser/ui/extensions/extension_action_view_controller_unittest.cc
+++ b/chrome/browser/ui/extensions/extension_action_view_controller_unittest.cc
@@ -467,3 +467,36 @@
   EXPECT_EQ("extension name\nHas access to this site",
             base::UTF16ToUTF8(controller->GetTooltip(web_contents)));
 }
+
+// ExtensionActionViewController::GetIcon() can potentially be called with a
+// null web contents if the tab strip model doesn't know of an active tab
+// (though it's a bit unclear when this is the case).
+// See https://crbug.com/888121
+TEST_P(ToolbarActionsBarUnitTest, TestGetIconWithNullWebContents) {
+  base::test::ScopedFeatureList feature_list;
+  feature_list.InitAndEnableFeature(
+      extensions_features::kRuntimeHostPermissions);
+
+  scoped_refptr<const extensions::Extension> extension =
+      extensions::ExtensionBuilder("extension name")
+          .SetAction(extensions::ExtensionBuilder::ActionType::BROWSER_ACTION)
+          .AddPermission("https://example.com/")
+          .Build();
+
+  extensions::ExtensionService* service =
+      extensions::ExtensionSystem::Get(profile())->extension_service();
+  service->GrantPermissions(extension.get());
+  service->AddExtension(extension.get());
+
+  extensions::ScriptingPermissionsModifier permissions_modifier(profile(),
+                                                                extension);
+  permissions_modifier.SetWithholdHostPermissions(true);
+
+  // Try getting an icon with no active web contents. Nothing should crash, and
+  // a non-empty icon should be returned.
+  ToolbarActionViewController* controller =
+      toolbar_actions_bar()->GetActions()[0];
+  gfx::Image icon =
+      controller->GetIcon(nullptr, toolbar_actions_bar()->GetViewSize());
+  EXPECT_FALSE(icon.IsEmpty());
+}
diff --git a/chrome/browser/ui/extensions/hosted_app_browsertest.cc b/chrome/browser/ui/extensions/hosted_app_browsertest.cc
index a887187..6f075341 100644
--- a/chrome/browser/ui/extensions/hosted_app_browsertest.cc
+++ b/chrome/browser/ui/extensions/hosted_app_browsertest.cc
@@ -24,12 +24,14 @@
 #include "chrome/browser/extensions/extension_browsertest.h"
 #include "chrome/browser/extensions/extension_service.h"
 #include "chrome/browser/extensions/extension_util.h"
+#include "chrome/browser/extensions/launch_util.h"
 #include "chrome/browser/predictors/loading_predictor_config.h"
 #include "chrome/browser/profiles/profile_io_data.h"
 #include "chrome/browser/renderer_context_menu/render_view_context_menu_test_util.h"
 #include "chrome/browser/ssl/cert_verifier_browser_test.h"
 #include "chrome/browser/ssl/ssl_browsertest_util.h"
 #include "chrome/browser/ui/browser_commands.h"
+#include "chrome/browser/ui/browser_dialogs.h"
 #include "chrome/browser/ui/browser_finder.h"
 #include "chrome/browser/ui/browser_list.h"
 #include "chrome/browser/ui/extensions/app_launch_params.h"
@@ -60,6 +62,7 @@
 #include "content/public/test/test_navigation_observer.h"
 #include "content/public/test/test_utils.h"
 #include "extensions/browser/extension_registry.h"
+#include "extensions/browser/test_extension_registry_observer.h"
 #include "extensions/common/constants.h"
 #include "extensions/common/extension.h"
 #include "extensions/common/extension_set.h"
@@ -214,6 +217,26 @@
   return false;
 }
 
+enum AppMenuCommandState {
+  kEnabled,
+  kDisabled,
+  kNotPresent,
+};
+
+AppMenuCommandState GetAppMenuCommandState(int command_id, Browser* browser) {
+  DCHECK(!browser->hosted_app_controller())
+      << "This check only applies to regular browser windows.";
+  auto app_menu_model = std::make_unique<AppMenuModel>(nullptr, browser);
+  app_menu_model->Init();
+  ui::MenuModel* model = app_menu_model.get();
+  int index = -1;
+  if (!app_menu_model->GetModelAndIndexForCommandId(command_id, &model,
+                                                    &index)) {
+    return kNotPresent;
+  }
+  return model->IsEnabledAt(index) ? kEnabled : kDisabled;
+}
+
 }  // namespace
 
 class TestAppBannerManagerDesktop : public banners::AppBannerManagerDesktop {
@@ -230,27 +253,43 @@
         web_contents->GetUserData(UserDataKey()));
   }
 
-  void WaitForInstallableCheck() {
+  // Returns whether the installable check passed.
+  bool WaitForInstallableCheck() {
     DCHECK(IsExperimentalAppBannersEnabled());
 
-    if (got_data_)
-      return;
-
-    base::RunLoop run_loop;
-    quit_closure_ = run_loop.QuitClosure();
-    run_loop.Run();
+    if (!installable_.has_value()) {
+      base::RunLoop run_loop;
+      quit_closure_ = run_loop.QuitClosure();
+      run_loop.Run();
+    }
+    DCHECK(installable_.has_value());
+    return *installable_;
   }
 
   // AppBannerManager:
+  void OnDidGetManifest(const InstallableData& result) override {
+    AppBannerManagerDesktop::OnDidGetManifest(result);
+
+    // AppBannerManagerDesktop does not call |OnDidPerformInstallableCheck| to
+    // complete the installability check in this case, instead it early exits
+    // with failure.
+    if (result.error_code != NO_ERROR_DETECTED)
+      SetInstallable(false);
+  }
   void OnDidPerformInstallableCheck(const InstallableData& result) override {
     AppBannerManagerDesktop::OnDidPerformInstallableCheck(result);
-    got_data_ = true;
+    SetInstallable(result.error_code == NO_ERROR_DETECTED);
+  }
+
+ private:
+  void SetInstallable(bool installable) {
+    DCHECK(!installable_.has_value());
+    installable_ = installable;
     if (quit_closure_)
       std::move(quit_closure_).Run();
   }
 
- private:
-  bool got_data_ = false;
+  base::Optional<bool> installable_;
   base::OnceClosure quit_closure_;
 
   DISALLOW_COPY_AND_ASSIGN(TestAppBannerManagerDesktop);
@@ -327,6 +366,12 @@
     return https_server()->GetURL("app.com", "/ssl/google.html");
   }
 
+  GURL GetInstallableAppURL() {
+    return https_server()->GetURL("/banners/manifest_test_page.html");
+  }
+
+  static const char* GetInstallableAppName() { return "Manifest test app"; }
+
   GURL GetSecureIFrameAppURL() {
     net::HostPortPair host_port_pair = net::HostPortPair::FromURL(
         https_server()->GetURL("foo.com", "/simple.html"));
@@ -413,19 +458,6 @@
     EXPECT_EQ(target_url, new_tab->GetLastCommittedURL());
   }
 
-  bool IsOpenInAppWindowOptionPresent(Browser* browser) {
-    DCHECK(!browser->hosted_app_controller())
-        << "This only applies to regular browser windows.";
-    auto model =
-        std::make_unique<AppMenuModel>(&empty_accelerator_provider_, browser);
-    model->Init();
-    for (int i = 0; i < model->GetItemCount(); ++i) {
-      if (model->GetCommandIdAt(i) == IDC_OPEN_IN_PWA_WINDOW)
-        return true;
-    }
-    return false;
-  }
-
   Browser* app_browser_;
   const extensions::Extension* app_;
 
@@ -438,16 +470,6 @@
   }
 
  private:
-  class EmptyAcceleratorProvider : public ui::AcceleratorProvider {
-   public:
-    // Don't handle accelerators.
-    bool GetAcceleratorForCommandId(
-        int command_id,
-        ui::Accelerator* accelerator) const override {
-      return false;
-    }
-  } empty_accelerator_provider_;
-
   base::test::ScopedFeatureList scoped_feature_list_;
   AppType app_type_;
 
@@ -563,23 +585,6 @@
       browser()->tab_strip_model()->GetActiveWebContents());
 }
 
-// Tests that creating bookmark apps is disabled in incognito.
-IN_PROC_BROWSER_TEST_P(HostedAppTest, CreateShortcutDisabledInIncognito) {
-  ASSERT_TRUE(https_server()->Start());
-  ASSERT_TRUE(embedded_test_server()->Start());
-
-  Browser* incognito_browser =
-      OpenURLOffTheRecord(profile(), GetSecureAppURL());
-  auto app_menu_model =
-      std::make_unique<AppMenuModel>(nullptr, incognito_browser);
-  app_menu_model->Init();
-  ui::MenuModel* model = app_menu_model.get();
-  int index = -1;
-  ASSERT_TRUE(app_menu_model->GetModelAndIndexForCommandId(
-      IDC_CREATE_HOSTED_APP, &model, &index));
-  EXPECT_FALSE(model->IsEnabledAt(index));
-}
-
 // Check that the location bar is shown correctly.
 IN_PROC_BROWSER_TEST_P(HostedAppTest, ShouldShowLocationBar) {
   ASSERT_TRUE(https_server()->Start());
@@ -985,6 +990,91 @@
 #endif  // defined(OS_CHROMEOS)
 }
 
+// Tests that both installing a PWA and creating a shortcut app are disabled for
+// incognito windows.
+IN_PROC_BROWSER_TEST_P(HostedAppPWAOnlyTest, ShortcutMenuOptionsInIncognito) {
+  Browser* incognito_browser = CreateIncognitoBrowser(profile());
+  auto* manager = TestAppBannerManagerDesktop::CreateForWebContents(
+      incognito_browser->tab_strip_model()->GetActiveWebContents());
+
+  ASSERT_TRUE(https_server()->Start());
+  NavigateToURLAndWait(incognito_browser, GetSecureAppURL());
+  EXPECT_FALSE(manager->WaitForInstallableCheck());
+
+  EXPECT_EQ(GetAppMenuCommandState(IDC_CREATE_SHORTCUT, incognito_browser),
+            kDisabled);
+  EXPECT_EQ(GetAppMenuCommandState(IDC_INSTALL_PWA, incognito_browser),
+            kNotPresent);
+}
+
+// Tests that both installing a PWA and creating a shortcut app are available
+// for an installable PWA.
+IN_PROC_BROWSER_TEST_P(HostedAppPWAOnlyTest,
+                       ShortcutMenuOptionsForInstallablePWA) {
+  auto* manager = TestAppBannerManagerDesktop::CreateForWebContents(
+      browser()->tab_strip_model()->GetActiveWebContents());
+
+  ASSERT_TRUE(https_server()->Start());
+  NavigateToURLAndWait(browser(), GetInstallableAppURL());
+  EXPECT_TRUE(manager->WaitForInstallableCheck());
+
+  EXPECT_EQ(GetAppMenuCommandState(IDC_CREATE_SHORTCUT, browser()), kEnabled);
+  EXPECT_EQ(GetAppMenuCommandState(IDC_INSTALL_PWA, browser()), kEnabled);
+}
+
+// Tests that creating a shortcut app but not installing a PWA is available for
+// a non-installable site.
+IN_PROC_BROWSER_TEST_P(HostedAppPWAOnlyTest,
+                       ShortcutMenuOptionsForNonInstallableSite) {
+  auto* manager = TestAppBannerManagerDesktop::CreateForWebContents(
+      browser()->tab_strip_model()->GetActiveWebContents());
+
+  ASSERT_TRUE(https_server()->Start());
+  NavigateToURLAndWait(browser(), GetMixedContentAppURL());
+  EXPECT_FALSE(manager->WaitForInstallableCheck());
+
+  EXPECT_EQ(GetAppMenuCommandState(IDC_CREATE_SHORTCUT, browser()), kEnabled);
+  EXPECT_EQ(GetAppMenuCommandState(IDC_INSTALL_PWA, browser()), kNotPresent);
+}
+
+IN_PROC_BROWSER_TEST_P(HostedAppPWAOnlyTest, InstallInstallableSite) {
+  ASSERT_TRUE(https_server()->Start());
+  NavigateToURLAndWait(browser(), GetInstallableAppURL());
+
+  chrome::SetAutoAcceptPWAInstallDialogForTesting(true);
+  chrome::ExecuteCommand(browser(), IDC_INSTALL_PWA);
+  const extensions::Extension* app =
+      extensions::TestExtensionRegistryObserver(
+          extensions::ExtensionRegistry::Get(browser()->profile()))
+          .WaitForExtensionInstalled();
+  EXPECT_EQ(app->name(), GetInstallableAppName());
+  chrome::SetAutoAcceptPWAInstallDialogForTesting(false);
+
+  // Installed PWAs should launch in their own window.
+  EXPECT_EQ(extensions::GetLaunchContainer(
+                extensions::ExtensionPrefs::Get(browser()->profile()), app),
+            extensions::LAUNCH_CONTAINER_WINDOW);
+}
+
+IN_PROC_BROWSER_TEST_P(HostedAppPWAOnlyTest, CreateShortcutForInstallableSite) {
+  ASSERT_TRUE(https_server()->Start());
+  NavigateToURLAndWait(browser(), GetInstallableAppURL());
+
+  chrome::SetAutoAcceptBookmarkAppDialogForTesting(true);
+  chrome::ExecuteCommand(browser(), IDC_CREATE_SHORTCUT);
+  const extensions::Extension* app =
+      extensions::TestExtensionRegistryObserver(
+          extensions::ExtensionRegistry::Get(browser()->profile()))
+          .WaitForExtensionInstalled();
+  EXPECT_EQ(app->name(), GetInstallableAppName());
+  chrome::SetAutoAcceptBookmarkAppDialogForTesting(false);
+
+  // Bookmark apps to PWAs should launch in a tab.
+  EXPECT_EQ(extensions::GetLaunchContainer(
+                extensions::ExtensionPrefs::Get(browser()->profile()), app),
+            extensions::LAUNCH_CONTAINER_TAB);
+}
+
 // Tests that the command for OpenActiveTabInPwaWindow is available for secure
 // pages in an app's scope.
 IN_PROC_BROWSER_TEST_P(HostedAppPWAOnlyTest,
@@ -999,7 +1089,8 @@
       browser()->tab_strip_model()->GetActiveWebContents();
   ASSERT_EQ(tab_contents->GetLastCommittedURL(), GetSecureAppURL());
 
-  EXPECT_TRUE(IsOpenInAppWindowOptionPresent(browser()));
+  EXPECT_EQ(GetAppMenuCommandState(IDC_OPEN_IN_PWA_WINDOW, browser()),
+            kEnabled);
 
   Browser* app_browser = ReparentSecureActiveTabIntoPwaWindow(browser());
 
@@ -1013,19 +1104,17 @@
   auto* manager = TestAppBannerManagerDesktop::CreateForWebContents(
       browser()->tab_strip_model()->GetActiveWebContents());
 
-  ASSERT_TRUE(embedded_test_server()->Start());
-  GURL test_url =
-      embedded_test_server()->GetURL("/banners/manifest_test_page.html");
-  NavigateToURLAndWait(browser(), test_url);
+  ASSERT_TRUE(https_server()->Start());
+  NavigateToURLAndWait(browser(), GetInstallableAppURL());
 
-  manager->WaitForInstallableCheck();
+  EXPECT_TRUE(manager->WaitForInstallableCheck());
 
   auto app_menu_model = std::make_unique<AppMenuModel>(nullptr, browser());
   app_menu_model->Init();
   ui::MenuModel* model = app_menu_model.get();
   int index = -1;
-  EXPECT_TRUE(app_menu_model->GetModelAndIndexForCommandId(
-      IDC_CREATE_HOSTED_APP, &model, &index));
+  EXPECT_TRUE(app_menu_model->GetModelAndIndexForCommandId(IDC_INSTALL_PWA,
+                                                           &model, &index));
   EXPECT_EQ(app_menu_model.get(), model);
   EXPECT_EQ(model->GetLabelAt(index),
             base::UTF8ToUTF16("Install Manifest test app\xE2\x80\xA6"));
@@ -1060,7 +1149,8 @@
 
   // The WebContents is just reparented, so mixed content is still not loaded.
   CheckMixedContentFailedToLoad(browser());
-  EXPECT_TRUE(IsOpenInAppWindowOptionPresent(browser()));
+  EXPECT_EQ(GetAppMenuCommandState(IDC_OPEN_IN_PWA_WINDOW, browser()),
+            kEnabled);
 
   ui_test_utils::UrlLoadObserver url_observer(
       GetMixedContentAppURL(), content::NotificationService::AllSources());
@@ -1071,7 +1161,8 @@
   // WebContents is no longer in a PWA window.
 
   CheckMixedContentLoaded(browser());
-  EXPECT_FALSE(IsOpenInAppWindowOptionPresent(browser()));
+  EXPECT_EQ(GetAppMenuCommandState(IDC_OPEN_IN_PWA_WINDOW, browser()),
+            kNotPresent);
   EXPECT_EQ(ReparentSecureActiveTabIntoPwaWindow(browser()), nullptr);
 }
 
@@ -1091,7 +1182,8 @@
 
   // A regular tab should be able to load mixed content.
   CheckMixedContentLoaded(browser());
-  EXPECT_FALSE(IsOpenInAppWindowOptionPresent(browser()));
+  EXPECT_EQ(GetAppMenuCommandState(IDC_OPEN_IN_PWA_WINDOW, browser()),
+            kNotPresent);
 
   Browser* app_browser = ReparentWebContentsIntoAppBrowser(tab_contents, app_);
 
diff --git a/chrome/browser/ui/libgtkui/gtk_ui.cc b/chrome/browser/ui/libgtkui/gtk_ui.cc
index 42a4dbb8..e1dffee8 100644
--- a/chrome/browser/ui/libgtkui/gtk_ui.cc
+++ b/chrome/browser/ui/libgtkui/gtk_ui.cc
@@ -877,22 +877,16 @@
 }
 
 void GtkUi::LoadGtkValues() {
-  // TODO(erg): GtkThemeService had a comment here about having to muck with
-  // the raw Prefs object to remove prefs::kCurrentThemeImages or else we'd
-  // regress startup time. Figure out how to do that when we can't access the
-  // prefs system from here.
-
+  // TODO(thomasanderson): GtkThemeService had a comment here about having to
+  // muck with the raw Prefs object to remove prefs::kCurrentThemeImages or else
+  // we'd regress startup time. Figure out how to do that when we can't access
+  // the prefs system from here.
   UpdateDeviceScaleFactor();
   UpdateCursorTheme();
+  UpdateColors();
+}
 
-  SkColor tab_color = GetBgColor("");
-  SkColor tab_text_color = GetFgColor("GtkLabel");
-
-  colors_[ThemeProperties::COLOR_TOOLBAR_BUTTON_ICON] = tab_text_color;
-
-  colors_[ThemeProperties::COLOR_TAB_TEXT] = tab_text_color;
-  colors_[ThemeProperties::COLOR_BOOKMARK_TEXT] = tab_text_color;
-
+void GtkUi::UpdateColors() {
   SkColor location_bar_border = GetBorderColor("GtkEntry#entry");
   if (SkColorGetA(location_bar_border))
     colors_[ThemeProperties::COLOR_LOCATION_BAR_BORDER] = location_bar_border;
@@ -907,9 +901,6 @@
                                         : "GtkTextView.view:selected:backdrop");
 
   SkColor tab_border = GetBorderColor("GtkButton#button");
-  colors_[ThemeProperties::COLOR_DETACHED_BOOKMARK_BAR_BACKGROUND] = tab_color;
-  colors_[ThemeProperties::COLOR_BOOKMARK_BAR_INSTRUCTIONS_TEXT] =
-      tab_text_color;
   // Separates the toolbar from the bookmark bar or butter bars.
   colors_[ThemeProperties::COLOR_TOOLBAR_CONTENT_AREA_SEPARATOR] = tab_border;
   // Separates entries in the downloads bar.
@@ -925,6 +916,43 @@
   colors_[ThemeProperties::COLOR_NTP_HEADER] =
       GetBorderColor("GtkButton#button");
 
+  SkColor tab_text_color = GetFgColor("GtkLabel");
+  colors_[ThemeProperties::COLOR_TOOLBAR_BUTTON_ICON] = tab_text_color;
+  colors_[ThemeProperties::COLOR_TAB_TEXT] = tab_text_color;
+  colors_[ThemeProperties::COLOR_BOOKMARK_TEXT] = tab_text_color;
+  colors_[ThemeProperties::COLOR_BOOKMARK_BAR_INSTRUCTIONS_TEXT] =
+      tab_text_color;
+
+  colors_[ThemeProperties::COLOR_BACKGROUND_TAB] = SK_ColorTRANSPARENT;
+  colors_[ThemeProperties::COLOR_BACKGROUND_TAB_INACTIVE] = SK_ColorTRANSPARENT;
+  colors_[ThemeProperties::COLOR_BACKGROUND_TAB_INCOGNITO] =
+      SK_ColorTRANSPARENT;
+  colors_[ThemeProperties::COLOR_BACKGROUND_TAB_INCOGNITO_INACTIVE] =
+      SK_ColorTRANSPARENT;
+
+  colors_[ThemeProperties::COLOR_NTP_LINK] = native_theme_->GetSystemColor(
+      ui::NativeTheme::kColorId_TextfieldSelectionBackgroundFocused);
+
+  // Generate the colors that we pass to WebKit.
+  focus_ring_color_ = native_theme_->GetSystemColor(
+      ui::NativeTheme::kColorId_FocusedBorderColor);
+
+  // Some GTK themes only define the text selection colors on the GtkEntry
+  // class, so we need to use that for getting selection colors.
+  active_selection_bg_color_ = native_theme_->GetSystemColor(
+      ui::NativeTheme::kColorId_TextfieldSelectionBackgroundFocused);
+  active_selection_fg_color_ = native_theme_->GetSystemColor(
+      ui::NativeTheme::kColorId_TextfieldSelectionColor);
+
+  colors_[ThemeProperties::COLOR_TAB_THROBBER_SPINNING] =
+      native_theme_->GetSystemColor(
+          ui::NativeTheme::kColorId_ThrobberSpinningColor);
+  colors_[ThemeProperties::COLOR_TAB_THROBBER_WAITING] =
+      native_theme_->GetSystemColor(
+          ui::NativeTheme::kColorId_ThrobberWaitingColor);
+
+  // Generate colors that depend on whether or not a custom window frame is
+  // used.  These colors belong in |color_map| below, not |colors_|.
   for (bool custom_frame : {false, true}) {
     ColorMap& color_map =
         custom_frame ? custom_frame_colors_ : native_frame_colors_;
@@ -932,10 +960,12 @@
                                             ? "#headerbar.header-bar.titlebar"
                                             : "GtkMenuBar#menubar";
     const std::string header_selector_inactive = header_selector + ":backdrop";
-    const SkColor frame_color = GetBgColor(header_selector);
+    const SkColor frame_color =
+        SkColorSetA(GetBgColor(header_selector), SK_AlphaOPAQUE);
     const SkColor frame_color_incognito =
         color_utils::HSLShift(frame_color, kDefaultTintFrameIncognito);
-    const SkColor frame_color_inactive = GetBgColor(header_selector_inactive);
+    const SkColor frame_color_inactive =
+        SkColorSetA(GetBgColor(header_selector_inactive), SK_AlphaOPAQUE);
     const SkColor frame_color_incognito_inactive =
         color_utils::HSLShift(frame_color_inactive, kDefaultTintFrameIncognito);
 
@@ -945,86 +975,36 @@
     color_map[ThemeProperties::COLOR_FRAME_INCOGNITO_INACTIVE] =
         frame_color_incognito_inactive;
 
-    if (ui::MaterialDesignController::IsRefreshUi()) {
-      colors_[ThemeProperties::COLOR_BACKGROUND_TAB] = SK_ColorTRANSPARENT;
-      colors_[ThemeProperties::COLOR_BACKGROUND_TAB_INACTIVE] =
-          SK_ColorTRANSPARENT;
-      colors_[ThemeProperties::COLOR_BACKGROUND_TAB_INCOGNITO] =
-          SK_ColorTRANSPARENT;
-      colors_[ThemeProperties::COLOR_BACKGROUND_TAB_INCOGNITO_INACTIVE] =
-          SK_ColorTRANSPARENT;
+    // Compose the window color on the frame color to ensure the resulting tab
+    // color is opaque.
+    SkColor tab_color =
+        color_utils::GetResultingPaintColor(GetBgColor(""), frame_color);
 
-      const SkColor background_tab_text_color =
-          GetFgColor(header_selector + " GtkLabel.title");
-      const SkColor background_tab_text_color_inactive =
-          GetFgColor(header_selector_inactive + " GtkLabel.title");
+    color_map[ThemeProperties::COLOR_TOOLBAR] = tab_color;
+    color_map[ThemeProperties::COLOR_CONTROL_BACKGROUND] = tab_color;
 
-      color_map[ThemeProperties::COLOR_BACKGROUND_TAB_TEXT] =
-          background_tab_text_color;
-      color_map[ThemeProperties::COLOR_BACKGROUND_TAB_TEXT_INCOGNITO] =
-          color_utils::GetColorWithMinimumContrast(
-              color_utils::HSLShift(background_tab_text_color,
-                                    kDefaultTintFrameIncognito),
-              frame_color_incognito);
-      color_map[ThemeProperties::COLOR_BACKGROUND_TAB_TEXT_INACTIVE] =
-          background_tab_text_color_inactive;
-      color_map[ThemeProperties::COLOR_BACKGROUND_TAB_TEXT_INCOGNITO_INACTIVE] =
-          color_utils::GetColorWithMinimumContrast(
-              color_utils::HSLShift(background_tab_text_color_inactive,
-                                    kDefaultTintFrameIncognito),
-              frame_color_incognito_inactive);
-    } else {
-      color_utils::HSL frame_hsl;
-      color_utils::SkColorToHSL(frame_color, &frame_hsl);
-      color_utils::HSL frame_hsl_inactive;
-      color_utils::SkColorToHSL(frame_color_inactive, &frame_hsl_inactive);
-      const color_utils::HSL inactive_shift =
-          color_utils::HSL{-1, (frame_hsl_inactive.s - frame_hsl.s + 1) / 2,
-                           (frame_hsl_inactive.l - frame_hsl.l + 1) / 2};
+    color_map[ThemeProperties::COLOR_DETACHED_BOOKMARK_BAR_BACKGROUND] =
+        tab_color;
 
-      const SkColor background_tab_color =
-          color_utils::HSLShift(tab_color, kDefaultTintBackgroundTab);
-      const SkColor background_tab_color_inactive =
-          color_utils::HSLShift(background_tab_color, inactive_shift);
-      const SkColor background_tab_color_incognito =
-          color_utils::HSLShift(tab_color, kDefaultTintBackgroundTabIncognito);
-      const SkColor background_tab_color_incognito_inactive =
-          color_utils::HSLShift(background_tab_color_incognito, inactive_shift);
+    const SkColor background_tab_text_color =
+        GetFgColor(header_selector + " GtkLabel.title");
+    const SkColor background_tab_text_color_inactive =
+        GetFgColor(header_selector_inactive + " GtkLabel.title");
 
-      colors_[ThemeProperties::COLOR_BACKGROUND_TAB] = background_tab_color;
-      colors_[ThemeProperties::COLOR_BACKGROUND_TAB_INACTIVE] =
-          background_tab_color_inactive;
-      colors_[ThemeProperties::COLOR_BACKGROUND_TAB_INCOGNITO] =
-          background_tab_color_incognito;
-      colors_[ThemeProperties::COLOR_BACKGROUND_TAB_INCOGNITO_INACTIVE] =
-          background_tab_color_incognito_inactive;
-
-      const SkColor background_tab_text_color =
-          color_utils::BlendTowardOppositeLuma(tab_text_color, 50);
-      const SkColor background_tab_text_color_incognito = color_utils::HSLShift(
-          background_tab_text_color, kDefaultTintFrameIncognito);
-      const SkColor background_tab_text_color_inactive =
-          color_utils::HSLShift(background_tab_text_color, inactive_shift);
-      const SkColor background_tab_text_color_incognito_inactive =
-          color_utils::HSLShift(background_tab_text_color_incognito,
-                                inactive_shift);
-
-      color_map[ThemeProperties::COLOR_BACKGROUND_TAB_TEXT] =
-          color_utils::GetColorWithMinimumContrast(background_tab_text_color,
-                                                   background_tab_color);
-      color_map[ThemeProperties::COLOR_BACKGROUND_TAB_TEXT_INCOGNITO] =
-          color_utils::GetColorWithMinimumContrast(
-              background_tab_text_color_incognito,
-              background_tab_color_incognito);
-      color_map[ThemeProperties::COLOR_BACKGROUND_TAB_TEXT_INACTIVE] =
-          color_utils::GetColorWithMinimumContrast(
-              background_tab_text_color_inactive,
-              background_tab_color_inactive);
-      color_map[ThemeProperties::COLOR_BACKGROUND_TAB_TEXT_INCOGNITO_INACTIVE] =
-          color_utils::GetColorWithMinimumContrast(
-              background_tab_text_color_incognito_inactive,
-              background_tab_color_incognito_inactive);
-    }
+    color_map[ThemeProperties::COLOR_BACKGROUND_TAB_TEXT] =
+        background_tab_text_color;
+    color_map[ThemeProperties::COLOR_BACKGROUND_TAB_TEXT_INCOGNITO] =
+        color_utils::GetColorWithMinimumContrast(
+            color_utils::HSLShift(background_tab_text_color,
+                                  kDefaultTintFrameIncognito),
+            frame_color_incognito);
+    color_map[ThemeProperties::COLOR_BACKGROUND_TAB_TEXT_INACTIVE] =
+        background_tab_text_color_inactive;
+    color_map[ThemeProperties::COLOR_BACKGROUND_TAB_TEXT_INCOGNITO_INACTIVE] =
+        color_utils::GetColorWithMinimumContrast(
+            color_utils::HSLShift(background_tab_text_color_inactive,
+                                  kDefaultTintFrameIncognito),
+            frame_color_incognito_inactive);
 
     // These colors represent the border drawn around tabs and between
     // the tabstrip and toolbar.
@@ -1050,30 +1030,6 @@
           toolbar_top_separator_inactive;
     }
   }
-
-  colors_[ThemeProperties::COLOR_TOOLBAR] = tab_color;
-  colors_[ThemeProperties::COLOR_CONTROL_BACKGROUND] = tab_color;
-
-  colors_[ThemeProperties::COLOR_NTP_LINK] = native_theme_->GetSystemColor(
-      ui::NativeTheme::kColorId_TextfieldSelectionBackgroundFocused);
-
-  // Generate the colors that we pass to WebKit.
-  focus_ring_color_ = native_theme_->GetSystemColor(
-      ui::NativeTheme::kColorId_FocusedBorderColor);
-
-  // Some GTK themes only define the text selection colors on the GtkEntry
-  // class, so we need to use that for getting selection colors.
-  active_selection_bg_color_ = native_theme_->GetSystemColor(
-      ui::NativeTheme::kColorId_TextfieldSelectionBackgroundFocused);
-  active_selection_fg_color_ = native_theme_->GetSystemColor(
-      ui::NativeTheme::kColorId_TextfieldSelectionColor);
-
-  colors_[ThemeProperties::COLOR_TAB_THROBBER_SPINNING] =
-      native_theme_->GetSystemColor(
-          ui::NativeTheme::kColorId_ThrobberSpinningColor);
-  colors_[ThemeProperties::COLOR_TAB_THROBBER_WAITING] =
-      native_theme_->GetSystemColor(
-          ui::NativeTheme::kColorId_ThrobberWaitingColor);
 }
 
 void GtkUi::UpdateCursorTheme() {
diff --git a/chrome/browser/ui/libgtkui/gtk_ui.h b/chrome/browser/ui/libgtkui/gtk_ui.h
index 518f743..1c626d1 100644
--- a/chrome/browser/ui/libgtkui/gtk_ui.h
+++ b/chrome/browser/ui/libgtkui/gtk_ui.h
@@ -128,9 +128,12 @@
                      void*,
                      GParamSpec*);
 
+  // Loads all GTK-provided settings.
+  void LoadGtkValues();
+
   // Extracts colors and tints from the GTK theme, both for the
   // ThemeService interface and the colors we send to webkit.
-  void LoadGtkValues();
+  void UpdateColors();
 
   // Sets the Xcursor theme and size with the GTK theme and size.
   void UpdateCursorTheme();
diff --git a/chrome/browser/ui/toolbar/app_menu_model.cc b/chrome/browser/ui/toolbar/app_menu_model.cc
index 7847460d..ed190211 100644
--- a/chrome/browser/ui/toolbar/app_menu_model.cc
+++ b/chrome/browser/ui/toolbar/app_menu_model.cc
@@ -107,21 +107,20 @@
   }
 }
 
-// Returns the appropriate menu label for the IDC_CREATE_HOSTED_APP command.
-base::string16 GetCreateHostedAppMenuItemName(Browser* browser) {
-  if (browser->tab_strip_model()) {
-    WebContents* web_contents =
-        browser->tab_strip_model()->GetActiveWebContents();
-    if (web_contents) {
-      base::string16 app_name =
-          banners::AppBannerManager::GetInstallableAppName(web_contents);
-      if (!app_name.empty()) {
-        return l10n_util::GetStringFUTF16(IDS_INSTALL_TO_OS_LAUNCH_SURFACE,
-                                          app_name);
-      }
-    }
-  }
-  return l10n_util::GetStringUTF16(IDS_ADD_TO_OS_LAUNCH_SURFACE);
+// Returns the appropriate menu label for the IDC_INSTALL_PWA command if
+// available.
+base::Optional<base::string16> GetInstallPWAAppMenuItemName(Browser* browser) {
+  if (!browser->tab_strip_model())
+    return base::nullopt;
+  WebContents* web_contents =
+      browser->tab_strip_model()->GetActiveWebContents();
+  if (!web_contents)
+    return base::nullopt;
+  base::string16 app_name =
+      banners::AppBannerManager::GetInstallableAppName(web_contents);
+  if (app_name.empty())
+    return base::nullopt;
+  return l10n_util::GetStringFUTF16(IDS_INSTALL_TO_OS_LAUNCH_SURFACE, app_name);
 }
 
 }  // namespace
@@ -202,12 +201,8 @@
 void ToolsMenuModel::Build(Browser* browser) {
   AddItemWithStringId(IDC_SAVE_PAGE, IDS_SAVE_PAGE);
 
-  if (extensions::util::IsNewBookmarkAppsEnabled() &&
-      // If kExperimentalAppBanners is enabled, this is moved to the top level
-      // menu.
-      !banners::AppBannerManager::IsExperimentalAppBannersEnabled()) {
-    AddItemWithStringId(IDC_CREATE_HOSTED_APP, IDS_ADD_TO_OS_LAUNCH_SURFACE);
-  }
+  if (extensions::util::IsNewBookmarkAppsEnabled())
+    AddItemWithStringId(IDC_CREATE_SHORTCUT, IDS_ADD_TO_OS_LAUNCH_SURFACE);
 
   AddSeparator(ui::NORMAL_SEPARATOR);
   AddItemWithStringId(IDC_CLEAR_BROWSING_DATA, IDS_CLEAR_BROWSING_DATA);
@@ -266,8 +261,7 @@
 #elif defined(OS_WIN)
          command_id == IDC_PIN_TO_START_SCREEN ||
 #endif
-         command_id == IDC_CREATE_HOSTED_APP ||
-         command_id == IDC_UPGRADE_DIALOG;
+         command_id == IDC_INSTALL_PWA || command_id == IDC_UPGRADE_DIALOG;
 }
 
 base::string16 AppMenuModel::GetLabelForCommandId(int command_id) const {
@@ -289,8 +283,8 @@
       return l10n_util::GetStringUTF16(string_id);
     }
 #endif
-    case IDC_CREATE_HOSTED_APP:
-      return GetCreateHostedAppMenuItemName(browser_);
+    case IDC_INSTALL_PWA:
+      return GetInstallPWAAppMenuItemName(browser_).value();
     case IDC_UPGRADE_DIALOG:
       return GetUpgradeDialogMenuItemName();
     default:
@@ -443,7 +437,7 @@
       break;
 
     // Tools menu.
-    case IDC_CREATE_HOSTED_APP:
+    case IDC_CREATE_SHORTCUT:
       if (!uma_action_recorded_) {
         UMA_HISTOGRAM_MEDIUM_TIMES("WrenchMenu.TimeToAction.CreateHostedApp",
                                    delta);
@@ -767,7 +761,10 @@
               gfx::TruncateString(base::UTF8ToUTF16(pwa->name()),
                                   kMaxAppNameLength, gfx::CHARACTER_BREAK)));
     } else {
-      AddItem(IDC_CREATE_HOSTED_APP, GetCreateHostedAppMenuItemName(browser_));
+      base::Optional<base::string16> install_pwa_item_name =
+          GetInstallPWAAppMenuItemName(browser_);
+      if (install_pwa_item_name)
+        AddItem(IDC_INSTALL_PWA, *install_pwa_item_name);
     }
   }
 
diff --git a/chrome/browser/ui/views/bookmarks/bookmark_bar_view.cc b/chrome/browser/ui/views/bookmarks/bookmark_bar_view.cc
index 9f8393fe..144b723 100644
--- a/chrome/browser/ui/views/bookmarks/bookmark_bar_view.cc
+++ b/chrome/browser/ui/views/bookmarks/bookmark_bar_view.cc
@@ -103,6 +103,7 @@
 #include "ui/views/metrics.h"
 #include "ui/views/style/platform_style.h"
 #include "ui/views/view_constants.h"
+#include "ui/views/view_properties.h"
 #include "ui/views/widget/tooltip_manager.h"
 #include "ui/views/widget/widget.h"
 #include "ui/views/window/non_client_view.h"
@@ -167,17 +168,15 @@
       views::EMPHASIS_MAXIMUM, host_view->size());
 }
 
-// Create a SkPath matching the bookmark inkdrops to be used for the focus ring.
-// TODO(pbos): Consolidate inkdrop effects, highlights and ripples along with
-// focus rings so that they are derived from the same actual SkPath or other
-// shared primitive.
-SkPath CreateBookmarkFocusRingPath(views::InkDropHostView* host_view) {
+// Returns a gfx::Path for bookmark inkdrops and focus rings.
+std::unique_ptr<gfx::Path> CreateBookmarkHighlightPath(
+    views::InkDropHostView* host_view) {
   gfx::Rect rect(host_view->size());
   rect.Inset(GetInkDropInsets());
 
-  SkPath path;
+  auto path = std::make_unique<gfx::Path>();
   const int radius = GetInkDropCornerRadius(host_view);
-  path.addRoundRect(gfx::RectToSkRect(rect), radius, radius);
+  path->addRoundRect(gfx::RectToSkRect(rect), radius, radius);
   return path;
 }
 
@@ -196,12 +195,6 @@
       host_view->ink_drop_visible_opacity());
 }
 
-std::unique_ptr<views::InkDropMask> CreateBookmarkButtonInkDropMask(
-    const views::InkDropHostView* host_view) {
-  return std::make_unique<views::RoundRectInkDropMask>(
-      host_view->size(), GetInkDropInsets(), GetInkDropCornerRadius(host_view));
-}
-
 std::unique_ptr<views::InkDropHighlight> CreateBookmarkButtonInkDropHighlight(
     const views::InkDropHostView* host_view) {
   std::unique_ptr<views::InkDropHighlight> highlight(
@@ -260,8 +253,8 @@
 
   // LabelButton:
   void OnBoundsChanged(const gfx::Rect& previous_bounds) override {
-    if (focus_ring())
-      focus_ring()->SetPath(CreateBookmarkFocusRingPath(this));
+    SetProperty(views::kHighlightPathKey,
+                CreateBookmarkHighlightPath(this).release());
     LabelButton::OnBoundsChanged(previous_bounds);
   }
 
@@ -279,10 +272,6 @@
     return CreateBookmarkButtonInkDropHighlight(this);
   }
 
-  std::unique_ptr<views::InkDropMask> CreateInkDropMask() const override {
-    return CreateBookmarkButtonInkDropMask(this);
-  }
-
   std::unique_ptr<views::LabelButtonBorder> CreateDefaultBorder()
       const override {
     return CreateBookmarkButtonBorder();
@@ -388,8 +377,8 @@
 
   // MenuButton:
   void OnBoundsChanged(const gfx::Rect& previous_bounds) override {
-    if (focus_ring())
-      focus_ring()->SetPath(CreateBookmarkFocusRingPath(this));
+    SetProperty(views::kHighlightPathKey,
+                CreateBookmarkHighlightPath(this).release());
     MenuButton::OnBoundsChanged(previous_bounds);
   }
 
@@ -407,10 +396,6 @@
     return CreateBookmarkButtonInkDropHighlight(this);
   }
 
-  std::unique_ptr<views::InkDropMask> CreateInkDropMask() const override {
-    return CreateBookmarkButtonInkDropMask(this);
-  }
-
   std::unique_ptr<views::LabelButtonBorder> CreateDefaultBorder()
       const override {
     return CreateBookmarkButtonBorder();
diff --git a/chrome/browser/ui/views/crostini/crostini_browser_test_util.cc b/chrome/browser/ui/views/crostini/crostini_browser_test_util.cc
index 565a93c..370b911 100644
--- a/chrome/browser/ui/views/crostini/crostini_browser_test_util.cc
+++ b/chrome/browser/ui/views/crostini/crostini_browser_test_util.cc
@@ -73,16 +73,7 @@
 }
 
 void CrostiniDialogBrowserTest::SetUp() {
-  base::FilePath component_user_dir;
-  ASSERT_TRUE(base::PathService::Get(component_updater::DIR_COMPONENT_USER,
-                                     &component_user_dir));
-  ASSERT_TRUE(cros_termina_resources_.Set(
-      component_user_dir.Append("cros-components")
-          .Append(imageloader::kTerminaComponentName)));
-
-  image_loader_client_->SetMountPathForComponent(
-      imageloader::kTerminaComponentName, cros_termina_resources_.GetPath());
-
+  InitCrosTermina();
   SetCrostiniUIAllowedForTesting(true);
   DialogBrowserTest::SetUp();
 }
@@ -99,6 +90,18 @@
       cros_termina_resources_.GetPath().value(), base::DoNothing());
 }
 
+void CrostiniDialogBrowserTest::InitCrosTermina() {
+  base::FilePath component_user_dir;
+  ASSERT_TRUE(base::PathService::Get(component_updater::DIR_COMPONENT_USER,
+                                     &component_user_dir));
+  ASSERT_TRUE(cros_termina_resources_.Set(
+      component_user_dir.Append("cros-components")
+          .Append(imageloader::kTerminaComponentName)));
+
+  image_loader_client_->SetMountPathForComponent(
+      imageloader::kTerminaComponentName, cros_termina_resources_.GetPath());
+}
+
 void CrostiniDialogBrowserTest::SetConnectionType(
     net::NetworkChangeNotifier::ConnectionType connection_type) {
   extra_parts_->network_change_notifier()->SetConnectionType(connection_type);
diff --git a/chrome/browser/ui/views/crostini/crostini_browser_test_util.h b/chrome/browser/ui/views/crostini/crostini_browser_test_util.h
index aae20eb..734f646d 100644
--- a/chrome/browser/ui/views/crostini/crostini_browser_test_util.h
+++ b/chrome/browser/ui/views/crostini/crostini_browser_test_util.h
@@ -27,6 +27,7 @@
       content::BrowserMainParts* browser_main_parts) override;
   void SetUp() override;
   void SetUpOnMainThread() override;
+  virtual void InitCrosTermina();
 
   void SetConnectionType(
       net::NetworkChangeNotifier::ConnectionType connection_type);
diff --git a/chrome/browser/ui/views/crostini/crostini_uninstaller_view_browsertest.cc b/chrome/browser/ui/views/crostini/crostini_uninstaller_view_browsertest.cc
index c53221c..81de052 100644
--- a/chrome/browser/ui/views/crostini/crostini_uninstaller_view_browsertest.cc
+++ b/chrome/browser/ui/views/crostini/crostini_uninstaller_view_browsertest.cc
@@ -8,6 +8,7 @@
 #include "base/run_loop.h"
 #include "base/test/metrics/histogram_tester.h"
 #include "chrome/browser/chromeos/crostini/crostini_manager.h"
+#include "chrome/browser/chromeos/crostini/crostini_pref_names.h"
 #include "chrome/browser/chromeos/crostini/crostini_util.h"
 #include "chrome/browser/profiles/profile.h"
 #include "chrome/browser/ui/app_list/app_list_client_impl.h"
@@ -20,6 +21,7 @@
 #include "chromeos/dbus/dbus_thread_manager.h"
 #include "chromeos/dbus/fake_concierge_client.h"
 #include "components/crx_file/id_util.h"
+#include "components/prefs/pref_service.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "ui/views/window/dialog_client_view.h"
 
@@ -83,10 +85,28 @@
   WaitingFakeConciergeClient* waiting_fake_concierge_client_;
 
  private:
-
   DISALLOW_COPY_AND_ASSIGN(CrostiniUninstallerViewBrowserTest);
 };
 
+class CrostiniUninstalledUninstallerViewBrowserTest
+    : public CrostiniUninstallerViewBrowserTest {
+ public:
+  CrostiniUninstalledUninstallerViewBrowserTest() = default;
+
+  void SetUpOnMainThread() override {
+    browser()->profile()->GetPrefs()->SetBoolean(
+        crostini::prefs::kCrostiniEnabled, true);
+    // Skips installing the Cros-Termina component.
+  }
+
+  void InitCrosTermina() override {
+    // Skips setting up the Cros-Termina component.
+  }
+
+ private:
+  DISALLOW_COPY_AND_ASSIGN(CrostiniUninstalledUninstallerViewBrowserTest);
+};
+
 // Test the dialog is actually launched from the app launcher.
 IN_PROC_BROWSER_TEST_F(CrostiniUninstallerViewBrowserTest, InvokeUi_default) {
   ShowAndVerifyUi();
@@ -117,6 +137,33 @@
       1);
 }
 
+IN_PROC_BROWSER_TEST_F(CrostiniUninstalledUninstallerViewBrowserTest,
+                       OfflineUninstallFlowWithoutTermina) {
+  base::HistogramTester histogram_tester;
+
+  SetConnectionType(net::NetworkChangeNotifier::CONNECTION_NONE);
+  base::RunLoop().RunUntilIdle();
+
+  ShowUi("default");
+  EXPECT_NE(nullptr, ActiveView());
+  EXPECT_FALSE(ActiveView()->GetWidget()->IsClosed());
+  EXPECT_EQ(ui::DIALOG_BUTTON_OK | ui::DIALOG_BUTTON_CANCEL,
+            ActiveView()->GetDialogButtons());
+
+  EXPECT_TRUE(HasAcceptButton());
+  EXPECT_TRUE(HasCancelButton());
+
+  ActiveView()->GetDialogClientView()->AcceptWindow();
+
+  WaitForViewDestroyed();
+
+  histogram_tester.ExpectBucketCount(
+      "Crostini.UninstallResult",
+      static_cast<base::HistogramBase::Sample>(
+          CrostiniUninstallerView::UninstallResult::kSuccess),
+      1);
+}
+
 IN_PROC_BROWSER_TEST_F(CrostiniUninstallerViewBrowserTest, Cancel) {
   base::HistogramTester histogram_tester;
 
diff --git a/chrome/browser/ui/views/extensions/bookmark_app_confirmation_view.cc b/chrome/browser/ui/views/extensions/bookmark_app_confirmation_view.cc
index 2b098c78..5bf9db2 100644
--- a/chrome/browser/ui/views/extensions/bookmark_app_confirmation_view.cc
+++ b/chrome/browser/ui/views/extensions/bookmark_app_confirmation_view.cc
@@ -31,6 +31,12 @@
 #include "ui/views/layout/layout_provider.h"
 #include "ui/views/widget/widget.h"
 
+namespace {
+
+bool g_auto_accept_bookmark_app_for_testing = false;
+
+}  // namespace
+
 BookmarkAppConfirmationView::~BookmarkAppConfirmationView() {}
 
 BookmarkAppConfirmationView::BookmarkAppConfirmationView(
@@ -98,6 +104,9 @@
   title_tf_->SelectAll(true);
   chrome::RecordDialogCreation(
       chrome::DialogIdentifier::BOOKMARK_APP_CONFIRMATION);
+
+  if (g_auto_accept_bookmark_app_for_testing)
+    Accept();
 }
 
 views::View* BookmarkAppConfirmationView::GetInitiallyFocusedView() {
@@ -164,4 +173,8 @@
       web_contents);
 }
 
+void SetAutoAcceptBookmarkAppDialogForTesting(bool auto_accept) {
+  g_auto_accept_bookmark_app_for_testing = auto_accept;
+}
+
 }  // namespace chrome
diff --git a/chrome/browser/ui/views/extensions/extension_action_platform_delegate_views.cc b/chrome/browser/ui/views/extensions/extension_action_platform_delegate_views.cc
index 0b9f6ecd..db439b6 100644
--- a/chrome/browser/ui/views/extensions/extension_action_platform_delegate_views.cc
+++ b/chrome/browser/ui/views/extensions/extension_action_platform_delegate_views.cc
@@ -8,7 +8,6 @@
 
 #include "base/logging.h"
 #include "base/memory/ptr_util.h"
-#include "build/build_config.h"
 #include "chrome/browser/extensions/extension_action.h"
 #include "chrome/browser/extensions/extension_view_host.h"
 #include "chrome/browser/profiles/profile.h"
@@ -18,7 +17,6 @@
 #include "chrome/browser/ui/views/toolbar/browser_actions_container.h"
 #include "chrome/browser/ui/views/toolbar/toolbar_action_view_delegate_views.h"
 #include "chrome/browser/ui/views/toolbar/toolbar_view.h"
-#include "chrome/browser/ui/views_mode_controller.h"
 #include "chrome/common/extensions/api/extension_action/action_info.h"
 #include "chrome/common/extensions/command.h"
 #include "content/public/browser/notification_details.h"
@@ -34,10 +32,6 @@
 std::unique_ptr<ExtensionActionPlatformDelegate>
 ExtensionActionPlatformDelegate::Create(
     ExtensionActionViewController* controller) {
-#if defined(OS_MACOSX)
-  if (views_mode_controller::IsViewsBrowserCocoa())
-    return CreateCocoa(controller);
-#endif
   return base::WrapUnique(new ExtensionActionPlatformDelegateViews(controller));
 }
 
diff --git a/chrome/browser/ui/views/extensions/extension_message_bubble_view_browsertest_views.cc b/chrome/browser/ui/views/extensions/extension_message_bubble_view_browsertest_views.cc
index 9c28f77..d3cf11c 100644
--- a/chrome/browser/ui/views/extensions/extension_message_bubble_view_browsertest_views.cc
+++ b/chrome/browser/ui/views/extensions/extension_message_bubble_view_browsertest_views.cc
@@ -2,14 +2,12 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "build/buildflag.h"
 #include "chrome/browser/ui/extensions/extension_message_bubble_browsertest.h"
 #include "chrome/browser/ui/views/frame/browser_view.h"
 #include "chrome/browser/ui/views/toolbar/browser_actions_container.h"
 #include "chrome/browser/ui/views/toolbar/browser_app_menu_button.h"
 #include "chrome/browser/ui/views/toolbar/toolbar_actions_bar_bubble_views.h"
 #include "chrome/browser/ui/views/toolbar/toolbar_view.h"
-#include "chrome/browser/ui/views_mode_controller.h"
 #include "ui/base/ui_base_features.h"
 #include "ui/views/bubble/bubble_dialog_delegate_view.h"
 
@@ -25,10 +23,6 @@
 // static
 ToolbarActionsBarBubbleViews*
 ExtensionMessageBubbleBrowserTest::GetViewsBubbleForBrowser(Browser* browser) {
-#if BUILDFLAG(MAC_VIEWS_BROWSER)
-  if (views_mode_controller::IsViewsBrowserCocoa())
-    return GetViewsBubbleForCocoaBrowser(browser);
-#endif
   return static_cast<ToolbarActionsBarBubbleViews*>(
       GetToolbarViewForBrowser(browser)->browser_actions()->active_bubble());
 }
@@ -37,10 +31,6 @@
 gfx::Rect ExtensionMessageBubbleBrowserTest::GetAnchorReferenceBoundsForBrowser(
     Browser* browser,
     AnchorPosition anchor) {
-#if BUILDFLAG(MAC_VIEWS_BROWSER)
-  if (views_mode_controller::IsViewsBrowserCocoa())
-    return GetAnchorReferenceBoundsForCocoaBrowser(browser, anchor);
-#endif
   ToolbarView* toolbar_view = GetToolbarViewForBrowser(browser);
   BrowserActionsContainer* container = toolbar_view->browser_actions();
   views::View* anchor_view = nullptr;
diff --git a/chrome/browser/ui/views/extensions/pwa_confirmation_view.cc b/chrome/browser/ui/views/extensions/pwa_confirmation_view.cc
index d223f5c..7b07182 100644
--- a/chrome/browser/ui/views/extensions/pwa_confirmation_view.cc
+++ b/chrome/browser/ui/views/extensions/pwa_confirmation_view.cc
@@ -30,8 +30,14 @@
 #include "ui/views/window/dialog_client_view.h"
 #include "url/origin.h"
 
+namespace {
+
 constexpr int kPWAConfirmationViewIconSize = 48;
 
+bool g_auto_accept_pwa_for_testing = false;
+
+}  // namespace
+
 PWAConfirmationView::PWAConfirmationView(
     const WebApplicationInfo& web_app_info,
     chrome::AppInstallationAcceptanceCallback callback)
@@ -44,6 +50,9 @@
   InitializeView();
 
   chrome::RecordDialogCreation(chrome::DialogIdentifier::PWA_CONFIRMATION);
+
+  if (g_auto_accept_pwa_for_testing)
+    Accept();
 }
 
 PWAConfirmationView::~PWAConfirmationView() {}
@@ -165,4 +174,8 @@
       new PWAConfirmationView(web_app_info, std::move(callback)), web_contents);
 }
 
+void SetAutoAcceptPWAInstallDialogForTesting(bool auto_accept) {
+  g_auto_accept_pwa_for_testing = auto_accept;
+}
+
 }  // namespace chrome
diff --git a/chrome/browser/ui/views/frame/browser_non_client_frame_view_ash.cc b/chrome/browser/ui/views/frame/browser_non_client_frame_view_ash.cc
index 878928f..56d47f03 100644
--- a/chrome/browser/ui/views/frame/browser_non_client_frame_view_ash.cc
+++ b/chrome/browser/ui/views/frame/browser_non_client_frame_view_ash.cc
@@ -198,7 +198,7 @@
   // minimize all windows when pressing the Launcher button on the shelf.
   window->SetProperty(
       ash::kHideCaptionButtonsInTabletModeKey,
-      (browser->is_app() || !app_list::features::IsHomeLauncherEnabled())
+      (browser->is_app() || !app_list_features::IsHomeLauncherEnabled())
           ? false
           : true);
 
@@ -1008,7 +1008,7 @@
     active_color =
         browser_view()->browser()->hosted_app_controller()->GetThemeColor();
     window->SetProperty(ash::kFrameIsThemedByHostedAppKey, !!active_color);
-  } else {
+  } else if (!browser_view()->browser()->is_app()) {
     active_color = kMdWebUiFrameColor;
   }
 
diff --git a/chrome/browser/ui/views/frame/browser_non_client_frame_view_ash_browsertest.cc b/chrome/browser/ui/views/frame/browser_non_client_frame_view_ash_browsertest.cc
index 02398db..7efd04f5 100644
--- a/chrome/browser/ui/views/frame/browser_non_client_frame_view_ash_browsertest.cc
+++ b/chrome/browser/ui/views/frame/browser_non_client_frame_view_ash_browsertest.cc
@@ -1187,6 +1187,26 @@
   EXPECT_FALSE(frame_view2->caption_button_container_->visible());
 }
 
+// Regression test for https://crbug.com/879851.
+// Tests that we don't accidentally change the color of app frame title bars.
+// Update expectation if change is intentional.
+IN_PROC_BROWSER_TEST_P(BrowserNonClientFrameViewAshTest, AppFrameColor) {
+  browser()->window()->Close();
+
+  // Open a new app window.
+  Browser* app_browser = new Browser(Browser::CreateParams::CreateForApp(
+      "test_browser_app", true /* trusted_source */, gfx::Rect(),
+      browser()->profile(), true /* user_gesture */));
+  aura::Window* window = app_browser->window()->GetNativeWindow();
+  window->Show();
+
+  SkColor active_frame_color = window->GetProperty(ash::kFrameActiveColorKey);
+  EXPECT_EQ(active_frame_color, SkColorSetRGB(253, 254, 255))
+      << "RGB: " << SkColorGetR(active_frame_color) << ", "
+      << SkColorGetG(active_frame_color) << ", "
+      << SkColorGetB(active_frame_color);
+}
+
 IN_PROC_BROWSER_TEST_P(BrowserNonClientFrameViewAshTest,
                        ImmersiveModeTopViewInset) {
   browser()->window()->Close();
@@ -1255,7 +1275,7 @@
 
   void SetUp() override {
     scoped_feature_list_.InitAndEnableFeature(
-        app_list::features::kEnableHomeLauncher);
+        app_list_features::kEnableHomeLauncher);
     TopChromeMdParamTest<InProcessBrowserTest>::SetUp();
   }
 
@@ -1280,7 +1300,7 @@
 
   void SetUp() override {
     scoped_feature_list_.InitAndDisableFeature(
-        app_list::features::kEnableHomeLauncher);
+        app_list_features::kEnableHomeLauncher);
     TopChromeMdParamTest<InProcessBrowserTest>::SetUp();
   }
 
diff --git a/chrome/browser/ui/views/global_error_bubble_view.cc b/chrome/browser/ui/views/global_error_bubble_view.cc
index b4cba7c..dd35568 100644
--- a/chrome/browser/ui/views/global_error_bubble_view.cc
+++ b/chrome/browser/ui/views/global_error_bubble_view.cc
@@ -23,7 +23,6 @@
 #include "chrome/browser/ui/views/frame/app_menu_button.h"
 #include "chrome/browser/ui/views/frame/browser_view.h"
 #include "chrome/browser/ui/views/toolbar/toolbar_view.h"
-#include "chrome/browser/ui/views_mode_controller.h"
 #include "ui/base/resource/resource_bundle.h"
 #include "ui/base/ui_features.h"
 #include "ui/gfx/image/image.h"
@@ -36,28 +35,16 @@
 #include "ui/views/layout/grid_layout.h"
 #include "ui/views/window/dialog_client_view.h"
 
-#if defined(OS_MACOSX)
-#include "chrome/browser/ui/cocoa/bubble_anchor_helper_views.h"
-#endif
-
 namespace {
 
 const int kMaxBubbleViewWidth = 362;
 
 views::View* GetGlobalErrorBubbleAnchorView(Browser* browser) {
-#if defined(OS_MACOSX)
-  if (views_mode_controller::IsViewsBrowserCocoa())
-    return nullptr;
-#endif
   BrowserView* browser_view = BrowserView::GetBrowserViewForBrowser(browser);
   return browser_view->toolbar_button_provider()->GetAppMenuButton();
 }
 
 gfx::Rect GetGlobalErrorBubbleAnchorRect(Browser* browser) {
-#if defined(OS_MACOSX)
-  if (views_mode_controller::IsViewsBrowserCocoa())
-    return bubble_anchor_util::GetAppMenuAnchorRectCocoa(browser);
-#endif
   return gfx::Rect();
 }
 
@@ -77,10 +64,6 @@
       anchor_view, anchor_rect, views::BubbleBorder::TOP_RIGHT, browser, error);
   views::BubbleDialogDelegateView::CreateBubble(bubble_view);
   bubble_view->GetWidget()->Show();
-#if defined(OS_MACOSX)
-  if (views_mode_controller::IsViewsBrowserCocoa())
-    KeepBubbleAnchored(bubble_view);
-#endif
   return bubble_view;
 }
 
diff --git a/chrome/browser/ui/views/session_crashed_bubble_view.cc b/chrome/browser/ui/views/session_crashed_bubble_view.cc
index d7ecbdb..7a6b8d4 100644
--- a/chrome/browser/ui/views/session_crashed_bubble_view.cc
+++ b/chrome/browser/ui/views/session_crashed_bubble_view.cc
@@ -29,7 +29,6 @@
 #include "chrome/browser/ui/views/frame/browser_view.h"
 #include "chrome/browser/ui/views/frame/toolbar_button_provider.h"
 #include "chrome/browser/ui/views/toolbar/toolbar_view.h"
-#include "chrome/browser/ui/views_mode_controller.h"
 #include "chrome/grit/chromium_strings.h"
 #include "chrome/grit/generated_resources.h"
 #include "chrome/installer/util/google_update_settings.h"
@@ -48,12 +47,6 @@
 #include "ui/views/layout/grid_layout.h"
 #include "ui/views/widget/widget.h"
 
-#if defined(OS_MACOSX)
-#include "chrome/browser/platform_util.h"
-#include "chrome/browser/ui/cocoa/browser_dialogs_views_mac.h"
-#include "chrome/browser/ui/cocoa/bubble_anchor_helper_views.h"
-#endif
-
 namespace {
 
 enum SessionCrashedBubbleHistogramValue {
@@ -86,20 +79,12 @@
 // browser windows always have a null anchor view and use
 // GetSessionCrashedBubbleAnchorRect() instead.
 views::View* GetSessionCrashedBubbleAnchorView(Browser* browser) {
-#if BUILDFLAG(MAC_VIEWS_BROWSER)
-  if (views_mode_controller::IsViewsBrowserCocoa())
-    return nullptr;
-#endif
   return BrowserView::GetBrowserViewForBrowser(browser)
       ->toolbar_button_provider()
       ->GetAppMenuButton();
 }
 
 gfx::Rect GetSessionCrashedBubbleAnchorRect(Browser* browser) {
-#if defined(OS_MACOSX)
-  if (views_mode_controller::IsViewsBrowserCocoa())
-    return bubble_anchor_util::GetAppMenuAnchorRectCocoa(browser);
-#endif
   return gfx::Rect();
 }
 
@@ -176,10 +161,6 @@
       GetSessionCrashedBubbleAnchorView(browser),
       GetSessionCrashedBubbleAnchorRect(browser), browser, offer_uma_optin);
   views::BubbleDialogDelegateView::CreateBubble(crash_bubble)->Show();
-#if defined(OS_MACOSX)
-  if (views_mode_controller::IsViewsBrowserCocoa())
-    KeepBubbleAnchored(crash_bubble);
-#endif
 
   RecordBubbleHistogramValue(SESSION_CRASHED_BUBBLE_SHOWN);
   if (uma_opted_in_already)
diff --git a/chrome/browser/ui/views/session_crashed_bubble_view_browsertest.cc b/chrome/browser/ui/views/session_crashed_bubble_view_browsertest.cc
index 8dfca58f..2c9a6c5 100644
--- a/chrome/browser/ui/views/session_crashed_bubble_view_browsertest.cc
+++ b/chrome/browser/ui/views/session_crashed_bubble_view_browsertest.cc
@@ -12,7 +12,6 @@
 #include "chrome/browser/ui/views/frame/browser_view.h"
 #include "chrome/browser/ui/views/toolbar/browser_app_menu_button.h"
 #include "chrome/browser/ui/views/toolbar/toolbar_view.h"
-#include "chrome/browser/ui/views_mode_controller.h"
 #include "chrome/test/base/in_process_browser_test.h"
 #include "ui/base/ui_features.h"
 #include "ui/views/view.h"
@@ -25,10 +24,6 @@
   void ShowUi(const std::string& name) override {
     gfx::Rect anchor_rect = gfx::Rect();
     views::View* anchor_view = nullptr;
-#if BUILDFLAG(MAC_VIEWS_BROWSER)
-    if (views_mode_controller::IsViewsBrowserCocoa())
-      anchor_rect = bubble_anchor_util::GetAppMenuAnchorRectCocoa(browser());
-#endif
     if (anchor_rect == gfx::Rect()) {
       anchor_view = BrowserView::GetBrowserViewForBrowser(browser())
                         ->toolbar()
diff --git a/chrome/browser/ui/views/toolbar/browser_action_test_util_views.cc b/chrome/browser/ui/views/toolbar/browser_action_test_util_views.cc
index 6d4a7ef4..0c7dde6 100644
--- a/chrome/browser/ui/views/toolbar/browser_action_test_util_views.cc
+++ b/chrome/browser/ui/views/toolbar/browser_action_test_util_views.cc
@@ -9,7 +9,6 @@
 #include "base/macros.h"
 #include "base/memory/ptr_util.h"
 #include "base/strings/utf_string_conversions.h"
-#include "build/build_config.h"
 #include "chrome/browser/ui/browser.h"
 #include "chrome/browser/ui/browser_window.h"
 #include "chrome/browser/ui/extensions/extension_action_view_controller.h"
@@ -218,11 +217,9 @@
           browser_,
           GetContainer(browser_, main_bar->test_helper_.get()))) {}
 
-#if !defined(OS_MACOSX)
 // static
 std::unique_ptr<BrowserActionTestUtil> BrowserActionTestUtil::Create(
     Browser* browser,
     bool is_real_window) {
   return std::make_unique<BrowserActionTestUtilViews>(browser, is_real_window);
 }
-#endif
diff --git a/chrome/browser/ui/webui/settings/chromeos/multidevice_handler.cc b/chrome/browser/ui/webui/settings/chromeos/multidevice_handler.cc
index da6b0bc..97f39357 100644
--- a/chrome/browser/ui/webui/settings/chromeos/multidevice_handler.cc
+++ b/chrome/browser/ui/webui/settings/chromeos/multidevice_handler.cc
@@ -171,9 +171,9 @@
 }
 
 void MultideviceHandler::HandleSetUpAndroidSms(const base::ListValue* args) {
-  PA_LOG(WARNING) << "HandlingSetupSms";
+  PA_LOG(INFO) << "SetUpSMS triggered.";
   DCHECK(args->empty());
-  android_sms_app_helper_->LaunchAndroidSmsApp();
+  android_sms_app_helper_->InstallAndLaunchAndroidSmsApp();
 }
 
 void MultideviceHandler::OnSetFeatureStateEnabledResult(
diff --git a/chrome/browser/ui/webui/settings/chromeos/multidevice_handler_unittest.cc b/chrome/browser/ui/webui/settings/chromeos/multidevice_handler_unittest.cc
index 658795d..9d6ebe1b 100644
--- a/chrome/browser/ui/webui/settings/chromeos/multidevice_handler_unittest.cc
+++ b/chrome/browser/ui/webui/settings/chromeos/multidevice_handler_unittest.cc
@@ -302,8 +302,10 @@
 }
 
 TEST_F(MultideviceHandlerTest, SetUpAndroidSms) {
+  EXPECT_FALSE(fake_android_sms_app_helper_delegate()->HasInstalledApp());
   EXPECT_FALSE(fake_android_sms_app_helper_delegate()->HasLaunchedApp());
   CallSetUpAndroidSms();
+  EXPECT_TRUE(fake_android_sms_app_helper_delegate()->HasInstalledApp());
   EXPECT_TRUE(fake_android_sms_app_helper_delegate()->HasLaunchedApp());
 }
 
diff --git a/chrome/browser/win/jumplist_file_util.cc b/chrome/browser/win/jumplist_file_util.cc
index 906449a..e368711 100644
--- a/chrome/browser/win/jumplist_file_util.cc
+++ b/chrome/browser/win/jumplist_file_util.cc
@@ -47,7 +47,10 @@
 }
 
 void DeleteDirectoryContent(const base::FilePath& path, int max_file_deleted) {
-  base::AssertBlockingAllowed();
+  // Iterating over files can be CPU intensive, ensure this is okay on the current thread and
+  // intentionally do not mark this scope with a ScopedBlockingCall to avoid a busy thread being
+  // considered inactive in the pool.
+  base::AssertLongCPUWorkAllowed();
 
   if (path.empty() || path.value().length() >= MAX_PATH)
     return;
@@ -75,7 +78,7 @@
 }
 
 void DeleteDirectory(const base::FilePath& path, int max_file_deleted) {
-  base::AssertBlockingAllowed();
+  base::AssertLongCPUWorkAllowed();
 
   // Delete at most |max_file_deleted| files in |path|.
   DeleteDirectoryContent(path, max_file_deleted);
@@ -95,6 +98,11 @@
 
 void DeleteNonCachedFiles(const base::FilePath& path,
                           const base::flat_set<base::FilePath>& cached_files) {
+  // Iterating over files can be CPU intensive, ensure this is okay on the current thread and
+  // intentionally do not mark this scope with a ScopedBlockingCall to avoid a busy thread being
+  // considered inactive in the pool.
+  base::AssertLongCPUWorkAllowed();
+
   base::FileEnumerator traversal(path, false, base::FileEnumerator::FILES);
 
   for (base::FilePath current = traversal.Next(); !current.empty();
diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_constants.cc
index d5b123b5..274ed7e 100644
--- a/chrome/common/webui_url_constants.cc
+++ b/chrome/common/webui_url_constants.cc
@@ -300,7 +300,7 @@
 const char kConnectedDevicesSubPage[] = "multidevice/features";
 const char kNetworkDetailSubPage[] = "networkDetail";
 const char kPowerSubPage[] = "power";
-const char kSmbSharesPage[] = "smbShares";
+const char kSmbSharesPageAddDialog[] = "smbShares?showAddShare=true";
 const char kStylusSubPage[] = "stylus";
 #else
 const char kCreateProfileSubPage[] = "createProfile";
diff --git a/chrome/common/webui_url_constants.h b/chrome/common/webui_url_constants.h
index f37f7d6..4a13427c 100644
--- a/chrome/common/webui_url_constants.h
+++ b/chrome/common/webui_url_constants.h
@@ -292,6 +292,7 @@
 extern const char kNetworkDetailSubPage[];
 extern const char kPowerSubPage[];
 extern const char kSmbSharesPage[];
+extern const char kSmbSharesPageAddDialog[];
 extern const char kStylusSubPage[];
 #endif
 #if defined(OS_WIN)
diff --git a/chrome/renderer/net/net_error_helper_core.cc b/chrome/renderer/net/net_error_helper_core.cc
index 4bac15f..6d2bda6 100644
--- a/chrome/renderer/net/net_error_helper_core.cc
+++ b/chrome/renderer/net/net_error_helper_core.cc
@@ -33,6 +33,7 @@
 #include "components/url_formatter/url_formatter.h"
 #include "content/public/common/content_switches.h"
 #include "content/public/common/url_constants.h"
+#include "content/public/renderer/render_thread.h"
 #include "net/base/escape.h"
 #include "net/base/net_errors.h"
 #include "third_party/blink/public/platform/web_string.h"
@@ -523,8 +524,7 @@
       auto_reload_paused_(false),
       auto_reload_in_flight_(false),
       uncommitted_load_started_(false),
-      // TODO(ellyjones): Make online_ accurate at object creation.
-      online_(true),
+      online_(content::RenderThread::Get()->IsOnline()),
       visible_(is_visible),
       auto_reload_count_(0),
       navigation_from_button_(NO_BUTTON) {}
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
index fb2d07f8..a2a99585 100644
--- a/chrome/test/BUILD.gn
+++ b/chrome/test/BUILD.gn
@@ -1935,7 +1935,6 @@
         "../browser/ui/cocoa/applescript/window_applescript_test.mm",
         "../browser/ui/cocoa/browser_window_mac_browsertest.mm",
         "../browser/ui/cocoa/certificate_viewer_mac_browsertest.mm",
-        "../browser/ui/cocoa/extensions/extension_message_bubble_views_browsertest_mac.mm",
         "../browser/ui/cocoa/share_menu_controller_browsertest.mm",
       ]
       sources -= [
@@ -1967,7 +1966,6 @@
         "../browser/ui/cocoa/apps/app_shim_menu_controller_mac_browsertest.mm",
         "../browser/ui/cocoa/apps/native_app_window_cocoa_browsertest.mm",
         "../browser/ui/cocoa/dev_tools_controller_browsertest.mm",
-        "../browser/ui/cocoa/location_bar/zoom_decoration_browsertest.mm",
         "../browser/ui/cocoa/omnibox/omnibox_view_mac_browsertest.mm",
         "../browser/ui/cocoa/permission_bubble/permission_bubble_views_cocoa_browsertest.mm",
         "../browser/ui/cocoa/renderer_context_menu/render_view_context_menu_mac_cocoa_browsertest.mm",
@@ -4136,15 +4134,12 @@
         "../browser/ui/cocoa/constrained_window/constrained_window_button_unittest.mm",
         "../browser/ui/cocoa/constrained_window/constrained_window_custom_window_unittest.mm",
         "../browser/ui/cocoa/constrained_window/constrained_window_sheet_controller_unittest.mm",
-        "../browser/ui/cocoa/draggable_button_unittest.mm",
-        "../browser/ui/cocoa/extensions/browser_actions_container_view_unittest.mm",
         "../browser/ui/cocoa/find_pasteboard_unittest.mm",
         "../browser/ui/cocoa/first_run_dialog_controller_unittest.mm",
         "../browser/ui/cocoa/floating_bar_backing_view_unittest.mm",
         "../browser/ui/cocoa/framed_browser_window_unittest.mm",
         "../browser/ui/cocoa/fullscreen/fullscreen_toolbar_controller_unittest.mm",
         "../browser/ui/cocoa/fullscreen_window_unittest.mm",
-        "../browser/ui/cocoa/harmony_button_unittest.mm",
         "../browser/ui/cocoa/history_menu_bridge_unittest.mm",
         "../browser/ui/cocoa/history_menu_cocoa_controller_unittest.mm",
         "../browser/ui/cocoa/history_overlay_controller_unittest.mm",
@@ -4155,10 +4150,7 @@
         "../browser/ui/cocoa/location_bar/autocomplete_text_field_unittest.mm",
         "../browser/ui/cocoa/location_bar/autocomplete_text_field_unittest_helper.h",
         "../browser/ui/cocoa/location_bar/autocomplete_text_field_unittest_helper.mm",
-        "../browser/ui/cocoa/location_bar/image_decoration_unittest.mm",
-        "../browser/ui/cocoa/location_bar/zoom_decoration_unittest.mm",
         "../browser/ui/cocoa/main_menu_builder_unittest.mm",
-        "../browser/ui/cocoa/md_hover_button_unittest.mm",
         "../browser/ui/cocoa/media_picker/desktop_media_picker_controller_unittest.mm",
         "../browser/ui/cocoa/menu_button_unittest.mm",
         "../browser/ui/cocoa/notifications/notification_builder_mac_unittest.mm",
@@ -4179,7 +4171,6 @@
         "../browser/ui/cocoa/styled_text_field_cell_unittest.mm",
         "../browser/ui/cocoa/styled_text_field_unittest.mm",
         "../browser/ui/cocoa/tabbed_browser_window_unittest.mm",
-        "../browser/ui/cocoa/tabs/alert_indicator_button_cocoa_unittest.mm",
         "../browser/ui/cocoa/tabs/tab_controller_unittest.mm",
         "../browser/ui/cocoa/tabs/tab_strip_controller_unittest.mm",
         "../browser/ui/cocoa/tabs/tab_strip_view_unittest.mm",
@@ -4193,7 +4184,6 @@
         "../browser/ui/cocoa/toolbar/app_toolbar_button_unittest.mm",
         "../browser/ui/cocoa/toolbar/reload_button_unittest_cocoa.mm",
         "../browser/ui/cocoa/toolbar/toolbar_button_unittest.mm",
-        "../browser/ui/cocoa/toolbar/toolbar_controller_unittest.mm",
         "../browser/ui/cocoa/toolbar/toolbar_view_unittest.mm",
         "../browser/ui/cocoa/touchbar/browser_window_default_touch_bar_unittest.mm",
         "../browser/ui/cocoa/touchbar/credit_card_autofill_touch_bar_controller_unittest.mm",
diff --git a/chrome/test/android/test_trusted_web_activity/src/org/chromium/chrome/browser/browserservices/TestTrustedWebActivityService.java b/chrome/test/android/test_trusted_web_activity/src/org/chromium/chrome/browser/browserservices/TestTrustedWebActivityService.java
index fcb6474..fb09661 100644
--- a/chrome/test/android/test_trusted_web_activity/src/org/chromium/chrome/browser/browserservices/TestTrustedWebActivityService.java
+++ b/chrome/test/android/test_trusted_web_activity/src/org/chromium/chrome/browser/browserservices/TestTrustedWebActivityService.java
@@ -13,7 +13,7 @@
 public class TestTrustedWebActivityService extends TrustedWebActivityService {
     // TODO(peconn): Add an image resource to chrome_public_test_support, supply that in
     // getSmallIconId and verify it is used in notifyNotificationWithChannel.
-    private static final int RESOURCE_ID = -1;
+    public static final int SMALL_ICON_ID = 42;
 
     @Override
     public void onCreate() {
@@ -37,6 +37,6 @@
     @Override
     protected int getSmallIconId() {
         MessengerService.sMessageHandler.recordGetSmallIconId();
-        return RESOURCE_ID;
+        return SMALL_ICON_ID;
     }
 }
diff --git a/chrome/test/base/view_event_test_platform_part_chromeos.cc b/chrome/test/base/view_event_test_platform_part_chromeos.cc
index c04f27aa..10cc6af9 100644
--- a/chrome/test/base/view_event_test_platform_part_chromeos.cc
+++ b/chrome/test/base/view_event_test_platform_part_chromeos.cc
@@ -57,9 +57,7 @@
   // it is initialized by window manager service.
   chromeos::PowerPolicyController::Initialize(
       chromeos::DBusThreadManager::Get()->GetPowerManagerClient());
-  bluez::BluezDBusManager::Initialize(
-      chromeos::DBusThreadManager::Get()->GetSystemBus(),
-      chromeos::DBusThreadManager::Get()->IsUsingFakes());
+  bluez::BluezDBusManager::Initialize();
   chromeos::CrasAudioHandler::InitializeForTesting();
   chromeos::NetworkHandler::Initialize();
 
diff --git a/chrome/test/chromedriver/test/run_py_tests.py b/chrome/test/chromedriver/test/run_py_tests.py
index bbaf92e..2a9245a 100755
--- a/chrome/test/chromedriver/test/run_py_tests.py
+++ b/chrome/test/chromedriver/test/run_py_tests.py
@@ -101,6 +101,8 @@
 _VERSION_SPECIFIC_FILTER['70'] = [
     # https://bugs.chromium.org/p/chromedriver/issues/detail?id=2532
     'ChromeDriverPageLoadTimeoutTest.testRefreshWithPageLoadTimeout',
+    # Feature not yet supported in this version
+    'ChromeDriverTest.testGenerateTestReport',
 ]
 
 _VERSION_SPECIFIC_FILTER['69'] = [
diff --git a/chrome/test/chromedriver/test/test_expectations b/chrome/test/chromedriver/test/test_expectations
index 28fb056ab..07bcfc7 100644
--- a/chrome/test/chromedriver/test/test_expectations
+++ b/chrome/test/chromedriver/test/test_expectations
@@ -58,11 +58,6 @@
     'SelectElementTest.shouldAllowUserToDeselectOptionsByVisibleText',
     'SessionHandlingTest.callingAnyOperationAfterClosingTheLastWindowShouldThrowAnException',
     'SessionHandlingTest.callingQuitAfterClosingTheLastWindowIsANoOp',
-    'TakesScreenshotTest.testCaptureToBase64',
-    'TakesScreenshotTest.testSaveScreenshotAsFile',
-    'TakesScreenshotTest.testShouldCaptureScreenshotAtFramePage',
-    'TakesScreenshotTest.testShouldCaptureScreenshotAtFramePageAfterSwitching',
-    'TakesScreenshotTest.testShouldCaptureScreenshotAtIFramePageAfterSwitching',
 
     # Tests require multiple sessions, not supported on Android'
     'CorrectEventFiringTest.testShouldFireFocusEventInNonTopmostWindow',
@@ -156,12 +151,17 @@
     'ReferrerTest.basicHistoryNavigationWithADirectProxy',
     'ReferrerTest.crossDomainHistoryNavigationWhenProxyInterceptsHostRequests',
     'ReferrerTest.crossDomainHistoryNavigationWithAProxiedHost',
-    'TakesScreenshotTest.testShouldCaptureScreenshotOfCurrentViewport',
     'UploadTest.testUploadingWithHiddenFileInput',
     'CombinedInputActionsTest.testControlClickingOnMultiSelectionList',
     'CombinedInputActionsTest.testShiftClickingOnMultiSelectionList',
     'CombinedInputActionsTest.testPlainClickingOnMultiSelectionList',
     'CorrectEventFiringTest.testClickingAnUnfocusableChildShouldNotBlurTheParent',
+
+    # https://bugs.chromium.org/p/chromedriver/issues/detail?id=2594
+    'TakesScreenshotTest.testShouldCaptureScreenshotAtFramePage',
+    'TakesScreenshotTest.testShouldCaptureScreenshotAtFramePageAfterSwitching',
+    'TakesScreenshotTest.testShouldCaptureScreenshotAtIFramePageAfterSwitching',
+    'TakesScreenshotTest.testShouldCaptureScreenshotOfCurrentViewport',
 ]
 
 _OS_NEGATIVE_FILTER['android:chrome_stable'] = (
@@ -186,8 +186,9 @@
         'VisibilityTest.testShouldModifyTheVisibilityOfAnElementDynamically',
          # Not applicable on ChromeDriverWebViewShell (doesn't support tabs).
         'WindowSwitchingTest.*',
-        # https://bugs.chromium.org/p/chromedriver/issues/detail?id=2480
+        # https://bugs.chromium.org/p/chromedriver/issues/detail?id=2595
         'TakesScreenshotTest.*',
+
         # https://bugs.chromium.org/p/chromedriver/issues/detail?id=2376
         'ImplicitWaitTest.testShouldRetainImplicitlyWaitFromTheReturnedWebDriverOfFrameSwitchTo',
     ]
diff --git a/chrome/test/data/android/feed/background_styles.gcl.bin b/chrome/test/data/android/feed/background_styles.gcl.bin
new file mode 100644
index 0000000..ea02969
--- /dev/null
+++ b/chrome/test/data/android/feed/background_styles.gcl.bin
Binary files differ
diff --git a/chrome/test/data/android/feed/basic_grid.gcl.bin b/chrome/test/data/android/feed/basic_grid.gcl.bin
new file mode 100644
index 0000000..2313d25b
--- /dev/null
+++ b/chrome/test/data/android/feed/basic_grid.gcl.bin
Binary files differ
diff --git a/chrome/test/data/android/feed/basic_styles.gcl.bin b/chrome/test/data/android/feed/basic_styles.gcl.bin
new file mode 100644
index 0000000..e66ea0d
--- /dev/null
+++ b/chrome/test/data/android/feed/basic_styles.gcl.bin
Binary files differ
diff --git a/chrome/test/data/android/feed/basic_templates.gcl.bin b/chrome/test/data/android/feed/basic_templates.gcl.bin
new file mode 100644
index 0000000..e9e4d62a
--- /dev/null
+++ b/chrome/test/data/android/feed/basic_templates.gcl.bin
Binary files differ
diff --git a/chrome/test/data/android/feed/complex_layout_text_templates.gcl.bin b/chrome/test/data/android/feed/complex_layout_text_templates.gcl.bin
new file mode 100644
index 0000000..d3dbf2a
--- /dev/null
+++ b/chrome/test/data/android/feed/complex_layout_text_templates.gcl.bin
Binary files differ
diff --git a/chrome/test/data/android/feed/empty.gcl.bin b/chrome/test/data/android/feed/empty.gcl.bin
new file mode 100644
index 0000000..2831b794
--- /dev/null
+++ b/chrome/test/data/android/feed/empty.gcl.bin
@@ -0,0 +1,3 @@
+
+Â>
+
\ No newline at end of file
diff --git a/chrome/test/data/android/feed/events_single_large.gcl.bin b/chrome/test/data/android/feed/events_single_large.gcl.bin
new file mode 100644
index 0000000..a37bea1e
--- /dev/null
+++ b/chrome/test/data/android/feed/events_single_large.gcl.bin
Binary files differ
diff --git a/chrome/test/data/android/feed/feed_large.gcl.bin b/chrome/test/data/android/feed/feed_large.gcl.bin
new file mode 100644
index 0000000..b7653a2e
--- /dev/null
+++ b/chrome/test/data/android/feed/feed_large.gcl.bin
Binary files differ
diff --git a/chrome/test/data/android/feed/feed_paging.gcl.bin b/chrome/test/data/android/feed/feed_paging.gcl.bin
new file mode 100644
index 0000000..b2a0ff6
--- /dev/null
+++ b/chrome/test/data/android/feed/feed_paging.gcl.bin
Binary files differ
diff --git a/chrome/test/data/android/feed/feed_with_hero.gcl.bin b/chrome/test/data/android/feed/feed_with_hero.gcl.bin
new file mode 100644
index 0000000..b78d6ed
--- /dev/null
+++ b/chrome/test/data/android/feed/feed_with_hero.gcl.bin
Binary files differ
diff --git a/chrome/test/data/android/feed/feed_with_overlay.gcl.bin b/chrome/test/data/android/feed/feed_with_overlay.gcl.bin
new file mode 100644
index 0000000..b93b406
--- /dev/null
+++ b/chrome/test/data/android/feed/feed_with_overlay.gcl.bin
Binary files differ
diff --git a/chrome/test/data/android/feed/font_styles.gcl.bin b/chrome/test/data/android/feed/font_styles.gcl.bin
new file mode 100644
index 0000000..37f14ed
--- /dev/null
+++ b/chrome/test/data/android/feed/font_styles.gcl.bin
Binary files differ
diff --git a/chrome/test/data/android/feed/grid_images.gcl.bin b/chrome/test/data/android/feed/grid_images.gcl.bin
new file mode 100644
index 0000000..b1b94cd
--- /dev/null
+++ b/chrome/test/data/android/feed/grid_images.gcl.bin
Binary files differ
diff --git a/chrome/test/data/android/feed/hello_world.gcl.bin b/chrome/test/data/android/feed/hello_world.gcl.bin
new file mode 100644
index 0000000..9e361d7
--- /dev/null
+++ b/chrome/test/data/android/feed/hello_world.gcl.bin
Binary files differ
diff --git a/chrome/test/data/android/feed/spacer_styles.gcl.bin b/chrome/test/data/android/feed/spacer_styles.gcl.bin
new file mode 100644
index 0000000..b23c932
--- /dev/null
+++ b/chrome/test/data/android/feed/spacer_styles.gcl.bin
Binary files differ
diff --git a/chromecast/BUILD.gn b/chromecast/BUILD.gn
index 7398a35..d1cb014d 100644
--- a/chromecast/BUILD.gn
+++ b/chromecast/BUILD.gn
@@ -592,6 +592,7 @@
     "USE_ANDROID_USER_AGENT=$use_android_user_agent",
     "USE_CHROMECAST_CDMS=$use_chromecast_cdms",
     "DEFAULT_COMMAND_LINE_FLAGS=\"$default_command_line_flags\"",
+    "DISABLE_SECURE_FLAC_OPUS_DECODING=$disable_secure_flac_and_opus_decoding",
   ]
 }
 
diff --git a/chromecast/chromecast.gni b/chromecast/chromecast.gni
index dc12fb4..fef8c70 100644
--- a/chromecast/chromecast.gni
+++ b/chromecast/chromecast.gni
@@ -94,6 +94,10 @@
   # This arg can be overridden but not supports += operator.
   # TODO(ziyangch): make the parsing logic have ability to quote/escape characters.
   default_command_line_flags = ""
+
+  # Set to true to disable secure flac/opus support in EME, when using
+  # cast CMA media backend and supporting Widevine or Playready.
+  disable_secure_flac_and_opus_decoding = false
 }
 
 declare_args() {
diff --git a/chromecast/renderer/media/key_systems_cast.cc b/chromecast/renderer/media/key_systems_cast.cc
index 52e0919..73491048 100644
--- a/chromecast/renderer/media/key_systems_cast.cc
+++ b/chromecast/renderer/media/key_systems_cast.cc
@@ -112,10 +112,13 @@
 SupportedCodecs GetCastEmeSupportedCodecs() {
   SupportedCodecs codecs =
       ::media::EME_CODEC_MP4_AAC | ::media::EME_CODEC_MP4_AVC1 |
-      ::media::EME_CODEC_MP4_FLAC | ::media::EME_CODEC_COMMON_VP9 |
-      ::media::EME_CODEC_WEBM_OPUS | ::media::EME_CODEC_WEBM_VP8 |
+      ::media::EME_CODEC_COMMON_VP9 | ::media::EME_CODEC_WEBM_VP8 |
       ::media::EME_CODEC_WEBM_VP9;
 
+#if !BUILDFLAG(DISABLE_SECURE_FLAC_OPUS_DECODING)
+  codecs |= ::media::EME_CODEC_MP4_FLAC | ::media::EME_CODEC_WEBM_OPUS;
+#endif  // BUILDFLAG(DISABLE_SECURE_FLAC_OPUS_DECODING)
+
 #if BUILDFLAG(ENABLE_HEVC_DEMUXING)
   codecs |= ::media::EME_CODEC_MP4_HEVC;
 #endif  // BUILDFLAG(ENABLE_HEVC_DEMUXING)
diff --git a/chromeos/services/assistant/assistant_manager_service_impl.cc b/chromeos/services/assistant/assistant_manager_service_impl.cc
index 4a0c1348..130199c4 100644
--- a/chromeos/services/assistant/assistant_manager_service_impl.cc
+++ b/chromeos/services/assistant/assistant_manager_service_impl.cc
@@ -353,7 +353,6 @@
          <body>
            <style>
              * {
-               box-sizing: border-box;
                cursor: default;
                font-family: Google Sans, sans-serif;
                user-select: none;
@@ -364,6 +363,7 @@
                border-radius: 12px;
                color: #5F6368;
                font-size: 13px;
+               margin: 1px;
                padding: 16px;
                text-align: center;
              }
diff --git a/chromeos/services/multidevice_setup/public/cpp/android_sms_app_helper_delegate.h b/chromeos/services/multidevice_setup/public/cpp/android_sms_app_helper_delegate.h
index 96fb7572..fe0ea22 100644
--- a/chromeos/services/multidevice_setup/public/cpp/android_sms_app_helper_delegate.h
+++ b/chromeos/services/multidevice_setup/public/cpp/android_sms_app_helper_delegate.h
@@ -17,9 +17,10 @@
 
   // Installs the Messages for Web PWA. Handles retries and errors internally.
   virtual void InstallAndroidSmsApp() = 0;
-  // Launches the Messages for Web PWA if it's installed. Returns true if the
-  // app was launched successfully, false otherwise.
-  virtual bool LaunchAndroidSmsApp() = 0;
+  // Tries to install the Messages for Web PWA (if needed) and then launches it
+  // if the installation succeeds. If installation fails, retries will continue,
+  // but the app will not be launched if the first installation attempt failed.
+  virtual void InstallAndLaunchAndroidSmsApp() = 0;
 
  protected:
   AndroidSmsAppHelperDelegate() = default;
diff --git a/chromeos/services/multidevice_setup/public/cpp/fake_android_sms_app_helper_delegate.cc b/chromeos/services/multidevice_setup/public/cpp/fake_android_sms_app_helper_delegate.cc
index df07759..8afabd3 100644
--- a/chromeos/services/multidevice_setup/public/cpp/fake_android_sms_app_helper_delegate.cc
+++ b/chromeos/services/multidevice_setup/public/cpp/fake_android_sms_app_helper_delegate.cc
@@ -19,13 +19,13 @@
   has_installed_ = true;
 }
 
-bool FakeAndroidSmsAppHelperDelegate::HasInstalledApp() {
-  return has_installed_;
+void FakeAndroidSmsAppHelperDelegate::InstallAndLaunchAndroidSmsApp() {
+  InstallAndroidSmsApp();
+  has_launched_ = true;
 }
 
-bool FakeAndroidSmsAppHelperDelegate::LaunchAndroidSmsApp() {
-  has_launched_ = true;
-  return true;
+bool FakeAndroidSmsAppHelperDelegate::HasInstalledApp() {
+  return has_installed_;
 }
 
 bool FakeAndroidSmsAppHelperDelegate::HasLaunchedApp() {
diff --git a/chromeos/services/multidevice_setup/public/cpp/fake_android_sms_app_helper_delegate.h b/chromeos/services/multidevice_setup/public/cpp/fake_android_sms_app_helper_delegate.h
index 28be5e1..b586c5865 100644
--- a/chromeos/services/multidevice_setup/public/cpp/fake_android_sms_app_helper_delegate.h
+++ b/chromeos/services/multidevice_setup/public/cpp/fake_android_sms_app_helper_delegate.h
@@ -20,7 +20,7 @@
 
   // AndroidSmsAppHelperDelegate:
   void InstallAndroidSmsApp() override;
-  bool LaunchAndroidSmsApp() override;
+  void InstallAndLaunchAndroidSmsApp() override;
 
  private:
   bool has_installed_ = false;
diff --git a/chromeos/strings/chromeos_strings_cs.xtb b/chromeos/strings/chromeos_strings_cs.xtb
index 41793507..696cb3f 100644
--- a/chromeos/strings/chromeos_strings_cs.xtb
+++ b/chromeos/strings/chromeos_strings_cs.xtb
@@ -10,7 +10,7 @@
 <translation id="2872961005593481000">Vypnout</translation>
 <translation id="3147142846278915599">Spouštěč (synchronizace aplikací...)</translation>
 <translation id="5212543919916444558">Na obrazovce nevidím nic, s čím vám můžu pomoct.
-Zkuste klepnout na mikrofon a položit otázku.</translation>
+Zkuste klepnout na mikrofon a zeptat se.</translation>
 <translation id="5222676887888702881">Odhlásit se</translation>
 <translation id="5457599981699367932">Použít jako host</translation>
 <translation id="54609108002486618">Spravovaný</translation>
diff --git a/chromeos/strings/chromeos_strings_ko.xtb b/chromeos/strings/chromeos_strings_ko.xtb
index 5635848a..fc820ad6 100644
--- a/chromeos/strings/chromeos_strings_ko.xtb
+++ b/chromeos/strings/chromeos_strings_ko.xtb
@@ -18,7 +18,7 @@
 <translation id="5895138241574237353">다시 시작</translation>
 <translation id="7222902781030499995">타이머 중지</translation>
 <translation id="7658239707568436148">취소</translation>
-<translation id="7837740436429729974">타이머가 만료됨</translation>
+<translation id="7837740436429729974">시간 종료</translation>
 <translation id="8898978413391960553">00:00초</translation>
 <translation id="9111102763498581341">잠금 해제</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/components/chrome_cleaner/public/constants/result_codes.h b/components/chrome_cleaner/public/constants/result_codes.h
index 802ebeca..0494595 100644
--- a/components/chrome_cleaner/public/constants/result_codes.h
+++ b/components/chrome_cleaner/public/constants/result_codes.h
@@ -222,6 +222,11 @@
   // while the pipe was still needed by the broker process.
   RESULT_CODE_ZIP_ARCHIVER_SANDBOX_DISCONNECTED_TOO_SOON = 55,
 
+  // Used when attempting to run a 32-bit version of the tool on a 64-bit
+  // machine, and vice versa. Since this can result in crashes and unexpected
+  // result, we don't allow it.
+  RESULT_CODE_WRONG_ARCHITECTURE = 56,
+
   // WHEN YOU ADD NEW EXIT CODES, DON'T FORGET TO UPDATE THE MONITORING RULES.
   // See http://go/chrome-cleaner-exit-codes. (Google internal only - external
   // contributors please ask one of the OWNERS to do the update.)
diff --git a/components/gcm_driver/fake_gcm_client.cc b/components/gcm_driver/fake_gcm_client.cc
index 8c1db00..1e7c21b 100644
--- a/components/gcm_driver/fake_gcm_client.cc
+++ b/components/gcm_driver/fake_gcm_client.cc
@@ -79,6 +79,7 @@
         void(network::mojom::ProxyResolvingSocketFactoryRequest)>
         get_socket_factory_callback,
     const scoped_refptr<network::SharedURLLoaderFactory>& url_loader_factory,
+    network::NetworkConnectionTracker* network_connection_tracker,
     std::unique_ptr<Encryptor> encryptor,
     Delegate* delegate) {
   product_category_for_subtypes_ =
diff --git a/components/gcm_driver/fake_gcm_client.h b/components/gcm_driver/fake_gcm_client.h
index 15be54d4..726b0d5 100644
--- a/components/gcm_driver/fake_gcm_client.h
+++ b/components/gcm_driver/fake_gcm_client.h
@@ -50,6 +50,7 @@
           void(network::mojom::ProxyResolvingSocketFactoryRequest)>
           get_socket_factory_callback,
       const scoped_refptr<network::SharedURLLoaderFactory>& url_loader_factory,
+      network::NetworkConnectionTracker* network_connection_tracker,
       std::unique_ptr<Encryptor> encryptor,
       Delegate* delegate) override;
   void Start(StartMode start_mode) override;
diff --git a/components/gcm_driver/gcm_client.h b/components/gcm_driver/gcm_client.h
index e8bd9d6..674995b 100644
--- a/components/gcm_driver/gcm_client.h
+++ b/components/gcm_driver/gcm_client.h
@@ -31,6 +31,7 @@
 }
 
 namespace network {
+class NetworkConnectionTracker;
 class SharedURLLoaderFactory;
 }
 
@@ -248,6 +249,7 @@
           void(network::mojom::ProxyResolvingSocketFactoryRequest)>
           get_socket_factory_callback,
       const scoped_refptr<network::SharedURLLoaderFactory>& url_loader_factory,
+      network::NetworkConnectionTracker* network_connection_tracker_,
       std::unique_ptr<Encryptor> encryptor,
       Delegate* delegate) = 0;
 
diff --git a/components/gcm_driver/gcm_client_impl.cc b/components/gcm_driver/gcm_client_impl.cc
index 8ccf05f..35c31f6 100644
--- a/components/gcm_driver/gcm_client_impl.cc
+++ b/components/gcm_driver/gcm_client_impl.cc
@@ -281,10 +281,11 @@
     base::RepeatingCallback<
         void(network::mojom::ProxyResolvingSocketFactoryRequest)>
         get_socket_factory_callback,
-    GCMStatsRecorder* recorder) {
+    GCMStatsRecorder* recorder,
+    network::NetworkConnectionTracker* network_connection_tracker) {
   return std::make_unique<ConnectionFactoryImpl>(
       endpoints, backoff_policy, std::move(get_socket_factory_callback),
-      recorder);
+      recorder, network_connection_tracker);
 }
 
 GCMClientImpl::CheckinInfo::CheckinInfo()
@@ -320,6 +321,7 @@
       start_mode_(DELAYED_START),
       clock_(internals_builder_->GetClock()),
       gcm_store_reset_(false),
+      network_connection_tracker_(nullptr),
       periodic_checkin_ptr_factory_(this),
       destroying_gcm_store_ptr_factory_(this),
       weak_ptr_factory_(this) {}
@@ -335,6 +337,7 @@
         void(network::mojom::ProxyResolvingSocketFactoryRequest)>
         get_socket_factory_callback,
     const scoped_refptr<network::SharedURLLoaderFactory>& url_loader_factory,
+    network::NetworkConnectionTracker* network_connection_tracker,
     std::unique_ptr<Encryptor> encryptor,
     GCMClient::Delegate* delegate) {
   DCHECK_EQ(UNINITIALIZED, state_);
@@ -342,6 +345,7 @@
 
   get_socket_factory_callback_ = std::move(get_socket_factory_callback);
   url_loader_factory_ = url_loader_factory;
+  network_connection_tracker_ = network_connection_tracker;
   chrome_build_info_ = chrome_build_info;
 
   gcm_store_.reset(
@@ -493,6 +497,7 @@
 }
 
 void GCMClientImpl::InitializeMCSClient() {
+  DCHECK(network_connection_tracker_);
   std::vector<GURL> endpoints;
   endpoints.push_back(gservices_settings_.GetMCSMainEndpoint());
   GURL fallback_endpoint = gservices_settings_.GetMCSFallbackEndpoint();
@@ -500,7 +505,7 @@
     endpoints.push_back(fallback_endpoint);
   connection_factory_ = internals_builder_->BuildConnectionFactory(
       endpoints, GetGCMBackoffPolicy(), get_socket_factory_callback_,
-      &recorder_);
+      &recorder_, network_connection_tracker_);
   connection_factory_->SetConnectionListener(this);
   mcs_client_ = internals_builder_->BuildMCSClient(
       chrome_build_info_.version, clock_, connection_factory_.get(),
diff --git a/components/gcm_driver/gcm_client_impl.h b/components/gcm_driver/gcm_client_impl.h
index 5f9edd6..1bf64b8 100644
--- a/components/gcm_driver/gcm_client_impl.h
+++ b/components/gcm_driver/gcm_client_impl.h
@@ -43,6 +43,7 @@
 }  // namespace mcs_proto
 
 namespace network {
+class NetworkConnectionTracker;
 class SharedURLLoaderFactory;
 }  // namespace network
 
@@ -72,7 +73,8 @@
       base::RepeatingCallback<
           void(network::mojom::ProxyResolvingSocketFactoryRequest)>
           get_socket_factory_callback,
-      GCMStatsRecorder* recorder);
+      GCMStatsRecorder* recorder,
+      network::NetworkConnectionTracker* network_connection_tracker);
 };
 
 // Implements the GCM Client. It is used to coordinate MCS Client (communication
@@ -114,6 +116,7 @@
           void(network::mojom::ProxyResolvingSocketFactoryRequest)>
           get_socket_factory_callback,
       const scoped_refptr<network::SharedURLLoaderFactory>& url_loader_factory,
+      network::NetworkConnectionTracker* network_connection_tracker,
       std::unique_ptr<Encryptor> encryptor,
       GCMClient::Delegate* delegate) override;
   void Start(StartMode start_mode) override;
@@ -374,6 +377,8 @@
 
   scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory_;
 
+  network::NetworkConnectionTracker* network_connection_tracker_;
+
   // Controls receiving and sending of packets and reliable message queueing.
   // Must be destroyed before |network_session_|.
   std::unique_ptr<MCSClient> mcs_client_;
diff --git a/components/gcm_driver/gcm_client_impl_unittest.cc b/components/gcm_driver/gcm_client_impl_unittest.cc
index f4404026..09306d1 100644
--- a/components/gcm_driver/gcm_client_impl_unittest.cc
+++ b/components/gcm_driver/gcm_client_impl_unittest.cc
@@ -41,6 +41,7 @@
 #include "net/url_request/url_fetcher_delegate.h"
 #include "net/url_request/url_request_test_util.h"
 #include "services/network/public/cpp/weak_wrapper_shared_url_loader_factory.h"
+#include "services/network/test/test_network_connection_tracker.h"
 #include "services/network/test/test_url_loader_factory.h"
 #include "services/network/test/test_utils.h"
 #include "testing/gtest/include/gtest/gtest-spi.h"
@@ -234,7 +235,8 @@
       base::RepeatingCallback<
           void(network::mojom::ProxyResolvingSocketFactoryRequest)>
           get_socket_factory_callback,
-      GCMStatsRecorder* recorder) override;
+      GCMStatsRecorder* recorder,
+      network::NetworkConnectionTracker* network_connection_tracker) override;
 
  private:
   AutoAdvancingTestClock clock_;
@@ -266,7 +268,8 @@
     base::RepeatingCallback<
         void(network::mojom::ProxyResolvingSocketFactoryRequest)>
         get_socket_factory_callback,
-    GCMStatsRecorder* recorder) {
+    GCMStatsRecorder* recorder,
+    network::NetworkConnectionTracker* network_connection_tracker) {
   return base::WrapUnique<ConnectionFactory>(new FakeConnectionFactory());
 }
 
@@ -630,6 +633,7 @@
       chrome_build_info, gcm_store_path(), task_runner_, base::DoNothing(),
       base::MakeRefCounted<network::WeakWrapperSharedURLLoaderFactory>(
           &test_url_loader_factory_),
+      network::TestNetworkConnectionTracker::GetInstance(),
       base::WrapUnique<Encryptor>(new FakeEncryptor), this);
 }
 
diff --git a/components/gcm_driver/gcm_desktop_utils.cc b/components/gcm_driver/gcm_desktop_utils.cc
index 57c82121..443eb0f 100644
--- a/components/gcm_driver/gcm_desktop_utils.cc
+++ b/components/gcm_driver/gcm_desktop_utils.cc
@@ -97,6 +97,7 @@
         void(network::mojom::ProxyResolvingSocketFactoryRequest)>
         get_socket_factory_callback,
     scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory,
+    network::NetworkConnectionTracker* network_connection_tracker,
     version_info::Channel channel,
     const std::string& product_category_for_subtypes,
     const scoped_refptr<base::SequencedTaskRunner>& ui_task_runner,
@@ -107,7 +108,8 @@
       GetChromeBuildInfo(channel, product_category_for_subtypes),
       GetChannelStatusRequestUrl(channel), GetUserAgent(channel), prefs,
       store_path, get_socket_factory_callback, url_loader_factory,
-      ui_task_runner, io_task_runner, blocking_task_runner));
+      network_connection_tracker, ui_task_runner, io_task_runner,
+      blocking_task_runner));
 }
 
 }  // namespace gcm
diff --git a/components/gcm_driver/gcm_desktop_utils.h b/components/gcm_driver/gcm_desktop_utils.h
index 105cd20..3681597 100644
--- a/components/gcm_driver/gcm_desktop_utils.h
+++ b/components/gcm_driver/gcm_desktop_utils.h
@@ -18,6 +18,7 @@
 }
 
 namespace network {
+class NetworkConnectionTracker;
 class SharedURLLoaderFactory;
 }
 
@@ -34,6 +35,7 @@
         void(network::mojom::ProxyResolvingSocketFactoryRequest)>
         get_socket_factory_callback,
     scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory,
+    network::NetworkConnectionTracker* network_connection_tracker,
     version_info::Channel channel,
     const std::string& product_category_for_subtypes,
     const scoped_refptr<base::SequencedTaskRunner>& ui_task_runner,
diff --git a/components/gcm_driver/gcm_driver_desktop.cc b/components/gcm_driver/gcm_driver_desktop.cc
index d5a93c60..f82a3ed 100644
--- a/components/gcm_driver/gcm_driver_desktop.cc
+++ b/components/gcm_driver/gcm_driver_desktop.cc
@@ -76,6 +76,7 @@
           void(network::mojom::ProxyResolvingSocketFactoryRequest)>
           get_socket_factory_callback,
       std::unique_ptr<network::SharedURLLoaderFactoryInfo> loader_factory_info,
+      network::NetworkConnectionTracker* network_connection_tracker,
       const scoped_refptr<base::SequencedTaskRunner> blocking_task_runner);
   void Start(GCMClient::StartMode start_mode,
              const base::WeakPtr<GCMDriverDesktop>& service);
@@ -150,6 +151,7 @@
         void(network::mojom::ProxyResolvingSocketFactoryRequest)>
         get_socket_factory_callback,
     std::unique_ptr<network::SharedURLLoaderFactoryInfo> loader_factory_info,
+    network::NetworkConnectionTracker* network_connection_tracker,
     const scoped_refptr<base::SequencedTaskRunner> blocking_task_runner) {
   DCHECK(io_thread_->RunsTasksInCurrentSequence());
 
@@ -160,7 +162,7 @@
 
   gcm_client_->Initialize(chrome_build_info, store_path, blocking_task_runner,
                           std::move(get_socket_factory_callback),
-                          url_loader_factory_for_io,
+                          url_loader_factory_for_io, network_connection_tracker,
                           std::make_unique<SystemEncryptor>(), this);
 }
 
@@ -513,6 +515,7 @@
         void(network::mojom::ProxyResolvingSocketFactoryRequest)>
         get_socket_factory_callback,
     scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory_for_ui,
+    network::NetworkConnectionTracker* network_connection_tracker,
     const scoped_refptr<base::SequencedTaskRunner>& ui_thread,
     const scoped_refptr<base::SequencedTaskRunner>& io_thread,
     const scoped_refptr<base::SequencedTaskRunner>& blocking_task_runner)
@@ -543,13 +546,14 @@
   io_worker_.reset(new IOWorker(ui_thread, io_thread));
   io_thread_->PostTask(
       FROM_HERE,
-      base::BindOnce(&GCMDriverDesktop::IOWorker::Initialize,
-                     base::Unretained(io_worker_.get()),
-                     std::move(gcm_client_factory), chrome_build_info,
-                     store_path, std::move(get_socket_factory_callback),
-                     // ->Clone() permits creation of an equivalent
-                     // SharedURLLoaderFactory on IO thread.
-                     url_loader_factory_for_ui->Clone(), blocking_task_runner));
+      base::BindOnce(
+          &GCMDriverDesktop::IOWorker::Initialize,
+          base::Unretained(io_worker_.get()), std::move(gcm_client_factory),
+          chrome_build_info, store_path, std::move(get_socket_factory_callback),
+          // ->Clone() permits creation of an equivalent
+          // SharedURLLoaderFactory on IO thread.
+          url_loader_factory_for_ui->Clone(),
+          base::Unretained(network_connection_tracker), blocking_task_runner));
 }
 
 GCMDriverDesktop::~GCMDriverDesktop() {
diff --git a/components/gcm_driver/gcm_driver_desktop.h b/components/gcm_driver/gcm_driver_desktop.h
index 5db6fba..b3e562a 100644
--- a/components/gcm_driver/gcm_driver_desktop.h
+++ b/components/gcm_driver/gcm_driver_desktop.h
@@ -32,6 +32,7 @@
 }
 
 namespace network {
+class NetworkConnectionTracker;
 class SharedURLLoaderFactory;
 }
 
@@ -58,6 +59,7 @@
           void(network::mojom::ProxyResolvingSocketFactoryRequest)>
           get_socket_factory_callback,
       scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory_for_ui,
+      network::NetworkConnectionTracker* network_connection_tracker,
       const scoped_refptr<base::SequencedTaskRunner>& ui_thread,
       const scoped_refptr<base::SequencedTaskRunner>& io_thread,
       const scoped_refptr<base::SequencedTaskRunner>& blocking_task_runner);
diff --git a/components/gcm_driver/gcm_driver_desktop_unittest.cc b/components/gcm_driver/gcm_driver_desktop_unittest.cc
index 3ea40822..38a9f5d5 100644
--- a/components/gcm_driver/gcm_driver_desktop_unittest.cc
+++ b/components/gcm_driver/gcm_driver_desktop_unittest.cc
@@ -35,6 +35,7 @@
 #include "net/url_request/url_request_test_util.h"
 #include "services/network/public/cpp/shared_url_loader_factory.h"
 #include "services/network/public/cpp/weak_wrapper_shared_url_loader_factory.h"
+#include "services/network/test/test_network_connection_tracker.h"
 #include "services/network/test/test_url_loader_factory.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
@@ -250,6 +251,7 @@
       &prefs_, temp_dir_.GetPath(), base::DoNothing(),
       base::MakeRefCounted<network::WeakWrapperSharedURLLoaderFactory>(
           &test_url_loader_factory_),
+      network::TestNetworkConnectionTracker::GetInstance(),
       base::ThreadTaskRunnerHandle::Get(), io_thread_.task_runner(),
       message_loop_.task_runner());
 
diff --git a/components/gcm_driver/gcm_profile_service.cc b/components/gcm_driver/gcm_profile_service.cc
index 45ad92c..fe19208 100644
--- a/components/gcm_driver/gcm_profile_service.cc
+++ b/components/gcm_driver/gcm_profile_service.cc
@@ -147,6 +147,7 @@
              network::mojom::ProxyResolvingSocketFactoryRequest)>
         get_socket_factory_callback,
     scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory,
+    network::NetworkConnectionTracker* network_connection_tracker,
     version_info::Channel channel,
     const std::string& product_category_for_subtypes,
     identity::IdentityManager* identity_manager,
@@ -161,8 +162,9 @@
       path.Append(gcm_driver::kGCMStoreDirname),
       base::BindRepeating(get_socket_factory_callback,
                           weak_ptr_factory_.GetWeakPtr()),
-      url_loader_factory, channel, product_category_for_subtypes,
-      ui_task_runner, io_task_runner, blocking_task_runner);
+      url_loader_factory, network_connection_tracker, channel,
+      product_category_for_subtypes, ui_task_runner, io_task_runner,
+      blocking_task_runner);
 
   identity_observer_.reset(new IdentityObserver(
       identity_manager_, url_loader_factory, driver_.get()));
diff --git a/components/gcm_driver/gcm_profile_service.h b/components/gcm_driver/gcm_profile_service.h
index dbed0cf..5d41d17 100644
--- a/components/gcm_driver/gcm_profile_service.h
+++ b/components/gcm_driver/gcm_profile_service.h
@@ -31,6 +31,7 @@
 }
 
 namespace network {
+class NetworkConnectionTracker;
 class SharedURLLoaderFactory;
 }
 
@@ -58,6 +59,7 @@
                network::mojom::ProxyResolvingSocketFactoryRequest)>
           get_socket_factory_callback,
       scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory,
+      network::NetworkConnectionTracker* network_connection_tracker,
       version_info::Channel channel,
       const std::string& product_category_for_subtypes,
       identity::IdentityManager* identity_manager,
diff --git a/components/metrics/BUILD.gn b/components/metrics/BUILD.gn
index 2dea5dc6..def6ed2 100644
--- a/components/metrics/BUILD.gn
+++ b/components/metrics/BUILD.gn
@@ -115,7 +115,6 @@
     "//components/variations",
     "//components/version_info:version_info",
     "//extensions/buildflags",
-    "//services/network/public/cpp:cpp",
     "//third_party/zlib/google:compression_utils",
   ]
 
diff --git a/components/metrics/net/network_metrics_provider.cc b/components/metrics/net/network_metrics_provider.cc
index d64d8aa..d175648 100644
--- a/components/metrics/net/network_metrics_provider.cc
+++ b/components/metrics/net/network_metrics_provider.cc
@@ -54,6 +54,63 @@
   return SystemProfileProto::Network::EFFECTIVE_CONNECTION_TYPE_UNKNOWN;
 }
 
+// Listens to the changes in the effective conection type.
+class NetworkMetricsProvider::EffectiveConnectionTypeObserver
+    : public net::EffectiveConnectionTypeObserver {
+ public:
+  // |network_quality_estimator| is used to provide the network quality
+  // estimates. Guaranteed to be non-null. |callback| is run on
+  // |callback_task_runner|, and provides notifications about the changes in the
+  // effective connection type.
+  EffectiveConnectionTypeObserver(
+      base::Callback<void(net::EffectiveConnectionType)> callback,
+      const scoped_refptr<base::SequencedTaskRunner>& callback_task_runner)
+      : network_quality_estimator_(nullptr),
+        callback_(callback),
+        callback_task_runner_(callback_task_runner) {
+    DCHECK(callback_);
+    DCHECK(callback_task_runner_);
+    // |this| is initialized and used on the IO thread using
+    // |network_quality_task_runner_|.
+    thread_checker_.DetachFromThread();
+  }
+
+  ~EffectiveConnectionTypeObserver() override {
+    DCHECK(thread_checker_.CalledOnValidThread());
+    if (network_quality_estimator_)
+      network_quality_estimator_->RemoveEffectiveConnectionTypeObserver(this);
+  }
+
+  // Initializes |this| on IO thread using |network_quality_task_runner_|. This
+  // is the same thread on which |network_quality_estimator| lives.
+  void Init(net::NetworkQualityEstimator* network_quality_estimator) {
+    network_quality_estimator_ = network_quality_estimator;
+    if (network_quality_estimator_)
+      network_quality_estimator_->AddEffectiveConnectionTypeObserver(this);
+  }
+
+ private:
+  // net::EffectiveConnectionTypeObserver:
+  void OnEffectiveConnectionTypeChanged(
+      net::EffectiveConnectionType type) override {
+    DCHECK(thread_checker_.CalledOnValidThread());
+    callback_task_runner_->PostTask(FROM_HERE, base::BindOnce(callback_, type));
+  }
+
+  // Notifies |this| when there is a change in the effective connection type.
+  net::NetworkQualityEstimator* network_quality_estimator_;
+
+  // Called when the effective connection type is changed.
+  base::Callback<void(net::EffectiveConnectionType)> callback_;
+
+  // Task runner on which |callback_| is run.
+  scoped_refptr<base::SequencedTaskRunner> callback_task_runner_;
+
+  base::ThreadChecker thread_checker_;
+
+  DISALLOW_COPY_AND_ASSIGN(EffectiveConnectionTypeObserver);
+};
+
 NetworkMetricsProvider::NetworkMetricsProvider(
     std::unique_ptr<NetworkQualityEstimatorProvider>
         network_quality_estimator_provider)
@@ -65,7 +122,6 @@
       total_codes_(0),
       network_quality_estimator_provider_(
           std::move(network_quality_estimator_provider)),
-      network_quality_tracker_(nullptr),
       effective_connection_type_(net::EFFECTIVE_CONNECTION_TYPE_UNKNOWN),
       min_effective_connection_type_(net::EFFECTIVE_CONNECTION_TYPE_UNKNOWN),
       max_effective_connection_type_(net::EFFECTIVE_CONNECTION_TYPE_UNKNOWN),
@@ -78,25 +134,52 @@
   ProbeWifiPHYLayerProtocol();
 
   if (network_quality_estimator_provider_) {
-    // Use |network_quality_estimator_provider_| to get network quality
-    // tracker.
-    network_quality_estimator_provider_->PostReplyNetworkQualityTracker(
-        base::BindOnce(&NetworkMetricsProvider::SetNetworkQualityTracker,
-                       weak_ptr_factory_.GetWeakPtr()));
+    effective_connection_type_observer_.reset(
+        new EffectiveConnectionTypeObserver(
+            base::Bind(
+                &NetworkMetricsProvider::OnEffectiveConnectionTypeChanged,
+                base::Unretained(this)),
+            base::ThreadTaskRunnerHandle::Get()));
+
+    // Get the network quality estimator and initialize
+    // |effective_connection_type_observer_| on the same task runner on  which
+    // the network quality estimator lives. It is safe to use base::Unretained
+    // here since both |network_quality_estimator_provider_| and
+    // |effective_connection_type_observer_| are owned by |this|, and
+    // |network_quality_estimator_provider_| is deleted before
+    // |effective_connection_type_observer_|.
+    network_quality_estimator_provider_->PostReplyNetworkQualityEstimator(
+        base::Bind(
+            &EffectiveConnectionTypeObserver::Init,
+            base::Unretained(effective_connection_type_observer_.get())));
   }
 }
 
 NetworkMetricsProvider::~NetworkMetricsProvider() {
-  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+  DCHECK(thread_checker_.CalledOnValidThread());
   net::NetworkChangeNotifier::RemoveNetworkChangeObserver(this);
-  if (network_quality_tracker_) {
-    network_quality_tracker_->RemoveEffectiveConnectionTypeObserver(this);
+
+  if (network_quality_estimator_provider_) {
+    scoped_refptr<base::SequencedTaskRunner> network_quality_task_runner =
+        network_quality_estimator_provider_->GetTaskRunner();
+
+    // |network_quality_estimator_provider_| must be deleted before
+    // |effective_connection_type_observer_| since
+    // |effective_connection_type_observer_| may callback into
+    // |effective_connection_type_observer_|.
+    network_quality_estimator_provider_.reset();
+
+    if (network_quality_task_runner &&
+        !network_quality_task_runner->DeleteSoon(
+            FROM_HERE, effective_connection_type_observer_.release())) {
+      NOTREACHED() << " ECT observer was not deleted successfully";
+    }
   }
 }
 
 void NetworkMetricsProvider::ProvideCurrentSessionData(
     ChromeUserMetricsExtension*) {
-  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+  DCHECK(thread_checker_.CalledOnValidThread());
   // ProvideCurrentSessionData is called on the main thread, at the time a
   // metrics record is being finalized.
   net::NetworkChangeNotifier::FinalizingMetricsLogRecord();
@@ -105,7 +188,7 @@
 
 void NetworkMetricsProvider::ProvideSystemProfileMetrics(
     SystemProfileProto* system_profile) {
-  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+  DCHECK(thread_checker_.CalledOnValidThread());
   DCHECK(!connection_type_is_ambiguous_ ||
          network_change_notifier_initialized_);
   SystemProfileProto::Network* network = system_profile->mutable_network();
@@ -151,7 +234,7 @@
 
 void NetworkMetricsProvider::OnNetworkChanged(
     net::NetworkChangeNotifier::ConnectionType type) {
-  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+  DCHECK(thread_checker_.CalledOnValidThread());
   // To avoid reporting an ambiguous connection type for users on flaky
   // connections, ignore transitions to the "none" state. Note that the
   // connection type is refreshed in ProvideSystemProfileMetrics() each time a
@@ -185,7 +268,7 @@
 
 SystemProfileProto::Network::ConnectionType
 NetworkMetricsProvider::GetConnectionType() const {
-  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+  DCHECK(thread_checker_.CalledOnValidThread());
   switch (connection_type_) {
     case net::NetworkChangeNotifier::CONNECTION_NONE:
       return SystemProfileProto::Network::CONNECTION_NONE;
@@ -210,7 +293,7 @@
 
 SystemProfileProto::Network::WifiPHYLayerProtocol
 NetworkMetricsProvider::GetWifiPHYLayerProtocol() const {
-  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+  DCHECK(thread_checker_.CalledOnValidThread());
   switch (wifi_phy_layer_protocol_) {
     case net::WIFI_PHY_LAYER_PROTOCOL_NONE:
       return SystemProfileProto::Network::WIFI_PHY_LAYER_PROTOCOL_NONE;
@@ -232,7 +315,7 @@
 }
 
 void NetworkMetricsProvider::ProbeWifiPHYLayerProtocol() {
-  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+  DCHECK(thread_checker_.CalledOnValidThread());
   base::PostTaskWithTraitsAndReplyWithResult(
       FROM_HERE,
       {base::MayBlock(), base::TaskPriority::BEST_EFFORT,
@@ -244,7 +327,7 @@
 
 void NetworkMetricsProvider::OnWifiPHYLayerProtocolResult(
     net::WifiPHYLayerProtocol mode) {
-  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+  DCHECK(thread_checker_.CalledOnValidThread());
   if (wifi_phy_layer_protocol_ != net::WIFI_PHY_LAYER_PROTOCOL_UNKNOWN &&
       mode != wifi_phy_layer_protocol_) {
     wifi_phy_layer_protocol_is_ambiguous_ = true;
@@ -255,7 +338,7 @@
 void NetworkMetricsProvider::WriteWifiAccessPointProto(
     const WifiAccessPointInfoProvider::WifiAccessPointInfo& info,
     SystemProfileProto::Network* network_proto) {
-  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+  DCHECK(thread_checker_.CalledOnValidThread());
   SystemProfileProto::Network::WifiAccessPoint* access_point_info =
       network_proto->mutable_access_point_info();
   SystemProfileProto::Network::WifiAccessPoint::SecurityMode security =
@@ -332,7 +415,7 @@
 }
 
 void NetworkMetricsProvider::LogAggregatedMetrics() {
-  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+  DCHECK(thread_checker_.CalledOnValidThread());
   base::HistogramBase* error_codes = base::SparseHistogram::FactoryGet(
       "Net.ErrorCodesForMainFrame4",
       base::HistogramBase::kUmaTargetedHistogramFlag);
@@ -353,7 +436,7 @@
 
 void NetworkMetricsProvider::OnEffectiveConnectionTypeChanged(
     net::EffectiveConnectionType type) {
-  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+  DCHECK(thread_checker_.CalledOnValidThread());
   effective_connection_type_ = type;
 
   if (effective_connection_type_ == net::EFFECTIVE_CONNECTION_TYPE_UNKNOWN ||
@@ -397,12 +480,4 @@
       max_effective_connection_type_ == net::EFFECTIVE_CONNECTION_TYPE_OFFLINE);
 }
 
-void NetworkMetricsProvider::SetNetworkQualityTracker(
-    network::NetworkQualityTracker* network_quality_tracker) {
-  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-  DCHECK(!network_quality_tracker_);
-  network_quality_tracker_ = network_quality_tracker;
-  network_quality_tracker_->AddEffectiveConnectionTypeObserver(this);
-}
-
 }  // namespace metrics
diff --git a/components/metrics/net/network_metrics_provider.h b/components/metrics/net/network_metrics_provider.h
index 4c0a9f0d..3b9932f 100644
--- a/components/metrics/net/network_metrics_provider.h
+++ b/components/metrics/net/network_metrics_provider.h
@@ -7,43 +7,48 @@
 
 #include <memory>
 
-#include "base/callback.h"
 #include "base/macros.h"
 #include "base/memory/weak_ptr.h"
 #include "base/metrics/histogram_base.h"
-#include "base/sequence_checker.h"
 #include "base/sequenced_task_runner.h"
-#include "base/single_thread_task_runner.h"
+#include "base/threading/thread_checker.h"
 #include "components/metrics/metrics_provider.h"
 #include "components/metrics/net/wifi_access_point_info_provider.h"
 #include "net/base/network_change_notifier.h"
 #include "net/base/network_interfaces.h"
 #include "net/nqe/effective_connection_type.h"
-#include "services/network/public/cpp/network_quality_tracker.h"
 #include "third_party/metrics_proto/system_profile.pb.h"
 
+namespace net {
+class NetworkQualityEstimator;
+}
+
 namespace metrics {
 
 SystemProfileProto::Network::EffectiveConnectionType
 ConvertEffectiveConnectionType(
     net::EffectiveConnectionType effective_connection_type);
 
-// Registers as observer with net::NetworkChangeNotifier and
-// network::NetworkQualityTracker to keep track of the network environment.
+// Registers as observer with net::NetworkChangeNotifier and keeps track of
+// the network environment.
 class NetworkMetricsProvider
     : public MetricsProvider,
-      public net::NetworkChangeNotifier::NetworkChangeObserver,
-      public network::NetworkQualityTracker::EffectiveConnectionTypeObserver {
+      public net::NetworkChangeNotifier::NetworkChangeObserver {
  public:
   // Class that provides |this| with the network quality estimator.
   class NetworkQualityEstimatorProvider {
    public:
     virtual ~NetworkQualityEstimatorProvider() {}
 
-    // Returns the network quality tracker by calling |callback|. The
-    // returned network quality tracker is guaranteed to be be non-null.
-    virtual void PostReplyNetworkQualityTracker(
-        base::OnceCallback<void(network::NetworkQualityTracker*)> callback) = 0;
+    // Returns the network quality estimator by calling |io_callback|. The
+    // returned network quality estimator may be nullptr. |io_callback| must be
+    // called on the IO thread. |io_callback| can be destroyed on IO thread only
+    // after |this| is destroyed.
+    virtual void PostReplyNetworkQualityEstimator(
+        base::Callback<void(net::NetworkQualityEstimator*)> io_callback) = 0;
+
+    // Returns the task runner on which |this| should be used and destroyed.
+    virtual scoped_refptr<base::SequencedTaskRunner> GetTaskRunner() = 0;
 
    protected:
     NetworkQualityEstimatorProvider() {}
@@ -65,10 +70,13 @@
   FRIEND_TEST_ALL_PREFIXES(NetworkMetricsProviderTest,
                            ECTAmbiguousOnConnectionTypeChange);
   FRIEND_TEST_ALL_PREFIXES(NetworkMetricsProviderTest,
-                           ECTNotAmbiguousOnUnknownOrOffline);
+                           ECTNotAmbiguousOnOffline);
   FRIEND_TEST_ALL_PREFIXES(NetworkMetricsProviderTest,
                            ConnectionTypeIsAmbiguous);
 
+  // Listens to the changes in the effective conection type.
+  class EffectiveConnectionTypeObserver;
+
   // MetricsProvider:
   void ProvideCurrentSessionData(
       ChromeUserMetricsExtension* uma_proto) override;
@@ -97,14 +105,9 @@
   // Logs metrics that are functions of other metrics being uploaded.
   void LogAggregatedMetrics();
 
-  // network::NetworkQualityTracker::EffectiveConnectionTypeObserver:
-  void OnEffectiveConnectionTypeChanged(
-      net::EffectiveConnectionType type) override;
-
-  // Sets the network quality tracker. |network_quality_tracker| is guaranteed
-  // to be non-null.
-  void SetNetworkQualityTracker(
-      network::NetworkQualityTracker* network_quality_tracker);
+  // Notifies |this| that the effective connection type of the current network
+  // has changed to |type|.
+  void OnEffectiveConnectionTypeChanged(net::EffectiveConnectionType type);
 
   // True if |connection_type_| changed during the lifetime of the log.
   bool connection_type_is_ambiguous_;
@@ -131,8 +134,10 @@
   std::unique_ptr<NetworkQualityEstimatorProvider>
       network_quality_estimator_provider_;
 
-  // Provides the network quality estimates. May be null.
-  network::NetworkQualityTracker* network_quality_tracker_;
+  // Listens to the changes in the effective connection type. Initialized and
+  // destroyed on the IO thread. May be null.
+  std::unique_ptr<EffectiveConnectionTypeObserver>
+      effective_connection_type_observer_;
 
   // Last known effective connection type.
   net::EffectiveConnectionType effective_connection_type_;
@@ -142,7 +147,7 @@
   net::EffectiveConnectionType min_effective_connection_type_;
   net::EffectiveConnectionType max_effective_connection_type_;
 
-  SEQUENCE_CHECKER(sequence_checker_);
+  base::ThreadChecker thread_checker_;
 
   base::WeakPtrFactory<NetworkMetricsProvider> weak_ptr_factory_;
 
diff --git a/components/metrics/net/network_metrics_provider_unittest.cc b/components/metrics/net/network_metrics_provider_unittest.cc
index f20e788..b5e6507 100644
--- a/components/metrics/net/network_metrics_provider_unittest.cc
+++ b/components/metrics/net/network_metrics_provider_unittest.cc
@@ -13,7 +13,7 @@
 #include "base/test/scoped_task_environment.h"
 #include "base/threading/thread_task_runner_handle.h"
 #include "net/base/network_change_notifier.h"
-#include "services/network/test/test_network_quality_tracker.h"
+#include "net/nqe/network_quality_estimator_test_util.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "third_party/metrics_proto/system_profile.pb.h"
 
@@ -24,18 +24,38 @@
 
 namespace metrics {
 
-class NetworkMetricsProviderTest : public testing::Test {
+namespace {
+
+class TestNetworkQualityEstimatorProvider
+    : public NetworkMetricsProvider::NetworkQualityEstimatorProvider {
  public:
-  network::NetworkQualityTracker* GetNetworkQualityTracker() const {
-    return test_network_quality_tracker_.get();
+  explicit TestNetworkQualityEstimatorProvider(
+      net::TestNetworkQualityEstimator* estimator)
+      : estimator_(estimator) {}
+  ~TestNetworkQualityEstimatorProvider() override {}
+
+ private:
+  // NetworkMetricsProvider::NetworkQualityEstimatorProvider:
+  scoped_refptr<base::SequencedTaskRunner> GetTaskRunner() override {
+    return base::ThreadTaskRunnerHandle::Get();
   }
 
+  void PostReplyNetworkQualityEstimator(
+      base::Callback<void(net::NetworkQualityEstimator*)> callback) override {
+    callback.Run(estimator_);
+  }
+
+  net::TestNetworkQualityEstimator* estimator_;
+  DISALLOW_COPY_AND_ASSIGN(TestNetworkQualityEstimatorProvider);
+};
+
+}  // namespace
+
+class NetworkMetricsProviderTest : public testing::Test {
  protected:
   NetworkMetricsProviderTest()
       : scoped_task_environment_(
-            base::test::ScopedTaskEnvironment::MainThreadType::IO),
-        test_network_quality_tracker_(
-            std::make_unique<network::TestNetworkQualityTracker>()) {
+            base::test::ScopedTaskEnvironment::MainThreadType::IO) {
 #if defined(OS_CHROMEOS)
     chromeos::DBusThreadManager::Initialize();
     chromeos::NetworkHandler::Initialize();
@@ -44,17 +64,17 @@
 
  private:
   base::test::ScopedTaskEnvironment scoped_task_environment_;
-
-  std::unique_ptr<network::TestNetworkQualityTracker>
-      test_network_quality_tracker_;
 };
 
 // Verifies that the effective connection type is correctly set.
 TEST_F(NetworkMetricsProviderTest, EffectiveConnectionType) {
+  net::TestNetworkQualityEstimator estimator;
+  std::unique_ptr<NetworkMetricsProvider::NetworkQualityEstimatorProvider>
+      estimator_provider(base::WrapUnique(
+          new TestNetworkQualityEstimatorProvider(&estimator)));
   SystemProfileProto system_profile;
-  NetworkMetricsProvider network_metrics_provider;
-  network_metrics_provider.SetNetworkQualityTracker(GetNetworkQualityTracker());
-  base::RunLoop().RunUntilIdle();
+  NetworkMetricsProvider network_metrics_provider(
+      std::move(estimator_provider));
 
   EXPECT_EQ(net::EFFECTIVE_CONNECTION_TYPE_UNKNOWN,
             network_metrics_provider.effective_connection_type_);
@@ -68,8 +88,18 @@
   EXPECT_EQ(SystemProfileProto::Network::EFFECTIVE_CONNECTION_TYPE_UNKNOWN,
             system_profile.network().max_effective_connection_type());
 
-  GetNetworkQualityTracker()->ReportEffectiveConnectionTypeForTesting(
-      net::EFFECTIVE_CONNECTION_TYPE_2G);
+  // Set RTT so that the effective connection type is computed as 2G.
+  estimator.set_recent_http_rtt(base::TimeDelta::FromMilliseconds(1500));
+  estimator.SetStartTimeNullHttpRtt(base::TimeDelta::FromMilliseconds(1500));
+  EXPECT_EQ(net::EFFECTIVE_CONNECTION_TYPE_UNKNOWN,
+            network_metrics_provider.effective_connection_type_);
+  EXPECT_EQ(net::EFFECTIVE_CONNECTION_TYPE_UNKNOWN,
+            network_metrics_provider.min_effective_connection_type_);
+  EXPECT_EQ(net::EFFECTIVE_CONNECTION_TYPE_UNKNOWN,
+            network_metrics_provider.max_effective_connection_type_);
+  // Running a request would cause the effective connection type to be computed
+  // as 2G, and observers to be notified.
+  estimator.RunOneRequest();
   EXPECT_EQ(net::EFFECTIVE_CONNECTION_TYPE_2G,
             network_metrics_provider.effective_connection_type_);
   EXPECT_EQ(net::EFFECTIVE_CONNECTION_TYPE_2G,
@@ -82,8 +112,12 @@
   EXPECT_EQ(SystemProfileProto::Network::EFFECTIVE_CONNECTION_TYPE_2G,
             system_profile.network().max_effective_connection_type());
 
-  GetNetworkQualityTracker()->ReportEffectiveConnectionTypeForTesting(
-      net::EFFECTIVE_CONNECTION_TYPE_SLOW_2G);
+  // Set RTT so that the effective connection type is computed as SLOW_2G.
+  estimator.set_recent_http_rtt(base::TimeDelta::FromMilliseconds(3000));
+  estimator.SetStartTimeNullHttpRtt(base::TimeDelta::FromMilliseconds(3000));
+  // Running a request would cause the effective connection type to be computed
+  // as SLOW_2G, and observers to be notified.
+  estimator.RunOneRequest();
   EXPECT_EQ(net::EFFECTIVE_CONNECTION_TYPE_SLOW_2G,
             network_metrics_provider.effective_connection_type_);
   EXPECT_EQ(net::EFFECTIVE_CONNECTION_TYPE_SLOW_2G,
@@ -110,10 +144,13 @@
 // Verifies that the effective connection type is not set to UNKNOWN when there
 // is a change in the connection type.
 TEST_F(NetworkMetricsProviderTest, ECTAmbiguousOnConnectionTypeChange) {
+  net::TestNetworkQualityEstimator estimator;
+  std::unique_ptr<NetworkMetricsProvider::NetworkQualityEstimatorProvider>
+      estimator_provider(base::WrapUnique(
+          new TestNetworkQualityEstimatorProvider(&estimator)));
   SystemProfileProto system_profile;
-  NetworkMetricsProvider network_metrics_provider;
-  network_metrics_provider.SetNetworkQualityTracker(GetNetworkQualityTracker());
-  base::RunLoop().RunUntilIdle();
+  NetworkMetricsProvider network_metrics_provider(
+      std::move(estimator_provider));
 
   EXPECT_EQ(net::EFFECTIVE_CONNECTION_TYPE_UNKNOWN,
             network_metrics_provider.effective_connection_type_);
@@ -122,8 +159,12 @@
   EXPECT_EQ(net::EFFECTIVE_CONNECTION_TYPE_UNKNOWN,
             network_metrics_provider.max_effective_connection_type_);
 
-  GetNetworkQualityTracker()->ReportEffectiveConnectionTypeForTesting(
-      net::EFFECTIVE_CONNECTION_TYPE_2G);
+  // Set RTT so that the effective connection type is computed as 2G.
+  estimator.set_recent_http_rtt(base::TimeDelta::FromMilliseconds(1500));
+  estimator.SetStartTimeNullHttpRtt(base::TimeDelta::FromMilliseconds(1500));
+  // Running a request would cause the effective connection type to be computed
+  // as 2G, and observers to be notified.
+  estimator.RunOneRequest();
   EXPECT_EQ(net::EFFECTIVE_CONNECTION_TYPE_2G,
             network_metrics_provider.effective_connection_type_);
   EXPECT_EQ(net::EFFECTIVE_CONNECTION_TYPE_2G,
@@ -152,32 +193,39 @@
 
 // Verifies that the effective connection type is not set to UNKNOWN when the
 // connection type is OFFLINE.
-TEST_F(NetworkMetricsProviderTest, ECTNotAmbiguousOnUnknownOrOffline) {
+TEST_F(NetworkMetricsProviderTest, ECTNotAmbiguousOnOffline) {
   for (net::EffectiveConnectionType force_ect :
        {net::EFFECTIVE_CONNECTION_TYPE_UNKNOWN,
         net::EFFECTIVE_CONNECTION_TYPE_OFFLINE}) {
-    NetworkMetricsProvider network_metrics_provider;
-    network_metrics_provider.SetNetworkQualityTracker(
-        GetNetworkQualityTracker());
-    base::RunLoop().RunUntilIdle();
+    std::unique_ptr<net::NetworkQualityEstimatorParams> params =
+        std::make_unique<net::NetworkQualityEstimatorParams>(
+            std::map<std::string, std::string>());
+    net::NetworkQualityEstimatorParams* params_ptr = params.get();
+    net::TestNetworkQualityEstimator estimator(std::move(params));
 
+    std::unique_ptr<NetworkMetricsProvider::NetworkQualityEstimatorProvider>
+        estimator_provider(base::WrapUnique(
+            new TestNetworkQualityEstimatorProvider(&estimator)));
     SystemProfileProto system_profile;
-    GetNetworkQualityTracker()->ReportEffectiveConnectionTypeForTesting(
+    NetworkMetricsProvider network_metrics_provider(
+        std::move(estimator_provider));
+
+    params_ptr->SetForcedEffectiveConnectionType(
         net::EFFECTIVE_CONNECTION_TYPE_2G);
+    estimator.RunOneRequest();
 
-    network_metrics_provider.ProvideSystemProfileMetrics(&system_profile);
-
-    GetNetworkQualityTracker()->ReportEffectiveConnectionTypeForTesting(
-        force_ect);
-
+    params_ptr->SetForcedEffectiveConnectionType(force_ect);
+    estimator.RunOneRequest();
     network_metrics_provider.ProvideSystemProfileMetrics(&system_profile);
     EXPECT_EQ(SystemProfileProto::Network::EFFECTIVE_CONNECTION_TYPE_2G,
               system_profile.network().min_effective_connection_type());
     EXPECT_EQ(SystemProfileProto::Network::EFFECTIVE_CONNECTION_TYPE_2G,
               system_profile.network().max_effective_connection_type());
 
-    GetNetworkQualityTracker()->ReportEffectiveConnectionTypeForTesting(
+    params_ptr->SetForcedEffectiveConnectionType(
         net::EFFECTIVE_CONNECTION_TYPE_4G);
+    estimator.RunOneRequest();
+
     network_metrics_provider.ProvideSystemProfileMetrics(&system_profile);
     EXPECT_EQ(SystemProfileProto::Network::EFFECTIVE_CONNECTION_TYPE_4G,
               system_profile.network().min_effective_connection_type());
@@ -188,10 +236,14 @@
 
 // Verifies that the connection type is ambiguous boolean is correctly set.
 TEST_F(NetworkMetricsProviderTest, ConnectionTypeIsAmbiguous) {
+  net::TestNetworkQualityEstimator estimator;
+  std::unique_ptr<NetworkMetricsProvider::NetworkQualityEstimatorProvider>
+      estimator_provider(base::WrapUnique(
+          new TestNetworkQualityEstimatorProvider(&estimator)));
   SystemProfileProto system_profile;
-  NetworkMetricsProvider network_metrics_provider;
-  network_metrics_provider.SetNetworkQualityTracker(GetNetworkQualityTracker());
-  base::RunLoop().RunUntilIdle();
+  NetworkMetricsProvider network_metrics_provider(
+      std::move(estimator_provider));
+  estimator.RunOneRequest();
 
   EXPECT_EQ(net::NetworkChangeNotifier::CONNECTION_UNKNOWN,
             network_metrics_provider.connection_type_);
diff --git a/components/policy/resources/policy_templates_am.xtb b/components/policy/resources/policy_templates_am.xtb
index 18e3673..e8bf98c 100644
--- a/components/policy/resources/policy_templates_am.xtb
+++ b/components/policy/resources/policy_templates_am.xtb
@@ -123,6 +123,7 @@
 
       ማስታወሻ፦ ይህ መመሪያ በAndroid ላይ አይተገበርም። IsolateOriginsን በAndroid ላይ ለማንቃት የIsolateOriginsAndroid መመሪያ ቅንብሩን ይጠቀሙ።
       </translation>
+<translation id="1377024960658062022">የሃርድዌር መሣሪያ ስርዓት ኤፒአዩ በመመሪያ-ለተጫኑ ቅጥያዎች ያነቃል</translation>
 <translation id="1384459581748403878">ዋቢ፦ <ph name="REFERENCE_URL" /></translation>
 <translation id="1387596372902085462">በSymantec Corporation የLegacy PKI Infrastructure ውስጥ እምነትን ማንቃት ወይም አለማንቃት</translation>
 <translation id="1393485621820363363">የድርጅት መሣሪያ አታሚዎች አንቅቷል</translation>
@@ -449,6 +450,9 @@
 <translation id="2201555246697292490">የተፈቀደላቸው ቤተኛ የመልዕክት መላላኪያ አዋቅር</translation>
 <translation id="2204753382813641270">የመደርደሪያ ራስ-መደበቅ ተቆጣጠር</translation>
 <translation id="2208976000652006649">POST የሚጠቀም የፍለጋ ዩአርኤል ግቤቶች</translation>
+<translation id="2214880135980649323">ይህ መመሪያ ወደ ነቅቷል ሲዋቀር በድርጅቱ መመሪያ የተጫኑ ቅጥያዎች የድርጅት ሃርድዌር መሣሪያ ስርዓት ኤፒአዩን እንዲጠቀሙ ይፈቀድላቸዋል።
+      ይህ መመሪያ ወደ ተሰናክሏል ሲዋቀር ወይም እንዳልተዋቀረ ከተተወ ምንም ቅጥያዎች የድርጅት ሃርድዌር መሣሪያ ስርዓት ኤፒአይ እንዲጠቀሙ አይፈቀድላቸውም።
+      ይህ መመሪያ እንዲሁም እንደ የHangouts አገልግሎቶች ቅጥያ ያሉ የክፍሎች ቅጥያዎችን ይመለከታል።</translation>
 <translation id="2223598546285729819">ነባሪ የማሳወቂያ ቅንብር</translation>
 <translation id="2231817271680715693">የመጀመሪያው አሂድ ላይ የአሰሳ ታሪክን ከነባሪው አሳሽ ያስመጣል</translation>
 <translation id="2236488539271255289">ማንኛውም ጣቢያ አካባቢያዊ ውሂብን እንዲያስቀምጥ አትፍቀድ</translation>
@@ -2852,6 +2856,17 @@
 <translation id="8465065632133292531">POST የሚጠቀም የፈጣን ዩአርኤል ግቤቶች</translation>
 <translation id="847472800012384958">ምንም ጣቢያ ብቅ-ባዮችን እንዲያሳይ አይፍቀዱ</translation>
 <translation id="8477885780684655676">TLS 1.0</translation>
+<translation id="8483004350080020634">ተኪን በመፍታት ጊዜ <ph name="PRODUCT_NAME" /> የሚጠቀምባቸው ለግላዊነት እና ደህንነት ትብነት ያላቸው የhttps:// ዩአርኤሎች ክፍሎችን ወደ የPAC (የተኪ ራስ-ውቅረት) ስክሪፕቶች ከማስተላለፉ በፊት ነጥሎ ያስወጣቸዋል።
+
+      እውነት ሲሆን የደህንነት ባህሪው ይነቃል፣ እና የhttps:// ዩአርኤሎች ወደ የPAC ስክሪት ከመግባታቸው በፊት ተነጥለው ይወጣሉ። በዚህ መልኩ የPAC ስክሪፕቱ በመደበኝነት በአንድ የተመሠጠረ ሰርጥ (እንደ የዩአርኤሉ ዱካ እና መጠይቅ ያሉ) የሚጠበቅ ውሂብን መመልከት አይችልም።
+
+      ሐሰት ሲሆን የደህንነት ባህሪው ይሰናከላል፣ እና የPAC ስክሪፕቶች በውስጥ-ታዋቂነት ሁሉንም የአንድ https:// ዩአርኤል ክፍሎችን የመመልከት ችሎታ ይሰጣቸዋል። ይህ ከየትም ይምጡ ሁሉንም የPAC ስክሪፕቶችን ይመለከታል (ደህንነቱ ባልተጠበቀ መጓጓዣ በኩል የመጡ ወይም በWPAD በኩል ደህንነቱ ባልተጠበቀ የተገኙ ጨምሮ)።
+
+      ይህ በነባሪነት እውነት ይሆናል (የደህንነት ባህሪው ይነቃል)።
+
+      ይህ ወደ እውነት እንዲዋቀር ይመከራል። ወደ ሐሰት መዋቀር ያለበት ብቸኛው ምክንያት ከነባር የPAC ስክሪፕቶች ጋር የተኳኋኝነት ችግር ካስከተለ ነው።
+
+      መመሪያው በM75 ላይ ይወገዳል።</translation>
 <translation id="8484458986062090479">ሁልጊዜ በአስተናጋጅ አሳሹ ምስል ሊሰራላቸው የሚገባቸውን የዩአርኤል ስርዓተ ጥለቶች ዝርዝሩን ያብጁ።
 
           ይህ መምሪያ ሳይቀናበር ከተተወ ለሁሉም ጣቢያዎች ሥራ ላይ የሚውለው ነባሪ ምስል ሰሪ በ«ChromeFrameRendererSettings» መመሪያ የተገለጸው ነው።
diff --git a/components/policy/resources/policy_templates_ar.xtb b/components/policy/resources/policy_templates_ar.xtb
index ffada53..cc0c3a57 100644
--- a/components/policy/resources/policy_templates_ar.xtb
+++ b/components/policy/resources/policy_templates_ar.xtb
@@ -135,6 +135,7 @@
 
       ملاحظة: لا تنطبق هذه السياسة على Android. ولتفعيل IsolateOrigins على Android، يمكنك استخدام إعداد سياسة IsolateOriginsAndroid.
       </translation>
+<translation id="1377024960658062022">إمكانية تفعيل "واجهة برمجة تطبيقات النظام الأساسي للجهاز" لإضافات مثبتة للسياسة</translation>
 <translation id="1384459581748403878">المرجع: <ph name="REFERENCE_URL" /></translation>
 <translation id="1387596372902085462">‏ما إذا كنت تريد تفعيل الثقة في البنية التحتية للمفاتيح العامة (PKI) القديمة لشركة Symantec</translation>
 <translation id="1393485621820363363">الطابعات الممكّنة لجهاز المؤسسة</translation>
@@ -383,10 +384,10 @@
 
       إذا تركتَ هذه السياسة غير معيَّنة، ستكون وكأنه تمّ تفعيلها، ويمكنك الاطلاع على الوصف المذكور أعلاه.</translation>
 <translation id="2113068765175018713">تقييد وقت تشغيل الجهاز من خلال إعادة التشغيل التلقائي</translation>
-<translation id="2116790137063002724">‏تتحكَّم هذه السياسة في سواء كنت تريد الإبلاغ عن المعلومات التي يمكن استخدامها لتحديد هوية المستخدمين، مثل تسجيل الدخول إلى نظام التشغيل، <ph name="PRODUCT_NAME" /> وتسجيل الدخول إلى "الملف الشخصي"، <ph name="PRODUCT_NAME" /> واسم "الملف الشخصي" <ph name="PRODUCT_NAME" /> ومسار "الملف الشخصي" <ph name="PRODUCT_NAME" /> والمسار القابل للتنفيذ.
+<translation id="2116790137063002724">‏تتحكَّم هذه السياسة فيما إذا كنت تريد الإبلاغ عن المعلومات التي يمكن استخدامها لتحديد هوية المستخدمين، مثل تسجيل الدخول إلى نظام التشغيل، وتسجيل الدخول بالملف الشخصي على <ph name="PRODUCT_NAME" />، واسم الملف الشخصي على <ph name="PRODUCT_NAME" /> ومسار الملف الشخصي على <ph name="PRODUCT_NAME" /> ومسار <ph name="PRODUCT_NAME" /> القابل للتنفيذ.
 
-      في حال ترك هذه السياسة بدون تحديد أو تحديدها على "True"، تُجمَع المعلومات التي يمكن استخدامها لتحديد هوية المستخدمين.
-      في حال تحديد هذه السياسة على "False"، لن تُجمَع المعلومات التي يمكن استخدامها لتحديد هوية المستخدمين.
+      في حال ترك هذه السياسة بدون ضبط أو ضبطها على "True"، تُجمَع المعلومات التي يمكن استخدامها لتحديد هوية المستخدمين.
+      في حال ضبط هذه السياسة على "False"، لن تُجمَع المعلومات التي يمكن استخدامها لتحديد هوية المستخدمين.
 
       لن تسري هذه السياسة إلا عند تفعيل <ph name="CHROME_REPORTING_EXTENSION_NAME" /> وتسجيل الجهاز باستخدام <ph name="MACHINE_LEVEL_USER_CLOUD_POLICY_ENROLLMENT_TOKEN_POLICY_NAME" />.</translation>
 <translation id="2127599828444728326">السماح بالإشعارات على مواقع الويب هذه</translation>
@@ -455,6 +456,9 @@
 <translation id="2201555246697292490">تهيئة القائمة البيضاء للرسائل الأصلية</translation>
 <translation id="2204753382813641270">التحكم في الإخفاء التلقائي للرف</translation>
 <translation id="2208976000652006649">‏معلمات عنوان URL للبحث الذي يستخدم المشاركة</translation>
+<translation id="2214880135980649323">‏عند تحديد هذه السياسة على "مفعلة"، يُسمح للإضافات التي تم تثبيتها عن طريق سياسة المؤسسة باستخدام "واجهة برمجة تطبيقات النظام الأساسي للجهاز".
+      وعند تحديد هذه السياسة على "موقوفة" أو عدم تحديدها، لا يُسمح لأي إضافات باستخدام "واجهة برمجة تطبيقات النظام الأساسي للجهاز" في المؤسسة.
+      تنطبق هذه السياسة أيضًا على إضافات المكوِّنات، مثل إضافة "خدمات Hangout".</translation>
 <translation id="2223598546285729819">إعدادات التنبيه التلقائية</translation>
 <translation id="2231817271680715693">استيراد سجل التصفح من المتصفح التلقائي عند التشغيل أول مرة</translation>
 <translation id="2236488539271255289">عدم السماح لأي موقع بتعيين البيانات المحلية</translation>
@@ -856,19 +860,19 @@
           اطّلع أيضًا على السياستين "CookiesBlockedForUrls" و"CookiesSessionOnlyForUrls". تجدر الإشارة إلى أنه لا يجب أن تكون هناك أنماط عناوين URL متعارضة بين هذه السياسات الثلاث، ولم يتم تحديد السياسة التي تحظى بأولوية.</translation>
 <translation id="3373364525435227558">‏تحدد هذه السياسة لغة أو أكثر من اللغات الموصى بها لجلسة مُدارة، ما يسمح للمستخدمين باختيار إحدى هذه اللغات بسهولة.
 
-      يمكن للمستخدم اختيار إحدى اللغات ومخطَّط لوحة المفاتيح قبل بدء جلسة مُدارة. بشكلٍ تلقائي، كل اللغات التي يدعمها <ph name="PRODUCT_OS_NAME" /> مدرجة بترتيب أبجدي. يمكنك استخدام هذه السياسة لنقل مجموعة من اللغات الموصى بها إلى أعلى القائمة.
+      يمكن للمستخدم اختيار إحدى اللغات ومخطَّط لوحة المفاتيح قبل بدء جلسة مُدارة. بشكلٍ تلقائي، كل اللغات المدعومة من <ph name="PRODUCT_OS_NAME" /> مُدرجة بترتيب أبجدي. ويمكنك استخدام هذه السياسة لنقل مجموعة من اللغات الموصى بها إلى أعلى القائمة.
 
-      في حال عدم تحديد هذه السياسة، سيتم اختيار اللغة الحالية لواجهة المستخدم مسبقًا.
+      في حال عدم ضبط هذه السياسة، سيتم اختيار اللغة الحالية لواجهة المستخدم مسبقًا.
 
-      وفي حال تحديد هذه السياسة، سيتم نقل اللغات الموصى بها إلى أعلى القائمة وسيتم فصلها بشكلٍ مرئي عن جميع اللغات الأخرى. وسيتم إدراج اللغات الموصى بها بالترتيب الذي تظهر به في السياسة. وسيتم تحديد اللغة الأولى الموصى بها مسبقًا.
+      وفي حال ضبط هذه السياسة، سيتم نقل اللغات الموصى بها إلى أعلى القائمة وسيتم فصلها بوضوح عن جميع اللغات الأخرى. وسيتم إدراج اللغات الموصى بها بالترتيب الذي تظهر به في السياسة. وسيتم تحديد اللغة الأولى الموصى بها مسبقًا.
 
-      إذا كانت هناك أكثر من لغة موصى بها، من المفترض أن المستخدمين سيحتاجون إلى الاختيار من بين هذه اللغات. وسيظهر اختيار اللغة ومخطط لوحة المفاتيح بشكلٍ واضح عند بدء جلسة مُدارة. أو من المفترض أن معظم المستخدمين سيحتاجون إلى استخدام اللغة المحددة مسبقًا. وحينئذٍ سيظهر اختيار اللغة ومخطط لوحة المفاتيح بشكلٍ أقل وضوحًا عند بدء جلسة مُدارة.
+      إذا كانت هناك أكثر من لغة موصى بها، من المفترض أن المستخدمين سيحتاجون إلى الاختيار من بين هذه اللغات. وسيظهر اختيار اللغة ومخطط لوحة المفاتيح بشكلٍ واضح عند بدء جلسة مُدارة. وبخلاف ذلك، من المفترض أن معظم المستخدمين سيحتاجون إلى استخدام اللغة المحددة مسبقًا. وحينئذٍ سيظهر اختيار اللغة ومخطط لوحة المفاتيح بشكلٍ أقل وضوحًا عند بدء جلسة مُدارة.
 
-      عند تحديد هذه السياسة وتفعيل تسجيل الدخول التلقائي (يُرجى الاطِّلاع على السياستين |DeviceLocalAccountAutoLoginId| و|DeviceLocalAccountAutoLoginDelay|) ستستخدم الجلسة المُدارة التي بدأت تلقائيًا أول لغة موصى بها وأكثر مخططات لغة المفاتيح شيوعًا التي تتطابق مع هذه اللغة.
+      عند ضبط هذه السياسة وتفعيل تسجيل الدخول التلقائي (يُرجى الاطِّلاع على السياستين |DeviceLocalAccountAutoLoginId| و|DeviceLocalAccountAutoLoginDelay|) ستستخدم الجلسة المُدارة التي بدأت تلقائيًا أول لغة موصى بها وأكثر مخططات لوحة المفاتيح شيوعًا لهذه اللغة.
 
       سيكون مخطط لوحة المفاتيح المحدد مسبقًا هو المخطط الأكثر شيوعًا المطابق للغة المحدَّدة مسبقًا.
 
-      يمكن تحديد هذه السياسة فقط كموصى بها. ويمكنك استخدام هذه السياسة لنقل مجموعة من اللغات الموصى بها إلى الأعلى، ولكن يُسمَح للمستخدمين دائمًا باختيار أي لغة يدعمها <ph name="PRODUCT_OS_NAME" /> لجلستهم.
+      يمكن ضبط هذه السياسة فقط كموصى بها. ويمكنك استخدام هذه السياسة لنقل مجموعة من اللغات الموصى بها إلى الأعلى، ولكن يُسمَح للمستخدمين دائمًا باختيار أي لغة يدعمها <ph name="PRODUCT_OS_NAME" /> لجلستهم.
       </translation>
 <translation id="3381968327636295719">استخدام المتصفح المضيف بشكل تلقائي</translation>
 <translation id="3414260318408232239">‏إذا لم تتم تهيئة هذه السياسة، سيستخدم عندئذ <ph name="PRODUCT_NAME" /> إصدار أدنى تلقائي وهو الإصدار 1.0 من طبقة النقل الآمنة (TLS).
@@ -1104,11 +1108,11 @@
       عند تعيين هذه السياسة على "صحيح" أو تركها بدون تعيين، سيتمكن المستخدمون من استرداد العروض من خلال تسجيل نظام تشغيل Chrome.
 
       عند تعيين هذه السياسة على "خطأ" لن يتمكن المستخدم من استرداد قيمة العروض.</translation>
-<translation id="4008507541867797979">‏في حال تحديد هذه السياسة على "true" أو عدم تهيئتها، سيعرض <ph name="PRODUCT_OS_NAME" /> المستخدمين الحاليين على شاشة تسجيل الدخول ويُسمَح باختيار واحد.
+<translation id="4008507541867797979">‏في حال ضبط هذه السياسة على "true" أو عدم تهيئتها، سيعرض <ph name="PRODUCT_OS_NAME" /> المستخدمين الحاليين على شاشة تسجيل الدخول ويسمَح باختيار واحد منهم.
 
-      وفي حال تحديد هذه السياسة على "false"، لن يعرض <ph name="PRODUCT_OS_NAME" /> المستخدمين الحاليين على شاشة تسجيل الدخول. سيتم عرض شاشة تسجيل الدخول العادية (المطالبة بإدخال البريد الإلكتروني للمستخدم وكلمة المرور أو الهاتف) أو الشاشة البينية SAML (في حال تفعيلها عبر سياسة <ph name="LOGIN_AUTHENTICATION_BEHAVIOR_POLICY_NAME" />)، ما لم تتم تهيئة جلسة مُدارة. وعندما تتم تهيئة جلسة مُدارة، سيتم عرض حسابات "الجلسة المُدارة" فقط، ما يسمح باختيار واحد منها.
+      وفي حال ضبط هذه السياسة على "false"، لن يعرض <ph name="PRODUCT_OS_NAME" /> المستخدمين الحاليين على شاشة تسجيل الدخول. سيتم عرض شاشة تسجيل الدخول العادية (المطالبة بإدخال البريد الإلكتروني للمستخدم وكلمة المرور أو الهاتف) أو الشاشة البينية SAML (في حال تفعيلها عبر سياسة <ph name="LOGIN_AUTHENTICATION_BEHAVIOR_POLICY_NAME" />)، ما لم تتم تهيئة جلسة مُدارة. وعندما تتم تهيئة جلسة مُدارة، سيتم عرض حسابات "الجلسة المُدارة" فقط، ما يسمح باختيار واحد منها.
 
-      تجدر الإشارة إلى أن هذه السياسة لا تؤثر في سواء كان الجهاز يحتفظ ببيانات المستخدم المحلية أو يتجاهلها.</translation>
+      يُرجى العلم أن هذه السياسة لا تؤثر في احتفاظ الجهاز ببيانات المستخدم المحلية أو تجاهُلها.</translation>
 <translation id="4010738624545340900">السماح باستدعاء مربعات حوار تحديد الملفات</translation>
 <translation id="4012737788880122133">‏تُعطّل التحديثات التلقائية عند تعيينها على "True".
 
@@ -1494,13 +1498,13 @@
 <translation id="5219844027738217407">‏بالنسبة لتطبيقات Android، تؤثر هذه السياسة على الميكروفون فقط. عند تعيين هذه السياسة على "true"، يتم كتم صوت الميكروفون لجميع تطبيقات Android، دون أي استثناءات.</translation>
 <translation id="5228316810085661003">‏تأخير تسجيل الدخول التلقائي لحساب الجهاز المحلي.
 
-      في حال عدم تحديد السياسة | DeviceLocalAccountAutoLoginId |، لن يكون لها أي تأثير. وإلا:
+      في حال عدم ضبط السياسة | DeviceLocalAccountAutoLoginId |، لن يكون لها أي تأثير. وبخلاف ذلك:
 
-      في حال تحديد هذه السياسة، تحدد مقدار الوقت الذي لا يتضمن أي نشاط للمستخدم ويجب أن ينقضي قبل تسجيل الدخول تلقائيًا إلى حساب الجهاز المحلي الذي حددته سياسة | DeviceLocalAccountAutoLoginId |.
+      في حال ضبط هذه السياسة، فهي تحدد مقدار الوقت الذي لا يتضمن أي نشاط للمستخدم ويجب أن ينقضي قبل تسجيل الدخول تلقائيًا إلى حساب الجهاز المحلي الذي حددته سياسة | DeviceLocalAccountAutoLoginId |.
 
-      وفي حال عدم تحديد هذه السياسة، سيتم استخدام 0 ميللي ثانية كمهلة.
+      وفي حال عدم ضبط هذه السياسة، سيتم استخدام 0 مللي ثانية كمهلة.
 
-      هذه السياسة محددة بالميللي ثانية.</translation>
+      هذه السياسة محددة بالمللي ثانية.</translation>
 <translation id="523505283826916779">إعدادات إمكانية الدخول</translation>
 <translation id="5247006254130721952">حظر التنزيلات الخطيرة</translation>
 <translation id="5248863213023520115">‏تعيّن أنواع التشفير التي يتم السماح بها عند طلب بطاقات Kerberos من أحد خوادم <ph name="MS_AD_NAME" />.
@@ -1519,10 +1523,10 @@
           وإذا تم تعيين السياسة على "false"، أو لم يتم تعيينها، فستخفق استدعاءات واجهة برمجة التطبيقات مع ظهور رمز خطأ.</translation>
 <translation id="5277806246014825877">‏تمكين هذا المستخدم من تشغيل Crostini.
 
-      في حال تحديد السياسة على "false"، لن يتم تفعيل Crostini للمستخدم.
-      في حال تحديد السياسة على "true" أو تركها بدون تحديد، يتم تفعيل Crostini للمستخدم طالما أن هناك إعدادات أخرى تسمح به أيضًا.
-      يجب أن تكون جميع السياسات الثلاث، VirtualMachinesAllowed وCrostiniAllowed و DeviceUnaffiliatedCrostiniAllowed صحيحة عند تطبيقها على السماح لـ Crostini بالتشغيل.
-      وعند تغيير هذه السياسة إلى "false"، تنطبق على بدء حاويات Crostini جديدة ولكنها لا تغلق الحاويات التي تم تشغيلها من قبل.</translation>
+      في حال ضبط السياسة على "false"، لن يتم تفعيل Crostini للمستخدم.
+      في حال ضبط السياسة على "true" أو تركها بدون ضبط، يتم تفعيل Crostini للمستخدم طالما أن هناك إعدادات أخرى تسمح به أيضًا.
+      يجب أن تكون جميع السياسات الثلاث VirtualMachinesAllowed وCrostiniAllowed وDeviceUnaffiliatedCrostiniAllowed مضبوطة على "true" عند تطبيقها لـ Crostini للسماح بتشغيله.
+      وعند تغيير ضبط هذه السياسة على "false"، فإنها تُطبق على بدء حاويات Crostini جديدة ولكنها لا تغلق الحاويات قيد التشغيل.</translation>
 <translation id="5283457834853986457">إيقاف الباحث عن المكوّنات الإضافية (متوقف)</translation>
 <translation id="5288772341821359899">‏في حالة تعيين السياسة، يتم تقييد نطاق منفذ UDP المستخدم من خلال WebRTC للفترة المحددة للمنفذ (تم إدراج نقاط النهاية).
 
@@ -1860,11 +1864,11 @@
 <translation id="6310223829319187614">تفعيل الإكمال التلقائي لاسم النطاق أثناء تسجيل دخول المستخدم</translation>
 <translation id="6315673513957120120">‏يعرض Chrome صفحة تحذير عند تصفح المستخدمين لمواقع بها أخطاء تتعلق بطبقة المقابس الآمنة (SSL). بشكل تلقائي أو عند تعيين هذه السياسة على "true"، يتم السماح للمستخدمين بالنقر على صفحات التحذير هذه.
      لا يسمح للمستخدمين بالنقر على أي صفحة تحذير عند تعيين هذه السياسة على "false".</translation>
-<translation id="6352543686437322588">‏حساب الجهاز المحلي لتسجيل الدخول إليها تلقائيًا بعد مهلة.
+<translation id="6352543686437322588">‏حساب الجهاز المحلي لتسجيل الدخول التلقائي بعد مهلة.
 
-       في حال تحديد هذه السياسة، سيتم تسجيل الدخول تلقائيًا إلى الجلسة المحددة بعد مرور فترة زمنية في شاشة تسجيل الدخول بدون أي إجراء من المستخدم. يجب أن تتم تهيئة حساب الجهاز المحلي مسبقًا (اطلع على |DeviceLocalAccounts|).
+       في حال ضبط هذه السياسة، سيتم تسجيل الدخول تلقائيًا إلى الجلسة المحددة بعد مرور فترة زمنية في شاشة تسجيل الدخول بدون أي إجراء من المستخدم. يجب أن تتم تهيئة حساب الجهاز المحلي مسبقًا (اطّلع على |DeviceLocalAccounts|).
 
-       في حال عدم تحديد هذه السياسة، لن يكون هناك تسجيل دخول تلقائي.</translation>
+       في حال عدم ضبط هذه السياسة، لن يكون هناك تسجيل دخول تلقائي.</translation>
 <translation id="6353901068939575220">‏لتحديد المعلمات المستخدمة عند البحث عن عنوان URL في مشاركة. وهي تتكون من أزواج اسم/قيمة مفصولة بفواصل. وإذا كانت هناك قيمة تعد معلمة لنموذج، مثل {searchTerms} في المثال الوارد أعلاه، فسيتم استبدالها ببيانات عبارات بحث حقيقية.
 
           تعد هذه السياسة سياسة اختيارية. وعند عدم تعيينها، سيتم إرسال طلب بحث باستخدام طريقة GET.
@@ -2211,11 +2215,11 @@
 
           إذا لم يتم تعيين هذه السياسة، سيتمكن المستخدم من تغيير هذا الإعداد يدويًا.</translation>
 <translation id="723103540848640830">تحديد الحد الأدنى لطول رقم التعريف الشخصي لشاشة القفل</translation>
-<translation id="7232816984286843471">‏في حال تحديد السياسة على "false"، لن يُسمح للمستخدمين غير التابعين باستخدام Crostini.
+<translation id="7232816984286843471">‏في حال ضبط السياسة على "false"، لن يُسمح للمستخدمين غير التابعين باستخدام Crostini.
 
-      في حال عدم تحديد السياسة أو تحديدها على "true"، يتم السماح لجميع المستخدمين باستخدام Crostini طالما أن هناك إعدادات أخرى تسمح بها أيضًا.
-      يجب أن تكون جميع السياسات الثلاث، VirtualMachinesAllowed وCrostiniAllowed وDeviceUnaffiliatedCrostiniAllowed صحيحة عند تطبيقها على السماح بتشغيل Crostini.
-      وعند تغيير هذه السياسة إلى "false"، يتم تطبيقها على بدء حاويات Crostini جديدة، ولكنها لا تغلق الحاويات التي تم تشغيلها من قبل.</translation>
+      في حال عدم ضبط السياسة أو ضبطها على "true"، يتم السماح لجميع المستخدمين باستخدام Crostini طالما أن هناك إعدادات أخرى تسمح بها أيضًا.
+      يجب أن تكون جميع السياسات الثلاث VirtualMachinesAllowed وCrostiniAllowed وDeviceUnaffiliatedCrostiniAllowed مضبوطة على "true" عند تطبيقها لـ Crostini للسماح بتشغيله.
+      وعند تغيير ضبط هذه السياسة على "false"، فإنها تُطبق على بدء حاويات Crostini جديدة ولكنها لا تغلق الحاويات قيد التشغيل.</translation>
 <translation id="7234280155140786597">أسماء مضيفي الرسائل الأصلية المحظورة (أو * للكل)</translation>
 <translation id="7236775576470542603">تعيين النوع التلقائي من مكبر الشاشة الذي يتم تفعيله في شاشة تسجيل الدخول.
 
@@ -2263,10 +2267,10 @@
 <translation id="7311458740754205918">‏إذا تم تعيين هذه السياسة على "true" أو لم يتم تعيينها، فقد تُظهر صفحة "علامة التبويب الجديدة" اقتراحات المحتوى بناءً على سجل تصفح المستخدم، أو اهتماماته، أو موقعه.
 
       وإذا تم تعيين هذه السياسة على "false"، فلن تظهر اقتراحات المحتوى التي تم إنشاؤها تلقائيًا في صفحة "علامة التبويب الجديدة".</translation>
-<translation id="7313793931637495417">‏تتحكَّم هذه السياسة في سواء كنت تريد الإبلاغ عن معلومات الإصدار، مثل إصدار نظام التشغيل والنظام الأساسي لنظام التشغيل وبنية نظام التشغيل وإصدار <ph name="PRODUCT_NAME" /> وقناة <ph name="PRODUCT_NAME" />.
+<translation id="7313793931637495417">‏تتحكَّم هذه السياسة فيما إذا كنت تريد الإبلاغ عن معلومات الإصدار، مثل إصدار نظام التشغيل والنظام الأساسي لنظام التشغيل وبنية نظام التشغيل وإصدار <ph name="PRODUCT_NAME" /> وقناة <ph name="PRODUCT_NAME" />.
 
-      في حال ترك هذه السياسة بدون تحديد أو تحديدها على "True"، تُجمَع معلومات الإصدار.
-      في حال تحديد هذه السياسة على "False"، لن تُجمَع معلومات الإصدار.
+      في حال ترك هذه السياسة بدون ضبط أو ضبطها على "True"، تُجمَع معلومات الإصدار.
+      في حال ضبط هذه السياسة على "False"، لن تُجمَع معلومات الإصدار.
 
       لن تسري هذه السياسة إلا عند تفعيل <ph name="CHROME_REPORTING_EXTENSION_NAME" /> وتسجيل الجهاز باستخدام <ph name="MACHINE_LEVEL_USER_CLOUD_POLICY_ENROLLMENT_TOKEN_POLICY_NAME" />.</translation>
 <translation id="7323896582714668701">معلمات سطر أوامر إضافية لـ <ph name="PRODUCT_NAME" /></translation>
@@ -2299,10 +2303,10 @@
 <translation id="7349338075015720646">‏تحدّد هذه السياسة قائمة من مواقع الويب التي تم تثبيتها تلقائيًا بدون تدخُّل المستخدم، والتي لا يمكنه إلغاء تثبيتها أو إيقافها.
 
       كل عنصر قائمة في السياسة هو كائن مكوّن من عضوين: "url" و"launch_container". يجب أن يكون "url" هوعنوان URL لتطبيق الويب المُراد تثبيته ويجب أن يكون "launch_container" إما "نافذة" أو "علامة تبويب" للإشارة إلى طريقة فتح "تطبيق الويب" بعد تثبيته. إذا تم حذف "launch_container"، سيتم تشغيل التطبيق في نافذة إذا اعتبره Chrome "تطبيق ويب تقدّمي" وسيتم تشغيله في علامة تبويب بخلاف ذلك.</translation>
-<translation id="735902178936442460">‏تتحكَّم هذه السياسة في سواء كنت تريد الإبلاغ عن المعلومات التي يمكن استخدامها لتحديد الأجهزة، مثل اسم الجهاز وعناوين الشبكات.
+<translation id="735902178936442460">‏تتحكَّم هذه السياسة فيما إذا كنت تريد الإبلاغ عن المعلومات التي يمكن استخدامها لتحديد الأجهزة، مثل اسم الجهاز وعناوين الشبكات.
 
-      في حال ترك هذه السياسة بدون تحديد أو تحديدها على "True"، تُجمَع المعلومات التي يمكن استخدامها لتحديد الأجهزة.
-      في حال تحديد هذه السياسة على "False"، لن تُجمَع المعلومات التي يمكن استخدامها لتحديد الأجهزة.
+      في حال ترك هذه السياسة بدون ضبط أو ضبطها على "True"، تُجمَع المعلومات التي يمكن استخدامها لتحديد الأجهزة.
+      في حال ضبط هذه السياسة على "False"، لن تُجمَع المعلومات التي يمكن استخدامها لتحديد الأجهزة.
 
       لن تسري هذه السياسة إلا عند تفعيل <ph name="CHROME_REPORTING_EXTENSION_NAME" /> وتسجيل الجهاز باستخدام <ph name="MACHINE_LEVEL_USER_CLOUD_POLICY_ENROLLMENT_TOKEN_POLICY_NAME" />.</translation>
 <translation id="7367028210010532881">‏تعرض خدمة "التصفُّح الآمن" صفحة تحذير عند انتقال المستخدم إلى المواقع التي تم الإبلاغ بأنها ضارة. تفعيل هذا الإعداد يمنع المستخدمين من متابعة الانتقال من صفحة التحذير إلى الموقع الضار.
@@ -2551,12 +2555,12 @@
 <translation id="7985242821674907985"><ph name="PRODUCT_NAME" /></translation>
 <translation id="7992136759457836904">‏تسمح لك هذه السياسة بالتحكم في إمكانية تشغيل الآلات الافتراضية على نظام التشغيل Chrome.
 
-      في حال تحديد السياسة على "True"، سيتم السماح للجهاز بتشغيل الآلات الافتراضية.
-      في حال تحديد السياسة على "False"، لن يتم السماح للجهاز بتشغيل الآلات الافتراضية.
-      يجب أن تكون جميع السياسات الثلاث VirtualMachinesAllowed وCrostiniAllowed وDeviceUnaffiliatedCrostiniAllowed صحيحة عند تطبيقها على السماح بتشغيل Crostini.
-      عند تغيير هذه السياسة إلى "False"، يسري تطبيقها على بدء تشغيل الآلات الافتراضية الجديدة، ولكنها لا توقف الآلات الافتراضية المُشغّلة من قبل.
-      في حال عدم تحديد هذه السياسة على جهاز مُدار، لا يُسمح للجهاز بتشغيل الآلات الافتراضية.
-      ويُسمح للأجهزة غير المُدارة بتشغيل الآلات الافتراضية.</translation>
+      في حال ضبط السياسة على "True"، سيتم السماح للجهاز بتشغيل الآلات الافتراضية.
+      في حال ضبط السياسة على "False"، لن يتم السماح للجهاز بتشغيل الآلات الافتراضية.
+      يجب أن تكون جميع السياسات الثلاث VirtualMachinesAllowed وCrostiniAllowed وDeviceUnaffiliatedCrostiniAllowed مضبوطة على "true" عند تطبيقها لـ Crostini للسماح بتشغيله.
+      عند تغيير ضبط هذه السياسة إلى "False"، يسري تطبيقها على بدء تشغيل الآلات الافتراضية الجديدة، ولكنها لا توقف الآلات الافتراضية قيد التشغيل.
+      في حال عدم ضبط هذه السياسة على جهاز مُدار، لا يُسمح للجهاز بتشغيل الآلات الافتراضية.
+      يُسمح للأجهزة غير المُدارة بتشغيل الآلات الافتراضية.</translation>
 <translation id="802147957407376460">تدوير الشاشة  بمقدار 0 درجة</translation>
 <translation id="8033913082323846868">‏تم إيقاف هذه السياسة في M70، ولذا يُرجى استخدام AutofillAddressEnabled وAutofillCreditCardEnabled بدلاً منها.
 
@@ -2601,10 +2605,10 @@
           عند عدم تعيين هذه السياسة، يتم استخدام مدة زمنية تلقائية.
 
           يجب تحديد قيمة السياسة بالمللي ثانية. يجب أن تكون القيم أقل من أو مساوية لمهلة وضع الخمول.</translation>
-<translation id="8138009212169037227">‏تتحكَّم هذه السياسة في سواء كنت تريد الإبلاغ عن بيانات السياسة ووقت جلب السياسة.
+<translation id="8138009212169037227">‏تتحكَّم هذه السياسة فيما إذا كنت تريد الإبلاغ عن بيانات السياسة ووقت استدعاء السياسة.
 
-      في حال ترك هذه السياسة بدون تحديد أو تحديدها على "True"، تُجمَع بيانات السياسة ووقت جلب السياسة.
-      في حال تحديد هذه السياسة على "False"، لن تُجمَع بيانات السياسة ووقت جلب السياسة.
+      في حال ترك هذه السياسة بدون ضبط أو ضبطها على "True"، تُجمَع بيانات السياسة ووقت استدعاء السياسة.
+      في حال ضبط هذه السياسة على "False"، لن تُجمَع بيانات السياسة ووقت استدعاء السياسة.
 
       لن تسري هذه السياسة إلا عند تفعيل <ph name="CHROME_REPORTING_EXTENSION_NAME" /> وتسجيل الجهاز باستخدام <ph name="MACHINE_LEVEL_USER_CLOUD_POLICY_ENROLLMENT_TOKEN_POLICY_NAME" />.</translation>
 <translation id="8140204717286305802">الإبلاغ عن قائمة بواجهات الشبكات مع تحديد نوعها وعناوين الأجهزة على الخادم.
@@ -2657,29 +2661,29 @@
 لا تحتاج هذه الإعدادات إلى أن تتم تهيئتها يدويًا. كما تتوفر نماذج سهلة الاستخدام لأنظمة Windows وMac وLinux للتنزيل من <ph name="POLICY_TEMPLATE_DOWNLOAD_URL" />.
 
 تكون الطريقة المقترحة لتهيئة السياسة على نظام التشغيل Windows عبر كائن سياسات المجموعة (GPO) على الرغم من أن توفير السياسة عبر قاعدة بيانات المسجّلين لا تزال متوفرة للنسخ الافتراضية لنظام Windows المنضمة لنطاق <ph name="MS_AD_NAME" />.</translation>
-<translation id="8264653492961233132">‏تحدد قائمة بالتطبيقات والإضافات التي يتم تثبيتها بشكلٍ غير ملحوظ،
-          دون تفاعل المستخدم والتي لا يمكن للمستخدم إلغاء تثبيتها
+<translation id="8264653492961233132">‏تحدد قائمة بالتطبيقات والإضافات التي يتم تثبيتها تلقائيًا
+          وبدون تفاعل من المستخدم، ولا يمكن للمستخدم إلغاء تثبيتها
           أو إيقافها. ويتم منح جميع الأذونات التي تطلبها
           التطبيقات/الإضافات ضمنيًا دون تفاعل المستخدم،
           بما في ذلك أي أذونات إضافية تطلبها الإصدارات المستقبلية
-          للتطبيق/الإضافة. إضافةً إلى ذلك، يتم منح الأذونات
+          للتطبيق/الإضافة. إضافة إلى ذلك، يتم منح الأذونات
           لواجهات برمجة تطبيقات الإضافة enterprise.deviceAttributes وenterprise.platformKeys
-          (لا تتوفر واجهتا برمجة التطبيقات هاتان للتطبيقات/الإضافات التي
-          لم يُفرض تثبيتها).
+          (لا تتوفر واجهتا برمجة التطبيقات للتطبيقات/الإضافات المثبَّتة
+          من المؤسسة).
 
-          وتكون الأولوية لهذه السياسة على السياسة المتعارضة بشكلٍ محتمل <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" />. وإذا تمت إزالة تطبيق أو إضافة تم فرض تثبيتهما سابقًا من هذه القائمة، سيتم إلغاء تثبيتهما تلقائيًا بواسطة <ph name="PRODUCT_NAME" />.
+          وتكون الأولوية لهذه السياسة على السياسة المتعارضة بشكلٍ محتمل <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" />. وإذا تمت إزالة تطبيق أو إضافة مثبَّتة بواسطة المؤسسة من هذه القائمة، سيتم إلغاء التثبيت تلقائيًا بواسطة <ph name="PRODUCT_NAME" />.
 
-          وبالنسبة إلى النسخ الافتراضية لنظام التشغيل Windows غير الملحقة بنطاق <ph name="MS_AD_NAME" />، يكون التثبيت المفروض قاصرًا على الإضافات والتطبيقات الواردة في سوق Chrome الإلكتروني.
+          وبالنسبة إلى النسخ الافتراضية لنظام التشغيل Windows غير الملحقة بنطاق <ph name="MS_AD_NAME" />، يكون التثبيت من المؤسسة قاصرًا على الإضافات والتطبيقات المُدرجة في سوق Chrome الإلكتروني.
 
-          تجدر الإشارة إلى أنه من المحتمل أن يغيّر المستخدمون رمز المصدر لأي إضافة عبر أدوات مطوّري البرامج (التي من المحتمل أن تعرض الإضافة بشكلٍ غير فعّال). وإذا أصبح هذا الأمر باعثًا للقلق، ينبغي تحديد السياسة <ph name="DEVELOPER_TOOLS_POLICY_NAME" />.
+          تجدر الإشارة إلى أنه من المحتمل أن يغيّر المستخدمون رمز المصدر لأي إضافة عبر أدوات مطوّري البرامج (التي من المحتمل أن تعرض الإضافة بشكلٍ غير فعّال). وإذا كان هذا الأمر مصدرًا للقلق، ينبغي ضبط السياسة <ph name="DEVELOPER_TOOLS_POLICY_NAME" />.
 
-          يمثل كل عنصر قائمة للسياسة سلسلةً تحتوي على معرّف الإضافة وعنوان URL "للتحديث" مفصولاً بفاصلة منقوطة (<ph name="SEMICOLON" />). ومعرّف الإضافة هو السلسلة المكونة من 32 حرفًا التي توجد على سبيل المثال في <ph name="CHROME_EXTENSIONS_LINK" /> في وضع مطور البرامج. ويجب أن يعمل عنوان URL على التوجيه إلى مستند بيان التحديث بتنسيق XML كما هو موضح في <ph name="LINK_TO_EXTENSION_DOC1" />. وبشكلٍ تلقائي، يتم استخدام عنوان URL للتحديث لسوق Chrome الإلكتروني (الذي يمثل حاليًا "https://clients2.google.com/service/update2/crx"). وتجدر الإشارة إلى أنه لا يتم استخدام عنوان URL "للتحديث" الذي تم تحديده في هذه السياسة إلا لعملية التثبيت الأولية، إذ توظف التحديثات اللاحقة للإضافة عنوان URL "للتحديث" المُشار إليه في بيان الإضافة. وتجدر الإشارة أيضًا إلى أن تحديد عنوان URL "للتحديث" صراحةً كان أمرًا إلزاميًا في الإصدارات <ph name="PRODUCT_NAME" /> حتى إصدار 67.
+          يُعد كل عنصر قائمة للسياسة سلسلةً تحتوي على معرّف الإضافة وعنوان URL "للتحديث" مفصولاً بفاصلة منقوطة (<ph name="SEMICOLON" />). ومعرّف الإضافة هو السلسلة المكونة من 32 حرفًا التي توجد على سبيل المثال في <ph name="CHROME_EXTENSIONS_LINK" /> في وضع مطور البرامج. ويجب أن يعمل عنوان URL على التوجيه إلى مستند بيان التحديث بتنسيق XML كما هو موضح في <ph name="LINK_TO_EXTENSION_DOC1" />. وبشكلٍ تلقائي، يتم استخدام عنوان URL للتحديث لسوق Chrome الإلكتروني (الذي يمثل حاليًا "https://clients2.google.com/service/update2/crx"). وتجدر الإشارة إلى أنه لا يتم استخدام عنوان URL "للتحديث" الذي تم تحديده في هذه السياسة إلا لعملية التثبيت الأولية، إذ توظف التحديثات اللاحقة للإضافة عنوان URL "للتحديث" المُشار إليه في بيان الإضافة. وتجدر الإشارة أيضًا إلى أن تحديد عنوان URL "للتحديث" صراحةً كان أمرًا إلزاميًا في الإصدارات <ph name="PRODUCT_NAME" /> حتى إصدار 67.
 
-          على سبيل المثال، تثبّت <ph name="EXTENSION_POLICY_EXAMPLE" /> التطبيق <ph name="EXTENSION_POLICY_EXAMPLE_EXTENSION_NAME" /> من عنوان URL "للتحديث" لسوق Chrome الإلكتروني القياسي. لمزيد من المعلومات حول استضافة الإضافات، يُرجى الاطلاع على: <ph name="LINK_TO_EXTENSION_DOC2" />.
+          على سبيل المثال، تثبّت <ph name="EXTENSION_POLICY_EXAMPLE" /> التطبيق <ph name="EXTENSION_POLICY_EXAMPLE_EXTENSION_NAME" /> من عنوان URL "للتحديث" لسوق Chrome الإلكتروني القياسي. لمزيد من المعلومات حول استضافة الإضافات، يُرجى الاطّلاع على: <ph name="LINK_TO_EXTENSION_DOC2" />.
 
-          في حال لم يتم تحديد هذه السياسة، لن يتم تثبيت أي تطبيقات أو إضافات تلقائيًا، ويمكن للمستخدم إلغاء تثبيت أي تطبيق أو إضافة في <ph name="PRODUCT_NAME" />.
+          في حال عدم ضبط هذه السياسة، لن يتم تثبيت أي تطبيقات أو إضافات تلقائيًا، ويمكن للمستخدم إلغاء تثبيت أي تطبيق أو إضافة في <ph name="PRODUCT_NAME" />.
 
-          تجدر الإشارة إلى أن هذه السياسة لا تنطبق على وضع التصفح المتخفي.</translation>
+          يُرجى العلم أن هذه السياسة لا تنطبق على وضع التصفح المتخفي.</translation>
 <translation id="8274603902181597201">‏يمكنك محو دليل الصفحة الرئيسية المشفر للمستخدم والبدء بدليل الصفحة الرئيسية المشفر ext4 الحديث.</translation>
 <translation id="8285435910062771358">تم تفعيل مكبر الشاشة</translation>
 <translation id="8288199156259560552">‏تفعيل خدمة مواقع Google لنظام التشغيل Android</translation>
@@ -2728,6 +2732,25 @@
 <translation id="8465065632133292531">‏معلمات عنوان URL الفوري الذي يستخدم المشاركة</translation>
 <translation id="847472800012384958">عدم السماح لأي موقع بعرض النوافذ المنبثقة</translation>
 <translation id="8477885780684655676">طبقة النقل الآمنة 1.0</translation>
+<translation id="8483004350080020634">‏تعمل على إزالة الأجزاء الحساسة المتعلقة بالخصوصية والأمان لعناوين URL لـ https:// قبل تمريرها إلى النصوص البرمجية PAC (التهيئة التلقائية للخادم الوكيل) المُستخدمة من قِبل <ph name="PRODUCT_NAME" /> أثناء تحليل الخادم الوكيل.
+
+      عند التحديد على "True"، يتم تفعيل ميزة الأمان، وتتم إزالة عناوين URL لـ https://
+      قبل إرسالها إلى نص برمجي PAC. وبهذه الطريقة، لن يتمكن النص البرمجي PAC
+      من عرض البيانات التي تكون محمية بشكلٍ عادي من قبل إحدى القنوات 
+      المشفرة (مثل مسار عنوان URL والطلب).
+
+      عند التحديد على "False"، يتم إيقاف ميزة الأمان، ويتم منح النصوص البرمجية
+      PAC إمكانية عرض مكوِّنات عنوان URL لـ https:// بالكامل ضمنيًا.
+      ويُطبَّق هذا الإعداد على جميع النصوص البرمجية PAC بغض النظر عن المصدر (بما في ذلك
+      تلك النصوص البرمجية التي تم جلبها خلال نقل غير آمن، أو التي تم اكتشافها على نحوٍ غير آمنٍ
+      من خلال WPAD).
+
+      يتم تحديد هذه السياسة بشكلٍ تلقائي على "True" (ميزة الأمان مُفعَّلة).
+
+      يُنصح بتحديد هذه السياسة على "True". ويكون السبب الوحيد لتحديدها على
+      "False" هو تسبُّبها في حدوث مشكلة في التوافق مع النصوص البرمجية PAC الحالية.
+
+      ستتم إزالة السياسة في M75.</translation>
 <translation id="8484458986062090479">‏تخصيص قائمة أنماط عناوين URL التي يجب عرضها دائمًا بواسطة المتصفح المضيف.
 
           إذا لم يتم تعيين هذه السياسة، فسيتم استخدام العارض التلقائي لجميع المواقع كما هو محدد بواسطة السياسة "ChromeFrameRendererSettings".
diff --git a/components/policy/resources/policy_templates_bg.xtb b/components/policy/resources/policy_templates_bg.xtb
index cc1edee..cdba767 100644
--- a/components/policy/resources/policy_templates_bg.xtb
+++ b/components/policy/resources/policy_templates_bg.xtb
@@ -122,6 +122,7 @@
 
 ЗАБЕЛЕЖКА: Това правило не се прилага за Android. За да активирате IsolateOrigins под Android, използвайте настройката IsolateOriginsAndroid.
       </translation>
+<translation id="1377024960658062022">Активира API за Hardware Platform за инсталираните чрез правила разширения</translation>
 <translation id="1384459581748403878">За справка: <ph name="REFERENCE_URL" /></translation>
 <translation id="1387596372902085462">Дали старата инфраструктура на Symantec Corporation за удостоверяване с публичен ключ да бъде смятана за надеждна</translation>
 <translation id="1393485621820363363">Активирани корпоративни принтери за устройствата</translation>
@@ -438,6 +439,9 @@
 <translation id="2201555246697292490">Конфигуриране на белия списък за обмен на съобщения с приложения с директно изпълнение</translation>
 <translation id="2204753382813641270">Контролиране на автоматичното скриване на полицата</translation>
 <translation id="2208976000652006649">Параметри за URL адрес за търсене, за който се използва POST</translation>
+<translation id="2214880135980649323">Когато това правило е активирано, на разширенията, инсталирани чрез корпоративни правила, е позволено да използват приложния програмен интерфейс (API) на Enterprise Hardware Platform.
+      Когато правилото е деактивирано или не е зададено, на разширенията не се позволява да използват API на Enterprise Hardware Platform.
+      Правилото също така важи за разширения на компоненти, като например разширението на Hangout Services.</translation>
 <translation id="2223598546285729819">Настройка по подразбиране за известията</translation>
 <translation id="2231817271680715693">Импортиране на историята на сърфиране от браузъра по подразбиране при първото изпълнение</translation>
 <translation id="2236488539271255289">Без разрешаване на сайтовете да задават локални данни</translation>
@@ -1102,7 +1106,7 @@
 
 В случай че правилото е false, съществуващите потребители няма да се показват на екрана за вход в <ph name="PRODUCT_OS_NAME" />. Вместо това ще се вижда обичайният екран за вход (с подкана за имейл адреса и паролата или телефона на потребителя) или екранът със заставка за SAML (ако е активиран чрез правилото <ph name="LOGIN_AUTHENTICATION_BEHAVIOR_POLICY_NAME" />), освен ако не е конфигурирана управлявана сесия, в който случай ще се показват само профилите за нея и ще може да бъде избран един от тях.
 
-Обърнете внимание, че това правило не определя дали локалните потребителски данни да бъдат съхранени или отхвърлени от устройството.</translation>
+Обърнете внимание, че това правило не определя дали локалните потребителски данни да бъдат съхранени, или отхвърлени от устройството.</translation>
 <translation id="4010738624545340900">Разрешаване на извикването на диалогови прозорци за избор на файл</translation>
 <translation id="4012737788880122133">Деактивира автоматичните актуализации, когато е True.
 
@@ -2757,6 +2761,17 @@
 <translation id="8465065632133292531">Параметри за URL адрес за динамично търсене, за който се използва POST</translation>
 <translation id="847472800012384958">Забраняване на сайтовете да показват изскачащи прозорци</translation>
 <translation id="8477885780684655676">TLS 1.0</translation>
+<translation id="8483004350080020634">Премахва частите, деликатни по отношение на поверителността и сигурността, от URL адресите с https://, преди адресите да бъдат предадени към скриптовете за автоматично конфигуриране на прокси сървъра (PAC), използвани от <ph name="PRODUCT_NAME" /> при избирането на прокси сървър.
+
+      Когато правилото е True, функцията за сигурност е активирана и деликатната информация се премахва от URL адресите с https://, преди да бъдат изпратени към PAC скрипт. Така данните, които обикновено са защитени чрез шифрован канал (например пътят и заявката на URL адреса), няма да са видими за PAC скрипта.
+
+      Когато правилото е False, тази функция за сигурност е деактивирана и PAC скриптовете неявно получават възможност да преглеждат всички компоненти на URL адресите с https://. Настройката се отнася за PAC скриптове от всякакъв произход (включително тези, извлечени през незащитен транспортен канал или открити по ненадежден начин чрез WPAD). 
+
+      Стандартната настройка за това правило е True (функцията за сигурност е активирана).
+
+      Препоръчително е стойността за правилото да е True. Единствената причина да бъде False е, ако води до проблем със съвместимостта със съществуващите PAC скриптове.
+
+      Правилото ще бъде премахнато в M75.</translation>
 <translation id="8484458986062090479">Персонализиране на списъка с образци на URL адреси, които винаги да се изобразяват от браузъра на хоста.
 
 Ако това правило не е зададено, стандартната програма за визуализация ще се използва за всички сайтове, както е посочено от „ChromeFrameRendererSettings“.
diff --git a/components/policy/resources/policy_templates_bn.xtb b/components/policy/resources/policy_templates_bn.xtb
index 8fc3918..e3064355 100644
--- a/components/policy/resources/policy_templates_bn.xtb
+++ b/components/policy/resources/policy_templates_bn.xtb
@@ -104,7 +104,7 @@
 
      এই নীতিটি সেট না করা হলে, বা মিথ্যাতে সেট করা থাকলে, TLS এ RC4 সাইফার স্যুট সক্ষম করা হবে না। অন্যথায়, এটি একটি পুরোনো সার্ভারের সাথে সামঞ্জস্য বজায় রাখার জন্য সত্যতে সেট করা যেতে পারে। এটি একটি অস্থায়ী সমাধান এবং সার্ভারটি আবার কনফিগার করা উচিত।</translation>
 <translation id="1297182715641689552">একটি .pac প্রক্সি স্ক্রিপ্ট ব্যবহার করুন</translation>
-<translation id="1304973015437969093">এক্সটেনশান/অ্যাপ আইডিগুলি এবং আপডেট URLগুলি নীরবে ইনস্টল হবে</translation>
+<translation id="1304973015437969093">এক্সটেনশন/অ্যাপ আইডিগুলি এবং আপডেট ইউআরএলগুলি নীরবে ইনস্টল হবে</translation>
 <translation id="1307454923744766368">উৎস অথবা হোস্টনেম প্যাটার্ন যার জন্য অনিরাপদ উৎসের
       নিরাপত্তা সীমাবদ্ধতাগুলি প্রযোজ্য হবে না</translation>
 <translation id="1313457536529613143">স্ক্রিন অনুজ্বল হওয়ার পরে অথবা স্ক্রিন বন্ধ হয়ে যাওয়ার সাথেসাথেই যখন ব্যবহারকারীর অ্যাক্টিভিটি নিরীক্ষণ করা হয় তখন যার দ্বারা স্ক্রিনের অনুজ্বলতার বিলম্বকে পরিমাপ করা হয় তার শতাংশ নির্দিষ্ট করে৷
@@ -150,6 +150,7 @@
 
      মনে রাখবেন: Android-এ এই নীতিটি প্রযোজ্য নয়। Android-এ IsolateOrigins চালু করার জন্য IsolateOriginsAndroid নীতি সেটিংস ব্যবহার করুন।
       </translation>
+<translation id="1377024960658062022">নীতি-ইনস্টল করা এক্সটেনশনে হার্ডওয়্যার প্ল্যাটফর্ম এপিআই চালু করে</translation>
 <translation id="1384459581748403878">রেফারেন্স: <ph name="REFERENCE_URL" /></translation>
 <translation id="1387596372902085462">Symantec Corporation's Legacy PKI Infrastructure এর বিশ্বস্ত বিকল্পটি চালু করবেন কিনা</translation>
 <translation id="1393485621820363363">সক্ষম করা এন্টারপ্রাইজ ডিভাইস প্রিন্টার</translation>
@@ -159,16 +160,16 @@
 <translation id="1427655258943162134">প্রক্সি সার্ভারের ঠিকানা বা URL</translation>
 <translation id="1432194160771348078">
       অ্যাপের একটি তালিকা নির্দিষ্ট করা হয় যেগুলি ব্যবহারকারীর কোনও ভূমিকা ছাড়াই
-      লগ-ইনের স্ক্রিনে নীরবে ইনস্টল হয়, এবং সেগুলি আন-ইনস্টল করা যাবে না।
+      লগ-ইনের স্ক্রিনে নীরবে ইনস্টল হয়, এবং সেগুলি আনইনস্টল করা যাবে না।
       ব্যবহারকারীর কোনও ভূমিকা ছাড়াই অ্যাপগুলিতে প্রয়োজন হওয়া সমস্ত
       অনুমতি পরোক্ষভাবে দেওয়া হয় এবং এতে অ্যাপের ভবিষ্যতের ভার্সনে
-      প্রয়োজনীয় অতিরিক্ত অনুমতিও অন্তর্ভুক্ত থাকে।
+      প্রয়োজনীয় অতিরিক্ত অনুমতিও সামিল থাকে।
 
       মনে রাখবেন, নিরাপত্তা ও গোপনীয়তার জন্য এই নীতি ব্যবহার করে এক্সটেনশন ইনস্টল করতে দেওয়া হয় না। এছাড়া, শুধুমাত্র স্থির চ্যানেলে থাকা ডিভাইসগুলিতে সেই অ্যাপগুলি ইনস্টল করা যাবে সেগুলি <ph name="PRODUCT_NAME" /> এর সাথে বান্ডিল করা সাদাতালিকার অন্তর্ভুক্ত। যদি কোনও আইটেম এই শর্ত না মেনে চলে তাহলে সেগুলিকে অগ্রাহ্য করা হবে।
 
       যদি পূর্বে জোর করে ইনস্টল করা কোনও অ্যাপ এই তালিকা থেকে সরিয়ে দেওয়া হয় তাহলে <ph name="PRODUCT_NAME" /> সেটিকে অটোমেটিক আন-ইনস্টল করে দেবে।
 
-      এই নীতির প্রতিটি তালিকাভুক্ত আইটেম হল একটি স্ট্রিং যাতে সেমিকোলন (<ph name="SEMICOLON" />) দ্বারা পৃথক করা একটি এক্সটেনশন আইডি এবং একটি “আপডেট” ইউআরএল থাকে। এক্সটেনশন আইডি হল একটি ৩২ অক্ষরের স্ট্রিং যেটি সাধারণত <ph name="CHROME_EXTENSIONS_LINK" /> ডেভেলপার মোডে থাকার সময় দেখা যায়। <ph name="LINK_TO_EXTENSION_DOC1" /> এ দেওয়া বর্ণনা অনুযায়ী, “আপডেট” ইউআরএলটি একটি আপডেট ম্যানিফেস্ট XML ডকুমেন্টের দিকে নির্দেশ করবে। মনে রাখবেন যে এই নীতিতে সেট করা "আপডেট" ইউআরএলটি শুধুমাত্র প্রারম্ভিক ইনস্টলেশনের সময় ব্যবহার করা হয়; এক্সটেনশনের পরবর্তী আপডেটগুলিতে এক্সটেনশনের ম্যানিফেস্টে নির্দেশ করা আপডেট ইউআরএলটি ব্যবহার করা হয়।
+      এই নীতির প্রতিটি তালিকাভুক্ত আইটেম হল একটি স্ট্রিং যাতে সেমিকোলন (<ph name="SEMICOLON" />) দ্বারা পৃথক করা একটি এক্সটেনশন আইডি এবং একটি “আপডেট” ইউআরএল থাকে। এক্সটেনশন আইডি হল একটি ৩২ অক্ষরের স্ট্রিং যেটি সাধারণত <ph name="CHROME_EXTENSIONS_LINK" /> ডেভেলপার মোডে থাকার সময় দেখা যায়। <ph name="LINK_TO_EXTENSION_DOC1" />-এ দেওয়া বর্ণনা অনুযায়ী, “আপডেট” ইউআরএলটি একটি আপডেট ম্যানিফেস্ট XML ডকুমেন্টের দিকে নির্দেশ করবে। মনে রাখবেন যে এই নীতিতে সেট করা "আপডেট" ইউআরএলটি শুধুমাত্র প্রারম্ভিক ইনস্টলেশনের সময় ব্যবহার করা হয়; এক্সটেনশনের পরবর্তী আপডেটগুলিতে এক্সটেনশনের ম্যানিফেস্টে নির্দেশ করা আপডেট ইউআরএলটি ব্যবহার করা হয়।
 
       যেমন, <ph name="EXTENSION_POLICY_EXAMPLE" /> স্ট্যান্ডার্ড Chrome ওয়েব স্টোর "আপডেট" ইউআরএল থেকে <ph name="EXTENSION_POLICY_EXAMPLE_EXTENSION_NAME" /> অ্যাপটি ইনস্টল করে। হোস্টিং এক্সটেনশনের বিষয়ে আরও তথ্যের জন্য <ph name="LINK_TO_EXTENSION_DOC2" /> দেখুন।</translation>
 <translation id="1435659902881071157">ডিভাইস-লেভেল নেটওয়ার্ক কনফিগারেশন</translation>
@@ -241,12 +242,12 @@
 <translation id="152657506688053119">ডিফল্ট সার্চ প্রদানকারীর জন্য পরিবর্ত URLগুলির তালিকা</translation>
 <translation id="1530812829012954197">আয়োজক ব্রাউজারে সর্বদা নিম্নোক্ত URL রীতি উপস্থাপন করুন</translation>
 <translation id="1541170838458414064">প্রিন্টের পৃষ্ঠার সাইজ সীমাবদ্ধ করা</translation>
-<translation id="1553684822621013552">এই নীতিটি সত্যতে সেট করা হলে, ব্যবহারকারীর জন্য ARC সক্ষম করা হবে
-      (অতিরিক্ত নীতি সেটিংস চেক অনুযায়ী - বর্তমান ব্যবহারকারী অধিবেশনে
-      স্বল্পস্থায়ী মোড বা একাধিক প্রবেশ করুন সক্ষম করা থাকলে ARC এখনও
+<translation id="1553684822621013552">এই নীতিটি ট্রু-তে সেট করা হলে, ব্যবহারকারীর জন্য ARC চালু করা হবে
+      (অতিরিক্ত নীতি সেটিংস চেক অনুযায়ী - বর্তমান ব্যবহারকারী সেশনে
+      স্বল্পস্থায়ী মোড বা একাধিক সাইন-ইন চালু করা থাকলে ARC এখনও
       অনুপলব্ধ থাকবে)।
 
-      এই সেটিং অক্ষম থাকলে বা কনফিগার করা না থাকলে, এন্টারপ্রাইজ ব্যবহারকারীরা ARC ব্যবহার করতে পারবে না।</translation>
+      এই সেটিং বন্ধ করা থাকলে বা কনফিগার করা না থাকলে, এন্টারপ্রাইজ ব্যবহারকারীরা ARC ব্যবহার করতে পারবে না।</translation>
 <translation id="1561424797596341174">দূরবর্তী অ্যাক্সেস হোস্টের ত্রুটিমুক্তকরণ বিল্ডের জন্য নীতি ওভাররাইড</translation>
 <translation id="1561967320164410511">স্বতন্ত্রভাবে নিশ্চিত করার জন্য U2F এবং এক্সটেনশন</translation>
 <translation id="1574554504290354326">এই সেটিংসটি শীঘ্রই বন্ধ হয়ে যাবে, এর পরিবর্তে SafeBrowsingExtendedReportingEnabled ব্যবহার করুন। SafeBrowsingExtendedReportingOptInAllowed 'ফল্সে' সেট করা থাকলে, SafeBrowsingExtendedReportingEnabled চালু বা বন্ধ করলে কোনও কাজ হয় না।
@@ -316,8 +317,8 @@
       এই নীতিটি কনফিগার করা না থাকলে বা এটি "tls1.2" এ সেট করা থাকলে, <ph name="PRODUCT_NAME" /> আর ফলব্যাক ব্যবহার করে না। লক্ষ্য করুন যে, এটি TLS সংস্করণগুলির জন্য সমর্থন অক্ষম করে না, কেবলমাত্র সঠিকভাবে সংস্করণ নেগোশিয়েট করতে না পারা ত্রুটিপূর্ণ সার্ভারগুলি এড়িয়ে চলতে <ph name="PRODUCT_NAME" /> কাজ করে যাবে। 
 
       অন্যথায়, যদি একটি ক্রুটিযুক্ত সার্ভারের সাথে সঙ্গতি বজায় রাখা আবশ্যক হয়, তাহলে একে "tls1.1" এ সেট করা যেতে পারে। এটি একটি অস্থায়ী সমাধান এবং সার্ভারটি দ্রুত সংশোধন করা উচিত।</translation>
-<translation id="1864269674877167562">এই নীতিটি যদি একটি ফাঁকা স্ট্রিং হিসাবে সেট করা থাকে বা কনফিগার করা না থাকে, তাহলে <ph name="PRODUCT_OS_NAME" /> ব্যবহারকারীকে সাইন ইন প্রবাহের সময়  কোনো স্বয়ংপূর্ণ বিকল্প দেখাবে না।
-      এই নীতিটি যদি একটি ডোমেন নাম প্রতিনিধিত্ব করে এমন একটি স্ট্রিং হিসাবে সেট করা থাকে, তাহলে <ph name="PRODUCT_OS_NAME" /> ব্যবহারকারীকে সাইন ইনের সময়ে স্বয়ংপূর্ণ বিকল্প দেখাবে যেখানে ব্যবহারকারী ডোমেন নাম এক্সটেনশান ছাড়া শুধুমাত্র তার ইউজারনেম লেখার অনুমতি পাবেন। ব্যবহারকারী এই ডোমেন নাম এক্সটেনশান ওভাররাইট করতে পারবেন।</translation>
+<translation id="1864269674877167562">এই নীতিটি যদি একটি খালি স্ট্রিং হিসেবে সেট করা থাকে বা কনফিগার করা না থাকে, তাহলে <ph name="PRODUCT_OS_NAME" /> ব্যবহারকারীকে সাইন-ইন ফ্লো-এর সময় কোনও স্বয়ংসম্পূর্ণ বিকল্প দেখাবে না।
+      এই নীতিটি যদি একটি ডোমেন নাম প্রতিনিধিত্ব করে এমন একটি স্ট্রিং হিসেবে সেট করা থাকে, তাহলে <ph name="PRODUCT_OS_NAME" /> ব্যবহারকারীকে সাইন-ইনের সময়ে স্বয়ংসম্পূর্ণ বিকল্প দেখাবে যেখানে ব্যবহারকারী ডোমেন নাম এক্সটেনশন ছাড়া শুধুমাত্র তার ইউজারনেম লেখার অনুমতি পাবেন। ব্যবহারকারী এই ডোমেন নাম এক্সটেনশন ওভাররাইট করতে পারবেন।</translation>
 <translation id="1864382791685519617"><ph name="PRODUCT_NAME" />-এ নেটওয়ার্ক পূর্বানুমান চালু করে এবং ব্যবহারকারীদের এই সেটিং পরিবর্তন করতে বাধা দেয়।
 
       এটি ডিএনএস প্রি-ফেচিং, ওয়েব পেজের TCP এবং SSL প্রি-কানেকশন এবং প্রি-রেন্ডারিং নিয়ন্ত্রণ করে।
@@ -383,7 +384,7 @@
       আপনি যদি এই সেটিংটি বন্ধ করেন তাহলে 'আপনা-আপনি পূরণ হওয়া' ফিচারটি ঠিকানার তথ্য পূরণের প্রস্তাব দেবে না, নিজে থেকে তা পূরণ করবে না এবং ওয়েবে ব্রাউজ করার সময় ব্যবহারকারী ঠিকানার কোনও অতিরিক্ত তথ্য জমা দিলে তা সেভ করবে না।
 
       আপনি যদি এই সেটিংটি চালু করেন বা কোনও মান সেট না করেন তাহলে ব্যবহারকারী UI-তে ঠিকানার ক্ষেত্রে 'আপনা-আপনি পূরণ হওয়া' ফিচারটি নিয়ন্ত্রণ করতে পারবেন।</translation>
-<translation id="1960840544413786116">subjectAlternativeName এক্সটেনশান অনুপস্থিত রয়েছে এমন স্থানীয় বিশ্বস্ততা অ্যাঙ্করের দ্বারা জারিকৃত শংসাপত্রগুলিকে অনুমতি দেওয়া হবে কিনা</translation>
+<translation id="1960840544413786116">subjectAlternativeName এক্সটেনশন অনুপস্থিত রয়েছে এমন স্থানীয় বিশ্বস্ততা অ্যাঙ্করের দ্বারা জারিকৃত সার্টিফিকেটগুলিকে অনুমতি দেওয়া হবে কিনা</translation>
 <translation id="1962273523772270623">Google পরিষেবা থেকে WebRTC ইভেন্টের লগ সংগ্রহের অনুমতি দিন</translation>
 <translation id="1964634611280150550">ছদ্মবেশি মোড অক্ষমিত রয়েছে</translation>
 <translation id="1964802606569741174">Android YouTube অ্যাপ্লিকেশানের উপর এই নীতির কোনো প্রভাব নেই। যদি YouTube এ নিরাপদ মোড বলবৎ করতে হয়, তাহলে Android YouTube অ্যাপ্লিকেশানের ইনস্টলেশন অননুমোদিত করতে হবে।</translation>
@@ -472,9 +473,9 @@
       এই সেটিং চালু করলে, সমস্ত নীতির সেটিংস এবং বর্তমান ব্যবহারকারীর জন্য সীমাবদ্ধতাকে উপেক্ষা করে ক্যাপটিভ পোর্টাল যাচাইকরণের পৃষ্ঠা (অর্থাৎ, ক্যাপটিভ পোর্টাল সাইন-ইন পৃষ্ঠা থেকে শুরু করে <ph name="PRODUCT_NAME" /> সাফল্যের সাথে ইন্টারনেট কানেকশন শনাক্ত না করা পর্যন্ত সমস্ত ওয়েব পৃষ্ঠাগুলি) একটি পৃথক উইন্ডোতে প্রদর্শিত হবে।
       
 এই সেটিং আপনি বন্ধ করে দিলে বা সেট না করলে, বর্তমান ব্যবহারকারীর প্রক্সি সেটিংস ব্যবহার করে সমস্ত ক্যাপটিভ পোর্টাল যাচাইকরণের পৃষ্ঠা (সাধারণ) নতুন ব্রাউজার ট্যাবে প্রদর্শিত হবে।</translation>
-<translation id="21394354835637379">কোন কোন ইউআরএলকে এক্সটেনশন, অ্যাপ আর থিম ইনস্টল করার অনুমতি দেওয়া হবে নির্দেশ করতে আপনাকে সাহায্য করে।
+<translation id="21394354835637379">কোন কোন ইউআরএল-কে এক্সটেনশন, অ্যাপ আর থিম ইনস্টল করার অনুমতি দেওয়া হবে নির্দেশ করতে আপনাকে সাহায্য করে।
 
-          <ph name="PRODUCT_NAME" /> 21 থেকে শুরু করে, Chrome ওয়েব স্টোরের বাইরে এক্সটেনশন, অ্যাপ আর ইউজার স্ক্রিপ্ট ইনস্টল করা আরও কঠিন। আগে ব্যবহারকারীরা একটি *.crx ফাইলের লিঙ্কে ক্লিক করলে কিছু সতর্কতামূলক মেসেজ দিয়ে <ph name="PRODUCT_NAME" /> সেটি ইনস্টল করার প্রস্তাব দিত। <ph name="PRODUCT_NAME" /> 21-এর পর, সেই ধরণের ফাইলগুলিকে ডাউনলোড করে <ph name="PRODUCT_NAME" />-এর সেটিংস পৃষ্ঠায় টেনে আনতে হবে। এই সেটিংয়ের মাধ্যমে কিছু নির্দিষ্ট URL এ পুরনো, সহজতর ইনস্টলেশন পদ্ধতি ব্যবহার করা যায়।
+          <ph name="PRODUCT_NAME" /> 21 থেকে শুরু করে, Chrome ওয়েব স্টোরের এর বাইরে থেকে এক্সটেনশন, অ্যাপ আর ইউজার স্ক্রিপ্ট ইনস্টল করা আরও কঠিন। আগে ব্যবহারকারীরা একটি *.crx ফাইলের লিঙ্কে ক্লিক করলে কিছু সতর্কতামূলক মেসেজ দিয়ে <ph name="PRODUCT_NAME" /> সেটি ইনস্টল করার প্রস্তাব দিত। <ph name="PRODUCT_NAME" /> 21-এর পর, সেই ধরণের ফাইলগুলিকে ডাউনলোড করে <ph name="PRODUCT_NAME" /> এর সেটিংস পৃষ্ঠায় টেনে আনতে হবে। এই সেটিংয়ের মাধ্যমে কিছু নির্দিষ্ট ইউআরএল-এ পুরনো, সহজতর ইনস্টলেশন পদ্ধতি ব্যবহার করা যায়।
 
           এই তালিকার প্রতিটি আইটেম হল একটি এক্সটেনশন-শৈলী মিল ধরণ (https://developer.chrome.com/extensions/match_patterns দেখুন)। ব্যবহারকারীরা সেগুলিকে এমন যেকোনও ইউআরএল থেকে সহজেই ইনস্টল করতে পারবে যা এই তালিকাতে থাকা কোনও আইটেমের সাথে মেলে। *.crx ফাইল ও যেখান থেকে ডাউনলোড শুরু হয় সেই পৃষ্ঠা (অর্থাত উল্লেখকারী) উভয়কেই এই ধরণগুলির দ্বারা অবশ্যই মঞ্জুরিপ্রাপ্ত হতে হবে।
 
@@ -528,6 +529,9 @@
 <translation id="2201555246697292490">নেটিভ বার্তাপ্রেরণের পরিচ্ছন্ন তলিকা কনফিগার করুন</translation>
 <translation id="2204753382813641270">তাক স্বয়ংক্রিয়ভাবে লুকানোকে নিয়ন্ত্রণ করুন</translation>
 <translation id="2208976000652006649">POST ব্যবহার করে এমন সার্চ URL এর প্যারামিটারগুলি</translation>
+<translation id="2214880135980649323">এই নীতিটি চালু হিসেবে সেট করা থাকলে, এন্টারপ্রাইজ নীতি দ্বারা ইনস্টল করা এক্সটেনশন, এন্টারপ্রাইজ হার্ডওয়্যার প্ল্যাটফর্ম এপিআই ব্যবহার করার অনুমতি পায়।
+      এই নীতিটি বন্ধ হিসেবে সেট করা থাকলে বা সেট না করা থাকলে, কোনও এক্সটেনশনই এন্টারপ্রাইজ হার্ডওয়্যার প্ল্যাটফর্ম এপিআই ব্যবহার করার অনুমতি পায় না।
+       Hangout পরিষেবা এক্সটেনশনের মত কম্পোনেন্ট এক্সটেনশনের ক্ষেত্রেও এই নীতি প্রযোজ্য হয়।</translation>
 <translation id="2223598546285729819">ডিফল্ট বিজ্ঞপ্তিকরণ সেটিং</translation>
 <translation id="2231817271680715693">প্রথমবার চালনার সাথে সাথে ডিফল্ট ব্রাউজার থেকে ব্রাউজিংয়ের ইতিহাস আমদানি করুন</translation>
 <translation id="2236488539271255289">কোনও সাইটকে স্থানীয় ডেটা সেট করার অনুমতি দেবেন না</translation>
@@ -839,11 +843,11 @@
      যদি এই নীতিটি সেট করা না থাকে তাহলে <ph name="PRINTERS_ALLOW_ALL" /> নীতি মেনে চলা হয়।
       </translation>
 <translation id="2908277604670530363">প্রক্সি সার্ভারের জন্য সংঘটনশীল সংযোগের সর্বধিক সংখ্যা</translation>
-<translation id="2956777931324644324">এই নীতিটি <ph name="PRODUCT_NAME" /> সংস্করণ ৩৬ এর হিসাবে অপসারণ করা হয়েছে।
+<translation id="2956777931324644324">এই নীতিটি <ph name="PRODUCT_NAME" /> ভার্সন 36 এর হিসেবে সরানো হয়েছে।
 
-      TLS ডোমেন-বাউন্ড সার্টিফিকেট এক্সটেনশান সক্ষম করা হবে কিনা তা নির্দিষ্ট করে।
+      TLS ডোমেন-বাউন্ড সার্টিফিকেট এক্সটেনশন চালু করা হবে কিনা তা নির্দিষ্ট করে।
 
-      এই সেটিংস পরীক্ষা করার জন্য TLS ডোমেন-বাউন্ড সার্টিফিকেট এক্সটেনশান সক্ষম করতে ব্যবহার হয়। এই পরীক্ষামূলক সেটিং ভবিষ্যতে সরানো হবে।</translation>
+      এই সেটিংস পরীক্ষা করার জন্য TLS ডোমেন-বাউন্ড সার্টিফিকেট এক্সটেনশন চালু করতে ব্যবহার হয়। এই পরীক্ষামূলক সেটিং ভবিষ্যতে সরানো হবে।</translation>
 <translation id="2957506574938329824">ওয়েব ব্লুটুথ API এর মাধ্যমে কোনো সাইটকে ব্লুটুথ ডিভাইসগুলি অ্যাক্সেসের জন্য অনুরোধ করার অনুমতি দেয় না</translation>
 <translation id="2957513448235202597"><ph name="HTTP_NEGOTIATE" /> প্রমাণীকরণের জন্য অ্যাকাউন্টের ধরন</translation>
 <translation id="2959469725686993410">সময় অঞ্চল নির্ধারণ করার সময়ে সবসময় সার্ভারে ওয়াই ফাই অ্যাক্সেস-পয়েন্ট পাঠান</translation>
@@ -913,7 +917,7 @@
 
       সার্ভারগুলিকে ECDHE সাইফার স্যুটে স্থানান্তরনের জন্য উৎসাহিত করা হচ্ছে। এগুলি অনুপলব্ধ হলে, RSA কী এক্সচেঞ্জ ব্যবহার করে একটি সাইফার স্যুট যে সক্ষমিত আছে তা নিশ্চিত করুন।</translation>
 <translation id="3152425128389603870">সমন্বিত ডেস্কটপ উপলব্ধ করুন এবং সেটি ডিফল্টভাবে চালু করুন</translation>
-<translation id="316778957754360075"><ph name="PRODUCT_NAME" /> ২৯ সংস্করণে এই সেটিংকে সরানো হয়েছে৷ সংগঠন-হোস্ট করা এক্সটেনশান/অ্যাপ্লিকেশান সংগ্রহগুলির সেট করার প্রস্তাবিত উপায়টি হল ExtensionInstallSources এ যে সাইটটি CRX প্যাকেজগুলি হোস্ট করছে সেটি অন্তর্ভুক্ত করা এবং একটি ওয়েব পৃষ্ঠায় প্যাকেজগুলিতে সরাসরি ডাউনলোড লিঙ্কগুলি রাখা৷ ExtensionInstallForcelist নীতিটি ব্যবহার করে এই ওয়েব পৃষ্ঠাটির জন্য একটি লঞ্চার তৈরি করা যেতে পারে৷</translation>
+<translation id="316778957754360075"><ph name="PRODUCT_NAME" /> 29 ভার্সনে এই সেটিংকে সরানো হয়েছে৷ সংগঠন-হোস্ট করা এক্সটেনশন/অ্যাপ সংগ্রহগুলির সেট করার প্রস্তাবিত উপায়টি হল ExtensionInstallSources-এ যে সাইটটি CRX প্যাকেজগুলি হোস্ট করছে সেটি অন্তর্ভুক্ত করা এবং একটি ওয়েব পৃষ্ঠায় প্যাকেজগুলিতে সরাসরি ডাউনলোড করার লিঙ্কগুলি রাখা৷ ExtensionInstallForcelist নীতিটি ব্যবহার করে এই ওয়েব পৃষ্ঠাটির জন্য একটি লঞ্চার তৈরি করা যেতে পারে৷</translation>
 <translation id="3171369832001535378">ডিভাইস নেটওয়ার্ক হোস্টনেম টেমপ্লেট</translation>
 <translation id="3172512016079904926">নেটিভ মেসেজিং হোস্টগুলির ব্যবহারকারী-লেভেলের ইনস্টলেশন সক্ষম করে।
 
@@ -953,7 +957,7 @@
 <translation id="3214164532079860003">এই নীতিটি হোম পৃষ্ঠাটিকে বর্তমান ডিফল্ট ব্রাউজারটি সক্ষম থাকলে সেটি থেকে আমদানি করতে জোর দেয় যদি অক্ষম থাকে তবে হোম পৃষ্ঠাটি আমদানি হয় না৷ যদি এটি সেট না থাকে তবে ব্যবহারকারীকে আমদানি করতে হবে কিনা তা জিজ্ঞাসা করা হতে পারে বা স্বয়ংক্রিয়ভাবে আমদানি করা হতে পারে৷</translation>
 <translation id="3219421230122020860">ছদ্মবেশী মোড উপলব্ধ</translation>
 <translation id="3220624000494482595">কিয়স্ক অ্যাপ্লিকেশানটি যদি কোনো Android অ্যাপ্লিকেশান হয়, তাহলে <ph name="PRODUCT_OS_NAME" /> সংস্করণের উপর এর কোনো নিয়ন্ত্রণ থাকবে না, এমনকি যদি নীতিটি <ph name="TRUE" /> এও সেট করা হয়।</translation>
-<translation id="3236046242843493070">URL প্যাটার্নকে এক্সটেনশান, অ্যাপ্লিকেশান এবং ব্যবহারকারী স্ক্রিপ্টকে এর থেকে ইনস্টল করতে অনুমতি দিন</translation>
+<translation id="3236046242843493070">ইউআরএল প্যাটার্নকে এক্সটেনশন, অ্যাপ এবং ব্যবহারকারীর স্ক্রিপ্টকে এর থেকে ইনস্টল করতে অনুমতি দিন</translation>
 <translation id="3240609035816615922">প্রিন্টার কনফিগারেশন অ্যাক্সেসের নীতি।</translation>
 <translation id="3243309373265599239">ব্যবহারকারীর ইনপুট ছাড়াই সময়কাল নির্দিষ্ট করে, তারপর ব্যাটারি শক্তি চলতে থাকলেও স্ক্রিনটির উজ্জ্বলতা হ্রাস হয়ে যায়৷
 
@@ -975,13 +979,13 @@
       যদি এই সেটিংটি অক্ষমিত থাকে তবে ব্যবহারকারীরা প্রক্সিটি সক্ষম করতে পারে না এবং যন্ত্রটি তার প্রিন্টার <ph name="CLOUD_PRINT_NAME" /> এর সাথে শেয়ার করার জন্য অনুমতি দেবে না৷</translation>
 <translation id="3307746730474515290">কোন প্রকারের অ্যাপ/এক্সটেনশন ইনস্টল করার জন্য অনুমতি দেওয়া হয়েছে তা নিয়ন্ত্রণ করে এবং রানটাইম অ্যাক্সেস সীমিত করে।
 
-          অনুমোদিত ধরণের এক্সটেনশন/অ্যাপ যেগুলি <ph name="PRODUCT_NAME" /> এ ইনস্টল করা যেতে পারে এবং সেগুলি কোন কোন হোস্টের সাথে ইন্টারেক্ট করতে পারে তা এই সেটিংস এর মাধ্যমে সাদা-তালিকাভুক্ত করা হয়। মানটি হল স্ট্রিং এর একটি তালিকা, যাদের প্রতিটি হবে নিম্নলিখিতের মধ্যে যে কোনো একটি: "এক্সটেনশন", "থিম", "ইউজার_স্ক্রিপ্ট", "হোস্টকরা_অ্যাপ", "লেগ্যাসি_প্যাকেজড_অ্যাপ", "প্লাটফর্ম_অ্যাপ"। এই প্রকারগুলির বিষয়ে আরও তথ্যের জন্য <ph name="PRODUCT_NAME" /> এর এক্সটেনশন ডকুমেন্টেশন দেখুন।
+          অনুমোদিত ধরণের এক্সটেনশন/অ্যাপ যেগুলি <ph name="PRODUCT_NAME" />-এ ইনস্টল করা যেতে পারে এবং সেগুলি কোন কোন হোস্টের সাথে ইন্টারেক্ট করতে পারে তা এই সেটিংসের মাধ্যমে সাদাতালিকাভুক্ত করা হয়। মানটি হল স্ট্রিং-এর একটি তালিকা, যাদের প্রতিটি হবে নিম্নলিখিতের মধ্যে যে কোনও একটি: "এক্সটেনশন", "থিম", "ইউজার_স্ক্রিপ্ট", "হোস্টকরা_অ্যাপ", "লেগাসি_প্যাকেজড_অ্যাপ", "প্লাটফর্ম_অ্যাপ"। এই প্রকারগুলির বিষয়ে আরো তথ্যের জন্য <ph name="PRODUCT_NAME" />-এর এক্সটেনশন ডকুমেন্টেশন দেখুন।
 
-          নোট করবেন, ExtensionInstallForcelist এর মাধ্যমে যে এক্সটেনশন এবং অ্যাপ জোর করে ইনস্টল করা হবে সেগুলিও এই নীতির আওতাভুক্ত।
+          নোট করবেন, ExtensionInstallForcelist-এর মাধ্যমে যে এক্সটেনশন এবং অ্যাপ জোর করে ইনস্টল করা হবে সেগুলিও এই নীতির আওতাভুক্ত।
 
           যদি এই সেটিংস কনফিগার করা হয়, তাহলে তালিকাতে নেই এমন প্রকারের এক্সটেনশন/অ্যাপ ইনস্টল করা হবে না।
 
-          যদি এই সেটিংস কনফিগার না করা হয়, তাহলে গ্রহণযোগ্য এক্সটেনশন/অ্যাপের প্রকারের উপর কোনো বিধিনিষেধ থাকবে না।</translation>
+          যদি এই সেটিংস কনফিগার না করা হয়, তাহলে গ্রহণযোগ্য এক্সটেনশন/অ্যাপের প্রকারের উপর কোনও বিধিনিষেধ থাকবে না।</translation>
 <translation id="3322771899429619102">আপনাকে url প্যাটার্নের একটি তালিকা সেট করার মঞ্জুরি দেয় যা এমন সাইটগুলিকে নির্দিষ্ট করে যেগুলি কী তৈরি করা ব্যবহার করার জন্য মঞ্জুরিপ্রাপ্ত। যদি কোনো url প্যাটার্ন 'KeygenBlockedForUrls' এ থাকে, তাহলে সেটি এসব ব্যতিক্রমকে ওভারারইড করে।
 
           যদি এই নীতিটি সেট না করে ছেড়ে যাওয়া হয়, তাহলে গ্লোবাল ডিফল্ট মান সব সাইটগুলির জন্য ব্যবহার করা হবে আর যদি 'DefaultKeygenSetting' নীতি সেট করা হয় তাহলে তার থেকে ব্যবহার করা হবে, নয়তো ব্যবহারকারীদের ব্যক্তিগত কনফিগারেশান থেকে।</translation>
@@ -1109,7 +1113,7 @@
 <translation id="3653237928288822292">ডিফল্ট সার্চ সরবরাহকারী আইকন</translation>
 <translation id="3660562134618097814">লগইন করার সময় SAML IdP কুকি স্থানান্তর করে</translation>
 <translation id="3702647575225525306"><ph name="POLICY_NAME" /> (একক-লাইনের ক্ষেত্রটি বন্ধ করা হয়েছে এবং ভবিষ্যতে এটি সরানো হবে। অনুগ্রহ করে নিচের একাধিক লাইনের টেক্সট বক্সটি ব্যবহার করা শুরু করুন।)</translation>
-<translation id="3709266154059827597">এক্সটেনশান ইনস্টলেশান কালোতালিকা কনফিগার করুন</translation>
+<translation id="3709266154059827597">এক্সটেনশন ইনস্টলেশন কালোতালিকা কনফিগার করুন</translation>
 <translation id="3711895659073496551">সাসপেন্ড</translation>
 <translation id="3715569262675717862">ক্লায়েন্ট সার্টিফিকেটের উপর ভিত্তি করে প্রমাণীকরণ</translation>
 <translation id="3734995764843493369">প্রতিদিন (২৪ ঘণ্টা) পাসওয়ার্ড দেওয়া প্রয়োজন</translation>
@@ -1159,7 +1163,7 @@
 <translation id="3793095274466276777"><ph name="PRODUCT_NAME" />-এ ডিফল্ট ব্রাউজার চেকস কনফিগার করে এবং ব্যবহারকারীদের তা পরিবর্তন করতে বাধা দেয়৷      আপনি এই সেটিংটি সক্ষম করলে, <ph name="PRODUCT_NAME" /> সূচনার সময় এটি ডিফল্ট ব্রাউজার কিনা তা সর্বদা পরীক্ষা করবে এবং সম্ভব হলে এটিকে স্বয়ংক্রিয়ভাবে নিবন্ধভুক্ত করবে৷
 
       এই সেটিংটি যদি অক্ষম থেকে থাকে তবে এটি ডিফল্ট ব্রাউজার কিনা তা <ph name="PRODUCT_NAME" /> কখনও পরীক্ষা করবে না এবং এই বিকল্পটি সেটিংয়ের জন্য ব্যবহারকারীর নিয়ন্ত্রণগুলি অক্ষম করবে৷      যদি এই সেটিংটি সেট করা না থেকে থাকে তবে <ph name="PRODUCT_NAME" /> ব্যবহারকারীকে এটি ডিফল্ট ব্রাউজার কিনা এবং এটি না হলে ব্যবহারকারীর বিজ্ঞপ্তিগুলি প্রদর্শন করা উচিত কিনা তা ব্যবহারকারীকে নিয়ন্ত্রণের অনুমতি দেবে৷</translation>
-<translation id="379602782757302612">কোন এক্সটেনশনগুলি ব্যবহারকারীরা ইনস্টল করতে পারে না তা আপনাকে নির্দিষ্ট করার অনুমতি দেয়। ব্যবহারকারীরা চালু করার আগেই কোনও এক্সটেনশন কালোতালিকাভুক্ত থাকলে আগে থেকেই ইনস্টল থাকা এক্সটেনশনগুলি সরানো হবে, এবং ব্যবহারকারীরা সেগুলি কোনওভাবে চালু করতে পারবেন না। কালোতালিকা থেকে সরিয়ে নেওয়ার ফলে এক্সটেনশন বন্ধ হয়ে গেলে সেটি নিজে থেকেই আবার চালু হয়ে যাবে।
+<translation id="379602782757302612">কোন এক্সটেনশনগুলি ব্যবহারকারীরা ইনস্টল করতে পারে না তা আপনাকে নির্দিষ্ট করার অনুমতি দেয়। ব্যবহারকারীরা চালু করার আগেই কোনও এক্সটেনশন কালোতালিকাভুক্ত থাকলে আগে থেকেই ইনস্টল থাকা এক্সটেনশনগুলি সরানো হবে এবং ব্যবহারকারীরা সেগুলি কোনওভাবে চালু করতে পারবেন না। কালোতালিকা থেকে সরিয়ে নেওয়ার ফলে এক্সটেনশন বন্ধ হয়ে গেলে সেটি নিজে থেকেই আবার চালু হয়ে যাবে।
 
           কালোতালিকায় '*' মান থাকার অর্থ সাদাতালিকায় নির্দিষ্টভাবে অন্তর্ভুক্ত না থাকা সমস্ত এক্সটেনশন কালোতালিকাভুক্ত থাকে।
 
@@ -1171,7 +1175,7 @@
       ব্যবহার করা যেতে পারে এমন বিভিন্ন ধরণের তালিকার জন্য http://www.chromium.org/administrators/policy-list-3/user-data-directory-variables দেখুন৷
 
       এই নীতিটি সেট না করে ছেড়ে রাখলে ডিফল্ট ডাউনলোড ডিরেক্টরিটি ব্যবহার করা হবে এবং ব্যবহারকারী এটিকে পরিবর্তন করতে পারবে৷</translation>
-<translation id="3805659594028420438">TLS ডোমেন-বাউন্ড সার্টিফিকেট এক্সটেনশান সক্রিয় করুন (অবচিত)</translation>
+<translation id="3805659594028420438">TLS ডোমেন-বাউন্ড সার্টিফিকেট এক্সটেনশন সক্রিয় করুন (শীঘ্রই বন্ধ হবে)</translation>
 <translation id="3808945828600697669">অক্ষমিত প্ল্যাগইনের একটি তালিকা নির্দিষ্ট করুন</translation>
 <translation id="3811562426301733860">সমস্ত সাইটে বিজ্ঞাপন দেখানোর অনুমতি দিন</translation>
 <translation id="3816312845600780067">স্বয়ংক্রিয় লগইনের জন্য বেলআউট কীবোর্ড শর্টকাট সক্রিয় করুন</translation>
@@ -1222,11 +1226,11 @@
 
           কেবলমাত্র 'ডিফল্ট সার্চ প্রদানকারী সক্ষমিত' নীতিটি সক্ষম করা থাকলে এই নীতিটি বিবেচনা করা হয়।</translation>
 <translation id="3866249974567520381">বর্ণনা</translation>
-<translation id="3868347814555911633">এই নীতিটি কেবল খুচরো মোডে সক্রিয়৷
+<translation id="3868347814555911633">এই নীতিটি কেবল রিটেল মোডে সক্রিয়৷
 
-      এক্সটেনশানের তালিকাগুলি যেগুলি খুচরো মোডে বিভিন্ন ডিভাইসের নমুনা ব্যবহারকারীর জন্য স্বয়ংক্রিয়ভাবে ইনস্টল হয়েছে৷ এই এক্সটেনশানগুলি ডিভাইসে সংরক্ষিত হয় ও ইনস্টলেশনের পরে অফলাইন মোডে ইনস্টল করা যেতে পারে৷
+      এক্সটেনশনের তালিকাগুলি যেগুলি খুচরো মোডে বিভিন্ন ডিভাইসের নমুনা ব্যবহারকারীর জন্য অটোমেটিক ইনস্টল হয়েছে৷ এই এক্সটেনশনগুলি ডিভাইসে সেভ হয় ও ইনস্টলেশনের পরে অফলাইন মোডে ইনস্টল করা যেতে পারে৷
 
-      প্রতিটি তালিকা প্রবেশকার্যে একটি অভিধান থাকে যার 'extension-id' ক্ষেত্রের মধ্যে এক্সটেনশান ID, এবং 'update-url' ক্ষেত্রের মধ্যে নিজের আপডেট URL অন্তর্ভুক্ত করা আবশ্যক৷</translation>
+      প্রতিটি তালিকা প্রবেশকার্যে একটি অভিধান থাকে যার 'extension-id' ক্ষেত্রের মধ্যে এক্সটেনশন আডি এবং 'update-url' ক্ষেত্রের মধ্যে নিজের আপডেট ইউআরএল অন্তর্ভুক্ত করা আবশ্যক৷</translation>
 <translation id="3874773863217952418">সার্চ করতে ট্যাপ চালু করুন</translation>
 <translation id="3877517141460819966">সমন্বিত দ্বিতীয় পদক্ষেপ প্রমাণীকরণ মোড</translation>
 <translation id="3879208481373875102">জোর করে ইনস্টল করা ওয়েব অ্যাপের তালিকা কনফিগার করুন</translation>
@@ -1271,9 +1275,9 @@
 
           <ph name="MS_AD_NAME" /> ডোমেনে যুক্ত নয় এমন Windows দৃষ্টান্তগুলিতে এই নীতিটি উপলভ্য নয়।</translation>
 <translation id="3958586912393694012">Smart Lock ব্যবহার করার অনুমতি দিন</translation>
-<translation id="3963602271515417124">যদি সত্য হয়, তাহলে ডিভাইসটির জন্য দূরবর্তী প্রত্যয়ন অনুমোদিত হবে এবং একটি শংসাপত্র স্বয়ংক্রিয়ভাবে তৈরি হয়ে ডিভাইস পরিচালনার সার্ভারে আপলোড হবে৷
+<translation id="3963602271515417124">যদি ট্রু হয়, তাহলে ডিভাইসটির জন্য রিমোট প্রত্যয়ন অনুমোদিত হবে এবং একটি ক্রেডেনশিয়াল অটোমেটিক তৈরি হয়ে ডিভাইস পরিচালনার সার্ভারে আপলোড হবে৷
 
-যদি এটি মিথ্যাতে সেট করা থাকে, বা সেট না করা থাকে, তাহলে কোনো শংসাপত্র তৈরি হবে না এবং enterprise.platformKeys extension API এ করা কলগুলি ব্যর্থ হবে৷</translation>
+যদি এটি ফলস হিসেবে সেট করা থাকে, বা সেট না করা থাকে, তাহলে কোনও সার্টিফিকেট তৈরি হবে না এবং enterprise.platformKeys extension এপিআই-তে কলগুলি করা যাবে না৷</translation>
 <translation id="3965339130942650562">নিষ্ক্রিয় ব্যবহারকারী লগ-আউট কার্যকর হওয়া পর্যন্ত সময় শেষ</translation>
 <translation id="3973371701361892765">তাকটি কখনই স্বয়ংক্রিয়ভাবে লুকায়িত রাখবেন না</translation>
 <translation id="3984028218719007910">লগআউটের পরে <ph name="PRODUCT_OS_NAME" /> স্থানীয় ডেটা রাখবে কি না তা নির্ধারণ করে৷ সত্যতে সেট থাকলে, <ph name="PRODUCT_OS_NAME" /> কোনো স্থির অ্যাকাউন্টকে রাখবে না ও লগ আউটের পরে ব্যবহারকারী সেশন থেকে সমস্ত ডেটা পরিত্যাগ করা হবে৷ এই নীতি মিথ্যাতে সেট থাকলে বা কনফিগার করা না থাকলে, ডিভাইস (এনক্রিপ্ট হওয়া) স্থানীয় ব্যবহারকারী ডেটা রাখতে পারে৷</translation>
@@ -1424,16 +1428,16 @@
 
           যদি 'DefaultSearchProviderEnabled' নীতিটি সক্ষম করা থাকে তাহলেই কেবল এই নীতিটি মেনে চলা হয়৷</translation>
 <translation id="4285674129118156176">অনুমোদিত ব্যবহারকারীদের ARC ব্যবহার করতে দিন</translation>
-<translation id="4298509794364745131"><ph name="PRODUCT_OS_NAME" /> এর লক স্ক্রিনে নোট লেখার অ্যাপ হিসাবে সক্ষম করা যেতে পারে এমন অ্যাপের  তালিকা নির্দিষ্ট করে।
+<translation id="4298509794364745131"><ph name="PRODUCT_OS_NAME" />-এর লক স্ক্রিনে নোট লেখার অ্যাপ হিসেবে চালু করা যেতে পারে এমন অ্যাপের  তালিকা নির্দিষ্ট করে।
 
-      পছন্দসই নোট লেখার অ্যাপটি যদি লক স্ক্রিনে সক্রিয় করা থাকে তাহলে লক স্ক্রিনে সেটি চালু করার জন্য UI উপাদান থাকবে।
-      চালু করা হলে অ্যাপটি লক স্ক্রিনের উপরের দিকে একটি অ্যাপ উইন্ডো তৈরি করবে এবং লক স্ক্রিনের প্রেক্ষাপটে ডেটা আইটেম (নোট) তৈরি করবে। যখন প্রাথমিক ব্যবহারকারী সেশন আনলক করা হবে তখন অ্যাপটি সেশনে সেই নোটগুলি আমদানি করবে। বর্তমানে শুধুমাত্র Chrome এর নোট লেখার অ্যাপ লক স্ক্রিনে সমর্থিত।
+      পছন্দসই নোট লেখার অ্যাপটি যদি লক স্ক্রিনে সক্রিয় করা থাকে তাহলে লক স্ক্রিনে সেটি চালু করার জন্য ইউ এলিমেন্ট থাকবে।
+      চালু করা হলে অ্যাপটি লক স্ক্রিনের উপরের দিকে একটি অ্যাপ উইন্ডো তৈরি করবে এবং লক স্ক্রিনের প্রেক্ষাপটে ডেটা আইটেম (নোট) তৈরি করবে। যখন প্রাথমিক ব্যবহারকারী সেশন আনলক করা হবে তখন অ্যাপটি সেশনে সেই নোটগুলি আমদানি করবে। বর্তমানে শুধুমাত্র Chrome-এর নোট লেখার অ্যাপ লক স্ক্রিনে সমর্থিত।
 
-      নীতি সেট করা থাকলে, যদি অ্যাপের এক্সটেনশন আইডি নীতির তালিকার মানে অন্তর্ভুক্ত থাকে, একমাত্র তাহলেই লক স্ক্রিনে অ্যাপটি সক্ষম করতে ব্যবহারকারীকে অনুমতি দেওয়া হবে।
+      নীতি সেট করা থাকলে, যদি অ্যাপের এক্সটেনশন আইডি নীতির তালিকার মানে অন্তর্ভুক্ত থাকে, একমাত্র তাহলেই লক স্ক্রিনে অ্যাপটি চালু করতে ব্যবহারকারীকে অনুমতি দেওয়া হবে।
       অর্থাৎ, এই নীতিটির জন্য একটি ফাঁকা তালিকা সেট করলে লক স্ক্রিনে নোট লেখার অ্যাপ একেবারেই ব্যবহার করা যাবে না।
-      মনে রাখবেন, অ্যাপ আইডি থাকলেই যে একটি অ্যাপকে লক স্ক্রিনে নোট লেখার অ্যাপ হিসেবে সক্ষম করা যাবে, এমন কোনও নিশ্চয়তা নেই - যেমন, Chrome 61 এ যে অ্যাপগুলি পাওয়া যায়, সেগুলিও প্ল্যাটফর্মের অনুমতি ছাড়া ব্যবহার করা যায় না।
+      মনে রাখবেন, অ্যাপ আইডি থাকলেই যে একটি অ্যাপকে লক স্ক্রিনে নোট লেখার অ্যাপ হিসেবে চালু করা যাবে, এমন কোনও নিশ্চয়তা নেই - যেমন, Chrome 61-এ যে অ্যাপগুলি পাওয়া যায়, সেগুলিও প্ল্যাটফর্মের অনুমতি ছাড়া ব্যবহার করা যায় না।
 
-     যদি নীতিটি সেট না করা হয়, তাহলে লক স্ক্রিনে সক্ষম করা যাবে এমন সমস্ত অ্যাপের উপরে আর কোনও বিধিনিষেধ থাকবে না।</translation>
+     যদি নীতিটি সেট না করা হয়, তাহলে লক স্ক্রিনে চালু করা যাবে এমন সমস্ত অ্যাপের উপরে আর কোনও বিধিনিষেধ থাকবে না।</translation>
 <translation id="4309640770189628899">TLS এ RC4 সাইফার স্যুট সক্ষম আছে কিনা</translation>
 <translation id="4322842393287974810">শূন্য বিলম্ব সহ স্বয়ংক্রিয় লঞ্চ হওয়া কিয়স্ক অ্যাপ্লিকেশানকে <ph name="PRODUCT_OS_NAME" /> সংস্করণ নিয়ন্ত্রণের অনুমতি দিন</translation>
 <translation id="4325690621216251241">সিস্টেম ট্রেতে একটি লগ আউট বোতাম জুড়ুন</translation>
@@ -1532,7 +1536,7 @@
 
           এই নীতি কোনও আগে থেকে থাকা এক্সটেনশন-সম্পর্কিত নীতি দ্বারা নিয়ন্ত্রিত সেটিংস সহ একাধিক সেটিংস নিয়ন্ত্রণ করে। যদি দুটোই সেট করা থাকে তাহলে এই নীতি যেকোনও লেগাসি নীতি ওভাররাইড করবে।
 
-          এই নীতি, এর কনফিগারেশনের সাথে একটি এক্সটেনশন আইডি বা তার আপডেট URL ম্যাপ করে। একটি এক্সটেনশন আইডি দিয়ে, শুধুমাত্র নির্দিষ্ট এক্সটেনশনে কনফিগারেশন প্রয়োগ করা হবে। বিশেষ আইডি <ph name="DEFAULT_SCOPE" /> এর জন্য একটি ডিফল্ট কনফিগারেশন সেট করা যেতে পারে, যা এই নীতিতে কাস্টম কনফিগারেশন সেট করা নেই এমন সব এক্সটেনশনের জন্য প্রযোজ্য হবে। একটি আপডেট URL এর মাধ্যমে <ph name="LINK_TO_EXTENSION_DOC1" /> এ বর্ণনা করা এই এক্সটেনশনটির ম্যানিফেস্টে উল্লেখ করা সুনির্দিষ্ট আপডেট URL দিয়ে সব এক্সটেনশনে কনফিগারেশন প্রয়োগ করা হবে।
+          এই নীতি, এর কনফিগারেশনের সাথে একটি এক্সটেনশন আইডি বা তার আপডেট ইউআরএল ম্যাপ করে। একটি এক্সটেনশন আইডি দিয়ে, শুধুমাত্র নির্দিষ্ট এক্সটেনশনে কনফিগারেশন প্রয়োগ করা হবে। বিশেষ আইডি <ph name="DEFAULT_SCOPE" />-এর জন্য একটি ডিফল্ট কনফিগারেশন সেট করা যেতে পারে, যা এই নীতিতে কাস্টম কনফিগারেশন সেট করা নেই এমন সব এক্সটেনশনের জন্য প্রযোজ্য হবে। একটি আপডেট ইউআরএল-এর মাধ্যমে <ph name="LINK_TO_EXTENSION_DOC1" />-এ বর্ণনা করা এই এক্সটেনশনটির ম্যানিফেস্টে উল্লেখ করা সুনির্দিষ্ট আপডেট ইউআরএল দিয়ে সব এক্সটেনশনে কনফিগারেশন প্রয়োগ করা হবে।
 
           এই নীতির সম্পূর্ণ বর্ণনা এবং সম্ভাব্য সেটিংস ও গঠন জানতে অনুগ্রহ করে https://www.chromium.org/administrators/policy-list-3/extension-settings-full দেখুন
           </translation>
@@ -1551,7 +1555,7 @@
 <translation id="4604931264910482931">নেটিভ বার্তাপ্রেরণ কালোতালিকা কনফিগার করুন</translation>
 <translation id="4613508646038788144">যদি নীতিটি 'ফল্সে' সেট করা থাকে তবে তৃতীয় পক্ষের সফটওয়্যারটি ক্রোমের প্রসেসগুলিতে এক্সিকিউটেবল কোড ইনজেক্ট করার অনুমতি দেওয়া হবে। যদি নীতিটি সেট না থাকে বা 'ট্রু'তে সেট থাকে তবে তৃতীয় পক্ষের সফ্টওয়্যারটি Chrome এর প্রসেসগুলিতে এক্সিকিউটেবল কোড ইনজেক্ট করা থেকে আটকানো হবে।</translation>
 <translation id="4617338332148204752"><ph name="PRODUCT_FRAME_NAME" /> চেক করা মেটা ট্যাগ ছেড়ে যান</translation>
-<translation id="4625915093043961294">এক্সটেনশন ইনস্টলেশন সাদা তালিকাটি কনফিগার করুন</translation>
+<translation id="4625915093043961294">এক্সটেনশন ইনস্টলেশনের সাদাতালিকাটি কনফিগার করুন</translation>
 <translation id="463224920692183755">eCryptfs এনক্রিপশন ব্যবহার করে তৈরি ব্যবহারকারীর হোম ডিরেক্টরিতে ext4 এনক্রিপশন প্রয়োগ করতে হলে কী অ্যাকশন নিতে হবে তা নির্দিষ্ট করে।
 
       আপনি এই নীতি 'DisallowArc'-তে সেট করলে, ব্যবহারকারীর জন্য Android অ্যাপগুলি বন্ধ হয়ে যাবে এবং eCryptfs থেকে ext4 এনক্রিপশনে মাইগ্রেট করা যাবে না। হোম ডিরেক্টরি আগে থেকেই ext4-এ এনক্রিপ্ট করা থাকলে Android অ্যাপগুলি বন্ধ হবে না।
@@ -1582,7 +1586,7 @@
 <translation id="4639407427807680016">কালোতালিকা থেকে বাদ দিতে হবে এমন নেটিভ বার্তাপ্রেরণ হোস্টগুলির নাম</translation>
 <translation id="4650759511838826572">URL প্রোটোকল স্কিমগুলি অক্ষম করুন</translation>
 <translation id="465099050592230505">এন্টারপ্রাইজ ওয়েব স্টোর ইউআরএল (থামানো হয়েছে)</translation>
-<translation id="4665897631924472251">এক্সটেনশান পরিচালনা সেটিংস</translation>
+<translation id="4665897631924472251">এক্সটেনশন পরিচালনা সেটিংস</translation>
 <translation id="4668325077104657568">ডিফল্ট চিত্রসমূহের সেটিং</translation>
 <translation id="4671708336564240458">খারাপ অথবা অপব্যবহারমূলক অভিজ্ঞতা হয় এমন সাইটগুলি নতুন উইন্ডো বা ট্যাব খুলতে পারবে কিনা তা আপনি এখান থেকে সেট করতে পারবেন।
 
@@ -1681,11 +1685,11 @@
          <ph name="MS_AD_NAME" /> ডোমেনে যুক্ত নয় এমন Windows দৃষ্টান্তগুলিতে এই নীতিটি উপলভ্য নয়।</translation>
 <translation id="4858735034935305895">পূর্ণস্ক্রীন মোড এর অনুমতি দিন</translation>
 <translation id="4861767323695239729">ব্যবহারকারীর সেশনে অনুমোদিত ইনপুট পদ্ধতিগুলি কনফিগার করুন</translation>
-<translation id="4869787217450099946">স্ক্রীনের উজ্জ্বলতার লকগুলি মঞ্জুরিপ্রাপ্ত কিনা তা নির্ধারণ করে৷ শক্তি ব্যবস্থাপনা এক্সটেনশান API মারফত এক্সটেনশানগুলির দ্বারা স্ক্রীনের উজ্জ্বলতার লকগুলির জন্য অনুরোধ করা যেতে পারে৷
+<translation id="4869787217450099946">স্ক্রিনের উজ্জ্বলতার লকগুলি মঞ্জুরিপ্রাপ্ত কিনা তা নির্ধারণ করে৷ শক্তি ব্যবস্থাপনা এক্সটেনশন এপিআই মারফত এক্সটেনশনগুলির দ্বারা স্ক্রিনের উজ্জ্বলতার লকগুলির জন্য অনুরোধ করা যেতে পারে৷
 
-          যদি এই নীতি সত্যতে সেট করা থাকে বা সেট না করা থাকে, তাহলে স্ক্রীনের উজ্জ্বলতার লকগুলি শক্তি ব্যবস্থাপনার জন্য ব্যবহার করা হতে পারে৷
+          যদি এই নীতি ট্রু হিসেবে সেট করা থাকে বা সেট না করা থাকে, তাহলে স্ক্রিনের উজ্জ্বলতার লকগুলি শক্তি ব্যবস্থাপনার জন্য ব্যবহার করা হতে পারে৷
 
-          যদি এই নীতি মিথ্যাতে সেট করা থাকে, তাহলে স্ক্রীনের উজ্জ্বলতার লকের অনুরোধগুলিকে উপেক্ষা করা হবে৷</translation>
+          যদি এই নীতি ফলস হিসেবে সেট করা থাকে, তাহলে স্ক্রিনের উজ্জ্বলতার লকের অনুরোধগুলিকে উপেক্ষা করা হবে৷</translation>
 <translation id="487460824085252184">নিজে থেকে মাইগ্রেট হবে, ব্যবহারকারীর সম্মতি নেওয়ার প্রয়োজন নেই।</translation>
 <translation id="4874982543810021567">এই সাইটগুলিতে WebUSB ব্লক করুন</translation>
 <translation id="4876805738539874299">সর্বোচ্চ SSL সংস্করণ সক্ষম করা হয়েছে</translation>
@@ -1716,7 +1720,7 @@
           মানটিকে অবশ্যই JSON অভিধানগুলির স্ট্রিংযুক্ত একটি অ্যারে হতে হবে। প্রতিটি অভিধানের অবশ্যই ফর্ম থাকতে হবে { "প্যাটার্ন": "$URL_PATTERN", "ফিল্টার" : $FILTER } যেখানে $URL_PATTERN হলো একটি সামগ্রী সেটিংয়ের প্যাটার্ন। ব্রাউজারটি কোন ক্লায়েন্ট শংসাপত্রগুলি থেকে নির্বাচন করবে তা $FILTER সীমাবদ্ধ করে দেয়। ফিল্টারের উপর নির্ভরশীল না থেকেই, শুধুমাত্র সার্ভারের অনুরোধের সাথে মেলে এমন শংসাপত্র নির্বাচিত করা হবে। যদি $FILTER এর ফর্ম { "ISSUER": { "CN": "$ISSUER_CN" } } থাকে, তাহলে অতিরিক্ত ভাবে শুধুমাত্র সেসব ক্লায়েন্ট শংসাপত্র নির্বাচন করা হবে যেগুলি CommonName $ISSUER_CN দ্বারা জারি করা হয়।  $FILTER যদি খালি অভিধান {} হয়, তাহলে ক্লায়েন্ট শংসাপত্রের নির্বাচন আলাদা ভাবে সীমাবদ্ধ করা হয় না।
 
           এই নীতিটি সেট না করে রাখা হলে, কোনো স্বতঃনির্বাচন কোনো সাইটের জন্য ব্যবহার করা হবে না।</translation>
-<translation id="4978405676361550165">যদি "OffHours" নীতিটি সেট করা থাকে তাহলে নির্দিষ্ট করা ডিভাইস নীতিগুলি নির্ধারিত মধ্যবর্তী কালের সময়ে উপেক্ষা করা হয় (এই নীতিগুলির ডিফল্ট সেটিংস ব্যবহার করা হয়)। প্রত্যেকবার "OffHours" সময়টি শুরু বা শেষ হলে ডিভাইস নীতিগুলিকে Chrome আবার প্রয়োগ করে। "OffHours" সময়টি শেষ হলে ব্যবহারকারীকে জানানো হয় ও তাকে সাইন-আউট করতে বাধ্য করা হয়, এবং ডিভাইসের নীতির সেটিংস পরিবর্তিত হয় (অর্থাৎ, যখন ব্যবহারকারী অনুমোদিত নয় এমন অ্যাকাউন্ট দিয়ে সাইন-ইন করে থাকেন)।</translation>
+<translation id="4978405676361550165">যদি "OffHours" নীতিটি সেট করা থাকে তাহলে নির্দিষ্ট করা ডিভাইস নীতিগুলি নির্ধারিত মধ্যবর্তী কলের সময়ে উপেক্ষা করা হয় (এই নীতিগুলির ডিফল্ট সেটিংস ব্যবহার করা হয়)। প্রত্যেকবার "OffHours" সময়টি শুরু বা শেষ হলে ডিভাইস নীতিগুলিকে Chrome আবার প্রয়োগ করে। "OffHours" সময়টি শেষ হলে ব্যবহারকারীকে জানানো হয় ও তাকে সাইন-আউট করতে বাধ্য করা হয় এবং ডিভাইসের নীতির সেটিংস পরিবর্তিত হয় (অর্থাৎ, যখন ব্যবহারকারী অনুমোদিত নয় এমন অ্যাকাউন্ট দিয়ে সাইন-ইন করে থাকেন)।</translation>
 <translation id="4980635395568992380">ডেটার প্রকার:</translation>
 <translation id="4983201894483989687">চলমান পুরানো প্ল্যাগইনগুলিকে মঞ্জুর করুন</translation>
 <translation id="4988291787868618635">নিষ্ক্রিয়তা বিলম্বের শেষ সীমাতে পৌঁছে গেলে কি করা হবে</translation>
@@ -2015,11 +2019,11 @@
      আপনি যদি এই নীতি সেট করেন, তাহলে ব্যবহারকারীরা এটি পরিবর্তন অথবা ওভাররাইড করতে পারবে না৷
 
       যদি নীতিটি সেট করা না থাকে, তাহলে ব্যবহারকারী চয়ন করতে পারবে তাকটি স্বয়ংক্রিয়ভাবে লুকায়িত হবে কিনা৷</translation>
-<translation id="557360560705413259">এই সেটিং সক্ষম করা হলে, শংসাপত্রে যদি subjectAlternativeName এক্সটেনশান না থাকে তাহলে এটি সফলভাবে যাচাইকৃত হওয়া এবং স্থানীয়ভাবে ইনস্টলকৃত CA শংসাপত্রে আবদ্ধ থাকা সাপেক্ষে হোস্টনামের সাথে সার্ভার শংসাপত্র মেলানোর জন্য <ph name="PRODUCT_NAME" /> commonName ব্যবহার করবে।
+<translation id="557360560705413259">এই সেটিং চালু করা হলে, সার্টিফিকেটে যদি subjectAlternativeName এক্সটেনশন না থাকে তাহলে এটি সফলভাবে যাচাইকৃত হওয়া এবং স্থানীয়ভাবে ইনস্টলকৃত CA সার্টিফিকেটে আবদ্ধ থাকা সাপেক্ষে হোস্টনামের সাথে সার্ভার সার্টিফিকেট মেলানোর জন্য <ph name="PRODUCT_NAME" /> commonName ব্যবহার করবে।
 
-      মনে রাখবেন যে, এটি প্রস্তাবিত নয় কারণ এটি কোনো প্রদত্ত শংসাপত্র যাতে অনুমোদিত হতে পারে সেজন্য হোস্টনাম সীমিত করে এমন nameConstraints এক্সটেনশান এড়িয়ে যেতে অনুমোদন দিতে পারে।
+      মনে রাখবেন যে, এটি প্রস্তাবিত নয় কারণ এটি কোনও প্রদত্ত সার্টিফিকেট যাতে অনুমোদিত হতে পারে সেজন্য হোস্টনাম সীমিত করে এমন nameConstraints এক্সটেনশন এড়িয়ে যেতে অনুমোদন দিতে পারে।
 
-      এই নীতিটি সেট না করা হলে, বা মিথ্যায় সেট করা থাকলে, DNS নাম বা IP ঠিকানাযুক্ত subjectAlternativeName এক্সটেনশান বিহীন সার্ভার শংসাপত্রগুলিকে বিশ্বাস করা হবে না।</translation>
+      এই নীতিটি সেট না করা হলে, বা ফলস হিসেবে সেট করা থাকলে, ডিএনএস নাম বা আইপি অ্যাড্রেসযুক্ত subjectAlternativeName এক্সটেনশন বিহীন সার্ভার সার্টিফিকেটগুলিকে বিশ্বাস করা হবে না।</translation>
 <translation id="5581292529942108810">Chrome রিপোর্টিং এক্সটেনশন সম্পর্কিত নীতি কনফিগার করুন।
 
       <ph name="CHROME_REPORTING_EXTENSION_NAME" /> চালু করা থাকলে এবং <ph name="MACHINE_LEVEL_USER_CLOUD_POLICY_ENROLLMENT_TOKEN_POLICY_NAME" />-এর সাথে মেশিনটি নথিভুক্ত থাকলেই এই নীতিটি কার্যকর হয়।</translation>
@@ -2174,23 +2178,23 @@
 <translation id="6022948604095165524">সূচনায় ক্রিয়া</translation>
 <translation id="6023030044732320798">এক সেট নীতি নির্দিষ্ট করে যা ARC রানটাইমের কাছে দেওয়া হয়। মানটি অবশ্যই সঠিক JSON হতে হবে।
 
-       এই নীতিটি ডিভাইসে নিজে থেকে ইনস্টল করা Android অ্যাপ কনফিগার করার জন্য ব্যবহার করা যেতে পারে:
+      এই নীতিটি ডিভাইসে নিজে থেকে ইনস্টল করা Android অ্যাপ কনফিগার করার জন্য ব্যবহার করা যেতে পারে:
 
       {
-        "type": "object",
-        "properties": {
-          "applications": {
-            "type": "array",
-            "items": {
-              "type": "object",
-              "properties": {
+        "টাইপ": "অবজেক্ট",
+        " বৈশিষ্ট্য ": {
+          "অ্যাপ্লিকেশন": {
+            "টাইপ": "তীরচিহ্ন",
+            "আইটেম": {
+              "টাইপ": "অবজেক্ট",
+              "বৈশিষ্ট্য ": {
                 "packageName": {
-                  "description": "Android অ্যাপ শনাক্তকারী, যেমন Gmail এর জন্য "com.google.android.gm""
-                  "type": "string"
+                  "বিবরণ": "Android অ্যাপ শনাক্তকারী, e.g. Gmail এর জন্য "com.google.android.gm",
+                  "টাইপ": "স্ট্রিং"
                 },
                 "installType": {
-                  "description": "একটি অ্যাপ কিভাবে ইনস্টল করা হয় তা নির্দিষ্ট করে। OPTIONAL: অ্যাপটি নিজে থেকে ইনস্টল হয় না তবে ব্যবহারকারী সেটি ইনস্টল করতে পারে। এই নীতিটি নির্দিষ্ট না হলে সেটি ডিফল্ট হয়। PRELOAD: অ্যাপ্লিকেশনটি স্বয়ংক্রিয়ভাবে ইনস্টল করা হয় কিন্তু ব্যবহারকারী এটি আনইনস্টল করতে পারেন। FORCE_INSTALLED: অ্যাপটি নিজে থেক ইনস্টল করা হয় এবং ব্যবহারকারী এটি আনইনস্টল করতে পারে না। BLOCKED: অ্যাপটি ব্লক এবং ইনস্টল করা যাবে না। যদি আগের নীতির অধীনে অ্যাপটি ইনস্টল করা হয়ে থাকে তবে এটি আনইনস্টল করা হবে।",
-                  "type": "string",
+                  "বর্ণনা": "একটি অ্যাপ কিভাবে ইনস্টল করা হয় তা নির্দিষ্ট করে। OPTIONAL: অ্যাপটি নিজে থেকে ইনস্টল হয় না তবে ব্যবহারকারী সেটি ইনস্টল করতে পারে। এই নীতিটি নির্দিষ্ট না হলে সেটি ডিফল্ট হয়। PRELOAD: অ্যাপটি অটোমেটিক ইনস্টল করা হয় কিন্তু ব্যবহারকারী এটি আনইনস্টল করতে পারেন। FORCE_INSTALLED: অ্যাপটি নিজে থেক ইনস্টল করা হয় এবং ব্যবহারকারী এটি আনইনস্টল করতে পারে না। BLOCKED: অ্যাপটি ব্লক এবং ইনস্টল করা যাবে না। যদি আগের নীতির অধীনে অ্যাপটি ইনস্টল করা হয়ে থাকে তবে এটি আনইনস্টল করা হবে।",
+                  "টাইপ": "স্ট্রিং",
                   "enum": [
                     "OPTIONAL",
                     "PRELOAD",
@@ -2199,8 +2203,8 @@
                   ]
                 },
                 "defaultPermissionPolicy": {
-                  "description": "অ্যাপ্লিকেশনে অনুমতির অনুমোদনের জন্য নীতি। PERMISSION_POLICY_UNSPECIFIED: যদি কোনও নীতি কোনও স্তরের অনুমতির জন্য নির্দিষ্ট না করা হয়, তাহলে `PROMPT` আচরণটি ডিফল্ট হিসেবে ব্যবহৃত হয়। PROMPT: অনুমতি দেওয়ার জন্য ব্যবহারকারীকে অনুরোধ করুন। GRANT: অনুমতির জন্য অটোমেটিক মঞ্জুরি দিন। DENY: অনুমতির জন্য অটোমেটিক অস্বীকার করুন",
-                  "type": "string",
+                  "বর্ণনা": " অ্যাপ্লিকেশনে অনুমতির অনুমোদনের জন্য নীতি। PERMISSION_POLICY_UNSPECIFIED: নীতিটি নির্দিষ্ট নয়। যদি কোনও নীতি কোনও স্তরের অনুমতির জন্য নির্দিষ্ট না করা হয়, তাহলে 'PROMPT' আচরণটি ডিফল্ট হিসেবে ব্যবহৃত হয়। PROMPT: অনুমতি দেওয়ার জন্য ব্যবহারকারীকে অনুরোধ করুন। GRANT: অনুমতির জন্য অটোমেটিক মঞ্জুরি দিন। DENY: অনুমতির জন্য অটোমেটিক অস্বীকার করুন",
+                  "টাইপ": "স্ট্রিং",
                   "enum": [
                     "PERMISSION_POLICY_UNSPECIFIED",
                     "PROMPT",
@@ -2209,8 +2213,8 @@
                   ]
                 },
                 "managedConfiguration": {
-                  "description": "কী-ভ্যালু পেয়ার সহ অ্যাপ নির্দিষ্ট JSON কনফিগারেশন অবজেক্ট, যেমন '"managedConfiguration": { "key1": value1, "key2": value2 }'. কীগুলি অ্যাপ ম্যানিফেস্টের মধ্যে সংজ্ঞায়িত করা হয়।",
-                  "type": "object"
+                  "বর্ণনা": "কী-ভ্যালু পেয়ার সহ অ্যাপ নির্দিষ্ট JSON কনফিগারেশন অবজেক্ট, ''managedConfiguration": { "key1": value1, "key2": value2 }'. কীগুলি অ্যাপ ম্যানিফেস্টের মধ্যে সংজ্ঞায়িত করা হয়।",
+                  "টাইপ": "অবজেক্ট"
                 }
               }
             }
@@ -2218,7 +2222,7 @@
         }
       }
 
-      লঞ্চারে অ্যাপগুলি পিন করতে, PinnedLauncherApps দেখুন।</translation>
+      লঞ্চারে অ্যাপগুলি পিন করতে, PinnedLauncherApps অ্যাপ দেখুন।</translation>
 <translation id="602728333950205286">ডিফল্ট সার্চ সরবরাহকারী তাত্ক্ষণিক URL</translation>
 <translation id="603410445099326293">POST ব্যবহার করে এমন প্রস্তাবনা URL এর প্যারামিটারগুলি</translation>
 <translation id="6036523166753287175">দূরবর্তী অ্যাক্সেস হোস্ট থেকে ফায়ারওয়াল ট্র্যাভেরসাল সক্ষম করুন</translation>
@@ -2271,15 +2275,15 @@
           এই নীতিটি যদি এখন সেট করা না হয়, এবং 'ডিফল্টপ্লাগইনসেটিংস' নীতিটি যদি সেট করা থাকে, তাহলে সেই অনুযায়ী সমস্ত সাইটের জন্য এই নীতির গ্লোবাল ডিফল্ট সেটিং নির্ধারণ করা হবে। তা না হলে, ব্যবহারকারীর ব্যক্তিগত কনফিগারেশন অনুযায়ী এটি সেট করা হবে।</translation>
 <translation id="6190022522129724693">ডিফল্ট পপআপস সেটিং</translation>
 <translation id="6190367314942602985">ব্যবহারকারী শনাক্তকরণের তথ্য রিপোর্ট করা</translation>
-<translation id="6197453924249895891">এক্সটেনশানগুলিতে কর্পোরেট কীগুলিকে অ্যাক্সেসের মঞ্জুরি দেয়।
+<translation id="6197453924249895891">এক্সটেনশনগুলিতে কর্পোরেট কীগুলিকে অ্যাক্সেসের মঞ্জুরি দেয়।
 
-      কীগুলিকে কর্পোরেট ব্যবহারের জন্য মনোনীত করা হয় যদি সেগুলি কোনো পরিচালিত অ্যাকাউন্টে chrome.enterprise.platformKeys API ব্যবহার করে তৈরি করা হয়। অন্য কোনো উপায়ে আমদানি বা তৈরি করা কীগুলিকে কর্পোরেট ব্যবহারের জন্য মনোনীত করা হয় না।
+      কীগুলিকে কর্পোরেট ব্যবহারের জন্য মনোনীত করা হয় যদি সেগুলি কোনও পরিচালিত অ্যাকাউন্টে chrome.enterprise.platformKeys এপিআই ব্যবহার করে তৈরি করা হয়। অন্য কোনও উপায়ে আমদানি বা তৈরি করা কীগুলিকে কর্পোরেট ব্যবহারের জন্য মনোনীত করা হয় না।
 
-      কর্পোরেট ব্যবহারের জন্য মনোনীত কীগুলিতে অ্যাক্সেস কেবলমাত্র এই নীতি দ্বারা নিয়ন্ত্রিত হয়। ব্যবহারকারী এক্সটেনশানগুলিতে বা সেগুলি থেকে কর্পোরেট কীগুলিতে অ্যাক্সেস মঞ্জুরি দিতে পারেন না এবং তা প্রত্যাহার করতেও পারেন না।
+      কর্পোরেট ব্যবহারের জন্য মনোনীত কীগুলিতে অ্যাক্সেস কেবলমাত্র এই নীতি দ্বারা নিয়ন্ত্রিত হয়। ব্যবহারকারী এক্সটেনশনগুলিতে বা সেগুলি থেকে কর্পোরেট কীগুলিতে অ্যাক্সেস মঞ্জুরি দিতে পারেন না এবং তা প্রত্যাহার করতেও পারেন না।
 
-      ডিফল্ট ভাবে একটি এক্সটেনশান কর্পোরেট ব্যবহারের জন্য মনোনীত কী ব্যবহার করতে পারে না, এইক্ষেত্রে সেই এক্সটেনশানের জন্য allowCorporateKeyUsage মিথ্যা হিসেবে সেট থাকার সমতুল্য হয় ।
+      ডিফল্টভাবে একটি এক্সটেনশন কর্পোরেট ব্যবহারের জন্য মনোনীত কী ব্যবহার করতে পারে না, এক্ষেত্রে সেই এক্সটেনশনের জন্য allowCorporateKeyUsage ফলস হিসেবে সেট থাকার সমতুল্য হয়।
 
-      কেবলমাত্র কোনো এক্সটেনশানের জন্য যদি allowCorporateKeyUsage কে সত্য হিসেবে সেট করা হয়, তাহলে এটি ইচ্ছামাফিক ডেটা সাইন করতে কর্পোরেট ব্যবহারের জন্য চিহ্নিত যেকোনো প্ল্যাটফর্ম কী ব্যবহার করতে পারে। এই অনুমতি শুধু তখনই দেওয়া ঠিক হবে যদি এক্সটেনশানটি এমন বিশ্বস্ত হয় যে এটি আক্রমণকারীদের হাত থেকে কীটিকে সুরক্ষিত অ্যাক্সেস দিতে পারবে।</translation>
+      কেবলমাত্র কোনও এক্সটেনশনের জন্য যদি allowCorporateKeyUsage ট্রু হিসেবে সেট করা হয়, তাহলে এটি ইচ্ছামাফিক ডেটা সাইন করতে কর্পোরেট ব্যবহারের জন্য চিহ্নিত যেকোনও প্ল্যাটফর্ম কী ব্যবহার করতে পারে। এই অনুমতি শুধু তখনই দেওয়া ঠিক হবে যদি এক্সটেনশনটি এমন বিশ্বস্ত হয় যে এটি আক্রমণকারীদের হাত থেকে কীটিকে সুরক্ষিত অ্যাক্সেস দিতে পারবে।</translation>
 <translation id="6208896993204286313"><ph name="PRODUCT_NAME" />-এর নীতির তথ্য রিপোর্ট করা</translation>
 <translation id="6210259502936598222">OS এবং <ph name="PRODUCT_NAME" /> ভার্সনের তথ্য রিপোর্ট করা</translation>
 <translation id="6211428344788340116">ডিভাইসের অ্যাক্টিভিটির সময় প্রতিবেদন করুন৷
@@ -2626,15 +2630,15 @@
 <translation id="706669471845501145">ডেস্কটপ বিজ্ঞপ্তিগুলি দেখানোর জন্য সাইটগুলিকে অনুমতি দিন</translation>
 <translation id="7070525176564511548">প্রতি সপ্তাহে পাসওয়ার্ড দেওয়া প্রয়োজন (১৬৮ ঘণ্টা)</translation>
 <translation id="7072208053150563108">মেশিন পাসওয়ার্ড পরিবর্তনের হার</translation>
-<translation id="7074513465313721551">যে ডোমেন নিরাপদ ব্রাউজিং বিশ্বাস করে তার তালিকা কনফিগার করুন। এর অর্থ:
-      বিপজ্জনক রিসোর্সের URL (যেমন ফিশিং, ম্যালওয়্যার বা অপ্রয়োজনীয় সফ্টওয়্যার) এই ডোমেনের সাথে মিললে, নিরাপদ ব্রাউজিং তাদের পরীক্ষা করবে না।
-      নিরাপদ ব্রাউজিং এর ডাউনলোড সুরক্ষা পরিষেবাটি এই ডোমেনে হোস্ট করা ডাউনলোডটি পরীক্ষা করবে না।
-      যদি পৃষ্ঠাটির URL এই ডোমেনের সাথে মেলে তবে নিরাপদ ব্রাউজিংয়ের জন্য পাসওয়ার্ড সুরক্ষা পরিষেবাটি পাসওয়ার্ড রিইউজ যাচাই করতে ব্যবহার করা হবে না।
+<translation id="7074513465313721551">যে ডোমেন সেফ ব্রাউজিং নিরাপদ তার তালিকা কনফিগার করুন। এর অর্থ:
+      বিপজ্জনক রিসোর্সের ইউআরএল (যেমন ফিশিং, ম্যালওয়্যার বা অপ্রয়োজনীয় সফ্টওয়্যার) এই ডোমেনের সাথে মিললে, সেফ ব্রাউজিং তাদের পরীক্ষা করবে না।
+      সেফ ব্রাউজিং-এর ডাউনলোড সুরক্ষা পরিষেবাটি এই ডোমেনে হোস্ট করা ডাউনলোডটি পরীক্ষা করবে না।
+      যদি পৃষ্ঠাটির ইউআরএল এই ডোমেনের সাথে মেলে তবে সেফ ব্রাউজিংয়ের জন্য পাসওয়ার্ড সুরক্ষা পরিষেবাটি পাসওয়ার্ড রিইউজ যাচাই করতে ব্যবহার করা হবে না।
 
-      এই সেটিংসটি চালু থাকলে, নিরাপদ ব্রাউজিং এই ডোমেনগুলিকে বিশ্বাস করবে।
-      যদি এই সেটিংসটি বন্ধ থাকে অথবা সেট না করা হয় তাহলে ডিফল্ট নিরাপদ ব্রাউজিং সুরক্ষা বিকল্পটি সমস্ত রিসোর্সে প্রয়োগ করা হবে।
+      এই সেটিংস চালু থাকলে, নিরাপদ ব্রাউজিং এই ডোমেনগুলিকে বিশ্বাস করবে।
+      যদি এই সেটিংস বন্ধ থাকে অথবা সেট না করা হয় তাহলে ডিফল্ট সেফ ব্রাউজিং সুরক্ষা বিকল্পটি সমস্ত রিসোর্সে প্রয়োগ করা হবে।
       
-এই নীতিটি সেই Windows এর ইনস্ট্যান্সগুলিতে কাজ করবে না যেগুলি <ph name="MS_AD_NAME" /> ডোমেনের সাথে যুক্ত নয়।</translation>
+এই নীতিটি সেই Windows-এর ইনস্ট্যান্সগুলিতে কাজ করবে না যেগুলি <ph name="MS_AD_NAME" /> ডোমেনের সাথে যুক্ত নয়।</translation>
 <translation id="7079519252486108041">এই সাইটগুলিতে পপআপগুলি অবরোধ করুন</translation>
 <translation id="7085803328069945025">এমন URL প্যাটার্নের তালিকা সেট করতে দেয়, যেগুলি সেই সমস্ত সাইটকে উল্লেখ করে যেগুলিকে ইউএসবি ডিভাইসে অ্যাক্সেস চাওয়ার অনুমতি দেওয়া হয়েছে।
 
@@ -2768,9 +2772,9 @@
           যখন এই নীতিটি সেট থাকে না, তখন একটি ডিফল্ট সময়কাল ব্যবহৃত হয়৷
 
           নীতির মানটি মিলিসেকেন্ডে নির্ধারণ করা উচিত৷ নিষ্ক্রিয়তা বিলম্বের শেষ সীমা থেকে কম বা এর সমান হিসাবে মানগুলি ধার্য করা হয়ে থাকে৷</translation>
-<translation id="7329968046053403405"><ph name="HTTP_NEGOTIATE" /> প্রমাণীকরণ (উদাঃ Kerberos প্রমাণীকরণ) সমর্থন করে এমন Android প্রমাণীকরণ অ্যাপ্লিকেশান দ্বারা সরবরাহকৃত অ্যাকাউন্টগুলির অ্যাকাউন্টের ধরন নির্দিষ্ট করে। প্রমাণীকরণ অ্যাপ্লিকেশানের সরবরাহকারীর কাছ থেকে এই তথ্য পাওয়া যাবে। আরও বিশদ বিবরণের জন্য https://goo.gl/hajyfN দেখুন।
+<translation id="7329968046053403405"><ph name="HTTP_NEGOTIATE" /> প্রমাণীকরণ (উদাঃ Kerberos প্রমাণীকরণ) সমর্থন করে এমন Android প্রমাণীকরণ অ্যাপ দ্বারা সরবরাহকৃত অ্যাকাউন্টগুলির অ্যাকাউন্টের ধরন নির্দিষ্ট করে। প্রমাণীকরণ অ্যাপের সরবরাহকারীর কাছ থেকে এই তথ্য পাওয়া যাবে। আরও বিশদ বিবরণের জন্য https://goo.gl/hajyfN দেখুন।
 
-          যদি কোনো সেটিং দেওয়া না হয়, তাহলে Android এ <ph name="HTTP_NEGOTIATE" /> প্রমাণীকরণ অক্ষম থাকে।</translation>
+          যদি কোনও সেটিং দেওয়া না হয়, তাহলে Android এ <ph name="HTTP_NEGOTIATE" /> প্রমাণীকরণ বন্ধ থাকে।</translation>
 <translation id="7331962793961469250">যখন ট্রুতে সেট থাকে Chrome ওয়েব স্টোরের অ্যাপের জন্য প্রচারগুলি নতুন ট্যাব পৃষ্ঠায় উপস্থিত হয় না৷
 
       এই বিকল্পটি মিথ্যাতে সেট করা বা এটিকে সেট না থাকাতে ছেড়ে দেওয়া Chrome ওয়েব স্টোর অ্যাপের জন্য প্রচারগুলি নতুন ট্যাব পৃষ্ঠায় উপস্থিত করাবে</translation>
@@ -2880,9 +2884,9 @@
 <translation id="7604169113182304895">Android অ্যাপ্লিকেশানগুলি স্বেচ্ছায় এই তালিকা মেনে চলতে পারে। আপনি এটি মেনে চলার জন্য এদেরকে বাধ্য করতে পারবেন না।</translation>
 <translation id="7612157962821894603"><ph name="PRODUCT_NAME" /> শুরুর সময়ে সিস্টেম জুড়ে ফ্ল্যাগগুলি প্রযুক্ত হয়</translation>
 <translation id="7614663184588396421">অক্ষম হওয়া প্রোটোকল স্কিমগুলির তালিকা</translation>
-<translation id="7617319494457709698">এই নীতিটি দূরবর্তী প্রত্যয়নের জন্য <ph name="ENTERPRISE_PLATFORM_KEYS_API" /> ক্রিয়া <ph name="CHALLENGE_USER_KEY_FUNCTION" /> ব্যবহার করতে মঞ্জুরি প্রাপ্ত এক্সটেনশানগুলি নির্দিষ্ট করে। API ব্যবহার করতে এক্সটেনশানগুলিকে অবশ্যই এই তালিকায় যোগ করতে হবে৷
+<translation id="7617319494457709698">এই নীতিটি রিমোট প্রত্যয়নের জন্য <ph name="ENTERPRISE_PLATFORM_KEYS_API" /> ক্রিয়া <ph name="CHALLENGE_USER_KEY_FUNCTION" /> ব্যবহার করতে মঞ্জুরি প্রাপ্ত এক্সটেনশনগুলি নির্দিষ্ট করে। এপিআই ব্যবহার করতে এক্সটেনশনগুলিকে অবশ্যই এই তালিকায় যোগ করতে হবে৷
 
-          যদি কোনো এক্সটেনশান তালিকায় না থাকে বা তালিকাটি সেট না থাকে, তাহলে একটি ত্রুটি কোডের মাধ্যমে API এ কলটি ব্যর্থ হয়ে যাবে৷</translation>
+          যদি কোনও এক্সটেনশন তালিকায় না থাকে বা তালিকাটি সেট না থাকে, তাহলে একটি সমস্যা কোডের দেখিয়ে এপিআই-এ কলটি হবে না৷</translation>
 <translation id="7618907117929117943">OS ভার্সন টাগের্টের থেকে নতুন হলে টার্গেট ভার্সনে রোলব্যাক করুন এবং সেখানেই থাকুন। রোলব্যাক প্রসেসের সময় ডিভাইস-লেভেল কনফিগারেশন (নেটওয়ার্ক ক্রেডেনশিয়াল সহ) বহন করা এবং রোলব্যাকের পরে OOBE এড়িয়ে যাওয়াও সম্ভব। সেটি সম্ভব না হলে (টার্গেট ভার্সন ডেটা পুনরুদ্ধার সাপোর্ট করে না সেই কারণে অথবা পুরানো ভার্সনের সাথে বেমানান পরিবর্তনের জন্য), রোলব্যাক করবেন না বা তা বন্ধ করে দেবেন।
           <ph name="PRODUCT_OS_NAME" /> ভার্সন 70 বা উর্দ্ধতর ভার্সনে সাপোর্ট করা হয়। পুরানো ক্লায়েন্টের জন্য এই মান রোলব্যাক বন্ধ করা আছে বোঝায়।</translation>
 <translation id="7625444193696794922">যাতে এই ডিভাইসটি লক করা যায় সেইজন্য প্রকাশনা চ্যানেল নির্দিষ্ট করুন৷</translation>
@@ -2987,18 +2991,18 @@
 
       দ্রষ্টব্য: Android-এ এই নীতিটি প্রযোজ্য নয়। Android-এ SitePerProcess চালু করার জন্য SitePerProcessAndroid নীতি সেটিং ব্যবহার করুন।
       </translation>
-<translation id="780603170519840350">subjectPublicKeyInfo হ্যাশগুলির একটি তালিকা জন্য শংসাপত্রের স্বচ্ছতা প্রয়োজনীয়তাগুলি বন্ধ করে।
+<translation id="780603170519840350">subjectPublicKeyInfo হ্যাশগুলির একটি তালিকার জন্য সার্টিফিকেটের স্বচ্ছতা প্রয়োজনীয়তাগুলি বন্ধ করে।
 
-      এই নীতিটি সার্টিফিকেট চেইন সার্টিফিকেট ট্রান্সপারেন্সি প্রকাশের প্রয়োজনীয়তা অক্ষম করার অনুমতি দেয় যেগুলিতে একটি নির্দিষ্ট বিষয়ের PublicKeyInfo হ্যাশ সাথে সার্টিফিকেট আছে। এটি এমন শংসাপত্রের অনুমতি দেয় যা অন্যথায় অবিশ্বস্ত হবে, কারণ তারা সঠিকভাবে প্রকাশ্যে প্রকাশিত করা হয় নি, এন্টারপ্রাইজ হোস্টগুলির জন্য ব্যবহার করা চালিয়ে যেতে।
+      এই নীতিটি সার্টিফিকেট চেইন সার্টিফিকেট ট্রান্সপারেন্সি প্রকাশের প্রয়োজনীয়তা বন্ধ করার অনুমতি দেয় যেগুলিতে একটি নির্দিষ্ট বিষয়ের PublicKeyInfo হ্যাশ সহ সার্টিফিকেট আছে। এটি এমন সার্টিফিকেটের অনুমতি দেয় যা অন্যথায় অবিশ্বস্ত হবে, কারণ এন্টারপ্রাইজ হোস্টগুলির জন্য ব্যবহার করা চালিয়ে যেতে তারা সঠিকভাবে প্রকাশ্যে প্রকাশিত করা হয়নি।
 
-      নিয়মানুযায়ী যখন এই নীতি সেট করা হয় তখন শংসাপত্রের স্বচ্ছতার বলবত্করণ অক্ষম করতে, নিম্নলিখিত শর্তগুলির মধ্যে একটি মিলা আবশ্যক:
-      1. হ্যাশ হল সার্ভার subjectPublicKeyInfo এর শংসাপত্র।
-      2. একটি subjectPublicKeyInfo এর হ্যাশ যা শংসাপত্রের চেইনে একটি CA শংসাপত্রে প্রদর্শিত হবে, যা CA শংসাপত্র X.509v3 nameConstraints এক্সটেনশন মাধ্যমে সীমাবদ্ধ হয়, এক বা একাধিক directoryName nameConstraints গুলি permittedSubtrees এ উপস্থিত থাকে, এবং directoryName একটি ORGANIZATIONNAME অ্যাট্রিবিউট ধারণ করে।
-      3. একটি subjectPublicKeyInfo এর হ্যাশ যা শংসাপত্রের চেইনে একটি CA শংসাপত্রে প্রদর্শিত হবে, , CA শংসাপত্র এক বা তার বেশি organizationName অ্যাট্রিবিউটগুলি শংসাপত্র বিষয় মধ্যে থাকে এবং এবং সার্ভার শংসাপত্র একই সংখ্যক organizationName অ্যাট্রিবিউট, একই ক্রমের মধ্যে এবং এর সাথে রয়েছে বাইট টু বাইট অভিন্ন মান ধারণ করে।
+      নিয়মানুযায়ী যখন এই নীতি সেট করা হয় তখন সার্টিফিকেটের স্বচ্ছতার প্রয়োগ বন্ধ করতে, নিম্নলিখিত শর্তগুলির মধ্যে একটি মেলা আবশ্যক:
+      1. হ্যাশ হল সার্ভার subjectPublicKeyInfo-এর সার্টিফিকেট।
+      2. একটি subjectPublicKeyInfo-এর হ্যাশ যা সার্টিফিকেটের চেইনে একটি CA সার্টিফিকেটে প্রদর্শিত হবে, যা CA সার্টিফিকেট X.509v3 nameConstraints এক্সটেনশনের মাধ্যমে সীমাবদ্ধ হয়, এক বা একাধিক directoryName nameConstraints, permittedSubtrees-এ উপস্থিত থাকে এবং directoryName একটি ORGANIZATIONNAME অ্যাট্রিবিউট ধারণ করে।
+      3. একটি subjectPublicKeyInfo-এর হ্যাশ যা ক্রেডেনশিয়ালের চেইনে একটি CA সার্টিফিকেটে প্রদর্শিত হবে, CA সার্টিফিকেট এক বা তার বেশি organizationName অ্যাট্রিবিউটগুলি ক্রেডেনশিয়াল বিষয় মধ্যে থাকে এবং সার্ভার সার্টিফিকেট একই সংখ্যক organizationName অ্যাট্রিবিউট, একই ক্রমের মধ্যে এবং এর সাথে রয়েছে বাইট-টু-বাইট অভিন্ন মান ধারণ করে।
 
-      একটি subjectPublicKeyInfohash হ্যাশ কংক্যাটেনেটিং অ্যালগরিদম, নাম "/" অক্ষর দ্বারা নির্দিষ্ট করা হয় এবং ঐ হ্যাশ অ্যালগরিদম এর Base64 এনকোডিং নিদিষ্ট সার্টিফিকেটের DER- এনকোডেড subjectPublicKeyInfo প্রয়োগ হয়। এই Base64 এনকোডিংটি একটি SPKI আঙ্গুলের ছাপ হিসেবে একই বিন্যাস, RFC 7469- এ বর্ণিত, বিভাগ 2.4। অস্বীকৃত হ্যাশ অ্যালগরিদম উপেক্ষিত। এই সময়ে শুধুমাত্র সমর্থিত হ্যাশ অ্যালগরিদম "sha256" হয়।
+      একটি subjectPublicKeyInfohash হ্যাশ কংক্যাটেনেটিং অ্যালগরিদম, নাম "/" অক্ষর দ্বারা নির্দিষ্ট করা হয় এবং ঐ হ্যাশ অ্যালগরিদমের Base64 এনকোডিং নিদিষ্ট সার্টিফিকেটের DER-এনকোডেড subjectPublicKeyInfo প্রয়োগ হয়। এই Base64 এনকোডিংটি একটি SPKI আঙ্গুলের ছাপ হিসেবে একই বিন্যাস, RFC 7469- এ বর্ণিত, বিভাগ 2.4। অস্বীকৃত হ্যাশ অ্যালগরিদম উপেক্ষা করা হয়। এই সময়ে শুধুমাত্র সমর্থিত হ্যাশ অ্যালগরিদম "sha256" হয়।
 
-      যদি এই নীতিটি সেট না করা হয়, কোনও শংসাপত্র যা শংসাপত্র ট্রান্সপারেন্সি মাধ্যমে প্রকাশ করা প্রয়োজন তা অবিশ্বস্ত হিসাবে গণ্য করা হবে যদি এটি শংসাপত্রের স্বচ্ছতা নীতি অনুযায়ী প্রকাশ না করা হয়।</translation>
+      যদি এই নীতিটি সেট না করা হয়, কোনও সার্টিফিকেট যা সার্টিফিকেট ট্রান্সপারেন্সির মাধ্যমে প্রকাশ করা প্রয়োজন তা অবিশ্বস্ত হিসেবে গণ্য করা হবে যদি এটি সার্টিফিকেটের স্বচ্ছতা নীতি অনুযায়ী প্রকাশ না করা হয়।</translation>
 <translation id="7818131573217430250">লগইন স্ক্রীনে উচ্চ কনট্রাস্ট মোডের ডিফল্ট স্থিতি সেট করুন</translation>
 <translation id="7822837118545582721">এই নীতিটি সত্যতে সেট করা হলে, ব্যবহারকারীরা বহিঃস্থ সঞ্চয়স্থান ডিভাইসে কিছু লিখতে পারেন না।
 
@@ -3022,9 +3026,9 @@
 <translation id="787125417158068494">SyncDisabled এ সেট করা হলে বা কনফিগার করা না হলে, ARC-অ্যাপ্লিকেশানগুলির জন্য <ph name="PRODUCT_OS_NAME" /> শংসাপত্র উপলব্ধ হয় না।
 
       যদি CopyCaCerts এ সেট করা হয়, তাহলে ARC-অ্যাপ্লিকেশানগুলির জন্য <ph name="WEB_TRUSTED_BIT" /> সহ সব ONC-ইনস্টল হওয়া CA শংসাপত্র উপলব্ধ হয়।</translation>
-<translation id="7882585827992171421">এই নীতিটি কেবল খুচরো মোডে সক্রিয়৷
+<translation id="7882585827992171421">এই নীতিটি কেবল রিটেল মোডে সক্রিয়৷
 
-      সাইন-ইন স্ক্রিনে এক্সটেনশানের id কে স্ক্রিন সেভার হিসাবে ব্যবহারের জন্য নির্ধারিত করে৷ এক্সটেনশানটিকে অবশ্যই AppPack এর অংশ হতে হবে যা DeviceAppPack নীতির মাধ্যমে এই ডোমেইনের জন্য কনফিগার করা হয়েছে৷</translation>
+      সাইন-ইন স্ক্রিনে এক্সটেনশনের আডিকে স্ক্রিন সেভার হিসেবে ব্যবহারের জন্য নির্ধারিত করে৷ এক্সটেনশনটিকে অবশ্যই AppPack-এর অংশ হতে হবে যা DeviceAppPack নীতির মাধ্যমে এই ডোমেইনের জন্য কনফিগার করা হয়েছে৷</translation>
 <translation id="7882857838942884046">Google সিঙ্ক অক্ষম করা হলে ‘Android ব্যাকআপ এবং পুনরুদ্ধার’ সঠিকভাবে কাজ নাও করতে পারে।</translation>
 <translation id="7882890448959833986">অসমর্থিত OS সতর্কবার্তা গোপন রাখুন</translation>
 <translation id="7892077286206685156">
@@ -3039,7 +3043,7 @@
       ভিডিও ক্যাপচার ডিভাইসগুলির অ্যাক্সেস অনুমোদিত হবে।
 
       দ্রষ্টব্য: ভার্সন ৪৫ পর্যন্ত এই নীতি শুধুমাত্র Kiosk মোডে সমর্থিত ছিল।</translation>
-<translation id="7912255076272890813">অনুমতিপ্রাপ্ত অ্যাপ্লিকেশন/এক্সটেনশন প্রকারগুলি কনফিগার করুন</translation>
+<translation id="7912255076272890813">অনুমতিপ্রাপ্ত অ্যাপ/এক্সটেনশনের প্রকারগুলি কনফিগার করুন</translation>
 <translation id="7915236031252389808">আপনি এখানে কোনো প্রক্সীর .pac ফাইলের একটি URL নির্দিষ্ট করতে পারেন৷
 
           এই নীতিটি কেবল তখনই কার্যকর হয় যদি আপনি 'কীভাবে প্রক্সী সার্ভার সেটিংস চয়ন করতে হয়' এ ম্যানুয়ালি প্রক্সী সেটিংস নির্বাচন করে থাকেন৷
@@ -3174,17 +3178,17 @@
           আপনি যদি এই নীতিটি সেট করেন, তাহলে ব্যবহারকারীরা এটি পরিবর্তন বা ওভাররাইড করতে পারবেন না৷
 
           যদি এই নীতিটি সেট না করে ফেলে রাখা হয়, তাহলে শুরুতে উচ্চ বৈসাদৃশ্য মোড অক্ষম থাকে কিন্তু ব্যবহারকারী যেকোনো সময় সক্ষম করতে পারেন৷</translation>
-<translation id="815061180603915310">যদি সক্ষম হিসাবে সেট করা থাকে, তবে এই নীতি প্রোফাইলকে অল্পক্ষণস্থায়ী মোডে পরিবর্তিত হতে জোর দেয়। যদি এই নীতিটি OS নীতি হিসাবে নির্দিষ্ট করা থাকে (উদাঃ Windows এ GPO), তবে এটি সিস্টেমের প্রত্যেক প্রোফাইলে প্রয়োগ করা হবে; যদি এই নীতি একটি ক্লাউড নীতি হিসাবে সেট করা থাকে, তবে এটি শুধুমাত্র পরিচালিত অ্যাকাউন্ট দিয়ে সাইন ইন করা প্রোফাইলে প্রয়োগ করা হবে।
+<translation id="815061180603915310">যদি চালু হিসেবে সেট করা থাকে, তবে এই নীতি প্রোফাইলকে ক্ষণস্থায়ী মোডে পরিবর্তিত হতে জোর দেয়। যদি এই নীতিটি OS নীতি হিসেবে নির্দিষ্ট করা থাকে (উদাঃ Windows-এ GPO), তবে এটি সিস্টেমের প্রত্যেক প্রোফাইলে প্রয়োগ করা হবে; যদি এই নীতি একটি ক্লাউড নীতি হিসেবে সেট করা থাকে, তবে এটি শুধুমাত্র পরিচালিত অ্যাকাউন্ট দিয়ে সাইন-ইন করা প্রোফাইলে প্রয়োগ করা হবে।
 
-      এই মোডে, প্রোফাইলের ডেটা শুধুমাত্র ব্যবহারকারীর সেশনের সময় পর্বের জন্য ডিস্কে থাকে। ব্রাউজারের ইতিহাস, এক্সটেনশানের মতো বৈশিষ্ট্য এবং সেগুলির ডেটা, কুকিজ ও ওয়েব ডেটাবেসের মতো ওয়েব ডেটা, ব্রাউজার বন্ধ করার পরে সংরক্ষিত থাকে না। যদিও এটি ব্যবহারকারীকে নিজের থেকে ডিস্কে কোনো ডেটা ডাউনলোড করা, পৃষ্ঠাগুলি সংরক্ষণ করা বা সেগুলির মূদ্রণ করতে বাধা দেয় না।
+      এই মোডে, প্রোফাইলের ডেটা শুধুমাত্র ব্যবহারকারীর সেশনের সময় পর্বের জন্য ডিস্কে থাকে। ব্রাউজারের ইতিহাস, এক্সটেনশনের মতো বৈশিষ্ট্য এবং সেগুলির ডেটা, কুকিজ ও ওয়েব ডেটাবেসের মতো ওয়েব ডেটা, ব্রাউজার বন্ধ করার পরে সংরক্ষিত থাকে না। যদিও এটি ব্যবহারকারীকে নিজের থেকে ডিস্কে কোনও ডেটা ডাউনলোড করা, পৃষ্ঠাগুলি সেভ করা বা সেগুলির প্রিন্ট করতে বাধা দেয় না।
 
-      ব্যবহারকারী যদি সিঙ্ক করা সক্ষম করে থাকে, তবে এই সমস্ত ডেটা নিয়মিত প্রোফাইলের মতোই তার সিঙ্ক প্রোফাইলে সংরক্ষিত হয়। ছদ্মবেশী মোড স্পষ্টভাবে নীতি দ্বারা অক্ষম করা না হলে, তাও উপলব্ধ থাকে।
+      ব্যবহারকারী যদি সিঙ্ক করা চালু করে থাকে, তবে এই সমস্ত ডেটা নিয়মিত প্রোফাইলের মতোই তার সিঙ্ক প্রোফাইলে সেভ হয়। ছদ্মবেশী মোড স্পষ্টভাবে নীতি দ্বারা বন্ধ করা না হলে, তাও উপলভ্য থাকে।
 
-      যদি নীতি অক্ষম করা থাকে বা কিছুই সেট করা না থাকে, তাহলে সাইন ইন করার পরে তা নিয়মিত প্রোফাইলে যায়।</translation>
+      যদি নীতি বন্ধ করা থাকে বা কিছুই সেট করা না থাকে, তাহলে সাইন-ইন করার পরে তা নিয়মিত প্রোফাইলে যায়।</translation>
 <translation id="8158758865057576716"><ph name="PRODUCT_NAME" /> প্রোফাইল ডেটার জন্য রোমিং কপি তৈরি করা সক্ষম করে।</translation>
-<translation id="8172676363520748127">যদি সক্ষম থাকে তাহলে কীবোর্ড শর্টকাট বা এক্সটেনশন API ব্যবহার করে স্ক্রিনশট নেওয়া যাবে না।
+<translation id="8172676363520748127">যদি চালু থাকে তাহলে কীবোর্ড শর্টকাট বা এক্সটেনশন এপিআই ব্যবহার করে স্ক্রিনশট নেওয়া যাবে না।
 
-      যদি অক্ষম থাকে বা নির্দিষ্ট না করা থাকে তাহলে, স্ক্রিনশট নেওয়া যেতে পারবে।</translation>
+      যদি বন্ধ থাকে বা নির্দিষ্ট না করা থাকে তাহলে, স্ক্রিনশট নেওয়া যাবে।</translation>
 <translation id="817455428376641507">URL কালোতালিকাটির ব্যতিক্রম হিসাবে তালিকাবদ্ধ URLগুলিতে অ্যাক্সেসের অনুমতি দেয়৷
 
       এই তালিকাটির এন্ট্রিগুলির বিন্যাসটির জন্য URL কালোতালিকা নীতির বিবরণ দেখুন৷
@@ -3277,13 +3281,13 @@
 <translation id="8359734107661430198">২০০৮/০৯/০২ এর মধ্যের ExampleDeprecatedFeature API সক্ষম করুন</translation>
 <translation id="8367209241899435947">Windows এ Chrome ক্লিনআপ চালু করুন</translation>
 <translation id="8369602308428138533">AC পাওয়ার চলাকালীন স্ক্রিন বন্ধে বিলম্ব</translation>
-<translation id="8380490658357556620">যখন দূরবর্তী ক্লায়েন্ট এই মেশিনের সঙ্গে একটি সংযোগ স্থাপনের চেষ্টা করে তখন রিলে সার্ভারগুলিকে সক্ষম করে।
+<translation id="8380490658357556620">যখন রিমোট ক্লায়েন্ট এই মেশিনের সঙ্গে একটি সংযোগ স্থাপনের চেষ্টা করে তখন রিলে সার্ভারগুলিকে চালু করে।
 
-          যদি এই সেটিং সক্ষম থাকে এবং যখন একটি সরাসরি সংযোগ (উদাঃ ফায়ারওয়াল জনিত নিষেধাজ্ঞার কারণে) উপলব্ধ থাকে না তখন দূরবর্তী ক্লায়েন্ট এই মেশিনে সংযোগ করতে রিলে সার্ভারগুলি ব্যবহার করবে।
+          যদি এই সেটিং চালু থাকে এবং যখন একটি সরাসরি সংযোগ (উদাঃ ফায়ারওয়াল জনিত নিষেধাজ্ঞার কারণে) উপলভ্য থাকে না তখন রিমোট ক্লায়েন্ট এই মেশিনে সংযোগ করতে রিলে সার্ভারগুলি ব্যবহার করবে।
 
-          মনে রাখবেন যদি <ph name="REMOTE_ACCESS_HOST_FIREWALL_TRAVERSAL_POLICY_NAME" /> নীতি অক্ষম করা থাকে, তাহলে এই নীতি অগ্রাহ্য করা হবে।
+          মনে রাখবেন যদি <ph name="REMOTE_ACCESS_HOST_FIREWALL_TRAVERSAL_POLICY_NAME" /> নীতি বন্ধ করা থাকে, তাহলে এই নীতি অগ্রাহ্য করা হবে।
 
-          যদি এই নীতি সেট না করে ছেড়ে রাখা হয় তাহলে সেটিং সক্ষম করা হবে।</translation>
+          যদি এই নীতি সেট না করে ছেড়ে রাখা হয় তাহলে সেটিং চালু করা হবে।</translation>
 <translation id="8382184662529825177">ডিভাইসটির ক্ষেত্রে সামগ্রী সুরক্ষার জন্য রিমোট প্রত্যায়নের ব্যবহার সক্ষম করুন</translation>
 <translation id="838870586332499308">ডেটা বিচরণ সক্ষম করুন</translation>
 <translation id="8390049129576938611"><ph name="PRODUCT_NAME" /> এ অভ্যন্তরীণ PDF ভিউয়ার অক্ষম করে। এর পরিবর্তে এটিকে ডাউনলোড হিসাবে বিবেচনা করে এবং ডিফল্ট অ্যাপ্লিকেশান দিয়ে PDF ফাইল খোলার জন্য ব্যবহারকারীকে অনুমতি দেয়।
@@ -3307,6 +3311,13 @@
 <translation id="8465065632133292531">POST ব্যবহার করে এমন ঝটপট URL এর প্যারামিটারগুলি</translation>
 <translation id="847472800012384958">পপআপ দেখানোর জন্য কোনও সাইটকে মঞ্জুরি দেবেন না</translation>
 <translation id="8477885780684655676">TLS 1.0</translation>
+<translation id="8483004350080020634">প্রক্সি রেজোলিউশনের সময়, <ph name="PRODUCT_NAME" />-এর ব্যবহার করা PAC স্ক্রিপ্টে (Proxy Auto Config) পাঠানোর আগে https:// ইউআরএলের গোপনীয়তা এবং নিরাপত্তার বিষয়ে সংবেদনশীল অংশগুলি সরিয়ে দেয়।
+
+      ট্রু হলে, নিরাপত্তা ফিচারটি চালু করা থাকে এবং PAC স্ক্রিপ্টে জমা দেওয়ার আগে https:// ইউআরএলের সংবেদনশীল অংশ সরিয়ে দেয়। এই পদ্ধতিতে এনক্রিপ্ট করা চ্যানেলের (যেমন, ইউআরএলের পাথ ও কোয়েরি) মাধ্যমে সাধারণভাবে সুরক্ষিত ডেটা PAC স্ক্রিপ্ট দেখতে পায় না।
+     ফলস হলে, নিরাপত্তা ফিচারটি বন্ধ করা থাকে এবং https:// ইউআরএলের সব উপাদানগুলি দেখার অনুমতি PAC স্ক্রিপ্টের থাকে। উৎস নির্বিশেষে (অরক্ষিত ট্রান্সপোর্ট ব্যবহার করে ফেচ করা অথবা WPAD-এর মাধ্যমে অরক্ষিতভাবে খুঁজে পাওয়া সহ) এটি সব PAC স্ক্রিপ্টের ক্ষেত্রে প্রযোজ্য হয়।
+     এটি ডিফল্টভাবে ট্রু থাকে (নিরাপত্তা ফিচার চালু করা থাকে)।
+     এটি ট্রু হিসেবে সেট করে রাখার জন্য প্রস্তাব করা হচ্ছে। এটিকে ফলস হিসেবে সেট করার একমাত্র কারণ হল আগে থেকেই আছে এমন PAC স্ক্রিপ্টের সাথে মানানসই না হওয়ার সমস্যা।
+      M75-এ এই নীতি সরিয়ে দেওয়া হবে।</translation>
 <translation id="8484458986062090479">হোস্ট ব্রাউজার দিয়ে সর্বদা রেন্ডার করা উচিত এমন URL এর তালিকাটি কাস্টোমাইজ করুন।
 
           যদি এই নীতিটি সেট করা না থাকে, তাহলে সমস্ত সাইটের জন্য 'ChromeFrameRendererSettings' নীতি অনুসারে ডিফল্ট রেন্ডারার ব্যবহার করা হবে।
@@ -3352,7 +3363,7 @@
 <translation id="8587229956764455752">নতুন ব্যবহারকারীর অ্যাকাউন্ট সৃষ্টি করার অনুমতি প্রদান করুন</translation>
 <translation id="8598350264853261122">এই নীতিটি 'ফল্স' হিসেবে সেট করা হলে অননুমোদিত ব্যবহারকারীরা ARC ব্যবহার করতে পারবেন না।
 
-      এটি সেট করা না হলে অথবা 'ট্রু'-তে সেট করা হলে সমস্ত ব্যবহারকারী ARC ব্যবহার করতে পারবেন (যদি না অন্য কোনও উপায়ে ARC অক্ষম করা হয়ে থাকে)।
+      এটি সেট করা না হলে অথবা 'ট্রু'-তে সেট করা হলে সমস্ত ব্যবহারকারী ARC ব্যবহার করতে পারবেন (যদি না অন্য কোনও উপায়ে ARC বন্ধ করা হয়ে থাকে)।
 
       এই নীতিতে কোনও পরিবর্তন করা হলে তা শুধুমাত্র ARC চালু থাকা অবস্থাতেই প্রয়োগ করা হবে, যেমন, Chrome OS চালু হওয়ার সময়।</translation>
 <translation id="8631434304112909927"><ph name="UNTIL_VERSION" /> সংস্করণ অবধি</translation>
@@ -3576,7 +3587,7 @@
       আপনি যদি এই নীতি সেট করেন তাহলে ব্যবহারকারীরা এটি পরিবর্তন বা ওভাররাইড করতে পারেন না।
 
       যদি এই নীতি সেট না করেই ছেড়ে দেওয়া হয় তাহলে ব্যবহারকারী লগ-ইনের স্ক্রিনে তার অবতার ফটো বেছে নিতে পারবেন।</translation>
-<translation id="9035964157729712237">কালো তালিকা থেকে ব্যতিক্রম করতে এক্সটেনশন আইডিগুলি</translation>
+<translation id="9035964157729712237">যে এক্সটেনশন আইডিগুলি কালোতালিকা থেকে বাদ দিতে হবে</translation>
 <translation id="9039822628127365650">এই নীতি সেট করা হলে, যে সময় পরে একজন ব্যবহারকারী স্বয়ংক্রিয়ভাবে লগ-আউট হয়ে যান এবং সেশনটি সংযোগ বিচ্ছিন্ন হয়ে যায় তা নির্দিষ্ট করে। সিস্টেম ট্রেতে একটি কাউন্টডাউন টাইমারের মাধ্যমে বাকি থাকা সময়ের বিষয়ে ব্যবহারকারীকে জানানো হয়।
 
       যখন এই নীতি সেট করা হয় না, তখন সময় দৈর্ঘ্য সীমাবদ্ধ নয়।
@@ -3673,7 +3684,7 @@
 
           এই নীতিটি সেট না করে রাখা হলে '৩' ব্যবহার করা হবে এবং ব্যবহারকারী এটি পরিবর্তন করতে পারবেন।</translation>
 <translation id="9167719789236691545"><ph name="PRODUCT_OS_NAME" /> ফাইল অ্যাপে ড্রাইভ বন্ধ করুন</translation>
-<translation id="9185107612228451403">এক্সটেনশন সম্পর্কিত নীতি কনফিগার করে। কালোতালিকাভুক্ত এক্সটেনশনগুলি সাদাতালিকাভুক্ত না হওয়া পর্যন্ত সেগুলি লোড করার জন্য ব্যবহারকারীরা অনুমতি প্রাপ্ত নন। আপনি <ph name="EXTENSION_INSTALL_FORCELIST_POLICY_NAME" /> এ এক্সটেনশনগুলিকে নির্দিষ্ট করে <ph name="PRODUCT_NAME" /> কে অটোমেটিক ইনস্টল করার জন্য জোর করতে পারেন। জোর করে ইনস্টল করা এক্সটেনশনগুলি কালোতালিকায় আছে কিনা তা নির্বিশেষে ইনস্টল করা হয়।</translation>
+<translation id="9185107612228451403">এক্সটেনশন সম্পর্কিত নীতি কনফিগার করে। কালোতালিকাভুক্ত এক্সটেনশনগুলি সাদাতালিকাভুক্ত না হওয়া পর্যন্ত সেগুলি লোড করার জন্য ব্যবহারকারীরা অনুমতি প্রাপ্ত নন। আপনি <ph name="EXTENSION_INSTALL_FORCELIST_POLICY_NAME" /> এ এক্সটেনশনগুলিকে নির্দিষ্ট করে <ph name="PRODUCT_NAME" />-কে অটোমেটিক ইনস্টল করার জন্য জোর করতে পারেন। জোর করে ইনস্টল করা এক্সটেনশনগুলি কালোতালিকায় আছে কিনা তা নির্বিশেষে ইনস্টল করা হয়।</translation>
 <translation id="9187743794267626640">বাহ্যিক সঞ্চয়স্থানের মাউন্টিং অক্ষম করুন</translation>
 <translation id="9197740283131855199">যদি অনুজ্জ্বলতার পর ব্যবহারকারী সক্রিয় হয় তাহলে স্ক্রীনের অনুজ্জ্বলতা বিলম্ব যে শতাংশের দ্বারা স্কেল করা হয়</translation>
 <translation id="9200828125069750521">POST ব্যবহার করে এমন ছবি URL এর প্যারামিটারগুলি</translation>
@@ -3691,15 +3702,15 @@
       যখন এই নীতিটি ClientCertificate (মান 1) -এ সেট করা হয়, ক্লায়েন্ট শংসাপত্রের প্রমাণীকরণটি নতুন করে সংযোজিত ব্যবহারকারীদের জন্য ব্যবহৃত হয় যা SAML এর মাধ্যমে লগ-ইন করে। এই ধরনের ব্যবহারকারীদের জন্য কোনও পাসওয়ার্ড ব্যবহার করা হয় না এবং তাদের ক্যাশড স্থানীয় ডেটা সংশ্লিষ্ট ক্রিপ্টোগ্রাফিক কী ব্যবহার করে সুরক্ষিত করা হয়। দৃষ্টান্তস্বরূপ, এই সেটিং স্মার্ট কার্ড ভিত্তিক ব্যবহারকারীর প্রমাণীকরণ কনফিগার করার অনুমতি দেয় (মনে রাখবেন যে স্মার্ট কার্ড মিডিলওয়্যার অ্যাপগুলিকে DeviceLoginScreenAppInstallList নীতির মাধ্যমে ইনস্টল করে রাখতে হবে)।
 
       এই নীতি শুধুমাত্র SAML ব্যবহার করে প্রমাণীকরণ করেন এমন ব্যবহারকারীদের ক্ষেত্রে কার্যকর।</translation>
-<translation id="9213347477683611358">ডিভাইসটিতে এখনও কোনো ব্যবহারকারী প্রবেশ না করে থাকলে, লগইন স্ক্রীনে যে ডিভাইস-নির্ভর ওয়ালপেপার দেখানো হয় সেটিকে কনফিগার করে। Chrome OS ডিভাইস যে URL এর মাধ্যমে ওয়ালপেপার ছবিটি ডাউনলোড করতে পারে সেটি নির্দিষ্ট করার মাধ্যমে নীতিটিকে সেট করা হয় এবং ডাইনলোডটির অখণ্ডতা যাচাই করতে একটি ক্রিপ্টোগ্রাফিক হ্যাশ ব্যবহার করা হয়। ছবিটিকে অবশ্যই JPEG ফর্ম্যাটের হতে হবে, এই ফাইলের আকার ১৬MB এর বেশি হতে পারবে না। কোনো প্রমাণীকরণ ছাড়াই URLটি অ্যাক্সেসযোগ্য হতে হবে। ওয়ালপেপার ছবিটি ডাইনলোড করে ক্যাশেতে সঞ্চিত করা হয়। URL বা হ্যাশ পরিবর্তিত হলেই এটি আবার ডাইনলোড হয়।
+<translation id="9213347477683611358">ডিভাইসটিতে এখনও কোনও ব্যবহারকারী সাইন-ইন করে না থাকলে, লগ-ইন স্ক্রিনে যে ডিভাইস-লেভেলের ওয়ালপেপার দেখানো হয় সেটিকে কনফিগার করে। Chrome OS ডিভাইস যে ইউআরএল-এর মাধ্যমে ওয়ালপেপার ছবিটি ডাউনলোড করতে পারে সেটি নির্দিষ্ট করার মাধ্যমে নীতিটিকে সেট করা হয় এবং ডাইনলোডটির অখণ্ডতা যাচাই করতে একটি ক্রিপ্টোগ্রাফিক হ্যাশ ব্যবহার করা হয়। ছবিটিকে অবশ্যই JPEG ফর্ম্যাটের হতে হবে, এই ফাইলের আকার ১৬এমবি-এর বেশি হতে পারবে না। কোনও প্রমাণীকরণ ছাড়াই ইউআরএল-টি অ্যাক্সেসযোগ্য হতে হবে। ওয়ালপেপারের ছবিটি ডাইনলোড করে ক্যাশেতে সঞ্চিত করা হয়। ইউআরএল বা হ্যাশ পরিবর্তিত হলেই এটি পুনরায় ডাইনলোড হয়।
 
-      নীতিটিকে একটি স্ট্রিং হিসেবে নির্দিষ্ট করতে হবে যেখানে JSON ফর্ম্যাটে URL ও হ্যাশ থাকতে হবে, উদাঃ,
+      নীতিটিকে একটি স্ট্রিং হিসেবে নির্দিষ্ট করতে হবে যেখানে JSON ফর্ম্যাটে ইউআরএল ও হ্যাশ থাকতে হবে, উদাঃ,
       {
         "url": "https://example.com/device_wallpaper.jpg",
         "hash": "examplewallpaperhash"
       }
 
-      যদি ডিভাইস ওয়ালপেপার নীতি সেট করা হয়, তাহলে ডিভাইসটিতে এখনও কোনো ব্যবহারকারী প্রবেশ না করে থাকলে Chrome OS ডিভাইস ওয়ালপেপার ছবিটি ডাউনলোড করে সেটিকে লগইন স্ক্রীনে ব্যবহার করবে। ব্যবহারকারী প্রবেশ করলে, ব্যবহারকারীর ওয়ালপেপার নীতি কার্যকরী হবে।
+      যদি ডিভাইস ওয়ালপেপার নীতি সেট করা হয়, তাহলে ডিভাইসটিতে এখনও কোনও ব্যবহারকারী সাইন-ইন করে  না থাকলে Chrome OS ডিভাইস ওয়ালপেপারের ছবিটি ডাউনলোড করে সেটিকে লগ-ইন স্ক্রিনে ব্যবহার করবে। ব্যবহারকারী সাইন-ইন করলে, ব্যবহারকারীর ওয়ালপেপার নীতি কার্যকরী হবে।
 
       যদি ডিভাইস ওয়ালপেপার নীতি সেট না করে রাখা হয়, তাহলে ব্যবহারকারীর ওয়ালপেপার নীতি সেট করা থাকলে, কি দেখানো হবে সেটি সেই নীতি দ্বারা নির্ধারিত হয়।</translation>
 <translation id="9217154963008402249">নেটওয়ার্ক প্যাকেট পর্যবেক্ষণ সংঘটনের হার</translation>
diff --git a/components/policy/resources/policy_templates_ca.xtb b/components/policy/resources/policy_templates_ca.xtb
index f7a6ace..0c065df0 100644
--- a/components/policy/resources/policy_templates_ca.xtb
+++ b/components/policy/resources/policy_templates_ca.xtb
@@ -121,6 +121,7 @@
 
       NOTA: aquesta política no s'aplica a Android. S'hi pot substituir per IsolateOriginsAndroid.
       </translation>
+<translation id="1377024960658062022">Activa l'API Hardware Platform en extensions instal·lades amb la política</translation>
 <translation id="1384459581748403878">Referència: <ph name="REFERENCE_URL" /></translation>
 <translation id="1387596372902085462">Determina si es confia en la infraestructura de PKI heretada de Symantec Corporation</translation>
 <translation id="1393485621820363363">Impressores activades per a dispositius d'empresa</translation>
@@ -438,6 +439,9 @@
 <translation id="2201555246697292490">Configura la llista blanca de missatgeria nativa</translation>
 <translation id="2204753382813641270">Controla l'opció d'amagar el prestatge automàticament</translation>
 <translation id="2208976000652006649">Paràmetres per a l'URL de cerca que utilitza POST</translation>
+<translation id="2214880135980649323">Quan aquesta política està activada, les extensions instal·lades amb la política d'empresa tenen permís per utilitzar l'API Enterprise Hardware Platform.
+      Quan aquesta política està desactivada o no s'estableix, no es permet que cap extensió utilitzi l'API Enterprise Hardware Platform.
+      Aquesta política també s'aplica a extensions de components com ara l'extensió Hangout Services.</translation>
 <translation id="2223598546285729819">Configuració de notificacions predeterminada</translation>
 <translation id="2231817271680715693">Importació de l'historial de navegació des del navegador predeterminat en la primera execució</translation>
 <translation id="2236488539271255289">No permetis que cap lloc estableixi dades locals</translation>
@@ -1847,7 +1851,7 @@
       De manera predeterminada, una extensió no pot utilitzar una clau designada per a l'ús corporatiu, que equival a establir allowCorporateKeyUsage en "false" per a l'extensió en qüestió.
 
       L'únic cas en què una extensió pot utilitzar una clau de plataforma marcada per a l'ús corporatiu per signar dades arbitràries és si allowCorporateKeyUsage s'estableix en "true". Aquest permís només s'ha de concedir si es confia que l'extensió protegeixi la clau contra l'accés d'atacants.</translation>
-<translation id="6208896993204286313">Proporciona informació sobre la política <ph name="PRODUCT_NAME" /></translation>
+<translation id="6208896993204286313">Proporciona informació sobre les polítiques relatives a <ph name="PRODUCT_NAME" /></translation>
 <translation id="6210259502936598222">Proporciona informació sobre el sistema operatiu i la versió del producte <ph name="PRODUCT_NAME" /></translation>
 <translation id="6211428344788340116">Informa dels períodes de temps d'activitat del dispositiu.
 
@@ -1945,7 +1949,7 @@
 <translation id="6628646143828354685">Us permet definir si els llocs web poden obtenir accés a dispositius Bluetooth propers. Es pot bloquejar completament o es pot consultar a l'usuari cada cop que un lloc web vulgui obtenir accés a dispositius Bluetooth propers.
 
           Si aquesta política es deixa sense establir, es farà servir el valor "3" i l'usuari podrà canviar-lo.</translation>
-<translation id="663685822663765995">Restringeix el mode de color d'impressió</translation>
+<translation id="663685822663765995">Restringeix el mode d'impressió en color</translation>
 <translation id="6641981670621198190">Desactiva la compatibilitat amb API de gràfics en 3D</translation>
 <translation id="6647965994887675196">Si es defineix com a vertader, es poden crear usuaris supervisats i es poden fer servir.
 
@@ -2387,8 +2391,8 @@
 <translation id="7617319494457709698">Aquesta política especifica les extensions que tenen permís per utilitzar la funció <ph name="CHALLENGE_USER_KEY_FUNCTION" /> de l'<ph name="ENTERPRISE_PLATFORM_KEYS_API" /> per a la confirmació remota. Les extensions s'han d'afegir a aquesta llista per poder utilitzar l'API.
 
           Si no s'estableix la llista o no s'hi inclou alguna extensió, les crides a l'API tornaran un codi d'error.</translation>
-<translation id="7618907117929117943">Torna a la versió de destinació si la versió del sistema operatiu és més recent que la de destinació i es pot dur a terme una configuració a nivell del dispositiu (que inclogui les credencials de xarxa) mitjançant la reversió, també ometre OOBE després de la reversió. No duguis a terme o cancel·lis la reversió si no és possible (perquè la versió de destinació no admet la restauració de dades o a causa d'un canvi incompatible amb versions anteriors).
-          S'admet a <ph name="PRODUCT_OS_NAME" /> versió 70 i posteriors. En clients més antics, aquest valor indica que la reversió està desactivada.</translation>
+<translation id="7618907117929117943">Torna a la versió de destinació si la versió del sistema operatiu és més recent que la de destinació i es pot dur a terme una configuració a nivell del dispositiu (que inclogui les credencials de xarxa) mitjançant la reversió, i també ometre OOBE després de la reversió. No duguis a terme o cancel·lis la reversió si no és possible, ja sigui perquè la versió de destinació no admet la restauració de dades o a causa d'un canvi incompatible amb versions anteriors.
+          S'admet a <ph name="PRODUCT_OS_NAME" /> en la versió 70 i posteriors. En clients més antics, aquest valor indica que la reversió està desactivada.</translation>
 <translation id="7625444193696794922">Especifica el canal de llançament al qual aquest dispositiu s'hauria de bloquejar.</translation>
 <translation id="7632724434767231364">Nom de la biblioteca GSSAPI</translation>
 <translation id="7635471475589566552">Defineix la configuració regional de les aplicacions a <ph name="PRODUCT_NAME" /> i impedeix que els usuaris la modifiquin. Si activeu aquest paràmetre, <ph name="PRODUCT_NAME" /> fa servir la configuració regional especificada. Si aquesta configuració regional no és compatible, es fa servir "en-US" en lloc seu. Si aquest paràmetre està desactivat o bé si no està configurat, <ph name="PRODUCT_NAME" /> fa servir la configuració regional preferida que hagi especificat l'usuari (en cas que n'hagi configurat cap), la configuració regional del sistema o bé la configuració regional alternativa "en-US".</translation>
@@ -2570,7 +2574,7 @@
       Si actives aquesta opció de configuració o no hi estableixes cap valor, els usuaris podran continuar controlant Emplenament automàtic. D'aquesta manera, podran configurar perfils d'Emplenament automàtic i activar o desactivar Emplenament automàtic segons el seu criteri.</translation>
 <translation id="8044493735196713914">Informa del mode d'inici del dispositiu</translation>
 <translation id="8050080920415773384">Impressió nativa</translation>
-<translation id="8053580360728293758">Substitueix el mode de color d'impressió predeterminat. Si el mode no està disponible, aquesta política s'ignora.</translation>
+<translation id="8053580360728293758">Substitueix el mode d'impressió en color predeterminat. Si el mode no està disponible, aquesta política s'ignora.</translation>
 <translation id="8059164285174960932">URL on els clients d'accés remot han d'obtenir el testimoni d'autenticació</translation>
 <translation id="8078366200175825572">Permet definir una llista de patrons d'URL que especifiquin els llocs web que no poden establir galetes.
 
@@ -2735,6 +2739,25 @@
 <translation id="8465065632133292531">Paràmetres per a l'URL instantani que utilitza POST</translation>
 <translation id="847472800012384958">No permetis que cap lloc mostri elements emergents</translation>
 <translation id="8477885780684655676">TLS 1.0</translation>
+<translation id="8483004350080020634">Suprimeix les parts dels URL de tipus https:// que contenen informació sensible i de seguretat abans d'enviar-los als scripts PAC (configuració automàtica de servidor intermediari) que utilitza <ph name="PRODUCT_NAME" /> durant la resolució del servidor intermediari.
+
+      Quan s'estableix en "true", s'activa la funció de seguretat i se suprimeixen els URL de tipus https://
+      abans d'enviar-los a un script PAC. D'aquesta manera, l'script PAC
+      no podrà veure la informació que normalment està protegida per un
+      canal encriptat (com el camí i la consulta de l'URL).
+
+      Quan s'estableix en "false", es desactiva la funció de seguretat i, per tant, implícitament els scripts
+      poden veure tots els components d'un URL de tipus https://.
+      Aquesta opció de configuració s'aplica a tots els scripts PAC independentment de l'origen (com ara
+      els scripts obtinguts amb un mètode de transport no segur o els obtinguts de manera no segura
+      amb l'optimització WPAD).
+
+      S'estableix en "true" de manera predeterminada (funció de seguretat activada).
+
+      Es recomana establir-la en "true". L'única raó per establir-la en
+      "false" és que hi hagi problemes de compatibilitat amb els scripts PAC existents.
+
+      Aquesta política se suprimirà a M75.</translation>
 <translation id="8484458986062090479">Personalitza la llista de patrons d'URL que ha de renderitzar sempre el navegador amfitrió.
 
 
@@ -2768,7 +2791,7 @@
       En aquesta política, "versió" pot ser una versió exacta com ara "61.0.3163.120" o un prefix per a la versió com ara "61.0".  </translation>
 <translation id="8544375438507658205">Renderitzador HTML predeterminat per a <ph name="PRODUCT_FRAME_NAME" /></translation>
 <translation id="8544465954173828789">Permet que se sincronitzin missatges SMS del telèfon al dispositiu Chromebook.</translation>
-<translation id="8548832052135586762">Estableix la impressió en només color, només monocroma o sense restriccions en el mode de color. Si la política no s'estableix, no s'aplica cap restricció.</translation>
+<translation id="8548832052135586762">Estableix la impressió només en color, només monocroma o sense cap restricció de color. Si la política no s'estableix, no s'aplica cap restricció.</translation>
 <translation id="8549772397068118889">Mostra un advertiment quan es visitin llocs no inclosos en paquets de contingut.</translation>
 <translation id="8566842294717252664">Amaga Web Store a la pàgina Pestanya nova i al Menú d'aplicacions</translation>
 <translation id="8586528890725660268">Especifica les impressores que un usuari no pot fer servir.
@@ -2954,8 +2977,8 @@
 <translation id="9084985621503260744">Especifica si l'activitat de vídeo afecta la gestió d'alimentació</translation>
 <translation id="9088433379343318874">Activa el proveïdor de contingut de l'usuari supervisat</translation>
 <translation id="9088444059179765143">Configura el mètode de detecció automàtica de la zona horària</translation>
-<translation id="9094064873808699479">Torna a la versió de destinació si la versió del sistema operatiu és més recent que la de destinació. Prova de dur a terme una configuració a nivell del dispositiu (que inclou credencials de xarxa) mitjançant el procés de reversió sempre que sigui possible. Executa la reversió amb la funció Powerwash completa, fins i tot si no es poden restaurar les dades (perquè la versió de destinació no admet la restauració de dades o a causa d'un canvi incompatible amb versions anteriors).
-          S'admet a <ph name="PRODUCT_OS_NAME" /> versió 70 i posteriors. En clients més antics, aquest valor indica que la reversió està desactivada.</translation>
+<translation id="9094064873808699479">Torna a la versió de destinació si la versió del sistema operatiu és més recent que la de destinació. Prova de dur a terme una configuració a nivell del dispositiu (que inclogui les credencials de xarxa) mitjançant el procés de reversió sempre que sigui possible. Executa la reversió amb la funció Powerwash completa, fins i tot si no es poden restaurar les dades, ja sigui perquè la versió de destinació no admet la restauració de dades o a causa d'un canvi incompatible amb versions anteriors.
+          S'admet a <ph name="PRODUCT_OS_NAME" /> en la versió 70 i posteriors. En clients més antics, aquest valor indica que la reversió està desactivada.</translation>
 <translation id="9096086085182305205">Llista blanca del servidor d'autenticació</translation>
 <translation id="9098553063150791878">Polítiques per a l'autenticació HTTP</translation>
 <translation id="9105265795073104888">Les aplicacions per a Android tenen disponible un subconjunt d'opcions de configuració per al servidor intermediari. No pots forçar-les a utilitzar un servidor intermediari, sinó que és decisió d'elles.</translation>
diff --git a/components/policy/resources/policy_templates_cs.xtb b/components/policy/resources/policy_templates_cs.xtb
index 51fd46d3..0c714fd9 100644
--- a/components/policy/resources/policy_templates_cs.xtb
+++ b/components/policy/resources/policy_templates_cs.xtb
@@ -120,6 +120,7 @@
 
       POZNÁMKA: Tato zásada nefunguje na zařízeních Android. K aktivaci zásady IsolateOrigins na zařízeních Android použijte zásadu IsolateOriginsAndroid.
       </translation>
+<translation id="1377024960658062022">Aktivuje rozhraní Hardware Platform API pro rozšíření nainstalovaná zásadami</translation>
 <translation id="1384459581748403878">Reference: <ph name="REFERENCE_URL" /></translation>
 <translation id="1387596372902085462">Zda důvěřovat starší infrastruktuře PKI od společnosti Symantec</translation>
 <translation id="1393485621820363363">Povolené podnikové tiskárny pro zařízení</translation>
@@ -366,7 +367,7 @@
 <translation id="2116790137063002724">Tato zásada určuje, zda se mají hlásit informace, pomocí kterých lze identifikovat uživatele, jako jsou například přihlašovací údaje operačního systému, přihlašovací údaje profilu <ph name="PRODUCT_NAME" />, název profilu <ph name="PRODUCT_NAME" />, cesta profilu <ph name="PRODUCT_NAME" /> a cesta ke spustitelnému souboru <ph name="PRODUCT_NAME" />.
 
       Když je tato zásada ponechána nenastavená nebo je nastavena na hodnotu True, informace, pomocí nichž lze identifikovat uživatele, se shromažďují.
-      když je tato zásada nastavena na hodnotu False, informace, pomocí nichž lze identifikovat uživatele, se neshromažďují.
+      Když je tato zásada nastavena na hodnotu False, informace, pomocí nichž lze identifikovat uživatele, se neshromažďují.
 
       Tato zásada je účinná, když je zapnuto rozšíření <ph name="CHROME_REPORTING_EXTENSION_NAME" /> a počítač je zaregistrován pomocí tokenu <ph name="MACHINE_LEVEL_USER_CLOUD_POLICY_ENROLLMENT_TOKEN_POLICY_NAME" />.</translation>
 <translation id="2127599828444728326">Povolit na těchto stránkách oznámení</translation>
@@ -429,6 +430,9 @@
 <translation id="2201555246697292490">Konfigurace seznamu povolených hostitelů zasílání nativních zpráv</translation>
 <translation id="2204753382813641270">Řídit automatické skrývání poličky</translation>
 <translation id="2208976000652006649">Parametry adresy URL vyhledávání používající metodu POST</translation>
+<translation id="2214880135980649323">Když je tato zásada povolena, rozšíření nainstalovaná podnikovými zásadami mohou používat rozhraní Enterprise Hardware Platform API.
+Pokud zásada povolena není nebo není nastavena, rozšíření uvedené rozhraní API používat nemohou.
+Zásada platí také pro rozšíření komponent, jako je rozšíření Hangout Services.</translation>
 <translation id="2223598546285729819">Výchozí nastavení oznámení</translation>
 <translation id="2231817271680715693">Importování historie procházení z výchozího prohlížeče při prvním spuštění</translation>
 <translation id="2236488539271255289">Nepovolovat nastavení místních dat žádným webům</translation>
@@ -558,7 +562,7 @@
 <translation id="2529880111512635313">Konfigurace seznamu aplikací a rozšíření, jejichž instalace je vynucena</translation>
 <translation id="253135976343875019">Prodleva upozornění na nečinnost při napájení ze sítě</translation>
 <translation id="2536525645274582300">O povolení služeb určování polohy Google rozhoduje uživatel</translation>
-<translation id="2550593661567988768">Pouze tisk na jednu stránku</translation>
+<translation id="2550593661567988768">Pouze jednostranný tisk</translation>
 <translation id="2552966063069741410">Časové pásmo</translation>
 <translation id="2562339630163277285">Určuje adresu URL vyhledávače, který bude použit k získání výsledků dynamického vyhledávání. Adresa URL by měla obsahovat řetězec <ph name="SEARCH_TERM_MARKER" />. Tento řetězec bude během dotazování nahrazen textem, který do daného okamžiku zadal uživatel.
 
@@ -859,11 +863,11 @@
           Pokud tuto zásadu nenastavíte, použije se pro všechny webové stránky globální výchozí hodnota buď ze zásady DefaultCookiesSetting (pokud je nastavena), nebo z osobního nastavení uživatele.
 
           Podívejte se také na zásady CookiesBlockedForUrls a CookiesSessionOnlyForUrls. Vzory adres URL v těchto třech zásadách navzájem nesmějí být v konfliktu – není dáno, která zásada má přednost.</translation>
-<translation id="3373364525435227558">Nastavuje jeden nebo více doporučených národních prostředí pro spravovanou relaci, což uživatelům usnadňuje výběr některého z nich.
+<translation id="3373364525435227558">Nastavuje jedno nebo více doporučených národních prostředí pro spravovanou relaci, což uživatelům usnadňuje výběr některého z nich.
 
-Před zahájením spravované relace může uživatel zvolit národní prostředí a rozložení klávesnice. Ve výchozím nastavení jsou všechna národní prostředí podporovaná systémem <ph name="PRODUCT_OS_NAME" /> uvedeny v abecedním pořadí. Pomocí této zásady můžete přesunout sadu doporučených národních prostředí na začátek seznamu.
+Před zahájením spravované relace může uživatel zvolit národní prostředí a rozložení klávesnice. Ve výchozím nastavení jsou všechna národní prostředí podporovaná systémem <ph name="PRODUCT_OS_NAME" /> uvedena v abecedním pořadí. Pomocí této zásady můžete přesunout sadu doporučených národních prostředí na začátek seznamu.
 
-Pokud tuto zásadu ponecháte nenastavenou, bude předvybrán aktuální národní prostředí uživatelského rozhraní.
+Pokud tuto zásadu ponecháte nenastavenou, bude předvybráno aktuální národní prostředí uživatelského rozhraní.
 
 Pokud je tato zásada nastavena, budou doporučená národní prostředí přesunuta na začátek seznamu a vizuálně odlišena od ostatních. Doporučená národní prostředí budou uvedena v pořadí, ve kterém jsou uvedena v nastavení zásady. První doporučené národní prostředí bude předvybráno.
 
@@ -944,7 +948,7 @@
 <translation id="3577251398714997599">Nastavení reklam pro weby s rušivými reklamami</translation>
 <translation id="3591584750136265240">Konfigurace chování přihlašovacího ověření</translation>
 <translation id="3627678165642179114">Povolit nebo zakázat webovou službu kontroly pravopisu</translation>
-<translation id="3628480121685794414">Povolit tisk na jednu stránku</translation>
+<translation id="3628480121685794414">Povolit jednostranný tisk</translation>
 <translation id="3646859102161347133">Nastavení typu lupy</translation>
 <translation id="3653237928288822292">Ikona výchozího poskytovatele vyhledávání</translation>
 <translation id="3660562134618097814">Přenos souborů cookie od poskytovatele identity SAML při přihlášení</translation>
@@ -1733,7 +1737,7 @@
      Je-li zvolena možnost Zakázáno, stránky nelze otevřít v anonymním režimu. 
 
      Je-li zvolena možnost Povinné, stránky lze otevřít POUZE v anonymním režimu.</translation>
-<translation id="582857022372205358">Povolit oboustranný tisk s krátkými okraji</translation>
+<translation id="582857022372205358">Povolit oboustranný tisk s vazbou krátkého okraje</translation>
 <translation id="583091600226586337">
       Pokud je tato zásada povolena, bude uživatel před stažením každého souboru dotázán, kam jej chce uložit.
       Je-li tato zásada zakázána, bude se stahování souborů spouštět ihned a uživatel nebude tázán, kam chce soubor uložit.
@@ -2163,7 +2167,7 @@
 <translation id="6923366716660828830">Určuje název výchozího poskytovatele vyhledávání. Je-li toto pole ponecháno prázdné, bude použit název hostitele určený adresou URL vyhledávání.
 
           Tato zásada bude dodržována pouze v případě, že je aktivována zásada DefaultSearchProviderEnabled.</translation>
-<translation id="6926703471186170050">Povolit oboustranný tisk s dlouhými okraji</translation>
+<translation id="6926703471186170050">Povolit oboustranný tisk s vazbou dlouhého okraje</translation>
 <translation id="6931242315485576290">Deaktivovat synchronizaci dat se servery Google</translation>
 <translation id="6936894225179401731">Určuje maximální počet souběžných připojení k proxy serveru.
 
@@ -2803,6 +2807,17 @@
 <translation id="8465065632133292531">Parametry pro adresu URL dynamického vyhledávání používající metodu POST</translation>
 <translation id="847472800012384958">Nepovolit zobrazení vyskakovacích oken žádným webovým stránkám</translation>
 <translation id="8477885780684655676">TLS 1.0</translation>
+<translation id="8483004350080020634">Před odesláním skriptům PAC (Proxy Auto Config), které prohlížeč <ph name="PRODUCT_NAME" /> používá ke zjištění proxy serveru, budou z adres URL se schématem https:// odstraněny části citlivé z hlediska zabezpečení a ochrany soukromí.
+
+Když je tato zásada nastavena na hodnotu True, je tato bezpečnostní funkce zapnuta a z adres URL se schématem https:// se před odesláním do skriptu PAC odstraní potenciálně citlivé informace. Skript PAC tak nemůže získat přístup k údajům, které jsou běžně chráněny šifrovaným kanálem (jako jsou cesta a dotaz).
+
+Když je tato zásada nastavena na hodnotu False, je tato bezpečnostní funkce vypnuta a skriptům PAC je tak implicitně umožněn přístup ke všem částem adres URL se schématem https://. Platí to pro všechny skripty PAC bez ohledu na zdroj (včetně skriptů, které byly načteny nezabezpečeným přenosem nebo objeveny nezabezpečeným způsobem pomocí protokolu WPAD).
+
+Výchozí hodnota je True (bezpečnostní funkce je zapnuta).
+
+Doporučujeme tuto zásadu nastavit na hodnotu True. Na hodnotu False ji nastavte pouze v případě, že způsobuje problémy s kompatibilitou s existujícími skripty PAC.
+
+Ve verzi M75 bude tato zásada odstraněna.</translation>
 <translation id="8484458986062090479">Umožňuje personalizovat seznam vzorů adres URL, které by měl vždy vykreslit hostitelský prohlížeč.
 
           Pokud tato zásada není nastavena, použije se pro všechny weby výchozí modul vykreslení určený zásadou ChromeFrameRendererSettings.
diff --git a/components/policy/resources/policy_templates_da.xtb b/components/policy/resources/policy_templates_da.xtb
index 9e98d3d..829e4e3 100644
--- a/components/policy/resources/policy_templates_da.xtb
+++ b/components/policy/resources/policy_templates_da.xtb
@@ -125,6 +125,7 @@
 
       BEMÆRK! Denne politik anvendes ikke på Android-enheder. Hvis du vil aktivere IsolateOrigins på en Android-enhed, skal du bruge politikindstillingen IsolateOriginsAndroid.
       </translation>
+<translation id="1377024960658062022">Aktiverer Hardware Platform API for udvidelser, der er installeret via politikker</translation>
 <translation id="1384459581748403878">Reference: <ph name="REFERENCE_URL" /></translation>
 <translation id="1387596372902085462">Angiver, om der skal aktiveres tillid til Symantec Corporations forældede PKI-infrastruktur</translation>
 <translation id="1393485621820363363">Aktiverede virksomhedsprintere for enheder</translation>
@@ -445,6 +446,9 @@
 <translation id="2201555246697292490">Konfigurer hvidlisten for indbyggede beskedhosts</translation>
 <translation id="2204753382813641270">Administrer, hvornår hylden skjules automatisk</translation>
 <translation id="2208976000652006649">Parametre for søgewebadresse, som anvender POST</translation>
+<translation id="2214880135980649323">Når denne politik er aktiveret, har udvidelser, der er installeret via en virksomhedspolitik, tilladelse til at bruge Enterprise Hardware Platform API.
+      Når denne politik er deaktiveret eller ikke angivet, har ingen udvidelser tilladelse til at bruge Enterprise Hardware Platform API.
+      Denne politik gælder også for komponentudvidelser som f.eks. udvidelsen Hangout Services.</translation>
 <translation id="2223598546285729819">Standardindstilling for underretninger</translation>
 <translation id="2231817271680715693">Import af browseroversigt fra standardbrowser ved første visning</translation>
 <translation id="2236488539271255289">Tillad ikke, at websites angiver lokale data</translation>
@@ -2760,6 +2764,25 @@
 <translation id="8465065632133292531">Parametre for direkte webadresse, som bruger POST</translation>
 <translation id="847472800012384958">Tillad ikke, at websites viser pop op-vinduer</translation>
 <translation id="8477885780684655676">TLS 1.0</translation>
+<translation id="8483004350080020634">Fjerner følsomme dele vedrørende personlige oplysninger og sikkerhed i webadresser af typen https://, før de overføres til PAC-scripter (Proxy Auto Config), som anvendes af <ph name="PRODUCT_NAME" /> under proxyfortolkning.
+
+      Hvis politikken er angivet som Sand, er sikkerhedsfunktionen aktiveret, og webadresser af typen https://
+      fjernes, før de indsendes til et PAC-script. På den måde kan
+      PAC-scriptet ikke få vist data, der normalt er beskyttet af en
+      krypteret kanal (som f.eks. webadressens sti og forespørgsel).
+
+      Hvis politikken er angivet som Falsk, er sikkerhedsfunktionen deaktiveret, og PAC-scripts får
+      implicit tilladelse til at se alle komponenter i en webadresse af typen https://.
+      Dette gælder for alle PAC-scripts uanset oprindelse (inklusive
+      scripts, der hentes via en usikker overførsel eller opdages på en usikker måde
+      via WPAD).
+
+      Politikken er som standard angivet som Sand (sikkerhedsfunktionen er aktiveret).
+
+      Det anbefales, at politikken angives som Sand. Den eneste grund til at angive den som
+      Falsk, er hvis den forårsager et kompatibilitetsproblem med eksisterende PAC-scripts.
+
+      Politikken bliver fjernet i M75.</translation>
 <translation id="8484458986062090479">Tilpas listen over webstedsmønstre, der altid bør gengives af hostbrowseren.
 
           Hvis denne politik ikke er angivet, anvendes standardgengivelsen på alle websites, sådan som det er angivet i politikken "ChromeFrameRendererSettings".
diff --git a/components/policy/resources/policy_templates_de.xtb b/components/policy/resources/policy_templates_de.xtb
index 9602f69..c8ae62c 100644
--- a/components/policy/resources/policy_templates_de.xtb
+++ b/components/policy/resources/policy_templates_de.xtb
@@ -136,6 +136,7 @@
 
       HINWEIS: Diese Richtlinie funktioniert nicht unter Android. Wenn "IsolateOrigins" unter Android aktiviert werden soll, muss die Richtlinieneinstellung "IsolateOriginsAndroid" verwendet werden.
       </translation>
+<translation id="1377024960658062022">Aktiviert die Hardware Platform API für Erweiterungen, die über die Richtlinie installiert wurden</translation>
 <translation id="1384459581748403878">Referenz: <ph name="REFERENCE_URL" /></translation>
 <translation id="1387596372902085462">Festlegen, ob der veralteten Symantec-PKI vertraut werden soll</translation>
 <translation id="1393485621820363363">Aktivierte, an Geräte gebundene Unternehmensdrucker</translation>
@@ -451,6 +452,9 @@
 <translation id="2201555246697292490">Weiße Liste für natives Messaging konfigurieren</translation>
 <translation id="2204753382813641270">Automatisches Ausblenden der Ablage verwalten</translation>
 <translation id="2208976000652006649">Parameter für URL der Suche, die POST verwendet</translation>
+<translation id="2214880135980649323">Wenn diese Richtlinie aktiviert ist, können Erweiterungen, die über die Unternehmensrichtlinie installiert wurden, die Enterprise Hardware Platform API verwenden.
+Wenn diese Richtlinie deaktiviert oder nicht konfiguriert ist, darf die Enterprise Hardware Platform API von keinen Erweiterungen verwendet werden.
+Diese Richtlinie gilt auch für Komponentenerweiterungen, zum Beispiel die Hangouts-Erweiterung.</translation>
 <translation id="2223598546285729819">Standardeinstellung für Benachrichtigungen</translation>
 <translation id="2231817271680715693">Browserverlauf bei erster Ausführung aus Standardbrowser importieren</translation>
 <translation id="2236488539271255289">Speichern von lokalen Daten für keine Website zulassen</translation>
@@ -2756,6 +2760,17 @@
 <translation id="8465065632133292531">Parameter für URL der Suche im Voraus, die POST verwendet</translation>
 <translation id="847472800012384958">Anzeige von Pop-ups für keine Website zulassen</translation>
 <translation id="8477885780684655676">TLS 1.0</translation>
+<translation id="8483004350080020634">Entfernt datenschutz- und sicherheitsrelevante Teile aus https://-URLs, bevor diese an PAC-Skripts (Proxy Auto Config) übergeben werden, die <ph name="PRODUCT_NAME" /> während der Proxy-Auflösung verwendet.
+
+Wenn diese Richtlinie auf "true" gesetzt ist, wird die Sicherheitsfunktion aktiviert und ein Stripping für https://-URLs durchgeführt, bevor diese an ein PAC-Skript übergeben werden. Auf diese Weise können für das PAC-Skript keine Daten eingesehen werden, die normalerweise durch einen verschlüsselten Kanal geschützt sind, etwa Pfad und Abfrage der URL.
+
+Wird die Richtlinie auf "false" gesetzt, ist die Sicherheitsfunktion deaktiviert und für PAC-Skripts können alle Komponenten einer https://-URL eingesehen werden. Diese Einstellung gilt für alle PAC-Skripts, unabhängig von ihrem Ursprung. Sie schließt auch PAC-Skripts ein, die über WPAD gefunden oder über ein unsicheres Transportprotokoll abgerufen wurden.
+
+Standardmäßig ist die Richtlinie auf "true" gesetzt und die Sicherheitsfunktion aktiviert.
+
+Diese Richtlinie sollte auf "true" gesetzt sein und nur zu "false" geändert werden, wenn Kompatibilitätsprobleme mit bestehenden PAC-Skripts auftreten.
+
+Die Richtlinie wird in M75 entfernt.</translation>
 <translation id="8484458986062090479">Passt die Liste mit URL-Mustern an, die immer vom Host-Browser gerendert werden müssen.
 
           Wenn diese Richtlinie nicht konfiguriert ist, kommt der über die Richtlinie "ChromeFrameRendererSettings" festgelegte Standard-Renderer für alle Websites zum Einsatz.
diff --git a/components/policy/resources/policy_templates_el.xtb b/components/policy/resources/policy_templates_el.xtb
index a70e8c80..a385fd91 100644
--- a/components/policy/resources/policy_templates_el.xtb
+++ b/components/policy/resources/policy_templates_el.xtb
@@ -140,6 +140,7 @@
 
       ΣΗΜΕΙΩΣΗ: Αυτή η πολιτική δεν εφαρμόζεται σε Android. Για να ενεργοποιήσετε το IsolateOrigins σε Android, χρησιμοποιήστε τη ρύθμιση της πολιτικής IsolateOriginsAndroid.
       </translation>
+<translation id="1377024960658062022">Ενεργοποιεί το Hardware Platform API σε επεκτάσεις που έχουν εγκατασταθεί από κάποια πολιτική</translation>
 <translation id="1384459581748403878">Αναφορά: <ph name="REFERENCE_URL" /></translation>
 <translation id="1387596372902085462">Αν θα θεωρείται αξιόπιστη ή όχι η τεχνολογία Legacy PKI Infrastructure της Symantec Corporation</translation>
 <translation id="1393485621820363363">Ενεργοποιημένοι εκτυπωτές εταιρικών συσκευών</translation>
@@ -462,6 +463,9 @@
 <translation id="2201555246697292490">Διαμόρφωση λίστας επιτρεπόμενων της εγγενούς ανταλλαγής μηνυμάτων</translation>
 <translation id="2204753382813641270">Έλεγχος αυτόματης απόκρυψης ραφιού</translation>
 <translation id="2208976000652006649">Παράμετροι για διεύθυνση URL αναζήτησης που χρησιμοποιεί POST</translation>
+<translation id="2214880135980649323">Εάν αυτή η πολιτική οριστεί ως ενεργή, οι επεκτάσεις που είναι ενεργοποιημένες από πολιτική επιχείρησης επιτρέπεται να χρησιμοποιούν το Enterprise Hardware Platform API.
+      Εάν αυτή η πολιτική οριστεί ως απενεργοποιημένη ή δεν οριστεί, δεν επιτρέπεται σε καμία επέκταση η χρήση του Enterprise Hardware Platform API.
+      Αυτή η πολιτική εφαρμόζεται επίσης σε επεκτάσεις στοιχείου, όπως στην επέκταση "Υπηρεσίες Hangout".</translation>
 <translation id="2223598546285729819">Προεπιλεγμένη ρύθμιση ειδοποιήσεων</translation>
 <translation id="2231817271680715693">Εισαγωγή ιστορικού περιήγησης από το προεπιλεγμένο πρόγραμμα περιήγησης στην πρώτη εκτέλεση</translation>
 <translation id="2236488539271255289">Να μην επιτρέπεται σε κανέναν ιστότοπο ο καθορισμός τοπικών δεδομένων</translation>
@@ -2879,6 +2883,25 @@
 <translation id="8465065632133292531">Παράμετροι για άμεση διεύθυνση URL που χρησιμοποιεί POST</translation>
 <translation id="847472800012384958">Να μην επιτρέπεται σε κανέναν ιστότοπο η εμφάνιση αναδυόμενων παραθύρων</translation>
 <translation id="8477885780684655676">TLS 1.0</translation>
+<translation id="8483004350080020634">Διαχωρίζει τα ευαίσθητα τμήματα του απορρήτου και της ασφάλειας των URL https:// προτού τα διοχετεύσει στα σενάρια PAC (Proxy Auto Config) που χρησιμοποιούνται από το προϊόν <ph name="PRODUCT_NAME" /> κατά τη διάρκεια της ανάλυσης του διακομιστή μεσολάβησης.
+
+      Εάν οριστεί ως Αληθής ("True"), ενεργοποιείται η λειτουργία ασφάλειας και γίνεται διαχωρισμός των URL
+      https:// πριν από την υποβολή τους σε κάποιο σενάριο PAC. Με αυτόν τον τρόπο, το σενάριο
+      PAC δεν μπορεί να προβάλλει δεδομένα τα οποία κανονικά προστατεύονται από κάποιο
+      κρυπτογραφημένο κανάλι (όπως τη διαδρομή και το ερώτημα του URL).
+
+      Εάν οριστεί ως Ψευδής ("False"), η λειτουργία ασφάλειας είναι απενεργοποιημένη και δίνεται στα σενάρια PAC η δυνατότητα
+      να προβάλλουν όλα τα στοιχεία ενός URL https://.
+      Αυτό ισχύει για όλα τα σενάρια PAC, ανεξάρτητα από την προέλευσή τους, (συμπεριλαμβανομένων
+      αυτών που ανακτώνται μέσω μη ασφαλούς μεταφοράς ή εντοπίζονται μη ασφαλώς
+      μέσω WPAD).
+
+      Η προεπιλογή για αυτήν την πολιτική είναι Αληθής ("True") (ενεργοποιημένη λειτουργία ασφάλειας).
+
+      Συνιστάται η πολιτική να ορίζεται ως Αληθής ("True"). Ο μόνος λόγος για να οριστεί
+      ως Μη αληθής ("False") είναι στην περίπτωση που προκαλεί ζητήματα συμβατότητας με υπάρχοντα σενάρια PAC.
+
+      Η πολιτική θα καταργηθεί στην έκδοση M75.</translation>
 <translation id="8484458986062090479">Προσαρμόστε τη λίστα των μοτίβων URL που θα πρέπει πάντα να παρέχονται από το πρόγραμμα περιήγησης κεντρικού υπολογιστή.
 
           Αν αυτή η πολιτική δεν οριστεί, η προεπιλεγμένη λειτουργία απόδοσης θα χρησιμοποιηθεί για όλους τους ιστότοπους όπως καθορίζεται από την πολιτική του στοιχείου "ChromeFrameRendererSettings".
diff --git a/components/policy/resources/policy_templates_en-GB.xtb b/components/policy/resources/policy_templates_en-GB.xtb
index 5e5db988..531e39b 100644
--- a/components/policy/resources/policy_templates_en-GB.xtb
+++ b/components/policy/resources/policy_templates_en-GB.xtb
@@ -137,6 +137,7 @@
 
       NOTE: This policy does not apply on Android. To enable IsolateOrigins on Android, use the IsolateOriginsAndroid policy setting.
       </translation>
+<translation id="1377024960658062022">Enables the Hardware Platform API to policy-installed extensions</translation>
 <translation id="1384459581748403878">Reference: <ph name="REFERENCE_URL" /></translation>
 <translation id="1387596372902085462">Whether to enable trust in Symantec Corporation's Legacy PKI Infrastructure</translation>
 <translation id="1393485621820363363">Enabled enterprise device printers</translation>
@@ -465,6 +466,9 @@
 <translation id="2201555246697292490">Configure native messaging whitelist</translation>
 <translation id="2204753382813641270">Control shelf auto-hiding</translation>
 <translation id="2208976000652006649">Parameters for search URL which uses POST</translation>
+<translation id="2214880135980649323">When this policy is set to enabled, extensions installed by enterprise policy are allowed to use the Enterprise Hardware Platform API.
+      When this policy is set to disabled or not set, no extensions are allowed to use the Enterprise Hardware Platform API.
+      This policy also applies to component extensions such as the Hangout Services extension.</translation>
 <translation id="2223598546285729819">Default notification settings</translation>
 <translation id="2231817271680715693">Import browsing history from default browser on first run</translation>
 <translation id="2236488539271255289">Do not allow any site to set local data</translation>
@@ -2882,6 +2886,25 @@
 <translation id="8465065632133292531">Parameters for instant URL which uses POST</translation>
 <translation id="847472800012384958">Do not allow any site to show pop-ups</translation>
 <translation id="8477885780684655676">TLS 1.0</translation>
+<translation id="8483004350080020634">Strips privacy and security sensitive parts of https:// URLs before passing them on to PAC scripts (Proxy Auto Config) used by <ph name="PRODUCT_NAME" /> during proxy resolution.
+
+      When True, the security feature is enabled, and https:// URLs are
+      stripped before submitting them to a PAC script. In this manner, the PAC
+      script is not able to view data that is ordinarily protected by an
+      encrypted channel (such as the URL's path and query).
+
+      When False, the security feature is disabled, and PAC scripts are
+      implicitly granted the ability to view all components of an https://
+      URL. This applies to all PAC scripts regardless of origin (including
+      those fetched over an insecure transport, or discovered insecurely
+      through WPAD).
+
+      This defaults to True (security feature enabled).
+
+      It is recommended that this be set to True. The only reason to set it to
+      False is if it causes a compatibility problem with existing PAC scripts.
+
+      The policy will be removed in M75.</translation>
 <translation id="8484458986062090479">Customise the list of URL patterns that should always be rendered by the host browser.
 
           If this policy is not set the default renderer will be used for all sites as specified by the 'ChromeFrameRendererSettings' policy.
diff --git a/components/policy/resources/policy_templates_es-419.xtb b/components/policy/resources/policy_templates_es-419.xtb
index 8178e69..faa773e4 100644
--- a/components/policy/resources/policy_templates_es-419.xtb
+++ b/components/policy/resources/policy_templates_es-419.xtb
@@ -136,6 +136,7 @@
 
       NOTA: Esta política no se aplica en Android. Para habilitar IsolateOrigins en esta plataforma, usa la configuración de la política IsolateOriginsAndroid.
       </translation>
+<translation id="1377024960658062022">Permitir la API de plataforma de hardware para las extensiones instaladas por políticas</translation>
 <translation id="1384459581748403878">Referencia: <ph name="REFERENCE_URL" /></translation>
 <translation id="1387596372902085462">Habilitar o inhabilitar la confianza en la infraestructura del PKI heredado de Symantec Corporation</translation>
 <translation id="1393485621820363363">Impresoras empresariales habilitadas asociadas a dispositivos</translation>
@@ -450,6 +451,9 @@
 <translation id="2201555246697292490">Configurar la lista blanca de mensajería nativa</translation>
 <translation id="2204753382813641270">Controlar opción para ocultar archivos automáticamente</translation>
 <translation id="2208976000652006649">Parámetros para URL de búsqueda que utiliza POST</translation>
+<translation id="2214880135980649323">Si se habilita esta política, las extensiones que instale una política empresarial podrán usar la API de plataforma de hardware empresarial.
+      Si se establece esta política como inhabilitada, o no se configura, las extensiones no podrán usar la API de plataforma de hardware empresarial.
+      Esta política también se aplica en las extensiones de componentes como la extensión de Servicios de Hangout.</translation>
 <translation id="2223598546285729819">Configuración de notificación predeterminada</translation>
 <translation id="2231817271680715693">Importar historial de navegación del navegador predeterminado en la primera ejecución</translation>
 <translation id="2236488539271255289">No permitir que ningún sitio configure los datos locales.</translation>
@@ -1536,7 +1540,7 @@
 
       Si se establece la política como falsa, el usuario no podrá utilizar Crostini.
       Si se establece como verdadera, o no se establece, el usuario podrá utilizar Crostini, siempre que otras opciones de configuración también lo permitan.
-      Para que pueda ejecutarse Crostini, deben establecerse las tres políticas (VirtualMachinesAllowed, CrostiniAllowed y DeviceUnaffiliatedCrostiniAllowed) como verdaderas cuando se aplican.
+      Para que pueda ejecutarse Crostini, deben establecerse las tres políticas (VirtualMachinesAllowed, CrostiniAllowed y DeviceUnaffiliatedCrostiniAllowed) como verdaderas.
       Si se cambia esta política a falsa, se aplicará a contenedores nuevos de Crostini, pero no se apagarán los que ya estén en ejecución.</translation>
 <translation id="5283457834853986457">Inhabilitar el buscador de complementos (obsoleto)</translation>
 <translation id="5288772341821359899">Si se establece la política, el intervalo de puertos UDP que usa WebRTC está restringido al intervalo de puertos especificado (extremos incluidos).
@@ -1595,7 +1599,7 @@
 <translation id="5457924070961220141">Te permite configurar el procesador HTML predeterminado cuando se instala <ph name="PRODUCT_FRAME_NAME" />. La configuración predeterminada que se usa cuando esta política no se configura es permitir que el navegador del host realice la representación, pero puedes anular esta opción y hacer que <ph name="PRODUCT_FRAME_NAME" /> muestre páginas HTML de forma predeterminada.</translation>
 <translation id="5464816904705580310">Permite establecer parámetros de configuración para los usuarios administrados.</translation>
 <translation id="546726650689747237">Demora de atenuación de pantalla con alimentación de CA</translation>
-<translation id="5469143988693423708">Permitir que el usuario ejecute Crostini</translation>
+<translation id="5469143988693423708">Se permite que el usuario ejecute Crostini</translation>
 <translation id="5469825884154817306">Bloquear imágenes en estos sitios</translation>
 <translation id="5475361623548884387">Habilitar la impresión</translation>
 <translation id="547601067149622666">No permitir anuncios en sitios con anuncios intrusivos</translation>
@@ -2247,7 +2251,7 @@
 <translation id="7232816984286843471">Si se establece la política como falsa, los usuarios no afiliados no podrán usar Crostini.
 
       Si se establece como verdadera, o no se establece, todos los usuarios podrán usar Crostini, siempre que otras opciones de configuración también lo permitan.
-      Para que pueda ejecutarse Crostini, deben establecerse las tres políticas (VirtualMachinesAllowed, CrostiniAllowed y DeviceUnaffiliatedCrostiniAllowed) como verdaderas cuando se aplican.
+      Para que pueda ejecutarse Crostini, deben establecerse las tres políticas (VirtualMachinesAllowed, CrostiniAllowed y DeviceUnaffiliatedCrostiniAllowed) como verdaderas.
       Si se cambia esta política a falsa, se aplicará a contenedores nuevos de Crostini, pero no se apagarán los que ya estén en ejecución.</translation>
 <translation id="7234280155140786597">Nombres de los hosts de mensajería nativa prohibidos (o * para todos)</translation>
 <translation id="7236775576470542603">Establece el tipo de lupa predeterminado habilitado en la pantalla de acceso.
@@ -2585,7 +2589,7 @@
 
       Si la política se establece como verdadera, el dispositivo podrá ejecutar máquinas virtuales.
       Si se establece como falsa, el dispositivo no podrá hacerlo.
-      Para que pueda ejecutarse Crostini, deben establecerse las tres políticas (VirtualMachinesAllowed, CrostiniAllowed y DeviceUnaffiliatedCrostiniAllowed) como verdaderas cuando se aplican.
+      Para que pueda ejecutarse Crostini, deben establecerse las tres políticas (VirtualMachinesAllowed, CrostiniAllowed y DeviceUnaffiliatedCrostiniAllowed) como verdaderas.
       Si se cambia esta política a falsa, se aplicará a contenedores nuevos de Crostini, pero no se apagarán los que ya estén en ejecución.
       Si no se establece esta política en un dispositivo administrado, el dispositivo no podrá ejecutar máquinas virtuales.
       Los dispositivos no administrados pueden ejecutar máquinas virtuales.</translation>
@@ -2774,6 +2778,29 @@
 <translation id="8465065632133292531">Parámetros para URL instantánea que utiliza POST</translation>
 <translation id="847472800012384958">No permitir que ningún sitio muestre ventanas emergentes</translation>
 <translation id="8477885780684655676">TLS 1.0</translation>
+<translation id="8483004350080020634">Recorta las partes confidenciales por motivos de seguridad y privacidad de las URL de https:// antes de enviarlas a secuencias de comandos PAC (Configuración automática de proxy) que usa <ph name="PRODUCT_NAME" /> en la resolución del proxy.
+
+      Cuando se establece como verdadera, se activa la función
+      de seguridad, y se recortan las URL de https://
+      antes de enviarlas a una secuencia de comandos PAC. De esta forma, la
+      secuencia de comandos PAC no puede ver los datos que, por lo general,
+      están protegidos por un canal encriptado (como la ruta y la consulta de la
+      URL).
+
+      Cuando se establece la política como falsa, esta función de seguridad
+      se inhabilita, y las secuencias de comandos PAC pueden ver todos los
+      componentes de la URL de https://. Esta configuración se aplica a todas las
+      secuencias de comandos PAC, más allá de su origen (incluye las secuencias
+      de comandos PAC que se obtienen mediante WPAD o un transporte
+      no seguro).
+
+      De manera predeterminada, se establece como verdadera (función de seguridad habilitada).
+
+      Se recomienda que se establezca la política como verdadera. La única
+      razón para establecerla como falsa es si produce un problema
+      de compatibilidad con las secuencias de comandos PAC existentes.
+
+      Se quitó esta política de la versión M75.</translation>
 <translation id="8484458986062090479">Personaliza la lista de los patrones de URL que siempre deben procesarse en el navegador del host.
 
           Si esta política no se configura, se usará el procesador predeterminado para todos los sitios, como lo especifica la política "ChromeFrameRendererSettings".
diff --git a/components/policy/resources/policy_templates_es.xtb b/components/policy/resources/policy_templates_es.xtb
index 65aaeba..4e30a14a 100644
--- a/components/policy/resources/policy_templates_es.xtb
+++ b/components/policy/resources/policy_templates_es.xtb
@@ -137,6 +137,7 @@
 
       NOTA: Esta política no se aplica a Android. Para habilitar IsolateOrigins en Android, utiliza la política IsolateOriginsAndroid.
       </translation>
+<translation id="1377024960658062022">Habilita la API Hardware Platform en extensiones con la política instalada</translation>
 <translation id="1384459581748403878">Referencia: <ph name="REFERENCE_URL" /></translation>
 <translation id="1387596372902085462">Confiar o no en la infraestructura de clave pública antigua de Symantec Corporation</translation>
 <translation id="1393485621820363363">Impresoras de dispositivos de empresa habilitadas</translation>
@@ -461,6 +462,9 @@
 <translation id="2201555246697292490">Configurar la lista blanca de mensajes nativos</translation>
 <translation id="2204753382813641270">Controlar opción para ocultar archivos automáticamente</translation>
 <translation id="2208976000652006649">Parámetros para URL de búsqueda que utiliza POST</translation>
+<translation id="2214880135980649323">Si esta política está habilitada, las extensiones que instalen las políticas de empresa pueden usar la API Enterprise Hardware Platform.
+      Si está deshabilitada o no se configura, ninguna extensión puede usar la API Enterprise Hardware Platform.
+      Esta política también se aplica a extensiones de componentes, como la extensión Hangout Services.</translation>
 <translation id="2223598546285729819">Configuración de notificación predeterminada</translation>
 <translation id="2231817271680715693">Importar el historial de navegación desde el navegador predeterminado en la primera ejecución</translation>
 <translation id="2236488539271255289">No permitir que ningún sitio establezca datos locales</translation>
@@ -1369,7 +1373,7 @@
 <translation id="4600786265870346112">Habilitar cursor grande</translation>
 <translation id="4604931264910482931">Configurar la lista negra de mensajes nativos</translation>
 <translation id="4613508646038788144">Si se le asigna el valor "False" a esta política, el software de terceros podrá insertar código ejecutable en los procesos de Chrome. Si no se asigna ningún valor a esta política o se le asigna el valor "True", el software de terceros no podrá insertar código ejecutable en los procesos de Chrome.</translation>
-<translation id="4617338332148204752">Omitir la comprobación de metaetiquetas en <ph name="PRODUCT_FRAME_NAME" /></translation>
+<translation id="4617338332148204752">Saltarla comprobación de metaetiquetas en <ph name="PRODUCT_FRAME_NAME" /></translation>
 <translation id="4625915093043961294">Configurar lista de admisión de instalación de extensiones</translation>
 <translation id="4632343302005518762">Permitir que <ph name="PRODUCT_FRAME_NAME" /> procese los tipos de contenido mostrados</translation>
 <translation id="4632566332417930481">No permite el uso de las herramientas para desarrolladores en extensiones instaladas por la política de empresa, pero sí permite su uso en otros contextos</translation>
@@ -2881,6 +2885,21 @@
 <translation id="8465065632133292531">Parámetros para URL instantánea que utiliza POST</translation>
 <translation id="847472800012384958">No permitir que ningún sitio muestre pop-ups</translation>
 <translation id="8477885780684655676">TLS 1.0</translation>
+<translation id="8483004350080020634">Elimina las partes de las URL de tipo https:// que contienen información sensible de seguridad y privacidad antes de que se transfieran a las secuencias de comandos de configuración automática de proxy que utiliza <ph name="PRODUCT_NAME" /> durante la resolución de proxy.
+
+
+      Si se le asigna el valor "True", se habilita la función de seguridad y las URL de tipo https:// se eliminan antes de su envío a la secuencia de comandos de configuración automática de proxy. Así, la secuencia no puede ver los datos que normalmente están protegidos por un canal cifrado, como la ruta y la consulta de la URL.
+
+
+      Si se le asigna el valor "False", se inhabilita la función de seguridad y las secuencias de comandos de configuración automática de proxy pueden ver todos los componentes de las URL de tipo https://. Esto se aplica a todas las secuencias de comandos de configuración automática de proxy, independientemente de su origen, como las obtenidas con un método de transporte no seguro o a través de WPAD.
+
+
+      El valor "True" se asigna de forma predeterminada (función de seguridad habilitada).
+
+
+      Se recomienda asignar el valor "True". El único motivo para asignar el valor "False" es que el valor "True" provoque un problema de compatibilidad con las secuencias de comandos de configuración automática de proxy existentes.
+
+      Esta política se eliminará en M75.</translation>
 <translation id="8484458986062090479">Personaliza la lista de patrones de URL que debería procesar siempre el navegador del host.
 
           Si no se establece esta política, se utilizará el procesador predeterminado para todos los sitios web, como se especifica en la política "ChromeFrameRendererSettings".
diff --git a/components/policy/resources/policy_templates_et.xtb b/components/policy/resources/policy_templates_et.xtb
index 6389dda..f7c5d2c 100644
--- a/components/policy/resources/policy_templates_et.xtb
+++ b/components/policy/resources/policy_templates_et.xtb
@@ -139,6 +139,7 @@
 
       MÄRKUS. Androidis see reegel ei kehti. Androidis reegli IsolateOrigins lubamiseks kasutage reegli IsolateOriginsAndroid seadet.
       </translation>
+<translation id="1377024960658062022">Lubab riistvara platvormi API reegliga installitud laienduste jaoks</translation>
 <translation id="1384459581748403878">Viide: <ph name="REFERENCE_URL" /></translation>
 <translation id="1387596372902085462">Määrab, kas usaldada Symantec Corporationi PKI pärandtaristut</translation>
 <translation id="1393485621820363363">Ettevõtte seadmete jaoks lubatud printerid</translation>
@@ -467,6 +468,9 @@
 <translation id="2201555246697292490">Omasõnumside lubatud üksuste loendi seadistamine</translation>
 <translation id="2204753382813641270">Seadista hoidla automaatne peitmine</translation>
 <translation id="2208976000652006649">Parameetrid POST-meetodit kasutava otsingu URL-i jaoks</translation>
+<translation id="2214880135980649323">Kui see reegel on lubatud, lubatakse ettevõtte reegliga installitud laiendustel kasutada ettevõtte riistvara platvormi API-t.
+      Kui see reegel on keelatud või määramata, ei tohi ükski laiendus ettevõtte riistvara platvormi API-t kasutada.
+      See reegel kehtib ka komponendi laiendustele, nt Hangouti teenuste laiendusele.</translation>
 <translation id="2223598546285729819">Teatiste vaikeseade</translation>
 <translation id="2231817271680715693">Sirvimisajaloo importimine vaikebrauserist esimesel käitamisel</translation>
 <translation id="2236488539271255289">Keela kõigil saitidel kohalike andmete seadmine</translation>
@@ -2873,6 +2877,25 @@
 <translation id="8465065632133292531">Parameetrid Instant-URL-i jaoks, mis kasutab POST-meetodit</translation>
 <translation id="847472800012384958">Keela kõikidel saitidel hüpikakende näitamine</translation>
 <translation id="8477885780684655676">TLS 1.0</translation>
+<translation id="8483004350080020634">Eemaldatakse protokolli https:// URL-ide privaatsuse ja turvalisusega seotud tundlikud osad enne, kui need saadetakse PAC-skriptidele (puhverserveri automaatne seadistamine), mida teenus <ph name="PRODUCT_NAME" /> puhverserveri lahendamisel kasutab.
+
+      Kui reegli väärtuseks määratakse Tõene, on turvafunktsioon lubatud ja protokolli
+      https:// URL-id eemaldatakse enne nende saatmist PAC-skriptidele. Sel viisil
+      ei näe PAC-skriptid andmeid, mida tavaliselt kaitseb krüpteeritud kanal
+      (nt URL-i tee ja päring).
+
+      Kui reegli väärtuseks määratakse Väär, on see turvafunktsioon keelatud
+      ja PAC-skriptid näevad protokolli https:// URL-i kõiki komponente.
+      See seade kehtib kõikide PAC-skriptide puhul, olenemata nende päritolust
+      (sh need, mis tuuakse ebaturvalise transportimise käigus või avastatakse
+      ebaturvaliselt WPAD kaudu).
+
+      Selle vaikeväärtus on Tõene (turvafunktsioon on lubatud).
+
+      Soovitatav on selle väärtuseks määrata Tõene. Ainus põhjus, mis selle väärtuseks
+      määrata Väär, on see, kui see põhjustab olemasolevate PAC-skriptidega ühilduvusprobleeme.
+
+      Reegel eemaldatakse versioonis M75.</translation>
 <translation id="8484458986062090479">Kohandab loendit URL-i mustritest, mille peab alati renderdama hostbrauser.
 
           Kui seda reeglit ei määrata, kasutatakse kõikide saitide puhul vaikerenderdajat, mis on määratud reegliga „ChromeFrameRendererSettings”.
diff --git a/components/policy/resources/policy_templates_fa.xtb b/components/policy/resources/policy_templates_fa.xtb
index c0bfea9..ed2db47 100644
--- a/components/policy/resources/policy_templates_fa.xtb
+++ b/components/policy/resources/policy_templates_fa.xtb
@@ -137,6 +137,7 @@
 
       نکته: این خط‌مشی در Android کاربرد ندارد. برای فعال کردن IsolateOrigins در Android، از تنظیم خط‌مشی IsolateOriginsAndroid استفاده کنید.
       </translation>
+<translation id="1377024960658062022">رابط برنامه‌نویسی نرم‌افزار پلتفورم سخت‌افزار را در افزونه‌های نصب‌شده تحت خط‌مشی فعال می‌کند</translation>
 <translation id="1384459581748403878">مرجع: <ph name="REFERENCE_URL" /></translation>
 <translation id="1387596372902085462">‏اعتماد به زیرساخت PKI قدیمی Symantec Corporation فعال شود یا نه</translation>
 <translation id="1393485621820363363">چاپگرهای شرکتی دستگاه فعال‌شده</translation>
@@ -454,6 +455,9 @@
 <translation id="2201555246697292490">پیکربندی فهرست سفید پیام‌رسانی داخلی</translation>
 <translation id="2204753382813641270">کنترل پنهان کردن خودکار قفسه</translation>
 <translation id="2208976000652006649">‏پارامترهای نشانی وب جستجو که از POST استفاده می‌کند</translation>
+<translation id="2214880135980649323">‏وقتی این خط‌مشی روی «فعال» تنظیم شده باشد، به افزونه‌های نصب‌شده تحت خط‌مشی شرکت اجازه داده می‌شود از رابط برنامه‌نویسی نرم‌افزار پلتفورم سخت‌افزار شرکتی استفاده کنند.
+      اگر این خط‌مشی روی «غیرفعال» تنظیم شده باشد یا تنظیم نشده باشد، هیچ افزونه‌ای اجازه ندارد از رابط برنامه‌نویسی نرم‌افزار پلتفورم سخت‌افزار شرکتی استفاده کند.
+      این خط‌مشی همچنین روی افزونه‌های مؤلفه‌ای مثل افزونه «سرویس‌های Hangout» اعمال می‌شود.</translation>
 <translation id="2223598546285729819">تنظیمات پیش‌فرض اعلان‌ها</translation>
 <translation id="2231817271680715693">وارد کردن سابقه مرور از مرورگر پیش‌فرض در اولین اجرا</translation>
 <translation id="2236488539271255289">به هیچ سایتی اجازه تنظیم داده محلی داده نشود</translation>
@@ -2760,6 +2764,17 @@
 <translation id="8465065632133292531">‏پارامترهای نشانی وب فوری که از POST استفاده می‌کند</translation>
 <translation id="847472800012384958">به هیچ سایتی اجازه نمایش پنجره‌های بازشو داده نشود</translation>
 <translation id="8477885780684655676">TLS 1.0</translation>
+<translation id="8483004350080020634">‏قسمت‌های حساس و خصوصی نشانی‌های وب https://‎ را قبل از انتقال به اسکریپت‌های PAC (پیکربندی خودکار پراکسی) استفاده‌شده توسط <ph name="PRODUCT_NAME" /> در طی حل و فصل پراکسی جدا می‌کند.
+
+     وقتی روی «درست» تنظیم شده باشد، ویژگی امنیت فعال می‌شود و نشانی‌های وب https://‎ قبل از ارائه به اسکریپت PAC جدا می‌شود. به‌این‌صورت، اسکریپت PAC نمی‌تواند داده‌هایی را که معمولاً توسط کانالی رمزگذاری‌شده (مانند مسیر و درخواست نشانی وب) محافظت شده مشاهده کند.
+
+      وقتی این خط‌مشی روی «نادرست» تنظیم شده باشد، این ویژگی غیرفعال می‌شود و به اسکریپت‌های PAC قابلیت مشاهده همه مؤلفه‌های نشانی وب به‌صورت کامل داده می‌شود. این تنظیم روی همه اسکریپت‌های PAC بدون درنظر گرفتن منشأ آن‌ها اعمال می‌شود (ازجمله روی اسکریپت‌های PAC که ازطریق انتقال ناامنی واکشی شده باشد یا اسکریپت‌هایی که به‌صورت غیرامن ازطریق WPAD پیدا شده باشد.
+
+      این خط‌مشی به‌طور پیش‌فرض روی «درست» تنظیم شده است (ویژگی امنیت فعال است).
+
+      توصیه می‌شود این خط‌مشی را روی «درست» تنظیم کنید. تنها درصورتی‌که این خط‌مشی باعث ناسازگاری با اسکریپت‌های PAC موجود شود، آن را روی «نادرست» تنظیم کنید.
+
+      این خط‌مشی در M75 برداشته خواهد شد.</translation>
 <translation id="8484458986062090479">‏سفارشی کردن فهرست الگوهای نشانی وب که همیشه باید توسط مرورگر میزبان اجرا شوند.
 
           اگر این خط‌مشی تنظیم نشود، برای همه سایت‌هایی که توسط خط‌مشی «ChromeFrameRendererSettings» مشخص شده‌اند، اجراکننده پیش‌فرض استفاده می‌شود.
diff --git a/components/policy/resources/policy_templates_fi.xtb b/components/policy/resources/policy_templates_fi.xtb
index 0e9b006..a00689f 100644
--- a/components/policy/resources/policy_templates_fi.xtb
+++ b/components/policy/resources/policy_templates_fi.xtb
@@ -137,6 +137,7 @@
 
       HUOM. Tämä käytäntö ei koske Androidia. Jos haluat ottaa IsolateOrigins-asetuksen käyttöön Androidilla, käytä IsolateOriginsAndroid-käytännön asetusta.
       </translation>
+<translation id="1377024960658062022">Ota käyttöön Hardware Platform API käytäntöjen asentamia laajennuksia varten</translation>
 <translation id="1384459581748403878">Viite: <ph name="REFERENCE_URL" /></translation>
 <translation id="1387596372902085462">Luotetaanko Symantec Corporationin vanhaan PKI-infrastruktuuriin vai ei</translation>
 <translation id="1393485621820363363">Käytössä olevat yrityslaitteiden tulostimet</translation>
@@ -458,6 +459,9 @@
 <translation id="2201555246697292490">Määritä sallittujen luettelo laitteen omalle viestijärjestelmälle</translation>
 <translation id="2204753382813641270">Hallinnoi hyllyn automaattista piilottamista</translation>
 <translation id="2208976000652006649">POST-metodia käyttävän haun URL-osoitteen parametrit</translation>
+<translation id="2214880135980649323">Kun tämä käytäntö on käytössä, yrityskäytäntöjen asentamille laajennuksille annetaan Enterprise Hardware Platform APIn käyttöoikeus.
+      Kun tämä käytäntö on poistettu käytöstä tai sen arvoa ei ole määritetty, laajennukset eivät saa käyttää Enterprise Hardware Platform APIa.
+      Tämä käytäntö koskee myös komponenttilaajennuksia, kuten Hangout Services ‑laajennusta.</translation>
 <translation id="2223598546285729819">Ilmoitusten oletusasetus</translation>
 <translation id="2231817271680715693">Tuo selaushistoria oletusselaimesta ensimmäisellä käyttökerralla</translation>
 <translation id="2236488539271255289">Älä salli sivustojen luoda tiedostoja tietokoneelle</translation>
@@ -2771,6 +2775,25 @@
 <translation id="8465065632133292531">POST-metodia käyttävän pikahaun URL-osoitteen parametrit</translation>
 <translation id="847472800012384958">Älä anna sivustojen näyttää ponnahdusikkunoita</translation>
 <translation id="8477885780684655676">TLS 1.0</translation>
+<translation id="8483004350080020634">Tämä karsii https://-alkuisista URL-osoitteista yksityisyyden ja tietoturvan kannalta riskialttiit osat, ennen kuin osoitteet välitetään PAC-skripteille (Proxy Auto Config), joita <ph name="PRODUCT_NAME" /> käyttää välityspalvelimen selvityksen aikana.
+
+      Kun tämän käytännön arvo on tosi, tietoturvaominaisuus otetaan käyttöön
+      ja https://-alkuisten URL-osoitteiden osat karsitaan ennen osoitteiden
+      välittämistä PAC-skriptille. Tällöin PAC-skripti ei näe dataa, jota suojataan
+      tavallisesti käyttämällä salattua kanavaa (esim. URL-osoitteen polku ja kysely).
+
+      Jos arvo on epätosi, tietoturvaominaisuus poistetaan käytöstä ja
+      PAC-skriptit saavat implisiittisen oikeuden tarkistaa https://-alkuisen
+      URL-osoitteen kaikki osat. Tämä koskee kaikkia PAC-skriptejä niiden
+      alkuperästä riippumatta (mukaan lukien suojaamattoman yhteyden kautta
+      noudettuja tai WPAD:n kautta suojaamattomasti löydettyjä skriptejä).
+
+      Oletuksena tämän käytännön arvo on tosi (tietoturvaominaisuus on käytössä).
+
+      Tämän käytännön suositusarvo on tosi. Epätosi-arvon määrittäminen on tarpeen vain silloin,
+      kun käytännön ja nykyisten PAC-skriptien kanssa esiintyy yhteensopivuusongelmia.
+
+      Tämä käytäntö poistetaan versiossa M75.</translation>
 <translation id="8484458986062090479">Muokkaa niiden URL-mallien luetteloa, jotka isäntäselaimen tulee aina piirtää näytölle.
  
           Jos käytäntöä ei ole määritetty, kaikki sivustot piirretään näytölle ChromeFrameRendererSettings-käytännön näytölle piirtämisen oletusmäärityksien mukaan.
diff --git a/components/policy/resources/policy_templates_fil.xtb b/components/policy/resources/policy_templates_fil.xtb
index 2abf53c..fab0b221 100644
--- a/components/policy/resources/policy_templates_fil.xtb
+++ b/components/policy/resources/policy_templates_fil.xtb
@@ -137,6 +137,7 @@
 
       TANDAAN: Hindi nalalapat ang patakarang ito sa Android. Para ma-enable ang IsolateOrigins sa Android, gamitin ang setting ng patakaran ng IsolateOriginsAndroid.
       </translation>
+<translation id="1377024960658062022">Ine-enable ang Hardware Platform API sa mga extension na may naka-install na patakaran.</translation>
 <translation id="1384459581748403878">Reference: <ph name="REFERENCE_URL" /></translation>
 <translation id="1387596372902085462">Kung ie-enable ang pagtitiwala sa Legacy PKI Infrastructure ng Symantec Corporation</translation>
 <translation id="1393485621820363363">Mga naka-enable na printer ng device ng enterprise</translation>
@@ -463,6 +464,9 @@
 <translation id="2201555246697292490">I-configure ang whitelist ng native na pagmemensahe</translation>
 <translation id="2204753382813641270">Kontrolin ang awtomatikong pagtatago ng shelf</translation>
 <translation id="2208976000652006649">Mga parameter para sa URL ng paghahanap na ginagamit ang POST</translation>
+<translation id="2214880135980649323">Kapag nakatakda ang patakarang ito sa naka-enable, pinapayagan ang mga extension na na-install ng patakaran sa enterprise na gamitin ang Enterprise Hardware Platform API.
+      Kapag nakatakda ang patakarang ito sa naka-disable o kapag hindi ito nakatakda, hindi pinapayagan ang mga extension na gamitin ang Enterprise Hardware Platform API.
+      Nalalapat din ang patakarang ito sa mga extension ng bahagi gaya ng extension ng Mga Serbisyo ng Hangout.</translation>
 <translation id="2223598546285729819">Default na setting ng notification</translation>
 <translation id="2231817271680715693">I-import ang kasaysayan ng pagba-browse mula sa default na browser sa unang pagtakbo</translation>
 <translation id="2236488539271255289">Huwag payagan ang anumang site na itakda ang data ng lokal</translation>
@@ -2872,6 +2876,25 @@
 <translation id="8465065632133292531">Mga parameter para sa instant na URL na ginagamit ang POST</translation>
 <translation id="847472800012384958">Huwag payagang magpakita ng mga popup ang anumang site</translation>
 <translation id="8477885780684655676">TLS 1.0</translation>
+<translation id="8483004350080020634">Sini-strip ang mga sensitibong bahagi ng privacy at seguridad ng mga https:// na URL bago ipasa ang mga ito sa mga script ng PAC (Proxy Auto Config) na ginagamit ng <ph name="PRODUCT_NAME" /> sa panahon ng pagresolba sa proxy.
+
+      Kapag True, naka-enable ang panseguridad na feature, at sini-strip ang mga https:// na URL
+      bago isumite ang mga ito sa isang script ng PAC. Sa ganitong paraan, hindi
+      matitingnan ng script ng PAC ang data na karaniwang pinoprotektahan ng isang 
+      naka-encrypt na channel (gaya ng path at query ng URL).
+
+      Kapag False, naka-disable ang panseguridad na feature, at hindi
+      tahasang binibigyan ang mga script ng PAC ng kakayahang tingnan ang lahat ng bahagi ng https:// na URL.
+      Nalalapat ito sa lahat ng script ng PAC saanman ito nagmula (kabilang ang
+      mga nakuha sa hindi secure na paglilipat, o natuklasan
+      sa WPAD sa paraang hindi secure).
+
+      Ang nagiging default nito ay True (naka-enable ang panseguridad na feature).
+
+      Inirerekomendang itakda ito sa True. Ang tanging dahilan para itakda ito sa
+      False ay kung nagdudulot ito ng problema sa compatibility sa mga kasalukuyang script ng PAC.
+
+      Aalisin sa M75 ang patakaran.</translation>
 <translation id="8484458986062090479">I-customize ang listahan ng mga pattern ng URL na dapat na palaging i-render ng browser ng host.
 
           Kung hindi nakatakda ang patakarang ito, gagamitin ang default na tagapag-render para sa lahat ng site tulad ng tinukoy sa patakarang 'ChromeFrameRendererSettings.'
diff --git a/components/policy/resources/policy_templates_fr.xtb b/components/policy/resources/policy_templates_fr.xtb
index 48ccfd4..066ef06 100644
--- a/components/policy/resources/policy_templates_fr.xtb
+++ b/components/policy/resources/policy_templates_fr.xtb
@@ -137,6 +137,7 @@
 
       REMARQUE : Cette règle ne s'applique pas sur Android. Pour activer IsolateOrigins sur Android, utilisez le paramètre de la règle IsolateOriginsAndroid.
       </translation>
+<translation id="1377024960658062022">Active l'API Hardware Platform pour les extensions installées dans le cadre des règles</translation>
 <translation id="1384459581748403878">Référence : <ph name="REFERENCE_URL" /></translation>
 <translation id="1387596372902085462">Faire confiance à l'ancienne infrastructure PKI de Symantec Corporation</translation>
 <translation id="1393485621820363363">Imprimantes d'appareils d'entreprise activées</translation>
@@ -473,6 +474,9 @@
 <translation id="2201555246697292490">Configurer la liste blanche de messagerie native</translation>
 <translation id="2204753382813641270">Règle pour masquer automatiquement l'étagère</translation>
 <translation id="2208976000652006649">Paramètres pour l'URL de recherche utilisant POST</translation>
+<translation id="2214880135980649323">Lorsque cette règle est activée, les extensions installées dans le cadre des règles de l'entreprise sont autorisées à utiliser l'API Enterprise Hardware Platform.
+      Lorsque cette règle est désactivée ou n'est pas définie, aucune extension n'est autorisée à utiliser l'API Enterprise Hardware Platform.
+      Cette règle s'applique également aux extensions de composant telles que l'extension Hangout Services.</translation>
 <translation id="2223598546285729819">Paramètre de notification par défaut</translation>
 <translation id="2231817271680715693">Importer l'historique de navigation du navigateur par défaut à la première exécution</translation>
 <translation id="2236488539271255289">Interdire à tous les sites de définir des données locales</translation>
@@ -2835,7 +2839,7 @@
           (ces deux API ne sont pas disponibles pour les applications/extensions qui ne sont pas
           installées d'office).
 
-          Cette règle prévaut lors d'un conflit avec la règle <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" />. Si une application ou une extension installée d'office est supprimée de la liste, <ph name="PRODUCT_NAME" /> la désinstalle automatiquement.
+          Cette règle prévaut en cas de conflit avec la règle <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" />. Si une application ou une extension installée d'office est supprimée de la liste, <ph name="PRODUCT_NAME" /> la désinstalle automatiquement.
 
           Pour les instances Windows qui ne sont pas associées à un domaine <ph name="MS_AD_NAME" />, l'installation d'office est limitée aux applications et aux extensions répertoriées sur le Chrome Web Store.
 
@@ -2898,6 +2902,17 @@
 <translation id="8465065632133292531">Paramètres pour l'URL instantanée utilisant POST</translation>
 <translation id="847472800012384958">Interdire à tous les sites d'afficher des fenêtres pop-up</translation>
 <translation id="8477885780684655676">TLS 1.0</translation>
+<translation id="8483004350080020634">Supprime les sections liées à la confidentialité et celles qui sont sensibles au niveau de la sécurité des URL "https://" avant de les transmettre aux scripts PAC (Proxy Auto Config) utilisés par <ph name="PRODUCT_NAME" /> lors de la résolution du proxy.
+
+      Lorsque la règle est définie sur "True", la fonctionnalité de sécurité est activée et les informations sensibles sont retirées des URL https:// avant leur envoi à un script PAC. De cette manière, le script PAC ne peut pas afficher des données qui sont normalement protégées par un canal chiffré (comme le chemin d'accès et la requête de l'URL).
+
+      Lorsque la règle est définie sur "False", la fonctionnalité de sécurité est désactivée, et les scripts PAC ont implicitement accès à tous les composants d'une URL https://. Ceci s'applique à tous les scripts PAC, quelle que soit leur origine (y compris ceux qui transitent sur un canal non sécurisé ou qui sont découverts de manière non sécurisée via WPAD).
+
+      Cette règle est définie par défaut sur "True" (fonctionnalité de sécurité activée).
+
+      Nous vous recommandons de définir cette règle sur "True". Ne la définissez sur "False" qu'en cas de problème de compatibilité avec les scripts PAC existants.
+
+      La règle sera supprimée dans la version M75.</translation>
 <translation id="8484458986062090479">Personnalise la liste des formats d'URL qui doivent toujours être affichés par le navigateur hôte.
 
           Si vous ne définissez pas cette règle, le moteur de rendu par défaut est utilisé pour tous les sites, tel que spécifié par la règle "ChromeFrameRendererSettings".
diff --git a/components/policy/resources/policy_templates_gu.xtb b/components/policy/resources/policy_templates_gu.xtb
index e57cfb2..93c0ffe 100644
--- a/components/policy/resources/policy_templates_gu.xtb
+++ b/components/policy/resources/policy_templates_gu.xtb
@@ -996,9 +996,9 @@
 
       જો આ નીતિ સેટ કરેલી હોય, તો સુઝાવ આપેલ લોકેલને સૂચિની ટોચ પર ખસેડવામાં આવશે અને તેઓને અન્ય તમામ લોકેલથી દૃશ્યક્ષમ રીતે અલગ પાડવામાં આવશે. સુઝાવ આપેલ લોકેલને નીતિમાં તેઓ જેમાં દેખાતાં હોય તે ક્રમમાં સૂચિબદ્ધ કરવામાં આવશે. સુઝાવ આપેલ પ્રથમ લોકેલ પહેલેથી પસંદ કરાયેલ હશે.
 
-      જો એક કરતાં વધુ સુઝાવ આપેલ લોકેલ હોય, તો એવું ધારી લેવામાં આવે છે કે વપરાશકર્તાઓ આ લોકેલમાંથી પસંદ કરવા માગે છે. મેનેજ કરવામાં આવેલ સત્ર શરૂ કરતી વખતે લોકેલ અને કીબોર્ડ લેઆઉટ પસંદગીને મુખ્ય રૂપે ઑફર કરવામાં આવશે. અન્યથા, એવું ધારી લેવામાં આવે છે કે મોટાભાગનાં વપરાશકર્તાઓ પહેલેથી પસંદ કરાયેલ લોકેલનો ઉપયોગ કરવા માગે છે. મેનેજ કરવામાં આવેલ સત્ર શરૂ કરતી વખતે લોકેલ અને કીબોર્ડ લેઆઉટ પસંદગીને ઓછું મહત્વ આપીને ઑફર કરવામાં આવશે.
+      જો એક કરતાં વધુ સુઝાવ આપેલ લોકેલ હોય, તો એવું ધારી લેવામાં આવે છે કે વપરાશકર્તાઓ આ લોકેલમાંથી પસંદ કરવા માગે છે. મેનેજ કરવામાં આવેલ સત્ર શરૂ કરતી વખતે લોકેલ અને કીબોર્ડ લેઆઉટ પસંદગીને મુખ્યરૂપે ઑફર કરવામાં આવશે. અન્યથા, એવું ધારી લેવામાં આવે છે કે મોટાભાગના વપરાશકર્તાઓ પહેલેથી પસંદ કરાયેલ લોકેલનો ઉપયોગ કરવા માગે છે. મેનેજ કરવામાં આવેલ સત્ર શરૂ કરતી વખતે લોકેલ અને કીબોર્ડ લેઆઉટ પસંદગીને ઓછું મહત્ત્વ આપીને ઑફર કરવામાં આવશે.
 
-      જ્યારે આ નીતિ સેટ કરેલી હોય અને સ્વતઃ લૉગ ઇન ચાલુ કરેલું હોય (|DeviceLocalAccountAutoLoginId| અને |DeviceLocalAccountAutoLoginDelay| નીતિઓ જુઓ), ત્યારે ઑટોમેટિક રીતે શરૂ થયેલું સાર્વજનિક સત્ર સુઝાવ આપેલ પ્રથમ લોકેલ અને આ લોકેલ સાથે મેળ ખાતા સૌથી વધુ લોકપ્રિય કીબોર્ડ લેઆઉટનો ઉપયોગ કરશે.
+      જ્યારે આ નીતિ સેટ કરેલી હોય અને ઑટોમૅટિક રીતે લૉગ ઇન ચાલુ કરેલું હોય (|DeviceLocalAccountAutoLoginId| અને |DeviceLocalAccountAutoLoginDelay| નીતિઓ જુઓ), ત્યારે ઑટોમેટિક રીતે શરૂ થયેલું સાર્વજનિક સત્ર સુઝાવ આપેલ પ્રથમ લોકેલ અને આ લોકેલ સાથે મેળ ખાતા સૌથી વધુ લોકપ્રિય કીબોર્ડ લેઆઉટનો ઉપયોગ કરશે.
       પહેલેથી પસંદ કરાયેલ કીબોર્ડ લેઆઉટ એ હંમેશાં પહેલેથી પસંદ કરાયેલ લોકેલ સાથે મેળ ખાતો સૌથી વધુ લોકપ્રિય લેઆઉટ હશે.
       આ નીતિ સુઝાવ આપેલ મુજબ જ સેટ કરી શકાય છે. તમે આ નીતિનો ઉપયોગ સુઝાવ આપેલ લોકેલના સેટને ટોચ પર ખસેડવા માટે કરી શકો છો પરંતુ વપરાશકર્તાઓને તેમના સત્ર માટે <ph name="PRODUCT_OS_NAME" /> દ્વારા સમર્થિત કોઈપણ લોકેલને પસંદ કરવાની મંજૂરી હંમેશાં હોય છે.
       </translation>
@@ -3121,14 +3121,14 @@
 <translation id="8264653492961233132">એવી ઍપ તથા એક્સ્ટેંશનની સૂચિનો ઉલ્લેખ કરે છે જે વપરાશકર્તાની,
           ક્રિયાપ્રતિક્રિયા વિના ચૂપચાપ ઇન્સ્ટૉલ કરવામાં આવી હોય 
           અને જેને વપરાશકર્તા અનઇન્સ્ટૉલ કે બંધ ન કરી શકે. ઍપ/એક્સ્ટેંશન 
-          દ્વારા વિનંતી કરવામાં આવેલ બધી પરવાનગીઓ ગર્ભિત રૂપે,  
+          દ્વારા વિનંતી કરવામાં આવેલ બધી પરવાનગીઓ ગર્ભિતરૂપે,  
           વપરાશકર્તાની ક્રિયાપ્રતિક્રિયા વિના આપવામાં આવે છે, જેમાં ઍપ/એક્સ્ટેંશનના 
           ભવિષ્યના વર્ઝન દ્વારા કરવામાં આવેલ બધી વધારાની વિનંતીઓનો સમાવેશ થાય છે.
           વધુમાં, enterprise.deviceAttributes અને enterprise.platformKeys એક્સ્ટેંશન API માટે 
-          પરવાનગીઓ આપવામાં આવે છે.(ફરજિયાત-ઇન્સ્ટૉલ કરવામાં ન આવી હોય તે ઍપ/
+          પરવાનગીઓ આપવામાં આવે છે. (ફરજિયાત-ઇન્સ્ટૉલ કરવામાં ન આવી હોય તે ઍપ/
 એક્સ્ટેંશન માટે આ બે API ઉપલબ્ધ હોતી નથી.)
 
-          આ નીતિ સંભવિત રૂપે વિસંગત <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" /> નીતિ કરતાં અગ્ર સ્થાન ધરાવે છે. જો પહેલાં ફરજિયાત-ઇન્સ્ટૉલ કરેલ કોઈ ઍપ અથવા એક્સ્ટેંશન આ સૂચિમાંથી કાઢી નાખવામાં આવશે, તો તે <ph name="PRODUCT_NAME" /> દ્વારા ઑટોમેટિક રીતે અનઇન્સ્ટૉલ થઈ જશે.
+          આ નીતિ સંભવિતરૂપે વિસંગત <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" /> નીતિ કરતાં અગ્ર સ્થાન ધરાવે છે. જો પહેલાં ફરજિયાત-ઇન્સ્ટૉલ કરેલ કોઈ ઍપ અથવા એક્સ્ટેંશન આ સૂચિમાંથી કાઢી નાખવામાં આવશે, તો તે <ph name="PRODUCT_NAME" /> દ્વારા ઑટોમેટિક રીતે અનઇન્સ્ટૉલ થઈ જશે.
 
           <ph name="MS_AD_NAME" /> ડોમેન સાથે ન જોડાયેલ Windows આવૃત્તિઓ માટે, ફરજિયાત ઇન્સ્ટૉલેશન Chrome વેબ સ્ટોરમાં સૂચિબદ્ધ ઍપ તથા એક્સ્ટેંશન સુધી મર્યાદિત છે.
 
diff --git a/components/policy/resources/policy_templates_hi.xtb b/components/policy/resources/policy_templates_hi.xtb
index 15d2fc1f..684e47bf 100644
--- a/components/policy/resources/policy_templates_hi.xtb
+++ b/components/policy/resources/policy_templates_hi.xtb
@@ -136,6 +136,7 @@
 
       नोट: यह नीति Android पर लागू नहीं होती है. IsolateOrigins को Android पर चालू करने के लिए, IsolateOriginsAndroid नीति सेटिंग का इस्तेमाल करें.
       </translation>
+<translation id="1377024960658062022">नीति से इंस्टॉल किए एक्सटेंशन में 'हार्डवेयर प्लैटफ़ॉर्म API (एपीआई)' चालू करती है</translation>
 <translation id="1384459581748403878">संदर्भ: <ph name="REFERENCE_URL" /></translation>
 <translation id="1387596372902085462">Symantec Corporation की विरासती PKI बुनियादी संरचना में विश्वास करना चालू करें या नहीं</translation>
 <translation id="1393485621820363363">एंटरप्राइज़ डिवाइस प्रिंटर चालू</translation>
@@ -399,17 +400,17 @@
       यह नीति सिर्फ़ तब लागू होती है जब <ph name="CHROME_REPORTING_EXTENSION_NAME" /> चालू हो और मशीन का नाम <ph name="MACHINE_LEVEL_USER_CLOUD_POLICY_ENROLLMENT_TOKEN_POLICY_NAME" /> के ज़रिए दर्ज कराया गया हो.</translation>
 <translation id="2127599828444728326">इन साइटों पर नोटिफ़िकेशन की अनुमति दें</translation>
 <translation id="2131902621292742709">बैटरी पावर पर चलते समय स्क्रीन मंद विलंब</translation>
-<translation id="2132732175597591362">यूआरएल पैटर्न की श्वेतसूची को नियंत्रित करता है जिससे वीडियो अपने आप चलने की सुविधा हमेशा चालू रहेगी.
+<translation id="2132732175597591362">यूआरएल पैटर्न की उस सूची को नियंत्रित करती है जिसे मंज़ूरी मिली हुई है और जिससे अपने आप चलने की सुविधा हमेशा चालू रहेगी.
 
-      अगर अपने आप चलने की सुविधा चालू रहती है, तो <ph name="PRODUCT_NAME" /> में ऑडियो सामग्री के साथ वीडियो अपने आप चल सकते हैं (उपयोगकर्ता की मंज़ूरी के बिना).
+      अगर अपने आप चलने की सुविधा चालू रहती है तो, <ph name="PRODUCT_NAME" /> में ऑडियो सामग्री के साथ वीडियो अपने आप चल सकते हैं (उपयोगकर्ता की मंज़ूरी के बिना).
 
       https://www.chromium.org/administrators/url-blacklist-filter-format के मुताबिक एक यूआरएल पैटर्न बनाना होगा.
 
-      अगर AutoplayAllowed नीति सही पर सेट की गई है, तो इस नीति से कोई फ़र्क नहीं पड़ेगा.
+      अगर AutoplayAllowed नीति सही पर सेट की गई है तो, इस नीति का कोई असर नहीं होगा.
 
-      अगर AutoplayAllowed नीति गलत पर सेट की गई है, तो भी इस नीति में सेट सभी यूआरएल पैटर्न को चलने की अनुमति होगी.
+      अगर AutoplayAllowed नीति गलत पर सेट की गई है तो, इस नीति में सेट सभी यूआरएल पैटर्न को चलाने की अनुमति होगी.
 
-      ध्यान रखें कि अगर <ph name="PRODUCT_NAME" /> चल रहा है और यह नीति बदल जाती है, तो यह सिर्फ़ खोले गए नए टैब पर लागू होगी. इसलिए हो सकता है कि कुछ टैब अभी भी पुराने तरीके का पालन करें.</translation>
+      ध्यान रखें कि अगर <ph name="PRODUCT_NAME" /> चल रहा है और यह नीति बदल जाती है तो, यह सिर्फ़ खोले गए नए टैब पर लागू होगी. इसलिए हो सकता है कि कुछ टैब अभी भी पुराने तरीके के अनुसार काम करें.</translation>
 <translation id="2134437727173969994">स्क्रीन लॉक करने की अनुमति</translation>
 <translation id="2137064848866899664">अगर यह नीति सेट की जाती है तो, हर बार फिर से चालू करने
       और नीति मान बदलने के बाद उसके पहली बार कनेक्‍ट होने पर, 
@@ -463,6 +464,9 @@
 <translation id="2201555246697292490">स्थानीय संदेश सेवा श्वेतसूची कॉन्फ़िगर करें</translation>
 <translation id="2204753382813641270">अलमारी का स्वत:-छिपाना नियंत्रित करना</translation>
 <translation id="2208976000652006649">POST का इस्तेमाल करने वाले खोज URL के पैरामीटर</translation>
+<translation id="2214880135980649323">जब इस नीति को चालू पर सेट किया जाता है, तो एंटरप्राइज़ नीति के ज़रिए इंस्टॉल किए गए एक्सटेंशन, 'एंटरप्राइज़ हार्डवेयर प्लैटफ़ॉर्म API (एपीआई)' का इस्तेमाल कर सकते हैं.
+      जब इस नीति को बंद पर सेट किया जाता है या सेट नहीं किया जाता है, तो कोई एक्सटेंशन, 'एंटरप्राइज़ हार्डवेयर प्लैटफ़ॉर्म API (एपीआई)' का इस्तेमाल नहीं कर सकता है.
+      'Hangout सेवा' एक्सटेंशन जैसे घटक एक्सटेंशन पर भी यह नीति लागू होती है.</translation>
 <translation id="2223598546285729819">सामान्य सूचना सेटिंग</translation>
 <translation id="2231817271680715693">पहली बार चलाने पर सामान्य ब्राउज़र से ब्राउज़िंग इतिहास आयात करें</translation>
 <translation id="2236488539271255289">स्थानीय डेटा सेट करने के लिए किसी साइट को अनुमति न दें</translation>
@@ -471,20 +475,20 @@
 <translation id="2269319728625047531">साइन-इन के दौरान 'सिंक सहमति' दिखाना चालू करें</translation>
 <translation id="2274864612594831715">यह नीति 'वर्चुअल कीबोर्ड' को ChromeOS पर इनपुट डिवाइस के रूप में चालू करना कॉन्फ़िगर करती है.
 
-      अगर नीति को 'सही' पर सेट किया जाता है, तो ऑन-स्क्रीन 'वर्चुअल कीबोर्ड' हमेशा चालू रहेगा.
+      अगर नीति को सही पर सेट किया जाता है तो, ऑन-स्क्रीन 'वर्चुअल कीबोर्ड' हमेशा चालू रहेगा.
 
-      अगर 'गलत' पर सेट किया जाता है, तो ऑन-स्क्रीन 'वर्चुअल कीबोर्ड' हमेशा बंद रहेगा.
+      अगर नीति को गलत पर सेट किया जाता है तो, ऑन-स्क्रीन 'वर्चुअल कीबोर्ड' हमेशा बंद रहेगा.
 
-      अगर आप इस नीति को सेट करते हैं, तो उपयोगकर्ता इसे बदल नहीं सकते या ओवरराइड नहीं कर सकते. हालांकि, उपयोगकर्ता अभी भी 'ऑन-स्क्रीन कीबोर्ड' के एक्सेस को चालू/बंद कर सकेंगे जिसे इस नीति से नियंत्रित किए जाने वाले 'वर्चुअल कीबोर्ड' पर प्राथमिकता मिलती है. 'ऑन-स्क्रीन कीबोर्ड' के एक्सेस को नियंत्रित करने वाली |VirtualKeyboardEnabled| नीति देखें.
+      अगर आप इस नीति को सेट करते हैं तो, उपयोगकर्ता इसे बदल नहीं सकते या इसे रद्द नहीं कर सकते. हालांकि, उपयोगकर्ता अभी भी 'ऑन-स्क्रीन कीबोर्ड' के एक्सेस को चालू/बंद कर सकेंगे जिसे इस नीति से नियंत्रित किए जाने वाले 'वर्चुअल कीबोर्ड' पर प्राथमिकता मिलती है. 'ऑन-स्क्रीन कीबोर्ड' के एक्सेस को नियंत्रित करने वाली |VirtualKeyboardEnabled| नीति देखें.
 
-      अगर यह नीति सेट नहीं की जाती है, तो 'ऑन-स्क्रीन कीबोर्ड' शुरुआत में बंद रहता है लेकिन उपयोगकर्ता इसे कभी भी चालू कर सकता है. कीबोर्ड कब दिखाना है, उपयोगकर्ता की पिछली गतिविधियों के आधार पर डिवाइस खुद यह फ़ैसला ले सकता है.</translation>
-<translation id="228659285074633994">उपयोगकर्ता इनपुट के बिना समयावधि निर्दिष्ट करती है जिसके बाद AC पॉवर पर चलाए जाने पर एक चेतावनी डॉयलॉग दिखाया जाता है.
+      अगर यह नीति सेट किए बिना छोड़ दी जाती है तो, 'ऑन-स्क्रीन कीबोर्ड' शुरुआत में बंद रहता है लेकिन उपयोगकर्ता इसे कभी भी चालू कर सकता है. कीबोर्ड कब दिखाना है, इसका फ़ैसला डिवाइस उपयोगकर्ता की पिछली गतिविधियों के आधार पर खुद कर सकता है.</translation>
+<translation id="228659285074633994">एसी पावर पर चलते समय उस समय सीमा के बारे में बताती है, जितनी देर तक उपयोगकर्ता कोई इनपुट नहीं देता और जिसके बाद चेतावनी वाला संवाद दिखाया जाता है.
 
-          जब यह नीति सेट होती है, तो <ph name="PRODUCT_OS_NAME" /> उपयोगकर्ता को यह चेतावनी डॉयलॉग ‍दिखाए कि प्रयोग में नहींता की कार्यवाही की जाने वाली है, उसके पहले ही यह नीति उस समयावधि को निर्दिष्ट करती है जिसमें उपयोगकर्ता को प्रयोग में नहीं रहना है.
+          जब इस नीति को सेट किया जाता है तो, यह <ph name="PRODUCT_OS_NAME" /> की ओर से कोई चेतावनी संवाद दिखाए जाने से पहले की उस समय सीमा के बारे में बताती है, जितनी देर तक उपयोगकर्ता कोई गतिविधि नहीं करता. इस चेतावनी संवाद में उपयोगकर्ता को बताया जाता है कि जल्द ही गतिविधि नहीं करने संबंधी कार्रवाई की जाएगी.
 
-          जब यह नीति अनसेट होती है, तो कोई चेतावनी डॉयलॉग नहीं दिखाया जाता.
+          जब यह नीति सेट नहीं होती है तो, चेतावनी संबंधी कोई संवाद नहीं दिखाया जाता.
 
-          नीति का मान मिलीसेकंड में निर्दिष्ट किया जाना चाहिए. मानों को प्रयोग में नहीं विलंब से कम या उसके बराबर रहने के लिए क्लैम्प किया जाता है.</translation>
+          नीति का मान मिलीसेकंड में तय किया जाना चाहिए. मानों को, कोई गतिविधि नहीं, में देरी से कम या उसके बराबर पर रखा जाता है.</translation>
 <translation id="2292084646366244343"><ph name="PRODUCT_NAME" /> वर्तनी की त्रुटियां सुधारने में सहायता करने के लिए किसी Google वेब सेवा का उपयोग कर सकता है. यदि यह सेटिंग सक्षम है, तो फिर यह सेवा हमेशा उपयोग की जाती है. यदि यह सेटिंग अक्षम है, तो फिर सेवा कभी उपयोग नहीं की जाती.
 
       वर्तनी परीक्षण को अब भी किसी डाउनलोड की गई शब्दकोश का उपयोग करके निष्पादित किया जा सकता है; यह नीति केवल ऑनलाइन सेवा के उपयोग को नियंत्रित करती है.
@@ -859,15 +863,15 @@
 <translation id="3220624000494482595">यदि किओस्क ऐप्लिकेशन एक Android ऐप्लिकेशन है, तो उसका <ph name="PRODUCT_OS_NAME" /> वर्शन पर कोई नियंत्रण नहीं होगा, भले ही यह नीति <ph name="TRUE" /> पर सेट हो.</translation>
 <translation id="3236046242843493070">एक्सटेंशन, ऐप्लिकेशन और उपयोगकर्ता स्क्रिप्ट को इंस्टॉल करने की मंज़ूरी देने वाले यूआरएल पैटर्न</translation>
 <translation id="3240609035816615922">प्रिंटर कॉन्फ़िगरेशन एक्सेस करने की नीति.</translation>
-<translation id="3243309373265599239">AC पावर पर चलते समय, उस समयावधि को निर्दिष्ट करती है जितनी देर तक उपयोगकर्ता कोई भी इनपुट न दे, उसके बाद स्क्रीन मंद हो जाती है.
+<translation id="3243309373265599239">एसी पावर पर चलते समय उस समय सीमा के बारे में बताती है, जितनी देर तक उपयोगकर्ता अगर कोई भी इनपुट नहीं देता है तो, उसके बाद स्क्रीन की रोशनी कम हो जाती है.
 
-          जब इस नीति को शून्य से अधिक के मान पर सेट किया जाता है, तो यह <ph name="PRODUCT_OS_NAME" /> द्वारा स्क्रीन को मंद किए जाने से पहले वाली उस समयावधि को निर्दिष्ट करती है जिसमें उपयोगकर्ता को प्रयोग में नहीं रहना चाहिए.
+          जब इस नीति को शून्य से ज़्यादा मान पर सेट किया जाता है तो, यह <ph name="PRODUCT_OS_NAME" /> की ओर से स्क्रीन की रोशनी कम किए जाने से पहले की उस समय सीमा के बारे में बताती है, जितनी देर तक उपयोगकर्ता कोई गतिविधि नहीं करता.
 
-          जब इस नीति को शून्य पर सेट किया जाता है, तो उपयोगकर्ता के प्रयोग में नहीं हो जाने पर <ph name="PRODUCT_OS_NAME" /> स्क्रीन को मंद नहीं करता.
+          जब इस नीति को शून्य पर सेट किया जाता है तो, उपयोगकर्ता की ओर से कोई गतिविधि नहीं करने के बावजूद <ph name="PRODUCT_OS_NAME" /> स्क्रीन की रोशनी कम नहीं करता.
 
-          जब इस नीति को सेट नहीं किया जाता, तो एक डिफ़ॉल्ट समयावधि का उपयोग किया जाता है.
+         जब यह नीति सेट नहीं की जाती है तो, एक डिफ़ॉल्ट समय सीमा का उपयोग किया जाता है.
 
-          नीति का मान मिलीसेकंड में निर्दिष्ट किया जाना चाहिए. मानों को स्क्रीन बंद विलंब (यदि सेट हो) और प्रयोग में नहीं विलंब से कम या उसके बराबर होने के लिए क्लैम्प किया जाता है.</translation>
+          नीति का मान मिलीसेकंड में तय किया जाना चाहिए. मानों को, स्क्रीन बंद होने में देरी (अगर सेट हो) और कोई गतिविधि नहीं में देरी से कम या उसके बराबर पर रखा जाता है.</translation>
 <translation id="3264793472749429012">डिफ़ॉल्‍ट खोज प्रदाता एन्कोडिंग</translation>
 <translation id="3273221114520206906">सामान्य JavaScript सेटिंग</translation>
 <translation id="3284094172359247914">WebUSB API (एपीआई) का इस्तेमाल नियंत्रित करें</translation>
@@ -889,9 +893,9 @@
 <translation id="3322771899429619102">वैसी साइट जिन्हें कुंजी जनरेट करने की अनुमति नहीं है, उनके लिए  यूआरएल पैटर्न की सूची सेट करने की सुविधा देती है. अगर कोई यूआरएल पैटर्न 'KeygenBlockedForUrls' में है तो, यह पॉलिसी ऐसे अपवादों को रद्द कर देती है.
 
           अगर इस नीति को नहीं जोड़ा जाता है तो, सभी साइट के लिए वैश्विक डिफ़ॉल्ट मान का इस्तेमाल किया जाएगा. अगर 'DefaultKeygenSetting' नीति सेट है तो, यह मान इससे लिया जाएगा नहीं तो फिर उपयोगकर्ता के निजी कॉन्फ़िगरेशन का इस्तेमाल किया जाएगा.</translation>
-<translation id="332771718998993005"><ph name="PRODUCT_NAME" /> गंतव्य के रूप में दिखाया जाने वाला नाम तय करें.
+<translation id="332771718998993005"><ph name="PRODUCT_NAME" /> मंज़िल के रूप में दिखाया जाने वाला नाम तय करें.
 
-          अगर इस नीति को खाली नहीं रहने वाली स्ट्रिंग पर सेट किया जाता है, तो उस स्ट्रिंग का उपयोग <ph name="PRODUCT_NAME" /> गंतव्य के नाम के रूप में किया जाएगा. ऐसा नहीं होने पर, डिवाइस का नाम ही गंतव्य नाम होगा. अगर यह नीति सेट नहीं की जाती है, तो डिवाइस का नाम ही गंतव्य नाम होगा और डिवाइस का मालिक (या डिवाइस का प्रबंधन करने वाले डोमेन का उपयोगकर्ता) उसे बदल सकेगा. नाम में 24 वर्ण ही हो सकते हैं.</translation>
+          अगर इस नीति को खाली नहीं रहने वाली स्ट्रिंग पर सेट किया जाता है, तो उस स्ट्रिंग का इस्तेमाल <ph name="PRODUCT_NAME" /> मंज़िल के नाम के रूप में किया जाएगा. ऐसा नहीं होने पर, डिवाइस का नाम ही मंज़िल का नाम होगा. अगर यह नीति सेट नहीं की जाती है, तो डिवाइस का नाम ही मंज़िल का नाम होगा और डिवाइस का मालिक (या डिवाइस का प्रबंधन करने वाले डोमेन का उपयोगकर्ता) उसे बदल सकेगा. नाम में 24 वर्ण ही हो सकते हैं.</translation>
 <translation id="3335468714959531450">आपको ऐसे 'यूआरएल पैटर्न' की सूची सेट करने देती है जो उन साइटों के बारे में बताते हैं जिनके पास कुकी सेट करने की मंज़ूरी होती है.
 
           अगर यह नीति सेट न हो, तो सभी साइटों के लिए 'ग्लोबल डिफ़ॉल्ट मान' का उपयोग किया जाएगा. यह मान, 'DefaultPluginsSetting' नीति सेट होने पर उससे लिया जाएगा वरना उपयोगकर्ता के निजी कॉन्फ़िगरेशन से लिया जाएगा.
@@ -1121,11 +1125,11 @@
       यदि यह पॉलिसी बिना सेट किए छोड़ दी गई है, तो स्पीडी उपलब्ध होगा.</translation>
 <translation id="3890999316834333174">तुरंत अनलॉक करें नीतियां</translation>
 <translation id="3891357445869647828">JavaScript सक्षम करें</translation>
-<translation id="3895557476567727016">उस डिफ़ॉल्ट निर्देशिका को कॉन्फ़िगर करती है जिसका इस्तेमाल <ph name="PRODUCT_NAME" /> फ़ाइलें डाउनलोड करने के लिए करेगा.
+<translation id="3895557476567727016">उस डिफ़ॉल्ट निर्देशिका को कॉन्‍फ़िगर करती है, जिसका उपयोग <ph name="PRODUCT_NAME" /> फ़ाइल डाउनलोड करने के लिए करेगा.
 
-      अगर आप इस नीति को सेट करते हैं, तो यह उस डिफ़ॉल्ट निर्देशिका को बदल देगी जिसमें <ph name="PRODUCT_NAME" /> फ़ाइलें डाउनलोड करता है. यह नीति अनिवार्य नहीं है, इसलिए उपयोगकर्ता निर्देशिका में बदलाव कर सकेंगे.
+      अगर आप इस नीति को सेट करते हैं तो, यह उस डिफ़ॉल्ट निर्देशिका को बदल देगी जिसमें <ph name="PRODUCT_NAME" /> फ़ाइल डाउनलोड करता है. इस नीति का पालन करना ज़रूरी नहीं है, इसलिए उपयोगकर्ता निर्देशिका में बदलाव कर सकेगा.
 
-      अगर आप इस नीति को सेट नहीं करते हैं, तो <ph name="PRODUCT_NAME" /> उसकी सामान्य डिफ़ॉल्ट निर्देशिका (प्लैटफ़ॉर्म-विशिष्ट) का इस्तेमाल करेगा.
+      अगर आप इस नीति को सेट नहीं करते हैं, तो <ph name="PRODUCT_NAME" /> उसकी सामान्य डिफ़ॉल्ट निर्देशिका (प्लैटफ़ॉर्म-आधारित) का इस्तेमाल करेगा.
 
       इस्तेमाल किए जा सकने वाले वैरिएबल की सूची के लिए https://www.chromium.org/administrators/policy-list-3/user-data-directory-variables देखें.</translation>
 <translation id="3911737181201537215">इस नीति का Android द्वारा किए गए प्रवेश पर कोई प्रभाव नहीं पड़ता.</translation>
@@ -1224,7 +1228,7 @@
 <translation id="423797045246308574">वैसी साइट जिन्हें कुंजी जनरेट करने की अनुमति नहीं है, उनके लिए  यूआरएल पैटर्न की सूची सेट करने की सुविधा देती है. अगर कोई यूआरएल पैटर्न 'KeygenAllowedForUrls' में है तो, यह पॉलिसी ऐसे अपवादों को रद्द कर देती है.
 
           अगर इस नीति को नहीं जोड़ा जाता है तो, सभी साइट के लिए वैश्विक डिफ़ॉल्ट मान का इस्तेमाल किया जाएगा. अगर 'DefaultKeygenSetting' नीति सेट है तो, यह मान इससे लिया जाएगा नहीं तो फिर उपयोगकर्ता के निजी कॉन्फ़िगरेशन का इस्तेमाल किया जाएगा.</translation>
-<translation id="4239720644496144453">संचय का उपयोग Android ऐप्लिकेशन के लिए नहीं किया जाता है. यदि एकाधिक उपयोगकर्ता समान Android ऐप्लिकेशन इंस्टॉल करते हैं, तो उसे प्रत्येक उपयोगकर्ता के लिए नए सिरे से डाउनलोड किया जाएगा.</translation>
+<translation id="4239720644496144453">कैश मेमोरी का उपयोग Android ऐप्लिकेशन के लिए नहीं किया जाता है. अगर एक से ज़्यादा उपयोगकर्ता एक ही Android ऐप्लिकेशन इंस्टॉल करते हैं, तो उसे हर एक उपयोगकर्ता के लिए नए सिरे से डाउनलोड किया जाएगा.</translation>
 <translation id="4243336580717651045">यह नीति <ph name="PRODUCT_NAME" /> में 'यूआरएल-की' के साथ पहचान ज़ाहिर न करने वाले डेटा संग्रह की सेटिंग चालू करती है और उपयोगकर्ताओं को यह सेटिंग बदलने से रोकती है.
 
       'यूआरएल-की' के साथ पहचान ज़ाहिर न करने वाले डेटा संग्रह की सेटिंग खोजों और ब्राउज़िंग को बेहतर बनाने के लिए Google को उन पेज के यूआरएल भेजती है जिन पर उपयोगकर्ता जाता है.
@@ -1311,13 +1315,13 @@
 <translation id="4480694116501920047">बलपूर्वक सुरक्षित खोज</translation>
 <translation id="4482640907922304445"><ph name="PRODUCT_NAME" /> के टूलबार पर होम पेज बटन दिखाती है.
 
-      अगर आप यह सेटिंग चालू करते हैं, तो होम पेज बटन हमेशा दिखाई देता है.
+      अगर आप यह सेटिंग चालू करते हैं तो, होम पेज बटन हमेशा दिखाई देता है.
 
-      अगर आप यह सेटिंग बंद करते हैं, तो होम पेज बटन कभी दिखाई नहीं देता है.
+      अगर आप यह सेटिंग बंद करते हैं तो, होम पेज बटन कभी दिखाई नहीं देता है.
 
-      अगर आप यह सेटिंग चालू या बंद करते हैं, तो <ph name="PRODUCT_NAME" /> में उपयोगकर्ता यह सेटिंग बदल नहीं सकते या इसे रद्द नहीं कर सकते.
+      अगर आप यह सेटिंग चालू या बंद करते हैं तो, <ph name="PRODUCT_NAME" /> में उपयोगकर्ता यह सेटिंग बदल नहीं सकते या इसे रद्द नहीं कर सकते.
 
-      अगर इस नीति को सेट किए बिना छोड़ दिया जाता है, तो उपयोगकर्ता को यह चुनने की सुविधा होगी कि होम पेज बटन दिखाया जाए या नहीं.</translation>
+      अगर इस नीति को सेट किए बिना छोड़ दिया जाता है तो, उपयोगकर्ता को यह चुनने कि सुविधा होगी कि होम पेज बटन दिखाया जाए या नहीं.</translation>
 <translation id="4483649828988077221">अपने आप होने वाले अपडेट बंद करें</translation>
 <translation id="4485425108474077672">नया टैब पेज URL कॉन्फ़िगर करें</translation>
 <translation id="4492287494009043413">स्क्रीनशॉट लेना बंद करें</translation>
@@ -1451,7 +1455,7 @@
           अगर आप यह सेटिंग चालू करते हैं तो, <ph name="PRODUCT_NAME" /> और ARC-ऐप्लिकेशन, कमांड लाइन से तय किए गए प्रॉक्सी से जुड़े सभी विकल्पों को अनदेखा करते हैं.
 
       इन नीतियों सेट नहीं करने से उपयोगकर्ताओं को खुद प्रॉक्सी सेटिंग चुनने की अनुमति मिल जाती है.</translation>
-<translation id="4816674326202173458">एंटरप्राइज़ उपयोगकर्ता को प्राथमिक और द्वितीयक दोनों होने दें  (गैर-प्रबंधित उपयोगकर्ताओं के लिए डिफ़ॉल्ट व्यवहार)</translation>
+<translation id="4816674326202173458">एंटरप्राइज़ उपयोगकर्ता को प्राथमिक और उसके बाद का, दोनों तरह का उपयोगकर्ता बनने की अनुमति देता है (एंटरप्राइज़-प्रबंधित उपयोगकर्ताओं के लिए डिफ़ॉल्ट व्यवहार)</translation>
 <translation id="4826326557828204741">बैटरी पावर पर चलते समय प्रयोग में नहीं विलंब तक पहुंच जाने पर की जाने वाली कार्यवाही</translation>
 <translation id="4834526953114077364">पर्याप्त खाली स्‍थान नहीं होने तक, हाल ही में सबसे कम उपयोग करने वाले उन उपयोगकर्ताओं को निकाल दिया जाता है, जिन्‍होंने पिछले 3 माह में प्रवेश नहीं किया है</translation>
 <translation id="4838572175671839397">इस नीति में एक रेगुलर एक्सप्रेशन शामिल होता है, जिसका उपयोग यह तय करने में किया जाता है कि कौनसे उपयोगकर्ता <ph name="PRODUCT_NAME" /> में साइन कर सकते हैं.
@@ -1551,15 +1555,15 @@
 
         सामान्य तौर पर, सभी एक्सटेंशन मान्य सूची में होते हैं, लेकिन अगर नीति के तहत सभी एक्सटेंशन को प्रतिबंधित किया जाता है, तो नीति को ओवरराइड करने के लिए मान्य सूची का उपयोग किया जा सकता है.</translation>
 <translation id="519247340330463721">सुरक्षित ब्राउज़िंग संबंधी नीतियों को कॉन्फ़िगर करें.</translation>
-<translation id="5192837635164433517">यह नीति गड़बड़ी के ऐसे वैकल्पिक पेज का उपयोग चालू करती है जो <ph name="PRODUCT_NAME" /> में तैयार होते हैं (जैसे 'पेज नहीं मिला') और उपयोगकर्ताओं को इस सेटिंग को बदलने से रोकती है.
+<translation id="5192837635164433517">यह नीति गड़बड़ी के ऐसे वैकल्पिक पेजों का उपयोग चालू करती है जो <ph name="PRODUCT_NAME" /> में तैयार होते हैं (जैसे 'पेज नहीं मिला') और उपयोगकर्ताओं को इस सेटिंग को बदलने से रोकती है.
 
-      अगर आप इस सेटिंग को चालू करते हैं, तो गड़बड़ी के वैकल्पिक पेज का उपयोग किया जाता है.
+      अगर आप इस सेटिंग को चालू करते हैं तो, गड़बड़ी के वैकल्पिक पेजों का उपयोग किया जाता है.
 
-      अगर आप इस सेटिंग को बंद करते हैं, तो गड़बड़ी के वैकल्पिक पेज का उपयोग कभी भी नहीं किया जाता.
+      अगर आप इस सेटिंग को बंद करते हैं तो, गड़बड़ी के वैकल्पिक पेजों का उपयोग कभी भी नहीं किया जाता.
 
-      अगर आप इस सेटिंग को चालू या बंद करते हैं, तो उपयोगकर्ता <ph name="PRODUCT_NAME" /> में इस सेटिंग को बदल या इसे ओवरराइड नहीं कर सकते.
+      अगर आप इस सेटिंग को चालू या बंद करते हैं तो, उपयोगकर्ता <ph name="PRODUCT_NAME" /> में इस सेटिंग को बदल या इसे ओवरराइड नहीं कर सकते.
 
-      अगर यह नीति सेट नहीं की जाती है, तो यह चालू रहेगी लेकिन उपयोगकर्ता इसे बदल सकेगा.</translation>
+      अगर यह नीति सेट नहीं की जाती है तो, यह चालू रहेगी लेकिन उपयोगकर्ता इसे बदल सकेगा.</translation>
 <translation id="5196805177499964601">डेवलपर मोड अवरुद्ध करें.
 
       यदि यह नीति सही पर सेट की जाती है, तो <ph name="PRODUCT_OS_NAME" /> डिवाइस को डेवलपर मोड में बूट होने से रोकेगा. डेवलपर स्विच चालू होने पर सिस्टम बूट होने से मना कर देगा और एक गड़बड़ी स्क्रीन दिखाएगा.
@@ -1660,11 +1664,9 @@
           यदि यह सेटिंग सक्षम हो, तो फिर होस्ट के भौतिक इनपुट और आउटपुट डिवाइस अक्षम कर दिए जाते हैं, जबकि एक दूरस्थ कनेक्शन चल रहा होता है.
 
           यदि यह सेटिंग अक्षम हो या सेट नहीं हो, तो फिर स्थानीय और दूरस्थ दोनों उपयोगकर्ता होस्ट के शेयर किए जाते समय उससे सहभागिता कर सकते हैं.</translation>
-<translation id="5405289061476885481">यह कॉन्फ़िगर करती है कि <ph name="PRODUCT_OS_NAME" /> साइन इन स्क्रीन पर कौन-कौन से कीबोर्ड लेआउट की अनुमति है.
+<translation id="5405289061476885481">यह कॉन्फ़िगर करती है कि <ph name="PRODUCT_OS_NAME" /> की साइन इन स्क्रीन पर किस कीबोर्ड लेआउट की अनुमति है.
 
-
-
-      अगर यह नीति इनपुट विधि पहचानकर्ताओं की किसी सूची पर सेट की जाती है, तो दी गई इनपुट विधियां साइन इन स्क्रीन पर उपलब्ध होंगी. दी गई पहली इनपुट विधि पहले से चुनी हुई होगी. साइन इन स्क्रीन पर कोई उपयोगकर्ता पॉड फ़ोकस होने पर, इस नीति की ओर से दी गई इनपुट विधियों के अलावा उपयोगकर्ता की पिछली उपयोग की गई इनपुट विधि भी उपलब्ध होगी. अगर यह नीति सेट नहीं की जाती, तो साइन इन स्क्रीन पर मौजूद इनपुट विधियां उस भाषा से ली जाएंगी जिसमें साइन इन स्क्रीन दिखाई गई है. जो मान, मान्य इनपुट विधि पहचानकर्ता नहीं हैं उन्हें अनदेखा कर दिया जाएगा.</translation>
+      अगर यह नीति इनपुट के तरीकों की पहचान संबंधी किसी सूची पर सेट की जाती है, तो साइन इन स्क्रीन पर दिया गया इनपुट का तरीका मौजूद रहेगा. इनपुट के लिए वह तरीका पहले से चुना गया होगा जो सबसे पहले दिया गया होगा. उपयोगकर्ता पॉड जहां साइन इन स्क्रीन पर फ़ोकस करता है वहीं इस नीति की ओर से दिए गए इनपुट के तरीकों के अलावा इनपुट का वह तरीका भी मौजूद रहेगा जिसका इस्तेमाल उसने आखिरी बार किया था. अगर यह नीति सेट नहीं की जाती तो, इनपुट का तरीका उस स्थानीय भाषा से लिया जाएगा जिसमें साइन इन स्क्रीन दिखाई जाती है. ऐसे मान जो इनपुट के मान्य तरीके नहीं हैं, उन्हें अनदेखा कर दिया जाएगा.</translation>
 <translation id="5423001109873148185">अगर यह नीति चालू हो तो, यह सर्च इंजन को वर्तमान डिफ़ॉल्ट ब्राउज़र से आयात करने के लिए बाध्य करती है. चालू होने पर यह नीति, आयात संबंधी संवाद पर भी असर डालती है.
 
       अगर बंद हो तो, डिफ़ॉल्ट सर्च इंजन को आयात नहीं किया जाता.
@@ -1678,7 +1680,7 @@
 <translation id="5457924070961220141">आपको डिफ़ॉल्ट एचटीएमएल रेंडरर कॉन्फ़िगर करने देती है, अगर <ph name="PRODUCT_FRAME_NAME" /> इंस्टॉल किया जा चुका हो. जब इस नीति को सेट किए बिना छोड़ दिया जाता है, तो होस्ट ब्राउज़र को रेंडरिंग की अनुमति देने के लिए डिफ़ॉल्ट सेटिंग का उपयोग किया जाता है, लेकिन आप वैकल्पिक रूप से इसे ओवरराइड कर सकते हैं और डिफ़ॉल्ट रूप से <ph name="PRODUCT_FRAME_NAME" /> को एचटीएमएल पेज रेंडर करने दे सकते हैं.</translation>
 <translation id="5464816904705580310">प्रबंधित उपयोगकर्ताओं की सेटिंग कॉन्फ़िगर करें.</translation>
 <translation id="546726650689747237">AC पावर पर चलते समय स्क्रीन मंद विलंब</translation>
-<translation id="5469143988693423708">उपयोगकर्ता Crostini चला सकता है</translation>
+<translation id="5469143988693423708">उपयोगकर्ता Crostini चला सकते हैं</translation>
 <translation id="5469825884154817306">इन साइटों पर चित्र अवरुद्ध करें</translation>
 <translation id="5475361623548884387">प्रिंटिंग सक्षम करें</translation>
 <translation id="547601067149622666">तंग करने वाले विज्ञापनों वाली साइटों पर विज्ञापनों की अनुमति न दें</translation>
@@ -1859,11 +1861,11 @@
 <translation id="5983708779415553259">साइटों का डिफ़ॉल्ट व्यवहार किसी भी सामग्री पैक में नहीं है</translation>
 <translation id="5997543603646547632">डिफ़ॉल्ट रूप से 24 घंटे वाली घड़ी का उपयोग करें</translation>
 <translation id="5997846976342452720">तय करें कि प्‍लग इन खोजकर्ता बंद होना चाहिए या नहीं (रोका गया)</translation>
-<translation id="6017568866726630990">प्रिंट पूर्वावलोकन के बजाय सिस्टम प्रिंट डॉयलॉग दिखाएं.
+<translation id="6017568866726630990">प्रिंट की झलक के बजाय सिस्टम प्रिंट संवाद दिखाती है.
 
-      जब यह सेटिंग सक्षम हो, तो किसी उपयोगकर्ता द्वारा पेज को प्रिंट किए जाने का अनुरोध करने पर, <ph name="PRODUCT_NAME" /> अंतर्निहित प्रिंट पूर्वावलोकन के बजाय सिस्टम प्रिंट डॉयलॉग खोलेगा.
+      जब यह सेटिंग चालू होती है और कोई उपयोगकर्ता पेज को प्रिंट किए जाने का अनुरोध करता है तो, <ph name="PRODUCT_NAME" /> पहले से मौजूद प्रिंट की झलक के बजाय सिस्टम प्रिंट संवाद खोलेगा.
 
-      यदि यह नीति सेट नहीं की जाती या गलत पर सेट कर दी जाती है, तो प्रिंट आदेश प्रिंट पूर्वावलोकन स्क्रीन ट्रिगर कर देते हैं.</translation>
+      अगर यह नीति सेट नहीं की गई हो या गलत पर सेट की गई हो तो, प्रिंट के लिए दिया गया निर्देश प्रिंट की झलक स्क्रीन को शुरू कर देता है.</translation>
 <translation id="6022948604095165524">स्टार्टअप पर क्रिया</translation>
 <translation id="6023030044732320798">यह नीति ऐसी नीतियों के सेट के बारे में बताती है जिन्हें 'एआरसी रनटाइम' को सौंप दिया जाएगा. मान कोई मान्य जेसन (JSON) होना चाहिए.
 
@@ -1923,17 +1925,17 @@
       अगर यह पॉलिसी कॉन्फ़िगर नहीं की जाती तो, अलग करने लायक यूएसबी डिवाइस की सूची खाली रहती है.</translation>
 <translation id="6083631234867522991">Windows (Windows क्लाइंट):</translation>
 <translation id="6093156968240188330">दूरस्थ उपयोगकर्ताओं को दूरस्थ सहायता सत्रों में एलिवेटेड विंडो से सहभागिता करने की अनुमति देती है</translation>
-<translation id="6095999036251797924">AC पावर या बैटरी पर चलते समय, उस समयावधि को निर्दिष्ट करती है जिसके दौरान कोई उपयोगकर्ता इनपुट गतिविधि न होने पर स्क्रीन लॉक कर दी जाती है.
+<translation id="6095999036251797924">एसी पावर या बैटरी पर चलते समय उस समय सीमा के बारे में बताती है, जितनी देर तक उपयोगकर्ता अगर कोई भी इनपुट नहीं देता है तो, उसके बाद स्क्रीन बंद हो जाती है.
 
-          समयावधि के शून्य से अधिक मान पर सेट होने पर यह उस समयावधि को दर्शाती है जब <ph name="PRODUCT_OS_NAME" /> द्वारा स्क्रीन को लॉक करने के पहले उपयोगकर्ता को निष्क्रिय रहना चाहिए.
+          जब इस नीति को शून्य से ज़्यादा मान पर सेट किया जाता है तो, यह <ph name="PRODUCT_OS_NAME" /> की ओर से स्क्रीन बंद किए जाने से पहले की उस समय सीमा के बारे में बताती है, जितनी देर तक उपयोगकर्ता कोई गतिविधि नहीं करता.
 
-          समयावधि के शून्य पर सेट होने पर यह उपयोगकर्ता के निष्क्रिय होने पर <ph name="PRODUCT_OS_NAME" /> स्क्रीन को लॉक नहीं करता है.
+          जब इस नीति को शून्य पर सेट किया जाता है तो, उपयोगकर्ता की ओर से कोई गतिविधि नहीं करने के बावजूद <ph name="PRODUCT_OS_NAME" /> स्क्रीन को बंद नहीं करता.
 
-          समयावधि के सेट नहीं होने पर डिफ़ॉल्ट समयावधि का उपयोग की जाती है.
+          जब यह नीति सेट नहीं की जाती है तो, एक डिफ़ॉल्ट समय सीमा का उपयोग किया जाता है.
 
-          निष्क्रिय होने पर स्क्रीन को लॉक करने का सुझाए गए तरीका निलंबन पर स्क्रीन लॉक को सक्षम करना और निष्क्रिय विलंब के बाद <ph name="PRODUCT_OS_NAME" /> को निलंबित करना है. यह नीति केवल तभी उपयोग की जानी चाहिए जब स्क्रीन लॉक, निलंबन से कुछ निश्चित समय से पहले हो जाता है या जब निष्क्रियण पर निलंबन इच्छित न हो.
+          गतिविधि नहीं करने पर स्क्रीन को बंद करने का सुझाया गया तरीका यह है कि निलंबन पर स्क्रीन को बंद किया जाए और गतिविधि नहीं करने में देरी के बाद <ph name="PRODUCT_OS_NAME" /> को निलंबित करने दिया जाए. इस नीति का उपयोग सिर्फ़ तभी किया जाना चाहिए जब स्क्रीन को बंद करना, निलंबन से काफ़ी समय पहले सामने आए या गतिविधि नहीं करने पर निलंबित किया जाना बिल्कुल भी ज़रूरी न हो.
 
-          नीति मान को मिलीसेकंड में निर्दिष्ट किया जाना चाहिए. मानों को निष्क्रिय विलंब से कम के लिए क्लैम्प किया जाता है.</translation>
+          नीति का मान मिलीसेकंड में तय किया जाना चाहिए. मानों को, कोई गतिविधि नहीं में देरी से कम या उसके बराबर पर रखा जाता है.</translation>
 <translation id="6097601282776163274">'यूआरएल-की' के साथ पहचान ज़ाहिर न करने वाले डेटा संग्रह को चालू करती है</translation>
 <translation id="6099853574908182288">डिफ़ॉल्ट प्रिंटिंग रंग मोड</translation>
 <translation id="6111936128861357925">डाइनासोर ईस्टर गेम की अनुमति दें</translation>
@@ -2042,9 +2044,9 @@
 <translation id="6536600139108165863">डिवाइस के शटडाउन होने पर स्‍वचालित रीबूट होना</translation>
 <translation id="6539246272469751178">इस नीति का Android ऐप्लिकेशन पर कोई प्रभाव नहीं पड़ता. Android ऐप्लिकेशन हमेशा डिफ़ॉल्ट डाउनलोड निर्देशिका का उपयोग करते हैं और वे <ph name="PRODUCT_OS_NAME" /> द्वारा डाउनलोड की गईं फ़ाइलें किसी गैर-डिफ़ॉल्ट डाउनलोड निर्देशिका में एक्सेस नहीं कर सकते हैं.</translation>
 <translation id="654303922206238013">ecryptfs के लिए माइग्रेशन कार्यनीति</translation>
-<translation id="6544897973797372144">यदि यह नीति सही पर सेट है और ChromeOsReleaseChannel नीति निर्दिष्ट नहीं है, तो फिर नामांकन डोमेन के उपयोगकर्ताओं को डिवाइस के रिलीज़ चैनल को बदलने की अनुमति मिल जाएगी. यदि यह नीति गलत पर सेट है, तो डिवाइस जिस भी चैनल में अंतिम बार सेट होगा उसमें लॉक हो जाएगा.
+<translation id="6544897973797372144">अगर यह नीति सही पर सेट है और ChromeOsReleaseChannel नीति की जानकारी नहीं दी गई है, तो फिर नामांकन डोमेन के उपयोगकर्ताओं को डिवाइस के रिलीज़ चैनल को बदलने की अनुमति मिल जाएगी. अगर यह नीति गलत पर सेट है, तो डिवाइस जिस भी चैनल में अंतिम बार सेट होगा उसमें लॉक हो जाएगा.
 
-      उपयोगकर्ता द्वारा चयनित चैनल ChromeOsReleaseChannel नीति द्वारा ओवरराइड कर दिया जाएगा, लेकिन यदि नीति चैनल, डिवाइस पर इंस्टॉल किए हुए से अधिक स्थिर होता है, फिर वह चैनल, डिवाइस पर इंस्टॉल किए हुए की अपेक्षा अधिक स्थिर चैनल के किसी उच्च वर्शन संख्या पर पहुंच जाने के बाद ही स्विच करेगा.</translation>
+      उपयोगकर्ता के चुने गए चैनल को ChromeOsReleaseChannel नीति से ओवरराइड कर दिया जाएगा, लेकिन अगर नीति चैनल, डिवाइस पर इंस्टॉल किए हुए से ज़्यादा स्थिर होता है, फिर वह चैनल, डिवाइस पर इंस्टॉल किए हुए की अपेक्षा ज़्यादा स्थिर चैनल के किसी उच्च वर्शन संख्या पर पहुंच जाने के बाद ही स्विच करेगा.</translation>
 <translation id="6559057113164934677">किसी भी साइट को कैमरे और माइक्रोफ़ोन तक न पहुंचने दें</translation>
 <translation id="6561396069801924653">सिस्टम ट्रे मेनू में पहुंच-योग्यता विकल्प दिखाएं</translation>
 <translation id="6565312346072273043">लॉग इन स्क्रीन पर 'ऑन-स्क्रीन कीबोर्ड' की सुलभता सुविधा को डिफ़ॉल्ट पर सेट करें.
@@ -2318,15 +2320,15 @@
           अगर इस नीति को नहीं जोड़ा जाता है तो, सभी साइट के लिए वैश्विक डिफ़ॉल्ट मान का इस्तेमाल किया जाएगा. अगर 'DefaultWebUsbGuardSetting' नीति सेट है तो, यह मान इससे लिया जाएगा नहीं तो फिर उपयोगकर्ता के निजी कॉन्फ़िगरेशन का इस्तेमाल किया जाएगा.
 
           इस नीति में दिए गए यूआरएल पैटर्न का टकराव, WebUsbBlockedForUrls के ज़रिए कॉन्फ़िगर किए गए यूआरएल से नहीं होना चाहिए. हालांकि, यह साफ़ नहीं है कि अगर किसी यूआरएल का दोनों नीतियों से मिलान हो जाता है तो किस नीति को प्राथमिकता दी जाएगी.</translation>
-<translation id="7106631983877564505"><ph name="PRODUCT_OS_NAME" /> डिवाइस पर कोई गतिविधि न होने या कुछ समय के लिए बंद हो जाने पर लॉक चालू करें.
+<translation id="7106631983877564505"><ph name="PRODUCT_OS_NAME" /> डिवाइस निष्क्रिय या निलंबित हो जाने पर लॉक सक्षम करें.
 
-      अगर आप इस सेटिंग को चालू करते हैं, तो डिवाइस को जगाने के लिए उपयोगकर्ताओं से अनलॉक करने का पासवर्ड मांगा जाएगा.
+      अगर आप इस सेटिंग को चालू करते हैं, तो उपयोगकर्ताओं से डिवाइस को निष्क्रिय से अनलॉक करने के लिए एक पासवर्ड मांगा जाएगा.
 
-      अगर आप इस सेटिंग को बंद करते हैं, तो डिवाइस को जगाने के लिए उपयोगकर्ताओं से अनलॉक करने का पासवर्ड नहीं मांगा जाएगा.
+      अगर आप इस सेटिंग को बंद करते हैं, तो उपयोगकर्ताओं से डिवाइस को निष्क्रिय से अनलॉक करने के लिए पासवर्ड नहीं मांगा जाएगा.
 
-      अगर आप इस सेटिंग को चालू या बंद करते हैं, तो उपयोगकर्ता उसे बदल नहीं सकते या उसे ओवरराइड नहीं कर सकते.
+      अगर आप इस सेटिंग को चालू या बंद करते हैं, तो उपयोगकर्ता उसे बदल नहीं सकते या उसे ओवरराइड नहीं कर सकते हैं.
 
-      अगर नीति सेट नहीं की जाती है, तो उपयोगकर्ता चुन सकता है कि उससे डिवाइस को अनलॉक करने के लिए पासवर्ड मांगा जाए या नहीं.</translation>
+      अगर पॉलिसी को सेट किए बिना छोड़ दिया जाता है, तो उपयोगकर्ता चुन सकता है कि उससे डिवाइस को अनलॉक करने के लिए पासवर्ड मांगा जाए या नहीं.</translation>
 <translation id="7115494316187648452">यह नीति तय करती है कि क्‍या OS लॉगिन पर कोई <ph name="PRODUCT_NAME" /> प्रक्रिया शुरू हुई है और क्‍या वह पिछले ब्राउज़र के बंद हो जाने पर चलती रहती है, जिससे बैकग्राउंड ऐप्लिकेशन और मौजूदा ब्राउज़िंग सेशन चालू रहें. इसमें कोई भी सेशन कुकी शामिल है. बैकग्राउंड प्रक्रिया 'सिस्‍टम ट्रे' में एक आइकॉन दिखाती है और उसे वहीं से कभी भी बंद किया जा सकता है.
 
       अगर यह नीति 'सही' पर सेट होती है तो, बैकग्राउंड मोड चालू हो जाता है और उपयोगकर्ता उसे ब्राउज़र सेटिंग में नियंत्रित नहीं कर सकता.
@@ -2336,11 +2338,11 @@
       अगर यह नीति सेट नहीं की जाती है तो, बैकग्राउंड मोड शुरू में बंद रहता है और उपयोगकर्ता उसे ब्राउज़र सेटिंग में नियंत्रित कर सकता है.</translation>
 <translation id="7126716959063786004">काम का प्रबंधक में प्रक्रियाएं खत्म होना चालू करती है</translation>
 <translation id="7127892035367404455">टार्गेट वर्शन में रोलबैक करें</translation>
-<translation id="7128918109610518786">उन ऐप्स  पहचानकर्ताओं को सूचीबद्ध करता है जिन्हें <ph name="PRODUCT_OS_NAME" /> द्वारा लॉन्चर बार में पिन किए गए ऐप्स  के रूप में दिखाया जाता है.
+<translation id="7128918109610518786">उन ऐप्लिकेशन पहचानकर्ताओं को सूची में लिखता है जिन्हें <ph name="PRODUCT_OS_NAME" />PRODUCT_OS_NAME, लॉन्चर बार में पिन किए गए ऐप्लिकेशन के तौर पर दिखाता है.
 
-      यदि यह नीति कॉन्फ़‍िगर है, तो ऐप्स  का सेट स्थायी हो जाता है और उसे उपयोगकर्ता द्वारा बदला नहीं जा सकता है.
+      अगर यह नीति कॉन्फ़‍िगर की गई है, तो ऐप्लिकेशन का सेट स्थायी हो जाता है और उसे उपयोगकर्ता बदल नहीं सकता.
 
-      यदि यह नीति सेट किए बिना छोड़ दी जाती है, तो उपयोगकर्ता लॉन्चर में पिन किए गए ऐप्स  की सूची बदल सकता है.</translation>
+      अगर यह नीति सेट किए बिना छोड़ दी जाती है, तो उपयोगकर्ता लॉन्चर में पिन किए गए ऐप्लिकेशन की सूची बदल सकता है.</translation>
 <translation id="7132877481099023201">वैसे URL जिन्हें संकेत किए बिना ही वीडियो कैप्चर डिवाइस की एक्सेस दी जाएगी</translation>
 <translation id="7167436895080860385">उपयोगकर्ताओं को पासवर्ड प्रबंधक में पासवर्ड दिखाने की अनुमति दें (बहिष्कृत)</translation>
 <translation id="7173856672248996428">अल्पकालिक प्रोफ़ाइल</translation>
@@ -2416,7 +2418,7 @@
       जब यह नीति सेट नहीं होती है या 'सही' पर सेट होती है, तो वर्शन की जानकारी इकट्ठा की जाती है.
       जब यह नीति 'गलत' पर सेट होती है, तो वर्शन की जानकारी इकट्ठा नहीं की जाती है.
 
-      यह नीति सिर्फ तब लागू होती है जब <ph name="CHROME_REPORTING_EXTENSION_NAME" /> चालू हो और मशीन का नाम <ph name="MACHINE_LEVEL_USER_CLOUD_POLICY_ENROLLMENT_TOKEN_POLICY_NAME" /> के ज़रिए दर्ज कराया गया हो.</translation>
+      यह नीति सिर्फ़ तब लागू होती है जब <ph name="CHROME_REPORTING_EXTENSION_NAME" /> चालू हो और मशीन का नाम <ph name="MACHINE_LEVEL_USER_CLOUD_POLICY_ENROLLMENT_TOKEN_POLICY_NAME" /> के ज़रिए दर्ज कराया गया हो.</translation>
 <translation id="7323896582714668701"><ph name="PRODUCT_NAME" /> के लिए कुछ और कमांड लाइन पैरामीटर</translation>
 <translation id="7326394567531622570">वाइप करें (मान 2) जैसा ही है, लेकिन यह लॉगिन टोकन सुरक्षित रखने की कोशिश करता है ताकि उपयोगकर्ता को फिर से साइन इन न करना पड़े.</translation>
 <translation id="7329842439428490522">बैटरी पावर पर चलते समय उस समय सीमा के बारे में बताती है, जितनी देर तक उपयोगकर्ता अगर कोई भी इनपुट नहीं देता है तो, उसके बाद स्क्रीन बंद हो जाती है.
@@ -2492,9 +2494,9 @@
 <translation id="7511361072385293666">यदि यह नीति सत्य पर सेट की जाती है या सेट नहीं की जाती है तो <ph name="PRODUCT_NAME" /> में QUIC प्रोटोकॉल के उपयोग की अनुमति होती है.
       यदि यह नीति असत्य पर सेट की जाती है तो QUIC प्रोटोकॉल के उपयोग की अनुमति नहीं है.</translation>
 <translation id="7519251620064708155">इन साइट पर कुंजी जेनरेशन की अनुमति दें</translation>
-<translation id="7529100000224450960">वैसे साइट जिनमें पॉपअप खोलने की अनुमति नहीं है, उनके लिए  url पैटर्न की सूची सेट करने की सुविधा देती है.
+<translation id="7529100000224450960">वैसी साइट जिनमें पॉपअप खोलने की अनुमति है, उनके लिए यूआरएल पैटर्न की सूची सेट करने की सुविधा देती है.
 
-          अगर इस नीति को नहीं जोड़ा जाता है तो, सभी साइट के लिए वैश्विक डिफ़ॉल्ट मान का इस्तेमाल किया जाएगा. अगर 'DefaultPopupsSetting' सेट है तो, यह मान इससे लिया जाएगा नहीं तो फिर उपयोगकर्ता के निजी कॉन्फ़िगरेशन का इस्तेमाल किया जाएगा.</translation>
+          अगर इस नीति को सेट किए बिना छोड़ दिया जाता है, तो सभी साइट के लिए वैश्विक डिफ़ॉल्ट मान का इस्तेमाल किया जाएगा. अगर 'DefaultPopupsSetting' सेट है, तो यह मान इससे लिया जाएगा नहीं तो फिर उपयोगकर्ता के निजी कॉन्फ़िगरेशन का इस्तेमाल किया जाएगा.</translation>
 <translation id="7529144158022474049">स्वतः अपडेट स्कैटर कारक</translation>
 <translation id="7534199150025803530">इस नीति का Android Google डिस्क ऐप्लिकेशन पर कोई प्रभाव नहीं पड़ता. यदि आप मोबाइल इंटरनेट कनेक्शन पर Google डिस्क का उपयोग रोकना चाहते हैं, तो आपको Android Google डिस्क ऐप्लिकेशन के इंस्टॉलेशन की अनुमति नहीं देनी चाहिए.</translation>
 <translation id="7547549430720182663">एक बनाएं</translation>
@@ -2537,19 +2539,19 @@
       अगर आप इस सेटिंग को चालू करते हैं तो, <ph name="PRODUCT_NAME" /> बताई गई स्थान-भाषा का उपयोग करता है. अगर कॉन्‍फ़िगर की गई स्थान-भाषा इस पर काम नहीं करती है तो, इसके बजाय 'en-US' का उपयोग किया जाता है.
 
       अगर यह सेटिंग बंद है या कॉन्‍फ़िगर नहीं की गई है तो, <ph name="PRODUCT_NAME" /> या तो उस स्थान-भाषा का इस्तेमाल करता है जिसे उपयोगकर्ता ने तय किया है (अगर कॉन्‍फ़िगर किया गया है) या फिर, सिस्टम की स्‍थान-भाषा या फ़ॉलबैक स्‍थान-भाषा 'en-US' का उपयोग करता है.</translation>
-<translation id="7641363659597330616">ऐसे डाउनलोड कॉन्फ़िगर करती है जिन्हें <ph name="PRODUCT_NAME" /> पूरी तरह से ब्लॉक कर देगा और उसे इस्तेमाल करने वाले भी सुरक्षा से जुड़े नतीजों में बदलाव नहीं कर पाएंगे.
+<translation id="7641363659597330616">ऐसे डाउनलोड कॉन्फ़िगर करती है जिन्हें <ph name="PRODUCT_NAME" /> उपयोगकर्ताओं को सुरक्षा से जुड़े नतीजे में बदलाव करने की मंज़ूरी दिए बगैर पूरी तरह से ब्लॉक कर देगा.
 
-      अगर आप इस नीति को सेट करते हैं, तो <ph name="PRODUCT_NAME" /> कुछ खास तरह के डाउनलोड रोक देगा और इस्तेमाल करने वाले लोग सुरक्षा चेतावनियों को नज़रअंदाज़ नहीं कर पाएंगे.
+      अगर आप इस नीति को सेट करते हैं, तो <ph name="PRODUCT_NAME" /> कुछ खास तरह के डाउनलोड रोक देगा और उपयोगकर्ता को सुरक्षा चेतावनियां नज़रअंदाज़ नहीं करने देगा.
 
       जब 'खतरनाक डाउनलोड ब्लॉक करें' विकल्प चुना जाता है, तो सुरक्षित ब्राउज़िंग की चेतावनियों वाले डाउनलोड के अलावा सभी डाउनलोड को मंज़ूरी दी जाती है.
 
-      जब 'ऐसे डाउनलोड ब्लॉक करें जो खतरनाक हो सकते हैं' का विकल्प चुना जाता है, तो सुरक्षित ब्राउज़िंग की चेतावनियों वाले वे डाउनलोड, जिनमें ऐसे डाउनलोड शामिल हो सकते हैं जिनसे खतरा हो, के अलावा सभी डाउनलोड को मंज़ूरी दी जाती है.
+      जब 'संभावित रूप से खतरनाक डाउनलोड ब्लॉक करें' विकल्प चुना जाता है, तो सुरक्षित ब्राउज़िंग की संभावित रूप से खतरनाक डाउनलोड की चेतावनियों वाले डाउनलोड के अलावा सभी डाउनलोड को मंज़ूरी दी जाती है.
 
-      'सभी डाउनलोड ब्लॉक करें' विकल्प चुने जाने पर, सभी डाउनलोड ब्लॉक कर दिए जाते हैं.
+      'सभी डाउनलोड ब्लॉक करें' विकल्प चुने जाने पर, सभी डाउनलोड ब्लॉक होते हैं.
 
-      इस नीति को सेट नहीं करने (या 'कोई खास प्रतिबंध नहीं' विकल्प चुनने) पर सुरक्षित ब्राउज़िंग के विश्लेषण के नतीजों के मुताबिक डाउनलोड को मंज़ूरी दी जाएगी. इन पर सामान्य सुरक्षा प्रतिबंध लागू होंगे.
+      इस नीति को सेट नहीं करने (या 'कोई खास प्रतिबंध नहीं' विकल्प चुनने) पर सुरक्षित ब्राउज़िंग के विश्लेषण नतीजों के मुताबिक सामान्य सुरक्षा प्रतिबंधों को ध्यान में रखकर डाउनलोड किए जाएंगे.
 
-      ध्यान दें कि ये प्रतिबंध वेब पेज सामग्री से शुरू हुए और 'डाउनलोड लिंक...' संदर्भ मेन्यू विकल्प से शुरू हुए डाउनलोड पर लागू होते हैं. ये प्रतिबंध इस समय दिखाए जा रहे पेज के सेव करने / डाउनलोड करने पर लागू नहीं होते हैं, न ही यह प्रिंटिंग विकल्प से पीडीएफ़ फ़ॉर्मैट में सेव करने पर लागू होते हैं.
+      नोट करें कि ये प्रतिबंध वेब पेज सामग्री के साथ ही 'डाउनलोड लिंक...' संदर्भ मेन्यू विकल्प से भी ट्रिगर किए गए डाउनलोड पर लागू होते हैं. ये प्रतिबंध इस समय दिखाए जा रहे पेज को सेव/डाउनलोड करने पर लागू नहीं होते हैं, न ही यह प्रिंटिंग विकल्प से पीडीएफ़ की तरह सेव करने पर लागू होता है.
 
       सुरक्षित ब्राउज़िंग के बारे में ज़्यादा जानकारी के लिए https://developers.google.com/safe-browsing देखें.</translation>
 <translation id="7643883929273267746"><ph name="PRODUCT_NAME" /> में दिखाई देने वाले खाते प्रतिबंधित करें</translation>
@@ -2894,6 +2896,25 @@
 <translation id="8465065632133292531">POST का इस्तेमाल करने वाले इंस्टैंट यूआरएल के पैरामीटर</translation>
 <translation id="847472800012384958">किसी भी साइट को पॉपअप दिखाने की अनुमति न दें</translation>
 <translation id="8477885780684655676">TLS 1.0</translation>
+<translation id="8483004350080020634">https:// URL को पीएसी स्क्रिप्ट (प्रॉक्सी ऑटो कॉन्फ़िगरेशन) पर भेजने से पहले उसकी निजता और सुरक्षा के प्रति संवेदनशील हिस्सों को स्ट्रिप करती है, जिनका इस्तेमाल <ph name="PRODUCT_NAME" /> प्रॉक्सी रिज़ॉल्यूशन के दौरान करता है.
+
+      जब 'सही' पर सेट होती है, तो सुरक्षा सुविधा चालू हो जाती है, और पीएसी स्क्रिप्ट पर सबमिट
+      किए जाने से पहले https:// URL स्ट्रिप कर दिए जाते हैं. इस तरीके से, पीएसी स्क्रिप्ट
+      वैसा डेटा नहीं देख सकती जिसे किसी सुरक्षित किए गए चैनल (जैसे कि यूआरएल का पाथ और क्वेरी)
+      के ज़रिए सामान्य तौर पर सुरक्षित किया जाता है.
+
+      जब 'गलत' पर सेट होती है, तो सुरक्षा सुविधा बंद हो जाती है, और पीएसी स्क्रिप्ट साफ़
+      तौर पर किसी https:// URL के सभी हिस्सों को देख सकती है. किसी पीएसी स्क्रिप्ट का
+      स्रोत क्या है, इस पर ध्यान दिए बिना यह सभी पर लागू होती है (इनमें वे यूआरएल भी
+      शामिल हैं जिन्हें असुरक्षित रूप से ले जाते के दौरान फ़ेच किया गया है या डब्ल्यूपीएडी
+      (WPAD) के ज़रिए असुरक्षित रूप से खोजा गया है).
+
+      यह डिफ़ॉल्ट रूप से 'सही' पर सेट रहती है (सुरक्षा सुविधा चालू रहती है).
+
+      इसे 'सही' पर सेट रखने का सुझाव दिया जाता है. इसे 'गलत' पर सेट करने का एकमात्र
+      कारण यह है कि इस वजह से मौजूदा पीएसी स्क्रिप्ट में तालमेल संबंधी दिक्कत होती है.
+
+      M75 में यह नीति हटा दी जाएगी.</translation>
 <translation id="8484458986062090479">उन URL पैटर्न की सूची पसंद के मुताबिक बनाती है, जिन्‍हें हमेशा होस्‍ट ब्राउजर तैयार करता है.
 
           अगर इस नीति को जोड़ा नहीं गया है तो, सभी साइटों के लिए 'ChromeFrameRendererSettings' नीति की ओर से तय डिफ़ॉल्‍ट रेंडरर का उपयोग किया जाएगा.
@@ -3039,15 +3060,15 @@
 <translation id="8870318296973696995">मुख्यपृष्ठ</translation>
 <translation id="8876188741456358123">डिफ़ॉल्ट रूप से डुप्लेक्स मोड में प्रिंट करना ओवरराइड कर देती है. अगर मोड उपलब्ध नहीं है तो नीति को अनदेखा कर दिया जाता है.</translation>
 <translation id="8882006618241293596">इन साइटों पर <ph name="FLASH_PLUGIN_NAME" /> प्लग इन ब्लॉक करें</translation>
-<translation id="890403179930035128">अलग-अलग भाषाओं के लिए वर्तनी जांच की सुविधा चालू करती है. सूची में शामिल जिन भाषाओं की पहचान नहीं हुई है, उन्हें अनदेखा कर दिया जाएगा.
+<translation id="890403179930035128">वर्तनी जाँच भाषाओं को ज़बरन चालू करती है. इस सूची में शामिल जिन भाषाओं की पहचान नहीं हुई है उन्हें अनदेखा किया जाएगा.
 
-      अगर यह नीति चालू की जाती है तो, जिन भाषाओं के लिए उपयोगकर्ता ने वर्तनी जांच की सुविधा चालू की है, उनके अलावा तय की गई भाषाओं के लिए भी वर्तनी जांच चालू हो जाएगी.
+      अगर आप इस नीति को चालू करते हैं, तो उपयोगकर्ता ने जिन भाषाओं के लिए वर्तनी जाँच चालू किया है उनके अलावा, तय की गई भाषाओं के लिए वर्तनी जाँच चालू कर दिया जाएगा.
 
-      अगर यह नीति सेट नहीं की जाती या इसे बंद कर दिया जाता है तो, उपयोगकर्ता की वर्तनी जांच से जुड़ी प्राथमिकताओं में कोई बदलाव नहीं होगा.
+      अगर आप यह नीति सेट नहीं करते हैं या इसे बंद कर देते हैं, तो उपयोगकर्ता की वर्तनी जाँच प्राथमिकताओं में कोई बदलाव नहीं होगा.
 
-      अगर 'SpellcheckEnabled नीति' बंद कर दी जाती है तो, इस नीति का कोई असर नहीं होगा.
+      अगर SpellcheckEnabled नीति को बंद पर सेट किया गया है, तो इस नीति का कोई प्रभाव नहीं होगा.
 
-      इस समय इन भाषाओं के लिए यह सुविधा मौजूद है: af, bg, ca, cs, da, de, el, en-AU, en-CA, en-GB, en-US, es, es-419, es-AR, es-ES, es-MX, es-US, et, fa, fo, fr, he, hi, hr, hu, id, it, ko, lt, lv, nb, nl, pl, pt-BR, pt-PT, ro, ru, sh, sk, sl, sq, sr, sv, ta, tg, tr, uk, vi.</translation>
+      इस समय काम करने वाली भाषाएं इस प्रकार हैं: af, bg, ca, cs, da, de, el, en-AU, en-CA, en-GB, en-US, es, es-419, es-AR, es-ES, es-MX, es-US, et, fa, fo, fr, he, hi, hr, hu, id, it, ko, lt, lv, nb, nl, pl, pt-BR, pt-PT, ro, ru, sh, sk, sl, sq, sr, sv, ta, tg, tr, uk, vi.</translation>
 <translation id="8906768759089290519">मेहमान मोड सक्षम करें</translation>
 <translation id="8908294717014659003">यह सेट करने की सुविधा देती है कि वेबसाइटों को मीडिया कैप्चर डिवाइस का एक्सेस करने की अनुमति है या नहीं. मीडिया कैप्चर डिवाइस के एक्सेस की अनुमति डिफ़ॉल्ट रूप से दी जा सकती है, या जब भी कोई वेबसाइट मीडिया कैप्चर डिवाइस का एक्सेस पाना चाहेगी तब-तब उपयोगकर्ता से पूछा जा सकता है.
 
@@ -3117,7 +3138,7 @@
 <translation id="9042911395677044526">यह नीति, हर उपयोगकर्ता पर <ph name="PRODUCT_OS_NAME" /> डिवाइस लागू करने के लिए नेटवर्क कॉन्‍फ़िगरेशन पुश करने देती है. नेटवर्क कॉन्‍फ़िगरेशन, जेएसओएन के फ़ॉर्मैट की स्‍ट्रिंग है जिसे 'ओपन नेटवर्क कॉन्‍फ़िगरेशन' ने तय किया है जो <ph name="ONC_SPEC_URL" /> पर बताया गया है.</translation>
 <translation id="9077227880520270584">डिवाइस-स्थानीय खाते का अपने आप लॉगिन करने का टाइमर</translation>
 <translation id="9084985621503260744">निर्दिष्ट करें कि वीडियो गतिविधि पावर प्रबंधन को प्रभावित करती है या नहीं</translation>
-<translation id="9088433379343318874">निगरानी में रखा गया उपयोगकर्ता सामग्री प्रदाता को सक्षम करें</translation>
+<translation id="9088433379343318874">निगरानी में रखा गया उपयोगकर्ता सामग्री देने वाले को चालू करें</translation>
 <translation id="9088444059179765143">स्वचालित समयक्षेत्र की पहचान विधि को कॉन्फ़िगर करें</translation>
 <translation id="9094064873808699479">अगर टारगेट के मुकाबले OS वर्शन नया है, तो रोलबैक करें और टारगेट वर्शन पर बने रहें. अगर हो सके तो रोलबैक के ज़रिए (नेटवर्क क्रेडेंशियल सहित) डिवाइस-लेवल कॉन्फ़िगरेशन को आगे ले जाएं, लेकिन अगर डेटा को बहाल नहीं किया जा सकता हो तब भी पूरे पावरवॉश के साथ रोलबैक करें (क्योंकि टारगेट वर्शन के साथ डेटा बहाल नहीं किया जा सकता है या किसी बैकवार्ड असंगतता बदलाव की वज़ह से).
           यह <ph name="PRODUCT_OS_NAME" /> के वर्शन 70 और उसके बाद वाले वर्शन के साथ काम करता है. पुराने क्लाइंट के लिए, इस मान का मतलब है वह रोलबैक रोक दिया गया है.</translation>
diff --git a/components/policy/resources/policy_templates_hr.xtb b/components/policy/resources/policy_templates_hr.xtb
index 0fad104..9c3b957e 100644
--- a/components/policy/resources/policy_templates_hr.xtb
+++ b/components/policy/resources/policy_templates_hr.xtb
@@ -127,6 +127,7 @@
 
       NAPOMENA: ovo pravilo ne odnosi se na Android. Da biste omogućili IsolateOrigins na Androidu, upotrijebite postavku pravila IsolateOriginsAndroid.
       </translation>
+<translation id="1377024960658062022">Omogućuje Hardware Platform API na proširenjima instaliranim prema pravilima</translation>
 <translation id="1384459581748403878">Referenca: <ph name="REFERENCE_URL" /></translation>
 <translation id="1387596372902085462">Odlučivanje o pouzdanosti naslijeđene infrastrukture javnog ključa tvrtke Symantec Corporation</translation>
 <translation id="1393485621820363363">Omogućeni pisači za uređaje tvrtke</translation>
@@ -447,6 +448,9 @@
 <translation id="2201555246697292490">Konfiguriraj popis dopuštenih za lokalno slanje poruka</translation>
 <translation id="2204753382813641270">Kontroliraj automatsko skrivanje police</translation>
 <translation id="2208976000652006649">Parametri za URL pretraživanja koji upotrebljava POST</translation>
+<translation id="2214880135980649323">Kad se to pravilo postavi na omogućeno, proširenjima instaliranim prema pravilima organizacije dopuštena je upotreba Enterprise Hardware Platform API-ja.
+      Kad se to pravilo postavi na onemogućeno ili se ne postavi, proširenjima nije dopuštena upotreba Enterprise Hardware Platform API-ja.
+      To se pravilo primjenjuje i na proširenja komponenti kao što je proširenje Hangout Services.</translation>
 <translation id="2223598546285729819">Zadana postavka obavijesti</translation>
 <translation id="2231817271680715693">Uvoz povijesti pregledavanja iz zadanog preglednika pri prvom pokretanju</translation>
 <translation id="2236488539271255289">Ne dopusti nijednoj web-lokaciji postavljanje lokalnih podataka</translation>
@@ -2758,6 +2762,25 @@
 <translation id="8465065632133292531">Parametri za URL usluge Instant koji upotrebljava POST</translation>
 <translation id="847472800012384958">Ne dopusti web-lokacijama prikazivanje skočnih prozora</translation>
 <translation id="8477885780684655676">TLS 1.0</translation>
+<translation id="8483004350080020634">Uklanja osjetljive dijelove https:// URL-ova koji se odnose na privatnost i sigurnost prije nego što se URL-ovi proslijede PAC skriptama (Proxy Auto Config) kojima se <ph name="PRODUCT_NAME" /> koristi tijekom razrješavanja proxyja.
+
+      Kad se postavi na True, sigurnosna je značajka omogućena, a iz https://
+      URL-ova uklanjaju se osjetljivi dijelovi prije slanja URL-ova na PAC skriptu.
+      PAC skripta na taj način ne može vidjeti podatke koji se obično štite
+      kriptiranim kanalom (kao što su put i upit URL-a).
+
+      Kad se to pravilo postavi na False, ta je sigurnosna značajka onemogućena
+      i PAC skriptama implicitno se dopušta prikaz svih komponenti https:// URL-a.
+      To se primjenjuje na sve PAC skripte bez obzira na porijeklo (uključujući
+      one dohvaćene u nezaštićenom prijenosu ili one koje su na nesiguran način
+      otkrivene putem WPAD-a).
+
+      Zadana je postavka True (omogućena sigurnosna značajka).
+
+      Preporučena je postavka True. Na False bi se trebala postaviti
+      jedino ako uzrokuje problem s kompatibilnošću s postojećim PAC skriptama.
+
+      To će se pravilo ukloniti u verziji M75.</translation>
 <translation id="8484458986062090479">Prilagođava popis uzoraka URL-ova koje bi preglednik hosta trebao uvijek generirati.
 
           Ako se to pravilo ne postavi, zadani će se ispunjivač upotrebljavati za sve web-lokacije određene pravilom "ChromeFrameRendererSettings".
diff --git a/components/policy/resources/policy_templates_hu.xtb b/components/policy/resources/policy_templates_hu.xtb
index 2b39f192..9ff8784 100644
--- a/components/policy/resources/policy_templates_hu.xtb
+++ b/components/policy/resources/policy_templates_hu.xtb
@@ -138,6 +138,7 @@
 
       FONTOS: A házirend nem vonatkozik az Android rendszerre. Ha engedélyezni kívánja az IsolateOrigins házirendet Android rendszeren, használja az IsolateOriginsAndroid házirend-beállítást.
       </translation>
+<translation id="1377024960658062022">Elérhetővé teszi a Hardverplatform API-t a házirend által telepített bővítmények számára</translation>
 <translation id="1384459581748403878">Referencia: <ph name="REFERENCE_URL" /></translation>
 <translation id="1387596372902085462">A Symantec Corporation régi PKI-infrastruktúrájának megbízhatóként való elfogadása</translation>
 <translation id="1393485621820363363">Eszközökhöz kötött engedélyezett vállalati nyomtatók</translation>
@@ -457,6 +458,9 @@
 <translation id="2201555246697292490">Natív üzenetkezelő engedélyezőlista konfigurálása</translation>
 <translation id="2204753382813641270">Polc automatikus elrejtésének szabályozása</translation>
 <translation id="2208976000652006649">Paraméterek POST metódust használó keresési URL-hez</translation>
+<translation id="2214880135980649323">Ha a házirend engedélyezve van, akkor a vállalati házirend által telepített bővítmények használhatják a Vállalati hardverplatform API-t.
+      Ha a házirend le van tiltva, vagy nincs beállítva, akkor egyetlen bővítmény sem használhatja a Vállalati hardverplatform API-t.
+      A házirend érvényes az összetevő-bővítményekre is (például Hangout-szolgáltatások bővítmény).</translation>
 <translation id="2223598546285729819">Alapértelmezett értesítési beállítás</translation>
 <translation id="2231817271680715693">Böngészési előzmények importálása az alapértelmezett böngészőből az első indításkor</translation>
 <translation id="2236488539271255289">Egy webhely sem állíthat be helyi adatokat</translation>
@@ -872,7 +876,7 @@
           Lásd még a „CookiesBlockedForUrls” és a „CookiesSessionOnlyForUrls” házirendeket. Fontos megjegyezni, hogy nem lehetnek ütköző URL-minták a három házirend között – nincs meghatározva, hogy melyik házirend élvez elsőbbséget.</translation>
 <translation id="3373364525435227558">Egy vagy több ajánlott területi beállítást rendel a felügyelt munkamenethez, hogy a felhasználók könnyedén kiválaszthassák a nekik megfelelőt.
 
-      A felhasználók a felügyelt munkamenet elindítása előtt választhatnak területi beállítást és billentyűzetkiosztást. Alapértelmezés szerint a <ph name="PRODUCT_OS_NAME" /> által támogatott összes területi beállítás megjelenik betűrendben. A házirend segítségével ajánlott beállításokat adhat meg, amelyeket a lista elején jelennek meg.
+      A felhasználók a felügyelt munkamenet elindítása előtt választhatnak területi beállítást és billentyűzetkiosztást. Alapértelmezés szerint a <ph name="PRODUCT_OS_NAME" /> által támogatott összes területi beállítás megjelenik betűrendben. A házirend segítségével ajánlott beállításokat adhat meg, amelyek a lista elején jelennek meg.
 
       Ha a házirend nincs beállítva, akkor a jelenlegi területi beállítást választja ki előre a rendszer.
 
@@ -2770,6 +2774,26 @@
 <translation id="8465065632133292531">Paraméterek POST metódust használó azonnali URL-hez</translation>
 <translation id="847472800012384958">Előugró ablakok tiltása minden webhely esetén</translation>
 <translation id="8477885780684655676">TLS 1.0</translation>
+<translation id="8483004350080020634">Eltávolítja a https:// URL-ekből az adatvédelmi és biztonsági szempontból érzékeny elemeket, mielőtt a <ph name="PRODUCT_NAME" /> által proxy-feloldás során használt PAC-szkripteknek (Proxy Auto Config, automatikus proxy-konfiguráció) továbbítaná őket.
+
+      Igaz érték esetén a biztonsági funkció engedélyezve van, és a https:// URL-ek
+      csak biztonsági tisztítás után kerülnek a PAC-szkriptekhez. A PAC-szkriptek
+      így nem látnak olyan adatokat, amelyeket általában titkosított
+      csatorna védene (például az URL útvonalát és lekérését).
+
+      Hamis érték esetén a biztonsági funkció nincs engedélyezve, és a
+      PAC-szkriptek implicit módon engedélyt kapnak a https:// URL-ek
+      minden elemének megtekintésére. Ez eredettől függetlenül minden
+      PAC-szkriptre vonatkozik (a védtelen csatornán lekértekre és a WPAD-n
+      keresztül nem biztonságos módon azonosítottakra is).
+
+      Az alapértelmezés az Igaz beállítás (biztonsági funkció engedélyezve).
+
+      Javasolt az Igaz beállítás használata. Csak akkor érdemes Hamis
+      beállítást használni, ha kompatibilitási problémák adódtak a meglévő
+      PAC-szkriptekkel.
+
+      A házirend eltávolításra kerül az M75-ös verzióban.</translation>
 <translation id="8484458986062090479">A mindig a gazdagép böngészője segítségével megjelenítendő URL-minták listájának testreszabása.
 
           Ha nincs konfigurálva ez a házirend, akkor a rendszer a „ChromeFrameRendererSettings” házirend által meghatározott alapértelmezett megjelenítőt használja valamennyi webhely esetében.
diff --git a/components/policy/resources/policy_templates_id.xtb b/components/policy/resources/policy_templates_id.xtb
index 6a1469b..af0d9c7 100644
--- a/components/policy/resources/policy_templates_id.xtb
+++ b/components/policy/resources/policy_templates_id.xtb
@@ -125,6 +125,7 @@
 
       CATATAN: Kebijakan ini tidak berlaku di Android. Untuk mengaktifkan IsolateOrigins di Android, gunakan setelan kebijakan IsolateOriginsAndroid.
       </translation>
+<translation id="1377024960658062022">Mengaktifkan Hardware Platform API untuk ekstensi yang diinstal oleh kebijakan</translation>
 <translation id="1384459581748403878">Referensi: <ph name="REFERENCE_URL" /></translation>
 <translation id="1387596372902085462">Apakah untuk mengaktifkan kepercayaan pada Infrastruktur PKI Lama milik Symantec Corporation</translation>
 <translation id="1393485621820363363">Mengaktifkan printer perangkat perusahaan</translation>
@@ -445,6 +446,7 @@
 <translation id="2201555246697292490">Konfigurasikan daftar putih perpesanan asli</translation>
 <translation id="2204753382813641270">Kontrol sembunyi otomatis rak</translation>
 <translation id="2208976000652006649">Parameter untuk URL penelusuran yang menggunakan POST</translation>
+<translation id="2214880135980649323">Jika kebijakan ini diaktifkan, ekstensi yang diinstal oleh kebijakan perusahaan diizinkan untuk menggunakan Enterprise Hardware Platform API. Jika kebijakan ini dinonaktifkan atau tidak ditetapkan, tidak ada ekstensi yang diizinkan untuk menggunakan Enterprise Hardware Platform API. Kebijakan ini juga berlaku untuk ekstensi komponen seperti ekstensi Layanan Hangout.</translation>
 <translation id="2223598546285729819">Setelan pemberitahuan default</translation>
 <translation id="2231817271680715693">Impor histori browseran dari browser default saat pertama kali dijalankan</translation>
 <translation id="2236488539271255289">Jangan izinkan situs mana pun menyetel data lokal</translation>
@@ -2692,7 +2694,7 @@
 Setelan ini tidak perlu dikonfigurasi secara manual! Template untuk Windows, Mac dan Linux yang mudah digunakan dapat didownload dari <ph name="POLICY_TEMPLATE_DOWNLOAD_URL" />.
 
 Cara yang disarankan untuk mengonfigurasi kebijakan di Windows adalah melalui GPO, meski menyediakan kebijakan melalui registry tetap didukung untuk instance Windows yang bergabung dalam domain <ph name="MS_AD_NAME" />.</translation>
-<translation id="8264653492961233132">Menentukan daftar aplikasi dan ekstensi yang diinstal secara diam-diam, tanpa interaksi pengguna, dan yang tidak dapat di-uninstal atau dinonaktifkan oleh pengguna. Semua izin yang diminta oleh aplikasi/ekstensi diberikan secara implisit, tanpa interaksi pengguna, termasuk izin tambahan apa pun yang diminta oleh versi berikutnya dari aplikasi/ekstensi tersebut. Selain itu, izin diberikan untuk API ekstensi enterprise.deviceAttributes dan enterprise.platformKeys. (Kedua API ini tidak tersedia untuk aplikasi/ekstensi yang tidak diinstal paksa.)
+<translation id="8264653492961233132">Menentukan daftar aplikasi dan ekstensi yang diinstal secara otomatis, tanpa interaksi pengguna, dan yang tidak dapat di-uninstal atau dinonaktifkan oleh pengguna. Semua izin yang diminta oleh aplikasi/ekstensi diberikan secara implisit, tanpa interaksi pengguna, termasuk izin tambahan apa pun yang diminta oleh versi berikutnya dari aplikasi/ekstensi tersebut. Selain itu, izin diberikan untuk API ekstensi enterprise.deviceAttributes dan enterprise.platformKeys. (Kedua API ini tidak tersedia untuk aplikasi/ekstensi yang tidak diinstal paksa.)
 
           Kebijakan ini lebih diutamakan daripada kebijakan <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" /> yang berpotensi bentrok. Jika aplikasi atau ekstensi yang sebelumnya diinstal paksa telah dihapus dari daftar ini, aplikasi/ekstensi tersebut akan otomatis di-uninstal oleh <ph name="PRODUCT_NAME" />.
 
@@ -2757,6 +2759,17 @@
 <translation id="8465065632133292531">Parameter untuk URL instan yang menggunakan POST</translation>
 <translation id="847472800012384958">Jangan izinkan situs mana pun menampilkan pop-up</translation>
 <translation id="8477885780684655676">TLS 1.0</translation>
+<translation id="8483004350080020634">Menyembunyikan bagian sensitif terhadap privasi dan keamanan pada URL https:// sebelum meneruskannya ke skrip PAC (Proxy Auto Config) yang digunakan oleh <ph name="PRODUCT_NAME" /> selama resolusi proxy.
+
+Jika disetel ke True, fitur keamanan akan aktif dan URL https:// akan disembunyikan sebelum mengirimnya ke skrip PAC. Dengan cara ini, skrip PAC tidak dapat melihat data yang umumnya dilindungi oleh saluran terenkripsi (seperti jalur dan kueri URL).
+
+Jika disetel ke False, fitur keamanan akan nonaktif, dan skrip PAC secara implisit diberi kemampuan untuk melihat semua komponen URL https://. Hal ini berlaku untuk semua skrip PAC terlepas dari asalnya (termasuk skrip yang diambil melalui transportasi tidak aman atau ditemukan secara tidak aman melalui WPAD).
+
+Setelan defaultnya adalah True (fitur keamanan aktif).
+
+Sebaiknya ini disetel ke True. Satu-satunya alasan untuk menyetelnya ke False adalah jika menyebabkan masalah kompatibilitas dengan skrip PAC yang ada.
+
+Kebijakan akan dihapus pada M75.</translation>
 <translation id="8484458986062090479">Menyesuaikan daftar pola URL yang harus selalu dirender oleh browser host.
 
           Jika kebijakan ini tidak disetel, perender default akan digunakan untuk semua situs yang telah ditetapkan oleh kebijakan 'ChromeFrameRendererSettings'.
diff --git a/components/policy/resources/policy_templates_it.xtb b/components/policy/resources/policy_templates_it.xtb
index 7067fb3..e31c49b 100644
--- a/components/policy/resources/policy_templates_it.xtb
+++ b/components/policy/resources/policy_templates_it.xtb
@@ -122,6 +122,7 @@
 
       NOTA: questa norma non viene applicata su Android. Per attivare IsolateOrigins su Android, utilizza l'impostazione della norma IsolateOriginsAndroid.
       </translation>
+<translation id="1377024960658062022">Attiva l'API Hardware Platform per le estensioni installate in base alle norme</translation>
 <translation id="1384459581748403878">Riferimento: <ph name="REFERENCE_URL" /></translation>
 <translation id="1387596372902085462">Consente di stabilire se considerare attendibile o meno l'infrastruttura PKI precedente di Symantec Corporation</translation>
 <translation id="1393485621820363363">Stampanti aziendali associate ai dispositivi attive</translation>
@@ -364,8 +365,8 @@
 <translation id="2113068765175018713">Limita il tempo di attività del dispositivo riavviandolo automaticamente</translation>
 <translation id="2116790137063002724">Questa norma consente di stabilire se segnalare o meno informazioni che possono essere usate per identificare gli utenti, ad esempio i dati di accesso al sistema operativo, i dati di accesso del profilo <ph name="PRODUCT_NAME" />, il nome del profilo <ph name="PRODUCT_NAME" />, il percorso del profilo <ph name="PRODUCT_NAME" /> e il percorso eseguibile di <ph name="PRODUCT_NAME" />.
 
-      Se questa norma non viene impostata o viene impostata su true, vengono raccolte le informazioni che possono essere usate per identificare gli utenti.
-      Se questa norma viene impostata su false, non vengono raccolte le informazioni che possono essere usate per identificare gli utenti.
+      Se questa norma non viene impostata o viene impostata su True, vengono raccolte le informazioni che possono essere usate per identificare gli utenti.
+      Se questa norma viene impostata su False, non vengono raccolte le informazioni che possono essere usate per identificare gli utenti.
 
       Questa norma viene applicata soltanto se viene attivata l'estensione <ph name="CHROME_REPORTING_EXTENSION_NAME" /> e il computer viene registrato con la norma <ph name="MACHINE_LEVEL_USER_CLOUD_POLICY_ENROLLMENT_TOKEN_POLICY_NAME" />.</translation>
 <translation id="2127599828444728326">Consenti notifiche su questi siti</translation>
@@ -428,6 +429,9 @@
 <translation id="2201555246697292490">Configura whitelist messaggi nativi</translation>
 <translation id="2204753382813641270">Controlla la visualizzazione automatica dello shelf</translation>
 <translation id="2208976000652006649">Parametri per l'URL di ricerca che utilizza POST</translation>
+<translation id="2214880135980649323">Se questa norma viene attivata, le estensioni installate in base alle norme aziendali possono usare l'API Enterprise Hardware Platform.
+      Se questa norma viene disattivata e non viene impostata, nessuna estensione può usare l'API Enterprise Hardware Platform.
+      Questa norma si applica anche a estensioni di componenti come l'estensione Hangout Services.</translation>
 <translation id="2223598546285729819">Impostazione di notifica predefinita</translation>
 <translation id="2231817271680715693">Importa cronologia di navigazione dal browser predefinito alla prima esecuzione</translation>
 <translation id="2236488539271255289">Non consentire ai siti di impostare i dati locali</translation>
@@ -1079,9 +1083,9 @@
       Se questa norma viene impostata su true o non viene impostata, gli utenti potranno utilizzare le offerte tramite la registrazione a Chrome OS.
 
       Se questa norma viene impostata su false, gli utenti non potranno utilizzare le offerte.</translation>
-<translation id="4008507541867797979">Se questa norma viene impostata su true o non viene configurata, nella schermata di accesso di <ph name="PRODUCT_OS_NAME" /> verranno visualizzati gli utenti esistenti tra cui sarà possibile selezionare un utente.
+<translation id="4008507541867797979">Se questa norma viene impostata su True o non viene configurata, nella schermata di accesso di <ph name="PRODUCT_OS_NAME" /> verranno visualizzati gli utenti esistenti tra cui sarà possibile selezionare un utente.
 
-      Se la norma è impostata su false, nella schermata di accesso di <ph name="PRODUCT_OS_NAME" /> non verranno visualizzati gli utenti esistenti. Verrà visualizzata la normale schermata di accesso (richiesta di email utente e password o telefono) o la schermata interstiziale SAML (se attivata tramite la norma <ph name="LOGIN_AUTHENTICATION_BEHAVIOR_POLICY_NAME" />), a meno che non sia stata configurata una sessione gestita. Quando viene configurata una sessione gestita, verranno visualizzati solo gli account della sessione gestita, consentendo di selezionarne uno.
+      Se la norma è impostata su False, nella schermata di accesso di <ph name="PRODUCT_OS_NAME" /> non verranno visualizzati gli utenti esistenti. Verrà visualizzata la normale schermata di accesso (richiesta di email utente e password o telefono) o la schermata interstiziale SAML (se attivata tramite la norma <ph name="LOGIN_AUTHENTICATION_BEHAVIOR_POLICY_NAME" />), a meno che non sia stata configurata una sessione gestita. Quando viene configurata una sessione gestita, verranno visualizzati solo gli account della sessione gestita, consentendo di selezionarne uno.
 
       Tieni presente che questa norma non influisce sull'eliminazione o meno dei dati utenti locali sul dispositivo.</translation>
 <translation id="4010738624545340900">Consenti richiamo di finestre di dialogo di selezione file</translation>
@@ -1497,10 +1501,10 @@
           Se viene impostata su false o non viene impostata, le chiamate all'API non vanno a buon fine e viene generato un codice di errore.</translation>
 <translation id="5277806246014825877">Questa norma consente all'utente di eseguire Crostini.
 
-      Se la norma viene impostata su false, Crostini non è abilitato per l'utente.
-      Se la norma viene impostata su true o non viene impostata, Crostini è abilitato per l'utente, a patto che anche le altre impostazioni lo permettano.
-      Le tre norme, VirtualMachinesAllowed, CrostiniAllowed e DeviceUnaffiliatedCrostiniAllowed devono essere impostate su true affinché Crostini possa essere eseguito.
-      Quando l'impostazione di questa norma viene modificata in false, la norma viene applicata all'avvio di nuovi contenitori Crostini, ma non determina l'arresto dei contenitori già in esecuzione.</translation>
+      Se la norma viene impostata su False, Crostini non è abilitato per l'utente.
+      Se la norma viene impostata su True o non viene impostata, Crostini è abilitato per l'utente, a patto che anche le altre impostazioni lo permettano.
+      Le tre norme, VirtualMachinesAllowed, CrostiniAllowed e DeviceUnaffiliatedCrostiniAllowed devono essere impostate su True affinché Crostini possa essere eseguito.
+      Quando l'impostazione di questa norma viene modificata in False, la norma viene applicata all'avvio di nuovi contenitori Crostini, ma non determina l'arresto dei contenitori già in esecuzione.</translation>
 <translation id="5283457834853986457">Disattiva la ricerca dei plug-in (ritirata)</translation>
 <translation id="5288772341821359899">Se la norma viene impostata, l'intervallo di porte UDP utilizzato da WebRTC viene limitato all'intervallo di porte specificato (endpoint inclusi).
 
@@ -2194,11 +2198,11 @@
 
           Se questa norma non viene impostata, l'utente potrà cambiare manualmente questa impostazione.</translation>
 <translation id="723103540848640830">Imposta la lunghezza minima del PIN per la schermata di blocco</translation>
-<translation id="7232816984286843471">Se la norma viene impostata su false, gli utenti non affiliati non potranno usare Crostini.
+<translation id="7232816984286843471">Se la norma viene impostata su False, gli utenti non affiliati non potranno usare Crostini.
 
-      Se la norma non viene impostata o viene impostata su true, tutti gli utenti potranno utilizzare Crostini, a patto che anche le altre impostazioni lo permettano.
-      Le tre norme, VirtualMachinesAllowed, CrostiniAllowed e DeviceUnaffiliatedCrostiniAllowed devono essere impostate su true affinché Crostini possa essere eseguito.
-      Quando l'impostazione di questa norma viene modificata in false, la norma viene applicata all'avvio di nuovi contenitori Crostini, ma non determina l'arresto dei contenitori già in esecuzione.</translation>
+      Se la norma non viene impostata o viene impostata su True, tutti gli utenti potranno utilizzare Crostini, a patto che anche le altre impostazioni lo permettano.
+      Le tre norme, VirtualMachinesAllowed, CrostiniAllowed e DeviceUnaffiliatedCrostiniAllowed devono essere impostate su True affinché Crostini possa essere eseguito.
+      Quando l'impostazione di questa norma viene modificata in False, la norma viene applicata all'avvio di nuovi contenitori Crostini, ma non determina l'arresto dei contenitori già in esecuzione.</translation>
 <translation id="7234280155140786597">Nomi degli host di messaggi nativi vietati (o * per indicarli tutti)</translation>
 <translation id="7236775576470542603">Consente di impostare il tipo di ingrandimento dello schermo predefinito che viene attivato nella schermata di accesso.
 
@@ -2248,8 +2252,8 @@
       Se viene impostata su false, i suggerimenti di contenuti generati automaticamente non vengono mostrati nella pagina Nuova scheda.</translation>
 <translation id="7313793931637495417">Questa norma consente di stabilire se segnalare o meno informazioni sulla versione, ad esempio la versione del sistema operativo, la piattaforma e l'architettura del sistema operativo, la versione di <ph name="PRODUCT_NAME" /> e il canale di <ph name="PRODUCT_NAME" />.
 
-      Se questa norma non viene impostata o viene impostata su true, le informazioni sulla versione vengono raccolte.
-      Se questa norma viene impostata su false, le informazioni sulla versione non vengono raccolte.
+      Se questa norma non viene impostata o viene impostata su True, le informazioni sulla versione vengono raccolte.
+      Se questa norma viene impostata su False, le informazioni sulla versione non vengono raccolte.
 
       Questa norma viene applicata soltanto se viene attivata l'estensione <ph name="CHROME_REPORTING_EXTENSION_NAME" /> e il computer viene registrato con la norma <ph name="MACHINE_LEVEL_USER_CLOUD_POLICY_ENROLLMENT_TOKEN_POLICY_NAME" />.</translation>
 <translation id="7323896582714668701">Parametri aggiuntivi della riga di comando per <ph name="PRODUCT_NAME" /></translation>
@@ -2284,8 +2288,8 @@
       Ogni elemento dell'elenco della norma è un oggetto con due componenti: "url" e "launch_container". "url" deve essere l'URL dell'app web da installare e "launch_container" deve essere "finestra" o "scheda" per indicare in che modo l'app web verrà aperta una volta installata. Se il valore di "launch_container" non viene specificato, l'app verrà avviata in una finestra se Chrome la considera un'applicazione web progressiva, altrimenti in una scheda.</translation>
 <translation id="735902178936442460">Questa norma consente di stabilire se segnalare o meno informazioni che possono essere usate per identificare i computer, ad esempio il nome del computer e gli indirizzi di rete.
 
-      Se questa norma non viene impostata o viene impostata su true, vengono raccolte le informazioni che possono essere usate per identificare i computer.
-      Se questa norma viene impostata su false, non vengono raccolte le informazioni che possono essere usate per identificare i computer.
+      Se questa norma non viene impostata o viene impostata su True, vengono raccolte le informazioni che possono essere usate per identificare i computer.
+      Se questa norma viene impostata su False, non vengono raccolte le informazioni che possono essere usate per identificare i computer.
 
       Questa norma viene applicata soltanto se viene attivata l'estensione <ph name="CHROME_REPORTING_EXTENSION_NAME" /> e il computer viene registrato con la norma <ph name="MACHINE_LEVEL_USER_CLOUD_POLICY_ENROLLMENT_TOKEN_POLICY_NAME" />.</translation>
 <translation id="7367028210010532881">Il servizio Navigazione sicura mostra una pagina di avviso quando gli utenti visitano siti che sono segnalati come potenzialmente dannosi. L'attivazione di questa impostazione impedisce agli utenti di proseguire dalla pagina di avviso al sito dannoso.
@@ -2532,10 +2536,10 @@
 <translation id="7985242821674907985"><ph name="PRODUCT_NAME" /></translation>
 <translation id="7992136759457836904">Questa norma consente di controllare se le macchine virtuali possono essere eseguite su Chrome OS.
 
-      Se la norma viene impostata su true, al dispositivo è consentito eseguire le macchine virtuali.
-      Se la norma viene impostata su false, al dispositivo non è consentito eseguire le macchine virtuali.
-      Le tre norme, VirtualMachinesAllowed, CrostiniAllowed e DeviceUnaffiliatedCrostiniAllowed devono essere impostate su true affinché Crostini possa essere eseguito.
-      Quando l'impostazione di questa norma viene modificata in false, la norma viene applicata all'avvio di nuove macchine virtuali, ma non determina l'arresto delle macchine virtuali già in esecuzione.
+      Se la norma viene impostata su True, al dispositivo è consentito eseguire le macchine virtuali.
+      Se la norma viene impostata su False, al dispositivo non è consentito eseguire le macchine virtuali.
+      Le tre norme, VirtualMachinesAllowed, CrostiniAllowed e DeviceUnaffiliatedCrostiniAllowed devono essere impostate su True affinché Crostini possa essere eseguito.
+      Quando l'impostazione di questa norma viene modificata in False, la norma viene applicata all'avvio di nuove macchine virtuali, ma non determina l'arresto delle macchine virtuali già in esecuzione.
       Quando questa norma non è impostata su un dispositivo gestito, il dispositivo non può eseguire macchine virtuali.
        I dispositivi non gestiti sono autorizzati a eseguire macchine virtuali.</translation>
 <translation id="802147957407376460">Ruota lo schermo di 0°</translation>
@@ -2584,8 +2588,8 @@
 Il valore della norma deve essere specificato in millisecondi. I valori devono essere inferiori o uguali al ritardo di inattività.</translation>
 <translation id="8138009212169037227">Questa norma consente di stabilire se segnalare o meno i dati delle norme e data/ora del recupero delle norme.
 
-      Se questa norma non viene impostata o viene impostata su true, i dati delle norme e data/ora del recupero delle norme vengono raccolti.
-      Se questa norma viene impostata su false, i dati delle norme e data/ora del recupero delle norme non vengono raccolti.
+      Se questa norma non viene impostata o viene impostata su True, i dati delle norme e data/ora del recupero delle norme vengono raccolti.
+      Se questa norma viene impostata su False, i dati delle norme e data/ora del recupero delle norme non vengono raccolti.
 
       Questa norma viene applicata soltanto se viene attivata l'estensione <ph name="CHROME_REPORTING_EXTENSION_NAME" /> e il computer viene registrato con la norma <ph name="MACHINE_LEVEL_USER_CLOUD_POLICY_ENROLLMENT_TOKEN_POLICY_NAME" />.</translation>
 <translation id="8140204717286305802">Consente di comunicare al server l'elenco di interfacce di rete con i relativi tipi e indirizzi hardware. Se la norma viene impostata su False, l'elenco di interfacce non viene comunicato.</translation>
@@ -2711,6 +2715,17 @@
 <translation id="8465065632133292531">Parametri per l'URL istantaneo che utilizza POST</translation>
 <translation id="847472800012384958">Non consentire la visualizzazione di popup nei siti</translation>
 <translation id="8477885780684655676">TLS 1.0</translation>
+<translation id="8483004350080020634">Consente di rimuovere le parti sensibili per la privacy e la sicurezza dagli URL https:// prima di trasmetterli agli script PAC (Proxy Auto Config) utilizzati da <ph name="PRODUCT_NAME" /> durante la risoluzione proxy.
+
+      Se la norma viene impostata su True, la funzione di sicurezza viene attivata e vengono rimosse le parti sensibili dagli URL https:// prima di inviarli allo script PAC. In questo modo lo script PAC non può visualizzare i dati solitamente protetti tramite un canale criptato (ad esempio il percorso e la query dell'URL).
+
+      Se la norma viene impostata su False, la funzione di sicurezza viene disattivata e gli script PAC possono visualizzare tutti i componenti di un URL https://. Questa impostazione viene applicata per tutti gli script PAC, a prescindere dall'origine (sono inclusi quelli recuperati tramite un metodo di trasporto non protetto o scoperti in modo non sicuro tramite WPAD).
+
+      Il valore predefinito della norma è True (funzione di sicurezza attivata).
+
+      È consigliato impostare la norma su True. L'unico motivo per impostare la norma su False è in caso di problemi di compatibilità con gli script PAC esistenti.
+
+      La norma verrà rimossa in M75.</translation>
 <translation id="8484458986062090479">Consente di personalizzare l'elenco di pattern URL per i quali il rendering deve sempre essere eseguito dal browser host.
 
           Se la norma non viene impostata, viene utilizzato per tutti i siti il renderer predefinito specificato dalla norma "ChromeFrameRendererSettings".
diff --git a/components/policy/resources/policy_templates_iw.xtb b/components/policy/resources/policy_templates_iw.xtb
index 2f00533..8fb4ddee 100644
--- a/components/policy/resources/policy_templates_iw.xtb
+++ b/components/policy/resources/policy_templates_iw.xtb
@@ -129,6 +129,7 @@
 
        הערה: המדיניות הזו לא חלה על Android. כדי להפעיל את IsolateOrigins ב-Android, יש להשתמש בהגדרת המדיניות IsolateOriginsAndroid.
       </translation>
+<translation id="1377024960658062022">‏מפעילה את Hardware Platform API בשביל תוספים המותקנים כחלק ממדיניות</translation>
 <translation id="1384459581748403878">ייחוס: <ph name="REFERENCE_URL" /></translation>
 <translation id="1387596372902085462">‏האם להפעיל את האמון בתשתית PKI מדור קודם של Symantec Corporation</translation>
 <translation id="1393485621820363363">מדפסות ארגוניות מופעלות הקשורות למכשירים</translation>
@@ -447,6 +448,9 @@
 <translation id="2201555246697292490">הגדרה של רשימת היתרים עבור העברת הודעות מקומית</translation>
 <translation id="2204753382813641270">בקרת הסתרה אוטומטית של מדף</translation>
 <translation id="2208976000652006649">‏פרמטרים עבור כתובת אתר לחיפוש שמשתמשת ב-POST</translation>
+<translation id="2214880135980649323">‏כשהמדיניות הזו מופעלת, תוספים שמותקנים על-ידי מדיניות הארגון מורשים להשתמש ב-Enterprise Hardware Platform API.
+      כשהמדיניות הזו מושבתת או לא מוגדרת, אף תוסף אינו מורשה להשתמש ב-Enterprise Hardware Platform API.
+      המדיניות הזו חלה גם על תוספי רכיב, כמו התוסף Hangout Services.</translation>
 <translation id="2223598546285729819">הגדרת ברירת מחדל של התראות</translation>
 <translation id="2231817271680715693">ייבא ​​היסטוריית גלישה מדפדפן ברירת המחדל בהפעלה הראשונה</translation>
 <translation id="2236488539271255289">אל תאפשר לאף אתר להגדיר נתונים מקומיים</translation>
@@ -858,7 +862,7 @@
           אם המדיניות הזו לא מוגדרת, ייעשה שימוש בערך ברירת המחדל הכללי לכל האתרים. הערך הזה ייקבע על-פי המדיניות 'DefaultCookiesSetting' אם הוגדרה, או לחלופין, מהתצורה האישית של המשתמש.
 
           יש גם לעיין במדיניות 'CookiesBlockedForUrls' ו-'CookiesSessionOnlyForUrls'. לתשומת ליבך, יש להימנע מסתירות בדפוסי כתובות האתרים שמצוינים בשלוש הגדרות המדיניות האלה, מפני שלא נקבע איזו מהן תקבל עדיפות.</translation>
-<translation id="3373364525435227558">‏המדיניות הזו מגדירה שילוב אחד או יותר של שפה ואזור לסשן מנוהל, כך שהמשתמשים יכולים לבחור בקלות את אחד מהשילובים האלה.
+<translation id="3373364525435227558">‏המדיניות הזו מגדירה שילוב מומלץ אחד או יותר של שפה ואזור לסשן מנוהל, כך שהמשתמשים יכולים לבחור בקלות את אחד מהשילובים האלה.
 
       לפני התחלת הסשן המנוהל, המשתמש יכול לבחור שילוב של שפה ואזור ופריסת מקלדת. כברירת מחדל, כל השילובים שנתמכים על-ידי <ph name="PRODUCT_OS_NAME" /> רשומים בסדר אלפביתי. אפשר להשתמש במדיניות הזו כדי להעביר קבוצה של שילובים מומלצים לראש הרשימה.
 
@@ -2577,7 +2581,9 @@
       אם המדיניות מקבלת את הערך True, אפשר להפעיל מחשבים וירטואליים במכשיר.
       אם המדיניות מקבלת את הערך False, אי אפשר להפעיל מחשבים וירטואליים במכשיר.
       כדי לאפשר את ההפעלה של Crostini, כל שלושת כללי המדיניות, VirtualMachinesAllowed, ‏CrostiniAllowed ו-DeviceUnaffiliatedCrostiniAllowed צריכים לקבל את הערך True כשהם חלים.
-      כשהערך של המדיניות הזו משתנה ל-False, היא חלה על הפעלה של מחשבים וירטואליים חדשים אבל לא גורמת להשבתה של מחשבים וירטואליים שכבר פועלים.</translation>
+      כשהערך של המדיניות הזו משתנה ל-False, היא חלה על הפעלה של מחשבים וירטואליים חדשים אבל לא גורמת להשבתה של מחשבים וירטואליים שכבר פועלים.
+      כשהמדיניות לא נקבעה במכשיר מנוהל, המכשיר אינו מורשה להפעיל מחשבים וירטואליים.
+      מכשירים לא מנוהלים מורשים להפעיל מחשבים וירטואליים.</translation>
 <translation id="802147957407376460">סובב את המסך ב-0 מעלות</translation>
 <translation id="8033913082323846868">‏המדיניות הזו הוצאה משימוש ב-M70, במקומה יש להשתמש ב-AutofillAddressEnabled וב-AutofillCreditCardEnabled.
 
@@ -2760,6 +2766,17 @@
 <translation id="8465065632133292531">‏פרמטרים עבור כתובת אתר של מופע שמשתמשת ב-POST</translation>
 <translation id="847472800012384958">אל תאפשר לאף אתר להציג חלונות קופצים</translation>
 <translation id="8477885780684655676">TLS 1.0</translation>
+<translation id="8483004350080020634">‏מסירה מכתובות אתרים מסוג ‎https://‎ חלקים רגישים מבחינת פרטיות ואבטחה, לפני העברת הכתובות לקובצי סקריפט מסוג PAC ‏(Proxy Auto Config) שבהם נעשה שימוש על-ידי <ph name="PRODUCT_NAME" /> במהלך זיהוי שרת Proxy.
+
+      כשהמדיניות מוגדרת כ-True, תכונת האבטחה מופעלת והסרת המידע הרגיש מכתובות אתרים מסוג ‎https://‎ מתבצעת לפני שליחתן לסקריפט מסוג PAC. באופן זה, לסקריפט ה-PAC אין גישה לנתונים שבדרך כלל מוגנים באמצעות ערוץ מוצפן (כמו הנתיב והשאילתה של כתובת האתר).
+
+      כשהמדיניות מוגדרת כ-False, תכונת האבטחה מושבתת וקובצי הסקריפט מסוג PAC מקבלים באופן משתמע גישה לכל הרכיבים של כתובת אתר מסוג https://‎. הגדרה זו חלה על כל קובצי הסקריפט מסוג PAC, מכל המקורות (כולל כאלה שאוחזרו דרך העברה לא מאובטחת או שהתגלו באופן לא מאובטח דרך WPAD).
+
+     ברירת המחדל היא True (תכונת האבטחה מופעלת).
+
+     מומלץ להגדיר את המדיניות הזו כ-True. הסיבה היחידה להגדיר אותה כ-False היא אם נוצרת בעיה של חוסר תאימות עם קובצי סקריפט קיימים מסוג PAC.
+
+     המדיניות הזו תוסר בגרסה M75.</translation>
 <translation id="8484458986062090479">‏מדיניות זו משמשת להתאמה אישית של הרשימה של דפוסי כתובות האתר שברצונך שהדפדפן המארח יאפשר תמיד.
 
    אם מדיניות זו לא תוגדר, המערכת תשתמש במעבד המוגדר כברירת מחדל עבור כל האתרים כמפורט במדיניות 'ChromeFrameRendererSettings'.
diff --git a/components/policy/resources/policy_templates_kn.xtb b/components/policy/resources/policy_templates_kn.xtb
index 6d1ec491..1e1fdbb7 100644
--- a/components/policy/resources/policy_templates_kn.xtb
+++ b/components/policy/resources/policy_templates_kn.xtb
@@ -130,6 +130,7 @@
 
 ಸೂಚನೆ: ಈ ಕಾರ್ಯನೀತಿಯು Android ನಲ್ಲಿ ಅನ್ವಯಿಸುವುದಿಲ್ಲ. Android ನಲ್ಲಿ IsolateOrigins ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲು, IsolateOriginsAndroid ಕಾರ್ಯನೀತಿ ಸೆಟ್ಟಿಂಗ್ ಅನ್ನು ಬಳಸಿ.
       </translation>
+<translation id="1377024960658062022">ಕಾರ್ಯನೀತಿ ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಿದ ವಿಸ್ತರಣೆಗಳಿಗೆ Hardware Platform API ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ</translation>
 <translation id="1384459581748403878">ಉಲ್ಲೇಖ: <ph name="REFERENCE_URL" /></translation>
 <translation id="1387596372902085462">Symantec Corporation ನ ಪರಂಪರಾನುಗತ PKI ರಚನೆಯ ಮೇಲಿನ ನಂಬಿಕೆಯನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಬೇಕೇ</translation>
 <translation id="1393485621820363363">ಸಕ್ರಿಯಗೊಳಿಸಿರುವ ಎಂಟರ್‌ಪ್ರೈಸ್ ಸಾಧನ ಪ್ರಿಂಟರ್‌ಗಳು</translation>
@@ -485,6 +486,9 @@
 <translation id="2201555246697292490">ಸ್ಥಳೀಯ ಸಂದೇಶ ಕಳುಹಿಸುವಿಕೆಯ ಅನುಮತಿ ಪಟ್ಟಿಯನ್ನು ಕಾನ್ಫಿಗರ್‌ ಮಾಡಿ</translation>
 <translation id="2204753382813641270">ಶೆಲ್ಫ್ ಸ್ವಯಂ-ಮರೆಮಾಡುವಿಕೆಯನ್ನು ನಿಯಂತ್ರಿಸಿ</translation>
 <translation id="2208976000652006649">POST ಬಳಸುವ ಹುಡುಕಾಟದ URL ಗೆ ಮಾನದಂಡಗಳು</translation>
+<translation id="2214880135980649323">ಈ ಕಾರ್ಯನೀತಿಯನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲು ಹೊಂದಿಸಿದಾಗ, ಎಂಟರ್‌ಪ್ರೈಸ್ ಕಾರ್ಯನೀತಿಯ ಮೂಲಕ ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಿದ ವಿಸ್ತರಣೆಗಳಿಗೆ Enterprise Hardware Platform API ಅನ್ನು ಬಳಸಲು ಅನುಮತಿಸಲಾಗಿದೆ.
+ಈ ಕಾರ್ಯನೀತಿಯನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ ಎಂಬುದಕ್ಕೆ ಹೊಂದಿಸಿದ್ದರೆ, ಎಂಟರ್‌ಪ್ರೈಸ್ Hardware Platform API ಅನ್ನು ಬಳಸಲು ಯಾವುದೇ ವಿಸ್ತರಣೆಗಳಿಗೆ ಅನುಮತಿ ಇಲ್ಲ.
+ಈ ನೀತಿ Hangout ಸೇವೆಗಳ ವಿಸ್ತರಣೆಯಂತಹ ಕಾಂಪೊನೆಂಟ್ ವಿಸ್ತರಣೆಗಳಿಗೆ ಸಹ ಅನ್ವಯಿಸುತ್ತದೆ.</translation>
 <translation id="2223598546285729819">ಡಿಫಾಲ್ಟ್ ಅಧಿಸೂಚನೆ ಸೆಟ್ಟಿಂಗ್</translation>
 <translation id="2231817271680715693">ಮೊದಲ ಚಾಲನೆಯಲ್ಲಿ ಡಿಫಾಲ್ಟ್ ಬ್ರೌಸರ್‌ನಿಂದ ಬ್ರೌಸಿಂಗ್ ಇತಿಹಾಸವನ್ನು ಆಮದು ಮಾಡಿಕೊಳ್ಳಿ</translation>
 <translation id="2236488539271255289">ಸ್ಥಳೀಯ ಡೇಟಾವನ್ನು ಹೊಂದಿಸಲು ಯಾವುದೇ ಸೈಟ್ ಅನ್ನು ಅನುಮತಿಸಬೇಡ</translation>
@@ -916,21 +920,21 @@
 
 
      'CookiesBlockedForUrls' ಮತ್ತು 'CookiesSessionOnlyForUrls' ಕಾರ್ಯನೀತಿಗಳನ್ನು ಸಹ ನೋಡಿ. ಈ ಮೂರೂ ಕಾರ್ಯನೀತಿಗಳ ನಡುವೆ ಸಂಘರ್ಷದ URL ಮಾದರಿಗಳು ಇರಬಾರದು ಎಂಬುದನ್ನು ಗಮನಿಸಿ - ಯಾವ ಕಾರ್ಯನೀತಿಯು ಆದ್ಯತೆಯನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ ಎಂಬುದು ಅನಿರ್ದಿಷ್ಟವಾಗಿದೆ.</translation>
-<translation id="3373364525435227558">ನಿರ್ವಹಿಸಲಾದ ಸೆಶನ್‌ಗೆ ಶಿಫಾರಸು ಮಾಡಿದ ಒಂದು ಅಥವಾ ಹೆಚ್ಚಿನ ಸ್ಥಳಗಳನ್ನು ಹೊಂದಿಸುತ್ತದೆ, ಆ ಮೂಲಕ ಈ ಸ್ಥಳಗಳಲ್ಲಿ ಒಂದನ್ನು ಸುಲಭವಾಗಿ ಆರಿಸಿಕೊಳ್ಳಲು ಬಳಕೆದಾರರಿಗೆ ಅನುಮತಿಸುತ್ತದೆ.
+<translation id="3373364525435227558">ನಿರ್ವಹಿಸಲಾದ ಸೆಶನ್‌ಗೆ ಶಿಫಾರಸು ಮಾಡಿದ ಒಂದು ಅಥವಾ ಹೆಚ್ಚಿನ ಭಾಷೆಗಳನ್ನು ಹೊಂದಿಸುತ್ತದೆ, ಆ ಮೂಲಕ ಈ ಭಾಷೆಗಳ ಪೈಕಿ ಒಂದನ್ನು ಸುಲಭವಾಗಿ ಆರಿಸಿಕೊಳ್ಳಲು ಬಳಕೆದಾರರಿಗೆ ಅನುಮತಿಸುತ್ತದೆ.
 
-   ನಿರ್ವಹಿಸಲಾದ ಸೆಶನ್ ಒಂದನ್ನು ಪ್ರಾರಂಭಿಸುವ ಮೊದಲು, ನಿರ್ದಿಷ್ಟ ಬಳಕೆದಾರರು ಸ್ಥಳ ಮತ್ತು ಕೀಬೋರ್ಡ್ ವಿನ್ಯಾಸವನ್ನು ಆರಿಸಿಕೊಳ್ಳಬಹುದು. ಡಿಫಾಲ್ಟ್ ರೂಪದಲ್ಲಿ, <ph name="PRODUCT_OS_NAME" /> ಬೆಂಬಲಿಸುವ ಎಲ್ಲಾ ಸ್ಥಳಗಳೂ ವರ್ಣಮಾಲೆಯ ಕ್ರಮದಲ್ಲಿ ಪಟ್ಟಿ ಮಾಡಲ್ಪಟ್ಟಿರುತ್ತವೆ. ಈ ಕಾರ್ಯನೀತಿಯನ್ನು, ಶಿಫಾರಸು ಮಾಡಿದ ಸ್ಥಳಗಳ ಗುಂಪನ್ನು ಪಟ್ಟಿಯ ಮೇಲ್ಭಾಗಕ್ಕೆ ಸರಿಸುವ ಸಲುವಾಗಿ ನೀವು ಬಳಸಬಹುದು.
+   ನಿರ್ವಹಿಸಲಾದ ಸೆಶನ್ ಒಂದನ್ನು ಪ್ರಾರಂಭಿಸುವ ಮೊದಲು, ನಿರ್ದಿಷ್ಟ ಬಳಕೆದಾರರು ಭಾಷೆ ಮತ್ತು ಕೀಬೋರ್ಡ್ ವಿನ್ಯಾಸವನ್ನು ಆರಿಸಿಕೊಳ್ಳಬಹುದು. ಡಿಫಾಲ್ಟ್ ರೂಪದಲ್ಲಿ, <ph name="PRODUCT_OS_NAME" /> ಬೆಂಬಲಿಸುವ ಎಲ್ಲಾ ಭಾಷೆಗಳೂ ವರ್ಣಮಾಲೆಯ ಕ್ರಮದಲ್ಲಿ ಪಟ್ಟಿ ಮಾಡಲ್ಪಟ್ಟಿರುತ್ತವೆ. ಈ ಕಾರ್ಯನೀತಿಯನ್ನು, ಶಿಫಾರಸು ಮಾಡಿದ ಭಾಷೆಗಳ ಗುಂಪನ್ನು ಪಟ್ಟಿಯ ಮೇಲ್ಭಾಗಕ್ಕೆ ಸರಿಸುವ ಸಲುವಾಗಿ ನೀವು ಬಳಸಬಹುದು.
 
-   ಈ ಕಾರ್ಯನೀತಿಯನ್ನು ಹೊಂದಿಸದೇ ಇದ್ದರೆ, ಪ್ರಸ್ತುತ UI ಸ್ಥಳವನ್ನು ಮುಂಚಿತವಾಗಿ ಆಯ್ಕೆಮಾಡಲಾಗುತ್ತದೆ.
+   ಈ ಕಾರ್ಯನೀತಿಯನ್ನು ಹೊಂದಿಸದೇ ಇದ್ದರೆ, ಪ್ರಸ್ತುತ UI ಭಾಷೆಯನ್ನು ಮುಂಚಿತವಾಗಿ ಆಯ್ಕೆಮಾಡಲಾಗುತ್ತದೆ.
 
-   ಈ ಕಾರ್ಯನೀತಿಯನ್ನು ಹೊಂದಿಸಿದರೆ, ಶಿಫಾರಸು ಮಾಡಿದ ಸ್ಥಳಗಳನ್ನು ಪಟ್ಟಿಯ ಮೇಲ್ಭಾಗಕ್ಕೆ ಸರಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಅದನ್ನು ಇತರ ಎಲ್ಲಾ ಸ್ಥಳಗಳಿಂದ ದೃಶ್ಯಾತ್ಮಕವಾಗಿ ಪ್ರತ್ಯೇಕಗೊಳಿಸಲಾಗುತ್ತದೆ. ಶಿಫಾರಸು ಮಾಡಿದ ಸ್ಥಳಗಳನ್ನು ಅವುಗಳು ಕಾರ್ಯನೀತಿಯಲ್ಲಿ ಕಂಡುಬರುವ ಕ್ರಮದಲ್ಲಿಯೇ ಪಟ್ಟಿ ಮಾಡಲಾಗುತ್ತದೆ. ಶಿಫಾರಸು ಮಾಡಿದ ಮೊದಲನೇ ಸ್ಥಳವನ್ನು ಮುಂಚಿತವಾಗಿ ಆಯ್ಕೆಮಾಡಲಾಗುತ್ತದೆ.
+   ಈ ಕಾರ್ಯನೀತಿಯನ್ನು ಹೊಂದಿಸಿದರೆ, ಶಿಫಾರಸು ಮಾಡಿದ ಭಾಷೆಗಳನ್ನು ಪಟ್ಟಿಯ ಮೇಲ್ಭಾಗಕ್ಕೆ ಸರಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಅದನ್ನು ಇತರ ಎಲ್ಲಾ ಭಾಷೆಗಳಿಂದ ದೃಶ್ಯಾತ್ಮಕವಾಗಿ ಪ್ರತ್ಯೇಕಗೊಳಿಸಲಾಗುತ್ತದೆ. ಶಿಫಾರಸು ಮಾಡಿದ ಭಾಷೆಗಳನ್ನು ಅವುಗಳು ಕಾರ್ಯನೀತಿಯಲ್ಲಿ ಕಂಡುಬರುವ ಕ್ರಮದಲ್ಲಿಯೇ ಪಟ್ಟಿ ಮಾಡಲಾಗುತ್ತದೆ. ಶಿಫಾರಸು ಮಾಡಿದ ಮೊದಲನೇ ಭಾಷೆಯನ್ನು ಮುಂಚಿತವಾಗಿ ಆಯ್ಕೆಮಾಡಲಾಗುತ್ತದೆ.
 
-   ಒಂದು ವೇಳೆ ಶಿಫಾರಸು ಮಾಡಿದ ಸ್ಥಳ ಒಂದಕ್ಕಿಂತ ಹೆಚ್ಚಿದ್ದರೆ, ಆ ಸ್ಥಳಗಳಿಂದ ಬಳಕೆದಾರರು ಆಯ್ಕೆ ಮಾಡಲು ಬಯಸುತ್ತಾರೆ ಎಂದು ಭಾವಿಸಲಾಗುತ್ತದೆ. ನಿರ್ವಹಿಸಿದ ಸೆಶನ್ ಒಂದನ್ನು ಪ್ರಾರಂಭಿಸುವಾಗ ಸ್ಥಳ ಮತ್ತು ಕೀಬೋರ್ಡ್ ವಿನ್ಯಾಸದ ಆಯ್ಕೆಗೆ ಪ್ರಾಮುಖ್ಯತೆ ನೀಡಲಾಗುತ್ತದೆ. ಇಲ್ಲದಿದ್ದರೆ, ಹೆಚ್ಚಿನ ಬಳಕೆದಾರರು ಮುಂಚಿತವಾಗಿ ಆಯ್ಕೆಮಾಡಿದ ಸ್ಥಳವನ್ನು ಬಳಸಲು ಬಯಸುತ್ತಾರೆ ಎಂದು ಭಾವಿಸಲಾಗುತ್ತದೆ. ಹಾಗೂ ನಿರ್ವಹಿಸಿದ ಸೆಶನ್ ಪ್ರಾರಂಭಿಸುವಾಗ ಸ್ಥಳ ಮತ್ತು ಕೀಬೋರ್ಡ್ ಸೆಶನ್ ಆಯ್ಕೆಗೆ ಕಡಿಮೆ ಪ್ರಾಮುಖ್ಯತೆ ನೀಡಲಾಗುತ್ತದೆ.
+   ಒಂದು ವೇಳೆ ಶಿಫಾರಸು ಮಾಡಿದ ಭಾಷೆಯು ಒಂದಕ್ಕಿಂತ ಹೆಚ್ಚಿದ್ದರೆ, ಬಳಕೆದಾರರು ಆ ಭಾಷೆಗಳ ಪೈಕಿ ಆಯ್ಕೆ ಮಾಡಲು ಬಯಸುತ್ತಾರೆ ಎಂದು ಭಾವಿಸಲಾಗುತ್ತದೆ. ನಿರ್ವಹಿಸಿದ ಸೆಶನ್ ಒಂದನ್ನು ಪ್ರಾರಂಭಿಸುವಾಗ ಭಾಷೆ ಮತ್ತು ಕೀಬೋರ್ಡ್ ವಿನ್ಯಾಸದ ಆಯ್ಕೆಗೆ ಪ್ರಾಮುಖ್ಯತೆ ನೀಡಲಾಗುತ್ತದೆ. ಇಲ್ಲದಿದ್ದರೆ, ಹೆಚ್ಚಿನ ಬಳಕೆದಾರರು ಮುಂಚಿತವಾಗಿ ಆಯ್ಕೆಮಾಡಿದ ಭಾಷೆಯನ್ನು ಬಳಸಲು ಬಯಸುತ್ತಾರೆ ಎಂದು ಭಾವಿಸಲಾಗುತ್ತದೆ. ಹಾಗೂ ನಿರ್ವಹಿಸಿದ ಸೆಶನ್ ಪ್ರಾರಂಭಿಸುವಾಗ ಭಾಷೆ ಮತ್ತು ಕೀಬೋರ್ಡ್ ಸೆಶನ್ ಆಯ್ಕೆಗೆ ಕಡಿಮೆ ಪ್ರಾಮುಖ್ಯತೆ ನೀಡಲಾಗುತ್ತದೆ.
 
-   ಈ ಕಾರ್ಯನೀತಿಯನ್ನು ಹೊಂದಿಸಿದಾಗ ಮತ್ತು ಸ್ವಯಂಚಾಲಿತ ಲಾಗಿನ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿದಾಗ (|DeviceLocalAccountAutoLoginId| ಮತ್ತು |DeviceLocalAccountAutoLoginDelay| ಕಾರ್ಯನೀತಿಗಳನ್ನು ನೋಡಿ), ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಪ್ರಾರಂಭವಾಗುವ ನಿರ್ವಹಿಸಲಾದ ಸೆಶನ್,  ಶಿಫಾರಸು ಮಾಡಿದ ಮೊದಲನೇ ಸ್ಥಳವನ್ನು ಮತ್ತು ಈ ಸ್ಥಳಕ್ಕೆ ಹೊಂದಾಣಿಕೆಯಾಗುವ ಹೆಚ್ಚು ಜನಪ್ರಿಯ ಕೀಬೋರ್ಡ್ ವಿನ್ಯಾಸವನ್ನು ಬಳಸುತ್ತದೆ.
+   ಈ ಕಾರ್ಯನೀತಿಯನ್ನು ಹೊಂದಿಸಿದಾಗ ಮತ್ತು ಸ್ವಯಂಚಾಲಿತ ಲಾಗಿನ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿದಾಗ (|DeviceLocalAccountAutoLoginId| ಮತ್ತು |DeviceLocalAccountAutoLoginDelay| ಕಾರ್ಯನೀತಿಗಳನ್ನು ನೋಡಿ), ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಪ್ರಾರಂಭವಾಗುವ ನಿರ್ವಹಿಸಲಾದ ಸೆಶನ್,  ಶಿಫಾರಸು ಮಾಡಿದ ಮೊದಲನೇ ಭಾಷೆಯನ್ನು ಮತ್ತು ಈ ಭಾಷೆಗೆ ಹೊಂದಾಣಿಕೆಯಾಗುವ ಹೆಚ್ಚು ಜನಪ್ರಿಯ ಕೀಬೋರ್ಡ್ ವಿನ್ಯಾಸವನ್ನು ಬಳಸುತ್ತದೆ.
 
-   ಮುಂಚಿತವಾಗಿ ಆಯ್ಕೆಮಾಡಿದ ಕೀಬೋರ್ಡ್ ವಿನ್ಯಾಸವು ಯಾವಾಗಲೂ ಹೆಚ್ಚು ಜನಪ್ರಿಯ ವಿನ್ಯಾಸವಾಗಿದ್ದು ಮುಂಚಿತವಾಗಿ ಆಯ್ಕೆಮಾಡಿದ ಸ್ಥಳಕ್ಕೆ ಹೊಂದಾಣಿಕೆಯಾಗುತ್ತದೆ.
+   ಮುಂಚಿತವಾಗಿ ಆಯ್ಕೆಮಾಡಿದ ಕೀಬೋರ್ಡ್ ವಿನ್ಯಾಸವು ಯಾವಾಗಲೂ ಹೆಚ್ಚು ಜನಪ್ರಿಯ ವಿನ್ಯಾಸವಾಗಿದ್ದು ಮುಂಚಿತವಾಗಿ ಆಯ್ಕೆಮಾಡಿದ ಭಾಷೆಗೆ ಹೊಂದಾಣಿಕೆಯಾಗುತ್ತದೆ.
 
-      ಈ ಕಾರ್ಯನೀತಿಯನ್ನು ಶಿಫಾರಸು ಮಾಡಿರುವುದಾಗಿ ಮಾತ್ರ ಹೊಂದಿಸಬಹುದಾಗಿದೆ. ನೀವು ಶಿಫಾರಸು ಮಾಡಿದ ಸ್ಥಳಗಳ ಗುಂಪನ್ನು ಮೇಲ್ಭಾಗಕ್ಕೆ ಸರಿಸಲು ಈ ಕಾರ್ಯನೀತಿಯನ್ನು ಬಳಸಬಹುದು, ಆದರೆ ತಮ್ಮ ಸೆಶನ್‌ಗೆ <ph name="PRODUCT_OS_NAME" /> ರಿಂದ ಬೆಂಬಲಿತವಾಗಿರುವ ಯಾವುದೇ ಸ್ಥಳವನ್ನು ಆರಿಸಿಕೊಳ್ಳಲು ಬಳಕೆದಾರರಿಗೆ ಯಾವಾಗಲೂ ಅವಕಾಶವಿರುತ್ತದೆ.
+      ಈ ಕಾರ್ಯನೀತಿಯನ್ನು ಶಿಫಾರಸು ಮಾಡಿರುವುದಾಗಿ ಮಾತ್ರ ಹೊಂದಿಸಬಹುದಾಗಿದೆ. ಶಿಫಾರಸು ಮಾಡಿದ ಭಾಷೆಗಳ ಗುಂಪನ್ನು ಮೇಲ್ಭಾಗಕ್ಕೆ ಸರಿಸಲು ನೀವು ಈ ಕಾರ್ಯನೀತಿಯನ್ನು ಬಳಸಬಹುದು, ಆದರೆ <ph name="PRODUCT_OS_NAME" /> ಬೆಂಬಲಿಸುವಂತಹ ಯಾವುದೇ ಭಾಷೆಯನ್ನು ತಮ್ಮ ಸೆಶನ್‌ಗೆ ಆರಿಸಿಕೊಳ್ಳಲು ಬಳಕೆದಾರರಿಗೆ ಯಾವಾಗಲೂ ಅವಕಾಶವಿರುತ್ತದೆ.
       </translation>
 <translation id="3381968327636295719">ಹೋಸ್ಟ್ ಬ್ರೌಸರ್ ಅನ್ನು ಡಿಫಾಲ್ಟ್ ಆಗಿ ಬಳಸಿ</translation>
 <translation id="3414260318408232239">ಈ ಕಾರ್ಯನೀತಿಯನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡದಿದ್ದರೆ, ಡಿಫಾಲ್ಟ್ ಕನಿಷ್ಠ ಆವೃತ್ತಿಯಾದ TLS 1.0 ಅನ್ನು <ph name="PRODUCT_NAME" /> ಬಳಸುತ್ತದೆ. ಇಲ್ಲದಿದ್ದರೆ, ಅದನ್ನು ಈ ಕೆಳಗಿನ ಮೌಲ್ಯಗಳಲ್ಲಿ ಯಾವುದಾದರೂ ಒಂದು ಮೌಲ್ಯಕ್ಕೆ ಹೊಂದಿಸಬಹುದು: "tls1", "tls1.1" ಅಥವಾ "tls1.2". ಇದನ್ನು ಹೊಂದಿಸಿದಾಗ, ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಆವೃತ್ತಿಗಿಂತ ಹಳೆಯದಾಗಿರುವ SSL/TLS ಆವೃತ್ತಿಗಳನ್ನು <ph name="PRODUCT_NAME" /> ಬಳಸುವುದಿಲ್ಲ. ಗುರುತಿಸಲಾಗದ ಮೌಲ್ಯವನ್ನು ನಿರ್ಲಕ್ಷಿಸಲಾಗುವುದು.</translation>
@@ -2059,9 +2063,9 @@
       ಈ ನೀತಿಯನ್ನು ತಪ್ಪು ಎಂದು ಹೊಂದಿಸುವುದರಿಂದ ಯಾವುದೇ ಎಚ್ಚರಿಕೆ ಪುಟ ಕ್ಲಿಕ್ ಮಾಡುವುದನ್ನು ಬಳಕೆದಾರರಿಗೆ ಅನುಮತಿಸಲಾಗುವುದಿಲ್ಲ.</translation>
 <translation id="6352543686437322588">ವಿಳಂಬದ ನಂತರ ಸಾಧನ-ಸ್ಥಳೀಯ ಖಾತೆಯು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಲಾಗಿನ್‌ ಆಗುವುದು.
 
-   ಈ ಕಾರ್ಯನೀತಿಯನ್ನು ಹೊಂದಿಸಿದರೆ, ಬಳಕೆದಾರರ ಸಂವಹನ ಇಲ್ಲದೆಯೇ ಲಾಗಿನ್ ಸ್ಕ್ರೀನ್‌ನಲ್ಲಿ ಸಮಯ ಕಳೆದುಕೊಂಡ ನಂತರ, ನಿರ್ದಿಷ್ಟಪಡಿಸಲಾದ ಸೆಷನ್ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಲಾಗಿನ್ ಆಗುತ್ತದೆ. ಆದರೆ ಸಾಧನ-ಸ್ಥಳೀಯ ಖಾತೆಯನ್ನು ಈಗಾಗಲೇ ಕಾನ್ಫಿಗರ್ ಮಾಡಿರಬೇಕು (|DeviceLocalAccounts| ನೋಡಿ).
+   ಈ ಕಾರ್ಯನೀತಿಯನ್ನು ಹೊಂದಿಸಿದರೆ, ಬಳಕೆದಾರರ ಸಂವಹನ ಇಲ್ಲದೆಯೇ ಲಾಗಿನ್ ಸ್ಕ್ರೀನ್‌ನಲ್ಲಿ ಕಳೆದುಹೋದ ಸಮಯದ ನಂತರ, ನಿರ್ದಿಷ್ಟಪಡಿಸಲಾದ ಸೆಷನ್ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಲಾಗಿನ್ ಆಗುತ್ತದೆ. ಆದರೆ ಸಾಧನ-ಸ್ಥಳೀಯ ಖಾತೆಯನ್ನು ಈಗಾಗಲೇ ಕಾನ್ಫಿಗರ್ ಮಾಡಿರಬೇಕು (|DeviceLocalAccounts| ನೋಡಿ).
 
-  ಈ ಕಾರ್ಯನೀತಿಯನ್ನು ಹೊಂದಿಸದಿದ್ದರೆ, ಯಾವುದೇ ಸ್ವಯಂಚಾಲಿತ ಲಾಗಿನ್ ಆಗುವುದಿಲ್ಲ.</translation>
+  ಈ ಕಾರ್ಯನೀತಿಯನ್ನು ಹೊಂದಿಸದಿದ್ದರೆ, ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಯಾವುದೇ ಲಾಗಿನ್ ನಡೆಯುವುದಿಲ್ಲ.</translation>
 <translation id="6353901068939575220">POST ಸಹಿತ URL ವೊಂದನ್ನು ಹುಡುಕುವಾಗ ಬಳಸಿಕೊಂಡ ಮಾನದಂಡಗಳನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತದೆ. ಇದು ಅಲ್ಪವಿರಾಮದಿಂದ ಬೇರ್ಪಡಿಸಿದ ಹೆಸರು/ಮೌಲ್ಯದ ಜೋಡಿಗಳನ್ನು ಹೊಂದಿರುತ್ತದೆ. ಮೇಲಿನ ಉದಾಹರಣೆಯಲ್ಲಿರುವಂತೆ {searchTerms} ಮೌಲ್ಯವು ಟೆಂಪ್ಲೇಟ್‌ ಮಾನದಂಡವಾಗಿದ್ದಲ್ಲಿ, ಇದನ್ನು ನೈಜ ಹುಡುಕಾಟದ ನಿಯಮಗಳ ಡೇಟಾದಿಂದ ಬದಲಾಯಿಸಲಾಗುತ್ತದೆ.
 
           ಈ ನೀತಿಯು ಐಚ್ಛಿಕವಾಗಿದೆ. ಹೊಂದಿಸದಿದ್ದಲ್ಲಿ, GET ವಿಧಾನ ಬಳಸಿಕೊಂಡು ಹುಡುಕಾಟ ವಿನಂತಿಯನ್ನು ಕಳುಹಿಸಲಾಗುವುದು.
@@ -2473,7 +2477,7 @@
 <translation id="7311458740754205918">ಇದನ್ನು ಸರಿ ಎಂಬುದಕ್ಕೆ ಹೊಂದಿಸಿದರೆ ಅಥವಾ ಹೊಂದಿಸದೆ ಹಾಗೆಯೇ ಬಿಟ್ಟರೆ, ಹೊಸ ಟ್ಯಾಬ್ ಪುಟವು ಬಳಕೆದಾರರ ಬ್ರೌಸಿಂಗ್ ಇತಿಹಾಸ, ಆಸಕ್ತಿಗಳು ಅಥವಾ ಸ್ಥಳವನ್ನು ಆಧರಿಸಿದ ವಿಷಯ ಸಲಹೆಗಳನ್ನು ತೋರಿಸಬಹುದು.
 
       ಇದನ್ನು ತಪ್ಪು ಎಂಬುದಕ್ಕೆ ಹೊಂದಿಸಿದರೆ, ಹೊಸ ಟ್ಯಾಬ್ ಪುಟದಲ್ಲಿ ಸ್ವಯಂಚಾಲಿತವಾಗಿ-ರಚಿಸಲ್ಪಟ್ಟ ವಿಷಯ ಸಲಹೆಗಳನ್ನು ತೋರಿಸಲಾಗುವುದಿಲ್ಲ.</translation>
-<translation id="7313793931637495417">ಈ ಕಾರ್ಯನೀತಿಯು OS ಆವೃತ್ತಿ, OS ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌, OS ವಾಸ್ತುಶಿಲ್ಪ, <ph name="PRODUCT_NAME" /> ಆವೃತ್ತಿ ಮತ್ತು <ph name="PRODUCT_NAME" /> ಚಾನಲ್‌ನಂತಹ ಆವೃತ್ತಿಯ ಮಾಹಿತಿಯನ್ನು ವರದಿ ಮಾಡಬೇಕೇ ಎಂಬುದನ್ನು ನಿಯಂತ್ರಿಸುತ್ತದೆ.
+<translation id="7313793931637495417">ಈ ಕಾರ್ಯನೀತಿಯು OS ಆವೃತ್ತಿ, OS ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌, OS ಆರ್ಕಿಟೆಕ್ಚರ್, <ph name="PRODUCT_NAME" /> ಆವೃತ್ತಿ ಮತ್ತು <ph name="PRODUCT_NAME" /> ಚಾನಲ್‌ನಂತಹ ಆವೃತ್ತಿಯ ಮಾಹಿತಿಯನ್ನು ವರದಿ ಮಾಡಬೇಕೇ ಎಂಬುದನ್ನು ನಿಯಂತ್ರಿಸುತ್ತದೆ.
 
       ಈ ಕಾರ್ಯನೀತಿಯನ್ನು ಹೊಂದಿಸದೆ ಬಿಟ್ಟರೆ ಅಥವಾ ಸರಿ ಎಂದು ಹೊಂದಿಸಿದರೆ, ಆವೃತ್ತಿಯ ಮಾಹಿತಿಯನ್ನು ಸಂಗ್ರಹಿಸಲಾಗುತ್ತದೆ.
       ಈ ಕಾರ್ಯನೀತಿಯನ್ನು ತಪ್ಪು ಎಂದು ಹೊಂದಿಸಿದರೆ, ಆವೃತ್ತಿಯ ಮಾಹಿತಿಯನ್ನು ಸಂಗ್ರಹಿಸಲಾಗುವುದಿಲ್ಲ.
@@ -2864,7 +2868,7 @@
 
       ನೀತಿಯನ್ನು ತಪ್ಪು ಎಂದು ಹೊಂದಿಸಿದ್ದರೆ, ಇಂಟರ್ಫೇಸ್ ಪಟ್ಟಿಯನ್ನು ವರದಿ ಮಾಡಲಾಗುವುದಿಲ್ಲ.</translation>
 <translation id="8141795997560411818">ಈ ನೀತಿಯು ಬಳಕೆದಾರರು Android Google ಡ್ರೈವ್ ಅಪ್ಲಿಕೇಶನ್ ಬಳಸುವುದನ್ನು ತಡೆಗಟ್ಟುವುದಿಲ್ಲ. Google ಡ್ರೈವ್‌ಗೆ ಪ್ರವೇಶವನ್ನು ತಡೆಗಟ್ಟಲು ನೀವು ಬಯಸಿದರೆ, ನೀವು Android Google ಡ್ರೈವ್ ಅಪ್ಲಿಕೇಶನ್ ಸ್ಥಾಪನೆಯನ್ನೂ ಸಹ ಅನುಮತಿಸಬಾರದು.</translation>
-<translation id="8142894094385450823">ನಿರ್ವಹಿಸಲಾದ ಸೆಶನ್‌ ಒಂದಕ್ಕೆ ಶಿಫಾರಸು ಮಾಡಿದ ಸ್ಥಳಗಳನ್ನು ಹೊಂದಿಸಿ</translation>
+<translation id="8142894094385450823">ನಿರ್ವಹಿಸಲಾದ ಸೆಶನ್‌ ಒಂದಕ್ಕೆ ಶಿಫಾರಸು ಮಾಡಿದ ಭಾಷೆಗಳನ್ನು ಹೊಂದಿಸಿ</translation>
 <translation id="8146727383888924340">Chrome OS ನೋಂದಣಿಯ ಮೂಲಕ ಕೊಡುಗೆಗಳನ್ನು ರಿಡೀಮ್ ಮಾಡಲು ಬಳಕೆದಾರರನ್ನು ಅನುಮತಿಸಿ</translation>
 <translation id="8148785525797916822">ಕಂಪ್ಯೂಟರ್‌ನಲ್ಲಿ <ph name="PRODUCT_NAME" /> ರನ್ ಆಗಬೇಕಾದರೆ ಅಥವಾ ಇನ್ನು ಮುಂದೆ ಬೆಂಬಲಿತವಿಲ್ಲದ ಕಾರ್ಯಾಚರಣಾ ವ್ಯವಸ್ಥೆ ಇರುವಾಗ ಗೋಚರಿಸುವಂತಹ ಎಚ್ಚರಿಕೆಯನ್ನು ನಿಗ್ರಹಿಸುತ್ತದೆ.</translation>
 <translation id="8148901634826284024">ಅಧಿಕ ಕಾಂಟ್ರಾಸ್ಟ್ ಮೋಡ್ ಪ್ರವೇಶಿಸುವಿಕೆ ವೈಶಿಷ್ಟ್ಯವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ.
@@ -2994,6 +2998,20 @@
 <translation id="8465065632133292531">POST ಬಳಸಿಕೊಳ್ಳುವ ತತ್‌ಕ್ಷಣದ URL ಗಾಗಿ ಮಾನದಂಡಗಳು</translation>
 <translation id="847472800012384958">ಯಾವುದೇ ಸೈಟ್‌ ಅನ್ನು ಪಾಪ್-ಅಪ್‌ಗಳನ್ನು ತೋರಿಸಲು ಅನುಮತಿಸಬೇಡ</translation>
 <translation id="8477885780684655676">TLS 1.0</translation>
+<translation id="8483004350080020634">https:// URL ಗಳ ಗೌಪ್ಯತೆ ಮತ್ತು ಭದ್ರತೆಯ ಸೂಕ್ಷ್ಮ ಭಾಗಗಳನ್ನು ಪ್ರಾಕ್ಸಿ ರೆಸಲ್ಯೂಶನ್ ಸಮಯದಲ್ಲಿ <ph name="PRODUCT_NAME" /> ರಿಂದ PAC ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳಿಗೆ (ಪ್ರಾಕ್ಸಿ ಸ್ವಯಂ ಕಾನ್ಫಿಗ್) ಅವುಗಳನ್ನು ವರ್ಗಾಯಿಸುವುದಕ್ಕೆ ಮೊದಲು ಸ್ಟ್ರಿಪ್ ಮಾಡಲಾಗುತ್ತದೆ.
+
+      
+ಸರಿ ಎಂದು ಹೊಂದಿಸಿದ್ದರೆ PAC ಸ್ಕ್ರಿಪ್ಟ್‌ಗೆ ಅವುಗಳನ್ನು ಸಲ್ಲಿಸುವುದಕ್ಕೆ ಮೊದಲು https:// URLಗಳನ್ನು  ಸ್ಟ್ರಿಪ್ ಮಾಡುವುದು ಡಿಫಾಲ್ಟ್ ಲಕ್ಷಣವಾಗಿರುತ್ತದೆ. ಈ ರೀತಿಯಲ್ಲಿ PAC   ಸ್ಕ್ರಿಪ್ಟ್‌ಗೆ ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡಲಾದ ಚಾನಲ್‌ನಿಂದ (URL ಗಳ ಹಾದಿ ಮತ್ತು ಪ್ರಶ್ನೆಯ ರೀತಿಯಲ್ಲಿ) ಸಾಧಾರಣ ರೀತಿಯಲ್ಲಿ ರಕ್ಷಿಸಲಾದ ಡೇಟಾವನ್ನು ವೀಕ್ಷಿಸಲು ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ.
+
+      
+ನೀತಿಯನ್ನು ತಪ್ಪು ಎಂದು ಹೊಂದಿಸಿದಾಗ, ಈ ಭದ್ರತೆ ವೈಶಿಷ್ಟ್ಯವನ್ನು ನಿಷ್ಕ್ರಿಯೆಗೊಳಿಸಲಾಗುತ್ತದೆ ಮತ್ತು https:// URL ನ ಎಲ್ಲಾ ಘಟಕಗಳನ್ನು ವೀಕ್ಷಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು PAC ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳಿಗೆ ಸುವ್ಯಕ್ತವಾಗಿ ನೀಡಲಾಗುತ್ತದೆ. ಇದು PAC ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳ ಮೂಲವು ಯಾವುದೇ ಆಗಿದ್ದರೂ (ಅಸುರಕ್ಷಿತವಾದ ಸಾಗಾಣಿಕೆ ಮೂಲಕ ತರಲಾದವು ಅಥವಾ WPAD ಮೂಲಕ ಅಸುರಕ್ಷಿತವಾಗಿ ಅನ್ವೇಷಿಸಲಾಗಿರುವುದನ್ನು ಒಳಗೊಂಡು) ಎಲ್ಲದಕ್ಕೂ ಅನ್ವಯಿಸುತ್ತದೆ.
+
+      ಇದು ನಿಜ ಎಂಬುದಕ್ಕೆ ಡೀಫಾಲ್ಟ್ ಆಗಿರುತ್ತದೆ (ಸುರಕ್ಷತೆ ವೈಶಿಷ್ಟ್ಯ ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ).
+
+      
+ಇದನ್ನು ನಿಜ ಎಂಬುದಕ್ಕೆ ಹೊಂದಿಸಲು ಶಿಫಾರಸು ಮಾಡಲಾಗಿದೆ. ಅದನ್ನು ತಪ್ಪು ಎಂಬುದಕ್ಕೆ     ಹೊಂದಿಸುವ ಏಕೈಕ ಕಾರಣವೆಂದರೆ ಅದು ಪ್ರಸ್ತುತ PAC ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳೊಂದಿಗೆ ಹೊಂದಾಣಿಕೆಯ ಸಮಸ್ಯೆಯನ್ನು ಉಂಟು ಮಾಡುತ್ತದೆ.
+
+      ಕಾರ್ಯನೀತಿಯನ್ನು M75 ನಲ್ಲಿ ತೆಗೆದುಹಾಕಲಾಗುತ್ತದೆ.</translation>
 <translation id="8484458986062090479">ಯಾವಾಗಲೂ ಹೋಸ್ಟ್ ಬ್ರೌಸರ್ ಮೂಲಕ ಸಲ್ಲಿಸುವ URL ಪ್ಯಾಟರ್ನ್‌ಗಳ ಪಟ್ಟಿಯನ್ನು ಕಸ್ಟಮೈಜ್‌ಗೊಳಿಸಿ.
 
           ಈ ನೀತಿಯನ್ನು ಹೊಂದಿಸದಿದ್ದರೆ ಡಿಫಾಲ್ಟ್ ಆಗಿ ನಿರೂಪಿಸುವ 'ChromeFrameRendererSettings' ನೀತಿಯಿಂದ ನಿರ್ದಿಷ್ಟಪಡಿಸಿದಂತೆ ಎಲ್ಲ ಸೈಟ್‌ಗಳಿಗೆ ಬಳಸಲಾಗುತ್ತದೆ.
diff --git a/components/policy/resources/policy_templates_ko.xtb b/components/policy/resources/policy_templates_ko.xtb
index 5557ffc..0f1acde 100644
--- a/components/policy/resources/policy_templates_ko.xtb
+++ b/components/policy/resources/policy_templates_ko.xtb
@@ -906,13 +906,13 @@
 
       이 정책을 설정하면 추천 언어가 목록 상단으로 이동하며 다른 언어와 시각적으로 구분되어 표시됩니다. 추천 언어는 정책에 표시된 순서대로 표시되며 첫 번째 추천 언어가 사전 선택됩니다.
 
-      추천 언어가 둘 이상인 경우 사용자가 추천 언어 중에 선택할 것이라고 가정, 관리 세션 시작 시 언어 및 키보드 레이아웃 선택 항목이 눈에 띄게 표시됩니다. 그 외의 경우 대부분의 사용자가 사전 선택된 언어를 사용할 것이라고 가정, 관리 세션 시작 시 언어 및 키보드 레이아웃 선택 항목이 눈에 덜 띄게 표시됩니다.
+      추천 언어가 둘 이상인 경우 사용자가 추천 언어 중에 선택할 것이라고 가정하고, 관리 세션 시작 시 언어 및 키보드 레이아웃 선택 항목이 눈에 띄게 표시됩니다. 그 외의 경우 대부분의 사용자가 사전 선택된 언어를 사용할 것이라고 가정하여, 관리 세션 시작 시 언어 및 키보드 레이아웃 선택 항목이 눈에 덜 띄게 표시됩니다.
 
       이 정책이 설정되어 있고 자동 로그인을 사용 설정한 경우(|DeviceLocalAccountAutoLoginId| 및 |DeviceLocalAccountAutoLoginDelay| 정책 참조) 자동으로 시작된 관리 세션에서는 첫 번째 추천 언어 및 이 언어와 일치하며 가장 널리 사용되는 키보드 레이아웃을 사용합니다.
 
       사전 선택된 키보드 레이아웃은 사전 선택된 언어에 해당하는 가장 널리 사용되는 레이아웃으로 설정됩니다.
 
-      이 정책은 추천으로만 설정할 수 있습니다. 이 정책을 사용하여 추천 언어 모음을 상단으로 이동할 수 있지만, 사용자는 언제든지 자신의 세션에서 <ph name="PRODUCT_OS_NAME" />이(가) 지원하는 언어 중에 선택할 수 있습니다.
+      이 정책은 추천으로만 설정할 수 있습니다. 이 정책을 사용하여 추천 언어 모음을 상단으로 이동할 수 있지만, 사용자는 언제든지 <ph name="PRODUCT_OS_NAME" />이(가) 지원하는 언어 중에 자신의 세션에서 사용할 언어를 선택할 수 있습니다.
       </translation>
 <translation id="3381968327636295719">호스트 브라우저를 기본으로 사용</translation>
 <translation id="3414260318408232239">이 정책을 설정하지 않으면 <ph name="PRODUCT_NAME" />에서 기본 최소 버전인 TLS 1.0이 사용됩니다.
@@ -1148,7 +1148,7 @@
       이 정책이 false로 설정되어 있으면 사용자는 쿠폰을 사용할 수 없습니다.</translation>
 <translation id="4008507541867797979">이 정책을 True로 설정하거나 구성하지 않으면 <ph name="PRODUCT_OS_NAME" />은(는) 기존의 사용자 이름을 로그인 화면에 표시하여 선택할 수 있도록 합니다.
 
-      이 정책이 False로 설정되어 있으면 <ph name="PRODUCT_OS_NAME" />은(는) 로그인 화면에서 기존 사용자를 표시하지 않습니다. 관리 세션이 구성되어 있지 않으면 정상적인 로그인 화면(사용자 이메일 및 비밀번호/휴대전화 요청) 또는 SAML 전면 광고 화면(<ph name="LOGIN_AUTHENTICATION_BEHAVIOR_POLICY_NAME" /> 정책을 통해 사용 설정된 경우)이 표시됩니다. 관리 세션이 구성되어 있으면 관리 세션 계정만 표시되어 그중 하나를 선택할 수 있습니다.
+      이 정책이 False로 설정되어 있으면 <ph name="PRODUCT_OS_NAME" />은(는) 로그인 화면에서 기존 사용자를 표시하지 않습니다. 관리 세션이 구성되어 있지 않으면 정상적인 로그인 화면(사용자 이메일 및 비밀번호/휴대전화 번호 요청) 또는 SAML 전면 광고 화면(<ph name="LOGIN_AUTHENTICATION_BEHAVIOR_POLICY_NAME" /> 정책을 통해 사용 설정된 경우)이 표시됩니다. 관리 세션이 구성되어 있으면 관리 세션 계정만 표시되어 그중 하나를 선택할 수 있습니다.
 
       이 정책은 기기가 로컬 사용자 데이터를 보관/삭제할지 여부에 영향을 미치지 않습니다.</translation>
 <translation id="4010738624545340900">파일 선택 대화상자의 호출 허용</translation>
@@ -1594,12 +1594,12 @@
 <translation id="5272684451155669299">True일 경우, 사용자는 Chrome 기기의 하드웨어를 사용하여 <ph name="ENTERPRISE_PLATFORM_KEYS_API" /> <ph name="CHALLENGE_USER_KEY_FUNCTION" />을(를) 통해 개인정보 보호 설정 CA에 대한 인증서를 원격으로 증명할 수 있습니다.
 
           False로 설정되어 있거나 설정되지 않은 경우, API 호출 시 오류 메시지가 표시되며 호출에 실패합니다.</translation>
-<translation id="5277806246014825877">이 사용자가 Crostini를 실행할 수 있게 합니다.
+<translation id="5277806246014825877">사용자가 Crostini를 실행할 수 있게 합니다.
 
       이 정책이 False로 설정되어 있으면 사용자가 Crostini를 사용할 수 없습니다.
       이 정책이 True로 설정되어 있거나 설정되어 있지 않으면 다른 설정에서도 허용하는 한 사용자가 Crostini를 사용할 수 있습니다.
-      VirtualMachinesAllowed, CrostiniAllowed, DeviceUnaffiliatedCrostiniAllowed가 Crostini에 적용되어 있을 때 실행할 수 있으려면 세 가지 정책이 모두 True로 설정되어 있어야 합니다.
-      이 정책이 False로 변경되면 새 Crostini 컨테이너를 시작하도록 적용되지만 이미 실행 중인 컨테이너는 종료되지 않습니다.</translation>
+      VirtualMachinesAllowed, CrostiniAllowed, DeviceUnaffiliatedCrostiniAllowed가 Crostini에 적용되어 실행할 수 있으려면 세 가지 정책이 모두 True로 설정되어 있어야 합니다.
+      이 정책이 False로 변경되면 새 Crostini 컨테이너가 시작되지만 이미 실행 중인 컨테이너는 종료되지 않습니다.</translation>
 <translation id="5283457834853986457">플러그인 Finder 사용 중지(지원 중단됨)</translation>
 <translation id="5288772341821359899">정책이 설정된 경우 WebRTC가 사용하는 UDP 포트 범위는 지정한 포트 간격(엔드포인트 포함)으로 제한됩니다.
 
@@ -1972,9 +1972,9 @@
       이 정책을 'false'로 설정하면 사용자가 경고 페이지를 클릭하여 탐색할 수 없습니다.</translation>
 <translation id="6352543686437322588">일정 시간이 지난 뒤 자동으로 로그인할 기기 로컬 계정입니다.
 
-      이 정책이 설정되어 있으면 로그인 화면에서 사용자 활동 없이 일정 시간이 경과한 뒤에 지정된 세션이 자동으로 로그인됩니다. 기기 로컬 계정은 이미 구성되어 있어야 합니다(|DeviceLocalAccounts| 참조).
+      이 정책이 설정되어 있으면 로그인 화면에서 사용자 활동 없이 일정 시간이 경과한 뒤에 지정된 세션이 자동으로 로그인됩니다. 사전에 기기 로컬 계정이 구성되어 있어야 합니다(|DeviceLocalAccounts| 참조).
 
-      이 정책이 설정되어 있지 않으면 자동 로그인할 수 없습니다.</translation>
+      이 정책이 설정되어 있지 않으면 자동 로그인이 되지 않습니다.</translation>
 <translation id="6353901068939575220">POST로 URL을 검색할 때 사용할 매개변수를 지정합니다. 쉼표로 구분된 이름/값 쌍으로 구성되어 있습니다. 값이 위의 예에 있는 {searchTerms}와 같은 템플릿 매개변수인 경우 실제 검색어 데이터로 대체됩니다.
 
           설정되지 않으면 검색 요청은 GET 메소드를 사용하여 전송됩니다.
@@ -2343,8 +2343,8 @@
 <translation id="7232816984286843471">이 정책이 False로 설정되어 있으면 제휴되지 않은 사용자는 Crostini를 사용할 수 없습니다.
 
       이 정책이 설정되어 있지 않거나 True로 설정되어 있으면 다른 설정에서도 허용하는 한 모든 사용자가 Crostini를 사용할 수 있습니다.
-      VirtualMachinesAllowed, CrostiniAllowed, DeviceUnaffiliatedCrostiniAllowed가 Crostini에 적용되어 있을 때 실행할 수 있으려면 세 가지 정책이 모두 True로 설정되어 있어야 합니다.
-      이 정책이 False로 변경되면 새 Crostini 컨테이너를 시작하도록 적용되지만 이미 실행 중인 컨테이너는 종료되지 않습니다.</translation>
+      VirtualMachinesAllowed, CrostiniAllowed, DeviceUnaffiliatedCrostiniAllowed가 Crostini에 적용되어 실행할 수 있으려면 세 가지 정책이 모두 True로 설정되어 있어야 합니다.
+      이 정책이 False로 변경되면 새 Crostini 컨테이너가 시작되지만 이미 실행 중인 컨테이너는 종료되지 않습니다.</translation>
 <translation id="7234280155140786597">차단된 기본 메시지 호스트의 이름(모두 차단하려면 * 값 적용)</translation>
 <translation id="7236775576470542603">로그인 화면에서 사용하는 화면 돋보기의 기본 유형을 설정합니다.
 
@@ -2696,9 +2696,9 @@
 
       이 정책이 True로 설정되어 있으면 기기에서 가상 머신을 실행할 수 있습니다.
       이 정책이 False로 설정되어 있으면 기기에서 가상 머신을 실행할 수 없습니다.
-      VirtualMachinesAllowed, CrostiniAllowed, DeviceUnaffiliatedCrostiniAllowed가 Crostini에 적용되어 있을 때 실행할 수 있으려면 세 가지 정책이 모두 True로 설정되어 있어야 합니다.
+      VirtualMachinesAllowed, CrostiniAllowed, DeviceUnaffiliatedCrostiniAllowed가 Crostini에 적용되어 실행할 수 있으려면 세 가지 정책이 모두 True로 설정되어 있어야 합니다.
 
-      이 정책이 False로 변경되면 새 Crostini 컨테이너를 시작하도록 적용되지만 이미 실행 중인 컨테이너는 종료되지 않습니다.
+      이 정책이 False로 변경되면 새 Crostini 컨테이너가 시작되지만 이미 실행 중인 컨테이너는 종료되지 않습니다.
       이 정책이 관리 기기에서 설정되어 있지 않으면 기기에서 가상 머신을 실행할 수 없습니다.
       관리되지 않는 기기는 가상 머신을 실행할 수 있습니다.</translation>
 <translation id="802147957407376460">화면을 0도 회전</translation>
@@ -2807,8 +2807,8 @@
           사용 중지할 수 없는 앱 및 확장 프로그램의 목록을 지정합니다.
           앱/확장 프로그램의 향후 버전에서 요청하는 추가 권한을 포함하여
           앱/확장 프로그램에서 요청하는 모든 권한은 사용자의 개입 없이
-          암묵적으로 허용됩니다. 또한 권한은 enterprise.deviceAttributes
-          및 enterprise.platformKeys 확장 프로그램 API에 부여됩니다
+          암묵적으로 허용됩니다. 또한 enterprise.deviceAttributes
+          및 enterprise.platformKeys 확장 프로그램 API에 권한이 부여됩니다
           (이 두 API는 강제 설치되지 않은 앱/확장 프로그램에는
           사용할 수 없음).
 
@@ -2818,9 +2818,9 @@
 
           확장 프로그램의 소스 코드는 사용자가 개발자 도구를 통해 변경할 수 있습니다(확장 프로그램의 오작동을 야기할 수 있음). 이 부분이 걱정된다면 <ph name="DEVELOPER_TOOLS_POLICY_NAME" /> 정책을 설정해야 합니다.
 
-          정책의 각 목록 항목은 확장 프로그램 ID 및 선택적으로 ‘업데이트’ URL을 세미콜론(<ph name="SEMICOLON" />)으로 구분해 놓은 문자열입니다. 확장 프로그램 ID는 개발자 모드일 때 <ph name="CHROME_EXTENSIONS_LINK" />에서 확인되는 것과 같은 32자의 문자열입니다. ‘업데이트’ URL은 지정된 경우 <ph name="LINK_TO_EXTENSION_DOC1" />에서 설명한 것처럼 업데이트 매니페스트 XML 문서로 연결되어야 합니다. 기본적으로 Chrome 웹 스토어의 업데이트 URL(현재 ‘https://clients2.google.com/service/update2/crx’)이 사용됩니다. 이 정책에서 설정된 ‘업데이트’ URL은 초기 설치용으로만 사용되며, 이후 확장 프로그램의 업데이트는 확장 프로그램의 매니페스트에 있는 업데이트 URL을 사용합니다. 또한 ‘업데이트’ URL을 명시적으로 지정하는 것은 <ph name="PRODUCT_NAME" /> 버전 67 이상에서 필수입니다.
+          정책의 각 항목은 확장 프로그램 ID 및 선택적으로 ‘업데이트’ URL을 세미콜론(<ph name="SEMICOLON" />)으로 구분해 놓은 문자열입니다. 확장 프로그램 ID는 개발자 모드일 때 <ph name="CHROME_EXTENSIONS_LINK" />에서 확인되는 것과 같은 32자의 문자열입니다. ‘업데이트’ URL은 지정된 경우 <ph name="LINK_TO_EXTENSION_DOC1" />에서 설명한 것처럼 업데이트 매니페스트 XML 문서로 연결되어야 합니다. 기본적으로 Chrome 웹 스토어의 업데이트 URL(현재 ‘https://clients2.google.com/service/update2/crx’)이 사용됩니다. 이 정책에서 설정된 ‘업데이트’ URL은 초기 설치용으로만 사용되며, 이후 확장 프로그램의 업데이트는 확장 프로그램의 매니페스트에 있는 업데이트 URL을 사용합니다. 또한 ‘업데이트’ URL을 명시적으로 지정하는 것은 <ph name="PRODUCT_NAME" /> 버전 67 이상에서 필수입니다.
 
-          예를 들어 <ph name="EXTENSION_POLICY_EXAMPLE" />표준 Chrome 웹 스토어 ‘업데이트’ URL에서 <ph name="EXTENSION_POLICY_EXAMPLE_EXTENSION_NAME" /> 앱을 설치합니다. 확장 프로그램 호스팅에 관한 정보는 <ph name="LINK_TO_EXTENSION_DOC2" /> 페이지를 참조하세요.
+          예를 들어 <ph name="EXTENSION_POLICY_EXAMPLE" />은(는) 표준 Chrome 웹 스토어 ‘업데이트’ URL에서 <ph name="EXTENSION_POLICY_EXAMPLE_EXTENSION_NAME" /> 앱을 설치합니다. 확장 프로그램 호스팅에 관한 정보는 <ph name="LINK_TO_EXTENSION_DOC2" /> 페이지를 참조하세요.
 
           이 정책이 설정되지 않으면 어떠한 앱 또는 확장 프로그램도 자동 설치되지 않고 사용자는 <ph name="PRODUCT_NAME" />의 모든 앱 또는 확장 프로그램을 제거할 수 있습니다.
 
diff --git a/components/policy/resources/policy_templates_lv.xtb b/components/policy/resources/policy_templates_lv.xtb
index fef8d46..d61615b 100644
--- a/components/policy/resources/policy_templates_lv.xtb
+++ b/components/policy/resources/policy_templates_lv.xtb
@@ -125,6 +125,7 @@
 
       PIEZĪME. Šī politika neattiecas uz operētājsistēmu Android. Lai iespējotu politiku IsolateOrigins operētājsistēmā Android, izmantojiet politikas IsolateOriginsAndroid iestatījumu.
       </translation>
+<translation id="1377024960658062022">Iespējo Hardware Platform API paplašinājumiem, kas instalēti saskaņā ar politikām</translation>
 <translation id="1384459581748403878">Informācija: <ph name="REFERENCE_URL" /></translation>
 <translation id="1387596372902085462">Vai norādīt, ka Symantec Corporation mantotā PKI infrastruktūra ir uzticama</translation>
 <translation id="1393485621820363363">Iespējoti uzņēmuma ierīču printeri</translation>
@@ -380,12 +381,12 @@
 
       Ja šai politikai nav iestatīta vērtība, ir spēkā tādi paši iestatījumi kā gadījumos, kad politika ir iespējota (skatiet iepriekš sniegto aprakstu).</translation>
 <translation id="2113068765175018713">Ierobežot ierīces darbspējas laiku, veicot automātisku atsāknēšanu</translation>
-<translation id="2116790137063002724">Šī politika kontrolē, vai ziņot informāciju, kas var tikt izmantota lietotāju identificēšanai, piemēram, operētājsistēmas pieteikšanās datus, <ph name="PRODUCT_NAME" /> profila pieteikšanās datus, <ph name="PRODUCT_NAME" /> profila nosaukumu, <ph name="PRODUCT_NAME" /> profila ceļu un <ph name="PRODUCT_NAME" /> izpildāmo ceļu.
+<translation id="2116790137063002724">Šī politika kontrolē, vai sniegt informāciju, kas var tikt izmantota lietotāju identificēšanai, piemēram, operētājsistēmas pieteikšanās datus, <ph name="PRODUCT_NAME" /> profila pieteikšanās datus, <ph name="PRODUCT_NAME" /> profila nosaukumu, <ph name="PRODUCT_NAME" /> profila ceļu un <ph name="PRODUCT_NAME" /> izpildāmo ceļu.
 
-      Ja šī politika nav iestatīta vai tai ir iestatīta vērtība “True”, informācija, ko var izmantot, lai identificētu lietotājus, tiek apkopota.
+      Ja šī politika nav iestatīta vai tai ir iestatīta vērtība “True”, informācija, kas var tikt izmantot lietotāju identificēšanai, tiek apkopota.
       Ja šai politikai ir iestatīta vērtība “False”, informācija, kas var tikt izmantota lietotāju identificēšanai, netiek apkopota.
 
-      Šī politika ir spēkā tikai tad, ja ir iespējots paplašinājums <ph name="CHROME_REPORTING_EXTENSION_NAME" /> un mašīna ir reģistrēta pakalpojumā <ph name="MACHINE_LEVEL_USER_CLOUD_POLICY_ENROLLMENT_TOKEN_POLICY_NAME" />.</translation>
+      Šī politika ir spēkā tikai tad, ja ir iespējots paplašinājums <ph name="CHROME_REPORTING_EXTENSION_NAME" /> un ierīce ir reģistrēta pakalpojumā <ph name="MACHINE_LEVEL_USER_CLOUD_POLICY_ENROLLMENT_TOKEN_POLICY_NAME" />.</translation>
 <translation id="2127599828444728326">Paziņojumu atļaušana šajās vietnēs</translation>
 <translation id="2131902621292742709">Aizkave līdz ekrāna aptumšošanai, ja ierīce darbojas ar akumulatora jaudu</translation>
 <translation id="2132732175597591362">Pārvalda URL rakstu balto sarakstu ar vietnēm, kurās atskaņošana vienmēr būs iespējota.
@@ -454,6 +455,9 @@
 <translation id="2201555246697292490">Vietējās ziņojumapmaiņas baltā saraksta konfigurēšana</translation>
 <translation id="2204753382813641270">Plaukta automātiskās slēpšanas kontrolēšana</translation>
 <translation id="2208976000652006649">Parametri meklēšanas vietrādim URL, kurā tiek izmantota metode POST</translation>
+<translation id="2214880135980649323">Kad šī politika ir iespējota, paplašinājumiem, kas instalēti saskaņā ar uzņēmuma politiku, ir atļauts izmantot Enterprise Hardware Platform API.
+      Kad šī politika ir iestatīta kā atspējota vai tā nav iestatīta, nevienam paplašinājumam nav atļauts izmantot Enterprise Hardware Platform API.
+      Šī politika ir piemērojama arī komponentu paplašinājumiem, piemēram, pakalpojuma Hangout paplašinājumam.</translation>
 <translation id="2223598546285729819">Noklusējuma paziņojumu iestatījums</translation>
 <translation id="2231817271680715693">Pārlūkošanas vēstures importēšana no noklusējuma pārlūka pirmajā palaišanas reizē</translation>
 <translation id="2236488539271255289">Neatļaut nevienai vietnei iestatīt lokālus datus</translation>
@@ -890,7 +894,7 @@
           Skatiet arī politikas “CookiesBlockedForUrls” un “CookiesSessionOnlyForUrls”. Ņemiet vērā, ka šo trīs politiku URL rakstiem ir savstarpēji jāatbilst, jo politiku prioritāte nav norādīta.</translation>
 <translation id="3373364525435227558">Iestata vienu vai vairākas ieteiktās lokalizācijas pārvaldītai sesijai, ļaujot lietotājiem ērti izvēlēties vienu no šīm lokalizācijām.
 
-      Pirms pārvaldītas sesijas palaišanas lietotājs var izvēlēties lokalizāciju un tastatūras izkārtojumu. Pēc noklusējuma visas vietnes, kuras atbalsta <ph name="PRODUCT_OS_NAME" />, ir uzskaitītas alfabētiskā secībā. Šo politiku var izmantot, lai pārvietotu ieteikto lokalizāciju kopu uz saraksta augšdaļu.
+      Pirms pārvaldītās sesijas palaišanas lietotājs var izvēlēties lokalizāciju un tastatūras izkārtojumu. Pēc noklusējuma visas vietnes, kuras atbalsta <ph name="PRODUCT_OS_NAME" />, ir uzskaitītas alfabētiskā secībā. Šo politiku var izmantot, lai pārvietotu ieteikto lokalizāciju kopu uz saraksta augšdaļu.
 
       Ja šī politika nav iestatīta, iepriekš tiks atlasīta pašreizējā lietotāja saskarnes lokalizācija.
 
@@ -1592,8 +1596,8 @@
 
       Ja šai politikai ir iestatīta vērtība “False”, rīks Crostini lietotājam nav iespējots.
       Ja šī politika nav iestatīta vai tai ir iestatīta vērtība “True”, rīks Crostini lietotājam ir iespējots, ja vien to atļauj arī citi iestatījumi.
-      Visu trīs politiku, VirtualMachinesAllowed, CrostiniAllowed un DeviceUnaffiliatedCrostiniAllowed, kad tās ir attiecināmas, vērtībām ir jābūt “True”, lai rīka Crostini darbība būtu atļauta.
-      Nomainot šīs politikas vērtību uz “False”, tas attiecas uz jaunu rīka Crostini konteineru sākšanu, bet neaizver jau darbībā esošos konteinerus.</translation>
+      Visu trīs politiku (VirtualMachinesAllowed, CrostiniAllowed un DeviceUnaffiliatedCrostiniAllowed) vērtībām ir jābūt “True”, kad tās tiek piemērotas Crostini darbībai un lietošanai.
+      Nomainot šīs politikas vērtību uz “False”, tas attiecas uz jaunu rīka Crostini konteineru palaišanu, bet neaizver jau darbībā esošos konteinerus.</translation>
 <translation id="5283457834853986457">Atspējo spraudņu meklētāju (novecojis)</translation>
 <translation id="5288772341821359899">Ja politika ir iestatīta, WebRTC izmantotais UDP portu diapazons ir ierobežots līdz portu intervālam (tostarp galapunktiem).
 
@@ -1632,7 +1636,7 @@
 
           Ja šī politika nav iestatīta, tiks lietota politika AskNotifications un lietotājs to varēs mainīt.</translation>
 <translation id="538108065117008131">Atļauj produktam <ph name="PRODUCT_FRAME_NAME" /> apstrādāt tālāk minētos satura veidus.</translation>
-<translation id="5391388690191341203">Ierīces lokālais konts automātiskas pieteikšanās veikšanai</translation>
+<translation id="5391388690191341203">Automātiskās pieteikšanās ierīces lokālais konts</translation>
 <translation id="5392172595902933844">Informācija par Android statusu tiek nosūtīta atpakaļ uz
       serveri.
 
@@ -2335,8 +2339,8 @@
 <translation id="7232816984286843471">Ja šai politikai ir iestatīta vērtība “False”, nesaistīti lietotāji nevarēs izmantot rīku Crostini.
 
       Ja šī politika nav iestatīta vai tai ir iestatīta vērtība “True”, visi lietotāji varēs izmantot rīku Crostini, ciktāl tas ir saskaņā arī ar citiem iestatījumiem.
-      Visu trīs politiku, VirtualMachinesAllowed, CrostiniAllowed un DeviceUnaffiliatedCrostiniAllowed, kad tās ir attiecināmas, vērtībām ir jābūt “True”, lai atļautu rīka Crostini darbību.
-      Nomainot šīs politikas vērtību uz “False”, tas attiecas uz jaunu rīka Crostini konteineru sākšanu, bet neaizver jau darbībā esošos konteinerus.</translation>
+      Visu trīs politiku (VirtualMachinesAllowed, CrostiniAllowed un DeviceUnaffiliatedCrostiniAllowed) vērtībām ir jābūt “True”, kad tās tiek piemērotas Crostini darbībai un lietošanai.
+      Nomainot šīs politikas vērtību uz “False”, tas attiecas uz jaunu rīka Crostini konteineru palaišanu, bet neaizver jau darbībā esošos konteinerus.</translation>
 <translation id="7234280155140786597">Aizliegto vietējās ziņojumapmaiņas saimniekdatoru nosaukumi (vai “*”, lai norādītu visus)</translation>
 <translation id="7236775576470542603">Iestatiet noklusējuma veidu ekrāna lupai, kas ir iespējota pieteikšanās ekrānā.
 
@@ -2386,10 +2390,10 @@
       Ja šai politikai ir iestatīta vērtība “Nepatiesa”, lapā “Jauna cilne” netiek rādīti automātiski veidoti satura ieteikumi.</translation>
 <translation id="7313793931637495417">Šī politika nosaka, vai ziņot par versijas informāciju, piemēram, operētājsistēmas versiju, operētājsistēmas platformu, operētājsistēmas arhitektūru, <ph name="PRODUCT_NAME" /> versiju un <ph name="PRODUCT_NAME" /> kanālu.
 
-      Ja šī politika nav iestatīta vai tai ir iestatīta vērtība “True”, tiek apkopota versijas informācija.
+      Ja šī politika nav iestatīta vai tai ir iestatīta vērtība “True”, versijas informācija tiek apkopota.
       Ja šai politikai ir iestatīta vērtība ir “False”, versijas informācija netiek apkopota.
 
-      Šī politika ir spēkā tikai tad, ja ir iespējots paplašinājums <ph name="CHROME_REPORTING_EXTENSION_NAME" /> un mašīna ir reģistrēta pakalpojumā <ph name="MACHINE_LEVEL_USER_CLOUD_POLICY_ENROLLMENT_TOKEN_POLICY_NAME" />.</translation>
+      Šī politika ir spēkā tikai tad, ja ir iespējots paplašinājums <ph name="CHROME_REPORTING_EXTENSION_NAME" /> un ierīce ir reģistrēta pakalpojumā <ph name="MACHINE_LEVEL_USER_CLOUD_POLICY_ENROLLMENT_TOKEN_POLICY_NAME" />.</translation>
 <translation id="7323896582714668701">Papildu komandrindas parametri pārlūkprogrammai <ph name="PRODUCT_NAME" /></translation>
 <translation id="7326394567531622570">Darbojas līdzīgi politikai Wipe (vērtība 2), taču mēģina saglabāt pieteikšanās marķierus, tādējādi lietotājam nav jāpierakstās atkārtoti.</translation>
 <translation id="7329842439428490522">Tiek norādīts laika periods, kurā lietotājam ir jāveic kāda darbība, pretējā gadījumā ekrāns tiek izslēgts, ja ierīce darbojas ar akumulatora jaudu.
@@ -2422,12 +2426,12 @@
 <translation id="7349338075015720646">Saraksts ar vietnēm, kas tika instalētas neuzraudzīti (bez lietotāja mijiedarbības) un ko lietotājs nevar atinstalēt vai atspējot.
 
       Katrs politikas saraksta vienums ir objekts ar diviem elementiem: “url” un “launch_container”. Elementam “url” jābūt instalējamās tīmekļa lietotnes vietrādim URL, savukārt elementam “launch_container” — vai nu “window”, vai “tab”, kas nosaka veidu, kādā tīmekļa vietne tiks atvērta pēc tās instalēšanas. Izlaižot elementu “launch_container”, ja pārlūks Chrome uzskatīs, ka tā ir progresīvā tīmekļa lietotne, lietotne tiks palaista loga veidā, citādi — cilnes veidā.</translation>
-<translation id="735902178936442460">Šī politika nosaka, vai ziņot informāciju, kas var tikt izmantota iekārtu identificēšanai, piemēram, iekārtas nosaukumu un tīkla adreses.
+<translation id="735902178936442460">Šī politika nosaka, vai sniegt informāciju, kas var tikt izmantota iekārtu identificēšanai, piemēram, iekārtas nosaukums un tīkla adreses.
 
       Ja šī politika nav iestatīta vai tai ir iestatīta vērtība “True”, informācija, kas var tikt izmantota iekārtu identificēšanai, tiek apkopota.
       Ja šai politikai ir iestatīta vērtība “False”, informācija, kas var tikt izmantota iekārtu identificēšanai, netiek apkopota.
 
-      Šī politika ir spēkā tikai tad, ja ir iespējots paplašinājums <ph name="CHROME_REPORTING_EXTENSION_NAME" /> un mašīna ir reģistrēta pakalpojumā <ph name="MACHINE_LEVEL_USER_CLOUD_POLICY_ENROLLMENT_TOKEN_POLICY_NAME" />.</translation>
+      Šī politika ir spēkā tikai tad, ja ir iespējots paplašinājums <ph name="CHROME_REPORTING_EXTENSION_NAME" /> un ierīce ir reģistrēta pakalpojumā <ph name="MACHINE_LEVEL_USER_CLOUD_POLICY_ENROLLMENT_TOKEN_POLICY_NAME" />.</translation>
 <translation id="7367028210010532881">Kad lietotāji pāriet uz vietnēm, kas ir atzīmētas kā iespējami ļaunprātīgas, tiek rādīta funkcijas Droša pārlūkošana brīdinājuma lapa. Ja šis iestatījums ir iespējots, lietotāji nevar pāriet no brīdinājuma lapas uz ļaunprātīgo vietni.
 
       Ja šis iestatījums ir atspējots vai nav konfigurēts, lietotāji pēc brīdinājuma saņemšanas var pāriet uz vietni, kas atzīmēta kā nevēlama.
@@ -2685,7 +2689,7 @@
 
       Ja politikai ir iestatīta vērtība “True”, ierīcei ir atļauts palaist virtuālās mašīnas.
       Ja politikai ir iestatīta vērtība “False”, ierīcei nebūs atļauts palaist virtuālās mašīnas.
-      Visu trīs politiku, VirtualMachinesAllowed, CrostiniAllowed un DeviceUnaffiliatedCrostiniAllowed, kad tās ir attiecināmas, vērtībām ir jābūt “True”, lai rīka Crostini darbība būtu atļauta.
+      Visu trīs politiku (VirtualMachinesAllowed, CrostiniAllowed un DeviceUnaffiliatedCrostiniAllowed), vērtībām ir jābūt “True”, kad tās tiek piemērotas Crostini darbībai un lietošanai.
       Nomainot šīs politikas vērtību uz “False”, tas attiecas uz jaunu virtuālo mašīnu sākšanu, bet neaizver jau darbībā esošās virtuālās mašīnas.
       Ja šī politika nav iestatīta pārvaldītā ierīcē, ierīcei nav atļauts palaist virtuālās mašīnas.
       Nepārvaldītām ierīcēm ir atļauts palaist virtuālās mašīnas.</translation>
@@ -2736,14 +2740,14 @@
 <translation id="8138009212169037227">Šī politika nosaka, vai ziņot par politikas datiem un politikas ieneses laiku.
 
       Ja šī politika nav iestatīta vai tai ir iestatīta vērtība “True”, tiek apkopoti politikas dati un politikas ieneses laiks.
-      Ja šai politikai ir iestatīta vērtība “False”, politikas dati un politikas ieneses laiks netiek apkopoti.
+      Ja šai politikai ir iestatīta vērtība “False”, netiek apkopoti politikas dati un politikas ieneses laiks.
 
-      Šī politika ir spēkā tikai tad, ja ir iespējots paplašinājums <ph name="CHROME_REPORTING_EXTENSION_NAME" /> un mašīna ir reģistrēta pakalpojumā <ph name="MACHINE_LEVEL_USER_CLOUD_POLICY_ENROLLMENT_TOKEN_POLICY_NAME" />.</translation>
+      Šī politika ir spēkā tikai tad, ja ir iespējots paplašinājums <ph name="CHROME_REPORTING_EXTENSION_NAME" /> un ierīce ir reģistrēta pakalpojumā <ph name="MACHINE_LEVEL_USER_CLOUD_POLICY_ENROLLMENT_TOKEN_POLICY_NAME" />.</translation>
 <translation id="8140204717286305802">Nosūtiet serverim sarakstu ar tīkla saskarnēm, to veidiem un aparatūras adresēm.
 
       Ja šīs politikas iestatījums ir “False”, saskarņu saraksts netiks nosūtīts.</translation>
 <translation id="8141795997560411818">Šī politika neliedz lietotājam izmantot Android lietotni Google disks. Ja nevēlaties atļaut piekļuvi lietotnei Google disks, neatļaujiet arī instalēt Android lietotni Google disks.</translation>
-<translation id="8142894094385450823">Ieteikto lokalizāciju iestatīšana pārvaldītai sesijai</translation>
+<translation id="8142894094385450823">Pārvaldītās sesijas ieteikto lokalizāciju iestatīšana</translation>
 <translation id="8146727383888924340">Atļaut lietotājiem izpirkt piedāvājumus, izmantojot Chrome OS reģistrāciju</translation>
 <translation id="8148785525797916822">Aptur brīdinājuma rādīšanu, kad <ph name="PRODUCT_NAME" /> darbojas datorā vai operētājsistēmā, kura vairs netiek atbalstīta.</translation>
 <translation id="8148901634826284024">Iespējojiet augsta kontrasta pieejamības funkciju.
@@ -2791,20 +2795,20 @@
 Šie iestatījumi nav jākonfigurē manuāli. Ērti lietojamas veidnes operētājsistēmai Windows, Mac un Linux ir pieejamas lejupielādei vietnē <ph name="POLICY_TEMPLATE_DOWNLOAD_URL" />.
 
 Operētājsistēmā Windows politikas konfigurēšanai ieteicams izmantot GPO, taču Windows sistēmās, kas ir pievienotas <ph name="MS_AD_NAME" /> domēnam, politikas izvietošanai var izmantot arī reģistru.</translation>
-<translation id="8264653492961233132">Nosaka sarakstu ar lietotnēm un paplašinājumiem, kas tiek instalēti klusajā režīmā 
+<translation id="8264653492961233132">Norāda sarakstu ar lietotnēm un paplašinājumiem, kas tiek instalēti klusajā režīmā 
           bez lietotāja iejaukšanās un ko lietotājs nevar atinstalēt vai atspējot. 
           Visas lietotņu/paplašinājumu pieprasītās atļaujas, tostarp visas konkrētās 
           lietotnes/paplašinājuma turpmāko versiju pieprasītās papildu atļaujas, tiek            piešķirtas tieši bez lietotāja iejaukšanās.
           Turklāt atļaujas tiek piešķirtas paplašinājumu saskarnēm API 
           enterprise.deviceAttributes un enterprise.platformKeys. (Šīs divas saskarnes API nav pieejamas lietotnēm/paplašinājumiem, kas nav instalēti piespiedu kārtā.)
 
-          Šī politika ir svarīgāka par iespējami konfliktējošo politiku <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" />. Ja lietotne vai paplašinājums, kas iepriekš tika instalēts piespiedu kārtā, tiek noņemts no šī saraksta, to automātiski atinstalē <ph name="PRODUCT_NAME" />.
+          Šī politika ir prioritāra par iespējami konfliktējošo politiku <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" />. Ja lietotne vai paplašinājums, kas iepriekš tika instalēts piespiedu kārtā, tiek noņemts no šī saraksta, to automātiski atinstalē <ph name="PRODUCT_NAME" />.
 
           Windows datoros, kas nav pievienoti <ph name="MS_AD_NAME" /> domēnam, piespiedu instalēšana attiecas tikai uz lietotnēm un paplašinājumiem, kas norādīti Chrome interneta veikalā.
 
           Ņemiet vērā, ka jebkura paplašinājuma pirmkodu lietotāji var mainīt izstrādātāja rīkos (potenciāli atveidojot paplašinājumu kā nefunkcionējošu). Ja tas rada problēmas, ir jāiestata politika <ph name="DEVELOPER_TOOLS_POLICY_NAME" />.
 
-          Katrs politikas saraksta vienums ir virkne, kas ietver paplašinājuma ID un atjaunināšanas URL, kuri atdalīti ar semikolu (<ph name="SEMICOLON" />). Paplašinājuma ID ir 32 burtu virkne, kas ir redzama, piemēram, lapā <ph name="CHROME_EXTENSIONS_LINK" /> izstrādātāja režīmā. Atjaunināšanas vietrādim URL (ja tas ir norādīts) ir jānovirza uz atjauninājuma manifesta XML dokumentu, kā norādīts šeit: <ph name="LINK_TO_EXTENSION_DOC1" />. Pēc noklusējuma tiek izmantots Chrome interneta veikala atjaunināšanas URL (šobrīd: "https://clients2.google.com/service/update2/crx"). Ņemiet vērā, ka šajā politikā iestatītais atjaunināšanas URL tiek izmantots tikai sākotnējai instalācijai; nākamajiem paplašinājuma atjauninājumiem tiek izmantots paplašinājuma manifestā norādītais atjaunināšanas URL. Ņemiet vērā, ka atjaunināšanas URL tieša norādīšana bija obligāta visās <ph name="PRODUCT_NAME" /> versijās, kas ir vecākas par versiju 67 (ieskaitot).
+          Katrs politikas saraksta vienums ir virkne, kas ietver paplašinājuma ID un pēc vēlēšanās atjaunināšanas URL, kuri atdalīti ar semikolu (<ph name="SEMICOLON" />). Paplašinājuma ID ir 32 burtu virkne, kas ir, piemēram, redzama lapā <ph name="CHROME_EXTENSIONS_LINK" /> izstrādātāja režīmā. Atjaunināšanas vietrādim URL (ja tas ir norādīts) ir jānovirza uz atjauninājuma manifesta XML dokumentu, kā norādīts šeit: <ph name="LINK_TO_EXTENSION_DOC1" />. Pēc noklusējuma tiek izmantots Chrome interneta veikala atjaunināšanas URL (šobrīd: "https://clients2.google.com/service/update2/crx"). Ņemiet vērā, ka šajā politikā iestatītais atjaunināšanas URL tiek izmantots tikai sākotnējai instalācijai; nākamajiem paplašinājuma atjauninājumiem tiek izmantots paplašinājuma manifestā norādītais atjaunināšanas URL. Ņemiet vērā, ka atjaunināšanas URL tieša norādīšana bija obligāta visās <ph name="PRODUCT_NAME" /> versijās, kas ir vecākas par versiju 67 (ieskaitot).
 
           Piemēram, <ph name="EXTENSION_POLICY_EXAMPLE" /> instalē lietotni <ph name="EXTENSION_POLICY_EXAMPLE_EXTENSION_NAME" /> izmantojot Chrome interneta veikala standarta atjaunināšanas URL. Plašāku informāciju par paplašinājumu mitināšanu skatiet šeit: <ph name="LINK_TO_EXTENSION_DOC2" />.
 
@@ -2861,6 +2865,25 @@
 <translation id="8465065632133292531">Parametri dinamiskās meklēšanas vietrādim URL, kurā izmantota metode POST</translation>
 <translation id="847472800012384958">Neļaut nevienai vietnei rādīt uznirstošos logus</translation>
 <translation id="8477885780684655676">TLS 1.0</translation>
+<translation id="8483004350080020634">Noņem no vietrāžiem URL protokola https:// daļas, kurās ietverta neizpaužama konfidencialitātes un drošības informācija, pirms to nodošanas PAC (Proxy Auto Config — starpniekservera automātiskā konfigurēšana) skriptiem, ko izmanto <ph name="PRODUCT_NAME" /> starpniekservera atrisināšanas laikā.
+
+      Ja šai politikai ir iestatīta vērtība “True”, drošības funkcija ir iespējota un protokola https://
+      daļas ir noņemtas no vietrāžiem URL pirms to nodošanas PAC skriptam. Tādējādi PAC
+      skripts nevar skatīt datus, ko parasti aizsargā
+      šifrēts kanāls (piemēram, URL ceļu un vaicājumu).
+
+      Ja šai politikai ir iestatīta vērtība “False”, drošības funkcija ir atspējota un PAC skriptiem
+      ir tieši piešķirta iespēja skatīt visus protokola https:// komponentus
+      vietrādī URL. Šis iestatījums attiecas uz visiem PAC skriptiem neatkarīgi no to izcelsmes (ieskaitot
+      skriptus, kas izgūti, izmantojot nedrošu pārsūtīšanu, vai atklāti nedrošā veidā,
+      izmantojot WPAD).
+
+      Šīs politikas noklusējuma iestatījums ir “True” (iespējota drošības funkcija).
+
+      Ieteicams izmantot iestatījumu “True”. Vienīgais iemesls, lai izmantotu iestatījumu
+      “False”, ir saderības problēma ar esošajiem PAC skriptiem.
+
+      Šī politika tiks noņemta M75.</translation>
 <translation id="8484458986062090479">Tiek pielāgots URL šablonu saraksts, kas vienmēr jārenderē saimniekdatora pārlūkam.
 
           Ja šī politika nav iestatīta, visām vietnēm tiks izmantots politikā ChromeFrameRendererSettings norādītais noklusējuma renderētājs.
diff --git a/components/policy/resources/policy_templates_ml.xtb b/components/policy/resources/policy_templates_ml.xtb
index 9a3be99..bcb4ede 100644
--- a/components/policy/resources/policy_templates_ml.xtb
+++ b/components/policy/resources/policy_templates_ml.xtb
@@ -137,6 +137,7 @@
 
       ശ്രദ്ധിക്കുക: ഈ നയം Android-ൽ ബാധകമല്ല. Android-ൽ IsolateOrigins പ്രവർത്തനക്ഷമമാക്കാൻ, IsolateOriginsAndroid നയ ക്രമീകരണം ഉപയോഗിക്കുക.
       </translation>
+<translation id="1377024960658062022">നയം ഇന്‍‌സ്‌റ്റാള്‍ ചെയ്‌ത വിപുലീകരണങ്ങളിലേക്ക് ഹാര്‍ഡ്‌വെയര്‍ പ്ലാറ്റ്‌ഫോം API പ്രവര്‍ത്തനക്ഷമമാക്കുന്നു</translation>
 <translation id="1384459581748403878">റെഫറൻസ്: <ph name="REFERENCE_URL" /></translation>
 <translation id="1387596372902085462">Symantec Corporation-ന്റെ Legacy PKI Infrastructure-ൽ വിശ്വാസ്യത അർപ്പിക്കണോ</translation>
 <translation id="1393485621820363363">പ്രവർത്തനക്ഷമമാക്കിയ എന്‍റർപ്രൈസ് ഉപകരണ പ്രിന്ററുകൾ</translation>
@@ -514,6 +515,9 @@
 <translation id="2201555246697292490">നേറ്റീവ് സന്ദേശമയയ്‌ക്കൽ വൈറ്റ്‌ലിസ്റ്റ് കോൺഫിഗർ ചെയ്യുക</translation>
 <translation id="2204753382813641270">ഷെൽഫ് യാന്ത്രിക മറയ്‌ക്കൽ നിയന്ത്രിക്കുക</translation>
 <translation id="2208976000652006649">POST ഉപയോഗിക്കുന്ന തിരയൽ URL-നായുള്ള പാരാമീറ്ററുകൾ</translation>
+<translation id="2214880135980649323">ഈ നയം പ്രവർത്തനക്ഷമമായി സജ്ജീകരിച്ചിരിക്കുമ്പോള്‍, എന്റർപ്രൈസ് നയം മുഖേന ഇന്‍‌സ്‌റ്റാള്‍ ചെയ്‌ത വിപുലീകരണങ്ങള്‍ക്ക് എന്റര്‍പ്രൈസ് ഹാര്‍ഡ്‌വെയര്‍ പ്ലാറ്റ്‌ഫോം API ഉപയോഗിക്കാന്‍ അനുമതി ഉണ്ടായിരിക്കും.
+      ഈ നയം പ്രവര്‍ത്തനരഹിതമായി സജ്ജീകരിച്ചിരിക്കുമ്പോള്‍ അല്ലെങ്കിൽ സജ്ജീകരിക്കാതിരിക്കുമ്പോൾ, വിപുലീകരണങ്ങള്‍ക്കൊന്നും എന്റര്‍പ്രൈസ് ഹാര്‍ഡ്‌വെയര്‍ പ്ലാറ്റ്‌ഫോം API ഉപയോഗിക്കാന്‍ അനുമതി ഉണ്ടായിരിക്കില്ല.
+      Hangout സേവന വിപുലീകരണം പോലെയുള്ള ഘടക വിപുലീകരണങ്ങള്‍ക്കും ഈ നയം ബാധകമാണ്‌.</translation>
 <translation id="2223598546285729819">സ്ഥിരസ്ഥിതി നോട്ടിഫിക്കേഷന്‍ ക്രമീകരണം</translation>
 <translation id="2231817271680715693">ആദ്യ റൺ ചെയ്യലിൽ തന്നെ ഡിഫോൾട്ട് ബ്രൗസറിൽ നിന്നുള്ള ബ്രൗസിംഗ് ചരിത്രം ഇംപോർട്ട് ചെയ്യുക</translation>
 <translation id="2236488539271255289">പ്രാദേശിക ഡാറ്റ ക്രമീകരിക്കാന്‍ ഒരു സൈറ്റിനെയും അനുവദിക്കരുത്</translation>
@@ -1779,7 +1783,7 @@
 <translation id="5272684451155669299">ശരി എന്നാണെങ്കിൽ, <ph name="CHALLENGE_USER_KEY_FUNCTION" /> ഉപയോഗിച്ച് <ph name="ENTERPRISE_PLATFORM_KEYS_API" /> വഴി Chrome ഉപകരണങ്ങളുടെ ഐഡന്റിറ്റി, സ്വകാര്യത CA എന്നതിലേക്ക് വിദൂര അറ്റസ്‌റ്റ് ചെയ്യുന്നതിന്‌ ഉപയോക്താക്കൾക്ക് Chrome ഉപകരണങ്ങളിലെ ഹാർഡ്‌വെയർ ഉപയോഗിക്കാനാകും.
 
           ഇത് തെറ്റ് എന്ന് സജ്ജമാക്കുകയോ സജ്ജമാക്കാതിരിക്കുകയോ ആണെങ്കിൽ, ഒരു പിശക് കോഡ് നൽകി API-യിലേക്കുള്ള കോളുകൾ പരാജയപ്പെടും.</translation>
-<translation id="5277806246014825877">Crostini റണ്‍ ചെയ്യാൻ ഈ ഉപയോക്താവിനെ പ്രാപ്‌തമാക്കുക.
+<translation id="5277806246014825877">Crostini റണ്‍ ചെയ്യാൻ ഈ ഉപയോക്താവിനെ പ്രവർത്തനക്ഷമമാക്കുക.
 
       നയം 'തെറ്റ്' എന്ന് സജ്ജീകരിച്ചാൽ, ഉപയോക്താവിനായി Crostini പ്രവർത്തനക്ഷമമാകില്ല.
       'ശരി' എന്ന് സജ്ജീകരിക്കുകയോ സജ്ജീകരിക്കാതിരിക്കുകയോ ചെയ്‌താൽ, മറ്റ് ക്രമീകരണവും അനുവദിക്കുന്നതുവരെയും ഉപയോക്താവിനായി Crostini പ്രവർത്തനക്ഷമമാകുന്നു.
@@ -2163,7 +2167,7 @@
 
           ഈ നയം സജ്ജമാക്കാതെ വിട്ടിരിക്കുകയാണെങ്കിൽ, എല്ലാ സൈറ്റുകൾക്കും വേണ്ടി, ആഗോള സ്ഥിര മൂല്യം ഉപയോഗിക്കപ്പെടും;  'DefaultPluginsSetting' നയം സജ്ജീകരിച്ചിട്ടുണ്ടെങ്കിൽ അതിൽ നിന്നോ, സജ്ജീകരിച്ചിട്ടില്ലെങ്കിൽ, ഉപയോക്താവിന്റെ വ്യക്തിഗത കോൺഫിഗറേഷനിൽ നിന്നോ ഉള്ള മൂല്യമാണ് ഉപയോഗിക്കപ്പെടുക.</translation>
 <translation id="6190022522129724693">പോപ്പപ്പുകള്‍ക്കായുള്ള സ്ഥിരസ്ഥിതി ക്രമീകരണം</translation>
-<translation id="6190367314942602985">ഉപയോക്താവിനെക്കുറിച്ചുള്ള തിരിച്ചറിയൽ വിവരങ്ങൾ റിപ്പോർട്ട് ചെയ്യുക</translation>
+<translation id="6190367314942602985">ഉപയോക്താവിന്റെ തിരിച്ചറിയൽ വിവരങ്ങൾ റിപ്പോർട്ട് ചെയ്യുക</translation>
 <translation id="6197453924249895891">വിപുലീകരണങ്ങളിലേക്ക് കോർപ്പറേറ്റ് കീകൾക്ക് ആക്‌സസ്സ് അനുവദിക്കുന്നു.
 
       മാനേജുചെയ്‌ത ഒരു അക്കൗണ്ടിലെ chrome.platformKeys API ഉപയോഗിച്ചാണ് കീകൾ സൃഷ്‌ടിച്ചതെങ്കിൽ അവയെ കോർപ്പറേറ്റ് ഉപയോഗത്തിനായി നിയുക്തമാക്കിയിരിക്കും. മറ്റേതെങ്കിലും രീതിയിൽ ഇമ്പോർട്ടുചെയ്‌തതോ സൃഷ്‌ടിച്ചതോ ആയ കീകളെ കോർപ്പറേറ്റ് ഉപയോഗത്തിനായി നിയുക്തമാക്കില്ല.
@@ -2173,7 +2177,7 @@
       കോർപ്പറേറ്റ് ഉപയോഗത്തിനായി നിയുക്തമാക്കിയ ഒരു കീ സ്ഥിരരീതിയിൽ ഒരു വിപുലീകരണത്തിന് ഉപയോഗിക്കാൻ കഴിയില്ല, അത് ആ വിപുലീകരണത്തിനായി allowCorporateKeyUsage എന്നത് "false" എന്ന് സജ്ജമാക്കുന്നതിന് തുല്യമാണ്.
 
       ഒരു വിപുലീകരണത്തിനായി allowCorporateKeyUsage 'true' എന്ന് സജ്ജമാക്കുകയാണെങ്കിൽ മാത്രം, അതിന് ആർബിട്രറി ഡാറ്റ സൈൻ ചെയ്യാൻ കോർപ്പറേറ്റ് ഉപയോഗത്തിനായി നീക്കിവച്ചിട്ടുള്ള ഏതൊരു പ്ലാറ്റ്‌ഫോം കീയും ഉപയോഗിക്കാം. അക്രമകാരികളിൽ നിന്ന് രക്ഷനേടാൻ, കീയിലേക്കുള്ള ആക്‌സസ്സ് സുരക്ഷിതമാക്കാൻ വിപുലീകരണം വിശ്വാസയോഗ്യമാണെങ്കിൽ മാത്രമേ ഈ അനുമതി അനുവദിക്കൂ.</translation>
-<translation id="6208896993204286313"><ph name="PRODUCT_NAME" /> നയത്തെക്കുറിച്ചുള്ള വിവരങ്ങൾ റിപ്പോർട്ട് ചെയ്യുക</translation>
+<translation id="6208896993204286313"><ph name="PRODUCT_NAME" /> നയവിവരങ്ങൾ റിപ്പോർട്ട് ചെയ്യുക</translation>
 <translation id="6210259502936598222">OS, <ph name="PRODUCT_NAME" /> പതിപ്പ് വിവരങ്ങൾ എന്നിവ റിപ്പോർട്ട് ചെയ്യുക</translation>
 <translation id="6211428344788340116">ഉപകരണ പ്രവർത്തന സമയങ്ങൾ റിപ്പോർട്ടുചെയ്യുക.
 
@@ -2192,7 +2196,7 @@
           നിങ്ങള്‍ ഈ ക്രമീകരണം പ്രാപ്‌തമാക്കിയിട്ടുണ്ടെങ്കിലും ഒരു മാനദണ്ഡമില്ലാത്ത ഒരു പോര്‍ട്ട് (അതായത്, 80 അല്ലെങ്കിൽ 443 ഒഴികെയുള്ള ഒരു പോർട്ട്) നൽകുന്നുവെങ്കിൽ, ജനറേറ്റുചെയ്‌ത Kerberos SPN-ല്‍ ഇത് ഉള്‍പ്പെടുത്തുന്നതാണ്.
 
          നിങ്ങള്‍ ഈ ക്രമീകരണം അപ്രാപ്‌തമാക്കിയിട്ടുണ്ടെങ്കിലോ സജ്ജീകരിച്ചിട്ടില്ലാത്ത നിലയിലാണെങ്കിലോ, ജനറേറ്റുചെയ്‌ത Kerberos SPN-ല്‍ ഒരു സാഹചര്യത്തിലും ഒരു പോര്‍ട്ട് ഉള്‍പ്പെടുത്തപ്പെടില്ല.</translation>
-<translation id="6261643884958898336">ഉപകരണത്തെക്കുറിച്ചുള്ള തിരിച്ചറിയൽ വിവരങ്ങൾ റിപ്പോർട്ട് ചെയ്യുക</translation>
+<translation id="6261643884958898336">ഉപകരണത്തിന്റെ  തിരിച്ചറിയൽ വിവരങ്ങൾ റിപ്പോർട്ട് ചെയ്യുക</translation>
 <translation id="6281043242780654992">നേറ്റീവ് സന്ദേശമയയ്‌ക്കലിനായുള്ള നയങ്ങൾ കോൺഫിഗർ ചെയ്യുന്നു. ബ്ലാക്ക്‌ലിസ്റ്റുചെയ്‌ത നേറ്റീവ് സന്ദേശമയയ്‌ക്കൽ ഹോസ്റ്റുകളെ വൈറ്റ്‌ലിസ്റ്റ് ചെയ്‌തിട്ടില്ലെങ്കിൽ അവ അനുവദനീയമല്ല.</translation>
 <translation id="6282799760374509080">ഓഡിയോ ക്യാപ്‌ചർ അനുവദിക്കുകയോ നിരസിക്കുകയോ ചെയ്യുക</translation>
 <translation id="6284362063448764300">TLS 1.1</translation>
@@ -3102,7 +3106,7 @@
 <translation id="8259592978873597235">ഈ നയം 'ശരി' എന്നതായി സജ്ജമാക്കുകയോ സജ്ജമാക്കാതിരിക്കുകയോ ചെയ്യുകയാണെങ്കിൽ, വീഡിയോ പ്ലേ ചെയ്യുമ്പോൾ ഉപയോക്താവ് നിഷ്‌ക്രിയമായിരിക്കുന്നതായി പരിഗണിക്കില്ല. ഇത് നിഷ്‌ക്രിയ കാലതാമസം, സ്‌ക്രീൻ തെളിച്ചം കുറയുന്നതിന്റെ കാലതാമസം, സ്‌ക്രീൻ ഓഫാകുന്നതിന്റെ കാലതാമസം, സ്‌ക്രീൻ ലോക്ക് ആകുന്നതിന്റെ കാലതാമസം എന്നിവയിലേക്കെത്തുന്നതും തത്തുല്യ പ്രവർത്തനങ്ങൾ നടക്കുന്നതും തടയുന്നു.
 
           ഈ നയം 'തെറ്റ്' എന്നതായി സജ്ജമാക്കുകയാണെങ്കിൽ, ഉപയോക്താവിനെ നിഷ്‌ക്രിയമായി പരിഗണിക്കുന്നത് വീഡിയോ പ്രവർത്തനം തടയില്ല.</translation>
-<translation id="8264653492961233132">ഉപയോക്താവിന്റെ ഇടപെടൽ ഇല്ലാതെ നിശബ്‌ദമായി ഇൻസ്‌റ്റാൾ ചെയ്‌ത ആപ്പുകളുടെയും വിപുലീകരണങ്ങളുടെയും ഒരു ലിസ്‌റ്റ് വ്യക്തമാക്കുന്നു, അവ ഉപയോക്താവിന് അൺഇൻസ്‌റ്റാൾ ചെയ്യാനോ പ്രവർത്തനരഹിതമാക്കാനോ കഴിയില്ല. ആപ്പുകളുടെ/വിപുലീകരണങ്ങളും ഭാവി പതിപ്പുകൾ അഭ്യർത്ഥിക്കുന്ന ഏതൊരു അധിക അനുമതികളും ഉൾപ്പെടെ, അവ അഭ്യർത്ഥിക്കുന്ന എല്ലാ അനുമതികളും ഉപയോക്താവുമായി ബന്ധപ്പെടാതെ തന്നെ  വ്യന്ഗ്യമായി അനുവദിക്കുന്നു. കൂടാതെ, enterprise.deviceAttributes, enterprise.platformKeys വിപുലീകരണ API-കൾക്കും അനുമതികൾ നൽകിയിരിക്കുന്നു. (നിർബന്ധിതമായി അല്ലാതെ ഇൻസ്‌റ്റാൾ ചെയ്‌ത ആപ്പുകൾ/വിപുലീകരണങ്ങൾ എന്നിവയിൽ ഈ രണ്ട് API-കളും ലഭ്യമല്ല.)
+<translation id="8264653492961233132">ഉപയോക്താവിന്റെ ഇടപെടൽ ഇല്ലാതെ നിശബ്‌ദമായി ഇൻസ്‌റ്റാൾ ചെയ്‌ത ആപ്പുകളുടെയും വിപുലീകരണങ്ങളുടെയും ഒരു ലിസ്‌റ്റ് വ്യക്തമാക്കുന്നു, അവ ഉപയോക്താവിന് അൺഇൻസ്‌റ്റാൾ ചെയ്യാനോ പ്രവർത്തനരഹിതമാക്കാനോ കഴിയില്ല. ആപ്പുകളുടെ/വിപുലീകരണങ്ങളും ഭാവി പതിപ്പുകൾ അഭ്യർത്ഥിക്കുന്ന ഏതൊരു അധിക അനുമതികളും ഉൾപ്പെടെ, അവ അഭ്യർത്ഥിക്കുന്ന എല്ലാ അനുമതികളും ഉപയോക്താവുമായി ബന്ധപ്പെടാതെ തന്നെ വ്യന്ഗ്യമായി അനുവദിക്കുന്നു. കൂടാതെ, enterprise.deviceAttributes, enterprise.platformKeys വിപുലീകരണ API-കൾക്കും അനുമതികൾ നൽകിയിരിക്കുന്നു. (നിർബന്ധിതമായി അല്ലാതെ ഇൻസ്‌റ്റാൾ ചെയ്‌ത ആപ്പുകൾ/വിപുലീകരണങ്ങൾ എന്നിവയിൽ ഈ രണ്ട് API-കളും ലഭ്യമല്ല.)
           
 ഈ നയത്തിന്, വൈരുദ്ധ്യമുണ്ടാകാൻ സാധ്യതയുള്ള <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" /> നയത്തേക്കാൾ പ്രാധാന്യമുണ്ട്. നേരത്തെ നിർബന്ധിതമായി ഇൻസ്‌റ്റാൾ ചെയ്‌ത ഒരു ആപ്പോ വിപുലീകരണമോ ഈ ലിസ്‌റ്റിൽ നിന്ന് നീക്കം ചെയ്‌താൽ, അതിനെ <ph name="PRODUCT_NAME" /> സ്വമേധയാ അൺഇൻസ്‌റ്റാൾ ചെയ്യും.
 
@@ -3175,6 +3179,17 @@
 <translation id="8465065632133292531">POST ഉപയോഗിക്കുന്ന തൽക്ഷണ URL-നായുള്ള പാരാമീറ്ററുകൾ</translation>
 <translation id="847472800012384958">പോപ്പപ്പുകള്‍ കാണിക്കാന്‍ ഒരു സൈറ്റിനേയും അനുവദിക്കരുത്</translation>
 <translation id="8477885780684655676">TLS 1.0</translation>
+<translation id="8483004350080020634">https:// URL-കളുടെ സ്വകാര്യതയെയും സുരക്ഷയെയും ബാധിക്കുന്ന രഹസ്യ ഭാഗങ്ങൾ, പ്രോക്‌സി റെസല്യൂഷൻ സമയത്ത് അവയെ PAC സ്‌ക്രിപ്റ്റുകളിലേക്ക് (പ്രോക്‌സി ഓട്ടോ കോൺഫിഗറേഷൻ) മാറ്റുന്നതിന് മുമ്പ് <ph name="PRODUCT_NAME" /> ഉപയോഗിച്ച് ഒഴിവാക്കുന്നു.
+
+      ശരിയാണെങ്കിൽ, സുരക്ഷാ ഫീച്ചർ പ്രവർത്തനക്ഷമമാക്കുകയും PAC സ്‌ക്രിപ്‌റ്റിലേക്ക് സമർപ്പിക്കുന്നതിന് മുമ്പ് https:// URL-കളെ ഒഴിവാക്കുകയും ചെയ്യും. ഈ പ്രവർത്തനരീതിയിൽ, എൻക്രിപ്‌റ്റ് ചെയ്‌ത ചാനൽ ഉപയോഗിച്ച് (URL-ന്റെ പാത്ത്, ചോദ്യം എന്നിവ പോലുള്ള) സാധാരണ രീതിയിൽ പരിരക്ഷിച്ചിട്ടുള്ള ഡാറ്റ കാണാൻ PAC സ്‌ക്രിപ്‌റ്റിന് കഴിയില്ല.
+      
+തെറ്റാണെങ്കിൽ, സുരക്ഷാ ഫീച്ചർ പ്രവർത്തനരഹിതമാക്കുകയും PAC സ്‌ക്രിപ്‌റ്റുകൾക്ക് ഒരു https:// URL-ന്റെ എല്ലാ ഘടകങ്ങളും കാണാനുള്ള പൂർണ്ണമായ അനുമതി നൽകുകയും ചെയ്യുന്നു. ഉറവിടം ഏതെന്ന് പരിഗണിക്കാതെ തന്നെ  (സുരക്ഷിതമല്ലാത്ത ട്രാൻസ്‌പോർട്ടിലൂടെ ലഭിച്ചതോ WPAD മുഖേന സുരക്ഷിതമല്ലാതെ കണ്ടെത്തിയവയോ ഉള്‍പ്പെടെ) എല്ലാ PAC സ്‌ക്രിപ്‌റ്റുകൾക്കും ഇത് ബാധകമാണ്.
+
+      ഇത് ഡിഫോൾട്ടായി ശരിയെന്ന് (സുരക്ഷാ ഫീച്ചർ പ്രവർത്തനക്ഷമമാക്കിയിട്ടുള്ളവയ്ക്ക്) സജ്ജമാക്കുന്നു.
+
+      ഇത് ശരി എന്ന് സജ്ജീകരിക്കാന്‍ ശുപാര്‍ശ ചെയ്യുന്നു. നിലവിലുള്ള PAC സ്‌ക്രിപ്‌റ്റുകളുമായി അനുയോജ്യതാ പ്രശ്‌നമുണ്ടാകുന്ന സാഹചര്യത്തിൽ മാത്രമേ ഇത് തെറ്റാണെന്ന് സജ്ജീകരിക്കുകയുള്ളൂ.
+
+      M75-ല്‍ ഈ നയം നീക്കം ചെയ്യും.</translation>
 <translation id="8484458986062090479">ഹോസ്റ്റ് ബ്രൗസർ എല്ലായ്‌പ്പോഴും റെൻഡർ ചെയ്യുന്ന URL പാറ്റേണുകളുടെ ലിസ്റ്റ് ഇഷ്‌ടാനുസൃതമാക്കുക.
 
           ഈ നയം സജ്ജീകരിച്ചിട്ടില്ലെങ്കിൽ, ഡിഫോൾട്ട് റെൻഡറർ 'ChromeFrameRendererSettings' നയ പ്രകാരം എല്ലാ സൈറ്റുകൾക്കായും ഉപയോഗിക്കും.
diff --git a/components/policy/resources/policy_templates_mr.xtb b/components/policy/resources/policy_templates_mr.xtb
index 8039218..22b65de 100644
--- a/components/policy/resources/policy_templates_mr.xtb
+++ b/components/policy/resources/policy_templates_mr.xtb
@@ -136,6 +136,7 @@
 
 टीप: हे धोरण Android ला लागू नाही. Android ला IsolateOrigins सुरू करण्यासाठी, IsolateOriginsAndroid धोरण सेटिंगचा वापर करा.
       </translation>
+<translation id="1377024960658062022">धोरण-इंस्टॉल केलेल्या एक्स्टेंशनवर हार्डवेअर प्लॅटफॉर्म API सुरु करते</translation>
 <translation id="1384459581748403878">संदर्भ: <ph name="REFERENCE_URL" /></translation>
 <translation id="1387596372902085462">Symantec Corporation च्या Legacy PKI Infrastructure वर विश्वास ठेवणे चालू करायचे की, नाही</translation>
 <translation id="1393485621820363363">एंटरप्राइझ डीव्हाइस प्रिंटर सुरू केले</translation>
@@ -505,6 +506,9 @@
 <translation id="2201555246697292490">मूळ संदेशन श्वेतसूची कॉन्फिगर करा</translation>
 <translation id="2204753382813641270">शेल्फ स्वयं-लपविणे नियंत्रित करा</translation>
 <translation id="2208976000652006649">POST वापरणार्‍या शोध URL साठी प्राचल</translation>
+<translation id="2214880135980649323">जेंव्हा हे धोरण सुरु केले वर सेट असते, तेव्हा एंटरप्राइझ धोरणाद्वारे इंस्टॉल केलेल्या एक्स्टेंशनना, एंटरप्राइझ हार्डवेअर प्लॅटफॉर्म API वापरण्याची परवानगी दिली जाते.
+      जेंव्हा हे धोरण बंद केलेले वर सेट असते किंवा सेट केलेले नसते, तेंव्हा कोणतीच एक्स्टेंशन एंटरप्राइझ हार्डवेअर प्लॅटफॉर्म API वापरू शकत नाहीत.
+      हे धोरण Hangout सेवा एक्स्टेंशनसारख्या घटक एक्स्टेंशनना देखील लागू आहे.</translation>
 <translation id="2223598546285729819">डीफॉल्ट सूचना सेटिंग</translation>
 <translation id="2231817271680715693">प्रथमच रन होत असल्यास डीफॉल्ट ब्राउझरमधून ब्राउझिंग इतिहास आयात करा</translation>
 <translation id="2236488539271255289">स्थानिक डेटा सेट करण्यासाठी कोणत्याही साइटला परवानगी देऊ नका</translation>
@@ -988,7 +992,7 @@
 
       आधीपासून निवडलेले कीबोर्ड लेआउट हे नेहमी आधीपासून निवडलेल्या भाषेशी जुळणारे सर्वाधिक लोकप्रिय लेआउट असेल.
 
-      हे धोरण फक्त शिफारस केलेले म्हणून सेट केले जाऊ शकते. तुम्ही या धोरणाचा वापर शिफारस केलेल्या लोकॅलंचा संच सर्वात वर हलवण्यासाठी करू शकता परंतु वापरकर्त्यांना त्यांच्या सेशनसाठी <ph name="PRODUCT_OS_NAME" /> मध्ये सपोर्ट असलेली कोणतीही लोकॅल निवडण्‍याची नेहमी अनुमती असते.
+      हे धोरण फक्त शिफारस केलेले म्हणून सेट केले जाऊ शकते. तुम्ही या धोरणाचा वापर शिफारस केलेल्या लोकॅलचा संच सर्वात वर हलवण्यासाठी करू शकता परंतु वापरकर्त्यांना त्यांच्या सेशनसाठी <ph name="PRODUCT_OS_NAME" /> मध्ये सपोर्ट असलेली कोणतीही लोकॅल निवडण्‍याची नेहमी अनुमती असते.
       </translation>
 <translation id="3381968327636295719">डीफॉल्टनुसार होस्ट ब्राउझर वापरा</translation>
 <translation id="3414260318408232239">हे धोरण कॉंफिगर केले नसल्यास <ph name="PRODUCT_NAME" /> एक किमान आवृत्ती म्हणजेच TLS 1.0 वापरते.
@@ -2248,7 +2252,7 @@
 
       हे धोरण सेट केल्यास, वापरकर्ता संवादाशिवाय लॉग इन स्क्रीनवर गेलेल्या कालावधीनंतर निर्दिष्ट सेशन आपोआप लॉग इन केले जाईल. डिव्हाइस स्थानिक खाते आधीपासून कॉन्फिगर केले जाणे आवश्यक आहे (|DeviceLocalAccounts| पाहा).
 
-      हे धोरण सेट न केल्यास, कोणतेही आपोआल लॉग इन नसेल.</translation>
+      हे धोरण सेट न केल्यास, कोणतेही आपोआप लॉग इन नसेल.</translation>
 <translation id="6353901068939575220">POST सह एक URL शोधताना वापरलेले प्राचल निर्दिष्ट करते. हे स्वल्पविरामाने-विभक्त केलेल्या नाव/मूल्य जोड्यांचे बनलेले असते. मूल्य हे टेम्पलेट प्राचल असल्यास, वरील उदाहरणातील {searchTerms} प्रमाणे, ते खर्‍या शोध संज्ञा डेटासह पुनर्स्थित केले जाईल.
 
           हे धोरण पर्यायी आहे. सेट केले नसल्यास, GET पद्धत वापरून शोध विनंती पाठविली जाईल.
@@ -3213,6 +3217,17 @@
 <translation id="8465065632133292531">POST वापरणार्‍या झटपट URL साठी प्राचल</translation>
 <translation id="847472800012384958">कोणत्याही साइटला पॉप-अप दर्शवण्याची परवानगी देऊ नका</translation>
 <translation id="8477885780684655676">TLS 1.0</translation>
+<translation id="8483004350080020634">प्रॉक्सी रीझोल्युशन दरम्यान <ph name="PRODUCT_NAME" /> नी वापरलेले https:// URL चे गोपनीय आणि सुरक्षा संवेदनशील भाग PAC स्क्रिप्टवर (प्रॉक्सी स्वयं कॉन्फिगरेशन) पास करण्यापूर्वी स्ट्रिप करते.
+
+सत्य असते तेव्हा, सुरक्षा वैशिष्‍ट्य सुरू केलेले असते आणि PAC स्क्रिप्टवर सबमिट करण्यापूर्वी https:// URL स्ट्रिप केलेल्या असतात. अशा पद्धतीने PAC स्क्रिप्ट सर्वसाधारण पद्धतीने एंक्रिप्ट केलेल्या चॅनेलने (URL चा पथ आणि क्वेरीसारख्या) संरक्षित केलेला डेटा पाहू शकत नाही.
+
+      असत्य असते तेव्हा, सुरक्षा वैशिष्ट्य अक्षम केलेले असते आणि PAC स्क्रिप्टना https:// URL चे सर्व घटक पाहण्याच्या क्षमतेस स्पष्टपणे मंजूरी दिली जाते. मूळ विचारात न घेता (असुरक्षित रहदारी वरून आणलेल्‍या किंवा WPAD मधून असुरक्षितपणे शोधलेल्यांसह) हे सर्व PAC स्क्रिप्टवर लागू होते.
+
+     हे सत्य वर डीफॉल्ट केले जाते (सुरक्षितता वैशिष्‍ट्य सक्षम केले).
+
+      हे सत्यवर सेट करण्याची शिफारस केली जाते. हे असत्यवर सेट केले जाण्याचे एकमेव कारण म्हणजे सद्य PAC स्क्रिप्टमध्ये यामुळे येणारी कंपॅटिबिलिटीची समस्या हे होय.
+
+      हे धोरण M75 मध्ये काढून टाकले जाईल.</translation>
 <translation id="8484458986062090479">होस्ट ब्राउझर कडून नेहमी प्रस्तुत केलेल्‍या URL नमुन्यांची सूची सानुकूल करा.
 
           हे धोरण सेट न केल्यास सर्व साइटसाठी 'ChromeFrameRendererSettings' धोरणाने निर्दिष्‍ट केल्यानुसार डीफॉल्ट प्रस्तुतकर्ता वापरण्‍यात येईल.         
diff --git a/components/policy/resources/policy_templates_ms.xtb b/components/policy/resources/policy_templates_ms.xtb
index 72f89ea..90a3f20 100644
--- a/components/policy/resources/policy_templates_ms.xtb
+++ b/components/policy/resources/policy_templates_ms.xtb
@@ -139,6 +139,7 @@
 
      NOTA: Dasar ini tidak terpakai pada Android. Untuk mendayakan IsolateOrigins pada Android, gunakan tetapan dasar IsolateOriginsAndroid.
       </translation>
+<translation id="1377024960658062022">Mendayakan API Platform Perkakasan ke sambungan yang dipasang dasar</translation>
 <translation id="1384459581748403878">Rujukan: <ph name="REFERENCE_URL" /></translation>
 <translation id="1387596372902085462">Sama ada hendak mendayakan kepercayaan dalam Infrastruktur PKI Lama Symantec Corporation</translation>
 <translation id="1393485621820363363">Pencetak peranti perusahaan didayakan</translation>
@@ -467,6 +468,9 @@
 <translation id="2201555246697292490">Konfigurasi senarai putih pemesejan natif</translation>
 <translation id="2204753382813641270">Kawal penyembunyian automatik rak</translation>
 <translation id="2208976000652006649">Parameter untuk URL carian yang menggunakan POST</translation>
+<translation id="2214880135980649323">Apabila dasar ini ditetapkan untuk didayakan, sambungan yang dipasang oleh dasar perusahaan dibenarkan menggunakan API Platform Perkakasan Perusahaan.
+      Apabila dasar ini ditetapkan untuk dilumpuhkan atau tidak ditetapkan, tiada sambungan yang dibenarkan menggunakan API Platform Perkakasan Perusahaan.
+      Dasar ini juga terpakai kepada sambungan komponen seperti sambungan Perkhidmatan Hangout.</translation>
 <translation id="2223598546285729819">Tetapan pemberitahuan lalai</translation>
 <translation id="2231817271680715693">Import sejarah penyemakan imbas daripada penyemak imbas lalai pada kali pertama menjalankannya</translation>
 <translation id="2236488539271255289">Jangan benarkan mana-mana tapak untuk menetapkan data setempat</translation>
@@ -2753,7 +2757,7 @@
 <translation id="8138009212169037227">Dasar ini mengawal sama ada hendak melaporkan data dasar dan masa pengambilan dasar.
 
       Apabila dasar ini dibiarkan tanpa ditetapkan atau ditetapkan kepada Benar, data dasar dan masa pengambilan dasar akan dikumpulkan.
-      Apabila dasar ini ditetapkan kepada Palsu, data dasar dan masa pengambilan data tidak akan dikumpulkan.
+      Apabila dasar ini ditetapkan kepada Palsu, data dasar dan masa pengambilan dasar tidak akan dikumpulkan.
 
       Dasar ini hanya dikuatkuasakan apabila <ph name="CHROME_REPORTING_EXTENSION_NAME" /> didayakan dan peranti didaftarkan dengan <ph name="MACHINE_LEVEL_USER_CLOUD_POLICY_ENROLLMENT_TOKEN_POLICY_NAME" />.</translation>
 <translation id="8140204717286305802">Laporkan senarai antara muka rangkaian bersama jenis dan alamat perkakasan ke pelayan.
@@ -2881,6 +2885,25 @@
 <translation id="8465065632133292531">Parameter untuk URL semerta yang menggunakan POST</translation>
 <translation id="847472800012384958">Jangan benarkan mana-mana tapak untuk menunjukkan pop muncul</translation>
 <translation id="8477885780684655676">TLS 1.0</translation>
+<translation id="8483004350080020634">Mengeluarkan bahagian privasi dan keselamatan URL https:// yang sensitif sebelum menyerahkannya kepada skrip PAC (Konfigurasi Automatik Proksi) yang digunakan oleh <ph name="PRODUCT_NAME" /> semasa peleraian proksi.
+
+      Apabila Benar, ciri keselamatan didayakan dan URL https://
+      dibuang sebelum menyerahkannya kepada skrip PAC. Dalam cara ini, skrip PAC
+      tidak dapat melihat data yang lazimnya dilindungi oleh
+      saluran yang disulitkan (seperti laluan dan pertanyaan URL).
+
+      Apabila Palsu, ciri keselamatan dilumpuhkan dan skrip PAC
+      secara tersirat diberikan keupayaan untuk melihat semua komponen
+      URL https://. Tindakan ini terpakai kepada semua skrip PAC tanpa mengambil kira asalnya
+      (termasuk skrip yang diambil melalui pengangkutan yang tidak selamat atau ditemui secara tidak selamat
+      menerusi WPAD).
+
+      Ciri ini ditetapkan kepada Benar secara lalai (ciri keselamatan didayakan).
+
+      Anda disyorkan supaya menetapkannya kepada Benar. Satu-satunya sebab untuk menetapkannya kepada
+      Palsu adalah jika ciri ini menyebabkan masalah keserasian dengan skrip PAC yang sedia ada.
+
+      Dasar ini akan dialih keluar dalam M75.</translation>
 <translation id="8484458986062090479">Sesuaikan senarai pola URL yang sentiasa harus dipaparkan oleh penyemak imbas hos.
 
           Jika dasar ini tidak ditetapkan, pemapar lalai akan digunakan untuk semua tapak seperti yang dinyatakan oleh dasar 'ChromeFrameRendererSettings'.
diff --git a/components/policy/resources/policy_templates_nl.xtb b/components/policy/resources/policy_templates_nl.xtb
index 03ded0f..61f5810 100644
--- a/components/policy/resources/policy_templates_nl.xtb
+++ b/components/policy/resources/policy_templates_nl.xtb
@@ -134,6 +134,7 @@
 
       OPMERKING: Dit beleid is niet van toepassing op Android. Als je IsolateOrigins wilt inschakelen op Android, gebruik je de beleidsinstelling IsolateOriginsAndroid.
       </translation>
+<translation id="1377024960658062022">Hiermee wordt de Hardware Platform-API ingeschakeld voor extensies die op basis van het beleid zijn geïnstalleerd</translation>
 <translation id="1384459581748403878">Referentie: <ph name="REFERENCE_URL" /></translation>
 <translation id="1387596372902085462">Of je vertrouwen wilt stellen in de Legacy PKI-infrastructuur van Symantec Corporation</translation>
 <translation id="1393485621820363363">Zakelijke apparaatprinters ingeschakeld</translation>
@@ -387,9 +388,9 @@
 
       Als er geen instelling voor dit beleid is opgegeven, staat dit gelijk aan het inschakelen van het beleid (zie de beschrijving hierboven).</translation>
 <translation id="2113068765175018713">Uptime van apparaat beperken door automatisch opnieuw op te starten</translation>
-<translation id="2116790137063002724">Met dit beleid wordt bepaald of er gegevens worden gerapporteerd die kunnen worden gebruikt om gebruikers te identificeren, zoals de OS-inloggegevens, de inloggegevens voor het <ph name="PRODUCT_NAME" />-profiel, de profielnaam voor <ph name="PRODUCT_NAME" />, het profielpad voor <ph name="PRODUCT_NAME" /> en het uitvoerbare pad voor <ph name="PRODUCT_NAME" />.
+<translation id="2116790137063002724">Met dit beleid wordt bepaald of informatie moet worden gerapporteerd die gebruikt kan worden om gebruikers te identificeren, zoals de OS-inloggegevens, de inloggegevens voor het <ph name="PRODUCT_NAME" />-profiel, de profielnaam voor <ph name="PRODUCT_NAME" />, het profielpad voor <ph name="PRODUCT_NAME" /> en het uitvoerbare pad voor <ph name="PRODUCT_NAME" />.
 
-      Als dit beleid niet is ingesteld of is ingesteld op 'true' (waar), worden er gegevens verzameld die kunnen worden gebruikt om gebruikers te identificeren.
+      Als dit beleid niet is ingesteld of op 'true' (waar) is ingesteld, worden er gegevens verzameld die kunnen worden gebruikt om gebruikers te identificeren.
       Als dit beleid is ingesteld op 'false' (onwaar), worden er geen gegevens verzameld die kunnen worden gebruikt om gebruikers te identificeren.
 
       Dit beleid is alleen van toepassing wanneer de <ph name="CHROME_REPORTING_EXTENSION_NAME" /> is ingeschakeld en de machine is ingeschreven met <ph name="MACHINE_LEVEL_USER_CLOUD_POLICY_ENROLLMENT_TOKEN_POLICY_NAME" />.</translation>
@@ -461,6 +462,9 @@
 <translation id="2201555246697292490">Witte lijst voor systeemeigen berichten configureren</translation>
 <translation id="2204753382813641270">Automatisch verbergen van archief beheren</translation>
 <translation id="2208976000652006649">Parameters voor zoek-URL die POST gebruikt</translation>
+<translation id="2214880135980649323">Wanneer dit beleid is ingeschakeld, mogen extensies die op basis van het bedrijfsbeleid zijn geïnstalleerd de Enterprise Hardware Platform-API gebruiken.
+      Wanneer dit beleid is uitgeschakeld of niet is ingesteld, mogen extensies de Enterprise Hardware Platform-API niet gebruiken.
+      Dit beleid is ook van toepassing op componentextensies zoals de Hangout Services-extensie.</translation>
 <translation id="2223598546285729819">Standaardinstelling voor meldingen</translation>
 <translation id="2231817271680715693">Browsegeschiedenis importeren uit standaardbrowser bij eerste uitvoering</translation>
 <translation id="2236488539271255289">Niet toestaan dat sites lokaal gegevens instellen</translation>
@@ -1152,7 +1156,7 @@
 
       Als dit beleid is ingesteld op 'false' (onwaar), worden op het inlogscherm van <ph name="PRODUCT_OS_NAME" /> geen bestaande gebruikers weergegeven. In dat geval wordt het normale inlogscherm (waar de gebruiker om een e-mailadres en wachtwoord of telefoonnummer wordt gevraagd) of het SAML-interstitial-scherm (indien ingeschakeld via het <ph name="LOGIN_AUTHENTICATION_BEHAVIOR_POLICY_NAME" />-beleid) weergegeven, tenzij er een beheerde sessie is ingesteld. Wanneer er een beheerde sessie is ingesteld, worden alleen de accounts voor de beheerde sessie weergegeven en kun je alleen een van deze accounts selecteren.
 
-      Dit beleid is niet van invloed op het feit of de lokale gebruikersgegevens door het apparaat worden bewaard of verwijderd.</translation>
+      Dit beleid heeft geen invloed op het bewaren of verwijderen van de lokale gebruikersgegevens door het apparaat.</translation>
 <translation id="4010738624545340900">Activering van dialoogvensters voor het selecteren van bestanden toestaan</translation>
 <translation id="4012737788880122133">Als dit is ingesteld op 'true' (waar), schakel je hiermee automatische updates uit.
 
@@ -1569,7 +1573,7 @@
 
       Als het beleid |DeviceLocalAccountAutoLoginId| niet is ingesteld, heeft dit beleid geen effect. Anders:
 
-      Als dit beleid is ingesteld, bepaalt het de tijdsduur zonder gebruikersactiviteit die moet verstrijken voordat er automatisch wordt ingelogd op het lokale account op het apparaat dat is opgegeven door het beleid |DeviceLocalAccountAutoLoginId|.
+      Als dit beleid wel is ingesteld, bepaalt het de tijdsduur zonder gebruikersactiviteit die moet verstrijken voordat er automatisch wordt ingelogd op het lokale account op het apparaat dat is opgegeven door het beleid |DeviceLocalAccountAutoLoginId|.
 
       Als dit beleid niet is ingesteld, wordt 0 milliseconden gebruikt als time-out.
 
@@ -2334,7 +2338,7 @@
 <translation id="723103540848640830">De minimumlengte van de pincode voor het vergrendelingsscherm instellen</translation>
 <translation id="7232816984286843471">Als het beleid is ingesteld op 'false' (onwaar), mogen niet-gelieerde gebruikers Crostini niet gebruiken.
 
-      Als het beleid niet is ingesteld of is ingesteld op 'true' (waar), mogen alle gebruikers Crostini gebruiken, op voorwaarde dat de andere instellingen dit ook toestaan.
+      Als het beleid niet is ingesteld of op 'true' (waar) is ingesteld, mogen alle gebruikers Crostini gebruiken, op voorwaarde dat de andere instellingen dit ook toestaan.
       Alle drie beleidsregels (VirtualMachinesAllowed, CrostiniAllowed en DeviceUnaffiliatedCrostiniAllowed) moeten voor Crostini zijn ingesteld op 'true' (waar) om Crostini te kunnen uitvoeren.
       Wanneer dit beleid wordt gewijzigd in 'false' (onwaar), is het beleid van toepassing op nieuwe Crostini-containers die worden gestart. Containers die al worden uitgevoerd, worden niet uitgeschakeld.</translation>
 <translation id="7234280155140786597">Namen van de verboden hosts voor systeemeigen berichten (of * voor alle)</translation>
@@ -2384,9 +2388,9 @@
 <translation id="7311458740754205918">Als dit beleid is ingesteld op 'waar' of niet is ingesteld, kunnen op de nieuwe tabbladpagina contentsuggesties worden weergegeven op basis van de browsegeschiedenis, interesses en locatie van de gebruiker.
 
       Als dit is ingesteld op 'onwaar', worden er geen automatisch gegenereerde contentsuggesties weergegeven op de nieuwe tabbladpagina.</translation>
-<translation id="7313793931637495417">Met dit beleid wordt bepaald of er versiegegevens worden gerapporteerd, zoals OS-versie, OS-platform, OS-architectuur, <ph name="PRODUCT_NAME" />-versie en <ph name="PRODUCT_NAME" />-kanaal.
+<translation id="7313793931637495417">Met dit beleid wordt bepaald of er versiegegevens moeten worden gerapporteerd, zoals OS-versie, OS-platform, OS-architectuur, <ph name="PRODUCT_NAME" />-versie en <ph name="PRODUCT_NAME" />-kanaal.
 
-      Als dit beleid niet is ingesteld of is ingesteld op 'true' (waar), worden er versiegegevens verzameld.
+      Als dit beleid niet is ingesteld of op 'true' (waar) is ingesteld, worden er versiegegevens verzameld.
       Als dit beleid is ingesteld op 'false' (onwaar), worden er geen versiegegevens verzameld.
 
       Dit beleid is alleen van toepassing wanneer de <ph name="CHROME_REPORTING_EXTENSION_NAME" /> is ingeschakeld en de machine is ingeschreven met <ph name="MACHINE_LEVEL_USER_CLOUD_POLICY_ENROLLMENT_TOKEN_POLICY_NAME" />.</translation>
@@ -2422,9 +2426,9 @@
 <translation id="7349338075015720646">Specificeert een lijst met web-apps die op de achtergrond worden geïnstalleerd zonder interactie van de gebruiker en die niet kunnen worden verwijderd of uitgeschakeld door de gebruiker.
 
       Elk lijstitem van het beleid is een tweeledig object, bestaande uit 'url' en 'launch_container'. 'url' moet de URL van de te installeren web-app zijn en 'launch_container' moet 'window' of 'tab' zijn om aan te duiden hoe de web-app na de installatie wordt geopend. Als 'launch_container' wordt weggelaten, wordt de app geopend in een venster indien Chrome de app als progressieve web-app beschouwt en op een tabblad indien de app niet als progressieve web-app wordt beschouwd.</translation>
-<translation id="735902178936442460">Met dit beleid wordt bepaald of er gegevens worden gerapporteerd die kunnen worden gebruikt om machines te identificeren, zoals de machinenaam en netwerkadressen.
+<translation id="735902178936442460">Met dit beleid wordt bepaald of er informatie moet worden gerapporteerd die gebruikt kan worden om machines te identificeren, zoals de machinenaam en netwerkadressen.
 
-      Als dit beleid niet is ingesteld of is ingesteld op 'true' (waar), worden er gegevens verzameld die kunnen worden gebruikt om machines te identificeren.
+      Als dit beleid niet is ingesteld of op 'true' (waar) is ingesteld, worden er gegevens verzameld die kunnen worden gebruikt om machines te identificeren.
       Als dit beleid is ingesteld op 'false' (onwaar), worden er geen gegevens verzameld die kunnen worden gebruik om machines te identificeren.
 
       Dit beleid is alleen van toepassing wanneer de <ph name="CHROME_REPORTING_EXTENSION_NAME" /> is ingeschakeld en de machine is ingeschreven met <ph name="MACHINE_LEVEL_USER_CLOUD_POLICY_ENROLLMENT_TOKEN_POLICY_NAME" />.</translation>
@@ -2730,7 +2734,7 @@
           De beleidswaarde moet worden opgegeven in milliseconden. Waarden moet lager zijn dan of gelijk zijn aan de inactieve vertraging.</translation>
 <translation id="8138009212169037227">Met dit beleid wordt bepaald of beleidsgegevens en het tijdstip van de beleidsfetch worden gerapporteerd.
 
-      Als dit beleid niet is ingesteld of is ingesteld op 'true' (waar), worden beleidsgegevens en het tijdstip van de beleidsfetch verzameld.
+      Als dit beleid niet is ingesteld of op 'true' (waar) is ingesteld, worden beleidsgegevens en het tijdstip van de beleidsfetch verzameld.
       Als dit beleid is ingesteld op 'false' (onwaar), worden beleidsgegevens en het tijdstip van de beleidsfetch niet verzameld.
 
       Dit beleid is alleen van toepassing wanneer de <ph name="CHROME_REPORTING_EXTENSION_NAME" /> is ingeschakeld en de machine is ingeschreven met <ph name="MACHINE_LEVEL_USER_CLOUD_POLICY_ENROLLMENT_TOKEN_POLICY_NAME" />.</translation>
@@ -2738,7 +2742,7 @@
 
       Als het beleid is ingesteld op 'onwaar' (false), wordt de interfacelijst niet gerapporteerd.</translation>
 <translation id="8141795997560411818">Met dit beleid wordt niet voorkomen dat gebruiker de Google Drive-app voor Android gebruikt. Als je de toegang tot Google Drive wilt blokkeren, moet je ook de installatie van de Google Drive-app voor Android blokkeren.</translation>
-<translation id="8142894094385450823">De aanbevolen landinstellingen instellen voor een beheerde sessie</translation>
+<translation id="8142894094385450823">Instellen van de aanbevolen landinstellingen voor een beheerde sessie</translation>
 <translation id="8146727383888924340">Gebruikers toestaan aanbiedingen in te wisselen via registratie van Chrome OS</translation>
 <translation id="8148785525797916822">Hiermee wordt de waarschuwing genegeerd die wordt weergegeven wanneer <ph name="PRODUCT_NAME" /> wordt uitgevoerd op een computer die of besturingssysteem dat niet meer wordt ondersteund.</translation>
 <translation id="8148901634826284024">De toegankelijkheidsfunctie Modus voor hoog contrast inschakelen.
@@ -2851,6 +2855,17 @@
 <translation id="8465065632133292531">Parameters voor instant-URL die POST gebruikt</translation>
 <translation id="847472800012384958">Niet toestaan dat sites pop-ups weergeven</translation>
 <translation id="8477885780684655676">TLS 1.0</translation>
+<translation id="8483004350080020634">Verwijdert privacy- en beveiligingsgerelateerde gedeelten van URL's met https:// voordat deze worden doorgegeven aan PAC-scripts (Proxy Auto Config) die tijdens proxyverwerking worden gebruikt door <ph name="PRODUCT_NAME" />.
+
+Als dit is ingesteld op 'True' (waar), wordt de beveiligingsfunctie ingeschakeld en worden deze gegevens verwijderd uit URL's met https:// voordat deze worden doorgegeven aan een PAC-script. Op deze manier kan het PAC-script geen gegevens bekijken die normaal worden beschermd door een versleuteld kanaal (zoals het pad of de query van de URL).
+
+Als dit is ingesteld op 'False' (onwaar), wordt de beveiligingsfunctie uitgeschakeld en krijgen PAC-scripts impliciet de mogelijkheid om alle componenten van de URL met https:// te bekijken. Dit is van toepassing op alle PAC-scripts, ongeacht hun herkomst (waaronder de scripts die worden opgehaald via een onbeveiligd transport of die onbeveiligd worden gevonden via WPAD).
+
+Deze functie staat standaard ingesteld op 'True' (waar) (beveiligingsfunctie ingeschakeld).
+
+Het wordt aanbevolen deze functie in te stellen op 'True' (waar). De enige reden om dit in te stellen op 'False' (onwaar), is als deze functie een compatibiliteitsprobleem veroorzaakt met bestaande PAC-scripts.
+
+Dit beleid wordt verwijderd in M75.</translation>
 <translation id="8484458986062090479">Hiermee kun je de lijst aanpassen van URL-patronen die altijd door de hostbrowser moeten worden verwerkt.
 
          Als dit beleid niet is ingesteld, wordt het standaard weergaveprogramma gebruikt voor alle sites die door het beleid 'ChromeFrameRendererSettings' zijn gespecificeerd.
diff --git a/components/policy/resources/policy_templates_pl.xtb b/components/policy/resources/policy_templates_pl.xtb
index 7371a36..6abb55f 100644
--- a/components/policy/resources/policy_templates_pl.xtb
+++ b/components/policy/resources/policy_templates_pl.xtb
@@ -136,6 +136,7 @@
 
       UWAGA: ta zasada nie jest stosowana na urządzeniach z Androidem. Aby włączyć funkcję IsolateOrigins w Androidzie, użyj ustawienia zasady IsolateOriginsAndroid.
       </translation>
+<translation id="1377024960658062022">Umożliwia rozszerzeniom zainstalowanym przez zasady dostęp do Hardware Platform API</translation>
 <translation id="1384459581748403878">Odniesienie: <ph name="REFERENCE_URL" /></translation>
 <translation id="1387596372902085462">Czy włączyć zaufanie w starszej infrastrukturze klucza publicznego Symantec Corporation</translation>
 <translation id="1393485621820363363">Włączone drukarki firmowe powiązane z urządzeniami</translation>
@@ -457,6 +458,9 @@
 <translation id="2201555246697292490">Skonfiguruj białą listę wiadomości natywnych</translation>
 <translation id="2204753382813641270">Steruj autoukrywaniem półki</translation>
 <translation id="2208976000652006649">Parametry dla adresów URL wyszukiwania używających POST</translation>
+<translation id="2214880135980649323">Jeśli ta zasada jest włączona, rozszerzenia zainstalowane przez zasady przedsiębiorstwa mogą korzystać z Enterprise Hardware Platform API.
+      Jeśli ta zasada jest wyłączona lub nie jest ustawiona, żadne rozszerzenia nie mogą korzystać z Enterprise Hardware Platform API.
+      Zasada ta obejmuje również rozszerzenia składników, np. rozszerzenie Hangout Services.</translation>
 <translation id="2223598546285729819">Domyślne ustawienie powiadomień</translation>
 <translation id="2231817271680715693">Importuj historię przeglądania z przeglądarki domyślnej przy pierwszym uruchomieniu</translation>
 <translation id="2236488539271255289">Nie zezwalaj żadnej witrynie na tworzenie danych lokalnych</translation>
@@ -873,7 +877,7 @@
           Zobacz również zasady „CookiesBlockedForUrls” i „CookiesSessionOnlyForUrls”. Uwaga: żadne wzorce URL używane w tych trzech zasadach nie mogą pozostawać w konflikcie – nie jest określona zasada, która będzie mieć pierwszeństwo.</translation>
 <translation id="3373364525435227558">Ustawia jeden lub więcej zalecanych języków na potrzeby sesji zarządzanej, spośród których użytkownicy mogą łatwo wybrać jeden język.
 
-      Użytkownik może wybrać język i układ klawiatury przed rozpoczęciem sesji zarządzanej. Domyślnie wszystkie języki obsługiwane w <ph name="PRODUCT_OS_NAME" /> są wymienione w kolejności alfabetycznej. Za pomocą tej zasady możesz przenieść zalecane języki na początek listy.
+      Użytkownik może wybrać język i układ klawiatury przed rozpoczęciem sesji zarządzanej. Domyślnie wszystkie języki obsługiwane w systemie <ph name="PRODUCT_OS_NAME" /> są wymienione w kolejności alfabetycznej. Za pomocą tej zasady możesz przenieść zalecane języki na początek listy.
 
       Jeśli ta zasada jest nieskonfigurowana, wstępnie wybrany będzie bieżący język interfejsu.
 
@@ -885,7 +889,7 @@
 
       Wstępnie wybranym układem klawiatury jest zawsze najpopularniejszy układ dla wstępnie wybranego języka.
 
-      Tę zasadę możesz ustawić tylko jako zalecaną. Za jej pomocą możesz przenieść zalecane języki na początek, ale użytkownicy zawsze mogą wybrać dla swojej sesji dowolny język obsługiwany w <ph name="PRODUCT_OS_NAME" />.
+      Tę zasadę możesz ustawić tylko jako zalecaną. Za jej pomocą możesz przenieść zalecane języki na początek, ale użytkownicy zawsze mogą wybrać dla swojej sesji dowolny język obsługiwany w systemie <ph name="PRODUCT_OS_NAME" />.
       </translation>
 <translation id="3381968327636295719">Używaj domyślnie przeglądarki hosta</translation>
 <translation id="3414260318408232239">Jeśli ta zasada nie jest skonfigurowana, <ph name="PRODUCT_NAME" /> korzysta z domyślnej najniższej wersji TLS, czyli 1.0.
@@ -2769,6 +2773,26 @@
 <translation id="8465065632133292531">Parametry dla URL-i dynamicznych używających POST</translation>
 <translation id="847472800012384958">Nie zezwalaj na pokazywanie wyskakujących okienek w żadnej witrynie</translation>
 <translation id="8477885780684655676">TLS 1.0</translation>
+<translation id="8483004350080020634">Wycina poufne pod względem prywatności i bezpieczeństwa fragmenty adresów URL https:// przed przekazaniem tych adresów do skryptów PAC (Proxy Auto Config), których <ph name="PRODUCT_NAME" /> używa podczas rozpoznawania serwerów proxy.
+
+      Jeśli ustawisz wartość prawda, funkcja zabezpieczeń zostanie włączona,
+      a fragmenty adresów URL https:// będą usuwane przed przekazaniem
+      tych adresów do skryptów PAC. W ten sposób skrypt PAC nie będzie
+      mógł odczytać danych, które są zwykle chronione przez
+      szyfrowany kanał (np. ścieżki lub zapytania adresu URL).
+
+      Jeśli ustawisz wartość fałsz, funkcja zabezpieczeń zostanie wyłączona,
+      a skrypty PAC będą domyślnie mogły odczytać wszystkie składniki
+      adresu URL https://. Dotyczy to wszystkich skryptów PAC bez względu
+      na ich pochodzenie (w tym te pobrane przez niezabezpieczony kanał
+      lub odkryte w niezabezpieczony sposób przez protokół WPAD).
+
+      Domyślne ustawienie to prawda (włączona funkcja zabezpieczeń).
+
+      Zaleca się ustawienie tej zasady na wartość prawda. Wartość fałsz należy ustawić
+      tylko wtedy, gdy występuje problem ze zgodnością z istniejącymi skryptami PAC.
+
+      Planujemy usunąć ten problem w M75.</translation>
 <translation id="8484458986062090479">Pozwala dostosować listę wzorców adresów URL stron, które przeglądarka hosta ma zawsze renderować.
 
           Jeśli nie ustawisz tej zasady, na wszystkich stronach działa domyślny mechanizm renderowania określony przez zasadę ChromeFrameRendererSettings.
diff --git a/components/policy/resources/policy_templates_pt-BR.xtb b/components/policy/resources/policy_templates_pt-BR.xtb
index 740eb9e..7a58820f 100644
--- a/components/policy/resources/policy_templates_pt-BR.xtb
+++ b/components/policy/resources/policy_templates_pt-BR.xtb
@@ -133,6 +133,7 @@
 
       OBSERVAÇÃO: esta política não se aplica ao Android. Para ativar IsolateOrigins no Android, use a configuração da política IsolateOriginsAndroid.
       </translation>
+<translation id="1377024960658062022">Ativa a API Hardware Platform para extensões instaladas pela política</translation>
 <translation id="1384459581748403878">Referência: <ph name="REFERENCE_URL" /></translation>
 <translation id="1387596372902085462">Se a confiança deve ou não ser ativada na Infraestrutura PKI de legado da Symantec Corporation</translation>
 <translation id="1393485621820363363">Impressoras empresariais ativadas</translation>
@@ -453,6 +454,9 @@
 <translation id="2201555246697292490">Configurar a lista de permissões de mensagens nativas</translation>
 <translation id="2204753382813641270">Controlar a ocultação automática da estante</translation>
 <translation id="2208976000652006649">Parâmetros para URL de pesquisa que usa POST</translation>
+<translation id="2214880135980649323">Quando esta política estiver definida como ativada, as extensões instaladas pela política da empresa poderão usar a API Enterprise Hardware Platform.
+      Quando esta política estiver definida como desativada ou não estiver definida, nenhuma extensão terá permissão para usar a API Enterprise Hardware Platform.
+      Esta política também se aplica a extensões de componentes, como a extensão Serviços do Hangout.</translation>
 <translation id="2223598546285729819">Configuração padrão de notificações</translation>
 <translation id="2231817271680715693">Importar histórico de navegação do navegador padrão na primeira execução</translation>
 <translation id="2236488539271255289">Não permitir que nenhum site defina dados locais</translation>
@@ -2756,6 +2760,25 @@
 <translation id="8465065632133292531">Parâmetros para URL de instantâneos que usa POST</translation>
 <translation id="847472800012384958">Não permite que nenhum site exiba pop-ups</translation>
 <translation id="8477885780684655676">TLS 1.0</translation>
+<translation id="8483004350080020634">Retira partes confidenciais de privacidade e segurança de URLs https:// antes de repassá-los para scripts de PAC (Config. automática de proxy) usados pelo <ph name="PRODUCT_NAME" /> durante a resolução de proxy.
+
+      Quando a política é definida como Verdadeira, o recurso de segurança é ativado, e os URLs https:// são
+      retirados antes de enviá-los para um script de PAC. Dessa forma, o script 
+      de PAC não pode ver os dados que geralmente são protegidos por um
+      canal criptografado (como o caminho e a consulta do URL).
+
+      Quando a política é definida como Falsa, o recurso de segurança é desativado,
+      e os scripts de PAC podem ver todos os componentes de um URL https://.
+      Essa configuração se aplica a todos os scripts de PAC, independentemente de origem
+      (incluindo aqueles adquiridos por um transporte não seguro ou descobertos de forma 
+      não segura por meio de WPAD).
+
+      O padrão é Verdadeira (recurso de segurança ativado).
+
+      Recomendamos que a política seja definida como Verdadeira. A única razão para defini-la como
+      Falsa é por ela causar um problema de compatibilidade com os scripts de PAC já existentes.
+
+      A política será removida em M75.</translation>
 <translation id="8484458986062090479">Personaliza a lista de padrões de URL que deve sempre ser processada pelo navegador do host.
 
           Se esta política não estiver definida, o renderizador padrão será usado para todos os sites, conforme especificado pela política "ChromeFrameRendererSettings".
diff --git a/components/policy/resources/policy_templates_pt-PT.xtb b/components/policy/resources/policy_templates_pt-PT.xtb
index 8216972f..daa6c92 100644
--- a/components/policy/resources/policy_templates_pt-PT.xtb
+++ b/components/policy/resources/policy_templates_pt-PT.xtb
@@ -142,6 +142,7 @@
 
       NOTA: esta política não é aplicável no Android. Para ativar IsolateOrigins no Android, utilize a definição da política IsolateOriginsAndroid.
       </translation>
+<translation id="1377024960658062022">Ativa a API Hardware Platform para as extensões instaladas por políticas</translation>
 <translation id="1384459581748403878">Referência: <ph name="REFERENCE_URL" /></translation>
 <translation id="1387596372902085462">Ativar ou não ativar confiança na Infraestrutura PKI antiga da Symantec Corporation.</translation>
 <translation id="1393485621820363363">Impressoras empresariais de dispositivos ativadas</translation>
@@ -469,6 +470,9 @@
 <translation id="2201555246697292490">Configurar a lista de autorizações de mensagens nativas</translation>
 <translation id="2204753382813641270">Controlar a ocultação automática da prateleira</translation>
 <translation id="2208976000652006649">Parâmetros do URL de pesquisa que utilize POST</translation>
+<translation id="2214880135980649323">Quando esta política está definida como ativada, as extensões instaladas por uma política empresarial têm autorização para utilizar a API Enterprise Hardware Platform.
+      Quando esta política está definida como desativada ou não está definida, nenhuma extensão tem autorização para utilizar a API Enterprise Hardware Platform.
+      Esta política também se aplica às extensões de componentes, tais como a extensão Serviços do Hangout.</translation>
 <translation id="2223598546285729819">Definição de notificação predefinida</translation>
 <translation id="2231817271680715693">Importar histórico de navegação a partir do navegador predefinido na primeira execução</translation>
 <translation id="2236488539271255289">Não permitir que os sites definam dados de local</translation>
@@ -2603,7 +2607,7 @@
 <translation id="7976157349247117979">Nome do destino do <ph name="PRODUCT_NAME" /></translation>
 <translation id="7980227303582973781">Sem restrições especiais</translation>
 <translation id="7985242821674907985"><ph name="PRODUCT_NAME" /></translation>
-<translation id="7992136759457836904">Permite-lhe controlar a execução de máquinas virtuais no SO Chrome.
+<translation id="7992136759457836904">Permite-lhe controlar a execução de máquinas virtuais no Chrome OS.
 
       Se a política estiver definida como verdadeira, o dispositivo pode executar máquinas virtuais.
       Se a política estiver definida como falsa, o dispositivo não pode executar máquinas virtuais.
@@ -2727,7 +2731,7 @@
 
           Em instâncias do Windows que não fazem parte de um domínio <ph name="MS_AD_NAME" />, a instalação forçada está limitada a aplicações e extensões apresentadas na Web Store do Chrome.
 
-          Tenha em atenção que o código-fonte de qualquer extensão pode ser alterado pelos utilizadores através das Ferramentas para programador (o que pode resultar no funcionamento incorreto da extensão). Se pretender evitar esta situação, defina a política <ph name="DEVELOPER_TOOLS_POLICY_NAME" />.
+          Tenha em atenção que o código-fonte de qualquer extensão pode ser alterado pelos utilizadores através das Ferramentas para programadores (o que pode resultar no funcionamento incorreto da extensão). Se pretender evitar esta situação, defina a política <ph name="DEVELOPER_TOOLS_POLICY_NAME" />.
 
           Cada item de lista da política é uma string que contém um ID de extensão e, opcionalmente, um URL de "atualização" separado por ponto e vírgula (<ph name="SEMICOLON" />). O ID da extensão é a string de 32 letras encontrada, por exemplo, em <ph name="CHROME_EXTENSIONS_LINK" /> no modo de programador. O URL de "atualização", se especificado, deve apontar para um documento XML de Atualização do manifesto conforme descrito em <ph name="LINK_TO_EXTENSION_DOC1" />. Por predefinição, utiliza-se o URL de atualização da Web Store do Chrome (que, atualmente, é "https://clients2.google.com/service/update2/crx"). Tenha em atenção que o URL de "atualização" definido nesta política apenas é utilizado para a instalação inicial e as atualizações subsequentes da extensão utilizam o URL de atualização indicado no manifesto da extensão. Tenha também em atenção que era obrigatório especificar explicitamente o URL de "atualização" até à versão 67 do <ph name="PRODUCT_NAME" />, inclusive.
 
@@ -2785,6 +2789,25 @@
 <translation id="8465065632133292531">Parâmetros do URL instantâneo que utilize POST</translation>
 <translation id="847472800012384958">Não permitir que os sites mostrem pop-ups</translation>
 <translation id="8477885780684655676">TLS 1.0</translation>
+<translation id="8483004350080020634">Remove as partes sensíveis de privacidade e de segurança de URLs https:// antes de os transmitir para scripts de PAC (Configuração automática do proxy) utilizados pelo <ph name="PRODUCT_NAME" /> durante a resolução de proxy.
+
+      Quando definida como Verdadeira, a funcionalidade de segurança está ativada e os URLs https:// são
+      removidos antes de serem enviados para um script de PAC. Desta forma, o script de PAC
+      não consegue ver dados normalmente protegidos por um
+      canal encriptado (como o caminho e a consulta do URL).
+
+      Quando definida como Falsa, a funcionalidade de segurança está desativada e é concedida,
+      implicitamente, aos scripts de PAC a capacidade de verem todos os componentes de um URL https://.
+      Isto aplica-se a todos os scripts de PAC, independentemente da origem (incluindo
+      os que são obtidos através de um transporte não protegido ou detetados
+      através de WPAD inseguro).
+
+      A predefinição é Verdadeira (funcionalidade de segurança ativada).
+
+      Recomenda-se que a política seja definida como Verdadeira. O único motivo para a definir como
+      Falsa é se provocar problemas de incompatibilidade com scripts de PAC existentes.
+
+      A política vai ser removida em M75.</translation>
 <translation id="8484458986062090479">Personaliza a lista de padrões de URL que devem ser sempre processados pelo navegador anfitrião.
 
           Se esta política não for definida, é utilizado o processador predefinido para todos os sites, conforme especificado pela política "ChromeFrameRendererSettings".
diff --git a/components/policy/resources/policy_templates_ro.xtb b/components/policy/resources/policy_templates_ro.xtb
index 3bcb920..3f29d9db 100644
--- a/components/policy/resources/policy_templates_ro.xtb
+++ b/components/policy/resources/policy_templates_ro.xtb
@@ -125,6 +125,7 @@
 
       NOTĂ: această politică nu se aplică pentru Android. Pentru a activa IsolateOrigins pe Android, folosește setarea politicii IsolateOriginsAndroid.
       </translation>
+<translation id="1377024960658062022">Activează API-ul platformei hardware pentru extensiile instalate prin politică</translation>
 <translation id="1384459581748403878">Referință: <ph name="REFERENCE_URL" /></translation>
 <translation id="1387596372902085462">Dacă se acordă încredere infrastructurii PKI vechi a Symantec Corporation</translation>
 <translation id="1393485621820363363">Imprimantele activate asociate dispozitivelor companiei</translation>
@@ -446,6 +447,9 @@
 <translation id="2201555246697292490">Configurați lista albă a mesageriei native</translation>
 <translation id="2204753382813641270">Controlați ascunderea automată a raftului</translation>
 <translation id="2208976000652006649">Parametrii pentru adresa URL a căutării care utilizează POST</translation>
+<translation id="2214880135980649323">Când această politică este activată, extensiile instalate prin politica de întreprindere au permisiunea de a folosi API-ul platformei hardware de întreprindere.
+      Când această politică este dezactivată sau nu este setată, nicio extensie nu poate folosi API-ul platformei hardware de întreprindere.
+      Această politică se aplică și extensiilor de componente, cum ar fi extensia de servicii Hangouts.</translation>
 <translation id="2223598546285729819">Setare prestabilită pentru notificări</translation>
 <translation id="2231817271680715693">Importați istoricul de navigare din browserul prestabilit, la prima rulare</translation>
 <translation id="2236488539271255289">Nu permite niciunui site să seteze date locale</translation>
@@ -1516,7 +1520,7 @@
 
       Dacă politica |DeviceLocalAccountAutoLoginId| nu este setată, această politică nu are niciun efect. În caz contrar:
 
-      Dacă această politică este setată, aceasta stabilește intervalul de inactivitate al utilizatorului care trebuie să treacă înainte de conectarea automată la contul local de pe dispozitiv indicat de politica |DeviceLocalAccountAutoLoginId|.
+      Dacă politica este setată, aceasta stabilește intervalul de inactivitate al utilizatorului care trebuie să treacă înainte de conectarea automată la contul local de pe dispozitiv indicat de politica |DeviceLocalAccountAutoLoginId|.
 
       Dacă politica nu este setată, timpul limită va fi de 0 milisecunde.
 
@@ -2764,6 +2768,24 @@
 <translation id="8465065632133292531">Parametrii pentru adresa URL a căutării instant care utilizează POST</translation>
 <translation id="847472800012384958">Nu permite niciunui site să afișeze ferestre pop-up</translation>
 <translation id="8477885780684655676">TLS 1.0</translation>
+<translation id="8483004350080020634">Elimină părțile sensibile legate de confidențialitate și de securitate din adresele URL https:// înainte să le trimită la scripturile PAC (Proxy Auto Config) folosite de <ph name="PRODUCT_NAME" /> în timpul rezolvării proxy-ului.
+
+      Când este activată, funcția de securitate este activată și adresele URL https:// sunt
+      eliminate înainte de a le trimite la un script PAC. Astfel, scriptul PAC
+      nu poate vedea datele protejate de obicei de un canal criptat
+      (cum ar fi calea și interogarea adresei URL).
+
+      Când este dezactivată, funcția de securitate este dezactivată, iar scripturile
+      PAC au permisiunea să vadă toate componentele unei adrese URL https://.
+      Această setare se aplică tuturor scripturilor PAC indiferent de originea lor
+      (inclusiv celor preluate printr-un transport nesigur sau descoperite
+      în mod nesigur prin WPAD).
+
+      Politica este activată în mod prestabilit (funcția de securitate este activată).
+
+      Se recomandă activarea acesteia. Singurul motiv de a o dezactiva este în cazul
+      în care apar probleme de compatibilitate cu scripturile PAC existente.
+      Politica va fi eliminată în M75.</translation>
 <translation id="8484458986062090479">Personalizează lista cu șabloane de adrese URL care trebuie să fie redate întotdeauna de browserul gazdă.
 
           Dacă această politică nu este configurată, va fi folosit programul de redare prestabilit pentru toate site-urile, așa cum este indicat în politica „ChromeFrameRendererSettings”.
diff --git a/components/policy/resources/policy_templates_ru.xtb b/components/policy/resources/policy_templates_ru.xtb
index d7df8bdf..a3d2fa04 100644
--- a/components/policy/resources/policy_templates_ru.xtb
+++ b/components/policy/resources/policy_templates_ru.xtb
@@ -131,6 +131,7 @@
 
 ПРИМЕЧАНИЕ. Для устройств Android следует использовать правило IsolateOriginsAndroid.
       </translation>
+<translation id="1377024960658062022">Включить Hardware Platform API для расширений, установленных в соответствии с правилами.</translation>
 <translation id="1384459581748403878">Источник: <ph name="REFERENCE_URL" /></translation>
 <translation id="1387596372902085462">Считать ли устаревшую инфраструктуру открытых ключей Symantec Corporation надежной</translation>
 <translation id="1393485621820363363">Принтеры, доступные на устройствах компании</translation>
@@ -439,6 +440,9 @@
 <translation id="2201555246697292490">Создание белого списка для хостов обмена сообщениями с оригинальными приложениями</translation>
 <translation id="2204753382813641270">Автоматическое скрытие панели загрузок</translation>
 <translation id="2208976000652006649">Параметры запросов POST к URL-адресу для поиска</translation>
+<translation id="2214880135980649323">Если правило включено, установленные в соответствии с корпоративным правилом расширения могут использовать Enterprise Hardware Platform API.
+      Если правило отключено или не настроено, всем расширениям запрещено использовать Enterprise Hardware Platform API.
+      Правило также применяется к расширениям компонентов, например Hangout Services.</translation>
 <translation id="2223598546285729819">Настройка уведомлений по умолчанию</translation>
 <translation id="2231817271680715693">Импорт истории просмотров из браузера, используемого по умолчанию, при первом запуске</translation>
 <translation id="2236488539271255289">Запретить сайтам сохранять данные на компьютер</translation>
@@ -2690,7 +2694,7 @@
           Обратите внимание, что инструменты разработчика позволяют пользователям изменять код расширений, что может приводить к сбоям. Чтобы избежать таких ситуаций, используйте правило <ph name="DEVELOPER_TOOLS_POLICY_NAME" />.
 
 
-          Каждый пункт правила представляет собой строку с идентификатором расширения и при желании URL обновления, разделенными точкой с запятой (<ph name="SEMICOLON" />). Идентификатор расширения представляет собой строку из 32 символов, которую можно найти, например, на странице <ph name="CHROME_EXTENSIONS_LINK" />, открыв ее в режиме разработчика. URL обновления (если присутствует) должен указывать на манифест обновления в формате XML, как описано на странице <ph name="LINK_TO_EXTENSION_DOC1" />. По умолчанию для обновления используется URL Интернет-магазина Chrome (или https://clients2.google.com/service/update2/crx). Обратите внимание, что установленный в правиле URL обновления используется только во время первоначальной установки. В дальнейшем применяется URL, указанный в манифесте расширения. Также учтите, что до версии 67 включительно в <ph name="PRODUCT_NAME" /> требовалось явно указывать URL обновления.
+          Каждый пункт правила представляет собой строку с идентификатором расширения и, при желании, URL обновления, разделенными точкой с запятой (<ph name="SEMICOLON" />). Идентификатор расширения представляет собой строку из 32 символов, которую можно найти, например, на странице <ph name="CHROME_EXTENSIONS_LINK" />, открыв ее в режиме разработчика. URL обновления (если присутствует) должен указывать на манифест обновления в формате XML, как описано на странице <ph name="LINK_TO_EXTENSION_DOC1" />. По умолчанию для обновления используется URL Интернет-магазина Chrome (или https://clients2.google.com/service/update2/crx). Обратите внимание, что установленный в правиле URL обновления используется только во время первоначальной установки. В дальнейшем применяется URL, указанный в манифесте расширения. Также учтите, что до версии 67 включительно в <ph name="PRODUCT_NAME" /> требовалось явно указывать URL обновления.
 
           Например, <ph name="EXTENSION_POLICY_EXAMPLE" /> устанавливает приложение "<ph name="EXTENSION_POLICY_EXAMPLE_EXTENSION_NAME" />" из Интернет-магазина Chrome по стандартному URL обновления. Подробнее о хостинге расширений: <ph name="LINK_TO_EXTENSION_DOC2" />.
 
@@ -2744,6 +2748,25 @@
 <translation id="8465065632133292531">Параметры для запросов POST к URL-адресу Живого поиска</translation>
 <translation id="847472800012384958">Блокировать всплывающие окна на всех сайтах</translation>
 <translation id="8477885780684655676">TLS 1.0</translation>
+<translation id="8483004350080020634">Правило убирает конфиденциальные данные из URL с протоколом https:// перед тем, как передавать их в скрипты автоконфигурации прокси-сервера (PAC), которые использует <ph name="PRODUCT_NAME" />.
+
+      Если выбрано значение True, функция обеспечения безопасности включена и URL с протоколом https:// сокращаются
+      перед передачей в PAC-скрипт. В результате
+      скрипту недоступны данные, которые обычно скрыты
+      в защищенных каналах (например, в путях и запросах).
+
+      Если выбрано значение False, функция обеспечения безопасности выключена
+      и любые компоненты URL с протоколом https://
+      потенциально доступны всем PAC-скриптам
+      (включая те, которые были получены
+      по протоколу WPAD или незащищенному каналу).
+
+      По умолчанию выбрано значение True (функция обеспечения безопасности включена).
+
+      Рекомендуем установить значение True. Выбирайте значение
+      False только при возникновении проблемы совместимости с существующими PAC-скриптами.
+
+      Правило будет удалено в обновлении M75.</translation>
 <translation id="8484458986062090479">Изменяет список шаблонов URL, которые должны обрабатываться основным браузером.
 
           Если это правило не настроено, для всех сайтов используется механизм обработки по умолчанию, заданный правилом ChromeFrameRendererSettings.
diff --git a/components/policy/resources/policy_templates_sk.xtb b/components/policy/resources/policy_templates_sk.xtb
index 4a503e7d..9312c3a3 100644
--- a/components/policy/resources/policy_templates_sk.xtb
+++ b/components/policy/resources/policy_templates_sk.xtb
@@ -120,6 +120,7 @@
 
       POZNÁMKA: Toto pravidlo neplatí pre Android. Ak chcete povoliť pravidlo IsolateOrigins v Androide, použite nastavenie pravidla IsolateOriginsAndroid.
       </translation>
+<translation id="1377024960658062022">Umožňuje rozšíreniam nainštalovaným pravidlom používať rozhranie Hardware Platform API</translation>
 <translation id="1384459581748403878">Referenčná stránka: <ph name="REFERENCE_URL" /></translation>
 <translation id="1387596372902085462">Určuje, či sa má dôverovať starej infraštruktúre PKI spoločnosti Symantec Corporation</translation>
 <translation id="1393485621820363363">Povolené podnikové tlačiarne zariadenia</translation>
@@ -439,6 +440,9 @@
 <translation id="2201555246697292490">Konfigurácia bielej listiny pre odosielanie natívnych správ</translation>
 <translation id="2204753382813641270">Ovládať automatické skrývanie poličky</translation>
 <translation id="2208976000652006649">Parametre pre webovú adresu vyhľadávania, ktorá používa metódu POST</translation>
+<translation id="2214880135980649323">Keď toto pravidlo povolíte, rozšírenia nainštalované podnikovým pravidlom budú môcť používať rozhranie Enterprise Hardware Platform API.
+      Keď ho zakážete alebo nenastavíte, rozhranie Enterprise Hardware Platform API nebudú môcť používať žiadne rozšírenia.
+      Toto pravidlo platí aj pre rozšírenia komponentov, ako je rozšírenie Hangout Services.</translation>
 <translation id="2223598546285729819">Predvolené nastavenie upozornení</translation>
 <translation id="2231817271680715693">Importovať históriu prehliadania z predvoleného prehliadača pri prvom spustení</translation>
 <translation id="2236488539271255289">Nepovoliť žiadnym stránkam nastaviť miestne údaje</translation>
@@ -2842,6 +2846,20 @@
 <translation id="8465065632133292531">Parametre pre webovú adresu okamžitého vyhľadávania, ktorá používa metódu POST</translation>
 <translation id="847472800012384958">Zakázať všetkým stránkam zobrazovať kontextové okná</translation>
 <translation id="8477885780684655676">TLS 1.0</translation>
+<translation id="8483004350080020634">Umožňuje odstrániť citlivé časti webových adries s predponou https:// týkajúce sa súkromia a zabezpečenia ešte predtým, ako sa odošlú do skriptov PAC (Proxy Auto Config) používaných prehliadačom <ph name="PRODUCT_NAME" /> počas vyvolania proxy servera.
+
+      Keď toto pravidlo nastavíte na hodnotu true, daná bezpečnostná funkcia bude povolená a časti webových adries s predponou https:// sa odstránia ešte predtým, ako budú odoslané do skriptov PAC. Takto nebude môcť skript PAC zobraziť dáta, ktoré sú štandardne chránené šifrovaným kanálom (ako sú napríklad cesta webovej adresy a dopyt).
+
+      Keď toto pravidlo nastavíte na hodnotu false, daná bezpečnostná funkcia bude zakázaná a skriptom PAC bude bezvýhradne povolené zobrazovať všetky časti webových adries s predponou https://. 
+Platí to pre všetky skripty PAC bez ohľadu na ich pôvod (vrátane tých, ktoré boli načítané cez nezabezpečený prenos alebo objavené nezabezpečeným spôsobom prostredníctvom protokolu WPAD).
+.
+
+      Predvolene je nastavená možnosť true (bezpečnostná funkcia je povolená).
+
+     Na hodnotu false ho nastavte iba vtedy, keď spôsobuje problém s kompatibilitou v prípade existujúcich skriptov PAC.
+.
+
+      Toto pravidlo bude odstránené vo verzii M75.</translation>
 <translation id="8484458986062090479">Prispôsobte si zoznam vzorov webových adries, ktoré by mali byť vždy vykresľované hostiteľským prehliadačom.
 
           Ak toto pravidlo nenastavíte, pre všetky webové stránky sa použije predvolený vykresľovací modul (ako je určené pravidlom „ChromeFrameRendererSettings“).
diff --git a/components/policy/resources/policy_templates_sl.xtb b/components/policy/resources/policy_templates_sl.xtb
index 6f51effa..e256414 100644
--- a/components/policy/resources/policy_templates_sl.xtb
+++ b/components/policy/resources/policy_templates_sl.xtb
@@ -137,6 +137,7 @@
 
       OPOMBA: ta pravilnik se ne uporablja za Android. Če želite IsolateOrigins omogočiti za Android, uporabite nastavitev pravilnika IsolateOriginsAndroid.
       </translation>
+<translation id="1377024960658062022">Omogoča API za okolja za strojno opremo za razširitve, nameščene s pravilnikom</translation>
 <translation id="1384459581748403878">Sklic: <ph name="REFERENCE_URL" /></translation>
 <translation id="1387596372902085462">Ali naj se omogoči zaupanje zastareli infrastrukturi PKI družbe Symantec Corporation</translation>
 <translation id="1393485621820363363">Omogočeni tiskalniki za naprave v podjetjih</translation>
@@ -465,6 +466,9 @@
 <translation id="2201555246697292490">Konfiguracija seznama dovoljenih za izvorno pošiljanje sporočil</translation>
 <translation id="2204753382813641270">Nadzor samodejnega skrivanja police</translation>
 <translation id="2208976000652006649">Parametri za iskalni URL, ki uporablja POST</translation>
+<translation id="2214880135980649323">Če je ta pravilnik omogočen, je razširitvam, nameščenim s pravilnikom podjetja, dovoljeno uporabljati API za okolja za strojno opremo za podjetja.
+      Če je ta pravilnik onemogočen ali ni nastavljen, nobeni razširitvi ni dovoljeno uporabljati API-ja za okolja za strojno opremo za podjetja.
+      Ta pravilnik se uporablja tudi za razširitve komponent, kot je razširitev Hangout Services.</translation>
 <translation id="2223598546285729819">Privzeta nastavitev obveščanja</translation>
 <translation id="2231817271680715693">Uvoz zgodovine brskanja privzetega brskalnika ob prvem zagonu</translation>
 <translation id="2236488539271255289">Nobenemu mestu ne dovoli nastavljanja lokalnih podatkov</translation>
@@ -2887,6 +2891,25 @@
 <translation id="8465065632133292531">Parametri za takojšnji URL, ki uporablja POST</translation>
 <translation id="847472800012384958">Nobenemu mestu ne dovoli prikaza pojavnih oken</translation>
 <translation id="8477885780684655676">TLS 1.0</translation>
+<translation id="8483004350080020634">Iz URL-jev s protokolom https:// odstrani občutljive dele glede zasebnosti in varnosti, preden jih posreduje skriptom PAC (samodejno konfiguriranje strežnika proxy), ki jih med razreševanjem strežnika proxy uporablja <ph name="PRODUCT_NAME" />.
+
+      Če je pravilnik omogočen, je varnostna funkcija omogočena, iz URL-jev s protokolom https://
+      pa se odstranijo deli, preden se pošljejo v skript PAC. Na ta način skriptu PAC
+      niso vidni podatki, ki so običajno zaščiteni s
+      šifriranim kanalom (kot sta pot in poizvedba URL-ja).
+
+      Če je pravilnik onemogočen, je varnostna funkcija onemogočena, skriptom PAC pa je
+      izrecno omogočen ogled vseh komponent URL-ja s protokolom https://.
+      To se uporabi za vse skripte PAC ne glede na izvor (vključno s tistimi,
+      ki so pridobljeni s prenosom, ki ni varen, ali odkriti z mehanizmom
+      WPAD na način, ki ni varen).
+
+      Pravilnik je privzeto omogočen (varnostna funkcija je omogočena).
+
+      Priporočamo, da pravilnik omogočite. Edini razlog za onemogočanje je,
+      če pravilnik povzroča težavo z združljivostjo z obstoječimi skripti PAC.
+
+      Pravilnik bo odstranjen v različici M75.</translation>
 <translation id="8484458986062090479">Prilagodi seznam vzorcev URL-jev, ki naj jih vedno upodobi gostiteljski brskalnik.
 
           Če ta pravilnik ni nastavljen, bo za vsa spletna mesta, določena s pravilnikom »ChromeFrameRendererSettings«, uporabljen privzeti upodabljalnik.
diff --git a/components/policy/resources/policy_templates_sr.xtb b/components/policy/resources/policy_templates_sr.xtb
index 448ead9..2aee80f 100644
--- a/components/policy/resources/policy_templates_sr.xtb
+++ b/components/policy/resources/policy_templates_sr.xtb
@@ -137,6 +137,7 @@
 
       НАПОМЕНА: Ове смернице се не примењују за Android. Да бисте омогућили IsolateOrigins на Android-у, употребите подешавање смерница IsolateOriginsAndroid.
       </translation>
+<translation id="1377024960658062022">Омогућава API за хардверску платформу за додатке инсталиране у складу са смерницама</translation>
 <translation id="1384459581748403878">Референца: <ph name="REFERENCE_URL" /></translation>
 <translation id="1387596372902085462">Одлучивање о поузданости застареле инфраструктуре јавног кључа корпорације Symantec</translation>
 <translation id="1393485621820363363">Омогућени штампачи за уређаје предузећа</translation>
@@ -464,6 +465,9 @@
 <translation id="2201555246697292490">Конфигурисање беле листе за изворну размену порука</translation>
 <translation id="2204753382813641270">Контрола аутоматског сакривања полице</translation>
 <translation id="2208976000652006649">Параметри за URL претраге који користи POST</translation>
+<translation id="2214880135980649323">Када су ове смернице омогућене, додаци који су инсталирани у складу са смерницама предузећа могу да користе API за хардверску платформу предузећа.
+      Када су ове смернице онемогућене или нису подешене, ниједном додатку није дозвољено да користи API за хардверску платформу предузећа.
+      Ове смернице се примењују и на додатке компоненти, попут додатка Hangout Services.</translation>
 <translation id="2223598546285729819">Подразумевано подешавање обавештења</translation>
 <translation id="2231817271680715693">Увоз историје прегледања из подразумеваног прегледача при првом покретању</translation>
 <translation id="2236488539271255289">Не дозволи ниједном сајту да подешава локалне податке</translation>
@@ -907,7 +911,7 @@
 
       Ако има више препоручених локалитета, претпостављамо да ће корисници желети да изаберу неки од њих. Видљиво ћемо вам понудити избор локалитета и распореда тастатуре када започињете сесију којом се управља. У супротном, претпостављамо да већина корисника жели да користи унапред изабрани локалитет. Тада вам нећемо тако видљиво понудити избор локалитета и распореда тастатуре када започињете сесију којом се управља.
 
-      Када подесите ове смернице и омогућите аутоматско пријављивање (погледајте смернице |DeviceLocalAccountAutoLoginId| and |DeviceLocalAccountAutoLoginDelay|), аутоматски започета сесија којом се управља ће користити први препоручени локалитет и најпопуларнији распоред тастатуре који одговара том локалитету.
+      Када подесите ове смернице и омогућите аутоматско пријављивање (погледајте смернице |DeviceLocalAccountAutoLoginId| и |DeviceLocalAccountAutoLoginDelay|), аутоматски започета сесија којом се управља ће користити први препоручени локалитет и најпопуларнији распоред тастатуре који одговара том локалитету.
 
       Унапред изабрани распоред тастатуре ће увек бити најпопуларнији распоред који одговара унапред изабраном локалитету.
 
@@ -1145,7 +1149,7 @@
       Ако подесите ове смернице на Тачно или их не подесите, корисници ће моћи да искоришћавају понуде преко регистрације за Chrome ОС.
 
       Ако подесите ове смернице на Нетачно, корисник неће моћи да искоришћава понуде.</translation>
-<translation id="4008507541867797979">Ако не подесите ове смернице на Тачно или их не конфигуришете, <ph name="PRODUCT_OS_NAME" /> ће приказивати постојеће кориснике на екрану за пријављивање и омогућава ће избор корисника.
+<translation id="4008507541867797979">Ако не подесите ове смернице на Тачно или их не конфигуришете, <ph name="PRODUCT_OS_NAME" /> ће приказивати постојеће кориснике на екрану за пријављивање и омогућаваће избор корисника.
 
       Ако подесите ове смернице на Нетачно, <ph name="PRODUCT_OS_NAME" /> неће приказивати постојеће кориснике на екрану за пријављивање. Приказиваће се уобичајени екран за пријављивање (са упитом за унос имејл адресе корисника и лозинке или телефона) или транзитивни екран SAML (ако је то омогућено смерницама <ph name="LOGIN_AUTHENTICATION_BEHAVIOR_POLICY_NAME" />), ако се не омогући сесија којом се управља. Када се конфигурише сесија којом се управља, приказиваће се само налози сесије којом се управља, од којих је могуће изабрати један.
 
@@ -1598,7 +1602,7 @@
 
       Ако подесите смернице на Нетачно, Crostini није омогућен за корисника.
       Ако их подесите на Тачно или их не подесите, Crostini је омогућен за корисника под условом да то дозвољавају друга подешавања.
-      Све три врсте смерница, VirtualMachinesAllowed, CrostiniAllowed и DeviceUnaffiliatedCrostiniAllowed треба да буду подешене на Тачно када траже да дозволу да се Crostini покреће.
+      Све три врсте смерница, VirtualMachinesAllowed, CrostiniAllowed и DeviceUnaffiliatedCrostiniAllowed треба да буду подешене на Тачно када траже дозволу да се Crostini покреће.
       Ако промените ове смернице на Нетачно, оне се примењују на покретање нових Crostini контејнера, али не искључују већ покренуте контејнере</translation>
 <translation id="5283457834853986457">Онемогућите проналазач додатних компонената (застарело)</translation>
 <translation id="5288772341821359899">Ако подесите ове смернице, опсег UDP портова које користи WebRTC се ограничава на одређен интервал портова (укључујући крајње тачке).
@@ -2337,7 +2341,7 @@
 <translation id="7232816984286843471">Ако подесите смернице на Нетачно, неповезаним корисницима неће бити дозвољено да користе Crostini.
 
       Ако не подесите смернице или их подесите на Тачно, свим корисницима ће бити дозвољено да користе Crostini, под условом да то дозвољавају друге смернице.
-      Све три врсте смерница, VirtualMachinesAllowed, CrostiniAllowed и DeviceUnaffiliatedCrostiniAllowed треба да буду подешене на Тачно када траже да дозволу да се Crostini покреће.
+      Све три врсте смерница, VirtualMachinesAllowed, CrostiniAllowed и DeviceUnaffiliatedCrostiniAllowed треба да буду подешене на Тачно када траже дозволу да се Crostini покреће.
       Ако промените ове смернице на Нетачно, оне се примењују на покретање нових Crostini контејнера, али не искључују већ покренуте контејнере.</translation>
 <translation id="7234280155140786597">Имена забрањених хостова за изворну размену порука (или * за све)</translation>
 <translation id="7236775576470542603">Подешавање подразумеваног типа лупе који је омогућен на екрану за пријављивање.
@@ -2692,7 +2696,7 @@
 
       Ако смернице подесите на Тачно, уређај може да покреће виртуелне машине.
       Ако смернице подесите на Нетачно, уређај не може да покреће виртуелне машине.
-      Све три врсте смерница, VirtualMachinesAllowed, CrostiniAllowed и DeviceUnaffiliatedCrostiniAllowed треба да буду подешене на Тачно када траже да дозволу да се Crostini покреће.
+      Све три врсте смерница, VirtualMachinesAllowed, CrostiniAllowed и DeviceUnaffiliatedCrostiniAllowed треба да буду подешене на Тачно када траже дозволу да се Crostini покреће.
       Ако промените подешавање смерница на Нетачно, оне се примењују на покретање нових виртуелних машина, али не искључују већ покренуте виртуелне машине.
       Ако не подесите ове смернице на уређају којим се управља, уређај не може да покреће виртуелне машине.
       Уређаји којима се не управља могу да покрећу виртуелне машине.</translation>
@@ -2828,7 +2832,7 @@
 
           Имајте на уму да корисници могу да измене изворни кôд било ког додатка помоћу Алатки за програмере (што може да угрози функционисање додатка). Ако то представља проблем, треба да подесите смернице <ph name="DEVELOPER_TOOLS_POLICY_NAME" />.
 
-          Свака ставка листе у оквиру смерница представља стринг који садржи ИД додатка и, опционално, URL „ажурирања“ који су раздвојени тачком и зарезом (<ph name="SEMICOLON" />). ИД додатка је стринг од 32 слова који се, на пример, налази на када је <ph name="CHROME_EXTENSIONS_LINK" /> у режиму програмера. URL „ажурирања“, ако је наведен, треба да води до XML документа Манифест за ажурирање, као што је то описано на <ph name="LINK_TO_EXTENSION_DOC1" />. Подразумевано се користи URL ажурирања Chrome веб-продавнице (тренутно је то „https://clients2.google.com/service/update2/crx“). Имајте на уму да се URL „ажурирања“ подешен у овим смерницама користи само за прву инсталацију. Накнадна ажурирања додатка користе URL ажурирања наведен у манифесту додатка. Имајте на уму и то да је експлицитно навођење URL-а „ажурирања“ било обавезно у <ph name="PRODUCT_NAME" />-у верзије 67 и старијим верзијама.
+          Свака ставка листе у оквиру смерница представља стринг који садржи ИД додатка и, опционално, URL „ажурирања“ који су раздвојени тачком и зарезом (<ph name="SEMICOLON" />). ИД додатка је стринг од 32 слова који се, на пример, налази на <ph name="CHROME_EXTENSIONS_LINK" /> у режиму програмера. URL „ажурирања“, ако је наведен, треба да води до XML документа Манифест за ажурирање, као што је то описано на <ph name="LINK_TO_EXTENSION_DOC1" />. Подразумевано се користи URL ажурирања Chrome веб-продавнице (тренутно је то „https://clients2.google.com/service/update2/crx“). Имајте на уму да се URL „ажурирања“ подешен у овим смерницама користи само за прву инсталацију. Накнадна ажурирања додатка користе URL ажурирања наведен у манифесту додатка. Имајте на уму и то да је експлицитно навођење URL-а „ажурирања“ било обавезно у <ph name="PRODUCT_NAME" />-у верзије 67 и старијим верзијама.
 
           На пример, <ph name="EXTENSION_POLICY_EXAMPLE" /> инсталира апликацију <ph name="EXTENSION_POLICY_EXAMPLE_EXTENSION_NAME" /> са стандардног URL-а „ажурирања“ Chrome веб-продавнице. Више информација о додацима за хостовање потражите на: <ph name="LINK_TO_EXTENSION_DOC2" />.
 
@@ -2885,6 +2889,26 @@
 <translation id="8465065632133292531">Параметри за URL инстант претраге који користи POST</translation>
 <translation id="847472800012384958">Не дозволи ниједном сајту да приказује искачуће прозоре</translation>
 <translation id="8477885780684655676">TLS 1.0</translation>
+<translation id="8483004350080020634">Уклања осетљиве делове у вези са приватношћу и безбедношћу из https:// URL-ова пре него што их проследи PAC скриптама (Proxy Auto Config – аутоматска конфигурација проксија) које <ph name="PRODUCT_NAME" /> користи током разрешавања проксија.
+
+      Када подесите ове смернице на Тачно, безбедносна функција је омогућена и делови https:// URL-ова
+      ће бити уклоњени пре него што се пошаљу PAC скрипти. На тај начин PAC
+      скрипта не може да прегледа податке који су обично заштићени
+      шифрованим каналом (попут путање URL-а и упита).
+
+      Када их подесите на Нетачно, безбедносна функција је онемогућена и PAC скриптама је 
+      имплицитно дозвољено да прегледају све компоненте https://
+      URL-а. Ово се примењује на све PAC скрипте, без обзира на порекло (укључујући
+      оне које су преузете небезбедним преносом или небезбедно откривене
+      преко WPAD-а).
+
+      Ове смернице су подразумевано подешене на Тачно (безбедносна функција је омогућена).
+
+      Препоручујемо вам да их подесите на Тачно. 
+Подесите их на Нетачно само ако узрокују проблем са компатибилношћу са постојећим PAC скриптама.
+.
+
+      Ове смернице ће бити уклоњено у верзији M75.</translation>
 <translation id="8484458986062090479">Прилагођавају листу URL образаца које прегледач хоста увек треба да приказује.
 
           Ако не подесите ове смернице, за све сајтове који су одређени смерницама „ChromeFrameRendererSettings“ користиће се подразумевана апликација за приказивање.
diff --git a/components/policy/resources/policy_templates_sv.xtb b/components/policy/resources/policy_templates_sv.xtb
index ba9f654..232682f 100644
--- a/components/policy/resources/policy_templates_sv.xtb
+++ b/components/policy/resources/policy_templates_sv.xtb
@@ -136,6 +136,7 @@
 
       OBS! Den här principen gäller inte Android. Om du vill aktivera IsolateOrigins på Android använder du principen IsolateOriginsAndroid.
       </translation>
+<translation id="1377024960658062022">Aktiverar Hardware Platform API för tillägg som installerats via en princip</translation>
 <translation id="1384459581748403878">Referens: <ph name="REFERENCE_URL" /></translation>
 <translation id="1387596372902085462">Om Symantec Corporations äldre PKI-infrastruktur ska vara betrodd eller inte</translation>
 <translation id="1393485621820363363">Aktiverade skrivare för företagsenheter</translation>
@@ -465,6 +466,9 @@
 <translation id="2201555246697292490">Konfigurera lista över tillåtna värdar för Native Messaging</translation>
 <translation id="2204753382813641270">Kontrollera hur hyllan döljs automatiskt</translation>
 <translation id="2208976000652006649">Parametrar för sökadress som använder POST</translation>
+<translation id="2214880135980649323">När principen har aktiverats tillåts tillägg som installerats via en företagsprincip att använda Enterprise Hardware Platform API.
+      När principen har inaktiverats eller lämnats utan inställning tillåts inga tillägg att använda Enterprise Hardware Platform API.
+      Principen gäller även för tilläggskomponenter som tillägget Hangout Services.</translation>
 <translation id="2223598546285729819">Standardinställning för avisering</translation>
 <translation id="2231817271680715693">Importera webbhistorik från standardwebbläsaren första gången den körs</translation>
 <translation id="2236488539271255289">Tillåt inte att någon webbplats ställer in lokala data</translation>
@@ -2883,6 +2887,27 @@
 <translation id="8465065632133292531">Parametrar för webbadress för Instant som använder POST</translation>
 <translation id="847472800012384958">Tillåt inte att popup-fönster visas på någon webbplats</translation>
 <translation id="8477885780684655676">TLS 1.0</translation>
+<translation id="8483004350080020634">Principen gör att webbadresser som använder https:// rensas på delar som kan vara känsliga i sekretess- eller säkerhetshänseende innan webbadresserna skickas vidare till PAC-skript (Proxy Auto Config) som används av <ph name="PRODUCT_NAME" /> vid proxymatchning.
+
+      När principen är inställd på sant är säkerhetsfunktionen aktiverad och 
+      webbadresser som använder protokollet https:// rensas innan de skickas
+      till ett PAC-skript. Det gör att PAC-skriptet inte får tillgång till data som 
+      normalt skyddas av en krypterad kanal (t.ex. webbadressens sökväg och
+      sökfråga).
+
+      När principen är inställd på falskt är säkerhetsfunktionen inaktiverad och 
+      PAC-skript ges implicit behörighet att läsa alla delar av en webbadress 
+      som använder https://. Det gäller för alla PAC-skript oavsett ursprung 
+      (inklusive sådana som hämtats via en osäker kanal eller upptäckts på ett 
+      osäkert sätt via WPAD).
+
+      Standardinställningen är sant (säkerhetsfunktionen är aktiverad).
+
+      Den rekommenderade inställningen är sant. Den enda anledningen att ställa 
+      in principen på falskt är om det annars blir kompatibilitetsproblem med
+      PAC-skript som används.
+
+      Principen kommer att tas bort i M75.</translation>
 <translation id="8484458986062090479">Anpassa listan med webbadressmönster som alltid ska renderas av värdwebbläsaren.
 
           Om principen inte har ställts in används standardrenderaren för alla webbplatser enligt specifikationen i principen ChromeFrameRendererSettings.
diff --git a/components/policy/resources/policy_templates_sw.xtb b/components/policy/resources/policy_templates_sw.xtb
index fb11ccf..9b8715e 100644
--- a/components/policy/resources/policy_templates_sw.xtb
+++ b/components/policy/resources/policy_templates_sw.xtb
@@ -119,6 +119,7 @@
 
       KUMBUKA: Sera hii haitumiki kwenye Android. Ili uwashe IsolateOrigins kwenye Android, tumia mipangilio ya sera ya IsolateOriginsAndroid.
       </translation>
+<translation id="1377024960658062022">Huwasha Hardware Platform API kwenye viendelezi vilivyosakinishwa kupitia sera</translation>
 <translation id="1384459581748403878">Marejeleo: <ph name="REFERENCE_URL" /></translation>
 <translation id="1387596372902085462">Ikiwa utaruhusu uaminifu katika sera ya Muundomsingi wa PKI ya Symantec Corporation Legacy</translation>
 <translation id="1393485621820363363">Printa za biashara zinazotumia sera</translation>
@@ -439,6 +440,10 @@
 <translation id="2201555246697292490">Sanidi orodha ya walioidhinishwa ya ujumbe asili</translation>
 <translation id="2204753382813641270">Dhibiti kujificha kitomatiki kwa rafu</translation>
 <translation id="2208976000652006649">Vigezo vya URL ya utafutaji inayotumia POST</translation>
+<translation id="2214880135980649323">Sera hii ikiruhusiwa, viendelezi vilivyosakinishwa kupitia sera ya biashara huruhusiwa kutumia Enterprise Hardware Platform API.
+
+  Sera hii ikizimwa au mipangilio yake isipowekwa, hakuna viendelezi vinavyoruhusiwa kutumia Enterprise Hardware Platform API.
+   Sera hii inatumika pia kwa viendelezi vya sehemu kama vile kiendelezi cha Huduma za Hangout.</translation>
 <translation id="2223598546285729819">Mpangilio wa arifa chaguomsingi</translation>
 <translation id="2231817271680715693">Leta historia ya kivinjari kutoka kwenye kivinjari chaguomsingi wakati wa uendeshaji wa kwanza</translation>
 <translation id="2236488539271255289">Usiruhusu tovuti yoyote kuweka data ya karibu</translation>
@@ -874,7 +879,7 @@
 
       Sera hii isipowekwa, kiolesura cha lugha ya sasa kitachaguliwa awali.
 
-      Sera hii ikiwekwa, lugha zilizopendekezwa zitahamishiwia upande wa juu wa orodha na zitatenganishwa na lugha nyingine zote. Lugha zinazopendekezwa zitaorodheshwa katika mpangilio ambao zinaonekana katika sera. Lugha ya kwanza iliyopendekezwa itachaguliwa awali.
+      Sera hii ikiwekwa, lugha zilizopendekezwa zitahamishiwa upande wa juu wa orodha na zitatenganishwa na lugha nyingine zote. Lugha zinazopendekezwa zitaorodheshwa katika mpangilio ambao zinaonekana katika sera. Lugha ya kwanza iliyopendekezwa itachaguliwa awali.
 
       Ikiwa kuna lugha zaidi ya moja iliyopendekezwa, inachukuliwa kwamba watumiaji wangependa kuchagua kati ya lugha hizi. Uteuzi wa lugha na mpangilio wa kibodi utatolewa kwa kuangaziwa wakati wa kuanza kipindi kinachodhibitiwa. Vinginevyo, inachukuliwa kwamba watumiaji wengi wangependa kutumia lugha hizi zilizochaguliwa awali. Uteuzi wa lugha na mpangilio wa kibodi hautatolewa kwa kuangaziwa wakati wa kuanza kipindi kinachodhibitiwa.
 
@@ -1127,7 +1132,7 @@
       Iwapo sera hii itawekwa kuwa sivyo, mtumiaji hataweza kukomboa matoleo.</translation>
 <translation id="4008507541867797979">Sera hii ikiwekwa kuwa ndivyo au mipangilio isipowekwa, <ph name="PRODUCT_OS_NAME" /> itaonyesha watumiaji waliopo kwenye skrini ya kuingia katika akaunti na kukuruhusu uteue mmoja.
 
-      Sera hii ikiwekwa kuwa sivyo, <ph name="PRODUCT_OS_NAME" /> haitaonyesha watumiaji waliopo kwenye skrini ya kuingia katika akaunti. Skrini ya kawaida ya kuingia katika akaunti (inayomdokezea mtumiaji kuweka anwani yake ya barua pepe na nenosiri au simu) au skrini ya ukurasa wenye maelezo yanayomwelekeza mtumiaji kuendelea na uthibitishaji kupitia SAML (kama imewashwa kupitia sera ya <ph name="LOGIN_AUTHENTICATION_BEHAVIOR_POLICY_NAME" />) itaonyeshwa, isipokuwa katika hali ambapo mipangilio ya Kipindi Kilichodhibitiwa imewashwa. Wakati mipangllio ya Kipindi kilichodhibitiwa imewekwa, ni akaunti za kipindi kilichodhibitiwa pekee zitakazoonyeshwa, hali inayokuruhuusu kuteua moja.
+      Sera hii ikiwekwa kuwa sivyo, <ph name="PRODUCT_OS_NAME" /> haitaonyesha watumiaji waliopo kwenye skrini ya kuingia katika akaunti. Skrini ya kawaida ya kuingia katika akaunti (inayomdokezea mtumiaji kuweka anwani yake ya barua pepe na nenosiri au simu) au skrini ya ukurasa wenye maelezo yanayomwelekeza mtumiaji kuendelea na uthibitishaji kupitia SAML (kama imewashwa kupitia sera ya <ph name="LOGIN_AUTHENTICATION_BEHAVIOR_POLICY_NAME" />) itaonyeshwa, isipokuwa katika hali ambapo mipangilio ya Kipindi Kilichodhibitiwa imewashwa. Wakati mipangllio ya Kipindi kilichodhibitiwa imewekwa, ni akaunti za kipindi kilichodhibitiwa pekee zitakazoonyeshwa, hali inayokuruhusu kuteua moja.
       Kumbuka kwamba sera hii haizingatii ikiwa kifaa kinahifadhi au kuondoa data ya ndani ya mtumiaji.</translation>
 <translation id="4010738624545340900">Ruhusu ubatilishaji wa vidadisi vya uchaguzi wa faili</translation>
 <translation id="4012737788880122133">Huzima masasisho ya kiotomatiki yanapowekwa kuwa Ndivyo.
@@ -1541,11 +1546,11 @@
 <translation id="5219844027738217407">Kwa programu za Android, sera hii inaathiri maikrofoni pekee. Sera ikiwekwa kuwa ndivyo, maikrofoni huzimwa sauti kwa programu zote za Android, bila vighairi.</translation>
 <translation id="5228316810085661003">Ucheleweshaji wa kuingia kiotomatiki katika akaunti ya kifaa. 
 
-      Ikiwa sera ya |DeviceLocalAccountAutoLoginId| haijawekwa, sera hii haina athari yote. Vinginevyo:
+      Ikiwa sera ya |DeviceLocalAccountAutoLoginId| haijawekwa, sera hii haina athari yoyote. Vinginevyo:
 
       Sera hii ikiwekwa, inabainisha kiasi cha muda ambacho kinaweza kupita bila shughuli ya mtumiaji kabla kuingia kiotomatiki katika akaunti ya kifaa inayobainishwa na sera ya |DeviceLocalAccountAutoLoginId|.
 
-      Ikiwa sera haitawekwa, milisekunde 0 zitatumika kuonyesha muda umekwisha.
+      Ikiwa sera haitawekwa, muda utakwisha baada ya milisekunde 0.
 
       Sera hii inabainishwa kwa milisekunde.</translation>
 <translation id="523505283826916779">Mipangilio ya ufikiaji</translation>
@@ -2758,13 +2763,13 @@
           bila kumhusisha mtumiaji na ambavyo haviwezi kuondolewa au kuzimwa na mtumiaji. Ruhusa zote zinazoombwa na programu au viendelezi zitatolewa kwa njia fiche, bila mtumiaji kuhusishwa, ikijumuisha ruhusa zozote za ziada zinazoombwa na matoleo ya baadaye ya programu au kiendelezi. Zaidi ya hayo, ruhusa za API za viendelezi vya enterprise.deviceAttributes na enterprise.platformKeys extension zinatolewa.
         (API hizi mbili zinapatikana kwenye programu au viendelezi ambavyo havisakinishwi kwa lazima.)
 
-          Sera hii inapewa kipaumbele ikiwa kuna sera inayoweza kukinzana ya <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" />.Ikiwa programu au kiendelezi kilichosakinishwa hapo awali kwa lazima kitaondolewa kwenye orodha hii, kitaondolewa kiotomatiki na <ph name="PRODUCT_NAME" />.
+          Sera hii inapewa kipaumbele ikiwa kuna sera inayoweza kukinzana ya <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" />. Ikiwa programu au kiendelezi kilichosakinishwa hapo awali kwa lazima kitaondolewa kwenye orodha hii, kitaondolewa kiotomatiki na <ph name="PRODUCT_NAME" />.
 
           Katika matukio ya Windows ambayo hayajaunganishwa kwenye kikoa cha <ph name="MS_AD_NAME" />, usakinishaji wa lazima unatumiwa tu na programu na viendelezi vilivyoorodheshwa katika Duka la Chrome kwenye Wavuti.
 
           Kumbuka kuwa msimbo wa kiendelezi chochote unaweza kubadilishwa na mtumiaji kupitia Zana za Wasanidi Programu (hali hii inaweza kuzuia kiendelezi kufanya kazi vizuri). Ikiwa jambo hili litatokea, sera ya <ph name="DEVELOPER_TOOLS_POLICY_NAME" /> inapaswa kuwekwa.
 
-          Kila kipengee cha orodha ya sera ni kifungu ambacho kinajumuisha kitambulisho cha kiendelezi na URL ya "sasisho" isiyo ya lazima inayotenganishwa kwa nukta mkato (<ph name="SEMICOLON" />). Kitambulisho cha kiendelezi ni kifungu cha herufi 32 kinachopatikana (kwa mfano kwenye <ph name="CHROME_EXTENSIONS_LINK" /> ikiwa katika hali ya msanidi programu. URL ya "sasisho" (kama imebainishwa) inapaswa kuashiria hati ya XML ya faili ya Maelezo ya Sasisho kama ilivyofanunuliwa katika <ph name="LINK_TO_EXTENSION_DOC1" />. Kwa chaguomsingi, URL ya sasisho ya Duka la Chrome kwenye Wavuti inatumika (kwa sasa ni "https://clients2.google.com/service/update2/crx"). Kumbuka kuwa URL ya "sasisho" iliyowekwa kwenye sera hii itatumiwa tu kwenye usanikishaji wa mwanzo; masasisho yanayofuata ya kiendelezi yatatumia URL ya sasisho inayoonyeshwa katika faili ya maelezo ya kiendelezi. Kumbuka pia kubainisha URL ya "sasisho" bayana ni lazima katika matoleo ya <ph name="PRODUCT_NAME" /> na mapya zaidi ikiwa ni pamoja na la 67.
+          Kila kipengee cha orodha ya sera ni kifungu ambacho kinajumuisha kitambulisho cha kiendelezi na URL ya "sasisho" isiyo ya lazima inayotenganishwa kwa nukta mkato (<ph name="SEMICOLON" />). Kitambulisho cha kiendelezi ni kifungu cha herufi 32 kinachopatikana (kwa mfano kwenye <ph name="CHROME_EXTENSIONS_LINK" /> ikiwa katika hali ya msanidi programu. URL ya "sasisho" (kama imebainishwa) inapaswa kuashiria hati ya XML ya faili ya Maelezo ya Sasisho kama ilivyofafanuliwa katika <ph name="LINK_TO_EXTENSION_DOC1" />. Kwa chaguomsingi, URL ya sasisho ya Duka la Chrome kwenye Wavuti inatumika (kwa sasa ni "https://clients2.google.com/service/update2/crx"). Kumbuka kuwa URL ya "sasisho" iliyowekwa kwenye sera hii itatumiwa tu kwenye usanikishaji wa mwanzo; masasisho yanayofuata ya kiendelezi yatatumia URL ya sasisho inayoonyeshwa katika faili ya maelezo ya kiendelezi. Kumbuka pia kubainisha URL ya "sasisho" bayana ni lazima katika matoleo ya <ph name="PRODUCT_NAME" /> na mapya zaidi ikiwa ni pamoja na la 67.
 
           Kwa mfano, <ph name="EXTENSION_POLICY_EXAMPLE" /> inasakinisha programu ya <ph name="EXTENSION_POLICY_EXAMPLE_EXTENSION_NAME" /> kutoka URL ya "sasisho" la kawaida la Duka la Chrome kwenye Wavuti. Kwa maelezo zaidi kuhusu jinsi ya kupangisha viendelezi, angalia: <ph name="LINK_TO_EXTENSION_DOC2" />.
 
@@ -2821,6 +2826,17 @@
 <translation id="8465065632133292531">Vigezo vya URL ya papo hapo inayotumia POST</translation>
 <translation id="847472800012384958">Usiruhusu tovuti yoyote kuonyesha madirisha ibukizi</translation>
 <translation id="8477885780684655676">TLS 1.0</translation>
+<translation id="8483004350080020634">Huondoa faragha na sehemu nyeti za usalama za URL za https:// kabla ya kuzipeleka kwenye hati za PAC (Proxy Auto Config) zinazotumika na <ph name="PRODUCT_NAME" /> wakati wa kuweka seva mbadala.
+
+      Ikiwekwa kuwa Ndivyo, kipengele cha usalama huwashwa na URL za https:// huondolewa kabla ya kuziwasilisha kwenye hati ya PAC. Kwa namna hii, hati ya PAC haiwezi kuona data ambayo kwa kawaida inalindwa na kituo kilichosimbwa kwa njia fiche (kama vile njia na hoja ya URL).
+
+      Ikiwekwa kuwa Sivyo, kipengele cha usalama huzimwa na hati za PAC hupata uwezo bayana wa kuona sehemu zote za URL ya https://. Hii inatumika kwa hati zote za PAC bila kuzingatia asili (ikiwa ni pamoja na zilizotokana na usafirishaji usio salama au zilizogunduliwa kwa njia isiyo salama kupitia WPAD).
+
+      Hii huweka mipangilio chagomsingi kuwa Ndivyo (kipengele cha usalama kimewashwa).
+
+      Inapendekezwa kuwa mipangilio hii iwekwe kuwa Ndivyo. Sababu moja tu ya kuiwekea mipangilio ya Sivyo ni kama inasababisha matatizo ya kutumika na hati zilizopo za PAC.
+
+      Sera itaondolewa kwenye M75.</translation>
 <translation id="8484458986062090479">Geuza orodha ya ruwaza za URL ambazo zinastahili kuonyeshwa mara kwa mara na kivinjari kipangishi ili zikufae.
 
           Ikiwa sera hii haitawekwa kionyeshi chaguomsingi kitatumiwa kwa tovuti zote kama ilivyobainishwa na sera ya 'ChromeFrameRendererSettings'.
diff --git a/components/policy/resources/policy_templates_ta.xtb b/components/policy/resources/policy_templates_ta.xtb
index ab3f98c..5334e60 100644
--- a/components/policy/resources/policy_templates_ta.xtb
+++ b/components/policy/resources/policy_templates_ta.xtb
@@ -120,6 +120,7 @@
       
       குறிப்பு: இந்தக் கொள்கையானது Android இல் பயன்படுத்தப்படாது. IsolateOriginsஐ Android இல் இயக்க, IsolateOriginsAndroid கொள்கை அமைப்பைப் பயன்படுத்தவும்.
       </translation>
+<translation id="1377024960658062022">கொள்கையினால் நிறுவப்படும் நீட்டிப்புகளுக்கு Hardware Platform APIஐ இயக்கும்</translation>
 <translation id="1384459581748403878">குறிப்பு: <ph name="REFERENCE_URL" /></translation>
 <translation id="1387596372902085462">Symantec Corporation இன் Legacy PKI Infrastructureஐ நம்பகமானது என இயக்க வேண்டுமா</translation>
 <translation id="1393485621820363363">இயக்கப்பட்ட நிறுவனச் சாதனப் பிரிண்டர்கள்</translation>
@@ -185,12 +186,11 @@
 <translation id="1530812829012954197">ஹோஸ்ட் உலாவியில் பின்வரும் URL பேட்டர்ன்களை எப்போதும் ரெண்டர் செய்க</translation>
 <translation id="1541170838458414064">அச்சிடும் பக்க அளவைக் கட்டுப்படுத்தும்</translation>
 <translation id="1553684822621013552">இந்தக் கொள்கையை true  என அமைத்தால், பயனருக்கு ARC இயக்கப்படும்
-      (கூடுதல் கொள்கை அமைப்புகள் சோதனைகளுக்கு உட்படும் - நடப்பு பயனர் அமர்வில் குறுகியகால பயன்முறை
-      அல்லது பல உள்நுழைவு இயக்கப்பட்டால், ARC
-      தொடர்ந்தும் கிடைக்காது).
+      (கூடுதல் கொள்கை அமைப்புகள் சார்ந்த சோதனைகளுக்கு உட்படும் - நடப்பு பயனர் அமர்வில் தற்காலிகப் பயன்முறையோ
+      பல உள்நுழைவுகளோ இயக்கப்பட்டால், ARC
+      தொடர்ந்து கிடைக்காது).
 
-      இந்த அமைப்பு முடக்கப்பட்டால் அல்லது உள்ளமைக்கப்படாவிட்டால், நிறுவனப் பயனர்கள்
-      ARCஐப் பயன்படுத்த முடியாது.</translation>
+      இந்த அமைப்பு முடக்கப்பட்டாலோ உள்ளமைக்கப்படாவிட்டாலோ, நிறுவனப் பயனர்கள் ARCயைப் பயன்படுத்த முடியாது.</translation>
 <translation id="1561424797596341174">கொள்கையானது தொலைநிலை அணுகல் ஹோஸ்ட்டின் பிழைத் திருத்தப் பதிப்புகளை மேலெழுதும்</translation>
 <translation id="1561967320164410511">தனிப்பட்ட சான்றொப்பத்திற்கான U2F மற்றும் நீட்டிப்புகள்</translation>
 <translation id="1574554504290354326">இந்த அமைப்பு தடுக்கப்பட்டுள்ளது. அதற்குப் பதிலாக, SafeBrowsingExtendedReportingEnabledஐப் பயன்படுத்தவும். SafeBrowsingExtendedReportingEnabledஐ இயக்குவது அல்லது முடக்குவது என்பது SafeBrowsingExtendedReportingOptInAllowedஐ "தவறு" என அமைப்பதற்குச் சமமாகும்.
@@ -238,15 +238,15 @@
 <translation id="1797233582739332495">மீண்டும் தொடங்குவது தேவையானது என்பதைக் குறிக்கும், தொடர்ச்சியாகத் தெரியும் அறிவிப்பைப் பயனருக்குக் காட்டு</translation>
 <translation id="1803646570632580723">தொடக்கத்தில் காண்பிப்பதற்கான பின்செய்யப்பட்ட பயன்பாடுகளின் பட்டியல்</translation>
 <translation id="1808715480127969042">இந்த தளங்களில் குக்கீகளைத் தடு </translation>
-<translation id="1810261428246410396">உடனடி இணைப்பு முறையைப் பயன்படுத்துவதை அனுமதிக்கும்.</translation>
+<translation id="1810261428246410396">உடனடி இணைப்பு முறையைப் பயன்படுத்த அனுமதிக்கும்.</translation>
 <translation id="1827523283178827583">நிலையான ப்ராக்ஸி சேவையகங்களைப் பயன்படுத்து</translation>
 <translation id="1843117931376765605">பயனர் கொள்கைக்கான புதுப்பிப்பு விகிதம்</translation>
 <translation id="1844620919405873871">விரைந்து திறக்கும் அம்சம் தொடர்பான கொள்கைகளை உள்ளமைக்கும்.</translation>
-<translation id="1847960418907100918">POST மூலம் உடனடித் தேடலை மேற்கொள்ளும்போது பயன்படுத்தப்பட்ட அளவுருக்களைக் குறிப்பிடுகிறது. இது காற்புள்ளியால் பிரிக்கப்பட்ட பெயர்/மதிப்பு இணைகளைக் கொண்டுள்ளது. மதிப்பானது மேலே கொடுக்கப்பட்ட எடுத்துக்காட்டில் உள்ள {searchTerms} போன்ற டெம்ப்ளேட் அளவுரு எனில், அது உண்மையான தேடல் வார்த்தைகளின் தரவு மூலம் மாற்றியமைக்கப்படும்.
+<translation id="1847960418907100918">POST மூலம் உடனடித் தேடலை மேற்கொள்ளும்போது பயன்படுத்தப்பட்ட அளவுருக்களைக் குறிப்பிடுகிறது. இது காற்புள்ளியால் பிரிக்கப்பட்ட பெயர்/மதிப்பு இணைகளைக் கொண்டுள்ளது. மதிப்பானது மேலே கொடுக்கப்பட்ட எடுத்துக்காட்டில் உள்ள {searchTerms} போன்ற டெம்ப்ளேட் அளவுரு எனில், அதற்குப் பதில் உண்மையான தேடல் வார்த்தைகளின் தரவு மாற்றியமைக்கப்படும்.
 
-          இந்தக் கொள்கை விருப்பத்திற்குரியதாகும். அமைக்கப்படவில்லையெனில், GET முறையைப் பயன்படுத்தி உடனடித் தேடல் கோரிக்கை அனுப்பப்படும்.
+          இந்தக் கொள்கை விருப்பத்தேர்வாகும். அமைக்கப்படவில்லையெனில், GET முறையைப் பயன்படுத்தி உடனடித் தேடல் கோரிக்கை அனுப்பப்படும்.
 
-          'DefaultSearchProviderEnabled' கொள்கை இயக்கப்பட்டிருந்தால் மட்டுமே இந்தக் கொள்கையானது ஆதரிக்கப்படும்.</translation>
+          'DefaultSearchProviderEnabled' கொள்கை இயக்கப்பட்டிருந்தால் மட்டுமே இந்தக் கொள்கை ஆதரிக்கப்படும்.</translation>
 <translation id="1852294065645015766">மீடியாவைத் தானாக இயங்க அனுமதிக்கும்</translation>
 <translation id="1859859319036806634">எச்சரிக்கை: பதிப்பு 52க்குப் பின் (செப்டம்பர் 2016 அளவில்) <ph name="PRODUCT_NAME" /> இலிருந்து TLS பதிப்பு மாற்றம் அகற்றப்படும், அதற்குப் பிறகு இந்தக் கொள்கை செயல்படுவது நின்றுவிடும்.
 
@@ -356,7 +356,7 @@
 <translation id="2077129598763517140">கிடைக்கும்போது வன்பொருளின் முடுக்கத்தைப் பயன்படுத்தவும்</translation>
 <translation id="2077273864382355561">பேட்டரி சக்தியில் இயங்கும்போது திரை முடக்கம் தாமதமாகும்</translation>
 <translation id="2082205219176343977">சாதனத்திற்கு அனுமதிக்கப்படும் குறைந்தபட்ச Chrome பதிப்பை உள்ளமை.</translation>
-<translation id="209586405398070749">நிலையான சேனல்</translation>
+<translation id="209586405398070749">நிலையான வழி</translation>
 <translation id="2098658257603918882">பயன்பாடு மற்றும் செயலிழப்பு தொடர்பான தரவை அனுப்புவதை இயக்கு</translation>
 <translation id="2111016292707172233"><ph name="PRODUCT_NAME" /> இன் உள்ளடக்கக் காட்சியில், தேடுவதற்குத் தட்டு எனும் அம்சத்தைக் கிடைக்கச் செய்யும்.
 
@@ -439,6 +439,9 @@
 <translation id="2201555246697292490">நேட்டிவ் செய்தியிடல் ஏற்புப்பட்டியலை உள்ளமைத்தல்</translation>
 <translation id="2204753382813641270">அடுக்கு தானாக மறைக்கப்படுவதைக் கட்டுப்படுத்தவும்</translation>
 <translation id="2208976000652006649">POST ஐப் பயன்படுத்தும் தேடல் URL க்கான அளவுருக்கள்</translation>
+<translation id="2214880135980649323">இந்தக் கொள்கை இயக்கப்பட்டால், நிறுவனக் கொள்கையால் நிறுவப்படும் நீட்டிப்புகள், Enterprise Hardware Platform APIஐப் பயன்படுத்த அனுமதிக்கப்படும்.
+      இந்தக் கொள்கை முடக்கப்பட்டிருந்தால் அல்லது அமைக்கப்படவில்லை என்றால், Enterprise Hardware Platform APIஐப் பயன்படுத்த நீட்டிப்புகள் அனுமதிக்கப்படாது.
+      Hangout Services நீட்டிப்பு போன்ற காம்பனென்ட் நீட்டிப்புகளுக்கும் இந்தக் கொள்கை பொருந்தும்.</translation>
 <translation id="2223598546285729819">இயல்புநிலை அறிவிப்பு அமைப்பு</translation>
 <translation id="2231817271680715693">முதல் இயக்கத்தின்போதே இயல்புநிலை உலாவலிருந்து உலாவல் வரலாற்றை இறக்குமதி செய்</translation>
 <translation id="2236488539271255289">அக தரவை அமைப்பதற்கு, எந்த தளத்தையும் அனுமதிக்க வேண்டாம்</translation>
@@ -498,15 +501,15 @@
       இந்த அமைப்பு இயக்கப்பட்டால், உலாவல் வரலாறு சேமிக்கப்படாது. இந்த அமைப்பு, தாவல் ஒத்திசைவையும் முடக்கும்.
 
       இந்த அமைப்பு முடக்கப்பட்டால் அல்லது அமைக்கப்படாவிட்டால், உலாவல் வரலாறு சேமிக்கப்படும்.</translation>
-<translation id="2426782419955104525"><ph name="PRODUCT_NAME" /> இன் உடனடித்தேடல் அம்சத்தை இயக்குகிறது, மேலும் இந்த அமைப்பைப் பயனர் மாற்றுவதிலிருந்து தடுக்கிறது.
+<translation id="2426782419955104525"><ph name="PRODUCT_NAME" /> இன் உடனடி அம்சத்தை இயக்குகிறது, மேலும் இந்த அமைப்பைப் பயனர் மாற்றுவதிலிருந்து தடுக்கிறது.
 
-      இந்த அமைப்பை இயக்கினால், <ph name="PRODUCT_NAME" /> உடனடித்தேடல் இயக்கப்படும்.
+      இந்த அமைப்பை இயக்கினால், <ph name="PRODUCT_NAME" /> உடனடி இயக்கப்படும்.
 
-      இந்த அமைப்பை முடக்கினால், <ph name="PRODUCT_NAME" /> உடனடித்தேடல் முடக்கப்படும்.
+      இந்த அமைப்பை முடக்கினால், <ph name="PRODUCT_NAME" /> உடனடி முடக்கப்படும்.
 
-      இந்த அமைப்பை இயக்கினால் அல்லது முடக்கினால், இந்த அமைப்பைப் பயனர்களால் மாற்றவோ அல்லது மேலெழுதவோ முடியாது.
+      இந்த அமைப்பை இயக்கினாலோ முடக்கினாலோ, இதைப் பயனர்களால் மாற்றவோ மேலெழுதவோ முடியாது.
 
-      இந்த அமைப்பை அமைக்கப்படாமல் விட்டால், இந்தச் செயல்பாட்டைப் பயன்படுத்தவோ அல்லது பயன்படுத்தாமல் இருக்கவோ பயனர் தீர்மானிக்கலாம்
+      இதை அமைக்காமல் விட்டால், இந்தச் செயல்பாட்டைப் பயன்படுத்தவோ பயன்படுத்தாமல் இருக்கவோ பயனர் தீர்மானிக்கலாம்.
 
       <ph name="PRODUCT_NAME" /> 29 மற்றும் அதற்கு மேற்பட்ட பதிப்புகளில் இந்த அமைப்பு அகற்றப்பட்டுள்ளது.</translation>
 <translation id="2433412232489478893">இந்தக் கொள்கை, <ph name="PRODUCT_NAME" /> இன் ‘நெட்வொர்க் கோப்புப் பகிர்வுகள்’ அம்சத்தை ஒரு பயனர் பயன்படுத்துவதற்கு அனுமதிக்கலாமா என்பதைக் கட்டுப்படுத்தும்.
@@ -563,13 +566,13 @@
 <translation id="2536525645274582300">Google இருப்பிடச் சேவைகளை இயக்க வேண்டுமா என்பதைப் பயனர் தீர்மானிப்பார்</translation>
 <translation id="2550593661567988768">சிம்ப்ளெக்ஸ் அச்சிடல் மட்டும்</translation>
 <translation id="2552966063069741410">நேரமண்டலம்</translation>
-<translation id="2562339630163277285">உடனடி முடிவுகளை வழங்குவதற்குப் பயன்படுத்தப்படும் தேடல் இன்ஜினின் URLஐக் குறிப்பிடும். URL இல் <ph name="SEARCH_TERM_MARKER" /> சரம் இருக்க வேண்டும், இது வினவல் நேரத்தில் இதுவரை பயனர் உள்ளிட்ட உரையினால் மாற்றப்படும்.
+<translation id="2562339630163277285">உடனடி முடிவுகளை வழங்குவதற்குப் பயன்படுத்தப்படும் தேடல் இன்ஜினின் URLலைக் குறிப்பிடும். URLலில் <ph name="SEARCH_TERM_MARKER" /> என்ற வார்த்தை இருக்க வேண்டும், இது வினவல் நேரத்தில் இதுவரை பயனர் உள்ளிட்ட உரையினால் மாற்றப்படும்.
 
           இந்தக் கொள்கை விருப்பத்தேர்விற்குரியது. அமைக்கவில்லை எனில், உடனடி முடிவுகள் எவையும் வழங்கப்படாது.
 
-          Google இன் உடனடி முடிவுகள் URL ஆனது பின்வருமாறு குறிப்பிடப்படலாம்: <ph name="GOOGLE_INSTANT_SEARCH_URL" />.
+          Googleளின் உடனடி முடிவுகள் URLலைப் பின்வருமாறு குறிப்பிடலாம்: <ph name="GOOGLE_INSTANT_SEARCH_URL" />.
 
-          'DefaultSearchProviderEnabled' கொள்கை இயக்கப்பட்டிருந்தால் மட்டுமே, இந்தக் கொள்கைக்கு முக்கியத்துவம் கிடைக்கும்.</translation>
+          'DefaultSearchProviderEnabled' கொள்கை இயக்கப்பட்டிருந்தால் மட்டுமே, இந்தக் கொள்கை ஆதரிக்கப்படும்.</translation>
 <translation id="2569647487017692047">இந்தக் கொள்கை ‘தவறு’ என அமைக்கப்பட்டால், <ph name="PRODUCT_OS_NAME" /> ஆனது புளூடூத்தை முடக்கும், பயனரால் அதை மீண்டும் இயக்க முடியாது.
 
       இந்தக் கொள்கை ‘சரி’ என அமைக்கப்பட்டாலோ அல்லது வெறுமையாக விடப்பட்டாலோ, பயனரால் தனது விருப்பப்படி புளூடூத்தை இயக்கவோ முடக்கவோ முடியும்.
@@ -1106,7 +1109,7 @@
       இந்தக் கொள்கை தவறு என்பதற்கு அமைக்கப்பட்டிருந்தால், பயனரால் சலுகைகளை மீட்டெடுக்க முடியாது.</translation>
 <translation id="4008507541867797979">இந்தக் கொள்கையைச் 'சரி’ என அமைத்தாலோ அல்லது அமைக்கவில்லை என்றாலோ, <ph name="PRODUCT_OS_NAME" /> ஆனது ஏற்கனவே உள்ள பயனர்களை உள்நுழைவுத் திரையில் காண்பித்து, ஒருவரைத் தேர்வு செய்ய அனுமதிக்கும்.
 
-      கொள்கையைத் ‘தவறு’ என அமைத்தால், <ph name="PRODUCT_OS_NAME" /> ஆனது ஏற்கனவே உள்ள பயனர்களை உள்நுழைவுத் திரையில் காட்டாது. ‘நிர்வகிக்கப்பட்ட அமர்வு’ உள்ளமைக்கப்படாத வரை, வழக்கமான உள்நுழைவுத் திரை (பயனர் மின்னஞ்சலையும் கடவுச்சொல்லை அல்லது தொலைபேசியை எண்ணையும் கேட்கும் திரை) அல்லது SAML இடையீட்டுத் திரை (<ph name="LOGIN_AUTHENTICATION_BEHAVIOR_POLICY_NAME" /> கொள்கை மூலம் இயக்கினால்) காட்டப்படும். ‘நிர்வகிக்கப்பட்ட அமர்வு’ உள்ளமைக்கப்பட்டால், நிர்வகிக்கப்பட்ட அமர்வுக் கணக்குகள் மட்டும் காட்டப்பட்டு, அவற்றில் ஒன்றைத் தேர்ந்தெடுக்க அனுமதிக்கப்படும்.
+      கொள்கையைத் ‘தவறு’ என அமைத்தால், <ph name="PRODUCT_OS_NAME" /> ஆனது ஏற்கனவே உள்ள பயனர்களை உள்நுழைவுத் திரையில் காட்டாது. ‘நிர்வகிக்கப்பட்ட அமர்வு’ உள்ளமைக்கப்படாத வரை, வழக்கமான உள்நுழைவுத் திரை (பயனர் மின்னஞ்சலையும் கடவுச்சொல்லை அல்லது தொலைபேசி எண்ணையும் கேட்கும் திரை) அல்லது SAML இடையீட்டுத் திரை (<ph name="LOGIN_AUTHENTICATION_BEHAVIOR_POLICY_NAME" /> கொள்கை மூலம் இயக்கினால்) காட்டப்படும். ‘நிர்வகிக்கப்பட்ட அமர்வு’ உள்ளமைக்கப்பட்டால், நிர்வகிக்கப்பட்ட அமர்வுக் கணக்குகள் மட்டும் காட்டப்பட்டு, அவற்றில் ஒன்றைத் தேர்ந்தெடுக்க அனுமதிக்கப்படும்.
 
       அகப் பயனர் தரவைச் சாதனம் வைத்திருக்குமா நிராகரிக்குமா என்பதை இந்தக் கொள்கை பாதிக்காது என்பதைக் கவனத்தில் கொள்ளவும்.</translation>
 <translation id="4010738624545340900">கோப்பு தேர்ந்தெடுத்தல் உரையாடல்களைத் தொடங்குவதற்கு அனுமதி</translation>
@@ -1300,9 +1303,9 @@
       இந்தக் கொள்கையின் மதிப்பு 0 ஆக இருந்தால், இயல்பு தற்காலிகச் சேமிப்பின் அளவு பயன்படுத்தப்படும், ஆனால் பயனரால் இதை மாற்ற முடியாது.
 
       இந்தக் கொள்கையானது அமைக்கப்படவில்லை எனில், இயல்பு தற்காலிகச் சேமிப்பின் அளவைப் பயன்படுத்தப்படும், மேலும் --media-cache-size கொடி மூலம் பயனரால் இதை மேலெழுத முடியும்.</translation>
-<translation id="4508686775017063528">இந்தக் கொள்கையை 'சரி' என அமைத்தாலோ அமைக்கவில்லை என்றாலோ, <ph name="PRODUCT_NAME" /> இயக்கப்படும். ஆப்ஸ் மெனு, பக்க சூழல் மெனுக்கள், Cast வசதியுடைய இணையதளங்களிலுள்ள மீடியா கட்டுப்பாடுகள் மற்றும் Cast கருவிப்பட்டி ஐகான் (காட்டப்பட்டால்) ஆகியவற்றிலிருந்து பயனர்கள் அதைத் தொடங்கலாம்.
+<translation id="4508686775017063528">இந்தக் கொள்கையைச் சரி என அமைத்தாலோ அமைக்காமல் விட்டாலோ, <ph name="PRODUCT_NAME" /> இயக்கப்படும். மேலும், ஆப்ஸ் மெனு, பக்கச் சூழல் மெனுக்கள், Cast வசதியுடைய இணையதளங்களிலுள்ள மீடியா கட்டுப்பாடுகள், Cast கருவிப்பட்டி ஐகான் (காட்டப்பட்டால்) ஆகியவற்றிலிருந்து பயனர்கள் அதைத் தொடங்கலாம்.
 
-          இந்தக் கொள்கையை 'தவறு' என அமைத்தால், <ph name="PRODUCT_NAME" /> முடக்கப்படும்.</translation>
+          இந்தக் கொள்கையைத் தவறு என அமைத்தால், <ph name="PRODUCT_NAME" /> முடக்கப்படும்.</translation>
 <translation id="4515404363392014383">நம்பகமான ஆதாரங்களுக்கு பாதுகாப்பான உலாவலை இயக்கு</translation>
 <translation id="4518251772179446575">ஒரு தளம் பயனரின் நிஜ இருப்பிடத்தை பின்தொடர விரும்பும்போதெல்லாம் கேட்கவும்</translation>
 <translation id="4519046672992331730"><ph name="PRODUCT_NAME" /> இன் சர்வபுலத்தில் தேடல் பரிந்துரைகளை இயக்குகிறது மற்றும் பயனர்கள் இந்த அமைப்பை மாற்றுவதைத் தடுக்கிறது.
@@ -1848,7 +1851,7 @@
       }
 
      தொடக்கியில் ஆப்ஸைப் பொருத்த, PinnedLauncherApps என்பதைப் பார்க்கவும்.</translation>
-<translation id="602728333950205286">இயல்புநிலை தேடல் வழங்குநர்  உடனடி URL</translation>
+<translation id="602728333950205286">இயல்புநிலை தேடல் வழங்குநர் உடனடி URL</translation>
 <translation id="603410445099326293">POST ஐப் பயன்படுத்தும் பரிந்துரை URL க்கான அளவுருக்கள்</translation>
 <translation id="6036523166753287175">தொலைநிலை அணுகல் ஹோஸ்ட்டில் இருந்து கடந்துவர, ஃபயர்வாலைச் செயல்படுத்து</translation>
 <translation id="6070667616071269965">சாதன உள்நுழைவுத் திரையின் விசைப்பலகைத் தளவமைப்புகள்</translation>
@@ -1972,9 +1975,9 @@
 <translation id="6536600139108165863">சாதனம் இயக்க நிறுத்தம் செய்யப்பட்டால் தானாக மறுதொடக்கம் செய்யும்</translation>
 <translation id="6539246272469751178">இந்தக் கொள்கை Android பயன்பாடுகளில் எந்த மாற்றத்தையும் ஏற்படுத்தாது. Android பயன்பாடுகளால் எப்போதும் இயல்புப் பதிவிறக்கங்களின் கோப்பகத்தைப் பயன்படுத்த முடியும். அதே சமயம் இயல்பு நிலையில்லாத பதிவிறக்கங்களின் கோப்பகத்தில், <ph name="PRODUCT_OS_NAME" /> பதிவிறக்கிய எந்தக் கோப்புகளையும் அணுக முடியாது.</translation>
 <translation id="654303922206238013">ecryptfsக்கான நகர்த்துதல் உத்தி</translation>
-<translation id="6544897973797372144">இந்தக் கொள்கை இயக்கத்தில் அமைக்கப்பட்டிருந்து, ChromeOsReleaseChannel கொள்கை குறிப்பிடப்படாமல் இருந்தால், பின்னர் சாதனத்தில் வெளியீட்டு சேனலை மாற்றுவதற்கு பதிவுசெய்யும் களத்தின் பயனர்கள் அனுமதிக்கப்படுவார்கள். இந்தக் கொள்கை முடக்கத்தில் அமைக்கப்பட்டிருந்தால், கடைசியாக அமைக்கப்பட்ட சேனலில் சாதனம் பூட்டப்பட்டிருக்கும்.
+<translation id="6544897973797372144">இந்தக் கொள்கையைச் சரி என அமைத்து, ChromeOsReleaseChannel கொள்கை குறிப்பிடப்படாமல் இருந்தால், சாதனத்தின் வெளியீட்டுச் சேனலை மாற்றுவதற்கு பதிவுசெய்யும் டொமைனின் பயனர்கள் அனுமதிக்கப்படுவார்கள். இந்தக் கொள்கையைத் தவறு என அமைத்தால் கடைசியாக அமைக்கப்பட்ட சேனலில் சாதனம் பூட்டப்படும்.
 
-      ChromeOsReleaseChannel கொள்கையால் பயனர் தேர்ந்தெடுத்த சேனல் மேலெழுதப்படும், சாதனத்தில் நிறுவப்பட்ட ஒன்றை விட கொள்கை சேனல் மிகவும் நிலையாக இருந்தால், மிகவும் நிலையான சேனலின் பதிப்பானது சாதனத்தில் நிறுவப்பட்ட ஒன்றை விட உயர் பதிப்பு எண்ணை அடைந்த பிறகே சேனல் மாறும்.</translation>
+      ChromeOsReleaseChannel கொள்கை பயனர் தேர்ந்தெடுத்த சேனலை மீறிச் செயல்படும், ஆனால் சாதனத்தில் நிறுவப்பட்ட ஒன்றை விட கொள்கை சேனல் அதிக நிலையாக இருந்தால், இரண்டில் அதிக நிலையான சேனலின் பதிப்பானது சாதனத்தில் நிறுவப்பட்டதை விட அதிகமான பிறகே சேனல் மாறும்.</translation>
 <translation id="6559057113164934677">கேமரா அல்லது மைக்ரோஃபோனை எந்த தளமும் அணுக அனுமதிக்காதே</translation>
 <translation id="6561396069801924653">கணினியின் டிரே மெனுவில் அணுகல்தன்மை விருப்பத்தேர்வுகளைக் காட்டு</translation>
 <translation id="6565312346072273043">உள்நுழைவுத் திரையில் திரை விசைப்பலகையின் அணுகல்தன்மை அம்சத்தின் இயல்பான நிலையை அமைக்கவும்.
@@ -2264,11 +2267,11 @@
 
           இந்தக் கொள்கை அமைக்கப்படவில்லை எனில், பயனரால் இந்த அமைப்பைக் கைமுறையாக மாற்ற முடியும்</translation>
 <translation id="723103540848640830">பூட்டுத் திரை PIN இன் குறைந்தபட்சு நீளத்தை அமைக்கும்</translation>
-<translation id="7232816984286843471">கொள்கையைத் ‘தவறு’ என அமைத்தால், அனுமதிக்கப்படாத பயனர்கள் Crostiniயைப் பயன்படுத்த அனுமதிக்கப்படமாட்டார்கள்.
+<translation id="7232816984286843471">கொள்கையைத் ‘தவறு’ என அமைத்தால், அதிகாரப்பூர்வமாக இணைக்கப்படாத பயனர்கள் Crostiniயைப் பயன்படுத்த அனுமதிக்கப்படமாட்டார்கள்.
 
       கொள்கையை அமைக்காவிட்டால் அல்லது ‘சரி’ என அமைத்தால், பிற அமைப்புகளும் இதை அனுமதிக்கும் வரை Crostiniயைப் பயன்படுத்த அனைத்துப் பயனர்களும் அனுமதிக்கப்படுவார்கள்.
       VirtualMachinesAllowed, CrostiniAllowed, DeviceUnaffiliatedCrostiniAllowed ஆகிய கொள்கைகள் பயன்படுத்தப்படும்போது, Crostiniயை இயக்க அனுமதிப்பதற்கு அவை மூன்றையும் ‘சரி’ என அமைக்க வேண்டும்.
-      இந்தக் கொள்கையைத் ‘தவறு’ என மாற்றினால், அது புதிய Crostini கண்டெய்னர்களைத் தொடங்குவதற்குப் பயன்படுத்தப்படும், ஆனால் ஏற்கனவே இயங்குகின்ற கன்டெய்னர்களை நிறுத்தாது.</translation>
+      இந்தக் கொள்கையைத் ‘தவறு’ என மாற்றினால், அது புதிய Crostini கண்டெய்னர்களைத் தொடங்குவதற்குப் பயன்படுத்தப்படும், ஆனால் ஏற்கனவே இயங்குகின்ற கண்டெய்னர்களை நிறுத்தாது.</translation>
 <translation id="7234280155140786597">தடுக்கப்பட்ட நேட்டிவ் செய்தியிடல் ஹோஸ்ட்களின் பெயர்கள் (அல்லது அனைத்தும் என்றால் *)</translation>
 <translation id="7236775576470542603">உள்நுழைவுத் திரையில் இயக்கப்பட்டுள்ள திரை உருப்பெருக்கியின் இயல்புநிலை வகையை அமைக்கவும்.
 
@@ -2377,7 +2380,7 @@
 <translation id="7426112309807051726"><ph name="TLS_FALSE_START" /> மேம்படுத்துதல் முடக்கப்பட வேண்டுமா என்பதைக் குறிப்பிடும். இதற்கு முன் அறிந்துகொள்ளப்பட்ட காரணங்களால், இந்தக் கொள்கை DisableSSLRecordSplitting எனப் பெயரிடப்பட்டுள்ளது.
 
       கொள்கை அமைக்கப்படாவிட்டால், அல்லது false என அமைக்கப்பட்டால், <ph name="TLS_FALSE_START" /> இயக்கப்படும். இது true என அமைக்கப்பட்டால், <ph name="TLS_FALSE_START" /> முடக்கப்படும்.</translation>
-<translation id="7433714841194914373">விரைவுத்தேடலை இயக்கு</translation>
+<translation id="7433714841194914373">'உடனடி' அம்சத்தை இயக்கும்</translation>
 <translation id="7443061725198440541">இந்தக் கொள்கை அமைக்கப்படாமல் இருந்தாலோ அல்லது இயக்கியிருந்தாலோ, எழுத்துச்சரிபார்ப்பைப் பயன்படுத்த பயனர் அனுமதிக்கப்படுவார்.
 
       இந்தக் கொள்கை முடக்கப்பட்டிருந்தால், எழுத்துச்சரிபார்ப்பைப் பயன்படுத்த பயனர் அனுமதிக்கப்பட மாட்டார். இந்தக் கொள்கை முடக்கப்பட்டிருக்கும் போது, SpellcheckLanguage கொள்கையும் புறக்கணிக்கப்படும்.
@@ -2613,7 +2616,7 @@
       கொள்கையைத் ‘தவறு’ என அமைத்தால், விர்ச்சுவல் சாதனங்களை இயக்க இச்சாதனம் அனுமதிக்கப்படாது.
       VirtualMachinesAllowed, CrostiniAllowed, DeviceUnaffiliatedCrostiniAllowed ஆகிய கொள்கைகள் பயன்படுத்தப்படும்போது, Crostiniயை இயக்க அனுமதிப்பதற்கு அவை மூன்றையும் ‘சரி’ என அமைக்க வேண்டும்.
       இந்தக் கொள்கையைத் ‘தவறு’ என மாற்றினால், அது புதிய விர்ச்சுவல் சாதனங்களைத் தொடங்குவதற்குப் பயன்படுத்தப்படும், ஆனால் ஏற்கனவே இயங்குகின்ற விர்ச்சுவல் சாதனங்களை நிறுத்தாது.
-      நிர்வகிக்கப்பட்ட சாதனத்தில் இந்தக் கொள்கையை அமைக்காவிட்டால், விர்ச்சுவல் சாதனங்களை இயக்க இச்சாதனம் அனுமதிக்கப்படும்.
+      நிர்வகிக்கப்பட்ட சாதனத்தில் இந்தக் கொள்கையை அமைக்காவிட்டால், விர்ச்சுவல் சாதனங்களை இயக்க இச்சாதனம் அனுமதிக்கப்படாது.
       நிர்வகிக்கப்படாத சாதனங்கள் விர்ச்சுவல் சாதனங்களை இயக்க அனுமதிக்கப்படும்.</translation>
 <translation id="802147957407376460">திரையை 0 டிகிரிக்குச் சுழற்று</translation>
 <translation id="8033913082323846868">M70ல் இந்தக் கொள்கை நிராகரிக்கப்பட்டது, அதற்குப் பதில் AutofillAddressEnabled மற்றும் AutofillCreditCardEnabled ஆகியவற்றைப் பயன்படுத்தவும்.
@@ -2681,13 +2684,13 @@
           இந்தக் கொள்கையை நீங்கள் அமைத்தால், இதைப் பயனர்கள் மாற்றவோ அல்லது மேலெழுதவோ முடியாது.
 
           இந்தக் கொள்கை அமைக்கப்படாமல் விட்டால், அதிக ஒளி மாறுபாடு பயன்முறை தொடக்கத்தில் முடக்கப்படும், ஆனால் பயனர் அதை எந்த நேரத்திலும் இயக்கலாம்.</translation>
-<translation id="815061180603915310">இந்தக் கொள்கையை இயக்கினால், அது கணக்கைத் தற்காலிகப் பயன்முறைக்கு வலிந்து மாற்றும். இந்தக் கொள்கையை 'OS கொள்கை' (எ.கா: Windowsஸிலுள்ள GPO) என அமைத்தால், அது சாதனத்தில் உள்ள எல்லா கணக்குகளிலும்  பயன்படுத்தப்படும்; கொள்கையை 'கிளவுட் கொள்கை' என அமைத்தால், நிர்வகிக்கப்படும் ஒரு கணக்கின் மூலம் உள்நுழைந்த கணக்குகளில் மட்டுமே பயன்படுத்தப்படும்.
+<translation id="815061180603915310">இந்தக் கொள்கையை இயக்கினால், அது கணக்கைத் தற்காலிகப் பயன்முறைக்கு மாற்ற வலியுறுத்தும். இந்தக் கொள்கையை OS கொள்கை (எ.கா: Windowsஸிலுள்ள GPO) என அமைத்தால், அது சாதனத்தில் உள்ள எல்லா கணக்குகளிலும் பயன்படுத்தப்படும்; இதை கிளவுட் கொள்கை என அமைத்தால், நிர்வகிக்கப்படும் கணக்கின் மூலம் உள்நுழைந்தால் மட்டுமே பயன்படுத்தப்படும்.
 
-      இந்தப் பயன்முறையில், பயனர் அமர்வு முடியும் வரை மட்டுமே சுயவிவரத் தரவானது டிஸ்க்கில் இருக்கும். உலாவியை மூடிய பின்னர், உலாவியில் தேடியவை, நீட்டிப்புகளும் அதன் தரவும், குக்கீகள் போன்ற இணையத் தரவு மற்றும் இணையத் தரவுத்தளங்கள் போன்ற அம்சங்கள் சேமிக்கப்படாது. எனினும் இது, பயனர்கள் ஏதேனும் தரவை டிஸ்க்கில் பதிவிறக்கி, பக்கங்களைச் சேமிப்பதையோ அச்சிடுவதையோ தடுக்காது.
+      இந்தப் பயன்முறையில், பயனர் அமர்வு நடைபெறும் வரை மட்டுமே கனக்குத் தரவு டிஸ்க்கில் இருக்கும். உலாவியை மூடிய பின்னர், உலாவல் வரலாறு போன்ற அம்சங்கள், நீட்டிப்புகளும் அதன் தரவும், குக்கீகள் போன்ற இணையத் தரவு மற்றும் இணையத் தரவுத்தளங்கள் ஆகியவை சேமிக்கப்படாது. எனினும் இது பயனர்கள் ஏதேனும் தரவை டிஸ்க்கில் பதிவிறக்கி, பக்கங்களைச் சேமித்து அச்சிடுவதைத் தடுக்காது.
 
-      பயனர் ஒத்திசைவை இயக்கியிருந்தால், வழக்கமான கணக்குகளைப் போலவே அவரின் ஒத்திசைவுக் கணக்கில் எல்லா தரவும் சேமிக்கப்படும். கொள்கையால் வெளிப்படையாக முடக்கப்படவில்லை எனில், மறைநிலைப் பயன்முறையையும் பயன்படுத்தலாம்.
+      பயனர் ஒத்திசைவை இயக்கியிருந்தால் வழக்கமான கணக்குகளைப் போலவே அவரின் ஒத்திசைவுக் கணக்கில் எல்லா தரவும் சேமிக்கப்படும். கொள்கையால் வெளிப்படையாக முடக்கப்படவில்லை எனில், மறைநிலைப் பயன்முறையையும் பயன்படுத்தலாம்.
 
-கொள்கையை முடக்கினாலோ அமைக்கப்படவில்லை என்றாலோ, பயனர் உள்நுழையும்போது வழக்கமான கணக்குகள் உருவாக்கப்படும்.</translation>
+      கொள்கையை முடக்கினாலோ அமைக்காமல் விட்டாலோ, பயனர் உள்நுழையும்போது வழக்கமான கணக்குகள் உருவாக்கப்படும்.</translation>
 <translation id="8158758865057576716"><ph name="PRODUCT_NAME" /> சுயவிவரத் தரவிற்கான ரோமிங் நகல்களை உருவாக்குவதை இயக்கு.</translation>
 <translation id="817455428376641507">URL தடுப்புப் பட்டியலுக்கான விதிவிலக்குகள் போன்று, பட்டியலிடப்பட்ட URLகளுக்கு அணுகலை அனுமதிக்கும்.
 
@@ -2719,7 +2722,7 @@
 Windows இல் <ph name="MS_AD_NAME" /> டொமைனுடன் இணைக்கப்பட்டிருக்கும் Windows நேர்வுகளுக்கு, இன்னும் பதிவகத்தின் வழியாகக் கொள்கையை வழங்குவது ஆதரிக்கப்பட்டாலும், கொள்கையை GPO வழியாக உள்ளமைக்கும் வழியே பரிந்துரைக்கப்படுகிறது.</translation>
 <translation id="8264653492961233132">பயனரின் பங்களிப்பு இல்லாமல் தானாக நிறுவப்படும், பயனரால் நிறுவல் நீக்க முடியாத மற்றும் முடக்க முடியாத ஆப்ஸ் மற்றும் நீட்டிப்புகளின் பட்டியலைக் குறிப்பிடும். ஆப்ஸ்/நீட்டிப்பின் இனிவரும் பதிப்புகள் கோரும் ஏதேனும் கூடுதல் அனுமதிகள் உட்பட, அவை கோரும் எல்லா அனுமதிகளும் பயனரின் பங்கு இல்லாமல் தானாகவே வழங்கப்படும். மேலும், enterprise.deviceAttributes மற்றும் enterprise.platformKeys நீட்டிப்பு APIகளுக்கு அனுமதிகள் வழங்கப்படும். (தானாக நிறுவப்படாத ஆப்ஸ்/நீட்டிப்புகளுக்கு இந்த இரண்டு APIகளும் இருக்காது.)
 
-          <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" /> கொள்கையுடன் இந்தக் கொள்கை முரண்பட்டால், இந்தக் கொள்கையே மேலோங்கிச் செயல்படும். ஏற்கனவே தானாக நிறுவப்பட்ட ஒரு ஆப்ஸோ நீட்டிப்போ இந்தப் பட்டியலிலிருந்து அகற்றப்பட்டால், <ph name="PRODUCT_NAME" /> அதைத் தானாகவே நிறுவல்நீக்கும்}.
+          <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" /> கொள்கையுடன் இந்தக் கொள்கை முரண்பட்டால், இந்தக் கொள்கையே மேலோங்கிச் செயல்படும். ஏற்கனவே தானாக நிறுவப்பட்ட ஒரு ஆப்ஸோ நீட்டிப்போ இந்தப் பட்டியலிலிருந்து அகற்றப்பட்டால், <ph name="PRODUCT_NAME" /> அதைத் தானாகவே நிறுவல்நீக்கும்.
 
           <ph name="MS_AD_NAME" /> டொமைனுடன் இணைக்கப்படாத Windows நேர்வுகளுக்கு, Chrome இணைய அங்காடியில் பட்டியலிடப்பட்டிருக்கும் ஆப்ஸுக்கும் நீட்டிப்புகளுக்கும் மட்டுமே தன்னிறுவல் மேற்கொள்ளப்படும்.
 
@@ -2775,9 +2778,25 @@
       கொள்கையானது 'பிணை' என அமைக்கப்பட்டால், பயனர் GPOக்களில் உள்ள பயனர் கொள்கையானது கணினி GPOக்களில் உள்ள பயனர் கொள்கையுடன் பிணைக்கப்படும் (கணினி GPOக்களுக்கு முன்னுரிமை அளிக்கப்படும்).
 
       கொள்கையானது 'மாற்றியமை' என அமைக்கப்பட்டால், பயனர் GPOக்களில் உள்ள பயனர் கொள்கையானது கணினி GPOக்களில் உள்ள பயனர் கொள்கை மூலம் மாற்றியமைக்கப்படும் (பயனர் GPOக்கள் புறக்கணிக்கப்படும்).</translation>
-<translation id="8465065632133292531">POST ஐப் பயன்படுத்தும் உடனடி URL க்கான அளவுருக்கள்</translation>
+<translation id="8465065632133292531">POSTடைப் பயன்படுத்தும் உடனடி URLலுக்கான அளவுருக்கள்</translation>
 <translation id="847472800012384958">பாப்-அப்களைக் காண்பிக்க எந்த தளத்தையும் அனுமதிக்காதே</translation>
 <translation id="8477885780684655676">TLS 1.0</translation>
+<translation id="8483004350080020634">இது ப்ராக்ஸி ரெசொல்யூசனின்போது, <ph name="PRODUCT_NAME" /> பயன்படுத்தும் PAC ஸ்கிரிப்ட்டுகளுக்கு (ப்ராக்ஸி ஆட்டோ கான்ஃபிக்) https:// URLகளை அனுப்பும் முன்பு, அதன் தனிப்பட்ட மற்றும் பாதுகாப்பு தொடர்பான முக்கியப் பகுதிகளை அகற்றும்.
+
+      
+‘சரி’ என அமைத்தால், பாதுகாப்பு அம்சம் இயக்கப்பட்டு, PAC ஸ்கிரிப்டிற்குச் சமர்ப்பிக்கும் முன் https:// URLகள் அகற்றப்படும். இதனால், வழக்கமாக என்க்ரிப்ஷன் செய்யப்பட்ட ஒரு சேனலால் பாதுகாக்கப்படும் தரவை (எ.கா: URLலின் தடம் மற்றும் வினவல் போன்றவை) PAC ஸ்கிரிப்ட்டினால் பார்க்க முடியாது.
+
+      
+‘தவறு’ என அமைத்தால், பாதுகாப்பு அம்சம் முடக்கப்படுவதோடு, https:// URLலின் எல்லாப் பகுதிகளையும் பார்க்க PAC ஸ்கிரிப்ட்டுகளுக்கு அனுமதி வழங்கப்படும். PAC ஸ்கிரிப்ட்டுகள் எங்கிருந்து பெறப்படுகின்றன என்பதைப் பொருட்படுத்தாமல் (பாதுகாப்பற்ற டிரான்ஸ்போர்ட் மூலம் பெறப்பட்டவை அல்லது பாதுகாப்பற்ற முறையில் WPAD மூலம் கண்டறியப்பட்டவை உள்ளிட்டவை), எல்லாப் PAC ஸ்கிரிப்ட்டுகளுக்கும் இந்தக் கொள்கை பொருந்தும்
+.
+
+      இயல்புநிலையில் இது ‘சரி’ என அமைக்கப்பட்டிருக்கும் (பாதுகாப்பு அம்சம் இயக்கப்பட்டிருக்கும்).
+
+      
+இதைச் ‘சரி’ என அமைக்குமாறு பரிந்துரைக்கிறோம். தற்போதுள்ள PAC ஸ்கிரிப்ட்டுகளுடன் இணங்குவதில் சிக்கல் இருந்தால் மட்டுமே இதைத் ‘தவறு’ என அமைக்கவும்
+.
+
+      M75 இல் இந்தக் கொள்கை அகற்றப்படும்.</translation>
 <translation id="8484458986062090479">ஹோஸ்ட் உலாவியால் எப்போதும் ரென்டர் செய்யப்பட வேண்டிய URL பேட்டர்ன்களின் பட்டியலைத் தனிப்பயனாக்கும்.
 
           இந்தக் கொள்கை அமைக்கப்படாவிட்டால் 'ChromeFrameRendererSettings' கொள்கையால் குறிப்பிடப்பட்டுள்ளபடி எல்லா தளங்களுக்கும் இயல்புநிலை ரென்டரர் பயன்படுத்தப்படும்.
diff --git a/components/policy/resources/policy_templates_te.xtb b/components/policy/resources/policy_templates_te.xtb
index 67cdd9f..3d054ef 100644
--- a/components/policy/resources/policy_templates_te.xtb
+++ b/components/policy/resources/policy_templates_te.xtb
@@ -153,6 +153,7 @@
 
       గమనిక: ఈ విధానం Androidలో వర్తించదు. Androidలో IsolateOrigins ప్రారంభించడానికి, IsolateOriginsAndroid విధాన సెట్టింగ్‌ను ఉపయోగించండి.
       </translation>
+<translation id="1377024960658062022">విధానం ద్వారా ఇన్‌స్టాల్ చేయబడిన ఎక్స్‌టెన్షన్‌లకు హార్డ్‌వేర్ ప్లాట్‌ఫారమ్ APIను ప్రారంభిస్తుంది</translation>
 <translation id="1384459581748403878">సూచన: <ph name="REFERENCE_URL" /></translation>
 <translation id="1387596372902085462">Symantec Corporation యొక్క Legacy PKI Infrastructureలో విశ్వసనీయతను ప్రారంభించాలో లేదో సూచిక</translation>
 <translation id="1393485621820363363">ఎంటర్‌ప్రైజ్ పరికరం ప్రింటర్‌లు ప్రారంభించబడ్డాయి</translation>
@@ -529,6 +530,9 @@
 <translation id="2201555246697292490">స్థానిక సందేశ పద్ధతి అనుమతి జాబితాను కాన్ఫిగర్ చేయండి</translation>
 <translation id="2204753382813641270">అర స్వయంచాలకంగా దాచబడటాన్ని నియంత్రించు</translation>
 <translation id="2208976000652006649">POSTని ఉపయోగించే శోధన URL కోసం పరామితులు</translation>
+<translation id="2214880135980649323">ఈ విధానాన్ని ప్రారంభించేలా సెట్ చేసినప్పుడు, ఎంటర్‌ప్రైజ్ హార్డ్‌వేర్ ప్లాట్‌ఫామ్ APIని ఉపయోగించేందుకు, ఎంటర్‌ప్రైజ్ విధానం ద్వారా ఇన్‌స్టాల్ చేయబడిన ఎక్స్‌టెన్షన్‌లు అనుమతించబడతాయి.
+      ఈ విధానాన్ని నిలిపివేసేలా సెట్ చేస్తే లేదా సెట్ చేయకపోతే, ఎంటర్‌ప్రైజ్ హార్డ్‌వేర్ ప్లాట్‌ఫామ్ APIని ఉపయోగించేందుకు ఎక్స్‌టెన్షన్‌లు ఏవీ అనుమతించబడవు.
+      ఈ విధానం Hangout సేవల ఎక్స్‌టెన్షన్ లాంటి అంతర్భాగ ఎక్స్‌టెన్షన్‌లకు కూడా వర్తిస్తుంది.</translation>
 <translation id="2223598546285729819">డిఫాల్ట్ ప్రకటన సెట్టింగ్</translation>
 <translation id="2231817271680715693">మొదటి అమలులోనే డిఫాల్ట్ బ్రౌజర్ నుండి బ్రౌజింగ్ చరిత్రను దిగుమతి చేయి</translation>
 <translation id="2236488539271255289">స్థానిక డేటాని సెట్ చెయ్యడానికి ఏ సైట్‌ని అనుమతించవద్దు</translation>
@@ -3223,6 +3227,25 @@
 <translation id="8465065632133292531">POSTని ఉపయోగించే తక్షణ URL కోసం పరామితులు</translation>
 <translation id="847472800012384958">పాప్‌అప్‌లని చూపించడానికి ఏ సైట్‌ని అనుమతించవద్దు</translation>
 <translation id="8477885780684655676">TLS 1.0</translation>
+<translation id="8483004350080020634">https:// URLలలో గోప్యతాపరంగా మరియు భద్రతాపరంగా రహస్యమైన భాగాలను ప్రాక్సీ పరిష్కార సమయంలో <ph name="PRODUCT_NAME" /> ద్వారా ఉపయోగించబడే PAC స్క్రిప్ట్‌లకు (ప్రాక్సీ స్వీయ కాన్ఫిగరేషన్) పంపే ముందు, ఆ భాగాలను వేరు చేస్తుంది.
+
+      ఒప్పుకు సెట్ చేసినప్పుడు, భద్రతా ఫీచర్ ప్రారంభించబడుతుంది మరియు https:// URLలు
+      PAC స్క్రిప్ట్‌కు సమర్పించబడే ముందు వేరు చేయబడతాయి. ఈ పద్ధతిలో,
+       సాధారణంగా ఒక ఎన్‌క్రిప్ట్ చేసిన ఛానెల్ (URL పథం మరియు ప్రశ్న వంటివి)
+      ద్వారా రక్షించబడిన డేటాను PAC స్క్రిప్ట్ వీక్షించలేదు.
+
+      తప్పుకు సెట్ చేసినప్పుడు, భద్రతా ఫీచర్ నిలిపివేయబడుతుంది మరియు PAC
+      స్క్రిప్ట్‌లకు https://URLలోని అన్ని అంతర్భాగాలను వీక్షించగలిగే
+      సామర్థ్యం సంపూర్ణంగా మంజూరు చేయబడుతుంది. ఇది మూలస్థానంతో
+      సంబంధం లేకుండా  (అసురక్షితమైన రవాణా పద్ధతిలో పొందిన లేదా
+      WPAD ద్వారా అసురక్షితంగా కనుగొనబడిన వాటితో సహా) అన్ని PAC స్క్రిప్ట్‌లకు వర్తిస్తుంది.
+
+      ఇది డిఫాల్ట్‌గా ఒప్పుకు సెట్ చేయబడి ఉంటుంది (భద్రతా ఫీచర్ ప్రారంభించబడి ఉంటుంది).
+
+      దీన్ని ఒప్పుకి సెట్ చేయాల్సిందిగా సిఫార్సు చేయడమైనది. ఇప్పటికే ఉన్న PAC స్క్రిప్ట్‌లతో దీనికి
+      అనుకూలత సమస్య తలెత్తినప్పుడు మాత్రమే దీనిని తప్పుకి సెట్ చేయాలి.
+
+      M75లో ఈ విధానం తీసివేయబడుతుంది.</translation>
 <translation id="8484458986062090479">ఎల్లవేళలా హోస్ట్ బ్రౌజర్ ద్వారా అమలయ్యే URL నమూనాల జాబితాను అనుకూలీకరిస్తుంది.
 
           ఈ విధానాన్ని సెట్ చేయకుంటే, అన్ని సైట్‌లకు 'ChromeFrameRendererSettings' విధానం ద్వారా పేర్కొన్న డిఫాల్ట్ రెండరర్ ఉపయోగించబడుతుంది.
diff --git a/components/policy/resources/policy_templates_th.xtb b/components/policy/resources/policy_templates_th.xtb
index 41ce1b4..a003163 100644
--- a/components/policy/resources/policy_templates_th.xtb
+++ b/components/policy/resources/policy_templates_th.xtb
@@ -137,6 +137,7 @@
 
       หมายเหตุ: นโยบายนี้ใช้ไม่ได้กับ Android หากต้องการเปิดใช้ IsolateOrigins ใน Android ให้ใช้การตั้งค่านโยบาย IsolateOriginsAndroid
       </translation>
+<translation id="1377024960658062022">เปิดใช้ Hardware Platform API สำหรับส่วนขยายที่ติดตั้งโดยนโยบาย</translation>
 <translation id="1384459581748403878">การอ้างอิง: <ph name="REFERENCE_URL" /></translation>
 <translation id="1387596372902085462">เลือกว่าจะเปิดใช้การเชื่อถือโครงสร้างพื้นฐานคีย์สาธารณะเดิมของ Symantec Corporation หรือไม่</translation>
 <translation id="1393485621820363363">เครื่องพิมพ์สำหรับอุปกรณ์ขององค์กรที่มีการเปิดใช้</translation>
@@ -452,6 +453,9 @@
 <translation id="2201555246697292490">กำหนดค่ารายการที่อนุญาตพิเศษสำหรับการรับส่งข้อความดั้งเดิม</translation>
 <translation id="2204753382813641270">ควบคุมการซ่อนชั้นวางอัตโนมัติ</translation>
 <translation id="2208976000652006649">พารามิเตอร์สำหรับ URL ค้นหาที่ใช้ POST</translation>
+<translation id="2214880135980649323">เมื่อตั้งค่านโยบายนี้เป็นเปิดใช้ ส่วนขยายที่ติดตั้งโดยนโยบายขององค์กรจะใช้ Enterprise Hardware Platform API ได้
+      เมื่อตั้งค่านโยบายนี้เป็นปิดใช้หรือไม่ได้ตั้งค่า จะไม่มีส่วนขยายใดใช้ Enterprise Hardware Platform API ได้
+      นโยบายนี้มีผลกับส่วนขยายคอมโพเนนต์ด้วย เช่น ส่วนขยายบริการ Hangouts</translation>
 <translation id="2223598546285729819">การตั้งค่าการแจ้งเตือนเริ่มต้น</translation>
 <translation id="2231817271680715693">นำเข้าประวัติการเรียกดูจากเบราว์เซอร์เริ่มต้นในการเรียกใช้งานครั้งแรก</translation>
 <translation id="2236488539271255289">ไม่อนุญาตให้ไซต์ใดๆ ตั้งค่าข้อมูลในตัวเครื่อง</translation>
@@ -2707,7 +2711,7 @@
 
           โปรดทราบว่าผู้ใช้จะแก้ไขซอร์สโค้ดของส่วนขยายใดๆ ผ่านเครื่องมือสำหรับนักพัฒนาซอฟต์แวร์ได้ (ซึ่งอาจทำให้ส่วนขยายทำงานผิดปกติ) หากกังวลว่าจะเกิดปัญหานี้ขึ้น คุณควรตั้งค่านโยบาย <ph name="DEVELOPER_TOOLS_POLICY_NAME" />
 
-          แต่ละรายการของนโยบายมีลักษณะเป็นสตริงที่มีรหัสส่วนขยายและอาจมี 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 ของส่วนขยาย นอกจากนี้ยังจำเป็นต้องระบุ URL "อัปเดต" อย่างชัดเจนใน <ph name="PRODUCT_NAME" /> ตั้งแต่เวอร์ชัน 67 ลงไปด้วย
+          แต่ละรายการของนโยบายมีลักษณะเป็นสตริงที่มีรหัสส่วนขยายและอาจมี 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 ของส่วนขยาย นอกจากนี้ยังจำเป็นต้องระบุ URL "อัปเดต" อย่างชัดเจนใน <ph name="PRODUCT_NAME" /> ตั้งแต่เวอร์ชัน 67 ลงไปด้วย
 
           ตัวอย่างเช่น <ph name="EXTENSION_POLICY_EXAMPLE" /> ติดตั้งแอป <ph name="EXTENSION_POLICY_EXAMPLE_EXTENSION_NAME" /> จาก URL "อัปเดต" มาตรฐานใน Chrome เว็บสโตร์ ดูข้อมูลเพิ่มเติมเกี่ยวกับการโฮสต์ส่วนขยายได้ที่ <ph name="LINK_TO_EXTENSION_DOC2" />
 
@@ -2764,6 +2768,25 @@
 <translation id="8465065632133292531">พารามิเตอร์สำหรับ URL ค้นหาทันใจที่ใช้ POST</translation>
 <translation id="847472800012384958">ไม่อนุญาตให้ไซต์ใดๆ แสดงป๊อปอัป</translation>
 <translation id="8477885780684655676">TLS 1.0</translation>
+<translation id="8483004350080020634">ตัดส่วนที่ละเอียดอ่อนต่อความเป็นส่วนตัวและความปลอดภัยใน URL แบบ https:// ก่อนส่งต่อไปยังสคริปต์ PAC (การกำหนดค่าพร็อกซีอัตโนมัติ) ที่ <ph name="PRODUCT_NAME" /> ใช้ระหว่างการแก้ปัญหาพร็อกซี
+
+      เมื่อมีค่าเป็น "จริง" ระบบจะเปิดใช้ฟีเจอร์ความปลอดภัยและตัด URL แบบ https://
+      ออกก่อนส่งไปยังสคริปต์ PAC เมื่อดำเนินการแบบนี้ สคริปต์ PAC
+      จะดูข้อมูลที่ปกป้องไว้ตามปกติโดยช่องทางที่เข้ารหัส
+      (เช่น เส้นทางและคำค้นหาของ URL) ไม่ได้
+
+      เมื่อมีค่าเป็น "เท็จ" ระบบจะปิดใช้ฟีเจอร์ความปลอดภัย และสคริปต์ PAC
+      จะดูคอมโพเนนต์ทั้งหมดของ URL แบบ https:// ได้โดยปริยาย
+      การตั้งค่านี้มีผลกับสคริปต์ PAC ทั้งหมดไม่ว่าจะมาจากที่ใด
+      (ซึ่งรวมถึงสคริปต์ที่ที่ดึงผ่านการขนส่งที่ไม่ปลอดภัย หรือค้นพบ
+      อย่างไม่ปลอดภัยผ่าน WPAD)
+
+      นโยบายนี้มีค่าเริ่มต้นเป็น "จริง" (เปิดใช้ฟีเจอร์ความปลอดภัย)
+
+      ขอแนะนำให้ตั้งค่านโยบายนี้เป็น "จริง" และตั้งค่าเป็น "เท็จ"
+      เฉพาะในกรณีที่นโยบายนี้ก่อให้เกิดปัญหาความเข้ากันได้กับสคริปต์ PAC ที่มีอยู่เท่านั้น
+
+      นโยบายนี้จะถูกนำออกในรุ่น M75</translation>
 <translation id="8484458986062090479">กำหนดค่ารายการรูปแบบ URL ที่ควรแสดงผลด้วยเบราว์เซอร์โฮสต์ทุกครั้ง
 
           หากไม่ตั้งค่านโยบายนี้ ระบบจะใช้ตัวแสดงผลเริ่มต้นกับเว็บไซต์ทั้งหมดตามที่ได้ระบุไว้โดยนโยบาย "ChromeFrameRendererSettings"
diff --git a/components/policy/resources/policy_templates_tr.xtb b/components/policy/resources/policy_templates_tr.xtb
index 6d1498c..bf0b51ec 100644
--- a/components/policy/resources/policy_templates_tr.xtb
+++ b/components/policy/resources/policy_templates_tr.xtb
@@ -120,6 +120,7 @@
 
       NOT: Bu politika Android için geçerli değildir. Android'de IsolateOrigins'i etkinleştirmek için IsolateOriginsAndroid politika ayarını kullanın.
       </translation>
+<translation id="1377024960658062022">Politika tarafından yüklenen uzantılar için Donanım Platformu API'sini etkinleştirir</translation>
 <translation id="1384459581748403878">Referans: <ph name="REFERENCE_URL" /></translation>
 <translation id="1387596372902085462">Symantec Corporation'ın Eski PKI Altyapısı'ndaki güvenin etkinleştirilip etkinleştirilmemesi</translation>
 <translation id="1393485621820363363">Etkinleştirilmiş kurumsal cihaz yazıcıları</translation>
@@ -450,6 +451,9 @@
 <translation id="2201555246697292490">Yerel mesajlaşma beyaz listesini yapılandır</translation>
 <translation id="2204753382813641270">Rafın otomatik olarak gizlenmesini kontrol et</translation>
 <translation id="2208976000652006649">POST kullanan arama URL'si için parametreler</translation>
+<translation id="2214880135980649323">Bu politika etkin değerine ayarlandığında, kurumsal politika tarafından yüklenen uzantıların Kurumsal Donanım Platformu API'sini kullanmasına izin verilir.
+      Bu politika devre dışı değerine ayarlandığında veya ayarlanmadan bırakıldığında, hiçbir uzantının Kurumsal Donanım Platformu API'sini kullanmasına izin verilmez.
+      Bu politika, Hangout Hizmetleri uzantısı gibi bileşen uzantıları için de geçerli olur.</translation>
 <translation id="2223598546285729819">Varsayılan bildirim ayarı</translation>
 <translation id="2231817271680715693">İlk çalıştırmada tarama geçmişini varsayılan tarayıcıdan içe aktar</translation>
 <translation id="2236488539271255289">Hiçbir sitenin yerel verileri ayarlamasına izin verme</translation>
@@ -895,7 +899,7 @@
 
       Önceden seçilmiş olan klavye düzeni her zaman, önceden seçilmiş yerel ayarla eşleşen en popüler düzen olur.
 
-      Bu politika yalnızca önerildiği şekilde ayarlanabilir. Önerilen yerel ayarları en üste taşımak için bu politikayı kullanabilirsiniz, ancak kullanıcıların oturumları için <ph name="PRODUCT_OS_NAME" /> tarafından desteklenen herhangi bir yerel ayarı seçmesine her zaman izin verilir.
+      Bu politika yalnızca öneride bulunabilir. Önerilen yerel ayarları en üste taşımak için bu politikayı kullanabilirsiniz, ancak kullanıcıların oturumları için <ph name="PRODUCT_OS_NAME" /> tarafından desteklenen herhangi bir yerel ayarı seçmesine her zaman izin verilir.
       </translation>
 <translation id="3381968327636295719">Varsayılan olarak ana makine tarayıcısını kullan</translation>
 <translation id="3414260318408232239">Bu politika yapılandırılmazsa, <ph name="PRODUCT_NAME" /> varsayılan minimum sürüm olarak TLS 1.0'ı kullanır.
@@ -1646,7 +1650,7 @@
           Bu politika ayarlanmadan bırakılırsa kullanılan varsayılan ayar, oluşturma işlemini ana makine tarayıcısının yapmasına izin vermektir, ancak isteğe bağlı olarak bu ayarı geçersiz kılabilir ve HTML sayfalarını oluşturma işleminin varsayılan olarak <ph name="PRODUCT_FRAME_NAME" /> tarafından yapılmasını sağlayabilirsiniz.</translation>
 <translation id="5464816904705580310">Yönetilen kullanıcılar için ayarları yapılandırın.</translation>
 <translation id="546726650689747237">AC güçle çalışırken ekran karartma gecikmesi</translation>
-<translation id="5469143988693423708">Kullanıcı Crostini'yi çalıştırabilmek üzere etkinleştirilir</translation>
+<translation id="5469143988693423708">Kullanıcının Crostini'yi çalıştırmasına izin verilir</translation>
 <translation id="5469825884154817306">Bu sitelerdeki resimleri engelle</translation>
 <translation id="5475361623548884387">Yazdırmayı etkinleştir</translation>
 <translation id="547601067149622666">Arayan giren reklamların yer aldığı sitelerde reklamlara izin verme</translation>
@@ -2663,7 +2667,7 @@
 <translation id="7976157349247117979"><ph name="PRODUCT_NAME" /> hedefinin adı</translation>
 <translation id="7980227303582973781">Özel kısıtlama yok</translation>
 <translation id="7985242821674907985"><ph name="PRODUCT_NAME" /></translation>
-<translation id="7992136759457836904">Chrome OS'de sanal makinelerin çalıştırılmasına izin verilip verilmeyeceğini kontrol etmenize olanak tanır.
+<translation id="7992136759457836904">Chrome OS'te sanal makinelerin çalıştırılmasına izin verilip verilmeyeceğini kontrol etmenize olanak tanır.
 
       Politika True (Doğru) değerine ayarlanırsa cihazın sanal makine çalıştırmasına izin verilir.
       Politika False (Yanlış) değerine ayarlanırsa cihazın sanal makine çalıştırmasına izin verilmez.
@@ -2845,6 +2849,11 @@
 <translation id="8465065632133292531">POST kullanan anlık URL parametreleri</translation>
 <translation id="847472800012384958">Hiçbir sitenin pop-up göstermesine izin verme</translation>
 <translation id="8477885780684655676">TLS 1.0</translation>
+<translation id="8483004350080020634">https:// URL'lerini, proxy çözümlemesi sırasında <ph name="PRODUCT_NAME" /> tarafından kullanılan PAC (Proxy Otomatik Yapılandırması) komut dosyalarına geçirmeden önce URL'lerin gizlilik ve güvenlik açısından hassas bölümlerini ayırır.
+
+      True (Doğru) değerine ayarlandığında güvenlik özelliği etkinleştirilir ve https:// URL'leri bir PAC komut dosyasına gönderilmeden önce ayrılır. Bu şekilde, PAC komut dosyası normalde şifrelenmiş kanalla korunan (URL'nin yolu ve sorgusu gibi) verileri görüntüleyemez.
+
+      Politika False (Yanlış) değerine ayarlandığında, güvenlik özelliği devre dışı bırakılır ve PAC komut dosyalarına https:// URL'sinin tüm bileşenlerini görüntüleme izni örtülü olarak verilir. Bu ayar, kaynağından bağımsız olarak tüm PAC komut dosyaları (güvenli olmayan bir aktarım üzerinden getirilenlerin yanı sıra WPAD üzerinden güvenli olmayan bir şekilde keşfedilenler dahil) için geçerlidir.</translation>
 <translation id="8484458986062090479">Her zaman ana makine tarayıcısı tarafından oluşturulması gereken URL kalıplarının listesini özelleştirir.
 
           Bu politika ayarlanmazsa, tüm siteler için "ChromeFrameRendererSettings" politikası tarafından belirtilen varsayılan oluşturucu kullanılır.
diff --git a/components/policy/resources/policy_templates_uk.xtb b/components/policy/resources/policy_templates_uk.xtb
index 1c98bb7..8ee96d6 100644
--- a/components/policy/resources/policy_templates_uk.xtb
+++ b/components/policy/resources/policy_templates_uk.xtb
@@ -139,6 +139,7 @@
 
       ПРИМІТКА. Це правило не стосується Android. Щоб увімкнути IsolateOrigins на Android, скористайтеся налаштуванням правила IsolateOriginsAndroid.
       </translation>
+<translation id="1377024960658062022">Вмикає API Hardware Platform для розширень, установлених згідно з політикою</translation>
 <translation id="1384459581748403878">Довідкові матеріали: <ph name="REFERENCE_URL" /></translation>
 <translation id="1387596372902085462">Позначення застарілої інфраструктури PKI корпорації Symantec надійною</translation>
 <translation id="1393485621820363363">Увімкнені принтери пристроїв підприємства</translation>
@@ -461,6 +462,9 @@
 <translation id="2201555246697292490">Налаштування білого списку хостів для обміну повідомленнями з оригінальними додатками</translation>
 <translation id="2204753382813641270">Контролювати автоматичне ховання полиці</translation>
 <translation id="2208976000652006649">Параметри URL-адреси пошуку, яка використовує метод POST</translation>
+<translation id="2214880135980649323">Якщо правило ввімкнено, розширення, установлені згідно з корпоративною політикою, можуть використовувати API Enterprise Hardware Platform.
+      Якщо правило вимкнено або не налаштовано, жодне розширення не може використовувати API Enterprise Hardware Platform.
+      Це правило також застосовується до розширень компонентів, як-от розширення сервісів Hangouts.</translation>
 <translation id="2223598546285729819">Налаштування сповіщень за умовчанням</translation>
 <translation id="2231817271680715693">Імпорт історії веб-перегляду з веб-переглядача за умовчанням під час першого запуску</translation>
 <translation id="2236488539271255289">Забороняти всім сайтам установлювати локальні дані</translation>
@@ -1122,7 +1126,7 @@
 
       Якщо для цього правила встановлено значення false, <ph name="PRODUCT_OS_NAME" /> не показуватиме на екрані входу наявних користувачів. Коли керований сеанс не налаштовано, відображатиметься звичайний екран входу (де користувача просять ввести електронну адресу й пароль або номер телефону) чи проміжний екран SAML (коли його ввімкнено правилом <ph name="LOGIN_AUTHENTICATION_BEHAVIOR_POLICY_NAME" />). Якщо керований сеанс налаштовано, буде показано лише облікові записи керованого сеансу, серед яких можна вибрати потрібний.
 
-      Зауважте, що це правило не впливає на те, чи зберігає пристрій дані локального користувача.</translation>
+      Зауважте, що це правило не впливає на те, чи зберігає пристрій дані локальних користувачів.</translation>
 <translation id="4010738624545340900">Дозволити виклик діалогових вікон вибору файлу</translation>
 <translation id="4012737788880122133">Вимикає автоматичні оновлення, коли вибрано значення "true".
 
@@ -2246,7 +2250,7 @@
 
           Якщо це правило не встановлено, користувач зможе змінити це налаштування вручну.</translation>
 <translation id="723103540848640830">Установити мінімальну довжину PIN-коду для блокування екрана</translation>
-<translation id="7232816984286843471">Якщо це правило має значення false, незалежні користувачі не мають доступу до Crostini.
+<translation id="7232816984286843471">Якщо це правило має значення false, сторонні користувачі не мають доступу до Crostini.
 
       Якщо це правило не налаштовано або для нього встановлено значення true, усі користувачі можуть запускати Crostini, доки це дозволяється іншими параметрами.
       Для всіх трьох правил (VirtualMachinesAllowed, CrostiniAllowed і DeviceUnaffiliatedCrostiniAllowed) має бути встановлено значення true, коли вони подають запит на дозвіл запустити Crostini.
@@ -2584,7 +2588,7 @@
 <translation id="7976157349247117979">Назва місця призначення <ph name="PRODUCT_NAME" /></translation>
 <translation id="7980227303582973781">Немає особливих обмежень</translation>
 <translation id="7985242821674907985"><ph name="PRODUCT_NAME" /></translation>
-<translation id="7992136759457836904">Дає змогу контролювати, чи в ОС Chrome можна запускати віртуальні машини.
+<translation id="7992136759457836904">Дає змогу дозволяти або забороняти запуск віртуальних машин в ОС Chrome.
 
       Якщо для цього правила вибрано значення true, пристрою дозволено запускати віртуальні машини.
       Якщо для цього правила вибрано значення false, пристрою заборонено запускати віртуальні машини.
@@ -2768,6 +2772,25 @@
 <translation id="8465065632133292531">Параметри URL-адреси миттєвого пошуку, яка використовує метод POST</translation>
 <translation id="847472800012384958">Забороняти всім сайтам показувати спливаючі вікна</translation>
 <translation id="8477885780684655676">TLS 1.0</translation>
+<translation id="8483004350080020634">Видаляються конфіденційні частини URL-адрес, що починаються на https://, перш ніж надсилати їх у сценарії PAC (Proxy Auto Config), за якими <ph name="PRODUCT_NAME" /> визначає проксі.
+
+      Якщо для цього правила вибрано значення true, вмикається функція
+      безпеки й конфіденційні дані з URL-адрес, що починаються на https://,
+      видаляються, перш вони надсилаються в сценарії PAC. Тож
+      у сценаріях PAC не видно даних, які зазвичай захищаються
+      зашифрованим каналом (як-от шлях чи запит URL-адреси).
+
+      Якщо для цього правила вибрано значення false, функцію безпеки
+      вимкикається, а в сценарії PAC видно повну URL-адресу за умовчанням. Це
+      налаштування застосовується до всіх сценаріїв PAC, незалежно від того,
+      чи їх отримано через незахищений канал або виявлено через WPAD.
+
+      Для цього правила за умовчанням вибрано значення true (вмикається функція безпеки).
+
+      Рекомендується вибирати значення true. Вибирати false
+      варто, лише якщо правило несумісне з наявними сценаріями PAC.
+
+      Це правило буде видалено у версії M75.</translation>
 <translation id="8484458986062090479">Налаштовується список шаблонів URL-адрес, які завжди мають відтворюватися в основному веб-переглядачі.
 
           Якщо це правило не встановлено, для всіх сайтів використовується засіб відтворення за умовчанням згідно з правилом "ChromeFrameRendererSettings".
diff --git a/components/policy/resources/policy_templates_vi.xtb b/components/policy/resources/policy_templates_vi.xtb
index 0ceb1b3..321b2f3 100644
--- a/components/policy/resources/policy_templates_vi.xtb
+++ b/components/policy/resources/policy_templates_vi.xtb
@@ -137,6 +137,7 @@
 
       LƯU Ý: Chính sách này không áp dụng trên Android. Để bật IsolateOrigins trên Android, hãy sử dụng tùy chọn cài đặt chính sách IsolateOriginsAndroid.
       </translation>
+<translation id="1377024960658062022">Bật API nền tảng phần cứng cho các tiện ích đã cài đặt chính sách</translation>
 <translation id="1384459581748403878">Tham khảo: <ph name="REFERENCE_URL" /></translation>
 <translation id="1387596372902085462">Xem có cho phép tin cậy Cơ sở hạ tầng khóa công khai (KPI) cũ của Symantec Corporation hay không</translation>
 <translation id="1393485621820363363">Đã bật máy in kết nối với thiết bị dành cho doanh nghiệp</translation>
@@ -466,6 +467,9 @@
 <translation id="2201555246697292490">Định cấu hình danh sách cho phép nhắn tin gốc</translation>
 <translation id="2204753382813641270">Kiểm soát tự động ẩn giá</translation>
 <translation id="2208976000652006649">Tham số cho URL tìm kiếm sử dụng POST</translation>
+<translation id="2214880135980649323">Khi đặt chính sách này thành bật, các tiện ích được cài đặt theo chính sách doanh nghiệp sẽ được phép sử dụng API nền tảng phần cứng doanh nghiệp.
+      Khi chưa đặt hoặc đặt chính sách này thành tắt, thì không tiện ích nào được phép sử dụng API nền tảng phần cứng doanh nghiệp.
+      Chính sách này cũng áp dụng cho các tiện ích thành phần, chẳng hạn như tiện ích Dịch vụ Hangout.</translation>
 <translation id="2223598546285729819">Cài đặt thông báo mặc định</translation>
 <translation id="2231817271680715693">Nhập lịch sử duyệt từ trình duyệt mặc định trong lần chạy đầu tiên</translation>
 <translation id="2236488539271255289">Không cho phép bất kỳ trang web nào lưu dữ liệu trên máy</translation>
@@ -898,21 +902,21 @@
           Nếu không đặt chính sách này, thì giá trị mặc định chung sẽ được sử dụng cho tất cả các trang web từ chính sách 'DefaultCookiesSetting', nếu chính sách đó được đặt, hoặc từ cấu hình cá nhân của người dùng.
 
           Ngoài ra, hãy xem các chính sách 'CookiesBlockedForUrls' và 'CookiesSessionOnlyForUrls'. Lưu ý rằng không được có các mẫu URL xung đột giữa 3 chính sách này - chưa có chính sách nào được chỉ định là chính sách ưu tiên.</translation>
-<translation id="3373364525435227558">Đặt một hoặc nhiều ngôn ngữ được đề xuất cho phiên được quản lý, giúp người dùng dễ dàng chọn một trong số các ngôn ngữ này.
+<translation id="3373364525435227558">Đặt một hoặc nhiều ngôn ngữ đề xuất cho phiên được quản lý, cho phép người dùng dễ dàng chọn một trong số các ngôn ngữ này.
 
-      Người dùng có thể chọn ngôn ngữ và bố cục bàn phím trước khi bắt đầu một phiên được quản lý. Theo mặc định, tất cả các ngôn ngữ mà <ph name="PRODUCT_OS_NAME" /> hỗ trợ sẽ được liệt kê theo thứ tự trong bảng chữ cái. Bạn có thể sử dụng chính sách này để di chuyển một nhóm ngôn ngữ được đề xuất lên đầu danh sách.
+      Người dùng có thể chọn ngôn ngữ và bố cục bàn phím trước khi bắt đầu một phiên được quản lý. Theo mặc định, tất cả các ngôn ngữ mà <ph name="PRODUCT_OS_NAME" /> hỗ trợ sẽ được liệt kê theo thứ tự trong bảng chữ cái. Bạn có thể sử dụng chính sách này để di chuyển một nhóm ngôn ngữ đề xuất lên đầu danh sách.
 
       Nếu chưa đặt chính sách này, thì ngôn ngữ hiện áp dụng cho giao diện người dùng sẽ được chọn trước.
 
-      Nếu đặt chính sách này, thì các ngôn ngữ được đề xuất sẽ được chuyển lên đầu danh sách cũng như được tách biệt rõ ràng với tất cả các ngôn ngữ khác. Các ngôn ngữ được đề xuất sẽ được liệt kê theo trình tự mà chúng xuất hiện trong chính sách. Ngôn ngữ đầu tiên được đề xuất sẽ được chọn trước.
+      Nếu đặt chính sách này, thì các ngôn ngữ đề xuất sẽ được chuyển lên đầu danh sách cũng như được tách biệt rõ ràng với tất cả các ngôn ngữ khác. Các ngôn ngữ đề xuất sẽ được liệt kê theo trình tự mà chúng xuất hiện trong chính sách. Ngôn ngữ đầu tiên được đề xuất sẽ được chọn trước.
 
-      Nếu có nhiều ngôn ngữ được đề xuất, thì có thể giả định rằng người dùng sẽ muốn chọn giữa các ngôn ngữ này. Mục lựa chọn bố cục bàn phím và ngôn ngữ sẽ được hiển thị một cách nổi bật khi bắt đầu một phiên được quản lý. Nếu không, có thể giả định rằng hầu hết người dùng đều muốn sử dụng ngôn ngữ đã chọn trước. Khi đó mục lựa chọn bố cục bàn phím và ngôn ngữ sẽ được hiển thị một cách ít nổi bật hơn khi bắt đầu một phiên được quản lý.
+      Nếu có nhiều ngôn ngữ đề xuất, thì hệ thống giả định rằng người dùng sẽ muốn chọn trong số các ngôn ngữ này. Mục lựa chọn bố cục bàn phím và ngôn ngữ sẽ được hiển thị nổi bật khi bắt đầu một phiên được quản lý. Nếu không, hệ thống giả định rằng hầu hết người dùng đều muốn sử dụng ngôn ngữ đã chọn trước. Khi đó, mục lựa chọn bố cục bàn phím và ngôn ngữ sẽ được hiển thị ít nổi bật hơn khi bắt đầu một phiên được quản lý.
 
-      Khi đã đặt chính sách này cũng như khi tính năng đăng nhập tự động ở trạng thái bật (hãy xem các chính sách |DeviceLocalAccountAutoLoginId| và |DeviceLocalAccountAutoLoginDelay|), phiên được quản lý đã tự động bắt đầu sẽ sử dụng ngôn ngữ được đề xuất đầu tiên và bố cục bàn phím phổ biến nhất phù hợp với ngôn ngữ đó.
+      Khi đặt chính sách này cũng như khi bật tính năng đăng nhập tự động (hãy xem các chính sách |DeviceLocalAccountAutoLoginId| và |DeviceLocalAccountAutoLoginDelay|), phiên được quản lý đã tự động bắt đầu sẽ sử dụng ngôn ngữ đề xuất đầu tiên và bố cục bàn phím phổ biến nhất phù hợp với ngôn ngữ đó.
 
       Bố cục bàn phím đã chọn trước sẽ luôn là bố cục bàn phím phổ biến nhất phù hợp với ngôn ngữ đã chọn trước.
 
-      Chỉ có thể đặt chính sách này thành được đề xuất. Bạn có thể sử dụng chính sách này để di chuyển một nhóm ngôn ngữ được đề xuất lên trên cùng, tuy nhiên, người dùng luôn được phép chọn bất kỳ ngôn ngữ nào được <ph name="PRODUCT_OS_NAME" /> hỗ trợ cho phiên của họ.
+      Chỉ có thể đặt chính sách này thành đề xuất. Bạn có thể sử dụng chính sách này để di chuyển một nhóm ngôn ngữ đề xuất lên trên cùng, tuy nhiên, người dùng luôn được phép chọn bất kỳ ngôn ngữ nào được <ph name="PRODUCT_OS_NAME" /> hỗ trợ cho phiên của họ.
       </translation>
 <translation id="3381968327636295719">Sử dụng trình duyệt chính theo mặc định</translation>
 <translation id="3414260318408232239">Nếu bạn chưa định cấu hình chính sách này, thì <ph name="PRODUCT_NAME" /> sẽ sử dụng phiên bản tối thiểu mặc định là TLS 1.0.
@@ -1146,9 +1150,9 @@
       Nếu chính sách này được đặt thành true hoặc không được đặt, người dùng sẽ có thể đổi phiếu mua hàng thông qua Đăng ký Chrome OS.
 
       Nếu chính sách này được đặt thành false, người dùng sẽ không thể đổi phiếu mua hàng.</translation>
-<translation id="4008507541867797979">Nếu đặt chính sách này thành true hoặc để ở trạng thái chưa định cấu hình, thì <ph name="PRODUCT_OS_NAME" /> sẽ hiển thị người dùng hiện có trên màn hình đăng nhập và cho phép chọn một người dùng.
+<translation id="4008507541867797979">Nếu đặt chính sách này thành true hoặc không định cấu hình chính sách này, thì <ph name="PRODUCT_OS_NAME" /> sẽ hiển thị người dùng hiện có trên màn hình đăng nhập và cho phép chọn một người dùng.
 
-      Nếu đặt chính sách này thành false, <ph name="PRODUCT_OS_NAME" /> sẽ không hiển thị người dùng hiện có trên màn hình đăng nhập. Thay vào đó, màn hình đăng nhập thông thường (nhắc người dùng nhập email và mật khẩu hoặc số điện thoại) hoặc màn hình quảng cáo xen kẽ SAML (nếu đã bật qua chính sách <ph name="LOGIN_AUTHENTICATION_BEHAVIOR_POLICY_NAME" />) sẽ hiển thị, trừ khi đã định cấu hình phiên được quản lý. Khi đã định cấu hình phiên được quản lý, thì chỉ có các tài khoản của phiên được quản lý hiển thị, giúp bạn chọn một trong số các tài khoản đó.
+      Nếu đặt chính sách này thành false, <ph name="PRODUCT_OS_NAME" /> sẽ không hiển thị người dùng hiện có trên màn hình đăng nhập. Thay vào đó, màn hình đăng nhập thông thường (nhắc người dùng nhập email và mật khẩu hoặc số điện thoại) hoặc màn hình SAML xem kẽ (nếu đã bật qua chính sách <ph name="LOGIN_AUTHENTICATION_BEHAVIOR_POLICY_NAME" />) sẽ hiển thị, trừ khi đã định cấu hình phiên được quản lý. Khi đã định cấu hình phiên được quản lý, thì chỉ có các tài khoản của phiên được quản lý hiển thị, cho phép bạn chọn một trong số các tài khoản đó.
 
       Hãy lưu ý rằng chính sách này không ảnh hưởng đến việc thiết bị có lưu hoặc hủy bỏ dữ liệu trên máy của người dùng hay không.</translation>
 <translation id="4010738624545340900">Cho phép kích hoạt các hộp thoại chọn tệp</translation>
@@ -1563,11 +1567,11 @@
 
           Nếu không thiết lập chính sách này, giá trị mặc định chung từ chính sách 'DefaultCookiesSetting' nếu chính sách này được thiết lập hoặc từ cấu hình cá nhân của người dùng sẽ được sử dụng cho tất cả các trang web.</translation>
 <translation id="5219844027738217407">Đối với các ứng dụng Android, chính sách này chỉ ảnh hưởng đến micrô. Khi chính sách này được đặt thành true, micrô sẽ bị tắt tiếng cho tất cả ứng dụng Android mà không có ngoại lệ nào.</translation>
-<translation id="5228316810085661003">Thời gian chờ trước khi tự động đăng nhập vào tài khoản trên thiết bị.
+<translation id="5228316810085661003">Độ trễ của tính năng tự động đăng nhập vào tài khoản trên thiết bị.
 
       Nếu chưa đặt chính sách |DeviceLocalAccountAutoLoginId|, thì chính sách này sẽ không có hiệu lực. Ngược lại:
 
-      Nếu đã đặt chính sách này, thì chính sách sẽ xác định thời gian chờ trước khi tự động đăng nhập vào tài khoản trên thiết bị theo chỉ định của chính sách |DeviceLocalAccountAutoLoginId| khi không có hoạt động của người dùng.
+      Nếu đã đặt chính sách này, thì chính sách sẽ xác định thời gian không có hoạt động của người dùng trước khi tự động đăng nhập vào tài khoản trên thiết bị theo chỉ định của chính sách |DeviceLocalAccountAutoLoginId|.
 
       Nếu chưa đặt chính sách này, thì 0 mili giây sẽ được dùng làm thời gian chờ.
 
@@ -1592,12 +1596,12 @@
 <translation id="5272684451155669299">Nếu true, người dùng có thể sử dụng phần cứng trên thiết bị Chrome để chứng thực từ xa danh tính của thiết bị với CA bảo mật qua <ph name="ENTERPRISE_PLATFORM_KEYS_API" /> bằng <ph name="CHALLENGE_USER_KEY_FUNCTION" />.
 
           Nếu cài đặt được đặt thành false hoặc chưa được đặt, cuộc gọi tới API sẽ không thực hiện được với mã lỗi.</translation>
-<translation id="5277806246014825877">Cho phép người dùng này sử dụng Crostini.
+<translation id="5277806246014825877">Cho phép người dùng này chạy Crostini.
 
       Nếu đặt chính sách này thành false, thì người dùng không được phép sử dụng Crostini.
       Nếu đặt thành true hoặc không đặt, thì người dùng được phép sử dụng Crostini miễn là các tùy chọn cài đặt khác cũng cho phép sử dụng Crostini.
-      Cần đặt tất cả ba chính sách, VirtualMachinesAllowed, CrostiniAllowed và DeviceUnaffiliatedCrostiniAllowed thành true khi áp dụng cho Crostini được phép sử dụng.
-      Khi đổi chính sách này thành false, chính sách sẽ áp dụng cho quá trình khởi động các vùng chứa Crostini mới nhưng không tắt các vùng chứa đang sử dụng.</translation>
+      Để cho phép chạy Crostini, bạn Cần đặt tất cả ba chính sách, VirtualMachinesAllowed, CrostiniAllowed và DeviceUnaffiliatedCrostiniAllowed thành true.
+      Khi đổi chính sách này thành false, chính sách sẽ áp dụng cho quá trình khởi động các vùng chứa Crostini mới nhưng không tắt các vùng chứa đang chạy.</translation>
 <translation id="5283457834853986457">Tắt trình tìm kiếm plugin (không được dùng nữa)</translation>
 <translation id="5288772341821359899">Nếu đã đặt chính sách, phạm vi cổng UDP mà WebRTC sử dụng sẽ được hạn chế đến phạm vi cổng được chỉ định (đã bao gồm cả điểm cuối).
 
@@ -1670,7 +1674,7 @@
           Cài đặt mặc định, được sử dụng khi không thiết lập chính sách này, cho phép trình duyệt chính thực hiện chức năng hiển thị nhưng bạn có thể tùy chọn ghi đè cài đặt này và yêu cầu  <ph name="PRODUCT_FRAME_NAME" /> hiển thị các trang HTML theo mặc định.</translation>
 <translation id="5464816904705580310">Định cấu hình cài đặt cho người dùng được quản lý.</translation>
 <translation id="546726650689747237">Độ trễ mờ màn hình khi chạy trên nguồn AC</translation>
-<translation id="5469143988693423708">Người dùng được phép sử dụng Crostini</translation>
+<translation id="5469143988693423708">Người dùng được phép chạy Crostini</translation>
 <translation id="5469825884154817306">Chặn hình ảnh trên các trang web này</translation>
 <translation id="5475361623548884387">Bật tính năng in</translation>
 <translation id="547601067149622666">Không cho phép quảng cáo trên các trang web chứa quảng cáo xâm nhập</translation>
@@ -1972,9 +1976,9 @@
 <translation id="6310223829319187614">Bật tự động hoàn tất tên miền trong khi người dùng đăng nhập</translation>
 <translation id="6315673513957120120">Chrome hiển thị trang cảnh báo khi người dùng truy cập các trang web gặp lỗi SSL. Theo mặc định hoặc khi chính sách này được đặt thành true, người dùng được phép nhấp qua các trang cảnh báo này.
       Đặt chính sách này thành false sẽ không cho phép người dùng nhấp qua bất kỳ trang cảnh báo nào.</translation>
-<translation id="6352543686437322588">Tự động đăng nhập vào tài khoản trên thiết bị sau một khoảng thời gian chờ.
+<translation id="6352543686437322588">Tự động đăng nhập vào tài khoản trên thiết bị sau một khoảng thời gian trễ.
 
-      Nếu đặt chính sách này, thì phiên đã chỉ định sẽ tự động được đăng nhập tại màn hình đăng nhập sau một khoảng thời gian chờ mà không cần có sự tương tác của người dùng. Bạn phải định cấu hình sẵn tài khoản trên thiết bị (hãy xem |DeviceLocalAccounts|).
+      Nếu đặt chính sách này, thì phiên đã chỉ định sẽ tự động được đăng nhập tại màn hình đăng nhập sau một khoảng thời gian trôi qua mà không cần có sự tương tác của người dùng. Bạn phải định cấu hình sẵn tài khoản trên thiết bị (hãy xem |DeviceLocalAccounts|).
 
       Nếu chưa đặt chính sách này, thì quá trình tự động đăng nhập sẽ không diễn ra.</translation>
 <translation id="6353901068939575220">Chỉ định tham số được dùng khi tìm kiếm URL với POST. Tham số này bao gồm các cặp tên/giá trị phân tách bằng dấu phẩy. Nếu một giá trị là tham số mẫu như {searchTerms} trong ví dụ trên, tham số đó sẽ được thay thế bằng dữ liệu cụm từ tìm kiếm thực.
@@ -2344,7 +2348,7 @@
 <translation id="7232816984286843471">Nếu đặt chính sách thành false, thì người dùng chưa liên kết sẽ không được phép sử dụng Crostini.
 
       Nếu chưa đặt hoặc đặt chính sách thành true, thì tất cả người dùng đều được phép sử dụng Crostini miễn là các tùy chọn cài đặt khác cũng cho phép sử dụng Crostini.
-      Cần đặt cả ba chính sách, VirtualMachinesAllowed, CrostiniAllowed và DeviceUnaffiliatedCrostiniAllowed thành true khi áp dụng cho Crostini được phép sử dụng.
+      Để cho phép chạy Crostini, bạn cần đặt cả ba chính sách, VirtualMachinesAllowed, CrostiniAllowed và DeviceUnaffiliatedCrostiniAllowed thành true.
       Khi đổi chính sách này thành false, chính sách sẽ áp dụng cho quá trình khởi động các vùng chứa Crostini mới nhưng không tắt các vùng chứa đang sử dụng.</translation>
 <translation id="7234280155140786597">Tên của các máy chủ nhắn tin gốc bị cấm (hoặc * cho tất cả)</translation>
 <translation id="7236775576470542603">Đặt loại kính lúp màn hình mặc định được bật trên màn hình đăng nhập.
@@ -2683,11 +2687,11 @@
 <translation id="7976157349247117979">Tên của đích <ph name="PRODUCT_NAME" /></translation>
 <translation id="7980227303582973781">Không có hạn chế đặc biệt</translation>
 <translation id="7985242821674907985"><ph name="PRODUCT_NAME" /></translation>
-<translation id="7992136759457836904">Giúp bạn kiểm soát xem có được phép sử dụng máy ảo trên Chrome OS hay không.
+<translation id="7992136759457836904">Cho phép bạn kiểm soát xem có được phép chạy máy ảo trên Chrome OS hay không.
 
-      Nếu đặt chính sách thành True, thì thiết bị này được phép sử dụng máy ảo.
-      Nếu đặt chính sách thành False, thì thiết bị này sẽ không được phép sử dụng máy ảo.
-      Cần đặt cả ba chính sách, VirtualMachinesAllowed, CrostiniAllowed và DeviceUnaffiliatedCrostiniAllowed thành true khi áp dụng cho Crostini được phép sử dụng.
+      Nếu đặt chính sách thành True, thì thiết bị này được phép chạy máy ảo.
+      Nếu đặt chính sách thành False, thì thiết bị này sẽ không được phép chạy máy ảo.
+      Để cho phép chạy Crostini, cần đặt cả ba chính sách, VirtualMachinesAllowed, CrostiniAllowed và DeviceUnaffiliatedCrostiniAllowed thành true.
       Khi đổi chính sách này thành False, chính sách sẽ áp dụng cho quá trình khởi động các máy ảo mới mà không tắt các máy ảo đang hoạt động.
       Khi không đặt chính sách này trên thiết bị được quản lý, thiết bị sẽ không được phép sử dụng máy ảo.
       Các thiết bị chưa được quản lý được phép sử dụng máy ảo.</translation>
@@ -2745,7 +2749,7 @@
 
       Nếu chính sách được đặt giá trị thành sai, danh sách giao diện sẽ không được báo cáo.</translation>
 <translation id="8141795997560411818">Chính sách này không ngăn người dùng sử dụng ứng dụng Google Drive trên Android. Nếu muốn ngăn việc truy cập vào Google Drive, bạn cũng phải không cho phép cài đặt ứng dụng Google Drive trên Android.</translation>
-<translation id="8142894094385450823">Đặt ngôn ngữ được đề xuất cho phiên được quản lý</translation>
+<translation id="8142894094385450823">Đặt ngôn ngữ đề xuất cho phiên được quản lý</translation>
 <translation id="8146727383888924340">Cho phép người dùng đổi phiếu mua hàng thông qua Đăng ký Chrome OS</translation>
 <translation id="8148785525797916822">Ẩn cảnh báo xuất hiện khi <ph name="PRODUCT_NAME" /> đang chạy trên máy tính hoặc hệ điều hành không được hỗ trợ nữa.</translation>
 <translation id="8148901634826284024">Bật tính năng trợ năng chế độ tương phản cao.
@@ -2792,22 +2796,22 @@
 
 Bạn nên định cấu hình chính sách trên Windows qua GPO, mặc dù việc cấp phép chính sách qua cổng đăng ký vẫn được hỗ trợ cho các phiên bản Windows tham gia miền <ph name="MS_AD_NAME" />.</translation>
 <translation id="8264653492961233132">Chỉ định danh sách ứng dụng và tiện ích được cài đặt tự động mà không
-          có sự tương tác của người dùng và người dùng không thể gỡ cài
+          có sự tương tác của người dùng, và ứng dụng mà tiện ích mà người dùng không thể gỡ cài
           đặt hoặc vô hiệu hóa. Tất cả các quyền do ứng dụng/tiện ích
           yêu cầu được cấp trực tiếp mà không có sự tương tác của người
           dùng, kể cả mọi quyền bổ sung mà các phiên bản trong tương lai
           của ứng dụng/tiện ích đó yêu cầu. Ngoài ra, các quyền được cấp
           cho các API tiện ích enterprise.deviceAttributes và 
           enterprise.platformKeys.(Không sử dụng được hai API này cho các
-          ứng dụng/tiện ích chưa buộc cài đặt.)
+          ứng dụng/tiện ích không buộc cài đặt.)
 
           Chính sách này được ưu tiên hơn trong trường hợp xung đột với chính sách <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" />. Nếu một ứng dụng hoặc tiện ích mà trước đây bị buộc cài đặt hiện đã bị xóa khỏi danh sách này, thì <ph name="PRODUCT_NAME" /> sẽ tự động gỡ cài đặt ứng dụng hoặc tiện ích đó.
 
-          Đối với các phiên bản Windows không tham gia miền <ph name="MS_AD_NAME" />, thì cài đặt bắt buộc sẽ bị giới hạn ở các ứng dụng và tiện ích trong Cửa hàng Chrome trực tuyến.
+          Đối với các phiên bản Windows không tham gia miền <ph name="MS_AD_NAME" />, thì việc buộc cài đặt sẽ bị giới hạn ở các ứng dụng và tiện ích trong Cửa hàng Chrome trực tuyến.
 
           Lưu ý rằng người dùng có thể thay đổi mã nguồn của bất cứ tiện ích nào thông qua Công cụ dành cho nhà phát triển (điều này có thể khiến tiện ích hoạt động không chính xác). Nếu bạn lo ngại về điều này thì cần phải đặt chính sách <ph name="DEVELOPER_TOOLS_POLICY_NAME" />.
 
-          Mỗi mục danh sách của chính sách là một chuỗi có chứa một ID tiện ích và một URL "cập nhật" (không bắt buộc) được phân tách bằng dấu chấm phẩy (<ph name="SEMICOLON" />). ID tiện ích là một chuỗi gồm 32 chữ cái được tìm thấy chẳng hạn như, trên <ph name="CHROME_EXTENSIONS_LINK" /> khi ở chế độ nhà phát triển. URL "cập nhật", nếu được chỉ định, sẽ trỏ tới tài liệu XML của tệp kê khai cập nhật như được mô tả tại <ph name="LINK_TO_EXTENSION_DOC1" />. Theo mặc định, URL cập nhật của Cửa hàng Chrome trực tuyến sẽ được sử dụng (hiện là "https://clients2.google.com/service/update2/crx"). Lưu ý rằng URL "cập nhật" được đặt trong chính sách này chỉ dùng cho lần cài đặt ban đầu; các lần cập nhật tiện ích tiếp theo sẽ sử dụng URL cập nhật nêu trong tệp kê khai của tiện ích. Ngoài ra, xin lưu ý rằng việc chỉ định URL "cập nhật" một cách rõ ràng là bắt buộc trong các phiên bản <ph name="PRODUCT_NAME" /> bao gồm cả phiên bản 67.
+          Mỗi mục danh sách của chính sách là một chuỗi có chứa một ID tiện ích và một URL "cập nhật" (không bắt buộc) phân tách bằng dấu chấm phẩy (<ph name="SEMICOLON" />). ID tiện ích là một chuỗi gồm 32 chữ cái, chẳng hạn như trên <ph name="CHROME_EXTENSIONS_LINK" /> khi ở chế độ nhà phát triển. URL "cập nhật", nếu được chỉ định, phải trỏ tới tài liệu XML của tệp kê khai cập nhật như được mô tả tại <ph name="LINK_TO_EXTENSION_DOC1" />. Theo mặc định, URL cập nhật của Cửa hàng Chrome trực tuyến sẽ được sử dụng (hiện là "https://clients2.google.com/service/update2/crx"). Lưu ý rằng URL "cập nhật" được đặt trong chính sách này chỉ dùng cho lần cài đặt ban đầu; các lần cập nhật tiện ích tiếp theo sẽ sử dụng URL cập nhật nêu trong tệp kê khai của tiện ích. Ngoài ra, xin lưu ý rằng việc chỉ định URL "cập nhật" một cách rõ ràng là bắt buộc trong các phiên bản <ph name="PRODUCT_NAME" /> bao gồm cả phiên bản 67.
 
           Ví dụ: <ph name="EXTENSION_POLICY_EXAMPLE" /> cài đặt ứng dụng <ph name="EXTENSION_POLICY_EXAMPLE_EXTENSION_NAME" /> từ URL "cập nhật" tiêu chuẩn của Cửa hàng Chrome trực tuyến. Để biết thêm thông tin về việc lưu trữ tiện ích, hãy xem: <ph name="LINK_TO_EXTENSION_DOC2" />.
 
@@ -2864,6 +2868,25 @@
 <translation id="8465065632133292531">Tham số cho URL tức thì sử dụng POST</translation>
 <translation id="847472800012384958">Không cho phép bất kỳ trang web nào hiển thị cửa sổ bật lên</translation>
 <translation id="8477885780684655676">TLS 1.0</translation>
+<translation id="8483004350080020634">Tách các phần nhạy cảm với bảo mật và quyền riêng tư của các URL https:// trước khi đưa vào các tập lệnh PAC (Tự động định cấu hình proxy) được <ph name="PRODUCT_NAME" /> sử dụng trong quá trình phân giải proxy.
+
+      Khi đặt chính sách này thành True, tính năng bảo mật được bật và các URL https:// được
+      phân tách trước khi gửi tới tập lệnh PAC. Theo cách này, tập lệnh PAC
+      không thể xem dữ liệu thường do kênh đã mã hóa
+      bảo vệ (như đường dẫn và truy vấn của URL).
+
+      Khi đặt chính sách này thành False, tính năng bảo mật bị tắt và tập lệnh PAC
+      sẽ có khả năng xem toàn bộ các thành phần của URL https://
+      Tùy chọn này áp dụng cho mọi tập lệnh PAC bất kể nguồn gốc (bao gồm
+      cả những tập lệnh được tìm nạp qua phương thức truyền tải không an toàn hoặc bị phát hiện là không an toàn
+      qua WPAD).
+
+      Chính sách này được đặt mặc định là True (tính năng bảo mật được bật).
+
+      Bạn nên đặt chính sách này là True. Chỉ nên đặt thành
+      False khi chính sách cài đặt này gây ra sự cố tương thích với tập lệnh PAC hiện có.
+
+      Chúng tôi sẽ xóa chính sách này trong M75.</translation>
 <translation id="8484458986062090479">Tùy chỉnh danh sách các mẫu URL sẽ luôn được trình duyệt chính hiển thị.
 
           Nếu bạn không đặt chính sách này, kết xuất đồ họa mặc định sẽ được sử dụng cho tất cả các trang web được chỉ định theo chính sách 'ChromeFrameRendererSettings'.
@@ -3100,7 +3123,7 @@
       Chính sách này không có trên các phiên bản Windows chưa tham gia miền <ph name="MS_AD_NAME" />.</translation>
 <translation id="9035964157729712237">Các ID tiện ích được miễn khỏi danh sách đen</translation>
 <translation id="9042911395677044526">Cho phép áp dụng cấu hình mạng cho mỗi người dùng thiết bị <ph name="PRODUCT_OS_NAME" />. Cấu hình mạng là chuỗi có định dạng JSON như được định nghĩa theo định dạng Cấu hình mạng mở được mô tả tại <ph name="ONC_SPEC_URL" /></translation>
-<translation id="9077227880520270584">Lịch hẹn giờ tự động đăng nhập vào tài khoản trên thiết bị</translation>
+<translation id="9077227880520270584">Hẹn giờ tự động đăng nhập vào tài khoản trên thiết bị</translation>
 <translation id="9084985621503260744">Chỉ định xem hoạt động video có ảnh hưởng đến việc quản lý nguồn không</translation>
 <translation id="9088433379343318874">Cho phép nhà cung cấp nội dung của người dùng được giám sát</translation>
 <translation id="9088444059179765143">Định cấu hình phương thức phát hiện múi giờ tự động</translation>
diff --git a/components/policy/resources/policy_templates_zh-CN.xtb b/components/policy/resources/policy_templates_zh-CN.xtb
index d43cb4d..7d6583b 100644
--- a/components/policy/resources/policy_templates_zh-CN.xtb
+++ b/components/policy/resources/policy_templates_zh-CN.xtb
@@ -121,6 +121,7 @@
 
       注意:此政策不适用于 Android 设备。若要在 Android 设备上启用 IsolateOrigins,请改用 IsolateOriginsAndroid 政策设置。
       </translation>
+<translation id="1377024960658062022">允许由政策安装的扩展程序使用 Hardware Platform API</translation>
 <translation id="1384459581748403878">参考页面:<ph name="REFERENCE_URL" /></translation>
 <translation id="1387596372902085462">是否信任赛门铁克公司的旧版 PKI 基础架构</translation>
 <translation id="1393485621820363363">已启用企业设备打印机</translation>
@@ -423,6 +424,9 @@
 <translation id="2201555246697292490">配置本地消息传递主机白名单</translation>
 <translation id="2204753382813641270">控制任务栏是否自动隐藏</translation>
 <translation id="2208976000652006649">在使用 POST 的搜索网址中所需的参数</translation>
+<translation id="2214880135980649323">如果启用了此政策,由企业政策安装的扩展程序将可以使用 Enterprise Hardware Platform API。
+      如果停用了或未设置此政策,任何扩展程序都将无法使用 Enterprise Hardware Platform API。
+      此政策也适用于组件扩展程序(例如 Hangout Services 扩展程序)。</translation>
 <translation id="2223598546285729819">默认通知设置</translation>
 <translation id="2231817271680715693">首次运行时,从默认浏览器导入浏览记录</translation>
 <translation id="2236488539271255289">不允许任何网站设置本地数据</translation>
@@ -839,7 +843,7 @@
 
       如果此政策已设置,建议的语言区域将移至列表顶部,并且会与所有其他语言区域醒目地区分开来。系统将按照在此政策中的显示顺序列出建议的语言区域,并且将预先选择第一个建议的语言区域。
 
-      如果有多个建议的语言区域,系统将假定用户希望从这些语言区域中选择(启动受管理自助服务终端时,所选的语言区域和键盘布局将以醒目的方式显示)。否则,系统将假定大多数用户希望使用预先选择的语言区域(启动受管理自助服务终端时,所选的语言区域和键盘布局将以不太醒目的方式显示)。
+      如果有多个建议的语言区域,系统将假定用户希望从这些语言区域中选择(启动受管理自助服务终端时,语言区域和键盘布局选项将以醒目的方式显示)。否则,系统将假定大多数用户希望使用预先选择的语言区域(启动受管理自助服务终端时,语言区域和键盘布局选项将以不太醒目的方式显示)。
 
       如果您设置了此政策并启用了自动登录功能(请参见 |DeviceLocalAccountAutoLoginId| 和 |DeviceLocalAccountAutoLoginDelay| 政策),自动启动的受管理自助服务终端将使用第一个建议的语言区域以及与该语言区域匹配的最常用键盘布局。
 
@@ -2530,8 +2534,8 @@
       如果此政策设为 False,相应设备将无法运行虚拟机。
       若想通过应用 VirtualMachinesAllowed、CrostiniAllowed 和 DeviceUnaffiliatedCrostiniAllowed 这三项政策以允许 Crostini 运行,则这三项政策都需设为 True。
       如果此政策改设为 False,则只会导致无法启动新的虚拟机,而不会关闭已在运行的虚拟机。
-      如果未在某部托管设备上设置此政策,该设备将无法运行虚拟机。
-      非托管设备可以运行虚拟机。</translation>
+      如果未在某部受管理设备上设置此政策,该设备将无法运行虚拟机。
+      未受管理的设备可以运行虚拟机。</translation>
 <translation id="802147957407376460">将屏幕旋转 0 度</translation>
 <translation id="8033913082323846868">我们在 M70 中弃用了此政策,请改用 AutofillAddressEnabled 和 AutofillCreditCardEnabled。
 
@@ -2634,7 +2638,7 @@
 您无需手动配置这些设置!您可从 <ph name="POLICY_TEMPLATE_DOWNLOAD_URL" /> 下载适用于 Windows、Mac 和 Linux 的易用模板。
 
 虽然您仍可在已加入 <ph name="MS_AD_NAME" /> 网域的 Windows 实例上通过注册表配置政策,但我们建议您通过 GPO 在 Windows 上配置政策。</translation>
-<translation id="8264653492961233132">以列表形式指定具有下述特征的应用或扩展程序:无需用户干预即会自动静默安装,且无法由用户卸载或停用。此类应用/扩展程序所请求的所有权限(包括相应应用/扩展程序的后续版本所请求的任何其他权限)均由系统默认授予(无需用户干预)。此外,系统还会向 enterprise.deviceAttributes 和 enterprise.platformKeys 扩展程序 API 授予相关权限(这两个 API 不适用于非强制安装的应用/扩展程序)。
+<translation id="8264653492961233132">以列表形式指定要进行如下处理的应用或扩展程序:在无需用户干预的情况下自动静默安装,且用户无法卸载或停用。此类应用/扩展程序所请求的所有权限(包括相应应用/扩展程序的后续版本所请求的任何其他权限)均由系统默认授予(无需用户干预)。此外,系统还会向 enterprise.deviceAttributes 和 enterprise.platformKeys 扩展程序 API 授予相关权限(这两个 API 不适用于非强制安装的应用/扩展程序)。
 
           此政策优先于可能会与其冲突的 <ph name="EXTENSION_INSTALL_BLACKLIST_POLICY_NAME" /> 政策。如果从此列表中移除了之前强制安装的某个应用或扩展程序,<ph name="PRODUCT_NAME" /> 便会自动卸载该应用或扩展程序。
 
@@ -2642,7 +2646,7 @@
 
           请注意,用户可通过开发者工具更改任何扩展程序的源代码(此类更改可能会导致相应扩展程序无法正常运行)。如果您不希望用户进行此类更改,则应设置 <ph name="DEVELOPER_TOOLS_POLICY_NAME" /> 政策。
 
-          此政策的每个列表项都是一个字符串,其中包含一个扩展程序 ID 和一个可选的“更新”网址(这两者之间以英文分号 (<ph name="SEMICOLON" />) 分隔)。扩展程序 ID 是一个由 32 个字母构成的字符串;若想查看示例,请在开发者模式下前往 <ph name="CHROME_EXTENSIONS_LINK" />。“更新”网址(如已指定)应指向一个更新清单 XML 文档,如 <ph name="LINK_TO_EXTENSION_DOC1" /> 中所述。默认情况下,系统会使用 Chrome 网上应用店的更新网址(目前为“https://clients2.google.com/service/update2/crx”)。请注意,此政策中设置的“更新”网址仅用于初次安装;相应扩展程序的后续更新将会使用该扩展程序的清单中指定的更新网址。另请注意,在 <ph name="PRODUCT_NAME" /> 67 及更低版本中,明确指定“更新”网址是一项强制性要求。
+          此政策的每个列表项都是一个字符串,其中包含一个扩展程序 ID 和一个可选的“更新”网址(这两者之间以英文分号 (<ph name="SEMICOLON" />) 分隔)。扩展程序 ID 是一个由 32 个字母构成的字符串;若想查看示例,请在开发者模式下前往 <ph name="CHROME_EXTENSIONS_LINK" />。“更新”网址(如指定)应指向一个更新清单 XML 文档,如 <ph name="LINK_TO_EXTENSION_DOC1" /> 中所述。默认情况下,系统会使用 Chrome 网上应用店的更新网址(目前为“https://clients2.google.com/service/update2/crx”)。请注意,此政策中设置的“更新”网址仅用于初次安装;相应扩展程序的后续更新将会使用该扩展程序的清单中指定的更新网址。另请注意,在 <ph name="PRODUCT_NAME" /> 67 及更低版本中,明确指定“更新”网址是一项强制性要求。
 
           例如,<ph name="EXTENSION_POLICY_EXAMPLE" /> 会从标准的 Chrome 网上应用店“更新”网址安装“<ph name="EXTENSION_POLICY_EXAMPLE_EXTENSION_NAME" />”应用。要详细了解如何托管扩展程序,请访问 <ph name="LINK_TO_EXTENSION_DOC2" />。
 
@@ -2699,6 +2703,17 @@
 <translation id="8465065632133292531">在使用 POST 的即搜即得网址中所需的参数</translation>
 <translation id="847472800012384958">不允许任何网站显示弹出式窗口</translation>
 <translation id="8477885780684655676">TLS 1.0</translation>
+<translation id="8483004350080020634">先剔除 https:// 网址中关乎隐私和安全性的敏感部分,然后再将网址传递给 PAC(代理自动配置)脚本,以供 <ph name="PRODUCT_NAME" /> 在代理解析期间使用。
+
+      如果此政策设为 True,则系统会启用安全性功能,并会先将 https:// 网址进行剔除处理,然后再将其提交给 PAC 脚本。如此一来,PAC 脚本便无法查看一般由加密渠道保护的数据(例如网址的路径和查询)。
+
+      如果此政策设为 False,则系统会停用安全性功能,这便使得 PAC 脚本能够查看完整的 https:// 网址。此设置会应用于所有 PAC 脚本(无论这些脚本的来源为何),其中包括通过不安全的传输过程获取的 PAC 脚本,或以不安全的方式通过 WPAD 发现的 PAC 脚本。
+
+      此政策默认设为 True(安全性功能已启用)。
+
+      建议您将此政策设为 True。唯一需要将此政策设为 False 的情况是:设为 True 会导致与现有 PAC 脚本出现兼容性问题。
+
+      我们将在 M75 中移除此政策。</translation>
 <translation id="8484458986062090479">以列表形式自定义应始终由主机浏览器呈现的网址格式。
 
           如果此政策未设置,系统将对所有网站使用通过“ChromeFrameRendererSettings”政策指定的默认呈现器。
diff --git a/components/policy/resources/policy_templates_zh-TW.xtb b/components/policy/resources/policy_templates_zh-TW.xtb
index 4e24c57..a11528ef 100644
--- a/components/policy/resources/policy_templates_zh-TW.xtb
+++ b/components/policy/resources/policy_templates_zh-TW.xtb
@@ -124,6 +124,7 @@
       在 <ph name="PRODUCT_OS_NAME" />上,建議你也將 <ph name="DEVICE_LOGIN_SCREEN_ISOLATE_ORIGINS_POLICY_NAME" /> 裝置政策設為相同的值。如果兩項政策指定的值不相符,在套用使用者政策指定的值的情況下,進入使用者工作階段時可能會發生延遲情況。
       注意:這項政策不適用於 Android 裝置。如要在 Android 裝置上啟用 IsolateOrigins,請改用 IsolateOriginsAndroid 政策設定。
       </translation>
+<translation id="1377024960658062022">針對透過政策安裝的擴充功能啟用 Hardware Platform API</translation>
 <translation id="1384459581748403878">參考頁面:<ph name="REFERENCE_URL" /></translation>
 <translation id="1387596372902085462">是否信任 Symantec 公司的舊版 PKI 基礎架構</translation>
 <translation id="1393485621820363363">已啟用企業裝置印表機</translation>
@@ -444,6 +445,9 @@
 <translation id="2201555246697292490">設定內建訊息傳遞許可清單</translation>
 <translation id="2204753382813641270">控制檔案櫃自動隱藏功能</translation>
 <translation id="2208976000652006649">使用 POST 的搜尋網址參數</translation>
+<translation id="2214880135980649323">如果將這項政策設為啟用,系統將允許由企業政策安裝的擴充功能使用 Enterprise Hardware Platform API。
+      如果將這項政策設為停用或不予設定,則所有擴充功能皆無法使用 Enterprise Hardware Platform API。
+      這項政策也適用於元件擴充功能,例如 Hangout Services 擴充功能。</translation>
 <translation id="2223598546285729819">預設通知設定</translation>
 <translation id="2231817271680715693">第一次執行時從預設瀏覽器匯入瀏覽記錄</translation>
 <translation id="2236488539271255289">不允許任何網站設定本機資料</translation>
@@ -2751,6 +2755,17 @@
 <translation id="8465065632133292531">使用 POST 的互動智慧搜尋網址參數</translation>
 <translation id="847472800012384958">不允許任何網站顯示彈出式視窗</translation>
 <translation id="8477885780684655676">TLS 1.0</translation>
+<translation id="8483004350080020634">先將 https:// 網址中攸關隱私和安全性的敏感部分去除,再轉送給 PAC (Proxy Auto Config) 指令碼,供 <ph name="PRODUCT_NAME" /> 在 Proxy 解析期間使用。
+
+      設為 True 時會啟用安全性功能,先將 https:// 網址分解再提交給 PAC 指令碼。如此一來,PAC 指令碼便無法檢視原本受加密通道保護的資料 (例如網址的路徑和查詢)。
+
+      設為 False 時會停用安全性功能,PAC 指令碼將因此獲得檢視所有 https:// 網址元素的權限。所有 PAC 指令碼都會套用這項設定,無論來源為何 (包括從不安全的傳輸過程中擷取而來的 PAC 指令碼,或是以不安全的方式透過 WPAD 找到的 PAC 指令碼)。
+
+      這項政策預設為 True (啟用安全性功能)。
+
+      建議你將這項政策設為 True。如果設為 True 會與現有的 PAC 指令碼衝突,造成相容性問題,才需要將這項政策設為 False。
+
+      這項政策將於 M75 移除。</translation>
 <translation id="8484458986062090479">自訂主機瀏覽器應一律轉譯的網址模式清單。
 
           如果未設定這項政策,系統會針對所有網站使用「ChromeFrameRendererSettings」政策指定的預設轉譯器。
diff --git a/components/search/OWNERS b/components/search/OWNERS
index 021e5e3..a6661bd 100644
--- a/components/search/OWNERS
+++ b/components/search/OWNERS
@@ -1,5 +1,6 @@
 kristipark@chromium.org
 mathp@chromium.org
+ramyan@chromium.org
 sfiera@chromium.org
 treib@chromium.org
 
diff --git a/components/strings/components_strings_am.xtb b/components/strings/components_strings_am.xtb
index 0766e293..27d2676 100644
--- a/components/strings/components_strings_am.xtb
+++ b/components/strings/components_strings_am.xtb
@@ -807,7 +807,6 @@
 <translation id="6508722015517270189">Chromeን ዳግም ያስጀምሩት</translation>
 <translation id="6529602333819889595">&amp;ሰርዝን ድገም</translation>
 <translation id="6534179046333460208">የአካላዊ ድር ጥቆማዎች</translation>
-<translation id="6550675742724504774">አማራጮች</translation>
 <translation id="6563469144985748109">የእርስዎ አስተዳዳሪ ገና አላጸደቁትም</translation>
 <translation id="6569060085658103619">የቅጥያ ገጽ እየተመለከቱ ነው</translation>
 <translation id="6596325263575161958">የምስጠራ አማራጮች</translation>
@@ -951,7 +950,6 @@
 <translation id="7554791636758816595">አዲስ ትር</translation>
 <translation id="7564049878696755256">የ<ph name="ORG_NAME" /> መለያዎን መዳረሻ ሊያጡ ወይም የማንነት ስርቆት ሊያጋጥመዎት ይችላሉ። Chrome የይለፍ ቃልዎን አሁን እንዲቀይሩ ይመክራል።</translation>
 <translation id="7567204685887185387">ይህ አገልጋይ <ph name="DOMAIN" /> መሆኑን ሊያረጋግጥ አልቻለም፤ የደህንነት እውቅና ማረጋገጫው በተጭበረበረ ሁኔታ ተሰጥቶ ሊሆን ይችላል። ይሄ በተሳሳተ አወቃቀር ወይም አንድ አጥቂ ግንኙነትዎን በመጥለፉ የተከሰተ ሊሆን ይችላል።</translation>
-<translation id="7568593326407688803">ይህ ገጽ በ<ph name="ORIGINAL_LANGUAGE" />ነው። መተርጎም ይፈልጋሉ?</translation>
 <translation id="7569952961197462199">ክሬዲት ካርድ ከChrome ይወገድ?</translation>
 <translation id="7575800019233204241">«የእርስዎ ግንኙነት ግላዊ አይደለም» ወይም «&lt;span class="error-code"&gt;NET::ERR_CERT_AUTHORITY_INVALID&lt;/span&gt;» ወይም «&lt;span class="error-code"&gt;ERR_CERT_COMMON_NAME_INVALID&lt;/span&gt;» ወይም «&lt;span class="error-code"&gt;NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM&lt;/span&gt;" or "SSL certificate error»</translation>
 <translation id="7578104083680115302">Google ላይ ያስቀመጧቸውን ካርዶች በመጠቀም በሁሉም መሣሪያዎች ላይ በጣቢያዎችና መተግበሪያዎች ላይ በፍጥነት ይክፈሉ።</translation>
diff --git a/components/strings/components_strings_ar.xtb b/components/strings/components_strings_ar.xtb
index f4e249da..51c4be1 100644
--- a/components/strings/components_strings_ar.xtb
+++ b/components/strings/components_strings_ar.xtb
@@ -742,7 +742,7 @@
 <translation id="6015796118275082299">عام</translation>
 <translation id="6016158022840135739">{COUNT,plural, =1{صفحة 1}zero{صفحة #}two{صفحة #}few{صفحة #}many{صفحة #}other{صفحة #}}</translation>
 <translation id="6017850046339264347">يمكن للمهاجمين على <ph name="BEGIN_BOLD" /><ph name="SITE" /><ph name="END_BOLD" /> تثبيت تطبيقات مضللة تدعي أنها شيء آخر أو تجمع بيانات قد يتم استخدامها لتتبعك. <ph name="BEGIN_LEARN_MORE_LINK" />مزيد من المعلومات<ph name="END_LEARN_MORE_LINK" /></translation>
-<translation id="6022659036123304283">‏جعل Chrome متصفِّحك الخاص</translation>
+<translation id="6022659036123304283">‏اجعل Chrome متصفِّحك الدائم.</translation>
 <translation id="6025416945513303461"><ph name="TYPE_1" />، <ph name="TYPE_2" />، <ph name="TYPE_3" /> (تمت المزامنة)</translation>
 <translation id="6027201098523975773">أدخِل اسمًا</translation>
 <translation id="6039846035001940113">في حال استمرت المشكلة، اتصل بمالك الموقع.</translation>
@@ -808,7 +808,6 @@
 <translation id="6508722015517270189">‏إعادة تشغيل Chrome</translation>
 <translation id="6529602333819889595">إعادة الح&amp;ذف</translation>
 <translation id="6534179046333460208">اقتراحات الشبكة المادية</translation>
-<translation id="6550675742724504774">خيارات</translation>
 <translation id="6563469144985748109">لم يوافق عليه مديرك حتى الآن</translation>
 <translation id="6569060085658103619">أنت تعرض صفحة إضافة</translation>
 <translation id="6596325263575161958">خيارات التشفير</translation>
@@ -952,7 +951,6 @@
 <translation id="7554791636758816595">علامة تبويب جديدة</translation>
 <translation id="7564049878696755256">‏قد تفقد إمكانية الوصول إلى حسابك على <ph name="ORG_NAME" /> أو تتعرض لسرقة هويتك. لذا يوصي Chrome بتغيير كلمة مرورك الآن.</translation>
 <translation id="7567204685887185387">هذا الخادم لم يتمكن من إثبات أن ذلك <ph name="DOMAIN" />؛ بل إنه شهادة أمان تم إصدارها عن طريق الاحتيال. وربما يكون سبب ذلك خطأ في التكوين أو مهاجمًا يعترض اتصالك.</translation>
-<translation id="7568593326407688803">تتوفر هذه الصفحة باللغة<ph name="ORIGINAL_LANGUAGE" />فهل تريد ترجمتها؟</translation>
 <translation id="7569952961197462199">‏هل تريد إزالة بطاقة الائتمان من Chrome؟</translation>
 <translation id="7575800019233204241">‏"لا يتمتع اتصالك بالخصوصية" أو "&lt;span class="error-code"&gt;NET::ERR_CERT_AUTHORITY_INVALID&lt;/span&gt;" أو "&lt;span class="error-code"&gt;ERR_CERT_COMMON_NAME_INVALID&lt;/span&gt;" أو "&lt;span class="error-code"&gt;NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM&lt;/span&gt;" أو "خطأ في شهادة طبقة المقابس الآمنة (SSL)"</translation>
 <translation id="7578104083680115302">‏الدفع سريعًا على المواقع والتطبيقات على جميع الأجهزة باستخدام البطاقات التي حفظتها في Google.</translation>
diff --git a/components/strings/components_strings_bg.xtb b/components/strings/components_strings_bg.xtb
index d9e2fc49..704768ee 100644
--- a/components/strings/components_strings_bg.xtb
+++ b/components/strings/components_strings_bg.xtb
@@ -808,7 +808,6 @@
 <translation id="6508722015517270189">Рестартирайте Chrome.</translation>
 <translation id="6529602333819889595">&amp;Възстановяване на изтриването</translation>
 <translation id="6534179046333460208">Предложения от Физическата мрежа</translation>
-<translation id="6550675742724504774">Опции</translation>
 <translation id="6563469144985748109">Мениджърът ви все още не е одобрил заявката</translation>
 <translation id="6569060085658103619">Преглеждате страница на разширение</translation>
 <translation id="6596325263575161958">Опции за шифроване</translation>
@@ -952,7 +951,6 @@
 <translation id="7554791636758816595">Нов раздел</translation>
 <translation id="7564049878696755256">Възможно е да загубите достъп до профила си в/ъв <ph name="ORG_NAME" /> или самоличността ви да бъде открадната. Chrome препоръчва да промените паролата си сега.</translation>
 <translation id="7567204685887185387">Сървърът не можа да докаже, че е <ph name="DOMAIN" />; възможно е сертификатът му за сигурност да е издаден измамнически. Това може да се дължи на неправилно конфигуриране или на прихващане на връзката ви от атакуващ.</translation>
-<translation id="7568593326407688803">Тази страница е на<ph name="ORIGINAL_LANGUAGE" />Искате ли да я преведете?</translation>
 <translation id="7569952961197462199">Кредитната карта да се премахне ли от Chrome?</translation>
 <translation id="7575800019233204241">„Връзката ви не е частна“, „&lt;span class="error-code"&gt;NET::ERR_CERT_AUTHORITY_INVALID&lt;/span&gt;“, „&lt;span class="error-code"&gt;ERR_CERT_COMMON_NAME_INVALID&lt;/span&gt;“, „&lt;span class="error-code"&gt;NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM&lt;/span&gt;“ или „Грешка при SSL сертификатите“</translation>
 <translation id="7578104083680115302">Извършвайте бързи плащания в сайтове и приложения от всякакви устройства посредством картите, които сте запазили в Google.</translation>
diff --git a/components/strings/components_strings_bn.xtb b/components/strings/components_strings_bn.xtb
index a405edb..74ee097 100644
--- a/components/strings/components_strings_bn.xtb
+++ b/components/strings/components_strings_bn.xtb
@@ -738,7 +738,7 @@
 <translation id="5975083100439434680">জুম কমান</translation>
 <translation id="598637245381783098">পেমেন্ট অ্যাপ খোলা যাচ্ছে না</translation>
 <translation id="5989320800837274978">কোনো নির্ধারিত প্রক্সি সার্ভার অথবা একটি.pac স্ক্রিপ্ট UR সুর্নিদিষ্টভাবে উল্লেখ করা হয়নি৷</translation>
-<translation id="5990559369517809815">সার্ভারে অনুরোধগুলি একটি এক্সটেনশান দিয়ে অবরুদ্ধ করা আছে৷</translation>
+<translation id="5990559369517809815">সার্ভারে অনুরোধগুলি একটি এক্সটেনশন দিয়ে ব্লক করা আছে৷</translation>
 <translation id="6008256403891681546">JCB</translation>
 <translation id="6015796118275082299">বছর</translation>
 <translation id="6016158022840135739">{COUNT,plural, =1{পৃষ্ঠা ১}one{পৃষ্ঠা #}other{পৃষ্ঠা #}}</translation>
@@ -808,9 +808,8 @@
 <translation id="6508722015517270189">Chrome পুনরায় চালু করুন</translation>
 <translation id="6529602333819889595">&amp;মুছে ফেলাকে আবার করুন</translation>
 <translation id="6534179046333460208">বাস্তবিক ওয়েব প্রস্তাবনাগুলি</translation>
-<translation id="6550675742724504774">বিকল্পসমূহ</translation>
 <translation id="6563469144985748109">আপনার পরিচালক এখনও এটি অনুমোদন করেন নি</translation>
-<translation id="6569060085658103619">আপনি একটি এক্সটেনশান পৃষ্ঠা দেখছেন</translation>
+<translation id="6569060085658103619">আপনি একটি এক্সটেনশন পৃষ্ঠা দেখছেন</translation>
 <translation id="6596325263575161958">এনক্রিপশন বিকল্পগুলি</translation>
 <translation id="6604181099783169992">মোশন বা হাল্কা সেন্সর</translation>
 <translation id="6624427990725312378">পরিচিতির তথ্য</translation>
@@ -952,7 +951,6 @@
 <translation id="7554791636758816595">নতুন ট্যাব</translation>
 <translation id="7564049878696755256">আপনি নিজের <ph name="ORG_NAME" /> অ্যাকাউন্টের অ্যাক্সেস হারাতে পারেন অথবা আপনার পরিচয় চুরি হয়ে যেতে পারে। Chrome এখনই আপনার পাসওয়ার্ড পরিবর্তন করার আর্জি জানাচ্ছে।</translation>
 <translation id="7567204685887185387">এই সার্ভার প্রমাণ করতে পারেনি যে এটি <ph name="DOMAIN" />; এর নিরাপত্তা শংসাপত্র প্রতারণাপূর্ণভাবে ইস্যু করা হয়ে থাকতে পারে। কোনো ভুল কনফিগারেশনের কারণে অথবা কোনো আক্রমণকারী আপনার সংযোগ মাঝপথে আটকে দিচ্ছে বলে এমনটা হতে পারে।</translation>
-<translation id="7568593326407688803">এই পৃষ্ঠাটি<ph name="ORIGINAL_LANGUAGE" />ভাষাতে আছে আপনি কি এটিকে অনুবাদ করতে চাইবেন?</translation>
 <translation id="7569952961197462199">Chrome থেকে ক্রেডিট কার্ড সরাবেন?</translation>
 <translation id="7575800019233204241">"আপনার কানেকশন গোপন নয়" অথবা "&lt;span class="error-code"&gt;NET::ERR_CERT_AUTHORITY_INVALID&lt;/span&gt;" অথবা "&lt;span class="error-code"&gt;ERR_CERT_COMMON_NAME_INVALID&lt;/span&gt;" বা "&lt;span class="error-code"&gt;NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM&lt;/span&gt;" অথবা "SSL সার্টিফিকেটে সমস্যা"</translation>
 <translation id="7578104083680115302">আপনি Google এর সাথে সংরক্ষণ করেছেন এমন কার্ড ব্যবহার করে ডিভাইস জুড়ে সাইট এবং অ্যাপ্লিকেশানগুলিতে দ্রুত অর্থ পরিশোধ করুন।</translation>
@@ -1040,7 +1038,7 @@
 <translation id="8184538546369750125">বিশ্বব্যাপী ডিফল্ট ব্যবহার করুন (অনুমতি দিন)</translation>
 <translation id="8191494405820426728">স্থানীয় ক্র্যাশ আইডি <ph name="CRASH_LOCAL_ID" /></translation>
 <translation id="8194797478851900357">&amp;সরানোকে পূর্বাবস্থায় ফেরান</translation>
-<translation id="8201077131113104583">"<ph name="EXTENSION_ID" />" ID যুক্ত এক্সটেনশানের অবৈধ আপডেট URL।</translation>
+<translation id="8201077131113104583">"<ph name="EXTENSION_ID" />" আইডি যুক্ত এক্সটেনশনের আপডেট করার ইউআরএলটি ভুল।</translation>
 <translation id="8202097416529803614">অর্ডারের সারসংক্ষেপ</translation>
 <translation id="8205463626947051446">সাইটটিতে বিরক্তিকরভাবে বিজ্ঞাপন দেখানো হয়</translation>
 <translation id="8211406090763984747">কানেকশনটি নিরাপদ</translation>
diff --git a/components/strings/components_strings_ca.xtb b/components/strings/components_strings_ca.xtb
index b396d94..f193cfca 100644
--- a/components/strings/components_strings_ca.xtb
+++ b/components/strings/components_strings_ca.xtb
@@ -808,7 +808,6 @@
 <translation id="6508722015517270189">Reinicia Chrome</translation>
 <translation id="6529602333819889595">&amp;Refés la supressió</translation>
 <translation id="6534179046333460208">Suggeriments del Web físic</translation>
-<translation id="6550675742724504774">Opcions</translation>
 <translation id="6563469144985748109">El teu gestor encara no ho ha aprovat</translation>
 <translation id="6569060085658103619">Estàs consultant la pàgina d'una extensió</translation>
 <translation id="6596325263575161958">Opcions d'encriptació</translation>
@@ -952,7 +951,6 @@
 <translation id="7554791636758816595">Pestanya nova</translation>
 <translation id="7564049878696755256">Podries perdre l'accés al compte de <ph name="ORG_NAME" /> o tenir problemes de suplantació d'identitat. Chrome et recomana que canviïs la contrasenya ara.</translation>
 <translation id="7567204685887185387">Aquest servidor no ha pogut comprovar que sigui <ph name="DOMAIN" /> perquè és possible que el seu certificat de seguretat s'hagi emès de manera fraudulenta. Això pot ser a causa d'una configuració incorrecta o d'un atacant que intercepta la vostra connexió.</translation>
-<translation id="7568593326407688803">Aquesta pàgina està en<ph name="ORIGINAL_LANGUAGE" />Voleu traduir-la?</translation>
 <translation id="7569952961197462199">Voleu suprimir la targeta de crèdit de Chrome?</translation>
 <translation id="7575800019233204241">"La vostra connexió no és privada", "&lt;span class="error-code"&gt;NET::ERR_CERT_AUTHORITY_INVALID&lt;/span&gt;", "&lt;span class="error-code"&gt;ERR_CERT_COMMON_NAME_INVALID&lt;/span&gt;", "&lt;span class="error-code"&gt;NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM&lt;/span&gt;" o "Error de certificat SSL"</translation>
 <translation id="7578104083680115302">Agilitzeu els pagaments en llocs i en aplicacions des de qualsevol dispositiu mitjançant les targetes que hàgiu desat a Google.</translation>
diff --git a/components/strings/components_strings_cs.xtb b/components/strings/components_strings_cs.xtb
index b80d8c6..f970161 100644
--- a/components/strings/components_strings_cs.xtb
+++ b/components/strings/components_strings_cs.xtb
@@ -803,7 +803,6 @@
 <translation id="6508722015517270189">Restartujte Chrome</translation>
 <translation id="6529602333819889595">&amp;Opakovat smazání</translation>
 <translation id="6534179046333460208">Návrhy fyzického webu</translation>
-<translation id="6550675742724504774">Možnosti</translation>
 <translation id="6563469144985748109">Správce vám přístup na web dosud neschválil.</translation>
 <translation id="6569060085658103619">Prohlížíte si stránku rozšíření</translation>
 <translation id="6596325263575161958">Možnosti šifrování</translation>
@@ -946,7 +945,6 @@
 <translation id="7554791636758816595">Nová karta</translation>
 <translation id="7564049878696755256">Mohli byste ztratit přístup k účtu <ph name="ORG_NAME" /> nebo by mohlo dojít k odcizení vaší identity. Doporučujeme vám okamžitě změnit heslo.</translation>
 <translation id="7567204685887185387">Server nedokázal prokázat, že patří doméně <ph name="DOMAIN" />. Jeho bezpečnostní certifikát byl zřejmě vydán podvodně. Může to být způsobeno nesprávnou konfigurací nebo tím, že vaše připojení zachytává útočník.</translation>
-<translation id="7568593326407688803">Tato stránka je v jazyce<ph name="ORIGINAL_LANGUAGE" />Chcete ji přeložit?</translation>
 <translation id="7569952961197462199">Odstranit platební kartu z Chromu?</translation>
 <translation id="7575800019233204241">Vaše připojení není soukromé nebo &lt;span class="error-code"&gt;NET::ERR_CERT_AUTHORITY_INVALID&lt;/span&gt; nebo &lt;span class="error-code"&gt;ERR_CERT_COMMON_NAME_INVALID&lt;/span&gt; nebo &lt;span class="error-code"&gt;NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM&lt;/span&gt; nebo Chyba certifikátu SSL</translation>
 <translation id="7578104083680115302">Plaťte na webech a v aplikacích v různých zařízeních rychle pomocí karet uložených na Googlu.</translation>
diff --git a/components/strings/components_strings_da.xtb b/components/strings/components_strings_da.xtb
index 16ebbfb98..1d9e6cf 100644
--- a/components/strings/components_strings_da.xtb
+++ b/components/strings/components_strings_da.xtb
@@ -808,7 +808,6 @@
 <translation id="6508722015517270189">Genstart Chrome</translation>
 <translation id="6529602333819889595">&amp;Annuller fortryd slet</translation>
 <translation id="6534179046333460208">Forslag til Fysisk web</translation>
-<translation id="6550675742724504774">Valgmuligheder</translation>
 <translation id="6563469144985748109">Din administrator har ikke godkendt det endnu</translation>
 <translation id="6569060085658103619">Du ser en udvidelsesside</translation>
 <translation id="6596325263575161958">Krypteringsmuligheder</translation>
@@ -952,7 +951,6 @@
 <translation id="7554791636758816595">Ny fane</translation>
 <translation id="7564049878696755256">Du kan miste adgangen til din <ph name="ORG_NAME" />-konto eller udsættes for identitetstyveri. Chrome anbefaler, at du skifter din adgangskode nu.</translation>
 <translation id="7567204685887185387">Denne server kunne ikke bevise, at den er <ph name="DOMAIN" />, da sikkerhedscertifikatet er udstedt på ulovlig vis. Dette kan skyldes en fejlkonfiguration, eller at en hacker har opfanget din forbindelse.</translation>
-<translation id="7568593326407688803">Denne side er på<ph name="ORIGINAL_LANGUAGE" />Vil du oversætte den?</translation>
 <translation id="7569952961197462199">Vil du fjerne kreditkortet fra Chrome?</translation>
 <translation id="7575800019233204241">"Din forbindelse er ikke privat" eller "&lt;span class="error-code"&gt;NET::ERR_CERT_AUTHORITY_INVALID&lt;/span&gt;" eller "&lt;span class="error-code"&gt;ERR_CERT_COMMON_NAME_INVALID&lt;/span&gt;" eller "&lt;span class="error-code"&gt;NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM&lt;/span&gt;" eller "SSL-certifikatfejl"</translation>
 <translation id="7578104083680115302">Betal hurtigt på websites og i apps på alle enheder ved hjælp af kort, du har gemt med Google.</translation>
diff --git a/components/strings/components_strings_de.xtb b/components/strings/components_strings_de.xtb
index 3e170d89..b2a7a18f 100644
--- a/components/strings/components_strings_de.xtb
+++ b/components/strings/components_strings_de.xtb
@@ -380,7 +380,7 @@
 <translation id="3467763166455606212">Name des Karteninhabers erforderlich</translation>
 <translation id="3479539252931486093">Geschah dies unerwartet? <ph name="BEGIN_LINK" />Informieren Sie uns<ph name="END_LINK" /></translation>
 <translation id="3479552764303398839">Jetzt nicht</translation>
-<translation id="3498215018399854026">Wir können deinen Vater bzw. deine Mutter momentan nicht erreichen. Bitte versuche es später erneut.</translation>
+<translation id="3498215018399854026">Wir können deinen Vater bzw. deine Mutter momentan nicht erreichen. Bitte versuche es später noch einmal.</translation>
 <translation id="3528171143076753409">Serverzertifikat ist nicht vertrauenswürdig.</translation>
 <translation id="3530944546672790857">{COUNT,plural, =0{Mindestens 1 Eintrag auf synchronisierten Geräten}=1{1 Eintrag (und weitere auf synchronisierten Geräten)}other{# Einträge (und weitere auf synchronisierten Geräten)}}</translation>
 <translation id="3539171420378717834">Kopie dieser Karte auf diesem Gerät speichern</translation>
@@ -807,7 +807,6 @@
 <translation id="6508722015517270189">Chrome neu starten</translation>
 <translation id="6529602333819889595">&amp;Löschen wiederholen</translation>
 <translation id="6534179046333460208">Physical Web-Vorschläge</translation>
-<translation id="6550675742724504774">Optionen</translation>
 <translation id="6563469144985748109">Der Administrator hat die Berechtigung noch nicht erteilt</translation>
 <translation id="6569060085658103619">Dies ist eine Erweiterungsseite</translation>
 <translation id="6596325263575161958">Verschlüsselungsoptionen</translation>
@@ -951,7 +950,6 @@
 <translation id="7554791636758816595">Neuer Tab</translation>
 <translation id="7564049878696755256">Sie könnten den Zugriff auf Ihr <ph name="ORG_NAME" />-Konto verlieren oder zum Opfer von Identitätsdiebstahl werden. Chrome empfiehlt Ihnen, Ihr Passwort jetzt zu ändern.</translation>
 <translation id="7567204685887185387">Dieser Server konnte nicht beweisen, dass er <ph name="DOMAIN" /> ist. Sein Sicherheitszertifikat wurde möglicherweise in betrügerischer Absicht ausgegeben. Mögliche Gründe sind eine fehlerhafte Konfiguration oder ein Angreifer, der Ihre Verbindung abfängt.</translation>
-<translation id="7568593326407688803">Diese Seite ist auf<ph name="ORIGINAL_LANGUAGE" />Soll sie übersetzt werden?</translation>
 <translation id="7569952961197462199">Kreditkarte aus Chrome entfernen?</translation>
 <translation id="7575800019233204241">"Dies ist keine sichere Verbindung", "&lt;span class="error-code"&gt;NET::ERR_CERT_AUTHORITY_INVALID&lt;/span&gt;", "&lt;span class="error-code"&gt;ERR_CERT_COMMON_NAME_INVALID&lt;/span&gt;", "&lt;span class="error-code"&gt;NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM&lt;/span&gt;" oder "SSL-Zertifikatfehler"</translation>
 <translation id="7578104083680115302">Mit Karten, die Sie bei Google gespeichert haben, können Sie schnell und geräteübergreifend auf Websites und in Apps bezahlen.</translation>
@@ -1017,7 +1015,7 @@
 <translation id="7983301409776629893"><ph name="ORIGINAL_LANGUAGE" /> immer auf <ph name="TARGET_LANGUAGE" /> übersetzen</translation>
 <translation id="7995512525968007366">Nicht angegeben</translation>
 <translation id="800218591365569300">Versuchen Sie, andere Tabs oder Programme zu schließen, um Speicher freizugeben.</translation>
-<translation id="8012647001091218357">Wir können deine Eltern momentan nicht erreichen. Bitte versuche es später erneut.</translation>
+<translation id="8012647001091218357">Wir können deine Eltern momentan nicht erreichen. Bitte versuche es später noch einmal.</translation>
 <translation id="8025119109950072390">Unbefugte Dritte auf dieser Website versuchen unter Umständen auf betrügerische Weise, Sie zur Installation von Software zu bewegen oder Ihnen personenbezogene Daten zu entlocken, zum Beispiel Passwörter, Telefonnummern oder Kreditkartendaten.</translation>
 <translation id="8034522405403831421">Diese Seite ist auf <ph name="SOURCE_LANGUAGE" />. In folgende Sprache übersetzen: <ph name="TARGET_LANGUAGE" />?</translation>
 <translation id="8037357227543935929">Nachfragen (Standardeinstellung)</translation>
diff --git a/components/strings/components_strings_el.xtb b/components/strings/components_strings_el.xtb
index 4a97671..341b8f80 100644
--- a/components/strings/components_strings_el.xtb
+++ b/components/strings/components_strings_el.xtb
@@ -809,7 +809,6 @@
 <translation id="6508722015517270189">Επανεκκινήστε το Chrome</translation>
 <translation id="6529602333819889595">&amp;Επανάληψη διαγραφής</translation>
 <translation id="6534179046333460208">Προτάσεις Φυσικού δικτύου</translation>
-<translation id="6550675742724504774">Επιλογές</translation>
 <translation id="6563469144985748109">Ο διαχειριστής σας δεν τον έχει εγκρίνει ακόμα</translation>
 <translation id="6569060085658103619">Βλέπετε μια σελίδα επέκτασης</translation>
 <translation id="6596325263575161958">Επιλογές κρυπτογράφησης</translation>
@@ -953,7 +952,6 @@
 <translation id="7554791636758816595">Νέα καρτέλα</translation>
 <translation id="7564049878696755256">Μπορεί να χάσετε την πρόσβαση στον λογαριασμό σας <ph name="ORG_NAME" /> ή να πέσετε θύμα κλοπής στοιχείων ταυτότητας. Το Chrome συνιστά να αλλάξετε τον κωδικό πρόσβασής σας τώρα.</translation>
 <translation id="7567204685887185387">Ο διακομιστής δεν μπόρεσε να αποδείξει ότι είναι <ph name="DOMAIN" />. Το πιστοποιητικό ασφαλείας του μπορεί να εκδόθηκε παράνομα. Αυτό μπορεί να οφείλεται σε λανθασμένη ρύθμιση ή σε κάποιον τρίτο που επιτίθεται στη σύνδεσή σας.</translation>
-<translation id="7568593326407688803">Αυτή η σελίδα είναι στα<ph name="ORIGINAL_LANGUAGE" />Θέλετε να τη μεταφράσετε;</translation>
 <translation id="7569952961197462199">Κατάργηση πιστωτικής κάρτας από το Chrome;</translation>
 <translation id="7575800019233204241">"Η σύνδεσή σας δεν είναι ιδιωτική" ή "&lt;span class="error-code"&gt;NET::ERR_CERT_AUTHORITY_INVALID&lt;/span&gt;" ή "&lt;span class="error-code"&gt;ERR_CERT_COMMON_NAME_INVALID&lt;/span&gt;" ή "&lt;span class="error-code"&gt;NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM&lt;/span&gt;" ή "Σφάλμα πιστοποιητικού SSL"</translation>
 <translation id="7578104083680115302">Κάντε γρήγορες πληρωμές σε ιστότοπους και εφαρμογές σε διαφορετικές συσκευές χρησιμοποιώντας κάρτες που έχετε αποθηκεύσει στο Google.</translation>
diff --git a/components/strings/components_strings_en-GB.xtb b/components/strings/components_strings_en-GB.xtb
index 91f3760..973c8dd9 100644
--- a/components/strings/components_strings_en-GB.xtb
+++ b/components/strings/components_strings_en-GB.xtb
@@ -808,7 +808,6 @@
 <translation id="6508722015517270189">Restart Chrome</translation>
 <translation id="6529602333819889595">&amp;Redo Delete</translation>
 <translation id="6534179046333460208">Physical Web suggestions</translation>
-<translation id="6550675742724504774">Options</translation>
 <translation id="6563469144985748109">Your manager hasn't approved it yet</translation>
 <translation id="6569060085658103619">You're viewing an extension page</translation>
 <translation id="6596325263575161958">Encryption options</translation>
@@ -952,7 +951,6 @@
 <translation id="7554791636758816595">New Tab</translation>
 <translation id="7564049878696755256">You could lose access to your <ph name="ORG_NAME" /> account or experience identity theft. Chrome recommends changing your password now.</translation>
 <translation id="7567204685887185387">This server could not prove that it is <ph name="DOMAIN" />; its security certificate might have been issued fraudulently. This may be caused by a misconfiguration or an attacker intercepting your connection.</translation>
-<translation id="7568593326407688803">This page is in<ph name="ORIGINAL_LANGUAGE" />Would you like to translate it?</translation>
 <translation id="7569952961197462199">Remove credit card from Chrome?</translation>
 <translation id="7575800019233204241">'Your connection is not private' or "&lt;span class="error-code"&gt;NET::ERR_CERT_AUTHORITY_INVALID&lt;/span&gt;" or "&lt;span class="error-code"&gt;ERR_CERT_COMMON_NAME_INVALID&lt;/span&gt;" or "&lt;span class="error-code"&gt;NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM&lt;/span&gt;" or 'SSL certificate error'</translation>
 <translation id="7578104083680115302">Pay quickly on sites and apps across devices using cards that you have saved with Google.</translation>
diff --git a/components/strings/components_strings_es-419.xtb b/components/strings/components_strings_es-419.xtb
index 2902c0d..b03be98 100644
--- a/components/strings/components_strings_es-419.xtb
+++ b/components/strings/components_strings_es-419.xtb
@@ -809,7 +809,6 @@
 <translation id="6508722015517270189">Reinicia Chrome.</translation>
 <translation id="6529602333819889595">&amp;Rehacer Eliminar</translation>
 <translation id="6534179046333460208">Sugerencias de la Web física</translation>
-<translation id="6550675742724504774">Opciones</translation>
 <translation id="6563469144985748109">Tu administrador aún no lo aprobó</translation>
 <translation id="6569060085658103619">Estás viendo la página de una extensión</translation>
 <translation id="6596325263575161958">Opciones de encriptación</translation>
@@ -953,7 +952,6 @@
 <translation id="7554791636758816595">Nueva pestaña</translation>
 <translation id="7564049878696755256">Es posible que hayas perdido el acceso a tu cuenta de <ph name="ORG_NAME" /> o sufrido un robo de identidad. Chrome te recomienda que cambies la contraseña ahora.</translation>
 <translation id="7567204685887185387">Este servidor no pudo probar que su dominio es <ph name="DOMAIN" />; el certificado de seguridad podría haberse emitido de forma fraudulenta. Es posible que esto se deba a una configuración incorrecta o a que un atacante interceptó la conexión.</translation>
-<translation id="7568593326407688803">Esta página está en<ph name="ORIGINAL_LANGUAGE" />¿Quieres traducirla?</translation>
 <translation id="7569952961197462199">¿Confirmas que quieres quitar la tarjeta de crédito de Chrome?</translation>
 <translation id="7575800019233204241">"La conexión no es privada" o "&lt;span class="error-code"&gt;NET::ERR_CERT_AUTHORITY_INVALID&lt;/span&gt;" o "&lt;span class="error-code"&gt;ERR_CERT_COMMON_NAME_INVALID&lt;/span&gt;" o "&lt;span class="error-code"&gt;NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM&lt;/span&gt;" o "Error de certificado SSL"</translation>
 <translation id="7578104083680115302">Paga con rapidez en sitios y apps a través de varios dispositivos con tarjetas que guardaste en Google.</translation>
@@ -1138,7 +1136,7 @@
 <translation id="8874824191258364635">Ingresa un número de tarjeta válido</translation>
 <translation id="8876793034577346603">No se pudo analizar la configuración de red.</translation>
 <translation id="8891727572606052622">Modo proxy no válido</translation>
-<translation id="8892964541482452187">Botón para cambiar de pestaña, presiona Intro para cambiar a esta pestaña</translation>
+<translation id="8892964541482452187">Botón para cambiar de pestaña; presiona Intro para cambiar a esta pestaña</translation>
 <translation id="8903921497873541725">Acercar</translation>
 <translation id="8931333241327730545">¿Quieres guardar esta tarjeta en tu cuenta de Google?</translation>
 <translation id="8932102934695377596">El reloj está atrasado</translation>
diff --git a/components/strings/components_strings_es.xtb b/components/strings/components_strings_es.xtb
index 2e0421b..2268d62 100644
--- a/components/strings/components_strings_es.xtb
+++ b/components/strings/components_strings_es.xtb
@@ -808,7 +808,6 @@
 <translation id="6508722015517270189">Reinicia Chrome</translation>
 <translation id="6529602333819889595">&amp;Rehacer eliminación</translation>
 <translation id="6534179046333460208">Sugerencias de la Web física</translation>
-<translation id="6550675742724504774">Configuración</translation>
 <translation id="6563469144985748109">Tu administrador aún no la ha aprobado</translation>
 <translation id="6569060085658103619">Estas viendo la página de una extensión</translation>
 <translation id="6596325263575161958">Opciones de cifrado</translation>
@@ -952,7 +951,6 @@
 <translation id="7554791636758816595">Nueva pestaña</translation>
 <translation id="7564049878696755256">Podrías perder el acceso a tu cuenta de <ph name="ORG_NAME" /> o tener problemas de suplantación de identidad. Chrome te recomienda que cambies tu contraseña ahora.</translation>
 <translation id="7567204685887185387">Este servidor no ha podido probar que su dominio es <ph name="DOMAIN" />, su certificado de seguridad podría haberse emitido de forma fraudulenta. El problema puede deberse a una configuración incorrecta o a que un atacante haya interceptado la conexión.</translation>
-<translation id="7568593326407688803">Esta página está escrita en<ph name="ORIGINAL_LANGUAGE" />¿Quieres traducirla?</translation>
 <translation id="7569952961197462199">¿Eliminar tarjeta de crédito de Chrome?</translation>
 <translation id="7575800019233204241">"La conexión no es privada" o "&lt;span class="error-code"&gt;NET::ERR_CERT_AUTHORITY_INVALID&lt;/span&gt;" o "&lt;span class="error-code"&gt;ERR_CERT_COMMON_NAME_INVALID&lt;/span&gt;" o "&lt;span class="error-code"&gt;NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM&lt;/span&gt;" o "Error de certificado SSL"</translation>
 <translation id="7578104083680115302">Paga rápidamente en aplicaciones y sitios web desde tus dispositivos utilizando las tarjetas que has guardado en Google.</translation>
diff --git a/components/strings/components_strings_et.xtb b/components/strings/components_strings_et.xtb
index 67ca1be..8e43a6c 100644
--- a/components/strings/components_strings_et.xtb
+++ b/components/strings/components_strings_et.xtb
@@ -808,7 +808,6 @@
 <translation id="6508722015517270189">Taaskäivitage Chrome</translation>
 <translation id="6529602333819889595">&amp;Kustuta uuesti</translation>
 <translation id="6534179046333460208">Füüsilise veebi soovitused</translation>
-<translation id="6550675742724504774">Valikud</translation>
 <translation id="6563469144985748109">Haldur ei ole seda veel kinnitanud</translation>
 <translation id="6569060085658103619">Vaatate laienduse lehte</translation>
 <translation id="6596325263575161958">Krüpteerimise valikud</translation>
@@ -952,7 +951,6 @@
 <translation id="7554791636758816595">Uus vaheleht</translation>
 <translation id="7564049878696755256">Võite kaotada juurdepääsu oma teenuse <ph name="ORG_NAME" /> kontole või teie identiteet võidakse varastada. Chrome soovitab teil kohe oma parooli muuta.</translation>
 <translation id="7567204685887185387">Server ei suutnud tõestada, et see on domeen <ph name="DOMAIN" />, selle turvasertifikaat võib olla väljastatud pettuse teel. Selle põhjuseks võib olla vale seadistus või ründaja, kes on sekkunud teie ühendusse.</translation>
-<translation id="7568593326407688803">See leht on keeles<ph name="ORIGINAL_LANGUAGE" />Kas soovite seda tõlkida?</translation>
 <translation id="7569952961197462199">Kas eemaldada Chrome'ist krediitkaart?</translation>
 <translation id="7575800019233204241">„Teie ühendus ei ole privaatne” või „&lt;span class="error-code"&gt;NET::ERR_CERT_AUTHORITY_INVALID&lt;/span&gt;” või „&lt;span class="error-code"&gt;ERR_CERT_COMMON_NAME_INVALID&lt;/span&gt;” või „&lt;span class="error-code"&gt;NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM&lt;/span&gt;” või „SSL-i sertifikaadi viga”</translation>
 <translation id="7578104083680115302">Google'i salvestatud kaartide abil saate eri seadmetes saitidel ja rakendustes kiirelt maksta.</translation>
diff --git a/components/strings/components_strings_fa.xtb b/components/strings/components_strings_fa.xtb
index 013b7d0..b21e7cf 100644
--- a/components/strings/components_strings_fa.xtb
+++ b/components/strings/components_strings_fa.xtb
@@ -734,7 +734,7 @@
 <translation id="5966151627327109289">شما را از سیستم اکثر سایت‌ها خارج می‌کند. ممکن است دسترسی به محتوای محافظت‌شده <ph name="SITE" /> یا برخی سایت‌های دیگر را از دست بدهید.</translation>
 <translation id="5967592137238574583">ویرایش اطلاعات تماس</translation>
 <translation id="5967867314010545767">حذف از سابقه</translation>
-<translation id="5975083100439434680">کوچک نمایی</translation>
+<translation id="5975083100439434680">دورنمایی کردن</translation>
 <translation id="598637245381783098">برنامه پرداخت باز نشد</translation>
 <translation id="5989320800837274978">‏سرور پروکسی ثابت و URL اسکریپت pac. تعیین نشده‌اند.</translation>
 <translation id="5990559369517809815">درخواست‌های ارسالی به سرور توسط یک برنامهٔ افزودنی مسدود شد.</translation>
@@ -808,7 +808,6 @@
 <translation id="6508722015517270189">‏Chrome را راه‌اندازی مجدد کنید</translation>
 <translation id="6529602333819889595">&amp;انجام مجدد حذف</translation>
 <translation id="6534179046333460208">پیشنهادهای «وب فیزیکی»</translation>
-<translation id="6550675742724504774">گزینه‌ها</translation>
 <translation id="6563469144985748109">مدیرتان هنوز این سایت را تأیید نکرده است</translation>
 <translation id="6569060085658103619">درحال مشاهده یک صفحه افزونه هستید</translation>
 <translation id="6596325263575161958">گزینه‌های رمزگذاری</translation>
@@ -952,7 +951,6 @@
 <translation id="7554791636758816595">برگهٔ جدید</translation>
 <translation id="7564049878696755256">‏ممکن است دسترسی به حساب <ph name="ORG_NAME" /> را از دست بدهید یا به سرقت هویت دچار شوید. Chrome توصیه می‌کند هم‌اکنون گذرواژه‌تان را تغییر دهید.</translation>
 <translation id="7567204685887185387">این سرور نتوانست اثبات کند که این <ph name="DOMAIN" /> است؛ ممکن است گواهی امنیتی آن به صورت تقلبی صادر شده باشد. ممکن است علت این موضوع پیکربندی اشتباه باشد یا مهاجمی اتصال شما را قطع کرده است.</translation>
-<translation id="7568593326407688803">این صفحه به <ph name="ORIGINAL_LANGUAGE" /> است، آیا مایلید ترجمه شود؟</translation>
 <translation id="7569952961197462199">‏کارت اعتباری از Chrome پاک شود؟</translation>
 <translation id="7575800019233204241">‏«اتصالتان خصوصی نیست» یا «&lt;span class="error-code"&gt;NET::ERR_CERT_AUTHORITY_INVALID&lt;/span&gt;» یا «&lt;span class="error-code"&gt;ERR_CERT_COMMON_NAME_INVALID&lt;/span&gt;» یا «&lt;span class="error-code"&gt;NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM&lt;/span&gt;» یا «خطای گواهینامه SSL»</translation>
 <translation id="7578104083680115302">‏با استفاده از کارت‌هایی که با Google ذخیره کرده‌اید به‌سرعت در همه دستگاه‌هایتان پرداخت‌های سایت‌ها و برنامه‌ها را انجام دهید.</translation>
diff --git a/components/strings/components_strings_fi.xtb b/components/strings/components_strings_fi.xtb
index 8cfbd58f..57ad3bf 100644
--- a/components/strings/components_strings_fi.xtb
+++ b/components/strings/components_strings_fi.xtb
@@ -809,7 +809,6 @@
 <translation id="6508722015517270189">Käynnistä Chrome uudelleen.</translation>
 <translation id="6529602333819889595">&amp;Toista poisto</translation>
 <translation id="6534179046333460208">Fyysisen webin ehdotukset</translation>
-<translation id="6550675742724504774">Asetukset</translation>
 <translation id="6563469144985748109">Ylläpitäjä ei ole hyväksynyt sitä vielä.</translation>
 <translation id="6569060085658103619">Tämä on laajennussivu.</translation>
 <translation id="6596325263575161958">Salausasetukset</translation>
@@ -953,7 +952,6 @@
 <translation id="7554791636758816595">Uusi välilehti</translation>
 <translation id="7564049878696755256">Saatat menettää <ph name="ORG_NAME" />-tilisi käyttöoikeuden tai joutua identiteettivarkauden uhriksi. Chrome suosittelee salasanan vaihtamista välittömästi.</translation>
 <translation id="7567204685887185387">Palvelin ei voinut todistaa olevansa <ph name="DOMAIN" />; sen suojausvarmenne on ehkä luotu vilpillisesti. Tämä voi johtua määritysvirheestä tai verkkoyhteytesi siepanneesta hyökkääjästä.</translation>
-<translation id="7568593326407688803">Tämä sivu on kirjoitettu kielellä<ph name="ORIGINAL_LANGUAGE" />Haluatko kääntää sen?</translation>
 <translation id="7569952961197462199">Poistetaanko luottokortti Chromen tiedoista?</translation>
 <translation id="7575800019233204241">"Yhteytesi ei ole salattu", "&lt;span class="error-code"&gt;NET::ERR_CERT_AUTHORITY_INVALID&lt;/span&gt;", "&lt;span class="error-code"&gt;ERR_CERT_COMMON_NAME_INVALID&lt;/span&gt;", "&lt;span class="error-code"&gt;NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM&lt;/span&gt;" tai "SSL-varmennevirhe"</translation>
 <translation id="7578104083680115302">Voit maksaa sivustoilla ja sovelluksissa nopeasti eri laitteillasi käyttämällä Googleen tallennettuja kortteja.</translation>
diff --git a/components/strings/components_strings_fil.xtb b/components/strings/components_strings_fil.xtb
index 38e8516..57a1c469 100644
--- a/components/strings/components_strings_fil.xtb
+++ b/components/strings/components_strings_fil.xtb
@@ -808,7 +808,6 @@
 <translation id="6508722015517270189">I-restart ang Chrome</translation>
 <translation id="6529602333819889595">&amp;Gawing Muli ang Pagtanggal</translation>
 <translation id="6534179046333460208">Mga suhestyon sa Pisikal na Web</translation>
-<translation id="6550675742724504774">Mga Pagpipilian</translation>
 <translation id="6563469144985748109">Hindi pa ito inaaprubahan ng iyong manager</translation>
 <translation id="6569060085658103619">Isang page ng extension ang tinitingnan mo</translation>
 <translation id="6596325263575161958">Mga pagpipilian sa pag-encrypt</translation>
@@ -952,7 +951,6 @@
 <translation id="7554791636758816595">Bagong Tab</translation>
 <translation id="7564049878696755256">Maaari kang mawalan ng access sa iyong account sa <ph name="ORG_NAME" /> o manakawan ng pagkakakilanlan. Inirerekomenda ng Chrome na palitan ang iyong password ngayon.</translation>
 <translation id="7567204685887185387">Hindi mapatunayan ng server na ito na ito ay <ph name="DOMAIN" />; maaaring mapanlokong ibinigay ang certificate ng seguridad nito. Maaaring dulot ito ng maling configuration o isang umaatake na hinahadlangan ang iyong koneksyon.</translation>
-<translation id="7568593326407688803">Ang pahinang ito ay nasa<ph name="ORIGINAL_LANGUAGE" />Gusto mong isalin ito?</translation>
 <translation id="7569952961197462199">Alisin ang credit card sa Chrome?</translation>
 <translation id="7575800019233204241">"Hindi pribado ang iyong koneksyon" o "&lt;span class="error-code"&gt;NET::ERR_CERT_AUTHORITY_INVALID&lt;/span&gt;" o "&lt;span class="error-code"&gt;ERR_CERT_COMMON_NAME_INVALID&lt;/span&gt;" o "&lt;span class="error-code"&gt;NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM&lt;/span&gt;" o "Error sa SSL certificate"</translation>
 <translation id="7578104083680115302">Magbayad nang mabilis sa mga site at app sa iba't ibang device gamit ang mga card na na-save mo sa Google.</translation>
diff --git a/components/strings/components_strings_fr.xtb b/components/strings/components_strings_fr.xtb
index 356117a3..4b5f453 100644
--- a/components/strings/components_strings_fr.xtb
+++ b/components/strings/components_strings_fr.xtb
@@ -808,7 +808,6 @@
 <translation id="6508722015517270189">Relancez Chrome</translation>
 <translation id="6529602333819889595">&amp;Rétablir la suppression</translation>
 <translation id="6534179046333460208">Suggestions pour le Web physique</translation>
-<translation id="6550675742724504774">Options</translation>
 <translation id="6563469144985748109">Votre responsable ne l'a pas encore autorisé</translation>
 <translation id="6569060085658103619">Vous consultez actuellement une page d'extension</translation>
 <translation id="6596325263575161958">Options de chiffrement</translation>
@@ -952,7 +951,6 @@
 <translation id="7554791636758816595">Nouvel onglet</translation>
 <translation id="7564049878696755256">Vous risquez de perdre l'accès à votre compte <ph name="ORG_NAME" /> ou d'être victime d'usurpation d'identité. L'équipe Chrome vous recommande de modifier votre mot de passe maintenant.</translation>
 <translation id="7567204685887185387">Impossible de vérifier sur le serveur qu'il s'agit bien du domaine <ph name="DOMAIN" />. Il se peut que son certificat de sécurité ait été émis de manière frauduleuse. Cela peut être dû à une mauvaise configuration ou bien à l'interception de votre connexion par un pirate informatique.</translation>
-<translation id="7568593326407688803">Cette page est en<ph name="ORIGINAL_LANGUAGE" />Voulez-vous la traduire ?</translation>
 <translation id="7569952961197462199">Supprimer les données de carte de paiement de Chrome ?</translation>
 <translation id="7575800019233204241">"Votre connexion n'est pas privée", "&lt;span class="error-code"&gt;NET::ERR_CERT_AUTHORITY_INVALID&lt;/span&gt;", "&lt;span class="error-code"&gt;ERR_CERT_COMMON_NAME_INVALID&lt;/span&gt;", "&lt;span class="error-code"&gt;NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM&lt;/span&gt;" ou "SSL certificate error"</translation>
 <translation id="7578104083680115302">Payez rapidement sur des sites et dans des applications sur tous vos appareils au moyen de cartes que vous avez enregistrées sur Google.</translation>
diff --git a/components/strings/components_strings_gu.xtb b/components/strings/components_strings_gu.xtb
index a2010bd..60ed91a 100644
--- a/components/strings/components_strings_gu.xtb
+++ b/components/strings/components_strings_gu.xtb
@@ -807,7 +807,6 @@
 <translation id="6508722015517270189">Chrome ને પુનઃપ્રારંભ કરો</translation>
 <translation id="6529602333819889595">&amp;કાઢી નાખવું ફરી કરો</translation>
 <translation id="6534179046333460208">વાસ્તવિક વેબ સૂચનો</translation>
-<translation id="6550675742724504774">વિકલ્પો</translation>
 <translation id="6563469144985748109">તમારા સંચાલકે હજી સુધી તેને મંજૂર કરેલ નથી</translation>
 <translation id="6569060085658103619">તમે એક્સ્ટેન્શન પૃષ્ઠ જોઈ રહ્યાં છો</translation>
 <translation id="6596325263575161958">એન્ક્રિપ્શન વિકલ્પો</translation>
@@ -951,7 +950,6 @@
 <translation id="7554791636758816595">નવું ટૅબ</translation>
 <translation id="7564049878696755256">તમે તમારા <ph name="ORG_NAME" /> એકાઉન્ટનો ઍક્સેસ ગુમાવી શકો છો અથવા તમને ઓળખ ચોરીનો અનુભવ થઈ શકે છે. Chrome તમને હમણાં જ તમારો પાસવર્ડ બદલવાની ભલામણ કરે છે.</translation>
 <translation id="7567204685887185387">આ સર્વર સાબિત કરી શક્યું નથી કે તે <ph name="DOMAIN" /> છે; તેનું સુરક્ષા પ્રમાણપત્ર કપટપૂર્વક રજૂ કરવામાં આવેલ હોઈ શકે છે. આ કોઈ ખોટી ગોઠવણીને કારણે થયું હશે અથવા કોઈ હુમલાખોર તમારા કનેક્શનને અટકાવી રહ્યો છે.</translation>
-<translation id="7568593326407688803">આ પૃષ્ઠ<ph name="ORIGINAL_LANGUAGE" />માં છે શું તમે તેને અનુવાદિત કરવા માંગો છો?</translation>
 <translation id="7569952961197462199">Chrome માંથી ક્રેડિટ કાર્ડ દૂર કરીએ?</translation>
 <translation id="7575800019233204241">"તમારું કનેક્શન ખાનગી નથી" અથવા "&lt;span class="error-code"&gt;NET::ERR_CERT_AUTHORITY_INVALID&lt;/span&gt;" અથવા "&lt;span class="error-code"&gt;ERR_CERT_COMMON_NAME_INVALID&lt;/span&gt;" અથવા "&lt;span class="error-code"&gt;NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM&lt;/span&gt;" અથવા "SSL પ્રમાણપત્ર ભૂલ"</translation>
 <translation id="7578104083680115302">તમે Google સાથે સાચવ્યાં છે તે કાર્ડ્સનો ઉપયોગ કરીને સમગ્ર ઉપકરણોમાં સાઇટ્સ અને ઍપ્લિકેશનો પર ઝડપથી ચુકવણી કરો.</translation>
diff --git a/components/strings/components_strings_hi.xtb b/components/strings/components_strings_hi.xtb
index 6d4f0bb0..dddace9 100644
--- a/components/strings/components_strings_hi.xtb
+++ b/components/strings/components_strings_hi.xtb
@@ -808,7 +808,6 @@
 <translation id="6508722015517270189">Chrome को फिर से शुरू करें</translation>
 <translation id="6529602333819889595">&amp;हटाना फिर से करें</translation>
 <translation id="6534179046333460208">जीता-जागता वेब के सुझाव</translation>
-<translation id="6550675742724504774">विकल्प</translation>
 <translation id="6563469144985748109">आपके प्रबंधक ने अभी तक इसकी स्वीकृति नहीं दी है</translation>
 <translation id="6569060085658103619">आप एक एक्सटेंशन पेज देख रहे हैं</translation>
 <translation id="6596325263575161958">सुरक्षित तरीका विकल्प</translation>
@@ -952,7 +951,6 @@
 <translation id="7554791636758816595">नया टैब</translation>
 <translation id="7564049878696755256">आप अपने <ph name="ORG_NAME" /> खाते का एक्सेस खो सकते हैं या आपकी पहचान चोरी हो सकती है. Chrome आपको इसी समय अपना पासवर्ड बदलने का सुझाव देता है.</translation>
 <translation id="7567204685887185387">यह सर्वर यह प्रमाणित नहीं कर सका कि यह <ph name="DOMAIN" /> है; हो सकता है इसका सुरक्षा प्रमाणपत्र धोखे से जारी किया गया हो. ऐसा गलत कॉन्फ़िगरेशन के कारण या किसी आक्रमणकर्ता द्वारा आपके कनेक्शन में अवरोध डालने के कारण हो सकता है.</translation>
-<translation id="7568593326407688803">यह पृष्ठ<ph name="ORIGINAL_LANGUAGE" />में है क्या आप इसका अनुवाद करना चाहेंगे?</translation>
 <translation id="7569952961197462199">Chrome से क्रेडिट कार्ड निकालें?</translation>
 <translation id="7575800019233204241">"आपका कनेक्शन निजी नहीं है" या "&lt;span class="error-code"&gt;NET::ERR_CERT_AUTHORITY_INVALID&lt;/span&gt;" या "&lt;span class="error-code"&gt;ERR_CERT_COMMON_NAME_INVALID&lt;/span&gt;" या "&lt;span class="error-code"&gt;NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM&lt;/span&gt;" या "SSL प्रमाणपत्र गड़बड़ी"</translation>
 <translation id="7578104083680115302">Google के साथ सहेजे गए कार्ड का उपयोग करके डिवाइसों में मौजूद साइटों और ऐप्‍स पर तुरंत भुगतान करें.</translation>
@@ -1137,7 +1135,7 @@
 <translation id="8874824191258364635">मान्य कार्ड संख्या डालें</translation>
 <translation id="8876793034577346603">नेटवर्क कॉन्फ़िगरेशन पार्स होने में विफल रहा.</translation>
 <translation id="8891727572606052622">अमान्य प्रॉक्सी मोड.</translation>
-<translation id="8892964541482452187">टैब बदलने का बटन, इस टैब पर स्विच करने के लिए enter दबाएं</translation>
+<translation id="8892964541482452187">टैब बदलने का बटन, इस टैब पर स्विच करने के लिए 'एन्टर' दबाएं</translation>
 <translation id="8903921497873541725">ज़ूम इन करें</translation>
 <translation id="8931333241327730545">क्या आप इस कार्ड को अपने Google खाते में सहेजना चाहते हैं?</translation>
 <translation id="8932102934695377596">आपकी घड़ी पीछे है</translation>
diff --git a/components/strings/components_strings_hr.xtb b/components/strings/components_strings_hr.xtb
index 77b80fd5..9c43dce3 100644
--- a/components/strings/components_strings_hr.xtb
+++ b/components/strings/components_strings_hr.xtb
@@ -807,7 +807,6 @@
 <translation id="6508722015517270189">Ponovo pokrenite Chrome</translation>
 <translation id="6529602333819889595">&amp;Ponovi brisanje</translation>
 <translation id="6534179046333460208">Prijedlozi Fizičkog weba</translation>
-<translation id="6550675742724504774">Opcije</translation>
 <translation id="6563469144985748109">Voditelj je još nije odobrio</translation>
 <translation id="6569060085658103619">Gledate stranicu proširenja</translation>
 <translation id="6596325263575161958">Opcije šifriranja</translation>
@@ -951,7 +950,6 @@
 <translation id="7554791636758816595">Nova kartica</translation>
 <translation id="7564049878696755256">Mogli biste izgubiti pristup svojem <ph name="ORG_NAME" /> računu ili bi netko mogao ukrasti vaš identitet. Chrome preporučuje da odmah promijenite zaporku.</translation>
 <translation id="7567204685887185387">Poslužitelj nije mogao dokazati da je <ph name="DOMAIN" />; njegov sigurnosni certifikat možda je lažan. To može biti uzrokovano pogrešnom konfiguracijom ili napadom na vašu vezu.</translation>
-<translation id="7568593326407688803">Ova je stranica na ovom jeziku:<ph name="ORIGINAL_LANGUAGE" />Želite li je prevesti?</translation>
 <translation id="7569952961197462199">Želite li s Chromea ukloniti kreditnu karticu?</translation>
 <translation id="7575800019233204241">"Vaša veza nije privatna" ili "&lt;span class="error-code"&gt;NET::ERR_CERT_AUTHORITY_INVALID&lt;/span&gt;" ili "&lt;span class="error-code"&gt;ERR_CERT_COMMON_NAME_INVALID&lt;/span&gt;" ili "&lt;span class="error-code"&gt;NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM&lt;/span&gt;" ili "Pogreška SSL certifikata"</translation>
 <translation id="7578104083680115302">Plaćajte brzo na web-lokacijama i u aplikacijama na više uređaja karticama koje ste spremili na Google.</translation>
diff --git a/components/strings/components_strings_hu.xtb b/components/strings/components_strings_hu.xtb
index 22ad1a5..1c49a23c 100644
--- a/components/strings/components_strings_hu.xtb
+++ b/components/strings/components_strings_hu.xtb
@@ -806,7 +806,6 @@
 <translation id="6508722015517270189">Indítsa újra a Chrome-ot</translation>
 <translation id="6529602333819889595">&amp;Törlés újra</translation>
 <translation id="6534179046333460208">Fizikai web – javaslatok</translation>
-<translation id="6550675742724504774">Beállítások</translation>
 <translation id="6563469144985748109">A kezelő még nem hagyta jóvá</translation>
 <translation id="6569060085658103619">Jelenleg bővítményoldalt tekint meg</translation>
 <translation id="6596325263575161958">Titkosítási lehetőségek</translation>
@@ -950,7 +949,6 @@
 <translation id="7554791636758816595">Új lap</translation>
 <translation id="7564049878696755256">Elveszítheti hozzáférést <ph name="ORG_NAME" />-fiókjához, vagy visszaélhetnek személyes adataival. A Chrome azt javasolja, hogy azonnal módosítsa jelszavát.</translation>
 <translation id="7567204685887185387">A szerver nem tudta bizonyítani, hogy valóban a(z) <ph name="DOMAIN" /> domainbe tartozik; biztonsági tanúsítványát csalással állíthatták ki. Ennek oka lehet konfigurációs hiba, vagy hogy egy támadó eltérítette az Ön kapcsolódását.</translation>
-<translation id="7568593326407688803">Az oldal nyelve<ph name="ORIGINAL_LANGUAGE" />Kívánja lefordítani?</translation>
 <translation id="7569952961197462199">Eltávolítja a hitelkártyát a Chrome-ból?</translation>
 <translation id="7575800019233204241">„Az Ön kapcsolata nem privát”, „&lt;span class="error-code"&gt;NET::ERR_CERT_AUTHORITY_INVALID&lt;/span&gt;”, „&lt;span class="error-code"&gt;ERR_CERT_COMMON_NAME_INVALID&lt;/span&gt;”, „&lt;span class="error-code"&gt;NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM&lt;/span&gt;” vagy „SSL-tanúsítványhiba”</translation>
 <translation id="7578104083680115302">A Google rendszerében mentett kártyákkal gyorsan fizethet webhelyeken és alkalmazásokban bármelyik eszközén.</translation>
diff --git a/components/strings/components_strings_id.xtb b/components/strings/components_strings_id.xtb
index 678a790..864694a4 100644
--- a/components/strings/components_strings_id.xtb
+++ b/components/strings/components_strings_id.xtb
@@ -808,7 +808,6 @@
 <translation id="6508722015517270189">Buka Ulang Chrome</translation>
 <translation id="6529602333819889595">&amp;Ulangi Penghapusan</translation>
 <translation id="6534179046333460208">Saran Web Fisik</translation>
-<translation id="6550675742724504774">Opsi</translation>
 <translation id="6563469144985748109">Pengelola Anda belum menyetujuinya</translation>
 <translation id="6569060085658103619">Anda melihat halaman ekstensi</translation>
 <translation id="6596325263575161958">Opsi enkripsi</translation>
@@ -950,7 +949,6 @@
 <translation id="7554791636758816595">Tab Baru</translation>
 <translation id="7564049878696755256">Anda dapat kehilangan akses ke akun <ph name="ORG_NAME" /> atau mengalami pencurian identitas. Chrome menyarankan Anda untuk mengubah sandi sekarang.</translation>
 <translation id="7567204685887185387">Server ini tidak dapat membuktikan bahwa ini adalah <ph name="DOMAIN" />; sertifikat keamanannya mungkin telah dikeluarkan dengan curang. Hal ini disebabkan oleh kesalahan konfigurasi atau penyerang memotong sambungan Anda.</translation>
-<translation id="7568593326407688803">Halaman ini dalam bahasa<ph name="ORIGINAL_LANGUAGE" />Ingin diterjemahkan?</translation>
 <translation id="7569952961197462199">Hapus kartu kredit dari Chrome?</translation>
 <translation id="7575800019233204241">"Koneksi tidak bersifat pribadi" atau "&lt;span class="error-code"&gt;NET::ERR_CERT_AUTHORITY_INVALID&lt;/span&gt;" atau "&lt;span class="error-code"&gt;ERR_CERT_COMMON_NAME_INVALID&lt;/span&gt;" atau "&lt;span class="error-code"&gt;NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM&lt;/span&gt;" atau "SSL certificate error"</translation>
 <translation id="7578104083680115302">Bayar di situs dan aplikasi di semua perangkat dengan cepat menggunakan kartu yang disimpan dengan Google.</translation>
diff --git a/components/strings/components_strings_it.xtb b/components/strings/components_strings_it.xtb
index 900be528..7d195dd 100644
--- a/components/strings/components_strings_it.xtb
+++ b/components/strings/components_strings_it.xtb
@@ -804,7 +804,6 @@
 <translation id="6508722015517270189">Riavvia Chrome</translation>
 <translation id="6529602333819889595">&amp;Ripeti eliminazione</translation>
 <translation id="6534179046333460208">Suggerimenti relativi al Physical Web</translation>
-<translation id="6550675742724504774">Opzioni</translation>
 <translation id="6563469144985748109">Il tuo gestore non ha ancora approvato la richiesta</translation>
 <translation id="6569060085658103619">È visualizzata la pagina di un'estensione</translation>
 <translation id="6596325263575161958">Opzioni di crittografia</translation>
@@ -948,7 +947,6 @@
 <translation id="7554791636758816595">Nuova scheda</translation>
 <translation id="7564049878696755256">Potresti non riuscire più ad accedere al tuo account <ph name="ORG_NAME" /> o subire un furto d'identità. Chrome ti consiglia di cambiare subito la password.</translation>
 <translation id="7567204685887185387">Questo server non è riuscito a dimostrare che si tratta di <ph name="DOMAIN" />; il relativo certificato di sicurezza potrebbe essere stato emesso in modo fraudolento. Il problema potrebbe essere dovuto a un'errata configurazione o a un malintenzionato che intercetta la connessione.</translation>
-<translation id="7568593326407688803">Questa pagina è in<ph name="ORIGINAL_LANGUAGE" />Vuoi tradurla?</translation>
 <translation id="7569952961197462199">Rimuovere la carta di credito da Chrome?</translation>
 <translation id="7575800019233204241">"La connessione non è privata", "&lt;span class="error-code"&gt;NET::ERR_CERT_AUTHORITY_INVALID&lt;/span&gt;", "&lt;span class="error-code"&gt;ERR_CERT_COMMON_NAME_INVALID&lt;/span&gt;", "&lt;span class="error-code"&gt;NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM&lt;/span&gt;" o "Errore certificato SSL"</translation>
 <translation id="7578104083680115302">Paga velocemente su siti e app su più dispositivi utilizzando le carte salvate su Google.</translation>
diff --git a/components/strings/components_strings_iw.xtb b/components/strings/components_strings_iw.xtb
index 4d840ceb..70b76d0 100644
--- a/components/strings/components_strings_iw.xtb
+++ b/components/strings/components_strings_iw.xtb
@@ -756,7 +756,7 @@
 <translation id="6047927260846328439">ייתכן שבתוכן הזה יש מידע מטעה שנועד לגרום לך להתקין תוכנות או לחשוף מידע אישי. <ph name="BEGIN_LINK" />הצג בכל זאת<ph name="END_LINK" /></translation>
 <translation id="6051221802930200923">נכון לעכשיו אי אפשר לבקר באתר <ph name="SITE" />, מאחר שבאתר הזה נעשה שימוש בנעיצת אישורים. שגיאות רשת ומתקפות הן בדרך כלל זמניות, כך שהדף הזה יחזור כנראה לפעול מאוחר יותר.</translation>
 <translation id="6059925163896151826">‏מכשירי USB</translation>
-<translation id="6060991652695587932">אפשר לבחור שירות אימייל לצורך גישה מהירה</translation>
+<translation id="6060991652695587932">כדאי לבחור שירות אימייל לצורך גישה מהירה</translation>
 <translation id="6071091556643036997">סוג המדיניות אינו חוקי.</translation>
 <translation id="6078024795140153212">{NUM_CARDS,plural, =1{‏הכרטיס הזה יישמר בחשבון Google שלך, כדי לאפשר תהליך מהיר יותר בקופה בכל המכשירים שברשותך.}two{‏הכרטיסים האלה יישמרו בחשבון Google שלך, כדי לאפשר תהליך מהיר יותר בקופה בכל המכשירים שברשותך.}many{‏הכרטיסים האלה יישמרו בחשבון Google שלך, כדי לאפשר תהליך מהיר יותר בקופה בכל המכשירים שברשותך.}other{‏הכרטיסים האלה יישמרו בחשבון Google שלך, כדי לאפשר תהליך מהיר יותר בקופה בכל המכשירים שברשותך.}}</translation>
 <translation id="6080696365213338172">ניגשת לתוכן באמצעות אישור שהוענק על ידי מנהל מערכת. מנהל המערכת שלך עשוי ליירט נתונים שתספק ל-<ph name="DOMAIN" />.</translation>
@@ -813,7 +813,6 @@
 <translation id="6508722015517270189">‏הפעלה מחדש של Chrome</translation>
 <translation id="6529602333819889595">&amp;ביצוע מחדש של מחיקה</translation>
 <translation id="6534179046333460208">הצעות לאינטרנט הווירטופיזי</translation>
-<translation id="6550675742724504774">אפשרויות</translation>
 <translation id="6563469144985748109">המנהל שלך עדיין לא אישר זאת</translation>
 <translation id="6569060085658103619">אתה מציג דף של תוסף</translation>
 <translation id="6596325263575161958">אפשרויות הצפנה</translation>
@@ -957,7 +956,6 @@
 <translation id="7554791636758816595">כרטיסייה חדשה</translation>
 <translation id="7564049878696755256">‏הגישה שלך לחשבון <ph name="ORG_NAME" /> עשויה להישלל והזהות שלך עשויה להיגנב. ההמלצה של Chrome היא לשנות את הסיסמה עכשיו.</translation>
 <translation id="7567204685887185387">השרת הזה לא הצליח להוכיח שהוא <ph name="DOMAIN" />. ייתכן שאישור האבטחה שלו נופק כהונאה. הסיבה לכך עשויה להיות הגדרה שגויה או תוקף המיירט את החיבור שלך.</translation>
-<translation id="7568593326407688803">זהו דף ב<ph name="ORIGINAL_LANGUAGE" />האם ברצונך לתרגם אותו?</translation>
 <translation id="7569952961197462199">‏האם להסיר את כרטיס האשראי מ-Chrome?</translation>
 <translation id="7575800019233204241">‏"החיבור שלך אינך פרטי" או "&lt;span class="error-code"&gt;NET::ERR_CERT_AUTHORITY_INVALID&lt;/span&gt;" או "&lt;span class="error-code"&gt;ERR_CERT_COMMON_NAME_INVALID&lt;/span&gt;" או "&lt;span class="error-code"&gt;NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM&lt;/span&gt;" או "שגיאת אישור SSL"</translation>
 <translation id="7578104083680115302">‏שלם במהירות באתרים ובאפליקציות בכל המכשירים באמצעות כרטיסים ששמרת ב-Google.</translation>
diff --git a/components/strings/components_strings_ja.xtb b/components/strings/components_strings_ja.xtb
index 3c64ecab..77cbb01 100644
--- a/components/strings/components_strings_ja.xtb
+++ b/components/strings/components_strings_ja.xtb
@@ -808,7 +808,6 @@
 <translation id="6508722015517270189">Chrome を再起動する</translation>
 <translation id="6529602333819889595">削除のやり直し(&amp;R)</translation>
 <translation id="6534179046333460208">フィジカル ウェブからの URL</translation>
-<translation id="6550675742724504774">オプション</translation>
 <translation id="6563469144985748109">管理者がまだサイトを開くことを許可していません</translation>
 <translation id="6569060085658103619">拡張機能のページを表示しています</translation>
 <translation id="6596325263575161958">暗号化オプション</translation>
@@ -952,7 +951,6 @@
 <translation id="7554791636758816595">新しいタブ</translation>
 <translation id="7564049878696755256"><ph name="ORG_NAME" /> アカウントにアクセスできなくなったり、個人情報が盗まれたりする可能性があります。今すぐパスワードを変更することをおすすめします。</translation>
 <translation id="7567204685887185387">このサーバーが <ph name="DOMAIN" /> であることを確認できませんでした。このサーバーのセキュリティ証明書は不正に発行されたものである可能性があります。原因としては、不適切な設定や、悪意のあるユーザーによる接続妨害が考えられます。</translation>
-<translation id="7568593326407688803">これは<ph name="ORIGINAL_LANGUAGE" />のページです。翻訳しますか?</translation>
 <translation id="7569952961197462199">Chrome からクレジット カードを削除してもよろしいですか?</translation>
 <translation id="7575800019233204241">「この接続ではプライバシーが保護されません」、「&lt;span class="error-code"&gt;NET::ERR_CERT_AUTHORITY_INVALID&lt;/span&gt;」、「&lt;span class="error-code"&gt;ERR_CERT_COMMON_NAME_INVALID&lt;/span&gt;」、「&lt;span class="error-code"&gt;NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM&lt;/span&gt;」、「SSL 証明書エラー」</translation>
 <translation id="7578104083680115302">どの端末でも、Google に保存したカードを使ってサイトやアプリの支払いをすばやく行うことができます。</translation>
diff --git a/components/strings/components_strings_kn.xtb b/components/strings/components_strings_kn.xtb
index 1d614973..ed52f5d1 100644
--- a/components/strings/components_strings_kn.xtb
+++ b/components/strings/components_strings_kn.xtb
@@ -802,7 +802,6 @@
 <translation id="6508722015517270189">Chrome ಮರುಪ್ರಾರಂಭಿಸಿ</translation>
 <translation id="6529602333819889595">&amp;ಅಳಿಸುವುದನ್ನು ಮತ್ತೆಮಾಡು</translation>
 <translation id="6534179046333460208">ಭೌತಿಕ ವೆಬ್ ಸಲಹೆಗಳು</translation>
-<translation id="6550675742724504774">ಆಯ್ಕೆಗಳು</translation>
 <translation id="6563469144985748109">ನಿಮ್ಮ ಮ್ಯಾನೇಜರ್ ಇನ್ನೂ ಇದನ್ನು ಅಂಗೀಕರಿಸಿಲ್ಲ</translation>
 <translation id="6569060085658103619">ನೀವು ವಿಸ್ತರಣೆ ಪುಟವನ್ನು ವೀಕ್ಷಿಸುತ್ತಿರುವಿರಿ</translation>
 <translation id="6596325263575161958">ಎನ್‌ಕ್ರಿಫ್ಶನ್ ಆಯ್ಕೆಗಳು</translation>
@@ -945,7 +944,6 @@
 <translation id="7554791636758816595">ಹೊಸ ಟ್ಯಾಬ್</translation>
 <translation id="7564049878696755256">ನಿಮ್ಮ <ph name="ORG_NAME" /> ಖಾತೆಗೆ ನೀವು ಪ್ರವೇಶವನ್ನು ಕಳೆದುಕೊಳ್ಳಬಹುದು ಅಥವಾ ಗುರುತು ಕಳ್ಳತನಕ್ಕೆ ಒಳಗಾಗಬಹುದು. ನಿಮ್ಮ ಪಾಸ್‌ವರ್ಡ್‌ ಅನ್ನು ಇದೀಗ ಬದಲಾಯಿಸುವಂತೆ Chrome ಶಿಫಾರಸು ಮಾಡುತ್ತದೆ.</translation>
 <translation id="7567204685887185387">ಈ ಸರ್ವರ್ <ph name="DOMAIN" /> ಆಗಿದೆ ಎಂಬುದನ್ನು ಸಾಬೀತುಪಡಿಸಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ; ಅದರ ಸುರಕ್ಷತಾ ಪ್ರಮಾಣಪತ್ರವನ್ನು ವಂಚನೆಯಿಂದ ನೀಡಿರಬಹುದು. ಇದು ತಪ್ಪು ಕಾನ್ಫಿಗರೇಶನ್‌ನಿಂದ ಅಥವಾ ಆಕ್ರಮಣಕಾರರು ನಿಮ್ಮ ಸಂಪರ್ಕದಲ್ಲಿ ಒಳನುಸುಳಿರುವುದರಿಂದ ಆಗಿರಬಹುದು.</translation>
-<translation id="7568593326407688803">ಈ ಪುಟವು<ph name="ORIGINAL_LANGUAGE" />ನಲ್ಲಿದೆ ನೀವು ಅದನ್ನು ಭಾಷಾಂತರಿಸಲು ಬಯಸುವಿರಾ?</translation>
 <translation id="7569952961197462199">Chrome ನಿಂದ ಕ್ರೆಡಿಟ್ ಕಾರ್ಡ್ ತೆಗೆದುಹಾಕುವುದೇ?</translation>
 <translation id="7575800019233204241">"ನಿಮ್ಮ ಸಂಪರ್ಕವು ಖಾಸಗಿಯಲ್ಲ" ಅಥವಾ "&lt;span class="error-code"&gt;NET::ERR_CERT_AUTHORITY_INVALID&lt;/span&gt;" ಅಥವಾ "&lt;span class="error-code"&gt;ERR_CERT_COMMON_NAME_INVALID&lt;/span&gt;" ಅಥವಾ "&lt;span class="error-code"&gt;NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM&lt;/span&gt;" ಅಥವಾ "SSL ಪ್ರಮಾಣಪತ್ರ ದೋಷ"</translation>
 <translation id="7578104083680115302">Google ನೊಂದಿಗೆ ನೀವು ಉಳಿಸಲಾದ ಕಾರ್ಡ್‌ಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಸಾಧನಗಳಾದ್ಯಂತ ಸೈಟ್‌ಗಳು ಮತ್ತು ಅಪ್ಲಿಕೇಶನ್‌ಗಳಲ್ಲಿ ತ್ವರಿತವಾಗಿ ಪಾವತಿಸಿ.</translation>
@@ -1130,7 +1128,7 @@
 <translation id="8874824191258364635">ಮಾನ್ಯವಾದ ಕಾರ್ಡ್ ಸಂಖ್ಯೆಯನ್ನು ನಮೂದಿಸಿ</translation>
 <translation id="8876793034577346603">ಪಾರ್ಸ್ ಮಾಡಬೇಕಾಗಿರುವ ನೆಟ್‌ವರ್ಕ್ ಕಾನ್ಫಿಗರೇಶನ್ ವಿಫಲವಾಗಿದೆ.</translation>
 <translation id="8891727572606052622">ಅಮಾನ್ಯವಾದ ಪ್ರಾಕ್ಸಿ ಮೋಡ್.</translation>
-<translation id="8892964541482452187">ಟ್ಯಾಬ್ ಸ್ವಿಚ್ ಬಟನ್, ಈ ಟ್ಯಾಬ್‌ಗೆ ಬದಲಾಯಿಸಲು ಎಂಟರ್ ಒತ್ತಿರಿ</translation>
+<translation id="8892964541482452187">ಟ್ಯಾಬ್ ಬದಲಿಸುವ ಬಟನ್, ಈ ಟ್ಯಾಬ್‌ಗೆ ಬದಲಾಯಿಸಲು ಎಂಟರ್ ಒತ್ತಿರಿ</translation>
 <translation id="8903921497873541725">ಝೂಮ್ ಇನ್</translation>
 <translation id="8931333241327730545">ಈ ಕಾರ್ಡನ್ನು ನಿಮ್ಮ Google ಖಾತೆನಲ್ಲಿ ಉಳಿಸಲು ಬಯಸುವಿರಾ?</translation>
 <translation id="8932102934695377596">ನಿಮ್ಮ ಗಡಿಯಾರ ಹಿಂದೆ ಇದೆ</translation>
diff --git a/components/strings/components_strings_ko.xtb b/components/strings/components_strings_ko.xtb
index 1b0ab55c..50fb6d35 100644
--- a/components/strings/components_strings_ko.xtb
+++ b/components/strings/components_strings_ko.xtb
@@ -751,7 +751,7 @@
 <translation id="6047927260846328439">이 콘텐츠는 사용자를 속여 소프트웨어를 설치하거나 개인정보를 유출할 수도 있습니다. <ph name="BEGIN_LINK" />표시하기<ph name="END_LINK" /></translation>
 <translation id="6051221802930200923">현재 <ph name="SITE" />에서 인증서 고정을 사용하기 때문에 방문할 수 없습니다. 네트워크 오류와 공격은 대부분 일시적이므로 나중에 이 페이지가 정상적으로 작동할 수 있습니다.</translation>
 <translation id="6059925163896151826">USB 기기</translation>
-<translation id="6060991652695587932">이메일 서비스를 사용하여 빠르게 액세스합니다.</translation>
+<translation id="6060991652695587932">빠른 액세스를 위해 이메일 서비스를 선택하세요</translation>
 <translation id="6071091556643036997">잘못된 정책 유형입니다.</translation>
 <translation id="6078024795140153212">{NUM_CARDS,plural, =1{모든 기기에서 신속하게 결제하기 위해 이 카드가 Google 계정에 저장됩니다.}other{모든 기기에서 신속하게 결제하기 위해 이 카드가 Google 계정에 저장됩니다.}}</translation>
 <translation id="6080696365213338172">관리자 제공 인증서를 사용하여 콘텐츠에 액세스했습니다. 사용자가 <ph name="DOMAIN" />에 제공한 데이터가 관리자에 의해 차단될 수 있습니다.</translation>
@@ -808,7 +808,6 @@
 <translation id="6508722015517270189">Chrome 다시 시작하기</translation>
 <translation id="6529602333819889595">삭제 다시 실행(&amp;R)</translation>
 <translation id="6534179046333460208">피지컬 웹 제안</translation>
-<translation id="6550675742724504774">옵션</translation>
 <translation id="6563469144985748109">관리자가 아직 승인하지 않았습니다.</translation>
 <translation id="6569060085658103619">확장 프로그램 페이지를 보는 중</translation>
 <translation id="6596325263575161958">암호화 옵션</translation>
@@ -951,7 +950,6 @@
 <translation id="7554791636758816595">새 탭</translation>
 <translation id="7564049878696755256"><ph name="ORG_NAME" /> 계정에 액세스할 수 없게 되거나 신원 도용이 발생할 수도 있습니다. 따라서 지금 비밀번호를 변경하는 것이 좋습니다.</translation>
 <translation id="7567204685887185387">이 서버가 <ph name="DOMAIN" />임을 입증할 수 없으며 서버의 보안 인증서가 부정한 방식으로 발행되었을 수 있습니다. 서버를 잘못 설정했거나 불법 사용자가 연결을 가로채고 있기 때문일 수 있습니다.</translation>
-<translation id="7568593326407688803">이 페이지는<ph name="ORIGINAL_LANGUAGE" />로 되어 있습니다. 번역하시겠습니까?</translation>
 <translation id="7569952961197462199">Chrome에서 신용카드를 삭제하시겠습니까?</translation>
 <translation id="7575800019233204241">'연결이 비공개로 설정되어 있지 않습니다.', '&lt;span class="error-code"&gt;NET::ERR_CERT_AUTHORITY_INVALID&lt;/span&gt;', '&lt;span class="error-code"&gt;ERR_CERT_COMMON_NAME_INVALID&lt;/span&gt;', '&lt;span class="error-code"&gt;NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM&lt;/span&gt;', 'SSL 인증서 오류'</translation>
 <translation id="7578104083680115302">Google에 저장한 카드를 사용하여 어떤 기기에서든지 사이트 및 앱에서 빠르게 지불할 수 있습니다.</translation>
diff --git a/components/strings/components_strings_lt.xtb b/components/strings/components_strings_lt.xtb
index 47a4cef6..41b8129 100644
--- a/components/strings/components_strings_lt.xtb
+++ b/components/strings/components_strings_lt.xtb
@@ -809,7 +809,6 @@
 <translation id="6508722015517270189">Iš naujo paleiskite „Chrome“</translation>
 <translation id="6529602333819889595">&amp;Ištrinti dar kartą</translation>
 <translation id="6534179046333460208">Fizinio žiniatinklio pasiūlymai</translation>
-<translation id="6550675742724504774">Parinktys</translation>
 <translation id="6563469144985748109">Jūsų valdytojas dar jos nepatvirtino</translation>
 <translation id="6569060085658103619">Peržiūrite plėtinio puslapį</translation>
 <translation id="6596325263575161958">Šifravimo parinktys</translation>
@@ -953,7 +952,6 @@
 <translation id="7554791636758816595">Naujas skirtukas</translation>
 <translation id="7564049878696755256">Galite prarasti galimybę pasiekti „<ph name="ORG_NAME" />“ paskyrą arba gali būti pavogta tapatybė. „Chrome“ rekomenduoja pakeisti slaptažodį dabar.</translation>
 <translation id="7567204685887185387">Šiam serveriui nepavyko patvirtinti, kad tai yra <ph name="DOMAIN" />; jo saugos sertifikatas gali būti neteisėtai išduotas. Taip gali nutikti dėl netinkamos konfigūracijos ar dėl ryšį pertraukusio užgrobėjo.</translation>
-<translation id="7568593326407688803">Šis puslapis yra<ph name="ORIGINAL_LANGUAGE" />Ar norėtumėte jį išversti?</translation>
 <translation id="7569952961197462199">Pašalinti kredito kortelės informaciją iš „Chrome“?</translation>
 <translation id="7575800019233204241">„Ryšys nėra privatus“, „&lt;span class="error-code"&gt;NET::ERR_CERT_AUTHORITY_INVALID&lt;/span&gt;“, „&lt;span class="error-code"&gt;ERR_CERT_COMMON_NAME_INVALID&lt;/span&gt;“, „&lt;span class="error-code"&gt;NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM&lt;/span&gt;“ arba „SSL sertifikato klaida“</translation>
 <translation id="7578104083680115302">Greitai mokėkite svetainėse ir programose įvairiuose įrenginiuose naudodami korteles, kurias išsaugojote „Google“.</translation>
diff --git a/components/strings/components_strings_lv.xtb b/components/strings/components_strings_lv.xtb
index 6918f13..3482b1f 100644
--- a/components/strings/components_strings_lv.xtb
+++ b/components/strings/components_strings_lv.xtb
@@ -807,7 +807,6 @@
 <translation id="6508722015517270189">Restartējiet pārlūku Chrome</translation>
 <translation id="6529602333819889595">&amp;Dzēšanas atsaukuma atcelšana</translation>
 <translation id="6534179046333460208">Fiziskā tīmekļa ieteikumi</translation>
-<translation id="6550675742724504774">Opcijas</translation>
 <translation id="6563469144985748109">Jūsu vadītājs vēl nav to apstiprinājis</translation>
 <translation id="6569060085658103619">Jūs skatāt paplašinājumu lapu.</translation>
 <translation id="6596325263575161958">Šifrēšanas opcijas</translation>
@@ -951,7 +950,6 @@
 <translation id="7554791636758816595">Jauna cilne</translation>
 <translation id="7564049878696755256">Varat zaudēt piekļuvi savam <ph name="ORG_NAME" /> kontam, vai jūsu identitāte var tikt nozagta. Chrome iesaka nekavējoties nomainīt paroli.</translation>
 <translation id="7567204685887185387">Šis serveris nevarēja pierādīt, ka šī ir vietne <ph name="DOMAIN" />; tās drošības sertifikāts, iespējams, ir izveidots krāpnieciski. Iespējams, tas ir nepareizas konfigurācijas dēļ vai arī kāds ir ļaunprātīgi izmantojis jūsu savienojumu.</translation>
-<translation id="7568593326407688803">Šī lapa ir rakstīta<ph name="ORIGINAL_LANGUAGE" />valodā. Vai vēlaties to tulkot?</translation>
 <translation id="7569952961197462199">Vai noņemt kredītkarti no pārlūka Chrome?</translation>
 <translation id="7575800019233204241">“Savienojums nav privāts”, “&lt;span class="error-code"&gt;NET::ERR_CERT_AUTHORITY_INVALID&lt;/span&gt;”, “&lt;span class="error-code"&gt;ERR_CERT_COMMON_NAME_INVALID&lt;/span&gt;”, “&lt;span class="error-code"&gt;NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM&lt;/span&gt;” vai “SSL sertifikāta kļūda”</translation>
 <translation id="7578104083680115302">Ātri apmaksājiet pirkumus vietnēs un lietotnēs no dažādām ierīcēm, izmantojot kartes, ko esat saglabājis Google sistēmā.</translation>
diff --git a/components/strings/components_strings_ml.xtb b/components/strings/components_strings_ml.xtb
index ea6d5f3..1d89e67a 100644
--- a/components/strings/components_strings_ml.xtb
+++ b/components/strings/components_strings_ml.xtb
@@ -750,7 +750,7 @@
 <translation id="6047927260846328439">സോഫ്‌റ്റ്‌വെയർ ഇൻസ്‌റ്റാൾ ചെയ്യുന്നതിലേക്കോ വ്യക്തിഗത വിവരങ്ങൾ വെളിപ്പെടുത്തുന്നതിലേക്കോ നിങ്ങളെ തന്ത്രപൂർവ്വം നയിച്ചുകൊണ്ട്, ഈ ഉള്ളടക്കം നിങ്ങളെ കബളിപ്പിക്കാൻ ശ്രമിച്ചേക്കാം. <ph name="BEGIN_LINK" />എന്തായാലും കാണിക്കുക<ph name="END_LINK" /></translation>
 <translation id="6051221802930200923"><ph name="SITE" /> എന്ന വെബ്‌സൈറ്റ് സർട്ടിഫിക്കറ്റ് പിന്നിംഗ് ഉപയോഗിക്കുന്നതിനാൽ നിങ്ങൾക്കിപ്പോൾ അത് സന്ദർശിക്കാനാകില്ല. നെറ്റ്‌വർക്ക് പിശകുകളും ആക്രമണങ്ങളും സാധാരണയായി താൽക്കാലികമായിരിക്കും, അതിനാൽ ഈ പേജ് മിക്കവാറും പിന്നീട് പ്രവർത്തിക്കും.</translation>
 <translation id="6059925163896151826">USB ഉപകരണങ്ങൾ</translation>
-<translation id="6060991652695587932">ദ്രുത ആക്‌സസിനായി നിങ്ങളുടെ ഇമെയില്‍ തിരഞ്ഞെടുക്കുക</translation>
+<translation id="6060991652695587932">ദ്രുത ആക്‌സസിനായി നിങ്ങളുടെ ഇമെയില്‍ സേവനം തിരഞ്ഞെടുക്കുക</translation>
 <translation id="6071091556643036997">സാധുതയില്ലാത്ത നയ തരം.</translation>
 <translation id="6078024795140153212">{NUM_CARDS,plural, =1{ഉപകരണങ്ങളിൽ ഉടനീളം വേഗത്തിൽ ചെക്കൗട്ട് ചെയ്യാനായി ഈ കാർഡ് നിങ്ങളുടെ Google അക്കൗണ്ടിലേക്ക് സംരക്ഷിക്കും.}other{ഉപകരണങ്ങളിൽ ഉടനീളം വേഗത്തിൽ ചെക്കൗട്ട് ചെയ്യാനായി ഈ കാർഡുകൾ നിങ്ങളുടെ Google അക്കൗണ്ടിലേക്ക് സംരക്ഷിക്കും.}}</translation>
 <translation id="6080696365213338172">അഡ്‌മിനിസ്‌ട്രേറ്റർ നൽകിയ സർട്ടിഫിക്കറ്റ് ഉപയോഗിച്ച് നിങ്ങൾ ഉള്ളടക്കം ആക്‌സസ്സുചെയ്‌തു. നിങ്ങൾ <ph name="DOMAIN" /> എന്നതിലേക്ക് നൽകുന്ന ഡാറ്റ അഡ്‌മിനിസ്‌ട്രേറ്റർക്ക് തടയാനാവും.</translation>
@@ -807,7 +807,6 @@
 <translation id="6508722015517270189">Chrome റീസ്‌റ്റാർട്ടുചെയ്യുക</translation>
 <translation id="6529602333819889595">&amp;ഇല്ലാതാക്കുന്നത് വീണ്ടും ചെയ്യുക</translation>
 <translation id="6534179046333460208">ഫിസിക്കൽ വെബ് നിർദ്ദേശങ്ങൾ</translation>
-<translation id="6550675742724504774">ഓപ്ഷനുകൾ</translation>
 <translation id="6563469144985748109">നിങ്ങളുടെ മാനേജർ ഇതുവരെ അംഗീകാരം നൽകിയിട്ടില്ല</translation>
 <translation id="6569060085658103619">നിങ്ങൾ ഒരു വിപുലീകരണ പേജാണ് കാണുന്നത്</translation>
 <translation id="6596325263575161958">എൻക്രിപ്‌ഷൻ ഓപ്‌ഷനുകൾ</translation>
@@ -949,7 +948,6 @@
 <translation id="7554791636758816595">പുതിയ ടാബ്</translation>
 <translation id="7564049878696755256">നിങ്ങളുടെ <ph name="ORG_NAME" /> അക്കൗണ്ടിലേക്കുള്ള ആക്‌സസ് നഷ്‌ടമാകാനോ നിങ്ങളുടെ ഐഡന്‍റിറ്റി മോഷ്ടിക്കപ്പെടാനോ സാധ്യതയുണ്ട്. ഇപ്പോൾ തന്നെ പാസ്‍വേഡ് മാറ്റാൻ Chrome ശുപാർശ ചെയ്യുന്നു.</translation>
 <translation id="7567204685887185387">ഈ സെർവറിന് അത് <ph name="DOMAIN" /> ആണെന്ന് തെളിയിക്കാനായില്ല; സെർവറിന്റെ സുരക്ഷ സർട്ടിഫിക്കറ്റ് വഞ്ചനാപരമായി ഇഷ്യൂ ചെയ്‌തിരിക്കാം. തെറ്റായ കോൺഫിഗറേഷൻ കാരണമോ ഒരു അക്രമണകാരി നിങ്ങളുടെ കണക്ഷനെ തടസ്സപ്പെടുത്തുന്നത് കൊണ്ടോ ആയിരിക്കാം ഇത് സംഭവിച്ചത്.</translation>
-<translation id="7568593326407688803">ഈ പേജ്<ph name="ORIGINAL_LANGUAGE" />ലാണ് നിങ്ങളത് വിവര്‍‌ത്തനം ചെയ്യാന്‍‌ താല്‍‌പ്പര്യപ്പെടുന്നോ?</translation>
 <translation id="7569952961197462199">Chrome-ൽ നിന്ന് ക്രെഡിറ്റ് കാർഡ് നീക്കംചെയ്യണോ?</translation>
 <translation id="7575800019233204241">"നിങ്ങളുടെ കണക്ഷൻ സ്വകാര്യമല്ല" അല്ലെങ്കിൽ "&lt;span class="error-code"&gt;NET::ERR_CERT_AUTHORITY_INVALID&lt;/span&gt;" അല്ലെങ്കിൽ "&lt;span class="error-code"&gt;ERR_CERT_COMMON_NAME_INVALID&lt;/span&gt;" അല്ലെങ്കിൽ "&lt;span class="error-code"&gt;NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM&lt;/span&gt;" അല്ലെങ്കിൽ "SSL സർട്ടിഫിക്കറ്റ് പിശക്"</translation>
 <translation id="7578104083680115302">നിങ്ങൾ Google-ൽ സംരക്ഷിച്ച കാർഡുകൾ ഉപയോഗിച്ച് ഉപകരണങ്ങളിലുടനീളമുള്ള സൈറ്റുകളിലും ആപ്‌സിലും പെട്ടെന്ന് പണമടയ്‌ക്കുക.</translation>
diff --git a/components/strings/components_strings_mr.xtb b/components/strings/components_strings_mr.xtb
index eb63b09..3859260 100644
--- a/components/strings/components_strings_mr.xtb
+++ b/components/strings/components_strings_mr.xtb
@@ -809,7 +809,6 @@
 <translation id="6508722015517270189">Chrome रीस्टार्ट करा</translation>
 <translation id="6529602333819889595">&amp;पुन्हा करा हटवा</translation>
 <translation id="6534179046333460208">वास्तविक वेब सूचना</translation>
-<translation id="6550675742724504774">पर्याय</translation>
 <translation id="6563469144985748109">आपल्या व्यवस्थापकाने अद्याप ती मंजूर केली नाही</translation>
 <translation id="6569060085658103619">आपण एक विस्तार पृष्ठ पाहत आहात</translation>
 <translation id="6596325263575161958">एंक्रिप्शन पर्याय</translation>
@@ -910,7 +909,7 @@
 <translation id="7377249249140280793"><ph name="RELATIVE_DATE" /> - <ph name="FULL_DATE" /></translation>
 <translation id="7378627244592794276">नाही</translation>
 <translation id="7378810950367401542">/</translation>
-<translation id="7381288752349550461">व्यवस्थापित केलेले सेशन अधिशून्य</translation>
+<translation id="7381288752349550461">व्यवस्थापित केलेले सेशन ओव्हरराइड</translation>
 <translation id="7390545607259442187">कार्डची पुष्टी करा</translation>
 <translation id="7400418766976504921">URL</translation>
 <translation id="7407424307057130981">&lt;p&gt;जर तुम्हाला Windows कॉंप्युटरवर Superfish सॉफ्टवेअर असेल, तर तुम्हाला हा एरर दिसेल.&lt;/p&gt;
@@ -953,7 +952,6 @@
 <translation id="7554791636758816595">नवीन टॅब</translation>
 <translation id="7564049878696755256">तुम्ही तुमच्या Google <ph name="ORG_NAME" /> चा अॅक्सेस गमावू शकता किंवा तुमची संवेदनशील माहिती चोरीला जाऊ शकते. Chrome लगेच तुमचा पासवर्ड बदलण्याची शिफारस करत आहे.</translation>
 <translation id="7567204685887185387">हा सर्व्हर हे <ph name="DOMAIN" /> असल्याचे सिद्ध करू शकला नाही; त्याचे सुरक्षितता सर्टिफिकेट कदाचित लबाडीने जारी केले असावे. हे कदाचित एका चुकीच्या कॉंफिगरेशनमुळे किंवा हल्लेखोराने तुमचे कनेक्शन इंटरसेप्ट केल्यामुळे झाले असू शकते.</translation>
-<translation id="7568593326407688803">हे पृष्ठ<ph name="ORIGINAL_LANGUAGE" />मध्ये आहे आपण याचा भाषांतर करु इच्छिता?</translation>
 <translation id="7569952961197462199">Chrome मधून क्रेडिट कार्ड काढून टाकायचे?</translation>
 <translation id="7575800019233204241">"तुमचे कनेक्शन खाजगी नाही" किंवा "&lt;span class="error-code"&gt;NET::ERR_CERT_AUTHORITY_INVALID&lt;/span&gt;" किंवा "&lt;span class="error-code"&gt;ERR_CERT_COMMON_NAME_INVALID&lt;/span&gt;" किंवा "&lt;span class="error-code"&gt;NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM&lt;/span&gt;" किंवा "SSL सर्टिफिकेट एरर"</translation>
 <translation id="7578104083680115302">आपण Google सह सेव्ह केलेल्या कार्डचा वापर करून डिव्‍हाइसेसवरून द्रुतपणे साइट आणि अॅप्सवर देय द्या.</translation>
diff --git a/components/strings/components_strings_ms.xtb b/components/strings/components_strings_ms.xtb
index 44f1ab6..abcecac 100644
--- a/components/strings/components_strings_ms.xtb
+++ b/components/strings/components_strings_ms.xtb
@@ -809,7 +809,6 @@
 <translation id="6508722015517270189">Mulakan semula Chrome</translation>
 <translation id="6529602333819889595">&amp;Buat Semula Pemadaman</translation>
 <translation id="6534179046333460208">Cadangan Web Fizikal</translation>
-<translation id="6550675742724504774">Pilihan</translation>
 <translation id="6563469144985748109">Pengurus anda belum meluluskannya</translation>
 <translation id="6569060085658103619">Anda sedang melihat halaman sambungan</translation>
 <translation id="6596325263575161958">Pilihan penyulitan</translation>
@@ -953,7 +952,6 @@
 <translation id="7554791636758816595">Tab Baharu</translation>
 <translation id="7564049878696755256">Anda boleh kehilangan akses kepada akaun <ph name="ORG_NAME" /> anda atau mengalami kecurian identiti. Chrome mengesyorkan supaya kata laluan anda ditukar sekarang.</translation>
 <translation id="7567204685887185387">Pelayan ini tidak dapat membuktikan bahawa domainnya ialah <ph name="DOMAIN" />; sijil keselamatannya mungkin telah dikeluarkan melalui penipuan. Ini mungkin disebabkan oleh kesilapan konfigurasi atau penyerang yang memintasi sambungan anda.</translation>
-<translation id="7568593326407688803">Halaman ini adalah dalam<ph name="ORIGINAL_LANGUAGE" />Adakah anda ingin menterjemahkannya?</translation>
 <translation id="7569952961197462199">Alih keluar kad kredit daripada Chrome?</translation>
 <translation id="7575800019233204241">"Sambungan anda tidak peribadi" atau "&lt;span class="error-code"&gt;NET::ERR_CERT_AUTHORITY_INVALID&lt;/span&gt;" atau "&lt;span class="error-code"&gt;ERR_CERT_COMMON_NAME_INVALID&lt;/span&gt;" atau "&lt;span class="error-code"&gt;NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM&lt;/span&gt;" atau "Ralat sijil SSL"</translation>
 <translation id="7578104083680115302">Bayar dengan cepat di tapak dan apl merentas peranti menggunakan kad yang telah disimpan dengan Google.</translation>
diff --git a/components/strings/components_strings_nl.xtb b/components/strings/components_strings_nl.xtb
index f38e029..149ad27 100644
--- a/components/strings/components_strings_nl.xtb
+++ b/components/strings/components_strings_nl.xtb
@@ -738,7 +738,7 @@
 <translation id="6015796118275082299">Jaar</translation>
 <translation id="6016158022840135739">{COUNT,plural, =1{Pagina 1}other{Pagina #}}</translation>
 <translation id="6017850046339264347">Aanvallers op <ph name="BEGIN_BOLD" /><ph name="SITE" /><ph name="END_BOLD" /> kunnen misleidende apps installeren die zich voordoen als iets anders of gegevens verzamelen die kunnen worden gebruikt om je te volgen. <ph name="BEGIN_LEARN_MORE_LINK" />Meer informatie<ph name="END_LEARN_MORE_LINK" /></translation>
-<translation id="6022659036123304283">Stel Chrome naar wens in</translation>
+<translation id="6022659036123304283">Personaliseer Chrome voor jou</translation>
 <translation id="6025416945513303461"><ph name="TYPE_1" />, <ph name="TYPE_2" />, <ph name="TYPE_3" /> (gesynchroniseerd)</translation>
 <translation id="6027201098523975773">Geef een naam op</translation>
 <translation id="6039846035001940113">Als het probleem blijft optreden, neem je contact op met de site-eigenaar.</translation>
@@ -803,7 +803,6 @@
 <translation id="6508722015517270189">Chrome opnieuw starten</translation>
 <translation id="6529602333819889595">&amp;Opnieuw verwijderen</translation>
 <translation id="6534179046333460208">Fysieke web-suggesties</translation>
-<translation id="6550675742724504774">Opties</translation>
 <translation id="6563469144985748109">Je beheerder heeft dit nog niet goedgekeurd</translation>
 <translation id="6569060085658103619">Je bekijkt een extensiepagina</translation>
 <translation id="6596325263575161958">Opties voor encryptie</translation>
@@ -947,7 +946,6 @@
 <translation id="7554791636758816595">Nieuw tabblad</translation>
 <translation id="7564049878696755256">Je kunt de toegang tot je account van <ph name="ORG_NAME" /> kwijtraken of slachtoffer worden van identiteitsdiefstal. Chrome raadt je aan je wachtwoord nu te wijzigen.</translation>
 <translation id="7567204685887185387">De server kan niet bewijzen dat dit <ph name="DOMAIN" /> is. Het beveiligingscertificaat van de server is mogelijk frauduleus verstrekt. Dit kan worden veroorzaakt door een verkeerde configuratie of een aanvaller die je verbinding onderschept.</translation>
-<translation id="7568593326407688803">Deze pagina is geschreven in het<ph name="ORIGINAL_LANGUAGE" />Wil je deze laten vertalen?</translation>
 <translation id="7569952961197462199">Creditcard verwijderen uit Chrome?</translation>
 <translation id="7575800019233204241">'Je verbinding is niet privé' of '&lt;span class="error-code"&gt;NET::ERR_CERT_AUTHORITY_INVALID&lt;/span&gt;' of '&lt;span class="error-code"&gt;ERR_CERT_COMMON_NAME_INVALID&lt;/span&gt;' of '&lt;span class="error-code"&gt;NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM&lt;/span&gt;' of 'SSL-certificaatfout'</translation>
 <translation id="7578104083680115302">Betaal op verschillende apparaten snel op sites en in apps met kaarten die je hebt opgeslagen via Google.</translation>
diff --git a/components/strings/components_strings_no.xtb b/components/strings/components_strings_no.xtb
index 45f092c..27f04b3c 100644
--- a/components/strings/components_strings_no.xtb
+++ b/components/strings/components_strings_no.xtb
@@ -808,7 +808,6 @@
 <translation id="6508722015517270189">Start Chrome på nytt</translation>
 <translation id="6529602333819889595">&amp;Slett likevel</translation>
 <translation id="6534179046333460208">Fysisk nett-forslag</translation>
-<translation id="6550675742724504774">Alternativer</translation>
 <translation id="6563469144985748109">Administratoren din har ikke godkjent det ennå</translation>
 <translation id="6569060085658103619">Du ser på en utvidelsesside</translation>
 <translation id="6596325263575161958">Krypteringsalternativer</translation>
@@ -951,7 +950,6 @@
 <translation id="7554791636758816595">Ny fane</translation>
 <translation id="7564049878696755256">Du kan miste tilgangen til <ph name="ORG_NAME" />-kontoen din eller bli utsatt for identitetstyveri. Chrome anbefaler at du endrer passordet ditt nå.</translation>
 <translation id="7567204685887185387">Denne tjeneren kunne ikke bevise at den er <ph name="DOMAIN" />. Tjenerens sikkerhetssertifikat kan ha blitt utstedt på uredelig vis. Dette kan være forårsaket av en feilkonfigurering eller en angriper som avskjærer tilkoblingen din.</translation>
-<translation id="7568593326407688803">Denne siden er på<ph name="ORIGINAL_LANGUAGE" />Vil du ha den oversatt?</translation>
 <translation id="7569952961197462199">Vil du fjerne kredittkortet fra Chrome?</translation>
 <translation id="7575800019233204241">«Tilkoblingen din er ikke privat», «&lt;span class="error-code"&gt;NET::ERR_CERT_AUTHORITY_INVALID&lt;/span&gt;», «&lt;span class="error-code"&gt;ERR_CERT_COMMON_NAME_INVALID&lt;/span&gt;», «&lt;span class="error-code"&gt;NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM&lt;/span&gt;» eller «SSL-sertifikatfeil»</translation>
 <translation id="7578104083680115302">Når du lagrer kort med Google, kan du bruke dem til å betale raskt på nettsteder og i apper – uansett hvilken enhet du bruker.</translation>
diff --git a/components/strings/components_strings_pl.xtb b/components/strings/components_strings_pl.xtb
index a2ea052..23d88b9 100644
--- a/components/strings/components_strings_pl.xtb
+++ b/components/strings/components_strings_pl.xtb
@@ -808,7 +808,6 @@
 <translation id="6508722015517270189">Uruchom ponownie Chrome</translation>
 <translation id="6529602333819889595">&amp;Ponów usunięcie</translation>
 <translation id="6534179046333460208">Sugestie dotyczące internetu rzeczy</translation>
-<translation id="6550675742724504774">Opcje</translation>
 <translation id="6563469144985748109">Twój menedżer jeszcze na to nie zezwolił</translation>
 <translation id="6569060085658103619">Przeglądasz stronę rozszerzenia</translation>
 <translation id="6596325263575161958">Opcje szyfrowania</translation>
@@ -952,7 +951,6 @@
 <translation id="7554791636758816595">Nowa karta</translation>
 <translation id="7564049878696755256">Możesz stracić dostęp do swojego konta <ph name="ORG_NAME" /> lub paść ofiarą kradzieży tożsamości. Chrome zaleca natychmiastową zmianę hasła.</translation>
 <translation id="7567204685887185387">Ten serwer nie mógł udowodnić, że należy do <ph name="DOMAIN" />. Jego certyfikat bezpieczeństwa mógł zostać wydany w celu oszustwa. Może to być spowodowane błędną konfiguracją lub przechwyceniem połączenia przez atakującego.</translation>
-<translation id="7568593326407688803">Język strony:<ph name="ORIGINAL_LANGUAGE" />Chcesz ją przetłumaczyć?</translation>
 <translation id="7569952961197462199">Usunąć tę kartę kredytową z Chrome?</translation>
 <translation id="7575800019233204241">„Połączenie nie jest prywatne” lub „&lt;span class="error-code"&gt;NET::ERR_CERT_AUTHORITY_INVALID&lt;/span&gt;” lub „&lt;span class="error-code"&gt;ERR_CERT_COMMON_NAME_INVALID&lt;/span&gt;” lub „&lt;span class="error-code"&gt;NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM&lt;/span&gt;” lub „Błąd certyfikatu SSL”</translation>
 <translation id="7578104083680115302">Używaj swoich kart zapisanych w Google, by łatwiej dokonywać płatności na stronach i w aplikacjach na różnych urządzeniach.</translation>
diff --git a/components/strings/components_strings_pt-BR.xtb b/components/strings/components_strings_pt-BR.xtb
index ef92203..a7b311e 100644
--- a/components/strings/components_strings_pt-BR.xtb
+++ b/components/strings/components_strings_pt-BR.xtb
@@ -808,7 +808,6 @@
 <translation id="6508722015517270189">Reiniciar o Chrome</translation>
 <translation id="6529602333819889595">&amp;Refazer excluir</translation>
 <translation id="6534179046333460208">Sugestões da Web física</translation>
-<translation id="6550675742724504774">Opções</translation>
 <translation id="6563469144985748109">Seu administrador ainda não o aprovou</translation>
 <translation id="6569060085658103619">Você está vendo uma página de extensões</translation>
 <translation id="6596325263575161958">Opções de criptografia</translation>
@@ -952,7 +951,6 @@
 <translation id="7554791636758816595">Nova guia</translation>
 <translation id="7564049878696755256">Você pode perder o acesso à sua conta de <ph name="ORG_NAME" /> ou ter sua identidade roubada. O Chrome recomenda que sua senha seja alterada agora.</translation>
 <translation id="7567204685887185387">Este servidor não conseguiu provar que é <ph name="DOMAIN" />. O certificado de segurança pode ter sido emitido de forma fraudulenta. Isso pode ser causado por uma configuração incorreta ou pela interceptação da sua conexão por um invasor.</translation>
-<translation id="7568593326407688803">Esta página está em<ph name="ORIGINAL_LANGUAGE" />Deseja traduzi-la?</translation>
 <translation id="7569952961197462199">Remover cartão de crédito do Chrome?</translation>
 <translation id="7575800019233204241">"Sua conexão não é particular", "&lt;span class="error-code"&gt;NET::ERR_CERT_AUTHORITY_INVALID&lt;/span&gt;", "&lt;span class="error-code"&gt;ERR_CERT_COMMON_NAME_INVALID&lt;/span&gt;", "&lt;span class="error-code"&gt;NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM&lt;/span&gt;" ou "Erro de certificado SSL"</translation>
 <translation id="7578104083680115302">Pague rapidamente em sites e aplicativos em vários dispositivos usando os cards que você salvou com o Google.</translation>
diff --git a/components/strings/components_strings_pt-PT.xtb b/components/strings/components_strings_pt-PT.xtb
index 40ad105c..1d16f53 100644
--- a/components/strings/components_strings_pt-PT.xtb
+++ b/components/strings/components_strings_pt-PT.xtb
@@ -808,7 +808,6 @@
 <translation id="6508722015517270189">Reiniciar o Chrome</translation>
 <translation id="6529602333819889595">&amp;Refazer eliminação</translation>
 <translation id="6534179046333460208">Sugestões da Web física</translation>
-<translation id="6550675742724504774">Opções</translation>
 <translation id="6563469144985748109">O seu gestor ainda não o aprovou</translation>
 <translation id="6569060085658103619">Está a ver a página de uma extensão</translation>
 <translation id="6596325263575161958">Opções de encriptação</translation>
@@ -951,7 +950,6 @@
 <translation id="7554791636758816595">Novo separador</translation>
 <translation id="7564049878696755256">Pode perder o acesso à sua conta do serviço <ph name="ORG_NAME" /> ou ser vítima de roubo de identidade. O Chrome recomenda a alteração da palavra-passe agora.</translation>
 <translation id="7567204685887185387">Este servidor não conseguiu provar que é o domínio <ph name="DOMAIN" />; o respetivo certificado de segurança poderá ter sido emitido de forma fraudulenta. Isto pode ser o resultado de uma configuração incorreta ou de um invasor a intercetar a sua ligação.</translation>
-<translation id="7568593326407688803">Esta página está em<ph name="ORIGINAL_LANGUAGE" />Pretende traduzi-la?</translation>
 <translation id="7569952961197462199">Pretende remover o cartão de crédito do Chrome?</translation>
 <translation id="7575800019233204241">"A sua ligação não é privada" ou "&lt;span class="error-code"&gt;NET::ERR_CERT_AUTHORITY_INVALID&lt;/span&gt;" ou "&lt;span class="error-code"&gt;ERR_CERT_COMMON_NAME_INVALID&lt;/span&gt;" ou "&lt;span class="error-code"&gt;NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM&lt;/span&gt;" ou "Erro de certificado SSL"</translation>
 <translation id="7578104083680115302">Pague rapidamente em sites e aplicações em todos os dispositivos com cartões que tenha guardado com o Google.</translation>
diff --git a/components/strings/components_strings_ro.xtb b/components/strings/components_strings_ro.xtb
index 9b6b9be..4f69b4d 100644
--- a/components/strings/components_strings_ro.xtb
+++ b/components/strings/components_strings_ro.xtb
@@ -808,7 +808,6 @@
 <translation id="6508722015517270189">repornește Chrome;</translation>
 <translation id="6529602333819889595">&amp;Repetați ștergerea</translation>
 <translation id="6534179046333460208">Sugestii pentru Webul material</translation>
-<translation id="6550675742724504774">Opțiuni</translation>
 <translation id="6563469144985748109">Administratorul nu l-a aprobat încă</translation>
 <translation id="6569060085658103619">Se afișează pagina unei extensii</translation>
 <translation id="6596325263575161958">Opțiuni de criptare</translation>
@@ -952,7 +951,6 @@
 <translation id="7554791636758816595">Filă nouă</translation>
 <translation id="7564049878696755256">Este posibil să pierzi accesul la contul <ph name="ORG_NAME" /> sau să fii victima unui furt de identitate. Chrome îți recomandă să îți schimbi acum parola.</translation>
 <translation id="7567204685887185387">Acest server nu a putut dovedi că este <ph name="DOMAIN" />; este posibil ca certificatul său de securitate să fi fost emis fraudulos. Cauza poate fi o configurare greșită sau interceptarea conexiunii de către un atacator.</translation>
-<translation id="7568593326407688803">Această pagină este în <ph name="ORIGINAL_LANGUAGE" /> Vrei să fie tradusă?</translation>
 <translation id="7569952961197462199">Elimini cardul de credit din Chrome?</translation>
 <translation id="7575800019233204241">„Conexiunea nu este privată”, „&lt;span class="error-code"&gt;NET::ERR_CERT_AUTHORITY_INVALID&lt;/span&gt;”, „&lt;span class="error-code"&gt;ERR_CERT_COMMON_NAME_INVALID&lt;/span&gt;”, „&lt;span class="error-code"&gt;NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM&lt;/span&gt;” sau „Eroare privind certificatul SSL”</translation>
 <translation id="7578104083680115302">Plătește rapid pe site-uri și în aplicații pe diferite dispozitive folosind cardurile pe care le-ai salvat pe Google.</translation>
diff --git a/components/strings/components_strings_ru.xtb b/components/strings/components_strings_ru.xtb
index 4483c30..738f12df 100644
--- a/components/strings/components_strings_ru.xtb
+++ b/components/strings/components_strings_ru.xtb
@@ -807,7 +807,6 @@
 <translation id="6508722015517270189">Перезапустите Google Chrome.</translation>
 <translation id="6529602333819889595">&amp;Повторить удаление</translation>
 <translation id="6534179046333460208">Интернет вокруг нас: рекомендации</translation>
-<translation id="6550675742724504774">Параметры</translation>
 <translation id="6563469144985748109">Ещё не одобрено администратором</translation>
 <translation id="6569060085658103619">Вы просматриваете страницу расширения</translation>
 <translation id="6596325263575161958">Параметры шифрования</translation>
@@ -951,7 +950,6 @@
 <translation id="7554791636758816595">Новая вкладка</translation>
 <translation id="7564049878696755256">Кто-то посторонний мог получить доступ к вашим личным данным или аккаунту в домене <ph name="ORG_NAME" />. Рекомендуем немедленно сменить пароль.</translation>
 <translation id="7567204685887185387">Не удалось подтвердить, что это сервер <ph name="DOMAIN" />. Его сертификат безопасности мог быть выдан обманным путем. Возможно, сервер настроен неправильно или кто-то пытается перехватить ваши данные.</translation>
-<translation id="7568593326407688803">Язык этой страницы<ph name="ORIGINAL_LANGUAGE" />Хотите перевести ее?</translation>
 <translation id="7569952961197462199">Удалить кредитную карту из Chrome?</translation>
 <translation id="7575800019233204241">"Подключение не защищено", &lt;span class="error-code"&gt;NET::ERR_CERT_AUTHORITY_INVALID&lt;/span&gt;, &lt;span class="error-code"&gt;ERR_CERT_COMMON_NAME_INVALID&lt;/span&gt;, &lt;span class="error-code"&gt;NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM&lt;/span&gt; или "Ошибка сертификата SSL"</translation>
 <translation id="7578104083680115302">Быстро оплачивайте покупки на сайтах и в приложениях с помощью карт, сохраненных в Google Payments. Настройка будет действовать на всех ваших устройствах.</translation>
diff --git a/components/strings/components_strings_sk.xtb b/components/strings/components_strings_sk.xtb
index 2e8ce776..837861a 100644
--- a/components/strings/components_strings_sk.xtb
+++ b/components/strings/components_strings_sk.xtb
@@ -803,7 +803,6 @@
 <translation id="6508722015517270189">Reštartujte Chrome</translation>
 <translation id="6529602333819889595">&amp;Znova odstrániť</translation>
 <translation id="6534179046333460208">Návrhy Fyzického webu</translation>
-<translation id="6550675742724504774">Možnosti</translation>
 <translation id="6563469144985748109">Váš správca to zatiaľ neschválil</translation>
 <translation id="6569060085658103619">Prezeráte si stránku s rozšíreniami</translation>
 <translation id="6596325263575161958">Možnosti šifrovania</translation>
@@ -947,7 +946,6 @@
 <translation id="7554791636758816595">Nová karta</translation>
 <translation id="7564049878696755256">Môžete stratiť prístup do účtu <ph name="ORG_NAME" /> alebo vám niekto môže ukradnúť identitu. Chrome odporúča, aby ste si ihneď zmenili heslo.</translation>
 <translation id="7567204685887185387">Server nedokáže overiť, či ide o doménu <ph name="DOMAIN" />, bol zrejme vydaný falošný bezpečnostný certifikát. Môže to byť spôsobené nesprávnou konfiguráciou alebo tým, že vaše pripojenie zachytil útočník.</translation>
-<translation id="7568593326407688803">Táto stránka je v jazyku<ph name="ORIGINAL_LANGUAGE" />Chceli by ste ju preložiť?</translation>
 <translation id="7569952961197462199">Chcete kreditnú kartu odstrániť z prehliadača Chrome?</translation>
 <translation id="7575800019233204241">„Vaše pripojenie nie je súkromné“, „&lt;span class="error-code"&gt;NET::ERR_CERT_AUTHORITY_INVALID&lt;/span&gt;“, „&lt;span class="error-code"&gt;ERR_CERT_COMMON_NAME_INVALID&lt;/span&gt;“, „&lt;span class="error-code"&gt;NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM&lt;/span&gt;“ alebo „Chyba certifikátu SSL“</translation>
 <translation id="7578104083680115302">Zaplaťte rýchlejšie na stránkach a v aplikáciách v rôznych službách pomocou kariet, ktoré ste si uložili na Googli.</translation>
diff --git a/components/strings/components_strings_sl.xtb b/components/strings/components_strings_sl.xtb
index a0eb7d8c3..8400f6c 100644
--- a/components/strings/components_strings_sl.xtb
+++ b/components/strings/components_strings_sl.xtb
@@ -808,7 +808,6 @@
 <translation id="6508722015517270189">Znova zaženite Chrome</translation>
 <translation id="6529602333819889595">&amp;Uveljavi izbris</translation>
 <translation id="6534179046333460208">Predlogi za Fizični splet</translation>
-<translation id="6550675742724504774">Možnosti</translation>
 <translation id="6563469144985748109">Skrbnik še ni odobril</translation>
 <translation id="6569060085658103619">Ogledujete si stran razširitve</translation>
 <translation id="6596325263575161958">Možnosti šifriranja</translation>
@@ -952,7 +951,6 @@
 <translation id="7554791636758816595">Nov zavihek</translation>
 <translation id="7564049878696755256">Izgubite lahko dostop do računa za <ph name="ORG_NAME" /> ali postanete žrtev kraje identitete. Chrome priporoča, da spremenite geslo.</translation>
 <translation id="7567204685887185387">Strežniku ni uspelo dokazati, da je <ph name="DOMAIN" />; njegovo varnostno potrdilo je bilo morda izdano z goljufijo. Razlog za to je lahko napačna konfiguracija ali napadalčevo prestrezanje povezave.</translation>
-<translation id="7568593326407688803">Ta stran je v jeziku:<ph name="ORIGINAL_LANGUAGE" />Jo želite prevesti?</translation>
 <translation id="7569952961197462199">Želite odstraniti kreditno kartico iz Chroma?</translation>
 <translation id="7575800019233204241">»Vaša povezava ni zasebna« ali »&lt;span class="error-code"&gt;NET::ERR_CERT_AUTHORITY_INVALID&lt;/span&gt;« ali »&lt;span class="error-code"&gt;ERR_CERT_COMMON_NAME_INVALID&lt;/span&gt;« ali »&lt;span class="error-code"&gt;NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM&lt;/span&gt;« ali »Napaka v potrdilu SSL«</translation>
 <translation id="7578104083680115302">Hitro plačevanje na spletnih mestih in v aplikacijah v vseh napravah s karticami, ki ste jih shranili v Googlu.</translation>
diff --git a/components/strings/components_strings_sr.xtb b/components/strings/components_strings_sr.xtb
index 8d44e78..0422147 100644
--- a/components/strings/components_strings_sr.xtb
+++ b/components/strings/components_strings_sr.xtb
@@ -807,7 +807,6 @@
 <translation id="6508722015517270189">Поново покрените Chrome</translation>
 <translation id="6529602333819889595">&amp;Понови брисање</translation>
 <translation id="6534179046333460208">Предлози Интернета око нас</translation>
-<translation id="6550675742724504774">Опције</translation>
 <translation id="6563469144985748109">Менаџер га још увек није одобрио</translation>
 <translation id="6569060085658103619">Прегледате страницу додатка.</translation>
 <translation id="6596325263575161958">Опције шифровања</translation>
@@ -951,7 +950,6 @@
 <translation id="7554791636758816595">Нова картица</translation>
 <translation id="7564049878696755256">Можете да изгубите приступ налогу за <ph name="ORG_NAME" /> или би могло да дође до крађе идентитета. Chrome вам препоручује да одмах промените лозинку.</translation>
 <translation id="7567204685887185387">Овај сервер не може да докаже да је <ph name="DOMAIN" />; његов безбедносни сертификат је можда лажно издат. Узрок томе је можда погрешна конфигурација или нападач који је прекинуо везу.</translation>
-<translation id="7568593326407688803">Ова страница је на језику:<ph name="ORIGINAL_LANGUAGE" />Желите ли да је преведете?</translation>
 <translation id="7569952961197462199">Желите ли да уклоните кредитну картицу из Chrome-а?</translation>
 <translation id="7575800019233204241">„Веза није приватна“ или „&lt;span class="error-code"&gt;NET::ERR_CERT_AUTHORITY_INVALID&lt;/span&gt;“ или „&lt;span class="error-code"&gt;ERR_CERT_COMMON_NAME_INVALID&lt;/span&gt;“ или „&lt;span class="error-code"&gt;NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM&lt;/span&gt;“ или „Грешка са SSL сертификатом“</translation>
 <translation id="7578104083680115302">Плаћајте брзо на сајтовима и у апликацијама на свим уређајима помоћу картица које сте сачували на Google-у.</translation>
diff --git a/components/strings/components_strings_sv.xtb b/components/strings/components_strings_sv.xtb
index 4fa120f..57d2718 100644
--- a/components/strings/components_strings_sv.xtb
+++ b/components/strings/components_strings_sv.xtb
@@ -808,7 +808,6 @@
 <translation id="6508722015517270189">Starta om Chrome</translation>
 <translation id="6529602333819889595">&amp;Gör om Ta bort</translation>
 <translation id="6534179046333460208">Förslag från Physical Web</translation>
-<translation id="6550675742724504774">Alternativ</translation>
 <translation id="6563469144985748109">Den ansvarige har inte godkänt den ännu</translation>
 <translation id="6569060085658103619">Du visar en tilläggssida</translation>
 <translation id="6596325263575161958">Krypteringsalternativ</translation>
@@ -952,7 +951,6 @@
 <translation id="7554791636758816595">Ny flik</translation>
 <translation id="7564049878696755256">Du kan förlora åtkomsten till kontot på <ph name="ORG_NAME" /> eller bli utsatt för identitetsstöld. Du rekommenderas att ändra lösenordet nu.</translation>
 <translation id="7567204685887185387">Servern kunde inte bevisa att den är <ph name="DOMAIN" /> eftersom dess säkerhetscertifikat kan ha utfärdats utan behörighet. Detta kan orsakas av en felaktig konfigurering eller att någon spärrar anslutningen.</translation>
-<translation id="7568593326407688803">Den här sidan är på<ph name="ORIGINAL_LANGUAGE" />Vill du översätta den?</translation>
 <translation id="7569952961197462199">Vill du ta bort kreditkortet från Chrome?</translation>
 <translation id="7575800019233204241">Anslutningen är inte privat eller &lt;span class="error-code"&gt;NET::ERR_CERT_AUTHORITY_INVALID&lt;/span&gt; eller &lt;span class="error-code"&gt;ERR_CERT_COMMON_NAME_INVALID&lt;/span&gt; eller &lt;span class="error-code"&gt;NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM&lt;/span&gt; eller SSL-certifikatfel.</translation>
 <translation id="7578104083680115302">Betala snabbt på webbplatser och i appar på olika enheter med kort som du har sparat hos Google.</translation>
diff --git a/components/strings/components_strings_sw.xtb b/components/strings/components_strings_sw.xtb
index 7419f22..ef2a9951 100644
--- a/components/strings/components_strings_sw.xtb
+++ b/components/strings/components_strings_sw.xtb
@@ -808,7 +808,6 @@
 <translation id="6508722015517270189">Zima na uwashe Chrome</translation>
 <translation id="6529602333819889595">Rudia Kufuta</translation>
 <translation id="6534179046333460208">Mapendekezo ya Wavuti kila Mahali</translation>
-<translation id="6550675742724504774">Chaguo</translation>
 <translation id="6563469144985748109">Msimamizi wako bado hajaiidhinisha</translation>
 <translation id="6569060085658103619">Unaangalia ukurasa wa kiendelezi</translation>
 <translation id="6596325263575161958">Chaguo za usimbaji fiche</translation>
@@ -950,7 +949,6 @@
 <translation id="7554791636758816595">Kichupo Kipya</translation>
 <translation id="7564049878696755256">Unaweza kupoteza uwezo wa kufikia Akaunti yako ya <ph name="ORG_NAME" /> au kuibiwa utambulisho. Chrome inapendekeza ubadilishe nenosiri lako sasa.</translation>
 <translation id="7567204685887185387">Seva hii haikuweza kuthibitisha kuwa ni <ph name="DOMAIN" />; huenda cheti chake cha usalama kimetolewa kwa njia ya ulaghai. Hii inaweza kusababishwa na usanidi usiofaa au mvamizi kuingilia muunganisho wako.</translation>
-<translation id="7568593326407688803">Ukurasa huu umeandikwa kwa<ph name="ORIGINAL_LANGUAGE" />Je, ungependa kuutafsiri?</translation>
 <translation id="7569952961197462199">Ungependa kuondoa kadi ya malipo kutoka kwenye Chrome?</translation>
 <translation id="7575800019233204241">"Muunganisho wako si wa faragha" au "&lt;span class="error-code"&gt;NET::ERR_CERT_AUTHORITY_INVALID&lt;/span&gt;" au "&lt;span class="error-code"&gt;ERR_CERT_COMMON_NAME_INVALID&lt;/span&gt;" au "&lt;span class="error-code"&gt;NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM&lt;/span&gt;" au "hitilafu ya cheti cha SSL"</translation>
 <translation id="7578104083680115302">Lipa haraka kwenye tovuti na programu katika vifaa vyote ukitumia kadi ulizohifadhi kwenye Google.</translation>
diff --git a/components/strings/components_strings_ta.xtb b/components/strings/components_strings_ta.xtb
index 7ab56ca..215b77d 100644
--- a/components/strings/components_strings_ta.xtb
+++ b/components/strings/components_strings_ta.xtb
@@ -55,7 +55,7 @@
     &lt;/ol&gt;</translation>
 <translation id="1257286744552378071">உங்கள் நிறுவனம் நிர்வகிக்காத தளத்தில் உங்கள் கடவுச்சொல்லை உள்ளிட்டீர்கள். உங்கள் கணக்கைப் பாதுகாக்க, பிற பயன்பாடுகளிலும் தளங்களிலும் கடவுச்சொல்லை மீண்டும் பயன்படுத்த வேண்டாம்.</translation>
 <translation id="1263231323834454256">வாசிப்புப் பட்டியல்</translation>
-<translation id="1264126396475825575"><ph name="CRASH_TIME" /> அன்று சிதைவு அறிக்கை பெறப்பட்டது (இன்னும் பதிவேற்றப்படவில்லை அல்லது புறக்கணிக்கப்படவில்லை)</translation>
+<translation id="1264126396475825575">சிதைவு அறிக்கை பெறப்பட்ட நேரம்: <ph name="CRASH_TIME" /> (இன்னும் பதிவேற்றப்படவில்லை அல்லது புறக்கணிக்கப்பட்டது)</translation>
 <translation id="1270502636509132238">பிக்அப் முறை</translation>
 <translation id="1285320974508926690">இந்த தளத்தை எப்போதும் மொழிபெயர்க்க வேண்டாம்</translation>
 <translation id="1292701964462482250">"உங்கள் கணினியில் உள்ள மென்பொருளானது, Chrome இணையத்துடன் பாதுகாப்பாக இணைவதைத் தடுக்கிறது" (Windows கணினிகள் மட்டும்)</translation>
@@ -804,7 +804,6 @@
 <translation id="6508722015517270189">Chromeஐ மீண்டும் தொடங்கவும்</translation>
 <translation id="6529602333819889595">&amp;நீக்குதலை மீண்டும் செய்</translation>
 <translation id="6534179046333460208">இயல்நிலை இணையப் பரிந்துரைகள்</translation>
-<translation id="6550675742724504774">விருப்பத்தேர்வுகள்</translation>
 <translation id="6563469144985748109">இன்னும் உங்கள் நிர்வாகி அனுமதிக்கவில்லை</translation>
 <translation id="6569060085658103619">நீட்டிப்புப் பக்கத்தைப் பார்க்கிறீர்கள்</translation>
 <translation id="6596325263575161958">குறியாக்க விருப்பங்கள்</translation>
@@ -948,7 +947,6 @@
 <translation id="7554791636758816595">புதிய தாவல்</translation>
 <translation id="7564049878696755256"><ph name="ORG_NAME" /> கணக்கிற்கான அணுகலை நீங்கள் இழக்கக்கூடும் அல்லது அடையாளத் திருட்டை எதிர்கொள்ளக்கூடும். இப்போதே உங்கள் கடவுச்சொல்லை மாற்றும்படி Chrome பரிந்துரைக்கிறது.</translation>
 <translation id="7567204685887185387">இது <ph name="DOMAIN" /> தான் என்பதை இந்தச் சேவையகம் உறுதிப்படுத்தவில்லை; இதன் பாதுகாப்புச் சான்றிதழில் மோசடி செய்யப்பட்டிருக்கலாம். இது தவறான உள்ளமைவால் ஏற்பட்டிருக்கலாம் அல்லது தீங்கிழைப்பவர் உங்கள் இணைப்பில் குறுக்கிட்டிருக்கலாம்.</translation>
-<translation id="7568593326407688803">இந்தப் பக்கமானது<ph name="ORIGINAL_LANGUAGE" />இல் உள்ளது இதை மொழிபெயர்க்க விரும்புகிறீர்களா?</translation>
 <translation id="7569952961197462199">Chrome இலிருந்து கிரெடிட் கார்டை அகற்றவா?</translation>
 <translation id="7575800019233204241">"உங்கள் இணைப்பு தனிப்பட்டது அல்ல" அல்லது "&lt;span class="error-code"&gt;NET::ERR_CERT_AUTHORITY_INVALID&lt;/span&gt;" அல்லது "&lt;span class="error-code"&gt;ERR_CERT_COMMON_NAME_INVALID&lt;/span&gt;" அல்லது "&lt;span class="error-code"&gt;NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM&lt;/span&gt;" அல்லது "SSL சான்றிதழ் பிழை"</translation>
 <translation id="7578104083680115302">Google இல் நீங்கள் சேமித்துள்ள கார்டுகளைப் பயன்படுத்தி பல தளங்களிலும் பயன்பாடுகளிலும் உங்களுடைய  சாதனங்களில் அனைத்திலும் விரைவாகப் பணம் செலுத்தலாம்.</translation>
@@ -1132,7 +1130,7 @@
 <translation id="8874824191258364635">சரியான கார்டு எண்ணை உள்ளிடவும்</translation>
 <translation id="8876793034577346603">நெட்வொர்க் உள்ளமைவைப் பாகுபடுத்துவதில் தோல்வி.</translation>
 <translation id="8891727572606052622">தவறான ப்ராக்ஸி முறை.</translation>
-<translation id="8892964541482452187">இந்தத் தாவலுக்கு மாற, தாவல் மாற்ற பட்டனைத் தட்டி, என்டர் விசையை அழுத்தவும்</translation>
+<translation id="8892964541482452187">இந்தத் தாவலுக்கு மாற, தாவல் மாற்ற பட்டனைத் தட்டி, எண்டர் பட்டனை அழுத்தவும்</translation>
 <translation id="8903921497873541725">பெரிதாக்கு</translation>
 <translation id="8931333241327730545">இந்தக் கார்டை உங்கள் Google கணக்கில் சேமிக்க வேண்டுமா?</translation>
 <translation id="8932102934695377596">உங்கள் கடிகாரம் மிகவும் பின்தங்கி இருக்கிறது</translation>
diff --git a/components/strings/components_strings_te.xtb b/components/strings/components_strings_te.xtb
index de61be09..72ad88d 100644
--- a/components/strings/components_strings_te.xtb
+++ b/components/strings/components_strings_te.xtb
@@ -808,7 +808,6 @@
 <translation id="6508722015517270189">Chromeను పునఃప్రారంభించండి</translation>
 <translation id="6529602333819889595">&amp;తొలగించడాన్ని పునరావృతం చేయి</translation>
 <translation id="6534179046333460208">ప్రత్యక్ష వెబ్ సూచనలు</translation>
-<translation id="6550675742724504774">ఎంపికలు</translation>
 <translation id="6563469144985748109">మీ నిర్వాహకుడు దీన్ని ఇంకా ఆమోదించలేదు</translation>
 <translation id="6569060085658103619">మీరు పొడిగింపు పేజీని వీక్షిస్తున్నారు</translation>
 <translation id="6596325263575161958">గుప్తీకరణ ఎంపికలు</translation>
@@ -952,7 +951,6 @@
 <translation id="7554791636758816595">కొత్త ట్యాబ్</translation>
 <translation id="7564049878696755256">మీరు మీ <ph name="ORG_NAME" /> ఖాతాకు యాక్సెస్‌ని కోల్పోవచ్చు లేదా గుర్తింపు చోరీకి గురి కావచ్చు. మీ పాస్‌వర్డ్‌ని ఇప్పుడే రీసెట్ చేయాల్సిందిగా Chrome సిఫార్సు చేస్తోంది.</translation>
 <translation id="7567204685887185387">ఈ సర్వర్ <ph name="DOMAIN" /> అని నిరూపించుకోలేకపోయింది; దీని భద్రతా ప్రమాణపత్రం మోసపూరితంగా జారీ అయ్యి ఉండవచ్చు. ఇది తప్పుగా కాన్ఫిగర్ చేయడం వలన లేదా దాడిచేసే వ్యక్తి మీ కనెక్షన్‌కి అంతరాయం కలిగించడం వలన జరిగి ఉండవచ్చు.</translation>
-<translation id="7568593326407688803">ఈ పేజీ<ph name="ORIGINAL_LANGUAGE" />లో ఉంది మీరు దీన్ని అనువదించాలనుకుంటున్నారా?</translation>
 <translation id="7569952961197462199">Chrome నుండి క్రెడిట్ కార్డ్‌ను తీసివేయాలా?</translation>
 <translation id="7575800019233204241">"మీ కనెక్షన్ ప్రైవేట్‌గా లేదు" లేదా "&lt;span class="error-code"&gt;NET::ERR_CERT_AUTHORITY_INVALID&lt;/span&gt;" లేదా "&lt;span class="error-code"&gt;ERR_CERT_COMMON_NAME_INVALID&lt;/span&gt;" లేదా "&lt;span class="error-code"&gt;NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM&lt;/span&gt;" లేదా "SSL సర్టిఫికేట్ ఎర్రర్"</translation>
 <translation id="7578104083680115302">మీరు Googleతో సేవ్ చేసిన కార్డ్‌లను ఉపయోగించి పరికరాల్లోని సైట్‌లు మరియు అనువర్తనాల్లో శీఘ్రంగా చెల్లించండి.</translation>
diff --git a/components/strings/components_strings_th.xtb b/components/strings/components_strings_th.xtb
index a50518e..c663bca 100644
--- a/components/strings/components_strings_th.xtb
+++ b/components/strings/components_strings_th.xtb
@@ -808,7 +808,6 @@
 <translation id="6508722015517270189">รีสตาร์ท Chrome</translation>
 <translation id="6529602333819889595">&amp;ทำซ้ำการนำออก</translation>
 <translation id="6534179046333460208">คำแนะนำ Physical Web</translation>
-<translation id="6550675742724504774">ตัวเลือก</translation>
 <translation id="6563469144985748109">ผู้จัดการยังไม่ได้อนุมัติเว็บไซต์นี้</translation>
 <translation id="6569060085658103619">คุณกำลังดูหน้าส่วนขยาย</translation>
 <translation id="6596325263575161958">ตัวเลือกการเข้ารหัส</translation>
@@ -952,7 +951,6 @@
 <translation id="7554791636758816595">แท็บใหม่</translation>
 <translation id="7564049878696755256">คุณอาจเข้าถึงบัญชี <ph name="ORG_NAME" /> ไม่ได้หรือถูกโจรกรรมข้อมูลประจำตัว Chrome ขอแนะนำให้เปลี่ยนรหัสผ่านตอนนี้เลย</translation>
 <translation id="7567204685887185387">เซิร์ฟเวอร์นี้ไม่สามารถพิสูจน์ได้ว่าเป็น <ph name="DOMAIN" /> เพราะอาจมีการออกใบรับรองความปลอดภัยปลอม โดยอาจเกิดจากการกำหนดค่าผิดหรือผู้บุกรุกที่ขัดขวางการเชื่อมต่อของคุณ</translation>
-<translation id="7568593326407688803">หน้าเว็บนี้เป็น<ph name="ORIGINAL_LANGUAGE" />คุณต้องการแปลหรือไม่</translation>
 <translation id="7569952961197462199">นำบัตรเครดิตออกจาก Chrome ไหม</translation>
 <translation id="7575800019233204241">"การเชื่อมต่อของคุณไม่เป็นส่วนตัว" หรือ "&lt;span class="error-code"&gt;NET::ERR_CERT_AUTHORITY_INVALID&lt;/span&gt;" หรือ "&lt;span class="error-code"&gt;ERR_CERT_COMMON_NAME_INVALID&lt;/span&gt;" หรือ "&lt;span class="error-code"&gt;NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM&lt;/span&gt;" หรือ "ข้อผิดพลาดของใบรับรอง SSL"</translation>
 <translation id="7578104083680115302">ชำระเงินบนเว็บไซต์และแอปในอุปกรณ์ต่างๆ ได้อย่างรวดเร็วด้วยบัตรที่คุณได้บันทึกไว้กับ Google</translation>
diff --git a/components/strings/components_strings_tr.xtb b/components/strings/components_strings_tr.xtb
index 437467c..f6f2551 100644
--- a/components/strings/components_strings_tr.xtb
+++ b/components/strings/components_strings_tr.xtb
@@ -808,7 +808,6 @@
 <translation id="6508722015517270189">Chrome'u yeniden başlatın</translation>
 <translation id="6529602333819889595">Silmeyi &amp;Yeniden Yap</translation>
 <translation id="6534179046333460208">Fiziksel Web önerileri</translation>
-<translation id="6550675742724504774">Seçenekler</translation>
 <translation id="6563469144985748109">Yöneticiniz henüz onaylamadı</translation>
 <translation id="6569060085658103619">Bir uzantı sayfası görüntülüyorsunuz</translation>
 <translation id="6596325263575161958">Şifreleme seçenekleri</translation>
@@ -909,7 +908,7 @@
 <translation id="7377249249140280793"><ph name="RELATIVE_DATE" /> - <ph name="FULL_DATE" /></translation>
 <translation id="7378627244592794276">Hayır</translation>
 <translation id="7378810950367401542">/</translation>
-<translation id="7381288752349550461">Yönetilen oturumu geçersiz kılma</translation>
+<translation id="7381288752349550461">Yönetilen oturum tarafından geçersiz kılındı</translation>
 <translation id="7390545607259442187">Kartı Onayla</translation>
 <translation id="7400418766976504921">URL</translation>
 <translation id="7407424307057130981">&lt;p&gt;Windows bilgisayarınızda Superfish yazılımı varsa bu hatayı görürsünüz.&lt;/p&gt;
@@ -952,7 +951,6 @@
 <translation id="7554791636758816595">Yeni Sekme</translation>
 <translation id="7564049878696755256"><ph name="ORG_NAME" /> hesabınıza erişimi kaybedebilir veya kimlik hırsızlığına maruz kalabilirsiniz. Chrome, şifrenizi hemen değiştirmenizi önerir.</translation>
 <translation id="7567204685887185387">Bu sunucu <ph name="DOMAIN" /> olduğunu kanıtlayamadı. Güvenlik sertifikası hileli bir şekilde yayınlanmış olabilir. Bu durum, bir yanlış yapılandırmadan veya bağlantıya müdahale eden bir saldırgandan kaynaklanıyor olabilir.</translation>
-<translation id="7568593326407688803">Bu sayfanın dili<ph name="ORIGINAL_LANGUAGE" />Çevrilmesini istiyor musunuz?</translation>
 <translation id="7569952961197462199">Kredi kartı Chrome'dan kaldırılsın mı?</translation>
 <translation id="7575800019233204241">"Bağlantınız gizli değil", "&lt;span class="error-code"&gt;NET::ERR_CERT_AUTHORITY_INVALID&lt;/span&gt;", "&lt;span class="error-code"&gt;ERR_CERT_COMMON_NAME_INVALID&lt;/span&gt;", "&lt;span class="error-code"&gt;NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM&lt;/span&gt;" veya "SSL sertifika hatası"</translation>
 <translation id="7578104083680115302">Google'a kaydettiğiniz kartları kullanarak farklı cihazlardan sitelerde ve uygulamalarda ödemelerinizi hızla yapabilirsiniz.</translation>
diff --git a/components/strings/components_strings_uk.xtb b/components/strings/components_strings_uk.xtb
index 45c3d333..4d1462c 100644
--- a/components/strings/components_strings_uk.xtb
+++ b/components/strings/components_strings_uk.xtb
@@ -808,7 +808,6 @@
 <translation id="6508722015517270189">Перезапустіть Chrome</translation>
 <translation id="6529602333819889595">&amp;Повторити видалення</translation>
 <translation id="6534179046333460208">Пропозиції сервісу "Інтернет навколо нас"</translation>
-<translation id="6550675742724504774">Параметри</translation>
 <translation id="6563469144985748109">Адміністратор ще не схвалив його</translation>
 <translation id="6569060085658103619">Ви переглядаєте сторінку розширень</translation>
 <translation id="6596325263575161958">Параметри шифрування</translation>
@@ -952,7 +951,6 @@
 <translation id="7554791636758816595">Нова вкладка</translation>
 <translation id="7564049878696755256">Ви можете втратити доступ до облікового запису, який вам надає <ph name="ORG_NAME" />, або хтось може викрасти вашу особисту інформацію. Chrome радить змінити пароль.</translation>
 <translation id="7567204685887185387">Цей сервер не зміг довести, що він – домен <ph name="DOMAIN" />. Можливо, його сертифікат безпеки видали шахраї. Імовірні причини: неправильна конфігурація або хтось намагається перехопити ваше з’єднання.</translation>
-<translation id="7568593326407688803">Мова цієї сторінки:<ph name="ORIGINAL_LANGUAGE" />Перекласти її?</translation>
 <translation id="7569952961197462199">Видалити дані кредитної картки з Chrome?</translation>
 <translation id="7575800019233204241">"З’єднання не конфіденційне", "&lt;span class="error-code"&gt;NET::ERR_CERT_AUTHORITY_INVALID&lt;/span&gt;", "&lt;span class="error-code"&gt;ERR_CERT_COMMON_NAME_INVALID&lt;/span&gt;", "&lt;span class="error-code"&gt;NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM&lt;/span&gt;" або "Помилка сертифіката SSL"</translation>
 <translation id="7578104083680115302">Зберігайте картки в Google, щоб швидко платити на сайтах і в додатках на всіх своїх пристроях.</translation>
@@ -1137,7 +1135,7 @@
 <translation id="8874824191258364635">Введіть дійсний номер картки</translation>
 <translation id="8876793034577346603">Помилка аналізу конфігурації мережі.</translation>
 <translation id="8891727572606052622">Недійсний режим проксі-сервера.</translation>
-<translation id="8892964541482452187">Кнопка перемикача вкладки: натисніть Enter, щоб перейти на цю вкладку</translation>
+<translation id="8892964541482452187">Кнопка перемикання вкладки: натисніть Enter, щоб перейти на цю вкладку</translation>
 <translation id="8903921497873541725">Збільшити масштаб</translation>
 <translation id="8931333241327730545">Зберегти цю картку у вашому обліковому записі Google?</translation>
 <translation id="8932102934695377596">Ваш годинник запізнюється</translation>
diff --git a/components/strings/components_strings_vi.xtb b/components/strings/components_strings_vi.xtb
index 42394d4..fe63e3f 100644
--- a/components/strings/components_strings_vi.xtb
+++ b/components/strings/components_strings_vi.xtb
@@ -808,7 +808,6 @@
 <translation id="6508722015517270189">Khởi động lại Chrome</translation>
 <translation id="6529602333819889595">&amp;Làm lại xóa</translation>
 <translation id="6534179046333460208">Đề xuất Web trong cuộc sống</translation>
-<translation id="6550675742724504774">Tùy chọn</translation>
 <translation id="6563469144985748109">Người quản lý của bạn chưa phê duyệt trang web</translation>
 <translation id="6569060085658103619">Bạn đang xem trang tiện ích</translation>
 <translation id="6596325263575161958">Tùy chọn mã hóa</translation>
@@ -952,7 +951,6 @@
 <translation id="7554791636758816595">Tab mới</translation>
 <translation id="7564049878696755256">Bạn có thể mất quyền truy cập vào tài khoản <ph name="ORG_NAME" /> của mình hoặc bị đánh cắp danh tính. Chrome khuyên bạn nên thay đổi mật khẩu ngay bây giờ.</translation>
 <translation id="7567204685887185387">Máy chủ này không chứng minh được rằng đó là <ph name="DOMAIN" />; chứng chỉ bảo mật của máy chủ này có thể đã bị gian lận khi phát hành. Điều này có thể do định cấu hình sai hoặc có kẻ tấn công chặn kết nối của bạn.</translation>
-<translation id="7568593326407688803">Trang này bằng<ph name="ORIGINAL_LANGUAGE" />Bạn có muốn dịch trang này không?</translation>
 <translation id="7569952961197462199">Xóa thẻ tín dụng khỏi Chrome?</translation>
 <translation id="7575800019233204241">"Kết nối của bạn không phải là kết nối riêng tư" hoặc "&lt;span class="error-code"&gt;NET::ERR_CERT_AUTHORITY_INVALID&lt;/span&gt;" hoặc "&lt;span class="error-code"&gt;ERR_CERT_COMMON_NAME_INVALID&lt;/span&gt;" hoặc "&lt;span class="error-code"&gt;NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM&lt;/span&gt;" hoặc "lỗi chứng chỉ SSL"</translation>
 <translation id="7578104083680115302">Thanh toán nhanh trên các trang web và ứng dụng trong mọi thiết bị nhờ sử dụng thẻ bạn đã lưu với Google.</translation>
diff --git a/components/strings/components_strings_zh-CN.xtb b/components/strings/components_strings_zh-CN.xtb
index adbe611..fac6598 100644
--- a/components/strings/components_strings_zh-CN.xtb
+++ b/components/strings/components_strings_zh-CN.xtb
@@ -644,7 +644,7 @@
 <translation id="5324080437450482387">选择联系信息</translation>
 <translation id="5327248766486351172">名称</translation>
 <translation id="5332219387342487447">送货方式</translation>
-<translation id="5344579389779391559">您要前往的页面可能会向您收取费用</translation>
+<translation id="5344579389779391559">此页面可能会向您收取费用</translation>
 <translation id="5355557959165512791">您目前无法访问 <ph name="SITE" />,因为此证书已被撤消。网络错误和攻击行为通常是暂时的,因此,此网页稍后可能会恢复正常。</translation>
 <translation id="536296301121032821">无法存储策略设置</translation>
 <translation id="5371425731340848620">更新信用卡</translation>
@@ -804,7 +804,6 @@
 <translation id="6508722015517270189">重新启动 Chrome</translation>
 <translation id="6529602333819889595">恢复删除(&amp;R)</translation>
 <translation id="6534179046333460208">实物网建议</translation>
-<translation id="6550675742724504774">选项</translation>
 <translation id="6563469144985748109">您的管理员尚未批准此网站</translation>
 <translation id="6569060085658103619">您正在查看扩展程序页面</translation>
 <translation id="6596325263575161958">加密选项</translation>
@@ -905,7 +904,7 @@
 <translation id="7377249249140280793"><ph name="RELATIVE_DATE" /> - <ph name="FULL_DATE" /></translation>
 <translation id="7378627244592794276">否</translation>
 <translation id="7378810950367401542">/</translation>
-<translation id="7381288752349550461">替换受管理自助服务终端</translation>
+<translation id="7381288752349550461">受管理自助服务终端替换</translation>
 <translation id="7390545607259442187">确认信用卡</translation>
 <translation id="7400418766976504921">网址</translation>
 <translation id="7407424307057130981">&lt;p&gt;如果您的 Windows 计算机上装有 SuperFish 软件,您将会看到这条错误消息。&lt;/p&gt;
@@ -948,7 +947,6 @@
 <translation id="7554791636758816595">新标签页</translation>
 <translation id="7564049878696755256">您可能会无法再访问自己的 <ph name="ORG_NAME" /> 帐号,或者身份信息遭到盗用。Chrome 建议您立即更改密码。</translation>
 <translation id="7567204685887185387">此服务器无法证明它是<ph name="DOMAIN" />;其安全证书可能是由骗子发出的。出现此问题的原因可能是配置有误或您的连接被拦截了。</translation>
-<translation id="7568593326407688803">此网页为<ph name="ORIGINAL_LANGUAGE" />网页,是否需要翻译?</translation>
 <translation id="7569952961197462199">从 Chrome 中移除信用卡信息?</translation>
 <translation id="7575800019233204241">“您的连接不是私密连接”、“&lt;span class="error-code"&gt;NET::ERR_CERT_AUTHORITY_INVALID&lt;/span&gt;”、“&lt;span class="error-code"&gt;ERR_CERT_COMMON_NAME_INVALID&lt;/span&gt;”、“&lt;span class="error-code"&gt;NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM&lt;/span&gt;”或“SSL 证书错误”</translation>
 <translation id="7578104083680115302">通过各种设备在网站和应用中购物时,您都可以使用 Google 为您保存的银行卡信息快速付款。</translation>
@@ -1162,7 +1160,7 @@
 <translation id="9045525010788763347"><ph name="RESULT_MODIFIED_DATE" /> - <ph name="RESULT_PRODUCT_SOURCE" /></translation>
 <translation id="9049981332609050619">您试图访问 <ph name="DOMAIN" />,但服务器提供的证书无效。</translation>
 <translation id="9050666287014529139">密码</translation>
-<translation id="9065203028668620118">修改</translation>
+<translation id="9065203028668620118">编辑</translation>
 <translation id="9069693763241529744">已被某款扩展程序阻止</translation>
 <translation id="9076283476770535406">此网站可能包含成人内容</translation>
 <translation id="9078964945751709336">必须提供更多信息</translation>
diff --git a/components/strings/components_strings_zh-TW.xtb b/components/strings/components_strings_zh-TW.xtb
index 99784de..59e2fbd2 100644
--- a/components/strings/components_strings_zh-TW.xtb
+++ b/components/strings/components_strings_zh-TW.xtb
@@ -808,7 +808,6 @@
 <translation id="6508722015517270189">重新啟動 Chrome</translation>
 <translation id="6529602333819889595">重做刪除(&amp;R)</translation>
 <translation id="6534179046333460208">實體化網路建議</translation>
-<translation id="6550675742724504774">選項</translation>
 <translation id="6563469144985748109">你的管理員尚未核准這個網站</translation>
 <translation id="6569060085658103619">目前顯示的是擴充功能頁面</translation>
 <translation id="6596325263575161958">加密選項</translation>
@@ -952,7 +951,6 @@
 <translation id="7554791636758816595">新增分頁</translation>
 <translation id="7564049878696755256">你可能會失去 <ph name="ORG_NAME" /> 帳戶存取權,或身分遭到冒用。Chrome 建議你立即變更密碼。</translation>
 <translation id="7567204685887185387">伺服器無法證明其屬於 <ph name="DOMAIN" /> 網域;其安全性憑證是以欺詐方式發行。這可能是因為設定錯誤,或有攻擊者攔截你的連線所致。</translation>
-<translation id="7568593326407688803">此網頁為<ph name="ORIGINAL_LANGUAGE" />你要翻譯網頁內容嗎?</translation>
 <translation id="7569952961197462199">要從 Chrome 中移除信用卡嗎?</translation>
 <translation id="7575800019233204241">「你的連線不是私人連線」、「&lt;span class="error-code"&gt;NET::ERR_CERT_AUTHORITY_INVALID&lt;/span&gt;」、「&lt;span class="error-code"&gt;ERR_CERT_COMMON_NAME_INVALID&lt;/span&gt;」、「&lt;span class="error-code"&gt;NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM&lt;/span&gt;」或「SSL 憑證錯誤」</translation>
 <translation id="7578104083680115302">在不同的裝置上透過各個網站和應用程式消費時,使用您讓 Google 儲存的信用卡資料即可快速付款。</translation>
diff --git a/content/app/strings/translations/content_strings_bn.xtb b/content/app/strings/translations/content_strings_bn.xtb
index 50115c2b..bf23203 100644
--- a/content/app/strings/translations/content_strings_bn.xtb
+++ b/content/app/strings/translations/content_strings_bn.xtb
@@ -5,7 +5,7 @@
 <translation id="1020833440720551630">অডিও ট্র্যাক মিউট করুন</translation>
 <translation id="10623998915015855">টগল বোতাম</translation>
 <translation id="1088086359088493902">সেকেন্ড</translation>
-<translation id="1171774979989969504">অনুগ্রহ করে কোনও ইমেল আইডি লিখুন।</translation>
+<translation id="1171774979989969504">অনুগ্রহ করে কোন ইমেল আইডি লিখুন:</translation>
 <translation id="1178581264944972037">বিরতি</translation>
 <translation id="1188858454923323853">পরিপূরক</translation>
 <translation id="1206619573307042055">marquee</translation>
diff --git a/content/browser/renderer_host/render_view_host_impl.cc b/content/browser/renderer_host/render_view_host_impl.cc
index 7fa528c2..55d3bfe 100644
--- a/content/browser/renderer_host/render_view_host_impl.cc
+++ b/content/browser/renderer_host/render_view_host_impl.cc
@@ -95,6 +95,7 @@
 
 #if defined(OS_WIN)
 #include "base/win/win_client_metrics.h"
+#include "ui/display/win/dpi.h"
 #include "ui/display/win/screen_win.h"
 #include "ui/gfx/geometry/dip_util.h"
 #include "ui/gfx/platform_font_win.h"
@@ -124,6 +125,18 @@
   NONCLIENTMETRICS_XP metrics = {0};
   base::win::GetNonClientMetrics(&metrics);
 
+  // Render process has the same problem with Windows applying text scaling
+  // before Chrome DPI + accessibility scaling is applied, resulting in double
+  // scaling. These fonts are only used for very specific CSS styles, but to
+  // remain consistent with the rest of chrome we will make sure they aren't
+  // incorrectly scaled:
+  display::win::AdjustFontForAccessibility(&metrics.lfCaptionFont);
+  display::win::AdjustFontForAccessibility(&metrics.lfSmCaptionFont);
+  display::win::AdjustFontForAccessibility(&metrics.lfMenuFont);
+  display::win::AdjustFontForAccessibility(&metrics.lfStatusFont);
+  display::win::AdjustFontForAccessibility(&metrics.lfMessageFont);
+
+  // Store the preferred font faces and sizes:
   prefs->caption_font_family_name = metrics.lfCaptionFont.lfFaceName;
   prefs->caption_font_height = gfx::PlatformFontWin::GetFontSize(
       metrics.lfCaptionFont);
diff --git a/content/browser/service_worker/service_worker_browsertest.cc b/content/browser/service_worker/service_worker_browsertest.cc
index d61224d..c4a7660 100644
--- a/content/browser/service_worker/service_worker_browsertest.cc
+++ b/content/browser/service_worker/service_worker_browsertest.cc
@@ -2318,6 +2318,10 @@
     return;
   }
 
+  auto console_observer =
+      base::MakeRefCounted<ConsoleMessageContextObserver>(wrapper());
+  console_observer->Init();
+
   content::ResourceDispatcherHost::Get()->RegisterInterceptor(
       kNavigationPreloadHeaderName, "",
       base::Bind(&CancellingInterceptorCallback));
@@ -2332,6 +2336,11 @@
 
   EXPECT_EQ(kNavigationPreloadAbortError,
             LoadNavigationPreloadTestPage(page_url, worker_url, "REJECTED"));
+
+  console_observer->WaitForConsoleMessages(1);
+  const base::string16 expected = base::ASCIIToUTF16("request was cancelled");
+  std::vector<base::string16> messages = console_observer->messages();
+  EXPECT_NE(base::string16::npos, messages[0].find(expected));
 }
 
 IN_PROC_BROWSER_TEST_F(ServiceWorkerNavigationPreloadTest,
diff --git a/content/browser/service_worker/service_worker_new_script_loader.cc b/content/browser/service_worker/service_worker_new_script_loader.cc
index fc88aa8..8d6fccec 100644
--- a/content/browser/service_worker/service_worker_new_script_loader.cc
+++ b/content/browser/service_worker/service_worker_new_script_loader.cc
@@ -248,6 +248,8 @@
     version_->SetMainScriptHttpResponseInfo(*response_info);
   }
 
+  network_loader_state_ = NetworkLoaderState::kWaitingForBody;
+
   WriteHeaders(
       base::MakeRefCounted<HttpResponseInfoIOBuffer>(std::move(response_info)));
 
@@ -259,11 +261,9 @@
     network::ResourceResponseHead new_response_head = response_head;
     new_response_head.ssl_info.reset();
     client_->OnReceiveResponse(new_response_head);
-  } else {
-    client_->OnReceiveResponse(response_head);
+    return;
   }
-
-  network_loader_state_ = NetworkLoaderState::kWaitingForBody;
+  client_->OnReceiveResponse(response_head);
 }
 
 void ServiceWorkerNewScriptLoader::OnReceiveRedirect(
diff --git a/content/browser/service_worker/service_worker_new_script_loader_unittest.cc b/content/browser/service_worker/service_worker_new_script_loader_unittest.cc
index d4b7001..1016c4f 100644
--- a/content/browser/service_worker/service_worker_new_script_loader_unittest.cc
+++ b/content/browser/service_worker/service_worker_new_script_loader_unittest.cc
@@ -173,7 +173,6 @@
                 "this is an import script response body from the network")));
 
     // Initialize URLLoaderFactory.
-    network::mojom::URLLoaderFactoryPtr test_loader_factory;
     mock_url_loader_factory_ =
         std::make_unique<MockNetworkURLLoaderFactory>(mock_server_.get());
     helper_->SetNetworkFactory(mock_url_loader_factory_.get());
diff --git a/content/browser/shared_worker/shared_worker_host_unittest.cc b/content/browser/shared_worker/shared_worker_host_unittest.cc
index 26da664..154b6d1 100644
--- a/content/browser/shared_worker/shared_worker_host_unittest.cc
+++ b/content/browser/shared_worker/shared_worker_host_unittest.cc
@@ -11,6 +11,7 @@
 #include "base/memory/ptr_util.h"
 #include "base/run_loop.h"
 #include "content/browser/appcache/chrome_appcache_service.h"
+#include "content/browser/service_worker/embedded_worker_test_helper.h"
 #include "content/browser/shared_worker/mock_shared_worker.h"
 #include "content/browser/shared_worker/shared_worker_connector_impl.h"
 #include "content/browser/shared_worker/shared_worker_instance.h"
@@ -21,17 +22,64 @@
 #include "content/public/test/test_browser_thread_bundle.h"
 #include "content/public/test/test_utils.h"
 #include "mojo/public/cpp/bindings/binding.h"
+#include "mojo/public/cpp/bindings/strong_associated_binding.h"
+#include "mojo/public/cpp/bindings/strong_binding.h"
 #include "mojo/public/cpp/test_support/test_utils.h"
+#include "services/network/public/cpp/features.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "third_party/blink/public/common/messaging/message_port_channel.h"
+#include "third_party/blink/public/common/service_worker/service_worker_utils.h"
 #include "url/origin.h"
 
 using blink::MessagePortChannel;
 
 namespace content {
 
+namespace {
+
+// A mock URLLoaderFactory which just fails to create a loader. This is
+// sufficient because the tests don't exercise script loading.
+class NotImplementedNetworkURLLoaderFactory final
+    : public network::mojom::URLLoaderFactory {
+ public:
+  NotImplementedNetworkURLLoaderFactory() = default;
+
+  // network::mojom::URLLoaderFactory implementation.
+  void CreateLoaderAndStart(network::mojom::URLLoaderRequest request,
+                            int32_t routing_id,
+                            int32_t request_id,
+                            uint32_t options,
+                            const network::ResourceRequest& url_request,
+                            network::mojom::URLLoaderClientPtr client,
+                            const net::MutableNetworkTrafficAnnotationTag&
+                                traffic_annotation) override {
+    network::URLLoaderCompletionStatus status;
+    status.error_code = net::ERR_NOT_IMPLEMENTED;
+    client->OnComplete(status);
+  }
+
+  void Clone(network::mojom::URLLoaderFactoryRequest request) override {
+    bindings_.AddBinding(this, std::move(request));
+  }
+
+ private:
+  mojo::BindingSet<network::mojom::URLLoaderFactory> bindings_;
+
+  DISALLOW_COPY_AND_ASSIGN(NotImplementedNetworkURLLoaderFactory);
+};
+
+}  // namespace
+
 class SharedWorkerHostTest : public testing::Test {
  public:
+  void SetUp() override {
+    helper_.reset(new EmbeddedWorkerTestHelper(base::FilePath()));
+    mock_url_loader_factory_ =
+        std::make_unique<NotImplementedNetworkURLLoaderFactory>();
+    mock_render_process_host_.OverrideURLLoaderFactory(
+        mock_url_loader_factory_.get());
+  }
+
   SharedWorkerHostTest()
       : mock_render_process_host_(&browser_context_),
         service_(nullptr /* storage_partition */,
@@ -63,11 +111,50 @@
 
   void StartWorker(SharedWorkerHost* host,
                    mojom::SharedWorkerFactoryPtr factory) {
-    host->Start(std::move(factory), nullptr /* service_worker_provider_info */,
-                {} /* main_script_loader_factory */,
-                nullptr /* subresource_loader_factories */,
-                nullptr /* main_script_load_params */,
-                base::nullopt /* subresource_loader_params */);
+    mojom::ServiceWorkerProviderInfoForSharedWorkerPtr provider_info = nullptr;
+    network::mojom::URLLoaderFactoryAssociatedPtrInfo
+        main_script_loader_factory;
+    blink::mojom::SharedWorkerMainScriptLoadParamsPtr main_script_load_params;
+    std::unique_ptr<URLLoaderFactoryBundleInfo> subresource_loader_factories;
+    base::Optional<SubresourceLoaderParams> subresource_loader_params;
+
+    // Set up various mocks based on NetworkService/S13nServiceWorker
+    // configuration. See the comment on SharedWorkerHost::Start() for details.
+    if (base::FeatureList::IsEnabled(network::features::kNetworkService)) {
+      provider_info = mojom::ServiceWorkerProviderInfoForSharedWorker::New();
+      ServiceWorkerProviderHost::PreCreateForSharedWorker(
+          helper_->context()->AsWeakPtr(), mock_render_process_host_.GetID(),
+          &provider_info);
+
+      main_script_load_params =
+          blink::mojom::SharedWorkerMainScriptLoadParams::New();
+      subresource_loader_factories.reset(new URLLoaderFactoryBundleInfo());
+      subresource_loader_params = SubresourceLoaderParams();
+
+      network::mojom::URLLoaderFactoryPtr loader_factory_ptr;
+      mojo::MakeStrongBinding(
+          std::make_unique<NotImplementedNetworkURLLoaderFactory>(),
+          mojo::MakeRequest(&loader_factory_ptr));
+
+      subresource_loader_params->loader_factory_info =
+          loader_factory_ptr.PassInterface();
+    } else if (blink::ServiceWorkerUtils::IsServicificationEnabled()) {
+      provider_info = mojom::ServiceWorkerProviderInfoForSharedWorker::New();
+      ServiceWorkerProviderHost::PreCreateForSharedWorker(
+          helper_->context()->AsWeakPtr(), mock_render_process_host_.GetID(),
+          &provider_info);
+
+      mojo::MakeStrongAssociatedBinding(
+          std::make_unique<NotImplementedNetworkURLLoaderFactory>(),
+          mojo::MakeRequest(&main_script_loader_factory));
+      subresource_loader_factories.reset(new URLLoaderFactoryBundleInfo());
+    }
+
+    host->Start(std::move(factory), std::move(provider_info),
+                std::move(main_script_loader_factory),
+                std::move(main_script_load_params),
+                std::move(subresource_loader_factories),
+                std::move(subresource_loader_params));
   }
 
   MessagePortChannel AddClient(SharedWorkerHost* host,
@@ -83,7 +170,11 @@
  protected:
   TestBrowserThreadBundle test_browser_thread_bundle_;
   TestBrowserContext browser_context_;
+  // This URLLoaderFactory is used in MockRenderProcessHost.
+  std::unique_ptr<NotImplementedNetworkURLLoaderFactory>
+      mock_url_loader_factory_;
   MockRenderProcessHost mock_render_process_host_;
+  std::unique_ptr<EmbeddedWorkerTestHelper> helper_;
 
   SharedWorkerServiceImpl service_;
 
@@ -192,13 +283,8 @@
   // Create the factory.
   mojom::SharedWorkerFactoryPtr factory;
   MockSharedWorkerFactory factory_impl(mojo::MakeRequest(&factory));
-
   // Start the worker.
-  host->Start(std::move(factory), nullptr /* service_worker_provider_info */,
-              {} /* main_script_loader_factory */,
-              nullptr /* subresource_loader_factories */,
-              nullptr /* resource_load_info */,
-              base::nullopt /* subresource_loader_params */);
+  StartWorker(host.get(), std::move(factory));
 
   // Add a client.
   MockSharedWorkerClient client;
diff --git a/content/browser/web_package/signed_exchange_signature_verifier.cc b/content/browser/web_package/signed_exchange_signature_verifier.cc
index 8aff30c..1fc3df4c 100644
--- a/content/browser/web_package/signed_exchange_signature_verifier.cc
+++ b/content/browser/web_package/signed_exchange_signature_verifier.cc
@@ -10,6 +10,7 @@
 #include "base/big_endian.h"
 #include "base/containers/span.h"
 #include "base/format_macros.h"
+#include "base/metrics/histogram_macros.h"
 #include "base/strings/string_piece.h"
 #include "base/strings/string_util.h"
 #include "base/strings/stringprintf.h"
@@ -47,6 +48,9 @@
     // 5.3. "A single 0 byte which serves as a separator." [spec text]
     "HTTP Exchange 1 b2";
 
+constexpr int kFourWeeksInSeconds = base::TimeDelta::FromDays(28).InSeconds();
+constexpr int kOneWeekInSeconds = base::TimeDelta::FromDays(7).InSeconds();
+
 base::Optional<crypto::SignatureVerifier::SignatureAlgorithm>
 GetSignatureAlgorithm(scoped_refptr<net::X509Certificate> cert,
                       SignedExchangeDevToolsProxy* devtools_proxy) {
@@ -196,14 +200,29 @@
 
   // 3. "If expires is more than 7 days (604800 seconds) after date, return
   // "invalid"." [spec text]
-  if ((expires_time - creation_time).InSeconds() > 604800)
+  if ((expires_time - creation_time).InSeconds() > kOneWeekInSeconds)
     return false;
 
   // 4. "If the current time is before date or after expires, return
   // "invalid"."
-  if (verification_time < creation_time || expires_time < verification_time)
+  if (verification_time < creation_time) {
+    UMA_HISTOGRAM_CUSTOM_COUNTS(
+        "SignedExchange.SignatureVerificationError.NotYetValid",
+        (creation_time - verification_time).InSeconds(), 1, kFourWeeksInSeconds,
+        50);
     return false;
+  }
+  if (expires_time < verification_time) {
+    UMA_HISTOGRAM_CUSTOM_COUNTS(
+        "SignedExchange.SignatureVerificationError.Expired",
+        (verification_time - expires_time).InSeconds(), 1, kFourWeeksInSeconds,
+        50);
+    return false;
+  }
 
+  UMA_HISTOGRAM_CUSTOM_COUNTS("SignedExchange.TimeUntilExpiration",
+                              (expires_time - verification_time).InSeconds(), 1,
+                              kOneWeekInSeconds, 50);
   return true;
 }
 
diff --git a/content/browser/web_package/signed_exchange_signature_verifier_unittest.cc b/content/browser/web_package/signed_exchange_signature_verifier_unittest.cc
index 648d55d8..aa85314 100644
--- a/content/browser/web_package/signed_exchange_signature_verifier_unittest.cc
+++ b/content/browser/web_package/signed_exchange_signature_verifier_unittest.cc
@@ -4,6 +4,7 @@
 
 #include "content/browser/web_package/signed_exchange_signature_verifier.h"
 
+#include "base/test/metrics/histogram_tester.h"
 #include "content/browser/web_package/signed_exchange_envelope.h"
 #include "content/browser/web_package/signed_exchange_signature_header_field.h"
 #include "net/cert/x509_certificate.h"
@@ -129,34 +130,69 @@
   void TestVerifierGivenValidInput(
       const SignedExchangeEnvelope& envelope,
       scoped_refptr<net::X509Certificate> certificate) {
-    EXPECT_EQ(SignedExchangeSignatureVerifier::Result::kSuccess,
-              SignedExchangeSignatureVerifier::Verify(
-                  envelope, certificate, VerificationTime(),
-                  nullptr /* devtools_proxy */));
+    {
+      base::HistogramTester histogram_tester;
+      EXPECT_EQ(SignedExchangeSignatureVerifier::Result::kSuccess,
+                SignedExchangeSignatureVerifier::Verify(
+                    envelope, certificate, VerificationTime(),
+                    nullptr /* devtools_proxy */));
+      histogram_tester.ExpectUniqueSample(
+          "SignedExchange.TimeUntilExpiration",
+          kSignatureHeaderExpires - kSignatureHeaderDate, 1);
+      histogram_tester.ExpectTotalCount(
+          "SignedExchange.SignatureVerificationError.NotYetValid", 0);
+      histogram_tester.ExpectTotalCount(
+          "SignedExchange.SignatureVerificationError.Expired", 0);
+    }
+    {
+      base::HistogramTester histogram_tester;
+      EXPECT_EQ(SignedExchangeSignatureVerifier::Result::kErrInvalidTimestamp,
+                SignedExchangeSignatureVerifier::Verify(
+                    envelope, certificate,
+                    base::Time::UnixEpoch() +
+                        base::TimeDelta::FromSeconds(kSignatureHeaderDate - 1),
+                    nullptr /* devtools_proxy */
+                    ));
+      histogram_tester.ExpectTotalCount("SignedExchange.TimeUntilExpiration",
+                                        0);
+      histogram_tester.ExpectUniqueSample(
+          "SignedExchange.SignatureVerificationError.NotYetValid", 1, 1);
+      histogram_tester.ExpectTotalCount(
+          "SignedExchange.SignatureVerificationError.Expired", 0);
+    }
 
-    EXPECT_EQ(SignedExchangeSignatureVerifier::Result::kErrInvalidTimestamp,
-              SignedExchangeSignatureVerifier::Verify(
-                  envelope, certificate,
-                  base::Time::UnixEpoch() +
-                      base::TimeDelta::FromSeconds(kSignatureHeaderDate - 1),
-                  nullptr /* devtools_proxy */
-                  ));
-
-    EXPECT_EQ(SignedExchangeSignatureVerifier::Result::kSuccess,
-              SignedExchangeSignatureVerifier::Verify(
-                  envelope, certificate,
-                  base::Time::UnixEpoch() +
-                      base::TimeDelta::FromSeconds(kSignatureHeaderExpires),
-                  nullptr /* devtools_proxy */
-                  ));
-
-    EXPECT_EQ(SignedExchangeSignatureVerifier::Result::kErrInvalidTimestamp,
-              SignedExchangeSignatureVerifier::Verify(
-                  envelope, certificate,
-                  base::Time::UnixEpoch() +
-                      base::TimeDelta::FromSeconds(kSignatureHeaderExpires + 1),
-                  nullptr /* devtools_proxy */
-                  ));
+    {
+      base::HistogramTester histogram_tester;
+      EXPECT_EQ(SignedExchangeSignatureVerifier::Result::kSuccess,
+                SignedExchangeSignatureVerifier::Verify(
+                    envelope, certificate,
+                    base::Time::UnixEpoch() +
+                        base::TimeDelta::FromSeconds(kSignatureHeaderExpires),
+                    nullptr /* devtools_proxy */
+                    ));
+      histogram_tester.ExpectUniqueSample("SignedExchange.TimeUntilExpiration",
+                                          0, 1);
+      histogram_tester.ExpectTotalCount(
+          "SignedExchange.SignatureVerificationError.NotYetValid", 0);
+      histogram_tester.ExpectTotalCount(
+          "SignedExchange.SignatureVerificationError.Expired", 0);
+    }
+    {
+      base::HistogramTester histogram_tester;
+      EXPECT_EQ(SignedExchangeSignatureVerifier::Result::kErrInvalidTimestamp,
+                SignedExchangeSignatureVerifier::Verify(
+                    envelope, certificate,
+                    base::Time::UnixEpoch() + base::TimeDelta::FromSeconds(
+                                                  kSignatureHeaderExpires + 1),
+                    nullptr /* devtools_proxy */
+                    ));
+      histogram_tester.ExpectTotalCount("SignedExchange.TimeUntilExpiration",
+                                        0);
+      histogram_tester.ExpectTotalCount(
+          "SignedExchange.SignatureVerificationError.NotYetValid", 0);
+      histogram_tester.ExpectUniqueSample(
+          "SignedExchange.SignatureVerificationError.Expired", 1, 1);
+    }
 
     SignedExchangeEnvelope invalid_expires_envelope(envelope);
     auto invalid_expires_signature =
diff --git a/content/public/renderer/render_thread.h b/content/public/renderer/render_thread.h
index 74e3215..2376a11 100644
--- a/content/public/renderer/render_thread.h
+++ b/content/public/renderer/render_thread.h
@@ -97,6 +97,10 @@
   // Retrieve the process ID of the browser process.
   virtual int32_t GetClientId() = 0;
 
+  // Get the online status of the browser - false when there is no network
+  // access.
+  virtual bool IsOnline() = 0;
+
   // Set the renderer process type.
   virtual void SetRendererProcessType(
       blink::scheduler::RendererProcessType type) = 0;
diff --git a/content/public/test/mock_render_thread.cc b/content/public/test/mock_render_thread.cc
index 522a0731..53f3b5b 100644
--- a/content/public/test/mock_render_thread.cc
+++ b/content/public/test/mock_render_thread.cc
@@ -238,6 +238,10 @@
   return 1;
 }
 
+bool MockRenderThread::IsOnline() {
+  return true;
+}
+
 void MockRenderThread::SetRendererProcessType(
     blink::scheduler::RendererProcessType type) {}
 
diff --git a/content/public/test/mock_render_thread.h b/content/public/test/mock_render_thread.h
index faf9516c..a27b1ed 100644
--- a/content/public/test/mock_render_thread.h
+++ b/content/public/test/mock_render_thread.h
@@ -79,6 +79,7 @@
   bool ResolveProxy(const GURL& url, std::string* proxy_list) override;
   base::WaitableEvent* GetShutdownEvent() override;
   int32_t GetClientId() override;
+  bool IsOnline() override;
   void SetRendererProcessType(
       blink::scheduler::RendererProcessType type) override;
   blink::WebString GetUserAgent() const override;
diff --git a/content/renderer/browser_plugin/browser_plugin.h b/content/renderer/browser_plugin/browser_plugin.h
index 491589e..9ed2673 100644
--- a/content/renderer/browser_plugin/browser_plugin.h
+++ b/content/renderer/browser_plugin/browser_plugin.h
@@ -39,10 +39,6 @@
 class RenderFrameMetadata;
 }
 
-namespace viz {
-class SurfaceInfo;
-}
-
 namespace content {
 
 class BrowserPluginDelegate;
@@ -217,8 +213,6 @@
 
 #if defined(USE_AURA)
   // MusEmbeddedFrameDelegate
-  void OnMusEmbeddedFrameSurfaceChanged(
-      const viz::SurfaceInfo& surface_info) override {}
   void OnMusEmbeddedFrameSinkIdAllocated(
       const viz::FrameSinkId& frame_sink_id) override;
 #endif
diff --git a/content/renderer/mus/mus_embedded_frame_delegate.h b/content/renderer/mus/mus_embedded_frame_delegate.h
index 4c6be417..cd61b38 100644
--- a/content/renderer/mus/mus_embedded_frame_delegate.h
+++ b/content/renderer/mus/mus_embedded_frame_delegate.h
@@ -7,17 +7,12 @@
 
 namespace viz {
 class FrameSinkId;
-class SurfaceInfo;
 }  // namespace viz
 
 namespace content {
 
 class MusEmbeddedFrameDelegate {
  public:
-  // Called when the SurfaceInfo changes.
-  virtual void OnMusEmbeddedFrameSurfaceChanged(
-      const viz::SurfaceInfo& surface_info) = 0;
-
   // Called when mus determines the FrameSinkId.
   virtual void OnMusEmbeddedFrameSinkIdAllocated(
       const viz::FrameSinkId& frame_sink_id) = 0;
diff --git a/content/renderer/mus/renderer_window_tree_client.cc b/content/renderer/mus/renderer_window_tree_client.cc
index fe79ebcb..34d1e28 100644
--- a/content/renderer/mus/renderer_window_tree_client.cc
+++ b/content/renderer/mus/renderer_window_tree_client.cc
@@ -331,18 +331,6 @@
 void RendererWindowTreeClient::OnWindowCursorChanged(ws::Id window_id,
                                                      ui::CursorData cursor) {}
 
-void RendererWindowTreeClient::OnWindowSurfaceChanged(
-    ws::Id window_id,
-    const viz::SurfaceInfo& surface_info) {
-  DCHECK(features::IsMultiProcessMash());
-  for (MusEmbeddedFrame* embedded_frame : embedded_frames_) {
-    if (embedded_frame->window_id_ == window_id) {
-      embedded_frame->delegate_->OnMusEmbeddedFrameSurfaceChanged(surface_info);
-      return;
-    }
-  }
-}
-
 void RendererWindowTreeClient::OnDragDropStart(
     const base::flat_map<std::string, std::vector<uint8_t>>& mime_data) {}
 
diff --git a/content/renderer/mus/renderer_window_tree_client.h b/content/renderer/mus/renderer_window_tree_client.h
index 90fcab8..b76fbac6 100644
--- a/content/renderer/mus/renderer_window_tree_client.h
+++ b/content/renderer/mus/renderer_window_tree_client.h
@@ -175,8 +175,6 @@
                               int64_t display_id) override;
   void OnWindowFocused(ws::Id focused_window_id) override;
   void OnWindowCursorChanged(ws::Id window_id, ui::CursorData cursor) override;
-  void OnWindowSurfaceChanged(ws::Id window_id,
-                              const viz::SurfaceInfo& surface_info) override;
   void OnDragDropStart(const base::flat_map<std::string, std::vector<uint8_t>>&
                            mime_data) override;
   void OnDragEnter(ws::Id window_id,
diff --git a/content/renderer/render_frame_proxy.cc b/content/renderer/render_frame_proxy.cc
index d9fe65db..e1df1b76 100644
--- a/content/renderer/render_frame_proxy.cc
+++ b/content/renderer/render_frame_proxy.cc
@@ -875,11 +875,6 @@
 }
 
 #if defined(USE_AURA)
-void RenderFrameProxy::OnMusEmbeddedFrameSurfaceChanged(
-    const viz::SurfaceInfo& surface_info) {
-  OnFirstSurfaceActivation(surface_info);
-}
-
 void RenderFrameProxy::OnMusEmbeddedFrameSinkIdAllocated(
     const viz::FrameSinkId& frame_sink_id) {
   // RendererWindowTreeClient should only call this when mus is hosting viz.
diff --git a/content/renderer/render_frame_proxy.h b/content/renderer/render_frame_proxy.h
index 1d2cfcf..ba9429c 100644
--- a/content/renderer/render_frame_proxy.h
+++ b/content/renderer/render_frame_proxy.h
@@ -265,8 +265,6 @@
 
 #if defined(USE_AURA)
   // MusEmbeddedFrameDelegate
-  void OnMusEmbeddedFrameSurfaceChanged(
-      const viz::SurfaceInfo& surface_info) override;
   void OnMusEmbeddedFrameSinkIdAllocated(
       const viz::FrameSinkId& frame_sink_id) override;
 #endif
diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc
index 7711972..23c95140 100644
--- a/content/renderer/render_thread_impl.cc
+++ b/content/renderer/render_thread_impl.cc
@@ -1495,6 +1495,10 @@
   return client_id_;
 }
 
+bool RenderThreadImpl::IsOnline() {
+  return online_status_;
+}
+
 void RenderThreadImpl::SetRendererProcessType(
     blink::scheduler::RendererProcessType type) {
   main_thread_scheduler_->SetRendererProcessType(type);
@@ -2160,12 +2164,12 @@
 void RenderThreadImpl::OnNetworkConnectionChanged(
     net::NetworkChangeNotifier::ConnectionType type,
     double max_bandwidth_mbps) {
-  bool online = type != net::NetworkChangeNotifier::CONNECTION_NONE;
-  WebNetworkStateNotifier::SetOnLine(online);
+  online_status_ = type != net::NetworkChangeNotifier::CONNECTION_NONE;
+  WebNetworkStateNotifier::SetOnLine(online_status_);
   if (url_loader_throttle_provider_)
-    url_loader_throttle_provider_->SetOnline(online);
+    url_loader_throttle_provider_->SetOnline(online_status_);
   for (auto& observer : observers_)
-    observer.NetworkStateChanged(online);
+    observer.NetworkStateChanged(online_status_);
   WebNetworkStateNotifier::SetWebConnection(
       NetConnectionTypeToWebConnectionType(type), max_bandwidth_mbps);
 }
diff --git a/content/renderer/render_thread_impl.h b/content/renderer/render_thread_impl.h
index 4bea1c9..42e4856dc3 100644
--- a/content/renderer/render_thread_impl.h
+++ b/content/renderer/render_thread_impl.h
@@ -217,6 +217,7 @@
   bool ResolveProxy(const GURL& url, std::string* proxy_list) override;
   base::WaitableEvent* GetShutdownEvent() override;
   int32_t GetClientId() override;
+  bool IsOnline() override;
   void SetRendererProcessType(
       blink::scheduler::RendererProcessType type) override;
   blink::WebString GetUserAgent() const override;
@@ -757,6 +758,7 @@
   bool needs_to_record_first_active_paint_;
   base::TimeTicks was_backgrounded_time_;
   int process_foregrounded_count_;
+  bool online_status_ = true;
 
   int32_t client_id_;
 
diff --git a/content/shell/browser/shell_browser_main_parts.cc b/content/shell/browser/shell_browser_main_parts.cc
index da57618e..1d6e25d1 100644
--- a/content/shell/browser/shell_browser_main_parts.cc
+++ b/content/shell/browser/shell_browser_main_parts.cc
@@ -116,9 +116,7 @@
 void ShellBrowserMainParts::PostMainMessageLoopStart() {
 #if defined(OS_CHROMEOS)
   chromeos::DBusThreadManager::Initialize();
-  bluez::BluezDBusManager::Initialize(
-      chromeos::DBusThreadManager::Get()->GetSystemBus(),
-      chromeos::DBusThreadManager::Get()->IsUsingFakes());
+  bluez::BluezDBusManager::Initialize();
 #elif defined(OS_LINUX)
   bluez::DBusBluezManagerWrapperLinux::Initialize();
 #endif
diff --git a/content/shell/test_runner/layout_dump.cc b/content/shell/test_runner/layout_dump.cc
index 9eb98f0..df6df46 100644
--- a/content/shell/test_runner/layout_dump.cc
+++ b/content/shell/test_runner/layout_dump.cc
@@ -66,7 +66,9 @@
                     frame, WebFrameContentDumper::kLayoutAsTextPrinting)
                     .Utf8();
     } else {
-      result += frame->GetDocument().ContentAsTextForTesting().Utf8();
+      result += frame->GetDocument()
+                    .ContentAsTextForTesting(flags.should_use_inner_text_dump())
+                    .Utf8();
     }
     result += "\n";
   } else if (flags.dump_as_markup()) {
diff --git a/content/shell/test_runner/layout_test_runtime_flags.h b/content/shell/test_runner/layout_test_runtime_flags.h
index d269371..7f06b90 100644
--- a/content/shell/test_runner/layout_test_runtime_flags.h
+++ b/content/shell/test_runner/layout_test_runtime_flags.h
@@ -190,6 +190,11 @@
   // Contains text passed by the test to testRunner.setCustomTextOutput.
   DEFINE_STRING_LAYOUT_TEST_RUNTIME_FLAG(custom_text_output)
 
+  // Controls which implementation to use for text dump, to help progressive
+  // rebaseline of layout test text dumps.
+  // TODO(xiaochengh): Remove this flag when rebaseline is complete.
+  DEFINE_BOOL_LAYOUT_TEST_RUNTIME_FLAG(should_use_inner_text_dump)
+
 #undef DEFINE_BOOL_LAYOUT_TEST_RUNTIME_FLAG
 #undef DEFINE_STRING_LAYOUT_TEST_RUNTIME_FLAG
 
diff --git a/content/shell/test_runner/test_interfaces.cc b/content/shell/test_runner/test_interfaces.cc
index cd7ee90..e86a9a3 100644
--- a/content/shell/test_runner/test_interfaces.cc
+++ b/content/shell/test_runner/test_interfaces.cc
@@ -25,6 +25,17 @@
 
 namespace test_runner {
 
+namespace {
+bool ShouldUseInnerTextDump(const std::string& test_path) {
+  // We are switching the text dump implementation to spec-conformant
+  // Element.innerText. To avoid gigantic patch, we control the rebaseline
+  // progress here in a per-directory manner.
+  // TODO(xiaochengh): Progressively allow more tests to use innerText.
+  // Remove this function once rebaseline is complete.
+  return false;
+}
+}  // namespace
+
 TestInterfaces::TestInterfaces()
     : gamepad_controller_(new GamepadController()),
       test_runner_(new TestRunner(this)),
@@ -114,6 +125,9 @@
       spec.find("/harness-tests/wpt/") != std::string::npos)
     test_runner_->set_is_web_platform_tests_mode();
 
+  const bool should_use_inner_text = ShouldUseInnerTextDump(spec);
+  test_runner_->SetShouldUseInnerTextDump(should_use_inner_text);
+
   // The actions below should only be done *once* per test.
   if (!initial_configuration)
     return;
diff --git a/content/shell/test_runner/test_runner.cc b/content/shell/test_runner/test_runner.cc
index a721dcbe..f05d6a79 100644
--- a/content/shell/test_runner/test_runner.cc
+++ b/content/shell/test_runner/test_runner.cc
@@ -2437,6 +2437,11 @@
   OnLayoutTestRuntimeFlagsChanged();
 }
 
+void TestRunner::SetShouldUseInnerTextDump(bool value) {
+  layout_test_runtime_flags_.set_should_use_inner_text_dump(value);
+  OnLayoutTestRuntimeFlagsChanged();
+}
+
 void TestRunner::SetWillSendRequestClearHeader(const std::string& header) {
   if (!header.empty())
     http_headers_to_clear_.insert(header);
diff --git a/content/shell/test_runner/test_runner.h b/content/shell/test_runner/test_runner.h
index a8f5bd40..cd15376 100644
--- a/content/shell/test_runner/test_runner.h
+++ b/content/shell/test_runner/test_runner.h
@@ -168,6 +168,8 @@
 
   bool ShouldDumpJavaScriptDialogs() const;
 
+  void SetShouldUseInnerTextDump(bool value);
+
   blink::WebEffectiveConnectionType effective_connection_type() const {
     return effective_connection_type_;
   }
diff --git a/device/bluetooth/BUILD.gn b/device/bluetooth/BUILD.gn
index 46cb42af..96e6673 100644
--- a/device/bluetooth/BUILD.gn
+++ b/device/bluetooth/BUILD.gn
@@ -415,10 +415,10 @@
       ]
       if (is_linux) {
         sources += [
+          "dbus/bluez_dbus_thread_manager.cc",
+          "dbus/bluez_dbus_thread_manager.h",
           "dbus/dbus_bluez_manager_wrapper_linux.cc",
           "dbus/dbus_bluez_manager_wrapper_linux.h",
-          "dbus/dbus_thread_manager_linux.cc",
-          "dbus/dbus_thread_manager_linux.h",
         ]
       }
       if (is_chromeos) {
diff --git a/device/bluetooth/bluez/bluetooth_advertisement_bluez_unittest.cc b/device/bluetooth/bluez/bluetooth_advertisement_bluez_unittest.cc
index f77cbb6..630508e 100644
--- a/device/bluetooth/bluez/bluetooth_advertisement_bluez_unittest.cc
+++ b/device/bluetooth/bluez/bluetooth_advertisement_bluez_unittest.cc
@@ -33,8 +33,7 @@
 class BluetoothAdvertisementBlueZTest : public testing::Test {
  public:
   void SetUp() override {
-    bluez::BluezDBusManager::Initialize(nullptr /* bus */,
-                                        true /* use_dbus_stub */);
+    bluez::BluezDBusManager::GetSetterForTesting();
 
     callback_count_ = 0;
     error_callback_count_ = 0;
diff --git a/device/bluetooth/dbus/bluez_dbus_manager.cc b/device/bluetooth/dbus/bluez_dbus_manager.cc
index c58018c9..a17917d 100644
--- a/device/bluetooth/dbus/bluez_dbus_manager.cc
+++ b/device/bluetooth/dbus/bluez_dbus_manager.cc
@@ -12,6 +12,7 @@
 #include "base/memory/ptr_util.h"
 #include "base/sys_info.h"
 #include "base/threading/thread.h"
+#include "build/build_config.h"
 #include "dbus/bus.h"
 #include "dbus/dbus_statistics.h"
 #include "dbus/message.h"
@@ -30,8 +31,13 @@
 #include "device/bluetooth/dbus/bluetooth_media_client.h"
 #include "device/bluetooth/dbus/bluetooth_media_transport_client.h"
 #include "device/bluetooth/dbus/bluetooth_profile_manager_client.h"
+#include "device/bluetooth/dbus/bluez_dbus_thread_manager.h"
 #include "third_party/cros_system_api/dbus/service_constants.h"
 
+#if defined(OS_CHROMEOS)
+#include "chromeos/dbus/dbus_thread_manager.h"
+#endif
+
 namespace bluez {
 
 static BluezDBusManager* g_bluez_dbus_manager = nullptr;
@@ -223,14 +229,21 @@
 }
 
 // static
-void BluezDBusManager::Initialize(dbus::Bus* bus, bool use_dbus_stub) {
+void BluezDBusManager::Initialize() {
   // If we initialize BluezDBusManager twice we may also be shutting it down
   // early; do not allow that.
   if (g_using_bluez_dbus_manager_for_testing)
     return;
 
   CHECK(!g_bluez_dbus_manager);
-  CreateGlobalInstance(bus, use_dbus_stub);
+
+#if defined(OS_CHROMEOS)
+  CreateGlobalInstance(chromeos::DBusThreadManager::Get()->GetSystemBus(),
+                       chromeos::DBusThreadManager::Get()->IsUsingFakes());
+#elif defined(OS_LINUX)
+  CreateGlobalInstance(BluezDBusThreadManager::Get()->GetSystemBus(),
+                       false /* use_dbus_stubs */);
+#endif
 }
 
 // static
diff --git a/device/bluetooth/dbus/bluez_dbus_manager.h b/device/bluetooth/dbus/bluez_dbus_manager.h
index bb642f1fd..cf4c053 100644
--- a/device/bluetooth/dbus/bluez_dbus_manager.h
+++ b/device/bluetooth/dbus/bluez_dbus_manager.h
@@ -61,7 +61,7 @@
   // This will initialize real, stub, or fake DBusClients depending on
   // command-line arguments, whether Object Manager is supported and
   // whether this process runs in a real or test environment.
-  static void Initialize(dbus::Bus* bus, bool use_dbus_fakes);
+  static void Initialize();
 
   // Returns a BluezDBusManagerSetter instance that allows tests to
   // replace individual D-Bus clients with their own implementations.
diff --git a/device/bluetooth/dbus/bluez_dbus_thread_manager.cc b/device/bluetooth/dbus/bluez_dbus_thread_manager.cc
new file mode 100644
index 0000000..6ba28d2
--- /dev/null
+++ b/device/bluetooth/dbus/bluez_dbus_thread_manager.cc
@@ -0,0 +1,73 @@
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "device/bluetooth/dbus/bluez_dbus_thread_manager.h"
+
+#include "base/message_loop/message_loop.h"
+#include "base/threading/thread.h"
+#include "dbus/bus.h"
+
+namespace bluez {
+
+static BluezDBusThreadManager* g_bluez_dbus_thread_manager = NULL;
+
+BluezDBusThreadManager::BluezDBusThreadManager() {
+  base::Thread::Options thread_options;
+  thread_options.message_loop_type = base::MessageLoop::TYPE_IO;
+  dbus_thread_.reset(new base::Thread("Bluez D-Bus thread"));
+  dbus_thread_->StartWithOptions(thread_options);
+
+  // Create the connection to the system bus.
+  dbus::Bus::Options system_bus_options;
+  system_bus_options.bus_type = dbus::Bus::SYSTEM;
+  system_bus_options.connection_type = dbus::Bus::PRIVATE;
+  system_bus_options.dbus_task_runner = dbus_thread_->task_runner();
+  system_bus_ = new dbus::Bus(system_bus_options);
+}
+
+BluezDBusThreadManager::~BluezDBusThreadManager() {
+  // Shut down the bus. During the browser shutdown, it's ok to shut down
+  // the bus synchronously.
+  if (system_bus_.get())
+    system_bus_->ShutdownOnDBusThreadAndBlock();
+
+  // Stop the D-Bus thread.
+  if (dbus_thread_)
+    dbus_thread_->Stop();
+
+  if (!g_bluez_dbus_thread_manager)
+    return;  // Called form Shutdown() or local test instance.
+
+  // There should never be both a global instance and a local instance.
+  CHECK(this == g_bluez_dbus_thread_manager);
+}
+
+dbus::Bus* BluezDBusThreadManager::GetSystemBus() {
+  return system_bus_.get();
+}
+
+// static
+void BluezDBusThreadManager::Initialize() {
+  CHECK(!g_bluez_dbus_thread_manager);
+  g_bluez_dbus_thread_manager = new BluezDBusThreadManager();
+}
+
+// static
+void BluezDBusThreadManager::Shutdown() {
+  // Ensure that we only shutdown BluezDBusThreadManager once.
+  CHECK(g_bluez_dbus_thread_manager);
+  BluezDBusThreadManager* dbus_thread_manager = g_bluez_dbus_thread_manager;
+  g_bluez_dbus_thread_manager = NULL;
+  delete dbus_thread_manager;
+  VLOG(1) << "BluezDBusThreadManager Shutdown completed";
+}
+
+// static
+BluezDBusThreadManager* BluezDBusThreadManager::Get() {
+  CHECK(g_bluez_dbus_thread_manager)
+      << "BluezDBusThreadManager::Get() called before Initialize()";
+  return g_bluez_dbus_thread_manager;
+}
+
+}  // namespace bluez
diff --git a/device/bluetooth/dbus/bluez_dbus_thread_manager.h b/device/bluetooth/dbus/bluez_dbus_thread_manager.h
new file mode 100644
index 0000000..29440c5c
--- /dev/null
+++ b/device/bluetooth/dbus/bluez_dbus_thread_manager.h
@@ -0,0 +1,55 @@
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef DEVICE_BLUETOOTH_DBUS_BLUEZ_DBUS_THREAD_MANAGER_H_
+#define DEVICE_BLUETOOTH_DBUS_BLUEZ_DBUS_THREAD_MANAGER_H_
+
+#include <memory>
+
+#include "base/callback.h"
+#include "base/macros.h"
+#include "base/memory/ref_counted.h"
+#include "device/bluetooth/bluetooth_export.h"
+
+namespace base {
+class Thread;
+}  // namespace base
+
+namespace dbus {
+class Bus;
+}  // namespace dbus
+
+namespace bluez {
+
+// BluezDBusThreadManager manages the D-Bus thread, the thread dedicated to
+// handling asynchronous D-Bus operations.
+class DEVICE_BLUETOOTH_EXPORT BluezDBusThreadManager {
+ public:
+  // Sets the global instance. Must be called before any calls to Get().
+  // We explicitly initialize and shut down the global object, rather than
+  // making it a Singleton, to ensure clean startup and shutdown.
+  static void Initialize();
+
+  // Destroys the global instance.
+  static void Shutdown();
+
+  // Gets the global instance. Initialize() must be called first.
+  static BluezDBusThreadManager* Get();
+
+  // Returns various D-Bus bus instances, owned by BluezDBusThreadManager.
+  dbus::Bus* GetSystemBus();
+
+ private:
+  explicit BluezDBusThreadManager();
+  ~BluezDBusThreadManager();
+
+  std::unique_ptr<base::Thread> dbus_thread_;
+  scoped_refptr<dbus::Bus> system_bus_;
+
+  DISALLOW_COPY_AND_ASSIGN(BluezDBusThreadManager);
+};
+
+}  // namespace bluez
+
+#endif  // DEVICE_BLUETOOTH_DBUS_DBUS_THREAD_MANAGER_LINUX_H_
diff --git a/device/bluetooth/dbus/dbus_bluez_manager_wrapper_linux.cc b/device/bluetooth/dbus/dbus_bluez_manager_wrapper_linux.cc
index 5b8b573..b3f10b5 100644
--- a/device/bluetooth/dbus/dbus_bluez_manager_wrapper_linux.cc
+++ b/device/bluetooth/dbus/dbus_bluez_manager_wrapper_linux.cc
@@ -5,22 +5,20 @@
 #include "device/bluetooth/dbus/dbus_bluez_manager_wrapper_linux.h"
 
 #include "device/bluetooth/dbus/bluez_dbus_manager.h"
-#include "device/bluetooth/dbus/dbus_thread_manager_linux.h"
+#include "device/bluetooth/dbus/bluez_dbus_thread_manager.h"
 
 namespace bluez {
 
 // static
 void DBusBluezManagerWrapperLinux::Initialize() {
-  DBusThreadManagerLinux::Initialize();
-  BluezDBusManager::Initialize(
-      bluez::DBusThreadManagerLinux::Get()->GetSystemBus(),
-      false /* use_dbus_stub */);
+  BluezDBusThreadManager::Initialize();
+  BluezDBusManager::Initialize();
 }
 
 // static
 void DBusBluezManagerWrapperLinux::Shutdown() {
   bluez::BluezDBusManager::Shutdown();
-  bluez::DBusThreadManagerLinux::Shutdown();
+  bluez::BluezDBusThreadManager::Shutdown();
 }
 
 }  // namespace bluez
diff --git a/device/bluetooth/dbus/dbus_bluez_manager_wrapper_linux.h b/device/bluetooth/dbus/dbus_bluez_manager_wrapper_linux.h
index ccd96232..a8e70e7 100644
--- a/device/bluetooth/dbus/dbus_bluez_manager_wrapper_linux.h
+++ b/device/bluetooth/dbus/dbus_bluez_manager_wrapper_linux.h
@@ -10,7 +10,7 @@
 
 namespace bluez {
 
-// This class abstracts the initialization of DBusThreadManagerLinux and
+// This class abstracts the initialization of BluezDBusThreadManager and
 // BluezDBusManager. Targets that don't use DBus can provide stub
 // implementations.
 class DEVICE_BLUETOOTH_EXPORT DBusBluezManagerWrapperLinux {
diff --git a/device/bluetooth/dbus/dbus_thread_manager_linux.cc b/device/bluetooth/dbus/dbus_thread_manager_linux.cc
deleted file mode 100644
index ecaed41b..0000000
--- a/device/bluetooth/dbus/dbus_thread_manager_linux.cc
+++ /dev/null
@@ -1,73 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "device/bluetooth/dbus/dbus_thread_manager_linux.h"
-
-#include "base/message_loop/message_loop.h"
-#include "base/threading/thread.h"
-#include "dbus/bus.h"
-
-namespace bluez {
-
-static DBusThreadManagerLinux* g_linux_dbus_manager = NULL;
-
-DBusThreadManagerLinux::DBusThreadManagerLinux() {
-  base::Thread::Options thread_options;
-  thread_options.message_loop_type = base::MessageLoop::TYPE_IO;
-  dbus_thread_.reset(new base::Thread("D-Bus thread"));
-  dbus_thread_->StartWithOptions(thread_options);
-
-  // Create the connection to the system bus.
-  dbus::Bus::Options system_bus_options;
-  system_bus_options.bus_type = dbus::Bus::SYSTEM;
-  system_bus_options.connection_type = dbus::Bus::PRIVATE;
-  system_bus_options.dbus_task_runner = dbus_thread_->task_runner();
-  system_bus_ = new dbus::Bus(system_bus_options);
-}
-
-DBusThreadManagerLinux::~DBusThreadManagerLinux() {
-  // Shut down the bus. During the browser shutdown, it's ok to shut down
-  // the bus synchronously.
-  if (system_bus_.get())
-    system_bus_->ShutdownOnDBusThreadAndBlock();
-
-  // Stop the D-Bus thread.
-  if (dbus_thread_)
-    dbus_thread_->Stop();
-
-  if (!g_linux_dbus_manager)
-    return;  // Called form Shutdown() or local test instance.
-
-  // There should never be both a global instance and a local instance.
-  CHECK(this == g_linux_dbus_manager);
-}
-
-dbus::Bus* DBusThreadManagerLinux::GetSystemBus() {
-  return system_bus_.get();
-}
-
-// static
-void DBusThreadManagerLinux::Initialize() {
-  CHECK(!g_linux_dbus_manager);
-  g_linux_dbus_manager = new DBusThreadManagerLinux();
-}
-
-// static
-void DBusThreadManagerLinux::Shutdown() {
-  // Ensure that we only shutdown LinuxDBusManager once.
-  CHECK(g_linux_dbus_manager);
-  DBusThreadManagerLinux* dbus_thread_manager = g_linux_dbus_manager;
-  g_linux_dbus_manager = NULL;
-  delete dbus_thread_manager;
-  VLOG(1) << "LinuxDBusManager Shutdown completed";
-}
-
-// static
-DBusThreadManagerLinux* DBusThreadManagerLinux::Get() {
-  CHECK(g_linux_dbus_manager)
-      << "LinuxDBusManager::Get() called before Initialize()";
-  return g_linux_dbus_manager;
-}
-
-}  // namespace bluez
diff --git a/device/bluetooth/dbus/dbus_thread_manager_linux.h b/device/bluetooth/dbus/dbus_thread_manager_linux.h
deleted file mode 100644
index f11bcee..0000000
--- a/device/bluetooth/dbus/dbus_thread_manager_linux.h
+++ /dev/null
@@ -1,61 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef DEVICE_BLUETOOTH_DBUS_DBUS_THREAD_MANAGER_LINUX_H_
-#define DEVICE_BLUETOOTH_DBUS_DBUS_THREAD_MANAGER_LINUX_H_
-
-#include <memory>
-
-#include "base/callback.h"
-#include "base/macros.h"
-#include "base/memory/ref_counted.h"
-#include "device/bluetooth/bluetooth_export.h"
-
-namespace base {
-class Thread;
-}  // namespace base
-
-namespace dbus {
-class Bus;
-}  // namespace dbus
-
-namespace bluez {
-
-// LinuxDBusManager manages the D-Bus thread, the thread dedicated to
-// handling asynchronous D-Bus operations.
-class DEVICE_BLUETOOTH_EXPORT DBusThreadManagerLinux {
- public:
-  // Sets the global instance. Must be called before any calls to Get().
-  // We explicitly initialize and shut down the global object, rather than
-  // making it a Singleton, to ensure clean startup and shutdown.
-  static void Initialize();
-
-  // Destroys the global instance.
-  static void Shutdown();
-
-  // Gets the global instance. Initialize() must be called first.
-  static DBusThreadManagerLinux* Get();
-
-  // Returns various D-Bus bus instances, owned by LinuxDBusManager.
-  dbus::Bus* GetSystemBus();
-
- private:
-  explicit DBusThreadManagerLinux();
-  ~DBusThreadManagerLinux();
-
-  // Creates a global instance of LinuxDBusManager with the real
-  // implementations for all clients that are listed in |unstub_client_mask| and
-  // stub implementations for all clients that are not included. Cannot be
-  // called more than once.
-  static void CreateGlobalInstance();
-
-  std::unique_ptr<base::Thread> dbus_thread_;
-  scoped_refptr<dbus::Bus> system_bus_;
-
-  DISALLOW_COPY_AND_ASSIGN(DBusThreadManagerLinux);
-};
-
-}  // namespace bluez
-
-#endif  // DEVICE_BLUETOOTH_DBUS_DBUS_THREAD_MANAGER_LINUX_H_
diff --git a/device/fido/mac/browsing_data_deletion.h b/device/fido/mac/browsing_data_deletion.h
index 1ab37d7..decf340 100644
--- a/device/fido/mac/browsing_data_deletion.h
+++ b/device/fido/mac/browsing_data_deletion.h
@@ -15,9 +15,9 @@
 namespace mac {
 
 // DeleteWebAuthnCredentiuals deletes Touch ID authenticator credentials from
-// the macOS keychain that were created within the time interval `[begin, end)`
-// and with the given metadata secret (which is tied to a browser profile).
-// The |keychain_access_group| parameter is an identifier tied to Chrome's code
+// the macOS keychain that were created within the given time interval and with
+// the given metadata secret (which is tied to a browser profile). The
+// |keychain_access_group| parameter is an identifier tied to Chrome's code
 // signing identity that identifies the set of all keychain items associated
 // with the Touch ID WebAuthentication authenticator.
 //
@@ -30,8 +30,16 @@
 bool COMPONENT_EXPORT(DEVICE_FIDO)
     DeleteWebAuthnCredentials(const std::string& keychain_access_group,
                               const std::string& profile_metadata_secret,
-                              base::Time begin,
-                              base::Time end);
+                              base::Time created_not_before,
+                              base::Time created_not_after);
+
+// CountWebAuthnCredentials returns the number of credentials that would get
+// deleted by a call to |DeleteWebAuthnCredentials| with identical arguments.
+size_t COMPONENT_EXPORT(DEVICE_FIDO)
+    CountWebAuthnCredentials(const std::string& keychain_access_group,
+                             const std::string& profile_metadata_secret,
+                             base::Time created_not_before,
+                             base::Time created_not_after);
 
 }  // namespace mac
 }  // namespace fido
diff --git a/device/fido/mac/browsing_data_deletion.mm b/device/fido/mac/browsing_data_deletion.mm
index 56eefc45..9826118 100644
--- a/device/fido/mac/browsing_data_deletion.mm
+++ b/device/fido/mac/browsing_data_deletion.mm
@@ -15,6 +15,7 @@
 #include "base/mac/mac_logging.h"
 #include "base/mac/scoped_cftyperef.h"
 #include "base/optional.h"
+#include "base/stl_util.h"
 #include "base/strings/sys_string_conversions.h"
 #include "base/time/time.h"
 #include "build/build_config.h"
@@ -28,16 +29,41 @@
 
 namespace {
 
-bool DoDeleteWebAuthnCredentials(const std::string& keychain_access_group,
-                                 const std::string& profile_metadata_secret,
-                                 base::Time begin,
-                                 base::Time end)
+// Erase all keychain items with a creation date that is not within [not_before,
+// not_after).
+void FilterKeychainItemsByCreationDate(
+    std::vector<base::ScopedCFTypeRef<CFDictionaryRef>>* keychain_items,
+    base::Time not_before,
+    base::Time not_after) {
+  base::EraseIf(
+      *keychain_items,
+      [not_before, not_after](const CFDictionaryRef& attributes) -> bool {
+        // If the creation date is missing for some obscure reason, treat as if
+        // the date is inside the interval, i.e. keep it in the list.
+        CFDateRef creation_date_cf =
+            base::mac::GetValueFromDictionary<CFDateRef>(attributes,
+                                                         kSecAttrCreationDate);
+        if (!creation_date_cf) {
+          return false;
+        }
+        base::Time creation_date = base::Time::FromCFAbsoluteTime(
+            CFDateGetAbsoluteTime(creation_date_cf));
+        return creation_date < not_before || creation_date >= not_after;
+      });
+}
+base::Optional<std::vector<base::ScopedCFTypeRef<CFDictionaryRef>>>
+QueryKeychainItemsForProfile(const std::string& keychain_access_group,
+                             const std::string& profile_metadata_secret,
+                             base::Time created_not_before,
+                             base::Time created_not_after)
     API_AVAILABLE(macosx(10.12.2)) {
   // Query the keychain for all items tagged with the given access group, which
   // should in theory yield all WebAuthentication credentials (for all
   // profiles). Sadly, the kSecAttrAccessGroup filter doesn't quite work, and
   // so we also get results from the legacy keychain that are tagged with no
   // keychain access group.
+  std::vector<base::ScopedCFTypeRef<CFDictionaryRef>> result;
+
   base::ScopedCFTypeRef<CFMutableDictionaryRef> query(
       CFDictionaryCreateMutable(kCFAllocatorDefault, 0, nullptr, nullptr));
   CFDictionarySetValue(query, kSecClass, kSecClassKey);
@@ -54,19 +80,22 @@
         query, reinterpret_cast<CFTypeRef*>(keychain_items.InitializeInto()));
     if (status == errSecItemNotFound) {
       DVLOG(1) << "no credentials found";
-      return true;
+      return base::nullopt;
     }
     if (status != errSecSuccess) {
       OSSTATUS_DLOG(ERROR, status) << "SecItemCopyMatching failed";
-      return false;
+      return base::nullopt;
     }
   }
 
-  bool result = true;
-  // Determine which items from the result need to be deleted.
   for (CFIndex i = 0; i < CFArrayGetCount(keychain_items); ++i) {
     CFDictionaryRef attributes = base::mac::CFCast<CFDictionaryRef>(
         CFArrayGetValueAtIndex(keychain_items, i));
+    if (!attributes) {
+      DLOG(ERROR) << "unexpected result type";
+      return base::nullopt;
+    }
+
     // Skip items that don't belong to the correct keychain access group
     // because the kSecAttrAccessGroup filter is broken.
     CFStringRef attr_access_group =
@@ -77,6 +106,7 @@
       DVLOG(1) << "missing/invalid access group";
       continue;
     }
+
     // If the RP ID, stored encrypted in the item's label, cannot be decrypted
     // with the given metadata secret, then the credential belongs to a
     // different profile and must be ignored.
@@ -93,30 +123,38 @@
       continue;
     }
 
-    // If the creation date is out of range, the credential must be ignored.
-    // If the creation date is missing for some obscure reason, we delete.
-    CFDateRef creation_date_cf = base::mac::GetValueFromDictionary<CFDateRef>(
-        attributes, kSecAttrCreationDate);
-    if (!creation_date_cf) {
-      DVLOG(1) << "missing creation date; deleting anyway";
-    } else {
-      base::Time creation_date = base::Time::FromCFAbsoluteTime(
-          CFDateGetAbsoluteTime(creation_date_cf));
-      // Browsing data deletion API uses [begin, end) intervals.
-      if (creation_date < begin || creation_date >= end) {
-        DVLOG(1) << "creation date out of range";
-        continue;
-      }
-    }
+    result.push_back(base::ScopedCFTypeRef<CFDictionaryRef>(
+        attributes, base::scoped_policy::RETAIN));
+  }
 
-    // The sane way to delete this item would be to build a query that has the
-    // kSecMatchItemList field set to a list of SecKeyRef objects that need
-    // deleting. Sadly, on macOS that appears to work only if you also set
-    // kSecAttrNoLegacy (which is an internal symbol); otherwise it appears to
-    // only search the "legacy" keychain and return errSecItemNotFound. What
-    // does work however, is lookup by the (unique) kSecAttrApplicationLabel
-    // (which stores the credential id). So we clumsily do this for each item
-    // instead.
+  FilterKeychainItemsByCreationDate(&result, created_not_before,
+                                    created_not_after);
+  return result;
+}
+
+bool DoDeleteWebAuthnCredentials(const std::string& keychain_access_group,
+                                 const std::string& profile_metadata_secret,
+                                 base::Time created_not_before,
+                                 base::Time created_not_after)
+    API_AVAILABLE(macosx(10.12.2)) {
+  bool result = true;
+  base::Optional<std::vector<base::ScopedCFTypeRef<CFDictionaryRef>>>
+      keychain_items = QueryKeychainItemsForProfile(
+          keychain_access_group, profile_metadata_secret, created_not_before,
+          created_not_after);
+  if (!keychain_items) {
+    return false;
+  }
+
+  // The sane way to delete this item would be to build a query that has the
+  // kSecMatchItemList field set to a list of SecKeyRef objects that need
+  // deleting. Sadly, on macOS that appears to work only if you also set
+  // kSecAttrNoLegacy (which is an internal symbol); otherwise it appears to
+  // only search the "legacy" keychain and return errSecItemNotFound. What
+  // does work however, is to look up and delete by the (unique)
+  // kSecAttrApplicationLabel (which stores the credential id). So we clumsily
+  // do this for each item instead.
+  for (const CFDictionaryRef& attributes : *keychain_items) {
     CFDataRef sec_attr_app_label = base::mac::GetValueFromDictionary<CFDataRef>(
         attributes, kSecAttrApplicationLabel);
     if (!sec_attr_app_label) {
@@ -138,25 +176,58 @@
   return result;
 }
 
+size_t DoCountWebAuthnCredentials(const std::string& keychain_access_group,
+                                  const std::string& profile_metadata_secret,
+                                  base::Time created_not_before,
+                                  base::Time created_not_after)
+    API_AVAILABLE(macosx(10.12.2)) {
+  base::Optional<std::vector<base::ScopedCFTypeRef<CFDictionaryRef>>>
+      keychain_items = QueryKeychainItemsForProfile(
+          keychain_access_group, profile_metadata_secret, created_not_before,
+          created_not_after);
+  if (!keychain_items) {
+    DLOG(ERROR) << "Failed to query credentials in keychain";
+    return 0;
+  }
+
+  return keychain_items->size();
+}
 }  // namespace
 
 bool DeleteWebAuthnCredentials(const std::string& keychain_access_group,
                                const std::string& profile_metadata_secret,
-                               base::Time begin,
-                               base::Time end) {
+                               base::Time created_not_before,
+                               base::Time created_not_after) {
 #if defined(OS_MACOSX)
   if (base::FeatureList::IsEnabled(device::kWebAuthTouchId)) {
     // Touch ID uses macOS APIs available in 10.12.2 or newer. No need to check
     // for credentials in lower OS versions.
     if (__builtin_available(macos 10.12.2, *)) {
       return DoDeleteWebAuthnCredentials(keychain_access_group,
-                                         profile_metadata_secret, begin, end);
+                                         profile_metadata_secret,
+                                         created_not_before, created_not_after);
     }
   }
 #endif  // defined(OS_MACOSX)
   return true;
 }
 
+size_t CountWebAuthnCredentials(const std::string& keychain_access_group,
+                                const std::string& profile_metadata_secret,
+                                base::Time created_not_before,
+                                base::Time created_not_after) {
+#if defined(OS_MACOSX)
+  if (base::FeatureList::IsEnabled(device::kWebAuthTouchId)) {
+    if (__builtin_available(macos 10.12.2, *)) {
+      return DoCountWebAuthnCredentials(keychain_access_group,
+                                        profile_metadata_secret,
+                                        created_not_before, created_not_after);
+    }
+  }
+#endif  // defined(OS_MACOSX)
+  return 0;
+}
+
 }  // namespace mac
 }  // namespace fido
 }  // namespace device
diff --git a/device/fido/mac/browsing_data_deletion_unittest.mm b/device/fido/mac/browsing_data_deletion_unittest.mm
index b6acba5..5d80d69 100644
--- a/device/fido/mac/browsing_data_deletion_unittest.mm
+++ b/device/fido/mac/browsing_data_deletion_unittest.mm
@@ -44,6 +44,7 @@
 constexpr char kKeychainAccessGroup[] =
     "EQHXZ8M8AV.com.google.chrome.webauthn.test";
 constexpr char kMetadataSecret[] = "supersecret";
+constexpr char kOtherMetadataSecret[] = "reallynotsosecret";
 
 constexpr std::array<uint8_t, kClientDataHashLength> kClientDataHash = {};
 constexpr char kRpId[] = "rp.example.com";
@@ -89,7 +90,7 @@
 
 // Returns the number of WebAuthn credentials in the keychain (for all
 // profiles), or -1 if an error occurs.
-ssize_t CredentialCount() {
+ssize_t KeychainItemCount() {
   base::ScopedCFTypeRef<CFArrayRef> items = QueryAllCredentials();
   return items ? CFArrayGetCount(items) : -1;
 }
@@ -147,12 +148,17 @@
   }
 
   bool DeleteCredentials() { return DeleteCredentials(kMetadataSecret); }
-
   bool DeleteCredentials(const std::string& metadata_secret) {
     return DeleteWebAuthnCredentials(kKeychainAccessGroup, metadata_secret,
                                      base::Time(), base::Time::Max());
   }
 
+  size_t CountCredentials() { return CountCredentials(kMetadataSecret); }
+  size_t CountCredentials(const std::string& metadata_secret) {
+    return CountWebAuthnCredentials(kKeychainAccessGroup, metadata_secret,
+                                    base::Time(), base::Time::Max());
+  }
+
   base::test::ScopedFeatureList scoped_feature_list_;
   base::test::ScopedTaskEnvironment scoped_task_environment_;
   std::unique_ptr<TouchIdAuthenticator> authenticator_;
@@ -163,31 +169,30 @@
 // running macOS 10.12.2 or later, and require user input (Touch ID).
 
 TEST_F(BrowsingDataDeletionTest, DISABLED_Basic) {
-  ASSERT_EQ(0, CredentialCount());
+  ASSERT_EQ(0, KeychainItemCount());
   ASSERT_TRUE(MakeCredential());
-  ASSERT_EQ(1, CredentialCount());
+  ASSERT_EQ(1, KeychainItemCount());
 
   EXPECT_TRUE(DeleteCredentials());
-  EXPECT_EQ(0, CredentialCount());
+  EXPECT_EQ(0, KeychainItemCount());
 }
 
 TEST_F(BrowsingDataDeletionTest, DISABLED_DifferentProfiles) {
   // Create credentials in two different profiles.
-  EXPECT_EQ(0, CredentialCount());
+  EXPECT_EQ(0, KeychainItemCount());
   ASSERT_TRUE(MakeCredential());
-  std::string other_metadata_secret = "reallynotsosecret";
-  auto other_authenticator = MakeAuthenticator(other_metadata_secret);
+  auto other_authenticator = MakeAuthenticator(kOtherMetadataSecret);
   ASSERT_TRUE(MakeCredential(other_authenticator.get()));
-  ASSERT_EQ(2, CredentialCount());
+  ASSERT_EQ(2, KeychainItemCount());
 
   // Delete credential from the first profile.
   EXPECT_TRUE(DeleteCredentials());
-  EXPECT_EQ(1, CredentialCount());
+  EXPECT_EQ(1, KeychainItemCount());
   // Only providing the correct secret removes the second credential.
   EXPECT_TRUE(DeleteCredentials());
-  EXPECT_EQ(1, CredentialCount());
-  EXPECT_TRUE(DeleteCredentials(other_metadata_secret));
-  EXPECT_EQ(0, CredentialCount());
+  EXPECT_EQ(1, KeychainItemCount());
+  EXPECT_TRUE(DeleteCredentials(kOtherMetadataSecret));
+  EXPECT_EQ(0, KeychainItemCount());
 }
 
 TEST_F(BrowsingDataDeletionTest, DISABLED_FeatureFlag) {
@@ -196,12 +201,23 @@
   base::test::ScopedFeatureList scoped_feature_list;
   scoped_feature_list.InitAndDisableFeature(device::kWebAuthTouchId);
 
-  ASSERT_EQ(0, CredentialCount());
+  ASSERT_EQ(0, KeychainItemCount());
   ASSERT_TRUE(MakeCredential());
 
   // DeleteCredentials() has no effect with the feature flag flipped off.
   EXPECT_TRUE(DeleteCredentials());
-  EXPECT_EQ(1, CredentialCount());
+  EXPECT_EQ(1, KeychainItemCount());
+}
+
+TEST_F(BrowsingDataDeletionTest, DISABLED_Count) {
+  EXPECT_EQ(0u, CountCredentials());
+  EXPECT_EQ(0u, CountCredentials(kOtherMetadataSecret));
+  EXPECT_TRUE(MakeCredential());
+  EXPECT_EQ(1u, CountCredentials());
+  EXPECT_EQ(0u, CountCredentials(kOtherMetadataSecret));
+
+  EXPECT_TRUE(DeleteCredentials());
+  EXPECT_EQ(0u, CountCredentials());
 }
 
 }  // namespace
diff --git a/docs/servicification.md b/docs/servicification.md
index e57b35f3..90d4ea2 100644
--- a/docs/servicification.md
+++ b/docs/servicification.md
@@ -34,8 +34,12 @@
 
 Which of these policies the Service Manager employs is determined by the
 contents of your service manifest: the former is the default, while the latter
-is selected by informing the Service Manager that your service requires the
-service_manager:all_users capability([example](https://cs.chromium.org/chromium/src/services/device/manifest.json)).
+is selected by informing the Service Manager that your service has the
+"instance_sharing" option value set to "shared_instance_across_users"
+([example](https://cs.chromium.org/chromium/src/services/device/manifest.json)).
+
+Service manifests are described in more detail in this
+[document](https://chromium.googlesource.com/chromium/src/+/master/services/service_manager/service_manifests.md).
 
 In practice, there is one user ID per-BrowserContext, so the question becomes:
 Is your Service a global or keyed by BrowserContext?  In considering this
diff --git a/extensions/shell/browser/shell_browser_main_parts.cc b/extensions/shell/browser/shell_browser_main_parts.cc
index 0334078c..3e44e986 100644
--- a/extensions/shell/browser/shell_browser_main_parts.cc
+++ b/extensions/shell/browser/shell_browser_main_parts.cc
@@ -65,7 +65,7 @@
 #if defined(OS_CHROMEOS)
 #include "chromeos/dbus/dbus_thread_manager.h"
 #elif defined(OS_LINUX)
-#include "device/bluetooth/dbus/dbus_thread_manager_linux.h"
+#include "device/bluetooth/dbus/bluez_dbus_thread_manager.h"
 #endif
 
 #if BUILDFLAG(ENABLE_NACL)
@@ -124,9 +124,7 @@
   chromeos::DBusThreadManager::Initialize();
   chromeos::disks::DiskMountManager::Initialize();
 
-  bluez::BluezDBusManager::Initialize(
-      chromeos::DBusThreadManager::Get()->GetSystemBus(),
-      chromeos::DBusThreadManager::Get()->IsUsingFakes());
+  bluez::BluezDBusManager::Initialize();
 
   chromeos::NetworkHandler::Initialize();
   network_controller_.reset(new ShellNetworkController(
@@ -143,10 +141,8 @@
   // TODO(michaelpg): Verify this works for target environments.
   ui::InitializeInputMethodForTesting();
 
-  bluez::DBusThreadManagerLinux::Initialize();
-  bluez::BluezDBusManager::Initialize(
-      bluez::DBusThreadManagerLinux::Get()->GetSystemBus(),
-      /*use_dbus_fakes=*/false);
+  bluez::BluezDBusThreadManager::Initialize();
+  bluez::BluezDBusManager::Initialize();
 #else
   ui::InitializeInputMethodForTesting();
 #endif
@@ -315,7 +311,7 @@
 #elif defined(OS_LINUX)
   device::BluetoothAdapterFactory::Shutdown();
   bluez::BluezDBusManager::Shutdown();
-  bluez::DBusThreadManagerLinux::Shutdown();
+  bluez::BluezDBusThreadManager::Shutdown();
 #endif
 }
 
diff --git a/extensions/strings/extensions_strings_bn.xtb b/extensions/strings/extensions_strings_bn.xtb
index 1b9f3df..2b1ee56f 100644
--- a/extensions/strings/extensions_strings_bn.xtb
+++ b/extensions/strings/extensions_strings_bn.xtb
@@ -5,9 +5,9 @@
 <translation id="1140871961407805696">পেছন দিকে মুখ করা</translation>
 <translation id="1196338895211115272">ব্যক্তিগত কী রপ্তানি করতে ব্যর্থ৷</translation>
 <translation id="1420684932347524586">এ বাবা! র‌্যান্ডম RSA ব্যক্তিগত কী জেনারেট করতে ব্যর্থ৷</translation>
-<translation id="1445572445564823378">এই এক্সটেনশানটির গতি কমে যাচ্ছে <ph name="PRODUCT_NAME" />৷ আপনাকে <ph name="PRODUCT_NAME" />-এর সম্পাদনা পুনঃস্থাপন করার জন্য এটিকে অক্ষম করা উচিত৷</translation>
+<translation id="1445572445564823378">এই এক্সটেনশনটি <ph name="PRODUCT_NAME" />-এর কাজের গতি কমিয়ে দিচ্ছে ৷ আপনাকে <ph name="PRODUCT_NAME" />-এর সম্পাদনা রিস্টোর করার জন্য এটিকে বন্ধ করা উচিত৷</translation>
 <translation id="1468038450257740950">WebGL সমর্থিত নয়৷</translation>
-<translation id="149347756975725155">এক্সটেনশান আইকন '<ph name="ICON" />' লোড করা যায়নি৷</translation>
+<translation id="149347756975725155">এক্সটেনশন আইকন '<ph name="ICON" />' লোড করা যায়নি৷</translation>
 <translation id="1803557475693955505">পৃষ্ঠভূমি পৃষ্ঠা '<ph name="BACKGROUND_PAGE" />' লোড করা যায়নি৷</translation>
 <translation id="2159915644201199628">ছবি ডিকোড করা যায়নি: '<ph name="IMAGE_NAME" />'</translation>
 <translation id="2350172092385603347">স্থানীয়করণ ব্যবহৃত হয়েছে, কিন্তু default_locale তালিকাতে উল্লেখ ছিল না৷</translation>
@@ -20,12 +20,12 @@
 <translation id="3144135466825225871">crx ফাইলটি প্রতিস্থাপন করতে ব্যর্থ৷ ফাইলটি ব্যবহার হচ্ছে কিনা দেখতে পরীক্ষা করুন৷</translation>
 <translation id="3163201441334626963"><ph name="VENDOR_ID" /> বিক্রেতার থেকে অজানা পণ্য <ph name="PRODUCT_ID" /></translation>
 <translation id="3302709122321372472">সামগ্রী স্ক্রিপ্টের জন্য css '<ph name="RELATIVE_PATH" />' লোড করা যায়নি৷</translation>
-<translation id="3369521687965833290">এক্সটেনশন প্যাকমুক্ত করতে পারেনা৷  কোনও এক্সটেনশনকে সুরক্ষিতভাবে প্যাকমুক্ত করতে, আপনার প্রোফাইল ডিরেক্টরিতে অবশ্যই এমন একটি পথ থাকবে যা চালক অক্ষরটি দিয়ে শুরু হবে এবং এতে কোন জাংশন, মাউন্ট পয়েন্ট বা সিমলিঙ্ক থাকবে না৷  আপনার প্রোফাইলে এ জাতীয় কোনও পথ বিদ্যমান নেই৷</translation>
+<translation id="3369521687965833290">এক্সটেনশন আনপ্যাক করা যাবে না৷  কোনও এক্সটেনশনকে সুরক্ষিতভাবে আনপ্যাক করতে, আপনার প্রোফাইল ডিরেক্টরিতে অবশ্যই এমন একটি পাথ থাকবে যা ড্রাইভ অক্ষরটি দিয়ে শুরু হবে এবং এতে কোন জাংশন, মাউন্ট পয়েন্ট বা সিমলিঙ্ক থাকবে না৷  আপনার প্রোফাইলে এমন কোনও পাথ নেই৷</translation>
 <translation id="3393440416772303020"><ph name="PRODUCT_NAME" /> (সিরিয়াল নম্বর <ph name="SERIAL_NUMBER" />)</translation>
 <translation id="3466070586188012397"><ph name="VENDOR_ID" /> বিক্রেতার থেকে <ph name="PRODUCT_NAME" /> (সিরিয়াল নম্বর <ph name="SERIAL_NUMBER" />)</translation>
 <translation id="3561217442734750519">ব্যক্তিগত কীয়ের জন্য ইনপুট মান অবশ্যই একটি বৈধ পথ হবে৷</translation>
 <translation id="388442998277590542">বিকল্প পৃষ্ঠা '<ph name="OPTIONS_PAGE" />' লোড করা যায়নি৷</translation>
-<translation id="3984413272403535372">এক্সটেনশন স্বাক্ষরের সময় ত্রুটি৷</translation>
+<translation id="3984413272403535372">এক্সটেনশন স্বাক্ষরের সময় সমস্যা৷</translation>
 <translation id="39964277676607559">সামগ্রী স্ক্রিপ্টের জন্য '<ph name="RELATIVE_PATH" />' লোড করা যায়নি৷</translation>
 <translation id="4115165561519362854"><ph name="EXTENSION_VERSION" /> এর কোনো সর্বনিম্ন সংস্করণ রাখতে, এই মেশিনের প্রশাসকের জন্য <ph name="EXTENSION_NAME" /> প্রয়োজন৷ এটিকে যতক্ষণ না পর্যন্ত সেই সংস্করণে আপডেট করা হচ্ছে (বা উচ্চতর) এটি সক্ষমিত হবে না৷</translation>
 <translation id="4233778200880751280"><ph name="ABOUT_PAGE" /> সম্পর্কিত পৃষ্ঠা লোড করা গেল না।</translation>
@@ -36,23 +36,23 @@
 <translation id="5098647635849512368">প্যাক করার জন্য ডিরেক্টরির সঠিক পথটি খুঁজে পাওয়া যাবে না৷</translation>
 <translation id="5356315618422219272">অ্যাপ্লিকেশান দর্শন: <ph name="APPVIEW_TAG_NAME" /></translation>
 <translation id="5436430103864390185">আকৃতি দেয়া উইন্ডো সমর্থিত নয়।</translation>
-<translation id="5456409301717116725">এই এক্সটেনশানটি '<ph name="KEY_PATH" />' মুখ্য ফাইলকে অন্তর্ভুক্ত করে৷ আপনি সম্ভবত এটি করতে চাইবেন না৷</translation>
+<translation id="5456409301717116725">এই এক্সটেনশনটি '<ph name="KEY_PATH" />' মুখ্য ফাইলকে অন্তর্ভুক্ত করে৷ আপনি সম্ভবত এটি করতে চাইবেন না৷</translation>
 <translation id="5486326529110362464">ব্যক্তিগত কী-র জন্য ইনপুট মান থাকা আবশ্যক৷</translation>
-<translation id="5627523580512561598">এক্সটেনশান <ph name="EXTENSION_NAME" /></translation>
+<translation id="5627523580512561598">এক্সটেনশন <ph name="EXTENSION_NAME" /></translation>
 <translation id="5960890139610307736">ExtensionView: <ph name="EXTENSIONVIEW_TAG_NAME" /></translation>
 <translation id="5972529113578162692">এই মেশিনের প্রশাসকের <ph name="EXTENSION_NAME" /> ইন্সটল করা প্রয়োজন। এটি আনইন্সটল করা যাবে না।</translation>
 <translation id="6027032947578871493"><ph name="VENDOR_NAME" /> এর থেকে অজানা পণ্য <ph name="PRODUCT_ID" /> (সিরিয়াল নম্বর <ph name="SERIAL_NUMBER" />)</translation>
 <translation id="6068932090455285721"><ph name="VENDOR_ID" /> বিক্রেতার থেকে <ph name="PRODUCT_NAME" /></translation>
-<translation id="6143635259298204954">এক্সটেনশনটি প্যাকমুক্ত করতে পারে না৷  নিরাপদে কোনও এক্সটেনশন প্যাকমুক্ত করতে, আপনার প্রোফাইল ডিরেক্টরিতে অবশ্যই এমন একটি পথ থাকতে হবে যেখানে কোনও সিমলিঙ্ক থাকে না৷  এই জাতীয় কোনও পথ আপনার প্রোফাইলে বিদ্যমান নেই৷</translation>
+<translation id="6143635259298204954">এক্সটেনশনটি আনপ্যাক করতে পারে না৷  নিরাপদে কোনও এক্সটেনশন আনপ্যাক করতে, আপনার প্রোফাইল ডিরেক্টরিতে অবশ্যই এমন একটি পাথ থাকতে হবে যেখানে কোনও সিমলিঙ্ক থাকে না৷  এমন কোনও পাথ আপনার প্রোফাইলে নেই৷</translation>
 <translation id="6322279351188361895">ব্যক্তিগত কী-টি পড়তে ব্যর্থ৷</translation>
 <translation id="6391538222494443604">ইনপুট নির্দেশিকা বন্ধ করা আবশ্যক৷</translation>
-<translation id="641087317769093025">এক্সটেনশান আনজিপ করা যায়নি</translation>
+<translation id="641087317769093025">এক্সটেনশন আনজিপ করা যায়নি</translation>
 <translation id="6542618148162044354">"<ph name="APP_NAME" />" আপনার এক বা একাধিক ডিভাইসে অ্যাক্সেসের জন্য অনুরোধ করছে:</translation>
 <translation id="657064425229075395">পশ্চাদপট লিপি '<ph name="BACKGROUND_SCRIPT" />' লোড করা যায়নি৷</translation>
 <translation id="6580950983454333167"><ph name="VENDOR_NAME" /> এর পক্ষ থেকে <ph name="PRODUCT_NAME" /> (ক্রমিক সংখ্যা <ph name="SERIAL_NUMBER" />)</translation>
 <translation id="6731255991101203740">এটিকে আনজিপ করার জন্য ডিরেক্টরি তৈরি করা যায়নি: '<ph name="DIRECTORY_PATH" />'</translation>
 <translation id="677806580227005219">মাইমহ্যান্ডলার: <ph name="MIMEHANDLERVIEW_TAG_NAME" /></translation>
-<translation id="6840444547062817500">এই এক্সটেনশানটি খুব ঘন ঘন নিজের থেকে পুনরায় লোড হয়৷</translation>
+<translation id="6840444547062817500">এই এক্সটেনশনটি খুব ঘন ঘন নিজের থেকে পুনরায় লোড হয়৷</translation>
 <translation id="7003844668372540529"><ph name="VENDOR_NAME" /> এর থেকে অজানা পণ্য <ph name="PRODUCT_ID" /></translation>
 <translation id="7068383018033524534">ম্যানিফেস্ট ফাইলটি ভুল</translation>
 <translation id="7217838517480956708">এই মেশিনের প্রশাসকের <ph name="EXTENSION_NAME" /> ইনস্টল করার প্রয়োজন৷ এটি সরানো অথবা সংশোধন করা যাবে না৷</translation>
@@ -60,12 +60,12 @@
 <translation id="7939686037314084444">এই এক্সটেনশনটি সঠিকভাবে লোড করা যায়নি। এটি নেটওয়ার্ক অনুরোধগুলি হয়ত আটকাতে পারেনি।</translation>
 <translation id="7972881773422714442">বিকল্পগুলি: <ph name="EXTENSIONOPTIONS_TAG_NAME" /></translation>
 <translation id="8035920974645200807">ব্যবহারকারীর দিকে মুখ করা</translation>
-<translation id="8047248493720652249">এই এক্সটেনশানটি ডাউনলোড "<ph name="ATTEMPTED_FILENAME" />" এর নাম দিতে ব্যর্থ হয়েছে কারণ অন্য এক্সটেনশান (<ph name="EXTENSION_NAME" />) একটি ভিন্ন ফাইল নাম "<ph name="ACTUAL_FILENAME" />" নির্ধারণ করেছে৷</translation>
+<translation id="8047248493720652249">এই এক্সটেনশনটি ডাউনলোড করা ফাইলটির "<ph name="ATTEMPTED_FILENAME" />" নাম দিতে পারেনি কারণ অন্য এক্সটেনশন (<ph name="EXTENSION_NAME" />) একটি ভিন্ন ফাইল নাম "<ph name="ACTUAL_FILENAME" />" নির্ধারণ করেছে৷</translation>
 <translation id="8284835137979141223"><ph name="VENDOR_NAME" /> এর <ph name="PRODUCT_NAME" /></translation>
 <translation id="8517576857589387417">ম্যানিফেস্ট ফাইলটি নেই অথবা পড়া যাবে না</translation>
 <translation id="8636666366616799973">প্যাকেজটি অবৈধ৷ বিশদ বিবরণ: '<ph name="ERROR_MESSAGE" />'৷</translation>
 <translation id="8761756413268424715">"<ph name="APP_NAME" />" আপনার একটি ডিভাইসে অ্যাক্সেসের জন্য অনুরোধ করছে:</translation>
-<translation id="8885905466771744233">সুনির্দিষ্ট করা এক্সটেনশানটির ইতিমধ্যেই একটি ব্যক্তিগত কী আছে৷ এই কী-টি পুনঃব্যবহার করুন অথবা এটিকে প্রথমে মুছে দিন৷</translation>
+<translation id="8885905466771744233">সুনির্দিষ্ট করা এক্সটেনশনটির ইতিমধ্যেই একটি ব্যক্তিগত কী আছে৷ এই 'কী' আবার ব্যবহার করুন অথবা এটিকে প্রথমে মুছে দিন৷</translation>
 <translation id="907841381057066561">প্যাকেজিংয়ের সময় অস্থায়ী জিপ ফাইল তৈরি করতে ব্যর্থ৷</translation>
 <translation id="941543339607623937">অবৈধ ব্যক্তিগত কী৷</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/google_apis/gcm/BUILD.gn b/google_apis/gcm/BUILD.gn
index 401a94d..f41b2b2e 100644
--- a/google_apis/gcm/BUILD.gn
+++ b/google_apis/gcm/BUILD.gn
@@ -132,6 +132,7 @@
       "//net",
       "//net:test_support",
       "//services/network:network_service",
+      "//services/network:test_support",
       "//services/network/public/cpp",
       "//services/network/public/mojom",
       "//third_party/protobuf:protobuf_lite",
diff --git a/google_apis/gcm/engine/connection_factory_impl.cc b/google_apis/gcm/engine/connection_factory_impl.cc
index c3882b7..85cde7a 100644
--- a/google_apis/gcm/engine/connection_factory_impl.cc
+++ b/google_apis/gcm/engine/connection_factory_impl.cc
@@ -52,7 +52,8 @@
     const std::vector<GURL>& mcs_endpoints,
     const net::BackoffEntry::Policy& backoff_policy,
     GetProxyResolvingFactoryCallback get_socket_factory_callback,
-    GCMStatsRecorder* recorder)
+    GCMStatsRecorder* recorder,
+    network::NetworkConnectionTracker* network_connection_tracker)
     : mcs_endpoints_(mcs_endpoints),
       next_endpoint_(0),
       last_successful_endpoint_(0),
@@ -63,6 +64,7 @@
       waiting_for_network_online_(false),
       handshake_in_progress_(false),
       recorder_(recorder),
+      network_connection_tracker_(network_connection_tracker),
       listener_(NULL),
       weak_ptr_factory_(this) {
   DCHECK_GE(mcs_endpoints_.size(), 1U);
@@ -70,7 +72,7 @@
 
 ConnectionFactoryImpl::~ConnectionFactoryImpl() {
   CloseSocket();
-  net::NetworkChangeNotifier::RemoveNetworkChangeObserver(this);
+  network_connection_tracker_->RemoveNetworkConnectionObserver(this);
 }
 
 void ConnectionFactoryImpl::Initialize(
@@ -87,8 +89,14 @@
   read_callback_ = read_callback;
   write_callback_ = write_callback;
 
-  net::NetworkChangeNotifier::AddNetworkChangeObserver(this);
-  waiting_for_network_online_ = net::NetworkChangeNotifier::IsOffline();
+  network_connection_tracker_->AddNetworkConnectionObserver(this);
+  auto type = network::mojom::ConnectionType::CONNECTION_UNKNOWN;
+  network_connection_tracker_->GetConnectionType(
+      &type, base::BindOnce(&ConnectionFactoryImpl::OnConnectionChanged,
+                            weak_ptr_factory_.GetWeakPtr()));
+  waiting_for_network_online_ =
+      type == network::mojom::ConnectionType::CONNECTION_NONE ||
+      type == network::mojom::ConnectionType::CONNECTION_UNKNOWN;
 }
 
 ConnectionHandler* ConnectionFactoryImpl::GetConnectionHandler() const {
@@ -260,9 +268,9 @@
   return backoff_entry_->GetReleaseTime();
 }
 
-void ConnectionFactoryImpl::OnNetworkChanged(
-    net::NetworkChangeNotifier::ConnectionType type) {
-  if (type == net::NetworkChangeNotifier::CONNECTION_NONE) {
+void ConnectionFactoryImpl::OnConnectionChanged(
+    network::mojom::ConnectionType type) {
+  if (type == network::mojom::ConnectionType::CONNECTION_NONE) {
     DVLOG(1) << "Network lost, resettion connection.";
     waiting_for_network_online_ = true;
 
diff --git a/google_apis/gcm/engine/connection_factory_impl.h b/google_apis/gcm/engine/connection_factory_impl.h
index 4bd944c..fc7b254 100644
--- a/google_apis/gcm/engine/connection_factory_impl.h
+++ b/google_apis/gcm/engine/connection_factory_impl.h
@@ -18,8 +18,8 @@
 #include "google_apis/gcm/protocol/mcs.pb.h"
 #include "mojo/public/cpp/system/data_pipe.h"
 #include "net/base/backoff_entry.h"
-#include "net/base/network_change_notifier.h"
 #include "net/log/net_log_with_source.h"
+#include "services/network/public/cpp/network_connection_tracker.h"
 #include "services/network/public/mojom/proxy_resolving_socket.mojom.h"
 #include "url/gurl.h"
 
@@ -27,16 +27,17 @@
 
 class GCMStatsRecorder;
 
-class GCM_EXPORT ConnectionFactoryImpl :
-    public ConnectionFactory,
-    public net::NetworkChangeNotifier::NetworkChangeObserver {
+class GCM_EXPORT ConnectionFactoryImpl
+    : public ConnectionFactory,
+      public network::NetworkConnectionTracker::NetworkConnectionObserver {
  public:
   ConnectionFactoryImpl(
       const std::vector<GURL>& mcs_endpoints,
       const net::BackoffEntry::Policy& backoff_policy,
       GetProxyResolvingFactoryCallback get_socket_factory_callback,
       // need task runner here.
-      GCMStatsRecorder* recorder);
+      GCMStatsRecorder* recorder,
+      network::NetworkConnectionTracker* network_connection_tracker);
   ~ConnectionFactoryImpl() override;
 
   // ConnectionFactory implementation.
@@ -52,9 +53,8 @@
   void SignalConnectionReset(ConnectionResetReason reason) override;
   void SetConnectionListener(ConnectionListener* listener) override;
 
-  // NetworkChangeObserver implementation.
-  void OnNetworkChanged(
-      net::NetworkChangeNotifier::ConnectionType type) override;
+  // NetworkConnectionTracker implementation.
+  void OnConnectionChanged(network::mojom::ConnectionType type) override;
 
   // Returns the server to which the factory is currently connected, or if
   // a connection is currently pending, the server to which the next connection
@@ -156,7 +156,7 @@
   // expiration.
   bool waiting_for_backoff_;
 
-  // Whether the NetworkChangeNotifier has informed the client that there is
+  // Whether the NetworkConnectionTracker has informed the client that there is
   // no current connection. No connection attempts will be made until the
   // client is informed of a valid connection type.
   bool waiting_for_network_online_;
@@ -184,7 +184,11 @@
   // Recorder that records GCM activities for debugging purpose. Not owned.
   GCMStatsRecorder* recorder_;
 
-  // Listener for connection change events.
+  // Notifies this class of network connection changes.
+  // Must outlive the ConnectionFactoryImpl.
+  network::NetworkConnectionTracker* network_connection_tracker_;
+
+  // The currently registered listener to notify of connection changes.
   ConnectionListener* listener_;
 
   base::WeakPtrFactory<ConnectionFactoryImpl> weak_ptr_factory_;
diff --git a/google_apis/gcm/engine/connection_factory_impl_unittest.cc b/google_apis/gcm/engine/connection_factory_impl_unittest.cc
index 8440d03..f35955d 100644
--- a/google_apis/gcm/engine/connection_factory_impl_unittest.cc
+++ b/google_apis/gcm/engine/connection_factory_impl_unittest.cc
@@ -23,6 +23,7 @@
 #include "services/network/network_context.h"
 #include "services/network/network_service.h"
 #include "services/network/public/mojom/proxy_resolving_socket.mojom.h"
+#include "services/network/test/test_network_connection_tracker.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
 class Policy;
@@ -154,10 +155,12 @@
 TestConnectionFactoryImpl::TestConnectionFactoryImpl(
     GetProxyResolvingFactoryCallback get_socket_factory_callback,
     const base::Closure& finished_callback)
-    : ConnectionFactoryImpl(BuildEndpoints(),
-                            net::BackoffEntry::Policy(),
-                            get_socket_factory_callback,
-                            &dummy_recorder_),
+    : ConnectionFactoryImpl(
+          BuildEndpoints(),
+          net::BackoffEntry::Policy(),
+          get_socket_factory_callback,
+          &dummy_recorder_,
+          network::TestNetworkConnectionTracker::GetInstance()),
       connect_result_(net::ERR_UNEXPECTED),
       num_expected_attempts_(0),
       connections_fulfilled_(true),
@@ -294,6 +297,8 @@
   }
   void ConnectionsComplete();
 
+  std::unique_ptr<network::TestNetworkConnectionTracker>
+      network_connection_tracker_;
   base::test::ScopedTaskEnvironment scoped_task_environment_;
   TestConnectionFactoryImpl factory_;
   std::unique_ptr<base::RunLoop> run_loop_;
@@ -305,7 +310,9 @@
 };
 
 ConnectionFactoryImplTest::ConnectionFactoryImplTest()
-    : scoped_task_environment_(
+    : network_connection_tracker_(
+          network::TestNetworkConnectionTracker::CreateInstance()),
+      scoped_task_environment_(
           base::test::ScopedTaskEnvironment::MainThreadType::IO),
       factory_(base::BindRepeating(
                    &ConnectionFactoryImplTest::GetProxyResolvingSocketFactory,
@@ -443,7 +450,8 @@
   EXPECT_FALSE(initial_backoff.is_null());
 
   factory()->SetConnectResult(net::ERR_FAILED);
-  factory()->OnNetworkChanged(net::NetworkChangeNotifier::CONNECTION_WIFI);
+  factory()->OnConnectionChanged(
+      network::mojom::ConnectionType::CONNECTION_WIFI);
   WaitForConnections();
 
   // Backoff should increase.
@@ -462,7 +470,8 @@
   EXPECT_FALSE(initial_backoff.is_null());
 
   factory()->SetConnectResult(net::OK);
-  factory()->OnNetworkChanged(net::NetworkChangeNotifier::CONNECTION_ETHERNET);
+  factory()->OnConnectionChanged(
+      network::mojom::ConnectionType::CONNECTION_ETHERNET);
   WaitForConnections();
   EXPECT_TRUE(factory()->IsEndpointReachable());
   EXPECT_TRUE(connected_server().is_valid());
@@ -487,7 +496,8 @@
 
   factory()->SetDelayLogin(true);
   factory()->SetConnectResult(net::OK);
-  factory()->OnNetworkChanged(net::NetworkChangeNotifier::CONNECTION_WIFI);
+  factory()->OnConnectionChanged(
+      network::mojom::ConnectionType::CONNECTION_WIFI);
   WaitForConnections();
   EXPECT_FALSE(factory()->IsEndpointReachable());
 
@@ -583,13 +593,14 @@
   factory()->tick_clock()->Advance(base::TimeDelta::FromSeconds(11));
 
   // Will trigger reset, but will not attempt a new connection.
-  factory()->OnNetworkChanged(net::NetworkChangeNotifier::CONNECTION_NONE);
+  factory()->OnConnectionChanged(
+      network::mojom::ConnectionType::CONNECTION_NONE);
   EXPECT_FALSE(factory()->IsEndpointReachable());
   EXPECT_TRUE(factory()->NextRetryAttempt().is_null());
 
   // When the network returns, attempt to connect.
   factory()->SetConnectResult(net::OK);
-  factory()->OnNetworkChanged(net::NetworkChangeNotifier::CONNECTION_4G);
+  factory()->OnConnectionChanged(network::mojom::ConnectionType::CONNECTION_4G);
   WaitForConnections();
 
   EXPECT_TRUE(factory()->IsEndpointReachable());
@@ -599,7 +610,7 @@
 // Receiving a network change event before the initial connection should have
 // no effect.
 TEST_F(ConnectionFactoryImplTest, NetworkChangeBeforeFirstConnection) {
-  factory()->OnNetworkChanged(net::NetworkChangeNotifier::CONNECTION_4G);
+  factory()->OnConnectionChanged(network::mojom::ConnectionType::CONNECTION_4G);
   factory()->SetConnectResult(net::OK);
   factory()->Connect();
   EXPECT_TRUE(factory()->NextRetryAttempt().is_null());
diff --git a/google_apis/gcm/tools/mcs_probe.cc b/google_apis/gcm/tools/mcs_probe.cc
index 3b0f4f1..5e4f9a9 100644
--- a/google_apis/gcm/tools/mcs_probe.cc
+++ b/google_apis/gcm/tools/mcs_probe.cc
@@ -55,6 +55,7 @@
 #include "services/network/public/cpp/weak_wrapper_shared_url_loader_factory.h"
 #include "services/network/public/mojom/proxy_resolving_socket.mojom.h"
 #include "services/network/public/mojom/url_loader_factory.mojom.h"
+#include "services/network/test/test_network_connection_tracker.h"
 
 #if defined(OS_MACOSX)
 #include "base/mac/scoped_nsautorelease_pool.h"
@@ -202,6 +203,8 @@
   int server_port_;
 
   // Network state.
+  std::unique_ptr<network::TestNetworkConnectionTracker>
+      network_connection_tracker_;
   std::unique_ptr<net::URLRequestContext> url_request_context_;
   net::NetLog net_log_;
   std::unique_ptr<net::FileNetLogObserver> logger_;
@@ -232,7 +235,11 @@
       android_id_(0),
       secret_(0),
       server_port_(0),
+      network_connection_tracker_(
+          network::TestNetworkConnectionTracker::CreateInstance()),
       file_thread_("FileThread") {
+  network_connection_tracker_->SetConnectionType(
+      network::mojom::ConnectionType::CONNECTION_ETHERNET);
   if (command_line.HasSwitch(kRMQFileName)) {
     gcm_store_path_ = command_line.GetSwitchValuePath(kRMQFileName);
   }
@@ -272,7 +279,7 @@
       endpoints, kDefaultBackoffPolicy,
       base::BindRepeating(&MCSProbe::RequestProxyResolvingSocketFactory,
                           base::Unretained(this)),
-      &recorder_);
+      &recorder_, network_connection_tracker_.get());
   gcm_store_ = std::make_unique<GCMStoreImpl>(
       gcm_store_path_, file_thread_.task_runner(),
       std::make_unique<FakeEncryptor>());
diff --git a/infra/config/global/luci-milo.cfg b/infra/config/global/luci-milo.cfg
index 123268f..d211768 100644
--- a/infra/config/global/luci-milo.cfg
+++ b/infra/config/global/luci-milo.cfg
@@ -1227,8 +1227,7 @@
     short_name: "a64"
   }
   builders {
-    name: "buildbot/chromium.perf/Android Compile Perf"
-    name: "buildbucket/luci.chrome.ci/Android Compile Perf"
+    name: "buildbucket/luci.chrome.ci/android-builder-perf"
     category: "builder|android|compile"
     short_name: "arm"
   }
diff --git a/ios/chrome/app/strings/resources/ios_strings_am.xtb b/ios/chrome/app/strings/resources/ios_strings_am.xtb
index 3e4e537..ce7783f5 100644
--- a/ios/chrome/app/strings/resources/ios_strings_am.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_am.xtb
@@ -182,6 +182,7 @@
 <translation id="3963231839620026525">አዲስ ማንነት የማያሳውቅ ትር</translation>
 <translation id="3967822245660637423">ማውረድ ተጠናቅቋል</translation>
 <translation id="3989635538409502728">ዘግተህ ውጣ</translation>
+<translation id="3995521777587992544">የገጽ መጫን ሂደት አሞሌ፣ <ph name="EMAIL" /> ተጭኗል።</translation>
 <translation id="4002066346123236978">ርዕስ</translation>
 <translation id="4038354071007134711">ፋይሉን መክፈት የሚችል መተግበሪያ በዚህ መሣሪያ ላይ የለም።</translation>
 <translation id="4042870976416480368">በዚህ ገጽ ውስጥ አግኝ</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ar.xtb b/ios/chrome/app/strings/resources/ios_strings_ar.xtb
index d54b9a8..bfadfa1 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ar.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ar.xtb
@@ -182,6 +182,7 @@
 <translation id="3963231839620026525">علامة تبويب جديدة للتصفح المتخفي</translation>
 <translation id="3967822245660637423">اكتمل التنزيل</translation>
 <translation id="3989635538409502728">الخروج</translation>
+<translation id="3995521777587992544">شريط تقدم تحميل الصفحة، تم تحميل <ph name="EMAIL" />.</translation>
 <translation id="4002066346123236978">العنوان</translation>
 <translation id="4038354071007134711">لا يمكن فتح هذا الملف بأي تطبيق موجود على هذا الجهاز.</translation>
 <translation id="4042870976416480368">البحث في الصفحة</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_bg.xtb b/ios/chrome/app/strings/resources/ios_strings_bg.xtb
index 92daf97d..24db2bcc 100644
--- a/ios/chrome/app/strings/resources/ios_strings_bg.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_bg.xtb
@@ -182,6 +182,7 @@
 <translation id="3963231839620026525">Нов раздел „инкогнито“</translation>
 <translation id="3967822245660637423">Изтеглянето завърши</translation>
 <translation id="3989635538409502728">Изход</translation>
+<translation id="3995521777587992544">Лента за напредъка на зареждането на страницата. Заредени са <ph name="EMAIL" />.</translation>
 <translation id="4002066346123236978">Заглавие</translation>
 <translation id="4038354071007134711">Няма приложение, което може да отвори файла.</translation>
 <translation id="4042870976416480368">Търсене в страницата</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_bn.xtb b/ios/chrome/app/strings/resources/ios_strings_bn.xtb
index c807772..ebb4de3a 100644
--- a/ios/chrome/app/strings/resources/ios_strings_bn.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_bn.xtb
@@ -182,6 +182,7 @@
 <translation id="3963231839620026525">নতুন ছদ্মবেশী ট্যাব</translation>
 <translation id="3967822245660637423">ডাউনলোড সম্পূর্ণ</translation>
 <translation id="3989635538409502728">সাইন-আউট করুন</translation>
+<translation id="3995521777587992544">পৃষ্ঠা লোড করার প্রগ্রেস বার, <ph name="EMAIL" /> লোড করা হয়েছে।</translation>
 <translation id="4002066346123236978">শিরোনাম</translation>
 <translation id="4038354071007134711">এই ডিভাইসের কোনো অ্যাপ্লিকেশান ফাইলটি খুলতে পারবে না।</translation>
 <translation id="4042870976416480368">পৃষ্ঠাতে খুঁজুন</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ca.xtb b/ios/chrome/app/strings/resources/ios_strings_ca.xtb
index 3a8c511..6e47ab8 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ca.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ca.xtb
@@ -182,6 +182,7 @@
 <translation id="3963231839620026525">Pestanya d'incògnit nova</translation>
 <translation id="3967822245660637423">S'ha completat la baixada</translation>
 <translation id="3989635538409502728">Tanca la sessió</translation>
+<translation id="3995521777587992544">Barra de progrés de càrrega de la pàgina; s'ha carregat un <ph name="EMAIL" />.</translation>
 <translation id="4002066346123236978">Títol</translation>
 <translation id="4038354071007134711">Cap aplicació del dispos. no pot obrir el fitxer.</translation>
 <translation id="4042870976416480368">Cerca a la pàgina</translation>
@@ -289,7 +290,7 @@
 <translation id="5957613098218939406">Més opcions</translation>
 <translation id="5964480694698977962">Crea una pestanya d'incògnit nova.</translation>
 <translation id="5965679971710331625">Tens la sessió iniciada</translation>
-<translation id="5979837087407522202">Cercar contrasenyes</translation>
+<translation id="5979837087407522202">Cerca contrasenyes</translation>
 <translation id="5982717868370722439">Afegeix les dades existents a <ph name="USER_EMAIL" />.</translation>
 <translation id="6012140227487808125">S'està encriptant…</translation>
 <translation id="6021332621416007159">Obre a...</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_cs.xtb b/ios/chrome/app/strings/resources/ios_strings_cs.xtb
index 93fc07c..7b2955a 100644
--- a/ios/chrome/app/strings/resources/ios_strings_cs.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_cs.xtb
@@ -182,6 +182,7 @@
 <translation id="3963231839620026525">Nová anonymní karta</translation>
 <translation id="3967822245660637423">Stahování bylo dokončeno</translation>
 <translation id="3989635538409502728">Odhlásit se</translation>
+<translation id="3995521777587992544">Ukazatel průběhu načtení stránky, načteno <ph name="EMAIL" />.</translation>
 <translation id="4002066346123236978">Název</translation>
 <translation id="4038354071007134711">Soubor nelze otevřít pomocí žádné aplikace v tomto zařízení.</translation>
 <translation id="4042870976416480368">Najít na stránce</translation>
@@ -289,7 +290,7 @@
 <translation id="5957613098218939406">Další možnosti</translation>
 <translation id="5964480694698977962">Vytvořit novou anonymní kartu</translation>
 <translation id="5965679971710331625">Jste přihlášeni</translation>
-<translation id="5979837087407522202">Vyhledat hesla</translation>
+<translation id="5979837087407522202">Prohledat hesla</translation>
 <translation id="5982717868370722439">Přidat existující data do účtu <ph name="USER_EMAIL" />.</translation>
 <translation id="6012140227487808125">Šifrování...</translation>
 <translation id="6021332621416007159">Otevřít v ...</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_da.xtb b/ios/chrome/app/strings/resources/ios_strings_da.xtb
index 69b7b3c5..bb83ddd0 100644
--- a/ios/chrome/app/strings/resources/ios_strings_da.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_da.xtb
@@ -182,6 +182,7 @@
 <translation id="3963231839620026525">Ny inkognitofane</translation>
 <translation id="3967822245660637423">Download gennemført</translation>
 <translation id="3989635538409502728">Log ud</translation>
+<translation id="3995521777587992544">Statuslinje for sideindlæsning, <ph name="EMAIL" /> er indlæst.</translation>
 <translation id="4002066346123236978">Titel</translation>
 <translation id="4038354071007134711">Ingen apps på denne enhed, der kan åbne filen.</translation>
 <translation id="4042870976416480368">Find på siden</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_de.xtb b/ios/chrome/app/strings/resources/ios_strings_de.xtb
index 60e6119..f739744 100644
--- a/ios/chrome/app/strings/resources/ios_strings_de.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_de.xtb
@@ -182,6 +182,7 @@
 <translation id="3963231839620026525">Neuer Inkognito-Tab</translation>
 <translation id="3967822245660637423">Download abgeschlossen</translation>
 <translation id="3989635538409502728">Abmelden</translation>
+<translation id="3995521777587992544">Statusanzeige für den Seitenaufbau, <ph name="EMAIL" /> geladen.</translation>
 <translation id="4002066346123236978">Titel</translation>
 <translation id="4038354071007134711">Keine App zum Öffnen der Datei auf diesem Gerät</translation>
 <translation id="4042870976416480368">Auf Seite suchen</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_el.xtb b/ios/chrome/app/strings/resources/ios_strings_el.xtb
index b330c1c9..b4d3d27 100644
--- a/ios/chrome/app/strings/resources/ios_strings_el.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_el.xtb
@@ -182,6 +182,7 @@
 <translation id="3963231839620026525">Νέα καρτέλα ανώνυμης περιήγησης</translation>
 <translation id="3967822245660637423">Ολοκλήρωση λήψης</translation>
 <translation id="3989635538409502728">Έξοδος</translation>
+<translation id="3995521777587992544">Γραμμή προόδου φόρτωσης σελίδας, φορτώθηκε το <ph name="EMAIL" />.</translation>
 <translation id="4002066346123236978">Τίτλος</translation>
 <translation id="4038354071007134711">Καμία εφαρμογή στη συσκευή για άνοιγμα αρχείου.</translation>
 <translation id="4042870976416480368">Εύρεση στη σελίδα</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 c9f20fb..c0036e2 100644
--- a/ios/chrome/app/strings/resources/ios_strings_en-GB.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_en-GB.xtb
@@ -182,6 +182,7 @@
 <translation id="3963231839620026525">New Incognito Tab</translation>
 <translation id="3967822245660637423">Download complete</translation>
 <translation id="3989635538409502728">Sign Out</translation>
+<translation id="3995521777587992544">Page load progress bar, <ph name="EMAIL" /> loaded.</translation>
 <translation id="4002066346123236978">Title</translation>
 <translation id="4038354071007134711">No application on this device can open the file.</translation>
 <translation id="4042870976416480368">Find in Page</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 22527436..848b1d41 100644
--- a/ios/chrome/app/strings/resources/ios_strings_es-419.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_es-419.xtb
@@ -182,6 +182,7 @@
 <translation id="3963231839620026525">Nueva pestaña de incógnito</translation>
 <translation id="3967822245660637423">Descarga completa</translation>
 <translation id="3989635538409502728">Salir</translation>
+<translation id="3995521777587992544">Barra de progreso de la carga de la página, se cargó <ph name="EMAIL" />.</translation>
 <translation id="4002066346123236978">Título</translation>
 <translation id="4038354071007134711">Ninguna aplicación puede abrir el archivo.</translation>
 <translation id="4042870976416480368">Buscar en la página</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_es.xtb b/ios/chrome/app/strings/resources/ios_strings_es.xtb
index 193ce2a..0bfcea3d8 100644
--- a/ios/chrome/app/strings/resources/ios_strings_es.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_es.xtb
@@ -182,6 +182,7 @@
 <translation id="3963231839620026525">Nueva pestaña de incógnito</translation>
 <translation id="3967822245660637423">Descarga completa</translation>
 <translation id="3989635538409502728">Cerrar sesión</translation>
+<translation id="3995521777587992544">Barra de progreso de carga de la página: <ph name="EMAIL" /> cargado.</translation>
 <translation id="4002066346123236978">Título</translation>
 <translation id="4038354071007134711">Ninguna aplicación puede abrir el archivo.</translation>
 <translation id="4042870976416480368">Buscar en página</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_et.xtb b/ios/chrome/app/strings/resources/ios_strings_et.xtb
index a2ba792..79792a8d 100644
--- a/ios/chrome/app/strings/resources/ios_strings_et.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_et.xtb
@@ -182,6 +182,7 @@
 <translation id="3963231839620026525">Uus ink. vaheleht</translation>
 <translation id="3967822245660637423">Allalaadimine on lõpule viidud</translation>
 <translation id="3989635538409502728">Logi välja</translation>
+<translation id="3995521777587992544">Lehe laadimise edenemisriba, <ph name="EMAIL" /> on laaditud.</translation>
 <translation id="4002066346123236978">Pealkiri</translation>
 <translation id="4038354071007134711">Seadme ükski rakendus ei saa seda faili avada.</translation>
 <translation id="4042870976416480368">Otsi lehelt</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_fa.xtb b/ios/chrome/app/strings/resources/ios_strings_fa.xtb
index 6293066..ebffc17 100644
--- a/ios/chrome/app/strings/resources/ios_strings_fa.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_fa.xtb
@@ -182,6 +182,7 @@
 <translation id="3963231839620026525">برگه ناشناس جدید</translation>
 <translation id="3967822245660637423">بارگیری کامل شد</translation>
 <translation id="3989635538409502728">خروج از سیستم</translation>
+<translation id="3995521777587992544">نوار پیشرفت بار کردن صفحه، <ph name="EMAIL" /> بار شد.</translation>
 <translation id="4002066346123236978">عنوان</translation>
 <translation id="4038354071007134711">برنامه‌ای در این دستگاه نمی‌تواند فایل را باز کند.</translation>
 <translation id="4042870976416480368">یافتن در صفحه</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_fi.xtb b/ios/chrome/app/strings/resources/ios_strings_fi.xtb
index bd3f4b4..9073fa2 100644
--- a/ios/chrome/app/strings/resources/ios_strings_fi.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_fi.xtb
@@ -182,6 +182,7 @@
 <translation id="3963231839620026525">Uusi incognito-välilehti</translation>
 <translation id="3967822245660637423">Lataus on valmis</translation>
 <translation id="3989635538409502728">Kirjaudu ulos</translation>
+<translation id="3995521777587992544">Sivun lataamisen etenemispalkki, <ph name="EMAIL" /> ladattu</translation>
 <translation id="4002066346123236978">Nimi</translation>
 <translation id="4038354071007134711">Mikään laitteen sovellus ei voi avata tiedostoa.</translation>
 <translation id="4042870976416480368">Hae sivulta</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_fil.xtb b/ios/chrome/app/strings/resources/ios_strings_fil.xtb
index b0e5eaf..7265928 100644
--- a/ios/chrome/app/strings/resources/ios_strings_fil.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_fil.xtb
@@ -182,6 +182,7 @@
 <translation id="3963231839620026525">Bagong Tab na Incognito</translation>
 <translation id="3967822245660637423">Tapos na ang pag-download</translation>
 <translation id="3989635538409502728">Mag-sign Out</translation>
+<translation id="3995521777587992544">Progress bar ng pag-load ng page, na-load ang <ph name="EMAIL" />.</translation>
 <translation id="4002066346123236978">Pamagat</translation>
 <translation id="4038354071007134711">Walang application sa device ang makakabukas nito.</translation>
 <translation id="4042870976416480368">Hanapin sa Page</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_fr.xtb b/ios/chrome/app/strings/resources/ios_strings_fr.xtb
index c1f4d9e..cd76757d 100644
--- a/ios/chrome/app/strings/resources/ios_strings_fr.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_fr.xtb
@@ -182,6 +182,7 @@
 <translation id="3963231839620026525">Nouvel onglet nav. privée</translation>
 <translation id="3967822245660637423">Téléchargement terminé</translation>
 <translation id="3989635538409502728">Déconnexion</translation>
+<translation id="3995521777587992544">Barre de progression du chargement de page, <ph name="EMAIL" /> chargé(s).</translation>
 <translation id="4002066346123236978">Titre</translation>
 <translation id="4038354071007134711">Aucune appli sur appareil ne peut ouvrir fichier.</translation>
 <translation id="4042870976416480368">Rechercher sur la page</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_hi.xtb b/ios/chrome/app/strings/resources/ios_strings_hi.xtb
index c95530e..20e97628 100644
--- a/ios/chrome/app/strings/resources/ios_strings_hi.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_hi.xtb
@@ -182,6 +182,7 @@
 <translation id="3963231839620026525">नया गुप्त टैब</translation>
 <translation id="3967822245660637423">डाउनलोड पूर्ण</translation>
 <translation id="3989635538409502728">प्रस्थान करें</translation>
+<translation id="3995521777587992544">पेज लोड प्रगति बार, <ph name="EMAIL" /> लोड किया गया.</translation>
 <translation id="4002066346123236978">शीर्षक</translation>
 <translation id="4038354071007134711">इस डिवाइस पर कोई भी ऐप्लिकेशन, फ़ाइल नहीं खोल सकता.</translation>
 <translation id="4042870976416480368">'पेज में ढूंढें'</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_hr.xtb b/ios/chrome/app/strings/resources/ios_strings_hr.xtb
index 8af2073..7e78693ae 100644
--- a/ios/chrome/app/strings/resources/ios_strings_hr.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_hr.xtb
@@ -182,6 +182,7 @@
 <translation id="3963231839620026525">Nova anonimna kartica</translation>
 <translation id="3967822245660637423">Preuzimanje dovršeno</translation>
 <translation id="3989635538409502728">Odjava</translation>
+<translation id="3995521777587992544">Traka napretka učitavanja stranice, učitano <ph name="EMAIL" />.</translation>
 <translation id="4002066346123236978">Naslov</translation>
 <translation id="4038354071007134711">Na ovom uređaju nema aplikacije za tu datoteku.</translation>
 <translation id="4042870976416480368">Traži na stranici</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_hu.xtb b/ios/chrome/app/strings/resources/ios_strings_hu.xtb
index b07d856..b4a82c4 100644
--- a/ios/chrome/app/strings/resources/ios_strings_hu.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_hu.xtb
@@ -182,6 +182,7 @@
 <translation id="3963231839620026525">Új inkognitólap</translation>
 <translation id="3967822245660637423">A letöltés sikeres</translation>
 <translation id="3989635538409502728">Kijelentkezés</translation>
+<translation id="3995521777587992544">Oldalbetöltési folyamatjelző sáv, <ph name="EMAIL" /> betöltve.</translation>
 <translation id="4002066346123236978">Cím</translation>
 <translation id="4038354071007134711">Nincs alkalmazás, amellyel megnyitható ez a fájl.</translation>
 <translation id="4042870976416480368">Keresés az oldalon</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_id.xtb b/ios/chrome/app/strings/resources/ios_strings_id.xtb
index 52f5a4b8..dc2f1b74 100644
--- a/ios/chrome/app/strings/resources/ios_strings_id.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_id.xtb
@@ -182,6 +182,7 @@
 <translation id="3963231839620026525">Tab Penyamaran Baru</translation>
 <translation id="3967822245660637423">Download selesai</translation>
 <translation id="3989635538409502728">Keluar</translation>
+<translation id="3995521777587992544">Status proses pemuatan halaman, <ph name="EMAIL" /> telah dimuat.</translation>
 <translation id="4002066346123236978">Judul</translation>
 <translation id="4038354071007134711">Tidak ada aplikasi di perangkat ini yang dapat membuka file.</translation>
 <translation id="4042870976416480368">Cari di Halaman</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_it.xtb b/ios/chrome/app/strings/resources/ios_strings_it.xtb
index 611fb86..e7ff831 100644
--- a/ios/chrome/app/strings/resources/ios_strings_it.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_it.xtb
@@ -38,7 +38,7 @@
 <translation id="1491277525950327607">Tocca due volte per attivare/disattivare l'impostazione</translation>
 <translation id="152234381334907219">Mai salvate</translation>
 <translation id="1540800554400757039">Indirizzo 1</translation>
-<translation id="1545749641540134597">Leggi il codice QR</translation>
+<translation id="1545749641540134597">Scansiona codice QR</translation>
 <translation id="1558704936695638228">Tieni premuto per vedere maggiori opzioni sulla scheda</translation>
 <translation id="1580783302095112590">Messaggio inviato.</translation>
 <translation id="1582732959743469162">Verrà interrotto l'avanzamento del tuo download attuale.</translation>
@@ -182,6 +182,7 @@
 <translation id="3963231839620026525">Nuova scheda in incognito</translation>
 <translation id="3967822245660637423">Download completato</translation>
 <translation id="3989635538409502728">Esci</translation>
+<translation id="3995521777587992544">Barra di avanzamento del caricamento delle pagine. Percentuale di caricamento: <ph name="EMAIL" />.</translation>
 <translation id="4002066346123236978">Titolo</translation>
 <translation id="4038354071007134711">Impossibile aprire il file con le app sul dispositivo.</translation>
 <translation id="4042870976416480368">Trova nella pagina</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_iw.xtb b/ios/chrome/app/strings/resources/ios_strings_iw.xtb
index 517440d..2f532aa0 100644
--- a/ios/chrome/app/strings/resources/ios_strings_iw.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_iw.xtb
@@ -182,6 +182,7 @@
 <translation id="3963231839620026525">כרטיסייה חדשה לגלישה בסתר</translation>
 <translation id="3967822245660637423">ההורדה הושלמה</translation>
 <translation id="3989635538409502728">יציאה</translation>
+<translation id="3995521777587992544">סרגל התקדמות של טעינת דף, <ph name="EMAIL" /> נטענו.</translation>
 <translation id="4002066346123236978">כותרת</translation>
 <translation id="4038354071007134711">אין במכשיר זה אף אפליקציה שניתן לפתוח באמצעותה את הקובץ.</translation>
 <translation id="4042870976416480368">מצא בדף</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_kn.xtb b/ios/chrome/app/strings/resources/ios_strings_kn.xtb
index bad1c1a..3e1482e 100644
--- a/ios/chrome/app/strings/resources/ios_strings_kn.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_kn.xtb
@@ -182,6 +182,7 @@
 <translation id="3963231839620026525">ಹೊಸ ಅದೃಶ್ಯ ಟ್ಯಾಬ್</translation>
 <translation id="3967822245660637423">ಡೌನ್‌ಲೋಡ್‌‌ ಪೂರ್ಣಗೊಂಡಿದೆ</translation>
 <translation id="3989635538409502728">ಸೈನ್ ಔಟ್</translation>
+<translation id="3995521777587992544">ಪುಟ ಲೋಡ್ ಪ್ರಗತಿ ಪಟ್ಟಿ, <ph name="EMAIL" /> ಅನ್ನು ಲೋಡ್ ಮಾಡಲಾಗಿದೆ.</translation>
 <translation id="4002066346123236978">ಶೀರ್ಷಿಕೆ</translation>
 <translation id="4038354071007134711">ಫೈಲ್‌ ತೆರೆಯಬಹುದಾದ ಯಾವುದೇ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು ಈ ಸಾಧನದಲ್ಲಿ ಇಲ್ಲ.</translation>
 <translation id="4042870976416480368">ಪುಟದಲ್ಲಿ ಹುಡುಕಿ</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_lv.xtb b/ios/chrome/app/strings/resources/ios_strings_lv.xtb
index 6eef026..e4f0881 100644
--- a/ios/chrome/app/strings/resources/ios_strings_lv.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_lv.xtb
@@ -182,6 +182,7 @@
 <translation id="3963231839620026525">Jauna inkognito cilne</translation>
 <translation id="3967822245660637423">Lejupielāde pabeigta</translation>
 <translation id="3989635538409502728">Izrakstīties</translation>
+<translation id="3995521777587992544">Lapas ielādes norises josla, ielādēti <ph name="EMAIL" />.</translation>
 <translation id="4002066346123236978">Nosaukums</translation>
 <translation id="4038354071007134711">Šajā ierīcē nav lietotņu, ar ko atvērt šo failu.</translation>
 <translation id="4042870976416480368">Atrast lapā</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ml.xtb b/ios/chrome/app/strings/resources/ios_strings_ml.xtb
index df7431b3..cf42687 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ml.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ml.xtb
@@ -182,6 +182,7 @@
 <translation id="3963231839620026525">പുതിയ ആൾമാറാട്ട ടാബ്</translation>
 <translation id="3967822245660637423">ഡൗൺലോഡ് പൂർത്തിയായി</translation>
 <translation id="3989635538409502728">പുറത്തുകടക്കുക</translation>
+<translation id="3995521777587992544">പേജ് ലോഡ് പ്രോഗ്രസ് ബാര്‍, <ph name="EMAIL" /> ലോഡ് ചെയ്‌തു.</translation>
 <translation id="4002066346123236978">ശീർഷകം</translation>
 <translation id="4038354071007134711">ഈ ഉപകരണത്തിലുള്ള ഒരു അപ്ലിക്കേഷനും ഫയൽ തുറക്കാനാകില്ല.</translation>
 <translation id="4042870976416480368">പേജില്‍ കണ്ടെത്തുക</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_mr.xtb b/ios/chrome/app/strings/resources/ios_strings_mr.xtb
index 77b6545e..470e693 100644
--- a/ios/chrome/app/strings/resources/ios_strings_mr.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_mr.xtb
@@ -182,6 +182,7 @@
 <translation id="3963231839620026525">नवीन गुप्त टॅब</translation>
 <translation id="3967822245660637423">पूर्ण डाउनलोड करा</translation>
 <translation id="3989635538409502728">साइन आउट</translation>
+<translation id="3995521777587992544">पेज लोड प्रगती बार, <ph name="EMAIL" /> लोड झाले.</translation>
 <translation id="4002066346123236978">शीर्षक</translation>
 <translation id="4038354071007134711">या डिव्हाइसवरील कोणतीही अॅप्लिकेशन फाइल उघडू शकत नाही.</translation>
 <translation id="4042870976416480368">पेजमध्ये शोधा</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ms.xtb b/ios/chrome/app/strings/resources/ios_strings_ms.xtb
index d08c989..48bbea6 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ms.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ms.xtb
@@ -182,6 +182,7 @@
 <translation id="3963231839620026525">Tab Inkognito Baharu</translation>
 <translation id="3967822245660637423">Muat turun selesai</translation>
 <translation id="3989635538409502728">Log Keluar</translation>
+<translation id="3995521777587992544">Bar kemajuan pemuatan halaman, <ph name="EMAIL" /> dimuatkan.</translation>
 <translation id="4002066346123236978">Tajuk</translation>
 <translation id="4038354071007134711">Tiada aplikasi pada peranti ini yang dapat membuka fail itu.</translation>
 <translation id="4042870976416480368">Cari dalam Halaman</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_nl.xtb b/ios/chrome/app/strings/resources/ios_strings_nl.xtb
index ec3b6d1..6223967 100644
--- a/ios/chrome/app/strings/resources/ios_strings_nl.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_nl.xtb
@@ -182,6 +182,7 @@
 <translation id="3963231839620026525">Incognitotabblad</translation>
 <translation id="3967822245660637423">Downloaden voltooid</translation>
 <translation id="3989635538409502728">Afmelden</translation>
+<translation id="3995521777587992544">Voortgangsbalk voor laden van pagina, <ph name="EMAIL" /> geladen.</translation>
 <translation id="4002066346123236978">Titel</translation>
 <translation id="4038354071007134711">Geen app op dit apparaat kan het bestand openen.</translation>
 <translation id="4042870976416480368">Zoeken op pagina</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_pl.xtb b/ios/chrome/app/strings/resources/ios_strings_pl.xtb
index f72625f..3cfe084 100644
--- a/ios/chrome/app/strings/resources/ios_strings_pl.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_pl.xtb
@@ -182,6 +182,7 @@
 <translation id="3963231839620026525">Nowa karta incognito</translation>
 <translation id="3967822245660637423">Pobieranie zakończone</translation>
 <translation id="3989635538409502728">Wyloguj się</translation>
+<translation id="3995521777587992544">Pasek postępu wczytywania strony, załadowano <ph name="EMAIL" />.</translation>
 <translation id="4002066346123236978">Tytuł</translation>
 <translation id="4038354071007134711">Nie masz aplikacji, która może otworzyć ten plik.</translation>
 <translation id="4042870976416480368">Znajdź na stronie</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_pt-BR.xtb b/ios/chrome/app/strings/resources/ios_strings_pt-BR.xtb
index cb2cd23..ed75ce5 100644
--- a/ios/chrome/app/strings/resources/ios_strings_pt-BR.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_pt-BR.xtb
@@ -182,6 +182,7 @@
 <translation id="3963231839620026525">Nova guia anônima</translation>
 <translation id="3967822245660637423">Download concluído</translation>
 <translation id="3989635538409502728">Sair</translation>
+<translation id="3995521777587992544">Barra de progresso do carregamento de página, <ph name="EMAIL" /> carregado.</translation>
 <translation id="4002066346123236978">Título</translation>
 <translation id="4038354071007134711">Nenhum app deste dispositivo pode abrir o arquivo.</translation>
 <translation id="4042870976416480368">Buscar na página</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_pt-PT.xtb b/ios/chrome/app/strings/resources/ios_strings_pt-PT.xtb
index 559b360..29bd79e 100644
--- a/ios/chrome/app/strings/resources/ios_strings_pt-PT.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_pt-PT.xtb
@@ -182,6 +182,7 @@
 <translation id="3963231839620026525">Novo separador anónimo</translation>
 <translation id="3967822245660637423">Transferência concluída</translation>
 <translation id="3989635538409502728">Terminar sessão</translation>
+<translation id="3995521777587992544">Barra de progresso do carregamento de página, <ph name="EMAIL" /> carregado(s).</translation>
 <translation id="4002066346123236978">Título</translation>
 <translation id="4038354071007134711">Nenhuma aplic. neste disp. pode abrir o ficheiro.</translation>
 <translation id="4042870976416480368">Localizar na página</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ro.xtb b/ios/chrome/app/strings/resources/ios_strings_ro.xtb
index cf1614ad..ea48a7cf 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ro.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ro.xtb
@@ -182,6 +182,7 @@
 <translation id="3963231839620026525">Filă incognito nouă</translation>
 <translation id="3967822245660637423">Descărcare finalizată</translation>
 <translation id="3989635538409502728">Deconectați-vă</translation>
+<translation id="3995521777587992544">Bara de progres a încărcării paginii, <ph name="EMAIL" /> s-a încărcat.</translation>
 <translation id="4002066346123236978">Titlu</translation>
 <translation id="4038354071007134711">Aplicațiile de pe dispozitiv nu deschid fișierul.</translation>
 <translation id="4042870976416480368">Găsește în pagină</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ru.xtb b/ios/chrome/app/strings/resources/ios_strings_ru.xtb
index 510f2f4..cac5a47 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ru.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ru.xtb
@@ -182,6 +182,7 @@
 <translation id="3963231839620026525">Новая вкладка инкогнито</translation>
 <translation id="3967822245660637423">Скачивание завершено</translation>
 <translation id="3989635538409502728">Выйти</translation>
+<translation id="3995521777587992544">Индикатор загрузки страницы: выполнено <ph name="EMAIL" />.</translation>
 <translation id="4002066346123236978">Название</translation>
 <translation id="4038354071007134711">Нет приложения, чтобы открыть этот файл.</translation>
 <translation id="4042870976416480368">Найти на странице</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_sk.xtb b/ios/chrome/app/strings/resources/ios_strings_sk.xtb
index 7a755c6f..53017e4 100644
--- a/ios/chrome/app/strings/resources/ios_strings_sk.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_sk.xtb
@@ -182,6 +182,7 @@
 <translation id="3963231839620026525">Nová karta inkognito</translation>
 <translation id="3967822245660637423">Sťahovanie dokončené</translation>
 <translation id="3989635538409502728">Odhlásiť sa</translation>
+<translation id="3995521777587992544">Ukazovateľ priebehu načítania stránky, načítané: <ph name="EMAIL" />.</translation>
 <translation id="4002066346123236978">Názov</translation>
 <translation id="4038354071007134711">Tento súbor nedokáže otvoriť žiadna aplikácia na tomto zariadení.</translation>
 <translation id="4042870976416480368">Nájsť na stránke</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_sl.xtb b/ios/chrome/app/strings/resources/ios_strings_sl.xtb
index b4e9a69..4c636bd5 100644
--- a/ios/chrome/app/strings/resources/ios_strings_sl.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_sl.xtb
@@ -181,6 +181,7 @@
 <translation id="3963231839620026525">New Incognito Tab</translation>
 <translation id="3967822245660637423">Prenos končan</translation>
 <translation id="3989635538409502728">Odjava</translation>
+<translation id="3995521777587992544">Vrstica z napredkom nalaganja strani, <ph name="EMAIL" /> naloženega.</translation>
 <translation id="4002066346123236978">Naslov</translation>
 <translation id="4038354071007134711">Nobena aplikacija v tej napravi ne more odpreti datoteke.</translation>
 <translation id="4042870976416480368">Najdi na strani</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_sr.xtb b/ios/chrome/app/strings/resources/ios_strings_sr.xtb
index d029f90..10c90e3 100644
--- a/ios/chrome/app/strings/resources/ios_strings_sr.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_sr.xtb
@@ -182,6 +182,7 @@
 <translation id="3963231839620026525">Нова картица без архивирањa</translation>
 <translation id="3967822245660637423">Преузимање је довршено</translation>
 <translation id="3989635538409502728">Одјави ме</translation>
+<translation id="3995521777587992544">Трака напретка учитавања страница, учитано је <ph name="EMAIL" />.</translation>
 <translation id="4002066346123236978">Наслов</translation>
 <translation id="4038354071007134711">Ниједна апликација на овом уређају не може да отвори датотеку.</translation>
 <translation id="4042870976416480368">Нађи на страници</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_sv.xtb b/ios/chrome/app/strings/resources/ios_strings_sv.xtb
index 23cdc5f..cfbba1c 100644
--- a/ios/chrome/app/strings/resources/ios_strings_sv.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_sv.xtb
@@ -182,6 +182,7 @@
 <translation id="3963231839620026525">Ny inkognitoflik</translation>
 <translation id="3967822245660637423">Nedladdning slutförd</translation>
 <translation id="3989635538409502728">Logga ut</translation>
+<translation id="3995521777587992544">Förloppsindikator för inläsning av sidor, <ph name="EMAIL" /> har lästs in.</translation>
 <translation id="4002066346123236978">Titel</translation>
 <translation id="4038354071007134711">Det går inte att öppna filen med någon av apparna på enheten.</translation>
 <translation id="4042870976416480368">Sök på sidan</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_sw.xtb b/ios/chrome/app/strings/resources/ios_strings_sw.xtb
index af2765d..8a4b62e 100644
--- a/ios/chrome/app/strings/resources/ios_strings_sw.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_sw.xtb
@@ -182,6 +182,7 @@
 <translation id="3963231839620026525">Kichupo Fiche Kipya</translation>
 <translation id="3967822245660637423">Faili imekamilika kupakuliwa</translation>
 <translation id="3989635538409502728">Ondoka</translation>
+<translation id="3995521777587992544">Upau wa shughuli ya upakiaji wa ukurasa, imepakia <ph name="EMAIL" />.</translation>
 <translation id="4002066346123236978">Kichwa</translation>
 <translation id="4038354071007134711">Hakuna programu kwenye kifaa hiki inayoweza kufungua faili.</translation>
 <translation id="4042870976416480368">Pata katika Ukurasa</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ta.xtb b/ios/chrome/app/strings/resources/ios_strings_ta.xtb
index 85c1de0..3bae85b 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ta.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ta.xtb
@@ -182,6 +182,7 @@
 <translation id="3963231839620026525">புதிய மறைநிலைத் தாவல்</translation>
 <translation id="3967822245660637423">பதிவிறக்கம் முடிந்தது</translation>
 <translation id="3989635538409502728">வெளியேறு</translation>
+<translation id="3995521777587992544">பக்க ஏற்றச் செயல்நிலைப் பட்டி, <ph name="EMAIL" /> ஏற்றப்பட்டுள்ளது.</translation>
 <translation id="4002066346123236978">தலைப்பு</translation>
 <translation id="4038354071007134711">கோப்பைத் திறக்கக்கூடிய பயன்பாடு சாதனத்தில் இல்லை.</translation>
 <translation id="4042870976416480368">பக்கத்தில் கண்டறிக</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_te.xtb b/ios/chrome/app/strings/resources/ios_strings_te.xtb
index 1ffffba5..f51979d 100644
--- a/ios/chrome/app/strings/resources/ios_strings_te.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_te.xtb
@@ -182,6 +182,7 @@
 <translation id="3963231839620026525">కొత్త అజ్ఞాత ట్యాబ్</translation>
 <translation id="3967822245660637423">డౌన్‌లోడ్ పూర్తయింది</translation>
 <translation id="3989635538409502728">సైన్ ఔట్</translation>
+<translation id="3995521777587992544">పేజీ లోడ్ పురోగతి బార్, <ph name="EMAIL" /> లోడ్ చేయబడింది.</translation>
 <translation id="4002066346123236978">శీర్షిక</translation>
 <translation id="4038354071007134711">ఈ పరికరంలోని అప్లికేషన్‌ ఏదీ ఫైల్‌ను తెరవలేదు.</translation>
 <translation id="4042870976416480368">పేజీలో కనుగొనండి</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_th.xtb b/ios/chrome/app/strings/resources/ios_strings_th.xtb
index 707c1db..3ea46a6 100644
--- a/ios/chrome/app/strings/resources/ios_strings_th.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_th.xtb
@@ -182,6 +182,7 @@
 <translation id="3963231839620026525">แท็บใหม่ที่ไม่ระบุตัวตน</translation>
 <translation id="3967822245660637423">ดาวน์โหลดเสร็จสมบูรณ์</translation>
 <translation id="3989635538409502728">ออกจากระบบ</translation>
+<translation id="3995521777587992544">แถบความคืบหน้าการโหลดหน้าเว็บ โหลดแล้ว <ph name="EMAIL" /></translation>
 <translation id="4002066346123236978">ชื่อ</translation>
 <translation id="4038354071007134711">ไม่มีแอปพลิเคชันใดบนอุปกรณ์นี้ที่สามารถเปิดไฟล์ได้</translation>
 <translation id="4042870976416480368">ค้นหาในหน้าเว็บ</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_tr.xtb b/ios/chrome/app/strings/resources/ios_strings_tr.xtb
index e18071b..f73c402 100644
--- a/ios/chrome/app/strings/resources/ios_strings_tr.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_tr.xtb
@@ -182,6 +182,7 @@
 <translation id="3963231839620026525">Yeni Gizli Sekme</translation>
 <translation id="3967822245660637423">İndirme tamamlandı</translation>
 <translation id="3989635538409502728">Çıkış</translation>
+<translation id="3995521777587992544">Sayfa yükleme ilerleme çubuğu, <ph name="EMAIL" /> yüklendi.</translation>
 <translation id="4002066346123236978">Başlık</translation>
 <translation id="4038354071007134711">Bu cihazdaki hiçbir uygulama dosyayı açamıyor.</translation>
 <translation id="4042870976416480368">Sayfada Bul</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_uk.xtb b/ios/chrome/app/strings/resources/ios_strings_uk.xtb
index 53fcac7..9bf72b05 100644
--- a/ios/chrome/app/strings/resources/ios_strings_uk.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_uk.xtb
@@ -182,6 +182,7 @@
 <translation id="3963231839620026525">Нова анонімна вкладка</translation>
 <translation id="3967822245660637423">Завантажено</translation>
 <translation id="3989635538409502728">Вийти</translation>
+<translation id="3995521777587992544">Індикатор перебігу завантаження сторінки. Завантажено <ph name="EMAIL" />.</translation>
 <translation id="4002066346123236978">Назва</translation>
 <translation id="4038354071007134711">Немає додатків на пристрої, щоб відкрити цей файл.</translation>
 <translation id="4042870976416480368">Знайти на сторінці</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_vi.xtb b/ios/chrome/app/strings/resources/ios_strings_vi.xtb
index a8f93a2..fec07b3 100644
--- a/ios/chrome/app/strings/resources/ios_strings_vi.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_vi.xtb
@@ -182,6 +182,7 @@
 <translation id="3963231839620026525">Tab ẩn danh mới</translation>
 <translation id="3967822245660637423">Tải xuống hoàn tất</translation>
 <translation id="3989635538409502728">Đăng xuất</translation>
+<translation id="3995521777587992544">Thanh tiến trình tải trang, đã tải <ph name="EMAIL" />.</translation>
 <translation id="4002066346123236978">Tiêu đề</translation>
 <translation id="4038354071007134711">Không ứng dụng nào trên thiết bị này có thể mở tệp.</translation>
 <translation id="4042870976416480368">Tìm trong trang</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 47e54f0..a4e0e1c 100644
--- a/ios/chrome/app/strings/resources/ios_strings_zh-CN.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_zh-CN.xtb
@@ -182,6 +182,7 @@
 <translation id="3963231839620026525">打开新的无痕式标签页</translation>
 <translation id="3967822245660637423">下载完毕</translation>
 <translation id="3989635538409502728">退出</translation>
+<translation id="3995521777587992544">网页加载进度条,已加载 <ph name="EMAIL" />。</translation>
 <translation id="4002066346123236978">标题</translation>
 <translation id="4038354071007134711">此设备上没有可以打开该文件的应用。</translation>
 <translation id="4042870976416480368">在网页上查找</translation>
@@ -443,7 +444,7 @@
 <translation id="8534481786647257214">Google+ 信息发布已完成。</translation>
 <translation id="8548878600947630424">在网页中查找...</translation>
 <translation id="8605219856220328675">关闭标签页。</translation>
-<translation id="8620640915598389714">修改</translation>
+<translation id="8620640915598389714">编辑</translation>
 <translation id="8636825310635137004">要在您的其他设备上访问您的标签页,请开启同步功能。</translation>
 <translation id="8654802032646794042">取消</translation>
 <translation id="8668210798914567634">此页面已保存到您的阅读列表。</translation>
@@ -466,7 +467,7 @@
 <translation id="9034759925968272072">您不会因此而退出自己的 Google 帐号。您的 Google 帐号在 <ph name="BEGIN_LINK" />history.google.com<ph name="END_LINK" /> 上可能有其他形式的浏览记录。</translation>
 <translation id="9039373489628511875">带宽</translation>
 <translation id="9055772144595778347">无法登录</translation>
-<translation id="9065203028668620118">修改</translation>
+<translation id="9065203028668620118">编辑</translation>
 <translation id="9079935439869366234">全部标为未读</translation>
 <translation id="9083392325882095631">有1个书签</translation>
 <translation id="9100610230175265781">必须提供密码</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 f5cfec9e..0ae1b50 100644
--- a/ios/chrome/app/strings/resources/ios_strings_zh-TW.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_zh-TW.xtb
@@ -182,6 +182,7 @@
 <translation id="3963231839620026525">新無痕式分頁</translation>
 <translation id="3967822245660637423">下載完成</translation>
 <translation id="3989635538409502728">登出</translation>
+<translation id="3995521777587992544">網頁載入進度列,已載入 <ph name="EMAIL" />。</translation>
 <translation id="4002066346123236978">標題</translation>
 <translation id="4038354071007134711">這個裝置上沒有能開啟此檔案的應用程式。</translation>
 <translation id="4042870976416480368">在網頁中查找</translation>
diff --git a/ios/chrome/browser/app_launcher/app_launcher_tab_helper.mm b/ios/chrome/browser/app_launcher/app_launcher_tab_helper.mm
index 61aaca5..8d2be47 100644
--- a/ios/chrome/browser/app_launcher/app_launcher_tab_helper.mm
+++ b/ios/chrome/browser/app_launcher/app_launcher_tab_helper.mm
@@ -201,28 +201,32 @@
     request_url = [tab XCallbackFromRequestURL:request_url originURL:origin];
   }
 
-  const GURL& source_url = request_info.source_url;
+  GURL last_committed_url = web_state_->GetLastCommittedURL();
+  web::NavigationItem* pending_item =
+      web_state_->GetNavigationManager()->GetPendingItem();
+  GURL original_pending_url =
+      pending_item ? pending_item->GetOriginalRequestURL() : GURL::EmptyGURL();
   bool is_link_transition = ui::PageTransitionTypeIncludingQualifiersIs(
       request_info.transition_type, ui::PAGE_TRANSITION_LINK);
 
   if (base::FeatureList::IsEnabled(kAppLauncherRefresh)) {
-    if (!is_link_transition && source_url.is_valid()) {
+    if (!is_link_transition && original_pending_url.is_valid()) {
       // At this stage the navigation will be canceled in all cases. If this
       // was a redirection, the |source_url| may not have been reported to
       // ReadingListWebStateObserver. Report it to mark as read if needed.
       ReadingListModel* model =
           ReadingListModelFactory::GetForBrowserState(tab.browserState);
       if (model && model->loaded())
-        model->SetReadStatus(source_url, true);
+        model->SetReadStatus(original_pending_url, true);
     }
-    if (IsValidAppUrl(request_url)) {
-      RequestToLaunchApp(request_url, source_url, is_link_transition);
+    if (IsValidAppUrl(request_url) && last_committed_url.is_valid()) {
+      RequestToLaunchApp(request_url, last_committed_url, is_link_transition);
     }
     return false;
   }
 
   if (IsValidAppUrl(request_url) &&
-      RequestToLaunchApp(request_url, source_url, is_link_transition)) {
+      RequestToLaunchApp(request_url, last_committed_url, is_link_transition)) {
     // Clears pending navigation history after successfully launching the
     // external app.
     web_state_->GetNavigationManager()->DiscardNonCommittedItems();
@@ -230,11 +234,11 @@
     // When opening applications, the navigation is cancelled. Report the
     // opening of the application to the ReadingListWebStateObserver to mark the
     // entry as read if needed.
-    if (source_url.is_valid()) {
+    if (original_pending_url.is_valid()) {
       ReadingListModel* model =
           ReadingListModelFactory::GetForBrowserState(tab.browserState);
       if (model && model->loaded())
-        model->SetReadStatus(source_url, true);
+        model->SetReadStatus(original_pending_url, true);
     }
   }
   return false;
diff --git a/ios/chrome/browser/app_launcher/app_launcher_tab_helper_unittest.mm b/ios/chrome/browser/app_launcher/app_launcher_tab_helper_unittest.mm
index c19e226..6d3404da 100644
--- a/ios/chrome/browser/app_launcher/app_launcher_tab_helper_unittest.mm
+++ b/ios/chrome/browser/app_launcher/app_launcher_tab_helper_unittest.mm
@@ -113,7 +113,9 @@
                                             delegate_);
     // Allow is the default policy for this test.
     abuse_detector_.policy = ExternalAppLaunchPolicyAllow;
-    web_state_.SetNavigationManager(std::make_unique<FakeNavigationManager>());
+    auto navigation_manager = std::make_unique<FakeNavigationManager>();
+    navigation_manager_ = navigation_manager.get();
+    web_state_.SetNavigationManager(std::move(navigation_manager));
     tab_helper_ = AppLauncherTabHelper::FromWebState(&web_state_);
   }
 
@@ -151,12 +153,17 @@
     if (!is_reading_list_initialized_)
       InitializeReadingListModel();
 
-    GURL test_source_url("http://google.com");
+    web_state_.SetCurrentURL(GURL("https://chromium.org"));
+    GURL pending_url("http://google.com");
+    navigation_manager_->AddItem(pending_url, ui::PAGE_TRANSITION_LINK);
+    web::NavigationItem* item = navigation_manager_->GetItemAtIndex(0);
+    navigation_manager_->SetPendingItem(item);
+    item->SetOriginalRequestURL(pending_url);
+
     ReadingListModel* model = ReadingListModelFactory::GetForBrowserState(
         chrome_browser_state_.get());
     EXPECT_TRUE(model->DeleteAllEntries());
-    model->AddEntry(test_source_url, "unread",
-                    reading_list::ADDED_VIA_CURRENT_APP);
+    model->AddEntry(pending_url, "unread", reading_list::ADDED_VIA_CURRENT_APP);
     abuse_detector_.policy = is_app_blocked ? ExternalAppLaunchPolicyBlock
                                             : ExternalAppLaunchPolicyAllow;
     ui::PageTransition transition_type =
@@ -167,17 +174,19 @@
     NSURL* url = [NSURL
         URLWithString:@"itms-apps://itunes.apple.com/us/app/appname/id123"];
     web::WebStatePolicyDecider::RequestInfo request_info(
-        transition_type, test_source_url,
+        transition_type, pending_url,
         /*target_frame_is_main=*/true, /*has_user_gesture=*/true);
     EXPECT_FALSE(tab_helper_->ShouldAllowRequest(
         [NSURLRequest requestWithURL:url], request_info));
 
-    const ReadingListEntry* entry = model->GetEntryByURL(test_source_url);
+    const ReadingListEntry* entry = model->GetEntryByURL(pending_url);
     return entry->IsRead() == expected_read_status;
   }
 
   base::test::ScopedTaskEnvironment scoped_task_environment;
   web::TestWebState web_state_;
+  FakeNavigationManager* navigation_manager_ = nullptr;
+
   std::unique_ptr<TestChromeBrowserState> chrome_browser_state_ = nil;
   FakeAppLauncherAbuseDetector* abuse_detector_ = nil;
   FakeAppLauncherTabHelperDelegate* delegate_ = nil;
diff --git a/ios/chrome/browser/application_context_impl.cc b/ios/chrome/browser/application_context_impl.cc
index ce20e3f..b04a404 100644
--- a/ios/chrome/browser/application_context_impl.cc
+++ b/ios/chrome/browser/application_context_impl.cc
@@ -36,6 +36,7 @@
 #include "components/update_client/configurator.h"
 #include "components/update_client/update_query_params.h"
 #include "components/variations/service/variations_service.h"
+#include "ios/chrome/browser/application_context.h"
 #include "ios/chrome/browser/browser_state/chrome_browser_state.h"
 #include "ios/chrome/browser/browser_state/chrome_browser_state_manager_impl.h"
 #include "ios/chrome/browser/chrome_paths.h"
@@ -425,7 +426,8 @@
       // been shut down, base::Unretained() is safe here.
       base::BindRepeating(&RequestProxyResolvingSocketFactory,
                           base::Unretained(this)),
-      GetSharedURLLoaderFactory(), ::GetChannel(),
+      GetSharedURLLoaderFactory(),
+      GetApplicationContext()->GetNetworkConnectionTracker(), ::GetChannel(),
       IOSChromeGCMProfileServiceFactory::GetProductCategoryForSubtypes(),
       base::CreateSingleThreadTaskRunnerWithTraits({web::WebThread::UI}),
       base::CreateSingleThreadTaskRunnerWithTraits({web::WebThread::IO}),
diff --git a/ios/chrome/browser/gcm/BUILD.gn b/ios/chrome/browser/gcm/BUILD.gn
index bf3fab90..1fe9342 100644
--- a/ios/chrome/browser/gcm/BUILD.gn
+++ b/ios/chrome/browser/gcm/BUILD.gn
@@ -12,6 +12,7 @@
     "//components/gcm_driver",
     "//components/keyed_service/ios",
     "//components/signin/core/browser",
+    "//ios/chrome/browser",
     "//ios/chrome/browser/browser_state",
     "//ios/chrome/browser/signin",
     "//ios/chrome/common",
diff --git a/ios/chrome/browser/gcm/ios_chrome_gcm_profile_service_factory.cc b/ios/chrome/browser/gcm/ios_chrome_gcm_profile_service_factory.cc
index 69cb67da..707488bc 100644
--- a/ios/chrome/browser/gcm/ios_chrome_gcm_profile_service_factory.cc
+++ b/ios/chrome/browser/gcm/ios_chrome_gcm_profile_service_factory.cc
@@ -13,6 +13,7 @@
 #include "components/gcm_driver/gcm_profile_service.h"
 #include "components/keyed_service/ios/browser_state_dependency_manager.h"
 #include "components/signin/core/browser/signin_manager.h"
+#include "ios/chrome/browser/application_context.h"
 #include "ios/chrome/browser/browser_state/chrome_browser_state.h"
 #include "ios/chrome/browser/signin/identity_manager_factory.h"
 #include "ios/chrome/common/channel_info.h"
@@ -94,7 +95,8 @@
   return std::make_unique<gcm::GCMProfileService>(
       browser_state->GetPrefs(), browser_state->GetStatePath(),
       base::BindRepeating(&RequestProxyResolvingSocketFactory, context),
-      browser_state->GetSharedURLLoaderFactory(), ::GetChannel(),
+      browser_state->GetSharedURLLoaderFactory(),
+      GetApplicationContext()->GetNetworkConnectionTracker(), ::GetChannel(),
       GetProductCategoryForSubtypes(),
       IdentityManagerFactory::GetForBrowserState(browser_state),
       base::WrapUnique(new gcm::GCMClientFactory),
diff --git a/ios/chrome/browser/ui/browser_view_controller.mm b/ios/chrome/browser/ui/browser_view_controller.mm
index 21635dd..9c32d3a8 100644
--- a/ios/chrome/browser/ui/browser_view_controller.mm
+++ b/ios/chrome/browser/ui/browser_view_controller.mm
@@ -1583,6 +1583,7 @@
   _printController = nil;
   [self.dispatcher dismissPopupMenuAnimated:NO];
   [_contextMenuCoordinator stop];
+  [_passKitCoordinator stop];
   [self dismissRateThisAppDialog];
 
   if (self.presentedViewController) {
diff --git a/ios/chrome/search_widget_extension/strings/resources/ios_search_widget_extension_strings_it.xtb b/ios/chrome/search_widget_extension/strings/resources/ios_search_widget_extension_strings_it.xtb
index 621883f1..a764f2f 100644
--- a/ios/chrome/search_widget_extension/strings/resources/ios_search_widget_extension_strings_it.xtb
+++ b/ios/chrome/search_widget_extension/strings/resources/ios_search_widget_extension_strings_it.xtb
@@ -2,7 +2,7 @@
 <!DOCTYPE translationbundle>
 <translationbundle lang="it">
 <translation id="1418775127135578229">Apri link copiato</translation>
-<translation id="1545749641540134597">Leggi il codice QR</translation>
+<translation id="1545749641540134597">Scansiona codice QR</translation>
 <translation id="2204254829203467991">Nuova ricerca</translation>
 <translation id="4503488423518423533">I link copiati verranno mostrati qui.</translation>
 <translation id="6120021866613542190">Ricerca in incognito</translation>
diff --git a/ios/web_view/internal/sync/web_view_gcm_profile_service_factory.mm b/ios/web_view/internal/sync/web_view_gcm_profile_service_factory.mm
index e56b39a0..fcdf23bc 100644
--- a/ios/web_view/internal/sync/web_view_gcm_profile_service_factory.mm
+++ b/ios/web_view/internal/sync/web_view_gcm_profile_service_factory.mm
@@ -14,6 +14,7 @@
 #include "components/keyed_service/ios/browser_state_dependency_manager.h"
 #include "ios/web/public/web_task_traits.h"
 #include "ios/web/public/web_thread.h"
+#include "ios/web_view/internal/app/application_context.h"
 #include "ios/web_view/internal/signin/web_view_identity_manager_factory.h"
 #include "ios/web_view/internal/web_view_browser_state.h"
 #include "services/network/public/cpp/shared_url_loader_factory.h"
@@ -94,6 +95,7 @@
       browser_state->GetPrefs(), browser_state->GetStatePath(),
       base::BindRepeating(&RequestProxyResolvingSocketFactory, context),
       browser_state->GetSharedURLLoaderFactory(),
+      ApplicationContext::GetInstance()->GetNetworkConnectionTracker(),
       version_info::Channel::UNKNOWN, GetProductCategoryForSubtypes(),
       WebViewIdentityManagerFactory::GetForBrowserState(browser_state),
       base::WrapUnique(new gcm::GCMClientFactory),
diff --git a/media/gpu/windows/d3d11_video_decoder.cc b/media/gpu/windows/d3d11_video_decoder.cc
index 030ee64..29e42f2 100644
--- a/media/gpu/windows/d3d11_video_decoder.cc
+++ b/media/gpu/windows/d3d11_video_decoder.cc
@@ -648,9 +648,9 @@
   // TODO(liberato): It would be nice to QueryD3D11DeviceObjectFromANGLE, but
   // we don't know what thread we're on.
 
-  // Make sure that we support at least 11.1.
+  // Make sure that we support at least 11.0.
   D3D_FEATURE_LEVEL levels[] = {
-      D3D_FEATURE_LEVEL_11_1,
+      D3D_FEATURE_LEVEL_11_0,
   };
   HRESULT hr = create_device_func_.Run(
       nullptr, D3D_DRIVER_TYPE_HARDWARE, nullptr, 0, levels, ARRAYSIZE(levels),
diff --git a/media/gpu/windows/d3d11_video_decoder_unittest.cc b/media/gpu/windows/d3d11_video_decoder_unittest.cc
index b5f991d..bf7f2451 100644
--- a/media/gpu/windows/d3d11_video_decoder_unittest.cc
+++ b/media/gpu/windows/d3d11_video_decoder_unittest.cc
@@ -123,7 +123,7 @@
   MOCK_METHOD1(MockInitCB, void(bool));
 };
 
-TEST_F(D3D11VideoDecoderTest, RequiresD3D11_1) {
+TEST_F(D3D11VideoDecoderTest, RequiresD3D11_0) {
   D3D_FEATURE_LEVEL feature_levels[100];
   int num_levels = 0;
 
@@ -149,12 +149,12 @@
 
   // Verify that it requests exactly 11.1, and nothing earlier.
   // Later is okay.
-  bool min_is_d3d11_1 = false;
+  bool min_is_d3d11_0 = false;
   for (int i = 0; i < num_levels; i++) {
-    min_is_d3d11_1 |= feature_levels[i] == D3D_FEATURE_LEVEL_11_1;
-    ASSERT_TRUE(feature_levels[i] >= D3D_FEATURE_LEVEL_11_1);
+    min_is_d3d11_0 |= feature_levels[i] == D3D_FEATURE_LEVEL_11_0;
+    ASSERT_TRUE(feature_levels[i] >= D3D_FEATURE_LEVEL_11_0);
   }
-  ASSERT_TRUE(min_is_d3d11_1);
+  ASSERT_TRUE(min_is_d3d11_0);
 }
 
 TEST_F(D3D11VideoDecoderTest, OnlySupportsVP9WithFlagEnabled) {
diff --git a/mojo/core/scoped_process_handle.cc b/mojo/core/scoped_process_handle.cc
index 65dfcf78..720c728 100644
--- a/mojo/core/scoped_process_handle.cc
+++ b/mojo/core/scoped_process_handle.cc
@@ -48,7 +48,10 @@
   BOOL ok = ::DuplicateHandle(GetCurrentProcessHandle(), handle,
                               GetCurrentProcessHandle(), &handle, 0, FALSE,
                               DUPLICATE_SAME_ACCESS);
-  DCHECK(ok);
+
+  // TODO(https://crbug.com/887576): Revert this to a DCHECK once we have sorted
+  // out the cause of handle verifier failures.
+  PCHECK(ok);
 #endif
   return ScopedProcessHandle(handle);
 }
diff --git a/net/http/transport_security_state_static.json b/net/http/transport_security_state_static.json
index aca1b2a..0f05999 100644
--- a/net/http/transport_security_state_static.json
+++ b/net/http/transport_security_state_static.json
@@ -4023,7 +4023,6 @@
     { "name": "koukni.cz", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "kpinvest.eu", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "kristofferkoch.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "kweddingplanning.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "kylinj.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "lagoza.name", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "latenitefilms.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -25812,7 +25811,6 @@
     { "name": "hashish.net", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "hauntedhouserecords.co.uk", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "hauteslatitudes.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "haven-moon.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "havenmoon.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "hawaya.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "haz.cat", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -28982,7 +28980,6 @@
     { "name": "cloud2go.de", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "capachitos.cl", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "chiro-neuchatel.ch", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "computeracademy.co.za", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "continuation.io", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "comyuno.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "cloud.bugatti", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -31239,7 +31236,6 @@
     { "name": "s1mplescripts.de", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "redcomet.org", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "sentinelproject.io", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "reevu.net", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "scm-2017.org", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "sapprendre.ch", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "sebastian-kraus.me", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -34255,7 +34251,6 @@
     { "name": "weepycat.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "welby.cat", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "varela-electricite.fr", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "webqueens.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "virgopolymer.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "vibrashop.com.br", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "viscoelastico.com.br", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -45395,7 +45390,6 @@
     { "name": "rpmdrivingschool.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rtzoeller.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ruediger-voigt.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "ryois.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sadiejanehair.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sagracefarms.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "saprima.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -50799,7 +50793,6 @@
     { "name": "tono.us", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "toolroomrecords.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "toskana-appartement.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "town-farm.surrey.sch.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "transgendergedenkdag.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "transgenderinfo.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "transgendernetwerk.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -52701,7 +52694,6 @@
     { "name": "xn--cfa.site", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "xn--fp8h58f.ws", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "xn--y-5ga.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "xn--y8ja6lb.xn--q9jyb4c", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "xo7.ovh", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "xposedornot.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "yawen.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -52789,7 +52781,6 @@
     { "name": "cocyou.ooo", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "como-se-escribe.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "comocurarlagastritistratamientonatural.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "computerbas.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "coolwallet.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cosasque.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cprheartcenter.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -57084,7 +57075,6 @@
     { "name": "facepainting.gr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "faelix.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fahnen-fanwelt.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "fairmarketing.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fameus.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fantasticservices.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fantasyprojections.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -57407,7 +57397,6 @@
     { "name": "mtd.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mui.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mum.ceo", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "muma.ml", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "murraya.cn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mx-quad.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "myaspenheights.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -57807,6 +57796,1030 @@
     { "name": "zerowastesavvy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "zionnationalpark.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "zoomcar.pro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "1se.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "23333.link", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "24hourcyclist.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "2bad2c0.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "357maelai.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "360vrs.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "371cloud.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "411416.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "50.gd", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "5364jc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "55639.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "69wasted.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "7045.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "8349822.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "8876138.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "8876520.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "8876578.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "8876598.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "8876655.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "8876660.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "8876687.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "8876770.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "8876775.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "8876776.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "8876779.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "8876818.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "8876822.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "8876838.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "8876858.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "8876866.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "8876879.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "8876881.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "8876882.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "8876883.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "8876898.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "8876900.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "8876991.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "8876992.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "8876996.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "8880013.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "8880021.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "8880023.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "8880025.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "8880057.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "8880059.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "8880067.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "8880083.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "8880100.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "8886737.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "8886739.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "8886793.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "8886806.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "8886860.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "8889457.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "8889458.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "8889466.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "8889563.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "8889709.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "8889729.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "8889792.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "8889807.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "8889809.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "8889819.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "8889870.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "8889881.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "8889890.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "8889893.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "8889903.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "8889910.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "abateroad66.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "abitidalavoro.roma.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "absimple.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "academkin.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "acklandstainless.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "actioncleaningnd.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "actualidadecommerce.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "actualidadgadget.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "actualidadkd.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "addictionresource.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "advanced-fleet-services.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "advertis.biz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "aegialis.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "aerospace-schools.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "affloc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "age.hk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "agriculture-schools.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "agy.cl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "aibiying.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ailitonia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ailitonia.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "aimi-salon.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "airbnb.cn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "airbnb.com.cn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "airbnbchina.cn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "airwaystorage.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "aktin.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "al3366.tech", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "albrocar.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "all-fashion-schools.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "allemoz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "allemoz.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "allhard.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "allius.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "almorafestival.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "american-school-search.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "americanindiannursing.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "amicimar.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "anaveragehuman.eu.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ankaraseo.name.tr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "antennista.tv", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "appinn.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "arackiralama.name.tr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "architecture-colleges.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "armazemgourmetbrasil.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "arte-soft.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "arteequipamientos.com.uy", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "asegem.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "aspformacion.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "aspiradorasbaratas.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "atwar-mod.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "audion.cc", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "auspicacious.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "author24.info", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "auto-dealership-news.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "autonewssite.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "autoteplo.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "avalyuan.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "avantitualatin.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "avs-building-services.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ay-net.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ayahya.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "baby-bath-tub.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "backseatbandits.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bahaiprayers.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bailonga.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "balletcenterofhouston.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bbld.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "beaverdamautos.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bejarano.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "berger-chiro.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bernardez-photo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "berndklaus.at", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bescover.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "best-accounting-schools.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "best-art-colleges.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "best-baptist-colleges.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "best-beauty-schools.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "best-business-colleges.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "best-catholic-colleges.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "best-community-colleges.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "best-culinary-colleges.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "best-education-schools.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "best-engineering-colleges.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "best-graduate-programs.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "best-hvac-schools.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "best-lutheran-colleges.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "best-management-schools.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "best-marketing-schools.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "best-music-colleges.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "best-nursing-colleges.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "best-pharmacy-schools.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "best-trucking-schools.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bestbefore.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bestelectricnd.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bestpal.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "biblioporn.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bigorbitgallery.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "biology-colleges.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bisq.community", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bistrodeminas.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bitmask.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bitsoffreedom.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bjmun.cn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "blaauwgeers.pro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "blaauwgeers.travel", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "blackhell.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bleutecmedia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "blinder.com.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "blusens.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bonawehouse.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bongo.cat", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bonux.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "boogaerdtmakelaars.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "boombv.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "botezdepoveste.ro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "botsindiscord.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "brasileiro.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bridgedirectoutreach.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "briffoud.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "browserleaks.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "brunoproduit.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "brycecanyonnationalpark.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bso-buitengewoon.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bubblin.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bursa3bydgoszcz.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "burzcast.ro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "burzstudios.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "businessmadeeasypodcast.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "buy-out.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "byhe.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "caldoletto.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "calendar.cf", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cambridgesecuritygroup.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "campaignhelpdesk.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "camshowverse.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "candeo-books.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cannabismd.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "carfinancehelp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "carfraemill.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "caroffer.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "casaanastasia.ro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "casinomucho.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "casinomucho.se", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cctvcanada.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cdnsys.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ceagriproducts.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cedarcitydining.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "celeraindustries.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "centroperugia.gr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "championweb.co.nz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "championweb.nz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cheap-colleges.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "checkras.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "chemistry-schools.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "chengxindong.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "chesapeakebaychristmas.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "chesscoders.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "chesterlestreetasc.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "christopherstocks.online", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "classyvaper.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cloudcrux.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "club-climate.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cnlau.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "codein.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "codemill.se", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cognixia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cololi.moe", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "colotimes.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "comprasoffie.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "computer-science-schools.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "conclinica.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "conspiracyservers.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "construction-colleges.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "costellofc.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "covaci.pro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "craazzyman21.at", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "crazy-cat.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "credittoken.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "criptolog.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "crm114d.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "crsmsodry.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cryptagio.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cryptojacks.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "csovek-idomok.hu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ctcom-peru.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cubebot.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cubing.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cursos-trabajadores.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cvchomes.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cyanghost.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cyberogism.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "czechcrystals.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "d2ph.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dailyemailinboxing.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dailyrover.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dance-colleges.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dangr.zone", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "danielnaaman.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "danzac.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dapps.earth", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "darkwebnews.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "data-wing.ga", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dataguidance.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "davidkennardphotography.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dcain.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "decoora.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "deejayevents.ro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "deep-chess.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "deepblueemail.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "degestamptepot.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dekko.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dental-colleges.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "der-windows-papst.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dermato.floripa.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "destinoytarot.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dia-de.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dickord.club", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dideeducacion.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "didefamilia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "didesalud.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "digitreads.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dimiskovska.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "discrypt.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "disinfestazione.verona.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "distribuidoraplus.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "djboekingskantoor.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "djvintagevinyl.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dmess.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dnsipv6.srv.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "docusearch.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "doge.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "doge.town", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "doki.space", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dolinathome.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dorpshuis-dwarsgracht.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dr-it.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "drump-truck.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "drwang.group", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dschwarzachtaler.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dsgnet.hu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dubious-website.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "duval.paris", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "eastplan.co.kr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "eatz-and-treatz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "economics-colleges.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "edenming.info", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "effinfun.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "eika.as", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "eldenelesat.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "electrical-schools.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "electroinkoophardenberg.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "elementarty.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "elitenutritionoficial.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "eltip.click", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "emanuela-gabriela.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "encryptmycard.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "endofinternet.goip.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "enelacto.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "enjoy-israel.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "environmental-colleges.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "eosol.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "eosol.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "eosol.services", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "eosol.zone", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "equilime.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "eromon.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "esgen.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "eslint.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "essayace.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "essca.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "estherlew.is", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "esuretynew.azurewebsites.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "euroconthr.ro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "eveonline.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "evtasima.name.tr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "examedge.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "exnovin.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "exordiumconcepts.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "experise.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "expertofficefitouts.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fabbro-roma.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "faceresources.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fahnamporn.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "faithcentercogop.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "falcona.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "farthing.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fdresearch.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "feli.games", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "felixaufreisen.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "feng-hhcm.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fierscleaning.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "film-colleges.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "finance-colleges.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fire-schools.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fiziktedavi.name.tr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fizyoterapi.name.tr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "flare.cloud", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "flixhaven.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "flyingyoung.top", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "footloose.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "foreign-language-colleges.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fortknox.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "foundationrepairnebraska.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fpaci.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "frankfurt-am-start.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "frccsgo.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "freemomhugs.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "freessl.tech", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "friendowment.us", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "friendsofgfwpc.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "frozenjam.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fu639.top", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fu898.top", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "furaje-iasi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fytcart.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "g6666g.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "galeriart.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gamblerhealing.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gamemodding.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gamer-portal.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gametilt.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gatekiller.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "geography-schools.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "geology-schools.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "georgepancescu.ro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "getenv.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gettopquality.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gifudodo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gishiko.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "glaspe.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "go-propiedades.cl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "goblintears.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "goedkopelaptopshardenberg.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "goldenruleemail.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gondelvaartdwarsgracht.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "goodquote.gq", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "graphic-schools.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "greatskillchecks.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "greenwaylog.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "groundlevelup.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gtxbbs.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gustom.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hakkasangroup.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hakkasannightclub.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "haozhexie.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hashemian.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hbcu-colleges.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "health-and-beauty-news.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "healthandskinbeauty.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hellenicagora.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hikerone.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hinata-hidetoshi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hirtzfr.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "history-schools.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "holymartyrschurch.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "home-handymen.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "homeporn.stream", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "honey.beer", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "honoka.tech", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hoooc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hospitality-colleges.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hostico.ro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hostmark.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hoverboardbarato.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hrsa.gov", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "httpsalarm.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "huininga.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "huininga.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "huininga.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "huniverse.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hunterjohnson.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hwlibre.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hysh.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "iaminashittymood.today", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ianvisits.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ibe.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "iblackfriday.ro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "icetiger.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "idesoft.cloud", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "idesoftinnovacion.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "idesoftinnovacion.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ihcr.top", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ijsclubwanneperveen.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ikumi.us", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "imperiodigital.online", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "infinitescript.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "infogram.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "infotrac.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "infraclass.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "infralist.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "inframetro.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "infrazine.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ingatlanrobot.hu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "insteagle.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "interior-design-colleges.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "internationalschool.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ipfire.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ipplans.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ipv4.co.il", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "isavings.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "iskanderbroere.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "islavolcan.cl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "itspecialista.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "itsundef.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "iurisnow.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ivy-league-colleges.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "iwebolutions.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jacksonhu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jardineriaon.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jashvaidya.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "javierlorente.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jaxfstk.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jedmud.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jglover.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "job-ofertas.info", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jobsnet.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "joeyvanvenrooij.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "joshuameunier.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "journalism-schools.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "joynadvisors.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "joysinventingblog.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jpralves.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "js3311.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "js8855.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jsdelivr.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jsonsinc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jtcjewelry.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "judytka.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "juergen-roehrig.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "justtalk.site", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jxltom.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kabulpress.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kamranmirhazar.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kb88.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "keevitaja.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kerrnel.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ketaminecareclinic.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kevingsky.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kevinheslinphoto.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "killerkink.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kinkcafe.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kissoft.ro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kngkng.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kochinke.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kochinke.us", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kogax.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "konkai.store", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "koroknaimedical.hu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "koumakan.cc", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "krisftp.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "krishouse.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kugelblitz.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "laac.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ladyofhopeparish.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lamafioso.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lamunyon.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lapakus.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "larvatoken.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lasrecetascocina.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "launchmylifend.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lavitaura.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "law-colleges.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lawrencewhiteside.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lazyhelp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "learndev.info", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "leaseplan.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "leto12.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lewiscollard.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lg-waps.go.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lg-waps.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lgbt-colleges.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lhamaths.online", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lhgavarain.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lidtkemotors.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lierrmm.space", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lifeboxhealthcare.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lijstje.be", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lijstje.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "linuxadictos.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "literature-schools.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "livinginhimalone.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ljc.ro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lng-17.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lohl1kohl.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "looseleafsecurity.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lord.sh", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "louisemisellinteriors.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "loveamber.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lovevape.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lovingthermo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lowcarblab.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lprcommunity.co.za", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lqs.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lucie.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lyam.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "m2il.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "madbicicletas.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "madscientistwebdesign.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mail180.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "majlovesreg.one", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "makechanges.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mangnhuapvc.com.vn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "manualidadeson.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "marek.pro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "marketingbrandingnews.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "marketingtrendnews.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "markus-keppeler.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "markuskeppeler.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "marshallford.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "masautonomo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mascorazon.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "massage-colleges.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "matbad.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "materassi.roma.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "math-colleges.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "maxb.fm", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "maxh.me.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "maxmind.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mayoimobiliare.ro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mcsports.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mdrthmcs.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mechanics-schools.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "med-colleges.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "media-service.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mediarithmics.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "medical-assistant-colleges.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "medik8.com.cy", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "meditadvisors.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "meesteresmisty.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "meps.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mercredifiction.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "meridianfresno.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "meteocat.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "meteorologiaenred.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mexico.sh", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mfpccprod.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "michaelschule-rheine.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "michaelslatkine.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "midrandplumber24-7.co.za", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "midwestplus.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mikekreuzer.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mikupic.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "milkingit.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mine-pixl.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "miniwallaby.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mitdip-mit-group-ch.azurewebsites.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mizucoffee.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mkjl.ml", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mlii.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "moe.wtf", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "moeali.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "moeli.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "momentsofimpact.info", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mormon-colleges.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mostlikelyto.fail", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "msize48.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mujerfutura.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "myconnect.cn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mycookrecetas.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "myhuthwaite.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mypizza-bremen.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mypnu.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "myred.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "myzhili.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nailtodayminneapolis.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nakliyat.name.tr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nange.cn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nationalpassportservice.info", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "navegos.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ndatc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ndfirefighter.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ndphp.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ndpigskin.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nebracy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nebula.exchange", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "neohu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nextclouddarwinkel.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nii2.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nmmlp.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nogetime.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "noobow.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "noomist.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "noroshi-burger.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "northdakotahealthnetwork.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nosproduitsdequalite.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nowall.online", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "npregion.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nshipster.co.kr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nshipster.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nuclea.id", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nutridieta.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nyghtus.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "occupational-therapy-colleges.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "odhosc.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ofertasadsl.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "olfsecane.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "omeopatiadinamica.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "omniaclubs.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ondevamosjantar.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "onegoodthingbyjillee.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ontsc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ontservice.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "openmirrors.ml", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "openroademail.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "opure.ml", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "oriondynamic.be", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "orocojuco.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "otmo7.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "otoblok.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "otokiralama.name.tr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "out-of-scope.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ovabag.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "owall.ml", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "owncloud.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "oxzeth3sboard.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "oyashirosama.tokyo", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "oysterworldwide.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "padkit.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pandkonijn.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "paniyanovska.ua", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "panjee.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "papion.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "paradise-travel.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "patrocinio.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "paul-barton.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pcreparatiehardenberg.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "peertube.social", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "peintrenomade.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "peoplerange.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "performing-art-schools.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "petroleum-schools.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "petrotranz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "philosophy-colleges.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "physics-schools.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pilot-colleges.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pirates.click", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pitbullsecuritysolutions.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pixel-kraft.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "plan-it-events.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "plastiflex.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "police-schools.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "political-science-schools.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pornalpha.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pornbay.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "porndragon.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pornflare.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "porngay.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pornimg.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pornless.biz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pornmax.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pornmega.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pornport.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pornshop.biz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pornstop.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pornsuper.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pornteddy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pornultra.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "porny.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "portalcarapicuiba.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "poschtiliste.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "postura-corretta.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "powerblanket.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "powerinboxperformance.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "praha-9.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "prashchar.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pratopronto.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pratorotoli.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "precisionmachineservice.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "preload.link", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "premtech.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "presbyterian-colleges.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "prettygirlcheats.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "privatevoid.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "progettograjau.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "propermatches.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "providerlijst.ml", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "psicologo-especialista-barcelona.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "psicologo-infantil-barcelona.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "psycolleges.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pxl-mailtracker.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "q1q2q3.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "qdabogados.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "quote.gq", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "r1a.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rada-group.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "radegundisfest.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "radiofmimagen.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "radior9.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "raevinnd.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rain.bz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ratelsec.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rayan-it.ir", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rbx-talk.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rdmc.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rdxsattamatka.mobi", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "recetin.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "redfoxmarketiing.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "redleslie.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rekonstrukcestatu.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "renee.today", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "resinflooringcompany.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "respecttheflame.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "revivalprayerfellowship.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rhetorical.ml", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "riverbendroofingnd.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "riverridgecc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "robbiecrash.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rolandlips.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rolandlips.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "romun.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "romy.tw", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "roseon.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "roshhashanahfun.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "royalfoxrealtor.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "royaltube.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rys.pw", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sacharidovejednotky.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "saint-cyril.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "saintpatrick-norristown.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sakura.zone", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sakuracdn.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "samanacafe.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "samlaw.co.nz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sanemind.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "savingsoftheyear.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "schgroup.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "schoeller.click", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "scholar.group", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "scholar.site", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "scholarstyle.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "scholledev.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "seachef.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "secpoc.online", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "secretary-schools.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "securitygladiators.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "securityzap.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "seg-sys.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "seguros-de-salud-y-vida.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "senego.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "senobio.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "seo-dr-it.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "seoankara.name.tr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sexflare.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sgitc.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "shaadithailand.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "shinglereplacementlv.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "shiqi.one", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "shivammathur.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "shop4d.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "shopperexperts.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "shopstasy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "silverswanrecruitment.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "site-helper.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "skk.moe", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "skyscapecanopies.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "smokeus.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "smtp.in.th", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sntravel.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "social-work-colleges.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sociology-schools.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "softonic.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "softonic.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "softonic.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "softwarehardenberg.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "somoshuemul.cl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "songshuzuoxi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sonix.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "soothemobilemassage.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "soren.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "soupcafe.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "southdakotahealthnetwork.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "southflanewsletter.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "soydemac.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "specdrones.us", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sperandii.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sports-colleges.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "squeakql.online", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ssrfq.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sssppp.gq", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "stannri.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "stanthony-hightstown.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "starsguru.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "stefanvd.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "stefpastoor.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "steuerkanzlei-und-wirtschaftsberater-manke.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "stgeorgegolfing.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "stgm.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "stickstueb.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "stisaac.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "stisidores.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "stjosephspringcity.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "stmariagoretti.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "stmattsparish.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "stolbart.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "stpatrickbayshore.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "streamblur.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "strosemausoleum.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "studisys.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "successdeliv.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "supcoronado.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "surveillance104.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "swiss-vanilla.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "swiss-vanilla.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "swissvanilla.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "swissvanilla.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "swn-nec.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "synack.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "syplasticsurgery.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tam-safe.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tanacio.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tatuantes.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "teamtravel.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "technologyhound.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "telefonsinyalguclendirici.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "terrorbilly.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "test-aankoop.be", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "test-achats.be", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "theatre-schools.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "thepharm.co.nz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "therapiemi.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "therhetorical.ml", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "thermorecetas.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "thestyleforme.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "thetotalemaildelivery.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "theverybusyoffice.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "thevoya.ga", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "thewayofthedojo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ticketdriver.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "timelessskincare.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tinkerers-trunk.co.za", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tlyphed.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tmas.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "todoereaders.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tohochofu-sportspark.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "toldositajuba.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tom94.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tomik.cloud", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "toontownrewritten.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "toppercan.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "torontoaccesscontrol.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tosolini.info", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "totalemaildelivery.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "toursthatmatter.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "transmute.review", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "trendreportdeals.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "trish-mcevoy.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "triticeaetoolbox.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "trueassignmenthelp.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "trueessayhelp.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "trustedbody.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "truyenfull.vn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tuev-hessen.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tuimprenta.com.ar", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tweedehandslaptophardenberg.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "uaci.edu.mx", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ubcani.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ubuntu18.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ultramax.biz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ultraporn.biz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "universidadvg.edu.mx", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "updatehub.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "valentin-dederer.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "valuechain.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "varyrentacar.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vasp.group", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "verein-zur-pflege-der-geselligkeit.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "verwandlung.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "verzekeringencambier.be", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "veterinary-colleges.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "veteriner.name.tr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vhrca.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "villu.ga", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vinahost.vn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vincentswordpress.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vinistas.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "virtual.hk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "visitbeulah.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vitavie.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "viveconsalud.club", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vouchinsurance.sg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vvzero.cf", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wacky-science.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wakhanyeza.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wangwill.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wanvi.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wayfairertravel.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "weather-schools.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "weather.gov", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "webgap.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "webxr.today", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "werkslimreisslim.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "westernfrontierins.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "westlaketire.pt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wesupportthebadge.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wgcp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wikihow.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wikihow.com.tr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wikihow.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wikihow.fitness", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wikihow.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wikihow.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wikihow.life", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wikihow.mom", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wikihow.pet", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wikihow.tech", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wikihow.vn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wikipiedi.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "windowsnoticias.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wineparis.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wishlist.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wolke7.wtf", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wonderbits.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "woodstocksupply.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "worca.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "worcade.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "workeria-personal.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "woti.dedyn.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wp-webagentur.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "writer24.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wunschzettel.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wuwuwu.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xmodule.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xn----8sbjfacqfqshbh7afyeg.xn--80asehdb", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xn--158h.ml", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xn--57h.ml", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xn--8bi.gq", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xn--et8h.cf", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xn--is8h6d.gq", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xr1s.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xss.name", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xsuper.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xtrememidlife.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xuehao.net.cn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xuehuang666.cn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xxxred.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xxxsuper.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "yanuwa.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "yayart.club", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ykhut.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "yosida-dental.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "yourfuntrivia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "yourgadget.ro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "yuuta.moe", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "zabavno.mk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "zdymak.by", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "zeal-and.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "zeestraten.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "zenram.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "zjyifa.cn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "zoop.ml", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "zp25.ninja", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "zqstudio.top", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "zyzsdy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "zz295.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     // END OF 1-YEAR BULK HSTS ENTRIES
 
     // Only eTLD+1 domains can be submitted automatically to hstspreload.org,
diff --git a/net/quic/quic_flags_list.h b/net/quic/quic_flags_list.h
index 033318f8..ad7222c 100644
--- a/net/quic/quic_flags_list.h
+++ b/net/quic/quic_flags_list.h
@@ -242,3 +242,10 @@
 
 // This flag fixes a bug where a zombie stream cannot be correctly reset.
 QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_fix_reset_zombie_streams, false)
+
+// When true, fix initialization and updating of
+// |time_of_first_packet_sent_after_receiving_| in QuicConnection.
+QUIC_FLAG(
+    bool,
+    FLAGS_quic_reloadable_flag_quic_fix_time_of_first_packet_sent_after_receiving,
+    true)
diff --git a/net/quic/quic_network_transaction_unittest.cc b/net/quic/quic_network_transaction_unittest.cc
index 26f05ae..873de44 100644
--- a/net/quic/quic_network_transaction_unittest.cc
+++ b/net/quic/quic_network_transaction_unittest.cc
@@ -2247,9 +2247,10 @@
 
   // Fire the retransmission alarm, from this point, connection will idle
   // timeout after 4 seconds.
-  // TODO(zhongyi): remove manually firing the alarm when b/116260560 is fixed.
-  quic_task_runner_->RunNextTask();
-
+  if (!quic::GetQuicReloadableFlag(
+          quic_fix_time_of_first_packet_sent_after_receiving)) {
+    quic_task_runner_->RunNextTask();
+  }
   // Fast forward to idle timeout the original connection. A new connection will
   // be kicked off on the alternate network.
   quic_task_runner_->FastForwardBy(quic::QuicTime::Delta::FromSeconds(4));
@@ -2377,9 +2378,10 @@
 
   // Fire the retransmission alarm, after which connection will idle
   // timeout after 4 seconds.
-  // TODO(zhongyi): remove manually firing the alarm when b/116260560 is fixed.
-  quic_task_runner_->RunNextTask();
-
+  if (!quic::GetQuicReloadableFlag(
+          quic_fix_time_of_first_packet_sent_after_receiving)) {
+    quic_task_runner_->RunNextTask();
+  }
   // Fast forward to idle timeout the original connection. A new connection will
   // be kicked off on the alternate network.
   quic_task_runner_->FastForwardBy(quic::QuicTime::Delta::FromSeconds(4));
@@ -2509,7 +2511,10 @@
 
   // Pump the message loop to get the request started.
   base::RunLoop().RunUntilIdle();
-  quic_task_runner_->RunNextTask();
+  if (!quic::GetQuicReloadableFlag(
+          quic_fix_time_of_first_packet_sent_after_receiving)) {
+    quic_task_runner_->RunNextTask();
+  }
 
   // Fast forward to idle timeout the original connection. A new connection will
   // be kicked off on the alternate network.
@@ -3299,11 +3304,21 @@
                                       11, quic::kHeadersStreamId, false, false,
                                       settings_offset, settings_data));
 
-  quic_data.AddWrite(
-      SYNCHRONOUS,
-      client_maker_.MakeAckAndConnectionClosePacket(
-          12, false, quic::QuicTime::Delta::FromMilliseconds(4200), 1, 1, 1,
-          quic::QUIC_NETWORK_IDLE_TIMEOUT, "No recent network activity."));
+  if (quic::GetQuicReloadableFlag(
+          quic_fix_time_of_first_packet_sent_after_receiving)) {
+    quic_data.AddWrite(
+        SYNCHRONOUS,
+        client_maker_.MakeAckAndConnectionClosePacket(
+            12, false, quic::QuicTime::Delta::FromMilliseconds(4000), 1, 1, 1,
+            quic::QUIC_NETWORK_IDLE_TIMEOUT, "No recent network activity."));
+
+  } else {
+    quic_data.AddWrite(
+        SYNCHRONOUS,
+        client_maker_.MakeAckAndConnectionClosePacket(
+            12, false, quic::QuicTime::Delta::FromMilliseconds(4200), 1, 1, 1,
+            quic::QUIC_NETWORK_IDLE_TIMEOUT, "No recent network activity."));
+  }
 
   quic_data.AddRead(ASYNC, ERR_IO_PENDING);
   quic_data.AddRead(ASYNC, OK);
diff --git a/net/third_party/quic/core/quic_connection.cc b/net/third_party/quic/core/quic_connection.cc
index b894f77..2658942 100644
--- a/net/third_party/quic/core/quic_connection.cc
+++ b/net/third_party/quic/core/quic_connection.cc
@@ -291,9 +291,13 @@
       packet_generator_(connection_id_, &framer_, random_generator_, this),
       idle_network_timeout_(QuicTime::Delta::Infinite()),
       handshake_timeout_(QuicTime::Delta::Infinite()),
+      time_of_first_packet_sent_after_receiving_(
+          GetQuicReloadableFlag(
+              quic_fix_time_of_first_packet_sent_after_receiving)
+              ? QuicTime::Zero()
+              : clock_->ApproximateNow()),
       time_of_last_received_packet_(clock_->ApproximateNow()),
       time_of_previous_received_packet_(QuicTime::Zero()),
-      last_send_for_timeout_(clock_->ApproximateNow()),
       sent_packet_manager_(
           perspective,
           clock_,
@@ -2124,12 +2128,27 @@
       SetPathDegradingAlarm();
     }
 
-    // Only adjust the last sent time (for the purpose of tracking the idle
-    // timeout) if this is the first retransmittable packet sent after a
-    // packet is received. If it were updated on every sent packet, then
-    // sending into a black hole might never timeout.
-    if (last_send_for_timeout_ <= time_of_last_received_packet_) {
-      last_send_for_timeout_ = packet_send_time;
+    if (GetQuicReloadableFlag(
+            quic_fix_time_of_first_packet_sent_after_receiving)) {
+      // Update |time_of_first_packet_sent_after_receiving_| if this is the
+      // first packet sent after the last packet was received. If it were
+      // updated on every sent packet, then sending into a black hole might
+      // never timeout.
+      if (time_of_first_packet_sent_after_receiving_ <
+          time_of_last_received_packet_) {
+        QUIC_FLAG_COUNT(
+            quic_reloadable_flag_quic_fix_time_of_first_packet_sent_after_receiving);  // NOLINT
+        time_of_first_packet_sent_after_receiving_ = packet_send_time;
+      }
+    } else {
+      // Only adjust the last sent time (for the purpose of tracking the idle
+      // timeout) if this is the first retransmittable packet sent after a
+      // packet is received. If it were updated on every sent packet, then
+      // sending into a black hole might never timeout.
+      if (time_of_first_packet_sent_after_receiving_ <=
+          time_of_last_received_packet_) {
+        time_of_first_packet_sent_after_receiving_ = packet_send_time;
+      }
     }
   }
   SetPingAlarm();
@@ -2602,7 +2621,8 @@
 void QuicConnection::CheckForTimeout() {
   QuicTime now = clock_->ApproximateNow();
   QuicTime time_of_last_packet =
-      std::max(time_of_last_received_packet_, last_send_for_timeout_);
+      std::max(time_of_last_received_packet_,
+               time_of_first_packet_sent_after_receiving_);
 
   // |delta| can be < 0 as |now| is approximate time but |time_of_last_packet|
   // is accurate time. However, this should not change the behavior of
@@ -2649,7 +2669,8 @@
 
 void QuicConnection::SetTimeoutAlarm() {
   QuicTime time_of_last_packet =
-      std::max(time_of_last_received_packet_, last_send_for_timeout_);
+      std::max(time_of_last_received_packet_,
+               time_of_first_packet_sent_after_receiving_);
 
   QuicTime deadline = time_of_last_packet + idle_network_timeout_;
   if (!handshake_timeout_.IsInfinite()) {
diff --git a/net/third_party/quic/core/quic_connection.h b/net/third_party/quic/core/quic_connection.h
index 49f9a1c..6dd8da71 100644
--- a/net/third_party/quic/core/quic_connection.h
+++ b/net/third_party/quic/core/quic_connection.h
@@ -1184,17 +1184,18 @@
   // Statistics for this session.
   QuicConnectionStats stats_;
 
-  // The time that we got a packet for this connection.
+  // Timestamps used for timeouts.
+  // The time of the first retransmittable packet that was sent after the most
+  // recently received packet.
+  QuicTime time_of_first_packet_sent_after_receiving_;
+  // The time that a packet is received for this connection. Initialized to
+  // connection creation time.
   // This is used for timeouts, and does not indicate the packet was processed.
   QuicTime time_of_last_received_packet_;
 
   // The time the previous ack-instigating packet was received and processed.
   QuicTime time_of_previous_received_packet_;
 
-  // The the send time of the first retransmittable packet sent after
-  // |time_of_last_received_packet_|.
-  QuicTime last_send_for_timeout_;
-
   // Sent packet manager which tracks the status of packets sent by this
   // connection and contains the send and receive algorithms to determine when
   // to send packets.
diff --git a/net/third_party/quic/core/quic_connection_test.cc b/net/third_party/quic/core/quic_connection_test.cc
index ad107c49..36bc4ff 100644
--- a/net/third_party/quic/core/quic_connection_test.cc
+++ b/net/third_party/quic/core/quic_connection_test.cc
@@ -3625,6 +3625,119 @@
   EXPECT_FALSE(connection_.GetRetransmittableOnWireAlarm()->IsSet());
 }
 
+TEST_P(QuicConnectionTest, IdleTimeoutAfterFirstSentPacket) {
+  EXPECT_TRUE(connection_.connected());
+  EXPECT_CALL(*send_algorithm_, OnPacketSent(_, _, _, _, _)).Times(AnyNumber());
+  EXPECT_FALSE(connection_.GetTimeoutAlarm()->IsSet());
+
+  EXPECT_CALL(*send_algorithm_, SetFromConfig(_, _));
+  QuicConfig config;
+  connection_.SetFromConfig(config);
+  EXPECT_TRUE(connection_.GetTimeoutAlarm()->IsSet());
+  QuicTime initial_ddl =
+      clock_.ApproximateNow() +
+      QuicTime::Delta::FromSeconds(kInitialIdleTimeoutSecs - 1);
+  EXPECT_EQ(initial_ddl, connection_.GetTimeoutAlarm()->deadline());
+  EXPECT_TRUE(connection_.connected());
+
+  // Advance the time and send the first packet to the peer.
+  clock_.AdvanceTime(QuicTime::Delta::FromMicroseconds(20));
+  QuicPacketNumber last_packet;
+  SendStreamDataToPeer(1, "foo", 0, NO_FIN, &last_packet);
+  EXPECT_EQ(1u, last_packet);
+  // This will be the updated deadline for the connection to idle time out.
+  QuicTime new_ddl = clock_.ApproximateNow() +
+                     QuicTime::Delta::FromSeconds(kInitialIdleTimeoutSecs - 1);
+
+  // Simulate the timeout alarm firing, the connection should not be closed as
+  // a new packet has been sent.
+  EXPECT_CALL(visitor_, OnConnectionClosed(_, _, _)).Times(0);
+  QuicTime::Delta delay = initial_ddl - clock_.ApproximateNow();
+  clock_.AdvanceTime(delay);
+  connection_.GetTimeoutAlarm()->Fire();
+  // Verify the timeout alarm deadline is updated.
+  EXPECT_TRUE(connection_.connected());
+  EXPECT_TRUE(connection_.GetTimeoutAlarm()->IsSet());
+  EXPECT_EQ(new_ddl, connection_.GetTimeoutAlarm()->deadline());
+
+  // Simulate the timeout alarm firing again, the connection now should be
+  // closed.
+  EXPECT_CALL(visitor_, OnConnectionClosed(QUIC_NETWORK_IDLE_TIMEOUT, _,
+                                           ConnectionCloseSource::FROM_SELF));
+  clock_.AdvanceTime(new_ddl - clock_.ApproximateNow());
+  connection_.GetTimeoutAlarm()->Fire();
+  EXPECT_FALSE(connection_.GetTimeoutAlarm()->IsSet());
+  EXPECT_FALSE(connection_.connected());
+
+  EXPECT_FALSE(connection_.GetAckAlarm()->IsSet());
+  EXPECT_FALSE(connection_.GetPingAlarm()->IsSet());
+  EXPECT_FALSE(connection_.GetRetransmissionAlarm()->IsSet());
+  EXPECT_FALSE(connection_.GetSendAlarm()->IsSet());
+  EXPECT_FALSE(connection_.GetMtuDiscoveryAlarm()->IsSet());
+  EXPECT_FALSE(connection_.GetRetransmittableOnWireAlarm()->IsSet());
+}
+
+TEST_P(QuicConnectionTest, IdleTimeoutAfterSendTwoPackets) {
+  EXPECT_TRUE(connection_.connected());
+  EXPECT_CALL(*send_algorithm_, OnPacketSent(_, _, _, _, _)).Times(AnyNumber());
+  EXPECT_FALSE(connection_.GetTimeoutAlarm()->IsSet());
+
+  EXPECT_CALL(*send_algorithm_, SetFromConfig(_, _));
+  QuicConfig config;
+  connection_.SetFromConfig(config);
+  EXPECT_TRUE(connection_.GetTimeoutAlarm()->IsSet());
+  QuicTime initial_ddl =
+      clock_.ApproximateNow() +
+      QuicTime::Delta::FromSeconds(kInitialIdleTimeoutSecs - 1);
+  EXPECT_EQ(initial_ddl, connection_.GetTimeoutAlarm()->deadline());
+  EXPECT_TRUE(connection_.connected());
+
+  // Immediately send the first packet, this is a rare case but test code will
+  // hit this issue often as MockClock used for tests doesn't move with code
+  // execution until manually adjusted.
+  QuicPacketNumber last_packet;
+  SendStreamDataToPeer(1, "foo", 0, NO_FIN, &last_packet);
+  EXPECT_EQ(1u, last_packet);
+
+  // Advance the time and send the second packet to the peer.
+  clock_.AdvanceTime(QuicTime::Delta::FromMilliseconds(20));
+  SendStreamDataToPeer(1, "foo", 0, NO_FIN, &last_packet);
+  EXPECT_EQ(2u, last_packet);
+
+  if (GetQuicReloadableFlag(
+          quic_fix_time_of_first_packet_sent_after_receiving)) {
+    // Simulate the timeout alarm firing, the connection will be closed.
+    EXPECT_CALL(visitor_, OnConnectionClosed(QUIC_NETWORK_IDLE_TIMEOUT, _,
+                                             ConnectionCloseSource::FROM_SELF));
+    clock_.AdvanceTime(initial_ddl - clock_.ApproximateNow());
+    connection_.GetTimeoutAlarm()->Fire();
+  } else {
+    // Simulate the timeout alarm firing, the connection will not be closed.
+    EXPECT_CALL(visitor_, OnConnectionClosed(_, _, _)).Times(0);
+    clock_.AdvanceTime(initial_ddl - clock_.ApproximateNow());
+    connection_.GetTimeoutAlarm()->Fire();
+    EXPECT_TRUE(connection_.GetTimeoutAlarm()->IsSet());
+    EXPECT_TRUE(connection_.connected());
+
+    // Advance another 20ms, and fire the alarm again. The connection will be
+    // closed.
+    EXPECT_CALL(visitor_, OnConnectionClosed(QUIC_NETWORK_IDLE_TIMEOUT, _,
+                                             ConnectionCloseSource::FROM_SELF));
+    clock_.AdvanceTime(QuicTime::Delta::FromMilliseconds(20));
+    connection_.GetTimeoutAlarm()->Fire();
+  }
+
+  EXPECT_FALSE(connection_.GetTimeoutAlarm()->IsSet());
+  EXPECT_FALSE(connection_.connected());
+
+  EXPECT_FALSE(connection_.GetAckAlarm()->IsSet());
+  EXPECT_FALSE(connection_.GetPingAlarm()->IsSet());
+  EXPECT_FALSE(connection_.GetRetransmissionAlarm()->IsSet());
+  EXPECT_FALSE(connection_.GetSendAlarm()->IsSet());
+  EXPECT_FALSE(connection_.GetMtuDiscoveryAlarm()->IsSet());
+  EXPECT_FALSE(connection_.GetRetransmittableOnWireAlarm()->IsSet());
+}
+
 TEST_P(QuicConnectionTest, HandshakeTimeout) {
   // Use a shorter handshake timeout than idle timeout for this test.
   const QuicTime::Delta timeout = QuicTime::Delta::FromSeconds(5);
diff --git a/remoting/resources/remoting_strings_bn.xtb b/remoting/resources/remoting_strings_bn.xtb
index 49fc357..23b89b8 100644
--- a/remoting/resources/remoting_strings_bn.xtb
+++ b/remoting/resources/remoting_strings_bn.xtb
@@ -316,7 +316,7 @@
 <translation id="8116630183974937060">একটি নেটওয়ার্ক ত্রুটি ঘটেছে৷ আপনার ডিভাইস অন-লাইনে আছে কিনা তা পরীক্ষা করে আবার চেষ্টা করুন৷</translation>
 <translation id="8178433417677596899">ব্যবহারকারী-থেকে-ব্যবহারকারীতে স্ক্রিন শেয়ার করা, দূরবর্তী প্রযুক্তিগত সহায়তার জন্য উপযুক্ত৷</translation>
 <translation id="8187079423890319756">কপিরাইট ২০১৩ Chromium রচয়িতা৷ সর্বস্বত্ত্ব সংরক্ষিত৷</translation>
-<translation id="8196755618196986400">পরবর্তী তথ্যের জন্য আমাদেরকে আপনার সঙ্গে যোগাযোগ করার অনুমতি দিতে, আপনি কোনো প্রতিক্রিয়া জমা দিলে তার সঙ্গে আপনার ইমেল আইডি যোগ করা হবে।</translation>
+<translation id="8196755618196986400">পরবর্তী তথ্যের জন্য আমাদেরকে আপনার সঙ্গে যোগাযোগ করার অনুমতি দিতে, আপনি কোনও প্রতিক্রিয়া জমা দিলে তার সঙ্গে আপনার ইমেল আইডি যোগ করা হবে।</translation>
 <translation id="8244400547700556338">জানুন কিভাবে৷</translation>
 <translation id="8261506727792406068">মুছুন</translation>
 <translation id="8355326866731426344">এই অ্যাক্সেস কোডটির মেয়াদ <ph name="TIMEOUT" />এ শেষ হবে</translation>
diff --git a/remoting/resources/remoting_strings_ca.xtb b/remoting/resources/remoting_strings_ca.xtb
index bcc49c4..19bbcbf 100644
--- a/remoting/resources/remoting_strings_ca.xtb
+++ b/remoting/resources/remoting_strings_ca.xtb
@@ -331,7 +331,7 @@
 <translation id="8548209692293300397">Heu iniciat la sessió anteriorment com a <ph name="USER_NAME" /> (<ph name="USER_EMAIL" />). Per accedir als ordinadors d'aquest compte, <ph name="LINK_BEGIN" />inicieu la sessió a Google Chrome<ph name="LINK_END" /> amb el compte en qüestió i torneu a instal·lar l'escriptori remot de Chrome.</translation>
 <translation id="8642984861538780905">Suficient</translation>
 <translation id="8705151241155781642">• S'admet Android 9.0 Pie.
-• S'admet el canvi de mida de la resolució de la pantalla remota perquè s'adapti a la pantalla del dispositiu Android.</translation>
+• Es pot canviar la mida de la resolució de la pantalla remota perquè s'adapti a la pantalla del dispositiu Android.</translation>
 <translation id="8712909229180978490">No puc veure els meus fitxers desats en línia a Google Drive.</translation>
 <translation id="8743328882720071828">Vols permetre que <ph name="CLIENT_USERNAME" /> pugui veure i controlar l'ordinador?</translation>
 <translation id="8747048596626351634">La sessió s'ha bloquejat o no s'ha pogut iniciar. Si s'ha introduït ~/.chrome-remote-desktop-session a l'ordinador remot, comprova que s'iniciï un procés llarg en primer pla, com ara un entorn d'escriptori o un gestor de finestres.</translation>
diff --git a/services/service_manager/service_manager.cc b/services/service_manager/service_manager.cc
index d3c2ea9..8619e6b 100644
--- a/services/service_manager/service_manager.cc
+++ b/services/service_manager/service_manager.cc
@@ -945,12 +945,13 @@
       catalog::ServiceOptions::InstanceSharingType::SINGLETON;
   const Identity original_target(params->target());
 
-  // Services that request "all_users" class from the Service Manager are
+  // Services that have "shared_instance_across_users" value of
+  // "instance_sharing" option are
   // allowed to field connection requests from any user. They also run with a
   // synthetic user id generated here. The user id provided via Connect() is
-  // ignored. Additionally services with the "all_users" class are not tied to
-  // the lifetime of the service that started them, instead they are owned by
-  // the Service Manager.
+  // ignored. Additionally services with the "shared_instance_across_users"
+  // value are not tied to the lifetime of the service that started them,
+  // instead they are owned by the Service Manager.
   Identity source_identity_for_creation;
 
   InstanceType instance_type;
diff --git a/services/service_manager/tests/connect/connect_unittest.cc b/services/service_manager/tests/connect/connect_unittest.cc
index 5595cf5..4e160ee 100644
--- a/services/service_manager/tests/connect/connect_unittest.cc
+++ b/services/service_manager/tests/connect/connect_unittest.cc
@@ -424,8 +424,9 @@
   EXPECT_EQ(result, mojom::ConnectResult::ACCESS_DENIED);
 }
 
-// Verifies that a client with the "all_users" capability class can receive
-// connections from clients run as other users.
+// Verifies that a client with the "shared_instance_across_users" value of
+// "instance_sharing" option can receive connections from clients run as other
+// users.
 TEST_F(ConnectTest, AllUsersSingleton) {
   // Connect to an instance with an explicitly different user_id. This supplied
   // user id should be ignored by the service manager (which will generate its
diff --git a/services/service_manager/tests/service_manager/service_manager_unittest.cc b/services/service_manager/tests/service_manager/service_manager_unittest.cc
index 055e6f567..cc22ccdb 100644
--- a/services/service_manager/tests/service_manager/service_manager_unittest.cc
+++ b/services/service_manager/tests/service_manager/service_manager_unittest.cc
@@ -462,7 +462,7 @@
   StartService(instance_identity, /*expect_service_started=*/true);
 }
 
-// Tests that starting an all_users packaged service works, and that when
+// Tests that starting a shared instance packaged service works, and that when
 // starting that service again, a new service is created only when a different
 // instance name is specified.
 TEST_F(ServiceManagerTest, CreatePackagedAllUsersInstances) {
diff --git a/services/ws/public/mojom/window_tree.mojom b/services/ws/public/mojom/window_tree.mojom
index b43038b..316c26e 100644
--- a/services/ws/public/mojom/window_tree.mojom
+++ b/services/ws/public/mojom/window_tree.mojom
@@ -543,15 +543,6 @@
 
   OnWindowCursorChanged(uint64 window_id, CursorData cursor);
 
-  // Invoked when a client window submits a new surface ID. The surface ID and
-  // associated information is propagated to the parent connection. The parent
-  // compositor can take ownership of this surface ID and embed it along with
-  // frame_size and device_scale_factor in a layer.
-  // TODO(fsamuel): Surface IDs should be passed to parents directly instead of
-  // going through the window server. http://crbug.com/655231
-  OnWindowSurfaceChanged(uint64 window_id,
-                         viz.mojom.SurfaceInfo surface_info);
-
   // Called when the mouse cursor enters a window on this connection for the
   // first time, providing a list of available mime types. We want to send this
   // set of data only one time, so this isn't part of OnDragEnter(), which
diff --git a/services/ws/test_change_tracker.cc b/services/ws/test_change_tracker.cc
index 03a2daf..24cc3f6 100644
--- a/services/ws/test_change_tracker.cc
+++ b/services/ws/test_change_tracker.cc
@@ -153,10 +153,6 @@
                                 change.float_value);
     case CHANGE_TYPE_REQUEST_CLOSE:
       return "RequestClose";
-    case CHANGE_TYPE_SURFACE_CHANGED:
-      return base::StringPrintf("SurfaceCreated window_id=%s surface_id=%s",
-                                WindowIdToString(change.window_id).c_str(),
-                                change.surface_id.ToString().c_str());
     case CHANGE_TYPE_TRANSFORM_CHANGED:
       return base::StringPrintf("TransformChanged window_id=%s",
                                 WindowIdToString(change.window_id).c_str());
@@ -526,18 +522,6 @@
   AddChange(change);
 }
 
-void TestChangeTracker::OnWindowSurfaceChanged(
-    Id window_id,
-    const viz::SurfaceInfo& surface_info) {
-  Change change;
-  change.type = CHANGE_TYPE_SURFACE_CHANGED;
-  change.window_id = window_id;
-  change.surface_id = surface_info.id();
-  change.frame_size = surface_info.size_in_pixels();
-  change.device_scale_factor = surface_info.device_scale_factor();
-  AddChange(change);
-}
-
 void TestChangeTracker::OnDragDropStart(
     const base::flat_map<std::string, std::vector<uint8_t>>& drag_data) {
   Change change;
diff --git a/services/ws/test_change_tracker.h b/services/ws/test_change_tracker.h
index 3a551d8d..a8da456 100644
--- a/services/ws/test_change_tracker.h
+++ b/services/ws/test_change_tracker.h
@@ -45,7 +45,6 @@
   CHANGE_TYPE_ON_TOP_LEVEL_CREATED,
   CHANGE_TYPE_OPACITY,
   CHANGE_TYPE_REQUEST_CLOSE,
-  CHANGE_TYPE_SURFACE_CHANGED,
   CHANGE_TYPE_TRANSFORM_CHANGED,
   CHANGE_TYPE_DISPLAY_CHANGED,
   CHANGE_TYPE_DRAG_DROP_START,
@@ -103,9 +102,6 @@
   std::string property_value;
   ui::CursorType cursor_type;
   uint32_t change_id;
-  viz::SurfaceId surface_id;
-  gfx::Size frame_size;
-  float device_scale_factor;
   gfx::Transform transform;
   // Set in OnWindowInputEvent() if the event is a KeyEvent.
   base::flat_map<std::string, std::vector<uint8_t>> key_event_properties;
@@ -218,8 +214,6 @@
   void OnTopLevelCreated(uint32_t change_id,
                          mojom::WindowDataPtr window_data,
                          bool drawn);
-  void OnWindowSurfaceChanged(Id window_id,
-                              const viz::SurfaceInfo& surface_info);
   void OnDragDropStart(
       const base::flat_map<std::string, std::vector<uint8_t>>& drag_data);
   void OnDragEnter(Id window_id);
diff --git a/services/ws/test_window_tree_client.cc b/services/ws/test_window_tree_client.cc
index 0394348..2b917e7 100644
--- a/services/ws/test_window_tree_client.cc
+++ b/services/ws/test_window_tree_client.cc
@@ -237,12 +237,6 @@
   tracker_.OnWindowCursorChanged(window_id, cursor);
 }
 
-void TestWindowTreeClient::OnWindowSurfaceChanged(
-    Id window_id,
-    const viz::SurfaceInfo& surface_info) {
-  tracker_.OnWindowSurfaceChanged(window_id, surface_info);
-}
-
 void TestWindowTreeClient::OnDragDropStart(
     const base::flat_map<std::string, std::vector<uint8_t>>& drag_data) {
   tracker_.OnDragDropStart(drag_data);
diff --git a/services/ws/test_window_tree_client.h b/services/ws/test_window_tree_client.h
index e3f8553..ed67b4ec2 100644
--- a/services/ws/test_window_tree_client.h
+++ b/services/ws/test_window_tree_client.h
@@ -161,8 +161,6 @@
       const base::Optional<std::vector<uint8_t>>& new_data) override;
   void OnWindowFocused(Id focused_window_id) override;
   void OnWindowCursorChanged(Id window_id, ui::CursorData cursor) override;
-  void OnWindowSurfaceChanged(Id window_id,
-                              const viz::SurfaceInfo& surface_info) override;
   void OnDragDropStart(const base::flat_map<std::string, std::vector<uint8_t>>&
                            drag_data) override;
   void OnDragEnter(Id window,
diff --git a/services/ws/window_tree.cc b/services/ws/window_tree.cc
index 7fcf906..da5b3e5 100644
--- a/services/ws/window_tree.cc
+++ b/services/ws/window_tree.cc
@@ -451,6 +451,15 @@
          server_window->embedded_window_tree() != this;
 }
 
+bool WindowTree::DoesAnyAncestorInterceptEvents(ServerWindow* window) {
+  if (window->embedding() && window->embedding()->embedding_tree() != this &&
+      window->embedding()->embedding_tree_intercepts_events()) {
+    return true;
+  }
+  ServerWindow* parent = ServerWindow::GetMayBeNull(window->window()->parent());
+  return parent && DoesAnyAncestorInterceptEvents(parent);
+}
+
 void WindowTree::OnCaptureLost(aura::Window* lost_capture) {
   DCHECK(IsWindowKnown(lost_capture));
   window_tree_client_->OnCaptureChanged(kInvalidTransportId,
@@ -772,6 +781,14 @@
 
   ServerWindow* server_window = ServerWindow::GetMayBeNull(window);
 
+  if (DoesAnyAncestorInterceptEvents(server_window)) {
+    // If an ancestor is intercepting events, than the descendants are not
+    // allowed to set capture. This is primarily to prevent renderers from
+    // setting capture.
+    DVLOG(1) << "SetCapture failed (ancestor intercepts events)";
+    return false;
+  }
+
   wm::CaptureController* capture_controller = wm::CaptureController::Get();
   DCHECK(capture_controller);
 
diff --git a/services/ws/window_tree.h b/services/ws/window_tree.h
index 1945421..ac15787 100644
--- a/services/ws/window_tree.h
+++ b/services/ws/window_tree.h
@@ -208,6 +208,9 @@
 
   bool IsWindowRootOfAnotherClient(aura::Window* window) const;
 
+  // Returns true if |window| has an ancestor that intercepts events.
+  bool DoesAnyAncestorInterceptEvents(ServerWindow* window);
+
   // Called when one of the windows known to the client loses capture.
   // |lost_capture| is the window that had capture.
   void OnCaptureLost(aura::Window* lost_capture);
diff --git a/services/ws/window_tree_client_unittest.cc b/services/ws/window_tree_client_unittest.cc
index 48b03f66..6bbe7ae1 100644
--- a/services/ws/window_tree_client_unittest.cc
+++ b/services/ws/window_tree_client_unittest.cc
@@ -394,15 +394,9 @@
   void OnWindowCursorChanged(Id window_id, ui::CursorData cursor) override {
     tracker_.OnWindowCursorChanged(window_id, cursor);
   }
-
   void OnDragDropStart(const base::flat_map<std::string, std::vector<uint8_t>>&
                            drag_data) override {}
 
-  void OnWindowSurfaceChanged(Id window_id,
-                              const viz::SurfaceInfo& surface_info) override {
-    tracker_.OnWindowSurfaceChanged(window_id, surface_info);
-  }
-
   void OnDragEnter(Id window,
                    uint32_t key_state,
                    const gfx::Point& position,
@@ -2174,92 +2168,6 @@
   EXPECT_TRUE(changes1()->empty());
 }
 
-TEST_F(WindowTreeClientTest, DISABLED_SurfaceIdPropagation) {
-  const Id window_1_100 = wt_client1()->NewWindow(100);
-  ASSERT_TRUE(window_1_100);
-  ASSERT_TRUE(wt_client1()->AddWindow(root_window_id(), window_1_100));
-
-  // Establish the second client at client_id_1(),100.
-  ASSERT_NO_FATAL_FAILURE(EstablishSecondClientWithRoot(window_1_100));
-  changes2()->clear();
-
-  // client_id_1(),100 is the id in the wt_client1's id space. The new client
-  // should see client_id_2(),1 (the server id).
-  const Id window_1_100_in_ws2 = BuildWindowId(client_id_1(), 100);
-  EXPECT_EQ(window_1_100_in_ws2, wt_client2()->root_window_id());
-
-  // Submit a CompositorFrame to window_1_100_in_ws2 (the embedded window in
-  // wt2) and make sure the server gets it.
-  {
-    viz::mojom::CompositorFrameSinkPtr surface_ptr;
-    viz::mojom::CompositorFrameSinkClientRequest client_request;
-    viz::mojom::CompositorFrameSinkClientPtr surface_client_ptr;
-    client_request = mojo::MakeRequest(&surface_client_ptr);
-    wt2()->AttachCompositorFrameSink(window_1_100_in_ws2,
-                                     mojo::MakeRequest(&surface_ptr),
-                                     std::move(surface_client_ptr));
-    viz::CompositorFrame compositor_frame;
-    std::unique_ptr<viz::RenderPass> render_pass = viz::RenderPass::Create();
-    gfx::Rect frame_rect(0, 0, 100, 100);
-    render_pass->SetNew(1, frame_rect, frame_rect, gfx::Transform());
-    compositor_frame.render_pass_list.push_back(std::move(render_pass));
-    compositor_frame.metadata.device_scale_factor = 1.f;
-    compositor_frame.metadata.begin_frame_ack = viz::BeginFrameAck(0, 1, true);
-    viz::LocalSurfaceId local_surface_id(1, base::UnguessableToken::Create());
-    surface_ptr->SubmitCompositorFrame(
-        local_surface_id, std::move(compositor_frame), base::nullopt, 0);
-  }
-  // Make sure the parent connection gets the surface ID.
-  wt_client1()->WaitForChangeCount(1);
-  // Verify that the submitted frame is for |window_2_101|.
-  viz::FrameSinkId frame_sink_id =
-      changes1()->back().surface_id.frame_sink_id();
-  // FrameSinkId is based on window's ClientWindowId.
-  EXPECT_EQ(static_cast<size_t>(client_id_2()), frame_sink_id.client_id());
-  EXPECT_EQ(0u, frame_sink_id.sink_id());
-  changes1()->clear();
-
-  // The first window created in the second client gets a server id of
-  // client_id_2(),1 regardless of the id the client uses.
-  const Id window_2_101 = wt_client2()->NewWindow(101);
-  ASSERT_TRUE(wt_client2()->AddWindow(window_1_100_in_ws2, window_2_101));
-  const Id window_2_101_in_ws2 = BuildWindowId(client_id_2(), 101);
-  wt_client1()->WaitForChangeCount(1);
-  EXPECT_EQ("HierarchyChanged window=" + IdToString(window_2_101_in_ws2) +
-                " old_parent=null new_parent=" + IdToString(window_1_100),
-            SingleChangeToDescription(*changes1()));
-  // Submit a CompositorFrame to window_2_101_in_ws2 (a regular window in
-  // wt2) and make sure client gets it.
-  {
-    viz::mojom::CompositorFrameSinkPtr surface_ptr;
-    viz::mojom::CompositorFrameSinkClientRequest client_request;
-    viz::mojom::CompositorFrameSinkClientPtr surface_client_ptr;
-    client_request = mojo::MakeRequest(&surface_client_ptr);
-    wt2()->AttachCompositorFrameSink(window_2_101,
-                                     mojo::MakeRequest(&surface_ptr),
-                                     std::move(surface_client_ptr));
-    viz::CompositorFrame compositor_frame;
-    std::unique_ptr<viz::RenderPass> render_pass = viz::RenderPass::Create();
-    gfx::Rect frame_rect(0, 0, 100, 100);
-    render_pass->SetNew(1, frame_rect, frame_rect, gfx::Transform());
-    compositor_frame.render_pass_list.push_back(std::move(render_pass));
-    compositor_frame.metadata.device_scale_factor = 1.f;
-    compositor_frame.metadata.begin_frame_ack = viz::BeginFrameAck(0, 1, true);
-    viz::LocalSurfaceId local_surface_id(2, base::UnguessableToken::Create());
-    surface_ptr->SubmitCompositorFrame(
-        local_surface_id, std::move(compositor_frame), base::nullopt, 0);
-  }
-  // Make sure the parent connection gets the surface ID.
-  wt_client2()->WaitForChangeCount(1);
-  // Verify that the submitted frame is for |window_2_101|.
-  viz::FrameSinkId frame_sink_id2 =
-      changes2()->back().surface_id.frame_sink_id();
-  // FrameSinkId is based on window's ClientWindowId.
-  EXPECT_NE(0u, frame_sink_id2.client_id());
-  EXPECT_EQ(ClientWindowIdFromTransportId(window_2_101),
-            frame_sink_id2.sink_id());
-}
-
 // Verifies when an unknown window with a known child is added to a hierarchy
 // the known child is identified in the WindowData.
 TEST_F(WindowTreeClientTest, DISABLED_AddUnknownWindowKnownParent) {
diff --git a/services/ws/window_tree_unittest.cc b/services/ws/window_tree_unittest.cc
index bee2bcde..b8cad5e 100644
--- a/services/ws/window_tree_unittest.cc
+++ b/services/ws/window_tree_unittest.cc
@@ -962,6 +962,21 @@
   EXPECT_TRUE(setup.window_tree_test_helper()->ReleaseCapture(window));
 }
 
+TEST(WindowTreeTest, CaptureDisallowedWhenEmbedderInterceptsEvents) {
+  WindowServiceTestSetup setup;
+  aura::Window* top_level =
+      setup.window_tree_test_helper()->NewTopLevelWindow();
+  ASSERT_TRUE(top_level);
+  top_level->Show();
+  aura::Window* window = setup.window_tree_test_helper()->NewWindow();
+  top_level->AddChild(window);
+  window->Show();
+  std::unique_ptr<EmbeddingHelper> embedding_helper =
+      setup.CreateEmbedding(window, mojom::kEmbedFlagEmbedderInterceptsEvents);
+  ASSERT_TRUE(embedding_helper);
+  EXPECT_FALSE(embedding_helper->window_tree_test_helper->SetCapture(window));
+}
+
 TEST(WindowTreeTest, TransferCaptureToClient) {
   EventRecordingWindowDelegate window_delegate;
   WindowServiceTestSetup setup;
@@ -1166,52 +1181,6 @@
             LocatedEventToEventTypeAndLocation(drag_event.event.get()));
 }
 
-TEST(WindowTreeTest, InterceptEventsOnEmbeddedWindowWithCapture) {
-  EventRecordingWindowDelegate window_delegate;
-  WindowServiceTestSetup setup;
-  aura::Window* window = setup.window_tree_test_helper()->NewWindow();
-  ASSERT_TRUE(window);
-  setup.delegate()->set_delegate_for_next_top_level(&window_delegate);
-  aura::Window* top_level =
-      setup.window_tree_test_helper()->NewTopLevelWindow();
-  ASSERT_TRUE(top_level);
-  top_level->AddChild(window);
-  top_level->Show();
-  window->Show();
-
-  // Create an embedding, and a new window in the embedding.
-  std::unique_ptr<EmbeddingHelper> embedding_helper =
-      setup.CreateEmbedding(window, mojom::kEmbedFlagEmbedderInterceptsEvents);
-  ASSERT_TRUE(embedding_helper);
-  aura::Window* window_in_child =
-      embedding_helper->window_tree_test_helper->NewWindow();
-  ASSERT_TRUE(window_in_child);
-  window_in_child->Show();
-  window->AddChild(window_in_child);
-  EXPECT_TRUE(
-      embedding_helper->window_tree_test_helper->SetCapture(window_in_child));
-
-  // Do an initial move (which generates some additional events) and clear
-  // everything out.
-  ui::test::EventGenerator event_generator(setup.root());
-  event_generator.MoveMouseTo(5, 5);
-  setup.window_tree_client()->ClearInputEvents();
-  window_delegate.ClearEvents();
-  embedding_helper->window_tree_client.ClearInputEvents();
-
-  // Move the mouse. Even though the window in the embedding has capture, the
-  // event should go to the parent client (setup.window_tree_client()), because
-  // the embedding was created such that the embedder (parent) intercepts the
-  // events.
-  event_generator.MoveMouseTo(6, 6);
-  EXPECT_TRUE(window_delegate.events().empty());
-  EXPECT_EQ("POINTER_MOVED",
-            EventToEventType(
-                setup.window_tree_client()->PopInputEvent().event.get()));
-  EXPECT_TRUE(setup.window_tree_client()->input_events().empty());
-  EXPECT_TRUE(embedding_helper->window_tree_client.input_events().empty());
-}
-
 TEST(WindowTreeTest, PointerDownResetOnCaptureChange) {
   WindowServiceTestSetup setup;
   aura::Window* window = setup.window_tree_test_helper()->NewWindow();
diff --git a/testing/buildbot/chromium.perf.json b/testing/buildbot/chromium.perf.json
index a6a080c2..1974b2d 100644
--- a/testing/buildbot/chromium.perf.json
+++ b/testing/buildbot/chromium.perf.json
@@ -1,12 +1,6 @@
 {
   "AAAAA1 AUTOGENERATED FILE DO NOT EDIT": {},
   "AAAAA2 See //tools/perf/generate_perf_data to make changes": {},
-  "Android Compile Perf": {
-    "additional_compile_targets": [
-      "microdump_stackwalk",
-      "angle_perftests"
-    ]
-  },
   "Android Nexus5 Perf": {
     "isolated_scripts": [
       {
@@ -341,12 +335,6 @@
       }
     ]
   },
-  "Android arm64 Compile Perf": {
-    "additional_compile_targets": [
-      "microdump_stackwalk",
-      "angle_perftests"
-    ]
-  },
   "Linux Builder Perf": {
     "additional_compile_targets": [
       "chromedriver"
@@ -812,6 +800,12 @@
       "chromedriver"
     ]
   },
+  "android-builder-perf": {
+    "additional_compile_targets": [
+      "microdump_stackwalk",
+      "angle_perftests"
+    ]
+  },
   "android-go-perf": {
     "isolated_scripts": [
       {
@@ -1139,6 +1133,12 @@
       }
     ]
   },
+  "android_arm64-builder-perf": {
+    "additional_compile_targets": [
+      "microdump_stackwalk",
+      "angle_perftests"
+    ]
+  },
   "linux-perf": {
     "isolated_scripts": [
       {
diff --git a/testing/buildbot/filters/mojo.fyi.chromeos.network_browser_tests.filter b/testing/buildbot/filters/mojo.fyi.chromeos.network_browser_tests.filter
index 721f84f..fb0d5f6 100644
--- a/testing/buildbot/filters/mojo.fyi.chromeos.network_browser_tests.filter
+++ b/testing/buildbot/filters/mojo.fyi.chromeos.network_browser_tests.filter
@@ -72,11 +72,7 @@
 -SAMLPolicyTest.TransferCookiesAffiliated
 -SAMLPolicyTest.TransferCookiesUnaffiliated
 -SamlTest.FailToRetrieveAutenticatedUserEmailAddress
--SamlTest.HTTPRedirectDisallowed
--SamlTest.MetaRefreshToHTTPDisallowed
--SamlTest.NoticeUpdatedOnRedirect
 -SamlTest.PasswordConfirmFlow
--SamlTest.SamlUI
 -SamlTest.ScrapedDynamic
 -SamlTest.ScrapedNone
 -SamlTest.ScrapedSingle
diff --git a/testing/buildbot/filters/webui_polymer2_browser_tests.filter b/testing/buildbot/filters/webui_polymer2_browser_tests.filter
index 0e5c188..a051fc7 100644
--- a/testing/buildbot/filters/webui_polymer2_browser_tests.filter
+++ b/testing/buildbot/filters/webui_polymer2_browser_tests.filter
@@ -37,14 +37,6 @@
 -SettingsA11ySignOut.*
 
 # ChromeOS only test failures.
--AudioPlayerBrowserTest.ChangeTracks
--AudioPlayerBrowserTest.ChangeTracksPlayList
--AudioPlayerBrowserTest.ChangeTracksPlayListIcon
--AudioPlayerBrowserTest.ChangeVolumeLevel
--AudioPlayerBrowserTest.OpenAudioOnDownloads
--AudioPlayerBrowserTest.OpenAudioOnDrive
--AudioPlayerBrowserTest.TogglePlayState
--AudioPlayerBrowserTestInGuestMode.OpenAudioOnDownloads
 -CrSettingsBluetoothPageTest.All
 -CrSettingsCrostiniPageTest.All
 -CrSettingsDevicePageTest.DisplayTest
@@ -66,14 +58,6 @@
 -DemoSetupTest.OnlineSetupFlowSuccess
 -DemoSetupTest.ShowOfflineSetupOptionOnNetworkList
 -EulaTest.LoadOffline
--OpenAudioFiles/FilesAppBrowserTest.Test/audioOpenDownloads
--OpenAudioFiles/FilesAppBrowserTest.Test/audioOpenDownloads_GuestMode
--OpenAudioFiles/FilesAppBrowserTest.Test/audioOpenDrive
--OpenAudioFiles/FilesAppBrowserTest.Test/audioOpenDrive_DriveFs
--OpenAudioFiles/FilesAppBrowserTest.Test/audioRepeatAllModeMultipleFileDrive
--OpenAudioFiles/FilesAppBrowserTest.Test/audioRepeatAllModeSingleFileDrive
--OpenAudioFiles/FilesAppBrowserTest.Test/audioRepeatOneModeMultipleFileDrive
--OpenAudioFiles/FilesAppBrowserTest.Test/audioRepeatOneModeSingleFileDrive
 -TabIndex/FilesAppBrowserTest.Test/tabindexSaveFileDialogDownloads
 -TabIndex/FilesAppBrowserTest.Test/tabindexSaveFileDialogDownloads_GuestMode
 -TabIndex/FilesAppBrowserTest.Test/tabindexSaveFileDialogDrive
@@ -89,10 +73,7 @@
 # failing tests.
 
 ActiveDirectoryJoinTest.*
-AudioPlayerBrowserTest.ChangeTracksPlayList
-AudioPlayerBrowserTest.ChangeTracksPlayListIcon
-AudioPlayerBrowserTest.ChangeVolumeLevel
-AudioPlayerBrowserTestInGuestMode.*
+AudioPlayerBrowserTest.*
 BluetoothInternalsTest.*
 CertificateViewerModalUITest.*
 CertificateViewerModalUITestAsync.*
@@ -289,6 +270,7 @@
 NetInternalsTest.*
 NoBackgroundTasksTest.*
 NTP4WebUITest.*
+OpenAudioFiles.*
 PasswordsAndFormsBrowserTest.*
 PrintPreviewAdvancedDialogTest.*
 PrintPreviewAdvancedItemTest.*
diff --git a/testing/variations/fieldtrial_testing_config.json b/testing/variations/fieldtrial_testing_config.json
index b15b330..0c856657 100644
--- a/testing/variations/fieldtrial_testing_config.json
+++ b/testing/variations/fieldtrial_testing_config.json
@@ -72,7 +72,7 @@
             ]
         }
     ],
-    "AdvancedProtectionStatus": [
+    "AdvancedProtectionStatusRollout": [
         {
             "platforms": [
                 "chromeos",
@@ -3655,6 +3655,24 @@
             ]
         }
     ],
+    "RuntimeHostPermissions": [
+        {
+            "platforms": [
+                "chromeos",
+                "linux",
+                "mac",
+                "windows"
+            ],
+            "experiments": [
+                {
+                    "name": "Enabled",
+                    "enable_features": [
+                        "RuntimeHostPermissions"
+                    ]
+                }
+            ]
+        }
+    ],
     "SRTPromptFieldTrial": [
         {
             "platforms": [
diff --git a/third_party/WebKit/LayoutTests/TestExpectations b/third_party/WebKit/LayoutTests/TestExpectations
index d6e265eb..1337493 100644
--- a/third_party/WebKit/LayoutTests/TestExpectations
+++ b/third_party/WebKit/LayoutTests/TestExpectations
@@ -1741,9 +1741,6 @@
 crbug.com/591099 virtual/layout_ng_experimental/external/wpt/css/css-flexbox/order/order-with-row-reverse.html [ Failure ]
 # ====== LayoutNG-only failures until here ======
 
-# V8 will break this and needs rebaseline.
-crbug.com/855582 http/tests/devtools/sources/debugger-ui/last-execution-context.js [ Failure Pass ]
-
 ### sheriff 2018-05-28
 crbug.com/840238 http/tests/devtools/elements/shadow/shadow-distribution.js [ Failure ]
 
@@ -2834,6 +2831,29 @@
 crbug.com/875249 external/wpt/infrastructure/testdriver/bless.html [ Timeout Pass ]
 
 # ====== New tests from wpt-importer added here ======
+crbug.com/626703 virtual/outofblink-cors-ns/external/wpt/referrer-policy/css-integration/svg/internal-stylesheet.html [ Timeout ]
+crbug.com/626703 external/wpt/svg/pservers/reftests/meshgradient-basic-004.svg [ Failure ]
+crbug.com/626703 external/wpt/svg/pservers/reftests/meshgradient-basic-001.svg [ Failure ]
+crbug.com/626703 virtual/outofblink-cors-ns/external/wpt/referrer-policy/css-integration/svg/presentation-attribute.html [ Timeout ]
+crbug.com/626703 virtual/outofblink-cors-ns/external/wpt/referrer-policy/css-integration/svg/external-stylesheet.html [ Timeout ]
+crbug.com/626703 virtual/outofblink-cors/external/wpt/referrer-policy/css-integration/svg/inline-style.html [ Timeout ]
+crbug.com/626703 external/wpt/referrer-policy/css-integration/svg/presentation-attribute.html [ Timeout ]
+crbug.com/626703 external/wpt/referrer-policy/css-integration/svg/inline-style.html [ Timeout ]
+crbug.com/626703 external/wpt/referrer-policy/css-integration/svg/internal-stylesheet.html [ Timeout ]
+crbug.com/626703 virtual/outofblink-cors/external/wpt/referrer-policy/css-integration/svg/processing-instruction.html [ Timeout ]
+crbug.com/626703 external/wpt/referrer-policy/css-integration/svg/external-stylesheet.html [ Timeout ]
+crbug.com/626703 external/wpt/svg/pservers/reftests/meshgradient-complex-001.svg [ Failure ]
+crbug.com/626703 virtual/outofblink-cors-ns/external/wpt/referrer-policy/css-integration/svg/inline-style.html [ Timeout ]
+crbug.com/626703 external/wpt/referrer-policy/css-integration/svg/processing-instruction.html [ Timeout ]
+crbug.com/626703 virtual/outofblink-cors/external/wpt/referrer-policy/css-integration/svg/presentation-attribute.html [ Timeout ]
+crbug.com/626703 external/wpt/svg/pservers/reftests/meshgradient-bicubic-001.svg [ Failure ]
+crbug.com/626703 external/wpt/x-frame-options/multiple.sub.html [ Timeout ]
+crbug.com/626703 external/wpt/svg/pservers/reftests/meshgradient-basic-005.svg [ Failure ]
+crbug.com/626703 external/wpt/svg/pservers/reftests/meshgradient-basic-002.svg [ Failure ]
+crbug.com/626703 virtual/outofblink-cors-ns/external/wpt/referrer-policy/css-integration/svg/processing-instruction.html [ Timeout ]
+crbug.com/626703 external/wpt/svg/pservers/reftests/meshgradient-basic-003.svg [ Failure ]
+crbug.com/626703 virtual/outofblink-cors/external/wpt/referrer-policy/css-integration/svg/internal-stylesheet.html [ Timeout ]
+crbug.com/626703 virtual/outofblink-cors/external/wpt/referrer-policy/css-integration/svg/external-stylesheet.html [ Timeout ]
 crbug.com/626703 external/wpt/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-block-margins.html [ Failure ]
 crbug.com/626703 external/wpt/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-display-rendering.html [ Failure ]
 crbug.com/626703 [ Mac ] external/wpt/css/css-text/hyphens/hyphens-auto-001.html [ Failure ]
@@ -2890,7 +2910,7 @@
 crbug.com/626703 external/wpt/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/fieldset-transform-translatez.html [ Failure ]
 crbug.com/626703 external/wpt/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/fieldset-overflow-hidden.html [ Failure ]
 crbug.com/626703 [ Mac10.12 ] external/wpt/webxr/xrSession_requestAnimationFrame_getDevicePose.https.html [ Failure Timeout ]
-crbug.com/626703 external/wpt/payment-request/payment-response/onpayerdetailchange-attribute.manual.https.html [ Timeout ]
+crbug.com/626703 external/wpt/payment-request/payment-response/onpayerdetailchange-attribute-manual.https.html [ Timeout ]
 crbug.com/626703 external/wpt/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/fieldset-painting-order.html [ Failure ]
 crbug.com/626703 external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/tasks.window.html [ Timeout ]
 crbug.com/626703 external/wpt/css/css-transitions/event-dispatch.tentative.html [ Timeout ]
@@ -4588,6 +4608,10 @@
 # TODO(senorblanco): rebaseline after Skia roll
 crbug.com/802896 virtual/gpu/fast/canvas/canvas-ellipse-circumference-fill.html [ Failure Pass ]
 
+# TODO(michaelludwig): rebaseline after Skia roll
+crbug.com/888675 virtual/gpu/fast/canvas/fillrect_gradient.html [ Failure Pass ]
+crbug.com/888675 virtual/gpu/fast/canvas/gradient-add-second-start-end-stop.html [ Failure Pass ]
+
 crbug.com/813704 http/tests/images/png-partial-load-as-document.html [ Failure Pass ]
 
 crbug.com/806645 [ Win7 Mac ] http/tests/devtools/elements/elements-panel-rewrite-href.js [ Failure Pass ]
@@ -4708,7 +4732,8 @@
 crbug.com/831796 fast/events/autoscroll-in-textfield.html [ Failure Pass ]
 crbug.com/831685 [ Linux ] external/wpt/2dcontext/compositing/2d.composite.canvas.lighter.html [ Pass Timeout ]
 crbug.com/831673 http/tests/devtools/reveal-objects.js [ Pass Timeout ]
-crbug.com/831496 virtual/gpu/fast/canvas/fillrect_gradient.html [ Pass Timeout ]
+# TODO(michaelludwig) - Restore after Skia suppression is removed for crbug.com/888675
+# crbug.com/831496 virtual/gpu/fast/canvas/fillrect_gradient.html [ Pass Timeout ]
 crbug.com/831482 [ Linux ] virtual/gpu-rasterization/images/cross-fade-background-size.html [ Pass Timeout ]
 crbug.com/831249 [ Linux ] virtual/gpu/fast/canvas/canvas-filter-svg-inline.html [ Pass Timeout ]
 crbug.com/829952 fast/webgl/texImage-imageBitmap-from-image-resize.html [ Pass Timeout ]
diff --git a/third_party/WebKit/LayoutTests/external/WPT_BASE_MANIFEST_5.json b/third_party/WebKit/LayoutTests/external/WPT_BASE_MANIFEST_5.json
index 8c972d7f..7f8ec17 100644
--- a/third_party/WebKit/LayoutTests/external/WPT_BASE_MANIFEST_5.json
+++ b/third_party/WebKit/LayoutTests/external/WPT_BASE_MANIFEST_5.json
@@ -5461,6 +5461,12 @@
      {}
     ]
    ],
+   "payment-request/payment-response/onpayerdetailchange-attribute-manual.https.html": [
+    [
+     "/payment-request/payment-response/onpayerdetailchange-attribute-manual.https.html",
+     {}
+    ]
+   ],
    "payment-request/payment-response/payerEmail-attribute-manual.https.html": [
     [
      "/payment-request/payment-response/payerEmail-attribute-manual.https.html",
@@ -47641,6 +47647,258 @@
      {}
     ]
    ],
+   "css/css-layout-api/child-constraints/available-block-size-htb-vrl.https.html": [
+    [
+     "/css/css-layout-api/child-constraints/available-block-size-htb-vrl.https.html",
+     [
+      [
+       "/css/css-layout-api/green-square-ref.html",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/css-layout-api/child-constraints/available-block-size-invalid.https.html": [
+    [
+     "/css/css-layout-api/child-constraints/available-block-size-invalid.https.html",
+     [
+      [
+       "/css/css-layout-api/green-square-ref.html",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/css-layout-api/child-constraints/available-block-size-vrl-htb.https.html": [
+    [
+     "/css/css-layout-api/child-constraints/available-block-size-vrl-htb.https.html",
+     [
+      [
+       "/css/css-layout-api/green-square-ref.html",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/css-layout-api/child-constraints/available-inline-size-htb-htb.https.html": [
+    [
+     "/css/css-layout-api/child-constraints/available-inline-size-htb-htb.https.html",
+     [
+      [
+       "/css/css-layout-api/green-square-ref.html",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/css-layout-api/child-constraints/available-inline-size-invalid.https.html": [
+    [
+     "/css/css-layout-api/child-constraints/available-inline-size-invalid.https.html",
+     [
+      [
+       "/css/css-layout-api/green-square-ref.html",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/css-layout-api/child-constraints/available-inline-size-vrl-vrl.https.html": [
+    [
+     "/css/css-layout-api/child-constraints/available-inline-size-vrl-vrl.https.html",
+     [
+      [
+       "/css/css-layout-api/green-square-ref.html",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/css-layout-api/child-constraints/available-size-for-percentages-htb-htb.https.html": [
+    [
+     "/css/css-layout-api/child-constraints/available-size-for-percentages-htb-htb.https.html",
+     [
+      [
+       "/css/css-layout-api/green-square-ref.html",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/css-layout-api/child-constraints/available-size-for-percentages-htb-vrl.https.html": [
+    [
+     "/css/css-layout-api/child-constraints/available-size-for-percentages-htb-vrl.https.html",
+     [
+      [
+       "/css/css-layout-api/green-square-ref.html",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/css-layout-api/child-constraints/available-size-for-percentages-invalid.https.html": [
+    [
+     "/css/css-layout-api/child-constraints/available-size-for-percentages-invalid.https.html",
+     [
+      [
+       "/css/css-layout-api/green-square-ref.html",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/css-layout-api/child-constraints/available-size-for-percentages-vrl-htb.https.html": [
+    [
+     "/css/css-layout-api/child-constraints/available-size-for-percentages-vrl-htb.https.html",
+     [
+      [
+       "/css/css-layout-api/green-square-ref.html",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/css-layout-api/child-constraints/available-size-for-percentages-vrl-vrl.https.html": [
+    [
+     "/css/css-layout-api/child-constraints/available-size-for-percentages-vrl-vrl.https.html",
+     [
+      [
+       "/css/css-layout-api/green-square-ref.html",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/css-layout-api/child-constraints/fixed-block-size-vrl.https.html": [
+    [
+     "/css/css-layout-api/child-constraints/fixed-block-size-vrl.https.html",
+     [
+      [
+       "/css/css-layout-api/green-square-ref.html",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/css-layout-api/child-constraints/fixed-block-size.https.html": [
+    [
+     "/css/css-layout-api/child-constraints/fixed-block-size.https.html",
+     [
+      [
+       "/css/css-layout-api/green-square-ref.html",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/css-layout-api/child-constraints/fixed-inline-size-vrl.https.html": [
+    [
+     "/css/css-layout-api/child-constraints/fixed-inline-size-vrl.https.html",
+     [
+      [
+       "/css/css-layout-api/green-square-ref.html",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/css-layout-api/child-constraints/fixed-inline-size.https.html": [
+    [
+     "/css/css-layout-api/child-constraints/fixed-inline-size.https.html",
+     [
+      [
+       "/css/css-layout-api/green-square-ref.html",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/css-layout-api/child-constraints/percentage-size-htb-htb.https.html": [
+    [
+     "/css/css-layout-api/child-constraints/percentage-size-htb-htb.https.html",
+     [
+      [
+       "/css/css-layout-api/green-square-ref.html",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/css-layout-api/child-constraints/percentage-size-htb-vrl.https.html": [
+    [
+     "/css/css-layout-api/child-constraints/percentage-size-htb-vrl.https.html",
+     [
+      [
+       "/css/css-layout-api/green-square-ref.html",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/css-layout-api/child-constraints/percentage-size-invalid.https.html": [
+    [
+     "/css/css-layout-api/child-constraints/percentage-size-invalid.https.html",
+     [
+      [
+       "/css/css-layout-api/green-square-ref.html",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/css-layout-api/child-constraints/percentage-size-quirks-mode.https.html": [
+    [
+     "/css/css-layout-api/child-constraints/percentage-size-quirks-mode.https.html",
+     [
+      [
+       "/css/css-layout-api/green-square-ref.html",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/css-layout-api/child-constraints/percentage-size-vrl-htb.https.html": [
+    [
+     "/css/css-layout-api/child-constraints/percentage-size-vrl-htb.https.html",
+     [
+      [
+       "/css/css-layout-api/green-square-ref.html",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "css/css-layout-api/child-constraints/percentage-size-vrl-vrl.https.html": [
+    [
+     "/css/css-layout-api/child-constraints/percentage-size-vrl-vrl.https.html",
+     [
+      [
+       "/css/css-layout-api/green-square-ref.html",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
    "css/css-layout-api/constraints-data-function-failure.https.html": [
     [
      "/css/css-layout-api/constraints-data-function-failure.https.html",
@@ -48373,102 +48631,6 @@
      {}
     ]
    ],
-   "css/css-layout-api/perform-child-layout-available-inline-size-htb-htb.https.html": [
-    [
-     "/css/css-layout-api/perform-child-layout-available-inline-size-htb-htb.https.html",
-     [
-      [
-       "/css/css-layout-api/green-square-ref.html",
-       "=="
-      ]
-     ],
-     {}
-    ]
-   ],
-   "css/css-layout-api/perform-child-layout-available-inline-size-htb-vrl.https.html": [
-    [
-     "/css/css-layout-api/perform-child-layout-available-inline-size-htb-vrl.https.html",
-     [
-      [
-       "/css/css-layout-api/green-square-ref.html",
-       "=="
-      ]
-     ],
-     {}
-    ]
-   ],
-   "css/css-layout-api/perform-child-layout-available-inline-size-vrl-htb.https.html": [
-    [
-     "/css/css-layout-api/perform-child-layout-available-inline-size-vrl-htb.https.html",
-     [
-      [
-       "/css/css-layout-api/green-square-ref.html",
-       "=="
-      ]
-     ],
-     {}
-    ]
-   ],
-   "css/css-layout-api/perform-child-layout-available-inline-size-vrl-vrl.https.html": [
-    [
-     "/css/css-layout-api/perform-child-layout-available-inline-size-vrl-vrl.https.html",
-     [
-      [
-       "/css/css-layout-api/green-square-ref.html",
-       "=="
-      ]
-     ],
-     {}
-    ]
-   ],
-   "css/css-layout-api/perform-child-layout-fixed-block-size-vrl.https.html": [
-    [
-     "/css/css-layout-api/perform-child-layout-fixed-block-size-vrl.https.html",
-     [
-      [
-       "/css/css-layout-api/green-square-ref.html",
-       "=="
-      ]
-     ],
-     {}
-    ]
-   ],
-   "css/css-layout-api/perform-child-layout-fixed-block-size.https.html": [
-    [
-     "/css/css-layout-api/perform-child-layout-fixed-block-size.https.html",
-     [
-      [
-       "/css/css-layout-api/green-square-ref.html",
-       "=="
-      ]
-     ],
-     {}
-    ]
-   ],
-   "css/css-layout-api/perform-child-layout-fixed-inline-size-vrl.https.html": [
-    [
-     "/css/css-layout-api/perform-child-layout-fixed-inline-size-vrl.https.html",
-     [
-      [
-       "/css/css-layout-api/green-square-ref.html",
-       "=="
-      ]
-     ],
-     {}
-    ]
-   ],
-   "css/css-layout-api/perform-child-layout-fixed-inline-size.https.html": [
-    [
-     "/css/css-layout-api/perform-child-layout-fixed-inline-size.https.html",
-     [
-      [
-       "/css/css-layout-api/green-square-ref.html",
-       "=="
-      ]
-     ],
-     {}
-    ]
-   ],
    "css/css-layout-api/position-fragment-htb-ltr.https.html": [
     [
      "/css/css-layout-api/position-fragment-htb-ltr.https.html",
@@ -52297,6 +52459,18 @@
      {}
     ]
    ],
+   "css/css-multicol/multicol-under-vertical-rl-scroll.html": [
+    [
+     "/css/css-multicol/multicol-under-vertical-rl-scroll.html",
+     [
+      [
+       "/css/css-multicol/multicol-under-vertical-rl-scroll-ref.html",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
    "css/css-multicol/multicol-width-001.xht": [
     [
      "/css/css-multicol/multicol-width-001.xht",
@@ -59557,6 +59731,18 @@
      {}
     ]
    ],
+   "css/css-text/tab-size/tab-min-rendered-width-1.html": [
+    [
+     "/css/css-text/tab-size/tab-min-rendered-width-1.html",
+     [
+      [
+       "/css/css-text/tab-size/tab-min-rendered-width-1-ref.html",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
    "css/css-text/tab-size/tab-size-integer-001.html": [
     [
      "/css/css-text/tab-size/tab-size-integer-001.html",
@@ -65509,6 +65695,18 @@
      {}
     ]
    ],
+   "css/css-transforms/preserve3d-button.html": [
+    [
+     "/css/css-transforms/preserve3d-button.html",
+     [
+      [
+       "/css/css-transforms/preserve3d-button-ref.html",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
    "css/css-transforms/rotate/svg-rotate-3args-001.html": [
     [
      "/css/css-transforms/rotate/svg-rotate-3args-001.html",
@@ -98602,7 +98800,7 @@
      "/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-list-item.html",
      [
       [
-       "/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/fieldset-list-item-ref.html",
+       "/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-list-item-ref.html",
        "=="
       ]
      ],
@@ -100965,6 +101163,90 @@
      {}
     ]
    ],
+   "svg/pservers/reftests/meshgradient-basic-001.svg": [
+    [
+     "/svg/pservers/reftests/meshgradient-basic-001.svg",
+     [
+      [
+       "/svg/pservers/reftests/meshgradient-basic-001-ref.png",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "svg/pservers/reftests/meshgradient-basic-002.svg": [
+    [
+     "/svg/pservers/reftests/meshgradient-basic-002.svg",
+     [
+      [
+       "/svg/pservers/reftests/meshgradient-basic-002-ref.png",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "svg/pservers/reftests/meshgradient-basic-003.svg": [
+    [
+     "/svg/pservers/reftests/meshgradient-basic-003.svg",
+     [
+      [
+       "/svg/pservers/reftests/meshgradient-basic-003-ref.png",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "svg/pservers/reftests/meshgradient-basic-004.svg": [
+    [
+     "/svg/pservers/reftests/meshgradient-basic-004.svg",
+     [
+      [
+       "/svg/pservers/reftests/meshgradient-basic-004-ref.png",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "svg/pservers/reftests/meshgradient-basic-005.svg": [
+    [
+     "/svg/pservers/reftests/meshgradient-basic-005.svg",
+     [
+      [
+       "/svg/pservers/reftests/meshgradient-basic-005-ref.png",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "svg/pservers/reftests/meshgradient-bicubic-001.svg": [
+    [
+     "/svg/pservers/reftests/meshgradient-bicubic-001.svg",
+     [
+      [
+       "/svg/pservers/reftests/meshgradient-bicubic-001-ref.png",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
+   "svg/pservers/reftests/meshgradient-complex-001.svg": [
+    [
+     "/svg/pservers/reftests/meshgradient-complex-001.svg",
+     [
+      [
+       "/svg/pservers/reftests/meshgradient-complex-001-ref.png",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
    "svg/pservers/reftests/radialgradient-basic-002.svg": [
     [
      "/svg/pservers/reftests/radialgradient-basic-002.svg",
@@ -131489,6 +131771,11 @@
      {}
     ]
    ],
+   "css/css-multicol/multicol-under-vertical-rl-scroll-ref.html": [
+    [
+     {}
+    ]
+   ],
    "css/css-multicol/multicol-width-001-ref.xht": [
     [
      {}
@@ -131819,11 +132106,6 @@
      {}
     ]
    ],
-   "css/css-overflow/overflow-shorthand-001-expected.txt": [
-    [
-     {}
-    ]
-   ],
    "css/css-overflow/reference/input-scrollable-region-001-ref.html": [
     [
      {}
@@ -135054,6 +135336,11 @@
      {}
     ]
    ],
+   "css/css-text/tab-size/tab-min-rendered-width-1-ref.html": [
+    [
+     {}
+    ]
+   ],
    "css/css-text/tab-size/tab-size-integer-001-ref.html": [
     [
      {}
@@ -136039,6 +136326,11 @@
      {}
     ]
    ],
+   "css/css-transforms/preserve3d-button-ref.html": [
+    [
+     {}
+    ]
+   ],
    "css/css-transforms/reference/backface-visibility-hidden-ref.html": [
     [
      {}
@@ -142764,6 +143056,11 @@
      {}
     ]
    ],
+   "css/cssom-view/support/scroll-behavior.js": [
+    [
+     {}
+    ]
+   ],
    "css/cssom-view/support/square-purple.png": [
     [
      {}
@@ -142944,11 +143241,6 @@
      {}
     ]
    ],
-   "css/cssom/overflow-serialization-expected.txt": [
-    [
-     {}
-    ]
-   ],
    "css/cssom/selectorText-modification-restyle-001-ref.html": [
     [
      {}
@@ -149719,6 +150011,11 @@
      {}
     ]
    ],
+   "fetch/api/basic/header-value-combining.any.serviceworker-expected.txt": [
+    [
+     {}
+    ]
+   ],
    "fetch/api/basic/header-value-null-byte.any-expected.txt": [
     [
      {}
@@ -150279,26 +150576,6 @@
      {}
     ]
    ],
-   "fetch/api/response/response-from-stream.any-expected.txt": [
-    [
-     {}
-    ]
-   ],
-   "fetch/api/response/response-from-stream.any.serviceworker-expected.txt": [
-    [
-     {}
-    ]
-   ],
-   "fetch/api/response/response-from-stream.any.sharedworker-expected.txt": [
-    [
-     {}
-    ]
-   ],
-   "fetch/api/response/response-from-stream.any.worker-expected.txt": [
-    [
-     {}
-    ]
-   ],
    "fetch/api/response/response-idl-expected.txt": [
     [
      {}
@@ -151319,11 +151596,6 @@
      {}
     ]
    ],
-   "fullscreen/api/document-exit-fullscreen-active-document-expected.txt": [
-    [
-     {}
-    ]
-   ],
    "fullscreen/api/document-exit-fullscreen-timing-manual-expected.txt": [
     [
      {}
@@ -152499,41 +152771,21 @@
      {}
     ]
    ],
-   "html/browsers/history/the-history-interface/traverse_the_history_2-expected.txt": [
-    [
-     {}
-    ]
-   ],
    "html/browsers/history/the-history-interface/traverse_the_history_3-1.html": [
     [
      {}
     ]
    ],
-   "html/browsers/history/the-history-interface/traverse_the_history_3-expected.txt": [
-    [
-     {}
-    ]
-   ],
    "html/browsers/history/the-history-interface/traverse_the_history_4-1.html": [
     [
      {}
     ]
    ],
-   "html/browsers/history/the-history-interface/traverse_the_history_4-expected.txt": [
-    [
-     {}
-    ]
-   ],
    "html/browsers/history/the-history-interface/traverse_the_history_5-1.html": [
     [
      {}
     ]
    ],
-   "html/browsers/history/the-history-interface/traverse_the_history_5-expected.txt": [
-    [
-     {}
-    ]
-   ],
    "html/browsers/history/the-history-interface/traverse_the_history_unload_1-1.html": [
     [
      {}
@@ -158619,6 +158871,11 @@
      {}
     ]
    ],
+   "html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-grid-flex-multicol-expected.txt": [
+    [
+     {}
+    ]
+   ],
    "html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-list-item-ref.html": [
     [
      {}
@@ -165074,11 +165331,6 @@
      {}
     ]
    ],
-   "mediacapture-streams/MediaStream-MediaElement-srcObject.https-expected.txt": [
-    [
-     {}
-    ]
-   ],
    "mediacapture-streams/MediaStream-idl.https-expected.txt": [
     [
      {}
@@ -166819,11 +167071,6 @@
      {}
     ]
    ],
-   "payment-handler/idlharness.https.any-expected.txt": [
-    [
-     {}
-    ]
-   ],
    "payment-handler/idlharness.https.any.serviceworker-expected.txt": [
     [
      {}
@@ -166974,6 +167221,11 @@
      {}
     ]
    ],
+   "payment-request/historical.https-expected.txt": [
+    [
+     {}
+    ]
+   ],
    "payment-request/idlharness.https.window-expected.txt": [
     [
      {}
@@ -167554,6 +167806,16 @@
      {}
     ]
    ],
+   "referrer-policy/css-integration/child-css/external-import-stylesheet-expected.txt": [
+    [
+     {}
+    ]
+   ],
+   "referrer-policy/css-integration/css-test-helper.js": [
+    [
+     {}
+    ]
+   ],
    "referrer-policy/generic/common.js": [
     [
      {}
@@ -167579,6 +167841,11 @@
      {}
     ]
    ],
+   "referrer-policy/generic/subresource/font.py": [
+    [
+     {}
+    ]
+   ],
    "referrer-policy/generic/subresource/image.py": [
     [
      {}
@@ -167599,6 +167866,11 @@
      {}
     ]
    ],
+   "referrer-policy/generic/subresource/svg.py": [
+    [
+     {}
+    ]
+   ],
    "referrer-policy/generic/subresource/worker.py": [
     [
      {}
@@ -167619,6 +167891,16 @@
      {}
     ]
    ],
+   "referrer-policy/generic/template/font.css.template": [
+    [
+     {}
+    ]
+   ],
+   "referrer-policy/generic/template/image.css.template": [
+    [
+     {}
+    ]
+   ],
    "referrer-policy/generic/template/script.js.template": [
     [
      {}
@@ -167629,7 +167911,12 @@
      {}
     ]
    ],
-   "referrer-policy/generic/template/stylesheet.css.template": [
+   "referrer-policy/generic/template/svg.css.template": [
+    [
+     {}
+    ]
+   ],
+   "referrer-policy/generic/template/svg.embedded.template": [
     [
      {}
     ]
@@ -170329,6 +170616,11 @@
      {}
     ]
    ],
+   "resource-timing/resources/iframe_TAO_multi_wildcard.html": [
+    [
+     {}
+    ]
+   ],
    "resource-timing/resources/iframe_TAO_null.html": [
     [
      {}
@@ -172359,6 +172651,11 @@
      {}
     ]
    ],
+   "service-workers/service-worker/navigation-redirect.https_client-expected.txt": [
+    [
+     {}
+    ]
+   ],
    "service-workers/service-worker/ready.https-expected.txt": [
     [
      {}
@@ -174839,6 +175136,41 @@
      {}
     ]
    ],
+   "svg/pservers/reftests/meshgradient-basic-001-ref.png": [
+    [
+     {}
+    ]
+   ],
+   "svg/pservers/reftests/meshgradient-basic-002-ref.png": [
+    [
+     {}
+    ]
+   ],
+   "svg/pservers/reftests/meshgradient-basic-003-ref.png": [
+    [
+     {}
+    ]
+   ],
+   "svg/pservers/reftests/meshgradient-basic-004-ref.png": [
+    [
+     {}
+    ]
+   ],
+   "svg/pservers/reftests/meshgradient-basic-005-ref.png": [
+    [
+     {}
+    ]
+   ],
+   "svg/pservers/reftests/meshgradient-bicubic-001-ref.png": [
+    [
+     {}
+    ]
+   ],
+   "svg/pservers/reftests/meshgradient-complex-001-ref.png": [
+    [
+     {}
+    ]
+   ],
    "svg/pservers/reftests/radialgradient-basic-002-ref.svg": [
     [
      {}
@@ -174869,6 +175201,11 @@
      {}
     ]
    ],
+   "svg/shapes/animatedPoints-non-animated-expected.txt": [
+    [
+     {}
+    ]
+   ],
    "svg/shapes/ellipse-01-ref.svg": [
     [
      {}
@@ -175864,6 +176201,16 @@
      {}
     ]
    ],
+   "wasm/jsapi/global/value-get-set.any-expected.txt": [
+    [
+     {}
+    ]
+   ],
+   "wasm/jsapi/global/value-get-set.any.worker-expected.txt": [
+    [
+     {}
+    ]
+   ],
    "wasm/jsapi/global/value-set.any-expected.txt": [
     [
      {}
@@ -175874,6 +176221,11 @@
      {}
     ]
    ],
+   "wasm/jsapi/instanceTestFactory.js": [
+    [
+     {}
+    ]
+   ],
    "wasm/jsapi/interface.any-expected.txt": [
     [
      {}
@@ -176604,6 +176956,16 @@
      {}
     ]
    ],
+   "webaudio/the-audio-api/the-analysernode-interface/ctor-analyser-expected.txt": [
+    [
+     {}
+    ]
+   ],
+   "webaudio/the-audio-api/the-analysernode-interface/test-analysernode-expected.txt": [
+    [
+     {}
+    ]
+   ],
    "webaudio/the-audio-api/the-audiobuffer-interface/.gitkeep": [
     [
      {}
@@ -181414,6 +181776,11 @@
      {}
     ]
    ],
+   "xhr/resources/headers-www-authenticate.asis": [
+    [
+     {}
+    ]
+   ],
    "xhr/resources/headers.asis": [
     [
      {}
@@ -195663,6 +196030,12 @@
      {}
     ]
    ],
+   "css/css-animations/historical.html": [
+    [
+     "/css/css-animations/historical.html",
+     {}
+    ]
+   ],
    "css/css-animations/idlharness.html": [
     [
      "/css/css-animations/idlharness.html",
@@ -196233,6 +196606,12 @@
      {}
     ]
    ],
+   "css/css-break/inheritance.html": [
+    [
+     "/css/css-break/inheritance.html",
+     {}
+    ]
+   ],
    "css/css-cascade/all-prop-initial-xml.html": [
     [
      "/css/css-cascade/all-prop-initial-xml.html",
@@ -196331,6 +196710,12 @@
      {}
     ]
    ],
+   "css/css-contain/inheritance.html": [
+    [
+     "/css/css-contain/inheritance.html",
+     {}
+    ]
+   ],
    "css/css-device-adapt/idlharness.html": [
     [
      "/css/css-device-adapt/idlharness.html",
@@ -196367,6 +196752,12 @@
      {}
     ]
    ],
+   "css/css-display/inheritance.html": [
+    [
+     "/css/css-display/inheritance.html",
+     {}
+    ]
+   ],
    "css/css-display/parsing/display-invalid.html": [
     [
      "/css/css-display/parsing/display-invalid.html",
@@ -197563,6 +197954,54 @@
      {}
     ]
    ],
+   "css/css-grid/alignment/grid-alignment-style-changes-001.html": [
+    [
+     "/css/css-grid/alignment/grid-alignment-style-changes-001.html",
+     {}
+    ]
+   ],
+   "css/css-grid/alignment/grid-alignment-style-changes-002.html": [
+    [
+     "/css/css-grid/alignment/grid-alignment-style-changes-002.html",
+     {}
+    ]
+   ],
+   "css/css-grid/alignment/grid-alignment-style-changes-003.html": [
+    [
+     "/css/css-grid/alignment/grid-alignment-style-changes-003.html",
+     {}
+    ]
+   ],
+   "css/css-grid/alignment/grid-alignment-style-changes-004.html": [
+    [
+     "/css/css-grid/alignment/grid-alignment-style-changes-004.html",
+     {}
+    ]
+   ],
+   "css/css-grid/alignment/grid-alignment-style-changes-005.html": [
+    [
+     "/css/css-grid/alignment/grid-alignment-style-changes-005.html",
+     {}
+    ]
+   ],
+   "css/css-grid/alignment/grid-alignment-style-changes-006.html": [
+    [
+     "/css/css-grid/alignment/grid-alignment-style-changes-006.html",
+     {}
+    ]
+   ],
+   "css/css-grid/alignment/grid-alignment-style-changes-007.html": [
+    [
+     "/css/css-grid/alignment/grid-alignment-style-changes-007.html",
+     {}
+    ]
+   ],
+   "css/css-grid/alignment/grid-alignment-style-changes-008.html": [
+    [
+     "/css/css-grid/alignment/grid-alignment-style-changes-008.html",
+     {}
+    ]
+   ],
    "css/css-grid/alignment/grid-column-axis-alignment-positioned-items-001.html": [
     [
      "/css/css-grid/alignment/grid-column-axis-alignment-positioned-items-001.html",
@@ -198325,6 +198764,12 @@
      {}
     ]
    ],
+   "css/css-grid/alignment/grid-self-baseline-not-applied-if-sizing-cyclic-dependency-003.html": [
+    [
+     "/css/css-grid/alignment/grid-self-baseline-not-applied-if-sizing-cyclic-dependency-003.html",
+     {}
+    ]
+   ],
    "css/css-grid/grid-definition/grid-change-fit-content-argument-001.html": [
     [
      "/css/css-grid/grid-definition/grid-change-fit-content-argument-001.html",
@@ -198859,6 +199304,12 @@
      {}
     ]
    ],
+   "css/css-lists/inheritance.html": [
+    [
+     "/css/css-lists/inheritance.html",
+     {}
+    ]
+   ],
    "css/css-logical/animation-001.html": [
     [
      "/css/css-logical/animation-001.html",
@@ -198979,6 +199430,12 @@
      {}
     ]
    ],
+   "css/css-masking/inheritance.html": [
+    [
+     "/css/css-masking/inheritance.html",
+     {}
+    ]
+   ],
    "css/css-masking/parsing/clip-invalid.html": [
     [
      "/css/css-masking/parsing/clip-invalid.html",
@@ -199609,6 +200066,12 @@
      {}
     ]
    ],
+   "css/css-shapes/inheritance.html": [
+    [
+     "/css/css-shapes/inheritance.html",
+     {}
+    ]
+   ],
    "css/css-shapes/parsing/shape-image-threshold-invalid.html": [
     [
      "/css/css-shapes/parsing/shape-image-threshold-invalid.html",
@@ -200635,6 +201098,12 @@
      {}
     ]
    ],
+   "css/css-tables/width-distribution/computing-column-measure-2.html": [
+    [
+     "/css/css-tables/width-distribution/computing-column-measure-2.html",
+     {}
+    ]
+   ],
    "css/css-tables/width-distribution/computing-table-width-0.html": [
     [
      "/css/css-tables/width-distribution/computing-table-width-0.html",
@@ -202273,6 +202742,12 @@
      {}
     ]
    ],
+   "css/css-transitions/transitionevent-interface.html": [
+    [
+     "/css/css-transitions/transitionevent-interface.html",
+     {}
+    ]
+   ],
    "css/css-transitions/transitions-animatable-properties-01.html": [
     [
      "/css/css-transitions/transitions-animatable-properties-01.html",
@@ -204801,6 +205276,12 @@
      {}
     ]
    ],
+   "css/css-writing-modes/inheritance.html": [
+    [
+     "/css/css-writing-modes/inheritance.html",
+     {}
+    ]
+   ],
    "css/css-writing-modes/orthogonal-parent-shrink-to-fit-001.html": [
     [
      "/css/css-writing-modes/orthogonal-parent-shrink-to-fit-001.html",
@@ -205443,12 +205924,76 @@
      {}
     ]
    ],
+   "css/cssom-view/scroll-behavior-default-css.html": [
+    [
+     "/css/cssom-view/scroll-behavior-default-css.html",
+     {
+      "timeout": "long"
+     }
+    ]
+   ],
+   "css/cssom-view/scroll-behavior-element.html": [
+    [
+     "/css/cssom-view/scroll-behavior-element.html",
+     {
+      "timeout": "long"
+     }
+    ]
+   ],
+   "css/cssom-view/scroll-behavior-main-frame-root.html": [
+    [
+     "/css/cssom-view/scroll-behavior-main-frame-root.html",
+     {
+      "timeout": "long"
+     }
+    ]
+   ],
+   "css/cssom-view/scroll-behavior-main-frame-window.html": [
+    [
+     "/css/cssom-view/scroll-behavior-main-frame-window.html",
+     {
+      "timeout": "long"
+     }
+    ]
+   ],
+   "css/cssom-view/scroll-behavior-scrollintoview-nested.html": [
+    [
+     "/css/cssom-view/scroll-behavior-scrollintoview-nested.html",
+     {
+      "timeout": "long"
+     }
+    ]
+   ],
+   "css/cssom-view/scroll-behavior-smooth-positions.html": [
+    [
+     "/css/cssom-view/scroll-behavior-smooth-positions.html",
+     {
+      "timeout": "long"
+     }
+    ]
+   ],
    "css/cssom-view/scroll-behavior-smooth.html": [
     [
      "/css/cssom-view/scroll-behavior-smooth.html",
      {}
     ]
    ],
+   "css/cssom-view/scroll-behavior-subframe-root.html": [
+    [
+     "/css/cssom-view/scroll-behavior-subframe-root.html",
+     {
+      "timeout": "long"
+     }
+    ]
+   ],
+   "css/cssom-view/scroll-behavior-subframe-window.html": [
+    [
+     "/css/cssom-view/scroll-behavior-subframe-window.html",
+     {
+      "timeout": "long"
+     }
+    ]
+   ],
    "css/cssom-view/scroll-no-layout-box.html": [
     [
      "/css/cssom-view/scroll-no-layout-box.html",
@@ -205479,6 +206024,12 @@
      {}
     ]
    ],
+   "css/cssom-view/scrollIntoView-svg-shape.html": [
+    [
+     "/css/cssom-view/scrollIntoView-svg-shape.html",
+     {}
+    ]
+   ],
    "css/cssom-view/scrollIntoView-vertical-rl-writing-mode.html": [
     [
      "/css/cssom-view/scrollIntoView-vertical-rl-writing-mode.html",
@@ -207417,6 +207968,12 @@
      {}
     ]
    ],
+   "dom/events/EventListener-addEventListener.sub.window.js": [
+    [
+     "/dom/events/EventListener-addEventListener.sub.window.html",
+     {}
+    ]
+   ],
    "dom/events/EventListener-handleEvent.html": [
     [
      "/dom/events/EventListener-handleEvent.html",
@@ -219079,6 +219636,24 @@
      {}
     ]
    ],
+   "fetch/api/basic/header-value-combining.any.js": [
+    [
+     "/fetch/api/basic/header-value-combining.any.html",
+     {}
+    ],
+    [
+     "/fetch/api/basic/header-value-combining.any.serviceworker.html",
+     {}
+    ],
+    [
+     "/fetch/api/basic/header-value-combining.any.sharedworker.html",
+     {}
+    ],
+    [
+     "/fetch/api/basic/header-value-combining.any.worker.html",
+     {}
+    ]
+   ],
    "fetch/api/basic/header-value-null-byte.any.js": [
     [
      "/fetch/api/basic/header-value-null-byte.any.html",
@@ -219279,6 +219854,24 @@
      {}
     ]
    ],
+   "fetch/api/basic/stream-safe-creation.any.js": [
+    [
+     "/fetch/api/basic/stream-safe-creation.any.html",
+     {}
+    ],
+    [
+     "/fetch/api/basic/stream-safe-creation.any.serviceworker.html",
+     {}
+    ],
+    [
+     "/fetch/api/basic/stream-safe-creation.any.sharedworker.html",
+     {}
+    ],
+    [
+     "/fetch/api/basic/stream-safe-creation.any.worker.html",
+     {}
+    ]
+   ],
    "fetch/api/basic/text-utf8.html": [
     [
      "/fetch/api/basic/text-utf8.html",
@@ -248195,12 +248788,6 @@
      {}
     ]
    ],
-   "payment-request/payment-response/onpayerdetailchange-attribute.manual.https.html": [
-    [
-     "/payment-request/payment-response/onpayerdetailchange-attribute.manual.https.html",
-     {}
-    ]
-   ],
    "payment-request/rejects_if_not_active.https.html": [
     [
      "/payment-request/rejects_if_not_active.https.html",
@@ -248825,45 +249412,123 @@
      {}
     ]
    ],
-   "referrer-policy/css-integration/external-import-stylesheet.html": [
+   "referrer-policy/css-integration/child-css/external-import-stylesheet.html": [
     [
-     "/referrer-policy/css-integration/external-import-stylesheet.html",
+     "/referrer-policy/css-integration/child-css/external-import-stylesheet.html",
      {}
     ]
    ],
-   "referrer-policy/css-integration/external-stylesheet.html": [
+   "referrer-policy/css-integration/child-css/internal-import-stylesheet.html": [
     [
-     "/referrer-policy/css-integration/external-stylesheet.html",
+     "/referrer-policy/css-integration/child-css/internal-import-stylesheet.html",
      {}
     ]
    ],
-   "referrer-policy/css-integration/inline-style.html": [
+   "referrer-policy/css-integration/child-css/processing-instruction.html": [
     [
-     "/referrer-policy/css-integration/inline-style.html",
+     "/referrer-policy/css-integration/child-css/processing-instruction.html",
      {}
     ]
    ],
-   "referrer-policy/css-integration/internal-import-stylesheet.html": [
+   "referrer-policy/css-integration/font-face/external-import-stylesheet.html": [
     [
-     "/referrer-policy/css-integration/internal-import-stylesheet.html",
+     "/referrer-policy/css-integration/font-face/external-import-stylesheet.html",
      {}
     ]
    ],
-   "referrer-policy/css-integration/internal-stylesheet.html": [
+   "referrer-policy/css-integration/font-face/external-stylesheet.html": [
     [
-     "/referrer-policy/css-integration/internal-stylesheet.html",
+     "/referrer-policy/css-integration/font-face/external-stylesheet.html",
      {}
     ]
    ],
-   "referrer-policy/css-integration/presentation-attribute.html": [
+   "referrer-policy/css-integration/font-face/internal-import-stylesheet.html": [
     [
-     "/referrer-policy/css-integration/presentation-attribute.html",
+     "/referrer-policy/css-integration/font-face/internal-import-stylesheet.html",
      {}
     ]
    ],
-   "referrer-policy/css-integration/processing-instruction.html": [
+   "referrer-policy/css-integration/font-face/internal-stylesheet.html": [
     [
-     "/referrer-policy/css-integration/processing-instruction.html",
+     "/referrer-policy/css-integration/font-face/internal-stylesheet.html",
+     {}
+    ]
+   ],
+   "referrer-policy/css-integration/font-face/processing-instruction.html": [
+    [
+     "/referrer-policy/css-integration/font-face/processing-instruction.html",
+     {}
+    ]
+   ],
+   "referrer-policy/css-integration/image/external-import-stylesheet.html": [
+    [
+     "/referrer-policy/css-integration/image/external-import-stylesheet.html",
+     {}
+    ]
+   ],
+   "referrer-policy/css-integration/image/external-stylesheet.html": [
+    [
+     "/referrer-policy/css-integration/image/external-stylesheet.html",
+     {}
+    ]
+   ],
+   "referrer-policy/css-integration/image/inline-style.html": [
+    [
+     "/referrer-policy/css-integration/image/inline-style.html",
+     {}
+    ]
+   ],
+   "referrer-policy/css-integration/image/internal-import-stylesheet.html": [
+    [
+     "/referrer-policy/css-integration/image/internal-import-stylesheet.html",
+     {}
+    ]
+   ],
+   "referrer-policy/css-integration/image/internal-stylesheet.html": [
+    [
+     "/referrer-policy/css-integration/image/internal-stylesheet.html",
+     {}
+    ]
+   ],
+   "referrer-policy/css-integration/image/presentation-attribute.html": [
+    [
+     "/referrer-policy/css-integration/image/presentation-attribute.html",
+     {}
+    ]
+   ],
+   "referrer-policy/css-integration/image/processing-instruction.html": [
+    [
+     "/referrer-policy/css-integration/image/processing-instruction.html",
+     {}
+    ]
+   ],
+   "referrer-policy/css-integration/svg/external-stylesheet.html": [
+    [
+     "/referrer-policy/css-integration/svg/external-stylesheet.html",
+     {}
+    ]
+   ],
+   "referrer-policy/css-integration/svg/inline-style.html": [
+    [
+     "/referrer-policy/css-integration/svg/inline-style.html",
+     {}
+    ]
+   ],
+   "referrer-policy/css-integration/svg/internal-stylesheet.html": [
+    [
+     "/referrer-policy/css-integration/svg/internal-stylesheet.html",
+     {}
+    ]
+   ],
+   "referrer-policy/css-integration/svg/presentation-attribute.html": [
+    [
+     "/referrer-policy/css-integration/svg/presentation-attribute.html",
+     {}
+    ]
+   ],
+   "referrer-policy/css-integration/svg/processing-instruction.html": [
+    [
+     "/referrer-policy/css-integration/svg/processing-instruction.html",
      {}
     ]
    ],
@@ -257727,6 +258392,12 @@
      {}
     ]
    ],
+   "resource-timing/resource_TAO_multi_wildcard.html": [
+    [
+     "/resource-timing/resource_TAO_multi_wildcard.html",
+     {}
+    ]
+   ],
    "resource-timing/resource_TAO_null.htm": [
     [
      "/resource-timing/resource_TAO_null.htm",
@@ -259357,6 +260028,12 @@
      {
       "timeout": "long"
      }
+    ],
+    [
+     "/service-workers/service-worker/navigation-redirect.https.html?client",
+     {
+      "timeout": "long"
+     }
     ]
    ],
    "service-workers/service-worker/navigation-timing.https.html": [
@@ -259953,6 +260630,12 @@
      {}
     ]
    ],
+   "shadow-dom/input-type-radio.html": [
+    [
+     "/shadow-dom/input-type-radio.html",
+     {}
+    ]
+   ],
    "shadow-dom/leaktests/get-elements.html": [
     [
      "/shadow-dom/leaktests/get-elements.html",
@@ -262057,6 +262740,12 @@
      {}
     ]
    ],
+   "svg/shapes/animatedPoints-non-animated.html": [
+    [
+     "/svg/shapes/animatedPoints-non-animated.html",
+     {}
+    ]
+   ],
    "svg/shapes/line-getPointAtLength.svg": [
     [
      "/svg/shapes/line-getPointAtLength.svg",
@@ -263365,19 +264054,19 @@
      {}
     ]
    ],
-   "wasm/jsapi/global/value-set.any.js": [
+   "wasm/jsapi/global/value-get-set.any.js": [
     [
-     "/wasm/jsapi/global/value-set.any.html",
+     "/wasm/jsapi/global/value-get-set.any.html",
      {}
     ],
     [
-     "/wasm/jsapi/global/value-set.any.js",
+     "/wasm/jsapi/global/value-get-set.any.js",
      {
       "jsshell": true
      }
     ],
     [
-     "/wasm/jsapi/global/value-set.any.worker.html",
+     "/wasm/jsapi/global/value-get-set.any.worker.html",
      {}
     ]
    ],
@@ -272073,6 +272762,16 @@
      {}
     ]
    ],
+   "xhr/getresponseheader.any.js": [
+    [
+     "/xhr/getresponseheader.any.html",
+     {}
+    ],
+    [
+     "/xhr/getresponseheader.any.worker.html",
+     {}
+    ]
+   ],
    "xhr/header-user-agent-async.htm": [
     [
      "/xhr/header-user-agent-async.htm",
@@ -287645,11 +288344,11 @@
    "testharness"
   ],
   "background-fetch/fetch.https.window-expected.txt": [
-   "a0fa36962d1606d5964f686b2fc8be11dbd29099",
+   "500f09d50ac7ca9b190618313cc5550b37cbefa9",
    "support"
   ],
   "background-fetch/fetch.https.window.js": [
-   "95990e09faa174ba7f66b8367f926b46d7727f73",
+   "98ecdfa3933c40b909793100b4b9f9cccb35cb86",
    "testharness"
   ],
   "background-fetch/get-ids.https.window.js": [
@@ -287705,7 +288404,7 @@
    "support"
   ],
   "background-fetch/service_workers/sw.js": [
-   "ab2445d18b09735321fc8c85a2eb2382e44cc5f5",
+   "43d778c08914da6c8ff75acb819676895adbc180",
    "support"
   ],
   "background-fetch/update-ui.https.window.js": [
@@ -309209,7 +309908,7 @@
    "testharness"
   ],
   "css/css-animations/animationevent-interface.js": [
-   "56d30a4a37770fa2a32698d5401246e882e1f6e0",
+   "e35b7fcb0f98656cdeff41d8d7f4a7620fa52eea",
    "support"
   ],
   "css/css-animations/animationevent-pseudoelement.html": [
@@ -309236,6 +309935,10 @@
    "93d452ace07163b10af18245d6799d9823448e1e",
    "testharness"
   ],
+  "css/css-animations/historical.html": [
+   "5b96a422f55f45cddabdf011acb83e5081ec1ef3",
+   "testharness"
+  ],
   "css/css-animations/idlharness-expected.txt": [
    "50b4cddbf768e2e5b8d8a786b6db59a432fb8a0b",
    "support"
@@ -309549,7 +310252,7 @@
    "support"
   ],
   "css/css-backgrounds/background-clip-color-repaint.html": [
-   "6052db526a3a4d0f35bf5c433f718b257049514d",
+   "4a5cee080096d1bec9c07655b988ab163e9e6131",
    "reftest"
   ],
   "css/css-backgrounds/background-clip-color.html": [
@@ -312908,6 +313611,10 @@
    "4d0fc7eccc45e44480b4305632ceac2068c59919",
    "testharness"
   ],
+  "css/css-break/inheritance.html": [
+   "e0be119e4002b1d637ebdfc464d87ef88ab83106",
+   "testharness"
+  ],
   "css/css-break/reference/widows-orphans-001-ref.html": [
    "06108ac800c19c68841f2a0e8867fb05e868c1ab",
    "support"
@@ -314532,6 +315239,10 @@
    "c4a004ff18cad24b0f709fcb6b707d7a79e5572a",
    "reftest"
   ],
+  "css/css-contain/inheritance.html": [
+   "07378a29f39db8bdf100aa04c60cb23f556d962b",
+   "testharness"
+  ],
   "css/css-contain/quote-scoping-001.html": [
    "8c38e45b1ace138cbb795c77fdece555967e043d",
    "reftest"
@@ -315204,6 +315915,10 @@
    "f8d6e85cee2325f3ae51a950a276430d26c04189",
    "testharness"
   ],
+  "css/css-display/inheritance.html": [
+   "bfd072651cb6ec82cca7d9be5b6768afbc39fca0",
+   "testharness"
+  ],
   "css/css-display/parsing/display-invalid.html": [
    "70516ad4901f684b9d0ecd49a82671172fbc8f14",
    "testharness"
@@ -326620,6 +327335,38 @@
    "634e5c7e1b5151d2c37e4622535f51e85c8cad89",
    "testharness"
   ],
+  "css/css-grid/alignment/grid-alignment-style-changes-001.html": [
+   "25ce0619dbf6184219b0b430d6495c09c5c2c657",
+   "testharness"
+  ],
+  "css/css-grid/alignment/grid-alignment-style-changes-002.html": [
+   "c97be7ddb81bfc3331bf5a438e75bc365c03079c",
+   "testharness"
+  ],
+  "css/css-grid/alignment/grid-alignment-style-changes-003.html": [
+   "bca78d76569efb1b12cc3570cde394233db18345",
+   "testharness"
+  ],
+  "css/css-grid/alignment/grid-alignment-style-changes-004.html": [
+   "3064f42396f6da1e3c111a3979da839f43733711",
+   "testharness"
+  ],
+  "css/css-grid/alignment/grid-alignment-style-changes-005.html": [
+   "550eed73f50e6d4c7f4e600c15e7ae33f11a03e2",
+   "testharness"
+  ],
+  "css/css-grid/alignment/grid-alignment-style-changes-006.html": [
+   "1df78c051f7ddd0c0a38bea6913bdf7351ecf80b",
+   "testharness"
+  ],
+  "css/css-grid/alignment/grid-alignment-style-changes-007.html": [
+   "4d0231bf393249b6756c30973ce08f58bfd115f3",
+   "testharness"
+  ],
+  "css/css-grid/alignment/grid-alignment-style-changes-008.html": [
+   "026f035ba925433e99ed23ea7d64bfeb76121083",
+   "testharness"
+  ],
   "css/css-grid/alignment/grid-column-axis-alignment-positioned-items-001.html": [
    "32ea4e34820c2d3ccab5d8575f818e63fc0bd57f",
    "testharness"
@@ -327388,6 +328135,10 @@
    "3232913cb1328c0367f09ca8996b8c22e09cc2e0",
    "testharness"
   ],
+  "css/css-grid/alignment/grid-self-baseline-not-applied-if-sizing-cyclic-dependency-003.html": [
+   "5ffacfdb2b45dbb5fe259a2255456a993313c615",
+   "testharness"
+  ],
   "css/css-grid/alignment/self-baseline/grid-self-baseline-changes-grid-area-size-001.html": [
    "a7d69063189d78e4a2d9bfe080df9e9731569ac8",
    "reftest"
@@ -327441,7 +328192,7 @@
    "support"
   ],
   "css/css-grid/alignment/support/style-change.js": [
-   "5619394da2bc9c5d5902db03e6dcf257e63c303f",
+   "766d140d2b239bcc0c11e92481c5ff302d12db5c",
    "support"
   ],
   "css/css-grid/grid-definition/fr-unit-with-percentage.html": [
@@ -328872,6 +329623,90 @@
    "25fe602d1c449ad1c983b049208a6a23dc746f41",
    "reftest"
   ],
+  "css/css-layout-api/child-constraints/available-block-size-htb-vrl.https.html": [
+   "0da20ee837155760bda86679355053bae821ac37",
+   "reftest"
+  ],
+  "css/css-layout-api/child-constraints/available-block-size-invalid.https.html": [
+   "dfbc812556fbf606734755781fb8d25600964d25",
+   "reftest"
+  ],
+  "css/css-layout-api/child-constraints/available-block-size-vrl-htb.https.html": [
+   "c8e84ae51703800e1d2031fc1b4efbe61330a528",
+   "reftest"
+  ],
+  "css/css-layout-api/child-constraints/available-inline-size-htb-htb.https.html": [
+   "94cf75fc93fc84c0954917ac2784f1216d84ff19",
+   "reftest"
+  ],
+  "css/css-layout-api/child-constraints/available-inline-size-invalid.https.html": [
+   "136d13fa703a55a0432e3ab6d50556073175b8e9",
+   "reftest"
+  ],
+  "css/css-layout-api/child-constraints/available-inline-size-vrl-vrl.https.html": [
+   "392a6b514228a03c04c19e83d163e76fc43036fb",
+   "reftest"
+  ],
+  "css/css-layout-api/child-constraints/available-size-for-percentages-htb-htb.https.html": [
+   "960fb7d7dcfb1da96b1a925090e5c58d1c4a7b4a",
+   "reftest"
+  ],
+  "css/css-layout-api/child-constraints/available-size-for-percentages-htb-vrl.https.html": [
+   "0e9b5570abeb52ff833e0549d8e8464a02482c07",
+   "reftest"
+  ],
+  "css/css-layout-api/child-constraints/available-size-for-percentages-invalid.https.html": [
+   "62efe992fb3ed4029d63da14d6525e9d0964919d",
+   "reftest"
+  ],
+  "css/css-layout-api/child-constraints/available-size-for-percentages-vrl-htb.https.html": [
+   "1352ea917835c37fca3e9740349262c2f2139c59",
+   "reftest"
+  ],
+  "css/css-layout-api/child-constraints/available-size-for-percentages-vrl-vrl.https.html": [
+   "9c30c212fae3a7add6dc3c56f7acae26b969e231",
+   "reftest"
+  ],
+  "css/css-layout-api/child-constraints/fixed-block-size-vrl.https.html": [
+   "dedcaa0ee83c3cbc7be138024290a3281a76b9ed",
+   "reftest"
+  ],
+  "css/css-layout-api/child-constraints/fixed-block-size.https.html": [
+   "eea540ca59f2d7dd312b0ff723d4c3b6cee9e954",
+   "reftest"
+  ],
+  "css/css-layout-api/child-constraints/fixed-inline-size-vrl.https.html": [
+   "22bd3e7c1258d729d901c64ab6d854ee42e309a8",
+   "reftest"
+  ],
+  "css/css-layout-api/child-constraints/fixed-inline-size.https.html": [
+   "0a05a46fe69f85836c1a125e63b9dc579a343a0b",
+   "reftest"
+  ],
+  "css/css-layout-api/child-constraints/percentage-size-htb-htb.https.html": [
+   "99224c73f5b5fc676fd16146c6f1b5877cb555fa",
+   "reftest"
+  ],
+  "css/css-layout-api/child-constraints/percentage-size-htb-vrl.https.html": [
+   "8116d5a9b0881364246156962d9ec2e4df65114b",
+   "reftest"
+  ],
+  "css/css-layout-api/child-constraints/percentage-size-invalid.https.html": [
+   "932380a6163ed71c825675424563c3b0180c4eaa",
+   "reftest"
+  ],
+  "css/css-layout-api/child-constraints/percentage-size-quirks-mode.https.html": [
+   "39a360d079d3deab244305a26a5ab4ca905ff796",
+   "reftest"
+  ],
+  "css/css-layout-api/child-constraints/percentage-size-vrl-htb.https.html": [
+   "70640ef0b29da555f70585eb5b6042ede9a47b0c",
+   "reftest"
+  ],
+  "css/css-layout-api/child-constraints/percentage-size-vrl-vrl.https.html": [
+   "07132579621deb3c10650ab5172fdd5e24ec6076",
+   "reftest"
+  ],
   "css/css-layout-api/computed-style-layout-function.https.html": [
    "d115009c6ca43dc5b2d72934cfe3cf3dbe5af626",
    "testharness"
@@ -329140,38 +329975,6 @@
    "40513f0acf39d25c759330b6c0e3bfc8648741cf",
    "reftest"
   ],
-  "css/css-layout-api/perform-child-layout-available-inline-size-htb-htb.https.html": [
-   "bfe8a99e7fee7f270bc8e9f2cbed6f06924c4bea",
-   "reftest"
-  ],
-  "css/css-layout-api/perform-child-layout-available-inline-size-htb-vrl.https.html": [
-   "602536c581450f1cb9a96465f424c3065e59760c",
-   "reftest"
-  ],
-  "css/css-layout-api/perform-child-layout-available-inline-size-vrl-htb.https.html": [
-   "4759c1b69d0f259f06a335c04d6ee028ad94097c",
-   "reftest"
-  ],
-  "css/css-layout-api/perform-child-layout-available-inline-size-vrl-vrl.https.html": [
-   "7bfa44db67b819307f0dff4d9f86e2350068161a",
-   "reftest"
-  ],
-  "css/css-layout-api/perform-child-layout-fixed-block-size-vrl.https.html": [
-   "43dd483b3f9f9938a8ecbb62d9a02918f5ada3ec",
-   "reftest"
-  ],
-  "css/css-layout-api/perform-child-layout-fixed-block-size.https.html": [
-   "c714e1ff9754dd48ece9ea17aeece8349cab19c8",
-   "reftest"
-  ],
-  "css/css-layout-api/perform-child-layout-fixed-inline-size-vrl.https.html": [
-   "ba86d2c184d3300d1a39cfd419b113bcbd188f1a",
-   "reftest"
-  ],
-  "css/css-layout-api/perform-child-layout-fixed-inline-size.https.html": [
-   "a2a422bd6110ba8d4dc300882117e220ba5b8599",
-   "reftest"
-  ],
   "css/css-layout-api/position-fragment-htb-ltr.https.html": [
    "b09cb7067d5630d7398cdf9e583b01581df1b910",
    "reftest"
@@ -329229,7 +330032,7 @@
    "support"
   ],
   "css/css-layout-api/support/layout-child-sizes-worklet.js": [
-   "7531f69b1b6224047f26a93af09cd22f9190b4bf",
+   "28546d6e422d42c134f32d78282b5cd20597a85f",
    "support"
   ],
   "css/css-layout-api/support/layout-child-worklet.js": [
@@ -329368,6 +330171,10 @@
    "85c137e675e55a54c4ab3834469ab3d13aa32725",
    "reftest"
   ],
+  "css/css-lists/inheritance.html": [
+   "ff1bcdcfb4690df571dc2d5c93df71b55ffad5e6",
+   "testharness"
+  ],
   "css/css-lists/list-style-type-armenian-002.xht": [
    "02e06b707f709870b30e810e4b1a4ec330ada296",
    "visual"
@@ -330376,6 +331183,10 @@
    "c415eaaa67a2bc9a4b621700049eb0c0b60ec0a3",
    "testharness"
   ],
+  "css/css-masking/inheritance.html": [
+   "34f75859ee88833ed39a56bb6c443cd60586e1b5",
+   "testharness"
+  ],
   "css/css-masking/mask-image/mask-image-url-image-hash.html": [
    "b1efc90818bec85d5022a9b908a14c2e0c35ff3b",
    "reftest"
@@ -331380,6 +332191,14 @@
    "ab68c7a74317249187a3cfb419539f21f073d306",
    "support"
   ],
+  "css/css-multicol/multicol-under-vertical-rl-scroll-ref.html": [
+   "1a7cfb6e2303ce8778fed9587e208a7df950ff6f",
+   "support"
+  ],
+  "css/css-multicol/multicol-under-vertical-rl-scroll.html": [
+   "f96a26ae77be3b8171335f07efefce4bc0bef937",
+   "reftest"
+  ],
   "css/css-multicol/multicol-width-001-ref.xht": [
    "dddb96880af819d730b83604a487c4938fda4933",
    "support"
@@ -331812,12 +332631,8 @@
    "534dff9766ddccf4dd239a307d28d7e8882d6f04",
    "testharness"
   ],
-  "css/css-overflow/overflow-shorthand-001-expected.txt": [
-   "3eb5d7c23081a5d752e27096a32a997428257ac3",
-   "support"
-  ],
   "css/css-overflow/overflow-shorthand-001.html": [
-   "d922e902720ae6a38ff9c644ddd63ddfd5e62c37",
+   "f425636c3bb4297e4e6564d1c2629dc10dde5607",
    "testharness"
   ],
   "css/css-overflow/reference/input-scrollable-region-001-ref.html": [
@@ -332585,7 +333400,7 @@
    "testharness"
   ],
   "css/css-properties-values-api/registered-properties-inheritance.html": [
-   "20275a5c7a1688eac0d88de3c93a5e83b8f5830f",
+   "8f9eafee19e5c2500811f05723902808a27760df",
    "testharness"
   ],
   "css/css-properties-values-api/registered-property-computation.html": [
@@ -333233,11 +334048,11 @@
    "testharness"
   ],
   "css/css-scrollbars/support/viewport-scrollbar-body-frame.html": [
-   "74c02f994e3103daabfaf40a7fb84d3169451d2c",
+   "8dacffefb62a8d348963a51c67e73887ca9b977b",
    "support"
   ],
   "css/css-scrollbars/support/viewport-scrollbar-frame.html": [
-   "95101024b4f27e93eb2c61c52df70845ae5842bf",
+   "04a4a2fa2d507a0715feaa1e6ba222c85648b77a",
    "support"
   ],
   "css/css-scrollbars/textarea-scrollbar-width-none-ref.html": [
@@ -333257,7 +334072,7 @@
    "reftest"
   ],
   "css/css-scrollbars/viewport-scrollbar-ref.html": [
-   "42463d309b994760c4e91d07fd9e4cb551964617",
+   "d6df3b49e56d6cfab633dcd5264c79811cfaf0f7",
    "support"
   ],
   "css/css-scrollbars/viewport-scrollbar.html": [
@@ -333324,6 +334139,10 @@
    "5e4842d234f6af393a5ee04fa604a63f6db5cae1",
    "testharness"
   ],
+  "css/css-shapes/inheritance.html": [
+   "490775dd8ce24721046f89234237d8f7c200623c",
+   "testharness"
+  ],
   "css/css-shapes/parsing/shape-image-threshold-invalid.html": [
    "6299e2ecaad8247affa1e54ace4aea276322c114",
    "testharness"
@@ -335492,6 +336311,10 @@
    "f032fcd198720ec53f1435a768c6c8146d9433ae",
    "testharness"
   ],
+  "css/css-tables/width-distribution/computing-column-measure-2.html": [
+   "b9840187f13306c94d1a4d997359c1b042becb5d",
+   "testharness"
+  ],
   "css/css-tables/width-distribution/computing-table-width-0.html": [
    "49bae4b4f7970a580c7a75ea4dfaa2ea1d901c70",
    "testharness"
@@ -337073,39 +337896,39 @@
    "reftest"
   ],
   "css/css-text/i18n/ja/css-text-line-break-ja-cj-loose.html": [
-   "6d8fbf9ca067502f3c13cbfeb0005ae8ebae1ba5",
+   "cf7c5a44415f3514598bbf386ac6fadebd63a2c5",
    "testharness"
   ],
   "css/css-text/i18n/ja/css-text-line-break-ja-cj-normal.html": [
-   "38f8e733957fa80282b387c9f9ae587bc52d77e9",
+   "7c701c8546d3d057d9fdf65c12bd4a43ac68dc64",
    "testharness"
   ],
   "css/css-text/i18n/ja/css-text-line-break-ja-cj-strict.html": [
-   "37df9b50cd2d26e4a0d8d2e8b3a077cdb95da9bd",
+   "9fe18046fcd897eb3c7acd66785e9d8afea7075c",
    "testharness"
   ],
   "css/css-text/i18n/ja/css-text-line-break-ja-cpm-loose.html": [
-   "fb933ab51bca39bc73e156e77e77f626efc0c250",
+   "6120e62cc9b39b0197b171b51b6e45937f5a1684",
    "testharness"
   ],
   "css/css-text/i18n/ja/css-text-line-break-ja-cpm-normal.html": [
-   "4fb208b7a343c5bb49c458a829e2f65720d2e337",
+   "1e1d4bb683b5c87d609418640d6bd000f2545d9c",
    "testharness"
   ],
   "css/css-text/i18n/ja/css-text-line-break-ja-cpm-strict.html": [
-   "6a84bdd48b085fa21cc67e312a231edc37b426d7",
+   "ddf3c2cc9609e650a5f3816a61a5eb6acd71633d",
    "testharness"
   ],
   "css/css-text/i18n/ja/css-text-line-break-ja-hyphens-loose.html": [
-   "a8b73b5e0a770e9c3ff958135c181dbaf229c971",
+   "647bfc8a675942d299647c32e3730fe61d2afa33",
    "testharness"
   ],
   "css/css-text/i18n/ja/css-text-line-break-ja-hyphens-normal.html": [
-   "fd69a1ba2be6add6958193e95f3929d5f097c159",
+   "5e22458f9351669b38d90632f475ca25682db2bb",
    "testharness"
   ],
   "css/css-text/i18n/ja/css-text-line-break-ja-hyphens-strict.html": [
-   "cd30e0e61451696a1304e7868454d8c48f9f172e",
+   "3db8bb8804daade32849334e21cea38e758671fa",
    "testharness"
   ],
   "css/css-text/i18n/ja/css-text-line-break-ja-in-loose-expected.txt": [
@@ -337113,39 +337936,39 @@
    "support"
   ],
   "css/css-text/i18n/ja/css-text-line-break-ja-in-loose.html": [
-   "580862e0ad99610c0afc303c2a646820bd0ce0f4",
+   "09c5758d79aa386817ac2e7e6c7a162399f8790d",
    "testharness"
   ],
   "css/css-text/i18n/ja/css-text-line-break-ja-in-normal.html": [
-   "49f401a27415d5761d905ca2f876b4abf1ac5644",
+   "8bf3aa9016d1f213f340a5c4a7fa0a09a8b6ea7d",
    "testharness"
   ],
   "css/css-text/i18n/ja/css-text-line-break-ja-in-strict.html": [
-   "499609c846c86aca09191788095c57bb2b3899b3",
+   "3c14e183d84bc048954a9474b07aae01e87f12b9",
    "testharness"
   ],
   "css/css-text/i18n/ja/css-text-line-break-ja-iteration-loose.html": [
-   "94012593a4b57702d0312800ad8d1aa0250dd959",
+   "dbf77a0f806410c8d6fb95c3ce260a57c5716a21",
    "testharness"
   ],
   "css/css-text/i18n/ja/css-text-line-break-ja-iteration-normal.html": [
-   "b65c7da78a84a60708c3081a5e0075aa095c53d6",
+   "ecdcdc31733b3b765fbb087a5c22c1dfde98531a",
    "testharness"
   ],
   "css/css-text/i18n/ja/css-text-line-break-ja-iteration-strict.html": [
-   "1c022f71e288c07be3d24a137bfa86719cb80e58",
+   "3b2a2ee9eb19b49c17c3ead23cdae9d84ef36961",
    "testharness"
   ],
   "css/css-text/i18n/ja/css-text-line-break-ja-po-loose.html": [
-   "0ffed1f18dd9fbcb3b0b5a8b7e39494fd912fa18",
+   "795cb0230b6eaed306a621a7b9ef7c2cb626a04f",
    "testharness"
   ],
   "css/css-text/i18n/ja/css-text-line-break-ja-po-normal.html": [
-   "ce3a30f1cb6a39e1fe868c0916e308cab409a94d",
+   "7c591eb936a13a8a4de8a83ec5d40fe07de183b2",
    "testharness"
   ],
   "css/css-text/i18n/ja/css-text-line-break-ja-po-strict.html": [
-   "95ffcf794127f77dcc5a68782fdbc2b3c758197d",
+   "c41ea732a8919954ebd77fe76c883f9e6379f08e",
    "testharness"
   ],
   "css/css-text/i18n/reference/css3-text-line-break-opclns-001-ref.html": [
@@ -337865,27 +338688,27 @@
    "support"
   ],
   "css/css-text/i18n/zh/css-text-line-break-zh-cpm-loose.html": [
-   "f3eb0442e9d7e6c5734934c7f95c03aec7c564aa",
+   "b9f81eeecf5b0341da049f6f1b0eabec29b4f601",
    "testharness"
   ],
   "css/css-text/i18n/zh/css-text-line-break-zh-cpm-normal.html": [
-   "9511727e9818e5f8fb29416c44ec25add0260d8a",
+   "7d2af701422cad0e054aead632ae24c2dae9ffe9",
    "testharness"
   ],
   "css/css-text/i18n/zh/css-text-line-break-zh-cpm-strict.html": [
-   "d1cd8bf9017ebafaaac29ec625010b1def1aa178",
+   "069212e628e376276159795c1da4335c76e6f141",
    "testharness"
   ],
   "css/css-text/i18n/zh/css-text-line-break-zh-hyphens-loose.html": [
-   "b897e9b671e2deb456934b7610309a67bd44e1d6",
+   "70ebdc0898b19e8af303f2a7c3769f8305946ca6",
    "testharness"
   ],
   "css/css-text/i18n/zh/css-text-line-break-zh-hyphens-normal.html": [
-   "30be2668fea55a538fa4decf418f4dd67209d748",
+   "8fd631efb3f2dcad9a44fbef8fb722a27dc1cd25",
    "testharness"
   ],
   "css/css-text/i18n/zh/css-text-line-break-zh-hyphens-strict.html": [
-   "f3278c3f26f72518c1771ea2275e7a85a3be10dc",
+   "91f261018b174d352a50829cc9e830201893d660",
    "testharness"
   ],
   "css/css-text/i18n/zh/css-text-line-break-zh-in-loose-expected.txt": [
@@ -337893,39 +338716,39 @@
    "support"
   ],
   "css/css-text/i18n/zh/css-text-line-break-zh-in-loose.html": [
-   "b137a7344e35a0da6b1094e07d9ec52ffe28dd5a",
+   "4f163719ae7ef7d95d360c68db9e84da660bef5b",
    "testharness"
   ],
   "css/css-text/i18n/zh/css-text-line-break-zh-in-normal.html": [
-   "d5fb7c99ffd57ea4457a74444a4a3b7ae91b2ea0",
+   "bb0df2e8fc1dea46c97f7c76bcaab59631374b5c",
    "testharness"
   ],
   "css/css-text/i18n/zh/css-text-line-break-zh-in-strict.html": [
-   "fa47a89381700fa0d3fba38f5336cdc608bb170f",
+   "965d5133fab10083f6772502f7e4b7855dedfa07",
    "testharness"
   ],
   "css/css-text/i18n/zh/css-text-line-break-zh-iteration-loose.html": [
-   "4c802ca8cd677dddd1853d9bfb883633ccfe95f9",
+   "72c476cdce7db0d2e97cdb4a6c38ccf53590bf64",
    "testharness"
   ],
   "css/css-text/i18n/zh/css-text-line-break-zh-iteration-normal.html": [
-   "d45c7849468350cef5c07609d2619ba372f31328",
+   "92ac2e020911c3d6dc2b9a9df6c7816e07d46521",
    "testharness"
   ],
   "css/css-text/i18n/zh/css-text-line-break-zh-iteration-strict.html": [
-   "0c29ec0705c237d55b7a6c5c897e4b86fe2f6f25",
+   "22ac4baf03bf59f9f0a4623bcd83a004a33f1db9",
    "testharness"
   ],
   "css/css-text/i18n/zh/css-text-line-break-zh-po-loose.html": [
-   "ab3c66a4194db1973b75f57eb79588d8af9bbad5",
+   "0e0280505fa2219b6c0ac7a1e0ef0838e72cc228",
    "testharness"
   ],
   "css/css-text/i18n/zh/css-text-line-break-zh-po-normal.html": [
-   "7144f4f810c891826832149b6e5a27ed7619216f",
+   "490e4067a4042b81304d8b6c4925da7371142762",
    "testharness"
   ],
   "css/css-text/i18n/zh/css-text-line-break-zh-po-strict.html": [
-   "d1cf5151391222130a7e9781bb172c5ddca12127",
+   "ec44c093a32decdc7bd39b77d7409fff36b62f4b",
    "testharness"
   ],
   "css/css-text/letter-spacing/letter-spacing-control-chars-001.html": [
@@ -338424,6 +339247,14 @@
    "59843ae54b64f6ce4f7e616d4be491c911ea84cf",
    "support"
   ],
+  "css/css-text/tab-size/tab-min-rendered-width-1-ref.html": [
+   "7623adb59e65bed4787a9105ce54caa8fed63fa8",
+   "support"
+  ],
+  "css/css-text/tab-size/tab-min-rendered-width-1.html": [
+   "6b014260e3678e579110cf16cfed5413a02c3d01",
+   "reftest"
+  ],
   "css/css-text/tab-size/tab-size-integer-001-ref.html": [
    "db1d6b0ed5b9f16779841931ef5a999dbcd1ea50",
    "support"
@@ -341508,6 +342339,14 @@
    "752888eaf76630ae9835dd444c4941793ecf53cc",
    "reftest"
   ],
+  "css/css-transforms/preserve3d-button-ref.html": [
+   "e5e3c1ebfcdd7c832a211d17ac2f1ed6f4116252",
+   "support"
+  ],
+  "css/css-transforms/preserve3d-button.html": [
+   "544bb2496638a52915f7c97a238ccb053b4e884e",
+   "reftest"
+  ],
   "css/css-transforms/reference/backface-visibility-hidden-ref.html": [
    "6a3e305e5c0c7fca6c8d53574b7a09eb21afb6cc",
    "support"
@@ -346220,6 +347059,10 @@
    "abc2f38b956096a4e09826c2e812dd8c606c0911",
    "testharness"
   ],
+  "css/css-transitions/transitionevent-interface.html": [
+   "cd47469ec742106ace7d904dc588d746ac514ba5",
+   "testharness"
+  ],
   "css/css-transitions/transitions-animatable-properties-01.html": [
    "534f81839ac875ff6b5c5c7b17784258d7a8932c",
    "testharness"
@@ -353564,6 +354407,10 @@
    "ffda7d62ba963ed693e14547adce6592a11f5657",
    "support"
   ],
+  "css/css-writing-modes/inheritance.html": [
+   "143571c9d9713887b6af761a920b56aa8d8b47a7",
+   "testharness"
+  ],
   "css/css-writing-modes/inline-block-alignment-002-ref.xht": [
    "ce478e7499247e6277482b9c16c9dd2b1b76f275",
    "support"
@@ -357424,10 +358271,42 @@
    "7bb944c9d59349b3a25ab14981ae34f5ef991bec",
    "support"
   ],
+  "css/cssom-view/scroll-behavior-default-css.html": [
+   "8606b1f3ed40b49c693213e02df69d088d93b979",
+   "testharness"
+  ],
+  "css/cssom-view/scroll-behavior-element.html": [
+   "9f60ca771121c82237f2be2097d089f582918fe5",
+   "testharness"
+  ],
+  "css/cssom-view/scroll-behavior-main-frame-root.html": [
+   "7ef0a4aa0da74a724a851cb1b2f16305712f7b7f",
+   "testharness"
+  ],
+  "css/cssom-view/scroll-behavior-main-frame-window.html": [
+   "57b0d913461a3d374afeb204ed164b97e7d82b38",
+   "testharness"
+  ],
+  "css/cssom-view/scroll-behavior-scrollintoview-nested.html": [
+   "2a97e0656637d12a2451fecd2985cd3370bb75cf",
+   "testharness"
+  ],
+  "css/cssom-view/scroll-behavior-smooth-positions.html": [
+   "19e317d5e4b9e65aca7df6becb35481ad8125bac",
+   "testharness"
+  ],
   "css/cssom-view/scroll-behavior-smooth.html": [
    "e1a7a6a1680393541a93552b2e9a9a64945e355e",
    "testharness"
   ],
+  "css/cssom-view/scroll-behavior-subframe-root.html": [
+   "32de1b62038e0db017b7416554fbf5e92485d3ea",
+   "testharness"
+  ],
+  "css/cssom-view/scroll-behavior-subframe-window.html": [
+   "0a8ed39d1b97d493e9f8ffe0710e711afa491f43",
+   "testharness"
+  ],
   "css/cssom-view/scroll-no-layout-box.html": [
    "cc67ce76ed9d432656b37c9c81a20e86d1bafc8d",
    "testharness"
@@ -357448,6 +358327,10 @@
    "70343cb42530147fe08575c7cd69912be8944213",
    "testharness"
   ],
+  "css/cssom-view/scrollIntoView-svg-shape.html": [
+   "7af5de5ff8aceb96867815354571314afd4cb07c",
+   "testharness"
+  ],
   "css/cssom-view/scrollIntoView-vertical-rl-writing-mode.html": [
    "4d67b4de3d4c754259213976aa8401bf13408a68",
    "testharness"
@@ -357600,6 +358483,10 @@
    "84141028020b7e8cdf2412acbca3c799ba50a534",
    "support"
   ],
+  "css/cssom-view/support/scroll-behavior.js": [
+   "0a0968e025bd8604c0765352d3a2e8b3cc1233aa",
+   "support"
+  ],
   "css/cssom-view/support/square-purple.png": [
    "0f522d78728417b0f74b694e2e47cd41c00359d1",
    "support"
@@ -357941,15 +358828,15 @@
    "support"
   ],
   "css/cssom/getComputedStyle-insets-absolute.html": [
-   "196f5f26f31f71253aa33b581f7a64ce3604e8da",
+   "fae0a84a7b4a554b6cc182f48aee98bc7c196ad4",
    "testharness"
   ],
   "css/cssom/getComputedStyle-insets-fixed.html": [
-   "e57e774fe6eb27be91fa95d920096ba107512b1b",
+   "ff80d2fc50464eff7564827fe9922e3274ecd629",
    "testharness"
   ],
   "css/cssom/getComputedStyle-insets-nobox.html": [
-   "ca55ace7f4ed42ae25dab7968b347f83a998b958",
+   "236abf17f9cab8652b350c1168f2c27c1f84a631",
    "testharness"
   ],
   "css/cssom/getComputedStyle-insets-relative-expected.txt": [
@@ -357957,11 +358844,11 @@
    "support"
   ],
   "css/cssom/getComputedStyle-insets-relative.html": [
-   "c48f2eb555ee51c464753d980deeac514c84fd29",
+   "1abfc62c0165a0a47b2e988111723acb55f996ce",
    "testharness"
   ],
   "css/cssom/getComputedStyle-insets-static.html": [
-   "854a8e3dba4085ab1fa8fe3c48fde4ef2c27bca6",
+   "aa7dbee95667a5e3b829b7d3774311da49c01deb",
    "testharness"
   ],
   "css/cssom/getComputedStyle-insets-sticky-expected.txt": [
@@ -357969,7 +358856,7 @@
    "support"
   ],
   "css/cssom/getComputedStyle-insets-sticky.html": [
-   "10520232d738a6547ee430797c74763649e06224",
+   "6149acc6d7d0391d7a4d7ece12b9ec9c4b39041d",
    "testharness"
   ],
   "css/cssom/getComputedStyle-pseudo-expected.txt": [
@@ -358040,12 +358927,8 @@
    "cf9befb8ffb628f59508d5d74ec6ed4db9e4e09e",
    "testharness"
   ],
-  "css/cssom/overflow-serialization-expected.txt": [
-   "a66d1900d5fbf913972d5f64bb789f5bba942ffc",
-   "support"
-  ],
   "css/cssom/overflow-serialization.html": [
-   "2911c8da3e3ae47af4fd764170fd7439cda56685",
+   "136b8aba117eb64403700d8c4348db085cede9c8",
    "testharness"
   ],
   "css/cssom/preferred-stylesheet-order.html": [
@@ -358105,11 +358988,11 @@
    "testharness"
   ],
   "css/cssom/shorthand-values-expected.txt": [
-   "9f10c8b86f7b4b11f973e612ceb4e0afa6862f39",
+   "a25fe09d66308a218f6485995325bfbbbd2dc788",
    "support"
   ],
   "css/cssom/shorthand-values.html": [
-   "1e4d93acb26e3f644b103974b910203abf93c56e",
+   "d8d7f5349a4561cb4d764f366236e88eb3775c8f",
    "testharness"
   ],
   "css/cssom/style-attr-update-across-documents.html": [
@@ -358201,7 +359084,7 @@
    "support"
   ],
   "css/cssom/support/getComputedStyle-insets.js": [
-   "7bd34fe87a2806d3cc79625001c694159743f862",
+   "beec32e76bc5fcef4640193e321805975c8554b9",
    "support"
   ],
   "css/cssom/support/import-charset.css": [
@@ -365805,7 +366688,7 @@
    "support"
   ],
   "device-memory/OWNERS": [
-   "d7c51dc3b06775093c876da54a71fa0379ad0119",
+   "5dd066fdd04c103dfd70ba06f6aa67d691420924",
    "support"
   ],
   "device-memory/device-memory.https.any.js": [
@@ -366012,6 +366895,10 @@
    "22792f5c6c7883c97e71c7adec1c2d873cf608b8",
    "testharness"
   ],
+  "dom/events/EventListener-addEventListener.sub.window.js": [
+   "b658140eea871f8790e9494ccbb8e8b845fe800e",
+   "testharness"
+  ],
   "dom/events/EventListener-handleEvent.html": [
    "b33b030a641dd0d2a4e1319f366e3db975e9dc3f",
    "testharness"
@@ -370789,7 +371676,7 @@
    "testharness"
   ],
   "eventsource/eventsource-prototype.htm": [
-   "38f63eb5f0053c737e4e9f89755b4906f9bcf8f6",
+   "24bf9954007d6aeb2087484bd805d0f26f89cbe2",
    "testharness"
   ],
   "eventsource/eventsource-reconnect.htm": [
@@ -371520,6 +372407,14 @@
    "5701d6d7866b575dc162b27f70a336967c70911f",
    "testharness"
   ],
+  "fetch/api/basic/header-value-combining.any.js": [
+   "fd08072ea52214fdd83741d5b7fbef8c572a3f15",
+   "testharness"
+  ],
+  "fetch/api/basic/header-value-combining.any.serviceworker-expected.txt": [
+   "979efeaf0d6cd55ddd8a59b11b783873e92b92a5",
+   "support"
+  ],
   "fetch/api/basic/header-value-null-byte.any-expected.txt": [
    "d783ddfa5e1b1da7ce1ea41f9ab330108dbbde11",
    "support"
@@ -371624,6 +372519,10 @@
    "5b11018eb31648f5503eba1b1e71a616e219b375",
    "testharness"
   ],
+  "fetch/api/basic/stream-safe-creation.any.js": [
+   "180d338659021fed3d29e08ccea415cc5852fed2",
+   "testharness"
+  ],
   "fetch/api/basic/text-utf8.html": [
    "e5c567b9c4531113c12a3c56d0f5d9c1517589a2",
    "testharness"
@@ -372428,26 +373327,10 @@
    "1e68f6d01c6c763fa46427e31c6f1229ed000ccc",
    "testharness"
   ],
-  "fetch/api/response/response-from-stream.any-expected.txt": [
-   "86adede7b835d5e5c2dfe37a34adf23fda159d46",
-   "support"
-  ],
   "fetch/api/response/response-from-stream.any.js": [
    "93b29b42867f47f4472c6820ff9d4a1a343e84cf",
    "testharness"
   ],
-  "fetch/api/response/response-from-stream.any.serviceworker-expected.txt": [
-   "86adede7b835d5e5c2dfe37a34adf23fda159d46",
-   "support"
-  ],
-  "fetch/api/response/response-from-stream.any.sharedworker-expected.txt": [
-   "86adede7b835d5e5c2dfe37a34adf23fda159d46",
-   "support"
-  ],
-  "fetch/api/response/response-from-stream.any.worker-expected.txt": [
-   "86adede7b835d5e5c2dfe37a34adf23fda159d46",
-   "support"
-  ],
   "fetch/api/response/response-idl-expected.txt": [
    "81ae70ea0cfc04c5d8398d575bf251c499cbdeff",
    "support"
@@ -372665,7 +373548,7 @@
    "testharness"
   ],
   "fetch/corb/script-html-via-cross-origin-blob-url.sub.html": [
-   "8ce7987ff89d456fb166427f174c38f0fc327bcf",
+   "c8a90c79b3f7f5136dbad30dd3299fc57365b272",
    "testharness"
   ],
   "fetch/corb/script-js-mislabeled-as-html-nosniff.sub.html": [
@@ -373592,12 +374475,8 @@
    "8a1711365d4f73cac512b38f6a204907dc278bc8",
    "support"
   ],
-  "fullscreen/api/document-exit-fullscreen-active-document-expected.txt": [
-   "ba24a2ab4c025ce3bf4cb096a9410c056ffe49a0",
-   "support"
-  ],
   "fullscreen/api/document-exit-fullscreen-active-document.html": [
-   "18b0bb6493bd8275a750091b862c7ee5ee770abf",
+   "8279fae533774fcf6daced99ffc84413a0a9172d",
    "testharness"
   ],
   "fullscreen/api/document-exit-fullscreen-manual.html": [
@@ -374213,7 +375092,7 @@
    "support"
   ],
   "hr-time/OWNERS": [
-   "ec4f52111cc13164063be247ad93cb9587c1b1a3",
+   "815315e485d0778fa3f1f4b5e37e1b80fad57bee",
    "support"
   ],
   "hr-time/basic.any.js": [
@@ -375317,11 +376196,11 @@
    "support"
   ],
   "html/browsers/history/the-history-interface/001.html": [
-   "0e5632bbcdffdd6d7ab808a12bb65a8441234162",
+   "7273593547964e92b0e69fbeb018f3b5905dec00",
    "testharness"
   ],
   "html/browsers/history/the-history-interface/002.html": [
-   "eb0c15aab896969b0d8f6561860bbf55c46301f3",
+   "c5bae3407c89989466b5ca1897a0c93f889d9988",
    "testharness"
   ],
   "html/browsers/history/the-history-interface/004.html": [
@@ -375612,10 +376491,6 @@
    "64920b4f4f5a4682f32b6fc37ddf89a198a0b3ef",
    "support"
   ],
-  "html/browsers/history/the-history-interface/traverse_the_history_2-expected.txt": [
-   "4cc1bc9d0779b0dc2a502bfa4fe6c79a6f0e0d8e",
-   "support"
-  ],
   "html/browsers/history/the-history-interface/traverse_the_history_2.html": [
    "1d10033808c4b4bd1c94a2f90a067d226438849e",
    "testharness"
@@ -375624,10 +376499,6 @@
    "c49bfd384a29a509fd1ecd764c3b6f895dbec31d",
    "support"
   ],
-  "html/browsers/history/the-history-interface/traverse_the_history_3-expected.txt": [
-   "4cc1bc9d0779b0dc2a502bfa4fe6c79a6f0e0d8e",
-   "support"
-  ],
   "html/browsers/history/the-history-interface/traverse_the_history_3.html": [
    "51ed4eb399be9ec54d5e84475dcaebffdf83eed0",
    "testharness"
@@ -375636,10 +376507,6 @@
    "cf7f72379aa3e1cf8d446182c744fa8ec57bd6f2",
    "support"
   ],
-  "html/browsers/history/the-history-interface/traverse_the_history_4-expected.txt": [
-   "d8e3e002d4ad0ad41dca696d9656a1b326fe30a4",
-   "support"
-  ],
   "html/browsers/history/the-history-interface/traverse_the_history_4.html": [
    "651693011ae5bf1abec2ad555bd11cb4a75817ed",
    "testharness"
@@ -375648,10 +376515,6 @@
    "a3f2553fa013f18b7d04772a12dc6c223ac109a2",
    "support"
   ],
-  "html/browsers/history/the-history-interface/traverse_the_history_5-expected.txt": [
-   "d8e3e002d4ad0ad41dca696d9656a1b326fe30a4",
-   "support"
-  ],
   "html/browsers/history/the-history-interface/traverse_the_history_5.html": [
    "837f265b508384acb2086cb289b1f5f226a973d2",
    "testharness"
@@ -378105,19 +378968,19 @@
    "support"
   ],
   "html/dom/interfaces.https.html": [
-   "6b7e37bf1fe25e21919c89e700d2c4078b7c9880",
+   "15cee69f64ecef6d17bf2a92580e20462beff952",
    "testharness"
   ],
   "html/dom/interfaces.https_exclude=(Document_Window_HTML._)-expected.txt": [
-   "38d949359aac5e9e3a23be4673f221e5f9dbc19c",
+   "264a2913dfa4eb9e3fc0b392b32f1a97dad0fec6",
    "support"
   ],
   "html/dom/interfaces.https_include=(Document_Window)-expected.txt": [
-   "38d949359aac5e9e3a23be4673f221e5f9dbc19c",
+   "cae9ca1ea198e5e18ebeabf107601bd2b6a0935e",
    "support"
   ],
   "html/dom/interfaces.https_include=HTML._-expected.txt": [
-   "38d949359aac5e9e3a23be4673f221e5f9dbc19c",
+   "26e4d070813d10a05d6561fede341a2cbd1f46e3",
    "support"
   ],
   "html/dom/interfaces.worker-expected.txt": [
@@ -382957,7 +383820,7 @@
    "reftest"
   ],
   "html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-display-expected.txt": [
-   "f9a02c9301a9d2b3ce66225801ff39f6edb606f8",
+   "d13c68baee91d0acb8c72d68bb94b2cd3dae8e0e",
    "support"
   ],
   "html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-display-none-rendering-ref.html": [
@@ -383004,6 +383867,10 @@
    "f70e952ed06c7bf07eaaaaccea251d3e54267ec3",
    "reftest"
   ],
+  "html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-grid-flex-multicol-expected.txt": [
+   "403e37a0072992f19c19487291a9f6950d92ee67",
+   "support"
+  ],
   "html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-grid-flex-multicol.html": [
    "edd2600d4a0749d281e7ed1b4da4aefbd7c686ba",
    "testharness"
@@ -383013,7 +383880,7 @@
    "support"
   ],
   "html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-list-item.html": [
-   "c26b50ce662cbea50a69e8e718b9b2b889568f64",
+   "e9676435725be4aeb9c0d3649af17bafa41294af",
    "reftest"
   ],
   "html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-margin-inline.html": [
@@ -384865,7 +385732,7 @@
    "testharness"
   ],
   "html/semantics/embedded-content/media-elements/track/track-element/track-change-event.html": [
-   "6794126473087f6b3f37cbff4f6481a3bd3a027a",
+   "a9cd73435a3aa3921edc70b76bb8e9a84a21a000",
    "testharness"
   ],
   "html/semantics/embedded-content/media-elements/track/track-element/track-css-cue-pseudo-class.html": [
@@ -386669,11 +387536,11 @@
    "support"
   ],
   "html/semantics/embedded-content/the-img-element/img.complete-expected.txt": [
-   "f4000ad3432a4a643dd527c6da45e7560dfaf305",
+   "aba6affa8084a3556e8db7ecd8948093cef555f9",
    "support"
   ],
   "html/semantics/embedded-content/the-img-element/img.complete.html": [
-   "4be8d4db848ad259a508e1a8091feaae7733e784",
+   "42113cdd2ff15255292f1ad705355f732a4f137c",
    "testharness"
   ],
   "html/semantics/embedded-content/the-img-element/intrinsicsize/intrinsicsize-with-responsive-images.tentative.html": [
@@ -393725,7 +394592,7 @@
    "support"
   ],
   "interfaces/CSP.idl": [
-   "64cba00e956ea1774b0d0342d23ee79b0890430e",
+   "46fae543cb2d96dfdc0ee03d0470c53464564a80",
    "support"
   ],
   "interfaces/CSS-Parser-API.idl": [
@@ -393765,7 +394632,7 @@
    "support"
   ],
   "interfaces/SVG.idl": [
-   "01d87b862b4167f79c43ed1b91ef772f5a78f5fe",
+   "4c1c4855f27af4a330565703277f7081c2860c86",
    "support"
   ],
   "interfaces/WebCryptoAPI.idl": [
@@ -394069,15 +394936,15 @@
    "support"
   ],
   "interfaces/payment-handler.idl": [
-   "5648ae33457dcdcd2f0eca90d69fbe1a5fac3d5b",
+   "b5d79decb06530001cd9d63e6fcba43995d27ba1",
    "support"
   ],
   "interfaces/payment-method-basic-card.idl": [
-   "00d6ad1f0a28decdc867023d13f72c45b7d1778f",
+   "2019aa1166935b9bf8f1ad3a5d62183d18b0a682",
    "support"
   ],
   "interfaces/payment-request.idl": [
-   "e3afbd47db3b4d2c85a1e53599862b2cb273f828",
+   "d930b57291e5301e4056d30192726023e9306512",
    "support"
   ],
   "interfaces/performance-timeline.idl": [
@@ -394089,7 +394956,7 @@
    "support"
   ],
   "interfaces/picture-in-picture.idl": [
-   "dd379c8c0a07b8120895b0be917b246892b6e87b",
+   "c7bc249dffceac3b3c8eebe332a0940a547dec31",
    "support"
   ],
   "interfaces/pointerevents-extension.idl": [
@@ -394229,7 +395096,7 @@
    "support"
   ],
   "interfaces/webaudio.idl": [
-   "14bb62b8aaaf97b65515c0101711e3d4a249170b",
+   "4f1914dbae23a5619b72b92b761bd146d1aaacf9",
    "support"
   ],
   "interfaces/webauthn.idl": [
@@ -394257,7 +395124,7 @@
    "support"
   ],
   "interfaces/webrtc-stats.idl": [
-   "4df720a0fc183389be33d4c3fa7089e70e9e1543",
+   "b2bf38e9fd45f81598bbdef1daef789cbdd75977",
    "support"
   ],
   "interfaces/webrtc.idl": [
@@ -394533,7 +395400,7 @@
    "support"
   ],
   "longtask-timing/OWNERS": [
-   "37c577875b9ecd673d22096a5f0b64f11ea96b6c",
+   "948e9e1200422cfabde1eff0e05ea969527d4c19",
    "support"
   ],
   "longtask-timing/idlharness.window.js": [
@@ -395604,12 +396471,8 @@
    "00b709673d018b09868a364e6ba6e9fe58ed0d9c",
    "support"
   ],
-  "mediacapture-streams/MediaStream-MediaElement-srcObject.https-expected.txt": [
-   "2a5c612e079f669c97726ba47af0a72c9b20a764",
-   "support"
-  ],
   "mediacapture-streams/MediaStream-MediaElement-srcObject.https.html": [
-   "63442bea25b34cda8814a22dc1e90a7871b4a0b9",
+   "2ed96ec386c23c019791c8306d7d81cd4b3af920",
    "testharness"
   ],
   "mediacapture-streams/MediaStream-add-audio-track.https.html": [
@@ -395621,7 +396484,7 @@
    "testharness"
   ],
   "mediacapture-streams/MediaStream-default-feature-policy.https.html": [
-   "0b45ac6f594a695b28545ee3a99c0c6a7f8bbc12",
+   "21e3f5b9af8567cb015604bbcb021cc04216e4c2",
    "testharness"
   ],
   "mediacapture-streams/MediaStream-finished-add.https.html": [
@@ -405641,7 +406504,7 @@
    "support"
   ],
   "paint-timing/OWNERS": [
-   "0077b1ed92a62fe75df5f4dabcc213ccfffa9755",
+   "a6d4314c7ec765970c31829455d198bcaf31f280",
    "support"
   ],
   "paint-timing/basetest.html": [
@@ -405725,7 +406588,7 @@
    "support"
   ],
   "payment-handler/basic-card.js": [
-   "86fcea711c5cea4a726aded727b40fda7cacb770",
+   "c78f24b017f739eb202cc235aa37ae4a4f805472",
    "support"
   ],
   "payment-handler/basic-card.json": [
@@ -405756,24 +406619,20 @@
    "c10851eb89664be20d376c6dcf5064ad47a8cc92",
    "testharness"
   ],
-  "payment-handler/idlharness.https.any-expected.txt": [
-   "a74a0fe79e9e0982efb4f422a6bbb2d64ab07ae0",
-   "support"
-  ],
   "payment-handler/idlharness.https.any.js": [
    "6fbba53515eba4db995624cecaff1512fbace056",
    "testharness"
   ],
   "payment-handler/idlharness.https.any.serviceworker-expected.txt": [
-   "0c6751fc2390927431b86021552f778b6c442038",
+   "e7bb8bf16184ee7dfb1a6e4fb6f05206326084b9",
    "support"
   ],
   "payment-handler/idlharness.https.any.sharedworker-expected.txt": [
-   "942bea037d12a6343b66d5feb858b1a13622577e",
+   "9f716c5e598f7c177728f85dc5036c86e8750d4a",
    "support"
   ],
   "payment-handler/idlharness.https.any.worker-expected.txt": [
-   "942bea037d12a6343b66d5feb858b1a13622577e",
+   "9f716c5e598f7c177728f85dc5036c86e8750d4a",
    "support"
   ],
   "payment-handler/manifest.json": [
@@ -405813,7 +406672,7 @@
    "support"
   ],
   "payment-handler/payment-request-event.https.html": [
-   "4e9cc21a1e52159e3446097b47f3dde730d373e4",
+   "fb51c2eeb54ae695272598e03e78a66bde7d41b2",
    "testharness"
   ],
   "payment-handler/register-and-activate-service-worker.js": [
@@ -405841,7 +406700,7 @@
    "support"
   ],
   "payment-method-basic-card/empty-data-manual.https.html": [
-   "898da6a2d41bb43c3b75f34eabcf69020fb6936b",
+   "4b517159df49d97f459cabd0dc6599fbb4860e0d",
    "manual"
   ],
   "payment-method-basic-card/idlharness.window.js": [
@@ -405901,7 +406760,7 @@
    "support"
   ],
   "payment-request/PaymentAddress/attributes-and-toJSON-method-manual.https.html": [
-   "65d56e7490111f6fc9e91f4470379fc89ae42972",
+   "edde533be6b2e49415b81ae4df167139117a0d7c",
    "manual"
   ],
   "payment-request/PaymentCurrencyAmount/currencySystem-member.https-expected.txt": [
@@ -405973,7 +406832,7 @@
    "manual"
   ],
   "payment-request/PaymentValidationErrors/retry-shows-shippingAddress-member-manual.https.html": [
-   "cdc8d353a9b458b123dd2598ed34553a30dc4f23",
+   "356f30da6b54bef4136a2b3a806313bf4bb1f766",
    "manual"
   ],
   "payment-request/algorithms-manual.https.html": [
@@ -406048,8 +406907,12 @@
    "f08491150ac7ee6d69520a936eb2868d60393c57",
    "manual"
   ],
+  "payment-request/historical.https-expected.txt": [
+   "4dbafb7749ea64069e1fef206604284ddde93505",
+   "support"
+  ],
   "payment-request/historical.https.html": [
-   "b7880a2dee880d5274fe9c8f0162d093e4051857",
+   "cbd29d4cff8698365c05acfe75504de5ec7e1aec",
    "testharness"
   ],
   "payment-request/idlharness.https.window-expected.txt": [
@@ -406160,14 +407023,14 @@
    "0a8ef6c77e87e68a1b7f9aa28588be4de3da98f0",
    "manual"
   ],
+  "payment-request/payment-response/onpayerdetailchange-attribute-manual.https.html": [
+   "c8dd92636c6392b2436c8235340355c4529e12c1",
+   "manual"
+  ],
   "payment-request/payment-response/onpayerdetailchange-attribute.https.html": [
    "ed9e6e885b842ae18c5f87f9992d0c9a9cb6401a",
    "testharness"
   ],
-  "payment-request/payment-response/onpayerdetailchange-attribute.manual.https.html": [
-   "c8dd92636c6392b2436c8235340355c4529e12c1",
-   "testharness"
-  ],
   "payment-request/payment-response/payerEmail-attribute-manual.https.html": [
    "28ce4c28a85c5bdb79f08438edd2086fd6b09c08",
    "manual"
@@ -406253,7 +407116,7 @@
    "support"
   ],
   "performance-timeline/OWNERS": [
-   "ee8496a422c25fd04c813bf1e32feeaedd75a34d",
+   "07ede8cb9d1f0c0b6c7ab9af7593af81188896f1",
    "support"
   ],
   "performance-timeline/case-sensitivity.any.js": [
@@ -406373,7 +407236,7 @@
    "testharness"
   ],
   "picture-in-picture/enter-picture-in-picture.html": [
-   "fc109e4f5a49634062c913a6226dfb963fcd23a5",
+   "9df2bfabcf272a25a6f5177c128e095f8b970427",
    "testharness"
   ],
   "picture-in-picture/exit-picture-in-picture.html": [
@@ -406381,7 +407244,7 @@
    "testharness"
   ],
   "picture-in-picture/idlharness.window-expected.txt": [
-   "d911941b006927ae06b49e17a1b54705f24fcc41",
+   "6c3e97c13915781641c74761ac2b5db3fd4b223e",
    "support"
   ],
   "picture-in-picture/idlharness.window.js": [
@@ -406617,7 +407480,7 @@
    "manual"
   ],
   "pointerevents/pointerevent_releasepointercapture_invalid_pointerid-manual.html": [
-   "fe2ab0061810dd32fbe73ce71dbc18c54e89ad30",
+   "d0cf3671743a85e6b76015c1baab4864253148be",
    "manual"
   ],
   "pointerevents/pointerevent_releasepointercapture_onpointercancel_touch-manual.html": [
@@ -406645,7 +407508,7 @@
    "manual"
   ],
   "pointerevents/pointerevent_setpointercapture_invalid_pointerid-manual.html": [
-   "4dbe858db16908698bf7811c31f60fae1365d17f",
+   "e2b143fe4a57c1585d96ec4ee29aa82ed0ae4dba",
    "manual"
   ],
   "pointerevents/pointerevent_setpointercapture_relatedtarget-manual.html": [
@@ -407461,37 +408324,97 @@
    "support"
   ],
   "referrer-policy/css-integration/README.md": [
-   "2edb24fb41edef2ace4b3ea5cf044e78240c1648",
+   "14da25c4d9702f0dcfb87aca255e0ea5df9063a6",
    "support"
   ],
-  "referrer-policy/css-integration/external-import-stylesheet.html": [
-   "7b6ec6431bdbb0fc1bfd4d070b27cb5546abf163",
+  "referrer-policy/css-integration/child-css/external-import-stylesheet-expected.txt": [
+   "fb68f4bf446e78bdb3b3979e4c0fc42207b9ee57",
+   "support"
+  ],
+  "referrer-policy/css-integration/child-css/external-import-stylesheet.html": [
+   "a2d3e8ced0412b97422847d4d81c1403cf9ae52c",
    "testharness"
   ],
-  "referrer-policy/css-integration/external-stylesheet.html": [
+  "referrer-policy/css-integration/child-css/internal-import-stylesheet.html": [
+   "aebf5031484b799989d6b6a9dd72a5bc28575214",
+   "testharness"
+  ],
+  "referrer-policy/css-integration/child-css/processing-instruction.html": [
+   "b6333e2c7b248c3f3b863bd06f1c99abd472f162",
+   "testharness"
+  ],
+  "referrer-policy/css-integration/css-test-helper.js": [
+   "f5886dbbcbe358438dfbac45c5a0127e9e990ad4",
+   "support"
+  ],
+  "referrer-policy/css-integration/font-face/external-import-stylesheet.html": [
+   "c344c56c5bf322f35e8d8c74427d80391e6637d3",
+   "testharness"
+  ],
+  "referrer-policy/css-integration/font-face/external-stylesheet.html": [
+   "24e4bb99900a556cb0b44144a25c9f8249224eb7",
+   "testharness"
+  ],
+  "referrer-policy/css-integration/font-face/internal-import-stylesheet.html": [
+   "54e2383423cab8679635d05c256c32e27a94c024",
+   "testharness"
+  ],
+  "referrer-policy/css-integration/font-face/internal-stylesheet.html": [
+   "b3869bcebdcdadea3e50d7e8713c853d46ba4816",
+   "testharness"
+  ],
+  "referrer-policy/css-integration/font-face/processing-instruction.html": [
+   "89ee918e24e14b8ea5d35a7dfaf09610eb89ee11",
+   "testharness"
+  ],
+  "referrer-policy/css-integration/image/external-import-stylesheet.html": [
+   "0023af31b17ee883e6e9fe6cdd8f09b8eacf83d1",
+   "testharness"
+  ],
+  "referrer-policy/css-integration/image/external-stylesheet.html": [
    "d14769db4a1221bb6e220aa594c4a3b6bab97aa1",
    "testharness"
   ],
-  "referrer-policy/css-integration/inline-style.html": [
+  "referrer-policy/css-integration/image/inline-style.html": [
    "42128ae062093c0e8feb5d90ab62a6cb281cf8e9",
    "testharness"
   ],
-  "referrer-policy/css-integration/internal-import-stylesheet.html": [
+  "referrer-policy/css-integration/image/internal-import-stylesheet.html": [
    "90003547f4d4e2048cc33f7125d756d42507140d",
    "testharness"
   ],
-  "referrer-policy/css-integration/internal-stylesheet.html": [
+  "referrer-policy/css-integration/image/internal-stylesheet.html": [
    "943108d66e4b273a6d3be30b2ea8a0edb0490c7b",
    "testharness"
   ],
-  "referrer-policy/css-integration/presentation-attribute.html": [
+  "referrer-policy/css-integration/image/presentation-attribute.html": [
    "78401d3ec16866f1e51618bdb5cb028f5eea8490",
    "testharness"
   ],
-  "referrer-policy/css-integration/processing-instruction.html": [
+  "referrer-policy/css-integration/image/processing-instruction.html": [
    "1ca18547dd54c4707250f400999a041f16f77ddf",
    "testharness"
   ],
+  "referrer-policy/css-integration/svg/external-stylesheet.html": [
+   "148584a0b23bbd900d62e28e679d308aa1b204c9",
+   "testharness"
+  ],
+  "referrer-policy/css-integration/svg/inline-style.html": [
+   "1f46acb4a3216e3e5ac81afee50b83ba72ef4852",
+   "testharness"
+  ],
+  "referrer-policy/css-integration/svg/internal-stylesheet.html": [
+   "08be4effa475b232bc2be621dbf24f34ab0e39dd",
+   "testharness"
+  ],
+  "referrer-policy/css-integration/svg/presentation-attribute.html": [
+   "edeceb1a785484111858b650da55a6ec965f5b40",
+   "testharness"
+  ],
+  "referrer-policy/css-integration/svg/processing-instruction.html": [
+   "ba0e6673a3871495c226baf8d3c3daf8ae9e138d",
+   "testharness"
+  ],
   "referrer-policy/generic/common.js": [
    "c98056f680b49b7d765064e9c6d5403ed0cfd21b",
    "support"
@@ -407560,6 +408483,10 @@
    "b2d6c4dfabeafcf1d22a94141d52d04b669f5721",
    "support"
   ],
+  "referrer-policy/generic/subresource/font.py": [
+   "50a5bd2f3996133d4b5904166dc5672e5ae36031",
+   "support"
+  ],
   "referrer-policy/generic/subresource/image.py": [
    "7bc9c657e6b35528d63b6f2d72d73391dedfdf5b",
    "support"
@@ -407569,13 +408496,17 @@
    "support"
   ],
   "referrer-policy/generic/subresource/stylesheet.py": [
-   "328db29b957c4eb355a7907576919cb659d84bf0",
+   "54378216774e49ba564e393b4d1f879ae2d14763",
    "support"
   ],
   "referrer-policy/generic/subresource/subresource.py": [
    "9ba839a133d96d7373a707aa9c71e01b1569297e",
    "support"
   ],
+  "referrer-policy/generic/subresource/svg.py": [
+   "8618875c79f062205c57bac20a322b207914feea",
+   "support"
+  ],
   "referrer-policy/generic/subresource/worker.py": [
    "895bc0d84d12a99c146ba02776138248318b9c1d",
    "support"
@@ -407592,6 +408523,14 @@
    "141711c1483fd13e87e95f151fe6f3191704d7c7",
    "support"
   ],
+  "referrer-policy/generic/template/font.css.template": [
+   "9b19df3cf1f54556f3c2409495d8b6abdd10d2fc",
+   "support"
+  ],
+  "referrer-policy/generic/template/image.css.template": [
+   "0eebd0a45264aa00b5072a8b489a84a85b778a54",
+   "support"
+  ],
   "referrer-policy/generic/template/script.js.template": [
    "e2edf21819dff6afc8a4f5816a0be58f987341ff",
    "support"
@@ -407600,8 +408539,12 @@
    "e4cbd03425968819d773460335404584d9d375fc",
    "support"
   ],
-  "referrer-policy/generic/template/stylesheet.css.template": [
-   "0eebd0a45264aa00b5072a8b489a84a85b778a54",
+  "referrer-policy/generic/template/svg.css.template": [
+   "ffaefed4aa42aa62ca9d3dd9ff5bf989e75cbe01",
+   "support"
+  ],
+  "referrer-policy/generic/template/svg.embedded.template": [
+   "5986c4800a7add03db721f2bf116fe405e5d56cf",
    "support"
   ],
   "referrer-policy/generic/template/test.debug.html.template": [
@@ -415537,19 +416480,23 @@
    "testharness"
   ],
   "resource-timing/resource_TAO_match_origin.htm": [
-   "3ab239e90bbf56aa1f4288e880c42466deef47c2",
+   "4793dbf91d65f823885cdf38fcab90f83da0cf7a",
    "testharness"
   ],
   "resource-timing/resource_TAO_match_wildcard.htm": [
-   "8b07b46672e6077f6d4d0c045c4f09be70c8c15f",
+   "fe812f86774443cc40fc0abf40418fa95fda4763",
    "testharness"
   ],
   "resource-timing/resource_TAO_multi.htm": [
-   "3b6c2e6b267b7114f7f90e32f396b5b69a0f64af",
+   "bb774abc6021a4abd041076afeee3e9d38acc7e0",
+   "testharness"
+  ],
+  "resource-timing/resource_TAO_multi_wildcard.html": [
+   "844896087d45a45369243ce80987876970f40620",
    "testharness"
   ],
   "resource-timing/resource_TAO_null.htm": [
-   "419de693e1f99370da4cae6ff826ae3807fe3e7a",
+   "1a86e09c56753f0bb4319637a601b0acb09ac62e",
    "testharness"
   ],
   "resource-timing/resource_TAO_origin.htm": [
@@ -415557,15 +416504,15 @@
    "testharness"
   ],
   "resource-timing/resource_TAO_origin_uppercase.htm": [
-   "0b42166c0ee844da6fa3d52e803c59dfa4d6f464",
+   "1a03c71410643866b9073db5d7b4c3402ea47fec",
    "testharness"
   ],
   "resource-timing/resource_TAO_space.htm": [
-   "f3cbdc62c016fc48a770e1b71a644e176dfdd374",
+   "9efefe15a4f1d43d2b0f16e9636759338a4c2afc",
    "testharness"
   ],
   "resource-timing/resource_TAO_wildcard.htm": [
-   "407c642d9d461d5a039cc722368a3e328c2387aa",
+   "df278534cc49d46bad7967084b011cf6e93e3876",
    "testharness"
   ],
   "resource-timing/resource_TAO_zero.htm": [
@@ -415665,7 +416612,7 @@
    "testharness"
   ],
   "resource-timing/resources/TAOResponse.py": [
-   "dcd75a415457333cf6188330115d021f0d7c31c9",
+   "fefc75b7b7fc68872b36f56bcb0fa59dd41d2918",
    "support"
   ],
   "resource-timing/resources/all_resource_types.htm": [
@@ -415724,6 +416671,10 @@
    "0696dbe3e502def905cece7cdd5599decb3ad9dc",
    "support"
   ],
+  "resource-timing/resources/iframe_TAO_multi_wildcard.html": [
+   "977df01007d56d85d4c4726c4c501d7e2c21387c",
+   "support"
+  ],
   "resource-timing/resources/iframe_TAO_null.html": [
    "7d47a2076f87dfa5e787e3d4072b3a513330e524",
    "support"
@@ -415941,7 +416892,7 @@
    "support"
   ],
   "resources/chromium/web_usb_service.mojom.js": [
-   "d0b93a168bf06fe6b1dac3dd58c9e7d6f2a66d13",
+   "bacad8fa39095760aff4f67654ef6cc8ff723153",
    "support"
   ],
   "resources/chromium/web_usb_service.mojom.js.headers": [
@@ -415957,7 +416908,7 @@
    "support"
   ],
   "resources/chromium/webusb-test.js": [
-   "5f9262655f3fca5ac225e2788723cc4cd05ca916",
+   "18ee824aafaf45087f4b0aa2d6e90811cb39a751",
    "support"
   ],
   "resources/chromium/webusb-test.js.headers": [
@@ -415973,7 +416924,7 @@
    "support"
   ],
   "resources/idlharness.js": [
-   "746f3e65503fe8587e6f7d01e593cbdccd7ab425",
+   "00c59eda8adfeb8a1b5b8ab1ef60186517161ea4",
    "support"
   ],
   "resources/idlharness.js.headers": [
@@ -416005,7 +416956,7 @@
    "support"
   ],
   "resources/testharness.js": [
-   "352e8b76266b7f5ce3e17278721b55a0fe80a505",
+   "0a92cf10a3d57f8a38921f316f78f2fccc029fb0",
    "support"
   ],
   "resources/testharness.js.headers": [
@@ -416157,7 +417108,7 @@
    "support"
   ],
   "scroll-animations/idlharness.window-expected.txt": [
-   "1c82ba7aaad48d94795c404051a2a2edf00b1fca",
+   "9911f4d98918336fde36651e3a5dc6f43890b07c",
    "support"
   ],
   "scroll-animations/idlharness.window.js": [
@@ -417985,7 +418936,7 @@
    "support"
   ],
   "service-workers/service-worker/fetch-request-xhr-sync.https.html": [
-   "f1e4fecc1b35ba18b89c5710de5efd9f6c1183c0",
+   "ec27fb898343e70ab24486983212ef6b5744cf16",
    "testharness"
   ],
   "service-workers/service-worker/fetch-request-xhr.https-expected.txt": [
@@ -418065,7 +419016,7 @@
    "testharness"
   ],
   "service-workers/service-worker/interfaces-window.https.html": [
-   "85d7f6467ee98905b127a075d4e2a2d331395e79",
+   "2c131b3c93a600c65abd5d6193343262126e808f",
    "testharness"
   ],
   "service-workers/service-worker/invalid-blobtype.https.html": [
@@ -418249,19 +419200,23 @@
    "testharness"
   ],
   "service-workers/service-worker/navigation-redirect.https-expected.txt": [
-   "10b1fd1d6e3148cfc6ec382056000846fe6b17e0",
+   "28a5b788ef706a80cdd40b4bc4aeece347dadbc1",
    "support"
   ],
   "service-workers/service-worker/navigation-redirect.https.html": [
-   "0490f2b4058ce808115442b09859fe7a350b2303",
+   "edd37127668e7705ea2beffa1d511eec1c5a9eca",
    "testharness"
   ],
+  "service-workers/service-worker/navigation-redirect.https_client-expected.txt": [
+   "8856e57fe203ae1c3812f380cc60149d6c805134",
+   "support"
+  ],
   "service-workers/service-worker/navigation-timing.https.html": [
    "ac3456e9d1a9868b11d5571862560afda0a46fef",
    "testharness"
   ],
   "service-workers/service-worker/onactivate-script-error.https.html": [
-   "6c16357f3cc5aba181ee0798ac9fadc2388c3f3a",
+   "f5e80bb9a456bc57f2a821e1fd69114e6ae8638a",
    "testharness"
   ],
   "service-workers/service-worker/oninstall-script-error.https.html": [
@@ -418293,7 +419248,7 @@
    "testharness"
   ],
   "service-workers/service-worker/postmessage.https.html": [
-   "3d73afe9796114f42e614292ef4b180dd78cdee5",
+   "b1f3342a8c14e707097bf6c90e5f4fee5fd19a4a",
    "testharness"
   ],
   "service-workers/service-worker/ready.https-expected.txt": [
@@ -418381,7 +419336,7 @@
    "testharness"
   ],
   "service-workers/service-worker/registration-service-worker-attributes.https.html": [
-   "8fd566dadc62a78ef0836bbc63000473f884d7c7",
+   "f7b52d5ddced18613ca225386bb57f28b9bacd62",
    "testharness"
   ],
   "service-workers/service-worker/registration-updateviacache.https.html": [
@@ -419065,7 +420020,7 @@
    "support"
   ],
   "service-workers/service-worker/resources/navigation-redirect-other-origin.html": [
-   "0d2825f31093f8959b45712eff247a0a21c7c8cd",
+   "d82571d1a3c71e23274009d147e410b10fe8d245",
    "support"
   ],
   "service-workers/service-worker/resources/navigation-redirect-out-scope.py": [
@@ -419217,7 +420172,7 @@
    "support"
   ],
   "service-workers/service-worker/resources/redirect-worker.js": [
-   "bf0a3a8d9e0486f896e635e478dcd623dda987c0",
+   "f3ac411b13ca6d6326d43a59e8ae9d7babc7a9bd",
    "support"
   ],
   "service-workers/service-worker/resources/redirect.py": [
@@ -419385,7 +420340,7 @@
    "support"
   ],
   "service-workers/service-worker/resources/skip-waiting-installed-worker.js": [
-   "b48d502b1360663b62063b7b0da0c96cf638992b",
+   "6f7008bddcdfa044dbedd2e8f2aceb89ec980a71",
    "support"
   ],
   "service-workers/service-worker/resources/skip-waiting-worker.js": [
@@ -419505,7 +420460,7 @@
    "support"
   ],
   "service-workers/service-worker/resources/worker-testharness.js": [
-   "fdf5868e33e2fe35344818ec3f1a2e068b90996d",
+   "73e97be1eaa44bbe96f8801e0c76c37772ac7d1f",
    "support"
   ],
   "service-workers/service-worker/resources/worker_interception_redirect_webworker.py": [
@@ -419565,7 +420520,7 @@
    "testharness"
   ],
   "service-workers/service-worker/skip-waiting-using-registration.https.html": [
-   "a9c398a260676d976f0aac0ca495aa1a6c94e631",
+   "67838acff46698576936fb33b22c594cb3cd10d0",
    "testharness"
   ],
   "service-workers/service-worker/skip-waiting-without-client.https.html": [
@@ -419573,7 +420528,7 @@
    "testharness"
   ],
   "service-workers/service-worker/skip-waiting-without-using-registration.https.html": [
-   "dbe2bde78d3c0b4bd68967188d668c455714121f",
+   "705fe8355e125c99c04abd7dfb899d8536ed6851",
    "testharness"
   ],
   "service-workers/service-worker/skip-waiting.https.html": [
@@ -419589,7 +420544,7 @@
    "reftest"
   ],
   "service-workers/service-worker/synced-state.https.html": [
-   "c4a9b6655cb0660a78a27c523591c4953d3b77a9",
+   "0e9f63a9a2e528e7ffb8f9913edffc8e0294ad98",
    "testharness"
   ],
   "service-workers/service-worker/uncontrolled-page.https.html": [
@@ -419697,7 +420652,7 @@
    "support"
   ],
   "service-workers/service-worker/worker-interception.https.html": [
-   "4f14746d917f9e8f41dfca85e1669dde50d568c4",
+   "bf976a29c48a3810ef4ff20b5c7e8b70dec2b219",
    "testharness"
   ],
   "service-workers/specgen.json": [
@@ -420036,6 +420991,10 @@
    "b571534eb0d6f3f57cfbec3e706648b19848b6d6",
    "testharness"
   ],
+  "shadow-dom/input-type-radio.html": [
+   "9c90fcf0603222785aa81990fb2b09511ff6ba86",
+   "testharness"
+  ],
   "shadow-dom/layout-slot-no-longer-assigned.html": [
    "dfcac99da023ec2bbd94835f71efaef952a62341",
    "reftest"
@@ -422121,7 +423080,7 @@
    "testharness"
   ],
   "svg/idlharness.window-expected.txt": [
-   "9a1ebffbc18d257fbf2ec785b31ad53497bf84fa",
+   "b4aa8b69006486f5f3ca3877c9b4ff9f775479c0",
    "support"
   ],
   "svg/idlharness.window.js": [
@@ -422376,6 +423335,62 @@
    "297f8ede687a28a12ced98a4b89051dd9ddf5090",
    "testharness"
   ],
+  "svg/pservers/reftests/meshgradient-basic-001-ref.png": [
+   "691bff6244cd0abe046536efc0a100329b62d407",
+   "support"
+  ],
+  "svg/pservers/reftests/meshgradient-basic-001.svg": [
+   "24290d40d6c37583d86aae4a098293c6cb8a6653",
+   "reftest"
+  ],
+  "svg/pservers/reftests/meshgradient-basic-002-ref.png": [
+   "691bff6244cd0abe046536efc0a100329b62d407",
+   "support"
+  ],
+  "svg/pservers/reftests/meshgradient-basic-002.svg": [
+   "2391135200207810cc770c961e72f77adb9b22c0",
+   "reftest"
+  ],
+  "svg/pservers/reftests/meshgradient-basic-003-ref.png": [
+   "39c36a150fb1c9f98fcbd118a14589885527034b",
+   "support"
+  ],
+  "svg/pservers/reftests/meshgradient-basic-003.svg": [
+   "84db2ea1260da1712381a334f9a99646a6418841",
+   "reftest"
+  ],
+  "svg/pservers/reftests/meshgradient-basic-004-ref.png": [
+   "39c36a150fb1c9f98fcbd118a14589885527034b",
+   "support"
+  ],
+  "svg/pservers/reftests/meshgradient-basic-004.svg": [
+   "c7e750199373bc3229d155fbd2d17f25b457aadf",
+   "reftest"
+  ],
+  "svg/pservers/reftests/meshgradient-basic-005-ref.png": [
+   "3cd5164b776717ed1c9d487430682ee4ecd00a84",
+   "support"
+  ],
+  "svg/pservers/reftests/meshgradient-basic-005.svg": [
+   "59a6c2500a17588f0c926d625f028a400bda71d8",
+   "reftest"
+  ],
+  "svg/pservers/reftests/meshgradient-bicubic-001-ref.png": [
+   "551345d732c4f93e9f220d303f4823b5007d7605",
+   "support"
+  ],
+  "svg/pservers/reftests/meshgradient-bicubic-001.svg": [
+   "8c3c219f1829694c002cd4c4026ed00202f51b3f",
+   "reftest"
+  ],
+  "svg/pservers/reftests/meshgradient-complex-001-ref.png": [
+   "4ce893b827cabc5e4627060f3e5334c1b829bd30",
+   "support"
+  ],
+  "svg/pservers/reftests/meshgradient-complex-001.svg": [
+   "625fae59ea53c96080ce3105e247bda46e7ed4c8",
+   "reftest"
+  ],
   "svg/pservers/reftests/radialgradient-basic-002-ref.svg": [
    "26f4f508f35855ffd35baffb1aff129fe1ebf1be",
    "support"
@@ -422448,6 +423463,14 @@
    "11086aa198ff053c9d86c4bdaf4650fd2aa5596a",
    "testharness"
   ],
+  "svg/shapes/animatedPoints-non-animated-expected.txt": [
+   "04d72a0b80d70f253b73581090000da369d25f03",
+   "support"
+  ],
+  "svg/shapes/animatedPoints-non-animated.html": [
+   "5c1758908605d71baf9fe87c9b54ccfab5c5e5cd",
+   "testharness"
+  ],
   "svg/shapes/ellipse-01-ref.svg": [
    "c4ab1bd03913d56166a0a54a91d3a3c03703eceb",
    "support"
@@ -423837,7 +424860,7 @@
    "support"
   ],
   "user-timing/OWNERS": [
-   "37c577875b9ecd673d22096a5f0b64f11ea96b6c",
+   "948e9e1200422cfabde1eff0e05ea969527d4c19",
    "support"
   ],
   "user-timing/clearMarks.html": [
@@ -424269,7 +425292,7 @@
    "support"
   ],
   "wasm/jsapi/constructor/compile.any.js": [
-   "0139a18fda3f928dc0eed0bef86098dcbabf5979",
+   "bd23a8666e76f30d212524bc30ffd00c0a546e70",
    "testharness"
   ],
   "wasm/jsapi/constructor/instantiate-bad-imports.any.js": [
@@ -424277,43 +425300,51 @@
    "testharness"
   ],
   "wasm/jsapi/constructor/instantiate.any.js": [
-   "e90f21e28ebf478c7af7d40c8744fba9e5f48720",
+   "5da6bd58dfc3463bdead679143566cfaeb8bf281",
    "testharness"
   ],
   "wasm/jsapi/constructor/validate.any.js": [
-   "70bd9f7022ad616c2d5e0be636f6935923e19173",
+   "c8613cbd9b3a467a919d87d3244c4f508dce6317",
    "testharness"
   ],
   "wasm/jsapi/global/constructor.any-expected.txt": [
-   "698dffdd10e6809017008fc41dcd4d44c3974992",
+   "6408c87fe70195eb7c2906097d434ae38f3316d7",
    "support"
   ],
   "wasm/jsapi/global/constructor.any.js": [
-   "7a45cc4191c55684cde187fc73fb9741d6f5c2c5",
+   "237f99c8b298183a557c10778c70e1d359b9d6b6",
    "testharness"
   ],
   "wasm/jsapi/global/constructor.any.worker-expected.txt": [
-   "698dffdd10e6809017008fc41dcd4d44c3974992",
+   "6408c87fe70195eb7c2906097d434ae38f3316d7",
    "support"
   ],
   "wasm/jsapi/global/toString.any.js": [
    "ca025576c2b49604f053c83002f3a9cc8ef41a7b",
    "testharness"
   ],
+  "wasm/jsapi/global/value-get-set.any-expected.txt": [
+   "e1ffba45a5d1aabe557c5b799fe73bad6b0bdb7d",
+   "support"
+  ],
+  "wasm/jsapi/global/value-get-set.any.js": [
+   "6de62d5f58362bab593ae7eb453fa14c1424cf2c",
+   "testharness"
+  ],
+  "wasm/jsapi/global/value-get-set.any.worker-expected.txt": [
+   "e1ffba45a5d1aabe557c5b799fe73bad6b0bdb7d",
+   "support"
+  ],
   "wasm/jsapi/global/value-set.any-expected.txt": [
    "6410e1c2cd09f457636df2234940bf84bc245564",
    "support"
   ],
-  "wasm/jsapi/global/value-set.any.js": [
-   "b4e6770f10ed9e3ad55b9ae18ee96deda3ff171e",
-   "testharness"
-  ],
   "wasm/jsapi/global/value-set.any.worker-expected.txt": [
    "6410e1c2cd09f457636df2234940bf84bc245564",
    "support"
   ],
   "wasm/jsapi/global/valueOf.any.js": [
-   "176c5a784698399351eedeaac0ec305aa8ab7b81",
+   "d4a84b254f76ea50284619967ab6dc98c99bfea2",
    "testharness"
   ],
   "wasm/jsapi/instance/constructor-bad-imports.any.js": [
@@ -424321,23 +425352,27 @@
    "testharness"
   ],
   "wasm/jsapi/instance/constructor.any.js": [
-   "f9bd06ac8e95e0f4dc2ce96560529fad9bf2095b",
+   "e6a0450202e94baa82eb4797fed6a7c248ed00a7",
    "testharness"
   ],
   "wasm/jsapi/instance/exports.any.js": [
-   "31423918720543da2ba25e392267bf541b756242",
+   "cad468660e099b33f0a03b83a09df0498d67a7e0",
    "testharness"
   ],
   "wasm/jsapi/instance/toString.any.js": [
    "08dcb14a50d04f6db196626ddb93f2b50da8f055",
    "testharness"
   ],
+  "wasm/jsapi/instanceTestFactory.js": [
+   "24f849e6f943d9008343909a00b2f2b0d1ea0c3d",
+   "support"
+  ],
   "wasm/jsapi/interface.any-expected.txt": [
    "b1d0c2bb437b1819dbd9aa82f6f449d863d56472",
    "support"
   ],
   "wasm/jsapi/interface.any.js": [
-   "5d76ac56ec5fafde8dde3924df863a2694bd6691",
+   "98c4a1d781b7d77709a7f1df5adb3c756648fbd3",
    "testharness"
   ],
   "wasm/jsapi/interface.any.worker-expected.txt": [
@@ -424345,31 +425380,31 @@
    "support"
   ],
   "wasm/jsapi/memory/buffer.any.js": [
-   "b04460b6c5e56cf1fe990e3107aa9efcb4964ed5",
+   "4788ffcf84ff8d88adbafbe416dd7d5b80ec89d1",
    "testharness"
   ],
   "wasm/jsapi/memory/constructor.any-expected.txt": [
-   "ef8c5943a494e6bd05c1610d8fad32fc6469f2c5",
+   "f0e59835e2d54da3c4593b914189ce599c94f8c9",
    "support"
   ],
   "wasm/jsapi/memory/constructor.any.js": [
-   "f9907ca6104d8ec76861e43b6b981042d86fb865",
+   "a584a23ecf0a582b21b913a780accee38e277927",
    "testharness"
   ],
   "wasm/jsapi/memory/constructor.any.worker-expected.txt": [
-   "ef8c5943a494e6bd05c1610d8fad32fc6469f2c5",
+   "f0e59835e2d54da3c4593b914189ce599c94f8c9",
    "support"
   ],
   "wasm/jsapi/memory/grow.any-expected.txt": [
-   "7a72550b863bcfac81eb9a241cda70658c08a37f",
+   "1f0c1b046ff1f3c890a34f2039d7d27b8e4f1436",
    "support"
   ],
   "wasm/jsapi/memory/grow.any.js": [
-   "95300399f192b7eab70dd8f07c43f4db37eebe01",
+   "1ccfb946756fef71b89672dfc86830c620a9e981",
    "testharness"
   ],
   "wasm/jsapi/memory/grow.any.worker-expected.txt": [
-   "7a72550b863bcfac81eb9a241cda70658c08a37f",
+   "1f0c1b046ff1f3c890a34f2039d7d27b8e4f1436",
    "support"
   ],
   "wasm/jsapi/memory/toString.any.js": [
@@ -424377,7 +425412,7 @@
    "testharness"
   ],
   "wasm/jsapi/module/constructor.any.js": [
-   "32f183fac8738d30cc8a432768da315949320257",
+   "a467c1a17bb62ac52d323e1976cd067d92a9410d",
    "testharness"
   ],
   "wasm/jsapi/module/customSections.any-expected.txt": [
@@ -424385,7 +425420,7 @@
    "support"
   ],
   "wasm/jsapi/module/customSections.any.js": [
-   "58ac63b61c93a015bfa9d5daab39f8d5b48548da",
+   "04c5abed52435714a18467c419dce17dfcf4073d",
    "testharness"
   ],
   "wasm/jsapi/module/customSections.any.worker-expected.txt": [
@@ -424393,11 +425428,11 @@
    "support"
   ],
   "wasm/jsapi/module/exports.any.js": [
-   "e63a885a4c34add0f6787d3642de83d9766568d1",
+   "9d95b652233b3d7687d4fe14371144519719e97b",
    "testharness"
   ],
   "wasm/jsapi/module/imports.any.js": [
-   "640da591d21d8924d261fdc58b8e7cc762187a11",
+   "b3bb8598b080c376f4de1294780e6072eac2b354",
    "testharness"
   ],
   "wasm/jsapi/module/toString.any.js": [
@@ -424405,47 +425440,47 @@
    "testharness"
   ],
   "wasm/jsapi/table/assertions.js": [
-   "dde2fd770904207a1f9f287fa48d82954a418f2e",
+   "c88972b4ebdcd760b2a441835c2c9eb31dabfea8",
    "support"
   ],
   "wasm/jsapi/table/constructor.any-expected.txt": [
-   "8d6dd9f5aeffe9cb94e1d45fbfa846e97b1855ef",
+   "db2b7482d2abc99a265efb9503e9ead667feeb1f",
    "support"
   ],
   "wasm/jsapi/table/constructor.any.js": [
-   "e924bdb2ba42c67bcc6d4a949c2eeb50eac63e31",
+   "99eee19fecd49e432c7f6774c0968218e6d931a3",
    "testharness"
   ],
   "wasm/jsapi/table/constructor.any.worker-expected.txt": [
-   "8d6dd9f5aeffe9cb94e1d45fbfa846e97b1855ef",
+   "db2b7482d2abc99a265efb9503e9ead667feeb1f",
    "support"
   ],
   "wasm/jsapi/table/get-set.any-expected.txt": [
-   "86c0d169ce4a41ad6ec0b792e4bdd04170006705",
+   "c742d96f21593e43dce7ec35b02435728254ccbc",
    "support"
   ],
   "wasm/jsapi/table/get-set.any.js": [
-   "2bb43a9308d732b5b6fa689c181ac411880c3733",
+   "f8a0194364fde1b25eeb998d1837349c3a8bafc2",
    "testharness"
   ],
   "wasm/jsapi/table/get-set.any.worker-expected.txt": [
-   "86c0d169ce4a41ad6ec0b792e4bdd04170006705",
+   "c742d96f21593e43dce7ec35b02435728254ccbc",
    "support"
   ],
   "wasm/jsapi/table/grow.any-expected.txt": [
-   "d94ede4e0eb1ad35c4d62c0e8da5a09fc14ac76e",
+   "522e84a58d4f2881cad28936f469c542ab967383",
    "support"
   ],
   "wasm/jsapi/table/grow.any.js": [
-   "d3efb511e4b1db1efa089322c0a3079705dfbdbd",
+   "4978e3ca23d0261aaccf4aad97dd348da22a54d0",
    "testharness"
   ],
   "wasm/jsapi/table/grow.any.worker-expected.txt": [
-   "d94ede4e0eb1ad35c4d62c0e8da5a09fc14ac76e",
+   "522e84a58d4f2881cad28936f469c542ab967383",
    "support"
   ],
   "wasm/jsapi/table/length.any.js": [
-   "a6a9661dbaddc800cb99b7b8e2b804cb0c8e3c62",
+   "b1bfa6cfd1f44fbdbf18769b3f3e8129310c7e0e",
    "testharness"
   ],
   "wasm/jsapi/table/toString.any.js": [
@@ -425413,7 +426448,7 @@
    "support"
   ],
   "webaudio/idlharness.https.window-expected.txt": [
-   "e500d09eccb46db219172878b04716e40f4bd60a",
+   "ebd89e3f1de980e2c1195db2c22395fca07e0b3f",
    "support"
   ],
   "webaudio/idlharness.https.window.js": [
@@ -425516,8 +426551,12 @@
    "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
    "support"
   ],
+  "webaudio/the-audio-api/the-analysernode-interface/ctor-analyser-expected.txt": [
+   "b335e1bde0cf91dfa3f541b48b2927cf58f52083",
+   "support"
+  ],
   "webaudio/the-audio-api/the-analysernode-interface/ctor-analyser.html": [
-   "4e27f842ddeda3e2bdd78da7b8ee3f67062d1a9f",
+   "a9aa4831516c6a5cefa7c8b4f67f3ef246d24777",
    "testharness"
   ],
   "webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-basic.html": [
@@ -425548,8 +426587,12 @@
    "04fe48096459dd0bbf4b3b0fd206c90c0bcae0f0",
    "testharness"
   ],
+  "webaudio/the-audio-api/the-analysernode-interface/test-analysernode-expected.txt": [
+   "09df255c35c3d4b156167684aee019c0a318b572",
+   "support"
+  ],
   "webaudio/the-audio-api/the-analysernode-interface/test-analysernode.html": [
-   "52d3829cff3dfceef64a34669bc8e0d6e08883a9",
+   "a8b5a7154e94479460c1085c6b5cb584e9b6976c",
    "testharness"
   ],
   "webaudio/the-audio-api/the-audiobuffer-interface/.gitkeep": [
@@ -427661,7 +428704,7 @@
    "support"
   ],
   "webrtc/getstats.html": [
-   "9775f2090f2203473d0a75a2edeff8e3b785ddc1",
+   "937f54b74ec8266f890d60a4c67e75c3d6714826",
    "testharness"
   ],
   "webrtc/historical-expected.txt": [
@@ -432157,7 +433200,7 @@
    "support"
   ],
   "webxr/idlharness.https.window-expected.txt": [
-   "8d03a35159f32662e096692fe724af00077feb3a",
+   "794ad858937207b7b438a3d9764e0018a2c7ca72",
    "support"
   ],
   "webxr/idlharness.https.window.js": [
@@ -433905,7 +434948,7 @@
    "testharness"
   ],
   "x-frame-options/multiple.sub.html": [
-   "f7a28e40ee22be3493c3926e15c40d2e814ad2e4",
+   "717e9fd25c51ee80f3adf029740d475790b3875e",
    "testharness"
   ],
   "x-frame-options/redirect.sub.html": [
@@ -434349,7 +435392,7 @@
    "testharness"
   ],
   "xhr/getallresponseheaders-expected.txt": [
-   "4dddc5f31cd524837063f210a5d3cd988378a58d",
+   "bf36826db53c0154322979d7fb4840d145c4fa2d",
    "support"
   ],
   "xhr/getallresponseheaders-status.htm": [
@@ -434357,7 +435400,7 @@
    "testharness"
   ],
   "xhr/getallresponseheaders.htm": [
-   "7b54e9e16f84b00b25e6ce04bfb86b2160e4d11a",
+   "e5747331a8ce078d9ab6be7e040f9623c8aeb162",
    "testharness"
   ],
   "xhr/getresponseheader-case-insensitive.htm": [
@@ -434388,6 +435431,10 @@
    "e3bc2720f12d9e5a6128bc84fbec4ea290a81d1d",
    "testharness"
   ],
+  "xhr/getresponseheader.any.js": [
+   "4ff791aeb1635719b948ce7edcf5d1592b87c351",
+   "testharness"
+  ],
   "xhr/header-user-agent-async.htm": [
    "8c1d0b663f4bcc35e24619e1f16dca7ec1bccf6a",
    "testharness"
@@ -434860,6 +435907,10 @@
    "fe37b1b38e9f8698581affe8d74f176688c11d15",
    "support"
   ],
+  "xhr/resources/headers-www-authenticate.asis": [
+   "6f9905ee7a06627efcb244180367b13b65c0d0c4",
+   "support"
+  ],
   "xhr/resources/headers.asis": [
    "d25fe52efeb5427b126c3b375b4bb00090836382",
    "support"
@@ -434937,7 +435988,7 @@
    "support"
   ],
   "xhr/resources/responseXML-unavailable-in-worker.js": [
-   "2f3fdf25c3382fd2f34c8235c69f3f0f39f71635",
+   "06da02a71f5471e16d71268ad8ec7fa576bd0546",
    "support"
   ],
   "xhr/resources/send-after-setting-document-domain-window-1.htm": [
@@ -435097,7 +436148,7 @@
    "testharness"
   ],
   "xhr/responseXML-unavailable-in-worker-expected.txt": [
-   "2de687b5a10da4ffb3226ac45e08e71478b89a59",
+   "d489b1d95c87773977ea92807e1d746691b429fa",
    "support"
   ],
   "xhr/responseXML-unavailable-in-worker.html": [
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-break/inheritance.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-break/inheritance.html
new file mode 100644
index 0000000..e0be119
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-break/inheritance.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>Inheritance of CSS Fragmentation properties</title>
+<link rel="help" href="https://drafts.csswg.org/css-break/#property-index">
+<meta name="assert" content="Properties inherit or not according to the spec.">
+<meta name="assert" content="Properties have initial values according to the spec.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/inheritance-testcommon.js"></script>
+</head>
+<body>
+<div id="container">
+  <div id="target"></div>
+</div>
+<script>
+assert_not_inherited('box-decoration-break', 'slice', 'clone');
+assert_not_inherited('break-after', 'auto', 'column');
+assert_not_inherited('break-before', 'auto', 'page');
+assert_not_inherited('break-inside', 'auto', 'avoid');
+assert_inherited('orphans', '2', '3');
+assert_inherited('widows', '2', '3');
+</script>
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-contain/inheritance.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-contain/inheritance.html
new file mode 100644
index 0000000..07378a29
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-contain/inheritance.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>Inheritance of CSS contain property</title>
+<link rel="help" href="https://drafts.csswg.org/css-contain/#contain-property">
+<meta name="assert" content="Property 'contain' does not inherit.">
+<meta name="assert" content="Property 'contain' has initial value 'none'.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/inheritance-testcommon.js"></script>
+</head>
+<body>
+<div id="container">
+<div id="target"></div>
+</div>
+<script>
+assert_not_inherited('contain', 'none', 'paint');
+</script>
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-display/inheritance.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-display/inheritance.html
new file mode 100644
index 0000000..bfd0726
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-display/inheritance.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>Inheritance of CSS display property</title>
+<link rel="help" href="https://drafts.csswg.org/css-display/#the-display-properties">
+<meta name="assert" content="Property 'display' does not inherit.">
+<meta name="assert" content="Property 'display' has initial value 'inline'.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/inheritance-testcommon.js"></script>
+</head>
+<body>
+<div id="container">
+<div id="target"></div>
+</div>
+<script>
+assert_not_inherited('display', 'inline', 'table');
+</script>
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-lists/inheritance.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-lists/inheritance.html
new file mode 100644
index 0000000..ff1bcdc
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-lists/inheritance.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>Inheritance of CSS Lists properties</title>
+<link rel="help" href="https://drafts.csswg.org/css-lists/#property-index">
+<meta name="assert" content="Properties inherit or not according to the spec.">
+<meta name="assert" content="Properties have initial values according to the spec.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/inheritance-testcommon.js"></script>
+</head>
+<body>
+<div id="container">
+  <div id="target"></div>
+</div>
+<script>
+assert_not_inherited('counter-increment', 'none', 'foo 123');
+assert_not_inherited('counter-reset', 'none', 'foo 123');
+assert_inherited('list-style-image', 'none', 'url("https://example.com/")');
+assert_inherited('list-style-position', 'outside', 'inside');
+assert_inherited('list-style-type', 'disc', 'square');
+</script>
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-masking/inheritance.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-masking/inheritance.html
new file mode 100644
index 0000000..34f7585
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-masking/inheritance.html
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>Inheritance of CSS Masking properties</title>
+<link rel="help" href="https://drafts.fxtf.org/css-masking-1/#property-index">
+<meta name="assert" content="Properties inherit or not according to the spec.">
+<meta name="assert" content="Properties have initial values according to the spec.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/inheritance-testcommon.js"></script>
+</head>
+<body>
+<div id="container">
+<div id="target"></div>
+</div>
+<script>
+assert_not_inherited('clip', 'auto', 'rect(10px, 20px, 30px, 40px)');
+assert_not_inherited('clip-path', 'none', 'url("https://example.com/")');
+assert_inherited('clip-rule', 'nonzero', 'evenodd');
+assert_not_inherited('mask-border-mode', 'alpha', 'luminance');
+assert_not_inherited('mask-border-outset', '0', '10px 20px 30px 40px');
+assert_not_inherited('mask-border-repeat', 'stretch', 'round space');
+assert_not_inherited('mask-border-slice', '0', '1 2 3 4 fill');
+assert_not_inherited('mask-border-source', 'none', 'url("https://example.com/")');
+assert_not_inherited('mask-border-width', 'auto', '10px 20px 30px 40px');
+assert_not_inherited('mask-clip', 'border-box', 'no-clip');
+assert_not_inherited('mask-composite', 'add', 'exclude');
+assert_not_inherited('mask-image', 'none', 'url("https://example.com/")');
+assert_not_inherited('mask-mode', 'match-source', 'luminance');
+assert_not_inherited('mask-origin', 'border-box', 'padding-box');
+assert_not_inherited('mask-position', '0% 0%', '10px 20px');
+assert_not_inherited('mask-repeat', 'repeat', 'space round');
+assert_not_inherited('mask-size', 'auto', '10px 20px');
+assert_not_inherited('mask-type', 'luminance', 'alpha');
+</script>
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-overflow/overflow-shorthand-001-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/css/css-overflow/overflow-shorthand-001-expected.txt
deleted file mode 100644
index 3eb5d7c..0000000
--- a/third_party/WebKit/LayoutTests/external/wpt/css/css-overflow/overflow-shorthand-001-expected.txt
+++ /dev/null
@@ -1,19 +0,0 @@
-This is a testharness.js-based test.
-PASS overflow: auto auto works
-FAIL overflow: hidden auto works assert_equals: expected "hidden auto" but got "auto hidden"
-FAIL overflow: scroll auto works assert_equals: expected "scroll auto" but got "auto scroll"
-FAIL overflow: visible auto works assert_equals: expected "visible auto" but got "auto visible"
-FAIL overflow: auto hidden works assert_equals: expected "auto hidden" but got "hidden auto"
-PASS overflow: hidden hidden works
-FAIL overflow: scroll hidden works assert_equals: expected "scroll hidden" but got "hidden scroll"
-FAIL overflow: visible hidden works assert_equals: expected "visible hidden" but got "hidden visible"
-FAIL overflow: auto scroll works assert_equals: expected "auto scroll" but got "scroll auto"
-FAIL overflow: hidden scroll works assert_equals: expected "hidden scroll" but got "scroll hidden"
-PASS overflow: scroll scroll works
-FAIL overflow: visible scroll works assert_equals: expected "visible scroll" but got "scroll visible"
-FAIL overflow: auto visible works assert_equals: expected "auto visible" but got "visible auto"
-FAIL overflow: hidden visible works assert_equals: expected "hidden visible" but got "visible hidden"
-FAIL overflow: scroll visible works assert_equals: expected "scroll visible" but got "visible scroll"
-PASS overflow: visible visible works
-Harness: the test ran to completion.
-
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-overflow/overflow-shorthand-001.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-overflow/overflow-shorthand-001.html
index d922e90..f425636 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/css/css-overflow/overflow-shorthand-001.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-overflow/overflow-shorthand-001.html
@@ -8,15 +8,15 @@
 <div id="test-div"></div>
 <script>
 let div = document.getElementById("test-div");
-function testOverflowShorthand(y, x) {
+function testOverflowShorthand(x, y) {
   test(function() {
     div.style.overflowX = x;
     div.style.overflowY = y;
 
     let expectedX = getComputedStyle(div).overflowX;
     let expectedY = getComputedStyle(div).overflowY;
-    let expectedComputedSerialization = expectedX == expectedY ? expectedX : `${expectedY} ${expectedX}`;
-    let expectedSpecifiedSerialization = x == y ? x : `${y} ${x}`;
+    let expectedComputedSerialization = expectedX == expectedY ? expectedX : `${expectedX} ${expectedY}`;
+    let expectedSpecifiedSerialization = x == y ? x : `${x} ${y}`;
 
     assert_equals(div.style.overflow, expectedSpecifiedSerialization);
     assert_equals(getComputedStyle(div).overflow, expectedComputedSerialization);
@@ -25,18 +25,18 @@
     div.style.overflowY = "";
     assert_equals(div.style.overflow, "");
 
-    div.style.overflow = `${y} ${x}`;
+    div.style.overflow = `${x} ${y}`;
     assert_equals(div.style.overflow, expectedSpecifiedSerialization);
     assert_equals(div.style.overflowX, x);
     assert_equals(div.style.overflowY, y);
     assert_equals(getComputedStyle(div).overflow, expectedComputedSerialization);
     assert_equals(getComputedStyle(div).overflowX, expectedX);
     assert_equals(getComputedStyle(div).overflowY, expectedY);
-  }, `overflow: ${y} ${x} works`);
+  }, `overflow: ${x} ${y} works`);
 }
 
 let OVERFLOW_VALUES = [ "auto", "hidden", "scroll", "visible" ];
 for (let x of OVERFLOW_VALUES)
   for (let y of OVERFLOW_VALUES)
-    testOverflowShorthand(y, x);
+    testOverflowShorthand(x, y);
 </script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-scrollbars/support/viewport-scrollbar-body-frame.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-scrollbars/support/viewport-scrollbar-body-frame.html
index 74c02f9..8dacffe 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/css/css-scrollbars/support/viewport-scrollbar-body-frame.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-scrollbars/support/viewport-scrollbar-body-frame.html
@@ -2,8 +2,7 @@
 <meta charset="UTF-8">
 <style>
 body {
-  scrollbar-track-color: blue;
-  scrollbar-face-color: yellow;
+  scrollbar-color: yellow blue;
 }
 html, body {
   margin: 0;
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-scrollbars/support/viewport-scrollbar-frame.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-scrollbars/support/viewport-scrollbar-frame.html
index 9510102..04a4a2fa 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/css/css-scrollbars/support/viewport-scrollbar-frame.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-scrollbars/support/viewport-scrollbar-frame.html
@@ -2,8 +2,7 @@
 <meta charset="UTF-8">
 <style>
 html {
-  scrollbar-track-color: blue;
-  scrollbar-face-color: yellow;
+  scrollbar-color: yellow blue;
 }
 html, body {
   margin: 0;
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-scrollbars/viewport-scrollbar-ref.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-scrollbars/viewport-scrollbar-ref.html
index 42463d3..d6df3b4 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/css/css-scrollbars/viewport-scrollbar-ref.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-scrollbars/viewport-scrollbar-ref.html
@@ -9,8 +9,7 @@
   border: 1px solid black;
   width: 200px; height: 200px;
   overflow: scroll;
-  scrollbar-track-color: blue;
-  scrollbar-face-color: yellow;
+  scrollbar-color: yellow blue;
 }
 #inner {
   width: 400px; height: 400px;
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-shapes/inheritance.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-shapes/inheritance.html
new file mode 100644
index 0000000..490775d
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-shapes/inheritance.html
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>Inheritance of CSS Shapes properties</title>
+<link rel="help" href="https://drafts.csswg.org/css-shapes/#property-index">
+<meta name="assert" content="Properties inherit or not according to the spec.">
+<meta name="assert" content="Properties have initial values according to the spec.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/inheritance-testcommon.js"></script>
+</head>
+<body>
+<div id="container">
+<div id="target"></div>
+</div>
+<script>
+assert_not_inherited('shape-image-threshold', '0', '0.5');
+assert_not_inherited('shape-margin', '0px', '10px');
+assert_not_inherited('shape-outside', 'none', 'inset(10px 20px 30px 40px)');
+</script>
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-cj-loose.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-cj-loose.html
index 6d8fbf9c..cf7c5a44 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-cj-loose.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-cj-loose.html
@@ -11,7 +11,7 @@
 <style type="text/css">
 @font-face {
     font-family: 'mplus-1p-regular';
-    src: url('/fonts/CSSTest/mplus-1p-regular.woff') format('woff');
+    src: url('/fonts/mplus-1p-regular.woff') format('woff');
     }
 #wrapper { position: relative; }
 .test { color: red; }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-cj-normal.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-cj-normal.html
index 38f8e73..7c701c85 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-cj-normal.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-cj-normal.html
@@ -11,7 +11,7 @@
 <style type="text/css">
 @font-face {
     font-family: 'mplus-1p-regular';
-    src: url('/fonts/CSSTest/mplus-1p-regular.woff') format('woff');
+    src: url('/fonts/mplus-1p-regular.woff') format('woff');
     }
 #wrapper { position: relative; }
 .test { color: red; }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-cj-strict.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-cj-strict.html
index 37df9b5..9fe1804 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-cj-strict.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-cj-strict.html
@@ -11,7 +11,7 @@
 <style type="text/css">
 @font-face {
     font-family: 'mplus-1p-regular';
-    src: url('/fonts/CSSTest/mplus-1p-regular.woff') format('woff');
+    src: url('/fonts/mplus-1p-regular.woff') format('woff');
     }
 #wrapper { position: relative; }
 .test { color: red; }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-cpm-loose.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-cpm-loose.html
index fb933ab..6120e62 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-cpm-loose.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-cpm-loose.html
@@ -11,7 +11,7 @@
 <style type="text/css">
 @font-face {
     font-family: 'mplus-1p-regular';
-    src: url('/fonts/CSSTest/mplus-1p-regular.woff') format('woff');
+    src: url('/fonts/mplus-1p-regular.woff') format('woff');
     }
 #wrapper { position: relative; }
 .test { color: red; }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-cpm-normal.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-cpm-normal.html
index 4fb208b..1e1d4bb 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-cpm-normal.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-cpm-normal.html
@@ -11,7 +11,7 @@
 <style type="text/css">
 @font-face {
     font-family: 'mplus-1p-regular';
-    src: url('/fonts/CSSTest/mplus-1p-regular.woff') format('woff');
+    src: url('/fonts/mplus-1p-regular.woff') format('woff');
     }
 #wrapper { position: relative; }
 .test { color: red; }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-cpm-strict.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-cpm-strict.html
index 6a84bdd..ddf3c2c 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-cpm-strict.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-cpm-strict.html
@@ -11,7 +11,7 @@
 <style type="text/css">
 @font-face {
     font-family: 'mplus-1p-regular';
-    src: url('/fonts/CSSTest/mplus-1p-regular.woff') format('woff');
+    src: url('/fonts/mplus-1p-regular.woff') format('woff');
     }
 #wrapper { position: relative; }
 .test { color: red; }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-hyphens-loose.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-hyphens-loose.html
index a8b73b5..647bfc8 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-hyphens-loose.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-hyphens-loose.html
@@ -11,7 +11,7 @@
 <style type="text/css">
 @font-face {
     font-family: 'mplus-1p-regular';
-    src: url('/fonts/CSSTest/mplus-1p-regular.woff') format('woff');
+    src: url('/fonts/mplus-1p-regular.woff') format('woff');
     }
 #wrapper { position: relative; }
 .test { color: red; }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-hyphens-normal.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-hyphens-normal.html
index fd69a1b..5e22458 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-hyphens-normal.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-hyphens-normal.html
@@ -11,7 +11,7 @@
 <style type="text/css">
 @font-face {
     font-family: 'mplus-1p-regular';
-    src: url('/fonts/CSSTest/mplus-1p-regular.woff') format('woff');
+    src: url('/fonts/mplus-1p-regular.woff') format('woff');
     }
 #wrapper { position: relative; }
 .test { color: red; }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-hyphens-strict.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-hyphens-strict.html
index cd30e0e..3db8bb8 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-hyphens-strict.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-hyphens-strict.html
@@ -11,7 +11,7 @@
 <style type="text/css">
 @font-face {
     font-family: 'mplus-1p-regular';
-    src: url('/fonts/CSSTest/mplus-1p-regular.woff') format('woff');
+    src: url('/fonts/mplus-1p-regular.woff') format('woff');
     }
 #wrapper { position: relative; }
 .test { color: red; }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-in-loose.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-in-loose.html
index 580862e..09c5758 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-in-loose.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-in-loose.html
@@ -11,7 +11,7 @@
 <style type="text/css">
 @font-face {
     font-family: 'mplus-1p-regular';
-    src: url('/fonts/CSSTest/mplus-1p-regular.woff') format('woff');
+    src: url('/fonts/mplus-1p-regular.woff') format('woff');
     }
 #wrapper { position: relative; }
 .test { color: red; }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-in-normal.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-in-normal.html
index 49f401a..8bf3aa9 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-in-normal.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-in-normal.html
@@ -11,7 +11,7 @@
 <style type="text/css">
 @font-face {
     font-family: 'mplus-1p-regular';
-    src: url('/fonts/CSSTest/mplus-1p-regular.woff') format('woff');
+    src: url('/fonts/mplus-1p-regular.woff') format('woff');
     }
 #wrapper { position: relative; }
 .test { color: red; }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-in-strict.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-in-strict.html
index 499609c..3c14e183 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-in-strict.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-in-strict.html
@@ -11,7 +11,7 @@
 <style type="text/css">
 @font-face {
     font-family: 'mplus-1p-regular';
-    src: url('/fonts/CSSTest/mplus-1p-regular.woff') format('woff');
+    src: url('/fonts/mplus-1p-regular.woff') format('woff');
     }
 #wrapper { position: relative; }
 .test { color: red; }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-iteration-loose.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-iteration-loose.html
index 94012593..dbf77a0f 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-iteration-loose.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-iteration-loose.html
@@ -11,7 +11,7 @@
 <style type="text/css">
 @font-face {
     font-family: 'mplus-1p-regular';
-    src: url('/fonts/CSSTest/mplus-1p-regular.woff') format('woff');
+    src: url('/fonts/mplus-1p-regular.woff') format('woff');
     }
 #wrapper { position: relative; }
 .test { color: red; }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-iteration-normal.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-iteration-normal.html
index b65c7da..ecdcdc3 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-iteration-normal.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-iteration-normal.html
@@ -11,7 +11,7 @@
 <style type="text/css">
 @font-face {
     font-family: 'mplus-1p-regular';
-    src: url('/fonts/CSSTest/mplus-1p-regular.woff') format('woff');
+    src: url('/fonts/mplus-1p-regular.woff') format('woff');
     }
 #wrapper { position: relative; }
 .test { color: red; }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-iteration-strict.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-iteration-strict.html
index 1c022f7..3b2a2ee 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-iteration-strict.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-iteration-strict.html
@@ -11,7 +11,7 @@
 <style type="text/css">
 @font-face {
     font-family: 'mplus-1p-regular';
-    src: url('/fonts/CSSTest/mplus-1p-regular.woff') format('woff');
+    src: url('/fonts/mplus-1p-regular.woff') format('woff');
     }
 #wrapper { position: relative; }
 .test { color: red; }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-po-loose.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-po-loose.html
index 0ffed1f1..795cb02 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-po-loose.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-po-loose.html
@@ -11,7 +11,7 @@
 <style type="text/css">
 @font-face {
     font-family: 'mplus-1p-regular';
-    src: url('/fonts/CSSTest/mplus-1p-regular.woff') format('woff');
+    src: url('/fonts/mplus-1p-regular.woff') format('woff');
     }
 #wrapper { position: relative; }
 .test { color: red; }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-po-normal.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-po-normal.html
index ce3a30f..7c591eb 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-po-normal.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-po-normal.html
@@ -11,7 +11,7 @@
 <style type="text/css">
 @font-face {
     font-family: 'mplus-1p-regular';
-    src: url('/fonts/CSSTest/mplus-1p-regular.woff') format('woff');
+    src: url('/fonts/mplus-1p-regular.woff') format('woff');
     }
 #wrapper { position: relative; }
 .test { color: red; }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-po-strict.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-po-strict.html
index 95ffcf7..c41ea73 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-po-strict.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/ja/css-text-line-break-ja-po-strict.html
@@ -11,7 +11,7 @@
 <style type="text/css">
 @font-face {
     font-family: 'mplus-1p-regular';
-    src: url('/fonts/CSSTest/mplus-1p-regular.woff') format('woff');
+    src: url('/fonts/mplus-1p-regular.woff') format('woff');
     }
 #wrapper { position: relative; }
 .test { color: red; }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/zh/css-text-line-break-zh-cpm-loose.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/zh/css-text-line-break-zh-cpm-loose.html
index f3eb044..b9f81ee 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/zh/css-text-line-break-zh-cpm-loose.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/zh/css-text-line-break-zh-cpm-loose.html
@@ -11,7 +11,7 @@
 <style type="text/css">
 @font-face {
     font-family: 'mplus-1p-regular';
-    src: url('/fonts/CSSTest/mplus-1p-regular.woff') format('woff');
+    src: url('/fonts/mplus-1p-regular.woff') format('woff');
     }
 #wrapper { position: relative; }
 .test { color: red; }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/zh/css-text-line-break-zh-cpm-normal.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/zh/css-text-line-break-zh-cpm-normal.html
index 9511727e..7d2af70 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/zh/css-text-line-break-zh-cpm-normal.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/zh/css-text-line-break-zh-cpm-normal.html
@@ -11,7 +11,7 @@
 <style type="text/css">
 @font-face {
     font-family: 'mplus-1p-regular';
-    src: url('/fonts/CSSTest/mplus-1p-regular.woff') format('woff');
+    src: url('/fonts/mplus-1p-regular.woff') format('woff');
     }
 #wrapper { position: relative; }
 .test { color: red; }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/zh/css-text-line-break-zh-cpm-strict.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/zh/css-text-line-break-zh-cpm-strict.html
index d1cd8bf..069212e 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/zh/css-text-line-break-zh-cpm-strict.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/zh/css-text-line-break-zh-cpm-strict.html
@@ -11,7 +11,7 @@
 <style type="text/css">
 @font-face {
     font-family: 'mplus-1p-regular';
-    src: url('/fonts/CSSTest/mplus-1p-regular.woff') format('woff');
+    src: url('/fonts/mplus-1p-regular.woff') format('woff');
     }
 #wrapper { position: relative; }
 .test { color: red; }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/zh/css-text-line-break-zh-hyphens-loose.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/zh/css-text-line-break-zh-hyphens-loose.html
index b897e9b6..70ebdc08 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/zh/css-text-line-break-zh-hyphens-loose.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/zh/css-text-line-break-zh-hyphens-loose.html
@@ -11,7 +11,7 @@
 <style type="text/css">
 @font-face {
     font-family: 'mplus-1p-regular';
-    src: url('/fonts/CSSTest/mplus-1p-regular.woff') format('woff');
+    src: url('/fonts/mplus-1p-regular.woff') format('woff');
     }
 #wrapper { position: relative; }
 .test { color: red; }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/zh/css-text-line-break-zh-hyphens-normal.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/zh/css-text-line-break-zh-hyphens-normal.html
index 30be266..8fd631e 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/zh/css-text-line-break-zh-hyphens-normal.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/zh/css-text-line-break-zh-hyphens-normal.html
@@ -11,7 +11,7 @@
 <style type="text/css">
 @font-face {
     font-family: 'mplus-1p-regular';
-    src: url('/fonts/CSSTest/mplus-1p-regular.woff') format('woff');
+    src: url('/fonts/mplus-1p-regular.woff') format('woff');
     }
 #wrapper { position: relative; }
 .test { color: red; }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/zh/css-text-line-break-zh-hyphens-strict.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/zh/css-text-line-break-zh-hyphens-strict.html
index f3278c3f..91f2610 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/zh/css-text-line-break-zh-hyphens-strict.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/zh/css-text-line-break-zh-hyphens-strict.html
@@ -11,7 +11,7 @@
 <style type="text/css">
 @font-face {
     font-family: 'mplus-1p-regular';
-    src: url('/fonts/CSSTest/mplus-1p-regular.woff') format('woff');
+    src: url('/fonts/mplus-1p-regular.woff') format('woff');
     }
 #wrapper { position: relative; }
 .test { color: red; }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/zh/css-text-line-break-zh-in-loose.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/zh/css-text-line-break-zh-in-loose.html
index b137a73..4f16371 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/zh/css-text-line-break-zh-in-loose.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/zh/css-text-line-break-zh-in-loose.html
@@ -11,7 +11,7 @@
 <style type="text/css">
 @font-face {
     font-family: 'mplus-1p-regular';
-    src: url('/fonts/CSSTest/mplus-1p-regular.woff') format('woff');
+    src: url('/fonts/mplus-1p-regular.woff') format('woff');
     }
 #wrapper { position: relative; }
 .test { color: red; }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/zh/css-text-line-break-zh-in-normal.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/zh/css-text-line-break-zh-in-normal.html
index d5fb7c99..bb0df2e8f 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/zh/css-text-line-break-zh-in-normal.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/zh/css-text-line-break-zh-in-normal.html
@@ -11,7 +11,7 @@
 <style type="text/css">
 @font-face {
     font-family: 'mplus-1p-regular';
-    src: url('/fonts/CSSTest/mplus-1p-regular.woff') format('woff');
+    src: url('/fonts/mplus-1p-regular.woff') format('woff');
     }
 #wrapper { position: relative; }
 .test { color: red; }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/zh/css-text-line-break-zh-in-strict.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/zh/css-text-line-break-zh-in-strict.html
index fa47a893..965d513 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/zh/css-text-line-break-zh-in-strict.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/zh/css-text-line-break-zh-in-strict.html
@@ -11,7 +11,7 @@
 <style type="text/css">
 @font-face {
     font-family: 'mplus-1p-regular';
-    src: url('/fonts/CSSTest/mplus-1p-regular.woff') format('woff');
+    src: url('/fonts/mplus-1p-regular.woff') format('woff');
     }
 #wrapper { position: relative; }
 .test { color: red; }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/zh/css-text-line-break-zh-iteration-loose.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/zh/css-text-line-break-zh-iteration-loose.html
index 4c802ca8..72c476cd 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/zh/css-text-line-break-zh-iteration-loose.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/zh/css-text-line-break-zh-iteration-loose.html
@@ -11,7 +11,7 @@
 <style type="text/css">
 @font-face {
     font-family: 'mplus-1p-regular';
-    src: url('/fonts/CSSTest/mplus-1p-regular.woff') format('woff');
+    src: url('/fonts/mplus-1p-regular.woff') format('woff');
     }
 #wrapper { position: relative; }
 .test { color: red; }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/zh/css-text-line-break-zh-iteration-normal.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/zh/css-text-line-break-zh-iteration-normal.html
index d45c784..92ac2e02 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/zh/css-text-line-break-zh-iteration-normal.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/zh/css-text-line-break-zh-iteration-normal.html
@@ -11,7 +11,7 @@
 <style type="text/css">
 @font-face {
     font-family: 'mplus-1p-regular';
-    src: url('/fonts/CSSTest/mplus-1p-regular.woff') format('woff');
+    src: url('/fonts/mplus-1p-regular.woff') format('woff');
     }
 #wrapper { position: relative; }
 .test { color: red; }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/zh/css-text-line-break-zh-iteration-strict.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/zh/css-text-line-break-zh-iteration-strict.html
index 0c29ec07..22ac4ba 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/zh/css-text-line-break-zh-iteration-strict.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/zh/css-text-line-break-zh-iteration-strict.html
@@ -11,7 +11,7 @@
 <style type="text/css">
 @font-face {
     font-family: 'mplus-1p-regular';
-    src: url('/fonts/CSSTest/mplus-1p-regular.woff') format('woff');
+    src: url('/fonts/mplus-1p-regular.woff') format('woff');
     }
 #wrapper { position: relative; }
 .test { color: red; }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/zh/css-text-line-break-zh-po-loose.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/zh/css-text-line-break-zh-po-loose.html
index ab3c66a..0e02805 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/zh/css-text-line-break-zh-po-loose.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/zh/css-text-line-break-zh-po-loose.html
@@ -11,7 +11,7 @@
 <style type="text/css">
 @font-face {
     font-family: 'mplus-1p-regular';
-    src: url('/fonts/CSSTest/mplus-1p-regular.woff') format('woff');
+    src: url('/fonts/mplus-1p-regular.woff') format('woff');
     }
 #wrapper { position: relative; }
 .test { color: red; }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/zh/css-text-line-break-zh-po-normal.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/zh/css-text-line-break-zh-po-normal.html
index 7144f4f..490e4067 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/zh/css-text-line-break-zh-po-normal.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/zh/css-text-line-break-zh-po-normal.html
@@ -11,7 +11,7 @@
 <style type="text/css">
 @font-face {
     font-family: 'mplus-1p-regular';
-    src: url('/fonts/CSSTest/mplus-1p-regular.woff') format('woff');
+    src: url('/fonts/mplus-1p-regular.woff') format('woff');
     }
 #wrapper { position: relative; }
 .test { color: red; }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/zh/css-text-line-break-zh-po-strict.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/zh/css-text-line-break-zh-po-strict.html
index d1cf5151..ec44c09 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/zh/css-text-line-break-zh-po-strict.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/i18n/zh/css-text-line-break-zh-po-strict.html
@@ -11,7 +11,7 @@
 <style type="text/css">
 @font-face {
     font-family: 'mplus-1p-regular';
-    src: url('/fonts/CSSTest/mplus-1p-regular.woff') format('woff');
+    src: url('/fonts/mplus-1p-regular.woff') format('woff');
     }
 #wrapper { position: relative; }
 .test { color: red; }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/tab-size/tab-min-rendered-width-1-ref.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/tab-size/tab-min-rendered-width-1-ref.html
new file mode 100644
index 0000000..7623adb5
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/tab-size/tab-min-rendered-width-1-ref.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html>
+<head>
+  <title>CSS Text Test: minimum rendered width of tab character</title>
+  <link rel="author" title="Jonathan Kew" href="mailto:jkew@mozilla.com">
+  <style>
+    span { background-color: yellow; display: inline-block; letter-spacing: -.1em; }
+    pre { position: absolute; top: 0; }
+  </style>
+</head>
+<body>
+<pre>
+</pre>
+<pre>
+</pre>
+<script>
+  let pre = document.getElementsByTagName("pre")[0];
+  let test = "";
+  for (i = 7.0; i <= 8.125; i += 0.125) {
+    test += `<span style="width:${i}ch">${i}ch</span>\n`;
+  }
+  pre.innerHTML = test;
+  pre = document.getElementsByTagName("pre")[1];
+  test = "";
+  for (i = 0; i < 5; i++) {
+    test += `\tfoo\n`;
+  }
+  for (i = 0; i < 5; i++) {
+    test += `\t\tfoo\n`;
+  }
+  pre.innerHTML = test;
+</script>
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-text/tab-size/tab-min-rendered-width-1.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/tab-size/tab-min-rendered-width-1.html
new file mode 100644
index 0000000..6b014260
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-text/tab-size/tab-min-rendered-width-1.html
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html>
+<head>
+  <title>CSS Text Test: minimum rendered width of tab character</title>
+  <link rel="author" title="Jonathan Kew" href="mailto:jkew@mozilla.com">
+  <link rel="reviewer" title="Xidorn Quan" href="https://www.upsuper.org/">
+  <link rel="help" href="https://drafts.csswg.org/css-text-3/#white-space-phase-2">
+  <link rel="match" href="tab-min-rendered-width-1-ref.html">
+  <meta name="assert" content="If [rendered width of tab would be] less than 0.5ch, then the subsequent tab stop is used instead.">
+  <style>
+    span { background-color: yellow; display: inline-block; letter-spacing: -.1em; }
+    pre { position: absolute; top: 0; }
+  </style>
+</head>
+<body>
+<pre>
+</pre>
+<script>
+  let pre = document.getElementsByTagName("pre")[0];
+  let test = "";
+  for (i = 7.0; i <= 8.125; i += 0.125) {
+    test += `<span style="width:${i}ch">${i}ch</span>&#9;foo\n`;
+  }
+  pre.innerHTML = test;
+</script>
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-transforms/preserve3d-button-ref.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-transforms/preserve3d-button-ref.html
new file mode 100644
index 0000000..e5e3c1eb
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-transforms/preserve3d-button-ref.html
@@ -0,0 +1,42 @@
+<!doctype html>
+<title>CSS Test Reference</title>
+<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
+<link rel="author" title="Mozilla" href="https://mozilla.org">
+<style>
+.scene {
+  width: 200px;
+  height: 200px;
+  perspective: 5000px;
+}
+
+.card {
+  width: 100%;
+  height: 100%;
+  transform-style: preserve-3d;
+  position: relative;
+  background: none;
+  border: 0;
+  padding: 0;
+  transform: rotateY(180deg);
+}
+
+.face {
+  position: absolute;
+  top: 0;
+  width: 100%;
+  height: 100%;
+  backface-visibility: hidden;
+  background: red;
+}
+
+.backface {
+  background: green;
+  transform: rotateY(180deg);
+}
+</style>
+<div class="scene">
+  <div class="card">
+    <div class="face"></div>
+    <div class="face backface"></div>
+  </div>
+</div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-transforms/preserve3d-button.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-transforms/preserve3d-button.html
new file mode 100644
index 0000000..544bb249
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-transforms/preserve3d-button.html
@@ -0,0 +1,44 @@
+<!doctype html>
+<title>CSS Test: preserve-3d on buttons</title>
+<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
+<link rel="author" title="Mozilla" href="https://mozilla.org">
+<link rel="match" href="preserve3d-button-ref.html">
+<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1491864">
+<style>
+.scene {
+  width: 200px;
+  height: 200px;
+  perspective: 5000px;
+}
+
+.card {
+  width: 100%;
+  height: 100%;
+  transform-style: preserve-3d;
+  position: relative;
+  background: none;
+  border: 0;
+  padding: 0;
+  transform: rotateY(180deg);
+}
+
+.face {
+  position: absolute;
+  top: 0;
+  width: 100%;
+  height: 100%;
+  backface-visibility: hidden;
+  background: red;
+}
+
+.backface {
+  background: green;
+  transform: rotateY(180deg);
+}
+</style>
+<div class="scene">
+  <button class="card">
+    <div class="face"></div>
+    <div class="face backface"></div>
+  </button>
+</div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-writing-modes/inheritance.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-writing-modes/inheritance.html
new file mode 100644
index 0000000..143571c
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-writing-modes/inheritance.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>Inheritance of CSS Writing Modes properties</title>
+<link rel="help" href="https://drafts.csswg.org/css-writing-modes-3/#property-index">
+<meta name="assert" content="Properties inherit or not according to the spec.">
+<meta name="assert" content="Properties have initial values according to the spec.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/inheritance-testcommon.js"></script>
+</head>
+<body>
+<div id="container">
+  <div id="target"></div>
+</div>
+<script>
+assert_inherited('direction', 'ltr', 'rtl');
+assert_inherited('text-combine-upright', 'none', 'all');
+assert_inherited('text-orientation', 'mixed', 'upright');
+assert_not_inherited('unicode-bidi', 'normal', 'embed');
+assert_inherited('writing-mode', 'horizontal-tb', 'vertical-rl');
+</script>
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/cssom-view/scroll-behavior-default-css.html b/third_party/WebKit/LayoutTests/external/wpt/css/cssom-view/scroll-behavior-default-css.html
new file mode 100644
index 0000000..8606b1f3
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/cssom-view/scroll-behavior-default-css.html
@@ -0,0 +1,52 @@
+<!DOCTYPE html>
+<title>Testing default value of scroll-behavior</title>
+<meta name="timeout" content="long"/>
+<link rel="author" title="Frédéric Wang" href="mailto:fwang@igalia.com">
+<link rel="help" href="https://drafts.csswg.org/cssom-view/#propdef-scroll-behavior">
+<link rel="help" href="https://drafts.csswg.org/cssom-view/#scrolling-box">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="support/scroll-behavior.js"></script>
+<style>
+  .scrollable {
+    overflow: auto;
+    width: 400px;
+    height: 200px;
+  }
+</style>
+<div id="log">
+</div>
+<div id="overflowNode" class="scrollable">
+  <div style="width: 2000px; height: 1000px; background: linear-gradient(135deg, red, green);">
+    <span style="display: inline-block; width: 500px; height: 250px;"></span><span id="elementToReveal" style="display: inline-block; vertical-align: -15px; width: 10px; height: 15px; background: black;"></span>
+  </div>
+</div>
+<script>
+  var scrollingElement = overflowNode;
+  var elementToRevealLeft = 500;
+  var elementToRevealTop = 250;
+  var scrollFunction = "scroll";
+
+  promise_test(() => {
+    resetScroll(scrollingElement);
+    assert_equals(scrollingElement.scrollLeft, 0);
+    assert_equals(scrollingElement.scrollTop, 0);
+    scrollNode(scrollingElement, "scroll", "instant", elementToRevealLeft, elementToRevealTop);
+    assert_equals(scrollingElement.scrollLeft, elementToRevealLeft, "Should set scrollLeft immediately");
+    assert_equals(scrollingElement.scrollTop, elementToRevealTop, "Should set scrollTop immediately");
+    return new Promise((resolve) => { resolve(); });
+  }, "Instant scrolling of an element with default scroll-behavior");
+
+  promise_test(() => {
+    resetScroll(scrollingElement);
+    assert_equals(scrollingElement.scrollLeft, 0);
+    assert_equals(scrollingElement.scrollTop, 0);
+    scrollNode(scrollingElement, "scroll", "smooth", elementToRevealLeft, elementToRevealTop);
+    assert_less_than(scrollingElement.scrollLeft, elementToRevealLeft, "Should not set scrollLeft immediately");
+    assert_less_than(scrollingElement.scrollTop, elementToRevealTop, "Should not set scrollTop immediately");
+    return waitForScrollEnd(scrollingElement).then(() => {
+      assert_equals(scrollingElement.scrollLeft, elementToRevealLeft, "Final value of scrollLeft");
+      assert_equals(scrollingElement.scrollTop, elementToRevealTop, "Final value of scrollTop");
+    });
+  }, "Smooth scrolling of an element with default scroll-behavior");
+</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/cssom-view/scroll-behavior-element.html b/third_party/WebKit/LayoutTests/external/wpt/css/cssom-view/scroll-behavior-element.html
new file mode 100644
index 0000000..9f60ca7
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/cssom-view/scroll-behavior-element.html
@@ -0,0 +1,163 @@
+<!DOCTYPE html>
+<title>Testing scrollOptions' behavior for Element.scroll* and scroll-behavior on an element</title>
+<meta name="timeout" content="long"/>
+<link rel="author" title="Frédéric Wang" href="mailto:fwang@igalia.com">
+<link rel="help" href="https://drafts.csswg.org/cssom-view/#propdef-scroll-behavior">
+<link rel="help" href="https://drafts.csswg.org/cssom-view/#scrolling-box">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="support/scroll-behavior.js"></script>
+<style>
+  .scrollable {
+    overflow: auto;
+    width: 400px;
+    height: 200px;
+  }
+  .autoBehavior {
+    scroll-behavior: auto;
+  }
+  .smoothBehavior {
+    scroll-behavior: smooth;
+  }
+</style>
+<div id="log">
+</div>
+<div id="overflowNode" class="scrollable">
+  <div style="width: 2000px; height: 1000px; background: linear-gradient(135deg, red, green);">
+    <span style="display: inline-block; width: 500px; height: 250px;"></span><span id="elementToReveal" style="display: inline-block; vertical-align: -15px; width: 10px; height: 15px; background: black;"></span>
+  </div>
+</div>
+<script>
+  var scrollingElement = overflowNode;
+  var styledElement = overflowNode;
+  var elementToRevealLeft = 500;
+  var elementToRevealTop = 250;
+
+  ["scroll", "scrollTo", "scrollBy", "scrollIntoView"].forEach((scrollFunction) => {
+    promise_test(() => {
+      resetScroll(scrollingElement);
+      setScrollBehavior(styledElement, "autoBehavior");
+      assert_equals(scrollingElement.scrollLeft, 0);
+      assert_equals(scrollingElement.scrollTop, 0);
+      scrollNode(scrollingElement, scrollFunction, null, elementToRevealLeft, elementToRevealTop);
+      assert_equals(scrollingElement.scrollLeft, elementToRevealLeft, "Should set scrollLeft immediately");
+      assert_equals(scrollingElement.scrollTop, elementToRevealTop, "Should set scrollTop immediately");
+      return new Promise((resolve) => { resolve(); });
+    }, `Element with auto scroll-behavior ; ${scrollFunction}() with default behavior`);
+
+    promise_test(() => {
+      resetScroll(scrollingElement);
+      setScrollBehavior(styledElement, "autoBehavior");
+      assert_equals(scrollingElement.scrollLeft, 0);
+      assert_equals(scrollingElement.scrollTop, 0);
+      scrollNode(scrollingElement, scrollFunction, "auto", elementToRevealLeft, elementToRevealTop);
+      assert_equals(scrollingElement.scrollLeft, elementToRevealLeft, "Should set scrollLeft immediately");
+      assert_equals(scrollingElement.scrollTop, elementToRevealTop, "Should set scrollTop immediately");
+      return new Promise((resolve) => { resolve(); });
+    }, `Element with auto scroll-behavior ; ${scrollFunction}() with auto behavior`);
+
+    promise_test(() => {
+      resetScroll(scrollingElement);
+      setScrollBehavior(styledElement, "autoBehavior");
+      assert_equals(scrollingElement.scrollLeft, 0);
+      assert_equals(scrollingElement.scrollTop, 0);
+      scrollNode(scrollingElement, scrollFunction, "instant", elementToRevealLeft, elementToRevealTop);
+      assert_equals(scrollingElement.scrollLeft, elementToRevealLeft, "Should set scrollLeft immediately");
+      assert_equals(scrollingElement.scrollTop, elementToRevealTop, "Should set scrollTop immediately");
+      return new Promise((resolve) => { resolve(); });
+    }, `Element with auto scroll-behavior ; ${scrollFunction}() with instant behavior`);
+
+    promise_test(() => {
+      resetScroll(scrollingElement);
+      setScrollBehavior(styledElement, "autoBehavior");
+      assert_equals(scrollingElement.scrollLeft, 0);
+      assert_equals(scrollingElement.scrollTop, 0);
+      scrollNode(scrollingElement, scrollFunction, "smooth", elementToRevealLeft, elementToRevealTop);
+      assert_less_than(scrollingElement.scrollLeft, elementToRevealLeft, "Should not set scrollLeft immediately");
+      assert_less_than(scrollingElement.scrollTop, elementToRevealTop, "Should not set scrollTop immediately");
+      return waitForScrollEnd(scrollingElement).then(() => {
+        assert_equals(scrollingElement.scrollLeft, elementToRevealLeft, "Final value of scrollLeft");
+        assert_equals(scrollingElement.scrollTop, elementToRevealTop, "Final value of scrollTop");
+      });
+    }, `Element with auto scroll-behavior ; ${scrollFunction}() with smooth behavior`);
+
+    promise_test(() => {
+      resetScroll(scrollingElement);
+      setScrollBehavior(styledElement, "smoothBehavior");
+      assert_equals(scrollingElement.scrollLeft, 0);
+      assert_equals(scrollingElement.scrollTop, 0);
+      scrollNode(scrollingElement, scrollFunction, null, elementToRevealLeft, elementToRevealTop);
+      assert_less_than(scrollingElement.scrollLeft, elementToRevealLeft, "Should not set scrollLeft immediately");
+      assert_less_than(scrollingElement.scrollTop, elementToRevealTop, "Should not set scrollTop immediately");
+      return waitForScrollEnd(scrollingElement).then(() => {
+        assert_equals(scrollingElement.scrollLeft, elementToRevealLeft, "Final value of scrollLeft");
+        assert_equals(scrollingElement.scrollTop, elementToRevealTop, "Final value of scrollTop");
+      });
+    }, `Element with smooth scroll-behavior ; ${scrollFunction}() with default behavior`);
+
+    promise_test(() => {
+      resetScroll(scrollingElement);
+      setScrollBehavior(styledElement, "smoothBehavior");
+      assert_equals(scrollingElement.scrollLeft, 0);
+      assert_equals(scrollingElement.scrollTop, 0);
+      scrollNode(scrollingElement, scrollFunction, "auto", elementToRevealLeft, elementToRevealTop);
+      assert_less_than(scrollingElement.scrollLeft, elementToRevealLeft, "Should not set scrollLeft immediately");
+      assert_less_than(scrollingElement.scrollTop, elementToRevealTop, "Should not set scrollTop immediately");
+      return waitForScrollEnd(scrollingElement).then(() => {
+        assert_equals(scrollingElement.scrollLeft, elementToRevealLeft, "Final value of scrollLeft");
+        assert_equals(scrollingElement.scrollTop, elementToRevealTop, "Final value of scrollTop");
+      });
+    }, `Element with smooth scroll-behavior ; ${scrollFunction}() with auto behavior`);
+
+    promise_test(() => {
+      resetScroll(scrollingElement);
+      setScrollBehavior(styledElement, "smoothBehavior");
+      assert_equals(scrollingElement.scrollLeft, 0);
+      assert_equals(scrollingElement.scrollTop, 0);
+      scrollNode(scrollingElement, scrollFunction, "instant", elementToRevealLeft, elementToRevealTop);
+      assert_equals(scrollingElement.scrollLeft, elementToRevealLeft, "Should set scrollLeft immediately");
+      assert_equals(scrollingElement.scrollTop, elementToRevealTop, "Should set scrollTop immediately");
+      return new Promise((resolve) => { resolve(); });
+    }, `Element with smooth scroll-behavior ; ${scrollFunction}() with instant behavior`);
+
+    promise_test(() => {
+      resetScroll(scrollingElement);
+      setScrollBehavior(styledElement, "smoothBehavior");
+      assert_equals(scrollingElement.scrollLeft, 0);
+      assert_equals(scrollingElement.scrollTop, 0);
+      scrollNode(scrollingElement, scrollFunction, "smooth", elementToRevealLeft, elementToRevealTop);
+      assert_less_than(scrollingElement.scrollLeft, elementToRevealLeft, "Should not set scrollLeft immediately");
+      assert_less_than(scrollingElement.scrollTop, elementToRevealTop, "Should not set scrollTop immediately");
+      return waitForScrollEnd(scrollingElement).then(() => {
+        assert_equals(scrollingElement.scrollLeft, elementToRevealLeft, "Final value of scrollLeft");
+        assert_equals(scrollingElement.scrollTop, elementToRevealTop, "Final value of scrollTop");
+      });
+   }, `Element with smooth scroll-behavior ; ${scrollFunction}() with smooth behavior`);
+  });
+
+  promise_test(() => {
+    resetScroll(scrollingElement);
+    setScrollBehavior(styledElement, "smoothBehavior");
+    assert_equals(scrollingElement.scrollLeft, 0);
+    assert_equals(scrollingElement.scrollTop, 0);
+    scrollNode(scrollingElement, "scroll", "smooth", elementToRevealLeft, elementToRevealTop);
+    scrollNode(scrollingElement, "scroll", "smooth", elementToRevealLeft / 2, elementToRevealTop / 2);
+    return waitForScrollEnd(scrollingElement).then(() => {
+      assert_equals(scrollingElement.scrollLeft, elementToRevealLeft / 2, "Final value of scrollLeft");
+      assert_equals(scrollingElement.scrollTop, elementToRevealTop / 2, "Final value of scrollTop");
+    });
+  }, "Aborting an ongoing smooth scrolling on an element with another smooth scrolling");
+
+  promise_test(() => {
+    resetScroll(scrollingElement);
+    setScrollBehavior(styledElement, "smoothBehavior");
+    assert_equals(scrollingElement.scrollLeft, 0);
+    assert_equals(scrollingElement.scrollTop, 0);
+    scrollNode(scrollingElement, "scroll", "smooth", elementToRevealLeft, elementToRevealTop);
+    scrollNode(scrollingElement, "scroll", "instant", 0, 0);
+    return waitForScrollEnd(scrollingElement).then(() => {
+      assert_equals(scrollingElement.scrollLeft, 0, "Final value of scrollLeft");
+      assert_equals(scrollingElement.scrollTop, 0, "Final value of scrollTop");
+    });
+  }, "Aborting an ongoing smooth scrolling on an element with an instant scrolling");
+</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/cssom-view/scroll-behavior-main-frame-root.html b/third_party/WebKit/LayoutTests/external/wpt/css/cssom-view/scroll-behavior-main-frame-root.html
new file mode 100644
index 0000000..7ef0a4a
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/cssom-view/scroll-behavior-main-frame-root.html
@@ -0,0 +1,169 @@
+<!DOCTYPE html>
+<title>Testing scrollOptions' behavior for Element.scroll* and scroll-behavior on the root of the main frame</title>
+<meta name="timeout" content="long"/>
+<link rel="author" title="Frédéric Wang" href="mailto:fwang@igalia.com">
+<link rel="help" href="https://drafts.csswg.org/cssom-view/#propdef-scroll-behavior">
+<link rel="help" href="https://drafts.csswg.org/cssom-view/#scrolling-box">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="support/scroll-behavior.js"></script>
+<style>
+  body {
+    margin: 0;
+  }
+  .autoBehavior {
+    scroll-behavior: auto;
+  }
+  .smoothBehavior {
+    scroll-behavior: smooth;
+  }
+</style>
+<div id="log">
+</div>
+<div id="pageContent" style="position: absolute; left: 0; top: 0;">
+  <div id="elementToReveal" style="position: absolute; display: inline-block; width: 10px; height: 15px; background: black;"></div>
+</div>
+<script>
+  var pageLoaded = async_test("Page loaded");
+  var scrollingElement, styledElement, elementToRevealLeft, elementToRevealTop;
+  window.addEventListener("load", pageLoaded.step_func_done(function() {
+    scrollingElement = document.scrollingElement;
+    styledElement = document.documentElement;
+    pageContent.style.width = (10 + window.innerWidth) * 5 + "px";
+    pageContent.style.height = (20 + window.innerHeight) * 6 + "px";
+    elementToRevealLeft = (10 + window.innerWidth) * 3;
+    elementToRevealTop = (20 + window.innerHeight) * 4;
+    elementToReveal.style.left = elementToRevealLeft + "px";
+    elementToReveal.style.top = elementToRevealTop + "px";
+
+    add_completion_callback(() => { resetScroll(scrollingElement); });
+
+    ["scroll", "scrollTo", "scrollBy", "scrollIntoView"].forEach((scrollFunction) => {
+      promise_test(() => {
+        resetScroll(scrollingElement);
+        setScrollBehavior(styledElement, "autoBehavior");
+        assert_equals(scrollingElement.scrollLeft, 0);
+        assert_equals(scrollingElement.scrollTop, 0);
+        scrollNode(scrollingElement, scrollFunction, null, elementToRevealLeft, elementToRevealTop);
+        assert_equals(scrollingElement.scrollLeft, elementToRevealLeft, "Should set scrollLeft immediately");
+        assert_equals(scrollingElement.scrollTop, elementToRevealTop, "Should set scrollTop immediately");
+        return new Promise((resolve) => { resolve(); });
+      }, `Main frame with auto scroll-behavior ; ${scrollFunction}() with default behavior`);
+
+      promise_test(() => {
+        resetScroll(scrollingElement);
+        setScrollBehavior(styledElement, "autoBehavior");
+        assert_equals(scrollingElement.scrollLeft, 0);
+        assert_equals(scrollingElement.scrollTop, 0);
+        scrollNode(scrollingElement, scrollFunction, "auto", elementToRevealLeft, elementToRevealTop);
+        assert_equals(scrollingElement.scrollLeft, elementToRevealLeft, "Should set scrollLeft immediately");
+        assert_equals(scrollingElement.scrollTop, elementToRevealTop, "Should set scrollTop immediately");
+        return new Promise((resolve) => { resolve(); });
+      }, `Main frame with auto scroll-behavior ; ${scrollFunction}() with auto behavior`);
+
+      promise_test(() => {
+        resetScroll(scrollingElement);
+        setScrollBehavior(styledElement, "autoBehavior");
+        assert_equals(scrollingElement.scrollLeft, 0);
+        assert_equals(scrollingElement.scrollTop, 0);
+        scrollNode(scrollingElement, scrollFunction, "instant", elementToRevealLeft, elementToRevealTop);
+        assert_equals(scrollingElement.scrollLeft, elementToRevealLeft, "Should set scrollLeft immediately");
+        assert_equals(scrollingElement.scrollTop, elementToRevealTop, "Should set scrollTop immediately");
+        return new Promise((resolve) => { resolve(); });
+      }, `Main frame with auto scroll-behavior ; ${scrollFunction}() with instant behavior`);
+
+      promise_test(() => {
+        resetScroll(scrollingElement);
+        setScrollBehavior(styledElement, "autoBehavior");
+        assert_equals(scrollingElement.scrollLeft, 0);
+        assert_equals(scrollingElement.scrollTop, 0);
+        scrollNode(scrollingElement, scrollFunction, "smooth", elementToRevealLeft, elementToRevealTop);
+        assert_less_than(scrollingElement.scrollLeft, elementToRevealLeft, "Should not set scrollLeft immediately");
+        assert_less_than(scrollingElement.scrollTop, elementToRevealTop, "Should not set scrollTop immediately");
+        return waitForScrollEnd(scrollingElement).then(() => {
+          assert_equals(scrollingElement.scrollLeft, elementToRevealLeft, "Final value of scrollLeft");
+          assert_equals(scrollingElement.scrollTop, elementToRevealTop, "Final value of scrollTop");
+        });
+      }, `Main frame with auto scroll-behavior ; ${scrollFunction}() with smooth behavior`);
+
+      promise_test(() => {
+        resetScroll(scrollingElement);
+        setScrollBehavior(styledElement, "smoothBehavior");
+        assert_equals(scrollingElement.scrollLeft, 0);
+        assert_equals(scrollingElement.scrollTop, 0);
+        scrollNode(scrollingElement, scrollFunction, null, elementToRevealLeft, elementToRevealTop);
+        assert_less_than(scrollingElement.scrollLeft, elementToRevealLeft, "Should not set scrollLeft immediately");
+        assert_less_than(scrollingElement.scrollTop, elementToRevealTop, "Should not set scrollTop immediately");
+        return waitForScrollEnd(scrollingElement).then(() => {
+          assert_equals(scrollingElement.scrollLeft, elementToRevealLeft, "Final value of scrollLeft");
+          assert_equals(scrollingElement.scrollTop, elementToRevealTop, "Final value of scrollTop");
+        });
+      }, `Main frame with smooth scroll-behavior ; ${scrollFunction}() with default behavior`);
+
+      promise_test(() => {
+        resetScroll(scrollingElement);
+        setScrollBehavior(styledElement, "smoothBehavior");
+        assert_equals(scrollingElement.scrollLeft, 0);
+        assert_equals(scrollingElement.scrollTop, 0);
+        scrollNode(scrollingElement, scrollFunction, "auto", elementToRevealLeft, elementToRevealTop);
+        assert_less_than(scrollingElement.scrollLeft, elementToRevealLeft, "Should not set scrollLeft immediately");
+        assert_less_than(scrollingElement.scrollTop, elementToRevealTop, "Should not set scrollTop immediately");
+        return waitForScrollEnd(scrollingElement).then(() => {
+          assert_equals(scrollingElement.scrollLeft, elementToRevealLeft, "Final value of scrollLeft");
+          assert_equals(scrollingElement.scrollTop, elementToRevealTop, "Final value of scrollTop");
+        });
+      }, `Main frame with smooth scroll-behavior ; ${scrollFunction}() with auto behavior`);
+
+      promise_test(() => {
+        resetScroll(scrollingElement);
+        setScrollBehavior(styledElement, "smoothBehavior");
+        assert_equals(scrollingElement.scrollLeft, 0);
+        assert_equals(scrollingElement.scrollTop, 0);
+        scrollNode(scrollingElement, scrollFunction, "instant", elementToRevealLeft, elementToRevealTop);
+        assert_equals(scrollingElement.scrollLeft, elementToRevealLeft, "Should set scrollLeft immediately");
+        assert_equals(scrollingElement.scrollTop, elementToRevealTop, "Should set scrollTop immediately");
+        return new Promise((resolve) => { resolve(); });
+      }, `Main frame with smooth scroll-behavior ; ${scrollFunction}() with instant behavior`);
+
+      promise_test(() => {
+        resetScroll(scrollingElement);
+        setScrollBehavior(styledElement, "smoothBehavior");
+        assert_equals(scrollingElement.scrollLeft, 0);
+        assert_equals(scrollingElement.scrollTop, 0);
+        scrollNode(scrollingElement, scrollFunction, "smooth", elementToRevealLeft, elementToRevealTop);
+        assert_less_than(scrollingElement.scrollLeft, elementToRevealLeft, "Should not set scrollLeft immediately");
+        assert_less_than(scrollingElement.scrollTop, elementToRevealTop, "Should not set scrollTop immediately");
+        return waitForScrollEnd(scrollingElement).then(() => {
+          assert_equals(scrollingElement.scrollLeft, elementToRevealLeft, "Final value of scrollLeft");
+          assert_equals(scrollingElement.scrollTop, elementToRevealTop, "Final value of scrollTop");
+        });
+     }, `Main frame with smooth scroll-behavior ; ${scrollFunction}() with smooth behavior`);
+    });
+
+    promise_test(() => {
+      resetScroll(scrollingElement);
+      setScrollBehavior(styledElement, "smoothBehavior");
+      assert_equals(scrollingElement.scrollLeft, 0);
+      assert_equals(scrollingElement.scrollTop, 0);
+      scrollNode(scrollingElement, "scroll", "smooth", elementToRevealLeft, elementToRevealTop);
+      scrollNode(scrollingElement, "scroll", "smooth", elementToRevealLeft / 2, elementToRevealTop / 2);
+      return waitForScrollEnd(scrollingElement).then(() => {
+        assert_equals(scrollingElement.scrollLeft, elementToRevealLeft / 2, "Final value of scrollLeft");
+        assert_equals(scrollingElement.scrollTop, elementToRevealTop / 2, "Final value of scrollTop");
+      });
+    }, "Aborting an ongoing smooth scrolling on the main frame with another smooth scrolling");
+
+    promise_test(() => {
+      resetScroll(scrollingElement);
+      setScrollBehavior(styledElement, "smoothBehavior");
+      assert_equals(scrollingElement.scrollLeft, 0);
+      assert_equals(scrollingElement.scrollTop, 0);
+      scrollNode(scrollingElement, "scroll", "smooth", elementToRevealLeft, elementToRevealTop);
+      scrollNode(scrollingElement, "scroll", "instant", 0, 0);
+      return waitForScrollEnd(scrollingElement).then(() => {
+        assert_equals(scrollingElement.scrollLeft, 0, "Final value of scrollLeft");
+        assert_equals(scrollingElement.scrollTop, 0, "Final value of scrollTop");
+    });
+  }, "Aborting an ongoing smooth scrolling on the main frame with an instant scrolling");
+  }));
+</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/cssom-view/scroll-behavior-main-frame-window.html b/third_party/WebKit/LayoutTests/external/wpt/css/cssom-view/scroll-behavior-main-frame-window.html
new file mode 100644
index 0000000..57b0d913
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/cssom-view/scroll-behavior-main-frame-window.html
@@ -0,0 +1,169 @@
+<!DOCTYPE html>
+<title>Testing scrollOptions' behavior for Element.scroll* on the window of the main frame</title>
+<meta name="timeout" content="long"/>
+<link rel="author" title="Frédéric Wang" href="mailto:fwang@igalia.com">
+<link rel="help" href="https://drafts.csswg.org/cssom-view/#propdef-scroll-behavior">
+<link rel="help" href="https://drafts.csswg.org/cssom-view/#scrolling-box">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="support/scroll-behavior.js"></script>
+<style>
+  body {
+    margin: 0;
+  }
+  .autoBehavior {
+    scroll-behavior: auto;
+  }
+  .smoothBehavior {
+    scroll-behavior: smooth;
+  }
+</style>
+<div id="log">
+</div>
+<div id="pageContent" style="position: absolute; left: 0; top: 0;">
+  <div id="elementToReveal" style="position: absolute; display: inline-block; width: 10px; height: 15px; background: black;"></div>
+</div>
+<script>
+  var pageLoaded = async_test("Page loaded");
+  var scrollingWindow, styledElement, elementToRevealLeft, elementToRevealTop;
+  window.addEventListener("load", pageLoaded.step_func_done(function() {
+    scrollingWindow = window;
+    styledElement = document.documentElement;
+    pageContent.style.width = (10 + window.innerWidth) * 5 + "px";
+    pageContent.style.height = (20 + window.innerHeight) * 6 + "px";
+    elementToRevealLeft = (10 + window.innerWidth) * 3;
+    elementToRevealTop = (20 + window.innerHeight) * 4;
+    elementToReveal.style.left = elementToRevealLeft + "px";
+    elementToReveal.style.top = elementToRevealTop + "px";
+
+    add_completion_callback(() => { resetScrollForWindow(window); });
+
+    ["scroll", "scrollTo", "scrollBy"].forEach((scrollFunction) => {
+      promise_test(() => {
+        resetScrollForWindow(scrollingWindow);
+        setScrollBehavior(styledElement, "autoBehavior");
+        assert_equals(scrollingWindow.scrollX, 0);
+        assert_equals(scrollingWindow.scrollY, 0);
+        scrollWindow(scrollingWindow, scrollFunction, null, elementToRevealLeft, elementToRevealTop);
+        assert_equals(scrollingWindow.scrollX, elementToRevealLeft, "Should set scrollLeft immediately");
+        assert_equals(scrollingWindow.scrollY, elementToRevealTop, "Should set scrollTop immediately");
+        return new Promise((resolve) => { resolve(); });
+      }, `Main frame with auto scroll-behavior ; ${scrollFunction}() with default behavior`);
+
+      promise_test(() => {
+        resetScrollForWindow(scrollingWindow);
+        setScrollBehavior(styledElement, "autoBehavior");
+        assert_equals(scrollingWindow.scrollX, 0);
+        assert_equals(scrollingWindow.scrollY, 0);
+        scrollWindow(scrollingWindow, scrollFunction, "auto", elementToRevealLeft, elementToRevealTop);
+        assert_equals(scrollingWindow.scrollX, elementToRevealLeft, "Should set scrollLeft immediately");
+        assert_equals(scrollingWindow.scrollY, elementToRevealTop, "Should set scrollTop immediately");
+        return new Promise((resolve) => { resolve(); });
+      }, `Main frame with auto scroll-behavior ; ${scrollFunction}() with auto behavior`);
+
+      promise_test(() => {
+        resetScrollForWindow(scrollingWindow);
+        setScrollBehavior(styledElement, "autoBehavior");
+        assert_equals(scrollingWindow.scrollX, 0);
+        assert_equals(scrollingWindow.scrollY, 0);
+        scrollWindow(scrollingWindow, scrollFunction, "instant", elementToRevealLeft, elementToRevealTop);
+        assert_equals(scrollingWindow.scrollX, elementToRevealLeft, "Should set scrollLeft immediately");
+        assert_equals(scrollingWindow.scrollY, elementToRevealTop, "Should set scrollTop immediately");
+        return new Promise((resolve) => { resolve(); });
+      }, `Main frame with auto scroll-behavior ; ${scrollFunction}() with instant behavior`);
+
+      promise_test(() => {
+        resetScrollForWindow(scrollingWindow);
+        setScrollBehavior(styledElement, "autoBehavior");
+        assert_equals(scrollingWindow.scrollX, 0);
+        assert_equals(scrollingWindow.scrollY, 0);
+        scrollWindow(scrollingWindow, scrollFunction, "smooth", elementToRevealLeft, elementToRevealTop);
+        assert_less_than(scrollingWindow.scrollX, elementToRevealLeft, "Should not set scrollLeft immediately");
+        assert_less_than(scrollingWindow.scrollY, elementToRevealTop, "Should not set scrollTop immediately");
+        return waitForScrollEnd(scrollingWindow.document.scrollingElement).then(() => {
+          assert_equals(scrollingWindow.scrollX, elementToRevealLeft, "Final value of scrollLeft");
+          assert_equals(scrollingWindow.scrollY, elementToRevealTop, "Final value of scrollTop");
+        });
+      }, `Main frame with auto scroll-behavior ; ${scrollFunction}() with smooth behavior`);
+
+      promise_test(() => {
+        resetScrollForWindow(scrollingWindow);
+        setScrollBehavior(styledElement, "smoothBehavior");
+        assert_equals(scrollingWindow.scrollX, 0);
+        assert_equals(scrollingWindow.scrollY, 0);
+        scrollWindow(scrollingWindow, scrollFunction, null, elementToRevealLeft, elementToRevealTop);
+        assert_less_than(scrollingWindow.scrollX, elementToRevealLeft, "Should not set scrollLeft immediately");
+        assert_less_than(scrollingWindow.scrollY, elementToRevealTop, "Should not set scrollTop immediately");
+        return waitForScrollEnd(scrollingWindow.document.scrollingElement).then(() => {
+          assert_equals(scrollingWindow.scrollX, elementToRevealLeft, "Final value of scrollLeft");
+          assert_equals(scrollingWindow.scrollY, elementToRevealTop, "Final value of scrollTop");
+        });
+      }, `Main frame with smooth scroll-behavior ; ${scrollFunction}() with default behavior`);
+
+      promise_test(() => {
+        resetScrollForWindow(scrollingWindow);
+        setScrollBehavior(styledElement, "smoothBehavior");
+        assert_equals(scrollingWindow.scrollX, 0);
+        assert_equals(scrollingWindow.scrollY, 0);
+        scrollWindow(scrollingWindow, scrollFunction, "auto", elementToRevealLeft, elementToRevealTop);
+        assert_less_than(scrollingWindow.scrollX, elementToRevealLeft, "Should not set scrollLeft immediately");
+        assert_less_than(scrollingWindow.scrollY, elementToRevealTop, "Should not set scrollTop immediately");
+        return waitForScrollEnd(scrollingWindow.document.scrollingElement).then(() => {
+          assert_equals(scrollingWindow.scrollX, elementToRevealLeft, "Final value of scrollLeft");
+          assert_equals(scrollingWindow.scrollY, elementToRevealTop, "Final value of scrollTop");
+        });
+      }, `Main frame with smooth scroll-behavior ; ${scrollFunction}() with auto behavior`);
+
+      promise_test(() => {
+        resetScrollForWindow(scrollingWindow);
+        setScrollBehavior(styledElement, "smoothBehavior");
+        assert_equals(scrollingWindow.scrollX, 0);
+        assert_equals(scrollingWindow.scrollY, 0);
+        scrollWindow(scrollingWindow, scrollFunction, "instant", elementToRevealLeft, elementToRevealTop);
+        assert_equals(scrollingWindow.scrollX, elementToRevealLeft, "Should set scrollLeft immediately");
+        assert_equals(scrollingWindow.scrollY, elementToRevealTop, "Should set scrollTop immediately");
+        return new Promise((resolve) => { resolve(); });
+      }, `Main frame with smooth scroll-behavior ; ${scrollFunction}() with instant behavior`);
+
+      promise_test(() => {
+        resetScrollForWindow(scrollingWindow);
+        setScrollBehavior(styledElement, "smoothBehavior");
+        assert_equals(scrollingWindow.scrollX, 0);
+        assert_equals(scrollingWindow.scrollY, 0);
+        scrollWindow(scrollingWindow, scrollFunction, "smooth", elementToRevealLeft, elementToRevealTop);
+        assert_less_than(scrollingWindow.scrollX, elementToRevealLeft, "Should not set scrollLeft immediately");
+        assert_less_than(scrollingWindow.scrollY, elementToRevealTop, "Should not set scrollTop immediately");
+        return waitForScrollEnd(scrollingWindow.document.scrollingElement).then(() => {
+          assert_equals(scrollingWindow.scrollX, elementToRevealLeft, "Final value of scrollLeft");
+          assert_equals(scrollingWindow.scrollY, elementToRevealTop, "Final value of scrollTop");
+        });
+     }, `Main frame with smooth scroll-behavior ; ${scrollFunction}() with smooth behavior`);
+    });
+
+    promise_test(() => {
+      resetScrollForWindow(scrollingWindow);
+      setScrollBehavior(styledElement, "smoothBehavior");
+      assert_equals(scrollingWindow.scrollX, 0);
+      assert_equals(scrollingWindow.scrollY, 0);
+      scrollWindow(scrollingWindow, "scroll", "smooth", elementToRevealLeft, elementToRevealTop);
+      scrollWindow(scrollingWindow, "scroll", "smooth", elementToRevealLeft / 2, elementToRevealTop / 2);
+      return waitForScrollEnd(scrollingWindow.document.scrollingElement).then(() => {
+        assert_equals(scrollingWindow.scrollX, elementToRevealLeft / 2, "Final value of scrollLeft");
+        assert_equals(scrollingWindow.scrollY, elementToRevealTop / 2, "Final value of scrollTop");
+      });
+    }, "Aborting an ongoing smooth scrolling on the main frame with another smooth scrolling");
+
+    promise_test(() => {
+      resetScrollForWindow(scrollingWindow);
+      setScrollBehavior(styledElement, "smoothBehavior");
+      assert_equals(scrollingWindow.scrollX, 0);
+      assert_equals(scrollingWindow.scrollY, 0);
+      scrollWindow(scrollingWindow, "scroll", "smooth", elementToRevealLeft, elementToRevealTop);
+      scrollWindow(scrollingWindow, "scroll", "instant", 0, 0);
+      return waitForScrollEnd(scrollingWindow.document.scrollingElement).then(() => {
+        assert_equals(scrollingWindow.scrollX, 0, "Final value of scrollLeft");
+        assert_equals(scrollingWindow.scrollY, 0, "Final value of scrollTop");
+    });
+  }, "Aborting an ongoing smooth scrolling on the main frame with an instant scrolling");
+  }));
+</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/cssom-view/scroll-behavior-scrollintoview-nested.html b/third_party/WebKit/LayoutTests/external/wpt/css/cssom-view/scroll-behavior-scrollintoview-nested.html
new file mode 100644
index 0000000..2a97e06
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/cssom-view/scroll-behavior-scrollintoview-nested.html
@@ -0,0 +1,88 @@
+<!DOCTYPE html>
+<title>Testing scrollOptions' behavior with scrollIntoView for nested scrolling nodes</title>
+<meta name="timeout" content="long"/>
+<link rel="author" title="Frédéric Wang" href="mailto:fwang@igalia.com">
+<link rel="help" href="https://drafts.csswg.org/cssom-view/#propdef-scroll-behavior">
+<link rel="help" href="https://drafts.csswg.org/cssom-view/#scrolling-box">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="support/scroll-behavior.js"></script>
+<style>
+  .scrollable {
+    overflow: auto;
+    height: 200px;
+  }
+  .smoothBehavior {
+    scroll-behavior: smooth;
+  }
+  .gradient {
+    background: linear-gradient(135deg, red, green);
+  }
+</style>
+<div id="log">
+</div>
+<div>
+  <div class="scrollable smoothBehavior" style="width: 450px">
+    <div class="gradient" style="width: 100px; height: 500px;"></div>
+    <div class="scrollable smoothBehavior" style="width: 400px">
+      <div class="gradient" style="width: 100px; height: 500px;"></div>
+      <div class="scrollable" style="width: 350px">
+        <div class="gradient" style="width: 100px; height: 500px;"></div>
+        <div class="scrollable" style="width: 300px">
+          <div class="gradient" style="width: 100px; height: 500px;"></div>
+          <div class="scrollable smoothBehavior" style="width: 250px">
+            <div class="gradient" style="width: 100px; height: 500px;"></div>
+            <div class="scrollable" style="width: 200px">
+              <div class="gradient" style="width: 100px; height: 500px;"></div>
+              <div id="elementToReveal" style="width: 10px; height: 10px; background: black;"></div>
+              <div class="gradient" style="width: 100px; height: 500px;"></div>
+            </div>
+            <div class="gradient" style="width: 100px; height: 500px;"></div>
+          </div>
+          <div class="gradient" style="width: 100px; height: 500px;"></div>
+        </div>
+      <div class="gradient" style="width: 100px; height: 500px;"></div>
+      </div>
+      <div class="gradient" style="width: 100px; height: 500px;"></div>
+    </div>
+  </div>
+</div>
+<script>
+  // The CSSOM-View spec and implementations follow different algorithms (scrolls performed in parallel, as inner-to-outer sequence or as outer-to-inner sequence).
+  // See https://github.com/w3c/csswg-drafts/issues/3127
+  promise_test(() => {
+    return new Promise(function(resolve, reject) {
+      var divs = document.querySelectorAll(".scrollable");
+      divs.forEach((scrollableDiv) => {
+        resetScroll(scrollableDiv);
+      });
+      elementToReveal.scrollIntoView({inline: "start", block: "start", behavior: "auto"});
+      var scrollTop = new Map();
+      var isSmooth = new Map();
+      divs.forEach((scrollableDiv) => {
+        scrollTop.set(scrollableDiv, scrollableDiv.scrollTop);
+        isSmooth.set(scrollableDiv, scrollableDiv.classList.contains("smoothBehavior"));
+        // If scroll operations are not performed in parallel, scroll boxes with instant behavior might also need to wait for their predecessors.
+        if (isSmooth.get(scrollableDiv))
+          assert_less_than(scrollTop.get(scrollableDiv), 500, "Element with smooth behavior should not scroll immediately");
+      });
+
+      observeScrolling(Array.from(divs), function(done) {
+        try {
+          divs.forEach((scrollableDiv) => {
+            assert_less_than_equal(scrollTop.get(scrollableDiv), scrollableDiv.scrollTop, "ScrollTop keeps increasing");
+            if (!isSmooth.get(scrollableDiv))
+              assert_any(assert_equals, scrollableDiv.scrollTop, [0, 500], "Element with instant behavior should jump to the final position");
+            if (done)
+              assert_equals(scrollableDiv.scrollTop, 500, "Final value of scrollTop");
+            scrollTop.set(scrollableDiv, scrollableDiv.scrollTop);
+          });
+        } catch(e) {
+          reject(e);
+        }
+        if (done)
+          resolve();
+      });
+    });
+  }, "scrollIntoView with nested elements with different scroll-behavior");
+</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/cssom-view/scroll-behavior-smooth-positions.html b/third_party/WebKit/LayoutTests/external/wpt/css/cssom-view/scroll-behavior-smooth-positions.html
new file mode 100644
index 0000000..19e317d
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/cssom-view/scroll-behavior-smooth-positions.html
@@ -0,0 +1,151 @@
+<!DOCTYPE html>
+<title>Testing scroll positions when scrolling an element with smooth behavior</title>
+<meta name="timeout" content="long"/>
+<link rel="author" title="Frédéric Wang" href="mailto:fwang@igalia.com">
+<link rel="help" href="https://drafts.csswg.org/cssom-view/#propdef-scroll-behavior">
+<link rel="help" href="https://drafts.csswg.org/cssom-view/#scrolling-box">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="support/scroll-behavior.js"></script>
+<style>
+  .scrollable {
+    overflow: auto;
+    width: 400px;
+    height: 200px;
+    scroll-behavior: smooth;
+  }
+</style>
+<div id="log">
+</div>
+<div id="overflowNode" class="scrollable">
+  <div style="width: 2000px; height: 1000px; background: linear-gradient(135deg, red, green);">
+    <span style="display: inline-block; width: 500px; height: 250px;"></span><span id="elementToReveal" style="display: inline-block; vertical-align: -15px; width: 10px; height: 15px; background: black;"></span>
+  </div>
+</div>
+<script>
+  // For smooth behavior, evolution of scroll positions over time is not specified by CSSOM View.
+  // This test relies on the minimal assumption that scroll position functions are monotonic.
+  ["scroll", "scrollTo", "scrollBy", "scrollIntoView"].forEach(function(scrollFunction) {
+    [{left:0, top:0}, {left:1000, top:0}, {left:0, top:500}, {left:1000, top:500}].forEach((initial) => {
+      var finalLeft = 500;
+      var finalTop = 250;
+      promise_test(() => {
+        return new Promise(function(resolve, reject) {
+          scrollNode(overflowNode, "scroll", "instant", initial.left, initial.top);
+          var oldLeft = overflowNode.scrollLeft;
+          var oldTop = overflowNode.scrollTop;
+          assert_equals(oldLeft, initial.left, "ScrollLeft should be at initial position");
+          assert_equals(oldTop, initial.top, "ScrollTop should be at initial position");
+          if (scrollFunction === "scrollBy")
+            scrollNode(overflowNode, scrollFunction, "smooth", finalLeft - initial.left, finalTop - initial.top);
+          else
+            scrollNode(overflowNode, scrollFunction, "smooth", finalLeft, finalTop);
+          observeScrolling(overflowNode, function(done) {
+            try {
+              var newLeft = overflowNode.scrollLeft;
+              var newTop = overflowNode.scrollTop;
+              assert_less_than_equal(Math.hypot(finalLeft - newLeft, finalTop - newTop), Math.hypot(finalLeft - oldLeft, finalTop - oldTop), "Scroll position should move towards the final position");
+              if (done) {
+                assert_equals(newLeft, finalLeft, "ScrollLeft should reach final position");
+                assert_equals(newTop, finalTop, "ScrollTop should reach final position");
+              }
+              oldLeft = newLeft;
+              oldTop = newTop;
+            } catch(e) {
+              reject(e);
+            }
+            if (done)
+              resolve();
+          });
+        });
+      }, `Scroll positions when performing smooth scrolling from (${initial.left}, ${initial.top}) to (${finalLeft}, ${finalTop}) using ${scrollFunction}() `);
+    });
+  });
+
+  promise_test(() => {
+    return new Promise(function(resolve, reject) {
+      resetScroll(overflowNode);
+      var initialScrollAborted = false;
+      var scrollDirectionChanged = false;
+      var oldLeft = overflowNode.scrollLeft;
+      var oldTop = overflowNode.scrollTop;
+      assert_equals(oldLeft, 0);
+      assert_equals(oldTop, 0);
+      scrollNode(overflowNode, "scroll", "smooth", 1500, 750);
+      observeScrolling(overflowNode, function(done) {
+        try {
+          var newLeft = overflowNode.scrollLeft;
+          var newTop = overflowNode.scrollTop;
+          if (initialScrollAborted) {
+            if (scrollDirectionChanged) {
+              assert_greater_than_equal(oldLeft, newLeft, "ScrollLeft keeps decreasing");
+              assert_greater_than_equal(oldTop, newTop, "ScrollTop keeps decreasing");
+            } else
+              scrollDirectionChanged = newLeft <= oldLeft && newTop <= oldTop;
+          } else {
+              assert_less_than_equal(oldLeft, newLeft, "ScrollLeft keeps increasing");
+              assert_less_than_equal(oldTop, newTop, "ScrollTop keeps increasing");
+              if (newLeft > 1000 && newTop > 500) {
+                // Abort the initial scroll.
+                initialScrollAborted = true;
+                scrollNode(overflowNode, "scroll", "smooth", 500, 250);
+                newLeft = overflowNode.scrollLeft;
+                newTop = overflowNode.scrollTop;
+              }
+          }
+          if (done) {
+            assert_equals(newLeft, 500, "ScrollLeft should reach final position");
+            assert_equals(newTop, 250, "ScrollTop should reach final position");
+          }
+          oldLeft = newLeft;
+          oldTop = newTop;
+        } catch(e) {
+          reject(e);
+        }
+        if (done)
+          resolve();
+      });
+    });
+  }, "Scroll positions when aborting a smooth scrolling with another smooth scrolling");
+
+  promise_test(() => {
+    return new Promise(function(resolve) {
+      resetScroll(overflowNode);
+      var initialScrollAborted = false;
+      var oldLeft = overflowNode.scrollLeft;
+      var oldTop = overflowNode.scrollTop;
+      assert_equals(oldLeft, 0);
+      assert_equals(oldTop, 0);
+      scrollNode(overflowNode, "scroll", "smooth", 1500, 750);
+      observeScrolling(overflowNode, function(done) {
+        try {
+          var newLeft = overflowNode.scrollLeft;
+          var newTop = overflowNode.scrollTop;
+          if (!initialScrollAborted) {
+              assert_less_than_equal(oldLeft, newLeft, "ScrollLeft keeps increasing");
+              assert_less_than_equal(oldTop, newTop, "ScrollTop keeps increasing");
+              if (newLeft > 1000 && newTop > 500) {
+                // Abort the initial scroll.
+                initialScrollAborted = true;
+                scrollNode(overflowNode, "scroll", "instant", 500, 250);
+                newLeft = overflowNode.scrollLeft;
+                newTop = overflowNode.scrollTop;
+                assert_equals(newLeft, 500, "ScrollLeft should reach final position");
+                assert_equals(newTop, 250, "ScrollTop should reach final position");
+              }
+          }
+          if (done) {
+            assert_equals(newLeft, 500, "ScrollLeft should stay at final position");
+            assert_equals(newTop, 250, "ScrollTop should stay at final position");
+          }
+          oldLeft = newLeft;
+          oldTop = newTop;
+        } catch(e) {
+          reject(e);
+        }
+        if (done)
+          resolve();
+      });
+    });
+  }, "Scroll positions when aborting a smooth scrolling with an instant scrolling");
+</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/cssom-view/scroll-behavior-subframe-root.html b/third_party/WebKit/LayoutTests/external/wpt/css/cssom-view/scroll-behavior-subframe-root.html
new file mode 100644
index 0000000..32de1b6
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/cssom-view/scroll-behavior-subframe-root.html
@@ -0,0 +1,170 @@
+<!DOCTYPE html>
+<title>Testing scrollOptions' behavior for Element.scroll* and scroll-behavior on the root of a subframe</title>
+<meta name="timeout" content="long"/>
+<link rel="author" title="Frédéric Wang" href="mailto:fwang@igalia.com">
+<link rel="help" href="https://drafts.csswg.org/cssom-view/#propdef-scroll-behavior">
+<link rel="help" href="https://drafts.csswg.org/cssom-view/#scrolling-box">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="support/scroll-behavior.js"></script>
+<div id="log">
+</div>
+<iframe id="iframeNode" width="400px" height="200px" srcdoc="<!DOCTYPE>
+<html>
+  <style>
+    body {
+      margin: 0;
+    }
+    .autoBehavior {
+      scroll-behavior: auto;
+    }
+    .smoothBehavior {
+      scroll-behavior: smooth;
+    }
+  </style>
+  <body>
+    <div style='width: 2000px; height: 1000px; background: linear-gradient(135deg, red, green);'>
+      <span style='display: inline-block; width: 500px; height: 250px;'></span><span id='elementToReveal' style='display: inline-block; vertical-align: -15px; width: 10px; height: 15px; background: black;'></span>
+    </div>
+  </body>
+</html>">
+</iframe>
+<script>
+  var iframeLoadTest = async_test("iframe loaded");
+  var scrollingElement, styledElement, elementToReveal;
+  var elementToRevealLeft = 500;
+  var elementToRevealTop = 250;
+  iframeNode.addEventListener("load", iframeLoadTest.step_func_done(() => {
+    scrollingElement = iframeNode.contentDocument.scrollingElement;
+    styledElement = iframeNode.contentDocument.documentElement;
+    elementToReveal = iframeNode.contentDocument.getElementById("elementToReveal");
+
+    ["scroll", "scrollTo", "scrollBy", "scrollIntoView"].forEach((scrollFunction) => {
+      promise_test(() => {
+        resetScroll(scrollingElement);
+        setScrollBehavior(styledElement, "autoBehavior");
+        assert_equals(scrollingElement.scrollLeft, 0);
+        assert_equals(scrollingElement.scrollTop, 0);
+        scrollNode(scrollingElement, scrollFunction, null, elementToRevealLeft, elementToRevealTop);
+        assert_equals(scrollingElement.scrollLeft, elementToRevealLeft, "Should set scrollLeft immediately");
+        assert_equals(scrollingElement.scrollTop, elementToRevealTop, "Should set scrollTop immediately");
+        return new Promise((resolve) => { resolve(); });
+      }, `Subframe with auto scroll-behavior ; ${scrollFunction}() with default behavior`);
+
+      promise_test(() => {
+        resetScroll(scrollingElement);
+        setScrollBehavior(styledElement, "autoBehavior");
+        assert_equals(scrollingElement.scrollLeft, 0);
+        assert_equals(scrollingElement.scrollTop, 0);
+        scrollNode(scrollingElement, scrollFunction, "auto", elementToRevealLeft, elementToRevealTop);
+        assert_equals(scrollingElement.scrollLeft, elementToRevealLeft, "Should set scrollLeft immediately");
+        assert_equals(scrollingElement.scrollTop, elementToRevealTop, "Should set scrollTop immediately");
+        return new Promise((resolve) => { resolve(); });
+      }, `Subframe with auto scroll-behavior ; ${scrollFunction}() with auto behavior`);
+
+      promise_test(() => {
+        resetScroll(scrollingElement);
+        setScrollBehavior(styledElement, "autoBehavior");
+        assert_equals(scrollingElement.scrollLeft, 0);
+        assert_equals(scrollingElement.scrollTop, 0);
+        scrollNode(scrollingElement, scrollFunction, "instant", elementToRevealLeft, elementToRevealTop);
+        assert_equals(scrollingElement.scrollLeft, elementToRevealLeft, "Should set scrollLeft immediately");
+        assert_equals(scrollingElement.scrollTop, elementToRevealTop, "Should set scrollTop immediately");
+        return new Promise((resolve) => { resolve(); });
+      }, `Subframe with auto scroll-behavior ; ${scrollFunction}() with instant behavior`);
+
+      promise_test(() => {
+        resetScroll(scrollingElement);
+        setScrollBehavior(styledElement, "autoBehavior");
+        assert_equals(scrollingElement.scrollLeft, 0);
+        assert_equals(scrollingElement.scrollTop, 0);
+        scrollNode(scrollingElement, scrollFunction, "smooth", elementToRevealLeft, elementToRevealTop);
+        assert_less_than(scrollingElement.scrollLeft, elementToRevealLeft, "Should not set scrollLeft immediately");
+        assert_less_than(scrollingElement.scrollTop, elementToRevealTop, "Should not set scrollTop immediately");
+        return waitForScrollEnd(scrollingElement).then(() => {
+          assert_equals(scrollingElement.scrollLeft, elementToRevealLeft, "Final value of scrollLeft");
+          assert_equals(scrollingElement.scrollTop, elementToRevealTop, "Final value of scrollTop");
+        });
+      }, `Subframe with auto scroll-behavior ; ${scrollFunction}() with smooth behavior`);
+
+      promise_test(() => {
+        resetScroll(scrollingElement);
+        setScrollBehavior(styledElement, "smoothBehavior");
+        assert_equals(scrollingElement.scrollLeft, 0);
+        assert_equals(scrollingElement.scrollTop, 0);
+        scrollNode(scrollingElement, scrollFunction, null, elementToRevealLeft, elementToRevealTop);
+        assert_less_than(scrollingElement.scrollLeft, elementToRevealLeft, "Should not set scrollLeft immediately");
+        assert_less_than(scrollingElement.scrollTop, elementToRevealTop, "Should not set scrollTop immediately");
+        return waitForScrollEnd(scrollingElement).then(() => {
+          assert_equals(scrollingElement.scrollLeft, elementToRevealLeft, "Final value of scrollLeft");
+          assert_equals(scrollingElement.scrollTop, elementToRevealTop, "Final value of scrollTop");
+        });
+      }, `Subframe with smooth scroll-behavior ; ${scrollFunction}() with default behavior`);
+
+      promise_test(() => {
+        resetScroll(scrollingElement);
+        setScrollBehavior(styledElement, "smoothBehavior");
+        assert_equals(scrollingElement.scrollLeft, 0);
+        assert_equals(scrollingElement.scrollTop, 0);
+        scrollNode(scrollingElement, scrollFunction, "auto", elementToRevealLeft, elementToRevealTop);
+        assert_less_than(scrollingElement.scrollLeft, elementToRevealLeft, "Should not set scrollLeft immediately");
+        assert_less_than(scrollingElement.scrollTop, elementToRevealTop, "Should not set scrollTop immediately");
+        return waitForScrollEnd(scrollingElement).then(() => {
+          assert_equals(scrollingElement.scrollLeft, elementToRevealLeft, "Final value of scrollLeft");
+          assert_equals(scrollingElement.scrollTop, elementToRevealTop, "Final value of scrollTop");
+        });
+      }, `Subframe with smooth scroll-behavior ; ${scrollFunction}() with auto behavior`);
+
+      promise_test(() => {
+        resetScroll(scrollingElement);
+        setScrollBehavior(styledElement, "smoothBehavior");
+        assert_equals(scrollingElement.scrollLeft, 0);
+        assert_equals(scrollingElement.scrollTop, 0);
+        scrollNode(scrollingElement, scrollFunction, "instant", elementToRevealLeft, elementToRevealTop);
+        assert_equals(scrollingElement.scrollLeft, elementToRevealLeft, "Should set scrollLeft immediately");
+        assert_equals(scrollingElement.scrollTop, elementToRevealTop, "Should set scrollTop immediately");
+        return new Promise((resolve) => { resolve(); });
+      }, `Subframe with smooth scroll-behavior ; ${scrollFunction}() with instant behavior`);
+
+      promise_test(() => {
+        resetScroll(scrollingElement);
+        setScrollBehavior(styledElement, "smoothBehavior");
+        assert_equals(scrollingElement.scrollLeft, 0);
+        assert_equals(scrollingElement.scrollTop, 0);
+        scrollNode(scrollingElement, scrollFunction, "smooth", elementToRevealLeft, elementToRevealTop);
+        assert_less_than(scrollingElement.scrollLeft, elementToRevealLeft, "Should not set scrollLeft immediately");
+        assert_less_than(scrollingElement.scrollTop, elementToRevealTop, "Should not set scrollTop immediately");
+        return waitForScrollEnd(scrollingElement).then(() => {
+          assert_equals(scrollingElement.scrollLeft, elementToRevealLeft, "Final value of scrollLeft");
+          assert_equals(scrollingElement.scrollTop, elementToRevealTop, "Final value of scrollTop");
+        });
+     }, `Subframe with smooth scroll-behavior ; ${scrollFunction}() with smooth behavior`);
+    });
+
+    promise_test(() => {
+      resetScroll(scrollingElement);
+      setScrollBehavior(styledElement, "smoothBehavior");
+      assert_equals(scrollingElement.scrollLeft, 0);
+      assert_equals(scrollingElement.scrollTop, 0);
+      scrollNode(scrollingElement, "scroll", "smooth", elementToRevealLeft, elementToRevealTop);
+      scrollNode(scrollingElement, "scroll", "smooth", elementToRevealLeft / 2, elementToRevealTop / 2);
+      return waitForScrollEnd(scrollingElement).then(() => {
+        assert_equals(scrollingElement.scrollLeft, elementToRevealLeft / 2, "Final value of scrollLeft");
+        assert_equals(scrollingElement.scrollTop, elementToRevealTop / 2, "Final value of scrollTop");
+      });
+    }, "Aborting an ongoing smooth scrolling on a subframe with another smooth scrolling");
+
+    promise_test(() => {
+      resetScroll(scrollingElement);
+      setScrollBehavior(styledElement, "smoothBehavior");
+      assert_equals(scrollingElement.scrollLeft, 0);
+      assert_equals(scrollingElement.scrollTop, 0);
+      scrollNode(scrollingElement, "scroll", "smooth", elementToRevealLeft, elementToRevealTop);
+      scrollNode(scrollingElement, "scroll", "instant", 0, 0);
+      return waitForScrollEnd(scrollingElement).then(() => {
+        assert_equals(scrollingElement.scrollLeft, 0, "Final value of scrollLeft");
+        assert_equals(scrollingElement.scrollTop, 0, "Final value of scrollTop");
+    });
+  }, "Aborting an ongoing smooth scrolling on a subframe with an instant scrolling");
+  }));
+</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/cssom-view/scroll-behavior-subframe-window.html b/third_party/WebKit/LayoutTests/external/wpt/css/cssom-view/scroll-behavior-subframe-window.html
new file mode 100644
index 0000000..0a8ed39
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/cssom-view/scroll-behavior-subframe-window.html
@@ -0,0 +1,171 @@
+<!DOCTYPE html>
+<title>Testing scrollOptions' behavior for Element.scroll* and scroll-behavior on the root of a subframe</title>
+<meta name="timeout" content="long"/>
+<link rel="author" title="Frédéric Wang" href="mailto:fwang@igalia.com">
+<link rel="help" href="https://drafts.csswg.org/cssom-view/#propdef-scroll-behavior">
+<link rel="help" href="https://drafts.csswg.org/cssom-view/#scrolling-box">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="support/scroll-behavior.js"></script>
+<div id="log">
+</div>
+<iframe id="iframeNode" width="400px" height="200px" srcdoc="<!DOCTYPE>
+<html>
+  <style>
+    body {
+      margin: 0;
+    }
+    .autoBehavior {
+      scroll-behavior: auto;
+    }
+    .smoothBehavior {
+      scroll-behavior: smooth;
+    }
+  </style>
+  <body>
+    <div style='width: 2000px; height: 1000px; background: linear-gradient(135deg, red, green);'>
+      <span style='display: inline-block; width: 500px; height: 250px;'></span><span id='elementToReveal' style='display: inline-block; vertical-align: -15px; width: 10px; height: 15px; background: black;'></span>
+    </div>
+  </body>
+</html>">
+</iframe>
+<script>
+  var iframeLoadTest = async_test("iframe loaded");
+  var scrollingWindow, styledElement, elementToReveal;
+  var elementToRevealLeft = 500;
+  var elementToRevealTop = 250;
+  iframeNode.addEventListener("load", iframeLoadTest.step_func_done(() => {
+    scrollingWindow = iframeNode.contentWindow;
+    styledElement = iframeNode.contentDocument.documentElement;
+    elementToReveal = iframeNode.contentDocument.getElementById("elementToReveal");
+
+    ["scroll", "scrollTo", "scrollBy"].forEach((scrollFunction) => {
+      promise_test(() => {
+        resetScrollForWindow(scrollingWindow);
+        setScrollBehavior(styledElement, "autoBehavior");
+        assert_equals(scrollingWindow.scrollX, 0);
+        assert_equals(scrollingWindow.scrollY, 0);
+        scrollWindow(scrollingWindow, scrollFunction, null, elementToRevealLeft, elementToRevealTop);
+        assert_equals(scrollingWindow.scrollX, elementToRevealLeft, "Should set scrollLeft immediately");
+        assert_equals(scrollingWindow.scrollY, elementToRevealTop, "Should set scrollTop immediately");
+        return new Promise((resolve) => { resolve(); });
+      }, `Main frame with auto scroll-behavior ; ${scrollFunction}() with default behavior`);
+
+      promise_test(() => {
+        resetScrollForWindow(scrollingWindow);
+        setScrollBehavior(styledElement, "autoBehavior");
+        assert_equals(scrollingWindow.scrollX, 0);
+        assert_equals(scrollingWindow.scrollY, 0);
+        scrollWindow(scrollingWindow, scrollFunction, "auto", elementToRevealLeft, elementToRevealTop);
+        assert_equals(scrollingWindow.scrollX, elementToRevealLeft, "Should set scrollLeft immediately");
+        assert_equals(scrollingWindow.scrollY, elementToRevealTop, "Should set scrollTop immediately");
+        return new Promise((resolve) => { resolve(); });
+      }, `Main frame with auto scroll-behavior ; ${scrollFunction}() with auto behavior`);
+
+      promise_test(() => {
+        resetScrollForWindow(scrollingWindow);
+        setScrollBehavior(styledElement, "autoBehavior");
+        assert_equals(scrollingWindow.scrollX, 0);
+        assert_equals(scrollingWindow.scrollY, 0);
+        scrollWindow(scrollingWindow, scrollFunction, "instant", elementToRevealLeft, elementToRevealTop);
+        assert_equals(scrollingWindow.scrollX, elementToRevealLeft, "Should set scrollLeft immediately");
+        assert_equals(scrollingWindow.scrollY, elementToRevealTop, "Should set scrollTop immediately");
+        return new Promise((resolve) => { resolve(); });
+      }, `Main frame with auto scroll-behavior ; ${scrollFunction}() with instant behavior`);
+
+      promise_test(() => {
+        resetScrollForWindow(scrollingWindow);
+        setScrollBehavior(styledElement, "autoBehavior");
+        assert_equals(scrollingWindow.scrollX, 0);
+        assert_equals(scrollingWindow.scrollY, 0);
+        scrollWindow(scrollingWindow, scrollFunction, "smooth", elementToRevealLeft, elementToRevealTop);
+        assert_less_than(scrollingWindow.scrollX, elementToRevealLeft, "Should not set scrollLeft immediately");
+        assert_less_than(scrollingWindow.scrollY, elementToRevealTop, "Should not set scrollTop immediately");
+        return waitForScrollEnd(scrollingWindow.document.scrollingElement).then(() => {
+          assert_equals(scrollingWindow.scrollX, elementToRevealLeft, "Final value of scrollLeft");
+          assert_equals(scrollingWindow.scrollY, elementToRevealTop, "Final value of scrollTop");
+        });
+      }, `Main frame with auto scroll-behavior ; ${scrollFunction}() with smooth behavior`);
+
+      promise_test(() => {
+        resetScrollForWindow(scrollingWindow);
+        setScrollBehavior(styledElement, "smoothBehavior");
+        assert_equals(scrollingWindow.scrollX, 0);
+        assert_equals(scrollingWindow.scrollY, 0);
+        scrollWindow(scrollingWindow, scrollFunction, null, elementToRevealLeft, elementToRevealTop);
+        assert_less_than(scrollingWindow.scrollX, elementToRevealLeft, "Should not set scrollLeft immediately");
+        assert_less_than(scrollingWindow.scrollY, elementToRevealTop, "Should not set scrollTop immediately");
+        return waitForScrollEnd(scrollingWindow.document.scrollingElement).then(() => {
+          assert_equals(scrollingWindow.scrollX, elementToRevealLeft, "Final value of scrollLeft");
+          assert_equals(scrollingWindow.scrollY, elementToRevealTop, "Final value of scrollTop");
+        });
+      }, `Main frame with smooth scroll-behavior ; ${scrollFunction}() with default behavior`);
+
+      promise_test(() => {
+        resetScrollForWindow(scrollingWindow);
+        setScrollBehavior(styledElement, "smoothBehavior");
+        assert_equals(scrollingWindow.scrollX, 0);
+        assert_equals(scrollingWindow.scrollY, 0);
+        scrollWindow(scrollingWindow, scrollFunction, "auto", elementToRevealLeft, elementToRevealTop);
+        assert_less_than(scrollingWindow.scrollX, elementToRevealLeft, "Should not set scrollLeft immediately");
+        assert_less_than(scrollingWindow.scrollY, elementToRevealTop, "Should not set scrollTop immediately");
+        return waitForScrollEnd(scrollingWindow.document.scrollingElement).then(() => {
+          assert_equals(scrollingWindow.scrollX, elementToRevealLeft, "Final value of scrollLeft");
+          assert_equals(scrollingWindow.scrollY, elementToRevealTop, "Final value of scrollTop");
+        });
+      }, `Main frame with smooth scroll-behavior ; ${scrollFunction}() with auto behavior`);
+
+      promise_test(() => {
+        resetScrollForWindow(scrollingWindow);
+        setScrollBehavior(styledElement, "smoothBehavior");
+        assert_equals(scrollingWindow.scrollX, 0);
+        assert_equals(scrollingWindow.scrollY, 0);
+        scrollWindow(scrollingWindow, scrollFunction, "instant", elementToRevealLeft, elementToRevealTop);
+        assert_equals(scrollingWindow.scrollX, elementToRevealLeft, "Should set scrollLeft immediately");
+        assert_equals(scrollingWindow.scrollY, elementToRevealTop, "Should set scrollTop immediately");
+        return new Promise((resolve) => { resolve(); });
+      }, `Main frame with smooth scroll-behavior ; ${scrollFunction}() with instant behavior`);
+
+      promise_test(() => {
+        resetScrollForWindow(scrollingWindow);
+        setScrollBehavior(styledElement, "smoothBehavior");
+        assert_equals(scrollingWindow.scrollX, 0);
+        assert_equals(scrollingWindow.scrollY, 0);
+        scrollWindow(scrollingWindow, scrollFunction, "smooth", elementToRevealLeft, elementToRevealTop);
+        assert_less_than(scrollingWindow.scrollX, elementToRevealLeft, "Should not set scrollLeft immediately");
+        assert_less_than(scrollingWindow.scrollY, elementToRevealTop, "Should not set scrollTop immediately");
+        return waitForScrollEnd(scrollingWindow.document.scrollingElement).then(() => {
+          assert_equals(scrollingWindow.scrollX, elementToRevealLeft, "Final value of scrollLeft");
+          assert_equals(scrollingWindow.scrollY, elementToRevealTop, "Final value of scrollTop");
+        });
+     }, `Main frame with smooth scroll-behavior ; ${scrollFunction}() with smooth behavior`);
+    });
+
+    promise_test(() => {
+      resetScrollForWindow(scrollingWindow);
+      setScrollBehavior(styledElement, "smoothBehavior");
+      assert_equals(scrollingWindow.scrollX, 0);
+      assert_equals(scrollingWindow.scrollY, 0);
+      scrollWindow(scrollingWindow, "scroll", "smooth", elementToRevealLeft, elementToRevealTop);
+      scrollWindow(scrollingWindow, "scroll", "smooth", elementToRevealLeft / 2, elementToRevealTop / 2);
+      return waitForScrollEnd(scrollingWindow.document.scrollingElement).then(() => {
+        assert_equals(scrollingWindow.scrollX, elementToRevealLeft / 2, "Final value of scrollLeft");
+        assert_equals(scrollingWindow.scrollY, elementToRevealTop / 2, "Final value of scrollTop");
+      });
+    }, "Aborting an ongoing smooth scrolling on the main frame with another smooth scrolling");
+
+    promise_test(() => {
+      resetScrollForWindow(scrollingWindow);
+      setScrollBehavior(styledElement, "smoothBehavior");
+      assert_equals(scrollingWindow.scrollX, 0);
+      assert_equals(scrollingWindow.scrollY, 0);
+      scrollWindow(scrollingWindow, "scroll", "smooth", elementToRevealLeft, elementToRevealTop);
+      scrollWindow(scrollingWindow, "scroll", "instant", 0, 0);
+      return waitForScrollEnd(scrollingWindow.document.scrollingElement).then(() => {
+        assert_equals(scrollingWindow.scrollX, 0, "Final value of scrollLeft");
+        assert_equals(scrollingWindow.scrollY, 0, "Final value of scrollTop");
+    });
+  }, "Aborting an ongoing smooth scrolling on the main frame with an instant scrolling");
+
+  }));
+</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/cssom-view/support/scroll-behavior.js b/third_party/WebKit/LayoutTests/external/wpt/css/cssom-view/support/scroll-behavior.js
new file mode 100644
index 0000000..0a0968e
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/cssom-view/support/scroll-behavior.js
@@ -0,0 +1,87 @@
+function observeScrolling(elements, callback) {
+  if (!Array.isArray(elements))
+      elements = [elements];
+  var lastChangedFrame = 0;
+  var lastLeft = new Map();
+  var lastTop = new Map();
+  elements.forEach((element) => {
+    lastLeft.set(element, element.scrollLeft);
+    lastTop.set(element, element.scrollTop);
+  });
+  function tick(frames) {
+    // We requestAnimationFrame either for 500 frames or until 20 frames with
+    // no change have been observed.
+    if (frames >= 500 || frames - lastChangedFrame > 20) {
+      callback(true);
+    } else {
+      var scrollHappened = elements.some((element) => {
+        return element.scrollLeft != lastLeft.get(element) || element.scrollTop != lastTop.get(element);
+      });
+      if (scrollHappened) {
+        lastChangedFrame = frames;
+        elements.forEach((element) => {
+          lastLeft.set(element, element.scrollLeft);
+          lastTop.set(element, element.scrollTop);
+        });
+        callback(false);
+      }
+      requestAnimationFrame(tick.bind(null, frames + 1));
+    }
+  }
+  tick(0);
+}
+
+function waitForScrollEnd(elements) {
+  return new Promise((resolve) => {
+    observeScrolling(elements, (done) => {
+      if (done)
+        resolve();
+    });
+  });
+}
+
+function resetScroll(scrollingElement) {
+  // Try various methods to ensure the element position is reset immediately.
+  scrollingElement.scrollLeft = 0;
+  scrollingElement.scrollTop = 0;
+  scrollingElement.scroll({left: 0, top: 0, behavior: "instant"});
+}
+
+function resetScrollForWindow(scrollingWindow) {
+  // Try various methods to ensure the element position is reset immediately.
+  scrollingWindow.document.scrollingElement.scrollLeft = 0;
+  scrollingWindow.document.scrollingElement.scrollTop = 0;
+  scrollingWindow.scroll({left: 0, top: 0, behavior: "instant"});
+}
+
+function setScrollBehavior(styledElement, className) {
+  styledElement.classList.remove("autoBehavior", "smoothBehavior");
+  styledElement.classList.add(className);
+}
+
+function scrollNode(scrollingElement, scrollFunction, behavior, elementToRevealLeft, elementToRevealTop) {
+  var args = {};
+  if (behavior)
+    args.behavior = behavior;
+  switch (scrollFunction) {
+    case "scrollIntoView":
+      args.inline = "start";
+      args.block = "start";
+      elementToReveal.scrollIntoView(args);
+      break;
+    default:
+      args.left = elementToRevealLeft;
+      args.top = elementToRevealTop;
+      scrollingElement[scrollFunction](args);
+      break;
+  }
+}
+
+function scrollWindow(scrollingWindow, scrollFunction, behavior, elementToRevealLeft, elementToRevealTop) {
+  var args = {};
+  if (behavior)
+    args.behavior = behavior;
+  args.left = elementToRevealLeft;
+  args.top = elementToRevealTop;
+  scrollingWindow[scrollFunction](args);
+}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/cssom/getComputedStyle-insets-absolute.html b/third_party/WebKit/LayoutTests/external/wpt/css/cssom/getComputedStyle-insets-absolute.html
index 196f5f26..fae0a84 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/css/cssom/getComputedStyle-insets-absolute.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/cssom/getComputedStyle-insets-absolute.html
@@ -3,7 +3,7 @@
 <title>CSSOM: resolved values of the inset properties for absolute positioning</title>
 <link rel="help" href="https://drafts.csswg.org/cssom/#resolved-value">
 <link rel="help" href="https://drafts.csswg.org/css-position/#pos-sch">
-<link rel="author" title="Oriol Brufau" href="mailto:obrufau@crisal.io">
+<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com">
 <script src=/resources/testharness.js></script>
 <script src=/resources/testharnessreport.js></script>
 <script type="module">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/cssom/getComputedStyle-insets-fixed.html b/third_party/WebKit/LayoutTests/external/wpt/css/cssom/getComputedStyle-insets-fixed.html
index e57e774..ff80d2f 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/css/cssom/getComputedStyle-insets-fixed.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/cssom/getComputedStyle-insets-fixed.html
@@ -3,7 +3,7 @@
 <title>CSSOM: resolved values of the inset properties for fixed positioning</title>
 <link rel="help" href="https://drafts.csswg.org/cssom/#resolved-value">
 <link rel="help" href="https://drafts.csswg.org/css-position/#pos-sch">
-<link rel="author" title="Oriol Brufau" href="mailto:obrufau@crisal.io">
+<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com">
 <script src=/resources/testharness.js></script>
 <script src=/resources/testharnessreport.js></script>
 <script type="module">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/cssom/getComputedStyle-insets-nobox.html b/third_party/WebKit/LayoutTests/external/wpt/css/cssom/getComputedStyle-insets-nobox.html
index ca55ace..236abf17 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/css/cssom/getComputedStyle-insets-nobox.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/cssom/getComputedStyle-insets-nobox.html
@@ -3,7 +3,7 @@
 <title>CSSOM: resolved values of the inset properties when the element generates no box</title>
 <link rel="help" href="https://drafts.csswg.org/cssom/#resolved-value">
 <link rel="help" href="https://drafts.csswg.org/css-position/#pos-sch">
-<link rel="author" title="Oriol Brufau" href="mailto:obrufau@crisal.io">
+<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com">
 <script src=/resources/testharness.js></script>
 <script src=/resources/testharnessreport.js></script>
 <script type="module">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/cssom/getComputedStyle-insets-relative.html b/third_party/WebKit/LayoutTests/external/wpt/css/cssom/getComputedStyle-insets-relative.html
index c48f2eb..1abfc62 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/css/cssom/getComputedStyle-insets-relative.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/cssom/getComputedStyle-insets-relative.html
@@ -3,7 +3,7 @@
 <title>CSSOM: resolved values of the inset properties for relative positioning</title>
 <link rel="help" href="https://drafts.csswg.org/cssom/#resolved-value">
 <link rel="help" href="https://drafts.csswg.org/css-position/#pos-sch">
-<link rel="author" title="Oriol Brufau" href="mailto:obrufau@crisal.io">
+<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com">
 <script src=/resources/testharness.js></script>
 <script src=/resources/testharnessreport.js></script>
 <script type="module">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/cssom/getComputedStyle-insets-static.html b/third_party/WebKit/LayoutTests/external/wpt/css/cssom/getComputedStyle-insets-static.html
index 854a8e3..aa7dbee 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/css/cssom/getComputedStyle-insets-static.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/cssom/getComputedStyle-insets-static.html
@@ -3,7 +3,7 @@
 <title>CSSOM: resolved values of the inset properties for static positioning</title>
 <link rel="help" href="https://drafts.csswg.org/cssom/#resolved-value">
 <link rel="help" href="https://drafts.csswg.org/css-position/#pos-sch">
-<link rel="author" title="Oriol Brufau" href="mailto:obrufau@crisal.io">
+<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com">
 <script src=/resources/testharness.js></script>
 <script src=/resources/testharnessreport.js></script>
 <script type="module">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/cssom/getComputedStyle-insets-sticky.html b/third_party/WebKit/LayoutTests/external/wpt/css/cssom/getComputedStyle-insets-sticky.html
index 10520232..6149acc6 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/css/cssom/getComputedStyle-insets-sticky.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/cssom/getComputedStyle-insets-sticky.html
@@ -3,7 +3,7 @@
 <title>CSSOM: resolved values of the inset properties for sticky positioning</title>
 <link rel="help" href="https://drafts.csswg.org/cssom/#resolved-value">
 <link rel="help" href="https://drafts.csswg.org/css-position/#pos-sch">
-<link rel="author" title="Oriol Brufau" href="mailto:obrufau@crisal.io">
+<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com">
 <script src=/resources/testharness.js></script>
 <script src=/resources/testharnessreport.js></script>
 <script type="module">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/cssom/overflow-serialization-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/css/cssom/overflow-serialization-expected.txt
deleted file mode 100644
index a66d1900d..0000000
--- a/third_party/WebKit/LayoutTests/external/wpt/css/cssom/overflow-serialization-expected.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-This is a testharness.js-based test.
-FAIL CSSOM - Overflow shorthand serialization assert_equals: Overflow-x/y longhands with different keywords should serialize correctly. expected "overflow: hidden scroll;" but got "overflow: scroll hidden;"
-Harness: the test ran to completion.
-
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/cssom/overflow-serialization.html b/third_party/WebKit/LayoutTests/external/wpt/css/cssom/overflow-serialization.html
index 2911c8d..136b8ab 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/css/cssom/overflow-serialization.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/cssom/overflow-serialization.html
@@ -22,7 +22,7 @@
         assert_equals(styleSheet.cssRules[1].style.cssText, "overflow: hidden;", "Single value overflow with non-CSS-wide keyword should serialize correctly.");
         assert_equals(styleSheet.cssRules[2].style.cssText, "overflow: initial;", "Overflow-x/y longhands with same CSS-wide keyword should serialize correctly.");
         assert_equals(styleSheet.cssRules[3].style.cssText, "overflow: scroll;", "Overflow-x/y longhands with same non-CSS-wide keyword should serialize correctly.");
-        assert_equals(styleSheet.cssRules[4].style.cssText, "overflow: hidden scroll;", "Overflow-x/y longhands with different keywords should serialize correctly.");
+        assert_equals(styleSheet.cssRules[4].style.cssText, "overflow: scroll hidden;", "Overflow-x/y longhands with different keywords should serialize correctly.");
 
         var div = document.createElement('div');
         div.style.overflow = "inherit";
@@ -42,7 +42,7 @@
 
         div.style.overflowX = "scroll";
         div.style.overflowY = "hidden";
-        assert_equals(div.style.overflow, "hidden scroll", "Overflow-x/y longhands with different keywords should serialize correctly.");
+        assert_equals(div.style.overflow, "scroll hidden", "Overflow-x/y longhands with different keywords should serialize correctly.");
     });
     </script>
 </head>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/cssom/shorthand-values-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/css/cssom/shorthand-values-expected.txt
index 9f10c8b8..a25fe09 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/css/cssom/shorthand-values-expected.txt
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/cssom/shorthand-values-expected.txt
@@ -10,7 +10,7 @@
 FAIL The serialization of border: 1px; border-top-color: red; should be canonical. assert_equals: expected "border-width: 1px; border-top-color: red;" but got "border-width: 1px; border-style: initial; border-right-color: initial; border-bottom-color: initial; border-left-color: initial; border-image: initial; border-top-color: red;"
 PASS The serialization of border: solid; border-style: dotted should be canonical.
 PASS The serialization of border-width: 1px; should be canonical.
-FAIL The serialization of overflow-x: scroll; overflow-y: hidden; should be canonical. assert_equals: expected "overflow: hidden scroll;" but got "overflow: scroll hidden;"
+PASS The serialization of overflow-x: scroll; overflow-y: hidden; should be canonical.
 PASS The serialization of overflow-x: scroll; overflow-y: scroll; should be canonical.
 PASS The serialization of outline-width: 2px; outline-style: dotted; outline-color: blue; should be canonical.
 PASS The serialization of margin-top: 1px; margin-right: 2px; margin-bottom: 3px; margin-left: 4px; should be canonical.
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/cssom/shorthand-values.html b/third_party/WebKit/LayoutTests/external/wpt/css/cssom/shorthand-values.html
index 1e4d93a..d8d7f53 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/css/cssom/shorthand-values.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/cssom/shorthand-values.html
@@ -32,7 +32,7 @@
         'border: 1px; border-top-color: red;': 'border-width: 1px; border-top-color: red;',
         'border: solid; border-style: dotted': 'border: dotted;',
         'border-width: 1px;': 'border-width: 1px;',
-        'overflow-x: scroll; overflow-y: hidden;': 'overflow: hidden scroll;',
+        'overflow-x: scroll; overflow-y: hidden;': 'overflow: scroll hidden;',
         'overflow-x: scroll; overflow-y: scroll;': 'overflow: scroll;',
         'outline-width: 2px; outline-style: dotted; outline-color: blue;': 'outline: blue dotted 2px;',
         'margin-top: 1px; margin-right: 2px; margin-bottom: 3px; margin-left: 4px;': 'margin: 1px 2px 3px 4px;',
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/cssom/support/getComputedStyle-insets.js b/third_party/WebKit/LayoutTests/external/wpt/css/cssom/support/getComputedStyle-insets.js
index 7bd34fe8..beec32e7 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/css/cssom/support/getComputedStyle-insets.js
+++ b/third_party/WebKit/LayoutTests/external/wpt/css/cssom/support/getComputedStyle-insets.js
@@ -89,9 +89,9 @@
 
   function checkStyle(declarations, expected, msg) {
     test(function() {
-      testEl.style.cssText = style + "; " + serialize({...declarations, ...testWM.style});
+      testEl.style.cssText = style + "; " + serialize(Object.assign({}, declarations, testWM.style));
       if (containingBlockElement) {
-        containingBlockElement.style.cssText = serialize({...cbWM.style});
+        containingBlockElement.style.cssText = serialize(Object.assign({}, cbWM.style));
       }
       const cs = getComputedStyle(testEl);
       for (let [prop, value] of Object.entries(expected)) {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/eventsource/eventsource-prototype.htm b/third_party/WebKit/LayoutTests/external/wpt/eventsource/eventsource-prototype.htm
index 38f63eb5..24bf9954 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/eventsource/eventsource-prototype.htm
+++ b/third_party/WebKit/LayoutTests/external/wpt/eventsource/eventsource-prototype.htm
@@ -12,7 +12,7 @@
         EventSource.prototype.ReturnTrue = function() { return true }
         var source = new EventSource("resources/message.py")
         assert_true(source.ReturnTrue())
-        assert_exists(window, "EventSource")
+        assert_own_property(window, "EventSource")
         source.close()
       })
     </scrIpt>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/fetch/api/basic/header-value-combining.any.js b/third_party/WebKit/LayoutTests/external/wpt/fetch/api/basic/header-value-combining.any.js
new file mode 100644
index 0000000..fd08072
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/fetch/api/basic/header-value-combining.any.js
@@ -0,0 +1,11 @@
+// META: global=window,worker
+
+promise_test(async t => {
+  const response = await fetch("../../../xhr/resources/headers-basic.asis");
+  assert_equals(response.headers.get("foo-test"), "1, 2, 3");
+}, "response.headers.get('foo-test')");
+
+promise_test(async t => {
+  const response = await fetch("../../../xhr/resources/headers-www-authenticate.asis");
+  assert_equals(response.headers.get("www-authenticate"), "1, 2, 3, 4");
+}, "response.headers.get('www-authenticate')");
diff --git a/third_party/WebKit/LayoutTests/external/wpt/fetch/api/basic/header-value-combining.any.serviceworker-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/fetch/api/basic/header-value-combining.any.serviceworker-expected.txt
new file mode 100644
index 0000000..979efea
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/fetch/api/basic/header-value-combining.any.serviceworker-expected.txt
@@ -0,0 +1,5 @@
+This is a testharness.js-based test.
+FAIL response.headers.get('foo-test') promise_test: Unhandled rejection with value: object "TypeError: Failed to fetch"
+FAIL response.headers.get('www-authenticate') promise_test: Unhandled rejection with value: object "TypeError: Failed to fetch"
+Harness: the test ran to completion.
+
diff --git a/third_party/WebKit/LayoutTests/external/wpt/fetch/api/basic/stream-safe-creation.any.js b/third_party/WebKit/LayoutTests/external/wpt/fetch/api/basic/stream-safe-creation.any.js
new file mode 100644
index 0000000..180d338
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/fetch/api/basic/stream-safe-creation.any.js
@@ -0,0 +1,54 @@
+// META: global=worker
+
+// These tests verify that stream creation is not affected by changes to
+// Object.prototype.
+
+const creationCases = {
+  fetch: async () => fetch(location.href),
+  request: () => new Request(location.href, {method: 'POST', body: 'hi'}),
+  response: () => new Response('bye'),
+  consumeEmptyResponse: () => new Response().text(),
+  consumeNonEmptyResponse: () => new Response(new Uint8Array([64])).text(),
+  consumeEmptyRequest: () => new Request(location.href).text(),
+  consumeNonEmptyRequest: () => new Request(location.href,
+                                            {method: 'POST', body: 'yes'}).arrayBuffer(),
+};
+
+for (creationCase of Object.keys(creationCases)) {
+  for (accessorName of ['start', 'type', 'size', 'highWaterMark']) {
+    promise_test(async t => {
+      Object.defineProperty(Object.prototype, accessorName, {
+        get() { throw Error(`Object.prototype.${accessorName} was accessed`); },
+        configurable: true
+      });
+      t.add_cleanup(() => {
+        delete Object.prototype[accessorName];
+        return Promise.resolve();
+      });
+      await creationCases[creationCase]();
+    }, `throwing Object.prototype.${accessorName} accessor should not affect ` +
+       `stream creation by '${creationCase}'`);
+
+    promise_test(async t => {
+      // -1 is a convenient value which is invalid, and should cause the
+      // constructor to throw, for all four fields.
+      Object.prototype[accessorName] = -1;
+      t.add_cleanup(() => {
+        delete Object.prototype[accessorName];
+        return Promise.resolve();
+      });
+      await creationCases[creationCase]();
+    }, `Object.prototype.${accessorName} accessor returning invalid value ` +
+       `should not affect stream creation by '${creationCase}'`);
+  }
+
+  promise_test(async t => {
+    Object.prototype.start = controller => controller.error(new Error('start'));
+      t.add_cleanup(() => {
+        delete Object.prototype.start;
+        return Promise.resolve();
+      });
+      await creationCases[creationCase]();
+    }, `Object.prototype.start function which errors the stream should not ` +
+       `affect stream creation by '${creationCase}'`);
+}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/fetch/corb/script-html-via-cross-origin-blob-url.sub.html b/third_party/WebKit/LayoutTests/external/wpt/fetch/corb/script-html-via-cross-origin-blob-url.sub.html
index 8ce7987f..c8a90c79 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/fetch/corb/script-html-via-cross-origin-blob-url.sub.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/fetch/corb/script-html-via-cross-origin-blob-url.sub.html
@@ -19,7 +19,7 @@
   }
 
   function step2_processSubframeMsg(msg) {
-    assert_not_exists(msg, 'error');
+    assert_false(msg.hasOwnProperty('error'), 'unexpected property found: "error"');
     assert_equals(msg.blob_type, 'text/html');
     assert_equals(msg.blob_size, 147);
 
diff --git a/third_party/WebKit/LayoutTests/external/wpt/fullscreen/api/document-exit-fullscreen-active-document-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/fullscreen/api/document-exit-fullscreen-active-document-expected.txt
deleted file mode 100644
index ba24a2ab..0000000
--- a/third_party/WebKit/LayoutTests/external/wpt/fullscreen/api/document-exit-fullscreen-active-document-expected.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-This is a testharness.js-based test.
-FAIL Document#exitFullscreen() when the document is not the active document assert_true: exitFullscreen() returns promise expected true got false
-Harness: the test ran to completion.
-
diff --git a/third_party/WebKit/LayoutTests/external/wpt/fullscreen/api/document-exit-fullscreen-active-document.html b/third_party/WebKit/LayoutTests/external/wpt/fullscreen/api/document-exit-fullscreen-active-document.html
index 18b0bb649..8279fae5 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/fullscreen/api/document-exit-fullscreen-active-document.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/fullscreen/api/document-exit-fullscreen-active-document.html
@@ -9,11 +9,12 @@
 
 onload = t.step_func(() => {
   var iframe = document.querySelector("iframe");
+  var promiseBeforeNav = iframe.contentWindow.Promise;
   var documentBeforeNav = iframe.contentDocument;
 
   iframe.onload = t.step_func(() => {
     var p = documentBeforeNav.exitFullscreen();
-    assert_true(p instanceof Promise, 'exitFullscreen() returns promise');
+    assert_true(p instanceof promiseBeforeNav, 'exitFullscreen() returns promise');
     // The promise should already be rejected, so its reject callback should be
     // invoked before a second promise's callback.
     p.catch(t.step_func_done());
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/browsers/history/the-history-interface/001.html b/third_party/WebKit/LayoutTests/external/wpt/html/browsers/history/the-history-interface/001.html
index 0e5632b..72735935 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/html/browsers/history/the-history-interface/001.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/html/browsers/history/the-history-interface/001.html
@@ -44,7 +44,7 @@
         test(function () {
             assert_equals( history.length, histlength + 1, 'make sure that you loaded the test in a new tab/window' );
         }, 'history.length should update when setting location.hash');
-        test(function () { assert_true( !!history.pushState, 'critical test; ignore any failures after this' ); }, 'history.pushState must exist'); //assert_exists does not allow prototype inheritance
+        test(function () { assert_true( !!history.pushState, 'critical test; ignore any failures after this' ); }, 'history.pushState must exist'); //assert_own_property does not allow prototype inheritance
         test(function () { assert_true( !!iframe.contentWindow.history.pushState, 'critical test; ignore any failures after this' ); }, 'history.pushState must exist within iframes');
         test(function () {
             assert_equals( iframe.contentWindow.history.state, null );
@@ -250,7 +250,7 @@
             assert_equals( ev.state.numdata, 1, 'state numeric data was not correct' );
             assert_equals( ev.state.strdata, 'string data', 'state string data was not correct' );
             assert_true( !!ev.state.datedata.getTime, 'state date data was not correct' );
-            assert_exists( ev.state, 'regdata', 'state regex data was not correct' );
+            assert_own_property( ev.state, 'regdata', 'state regex data was not correct' );
             assert_equals( ev.state.regdata.source, 'a', 'state regex pattern data was not correct' );
             assert_true( ev.state.regdata.global, 'state regex flag data was not correct' );
             assert_equals( ev.state.regdata.lastIndex, 0, 'state regex lastIndex data was not correct' );
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/browsers/history/the-history-interface/002.html b/third_party/WebKit/LayoutTests/external/wpt/html/browsers/history/the-history-interface/002.html
index eb0c15a..c5bae340 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/html/browsers/history/the-history-interface/002.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/html/browsers/history/the-history-interface/002.html
@@ -43,7 +43,7 @@
         test(function () {
             assert_equals( history.length, histlength + 1, 'make sure that you loaded the test in a new tab/window' );
         }, 'history.length should update when setting location.hash');
-        test(function () { assert_true( !!history.replaceState, 'critical test; ignore any failures after this' ); }, 'history.replaceState must exist'); //assert_exists does not allow prototype inheritance
+        test(function () { assert_true( !!history.replaceState, 'critical test; ignore any failures after this' ); }, 'history.replaceState must exist'); //assert_own_property does not allow prototype inheritance
         test(function () { assert_true( !!iframe.contentWindow.history.replaceState, 'critical test; ignore any failures after this' ); }, 'history.replaceState must exist within iframes');
         test(function () {
             assert_equals( iframe.contentWindow.history.state, null );
@@ -225,7 +225,7 @@
             assert_equals( ev.state.numdata, 1, 'state numeric data was not correct' );
             assert_equals( ev.state.strdata, 'string data', 'state string data was not correct' );
             assert_true( !!ev.state.datedata.getTime, 'state date data was not correct' );
-            assert_exists( ev.state, 'regdata', 'state regex data was not correct' );
+            assert_own_property( ev.state, 'regdata', 'state regex data was not correct' );
             assert_equals( ev.state.regdata.source, 'a', 'state regex pattern data was not correct' );
             assert_true( ev.state.regdata.global, 'state regex flag data was not correct' );
             assert_equals( ev.state.regdata.lastIndex, 0, 'state regex lastIndex data was not correct' );
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/interfaces.https.html b/third_party/WebKit/LayoutTests/external/wpt/html/dom/interfaces.https.html
index 6b7e37bf..15cee69 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/html/dom/interfaces.https.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/html/dom/interfaces.https.html
@@ -37,7 +37,7 @@
 
 idl_test(
   ['html'],
-  ['SVG', 'cssom', 'touchevents', 'uievents', 'dom'],
+  ['SVG', 'cssom', 'touch-events', 'uievents', 'dom'],
   async idlArray => {
     idlArray.add_objects({
       NodeList: ['document.getElementsByName("name")'],
diff --git "a/third_party/WebKit/LayoutTests/external/wpt/html/dom/interfaces.https_exclude=\050Document_Window_HTML._\051-expected.txt" "b/third_party/WebKit/LayoutTests/external/wpt/html/dom/interfaces.https_exclude=\050Document_Window_HTML._\051-expected.txt"
index 38d949359..264a291 100644
--- "a/third_party/WebKit/LayoutTests/external/wpt/html/dom/interfaces.https_exclude=\050Document_Window_HTML._\051-expected.txt"
+++ "b/third_party/WebKit/LayoutTests/external/wpt/html/dom/interfaces.https_exclude=\050Document_Window_HTML._\051-expected.txt"
@@ -1,33 +1,6 @@
 This is a testharness.js-based test.
-FAIL idl_test setup promise_test: Unhandled rejection with value: object "Got an error before parsing any named definition: Unrecognised tokens, line 1 (tokens: "{\"error\": {\"message\"")
-[
-    {
-        "type": "{",
-        "value": "{",
-        "trivia": ""
-    },
-    {
-        "type": "string",
-        "value": "\"error\"",
-        "trivia": ""
-    },
-    {
-        "type": ":",
-        "value": ":",
-        "trivia": ""
-    },
-    {
-        "type": "{",
-        "value": "{",
-        "trivia": " "
-    },
-    {
-        "type": "string",
-        "value": "\"message\"",
-        "trivia": ""
-    }
-]"
-FAIL Partial interface Document: original interface defined assert_true: Original interface should be defined expected true got false
+PASS idl_test setup
+PASS Partial interface Document: original interface defined
 PASS Partial interface NavigatorID: original interface defined
 PASS Partial interface HTMLAnchorElement: original interface defined
 PASS Partial interface HTMLAreaElement: original interface defined
@@ -61,7 +34,1155 @@
 PASS Partial interface HTMLTableCellElement: original interface defined
 PASS Partial interface HTMLTableRowElement: original interface defined
 PASS Partial interface HTMLUListElement: original interface defined
-FAIL Partial interface Document[2]: original interface defined assert_true: Original interface should be defined expected true got false
+PASS Partial interface Document[2]: original interface defined
 PASS Partial interface Window: original interface defined
+PASS RadioNodeList interface: existence and properties of interface object
+PASS RadioNodeList interface object length
+PASS RadioNodeList interface object name
+PASS RadioNodeList interface: existence and properties of interface prototype object
+PASS RadioNodeList interface: existence and properties of interface prototype object's "constructor" property
+PASS RadioNodeList interface: existence and properties of interface prototype object's @@unscopables property
+PASS RadioNodeList interface: attribute value
+PASS DOMStringList interface: existence and properties of interface object
+PASS DOMStringList interface object length
+PASS DOMStringList interface object name
+PASS DOMStringList interface: existence and properties of interface prototype object
+PASS DOMStringList interface: existence and properties of interface prototype object's "constructor" property
+PASS DOMStringList interface: existence and properties of interface prototype object's @@unscopables property
+PASS DOMStringList interface: attribute length
+PASS DOMStringList interface: operation item(unsigned long)
+PASS DOMStringList interface: operation contains(DOMString)
+PASS DOMStringMap interface: existence and properties of interface object
+PASS DOMStringMap interface object length
+PASS DOMStringMap interface object name
+PASS DOMStringMap interface: existence and properties of interface prototype object
+PASS DOMStringMap interface: existence and properties of interface prototype object's "constructor" property
+PASS DOMStringMap interface: existence and properties of interface prototype object's @@unscopables property
+PASS DOMStringMap must be primary interface of document.head.dataset
+PASS Stringification of document.head.dataset
+PASS MediaError interface: existence and properties of interface object
+PASS MediaError interface object length
+PASS MediaError interface object name
+PASS MediaError interface: existence and properties of interface prototype object
+PASS MediaError interface: existence and properties of interface prototype object's "constructor" property
+PASS MediaError interface: existence and properties of interface prototype object's @@unscopables property
+PASS MediaError interface: constant MEDIA_ERR_ABORTED on interface object
+PASS MediaError interface: constant MEDIA_ERR_ABORTED on interface prototype object
+PASS MediaError interface: constant MEDIA_ERR_NETWORK on interface object
+PASS MediaError interface: constant MEDIA_ERR_NETWORK on interface prototype object
+PASS MediaError interface: constant MEDIA_ERR_DECODE on interface object
+PASS MediaError interface: constant MEDIA_ERR_DECODE on interface prototype object
+PASS MediaError interface: constant MEDIA_ERR_SRC_NOT_SUPPORTED on interface object
+PASS MediaError interface: constant MEDIA_ERR_SRC_NOT_SUPPORTED on interface prototype object
+PASS MediaError interface: attribute code
+PASS MediaError interface: attribute message
+PASS MediaError must be primary interface of errorVideo.error
+PASS Stringification of errorVideo.error
+PASS MediaError interface: errorVideo.error must inherit property "MEDIA_ERR_ABORTED" with the proper type
+PASS MediaError interface: errorVideo.error must inherit property "MEDIA_ERR_NETWORK" with the proper type
+PASS MediaError interface: errorVideo.error must inherit property "MEDIA_ERR_DECODE" with the proper type
+PASS MediaError interface: errorVideo.error must inherit property "MEDIA_ERR_SRC_NOT_SUPPORTED" with the proper type
+PASS MediaError interface: errorVideo.error must inherit property "code" with the proper type
+PASS MediaError interface: errorVideo.error must inherit property "message" with the proper type
+PASS AudioTrackList interface: existence and properties of interface object
+PASS AudioTrackList interface object length
+PASS AudioTrackList interface object name
+PASS AudioTrackList interface: existence and properties of interface prototype object
+PASS AudioTrackList interface: existence and properties of interface prototype object's "constructor" property
+PASS AudioTrackList interface: existence and properties of interface prototype object's @@unscopables property
+PASS AudioTrackList interface: attribute length
+PASS AudioTrackList interface: operation getTrackById(DOMString)
+PASS AudioTrackList interface: attribute onchange
+PASS AudioTrackList interface: attribute onaddtrack
+PASS AudioTrackList interface: attribute onremovetrack
+PASS AudioTrack interface: existence and properties of interface object
+PASS AudioTrack interface object length
+PASS AudioTrack interface object name
+PASS AudioTrack interface: existence and properties of interface prototype object
+PASS AudioTrack interface: existence and properties of interface prototype object's "constructor" property
+PASS AudioTrack interface: existence and properties of interface prototype object's @@unscopables property
+PASS AudioTrack interface: attribute id
+PASS AudioTrack interface: attribute kind
+PASS AudioTrack interface: attribute label
+PASS AudioTrack interface: attribute language
+PASS AudioTrack interface: attribute enabled
+PASS VideoTrackList interface: existence and properties of interface object
+PASS VideoTrackList interface object length
+PASS VideoTrackList interface object name
+PASS VideoTrackList interface: existence and properties of interface prototype object
+PASS VideoTrackList interface: existence and properties of interface prototype object's "constructor" property
+PASS VideoTrackList interface: existence and properties of interface prototype object's @@unscopables property
+PASS VideoTrackList interface: attribute length
+PASS VideoTrackList interface: operation getTrackById(DOMString)
+PASS VideoTrackList interface: attribute selectedIndex
+PASS VideoTrackList interface: attribute onchange
+PASS VideoTrackList interface: attribute onaddtrack
+PASS VideoTrackList interface: attribute onremovetrack
+PASS VideoTrack interface: existence and properties of interface object
+PASS VideoTrack interface object length
+PASS VideoTrack interface object name
+PASS VideoTrack interface: existence and properties of interface prototype object
+PASS VideoTrack interface: existence and properties of interface prototype object's "constructor" property
+PASS VideoTrack interface: existence and properties of interface prototype object's @@unscopables property
+PASS VideoTrack interface: attribute id
+PASS VideoTrack interface: attribute kind
+PASS VideoTrack interface: attribute label
+PASS VideoTrack interface: attribute language
+PASS VideoTrack interface: attribute selected
+PASS TextTrackList interface: existence and properties of interface object
+PASS TextTrackList interface object length
+PASS TextTrackList interface object name
+PASS TextTrackList interface: existence and properties of interface prototype object
+PASS TextTrackList interface: existence and properties of interface prototype object's "constructor" property
+PASS TextTrackList interface: existence and properties of interface prototype object's @@unscopables property
+PASS TextTrackList interface: attribute length
+PASS TextTrackList interface: operation getTrackById(DOMString)
+PASS TextTrackList interface: attribute onchange
+PASS TextTrackList interface: attribute onaddtrack
+PASS TextTrackList interface: attribute onremovetrack
+PASS TextTrackList must be primary interface of document.createElement("video").textTracks
+PASS Stringification of document.createElement("video").textTracks
+PASS TextTrackList interface: document.createElement("video").textTracks must inherit property "length" with the proper type
+PASS TextTrackList interface: document.createElement("video").textTracks must inherit property "getTrackById(DOMString)" with the proper type
+PASS TextTrackList interface: calling getTrackById(DOMString) on document.createElement("video").textTracks with too few arguments must throw TypeError
+PASS TextTrackList interface: document.createElement("video").textTracks must inherit property "onchange" with the proper type
+PASS TextTrackList interface: document.createElement("video").textTracks must inherit property "onaddtrack" with the proper type
+PASS TextTrackList interface: document.createElement("video").textTracks must inherit property "onremovetrack" with the proper type
+PASS TextTrack interface: existence and properties of interface object
+PASS TextTrack interface object length
+PASS TextTrack interface object name
+PASS TextTrack interface: existence and properties of interface prototype object
+PASS TextTrack interface: existence and properties of interface prototype object's "constructor" property
+PASS TextTrack interface: existence and properties of interface prototype object's @@unscopables property
+PASS TextTrack interface: attribute kind
+PASS TextTrack interface: attribute label
+PASS TextTrack interface: attribute language
+PASS TextTrack interface: attribute id
+FAIL TextTrack interface: attribute inBandMetadataTrackDispatchType assert_true: The prototype object must have a property "inBandMetadataTrackDispatchType" expected true got false
+PASS TextTrack interface: attribute mode
+PASS TextTrack interface: attribute cues
+PASS TextTrack interface: attribute activeCues
+PASS TextTrack interface: operation addCue(TextTrackCue)
+PASS TextTrack interface: operation removeCue(TextTrackCue)
+PASS TextTrack interface: attribute oncuechange
+PASS TextTrack must be primary interface of document.createElement("track").track
+PASS Stringification of document.createElement("track").track
+PASS TextTrack interface: document.createElement("track").track must inherit property "kind" with the proper type
+PASS TextTrack interface: document.createElement("track").track must inherit property "label" with the proper type
+PASS TextTrack interface: document.createElement("track").track must inherit property "language" with the proper type
+PASS TextTrack interface: document.createElement("track").track must inherit property "id" with the proper type
+FAIL TextTrack interface: document.createElement("track").track must inherit property "inBandMetadataTrackDispatchType" with the proper type assert_inherits: property "inBandMetadataTrackDispatchType" not found in prototype chain
+PASS TextTrack interface: document.createElement("track").track must inherit property "mode" with the proper type
+PASS TextTrack interface: document.createElement("track").track must inherit property "cues" with the proper type
+PASS TextTrack interface: document.createElement("track").track must inherit property "activeCues" with the proper type
+PASS TextTrack interface: document.createElement("track").track must inherit property "addCue(TextTrackCue)" with the proper type
+PASS TextTrack interface: calling addCue(TextTrackCue) on document.createElement("track").track with too few arguments must throw TypeError
+PASS TextTrack interface: document.createElement("track").track must inherit property "removeCue(TextTrackCue)" with the proper type
+PASS TextTrack interface: calling removeCue(TextTrackCue) on document.createElement("track").track with too few arguments must throw TypeError
+PASS TextTrack interface: document.createElement("track").track must inherit property "oncuechange" with the proper type
+PASS TextTrackCueList interface: existence and properties of interface object
+PASS TextTrackCueList interface object length
+PASS TextTrackCueList interface object name
+PASS TextTrackCueList interface: existence and properties of interface prototype object
+PASS TextTrackCueList interface: existence and properties of interface prototype object's "constructor" property
+PASS TextTrackCueList interface: existence and properties of interface prototype object's @@unscopables property
+PASS TextTrackCueList interface: attribute length
+PASS TextTrackCueList interface: operation getCueById(DOMString)
+PASS TextTrackCueList must be primary interface of document.createElement("video").addTextTrack("subtitles").cues
+PASS Stringification of document.createElement("video").addTextTrack("subtitles").cues
+PASS TextTrackCueList interface: document.createElement("video").addTextTrack("subtitles").cues must inherit property "length" with the proper type
+PASS TextTrackCueList interface: document.createElement("video").addTextTrack("subtitles").cues must inherit property "getCueById(DOMString)" with the proper type
+PASS TextTrackCueList interface: calling getCueById(DOMString) on document.createElement("video").addTextTrack("subtitles").cues with too few arguments must throw TypeError
+PASS TextTrackCue interface: existence and properties of interface object
+PASS TextTrackCue interface object length
+PASS TextTrackCue interface object name
+PASS TextTrackCue interface: existence and properties of interface prototype object
+PASS TextTrackCue interface: existence and properties of interface prototype object's "constructor" property
+PASS TextTrackCue interface: existence and properties of interface prototype object's @@unscopables property
+PASS TextTrackCue interface: attribute track
+PASS TextTrackCue interface: attribute id
+PASS TextTrackCue interface: attribute startTime
+PASS TextTrackCue interface: attribute endTime
+PASS TextTrackCue interface: attribute pauseOnExit
+PASS TextTrackCue interface: attribute onenter
+PASS TextTrackCue interface: attribute onexit
+PASS TimeRanges interface: existence and properties of interface object
+PASS TimeRanges interface object length
+PASS TimeRanges interface object name
+PASS TimeRanges interface: existence and properties of interface prototype object
+PASS TimeRanges interface: existence and properties of interface prototype object's "constructor" property
+PASS TimeRanges interface: existence and properties of interface prototype object's @@unscopables property
+PASS TimeRanges interface: attribute length
+PASS TimeRanges interface: operation start(unsigned long)
+PASS TimeRanges interface: operation end(unsigned long)
+PASS TimeRanges must be primary interface of document.createElement("video").buffered
+PASS Stringification of document.createElement("video").buffered
+PASS TimeRanges interface: document.createElement("video").buffered must inherit property "length" with the proper type
+PASS TimeRanges interface: document.createElement("video").buffered must inherit property "start(unsigned long)" with the proper type
+PASS TimeRanges interface: calling start(unsigned long) on document.createElement("video").buffered with too few arguments must throw TypeError
+PASS TimeRanges interface: document.createElement("video").buffered must inherit property "end(unsigned long)" with the proper type
+PASS TimeRanges interface: calling end(unsigned long) on document.createElement("video").buffered with too few arguments must throw TypeError
+PASS TrackEvent interface: existence and properties of interface object
+PASS TrackEvent interface object length
+PASS TrackEvent interface object name
+PASS TrackEvent interface: existence and properties of interface prototype object
+PASS TrackEvent interface: existence and properties of interface prototype object's "constructor" property
+PASS TrackEvent interface: existence and properties of interface prototype object's @@unscopables property
+PASS TrackEvent interface: attribute track
+PASS TrackEvent must be primary interface of new TrackEvent("addtrack", {track:document.createElement("track").track})
+PASS Stringification of new TrackEvent("addtrack", {track:document.createElement("track").track})
+PASS TrackEvent interface: new TrackEvent("addtrack", {track:document.createElement("track").track}) must inherit property "track" with the proper type
+PASS ValidityState interface: existence and properties of interface object
+PASS ValidityState interface object length
+PASS ValidityState interface object name
+PASS ValidityState interface: existence and properties of interface prototype object
+PASS ValidityState interface: existence and properties of interface prototype object's "constructor" property
+PASS ValidityState interface: existence and properties of interface prototype object's @@unscopables property
+PASS ValidityState interface: attribute valueMissing
+PASS ValidityState interface: attribute typeMismatch
+PASS ValidityState interface: attribute patternMismatch
+PASS ValidityState interface: attribute tooLong
+PASS ValidityState interface: attribute tooShort
+PASS ValidityState interface: attribute rangeUnderflow
+PASS ValidityState interface: attribute rangeOverflow
+PASS ValidityState interface: attribute stepMismatch
+PASS ValidityState interface: attribute badInput
+PASS ValidityState interface: attribute customError
+PASS ValidityState interface: attribute valid
+PASS ValidityState must be primary interface of document.createElement("input").validity
+PASS Stringification of document.createElement("input").validity
+PASS ValidityState interface: document.createElement("input").validity must inherit property "valueMissing" with the proper type
+PASS ValidityState interface: document.createElement("input").validity must inherit property "typeMismatch" with the proper type
+PASS ValidityState interface: document.createElement("input").validity must inherit property "patternMismatch" with the proper type
+PASS ValidityState interface: document.createElement("input").validity must inherit property "tooLong" with the proper type
+PASS ValidityState interface: document.createElement("input").validity must inherit property "tooShort" with the proper type
+PASS ValidityState interface: document.createElement("input").validity must inherit property "rangeUnderflow" with the proper type
+PASS ValidityState interface: document.createElement("input").validity must inherit property "rangeOverflow" with the proper type
+PASS ValidityState interface: document.createElement("input").validity must inherit property "stepMismatch" with the proper type
+PASS ValidityState interface: document.createElement("input").validity must inherit property "badInput" with the proper type
+PASS ValidityState interface: document.createElement("input").validity must inherit property "customError" with the proper type
+PASS ValidityState interface: document.createElement("input").validity must inherit property "valid" with the proper type
+PASS CanvasRenderingContext2D interface: existence and properties of interface object
+PASS CanvasRenderingContext2D interface object length
+PASS CanvasRenderingContext2D interface object name
+PASS CanvasRenderingContext2D interface: existence and properties of interface prototype object
+PASS CanvasRenderingContext2D interface: existence and properties of interface prototype object's "constructor" property
+PASS CanvasRenderingContext2D interface: existence and properties of interface prototype object's @@unscopables property
+PASS CanvasRenderingContext2D interface: attribute canvas
+PASS CanvasRenderingContext2D interface: operation save()
+PASS CanvasRenderingContext2D interface: operation restore()
+PASS CanvasRenderingContext2D interface: operation scale(unrestricted double, unrestricted double)
+PASS CanvasRenderingContext2D interface: operation rotate(unrestricted double)
+PASS CanvasRenderingContext2D interface: operation translate(unrestricted double, unrestricted double)
+PASS CanvasRenderingContext2D interface: operation transform(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double)
+PASS CanvasRenderingContext2D interface: operation getTransform()
+PASS CanvasRenderingContext2D interface: operation setTransform(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double)
+PASS CanvasRenderingContext2D interface: operation setTransform(DOMMatrix2DInit)
+PASS CanvasRenderingContext2D interface: operation resetTransform()
+PASS CanvasRenderingContext2D interface: attribute globalAlpha
+PASS CanvasRenderingContext2D interface: attribute globalCompositeOperation
+PASS CanvasRenderingContext2D interface: attribute imageSmoothingEnabled
+PASS CanvasRenderingContext2D interface: attribute imageSmoothingQuality
+PASS CanvasRenderingContext2D interface: attribute strokeStyle
+PASS CanvasRenderingContext2D interface: attribute fillStyle
+PASS CanvasRenderingContext2D interface: operation createLinearGradient(double, double, double, double)
+PASS CanvasRenderingContext2D interface: operation createRadialGradient(double, double, double, double, double, double)
+PASS CanvasRenderingContext2D interface: operation createPattern(CanvasImageSource, DOMString)
+PASS CanvasRenderingContext2D interface: attribute shadowOffsetX
+PASS CanvasRenderingContext2D interface: attribute shadowOffsetY
+PASS CanvasRenderingContext2D interface: attribute shadowBlur
+PASS CanvasRenderingContext2D interface: attribute shadowColor
+PASS CanvasRenderingContext2D interface: attribute filter
+PASS CanvasRenderingContext2D interface: operation clearRect(unrestricted double, unrestricted double, unrestricted double, unrestricted double)
+PASS CanvasRenderingContext2D interface: operation fillRect(unrestricted double, unrestricted double, unrestricted double, unrestricted double)
+PASS CanvasRenderingContext2D interface: operation strokeRect(unrestricted double, unrestricted double, unrestricted double, unrestricted double)
+PASS CanvasRenderingContext2D interface: operation beginPath()
+PASS CanvasRenderingContext2D interface: operation fill(CanvasFillRule)
+PASS CanvasRenderingContext2D interface: operation fill(Path2D, CanvasFillRule)
+PASS CanvasRenderingContext2D interface: operation stroke()
+PASS CanvasRenderingContext2D interface: operation stroke(Path2D)
+PASS CanvasRenderingContext2D interface: operation clip(CanvasFillRule)
+PASS CanvasRenderingContext2D interface: operation clip(Path2D, CanvasFillRule)
+FAIL CanvasRenderingContext2D interface: operation resetClip() assert_own_property: interface prototype object missing non-static operation expected property "resetClip" missing
+PASS CanvasRenderingContext2D interface: operation isPointInPath(unrestricted double, unrestricted double, CanvasFillRule)
+PASS CanvasRenderingContext2D interface: operation isPointInPath(Path2D, unrestricted double, unrestricted double, CanvasFillRule)
+PASS CanvasRenderingContext2D interface: operation isPointInStroke(unrestricted double, unrestricted double)
+PASS CanvasRenderingContext2D interface: operation isPointInStroke(Path2D, unrestricted double, unrestricted double)
+PASS CanvasRenderingContext2D interface: operation drawFocusIfNeeded(Element)
+PASS CanvasRenderingContext2D interface: operation drawFocusIfNeeded(Path2D, Element)
+PASS CanvasRenderingContext2D interface: operation scrollPathIntoView()
+PASS CanvasRenderingContext2D interface: operation scrollPathIntoView(Path2D)
+PASS CanvasRenderingContext2D interface: operation fillText(DOMString, unrestricted double, unrestricted double, unrestricted double)
+PASS CanvasRenderingContext2D interface: operation strokeText(DOMString, unrestricted double, unrestricted double, unrestricted double)
+PASS CanvasRenderingContext2D interface: operation measureText(DOMString)
+PASS CanvasRenderingContext2D interface: operation drawImage(CanvasImageSource, unrestricted double, unrestricted double)
+PASS CanvasRenderingContext2D interface: operation drawImage(CanvasImageSource, unrestricted double, unrestricted double, unrestricted double, unrestricted double)
+PASS CanvasRenderingContext2D interface: operation drawImage(CanvasImageSource, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double)
+PASS CanvasRenderingContext2D interface: operation createImageData(long, long)
+PASS CanvasRenderingContext2D interface: operation createImageData(ImageData)
+PASS CanvasRenderingContext2D interface: operation getImageData(long, long, long, long)
+PASS CanvasRenderingContext2D interface: operation putImageData(ImageData, long, long)
+PASS CanvasRenderingContext2D interface: operation putImageData(ImageData, long, long, long, long, long, long)
+PASS CanvasRenderingContext2D interface: attribute lineWidth
+PASS CanvasRenderingContext2D interface: attribute lineCap
+PASS CanvasRenderingContext2D interface: attribute lineJoin
+PASS CanvasRenderingContext2D interface: attribute miterLimit
+PASS CanvasRenderingContext2D interface: operation setLineDash([object Object])
+PASS CanvasRenderingContext2D interface: operation getLineDash()
+PASS CanvasRenderingContext2D interface: attribute lineDashOffset
+PASS CanvasRenderingContext2D interface: attribute font
+PASS CanvasRenderingContext2D interface: attribute textAlign
+PASS CanvasRenderingContext2D interface: attribute textBaseline
+PASS CanvasRenderingContext2D interface: attribute direction
+PASS CanvasRenderingContext2D interface: operation closePath()
+PASS CanvasRenderingContext2D interface: operation moveTo(unrestricted double, unrestricted double)
+PASS CanvasRenderingContext2D interface: operation lineTo(unrestricted double, unrestricted double)
+PASS CanvasRenderingContext2D interface: operation quadraticCurveTo(unrestricted double, unrestricted double, unrestricted double, unrestricted double)
+PASS CanvasRenderingContext2D interface: operation bezierCurveTo(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double)
+PASS CanvasRenderingContext2D interface: operation arcTo(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double)
+PASS CanvasRenderingContext2D interface: operation rect(unrestricted double, unrestricted double, unrestricted double, unrestricted double)
+PASS CanvasRenderingContext2D interface: operation arc(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, boolean)
+PASS CanvasRenderingContext2D interface: operation ellipse(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, boolean)
+PASS CanvasRenderingContext2D must be primary interface of document.createElement("canvas").getContext("2d")
+PASS Stringification of document.createElement("canvas").getContext("2d")
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "canvas" with the proper type
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "save()" with the proper type
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "restore()" with the proper type
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "scale(unrestricted double, unrestricted double)" with the proper type
+PASS CanvasRenderingContext2D interface: calling scale(unrestricted double, unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "rotate(unrestricted double)" with the proper type
+PASS CanvasRenderingContext2D interface: calling rotate(unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "translate(unrestricted double, unrestricted double)" with the proper type
+PASS CanvasRenderingContext2D interface: calling translate(unrestricted double, unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "transform(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double)" with the proper type
+PASS CanvasRenderingContext2D interface: calling transform(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "getTransform()" with the proper type
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "setTransform(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double)" with the proper type
+PASS CanvasRenderingContext2D interface: calling setTransform(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "setTransform(DOMMatrix2DInit)" with the proper type
+PASS CanvasRenderingContext2D interface: calling setTransform(DOMMatrix2DInit) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "resetTransform()" with the proper type
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "globalAlpha" with the proper type
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "globalCompositeOperation" with the proper type
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "imageSmoothingEnabled" with the proper type
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "imageSmoothingQuality" with the proper type
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "strokeStyle" with the proper type
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "fillStyle" with the proper type
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "createLinearGradient(double, double, double, double)" with the proper type
+PASS CanvasRenderingContext2D interface: calling createLinearGradient(double, double, double, double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "createRadialGradient(double, double, double, double, double, double)" with the proper type
+PASS CanvasRenderingContext2D interface: calling createRadialGradient(double, double, double, double, double, double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "createPattern(CanvasImageSource, DOMString)" with the proper type
+PASS CanvasRenderingContext2D interface: calling createPattern(CanvasImageSource, DOMString) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "shadowOffsetX" with the proper type
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "shadowOffsetY" with the proper type
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "shadowBlur" with the proper type
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "shadowColor" with the proper type
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "filter" with the proper type
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "clearRect(unrestricted double, unrestricted double, unrestricted double, unrestricted double)" with the proper type
+PASS CanvasRenderingContext2D interface: calling clearRect(unrestricted double, unrestricted double, unrestricted double, unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "fillRect(unrestricted double, unrestricted double, unrestricted double, unrestricted double)" with the proper type
+PASS CanvasRenderingContext2D interface: calling fillRect(unrestricted double, unrestricted double, unrestricted double, unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "strokeRect(unrestricted double, unrestricted double, unrestricted double, unrestricted double)" with the proper type
+PASS CanvasRenderingContext2D interface: calling strokeRect(unrestricted double, unrestricted double, unrestricted double, unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "beginPath()" with the proper type
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "fill(CanvasFillRule)" with the proper type
+PASS CanvasRenderingContext2D interface: calling fill(CanvasFillRule) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "fill(Path2D, CanvasFillRule)" with the proper type
+PASS CanvasRenderingContext2D interface: calling fill(Path2D, CanvasFillRule) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "stroke()" with the proper type
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "stroke(Path2D)" with the proper type
+PASS CanvasRenderingContext2D interface: calling stroke(Path2D) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "clip(CanvasFillRule)" with the proper type
+PASS CanvasRenderingContext2D interface: calling clip(CanvasFillRule) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "clip(Path2D, CanvasFillRule)" with the proper type
+PASS CanvasRenderingContext2D interface: calling clip(Path2D, CanvasFillRule) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+FAIL CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "resetClip()" with the proper type assert_inherits: property "resetClip" not found in prototype chain
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "isPointInPath(unrestricted double, unrestricted double, CanvasFillRule)" with the proper type
+PASS CanvasRenderingContext2D interface: calling isPointInPath(unrestricted double, unrestricted double, CanvasFillRule) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "isPointInPath(Path2D, unrestricted double, unrestricted double, CanvasFillRule)" with the proper type
+PASS CanvasRenderingContext2D interface: calling isPointInPath(Path2D, unrestricted double, unrestricted double, CanvasFillRule) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "isPointInStroke(unrestricted double, unrestricted double)" with the proper type
+PASS CanvasRenderingContext2D interface: calling isPointInStroke(unrestricted double, unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "isPointInStroke(Path2D, unrestricted double, unrestricted double)" with the proper type
+PASS CanvasRenderingContext2D interface: calling isPointInStroke(Path2D, unrestricted double, unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "drawFocusIfNeeded(Element)" with the proper type
+PASS CanvasRenderingContext2D interface: calling drawFocusIfNeeded(Element) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "drawFocusIfNeeded(Path2D, Element)" with the proper type
+PASS CanvasRenderingContext2D interface: calling drawFocusIfNeeded(Path2D, Element) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "scrollPathIntoView()" with the proper type
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "scrollPathIntoView(Path2D)" with the proper type
+PASS CanvasRenderingContext2D interface: calling scrollPathIntoView(Path2D) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "fillText(DOMString, unrestricted double, unrestricted double, unrestricted double)" with the proper type
+PASS CanvasRenderingContext2D interface: calling fillText(DOMString, unrestricted double, unrestricted double, unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "strokeText(DOMString, unrestricted double, unrestricted double, unrestricted double)" with the proper type
+PASS CanvasRenderingContext2D interface: calling strokeText(DOMString, unrestricted double, unrestricted double, unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "measureText(DOMString)" with the proper type
+PASS CanvasRenderingContext2D interface: calling measureText(DOMString) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "drawImage(CanvasImageSource, unrestricted double, unrestricted double)" with the proper type
+PASS CanvasRenderingContext2D interface: calling drawImage(CanvasImageSource, unrestricted double, unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "drawImage(CanvasImageSource, unrestricted double, unrestricted double, unrestricted double, unrestricted double)" with the proper type
+PASS CanvasRenderingContext2D interface: calling drawImage(CanvasImageSource, unrestricted double, unrestricted double, unrestricted double, unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "drawImage(CanvasImageSource, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double)" with the proper type
+PASS CanvasRenderingContext2D interface: calling drawImage(CanvasImageSource, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "createImageData(long, long)" with the proper type
+PASS CanvasRenderingContext2D interface: calling createImageData(long, long) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "createImageData(ImageData)" with the proper type
+PASS CanvasRenderingContext2D interface: calling createImageData(ImageData) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "getImageData(long, long, long, long)" with the proper type
+PASS CanvasRenderingContext2D interface: calling getImageData(long, long, long, long) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "putImageData(ImageData, long, long)" with the proper type
+PASS CanvasRenderingContext2D interface: calling putImageData(ImageData, long, long) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "putImageData(ImageData, long, long, long, long, long, long)" with the proper type
+PASS CanvasRenderingContext2D interface: calling putImageData(ImageData, long, long, long, long, long, long) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "lineWidth" with the proper type
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "lineCap" with the proper type
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "lineJoin" with the proper type
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "miterLimit" with the proper type
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "setLineDash([object Object])" with the proper type
+PASS CanvasRenderingContext2D interface: calling setLineDash([object Object]) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "getLineDash()" with the proper type
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "lineDashOffset" with the proper type
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "font" with the proper type
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "textAlign" with the proper type
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "textBaseline" with the proper type
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "direction" with the proper type
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "closePath()" with the proper type
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "moveTo(unrestricted double, unrestricted double)" with the proper type
+PASS CanvasRenderingContext2D interface: calling moveTo(unrestricted double, unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "lineTo(unrestricted double, unrestricted double)" with the proper type
+PASS CanvasRenderingContext2D interface: calling lineTo(unrestricted double, unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "quadraticCurveTo(unrestricted double, unrestricted double, unrestricted double, unrestricted double)" with the proper type
+PASS CanvasRenderingContext2D interface: calling quadraticCurveTo(unrestricted double, unrestricted double, unrestricted double, unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "bezierCurveTo(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double)" with the proper type
+PASS CanvasRenderingContext2D interface: calling bezierCurveTo(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "arcTo(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double)" with the proper type
+PASS CanvasRenderingContext2D interface: calling arcTo(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "rect(unrestricted double, unrestricted double, unrestricted double, unrestricted double)" with the proper type
+PASS CanvasRenderingContext2D interface: calling rect(unrestricted double, unrestricted double, unrestricted double, unrestricted double) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "arc(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, boolean)" with the proper type
+PASS CanvasRenderingContext2D interface: calling arc(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, boolean) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "ellipse(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, boolean)" with the proper type
+PASS CanvasRenderingContext2D interface: calling ellipse(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, boolean) on document.createElement("canvas").getContext("2d") with too few arguments must throw TypeError
+PASS CanvasGradient interface: existence and properties of interface object
+PASS CanvasGradient interface object length
+PASS CanvasGradient interface object name
+PASS CanvasGradient interface: existence and properties of interface prototype object
+PASS CanvasGradient interface: existence and properties of interface prototype object's "constructor" property
+PASS CanvasGradient interface: existence and properties of interface prototype object's @@unscopables property
+PASS CanvasGradient interface: operation addColorStop(double, DOMString)
+PASS CanvasPattern interface: existence and properties of interface object
+PASS CanvasPattern interface object length
+PASS CanvasPattern interface object name
+PASS CanvasPattern interface: existence and properties of interface prototype object
+PASS CanvasPattern interface: existence and properties of interface prototype object's "constructor" property
+PASS CanvasPattern interface: existence and properties of interface prototype object's @@unscopables property
+PASS CanvasPattern interface: operation setTransform(DOMMatrix2DInit)
+PASS TextMetrics interface: existence and properties of interface object
+PASS TextMetrics interface object length
+PASS TextMetrics interface object name
+PASS TextMetrics interface: existence and properties of interface prototype object
+PASS TextMetrics interface: existence and properties of interface prototype object's "constructor" property
+PASS TextMetrics interface: existence and properties of interface prototype object's @@unscopables property
+PASS TextMetrics interface: attribute width
+PASS TextMetrics interface: attribute actualBoundingBoxLeft
+PASS TextMetrics interface: attribute actualBoundingBoxRight
+PASS TextMetrics interface: attribute fontBoundingBoxAscent
+PASS TextMetrics interface: attribute fontBoundingBoxDescent
+PASS TextMetrics interface: attribute actualBoundingBoxAscent
+PASS TextMetrics interface: attribute actualBoundingBoxDescent
+PASS TextMetrics interface: attribute emHeightAscent
+PASS TextMetrics interface: attribute emHeightDescent
+PASS TextMetrics interface: operation getBaselines()
+PASS ImageData interface: existence and properties of interface object
+PASS ImageData interface object length
+PASS ImageData interface object name
+PASS ImageData interface: existence and properties of interface prototype object
+PASS ImageData interface: existence and properties of interface prototype object's "constructor" property
+PASS ImageData interface: existence and properties of interface prototype object's @@unscopables property
+PASS ImageData interface: attribute width
+PASS ImageData interface: attribute height
+PASS ImageData interface: attribute data
+PASS Path2D interface: existence and properties of interface object
+PASS Path2D interface object length
+PASS Path2D interface object name
+PASS Path2D interface: existence and properties of interface prototype object
+PASS Path2D interface: existence and properties of interface prototype object's "constructor" property
+PASS Path2D interface: existence and properties of interface prototype object's @@unscopables property
+PASS Path2D interface: operation addPath(Path2D, DOMMatrix2DInit)
+PASS Path2D interface: operation closePath()
+PASS Path2D interface: operation moveTo(unrestricted double, unrestricted double)
+PASS Path2D interface: operation lineTo(unrestricted double, unrestricted double)
+PASS Path2D interface: operation quadraticCurveTo(unrestricted double, unrestricted double, unrestricted double, unrestricted double)
+PASS Path2D interface: operation bezierCurveTo(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double)
+PASS Path2D interface: operation arcTo(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double)
+PASS Path2D interface: operation rect(unrestricted double, unrestricted double, unrestricted double, unrestricted double)
+PASS Path2D interface: operation arc(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, boolean)
+PASS Path2D interface: operation ellipse(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, boolean)
+PASS ImageBitmapRenderingContext interface: existence and properties of interface object
+PASS ImageBitmapRenderingContext interface object length
+PASS ImageBitmapRenderingContext interface object name
+PASS ImageBitmapRenderingContext interface: existence and properties of interface prototype object
+PASS ImageBitmapRenderingContext interface: existence and properties of interface prototype object's "constructor" property
+PASS ImageBitmapRenderingContext interface: existence and properties of interface prototype object's @@unscopables property
+PASS ImageBitmapRenderingContext interface: attribute canvas
+PASS ImageBitmapRenderingContext interface: operation transferFromImageBitmap(ImageBitmap)
+PASS OffscreenCanvas interface: existence and properties of interface object
+PASS OffscreenCanvas interface object length
+PASS OffscreenCanvas interface object name
+PASS OffscreenCanvas interface: existence and properties of interface prototype object
+PASS OffscreenCanvas interface: existence and properties of interface prototype object's "constructor" property
+PASS OffscreenCanvas interface: existence and properties of interface prototype object's @@unscopables property
+PASS OffscreenCanvas interface: attribute width
+PASS OffscreenCanvas interface: attribute height
+PASS OffscreenCanvas interface: operation getContext(OffscreenRenderingContextId, any)
+PASS OffscreenCanvas interface: operation transferToImageBitmap()
+PASS OffscreenCanvas interface: operation convertToBlob(ImageEncodeOptions)
+PASS OffscreenCanvasRenderingContext2D interface: existence and properties of interface object
+PASS OffscreenCanvasRenderingContext2D interface object length
+PASS OffscreenCanvasRenderingContext2D interface object name
+PASS OffscreenCanvasRenderingContext2D interface: existence and properties of interface prototype object
+PASS OffscreenCanvasRenderingContext2D interface: existence and properties of interface prototype object's "constructor" property
+PASS OffscreenCanvasRenderingContext2D interface: existence and properties of interface prototype object's @@unscopables property
+PASS OffscreenCanvasRenderingContext2D interface: operation commit()
+PASS OffscreenCanvasRenderingContext2D interface: attribute canvas
+PASS OffscreenCanvasRenderingContext2D interface: operation save()
+PASS OffscreenCanvasRenderingContext2D interface: operation restore()
+PASS OffscreenCanvasRenderingContext2D interface: operation scale(unrestricted double, unrestricted double)
+PASS OffscreenCanvasRenderingContext2D interface: operation rotate(unrestricted double)
+PASS OffscreenCanvasRenderingContext2D interface: operation translate(unrestricted double, unrestricted double)
+PASS OffscreenCanvasRenderingContext2D interface: operation transform(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double)
+FAIL OffscreenCanvasRenderingContext2D interface: operation getTransform() assert_own_property: interface prototype object missing non-static operation expected property "getTransform" missing
+FAIL OffscreenCanvasRenderingContext2D interface: operation setTransform(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double) assert_equals: property has wrong .length expected 0 but got 6
+FAIL OffscreenCanvasRenderingContext2D interface: operation setTransform(DOMMatrix2DInit) assert_equals: property has wrong .length expected 0 but got 6
+PASS OffscreenCanvasRenderingContext2D interface: operation resetTransform()
+PASS OffscreenCanvasRenderingContext2D interface: attribute globalAlpha
+PASS OffscreenCanvasRenderingContext2D interface: attribute globalCompositeOperation
+PASS OffscreenCanvasRenderingContext2D interface: attribute imageSmoothingEnabled
+PASS OffscreenCanvasRenderingContext2D interface: attribute imageSmoothingQuality
+PASS OffscreenCanvasRenderingContext2D interface: attribute strokeStyle
+PASS OffscreenCanvasRenderingContext2D interface: attribute fillStyle
+PASS OffscreenCanvasRenderingContext2D interface: operation createLinearGradient(double, double, double, double)
+PASS OffscreenCanvasRenderingContext2D interface: operation createRadialGradient(double, double, double, double, double, double)
+PASS OffscreenCanvasRenderingContext2D interface: operation createPattern(CanvasImageSource, DOMString)
+PASS OffscreenCanvasRenderingContext2D interface: attribute shadowOffsetX
+PASS OffscreenCanvasRenderingContext2D interface: attribute shadowOffsetY
+PASS OffscreenCanvasRenderingContext2D interface: attribute shadowBlur
+PASS OffscreenCanvasRenderingContext2D interface: attribute shadowColor
+PASS OffscreenCanvasRenderingContext2D interface: attribute filter
+PASS OffscreenCanvasRenderingContext2D interface: operation clearRect(unrestricted double, unrestricted double, unrestricted double, unrestricted double)
+PASS OffscreenCanvasRenderingContext2D interface: operation fillRect(unrestricted double, unrestricted double, unrestricted double, unrestricted double)
+PASS OffscreenCanvasRenderingContext2D interface: operation strokeRect(unrestricted double, unrestricted double, unrestricted double, unrestricted double)
+PASS OffscreenCanvasRenderingContext2D interface: operation beginPath()
+PASS OffscreenCanvasRenderingContext2D interface: operation fill(CanvasFillRule)
+PASS OffscreenCanvasRenderingContext2D interface: operation fill(Path2D, CanvasFillRule)
+PASS OffscreenCanvasRenderingContext2D interface: operation stroke()
+PASS OffscreenCanvasRenderingContext2D interface: operation stroke(Path2D)
+PASS OffscreenCanvasRenderingContext2D interface: operation clip(CanvasFillRule)
+PASS OffscreenCanvasRenderingContext2D interface: operation clip(Path2D, CanvasFillRule)
+FAIL OffscreenCanvasRenderingContext2D interface: operation resetClip() assert_own_property: interface prototype object missing non-static operation expected property "resetClip" missing
+PASS OffscreenCanvasRenderingContext2D interface: operation isPointInPath(unrestricted double, unrestricted double, CanvasFillRule)
+PASS OffscreenCanvasRenderingContext2D interface: operation isPointInPath(Path2D, unrestricted double, unrestricted double, CanvasFillRule)
+PASS OffscreenCanvasRenderingContext2D interface: operation isPointInStroke(unrestricted double, unrestricted double)
+PASS OffscreenCanvasRenderingContext2D interface: operation isPointInStroke(Path2D, unrestricted double, unrestricted double)
+PASS OffscreenCanvasRenderingContext2D interface: operation drawImage(CanvasImageSource, unrestricted double, unrestricted double)
+PASS OffscreenCanvasRenderingContext2D interface: operation drawImage(CanvasImageSource, unrestricted double, unrestricted double, unrestricted double, unrestricted double)
+PASS OffscreenCanvasRenderingContext2D interface: operation drawImage(CanvasImageSource, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double)
+PASS OffscreenCanvasRenderingContext2D interface: operation createImageData(long, long)
+PASS OffscreenCanvasRenderingContext2D interface: operation createImageData(ImageData)
+PASS OffscreenCanvasRenderingContext2D interface: operation getImageData(long, long, long, long)
+PASS OffscreenCanvasRenderingContext2D interface: operation putImageData(ImageData, long, long)
+PASS OffscreenCanvasRenderingContext2D interface: operation putImageData(ImageData, long, long, long, long, long, long)
+PASS OffscreenCanvasRenderingContext2D interface: attribute lineWidth
+PASS OffscreenCanvasRenderingContext2D interface: attribute lineCap
+PASS OffscreenCanvasRenderingContext2D interface: attribute lineJoin
+PASS OffscreenCanvasRenderingContext2D interface: attribute miterLimit
+PASS OffscreenCanvasRenderingContext2D interface: operation setLineDash([object Object])
+PASS OffscreenCanvasRenderingContext2D interface: operation getLineDash()
+PASS OffscreenCanvasRenderingContext2D interface: attribute lineDashOffset
+PASS OffscreenCanvasRenderingContext2D interface: operation closePath()
+PASS OffscreenCanvasRenderingContext2D interface: operation moveTo(unrestricted double, unrestricted double)
+PASS OffscreenCanvasRenderingContext2D interface: operation lineTo(unrestricted double, unrestricted double)
+PASS OffscreenCanvasRenderingContext2D interface: operation quadraticCurveTo(unrestricted double, unrestricted double, unrestricted double, unrestricted double)
+PASS OffscreenCanvasRenderingContext2D interface: operation bezierCurveTo(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double)
+PASS OffscreenCanvasRenderingContext2D interface: operation arcTo(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double)
+PASS OffscreenCanvasRenderingContext2D interface: operation rect(unrestricted double, unrestricted double, unrestricted double, unrestricted double)
+PASS OffscreenCanvasRenderingContext2D interface: operation arc(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, boolean)
+PASS OffscreenCanvasRenderingContext2D interface: operation ellipse(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, boolean)
+PASS CustomElementRegistry interface: existence and properties of interface object
+PASS CustomElementRegistry interface object length
+PASS CustomElementRegistry interface object name
+PASS CustomElementRegistry interface: existence and properties of interface prototype object
+PASS CustomElementRegistry interface: existence and properties of interface prototype object's "constructor" property
+PASS CustomElementRegistry interface: existence and properties of interface prototype object's @@unscopables property
+PASS CustomElementRegistry interface: operation define(DOMString, Function, ElementDefinitionOptions)
+PASS CustomElementRegistry interface: operation get(DOMString)
+PASS CustomElementRegistry interface: operation whenDefined(DOMString)
+PASS CustomElementRegistry interface: operation upgrade(Node)
+PASS DataTransfer interface: existence and properties of interface object
+PASS DataTransfer interface object length
+PASS DataTransfer interface object name
+PASS DataTransfer interface: existence and properties of interface prototype object
+PASS DataTransfer interface: existence and properties of interface prototype object's "constructor" property
+PASS DataTransfer interface: existence and properties of interface prototype object's @@unscopables property
+PASS DataTransfer interface: attribute dropEffect
+PASS DataTransfer interface: attribute effectAllowed
+PASS DataTransfer interface: attribute items
+PASS DataTransfer interface: operation setDragImage(Element, long, long)
+PASS DataTransfer interface: attribute types
+PASS DataTransfer interface: operation getData(DOMString)
+PASS DataTransfer interface: operation setData(DOMString, DOMString)
+PASS DataTransfer interface: operation clearData(DOMString)
+PASS DataTransfer interface: attribute files
+PASS DataTransferItemList interface: existence and properties of interface object
+PASS DataTransferItemList interface object length
+PASS DataTransferItemList interface object name
+PASS DataTransferItemList interface: existence and properties of interface prototype object
+PASS DataTransferItemList interface: existence and properties of interface prototype object's "constructor" property
+PASS DataTransferItemList interface: existence and properties of interface prototype object's @@unscopables property
+PASS DataTransferItemList interface: attribute length
+PASS DataTransferItemList interface: operation add(DOMString, DOMString)
+PASS DataTransferItemList interface: operation add(File)
+PASS DataTransferItemList interface: operation remove(unsigned long)
+PASS DataTransferItemList interface: operation clear()
+PASS DataTransferItem interface: existence and properties of interface object
+PASS DataTransferItem interface object length
+PASS DataTransferItem interface object name
+PASS DataTransferItem interface: existence and properties of interface prototype object
+PASS DataTransferItem interface: existence and properties of interface prototype object's "constructor" property
+PASS DataTransferItem interface: existence and properties of interface prototype object's @@unscopables property
+PASS DataTransferItem interface: attribute kind
+PASS DataTransferItem interface: attribute type
+PASS DataTransferItem interface: operation getAsString(FunctionStringCallback)
+PASS DataTransferItem interface: operation getAsFile()
+PASS DragEvent interface: existence and properties of interface object
+PASS DragEvent interface object length
+PASS DragEvent interface object name
+PASS DragEvent interface: existence and properties of interface prototype object
+PASS DragEvent interface: existence and properties of interface prototype object's "constructor" property
+PASS DragEvent interface: existence and properties of interface prototype object's @@unscopables property
+PASS DragEvent interface: attribute dataTransfer
+PASS BarProp interface: existence and properties of interface object
+PASS BarProp interface object length
+PASS BarProp interface object name
+PASS BarProp interface: existence and properties of interface prototype object
+PASS BarProp interface: existence and properties of interface prototype object's "constructor" property
+PASS BarProp interface: existence and properties of interface prototype object's @@unscopables property
+PASS BarProp interface: attribute visible
+PASS History interface: existence and properties of interface object
+PASS History interface object length
+PASS History interface object name
+PASS History interface: existence and properties of interface prototype object
+PASS History interface: existence and properties of interface prototype object's "constructor" property
+PASS History interface: existence and properties of interface prototype object's @@unscopables property
+FAIL History interface: attribute index assert_true: The prototype object must have a property "index" expected true got false
+PASS History interface: attribute length
+PASS History interface: attribute scrollRestoration
+PASS History interface: attribute state
+PASS History interface: operation go(long)
+PASS History interface: operation back()
+PASS History interface: operation forward()
+PASS History interface: operation pushState(any, DOMString, USVString)
+PASS History interface: operation replaceState(any, DOMString, USVString)
+PASS History must be primary interface of window.history
+PASS Stringification of window.history
+FAIL History interface: window.history must inherit property "index" with the proper type assert_inherits: property "index" not found in prototype chain
+PASS History interface: window.history must inherit property "length" with the proper type
+PASS History interface: window.history must inherit property "scrollRestoration" with the proper type
+PASS History interface: window.history must inherit property "state" with the proper type
+PASS History interface: window.history must inherit property "go(long)" with the proper type
+PASS History interface: calling go(long) on window.history with too few arguments must throw TypeError
+PASS History interface: window.history must inherit property "back()" with the proper type
+PASS History interface: window.history must inherit property "forward()" with the proper type
+PASS History interface: window.history must inherit property "pushState(any, DOMString, USVString)" with the proper type
+PASS History interface: calling pushState(any, DOMString, USVString) on window.history with too few arguments must throw TypeError
+PASS History interface: window.history must inherit property "replaceState(any, DOMString, USVString)" with the proper type
+PASS History interface: calling replaceState(any, DOMString, USVString) on window.history with too few arguments must throw TypeError
+PASS Location interface: existence and properties of interface object
+PASS Location interface object length
+PASS Location interface object name
+PASS Location interface: existence and properties of interface prototype object
+PASS Location interface: existence and properties of interface prototype object's "constructor" property
+PASS Location interface: existence and properties of interface prototype object's @@unscopables property
+FAIL Location interface: stringifier assert_own_property: interface prototype object missing non-static operation expected property "toString" missing
+PASS Location must be primary interface of window.location
+PASS Stringification of window.location
+FAIL Location interface: window.location must have own property "href" assert_false: property descriptor should not have a "value" field expected false got true
+PASS Location interface: window.location must have own property "origin"
+PASS Location interface: window.location must have own property "protocol"
+PASS Location interface: window.location must have own property "host"
+PASS Location interface: window.location must have own property "hostname"
+PASS Location interface: window.location must have own property "port"
+PASS Location interface: window.location must have own property "pathname"
+PASS Location interface: window.location must have own property "search"
+PASS Location interface: window.location must have own property "hash"
+PASS Location interface: window.location must have own property "assign"
+PASS Location interface: calling assign(USVString) on window.location with too few arguments must throw TypeError
+PASS Location interface: window.location must have own property "replace"
+PASS Location interface: calling replace(USVString) on window.location with too few arguments must throw TypeError
+PASS Location interface: window.location must have own property "reload"
+PASS Location interface: window.location must have own property "ancestorOrigins"
+PASS PopStateEvent interface: existence and properties of interface object
+PASS PopStateEvent interface object length
+PASS PopStateEvent interface object name
+PASS PopStateEvent interface: existence and properties of interface prototype object
+PASS PopStateEvent interface: existence and properties of interface prototype object's "constructor" property
+PASS PopStateEvent interface: existence and properties of interface prototype object's @@unscopables property
+PASS PopStateEvent interface: attribute state
+PASS PopStateEvent must be primary interface of new PopStateEvent("popstate", { data: {} })
+PASS Stringification of new PopStateEvent("popstate", { data: {} })
+PASS PopStateEvent interface: new PopStateEvent("popstate", { data: {} }) must inherit property "state" with the proper type
+PASS HashChangeEvent interface: existence and properties of interface object
+PASS HashChangeEvent interface object length
+PASS HashChangeEvent interface object name
+PASS HashChangeEvent interface: existence and properties of interface prototype object
+PASS HashChangeEvent interface: existence and properties of interface prototype object's "constructor" property
+PASS HashChangeEvent interface: existence and properties of interface prototype object's @@unscopables property
+PASS HashChangeEvent interface: attribute oldURL
+PASS HashChangeEvent interface: attribute newURL
+PASS PageTransitionEvent interface: existence and properties of interface object
+PASS PageTransitionEvent interface object length
+PASS PageTransitionEvent interface object name
+PASS PageTransitionEvent interface: existence and properties of interface prototype object
+PASS PageTransitionEvent interface: existence and properties of interface prototype object's "constructor" property
+PASS PageTransitionEvent interface: existence and properties of interface prototype object's @@unscopables property
+PASS PageTransitionEvent interface: attribute persisted
+PASS BeforeUnloadEvent interface: existence and properties of interface object
+PASS BeforeUnloadEvent interface object length
+PASS BeforeUnloadEvent interface object name
+PASS BeforeUnloadEvent interface: existence and properties of interface prototype object
+PASS BeforeUnloadEvent interface: existence and properties of interface prototype object's "constructor" property
+PASS BeforeUnloadEvent interface: existence and properties of interface prototype object's @@unscopables property
+PASS BeforeUnloadEvent interface: attribute returnValue
+PASS ApplicationCache interface: existence and properties of interface object
+PASS ApplicationCache interface object length
+PASS ApplicationCache interface object name
+PASS ApplicationCache interface: existence and properties of interface prototype object
+PASS ApplicationCache interface: existence and properties of interface prototype object's "constructor" property
+PASS ApplicationCache interface: existence and properties of interface prototype object's @@unscopables property
+PASS ApplicationCache interface: constant UNCACHED on interface object
+PASS ApplicationCache interface: constant UNCACHED on interface prototype object
+PASS ApplicationCache interface: constant IDLE on interface object
+PASS ApplicationCache interface: constant IDLE on interface prototype object
+PASS ApplicationCache interface: constant CHECKING on interface object
+PASS ApplicationCache interface: constant CHECKING on interface prototype object
+PASS ApplicationCache interface: constant DOWNLOADING on interface object
+PASS ApplicationCache interface: constant DOWNLOADING on interface prototype object
+PASS ApplicationCache interface: constant UPDATEREADY on interface object
+PASS ApplicationCache interface: constant UPDATEREADY on interface prototype object
+PASS ApplicationCache interface: constant OBSOLETE on interface object
+PASS ApplicationCache interface: constant OBSOLETE on interface prototype object
+PASS ApplicationCache interface: attribute status
+PASS ApplicationCache interface: operation update()
+PASS ApplicationCache interface: operation abort()
+PASS ApplicationCache interface: operation swapCache()
+PASS ApplicationCache interface: attribute onchecking
+PASS ApplicationCache interface: attribute onerror
+PASS ApplicationCache interface: attribute onnoupdate
+PASS ApplicationCache interface: attribute ondownloading
+PASS ApplicationCache interface: attribute onprogress
+PASS ApplicationCache interface: attribute onupdateready
+PASS ApplicationCache interface: attribute oncached
+PASS ApplicationCache interface: attribute onobsolete
+PASS ApplicationCache must be primary interface of window.applicationCache
+PASS Stringification of window.applicationCache
+PASS ApplicationCache interface: window.applicationCache must inherit property "UNCACHED" with the proper type
+PASS ApplicationCache interface: window.applicationCache must inherit property "IDLE" with the proper type
+PASS ApplicationCache interface: window.applicationCache must inherit property "CHECKING" with the proper type
+PASS ApplicationCache interface: window.applicationCache must inherit property "DOWNLOADING" with the proper type
+PASS ApplicationCache interface: window.applicationCache must inherit property "UPDATEREADY" with the proper type
+PASS ApplicationCache interface: window.applicationCache must inherit property "OBSOLETE" with the proper type
+PASS ApplicationCache interface: window.applicationCache must inherit property "status" with the proper type
+PASS ApplicationCache interface: window.applicationCache must inherit property "update()" with the proper type
+PASS ApplicationCache interface: window.applicationCache must inherit property "abort()" with the proper type
+PASS ApplicationCache interface: window.applicationCache must inherit property "swapCache()" with the proper type
+PASS ApplicationCache interface: window.applicationCache must inherit property "onchecking" with the proper type
+PASS ApplicationCache interface: window.applicationCache must inherit property "onerror" with the proper type
+PASS ApplicationCache interface: window.applicationCache must inherit property "onnoupdate" with the proper type
+PASS ApplicationCache interface: window.applicationCache must inherit property "ondownloading" with the proper type
+PASS ApplicationCache interface: window.applicationCache must inherit property "onprogress" with the proper type
+PASS ApplicationCache interface: window.applicationCache must inherit property "onupdateready" with the proper type
+PASS ApplicationCache interface: window.applicationCache must inherit property "oncached" with the proper type
+PASS ApplicationCache interface: window.applicationCache must inherit property "onobsolete" with the proper type
+PASS ErrorEvent interface: existence and properties of interface object
+PASS ErrorEvent interface object length
+PASS ErrorEvent interface object name
+PASS ErrorEvent interface: existence and properties of interface prototype object
+PASS ErrorEvent interface: existence and properties of interface prototype object's "constructor" property
+PASS ErrorEvent interface: existence and properties of interface prototype object's @@unscopables property
+PASS ErrorEvent interface: attribute message
+PASS ErrorEvent interface: attribute filename
+PASS ErrorEvent interface: attribute lineno
+PASS ErrorEvent interface: attribute colno
+PASS ErrorEvent interface: attribute error
+PASS PromiseRejectionEvent interface: existence and properties of interface object
+PASS PromiseRejectionEvent interface object length
+PASS PromiseRejectionEvent interface object name
+PASS PromiseRejectionEvent interface: existence and properties of interface prototype object
+PASS PromiseRejectionEvent interface: existence and properties of interface prototype object's "constructor" property
+PASS PromiseRejectionEvent interface: existence and properties of interface prototype object's @@unscopables property
+PASS PromiseRejectionEvent interface: attribute promise
+PASS PromiseRejectionEvent interface: attribute reason
+PASS Navigator interface: existence and properties of interface object
+PASS Navigator interface object length
+PASS Navigator interface object name
+PASS Navigator interface: existence and properties of interface prototype object
+PASS Navigator interface: existence and properties of interface prototype object's "constructor" property
+PASS Navigator interface: existence and properties of interface prototype object's @@unscopables property
+PASS Navigator interface: attribute appCodeName
+PASS Navigator interface: attribute appName
+PASS Navigator interface: attribute appVersion
+PASS Navigator interface: attribute platform
+PASS Navigator interface: attribute product
+PASS Navigator interface: attribute productSub
+PASS Navigator interface: attribute userAgent
+PASS Navigator interface: attribute vendor
+PASS Navigator interface: attribute vendorSub
+FAIL Navigator interface: operation taintEnabled() assert_own_property: interface prototype object missing non-static operation expected property "taintEnabled" missing
+FAIL Navigator interface: attribute oscpu assert_true: The prototype object must have a property "oscpu" expected true got false
+PASS Navigator interface: attribute language
+PASS Navigator interface: attribute languages
+PASS Navigator interface: attribute onLine
+PASS Navigator interface: operation registerProtocolHandler(DOMString, USVString, DOMString)
+PASS Navigator interface: operation unregisterProtocolHandler(DOMString, USVString)
+PASS Navigator interface: attribute cookieEnabled
+PASS Navigator interface: attribute plugins
+PASS Navigator interface: attribute mimeTypes
+PASS Navigator interface: operation javaEnabled()
+PASS Navigator interface: attribute hardwareConcurrency
+PASS Navigator must be primary interface of window.navigator
+PASS Stringification of window.navigator
+PASS Navigator interface: window.navigator must inherit property "appCodeName" with the proper type
+PASS Navigator interface: window.navigator must inherit property "appName" with the proper type
+PASS Navigator interface: window.navigator must inherit property "appVersion" with the proper type
+PASS Navigator interface: window.navigator must inherit property "platform" with the proper type
+PASS Navigator interface: window.navigator must inherit property "product" with the proper type
+PASS Navigator interface: window.navigator must inherit property "productSub" with the proper type
+PASS Navigator interface: window.navigator must inherit property "userAgent" with the proper type
+PASS Navigator interface: window.navigator must inherit property "vendor" with the proper type
+PASS Navigator interface: window.navigator must inherit property "vendorSub" with the proper type
+FAIL Navigator interface: window.navigator must inherit property "taintEnabled()" with the proper type assert_inherits: property "taintEnabled" not found in prototype chain
+FAIL Navigator interface: window.navigator must inherit property "oscpu" with the proper type assert_inherits: property "oscpu" not found in prototype chain
+PASS Navigator interface: window.navigator must inherit property "language" with the proper type
+PASS Navigator interface: window.navigator must inherit property "languages" with the proper type
+PASS Navigator interface: window.navigator must inherit property "onLine" with the proper type
+PASS Navigator interface: window.navigator must inherit property "registerProtocolHandler(DOMString, USVString, DOMString)" with the proper type
+PASS Navigator interface: calling registerProtocolHandler(DOMString, USVString, DOMString) on window.navigator with too few arguments must throw TypeError
+PASS Navigator interface: window.navigator must inherit property "unregisterProtocolHandler(DOMString, USVString)" with the proper type
+PASS Navigator interface: calling unregisterProtocolHandler(DOMString, USVString) on window.navigator with too few arguments must throw TypeError
+PASS Navigator interface: window.navigator must inherit property "cookieEnabled" with the proper type
+PASS Navigator interface: window.navigator must inherit property "plugins" with the proper type
+PASS Navigator interface: window.navigator must inherit property "mimeTypes" with the proper type
+PASS Navigator interface: window.navigator must inherit property "javaEnabled()" with the proper type
+PASS Navigator interface: window.navigator must inherit property "hardwareConcurrency" with the proper type
+PASS PluginArray interface: existence and properties of interface object
+PASS PluginArray interface object length
+PASS PluginArray interface object name
+PASS PluginArray interface: existence and properties of interface prototype object
+PASS PluginArray interface: existence and properties of interface prototype object's "constructor" property
+PASS PluginArray interface: existence and properties of interface prototype object's @@unscopables property
+PASS PluginArray interface: operation refresh(boolean)
+PASS PluginArray interface: attribute length
+PASS PluginArray interface: operation item(unsigned long)
+PASS PluginArray interface: operation namedItem(DOMString)
+PASS MimeTypeArray interface: existence and properties of interface object
+PASS MimeTypeArray interface object length
+PASS MimeTypeArray interface object name
+PASS MimeTypeArray interface: existence and properties of interface prototype object
+PASS MimeTypeArray interface: existence and properties of interface prototype object's "constructor" property
+PASS MimeTypeArray interface: existence and properties of interface prototype object's @@unscopables property
+PASS MimeTypeArray interface: attribute length
+PASS MimeTypeArray interface: operation item(unsigned long)
+PASS MimeTypeArray interface: operation namedItem(DOMString)
+PASS Plugin interface: existence and properties of interface object
+PASS Plugin interface object length
+PASS Plugin interface object name
+PASS Plugin interface: existence and properties of interface prototype object
+PASS Plugin interface: existence and properties of interface prototype object's "constructor" property
+PASS Plugin interface: existence and properties of interface prototype object's @@unscopables property
+PASS Plugin interface: attribute name
+PASS Plugin interface: attribute description
+PASS Plugin interface: attribute filename
+PASS Plugin interface: attribute length
+PASS Plugin interface: operation item(unsigned long)
+PASS Plugin interface: operation namedItem(DOMString)
+PASS MimeType interface: existence and properties of interface object
+PASS MimeType interface object length
+PASS MimeType interface object name
+PASS MimeType interface: existence and properties of interface prototype object
+PASS MimeType interface: existence and properties of interface prototype object's "constructor" property
+PASS MimeType interface: existence and properties of interface prototype object's @@unscopables property
+PASS MimeType interface: attribute type
+PASS MimeType interface: attribute description
+PASS MimeType interface: attribute suffixes
+PASS MimeType interface: attribute enabledPlugin
+PASS ImageBitmap interface: existence and properties of interface object
+PASS ImageBitmap interface object length
+PASS ImageBitmap interface object name
+PASS ImageBitmap interface: existence and properties of interface prototype object
+PASS ImageBitmap interface: existence and properties of interface prototype object's "constructor" property
+PASS ImageBitmap interface: existence and properties of interface prototype object's @@unscopables property
+PASS ImageBitmap interface: attribute width
+PASS ImageBitmap interface: attribute height
+PASS ImageBitmap interface: operation close()
+PASS MessageEvent interface: existence and properties of interface object
+PASS MessageEvent interface object length
+PASS MessageEvent interface object name
+PASS MessageEvent interface: existence and properties of interface prototype object
+PASS MessageEvent interface: existence and properties of interface prototype object's "constructor" property
+PASS MessageEvent interface: existence and properties of interface prototype object's @@unscopables property
+PASS MessageEvent interface: attribute data
+PASS MessageEvent interface: attribute origin
+PASS MessageEvent interface: attribute lastEventId
+PASS MessageEvent interface: attribute source
+PASS MessageEvent interface: attribute ports
+PASS MessageEvent interface: operation initMessageEvent(DOMString, boolean, boolean, any, USVString, DOMString, MessageEventSource, [object Object])
+PASS MessageEvent must be primary interface of new MessageEvent("message", { data: 5 })
+PASS Stringification of new MessageEvent("message", { data: 5 })
+PASS MessageEvent interface: new MessageEvent("message", { data: 5 }) must inherit property "data" with the proper type
+PASS MessageEvent interface: new MessageEvent("message", { data: 5 }) must inherit property "origin" with the proper type
+PASS MessageEvent interface: new MessageEvent("message", { data: 5 }) must inherit property "lastEventId" with the proper type
+FAIL MessageEvent interface: new MessageEvent("message", { data: 5 }) must inherit property "source" with the proper type Unrecognized type WindowProxy
+PASS MessageEvent interface: new MessageEvent("message", { data: 5 }) must inherit property "ports" with the proper type
+PASS MessageEvent interface: new MessageEvent("message", { data: 5 }) must inherit property "initMessageEvent(DOMString, boolean, boolean, any, USVString, DOMString, MessageEventSource, [object Object])" with the proper type
+PASS MessageEvent interface: calling initMessageEvent(DOMString, boolean, boolean, any, USVString, DOMString, MessageEventSource, [object Object]) on new MessageEvent("message", { data: 5 }) with too few arguments must throw TypeError
+PASS EventSource interface: existence and properties of interface object
+PASS EventSource interface object length
+PASS EventSource interface object name
+PASS EventSource interface: existence and properties of interface prototype object
+PASS EventSource interface: existence and properties of interface prototype object's "constructor" property
+PASS EventSource interface: existence and properties of interface prototype object's @@unscopables property
+PASS EventSource interface: attribute url
+PASS EventSource interface: attribute withCredentials
+PASS EventSource interface: constant CONNECTING on interface object
+PASS EventSource interface: constant CONNECTING on interface prototype object
+PASS EventSource interface: constant OPEN on interface object
+PASS EventSource interface: constant OPEN on interface prototype object
+PASS EventSource interface: constant CLOSED on interface object
+PASS EventSource interface: constant CLOSED on interface prototype object
+PASS EventSource interface: attribute readyState
+PASS EventSource interface: attribute onopen
+PASS EventSource interface: attribute onmessage
+PASS EventSource interface: attribute onerror
+PASS EventSource interface: operation close()
+PASS WebSocket interface: existence and properties of interface object
+PASS WebSocket interface object length
+PASS WebSocket interface object name
+PASS WebSocket interface: existence and properties of interface prototype object
+PASS WebSocket interface: existence and properties of interface prototype object's "constructor" property
+PASS WebSocket interface: existence and properties of interface prototype object's @@unscopables property
+PASS WebSocket interface: attribute url
+PASS WebSocket interface: constant CONNECTING on interface object
+PASS WebSocket interface: constant CONNECTING on interface prototype object
+PASS WebSocket interface: constant OPEN on interface object
+PASS WebSocket interface: constant OPEN on interface prototype object
+PASS WebSocket interface: constant CLOSING on interface object
+PASS WebSocket interface: constant CLOSING on interface prototype object
+PASS WebSocket interface: constant CLOSED on interface object
+PASS WebSocket interface: constant CLOSED on interface prototype object
+PASS WebSocket interface: attribute readyState
+PASS WebSocket interface: attribute bufferedAmount
+PASS WebSocket interface: attribute onopen
+PASS WebSocket interface: attribute onerror
+PASS WebSocket interface: attribute onclose
+PASS WebSocket interface: attribute extensions
+PASS WebSocket interface: attribute protocol
+PASS WebSocket interface: operation close(unsigned short, USVString)
+PASS WebSocket interface: attribute onmessage
+PASS WebSocket interface: attribute binaryType
+PASS WebSocket interface: operation send(USVString)
+PASS WebSocket interface: operation send(Blob)
+PASS WebSocket interface: operation send(ArrayBuffer)
+PASS WebSocket interface: operation send(ArrayBufferView)
+PASS WebSocket must be primary interface of new WebSocket("wss://foo")
+PASS Stringification of new WebSocket("wss://foo")
+PASS WebSocket interface: new WebSocket("wss://foo") must inherit property "url" with the proper type
+PASS WebSocket interface: new WebSocket("wss://foo") must inherit property "CONNECTING" with the proper type
+PASS WebSocket interface: new WebSocket("wss://foo") must inherit property "OPEN" with the proper type
+PASS WebSocket interface: new WebSocket("wss://foo") must inherit property "CLOSING" with the proper type
+PASS WebSocket interface: new WebSocket("wss://foo") must inherit property "CLOSED" with the proper type
+PASS WebSocket interface: new WebSocket("wss://foo") must inherit property "readyState" with the proper type
+PASS WebSocket interface: new WebSocket("wss://foo") must inherit property "bufferedAmount" with the proper type
+PASS WebSocket interface: new WebSocket("wss://foo") must inherit property "onopen" with the proper type
+PASS WebSocket interface: new WebSocket("wss://foo") must inherit property "onerror" with the proper type
+PASS WebSocket interface: new WebSocket("wss://foo") must inherit property "onclose" with the proper type
+PASS WebSocket interface: new WebSocket("wss://foo") must inherit property "extensions" with the proper type
+PASS WebSocket interface: new WebSocket("wss://foo") must inherit property "protocol" with the proper type
+PASS WebSocket interface: new WebSocket("wss://foo") must inherit property "close(unsigned short, USVString)" with the proper type
+PASS WebSocket interface: calling close(unsigned short, USVString) on new WebSocket("wss://foo") with too few arguments must throw TypeError
+PASS WebSocket interface: new WebSocket("wss://foo") must inherit property "onmessage" with the proper type
+PASS WebSocket interface: new WebSocket("wss://foo") must inherit property "binaryType" with the proper type
+PASS WebSocket interface: new WebSocket("wss://foo") must inherit property "send(USVString)" with the proper type
+PASS WebSocket interface: calling send(USVString) on new WebSocket("wss://foo") with too few arguments must throw TypeError
+PASS WebSocket interface: new WebSocket("wss://foo") must inherit property "send(Blob)" with the proper type
+PASS WebSocket interface: calling send(Blob) on new WebSocket("wss://foo") with too few arguments must throw TypeError
+PASS WebSocket interface: new WebSocket("wss://foo") must inherit property "send(ArrayBuffer)" with the proper type
+PASS WebSocket interface: calling send(ArrayBuffer) on new WebSocket("wss://foo") with too few arguments must throw TypeError
+PASS WebSocket interface: new WebSocket("wss://foo") must inherit property "send(ArrayBufferView)" with the proper type
+PASS WebSocket interface: calling send(ArrayBufferView) on new WebSocket("wss://foo") with too few arguments must throw TypeError
+PASS CloseEvent interface: existence and properties of interface object
+PASS CloseEvent interface object length
+PASS CloseEvent interface object name
+PASS CloseEvent interface: existence and properties of interface prototype object
+PASS CloseEvent interface: existence and properties of interface prototype object's "constructor" property
+PASS CloseEvent interface: existence and properties of interface prototype object's @@unscopables property
+PASS CloseEvent interface: attribute wasClean
+PASS CloseEvent interface: attribute code
+PASS CloseEvent interface: attribute reason
+PASS CloseEvent must be primary interface of new CloseEvent("close")
+PASS Stringification of new CloseEvent("close")
+PASS CloseEvent interface: new CloseEvent("close") must inherit property "wasClean" with the proper type
+PASS CloseEvent interface: new CloseEvent("close") must inherit property "code" with the proper type
+PASS CloseEvent interface: new CloseEvent("close") must inherit property "reason" with the proper type
+PASS MessageChannel interface: existence and properties of interface object
+PASS MessageChannel interface object length
+PASS MessageChannel interface object name
+PASS MessageChannel interface: existence and properties of interface prototype object
+PASS MessageChannel interface: existence and properties of interface prototype object's "constructor" property
+PASS MessageChannel interface: existence and properties of interface prototype object's @@unscopables property
+PASS MessageChannel interface: attribute port1
+PASS MessageChannel interface: attribute port2
+PASS MessagePort interface: existence and properties of interface object
+PASS MessagePort interface object length
+PASS MessagePort interface object name
+PASS MessagePort interface: existence and properties of interface prototype object
+PASS MessagePort interface: existence and properties of interface prototype object's "constructor" property
+PASS MessagePort interface: existence and properties of interface prototype object's @@unscopables property
+PASS MessagePort interface: operation postMessage(any, [object Object])
+PASS MessagePort interface: operation start()
+PASS MessagePort interface: operation close()
+PASS MessagePort interface: attribute onmessage
+PASS MessagePort interface: attribute onmessageerror
+PASS BroadcastChannel interface: existence and properties of interface object
+PASS BroadcastChannel interface object length
+PASS BroadcastChannel interface object name
+PASS BroadcastChannel interface: existence and properties of interface prototype object
+PASS BroadcastChannel interface: existence and properties of interface prototype object's "constructor" property
+PASS BroadcastChannel interface: existence and properties of interface prototype object's @@unscopables property
+PASS BroadcastChannel interface: attribute name
+PASS BroadcastChannel interface: operation postMessage(any)
+PASS BroadcastChannel interface: operation close()
+PASS BroadcastChannel interface: attribute onmessage
+PASS BroadcastChannel interface: attribute onmessageerror
+PASS WorkerGlobalScope interface: existence and properties of interface object
+PASS DedicatedWorkerGlobalScope interface: existence and properties of interface object
+PASS SharedWorkerGlobalScope interface: existence and properties of interface object
+PASS Worker interface: existence and properties of interface object
+PASS Worker interface object length
+PASS Worker interface object name
+PASS Worker interface: existence and properties of interface prototype object
+PASS Worker interface: existence and properties of interface prototype object's "constructor" property
+PASS Worker interface: existence and properties of interface prototype object's @@unscopables property
+PASS Worker interface: operation terminate()
+PASS Worker interface: operation postMessage(any, [object Object])
+PASS Worker interface: attribute onmessage
+FAIL Worker interface: attribute onmessageerror assert_true: The prototype object must have a property "onmessageerror" expected true got false
+PASS Worker interface: attribute onerror
+PASS SharedWorker interface: existence and properties of interface object
+PASS SharedWorker interface object length
+PASS SharedWorker interface object name
+PASS SharedWorker interface: existence and properties of interface prototype object
+PASS SharedWorker interface: existence and properties of interface prototype object's "constructor" property
+PASS SharedWorker interface: existence and properties of interface prototype object's @@unscopables property
+PASS SharedWorker interface: attribute port
+PASS SharedWorker interface: attribute onerror
+PASS WorkerNavigator interface: existence and properties of interface object
+PASS WorkerLocation interface: existence and properties of interface object
+PASS Storage interface: existence and properties of interface object
+PASS Storage interface object length
+PASS Storage interface object name
+PASS Storage interface: existence and properties of interface prototype object
+PASS Storage interface: existence and properties of interface prototype object's "constructor" property
+PASS Storage interface: existence and properties of interface prototype object's @@unscopables property
+PASS Storage interface: attribute length
+PASS Storage interface: operation key(unsigned long)
+PASS Storage interface: operation getItem(DOMString)
+PASS Storage interface: operation setItem(DOMString, DOMString)
+PASS Storage interface: operation removeItem(DOMString)
+PASS Storage interface: operation clear()
+PASS StorageEvent interface: existence and properties of interface object
+PASS StorageEvent interface object length
+PASS StorageEvent interface object name
+PASS StorageEvent interface: existence and properties of interface prototype object
+PASS StorageEvent interface: existence and properties of interface prototype object's "constructor" property
+PASS StorageEvent interface: existence and properties of interface prototype object's @@unscopables property
+PASS StorageEvent interface: attribute key
+PASS StorageEvent interface: attribute oldValue
+PASS StorageEvent interface: attribute newValue
+PASS StorageEvent interface: attribute url
+PASS StorageEvent interface: attribute storageArea
+PASS Stringification of window.external
+PASS External interface: window.external must inherit property "AddSearchProvider()" with the proper type
+PASS External interface: window.external must inherit property "IsSearchProviderInstalled()" with the proper type
+PASS SVGElement interface: attribute onabort
+PASS SVGElement interface: attribute onauxclick
+PASS SVGElement interface: attribute onblur
+PASS SVGElement interface: attribute oncancel
+PASS SVGElement interface: attribute oncanplay
+PASS SVGElement interface: attribute oncanplaythrough
+PASS SVGElement interface: attribute onchange
+PASS SVGElement interface: attribute onclick
+PASS SVGElement interface: attribute onclose
+PASS SVGElement interface: attribute oncontextmenu
+PASS SVGElement interface: attribute oncuechange
+PASS SVGElement interface: attribute ondblclick
+PASS SVGElement interface: attribute ondrag
+PASS SVGElement interface: attribute ondragend
+PASS SVGElement interface: attribute ondragenter
+FAIL SVGElement interface: attribute ondragexit assert_true: The prototype object must have a property "ondragexit" expected true got false
+PASS SVGElement interface: attribute ondragleave
+PASS SVGElement interface: attribute ondragover
+PASS SVGElement interface: attribute ondragstart
+PASS SVGElement interface: attribute ondrop
+PASS SVGElement interface: attribute ondurationchange
+PASS SVGElement interface: attribute onemptied
+PASS SVGElement interface: attribute onended
+PASS SVGElement interface: attribute onerror
+PASS SVGElement interface: attribute onfocus
+PASS SVGElement interface: attribute oninput
+PASS SVGElement interface: attribute oninvalid
+PASS SVGElement interface: attribute onkeydown
+PASS SVGElement interface: attribute onkeypress
+PASS SVGElement interface: attribute onkeyup
+PASS SVGElement interface: attribute onload
+PASS SVGElement interface: attribute onloadeddata
+PASS SVGElement interface: attribute onloadedmetadata
+FAIL SVGElement interface: attribute onloadend assert_true: The prototype object must have a property "onloadend" expected true got false
+PASS SVGElement interface: attribute onloadstart
+PASS SVGElement interface: attribute onmousedown
+PASS SVGElement interface: attribute onmouseenter
+PASS SVGElement interface: attribute onmouseleave
+PASS SVGElement interface: attribute onmousemove
+PASS SVGElement interface: attribute onmouseout
+PASS SVGElement interface: attribute onmouseover
+PASS SVGElement interface: attribute onmouseup
+PASS SVGElement interface: attribute onwheel
+PASS SVGElement interface: attribute onpause
+PASS SVGElement interface: attribute onplay
+PASS SVGElement interface: attribute onplaying
+PASS SVGElement interface: attribute onprogress
+PASS SVGElement interface: attribute onratechange
+PASS SVGElement interface: attribute onreset
+PASS SVGElement interface: attribute onresize
+PASS SVGElement interface: attribute onscroll
+FAIL SVGElement interface: attribute onsecuritypolicyviolation assert_true: The prototype object must have a property "onsecuritypolicyviolation" expected true got false
+PASS SVGElement interface: attribute onseeked
+PASS SVGElement interface: attribute onseeking
+PASS SVGElement interface: attribute onselect
+PASS SVGElement interface: attribute onstalled
+PASS SVGElement interface: attribute onsubmit
+PASS SVGElement interface: attribute onsuspend
+PASS SVGElement interface: attribute ontimeupdate
+PASS SVGElement interface: attribute ontoggle
+PASS SVGElement interface: attribute onvolumechange
+PASS SVGElement interface: attribute onwaiting
+FAIL SVGElement interface: attribute oncopy assert_own_property: expected property "oncopy" missing
+FAIL SVGElement interface: attribute oncut assert_own_property: expected property "oncut" missing
+FAIL SVGElement interface: attribute onpaste assert_own_property: expected property "onpaste" missing
+PASS SVGElement interface: attribute dataset
+PASS SVGElement interface: attribute nonce
+PASS SVGElement interface: attribute tabIndex
+PASS SVGElement interface: operation focus(FocusOptions)
+PASS SVGElement interface: operation blur()
 Harness: the test ran to completion.
 
diff --git "a/third_party/WebKit/LayoutTests/external/wpt/html/dom/interfaces.https_include=\050Document_Window\051-expected.txt" "b/third_party/WebKit/LayoutTests/external/wpt/html/dom/interfaces.https_include=\050Document_Window\051-expected.txt"
index 38d949359..cae9ca1 100644
--- "a/third_party/WebKit/LayoutTests/external/wpt/html/dom/interfaces.https_include=\050Document_Window\051-expected.txt"
+++ "b/third_party/WebKit/LayoutTests/external/wpt/html/dom/interfaces.https_include=\050Document_Window\051-expected.txt"
@@ -1,33 +1,6 @@
 This is a testharness.js-based test.
-FAIL idl_test setup promise_test: Unhandled rejection with value: object "Got an error before parsing any named definition: Unrecognised tokens, line 1 (tokens: "{\"error\": {\"message\"")
-[
-    {
-        "type": "{",
-        "value": "{",
-        "trivia": ""
-    },
-    {
-        "type": "string",
-        "value": "\"error\"",
-        "trivia": ""
-    },
-    {
-        "type": ":",
-        "value": ":",
-        "trivia": ""
-    },
-    {
-        "type": "{",
-        "value": "{",
-        "trivia": " "
-    },
-    {
-        "type": "string",
-        "value": "\"message\"",
-        "trivia": ""
-    }
-]"
-FAIL Partial interface Document: original interface defined assert_true: Original interface should be defined expected true got false
+PASS idl_test setup
+PASS Partial interface Document: original interface defined
 PASS Partial interface NavigatorID: original interface defined
 PASS Partial interface HTMLAnchorElement: original interface defined
 PASS Partial interface HTMLAreaElement: original interface defined
@@ -61,7 +34,648 @@
 PASS Partial interface HTMLTableCellElement: original interface defined
 PASS Partial interface HTMLTableRowElement: original interface defined
 PASS Partial interface HTMLUListElement: original interface defined
-FAIL Partial interface Document[2]: original interface defined assert_true: Original interface should be defined expected true got false
+PASS Partial interface Document[2]: original interface defined
 PASS Partial interface Window: original interface defined
+PASS Window interface: existence and properties of interface object
+PASS Window interface object length
+PASS Window interface object name
+PASS Window interface: existence and properties of interface prototype object
+PASS Window interface: internal [[SetPrototypeOf]] method of interface prototype object - setting to a new value via Object.setPrototypeOf should throw a TypeError
+PASS Window interface: internal [[SetPrototypeOf]] method of interface prototype object - setting to a new value via __proto__ should throw a TypeError
+PASS Window interface: internal [[SetPrototypeOf]] method of interface prototype object - setting to a new value via Reflect.setPrototypeOf should return false
+PASS Window interface: internal [[SetPrototypeOf]] method of interface prototype object - setting to its original value via Object.setPrototypeOf should not throw
+PASS Window interface: internal [[SetPrototypeOf]] method of interface prototype object - setting to its original value via __proto__ should not throw
+PASS Window interface: internal [[SetPrototypeOf]] method of interface prototype object - setting to its original value via Reflect.setPrototypeOf should return true
+PASS Window interface: existence and properties of interface prototype object's "constructor" property
+PASS Window interface: existence and properties of interface prototype object's @@unscopables property
+FAIL Window interface: attribute self assert_equals: "self" must have a getter expected "function" but got "undefined"
+PASS Window interface: attribute name
+PASS Window interface: attribute history
+PASS Window interface: attribute customElements
+PASS Window interface: attribute locationbar
+PASS Window interface: attribute menubar
+PASS Window interface: attribute personalbar
+PASS Window interface: attribute scrollbars
+PASS Window interface: attribute statusbar
+PASS Window interface: attribute toolbar
+PASS Window interface: attribute status
+PASS Window interface: operation close()
+FAIL Window interface: attribute closed assert_equals: "closed" must have a getter expected "function" but got "undefined"
+PASS Window interface: operation stop()
+PASS Window interface: operation focus()
+PASS Window interface: operation blur()
+FAIL Window interface: attribute frames assert_equals: "frames" must have a getter expected "function" but got "undefined"
+FAIL Window interface: attribute length assert_equals: "length" must have a getter expected "function" but got "undefined"
+FAIL Window interface: attribute opener assert_equals: "opener" must have a getter expected "function" but got "undefined"
+FAIL Window interface: attribute parent assert_equals: "parent" must have a getter expected "function" but got "undefined"
+PASS Window interface: attribute frameElement
+PASS Window interface: operation open(USVString, DOMString, DOMString)
+PASS Window interface: attribute navigator
+PASS Window interface: attribute applicationCache
+PASS Window interface: operation alert()
+PASS Window interface: operation alert(DOMString)
+PASS Window interface: operation confirm(DOMString)
+PASS Window interface: operation prompt(DOMString, DOMString)
+PASS Window interface: operation print()
+PASS Window interface: operation requestAnimationFrame(FrameRequestCallback)
+PASS Window interface: operation cancelAnimationFrame(unsigned long)
+PASS Window interface: operation postMessage(any, USVString, [object Object])
+PASS Window interface: operation postMessage(any, [object Object], WindowPostMessageOptions)
+PASS Window interface: operation captureEvents()
+PASS Window interface: operation releaseEvents()
+PASS Window interface: attribute external
+PASS Window interface: attribute onabort
+PASS Window interface: attribute onauxclick
+PASS Window interface: attribute onblur
+PASS Window interface: attribute oncancel
+PASS Window interface: attribute oncanplay
+PASS Window interface: attribute oncanplaythrough
+PASS Window interface: attribute onchange
+PASS Window interface: attribute onclick
+PASS Window interface: attribute onclose
+PASS Window interface: attribute oncontextmenu
+PASS Window interface: attribute oncuechange
+PASS Window interface: attribute ondblclick
+PASS Window interface: attribute ondrag
+PASS Window interface: attribute ondragend
+PASS Window interface: attribute ondragenter
+FAIL Window interface: attribute ondragexit assert_own_property: The global object must have a property "ondragexit" expected property "ondragexit" missing
+PASS Window interface: attribute ondragleave
+PASS Window interface: attribute ondragover
+PASS Window interface: attribute ondragstart
+PASS Window interface: attribute ondrop
+PASS Window interface: attribute ondurationchange
+PASS Window interface: attribute onemptied
+PASS Window interface: attribute onended
+PASS Window interface: attribute onerror
+PASS Window interface: attribute onfocus
+PASS Window interface: attribute oninput
+PASS Window interface: attribute oninvalid
+PASS Window interface: attribute onkeydown
+PASS Window interface: attribute onkeypress
+PASS Window interface: attribute onkeyup
+PASS Window interface: attribute onload
+PASS Window interface: attribute onloadeddata
+PASS Window interface: attribute onloadedmetadata
+FAIL Window interface: attribute onloadend assert_own_property: The global object must have a property "onloadend" expected property "onloadend" missing
+PASS Window interface: attribute onloadstart
+PASS Window interface: attribute onmousedown
+PASS Window interface: attribute onmouseenter
+PASS Window interface: attribute onmouseleave
+PASS Window interface: attribute onmousemove
+PASS Window interface: attribute onmouseout
+PASS Window interface: attribute onmouseover
+PASS Window interface: attribute onmouseup
+PASS Window interface: attribute onwheel
+PASS Window interface: attribute onpause
+PASS Window interface: attribute onplay
+PASS Window interface: attribute onplaying
+PASS Window interface: attribute onprogress
+PASS Window interface: attribute onratechange
+PASS Window interface: attribute onreset
+PASS Window interface: attribute onresize
+PASS Window interface: attribute onscroll
+FAIL Window interface: attribute onsecuritypolicyviolation assert_own_property: The global object must have a property "onsecuritypolicyviolation" expected property "onsecuritypolicyviolation" missing
+PASS Window interface: attribute onseeked
+PASS Window interface: attribute onseeking
+PASS Window interface: attribute onselect
+PASS Window interface: attribute onstalled
+PASS Window interface: attribute onsubmit
+PASS Window interface: attribute onsuspend
+PASS Window interface: attribute ontimeupdate
+PASS Window interface: attribute ontoggle
+PASS Window interface: attribute onvolumechange
+PASS Window interface: attribute onwaiting
+PASS Window interface: attribute onafterprint
+PASS Window interface: attribute onbeforeprint
+PASS Window interface: attribute onbeforeunload
+PASS Window interface: attribute onhashchange
+PASS Window interface: attribute onlanguagechange
+PASS Window interface: attribute onmessage
+PASS Window interface: attribute onmessageerror
+PASS Window interface: attribute onoffline
+PASS Window interface: attribute ononline
+PASS Window interface: attribute onpagehide
+PASS Window interface: attribute onpageshow
+PASS Window interface: attribute onpopstate
+PASS Window interface: attribute onrejectionhandled
+PASS Window interface: attribute onstorage
+PASS Window interface: attribute onunhandledrejection
+PASS Window interface: attribute onunload
+PASS Window interface: attribute origin
+PASS Window interface: operation btoa(DOMString)
+PASS Window interface: operation atob(DOMString)
+PASS Window interface: operation setTimeout(TimerHandler, long, any)
+PASS Window interface: operation clearTimeout(long)
+PASS Window interface: operation setInterval(TimerHandler, long, any)
+PASS Window interface: operation clearInterval(long)
+PASS Window interface: operation createImageBitmap(ImageBitmapSource, ImageBitmapOptions)
+PASS Window interface: operation createImageBitmap(ImageBitmapSource, long, long, long, long, ImageBitmapOptions)
+PASS Window interface: attribute sessionStorage
+PASS Window interface: attribute localStorage
+PASS Window interface: internal [[SetPrototypeOf]] method of global platform object - setting to a new value via Object.setPrototypeOf should throw a TypeError
+PASS Window interface: internal [[SetPrototypeOf]] method of global platform object - setting to a new value via __proto__ should throw a TypeError
+PASS Window interface: internal [[SetPrototypeOf]] method of global platform object - setting to a new value via Reflect.setPrototypeOf should return false
+PASS Window interface: internal [[SetPrototypeOf]] method of global platform object - setting to its original value via Object.setPrototypeOf should not throw
+PASS Window interface: internal [[SetPrototypeOf]] method of global platform object - setting to its original value via __proto__ should not throw
+PASS Window interface: internal [[SetPrototypeOf]] method of global platform object - setting to its original value via Reflect.setPrototypeOf should return true
+PASS Window must be primary interface of window
+PASS Stringification of window
+FAIL Window interface: window must have own property "window" assert_false: property descriptor should not have a "value" field expected false got true
+FAIL Window interface: window must inherit property "self" with the proper type Unrecognized type WindowProxy
+PASS Window interface: window must have own property "document"
+PASS Window interface: window must inherit property "name" with the proper type
+FAIL Window interface: window must have own property "location" assert_false: property descriptor should not have a "value" field expected false got true
+PASS Window interface: window must inherit property "history" with the proper type
+PASS Window interface: window must inherit property "customElements" with the proper type
+PASS Window interface: window must inherit property "locationbar" with the proper type
+PASS Window interface: window must inherit property "menubar" with the proper type
+PASS Window interface: window must inherit property "personalbar" with the proper type
+PASS Window interface: window must inherit property "scrollbars" with the proper type
+PASS Window interface: window must inherit property "statusbar" with the proper type
+PASS Window interface: window must inherit property "toolbar" with the proper type
+PASS Window interface: window must inherit property "status" with the proper type
+PASS Window interface: window must inherit property "close()" with the proper type
+PASS Window interface: window must inherit property "closed" with the proper type
+PASS Window interface: window must inherit property "stop()" with the proper type
+PASS Window interface: window must inherit property "focus()" with the proper type
+PASS Window interface: window must inherit property "blur()" with the proper type
+FAIL Window interface: window must inherit property "frames" with the proper type Unrecognized type WindowProxy
+PASS Window interface: window must inherit property "length" with the proper type
+FAIL Window interface: window must have own property "top" assert_false: property descriptor should not have a "value" field expected false got true
+PASS Window interface: window must inherit property "opener" with the proper type
+FAIL Window interface: window must inherit property "parent" with the proper type Unrecognized type WindowProxy
+PASS Window interface: window must inherit property "frameElement" with the proper type
+PASS Window interface: window must inherit property "open(USVString, DOMString, DOMString)" with the proper type
+PASS Window interface: calling open(USVString, DOMString, DOMString) on window with too few arguments must throw TypeError
+PASS Window interface: window must inherit property "navigator" with the proper type
+PASS Window interface: window must inherit property "applicationCache" with the proper type
+PASS Window interface: window must inherit property "alert()" with the proper type
+PASS Window interface: window must inherit property "alert(DOMString)" with the proper type
+PASS Window interface: calling alert(DOMString) on window with too few arguments must throw TypeError
+PASS Window interface: window must inherit property "confirm(DOMString)" with the proper type
+PASS Window interface: calling confirm(DOMString) on window with too few arguments must throw TypeError
+PASS Window interface: window must inherit property "prompt(DOMString, DOMString)" with the proper type
+PASS Window interface: calling prompt(DOMString, DOMString) on window with too few arguments must throw TypeError
+PASS Window interface: window must inherit property "print()" with the proper type
+PASS Window interface: window must inherit property "requestAnimationFrame(FrameRequestCallback)" with the proper type
+PASS Window interface: calling requestAnimationFrame(FrameRequestCallback) on window with too few arguments must throw TypeError
+PASS Window interface: window must inherit property "cancelAnimationFrame(unsigned long)" with the proper type
+PASS Window interface: calling cancelAnimationFrame(unsigned long) on window with too few arguments must throw TypeError
+PASS Window interface: window must inherit property "postMessage(any, USVString, [object Object])" with the proper type
+PASS Window interface: calling postMessage(any, USVString, [object Object]) on window with too few arguments must throw TypeError
+PASS Window interface: window must inherit property "postMessage(any, [object Object], WindowPostMessageOptions)" with the proper type
+PASS Window interface: calling postMessage(any, [object Object], WindowPostMessageOptions) on window with too few arguments must throw TypeError
+PASS Window interface: window must inherit property "captureEvents()" with the proper type
+PASS Window interface: window must inherit property "releaseEvents()" with the proper type
+PASS Window interface: window must inherit property "external" with the proper type
+PASS Window interface: window must inherit property "onabort" with the proper type
+PASS Window interface: window must inherit property "onauxclick" with the proper type
+PASS Window interface: window must inherit property "onblur" with the proper type
+PASS Window interface: window must inherit property "oncancel" with the proper type
+PASS Window interface: window must inherit property "oncanplay" with the proper type
+PASS Window interface: window must inherit property "oncanplaythrough" with the proper type
+PASS Window interface: window must inherit property "onchange" with the proper type
+PASS Window interface: window must inherit property "onclick" with the proper type
+PASS Window interface: window must inherit property "onclose" with the proper type
+PASS Window interface: window must inherit property "oncontextmenu" with the proper type
+PASS Window interface: window must inherit property "oncuechange" with the proper type
+PASS Window interface: window must inherit property "ondblclick" with the proper type
+PASS Window interface: window must inherit property "ondrag" with the proper type
+PASS Window interface: window must inherit property "ondragend" with the proper type
+PASS Window interface: window must inherit property "ondragenter" with the proper type
+FAIL Window interface: window must inherit property "ondragexit" with the proper type assert_own_property: expected property "ondragexit" missing
+PASS Window interface: window must inherit property "ondragleave" with the proper type
+PASS Window interface: window must inherit property "ondragover" with the proper type
+PASS Window interface: window must inherit property "ondragstart" with the proper type
+PASS Window interface: window must inherit property "ondrop" with the proper type
+PASS Window interface: window must inherit property "ondurationchange" with the proper type
+PASS Window interface: window must inherit property "onemptied" with the proper type
+PASS Window interface: window must inherit property "onended" with the proper type
+PASS Window interface: window must inherit property "onerror" with the proper type
+PASS Window interface: window must inherit property "onfocus" with the proper type
+PASS Window interface: window must inherit property "oninput" with the proper type
+PASS Window interface: window must inherit property "oninvalid" with the proper type
+PASS Window interface: window must inherit property "onkeydown" with the proper type
+PASS Window interface: window must inherit property "onkeypress" with the proper type
+PASS Window interface: window must inherit property "onkeyup" with the proper type
+PASS Window interface: window must inherit property "onload" with the proper type
+PASS Window interface: window must inherit property "onloadeddata" with the proper type
+PASS Window interface: window must inherit property "onloadedmetadata" with the proper type
+FAIL Window interface: window must inherit property "onloadend" with the proper type assert_own_property: expected property "onloadend" missing
+PASS Window interface: window must inherit property "onloadstart" with the proper type
+PASS Window interface: window must inherit property "onmousedown" with the proper type
+PASS Window interface: window must inherit property "onmouseenter" with the proper type
+PASS Window interface: window must inherit property "onmouseleave" with the proper type
+PASS Window interface: window must inherit property "onmousemove" with the proper type
+PASS Window interface: window must inherit property "onmouseout" with the proper type
+PASS Window interface: window must inherit property "onmouseover" with the proper type
+PASS Window interface: window must inherit property "onmouseup" with the proper type
+PASS Window interface: window must inherit property "onwheel" with the proper type
+PASS Window interface: window must inherit property "onpause" with the proper type
+PASS Window interface: window must inherit property "onplay" with the proper type
+PASS Window interface: window must inherit property "onplaying" with the proper type
+PASS Window interface: window must inherit property "onprogress" with the proper type
+PASS Window interface: window must inherit property "onratechange" with the proper type
+PASS Window interface: window must inherit property "onreset" with the proper type
+PASS Window interface: window must inherit property "onresize" with the proper type
+PASS Window interface: window must inherit property "onscroll" with the proper type
+FAIL Window interface: window must inherit property "onsecuritypolicyviolation" with the proper type assert_own_property: expected property "onsecuritypolicyviolation" missing
+PASS Window interface: window must inherit property "onseeked" with the proper type
+PASS Window interface: window must inherit property "onseeking" with the proper type
+PASS Window interface: window must inherit property "onselect" with the proper type
+PASS Window interface: window must inherit property "onstalled" with the proper type
+PASS Window interface: window must inherit property "onsubmit" with the proper type
+PASS Window interface: window must inherit property "onsuspend" with the proper type
+PASS Window interface: window must inherit property "ontimeupdate" with the proper type
+PASS Window interface: window must inherit property "ontoggle" with the proper type
+PASS Window interface: window must inherit property "onvolumechange" with the proper type
+PASS Window interface: window must inherit property "onwaiting" with the proper type
+PASS Window interface: window must inherit property "onafterprint" with the proper type
+PASS Window interface: window must inherit property "onbeforeprint" with the proper type
+PASS Window interface: window must inherit property "onbeforeunload" with the proper type
+PASS Window interface: window must inherit property "onhashchange" with the proper type
+PASS Window interface: window must inherit property "onlanguagechange" with the proper type
+PASS Window interface: window must inherit property "onmessage" with the proper type
+PASS Window interface: window must inherit property "onmessageerror" with the proper type
+PASS Window interface: window must inherit property "onoffline" with the proper type
+PASS Window interface: window must inherit property "ononline" with the proper type
+PASS Window interface: window must inherit property "onpagehide" with the proper type
+PASS Window interface: window must inherit property "onpageshow" with the proper type
+PASS Window interface: window must inherit property "onpopstate" with the proper type
+PASS Window interface: window must inherit property "onrejectionhandled" with the proper type
+PASS Window interface: window must inherit property "onstorage" with the proper type
+PASS Window interface: window must inherit property "onunhandledrejection" with the proper type
+PASS Window interface: window must inherit property "onunload" with the proper type
+PASS Window interface: window must inherit property "origin" with the proper type
+PASS Window interface: window must inherit property "btoa(DOMString)" with the proper type
+PASS Window interface: calling btoa(DOMString) on window with too few arguments must throw TypeError
+PASS Window interface: window must inherit property "atob(DOMString)" with the proper type
+PASS Window interface: calling atob(DOMString) on window with too few arguments must throw TypeError
+PASS Window interface: window must inherit property "setTimeout(TimerHandler, long, any)" with the proper type
+PASS Window interface: calling setTimeout(TimerHandler, long, any) on window with too few arguments must throw TypeError
+PASS Window interface: window must inherit property "clearTimeout(long)" with the proper type
+PASS Window interface: calling clearTimeout(long) on window with too few arguments must throw TypeError
+PASS Window interface: window must inherit property "setInterval(TimerHandler, long, any)" with the proper type
+PASS Window interface: calling setInterval(TimerHandler, long, any) on window with too few arguments must throw TypeError
+PASS Window interface: window must inherit property "clearInterval(long)" with the proper type
+PASS Window interface: calling clearInterval(long) on window with too few arguments must throw TypeError
+PASS Window interface: window must inherit property "createImageBitmap(ImageBitmapSource, ImageBitmapOptions)" with the proper type
+PASS Window interface: calling createImageBitmap(ImageBitmapSource, ImageBitmapOptions) on window with too few arguments must throw TypeError
+PASS Window interface: window must inherit property "createImageBitmap(ImageBitmapSource, long, long, long, long, ImageBitmapOptions)" with the proper type
+PASS Window interface: calling createImageBitmap(ImageBitmapSource, long, long, long, long, ImageBitmapOptions) on window with too few arguments must throw TypeError
+PASS Window interface: window must inherit property "sessionStorage" with the proper type
+PASS Window interface: window must inherit property "localStorage" with the proper type
+PASS Document interface: attribute domain
+PASS Document interface: attribute referrer
+PASS Document interface: attribute cookie
+PASS Document interface: attribute lastModified
+PASS Document interface: attribute readyState
+PASS Document interface: attribute title
+PASS Document interface: attribute dir
+PASS Document interface: attribute body
+PASS Document interface: attribute head
+PASS Document interface: attribute images
+PASS Document interface: attribute embeds
+PASS Document interface: attribute plugins
+PASS Document interface: attribute links
+PASS Document interface: attribute forms
+PASS Document interface: attribute scripts
+PASS Document interface: operation getElementsByName(DOMString)
+PASS Document interface: attribute currentScript
+PASS Document interface: operation open(DOMString, DOMString)
+PASS Document interface: operation open(USVString, DOMString, DOMString)
+PASS Document interface: operation close()
+PASS Document interface: operation write(DOMString)
+PASS Document interface: operation writeln(DOMString)
+PASS Document interface: attribute defaultView
+PASS Document interface: attribute activeElement
+PASS Document interface: operation hasFocus()
+PASS Document interface: attribute designMode
+PASS Document interface: operation execCommand(DOMString, boolean, DOMString)
+PASS Document interface: operation queryCommandEnabled(DOMString)
+PASS Document interface: operation queryCommandIndeterm(DOMString)
+PASS Document interface: operation queryCommandState(DOMString)
+PASS Document interface: operation queryCommandSupported(DOMString)
+PASS Document interface: operation queryCommandValue(DOMString)
+PASS Document interface: attribute onreadystatechange
+PASS Document interface: attribute fgColor
+PASS Document interface: attribute linkColor
+PASS Document interface: attribute vlinkColor
+PASS Document interface: attribute alinkColor
+PASS Document interface: attribute bgColor
+PASS Document interface: attribute anchors
+PASS Document interface: attribute applets
+PASS Document interface: operation clear()
+PASS Document interface: operation captureEvents()
+PASS Document interface: operation releaseEvents()
+PASS Document interface: attribute all
+PASS Document interface: attribute onabort
+PASS Document interface: attribute onauxclick
+PASS Document interface: attribute onblur
+PASS Document interface: attribute oncancel
+PASS Document interface: attribute oncanplay
+PASS Document interface: attribute oncanplaythrough
+PASS Document interface: attribute onchange
+PASS Document interface: attribute onclick
+PASS Document interface: attribute onclose
+PASS Document interface: attribute oncontextmenu
+PASS Document interface: attribute oncuechange
+PASS Document interface: attribute ondblclick
+PASS Document interface: attribute ondrag
+PASS Document interface: attribute ondragend
+PASS Document interface: attribute ondragenter
+FAIL Document interface: attribute ondragexit assert_true: The prototype object must have a property "ondragexit" expected true got false
+PASS Document interface: attribute ondragleave
+PASS Document interface: attribute ondragover
+PASS Document interface: attribute ondragstart
+PASS Document interface: attribute ondrop
+PASS Document interface: attribute ondurationchange
+PASS Document interface: attribute onemptied
+PASS Document interface: attribute onended
+PASS Document interface: attribute onerror
+PASS Document interface: attribute onfocus
+PASS Document interface: attribute oninput
+PASS Document interface: attribute oninvalid
+PASS Document interface: attribute onkeydown
+PASS Document interface: attribute onkeypress
+PASS Document interface: attribute onkeyup
+PASS Document interface: attribute onload
+PASS Document interface: attribute onloadeddata
+PASS Document interface: attribute onloadedmetadata
+FAIL Document interface: attribute onloadend assert_true: The prototype object must have a property "onloadend" expected true got false
+PASS Document interface: attribute onloadstart
+PASS Document interface: attribute onmousedown
+PASS Document interface: attribute onmouseenter
+PASS Document interface: attribute onmouseleave
+PASS Document interface: attribute onmousemove
+PASS Document interface: attribute onmouseout
+PASS Document interface: attribute onmouseover
+PASS Document interface: attribute onmouseup
+PASS Document interface: attribute onwheel
+PASS Document interface: attribute onpause
+PASS Document interface: attribute onplay
+PASS Document interface: attribute onplaying
+PASS Document interface: attribute onprogress
+PASS Document interface: attribute onratechange
+PASS Document interface: attribute onreset
+PASS Document interface: attribute onresize
+PASS Document interface: attribute onscroll
+PASS Document interface: attribute onsecuritypolicyviolation
+PASS Document interface: attribute onseeked
+PASS Document interface: attribute onseeking
+PASS Document interface: attribute onselect
+PASS Document interface: attribute onstalled
+PASS Document interface: attribute onsubmit
+PASS Document interface: attribute onsuspend
+PASS Document interface: attribute ontimeupdate
+PASS Document interface: attribute ontoggle
+PASS Document interface: attribute onvolumechange
+PASS Document interface: attribute onwaiting
+PASS Document interface: attribute oncopy
+PASS Document interface: attribute oncut
+PASS Document interface: attribute onpaste
+PASS Document interface: iframe.contentDocument must have own property "location"
+PASS Document interface: iframe.contentDocument must inherit property "domain" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "referrer" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "cookie" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "lastModified" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "readyState" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "title" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "dir" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "body" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "head" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "images" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "embeds" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "plugins" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "links" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "forms" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "scripts" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "getElementsByName(DOMString)" with the proper type
+PASS Document interface: calling getElementsByName(DOMString) on iframe.contentDocument with too few arguments must throw TypeError
+PASS Document interface: iframe.contentDocument must inherit property "currentScript" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "open(DOMString, DOMString)" with the proper type
+PASS Document interface: calling open(DOMString, DOMString) on iframe.contentDocument with too few arguments must throw TypeError
+PASS Document interface: iframe.contentDocument must inherit property "open(USVString, DOMString, DOMString)" with the proper type
+PASS Document interface: calling open(USVString, DOMString, DOMString) on iframe.contentDocument with too few arguments must throw TypeError
+PASS Document interface: iframe.contentDocument must inherit property "close()" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "write(DOMString)" with the proper type
+PASS Document interface: calling write(DOMString) on iframe.contentDocument with too few arguments must throw TypeError
+PASS Document interface: iframe.contentDocument must inherit property "writeln(DOMString)" with the proper type
+PASS Document interface: calling writeln(DOMString) on iframe.contentDocument with too few arguments must throw TypeError
+FAIL Document interface: iframe.contentDocument must inherit property "defaultView" with the proper type Unrecognized type WindowProxy
+PASS Document interface: iframe.contentDocument must inherit property "activeElement" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "hasFocus()" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "designMode" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "execCommand(DOMString, boolean, DOMString)" with the proper type
+PASS Document interface: calling execCommand(DOMString, boolean, DOMString) on iframe.contentDocument with too few arguments must throw TypeError
+PASS Document interface: iframe.contentDocument must inherit property "queryCommandEnabled(DOMString)" with the proper type
+PASS Document interface: calling queryCommandEnabled(DOMString) on iframe.contentDocument with too few arguments must throw TypeError
+PASS Document interface: iframe.contentDocument must inherit property "queryCommandIndeterm(DOMString)" with the proper type
+PASS Document interface: calling queryCommandIndeterm(DOMString) on iframe.contentDocument with too few arguments must throw TypeError
+PASS Document interface: iframe.contentDocument must inherit property "queryCommandState(DOMString)" with the proper type
+PASS Document interface: calling queryCommandState(DOMString) on iframe.contentDocument with too few arguments must throw TypeError
+PASS Document interface: iframe.contentDocument must inherit property "queryCommandSupported(DOMString)" with the proper type
+PASS Document interface: calling queryCommandSupported(DOMString) on iframe.contentDocument with too few arguments must throw TypeError
+PASS Document interface: iframe.contentDocument must inherit property "queryCommandValue(DOMString)" with the proper type
+PASS Document interface: calling queryCommandValue(DOMString) on iframe.contentDocument with too few arguments must throw TypeError
+PASS Document interface: iframe.contentDocument must inherit property "onreadystatechange" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "fgColor" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "linkColor" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "vlinkColor" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "alinkColor" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "bgColor" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "anchors" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "applets" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "clear()" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "captureEvents()" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "releaseEvents()" with the proper type
+FAIL Document interface: iframe.contentDocument must inherit property "all" with the proper type assert_in_array: wrong type: not object or function value "undefined" not in array ["object", "function"]
+PASS Document interface: iframe.contentDocument must inherit property "onabort" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "onauxclick" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "onblur" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "oncancel" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "oncanplay" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "oncanplaythrough" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "onchange" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "onclick" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "onclose" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "oncontextmenu" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "oncuechange" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "ondblclick" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "ondrag" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "ondragend" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "ondragenter" with the proper type
+FAIL Document interface: iframe.contentDocument must inherit property "ondragexit" with the proper type assert_inherits: property "ondragexit" not found in prototype chain
+PASS Document interface: iframe.contentDocument must inherit property "ondragleave" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "ondragover" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "ondragstart" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "ondrop" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "ondurationchange" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "onemptied" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "onended" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "onerror" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "onfocus" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "oninput" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "oninvalid" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "onkeydown" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "onkeypress" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "onkeyup" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "onload" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "onloadeddata" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "onloadedmetadata" with the proper type
+FAIL Document interface: iframe.contentDocument must inherit property "onloadend" with the proper type assert_inherits: property "onloadend" not found in prototype chain
+PASS Document interface: iframe.contentDocument must inherit property "onloadstart" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "onmousedown" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "onmouseenter" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "onmouseleave" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "onmousemove" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "onmouseout" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "onmouseover" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "onmouseup" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "onwheel" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "onpause" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "onplay" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "onplaying" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "onprogress" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "onratechange" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "onreset" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "onresize" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "onscroll" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "onsecuritypolicyviolation" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "onseeked" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "onseeking" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "onselect" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "onstalled" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "onsubmit" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "onsuspend" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "ontimeupdate" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "ontoggle" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "onvolumechange" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "onwaiting" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "oncopy" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "oncut" with the proper type
+PASS Document interface: iframe.contentDocument must inherit property "onpaste" with the proper type
+PASS Document interface: new Document() must have own property "location"
+PASS Document interface: new Document() must inherit property "domain" with the proper type
+PASS Document interface: new Document() must inherit property "referrer" with the proper type
+PASS Document interface: new Document() must inherit property "cookie" with the proper type
+PASS Document interface: new Document() must inherit property "lastModified" with the proper type
+PASS Document interface: new Document() must inherit property "readyState" with the proper type
+PASS Document interface: new Document() must inherit property "title" with the proper type
+PASS Document interface: new Document() must inherit property "dir" with the proper type
+PASS Document interface: new Document() must inherit property "body" with the proper type
+PASS Document interface: new Document() must inherit property "head" with the proper type
+PASS Document interface: new Document() must inherit property "images" with the proper type
+PASS Document interface: new Document() must inherit property "embeds" with the proper type
+PASS Document interface: new Document() must inherit property "plugins" with the proper type
+PASS Document interface: new Document() must inherit property "links" with the proper type
+PASS Document interface: new Document() must inherit property "forms" with the proper type
+PASS Document interface: new Document() must inherit property "scripts" with the proper type
+PASS Document interface: new Document() must inherit property "getElementsByName(DOMString)" with the proper type
+PASS Document interface: calling getElementsByName(DOMString) on new Document() with too few arguments must throw TypeError
+PASS Document interface: new Document() must inherit property "currentScript" with the proper type
+PASS Document interface: new Document() must inherit property "open(DOMString, DOMString)" with the proper type
+PASS Document interface: calling open(DOMString, DOMString) on new Document() with too few arguments must throw TypeError
+PASS Document interface: new Document() must inherit property "open(USVString, DOMString, DOMString)" with the proper type
+PASS Document interface: calling open(USVString, DOMString, DOMString) on new Document() with too few arguments must throw TypeError
+PASS Document interface: new Document() must inherit property "close()" with the proper type
+PASS Document interface: new Document() must inherit property "write(DOMString)" with the proper type
+PASS Document interface: calling write(DOMString) on new Document() with too few arguments must throw TypeError
+PASS Document interface: new Document() must inherit property "writeln(DOMString)" with the proper type
+PASS Document interface: calling writeln(DOMString) on new Document() with too few arguments must throw TypeError
+PASS Document interface: new Document() must inherit property "defaultView" with the proper type
+PASS Document interface: new Document() must inherit property "activeElement" with the proper type
+PASS Document interface: new Document() must inherit property "hasFocus()" with the proper type
+PASS Document interface: new Document() must inherit property "designMode" with the proper type
+PASS Document interface: new Document() must inherit property "execCommand(DOMString, boolean, DOMString)" with the proper type
+PASS Document interface: calling execCommand(DOMString, boolean, DOMString) on new Document() with too few arguments must throw TypeError
+PASS Document interface: new Document() must inherit property "queryCommandEnabled(DOMString)" with the proper type
+PASS Document interface: calling queryCommandEnabled(DOMString) on new Document() with too few arguments must throw TypeError
+PASS Document interface: new Document() must inherit property "queryCommandIndeterm(DOMString)" with the proper type
+PASS Document interface: calling queryCommandIndeterm(DOMString) on new Document() with too few arguments must throw TypeError
+PASS Document interface: new Document() must inherit property "queryCommandState(DOMString)" with the proper type
+PASS Document interface: calling queryCommandState(DOMString) on new Document() with too few arguments must throw TypeError
+PASS Document interface: new Document() must inherit property "queryCommandSupported(DOMString)" with the proper type
+PASS Document interface: calling queryCommandSupported(DOMString) on new Document() with too few arguments must throw TypeError
+PASS Document interface: new Document() must inherit property "queryCommandValue(DOMString)" with the proper type
+PASS Document interface: calling queryCommandValue(DOMString) on new Document() with too few arguments must throw TypeError
+PASS Document interface: new Document() must inherit property "onreadystatechange" with the proper type
+PASS Document interface: new Document() must inherit property "fgColor" with the proper type
+PASS Document interface: new Document() must inherit property "linkColor" with the proper type
+PASS Document interface: new Document() must inherit property "vlinkColor" with the proper type
+PASS Document interface: new Document() must inherit property "alinkColor" with the proper type
+PASS Document interface: new Document() must inherit property "bgColor" with the proper type
+PASS Document interface: new Document() must inherit property "anchors" with the proper type
+PASS Document interface: new Document() must inherit property "applets" with the proper type
+PASS Document interface: new Document() must inherit property "clear()" with the proper type
+PASS Document interface: new Document() must inherit property "captureEvents()" with the proper type
+PASS Document interface: new Document() must inherit property "releaseEvents()" with the proper type
+FAIL Document interface: new Document() must inherit property "all" with the proper type assert_in_array: wrong type: not object or function value "undefined" not in array ["object", "function"]
+PASS Document interface: new Document() must inherit property "onabort" with the proper type
+PASS Document interface: new Document() must inherit property "onauxclick" with the proper type
+PASS Document interface: new Document() must inherit property "onblur" with the proper type
+PASS Document interface: new Document() must inherit property "oncancel" with the proper type
+PASS Document interface: new Document() must inherit property "oncanplay" with the proper type
+PASS Document interface: new Document() must inherit property "oncanplaythrough" with the proper type
+PASS Document interface: new Document() must inherit property "onchange" with the proper type
+PASS Document interface: new Document() must inherit property "onclick" with the proper type
+PASS Document interface: new Document() must inherit property "onclose" with the proper type
+PASS Document interface: new Document() must inherit property "oncontextmenu" with the proper type
+PASS Document interface: new Document() must inherit property "oncuechange" with the proper type
+PASS Document interface: new Document() must inherit property "ondblclick" with the proper type
+PASS Document interface: new Document() must inherit property "ondrag" with the proper type
+PASS Document interface: new Document() must inherit property "ondragend" with the proper type
+PASS Document interface: new Document() must inherit property "ondragenter" with the proper type
+FAIL Document interface: new Document() must inherit property "ondragexit" with the proper type assert_inherits: property "ondragexit" not found in prototype chain
+PASS Document interface: new Document() must inherit property "ondragleave" with the proper type
+PASS Document interface: new Document() must inherit property "ondragover" with the proper type
+PASS Document interface: new Document() must inherit property "ondragstart" with the proper type
+PASS Document interface: new Document() must inherit property "ondrop" with the proper type
+PASS Document interface: new Document() must inherit property "ondurationchange" with the proper type
+PASS Document interface: new Document() must inherit property "onemptied" with the proper type
+PASS Document interface: new Document() must inherit property "onended" with the proper type
+PASS Document interface: new Document() must inherit property "onerror" with the proper type
+PASS Document interface: new Document() must inherit property "onfocus" with the proper type
+PASS Document interface: new Document() must inherit property "oninput" with the proper type
+PASS Document interface: new Document() must inherit property "oninvalid" with the proper type
+PASS Document interface: new Document() must inherit property "onkeydown" with the proper type
+PASS Document interface: new Document() must inherit property "onkeypress" with the proper type
+PASS Document interface: new Document() must inherit property "onkeyup" with the proper type
+PASS Document interface: new Document() must inherit property "onload" with the proper type
+PASS Document interface: new Document() must inherit property "onloadeddata" with the proper type
+PASS Document interface: new Document() must inherit property "onloadedmetadata" with the proper type
+FAIL Document interface: new Document() must inherit property "onloadend" with the proper type assert_inherits: property "onloadend" not found in prototype chain
+PASS Document interface: new Document() must inherit property "onloadstart" with the proper type
+PASS Document interface: new Document() must inherit property "onmousedown" with the proper type
+PASS Document interface: new Document() must inherit property "onmouseenter" with the proper type
+PASS Document interface: new Document() must inherit property "onmouseleave" with the proper type
+PASS Document interface: new Document() must inherit property "onmousemove" with the proper type
+PASS Document interface: new Document() must inherit property "onmouseout" with the proper type
+PASS Document interface: new Document() must inherit property "onmouseover" with the proper type
+PASS Document interface: new Document() must inherit property "onmouseup" with the proper type
+PASS Document interface: new Document() must inherit property "onwheel" with the proper type
+PASS Document interface: new Document() must inherit property "onpause" with the proper type
+PASS Document interface: new Document() must inherit property "onplay" with the proper type
+PASS Document interface: new Document() must inherit property "onplaying" with the proper type
+PASS Document interface: new Document() must inherit property "onprogress" with the proper type
+PASS Document interface: new Document() must inherit property "onratechange" with the proper type
+PASS Document interface: new Document() must inherit property "onreset" with the proper type
+PASS Document interface: new Document() must inherit property "onresize" with the proper type
+PASS Document interface: new Document() must inherit property "onscroll" with the proper type
+PASS Document interface: new Document() must inherit property "onsecuritypolicyviolation" with the proper type
+PASS Document interface: new Document() must inherit property "onseeked" with the proper type
+PASS Document interface: new Document() must inherit property "onseeking" with the proper type
+PASS Document interface: new Document() must inherit property "onselect" with the proper type
+PASS Document interface: new Document() must inherit property "onstalled" with the proper type
+PASS Document interface: new Document() must inherit property "onsubmit" with the proper type
+PASS Document interface: new Document() must inherit property "onsuspend" with the proper type
+PASS Document interface: new Document() must inherit property "ontimeupdate" with the proper type
+PASS Document interface: new Document() must inherit property "ontoggle" with the proper type
+PASS Document interface: new Document() must inherit property "onvolumechange" with the proper type
+PASS Document interface: new Document() must inherit property "onwaiting" with the proper type
+PASS Document interface: new Document() must inherit property "oncopy" with the proper type
+PASS Document interface: new Document() must inherit property "oncut" with the proper type
+PASS Document interface: new Document() must inherit property "onpaste" with the proper type
 Harness: the test ran to completion.
 
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/interfaces.https_include=HTML._-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/html/dom/interfaces.https_include=HTML._-expected.txt
index 38d949359..26e4d07 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/html/dom/interfaces.https_include=HTML._-expected.txt
+++ b/third_party/WebKit/LayoutTests/external/wpt/html/dom/interfaces.https_include=HTML._-expected.txt
@@ -1,33 +1,6 @@
 This is a testharness.js-based test.
-FAIL idl_test setup promise_test: Unhandled rejection with value: object "Got an error before parsing any named definition: Unrecognised tokens, line 1 (tokens: "{\"error\": {\"message\"")
-[
-    {
-        "type": "{",
-        "value": "{",
-        "trivia": ""
-    },
-    {
-        "type": "string",
-        "value": "\"error\"",
-        "trivia": ""
-    },
-    {
-        "type": ":",
-        "value": ":",
-        "trivia": ""
-    },
-    {
-        "type": "{",
-        "value": "{",
-        "trivia": " "
-    },
-    {
-        "type": "string",
-        "value": "\"message\"",
-        "trivia": ""
-    }
-]"
-FAIL Partial interface Document: original interface defined assert_true: Original interface should be defined expected true got false
+PASS idl_test setup
+PASS Partial interface Document: original interface defined
 PASS Partial interface NavigatorID: original interface defined
 PASS Partial interface HTMLAnchorElement: original interface defined
 PASS Partial interface HTMLAreaElement: original interface defined
@@ -61,7 +34,3549 @@
 PASS Partial interface HTMLTableCellElement: original interface defined
 PASS Partial interface HTMLTableRowElement: original interface defined
 PASS Partial interface HTMLUListElement: original interface defined
-FAIL Partial interface Document[2]: original interface defined assert_true: Original interface should be defined expected true got false
+PASS Partial interface Document[2]: original interface defined
 PASS Partial interface Window: original interface defined
+PASS HTMLAllCollection interface: existence and properties of interface object
+PASS HTMLAllCollection interface object length
+PASS HTMLAllCollection interface object name
+PASS HTMLAllCollection interface: existence and properties of interface prototype object
+PASS HTMLAllCollection interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLAllCollection interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLAllCollection interface: attribute length
+PASS HTMLAllCollection interface: operation namedItem(DOMString)
+PASS HTMLAllCollection interface: operation item(DOMString)
+FAIL HTMLAllCollection must be primary interface of document.all assert_equals: wrong typeof object expected "object" but got "undefined"
+FAIL Stringification of document.all assert_equals: wrong typeof object expected "object" but got "undefined"
+FAIL HTMLAllCollection interface: document.all must inherit property "length" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
+FAIL HTMLAllCollection interface: document.all must inherit property "namedItem(DOMString)" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
+FAIL HTMLAllCollection interface: calling namedItem(DOMString) on document.all with too few arguments must throw TypeError assert_equals: wrong typeof object expected "object" but got "undefined"
+FAIL HTMLAllCollection interface: document.all must inherit property "item(DOMString)" with the proper type assert_equals: wrong typeof object expected "object" but got "undefined"
+FAIL HTMLAllCollection interface: calling item(DOMString) on document.all with too few arguments must throw TypeError assert_equals: wrong typeof object expected "object" but got "undefined"
+PASS HTMLFormControlsCollection interface: existence and properties of interface object
+PASS HTMLFormControlsCollection interface object length
+PASS HTMLFormControlsCollection interface object name
+PASS HTMLFormControlsCollection interface: existence and properties of interface prototype object
+PASS HTMLFormControlsCollection interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLFormControlsCollection interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLFormControlsCollection interface: operation namedItem(DOMString)
+PASS HTMLFormControlsCollection must be primary interface of document.createElement("form").elements
+PASS Stringification of document.createElement("form").elements
+PASS HTMLFormControlsCollection interface: document.createElement("form").elements must inherit property "namedItem(DOMString)" with the proper type
+PASS HTMLFormControlsCollection interface: calling namedItem(DOMString) on document.createElement("form").elements with too few arguments must throw TypeError
+PASS HTMLOptionsCollection interface: existence and properties of interface object
+PASS HTMLOptionsCollection interface object length
+PASS HTMLOptionsCollection interface object name
+PASS HTMLOptionsCollection interface: existence and properties of interface prototype object
+PASS HTMLOptionsCollection interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLOptionsCollection interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLOptionsCollection interface: attribute length
+PASS HTMLOptionsCollection interface: operation add([object Object],[object Object], [object Object],[object Object])
+PASS HTMLOptionsCollection interface: operation remove(long)
+PASS HTMLOptionsCollection interface: attribute selectedIndex
+PASS HTMLOptionsCollection must be primary interface of document.createElement("select").options
+PASS Stringification of document.createElement("select").options
+PASS HTMLOptionsCollection interface: document.createElement("select").options must inherit property "length" with the proper type
+PASS HTMLOptionsCollection interface: document.createElement("select").options must inherit property "add([object Object],[object Object], [object Object],[object Object])" with the proper type
+PASS HTMLOptionsCollection interface: calling add([object Object],[object Object], [object Object],[object Object]) on document.createElement("select").options with too few arguments must throw TypeError
+PASS HTMLOptionsCollection interface: document.createElement("select").options must inherit property "remove(long)" with the proper type
+PASS HTMLOptionsCollection interface: calling remove(long) on document.createElement("select").options with too few arguments must throw TypeError
+PASS HTMLOptionsCollection interface: document.createElement("select").options must inherit property "selectedIndex" with the proper type
+PASS HTMLElement interface: existence and properties of interface object
+PASS HTMLElement interface object length
+PASS HTMLElement interface object name
+PASS HTMLElement interface: existence and properties of interface prototype object
+PASS HTMLElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLElement interface: attribute title
+PASS HTMLElement interface: attribute lang
+PASS HTMLElement interface: attribute translate
+PASS HTMLElement interface: attribute dir
+PASS HTMLElement interface: attribute hidden
+PASS HTMLElement interface: operation click()
+PASS HTMLElement interface: attribute accessKey
+FAIL HTMLElement interface: attribute accessKeyLabel assert_true: The prototype object must have a property "accessKeyLabel" expected true got false
+PASS HTMLElement interface: attribute draggable
+PASS HTMLElement interface: attribute spellcheck
+PASS HTMLElement interface: attribute innerText
+PASS HTMLElement interface: attribute onabort
+PASS HTMLElement interface: attribute onauxclick
+PASS HTMLElement interface: attribute onblur
+PASS HTMLElement interface: attribute oncancel
+PASS HTMLElement interface: attribute oncanplay
+PASS HTMLElement interface: attribute oncanplaythrough
+PASS HTMLElement interface: attribute onchange
+PASS HTMLElement interface: attribute onclick
+PASS HTMLElement interface: attribute onclose
+PASS HTMLElement interface: attribute oncontextmenu
+PASS HTMLElement interface: attribute oncuechange
+PASS HTMLElement interface: attribute ondblclick
+PASS HTMLElement interface: attribute ondrag
+PASS HTMLElement interface: attribute ondragend
+PASS HTMLElement interface: attribute ondragenter
+FAIL HTMLElement interface: attribute ondragexit assert_true: The prototype object must have a property "ondragexit" expected true got false
+PASS HTMLElement interface: attribute ondragleave
+PASS HTMLElement interface: attribute ondragover
+PASS HTMLElement interface: attribute ondragstart
+PASS HTMLElement interface: attribute ondrop
+PASS HTMLElement interface: attribute ondurationchange
+PASS HTMLElement interface: attribute onemptied
+PASS HTMLElement interface: attribute onended
+PASS HTMLElement interface: attribute onerror
+PASS HTMLElement interface: attribute onfocus
+PASS HTMLElement interface: attribute oninput
+PASS HTMLElement interface: attribute oninvalid
+PASS HTMLElement interface: attribute onkeydown
+PASS HTMLElement interface: attribute onkeypress
+PASS HTMLElement interface: attribute onkeyup
+PASS HTMLElement interface: attribute onload
+PASS HTMLElement interface: attribute onloadeddata
+PASS HTMLElement interface: attribute onloadedmetadata
+FAIL HTMLElement interface: attribute onloadend assert_true: The prototype object must have a property "onloadend" expected true got false
+PASS HTMLElement interface: attribute onloadstart
+PASS HTMLElement interface: attribute onmousedown
+PASS HTMLElement interface: attribute onmouseenter
+PASS HTMLElement interface: attribute onmouseleave
+PASS HTMLElement interface: attribute onmousemove
+PASS HTMLElement interface: attribute onmouseout
+PASS HTMLElement interface: attribute onmouseover
+PASS HTMLElement interface: attribute onmouseup
+PASS HTMLElement interface: attribute onwheel
+PASS HTMLElement interface: attribute onpause
+PASS HTMLElement interface: attribute onplay
+PASS HTMLElement interface: attribute onplaying
+PASS HTMLElement interface: attribute onprogress
+PASS HTMLElement interface: attribute onratechange
+PASS HTMLElement interface: attribute onreset
+PASS HTMLElement interface: attribute onresize
+PASS HTMLElement interface: attribute onscroll
+FAIL HTMLElement interface: attribute onsecuritypolicyviolation assert_true: The prototype object must have a property "onsecuritypolicyviolation" expected true got false
+PASS HTMLElement interface: attribute onseeked
+PASS HTMLElement interface: attribute onseeking
+PASS HTMLElement interface: attribute onselect
+PASS HTMLElement interface: attribute onstalled
+PASS HTMLElement interface: attribute onsubmit
+PASS HTMLElement interface: attribute onsuspend
+PASS HTMLElement interface: attribute ontimeupdate
+PASS HTMLElement interface: attribute ontoggle
+PASS HTMLElement interface: attribute onvolumechange
+PASS HTMLElement interface: attribute onwaiting
+FAIL HTMLElement interface: attribute oncopy assert_own_property: expected property "oncopy" missing
+FAIL HTMLElement interface: attribute oncut assert_own_property: expected property "oncut" missing
+FAIL HTMLElement interface: attribute onpaste assert_own_property: expected property "onpaste" missing
+PASS HTMLElement interface: attribute contentEditable
+PASS HTMLElement interface: attribute isContentEditable
+PASS HTMLElement interface: attribute inputMode
+PASS HTMLElement interface: attribute dataset
+PASS HTMLElement interface: attribute nonce
+PASS HTMLElement interface: attribute tabIndex
+PASS HTMLElement interface: operation focus(FocusOptions)
+PASS HTMLElement interface: operation blur()
+PASS HTMLElement must be primary interface of document.createElement("noscript")
+PASS Stringification of document.createElement("noscript")
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "title" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "lang" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "translate" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "dir" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "hidden" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "click()" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "accessKey" with the proper type
+FAIL HTMLElement interface: document.createElement("noscript") must inherit property "accessKeyLabel" with the proper type assert_inherits: property "accessKeyLabel" not found in prototype chain
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "draggable" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "spellcheck" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "innerText" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onabort" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onauxclick" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onblur" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "oncancel" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "oncanplay" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "oncanplaythrough" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onchange" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onclick" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onclose" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "oncontextmenu" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "oncuechange" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "ondblclick" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "ondrag" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "ondragend" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "ondragenter" with the proper type
+FAIL HTMLElement interface: document.createElement("noscript") must inherit property "ondragexit" with the proper type assert_inherits: property "ondragexit" not found in prototype chain
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "ondragleave" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "ondragover" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "ondragstart" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "ondrop" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "ondurationchange" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onemptied" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onended" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onerror" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onfocus" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "oninput" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "oninvalid" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onkeydown" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onkeypress" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onkeyup" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onload" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onloadeddata" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onloadedmetadata" with the proper type
+FAIL HTMLElement interface: document.createElement("noscript") must inherit property "onloadend" with the proper type assert_inherits: property "onloadend" not found in prototype chain
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onloadstart" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onmousedown" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onmouseenter" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onmouseleave" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onmousemove" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onmouseout" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onmouseover" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onmouseup" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onwheel" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onpause" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onplay" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onplaying" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onprogress" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onratechange" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onreset" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onresize" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onscroll" with the proper type
+FAIL HTMLElement interface: document.createElement("noscript") must inherit property "onsecuritypolicyviolation" with the proper type assert_inherits: property "onsecuritypolicyviolation" not found in prototype chain
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onseeked" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onseeking" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onselect" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onstalled" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onsubmit" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onsuspend" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "ontimeupdate" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "ontoggle" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onvolumechange" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onwaiting" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "oncopy" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "oncut" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "onpaste" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "contentEditable" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "isContentEditable" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "inputMode" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "dataset" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "nonce" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "tabIndex" with the proper type
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "focus(FocusOptions)" with the proper type
+PASS HTMLElement interface: calling focus(FocusOptions) on document.createElement("noscript") with too few arguments must throw TypeError
+PASS HTMLElement interface: document.createElement("noscript") must inherit property "blur()" with the proper type
+PASS HTMLUnknownElement interface: existence and properties of interface object
+PASS HTMLUnknownElement interface object length
+PASS HTMLUnknownElement interface object name
+PASS HTMLUnknownElement interface: existence and properties of interface prototype object
+PASS HTMLUnknownElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLUnknownElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLUnknownElement must be primary interface of document.createElement("bgsound")
+PASS Stringification of document.createElement("bgsound")
+PASS HTMLHtmlElement interface: existence and properties of interface object
+PASS HTMLHtmlElement interface object length
+PASS HTMLHtmlElement interface object name
+PASS HTMLHtmlElement interface: existence and properties of interface prototype object
+PASS HTMLHtmlElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLHtmlElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLHtmlElement interface: attribute version
+PASS HTMLHtmlElement must be primary interface of document.createElement("html")
+PASS Stringification of document.createElement("html")
+PASS HTMLHtmlElement interface: document.createElement("html") must inherit property "version" with the proper type
+PASS HTMLHeadElement interface: existence and properties of interface object
+PASS HTMLHeadElement interface object length
+PASS HTMLHeadElement interface object name
+PASS HTMLHeadElement interface: existence and properties of interface prototype object
+PASS HTMLHeadElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLHeadElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLHeadElement must be primary interface of document.createElement("head")
+PASS Stringification of document.createElement("head")
+PASS HTMLTitleElement interface: existence and properties of interface object
+PASS HTMLTitleElement interface object length
+PASS HTMLTitleElement interface object name
+PASS HTMLTitleElement interface: existence and properties of interface prototype object
+PASS HTMLTitleElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLTitleElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLTitleElement interface: attribute text
+PASS HTMLTitleElement must be primary interface of document.createElement("title")
+PASS Stringification of document.createElement("title")
+PASS HTMLTitleElement interface: document.createElement("title") must inherit property "text" with the proper type
+PASS HTMLBaseElement interface: existence and properties of interface object
+PASS HTMLBaseElement interface object length
+PASS HTMLBaseElement interface object name
+PASS HTMLBaseElement interface: existence and properties of interface prototype object
+PASS HTMLBaseElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLBaseElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLBaseElement interface: attribute href
+PASS HTMLBaseElement interface: attribute target
+PASS HTMLBaseElement must be primary interface of document.createElement("base")
+PASS Stringification of document.createElement("base")
+PASS HTMLBaseElement interface: document.createElement("base") must inherit property "href" with the proper type
+PASS HTMLBaseElement interface: document.createElement("base") must inherit property "target" with the proper type
+PASS HTMLLinkElement interface: existence and properties of interface object
+PASS HTMLLinkElement interface object length
+PASS HTMLLinkElement interface object name
+PASS HTMLLinkElement interface: existence and properties of interface prototype object
+PASS HTMLLinkElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLLinkElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLLinkElement interface: attribute href
+PASS HTMLLinkElement interface: attribute crossOrigin
+PASS HTMLLinkElement interface: attribute rel
+PASS HTMLLinkElement interface: attribute as
+PASS HTMLLinkElement interface: attribute relList
+PASS HTMLLinkElement interface: attribute media
+PASS HTMLLinkElement interface: attribute integrity
+PASS HTMLLinkElement interface: attribute hreflang
+PASS HTMLLinkElement interface: attribute type
+PASS HTMLLinkElement interface: attribute sizes
+PASS HTMLLinkElement interface: attribute referrerPolicy
+PASS HTMLLinkElement interface: attribute charset
+PASS HTMLLinkElement interface: attribute rev
+PASS HTMLLinkElement interface: attribute target
+PASS HTMLLinkElement must be primary interface of document.createElement("link")
+PASS Stringification of document.createElement("link")
+PASS HTMLLinkElement interface: document.createElement("link") must inherit property "href" with the proper type
+PASS HTMLLinkElement interface: document.createElement("link") must inherit property "crossOrigin" with the proper type
+PASS HTMLLinkElement interface: document.createElement("link") must inherit property "rel" with the proper type
+PASS HTMLLinkElement interface: document.createElement("link") must inherit property "as" with the proper type
+PASS HTMLLinkElement interface: document.createElement("link") must inherit property "relList" with the proper type
+PASS HTMLLinkElement interface: document.createElement("link") must inherit property "media" with the proper type
+PASS HTMLLinkElement interface: document.createElement("link") must inherit property "integrity" with the proper type
+PASS HTMLLinkElement interface: document.createElement("link") must inherit property "hreflang" with the proper type
+PASS HTMLLinkElement interface: document.createElement("link") must inherit property "type" with the proper type
+PASS HTMLLinkElement interface: document.createElement("link") must inherit property "sizes" with the proper type
+PASS HTMLLinkElement interface: document.createElement("link") must inherit property "referrerPolicy" with the proper type
+PASS HTMLLinkElement interface: document.createElement("link") must inherit property "charset" with the proper type
+PASS HTMLLinkElement interface: document.createElement("link") must inherit property "rev" with the proper type
+PASS HTMLLinkElement interface: document.createElement("link") must inherit property "target" with the proper type
+PASS HTMLMetaElement interface: existence and properties of interface object
+PASS HTMLMetaElement interface object length
+PASS HTMLMetaElement interface object name
+PASS HTMLMetaElement interface: existence and properties of interface prototype object
+PASS HTMLMetaElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLMetaElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLMetaElement interface: attribute name
+PASS HTMLMetaElement interface: attribute httpEquiv
+PASS HTMLMetaElement interface: attribute content
+PASS HTMLMetaElement interface: attribute scheme
+PASS HTMLMetaElement must be primary interface of document.createElement("meta")
+PASS Stringification of document.createElement("meta")
+PASS HTMLMetaElement interface: document.createElement("meta") must inherit property "name" with the proper type
+PASS HTMLMetaElement interface: document.createElement("meta") must inherit property "httpEquiv" with the proper type
+PASS HTMLMetaElement interface: document.createElement("meta") must inherit property "content" with the proper type
+PASS HTMLMetaElement interface: document.createElement("meta") must inherit property "scheme" with the proper type
+PASS HTMLStyleElement interface: existence and properties of interface object
+PASS HTMLStyleElement interface object length
+PASS HTMLStyleElement interface object name
+PASS HTMLStyleElement interface: existence and properties of interface prototype object
+PASS HTMLStyleElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLStyleElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLStyleElement interface: attribute media
+PASS HTMLStyleElement interface: attribute type
+PASS HTMLStyleElement must be primary interface of document.createElement("style")
+PASS Stringification of document.createElement("style")
+PASS HTMLStyleElement interface: document.createElement("style") must inherit property "media" with the proper type
+PASS HTMLStyleElement interface: document.createElement("style") must inherit property "type" with the proper type
+PASS HTMLBodyElement interface: existence and properties of interface object
+PASS HTMLBodyElement interface object length
+PASS HTMLBodyElement interface object name
+PASS HTMLBodyElement interface: existence and properties of interface prototype object
+PASS HTMLBodyElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLBodyElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLBodyElement interface: attribute text
+PASS HTMLBodyElement interface: attribute link
+PASS HTMLBodyElement interface: attribute vLink
+PASS HTMLBodyElement interface: attribute aLink
+PASS HTMLBodyElement interface: attribute bgColor
+PASS HTMLBodyElement interface: attribute background
+PASS HTMLBodyElement interface: attribute onafterprint
+PASS HTMLBodyElement interface: attribute onbeforeprint
+PASS HTMLBodyElement interface: attribute onbeforeunload
+PASS HTMLBodyElement interface: attribute onhashchange
+PASS HTMLBodyElement interface: attribute onlanguagechange
+PASS HTMLBodyElement interface: attribute onmessage
+PASS HTMLBodyElement interface: attribute onmessageerror
+PASS HTMLBodyElement interface: attribute onoffline
+PASS HTMLBodyElement interface: attribute ononline
+PASS HTMLBodyElement interface: attribute onpagehide
+PASS HTMLBodyElement interface: attribute onpageshow
+PASS HTMLBodyElement interface: attribute onpopstate
+PASS HTMLBodyElement interface: attribute onrejectionhandled
+PASS HTMLBodyElement interface: attribute onstorage
+PASS HTMLBodyElement interface: attribute onunhandledrejection
+PASS HTMLBodyElement interface: attribute onunload
+PASS HTMLBodyElement must be primary interface of document.createElement("body")
+PASS Stringification of document.createElement("body")
+PASS HTMLBodyElement interface: document.createElement("body") must inherit property "text" with the proper type
+PASS HTMLBodyElement interface: document.createElement("body") must inherit property "link" with the proper type
+PASS HTMLBodyElement interface: document.createElement("body") must inherit property "vLink" with the proper type
+PASS HTMLBodyElement interface: document.createElement("body") must inherit property "aLink" with the proper type
+PASS HTMLBodyElement interface: document.createElement("body") must inherit property "bgColor" with the proper type
+PASS HTMLBodyElement interface: document.createElement("body") must inherit property "background" with the proper type
+PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onafterprint" with the proper type
+PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onbeforeprint" with the proper type
+PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onbeforeunload" with the proper type
+PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onhashchange" with the proper type
+PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onlanguagechange" with the proper type
+PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onmessage" with the proper type
+PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onmessageerror" with the proper type
+PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onoffline" with the proper type
+PASS HTMLBodyElement interface: document.createElement("body") must inherit property "ononline" with the proper type
+PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onpagehide" with the proper type
+PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onpageshow" with the proper type
+PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onpopstate" with the proper type
+PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onrejectionhandled" with the proper type
+PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onstorage" with the proper type
+PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onunhandledrejection" with the proper type
+PASS HTMLBodyElement interface: document.createElement("body") must inherit property "onunload" with the proper type
+PASS HTMLHeadingElement interface: existence and properties of interface object
+PASS HTMLHeadingElement interface object length
+PASS HTMLHeadingElement interface object name
+PASS HTMLHeadingElement interface: existence and properties of interface prototype object
+PASS HTMLHeadingElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLHeadingElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLHeadingElement interface: attribute align
+PASS HTMLHeadingElement must be primary interface of document.createElement("h1")
+PASS Stringification of document.createElement("h1")
+PASS HTMLHeadingElement interface: document.createElement("h1") must inherit property "align" with the proper type
+PASS HTMLParagraphElement interface: existence and properties of interface object
+PASS HTMLParagraphElement interface object length
+PASS HTMLParagraphElement interface object name
+PASS HTMLParagraphElement interface: existence and properties of interface prototype object
+PASS HTMLParagraphElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLParagraphElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLParagraphElement interface: attribute align
+PASS HTMLParagraphElement must be primary interface of document.createElement("p")
+PASS Stringification of document.createElement("p")
+PASS HTMLParagraphElement interface: document.createElement("p") must inherit property "align" with the proper type
+PASS HTMLHRElement interface: existence and properties of interface object
+PASS HTMLHRElement interface object length
+PASS HTMLHRElement interface object name
+PASS HTMLHRElement interface: existence and properties of interface prototype object
+PASS HTMLHRElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLHRElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLHRElement interface: attribute align
+PASS HTMLHRElement interface: attribute color
+PASS HTMLHRElement interface: attribute noShade
+PASS HTMLHRElement interface: attribute size
+PASS HTMLHRElement interface: attribute width
+PASS HTMLHRElement must be primary interface of document.createElement("hr")
+PASS Stringification of document.createElement("hr")
+PASS HTMLHRElement interface: document.createElement("hr") must inherit property "align" with the proper type
+PASS HTMLHRElement interface: document.createElement("hr") must inherit property "color" with the proper type
+PASS HTMLHRElement interface: document.createElement("hr") must inherit property "noShade" with the proper type
+PASS HTMLHRElement interface: document.createElement("hr") must inherit property "size" with the proper type
+PASS HTMLHRElement interface: document.createElement("hr") must inherit property "width" with the proper type
+PASS HTMLPreElement interface: existence and properties of interface object
+PASS HTMLPreElement interface object length
+PASS HTMLPreElement interface object name
+PASS HTMLPreElement interface: existence and properties of interface prototype object
+PASS HTMLPreElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLPreElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLPreElement interface: attribute width
+PASS HTMLPreElement must be primary interface of document.createElement("pre")
+PASS Stringification of document.createElement("pre")
+PASS HTMLPreElement interface: document.createElement("pre") must inherit property "width" with the proper type
+PASS HTMLPreElement must be primary interface of document.createElement("listing")
+PASS Stringification of document.createElement("listing")
+PASS HTMLPreElement interface: document.createElement("listing") must inherit property "width" with the proper type
+PASS HTMLPreElement must be primary interface of document.createElement("xmp")
+PASS Stringification of document.createElement("xmp")
+PASS HTMLPreElement interface: document.createElement("xmp") must inherit property "width" with the proper type
+PASS HTMLQuoteElement interface: existence and properties of interface object
+PASS HTMLQuoteElement interface object length
+PASS HTMLQuoteElement interface object name
+PASS HTMLQuoteElement interface: existence and properties of interface prototype object
+PASS HTMLQuoteElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLQuoteElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLQuoteElement interface: attribute cite
+PASS HTMLQuoteElement must be primary interface of document.createElement("blockquote")
+PASS Stringification of document.createElement("blockquote")
+PASS HTMLQuoteElement interface: document.createElement("blockquote") must inherit property "cite" with the proper type
+PASS HTMLQuoteElement must be primary interface of document.createElement("q")
+PASS Stringification of document.createElement("q")
+PASS HTMLQuoteElement interface: document.createElement("q") must inherit property "cite" with the proper type
+PASS HTMLOListElement interface: existence and properties of interface object
+PASS HTMLOListElement interface object length
+PASS HTMLOListElement interface object name
+PASS HTMLOListElement interface: existence and properties of interface prototype object
+PASS HTMLOListElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLOListElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLOListElement interface: attribute reversed
+PASS HTMLOListElement interface: attribute start
+PASS HTMLOListElement interface: attribute type
+PASS HTMLOListElement interface: attribute compact
+PASS HTMLUListElement interface: existence and properties of interface object
+PASS HTMLUListElement interface object length
+PASS HTMLUListElement interface object name
+PASS HTMLUListElement interface: existence and properties of interface prototype object
+PASS HTMLUListElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLUListElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLUListElement interface: attribute compact
+PASS HTMLUListElement interface: attribute type
+PASS HTMLMenuElement interface: existence and properties of interface object
+PASS HTMLMenuElement interface object length
+PASS HTMLMenuElement interface object name
+PASS HTMLMenuElement interface: existence and properties of interface prototype object
+PASS HTMLMenuElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLMenuElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLMenuElement interface: attribute compact
+PASS HTMLMenuElement must be primary interface of document.createElement("menu")
+PASS Stringification of document.createElement("menu")
+PASS HTMLMenuElement interface: document.createElement("menu") must inherit property "compact" with the proper type
+PASS HTMLLIElement interface: existence and properties of interface object
+PASS HTMLLIElement interface object length
+PASS HTMLLIElement interface object name
+PASS HTMLLIElement interface: existence and properties of interface prototype object
+PASS HTMLLIElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLLIElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLLIElement interface: attribute value
+PASS HTMLLIElement interface: attribute type
+PASS HTMLLIElement must be primary interface of document.createElement("li")
+PASS Stringification of document.createElement("li")
+PASS HTMLLIElement interface: document.createElement("li") must inherit property "value" with the proper type
+PASS HTMLLIElement interface: document.createElement("li") must inherit property "type" with the proper type
+PASS HTMLDListElement interface: existence and properties of interface object
+PASS HTMLDListElement interface object length
+PASS HTMLDListElement interface object name
+PASS HTMLDListElement interface: existence and properties of interface prototype object
+PASS HTMLDListElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLDListElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLDListElement interface: attribute compact
+PASS HTMLDivElement interface: existence and properties of interface object
+PASS HTMLDivElement interface object length
+PASS HTMLDivElement interface object name
+PASS HTMLDivElement interface: existence and properties of interface prototype object
+PASS HTMLDivElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLDivElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLDivElement interface: attribute align
+PASS HTMLDivElement must be primary interface of document.createElement("div")
+PASS Stringification of document.createElement("div")
+PASS HTMLDivElement interface: document.createElement("div") must inherit property "align" with the proper type
+PASS HTMLAnchorElement interface: existence and properties of interface object
+PASS HTMLAnchorElement interface object length
+PASS HTMLAnchorElement interface object name
+PASS HTMLAnchorElement interface: existence and properties of interface prototype object
+PASS HTMLAnchorElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLAnchorElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLAnchorElement interface: attribute target
+PASS HTMLAnchorElement interface: attribute download
+PASS HTMLAnchorElement interface: attribute ping
+PASS HTMLAnchorElement interface: attribute rel
+PASS HTMLAnchorElement interface: attribute relList
+PASS HTMLAnchorElement interface: attribute hreflang
+PASS HTMLAnchorElement interface: attribute type
+PASS HTMLAnchorElement interface: attribute text
+PASS HTMLAnchorElement interface: attribute referrerPolicy
+PASS HTMLAnchorElement interface: attribute coords
+PASS HTMLAnchorElement interface: attribute charset
+PASS HTMLAnchorElement interface: attribute name
+PASS HTMLAnchorElement interface: attribute rev
+PASS HTMLAnchorElement interface: attribute shape
+PASS HTMLAnchorElement interface: attribute href
+PASS HTMLAnchorElement interface: stringifier
+PASS HTMLAnchorElement interface: attribute origin
+PASS HTMLAnchorElement interface: attribute protocol
+PASS HTMLAnchorElement interface: attribute username
+PASS HTMLAnchorElement interface: attribute password
+PASS HTMLAnchorElement interface: attribute host
+PASS HTMLAnchorElement interface: attribute hostname
+PASS HTMLAnchorElement interface: attribute port
+PASS HTMLAnchorElement interface: attribute pathname
+PASS HTMLAnchorElement interface: attribute search
+PASS HTMLAnchorElement interface: attribute hash
+PASS HTMLAnchorElement must be primary interface of document.createElement("a")
+PASS Stringification of document.createElement("a")
+PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "target" with the proper type
+PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "download" with the proper type
+PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "ping" with the proper type
+PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "rel" with the proper type
+PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "relList" with the proper type
+PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "hreflang" with the proper type
+PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "type" with the proper type
+PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "text" with the proper type
+PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "referrerPolicy" with the proper type
+PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "coords" with the proper type
+PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "charset" with the proper type
+PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "name" with the proper type
+PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "rev" with the proper type
+PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "shape" with the proper type
+PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "href" with the proper type
+PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "origin" with the proper type
+PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "protocol" with the proper type
+PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "username" with the proper type
+PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "password" with the proper type
+PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "host" with the proper type
+PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "hostname" with the proper type
+PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "port" with the proper type
+PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "pathname" with the proper type
+PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "search" with the proper type
+PASS HTMLAnchorElement interface: document.createElement("a") must inherit property "hash" with the proper type
+PASS HTMLDataElement interface: existence and properties of interface object
+PASS HTMLDataElement interface object length
+PASS HTMLDataElement interface object name
+PASS HTMLDataElement interface: existence and properties of interface prototype object
+PASS HTMLDataElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLDataElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLDataElement interface: attribute value
+PASS HTMLDataElement must be primary interface of document.createElement("data")
+PASS Stringification of document.createElement("data")
+PASS HTMLDataElement interface: document.createElement("data") must inherit property "value" with the proper type
+PASS HTMLTimeElement interface: existence and properties of interface object
+PASS HTMLTimeElement interface object length
+PASS HTMLTimeElement interface object name
+PASS HTMLTimeElement interface: existence and properties of interface prototype object
+PASS HTMLTimeElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLTimeElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLTimeElement interface: attribute dateTime
+PASS HTMLTimeElement must be primary interface of document.createElement("time")
+PASS Stringification of document.createElement("time")
+PASS HTMLTimeElement interface: document.createElement("time") must inherit property "dateTime" with the proper type
+PASS HTMLSpanElement interface: existence and properties of interface object
+PASS HTMLSpanElement interface object length
+PASS HTMLSpanElement interface object name
+PASS HTMLSpanElement interface: existence and properties of interface prototype object
+PASS HTMLSpanElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLSpanElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLSpanElement must be primary interface of document.createElement("span")
+PASS Stringification of document.createElement("span")
+PASS HTMLBRElement interface: existence and properties of interface object
+PASS HTMLBRElement interface object length
+PASS HTMLBRElement interface object name
+PASS HTMLBRElement interface: existence and properties of interface prototype object
+PASS HTMLBRElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLBRElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLBRElement interface: attribute clear
+PASS HTMLBRElement must be primary interface of document.createElement("br")
+PASS Stringification of document.createElement("br")
+PASS HTMLBRElement interface: document.createElement("br") must inherit property "clear" with the proper type
+PASS HTMLModElement interface: existence and properties of interface object
+PASS HTMLModElement interface object length
+PASS HTMLModElement interface object name
+PASS HTMLModElement interface: existence and properties of interface prototype object
+PASS HTMLModElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLModElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLModElement interface: attribute cite
+PASS HTMLModElement interface: attribute dateTime
+PASS HTMLModElement must be primary interface of document.createElement("ins")
+PASS Stringification of document.createElement("ins")
+PASS HTMLModElement interface: document.createElement("ins") must inherit property "cite" with the proper type
+PASS HTMLModElement interface: document.createElement("ins") must inherit property "dateTime" with the proper type
+PASS HTMLModElement must be primary interface of document.createElement("del")
+PASS Stringification of document.createElement("del")
+PASS HTMLModElement interface: document.createElement("del") must inherit property "cite" with the proper type
+PASS HTMLModElement interface: document.createElement("del") must inherit property "dateTime" with the proper type
+PASS HTMLPictureElement interface: existence and properties of interface object
+PASS HTMLPictureElement interface object length
+PASS HTMLPictureElement interface object name
+PASS HTMLPictureElement interface: existence and properties of interface prototype object
+PASS HTMLPictureElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLPictureElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLPictureElement must be primary interface of document.createElement("picture")
+PASS Stringification of document.createElement("picture")
+PASS HTMLSourceElement interface: existence and properties of interface object
+PASS HTMLSourceElement interface object length
+PASS HTMLSourceElement interface object name
+PASS HTMLSourceElement interface: existence and properties of interface prototype object
+PASS HTMLSourceElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLSourceElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLSourceElement interface: attribute src
+PASS HTMLSourceElement interface: attribute type
+PASS HTMLSourceElement interface: attribute srcset
+PASS HTMLSourceElement interface: attribute sizes
+PASS HTMLSourceElement interface: attribute media
+PASS HTMLSourceElement must be primary interface of document.createElement("source")
+PASS Stringification of document.createElement("source")
+PASS HTMLSourceElement interface: document.createElement("source") must inherit property "src" with the proper type
+PASS HTMLSourceElement interface: document.createElement("source") must inherit property "type" with the proper type
+PASS HTMLSourceElement interface: document.createElement("source") must inherit property "srcset" with the proper type
+PASS HTMLSourceElement interface: document.createElement("source") must inherit property "sizes" with the proper type
+PASS HTMLSourceElement interface: document.createElement("source") must inherit property "media" with the proper type
+PASS HTMLImageElement interface: existence and properties of interface object
+PASS HTMLImageElement interface object length
+PASS HTMLImageElement interface object name
+PASS HTMLImageElement interface: existence and properties of interface prototype object
+PASS HTMLImageElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLImageElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLImageElement interface: attribute alt
+PASS HTMLImageElement interface: attribute src
+PASS HTMLImageElement interface: attribute srcset
+PASS HTMLImageElement interface: attribute sizes
+PASS HTMLImageElement interface: attribute crossOrigin
+PASS HTMLImageElement interface: attribute useMap
+PASS HTMLImageElement interface: attribute isMap
+PASS HTMLImageElement interface: attribute width
+PASS HTMLImageElement interface: attribute height
+PASS HTMLImageElement interface: attribute naturalWidth
+PASS HTMLImageElement interface: attribute naturalHeight
+PASS HTMLImageElement interface: attribute complete
+PASS HTMLImageElement interface: attribute currentSrc
+PASS HTMLImageElement interface: attribute referrerPolicy
+PASS HTMLImageElement interface: operation decode()
+PASS HTMLImageElement interface: attribute name
+PASS HTMLImageElement interface: attribute lowsrc
+PASS HTMLImageElement interface: attribute align
+PASS HTMLImageElement interface: attribute hspace
+PASS HTMLImageElement interface: attribute vspace
+PASS HTMLImageElement interface: attribute longDesc
+PASS HTMLImageElement interface: attribute border
+PASS HTMLImageElement must be primary interface of document.createElement("img")
+PASS Stringification of document.createElement("img")
+PASS HTMLImageElement interface: document.createElement("img") must inherit property "alt" with the proper type
+PASS HTMLImageElement interface: document.createElement("img") must inherit property "src" with the proper type
+PASS HTMLImageElement interface: document.createElement("img") must inherit property "srcset" with the proper type
+PASS HTMLImageElement interface: document.createElement("img") must inherit property "sizes" with the proper type
+PASS HTMLImageElement interface: document.createElement("img") must inherit property "crossOrigin" with the proper type
+PASS HTMLImageElement interface: document.createElement("img") must inherit property "useMap" with the proper type
+PASS HTMLImageElement interface: document.createElement("img") must inherit property "isMap" with the proper type
+PASS HTMLImageElement interface: document.createElement("img") must inherit property "width" with the proper type
+PASS HTMLImageElement interface: document.createElement("img") must inherit property "height" with the proper type
+PASS HTMLImageElement interface: document.createElement("img") must inherit property "naturalWidth" with the proper type
+PASS HTMLImageElement interface: document.createElement("img") must inherit property "naturalHeight" with the proper type
+PASS HTMLImageElement interface: document.createElement("img") must inherit property "complete" with the proper type
+PASS HTMLImageElement interface: document.createElement("img") must inherit property "currentSrc" with the proper type
+PASS HTMLImageElement interface: document.createElement("img") must inherit property "referrerPolicy" with the proper type
+PASS HTMLImageElement interface: document.createElement("img") must inherit property "decode()" with the proper type
+PASS HTMLImageElement interface: document.createElement("img") must inherit property "name" with the proper type
+PASS HTMLImageElement interface: document.createElement("img") must inherit property "lowsrc" with the proper type
+PASS HTMLImageElement interface: document.createElement("img") must inherit property "align" with the proper type
+PASS HTMLImageElement interface: document.createElement("img") must inherit property "hspace" with the proper type
+PASS HTMLImageElement interface: document.createElement("img") must inherit property "vspace" with the proper type
+PASS HTMLImageElement interface: document.createElement("img") must inherit property "longDesc" with the proper type
+PASS HTMLImageElement interface: document.createElement("img") must inherit property "border" with the proper type
+PASS HTMLImageElement must be primary interface of new Image()
+PASS Stringification of new Image()
+PASS HTMLImageElement interface: new Image() must inherit property "alt" with the proper type
+PASS HTMLImageElement interface: new Image() must inherit property "src" with the proper type
+PASS HTMLImageElement interface: new Image() must inherit property "srcset" with the proper type
+PASS HTMLImageElement interface: new Image() must inherit property "sizes" with the proper type
+PASS HTMLImageElement interface: new Image() must inherit property "crossOrigin" with the proper type
+PASS HTMLImageElement interface: new Image() must inherit property "useMap" with the proper type
+PASS HTMLImageElement interface: new Image() must inherit property "isMap" with the proper type
+PASS HTMLImageElement interface: new Image() must inherit property "width" with the proper type
+PASS HTMLImageElement interface: new Image() must inherit property "height" with the proper type
+PASS HTMLImageElement interface: new Image() must inherit property "naturalWidth" with the proper type
+PASS HTMLImageElement interface: new Image() must inherit property "naturalHeight" with the proper type
+PASS HTMLImageElement interface: new Image() must inherit property "complete" with the proper type
+PASS HTMLImageElement interface: new Image() must inherit property "currentSrc" with the proper type
+PASS HTMLImageElement interface: new Image() must inherit property "referrerPolicy" with the proper type
+PASS HTMLImageElement interface: new Image() must inherit property "decode()" with the proper type
+PASS HTMLImageElement interface: new Image() must inherit property "name" with the proper type
+PASS HTMLImageElement interface: new Image() must inherit property "lowsrc" with the proper type
+PASS HTMLImageElement interface: new Image() must inherit property "align" with the proper type
+PASS HTMLImageElement interface: new Image() must inherit property "hspace" with the proper type
+PASS HTMLImageElement interface: new Image() must inherit property "vspace" with the proper type
+PASS HTMLImageElement interface: new Image() must inherit property "longDesc" with the proper type
+PASS HTMLImageElement interface: new Image() must inherit property "border" with the proper type
+PASS HTMLIFrameElement interface: existence and properties of interface object
+PASS HTMLIFrameElement interface object length
+PASS HTMLIFrameElement interface object name
+PASS HTMLIFrameElement interface: existence and properties of interface prototype object
+PASS HTMLIFrameElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLIFrameElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLIFrameElement interface: attribute src
+PASS HTMLIFrameElement interface: attribute srcdoc
+PASS HTMLIFrameElement interface: attribute name
+PASS HTMLIFrameElement interface: attribute sandbox
+PASS HTMLIFrameElement interface: attribute allowFullscreen
+PASS HTMLIFrameElement interface: attribute allowPaymentRequest
+FAIL HTMLIFrameElement interface: attribute allowUserMedia assert_true: The prototype object must have a property "allowUserMedia" expected true got false
+PASS HTMLIFrameElement interface: attribute width
+PASS HTMLIFrameElement interface: attribute height
+PASS HTMLIFrameElement interface: attribute referrerPolicy
+PASS HTMLIFrameElement interface: attribute contentDocument
+PASS HTMLIFrameElement interface: attribute contentWindow
+PASS HTMLIFrameElement interface: operation getSVGDocument()
+FAIL HTMLIFrameElement interface: attribute delegateStickyUserActivation assert_true: The prototype object must have a property "delegateStickyUserActivation" expected true got false
+PASS HTMLIFrameElement interface: attribute align
+PASS HTMLIFrameElement interface: attribute scrolling
+PASS HTMLIFrameElement interface: attribute frameBorder
+PASS HTMLIFrameElement interface: attribute longDesc
+PASS HTMLIFrameElement interface: attribute marginHeight
+PASS HTMLIFrameElement interface: attribute marginWidth
+PASS HTMLEmbedElement interface: existence and properties of interface object
+PASS HTMLEmbedElement interface object length
+PASS HTMLEmbedElement interface object name
+PASS HTMLEmbedElement interface: existence and properties of interface prototype object
+PASS HTMLEmbedElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLEmbedElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLEmbedElement interface: attribute src
+PASS HTMLEmbedElement interface: attribute type
+PASS HTMLEmbedElement interface: attribute width
+PASS HTMLEmbedElement interface: attribute height
+PASS HTMLEmbedElement interface: operation getSVGDocument()
+PASS HTMLEmbedElement interface: attribute align
+PASS HTMLEmbedElement interface: attribute name
+PASS HTMLEmbedElement must be primary interface of document.createElement("embed")
+PASS Stringification of document.createElement("embed")
+PASS HTMLEmbedElement interface: document.createElement("embed") must inherit property "src" with the proper type
+PASS HTMLEmbedElement interface: document.createElement("embed") must inherit property "type" with the proper type
+PASS HTMLEmbedElement interface: document.createElement("embed") must inherit property "width" with the proper type
+PASS HTMLEmbedElement interface: document.createElement("embed") must inherit property "height" with the proper type
+PASS HTMLEmbedElement interface: document.createElement("embed") must inherit property "getSVGDocument()" with the proper type
+PASS HTMLEmbedElement interface: document.createElement("embed") must inherit property "align" with the proper type
+PASS HTMLEmbedElement interface: document.createElement("embed") must inherit property "name" with the proper type
+PASS HTMLObjectElement interface: existence and properties of interface object
+PASS HTMLObjectElement interface object length
+PASS HTMLObjectElement interface object name
+PASS HTMLObjectElement interface: existence and properties of interface prototype object
+PASS HTMLObjectElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLObjectElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLObjectElement interface: attribute data
+PASS HTMLObjectElement interface: attribute type
+FAIL HTMLObjectElement interface: attribute typeMustMatch assert_true: The prototype object must have a property "typeMustMatch" expected true got false
+PASS HTMLObjectElement interface: attribute name
+PASS HTMLObjectElement interface: attribute useMap
+PASS HTMLObjectElement interface: attribute form
+PASS HTMLObjectElement interface: attribute width
+PASS HTMLObjectElement interface: attribute height
+PASS HTMLObjectElement interface: attribute contentDocument
+PASS HTMLObjectElement interface: attribute contentWindow
+PASS HTMLObjectElement interface: operation getSVGDocument()
+PASS HTMLObjectElement interface: attribute willValidate
+PASS HTMLObjectElement interface: attribute validity
+PASS HTMLObjectElement interface: attribute validationMessage
+PASS HTMLObjectElement interface: operation checkValidity()
+PASS HTMLObjectElement interface: operation reportValidity()
+PASS HTMLObjectElement interface: operation setCustomValidity(DOMString)
+PASS HTMLObjectElement interface: attribute align
+PASS HTMLObjectElement interface: attribute archive
+PASS HTMLObjectElement interface: attribute code
+PASS HTMLObjectElement interface: attribute declare
+PASS HTMLObjectElement interface: attribute hspace
+PASS HTMLObjectElement interface: attribute standby
+PASS HTMLObjectElement interface: attribute vspace
+PASS HTMLObjectElement interface: attribute codeBase
+PASS HTMLObjectElement interface: attribute codeType
+PASS HTMLObjectElement interface: attribute border
+PASS HTMLObjectElement must be primary interface of document.createElement("object")
+PASS Stringification of document.createElement("object")
+PASS HTMLObjectElement interface: document.createElement("object") must inherit property "data" with the proper type
+PASS HTMLObjectElement interface: document.createElement("object") must inherit property "type" with the proper type
+FAIL HTMLObjectElement interface: document.createElement("object") must inherit property "typeMustMatch" with the proper type assert_inherits: property "typeMustMatch" not found in prototype chain
+PASS HTMLObjectElement interface: document.createElement("object") must inherit property "name" with the proper type
+PASS HTMLObjectElement interface: document.createElement("object") must inherit property "useMap" with the proper type
+PASS HTMLObjectElement interface: document.createElement("object") must inherit property "form" with the proper type
+PASS HTMLObjectElement interface: document.createElement("object") must inherit property "width" with the proper type
+PASS HTMLObjectElement interface: document.createElement("object") must inherit property "height" with the proper type
+PASS HTMLObjectElement interface: document.createElement("object") must inherit property "contentDocument" with the proper type
+PASS HTMLObjectElement interface: document.createElement("object") must inherit property "contentWindow" with the proper type
+PASS HTMLObjectElement interface: document.createElement("object") must inherit property "getSVGDocument()" with the proper type
+PASS HTMLObjectElement interface: document.createElement("object") must inherit property "willValidate" with the proper type
+PASS HTMLObjectElement interface: document.createElement("object") must inherit property "validity" with the proper type
+PASS HTMLObjectElement interface: document.createElement("object") must inherit property "validationMessage" with the proper type
+PASS HTMLObjectElement interface: document.createElement("object") must inherit property "checkValidity()" with the proper type
+PASS HTMLObjectElement interface: document.createElement("object") must inherit property "reportValidity()" with the proper type
+PASS HTMLObjectElement interface: document.createElement("object") must inherit property "setCustomValidity(DOMString)" with the proper type
+PASS HTMLObjectElement interface: calling setCustomValidity(DOMString) on document.createElement("object") with too few arguments must throw TypeError
+PASS HTMLObjectElement interface: document.createElement("object") must inherit property "align" with the proper type
+PASS HTMLObjectElement interface: document.createElement("object") must inherit property "archive" with the proper type
+PASS HTMLObjectElement interface: document.createElement("object") must inherit property "code" with the proper type
+PASS HTMLObjectElement interface: document.createElement("object") must inherit property "declare" with the proper type
+PASS HTMLObjectElement interface: document.createElement("object") must inherit property "hspace" with the proper type
+PASS HTMLObjectElement interface: document.createElement("object") must inherit property "standby" with the proper type
+PASS HTMLObjectElement interface: document.createElement("object") must inherit property "vspace" with the proper type
+PASS HTMLObjectElement interface: document.createElement("object") must inherit property "codeBase" with the proper type
+PASS HTMLObjectElement interface: document.createElement("object") must inherit property "codeType" with the proper type
+PASS HTMLObjectElement interface: document.createElement("object") must inherit property "border" with the proper type
+PASS HTMLParamElement interface: existence and properties of interface object
+PASS HTMLParamElement interface object length
+PASS HTMLParamElement interface object name
+PASS HTMLParamElement interface: existence and properties of interface prototype object
+PASS HTMLParamElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLParamElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLParamElement interface: attribute name
+PASS HTMLParamElement interface: attribute value
+PASS HTMLParamElement interface: attribute type
+PASS HTMLParamElement interface: attribute valueType
+PASS HTMLParamElement must be primary interface of document.createElement("param")
+PASS Stringification of document.createElement("param")
+PASS HTMLParamElement interface: document.createElement("param") must inherit property "name" with the proper type
+PASS HTMLParamElement interface: document.createElement("param") must inherit property "value" with the proper type
+PASS HTMLParamElement interface: document.createElement("param") must inherit property "type" with the proper type
+PASS HTMLParamElement interface: document.createElement("param") must inherit property "valueType" with the proper type
+PASS HTMLVideoElement interface: existence and properties of interface object
+PASS HTMLVideoElement interface object length
+PASS HTMLVideoElement interface object name
+PASS HTMLVideoElement interface: existence and properties of interface prototype object
+PASS HTMLVideoElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLVideoElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLVideoElement interface: attribute width
+PASS HTMLVideoElement interface: attribute height
+PASS HTMLVideoElement interface: attribute videoWidth
+PASS HTMLVideoElement interface: attribute videoHeight
+PASS HTMLVideoElement interface: attribute poster
+FAIL HTMLVideoElement interface: attribute playsInline assert_true: The prototype object must have a property "playsInline" expected true got false
+PASS HTMLVideoElement must be primary interface of document.createElement("video")
+PASS Stringification of document.createElement("video")
+PASS HTMLVideoElement interface: document.createElement("video") must inherit property "width" with the proper type
+PASS HTMLVideoElement interface: document.createElement("video") must inherit property "height" with the proper type
+PASS HTMLVideoElement interface: document.createElement("video") must inherit property "videoWidth" with the proper type
+PASS HTMLVideoElement interface: document.createElement("video") must inherit property "videoHeight" with the proper type
+PASS HTMLVideoElement interface: document.createElement("video") must inherit property "poster" with the proper type
+FAIL HTMLVideoElement interface: document.createElement("video") must inherit property "playsInline" with the proper type assert_inherits: property "playsInline" not found in prototype chain
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "error" with the proper type
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "src" with the proper type
+FAIL HTMLMediaElement interface: document.createElement("video") must inherit property "srcObject" with the proper type Unrecognized type MediaStream
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "currentSrc" with the proper type
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "crossOrigin" with the proper type
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "NETWORK_EMPTY" with the proper type
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "NETWORK_IDLE" with the proper type
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "NETWORK_LOADING" with the proper type
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "NETWORK_NO_SOURCE" with the proper type
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "networkState" with the proper type
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "preload" with the proper type
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "buffered" with the proper type
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "load()" with the proper type
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "canPlayType(DOMString)" with the proper type
+PASS HTMLMediaElement interface: calling canPlayType(DOMString) on document.createElement("video") with too few arguments must throw TypeError
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "HAVE_NOTHING" with the proper type
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "HAVE_METADATA" with the proper type
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "HAVE_CURRENT_DATA" with the proper type
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "HAVE_FUTURE_DATA" with the proper type
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "HAVE_ENOUGH_DATA" with the proper type
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "readyState" with the proper type
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "seeking" with the proper type
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "currentTime" with the proper type
+FAIL HTMLMediaElement interface: document.createElement("video") must inherit property "fastSeek(double)" with the proper type assert_inherits: property "fastSeek" not found in prototype chain
+FAIL HTMLMediaElement interface: calling fastSeek(double) on document.createElement("video") with too few arguments must throw TypeError assert_inherits: property "fastSeek" not found in prototype chain
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "duration" with the proper type
+FAIL HTMLMediaElement interface: document.createElement("video") must inherit property "getStartDate()" with the proper type assert_inherits: property "getStartDate" not found in prototype chain
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "paused" with the proper type
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "defaultPlaybackRate" with the proper type
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "playbackRate" with the proper type
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "played" with the proper type
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "seekable" with the proper type
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "ended" with the proper type
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "autoplay" with the proper type
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "loop" with the proper type
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "play()" with the proper type
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "pause()" with the proper type
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "controls" with the proper type
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "volume" with the proper type
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "muted" with the proper type
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "defaultMuted" with the proper type
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "audioTracks" with the proper type
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "videoTracks" with the proper type
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "textTracks" with the proper type
+PASS HTMLMediaElement interface: document.createElement("video") must inherit property "addTextTrack(TextTrackKind, DOMString, DOMString)" with the proper type
+PASS HTMLMediaElement interface: calling addTextTrack(TextTrackKind, DOMString, DOMString) on document.createElement("video") with too few arguments must throw TypeError
+PASS HTMLAudioElement interface: existence and properties of interface object
+PASS HTMLAudioElement interface object length
+PASS HTMLAudioElement interface object name
+PASS HTMLAudioElement interface: existence and properties of interface prototype object
+PASS HTMLAudioElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLAudioElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLAudioElement must be primary interface of document.createElement("audio")
+PASS Stringification of document.createElement("audio")
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "error" with the proper type
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "src" with the proper type
+FAIL HTMLMediaElement interface: document.createElement("audio") must inherit property "srcObject" with the proper type Unrecognized type MediaStream
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "currentSrc" with the proper type
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "crossOrigin" with the proper type
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "NETWORK_EMPTY" with the proper type
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "NETWORK_IDLE" with the proper type
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "NETWORK_LOADING" with the proper type
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "NETWORK_NO_SOURCE" with the proper type
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "networkState" with the proper type
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "preload" with the proper type
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "buffered" with the proper type
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "load()" with the proper type
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "canPlayType(DOMString)" with the proper type
+PASS HTMLMediaElement interface: calling canPlayType(DOMString) on document.createElement("audio") with too few arguments must throw TypeError
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "HAVE_NOTHING" with the proper type
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "HAVE_METADATA" with the proper type
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "HAVE_CURRENT_DATA" with the proper type
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "HAVE_FUTURE_DATA" with the proper type
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "HAVE_ENOUGH_DATA" with the proper type
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "readyState" with the proper type
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "seeking" with the proper type
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "currentTime" with the proper type
+FAIL HTMLMediaElement interface: document.createElement("audio") must inherit property "fastSeek(double)" with the proper type assert_inherits: property "fastSeek" not found in prototype chain
+FAIL HTMLMediaElement interface: calling fastSeek(double) on document.createElement("audio") with too few arguments must throw TypeError assert_inherits: property "fastSeek" not found in prototype chain
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "duration" with the proper type
+FAIL HTMLMediaElement interface: document.createElement("audio") must inherit property "getStartDate()" with the proper type assert_inherits: property "getStartDate" not found in prototype chain
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "paused" with the proper type
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "defaultPlaybackRate" with the proper type
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "playbackRate" with the proper type
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "played" with the proper type
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "seekable" with the proper type
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "ended" with the proper type
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "autoplay" with the proper type
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "loop" with the proper type
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "play()" with the proper type
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "pause()" with the proper type
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "controls" with the proper type
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "volume" with the proper type
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "muted" with the proper type
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "defaultMuted" with the proper type
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "audioTracks" with the proper type
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "videoTracks" with the proper type
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "textTracks" with the proper type
+PASS HTMLMediaElement interface: document.createElement("audio") must inherit property "addTextTrack(TextTrackKind, DOMString, DOMString)" with the proper type
+PASS HTMLMediaElement interface: calling addTextTrack(TextTrackKind, DOMString, DOMString) on document.createElement("audio") with too few arguments must throw TypeError
+PASS HTMLAudioElement must be primary interface of new Audio()
+PASS Stringification of new Audio()
+PASS HTMLMediaElement interface: new Audio() must inherit property "error" with the proper type
+PASS HTMLMediaElement interface: new Audio() must inherit property "src" with the proper type
+FAIL HTMLMediaElement interface: new Audio() must inherit property "srcObject" with the proper type Unrecognized type MediaStream
+PASS HTMLMediaElement interface: new Audio() must inherit property "currentSrc" with the proper type
+PASS HTMLMediaElement interface: new Audio() must inherit property "crossOrigin" with the proper type
+PASS HTMLMediaElement interface: new Audio() must inherit property "NETWORK_EMPTY" with the proper type
+PASS HTMLMediaElement interface: new Audio() must inherit property "NETWORK_IDLE" with the proper type
+PASS HTMLMediaElement interface: new Audio() must inherit property "NETWORK_LOADING" with the proper type
+PASS HTMLMediaElement interface: new Audio() must inherit property "NETWORK_NO_SOURCE" with the proper type
+PASS HTMLMediaElement interface: new Audio() must inherit property "networkState" with the proper type
+PASS HTMLMediaElement interface: new Audio() must inherit property "preload" with the proper type
+PASS HTMLMediaElement interface: new Audio() must inherit property "buffered" with the proper type
+PASS HTMLMediaElement interface: new Audio() must inherit property "load()" with the proper type
+PASS HTMLMediaElement interface: new Audio() must inherit property "canPlayType(DOMString)" with the proper type
+PASS HTMLMediaElement interface: calling canPlayType(DOMString) on new Audio() with too few arguments must throw TypeError
+PASS HTMLMediaElement interface: new Audio() must inherit property "HAVE_NOTHING" with the proper type
+PASS HTMLMediaElement interface: new Audio() must inherit property "HAVE_METADATA" with the proper type
+PASS HTMLMediaElement interface: new Audio() must inherit property "HAVE_CURRENT_DATA" with the proper type
+PASS HTMLMediaElement interface: new Audio() must inherit property "HAVE_FUTURE_DATA" with the proper type
+PASS HTMLMediaElement interface: new Audio() must inherit property "HAVE_ENOUGH_DATA" with the proper type
+PASS HTMLMediaElement interface: new Audio() must inherit property "readyState" with the proper type
+PASS HTMLMediaElement interface: new Audio() must inherit property "seeking" with the proper type
+PASS HTMLMediaElement interface: new Audio() must inherit property "currentTime" with the proper type
+FAIL HTMLMediaElement interface: new Audio() must inherit property "fastSeek(double)" with the proper type assert_inherits: property "fastSeek" not found in prototype chain
+FAIL HTMLMediaElement interface: calling fastSeek(double) on new Audio() with too few arguments must throw TypeError assert_inherits: property "fastSeek" not found in prototype chain
+PASS HTMLMediaElement interface: new Audio() must inherit property "duration" with the proper type
+FAIL HTMLMediaElement interface: new Audio() must inherit property "getStartDate()" with the proper type assert_inherits: property "getStartDate" not found in prototype chain
+PASS HTMLMediaElement interface: new Audio() must inherit property "paused" with the proper type
+PASS HTMLMediaElement interface: new Audio() must inherit property "defaultPlaybackRate" with the proper type
+PASS HTMLMediaElement interface: new Audio() must inherit property "playbackRate" with the proper type
+PASS HTMLMediaElement interface: new Audio() must inherit property "played" with the proper type
+PASS HTMLMediaElement interface: new Audio() must inherit property "seekable" with the proper type
+PASS HTMLMediaElement interface: new Audio() must inherit property "ended" with the proper type
+PASS HTMLMediaElement interface: new Audio() must inherit property "autoplay" with the proper type
+PASS HTMLMediaElement interface: new Audio() must inherit property "loop" with the proper type
+PASS HTMLMediaElement interface: new Audio() must inherit property "play()" with the proper type
+PASS HTMLMediaElement interface: new Audio() must inherit property "pause()" with the proper type
+PASS HTMLMediaElement interface: new Audio() must inherit property "controls" with the proper type
+PASS HTMLMediaElement interface: new Audio() must inherit property "volume" with the proper type
+PASS HTMLMediaElement interface: new Audio() must inherit property "muted" with the proper type
+PASS HTMLMediaElement interface: new Audio() must inherit property "defaultMuted" with the proper type
+PASS HTMLMediaElement interface: new Audio() must inherit property "audioTracks" with the proper type
+PASS HTMLMediaElement interface: new Audio() must inherit property "videoTracks" with the proper type
+PASS HTMLMediaElement interface: new Audio() must inherit property "textTracks" with the proper type
+PASS HTMLMediaElement interface: new Audio() must inherit property "addTextTrack(TextTrackKind, DOMString, DOMString)" with the proper type
+PASS HTMLMediaElement interface: calling addTextTrack(TextTrackKind, DOMString, DOMString) on new Audio() with too few arguments must throw TypeError
+PASS HTMLTrackElement interface: existence and properties of interface object
+PASS HTMLTrackElement interface object length
+PASS HTMLTrackElement interface object name
+PASS HTMLTrackElement interface: existence and properties of interface prototype object
+PASS HTMLTrackElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLTrackElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLTrackElement interface: attribute kind
+PASS HTMLTrackElement interface: attribute src
+PASS HTMLTrackElement interface: attribute srclang
+PASS HTMLTrackElement interface: attribute label
+PASS HTMLTrackElement interface: attribute default
+PASS HTMLTrackElement interface: constant NONE on interface object
+PASS HTMLTrackElement interface: constant NONE on interface prototype object
+PASS HTMLTrackElement interface: constant LOADING on interface object
+PASS HTMLTrackElement interface: constant LOADING on interface prototype object
+PASS HTMLTrackElement interface: constant LOADED on interface object
+PASS HTMLTrackElement interface: constant LOADED on interface prototype object
+PASS HTMLTrackElement interface: constant ERROR on interface object
+PASS HTMLTrackElement interface: constant ERROR on interface prototype object
+PASS HTMLTrackElement interface: attribute readyState
+PASS HTMLTrackElement interface: attribute track
+PASS HTMLTrackElement must be primary interface of document.createElement("track")
+PASS Stringification of document.createElement("track")
+PASS HTMLTrackElement interface: document.createElement("track") must inherit property "kind" with the proper type
+PASS HTMLTrackElement interface: document.createElement("track") must inherit property "src" with the proper type
+PASS HTMLTrackElement interface: document.createElement("track") must inherit property "srclang" with the proper type
+PASS HTMLTrackElement interface: document.createElement("track") must inherit property "label" with the proper type
+PASS HTMLTrackElement interface: document.createElement("track") must inherit property "default" with the proper type
+PASS HTMLTrackElement interface: document.createElement("track") must inherit property "NONE" with the proper type
+PASS HTMLTrackElement interface: document.createElement("track") must inherit property "LOADING" with the proper type
+PASS HTMLTrackElement interface: document.createElement("track") must inherit property "LOADED" with the proper type
+PASS HTMLTrackElement interface: document.createElement("track") must inherit property "ERROR" with the proper type
+PASS HTMLTrackElement interface: document.createElement("track") must inherit property "readyState" with the proper type
+PASS HTMLTrackElement interface: document.createElement("track") must inherit property "track" with the proper type
+PASS HTMLMediaElement interface: existence and properties of interface object
+PASS HTMLMediaElement interface object length
+PASS HTMLMediaElement interface object name
+PASS HTMLMediaElement interface: existence and properties of interface prototype object
+PASS HTMLMediaElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLMediaElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLMediaElement interface: attribute error
+PASS HTMLMediaElement interface: attribute src
+PASS HTMLMediaElement interface: attribute srcObject
+PASS HTMLMediaElement interface: attribute currentSrc
+PASS HTMLMediaElement interface: attribute crossOrigin
+PASS HTMLMediaElement interface: constant NETWORK_EMPTY on interface object
+PASS HTMLMediaElement interface: constant NETWORK_EMPTY on interface prototype object
+PASS HTMLMediaElement interface: constant NETWORK_IDLE on interface object
+PASS HTMLMediaElement interface: constant NETWORK_IDLE on interface prototype object
+PASS HTMLMediaElement interface: constant NETWORK_LOADING on interface object
+PASS HTMLMediaElement interface: constant NETWORK_LOADING on interface prototype object
+PASS HTMLMediaElement interface: constant NETWORK_NO_SOURCE on interface object
+PASS HTMLMediaElement interface: constant NETWORK_NO_SOURCE on interface prototype object
+PASS HTMLMediaElement interface: attribute networkState
+PASS HTMLMediaElement interface: attribute preload
+PASS HTMLMediaElement interface: attribute buffered
+PASS HTMLMediaElement interface: operation load()
+PASS HTMLMediaElement interface: operation canPlayType(DOMString)
+PASS HTMLMediaElement interface: constant HAVE_NOTHING on interface object
+PASS HTMLMediaElement interface: constant HAVE_NOTHING on interface prototype object
+PASS HTMLMediaElement interface: constant HAVE_METADATA on interface object
+PASS HTMLMediaElement interface: constant HAVE_METADATA on interface prototype object
+PASS HTMLMediaElement interface: constant HAVE_CURRENT_DATA on interface object
+PASS HTMLMediaElement interface: constant HAVE_CURRENT_DATA on interface prototype object
+PASS HTMLMediaElement interface: constant HAVE_FUTURE_DATA on interface object
+PASS HTMLMediaElement interface: constant HAVE_FUTURE_DATA on interface prototype object
+PASS HTMLMediaElement interface: constant HAVE_ENOUGH_DATA on interface object
+PASS HTMLMediaElement interface: constant HAVE_ENOUGH_DATA on interface prototype object
+PASS HTMLMediaElement interface: attribute readyState
+PASS HTMLMediaElement interface: attribute seeking
+PASS HTMLMediaElement interface: attribute currentTime
+FAIL HTMLMediaElement interface: operation fastSeek(double) assert_own_property: interface prototype object missing non-static operation expected property "fastSeek" missing
+PASS HTMLMediaElement interface: attribute duration
+FAIL HTMLMediaElement interface: operation getStartDate() assert_own_property: interface prototype object missing non-static operation expected property "getStartDate" missing
+PASS HTMLMediaElement interface: attribute paused
+PASS HTMLMediaElement interface: attribute defaultPlaybackRate
+PASS HTMLMediaElement interface: attribute playbackRate
+PASS HTMLMediaElement interface: attribute played
+PASS HTMLMediaElement interface: attribute seekable
+PASS HTMLMediaElement interface: attribute ended
+PASS HTMLMediaElement interface: attribute autoplay
+PASS HTMLMediaElement interface: attribute loop
+PASS HTMLMediaElement interface: operation play()
+PASS HTMLMediaElement interface: operation pause()
+PASS HTMLMediaElement interface: attribute controls
+PASS HTMLMediaElement interface: attribute volume
+PASS HTMLMediaElement interface: attribute muted
+PASS HTMLMediaElement interface: attribute defaultMuted
+PASS HTMLMediaElement interface: attribute audioTracks
+PASS HTMLMediaElement interface: attribute videoTracks
+PASS HTMLMediaElement interface: attribute textTracks
+PASS HTMLMediaElement interface: operation addTextTrack(TextTrackKind, DOMString, DOMString)
+PASS HTMLMapElement interface: existence and properties of interface object
+PASS HTMLMapElement interface object length
+PASS HTMLMapElement interface object name
+PASS HTMLMapElement interface: existence and properties of interface prototype object
+PASS HTMLMapElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLMapElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLMapElement interface: attribute name
+PASS HTMLMapElement interface: attribute areas
+PASS HTMLMapElement must be primary interface of document.createElement("map")
+PASS Stringification of document.createElement("map")
+PASS HTMLMapElement interface: document.createElement("map") must inherit property "name" with the proper type
+PASS HTMLMapElement interface: document.createElement("map") must inherit property "areas" with the proper type
+PASS HTMLAreaElement interface: existence and properties of interface object
+PASS HTMLAreaElement interface object length
+PASS HTMLAreaElement interface object name
+PASS HTMLAreaElement interface: existence and properties of interface prototype object
+PASS HTMLAreaElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLAreaElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLAreaElement interface: attribute alt
+PASS HTMLAreaElement interface: attribute coords
+PASS HTMLAreaElement interface: attribute shape
+PASS HTMLAreaElement interface: attribute target
+PASS HTMLAreaElement interface: attribute download
+PASS HTMLAreaElement interface: attribute ping
+PASS HTMLAreaElement interface: attribute rel
+PASS HTMLAreaElement interface: attribute relList
+PASS HTMLAreaElement interface: attribute referrerPolicy
+PASS HTMLAreaElement interface: attribute noHref
+PASS HTMLAreaElement interface: attribute href
+PASS HTMLAreaElement interface: stringifier
+PASS HTMLAreaElement interface: attribute origin
+PASS HTMLAreaElement interface: attribute protocol
+PASS HTMLAreaElement interface: attribute username
+PASS HTMLAreaElement interface: attribute password
+PASS HTMLAreaElement interface: attribute host
+PASS HTMLAreaElement interface: attribute hostname
+PASS HTMLAreaElement interface: attribute port
+PASS HTMLAreaElement interface: attribute pathname
+PASS HTMLAreaElement interface: attribute search
+PASS HTMLAreaElement interface: attribute hash
+PASS HTMLAreaElement must be primary interface of document.createElement("area")
+PASS Stringification of document.createElement("area")
+PASS HTMLAreaElement interface: document.createElement("area") must inherit property "alt" with the proper type
+PASS HTMLAreaElement interface: document.createElement("area") must inherit property "coords" with the proper type
+PASS HTMLAreaElement interface: document.createElement("area") must inherit property "shape" with the proper type
+PASS HTMLAreaElement interface: document.createElement("area") must inherit property "target" with the proper type
+PASS HTMLAreaElement interface: document.createElement("area") must inherit property "download" with the proper type
+PASS HTMLAreaElement interface: document.createElement("area") must inherit property "ping" with the proper type
+PASS HTMLAreaElement interface: document.createElement("area") must inherit property "rel" with the proper type
+PASS HTMLAreaElement interface: document.createElement("area") must inherit property "relList" with the proper type
+PASS HTMLAreaElement interface: document.createElement("area") must inherit property "referrerPolicy" with the proper type
+PASS HTMLAreaElement interface: document.createElement("area") must inherit property "noHref" with the proper type
+PASS HTMLAreaElement interface: document.createElement("area") must inherit property "href" with the proper type
+PASS HTMLAreaElement interface: document.createElement("area") must inherit property "origin" with the proper type
+PASS HTMLAreaElement interface: document.createElement("area") must inherit property "protocol" with the proper type
+PASS HTMLAreaElement interface: document.createElement("area") must inherit property "username" with the proper type
+PASS HTMLAreaElement interface: document.createElement("area") must inherit property "password" with the proper type
+PASS HTMLAreaElement interface: document.createElement("area") must inherit property "host" with the proper type
+PASS HTMLAreaElement interface: document.createElement("area") must inherit property "hostname" with the proper type
+PASS HTMLAreaElement interface: document.createElement("area") must inherit property "port" with the proper type
+PASS HTMLAreaElement interface: document.createElement("area") must inherit property "pathname" with the proper type
+PASS HTMLAreaElement interface: document.createElement("area") must inherit property "search" with the proper type
+PASS HTMLAreaElement interface: document.createElement("area") must inherit property "hash" with the proper type
+PASS HTMLTableElement interface: existence and properties of interface object
+PASS HTMLTableElement interface object length
+PASS HTMLTableElement interface object name
+PASS HTMLTableElement interface: existence and properties of interface prototype object
+PASS HTMLTableElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLTableElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLTableElement interface: attribute caption
+PASS HTMLTableElement interface: operation createCaption()
+PASS HTMLTableElement interface: operation deleteCaption()
+PASS HTMLTableElement interface: attribute tHead
+PASS HTMLTableElement interface: operation createTHead()
+PASS HTMLTableElement interface: operation deleteTHead()
+PASS HTMLTableElement interface: attribute tFoot
+PASS HTMLTableElement interface: operation createTFoot()
+PASS HTMLTableElement interface: operation deleteTFoot()
+PASS HTMLTableElement interface: attribute tBodies
+PASS HTMLTableElement interface: operation createTBody()
+PASS HTMLTableElement interface: attribute rows
+PASS HTMLTableElement interface: operation insertRow(long)
+PASS HTMLTableElement interface: operation deleteRow(long)
+PASS HTMLTableElement interface: attribute align
+PASS HTMLTableElement interface: attribute border
+PASS HTMLTableElement interface: attribute frame
+PASS HTMLTableElement interface: attribute rules
+PASS HTMLTableElement interface: attribute summary
+PASS HTMLTableElement interface: attribute width
+PASS HTMLTableElement interface: attribute bgColor
+PASS HTMLTableElement interface: attribute cellPadding
+PASS HTMLTableElement interface: attribute cellSpacing
+PASS HTMLTableElement must be primary interface of document.createElement("table")
+PASS Stringification of document.createElement("table")
+PASS HTMLTableElement interface: document.createElement("table") must inherit property "caption" with the proper type
+PASS HTMLTableElement interface: document.createElement("table") must inherit property "createCaption()" with the proper type
+PASS HTMLTableElement interface: document.createElement("table") must inherit property "deleteCaption()" with the proper type
+PASS HTMLTableElement interface: document.createElement("table") must inherit property "tHead" with the proper type
+PASS HTMLTableElement interface: document.createElement("table") must inherit property "createTHead()" with the proper type
+PASS HTMLTableElement interface: document.createElement("table") must inherit property "deleteTHead()" with the proper type
+PASS HTMLTableElement interface: document.createElement("table") must inherit property "tFoot" with the proper type
+PASS HTMLTableElement interface: document.createElement("table") must inherit property "createTFoot()" with the proper type
+PASS HTMLTableElement interface: document.createElement("table") must inherit property "deleteTFoot()" with the proper type
+PASS HTMLTableElement interface: document.createElement("table") must inherit property "tBodies" with the proper type
+PASS HTMLTableElement interface: document.createElement("table") must inherit property "createTBody()" with the proper type
+PASS HTMLTableElement interface: document.createElement("table") must inherit property "rows" with the proper type
+PASS HTMLTableElement interface: document.createElement("table") must inherit property "insertRow(long)" with the proper type
+PASS HTMLTableElement interface: calling insertRow(long) on document.createElement("table") with too few arguments must throw TypeError
+PASS HTMLTableElement interface: document.createElement("table") must inherit property "deleteRow(long)" with the proper type
+PASS HTMLTableElement interface: calling deleteRow(long) on document.createElement("table") with too few arguments must throw TypeError
+PASS HTMLTableElement interface: document.createElement("table") must inherit property "align" with the proper type
+PASS HTMLTableElement interface: document.createElement("table") must inherit property "border" with the proper type
+PASS HTMLTableElement interface: document.createElement("table") must inherit property "frame" with the proper type
+PASS HTMLTableElement interface: document.createElement("table") must inherit property "rules" with the proper type
+PASS HTMLTableElement interface: document.createElement("table") must inherit property "summary" with the proper type
+PASS HTMLTableElement interface: document.createElement("table") must inherit property "width" with the proper type
+PASS HTMLTableElement interface: document.createElement("table") must inherit property "bgColor" with the proper type
+PASS HTMLTableElement interface: document.createElement("table") must inherit property "cellPadding" with the proper type
+PASS HTMLTableElement interface: document.createElement("table") must inherit property "cellSpacing" with the proper type
+PASS HTMLTableCaptionElement interface: existence and properties of interface object
+PASS HTMLTableCaptionElement interface object length
+PASS HTMLTableCaptionElement interface object name
+PASS HTMLTableCaptionElement interface: existence and properties of interface prototype object
+PASS HTMLTableCaptionElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLTableCaptionElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLTableCaptionElement interface: attribute align
+PASS HTMLTableCaptionElement must be primary interface of document.createElement("caption")
+PASS Stringification of document.createElement("caption")
+PASS HTMLTableCaptionElement interface: document.createElement("caption") must inherit property "align" with the proper type
+PASS HTMLTableColElement interface: existence and properties of interface object
+PASS HTMLTableColElement interface object length
+PASS HTMLTableColElement interface object name
+PASS HTMLTableColElement interface: existence and properties of interface prototype object
+PASS HTMLTableColElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLTableColElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLTableColElement interface: attribute span
+PASS HTMLTableColElement interface: attribute align
+PASS HTMLTableColElement interface: attribute ch
+PASS HTMLTableColElement interface: attribute chOff
+PASS HTMLTableColElement interface: attribute vAlign
+PASS HTMLTableColElement interface: attribute width
+PASS HTMLTableColElement must be primary interface of document.createElement("colgroup")
+PASS Stringification of document.createElement("colgroup")
+PASS HTMLTableColElement interface: document.createElement("colgroup") must inherit property "span" with the proper type
+PASS HTMLTableColElement interface: document.createElement("colgroup") must inherit property "align" with the proper type
+PASS HTMLTableColElement interface: document.createElement("colgroup") must inherit property "ch" with the proper type
+PASS HTMLTableColElement interface: document.createElement("colgroup") must inherit property "chOff" with the proper type
+PASS HTMLTableColElement interface: document.createElement("colgroup") must inherit property "vAlign" with the proper type
+PASS HTMLTableColElement interface: document.createElement("colgroup") must inherit property "width" with the proper type
+PASS HTMLTableColElement must be primary interface of document.createElement("col")
+PASS Stringification of document.createElement("col")
+PASS HTMLTableColElement interface: document.createElement("col") must inherit property "span" with the proper type
+PASS HTMLTableColElement interface: document.createElement("col") must inherit property "align" with the proper type
+PASS HTMLTableColElement interface: document.createElement("col") must inherit property "ch" with the proper type
+PASS HTMLTableColElement interface: document.createElement("col") must inherit property "chOff" with the proper type
+PASS HTMLTableColElement interface: document.createElement("col") must inherit property "vAlign" with the proper type
+PASS HTMLTableColElement interface: document.createElement("col") must inherit property "width" with the proper type
+PASS HTMLTableSectionElement interface: existence and properties of interface object
+PASS HTMLTableSectionElement interface object length
+PASS HTMLTableSectionElement interface object name
+PASS HTMLTableSectionElement interface: existence and properties of interface prototype object
+PASS HTMLTableSectionElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLTableSectionElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLTableSectionElement interface: attribute rows
+PASS HTMLTableSectionElement interface: operation insertRow(long)
+PASS HTMLTableSectionElement interface: operation deleteRow(long)
+PASS HTMLTableSectionElement interface: attribute align
+PASS HTMLTableSectionElement interface: attribute ch
+PASS HTMLTableSectionElement interface: attribute chOff
+PASS HTMLTableSectionElement interface: attribute vAlign
+PASS HTMLTableSectionElement must be primary interface of document.createElement("tbody")
+PASS Stringification of document.createElement("tbody")
+PASS HTMLTableSectionElement interface: document.createElement("tbody") must inherit property "rows" with the proper type
+PASS HTMLTableSectionElement interface: document.createElement("tbody") must inherit property "insertRow(long)" with the proper type
+PASS HTMLTableSectionElement interface: calling insertRow(long) on document.createElement("tbody") with too few arguments must throw TypeError
+PASS HTMLTableSectionElement interface: document.createElement("tbody") must inherit property "deleteRow(long)" with the proper type
+PASS HTMLTableSectionElement interface: calling deleteRow(long) on document.createElement("tbody") with too few arguments must throw TypeError
+PASS HTMLTableSectionElement interface: document.createElement("tbody") must inherit property "align" with the proper type
+PASS HTMLTableSectionElement interface: document.createElement("tbody") must inherit property "ch" with the proper type
+PASS HTMLTableSectionElement interface: document.createElement("tbody") must inherit property "chOff" with the proper type
+PASS HTMLTableSectionElement interface: document.createElement("tbody") must inherit property "vAlign" with the proper type
+PASS HTMLTableSectionElement must be primary interface of document.createElement("thead")
+PASS Stringification of document.createElement("thead")
+PASS HTMLTableSectionElement interface: document.createElement("thead") must inherit property "rows" with the proper type
+PASS HTMLTableSectionElement interface: document.createElement("thead") must inherit property "insertRow(long)" with the proper type
+PASS HTMLTableSectionElement interface: calling insertRow(long) on document.createElement("thead") with too few arguments must throw TypeError
+PASS HTMLTableSectionElement interface: document.createElement("thead") must inherit property "deleteRow(long)" with the proper type
+PASS HTMLTableSectionElement interface: calling deleteRow(long) on document.createElement("thead") with too few arguments must throw TypeError
+PASS HTMLTableSectionElement interface: document.createElement("thead") must inherit property "align" with the proper type
+PASS HTMLTableSectionElement interface: document.createElement("thead") must inherit property "ch" with the proper type
+PASS HTMLTableSectionElement interface: document.createElement("thead") must inherit property "chOff" with the proper type
+PASS HTMLTableSectionElement interface: document.createElement("thead") must inherit property "vAlign" with the proper type
+PASS HTMLTableSectionElement must be primary interface of document.createElement("tfoot")
+PASS Stringification of document.createElement("tfoot")
+PASS HTMLTableSectionElement interface: document.createElement("tfoot") must inherit property "rows" with the proper type
+PASS HTMLTableSectionElement interface: document.createElement("tfoot") must inherit property "insertRow(long)" with the proper type
+PASS HTMLTableSectionElement interface: calling insertRow(long) on document.createElement("tfoot") with too few arguments must throw TypeError
+PASS HTMLTableSectionElement interface: document.createElement("tfoot") must inherit property "deleteRow(long)" with the proper type
+PASS HTMLTableSectionElement interface: calling deleteRow(long) on document.createElement("tfoot") with too few arguments must throw TypeError
+PASS HTMLTableSectionElement interface: document.createElement("tfoot") must inherit property "align" with the proper type
+PASS HTMLTableSectionElement interface: document.createElement("tfoot") must inherit property "ch" with the proper type
+PASS HTMLTableSectionElement interface: document.createElement("tfoot") must inherit property "chOff" with the proper type
+PASS HTMLTableSectionElement interface: document.createElement("tfoot") must inherit property "vAlign" with the proper type
+PASS HTMLTableRowElement interface: existence and properties of interface object
+PASS HTMLTableRowElement interface object length
+PASS HTMLTableRowElement interface object name
+PASS HTMLTableRowElement interface: existence and properties of interface prototype object
+PASS HTMLTableRowElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLTableRowElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLTableRowElement interface: attribute rowIndex
+PASS HTMLTableRowElement interface: attribute sectionRowIndex
+PASS HTMLTableRowElement interface: attribute cells
+PASS HTMLTableRowElement interface: operation insertCell(long)
+PASS HTMLTableRowElement interface: operation deleteCell(long)
+PASS HTMLTableRowElement interface: attribute align
+PASS HTMLTableRowElement interface: attribute ch
+PASS HTMLTableRowElement interface: attribute chOff
+PASS HTMLTableRowElement interface: attribute vAlign
+PASS HTMLTableRowElement interface: attribute bgColor
+PASS HTMLTableRowElement must be primary interface of document.createElement("tr")
+PASS Stringification of document.createElement("tr")
+PASS HTMLTableRowElement interface: document.createElement("tr") must inherit property "rowIndex" with the proper type
+PASS HTMLTableRowElement interface: document.createElement("tr") must inherit property "sectionRowIndex" with the proper type
+PASS HTMLTableRowElement interface: document.createElement("tr") must inherit property "cells" with the proper type
+PASS HTMLTableRowElement interface: document.createElement("tr") must inherit property "insertCell(long)" with the proper type
+PASS HTMLTableRowElement interface: calling insertCell(long) on document.createElement("tr") with too few arguments must throw TypeError
+PASS HTMLTableRowElement interface: document.createElement("tr") must inherit property "deleteCell(long)" with the proper type
+PASS HTMLTableRowElement interface: calling deleteCell(long) on document.createElement("tr") with too few arguments must throw TypeError
+PASS HTMLTableRowElement interface: document.createElement("tr") must inherit property "align" with the proper type
+PASS HTMLTableRowElement interface: document.createElement("tr") must inherit property "ch" with the proper type
+PASS HTMLTableRowElement interface: document.createElement("tr") must inherit property "chOff" with the proper type
+PASS HTMLTableRowElement interface: document.createElement("tr") must inherit property "vAlign" with the proper type
+PASS HTMLTableRowElement interface: document.createElement("tr") must inherit property "bgColor" with the proper type
+PASS HTMLTableCellElement interface: existence and properties of interface object
+PASS HTMLTableCellElement interface object length
+PASS HTMLTableCellElement interface object name
+PASS HTMLTableCellElement interface: existence and properties of interface prototype object
+PASS HTMLTableCellElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLTableCellElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLTableCellElement interface: attribute colSpan
+PASS HTMLTableCellElement interface: attribute rowSpan
+PASS HTMLTableCellElement interface: attribute headers
+PASS HTMLTableCellElement interface: attribute cellIndex
+PASS HTMLTableCellElement interface: attribute scope
+PASS HTMLTableCellElement interface: attribute abbr
+PASS HTMLTableCellElement interface: attribute align
+PASS HTMLTableCellElement interface: attribute axis
+PASS HTMLTableCellElement interface: attribute height
+PASS HTMLTableCellElement interface: attribute width
+PASS HTMLTableCellElement interface: attribute ch
+PASS HTMLTableCellElement interface: attribute chOff
+PASS HTMLTableCellElement interface: attribute noWrap
+PASS HTMLTableCellElement interface: attribute vAlign
+PASS HTMLTableCellElement interface: attribute bgColor
+PASS HTMLTableCellElement must be primary interface of document.createElement("td")
+PASS Stringification of document.createElement("td")
+PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "colSpan" with the proper type
+PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "rowSpan" with the proper type
+PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "headers" with the proper type
+PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "cellIndex" with the proper type
+PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "scope" with the proper type
+PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "abbr" with the proper type
+PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "align" with the proper type
+PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "axis" with the proper type
+PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "height" with the proper type
+PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "width" with the proper type
+PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "ch" with the proper type
+PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "chOff" with the proper type
+PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "noWrap" with the proper type
+PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "vAlign" with the proper type
+PASS HTMLTableCellElement interface: document.createElement("td") must inherit property "bgColor" with the proper type
+PASS HTMLTableCellElement must be primary interface of document.createElement("th")
+PASS Stringification of document.createElement("th")
+PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "colSpan" with the proper type
+PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "rowSpan" with the proper type
+PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "headers" with the proper type
+PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "cellIndex" with the proper type
+PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "scope" with the proper type
+PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "abbr" with the proper type
+PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "align" with the proper type
+PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "axis" with the proper type
+PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "height" with the proper type
+PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "width" with the proper type
+PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "ch" with the proper type
+PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "chOff" with the proper type
+PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "noWrap" with the proper type
+PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "vAlign" with the proper type
+PASS HTMLTableCellElement interface: document.createElement("th") must inherit property "bgColor" with the proper type
+PASS HTMLFormElement interface: existence and properties of interface object
+PASS HTMLFormElement interface object length
+PASS HTMLFormElement interface object name
+PASS HTMLFormElement interface: existence and properties of interface prototype object
+PASS HTMLFormElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLFormElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLFormElement interface: attribute acceptCharset
+PASS HTMLFormElement interface: attribute action
+PASS HTMLFormElement interface: attribute autocomplete
+PASS HTMLFormElement interface: attribute enctype
+PASS HTMLFormElement interface: attribute encoding
+PASS HTMLFormElement interface: attribute method
+PASS HTMLFormElement interface: attribute name
+PASS HTMLFormElement interface: attribute noValidate
+PASS HTMLFormElement interface: attribute target
+PASS HTMLFormElement interface: attribute elements
+PASS HTMLFormElement interface: attribute length
+PASS HTMLFormElement interface: operation submit()
+PASS HTMLFormElement interface: operation reset()
+PASS HTMLFormElement interface: operation checkValidity()
+PASS HTMLFormElement interface: operation reportValidity()
+PASS HTMLFormElement must be primary interface of document.createElement("form")
+PASS Stringification of document.createElement("form")
+PASS HTMLFormElement interface: document.createElement("form") must inherit property "acceptCharset" with the proper type
+PASS HTMLFormElement interface: document.createElement("form") must inherit property "action" with the proper type
+PASS HTMLFormElement interface: document.createElement("form") must inherit property "autocomplete" with the proper type
+PASS HTMLFormElement interface: document.createElement("form") must inherit property "enctype" with the proper type
+PASS HTMLFormElement interface: document.createElement("form") must inherit property "encoding" with the proper type
+PASS HTMLFormElement interface: document.createElement("form") must inherit property "method" with the proper type
+PASS HTMLFormElement interface: document.createElement("form") must inherit property "name" with the proper type
+PASS HTMLFormElement interface: document.createElement("form") must inherit property "noValidate" with the proper type
+PASS HTMLFormElement interface: document.createElement("form") must inherit property "target" with the proper type
+PASS HTMLFormElement interface: document.createElement("form") must inherit property "elements" with the proper type
+PASS HTMLFormElement interface: document.createElement("form") must inherit property "length" with the proper type
+PASS HTMLFormElement interface: document.createElement("form") must inherit property "submit()" with the proper type
+PASS HTMLFormElement interface: document.createElement("form") must inherit property "reset()" with the proper type
+PASS HTMLFormElement interface: document.createElement("form") must inherit property "checkValidity()" with the proper type
+PASS HTMLFormElement interface: document.createElement("form") must inherit property "reportValidity()" with the proper type
+PASS HTMLLabelElement interface: existence and properties of interface object
+PASS HTMLLabelElement interface object length
+PASS HTMLLabelElement interface object name
+PASS HTMLLabelElement interface: existence and properties of interface prototype object
+PASS HTMLLabelElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLLabelElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLLabelElement interface: attribute form
+PASS HTMLLabelElement interface: attribute htmlFor
+PASS HTMLLabelElement interface: attribute control
+PASS HTMLLabelElement must be primary interface of document.createElement("label")
+PASS Stringification of document.createElement("label")
+PASS HTMLLabelElement interface: document.createElement("label") must inherit property "form" with the proper type
+PASS HTMLLabelElement interface: document.createElement("label") must inherit property "htmlFor" with the proper type
+PASS HTMLLabelElement interface: document.createElement("label") must inherit property "control" with the proper type
+PASS HTMLInputElement interface: existence and properties of interface object
+PASS HTMLInputElement interface object length
+PASS HTMLInputElement interface object name
+PASS HTMLInputElement interface: existence and properties of interface prototype object
+PASS HTMLInputElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLInputElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLInputElement interface: attribute accept
+PASS HTMLInputElement interface: attribute alt
+PASS HTMLInputElement interface: attribute autocomplete
+PASS HTMLInputElement interface: attribute autofocus
+PASS HTMLInputElement interface: attribute defaultChecked
+PASS HTMLInputElement interface: attribute checked
+PASS HTMLInputElement interface: attribute dirName
+PASS HTMLInputElement interface: attribute disabled
+PASS HTMLInputElement interface: attribute form
+PASS HTMLInputElement interface: attribute files
+PASS HTMLInputElement interface: attribute formAction
+PASS HTMLInputElement interface: attribute formEnctype
+PASS HTMLInputElement interface: attribute formMethod
+PASS HTMLInputElement interface: attribute formNoValidate
+PASS HTMLInputElement interface: attribute formTarget
+PASS HTMLInputElement interface: attribute height
+PASS HTMLInputElement interface: attribute indeterminate
+PASS HTMLInputElement interface: attribute list
+PASS HTMLInputElement interface: attribute max
+PASS HTMLInputElement interface: attribute maxLength
+PASS HTMLInputElement interface: attribute min
+PASS HTMLInputElement interface: attribute minLength
+PASS HTMLInputElement interface: attribute multiple
+PASS HTMLInputElement interface: attribute name
+PASS HTMLInputElement interface: attribute pattern
+PASS HTMLInputElement interface: attribute placeholder
+PASS HTMLInputElement interface: attribute readOnly
+PASS HTMLInputElement interface: attribute required
+PASS HTMLInputElement interface: attribute size
+PASS HTMLInputElement interface: attribute src
+PASS HTMLInputElement interface: attribute step
+PASS HTMLInputElement interface: attribute type
+PASS HTMLInputElement interface: attribute defaultValue
+PASS HTMLInputElement interface: attribute value
+PASS HTMLInputElement interface: attribute valueAsDate
+PASS HTMLInputElement interface: attribute valueAsNumber
+PASS HTMLInputElement interface: attribute width
+PASS HTMLInputElement interface: operation stepUp(long)
+PASS HTMLInputElement interface: operation stepDown(long)
+PASS HTMLInputElement interface: attribute willValidate
+PASS HTMLInputElement interface: attribute validity
+PASS HTMLInputElement interface: attribute validationMessage
+PASS HTMLInputElement interface: operation checkValidity()
+PASS HTMLInputElement interface: operation reportValidity()
+PASS HTMLInputElement interface: operation setCustomValidity(DOMString)
+PASS HTMLInputElement interface: attribute labels
+PASS HTMLInputElement interface: operation select()
+PASS HTMLInputElement interface: attribute selectionStart
+PASS HTMLInputElement interface: attribute selectionEnd
+PASS HTMLInputElement interface: attribute selectionDirection
+PASS HTMLInputElement interface: operation setRangeText(DOMString)
+PASS HTMLInputElement interface: operation setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)
+PASS HTMLInputElement interface: operation setSelectionRange(unsigned long, unsigned long, DOMString)
+PASS HTMLInputElement interface: attribute align
+PASS HTMLInputElement interface: attribute useMap
+PASS HTMLInputElement must be primary interface of document.createElement("input")
+PASS Stringification of document.createElement("input")
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "accept" with the proper type
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "alt" with the proper type
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "autocomplete" with the proper type
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "autofocus" with the proper type
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "defaultChecked" with the proper type
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "checked" with the proper type
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "dirName" with the proper type
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "disabled" with the proper type
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "form" with the proper type
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "files" with the proper type
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "formAction" with the proper type
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "formEnctype" with the proper type
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "formMethod" with the proper type
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "formNoValidate" with the proper type
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "formTarget" with the proper type
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "height" with the proper type
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "indeterminate" with the proper type
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "list" with the proper type
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "max" with the proper type
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "maxLength" with the proper type
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "min" with the proper type
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "minLength" with the proper type
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "multiple" with the proper type
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "name" with the proper type
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "pattern" with the proper type
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "placeholder" with the proper type
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "readOnly" with the proper type
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "required" with the proper type
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "size" with the proper type
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "src" with the proper type
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "step" with the proper type
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "type" with the proper type
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "defaultValue" with the proper type
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "value" with the proper type
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "valueAsDate" with the proper type
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "valueAsNumber" with the proper type
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "width" with the proper type
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "stepUp(long)" with the proper type
+PASS HTMLInputElement interface: calling stepUp(long) on document.createElement("input") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "stepDown(long)" with the proper type
+PASS HTMLInputElement interface: calling stepDown(long) on document.createElement("input") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "willValidate" with the proper type
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "validity" with the proper type
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "validationMessage" with the proper type
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "checkValidity()" with the proper type
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "reportValidity()" with the proper type
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "setCustomValidity(DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on document.createElement("input") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "labels" with the proper type
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "select()" with the proper type
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "selectionStart" with the proper type
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "selectionEnd" with the proper type
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "selectionDirection" with the proper type
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "setRangeText(DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setRangeText(DOMString) on document.createElement("input") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type
+PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on document.createElement("input") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on document.createElement("input") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "align" with the proper type
+PASS HTMLInputElement interface: document.createElement("input") must inherit property "useMap" with the proper type
+PASS HTMLInputElement must be primary interface of createInput("text")
+PASS Stringification of createInput("text")
+PASS HTMLInputElement interface: createInput("text") must inherit property "accept" with the proper type
+PASS HTMLInputElement interface: createInput("text") must inherit property "alt" with the proper type
+PASS HTMLInputElement interface: createInput("text") must inherit property "autocomplete" with the proper type
+PASS HTMLInputElement interface: createInput("text") must inherit property "autofocus" with the proper type
+PASS HTMLInputElement interface: createInput("text") must inherit property "defaultChecked" with the proper type
+PASS HTMLInputElement interface: createInput("text") must inherit property "checked" with the proper type
+PASS HTMLInputElement interface: createInput("text") must inherit property "dirName" with the proper type
+PASS HTMLInputElement interface: createInput("text") must inherit property "disabled" with the proper type
+PASS HTMLInputElement interface: createInput("text") must inherit property "form" with the proper type
+PASS HTMLInputElement interface: createInput("text") must inherit property "files" with the proper type
+PASS HTMLInputElement interface: createInput("text") must inherit property "formAction" with the proper type
+PASS HTMLInputElement interface: createInput("text") must inherit property "formEnctype" with the proper type
+PASS HTMLInputElement interface: createInput("text") must inherit property "formMethod" with the proper type
+PASS HTMLInputElement interface: createInput("text") must inherit property "formNoValidate" with the proper type
+PASS HTMLInputElement interface: createInput("text") must inherit property "formTarget" with the proper type
+PASS HTMLInputElement interface: createInput("text") must inherit property "height" with the proper type
+PASS HTMLInputElement interface: createInput("text") must inherit property "indeterminate" with the proper type
+PASS HTMLInputElement interface: createInput("text") must inherit property "list" with the proper type
+PASS HTMLInputElement interface: createInput("text") must inherit property "max" with the proper type
+PASS HTMLInputElement interface: createInput("text") must inherit property "maxLength" with the proper type
+PASS HTMLInputElement interface: createInput("text") must inherit property "min" with the proper type
+PASS HTMLInputElement interface: createInput("text") must inherit property "minLength" with the proper type
+PASS HTMLInputElement interface: createInput("text") must inherit property "multiple" with the proper type
+PASS HTMLInputElement interface: createInput("text") must inherit property "name" with the proper type
+PASS HTMLInputElement interface: createInput("text") must inherit property "pattern" with the proper type
+PASS HTMLInputElement interface: createInput("text") must inherit property "placeholder" with the proper type
+PASS HTMLInputElement interface: createInput("text") must inherit property "readOnly" with the proper type
+PASS HTMLInputElement interface: createInput("text") must inherit property "required" with the proper type
+PASS HTMLInputElement interface: createInput("text") must inherit property "size" with the proper type
+PASS HTMLInputElement interface: createInput("text") must inherit property "src" with the proper type
+PASS HTMLInputElement interface: createInput("text") must inherit property "step" with the proper type
+PASS HTMLInputElement interface: createInput("text") must inherit property "type" with the proper type
+PASS HTMLInputElement interface: createInput("text") must inherit property "defaultValue" with the proper type
+PASS HTMLInputElement interface: createInput("text") must inherit property "value" with the proper type
+PASS HTMLInputElement interface: createInput("text") must inherit property "valueAsDate" with the proper type
+PASS HTMLInputElement interface: createInput("text") must inherit property "valueAsNumber" with the proper type
+PASS HTMLInputElement interface: createInput("text") must inherit property "width" with the proper type
+PASS HTMLInputElement interface: createInput("text") must inherit property "stepUp(long)" with the proper type
+PASS HTMLInputElement interface: calling stepUp(long) on createInput("text") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("text") must inherit property "stepDown(long)" with the proper type
+PASS HTMLInputElement interface: calling stepDown(long) on createInput("text") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("text") must inherit property "willValidate" with the proper type
+PASS HTMLInputElement interface: createInput("text") must inherit property "validity" with the proper type
+PASS HTMLInputElement interface: createInput("text") must inherit property "validationMessage" with the proper type
+PASS HTMLInputElement interface: createInput("text") must inherit property "checkValidity()" with the proper type
+PASS HTMLInputElement interface: createInput("text") must inherit property "reportValidity()" with the proper type
+PASS HTMLInputElement interface: createInput("text") must inherit property "setCustomValidity(DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("text") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("text") must inherit property "labels" with the proper type
+PASS HTMLInputElement interface: createInput("text") must inherit property "select()" with the proper type
+PASS HTMLInputElement interface: createInput("text") must inherit property "selectionStart" with the proper type
+PASS HTMLInputElement interface: createInput("text") must inherit property "selectionEnd" with the proper type
+PASS HTMLInputElement interface: createInput("text") must inherit property "selectionDirection" with the proper type
+PASS HTMLInputElement interface: createInput("text") must inherit property "setRangeText(DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("text") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("text") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type
+PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("text") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("text") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("text") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("text") must inherit property "align" with the proper type
+PASS HTMLInputElement interface: createInput("text") must inherit property "useMap" with the proper type
+PASS HTMLInputElement must be primary interface of createInput("hidden")
+PASS Stringification of createInput("hidden")
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "accept" with the proper type
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "alt" with the proper type
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "autocomplete" with the proper type
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "autofocus" with the proper type
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "defaultChecked" with the proper type
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "checked" with the proper type
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "dirName" with the proper type
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "disabled" with the proper type
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "form" with the proper type
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "files" with the proper type
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "formAction" with the proper type
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "formEnctype" with the proper type
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "formMethod" with the proper type
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "formNoValidate" with the proper type
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "formTarget" with the proper type
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "height" with the proper type
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "indeterminate" with the proper type
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "list" with the proper type
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "max" with the proper type
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "maxLength" with the proper type
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "min" with the proper type
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "minLength" with the proper type
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "multiple" with the proper type
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "name" with the proper type
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "pattern" with the proper type
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "placeholder" with the proper type
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "readOnly" with the proper type
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "required" with the proper type
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "size" with the proper type
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "src" with the proper type
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "step" with the proper type
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "type" with the proper type
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "defaultValue" with the proper type
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "value" with the proper type
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "valueAsDate" with the proper type
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "valueAsNumber" with the proper type
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "width" with the proper type
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "stepUp(long)" with the proper type
+PASS HTMLInputElement interface: calling stepUp(long) on createInput("hidden") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "stepDown(long)" with the proper type
+PASS HTMLInputElement interface: calling stepDown(long) on createInput("hidden") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "willValidate" with the proper type
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "validity" with the proper type
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "validationMessage" with the proper type
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "checkValidity()" with the proper type
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "reportValidity()" with the proper type
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "setCustomValidity(DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("hidden") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "labels" with the proper type
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "select()" with the proper type
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "selectionStart" with the proper type
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "selectionEnd" with the proper type
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "selectionDirection" with the proper type
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "setRangeText(DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("hidden") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type
+PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("hidden") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("hidden") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "align" with the proper type
+PASS HTMLInputElement interface: createInput("hidden") must inherit property "useMap" with the proper type
+PASS HTMLInputElement must be primary interface of createInput("search")
+PASS Stringification of createInput("search")
+PASS HTMLInputElement interface: createInput("search") must inherit property "accept" with the proper type
+PASS HTMLInputElement interface: createInput("search") must inherit property "alt" with the proper type
+PASS HTMLInputElement interface: createInput("search") must inherit property "autocomplete" with the proper type
+PASS HTMLInputElement interface: createInput("search") must inherit property "autofocus" with the proper type
+PASS HTMLInputElement interface: createInput("search") must inherit property "defaultChecked" with the proper type
+PASS HTMLInputElement interface: createInput("search") must inherit property "checked" with the proper type
+PASS HTMLInputElement interface: createInput("search") must inherit property "dirName" with the proper type
+PASS HTMLInputElement interface: createInput("search") must inherit property "disabled" with the proper type
+PASS HTMLInputElement interface: createInput("search") must inherit property "form" with the proper type
+PASS HTMLInputElement interface: createInput("search") must inherit property "files" with the proper type
+PASS HTMLInputElement interface: createInput("search") must inherit property "formAction" with the proper type
+PASS HTMLInputElement interface: createInput("search") must inherit property "formEnctype" with the proper type
+PASS HTMLInputElement interface: createInput("search") must inherit property "formMethod" with the proper type
+PASS HTMLInputElement interface: createInput("search") must inherit property "formNoValidate" with the proper type
+PASS HTMLInputElement interface: createInput("search") must inherit property "formTarget" with the proper type
+PASS HTMLInputElement interface: createInput("search") must inherit property "height" with the proper type
+PASS HTMLInputElement interface: createInput("search") must inherit property "indeterminate" with the proper type
+PASS HTMLInputElement interface: createInput("search") must inherit property "list" with the proper type
+PASS HTMLInputElement interface: createInput("search") must inherit property "max" with the proper type
+PASS HTMLInputElement interface: createInput("search") must inherit property "maxLength" with the proper type
+PASS HTMLInputElement interface: createInput("search") must inherit property "min" with the proper type
+PASS HTMLInputElement interface: createInput("search") must inherit property "minLength" with the proper type
+PASS HTMLInputElement interface: createInput("search") must inherit property "multiple" with the proper type
+PASS HTMLInputElement interface: createInput("search") must inherit property "name" with the proper type
+PASS HTMLInputElement interface: createInput("search") must inherit property "pattern" with the proper type
+PASS HTMLInputElement interface: createInput("search") must inherit property "placeholder" with the proper type
+PASS HTMLInputElement interface: createInput("search") must inherit property "readOnly" with the proper type
+PASS HTMLInputElement interface: createInput("search") must inherit property "required" with the proper type
+PASS HTMLInputElement interface: createInput("search") must inherit property "size" with the proper type
+PASS HTMLInputElement interface: createInput("search") must inherit property "src" with the proper type
+PASS HTMLInputElement interface: createInput("search") must inherit property "step" with the proper type
+PASS HTMLInputElement interface: createInput("search") must inherit property "type" with the proper type
+PASS HTMLInputElement interface: createInput("search") must inherit property "defaultValue" with the proper type
+PASS HTMLInputElement interface: createInput("search") must inherit property "value" with the proper type
+PASS HTMLInputElement interface: createInput("search") must inherit property "valueAsDate" with the proper type
+PASS HTMLInputElement interface: createInput("search") must inherit property "valueAsNumber" with the proper type
+PASS HTMLInputElement interface: createInput("search") must inherit property "width" with the proper type
+PASS HTMLInputElement interface: createInput("search") must inherit property "stepUp(long)" with the proper type
+PASS HTMLInputElement interface: calling stepUp(long) on createInput("search") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("search") must inherit property "stepDown(long)" with the proper type
+PASS HTMLInputElement interface: calling stepDown(long) on createInput("search") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("search") must inherit property "willValidate" with the proper type
+PASS HTMLInputElement interface: createInput("search") must inherit property "validity" with the proper type
+PASS HTMLInputElement interface: createInput("search") must inherit property "validationMessage" with the proper type
+PASS HTMLInputElement interface: createInput("search") must inherit property "checkValidity()" with the proper type
+PASS HTMLInputElement interface: createInput("search") must inherit property "reportValidity()" with the proper type
+PASS HTMLInputElement interface: createInput("search") must inherit property "setCustomValidity(DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("search") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("search") must inherit property "labels" with the proper type
+PASS HTMLInputElement interface: createInput("search") must inherit property "select()" with the proper type
+PASS HTMLInputElement interface: createInput("search") must inherit property "selectionStart" with the proper type
+PASS HTMLInputElement interface: createInput("search") must inherit property "selectionEnd" with the proper type
+PASS HTMLInputElement interface: createInput("search") must inherit property "selectionDirection" with the proper type
+PASS HTMLInputElement interface: createInput("search") must inherit property "setRangeText(DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("search") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("search") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type
+PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("search") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("search") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("search") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("search") must inherit property "align" with the proper type
+PASS HTMLInputElement interface: createInput("search") must inherit property "useMap" with the proper type
+PASS HTMLInputElement must be primary interface of createInput("tel")
+PASS Stringification of createInput("tel")
+PASS HTMLInputElement interface: createInput("tel") must inherit property "accept" with the proper type
+PASS HTMLInputElement interface: createInput("tel") must inherit property "alt" with the proper type
+PASS HTMLInputElement interface: createInput("tel") must inherit property "autocomplete" with the proper type
+PASS HTMLInputElement interface: createInput("tel") must inherit property "autofocus" with the proper type
+PASS HTMLInputElement interface: createInput("tel") must inherit property "defaultChecked" with the proper type
+PASS HTMLInputElement interface: createInput("tel") must inherit property "checked" with the proper type
+PASS HTMLInputElement interface: createInput("tel") must inherit property "dirName" with the proper type
+PASS HTMLInputElement interface: createInput("tel") must inherit property "disabled" with the proper type
+PASS HTMLInputElement interface: createInput("tel") must inherit property "form" with the proper type
+PASS HTMLInputElement interface: createInput("tel") must inherit property "files" with the proper type
+PASS HTMLInputElement interface: createInput("tel") must inherit property "formAction" with the proper type
+PASS HTMLInputElement interface: createInput("tel") must inherit property "formEnctype" with the proper type
+PASS HTMLInputElement interface: createInput("tel") must inherit property "formMethod" with the proper type
+PASS HTMLInputElement interface: createInput("tel") must inherit property "formNoValidate" with the proper type
+PASS HTMLInputElement interface: createInput("tel") must inherit property "formTarget" with the proper type
+PASS HTMLInputElement interface: createInput("tel") must inherit property "height" with the proper type
+PASS HTMLInputElement interface: createInput("tel") must inherit property "indeterminate" with the proper type
+PASS HTMLInputElement interface: createInput("tel") must inherit property "list" with the proper type
+PASS HTMLInputElement interface: createInput("tel") must inherit property "max" with the proper type
+PASS HTMLInputElement interface: createInput("tel") must inherit property "maxLength" with the proper type
+PASS HTMLInputElement interface: createInput("tel") must inherit property "min" with the proper type
+PASS HTMLInputElement interface: createInput("tel") must inherit property "minLength" with the proper type
+PASS HTMLInputElement interface: createInput("tel") must inherit property "multiple" with the proper type
+PASS HTMLInputElement interface: createInput("tel") must inherit property "name" with the proper type
+PASS HTMLInputElement interface: createInput("tel") must inherit property "pattern" with the proper type
+PASS HTMLInputElement interface: createInput("tel") must inherit property "placeholder" with the proper type
+PASS HTMLInputElement interface: createInput("tel") must inherit property "readOnly" with the proper type
+PASS HTMLInputElement interface: createInput("tel") must inherit property "required" with the proper type
+PASS HTMLInputElement interface: createInput("tel") must inherit property "size" with the proper type
+PASS HTMLInputElement interface: createInput("tel") must inherit property "src" with the proper type
+PASS HTMLInputElement interface: createInput("tel") must inherit property "step" with the proper type
+PASS HTMLInputElement interface: createInput("tel") must inherit property "type" with the proper type
+PASS HTMLInputElement interface: createInput("tel") must inherit property "defaultValue" with the proper type
+PASS HTMLInputElement interface: createInput("tel") must inherit property "value" with the proper type
+PASS HTMLInputElement interface: createInput("tel") must inherit property "valueAsDate" with the proper type
+PASS HTMLInputElement interface: createInput("tel") must inherit property "valueAsNumber" with the proper type
+PASS HTMLInputElement interface: createInput("tel") must inherit property "width" with the proper type
+PASS HTMLInputElement interface: createInput("tel") must inherit property "stepUp(long)" with the proper type
+PASS HTMLInputElement interface: calling stepUp(long) on createInput("tel") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("tel") must inherit property "stepDown(long)" with the proper type
+PASS HTMLInputElement interface: calling stepDown(long) on createInput("tel") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("tel") must inherit property "willValidate" with the proper type
+PASS HTMLInputElement interface: createInput("tel") must inherit property "validity" with the proper type
+PASS HTMLInputElement interface: createInput("tel") must inherit property "validationMessage" with the proper type
+PASS HTMLInputElement interface: createInput("tel") must inherit property "checkValidity()" with the proper type
+PASS HTMLInputElement interface: createInput("tel") must inherit property "reportValidity()" with the proper type
+PASS HTMLInputElement interface: createInput("tel") must inherit property "setCustomValidity(DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("tel") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("tel") must inherit property "labels" with the proper type
+PASS HTMLInputElement interface: createInput("tel") must inherit property "select()" with the proper type
+PASS HTMLInputElement interface: createInput("tel") must inherit property "selectionStart" with the proper type
+PASS HTMLInputElement interface: createInput("tel") must inherit property "selectionEnd" with the proper type
+PASS HTMLInputElement interface: createInput("tel") must inherit property "selectionDirection" with the proper type
+PASS HTMLInputElement interface: createInput("tel") must inherit property "setRangeText(DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("tel") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("tel") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type
+PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("tel") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("tel") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("tel") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("tel") must inherit property "align" with the proper type
+PASS HTMLInputElement interface: createInput("tel") must inherit property "useMap" with the proper type
+PASS HTMLInputElement must be primary interface of createInput("url")
+PASS Stringification of createInput("url")
+PASS HTMLInputElement interface: createInput("url") must inherit property "accept" with the proper type
+PASS HTMLInputElement interface: createInput("url") must inherit property "alt" with the proper type
+PASS HTMLInputElement interface: createInput("url") must inherit property "autocomplete" with the proper type
+PASS HTMLInputElement interface: createInput("url") must inherit property "autofocus" with the proper type
+PASS HTMLInputElement interface: createInput("url") must inherit property "defaultChecked" with the proper type
+PASS HTMLInputElement interface: createInput("url") must inherit property "checked" with the proper type
+PASS HTMLInputElement interface: createInput("url") must inherit property "dirName" with the proper type
+PASS HTMLInputElement interface: createInput("url") must inherit property "disabled" with the proper type
+PASS HTMLInputElement interface: createInput("url") must inherit property "form" with the proper type
+PASS HTMLInputElement interface: createInput("url") must inherit property "files" with the proper type
+PASS HTMLInputElement interface: createInput("url") must inherit property "formAction" with the proper type
+PASS HTMLInputElement interface: createInput("url") must inherit property "formEnctype" with the proper type
+PASS HTMLInputElement interface: createInput("url") must inherit property "formMethod" with the proper type
+PASS HTMLInputElement interface: createInput("url") must inherit property "formNoValidate" with the proper type
+PASS HTMLInputElement interface: createInput("url") must inherit property "formTarget" with the proper type
+PASS HTMLInputElement interface: createInput("url") must inherit property "height" with the proper type
+PASS HTMLInputElement interface: createInput("url") must inherit property "indeterminate" with the proper type
+PASS HTMLInputElement interface: createInput("url") must inherit property "list" with the proper type
+PASS HTMLInputElement interface: createInput("url") must inherit property "max" with the proper type
+PASS HTMLInputElement interface: createInput("url") must inherit property "maxLength" with the proper type
+PASS HTMLInputElement interface: createInput("url") must inherit property "min" with the proper type
+PASS HTMLInputElement interface: createInput("url") must inherit property "minLength" with the proper type
+PASS HTMLInputElement interface: createInput("url") must inherit property "multiple" with the proper type
+PASS HTMLInputElement interface: createInput("url") must inherit property "name" with the proper type
+PASS HTMLInputElement interface: createInput("url") must inherit property "pattern" with the proper type
+PASS HTMLInputElement interface: createInput("url") must inherit property "placeholder" with the proper type
+PASS HTMLInputElement interface: createInput("url") must inherit property "readOnly" with the proper type
+PASS HTMLInputElement interface: createInput("url") must inherit property "required" with the proper type
+PASS HTMLInputElement interface: createInput("url") must inherit property "size" with the proper type
+PASS HTMLInputElement interface: createInput("url") must inherit property "src" with the proper type
+PASS HTMLInputElement interface: createInput("url") must inherit property "step" with the proper type
+PASS HTMLInputElement interface: createInput("url") must inherit property "type" with the proper type
+PASS HTMLInputElement interface: createInput("url") must inherit property "defaultValue" with the proper type
+PASS HTMLInputElement interface: createInput("url") must inherit property "value" with the proper type
+PASS HTMLInputElement interface: createInput("url") must inherit property "valueAsDate" with the proper type
+PASS HTMLInputElement interface: createInput("url") must inherit property "valueAsNumber" with the proper type
+PASS HTMLInputElement interface: createInput("url") must inherit property "width" with the proper type
+PASS HTMLInputElement interface: createInput("url") must inherit property "stepUp(long)" with the proper type
+PASS HTMLInputElement interface: calling stepUp(long) on createInput("url") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("url") must inherit property "stepDown(long)" with the proper type
+PASS HTMLInputElement interface: calling stepDown(long) on createInput("url") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("url") must inherit property "willValidate" with the proper type
+PASS HTMLInputElement interface: createInput("url") must inherit property "validity" with the proper type
+PASS HTMLInputElement interface: createInput("url") must inherit property "validationMessage" with the proper type
+PASS HTMLInputElement interface: createInput("url") must inherit property "checkValidity()" with the proper type
+PASS HTMLInputElement interface: createInput("url") must inherit property "reportValidity()" with the proper type
+PASS HTMLInputElement interface: createInput("url") must inherit property "setCustomValidity(DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("url") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("url") must inherit property "labels" with the proper type
+PASS HTMLInputElement interface: createInput("url") must inherit property "select()" with the proper type
+PASS HTMLInputElement interface: createInput("url") must inherit property "selectionStart" with the proper type
+PASS HTMLInputElement interface: createInput("url") must inherit property "selectionEnd" with the proper type
+PASS HTMLInputElement interface: createInput("url") must inherit property "selectionDirection" with the proper type
+PASS HTMLInputElement interface: createInput("url") must inherit property "setRangeText(DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("url") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("url") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type
+PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("url") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("url") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("url") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("url") must inherit property "align" with the proper type
+PASS HTMLInputElement interface: createInput("url") must inherit property "useMap" with the proper type
+PASS HTMLInputElement must be primary interface of createInput("email")
+PASS Stringification of createInput("email")
+PASS HTMLInputElement interface: createInput("email") must inherit property "accept" with the proper type
+PASS HTMLInputElement interface: createInput("email") must inherit property "alt" with the proper type
+PASS HTMLInputElement interface: createInput("email") must inherit property "autocomplete" with the proper type
+PASS HTMLInputElement interface: createInput("email") must inherit property "autofocus" with the proper type
+PASS HTMLInputElement interface: createInput("email") must inherit property "defaultChecked" with the proper type
+PASS HTMLInputElement interface: createInput("email") must inherit property "checked" with the proper type
+PASS HTMLInputElement interface: createInput("email") must inherit property "dirName" with the proper type
+PASS HTMLInputElement interface: createInput("email") must inherit property "disabled" with the proper type
+PASS HTMLInputElement interface: createInput("email") must inherit property "form" with the proper type
+PASS HTMLInputElement interface: createInput("email") must inherit property "files" with the proper type
+PASS HTMLInputElement interface: createInput("email") must inherit property "formAction" with the proper type
+PASS HTMLInputElement interface: createInput("email") must inherit property "formEnctype" with the proper type
+PASS HTMLInputElement interface: createInput("email") must inherit property "formMethod" with the proper type
+PASS HTMLInputElement interface: createInput("email") must inherit property "formNoValidate" with the proper type
+PASS HTMLInputElement interface: createInput("email") must inherit property "formTarget" with the proper type
+PASS HTMLInputElement interface: createInput("email") must inherit property "height" with the proper type
+PASS HTMLInputElement interface: createInput("email") must inherit property "indeterminate" with the proper type
+PASS HTMLInputElement interface: createInput("email") must inherit property "list" with the proper type
+PASS HTMLInputElement interface: createInput("email") must inherit property "max" with the proper type
+PASS HTMLInputElement interface: createInput("email") must inherit property "maxLength" with the proper type
+PASS HTMLInputElement interface: createInput("email") must inherit property "min" with the proper type
+PASS HTMLInputElement interface: createInput("email") must inherit property "minLength" with the proper type
+PASS HTMLInputElement interface: createInput("email") must inherit property "multiple" with the proper type
+PASS HTMLInputElement interface: createInput("email") must inherit property "name" with the proper type
+PASS HTMLInputElement interface: createInput("email") must inherit property "pattern" with the proper type
+PASS HTMLInputElement interface: createInput("email") must inherit property "placeholder" with the proper type
+PASS HTMLInputElement interface: createInput("email") must inherit property "readOnly" with the proper type
+PASS HTMLInputElement interface: createInput("email") must inherit property "required" with the proper type
+PASS HTMLInputElement interface: createInput("email") must inherit property "size" with the proper type
+PASS HTMLInputElement interface: createInput("email") must inherit property "src" with the proper type
+PASS HTMLInputElement interface: createInput("email") must inherit property "step" with the proper type
+PASS HTMLInputElement interface: createInput("email") must inherit property "type" with the proper type
+PASS HTMLInputElement interface: createInput("email") must inherit property "defaultValue" with the proper type
+PASS HTMLInputElement interface: createInput("email") must inherit property "value" with the proper type
+PASS HTMLInputElement interface: createInput("email") must inherit property "valueAsDate" with the proper type
+PASS HTMLInputElement interface: createInput("email") must inherit property "valueAsNumber" with the proper type
+PASS HTMLInputElement interface: createInput("email") must inherit property "width" with the proper type
+PASS HTMLInputElement interface: createInput("email") must inherit property "stepUp(long)" with the proper type
+PASS HTMLInputElement interface: calling stepUp(long) on createInput("email") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("email") must inherit property "stepDown(long)" with the proper type
+PASS HTMLInputElement interface: calling stepDown(long) on createInput("email") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("email") must inherit property "willValidate" with the proper type
+PASS HTMLInputElement interface: createInput("email") must inherit property "validity" with the proper type
+PASS HTMLInputElement interface: createInput("email") must inherit property "validationMessage" with the proper type
+PASS HTMLInputElement interface: createInput("email") must inherit property "checkValidity()" with the proper type
+PASS HTMLInputElement interface: createInput("email") must inherit property "reportValidity()" with the proper type
+PASS HTMLInputElement interface: createInput("email") must inherit property "setCustomValidity(DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("email") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("email") must inherit property "labels" with the proper type
+PASS HTMLInputElement interface: createInput("email") must inherit property "select()" with the proper type
+PASS HTMLInputElement interface: createInput("email") must inherit property "selectionStart" with the proper type
+PASS HTMLInputElement interface: createInput("email") must inherit property "selectionEnd" with the proper type
+PASS HTMLInputElement interface: createInput("email") must inherit property "selectionDirection" with the proper type
+PASS HTMLInputElement interface: createInput("email") must inherit property "setRangeText(DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("email") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("email") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type
+PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("email") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("email") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("email") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("email") must inherit property "align" with the proper type
+PASS HTMLInputElement interface: createInput("email") must inherit property "useMap" with the proper type
+PASS HTMLInputElement must be primary interface of createInput("password")
+PASS Stringification of createInput("password")
+PASS HTMLInputElement interface: createInput("password") must inherit property "accept" with the proper type
+PASS HTMLInputElement interface: createInput("password") must inherit property "alt" with the proper type
+PASS HTMLInputElement interface: createInput("password") must inherit property "autocomplete" with the proper type
+PASS HTMLInputElement interface: createInput("password") must inherit property "autofocus" with the proper type
+PASS HTMLInputElement interface: createInput("password") must inherit property "defaultChecked" with the proper type
+PASS HTMLInputElement interface: createInput("password") must inherit property "checked" with the proper type
+PASS HTMLInputElement interface: createInput("password") must inherit property "dirName" with the proper type
+PASS HTMLInputElement interface: createInput("password") must inherit property "disabled" with the proper type
+PASS HTMLInputElement interface: createInput("password") must inherit property "form" with the proper type
+PASS HTMLInputElement interface: createInput("password") must inherit property "files" with the proper type
+PASS HTMLInputElement interface: createInput("password") must inherit property "formAction" with the proper type
+PASS HTMLInputElement interface: createInput("password") must inherit property "formEnctype" with the proper type
+PASS HTMLInputElement interface: createInput("password") must inherit property "formMethod" with the proper type
+PASS HTMLInputElement interface: createInput("password") must inherit property "formNoValidate" with the proper type
+PASS HTMLInputElement interface: createInput("password") must inherit property "formTarget" with the proper type
+PASS HTMLInputElement interface: createInput("password") must inherit property "height" with the proper type
+PASS HTMLInputElement interface: createInput("password") must inherit property "indeterminate" with the proper type
+PASS HTMLInputElement interface: createInput("password") must inherit property "list" with the proper type
+PASS HTMLInputElement interface: createInput("password") must inherit property "max" with the proper type
+PASS HTMLInputElement interface: createInput("password") must inherit property "maxLength" with the proper type
+PASS HTMLInputElement interface: createInput("password") must inherit property "min" with the proper type
+PASS HTMLInputElement interface: createInput("password") must inherit property "minLength" with the proper type
+PASS HTMLInputElement interface: createInput("password") must inherit property "multiple" with the proper type
+PASS HTMLInputElement interface: createInput("password") must inherit property "name" with the proper type
+PASS HTMLInputElement interface: createInput("password") must inherit property "pattern" with the proper type
+PASS HTMLInputElement interface: createInput("password") must inherit property "placeholder" with the proper type
+PASS HTMLInputElement interface: createInput("password") must inherit property "readOnly" with the proper type
+PASS HTMLInputElement interface: createInput("password") must inherit property "required" with the proper type
+PASS HTMLInputElement interface: createInput("password") must inherit property "size" with the proper type
+PASS HTMLInputElement interface: createInput("password") must inherit property "src" with the proper type
+PASS HTMLInputElement interface: createInput("password") must inherit property "step" with the proper type
+PASS HTMLInputElement interface: createInput("password") must inherit property "type" with the proper type
+PASS HTMLInputElement interface: createInput("password") must inherit property "defaultValue" with the proper type
+PASS HTMLInputElement interface: createInput("password") must inherit property "value" with the proper type
+PASS HTMLInputElement interface: createInput("password") must inherit property "valueAsDate" with the proper type
+PASS HTMLInputElement interface: createInput("password") must inherit property "valueAsNumber" with the proper type
+PASS HTMLInputElement interface: createInput("password") must inherit property "width" with the proper type
+PASS HTMLInputElement interface: createInput("password") must inherit property "stepUp(long)" with the proper type
+PASS HTMLInputElement interface: calling stepUp(long) on createInput("password") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("password") must inherit property "stepDown(long)" with the proper type
+PASS HTMLInputElement interface: calling stepDown(long) on createInput("password") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("password") must inherit property "willValidate" with the proper type
+PASS HTMLInputElement interface: createInput("password") must inherit property "validity" with the proper type
+PASS HTMLInputElement interface: createInput("password") must inherit property "validationMessage" with the proper type
+PASS HTMLInputElement interface: createInput("password") must inherit property "checkValidity()" with the proper type
+PASS HTMLInputElement interface: createInput("password") must inherit property "reportValidity()" with the proper type
+PASS HTMLInputElement interface: createInput("password") must inherit property "setCustomValidity(DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("password") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("password") must inherit property "labels" with the proper type
+PASS HTMLInputElement interface: createInput("password") must inherit property "select()" with the proper type
+PASS HTMLInputElement interface: createInput("password") must inherit property "selectionStart" with the proper type
+PASS HTMLInputElement interface: createInput("password") must inherit property "selectionEnd" with the proper type
+PASS HTMLInputElement interface: createInput("password") must inherit property "selectionDirection" with the proper type
+PASS HTMLInputElement interface: createInput("password") must inherit property "setRangeText(DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("password") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("password") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type
+PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("password") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("password") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("password") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("password") must inherit property "align" with the proper type
+PASS HTMLInputElement interface: createInput("password") must inherit property "useMap" with the proper type
+PASS HTMLInputElement must be primary interface of createInput("date")
+PASS Stringification of createInput("date")
+PASS HTMLInputElement interface: createInput("date") must inherit property "accept" with the proper type
+PASS HTMLInputElement interface: createInput("date") must inherit property "alt" with the proper type
+PASS HTMLInputElement interface: createInput("date") must inherit property "autocomplete" with the proper type
+PASS HTMLInputElement interface: createInput("date") must inherit property "autofocus" with the proper type
+PASS HTMLInputElement interface: createInput("date") must inherit property "defaultChecked" with the proper type
+PASS HTMLInputElement interface: createInput("date") must inherit property "checked" with the proper type
+PASS HTMLInputElement interface: createInput("date") must inherit property "dirName" with the proper type
+PASS HTMLInputElement interface: createInput("date") must inherit property "disabled" with the proper type
+PASS HTMLInputElement interface: createInput("date") must inherit property "form" with the proper type
+PASS HTMLInputElement interface: createInput("date") must inherit property "files" with the proper type
+PASS HTMLInputElement interface: createInput("date") must inherit property "formAction" with the proper type
+PASS HTMLInputElement interface: createInput("date") must inherit property "formEnctype" with the proper type
+PASS HTMLInputElement interface: createInput("date") must inherit property "formMethod" with the proper type
+PASS HTMLInputElement interface: createInput("date") must inherit property "formNoValidate" with the proper type
+PASS HTMLInputElement interface: createInput("date") must inherit property "formTarget" with the proper type
+PASS HTMLInputElement interface: createInput("date") must inherit property "height" with the proper type
+PASS HTMLInputElement interface: createInput("date") must inherit property "indeterminate" with the proper type
+PASS HTMLInputElement interface: createInput("date") must inherit property "list" with the proper type
+PASS HTMLInputElement interface: createInput("date") must inherit property "max" with the proper type
+PASS HTMLInputElement interface: createInput("date") must inherit property "maxLength" with the proper type
+PASS HTMLInputElement interface: createInput("date") must inherit property "min" with the proper type
+PASS HTMLInputElement interface: createInput("date") must inherit property "minLength" with the proper type
+PASS HTMLInputElement interface: createInput("date") must inherit property "multiple" with the proper type
+PASS HTMLInputElement interface: createInput("date") must inherit property "name" with the proper type
+PASS HTMLInputElement interface: createInput("date") must inherit property "pattern" with the proper type
+PASS HTMLInputElement interface: createInput("date") must inherit property "placeholder" with the proper type
+PASS HTMLInputElement interface: createInput("date") must inherit property "readOnly" with the proper type
+PASS HTMLInputElement interface: createInput("date") must inherit property "required" with the proper type
+PASS HTMLInputElement interface: createInput("date") must inherit property "size" with the proper type
+PASS HTMLInputElement interface: createInput("date") must inherit property "src" with the proper type
+PASS HTMLInputElement interface: createInput("date") must inherit property "step" with the proper type
+PASS HTMLInputElement interface: createInput("date") must inherit property "type" with the proper type
+PASS HTMLInputElement interface: createInput("date") must inherit property "defaultValue" with the proper type
+PASS HTMLInputElement interface: createInput("date") must inherit property "value" with the proper type
+PASS HTMLInputElement interface: createInput("date") must inherit property "valueAsDate" with the proper type
+PASS HTMLInputElement interface: createInput("date") must inherit property "valueAsNumber" with the proper type
+PASS HTMLInputElement interface: createInput("date") must inherit property "width" with the proper type
+PASS HTMLInputElement interface: createInput("date") must inherit property "stepUp(long)" with the proper type
+PASS HTMLInputElement interface: calling stepUp(long) on createInput("date") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("date") must inherit property "stepDown(long)" with the proper type
+PASS HTMLInputElement interface: calling stepDown(long) on createInput("date") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("date") must inherit property "willValidate" with the proper type
+PASS HTMLInputElement interface: createInput("date") must inherit property "validity" with the proper type
+PASS HTMLInputElement interface: createInput("date") must inherit property "validationMessage" with the proper type
+PASS HTMLInputElement interface: createInput("date") must inherit property "checkValidity()" with the proper type
+PASS HTMLInputElement interface: createInput("date") must inherit property "reportValidity()" with the proper type
+PASS HTMLInputElement interface: createInput("date") must inherit property "setCustomValidity(DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("date") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("date") must inherit property "labels" with the proper type
+PASS HTMLInputElement interface: createInput("date") must inherit property "select()" with the proper type
+PASS HTMLInputElement interface: createInput("date") must inherit property "selectionStart" with the proper type
+PASS HTMLInputElement interface: createInput("date") must inherit property "selectionEnd" with the proper type
+PASS HTMLInputElement interface: createInput("date") must inherit property "selectionDirection" with the proper type
+PASS HTMLInputElement interface: createInput("date") must inherit property "setRangeText(DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("date") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("date") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type
+PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("date") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("date") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("date") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("date") must inherit property "align" with the proper type
+PASS HTMLInputElement interface: createInput("date") must inherit property "useMap" with the proper type
+PASS HTMLInputElement must be primary interface of createInput("month")
+PASS Stringification of createInput("month")
+PASS HTMLInputElement interface: createInput("month") must inherit property "accept" with the proper type
+PASS HTMLInputElement interface: createInput("month") must inherit property "alt" with the proper type
+PASS HTMLInputElement interface: createInput("month") must inherit property "autocomplete" with the proper type
+PASS HTMLInputElement interface: createInput("month") must inherit property "autofocus" with the proper type
+PASS HTMLInputElement interface: createInput("month") must inherit property "defaultChecked" with the proper type
+PASS HTMLInputElement interface: createInput("month") must inherit property "checked" with the proper type
+PASS HTMLInputElement interface: createInput("month") must inherit property "dirName" with the proper type
+PASS HTMLInputElement interface: createInput("month") must inherit property "disabled" with the proper type
+PASS HTMLInputElement interface: createInput("month") must inherit property "form" with the proper type
+PASS HTMLInputElement interface: createInput("month") must inherit property "files" with the proper type
+PASS HTMLInputElement interface: createInput("month") must inherit property "formAction" with the proper type
+PASS HTMLInputElement interface: createInput("month") must inherit property "formEnctype" with the proper type
+PASS HTMLInputElement interface: createInput("month") must inherit property "formMethod" with the proper type
+PASS HTMLInputElement interface: createInput("month") must inherit property "formNoValidate" with the proper type
+PASS HTMLInputElement interface: createInput("month") must inherit property "formTarget" with the proper type
+PASS HTMLInputElement interface: createInput("month") must inherit property "height" with the proper type
+PASS HTMLInputElement interface: createInput("month") must inherit property "indeterminate" with the proper type
+PASS HTMLInputElement interface: createInput("month") must inherit property "list" with the proper type
+PASS HTMLInputElement interface: createInput("month") must inherit property "max" with the proper type
+PASS HTMLInputElement interface: createInput("month") must inherit property "maxLength" with the proper type
+PASS HTMLInputElement interface: createInput("month") must inherit property "min" with the proper type
+PASS HTMLInputElement interface: createInput("month") must inherit property "minLength" with the proper type
+PASS HTMLInputElement interface: createInput("month") must inherit property "multiple" with the proper type
+PASS HTMLInputElement interface: createInput("month") must inherit property "name" with the proper type
+PASS HTMLInputElement interface: createInput("month") must inherit property "pattern" with the proper type
+PASS HTMLInputElement interface: createInput("month") must inherit property "placeholder" with the proper type
+PASS HTMLInputElement interface: createInput("month") must inherit property "readOnly" with the proper type
+PASS HTMLInputElement interface: createInput("month") must inherit property "required" with the proper type
+PASS HTMLInputElement interface: createInput("month") must inherit property "size" with the proper type
+PASS HTMLInputElement interface: createInput("month") must inherit property "src" with the proper type
+PASS HTMLInputElement interface: createInput("month") must inherit property "step" with the proper type
+PASS HTMLInputElement interface: createInput("month") must inherit property "type" with the proper type
+PASS HTMLInputElement interface: createInput("month") must inherit property "defaultValue" with the proper type
+PASS HTMLInputElement interface: createInput("month") must inherit property "value" with the proper type
+PASS HTMLInputElement interface: createInput("month") must inherit property "valueAsDate" with the proper type
+PASS HTMLInputElement interface: createInput("month") must inherit property "valueAsNumber" with the proper type
+PASS HTMLInputElement interface: createInput("month") must inherit property "width" with the proper type
+PASS HTMLInputElement interface: createInput("month") must inherit property "stepUp(long)" with the proper type
+PASS HTMLInputElement interface: calling stepUp(long) on createInput("month") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("month") must inherit property "stepDown(long)" with the proper type
+PASS HTMLInputElement interface: calling stepDown(long) on createInput("month") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("month") must inherit property "willValidate" with the proper type
+PASS HTMLInputElement interface: createInput("month") must inherit property "validity" with the proper type
+PASS HTMLInputElement interface: createInput("month") must inherit property "validationMessage" with the proper type
+PASS HTMLInputElement interface: createInput("month") must inherit property "checkValidity()" with the proper type
+PASS HTMLInputElement interface: createInput("month") must inherit property "reportValidity()" with the proper type
+PASS HTMLInputElement interface: createInput("month") must inherit property "setCustomValidity(DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("month") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("month") must inherit property "labels" with the proper type
+PASS HTMLInputElement interface: createInput("month") must inherit property "select()" with the proper type
+PASS HTMLInputElement interface: createInput("month") must inherit property "selectionStart" with the proper type
+PASS HTMLInputElement interface: createInput("month") must inherit property "selectionEnd" with the proper type
+PASS HTMLInputElement interface: createInput("month") must inherit property "selectionDirection" with the proper type
+PASS HTMLInputElement interface: createInput("month") must inherit property "setRangeText(DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("month") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("month") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type
+PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("month") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("month") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("month") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("month") must inherit property "align" with the proper type
+PASS HTMLInputElement interface: createInput("month") must inherit property "useMap" with the proper type
+PASS HTMLInputElement must be primary interface of createInput("week")
+PASS Stringification of createInput("week")
+PASS HTMLInputElement interface: createInput("week") must inherit property "accept" with the proper type
+PASS HTMLInputElement interface: createInput("week") must inherit property "alt" with the proper type
+PASS HTMLInputElement interface: createInput("week") must inherit property "autocomplete" with the proper type
+PASS HTMLInputElement interface: createInput("week") must inherit property "autofocus" with the proper type
+PASS HTMLInputElement interface: createInput("week") must inherit property "defaultChecked" with the proper type
+PASS HTMLInputElement interface: createInput("week") must inherit property "checked" with the proper type
+PASS HTMLInputElement interface: createInput("week") must inherit property "dirName" with the proper type
+PASS HTMLInputElement interface: createInput("week") must inherit property "disabled" with the proper type
+PASS HTMLInputElement interface: createInput("week") must inherit property "form" with the proper type
+PASS HTMLInputElement interface: createInput("week") must inherit property "files" with the proper type
+PASS HTMLInputElement interface: createInput("week") must inherit property "formAction" with the proper type
+PASS HTMLInputElement interface: createInput("week") must inherit property "formEnctype" with the proper type
+PASS HTMLInputElement interface: createInput("week") must inherit property "formMethod" with the proper type
+PASS HTMLInputElement interface: createInput("week") must inherit property "formNoValidate" with the proper type
+PASS HTMLInputElement interface: createInput("week") must inherit property "formTarget" with the proper type
+PASS HTMLInputElement interface: createInput("week") must inherit property "height" with the proper type
+PASS HTMLInputElement interface: createInput("week") must inherit property "indeterminate" with the proper type
+PASS HTMLInputElement interface: createInput("week") must inherit property "list" with the proper type
+PASS HTMLInputElement interface: createInput("week") must inherit property "max" with the proper type
+PASS HTMLInputElement interface: createInput("week") must inherit property "maxLength" with the proper type
+PASS HTMLInputElement interface: createInput("week") must inherit property "min" with the proper type
+PASS HTMLInputElement interface: createInput("week") must inherit property "minLength" with the proper type
+PASS HTMLInputElement interface: createInput("week") must inherit property "multiple" with the proper type
+PASS HTMLInputElement interface: createInput("week") must inherit property "name" with the proper type
+PASS HTMLInputElement interface: createInput("week") must inherit property "pattern" with the proper type
+PASS HTMLInputElement interface: createInput("week") must inherit property "placeholder" with the proper type
+PASS HTMLInputElement interface: createInput("week") must inherit property "readOnly" with the proper type
+PASS HTMLInputElement interface: createInput("week") must inherit property "required" with the proper type
+PASS HTMLInputElement interface: createInput("week") must inherit property "size" with the proper type
+PASS HTMLInputElement interface: createInput("week") must inherit property "src" with the proper type
+PASS HTMLInputElement interface: createInput("week") must inherit property "step" with the proper type
+PASS HTMLInputElement interface: createInput("week") must inherit property "type" with the proper type
+PASS HTMLInputElement interface: createInput("week") must inherit property "defaultValue" with the proper type
+PASS HTMLInputElement interface: createInput("week") must inherit property "value" with the proper type
+PASS HTMLInputElement interface: createInput("week") must inherit property "valueAsDate" with the proper type
+PASS HTMLInputElement interface: createInput("week") must inherit property "valueAsNumber" with the proper type
+PASS HTMLInputElement interface: createInput("week") must inherit property "width" with the proper type
+PASS HTMLInputElement interface: createInput("week") must inherit property "stepUp(long)" with the proper type
+PASS HTMLInputElement interface: calling stepUp(long) on createInput("week") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("week") must inherit property "stepDown(long)" with the proper type
+PASS HTMLInputElement interface: calling stepDown(long) on createInput("week") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("week") must inherit property "willValidate" with the proper type
+PASS HTMLInputElement interface: createInput("week") must inherit property "validity" with the proper type
+PASS HTMLInputElement interface: createInput("week") must inherit property "validationMessage" with the proper type
+PASS HTMLInputElement interface: createInput("week") must inherit property "checkValidity()" with the proper type
+PASS HTMLInputElement interface: createInput("week") must inherit property "reportValidity()" with the proper type
+PASS HTMLInputElement interface: createInput("week") must inherit property "setCustomValidity(DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("week") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("week") must inherit property "labels" with the proper type
+PASS HTMLInputElement interface: createInput("week") must inherit property "select()" with the proper type
+PASS HTMLInputElement interface: createInput("week") must inherit property "selectionStart" with the proper type
+PASS HTMLInputElement interface: createInput("week") must inherit property "selectionEnd" with the proper type
+PASS HTMLInputElement interface: createInput("week") must inherit property "selectionDirection" with the proper type
+PASS HTMLInputElement interface: createInput("week") must inherit property "setRangeText(DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("week") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("week") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type
+PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("week") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("week") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("week") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("week") must inherit property "align" with the proper type
+PASS HTMLInputElement interface: createInput("week") must inherit property "useMap" with the proper type
+PASS HTMLInputElement must be primary interface of createInput("time")
+PASS Stringification of createInput("time")
+PASS HTMLInputElement interface: createInput("time") must inherit property "accept" with the proper type
+PASS HTMLInputElement interface: createInput("time") must inherit property "alt" with the proper type
+PASS HTMLInputElement interface: createInput("time") must inherit property "autocomplete" with the proper type
+PASS HTMLInputElement interface: createInput("time") must inherit property "autofocus" with the proper type
+PASS HTMLInputElement interface: createInput("time") must inherit property "defaultChecked" with the proper type
+PASS HTMLInputElement interface: createInput("time") must inherit property "checked" with the proper type
+PASS HTMLInputElement interface: createInput("time") must inherit property "dirName" with the proper type
+PASS HTMLInputElement interface: createInput("time") must inherit property "disabled" with the proper type
+PASS HTMLInputElement interface: createInput("time") must inherit property "form" with the proper type
+PASS HTMLInputElement interface: createInput("time") must inherit property "files" with the proper type
+PASS HTMLInputElement interface: createInput("time") must inherit property "formAction" with the proper type
+PASS HTMLInputElement interface: createInput("time") must inherit property "formEnctype" with the proper type
+PASS HTMLInputElement interface: createInput("time") must inherit property "formMethod" with the proper type
+PASS HTMLInputElement interface: createInput("time") must inherit property "formNoValidate" with the proper type
+PASS HTMLInputElement interface: createInput("time") must inherit property "formTarget" with the proper type
+PASS HTMLInputElement interface: createInput("time") must inherit property "height" with the proper type
+PASS HTMLInputElement interface: createInput("time") must inherit property "indeterminate" with the proper type
+PASS HTMLInputElement interface: createInput("time") must inherit property "list" with the proper type
+PASS HTMLInputElement interface: createInput("time") must inherit property "max" with the proper type
+PASS HTMLInputElement interface: createInput("time") must inherit property "maxLength" with the proper type
+PASS HTMLInputElement interface: createInput("time") must inherit property "min" with the proper type
+PASS HTMLInputElement interface: createInput("time") must inherit property "minLength" with the proper type
+PASS HTMLInputElement interface: createInput("time") must inherit property "multiple" with the proper type
+PASS HTMLInputElement interface: createInput("time") must inherit property "name" with the proper type
+PASS HTMLInputElement interface: createInput("time") must inherit property "pattern" with the proper type
+PASS HTMLInputElement interface: createInput("time") must inherit property "placeholder" with the proper type
+PASS HTMLInputElement interface: createInput("time") must inherit property "readOnly" with the proper type
+PASS HTMLInputElement interface: createInput("time") must inherit property "required" with the proper type
+PASS HTMLInputElement interface: createInput("time") must inherit property "size" with the proper type
+PASS HTMLInputElement interface: createInput("time") must inherit property "src" with the proper type
+PASS HTMLInputElement interface: createInput("time") must inherit property "step" with the proper type
+PASS HTMLInputElement interface: createInput("time") must inherit property "type" with the proper type
+PASS HTMLInputElement interface: createInput("time") must inherit property "defaultValue" with the proper type
+PASS HTMLInputElement interface: createInput("time") must inherit property "value" with the proper type
+PASS HTMLInputElement interface: createInput("time") must inherit property "valueAsDate" with the proper type
+PASS HTMLInputElement interface: createInput("time") must inherit property "valueAsNumber" with the proper type
+PASS HTMLInputElement interface: createInput("time") must inherit property "width" with the proper type
+PASS HTMLInputElement interface: createInput("time") must inherit property "stepUp(long)" with the proper type
+PASS HTMLInputElement interface: calling stepUp(long) on createInput("time") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("time") must inherit property "stepDown(long)" with the proper type
+PASS HTMLInputElement interface: calling stepDown(long) on createInput("time") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("time") must inherit property "willValidate" with the proper type
+PASS HTMLInputElement interface: createInput("time") must inherit property "validity" with the proper type
+PASS HTMLInputElement interface: createInput("time") must inherit property "validationMessage" with the proper type
+PASS HTMLInputElement interface: createInput("time") must inherit property "checkValidity()" with the proper type
+PASS HTMLInputElement interface: createInput("time") must inherit property "reportValidity()" with the proper type
+PASS HTMLInputElement interface: createInput("time") must inherit property "setCustomValidity(DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("time") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("time") must inherit property "labels" with the proper type
+PASS HTMLInputElement interface: createInput("time") must inherit property "select()" with the proper type
+PASS HTMLInputElement interface: createInput("time") must inherit property "selectionStart" with the proper type
+PASS HTMLInputElement interface: createInput("time") must inherit property "selectionEnd" with the proper type
+PASS HTMLInputElement interface: createInput("time") must inherit property "selectionDirection" with the proper type
+PASS HTMLInputElement interface: createInput("time") must inherit property "setRangeText(DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("time") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("time") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type
+PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("time") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("time") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("time") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("time") must inherit property "align" with the proper type
+PASS HTMLInputElement interface: createInput("time") must inherit property "useMap" with the proper type
+PASS HTMLInputElement must be primary interface of createInput("datetime-local")
+PASS Stringification of createInput("datetime-local")
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "accept" with the proper type
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "alt" with the proper type
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "autocomplete" with the proper type
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "autofocus" with the proper type
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "defaultChecked" with the proper type
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "checked" with the proper type
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "dirName" with the proper type
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "disabled" with the proper type
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "form" with the proper type
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "files" with the proper type
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "formAction" with the proper type
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "formEnctype" with the proper type
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "formMethod" with the proper type
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "formNoValidate" with the proper type
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "formTarget" with the proper type
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "height" with the proper type
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "indeterminate" with the proper type
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "list" with the proper type
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "max" with the proper type
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "maxLength" with the proper type
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "min" with the proper type
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "minLength" with the proper type
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "multiple" with the proper type
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "name" with the proper type
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "pattern" with the proper type
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "placeholder" with the proper type
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "readOnly" with the proper type
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "required" with the proper type
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "size" with the proper type
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "src" with the proper type
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "step" with the proper type
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "type" with the proper type
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "defaultValue" with the proper type
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "value" with the proper type
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "valueAsDate" with the proper type
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "valueAsNumber" with the proper type
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "width" with the proper type
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "stepUp(long)" with the proper type
+PASS HTMLInputElement interface: calling stepUp(long) on createInput("datetime-local") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "stepDown(long)" with the proper type
+PASS HTMLInputElement interface: calling stepDown(long) on createInput("datetime-local") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "willValidate" with the proper type
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "validity" with the proper type
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "validationMessage" with the proper type
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "checkValidity()" with the proper type
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "reportValidity()" with the proper type
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "setCustomValidity(DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("datetime-local") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "labels" with the proper type
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "select()" with the proper type
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "selectionStart" with the proper type
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "selectionEnd" with the proper type
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "selectionDirection" with the proper type
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "setRangeText(DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("datetime-local") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type
+PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("datetime-local") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("datetime-local") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "align" with the proper type
+PASS HTMLInputElement interface: createInput("datetime-local") must inherit property "useMap" with the proper type
+PASS HTMLInputElement must be primary interface of createInput("number")
+PASS Stringification of createInput("number")
+PASS HTMLInputElement interface: createInput("number") must inherit property "accept" with the proper type
+PASS HTMLInputElement interface: createInput("number") must inherit property "alt" with the proper type
+PASS HTMLInputElement interface: createInput("number") must inherit property "autocomplete" with the proper type
+PASS HTMLInputElement interface: createInput("number") must inherit property "autofocus" with the proper type
+PASS HTMLInputElement interface: createInput("number") must inherit property "defaultChecked" with the proper type
+PASS HTMLInputElement interface: createInput("number") must inherit property "checked" with the proper type
+PASS HTMLInputElement interface: createInput("number") must inherit property "dirName" with the proper type
+PASS HTMLInputElement interface: createInput("number") must inherit property "disabled" with the proper type
+PASS HTMLInputElement interface: createInput("number") must inherit property "form" with the proper type
+PASS HTMLInputElement interface: createInput("number") must inherit property "files" with the proper type
+PASS HTMLInputElement interface: createInput("number") must inherit property "formAction" with the proper type
+PASS HTMLInputElement interface: createInput("number") must inherit property "formEnctype" with the proper type
+PASS HTMLInputElement interface: createInput("number") must inherit property "formMethod" with the proper type
+PASS HTMLInputElement interface: createInput("number") must inherit property "formNoValidate" with the proper type
+PASS HTMLInputElement interface: createInput("number") must inherit property "formTarget" with the proper type
+PASS HTMLInputElement interface: createInput("number") must inherit property "height" with the proper type
+PASS HTMLInputElement interface: createInput("number") must inherit property "indeterminate" with the proper type
+PASS HTMLInputElement interface: createInput("number") must inherit property "list" with the proper type
+PASS HTMLInputElement interface: createInput("number") must inherit property "max" with the proper type
+PASS HTMLInputElement interface: createInput("number") must inherit property "maxLength" with the proper type
+PASS HTMLInputElement interface: createInput("number") must inherit property "min" with the proper type
+PASS HTMLInputElement interface: createInput("number") must inherit property "minLength" with the proper type
+PASS HTMLInputElement interface: createInput("number") must inherit property "multiple" with the proper type
+PASS HTMLInputElement interface: createInput("number") must inherit property "name" with the proper type
+PASS HTMLInputElement interface: createInput("number") must inherit property "pattern" with the proper type
+PASS HTMLInputElement interface: createInput("number") must inherit property "placeholder" with the proper type
+PASS HTMLInputElement interface: createInput("number") must inherit property "readOnly" with the proper type
+PASS HTMLInputElement interface: createInput("number") must inherit property "required" with the proper type
+PASS HTMLInputElement interface: createInput("number") must inherit property "size" with the proper type
+PASS HTMLInputElement interface: createInput("number") must inherit property "src" with the proper type
+PASS HTMLInputElement interface: createInput("number") must inherit property "step" with the proper type
+PASS HTMLInputElement interface: createInput("number") must inherit property "type" with the proper type
+PASS HTMLInputElement interface: createInput("number") must inherit property "defaultValue" with the proper type
+PASS HTMLInputElement interface: createInput("number") must inherit property "value" with the proper type
+PASS HTMLInputElement interface: createInput("number") must inherit property "valueAsDate" with the proper type
+PASS HTMLInputElement interface: createInput("number") must inherit property "valueAsNumber" with the proper type
+PASS HTMLInputElement interface: createInput("number") must inherit property "width" with the proper type
+PASS HTMLInputElement interface: createInput("number") must inherit property "stepUp(long)" with the proper type
+PASS HTMLInputElement interface: calling stepUp(long) on createInput("number") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("number") must inherit property "stepDown(long)" with the proper type
+PASS HTMLInputElement interface: calling stepDown(long) on createInput("number") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("number") must inherit property "willValidate" with the proper type
+PASS HTMLInputElement interface: createInput("number") must inherit property "validity" with the proper type
+PASS HTMLInputElement interface: createInput("number") must inherit property "validationMessage" with the proper type
+PASS HTMLInputElement interface: createInput("number") must inherit property "checkValidity()" with the proper type
+PASS HTMLInputElement interface: createInput("number") must inherit property "reportValidity()" with the proper type
+PASS HTMLInputElement interface: createInput("number") must inherit property "setCustomValidity(DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("number") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("number") must inherit property "labels" with the proper type
+PASS HTMLInputElement interface: createInput("number") must inherit property "select()" with the proper type
+PASS HTMLInputElement interface: createInput("number") must inherit property "selectionStart" with the proper type
+PASS HTMLInputElement interface: createInput("number") must inherit property "selectionEnd" with the proper type
+PASS HTMLInputElement interface: createInput("number") must inherit property "selectionDirection" with the proper type
+PASS HTMLInputElement interface: createInput("number") must inherit property "setRangeText(DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("number") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("number") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type
+PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("number") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("number") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("number") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("number") must inherit property "align" with the proper type
+PASS HTMLInputElement interface: createInput("number") must inherit property "useMap" with the proper type
+PASS HTMLInputElement must be primary interface of createInput("range")
+PASS Stringification of createInput("range")
+PASS HTMLInputElement interface: createInput("range") must inherit property "accept" with the proper type
+PASS HTMLInputElement interface: createInput("range") must inherit property "alt" with the proper type
+PASS HTMLInputElement interface: createInput("range") must inherit property "autocomplete" with the proper type
+PASS HTMLInputElement interface: createInput("range") must inherit property "autofocus" with the proper type
+PASS HTMLInputElement interface: createInput("range") must inherit property "defaultChecked" with the proper type
+PASS HTMLInputElement interface: createInput("range") must inherit property "checked" with the proper type
+PASS HTMLInputElement interface: createInput("range") must inherit property "dirName" with the proper type
+PASS HTMLInputElement interface: createInput("range") must inherit property "disabled" with the proper type
+PASS HTMLInputElement interface: createInput("range") must inherit property "form" with the proper type
+PASS HTMLInputElement interface: createInput("range") must inherit property "files" with the proper type
+PASS HTMLInputElement interface: createInput("range") must inherit property "formAction" with the proper type
+PASS HTMLInputElement interface: createInput("range") must inherit property "formEnctype" with the proper type
+PASS HTMLInputElement interface: createInput("range") must inherit property "formMethod" with the proper type
+PASS HTMLInputElement interface: createInput("range") must inherit property "formNoValidate" with the proper type
+PASS HTMLInputElement interface: createInput("range") must inherit property "formTarget" with the proper type
+PASS HTMLInputElement interface: createInput("range") must inherit property "height" with the proper type
+PASS HTMLInputElement interface: createInput("range") must inherit property "indeterminate" with the proper type
+PASS HTMLInputElement interface: createInput("range") must inherit property "list" with the proper type
+PASS HTMLInputElement interface: createInput("range") must inherit property "max" with the proper type
+PASS HTMLInputElement interface: createInput("range") must inherit property "maxLength" with the proper type
+PASS HTMLInputElement interface: createInput("range") must inherit property "min" with the proper type
+PASS HTMLInputElement interface: createInput("range") must inherit property "minLength" with the proper type
+PASS HTMLInputElement interface: createInput("range") must inherit property "multiple" with the proper type
+PASS HTMLInputElement interface: createInput("range") must inherit property "name" with the proper type
+PASS HTMLInputElement interface: createInput("range") must inherit property "pattern" with the proper type
+PASS HTMLInputElement interface: createInput("range") must inherit property "placeholder" with the proper type
+PASS HTMLInputElement interface: createInput("range") must inherit property "readOnly" with the proper type
+PASS HTMLInputElement interface: createInput("range") must inherit property "required" with the proper type
+PASS HTMLInputElement interface: createInput("range") must inherit property "size" with the proper type
+PASS HTMLInputElement interface: createInput("range") must inherit property "src" with the proper type
+PASS HTMLInputElement interface: createInput("range") must inherit property "step" with the proper type
+PASS HTMLInputElement interface: createInput("range") must inherit property "type" with the proper type
+PASS HTMLInputElement interface: createInput("range") must inherit property "defaultValue" with the proper type
+PASS HTMLInputElement interface: createInput("range") must inherit property "value" with the proper type
+PASS HTMLInputElement interface: createInput("range") must inherit property "valueAsDate" with the proper type
+PASS HTMLInputElement interface: createInput("range") must inherit property "valueAsNumber" with the proper type
+PASS HTMLInputElement interface: createInput("range") must inherit property "width" with the proper type
+PASS HTMLInputElement interface: createInput("range") must inherit property "stepUp(long)" with the proper type
+PASS HTMLInputElement interface: calling stepUp(long) on createInput("range") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("range") must inherit property "stepDown(long)" with the proper type
+PASS HTMLInputElement interface: calling stepDown(long) on createInput("range") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("range") must inherit property "willValidate" with the proper type
+PASS HTMLInputElement interface: createInput("range") must inherit property "validity" with the proper type
+PASS HTMLInputElement interface: createInput("range") must inherit property "validationMessage" with the proper type
+PASS HTMLInputElement interface: createInput("range") must inherit property "checkValidity()" with the proper type
+PASS HTMLInputElement interface: createInput("range") must inherit property "reportValidity()" with the proper type
+PASS HTMLInputElement interface: createInput("range") must inherit property "setCustomValidity(DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("range") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("range") must inherit property "labels" with the proper type
+PASS HTMLInputElement interface: createInput("range") must inherit property "select()" with the proper type
+PASS HTMLInputElement interface: createInput("range") must inherit property "selectionStart" with the proper type
+PASS HTMLInputElement interface: createInput("range") must inherit property "selectionEnd" with the proper type
+PASS HTMLInputElement interface: createInput("range") must inherit property "selectionDirection" with the proper type
+PASS HTMLInputElement interface: createInput("range") must inherit property "setRangeText(DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("range") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("range") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type
+PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("range") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("range") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("range") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("range") must inherit property "align" with the proper type
+PASS HTMLInputElement interface: createInput("range") must inherit property "useMap" with the proper type
+PASS HTMLInputElement must be primary interface of createInput("color")
+PASS Stringification of createInput("color")
+PASS HTMLInputElement interface: createInput("color") must inherit property "accept" with the proper type
+PASS HTMLInputElement interface: createInput("color") must inherit property "alt" with the proper type
+PASS HTMLInputElement interface: createInput("color") must inherit property "autocomplete" with the proper type
+PASS HTMLInputElement interface: createInput("color") must inherit property "autofocus" with the proper type
+PASS HTMLInputElement interface: createInput("color") must inherit property "defaultChecked" with the proper type
+PASS HTMLInputElement interface: createInput("color") must inherit property "checked" with the proper type
+PASS HTMLInputElement interface: createInput("color") must inherit property "dirName" with the proper type
+PASS HTMLInputElement interface: createInput("color") must inherit property "disabled" with the proper type
+PASS HTMLInputElement interface: createInput("color") must inherit property "form" with the proper type
+PASS HTMLInputElement interface: createInput("color") must inherit property "files" with the proper type
+PASS HTMLInputElement interface: createInput("color") must inherit property "formAction" with the proper type
+PASS HTMLInputElement interface: createInput("color") must inherit property "formEnctype" with the proper type
+PASS HTMLInputElement interface: createInput("color") must inherit property "formMethod" with the proper type
+PASS HTMLInputElement interface: createInput("color") must inherit property "formNoValidate" with the proper type
+PASS HTMLInputElement interface: createInput("color") must inherit property "formTarget" with the proper type
+PASS HTMLInputElement interface: createInput("color") must inherit property "height" with the proper type
+PASS HTMLInputElement interface: createInput("color") must inherit property "indeterminate" with the proper type
+PASS HTMLInputElement interface: createInput("color") must inherit property "list" with the proper type
+PASS HTMLInputElement interface: createInput("color") must inherit property "max" with the proper type
+PASS HTMLInputElement interface: createInput("color") must inherit property "maxLength" with the proper type
+PASS HTMLInputElement interface: createInput("color") must inherit property "min" with the proper type
+PASS HTMLInputElement interface: createInput("color") must inherit property "minLength" with the proper type
+PASS HTMLInputElement interface: createInput("color") must inherit property "multiple" with the proper type
+PASS HTMLInputElement interface: createInput("color") must inherit property "name" with the proper type
+PASS HTMLInputElement interface: createInput("color") must inherit property "pattern" with the proper type
+PASS HTMLInputElement interface: createInput("color") must inherit property "placeholder" with the proper type
+PASS HTMLInputElement interface: createInput("color") must inherit property "readOnly" with the proper type
+PASS HTMLInputElement interface: createInput("color") must inherit property "required" with the proper type
+PASS HTMLInputElement interface: createInput("color") must inherit property "size" with the proper type
+PASS HTMLInputElement interface: createInput("color") must inherit property "src" with the proper type
+PASS HTMLInputElement interface: createInput("color") must inherit property "step" with the proper type
+PASS HTMLInputElement interface: createInput("color") must inherit property "type" with the proper type
+PASS HTMLInputElement interface: createInput("color") must inherit property "defaultValue" with the proper type
+PASS HTMLInputElement interface: createInput("color") must inherit property "value" with the proper type
+PASS HTMLInputElement interface: createInput("color") must inherit property "valueAsDate" with the proper type
+PASS HTMLInputElement interface: createInput("color") must inherit property "valueAsNumber" with the proper type
+PASS HTMLInputElement interface: createInput("color") must inherit property "width" with the proper type
+PASS HTMLInputElement interface: createInput("color") must inherit property "stepUp(long)" with the proper type
+PASS HTMLInputElement interface: calling stepUp(long) on createInput("color") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("color") must inherit property "stepDown(long)" with the proper type
+PASS HTMLInputElement interface: calling stepDown(long) on createInput("color") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("color") must inherit property "willValidate" with the proper type
+PASS HTMLInputElement interface: createInput("color") must inherit property "validity" with the proper type
+PASS HTMLInputElement interface: createInput("color") must inherit property "validationMessage" with the proper type
+PASS HTMLInputElement interface: createInput("color") must inherit property "checkValidity()" with the proper type
+PASS HTMLInputElement interface: createInput("color") must inherit property "reportValidity()" with the proper type
+PASS HTMLInputElement interface: createInput("color") must inherit property "setCustomValidity(DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("color") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("color") must inherit property "labels" with the proper type
+PASS HTMLInputElement interface: createInput("color") must inherit property "select()" with the proper type
+PASS HTMLInputElement interface: createInput("color") must inherit property "selectionStart" with the proper type
+PASS HTMLInputElement interface: createInput("color") must inherit property "selectionEnd" with the proper type
+PASS HTMLInputElement interface: createInput("color") must inherit property "selectionDirection" with the proper type
+PASS HTMLInputElement interface: createInput("color") must inherit property "setRangeText(DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("color") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("color") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type
+PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("color") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("color") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("color") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("color") must inherit property "align" with the proper type
+PASS HTMLInputElement interface: createInput("color") must inherit property "useMap" with the proper type
+PASS HTMLInputElement must be primary interface of createInput("checkbox")
+PASS Stringification of createInput("checkbox")
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "accept" with the proper type
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "alt" with the proper type
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "autocomplete" with the proper type
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "autofocus" with the proper type
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "defaultChecked" with the proper type
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "checked" with the proper type
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "dirName" with the proper type
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "disabled" with the proper type
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "form" with the proper type
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "files" with the proper type
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "formAction" with the proper type
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "formEnctype" with the proper type
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "formMethod" with the proper type
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "formNoValidate" with the proper type
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "formTarget" with the proper type
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "height" with the proper type
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "indeterminate" with the proper type
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "list" with the proper type
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "max" with the proper type
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "maxLength" with the proper type
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "min" with the proper type
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "minLength" with the proper type
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "multiple" with the proper type
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "name" with the proper type
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "pattern" with the proper type
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "placeholder" with the proper type
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "readOnly" with the proper type
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "required" with the proper type
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "size" with the proper type
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "src" with the proper type
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "step" with the proper type
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "type" with the proper type
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "defaultValue" with the proper type
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "value" with the proper type
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "valueAsDate" with the proper type
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "valueAsNumber" with the proper type
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "width" with the proper type
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "stepUp(long)" with the proper type
+PASS HTMLInputElement interface: calling stepUp(long) on createInput("checkbox") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "stepDown(long)" with the proper type
+PASS HTMLInputElement interface: calling stepDown(long) on createInput("checkbox") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "willValidate" with the proper type
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "validity" with the proper type
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "validationMessage" with the proper type
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "checkValidity()" with the proper type
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "reportValidity()" with the proper type
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "setCustomValidity(DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("checkbox") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "labels" with the proper type
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "select()" with the proper type
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "selectionStart" with the proper type
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "selectionEnd" with the proper type
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "selectionDirection" with the proper type
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "setRangeText(DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("checkbox") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type
+PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("checkbox") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("checkbox") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "align" with the proper type
+PASS HTMLInputElement interface: createInput("checkbox") must inherit property "useMap" with the proper type
+PASS HTMLInputElement must be primary interface of createInput("radio")
+PASS Stringification of createInput("radio")
+PASS HTMLInputElement interface: createInput("radio") must inherit property "accept" with the proper type
+PASS HTMLInputElement interface: createInput("radio") must inherit property "alt" with the proper type
+PASS HTMLInputElement interface: createInput("radio") must inherit property "autocomplete" with the proper type
+PASS HTMLInputElement interface: createInput("radio") must inherit property "autofocus" with the proper type
+PASS HTMLInputElement interface: createInput("radio") must inherit property "defaultChecked" with the proper type
+PASS HTMLInputElement interface: createInput("radio") must inherit property "checked" with the proper type
+PASS HTMLInputElement interface: createInput("radio") must inherit property "dirName" with the proper type
+PASS HTMLInputElement interface: createInput("radio") must inherit property "disabled" with the proper type
+PASS HTMLInputElement interface: createInput("radio") must inherit property "form" with the proper type
+PASS HTMLInputElement interface: createInput("radio") must inherit property "files" with the proper type
+PASS HTMLInputElement interface: createInput("radio") must inherit property "formAction" with the proper type
+PASS HTMLInputElement interface: createInput("radio") must inherit property "formEnctype" with the proper type
+PASS HTMLInputElement interface: createInput("radio") must inherit property "formMethod" with the proper type
+PASS HTMLInputElement interface: createInput("radio") must inherit property "formNoValidate" with the proper type
+PASS HTMLInputElement interface: createInput("radio") must inherit property "formTarget" with the proper type
+PASS HTMLInputElement interface: createInput("radio") must inherit property "height" with the proper type
+PASS HTMLInputElement interface: createInput("radio") must inherit property "indeterminate" with the proper type
+PASS HTMLInputElement interface: createInput("radio") must inherit property "list" with the proper type
+PASS HTMLInputElement interface: createInput("radio") must inherit property "max" with the proper type
+PASS HTMLInputElement interface: createInput("radio") must inherit property "maxLength" with the proper type
+PASS HTMLInputElement interface: createInput("radio") must inherit property "min" with the proper type
+PASS HTMLInputElement interface: createInput("radio") must inherit property "minLength" with the proper type
+PASS HTMLInputElement interface: createInput("radio") must inherit property "multiple" with the proper type
+PASS HTMLInputElement interface: createInput("radio") must inherit property "name" with the proper type
+PASS HTMLInputElement interface: createInput("radio") must inherit property "pattern" with the proper type
+PASS HTMLInputElement interface: createInput("radio") must inherit property "placeholder" with the proper type
+PASS HTMLInputElement interface: createInput("radio") must inherit property "readOnly" with the proper type
+PASS HTMLInputElement interface: createInput("radio") must inherit property "required" with the proper type
+PASS HTMLInputElement interface: createInput("radio") must inherit property "size" with the proper type
+PASS HTMLInputElement interface: createInput("radio") must inherit property "src" with the proper type
+PASS HTMLInputElement interface: createInput("radio") must inherit property "step" with the proper type
+PASS HTMLInputElement interface: createInput("radio") must inherit property "type" with the proper type
+PASS HTMLInputElement interface: createInput("radio") must inherit property "defaultValue" with the proper type
+PASS HTMLInputElement interface: createInput("radio") must inherit property "value" with the proper type
+PASS HTMLInputElement interface: createInput("radio") must inherit property "valueAsDate" with the proper type
+PASS HTMLInputElement interface: createInput("radio") must inherit property "valueAsNumber" with the proper type
+PASS HTMLInputElement interface: createInput("radio") must inherit property "width" with the proper type
+PASS HTMLInputElement interface: createInput("radio") must inherit property "stepUp(long)" with the proper type
+PASS HTMLInputElement interface: calling stepUp(long) on createInput("radio") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("radio") must inherit property "stepDown(long)" with the proper type
+PASS HTMLInputElement interface: calling stepDown(long) on createInput("radio") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("radio") must inherit property "willValidate" with the proper type
+PASS HTMLInputElement interface: createInput("radio") must inherit property "validity" with the proper type
+PASS HTMLInputElement interface: createInput("radio") must inherit property "validationMessage" with the proper type
+PASS HTMLInputElement interface: createInput("radio") must inherit property "checkValidity()" with the proper type
+PASS HTMLInputElement interface: createInput("radio") must inherit property "reportValidity()" with the proper type
+PASS HTMLInputElement interface: createInput("radio") must inherit property "setCustomValidity(DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("radio") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("radio") must inherit property "labels" with the proper type
+PASS HTMLInputElement interface: createInput("radio") must inherit property "select()" with the proper type
+PASS HTMLInputElement interface: createInput("radio") must inherit property "selectionStart" with the proper type
+PASS HTMLInputElement interface: createInput("radio") must inherit property "selectionEnd" with the proper type
+PASS HTMLInputElement interface: createInput("radio") must inherit property "selectionDirection" with the proper type
+PASS HTMLInputElement interface: createInput("radio") must inherit property "setRangeText(DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("radio") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("radio") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type
+PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("radio") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("radio") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("radio") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("radio") must inherit property "align" with the proper type
+PASS HTMLInputElement interface: createInput("radio") must inherit property "useMap" with the proper type
+PASS HTMLInputElement must be primary interface of createInput("file")
+PASS Stringification of createInput("file")
+PASS HTMLInputElement interface: createInput("file") must inherit property "accept" with the proper type
+PASS HTMLInputElement interface: createInput("file") must inherit property "alt" with the proper type
+PASS HTMLInputElement interface: createInput("file") must inherit property "autocomplete" with the proper type
+PASS HTMLInputElement interface: createInput("file") must inherit property "autofocus" with the proper type
+PASS HTMLInputElement interface: createInput("file") must inherit property "defaultChecked" with the proper type
+PASS HTMLInputElement interface: createInput("file") must inherit property "checked" with the proper type
+PASS HTMLInputElement interface: createInput("file") must inherit property "dirName" with the proper type
+PASS HTMLInputElement interface: createInput("file") must inherit property "disabled" with the proper type
+PASS HTMLInputElement interface: createInput("file") must inherit property "form" with the proper type
+FAIL HTMLInputElement interface: createInput("file") must inherit property "files" with the proper type Unrecognized type FileList
+PASS HTMLInputElement interface: createInput("file") must inherit property "formAction" with the proper type
+PASS HTMLInputElement interface: createInput("file") must inherit property "formEnctype" with the proper type
+PASS HTMLInputElement interface: createInput("file") must inherit property "formMethod" with the proper type
+PASS HTMLInputElement interface: createInput("file") must inherit property "formNoValidate" with the proper type
+PASS HTMLInputElement interface: createInput("file") must inherit property "formTarget" with the proper type
+PASS HTMLInputElement interface: createInput("file") must inherit property "height" with the proper type
+PASS HTMLInputElement interface: createInput("file") must inherit property "indeterminate" with the proper type
+PASS HTMLInputElement interface: createInput("file") must inherit property "list" with the proper type
+PASS HTMLInputElement interface: createInput("file") must inherit property "max" with the proper type
+PASS HTMLInputElement interface: createInput("file") must inherit property "maxLength" with the proper type
+PASS HTMLInputElement interface: createInput("file") must inherit property "min" with the proper type
+PASS HTMLInputElement interface: createInput("file") must inherit property "minLength" with the proper type
+PASS HTMLInputElement interface: createInput("file") must inherit property "multiple" with the proper type
+PASS HTMLInputElement interface: createInput("file") must inherit property "name" with the proper type
+PASS HTMLInputElement interface: createInput("file") must inherit property "pattern" with the proper type
+PASS HTMLInputElement interface: createInput("file") must inherit property "placeholder" with the proper type
+PASS HTMLInputElement interface: createInput("file") must inherit property "readOnly" with the proper type
+PASS HTMLInputElement interface: createInput("file") must inherit property "required" with the proper type
+PASS HTMLInputElement interface: createInput("file") must inherit property "size" with the proper type
+PASS HTMLInputElement interface: createInput("file") must inherit property "src" with the proper type
+PASS HTMLInputElement interface: createInput("file") must inherit property "step" with the proper type
+PASS HTMLInputElement interface: createInput("file") must inherit property "type" with the proper type
+PASS HTMLInputElement interface: createInput("file") must inherit property "defaultValue" with the proper type
+PASS HTMLInputElement interface: createInput("file") must inherit property "value" with the proper type
+PASS HTMLInputElement interface: createInput("file") must inherit property "valueAsDate" with the proper type
+PASS HTMLInputElement interface: createInput("file") must inherit property "valueAsNumber" with the proper type
+PASS HTMLInputElement interface: createInput("file") must inherit property "width" with the proper type
+PASS HTMLInputElement interface: createInput("file") must inherit property "stepUp(long)" with the proper type
+PASS HTMLInputElement interface: calling stepUp(long) on createInput("file") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("file") must inherit property "stepDown(long)" with the proper type
+PASS HTMLInputElement interface: calling stepDown(long) on createInput("file") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("file") must inherit property "willValidate" with the proper type
+PASS HTMLInputElement interface: createInput("file") must inherit property "validity" with the proper type
+PASS HTMLInputElement interface: createInput("file") must inherit property "validationMessage" with the proper type
+PASS HTMLInputElement interface: createInput("file") must inherit property "checkValidity()" with the proper type
+PASS HTMLInputElement interface: createInput("file") must inherit property "reportValidity()" with the proper type
+PASS HTMLInputElement interface: createInput("file") must inherit property "setCustomValidity(DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("file") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("file") must inherit property "labels" with the proper type
+PASS HTMLInputElement interface: createInput("file") must inherit property "select()" with the proper type
+PASS HTMLInputElement interface: createInput("file") must inherit property "selectionStart" with the proper type
+PASS HTMLInputElement interface: createInput("file") must inherit property "selectionEnd" with the proper type
+PASS HTMLInputElement interface: createInput("file") must inherit property "selectionDirection" with the proper type
+PASS HTMLInputElement interface: createInput("file") must inherit property "setRangeText(DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("file") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("file") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type
+PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("file") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("file") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("file") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("file") must inherit property "align" with the proper type
+PASS HTMLInputElement interface: createInput("file") must inherit property "useMap" with the proper type
+PASS HTMLInputElement must be primary interface of createInput("submit")
+PASS Stringification of createInput("submit")
+PASS HTMLInputElement interface: createInput("submit") must inherit property "accept" with the proper type
+PASS HTMLInputElement interface: createInput("submit") must inherit property "alt" with the proper type
+PASS HTMLInputElement interface: createInput("submit") must inherit property "autocomplete" with the proper type
+PASS HTMLInputElement interface: createInput("submit") must inherit property "autofocus" with the proper type
+PASS HTMLInputElement interface: createInput("submit") must inherit property "defaultChecked" with the proper type
+PASS HTMLInputElement interface: createInput("submit") must inherit property "checked" with the proper type
+PASS HTMLInputElement interface: createInput("submit") must inherit property "dirName" with the proper type
+PASS HTMLInputElement interface: createInput("submit") must inherit property "disabled" with the proper type
+PASS HTMLInputElement interface: createInput("submit") must inherit property "form" with the proper type
+PASS HTMLInputElement interface: createInput("submit") must inherit property "files" with the proper type
+PASS HTMLInputElement interface: createInput("submit") must inherit property "formAction" with the proper type
+PASS HTMLInputElement interface: createInput("submit") must inherit property "formEnctype" with the proper type
+PASS HTMLInputElement interface: createInput("submit") must inherit property "formMethod" with the proper type
+PASS HTMLInputElement interface: createInput("submit") must inherit property "formNoValidate" with the proper type
+PASS HTMLInputElement interface: createInput("submit") must inherit property "formTarget" with the proper type
+PASS HTMLInputElement interface: createInput("submit") must inherit property "height" with the proper type
+PASS HTMLInputElement interface: createInput("submit") must inherit property "indeterminate" with the proper type
+PASS HTMLInputElement interface: createInput("submit") must inherit property "list" with the proper type
+PASS HTMLInputElement interface: createInput("submit") must inherit property "max" with the proper type
+PASS HTMLInputElement interface: createInput("submit") must inherit property "maxLength" with the proper type
+PASS HTMLInputElement interface: createInput("submit") must inherit property "min" with the proper type
+PASS HTMLInputElement interface: createInput("submit") must inherit property "minLength" with the proper type
+PASS HTMLInputElement interface: createInput("submit") must inherit property "multiple" with the proper type
+PASS HTMLInputElement interface: createInput("submit") must inherit property "name" with the proper type
+PASS HTMLInputElement interface: createInput("submit") must inherit property "pattern" with the proper type
+PASS HTMLInputElement interface: createInput("submit") must inherit property "placeholder" with the proper type
+PASS HTMLInputElement interface: createInput("submit") must inherit property "readOnly" with the proper type
+PASS HTMLInputElement interface: createInput("submit") must inherit property "required" with the proper type
+PASS HTMLInputElement interface: createInput("submit") must inherit property "size" with the proper type
+PASS HTMLInputElement interface: createInput("submit") must inherit property "src" with the proper type
+PASS HTMLInputElement interface: createInput("submit") must inherit property "step" with the proper type
+PASS HTMLInputElement interface: createInput("submit") must inherit property "type" with the proper type
+PASS HTMLInputElement interface: createInput("submit") must inherit property "defaultValue" with the proper type
+PASS HTMLInputElement interface: createInput("submit") must inherit property "value" with the proper type
+PASS HTMLInputElement interface: createInput("submit") must inherit property "valueAsDate" with the proper type
+PASS HTMLInputElement interface: createInput("submit") must inherit property "valueAsNumber" with the proper type
+PASS HTMLInputElement interface: createInput("submit") must inherit property "width" with the proper type
+PASS HTMLInputElement interface: createInput("submit") must inherit property "stepUp(long)" with the proper type
+PASS HTMLInputElement interface: calling stepUp(long) on createInput("submit") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("submit") must inherit property "stepDown(long)" with the proper type
+PASS HTMLInputElement interface: calling stepDown(long) on createInput("submit") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("submit") must inherit property "willValidate" with the proper type
+PASS HTMLInputElement interface: createInput("submit") must inherit property "validity" with the proper type
+PASS HTMLInputElement interface: createInput("submit") must inherit property "validationMessage" with the proper type
+PASS HTMLInputElement interface: createInput("submit") must inherit property "checkValidity()" with the proper type
+PASS HTMLInputElement interface: createInput("submit") must inherit property "reportValidity()" with the proper type
+PASS HTMLInputElement interface: createInput("submit") must inherit property "setCustomValidity(DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("submit") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("submit") must inherit property "labels" with the proper type
+PASS HTMLInputElement interface: createInput("submit") must inherit property "select()" with the proper type
+PASS HTMLInputElement interface: createInput("submit") must inherit property "selectionStart" with the proper type
+PASS HTMLInputElement interface: createInput("submit") must inherit property "selectionEnd" with the proper type
+PASS HTMLInputElement interface: createInput("submit") must inherit property "selectionDirection" with the proper type
+PASS HTMLInputElement interface: createInput("submit") must inherit property "setRangeText(DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("submit") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("submit") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type
+PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("submit") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("submit") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("submit") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("submit") must inherit property "align" with the proper type
+PASS HTMLInputElement interface: createInput("submit") must inherit property "useMap" with the proper type
+PASS HTMLInputElement must be primary interface of createInput("image")
+PASS Stringification of createInput("image")
+PASS HTMLInputElement interface: createInput("image") must inherit property "accept" with the proper type
+PASS HTMLInputElement interface: createInput("image") must inherit property "alt" with the proper type
+PASS HTMLInputElement interface: createInput("image") must inherit property "autocomplete" with the proper type
+PASS HTMLInputElement interface: createInput("image") must inherit property "autofocus" with the proper type
+PASS HTMLInputElement interface: createInput("image") must inherit property "defaultChecked" with the proper type
+PASS HTMLInputElement interface: createInput("image") must inherit property "checked" with the proper type
+PASS HTMLInputElement interface: createInput("image") must inherit property "dirName" with the proper type
+PASS HTMLInputElement interface: createInput("image") must inherit property "disabled" with the proper type
+PASS HTMLInputElement interface: createInput("image") must inherit property "form" with the proper type
+PASS HTMLInputElement interface: createInput("image") must inherit property "files" with the proper type
+PASS HTMLInputElement interface: createInput("image") must inherit property "formAction" with the proper type
+PASS HTMLInputElement interface: createInput("image") must inherit property "formEnctype" with the proper type
+PASS HTMLInputElement interface: createInput("image") must inherit property "formMethod" with the proper type
+PASS HTMLInputElement interface: createInput("image") must inherit property "formNoValidate" with the proper type
+PASS HTMLInputElement interface: createInput("image") must inherit property "formTarget" with the proper type
+PASS HTMLInputElement interface: createInput("image") must inherit property "height" with the proper type
+PASS HTMLInputElement interface: createInput("image") must inherit property "indeterminate" with the proper type
+PASS HTMLInputElement interface: createInput("image") must inherit property "list" with the proper type
+PASS HTMLInputElement interface: createInput("image") must inherit property "max" with the proper type
+PASS HTMLInputElement interface: createInput("image") must inherit property "maxLength" with the proper type
+PASS HTMLInputElement interface: createInput("image") must inherit property "min" with the proper type
+PASS HTMLInputElement interface: createInput("image") must inherit property "minLength" with the proper type
+PASS HTMLInputElement interface: createInput("image") must inherit property "multiple" with the proper type
+PASS HTMLInputElement interface: createInput("image") must inherit property "name" with the proper type
+PASS HTMLInputElement interface: createInput("image") must inherit property "pattern" with the proper type
+PASS HTMLInputElement interface: createInput("image") must inherit property "placeholder" with the proper type
+PASS HTMLInputElement interface: createInput("image") must inherit property "readOnly" with the proper type
+PASS HTMLInputElement interface: createInput("image") must inherit property "required" with the proper type
+PASS HTMLInputElement interface: createInput("image") must inherit property "size" with the proper type
+PASS HTMLInputElement interface: createInput("image") must inherit property "src" with the proper type
+PASS HTMLInputElement interface: createInput("image") must inherit property "step" with the proper type
+PASS HTMLInputElement interface: createInput("image") must inherit property "type" with the proper type
+PASS HTMLInputElement interface: createInput("image") must inherit property "defaultValue" with the proper type
+PASS HTMLInputElement interface: createInput("image") must inherit property "value" with the proper type
+PASS HTMLInputElement interface: createInput("image") must inherit property "valueAsDate" with the proper type
+PASS HTMLInputElement interface: createInput("image") must inherit property "valueAsNumber" with the proper type
+PASS HTMLInputElement interface: createInput("image") must inherit property "width" with the proper type
+PASS HTMLInputElement interface: createInput("image") must inherit property "stepUp(long)" with the proper type
+PASS HTMLInputElement interface: calling stepUp(long) on createInput("image") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("image") must inherit property "stepDown(long)" with the proper type
+PASS HTMLInputElement interface: calling stepDown(long) on createInput("image") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("image") must inherit property "willValidate" with the proper type
+PASS HTMLInputElement interface: createInput("image") must inherit property "validity" with the proper type
+PASS HTMLInputElement interface: createInput("image") must inherit property "validationMessage" with the proper type
+PASS HTMLInputElement interface: createInput("image") must inherit property "checkValidity()" with the proper type
+PASS HTMLInputElement interface: createInput("image") must inherit property "reportValidity()" with the proper type
+PASS HTMLInputElement interface: createInput("image") must inherit property "setCustomValidity(DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("image") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("image") must inherit property "labels" with the proper type
+PASS HTMLInputElement interface: createInput("image") must inherit property "select()" with the proper type
+PASS HTMLInputElement interface: createInput("image") must inherit property "selectionStart" with the proper type
+PASS HTMLInputElement interface: createInput("image") must inherit property "selectionEnd" with the proper type
+PASS HTMLInputElement interface: createInput("image") must inherit property "selectionDirection" with the proper type
+PASS HTMLInputElement interface: createInput("image") must inherit property "setRangeText(DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("image") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("image") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type
+PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("image") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("image") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("image") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("image") must inherit property "align" with the proper type
+PASS HTMLInputElement interface: createInput("image") must inherit property "useMap" with the proper type
+PASS HTMLInputElement must be primary interface of createInput("reset")
+PASS Stringification of createInput("reset")
+PASS HTMLInputElement interface: createInput("reset") must inherit property "accept" with the proper type
+PASS HTMLInputElement interface: createInput("reset") must inherit property "alt" with the proper type
+PASS HTMLInputElement interface: createInput("reset") must inherit property "autocomplete" with the proper type
+PASS HTMLInputElement interface: createInput("reset") must inherit property "autofocus" with the proper type
+PASS HTMLInputElement interface: createInput("reset") must inherit property "defaultChecked" with the proper type
+PASS HTMLInputElement interface: createInput("reset") must inherit property "checked" with the proper type
+PASS HTMLInputElement interface: createInput("reset") must inherit property "dirName" with the proper type
+PASS HTMLInputElement interface: createInput("reset") must inherit property "disabled" with the proper type
+PASS HTMLInputElement interface: createInput("reset") must inherit property "form" with the proper type
+PASS HTMLInputElement interface: createInput("reset") must inherit property "files" with the proper type
+PASS HTMLInputElement interface: createInput("reset") must inherit property "formAction" with the proper type
+PASS HTMLInputElement interface: createInput("reset") must inherit property "formEnctype" with the proper type
+PASS HTMLInputElement interface: createInput("reset") must inherit property "formMethod" with the proper type
+PASS HTMLInputElement interface: createInput("reset") must inherit property "formNoValidate" with the proper type
+PASS HTMLInputElement interface: createInput("reset") must inherit property "formTarget" with the proper type
+PASS HTMLInputElement interface: createInput("reset") must inherit property "height" with the proper type
+PASS HTMLInputElement interface: createInput("reset") must inherit property "indeterminate" with the proper type
+PASS HTMLInputElement interface: createInput("reset") must inherit property "list" with the proper type
+PASS HTMLInputElement interface: createInput("reset") must inherit property "max" with the proper type
+PASS HTMLInputElement interface: createInput("reset") must inherit property "maxLength" with the proper type
+PASS HTMLInputElement interface: createInput("reset") must inherit property "min" with the proper type
+PASS HTMLInputElement interface: createInput("reset") must inherit property "minLength" with the proper type
+PASS HTMLInputElement interface: createInput("reset") must inherit property "multiple" with the proper type
+PASS HTMLInputElement interface: createInput("reset") must inherit property "name" with the proper type
+PASS HTMLInputElement interface: createInput("reset") must inherit property "pattern" with the proper type
+PASS HTMLInputElement interface: createInput("reset") must inherit property "placeholder" with the proper type
+PASS HTMLInputElement interface: createInput("reset") must inherit property "readOnly" with the proper type
+PASS HTMLInputElement interface: createInput("reset") must inherit property "required" with the proper type
+PASS HTMLInputElement interface: createInput("reset") must inherit property "size" with the proper type
+PASS HTMLInputElement interface: createInput("reset") must inherit property "src" with the proper type
+PASS HTMLInputElement interface: createInput("reset") must inherit property "step" with the proper type
+PASS HTMLInputElement interface: createInput("reset") must inherit property "type" with the proper type
+PASS HTMLInputElement interface: createInput("reset") must inherit property "defaultValue" with the proper type
+PASS HTMLInputElement interface: createInput("reset") must inherit property "value" with the proper type
+PASS HTMLInputElement interface: createInput("reset") must inherit property "valueAsDate" with the proper type
+PASS HTMLInputElement interface: createInput("reset") must inherit property "valueAsNumber" with the proper type
+PASS HTMLInputElement interface: createInput("reset") must inherit property "width" with the proper type
+PASS HTMLInputElement interface: createInput("reset") must inherit property "stepUp(long)" with the proper type
+PASS HTMLInputElement interface: calling stepUp(long) on createInput("reset") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("reset") must inherit property "stepDown(long)" with the proper type
+PASS HTMLInputElement interface: calling stepDown(long) on createInput("reset") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("reset") must inherit property "willValidate" with the proper type
+PASS HTMLInputElement interface: createInput("reset") must inherit property "validity" with the proper type
+PASS HTMLInputElement interface: createInput("reset") must inherit property "validationMessage" with the proper type
+PASS HTMLInputElement interface: createInput("reset") must inherit property "checkValidity()" with the proper type
+PASS HTMLInputElement interface: createInput("reset") must inherit property "reportValidity()" with the proper type
+PASS HTMLInputElement interface: createInput("reset") must inherit property "setCustomValidity(DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("reset") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("reset") must inherit property "labels" with the proper type
+PASS HTMLInputElement interface: createInput("reset") must inherit property "select()" with the proper type
+PASS HTMLInputElement interface: createInput("reset") must inherit property "selectionStart" with the proper type
+PASS HTMLInputElement interface: createInput("reset") must inherit property "selectionEnd" with the proper type
+PASS HTMLInputElement interface: createInput("reset") must inherit property "selectionDirection" with the proper type
+PASS HTMLInputElement interface: createInput("reset") must inherit property "setRangeText(DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("reset") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("reset") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type
+PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("reset") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("reset") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("reset") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("reset") must inherit property "align" with the proper type
+PASS HTMLInputElement interface: createInput("reset") must inherit property "useMap" with the proper type
+PASS HTMLInputElement must be primary interface of createInput("button")
+PASS Stringification of createInput("button")
+PASS HTMLInputElement interface: createInput("button") must inherit property "accept" with the proper type
+PASS HTMLInputElement interface: createInput("button") must inherit property "alt" with the proper type
+PASS HTMLInputElement interface: createInput("button") must inherit property "autocomplete" with the proper type
+PASS HTMLInputElement interface: createInput("button") must inherit property "autofocus" with the proper type
+PASS HTMLInputElement interface: createInput("button") must inherit property "defaultChecked" with the proper type
+PASS HTMLInputElement interface: createInput("button") must inherit property "checked" with the proper type
+PASS HTMLInputElement interface: createInput("button") must inherit property "dirName" with the proper type
+PASS HTMLInputElement interface: createInput("button") must inherit property "disabled" with the proper type
+PASS HTMLInputElement interface: createInput("button") must inherit property "form" with the proper type
+PASS HTMLInputElement interface: createInput("button") must inherit property "files" with the proper type
+PASS HTMLInputElement interface: createInput("button") must inherit property "formAction" with the proper type
+PASS HTMLInputElement interface: createInput("button") must inherit property "formEnctype" with the proper type
+PASS HTMLInputElement interface: createInput("button") must inherit property "formMethod" with the proper type
+PASS HTMLInputElement interface: createInput("button") must inherit property "formNoValidate" with the proper type
+PASS HTMLInputElement interface: createInput("button") must inherit property "formTarget" with the proper type
+PASS HTMLInputElement interface: createInput("button") must inherit property "height" with the proper type
+PASS HTMLInputElement interface: createInput("button") must inherit property "indeterminate" with the proper type
+PASS HTMLInputElement interface: createInput("button") must inherit property "list" with the proper type
+PASS HTMLInputElement interface: createInput("button") must inherit property "max" with the proper type
+PASS HTMLInputElement interface: createInput("button") must inherit property "maxLength" with the proper type
+PASS HTMLInputElement interface: createInput("button") must inherit property "min" with the proper type
+PASS HTMLInputElement interface: createInput("button") must inherit property "minLength" with the proper type
+PASS HTMLInputElement interface: createInput("button") must inherit property "multiple" with the proper type
+PASS HTMLInputElement interface: createInput("button") must inherit property "name" with the proper type
+PASS HTMLInputElement interface: createInput("button") must inherit property "pattern" with the proper type
+PASS HTMLInputElement interface: createInput("button") must inherit property "placeholder" with the proper type
+PASS HTMLInputElement interface: createInput("button") must inherit property "readOnly" with the proper type
+PASS HTMLInputElement interface: createInput("button") must inherit property "required" with the proper type
+PASS HTMLInputElement interface: createInput("button") must inherit property "size" with the proper type
+PASS HTMLInputElement interface: createInput("button") must inherit property "src" with the proper type
+PASS HTMLInputElement interface: createInput("button") must inherit property "step" with the proper type
+PASS HTMLInputElement interface: createInput("button") must inherit property "type" with the proper type
+PASS HTMLInputElement interface: createInput("button") must inherit property "defaultValue" with the proper type
+PASS HTMLInputElement interface: createInput("button") must inherit property "value" with the proper type
+PASS HTMLInputElement interface: createInput("button") must inherit property "valueAsDate" with the proper type
+PASS HTMLInputElement interface: createInput("button") must inherit property "valueAsNumber" with the proper type
+PASS HTMLInputElement interface: createInput("button") must inherit property "width" with the proper type
+PASS HTMLInputElement interface: createInput("button") must inherit property "stepUp(long)" with the proper type
+PASS HTMLInputElement interface: calling stepUp(long) on createInput("button") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("button") must inherit property "stepDown(long)" with the proper type
+PASS HTMLInputElement interface: calling stepDown(long) on createInput("button") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("button") must inherit property "willValidate" with the proper type
+PASS HTMLInputElement interface: createInput("button") must inherit property "validity" with the proper type
+PASS HTMLInputElement interface: createInput("button") must inherit property "validationMessage" with the proper type
+PASS HTMLInputElement interface: createInput("button") must inherit property "checkValidity()" with the proper type
+PASS HTMLInputElement interface: createInput("button") must inherit property "reportValidity()" with the proper type
+PASS HTMLInputElement interface: createInput("button") must inherit property "setCustomValidity(DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("button") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("button") must inherit property "labels" with the proper type
+PASS HTMLInputElement interface: createInput("button") must inherit property "select()" with the proper type
+PASS HTMLInputElement interface: createInput("button") must inherit property "selectionStart" with the proper type
+PASS HTMLInputElement interface: createInput("button") must inherit property "selectionEnd" with the proper type
+PASS HTMLInputElement interface: createInput("button") must inherit property "selectionDirection" with the proper type
+PASS HTMLInputElement interface: createInput("button") must inherit property "setRangeText(DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setRangeText(DOMString) on createInput("button") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("button") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type
+PASS HTMLInputElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on createInput("button") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("button") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type
+PASS HTMLInputElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on createInput("button") with too few arguments must throw TypeError
+PASS HTMLInputElement interface: createInput("button") must inherit property "align" with the proper type
+PASS HTMLInputElement interface: createInput("button") must inherit property "useMap" with the proper type
+PASS HTMLButtonElement interface: existence and properties of interface object
+PASS HTMLButtonElement interface object length
+PASS HTMLButtonElement interface object name
+PASS HTMLButtonElement interface: existence and properties of interface prototype object
+PASS HTMLButtonElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLButtonElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLButtonElement interface: attribute autofocus
+PASS HTMLButtonElement interface: attribute disabled
+PASS HTMLButtonElement interface: attribute form
+PASS HTMLButtonElement interface: attribute formAction
+PASS HTMLButtonElement interface: attribute formEnctype
+PASS HTMLButtonElement interface: attribute formMethod
+PASS HTMLButtonElement interface: attribute formNoValidate
+PASS HTMLButtonElement interface: attribute formTarget
+PASS HTMLButtonElement interface: attribute name
+PASS HTMLButtonElement interface: attribute type
+PASS HTMLButtonElement interface: attribute value
+PASS HTMLButtonElement interface: attribute willValidate
+PASS HTMLButtonElement interface: attribute validity
+PASS HTMLButtonElement interface: attribute validationMessage
+PASS HTMLButtonElement interface: operation checkValidity()
+PASS HTMLButtonElement interface: operation reportValidity()
+PASS HTMLButtonElement interface: operation setCustomValidity(DOMString)
+PASS HTMLButtonElement interface: attribute labels
+PASS HTMLButtonElement must be primary interface of document.createElement("button")
+PASS Stringification of document.createElement("button")
+PASS HTMLButtonElement interface: document.createElement("button") must inherit property "autofocus" with the proper type
+PASS HTMLButtonElement interface: document.createElement("button") must inherit property "disabled" with the proper type
+PASS HTMLButtonElement interface: document.createElement("button") must inherit property "form" with the proper type
+PASS HTMLButtonElement interface: document.createElement("button") must inherit property "formAction" with the proper type
+PASS HTMLButtonElement interface: document.createElement("button") must inherit property "formEnctype" with the proper type
+PASS HTMLButtonElement interface: document.createElement("button") must inherit property "formMethod" with the proper type
+PASS HTMLButtonElement interface: document.createElement("button") must inherit property "formNoValidate" with the proper type
+PASS HTMLButtonElement interface: document.createElement("button") must inherit property "formTarget" with the proper type
+PASS HTMLButtonElement interface: document.createElement("button") must inherit property "name" with the proper type
+PASS HTMLButtonElement interface: document.createElement("button") must inherit property "type" with the proper type
+PASS HTMLButtonElement interface: document.createElement("button") must inherit property "value" with the proper type
+PASS HTMLButtonElement interface: document.createElement("button") must inherit property "willValidate" with the proper type
+PASS HTMLButtonElement interface: document.createElement("button") must inherit property "validity" with the proper type
+PASS HTMLButtonElement interface: document.createElement("button") must inherit property "validationMessage" with the proper type
+PASS HTMLButtonElement interface: document.createElement("button") must inherit property "checkValidity()" with the proper type
+PASS HTMLButtonElement interface: document.createElement("button") must inherit property "reportValidity()" with the proper type
+PASS HTMLButtonElement interface: document.createElement("button") must inherit property "setCustomValidity(DOMString)" with the proper type
+PASS HTMLButtonElement interface: calling setCustomValidity(DOMString) on document.createElement("button") with too few arguments must throw TypeError
+PASS HTMLButtonElement interface: document.createElement("button") must inherit property "labels" with the proper type
+PASS HTMLSelectElement interface: existence and properties of interface object
+PASS HTMLSelectElement interface object length
+PASS HTMLSelectElement interface object name
+PASS HTMLSelectElement interface: existence and properties of interface prototype object
+PASS HTMLSelectElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLSelectElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLSelectElement interface: attribute autocomplete
+PASS HTMLSelectElement interface: attribute autofocus
+PASS HTMLSelectElement interface: attribute disabled
+PASS HTMLSelectElement interface: attribute form
+PASS HTMLSelectElement interface: attribute multiple
+PASS HTMLSelectElement interface: attribute name
+PASS HTMLSelectElement interface: attribute required
+PASS HTMLSelectElement interface: attribute size
+PASS HTMLSelectElement interface: attribute type
+PASS HTMLSelectElement interface: attribute options
+PASS HTMLSelectElement interface: attribute length
+PASS HTMLSelectElement interface: operation item(unsigned long)
+PASS HTMLSelectElement interface: operation namedItem(DOMString)
+PASS HTMLSelectElement interface: operation add([object Object],[object Object], [object Object],[object Object])
+PASS HTMLSelectElement interface: operation remove()
+PASS HTMLSelectElement interface: operation remove(long)
+PASS HTMLSelectElement interface: attribute selectedOptions
+PASS HTMLSelectElement interface: attribute selectedIndex
+PASS HTMLSelectElement interface: attribute value
+PASS HTMLSelectElement interface: attribute willValidate
+PASS HTMLSelectElement interface: attribute validity
+PASS HTMLSelectElement interface: attribute validationMessage
+PASS HTMLSelectElement interface: operation checkValidity()
+PASS HTMLSelectElement interface: operation reportValidity()
+PASS HTMLSelectElement interface: operation setCustomValidity(DOMString)
+PASS HTMLSelectElement interface: attribute labels
+PASS HTMLSelectElement must be primary interface of document.createElement("select")
+PASS Stringification of document.createElement("select")
+PASS HTMLSelectElement interface: document.createElement("select") must inherit property "autocomplete" with the proper type
+PASS HTMLSelectElement interface: document.createElement("select") must inherit property "autofocus" with the proper type
+PASS HTMLSelectElement interface: document.createElement("select") must inherit property "disabled" with the proper type
+PASS HTMLSelectElement interface: document.createElement("select") must inherit property "form" with the proper type
+PASS HTMLSelectElement interface: document.createElement("select") must inherit property "multiple" with the proper type
+PASS HTMLSelectElement interface: document.createElement("select") must inherit property "name" with the proper type
+PASS HTMLSelectElement interface: document.createElement("select") must inherit property "required" with the proper type
+PASS HTMLSelectElement interface: document.createElement("select") must inherit property "size" with the proper type
+PASS HTMLSelectElement interface: document.createElement("select") must inherit property "type" with the proper type
+PASS HTMLSelectElement interface: document.createElement("select") must inherit property "options" with the proper type
+PASS HTMLSelectElement interface: document.createElement("select") must inherit property "length" with the proper type
+PASS HTMLSelectElement interface: document.createElement("select") must inherit property "item(unsigned long)" with the proper type
+PASS HTMLSelectElement interface: calling item(unsigned long) on document.createElement("select") with too few arguments must throw TypeError
+PASS HTMLSelectElement interface: document.createElement("select") must inherit property "namedItem(DOMString)" with the proper type
+PASS HTMLSelectElement interface: calling namedItem(DOMString) on document.createElement("select") with too few arguments must throw TypeError
+PASS HTMLSelectElement interface: document.createElement("select") must inherit property "add([object Object],[object Object], [object Object],[object Object])" with the proper type
+PASS HTMLSelectElement interface: calling add([object Object],[object Object], [object Object],[object Object]) on document.createElement("select") with too few arguments must throw TypeError
+PASS HTMLSelectElement interface: document.createElement("select") must inherit property "remove()" with the proper type
+PASS HTMLSelectElement interface: document.createElement("select") must inherit property "remove(long)" with the proper type
+PASS HTMLSelectElement interface: calling remove(long) on document.createElement("select") with too few arguments must throw TypeError
+PASS HTMLSelectElement interface: document.createElement("select") must inherit property "selectedOptions" with the proper type
+PASS HTMLSelectElement interface: document.createElement("select") must inherit property "selectedIndex" with the proper type
+PASS HTMLSelectElement interface: document.createElement("select") must inherit property "value" with the proper type
+PASS HTMLSelectElement interface: document.createElement("select") must inherit property "willValidate" with the proper type
+PASS HTMLSelectElement interface: document.createElement("select") must inherit property "validity" with the proper type
+PASS HTMLSelectElement interface: document.createElement("select") must inherit property "validationMessage" with the proper type
+PASS HTMLSelectElement interface: document.createElement("select") must inherit property "checkValidity()" with the proper type
+PASS HTMLSelectElement interface: document.createElement("select") must inherit property "reportValidity()" with the proper type
+PASS HTMLSelectElement interface: document.createElement("select") must inherit property "setCustomValidity(DOMString)" with the proper type
+PASS HTMLSelectElement interface: calling setCustomValidity(DOMString) on document.createElement("select") with too few arguments must throw TypeError
+PASS HTMLSelectElement interface: document.createElement("select") must inherit property "labels" with the proper type
+PASS HTMLDataListElement interface: existence and properties of interface object
+PASS HTMLDataListElement interface object length
+PASS HTMLDataListElement interface object name
+PASS HTMLDataListElement interface: existence and properties of interface prototype object
+PASS HTMLDataListElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLDataListElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLDataListElement interface: attribute options
+PASS HTMLDataListElement must be primary interface of document.createElement("datalist")
+PASS Stringification of document.createElement("datalist")
+PASS HTMLDataListElement interface: document.createElement("datalist") must inherit property "options" with the proper type
+PASS HTMLOptGroupElement interface: existence and properties of interface object
+PASS HTMLOptGroupElement interface object length
+PASS HTMLOptGroupElement interface object name
+PASS HTMLOptGroupElement interface: existence and properties of interface prototype object
+PASS HTMLOptGroupElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLOptGroupElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLOptGroupElement interface: attribute disabled
+PASS HTMLOptGroupElement interface: attribute label
+PASS HTMLOptGroupElement must be primary interface of document.createElement("optgroup")
+PASS Stringification of document.createElement("optgroup")
+PASS HTMLOptGroupElement interface: document.createElement("optgroup") must inherit property "disabled" with the proper type
+PASS HTMLOptGroupElement interface: document.createElement("optgroup") must inherit property "label" with the proper type
+PASS HTMLOptionElement interface: existence and properties of interface object
+PASS HTMLOptionElement interface object length
+PASS HTMLOptionElement interface object name
+PASS HTMLOptionElement interface: existence and properties of interface prototype object
+PASS HTMLOptionElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLOptionElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLOptionElement interface: attribute disabled
+PASS HTMLOptionElement interface: attribute form
+PASS HTMLOptionElement interface: attribute label
+PASS HTMLOptionElement interface: attribute defaultSelected
+PASS HTMLOptionElement interface: attribute selected
+PASS HTMLOptionElement interface: attribute value
+PASS HTMLOptionElement interface: attribute text
+PASS HTMLOptionElement interface: attribute index
+PASS HTMLOptionElement must be primary interface of document.createElement("option")
+PASS Stringification of document.createElement("option")
+PASS HTMLOptionElement interface: document.createElement("option") must inherit property "disabled" with the proper type
+PASS HTMLOptionElement interface: document.createElement("option") must inherit property "form" with the proper type
+PASS HTMLOptionElement interface: document.createElement("option") must inherit property "label" with the proper type
+PASS HTMLOptionElement interface: document.createElement("option") must inherit property "defaultSelected" with the proper type
+PASS HTMLOptionElement interface: document.createElement("option") must inherit property "selected" with the proper type
+PASS HTMLOptionElement interface: document.createElement("option") must inherit property "value" with the proper type
+PASS HTMLOptionElement interface: document.createElement("option") must inherit property "text" with the proper type
+PASS HTMLOptionElement interface: document.createElement("option") must inherit property "index" with the proper type
+PASS HTMLOptionElement must be primary interface of new Option()
+PASS Stringification of new Option()
+PASS HTMLOptionElement interface: new Option() must inherit property "disabled" with the proper type
+PASS HTMLOptionElement interface: new Option() must inherit property "form" with the proper type
+PASS HTMLOptionElement interface: new Option() must inherit property "label" with the proper type
+PASS HTMLOptionElement interface: new Option() must inherit property "defaultSelected" with the proper type
+PASS HTMLOptionElement interface: new Option() must inherit property "selected" with the proper type
+PASS HTMLOptionElement interface: new Option() must inherit property "value" with the proper type
+PASS HTMLOptionElement interface: new Option() must inherit property "text" with the proper type
+PASS HTMLOptionElement interface: new Option() must inherit property "index" with the proper type
+PASS HTMLTextAreaElement interface: existence and properties of interface object
+PASS HTMLTextAreaElement interface object length
+PASS HTMLTextAreaElement interface object name
+PASS HTMLTextAreaElement interface: existence and properties of interface prototype object
+PASS HTMLTextAreaElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLTextAreaElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLTextAreaElement interface: attribute autocomplete
+PASS HTMLTextAreaElement interface: attribute autofocus
+PASS HTMLTextAreaElement interface: attribute cols
+PASS HTMLTextAreaElement interface: attribute dirName
+PASS HTMLTextAreaElement interface: attribute disabled
+PASS HTMLTextAreaElement interface: attribute form
+PASS HTMLTextAreaElement interface: attribute maxLength
+PASS HTMLTextAreaElement interface: attribute minLength
+PASS HTMLTextAreaElement interface: attribute name
+PASS HTMLTextAreaElement interface: attribute placeholder
+PASS HTMLTextAreaElement interface: attribute readOnly
+PASS HTMLTextAreaElement interface: attribute required
+PASS HTMLTextAreaElement interface: attribute rows
+PASS HTMLTextAreaElement interface: attribute wrap
+PASS HTMLTextAreaElement interface: attribute type
+PASS HTMLTextAreaElement interface: attribute defaultValue
+PASS HTMLTextAreaElement interface: attribute value
+PASS HTMLTextAreaElement interface: attribute textLength
+PASS HTMLTextAreaElement interface: attribute willValidate
+PASS HTMLTextAreaElement interface: attribute validity
+PASS HTMLTextAreaElement interface: attribute validationMessage
+PASS HTMLTextAreaElement interface: operation checkValidity()
+PASS HTMLTextAreaElement interface: operation reportValidity()
+PASS HTMLTextAreaElement interface: operation setCustomValidity(DOMString)
+PASS HTMLTextAreaElement interface: attribute labels
+PASS HTMLTextAreaElement interface: operation select()
+PASS HTMLTextAreaElement interface: attribute selectionStart
+PASS HTMLTextAreaElement interface: attribute selectionEnd
+PASS HTMLTextAreaElement interface: attribute selectionDirection
+PASS HTMLTextAreaElement interface: operation setRangeText(DOMString)
+PASS HTMLTextAreaElement interface: operation setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)
+PASS HTMLTextAreaElement interface: operation setSelectionRange(unsigned long, unsigned long, DOMString)
+PASS HTMLTextAreaElement must be primary interface of document.createElement("textarea")
+PASS Stringification of document.createElement("textarea")
+PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "autocomplete" with the proper type
+PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "autofocus" with the proper type
+PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "cols" with the proper type
+PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "dirName" with the proper type
+PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "disabled" with the proper type
+PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "form" with the proper type
+PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "maxLength" with the proper type
+PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "minLength" with the proper type
+PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "name" with the proper type
+PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "placeholder" with the proper type
+PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "readOnly" with the proper type
+PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "required" with the proper type
+PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "rows" with the proper type
+PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "wrap" with the proper type
+PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "type" with the proper type
+PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "defaultValue" with the proper type
+PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "value" with the proper type
+PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "textLength" with the proper type
+PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "willValidate" with the proper type
+PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "validity" with the proper type
+PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "validationMessage" with the proper type
+PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "checkValidity()" with the proper type
+PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "reportValidity()" with the proper type
+PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "setCustomValidity(DOMString)" with the proper type
+PASS HTMLTextAreaElement interface: calling setCustomValidity(DOMString) on document.createElement("textarea") with too few arguments must throw TypeError
+PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "labels" with the proper type
+PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "select()" with the proper type
+PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "selectionStart" with the proper type
+PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "selectionEnd" with the proper type
+PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "selectionDirection" with the proper type
+PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "setRangeText(DOMString)" with the proper type
+PASS HTMLTextAreaElement interface: calling setRangeText(DOMString) on document.createElement("textarea") with too few arguments must throw TypeError
+PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "setRangeText(DOMString, unsigned long, unsigned long, SelectionMode)" with the proper type
+PASS HTMLTextAreaElement interface: calling setRangeText(DOMString, unsigned long, unsigned long, SelectionMode) on document.createElement("textarea") with too few arguments must throw TypeError
+PASS HTMLTextAreaElement interface: document.createElement("textarea") must inherit property "setSelectionRange(unsigned long, unsigned long, DOMString)" with the proper type
+PASS HTMLTextAreaElement interface: calling setSelectionRange(unsigned long, unsigned long, DOMString) on document.createElement("textarea") with too few arguments must throw TypeError
+PASS HTMLOutputElement interface: existence and properties of interface object
+PASS HTMLOutputElement interface object length
+PASS HTMLOutputElement interface object name
+PASS HTMLOutputElement interface: existence and properties of interface prototype object
+PASS HTMLOutputElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLOutputElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLOutputElement interface: attribute htmlFor
+PASS HTMLOutputElement interface: attribute form
+PASS HTMLOutputElement interface: attribute name
+PASS HTMLOutputElement interface: attribute type
+PASS HTMLOutputElement interface: attribute defaultValue
+PASS HTMLOutputElement interface: attribute value
+PASS HTMLOutputElement interface: attribute willValidate
+PASS HTMLOutputElement interface: attribute validity
+PASS HTMLOutputElement interface: attribute validationMessage
+PASS HTMLOutputElement interface: operation checkValidity()
+PASS HTMLOutputElement interface: operation reportValidity()
+PASS HTMLOutputElement interface: operation setCustomValidity(DOMString)
+PASS HTMLOutputElement interface: attribute labels
+PASS HTMLOutputElement must be primary interface of document.createElement("output")
+PASS Stringification of document.createElement("output")
+PASS HTMLOutputElement interface: document.createElement("output") must inherit property "htmlFor" with the proper type
+PASS HTMLOutputElement interface: document.createElement("output") must inherit property "form" with the proper type
+PASS HTMLOutputElement interface: document.createElement("output") must inherit property "name" with the proper type
+PASS HTMLOutputElement interface: document.createElement("output") must inherit property "type" with the proper type
+PASS HTMLOutputElement interface: document.createElement("output") must inherit property "defaultValue" with the proper type
+PASS HTMLOutputElement interface: document.createElement("output") must inherit property "value" with the proper type
+PASS HTMLOutputElement interface: document.createElement("output") must inherit property "willValidate" with the proper type
+PASS HTMLOutputElement interface: document.createElement("output") must inherit property "validity" with the proper type
+PASS HTMLOutputElement interface: document.createElement("output") must inherit property "validationMessage" with the proper type
+PASS HTMLOutputElement interface: document.createElement("output") must inherit property "checkValidity()" with the proper type
+PASS HTMLOutputElement interface: document.createElement("output") must inherit property "reportValidity()" with the proper type
+PASS HTMLOutputElement interface: document.createElement("output") must inherit property "setCustomValidity(DOMString)" with the proper type
+PASS HTMLOutputElement interface: calling setCustomValidity(DOMString) on document.createElement("output") with too few arguments must throw TypeError
+PASS HTMLOutputElement interface: document.createElement("output") must inherit property "labels" with the proper type
+PASS HTMLProgressElement interface: existence and properties of interface object
+PASS HTMLProgressElement interface object length
+PASS HTMLProgressElement interface object name
+PASS HTMLProgressElement interface: existence and properties of interface prototype object
+PASS HTMLProgressElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLProgressElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLProgressElement interface: attribute value
+PASS HTMLProgressElement interface: attribute max
+PASS HTMLProgressElement interface: attribute position
+PASS HTMLProgressElement interface: attribute labels
+PASS HTMLProgressElement must be primary interface of document.createElement("progress")
+PASS Stringification of document.createElement("progress")
+PASS HTMLProgressElement interface: document.createElement("progress") must inherit property "value" with the proper type
+PASS HTMLProgressElement interface: document.createElement("progress") must inherit property "max" with the proper type
+PASS HTMLProgressElement interface: document.createElement("progress") must inherit property "position" with the proper type
+PASS HTMLProgressElement interface: document.createElement("progress") must inherit property "labels" with the proper type
+PASS HTMLMeterElement interface: existence and properties of interface object
+PASS HTMLMeterElement interface object length
+PASS HTMLMeterElement interface object name
+PASS HTMLMeterElement interface: existence and properties of interface prototype object
+PASS HTMLMeterElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLMeterElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLMeterElement interface: attribute value
+PASS HTMLMeterElement interface: attribute min
+PASS HTMLMeterElement interface: attribute max
+PASS HTMLMeterElement interface: attribute low
+PASS HTMLMeterElement interface: attribute high
+PASS HTMLMeterElement interface: attribute optimum
+PASS HTMLMeterElement interface: attribute labels
+PASS HTMLMeterElement must be primary interface of document.createElement("meter")
+PASS Stringification of document.createElement("meter")
+PASS HTMLMeterElement interface: document.createElement("meter") must inherit property "value" with the proper type
+PASS HTMLMeterElement interface: document.createElement("meter") must inherit property "min" with the proper type
+PASS HTMLMeterElement interface: document.createElement("meter") must inherit property "max" with the proper type
+PASS HTMLMeterElement interface: document.createElement("meter") must inherit property "low" with the proper type
+PASS HTMLMeterElement interface: document.createElement("meter") must inherit property "high" with the proper type
+PASS HTMLMeterElement interface: document.createElement("meter") must inherit property "optimum" with the proper type
+PASS HTMLMeterElement interface: document.createElement("meter") must inherit property "labels" with the proper type
+PASS HTMLFieldSetElement interface: existence and properties of interface object
+PASS HTMLFieldSetElement interface object length
+PASS HTMLFieldSetElement interface object name
+PASS HTMLFieldSetElement interface: existence and properties of interface prototype object
+PASS HTMLFieldSetElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLFieldSetElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLFieldSetElement interface: attribute disabled
+PASS HTMLFieldSetElement interface: attribute form
+PASS HTMLFieldSetElement interface: attribute name
+PASS HTMLFieldSetElement interface: attribute type
+PASS HTMLFieldSetElement interface: attribute elements
+PASS HTMLFieldSetElement interface: attribute willValidate
+PASS HTMLFieldSetElement interface: attribute validity
+PASS HTMLFieldSetElement interface: attribute validationMessage
+PASS HTMLFieldSetElement interface: operation checkValidity()
+PASS HTMLFieldSetElement interface: operation reportValidity()
+PASS HTMLFieldSetElement interface: operation setCustomValidity(DOMString)
+PASS HTMLLegendElement interface: existence and properties of interface object
+PASS HTMLLegendElement interface object length
+PASS HTMLLegendElement interface object name
+PASS HTMLLegendElement interface: existence and properties of interface prototype object
+PASS HTMLLegendElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLLegendElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLLegendElement interface: attribute form
+PASS HTMLLegendElement interface: attribute align
+PASS HTMLLegendElement must be primary interface of document.createElement("legend")
+PASS Stringification of document.createElement("legend")
+PASS HTMLLegendElement interface: document.createElement("legend") must inherit property "form" with the proper type
+PASS HTMLLegendElement interface: document.createElement("legend") must inherit property "align" with the proper type
+PASS HTMLDetailsElement interface: existence and properties of interface object
+PASS HTMLDetailsElement interface object length
+PASS HTMLDetailsElement interface object name
+PASS HTMLDetailsElement interface: existence and properties of interface prototype object
+PASS HTMLDetailsElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLDetailsElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLDetailsElement interface: attribute open
+PASS HTMLDetailsElement must be primary interface of document.createElement("details")
+PASS Stringification of document.createElement("details")
+PASS HTMLDetailsElement interface: document.createElement("details") must inherit property "open" with the proper type
+PASS HTMLDialogElement interface: existence and properties of interface object
+PASS HTMLDialogElement interface object length
+PASS HTMLDialogElement interface object name
+PASS HTMLDialogElement interface: existence and properties of interface prototype object
+PASS HTMLDialogElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLDialogElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLDialogElement interface: attribute open
+PASS HTMLDialogElement interface: attribute returnValue
+PASS HTMLDialogElement interface: operation show()
+PASS HTMLDialogElement interface: operation showModal()
+PASS HTMLDialogElement interface: operation close(DOMString)
+PASS HTMLScriptElement interface: existence and properties of interface object
+PASS HTMLScriptElement interface object length
+PASS HTMLScriptElement interface object name
+PASS HTMLScriptElement interface: existence and properties of interface prototype object
+PASS HTMLScriptElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLScriptElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLScriptElement interface: attribute src
+PASS HTMLScriptElement interface: attribute type
+PASS HTMLScriptElement interface: attribute noModule
+PASS HTMLScriptElement interface: attribute async
+PASS HTMLScriptElement interface: attribute defer
+PASS HTMLScriptElement interface: attribute crossOrigin
+PASS HTMLScriptElement interface: attribute text
+PASS HTMLScriptElement interface: attribute integrity
+PASS HTMLScriptElement interface: attribute charset
+PASS HTMLScriptElement interface: attribute event
+PASS HTMLScriptElement interface: attribute htmlFor
+PASS HTMLScriptElement must be primary interface of document.createElement("script")
+PASS Stringification of document.createElement("script")
+PASS HTMLScriptElement interface: document.createElement("script") must inherit property "src" with the proper type
+PASS HTMLScriptElement interface: document.createElement("script") must inherit property "type" with the proper type
+PASS HTMLScriptElement interface: document.createElement("script") must inherit property "noModule" with the proper type
+PASS HTMLScriptElement interface: document.createElement("script") must inherit property "async" with the proper type
+PASS HTMLScriptElement interface: document.createElement("script") must inherit property "defer" with the proper type
+PASS HTMLScriptElement interface: document.createElement("script") must inherit property "crossOrigin" with the proper type
+PASS HTMLScriptElement interface: document.createElement("script") must inherit property "text" with the proper type
+PASS HTMLScriptElement interface: document.createElement("script") must inherit property "integrity" with the proper type
+PASS HTMLScriptElement interface: document.createElement("script") must inherit property "charset" with the proper type
+PASS HTMLScriptElement interface: document.createElement("script") must inherit property "event" with the proper type
+PASS HTMLScriptElement interface: document.createElement("script") must inherit property "htmlFor" with the proper type
+PASS HTMLTemplateElement interface: existence and properties of interface object
+PASS HTMLTemplateElement interface object length
+PASS HTMLTemplateElement interface object name
+PASS HTMLTemplateElement interface: existence and properties of interface prototype object
+PASS HTMLTemplateElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLTemplateElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLTemplateElement interface: attribute content
+PASS HTMLTemplateElement must be primary interface of document.createElement("template")
+PASS Stringification of document.createElement("template")
+PASS HTMLTemplateElement interface: document.createElement("template") must inherit property "content" with the proper type
+PASS HTMLSlotElement interface: existence and properties of interface object
+PASS HTMLSlotElement interface object length
+PASS HTMLSlotElement interface object name
+PASS HTMLSlotElement interface: existence and properties of interface prototype object
+PASS HTMLSlotElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLSlotElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLSlotElement interface: attribute name
+PASS HTMLSlotElement interface: operation assignedNodes(AssignedNodesOptions)
+PASS HTMLSlotElement interface: operation assignedElements(AssignedNodesOptions)
+PASS HTMLSlotElement must be primary interface of document.createElement("slot")
+PASS Stringification of document.createElement("slot")
+PASS HTMLSlotElement interface: document.createElement("slot") must inherit property "name" with the proper type
+PASS HTMLSlotElement interface: document.createElement("slot") must inherit property "assignedNodes(AssignedNodesOptions)" with the proper type
+PASS HTMLSlotElement interface: calling assignedNodes(AssignedNodesOptions) on document.createElement("slot") with too few arguments must throw TypeError
+PASS HTMLSlotElement interface: document.createElement("slot") must inherit property "assignedElements(AssignedNodesOptions)" with the proper type
+PASS HTMLSlotElement interface: calling assignedElements(AssignedNodesOptions) on document.createElement("slot") with too few arguments must throw TypeError
+PASS HTMLCanvasElement interface: existence and properties of interface object
+PASS HTMLCanvasElement interface object length
+PASS HTMLCanvasElement interface object name
+PASS HTMLCanvasElement interface: existence and properties of interface prototype object
+PASS HTMLCanvasElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLCanvasElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLCanvasElement interface: attribute width
+PASS HTMLCanvasElement interface: attribute height
+PASS HTMLCanvasElement interface: operation getContext(DOMString, any)
+PASS HTMLCanvasElement interface: operation toDataURL(DOMString, any)
+PASS HTMLCanvasElement interface: operation toBlob(BlobCallback, DOMString, any)
+PASS HTMLCanvasElement interface: operation transferControlToOffscreen()
+PASS HTMLCanvasElement must be primary interface of document.createElement("canvas")
+PASS Stringification of document.createElement("canvas")
+PASS HTMLCanvasElement interface: document.createElement("canvas") must inherit property "width" with the proper type
+PASS HTMLCanvasElement interface: document.createElement("canvas") must inherit property "height" with the proper type
+PASS HTMLCanvasElement interface: document.createElement("canvas") must inherit property "getContext(DOMString, any)" with the proper type
+PASS HTMLCanvasElement interface: calling getContext(DOMString, any) on document.createElement("canvas") with too few arguments must throw TypeError
+PASS HTMLCanvasElement interface: document.createElement("canvas") must inherit property "toDataURL(DOMString, any)" with the proper type
+PASS HTMLCanvasElement interface: calling toDataURL(DOMString, any) on document.createElement("canvas") with too few arguments must throw TypeError
+PASS HTMLCanvasElement interface: document.createElement("canvas") must inherit property "toBlob(BlobCallback, DOMString, any)" with the proper type
+PASS HTMLCanvasElement interface: calling toBlob(BlobCallback, DOMString, any) on document.createElement("canvas") with too few arguments must throw TypeError
+PASS HTMLCanvasElement interface: document.createElement("canvas") must inherit property "transferControlToOffscreen()" with the proper type
+PASS HTMLMarqueeElement interface: existence and properties of interface object
+PASS HTMLMarqueeElement interface object length
+PASS HTMLMarqueeElement interface object name
+PASS HTMLMarqueeElement interface: existence and properties of interface prototype object
+PASS HTMLMarqueeElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLMarqueeElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLMarqueeElement interface: attribute behavior
+PASS HTMLMarqueeElement interface: attribute bgColor
+PASS HTMLMarqueeElement interface: attribute direction
+PASS HTMLMarqueeElement interface: attribute height
+PASS HTMLMarqueeElement interface: attribute hspace
+PASS HTMLMarqueeElement interface: attribute loop
+PASS HTMLMarqueeElement interface: attribute scrollAmount
+PASS HTMLMarqueeElement interface: attribute scrollDelay
+PASS HTMLMarqueeElement interface: attribute trueSpeed
+PASS HTMLMarqueeElement interface: attribute vspace
+PASS HTMLMarqueeElement interface: attribute width
+FAIL HTMLMarqueeElement interface: attribute onbounce assert_true: The prototype object must have a property "onbounce" expected true got false
+FAIL HTMLMarqueeElement interface: attribute onfinish assert_true: The prototype object must have a property "onfinish" expected true got false
+FAIL HTMLMarqueeElement interface: attribute onstart assert_true: The prototype object must have a property "onstart" expected true got false
+PASS HTMLMarqueeElement interface: operation start()
+PASS HTMLMarqueeElement interface: operation stop()
+PASS HTMLMarqueeElement must be primary interface of document.createElement("marquee")
+PASS Stringification of document.createElement("marquee")
+PASS HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "behavior" with the proper type
+PASS HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "bgColor" with the proper type
+PASS HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "direction" with the proper type
+PASS HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "height" with the proper type
+PASS HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "hspace" with the proper type
+PASS HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "loop" with the proper type
+PASS HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "scrollAmount" with the proper type
+PASS HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "scrollDelay" with the proper type
+PASS HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "trueSpeed" with the proper type
+PASS HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "vspace" with the proper type
+PASS HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "width" with the proper type
+FAIL HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "onbounce" with the proper type assert_inherits: property "onbounce" not found in prototype chain
+FAIL HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "onfinish" with the proper type assert_inherits: property "onfinish" not found in prototype chain
+FAIL HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "onstart" with the proper type assert_inherits: property "onstart" not found in prototype chain
+PASS HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "start()" with the proper type
+PASS HTMLMarqueeElement interface: document.createElement("marquee") must inherit property "stop()" with the proper type
+PASS HTMLFrameSetElement interface: existence and properties of interface object
+PASS HTMLFrameSetElement interface object length
+PASS HTMLFrameSetElement interface object name
+PASS HTMLFrameSetElement interface: existence and properties of interface prototype object
+PASS HTMLFrameSetElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLFrameSetElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLFrameSetElement interface: attribute cols
+PASS HTMLFrameSetElement interface: attribute rows
+PASS HTMLFrameSetElement interface: attribute onafterprint
+PASS HTMLFrameSetElement interface: attribute onbeforeprint
+PASS HTMLFrameSetElement interface: attribute onbeforeunload
+PASS HTMLFrameSetElement interface: attribute onhashchange
+PASS HTMLFrameSetElement interface: attribute onlanguagechange
+PASS HTMLFrameSetElement interface: attribute onmessage
+PASS HTMLFrameSetElement interface: attribute onmessageerror
+PASS HTMLFrameSetElement interface: attribute onoffline
+PASS HTMLFrameSetElement interface: attribute ononline
+PASS HTMLFrameSetElement interface: attribute onpagehide
+PASS HTMLFrameSetElement interface: attribute onpageshow
+PASS HTMLFrameSetElement interface: attribute onpopstate
+PASS HTMLFrameSetElement interface: attribute onrejectionhandled
+PASS HTMLFrameSetElement interface: attribute onstorage
+PASS HTMLFrameSetElement interface: attribute onunhandledrejection
+PASS HTMLFrameSetElement interface: attribute onunload
+PASS HTMLFrameSetElement must be primary interface of document.createElement("frameset")
+PASS Stringification of document.createElement("frameset")
+PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "cols" with the proper type
+PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "rows" with the proper type
+PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onafterprint" with the proper type
+PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onbeforeprint" with the proper type
+PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onbeforeunload" with the proper type
+PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onhashchange" with the proper type
+PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onlanguagechange" with the proper type
+PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onmessage" with the proper type
+PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onmessageerror" with the proper type
+PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onoffline" with the proper type
+PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "ononline" with the proper type
+PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onpagehide" with the proper type
+PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onpageshow" with the proper type
+PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onpopstate" with the proper type
+PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onrejectionhandled" with the proper type
+PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onstorage" with the proper type
+PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onunhandledrejection" with the proper type
+PASS HTMLFrameSetElement interface: document.createElement("frameset") must inherit property "onunload" with the proper type
+PASS HTMLFrameElement interface: existence and properties of interface object
+PASS HTMLFrameElement interface object length
+PASS HTMLFrameElement interface object name
+PASS HTMLFrameElement interface: existence and properties of interface prototype object
+PASS HTMLFrameElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLFrameElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLFrameElement interface: attribute name
+PASS HTMLFrameElement interface: attribute scrolling
+PASS HTMLFrameElement interface: attribute src
+PASS HTMLFrameElement interface: attribute frameBorder
+PASS HTMLFrameElement interface: attribute longDesc
+PASS HTMLFrameElement interface: attribute noResize
+PASS HTMLFrameElement interface: attribute contentDocument
+PASS HTMLFrameElement interface: attribute contentWindow
+PASS HTMLFrameElement interface: attribute marginHeight
+PASS HTMLFrameElement interface: attribute marginWidth
+PASS HTMLFrameElement must be primary interface of document.createElement("frame")
+PASS Stringification of document.createElement("frame")
+PASS HTMLFrameElement interface: document.createElement("frame") must inherit property "name" with the proper type
+PASS HTMLFrameElement interface: document.createElement("frame") must inherit property "scrolling" with the proper type
+PASS HTMLFrameElement interface: document.createElement("frame") must inherit property "src" with the proper type
+PASS HTMLFrameElement interface: document.createElement("frame") must inherit property "frameBorder" with the proper type
+PASS HTMLFrameElement interface: document.createElement("frame") must inherit property "longDesc" with the proper type
+PASS HTMLFrameElement interface: document.createElement("frame") must inherit property "noResize" with the proper type
+PASS HTMLFrameElement interface: document.createElement("frame") must inherit property "contentDocument" with the proper type
+PASS HTMLFrameElement interface: document.createElement("frame") must inherit property "contentWindow" with the proper type
+PASS HTMLFrameElement interface: document.createElement("frame") must inherit property "marginHeight" with the proper type
+PASS HTMLFrameElement interface: document.createElement("frame") must inherit property "marginWidth" with the proper type
+PASS HTMLDirectoryElement interface: existence and properties of interface object
+PASS HTMLDirectoryElement interface object length
+PASS HTMLDirectoryElement interface object name
+PASS HTMLDirectoryElement interface: existence and properties of interface prototype object
+PASS HTMLDirectoryElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLDirectoryElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLDirectoryElement interface: attribute compact
+PASS HTMLDirectoryElement must be primary interface of document.createElement("dir")
+PASS Stringification of document.createElement("dir")
+PASS HTMLDirectoryElement interface: document.createElement("dir") must inherit property "compact" with the proper type
+PASS HTMLFontElement interface: existence and properties of interface object
+PASS HTMLFontElement interface object length
+PASS HTMLFontElement interface object name
+PASS HTMLFontElement interface: existence and properties of interface prototype object
+PASS HTMLFontElement interface: existence and properties of interface prototype object's "constructor" property
+PASS HTMLFontElement interface: existence and properties of interface prototype object's @@unscopables property
+PASS HTMLFontElement interface: attribute color
+PASS HTMLFontElement interface: attribute face
+PASS HTMLFontElement interface: attribute size
+PASS HTMLFontElement must be primary interface of document.createElement("font")
+PASS Stringification of document.createElement("font")
+PASS HTMLFontElement interface: document.createElement("font") must inherit property "color" with the proper type
+PASS HTMLFontElement interface: document.createElement("font") must inherit property "face" with the proper type
+PASS HTMLFontElement interface: document.createElement("font") must inherit property "size" with the proper type
 Harness: the test ran to completion.
 
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/embedded-content/media-elements/track/track-element/track-change-event.html b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/embedded-content/media-elements/track/track-element/track-change-event.html
index 679412647..a9cd73435 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/embedded-content/media-elements/track/track-element/track-change-event.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/embedded-content/media-elements/track/track-element/track-change-event.html
@@ -15,7 +15,7 @@
     video.textTracks.onchange = t.step_func_done(function() {
         assert_equals(event.target, video.textTracks);
         assert_true(event instanceof Event, 'instanceof');
-        assert_not_exists(event, 'track');
+        assert_false(event.hasOwnProperty('track'), 'unexpected property found: "track"');
     });
 });
 </script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/embedded-content/the-img-element/img.complete-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/embedded-content/the-img-element/img.complete-expected.txt
index f4000ad..aba6aff 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/embedded-content/the-img-element/img.complete-expected.txt
+++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/embedded-content/the-img-element/img.complete-expected.txt
@@ -1,7 +1,8 @@
 This is a testharness.js-based test.
-PASS img src omitted
-PASS img src empty
+PASS img src and srcset omitted
+PASS img src and srcset empty
 PASS async src complete test
+PASS async srcset complete test
 FAIL IDL attribute complete returns true when image resource has been fetched but not run yet & image is not in broken state assert_unreached: .complete didn't change to true Reached unreachable code
 PASS async src broken test
 Harness: the test ran to completion.
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/embedded-content/the-img-element/img.complete.html b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/embedded-content/the-img-element/img.complete.html
index 4be8d4d..42113cd 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/embedded-content/the-img-element/img.complete.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/embedded-content/the-img-element/img.complete.html
@@ -11,6 +11,7 @@
 <img src="" id="imgTestTag2">
 <img id="imgTestTag3" style="width: 80px; height:auto;">
 <img id="imgTestTag4">
+<img id="imgTestTag5">
 
 <script>
   var imageInstance = document.createElement('img');
@@ -23,11 +24,11 @@
 <script>
   test(function() {
     assert_true(document.getElementById("imgTestTag").complete);
-  }, "img src omitted");
+  }, "img src and srcset omitted");
 
   test(function() {
     assert_true(document.getElementById("imgTestTag2").complete);
-  }, "img src empty");
+  }, "img src and srcset empty");
 
   // test if set to true after img is completely available
   var t = async_test("async src complete test");
@@ -50,6 +51,22 @@
     document.getElementById("imgTestTag3").src = '3.jpg?nocache=' + Math.random();
   });
 
+  var t1 = async_test("async srcset complete test");
+  t1.step(function(){
+    var loaded = false;
+    document.getElementById("imgTestTag5").onload = t1.step_func_done(function(){
+      assert_false(loaded);
+      loaded = true;
+      assert_true(document.getElementById("imgTestTag5").complete);
+    }, "Only one onload, despite setting the srcset twice");
+    //Test if src, srcset is omitted
+    assert_true(document.getElementById("imgTestTag5").complete)
+    document.getElementById("imgTestTag5").srcset = "/images/green-256x256.png 1x";
+    //test if img.complete is set to false if srcset is present
+    assert_false(document.getElementById("imgTestTag5").complete, "srcset present, should be set to false");
+    //change src again, should make only one request as per 'await stable state'
+    document.getElementById("imgTestTag5").srcset="/images/green-256x256.png 1.6x"
+  });
 
   // https://html.spec.whatwg.org/multipage/multipage/embedded-content-1.html#update-the-image-data
   // says to "await a stable state" before fetching so we use a separate <script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/interfaces/CSP.idl b/third_party/WebKit/LayoutTests/external/wpt/interfaces/CSP.idl
index 64cba00..46fae54 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/interfaces/CSP.idl
+++ b/third_party/WebKit/LayoutTests/external/wpt/interfaces/CSP.idl
@@ -7,7 +7,8 @@
   "enforce", "report"
 };
 
-[Constructor(DOMString type, optional SecurityPolicyViolationEventInit eventInitDict)]
+[Constructor(DOMString type, optional SecurityPolicyViolationEventInit eventInitDict),
+ Exposed=(Window,Worker)]
 interface SecurityPolicyViolationEvent : Event {
     readonly    attribute USVString      documentURI;
     readonly    attribute USVString      referrer;
diff --git a/third_party/WebKit/LayoutTests/external/wpt/interfaces/SVG.idl b/third_party/WebKit/LayoutTests/external/wpt/interfaces/SVG.idl
index 01d87b86..4c1c4855 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/interfaces/SVG.idl
+++ b/third_party/WebKit/LayoutTests/external/wpt/interfaces/SVG.idl
@@ -126,6 +126,22 @@
 };
 
 [Exposed=Window]
+interface SVGStringList {
+
+  readonly attribute unsigned long length;
+  readonly attribute unsigned long numberOfItems;
+
+  void clear();
+  DOMString initialize(DOMString newItem);
+  getter DOMString getItem(unsigned long index);
+  DOMString insertItemBefore(DOMString newItem, unsigned long index);
+  DOMString replaceItem(DOMString newItem, unsigned long index);
+  DOMString removeItem(unsigned long index);
+  DOMString appendItem(DOMString newItem);
+  setter void (unsigned long index, DOMString newItem);
+};
+
+[Exposed=Window]
 interface SVGAnimatedBoolean {
            attribute boolean baseVal;
   readonly attribute boolean animVal;
@@ -186,22 +202,6 @@
 };
 
 [Exposed=Window]
-interface SVGStringList {
-
-  readonly attribute unsigned long length;
-  readonly attribute unsigned long numberOfItems;
-
-  void clear();
-  DOMString initialize(DOMString newItem);
-  getter DOMString getItem(unsigned long index);
-  DOMString insertItemBefore(DOMString newItem, unsigned long index);
-  DOMString replaceItem(DOMString newItem, unsigned long index);
-  DOMString removeItem(unsigned long index);
-  DOMString appendItem(DOMString newItem);
-  setter void (unsigned long index, DOMString newItem);
-};
-
-[Exposed=Window]
 interface SVGUnitTypes {
   // Unit Types
   const unsigned short SVG_UNIT_TYPE_UNKNOWN = 0;
diff --git a/third_party/WebKit/LayoutTests/external/wpt/interfaces/payment-handler.idl b/third_party/WebKit/LayoutTests/external/wpt/interfaces/payment-handler.idl
index 5648ae33..b5d79de 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/interfaces/payment-handler.idl
+++ b/third_party/WebKit/LayoutTests/external/wpt/interfaces/payment-handler.idl
@@ -10,7 +10,6 @@
 [SecureContext, Exposed=(Window,Worker)]
 interface PaymentManager {
   [SameObject] readonly attribute PaymentInstruments instruments;
-  [Exposed=Window] static Promise<PermissionState> requestPermission();
   attribute DOMString userHint;
 };
 
diff --git a/third_party/WebKit/LayoutTests/external/wpt/interfaces/payment-method-basic-card.idl b/third_party/WebKit/LayoutTests/external/wpt/interfaces/payment-method-basic-card.idl
index 00d6ad1..2019aa11 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/interfaces/payment-method-basic-card.idl
+++ b/third_party/WebKit/LayoutTests/external/wpt/interfaces/payment-method-basic-card.idl
@@ -4,17 +4,30 @@
 // Source: Payment Method: Basic Card (https://w3c.github.io/payment-method-basic-card/)
 
 dictionary BasicCardRequest {
-        sequence<DOMString> supportedNetworks;
-        sequence<BasicCardType> supportedTypes;
-      };
+  sequence<DOMString> supportedNetworks;
+  sequence<BasicCardType> supportedTypes;
+};
+
+dictionary BasicCardChangeDetails {
+  PaymentAddress? billingAddress;
+};
 
 enum BasicCardType { "credit", "debit", "prepaid" };
 
 dictionary BasicCardResponse {
-          required DOMString cardNumber;
-          DOMString cardholderName;
-          DOMString cardSecurityCode;
-          DOMString expiryMonth;
-          DOMString expiryYear;
-          PaymentAddress? billingAddress;
-        };
+  required DOMString cardNumber;
+  DOMString cardholderName;
+  DOMString cardSecurityCode;
+  DOMString expiryMonth;
+  DOMString expiryYear;
+  PaymentAddress? billingAddress;
+};
+
+dictionary BasicCardErrors {
+  DOMString cardNumber;
+  DOMString cardholderName;
+  DOMString cardSecurityCode;
+  DOMString expiryMonth;
+  DOMString expiryYear;
+  AddressErrors billingAddress;
+};
diff --git a/third_party/WebKit/LayoutTests/external/wpt/interfaces/payment-request.idl b/third_party/WebKit/LayoutTests/external/wpt/interfaces/payment-request.idl
index e3afbd47..d930b57 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/interfaces/payment-request.idl
+++ b/third_party/WebKit/LayoutTests/external/wpt/interfaces/payment-request.idl
@@ -49,6 +49,8 @@
   DOMString error;
   PaymentItem total;
   AddressErrors shippingAddressErrors;
+  PayerErrorFields payerErrors;
+  object paymentMethodErrors;
 };
 
 dictionary PaymentDetailsModifier {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/interfaces/picture-in-picture.idl b/third_party/WebKit/LayoutTests/external/wpt/interfaces/picture-in-picture.idl
index dd379c8..c7bc249d 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/interfaces/picture-in-picture.idl
+++ b/third_party/WebKit/LayoutTests/external/wpt/interfaces/picture-in-picture.idl
@@ -28,3 +28,15 @@
 
   attribute EventHandler onresize;
 };
+
+[
+    Constructor(DOMString type, EnterPictureInPictureEventInit eventInitDict),
+    Exposed=Window
+]
+interface EnterPictureInPictureEvent : Event {
+    [SameObject] readonly attribute PictureInPictureWindow pictureInPictureWindow;
+};
+
+dictionary EnterPictureInPictureEventInit : EventInit {
+    required PictureInPictureWindow pictureInPictureWindow;
+};
diff --git a/third_party/WebKit/LayoutTests/external/wpt/interfaces/webaudio.idl b/third_party/WebKit/LayoutTests/external/wpt/interfaces/webaudio.idl
index 14bb62b8..4f1914db 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/interfaces/webaudio.idl
+++ b/third_party/WebKit/LayoutTests/external/wpt/interfaces/webaudio.idl
@@ -48,7 +48,6 @@
   Promise<AudioBuffer> decodeAudioData (ArrayBuffer audioData,
                                         optional DecodeSuccessCallback? successCallback,
                                         optional DecodeErrorCallback? errorCallback);
-  Promise<void> resume ();
 };
 
 enum AudioContextLatencyCategory {
@@ -63,6 +62,7 @@
     readonly attribute double baseLatency;
     readonly attribute double outputLatency;
     AudioTimestamp getOutputTimestamp ();
+    Promise<void> resume ();
     Promise<void> suspend ();
     Promise<void> close ();
     MediaElementAudioSourceNode createMediaElementSource (HTMLMediaElement mediaElement);
@@ -86,6 +86,7 @@
  Constructor (unsigned long numberOfChannels, unsigned long length, float sampleRate)]
 interface OfflineAudioContext : BaseAudioContext {
   Promise<AudioBuffer> startRendering();
+  Promise<void> resume();
   Promise<void> suspend(double suspendTime);
   readonly attribute unsigned long length;
   attribute EventHandler oncomplete;
diff --git a/third_party/WebKit/LayoutTests/external/wpt/interfaces/webrtc-stats.idl b/third_party/WebKit/LayoutTests/external/wpt/interfaces/webrtc-stats.idl
index 4df720a..b2bf38e9 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/interfaces/webrtc-stats.idl
+++ b/third_party/WebKit/LayoutTests/external/wpt/interfaces/webrtc-stats.idl
@@ -230,8 +230,10 @@
              DOMString selectedCandidatePairId;
              DOMString localCertificateId;
              DOMString remoteCertificateId;
+             DOMString tlsVersion;
              DOMString dtlsCipher;
              DOMString srtpCipher;
+             DOMString tlsGroup;
 };
 
 dictionary RTCIceCandidateStats : RTCStats {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/mediacapture-streams/MediaStream-MediaElement-srcObject.https-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/mediacapture-streams/MediaStream-MediaElement-srcObject.https-expected.txt
deleted file mode 100644
index 2a5c612e..0000000
--- a/third_party/WebKit/LayoutTests/external/wpt/mediacapture-streams/MediaStream-MediaElement-srcObject.https-expected.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-This is a testharness.js-based test.
-FAIL Tests that a MediaStream can be assigned to a video element with srcObject assert_equals:  A MediaStream does not have a pre-defined duration.  expected Infinity but got NaN
-Harness: the test ran to completion.
-
diff --git a/third_party/WebKit/LayoutTests/external/wpt/mediacapture-streams/MediaStream-MediaElement-srcObject.https.html b/third_party/WebKit/LayoutTests/external/wpt/mediacapture-streams/MediaStream-MediaElement-srcObject.https.html
index 63442be..2ed96ec 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/mediacapture-streams/MediaStream-MediaElement-srcObject.https.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/mediacapture-streams/MediaStream-MediaElement-srcObject.https.html
@@ -26,13 +26,12 @@
       var testOncePlaying = function() {
          assert_equals(vid.played.length, 1, "A MediaStream's timeline always consists of a single range");
          assert_equals(vid.played.start(0), 0, "A MediaStream's timeline always consists of a single range");
-         assert_equals(vid.played.end(0), vid.currentTime, "A MediaStream's timeline always consists of a single range");
+         assert_approx_equals(vid.played.end(0), vid.currentTime, 0.0001, "A MediaStream's timeline always consists of a single range");
          assert_equals(vid.readyState, vid.HAVE_ENOUGH_DATA, "Upon selecting a media stream, the UA sets readyState to HAVE_ENOUGH_DATA");
+         assert_equals(vid.duration, Infinity, " A MediaStream does not have a pre-defined duration. ");
          var time = vid.currentTime;
-         assert_throws("INVALID_STATE_ERR", function() {
-            vid.currentTime = 0;
-         });
-         assert_equals(vid.currentTime, time, "The UA MUST ignore attempts to set the currentTime attribute");
+
+         assert_approx_equals(vid.currentTime, time, 0.0001, "The UA MUST ignore attempts to set the currentTime attribute");
          // TODO add test that duration must be set to currentTime
          // when mediastream is destroyed
          vid.removeEventListener("timeupdate", testOncePlaying, false);
@@ -46,8 +45,7 @@
       assert_equals(vid.defaultPlaybackRate, 1, "playback rate is always 1");
       assert_equals(vid.playbackRate, 1, "playback rate is always 1");
       assert_equals(vid.buffered.length, 0, "A MediaStream cannot be preloaded.  Therefore, there is no buffered timeranges");
-      assert_equals(vid.duration, Infinity, " A MediaStream does not have a pre-defined duration. ");
-      assert_equals(vid.startDate, NaN, " A MediaStream does not specify a timeline offset");
+      assert_equals(vid.duration, vid.readyState == vid.HAVE_NOTHING ? NaN : Infinity, " A MediaStream does not have a pre-defined duration. ");
     }), function(error) {});
 });
 </script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/mediacapture-streams/MediaStream-default-feature-policy.https.html b/third_party/WebKit/LayoutTests/external/wpt/mediacapture-streams/MediaStream-default-feature-policy.https.html
index 0b45ac6..21e3f5b 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/mediacapture-streams/MediaStream-default-feature-policy.https.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/mediacapture-streams/MediaStream-default-feature-policy.https.html
@@ -13,7 +13,7 @@
   // mic/camera has been explicitly allowed by feature policy.
   function promise_factory(allowed_features) {
     return new Promise((resolve, reject) => {
-      navigator.getUserMedia({video: true, audio: true}).then(
+      navigator.mediaDevices.getUserMedia({video: true, audio: true}).then(
           function(stream) {
             // If microphone is allowed, there should be at least one microphone
             // in the result. If camera is allowed, there should be at least one
diff --git a/third_party/WebKit/LayoutTests/external/wpt/payment-handler/basic-card.js b/third_party/WebKit/LayoutTests/external/wpt/payment-handler/basic-card.js
index 86fcea71..c78f24b 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/payment-handler/basic-card.js
+++ b/third_party/WebKit/LayoutTests/external/wpt/payment-handler/basic-card.js
@@ -99,7 +99,6 @@
         city: 'Reston',
         country: 'US',
         dependentLocality: '',
-        languageCode: '',
         organization: 'Google',
         phone: '+15555555555',
         postalCode: '20190',
diff --git a/third_party/WebKit/LayoutTests/external/wpt/payment-handler/idlharness.https.any-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/payment-handler/idlharness.https.any-expected.txt
deleted file mode 100644
index a74a0fe7..0000000
--- a/third_party/WebKit/LayoutTests/external/wpt/payment-handler/idlharness.https.any-expected.txt
+++ /dev/null
@@ -1,52 +0,0 @@
-This is a testharness.js-based test.
-PASS idl_test setup
-PASS Partial interface ServiceWorkerRegistration: original interface defined
-PASS Partial interface ServiceWorkerGlobalScope: original interface defined
-PASS Partial interface ServiceWorkerGlobalScope[2]: original interface defined
-PASS PaymentManager interface: existence and properties of interface object
-PASS PaymentManager interface object length
-PASS PaymentManager interface object name
-PASS PaymentManager interface: existence and properties of interface prototype object
-PASS PaymentManager interface: existence and properties of interface prototype object's "constructor" property
-PASS PaymentManager interface: existence and properties of interface prototype object's @@unscopables property
-PASS PaymentManager interface: attribute instruments
-FAIL PaymentManager interface: operation requestPermission() assert_own_property: interface object missing static operation expected property "requestPermission" missing
-PASS PaymentManager interface: attribute userHint
-PASS PaymentManager must be primary interface of paymentManager
-PASS Stringification of paymentManager
-PASS PaymentManager interface: paymentManager must inherit property "instruments" with the proper type
-PASS PaymentManager interface: paymentManager must inherit property "requestPermission()" with the proper type
-PASS PaymentManager interface: paymentManager must inherit property "userHint" with the proper type
-PASS PaymentInstruments interface: existence and properties of interface object
-PASS PaymentInstruments interface object length
-PASS PaymentInstruments interface object name
-PASS PaymentInstruments interface: existence and properties of interface prototype object
-PASS PaymentInstruments interface: existence and properties of interface prototype object's "constructor" property
-PASS PaymentInstruments interface: existence and properties of interface prototype object's @@unscopables property
-PASS PaymentInstruments interface: operation delete(DOMString)
-PASS PaymentInstruments interface: operation get(DOMString)
-PASS PaymentInstruments interface: operation keys()
-PASS PaymentInstruments interface: operation has(DOMString)
-PASS PaymentInstruments interface: operation set(DOMString, PaymentInstrument)
-PASS PaymentInstruments interface: operation clear()
-PASS PaymentInstruments must be primary interface of instruments
-PASS Stringification of instruments
-PASS PaymentInstruments interface: instruments must inherit property "delete(DOMString)" with the proper type
-PASS PaymentInstruments interface: calling delete(DOMString) on instruments with too few arguments must throw TypeError
-PASS PaymentInstruments interface: instruments must inherit property "get(DOMString)" with the proper type
-PASS PaymentInstruments interface: calling get(DOMString) on instruments with too few arguments must throw TypeError
-PASS PaymentInstruments interface: instruments must inherit property "keys()" with the proper type
-PASS PaymentInstruments interface: instruments must inherit property "has(DOMString)" with the proper type
-PASS PaymentInstruments interface: calling has(DOMString) on instruments with too few arguments must throw TypeError
-PASS PaymentInstruments interface: instruments must inherit property "set(DOMString, PaymentInstrument)" with the proper type
-PASS PaymentInstruments interface: calling set(DOMString, PaymentInstrument) on instruments with too few arguments must throw TypeError
-PASS PaymentInstruments interface: instruments must inherit property "clear()" with the proper type
-PASS CanMakePaymentEvent interface: existence and properties of interface object
-PASS PaymentRequestEvent interface: existence and properties of interface object
-PASS ServiceWorkerRegistration interface: attribute paymentManager
-PASS ServiceWorkerRegistration interface: registration must inherit property "paymentManager" with the proper type
-PASS ServiceWorkerGlobalScope interface: existence and properties of interface object
-PASS ExtendableEvent interface: existence and properties of interface object
-PASS WorkerGlobalScope interface: existence and properties of interface object
-Harness: the test ran to completion.
-
diff --git a/third_party/WebKit/LayoutTests/external/wpt/payment-handler/idlharness.https.any.serviceworker-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/payment-handler/idlharness.https.any.serviceworker-expected.txt
index 0c6751f..e7bb8bf1 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/payment-handler/idlharness.https.any.serviceworker-expected.txt
+++ b/third_party/WebKit/LayoutTests/external/wpt/payment-handler/idlharness.https.any.serviceworker-expected.txt
@@ -10,12 +10,10 @@
 FAIL PaymentManager interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "PaymentManager" expected property "PaymentManager" missing
 FAIL PaymentManager interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "PaymentManager" expected property "PaymentManager" missing
 FAIL PaymentManager interface: attribute instruments assert_own_property: self does not have own property "PaymentManager" expected property "PaymentManager" missing
-FAIL PaymentManager interface: member requestPermission Cannot use 'in' operator to search for 'requestPermission' in undefined
 FAIL PaymentManager interface: attribute userHint assert_own_property: self does not have own property "PaymentManager" expected property "PaymentManager" missing
 FAIL PaymentManager must be primary interface of paymentManager assert_own_property: self does not have own property "PaymentManager" expected property "PaymentManager" missing
 PASS Stringification of paymentManager
 PASS PaymentManager interface: paymentManager must inherit property "instruments" with the proper type
-PASS PaymentManager interface: paymentManager must not have property "requestPermission"
 PASS PaymentManager interface: paymentManager must inherit property "userHint" with the proper type
 PASS PaymentInstruments interface: existence and properties of interface object
 PASS PaymentInstruments interface object length
diff --git a/third_party/WebKit/LayoutTests/external/wpt/payment-handler/idlharness.https.any.sharedworker-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/payment-handler/idlharness.https.any.sharedworker-expected.txt
index 942bea03..9f716c5e 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/payment-handler/idlharness.https.any.sharedworker-expected.txt
+++ b/third_party/WebKit/LayoutTests/external/wpt/payment-handler/idlharness.https.any.sharedworker-expected.txt
@@ -10,7 +10,6 @@
 FAIL PaymentManager interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "PaymentManager" expected property "PaymentManager" missing
 FAIL PaymentManager interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "PaymentManager" expected property "PaymentManager" missing
 FAIL PaymentManager interface: attribute instruments assert_own_property: self does not have own property "PaymentManager" expected property "PaymentManager" missing
-FAIL PaymentManager interface: member requestPermission Cannot use 'in' operator to search for 'requestPermission' in undefined
 FAIL PaymentManager interface: attribute userHint assert_own_property: self does not have own property "PaymentManager" expected property "PaymentManager" missing
 PASS PaymentInstruments interface: existence and properties of interface object
 PASS PaymentInstruments interface object length
diff --git a/third_party/WebKit/LayoutTests/external/wpt/payment-handler/idlharness.https.any.worker-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/payment-handler/idlharness.https.any.worker-expected.txt
index 942bea03..9f716c5e 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/payment-handler/idlharness.https.any.worker-expected.txt
+++ b/third_party/WebKit/LayoutTests/external/wpt/payment-handler/idlharness.https.any.worker-expected.txt
@@ -10,7 +10,6 @@
 FAIL PaymentManager interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "PaymentManager" expected property "PaymentManager" missing
 FAIL PaymentManager interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "PaymentManager" expected property "PaymentManager" missing
 FAIL PaymentManager interface: attribute instruments assert_own_property: self does not have own property "PaymentManager" expected property "PaymentManager" missing
-FAIL PaymentManager interface: member requestPermission Cannot use 'in' operator to search for 'requestPermission' in undefined
 FAIL PaymentManager interface: attribute userHint assert_own_property: self does not have own property "PaymentManager" expected property "PaymentManager" missing
 PASS PaymentInstruments interface: existence and properties of interface object
 PASS PaymentInstruments interface object length
diff --git a/third_party/WebKit/LayoutTests/external/wpt/payment-handler/payment-request-event.https.html b/third_party/WebKit/LayoutTests/external/wpt/payment-handler/payment-request-event.https.html
index 4e9cc21a1..fb51c2ee 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/payment-handler/payment-request-event.https.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/payment-handler/payment-request-event.https.html
@@ -81,7 +81,6 @@
     assert_equals(response.details.billingAddress.city, 'Reston');
     assert_equals(response.details.billingAddress.country, 'US');
     assert_equals(response.details.billingAddress.dependentLocality, '');
-    assert_equals(response.details.billingAddress.languageCode, '');
     assert_equals(response.details.billingAddress.organization, 'Google');
     assert_equals(response.details.billingAddress.phone, '+15555555555');
     assert_equals(response.details.billingAddress.postalCode, '20190');
diff --git a/third_party/WebKit/LayoutTests/external/wpt/payment-method-basic-card/empty-data-manual.https.html b/third_party/WebKit/LayoutTests/external/wpt/payment-method-basic-card/empty-data-manual.https.html
index 898da6a2..4b51715 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/payment-method-basic-card/empty-data-manual.https.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/payment-method-basic-card/empty-data-manual.https.html
@@ -25,7 +25,6 @@
   dependentLocality: '',
   postalCode: '1001',
   sortingCode: '',
-  languageCode: 'fa',
   organization: 'w3c',
   recipient: 'web platform test',
   phone: '+93555555555',
diff --git a/third_party/WebKit/LayoutTests/external/wpt/payment-request/PaymentAddress/attributes-and-toJSON-method-manual.https.html b/third_party/WebKit/LayoutTests/external/wpt/payment-request/PaymentAddress/attributes-and-toJSON-method-manual.https.html
index 65d56e7..edde533 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/payment-request/PaymentAddress/attributes-and-toJSON-method-manual.https.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/payment-request/PaymentAddress/attributes-and-toJSON-method-manual.https.html
@@ -74,7 +74,6 @@
       dependentLocality: '',
       postalCode: '6095',
       sortingCode: '',
-      languageCode: 'en',
       organization: 'w3c',
       recipient: 'web platform test',
       phone: '+61733780000',
diff --git a/third_party/WebKit/LayoutTests/external/wpt/payment-request/PaymentValidationErrors/retry-shows-shippingAddress-member-manual.https.html b/third_party/WebKit/LayoutTests/external/wpt/payment-request/PaymentValidationErrors/retry-shows-shippingAddress-member-manual.https.html
index cdc8d353..356f30da 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/payment-request/PaymentValidationErrors/retry-shows-shippingAddress-member-manual.https.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/payment-request/PaymentValidationErrors/retry-shows-shippingAddress-member-manual.https.html
@@ -57,11 +57,6 @@
     </button>
   </li>
   <li>
-    <button onclick="retryShowsShippingAddressMember(this, { languageCode: 'LANGUAGECODE ERROR' });">
-      The payment sheet shows "LANGUAGECODE ERROR" for the shipping address' languageCode.
-    </button>
-  </li>
-  <li>
     <button onclick="retryShowsShippingAddressMember(this, { organization: 'ORGANIZATION ERROR' });">
       The payment sheet shows "ORGANIZATION ERROR" for the shipping address' organization.
     </button>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/payment-request/historical.https-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/payment-request/historical.https-expected.txt
new file mode 100644
index 0000000..4dbafb774
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/payment-request/historical.https-expected.txt
@@ -0,0 +1,11 @@
+This is a testharness.js-based test.
+PASS paymentRequestID in PaymentRequest
+PASS paymentRequestID in PaymentResponse
+PASS careOf in PaymentAddress
+PASS totalAmount in PaymentResponse
+PASS paymentRequestId in PaymentRequest
+PASS paymentRequestId in PaymentResponse
+FAIL languageCode in PaymentAddress assert_false: expected false got true
+PASS supportedMethods must not support sequence<DOMString>
+Harness: the test ran to completion.
+
diff --git a/third_party/WebKit/LayoutTests/external/wpt/payment-request/historical.https.html b/third_party/WebKit/LayoutTests/external/wpt/payment-request/historical.https.html
index b7880a2..cbd29d4 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/payment-request/historical.https.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/payment-request/historical.https.html
@@ -19,6 +19,8 @@
   ["paymentRequestId", "PaymentRequest"],
   ["paymentRequestId", "PaymentResponse"],
 
+  // https://github.com/w3c/payment-request/pull/765
+  ["languageCode", "PaymentAddress"],
 ].forEach(([member, interf]) => {
   test(() => {
     assert_false(member in window[interf].prototype);
diff --git a/third_party/WebKit/LayoutTests/external/wpt/payment-request/payment-response/onpayerdetailchange-attribute.manual.https.html b/third_party/WebKit/LayoutTests/external/wpt/payment-request/payment-response/onpayerdetailchange-attribute-manual.https.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/payment-request/payment-response/onpayerdetailchange-attribute.manual.https.html
rename to third_party/WebKit/LayoutTests/external/wpt/payment-request/payment-response/onpayerdetailchange-attribute-manual.https.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/picture-in-picture/idlharness.window-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/picture-in-picture/idlharness.window-expected.txt
index d911941b..6c3e97c1 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/picture-in-picture/idlharness.window-expected.txt
+++ b/third_party/WebKit/LayoutTests/external/wpt/picture-in-picture/idlharness.window-expected.txt
@@ -17,6 +17,13 @@
 FAIL PictureInPictureWindow interface: pipw must inherit property "width" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: pipw is not defined"
 FAIL PictureInPictureWindow interface: pipw must inherit property "height" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: pipw is not defined"
 FAIL PictureInPictureWindow interface: pipw must inherit property "onresize" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: pipw is not defined"
+PASS EnterPictureInPictureEvent interface: existence and properties of interface object
+PASS EnterPictureInPictureEvent interface object length
+PASS EnterPictureInPictureEvent interface object name
+PASS EnterPictureInPictureEvent interface: existence and properties of interface prototype object
+PASS EnterPictureInPictureEvent interface: existence and properties of interface prototype object's "constructor" property
+PASS EnterPictureInPictureEvent interface: existence and properties of interface prototype object's @@unscopables property
+PASS EnterPictureInPictureEvent interface: attribute pictureInPictureWindow
 PASS HTMLVideoElement interface: operation requestPictureInPicture()
 PASS HTMLVideoElement interface: attribute onenterpictureinpicture
 PASS HTMLVideoElement interface: attribute onleavepictureinpicture
diff --git a/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/README.md b/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/README.md
index 2edb24f..14da25c 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/README.md
+++ b/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/README.md
@@ -1,12 +1,14 @@
-These tests exercise differnt ways to load an image, generated via
-```/referrer-policy/generic/subresource/image.py?id=<UUID>``` and later
-verify the headers used to request that image.
+These tests exercise different ways to fetch a resource (image, font-face, svg
+references), generated via the sub-resource python script in
+```./generic/subresource/``` (for example, loading an image:
+```/referrer-policy/generic/subresource/image.py?id=<UUID>```) and later verify
+the headers used to fetch the resource.
 
 Since there is no way to wait for a resource referenced from CSS to be loaded,
 all tests use ```step_timeout()``` to delay the verification step until
-after the image (hopefully) was loaded.
+after the resource (hopefully) was loaded.
 
 Since there is also no way to retrieve headers (or other information) from
-images loaded via CSS, we store the headers with the given ```UUID``` as key
-on the server, and retrieve them later via an XHR to
+resources loaded via CSS, we store the headers with the given ```UUID``` as key
+on the server, and retrieve them later via an XHR, for example:
 ```/referrer-policy/generic/subresource/image.py?id=<UUID>&report-headers```.
diff --git a/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/child-css/external-import-stylesheet-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/child-css/external-import-stylesheet-expected.txt
new file mode 100644
index 0000000..fb68f4b
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/child-css/external-import-stylesheet-expected.txt
@@ -0,0 +1,4 @@
+This is a testharness.js-based test.
+FAIL Child css from external stylesheet. assert_equals: expected (undefined) undefined but got (string) "http://web-platform.test:8001/"
+Harness: the test ran to completion.
+
diff --git a/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/child-css/external-import-stylesheet.html b/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/child-css/external-import-stylesheet.html
new file mode 100644
index 0000000..a2d3e8ce
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/child-css/external-import-stylesheet.html
@@ -0,0 +1,48 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <title>CSS integration - Child css from external stylesheet</title>
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/utils.js"></script>
+    <!-- Common global functions for referrer-policy tests. -->
+    <script src="/referrer-policy/generic/common.js"></script>
+    <meta name="referrer" content="origin">
+  </head>
+  <body>
+    <p>Check that child css are loaded with the referrer and referrer policy
+    from the external stylesheet.</p>
+
+    <div class="styled"></div>
+
+    <script>
+      let css_test = async_test("Child css from external stylesheet.");
+      let id = token();
+      let url_prefix = location.protocol + "//www1." + location.hostname + ":" + location.port;
+      let css_url = url_prefix +
+        "/referrer-policy/generic/subresource/stylesheet.py?id=" + id +
+        "&import-rule" + "&referrer-policy=no-referrer";
+      let check_url = url_prefix + "/referrer-policy/generic/subresource/stylesheet.py" +
+                      "?id=" + id + "&report-headers";
+
+      let link = document.createElement("link");
+      link.href = css_url;
+      link.rel = "stylesheet";
+      link.onload = function() {
+        css_test.step_timeout(
+            queryXhr.bind(this, check_url,
+                          function(message) {
+                            css_test.step(function() {
+                              assert_own_property(message, "headers");
+                              assert_equals(message.referrer, undefined);
+                            });
+                            css_test.done();
+                          }),
+            1000);
+      };
+      document.head.appendChild(link);
+    </script>
+
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/child-css/internal-import-stylesheet.html b/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/child-css/internal-import-stylesheet.html
new file mode 100644
index 0000000..aebf503
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/child-css/internal-import-stylesheet.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <title>CSS integration - Child css from internal stylesheet</title>
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/utils.js"></script>
+    <!-- Common global functions for referrer-policy tests. -->
+    <script src="/referrer-policy/generic/common.js"></script>
+    <meta name="referrer" content="never">
+  </head>
+  <body>
+    <p>Check that child css are loaded with the referrer and referrer policy
+    from the internal stylesheet.</p>
+
+    <div class="styled"></div>
+
+    <script>
+      let css_test = async_test("Child css from internal stylesheet.");
+      let id = token();
+      let url_prefix = location.protocol + "//www1." + location.hostname + ":" + location.port;
+      let css_url = url_prefix + "/referrer-policy/generic/subresource/stylesheet.py?id=" + id + "&import-rule";
+      let check_url = url_prefix + "/referrer-policy/generic/subresource/stylesheet.py" +
+                      "?id=" + id + "&report-headers";
+
+      let style = document.createElement("style");
+      style.type = 'text/css';
+      style.appendChild(document.createTextNode("@import url('" + css_url + "');"));
+      document.head.appendChild(style);
+      css_test.step_timeout(
+        queryXhr.bind(this, check_url,
+                      function(message) {
+                        css_test.step(function() {
+                          assert_own_property(message, "headers");
+                          assert_own_property(message, "referrer");
+                          assert_equals(message.referrer, css_url);
+                        });
+                        css_test.done();
+                      }),
+        1000);
+    </script>
+
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/child-css/processing-instruction.html b/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/child-css/processing-instruction.html
new file mode 100644
index 0000000..b6333e2
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/child-css/processing-instruction.html
@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <title>CSS integration - child css via a ProcessingInstruction</title>
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/utils.js"></script>
+    <!-- Common global functions for referrer-policy tests. -->
+    <script src="/referrer-policy/generic/common.js"></script>
+    <meta name="referrer" content="origin">
+  </head>
+  <body>
+    <p>Check that child css are loaded with the referrer and referrer policy the
+    external stylesheet(referenced from a ProcessingInstruction).</p>
+    <div class="styled"></div>
+
+    <script>
+      let css_test = async_test("Child css via a ProcessingInstruction.");
+      let id = token();
+      let url_prefix = location.protocol + "//www1." + location.hostname + ":" +
+                       location.port +
+                       "/referrer-policy/generic/subresource/stylesheet.py?id=" +
+                       id;
+      let css_url = url_prefix + "&amp;import-rule";
+      let expected = url_prefix + "&import-rule";
+      let check_url = url_prefix + "&report-headers";
+
+      let processingInstruction =
+        document.createProcessingInstruction(
+          "xml-stylesheet", "href=\"" +css_url + "\" type=\"text/css\"");
+      css_test.step_timeout(
+          queryXhr.bind(this, check_url,
+                        function(message) {
+                          css_test.step(function() {
+                            assert_own_property(message, "headers");
+                            assert_own_property(message, "referrer");
+                            assert_equals(message.referrer, expected);
+                          });
+                          css_test.done();
+                        }),
+          1000);
+      document.insertBefore(processingInstruction, document.firstChild);
+    </script>
+
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/css-test-helper.js b/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/css-test-helper.js
new file mode 100644
index 0000000..f5886db
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/css-test-helper.js
@@ -0,0 +1,66 @@
+var svg_ns = "http://www.w3.org/2000/svg";
+var url_prefix = location.protocol + "//" + location.hostname + ":" +
+                 location.port + "/referrer-policy/generic/subresource/";
+
+var svg_test_properties = [
+  'fill',
+  'stroke',
+  'filter',
+  'clip-path',
+  'marker-start',
+  'marker-mid',
+  'marker-end',
+  'mask',
+  'mask-image',
+];
+
+// Schedules async_test's for each of the test properties
+// Parameters:
+//     testProperties: An array of test properties.
+//     testDescription: A test description
+//     testFunction: A function call which sets up the expect result and runs
+//                   the actual test
+function runSvgTests(testProperties, testDescription, testFunction) {
+  let runNextTest = function () {
+    let property = testProperties.shift();
+    if (property === undefined) {
+      return;
+    }
+
+    let current = {
+      test: async_test(testDescription + " " + property),
+      id: token(),
+      property: property,
+    };
+
+    testFunction(current);
+
+    let check_url = url_prefix + "svg.py" + "?id=" + current.id +
+                    "&report-headers";
+    current.test.step_timeout(
+      queryXhr.bind(this, check_url,
+                    function(message) {
+                      current.test.step(function() {
+                        assert_own_property(message, "headers");
+                        assert_own_property(message, "referrer");
+                        assert_equals(message.referrer, current.expected);
+                      });
+                      current.test.done();
+                    }),
+      800);
+
+  };
+
+  add_result_callback(runNextTest);
+  runNextTest();
+}
+
+function createSvg() {
+  let svg = document.createElementNS(svg_ns, 'svg');
+  svg.setAttribute('width', '400');
+  svg.setAttribute('height', '400');
+  let path = document.createElementNS(svg_ns, 'path');
+  path.setAttribute('d', 'M 50,5 95,100 5,100 z');
+  svg.appendChild(path);
+  return svg;
+}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/external-import-stylesheet.html b/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/font-face/external-import-stylesheet.html
similarity index 61%
copy from third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/external-import-stylesheet.html
copy to third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/font-face/external-import-stylesheet.html
index 7b6ec643..c344c56c 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/external-import-stylesheet.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/font-face/external-import-stylesheet.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <title>CSS integration - image from imported stylesheet (external)</title>
+    <title>CSS integration - Font from imported stylesheet (external)</title>
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/utils.js"></script>
@@ -17,21 +17,24 @@
     <div class="styled"></div>
 
     <script>
-      var css_test = async_test("Image from imported stylesheet (external).");
-      var id = token();
-      var cross_origin_url_prefix = location.protocol + "//www1." + location.hostname + ":" + location.port;
-      var css_url = cross_origin_url_prefix + "/referrer-policy/generic/subresource/stylesheet.py?id=" + id + "&import-rule";
-      var url_prefix = location.protocol + "//" + location.hostname + ":" + location.port;
-      var css_referrer = url_prefix + "/referrer-policy/generic/subresource/stylesheet.py?id=" + id;
-      var img_url = url_prefix + "/referrer-policy/generic/subresource/image.py" +
-                    "?id=" + id + "&report-headers";
+      let css_test = async_test("Font from imported stylesheet (external).");
+      let id = token();
+      let css_url = location.protocol + "//www1." + location.hostname + ":" +
+        location.port +
+        "/referrer-policy/generic/subresource/stylesheet.py?id=" + id +
+        "&import-rule" + "&type=font";
+      let url_prefix = location.protocol + "//" + location.hostname + ":" + location.port;
+      let css_referrer = url_prefix +
+        "/referrer-policy/generic/subresource/stylesheet.py?id=" + id + "&type=font";
+      let font_url = url_prefix + "/referrer-policy/generic/subresource/font.py" +
+                     "?id=" + id + "&report-headers" + "&type=font";
 
-      var link = document.createElement("link");
+      let link = document.createElement("link");
       link.href = css_url;
       link.rel = "stylesheet";
       link.onload = function() {
         css_test.step_timeout(
-            queryXhr.bind(this, img_url,
+            queryXhr.bind(this, font_url,
                           function(message) {
                             css_test.step(function() {
                               assert_own_property(message, "headers");
diff --git a/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/font-face/external-stylesheet.html b/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/font-face/external-stylesheet.html
new file mode 100644
index 0000000..24e4bb9
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/font-face/external-stylesheet.html
@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <title>CSS integration - Font from external stylesheet</title>
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/utils.js"></script>
+    <!-- Common global functions for referrer-policy tests. -->
+    <script src="/referrer-policy/generic/common.js"></script>
+    <meta name="referrer" content="never">
+  </head>
+  <body>
+    <p>Check that resources from external stylesheets are loaded with
+    the referrer and referrer policy from the external stylesheet.</p>
+
+    <div class="styled"></div>
+
+    <script>
+      let css_test = async_test("Font from external stylesheet.");
+      let id = token();
+      let url_prefix = location.protocol + "//www1." + location.hostname + ":" + location.port;
+      let css_url = url_prefix + "/referrer-policy/generic/subresource/stylesheet.py?id=" + id + "&type=font";
+      let font_url = url_prefix + "/referrer-policy/generic/subresource/font.py" +
+                    "?id=" + id + "&report-headers";
+
+      let link = document.createElement("link");
+      link.href = css_url;
+      link.rel = "stylesheet";
+      link.onload = function() {
+        css_test.step_timeout(
+            queryXhr.bind(this, font_url,
+                          function(message) {
+                            css_test.step(function() {
+                              assert_own_property(message, "headers");
+                              assert_own_property(message, "referrer");
+                              assert_equals(message.referrer, css_url);
+                            });
+                            css_test.done();
+                          }),
+            1000);
+      };
+      document.head.appendChild(link);
+    </script>
+
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/font-face/internal-import-stylesheet.html b/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/font-face/internal-import-stylesheet.html
new file mode 100644
index 0000000..54e2383
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/font-face/internal-import-stylesheet.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <title>CSS integration - Font from imported stylesheet (internal)</title>
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/utils.js"></script>
+    <!-- Common global functions for referrer-policy tests. -->
+    <script src="/referrer-policy/generic/common.js"></script>
+    <meta name="referrer" content="origin">
+  </head>
+  <body>
+    <p>Check that resources from stylesheets (imported from internal
+    stylesheets) are loaded with the referrer and referrer policy from from the
+    imported style sheet.</p>
+
+    <div class="styled"></div>
+
+    <script>
+      let css_test = async_test("Font from imported stylesheet (internal).");
+      let id = token();
+      let url_prefix = location.protocol + "//www1." + location.hostname + ":" +
+                       location.port + "/referrer-policy/generic/subresource/";
+      let css_url = url_prefix + "stylesheet.py?id=" + id + "&type=font";
+      let font_url = url_prefix + "font.py?report-headers&id=" + id;
+
+      let style = document.createElement("style");
+      style.textContent = "@import url('" + css_url + "');";
+      document.head.appendChild(style);
+      css_test.step_timeout(
+          queryXhr.bind(this, font_url,
+                        function(message) {
+                          css_test.step(function() {
+                            assert_own_property(message, "headers");
+                            assert_own_property(message, "referrer");
+                            assert_equals(message.referrer, css_url);
+                          });
+                          css_test.done();
+                        }),
+          1000);
+      </script>
+
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/font-face/internal-stylesheet.html b/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/font-face/internal-stylesheet.html
new file mode 100644
index 0000000..b3869bce
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/font-face/internal-stylesheet.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <title>CSS integration - Font from internal stylesheet</title>
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/utils.js"></script>
+    <!-- Common global functions for referrer-policy tests. -->
+    <script src="/referrer-policy/generic/common.js"></script>
+    <meta name="referrer" content="origin">
+  </head>
+  <body>
+    <p>Check that resources from internal stylesheets are loaded with
+    the referrer and referrer policy from the document.</p>
+
+    <div class="styled"></div>
+
+    <script>
+      let css_test = async_test("Font from internal stylesheet.");
+      let id = token();
+      let css_url = location.protocol + "//www1." + location.hostname + ":" +
+                    location.port +
+                    "/referrer-policy/generic/subresource/font.py" + "?id=" +
+                    id + "&type=font";
+      let font_url = css_url + "&report-headers";
+
+      let style = document.createElement("style");
+      style.textContent = "@font-face { font-family: 'wpt'; font-style: normal; font-weight: normal; src: url(" + css_url + "); format('truetype'); } body { font-family: 'wpt';}";
+      document.head.appendChild(style);
+      css_test.step_timeout(
+          queryXhr.bind(this, font_url,
+                        function(message) {
+                          css_test.step(function() {
+                            assert_own_property(message, "headers");
+                            assert_own_property(message, "referrer");
+                            assert_equals(message.referrer, location.origin + "/");
+                          });
+                          css_test.done();
+                        }),
+          1000);
+      </script>
+
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/font-face/processing-instruction.html b/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/font-face/processing-instruction.html
new file mode 100644
index 0000000..89ee918e
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/font-face/processing-instruction.html
@@ -0,0 +1,51 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <title>CSS integration - Font from external stylesheet inserted via a ProcessingInstruction</title>
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/utils.js"></script>
+    <!-- Common global functions for referrer-policy tests. -->
+    <script src="/referrer-policy/generic/common.js"></script>
+    <meta name="referrer" content="never">
+  </head>
+  <body>
+    <p>Check that resources from external stylesheets (referenced from a
+    ProcessingInstruction) are loaded with the referrer and referrer policy
+    from the external stylesheet.</p>
+
+    <div class="styled"></div>
+
+    <script>
+      let css_test = async_test("Font from external stylesheet (from ProcessingInstruction).");
+      let id = token();
+      let url_prefix = location.protocol + "//www1." + location.hostname + ":" + location.port;
+      let css_url = url_prefix +
+                    "/referrer-policy/generic/subresource/stylesheet.py?id=" +
+                    id + "&amp;type=font";
+      let expected = url_prefix +
+                    "/referrer-policy/generic/subresource/stylesheet.py?id=" +
+                    id + "&type=font";
+      let font_url = url_prefix + "/referrer-policy/generic/subresource/font.py" +
+                     "?id=" + id + "&report-headers";
+
+      let processingInstruction =
+        document.createProcessingInstruction(
+          "xml-stylesheet", "href=\"" + css_url + "\" type=\"text/css\"");
+      css_test.step_timeout(
+          queryXhr.bind(this, font_url,
+                        function(message) {
+                          css_test.step(function() {
+                            assert_own_property(message, "headers");
+                            assert_own_property(message, "referrer");
+                            assert_equals(message.referrer, expected);
+                          });
+                          css_test.done();
+                        }),
+          1000);
+      document.insertBefore(processingInstruction, document.firstChild);
+    </script>
+
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/external-import-stylesheet.html b/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/image/external-import-stylesheet.html
similarity index 83%
rename from third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/external-import-stylesheet.html
rename to third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/image/external-import-stylesheet.html
index 7b6ec643..0023af31b 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/external-import-stylesheet.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/image/external-import-stylesheet.html
@@ -19,10 +19,13 @@
     <script>
       var css_test = async_test("Image from imported stylesheet (external).");
       var id = token();
-      var cross_origin_url_prefix = location.protocol + "//www1." + location.hostname + ":" + location.port;
-      var css_url = cross_origin_url_prefix + "/referrer-policy/generic/subresource/stylesheet.py?id=" + id + "&import-rule";
+      var css_url = location.protocol + "//www1." + location.hostname + ":" + location.port +
+        "/referrer-policy/generic/subresource/stylesheet.py?id=" + id +
+        "&import-rule" + "&type=image";
       var url_prefix = location.protocol + "//" + location.hostname + ":" + location.port;
-      var css_referrer = url_prefix + "/referrer-policy/generic/subresource/stylesheet.py?id=" + id;
+      var css_referrer = url_prefix +
+        "/referrer-policy/generic/subresource/stylesheet.py?id=" + id +
+        "&type=image";
       var img_url = url_prefix + "/referrer-policy/generic/subresource/image.py" +
                     "?id=" + id + "&report-headers";
 
diff --git a/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/external-stylesheet.html b/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/image/external-stylesheet.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/external-stylesheet.html
rename to third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/image/external-stylesheet.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/inline-style.html b/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/image/inline-style.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/inline-style.html
rename to third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/image/inline-style.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/internal-import-stylesheet.html b/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/image/internal-import-stylesheet.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/internal-import-stylesheet.html
rename to third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/image/internal-import-stylesheet.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/internal-stylesheet.html b/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/image/internal-stylesheet.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/internal-stylesheet.html
rename to third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/image/internal-stylesheet.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/presentation-attribute.html b/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/image/presentation-attribute.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/presentation-attribute.html
rename to third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/image/presentation-attribute.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/processing-instruction.html b/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/image/processing-instruction.html
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/processing-instruction.html
rename to third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/image/processing-instruction.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/svg/external-stylesheet.html b/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/svg/external-stylesheet.html
new file mode 100644
index 0000000..148584a
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/svg/external-stylesheet.html
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <title>CSS integration - styling SVG from external stylesheet</title>
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/utils.js"></script>
+    <!-- Common global functions for referrer-policy tests. -->
+    <script src="/referrer-policy/generic/common.js"></script>
+    <!-- Helper functions for referrer-policy css tests. -->
+    <script src="/referrer-policy/css-integration/css-test-helper.js"></script>
+    <meta name="referrer" content="never">
+  </head>
+  <body>
+    <p>Check that resources from external stylesheets are loaded with
+    the referrer and referrer policy from the external stylesheet.</p>
+
+    <script>
+      function addLinkStyleSheet(test) {
+        let css_url = url_prefix + "stylesheet.py?id=" + test.id +
+                      "&type=svg" + "&property=" + test.property;
+        test.expected = css_url;
+
+        let stylesheet =
+          document.createElementNS("http://www.w3.org/1999/xhtml", "link");
+        stylesheet.setAttribute("type", "text/css");
+        stylesheet.setAttribute("rel", "stylesheet");
+        stylesheet.setAttribute("href", css_url);
+        let svg = createSvg();
+        document.body.appendChild(svg);
+        svg.appendChild(stylesheet);
+      }
+
+      runSvgTests(svg_test_properties,
+                  "Test styling SVG from external style",
+                  addLinkStyleSheet);
+    </script>
+
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/svg/inline-style.html b/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/svg/inline-style.html
new file mode 100644
index 0000000..1f46acb
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/svg/inline-style.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <title>CSS integration - styling SVG from inline style</title>
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/utils.js"></script>
+    <!-- Common global functions for referrer-policy tests. -->
+    <script src="/referrer-policy/generic/common.js"></script>
+    <!-- Helper functions for referrer-policy css tests. -->
+    <script src="/referrer-policy/css-integration/css-test-helper.js"></script>
+    <meta name="referrer" content="origin">
+  </head>
+  <body>
+    <p>Check that resources from inline styles are loaded with
+    the referrer and referrer policy from the document.</p>
+    <script>
+      function setInlineStyle(test)
+      {
+        test.expected = location.origin + "/";
+        let svg = createSvg();
+        document.body.appendChild(svg);
+        let element = svg.getElementsByTagName('path')[0];
+        element.style = test.property + ": url(" + url_prefix + "svg.py?id=" +
+                        test.id + "#invalidFragment);";
+      }
+
+      runSvgTests(svg_test_properties,
+                  "Styling SVG from inline styles",
+                  setInlineStyle);
+    </script>
+
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/svg/internal-stylesheet.html b/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/svg/internal-stylesheet.html
new file mode 100644
index 0000000..08be4ef
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/svg/internal-stylesheet.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <title>CSS integration - styling SVG from internal style</title>
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/utils.js"></script>
+    <!-- Common global functions for referrer-policy tests. -->
+    <script src="/referrer-policy/generic/common.js"></script>
+    <!-- Helper functions for referrer-policy css tests. -->
+    <script src="/referrer-policy/css-integration/css-test-helper.js"></script>
+    <meta name="referrer" content="origin">
+  </head>
+  <body>
+    <p>Check that resources from internal styles are loaded with
+    the referrer and referrer policy from the document.</p>
+    <script>
+      function setInternalStyle(test) {
+        test.expected = location.origin + "/";
+        let style = document.createElementNS(svg_ns, "style");
+        style.textContent = "path { " + test.property + ": url(" + url_prefix +
+                            "svg.py?id=" + test.id + "#invalidFragment);";
+        let svg = createSvg();
+        svg.appendChild(style);
+        document.body.appendChild(svg);
+      }
+
+      runSvgTests(svg_test_properties,
+                  "Styling SVG from internal styles",
+                  setInternalStyle);
+    </script>
+
+    <div id="log"></div>
+  </body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/svg/presentation-attribute.html b/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/svg/presentation-attribute.html
new file mode 100644
index 0000000..edeceb1
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/svg/presentation-attribute.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <title>CSS integration - styling SVG from external stylesheet from
+           presentation attribute</title>
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/utils.js"></script>
+    <!-- Common global functions for referrer-policy tests. -->
+    <script src="/referrer-policy/generic/common.js"></script>
+    <!-- Helper functions for referrer-policy css tests. -->
+    <script src="/referrer-policy/css-integration/css-test-helper.js"></script>
+    <meta name="referrer" content="origin">
+  </head>
+  <body>
+    <p>Check that resources from presentation attributes are loaded with
+    the referrer and referrer policy from the document.</p>
+   <script>
+      function setPresentationAttribute(test)
+      {
+        test.expected = location.origin + "/";
+        let svg = createSvg();
+        document.body.appendChild(svg);
+        let element = svg.getElementsByTagName("path")[0];
+        // The test property should have map 1:1 with presentation attribute.
+        let attr = test.property;
+        element.setAttribute(attr, "url(" + url_prefix + "svg.py?id=" +
+                             test.id + "#invalidFragment)");
+      }
+
+      // mask-image is not the presentation attribute.
+      runSvgTests(svg_test_properties.filter(p => p != 'mask-image'),
+                  "Styling SVG from presentation attributes",
+                  setPresentationAttribute);
+    </script>
+
+    <div id="log"></div>
+  </body>
+</html>
+
diff --git a/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/svg/processing-instruction.html b/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/svg/processing-instruction.html
new file mode 100644
index 0000000..ba0e6673
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/css-integration/svg/processing-instruction.html
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <title>CSS integration - styling SVG from external stylesheet via
+           ProcessingInstruction</title>
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <script src="/common/utils.js"></script>
+    <!-- Common global functions for referrer-policy tests. -->
+    <script src="/referrer-policy/generic/common.js"></script>
+    <!-- Helper functions for referrer-policy css tests. -->
+    <script src="/referrer-policy/css-integration/css-test-helper.js"></script>
+    <meta name="referrer" content="origin">
+  </head>
+  <body>
+    <p>Check that resources from external stylesheets (referenced from a
+    ProcessingInstruction) are loaded with the referrer and referrer policy
+    from the external stylesheet.</p>
+    <script>
+      function addProcessingInstruction(test) {
+        let svg_url = url_prefix + "svg.py?id=" + test.id + "&type=svg" +
+                      "&property=" + test.property + "&embedded-svg";
+        let iframe = document.createElement("iframe");
+        test.expected = url_prefix + "stylesheet.py?id=" + test.id +
+                        "&type=svg" + "&property=" + test.property;
+        iframe.src = svg_url;
+        document.body.appendChild(iframe);
+      }
+
+      runSvgTests(svg_test_properties,
+                  "Styling SVG from ProcessingInstruction",
+                  addProcessingInstruction);
+    </script>
+
+    <div id="log"></div>
+  </body>
+</html>
+
diff --git a/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/generic/subresource/font.py b/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/generic/subresource/font.py
new file mode 100644
index 0000000..50a5bd2f3
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/generic/subresource/font.py
@@ -0,0 +1,72 @@
+import os, sys, json, base64
+sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
+import subresource
+
+def generate_payload(request, server_data):
+    data = ('{"headers": %(headers)s}') % server_data
+    if "id" in request.GET:
+        request.server.stash.put(request.GET["id"], data)
+    # Simple base64 encoded .tff font
+    return base64.decodestring("AAEAAAANAIAAAwBQRkZUTU6u6MkAAAXcAAAAHE9TLzJWYW"
+                               "QKAAABWAAAAFZjbWFwAA8D7wAAAcAAAAFCY3Z0IAAhAnkA"
+                               "AAMEAAAABGdhc3D//wADAAAF1AAAAAhnbHlmCC6aTwAAAx"
+                               "QAAACMaGVhZO8ooBcAAADcAAAANmhoZWEIkAV9AAABFAAA"
+                               "ACRobXR4EZQAhQAAAbAAAAAQbG9jYQBwAFQAAAMIAAAACm"
+                               "1heHAASQA9AAABOAAAACBuYW1lehAVOgAAA6AAAAIHcG9z"
+                               "dP+uADUAAAWoAAAAKgABAAAAAQAAMhPyuV8PPPUACwPoAA"
+                               "AAAMU4Lm0AAAAAxTgubQAh/5wFeAK8AAAACAACAAAAAAAA"
+                               "AAEAAAK8/5wAWgXcAAAAAAV4AAEAAAAAAAAAAAAAAAAAAA"
+                               "AEAAEAAAAEAAwAAwAAAAAAAgAAAAEAAQAAAEAALgAAAAAA"
+                               "AQXcAfQABQAAAooCvAAAAIwCigK8AAAB4AAxAQIAAAIABg"
+                               "kAAAAAAAAAAAABAAAAAAAAAAAAAAAAUGZFZABAAEEAQQMg"
+                               "/zgAWgK8AGQAAAABAAAAAAAABdwAIQAAAAAF3AAABdwAZA"
+                               "AAAAMAAAADAAAAHAABAAAAAAA8AAMAAQAAABwABAAgAAAA"
+                               "BAAEAAEAAABB//8AAABB////wgABAAAAAAAAAQYAAAEAAA"
+                               "AAAAAAAQIAAAACAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAA"
+                               "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAA"
+                               "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
+                               "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
+                               "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
+                               "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
+                               "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
+                               "AAAAAAAAAAAAAAAAAAAhAnkAAAAqACoAKgBGAAAAAgAhAA"
+                               "ABKgKaAAMABwAusQEALzyyBwQA7TKxBgXcPLIDAgDtMgCx"
+                               "AwAvPLIFBADtMrIHBgH8PLIBAgDtMjMRIREnMxEjIQEJ6M"
+                               "fHApr9ZiECWAAAAwBk/5wFeAK8AAMABwALAAABNSEVATUh"
+                               "FQE1IRUB9AH0/UQDhPu0BRQB9MjI/tTIyP7UyMgAAAAAAA"
+                               "4ArgABAAAAAAAAACYATgABAAAAAAABAAUAgQABAAAAAAAC"
+                               "AAYAlQABAAAAAAADACEA4AABAAAAAAAEAAUBDgABAAAAAA"
+                               "AFABABNgABAAAAAAAGAAUBUwADAAEECQAAAEwAAAADAAEE"
+                               "CQABAAoAdQADAAEECQACAAwAhwADAAEECQADAEIAnAADAA"
+                               "EECQAEAAoBAgADAAEECQAFACABFAADAAEECQAGAAoBRwBD"
+                               "AG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADAAOA"
+                               "AgAE0AbwB6AGkAbABsAGEAIABDAG8AcgBwAG8AcgBhAHQA"
+                               "aQBvAG4AAENvcHlyaWdodCAoYykgMjAwOCBNb3ppbGxhIE"
+                               "NvcnBvcmF0aW9uAABNAGEAcgBrAEEAAE1hcmtBAABNAGUA"
+                               "ZABpAHUAbQAATWVkaXVtAABGAG8AbgB0AEYAbwByAGcAZQ"
+                               "AgADIALgAwACAAOgAgAE0AYQByAGsAQQAgADoAIAA1AC0A"
+                               "MQAxAC0AMgAwADAAOAAARm9udEZvcmdlIDIuMCA6IE1hcm"
+                               "tBIDogNS0xMS0yMDA4AABNAGEAcgBrAEEAAE1hcmtBAABW"
+                               "AGUAcgBzAGkAbwBuACAAMAAwADEALgAwADAAMAAgAABWZX"
+                               "JzaW9uIDAwMS4wMDAgAABNAGEAcgBrAEEAAE1hcmtBAAAA"
+                               "AgAAAAAAAP+DADIAAAABAAAAAAAAAAAAAAAAAAAAAAAEAA"
+                               "AAAQACACQAAAAAAAH//wACAAAAAQAAAADEPovuAAAAAMU4"
+                               "Lm0AAAAAxTgubQ==");
+
+def generate_report_headers_payload(request, server_data):
+    stashed_data = request.server.stash.take(request.GET["id"])
+    return stashed_data
+
+def main(request, response):
+    handler = lambda data: generate_payload(request, data)
+    content_type = 'application/x-font-truetype'
+
+    if "report-headers" in request.GET:
+        handler = lambda data: generate_report_headers_payload(request, data)
+        content_type = 'application/json'
+
+    subresource.respond(request,
+                        response,
+                        payload_generator = handler,
+                        content_type = content_type,
+                        access_control_allow_origin = "*")
diff --git a/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/generic/subresource/stylesheet.py b/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/generic/subresource/stylesheet.py
index 328db29..54378216 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/generic/subresource/stylesheet.py
+++ b/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/generic/subresource/stylesheet.py
@@ -3,24 +3,66 @@
 import subresource
 
 def generate_payload(request, server_data):
-    return subresource.get_template("stylesheet.css.template") % {"id": request.GET["id"]}
+    data = ('{"headers": %(headers)s}') % server_data
+    type = 'image'
+    if "type" in request.GET:
+        type = request.GET["type"]
+
+    if "id" in request.GET:
+        request.server.stash.put(request.GET["id"], data)
+
+    if type == 'image':
+        return subresource.get_template("image.css.template") % {"id": request.GET["id"]}
+
+    elif type == 'font':
+        return subresource.get_template("font.css.template") % {"id": request.GET["id"]}
+
+    elif type == 'svg':
+        return subresource.get_template("svg.css.template") % {
+            "id": request.GET["id"],
+            "property": request.GET["property"]}
 
 def generate_import_rule(request, server_data):
-    data = "@import url('%(url)s?id=%(id)s');" % {
+    type = 'image'
+    property = None;
+    if "type" in request.GET:
+        type = request.GET["type"]
+    if type == "svg" and "property" in request.GET:
+        property = request.GET["property"]
+    if property is None:
+        return "@import url('%(url)s?id=%(id)s&type=%(type)s');" % {
+            "id": request.GET["id"],
+            "url": subresource.create_redirect_url(request, cross_origin = True),
+            "type": type
+        }
+    return "@import url('%(url)s?id=%(id)s&type=%(type)s&property=%(property)s');" % {
         "id": request.GET["id"],
-        "url": subresource.create_redirect_url(request, cross_origin = True)
+        "url": subresource.create_redirect_url(request, cross_origin = True),
+        "type": type,
+        "property": property
     }
-    return data
+
+def generate_report_headers_payload(request, server_data):
+    stashed_data = request.server.stash.take(request.GET["id"])
+    return stashed_data
 
 def main(request, response):
     payload_generator = lambda data: generate_payload(request, data)
+    content_type = "text/css"
+    referrer_policy = "unsafe-url"
     if "import-rule" in request.GET:
         payload_generator = lambda data: generate_import_rule(request, data)
 
+    if "report-headers" in request.GET:
+        payload_generator = lambda data: generate_report_headers_payload(request, data)
+        content_type = 'application/json'
+
+    if "referrer-policy" in request.GET:
+        referrer_policy = request.GET["referrer-policy"]
+
     subresource.respond(
         request,
         response,
         payload_generator = payload_generator,
-        content_type = "text/css",
-        maybe_additional_headers = { "Referrer-Policy": "unsafe-url" })
-
+        content_type = content_type,
+        maybe_additional_headers = { "Referrer-Policy": referrer_policy })
diff --git a/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/generic/subresource/svg.py b/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/generic/subresource/svg.py
new file mode 100644
index 0000000..8618875
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/generic/subresource/svg.py
@@ -0,0 +1,36 @@
+import os, sys, json
+sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
+import subresource
+
+def generate_payload(request, server_data):
+    data = ('{"headers": %(headers)s}') % server_data
+    if "id" in request.GET:
+        with request.server.stash.lock:
+            request.server.stash.take(request.GET["id"])
+            request.server.stash.put(request.GET["id"], data)
+    return "<svg xmlns='http://www.w3.org/2000/svg'></svg>";
+
+def generate_payload_embedded(request, server_data):
+    return subresource.get_template("svg.embedded.template") % {
+        "id": request.GET["id"],
+        "property": request.GET["property"]};
+
+def generate_report_headers_payload(request, server_data):
+    stashed_data = request.server.stash.take(request.GET["id"])
+    return stashed_data
+
+def main(request, response):
+    handler = lambda data: generate_payload(request, data)
+    content_type = 'image/svg+xml'
+
+    if "embedded-svg" in request.GET:
+        handler = lambda data: generate_payload_embedded(request, data)
+
+    if "report-headers" in request.GET:
+        handler = lambda data: generate_report_headers_payload(request, data)
+        content_type = 'application/json'
+
+    subresource.respond(request,
+                        response,
+                        payload_generator = handler,
+                        content_type = content_type)
diff --git a/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/generic/template/font.css.template b/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/generic/template/font.css.template
new file mode 100644
index 0000000..9b19df3
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/generic/template/font.css.template
@@ -0,0 +1,9 @@
+@font-face {
+  font-family: 'wpt';
+  font-style: normal;
+  font-weight: normal;
+  src: url(/referrer-policy/generic/subresource/font.py?id=%(id)s) format('truetype');
+}
+body {
+  font-family: 'wpt';
+}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/generic/template/stylesheet.css.template b/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/generic/template/image.css.template
similarity index 100%
rename from third_party/WebKit/LayoutTests/external/wpt/referrer-policy/generic/template/stylesheet.css.template
rename to third_party/WebKit/LayoutTests/external/wpt/referrer-policy/generic/template/image.css.template
diff --git a/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/generic/template/svg.css.template b/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/generic/template/svg.css.template
new file mode 100644
index 0000000..ffaefed
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/generic/template/svg.css.template
@@ -0,0 +1,3 @@
+path {
+  %(property)s: url(/referrer-policy/generic/subresource/svg.py?id=%(id)s#invalidFragment);
+}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/generic/template/svg.embedded.template b/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/generic/template/svg.embedded.template
new file mode 100644
index 0000000..5986c480
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/generic/template/svg.embedded.template
@@ -0,0 +1,5 @@
+<?xml version='1.0' standalone='no'?>
+<?xml-stylesheet href='stylesheet.py?id=%(id)s&amp;type=svg&amp;property=%(property)s' type='text/css'?>
+<svg xmlns='http://www.w3.org/2000/svg'>
+  <path d='M 50,5 95,100 5,100 z' />
+</svg>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/resource-timing/resource_TAO_match_origin.htm b/third_party/WebKit/LayoutTests/external/wpt/resource-timing/resource_TAO_match_origin.htm
index 3ab239e..4793dbf 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/resource-timing/resource_TAO_match_origin.htm
+++ b/third_party/WebKit/LayoutTests/external/wpt/resource-timing/resource_TAO_match_origin.htm
@@ -35,6 +35,7 @@
     var context = new PerformanceContext(iframe.contentWindow.performance);
     var entries = context.getEntriesByType('resource');
 
+    assert_greater_than(entries.length, 0, "The iframe should have at least one resource timing entry.");
     if(entries.length > 0) {
         entry = entries[0];
 
diff --git a/third_party/WebKit/LayoutTests/external/wpt/resource-timing/resource_TAO_match_wildcard.htm b/third_party/WebKit/LayoutTests/external/wpt/resource-timing/resource_TAO_match_wildcard.htm
index 8b07b46..fe812f8 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/resource-timing/resource_TAO_match_wildcard.htm
+++ b/third_party/WebKit/LayoutTests/external/wpt/resource-timing/resource_TAO_match_wildcard.htm
@@ -35,6 +35,7 @@
     var context = new PerformanceContext(iframe.contentWindow.performance);
     var entries = context.getEntriesByType('resource');
 
+    assert_greater_than(entries.length, 0, "The iframe should have at least one resource timing entry.");
     if(entries.length > 0) {
         entry = entries[0];
 
diff --git a/third_party/WebKit/LayoutTests/external/wpt/resource-timing/resource_TAO_multi.htm b/third_party/WebKit/LayoutTests/external/wpt/resource-timing/resource_TAO_multi.htm
index 3b6c2e6..bb774abc 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/resource-timing/resource_TAO_multi.htm
+++ b/third_party/WebKit/LayoutTests/external/wpt/resource-timing/resource_TAO_multi.htm
@@ -35,6 +35,7 @@
     var context = new PerformanceContext(iframe.contentWindow.performance);
     var entries = context.getEntriesByType('resource');
 
+    assert_greater_than(entries.length, 0, "The iframe should have at least one resource timing entry.");
     if(entries.length > 0) {
         entry = entries[0];
 
diff --git a/third_party/WebKit/LayoutTests/external/wpt/resource-timing/resource_TAO_multi_wildcard.html b/third_party/WebKit/LayoutTests/external/wpt/resource-timing/resource_TAO_multi_wildcard.html
new file mode 100644
index 0000000..8448960
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/resource-timing/resource_TAO_multi_wildcard.html
@@ -0,0 +1,56 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8" />
+<title>Resource Timing TAO tests</title>
+<link rel="author" title="Google" href="http://www.google.com/" />
+<link rel="help" href="https://www.w3.org/TR/resource-timing-2/#timing-allow-origin"/>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="resources/webperftestharness.js"></script>
+<script src="resources/webperftestharnessextension.js"></script>
+<script>
+setup({explicit_done: true});
+
+// explicitly test the namespace before we start testing
+test_namespace("getEntriesByType");
+
+var d;
+var iframe;
+var iframeBody;
+var image;
+var random = Math.random();
+
+function setup_iframe() {
+    iframe = document.getElementById('frameContext');
+    d = iframe.contentWindow.document;
+    iframeBody = d.body;
+    iframe.addEventListener('load', onload_test, false);
+}
+function onload_test() {
+    if (window.performance.getEntriesByType === undefined) {
+      done();
+      return;
+    }
+    var context = new PerformanceContext(iframe.contentWindow.performance);
+    var entries = context.getEntriesByType('resource');
+
+    assert_greater_than(entries.length, 0, "The iframe should have at least one resource timing entry.");
+    if(entries.length > 0) {
+        entry = entries[0];
+
+        test_not_equals((entry.redirectStart + entry.redirectEnd + entry.domainLookupStart + entry.domainLookupEnd + entry.connectStart + entry.connectEnd + entry.secureConnectionStart + entry.requestStart + entry.responseStart), 0, 'redirectStart, redirectEnd, domainLookupStart, domainLookupEnd, connectStart, connectEnd, secureConnectionStart, requestStart, and responseStart -- should not be all returned as 0 when the HTTP response has multiple Timing-Allow-Origin header fields and the subsequent field value is separated by a comma, i.e. TAO algorithm passes');
+    }
+
+    done();
+}
+window.setup_iframe = setup_iframe;
+</script>
+</head>
+<body>
+<h1>Description</h1>
+<p>This test validates that for a cross origin resource, the timing allow check algorithm will pass when the HTTP response has multiple Timing-Allow-Origin header fields and the subsequent field value is separated by a comma.</p>
+<div id="log"></div>
+<iframe id="frameContext" src="resources/iframe_TAO_multi_wildcard.html"></iframe>
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/resource-timing/resource_TAO_null.htm b/third_party/WebKit/LayoutTests/external/wpt/resource-timing/resource_TAO_null.htm
index 419de69..1a86e09c 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/resource-timing/resource_TAO_null.htm
+++ b/third_party/WebKit/LayoutTests/external/wpt/resource-timing/resource_TAO_null.htm
@@ -35,6 +35,7 @@
     var context = new PerformanceContext(iframe.contentWindow.performance);
     var entries = context.getEntriesByType('resource');
 
+    assert_greater_than(entries.length, 0, "The iframe should have at least one resource timing entry.");
     if(entries.length > 0) {
         entry = entries[0];
 
diff --git a/third_party/WebKit/LayoutTests/external/wpt/resource-timing/resource_TAO_origin_uppercase.htm b/third_party/WebKit/LayoutTests/external/wpt/resource-timing/resource_TAO_origin_uppercase.htm
index 0b42166c..1a03c714 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/resource-timing/resource_TAO_origin_uppercase.htm
+++ b/third_party/WebKit/LayoutTests/external/wpt/resource-timing/resource_TAO_origin_uppercase.htm
@@ -35,6 +35,7 @@
     var context = new PerformanceContext(iframe.contentWindow.performance);
     var entries = context.getEntriesByType('resource');
 
+    assert_greater_than(entries.length, 0, "The iframe should have at least one resource timing entry.");
     if(entries.length > 0) {
         entry = entries[0];
 
diff --git a/third_party/WebKit/LayoutTests/external/wpt/resource-timing/resource_TAO_space.htm b/third_party/WebKit/LayoutTests/external/wpt/resource-timing/resource_TAO_space.htm
index f3cbdc6..9efefe15 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/resource-timing/resource_TAO_space.htm
+++ b/third_party/WebKit/LayoutTests/external/wpt/resource-timing/resource_TAO_space.htm
@@ -35,6 +35,7 @@
     var context = new PerformanceContext(iframe.contentWindow.performance);
     var entries = context.getEntriesByType('resource');
 
+    assert_greater_than(entries.length, 0, "The iframe should have at least one resource timing entry.");
     if(entries.length > 0) {
         entry = entries[0];
 
diff --git a/third_party/WebKit/LayoutTests/external/wpt/resource-timing/resource_TAO_wildcard.htm b/third_party/WebKit/LayoutTests/external/wpt/resource-timing/resource_TAO_wildcard.htm
index 407c642..df27853 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/resource-timing/resource_TAO_wildcard.htm
+++ b/third_party/WebKit/LayoutTests/external/wpt/resource-timing/resource_TAO_wildcard.htm
@@ -35,6 +35,7 @@
     var context = new PerformanceContext(iframe.contentWindow.performance);
     var entries = context.getEntriesByType('resource');
 
+    assert_greater_than(entries.length, 0, "The iframe should have at least one resource timing entry.");
     if(entries.length > 0) {
         entry = entries[0];
 
diff --git a/third_party/WebKit/LayoutTests/external/wpt/resource-timing/resources/TAOResponse.py b/third_party/WebKit/LayoutTests/external/wpt/resource-timing/resources/TAOResponse.py
index dcd75a4..fefc75b7 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/resource-timing/resources/TAOResponse.py
+++ b/third_party/WebKit/LayoutTests/external/wpt/resource-timing/resources/TAOResponse.py
@@ -17,18 +17,22 @@
     # case-sensitive match for origin, pass
         response.headers.set('Timing-Allow-Origin', origin)
     elif tao == 'space':
-    # space seperated list of origin and wildcard, fail
+    # space separated list of origin and wildcard, fail
         response.headers.set('Timing-Allow-Origin', (origin + ' *'))
     elif tao == 'multi':
-    # more than one TAO values, seperated by comma, pass
+    # more than one TAO values, separated by comma, pass
         response.headers.set('Timing-Allow-Origin', origin)
         response.headers.append('Timing-Allow-Origin', '*')
+    elif tao == 'multi_wildcard':
+    # multiple wildcards, separated by comma, pass
+        response.headers.set('Timing-Allow-Origin', '*')
+        response.headers.append('Timing-Allow-Origin', '*')
     elif tao == 'match_origin':
-    # contains a match of origin, seperated by comma, pass
+    # contains a match of origin, separated by comma, pass
         response.headers.set('Timing-Allow-Origin', origin)
         response.headers.append('Timing-Allow-Origin', "fake")
     elif tao == 'match_wildcard':
-    # contains a wildcard, seperated by comma, pass
+    # contains a wildcard, separated by comma, pass
         response.headers.set('Timing-Allow-Origin', "fake")
         response.headers.append('Timing-Allow-Origin', '*')
     elif tao == 'uppercase':
diff --git a/third_party/WebKit/LayoutTests/external/wpt/resource-timing/resources/iframe_TAO_multi_wildcard.html b/third_party/WebKit/LayoutTests/external/wpt/resource-timing/resources/iframe_TAO_multi_wildcard.html
new file mode 100644
index 0000000..977df01
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/resource-timing/resources/iframe_TAO_multi_wildcard.html
@@ -0,0 +1,21 @@
+<body>
+<script>
+function dirname(path) {
+    return path.replace(/\/[^\/]*$/, '/');
+}
+
+function request() {
+  var dirName = dirname(location.href);
+  // create a cross-origin request
+  var url = dirName.replace('://', '://www.') + 'TAOResponse.py?tao=multi_wildcard';
+  var img = new Image();
+  img.crossOrigin = "anonymous";
+  img.src = url;
+}
+
+if(window.parent.setup_iframe) {
+  window.parent.setup_iframe();
+  request();
+}
+</script>
+</body>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/resources/idlharness.js b/third_party/WebKit/LayoutTests/external/wpt/resources/idlharness.js
index 746f3e6..00c59ed 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/resources/idlharness.js
+++ b/third_party/WebKit/LayoutTests/external/wpt/resources/idlharness.js
@@ -3251,7 +3251,11 @@
  * fetch_spec is a shorthand for a Promise that fetches the spec's content.
  */
 function fetch_spec(spec) {
-    return fetch('/interfaces/' + spec + '.idl').then(function (r) {
+    var url = '/interfaces/' + spec + '.idl';
+    return fetch(url).then(function (r) {
+        if (!r.ok) {
+            throw new IdlHarnessError("Error fetching " + url + ".");
+        }
         return r.text();
     });
 }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/resources/testharness.js b/third_party/WebKit/LayoutTests/external/wpt/resources/testharness.js
index 352e8b76..0a92cf1 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/resources/testharness.js
+++ b/third_party/WebKit/LayoutTests/external/wpt/resources/testharness.js
@@ -1255,24 +1255,12 @@
     expose(assert_class_string, "assert_class_string");
 
 
-    function _assert_own_property(name) {
-        return function(object, property_name, description)
-        {
-            assert(object.hasOwnProperty(property_name),
-                   name, description,
-                   "expected property ${p} missing", {p:property_name});
-        };
+    function assert_own_property(object, property_name, description) {
+        assert(object.hasOwnProperty(property_name),
+               "assert_own_property", description,
+               "expected property ${p} missing", {p:property_name});
     }
-    expose(_assert_own_property("assert_exists"), "assert_exists");
-    expose(_assert_own_property("assert_own_property"), "assert_own_property");
-
-    function assert_not_exists(object, property_name, description)
-    {
-        assert(!object.hasOwnProperty(property_name),
-               "assert_not_exists", description,
-               "unexpected property ${p} found", {p:property_name});
-    }
-    expose(assert_not_exists, "assert_not_exists");
+    expose(assert_own_property, "assert_own_property");
 
     function _assert_inherits(name) {
         return function (object, property_name, description)
@@ -2559,27 +2547,24 @@
             if (output_document.body) {
                 output_document.body.appendChild(node);
             } else {
-                var is_html = false;
-                var is_svg = false;
-                var output_window = output_document.defaultView;
-                if (output_window && "SVGSVGElement" in output_window) {
-                    is_svg = output_document.documentElement instanceof output_window.SVGSVGElement;
-                } else if (output_window) {
-                    is_html = (output_document.namespaceURI == "http://www.w3.org/1999/xhtml" &&
-                               output_document.localName == "html");
-                }
+                var root = output_document.documentElement;
+                var is_html = (root &&
+                               root.namespaceURI == "http://www.w3.org/1999/xhtml" &&
+                               root.localName == "html");
+                var is_svg = (output_document.defaultView &&
+                              "SVGSVGElement" in output_document.defaultView &&
+                              root instanceof output_document.defaultView.SVGSVGElement);
                 if (is_svg) {
                     var foreignObject = output_document.createElementNS("http://www.w3.org/2000/svg", "foreignObject");
                     foreignObject.setAttribute("width", "100%");
                     foreignObject.setAttribute("height", "100%");
-                    output_document.documentElement.appendChild(foreignObject);
+                    root.appendChild(foreignObject);
                     foreignObject.appendChild(node);
                 } else if (is_html) {
-                    var body = output_document.createElementNS("http://www.w3.org/1999/xhtml", "body");
-                    output_document.documentElement.appendChild(body);
-                    body.appendChild(node);
+                    root.appendChild(output_document.createElementNS("http://www.w3.org/1999/xhtml", "body"))
+                        .appendChild(node);
                 } else {
-                    output_document.documentElement.appendChild(node);
+                    root.appendChild(node);
                 }
             }
         }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-request-xhr-sync.https.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-request-xhr-sync.https.html
index f1e4fec..ec27fb8 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-request-xhr-sync.https.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-request-xhr-sync.https.html
@@ -14,7 +14,7 @@
     return service_worker_unregister_and_register(t, url, scope)
       .then(function(registration) {
           t.add_cleanup(function() {
-              registration.unregister();
+              return registration.unregister();
             });
 
           return wait_for_state(t, registration.installing, 'activated');
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/interfaces-window.https.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/interfaces-window.https.html
index 85d7f646..2c131b3c 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/interfaces-window.https.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/interfaces-window.https.html
@@ -40,7 +40,7 @@
       t, 'resources/empty-worker.js', scope)
     .then(function(registration) {
         t.add_cleanup(function() {
-            registration.unregister();
+            return registration.unregister();
           });
 
         window.registrationInstance = registration;
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/onactivate-script-error.https.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/onactivate-script-error.https.html
index 6c16357..f5e80bb9 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/onactivate-script-error.https.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/onactivate-script-error.https.html
@@ -35,7 +35,7 @@
             registration = r;
 
             t.add_cleanup(function() {
-                r.unregister();
+                return r.unregister();
               });
 
             return wait_for_install(registration.installing);
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/postmessage.https.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/postmessage.https.html
index 3d73afe..b1f3342 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/postmessage.https.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/postmessage.https.html
@@ -13,11 +13,7 @@
 
     return service_worker_unregister_and_register(t, script, scope)
       .then(r => {
-          // TODO: return the Promise created by `r.unregister`once
-          // `testharness.js` has been updated to honor thenables returned by
-          // cleanup functions.
-          // See https://github.com/web-platform-tests/wpt/pull/8748
-          t.add_cleanup(() => { r.unregister(); });
+          t.add_cleanup(() => r.unregister());
           registration = r;
           worker = registration.installing;
 
@@ -66,11 +62,7 @@
 
     return service_worker_unregister_and_register(t, script, scope)
       .then(r => {
-          // TODO: return the Promise created by `r.unregister`once
-          // `testharness.js` has been updated to honor thenables returned by
-          // cleanup functions.
-          // See https://github.com/web-platform-tests/wpt/pull/8748
-          t.add_cleanup(() => { r.unregister(); });
+          t.add_cleanup(() => r.unregister());
 
           var ab = text_encoder.encode(message);
           assert_equals(ab.byteLength, message.length);
@@ -110,11 +102,7 @@
 
     return service_worker_unregister_and_register(t, script, scope)
       .then(r => {
-          // TODO: return the Promise created by `r.unregister`once
-          // `testharness.js` has been updated to honor thenables returned by
-          // cleanup functions.
-          // See https://github.com/web-platform-tests/wpt/pull/8748
-          t.add_cleanup(() => { r.unregister(); });
+          t.add_cleanup(() => r.unregister());
 
           var channel = new MessageChannel;
           port = channel.port1;
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/registration-service-worker-attributes.https.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/registration-service-worker-attributes.https.html
index 8fd566d..f7b52d5d 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/registration-service-worker-attributes.https.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/registration-service-worker-attributes.https.html
@@ -14,7 +14,7 @@
     return service_worker_unregister_and_register(t, worker_url, scope)
       .then(function(r) {
           t.add_cleanup(function() {
-              r.unregister();
+              return r.unregister();
             });
           registration = r;
           newest_worker = registration.installing;
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/skip-waiting-installed-worker.js b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/skip-waiting-installed-worker.js
index b48d502b..6f7008bd 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/skip-waiting-installed-worker.js
+++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/skip-waiting-installed-worker.js
@@ -21,7 +21,7 @@
 
           if (self.registration.active.state !== 'activating') {
             port.postMessage(
-                'FAITL: Promise should be resolved before ServiceWorker#state is set to activated');
+                'FAIL: Promise should be resolved before ServiceWorker#state is set to activated');
             return;
           }
 
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/worker-testharness.js b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/worker-testharness.js
index fdf5868e..73e97be 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/worker-testharness.js
+++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/worker-testharness.js
@@ -20,7 +20,7 @@
     var cache_name = self.location.pathname + '/' + uniquifier;
 
     test.add_cleanup(function() {
-        self.caches.delete(cache_name);
+        return self.caches.delete(cache_name);
       });
 
     return self.caches.delete(cache_name)
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/skip-waiting-using-registration.https.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/skip-waiting-using-registration.https.html
index a9c398a..67838ac 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/skip-waiting-using-registration.https.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/skip-waiting-using-registration.https.html
@@ -51,7 +51,7 @@
       .then(function(registration) {
           sw_registration = registration;
           t.add_cleanup(function() {
-              registration.unregister();
+              return registration.unregister();
             });
           return saw_controllerchanged;
         })
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/skip-waiting-without-using-registration.https.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/skip-waiting-without-using-registration.https.html
index dbe2bde..705fe835 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/skip-waiting-without-using-registration.https.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/skip-waiting-without-using-registration.https.html
@@ -27,7 +27,7 @@
       .then(function(registration) {
           sw_registration = registration;
           t.add_cleanup(function() {
-              registration.unregister();
+              return registration.unregister();
             });
           return wait_for_state(t, registration.installing, 'activated');
         })
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/synced-state.https.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/synced-state.https.html
index c4a9b66..0e9f63a9 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/synced-state.https.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/synced-state.https.html
@@ -33,7 +33,7 @@
           worker = registration.installing;
 
           t.add_cleanup(function() {
-              r.unregister();
+              return r.unregister();
             });
 
           return nextChange(worker);
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/worker-interception.https.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/worker-interception.https.html
index 4f14746d..bf976a2 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/worker-interception.https.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/worker-interception.https.html
@@ -69,25 +69,11 @@
           return wait_for_state(t, r.installing, 'activated');
         })
       .then(function() {
-          return new Promise(function(resolve, reject) {
-              var w = new Worker(worker_url);
-              w.onmessage = function(e) {
-                resolve(e.data);
-              }
-
-              w.onerror = function(e) {
-                reject(e.message);
-              }
-            });
+          var w = new Worker(worker_url);
+          var watcher = new EventWatcher(t, w, ['message', 'error']);
+          return watcher.wait_for('error');
         })
-      .then(function(data) {
-          assert_unreached('intercepted cors response to a same-origin mode ' +
-                           'worker load should fail');
-          service_worker_unregister_and_done(t, scope);
-        })
-      .catch(function(e) {
-          assert_true(true, 'intercepted cors response to a same-origin mode ' +
-                            'worker load should fail');
+      .then(function() {
           service_worker_unregister_and_done(t, scope);
        });
   }, 'Verify worker script intercepted by cors response fails');
@@ -102,24 +88,11 @@
           return wait_for_state(t, r.installing, 'activated');
         })
       .then(function() {
-          return new Promise(function(resolve, reject) {
-              var w = new Worker(worker_url);
-              w.onmessage = function(e) {
-                resolve(e.data);
-              }
-
-              w.onerror = function(e) {
-                reject(e);
-                return true;
-              }
-            });
+          var w = new Worker(worker_url);
+          var watcher = new EventWatcher(t, w, ['message', 'error']);
+          return watcher.wait_for('error');
         })
-      .then(function(data) {
-          assert_unreached('intercepted no-cors worker load should fail');
-          service_worker_unregister_and_done(t, scope);
-        })
-      .catch(function(e) {
-          assert_true(true, 'intercepted no-cors worker load should fail');
+      .then(function() {
           service_worker_unregister_and_done(t, scope);
        });
   }, 'Verify worker script intercepted by no-cors cross-origin response fails');
diff --git a/third_party/WebKit/LayoutTests/external/wpt/shadow-dom/input-type-radio.html b/third_party/WebKit/LayoutTests/external/wpt/shadow-dom/input-type-radio.html
new file mode 100644
index 0000000..9c90fcf
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/shadow-dom/input-type-radio.html
@@ -0,0 +1,73 @@
+<!doctype html>
+<meta charset=utf-8>
+<title></title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<input type="radio" name="group" id="lightRadio1">
+<input type="radio" name="group" id="lightRadio2">
+<div id="host"></div>
+<script>
+
+test(() => {
+    var lightRadio1 = document.getElementById("lightRadio1");
+    var lightRadio2 = document.getElementById("lightRadio2");
+
+    var host = document.getElementById("host");
+    var sr = host.attachShadow({mode: "closed"});
+    var shadowRadio1 = document.createElement("input");
+    shadowRadio1.name = "group";
+    shadowRadio1.id = "shadowRadio1";
+    shadowRadio1.type = "radio";
+    sr.appendChild(shadowRadio1);
+    var shadowRadio2 = document.createElement("input");
+    shadowRadio2.name = "group";
+    shadowRadio2.id = "shadowRadio2";
+    shadowRadio2.type = "radio";
+    sr.appendChild(shadowRadio2);
+
+    assert_false(lightRadio1.checked);
+    assert_false(lightRadio2.checked);
+    assert_false(shadowRadio1.checked);
+    assert_false(shadowRadio2.checked);
+
+    lightRadio1.click();
+    assert_true(lightRadio1.checked);
+    assert_false(lightRadio2.checked);
+    assert_false(shadowRadio1.checked);
+    assert_false(shadowRadio2.checked);
+
+    lightRadio2.click();
+    assert_false(lightRadio1.checked);
+    assert_true(lightRadio2.checked);
+    assert_false(shadowRadio1.checked);
+    assert_false(shadowRadio2.checked);
+
+    shadowRadio1.click();
+    assert_false(lightRadio1.checked);
+    assert_true(lightRadio2.checked);
+    assert_true(shadowRadio1.checked);
+    assert_false(shadowRadio2.checked);
+
+    shadowRadio2.click();
+    assert_false(lightRadio1.checked);
+    assert_true(lightRadio2.checked);
+    assert_false(shadowRadio1.checked);
+    assert_true(shadowRadio2.checked);
+
+    // Ensure radio groups work even when modifying shadow DOM.
+    shadowRadio2.remove();
+    sr.appendChild(shadowRadio2);
+    shadowRadio2.click();
+    assert_false(lightRadio1.checked);
+    assert_true(lightRadio2.checked);
+    assert_false(shadowRadio1.checked);
+    assert_true(shadowRadio2.checked);
+
+    shadowRadio1.click();
+    assert_false(lightRadio1.checked);
+    assert_true(lightRadio2.checked);
+    assert_true(shadowRadio1.checked);
+    assert_false(shadowRadio2.checked);
+}, "input type=radio elements should form a group inside shadow DOM.");
+
+</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/svg/idlharness.window-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/svg/idlharness.window-expected.txt
index 9a1ebff..b4aa8b69 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/svg/idlharness.window-expected.txt
+++ b/third_party/WebKit/LayoutTests/external/wpt/svg/idlharness.window-expected.txt
@@ -185,6 +185,38 @@
 PASS SVGLengthList interface: operation replaceItem(SVGLength, unsigned long)
 PASS SVGLengthList interface: operation removeItem(unsigned long)
 PASS SVGLengthList interface: operation appendItem(SVGLength)
+PASS SVGStringList interface: existence and properties of interface object
+PASS SVGStringList interface object length
+PASS SVGStringList interface object name
+PASS SVGStringList interface: existence and properties of interface prototype object
+PASS SVGStringList interface: existence and properties of interface prototype object's "constructor" property
+PASS SVGStringList interface: existence and properties of interface prototype object's @@unscopables property
+PASS SVGStringList interface: attribute length
+PASS SVGStringList interface: attribute numberOfItems
+PASS SVGStringList interface: operation clear()
+PASS SVGStringList interface: operation initialize(DOMString)
+PASS SVGStringList interface: operation getItem(unsigned long)
+PASS SVGStringList interface: operation insertItemBefore(DOMString, unsigned long)
+PASS SVGStringList interface: operation replaceItem(DOMString, unsigned long)
+PASS SVGStringList interface: operation removeItem(unsigned long)
+PASS SVGStringList interface: operation appendItem(DOMString)
+PASS SVGStringList must be primary interface of objects.a.requiredExtensions
+PASS Stringification of objects.a.requiredExtensions
+PASS SVGStringList interface: objects.a.requiredExtensions must inherit property "length" with the proper type
+PASS SVGStringList interface: objects.a.requiredExtensions must inherit property "numberOfItems" with the proper type
+PASS SVGStringList interface: objects.a.requiredExtensions must inherit property "clear()" with the proper type
+PASS SVGStringList interface: objects.a.requiredExtensions must inherit property "initialize(DOMString)" with the proper type
+PASS SVGStringList interface: calling initialize(DOMString) on objects.a.requiredExtensions with too few arguments must throw TypeError
+PASS SVGStringList interface: objects.a.requiredExtensions must inherit property "getItem(unsigned long)" with the proper type
+PASS SVGStringList interface: calling getItem(unsigned long) on objects.a.requiredExtensions with too few arguments must throw TypeError
+PASS SVGStringList interface: objects.a.requiredExtensions must inherit property "insertItemBefore(DOMString, unsigned long)" with the proper type
+PASS SVGStringList interface: calling insertItemBefore(DOMString, unsigned long) on objects.a.requiredExtensions with too few arguments must throw TypeError
+PASS SVGStringList interface: objects.a.requiredExtensions must inherit property "replaceItem(DOMString, unsigned long)" with the proper type
+PASS SVGStringList interface: calling replaceItem(DOMString, unsigned long) on objects.a.requiredExtensions with too few arguments must throw TypeError
+PASS SVGStringList interface: objects.a.requiredExtensions must inherit property "removeItem(unsigned long)" with the proper type
+PASS SVGStringList interface: calling removeItem(unsigned long) on objects.a.requiredExtensions with too few arguments must throw TypeError
+PASS SVGStringList interface: objects.a.requiredExtensions must inherit property "appendItem(DOMString)" with the proper type
+PASS SVGStringList interface: calling appendItem(DOMString) on objects.a.requiredExtensions with too few arguments must throw TypeError
 PASS SVGAnimatedBoolean interface: existence and properties of interface object
 PASS SVGAnimatedBoolean interface object length
 PASS SVGAnimatedBoolean interface object name
@@ -305,38 +337,6 @@
 PASS Stringification of objects.text.x
 PASS SVGAnimatedLengthList interface: objects.text.x must inherit property "baseVal" with the proper type
 PASS SVGAnimatedLengthList interface: objects.text.x must inherit property "animVal" with the proper type
-PASS SVGStringList interface: existence and properties of interface object
-PASS SVGStringList interface object length
-PASS SVGStringList interface object name
-PASS SVGStringList interface: existence and properties of interface prototype object
-PASS SVGStringList interface: existence and properties of interface prototype object's "constructor" property
-PASS SVGStringList interface: existence and properties of interface prototype object's @@unscopables property
-PASS SVGStringList interface: attribute length
-PASS SVGStringList interface: attribute numberOfItems
-PASS SVGStringList interface: operation clear()
-PASS SVGStringList interface: operation initialize(DOMString)
-PASS SVGStringList interface: operation getItem(unsigned long)
-PASS SVGStringList interface: operation insertItemBefore(DOMString, unsigned long)
-PASS SVGStringList interface: operation replaceItem(DOMString, unsigned long)
-PASS SVGStringList interface: operation removeItem(unsigned long)
-PASS SVGStringList interface: operation appendItem(DOMString)
-PASS SVGStringList must be primary interface of objects.a.requiredExtensions
-PASS Stringification of objects.a.requiredExtensions
-PASS SVGStringList interface: objects.a.requiredExtensions must inherit property "length" with the proper type
-PASS SVGStringList interface: objects.a.requiredExtensions must inherit property "numberOfItems" with the proper type
-PASS SVGStringList interface: objects.a.requiredExtensions must inherit property "clear()" with the proper type
-PASS SVGStringList interface: objects.a.requiredExtensions must inherit property "initialize(DOMString)" with the proper type
-PASS SVGStringList interface: calling initialize(DOMString) on objects.a.requiredExtensions with too few arguments must throw TypeError
-PASS SVGStringList interface: objects.a.requiredExtensions must inherit property "getItem(unsigned long)" with the proper type
-PASS SVGStringList interface: calling getItem(unsigned long) on objects.a.requiredExtensions with too few arguments must throw TypeError
-PASS SVGStringList interface: objects.a.requiredExtensions must inherit property "insertItemBefore(DOMString, unsigned long)" with the proper type
-PASS SVGStringList interface: calling insertItemBefore(DOMString, unsigned long) on objects.a.requiredExtensions with too few arguments must throw TypeError
-PASS SVGStringList interface: objects.a.requiredExtensions must inherit property "replaceItem(DOMString, unsigned long)" with the proper type
-PASS SVGStringList interface: calling replaceItem(DOMString, unsigned long) on objects.a.requiredExtensions with too few arguments must throw TypeError
-PASS SVGStringList interface: objects.a.requiredExtensions must inherit property "removeItem(unsigned long)" with the proper type
-PASS SVGStringList interface: calling removeItem(unsigned long) on objects.a.requiredExtensions with too few arguments must throw TypeError
-PASS SVGStringList interface: objects.a.requiredExtensions must inherit property "appendItem(DOMString)" with the proper type
-PASS SVGStringList interface: calling appendItem(DOMString) on objects.a.requiredExtensions with too few arguments must throw TypeError
 PASS SVGUnitTypes interface: existence and properties of interface object
 PASS SVGUnitTypes interface object length
 PASS SVGUnitTypes interface object name
diff --git a/third_party/WebKit/LayoutTests/external/wpt/svg/pservers/reftests/meshgradient-basic-001-ref.png b/third_party/WebKit/LayoutTests/external/wpt/svg/pservers/reftests/meshgradient-basic-001-ref.png
new file mode 100644
index 0000000..691bff6
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/svg/pservers/reftests/meshgradient-basic-001-ref.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/external/wpt/svg/pservers/reftests/meshgradient-basic-001.svg b/third_party/WebKit/LayoutTests/external/wpt/svg/pservers/reftests/meshgradient-basic-001.svg
new file mode 100644
index 0000000..24290d40
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/svg/pservers/reftests/meshgradient-basic-001.svg
@@ -0,0 +1,63 @@
+<svg id="svg-root"
+  width="480" height="360" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink"
+  xmlns:html="http://www.w3.org/1999/xhtml">
+  <g id="testmeta">
+    <title>Mesh gradient: Single 1x1 patch (userSpaceOnUse).</title>
+    <html:link rel="author"
+          title="Tavmjong Bah"
+          href="http://tavmjong.free.fr"/>
+    <html:link rel="help"
+          href="https://www.w3.org/TR/SVG2/pservers.html#MeshGradients"/>
+    <html:link rel="match"  href="meshgradient-basic-001-ref.png" />
+  </g>
+
+  <style id="test-font" type="text/css">
+    /* Standard Font (if needed). */
+    @font-face {
+      font-family: FreeSans;
+      src: url("../fonts/FreeSans.woff") format("woff");
+    }
+    text {
+      font-family: FreeSans, sans-serif;
+      text-anchor: middle;
+      fill: black;
+    }
+    #title {
+      font-size: 24px;
+    }
+    .label {
+      font-size: 18px;
+    }
+  </style>
+
+  <defs>
+    <meshgradient id="LinearMesh" x="20" y="140" gradientUnits="userSpaceOnUse">
+      <meshrow>
+        <meshpatch>
+          <stop style="stop-color:#0000ff" path="l 200,0" />
+          <stop style="stop-color:#00ff00" path="l 0,200" />
+          <stop style="stop-color:#ffff00" path="l -200,0" />
+          <stop style="stop-color:#00ff00" path="l 0,-200" />
+        </meshpatch>
+      </meshrow>
+    </meshgradient>
+    <meshgradient id="BezierMesh" x="260" y="140" gradientUnits="userSpaceOnUse">
+      <meshrow>
+        <meshpatch>
+          <stop style="stop-color:#0000ff" path="c 66.6667,0  133.333,0  200,0" />
+          <stop style="stop-color:#00ff00" path="c 0,66.6667  0,133.333  0,200" />
+          <stop style="stop-color:#ffff00" path="c -66.6667,0  -133.333,0  -200,0" />
+          <stop style="stop-color:#00ff00" path="c 0,-66.6667  0,-133.333  0,-200" />
+        </meshpatch>
+      </meshrow>
+    </meshgradient>
+  </defs>
+
+  <g id="test-body-content">
+    <rect x="20"  y="140" width="200" height="200" style="fill:url(#LinearMesh)" />
+    <rect x="260" y="140" width="200" height="200" style="fill:url(#BezierMesh)" />
+  </g>
+
+</svg>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/svg/pservers/reftests/meshgradient-basic-002-ref.png b/third_party/WebKit/LayoutTests/external/wpt/svg/pservers/reftests/meshgradient-basic-002-ref.png
new file mode 100644
index 0000000..691bff6
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/svg/pservers/reftests/meshgradient-basic-002-ref.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/external/wpt/svg/pservers/reftests/meshgradient-basic-002.svg b/third_party/WebKit/LayoutTests/external/wpt/svg/pservers/reftests/meshgradient-basic-002.svg
new file mode 100644
index 0000000..2391135
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/svg/pservers/reftests/meshgradient-basic-002.svg
@@ -0,0 +1,63 @@
+<svg id="svg-root"
+  width="480" height="360" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink"
+  xmlns:html="http://www.w3.org/1999/xhtml">
+  <g id="testmeta">
+    <title>Mesh gradient: Single 1x1 patch (objectBoundingBox)</title>
+    <html:link rel="author"
+          title="Tavmjong Bah"
+          href="http://tavmjong.free.fr"/>
+    <html:link rel="help"
+          href="https://www.w3.org/TR/SVG2/pservers.html#MeshGradients"/>
+    <html:link rel="match"  href="meshgradient-basic-002-ref.png" />
+  </g>
+
+  <style id="test-font" type="text/css">
+    /* Standard Font (if needed). */
+    @font-face {
+      font-family: FreeSans;
+      src: url("../fonts/FreeSans.woff") format("woff");
+    }
+    text {
+      font-family: FreeSans, sans-serif;
+      text-anchor: middle;
+      fill: black;
+    }
+    #title {
+      font-size: 24px;
+    }
+    .label {
+      font-size: 18px;
+    }
+  </style>
+
+  <defs>
+    <meshgradient id="LinearMesh" x="0" y="0" gradientUnits="objectBoundingBox">
+      <meshrow>
+        <meshpatch>
+          <stop style="stop-color:#0000ff" path="l 1,0" />
+          <stop style="stop-color:#00ff00" path="l 0,1" />
+          <stop style="stop-color:#ffff00" path="l -1,0" />
+          <stop style="stop-color:#00ff00" path="l 0,-1" />
+        </meshpatch>
+      </meshrow>
+    </meshgradient>
+    <meshgradient id="BezierMesh" x="0" y="0" gradientUnits="objectBoundingBox">
+      <meshrow>
+        <meshpatch>
+          <stop style="stop-color:#0000ff" path="c 0.3333,0  0.6667,0  1,0" />
+          <stop style="stop-color:#00ff00" path="c 0,0.3333  0,0.6667  0,1" />
+          <stop style="stop-color:#ffff00" path="c -0.3333,0  -0.6667,0  -1,0" />
+          <stop style="stop-color:#00ff00" path="c 0,-0.3333  0,-0.6667  0,-1" />
+        </meshpatch>
+      </meshrow>
+    </meshgradient>
+  </defs>
+
+  <g id="test-body-content">
+    <rect x="20"  y="140" width="200" height="200" style="fill:url(#LinearMesh)" />
+    <rect x="260" y="140" width="200" height="200" style="fill:url(#BezierMesh)" />
+  </g>
+
+</svg>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/svg/pservers/reftests/meshgradient-basic-003-ref.png b/third_party/WebKit/LayoutTests/external/wpt/svg/pservers/reftests/meshgradient-basic-003-ref.png
new file mode 100644
index 0000000..39c36a1
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/svg/pservers/reftests/meshgradient-basic-003-ref.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/external/wpt/svg/pservers/reftests/meshgradient-basic-003.svg b/third_party/WebKit/LayoutTests/external/wpt/svg/pservers/reftests/meshgradient-basic-003.svg
new file mode 100644
index 0000000..84db2ea
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/svg/pservers/reftests/meshgradient-basic-003.svg
@@ -0,0 +1,103 @@
+<svg id="svg-root"
+  width="480" height="360" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink"
+  xmlns:html="http://www.w3.org/1999/xhtml">
+  <g id="testmeta">
+    <title>Mesh gradient: Simple 2x2 patch mesh (userSpaceOnUse).</title>
+    <html:link rel="author"
+          title="Tavmjong Bah"
+          href="http://tavmjong.free.fr"/>
+    <html:link rel="help"
+          href="https://www.w3.org/TR/SVG2/pservers.html#MeshGradients"/>
+    <html:link rel="match"  href="meshgradient-basic-003-ref.png" />
+  </g>
+
+  <style id="test-font" type="text/css">
+    /* Standard Font (if needed). */
+    @font-face {
+      font-family: FreeSans;
+      src: url("../fonts/FreeSans.woff") format("woff");
+    }
+    text {
+      font-family: FreeSans, sans-serif;
+      text-anchor: middle;
+      fill: black;
+    }
+    #title {
+      font-size: 24px;
+    }
+    .label {
+      font-size: 18px;
+    }
+  </style>
+
+  <defs>
+    <meshgradient id="LinearMesh" x="20" y="140" gradientUnits="userSpaceOnUse">
+      <meshrow>
+        <meshpatch>
+          <stop style="stop-color:#0000ff" path="l 100,0" />
+          <stop style="stop-color:#00ff00" path="l 0,100" />
+          <stop style="stop-color:#ffff00" path="l -100,0" />
+          <stop style="stop-color:#00ff00" path="l 0,-100" />
+        </meshpatch>
+        <meshpatch>
+          <stop                            path="l 100,0" />
+          <stop style="stop-color:#ffff00" path="l 0,100" />
+          <stop style="stop-color:#0000ff" path="l -100,0" />
+          <!-- No final stop -->
+        </meshpatch>
+      </meshrow>
+      <meshrow>
+        <meshpatch>
+          <!-- No initial stop -->
+          <stop                            path="l 0,100" />
+          <stop style="stop-color:#0000ff" path="l -100,0" />
+          <stop style="stop-color:#ffff00" path="l 0,-100" />
+        </meshpatch>
+        <meshpatch>
+          <!-- No initial stop -->
+          <stop                            path="l 0,100" />
+          <stop style="stop-color:#00ff00" path="l -100,0" />
+          <!-- No final stop -->
+        </meshpatch>
+      </meshrow>
+    </meshgradient>
+    <meshgradient id="BezierMesh" x="260" y="140" gradientUnits="userSpaceOnUse">
+      <meshrow>
+        <meshpatch>
+          <stop style="stop-color:#0000ff" path="c 33.33,0 66.67,0 100,0" />
+          <stop style="stop-color:#00ff00" path="c 0,33.33 0,66.67 0,100" />
+          <stop style="stop-color:#ffff00" path="c -33.33,0 -66.67,0 -100,0" />
+          <stop style="stop-color:#00ff00" path="c 0,-33.33 0,-66.67 0,-100" />
+        </meshpatch>
+        <meshpatch>
+          <stop                            path="c 33.33,0 66.67,0 100,0" />
+          <stop style="stop-color:#ffff00" path="c 0,33.33 0,66.67 0,100" />
+          <stop style="stop-color:#0000ff" path="c -33.33,0 -66.67,0 -100,0" />
+          <!-- No final stop -->
+        </meshpatch>
+      </meshrow>
+      <meshrow>
+        <meshpatch>
+          <!-- No initial stop -->
+          <stop                            path="c 0,33.33 0,66.67 0,100" />
+          <stop style="stop-color:#0000ff" path="c -33.33,0 -66.67,0 -100,0" />
+          <stop style="stop-color:#ffff00" path="c 0,-33.33 0,-66.67 0,-100" />
+        </meshpatch>
+        <meshpatch>
+          <!-- No initial stop -->
+          <stop                            path="c 0,33.33 0,66.67 0,100" />
+          <stop style="stop-color:#00ff00" path="c -33.33,0 -66.67,0 -100,0" />
+          <!-- No final stop -->
+        </meshpatch>
+      </meshrow>
+    </meshgradient>
+  </defs>
+
+  <g id="test-body-content">
+    <rect x="20"  y="140" width="200" height="200" style="fill:url(#LinearMesh)" />
+    <rect x="260" y="140" width="200" height="200" style="fill:url(#BezierMesh)" />
+  </g>
+
+</svg>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/svg/pservers/reftests/meshgradient-basic-004-ref.png b/third_party/WebKit/LayoutTests/external/wpt/svg/pservers/reftests/meshgradient-basic-004-ref.png
new file mode 100644
index 0000000..39c36a1
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/svg/pservers/reftests/meshgradient-basic-004-ref.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/external/wpt/svg/pservers/reftests/meshgradient-basic-004.svg b/third_party/WebKit/LayoutTests/external/wpt/svg/pservers/reftests/meshgradient-basic-004.svg
new file mode 100644
index 0000000..c7e75019
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/svg/pservers/reftests/meshgradient-basic-004.svg
@@ -0,0 +1,103 @@
+<svg id="svg-root"
+  width="480" height="360" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink"
+  xmlns:html="http://www.w3.org/1999/xhtml">
+  <g id="testmeta">
+    <title>Mesh gradient: Simple 2x2 patch mesh (objectBoundingBox).</title>
+    <html:link rel="author"
+          title="Tavmjong Bah"
+          href="http://tavmjong.free.fr"/>
+    <html:link rel="help"
+          href="https://www.w3.org/TR/SVG2/pservers.html#MeshGradients"/>
+    <html:link rel="match"  href="meshgradient-basic-004-ref.png" />
+  </g>
+
+  <style id="test-font" type="text/css">
+    /* Standard Font (if needed). */
+    @font-face {
+      font-family: FreeSans;
+      src: url("../fonts/FreeSans.woff") format("woff");
+    }
+    text {
+      font-family: FreeSans, sans-serif;
+      text-anchor: middle;
+      fill: black;
+    }
+    #title {
+      font-size: 24px;
+    }
+    .label {
+      font-size: 18px;
+    }
+  </style>
+
+  <defs>
+    <meshgradient id="LinearMesh" x="0" y="0" gradientUnits="objectBoundingBox">
+      <meshrow>
+        <meshpatch>
+          <stop style="stop-color:#0000ff" path="l 0.5,0" />
+          <stop style="stop-color:#00ff00" path="l 0,0.5" />
+          <stop style="stop-color:#ffff00" path="l -0.5,0" />
+          <stop style="stop-color:#00ff00" path="l 0,-0.5" />
+        </meshpatch>
+        <meshpatch>
+          <stop                            path="l 0.5,0" />
+          <stop style="stop-color:#ffff00" path="l 0,0.5" />
+          <stop style="stop-color:#0000ff" path="l -0.5,0" />
+          <!-- No final stop -->
+        </meshpatch>
+      </meshrow>
+      <meshrow>
+        <meshpatch>
+          <!-- No initial stop -->
+          <stop                            path="l 0,0.5" />
+          <stop style="stop-color:#0000ff" path="l -0.5,0" />
+          <stop style="stop-color:#ffff00" path="l 0,-0.5" />
+        </meshpatch>
+        <meshpatch>
+          <!-- No initial stop -->
+          <stop                            path="l 0,0.5" />
+          <stop style="stop-color:#00ff00" path="l -0.5,0" />
+          <!-- No final stop -->
+        </meshpatch>
+      </meshrow>
+    </meshgradient>
+    <meshgradient id="BezierMesh" x="0" y="0" gradientUnits="objectBoundingBox">
+      <meshrow>
+        <meshpatch>
+          <stop style="stop-color:#0000ff" path="c 0.1667,0 0.3333,0 0.5,0" />
+          <stop style="stop-color:#00ff00" path="c 0,0.1667 0,0.3333 0,0.5" />
+          <stop style="stop-color:#ffff00" path="c -0.1667,0 -0.3333,0 -0.5,0" />
+          <stop style="stop-color:#00ff00" path="c 0,-0.1667 0,-0.3333 0,-0.5" />
+        </meshpatch>
+        <meshpatch>
+          <stop                            path="c 0.1667,0 0.3333,0 0.5,0" />
+          <stop style="stop-color:#ffff00" path="c 0,0.1667 0,0.3333 0,0.5" />
+          <stop style="stop-color:#0000ff" path="c -0.1667,0 -0.3333,0 -0.5,0" />
+          <!-- No final stop -->
+        </meshpatch>
+      </meshrow>
+      <meshrow>
+        <meshpatch>
+          <!-- No initial stop -->
+          <stop                            path="c 0,0.1667 0,0.3333 0,0.5" />
+          <stop style="stop-color:#0000ff" path="c -0.1667,0 -0.3333,0 -0.5,0" />
+          <stop style="stop-color:#ffff00" path="c 0,-0.1667 0,-0.3333 0,-0.5" />
+        </meshpatch>
+        <meshpatch>
+          <!-- No initial stop -->
+          <stop                            path="c 0,0.1667 0,0.3333 0,0.5" />
+          <stop style="stop-color:#00ff00" path="c -0.1667,0 -0.3333,0 -0.5,0" />
+          <!-- No final stop -->
+        </meshpatch>
+      </meshrow>
+    </meshgradient>
+  </defs>
+
+  <g id="test-body-content">
+    <rect x="20"  y="140" width="200" height="200" style="fill:url(#LinearMesh)" />
+    <rect x="260" y="140" width="200" height="200" style="fill:url(#BezierMesh)" />
+  </g>
+
+</svg>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/svg/pservers/reftests/meshgradient-basic-005-ref.png b/third_party/WebKit/LayoutTests/external/wpt/svg/pservers/reftests/meshgradient-basic-005-ref.png
new file mode 100644
index 0000000..3cd5164b
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/svg/pservers/reftests/meshgradient-basic-005-ref.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/external/wpt/svg/pservers/reftests/meshgradient-basic-005.svg b/third_party/WebKit/LayoutTests/external/wpt/svg/pservers/reftests/meshgradient-basic-005.svg
new file mode 100644
index 0000000..59a6c2500
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/svg/pservers/reftests/meshgradient-basic-005.svg
@@ -0,0 +1,226 @@
+<svg id="svg-root"
+  width="480" height="360" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink"
+  xmlns:html="http://www.w3.org/1999/xhtml">
+  <g id="testmeta">
+    <title>Mesh gradient: Star: 10x2 patches.</title>
+    <html:link rel="author"
+          title="Tavmjong Bah"
+          href="http://tavmjong.free.fr"/>
+    <html:link rel="help"
+          href="https://www.w3.org/TR/SVG2/pservers.html#MeshGradients"/>
+    <html:link rel="match"  href="meshgradient-basic-005-ref.png" />
+  </g>
+
+  <style id="test-font" type="text/css">
+    /* Standard Font (if needed). */
+    @font-face {
+      font-family: FreeSans;
+      src: url("../fonts/FreeSans.woff") format("woff");
+    }
+    text {
+      font-family: FreeSans, sans-serif;
+      text-anchor: middle;
+      fill: black;
+    }
+    #title {
+      font-size: 24px;
+    }
+    .label {
+      font-size: 18px;
+    }
+  </style>
+
+  <defs>
+    <meshgradient id="StarMesh" x="240" y="140" gradientUnits="userSpaceOnUse">
+      <meshrow>
+        <meshpatch>
+          <stop
+             style="stop-color:#0000ff"
+             path="l 32.3286,65.5041" />
+          <stop
+             style="stop-color:#0000ff"
+             path="l -16.1641,22.248" />
+          <stop
+             style="stop-color:#00ff00"
+             path="l -16.1643,-32.752" />
+          <stop
+             style="stop-color:#00ff00"
+             path="l -0.000202026,-55" />
+        </meshpatch>
+        <meshpatch>
+          <stop
+             path="l 72.2879,10.5037" />
+          <stop
+             style="stop-color:#0000ff"
+             path="l -52.308,16.9961" />
+          <stop
+             style="stop-color:#00ff00"
+             path="l -36.144,-5.25184" />
+        </meshpatch>
+        <meshpatch>
+          <stop
+             path="l -52.308,50.9882" />
+          <stop
+             style="stop-color:#0000ff"
+             path="l -26.1541,-8.49796" />
+          <stop
+             style="stop-color:#00ff00"
+             path="l 26.154,-25.4941" />
+        </meshpatch>
+        <meshpatch>
+          <stop
+             path="l 12.3486,71.9957" />
+          <stop
+             style="stop-color:#0000ff"
+             path="l -32.3284,-44.4958" />
+          <stop
+             style="stop-color:#00ff00"
+             path="l -6.1743,-35.9979" />
+        </meshpatch>
+        <meshpatch>
+          <stop
+             path="l -64.6567,-33.9916" />
+          <stop
+             style="stop-color:#0000ff"
+             path="l -5.60788e-06,-27.5" />
+          <stop
+             style="stop-color:#00ff00"
+             path="l 32.3283,16.9958" />
+        </meshpatch>
+        <meshpatch>
+          <stop
+             path="l -64.6561,33.9921" />
+          <stop
+             style="stop-color:#0000ff"
+             path="l 32.328,-44.4961" />
+          <stop
+             style="stop-color:#00ff00"
+             path="l 32.328,-16.9961" />
+        </meshpatch>
+        <meshpatch>
+          <stop
+             path="l 12.3479,-71.9962" />
+          <stop
+             style="stop-color:#0000ff"
+             path="l 26.1541,-8.49797" />
+          <stop
+             style="stop-color:#00ff00"
+             path="l -6.17397,35.9981" />
+        </meshpatch>
+        <meshpatch>
+          <stop
+             path="l -52.3082,-50.9874" />
+          <stop
+             style="stop-color:#0000ff"
+             path="l 52.3082,16.9957" />
+          <stop
+             style="stop-color:#00ff00"
+             path="l 26.1541,25.4937" />
+        </meshpatch>
+        <meshpatch>
+          <stop
+             path="l 72.2881,-10.5044" />
+          <stop
+             style="stop-color:#0000ff"
+             path="l 16.1641,22.248" />
+          <stop
+             style="stop-color:#00ff00"
+             path="l -36.1441,5.25222" />
+        </meshpatch>
+        <meshpatch>
+          <stop
+             path="l 32.3278,-65.5041" />
+          <stop
+             style="stop-color:#0000ff"
+             path="l 0.000202026,55" />
+          <stop
+             style="stop-color:#00ff00"
+             path="l -16.1639,32.752" />
+        </meshpatch>
+      </meshrow>
+      <meshrow>
+        <meshpatch>
+          <stop
+             path="l -16.1641,22.248" />
+          <stop
+             style="stop-color:#ffff00"
+             path="l 0,0" />
+          <stop
+             style="stop-color:#ffff00"
+             path="l -0.000202026,-55" />
+        </meshpatch>
+        <meshpatch>
+          <stop
+             path="l -52.308,16.9961" />
+          <stop
+             style="stop-color:#ffff00"
+             path="l 0,0" />
+        </meshpatch>
+        <meshpatch>
+          <stop
+             path="l -26.1541,-8.49796" />
+          <stop
+             style="stop-color:#ffff00"
+             path="l 0,0" />
+        </meshpatch>
+        <meshpatch>
+          <stop
+             path="l -32.3284,-44.4958" />
+          <stop
+             style="stop-color:#ffff00"
+             path="l 0,0" />
+        </meshpatch>
+        <meshpatch>
+          <stop
+             path="l -5.60788e-06,-27.5" />
+          <stop
+             style="stop-color:#ffff00"
+             path="l 0,0" />
+        </meshpatch>
+        <meshpatch>
+          <stop
+             path="l 32.328,-44.4961" />
+          <stop
+             style="stop-color:#ffff00"
+             path="l 0,0" />
+        </meshpatch>
+        <meshpatch>
+          <stop
+             path="l 26.1541,-8.49797" />
+          <stop
+             style="stop-color:#ffff00"
+             path="l 0,0" />
+        </meshpatch>
+        <meshpatch>
+          <stop
+             path="l 52.3082,16.9957" />
+          <stop
+             style="stop-color:#ffff00"
+             path="l 0,0" />
+        </meshpatch>
+        <meshpatch>
+          <stop
+             path="l 16.1641,22.248" />
+          <stop
+             style="stop-color:#ffff00"
+             path="l 0,0" />
+        </meshpatch>
+        <meshpatch>
+          <stop
+             path="l 0.000202026,55" />
+          <stop
+             style="stop-color:#ffff00"
+             path="l 0,0" />
+        </meshpatch>
+      </meshrow>
+    </meshgradient>
+  </defs>
+
+  <g id="test-body-content">
+    <path d="m 240,140 32.328,65.504 72.288,10.504 -52.308,50.988 12.349,71.996 -64.657,-33.992 -64.6561,33.992 12.348,-71.996 -52.3082,-50.987 72.2881,-10.505 z"
+          style="fill:url(#StarMesh)" />
+  </g>
+
+</svg>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/svg/pservers/reftests/meshgradient-bicubic-001-ref.png b/third_party/WebKit/LayoutTests/external/wpt/svg/pservers/reftests/meshgradient-bicubic-001-ref.png
new file mode 100644
index 0000000..551345d
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/svg/pservers/reftests/meshgradient-bicubic-001-ref.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/external/wpt/svg/pservers/reftests/meshgradient-bicubic-001.svg b/third_party/WebKit/LayoutTests/external/wpt/svg/pservers/reftests/meshgradient-bicubic-001.svg
new file mode 100644
index 0000000..8c3c219
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/svg/pservers/reftests/meshgradient-bicubic-001.svg
@@ -0,0 +1,223 @@
+<svg id="svg-root"
+  width="480" height="360" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink"
+  xmlns:html="http://www.w3.org/1999/xhtml">
+  <g id="testmeta">
+    <title>Mesh gradient: Coons vs. Bicubic.</title>
+    <html:link rel="author"
+          title="Tavmjong Bah"
+          href="http://tavmjong.free.fr"/>
+    <html:link rel="help"
+          href="https://www.w3.org/TR/SVG2/pservers.html#MeshGradients"/>
+    <html:link rel="match"  href="meshgradient-bicubic-001-ref.png" />
+  </g>
+
+  <style id="test-font" type="text/css">
+    /* Standard Font (if needed). */
+    @font-face {
+      font-family: FreeSans;
+      src: url("../fonts/FreeSans.woff") format("woff");
+    }
+    text {
+      font-family: FreeSans, sans-serif;
+      text-anchor: middle;
+      fill: black;
+    }
+    #title {
+      font-size: 24px;
+    }
+    .label {
+      font-size: 18px;
+    }
+  </style>
+
+  <defs>
+    <meshgradient id="CheckerBoardCoons" x="20" y="140" gradientUnits="userSpaceOnUse">
+      <meshrow>
+        <meshpatch>
+          <stop
+             style="stop-color:#0000ff;stop-opacity:1"
+             path="c 22.2222,0  44.4444,0  66.6667,0" />
+          <stop
+             style="stop-color:#00ff00;stop-opacity:1"
+             path="c 0,22.2222  0,44.4444  0,66.6667" />
+          <stop
+             style="stop-color:#0000ff;stop-opacity:1"
+             path="c -22.2222,0  -44.4444,0  -66.6667,0" />
+          <stop
+             style="stop-color:#00ff00;stop-opacity:1"
+             path="c 0,-22.2222  0,-44.4444  0,-66.6667" />
+        </meshpatch>
+        <meshpatch>
+          <stop
+             path="c 22.2222,0  44.4444,0  66.6667,0" />
+          <stop
+             style="stop-color:#0000ff;stop-opacity:1"
+             path="c 0,22.2222  0,44.4444  0,66.6667" />
+          <stop
+             style="stop-color:#00ff00;stop-opacity:1"
+             path="c -22.2222,0  -44.4444,0  -66.6667,0" />
+        </meshpatch>
+        <meshpatch>
+          <stop
+             path="c 22.2222,0  44.4444,0  66.6667,0" />
+          <stop
+             style="stop-color:#00ff00;stop-opacity:1"
+             path="c 0,22.2222  0,44.4444  0,66.6667" />
+          <stop
+             style="stop-color:#0000ff;stop-opacity:1"
+             path="c -22.2222,0  -44.4444,0  -66.6667,0" />
+        </meshpatch>
+      </meshrow>
+      <meshrow>
+        <meshpatch>
+          <stop
+             path="c 0,22.2222  0,44.4444  0,66.6667" />
+          <stop
+             style="stop-color:#00ff00;stop-opacity:1"
+             path="c -22.2222,0  -44.4444,0  -66.6667,0" />
+          <stop
+             style="stop-color:#0000ff;stop-opacity:1"
+             path="c 0,-22.2222  0,-44.4444  0,-66.6667" />
+        </meshpatch>
+        <meshpatch>
+          <stop
+             path="c 0,22.2222  0,44.4444  0,66.6667" />
+          <stop
+             style="stop-color:#0000ff;stop-opacity:1"
+             path="c -22.2222,0  -44.4444,0  -66.6667,0" />
+        </meshpatch>
+        <meshpatch>
+          <stop
+             path="c 0,22.2222  0,44.4444  0,66.6667" />
+          <stop
+             style="stop-color:#00ff00;stop-opacity:1"
+             path="c -22.2222,0  -44.4444,0  -66.6667,0" />
+        </meshpatch>
+      </meshrow>
+      <meshrow>
+        <meshpatch>
+          <stop
+             path="c 0,22.2222  0,44.4444  0,66.6667" />
+          <stop
+             style="stop-color:#0000ff;stop-opacity:1"
+             path="c -22.2222,0  -44.4444,0  -66.6667,0" />
+          <stop
+             style="stop-color:#00ff00;stop-opacity:1"
+             path="c 0,-22.2222  0,-44.4444  0,-66.6667" />
+        </meshpatch>
+        <meshpatch>
+          <stop
+             path="c 0,22.2222  0,44.4444  0,66.6667" />
+          <stop
+             style="stop-color:#00ff00;stop-opacity:1"
+             path="c -22.2222,0  -44.4444,0  -66.6667,0" />
+        </meshpatch>
+        <meshpatch>
+          <stop
+             path="c 0,22.2222  0,44.4444  0,66.6667" />
+          <stop
+             style="stop-color:#0000ff;stop-opacity:1"
+             path="c -22.2222,0  -44.4444,0  -66.6667,0" />
+        </meshpatch>
+      </meshrow>
+    </meshgradient>
+    <meshgradient id="CheckerBoardBicubic" x="260" y="140" type="bicubic" gradientUnits="userSpaceOnUse">
+      <meshrow>
+        <meshpatch>
+          <stop
+             style="stop-color:#0000ff;stop-opacity:1"
+             path="c 22.2222,0  44.4444,0  66.6667,0" />
+          <stop
+             style="stop-color:#00ff00;stop-opacity:1"
+             path="c 0,22.2222  0,44.4444  0,66.6667" />
+          <stop
+             style="stop-color:#0000ff;stop-opacity:1"
+             path="c -22.2222,0  -44.4444,0  -66.6667,0" />
+          <stop
+             style="stop-color:#00ff00;stop-opacity:1"
+             path="c 0,-22.2222  0,-44.4444  0,-66.6667" />
+        </meshpatch>
+        <meshpatch>
+          <stop
+             path="c 22.2222,0  44.4444,0  66.6667,0" />
+          <stop
+             style="stop-color:#0000ff;stop-opacity:1"
+             path="c 0,22.2222  0,44.4444  0,66.6667" />
+          <stop
+             style="stop-color:#00ff00;stop-opacity:1"
+             path="c -22.2222,0  -44.4444,0  -66.6667,0" />
+        </meshpatch>
+        <meshpatch>
+          <stop
+             path="c 22.2222,0  44.4444,0  66.6667,0" />
+          <stop
+             style="stop-color:#00ff00;stop-opacity:1"
+             path="c 0,22.2222  0,44.4444  0,66.6667" />
+          <stop
+             style="stop-color:#0000ff;stop-opacity:1"
+             path="c -22.2222,0  -44.4444,0  -66.6667,0" />
+        </meshpatch>
+      </meshrow>
+      <meshrow>
+        <meshpatch>
+          <stop
+             path="c 0,22.2222  0,44.4444  0,66.6667" />
+          <stop
+             style="stop-color:#00ff00;stop-opacity:1"
+             path="c -22.2222,0  -44.4444,0  -66.6667,0" />
+          <stop
+             style="stop-color:#0000ff;stop-opacity:1"
+             path="c 0,-22.2222  0,-44.4444  0,-66.6667" />
+        </meshpatch>
+        <meshpatch>
+          <stop
+             path="c 0,22.2222  0,44.4444  0,66.6667" />
+          <stop
+             style="stop-color:#0000ff;stop-opacity:1"
+             path="c -22.2222,0  -44.4444,0  -66.6667,0" />
+        </meshpatch>
+        <meshpatch>
+          <stop
+             path="c 0,22.2222  0,44.4444  0,66.6667" />
+          <stop
+             style="stop-color:#00ff00;stop-opacity:1"
+             path="c -22.2222,0  -44.4444,0  -66.6667,0" />
+        </meshpatch>
+      </meshrow>
+      <meshrow>
+        <meshpatch>
+          <stop
+             path="c 0,22.2222  0,44.4444  0,66.6667" />
+          <stop
+             style="stop-color:#0000ff;stop-opacity:1"
+             path="c -22.2222,0  -44.4444,0  -66.6667,0" />
+          <stop
+             style="stop-color:#00ff00;stop-opacity:1"
+             path="c 0,-22.2222  0,-44.4444  0,-66.6667" />
+        </meshpatch>
+        <meshpatch>
+          <stop
+             path="c 0,22.2222  0,44.4444  0,66.6667" />
+          <stop
+             style="stop-color:#00ff00;stop-opacity:1"
+             path="c -22.2222,0  -44.4444,0  -66.6667,0" />
+        </meshpatch>
+        <meshpatch>
+          <stop
+             path="c 0,22.2222  0,44.4444  0,66.6667" />
+          <stop
+             style="stop-color:#0000ff;stop-opacity:1"
+             path="c -22.2222,0  -44.4444,0  -66.6667,0" />
+        </meshpatch>
+      </meshrow>
+    </meshgradient>
+  </defs>
+
+  <g id="test-body-content">
+    <rect x="20"  y="140" width="200" height="200" style="fill:url(#CheckerBoardCoons)" />
+    <rect x="260" y="140" width="200" height="200" style="fill:url(#CheckerBoardBicubic)" />
+  </g>
+
+</svg>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/svg/pservers/reftests/meshgradient-complex-001-ref.png b/third_party/WebKit/LayoutTests/external/wpt/svg/pservers/reftests/meshgradient-complex-001-ref.png
new file mode 100644
index 0000000..4ce893b
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/svg/pservers/reftests/meshgradient-complex-001-ref.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/external/wpt/svg/pservers/reftests/meshgradient-complex-001.svg b/third_party/WebKit/LayoutTests/external/wpt/svg/pservers/reftests/meshgradient-complex-001.svg
new file mode 100644
index 0000000..625fae5
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/svg/pservers/reftests/meshgradient-complex-001.svg
@@ -0,0 +1,89 @@
+<svg id="svg-root"
+  width="480" height="360" viewBox="0 0 480 360"
+  xmlns="http://www.w3.org/2000/svg"
+  xmlns:xlink="http://www.w3.org/1999/xlink"
+  xmlns:html="http://www.w3.org/1999/xhtml">
+  <g id="testmeta">
+    <title>Mesh gradient: Patch paint order.</title>
+    <html:link rel="author"
+          title="Tavmjong Bah"
+          href="http://tavmjong.free.fr"/>
+    <html:link rel="help"
+          href="https://www.w3.org/TR/SVG2/pservers.html#MeshGradients"/>
+    <html:link rel="match"  href="meshgradient-complex-001-ref.png" />
+  </g>
+
+  <style id="test-font" type="text/css">
+    /* Standard Font (if needed). */
+    @font-face {
+      font-family: FreeSans;
+      src: url("../fonts/FreeSans.woff") format("woff");
+    }
+    text {
+      font-family: FreeSans, sans-serif;
+      text-anchor: middle;
+      fill: black;
+    }
+    #title {
+      font-size: 24px;
+    }
+    .label {
+      font-size: 18px;
+    }
+  </style>
+
+  <defs>
+    <meshgradient id="PatchPaintOrder" x="120" y="110" gradientUnits="userSpaceOnUse">
+      <meshrow>
+        <meshpatch>
+          <stop
+             style="stop-color:#0000ff"
+             path="c 53.3333,0  250,0  250,20" />
+          <stop
+             style="stop-color:#00ff00"
+             path="c 0,40  0,60  0,100" />
+          <stop
+             style="stop-color:#ffff00"
+             path="c 0,-20  -196.667,-20  -250,-20" />
+          <stop
+             style="stop-color:#00ff00"
+             path="c 0,-40  0,-60  0,-100" />
+        </meshpatch>
+        <meshpatch>
+          <stop
+             path="c 0,20  -210,0  -140,20" />
+          <stop
+             style="stop-color:#ffff00"
+             path="c 0,40  0,60  0,100" />
+          <stop
+             style="stop-color:#0000ff"
+             path="c -70,-20  140,0  140,-20" />
+        </meshpatch>
+      </meshrow>
+      <meshrow>
+        <meshpatch>
+          <stop
+             path="c 0,40  0,60  0,100" />
+          <stop
+             style="stop-color:#0000ff"
+             path="c 0,-20  -196.667,-20  -250,-20" />
+          <stop
+             style="stop-color:#ffff00"
+             path="c 0,-40  0,-60  0,-100" />
+        </meshpatch>
+        <meshpatch>
+          <stop
+             path="c 0,40  0,60  0,100" />
+          <stop
+             style="stop-color:#00ff00"
+             path="c -70,-20  140,0  140,-20" />
+        </meshpatch>
+      </meshrow>
+    </meshgradient>
+  </defs>
+
+  <g id="test-body-content">
+    <rect x="80" y="110" width="320" height="240" style="fill:url(#PatchPaintOrder)" />
+  </g>
+
+</svg>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/svg/shapes/animatedPoints-non-animated-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/svg/shapes/animatedPoints-non-animated-expected.txt
new file mode 100644
index 0000000..04d72a0
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/svg/shapes/animatedPoints-non-animated-expected.txt
@@ -0,0 +1,4 @@
+This is a testharness.js-based test.
+FAIL animatedPoints represents non-animated value assert_equals: expected 20 but got 170
+Harness: the test ran to completion.
+
diff --git a/third_party/WebKit/LayoutTests/external/wpt/svg/shapes/animatedPoints-non-animated.html b/third_party/WebKit/LayoutTests/external/wpt/svg/shapes/animatedPoints-non-animated.html
new file mode 100644
index 0000000..5c17589
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/svg/shapes/animatedPoints-non-animated.html
@@ -0,0 +1,51 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>animatedPoints non-animated</title>
+<link rel="help" href="https://svgwg.org/svg2-draft/shapes.html#InterfaceSVGAnimatedPoints">
+<meta name="assert" content="animatedPoints represents the current non-animated value">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+</head>
+<body>
+<svg xmlns="http://www.w3.org/2000/svg"
+     xmlns:h="http://www.w3.org/1999/xhtml"
+     width="200" height="200">
+  <polyline fill="none" stroke="blue" stroke-width="5"
+            points="20,30 50,70" id="stripe">
+    <set id="anim" attributeType="XML" attributeName="points" fill="freeze"
+         to="170,150 130,120" begin="indefinite" onbegin="measure()"/>
+  </polyline>
+</svg>
+<script>
+
+'use strict';
+
+var measure;
+
+async_test(t => {
+
+  measure = t.step_func(() => {
+    const stripe = document.getElementById('stripe');
+    const animatedPoints = stripe.animatedPoints;
+    assert_equals(animatedPoints.numberOfItems, 2);
+    assert_equals(animatedPoints.getItem(0).x, 20);
+    assert_equals(animatedPoints.getItem(0).y, 30);
+    assert_equals(animatedPoints.getItem(1).x, 50);
+    assert_equals(animatedPoints.getItem(1).y, 70);
+    t.done();
+  });
+
+  const anim = document.getElementById('anim');
+  if (anim.beginElement) {
+    anim.beginElement();
+  } else {
+    // SMIL not supported.
+    requestAnimationFrame(measure);
+  }
+}, 'animatedPoints represents non-animated value');
+
+</script>
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/constructor/compile.any.js b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/constructor/compile.any.js
index 0139a18f..bd23a86 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/constructor/compile.any.js
+++ b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/constructor/compile.any.js
@@ -69,6 +69,10 @@
 }, "Result type");
 
 promise_test(() => {
+  return WebAssembly.compile(emptyModuleBinary, {}).then(assert_Module);
+}, "Stray argument");
+
+promise_test(() => {
   const buffer = new WasmModuleBuilder().toBuffer();
   assert_equals(buffer[0], 0);
   const promise = WebAssembly.compile(buffer);
diff --git a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/constructor/instantiate.any.js b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/constructor/instantiate.any.js
index e90f21e2..5da6bd5 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/constructor/instantiate.any.js
+++ b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/constructor/instantiate.any.js
@@ -2,6 +2,7 @@
 // META: script=/wasm/jsapi/wasm-constants.js
 // META: script=/wasm/jsapi/wasm-module-builder.js
 // META: script=/wasm/jsapi/assertions.js
+// META: script=/wasm/jsapi/instanceTestFactory.js
 
 function assert_WebAssemblyInstantiatedSource(actual, expected_exports={}) {
   assert_equals(Object.getPrototypeOf(actual), Object.prototype,
@@ -77,111 +78,25 @@
   assert_true(Object.isExtensible(promise), "extensibility");
 }, "Promise type");
 
-const createModule = () => {
-  const builder = new WasmModuleBuilder();
+for (const [name, fn] of instanceTestFactory) {
+  promise_test(() => {
+    const { buffer, args, exports, verify } = fn();
+    return WebAssembly.instantiate(buffer, ...args).then(result => {
+      assert_WebAssemblyInstantiatedSource(result, exports);
+      verify(result.instance);
+    });
+  }, `${name}: BufferSource argument`);
 
-  builder
-    .addFunction("fn", kSig_v_d)
-    .addBody([
-        kExprEnd
-    ])
-    .exportFunc();
-  builder
-    .addFunction("fn2", kSig_v_v)
-    .addBody([
-        kExprEnd
-    ])
-    .exportFunc();
-
-  builder.setFunctionTableLength(1);
-  builder.addExportOfKind("table", kExternalTable, 0);
-
-  builder.addGlobal(kWasmI32, true)
-    .exportAs("global")
-    .init = 7;
-  builder.addGlobal(kWasmF64, true)
-    .exportAs("global2")
-    .init = 1.2;
-
-  builder.addMemory(4, 8, true);
-
-  const buffer = builder.toBuffer();
-
-  const exports = {
-    "fn": { "kind": "function", "name": "0", "length": 1 },
-    "fn2": { "kind": "function", "name": "1", "length": 0 },
-    "table": { "kind": "table", "length": 1 },
-    "global": { "kind": "global", "value": 7 },
-    "global2": { "kind": "global", "value": 1.2 },
-    "memory": { "kind": "memory", "size": 4 },
-  };
-
-  return [buffer, exports];
+  promise_test(() => {
+    const { buffer, args, exports, verify } = fn();
+    const module = new WebAssembly.Module(buffer);
+    return WebAssembly.instantiate(module, ...args).then(instance => {
+      assert_Instance(instance, exports);
+      verify(instance);
+    });
+  }, `${name}: Module argument`);
 }
 
-promise_test(() => {
-  const [buffer, expected] = createModule();
-  return WebAssembly.instantiate(buffer).then(result => assert_WebAssemblyInstantiatedSource(result, expected));
-}, "BufferSource argument");
-
-promise_test(() => {
-  const [buffer, expected] = createModule();
-  const module = new WebAssembly.Module(buffer);
-  return WebAssembly.instantiate(module).then(instance => assert_Instance(instance, expected));
-}, "Module argument");
-
-const createModuleWithImports = () => {
-  const builder = new WasmModuleBuilder();
-
-  const index = builder.addImportedGlobal("module", "global", kWasmI32);
-  builder
-    .addFunction("fn", kSig_i_v)
-    .addBody([
-        kExprGetGlobal,
-        index,
-        kExprReturn,
-        kExprEnd,
-    ])
-    .exportFunc();
-
-  const buffer = builder.toBuffer();
-
-  const expected = {
-    "fn": { "kind": "function", "name": "0", "length": 0 },
-  };
-
-  return [buffer, expected];
-};
-
-promise_test(() => {
-  const [buffer, expected] = createModuleWithImports();
-
-  const value = 102;
-  return WebAssembly.instantiate(buffer, {
-    "module": {
-      "global": value,
-    },
-  }).then(result => {
-    assert_WebAssemblyInstantiatedSource(result, expected)
-    assert_equals(result.instance.exports.fn(), value);
-  });
-}, "exports and imports: buffer argument");
-
-promise_test(() => {
-  const [buffer, expected] = createModuleWithImports();
-  const module = new WebAssembly.Module(buffer);
-
-  const value = 102;
-  return WebAssembly.instantiate(module, {
-    "module": {
-      "global": value,
-    },
-  }).then(instance => {
-    assert_Instance(instance, expected)
-    assert_equals(instance.exports.fn(), value);
-  });
-}, "exports and imports: Module argument");
-
 promise_test(t => {
   const buffer = new Uint8Array();
   return promise_rejects(t, new WebAssembly.CompileError(), WebAssembly.instantiate(buffer));
diff --git a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/constructor/validate.any.js b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/constructor/validate.any.js
index 70bd9f7..c8613cb 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/constructor/validate.any.js
+++ b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/constructor/validate.any.js
@@ -94,3 +94,7 @@
     }
   }
 }
+
+test(() => {
+  assert_true(WebAssembly.validate(emptyModuleBinary, {}));
+}, "Stray argument");
diff --git a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/global/constructor.any-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/global/constructor.any-expected.txt
index 698dffd..6408c87 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/global/constructor.any-expected.txt
+++ b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/global/constructor.any-expected.txt
@@ -34,5 +34,6 @@
 PASS Explicit value "3" for type f64
 PASS Explicit value object with toString for type f64
 PASS Explicit value object with valueOf for type f64
+PASS Stray argument
 Harness: the test ran to completion.
 
diff --git a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/global/constructor.any.js b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/global/constructor.any.js
index 7a45cc41..237f99c8 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/global/constructor.any.js
+++ b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/global/constructor.any.js
@@ -119,3 +119,9 @@
     }, `Explicit value ${name} for type ${type}`);
   }
 }
+
+test(() => {
+  const argument = { "value": "i32" };
+  const global = new WebAssembly.Global(argument, 0, {});
+  assert_Global(global, 0);
+}, "Stray argument");
diff --git a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/global/constructor.any.worker-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/global/constructor.any.worker-expected.txt
index 698dffd..6408c87 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/global/constructor.any.worker-expected.txt
+++ b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/global/constructor.any.worker-expected.txt
@@ -34,5 +34,6 @@
 PASS Explicit value "3" for type f64
 PASS Explicit value object with toString for type f64
 PASS Explicit value object with valueOf for type f64
+PASS Stray argument
 Harness: the test ran to completion.
 
diff --git a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/global/value-get-set.any-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/global/value-get-set.any-expected.txt
new file mode 100644
index 0000000..e1ffba45
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/global/value-get-set.any-expected.txt
@@ -0,0 +1,37 @@
+This is a testharness.js-based test.
+PASS Branding
+PASS Immutable i32 (missing)
+PASS Immutable i32 (undefined)
+PASS Immutable i32 (null)
+PASS Immutable i32 (false)
+PASS Immutable i32 (empty string)
+PASS Immutable i32 (zero)
+PASS Mutable i32 (true)
+PASS Mutable i32 (one)
+PASS Mutable i32 (string)
+PASS Mutable i32 (true on prototype)
+PASS Immutable f32 (missing)
+PASS Immutable f32 (undefined)
+PASS Immutable f32 (null)
+PASS Immutable f32 (false)
+PASS Immutable f32 (empty string)
+PASS Immutable f32 (zero)
+PASS Mutable f32 (true)
+PASS Mutable f32 (one)
+PASS Mutable f32 (string)
+PASS Mutable f32 (true on prototype)
+PASS Immutable f64 (missing)
+PASS Immutable f64 (undefined)
+PASS Immutable f64 (null)
+PASS Immutable f64 (false)
+PASS Immutable f64 (empty string)
+PASS Immutable f64 (zero)
+PASS Mutable f64 (true)
+PASS Mutable f64 (one)
+PASS Mutable f64 (string)
+PASS Mutable f64 (true on prototype)
+FAIL i64 with default WebAssembly.Global(): Descriptor property 'value' must be 'i32', 'f32', or 'f64'
+FAIL Calling setter without argument assert_throws: function "() => setter.call(global)" did not throw
+PASS Stray argument
+Harness: the test ran to completion.
+
diff --git a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/global/value-set.any.js b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/global/value-get-set.any.js
similarity index 84%
rename from third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/global/value-set.any.js
rename to third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/global/value-get-set.any.js
index b4e6770f..6de62d5 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/global/value-set.any.js
+++ b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/global/value-get-set.any.js
@@ -92,3 +92,20 @@
 
   assert_throws(new TypeError(), () => setter.call(global));
 }, "Calling setter without argument");
+
+test(() => {
+  const argument = { "value": "i32", "mutable": true };
+  const global = new WebAssembly.Global(argument);
+  const desc = Object.getOwnPropertyDescriptor(WebAssembly.Global.prototype, "value");
+  assert_equals(typeof desc, "object");
+
+  const getter = desc.get;
+  assert_equals(typeof getter, "function");
+
+  const setter = desc.set;
+  assert_equals(typeof setter, "function");
+
+  assert_equals(getter.call(global, {}), 0);
+  assert_equals(setter.call(global, 1, {}), undefined);
+  assert_equals(global.value, 1);
+}, "Stray argument");
diff --git a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/global/value-get-set.any.worker-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/global/value-get-set.any.worker-expected.txt
new file mode 100644
index 0000000..e1ffba45
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/global/value-get-set.any.worker-expected.txt
@@ -0,0 +1,37 @@
+This is a testharness.js-based test.
+PASS Branding
+PASS Immutable i32 (missing)
+PASS Immutable i32 (undefined)
+PASS Immutable i32 (null)
+PASS Immutable i32 (false)
+PASS Immutable i32 (empty string)
+PASS Immutable i32 (zero)
+PASS Mutable i32 (true)
+PASS Mutable i32 (one)
+PASS Mutable i32 (string)
+PASS Mutable i32 (true on prototype)
+PASS Immutable f32 (missing)
+PASS Immutable f32 (undefined)
+PASS Immutable f32 (null)
+PASS Immutable f32 (false)
+PASS Immutable f32 (empty string)
+PASS Immutable f32 (zero)
+PASS Mutable f32 (true)
+PASS Mutable f32 (one)
+PASS Mutable f32 (string)
+PASS Mutable f32 (true on prototype)
+PASS Immutable f64 (missing)
+PASS Immutable f64 (undefined)
+PASS Immutable f64 (null)
+PASS Immutable f64 (false)
+PASS Immutable f64 (empty string)
+PASS Immutable f64 (zero)
+PASS Mutable f64 (true)
+PASS Mutable f64 (one)
+PASS Mutable f64 (string)
+PASS Mutable f64 (true on prototype)
+FAIL i64 with default WebAssembly.Global(): Descriptor property 'value' must be 'i32', 'f32', or 'f64'
+FAIL Calling setter without argument assert_throws: function "() => setter.call(global)" did not throw
+PASS Stray argument
+Harness: the test ran to completion.
+
diff --git a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/global/valueOf.any.js b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/global/valueOf.any.js
index 176c5a7..d4a84b2 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/global/valueOf.any.js
+++ b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/global/valueOf.any.js
@@ -20,3 +20,9 @@
     assert_throws(new TypeError(), () => fn.call(thisValue), `this=${format_value(thisValue)}`);
   }
 }, "Branding");
+
+test(() => {
+  const argument = { "value": "i32" };
+  const global = new WebAssembly.Global(argument, 0);
+  assert_equals(global.valueOf({}), 0);
+}, "Stray argument");
diff --git a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/instance/constructor.any.js b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/instance/constructor.any.js
index f9bd06a..e6a045020 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/instance/constructor.any.js
+++ b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/instance/constructor.any.js
@@ -2,6 +2,7 @@
 // META: script=/wasm/jsapi/wasm-constants.js
 // META: script=/wasm/jsapi/wasm-module-builder.js
 // META: script=/wasm/jsapi/assertions.js
+// META: script=/wasm/jsapi/instanceTestFactory.js
 
 let emptyModuleBinary;
 setup(() => {
@@ -40,182 +41,15 @@
 
 test(() => {
   const module = new WebAssembly.Module(emptyModuleBinary);
-  const invalidArguments = [
-    null,
-    true,
-    "",
-    Symbol(),
-    1,
-  ];
-  for (const argument of invalidArguments) {
-    assert_throws(new TypeError(), () => new WebAssembly.Instance(module, argument),
-                  `new Instance(module, ${format_value(argument)})`);
-  }
-}, "Non-object imports");
-
-test(() => {
-  const module = new WebAssembly.Module(emptyModuleBinary);
   assert_throws(new TypeError(), () => WebAssembly.Instance(module));
 }, "Calling");
 
-test(() => {
-  const module = new WebAssembly.Module(emptyModuleBinary);
-  const arguments = [
-    [],
-    [undefined],
-    [{}],
-  ];
-  for (const value of arguments) {
-    const instance = new WebAssembly.Instance(module, ...arguments);
-    assert_Instance(instance, {});
-  }
-}, "Empty module");
-
-test(() => {
-  const builder = new WasmModuleBuilder();
-  builder.addImportedGlobal("module", "global1", kWasmI32);
-  builder.addImportedGlobal("module2", "global3", kWasmI32);
-  builder.addImportedMemory("module", "memory", 0, 128);
-  builder.addImportedGlobal("module", "global2", kWasmI32);
-  const buffer = builder.toBuffer();
-  const module = new WebAssembly.Module(buffer);
-  const order = [];
-  const imports = {
-    get module() {
-      order.push("module getter");
-      return {
-        get global1() {
-          order.push("global1 getter");
-          return 0;
-        },
-        get global2() {
-          order.push("global2 getter");
-          return 0;
-        },
-        get memory() {
-          order.push("memory getter");
-          return new WebAssembly.Memory({ "initial": 64, maximum: 128 });
-        },
-      }
-    },
-    get module2() {
-      order.push("module2 getter");
-      return {
-        get global3() {
-          order.push("global3 getter");
-          return 0;
-        },
-      }
-    },
-  };
-  new WebAssembly.Instance(module, imports);
-  const expected = [
-    "module getter",
-    "global1 getter",
-    "module2 getter",
-    "global3 getter",
-    "module getter",
-    "memory getter",
-    "module getter",
-    "global2 getter",
-  ];
-  assert_array_equals(order, expected);
-}, "getter order for imports object");
-
-test(() => {
-  const builder = new WasmModuleBuilder();
-
-  builder.addImport("module", "fn", kSig_v_v);
-  builder.addImportedGlobal("module", "global", kWasmI32);
-  builder.addImportedMemory("module", "memory", 0, 128);
-  builder.addImportedTable("module", "table", 0, 128);
-
-  const buffer = builder.toBuffer();
-  const module = new WebAssembly.Module(buffer);
-  const instance = new WebAssembly.Instance(module, {
-    "module": {
-      "fn": function() {},
-      "global": 0,
-      "memory": new WebAssembly.Memory({ "initial": 64, maximum: 128 }),
-      "table": new WebAssembly.Table({ "element": "anyfunc", "initial": 64, maximum: 128 }),
-    },
-    get "module2"() {
-      assert_unreached("Should not get modules that are not imported");
-    },
-  });
-  assert_Instance(instance, {});
-}, "imports");
-
-test(() => {
-  const builder = new WasmModuleBuilder();
-
-  builder
-    .addFunction("fn", kSig_v_d)
-    .addBody([
-        kExprEnd
-    ])
-    .exportFunc();
-  builder
-    .addFunction("fn2", kSig_v_v)
-    .addBody([
-        kExprEnd
-    ])
-    .exportFunc();
-
-  builder.setFunctionTableLength(1);
-  builder.addExportOfKind("table", kExternalTable, 0);
-
-  builder.addGlobal(kWasmI32, true)
-    .exportAs("global")
-    .init = 7;
-  builder.addGlobal(kWasmF64, true)
-    .exportAs("global2")
-    .init = 1.2;
-
-  builder.addMemory(4, 8, true);
-
-  const buffer = builder.toBuffer()
-  const module = new WebAssembly.Module(buffer);
-
-  const instance = new WebAssembly.Instance(module, {});
-  const expected = {
-    "fn": { "kind": "function", "name": "0", "length": 1 },
-    "fn2": { "kind": "function", "name": "1", "length": 0 },
-    "table": { "kind": "table", "length": 1 },
-    "global": { "kind": "global", "value": 7 },
-    "global2": { "kind": "global", "value": 1.2 },
-    "memory": { "kind": "memory", "size": 4 },
-  };
-  assert_Instance(instance, expected);
-}, "exports");
-
-test(() => {
-  const value = 102;
-
-  const builder = new WasmModuleBuilder();
-
-  builder.addImportedGlobal("module", "global", kWasmI32);
-  builder
-    .addFunction("fn", kSig_i_v)
-    .addBody([
-        kExprGetGlobal,
-        0,
-        kExprReturn,
-        kExprEnd,
-    ])
-    .exportFunc();
-
-  const buffer = builder.toBuffer();
-  const module = new WebAssembly.Module(buffer);
-  const instance = new WebAssembly.Instance(module, {
-    "module": {
-      "global": value,
-    },
-  });
-  const expected = {
-    "fn": { "kind": "function", "name": "0", "length": 0 },
-  };
-  assert_Instance(instance, expected);
-
-  assert_equals(instance.exports.fn(), value);
-}, "exports and imports");
+for (const [name, fn] of instanceTestFactory) {
+  test(() => {
+    const { buffer, args, exports, verify } = fn();
+    const module = new WebAssembly.Module(buffer);
+    const instance = new WebAssembly.Instance(module, ...args);
+    assert_Instance(instance, exports);
+    verify(instance);
+  }, name);
+}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/instance/exports.any.js b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/instance/exports.any.js
index 31423918..cad4686 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/instance/exports.any.js
+++ b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/instance/exports.any.js
@@ -37,6 +37,20 @@
   const module = new WebAssembly.Module(emptyModuleBinary);
   const instance = new WebAssembly.Instance(module);
   const exports = instance.exports;
+
+  const desc = Object.getOwnPropertyDescriptor(WebAssembly.Instance.prototype, "exports");
+  assert_equals(typeof desc, "object");
+
+  const getter = desc.get;
+  assert_equals(typeof getter, "function");
+
+  assert_equals(getter.call(instance, {}), exports);
+}, "Stray argument");
+
+test(() => {
+  const module = new WebAssembly.Module(emptyModuleBinary);
+  const instance = new WebAssembly.Instance(module);
+  const exports = instance.exports;
   instance.exports = {};
   assert_equals(instance.exports, exports, "Should not change the exports");
 }, "Setting (sloppy mode)");
diff --git a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/instanceTestFactory.js b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/instanceTestFactory.js
new file mode 100644
index 0000000..24f849e6
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/instanceTestFactory.js
@@ -0,0 +1,229 @@
+const instanceTestFactory = [
+  [
+    "Empty module without imports argument",
+    function() {
+      return {
+        buffer: emptyModuleBinary,
+        args: [],
+        exports: {},
+        verify: () => {},
+      };
+    }
+  ],
+
+  [
+    "Empty module with undefined imports argument",
+    function() {
+      return {
+        buffer: emptyModuleBinary,
+        args: [undefined],
+        exports: {},
+        verify: () => {},
+      };
+    }
+  ],
+
+  [
+    "Empty module with empty imports argument",
+    function() {
+      return {
+        buffer: emptyModuleBinary,
+        args: [{}],
+        exports: {},
+        verify: () => {},
+      };
+    }
+  ],
+
+  [
+    "getter order for imports object",
+    function() {
+      const builder = new WasmModuleBuilder();
+      builder.addImportedGlobal("module", "global1", kWasmI32);
+      builder.addImportedGlobal("module2", "global3", kWasmI32);
+      builder.addImportedMemory("module", "memory", 0, 128);
+      builder.addImportedGlobal("module", "global2", kWasmI32);
+      const buffer = builder.toBuffer();
+      const order = [];
+
+      const imports = {
+        get module() {
+          order.push("module getter");
+          return {
+            get global1() {
+              order.push("global1 getter");
+              return 0;
+            },
+            get global2() {
+              order.push("global2 getter");
+              return 0;
+            },
+            get memory() {
+              order.push("memory getter");
+              return new WebAssembly.Memory({ "initial": 64, maximum: 128 });
+            },
+          }
+        },
+        get module2() {
+          order.push("module2 getter");
+          return {
+            get global3() {
+              order.push("global3 getter");
+              return 0;
+            },
+          }
+        },
+      };
+
+      const expected = [
+        "module getter",
+        "global1 getter",
+        "module2 getter",
+        "global3 getter",
+        "module getter",
+        "memory getter",
+        "module getter",
+        "global2 getter",
+      ];
+      return {
+        buffer,
+        args: [imports],
+        exports: {},
+        verify: () => assert_array_equals(order, expected),
+      };
+    }
+  ],
+
+  [
+    "imports",
+    function() {
+      const builder = new WasmModuleBuilder();
+
+      builder.addImport("module", "fn", kSig_v_v);
+      builder.addImportedGlobal("module", "global", kWasmI32);
+      builder.addImportedMemory("module", "memory", 0, 128);
+      builder.addImportedTable("module", "table", 0, 128);
+
+      const buffer = builder.toBuffer();
+      const imports = {
+        "module": {
+          "fn": function() {},
+          "global": 0,
+          "memory": new WebAssembly.Memory({ "initial": 64, maximum: 128 }),
+          "table": new WebAssembly.Table({ "element": "anyfunc", "initial": 64, maximum: 128 }),
+        },
+        get "module2"() {
+          assert_unreached("Should not get modules that are not imported");
+        },
+      };
+
+      return {
+        buffer,
+        args: [imports],
+        exports: {},
+        verify: () => {},
+      };
+    }
+  ],
+
+  [
+    "No imports",
+    function() {
+      const builder = new WasmModuleBuilder();
+
+      builder
+        .addFunction("fn", kSig_v_d)
+        .addBody([
+            kExprEnd
+        ])
+        .exportFunc();
+      builder
+        .addFunction("fn2", kSig_v_v)
+        .addBody([
+            kExprEnd
+        ])
+        .exportFunc();
+
+      builder.setFunctionTableLength(1);
+      builder.addExportOfKind("table", kExternalTable, 0);
+
+      builder.addGlobal(kWasmI32, true)
+        .exportAs("global")
+        .init = 7;
+      builder.addGlobal(kWasmF64, true)
+        .exportAs("global2")
+        .init = 1.2;
+
+      builder.addMemory(4, 8, true);
+
+      const buffer = builder.toBuffer();
+
+      const exports = {
+        "fn": { "kind": "function", "name": "0", "length": 1 },
+        "fn2": { "kind": "function", "name": "1", "length": 0 },
+        "table": { "kind": "table", "length": 1 },
+        "global": { "kind": "global", "value": 7 },
+        "global2": { "kind": "global", "value": 1.2 },
+        "memory": { "kind": "memory", "size": 4 },
+      };
+
+      return {
+        buffer,
+        args: [],
+        exports,
+        verify: () => {},
+      };
+    }
+  ],
+
+  [
+    "exports and imports",
+    function() {
+      const value = 102;
+
+      const builder = new WasmModuleBuilder();
+
+      const index = builder.addImportedGlobal("module", "global", kWasmI32);
+      builder
+        .addFunction("fn", kSig_i_v)
+        .addBody([
+            kExprGetGlobal,
+            index,
+            kExprReturn,
+            kExprEnd,
+        ])
+        .exportFunc();
+
+      const buffer = builder.toBuffer();
+
+      const imports = {
+        "module": {
+          "global": value,
+        },
+      };
+
+      const exports = {
+        "fn": { "kind": "function", "name": "0", "length": 0 },
+      };
+
+      return {
+        buffer,
+        args: [imports],
+        exports,
+        verify: instance => assert_equals(instance.exports.fn(), value)
+      };
+    }
+  ],
+
+  [
+    "stray argument",
+    function() {
+      return {
+        buffer: emptyModuleBinary,
+        args: [{}, {}],
+        exports: {},
+        verify: () => {}
+      };
+    }
+  ],
+];
diff --git a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/interface.any.js b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/interface.any.js
index 5d76ac5..98c4a1d 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/interface.any.js
+++ b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/interface.any.js
@@ -9,7 +9,7 @@
       assert_true(propdesc.writable, "writable");
       assert_true(propdesc.enumerable, "enumerable");
       assert_true(propdesc.configurable, "configurable");
-      assert_equals(propdesc.value, WebAssembly[name]);
+      assert_equals(propdesc.value, object[name]);
     }, `${object_name}.${name}`);
 
     test(() => {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/memory/buffer.any.js b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/memory/buffer.any.js
index b04460b..4788ffcf 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/memory/buffer.any.js
+++ b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/memory/buffer.any.js
@@ -29,6 +29,20 @@
 test(() => {
   const argument = { "initial": 0 };
   const memory = new WebAssembly.Memory(argument);
+  const buffer = memory.buffer;
+
+  const desc = Object.getOwnPropertyDescriptor(WebAssembly.Memory.prototype, "buffer");
+  assert_equals(typeof desc, "object");
+
+  const getter = desc.get;
+  assert_equals(typeof getter, "function");
+
+  assert_equals(getter.call(memory, {}), buffer);
+}, "Stray argument");
+
+test(() => {
+  const argument = { "initial": 0 };
+  const memory = new WebAssembly.Memory(argument);
   const memory2 = new WebAssembly.Memory(argument);
   const buffer = memory.buffer;
   assert_not_equals(buffer, memory2.buffer, "Need two distinct buffers");
diff --git a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/memory/constructor.any-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/memory/constructor.any-expected.txt
index ef8c594..f0e5983 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/memory/constructor.any-expected.txt
+++ b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/memory/constructor.any-expected.txt
@@ -17,9 +17,11 @@
 FAIL Out-of-range maximum value in descriptor: 4294967296 assert_throws: function "() => new WebAssembly.Memory({ "initial": 0, "maximum": value })" threw object "RangeError: WebAssembly.Memory(): Property value 4294967296 is above the upper bound 65536" ("RangeError") expected object "TypeError" ("TypeError")
 FAIL Out-of-range initial value in descriptor: 68719476736 assert_throws: function "() => new WebAssembly.Memory({ "initial": value })" threw object "RangeError: WebAssembly.Memory(): Property value 68719476736 is above the upper bound 32767" ("RangeError") expected object "TypeError" ("TypeError")
 FAIL Out-of-range maximum value in descriptor: 68719476736 assert_throws: function "() => new WebAssembly.Memory({ "initial": 0, "maximum": value })" threw object "RangeError: WebAssembly.Memory(): Property value 68719476736 is above the upper bound 65536" ("RangeError") expected object "TypeError" ("TypeError")
+PASS Initial value exceeds maximum
 FAIL Proxy descriptor assert_unreached: Should not call [[HasProperty]] with maximum Reached unreachable code
 PASS Order of evaluation for descriptor
 PASS Zero initial
 PASS Non-zero initial
+PASS Stray argument
 Harness: the test ran to completion.
 
diff --git a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/memory/constructor.any.js b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/memory/constructor.any.js
index f9907ca..a584a23e 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/memory/constructor.any.js
+++ b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/memory/constructor.any.js
@@ -80,6 +80,10 @@
 }
 
 test(() => {
+  assert_throws(new RangeError(), () => new WebAssembly.Memory({ "element": "anyfunc", "initial": 10, "maximum": 9 }));
+}, "Initial value exceeds maximum");
+
+test(() => {
   const proxy = new Proxy({}, {
     has(o, x) {
       assert_unreached(`Should not call [[HasProperty]] with ${x}`);
@@ -135,3 +139,9 @@
   const memory = new WebAssembly.Memory(argument);
   assert_Memory(memory, { "size": 4 });
 }, "Non-zero initial");
+
+test(() => {
+  const argument = { "initial": 0 };
+  const memory = new WebAssembly.Memory(argument, {});
+  assert_Memory(memory, { "size": 0 });
+}, "Stray argument");
diff --git a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/memory/constructor.any.worker-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/memory/constructor.any.worker-expected.txt
index ef8c594..f0e5983 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/memory/constructor.any.worker-expected.txt
+++ b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/memory/constructor.any.worker-expected.txt
@@ -17,9 +17,11 @@
 FAIL Out-of-range maximum value in descriptor: 4294967296 assert_throws: function "() => new WebAssembly.Memory({ "initial": 0, "maximum": value })" threw object "RangeError: WebAssembly.Memory(): Property value 4294967296 is above the upper bound 65536" ("RangeError") expected object "TypeError" ("TypeError")
 FAIL Out-of-range initial value in descriptor: 68719476736 assert_throws: function "() => new WebAssembly.Memory({ "initial": value })" threw object "RangeError: WebAssembly.Memory(): Property value 68719476736 is above the upper bound 32767" ("RangeError") expected object "TypeError" ("TypeError")
 FAIL Out-of-range maximum value in descriptor: 68719476736 assert_throws: function "() => new WebAssembly.Memory({ "initial": 0, "maximum": value })" threw object "RangeError: WebAssembly.Memory(): Property value 68719476736 is above the upper bound 65536" ("RangeError") expected object "TypeError" ("TypeError")
+PASS Initial value exceeds maximum
 FAIL Proxy descriptor assert_unreached: Should not call [[HasProperty]] with maximum Reached unreachable code
 PASS Order of evaluation for descriptor
 PASS Zero initial
 PASS Non-zero initial
+PASS Stray argument
 Harness: the test ran to completion.
 
diff --git a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/memory/grow.any-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/memory/grow.any-expected.txt
index 7a72550..1f0c1b04 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/memory/grow.any-expected.txt
+++ b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/memory/grow.any-expected.txt
@@ -16,5 +16,6 @@
 FAIL Out-of-range argument: 68719476736 assert_throws: function "() => memory.grow(value)" threw object "RangeError: WebAssembly.Memory.grow(): maximum memory size exceeded" ("RangeError") expected object "TypeError" ("TypeError")
 FAIL Out-of-range argument: "0x100000000" assert_throws: function "() => memory.grow(value)" threw object "RangeError: WebAssembly.Memory.grow(): maximum memory size exceeded" ("RangeError") expected object "TypeError" ("TypeError")
 FAIL Out-of-range argument: object "[object Object]" assert_throws: function "() => memory.grow(value)" threw object "RangeError: WebAssembly.Memory.grow(): maximum memory size exceeded" ("RangeError") expected object "TypeError" ("TypeError")
+PASS Stray argument
 Harness: the test ran to completion.
 
diff --git a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/memory/grow.any.js b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/memory/grow.any.js
index 9530039..1ccfb94 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/memory/grow.any.js
+++ b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/memory/grow.any.js
@@ -168,3 +168,18 @@
     assert_throws(new TypeError(), () => memory.grow(value));
   }, `Out-of-range argument: ${format_value(value)}`);
 }
+
+test(() => {
+  const argument = { "initial": 0 };
+  const memory = new WebAssembly.Memory(argument);
+  const oldMemory = memory.buffer;
+  assert_ArrayBuffer(oldMemory, { "size": 0 }, "Buffer before growing");
+
+  const result = memory.grow(2, {});
+  assert_equals(result, 0);
+
+  const newMemory = memory.buffer;
+  assert_not_equals(oldMemory, newMemory);
+  assert_ArrayBuffer(oldMemory, { "detached": true }, "Old buffer after growing");
+  assert_ArrayBuffer(newMemory, { "size": 2 }, "New buffer after growing");
+}, "Stray argument");
diff --git a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/memory/grow.any.worker-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/memory/grow.any.worker-expected.txt
index 7a72550..1f0c1b04 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/memory/grow.any.worker-expected.txt
+++ b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/memory/grow.any.worker-expected.txt
@@ -16,5 +16,6 @@
 FAIL Out-of-range argument: 68719476736 assert_throws: function "() => memory.grow(value)" threw object "RangeError: WebAssembly.Memory.grow(): maximum memory size exceeded" ("RangeError") expected object "TypeError" ("TypeError")
 FAIL Out-of-range argument: "0x100000000" assert_throws: function "() => memory.grow(value)" threw object "RangeError: WebAssembly.Memory.grow(): maximum memory size exceeded" ("RangeError") expected object "TypeError" ("TypeError")
 FAIL Out-of-range argument: object "[object Object]" assert_throws: function "() => memory.grow(value)" threw object "RangeError: WebAssembly.Memory.grow(): maximum memory size exceeded" ("RangeError") expected object "TypeError" ("TypeError")
+PASS Stray argument
 Harness: the test ran to completion.
 
diff --git a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/module/constructor.any.js b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/module/constructor.any.js
index 32f183fa..a467c1a1 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/module/constructor.any.js
+++ b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/module/constructor.any.js
@@ -58,3 +58,8 @@
   const module = new WebAssembly.Module(emptyModuleBinary);
   assert_true(Object.isExtensible(module));
 }, "Extensibility");
+
+test(() => {
+  const module = new WebAssembly.Module(emptyModuleBinary, {});
+  assert_equals(Object.getPrototypeOf(module), WebAssembly.Module.prototype);
+}, "Stray argument");
diff --git a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/module/customSections.any.js b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/module/customSections.any.js
index 58ac63b..04c5abe 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/module/customSections.any.js
+++ b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/module/customSections.any.js
@@ -160,3 +160,8 @@
     bytes,
   ]);
 }, "Custom sections with U+FFFD");
+
+test(() => {
+  const module = new WebAssembly.Module(emptyModuleBinary);
+  assert_sections(WebAssembly.Module.customSections(module, "", {}), []);
+}, "Stray argument");
diff --git a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/module/exports.any.js b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/module/exports.any.js
index e63a885..9d95b65 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/module/exports.any.js
+++ b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/module/exports.any.js
@@ -128,3 +128,9 @@
   ];
   assert_exports(exports, expected);
 }, "exports");
+
+test(() => {
+  const module = new WebAssembly.Module(emptyModuleBinary);
+  const exports = WebAssembly.Module.exports(module, {});
+  assert_exports(exports, []);
+}, "Stray argument");
diff --git a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/module/imports.any.js b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/module/imports.any.js
index 640da591..b3bb859 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/module/imports.any.js
+++ b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/module/imports.any.js
@@ -118,3 +118,9 @@
   ];
   assert_imports(imports, expected);
 }, "imports");
+
+test(() => {
+  const module = new WebAssembly.Module(emptyModuleBinary);
+  const imports = WebAssembly.Module.imports(module, {});
+  assert_imports(imports, []);
+}, "Stray argument");
diff --git a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/table/assertions.js b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/table/assertions.js
index dde2fd7..c88972b 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/table/assertions.js
+++ b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/table/assertions.js
@@ -1,6 +1,8 @@
 function assert_equal_to_array(table, expected, message) {
   assert_equals(table.length, expected.length, `${message}: length`);
-  assert_throws(new RangeError(), () => table.get(-1), `${message}: table.get(-1)`);
+  // The argument check in get() happens before the range check, and negative numbers
+  // are illegal, hence will throw TypeError per spec.
+  assert_throws(new TypeError(), () => table.get(-1), `${message}: table.get(-1)`);
   for (let i = 0; i < expected.length; ++i) {
     assert_equals(table.get(i), expected[i], `${message}: table.get(${i} of ${expected.length})`);
   }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/table/constructor.any-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/table/constructor.any-expected.txt
index 8d6dd9f..db2b748 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/table/constructor.any-expected.txt
+++ b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/table/constructor.any-expected.txt
@@ -22,6 +22,7 @@
 PASS Initial value exceeds maximum
 PASS Basic (zero)
 PASS Basic (non-zero)
+PASS Stray argument
 FAIL Proxy descriptor assert_unreached: Should not call [[HasProperty]] with maximum Reached unreachable code
 PASS Type conversion for descriptor.element
 PASS Order of evaluation for descriptor
diff --git a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/table/constructor.any.js b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/table/constructor.any.js
index e924bdb2..99eee19 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/table/constructor.any.js
+++ b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/table/constructor.any.js
@@ -97,6 +97,12 @@
 }, "Basic (non-zero)");
 
 test(() => {
+  const argument = { "element": "anyfunc", "initial": 0 };
+  const table = new WebAssembly.Table(argument, {});
+  assert_Table(table, { "length": 0 });
+}, "Stray argument");
+
+test(() => {
   const proxy = new Proxy({}, {
     has(o, x) {
       assert_unreached(`Should not call [[HasProperty]] with ${x}`);
diff --git a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/table/constructor.any.worker-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/table/constructor.any.worker-expected.txt
index 8d6dd9f..db2b748 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/table/constructor.any.worker-expected.txt
+++ b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/table/constructor.any.worker-expected.txt
@@ -22,6 +22,7 @@
 PASS Initial value exceeds maximum
 PASS Basic (zero)
 PASS Basic (non-zero)
+PASS Stray argument
 FAIL Proxy descriptor assert_unreached: Should not call [[HasProperty]] with maximum Reached unreachable code
 PASS Type conversion for descriptor.element
 PASS Order of evaluation for descriptor
diff --git a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/table/get-set.any-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/table/get-set.any-expected.txt
index 86c0d16..c742d96f 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/table/get-set.any-expected.txt
+++ b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/table/get-set.any-expected.txt
@@ -3,12 +3,12 @@
 PASS Branding: get
 PASS Missing arguments: set
 PASS Branding: set
-PASS Basic
-PASS Growing
-PASS Setting out-of-bounds
-PASS Setting non-function
-PASS Setting non-wasm function
-PASS Setting non-wasm arrow function
+FAIL Basic assert_throws: undefined: table.get(-1) function "() => table.get(-1)" threw object "RangeError: WebAssembly.Table.get(): index out of bounds" ("RangeError") expected object "TypeError" ("TypeError")
+FAIL Growing assert_throws: undefined: table.get(-1) function "() => table.get(-1)" threw object "RangeError: WebAssembly.Table.get(): index out of bounds" ("RangeError") expected object "TypeError" ("TypeError")
+FAIL Setting out-of-bounds assert_throws: undefined: table.get(-1) function "() => table.get(-1)" threw object "RangeError: WebAssembly.Table.get(): index out of bounds" ("RangeError") expected object "TypeError" ("TypeError")
+FAIL Setting non-function assert_throws: undefined: table.get(-1) function "() => table.get(-1)" threw object "RangeError: WebAssembly.Table.get(): index out of bounds" ("RangeError") expected object "TypeError" ("TypeError")
+FAIL Setting non-wasm function assert_throws: undefined: table.get(-1) function "() => table.get(-1)" threw object "RangeError: WebAssembly.Table.get(): index out of bounds" ("RangeError") expected object "TypeError" ("TypeError")
+FAIL Setting non-wasm arrow function assert_throws: undefined: table.get(-1) function "() => table.get(-1)" threw object "RangeError: WebAssembly.Table.get(): index out of bounds" ("RangeError") expected object "TypeError" ("TypeError")
 FAIL Getting out-of-range argument: undefined assert_throws: function "() => table.get(value)" did not throw
 FAIL Setting out-of-range argument: undefined assert_throws: function "() => table.set(value, null)" did not throw
 FAIL Getting out-of-range argument: NaN assert_throws: function "() => table.get(value)" did not throw
@@ -28,5 +28,6 @@
 FAIL Getting out-of-range argument: object "[object Object]" assert_throws: function "() => table.get(value)" threw object "RangeError: WebAssembly.Table.get(): index out of bounds" ("RangeError") expected object "TypeError" ("TypeError")
 FAIL Setting out-of-range argument: object "[object Object]" assert_throws: function "() => table.set(value, null)" threw object "RangeError: WebAssembly.Table.set(): index out of bounds" ("RangeError") expected object "TypeError" ("TypeError")
 PASS Order of argument conversion
+PASS Stray argument
 Harness: the test ran to completion.
 
diff --git a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/table/get-set.any.js b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/table/get-set.any.js
index 2bb43a9..f8a0194 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/table/get-set.any.js
+++ b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/table/get-set.any.js
@@ -131,7 +131,9 @@
 
   const {fn} = functions;
 
-  assert_throws(new RangeError(), () => table.set(-1, fn));
+  // -1 is the wrong type hence the type check on entry gets this
+  // before the range check does.
+  assert_throws(new TypeError(), () => table.set(-1, fn));
   assert_throws(new RangeError(), () => table.set(5, fn));
   assert_equal_to_array(table, [null, null, null, null, null]);
 }, "Setting out-of-bounds");
@@ -218,3 +220,11 @@
   assert_equals(called, 1);
 }, "Order of argument conversion");
 
+test(() => {
+  const {fn} = functions;
+  const argument = { "element": "anyfunc", "initial": 1 };
+  const table = new WebAssembly.Table(argument);
+
+  assert_equals(table.get(0, {}), null);
+  assert_equals(table.set(0, fn, {}), undefined);
+}, "Stray argument");
diff --git a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/table/get-set.any.worker-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/table/get-set.any.worker-expected.txt
index 86c0d16..c742d96f 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/table/get-set.any.worker-expected.txt
+++ b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/table/get-set.any.worker-expected.txt
@@ -3,12 +3,12 @@
 PASS Branding: get
 PASS Missing arguments: set
 PASS Branding: set
-PASS Basic
-PASS Growing
-PASS Setting out-of-bounds
-PASS Setting non-function
-PASS Setting non-wasm function
-PASS Setting non-wasm arrow function
+FAIL Basic assert_throws: undefined: table.get(-1) function "() => table.get(-1)" threw object "RangeError: WebAssembly.Table.get(): index out of bounds" ("RangeError") expected object "TypeError" ("TypeError")
+FAIL Growing assert_throws: undefined: table.get(-1) function "() => table.get(-1)" threw object "RangeError: WebAssembly.Table.get(): index out of bounds" ("RangeError") expected object "TypeError" ("TypeError")
+FAIL Setting out-of-bounds assert_throws: undefined: table.get(-1) function "() => table.get(-1)" threw object "RangeError: WebAssembly.Table.get(): index out of bounds" ("RangeError") expected object "TypeError" ("TypeError")
+FAIL Setting non-function assert_throws: undefined: table.get(-1) function "() => table.get(-1)" threw object "RangeError: WebAssembly.Table.get(): index out of bounds" ("RangeError") expected object "TypeError" ("TypeError")
+FAIL Setting non-wasm function assert_throws: undefined: table.get(-1) function "() => table.get(-1)" threw object "RangeError: WebAssembly.Table.get(): index out of bounds" ("RangeError") expected object "TypeError" ("TypeError")
+FAIL Setting non-wasm arrow function assert_throws: undefined: table.get(-1) function "() => table.get(-1)" threw object "RangeError: WebAssembly.Table.get(): index out of bounds" ("RangeError") expected object "TypeError" ("TypeError")
 FAIL Getting out-of-range argument: undefined assert_throws: function "() => table.get(value)" did not throw
 FAIL Setting out-of-range argument: undefined assert_throws: function "() => table.set(value, null)" did not throw
 FAIL Getting out-of-range argument: NaN assert_throws: function "() => table.get(value)" did not throw
@@ -28,5 +28,6 @@
 FAIL Getting out-of-range argument: object "[object Object]" assert_throws: function "() => table.get(value)" threw object "RangeError: WebAssembly.Table.get(): index out of bounds" ("RangeError") expected object "TypeError" ("TypeError")
 FAIL Setting out-of-range argument: object "[object Object]" assert_throws: function "() => table.set(value, null)" threw object "RangeError: WebAssembly.Table.set(): index out of bounds" ("RangeError") expected object "TypeError" ("TypeError")
 PASS Order of argument conversion
+PASS Stray argument
 Harness: the test ran to completion.
 
diff --git a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/table/grow.any-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/table/grow.any-expected.txt
index d94ede4..522e84a 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/table/grow.any-expected.txt
+++ b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/table/grow.any-expected.txt
@@ -1,9 +1,9 @@
 This is a testharness.js-based test.
 FAIL Missing arguments assert_throws: function "() => table.grow()" did not throw
 PASS Branding
-PASS Basic
-PASS Reached maximum
-PASS Exceeded maximum
+FAIL Basic assert_throws: before: table.get(-1) function "() => table.get(-1)" threw object "RangeError: WebAssembly.Table.get(): index out of bounds" ("RangeError") expected object "TypeError" ("TypeError")
+FAIL Reached maximum assert_throws: before: table.get(-1) function "() => table.get(-1)" threw object "RangeError: WebAssembly.Table.get(): index out of bounds" ("RangeError") expected object "TypeError" ("TypeError")
+FAIL Exceeded maximum assert_throws: before: table.get(-1) function "() => table.get(-1)" threw object "RangeError: WebAssembly.Table.get(): index out of bounds" ("RangeError") expected object "TypeError" ("TypeError")
 FAIL Out-of-range argument: undefined assert_throws: function "() => table.grow(value)" did not throw
 FAIL Out-of-range argument: NaN assert_throws: function "() => table.grow(value)" did not throw
 FAIL Out-of-range argument: Infinity assert_throws: function "() => table.grow(value)" threw object "RangeError: WebAssembly.Table.grow(): maximum table size exceeded" ("RangeError") expected object "TypeError" ("TypeError")
@@ -13,5 +13,6 @@
 FAIL Out-of-range argument: 68719476736 assert_throws: function "() => table.grow(value)" threw object "RangeError: WebAssembly.Table.grow(): maximum table size exceeded" ("RangeError") expected object "TypeError" ("TypeError")
 FAIL Out-of-range argument: "0x100000000" assert_throws: function "() => table.grow(value)" threw object "RangeError: WebAssembly.Table.grow(): maximum table size exceeded" ("RangeError") expected object "TypeError" ("TypeError")
 FAIL Out-of-range argument: object "[object Object]" assert_throws: function "() => table.grow(value)" threw object "RangeError: WebAssembly.Table.grow(): maximum table size exceeded" ("RangeError") expected object "TypeError" ("TypeError")
+FAIL Stray argument assert_throws: before: table.get(-1) function "() => table.get(-1)" threw object "RangeError: WebAssembly.Table.get(): index out of bounds" ("RangeError") expected object "TypeError" ("TypeError")
 Harness: the test ran to completion.
 
diff --git a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/table/grow.any.js b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/table/grow.any.js
index d3efb511..4978e3ca 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/table/grow.any.js
+++ b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/table/grow.any.js
@@ -84,3 +84,13 @@
     assert_throws(new TypeError(), () => table.grow(value));
   }, `Out-of-range argument: ${format_value(value)}`);
 }
+
+test(() => {
+  const argument = { "element": "anyfunc", "initial": 5 };
+  const table = new WebAssembly.Table(argument);
+  assert_equal_to_array(table, nulls(5), "before");
+
+  const result = table.grow(3, {});
+  assert_equals(result, 5);
+  assert_equal_to_array(table, nulls(8), "after");
+}, "Stray argument");
diff --git a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/table/grow.any.worker-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/table/grow.any.worker-expected.txt
index d94ede4..522e84a 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/table/grow.any.worker-expected.txt
+++ b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/table/grow.any.worker-expected.txt
@@ -1,9 +1,9 @@
 This is a testharness.js-based test.
 FAIL Missing arguments assert_throws: function "() => table.grow()" did not throw
 PASS Branding
-PASS Basic
-PASS Reached maximum
-PASS Exceeded maximum
+FAIL Basic assert_throws: before: table.get(-1) function "() => table.get(-1)" threw object "RangeError: WebAssembly.Table.get(): index out of bounds" ("RangeError") expected object "TypeError" ("TypeError")
+FAIL Reached maximum assert_throws: before: table.get(-1) function "() => table.get(-1)" threw object "RangeError: WebAssembly.Table.get(): index out of bounds" ("RangeError") expected object "TypeError" ("TypeError")
+FAIL Exceeded maximum assert_throws: before: table.get(-1) function "() => table.get(-1)" threw object "RangeError: WebAssembly.Table.get(): index out of bounds" ("RangeError") expected object "TypeError" ("TypeError")
 FAIL Out-of-range argument: undefined assert_throws: function "() => table.grow(value)" did not throw
 FAIL Out-of-range argument: NaN assert_throws: function "() => table.grow(value)" did not throw
 FAIL Out-of-range argument: Infinity assert_throws: function "() => table.grow(value)" threw object "RangeError: WebAssembly.Table.grow(): maximum table size exceeded" ("RangeError") expected object "TypeError" ("TypeError")
@@ -13,5 +13,6 @@
 FAIL Out-of-range argument: 68719476736 assert_throws: function "() => table.grow(value)" threw object "RangeError: WebAssembly.Table.grow(): maximum table size exceeded" ("RangeError") expected object "TypeError" ("TypeError")
 FAIL Out-of-range argument: "0x100000000" assert_throws: function "() => table.grow(value)" threw object "RangeError: WebAssembly.Table.grow(): maximum table size exceeded" ("RangeError") expected object "TypeError" ("TypeError")
 FAIL Out-of-range argument: object "[object Object]" assert_throws: function "() => table.grow(value)" threw object "RangeError: WebAssembly.Table.grow(): maximum table size exceeded" ("RangeError") expected object "TypeError" ("TypeError")
+FAIL Stray argument assert_throws: before: table.get(-1) function "() => table.get(-1)" threw object "RangeError: WebAssembly.Table.get(): index out of bounds" ("RangeError") expected object "TypeError" ("TypeError")
 Harness: the test ran to completion.
 
diff --git a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/table/length.any.js b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/table/length.any.js
index a6a9661..b1bfa6c 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/table/length.any.js
+++ b/third_party/WebKit/LayoutTests/external/wpt/wasm/jsapi/table/length.any.js
@@ -30,6 +30,20 @@
   const argument = { "element": "anyfunc", "initial": 2 };
   const table = new WebAssembly.Table(argument);
   assert_equals(table.length, 2, "Initial length");
+
+  const desc = Object.getOwnPropertyDescriptor(WebAssembly.Table.prototype, "length");
+  assert_equals(typeof desc, "object");
+
+  const getter = desc.get;
+  assert_equals(typeof getter, "function");
+
+  assert_equals(getter.call(table, {}), 2);
+}, "Stray argument");
+
+test(() => {
+  const argument = { "element": "anyfunc", "initial": 2 };
+  const table = new WebAssembly.Table(argument);
+  assert_equals(table.length, 2, "Initial length");
   table.length = 4;
   assert_equals(table.length, 2, "Should not change the length");
 }, "Setting (sloppy mode)");
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webaudio/idlharness.https.window-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/webaudio/idlharness.https.window-expected.txt
index e500d09..ebd89e3 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/webaudio/idlharness.https.window-expected.txt
+++ b/third_party/WebKit/LayoutTests/external/wpt/webaudio/idlharness.https.window-expected.txt
@@ -32,7 +32,6 @@
 PASS BaseAudioContext interface: operation createStereoPanner()
 PASS BaseAudioContext interface: operation createWaveShaper()
 PASS BaseAudioContext interface: operation decodeAudioData(ArrayBuffer, DecodeSuccessCallback, DecodeErrorCallback)
-PASS BaseAudioContext interface: operation resume()
 PASS AudioContext interface: existence and properties of interface object
 PASS AudioContext interface object length
 PASS AudioContext interface object name
@@ -42,6 +41,7 @@
 PASS AudioContext interface: attribute baseLatency
 FAIL AudioContext interface: attribute outputLatency assert_true: The prototype object must have a property "outputLatency" expected true got false
 PASS AudioContext interface: operation getOutputTimestamp()
+FAIL AudioContext interface: operation resume() assert_own_property: interface prototype object missing non-static operation expected property "resume" missing
 PASS AudioContext interface: operation suspend()
 PASS AudioContext interface: operation close()
 FAIL AudioContext interface: operation createMediaElementSource(HTMLMediaElement) assert_own_property: interface prototype object missing non-static operation expected property "createMediaElementSource" missing
@@ -53,6 +53,7 @@
 PASS AudioContext interface: context must inherit property "baseLatency" with the proper type
 FAIL AudioContext interface: context must inherit property "outputLatency" with the proper type assert_inherits: property "outputLatency" not found in prototype chain
 PASS AudioContext interface: context must inherit property "getOutputTimestamp()" with the proper type
+PASS AudioContext interface: context must inherit property "resume()" with the proper type
 PASS AudioContext interface: context must inherit property "suspend()" with the proper type
 PASS AudioContext interface: context must inherit property "close()" with the proper type
 PASS AudioContext interface: context must inherit property "createMediaElementSource(HTMLMediaElement)" with the proper type
@@ -96,7 +97,6 @@
 PASS BaseAudioContext interface: context must inherit property "createWaveShaper()" with the proper type
 PASS BaseAudioContext interface: context must inherit property "decodeAudioData(ArrayBuffer, DecodeSuccessCallback, DecodeErrorCallback)" with the proper type
 PASS BaseAudioContext interface: calling decodeAudioData(ArrayBuffer, DecodeSuccessCallback, DecodeErrorCallback) on context with too few arguments must throw TypeError
-PASS BaseAudioContext interface: context must inherit property "resume()" with the proper type
 PASS OfflineAudioContext interface: existence and properties of interface object
 PASS OfflineAudioContext interface object length
 PASS OfflineAudioContext interface object name
@@ -104,12 +104,14 @@
 PASS OfflineAudioContext interface: existence and properties of interface prototype object's "constructor" property
 PASS OfflineAudioContext interface: existence and properties of interface prototype object's @@unscopables property
 PASS OfflineAudioContext interface: operation startRendering()
+FAIL OfflineAudioContext interface: operation resume() assert_own_property: interface prototype object missing non-static operation expected property "resume" missing
 PASS OfflineAudioContext interface: operation suspend(double)
 PASS OfflineAudioContext interface: attribute length
 PASS OfflineAudioContext interface: attribute oncomplete
 PASS OfflineAudioContext must be primary interface of new OfflineAudioContext(1, 1, sample_rate)
 PASS Stringification of new OfflineAudioContext(1, 1, sample_rate)
 PASS OfflineAudioContext interface: new OfflineAudioContext(1, 1, sample_rate) must inherit property "startRendering()" with the proper type
+PASS OfflineAudioContext interface: new OfflineAudioContext(1, 1, sample_rate) must inherit property "resume()" with the proper type
 PASS OfflineAudioContext interface: new OfflineAudioContext(1, 1, sample_rate) must inherit property "suspend(double)" with the proper type
 PASS OfflineAudioContext interface: calling suspend(double) on new OfflineAudioContext(1, 1, sample_rate) with too few arguments must throw TypeError
 PASS OfflineAudioContext interface: new OfflineAudioContext(1, 1, sample_rate) must inherit property "length" with the proper type
@@ -148,7 +150,6 @@
 PASS BaseAudioContext interface: new OfflineAudioContext(1, 1, sample_rate) must inherit property "createWaveShaper()" with the proper type
 PASS BaseAudioContext interface: new OfflineAudioContext(1, 1, sample_rate) must inherit property "decodeAudioData(ArrayBuffer, DecodeSuccessCallback, DecodeErrorCallback)" with the proper type
 PASS BaseAudioContext interface: calling decodeAudioData(ArrayBuffer, DecodeSuccessCallback, DecodeErrorCallback) on new OfflineAudioContext(1, 1, sample_rate) with too few arguments must throw TypeError
-PASS BaseAudioContext interface: new OfflineAudioContext(1, 1, sample_rate) must inherit property "resume()" with the proper type
 PASS OfflineAudioCompletionEvent interface: existence and properties of interface object
 PASS OfflineAudioCompletionEvent interface object length
 PASS OfflineAudioCompletionEvent interface object name
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webaudio/the-audio-api/the-analysernode-interface/ctor-analyser-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/webaudio/the-audio-api/the-analysernode-interface/ctor-analyser-expected.txt
new file mode 100644
index 0000000..b335e1bd
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/webaudio/the-audio-api/the-analysernode-interface/ctor-analyser-expected.txt
@@ -0,0 +1,74 @@
+This is a testharness.js-based test.
+Found 70 tests; 67 PASS, 3 FAIL, 0 TIMEOUT, 0 NOTRUN.
+PASS # AUDIT TASK RUNNER STARTED.
+PASS > [initialize] 
+PASS   context = new OfflineAudioContext(...) did not throw an exception.
+PASS < [initialize] All assertions passed. (total 1 assertions)
+PASS > [invalid constructor] 
+PASS   new AnalyserNode() threw TypeError: "Failed to construct 'AnalyserNode': 1 argument required, but only 0 present.".
+PASS   new AnalyserNode(1) threw TypeError: "Failed to construct 'AnalyserNode': parameter 1 is not of type 'BaseAudioContext'.".
+PASS   new AnalyserNode(context, 42) threw TypeError: "Failed to construct 'AnalyserNode': parameter 2 ('options') is not an object.".
+PASS < [invalid constructor] All assertions passed. (total 3 assertions)
+PASS > [default constructor] 
+PASS   node0 = new AnalyserNode(context) did not throw an exception.
+PASS   node0 instanceof AnalyserNode is equal to true.
+PASS   node0.numberOfInputs is equal to 1.
+PASS   node0.numberOfOutputs is equal to 1.
+FAIL X node0.channelCount is not equal to 2. Got 1. assert_true: expected true got false
+PASS   node0.channelCountMode is equal to max.
+PASS   node0.channelInterpretation is equal to speakers.
+PASS   node0.fftSize is equal to 2048.
+PASS   node0.frequencyBinCount is equal to 1024.
+PASS   node0.minDecibels is equal to -100.
+PASS   node0.maxDecibels is equal to -30.
+PASS   node0.smoothingTimeConstant is equal to 0.8.
+FAIL < [default constructor] 1 out of 12 assertions were failed. assert_true: expected true got false
+PASS > [test AudioNodeOptions] 
+PASS   new AnalyserNode(c, {channelCount: 17}} did not throw an exception.
+PASS   node.channelCount is equal to 17.
+PASS   new AnalyserNode(c, {channelCount: 0}) threw NotSupportedError: "Failed to construct 'AnalyserNode': The channel count provided (0) is outside the range [1, 32].".
+PASS   new AnalyserNode(c, {channelCount: 99}) threw NotSupportedError: "Failed to construct 'AnalyserNode': The channel count provided (99) is outside the range [1, 32].".
+PASS   new AnalyserNode(c, {channelCountMode: "max"} did not throw an exception.
+PASS   node.channelCountMode is equal to max.
+PASS   new AnalyserNode(c, {channelCountMode: "max"}) did not throw an exception.
+PASS   node.channelCountMode after valid setter is equal to max.
+PASS   new AnalyserNode(c, {channelCountMode: "clamped-max"}) did not throw an exception.
+PASS   node.channelCountMode after valid setter is equal to clamped-max.
+PASS   new AnalyserNode(c, {channelCountMode: "explicit"}) did not throw an exception.
+PASS   node.channelCountMode after valid setter is equal to explicit.
+PASS   new AnalyserNode(c, {channelCountMode: "foobar"} threw TypeError: "Failed to construct 'AnalyserNode': The provided value 'foobar' is not a valid enum value of type ChannelCountMode.".
+PASS   node.channelCountMode after invalid setter is equal to explicit.
+PASS   new AnalyserNode(c, {channelInterpretation: "speakers"}) did not throw an exception.
+PASS   node.channelInterpretation is equal to speakers.
+PASS   new AnalyserNode(c, {channelInterpretation: "discrete"}) did not throw an exception.
+PASS   node.channelInterpretation is equal to discrete.
+PASS   new AnalyserNode(c, {channelInterpretation: "foobar"}) threw TypeError: "Failed to construct 'AnalyserNode': The provided value 'foobar' is not a valid enum value of type ChannelInterpretation.".
+PASS   node.channelInterpretation after invalid setter is equal to discrete.
+PASS < [test AudioNodeOptions] All assertions passed. (total 20 assertions)
+PASS > [constructor with options] 
+PASS   node1 = new AnalyserNode(c, {"fftSize":32,"maxDecibels":1,"minDecibels":-13,"smoothingTimeConstant":0.125}) did not throw an exception.
+PASS   node1 instanceof AnalyserNode is equal to true.
+PASS   node1.fftSize is equal to 32.
+PASS   node1.maxDecibels is equal to 1.
+PASS   node1.minDecibels is equal to -13.
+PASS   node1.smoothingTimeConstant is equal to 0.125.
+PASS < [constructor with options] All assertions passed. (total 6 assertions)
+PASS > [construct invalid options] 
+PASS   node = new AnalyserNode(c, { fftSize: 33 }) threw IndexSizeError: "Failed to construct 'AnalyserNode': The value provided (33) is not a power of two.".
+PASS   node = new AnalyserNode(c, { maxDecibels: -500 }) threw IndexSizeError: "Failed to construct 'AnalyserNode': maxDecibels (-500) must be greater than or equal to minDecibels ( -100).".
+PASS   node = new AnalyserNode(c, { minDecibels: -10 }) threw IndexSizeError: "Failed to construct 'AnalyserNode': maxDecibels (-30) must be greater than or equal to minDecibels ( -10).".
+PASS   node = new AnalyserNode(c, { smoothingTimeConstant: 2 }) threw IndexSizeError: "Failed to construct 'AnalyserNode': The smoothing value provided (2) is outside the range [0, 1].".
+PASS   node = new AnalyserNode(c, { frequencyBinCount: 33 }) did not throw an exception.
+PASS   node.frequencyBinCount is equal to 1024.
+PASS < [construct invalid options] All assertions passed. (total 6 assertions)
+PASS > [setting min/max] 
+PASS   node = new AnalyserNode(c, {"minDecibels":-10,"maxDecibels":20}) did not throw an exception.
+PASS   node = new AnalyserNode(c, {"maxDecibels":20,"minDecibels":-10}) did not throw an exception.
+PASS   node = new AnalyserNode(c, {"minDecibels":-200,"maxDecibels":-150}) did not throw an exception.
+PASS   node = new AnalyserNode(c, {"maxDecibels":-150,"minDecibels":-200}) did not throw an exception.
+PASS   node = new AnalyserNode(c, {"maxDecibels":-150,"minDecibels":-10}) threw IndexSizeError: "Failed to construct 'AnalyserNode': maxDecibels (-150) must be greater than or equal to minDecibels ( -10).".
+PASS   node = new AnalyserNode(c, {"minDecibels":-10,"maxDecibels":-150}) threw IndexSizeError: "Failed to construct 'AnalyserNode': maxDecibels (-150) must be greater than or equal to minDecibels ( -10).".
+PASS < [setting min/max] All assertions passed. (total 6 assertions)
+FAIL # AUDIT TASK RUNNER FINISHED: 1 out of 7 tasks were failed. assert_true: expected true got false
+Harness: the test ran to completion.
+
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webaudio/the-audio-api/the-analysernode-interface/ctor-analyser.html b/third_party/WebKit/LayoutTests/external/wpt/webaudio/the-audio-api/the-analysernode-interface/ctor-analyser.html
index 4e27f84..a9aa483 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/webaudio/the-audio-api/the-analysernode-interface/ctor-analyser.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/webaudio/the-audio-api/the-analysernode-interface/ctor-analyser.html
@@ -32,7 +32,7 @@
           prefix: prefix,
           numberOfInputs: 1,
           numberOfOutputs: 1,
-          channelCount: 1,
+          channelCount: 2,
           channelCountMode: 'max',
           channelInterpretation: 'speakers'
         });
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webaudio/the-audio-api/the-analysernode-interface/test-analysernode-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/webaudio/the-audio-api/the-analysernode-interface/test-analysernode-expected.txt
new file mode 100644
index 0000000..09df255c
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/webaudio/the-audio-api/the-analysernode-interface/test-analysernode-expected.txt
@@ -0,0 +1,5 @@
+This is a testharness.js-based test.
+FAIL Test AnalyserNode API assert_equals: analyser node has 2 input channels by default expected 2 but got 1
+FAIL Test AnalyserNode's ctor API assert_equals: analyser node has 2 input channels by default expected 2 but got 1
+Harness: the test ran to completion.
+
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webaudio/the-audio-api/the-analysernode-interface/test-analysernode.html b/third_party/WebKit/LayoutTests/external/wpt/webaudio/the-audio-api/the-analysernode-interface/test-analysernode.html
index 52d3829c..a8b5a71 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/webaudio/the-audio-api/the-analysernode-interface/test-analysernode.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/webaudio/the-audio-api/the-analysernode-interface/test-analysernode.html
@@ -27,8 +27,8 @@
 
       assert_equals(
         analyser.channelCount,
-        1,
-        "analyser node has 1 input channels by default"
+        2,
+        "analyser node has 2 input channels by default"
       );
       assert_equals(
         analyser.channelCountMode,
@@ -131,8 +131,8 @@
       var analyser = new AnalyserNode(context);
       assert_equals(
         analyser.channelCount,
-        1,
-        "analyser node has 1 input channels by default"
+        2,
+        "analyser node has 2 input channels by default"
       );
       assert_equals(
         analyser.channelCountMode,
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webrtc/getstats.html b/third_party/WebKit/LayoutTests/external/wpt/webrtc/getstats.html
index 9775f20..937f54b 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/webrtc/getstats.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/webrtc/getstats.html
@@ -71,7 +71,7 @@
       assert_not_equals(report, null, 'No report');
       let sessionStat = getStatsRecordByType(report, 'peer-connection');
       assert_not_equals(sessionStat, null, 'Did not find peer-connection stats');
-      assert_exists(sessionStat, 'dataChannelsOpened', 'no dataChannelsOpened stat');
+      assert_own_property(sessionStat, 'dataChannelsOpened', 'no dataChannelsOpened stat');
       // Once every 4000 or so tests, the datachannel won't be opened when the getStats
       // function is done, so allow both 0 and 1 datachannels.
       assert_true(sessionStat.dataChannelsOpened == 1 || sessionStat.dataChannelsOpened == 0,
diff --git a/third_party/WebKit/LayoutTests/external/wpt/x-frame-options/multiple.sub.html b/third_party/WebKit/LayoutTests/external/wpt/x-frame-options/multiple.sub.html
index f7a28e4..717e9fd 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/x-frame-options/multiple.sub.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/x-frame-options/multiple.sub.html
@@ -49,29 +49,27 @@
     var i = document.createElement('iframe');
     i.src = "./support/xfo.py?value=INVALID&value2=SAMEORIGIN";
 
-    assert_no_message_from(i, t);
-
-    i.onload = t.step_func_done(_ => {
-      assert_equals(i.contentDocument, null);
-      i.remove();
-    });
+    wait_for_message_from(i, t)
+      .then(t.step_func_done(e => {
+        assert_equals(e.data, "Loaded");
+        i.remove();
+      }));
 
     document.body.appendChild(i);
-  }, "`XFO: INVALID; XFO: SAMEORIGIN` blocks same-origin framing.");
+  }, "`XFO: INVALID; XFO: SAMEORIGIN` allows same-origin framing.");
 
   async_test(t => {
     var i = document.createElement('iframe');
     i.src = "./support/xfo.py?value=SAMEORIGIN&value2=INVALID";
 
-    assert_no_message_from(i, t);
-
-    i.onload = t.step_func_done(_ => {
-      assert_equals(i.contentDocument, null);
-      i.remove();
-    });
+    wait_for_message_from(i, t)
+      .then(t.step_func_done(e => {
+        assert_equals(e.data, "Loaded");
+        i.remove();
+      }));
 
     document.body.appendChild(i);
-  }, "`XFO: SAMEORIGIN; XFO: INVALID` blocks same-origin framing.");
+  }, "`XFO: SAMEORIGIN; XFO: INVALID` allows same-origin framing.");
 
   async_test(t => {
     var i = document.createElement('iframe');
diff --git a/third_party/WebKit/LayoutTests/external/wpt/xhr/getallresponseheaders-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/xhr/getallresponseheaders-expected.txt
index 4dddc5f..bf36826 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/xhr/getallresponseheaders-expected.txt
+++ b/third_party/WebKit/LayoutTests/external/wpt/xhr/getallresponseheaders-expected.txt
@@ -2,5 +2,6 @@
 PASS XMLHttpRequest: getAllResponseHeaders()
 FAIL XMLHttpRequest: getAllResponseHeaders() 1 assert_equals: expected "also-here: Mr. PB\r\newok: lego\r\nfoo-test: 1, 2\r\n" but got "also-here: Mr. PB\r\nfoo-test: 1, 2\r\newok: lego\r\n"
 PASS XMLHttpRequest: getAllResponseHeaders() 2
+PASS XMLHttpRequest: getAllResponseHeaders() 3
 Harness: the test ran to completion.
 
diff --git a/third_party/WebKit/LayoutTests/external/wpt/xhr/getallresponseheaders.htm b/third_party/WebKit/LayoutTests/external/wpt/xhr/getallresponseheaders.htm
index 7b54e9e..e574733 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/xhr/getallresponseheaders.htm
+++ b/third_party/WebKit/LayoutTests/external/wpt/xhr/getallresponseheaders.htm
@@ -30,4 +30,14 @@
   client.send()
   assert_equals(client.getAllResponseHeaders(), "content-length: 0\r\n")
 })
+
+async_test(t => {
+  const client = new XMLHttpRequest();
+  client.onload = t.step_func_done(() => {
+    assert_equals(client.getAllResponseHeaders(), "www-authenticate: 1, 2, 3, 4\r\n");
+  });
+  client.onerror = t.unreached_func("unexpected error");
+  client.open("GET", "resources/headers-www-authenticate.asis");
+  client.send();
+});
 </script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/xhr/getresponseheader.any.js b/third_party/WebKit/LayoutTests/external/wpt/xhr/getresponseheader.any.js
new file mode 100644
index 0000000..4ff791a
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/xhr/getresponseheader.any.js
@@ -0,0 +1,19 @@
+async_test(t => {
+  const client = new XMLHttpRequest();
+  client.onload = t.step_func_done(() => {
+    assert_equals(client.getResponseHeader("foo-test"), "1, 2, 3");
+  });
+  client.onerror = t.unreached_func("unexpected error");
+  client.open("GET", "resources/headers-basic.asis");
+  client.send();
+}, "getResponseHeader('foo-test')");
+
+async_test(t => {
+  const client = new XMLHttpRequest();
+  client.onload = t.step_func_done(() => {
+    assert_equals(client.getResponseHeader("www-authenticate"), "1, 2, 3, 4");
+  });
+  client.onerror = t.unreached_func("unexpected error");
+  client.open("GET", "resources/headers-www-authenticate.asis");
+  client.send();
+}, "getResponseHeader('www-authenticate')");
diff --git a/third_party/WebKit/LayoutTests/external/wpt/xhr/resources/headers-www-authenticate.asis b/third_party/WebKit/LayoutTests/external/wpt/xhr/resources/headers-www-authenticate.asis
new file mode 100644
index 0000000..6f9905e
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/xhr/resources/headers-www-authenticate.asis
@@ -0,0 +1,4 @@
+HTTP/1.1 280 HELLO
+www-authenticate: 1
+www-authenticate: 2
+www-authenticate: 3, 4
diff --git a/third_party/WebKit/LayoutTests/external/wpt/xhr/resources/responseXML-unavailable-in-worker.js b/third_party/WebKit/LayoutTests/external/wpt/xhr/resources/responseXML-unavailable-in-worker.js
index 2f3fdf2..06da02a 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/xhr/resources/responseXML-unavailable-in-worker.js
+++ b/third_party/WebKit/LayoutTests/external/wpt/xhr/resources/responseXML-unavailable-in-worker.js
@@ -2,8 +2,8 @@
 
 test(function() {
     let xhr = new XMLHttpRequest();
-    assert_not_exists(xhr, "responseXML", "responseXML should not be available on instances.");
-    assert_not_exists(XMLHttpRequest.prototype, "responseXML", "responseXML should not be on the prototype.");
+    assert_false(xhr.hasOwnProperty("responseXML"), "responseXML should not be available on instances.");
+    assert_false(XMLHttpRequest.prototype.hasOwnProperty("responseXML"), "responseXML should not be on the prototype.");
 }, "XMLHttpRequest's responseXML property should not be exposed in workers.");
 
 done();
diff --git a/third_party/WebKit/LayoutTests/external/wpt/xhr/responseXML-unavailable-in-worker-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/xhr/responseXML-unavailable-in-worker-expected.txt
index 2de687b5..d489b1d 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/xhr/responseXML-unavailable-in-worker-expected.txt
+++ b/third_party/WebKit/LayoutTests/external/wpt/xhr/responseXML-unavailable-in-worker-expected.txt
@@ -1,4 +1,4 @@
 This is a testharness.js-based test.
-FAIL XMLHttpRequest's responseXML property should not be exposed in workers. assert_not_exists: responseXML should not be on the prototype. unexpected property "responseXML" found
+FAIL XMLHttpRequest's responseXML property should not be exposed in workers. assert_false: responseXML should not be on the prototype. expected false got true
 Harness: the test ran to completion.
 
diff --git a/third_party/WebKit/LayoutTests/http/tests/devtools/sources/debugger-ui/last-execution-context.js b/third_party/WebKit/LayoutTests/http/tests/devtools/sources/debugger-ui/last-execution-context.js
index f902a81..5993b7b 100644
--- a/third_party/WebKit/LayoutTests/http/tests/devtools/sources/debugger-ui/last-execution-context.js
+++ b/third_party/WebKit/LayoutTests/http/tests/devtools/sources/debugger-ui/last-execution-context.js
@@ -81,7 +81,7 @@
 
   TestRunner.addResult('');
   TestRunner.addResult('User selected content script');
-  context.setFlavor(SDK.ExecutionContext, pageRuntimeModel.executionContexts()[2]);
+  context.setFlavor(SDK.ExecutionContext, pageRuntimeModel.executionContexts().find(context => context.id === 'cs1'));
 
   TestRunner.addResult('');
   TestRunner.addResult('Switching to sw target');
@@ -93,7 +93,7 @@
 
   TestRunner.addResult('');
   TestRunner.addResult('User selected iframe1');
-  context.setFlavor(SDK.ExecutionContext, pageRuntimeModel.executionContexts()[0]);
+  context.setFlavor(SDK.ExecutionContext, pageRuntimeModel.executionContexts().find(context => context.id === 'if1'));
 
   TestRunner.addResult('');
   TestRunner.addResult('Switching to sw target');
diff --git a/third_party/WebKit/LayoutTests/http/tests/intersection-observer/resources/v2-subframe.html b/third_party/WebKit/LayoutTests/http/tests/intersection-observer/resources/v2-subframe.html
index 753d39c..686ef0f 100644
--- a/third_party/WebKit/LayoutTests/http/tests/intersection-observer/resources/v2-subframe.html
+++ b/third_party/WebKit/LayoutTests/http/tests/intersection-observer/resources/v2-subframe.html
@@ -4,7 +4,7 @@
 var results = [];
 
 if (window.internals) {
-  internals.DisableIntersectionObserverV2Throttle();
+  internals.DisableIntersectionObserverThrottleDelay();
 }
 
 function waitForNotification(f) {
@@ -26,7 +26,7 @@
   var target = document.getElementById("target");
   var observer = new IntersectionObserver(entries => {
     results = entries;
-  }, { trackVisibility: true });
+  }, {trackVisibility: true, delay: 100});
   observer.observe(document.getElementById("target"));
   window.parent.postMessage("", "*");
 };
diff --git a/third_party/WebKit/LayoutTests/intersection-observer/v2/animated-occlusion.html b/third_party/WebKit/LayoutTests/intersection-observer/v2/animated-occlusion.html
index 22b17f2a..2e076cf 100644
--- a/third_party/WebKit/LayoutTests/intersection-observer/v2/animated-occlusion.html
+++ b/third_party/WebKit/LayoutTests/intersection-observer/v2/animated-occlusion.html
@@ -42,7 +42,7 @@
 var occluder;
 
 if (window.internals) {
-  internals.DisableIntersectionObserverV2Throttle();
+  internals.DisableIntersectionObserverThrottleDelay();
 }
 
 runTestCycle(function() {
@@ -55,7 +55,7 @@
   assert_true(!!occluder, "occluder exists");
   var observer = new IntersectionObserver(function(changes) {
     entries = entries.concat(changes)
-  }, {trackVisibility: true});
+  }, {trackVisibility: true, delay: 100});
   observer.observe(target);
   entries = entries.concat(observer.takeRecords());
   assert_equals(entries.length, 0, "No initial notifications.");
diff --git a/third_party/WebKit/LayoutTests/intersection-observer/v2/box-shadow.html b/third_party/WebKit/LayoutTests/intersection-observer/v2/box-shadow.html
index 3e7d79a..6a3c1e0 100644
--- a/third_party/WebKit/LayoutTests/intersection-observer/v2/box-shadow.html
+++ b/third_party/WebKit/LayoutTests/intersection-observer/v2/box-shadow.html
@@ -31,7 +31,7 @@
 var occluder;
 
 if (window.internals) {
-  internals.DisableIntersectionObserverV2Throttle();
+  internals.DisableIntersectionObserverThrottleDelay();
 }
 
 runTestCycle(function() {
@@ -41,7 +41,7 @@
   assert_true(!!occluder, "occluder exists");
   let observer = new IntersectionObserver(function(changes) {
     entries = entries.concat(changes)
-  }, {trackVisibility: true});
+  }, {trackVisibility: true, delay: 100});
   observer.observe(target);
   entries = entries.concat(observer.takeRecords());
   assert_equals(entries.length, 0, "No initial notifications.");
diff --git a/third_party/WebKit/LayoutTests/intersection-observer/v2/delay-test.html b/third_party/WebKit/LayoutTests/intersection-observer/v2/delay-test.html
new file mode 100644
index 0000000..52ab5b84
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/intersection-observer/v2/delay-test.html
@@ -0,0 +1,75 @@
+<!DOCTYPE html>
+<script src="../../resources/testharness.js"></script>
+<script src="../../resources/testharnessreport.js"></script>
+<script src="../resources/intersection-observer-test-utils.js"></script>
+
+<style>
+body, html {
+  margin: 0;
+}
+pre, #log {
+  position: absolute;
+  top: 0;
+  left: 200px;
+}
+#target {
+  width: 100px;
+  height: 100px;
+  background-color: green;
+}
+#occluder {
+  width: 100px;
+  height: 100px;
+  background-color: blue;
+}
+</style>
+
+<div id="target"></div>
+<div id="occluder"></div>
+
+<script>
+async_test(t => {
+  let entries = [];
+  let delay = 100;
+  let target = document.getElementById("target");
+  let occluder = document.getElementById("occluder");
+
+  assert_true(!!target, "target exists");
+  assert_true(!!occluder, "occluder exists");
+  let observer = new IntersectionObserver(function(changes) {
+    entries = entries.concat(changes)
+  }, {trackVisibility: true, delay: delay});
+  observer.observe(target);
+  entries = entries.concat(observer.takeRecords());
+  assert_equals(entries.length, 0, "No initial notifications.");
+  // The first notification should be sent without delay.
+  waitForNotification(t.step_func(step0));
+
+  function step0() {
+    assert_equals(entries.length, 1);
+    assert_true(entries[0].isVisible);
+    // This should trigger a notification on the next run.
+    occluder.style.marginTop = "-10px";
+    // Enter a rAF loop until the delay timer expires.
+    waitForDelay(false);
+  }
+
+  function waitForDelay(timerExpiredBeforeLastFrame) {
+    requestAnimationFrame(t.step_func(() => {
+      if (timerExpiredBeforeLastFrame) {
+        // New notifications should have been generated during the previous
+        // frame and delivered by now.
+        assert_equals(entries.length, 2);
+        assert_greater_than(entries[1].time - entries[0].time, delay);
+        assert_false(entries[1].isVisible);
+        t.done();
+      } else {
+        // Observer may not have updated yet. Wait for next frame.
+        let timerExpired = performance.now() - entries[0].time >= delay;
+        waitForDelay(timerExpired);
+      }
+    }));
+  }
+
+}, "'delay' parameter throttles frequency of notifications.");
+</script>
diff --git a/third_party/WebKit/LayoutTests/intersection-observer/v2/iframe-target.html b/third_party/WebKit/LayoutTests/intersection-observer/v2/iframe-target.html
index 5fa2039e..d7cbf27 100644
--- a/third_party/WebKit/LayoutTests/intersection-observer/v2/iframe-target.html
+++ b/third_party/WebKit/LayoutTests/intersection-observer/v2/iframe-target.html
@@ -26,7 +26,7 @@
 var target;
 
 if (window.internals) {
-  internals.DisableIntersectionObserverV2Throttle();
+  internals.DisableIntersectionObserverThrottleDelay();
 }
 
 runTestCycle(function() {
@@ -34,7 +34,7 @@
   assert_true(!!target, "target exists");
   var observer = new IntersectionObserver(function(changes) {
     entries = entries.concat(changes)
-  }, {trackVisibility: true});
+  }, {trackVisibility: true, delay: 100});
   observer.observe(target);
   entries = entries.concat(observer.takeRecords());
   assert_equals(entries.length, 0, "No initial notifications.");
diff --git a/third_party/WebKit/LayoutTests/intersection-observer/v2/simple-effects.html b/third_party/WebKit/LayoutTests/intersection-observer/v2/simple-effects.html
index 4795cd27..913da21 100644
--- a/third_party/WebKit/LayoutTests/intersection-observer/v2/simple-effects.html
+++ b/third_party/WebKit/LayoutTests/intersection-observer/v2/simple-effects.html
@@ -33,7 +33,7 @@
 var effects;
 
 if (window.internals) {
-  internals.DisableIntersectionObserverV2Throttle();
+  internals.DisableIntersectionObserverThrottleDelay();
 }
 
 runTestCycle(function() {
@@ -43,7 +43,7 @@
   assert_true(!!effects, "effects exists");
   var observer = new IntersectionObserver(function(changes) {
     entries = entries.concat(changes)
-  }, {trackVisibility: true});
+  }, {trackVisibility: true, delay: 100});
   observer.observe(target);
   entries = entries.concat(observer.takeRecords());
   assert_equals(entries.length, 0, "No initial notifications.");
diff --git a/third_party/WebKit/LayoutTests/intersection-observer/v2/simple-occlusion.html b/third_party/WebKit/LayoutTests/intersection-observer/v2/simple-occlusion.html
index fc3ba69..16f2f22 100644
--- a/third_party/WebKit/LayoutTests/intersection-observer/v2/simple-occlusion.html
+++ b/third_party/WebKit/LayoutTests/intersection-observer/v2/simple-occlusion.html
@@ -33,7 +33,7 @@
 var occluder;
 
 if (window.internals) {
-  internals.DisableIntersectionObserverV2Throttle();
+  internals.DisableIntersectionObserverThrottleDelay();
 }
 
 runTestCycle(function() {
@@ -43,7 +43,7 @@
   assert_true(!!occluder, "occluder exists");
   var observer = new IntersectionObserver(function(changes) {
     entries = entries.concat(changes)
-  }, {trackVisibility: true});
+  }, {trackVisibility: true, delay: 100});
   observer.observe(target);
   entries = entries.concat(observer.takeRecords());
   assert_equals(entries.length, 0, "No initial notifications.");
diff --git a/third_party/WebKit/LayoutTests/intersection-observer/v2/text-shadow.html b/third_party/WebKit/LayoutTests/intersection-observer/v2/text-shadow.html
index c823406d..6a49ae3 100644
--- a/third_party/WebKit/LayoutTests/intersection-observer/v2/text-shadow.html
+++ b/third_party/WebKit/LayoutTests/intersection-observer/v2/text-shadow.html
@@ -34,7 +34,7 @@
 var occluder;
 
 if (window.internals) {
-  internals.DisableIntersectionObserverV2Throttle();
+  internals.DisableIntersectionObserverThrottleDelay();
 }
 
 runTestCycle(function() {
@@ -44,7 +44,7 @@
   assert_true(!!occluder, "occluder exists");
   let observer = new IntersectionObserver(function(changes) {
     entries = entries.concat(changes)
-  }, {trackVisibility: true});
+  }, {trackVisibility: true, delay: 100});
   observer.observe(target);
   entries = entries.concat(observer.takeRecords());
   assert_equals(entries.length, 0, "No initial notifications.");
diff --git a/third_party/WebKit/LayoutTests/virtual/feature-policy-permissions/external/wpt/mediacapture-streams/MediaStream-default-feature-policy.https-expected.txt b/third_party/WebKit/LayoutTests/virtual/feature-policy-permissions/external/wpt/mediacapture-streams/MediaStream-default-feature-policy.https-expected.txt
deleted file mode 100644
index 7ef91c0..0000000
--- a/third_party/WebKit/LayoutTests/virtual/feature-policy-permissions/external/wpt/mediacapture-streams/MediaStream-default-feature-policy.https-expected.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-This is a testharness.js-based test.
-FAIL Default "microphone" feature policy ["self"] allows the top-level document. promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'getUserMedia' on 'Navigator': 3 arguments required, but only 1 present."
-FAIL Default "microphone" feature policy ["self"] allows same-origin iframes. assert_equals: expected "#OK" but got "#TypeError"
-FAIL Default "microphone" feature policy ["self"] disallows cross-origin iframes. assert_equals: expected "#NotAllowedError" but got "#TypeError"
-FAIL Feature policy "microphone" can be enabled in cross-origin iframes using "allow" attribute. assert_equals: expected "#OK" but got "#TypeError"
-FAIL Default "camera" feature policy ["self"] allows the top-level document. promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'getUserMedia' on 'Navigator': 3 arguments required, but only 1 present."
-FAIL Default "camera" feature policy ["self"] allows same-origin iframes. assert_equals: expected "#OK" but got "#TypeError"
-FAIL Default "camera" feature policy ["self"] disallows cross-origin iframes. assert_equals: expected "#NotAllowedError" but got "#TypeError"
-FAIL Feature policy "camera" can be enabled in cross-origin iframes using "allow" attribute. assert_equals: expected "#OK" but got "#TypeError"
-FAIL Default "camera; microphone" feature policy ["self"] allows the top-level document. promise_test: Unhandled rejection with value: object "TypeError: Failed to execute 'getUserMedia' on 'Navigator': 3 arguments required, but only 1 present."
-FAIL Default "camera; microphone" feature policy ["self"] allows same-origin iframes. assert_equals: expected "#OK" but got "#TypeError"
-FAIL Default "camera; microphone" feature policy ["self"] disallows cross-origin iframes. assert_equals: expected "#NotAllowedError" but got "#TypeError"
-FAIL Feature policy "camera; microphone" can be enabled in cross-origin iframes using "allow" attribute. assert_equals: expected "#OK" but got "#TypeError"
-Harness: the test ran to completion.
-
diff --git a/third_party/WebKit/LayoutTests/virtual/video-surface-layer/external/wpt/picture-in-picture/idlharness.window-expected.txt b/third_party/WebKit/LayoutTests/virtual/video-surface-layer/external/wpt/picture-in-picture/idlharness.window-expected.txt
index d13e73b..0feb337 100644
--- a/third_party/WebKit/LayoutTests/virtual/video-surface-layer/external/wpt/picture-in-picture/idlharness.window-expected.txt
+++ b/third_party/WebKit/LayoutTests/virtual/video-surface-layer/external/wpt/picture-in-picture/idlharness.window-expected.txt
@@ -17,6 +17,13 @@
 PASS PictureInPictureWindow interface: pipw must inherit property "width" with the proper type
 PASS PictureInPictureWindow interface: pipw must inherit property "height" with the proper type
 PASS PictureInPictureWindow interface: pipw must inherit property "onresize" with the proper type
+PASS EnterPictureInPictureEvent interface: existence and properties of interface object
+PASS EnterPictureInPictureEvent interface object length
+PASS EnterPictureInPictureEvent interface object name
+PASS EnterPictureInPictureEvent interface: existence and properties of interface prototype object
+PASS EnterPictureInPictureEvent interface: existence and properties of interface prototype object's "constructor" property
+PASS EnterPictureInPictureEvent interface: existence and properties of interface prototype object's @@unscopables property
+PASS EnterPictureInPictureEvent interface: attribute pictureInPictureWindow
 PASS HTMLVideoElement interface: operation requestPictureInPicture()
 PASS HTMLVideoElement interface: attribute onenterpictureinpicture
 PASS HTMLVideoElement interface: attribute onleavepictureinpicture
diff --git a/third_party/blink/public/web/web_document.h b/third_party/blink/public/web/web_document.h
index 922e0bf5..84f32a38 100644
--- a/third_party/blink/public/web/web_document.h
+++ b/third_party/blink/public/web/web_document.h
@@ -95,7 +95,13 @@
   BLINK_EXPORT WebElement Body() const;
   BLINK_EXPORT WebElement Head();
   BLINK_EXPORT WebString Title() const;
-  BLINK_EXPORT WebString ContentAsTextForTesting() const;
+
+  // |use_inner_text| controls which implementation to use for text dump,
+  // spec-conformant Element.innerText or legacy, to help progressive
+  // rebaseline of layout test text dumps.
+  // TODO(xiaochengh): Remove this flag when rebaseline is complete.
+  BLINK_EXPORT WebString ContentAsTextForTesting(bool use_inner_text) const;
+
   BLINK_EXPORT WebElementCollection All();
   BLINK_EXPORT void Forms(WebVector<WebFormElement>&) const;
   BLINK_EXPORT WebURL CompleteURL(const WebString&) const;
diff --git a/third_party/blink/renderer/bindings/bindings.gni b/third_party/blink/renderer/bindings/bindings.gni
index 1bcb1cf..f83a200 100644
--- a/third_party/blink/renderer/bindings/bindings.gni
+++ b/third_party/blink/renderer/bindings/bindings.gni
@@ -105,7 +105,6 @@
                     "core/v8/v8_cache_options.h",
                     "core/v8/v8_code_cache.cc",
                     "core/v8/v8_code_cache.h",
-                    "core/v8/v8_cross_origin_setter_info.h",
                     "core/v8/v8_dom_configuration.cc",
                     "core/v8/v8_dom_configuration.h",
                     "core/v8/v8_embedder_graph_builder.cc",
diff --git a/third_party/blink/renderer/bindings/scripts/v8_attributes.py b/third_party/blink/renderer/bindings/scripts/v8_attributes.py
index 505cdfbd..ea93b70 100644
--- a/third_party/blink/renderer/bindings/scripts/v8_attributes.py
+++ b/third_party/blink/renderer/bindings/scripts/v8_attributes.py
@@ -80,7 +80,7 @@
         includes.add('core/frame/use_counter.h')
     # [CrossOrigin]
     if has_extended_attribute_value(attribute, 'CrossOrigin', 'Setter'):
-        includes.add('bindings/core/v8/v8_cross_origin_setter_info.h')
+        includes.add('platform/bindings/v8_cross_origin_setter_info.h')
     # [Constructor]
     # TODO(yukishiino): Constructors are much like methods although constructors
     # are not methods.  Constructors must be data-type properties, and we can
diff --git a/third_party/blink/renderer/bindings/tests/results/core/v8_test_interface_check_security.cc b/third_party/blink/renderer/bindings/tests/results/core/v8_test_interface_check_security.cc
index 0bf270e..ecaa590 100644
--- a/third_party/blink/renderer/bindings/tests/results/core/v8_test_interface_check_security.cc
+++ b/third_party/blink/renderer/bindings/tests/results/core/v8_test_interface_check_security.cc
@@ -14,13 +14,13 @@
 #include "third_party/blink/renderer/bindings/core/v8/binding_security.h"
 #include "third_party/blink/renderer/bindings/core/v8/idl_types.h"
 #include "third_party/blink/renderer/bindings/core/v8/native_value_traits_impl.h"
-#include "third_party/blink/renderer/bindings/core/v8/v8_cross_origin_setter_info.h"
 #include "third_party/blink/renderer/bindings/core/v8/v8_dom_configuration.h"
 #include "third_party/blink/renderer/core/execution_context/execution_context.h"
 #include "third_party/blink/renderer/core/frame/local_dom_window.h"
 #include "third_party/blink/renderer/platform/bindings/exception_messages.h"
 #include "third_party/blink/renderer/platform/bindings/exception_state.h"
 #include "third_party/blink/renderer/platform/bindings/runtime_call_stats.h"
+#include "third_party/blink/renderer/platform/bindings/v8_cross_origin_setter_info.h"
 #include "third_party/blink/renderer/platform/bindings/v8_object_constructor.h"
 #include "third_party/blink/renderer/platform/runtime_enabled_features.h"
 #include "third_party/blink/renderer/platform/wtf/get_ptr.h"
diff --git a/third_party/blink/renderer/core/exported/web_document.cc b/third_party/blink/renderer/core/exported/web_document.cc
index e542377a..118d333 100644
--- a/third_party/blink/renderer/core/exported/web_document.cc
+++ b/third_party/blink/renderer/core/exported/web_document.cc
@@ -152,10 +152,13 @@
   return WebString(ConstUnwrap<Document>()->title());
 }
 
-WebString WebDocument::ContentAsTextForTesting() const {
+WebString WebDocument::ContentAsTextForTesting(bool use_inner_text) const {
   Element* document_element = ConstUnwrap<Document>()->documentElement();
   if (!document_element)
     return WebString();
+  if (use_inner_text)
+    return document_element->innerText();
+
   // TODO(editing-dev): We should use |Element::innerText()|.
   const_cast<Document*>(ConstUnwrap<Document>())
       ->UpdateStyleAndLayoutIgnorePendingStylesheetsForNode(document_element);
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 e9b53166..3101fa06 100644
--- a/third_party/blink/renderer/core/frame/local_frame_view.cc
+++ b/third_party/blink/renderer/core/frame/local_frame_view.cc
@@ -254,7 +254,6 @@
       past_layout_lifecycle_update_(false),
       suppress_adjust_view_size_(false),
       intersection_observation_state_(kNotNeeded),
-      descendant_needs_intersection_observation_update_(false),
       needs_forced_compositing_update_(false),
       needs_focus_on_fragment_(false),
       tracked_object_paint_invalidations_(
@@ -2413,15 +2412,12 @@
   UpdateLifecyclePhasesInternal(target_state);
 
   // Update intersection observations if needed.
-  if ((intersection_observation_state_ != kNotNeeded ||
-       descendant_needs_intersection_observation_update_) &&
-      target_state == DocumentLifecycle::kPaintClean) {
+  if (target_state == DocumentLifecycle::kPaintClean) {
     TRACE_EVENT0("blink,benchmark",
                  "LocalFrameView::UpdateViewportIntersectionsForSubtree");
     SCOPED_UMA_AND_UKM_TIMER("Blink.IntersectionObservation.UpdateTime",
                              UkmMetricNames::kIntersectionObservation);
     UpdateViewportIntersectionsForSubtree();
-    descendant_needs_intersection_observation_update_ = false;
   }
 
   UpdateThrottlingStatusForSubtree();
@@ -4170,8 +4166,6 @@
   if (intersection_observation_state_ >= state)
     return;
   intersection_observation_state_ = state;
-  if (LocalFrameView* root_view = GetFrame().LocalFrameRoot().View())
-    root_view->SetDescendantNeedsIntersectionObservationUpdate();
 }
 
 unsigned LocalFrameView::GetIntersectionObservationFlags() const {
diff --git a/third_party/blink/renderer/core/frame/local_frame_view.h b/third_party/blink/renderer/core/frame/local_frame_view.h
index 7f2339ef..75ef8d7 100644
--- a/third_party/blink/renderer/core/frame/local_frame_view.h
+++ b/third_party/blink/renderer/core/frame/local_frame_view.h
@@ -813,13 +813,6 @@
   template <typename Function>
   void ForAllNonThrottledLocalFrameViews(const Function&);
 
-  // This flag is only set on the local root view, whenever any descendant in
-  // the frame tree has a visual change the requires IntersectionObservations
-  // to be recomputed.
-  void SetDescendantNeedsIntersectionObservationUpdate() {
-    descendant_needs_intersection_observation_update_ = true;
-  }
-
   void UpdateViewportIntersectionsForSubtree() override;
   void UpdateThrottlingStatusForSubtree();
 
@@ -945,7 +938,6 @@
   bool allows_layout_invalidation_after_layout_clean_ = true;
 #endif
   IntersectionObservationState intersection_observation_state_;
-  bool descendant_needs_intersection_observation_update_;
   bool needs_forced_compositing_update_;
 
   bool needs_focus_on_fragment_;
diff --git a/third_party/blink/renderer/core/inspector/inspector_trace_events.cc b/third_party/blink/renderer/core/inspector/inspector_trace_events.cc
index b62a1b8..3c40ac19 100644
--- a/third_party/blink/renderer/core/inspector/inspector_trace_events.cc
+++ b/third_party/blink/renderer/core/inspector/inspector_trace_events.cc
@@ -1312,15 +1312,17 @@
 }
 
 std::unique_ptr<TracedValue> InspectorTracingSessionIdForWorkerEvent::Data(
-    LocalFrame* frame,
-    const String& url,
-    WorkerThread* worker_thread) {
+    const base::UnguessableToken& worker_devtools_token,
+    const base::UnguessableToken& parent_devtools_token,
+    const KURL& url,
+    PlatformThreadId worker_thread_id) {
   std::unique_ptr<TracedValue> value = TracedValue::Create();
-  value->SetString("frame", IdentifiersFactory::FrameId(frame));
-  value->SetString("url", url);
-  value->SetString("workerId", IdentifiersFactory::IdFromToken(
-                                   worker_thread->GetDevToolsWorkerToken()));
-  value->SetDouble("workerThreadId", worker_thread->GetPlatformThreadId());
+  value->SetString("frame",
+                   IdentifiersFactory::IdFromToken(parent_devtools_token));
+  value->SetString("url", url.GetString());
+  value->SetString("workerId",
+                   IdentifiersFactory::IdFromToken(worker_devtools_token));
+  value->SetDouble("workerThreadId", worker_thread_id);
   return value;
 }
 
diff --git a/third_party/blink/renderer/core/inspector/inspector_trace_events.h b/third_party/blink/renderer/core/inspector/inspector_trace_events.h
index b41c7f6ccd..ef1ebf9 100644
--- a/third_party/blink/renderer/core/inspector/inspector_trace_events.h
+++ b/third_party/blink/renderer/core/inspector/inspector_trace_events.h
@@ -9,6 +9,7 @@
 
 #include "base/macros.h"
 #include "base/optional.h"
+#include "third_party/blink/public/platform/web_thread.h"
 #include "third_party/blink/renderer/bindings/core/v8/script_streamer.h"
 #include "third_party/blink/renderer/core/core_export.h"
 #include "third_party/blink/renderer/core/css/css_selector.h"
@@ -21,6 +22,10 @@
 #include "third_party/blink/renderer/platform/wtf/functional.h"
 #include "v8/include/v8.h"
 
+namespace base {
+class UnguessableToken;
+}
+
 namespace v8 {
 class Function;
 template <typename T>
@@ -48,6 +53,7 @@
 class HitTestResult;
 class ImageResourceContent;
 class InvalidationSet;
+class KURL;
 class LayoutImage;
 class LayoutObject;
 class LayoutRect;
@@ -62,7 +68,6 @@
 class ResourceResponse;
 class StyleChangeReasonForTracing;
 class StyleImage;
-class WorkerThread;
 class XMLHttpRequest;
 enum class ResourceType : uint8_t;
 
@@ -456,9 +461,11 @@
 }
 
 namespace InspectorTracingSessionIdForWorkerEvent {
-std::unique_ptr<TracedValue> Data(LocalFrame*,
-                                  const String& url,
-                                  WorkerThread*);
+std::unique_ptr<TracedValue> Data(
+    const base::UnguessableToken& worker_devtools_token,
+    const base::UnguessableToken& parent_devtools_token,
+    const KURL& url,
+    PlatformThreadId worker_thread_id);
 }
 
 namespace InspectorTracingStartedInFrame {
diff --git a/third_party/blink/renderer/core/inspector/worker_inspector_controller.cc b/third_party/blink/renderer/core/inspector/worker_inspector_controller.cc
index 67a3738d..a447ee2 100644
--- a/third_party/blink/renderer/core/inspector/worker_inspector_controller.cc
+++ b/third_party/blink/renderer/core/inspector/worker_inspector_controller.cc
@@ -62,10 +62,20 @@
     WorkerThreadDebugger* debugger)
     : debugger_(debugger), thread_(thread), probe_sink_(new CoreProbeSink()) {
   probe_sink_->addInspectorTraceEvents(new InspectorTraceEvents());
+  if (thread->GlobalScope()->IsWorkerGlobalScope()) {
+    WorkerGlobalScope* scope = ToWorkerGlobalScope(thread->GlobalScope());
+    worker_devtools_token_ = thread->GetDevToolsWorkerToken();
+    parent_devtools_token_ = scope->GetParentDevToolsToken();
+    url_ = scope->Url();
+    worker_thread_id_ = thread->GetPlatformThreadId();
+  }
+  TraceEvent::AddEnabledStateObserver(this);
+  EmitTraceEvent();
 }
 
 WorkerInspectorController::~WorkerInspectorController() {
   DCHECK(!thread_);
+  TraceEvent::RemoveEnabledStateObserver(this);
 }
 
 void WorkerInspectorController::ConnectFrontend(int session_id) {
@@ -157,6 +167,23 @@
     it.value->flushProtocolNotifications();
 }
 
+void WorkerInspectorController::OnTraceLogEnabled() {
+  EmitTraceEvent();
+}
+
+void WorkerInspectorController::OnTraceLogDisabled() {}
+
+void WorkerInspectorController::EmitTraceEvent() {
+  if (worker_devtools_token_.is_empty())
+    return;
+  TRACE_EVENT_INSTANT1(TRACE_DISABLED_BY_DEFAULT("devtools.timeline"),
+                       "TracingSessionIdForWorker", TRACE_EVENT_SCOPE_THREAD,
+                       "data",
+                       InspectorTracingSessionIdForWorkerEvent::Data(
+                           worker_devtools_token_, parent_devtools_token_, url_,
+                           worker_thread_id_));
+}
+
 void WorkerInspectorController::Trace(blink::Visitor* visitor) {
   visitor->Trace(probe_sink_);
   visitor->Trace(sessions_);
diff --git a/third_party/blink/renderer/core/inspector/worker_inspector_controller.h b/third_party/blink/renderer/core/inspector/worker_inspector_controller.h
index 51f4e17..349c945 100644
--- a/third_party/blink/renderer/core/inspector/worker_inspector_controller.h
+++ b/third_party/blink/renderer/core/inspector/worker_inspector_controller.h
@@ -33,9 +33,12 @@
 
 #include "base/macros.h"
 #include "base/memory/scoped_refptr.h"
+#include "base/unguessable_token.h"
 #include "third_party/blink/public/platform/web_thread.h"
 #include "third_party/blink/renderer/core/inspector/inspector_session.h"
 #include "third_party/blink/renderer/core/inspector/inspector_task_runner.h"
+#include "third_party/blink/renderer/platform/instrumentation/tracing/trace_event.h"
+#include "third_party/blink/renderer/platform/weborigin/kurl.h"
 #include "third_party/blink/renderer/platform/wtf/allocator.h"
 #include "third_party/blink/renderer/platform/wtf/forward.h"
 #include "third_party/blink/renderer/platform/wtf/hash_map.h"
@@ -48,6 +51,7 @@
 
 class WorkerInspectorController final
     : public GarbageCollectedFinalized<WorkerInspectorController>,
+      public TraceEvent::EnabledStateObserver,
       public InspectorSession::Client,
       private WebThread::TaskObserver {
  public:
@@ -81,10 +85,24 @@
   void WillProcessTask() override;
   void DidProcessTask() override;
 
+  // blink::TraceEvent::EnabledStateObserver implementation:
+  void OnTraceLogEnabled() override;
+  void OnTraceLogDisabled() override;
+
+  void EmitTraceEvent();
+
   WorkerThreadDebugger* debugger_;
   WorkerThread* thread_;
   Member<CoreProbeSink> probe_sink_;
   HeapHashMap<int, Member<InspectorSession>> sessions_;
+
+  // These fields are set up in the constructor and then read
+  // on a random thread from EmitTraceEvent().
+  base::UnguessableToken worker_devtools_token_;
+  base::UnguessableToken parent_devtools_token_;
+  KURL url_;
+  PlatformThreadId worker_thread_id_;
+
   DISALLOW_COPY_AND_ASSIGN(WorkerInspectorController);
 };
 
diff --git a/third_party/blink/renderer/core/intersection_observer/intersection_observation.cc b/third_party/blink/renderer/core/intersection_observer/intersection_observation.cc
index 9cff404e..375106a 100644
--- a/third_party/blink/renderer/core/intersection_observer/intersection_observation.cc
+++ b/third_party/blink/renderer/core/intersection_observer/intersection_observation.cc
@@ -35,15 +35,11 @@
 
 }  // namespace
 
-// Minimum time, in milliseconds, between observations. See:
-//   http://szager-chromium.github.io/IntersectionObserver/#dom-intersectionobserver-trackvisibility
-const DOMHighResTimeStamp IntersectionObservation::s_v2_throttle_delay_ = 100;
-
 IntersectionObservation::IntersectionObservation(IntersectionObserver& observer,
                                                  Element& target)
     : observer_(observer),
       target_(&target),
-      last_run_time_(-s_v2_throttle_delay_),
+      last_run_time_(-observer.GetEffectiveDelay()),
       last_is_visible_(false),
       // Note that the spec says the initial value of last_threshold_index_
       // should be -1, but since last_threshold_index_ is unsigned, we use a
@@ -54,19 +50,20 @@
   DCHECK(Observer());
   if (!target_ || !observer_->RootIsValid() | !observer_->GetExecutionContext())
     return;
-  bool needs_update =
-      flags & (observer_->RootIsImplicit() ? kImplicitRootObserversNeedUpdate
-                                           : kExplicitRootObserversNeedUpdate);
-  if (!needs_update)
+  if (flags &
+      (observer_->RootIsImplicit() ? kImplicitRootObserversNeedUpdate
+                                   : kExplicitRootObserversNeedUpdate)) {
+    needs_update_ = true;
+  }
+  if (!needs_update_)
     return;
   DOMHighResTimeStamp timestamp = observer_->GetTimeStamp();
   if (timestamp == -1)
     return;
-  if (observer_->trackVisibility() &&
-      IntersectionObserver::V2ThrottleDelayEnabled() &&
-      timestamp - last_run_time_ < s_v2_throttle_delay_) {
+  if (timestamp - last_run_time_ < observer_->GetEffectiveDelay())
     return;
-  }
+  last_run_time_ = timestamp;
+  needs_update_ = 0;
   Vector<Length> root_margin(4);
   root_margin[0] = observer_->TopMargin();
   root_margin[1] = observer_->RightMargin();
diff --git a/third_party/blink/renderer/core/intersection_observer/intersection_observation.h b/third_party/blink/renderer/core/intersection_observer/intersection_observation.h
index c1e6e3d..d987b0b 100644
--- a/third_party/blink/renderer/core/intersection_observer/intersection_observation.h
+++ b/third_party/blink/renderer/core/intersection_observer/intersection_observation.h
@@ -55,18 +55,15 @@
     last_is_visible_ = last_is_visible ? 1 : 0;
   }
 
-  // If trackVisibility is true, don't compute observations more frequently
-  // than this many milliseconds.
-  static const DOMHighResTimeStamp s_v2_throttle_delay_;
-
   Member<IntersectionObserver> observer_;
   WeakMember<Element> target_;
   HeapVector<Member<IntersectionObserverEntry>> entries_;
   DOMHighResTimeStamp last_run_time_;
 
   unsigned last_is_visible_ : 1;
-  unsigned last_threshold_index_ : 31;
-  static const unsigned kMaxThresholdIndex = (unsigned)0x80000000;
+  unsigned needs_update_ : 1;
+  unsigned last_threshold_index_ : 30;
+  static const unsigned kMaxThresholdIndex = (unsigned)0x40000000;
 };
 
 }  // namespace blink
diff --git a/third_party/blink/renderer/core/intersection_observer/intersection_observer.cc b/third_party/blink/renderer/core/intersection_observer/intersection_observer.cc
index 9024617..e767cac 100644
--- a/third_party/blink/renderer/core/intersection_observer/intersection_observer.cc
+++ b/third_party/blink/renderer/core/intersection_observer/intersection_observer.cc
@@ -135,12 +135,36 @@
 
 }  // anonymous namespace
 
+static bool throttle_delay_enabled = true;
+
+void IntersectionObserver::SetThrottleDelayEnabledForTesting(bool enabled) {
+  throttle_delay_enabled = enabled;
+}
+
 IntersectionObserver* IntersectionObserver::Create(
     const IntersectionObserverInit& observer_init,
     IntersectionObserverDelegate& delegate,
     ExceptionState& exception_state) {
   Element* root = observer_init.root();
 
+  DOMHighResTimeStamp delay = 0;
+  bool track_visibility = false;
+  if (RuntimeEnabledFeatures::IntersectionObserverV2Enabled()) {
+    delay = observer_init.delay();
+    track_visibility = observer_init.trackVisibility();
+    if (track_visibility && delay < 100) {
+      exception_state.ThrowDOMException(
+          DOMExceptionCode::kNotSupportedError,
+          "To enable the 'trackVisibility' option, you must also use a "
+          "'delay' option with a value of at least 100. Visibility is more "
+          "expensive to compute than the basic intersection; enabling this "
+          "option may negatively affect your page's performance. Please make "
+          "sure you *really* need visibility tracking before enabling the "
+          "'trackVisibility' option.");
+      return nullptr;
+    }
+  }
+
   Vector<Length> root_margin;
   ParseRootMargin(observer_init.rootMargin(), root_margin, exception_state);
   if (exception_state.HadException())
@@ -151,12 +175,8 @@
   if (exception_state.HadException())
     return nullptr;
 
-  bool track_visibility = false;
-  if (RuntimeEnabledFeatures::IntersectionObserverV2Enabled())
-    track_visibility = observer_init.trackVisibility();
-
   return new IntersectionObserver(delegate, root, root_margin, thresholds,
-                                  track_visibility);
+                                  delay, track_visibility);
 }
 
 IntersectionObserver* IntersectionObserver::Create(
@@ -174,12 +194,14 @@
     const Vector<float>& thresholds,
     Document* document,
     EventCallback callback,
+    DOMHighResTimeStamp delay,
     bool track_visibility,
     ExceptionState& exception_state) {
   IntersectionObserverDelegateImpl* intersection_observer_delegate =
       new IntersectionObserverDelegateImpl(document, std::move(callback));
   return new IntersectionObserver(*intersection_observer_delegate, nullptr,
-                                  root_margin, thresholds, track_visibility);
+                                  root_margin, thresholds, delay,
+                                  track_visibility);
 }
 
 IntersectionObserver::IntersectionObserver(
@@ -187,11 +209,13 @@
     Element* root,
     const Vector<Length>& root_margin,
     const Vector<float>& thresholds,
+    DOMHighResTimeStamp delay,
     bool track_visibility)
     : ContextClient(delegate.GetExecutionContext()),
       delegate_(&delegate),
       root_(root),
       thresholds_(thresholds),
+      delay_(delay),
       top_margin_(kFixed),
       right_margin_(kFixed),
       bottom_margin_(kFixed),
@@ -324,6 +348,10 @@
   return string_builder.ToString();
 }
 
+DOMHighResTimeStamp IntersectionObserver::GetEffectiveDelay() const {
+  return throttle_delay_enabled ? delay_ : 0;
+}
+
 DOMHighResTimeStamp IntersectionObserver::GetTimeStamp() const {
   if (Document* document = ToDocument(delegate_->GetExecutionContext())) {
     if (LocalDOMWindow* dom_window = document->domWindow())
@@ -360,14 +388,4 @@
   ContextClient::Trace(visitor);
 }
 
-static bool v2_throttle_delay_enabled = true;
-
-bool IntersectionObserver::V2ThrottleDelayEnabled() {
-  return v2_throttle_delay_enabled;
-}
-
-void IntersectionObserver::SetV2ThrottleDelayEnabledForTesting(bool enabled) {
-  v2_throttle_delay_enabled = enabled;
-}
-
 }  // namespace blink
diff --git a/third_party/blink/renderer/core/intersection_observer/intersection_observer.h b/third_party/blink/renderer/core/intersection_observer/intersection_observer.h
index 0ced0a9..877510a 100644
--- a/third_party/blink/renderer/core/intersection_observer/intersection_observer.h
+++ b/third_party/blink/renderer/core/intersection_observer/intersection_observer.h
@@ -50,6 +50,7 @@
                                       const Vector<float>& thresholds,
                                       Document*,
                                       EventCallback,
+                                      DOMHighResTimeStamp delay = 0,
                                       bool track_visbility = false,
                                       ExceptionState& = ASSERT_NO_EXCEPTION);
   static void ResumeSuspendedObservers();
@@ -64,6 +65,7 @@
   Element* root() const { return root_.Get(); }
   String rootMargin() const;
   const Vector<float>& thresholds() const { return thresholds_; }
+  DOMHighResTimeStamp delay() const { return delay_; }
   bool trackVisibility() const { return track_visibility_; }
 
   // An observer can either track intersections with an explicit root Element,
@@ -74,6 +76,7 @@
   bool RootIsImplicit() const { return root_is_implicit_; }
 
   DOMHighResTimeStamp GetTimeStamp() const;
+  DOMHighResTimeStamp GetEffectiveDelay() const;
   const Length& TopMargin() const { return top_margin_; }
   const Length& RightMargin() const { return right_margin_; }
   const Length& BottomMargin() const { return bottom_margin_; }
@@ -91,15 +94,15 @@
   void Trace(blink::Visitor*) override;
 
   // Enable/disable throttling of visibility checking, so we don't have to add
-  // 100ms sleep() calls to tests.
-  static bool V2ThrottleDelayEnabled();
-  static void SetV2ThrottleDelayEnabledForTesting(bool);
+  // sleep() calls to tests to wait for notifications to show up.
+  static void SetThrottleDelayEnabledForTesting(bool);
 
  private:
   explicit IntersectionObserver(IntersectionObserverDelegate&,
                                 Element*,
                                 const Vector<Length>& root_margin,
                                 const Vector<float>& thresholds,
+                                DOMHighResTimeStamp delay,
                                 bool track_visibility);
   void ClearWeakMembers(Visitor*);
 
@@ -107,6 +110,7 @@
   WeakMember<Element> root_;
   HeapLinkedHashSet<WeakMember<IntersectionObservation>> observations_;
   Vector<float> thresholds_;
+  DOMHighResTimeStamp delay_;
   Length top_margin_;
   Length right_margin_;
   Length bottom_margin_;
diff --git a/third_party/blink/renderer/core/intersection_observer/intersection_observer.idl b/third_party/blink/renderer/core/intersection_observer/intersection_observer.idl
index fc1bd4494..b53d71e1 100644
--- a/third_party/blink/renderer/core/intersection_observer/intersection_observer.idl
+++ b/third_party/blink/renderer/core/intersection_observer/intersection_observer.idl
@@ -19,6 +19,7 @@
     readonly attribute DOMString rootMargin;
     // https://github.com/WICG/IntersectionObserver/issues/114
     readonly attribute FrozenArray<double> thresholds;
+    [RuntimeEnabled=IntersectionObserverV2] readonly attribute DOMHighResTimeStamp delay;
     [RuntimeEnabled=IntersectionObserverV2] readonly attribute boolean trackVisibility;
     [RaisesException] void observe(Element target);
     [RaisesException] void unobserve(Element target);
diff --git a/third_party/blink/renderer/core/intersection_observer/intersection_observer_init.idl b/third_party/blink/renderer/core/intersection_observer/intersection_observer_init.idl
index 0dbb57a..aec7427 100644
--- a/third_party/blink/renderer/core/intersection_observer/intersection_observer_init.idl
+++ b/third_party/blink/renderer/core/intersection_observer/intersection_observer_init.idl
@@ -8,5 +8,6 @@
     Element? root = null;
     DOMString rootMargin = "0px";
     (double or sequence<double>) threshold = 0;
+    [RuntimeEnabled=IntersectionObserverV2] DOMHighResTimeStamp delay = 0;
     [RuntimeEnabled=IntersectionObserverV2] boolean trackVisibility = false;
 };
diff --git a/third_party/blink/renderer/core/intersection_observer/intersection_observer_test.cc b/third_party/blink/renderer/core/intersection_observer/intersection_observer_test.cc
index ca3c080..c88711f 100644
--- a/third_party/blink/renderer/core/intersection_observer/intersection_observer_test.cc
+++ b/third_party/blink/renderer/core/intersection_observer/intersection_observer_test.cc
@@ -67,11 +67,11 @@
  public:
   IntersectionObserverV2Test()
       : IntersectionObserverTest(), ScopedIntersectionObserverV2ForTest(true) {
-    IntersectionObserver::SetV2ThrottleDelayEnabledForTesting(false);
+    IntersectionObserver::SetThrottleDelayEnabledForTesting(false);
   }
 
   ~IntersectionObserverV2Test() override {
-    IntersectionObserver::SetV2ThrottleDelayEnabledForTesting(true);
+    IntersectionObserver::SetThrottleDelayEnabledForTesting(true);
   }
 };
 
@@ -352,11 +352,29 @@
       new TestIntersectionObserverDelegate(GetDocument());
   IntersectionObserver* observer = IntersectionObserver::Create(
       observer_init, *observer_delegate, exception_state);
+  ASSERT_FALSE(exception_state.HadException());
   EXPECT_FALSE(observer->trackVisibility());
+
+  // This should fail because no delay is set.
   observer_init.setTrackVisibility(true);
   observer = IntersectionObserver::Create(observer_init, *observer_delegate,
                                           exception_state);
+  EXPECT_TRUE(exception_state.HadException());
+
+  // This should fail because the delay is < 100.
+  exception_state.ClearException();
+  observer_init.setDelay(99.9);
+  observer = IntersectionObserver::Create(observer_init, *observer_delegate,
+                                          exception_state);
+  EXPECT_TRUE(exception_state.HadException());
+
+  exception_state.ClearException();
+  observer_init.setDelay(101.);
+  observer = IntersectionObserver::Create(observer_init, *observer_delegate,
+                                          exception_state);
+  ASSERT_FALSE(exception_state.HadException());
   EXPECT_TRUE(observer->trackVisibility());
+  EXPECT_EQ(observer->delay(), 101.);
 }
 
 TEST_F(IntersectionObserverV2Test, BasicOcclusion) {
@@ -378,6 +396,7 @@
 
   IntersectionObserverInit observer_init;
   observer_init.setTrackVisibility(true);
+  observer_init.setDelay(100);
   DummyExceptionStateForTesting exception_state;
   TestIntersectionObserverDelegate* observer_delegate =
       new TestIntersectionObserverDelegate(GetDocument());
@@ -435,6 +454,7 @@
 
   IntersectionObserverInit observer_init;
   observer_init.setTrackVisibility(true);
+  observer_init.setDelay(100);
   DummyExceptionStateForTesting exception_state;
   TestIntersectionObserverDelegate* observer_delegate =
       new TestIntersectionObserverDelegate(GetDocument());
@@ -483,6 +503,7 @@
 
   IntersectionObserverInit observer_init;
   observer_init.setTrackVisibility(true);
+  observer_init.setDelay(100);
   DummyExceptionStateForTesting exception_state;
   TestIntersectionObserverDelegate* observer_delegate =
       new TestIntersectionObserverDelegate(GetDocument());
diff --git a/third_party/blink/renderer/core/paint/compositing/composited_layer_mapping.cc b/third_party/blink/renderer/core/paint/compositing/composited_layer_mapping.cc
index 56f24b8a..15325a0 100644
--- a/third_party/blink/renderer/core/paint/compositing/composited_layer_mapping.cc
+++ b/third_party/blink/renderer/core/paint/compositing/composited_layer_mapping.cc
@@ -817,7 +817,7 @@
   bool has_clip_path =
       ClipPathClipper::LocalClipPathBoundingBox(GetLayoutObject()).has_value();
   if (UpdateMaskLayer(has_mask || has_clip_path)) {
-    graphics_layer_->SetMaskLayer(mask_layer_.get());
+    graphics_layer_->SetMaskLayer(mask_layer_.get(), false);
     layer_config_changed = true;
   }
 
@@ -838,11 +838,11 @@
       // TODO(trchen): Verify if the 3 cases are mutually exclusive.
       GraphicsLayer* first_come_first_served = child_clipping_mask_layer_.get();
       if (HasClippingLayer()) {
-        ClippingLayer()->SetMaskLayer(first_come_first_served);
+        ClippingLayer()->SetMaskLayer(first_come_first_served, true);
         first_come_first_served = nullptr;
       }
       if (HasScrollingLayer()) {
-        ScrollingLayer()->SetMaskLayer(first_come_first_served);
+        ScrollingLayer()->SetMaskLayer(first_come_first_served, true);
         first_come_first_served = nullptr;
       }
       graphics_layer_->SetContentsClippingMaskLayer(first_come_first_served);
@@ -2068,13 +2068,13 @@
       ancestor_clipping_mask_layer_->SetPaintingPhase(
           kGraphicsLayerPaintAncestorClippingMask);
       ancestor_clipping_layer_->SetMaskLayer(
-          ancestor_clipping_mask_layer_.get());
+          ancestor_clipping_mask_layer_.get(), true);
       layers_changed = true;
     }
   } else if (ancestor_clipping_mask_layer_) {
     ancestor_clipping_mask_layer_->RemoveFromParent();
     ancestor_clipping_mask_layer_ = nullptr;
-    ancestor_clipping_layer_->SetMaskLayer(nullptr);
+    ancestor_clipping_layer_->SetMaskLayer(nullptr, false);
     layers_changed = true;
   }
 
diff --git a/third_party/blink/renderer/core/testing/internals.cc b/third_party/blink/renderer/core/testing/internals.cc
index 8ff77a7..1db9ed76 100644
--- a/third_party/blink/renderer/core/testing/internals.cc
+++ b/third_party/blink/renderer/core/testing/internals.cc
@@ -281,7 +281,7 @@
   KeyboardEventManager::SetCurrentCapsLockState(
       OverrideCapsLockState::kDefault);
 
-  IntersectionObserver::SetV2ThrottleDelayEnabledForTesting(true);
+  IntersectionObserver::SetThrottleDelayEnabledForTesting(true);
 }
 
 Internals::Internals(ExecutionContext* context)
@@ -3467,9 +3467,9 @@
   return document_->View()->LifecycleUpdateCountForTesting();
 }
 
-void Internals::DisableIntersectionObserverV2Throttle() const {
+void Internals::DisableIntersectionObserverThrottleDelay() const {
   // This gets reset by Internals::ResetToConsistentState
-  IntersectionObserver::SetV2ThrottleDelayEnabledForTesting(false);
+  IntersectionObserver::SetThrottleDelayEnabledForTesting(false);
 }
 
 void Internals::addEmbedderCustomElementName(const AtomicString& name,
diff --git a/third_party/blink/renderer/core/testing/internals.h b/third_party/blink/renderer/core/testing/internals.h
index f37f8ac..662d269e 100644
--- a/third_party/blink/renderer/core/testing/internals.h
+++ b/third_party/blink/renderer/core/testing/internals.h
@@ -591,7 +591,7 @@
   // LocalFrameView::UpdateLifecyclePhasesInternal).
   unsigned LifecycleUpdateCount() const;
 
-  void DisableIntersectionObserverV2Throttle() const;
+  void DisableIntersectionObserverThrottleDelay() const;
 
   void addEmbedderCustomElementName(const AtomicString& name, ExceptionState&);
 
diff --git a/third_party/blink/renderer/core/testing/internals.idl b/third_party/blink/renderer/core/testing/internals.idl
index a80dd9b..15a61d0 100644
--- a/third_party/blink/renderer/core/testing/internals.idl
+++ b/third_party/blink/renderer/core/testing/internals.idl
@@ -412,11 +412,11 @@
     // LocalFrameView::UpdateLifecyclePhasesInternal).
     unsigned long LifecycleUpdateCount();
 
-    // This disables the 100-millisecond frequency throttling for computing
-    // IntersectionObserver notifications. This eliminates the need to add
-    // setTimeout(..., 100) calls to layout tests to wait for notifications
+    // Disable the 'delay' option for IntersectionObserver, so that observations
+    // are recomputed on every frame.  This eliminates the need to add
+    // setTimeout(..., delay_ms) calls to layout tests to wait for notifications
     // to be generated.
-    void DisableIntersectionObserverV2Throttle();
+    void DisableIntersectionObserverThrottleDelay();
 
     // Declare that the given |name| is in use by the embedder via the custom
     // element mechanism.
diff --git a/third_party/blink/renderer/core/workers/execution_context_worker_registry.cc b/third_party/blink/renderer/core/workers/execution_context_worker_registry.cc
index ad7da07b..af294e7 100644
--- a/third_party/blink/renderer/core/workers/execution_context_worker_registry.cc
+++ b/third_party/blink/renderer/core/workers/execution_context_worker_registry.cc
@@ -14,12 +14,9 @@
 
 ExecutionContextWorkerRegistry::ExecutionContextWorkerRegistry(
     ExecutionContext& context)
-    : Supplement<ExecutionContext>(context), weak_factory_(this) {
-  TraceEvent::AddAsyncEnabledStateObserver(weak_factory_.GetWeakPtr());
-}
+    : Supplement<ExecutionContext>(context) {}
 
 ExecutionContextWorkerRegistry::~ExecutionContextWorkerRegistry() {
-  TraceEvent::RemoveAsyncEnabledStateObserver(this);
 }
 
 ExecutionContextWorkerRegistry* ExecutionContextWorkerRegistry::From(
@@ -38,7 +35,6 @@
 void ExecutionContextWorkerRegistry::AddWorkerInspectorProxy(
     WorkerInspectorProxy* proxy) {
   proxies_.insert(proxy);
-  EmitTraceEvent(proxy);
 }
 
 void ExecutionContextWorkerRegistry::RemoveWorkerInspectorProxy(
@@ -51,25 +47,6 @@
   return proxies_;
 }
 
-void ExecutionContextWorkerRegistry::OnTraceLogEnabled() {
-  for (WorkerInspectorProxy* proxy : proxies_)
-    EmitTraceEvent(proxy);
-}
-
-void ExecutionContextWorkerRegistry::OnTraceLogDisabled() {}
-
-void ExecutionContextWorkerRegistry::EmitTraceEvent(
-    WorkerInspectorProxy* proxy) {
-  ExecutionContext* context = GetSupplementable();
-  LocalFrame* frame =
-      context->IsDocument() ? ToDocument(context)->GetFrame() : nullptr;
-  TRACE_EVENT_INSTANT1(TRACE_DISABLED_BY_DEFAULT("devtools.timeline"),
-                       "TracingSessionIdForWorker", TRACE_EVENT_SCOPE_THREAD,
-                       "data",
-                       InspectorTracingSessionIdForWorkerEvent::Data(
-                           frame, proxy->Url(), proxy->GetWorkerThread()));
-}
-
 void ExecutionContextWorkerRegistry::Trace(Visitor* visitor) {
   visitor->Trace(proxies_);
   Supplement<ExecutionContext>::Trace(visitor);
diff --git a/third_party/blink/renderer/core/workers/execution_context_worker_registry.h b/third_party/blink/renderer/core/workers/execution_context_worker_registry.h
index 374e933..391d9b78 100644
--- a/third_party/blink/renderer/core/workers/execution_context_worker_registry.h
+++ b/third_party/blink/renderer/core/workers/execution_context_worker_registry.h
@@ -7,7 +7,6 @@
 
 #include "third_party/blink/renderer/core/execution_context/execution_context.h"
 #include "third_party/blink/renderer/core/workers/worker_inspector_proxy.h"
-#include "third_party/blink/renderer/platform/instrumentation/tracing/trace_event.h"
 #include "third_party/blink/renderer/platform/supplementable.h"
 #include "third_party/blink/renderer/platform/wtf/hash_set.h"
 
@@ -16,7 +15,6 @@
 // Tracks the WorkerInspectorProxy objects created by a given ExecutionContext.
 class ExecutionContextWorkerRegistry final
     : public GarbageCollectedFinalized<ExecutionContextWorkerRegistry>,
-      public TraceEvent::AsyncEnabledStateObserver,
       public Supplement<ExecutionContext> {
   USING_GARBAGE_COLLECTED_MIXIN(ExecutionContextWorkerRegistry);
 
@@ -25,25 +23,18 @@
 
   static ExecutionContextWorkerRegistry* From(ExecutionContext& context);
 
-  ~ExecutionContextWorkerRegistry() override;
+  ~ExecutionContextWorkerRegistry();
 
   void AddWorkerInspectorProxy(WorkerInspectorProxy* proxy);
   void RemoveWorkerInspectorProxy(WorkerInspectorProxy* proxy);
   const HeapHashSet<Member<WorkerInspectorProxy>>& GetWorkerInspectorProxies();
 
-  // blink::TraceEvent::AsyncEnabledStateObserver implementation:
-  void OnTraceLogEnabled() override;
-  void OnTraceLogDisabled() override;
-
   void Trace(Visitor* visitor) override;
 
  private:
   explicit ExecutionContextWorkerRegistry(ExecutionContext& context);
 
-  void EmitTraceEvent(WorkerInspectorProxy* proxy);
-
   HeapHashSet<Member<WorkerInspectorProxy>> proxies_;
-  base::WeakPtrFactory<ExecutionContextWorkerRegistry> weak_factory_;
 };
 
 }  // namespace blink
diff --git a/third_party/blink/renderer/devtools/front_end/console/ConsoleViewMessage.js b/third_party/blink/renderer/devtools/front_end/console/ConsoleViewMessage.js
index aacf09d..dff95d6 100644
--- a/third_party/blink/renderer/devtools/front_end/console/ConsoleViewMessage.js
+++ b/third_party/blink/renderer/devtools/front_end/console/ConsoleViewMessage.js
@@ -1102,7 +1102,6 @@
     switch (this._message.level) {
       case SDK.ConsoleMessage.MessageLevel.Verbose:
         this._element.classList.add('console-verbose-level');
-        this._updateMessageLevelIcon('');
         break;
       case SDK.ConsoleMessage.MessageLevel.Info:
         this._element.classList.add('console-info-level');
@@ -1111,13 +1110,12 @@
         break;
       case SDK.ConsoleMessage.MessageLevel.Warning:
         this._element.classList.add('console-warning-level');
-        this._updateMessageLevelIcon('smallicon-warning');
         break;
       case SDK.ConsoleMessage.MessageLevel.Error:
         this._element.classList.add('console-error-level');
-        this._updateMessageLevelIcon('smallicon-error');
         break;
     }
+    this._updateMessageLevelIcon();
     if (this._shouldRenderAsWarning())
       this._element.classList.add('console-warning-level');
 
@@ -1138,10 +1136,16 @@
          this._message.source === SDK.ConsoleMessage.MessageSource.Recommendation);
   }
 
-  /**
-   * @param {string} iconType
-   */
-  _updateMessageLevelIcon(iconType) {
+  _updateMessageLevelIcon() {
+    let iconType = '';
+    let accessibleName = '';
+    if (this._message.level === SDK.ConsoleMessage.MessageLevel.Warning) {
+      iconType = 'smallicon-warning';
+      accessibleName = ls`Warning`;
+    } else if (this._message.level === SDK.ConsoleMessage.MessageLevel.Error) {
+      iconType = 'smallicon-error';
+      accessibleName = ls`Error`;
+    }
     if (!iconType && !this._messageLevelIcon)
       return;
     if (iconType && !this._messageLevelIcon) {
@@ -1150,6 +1154,7 @@
         this._contentElement.insertBefore(this._messageLevelIcon, this._contentElement.firstChild);
     }
     this._messageLevelIcon.setIconType(iconType);
+    UI.ARIAUtils.setAccessibleName(this._messageLevelIcon, accessibleName);
   }
 
   /**
@@ -1209,6 +1214,12 @@
       this._contentElement.classList.add('repeated-message');
     }
     this._repeatCountElement.textContent = this._repeatCount;
+    let accessibleName = ls`Repeat ${this._repeatCount}`;
+    if (this._message.level === SDK.ConsoleMessage.MessageLevel.Warning)
+      accessibleName = ls`Warning ${accessibleName}`;
+    else if (this._message.level === SDK.ConsoleMessage.MessageLevel.Error)
+      accessibleName = ls`Error ${accessibleName}`;
+    UI.ARIAUtils.setAccessibleName(this._repeatCountElement, accessibleName);
   }
 
   get text() {
diff --git a/third_party/blink/renderer/devtools/front_end/elements/ComputedStyleWidget.js b/third_party/blink/renderer/devtools/front_end/elements/ComputedStyleWidget.js
index 231a28b..729cd112c 100644
--- a/third_party/blink/renderer/devtools/front_end/elements/ComputedStyleWidget.js
+++ b/third_party/blink/renderer/devtools/front_end/elements/ComputedStyleWidget.js
@@ -62,6 +62,8 @@
 
     this._propertiesOutline = new UI.TreeOutlineInShadow();
     this._propertiesOutline.hideOverflow();
+    this._propertiesOutline.setShowSelectionOnKeyboardFocus(true);
+    this._propertiesOutline.setFocusable(true);
     this._propertiesOutline.registerRequiredCSS('elements/computedStyleWidgetTree.css');
     this._propertiesOutline.element.classList.add('monospace', 'computed-properties');
     this.contentElement.appendChild(this._propertiesOutline.element);
@@ -141,6 +143,7 @@
       const propertyName = treeElement[Elements.ComputedStyleWidget._propertySymbol].name;
       expandedProperties.add(propertyName);
     }
+    const hadFocus = this._propertiesOutline.element.hasFocus();
     this._propertiesOutline.removeChildren();
     this._linkifier.reset();
     const cssModel = this._computedStyleModel.cssModel();
@@ -192,12 +195,13 @@
       propertyValueElement.appendChild(semicolon);
 
       const treeElement = new UI.TreeElement();
-      treeElement.selectable = false;
       treeElement.title = propertyElement;
       treeElement[Elements.ComputedStyleWidget._propertySymbol] = {name: propertyName, value: propertyValue};
       const isOdd = this._propertiesOutline.rootElement().children().length % 2 === 0;
       treeElement.listItemElement.classList.toggle('odd-row', isOdd);
       this._propertiesOutline.appendChild(treeElement);
+      if (!this._propertiesOutline.selectedTreeElement)
+        treeElement.select(!hadFocus);
 
       const trace = propertyTraces.get(propertyName);
       if (trace) {
@@ -295,7 +299,6 @@
 
       const traceTreeElement = new UI.TreeElement();
       traceTreeElement.title = trace;
-      traceTreeElement.selectable = false;
       rootTreeElement.appendChild(traceTreeElement);
     }
     return /** @type {!SDK.CSSProperty} */ (activeProperty);
diff --git a/third_party/blink/renderer/modules/media_controls/resources/modernMediaControls.css b/third_party/blink/renderer/modules/media_controls/resources/modernMediaControls.css
index 10d9ded..5dc6f1d 100644
--- a/third_party/blink/renderer/modules/media_controls/resources/modernMediaControls.css
+++ b/third_party/blink/renderer/modules/media_controls/resources/modernMediaControls.css
@@ -522,6 +522,14 @@
 }
 
 video::-webkit-media-controls div[pseudo="-internal-media-controls-loading-panel" i]::-internal-media-controls-loading-panel-spinner-frame {
+  position: absolute;
+  top: 50%;
+  left: 50%;
+  overflow: hidden;
+
+  height: var(--overlay-play-button-width, 48px);
+  width: var(--overlay-play-button-width, 48px);
+  margin-left: calc(var(--overlay-play-button-width) / -2);
   margin-top: calc(
       (var(--overlay-play-button-width, 48px)
           + 24px /* timeline height + padding-bottom */)
@@ -1094,6 +1102,11 @@
   margin-top: -5px;
 }
 
+video::-webkit-media-controls.immersive-mode input[pseudo="-webkit-media-controls-overlay-play-button" i] {
+  margin-left: -52px /* (play button width / 2) + 20px Padding */;
+  margin-top: -64px /* (play button width + timeline height + padding-bottom) / 2 + padding */
+}
+
 video::-webkit-media-controls.immersive-mode input[pseudo="-webkit-media-controls-overlay-play-button" i]::-internal-media-controls-overlay-play-button-internal {
   width: 64px;
   height: 64px;
@@ -1101,6 +1114,14 @@
   background-size: 36px;
 }
 
+video::-webkit-media-controls.immersive-mode div[pseudo="-internal-media-controls-loading-panel" i]::-internal-media-controls-loading-panel-spinner-frame {
+  width: 64px; /* play button width */
+  height: 64px; /* play button width */
+  margin-top: -44px; /* (play button width + timeline height + padding-bottom) / -2 */
+  margin-left: -32px; /* play button width / -2 */
+}
+
+
 video::-webkit-media-controls.immersive-mode input[pseudo="-webkit-media-controls-mute-button" i],
 video::-webkit-media-controls.immersive-mode input[pseudo="-webkit-media-controls-fullscreen-button" i],
 video::-webkit-media-controls.immersive-mode input[pseudo="-internal-media-controls-overflow-button" i] {
diff --git a/third_party/blink/renderer/modules/media_controls/resources/modernMediaControls_loading.css b/third_party/blink/renderer/modules/media_controls/resources/modernMediaControls_loading.css
index 932651f..d70707c79 100644
--- a/third_party/blink/renderer/modules/media_controls/resources/modernMediaControls_loading.css
+++ b/third_party/blink/renderer/modules/media_controls/resources/modernMediaControls_loading.css
@@ -2,16 +2,6 @@
    Use of this source code is governed by a BSD-style license that can be
    found in the LICENSE file.*/
 
-#spinner-frame {
-  position: absolute;
-  height: var(--overlay-play-button-width, 48px);
-  width: var(--overlay-play-button-width, 48px);
-  top: 50%;
-  left: 50%;
-  margin-left: calc(var(--overlay-play-button-width) / -2);
-  overflow: hidden;
-}
-
 #spinner {
   animation: container-rotate 1568ms linear infinite;
   height: 100%;
diff --git a/third_party/blink/renderer/modules/service_worker/service_worker_global_scope_proxy.cc b/third_party/blink/renderer/modules/service_worker/service_worker_global_scope_proxy.cc
index 1f91d168..0d03945 100644
--- a/third_party/blink/renderer/modules/service_worker/service_worker_global_scope_proxy.cc
+++ b/third_party/blink/renderer/modules/service_worker/service_worker_global_scope_proxy.cc
@@ -435,11 +435,15 @@
   DCHECK(WorkerGlobalScope()->IsContextThread());
   FetchEvent* fetch_event = pending_preload_fetch_events_.Take(fetch_event_id);
   DCHECK(fetch_event);
-  // Display an unsanitized console message.
-  if (!error->unsanitized_message.IsEmpty()) {
+  // Display an error message to the console, preferring the unsanitized one if
+  // available.
+  const WebString& error_message = error->unsanitized_message.IsEmpty()
+                                       ? error->message
+                                       : error->unsanitized_message;
+  if (!error_message.IsEmpty()) {
     WorkerGlobalScope()->AddConsoleMessage(ConsoleMessage::Create(
         kWorkerMessageSource, blink::MessageLevel::kErrorMessageLevel,
-        error->unsanitized_message));
+        error_message));
   }
   // Reject the preloadResponse promise.
   fetch_event->OnNavigationPreloadError(
diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/renderer/platform/BUILD.gn
index 6500282..ac1e91f 100644
--- a/third_party/blink/renderer/platform/BUILD.gn
+++ b/third_party/blink/renderer/platform/BUILD.gn
@@ -458,6 +458,7 @@
     "bindings/v8_binding.cc",
     "bindings/v8_binding.h",
     "bindings/v8_binding_macros.h",
+    "bindings/v8_cross_origin_setter_info.h",
     "bindings/v8_dom_activity_logger.cc",
     "bindings/v8_dom_activity_logger.h",
     "bindings/v8_dom_wrapper.cc",
diff --git a/third_party/blink/renderer/bindings/core/v8/v8_cross_origin_setter_info.h b/third_party/blink/renderer/platform/bindings/v8_cross_origin_setter_info.h
similarity index 83%
rename from third_party/blink/renderer/bindings/core/v8/v8_cross_origin_setter_info.h
rename to third_party/blink/renderer/platform/bindings/v8_cross_origin_setter_info.h
index 3ad6d461..85b2e4d 100644
--- a/third_party/blink/renderer/bindings/core/v8/v8_cross_origin_setter_info.h
+++ b/third_party/blink/renderer/platform/bindings/v8_cross_origin_setter_info.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 THIRD_PARTY_BLINK_RENDERER_BINDINGS_CORE_V8_V8_CROSS_ORIGIN_SETTER_INFO_H_
-#define THIRD_PARTY_BLINK_RENDERER_BINDINGS_CORE_V8_V8_CROSS_ORIGIN_SETTER_INFO_H_
+#ifndef THIRD_PARTY_BLINK_RENDERER_PLATFORM_BINDINGS_V8_CROSS_ORIGIN_SETTER_INFO_H_
+#define THIRD_PARTY_BLINK_RENDERER_PLATFORM_BINDINGS_V8_CROSS_ORIGIN_SETTER_INFO_H_
 
 #include "third_party/blink/renderer/platform/wtf/allocator.h"
 #include "v8/include/v8.h"
@@ -36,4 +36,4 @@
 
 }  // namespace blink
 
-#endif  // THIRD_PARTY_BLINK_RENDERER_BINDINGS_CORE_V8_V8_CROSS_ORIGIN_SETTER_INFO_H_
+#endif  // THIRD_PARTY_BLINK_RENDERER_PLATFORM_BINDINGS_V8_CROSS_ORIGIN_SETTER_INFO_H_
diff --git a/third_party/blink/renderer/platform/graphics/graphics_layer.cc b/third_party/blink/renderer/platform/graphics/graphics_layer.cc
index 8060fdb8..37914b0 100644
--- a/third_party/blink/renderer/platform/graphics/graphics_layer.cc
+++ b/third_party/blink/renderer/platform/graphics/graphics_layer.cc
@@ -528,6 +528,8 @@
       contents_clipping_mask_layer_ ? contents_clipping_mask_layer_->CcLayer()
                                     : nullptr;
   contents_layer_->SetMaskLayer(border_cc_layer);
+  if (border_cc_layer)
+    border_cc_layer->set_is_rounded_corner_mask(true);
 
   contents_layer_->Set3dSortingContextId(rendering_context3d_);
 }
@@ -741,12 +743,15 @@
     contents_layer_->SetContentsOpaque(opaque);
 }
 
-void GraphicsLayer::SetMaskLayer(GraphicsLayer* mask_layer) {
+void GraphicsLayer::SetMaskLayer(GraphicsLayer* mask_layer,
+                                 bool is_rounded_corner_mask) {
   if (mask_layer == mask_layer_)
     return;
 
   mask_layer_ = mask_layer;
   layer_->SetMaskLayer(mask_layer_ ? mask_layer_->CcLayer() : nullptr);
+  if (mask_layer_)
+    mask_layer_->CcLayer()->set_is_rounded_corner_mask(is_rounded_corner_mask);
 }
 
 void GraphicsLayer::SetContentsClippingMaskLayer(
@@ -762,6 +767,9 @@
       contents_clipping_mask_layer_ ? contents_clipping_mask_layer_->CcLayer()
                                     : nullptr;
   contents_layer->SetMaskLayer(contents_clipping_mask_cc_layer);
+  // Contents clipping mask layesrs (aka child clipping mask layer) is always
+  // a rounded corner mask.
+  contents_layer->set_is_rounded_corner_mask(true);
   UpdateContentsRect();
 }
 
diff --git a/third_party/blink/renderer/platform/graphics/graphics_layer.h b/third_party/blink/renderer/platform/graphics/graphics_layer.h
index bdd93ef0..b9e45dc5 100644
--- a/third_party/blink/renderer/platform/graphics/graphics_layer.h
+++ b/third_party/blink/renderer/platform/graphics/graphics_layer.h
@@ -119,7 +119,7 @@
   void RemoveFromParent();
 
   GraphicsLayer* MaskLayer() const { return mask_layer_; }
-  void SetMaskLayer(GraphicsLayer*);
+  void SetMaskLayer(GraphicsLayer*, bool is_rounded_corner_mask);
 
   GraphicsLayer* ContentsClippingMaskLayer() const {
     return contents_clipping_mask_layer_;
diff --git a/third_party/blink/renderer/platform/instrumentation/tracing/trace_event.cc b/third_party/blink/renderer/platform/instrumentation/tracing/trace_event.cc
index 0a174cb..40a645a 100644
--- a/third_party/blink/renderer/platform/instrumentation/tracing/trace_event.cc
+++ b/third_party/blink/renderer/platform/instrumentation/tracing/trace_event.cc
@@ -30,5 +30,14 @@
       observer);
 }
 
+void AddEnabledStateObserver(EnabledStateObserver* observer) {
+  base::trace_event::TraceLog::GetInstance()->AddEnabledStateObserver(observer);
+}
+
+void RemoveEnabledStateObserver(EnabledStateObserver* observer) {
+  base::trace_event::TraceLog::GetInstance()->RemoveEnabledStateObserver(
+      observer);
+}
+
 }  // namespace TraceEvent
 }  // namespace blink
diff --git a/third_party/blink/renderer/platform/instrumentation/tracing/trace_event.h b/third_party/blink/renderer/platform/instrumentation/tracing/trace_event.h
index 1fbb622..aa96a2b 100644
--- a/third_party/blink/renderer/platform/instrumentation/tracing/trace_event.h
+++ b/third_party/blink/renderer/platform/instrumentation/tracing/trace_event.h
@@ -31,6 +31,7 @@
 using base::trace_event::TraceScopedTrackableObject;
 using AsyncEnabledStateObserver =
     base::trace_event::TraceLog::AsyncEnabledStateObserver;
+using EnabledStateObserver = base::trace_event::TraceLog::EnabledStateObserver;
 
 inline base::TimeTicks ToTraceTimestamp(double seconds) {
   return base::TimeTicks() + base::TimeDelta::FromSecondsD(seconds);
@@ -47,6 +48,9 @@
 PLATFORM_EXPORT void RemoveAsyncEnabledStateObserver(
     AsyncEnabledStateObserver*);
 
+PLATFORM_EXPORT void AddEnabledStateObserver(EnabledStateObserver*);
+PLATFORM_EXPORT void RemoveEnabledStateObserver(EnabledStateObserver*);
+
 }  // namespace TraceEvent
 }  // namespace blink
 
diff --git a/third_party/feed/update_mockserver_pb.sh b/third_party/feed/update_mockserver_pb.sh
new file mode 100755
index 0000000..240533c
--- /dev/null
+++ b/third_party/feed/update_mockserver_pb.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+# 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.
+
+# Copies compiled feed MockServer test data to chrome/test/data/android/feed directory
+# Run once per Feed Library Roll
+cd third_party/feed/
+if ! [[ `pwd` =~ .*third_party/feed$ ]]; then
+  echo "Not in third_party/feed directory: `pwd`"
+  exit 1
+fi
+cp ./src/src/main/java/com/google/android/libraries/feed/mocknetworkclient/test_data/*.gcl.bin ../../chrome/test/data/android/feed/
+chmod a-x ../../chrome/test/data/android/feed/*.gcl.bin
diff --git a/third_party/fuchsia-sdk/BUILD.gn b/third_party/fuchsia-sdk/BUILD.gn
index 00f37bd..704e8f4 100644
--- a/third_party/fuchsia-sdk/BUILD.gn
+++ b/third_party/fuchsia-sdk/BUILD.gn
@@ -180,6 +180,7 @@
   ]
   deps = [
     ":images",
+    ":mem",
     ":vectorial",
   ]
 }
diff --git a/tools/fuchsia/local-sdk.py b/tools/fuchsia/local-sdk.py
index 156ef48..e5974d0 100755
--- a/tools/fuchsia/local-sdk.py
+++ b/tools/fuchsia/local-sdk.py
@@ -34,29 +34,34 @@
 def BuildForArch(arch):
   build_dir = 'out/release-' + arch
   Run('scripts/fx', 'set', arch,
-      '--packages=topaz/packages/sdk/topaz',
-      '--args=is_debug=false', build_dir)
+      '--packages=garnet/packages/sdk/garnet',
+      '--args=is_debug=false', '--args=build_sdk_archives=true', build_dir)
   Run('scripts/fx', 'full-build')
 
 
 def main(args):
-  if len(args) != 1 or not os.path.isdir(args[0]):
-    print 'usage: %s <path_to_fuchsia_tree>' % SELF_FILE
+  if len(args) == 0 or len(args) > 2 or not os.path.isdir(args[0]):
+    print """usage: %s <path_to_fuchsia_tree> [architecture]""" % SELF_FILE
     return 1
 
   original_dir = os.getcwd()
 
   fuchsia_root = args[0]
 
+  arch = args[1] if len(args) > 1 else 'x64'
+  if arch not in ['x64', 'arm64']:
+    print 'Unknown architecture: ' + arch
+    print 'Must be "x64" or "arm64".'
+    return 1
+
   # Switch to the Fuchsia tree and build an SDK.
   os.chdir(fuchsia_root)
 
-  BuildForArch('x64')
-  BuildForArch('arm64')
+  BuildForArch(arch)
 
   tempdir = tempfile.mkdtemp()
-  sdk_tar = os.path.join(tempdir, 'fuchsia-sdk.tgz')
-  Run('go', 'run', 'scripts/sdk/foundation/makesdk.go', '-output', sdk_tar, '.')
+  sdk_tar = os.path.join(fuchsia_root, 'out', 'release-' + arch, 'sdk',
+                         'garnet.tar.gz')
 
   # Nuke the SDK from DEPS, put our just-built one there, and set a fake .hash
   # file. This means that on next gclient runhooks, we'll restore to the
diff --git a/tools/mb/mb_config.pyl b/tools/mb/mb_config.pyl
index 7a4e52e..73e00a43 100644
--- a/tools/mb/mb_config.pyl
+++ b/tools/mb/mb_config.pyl
@@ -377,11 +377,8 @@
 
     'chromium.perf': {
       'Android Builder Perf': 'official_goma_minimal_symbols_android',
-      # TODO(crbug.com/828465): Remove 'Android arm64 Builder Perf'
       'Android arm64 Builder Perf': 'official_goma_minimal_symbols_android_arm64',
       'android_arm64-builder-perf': 'official_goma_minimal_symbols_android_arm64',
-      'Android Compile Perf': 'official_goma_minimal_symbols_android',
-      'Android arm64 Compile Perf': 'official_goma_minimal_symbols_android_arm64',
       'android-builder-perf': 'official_goma_minimal_symbols_android',
       'linux-builder-perf': 'official_goma_perf',
       # TODO(crbug.com/828468): Remove 'Mac Builder Perf'
diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums.xml
index bff2fe7..c51ed45 100644
--- a/tools/metrics/histograms/enums.xml
+++ b/tools/metrics/histograms/enums.xml
@@ -15026,6 +15026,21 @@
   <int value="3" label="Dismiss by deactivation"/>
 </enum>
 
+<enum name="ExtensionContextMenuAction">
+  <int value="0" label="kNoAction"/>
+  <int value="1" label="kCustomCommand"/>
+  <int value="2" label="kHomePage"/>
+  <int value="3" label="kOptions"/>
+  <int value="4" label="kToggleVisibility"/>
+  <int value="5" label="kUninstall"/>
+  <int value="6" label="kManageExtensions"/>
+  <int value="7" label="kInspectPopup"/>
+  <int value="8" label="kPageAccessRunOnClick"/>
+  <int value="9" label="kPageAccessRunOnSite"/>
+  <int value="10" label="kPageAccessRunOnAllSites"/>
+  <int value="11" label="kPageAccessLearnMore"/>
+</enum>
+
 <enum name="ExtensionCreationFlags">
   <int value="0" label="REQUIRE_KEY"/>
   <int value="1" label="REQUIRE_MODERN_MANIFEST_VERSION"/>
@@ -30342,6 +30357,7 @@
   <int value="1739456903" label="PWAFullCodeCache:enabled"/>
   <int value="1747279677" label="disable-delegated-renderer"/>
   <int value="1752168018" label="enable-stale-while-revalidate"/>
+  <int value="1755024316" label="HostWindowsInAppShimProcess:disabled"/>
   <int value="1760946944" label="MacViewsAutofillPopup:disabled"/>
   <int value="1762320532" label="AutofillKeyboardAccessory:enabled"/>
   <int value="1766676896" label="affiliation-based-matching:disabled"/>
@@ -30529,6 +30545,7 @@
   <int value="2098907258" label="UseSurfaceLayerForVideo:disabled"/>
   <int value="2101151142" label="disable-direct-write"/>
   <int value="2104788328" label="use-winrt-midi-api"/>
+  <int value="2106855416" label="HostWindowsInAppShimProcess:enabled"/>
   <int value="2113804526" label="EnableAppShortcutSearch:enabled"/>
   <int value="2114843059" label="ContextualSuggestionsOptOut:enabled"/>
   <int value="2119964154" label="enable-download-resumption"/>
diff --git a/tools/metrics/histograms/histograms.xml b/tools/metrics/histograms/histograms.xml
index e5d3dff..05aedeb 100644
--- a/tools/metrics/histograms/histograms.xml
+++ b/tools/metrics/histograms/histograms.xml
@@ -13766,6 +13766,16 @@
   </summary>
 </histogram>
 
+<histogram name="Compositing.RenderPass.AppendQuadData.MaskLayerPercent"
+    units="%" expires_after="2019-02-01">
+  <owner>enne@chromium.org</owner>
+  <owner>chrishtr@chromium.org</owner>
+  <summary>
+    Percent of layers drawn that frame that are mask layers. A sample is
+    recorded on the first draw per commit.
+  </summary>
+</histogram>
+
 <histogram name="Compositing.RenderPass.AppendQuadData.NumIncompleteTiles">
   <owner>weiliangc@chromium.org</owner>
   <summary>
@@ -13787,6 +13797,38 @@
   </summary>
 </histogram>
 
+<histogram name="Compositing.RenderPass.AppendQuadData.RCMaskArea"
+    units="pixels" expires_after="2019-02-01">
+  <owner>enne@chromium.org</owner>
+  <owner>chrishtr@chromium.org</owner>
+  <summary>
+    Total visible area of layers drawn that frame that are mask layers and also
+    are simple rounded corner masks.  A sample is recorded on the first draw per
+    commit.
+  </summary>
+</histogram>
+
+<histogram name="Compositing.RenderPass.AppendQuadData.RCMaskAreaPercent"
+    units="%" expires_after="2019-02-01">
+  <owner>enne@chromium.org</owner>
+  <owner>chrishtr@chromium.org</owner>
+  <summary>
+    Percent of visible area of layers drawn that frame that are mask layers and
+    also are simple rounded corner masks.  A sample is recorded on the first
+    draw per commit.
+  </summary>
+</histogram>
+
+<histogram name="Compositing.RenderPass.AppendQuadData.RCMaskLayerPercent"
+    units="%" expires_after="2019-02-01">
+  <owner>enne@chromium.org</owner>
+  <owner>chrishtr@chromium.org</owner>
+  <summary>
+    Percent of layers drawn that frame that are mask layers and also are simple
+    rounded corner masks.  A sample is recorded on the first draw per commit.
+  </summary>
+</histogram>
+
 <histogram name="Compositing.SurfaceAggregator.AggregateUs"
     units="microseconds">
   <owner>weiliangc@chromium.org</owner>
@@ -28684,6 +28726,15 @@
   </summary>
 </histogram>
 
+<histogram name="Extensions.ContextMenuAction"
+    enum="ExtensionContextMenuAction" expires_after="2019-12-30">
+  <owner>rdevlin.cronin@chromium.org</owner>
+  <owner>karandeepb@chromium.org</owner>
+  <summary>
+    Records the action taken by the user from the extension icon context menu.
+  </summary>
+</histogram>
+
 <histogram name="Extensions.CorruptExtensionBecameDisabled">
   <owner>asargent@chromium.org</owner>
   <summary>
@@ -47792,6 +47843,18 @@
   </summary>
 </histogram>
 
+<histogram name="MobileDownload.Location.DirectoryType"
+    enum="DownloadLocationDirectoryType" expires_after="2019-09-24">
+  <owner>dtrainor@chromium.org</owner>
+  <owner>qinmin@chromium.org</owner>
+  <owner>xingliu@chromium.org</owner>
+  <summary>
+    Records the directory type shown when a user opens download location dialog
+    or download location setting. This is recorded when the directory provider
+    generates a list of available directories.
+  </summary>
+</histogram>
+
 <histogram name="MobileDownload.Location.Download.DirectoryType"
     enum="DownloadLocationDirectoryType">
   <owner>xingliu@chromium.org</owner>
@@ -97009,6 +97072,39 @@
   </summary>
 </histogram>
 
+<histogram name="SignedExchange.SignatureVerificationError.Expired"
+    units="seconds" expires_after="2019-09-20">
+  <owner>kinuko@chromium.org</owner>
+  <owner>kouhei@chromium.org</owner>
+  <owner>ksakamoto@chromium.org</owner>
+  <summary>
+    Recorded when Signed Exchange signature was expired. Records the time delta
+    between current time and signature's &quot;expires&quot; value.
+  </summary>
+</histogram>
+
+<histogram name="SignedExchange.SignatureVerificationError.NotYetValid"
+    units="seconds" expires_after="2019-09-20">
+  <owner>kinuko@chromium.org</owner>
+  <owner>kouhei@chromium.org</owner>
+  <owner>ksakamoto@chromium.org</owner>
+  <summary>
+    Recorded when Signed Exchange signature was not yet valid. Records the time
+    delta between current time and signature's &quot;date&quot; value.
+  </summary>
+</histogram>
+
+<histogram name="SignedExchange.TimeUntilExpiration" units="seconds">
+  <owner>kinuko@chromium.org</owner>
+  <owner>kouhei@chromium.org</owner>
+  <owner>ksakamoto@chromium.org</owner>
+  <summary>
+    Number of seconds until the Signed Exchange's expiration time. Recorded when
+    Signed Exchange signature verification is performed, and emitted only for
+    Signed Exchanges within the validity period.
+  </summary>
+</histogram>
+
 <histogram name="Signin" enum="SigninHelperFlow">
   <owner>mlerman@chromium.org</owner>
   <summary>
diff --git a/tools/perf/core/perf_data_generator.py b/tools/perf/core/perf_data_generator.py
index aa817f35..8b45dfa7 100755
--- a/tools/perf/core/perf_data_generator.py
+++ b/tools/perf/core/perf_data_generator.py
@@ -42,8 +42,8 @@
 # bisecting Chrome builds with their web tests. For questions or to report
 # issues, please contact johnchen@chromium.org.
 BUILDER_ADDITIONAL_COMPILE_TARGETS = {
-    'Android Compile Perf': ['microdump_stackwalk', 'angle_perftests'],
-    'Android arm64 Compile Perf': ['microdump_stackwalk', 'angle_perftests'],
+    'android-builder-perf': ['microdump_stackwalk', 'angle_perftests'],
+    'android_arm64-builder-perf': ['microdump_stackwalk', 'angle_perftests'],
     'Linux Builder Perf': ['chromedriver'],
     'Mac Builder Perf': ['chromedriver'],
     'Win Builder Perf': ['chromedriver'],
diff --git a/tools/perf/measurements/rendering_unittest.py b/tools/perf/measurements/rendering_unittest.py
index d3381a3f..2334d28 100644
--- a/tools/perf/measurements/rendering_unittest.py
+++ b/tools/perf/measurements/rendering_unittest.py
@@ -59,6 +59,4 @@
     self.assertGreater(num_samples.get('percentage_smooth', 0), 1)
     for thread_group in THREAD_TIMES_THREAD_GROUPS:
       self.assertGreater(
-          num_samples.get('thread_%s_cpu_time_per_second' % thread_group, 0), 1)
-      self.assertGreater(
           num_samples.get('thread_%s_cpu_time_per_frame' % thread_group, 0), 1)
diff --git a/tools/perf/measurements/thread_times_unittest.py b/tools/perf/measurements/thread_times_unittest.py
index 8adf52a6..7f7a8cf 100644
--- a/tools/perf/measurements/thread_times_unittest.py
+++ b/tools/perf/measurements/thread_times_unittest.py
@@ -37,11 +37,10 @@
     results = self.RunMeasurement(measurement, ps, options=timeline_options)
     self.assertFalse(results.had_failures)
 
-    for interval in timeline.IntervalNames:
-      for category in timeline.TimelineThreadCategories.values():
-        cpu_time_name = timeline.ThreadCpuTimeResultName(category, interval)
-        cpu_time = results.FindAllPageSpecificValuesNamed(cpu_time_name)
-        self.assertEquals(len(cpu_time), 1)
+    for category in timeline.TimelineThreadCategories.values():
+      cpu_time_name = timeline.ThreadCpuTimeResultName(category)
+      cpu_time = results.FindAllPageSpecificValuesNamed(cpu_time_name)
+      self.assertEquals(len(cpu_time), 1)
 
   @decorators.Disabled('chromeos')  # crbug.com/483212
   def testWithSilkDetails(self):
@@ -52,12 +51,11 @@
 
     main_thread = 'renderer_main'
     expected_trace_categories = ['blink', 'cc', 'idle']
-    for interval in timeline.IntervalNames:
-      for trace_category in expected_trace_categories:
-        value_name = timeline.ThreadDetailResultName(
-            main_thread, interval, trace_category)
-        values = results.FindAllPageSpecificValuesNamed(value_name)
-        self.assertEquals(len(values), 1)
+    for trace_category in expected_trace_categories:
+      value_name = timeline.ThreadDetailResultName(
+          main_thread, trace_category)
+      values = results.FindAllPageSpecificValuesNamed(value_name)
+      self.assertEquals(len(values), 1)
 
   def testCleanUpTrace(self):
     self.TestTracingCleanedUp(thread_times.ThreadTimes, self._options)
diff --git a/tools/perf/metrics/timeline.py b/tools/perf/metrics/timeline.py
index 41632226..6693bbe 100644
--- a/tools/perf/metrics/timeline.py
+++ b/tools/perf/metrics/timeline.py
@@ -46,8 +46,6 @@
 FrameTraceStepName = "GenerateCompositorFrame"
 FrameTraceThreadName = "renderer_compositor"
 
-IntervalNames = ["frame", "second"]
-
 
 def Rate(numerator, denominator):
   return DivideIfPossibleOrZero(numerator, denominator)
@@ -79,42 +77,22 @@
   return thread_category
 
 
-def ThreadCpuTimeResultName(thread_category, interval_name):
+def ThreadCpuTimeResultName(thread_category):
   # This isn't a good name, but I don't want to change it and lose continuity.
-  return "thread_" + thread_category + "_cpu_time_per_" + interval_name
+  return "thread_" + thread_category + "_cpu_time_per_frame"
 
 
-def ThreadTasksResultName(thread_category, interval_name):
-  return "tasks_per_" + interval_name + "_" + thread_category
+def ThreadTasksResultName(thread_category):
+  return "tasks_per_frame_" + thread_category
 
 
 def ThreadMeanFrameTimeResultName(thread_category):
   return "mean_frame_time_" + thread_category
 
 
-def ThreadDetailResultName(thread_category, interval_name, detail):
+def ThreadDetailResultName(thread_category, detail):
   detail_sanitized = detail.replace(".", "_")
-  interval_sanitized = ""
-  # Special-case per-frame detail names to preserve continuity.
-  if interval_name == "frame":
-    interval_sanitized = ""
-  else:
-    interval_sanitized = "_per_" + interval_name
-  return (
-      "thread_" + thread_category + interval_sanitized + "|" + detail_sanitized)
-
-
-def ThreadCpuTimeUnits(interval_name):
-  if interval_name == "second":
-    return "%"
-  return "ms"
-
-
-def ThreadCpuTimeValue(ms_cpu_time_per_interval, interval_name):
-  # When measuring seconds of CPU time per second of system time, report a %.
-  if interval_name == "second":
-    return (ms_cpu_time_per_interval / 1000.0) * 100.0
-  return ms_cpu_time_per_interval
+  return "thread_" + thread_category + "|" + detail_sanitized
 
 
 class ResultsForThread(object):
@@ -165,20 +143,20 @@
     self.toplevel_slices.extend(self.SlicesInActions(thread.toplevel_slices))
 
   # Reports cpu-time per interval and tasks per interval.
-  def AddResults(self, num_intervals, interval_name, results):
+  def AddResults(self, num_intervals, results):
     cpu_per_interval = Rate(self.cpu_time, num_intervals)
     tasks_per_interval = Rate(len(self.toplevel_slices), num_intervals)
     results.AddValue(scalar.ScalarValue(
         results.current_page,
-        ThreadCpuTimeResultName(self.name, interval_name),
-        ThreadCpuTimeUnits(interval_name),
-        ThreadCpuTimeValue(cpu_per_interval, interval_name)))
+        ThreadCpuTimeResultName(self.name),
+        "ms",
+        cpu_per_interval))
     results.AddValue(scalar.ScalarValue(
         results.current_page,
-        ThreadTasksResultName(self.name, interval_name),
+        ThreadTasksResultName(self.name),
         "tasks", tasks_per_interval))
 
-  def AddDetailedResults(self, num_intervals, interval_name, results):
+  def AddDetailedResults(self, num_intervals, results):
     slices_by_category = collections.defaultdict(list)
     for s in self.all_slices:
       slices_by_category[s.category].append(s)
@@ -189,17 +167,17 @@
       self_time_per_interval = Rate(self_time, num_intervals)
       results.AddValue(scalar.ScalarValue(
           results.current_page,
-          ThreadDetailResultName(self.name, interval_name, category),
-          ThreadCpuTimeUnits(interval_name),
-          ThreadCpuTimeValue(self_time_per_interval, interval_name)))
+          ThreadDetailResultName(self.name, category),
+          "ms",
+          self_time_per_interval))
     all_measured_time = sum(all_self_times)
     idle_time = max(0, self.all_action_time - all_measured_time)
     idle_time_per_interval = Rate(idle_time, num_intervals)
     results.AddValue(scalar.ScalarValue(
         results.current_page,
-        ThreadDetailResultName(self.name, interval_name, "idle"),
-        ThreadCpuTimeUnits(interval_name),
-        ThreadCpuTimeValue(idle_time_per_interval, interval_name)))
+        ThreadDetailResultName(self.name, "idle"),
+        "ms",
+        idle_time_per_interval))
 
   def CountTracesWithNameAndArg(self, trace_name, step):
     count = 0
@@ -243,21 +221,14 @@
     num_frames = frame_rate_thread.CountTracesWithNameAndArg(FrameTraceName,
         FrameTraceStepName)
 
-    # Calculate the interaction's duration.
-    all_threads = thread_category_results["total_all"]
-    num_seconds = all_threads.all_action_time / 1000.0
-
     # Report the desired results and details for each interval type.
-    intervals = [("frame", num_frames), ("second", num_seconds)]
-    for (interval_name, num_intervals) in intervals:
-      for thread_results in thread_category_results.values():
-        if thread_results.name in self.results_to_report:
-          thread_results.AddResults(num_intervals, interval_name, results)
-        # TODO(nduca): When generic results objects are done, this special case
-        # can be replaced with a generic UI feature.
-        if thread_results.name in self.details_to_report:
-          thread_results.AddDetailedResults(
-              num_intervals, interval_name, results)
+    for thread_results in thread_category_results.values():
+      if thread_results.name in self.results_to_report:
+        thread_results.AddResults(num_frames, results)
+      # TODO(nduca): When generic results objects are done, this special case
+      # can be replaced with a generic UI feature.
+      if thread_results.name in self.details_to_report:
+        thread_results.AddDetailedResults(num_frames, results)
 
     # Report mean frame time for the frame rate thread. We could report other
     # frame rates (e.g. renderer_main) but this might get confusing.
diff --git a/tools/perf/metrics/timeline_unittest.py b/tools/perf/metrics/timeline_unittest.py
index a8ce369d..d385fc0 100644
--- a/tools/perf/metrics/timeline_unittest.py
+++ b/tools/perf/metrics/timeline_unittest.py
@@ -36,7 +36,7 @@
     # Test that all result thread categories exist
     for name in timeline.TimelineThreadCategories.values():
       results.GetPageSpecificValueNamed(
-          timeline.ThreadCpuTimeResultName(name, 'frame'))
+          timeline.ThreadCpuTimeResultName(name))
 
   def testBasic(self):
     model = model_module.TimelineModel()
@@ -75,26 +75,13 @@
     cc_thread = 'renderer_compositor'
     assert_results = [
         (timeline.ThreadMeanFrameTimeResultName(cc_thread), 'ms', 10.0),
-        (timeline.ThreadTasksResultName(main_thread, 'frame'), 'tasks', 0.5),
-        (timeline.ThreadTasksResultName(main_thread, 'second'), 'tasks', 50.0),
-        (timeline.ThreadTasksResultName(cc_thread, 'frame'), 'tasks', 1.0),
-        (timeline.ThreadTasksResultName(cc_thread, 'second'), 'tasks', 100.0),
-        (timeline.ThreadCpuTimeResultName(main_thread, 'frame'), 'ms', 9.75),
-        (timeline.ThreadCpuTimeResultName(main_thread, 'second'), '%', 97.5),
-        (timeline.ThreadCpuTimeResultName(cc_thread, 'frame'), 'ms', 1.0),
-        (timeline.ThreadCpuTimeResultName(cc_thread, 'second'), '%', 10.0),
-        (timeline.ThreadDetailResultName(main_thread, 'frame', 'cat1'),
-         'ms', 9.5),
-        (timeline.ThreadDetailResultName(main_thread, 'second', 'cat1'),
-         '%', 95.0),
-        (timeline.ThreadDetailResultName(main_thread, 'frame', 'cat2'),
-         'ms', 0.5),
-        (timeline.ThreadDetailResultName(main_thread, 'second', 'cat2'),
-         '%', 5.0),
-        (timeline.ThreadDetailResultName(
-            main_thread, 'frame', 'idle'), 'ms', 0),
-        (timeline.ThreadDetailResultName(
-            main_thread, 'second', 'idle'), '%', 0)
+        (timeline.ThreadTasksResultName(main_thread), 'tasks', 0.5),
+        (timeline.ThreadTasksResultName(cc_thread), 'tasks', 1.0),
+        (timeline.ThreadCpuTimeResultName(main_thread), 'ms', 9.75),
+        (timeline.ThreadCpuTimeResultName(cc_thread), 'ms', 1.0),
+        (timeline.ThreadDetailResultName(main_thread, 'cat1'), 'ms', 9.5),
+        (timeline.ThreadDetailResultName(main_thread, 'cat2'), 'ms', 0.5),
+        (timeline.ThreadDetailResultName(main_thread, 'idle'), 'ms', 0),
     ]
     for name, unit, value in assert_results:
       results.AssertHasPageSpecificScalarValue(name, unit, value)
@@ -129,10 +116,7 @@
 
     # Test a couple specific results.
     assert_results = [
-        (timeline.ThreadCpuTimeResultName(
-            'renderer_main', 'frame'), 'ms', 9.0),
-        (timeline.ThreadCpuTimeResultName(
-            'renderer_main', 'second'), '%', 45.0),
+        (timeline.ThreadCpuTimeResultName('renderer_main'), 'ms', 9.0),
     ]
     for name, unit, value in assert_results:
       results.AssertHasPageSpecificScalarValue(name, unit, value)
diff --git a/ui/accessibility/ax_role_properties.cc b/ui/accessibility/ax_role_properties.cc
index 4641a52..0ea7ac9 100644
--- a/ui/accessibility/ax_role_properties.cc
+++ b/ui/accessibility/ax_role_properties.cc
@@ -214,6 +214,17 @@
   }
 }
 
+bool IsMenuItem(ax::mojom::Role role) {
+  switch (role) {
+    case ax::mojom::Role::kMenuItem:
+    case ax::mojom::Role::kMenuItemCheckBox:
+    case ax::mojom::Role::kMenuItemRadio:
+      return true;
+    default:
+      return false;
+  }
+}
+
 bool IsImage(ax::mojom::Role role) {
   switch (role) {
     case ax::mojom::Role::kCanvas:
diff --git a/ui/accessibility/ax_role_properties.h b/ui/accessibility/ax_role_properties.h
index 3b6776a..a99c785 100644
--- a/ui/accessibility/ax_role_properties.h
+++ b/ui/accessibility/ax_role_properties.h
@@ -48,6 +48,10 @@
 // Returns true if this node is a menu or related role.
 AX_EXPORT bool IsMenuRelated(ax::mojom::Role role);
 
+// Returns true if the role is a menu item, including menu item
+// check box and menu item radio buttons.
+AX_EXPORT bool IsMenuItem(ax::mojom::Role role);
+
 // Returns true if it's an image, graphic, canvas, etc.
 AX_EXPORT bool IsImage(ax::mojom::Role role);
 
diff --git a/ui/accessibility/extensions/strings/accessibility_extensions_strings_bn.xtb b/ui/accessibility/extensions/strings/accessibility_extensions_strings_bn.xtb
index 32630f2..597f120 100644
--- a/ui/accessibility/extensions/strings/accessibility_extensions_strings_bn.xtb
+++ b/ui/accessibility/extensions/strings/accessibility_extensions_strings_bn.xtb
@@ -16,7 +16,7 @@
 <translation id="2394933097471027016">এখনই এটি ব্যবহার করে দেখুন - ক্যারেট ব্রাউজিং সর্বদা এই পৃষ্ঠায় সক্ষম করা থাকে!</translation>
 <translation id="2471847333270902538"><ph name="SITE" /> এর জন্য রঙের স্কীম:</translation>
 <translation id="2648340354586434750">শব্দগুলির দ্বারা সরাতে &lt;span class='key'&gt;বিকল্প&lt;/span&gt; টিপে ধরে রাখুন৷</translation>
-<translation id="2795227192542594043">এই এক্সটেনশানটি আপনাকে ওয়েব পৃষ্ঠাটির উপর একটি চলনশীল কার্সার দেয়, আপনাকে কীবোর্ড দিয়ে পাঠ্য নির্বাচন করতে দেয়৷</translation>
+<translation id="2795227192542594043">এই এক্সটেনশনটি আপনাকে ওয়েব পৃষ্ঠাটির উপর একটি কার্সার দেয়, আপনাকে কীবোর্ড দিয়ে টেক্সট নির্বাচন করতে দেয়৷</translation>
 <translation id="2808027189040546825">পদক্ষেপ ১: ক্ষীণতম তারকা সহ সারিটি বেছে নিন:</translation>
 <translation id="2965611304828530558">&lt;p&gt;যখন আপনি কোনো লিঙ্ক অ্যাক্সেস করেন বা নিয়ন্ত্রণ করেন, তখন এটি স্বয়ংক্রিয়ভাবে ফোকাস করবে৷ কোনো লিঙ্ক বা বোতামে ক্লিক করতে &lt;span class='key'&gt;Enter&lt;/span&gt; টিপুন৷ &lt;/p&gt; &lt;p&gt; যখন কোনো ফোকাস করা নিয়ন্ত্রণ (কোনো পাঠ্য বক্স বা তালিকা বক্স) নির্দেশক তীরচিহ্নগুলি ক্যাপচার করে, তখন ক্যারেট ব্রাউজিং করা চালিয়ে যেতে বাঁ বা ডান তীর অনুসরণ করে &lt;span class='key'&gt;Esc&lt;/span&gt; টিপুন৷ &lt;/p&gt; &lt;p&gt; অন্যথা, পরবর্তী ফোকাসযোগ্য নিয়ন্ত্রণে সরে যেতে &lt;span class='key'&gt;Tab&lt;/span&gt; টিপুন৷ &lt;/p&gt;</translation>
 <translation id="3252573918265662711">সেটআপ</translation>
diff --git a/ui/accessibility/platform/ax_platform_node_mac.mm b/ui/accessibility/platform/ax_platform_node_mac.mm
index 1bf96b4..89f6b3d 100644
--- a/ui/accessibility/platform/ax_platform_node_mac.mm
+++ b/ui/accessibility/platform/ax_platform_node_mac.mm
@@ -560,6 +560,10 @@
     [axAttributes addObjectsFromArray:@[ NSAccessibilitySelectedAttribute ]];
   }
 
+  if (ui::IsMenuItem(node_->GetData().role)) {
+    [axAttributes addObjectsFromArray:@[ @"AXMenuItemMarkChar" ]];
+  }
+
   return axAttributes.autorelease();
 }
 
@@ -825,6 +829,19 @@
   return [self getStringAttribute:ax::mojom::StringAttribute::kPlaceholder];
 }
 
+- (NSString*)AXMenuItemMarkChar {
+  if (!ui::IsMenuItem(node_->GetData().role))
+    return nil;
+
+  const auto checkedState = static_cast<ax::mojom::CheckedState>(
+      node_->GetIntAttribute(ax::mojom::IntAttribute::kCheckedState));
+  if (checkedState == ax::mojom::CheckedState::kTrue) {
+    return @"\xE2\x9C\x93";  // UTF-8 for unicode 0x2713, "check mark"
+  }
+
+  return @"";
+}
+
 // Text-specific attributes.
 
 - (NSString*)AXSelectedText {
@@ -976,7 +993,7 @@
       break;
     case ax::mojom::Event::kSelection:
       // On Mac, map menu item selection to a focus event.
-      if (GetData().role == ax::mojom::Role::kMenuItem) {
+      if (ui::IsMenuItem(GetData().role)) {
         NotifyMacEvent(native_node_, ax::mojom::Event::kFocus);
         return;
       }
diff --git a/ui/accessibility/platform/ax_platform_node_win.cc b/ui/accessibility/platform/ax_platform_node_win.cc
index 9ebfaed5..9f340f7 100644
--- a/ui/accessibility/platform/ax_platform_node_win.cc
+++ b/ui/accessibility/platform/ax_platform_node_win.cc
@@ -5558,8 +5558,7 @@
 
   // In focused single selection UI menus and listboxes, mirror item selection
   // to focus. This helps NVDA read the selected option as it changes.
-  if ((data.role == ax::mojom::Role::kListBoxOption ||
-       data.role == ax::mojom::Role::kMenuItem) &&
+  if ((data.role == ax::mojom::Role::kListBoxOption || IsMenuItem(data.role)) &&
       data.GetBoolAttribute(ax::mojom::BoolAttribute::kSelected)) {
     AXPlatformNodeBase* container = FromNativeViewAccessible(GetParent());
     if (container && container->GetParent() == focus) {
diff --git a/ui/aura/mus/window_mus.h b/ui/aura/mus/window_mus.h
index bac124e8..3ee4b65d 100644
--- a/ui/aura/mus/window_mus.h
+++ b/ui/aura/mus/window_mus.h
@@ -28,7 +28,6 @@
 namespace viz {
 class FrameSinkId;
 class LocalSurfaceId;
-class SurfaceInfo;
 }
 
 namespace aura {
@@ -95,7 +94,6 @@
       const viz::FrameSinkId& frame_sink_id) = 0;
   virtual const viz::LocalSurfaceId& GetOrAllocateLocalSurfaceId(
       const gfx::Size& new_size) = 0;
-  virtual void SetFallbackSurfaceInfo(const viz::SurfaceInfo& surface_info) = 0;
   // The window was deleted on the server side. DestroyFromServer() should
   // result in deleting |this|.
   virtual void DestroyFromServer() = 0;
diff --git a/ui/aura/mus/window_port_mus.cc b/ui/aura/mus/window_port_mus.cc
index 3a3f9e5..75b1099 100644
--- a/ui/aura/mus/window_port_mus.cc
+++ b/ui/aura/mus/window_port_mus.cc
@@ -338,26 +338,6 @@
   return local_surface_id_;
 }
 
-void WindowPortMus::SetFallbackSurfaceInfo(
-    const viz::SurfaceInfo& surface_info) {
-  if (!window_->IsEmbeddingClient()) {
-    // |primary_surface_id_| should not be valid, since we didn't know the
-    // |window_->frame_sink_id()|.
-    DCHECK(!primary_surface_id_.is_valid());
-    embed_frame_sink_id_ = surface_info.id().frame_sink_id();
-    window_->SetEmbedFrameSinkId(embed_frame_sink_id_);
-    UpdatePrimarySurfaceId();
-  }
-
-  // The frame sink id should never be changed.
-  DCHECK_EQ(surface_info.id().frame_sink_id(), window_->GetFrameSinkId());
-
-  fallback_surface_info_ = surface_info;
-  UpdateClientSurfaceEmbedder();
-  if (window_->delegate())
-    window_->delegate()->OnFirstSurfaceActivation(fallback_surface_info_);
-}
-
 void WindowPortMus::DestroyFromServer() {
   std::unique_ptr<ScopedServerChange> remove_from_parent_change;
   if (window_->parent()) {
@@ -648,7 +628,7 @@
   }
 
   client_surface_embedder_->SetPrimarySurfaceId(primary_surface_id_);
-  client_surface_embedder_->SetFallbackSurfaceInfo(fallback_surface_info_);
+  client_surface_embedder_->UpdateSizeAndGutters();
 }
 
 }  // namespace aura
diff --git a/ui/aura/mus/window_port_mus.h b/ui/aura/mus/window_port_mus.h
index 34fbfd0..8148624 100644
--- a/ui/aura/mus/window_port_mus.h
+++ b/ui/aura/mus/window_port_mus.h
@@ -245,7 +245,6 @@
       const gfx::Size& surface_size_in_pixels) override;
   void UpdateLocalSurfaceIdFromEmbeddedClient(
       const viz::LocalSurfaceId& embedded_client_local_surface_id) override;
-  void SetFallbackSurfaceInfo(const viz::SurfaceInfo& surface_info) override;
   void DestroyFromServer() override;
   void AddTransientChildFromServer(WindowMus* child) override;
   void RemoveTransientChildFromServer(WindowMus* child) override;
@@ -302,7 +301,6 @@
   ServerChanges server_changes_;
 
   viz::SurfaceId primary_surface_id_;
-  viz::SurfaceInfo fallback_surface_info_;
 
   viz::LocalSurfaceId local_surface_id_;
   // TODO(sad, fsamuel): For 'mash' mode, where the embedder is responsible for
diff --git a/ui/aura/mus/window_tree_client.cc b/ui/aura/mus/window_tree_client.cc
index 1b1bc16..50227f6 100644
--- a/ui/aura/mus/window_tree_client.cc
+++ b/ui/aura/mus/window_tree_client.cc
@@ -1416,21 +1416,6 @@
   window->SetCursorFromServer(cursor);
 }
 
-void WindowTreeClient::OnWindowSurfaceChanged(
-    ws::Id window_id,
-    const viz::SurfaceInfo& surface_info) {
-  WindowMus* window = GetWindowByServerId(window_id);
-  if (!window)
-    return;
-
-  // If the parent is informed of a child's surface then that surface ID is
-  // guaranteed to be available in the display compositor so we set it as the
-  // fallback. If surface synchronization is enabled, the primary SurfaceInfo
-  // is created by the embedder, and the LocalSurfaceId is allocated by the
-  // embedder.
-  window->SetFallbackSurfaceInfo(surface_info);
-}
-
 void WindowTreeClient::OnDragDropStart(
     const base::flat_map<std::string, std::vector<uint8_t>>& mime_data) {
   drag_drop_controller_->OnDragDropStart(mojo::FlatMapToMap(mime_data));
diff --git a/ui/aura/mus/window_tree_client.h b/ui/aura/mus/window_tree_client.h
index 0683c24c..0c62b661 100644
--- a/ui/aura/mus/window_tree_client.h
+++ b/ui/aura/mus/window_tree_client.h
@@ -437,8 +437,6 @@
                               int64_t display_id) override;
   void OnWindowFocused(ws::Id focused_window_id) override;
   void OnWindowCursorChanged(ws::Id window_id, ui::CursorData cursor) override;
-  void OnWindowSurfaceChanged(ws::Id window_id,
-                              const viz::SurfaceInfo& surface_info) override;
   void OnDragDropStart(const base::flat_map<std::string, std::vector<uint8_t>>&
                            mime_data) override;
   void OnDragEnter(ws::Id window_id,
diff --git a/ui/aura/mus/window_tree_client_unittest.cc b/ui/aura/mus/window_tree_client_unittest.cc
index 1b3e2e5..4281959c 100644
--- a/ui/aura/mus/window_tree_client_unittest.cc
+++ b/ui/aura/mus/window_tree_client_unittest.cc
@@ -299,34 +299,10 @@
                         WindowTreeClientTestSurfaceSync,
                         ::testing::Bool());
 
-namespace {
-
-class FirstSurfaceActivationWindowDelegate : public test::TestWindowDelegate {
- public:
-  FirstSurfaceActivationWindowDelegate() = default;
-  ~FirstSurfaceActivationWindowDelegate() override = default;
-
-  const viz::SurfaceInfo& last_surface_info() const {
-    return last_surface_info_;
-  }
-
-  void OnFirstSurfaceActivation(const viz::SurfaceInfo& surface_info) override {
-    last_surface_info_ = surface_info;
-  }
-
- private:
-  viz::SurfaceInfo last_surface_info_;
-
-  DISALLOW_COPY_AND_ASSIGN(FirstSurfaceActivationWindowDelegate);
-};
-
-}  // namespace
-
 // Verifies that a ClientSurfaceEmbedder is created for a window once it has
 // a bounds, and a valid FrameSinkId.
 TEST_P(WindowTreeClientTestSurfaceSync, ClientSurfaceEmbedderOnValidEmbedding) {
-  FirstSurfaceActivationWindowDelegate delegate;
-  Window window(&delegate);
+  Window window(nullptr);
   // EMBED_IN_OWNER windows allocate viz::LocalSurfaceIds when their sizes
   // change.
   window.SetProperty(aura::client::kEmbedType,
@@ -356,24 +332,11 @@
   ClientSurfaceEmbedder* client_surface_embedder =
       window_port_mus->client_surface_embedder();
   ASSERT_NE(nullptr, client_surface_embedder);
-  EXPECT_FALSE(delegate.last_surface_info().is_valid());
-
-  // When a SurfaceInfo arrives from the window server, we use it as the
-  // fallback SurfaceInfo. Here we issue the primary SurfaceId back to the
-  // client lib. This should cause the gutter to go away, eliminating overdraw.
-  window_tree_client()->OnWindowSurfaceChanged(
-      server_id(&window),
-      viz::SurfaceInfo(window_port_mus->PrimarySurfaceIdForTesting(), 1.0f,
-                       gfx::Size(100, 100)));
-  EXPECT_TRUE(delegate.last_surface_info().is_valid());
-  EXPECT_EQ(delegate.last_surface_info().id(),
-            window_port_mus->PrimarySurfaceIdForTesting());
 }
 
 // Verifies that EMBED_IN_OWNER windows do not gutter.
 TEST_P(WindowTreeClientTestSurfaceSync, NoEmbedInOwnerGutter) {
-  FirstSurfaceActivationWindowDelegate delegate;
-  Window window(&delegate);
+  Window window(nullptr);
   // TOP_LEVEL_IN_WM and EMBED_IN_OWNER windows allocate viz::LocalSurfaceIds
   // when their sizes change.
   window.SetProperty(aura::client::kEmbedType,
@@ -403,7 +366,6 @@
   ClientSurfaceEmbedder* client_surface_embedder =
       window_port_mus->client_surface_embedder();
   ASSERT_NE(nullptr, client_surface_embedder);
-  EXPECT_FALSE(delegate.last_surface_info().is_valid());
 
   EXPECT_EQ(nullptr, client_surface_embedder->BottomGutterForTesting());
   EXPECT_EQ(nullptr, client_surface_embedder->RightGutterForTesting());
diff --git a/ui/aura/window_delegate.h b/ui/aura/window_delegate.h
index fae8ea9..7911cb9 100644
--- a/ui/aura/window_delegate.h
+++ b/ui/aura/window_delegate.h
@@ -24,10 +24,6 @@
 class PaintContext;
 }
 
-namespace viz {
-class SurfaceInfo;
-}
-
 namespace aura {
 
 // Delegate interface for aura::Window.
@@ -106,10 +102,6 @@
   // above returns true.
   virtual void GetHitTestMask(gfx::Path* mask) const = 0;
 
-  // Called when a child submits a CompositorFrame to a surface with the given
-  // |surface_info| for the first time.
-  virtual void OnFirstSurfaceActivation(const viz::SurfaceInfo& surface_info) {}
-
   // Returns whether the window wants to receive and handle double tap gesture
   // events. Defaults to false.
   virtual bool RequiresDoubleTapGestureEvents() const;
diff --git a/ui/base/BUILD.gn b/ui/base/BUILD.gn
index 74cc184..8cb1b77 100644
--- a/ui/base/BUILD.gn
+++ b/ui/base/BUILD.gn
@@ -218,6 +218,7 @@
     "layout.h",
     "material_design/material_design_controller.cc",
     "material_design/material_design_controller.h",
+    "material_design/material_design_controller_observer.h",
     "models/button_menu_item_model.cc",
     "models/button_menu_item_model.h",
     "models/combobox_model.cc",
diff --git a/ui/base/material_design/material_design_controller.cc b/ui/base/material_design/material_design_controller.cc
index f94ee21..8874a25 100644
--- a/ui/base/material_design/material_design_controller.cc
+++ b/ui/base/material_design/material_design_controller.cc
@@ -9,10 +9,13 @@
 #include "base/command_line.h"
 #include "base/feature_list.h"
 #include "base/logging.h"
+#include "base/no_destructor.h"
+#include "base/observer_list.h"
 #include "base/strings/string_number_conversions.h"
 #include "base/trace_event/trace_event.h"
 #include "build/build_config.h"
 #include "build/buildflag.h"
+#include "ui/base/material_design/material_design_controller_observer.h"
 #include "ui/base/ui_base_features.h"
 #include "ui/base/ui_base_switches.h"
 #include "ui/base/ui_features.h"
@@ -39,6 +42,13 @@
 namespace ui {
 namespace {
 
+base::ObserverList<MaterialDesignControllerObserver>* GetObservers() {
+  static base::NoDestructor<
+      base::ObserverList<MaterialDesignControllerObserver>>
+      observers;
+  return observers.get();
+}
+
 #if defined(OS_CHROMEOS)
 
 // Whether to use touchable UI.
@@ -87,10 +97,13 @@
 MaterialDesignController::Mode MaterialDesignController::mode_ =
     MaterialDesignController::MATERIAL_NORMAL;
 
+bool MaterialDesignController::is_refresh_dynamic_ui_ = false;
+
 // static
 void MaterialDesignController::Initialize() {
   TRACE_EVENT0("startup", "MaterialDesignController::InitializeMode");
   CHECK(!is_mode_initialized_);
+
   base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
   const std::string switch_value =
       command_line->GetSwitchValueASCII(switches::kTopChromeMD);
@@ -106,6 +119,11 @@
   } else if (switch_value ==
              switches::kTopChromeMDMaterialRefreshTouchOptimized) {
     SetMode(MATERIAL_TOUCH_REFRESH);
+  } else if (switch_value == switches::kTopChromeMDMaterialRefreshDynamic) {
+    is_refresh_dynamic_ui_ = true;
+
+    // TabletModeClient's default state is in non-tablet mode.
+    SetMode(MATERIAL_REFRESH);
   } else if (force_material_refresh) {
     bool has_touchscreen = false;
 #if defined(OS_CHROMEOS)
@@ -120,8 +138,8 @@
     SetMode(MATERIAL_TOUCH_OPTIMIZED);
   } else if (switch_value == switches::kTopChromeMDMaterialAuto) {
 #if defined(OS_WIN)
-    // TODO(girard): add support for switching between modes when
-    // the device switches to "tablet mode".
+    // TODO(thomasanderson): add support for switching between modes when the
+    // device switches to "tablet mode".
     if (base::win::IsTabletDevice(nullptr, ui::GetHiddenWindow()))
       SetMode(MATERIAL_HYBRID);
 #endif
@@ -156,6 +174,18 @@
 }
 
 // static
+void MaterialDesignController::AddObserver(
+    MaterialDesignControllerObserver* observer) {
+  GetObservers()->AddObserver(observer);
+}
+
+// static
+void MaterialDesignController::RemoveObserver(
+    MaterialDesignControllerObserver* observer) {
+  GetObservers()->RemoveObserver(observer);
+}
+
+// static
 bool MaterialDesignController::IsTouchOptimizedUiEnabled() {
   return GetMode() == MATERIAL_TOUCH_OPTIMIZED ||
          GetMode() == MATERIAL_TOUCH_REFRESH;
@@ -193,14 +223,24 @@
 }
 
 // static
+void MaterialDesignController::OnTabletModeToggled(bool enabled) {
+  if (is_refresh_dynamic_ui_)
+    SetMode(enabled ? MATERIAL_TOUCH_REFRESH : MATERIAL_REFRESH);
+}
+
+// static
 void MaterialDesignController::Uninitialize() {
   is_mode_initialized_ = false;
 }
 
 // static
 void MaterialDesignController::SetMode(MaterialDesignController::Mode mode) {
-  mode_ = mode;
-  is_mode_initialized_ = true;
+  if (!is_mode_initialized_ || mode_ != mode) {
+    is_mode_initialized_ = true;
+    mode_ = mode;
+    for (auto& observer : *GetObservers())
+      observer.OnModeChanged();
+  }
 }
 
 }  // namespace ui
diff --git a/ui/base/material_design/material_design_controller.h b/ui/base/material_design/material_design_controller.h
index 46051345..6a9086d 100644
--- a/ui/base/material_design/material_design_controller.h
+++ b/ui/base/material_design/material_design_controller.h
@@ -10,6 +10,8 @@
 
 namespace ui {
 
+class MaterialDesignControllerObserver;
+
 namespace test {
 class MaterialDesignControllerTestAPI;
 }  // namespace test
@@ -38,6 +40,10 @@
   // Get the current Mode that should be used by the system.
   static Mode GetMode();
 
+  static void AddObserver(MaterialDesignControllerObserver* observer);
+
+  static void RemoveObserver(MaterialDesignControllerObserver* observer);
+
   // Returns true if the touch-optimized UI material design mode is enabled.
   static bool IsTouchOptimizedUiEnabled();
 
@@ -50,11 +56,22 @@
   // Returns the per-platform default material design variant.
   static Mode DefaultMode();
 
+  // Exposed for TabletModeClient on ChromeOS + ash.
+  static void OnTabletModeToggled(bool enabled);
+
   static bool is_mode_initialized() { return is_mode_initialized_; }
 
  private:
   friend class test::MaterialDesignControllerTestAPI;
 
+  // Resets the initialization state to uninitialized. To be used by tests to
+  // allow calling Initialize() more than once.
+  static void Uninitialize();
+
+  // Set |mode_| to |mode| and updates |is_mode_initialized_| to true. Can be
+  // used by tests to directly set the mode.
+  static void SetMode(Mode mode);
+
   // Tracks whether |mode_| has been initialized. This is necessary to avoid
   // checking the |mode_| early in initialization before a call to Initialize().
   // Tests can use it to reset the state back to a clean state during tear down.
@@ -63,17 +80,9 @@
   // The current Mode to be used by the system.
   static Mode mode_;
 
-  // Declarations only. Do not allow construction of an object.
-  MaterialDesignController();
-  ~MaterialDesignController();
-
-  // Resets the initialization state to uninitialized. To be used by tests to
-  // allow calling Initialize() more than once.
-  static void Uninitialize();
-
-  // Set |mode_| to |mode| and updates |is_mode_initialized_| to true. Can be
-  // used by tests to directly set the mode.
-  static void SetMode(Mode mode);
+  // Whether |mode_| should toggle between MATERIAL_REFRESH and
+  // MATERIAL_TOUCH_REFRESH depending on the tablet state.
+  static bool is_refresh_dynamic_ui_;
 
   DISALLOW_COPY_AND_ASSIGN(MaterialDesignController);
 };
diff --git a/ui/base/material_design/material_design_controller_observer.h b/ui/base/material_design/material_design_controller_observer.h
new file mode 100644
index 0000000..2341461
--- /dev/null
+++ b/ui/base/material_design/material_design_controller_observer.h
@@ -0,0 +1,24 @@
+// 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 UI_BASE_MATERIAL_DESIGN_MATERIAL_DESIGN_CONTROLLER_OBSERVER_H_
+#define UI_BASE_MATERIAL_DESIGN_MATERIAL_DESIGN_CONTROLLER_OBSERVER_H_
+
+#include "base/observer_list_types.h"
+#include "ui/base/ui_base_export.h"
+
+namespace ui {
+
+class UI_BASE_EXPORT MaterialDesignControllerObserver
+    : public base::CheckedObserver {
+ public:
+  virtual void OnModeChanged() = 0;
+
+ protected:
+  ~MaterialDesignControllerObserver() override {}
+};
+
+}  // namespace ui
+
+#endif  // UI_BASE_MATERIAL_DESIGN_MATERIAL_DESIGN_CONTROLLER_OBSERVER_H_
diff --git a/ui/base/ui_base_features.h b/ui/base/ui_base_features.h
index c9799a2..2edf82a 100644
--- a/ui/base/ui_base_features.h
+++ b/ui/base/ui_base_features.h
@@ -68,6 +68,8 @@
 UI_BASE_EXPORT bool IsSingleProcessMash();
 
 #if defined(OS_MACOSX)
+UI_BASE_EXPORT extern const base::Feature kHostWindowsInAppShimProcess;
+
 // Returns true if the NSWindows for apps will be created in the app's process,
 // and will forward input to the browser process.
 UI_BASE_EXPORT bool HostWindowsInAppShimProcess();
diff --git a/ui/base/ui_base_switches.cc b/ui/base/ui_base_switches.cc
index 67eaf7ea..07df2029 100644
--- a/ui/base/ui_base_switches.cc
+++ b/ui/base/ui_base_switches.cc
@@ -97,6 +97,10 @@
 const char kTopChromeMDMaterialRefreshTouchOptimized[] =
     "material-refresh-touch-optimized";
 
+// Switches between material refresh and touchable material refresh depending on
+// the tablet mode.
+const char kTopChromeMDMaterialRefreshDynamic[] = "material-refresh-dynamic";
+
 // Disable partial swap which is needed for some OpenGL drivers / emulators.
 const char kUIDisablePartialSwap[] = "ui-disable-partial-swap";
 
diff --git a/ui/base/ui_base_switches.h b/ui/base/ui_base_switches.h
index 90902e81..b8350506 100644
--- a/ui/base/ui_base_switches.h
+++ b/ui/base/ui_base_switches.h
@@ -43,6 +43,7 @@
 UI_BASE_EXPORT extern const char kTopChromeMDMaterialTouchOptimized[];
 UI_BASE_EXPORT extern const char kTopChromeMDMaterialRefresh[];
 UI_BASE_EXPORT extern const char kTopChromeMDMaterialRefreshTouchOptimized[];
+UI_BASE_EXPORT extern const char kTopChromeMDMaterialRefreshDynamic[];
 UI_BASE_EXPORT extern const char kUIDisablePartialSwap[];
 
 // Test related.
diff --git a/ui/display/win/dpi.cc b/ui/display/win/dpi.cc
index fe81b413..a0a602b 100644
--- a/ui/display/win/dpi.cc
+++ b/ui/display/win/dpi.cc
@@ -4,10 +4,9 @@
 
 #include "ui/display/win/dpi.h"
 
-#include <windows.h>
-
 #include "base/win/scoped_hdc.h"
 #include "ui/display/display.h"
+#include "ui/display/win/uwp_text_scale_factor.h"
 
 namespace display {
 namespace win {
@@ -18,6 +17,19 @@
 
 float g_device_scale_factor = 0.f;
 
+LONG AdjustForScaleFactor(LONG value, float scale) {
+  // This should never happen, but make sure we never divide by zero.
+  DCHECK_GT(scale, 0.0f);
+  if (value != 0) {
+    LONG new_value = LONG{std::roundf(value / scale)};
+    if (new_value == 0) {
+      new_value = value > 0 ? 1 : -1;
+    }
+    value = new_value;
+  }
+  return value;
+}
+
 }  // namespace
 
 void SetDefaultDeviceScaleFactor(float scale) {
@@ -35,6 +47,15 @@
   return kDefaultDPI * device_scaling_factor;
 }
 
+void AdjustFontForAccessibility(LOGFONT* font) {
+  const float accessibility_scale_factor =
+      UwpTextScaleFactor::Instance()->GetTextScaleFactor();
+  font->lfHeight =
+      AdjustForScaleFactor(font->lfHeight, accessibility_scale_factor);
+  font->lfWidth =
+      AdjustForScaleFactor(font->lfWidth, accessibility_scale_factor);
+}
+
 namespace internal {
 
 int GetDefaultSystemDPI() {
diff --git a/ui/display/win/dpi.h b/ui/display/win/dpi.h
index 89f4a2ac..2168f34d 100644
--- a/ui/display/win/dpi.h
+++ b/ui/display/win/dpi.h
@@ -5,6 +5,8 @@
 #ifndef UI_DISPLAY_WIN_DPI_H_
 #define UI_DISPLAY_WIN_DPI_H_
 
+#include <windows.h>
+
 #include "ui/display/display_export.h"
 
 namespace display {
@@ -27,6 +29,16 @@
 // Returns the equivalent DPI for |device_scaling_factor|.
 DISPLAY_EXPORT int GetDPIFromScalingFactor(float device_scaling_factor);
 
+// Adjusts |font|'s height for accessibility measures already built into the
+// font in order to prevent applying the same factor twice.
+//
+// Windows will add text scaling factor into the logical size of its default
+// system fonts (which it does *not* do for DPI scaling). Since we're scaling
+// the entire UI by a combination of text scale and DPI scale, this results in
+// double scaling. Call this function to unscale the font before using it in
+// any of our rendering code.
+DISPLAY_EXPORT void AdjustFontForAccessibility(LOGFONT* font);
+
 namespace internal {
 // Note: These methods do not take accessibility adjustments into account.
 
diff --git a/ui/display/win/uwp_text_scale_factor.cc b/ui/display/win/uwp_text_scale_factor.cc
index 5f91883d1..6b661bd 100644
--- a/ui/display/win/uwp_text_scale_factor.cc
+++ b/ui/display/win/uwp_text_scale_factor.cc
@@ -158,6 +158,10 @@
       }
     }
 
+    // Windows documents this property to always have a value greater than or
+    // equal to 1. Let's make sure that's the case - if we don't, we could get
+    // bizarre behavior and divide-by-zeros later on.
+    DCHECK_GE(result, 1.0);
     return float{result};
   }
 
diff --git a/ui/display/win/uwp_text_scale_factor.h b/ui/display/win/uwp_text_scale_factor.h
index 99fe396..5ad22d2 100644
--- a/ui/display/win/uwp_text_scale_factor.h
+++ b/ui/display/win/uwp_text_scale_factor.h
@@ -37,6 +37,8 @@
   static UwpTextScaleFactor* Instance();
 
   virtual ~UwpTextScaleFactor();
+
+  // Retrieves the Windows Text Zoom scale factor. Guaranteed to be >= 1.
   virtual float GetTextScaleFactor() const;
 
   // Registers and observer that will be notified of any changes to UWP screen
diff --git a/ui/file_manager/audio_player/css/audio_player.css b/ui/file_manager/audio_player/css/audio_player.css
index 0214cbc..07ccd70b 100644
--- a/ui/file_manager/audio_player/css/audio_player.css
+++ b/ui/file_manager/audio_player/css/audio_player.css
@@ -4,6 +4,9 @@
 
 html {
   height: 100%;
+  /* crbug.com/812035 Remove 300ms delay for 'click' event, when using
+     touch interface. */
+  touch-action: manipulation;
 }
 
 body {
diff --git a/ui/file_manager/file_manager/main.html b/ui/file_manager/file_manager/main.html
index 3db10765..de1bc1f 100644
--- a/ui/file_manager/file_manager/main.html
+++ b/ui/file_manager/file_manager/main.html
@@ -26,12 +26,6 @@
     <link rel="stylesheet" href="chrome-extension://fbjakikfhfdajcamjleinfciajelkpek/cws_widget/cws_widget_container.css">
 
     <style is="custom-style">
-      html {
-        /* crbug.com/812035 Remove 300ms delay for 'click' event, when using
-           touch interface. */
-        touch-action: manipulation;
-      }
-
       #search-box cr-input {
         --cr-input-color: white;
         --cr-input-focus-color: white;
diff --git a/ui/ozone/common/linux/gbm_wrapper.cc b/ui/ozone/common/linux/gbm_wrapper.cc
index 06cba4e..ba55b0e 100644
--- a/ui/ozone/common/linux/gbm_wrapper.cc
+++ b/ui/ozone/common/linux/gbm_wrapper.cc
@@ -218,27 +218,30 @@
       gbm_flags &= ~GBM_BO_USE_SCANOUT;
 
     struct gbm_bo* bo = nullptr;
-    if (gbm_device_is_format_supported(device_, format, gbm_flags)) {
-      struct gbm_import_fd_planar_data fd_data;
-      fd_data.width = size.width();
-      fd_data.height = size.height();
-      fd_data.format = format;
+    if (!gbm_device_is_format_supported(device_, format, gbm_flags)) {
+      LOG(ERROR) << "gbm format not supported: " << format;
+      return nullptr;
+    }
 
-      DCHECK_LE(planes.size(), 3u);
-      for (size_t i = 0; i < planes.size(); ++i) {
-        fd_data.fds[i] = fds[i < fds.size() ? i : 0].get();
-        fd_data.strides[i] = planes[i].stride;
-        fd_data.offsets[i] = planes[i].offset;
-        fd_data.format_modifiers[i] = planes[i].modifier;
-      }
+    struct gbm_import_fd_planar_data fd_data;
+    fd_data.width = size.width();
+    fd_data.height = size.height();
+    fd_data.format = format;
 
-      // The fd passed to gbm_bo_import is not ref-counted and need to be
-      // kept open for the lifetime of the buffer.
-      bo = gbm_bo_import(device_, GBM_BO_IMPORT_FD_PLANAR, &fd_data, gbm_flags);
-      if (!bo) {
-        LOG(ERROR) << "nullptr returned from gbm_bo_import";
-        return nullptr;
-      }
+    DCHECK_LE(planes.size(), 3u);
+    for (size_t i = 0; i < planes.size(); ++i) {
+      fd_data.fds[i] = fds[i < fds.size() ? i : 0].get();
+      fd_data.strides[i] = planes[i].stride;
+      fd_data.offsets[i] = planes[i].offset;
+      fd_data.format_modifiers[i] = planes[i].modifier;
+    }
+
+    // The fd passed to gbm_bo_import is not ref-counted and need to be
+    // kept open for the lifetime of the buffer.
+    bo = gbm_bo_import(device_, GBM_BO_IMPORT_FD_PLANAR, &fd_data, gbm_flags);
+    if (!bo) {
+      LOG(ERROR) << "nullptr returned from gbm_bo_import";
+      return nullptr;
     }
 
     return std::make_unique<Buffer>(bo, format, gbm_flags, planes[0].modifier,
diff --git a/ui/strings/translations/ui_strings_am.xtb b/ui/strings/translations/ui_strings_am.xtb
index 654af291..e4815e2 100644
--- a/ui/strings/translations/ui_strings_am.xtb
+++ b/ui/strings/translations/ui_strings_am.xtb
@@ -157,6 +157,7 @@
 <translation id="8179976553408161302">አስገባ</translation>
 <translation id="8210608804940886430">ወደታች አንቀሳቅስ</translation>
 <translation id="8245914219290430011">ትር</translation>
+<translation id="8259556432390118667">የአስራስድስትዮሽ ቀለም እሴት</translation>
 <translation id="8328145009876646418">የግራ ጠርዝ</translation>
 <translation id="8331626408530291785">ወደ ላይ ሸብልል</translation>
 <translation id="8352146631962686268">{YEARS,plural, =1{1 አመት}one{# ዓመቶች}other{# ዓመቶች}}</translation>
@@ -172,6 +173,7 @@
 <translation id="8798099450830957504">እንደወረደ</translation>
 <translation id="8806053966018712535">አቃፊ <ph name="FOLDER_NAME" /></translation>
 <translation id="883911313571074303">ምስልን አብራራ</translation>
+<translation id="8841375032071747811">የተመለስ አዝራር</translation>
 <translation id="8901569739625249689"><ph name="QUANTITY" /> ኪባ</translation>
 <translation id="9002566407876343676">ክፈት</translation>
 <translation id="9038489124413477075">ያልተሰየመ አቃፊ</translation>
diff --git a/ui/strings/translations/ui_strings_ar.xtb b/ui/strings/translations/ui_strings_ar.xtb
index b212cd8..3867176 100644
--- a/ui/strings/translations/ui_strings_ar.xtb
+++ b/ui/strings/translations/ui_strings_ar.xtb
@@ -157,6 +157,7 @@
 <translation id="8179976553408161302">Enter</translation>
 <translation id="8210608804940886430">صفحة  إلى أسفل</translation>
 <translation id="8245914219290430011">علامة تبويب</translation>
+<translation id="8259556432390118667">قيمة لون سداسي عشري</translation>
 <translation id="8328145009876646418">الحافة اليمنى</translation>
 <translation id="8331626408530291785">التمرير إلى أعلى</translation>
 <translation id="8352146631962686268">{YEARS,plural, =1{سنة واحدة}zero{# سنة}two{سنتان (#)}few{# سنوات}many{# سنةً}other{# سنة}}</translation>
@@ -172,6 +173,7 @@
 <translation id="8798099450830957504">التلقائي</translation>
 <translation id="8806053966018712535">مجلد <ph name="FOLDER_NAME" /></translation>
 <translation id="883911313571074303">إضافة تعليق توضيحي على الصورة</translation>
+<translation id="8841375032071747811">زر الرجوع</translation>
 <translation id="8901569739625249689"><ph name="QUANTITY" /> كيلوبايت</translation>
 <translation id="9002566407876343676">الفتح</translation>
 <translation id="9038489124413477075">مجلد بدون اسم</translation>
diff --git a/ui/strings/translations/ui_strings_bg.xtb b/ui/strings/translations/ui_strings_bg.xtb
index da27122..5e26d2e2 100644
--- a/ui/strings/translations/ui_strings_bg.xtb
+++ b/ui/strings/translations/ui_strings_bg.xtb
@@ -157,6 +157,7 @@
 <translation id="8179976553408161302">Enter</translation>
 <translation id="8210608804940886430">Страница надолу</translation>
 <translation id="8245914219290430011">Табулатор</translation>
+<translation id="8259556432390118667">Шестнадесетична стойност за цвета</translation>
 <translation id="8328145009876646418">Ляв край</translation>
 <translation id="8331626408530291785">Превъртане нагоре</translation>
 <translation id="8352146631962686268">{YEARS,plural, =1{1 година}other{# години}}</translation>
@@ -172,6 +173,7 @@
 <translation id="8798099450830957504">По подразбиране</translation>
 <translation id="8806053966018712535">Папка „<ph name="FOLDER_NAME" />“</translation>
 <translation id="883911313571074303">Добавяне на пояснение към изображението</translation>
+<translation id="8841375032071747811">Бутон за връщане назад</translation>
 <translation id="8901569739625249689"><ph name="QUANTITY" /> KБ</translation>
 <translation id="9002566407876343676">отварям</translation>
 <translation id="9038489124413477075">Папка без име</translation>
diff --git a/ui/strings/translations/ui_strings_bn.xtb b/ui/strings/translations/ui_strings_bn.xtb
index 97d034f..56e559ee 100644
--- a/ui/strings/translations/ui_strings_bn.xtb
+++ b/ui/strings/translations/ui_strings_bn.xtb
@@ -157,6 +157,7 @@
 <translation id="8179976553408161302">Enter</translation>
 <translation id="8210608804940886430">পৃষ্ঠা উপরে</translation>
 <translation id="8245914219290430011">ট্যাব</translation>
+<translation id="8259556432390118667">হেক্স রঙের মান</translation>
 <translation id="8328145009876646418">বাঁ প্রান্ত</translation>
 <translation id="8331626408530291785">উপরে স্ক্রোল করুন</translation>
 <translation id="8352146631962686268">{YEARS,plural, =1{1 বছর}one{# বছর}other{# বছর}}</translation>
@@ -172,6 +173,7 @@
 <translation id="8798099450830957504">ডিফল্ট</translation>
 <translation id="8806053966018712535"><ph name="FOLDER_NAME" /> ফোল্ডার</translation>
 <translation id="883911313571074303">চিত্রের জন্য টিকা লিখুন</translation>
+<translation id="8841375032071747811">ফিরে যাওয়ার বোতাম</translation>
 <translation id="8901569739625249689"><ph name="QUANTITY" /> KB</translation>
 <translation id="9002566407876343676">খুলুন</translation>
 <translation id="9038489124413477075">নামবিহীন ফোল্ডার</translation>
diff --git a/ui/strings/translations/ui_strings_ca.xtb b/ui/strings/translations/ui_strings_ca.xtb
index dec5fd4..4d6732f 100644
--- a/ui/strings/translations/ui_strings_ca.xtb
+++ b/ui/strings/translations/ui_strings_ca.xtb
@@ -157,6 +157,7 @@
 <translation id="8179976553408161302">Retorn</translation>
 <translation id="8210608804940886430">Av Pàg</translation>
 <translation id="8245914219290430011">Tabulador</translation>
+<translation id="8259556432390118667">Valor del color hexadecimal</translation>
 <translation id="8328145009876646418">Extrem esquerre</translation>
 <translation id="8331626408530291785">Desplaçament amunt</translation>
 <translation id="8352146631962686268">{YEARS,plural, =1{1 any}other{# anys}}</translation>
@@ -172,6 +173,7 @@
 <translation id="8798099450830957504">Predeterminat</translation>
 <translation id="8806053966018712535">Carpeta <ph name="FOLDER_NAME" /></translation>
 <translation id="883911313571074303">Afegeix una anotació a la imatge</translation>
+<translation id="8841375032071747811">Botó Enrere</translation>
 <translation id="8901569739625249689"><ph name="QUANTITY" /> KB</translation>
 <translation id="9002566407876343676">obrir</translation>
 <translation id="9038489124413477075">Carpeta sense nom</translation>
diff --git a/ui/strings/translations/ui_strings_cs.xtb b/ui/strings/translations/ui_strings_cs.xtb
index 39a8bc4c..49c407df 100644
--- a/ui/strings/translations/ui_strings_cs.xtb
+++ b/ui/strings/translations/ui_strings_cs.xtb
@@ -157,6 +157,7 @@
 <translation id="8179976553408161302">Enter</translation>
 <translation id="8210608804940886430">Klávesa PageDown</translation>
 <translation id="8245914219290430011">Tab</translation>
+<translation id="8259556432390118667">Hexadecimální kód barvy</translation>
 <translation id="8328145009876646418">Levý okraj</translation>
 <translation id="8331626408530291785">Posuv nahoru</translation>
 <translation id="8352146631962686268">{YEARS,plural, =1{1 rok}few{# roky}many{# roku}other{# let}}</translation>
@@ -172,6 +173,7 @@
 <translation id="8798099450830957504">Výchozí</translation>
 <translation id="8806053966018712535">Složka <ph name="FOLDER_NAME" /></translation>
 <translation id="883911313571074303">Přidat k obrázku poznámku</translation>
+<translation id="8841375032071747811">Tlačítko Zpět</translation>
 <translation id="8901569739625249689"><ph name="QUANTITY" /> kB</translation>
 <translation id="9002566407876343676">otevřít</translation>
 <translation id="9038489124413477075">Nepojmenovaná složka</translation>
diff --git a/ui/strings/translations/ui_strings_da.xtb b/ui/strings/translations/ui_strings_da.xtb
index b8a2327a..d5412eb 100644
--- a/ui/strings/translations/ui_strings_da.xtb
+++ b/ui/strings/translations/ui_strings_da.xtb
@@ -157,6 +157,7 @@
 <translation id="8179976553408161302">Enter</translation>
 <translation id="8210608804940886430">Side ned</translation>
 <translation id="8245914219290430011">Tabulatortast</translation>
+<translation id="8259556432390118667">Hex-farveværdi</translation>
 <translation id="8328145009876646418">Venstre kant</translation>
 <translation id="8331626408530291785">Scroll Up</translation>
 <translation id="8352146631962686268">{YEARS,plural, =1{1 år}one{# år}other{# år}}</translation>
@@ -172,6 +173,7 @@
 <translation id="8798099450830957504">Standard</translation>
 <translation id="8806053966018712535">Mappen <ph name="FOLDER_NAME" /></translation>
 <translation id="883911313571074303">Annoter billede</translation>
+<translation id="8841375032071747811">Knappen Tilbage</translation>
 <translation id="8901569739625249689"><ph name="QUANTITY" /> kB</translation>
 <translation id="9002566407876343676">åbn</translation>
 <translation id="9038489124413477075">Unavngiven mappe</translation>
diff --git a/ui/strings/translations/ui_strings_de.xtb b/ui/strings/translations/ui_strings_de.xtb
index 08739f8..78e8d862 100644
--- a/ui/strings/translations/ui_strings_de.xtb
+++ b/ui/strings/translations/ui_strings_de.xtb
@@ -157,6 +157,7 @@
 <translation id="8179976553408161302">Enter</translation>
 <translation id="8210608804940886430">Nach unten</translation>
 <translation id="8245914219290430011">Tabulatortaste</translation>
+<translation id="8259556432390118667">Hex-Farbwert</translation>
 <translation id="8328145009876646418">Linker Rand</translation>
 <translation id="8331626408530291785">Nach oben blättern</translation>
 <translation id="8352146631962686268">{YEARS,plural, =1{1 Jahr}other{# Jahre}}</translation>
@@ -172,6 +173,7 @@
 <translation id="8798099450830957504">Standardeinstellung</translation>
 <translation id="8806053966018712535">Ordner <ph name="FOLDER_NAME" /></translation>
 <translation id="883911313571074303">Bild mit Anmerkung versehen</translation>
+<translation id="8841375032071747811">Schaltfläche "Zurück"</translation>
 <translation id="8901569739625249689"><ph name="QUANTITY" /> KB</translation>
 <translation id="9002566407876343676">Öffnen</translation>
 <translation id="9038489124413477075">Unbenannter Ordner</translation>
diff --git a/ui/strings/translations/ui_strings_el.xtb b/ui/strings/translations/ui_strings_el.xtb
index dfba157..535bb5c8 100644
--- a/ui/strings/translations/ui_strings_el.xtb
+++ b/ui/strings/translations/ui_strings_el.xtb
@@ -157,6 +157,7 @@
 <translation id="8179976553408161302">Enter</translation>
 <translation id="8210608804940886430">Επόμενη σελίδα</translation>
 <translation id="8245914219290430011">Πλήκτρο tab</translation>
+<translation id="8259556432390118667">Τιμή δεκαεξαδικού χρώματος</translation>
 <translation id="8328145009876646418">Αριστερή άκρη</translation>
 <translation id="8331626408530291785">Κύλιση επάνω</translation>
 <translation id="8352146631962686268">{YEARS,plural, =1{1 χρόνος}other{# χρόνια}}</translation>
@@ -172,6 +173,7 @@
 <translation id="8798099450830957504">Προεπιλογή</translation>
 <translation id="8806053966018712535">Φάκελος <ph name="FOLDER_NAME" /></translation>
 <translation id="883911313571074303">Σχολιασμός εικόνας</translation>
+<translation id="8841375032071747811">Κουμπί "Πίσω"</translation>
 <translation id="8901569739625249689"><ph name="QUANTITY" /> KB</translation>
 <translation id="9002566407876343676">ανοίγω</translation>
 <translation id="9038489124413477075">Φάκελος χωρίς όνομα</translation>
diff --git a/ui/strings/translations/ui_strings_en-GB.xtb b/ui/strings/translations/ui_strings_en-GB.xtb
index 01dfc8c..97789d8d 100644
--- a/ui/strings/translations/ui_strings_en-GB.xtb
+++ b/ui/strings/translations/ui_strings_en-GB.xtb
@@ -157,6 +157,7 @@
 <translation id="8179976553408161302">Enter</translation>
 <translation id="8210608804940886430">Page Down</translation>
 <translation id="8245914219290430011">Tab</translation>
+<translation id="8259556432390118667">Hex colour value</translation>
 <translation id="8328145009876646418">Left Edge</translation>
 <translation id="8331626408530291785">Scroll Up</translation>
 <translation id="8352146631962686268">{YEARS,plural, =1{1 year}other{# years}}</translation>
@@ -172,6 +173,7 @@
 <translation id="8798099450830957504">Default</translation>
 <translation id="8806053966018712535">Folder <ph name="FOLDER_NAME" /></translation>
 <translation id="883911313571074303">Annotate image</translation>
+<translation id="8841375032071747811">Back button</translation>
 <translation id="8901569739625249689"><ph name="QUANTITY" /> KB</translation>
 <translation id="9002566407876343676">open</translation>
 <translation id="9038489124413477075">Unnamed Folder</translation>
diff --git a/ui/strings/translations/ui_strings_es-419.xtb b/ui/strings/translations/ui_strings_es-419.xtb
index fef2f13..9d623e0 100644
--- a/ui/strings/translations/ui_strings_es-419.xtb
+++ b/ui/strings/translations/ui_strings_es-419.xtb
@@ -157,6 +157,7 @@
 <translation id="8179976553408161302">Intro</translation>
 <translation id="8210608804940886430">Avanzar página</translation>
 <translation id="8245914219290430011">Tabulador</translation>
+<translation id="8259556432390118667">Valor de color hexadecimal</translation>
 <translation id="8328145009876646418">Borde izquierdo</translation>
 <translation id="8331626408530291785">Desplazar hacia arriba</translation>
 <translation id="8352146631962686268">{YEARS,plural, =1{1 año}other{# años}}</translation>
@@ -172,6 +173,7 @@
 <translation id="8798099450830957504">Predeterminado</translation>
 <translation id="8806053966018712535">Carpeta <ph name="FOLDER_NAME" /></translation>
 <translation id="883911313571074303">Escribir en la imagen</translation>
+<translation id="8841375032071747811">Botón Atrás</translation>
 <translation id="8901569739625249689"><ph name="QUANTITY" /> KB</translation>
 <translation id="9002566407876343676">abrir</translation>
 <translation id="9038489124413477075">Carpeta sin nombre</translation>
diff --git a/ui/strings/translations/ui_strings_es.xtb b/ui/strings/translations/ui_strings_es.xtb
index 6eb857a6..caae09b1 100644
--- a/ui/strings/translations/ui_strings_es.xtb
+++ b/ui/strings/translations/ui_strings_es.xtb
@@ -157,6 +157,7 @@
 <translation id="8179976553408161302">Intro</translation>
 <translation id="8210608804940886430">Avanzar página</translation>
 <translation id="8245914219290430011">Tabulador</translation>
+<translation id="8259556432390118667">Valor de color hexadecimal</translation>
 <translation id="8328145009876646418">Borde izquierdo</translation>
 <translation id="8331626408530291785">Desplazar hacia arriba</translation>
 <translation id="8352146631962686268">{YEARS,plural, =1{1 año}other{# años}}</translation>
@@ -172,6 +173,7 @@
 <translation id="8798099450830957504">Predeterminado</translation>
 <translation id="8806053966018712535">Carpeta <ph name="FOLDER_NAME" /></translation>
 <translation id="883911313571074303">Anotar imagen</translation>
+<translation id="8841375032071747811">Botón Atrás</translation>
 <translation id="8901569739625249689"><ph name="QUANTITY" /> KB</translation>
 <translation id="9002566407876343676">abrir</translation>
 <translation id="9038489124413477075">Carpeta sin nombre</translation>
diff --git a/ui/strings/translations/ui_strings_et.xtb b/ui/strings/translations/ui_strings_et.xtb
index 7eac371..ef1ff9aa 100644
--- a/ui/strings/translations/ui_strings_et.xtb
+++ b/ui/strings/translations/ui_strings_et.xtb
@@ -157,6 +157,7 @@
 <translation id="8179976553408161302">Sisestusklahv</translation>
 <translation id="8210608804940886430">Lehekülje lõppu</translation>
 <translation id="8245914219290430011">Vahekaart</translation>
+<translation id="8259556432390118667">Värvi kuueteistkümnendväärtus</translation>
 <translation id="8328145009876646418">Vasak serv</translation>
 <translation id="8331626408530291785">Keri üles</translation>
 <translation id="8352146631962686268">{YEARS,plural, =1{1 aasta}other{# aastat}}</translation>
@@ -172,6 +173,7 @@
 <translation id="8798099450830957504">Vaikimisi</translation>
 <translation id="8806053966018712535">Kaust <ph name="FOLDER_NAME" /></translation>
 <translation id="883911313571074303">Lisa kujutisele märkused</translation>
+<translation id="8841375032071747811">Nupp Tagasi</translation>
 <translation id="8901569739625249689"><ph name="QUANTITY" /> kB</translation>
 <translation id="9002566407876343676">avage</translation>
 <translation id="9038489124413477075">Nimeta kaust</translation>
diff --git a/ui/strings/translations/ui_strings_fa.xtb b/ui/strings/translations/ui_strings_fa.xtb
index 513e146..425c4ad 100644
--- a/ui/strings/translations/ui_strings_fa.xtb
+++ b/ui/strings/translations/ui_strings_fa.xtb
@@ -157,6 +157,7 @@
 <translation id="8179976553408161302">ورود</translation>
 <translation id="8210608804940886430">صفحه پایین</translation>
 <translation id="8245914219290430011">Tab</translation>
+<translation id="8259556432390118667">مقدار رنگ در مبنای شانزده</translation>
 <translation id="8328145009876646418">حاشیه چپ</translation>
 <translation id="8331626408530291785">پیمایش به بالا</translation>
 <translation id="8352146631962686268">{YEARS,plural, =1{۱ سال}one{# سال}other{# سال}}</translation>
@@ -172,6 +173,7 @@
 <translation id="8798099450830957504">پیش‌فرض</translation>
 <translation id="8806053966018712535">پوشه <ph name="FOLDER_NAME" /></translation>
 <translation id="883911313571074303">حاشیه‌نویسی تصویر</translation>
+<translation id="8841375032071747811">دکمه برگشت</translation>
 <translation id="8901569739625249689"><ph name="QUANTITY" /> کیلوبایت</translation>
 <translation id="9002566407876343676">باز کنید</translation>
 <translation id="9038489124413477075">پوشه بدون نام</translation>
diff --git a/ui/strings/translations/ui_strings_fi.xtb b/ui/strings/translations/ui_strings_fi.xtb
index 42f06a6..f41eaf1 100644
--- a/ui/strings/translations/ui_strings_fi.xtb
+++ b/ui/strings/translations/ui_strings_fi.xtb
@@ -157,6 +157,7 @@
 <translation id="8179976553408161302">Enter</translation>
 <translation id="8210608804940886430">Sivu alas</translation>
 <translation id="8245914219290430011">Sarkain</translation>
+<translation id="8259556432390118667">Värin heksadesimaaliarvo</translation>
 <translation id="8328145009876646418">Vasen reuna</translation>
 <translation id="8331626408530291785">Vieritä ylös</translation>
 <translation id="8352146631962686268">{YEARS,plural, =1{1 vuosi}other{# vuotta}}</translation>
@@ -172,6 +173,7 @@
 <translation id="8798099450830957504">Oletus</translation>
 <translation id="8806053966018712535">Kansio <ph name="FOLDER_NAME" /></translation>
 <translation id="883911313571074303">Lisää kuvaan muistiinpano</translation>
+<translation id="8841375032071747811">Takaisin-painike</translation>
 <translation id="8901569739625249689"><ph name="QUANTITY" /> kt</translation>
 <translation id="9002566407876343676">avata</translation>
 <translation id="9038489124413477075">Nimetön kansio</translation>
diff --git a/ui/strings/translations/ui_strings_fil.xtb b/ui/strings/translations/ui_strings_fil.xtb
index 33f399a..271f385 100644
--- a/ui/strings/translations/ui_strings_fil.xtb
+++ b/ui/strings/translations/ui_strings_fil.xtb
@@ -157,6 +157,7 @@
 <translation id="8179976553408161302">Enter</translation>
 <translation id="8210608804940886430">Page Down</translation>
 <translation id="8245914219290430011">Tab</translation>
+<translation id="8259556432390118667">Value ng kulay ng hex</translation>
 <translation id="8328145009876646418">Kalwang Edge</translation>
 <translation id="8331626408530291785">Mag-scroll Pataas</translation>
 <translation id="8352146631962686268">{YEARS,plural, =1{1 taon}one{# taon}other{# na taon}}</translation>
@@ -172,6 +173,7 @@
 <translation id="8798099450830957504">Default</translation>
 <translation id="8806053966018712535">Folder <ph name="FOLDER_NAME" /></translation>
 <translation id="883911313571074303">I-annotate ang larawan</translation>
+<translation id="8841375032071747811">Button na Bumalik</translation>
 <translation id="8901569739625249689"><ph name="QUANTITY" /> KB</translation>
 <translation id="9002566407876343676">buksan</translation>
 <translation id="9038489124413477075">Walang Pangalan na Folder</translation>
diff --git a/ui/strings/translations/ui_strings_fr.xtb b/ui/strings/translations/ui_strings_fr.xtb
index 3721d9b2..18d00f2 100644
--- a/ui/strings/translations/ui_strings_fr.xtb
+++ b/ui/strings/translations/ui_strings_fr.xtb
@@ -157,6 +157,7 @@
 <translation id="8179976553408161302">Entrée</translation>
 <translation id="8210608804940886430">Page suivante</translation>
 <translation id="8245914219290430011">Tabulation</translation>
+<translation id="8259556432390118667">Valeur de couleur hexadécimale</translation>
 <translation id="8328145009876646418">Côté gauche</translation>
 <translation id="8331626408530291785">Défilement vers le haut</translation>
 <translation id="8352146631962686268">{YEARS,plural, =1{1 an}one{# an}other{# ans}}</translation>
@@ -172,6 +173,7 @@
 <translation id="8798099450830957504">Par défaut</translation>
 <translation id="8806053966018712535">Dossier <ph name="FOLDER_NAME" /></translation>
 <translation id="883911313571074303">Annoter l'image</translation>
+<translation id="8841375032071747811">Bouton Retour</translation>
 <translation id="8901569739625249689"><ph name="QUANTITY" /> Ko</translation>
 <translation id="9002566407876343676">ouvrir</translation>
 <translation id="9038489124413477075">Dossier sans nom</translation>
diff --git a/ui/strings/translations/ui_strings_gu.xtb b/ui/strings/translations/ui_strings_gu.xtb
index 61f663f5..0a41a261 100644
--- a/ui/strings/translations/ui_strings_gu.xtb
+++ b/ui/strings/translations/ui_strings_gu.xtb
@@ -172,6 +172,7 @@
 <translation id="8798099450830957504">ડિફૉલ્ટ</translation>
 <translation id="8806053966018712535"><ph name="FOLDER_NAME" /> ફોલ્ડર</translation>
 <translation id="883911313571074303">છબીમાં ટીકા કરો</translation>
+<translation id="8841375032071747811">પાછળ બટન</translation>
 <translation id="8901569739625249689"><ph name="QUANTITY" /> KB</translation>
 <translation id="9002566407876343676">ખોલો</translation>
 <translation id="9038489124413477075">અનામાંકિત ફોલ્ડર</translation>
diff --git a/ui/strings/translations/ui_strings_hi.xtb b/ui/strings/translations/ui_strings_hi.xtb
index 6e01a74ed..4adb58e 100644
--- a/ui/strings/translations/ui_strings_hi.xtb
+++ b/ui/strings/translations/ui_strings_hi.xtb
@@ -157,6 +157,7 @@
 <translation id="8179976553408161302">Enter</translation>
 <translation id="8210608804940886430">Page Down</translation>
 <translation id="8245914219290430011">टैब</translation>
+<translation id="8259556432390118667">हेक्स रंग मान</translation>
 <translation id="8328145009876646418">बायां सिरा</translation>
 <translation id="8331626408530291785">ऊपर स्क्रॉल करें</translation>
 <translation id="8352146631962686268">{YEARS,plural, =1{1 वर्ष}one{# वर्ष}other{# वर्ष}}</translation>
@@ -172,6 +173,7 @@
 <translation id="8798099450830957504">सामान्य</translation>
 <translation id="8806053966018712535"><ph name="FOLDER_NAME" /> फ़ोल्डर</translation>
 <translation id="883911313571074303">व्याख्या चित्र</translation>
+<translation id="8841375032071747811">वापस जाएं बटन</translation>
 <translation id="8901569739625249689"><ph name="QUANTITY" /> केबी</translation>
 <translation id="9002566407876343676">खोलें</translation>
 <translation id="9038489124413477075">अनाम फ़ोल्डर</translation>
diff --git a/ui/strings/translations/ui_strings_hr.xtb b/ui/strings/translations/ui_strings_hr.xtb
index 53be996b..d220914 100644
--- a/ui/strings/translations/ui_strings_hr.xtb
+++ b/ui/strings/translations/ui_strings_hr.xtb
@@ -157,6 +157,7 @@
 <translation id="8179976553408161302">Enter</translation>
 <translation id="8210608804940886430">Stranica prema dolje</translation>
 <translation id="8245914219290430011">Kartica</translation>
+<translation id="8259556432390118667">Heksadecimalna vrijednost boje</translation>
 <translation id="8328145009876646418">Lijevi rub</translation>
 <translation id="8331626408530291785">Pomakni se gore</translation>
 <translation id="8352146631962686268">{YEARS,plural, =1{1 godina}one{# godina}few{# godine}other{# godina}}</translation>
@@ -172,6 +173,7 @@
 <translation id="8798099450830957504">Zadano</translation>
 <translation id="8806053966018712535">Mapa <ph name="FOLDER_NAME" /></translation>
 <translation id="883911313571074303">Dodaj napomenu slici</translation>
+<translation id="8841375032071747811">Gumb Natrag</translation>
 <translation id="8901569739625249689"><ph name="QUANTITY" /> KB</translation>
 <translation id="9002566407876343676">otvaranje</translation>
 <translation id="9038489124413477075">Neimenovana mapa</translation>
diff --git a/ui/strings/translations/ui_strings_hu.xtb b/ui/strings/translations/ui_strings_hu.xtb
index 37d3461..3daa242 100644
--- a/ui/strings/translations/ui_strings_hu.xtb
+++ b/ui/strings/translations/ui_strings_hu.xtb
@@ -157,6 +157,7 @@
 <translation id="8179976553408161302">Enter</translation>
 <translation id="8210608804940886430">Page Down</translation>
 <translation id="8245914219290430011">Lap</translation>
+<translation id="8259556432390118667">Hexadecimális színérték</translation>
 <translation id="8328145009876646418">Bal sarok</translation>
 <translation id="8331626408530291785">Görgetés felfelé</translation>
 <translation id="8352146631962686268">{YEARS,plural, =1{1 év}other{# év}}</translation>
@@ -172,6 +173,7 @@
 <translation id="8798099450830957504">Alapértelmezett</translation>
 <translation id="8806053966018712535"><ph name="FOLDER_NAME" /> mappa</translation>
 <translation id="883911313571074303">Megjegyzés fűzése a képhez</translation>
+<translation id="8841375032071747811">Vissza gomb</translation>
 <translation id="8901569739625249689"><ph name="QUANTITY" /> kB</translation>
 <translation id="9002566407876343676">megnyitás</translation>
 <translation id="9038489124413477075">Név nélküli mappa</translation>
diff --git a/ui/strings/translations/ui_strings_id.xtb b/ui/strings/translations/ui_strings_id.xtb
index 5adc85f..3ad20ab 100644
--- a/ui/strings/translations/ui_strings_id.xtb
+++ b/ui/strings/translations/ui_strings_id.xtb
@@ -157,6 +157,7 @@
 <translation id="8179976553408161302">Enter</translation>
 <translation id="8210608804940886430">Page Down</translation>
 <translation id="8245914219290430011">Tab</translation>
+<translation id="8259556432390118667">Nilai warna hex</translation>
 <translation id="8328145009876646418">Tepi Kiri</translation>
 <translation id="8331626408530291785">Gulir ke Atas</translation>
 <translation id="8352146631962686268">{YEARS,plural, =1{1 tahun}other{# tahun}}</translation>
@@ -172,6 +173,7 @@
 <translation id="8798099450830957504">Default</translation>
 <translation id="8806053966018712535">Folder <ph name="FOLDER_NAME" /></translation>
 <translation id="883911313571074303">Gambar anotasi</translation>
+<translation id="8841375032071747811">Tombol kembali</translation>
 <translation id="8901569739625249689"><ph name="QUANTITY" /> KB</translation>
 <translation id="9002566407876343676">buka</translation>
 <translation id="9038489124413477075">Folder Tanpa Nama</translation>
diff --git a/ui/strings/translations/ui_strings_it.xtb b/ui/strings/translations/ui_strings_it.xtb
index dfdeddd62..9d8bc2a 100644
--- a/ui/strings/translations/ui_strings_it.xtb
+++ b/ui/strings/translations/ui_strings_it.xtb
@@ -157,6 +157,7 @@
 <translation id="8179976553408161302">Invio</translation>
 <translation id="8210608804940886430">Pagina giù</translation>
 <translation id="8245914219290430011">Tabulazione</translation>
+<translation id="8259556432390118667">Valore del colore esadecimale</translation>
 <translation id="8328145009876646418">Margine sinistro</translation>
 <translation id="8331626408530291785">Scorri verso l'alto</translation>
 <translation id="8352146631962686268">{YEARS,plural, =1{1 anno}other{# anni}}</translation>
@@ -172,6 +173,7 @@
 <translation id="8798099450830957504">Predefinito</translation>
 <translation id="8806053966018712535">Cartella <ph name="FOLDER_NAME" /></translation>
 <translation id="883911313571074303">Annota immagine</translation>
+<translation id="8841375032071747811">Pulsante Indietro</translation>
 <translation id="8901569739625249689"><ph name="QUANTITY" /> kB</translation>
 <translation id="9002566407876343676">apri</translation>
 <translation id="9038489124413477075">Cartella senza nome</translation>
diff --git a/ui/strings/translations/ui_strings_iw.xtb b/ui/strings/translations/ui_strings_iw.xtb
index 844ab24..80b4021 100644
--- a/ui/strings/translations/ui_strings_iw.xtb
+++ b/ui/strings/translations/ui_strings_iw.xtb
@@ -157,6 +157,7 @@
 <translation id="8179976553408161302">Enter</translation>
 <translation id="8210608804940886430">דף למטה</translation>
 <translation id="8245914219290430011">כרטיסייה</translation>
+<translation id="8259556432390118667">ערך צבע הקסדצימלי</translation>
 <translation id="8328145009876646418">קצה שמאלי</translation>
 <translation id="8331626408530291785">גלול למעלה</translation>
 <translation id="8352146631962686268">{YEARS,plural, =1{שנה אחת}two{שנתיים}many{# שנים}other{# שנים}}</translation>
@@ -172,6 +173,7 @@
 <translation id="8798099450830957504">ברירת מחדל</translation>
 <translation id="8806053966018712535">תיקייה <ph name="FOLDER_NAME" /></translation>
 <translation id="883911313571074303">רשום הערה לתמונה</translation>
+<translation id="8841375032071747811">לחצן 'הקודם'</translation>
 <translation id="8901569739625249689">‏<ph name="QUANTITY" /> KB‏</translation>
 <translation id="9002566407876343676">פתח</translation>
 <translation id="9038489124413477075">תיקייה ללא שם</translation>
diff --git a/ui/strings/translations/ui_strings_ja.xtb b/ui/strings/translations/ui_strings_ja.xtb
index c459dac1d..237602a 100644
--- a/ui/strings/translations/ui_strings_ja.xtb
+++ b/ui/strings/translations/ui_strings_ja.xtb
@@ -172,6 +172,7 @@
 <translation id="8798099450830957504">既定</translation>
 <translation id="8806053966018712535">フォルダ <ph name="FOLDER_NAME" /></translation>
 <translation id="883911313571074303">画像に注釈を付ける</translation>
+<translation id="8841375032071747811">戻るボタン</translation>
 <translation id="8901569739625249689"><ph name="QUANTITY" /> KB</translation>
 <translation id="9002566407876343676">開く</translation>
 <translation id="9038489124413477075">名前のないフォルダ</translation>
diff --git a/ui/strings/translations/ui_strings_kn.xtb b/ui/strings/translations/ui_strings_kn.xtb
index d43c9918..98f38b32 100644
--- a/ui/strings/translations/ui_strings_kn.xtb
+++ b/ui/strings/translations/ui_strings_kn.xtb
@@ -157,6 +157,7 @@
 <translation id="8179976553408161302">Enter</translation>
 <translation id="8210608804940886430">ಪುಟ ಕೆಳಗೆ</translation>
 <translation id="8245914219290430011">ಟ್ಯಾಬ್</translation>
+<translation id="8259556432390118667">ಹೆಕ್ಸ್ ಬಣ್ಣ ಮೌಲ್ಯ</translation>
 <translation id="8328145009876646418">ಎಡ ಬದಿ</translation>
 <translation id="8331626408530291785">ಮೇಲೆ ಸ್ಕ್ರೋಲ್ ಮಾಡು</translation>
 <translation id="8352146631962686268">{YEARS,plural, =1{1 ವರ್ಷ}one{# ವರ್ಷಗಳು}other{# ವರ್ಷಗಳು}}</translation>
@@ -172,6 +173,7 @@
 <translation id="8798099450830957504">ಡಿಫಾಲ್ಟ್</translation>
 <translation id="8806053966018712535">ಫೋಲ್ಡರ್ <ph name="FOLDER_NAME" /></translation>
 <translation id="883911313571074303">ಚಿತ್ರವನ್ನು ಟಿಪ್ಪಣಿ ಮಾಡಿ</translation>
+<translation id="8841375032071747811">ಹಿಂದೆ ಬಟನ್</translation>
 <translation id="8901569739625249689"><ph name="QUANTITY" /> KB</translation>
 <translation id="9002566407876343676">ತೆರೆ</translation>
 <translation id="9038489124413477075">ಹೆಸರಿಸದ ಫೋಲ್ಡರ್</translation>
diff --git a/ui/strings/translations/ui_strings_ko.xtb b/ui/strings/translations/ui_strings_ko.xtb
index ea76ee5..500c5921 100644
--- a/ui/strings/translations/ui_strings_ko.xtb
+++ b/ui/strings/translations/ui_strings_ko.xtb
@@ -172,6 +172,7 @@
 <translation id="8798099450830957504">기본값</translation>
 <translation id="8806053966018712535"><ph name="FOLDER_NAME" /> 폴더</translation>
 <translation id="883911313571074303">이미지에 주석 달기</translation>
+<translation id="8841375032071747811">뒤로 버튼</translation>
 <translation id="8901569739625249689"><ph name="QUANTITY" />KB</translation>
 <translation id="9002566407876343676">열기</translation>
 <translation id="9038489124413477075">이름이 없는 폴더</translation>
diff --git a/ui/strings/translations/ui_strings_lt.xtb b/ui/strings/translations/ui_strings_lt.xtb
index 5d1dc643..f33f0b3 100644
--- a/ui/strings/translations/ui_strings_lt.xtb
+++ b/ui/strings/translations/ui_strings_lt.xtb
@@ -172,6 +172,7 @@
 <translation id="8798099450830957504">Numatytasis</translation>
 <translation id="8806053966018712535">Aplankas „<ph name="FOLDER_NAME" />“</translation>
 <translation id="883911313571074303">Komentuoti vaizdą</translation>
+<translation id="8841375032071747811">Mygtukas „Atgal“</translation>
 <translation id="8901569739625249689"><ph name="QUANTITY" /> KB</translation>
 <translation id="9002566407876343676">atidaryti</translation>
 <translation id="9038489124413477075">Aplankas be pavadinimo</translation>
diff --git a/ui/strings/translations/ui_strings_lv.xtb b/ui/strings/translations/ui_strings_lv.xtb
index ef7ea46..5b1b6f0 100644
--- a/ui/strings/translations/ui_strings_lv.xtb
+++ b/ui/strings/translations/ui_strings_lv.xtb
@@ -157,6 +157,7 @@
 <translation id="8179976553408161302">Ievadīt</translation>
 <translation id="8210608804940886430">Lejup</translation>
 <translation id="8245914219290430011">Tabulēšanas taustiņš</translation>
+<translation id="8259556432390118667">Heksadecimāla krāsas vērtība</translation>
 <translation id="8328145009876646418">Kreisā mala</translation>
 <translation id="8331626408530291785">Ritināt augšup</translation>
 <translation id="8352146631962686268">{YEARS,plural, =1{1 gads}zero{# gadu}one{# gads}other{# gadi}}</translation>
@@ -172,6 +173,7 @@
 <translation id="8798099450830957504">Noklusējums</translation>
 <translation id="8806053966018712535">Mape <ph name="FOLDER_NAME" /></translation>
 <translation id="883911313571074303">Anotēt attēlu</translation>
+<translation id="8841375032071747811">Poga Atpakaļ</translation>
 <translation id="8901569739625249689"><ph name="QUANTITY" /> KB</translation>
 <translation id="9002566407876343676">atvērt</translation>
 <translation id="9038489124413477075">Mape bez nosaukuma</translation>
diff --git a/ui/strings/translations/ui_strings_ml.xtb b/ui/strings/translations/ui_strings_ml.xtb
index d44fc29a..e546879 100644
--- a/ui/strings/translations/ui_strings_ml.xtb
+++ b/ui/strings/translations/ui_strings_ml.xtb
@@ -157,6 +157,7 @@
 <translation id="8179976553408161302">Enter</translation>
 <translation id="8210608804940886430">താഴെയുള്ള പേജുകള്‍</translation>
 <translation id="8245914219290430011">ടാബ്</translation>
+<translation id="8259556432390118667">ഹെക്‌സ് വർണ മൂല്യം</translation>
 <translation id="8328145009876646418">ഇടത് അഗ്രം</translation>
 <translation id="8331626408530291785">മുകളിലേക്ക് സ്ക്രോള്‍ ചെയ്യൂ</translation>
 <translation id="8352146631962686268">{YEARS,plural, =1{ഒരു വര്‍ഷം}other{# വർഷം}}</translation>
@@ -172,6 +173,7 @@
 <translation id="8798099450830957504">സ്ഥിരസ്ഥിതി</translation>
 <translation id="8806053966018712535">ഫോൾഡർ <ph name="FOLDER_NAME" /></translation>
 <translation id="883911313571074303">ചിത്രം വ്യാഖ്യാനിക്കുക</translation>
+<translation id="8841375032071747811">ബാക്ക് ബട്ടൺ</translation>
 <translation id="8901569739625249689"><ph name="QUANTITY" /> KB</translation>
 <translation id="9002566407876343676">തുറക്കുക</translation>
 <translation id="9038489124413477075">പേരിടാത്ത ഫോൾഡർ</translation>
diff --git a/ui/strings/translations/ui_strings_mr.xtb b/ui/strings/translations/ui_strings_mr.xtb
index dfd03ab..5acee4c 100644
--- a/ui/strings/translations/ui_strings_mr.xtb
+++ b/ui/strings/translations/ui_strings_mr.xtb
@@ -157,6 +157,7 @@
 <translation id="8179976553408161302">Enter</translation>
 <translation id="8210608804940886430">पृष्ठ खाली</translation>
 <translation id="8245914219290430011">टॅब</translation>
+<translation id="8259556432390118667">हेक्स रंग मूल्य</translation>
 <translation id="8328145009876646418">डावे काठ</translation>
 <translation id="8331626408530291785">वर स्क्रोल करा</translation>
 <translation id="8352146631962686268">{YEARS,plural, =1{1 वर्ष}one{# वर्ष}other{# वर्षे}}</translation>
@@ -172,6 +173,7 @@
 <translation id="8798099450830957504">डीफॉल्ट</translation>
 <translation id="8806053966018712535"><ph name="FOLDER_NAME" /> फोल्डर</translation>
 <translation id="883911313571074303">इमेजवर भाष्य करा</translation>
+<translation id="8841375032071747811">मागे जा बटण</translation>
 <translation id="8901569739625249689"><ph name="QUANTITY" /> KB</translation>
 <translation id="9002566407876343676">उघडा</translation>
 <translation id="9038489124413477075">अनामित फोल्डर</translation>
diff --git a/ui/strings/translations/ui_strings_ms.xtb b/ui/strings/translations/ui_strings_ms.xtb
index ddf56c5d..96f3d98 100644
--- a/ui/strings/translations/ui_strings_ms.xtb
+++ b/ui/strings/translations/ui_strings_ms.xtb
@@ -157,6 +157,7 @@
 <translation id="8179976553408161302">Enter</translation>
 <translation id="8210608804940886430">Ke Bawah Halaman</translation>
 <translation id="8245914219290430011">Tab</translation>
+<translation id="8259556432390118667">Nilai warna perenambelasan</translation>
 <translation id="8328145009876646418">Tepi Kiri</translation>
 <translation id="8331626408530291785">Tatal Ke Atas</translation>
 <translation id="8352146631962686268">{YEARS,plural, =1{1 tahun}other{# tahun}}</translation>
@@ -172,6 +173,7 @@
 <translation id="8798099450830957504">Lalai</translation>
 <translation id="8806053966018712535">Folder <ph name="FOLDER_NAME" /></translation>
 <translation id="883911313571074303">Anotasikan imej</translation>
+<translation id="8841375032071747811">Butang kembali</translation>
 <translation id="8901569739625249689"><ph name="QUANTITY" /> KB</translation>
 <translation id="9002566407876343676">buka</translation>
 <translation id="9038489124413477075">Folder Tanpa Nama</translation>
diff --git a/ui/strings/translations/ui_strings_nl.xtb b/ui/strings/translations/ui_strings_nl.xtb
index 65ebdb0..a6b2d43 100644
--- a/ui/strings/translations/ui_strings_nl.xtb
+++ b/ui/strings/translations/ui_strings_nl.xtb
@@ -157,6 +157,7 @@
 <translation id="8179976553408161302">Enter</translation>
 <translation id="8210608804940886430">Pagina omlaag</translation>
 <translation id="8245914219290430011">Tab</translation>
+<translation id="8259556432390118667">Hex-kleurwaarde</translation>
 <translation id="8328145009876646418">Linkerzijde</translation>
 <translation id="8331626408530291785">Omhoog bladeren</translation>
 <translation id="8352146631962686268">{YEARS,plural, =1{1 jaar}other{# jaar}}</translation>
@@ -172,6 +173,7 @@
 <translation id="8798099450830957504">Standaard</translation>
 <translation id="8806053966018712535">Map <ph name="FOLDER_NAME" /></translation>
 <translation id="883911313571074303">Afbeelding annoteren</translation>
+<translation id="8841375032071747811">Knop Terug</translation>
 <translation id="8901569739625249689"><ph name="QUANTITY" />  KB</translation>
 <translation id="9002566407876343676">openen</translation>
 <translation id="9038489124413477075">Naamloze map</translation>
diff --git a/ui/strings/translations/ui_strings_no.xtb b/ui/strings/translations/ui_strings_no.xtb
index bec5f74..9c8e97c 100644
--- a/ui/strings/translations/ui_strings_no.xtb
+++ b/ui/strings/translations/ui_strings_no.xtb
@@ -172,6 +172,7 @@
 <translation id="8798099450830957504">Standard</translation>
 <translation id="8806053966018712535">Mappen <ph name="FOLDER_NAME" /></translation>
 <translation id="883911313571074303">Kommenter bildet</translation>
+<translation id="8841375032071747811">Tilbakeknapp</translation>
 <translation id="8901569739625249689"><ph name="QUANTITY" /> kB</translation>
 <translation id="9002566407876343676">åpne</translation>
 <translation id="9038489124413477075">Mappe uten navn</translation>
diff --git a/ui/strings/translations/ui_strings_pl.xtb b/ui/strings/translations/ui_strings_pl.xtb
index d4f9cb40..a3e0ff0 100644
--- a/ui/strings/translations/ui_strings_pl.xtb
+++ b/ui/strings/translations/ui_strings_pl.xtb
@@ -157,6 +157,7 @@
 <translation id="8179976553408161302">Enter</translation>
 <translation id="8210608804940886430">Strona w dół</translation>
 <translation id="8245914219290430011">Tab</translation>
+<translation id="8259556432390118667">Wartość szesnastkowego kodu koloru</translation>
 <translation id="8328145009876646418">Krawędź po lewej</translation>
 <translation id="8331626408530291785">Przewiń w górę</translation>
 <translation id="8352146631962686268">{YEARS,plural, =1{1 rok}few{# lata}many{# lat}other{# roku}}</translation>
@@ -172,6 +173,7 @@
 <translation id="8798099450830957504">Domyślny</translation>
 <translation id="8806053966018712535">Folder <ph name="FOLDER_NAME" /></translation>
 <translation id="883911313571074303">Dodaj notatkę na grafice</translation>
+<translation id="8841375032071747811">Przycisk Wstecz</translation>
 <translation id="8901569739625249689"><ph name="QUANTITY" /> kB</translation>
 <translation id="9002566407876343676">otwórz</translation>
 <translation id="9038489124413477075">Folder bez nazwy</translation>
diff --git a/ui/strings/translations/ui_strings_pt-BR.xtb b/ui/strings/translations/ui_strings_pt-BR.xtb
index d1fd8f0..eb7fce68 100644
--- a/ui/strings/translations/ui_strings_pt-BR.xtb
+++ b/ui/strings/translations/ui_strings_pt-BR.xtb
@@ -157,6 +157,7 @@
 <translation id="8179976553408161302">Entrar</translation>
 <translation id="8210608804940886430">Página para baixo</translation>
 <translation id="8245914219290430011">Guia</translation>
+<translation id="8259556432390118667">Valor de cor hexadecimal</translation>
 <translation id="8328145009876646418">Borda esquerda</translation>
 <translation id="8331626408530291785">Percorrer para cima</translation>
 <translation id="8352146631962686268">{YEARS,plural, =1{ ano}one{# ano}other{# anos}}</translation>
@@ -172,6 +173,7 @@
 <translation id="8798099450830957504">Padrão</translation>
 <translation id="8806053966018712535">Pasta <ph name="FOLDER_NAME" /></translation>
 <translation id="883911313571074303">Fazer anotações na imagem</translation>
+<translation id="8841375032071747811">Botão "Voltar"</translation>
 <translation id="8901569739625249689"><ph name="QUANTITY" /> KB</translation>
 <translation id="9002566407876343676">abrir</translation>
 <translation id="9038489124413477075">Pasta sem nome</translation>
diff --git a/ui/strings/translations/ui_strings_pt-PT.xtb b/ui/strings/translations/ui_strings_pt-PT.xtb
index 620b519..f778064 100644
--- a/ui/strings/translations/ui_strings_pt-PT.xtb
+++ b/ui/strings/translations/ui_strings_pt-PT.xtb
@@ -157,6 +157,7 @@
 <translation id="8179976553408161302">Enter</translation>
 <translation id="8210608804940886430">Página para baixo</translation>
 <translation id="8245914219290430011">Tabulação</translation>
+<translation id="8259556432390118667">Valor de cor hexadecimal</translation>
 <translation id="8328145009876646418">Margem esquerda</translation>
 <translation id="8331626408530291785">Deslocar-se para cima</translation>
 <translation id="8352146631962686268">{YEARS,plural, =1{1 ano}other{# anos}}</translation>
@@ -172,6 +173,7 @@
 <translation id="8798099450830957504">Predefinição</translation>
 <translation id="8806053966018712535">Pasta <ph name="FOLDER_NAME" /></translation>
 <translation id="883911313571074303">Anotar imagem</translation>
+<translation id="8841375032071747811">Botão Anterior</translation>
 <translation id="8901569739625249689"><ph name="QUANTITY" /> KB</translation>
 <translation id="9002566407876343676">abrir</translation>
 <translation id="9038489124413477075">Pasta sem nome</translation>
diff --git a/ui/strings/translations/ui_strings_ro.xtb b/ui/strings/translations/ui_strings_ro.xtb
index 9ce3d6f..d593f79 100644
--- a/ui/strings/translations/ui_strings_ro.xtb
+++ b/ui/strings/translations/ui_strings_ro.xtb
@@ -157,6 +157,7 @@
 <translation id="8179976553408161302">Enter</translation>
 <translation id="8210608804940886430">O pagină mai jos</translation>
 <translation id="8245914219290430011">Tab</translation>
+<translation id="8259556432390118667">Valoarea culorii hexazecimale</translation>
 <translation id="8328145009876646418">Marginea stângă</translation>
 <translation id="8331626408530291785">Derulează în sus</translation>
 <translation id="8352146631962686268">{YEARS,plural, =1{1 an}few{# ani}other{# de ani}}</translation>
@@ -172,6 +173,7 @@
 <translation id="8798099450830957504">Prestabilit</translation>
 <translation id="8806053966018712535">Dosarul <ph name="FOLDER_NAME" /></translation>
 <translation id="883911313571074303">Adnotează imaginea</translation>
+<translation id="8841375032071747811">Butonul Înapoi</translation>
 <translation id="8901569739625249689"><ph name="QUANTITY" /> KO</translation>
 <translation id="9002566407876343676">deschide</translation>
 <translation id="9038489124413477075">Dosar fără nume</translation>
diff --git a/ui/strings/translations/ui_strings_ru.xtb b/ui/strings/translations/ui_strings_ru.xtb
index 638879b6..5da1a59d 100644
--- a/ui/strings/translations/ui_strings_ru.xtb
+++ b/ui/strings/translations/ui_strings_ru.xtb
@@ -157,6 +157,7 @@
 <translation id="8179976553408161302">ВВОД</translation>
 <translation id="8210608804940886430">Прокрутка вниз</translation>
 <translation id="8245914219290430011">Tab</translation>
+<translation id="8259556432390118667">Шестнадцатеричный код цвета</translation>
 <translation id="8328145009876646418">Левый край</translation>
 <translation id="8331626408530291785">Прокрутка вверх</translation>
 <translation id="8352146631962686268">{YEARS,plural, =1{1 год}one{# год}few{# года}many{# лет}other{# года}}</translation>
@@ -172,6 +173,7 @@
 <translation id="8798099450830957504">По умолчанию</translation>
 <translation id="8806053966018712535">Папка <ph name="FOLDER_NAME" />.</translation>
 <translation id="883911313571074303">Добавить примечание к изображению</translation>
+<translation id="8841375032071747811">Назад</translation>
 <translation id="8901569739625249689"><ph name="QUANTITY" /> КБ</translation>
 <translation id="9002566407876343676">открыть</translation>
 <translation id="9038489124413477075">Без названия</translation>
diff --git a/ui/strings/translations/ui_strings_sk.xtb b/ui/strings/translations/ui_strings_sk.xtb
index 3688bce2..46ea8f96 100644
--- a/ui/strings/translations/ui_strings_sk.xtb
+++ b/ui/strings/translations/ui_strings_sk.xtb
@@ -157,6 +157,7 @@
 <translation id="8179976553408161302">Enter</translation>
 <translation id="8210608804940886430">Stránkovať nadol</translation>
 <translation id="8245914219290430011">Tab</translation>
+<translation id="8259556432390118667">Hodnota farby v šestnástkovej sústave</translation>
 <translation id="8328145009876646418">Ľavý okraj</translation>
 <translation id="8331626408530291785">Rolovať nahor</translation>
 <translation id="8352146631962686268">{YEARS,plural, =1{1 rok}few{# roky}many{# roka}other{# rokov}}</translation>
@@ -172,6 +173,7 @@
 <translation id="8798099450830957504">Predvolené</translation>
 <translation id="8806053966018712535">Priečinok <ph name="FOLDER_NAME" /></translation>
 <translation id="883911313571074303">Pridať k obrázku poznámku</translation>
+<translation id="8841375032071747811">Tlačidlo Späť</translation>
 <translation id="8901569739625249689"><ph name="QUANTITY" /> kB</translation>
 <translation id="9002566407876343676">otvorenie</translation>
 <translation id="9038489124413477075">Priečinok bez názvu</translation>
diff --git a/ui/strings/translations/ui_strings_sl.xtb b/ui/strings/translations/ui_strings_sl.xtb
index a56bf49..83cdf5e 100644
--- a/ui/strings/translations/ui_strings_sl.xtb
+++ b/ui/strings/translations/ui_strings_sl.xtb
@@ -150,6 +150,7 @@
 <translation id="8179976553408161302">Enter</translation>
 <translation id="8210608804940886430">Stran dol</translation>
 <translation id="8245914219290430011">Zavihek</translation>
+<translation id="8259556432390118667">Vrednost barve v šestnajstiškem zapisu</translation>
 <translation id="8328145009876646418">Levi rob</translation>
 <translation id="8331626408530291785">Pomik gor</translation>
 <translation id="8352146631962686268">{YEARS,plural, =1{1 leto}one{# leto}two{# leti}few{# leta}other{# let}}</translation>
@@ -162,6 +163,7 @@
 <translation id="8798099450830957504">Privzeto</translation>
 <translation id="8806053966018712535">Mapa <ph name="FOLDER_NAME" /></translation>
 <translation id="883911313571074303">Dodaj pripis sliki</translation>
+<translation id="8841375032071747811">Gumb za nazaj</translation>
 <translation id="8901569739625249689"><ph name="QUANTITY" /> KB</translation>
 <translation id="9002566407876343676">odpreti</translation>
 <translation id="9038489124413477075">Neimenovana mapa</translation>
diff --git a/ui/strings/translations/ui_strings_sr.xtb b/ui/strings/translations/ui_strings_sr.xtb
index 77293bd..af4331f 100644
--- a/ui/strings/translations/ui_strings_sr.xtb
+++ b/ui/strings/translations/ui_strings_sr.xtb
@@ -157,6 +157,7 @@
 <translation id="8179976553408161302">Enter</translation>
 <translation id="8210608804940886430">Страница надоле</translation>
 <translation id="8245914219290430011">Табулатор</translation>
+<translation id="8259556432390118667">Хексадецимална вредност боје</translation>
 <translation id="8328145009876646418">Лева ивица</translation>
 <translation id="8331626408530291785">Помери нагоре</translation>
 <translation id="8352146631962686268">{YEARS,plural, =1{1 година}one{# година}few{# године}other{# година}}</translation>
@@ -172,6 +173,7 @@
 <translation id="8798099450830957504">Подразумевано</translation>
 <translation id="8806053966018712535">Директоријум <ph name="FOLDER_NAME" /></translation>
 <translation id="883911313571074303">Додај напомену у слику</translation>
+<translation id="8841375032071747811">Дугме Назад</translation>
 <translation id="8901569739625249689"><ph name="QUANTITY" /> KB</translation>
 <translation id="9002566407876343676">отварање</translation>
 <translation id="9038489124413477075">Неименовани директоријум</translation>
diff --git a/ui/strings/translations/ui_strings_sv.xtb b/ui/strings/translations/ui_strings_sv.xtb
index ddad007d..7c38a1ee 100644
--- a/ui/strings/translations/ui_strings_sv.xtb
+++ b/ui/strings/translations/ui_strings_sv.xtb
@@ -157,6 +157,7 @@
 <translation id="8179976553408161302">Enter</translation>
 <translation id="8210608804940886430">Page Down</translation>
 <translation id="8245914219290430011">Flik</translation>
+<translation id="8259556432390118667">Hexadecimalt färgvärde</translation>
 <translation id="8328145009876646418">Vänsterkant</translation>
 <translation id="8331626408530291785">Rulla uppåt</translation>
 <translation id="8352146631962686268">{YEARS,plural, =1{1 år}other{# år}}</translation>
@@ -172,6 +173,7 @@
 <translation id="8798099450830957504">Standard</translation>
 <translation id="8806053966018712535">Mappen <ph name="FOLDER_NAME" /></translation>
 <translation id="883911313571074303">Kommentera bild</translation>
+<translation id="8841375032071747811">Bakåtknapp</translation>
 <translation id="8901569739625249689"><ph name="QUANTITY" /> kB</translation>
 <translation id="9002566407876343676">öppna</translation>
 <translation id="9038489124413477075">Namnlös mapp</translation>
diff --git a/ui/strings/translations/ui_strings_sw.xtb b/ui/strings/translations/ui_strings_sw.xtb
index d840c0c..231a73e 100644
--- a/ui/strings/translations/ui_strings_sw.xtb
+++ b/ui/strings/translations/ui_strings_sw.xtb
@@ -157,6 +157,7 @@
 <translation id="8179976553408161302">Enter</translation>
 <translation id="8210608804940886430">Ukurasa mmoja chini</translation>
 <translation id="8245914219290430011">Kichupo</translation>
+<translation id="8259556432390118667">Thamani ya rangi ya hex</translation>
 <translation id="8328145009876646418">Ncha ya Kushoto</translation>
 <translation id="8331626408530291785">Sogeza Juu</translation>
 <translation id="8352146631962686268">{YEARS,plural, =1{Mwaka 1}other{Miaka #}}</translation>
@@ -172,6 +173,7 @@
 <translation id="8798099450830957504">Chaguomsingi</translation>
 <translation id="8806053966018712535">Folda ya <ph name="FOLDER_NAME" /></translation>
 <translation id="883911313571074303">Eleza kuhusu picha</translation>
+<translation id="8841375032071747811">Kitufe cha Nyuma</translation>
 <translation id="8901569739625249689">KB <ph name="QUANTITY" /></translation>
 <translation id="9002566407876343676">fungua</translation>
 <translation id="9038489124413477075">Folda isiyo na jina</translation>
diff --git a/ui/strings/translations/ui_strings_ta.xtb b/ui/strings/translations/ui_strings_ta.xtb
index 7431697..a3a93895 100644
--- a/ui/strings/translations/ui_strings_ta.xtb
+++ b/ui/strings/translations/ui_strings_ta.xtb
@@ -157,6 +157,7 @@
 <translation id="8179976553408161302">Enter</translation>
 <translation id="8210608804940886430">பக்கத்தின் கீழே</translation>
 <translation id="8245914219290430011">தாவல்</translation>
+<translation id="8259556432390118667">ஹெக்ஸ் வண்ண மதிப்பு</translation>
 <translation id="8328145009876646418">இடதுபுற முனை</translation>
 <translation id="8331626408530291785">மேலே உருட்டு</translation>
 <translation id="8352146631962686268">{YEARS,plural, =1{1 ஆண்டு}other{# ஆண்டுகள்}}</translation>
@@ -172,6 +173,7 @@
 <translation id="8798099450830957504">இயல்புநிலை</translation>
 <translation id="8806053966018712535"><ph name="FOLDER_NAME" /> கோப்புறை</translation>
 <translation id="883911313571074303">படத்தைக் குறிப்பிடு</translation>
+<translation id="8841375032071747811">முந்தையது பொத்தான்</translation>
 <translation id="8901569739625249689"><ph name="QUANTITY" /> கி.பை.</translation>
 <translation id="9002566407876343676">திற</translation>
 <translation id="9038489124413477075">பெயரிடப்படாதக் கோப்புறை</translation>
diff --git a/ui/strings/translations/ui_strings_te.xtb b/ui/strings/translations/ui_strings_te.xtb
index d435e2a..ea26a95 100644
--- a/ui/strings/translations/ui_strings_te.xtb
+++ b/ui/strings/translations/ui_strings_te.xtb
@@ -157,6 +157,7 @@
 <translation id="8179976553408161302">Enter</translation>
 <translation id="8210608804940886430">పేజీ క్రిందికి</translation>
 <translation id="8245914219290430011">ట్యాబ్</translation>
+<translation id="8259556432390118667">హెక్స్ రంగు విలువ</translation>
 <translation id="8328145009876646418">ఎడమ హద్దు</translation>
 <translation id="8331626408530291785">పైకి స్క్రోల్ చెయ్యి</translation>
 <translation id="8352146631962686268">{YEARS,plural, =1{1 సంవత్సరం}other{# సంవత్సరాలు}}</translation>
@@ -172,6 +173,7 @@
 <translation id="8798099450830957504">డిఫాల్ట్</translation>
 <translation id="8806053966018712535">ఫోల్డర్ <ph name="FOLDER_NAME" /></translation>
 <translation id="883911313571074303">చిత్రాన్ని అనులేఖించు</translation>
+<translation id="8841375032071747811">వెనుకకు బటన్</translation>
 <translation id="8901569739625249689"><ph name="QUANTITY" /> KB</translation>
 <translation id="9002566407876343676">తెరువు</translation>
 <translation id="9038489124413477075">పేరులేని ఫోల్డర్</translation>
diff --git a/ui/strings/translations/ui_strings_th.xtb b/ui/strings/translations/ui_strings_th.xtb
index a1e943d..45942f2 100644
--- a/ui/strings/translations/ui_strings_th.xtb
+++ b/ui/strings/translations/ui_strings_th.xtb
@@ -157,6 +157,7 @@
 <translation id="8179976553408161302">Enter</translation>
 <translation id="8210608804940886430">เลื่อนหน้าลง</translation>
 <translation id="8245914219290430011">แท็บ</translation>
+<translation id="8259556432390118667">ค่าสีแบบเลขฐาน 16</translation>
 <translation id="8328145009876646418">ขอบซ้าย</translation>
 <translation id="8331626408530291785">เลื่อนขึ้น</translation>
 <translation id="8352146631962686268">{YEARS,plural, =1{1 ปี}other{# ปี}}</translation>
@@ -172,6 +173,7 @@
 <translation id="8798099450830957504">ค่าเริ่มต้น</translation>
 <translation id="8806053966018712535">โฟลเดอร์ <ph name="FOLDER_NAME" /></translation>
 <translation id="883911313571074303">ใส่หมายเหตุในรูปภาพ</translation>
+<translation id="8841375032071747811">ปุ่มกลับ</translation>
 <translation id="8901569739625249689"><ph name="QUANTITY" /> KB</translation>
 <translation id="9002566407876343676">เปิด</translation>
 <translation id="9038489124413477075">โฟลเดอร์ที่ไม่มีชื่อ</translation>
diff --git a/ui/strings/translations/ui_strings_tr.xtb b/ui/strings/translations/ui_strings_tr.xtb
index abfe2111..7232a44 100644
--- a/ui/strings/translations/ui_strings_tr.xtb
+++ b/ui/strings/translations/ui_strings_tr.xtb
@@ -157,6 +157,7 @@
 <translation id="8179976553408161302">Enter</translation>
 <translation id="8210608804940886430">Page Down</translation>
 <translation id="8245914219290430011">Sekme</translation>
+<translation id="8259556432390118667">Onaltılık renk değeri</translation>
 <translation id="8328145009876646418">Sol Kenar</translation>
 <translation id="8331626408530291785">Yukarı Kaydır</translation>
 <translation id="8352146631962686268">{YEARS,plural, =1{1 yıl}other{# yıl}}</translation>
@@ -172,6 +173,7 @@
 <translation id="8798099450830957504">Varsayılan</translation>
 <translation id="8806053966018712535"><ph name="FOLDER_NAME" /> klasörü</translation>
 <translation id="883911313571074303">Resme açıklama ekle</translation>
+<translation id="8841375032071747811">Geri düğmesi</translation>
 <translation id="8901569739625249689"><ph name="QUANTITY" /> KB</translation>
 <translation id="9002566407876343676">açma</translation>
 <translation id="9038489124413477075">Adsız Klasör</translation>
diff --git a/ui/strings/translations/ui_strings_uk.xtb b/ui/strings/translations/ui_strings_uk.xtb
index 11c9c1842..23073993 100644
--- a/ui/strings/translations/ui_strings_uk.xtb
+++ b/ui/strings/translations/ui_strings_uk.xtb
@@ -157,6 +157,7 @@
 <translation id="8179976553408161302">Enter</translation>
 <translation id="8210608804940886430">Сторінка вниз</translation>
 <translation id="8245914219290430011">Tab</translation>
+<translation id="8259556432390118667">Значення шістнадцяткового коду кольору</translation>
 <translation id="8328145009876646418">Лівий край</translation>
 <translation id="8331626408530291785">Прокрутка вгору</translation>
 <translation id="8352146631962686268">{YEARS,plural, =1{1 рік}one{# рік}few{# роки}many{# років}other{# року}}</translation>
@@ -172,6 +173,7 @@
 <translation id="8798099450830957504">За умовчанням</translation>
 <translation id="8806053966018712535">Папка <ph name="FOLDER_NAME" /></translation>
 <translation id="883911313571074303">Додати нотатку до зображення</translation>
+<translation id="8841375032071747811">Кнопка "Назад"</translation>
 <translation id="8901569739625249689"><ph name="QUANTITY" /> КБ</translation>
 <translation id="9002566407876343676">відкрити</translation>
 <translation id="9038489124413477075">Папка без назви</translation>
diff --git a/ui/strings/translations/ui_strings_vi.xtb b/ui/strings/translations/ui_strings_vi.xtb
index 4ab508c..35b28be 100644
--- a/ui/strings/translations/ui_strings_vi.xtb
+++ b/ui/strings/translations/ui_strings_vi.xtb
@@ -157,6 +157,7 @@
 <translation id="8179976553408161302">Enter</translation>
 <translation id="8210608804940886430">Trang Dưới</translation>
 <translation id="8245914219290430011">Tab</translation>
+<translation id="8259556432390118667">Giá trị màu hex</translation>
 <translation id="8328145009876646418">Cạnh Bên trái</translation>
 <translation id="8331626408530291785">Cuộn Lên</translation>
 <translation id="8352146631962686268">{YEARS,plural, =1{1 năm}other{# năm}}</translation>
@@ -172,6 +173,7 @@
 <translation id="8798099450830957504">Mặc định</translation>
 <translation id="8806053966018712535">Thư mục <ph name="FOLDER_NAME" /></translation>
 <translation id="883911313571074303">Chú thích hình ảnh</translation>
+<translation id="8841375032071747811">Nút quay lại</translation>
 <translation id="8901569739625249689"><ph name="QUANTITY" /> KB</translation>
 <translation id="9002566407876343676">mở</translation>
 <translation id="9038489124413477075">Thư mục không có tên</translation>
diff --git a/ui/strings/translations/ui_strings_zh-CN.xtb b/ui/strings/translations/ui_strings_zh-CN.xtb
index 6bf7da30..2664b34 100644
--- a/ui/strings/translations/ui_strings_zh-CN.xtb
+++ b/ui/strings/translations/ui_strings_zh-CN.xtb
@@ -157,6 +157,7 @@
 <translation id="8179976553408161302">Enter</translation>
 <translation id="8210608804940886430">向下翻页</translation>
 <translation id="8245914219290430011">Tab</translation>
+<translation id="8259556432390118667">十六进制颜色值</translation>
 <translation id="8328145009876646418">左边缘</translation>
 <translation id="8331626408530291785">向上滚动</translation>
 <translation id="8352146631962686268">{YEARS,plural, =1{1 年}other{# 年}}</translation>
@@ -172,6 +173,7 @@
 <translation id="8798099450830957504">默认</translation>
 <translation id="8806053966018712535">文件夹“<ph name="FOLDER_NAME" />”</translation>
 <translation id="883911313571074303">为图片添加注释</translation>
+<translation id="8841375032071747811">“返回”按钮</translation>
 <translation id="8901569739625249689"><ph name="QUANTITY" /> KB</translation>
 <translation id="9002566407876343676">打开</translation>
 <translation id="9038489124413477075">未命名的文件夹</translation>
diff --git a/ui/strings/translations/ui_strings_zh-TW.xtb b/ui/strings/translations/ui_strings_zh-TW.xtb
index efc43f9..709368e01 100644
--- a/ui/strings/translations/ui_strings_zh-TW.xtb
+++ b/ui/strings/translations/ui_strings_zh-TW.xtb
@@ -157,6 +157,7 @@
 <translation id="8179976553408161302">Enter</translation>
 <translation id="8210608804940886430">向下翻頁</translation>
 <translation id="8245914219290430011">Tab 鍵</translation>
+<translation id="8259556432390118667">16 進位色彩值</translation>
 <translation id="8328145009876646418">左邊緣</translation>
 <translation id="8331626408530291785">向上捲動</translation>
 <translation id="8352146631962686268">{YEARS,plural, =1{1 年}other{# 年}}</translation>
@@ -172,6 +173,7 @@
 <translation id="8798099450830957504">預設</translation>
 <translation id="8806053966018712535"><ph name="FOLDER_NAME" />資料夾</translation>
 <translation id="883911313571074303">為圖片加註</translation>
+<translation id="8841375032071747811">返回按鈕</translation>
 <translation id="8901569739625249689"><ph name="QUANTITY" /> KB</translation>
 <translation id="9002566407876343676">開啟</translation>
 <translation id="9038489124413477075">未命名的資料夾</translation>
diff --git a/ui/views/BUILD.gn b/ui/views/BUILD.gn
index c526dea..60054856 100644
--- a/ui/views/BUILD.gn
+++ b/ui/views/BUILD.gn
@@ -445,13 +445,9 @@
     "cocoa/bridged_content_view.h",
     "cocoa/bridged_content_view.mm",
     "cocoa/bridged_content_view_touch_bar.mm",
-    "cocoa/bridged_native_widget_host.h",
     "cocoa/bridged_native_widget_host_impl.h",
     "cocoa/bridged_native_widget_host_impl.mm",
     "cocoa/bridged_native_widget_owner.h",
-    "cocoa/cocoa_mouse_capture.h",
-    "cocoa/cocoa_mouse_capture.mm",
-    "cocoa/cocoa_mouse_capture_delegate.h",
     "cocoa/cocoa_window_move_loop.h",
     "cocoa/cocoa_window_move_loop.mm",
     "cocoa/drag_drop_client_mac.h",
@@ -740,6 +736,7 @@
       "//components/crash/core/common",
       "//ui/accelerated_widget_mac",
       "//ui/events:dom_keycode_converter",
+      "//ui/views_bridge_mac",
     ]
     public_deps += [ "//ui/views_bridge_mac:mojo" ]
     libs = [
@@ -1117,7 +1114,10 @@
   if (is_mac) {
     # views_unittests not yet compiling on Mac. http://crbug.com/378134
     sources -= [ "controls/native/native_view_host_unittest.cc" ]
-    public_deps += [ "//ui/accelerated_widget_mac" ]
+    public_deps += [
+      "//ui/accelerated_widget_mac",
+      "//ui/views_bridge_mac:views_bridge_mac",
+    ]
   }
 }
 
diff --git a/ui/views/accessibility/view_ax_platform_node_delegate.cc b/ui/views/accessibility/view_ax_platform_node_delegate.cc
index 9b7a15cd..adc4575f 100644
--- a/ui/views/accessibility/view_ax_platform_node_delegate.cc
+++ b/ui/views/accessibility/view_ax_platform_node_delegate.cc
@@ -9,6 +9,7 @@
 
 #include "base/lazy_instance.h"
 #include "base/threading/thread_task_runner_handle.h"
+#include "ui/accessibility/ax_role_properties.h"
 #include "ui/accessibility/platform/ax_platform_node.h"
 #include "ui/events/event_utils.h"
 #include "ui/gfx/native_widget_types.h"
@@ -148,7 +149,7 @@
       OnMenuEnd();
       break;
     case ax::mojom::Event::kSelection:
-      if (menu_depth_ && GetData().role == ax::mojom::Role::kMenuItem)
+      if (menu_depth_ && ui::IsMenuItem(GetData().role))
         OnMenuItemActive();
       break;
     case ax::mojom::Event::kFocusContext: {
diff --git a/ui/views/animation/ink_drop_host_view.cc b/ui/views/animation/ink_drop_host_view.cc
index f21c750..b98691b 100644
--- a/ui/views/animation/ink_drop_host_view.cc
+++ b/ui/views/animation/ink_drop_host_view.cc
@@ -16,6 +16,7 @@
 #include "ui/views/animation/ink_drop_stub.h"
 #include "ui/views/animation/square_ink_drop_ripple.h"
 #include "ui/views/style/platform_style.h"
+#include "ui/views/view_properties.h"
 
 namespace views {
 namespace {
@@ -170,6 +171,9 @@
 }
 
 std::unique_ptr<views::InkDropMask> InkDropHostView::CreateInkDropMask() const {
+  if (gfx::Path* highlight_path = GetProperty(kHighlightPathKey))
+    return std::make_unique<views::PathInkDropMask>(size(), *highlight_path);
+
   return nullptr;
 }
 
diff --git a/ui/views/animation/ink_drop_mask.cc b/ui/views/animation/ink_drop_mask.cc
index a2d2adb3..63c93c6 100644
--- a/ui/views/animation/ink_drop_mask.cc
+++ b/ui/views/animation/ink_drop_mask.cc
@@ -75,4 +75,20 @@
   recorder.canvas()->DrawCircle(mask_center_, mask_radius_, flags);
 }
 
+// PathInkDropMask
+
+PathInkDropMask::PathInkDropMask(const gfx::Size& layer_size,
+                                 const gfx::Path& path)
+    : InkDropMask(layer_size), path_(path) {}
+
+void PathInkDropMask::OnPaintLayer(const ui::PaintContext& context) {
+  cc::PaintFlags flags;
+  flags.setAlpha(255);
+  flags.setStyle(cc::PaintFlags::kFill_Style);
+  flags.setAntiAlias(true);
+
+  ui::PaintRecorder recorder(context, layer()->size());
+  recorder.canvas()->DrawPath(path_, flags);
+}
+
 }  // namespace views
diff --git a/ui/views/animation/ink_drop_mask.h b/ui/views/animation/ink_drop_mask.h
index debfb16..1a3fa87 100644
--- a/ui/views/animation/ink_drop_mask.h
+++ b/ui/views/animation/ink_drop_mask.h
@@ -11,6 +11,7 @@
 #include "ui/gfx/geometry/insets_f.h"
 #include "ui/gfx/geometry/point.h"
 #include "ui/gfx/geometry/rect.h"
+#include "ui/gfx/path.h"
 #include "ui/views/views_export.h"
 
 namespace views {
@@ -33,7 +34,7 @@
   explicit InkDropMask(const gfx::Size& layer_size);
 
  private:
-  // Overriden from ui::LayerDelegate:
+  // ui::LayerDelegate:
   void OnDeviceScaleFactorChanged(float old_device_scale_factor,
                                   float new_device_scale_factor) override;
 
@@ -50,7 +51,7 @@
                        float corner_radius);
 
  private:
-  // Overriden from InkDropMask:
+  // InkDropMask:
   void OnPaintLayer(const ui::PaintContext& context) override;
 
   gfx::InsetsF mask_insets_;
@@ -67,7 +68,7 @@
                     int mask_radius);
 
  private:
-  // Overriden from InkDropMask:
+  // InkDropMask:
   void OnPaintLayer(const ui::PaintContext& context) override;
 
   gfx::Point mask_center_;
@@ -76,6 +77,20 @@
   DISALLOW_COPY_AND_ASSIGN(CircleInkDropMask);
 };
 
+// An ink-drop mask that paints a specified path.
+class VIEWS_EXPORT PathInkDropMask : public InkDropMask {
+ public:
+  PathInkDropMask(const gfx::Size& layer_size, const gfx::Path& path);
+
+ private:
+  // InkDropMask:
+  void OnPaintLayer(const ui::PaintContext& context) override;
+
+  gfx::Path path_;
+
+  DISALLOW_COPY_AND_ASSIGN(PathInkDropMask);
+};
+
 }  // namespace views
 
 #endif  // UI_VIEWS_ANIMATION_INK_DROP_MASK_H_
diff --git a/ui/views/bubble/bubble_frame_view.cc b/ui/views/bubble/bubble_frame_view.cc
index 15830c02..02aa4a0 100644
--- a/ui/views/bubble/bubble_frame_view.cc
+++ b/ui/views/bubble/bubble_frame_view.cc
@@ -33,6 +33,7 @@
 #include "ui/views/layout/layout_provider.h"
 #include "ui/views/paint_info.h"
 #include "ui/views/resources/grit/views_resources.h"
+#include "ui/views/view_properties.h"
 #include "ui/views/widget/widget.h"
 #include "ui/views/widget/widget_delegate.h"
 #include "ui/views/window/client_view.h"
@@ -132,6 +133,11 @@
   close_button->SetTooltipText(l10n_util::GetStringUTF16(IDS_APP_CLOSE));
   close_button->SizeToPreferredSize();
 
+  // Let the close button use a circular inkdrop shape.
+  auto highlight_path = std::make_unique<gfx::Path>();
+  highlight_path->addOval(gfx::RectToSkRect(gfx::Rect(close_button->size())));
+  close_button->SetProperty(kHighlightPathKey, highlight_path.release());
+
   // Remove the close button from tab traversal on all platforms. Note this does
   // not affect screen readers' ability to focus the close button. Keyboard
   // access to the close button when not using a screen reader is done via the
diff --git a/ui/views/cocoa/bridge_factory_impl.mm b/ui/views/cocoa/bridge_factory_impl.mm
index 47f17f6..5861321 100644
--- a/ui/views/cocoa/bridge_factory_impl.mm
+++ b/ui/views/cocoa/bridge_factory_impl.mm
@@ -6,7 +6,7 @@
 
 #include "base/no_destructor.h"
 #include "ui/views/cocoa/bridged_native_widget.h"
-#include "ui/views/cocoa/bridged_native_widget_host.h"
+#include "ui/views_bridge_mac/bridged_native_widget_host_helper.h"
 
 namespace views_bridge_mac {
 
diff --git a/ui/views/cocoa/bridged_content_view.h b/ui/views/cocoa/bridged_content_view.h
index 5843597a..46ee823 100644
--- a/ui/views/cocoa/bridged_content_view.h
+++ b/ui/views/cocoa/bridged_content_view.h
@@ -10,6 +10,7 @@
 #include "base/strings/string16.h"
 #import "ui/base/cocoa/tool_tip_base_view.h"
 #import "ui/base/cocoa/tracking_area.h"
+#include "ui/views/views_export.h"
 
 namespace ui {
 class TextInputClient;
@@ -22,6 +23,7 @@
 // The NSView that sits as the root contentView of the NSWindow, whilst it has
 // a views::RootView present. Bridges requests from Cocoa to the hosted
 // views::View.
+VIEWS_EXPORT
 @interface BridgedContentView : ToolTipBaseView<NSTextInputClient,
                                                 NSUserInterfaceValidations,
                                                 NSDraggingSource,
diff --git a/ui/views/cocoa/bridged_content_view.mm b/ui/views/cocoa/bridged_content_view.mm
index f311338..bf1a9c71 100644
--- a/ui/views/cocoa/bridged_content_view.mm
+++ b/ui/views/cocoa/bridged_content_view.mm
@@ -32,8 +32,8 @@
 #import "ui/gfx/path_mac.h"
 #include "ui/gfx/scoped_ns_graphics_context_save_gstate_mac.h"
 #import "ui/views/cocoa/bridged_native_widget.h"
-#import "ui/views/cocoa/bridged_native_widget_host.h"
 #import "ui/views/cocoa/drag_drop_client_mac.h"
+#include "ui/views_bridge_mac/bridged_native_widget_host_helper.h"
 #include "ui/views_bridge_mac/mojo/bridged_native_widget_host.mojom.h"
 
 namespace {
@@ -69,7 +69,8 @@
 // otherwise be ignored by a ui::TextInputClient when inserted.
 bool IsImeTriggerEvent(NSEvent* event) {
   ui::KeyboardCode key = ui::KeyboardCodeFromNSEvent(event);
-  return key == ui::VKEY_RETURN || key == ui::VKEY_TAB;
+  return key == ui::VKEY_RETURN || key == ui::VKEY_TAB ||
+         key == ui::VKEY_ESCAPE;
 }
 
 // Returns the boundary rectangle for composition characters in the
@@ -823,11 +824,24 @@
 }
 
 - (void)keyDown:(NSEvent*)theEvent {
+  BOOL hadMarkedTextAtKeyDown = [self hasMarkedText];
+
   // Convert the event into an action message, according to OSX key mappings.
   keyDownEvent_ = theEvent;
   hasUnhandledKeyDownEvent_ = YES;
   [self interpretKeyEvents:@[ theEvent ]];
 
+  // When there is marked text, -[NSView interpretKeyEvents:] may handle the
+  // event by dismissing the IME window in a way that neither unmarks text, nor
+  // updates any composition. That is, no signal is given either to the
+  // NSTextInputClient or the NSTextInputContext that the IME changed state.
+  // However, we must ensure this key down is not processed as an accelerator.
+  // TODO(tapted): Investigate removing the IsImeTriggerEvent() check - it's
+  // probably not required, but helps tests that expect some events to always
+  // get processed (i.e. TextfieldTest.TextInputClientTest).
+  if (hadMarkedTextAtKeyDown && IsImeTriggerEvent(theEvent))
+    hasUnhandledKeyDownEvent_ = NO;
+
   // If |keyDownEvent_| wasn't cleared during -interpretKeyEvents:, it wasn't
   // handled. Give Widget accelerators a chance to handle it.
   [self handleUnhandledKeyDownAsKeyEvent];
@@ -1369,6 +1383,12 @@
 - (NSAttributedString*)
     attributedSubstringForProposedRange:(NSRange)range
                             actualRange:(NSRangePointer)actualRange {
+  // On TouchBar Macs, the IME subsystem sometimes sends an invalid range with a
+  // non-zero length. This will cause a DCHECK in gfx::Range, so repair it here.
+  // See https://crbug.com/888782.
+  if (range.location == NSNotFound)
+    range.length = 0;
+
   gfx::Range actual_range;
   base::string16 substring = AttributedSubstringForRangeHelper(
       textInputClient_, gfx::Range(range), &actual_range);
diff --git a/ui/views/cocoa/bridged_native_widget.h b/ui/views/cocoa/bridged_native_widget.h
index f13789b8..20c93f6 100644
--- a/ui/views/cocoa/bridged_native_widget.h
+++ b/ui/views/cocoa/bridged_native_widget.h
@@ -19,10 +19,10 @@
 #include "ui/base/ime/text_input_client.h"
 #include "ui/display/display_observer.h"
 #import "ui/views/cocoa/bridged_native_widget_owner.h"
-#import "ui/views/cocoa/cocoa_mouse_capture_delegate.h"
 #import "ui/views/focus/focus_manager.h"
 #include "ui/views/views_export.h"
 #include "ui/views/widget/widget.h"
+#import "ui/views_bridge_mac/cocoa_mouse_capture_delegate.h"
 #include "ui/views_bridge_mac/mojo/bridged_native_widget.mojom.h"
 
 @class BridgedContentView;
@@ -31,9 +31,14 @@
 @class ViewsNSWindowDelegate;
 
 namespace views_bridge_mac {
+
 namespace mojom {
 class BridgedNativeWidgetHost;
 }  // namespace mojom
+
+class CocoaMouseCapture;
+class BridgedNativeWidgetHostHelper;
+
 }  // namespace views_bridge_mac
 
 namespace views {
@@ -41,13 +46,14 @@
 class BridgedNativeWidgetTestApi;
 }
 
-class BridgedNativeWidgetHostHelper;
-class CocoaMouseCapture;
 class CocoaWindowMoveLoop;
 class DragDropClientMac;
 class View;
 
 using views_bridge_mac::mojom::BridgedNativeWidgetHost;
+using views_bridge_mac::BridgedNativeWidgetHostHelper;
+using views_bridge_mac::CocoaMouseCapture;
+using views_bridge_mac::CocoaMouseCaptureDelegate;
 
 // A bridge to an NSWindow managed by an instance of NativeWidgetMac or
 // DesktopNativeWidgetMac. Serves as a helper class to bridge requests from the
diff --git a/ui/views/cocoa/bridged_native_widget.mm b/ui/views/cocoa/bridged_native_widget.mm
index 2ee3cd89..fafbe54 100644
--- a/ui/views/cocoa/bridged_native_widget.mm
+++ b/ui/views/cocoa/bridged_native_widget.mm
@@ -28,13 +28,13 @@
 #import "ui/gfx/mac/nswindow_frame_controls.h"
 #import "ui/native_theme/native_theme_mac.h"
 #import "ui/views/cocoa/bridged_content_view.h"
-#import "ui/views/cocoa/bridged_native_widget_host.h"
-#import "ui/views/cocoa/cocoa_mouse_capture.h"
 #import "ui/views/cocoa/cocoa_window_move_loop.h"
 #import "ui/views/cocoa/drag_drop_client_mac.h"
 #import "ui/views/cocoa/native_widget_mac_nswindow.h"
 #import "ui/views/cocoa/views_nswindow_delegate.h"
 #import "ui/views/cocoa/widget_owner_nswindow_adapter.h"
+#import "ui/views_bridge_mac/bridged_native_widget_host_helper.h"
+#import "ui/views_bridge_mac/cocoa_mouse_capture.h"
 #include "ui/views_bridge_mac/mojo/bridged_native_widget_host.mojom.h"
 
 using views_bridge_mac::mojom::WindowVisibilityState;
diff --git a/ui/views/cocoa/bridged_native_widget_host_impl.h b/ui/views/cocoa/bridged_native_widget_host_impl.h
index 296da8a..2e08c03 100644
--- a/ui/views/cocoa/bridged_native_widget_host_impl.h
+++ b/ui/views/cocoa/bridged_native_widget_host_impl.h
@@ -15,11 +15,11 @@
 #include "ui/base/ime/input_method_delegate.h"
 #include "ui/compositor/layer_owner.h"
 #include "ui/views/cocoa/bridge_factory_host.h"
-#include "ui/views/cocoa/bridged_native_widget_host.h"
 #include "ui/views/focus/focus_manager.h"
 #include "ui/views/views_export.h"
 #include "ui/views/widget/widget.h"
 #include "ui/views/window/dialog_observer.h"
+#include "ui/views_bridge_mac/bridged_native_widget_host_helper.h"
 #include "ui/views_bridge_mac/mojo/bridged_native_widget.mojom.h"
 #include "ui/views_bridge_mac/mojo/bridged_native_widget_host.mojom.h"
 
@@ -39,7 +39,7 @@
 // communicates to the BridgedNativeWidgetImpl, which interacts with the Cocoa
 // APIs, and which may live in an app shim process.
 class VIEWS_EXPORT BridgedNativeWidgetHostImpl
-    : public BridgedNativeWidgetHostHelper,
+    : public views_bridge_mac::BridgedNativeWidgetHostHelper,
       public BridgeFactoryHost::Observer,
       public views_bridge_mac::mojom::BridgedNativeWidgetHost,
       public DialogObserver,
@@ -172,6 +172,9 @@
   bool IsWindowKey() const { return is_window_key_; }
   bool IsMouseCaptureActive() const { return is_mouse_capture_active_; }
 
+  // Used by NativeWidgetPrivate::GetGlobalCapture.
+  static NSView* GetGlobalCaptureView();
+
  private:
   gfx::Vector2d GetBoundsOffsetForParent() const;
   void UpdateCompositorProperties();
diff --git a/ui/views/cocoa/bridged_native_widget_host_impl.mm b/ui/views/cocoa/bridged_native_widget_host_impl.mm
index 8981355..72405ed 100644
--- a/ui/views/cocoa/bridged_native_widget_host_impl.mm
+++ b/ui/views/cocoa/bridged_native_widget_host_impl.mm
@@ -24,6 +24,7 @@
 #include "ui/views/window/dialog_client_view.h"
 #include "ui/views/window/dialog_delegate.h"
 #include "ui/views/word_lookup_client.h"
+#include "ui/views_bridge_mac/cocoa_mouse_capture.h"
 
 using views_bridge_mac::mojom::BridgedNativeWidgetInitParams;
 using views_bridge_mac::mojom::WindowVisibilityState;
@@ -419,8 +420,14 @@
     RankNSViewsRecursive(view->child_at(i), rank);
 }
 
+// static
+NSView* BridgedNativeWidgetHostImpl::GetGlobalCaptureView() {
+  // TODO(ccameron): This will not work across process boundaries.
+  return [CocoaMouseCapture::GetGlobalCaptureWindow() contentView];
+}
+
 ////////////////////////////////////////////////////////////////////////////////
-// BridgedNativeWidgetHostImpl, views::BridgedNativeWidgetHostHelper:
+// BridgedNativeWidgetHostImpl, views_bridge_mac::BridgedNativeWidgetHostHelper:
 
 NSView* BridgedNativeWidgetHostImpl::GetNativeViewAccessible() {
   return root_view_ ? root_view_->GetNativeViewAccessible() : nil;
diff --git a/ui/views/cocoa/bridged_native_widget_unittest.mm b/ui/views/cocoa/bridged_native_widget_unittest.mm
index e1ac3a8..d607ad8 100644
--- a/ui/views/cocoa/bridged_native_widget_unittest.mm
+++ b/ui/views/cocoa/bridged_native_widget_unittest.mm
@@ -212,12 +212,15 @@
 
 }  // namespace
 
-// Class to hook [NSView interpretKeyEvents:] to simulate it interacting with an
-// IME window.
-@interface InterpretKeyEventsDonorForNSView : NSView
+// Subclass of BridgedContentView with an override of interpretKeyEvents:. Note
+// the size of the class must match BridgedContentView since the method table
+// is swapped out at runtime. This is basically a mock, but mocks are banned
+// under ui/views. Method swizzling causes these tests to flake when
+// parallelized in the same process.
+@interface InterpretKeyEventMockedBridgedContentView : BridgedContentView
 @end
 
-@implementation InterpretKeyEventsDonorForNSView
+@implementation InterpretKeyEventMockedBridgedContentView
 
 - (void)interpretKeyEvents:(NSArray<NSEvent*>*)eventArray {
   ASSERT_TRUE(g_fake_interpret_key_events);
@@ -492,6 +495,23 @@
   DISALLOW_COPY_AND_ASSIGN(BridgedNativeWidgetTest);
 };
 
+// Class that counts occurrences of a VKEY_RETURN accelerator, marking them
+// processed.
+class EnterAcceleratorView : public View {
+ public:
+  EnterAcceleratorView() { AddAccelerator({ui::VKEY_RETURN, 0}); }
+  int count() const { return count_; }
+
+  // View:
+  bool AcceleratorPressed(const ui::Accelerator& accelerator) override {
+    ++count_;
+    return true;
+  }
+
+ private:
+  int count_ = 0;
+};
+
 BridgedNativeWidgetTest::BridgedNativeWidgetTest()
     : scoped_task_environment_(
           base::test::ScopedTaskEnvironment::MainThreadType::UI) {}
@@ -1086,6 +1106,7 @@
       widget_->GetNativeWindow(), true, ui::VKEY_A, 0));
   [ns_view_ insertText:@"a" replacementRange:EmptyRange()];
   [dummy_text_view_ insertText:@"a" replacementRange:EmptyRange()];
+  SetKeyDownEvent(nil);
   EXPECT_EQ_3(NO, [dummy_text_view_ hasMarkedText], [ns_view_ hasMarkedText]);
   EXPECT_NSEQ_3(@"abca", GetExpectedText(), GetActualText());
 
@@ -1100,6 +1121,7 @@
   [dummy_text_view_ setMarkedText:@"à"
                     selectedRange:NSMakeRange(0, 1)
                  replacementRange:NSMakeRange(3, 1)];
+  SetKeyDownEvent(nil);
   EXPECT_EQ_3(YES, [dummy_text_view_ hasMarkedText], [ns_view_ hasMarkedText]);
   EXPECT_EQ_RANGE_3(NSMakeRange(3, 1), [dummy_text_view_ markedRange],
                     [ns_view_ markedRange]);
@@ -1112,6 +1134,7 @@
       widget_->GetNativeWindow(), true, ui::VKEY_RETURN, 0));
   [ns_view_ insertText:@"à" replacementRange:EmptyRange()];
   [dummy_text_view_ insertText:@"à" replacementRange:EmptyRange()];
+  SetKeyDownEvent(nil);
   EXPECT_EQ_3(NO, [dummy_text_view_ hasMarkedText], [ns_view_ hasMarkedText]);
   EXPECT_EQ_RANGE_3(NSMakeRange(4, 0), GetExpectedSelectionRange(),
                     GetActualSelectionRange());
@@ -1411,9 +1434,7 @@
   Textfield* textfield = InstallTextField("");
   EXPECT_TRUE([ns_view_ textInputClient]);
 
-  base::mac::ScopedObjCClassSwizzler interpret_key_events_swizzler(
-      [NSView class], [InterpretKeyEventsDonorForNSView class],
-      @selector(interpretKeyEvents:));
+  object_setClass(ns_view_, [InterpretKeyEventMockedBridgedContentView class]);
 
   // Sequence of calls (and corresponding keyDown events) obtained via tracing
   // with 2-Set Korean IME and pressing q, o, then Enter on the keyboard.
@@ -1479,6 +1500,136 @@
   g_fake_interpret_key_events = nullptr;
 }
 
+// Simulate 'a', Enter in Hiragana. This should just insert "あ", suppressing
+// accelerators.
+TEST_F(BridgedNativeWidgetTest, TextInput_NoAcceleratorEnterComposition) {
+  Textfield* textfield = InstallTextField("");
+  EXPECT_TRUE([ns_view_ textInputClient]);
+
+  EnterAcceleratorView* enter_view = new EnterAcceleratorView();
+  textfield->parent()->AddChildView(enter_view);
+
+  // Sequence of calls (and corresponding keyDown events) obtained via tracing
+  // with Hiragana IME and pressing 'a', then Enter on the keyboard.
+  NSEvent* a_in_ime = cocoa_test_event_utils::KeyEventWithKeyCode(
+      0, [@"a" characterAtIndex:0], NSKeyDown, 0);
+  InterpretKeyEventsCallback handle_a_in_ime = base::BindRepeating([](id view) {
+    // TODO(crbug/612675): |text| should be an NSAttributedString.
+    [view setMarkedText:@"あ"
+           selectedRange:NSMakeRange(1, 0)
+        replacementRange:NSMakeRange(NSNotFound, 0)];
+  });
+
+  NSEvent* return_event = cocoa_test_event_utils::SynthesizeKeyEvent(
+      widget_->GetNativeWindow(), true, ui::VKEY_RETURN, 0);
+  InterpretKeyEventsCallback handle_return_in_ime =
+      base::BindRepeating([](id view) {
+        [view insertText:@"あ" replacementRange:NSMakeRange(NSNotFound, 0)];
+      });
+
+  EXPECT_EQ(base::UTF8ToUTF16(""), textfield->text());
+  EXPECT_EQ(0, enter_view->count());
+
+  object_setClass(ns_view_, [InterpretKeyEventMockedBridgedContentView class]);
+  g_fake_interpret_key_events = &handle_a_in_ime;
+  [ns_view_ keyDown:a_in_ime];
+  EXPECT_EQ(base::SysNSStringToUTF16(@"あ"), textfield->text());
+  EXPECT_EQ(0, enter_view->count());
+
+  g_fake_interpret_key_events = &handle_return_in_ime;
+  [ns_view_ keyDown:return_event];
+  EXPECT_EQ(base::SysNSStringToUTF16(@"あ"), textfield->text());
+  EXPECT_EQ(0, enter_view->count());  // Not seen as an accelerator.
+
+  // IME Window is dismissed here and there is no marked text, so remove the
+  // swizzler.
+  object_setClass(ns_view_, [BridgedContentView class]);
+
+  [ns_view_ keyDown:return_event];  // Sanity check: send Enter again.
+  EXPECT_EQ(base::SysNSStringToUTF16(@"あ"), textfield->text());  // No change.
+  EXPECT_EQ(1, enter_view->count());  // Now we see the accelerator.
+}
+
+// Simulate 'a', Tab, Enter, Enter in Hiragana. This should just insert "a",
+// suppressing accelerators.
+TEST_F(BridgedNativeWidgetTest, TextInput_NoAcceleratorTabEnterComposition) {
+  Textfield* textfield = InstallTextField("");
+  EXPECT_TRUE([ns_view_ textInputClient]);
+
+  EnterAcceleratorView* enter_view = new EnterAcceleratorView();
+  textfield->parent()->AddChildView(enter_view);
+
+  // Sequence of calls (and corresponding keyDown events) obtained via tracing
+  // with Hiragana IME and pressing 'a', Tab, then Enter on the keyboard.
+  NSEvent* a_in_ime = cocoa_test_event_utils::KeyEventWithKeyCode(
+      0, [@"a" characterAtIndex:0], NSKeyDown, 0);
+  InterpretKeyEventsCallback handle_a_in_ime = base::BindRepeating([](id view) {
+    // TODO(crbug/612675): |text| should have an underline.
+    [view setMarkedText:@"あ"
+           selectedRange:NSMakeRange(1, 0)
+        replacementRange:NSMakeRange(NSNotFound, 0)];
+  });
+
+  NSEvent* tab_in_ime = cocoa_test_event_utils::SynthesizeKeyEvent(
+      widget_->GetNativeWindow(), true, ui::VKEY_TAB, 0);
+  InterpretKeyEventsCallback handle_tab_in_ime =
+      base::BindRepeating([](id view) {
+        // TODO(crbug/612675): |text| should be an NSAttributedString (now with
+        // a different underline color).
+        [view setMarkedText:@"a"
+               selectedRange:NSMakeRange(0, 1)
+            replacementRange:NSMakeRange(NSNotFound, 0)];
+      });
+
+  NSEvent* return_event = cocoa_test_event_utils::SynthesizeKeyEvent(
+      widget_->GetNativeWindow(), true, ui::VKEY_RETURN, 0);
+  InterpretKeyEventsCallback handle_first_return_in_ime =
+      base::BindRepeating([](id view) {
+        // Do *nothing*. Enter does not confirm nor change the composition, it
+        // just dismisses the IME window, leaving the text marked.
+      });
+  InterpretKeyEventsCallback handle_second_return_in_ime =
+      base::BindRepeating([](id view) {
+        // The second return will confirm the composition.
+        [view insertText:@"a" replacementRange:NSMakeRange(NSNotFound, 0)];
+      });
+
+  EXPECT_EQ(base::UTF8ToUTF16(""), textfield->text());
+  EXPECT_EQ(0, enter_view->count());
+
+  object_setClass(ns_view_, [InterpretKeyEventMockedBridgedContentView class]);
+  g_fake_interpret_key_events = &handle_a_in_ime;
+  [ns_view_ keyDown:a_in_ime];
+  EXPECT_EQ(base::SysNSStringToUTF16(@"あ"), textfield->text());
+  EXPECT_EQ(0, enter_view->count());
+
+  g_fake_interpret_key_events = &handle_tab_in_ime;
+  [ns_view_ keyDown:tab_in_ime];
+  // Tab will switch to a Romanji (Latin) character.
+  EXPECT_EQ(base::SysNSStringToUTF16(@"a"), textfield->text());
+  EXPECT_EQ(0, enter_view->count());
+
+  g_fake_interpret_key_events = &handle_first_return_in_ime;
+  [ns_view_ keyDown:return_event];
+  // Enter just dismisses the IME window. The composition is still active.
+  EXPECT_EQ(base::SysNSStringToUTF16(@"a"), textfield->text());
+  EXPECT_EQ(0, enter_view->count());  // Not seen as an accelerator.
+
+  g_fake_interpret_key_events = &handle_second_return_in_ime;
+  [ns_view_ keyDown:return_event];
+  // Enter now confirms the composition (unmarks text). Note there is still no
+  // IME window visible but, since there is marked text, IME is still active.
+  EXPECT_EQ(base::SysNSStringToUTF16(@"a"), textfield->text());
+  EXPECT_EQ(0, enter_view->count());  // Not seen as an accelerator.
+
+  // No marked text, no IME window. We could remove the swizzler here, but
+  // that is equivalent to the "do nothing" case, so set than handler again.
+  g_fake_interpret_key_events = &handle_first_return_in_ime;
+  [ns_view_ keyDown:return_event];  // Send Enter a _third_ time.
+  EXPECT_EQ(base::SysNSStringToUTF16(@"a"), textfield->text());  // No change.
+  EXPECT_EQ(1, enter_view->count());  // Now we see the accelerator.
+}
+
 // Test a codepath that could hypothetically cause [NSApp updateWindows] to be
 // called recursively due to IME dismissal during teardown triggering a focus
 // change. Twice.
@@ -1486,9 +1637,7 @@
   Textfield* textfield = InstallTextField("");
   EXPECT_TRUE([ns_view_ textInputClient]);
 
-  base::mac::ScopedObjCClassSwizzler interpret_key_events_swizzler(
-      [NSView class], [InterpretKeyEventsDonorForNSView class],
-      @selector(interpretKeyEvents:));
+  object_setClass(ns_view_, [InterpretKeyEventMockedBridgedContentView class]);
   base::mac::ScopedObjCClassSwizzler update_windows_swizzler(
       [NSApplication class], [UpdateWindowsDonorForNSApp class],
       @selector(updateWindows));
diff --git a/ui/views/cocoa/cocoa_mouse_capture_unittest.mm b/ui/views/cocoa/cocoa_mouse_capture_unittest.mm
index 47235a7f..295e061 100644
--- a/ui/views/cocoa/cocoa_mouse_capture_unittest.mm
+++ b/ui/views/cocoa/cocoa_mouse_capture_unittest.mm
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#import "ui/views/cocoa/cocoa_mouse_capture.h"
+#import "ui/views_bridge_mac/cocoa_mouse_capture.h"
 
 #import <Cocoa/Cocoa.h>
 
@@ -10,7 +10,7 @@
 #include "base/macros.h"
 #import "ui/base/test/cocoa_helper.h"
 #import "ui/events/test/cocoa_test_event_utils.h"
-#import "ui/views/cocoa/cocoa_mouse_capture_delegate.h"
+#import "ui/views_bridge_mac/cocoa_mouse_capture_delegate.h"
 
 // Simple test view that counts calls to -[NSView mouseDown:].
 @interface CocoaMouseCaptureTestView : NSView {
@@ -30,7 +30,7 @@
 
 @end
 
-namespace views {
+namespace views_bridge_mac {
 namespace {
 
 // Simple capture delegate that just counts events forwarded.
@@ -128,4 +128,4 @@
   EXPECT_EQ(2, [view mouseDownCount]);
 }
 
-}  // namespace views
+}  // namespace views_bridge_mac
diff --git a/ui/views/cocoa/native_widget_mac_nswindow.mm b/ui/views/cocoa/native_widget_mac_nswindow.mm
index df740b1..7af14d0 100644
--- a/ui/views/cocoa/native_widget_mac_nswindow.mm
+++ b/ui/views/cocoa/native_widget_mac_nswindow.mm
@@ -9,10 +9,10 @@
 #import "ui/base/cocoa/user_interface_item_command_handler.h"
 #import "ui/base/cocoa/window_size_constants.h"
 #import "ui/views/cocoa/bridged_native_widget.h"
-#import "ui/views/cocoa/bridged_native_widget_host.h"
 #import "ui/views/cocoa/views_nswindow_delegate.h"
 #import "ui/views/cocoa/window_touch_bar_delegate.h"
 #include "ui/views/controls/menu/menu_controller.h"
+#include "ui/views_bridge_mac/bridged_native_widget_host_helper.h"
 #include "ui/views_bridge_mac/mojo/bridged_native_widget_host.mojom.h"
 
 @interface NSWindow (Private)
diff --git a/ui/views/cocoa/views_nswindow_delegate.mm b/ui/views/cocoa/views_nswindow_delegate.mm
index 3615c0b..24ab2be 100644
--- a/ui/views/cocoa/views_nswindow_delegate.mm
+++ b/ui/views/cocoa/views_nswindow_delegate.mm
@@ -9,7 +9,7 @@
 #include "base/threading/thread_task_runner_handle.h"
 #import "ui/views/cocoa/bridged_content_view.h"
 #import "ui/views/cocoa/bridged_native_widget.h"
-#include "ui/views/cocoa/bridged_native_widget_host.h"
+#include "ui/views_bridge_mac/bridged_native_widget_host_helper.h"
 #include "ui/views_bridge_mac/mojo/bridged_native_widget_host.mojom.h"
 
 @implementation ViewsNSWindowDelegate
diff --git a/ui/views/controls/focus_ring.cc b/ui/views/controls/focus_ring.cc
index 148c22ae..bc95975 100644
--- a/ui/views/controls/focus_ring.cc
+++ b/ui/views/controls/focus_ring.cc
@@ -7,6 +7,7 @@
 #include "ui/gfx/canvas.h"
 #include "ui/views/controls/focusable_border.h"
 #include "ui/views/style/platform_style.h"
+#include "ui/views/view_properties.h"
 
 namespace {
 
@@ -79,6 +80,11 @@
   paint.setStrokeWidth(PlatformStyle::kFocusHaloThickness);
 
   SkPath path = path_;
+  if (path.isEmpty()) {
+    gfx::Path* highlight_path = parent()->GetProperty(kHighlightPathKey);
+    if (highlight_path)
+      path = *highlight_path;
+  }
   if (path.isEmpty())
     path.addRect(RectToSkRect(parent()->GetLocalBounds()));
 
diff --git a/ui/views/controls/focus_ring.h b/ui/views/controls/focus_ring.h
index a608042..a5a62705 100644
--- a/ui/views/controls/focus_ring.h
+++ b/ui/views/controls/focus_ring.h
@@ -58,6 +58,7 @@
   // view's coordinate system, *not* in the FocusRing's coordinate system. Note
   // that this path will not be mirrored in RTL, so your View's computation of
   // it should take RTL into account.
+  // TODO(pbos): Replace calls with setting kHighlightPathKey on the parent.
   void SetPath(const SkPath& path);
 
   // Sets whether the FocusRing should show an invalid state for the View it
diff --git a/ui/views/controls/menu/menu_config_win.cc b/ui/views/controls/menu/menu_config_win.cc
index 6048ee0..15f168d 100644
--- a/ui/views/controls/menu/menu_config_win.cc
+++ b/ui/views/controls/menu/menu_config_win.cc
@@ -12,6 +12,7 @@
 #include "base/win/scoped_gdi_object.h"
 #include "base/win/win_client_metrics.h"
 #include "ui/base/l10n/l10n_util_win.h"
+#include "ui/display/win/dpi.h"
 #include "ui/gfx/color_utils.h"
 #include "ui/native_theme/native_theme_win.h"
 
@@ -24,6 +25,7 @@
 
   NONCLIENTMETRICS_XP metrics;
   base::win::GetNonClientMetrics(&metrics);
+  display::win::AdjustFontForAccessibility(&metrics.lfMenuFont);
   l10n_util::AdjustUIFont(&(metrics.lfMenuFont));
   {
     base::win::ScopedHFONT new_font(CreateFontIndirect(&metrics.lfMenuFont));
diff --git a/ui/views/controls/menu/menu_item_view.cc b/ui/views/controls/menu/menu_item_view.cc
index 6c007a1..dc3228c2 100644
--- a/ui/views/controls/menu/menu_item_view.cc
+++ b/ui/views/controls/menu/menu_item_view.cc
@@ -155,7 +155,18 @@
 }
 
 void MenuItemView::GetAccessibleNodeData(ui::AXNodeData* node_data) {
-  node_data->role = ax::mojom::Role::kMenuItem;
+  // Set the role based on the type of menu item.
+  switch (GetType()) {
+    case CHECKBOX:
+      node_data->role = ax::mojom::Role::kMenuItemCheckBox;
+      break;
+    case RADIO:
+      node_data->role = ax::mojom::Role::kMenuItemRadio;
+      break;
+    default:
+      node_data->role = ax::mojom::Role::kMenuItem;
+      break;
+  }
 
   base::string16 item_text;
   if (IsContainer()) {
diff --git a/ui/views/controls/textfield/textfield_unittest.cc b/ui/views/controls/textfield/textfield_unittest.cc
index 9237529..f8a8292 100644
--- a/ui/views/controls/textfield/textfield_unittest.cc
+++ b/ui/views/controls/textfield/textfield_unittest.cc
@@ -575,6 +575,15 @@
     }
   }
 
+  // Send a key to trigger MockInputMethod::DispatchKeyEvent(). Note the
+  // specific VKEY isn't used (MockInputMethod will mock a ui::VKEY_PROCESSKEY
+  // whenever it has a test composition). However, on Mac, it can't be a letter
+  // (e.g. VKEY_A) since all native character events on Mac are unicode events
+  // and don't have a meaningful ui::KeyEvent that would trigger
+  // DispatchKeyEvent(). It also can't be VKEY_ENTER, since those key events may
+  // need to be suppressed when interacting with real system IME.
+  void DispatchMockInputMethodKeyEvent() { SendKeyEvent(ui::VKEY_INSERT); }
+
   // Sends a platform-specific move (and select) to the logical start of line.
   // Eg. this should move (and select) to the right end of line for RTL text.
   void SendHomeEvent(bool shift) {
@@ -2001,14 +2010,7 @@
   textfield_->clear();
 
   on_before_user_action_ = on_after_user_action_ = 0;
-
-  // Send a key to trigger MockInputMethod::DispatchKeyEvent(). Note the
-  // specific VKEY isn't used (MockInputMethod will mock a ui::VKEY_PROCESSKEY
-  // whenever it has a test composition). However, on Mac, it can't be a letter
-  // (e.g. VKEY_A) since all native character events on Mac are unicode events
-  // and don't have a meaningful ui::KeyEvent that would trigger
-  // DispatchKeyEvent().
-  SendKeyEvent(ui::VKEY_RETURN);
+  DispatchMockInputMethodKeyEvent();
 
   EXPECT_TRUE(textfield_->key_received());
   EXPECT_FALSE(textfield_->key_handled());
@@ -2022,7 +2024,7 @@
   input_method_->SetResultTextForNextKey(UTF8ToUTF16("123"));
   on_before_user_action_ = on_after_user_action_ = 0;
   textfield_->clear();
-  SendKeyEvent(ui::VKEY_RETURN);
+  DispatchMockInputMethodKeyEvent();
   EXPECT_TRUE(textfield_->key_received());
   EXPECT_FALSE(textfield_->key_handled());
   EXPECT_FALSE(client->HasCompositionText());
@@ -2034,7 +2036,7 @@
   input_method_->Clear();
   input_method_->SetCompositionTextForNextKey(composition);
   textfield_->clear();
-  SendKeyEvent(ui::VKEY_RETURN);
+  DispatchMockInputMethodKeyEvent();
   EXPECT_TRUE(client->HasCompositionText());
   EXPECT_STR_EQ("0123321456789", textfield_->text());
 
diff --git a/ui/views/view_properties.cc b/ui/views/view_properties.cc
index e55acc0..2f4f54e 100644
--- a/ui/views/view_properties.cc
+++ b/ui/views/view_properties.cc
@@ -20,6 +20,8 @@
 DEFINE_EXPORTED_UI_CLASS_PROPERTY_TYPE(VIEWS_EXPORT,
                                        views::BubbleDialogDelegateView*);
 
+DEFINE_EXPORTED_UI_CLASS_PROPERTY_TYPE(VIEWS_EXPORT, gfx::Path*);
+
 namespace views {
 
 DEFINE_UI_CLASS_PROPERTY_KEY(int, kHitTestComponentKey, HTNOWHERE);
@@ -27,5 +29,6 @@
 DEFINE_UI_CLASS_PROPERTY_KEY(views::BubbleDialogDelegateView*,
                              kAnchoredDialogKey,
                              nullptr);
+DEFINE_OWNED_UI_CLASS_PROPERTY_KEY(gfx::Path, kHighlightPathKey, nullptr);
 
 }  // namespace views
diff --git a/ui/views/view_properties.h b/ui/views/view_properties.h
index 2896ee9..16b9b06 100644
--- a/ui/views/view_properties.h
+++ b/ui/views/view_properties.h
@@ -10,6 +10,7 @@
 
 namespace gfx {
 class Insets;
+class Path;
 }  // namespace gfx
 
 namespace views {
@@ -30,6 +31,12 @@
 VIEWS_EXPORT extern const ui::ClassProperty<BubbleDialogDelegateView*>* const
     kAnchoredDialogKey;
 
+// A property to store a highlight path related to the view. This is nominally
+// used by the default inkdrop and focus ring that are both used to highlight
+// the view in different ways.
+VIEWS_EXPORT extern const ui::ClassProperty<gfx::Path*>* const
+    kHighlightPathKey;
+
 }  // namespace views
 
 // Declaring the template specialization here to make sure that the
diff --git a/ui/views/widget/native_widget_aura.cc b/ui/views/widget/native_widget_aura.cc
index e666101..85787ad 100644
--- a/ui/views/widget/native_widget_aura.cc
+++ b/ui/views/widget/native_widget_aura.cc
@@ -59,6 +59,7 @@
 #include "base/win/scoped_gdi_object.h"
 #include "base/win/win_client_metrics.h"
 #include "ui/base/l10n/l10n_util_win.h"
+#include "ui/display/win/dpi.h"
 #include "ui/views/widget/desktop_aura/desktop_window_tree_host_win.h"
 #endif
 
@@ -1228,6 +1229,7 @@
 #if defined(OS_WIN)
   NONCLIENTMETRICS_XP ncm;
   base::win::GetNonClientMetrics(&ncm);
+  display::win::AdjustFontForAccessibility(&(ncm.lfCaptionFont));
   l10n_util::AdjustUIFont(&(ncm.lfCaptionFont));
   base::win::ScopedHFONT caption_font(CreateFontIndirect(&(ncm.lfCaptionFont)));
   return gfx::FontList(gfx::Font(caption_font.get()));
diff --git a/ui/views/widget/native_widget_mac.mm b/ui/views/widget/native_widget_mac.mm
index 96946fd..3fa4df8 100644
--- a/ui/views/widget/native_widget_mac.mm
+++ b/ui/views/widget/native_widget_mac.mm
@@ -27,7 +27,6 @@
 #import "ui/views/cocoa/bridged_content_view.h"
 #import "ui/views/cocoa/bridged_native_widget.h"
 #import "ui/views/cocoa/bridged_native_widget_host_impl.h"
-#include "ui/views/cocoa/cocoa_mouse_capture.h"
 #import "ui/views/cocoa/drag_drop_client_mac.h"
 #import "ui/views/cocoa/native_widget_mac_nswindow.h"
 #import "ui/views/cocoa/views_nswindow_delegate.h"
@@ -826,7 +825,7 @@
 // static
 gfx::NativeView NativeWidgetPrivate::GetGlobalCapture(
     gfx::NativeView native_view) {
-  return [CocoaMouseCapture::GetGlobalCaptureWindow() contentView];
+  return BridgedNativeWidgetHostImpl::GetGlobalCaptureView();
 }
 
 }  // namespace internal
diff --git a/ui/views_bridge_mac/BUILD.gn b/ui/views_bridge_mac/BUILD.gn
index 216818e..30af4801 100644
--- a/ui/views_bridge_mac/BUILD.gn
+++ b/ui/views_bridge_mac/BUILD.gn
@@ -4,6 +4,26 @@
 
 import("//mojo/public/tools/bindings/mojom.gni")
 
+component("views_bridge_mac") {
+  assert(is_mac)
+
+  sources = [
+    "bridged_native_widget_host_helper.h",
+    "cocoa_mouse_capture.h",
+    "cocoa_mouse_capture.mm",
+    "cocoa_mouse_capture_delegate.h",
+    "views_bridge_mac_export.h",
+  ]
+  defines = [ "VIEWS_BRIDGE_MAC_IMPLEMENTATION" ]
+  deps = [
+    "//base",
+    "//ui/base",
+    "//ui/events",
+    "//ui/gfx",
+  ]
+  libs = [ "Cocoa.framework" ]
+}
+
 mojom("mojo") {
   assert(is_mac)
 
diff --git a/ui/views_bridge_mac/DEPS b/ui/views_bridge_mac/DEPS
index b51da65..5022afb 100644
--- a/ui/views_bridge_mac/DEPS
+++ b/ui/views_bridge_mac/DEPS
@@ -1,4 +1,5 @@
 include_rules = [
   "+ui/base",
+  "+ui/events",
   "+ui/gfx",
 ]
diff --git a/ui/views/cocoa/bridged_native_widget_host.h b/ui/views_bridge_mac/bridged_native_widget_host_helper.h
similarity index 85%
rename from ui/views/cocoa/bridged_native_widget_host.h
rename to ui/views_bridge_mac/bridged_native_widget_host_helper.h
index cdf6536..39457d5 100644
--- a/ui/views/cocoa/bridged_native_widget_host.h
+++ b/ui/views_bridge_mac/bridged_native_widget_host_helper.h
@@ -2,24 +2,24 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef UI_VIEWS_COCOA_BRIDGED_NATIVE_WIDGET_HOST_H_
-#define UI_VIEWS_COCOA_BRIDGED_NATIVE_WIDGET_HOST_H_
+#ifndef UI_VIEWS_BRIDGE_MAC_BRIDGED_NATIVE_WIDGET_HOST_HELPER_H_
+#define UI_VIEWS_BRIDGE_MAC_BRIDGED_NATIVE_WIDGET_HOST_HELPER_H_
 
 #include "ui/base/ui_base_types.h"
 #include "ui/events/event_utils.h"
 #include "ui/gfx/decorated_text.h"
 #include "ui/gfx/geometry/point.h"
-#include "ui/views/views_export.h"
+#include "ui/views_bridge_mac/views_bridge_mac_export.h"
 
 @class NSView;
 
-namespace views {
+namespace views_bridge_mac {
 
 // This is a helper class for the mojo interface BridgedNativeWidgetHost.
 // This provides an easier-to-use interface than the mojo for selected
 // functions. It also is temporarily exposing functionality that is not yet
 // implemented over mojo.
-class VIEWS_EXPORT BridgedNativeWidgetHostHelper {
+class VIEWS_BRIDGE_MAC_EXPORT BridgedNativeWidgetHostHelper {
  public:
   virtual ~BridgedNativeWidgetHostHelper() = default;
 
@@ -56,6 +56,6 @@
   virtual double SheetPositionY() = 0;
 };
 
-}  // namespace views
+}  // namespace views_bridge_mac
 
-#endif  // UI_VIEWS_COCOA_BRIDGED_NATIVE_WIDGET_HOST_H_
+#endif  // UI_VIEWS_BRIDGE_MAC_BRIDGED_NATIVE_WIDGET_HOST_HELPER_H_
diff --git a/ui/views/cocoa/cocoa_mouse_capture.h b/ui/views_bridge_mac/cocoa_mouse_capture.h
similarity index 84%
rename from ui/views/cocoa/cocoa_mouse_capture.h
rename to ui/views_bridge_mac/cocoa_mouse_capture.h
index 9b170e4..5ac379b 100644
--- a/ui/views/cocoa/cocoa_mouse_capture.h
+++ b/ui/views_bridge_mac/cocoa_mouse_capture.h
@@ -2,17 +2,17 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef UI_VIEWS_COCOA_COCOA_MOUSE_CAPTURE_H_
-#define UI_VIEWS_COCOA_COCOA_MOUSE_CAPTURE_H_
+#ifndef UI_VIEWS_BRIDGE_MAC_COCOA_MOUSE_CAPTURE_H_
+#define UI_VIEWS_BRIDGE_MAC_COCOA_MOUSE_CAPTURE_H_
 
 #include <memory>
 
 #include "base/macros.h"
-#include "ui/views/views_export.h"
+#include "ui/views_bridge_mac/views_bridge_mac_export.h"
 
 @class NSWindow;
 
-namespace views {
+namespace views_bridge_mac {
 
 class CocoaMouseCaptureDelegate;
 
@@ -21,7 +21,7 @@
 // menu should dismiss the menu and "swallow" the mouse event. All events are
 // forwarded, but only events to the same application are "swallowed", which is
 // consistent with how native NSMenus behave.
-class VIEWS_EXPORT CocoaMouseCapture {
+class VIEWS_BRIDGE_MAC_EXPORT CocoaMouseCapture {
  public:
   explicit CocoaMouseCapture(CocoaMouseCaptureDelegate* delegate);
   ~CocoaMouseCapture();
@@ -48,6 +48,6 @@
   DISALLOW_COPY_AND_ASSIGN(CocoaMouseCapture);
 };
 
-}  // namespace views
+}  // namespace views_bridge_mac
 
 #endif  // UI_VIEWS_COCOA_COCOA_MOUSE_CAPTURE_H_
diff --git a/ui/views/cocoa/cocoa_mouse_capture.mm b/ui/views_bridge_mac/cocoa_mouse_capture.mm
similarity index 95%
rename from ui/views/cocoa/cocoa_mouse_capture.mm
rename to ui/views_bridge_mac/cocoa_mouse_capture.mm
index b1f3cb21..21f538b1 100644
--- a/ui/views/cocoa/cocoa_mouse_capture.mm
+++ b/ui/views_bridge_mac/cocoa_mouse_capture.mm
@@ -2,16 +2,16 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#import "ui/views/cocoa/cocoa_mouse_capture.h"
+#import "ui/views_bridge_mac/cocoa_mouse_capture.h"
 
 #import <Cocoa/Cocoa.h>
 
 #include "base/logging.h"
 #include "base/macros.h"
 #include "ui/base/cocoa/weak_ptr_nsobject.h"
-#import "ui/views/cocoa/cocoa_mouse_capture_delegate.h"
+#import "ui/views_bridge_mac/cocoa_mouse_capture_delegate.h"
 
-namespace views {
+namespace views_bridge_mac {
 
 // The ActiveEventTap is a RAII handle on the resources being used to capture
 // events. There is either 0 or 1 active instance of this class. If a second
@@ -125,4 +125,4 @@
   active_handle_.reset();
 }
 
-}  // namespace views
+}  // namespace views_bridge_mac
diff --git a/ui/views/cocoa/cocoa_mouse_capture_delegate.h b/ui/views_bridge_mac/cocoa_mouse_capture_delegate.h
similarity index 76%
rename from ui/views/cocoa/cocoa_mouse_capture_delegate.h
rename to ui/views_bridge_mac/cocoa_mouse_capture_delegate.h
index 9e6d2a0..41093fa 100644
--- a/ui/views/cocoa/cocoa_mouse_capture_delegate.h
+++ b/ui/views_bridge_mac/cocoa_mouse_capture_delegate.h
@@ -2,13 +2,13 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef UI_VIEWS_COCOA_COCOA_MOUSE_CAPTURE_DELEGATE_H_
-#define UI_VIEWS_COCOA_COCOA_MOUSE_CAPTURE_DELEGATE_H_
+#ifndef UI_VIEWS_BRIDGE_MAC_COCOA_MOUSE_CAPTURE_DELEGATE_H_
+#define UI_VIEWS_BRIDGE_MAC_COCOA_MOUSE_CAPTURE_DELEGATE_H_
 
 @class NSEvent;
 @class NSWindow;
 
-namespace views {
+namespace views_bridge_mac {
 
 // Delegate for receiving captured events from a CocoaMouseCapture.
 class CocoaMouseCaptureDelegate {
@@ -26,6 +26,6 @@
   virtual NSWindow* GetWindow() const = 0;
 };
 
-}  // namespace views
+}  // namespace views_bridge_mac
 
-#endif  // UI_VIEWS_COCOA_COCOA_MOUSE_CAPTURE_DELEGATE_H_
+#endif  // UI_VIEWS_BRIDGE_MAC_COCOA_MOUSE_CAPTURE_DELEGATE_H_
diff --git a/ui/views_bridge_mac/views_bridge_mac_export.h b/ui/views_bridge_mac/views_bridge_mac_export.h
new file mode 100644
index 0000000..6a44a0d
--- /dev/null
+++ b/ui/views_bridge_mac/views_bridge_mac_export.h
@@ -0,0 +1,32 @@
+// Copyright 2018 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef UI_VIEWS_BRIDGE_MAC_VIEWS_BRIDGE_MAC_EXPORT_H_
+#define UI_VIEWS_BRIDGE_MAC_VIEWS_BRIDGE_MAC_EXPORT_H_
+
+// Defines VIEWS_BRIDGE_MAC_EXPORT so that functionality implemented by the
+// RemoteMacViews module can be exported to consumers.
+
+#if defined(COMPONENT_BUILD)
+#if defined(WIN32)
+
+#if defined(VIEWS_BRIDGE_MAC_IMPLEMENTATION)
+#define VIEWS_BRIDGE_MAC_EXPORT __declspec(dllexport)
+#else
+#define VIEWS_BRIDGE_MAC_EXPORT __declspec(dllimport)
+#endif  // defined(VIEWS_BRIDGE_MAC_IMPLEMENTATION)
+
+#else  // defined(WIN32)
+#if defined(VIEWS_BRIDGE_MAC_IMPLEMENTATION)
+#define VIEWS_BRIDGE_MAC_EXPORT __attribute__((visibility("default")))
+#else
+#define VIEWS_BRIDGE_MAC_EXPORT
+#endif
+#endif
+
+#else  // defined(COMPONENT_BUILD)
+#define VIEWS_BRIDGE_MAC_EXPORT
+#endif
+
+#endif  // UI_VIEWS_BRIDGE_MAC_VIEWS_BRIDGE_MAC_EXPORT_H_
diff --git a/ui/webui/resources/cr_components/chromeos/multidevice_setup/button_bar.html b/ui/webui/resources/cr_components/chromeos/multidevice_setup/button_bar.html
index c8b54ab..e107dd2 100644
--- a/ui/webui/resources/cr_components/chromeos/multidevice_setup/button_bar.html
+++ b/ui/webui/resources/cr_components/chromeos/multidevice_setup/button_bar.html
@@ -9,12 +9,12 @@
   <template>
     <style include="multidevice-setup-shared">
       :host {
-        @apply(--layout-end-justified);
-        @apply(--layout-horizontal);
+        @apply --layout-end-justified;
+        @apply --layout-horizontal;
       }
 
       paper-button {
-        @apply(--layout-center-center);
+        @apply --layout-center-center;
         text-transform: none;
       }
     </style>
diff --git a/ui/webui/resources/cr_components/chromeos/multidevice_setup/multidevice_setup.html b/ui/webui/resources/cr_components/chromeos/multidevice_setup/multidevice_setup.html
index 4ce968b..3754722 100644
--- a/ui/webui/resources/cr_components/chromeos/multidevice_setup/multidevice_setup.html
+++ b/ui/webui/resources/cr_components/chromeos/multidevice_setup/multidevice_setup.html
@@ -16,7 +16,7 @@
   <template>
     <style include="multidevice-setup-shared">
       :host {
-        @apply(--layout-vertical);
+        @apply --layout-vertical;
         box-sizing: border-box;
         height: 100%;
         padding: 60px 64px 32px 64px;
diff --git a/ui/webui/resources/cr_components/chromeos/multidevice_setup/password_page.html b/ui/webui/resources/cr_components/chromeos/multidevice_setup/password_page.html
index 0d46caf6..b4c388ed 100644
--- a/ui/webui/resources/cr_components/chromeos/multidevice_setup/password_page.html
+++ b/ui/webui/resources/cr_components/chromeos/multidevice_setup/password_page.html
@@ -10,7 +10,7 @@
   <template>
     <style include="multidevice-setup-shared">
       #user-info-container  {
-        @apply(--layout-horizontal);
+        @apply --layout-horizontal;
         border: 1px solid rgb(95, 99, 104);
         border-radius: 15px;
         color: rgb(95, 99, 104);
diff --git a/ui/webui/resources/cr_components/chromeos/multidevice_setup/setup_succeeded_page.html b/ui/webui/resources/cr_components/chromeos/multidevice_setup/setup_succeeded_page.html
index 75c03de..4624bb8 100644
--- a/ui/webui/resources/cr_components/chromeos/multidevice_setup/setup_succeeded_page.html
+++ b/ui/webui/resources/cr_components/chromeos/multidevice_setup/setup_succeeded_page.html
@@ -10,8 +10,8 @@
   <template>
     <style include="multidevice-setup-shared">
       #page-icon-container {
-        @apply(--layout-horizontal);
-        @apply(--layout-center-justified);
+        @apply --layout-horizontal;
+        @apply --layout-center-justified;
       }
 
       #page-icon {
diff --git a/ui/webui/resources/cr_components/chromeos/multidevice_setup/start_setup_page.html b/ui/webui/resources/cr_components/chromeos/multidevice_setup/start_setup_page.html
index ff5115d..4bbba7f 100644
--- a/ui/webui/resources/cr_components/chromeos/multidevice_setup/start_setup_page.html
+++ b/ui/webui/resources/cr_components/chromeos/multidevice_setup/start_setup_page.html
@@ -11,7 +11,7 @@
   <template>
     <style include="multidevice-setup-shared">
       #selector-and-details-container {
-        @apply(--layout-horizontal);
+        @apply --layout-horizontal;
       }
 
       #deviceDropdown {
@@ -19,8 +19,8 @@
       }
 
       #page-icon-container {
-        @apply(--layout-horizontal);
-        @apply(--layout-center-justified);
+        @apply --layout-horizontal;
+        @apply --layout-center-justified;
       }
 
       #page-icon {
@@ -41,8 +41,8 @@
       }
 
       .feature-detail {
-        @apply(--layout-horizontal);
-        @apply(--layout-center);
+        @apply --layout-horizontal;
+        @apply --layout-center;
         padding-bottom: 28px;
         padding-top: 21px;
       }