diff --git a/BUILD.gn b/BUILD.gn index c1277b6c..4f10eed1 100644 --- a/BUILD.gn +++ b/BUILD.gn
@@ -8,6 +8,7 @@ # you add a new build file, there must be some path of dependencies from this # file to your new one or GN won't know about it. +import("//build/config/chromeos/ui_mode.gni") import("//build/config/compiler/compiler.gni") import("//build/config/features.gni") import("//build/config/sanitizers/sanitizers.gni") @@ -160,6 +161,10 @@ ] } + if (chromeos_is_browser_only) { + deps += [ "//chrome/test:lacros_chrome_browsertests" ] + } + if (!is_ios) { deps += [ "//cc:cc_unittests",
diff --git a/DEPS b/DEPS index 9a3fe95..5db0d0cc 100644 --- a/DEPS +++ b/DEPS
@@ -195,7 +195,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': '2bc4077c9e4216fba03607d61d4f1bda43a60eb8', + 'skia_revision': 'a195d101f96c3d0d2c3d67b1a84d1286dce52719', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling V8 # and whatever else without interference from each other. @@ -207,11 +207,11 @@ # Three lines of non-changing comments so that # the commit queue can handle CLs rolling ANGLE # and whatever else without interference from each other. - 'angle_revision': '06b4fb92c569f8e26eeab003e2f71851c60aa429', + 'angle_revision': '377e748714bfcb827a2a61a3b8ccf8ea8fab2156', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling SwiftShader # and whatever else without interference from each other. - 'swiftshader_revision': '0f14b7ab7a550971c97090a7cd4b9910084fe7ea', + 'swiftshader_revision': 'b33e0b36a08cc7a69e0b063ddc3602124d8227d9', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling PDFium # and whatever else without interference from each other. @@ -258,7 +258,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': '93d0ecf3d428c85a75c41fea97ea37c5891f0d49', + 'catapult_revision': '3f01e83f96b0c3cc3cd4f31bc4c097c55d13bdd1', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling libFuzzer # and whatever else without interference from each other. @@ -266,7 +266,7 @@ # Three lines of non-changing comments so that # the commit queue can handle CLs rolling devtools-frontend # and whatever else without interference from each other. - 'devtools_frontend_revision': '8b1a5e7995a5f5152b78c8ded3b4973f32f92be0', + 'devtools_frontend_revision': 'a1f84f4a730074d194fbebcf94251fe68b9395ec', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling libprotobuf-mutator # and whatever else without interference from each other. @@ -322,7 +322,7 @@ # Three lines of non-changing comments so that # the commit queue can handle CLs rolling feed # and whatever else without interference from each other. - 'quiche_revision': '093f8e4f0014522e32896cfa4d1d8e5510b41788', + 'quiche_revision': 'a5c3383880999828b47f2dfaff3ad86cf35c886a', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling ios_webkit # and whatever else without interference from each other. @@ -876,7 +876,7 @@ # Tools used when building Chrome for Chrome OS. This affects both the Simple # Chrome workflow, as well as the chromeos-chrome ebuild. 'src/third_party/chromite': { - 'url': Var('chromium_git') + '/chromiumos/chromite.git' + '@' + 'bcd69ba12e0508c670704a630a42ecc9d7776220', + 'url': Var('chromium_git') + '/chromiumos/chromite.git' + '@' + '65fccf7b5f0490b105e5aa72208aaeb01a930207', 'condition': 'checkout_chromeos', }, @@ -896,7 +896,7 @@ }, 'src/third_party/depot_tools': - Var('chromium_git') + '/chromium/tools/depot_tools.git' + '@' + 'f57e64e375ef64a55dc31c07fbf8f6601f8b693d', + Var('chromium_git') + '/chromium/tools/depot_tools.git' + '@' + '52fdd1ffcefb16435eee27023af95e5e844cfc16', 'src/third_party/devtools-frontend/src': Var('chromium_git') + '/devtools/devtools-frontend' + '@' + Var('devtools_frontend_revision'), @@ -947,7 +947,7 @@ Var('chromium_git') + '/codecs/libgav1.git' + '@' + 'a9449e612bc251b4271bbe1e3a0d12e9809bf74c', 'src/third_party/glslang/src': - Var('chromium_git') + '/external/github.com/KhronosGroup/glslang.git' + '@' + 'ac2f01f4bd89762c084003003a15c2be0939877d', + Var('chromium_git') + '/external/github.com/KhronosGroup/glslang.git' + '@' + '9eaa69c21c45c173b6ab9aacef271ab0e7c083bf', 'src/third_party/google_toolbox_for_mac/src': { 'url': Var('chromium_git') + '/external/github.com/google/google-toolbox-for-mac.git' + '@' + Var('google_toolbox_for_mac_revision'), @@ -1327,7 +1327,7 @@ 'packages': [ { 'package': 'fuchsia/third_party/aemu/linux-amd64', - 'version': 'yu1TNZdimAolWHFRji7ATuLGOV29PrdOBhWQd2oQxVMC' + 'version': '8YjsZy1I3YIJIOUKErXW54SHjiEX62hd9SqYjmop19oC' }, ], 'condition': 'host_os == "linux" and checkout_fuchsia', @@ -1471,7 +1471,7 @@ }, 'src/third_party/webrtc': - Var('webrtc_git') + '/src.git' + '@' + 'c6dbc5ee80273699789bf384faeffeffe292a59f', + Var('webrtc_git') + '/src.git' + '@' + 'ae073e44336fbc0f9e9f7af318447d5feebc660f', 'src/third_party/libgifcodec': Var('skia_git') + '/libgifcodec' + '@'+ Var('libgifcodec_revision'), @@ -1543,7 +1543,7 @@ Var('chromium_git') + '/v8/v8.git' + '@' + Var('v8_revision'), 'src-internal': { - 'url': 'https://chrome-internal.googlesource.com/chrome/src-internal.git@9d6bf6eee8b548c0fbdb856b2ca44c455b605c37', + 'url': 'https://chrome-internal.googlesource.com/chrome/src-internal.git@7e0dbae74fcd57f3c9ca145c2b0f979089cfc184', 'condition': 'checkout_src_internal', },
diff --git a/ash/app_list/views/app_list_view_unittest.cc b/ash/app_list/views/app_list_view_unittest.cc index 1c2517c..0a8a0f4 100644 --- a/ash/app_list/views/app_list_view_unittest.cc +++ b/ash/app_list/views/app_list_view_unittest.cc
@@ -1571,9 +1571,9 @@ TestLeftAndRightKeyTraversalOnTextfield(search_box_view()->search_box()); } -// Tests that the focus is reset onto the search box and the folder exits after -// hitting enter on folder name. -TEST_P(AppListViewFocusTest, FocusResetAfterHittingEnterOnFolderName) { +// Tests that the focus is reset and the folder does not exit after hitting +// enter/escape on folder name. +TEST_P(AppListViewFocusTest, FocusResetAfterHittingEnterOrEscapeOnFolderName) { Show(); // Transition to FULLSCREEN_ALL_APPS state and open the folder. @@ -1589,8 +1589,14 @@ // Hit enter key. SimulateKeyPress(ui::VKEY_RETURN, false); - search_box_view()->search_box()->RequestFocus(); - EXPECT_FALSE(contents_view()->apps_container_view()->IsInFolderView()); + EXPECT_TRUE(contents_view()->apps_container_view()->IsInFolderView()); + EXPECT_FALSE(folder_name_view->HasFocus()); + + // Refocus and hit escape key. + folder_name_view->RequestFocus(); + SimulateKeyPress(ui::VKEY_ESCAPE, false); + EXPECT_TRUE(contents_view()->apps_container_view()->IsInFolderView()); + EXPECT_FALSE(folder_name_view->HasFocus()); } // Tests that the selection highlight follows the page change.
diff --git a/ash/app_list/views/folder_header_view.cc b/ash/app_list/views/folder_header_view.cc index e4e4e29..1254f320 100644 --- a/ash/app_list/views/folder_header_view.cc +++ b/ash/app_list/views/folder_header_view.cc
@@ -20,6 +20,7 @@ #include "ui/gfx/color_palette.h" #include "ui/gfx/text_elider.h" #include "ui/strings/grit/ui_strings.h" +#include "ui/views/background.h" #include "ui/views/border.h" #include "ui/views/controls/button/image_button.h" #include "ui/views/controls/textfield/textfield.h" @@ -30,8 +31,7 @@ namespace { -constexpr int kMaxFolderNameWidth = 204; -constexpr SkColor kFolderNameColor = gfx::kGoogleGrey700; +constexpr SkColor kFolderNameTextColor = gfx::kGoogleGrey700; constexpr SkColor kFolderTitleHintTextColor = gfx::kGoogleGrey600; } // namespace @@ -42,26 +42,51 @@ explicit FolderNameView(FolderHeaderView* folder_header_view) : folder_header_view_(folder_header_view) { DCHECK(folder_header_view_); - SetBorder(views::CreateEmptyBorder(1, 1, 1, 1)); + // Make folder name font size 14px. + SetFontList( + ui::ResourceBundle::GetSharedInstance().GetFontListWithDelta(2)); + SetTextColor(kFolderNameTextColor); + set_placeholder_text_color(kFolderTitleHintTextColor); + SetNameViewBorderAndBackground(/*is_active=*/false); SetEventTargeter(std::make_unique<views::ViewTargeter>(this)); } ~FolderNameView() override = default; gfx::Size CalculatePreferredSize() const override { - return gfx::Size(kMaxFolderNameWidth, + return gfx::Size(AppListConfig::instance().folder_header_max_width(), AppListConfig::instance().folder_header_height()); } + void SetNameViewBorderAndBackground(bool is_active) { + int horizontal_padding = AppListConfig::instance().folder_name_padding(); + SetBorder(views::CreatePaddedBorder( + views::CreateRoundedRectBorder( + AppListConfig::instance().folder_name_border_thickness(), + AppListConfig::instance().folder_name_border_radius(), + is_active ? AppListConfig::instance().folder_name_border_color() + : SK_ColorTRANSPARENT), + gfx::Insets(0, horizontal_padding))); + + SetBackgroundColor( + AppListConfig::instance().GetFolderNameBackgroundColor(is_active)); + } + void OnFocus() override { + SetNameViewBorderAndBackground(/*is_active=*/true); SetText(base::UTF8ToUTF16(folder_header_view_->folder_item_->name())); starting_name_ = GetText(); folder_header_view_->previous_folder_name_ = starting_name_; - SelectAll(false); + + if (!defer_select_all_) + SelectAll(false); + Textfield::OnFocus(); } void OnBlur() override { + SetNameViewBorderAndBackground(/*is_active=*/false); + // Collapse whitespace when FolderNameView loses focus. folder_header_view_->ContentsChanged( this, base::CollapseWhitespace(GetText(), false)); @@ -81,15 +106,76 @@ } } + defer_select_all_ = false; + Textfield::OnBlur(); } + bool DoesMouseEventActuallyIntersect(const ui::MouseEvent& event) { + // Since hitbox for this view is extended for tap, we need to manually + // calculate this when checking for mouse events. + return GetLocalBounds().Contains(event.location()); + } + + bool OnMousePressed(const ui::MouseEvent& event) override { + // Since hovering changes the background color, only taps should be + // triggered using the extended event target. + if (!DoesMouseEventActuallyIntersect(event)) + return false; + + return Textfield::OnMousePressed(event); + } + + void OnMouseExited(const ui::MouseEvent& event) override { + if (!HasFocus()) { + SetBackgroundColor(AppListConfig::instance().GetFolderNameBackgroundColor( + /*is_active=*/false)); + } + + has_mouse_already_entered_ = false; + } + + void OnMouseMoved(const ui::MouseEvent& event) override { + if (DoesMouseEventActuallyIntersect(event) && !has_mouse_already_entered_) { + // If this is reached, the mouse is entering the view. + // Recreate border to have custom corner radius. + SetBackground(views::CreateRoundedRectBackground( + AppListConfig::instance().GetFolderNameBackgroundColor( + /*is_active=*/true), + AppListConfig::instance().folder_name_border_radius())); + has_mouse_already_entered_ = true; + } else if (!DoesMouseEventActuallyIntersect(event) && + has_mouse_already_entered_ && !HasFocus()) { + // If this is reached, the mouse is exiting the view on its horizontal + // edges. + SetBackgroundColor(AppListConfig::instance().GetFolderNameBackgroundColor( + /*is_active=*/false)); + has_mouse_already_entered_ = false; + } + } + + void OnMouseReleased(const ui::MouseEvent& event) override { + if (defer_select_all_) { + defer_select_all_ = false; + + if (!HasSelection()) + SelectAll(false); + } + } + bool DoesIntersectRect(const views::View* target, const gfx::Rect& rect) const override { DCHECK_EQ(target, this); gfx::Rect textfield_bounds = target->GetLocalBounds(); - int horizontal_padding = -(textfield_bounds.height() * 1.5); + + // Ensure that the tap target for this view is always at least the view's + // minimum width. + int min_width = + std::max(AppListConfig::instance().folder_header_min_tap_width(), + textfield_bounds.width()); + int horizontal_padding = -((min_width - textfield_bounds.width()) / 2); textfield_bounds.Inset(gfx::Insets(0, horizontal_padding)); + return textfield_bounds.Intersects(rect); } @@ -101,6 +187,18 @@ // rename metric. base::string16 starting_name_; + // If the view is focused via a mouse press event, then selection will be + // cleared by its mouse release. To address this, defer selecting all + // until we receive mouse release. + bool defer_select_all_ = false; + + // Because of this view's custom event target, this view receives mouse enter + // events in areas where the view isn't actually occupying. To check whether a + // user has entered/exited this, we must check every mouse move event. This + // bool tracks whether the mouse has entered the view, avoiding repainting the + // background on each mouse move event. + bool has_mouse_already_entered_ = false; + DISALLOW_COPY_AND_ASSIGN(FolderNameView); }; @@ -113,15 +211,7 @@ delegate_(delegate), folder_name_visible_(true), is_tablet_mode_(false) { - folder_name_view_->set_placeholder_text_color(kFolderTitleHintTextColor); folder_name_view_->SetPlaceholderText(folder_name_placeholder_text_); - folder_name_view_->SetBorder(views::NullBorder()); - - // Make folder name font size 14px. - folder_name_view_->SetFontList( - ui::ResourceBundle::GetSharedInstance().GetFontListWithDelta(2)); - folder_name_view_->SetBackgroundColor(SK_ColorTRANSPARENT); - folder_name_view_->SetTextColor(kFolderNameColor); folder_name_view_->set_controller(this); AddChildView(folder_name_view_); @@ -206,7 +296,7 @@ } gfx::Size FolderHeaderView::CalculatePreferredSize() const { - return gfx::Size(kMaxFolderNameWidth, + return gfx::Size(AppListConfig::instance().folder_header_max_width(), folder_name_view_->GetPreferredSize().height()); } @@ -223,7 +313,7 @@ } int FolderHeaderView::GetMaxFolderNameWidth() const { - return kMaxFolderNameWidth; + return AppListConfig::instance().folder_header_max_width(); } base::string16 FolderHeaderView::GetElidedFolderName( @@ -247,20 +337,20 @@ return; gfx::Rect text_bounds(rect); - base::string16 text = folder_item_ && !folder_item_->name().empty() - ? base::UTF8ToUTF16(folder_item_->name()) - : folder_name_placeholder_text_; + + base::string16 text = folder_name_view_->GetText().empty() + ? folder_name_placeholder_text_ + : folder_name_view_->GetText(); int text_width = gfx::Canvas::GetStringWidth(text, folder_name_view_->GetFontList()) + folder_name_view_->GetCaretBounds().width() + folder_name_view_->GetInsets().width(); - text_width = std::min(text_width, GetMaxFolderNameWidth()); + text_width = + std::min(text_width, AppListConfig::instance().folder_header_max_width()); + text_width = + std::max(text_width, AppListConfig::instance().folder_header_min_width()); text_bounds.set_x(std::max(0, rect.x() + (rect.width() - text_width) / 2)); - - // The width of the text field should always be the maximum length possible, - // to prevent the touch target from resizing with the text. The width should - // also stay within the FolderHeaderView bounds. - text_bounds.set_width(std::min(rect.width(), GetMaxFolderNameWidth())); + text_bounds.set_width(std::min(rect.width(), text_width)); text_bounds.ClampToCenteredSize(gfx::Size( text_bounds.width(), folder_name_view_->GetPreferredSize().height())); @@ -292,12 +382,16 @@ Layout(); } +bool FolderHeaderView::ShouldNameViewClearFocus(const ui::KeyEvent& key_event) { + return key_event.type() == ui::ET_KEY_PRESSED && + (key_event.key_code() == ui::VKEY_RETURN || + key_event.key_code() == ui::VKEY_ESCAPE); +} + bool FolderHeaderView::HandleKeyEvent(views::Textfield* sender, const ui::KeyEvent& key_event) { - if (key_event.key_code() == ui::VKEY_RETURN && - key_event.type() == ui::ET_KEY_PRESSED) { - delegate_->GiveBackFocusToSearchBox(); - delegate_->NavigateBack(folder_item_, key_event); + if (ShouldNameViewClearFocus(key_event)) { + folder_name_view_->GetFocusManager()->ClearFocus(); return true; } if (!IsUnhandledLeftRightKeyEvent(key_event))
diff --git a/ash/app_list/views/folder_header_view.h b/ash/app_list/views/folder_header_view.h index c579f26f..f815022a 100644 --- a/ash/app_list/views/folder_header_view.h +++ b/ash/app_list/views/folder_header_view.h
@@ -68,6 +68,10 @@ // Returns elided folder name from |folder_name|. base::string16 GetElidedFolderName(const base::string16& folder_name) const; + // Returns whether |folder_name_view_| should clear focus based on + // |key_event_|. + bool ShouldNameViewClearFocus(const ui::KeyEvent& key_event); + // views::View: void Layout() override;
diff --git a/ash/app_list/views/folder_header_view_unittest.cc b/ash/app_list/views/folder_header_view_unittest.cc index 5d262521..2b03bc12 100644 --- a/ash/app_list/views/folder_header_view_unittest.cc +++ b/ash/app_list/views/folder_header_view_unittest.cc
@@ -147,7 +147,7 @@ EXPECT_EQ("N A", delegate_->folder_name()); } -TEST_F(FolderHeaderViewTest, MaxFoldernNameLength) { +TEST_F(FolderHeaderViewTest, MaxFolderNameLength) { // Creating a folder with empty folder name. AppListFolderItem* folder_item = model_->CreateAndPopulateFolderWithApps(2); folder_header_view_->SetFolderItem(folder_item); @@ -205,34 +205,57 @@ handler->OnGestureEvent(&tap_up); } +template <typename EventHandler> +void SendPress(EventHandler* handler, const gfx::Point& location) { + ui::MouseEvent press_down(ui::ET_MOUSE_PRESSED, + gfx::PointF(location.x(), location.y()), + gfx::PointF(0, 0), base::TimeTicks::Now(), 0, 0); + handler->OnMouseEvent(&press_down); + ui::MouseEvent press_up(ui::ET_MOUSE_RELEASED, + gfx::PointF(location.x(), location.y()), + gfx::PointF(0, 0), base::TimeTicks::Now(), 0, 0); + handler->OnMouseEvent(&press_up); +} + } // namespace -// Tests that folder name textfield is triggered when user touches on or near -// the folder name. (see https://crbug.com/997364) +// Tests that when folder name is small, the folder name textfield is triggered +// by only tap when on the textfieldd or near it to the left/right. TEST_F(FolderHeaderViewTest, TriggerFolderRenameAfterTappingNearFolderName) { - // Creating a folder with empty folder name. + // Create a folder with a small name. AppListFolderItem* folder_item = model_->CreateAndPopulateFolderWithApps(2); folder_header_view_->SetFolderItem(folder_item); + UpdateFolderName("ab"); // Get in screen bounds of folder name - const gfx::Rect name_view_bounds = - folder_header_view_->GetFolderNameViewForTest()->GetBoundsInScreen(); + views::View* name_view = folder_header_view_->GetFolderNameViewForTest(); + const gfx::Rect name_view_bounds = name_view->GetBoundsInScreen(); // Tap folder name and check that folder renaming is triggered. - SendTap(folder_header_view_->GetFolderNameViewForTest(), - name_view_bounds.CenterPoint()); + SendTap(name_view, name_view_bounds.CenterPoint()); base::RunLoop().RunUntilIdle(); - EXPECT_TRUE(folder_header_view_->GetFolderNameViewForTest()->HasFocus()); + EXPECT_TRUE(name_view->HasFocus()); // Clear focus from the folder name. widget_->GetFocusManager()->ClearFocus(); - ASSERT_FALSE(folder_header_view_->GetFolderNameViewForTest()->HasFocus()); + ASSERT_FALSE(name_view->HasFocus()); // Test that tapping near (but not directly on) the folder name still // triggers folder rename. // Tap folder name and check that folder renaming is triggered. - SendTap(widget_.get(), name_view_bounds.top_right()); - EXPECT_TRUE(folder_header_view_->GetFolderNameViewForTest()->HasFocus()); + gfx::Point right_of_name_view = name_view_bounds.right_center(); + right_of_name_view.Offset(2, 0); + SendTap(widget_.get(), right_of_name_view); + base::RunLoop().RunUntilIdle(); + EXPECT_TRUE(name_view->HasFocus()); + + // Clear focus from the folder name. + widget_->GetFocusManager()->ClearFocus(); + ASSERT_FALSE(name_view->HasFocus()); + + // Test that clicking in the same spot won't trigger folder rename. + SendPress(widget_.get(), right_of_name_view); + EXPECT_FALSE(name_view->HasFocus()); } } // namespace test
diff --git a/ash/ash_strings.grd b/ash/ash_strings.grd index 8593cfb9..aa50ec7 100644 --- a/ash/ash_strings.grd +++ b/ash/ash_strings.grd
@@ -952,6 +952,9 @@ <message name="IDS_ASH_HOLDING_SPACE_CONTEXT_MENU_SHOW_IN_FOLDER" desc="Title of the option to show item in its folder in the holding space item context menu."> Show in folder </message> + <message name="IDS_ASH_HOLDING_SPACE_CONTEXT_MENU_UNPIN" desc="Title of the unpin option in the holding space item context menu."> + Unpin + </message> <!-- Phone Hub tray--> <message name="IDS_ASH_PHONE_HUB_TRAY_ACCESSIBLE_NAME" desc="The accessible name of the Phone Hub tray bubble for screen readers.">
diff --git a/ash/ash_strings_grd/IDS_ASH_HOLDING_SPACE_CONTEXT_MENU_UNPIN.png.sha1 b/ash/ash_strings_grd/IDS_ASH_HOLDING_SPACE_CONTEXT_MENU_UNPIN.png.sha1 new file mode 100644 index 0000000..b2cf344e --- /dev/null +++ b/ash/ash_strings_grd/IDS_ASH_HOLDING_SPACE_CONTEXT_MENU_UNPIN.png.sha1
@@ -0,0 +1 @@ +96c2c348b80b1bbed12e14b8155392759e68e60e \ No newline at end of file
diff --git a/ash/capture_mode/capture_mode_controller.cc b/ash/capture_mode/capture_mode_controller.cc index fd94794..3ca78b56 100644 --- a/ash/capture_mode/capture_mode_controller.cc +++ b/ash/capture_mode/capture_mode_controller.cc
@@ -9,14 +9,17 @@ #include <utility> #include "ash/capture_mode/capture_mode_session.h" +#include "ash/capture_mode/stop_recording_button_tray.h" #include "ash/public/cpp/ash_features.h" #include "ash/public/cpp/capture_mode_delegate.h" #include "ash/public/cpp/holding_space/holding_space_client.h" #include "ash/public/cpp/holding_space/holding_space_controller.h" #include "ash/public/cpp/notification_utils.h" #include "ash/resources/vector_icons/vector_icons.h" +#include "ash/root_window_controller.h" #include "ash/shell.h" #include "ash/strings/grit/ash_strings.h" +#include "ash/system/status_area_widget.h" #include "base/check.h" #include "base/check_op.h" #include "base/files/file_path.h" @@ -47,8 +50,10 @@ constexpr char kScreenCaptureNotifierId[] = "ash.capture_mode_controller"; // The format strings of the file names of captured images. -// TODO(afakhry): Discuss with UX localizing "Screenshot". +// TODO(afakhry): Discuss with UX localizing "Screenshot" and "Screen +// recording". constexpr char kScreenshotFileNameFmtStr[] = "Screenshot %s %s.png"; +constexpr char kVideoFileNameFmtStr[] = "Screen recording %s %s.webm"; constexpr char kDateFmtStr[] = "%d-%02d-%02d"; constexpr char k24HourTimeFmtStr[] = "%02d.%02d.%02d"; constexpr char kAmPmTimeFmtStr[] = "%d.%02d.%02d"; @@ -182,6 +187,18 @@ clipboard->WriteClipboardData(std::move(clipboard_data)); } +// Shows the stop-recording button in the Shelf's status area widget. Note that +// the button hides itself when clicked. +void ShowStopRecordingButton(aura::Window* root) { + DCHECK(root); + DCHECK(root->IsRootWindow()); + + auto* stop_recording_button = RootWindowController::ForWindow(root) + ->GetStatusAreaWidget() + ->stop_recording_button_tray(); + stop_recording_button->SetVisiblePreferred(true); +} + } // namespace CaptureModeController::CaptureModeController( @@ -243,18 +260,21 @@ return; } - if (type_ == CaptureModeType::kImage) { + if (type_ == CaptureModeType::kImage) CaptureImage(); - } else { + else CaptureVideo(); - } // The above capture functions should have ended the session. DCHECK(!IsActive()); } void CaptureModeController::EndVideoRecording() { - // TODO(afakhry): Fill in here. + // TODO(afakhry): We should instead ask the recording service to stop + // recording, and only do the below when the service tells us that it's done + // with all the frames. + is_recording_in_progress_ = false; + Shell::Get()->UpdateCursorCompositingEnabled(); } bool CaptureModeController::IsCaptureAllowed() const { @@ -262,9 +282,8 @@ return true; } -void CaptureModeController::CaptureImage() { - DCHECK_EQ(CaptureModeType::kImage, type_); - DCHECK(IsCaptureAllowed()); +base::Optional<CaptureModeController::CaptureParams> +CaptureModeController::GetCaptureParams() const { DCHECK(IsActive()); aura::Window* window = nullptr; @@ -274,7 +293,11 @@ window = capture_mode_session_->current_root(); DCHECK(window); DCHECK(window->IsRootWindow()); - bounds = window->bounds(); + // In video mode, the recording service is not given any bounds as it + // should just use the same bounds of the frame captured from the root + // window. + if (type_ == CaptureModeType::kImage) + bounds = window->bounds(); break; case CaptureModeSource::kWindow: @@ -282,12 +305,15 @@ if (!window) { // TODO(afakhry): Consider showing a toast or a notification that no // window was selected. - Stop(); - return; + return base::nullopt; } - // window->bounds() are in root coordinates, but we want to get the - // capture area in |window|'s coordinates. - bounds = gfx::Rect(window->bounds().size()); + // Also here, the recording service will use the same frame size as + // captured from |window| and does not need any crop bounds. + if (type_ == CaptureModeType::kImage) { + // window->bounds() are in root coordinates, but we want to get the + // capture area in |window|'s coordinates. + bounds = gfx::Rect(window->bounds().size()); + } break; case CaptureModeSource::kRegion: @@ -297,30 +323,64 @@ if (user_capture_region_.IsEmpty()) { // TODO(afakhry): Consider showing a toast or a notification that no // region was selected. - Stop(); - return; + return base::nullopt; } + // TODO(afakhry): Consider any special handling of display scale changes + // while video recording is in progress. bounds = user_capture_region_; break; } DCHECK(window); - DCHECK(!bounds.IsEmpty()); + return CaptureParams{window, bounds}; +} + +void CaptureModeController::CaptureImage() { + DCHECK_EQ(CaptureModeType::kImage, type_); + DCHECK(IsCaptureAllowed()); + + const base::Optional<CaptureParams> capture_params = GetCaptureParams(); // Stop the capture session now, so as not to take a screenshot of the capture // bar. Stop(); + if (!capture_params) + return; + + DCHECK(!capture_params->bounds.IsEmpty()); + ui::GrabWindowSnapshotAsyncPNG( - window, bounds, + capture_params->window, capture_params->bounds, base::BindOnce(&CaptureModeController::OnImageCaptured, weak_ptr_factory_.GetWeakPtr(), base::Time::Now())); } void CaptureModeController::CaptureVideo() { + DCHECK_EQ(CaptureModeType::kVideo, type_); DCHECK(IsCaptureAllowed()); - // TODO(afakhry): Fill in here. + + const base::Optional<CaptureParams> capture_params = GetCaptureParams(); + // Stop the capture session now, so the bar doesn't show up in the captured + // video. Stop(); + + if (!capture_params) + return; + + // We provide the service with no crop bounds except when we're capturing a + // custom region. + DCHECK_EQ(source_ != CaptureModeSource::kRegion, + capture_params->bounds.IsEmpty()); + + // We enable the software-composited cursor, in order for the video capturer + // to be able to record it. + is_recording_in_progress_ = true; + Shell::Get()->UpdateCursorCompositingEnabled(); + + // TODO(afakhry): Call into the recording service. + + ShowStopRecordingButton(capture_params->window->GetRootWindow()); } void CaptureModeController::OnImageCaptured( @@ -410,12 +470,22 @@ base::FilePath CaptureModeController::BuildImagePath( base::Time timestamp) const { + return BuildPath(kScreenshotFileNameFmtStr, timestamp); +} + +base::FilePath CaptureModeController::BuildVideoPath( + base::Time timestamp) const { + return BuildPath(kVideoFileNameFmtStr, timestamp); +} + +base::FilePath CaptureModeController::BuildPath(const char* const format_string, + base::Time timestamp) const { const base::FilePath path = delegate_->GetActiveUserDownloadsDir(); base::Time::Exploded exploded_time; timestamp.LocalExplode(&exploded_time); return path.AppendASCII(base::StringPrintf( - kScreenshotFileNameFmtStr, GetDateStr(exploded_time).c_str(), + format_string, GetDateStr(exploded_time).c_str(), GetTimeStr(exploded_time, delegate_->Uses24HourFormat()).c_str())); }
diff --git a/ash/capture_mode/capture_mode_controller.h b/ash/capture_mode/capture_mode_controller.h index fce9a064..f1f73fce 100644 --- a/ash/capture_mode/capture_mode_controller.h +++ b/ash/capture_mode/capture_mode_controller.h
@@ -12,6 +12,7 @@ #include "ash/public/cpp/capture_mode_delegate.h" #include "base/memory/ref_counted_memory.h" #include "base/memory/weak_ptr.h" +#include "base/optional.h" #include "ui/gfx/geometry/rect.h" #include "ui/gfx/image/image.h" @@ -45,6 +46,7 @@ void set_user_capture_region(const gfx::Rect& region) { user_capture_region_ = region; } + bool is_recording_in_progress() const { return is_recording_in_progress_; } // Returns true if a capture mode session is currently active. bool IsActive() const { return !!capture_mode_session_; } @@ -73,6 +75,22 @@ // otherwise. bool IsCaptureAllowed() const; + // Returns the capture parameters for the capture operation that is about to + // be performed (i.e. the window to be captured, and the capture bounds). If + // nothing is to be captured (e.g. when there's no window selected in a + // kWindow source, or no region is selected in a kRegion source), then a + // base::nullopt is returned. + struct CaptureParams { + aura::Window* window = nullptr; + // The capture bounds, either in root coordinates (in kFullscreen or kRegion + // capture sources), or window-local coordinates (in a kWindow capture + // source). The bounds are never empty when in kImage capture type. However, + // in kVideo capture type, they're non-empty only in a kRegion capture + // source, since the recording service needs them to crop the frame. + gfx::Rect bounds; + }; + base::Optional<CaptureParams> GetCaptureParams() const; + // The below functions start the actual image/video capture. They expect that // the capture session is still active when called, so they can retrieve the // capture parameters they need. They will end the sessions themselves. @@ -104,8 +122,14 @@ void HandleNotificationClicked(const base::FilePath& screen_capture_path, base::Optional<int> button_index); - // Builds a path for an image screenshot file that was taken at |timestamp|. + // Builds a path for a file of an image screenshot, or a video screen + // recording, which were taken at |timestamp|. base::FilePath BuildImagePath(base::Time timestamp) const; + base::FilePath BuildVideoPath(base::Time timestamp) const; + // Used by the above two functions by providing the corresponding file name + // |format_string| to a capture type (image or video). + base::FilePath BuildPath(const char* const format_string, + base::Time timestamp) const; std::unique_ptr<CaptureModeDelegate> delegate_; @@ -119,6 +143,9 @@ std::unique_ptr<CaptureModeSession> capture_mode_session_; + // True when video recording is in progress. + bool is_recording_in_progress_ = false; + base::WeakPtrFactory<CaptureModeController> weak_ptr_factory_{this}; };
diff --git a/ash/capture_mode/capture_mode_unittests.cc b/ash/capture_mode/capture_mode_unittests.cc index e2c27ba..164a5822 100644 --- a/ash/capture_mode/capture_mode_unittests.cc +++ b/ash/capture_mode/capture_mode_unittests.cc
@@ -10,15 +10,30 @@ #include "ash/capture_mode/capture_mode_toggle_button.h" #include "ash/capture_mode/capture_mode_type_view.h" #include "ash/capture_mode/capture_mode_types.h" +#include "ash/capture_mode/stop_recording_button_tray.h" +#include "ash/display/cursor_window_controller.h" +#include "ash/display/window_tree_host_manager.h" #include "ash/public/cpp/ash_features.h" +#include "ash/root_window_controller.h" +#include "ash/shell.h" +#include "ash/system/status_area_widget.h" #include "ash/test/ash_test_base.h" #include "base/test/scoped_feature_list.h" +#include "ui/events/keycodes/keyboard_codes_posix.h" #include "ui/views/view.h" namespace ash { namespace { +// Returns true if the software-composited cursor is enabled. +bool IsCursorCompositingEnabled() { + return Shell::Get() + ->window_tree_host_manager() + ->cursor_window_controller() + ->ShouldEnableCursorCompositing(); +} + void ClickOnView(const views::View* view, ui::test::EventGenerator* event_generator) { DCHECK(view); @@ -29,6 +44,12 @@ event_generator->ClickLeftButton(); } +void SendKey(ui::KeyboardCode key_code, + ui::test::EventGenerator* event_generator) { + event_generator->PressKey(key_code, /*flags=*/0); + event_generator->ReleaseKey(key_code, /*flags=*/0); +} + } // namespace class CaptureModeTest : public AshTestBase { @@ -155,4 +176,36 @@ EXPECT_EQ(controller->source(), CaptureModeSource::kFullscreen); } +TEST_F(CaptureModeTest, VideoRecordingUiBehavior) { + auto* controller = CaptureModeController::Get(); + // Start Capture Mode in a fullscreen video recording mode. + controller->SetSource(CaptureModeSource::kFullscreen); + controller->SetType(CaptureModeType::kVideo); + controller->Start(); + EXPECT_TRUE(controller->IsActive()); + EXPECT_FALSE(controller->is_recording_in_progress()); + EXPECT_FALSE(IsCursorCompositingEnabled()); + + // Hit Enter to begin recording. + auto* event_generator = GetEventGenerator(); + SendKey(ui::VKEY_RETURN, event_generator); + EXPECT_FALSE(controller->IsActive()); + EXPECT_TRUE(controller->is_recording_in_progress()); + + // The composited cursor should be enabled, and the stop-recording button + // should show up in the status area widget. + EXPECT_TRUE(IsCursorCompositingEnabled()); + auto* stop_recording_button = Shell::GetPrimaryRootWindowController() + ->GetStatusAreaWidget() + ->stop_recording_button_tray(); + EXPECT_TRUE(stop_recording_button->visible_preferred()); + + // End recording via the stop-recording button. Expect that it's now hidden, + // and the cursor compositing is now disabled. + ClickOnView(stop_recording_button, event_generator); + EXPECT_FALSE(stop_recording_button->visible_preferred()); + EXPECT_FALSE(controller->is_recording_in_progress()); + EXPECT_FALSE(IsCursorCompositingEnabled()); +} + } // namespace ash
diff --git a/ash/capture_mode/stop_recording_button_tray.cc b/ash/capture_mode/stop_recording_button_tray.cc index 4838ba34..284941c0 100644 --- a/ash/capture_mode/stop_recording_button_tray.cc +++ b/ash/capture_mode/stop_recording_button_tray.cc
@@ -23,7 +23,7 @@ auto image_view = std::make_unique<views::ImageView>(); image_view->SetImage(gfx::CreateVectorIcon( kCaptureModeCircleStopIcon, ShelfConfig::Get()->shelf_icon_color())); - image_view->set_tooltip_text(GetAccessibleNameForTray()); + image_view->SetTooltipText(GetAccessibleNameForTray()); image_view->SetHorizontalAlignment(views::ImageView::Alignment::kCenter); image_view->SetVerticalAlignment(views::ImageView::Alignment::kCenter); image_view->SetPreferredSize(gfx::Size(kTrayItemSize, kTrayItemSize)); @@ -36,8 +36,6 @@ DCHECK(event.type() == ui::ET_MOUSE_RELEASED || event.type() == ui::ET_GESTURE_TAP); - // TODO(sammiequon): Add a simple test for this button's visibility once - // CaptureModeController is a bit more fleshed out. // Stop recording and hide this button. base::RecordAction(base::UserMetricsAction("Tray_StopRecording")); CaptureModeController::Get()->EndVideoRecording();
diff --git a/ash/display/cursor_window_controller.cc b/ash/display/cursor_window_controller.cc index 740e370..08964e5 100644 --- a/ash/display/cursor_window_controller.cc +++ b/ash/display/cursor_window_controller.cc
@@ -4,12 +4,14 @@ #include "ash/display/cursor_window_controller.h" +#include "ash/capture_mode/capture_mode_controller.h" #include "ash/display/display_color_manager.h" #include "ash/display/mirror_window_controller.h" #include "ash/display/window_tree_host_manager.h" #include "ash/fast_ink/cursor/cursor_view.h" #include "ash/magnifier/magnification_controller.h" #include "ash/public/cpp/ash_constants.h" +#include "ash/public/cpp/ash_features.h" #include "ash/public/cpp/ash_pref_names.h" #include "ash/public/cpp/ash_switches.h" #include "ash/public/cpp/shell_window_ids.h" @@ -135,6 +137,12 @@ if (is_cursor_motion_blur_enabled_) return true; + if (features::IsCaptureModeEnabled() && + CaptureModeController::Get()->is_recording_in_progress()) { + // To let the video capturer record the cursor. + return true; + } + // During startup, we may not have a preference service yet. We need to check // display manager state first so that we don't accidentally ignore it while // early outing when there isn't a PrefService yet.
diff --git a/ash/public/cpp/app_list/app_list_config.cc b/ash/public/cpp/app_list/app_list_config.cc index 12b8a300..cf32ba5 100644 --- a/ash/public/cpp/app_list/app_list_config.cc +++ b/ash/public/cpp/app_list/app_list_config.cc
@@ -293,7 +293,16 @@ expand_arrow_tile_height_(72), folder_bubble_radius_(FolderUnclippedIconDimensionForType(type) / 2), folder_bubble_y_offset_(0), - folder_header_height_(20), + folder_header_height_(32), + folder_header_min_width_(24), + folder_header_max_width_(200), + folder_header_min_tap_width_(32), + folder_name_border_radius_(4), + folder_name_border_thickness_(2), + folder_name_padding_(8), + folder_name_border_color_(gfx::kGoogleBlue600), + folder_name_background_color_(SK_ColorTRANSPARENT), + folder_name_background_color_active_(gfx::kGoogleGrey100), folder_icon_dimension_(FolderClippedIconDimensionForType(type)), folder_unclipped_icon_dimension_( FolderUnclippedIconDimensionForType(type)), @@ -305,7 +314,7 @@ item_icon_in_folder_icon_margin_(ItemIconInFolderIconMarginForType(type)), folder_dropping_circle_radius_(folder_bubble_radius_), folder_dropping_delay_(0), - folder_background_color_(gfx::kGoogleGrey100), + folder_background_color_(SK_ColorWHITE), page_flip_zone_size_(20), grid_tile_spacing_in_folder_(8), blur_radius_(30), @@ -420,6 +429,16 @@ inner_tile_scale_y)), folder_bubble_y_offset_(base_config.folder_bubble_y_offset_), folder_header_height_(base_config.folder_header_height_), + folder_header_min_width_(base_config.folder_header_min_width_), + folder_header_max_width_(base_config.folder_header_max_width_), + folder_header_min_tap_width_(base_config.folder_header_min_tap_width_), + folder_name_border_radius_(base_config.folder_name_border_radius_), + folder_name_border_thickness_(base_config.folder_name_border_thickness_), + folder_name_padding_(base_config.folder_name_padding_), + folder_name_border_color_(base_config.folder_name_border_color_), + folder_name_background_color_(base_config.folder_name_background_color_), + folder_name_background_color_active_( + base_config.folder_name_background_color_active_), folder_icon_dimension_(MinScale(base_config.folder_icon_dimension_, scale_x, inner_tile_scale_y)), @@ -534,4 +553,9 @@ : cardified_background_color_; } +SkColor AppListConfig::GetFolderNameBackgroundColor(bool is_active) const { + return is_active ? folder_name_background_color_active_ + : folder_name_background_color_; +} + } // namespace ash
diff --git a/ash/public/cpp/app_list/app_list_config.h b/ash/public/cpp/app_list/app_list_config.h index a41cf7625..55d83d9 100644 --- a/ash/public/cpp/app_list/app_list_config.h +++ b/ash/public/cpp/app_list/app_list_config.h
@@ -116,6 +116,17 @@ int folder_bubble_radius() const { return folder_bubble_radius_; } int folder_bubble_y_offset() const { return folder_bubble_y_offset_; } int folder_header_height() const { return folder_header_height_; } + int folder_header_min_width() const { return folder_header_min_width_; } + int folder_header_max_width() const { return folder_header_max_width_; } + int folder_header_min_tap_width() const { + return folder_header_min_tap_width_; + } + int folder_name_border_radius() const { return folder_name_border_radius_; } + int folder_name_border_thickness() const { + return folder_name_border_thickness_; + } + int folder_name_padding() const { return folder_name_padding_; } + SkColor folder_name_border_color() const { return folder_name_border_color_; } int folder_icon_dimension() const { return folder_icon_dimension_; } int folder_unclipped_icon_dimension() const { return folder_unclipped_icon_dimension_; @@ -253,6 +264,9 @@ // Returns the color and opacity for the page background. SkColor GetCardifiedBackgroundColor(bool is_active) const; + // Returns the folder name background color. + SkColor GetFolderNameBackgroundColor(bool is_active) const; + private: const AppListConfigType type_; @@ -374,6 +388,29 @@ // The height of the in folder name and pagination buttons. const int folder_header_height_; + // The min and max widths of the folder name. + const int folder_header_min_width_; + const int folder_header_max_width_; + + // The min width of folder name for tap events. + const int folder_header_min_tap_width_; + + // The border radius for folder name. + const int folder_name_border_radius_; + + // The border thickness for folder name. + const int folder_name_border_thickness_; + + // The inner padding for folder name. + const int folder_name_padding_; + + // The color of the folder name border. + const SkColor folder_name_border_color_; + + // Background colors for folder name. + const SkColor folder_name_background_color_; + const SkColor folder_name_background_color_active_; + // The icon dimension of folder. const int folder_icon_dimension_;
diff --git a/ash/public/cpp/ash_features.cc b/ash/public/cpp/ash_features.cc index 42710700..9ba7080 100644 --- a/ash/public/cpp/ash_features.cc +++ b/ash/public/cpp/ash_features.cc
@@ -66,7 +66,7 @@ base::FEATURE_DISABLED_BY_DEFAULT}; const base::Feature kManagedDeviceUIRedesign{"ManagedDeviceUIRedesign", - base::FEATURE_ENABLED_BY_DEFAULT}; + base::FEATURE_DISABLED_BY_DEFAULT}; const base::Feature kMediaSessionNotification{"MediaSessionNotification", base::FEATURE_ENABLED_BY_DEFAULT};
diff --git a/ash/public/cpp/holding_space/holding_space_constants.h b/ash/public/cpp/holding_space/holding_space_constants.h index 5bcb3873..a5274770 100644 --- a/ash/public/cpp/holding_space/holding_space_constants.h +++ b/ash/public/cpp/holding_space/holding_space_constants.h
@@ -13,10 +13,11 @@ // Context menu commands. enum HoldingSpaceCommandId { - kTogglePinItem, + kPinItem, kCopyToClipboard, kShowInFolder, - kMaxValue = kShowInFolder + kUnpinItem, + kMaxValue = kUnpinItem }; // Appearance.
diff --git a/ash/resources/vector_icons/BUILD.gn b/ash/resources/vector_icons/BUILD.gn index 6aabf7d..7cd0592d 100644 --- a/ash/resources/vector_icons/BUILD.gn +++ b/ash/resources/vector_icons/BUILD.gn
@@ -38,6 +38,7 @@ "capture_mode_window.icon", "check_circle.icon", "close_button.icon", + "copy.icon", "dark_theme_color_mode.icon", "delete.icon", "desks_new_desk_button.icon", @@ -47,6 +48,7 @@ "dictation_on.icon", "dictation_on_newui.icon", "dogfood.icon", + "folder.icon", "global_media_controls.icon", "holding_space.icon", "hollow_check_circle.icon",
diff --git a/ash/resources/vector_icons/copy.icon b/ash/resources/vector_icons/copy.icon new file mode 100644 index 0000000..34085390 --- /dev/null +++ b/ash/resources/vector_icons/copy.icon
@@ -0,0 +1,30 @@ +// Copyright 2020 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +CANVAS_DIMENSIONS, 20, +MOVE_TO, 13, 16, +H_LINE_TO, 5, +V_LINE_TO, 8, +H_LINE_TO, 3, +V_LINE_TO, 16, +CUBIC_TO, 3, 17.1f, 3.9f, 18, 5, 18, +H_LINE_TO, 13, +V_LINE_TO, 16, +CLOSE, +MOVE_TO, 18, 12, +V_LINE_TO, 4, +CUBIC_TO, 18, 2.9f, 17.1f, 2, 16, 2, +H_LINE_TO, 9, +CUBIC_TO, 7.9f, 2, 7, 2.9f, 7, 4, +V_LINE_TO, 12, +CUBIC_TO, 7, 13.1f, 7.9f, 14, 9, 14, +H_LINE_TO, 16, +CUBIC_TO, 17.1f, 14, 18, 13.1f, 18, 12, +CLOSE, +MOVE_TO, 16, 12, +H_LINE_TO, 9, +V_LINE_TO, 4, +H_LINE_TO, 16, +V_LINE_TO, 12, +CLOSE \ No newline at end of file
diff --git a/ash/resources/vector_icons/folder.icon b/ash/resources/vector_icons/folder.icon new file mode 100644 index 0000000..780b289 --- /dev/null +++ b/ash/resources/vector_icons/folder.icon
@@ -0,0 +1,23 @@ +// Copyright 2020 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +CANVAS_DIMENSIONS, 20, +MOVE_TO, 16, 5, +H_LINE_TO, 12, +LINE_TO, 10, 3, +H_LINE_TO, 4, +CUBIC_TO, 2.9f, 3, 2.01f, 3.9f, 2.01f, 5, +LINE_TO, 2, 15, +CUBIC_TO, 2, 16.1f, 2.9f, 17, 4, 17, +H_LINE_TO, 16, +CUBIC_TO, 17.1f, 17, 18, 16.1f, 18, 15, +V_LINE_TO, 7, +CUBIC_TO, 18, 5.9f, 17.1f, 5, 16, 5, +CLOSE, +MOVE_TO, 16, 15, +H_LINE_TO, 4, +V_LINE_TO, 7, +H_LINE_TO, 16, +V_LINE_TO, 15, +CLOSE \ No newline at end of file
diff --git a/ash/strings/ash_strings_af.xtb b/ash/strings/ash_strings_af.xtb index 79eef23..7f109b33 100644 --- a/ash/strings/ash_strings_af.xtb +++ b/ash/strings/ash_strings_af.xtb
@@ -169,6 +169,7 @@ <translation id="2706462751667573066">Op</translation> <translation id="2718395828230677721">Aandbeligting</translation> <translation id="2727977024730340865">By 'n laekrag-laaier ingeprop. Laai van battery is dalk nie betroubaar nie.</translation> +<translation id="2743387203779672305">Kopieer na knipbord</translation> <translation id="2792498699870441125">Alt+Search</translation> <translation id="2819276065543622893">Jy sal nou afgemeld word.</translation> <translation id="2825224105325558319"><ph name="DISPLAY_NAME" /> werk nie met <ph name="SPECIFIED_RESOLUTION" /> nie. Die resolusie is na <ph name="FALLBACK_RESOLUTION" /> verander.</translation> @@ -587,6 +588,7 @@ <translation id="742594950370306541">Kamera word gebruik.</translation> <translation id="742608627846767349">Goeiemôre</translation> <translation id="743058460480092004">Kamera en mikrofoon word gebruik.</translation> +<translation id="7461924472993315131">Pin</translation> <translation id="7466449121337984263">Raak asseblief die sensor</translation> <translation id="7477793887173910789">Beheer jou musiek, video's en meer</translation> <translation id="7497767806359279797">Kies taal en sleutelbord</translation>
diff --git a/ash/strings/ash_strings_am.xtb b/ash/strings/ash_strings_am.xtb index 3f8d537..0e105cc 100644 --- a/ash/strings/ash_strings_am.xtb +++ b/ash/strings/ash_strings_am.xtb
@@ -48,6 +48,7 @@ <translation id="1351937230027495976">ምናሌ ሰብስብ</translation> <translation id="1383876407941801731">ፍለጋ </translation> <translation id="1391102559483454063">አብራ</translation> +<translation id="1407069428457324124">ጠቆር ያለ ገጽታ</translation> <translation id="1419738280318246476">የማሳወቅ እርምጃውን ለማከናወን መሣሪያን ይክፈቱ</translation> <translation id="1420408895951708260">የምሽት ብርሃንን ቀያይር። <ph name="STATE_TEXT" /></translation> <translation id="1420527829902822813">ቅጽበታዊ ገጽ ዕይታ ተነስቷል እና ወደ ቅንጥብ ሰሌዳ ተቀምጧል</translation> @@ -65,6 +66,7 @@ <translation id="1550523713251050646">ለተጨማሪ አማራጮች ጠቅ ያድርጉ</translation> <translation id="1570871743947603115">ብሉቱዝን አብራ ወይም አጥፋ። <ph name="STATE_TEXT" /></translation> <translation id="1589090746204042747">በዚህ ክፍለ-ጊዜ ውስጥ ያለው ሁሉንም እንቅስቃሴዎን ይድረሱ</translation> +<translation id="1611993646327628135">አብራ</translation> <translation id="1632985212731562677">የመዳረሻ መቀየሪያ በቅንብሮች > ተደራሽነት ውስጥ ሊሰናከል ይችላል።</translation> <translation id="1654477262762802994">የድምጽ መጠይቅ ይጀምሩ</translation> <translation id="1667964833127753507">ገለልተኛ የቀለም ሁነታ ከልጣፍ የወጡ ቀለማትን አይጠቀምም፣ በገለልተኛ ፈካ ያሉ ወይም ደማቅ ቅልመቶችን ይተካቸዋል።</translation> @@ -79,6 +81,7 @@ <translation id="1761222317188459878">የአውታረ መረብ ግንኙነትን አብራ ወይም አጥፋ። <ph name="STATE_TEXT" /></translation> <translation id="1771761307086386028">ወደ ቀኝ ይሸብልሉ</translation> <translation id="1782199038061388045">ትርጉም</translation> +<translation id="1787955149152357925">አጥፋ</translation> <translation id="181103072419391116">የሲግናል ጥንካሬ <ph name="SIGNAL_STRENGTH" />፣ በየእርስዎ አስተዳዳሪ የሚተዳደር</translation> <translation id="1812997170047690955">ማያ ገጼ ላይ ምን አለ?</translation> <translation id="1823873187264960516">ኤተርኔት፦ <ph name="ADDRESS" /></translation> @@ -166,6 +169,7 @@ <translation id="2706462751667573066">ላይ</translation> <translation id="2718395828230677721">የምሽት ብርሃን</translation> <translation id="2727977024730340865">አነስተኛ ኃይል ወዳለው ባትሪ መሙያ ተሰክቷል። የባትሪ መሙላት አስተማማኝ ላይሆን ይችላል።</translation> +<translation id="2743387203779672305">ወደ ቅንጥብ ሰሌዳ ገልብጥ</translation> <translation id="2792498699870441125">Alt+Search</translation> <translation id="2819276065543622893">አሁን ዘግተው እንዲወጡ ይደረጋሉ።</translation> <translation id="2825224105325558319"><ph name="DISPLAY_NAME" /> <ph name="SPECIFIED_RESOLUTION" />ን አይደግፍም። ጥራቱ ወደ <ph name="FALLBACK_RESOLUTION" /> ተቀይሯል።</translation> @@ -201,6 +205,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3081696990447829002">ምናሌ ዘርጋ</translation> <translation id="3087734570205094154">ግርጌ</translation> +<translation id="3090989381251959936"><ph name="FEATURE_NAME" /> ቀያይር። <ph name="STATE_TEXT" /></translation> <translation id="309749186376891736">ጠቋሚን አንቀሳቅስ</translation> <translation id="3098580329624789136">ለ«<ph name="QUERY" />» <ph name="INTENT" />ን ያግኙ</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (ብሉቱዝ)</translation> @@ -233,6 +238,7 @@ <translation id="3371140690572404006">የUSB-C መሣሪያ (የቀኝ ጎን የፊት ወደብ)</translation> <translation id="3386978599540877378">የሙሉ ማያ ገጽ ማጉያ</translation> <translation id="3400357268283240774">ተጨማሪ ቅንብሮች</translation> +<translation id="3410336247007142655">ጠቆር ያለ የገጽታ ቅንብሮችን አሳይ</translation> <translation id="3413817803639110246">ገና ምንም የሚታይ ነገር የለም</translation> <translation id="3428447136709161042">ከ <ph name="NETWORK_NAME" /> ግንኙነት አቋርጥ</translation> <translation id="3430396595145920809">ለመመለስ ከቀኝ ጀምረው ይጥረጉ</translation> @@ -326,6 +332,7 @@ <translation id="4378551569595875038">በመገናኘት ላይ...</translation> <translation id="4379531060876907730">እነዚህ የእርስዎ የስታይለስ መሣሪያዎች ናቸው</translation> <translation id="4389184120735010762">የተተከለ የማጉያ የቁልፍ ሰሌዳ አቋራጩን ተጭነዋል። ሊያበሩት ይፈልጋሉ?</translation> +<translation id="4412944820643904175"><ph name="FEATURE_NAME" /> ጠፍቷል</translation> <translation id="4421231901400348175">የማያ ገጽዎን ቁጥጥር በርቀት እርዳታ በኩል ለ<ph name="HELPER_NAME" /> በማጋራት ላይ።</translation> <translation id="4430019312045809116">ድምፅ</translation> <translation id="4450893287417543264">ዳግም አታሳይ</translation> @@ -345,6 +352,7 @@ <translation id="4570957409596482333">ለመናገር-ይምረጡ አዝራር</translation> <translation id="4577274620589681794">ጊዜው አብቅቷል · <ph name="LABEL" /></translation> <translation id="4585337515783392668">ወደ ያልታወቀ ተቀባይ cast ማድረግን አስቁም</translation> +<translation id="4596144739579517758">ጠቆር ያለ ገጽታ ጠፍቷል</translation> <translation id="4623167406982293031">መለያን ያረጋግጡ</translation> <translation id="4628757576491864469">መሣሪያዎች</translation> <translation id="4659419629803378708">ChromeVox ነቅቷል</translation> @@ -387,6 +395,7 @@ <translation id="5168181903108465623">የCast መሣሪያዎች ይገኛሉ</translation> <translation id="5170568018924773124">በአቃፊ አሳይ</translation> <translation id="5207949376430453814">የጽሑፍ ድፋቱን አድምቅ</translation> +<translation id="5208059991603368177">አብራ</translation> <translation id="5222676887888702881">ዘግተህ ውጣ</translation> <translation id="523505283826916779">የተደራሽነት ቅንብሮች</translation> <translation id="5260676007519551770">ዴስክ 4</translation> @@ -398,6 +407,7 @@ <translation id="5313326810920013265">የብሉቱዝ ቅንብሮች</translation> <translation id="5314219114274263156">የማያ ገጽ ቀረጻ ተቀድቷል</translation> <translation id="5331975486040154427">USB-C መሣሪያ (የግራ ጎን ኋላ ወደብ)</translation> +<translation id="5352250171825660495">ጠቆር ያለ ገጽታ በርቷል</translation> <translation id="5379115545237091094">በጣም ብዙ ሙከራዎች</translation> <translation id="5397578532367286026">የዚህ ተጠቃሚ አጠቃቀም እና ታሪክ በchrome.com ላይ በአስተዳዳሪ (<ph name="MANAGER_EMAIL" />) ሊገመገም ይችላል።</translation> <translation id="5400461572260843123">ፈጣን ቅንብሮች፣ የማሳወቂያ ማዕከሉን ለመድረስ ፍለጋ + ግራ ይጫኑ።</translation> @@ -434,6 +444,7 @@ <translation id="5769373120130404283">የግላዊነት ማያ ገጽ</translation> <translation id="5777841717266010279">ማያ ገጽ ማጋራት ይቁም?</translation> <translation id="5790085346892983794">ተሳክቷል</translation> +<translation id="579415080077680903">ጸጥታ</translation> <translation id="5820394555380036790">Chromium ስርዓተ ክወና</translation> <translation id="5837036133683224804"><ph name="RECEIVER_NAME" /> ላይ <ph name="ROUTE_TITLE" />ን አስቁም</translation> <translation id="5860033963881614850">አጥፋ</translation> @@ -444,6 +455,7 @@ <translation id="5911909173233110115"><ph name="USERNAME" /> (<ph name="MAIL" />)</translation> <translation id="5916664084637901428">በርቷል</translation> <translation id="5920710855273935292">የማይክሮፎን ድምጽ ተዘግቷል።</translation> +<translation id="5946788582095584774"><ph name="FEATURE_NAME" /> በርቷል።</translation> <translation id="5947494881799873997">አድህር</translation> <translation id="595202126637698455">አፈጻጸም መከታተያ ነቅቷል</translation> <translation id="5957083217255311415">የተንቀሳቃሽ ስልክ ውሂብ ጠፍቷል።</translation> @@ -468,6 +480,7 @@ <translation id="615957422585914272">የማያ ገጽ ላይ ቁልፍ ሰሌዳ አሳይ</translation> <translation id="6164005077879661055">ይህ ክትትል የሚደረግበት ተጠቃሚ አንዴ ከተወገደ በኋላ ሁሉም ከዚህ ክትትል የሚደረግበት ተጠቃሚ ጋር የተጎዳኙ ፋይሎች እና አካባቢያዊ ውሂብ እስከመጨረሻው ይሰረዛሉ። አስተዳዳሪው የዚህ ክትትል የሚደረግበት ተጠቃሚ የጎበኛቸው ድር ጣቢያዎች እና ቅንብሮች <ph name="MANAGEMENT_URL" /> ላይ ሊያዩት ይችላሉ።</translation> <translation id="6165508094623778733">የበለጠ ለመረዳት</translation> +<translation id="6192859646269780503">ስልኩን ያግኙ</translation> <translation id="622484624075952240">ታች</translation> <translation id="6236290670123303279">ቅንብሮችን ያቀናብሩ</translation> <translation id="6237231532760393653">1X</translation> @@ -539,6 +552,7 @@ <translation id="6981982820502123353">ተደራሽነት</translation> <translation id="698231206551913481">አንዴ ይህ ተጠቃሚ ከተወገደ በኋላ ከዚህ ተጠቃሚ ጋር የተጎዳኙ ሁሉም ፋይሎች እና አካባቢያዊ ውሂብ በቋሚነት ይሰረዛሉ።</translation> <translation id="7007983414944123363">የእርስዎ ፒን ወይም ይለፍ ቃል ሊረጋገጥ አልቻለም። እንደገና ይሞክሩ።</translation> +<translation id="7013005189539051442">መገናኛ ነጥብን ያንቁ</translation> <translation id="7015766095477679451"><ph name="COME_BACK_TIME" /> ላይ ተመልሰው ይምጡ።</translation> <translation id="7025533177575372252">የእርስዎን <ph name="DEVICE_NAME" /> ከስልክዎ ጋር ያገናኙት</translation> <translation id="7026338066939101231">ቅነሳ</translation> @@ -573,6 +587,7 @@ <translation id="742594950370306541">ካሜራ ስራ ላይ ነው።</translation> <translation id="742608627846767349">ደህና አደሩ፣</translation> <translation id="743058460480092004">ካሜራና ማይክራፎን ስራ ላይ ናቸው።</translation> +<translation id="7461924472993315131">ሰካ</translation> <translation id="7466449121337984263">እባክዎ ዳሳሹን ይንኩ</translation> <translation id="7477793887173910789">የእርስዎን ሙዚቃ፣ ቪዲዮዎች እና ተጨማሪ ነገሮች ይቆጣጠሩ</translation> <translation id="7497767806359279797">ቋንቋ እና ቁልፍ ሰሌዳን ይምረጡ</translation> @@ -611,6 +626,7 @@ <translation id="7842569679327885685">ማስጠንቀቂያ፦ የሙከራ ባህሪ</translation> <translation id="7846634333498149051">የቁልፍ ሰሌዳ</translation> <translation id="7868900307798234037">በጣት አሻራ በመክፈት ላይ</translation> +<translation id="7872786842639831132">አጥፋ</translation> <translation id="7886169021410746335">የግላዊነት ቅንብሮችን ያስተካክሉ</translation> <translation id="7886277072580235377">የእርስዎ የበይነመረብ ክፍለ-ጊዜ ዘግተው ሲወጡ ይጸዳል። <ph name="LEARN_MORE" /></translation> <translation id="788781083998633524">ኢሜይል ላክ</translation> @@ -715,6 +731,7 @@ <translation id="8853703225951107899">የእርስዎ ፒን ወይም ይለፍ ቃል አሁንም ሊረጋገጥ አልቻለም። ማሳሰቢያ፦ በቅርቡ የይለፍ ቃልዎን ከቀየሩ፣ የድሮውን የይለፍ ቃል ይጠቀሙ። አዲስ የይለፍ ቃልዎ የሚተገበረው ሲወጡ ነው።</translation> <translation id="885387440427703469">የማያ ገጽ ቀረጻ ተሰናክሏል</translation> <translation id="8870509716567206129">መተግበሪያው የተከፈለ ማያ ገጽን አይደግፍም።</translation> +<translation id="8871580645200179206">ጠቆር ያለ ገጽታን ቀያይር። <ph name="STATE_TEXT" /></translation> <translation id="8874184842967597500">አልተገናኘም</translation> <translation id="8877788021141246043">አስታዋሽ አዘጋጅ</translation> <translation id="8878886163241303700">ማያ ገጽ በማስቀጠል ላይ</translation>
diff --git a/ash/strings/ash_strings_ar.xtb b/ash/strings/ash_strings_ar.xtb index 42d8205..dad8ab5f 100644 --- a/ash/strings/ash_strings_ar.xtb +++ b/ash/strings/ash_strings_ar.xtb
@@ -48,6 +48,7 @@ <translation id="1351937230027495976">تصغير القائمة</translation> <translation id="1383876407941801731">البحث</translation> <translation id="1391102559483454063">مُفعَّلة</translation> +<translation id="1407069428457324124">المظهر الداكن</translation> <translation id="1419738280318246476">فتح قفل الجهاز لتنفيذ إجراء الإشعارات</translation> <translation id="1420408895951708260">يمكنك تبديل "الإضاءة الليلية". <ph name="STATE_TEXT" /></translation> <translation id="1420527829902822813">تم التقاط لقطة شاشة وحفظها في الحافظة</translation> @@ -65,6 +66,7 @@ <translation id="1550523713251050646">انقر للحصول على المزيد من الخيارات</translation> <translation id="1570871743947603115">تبديل البلوتوث. <ph name="STATE_TEXT" /></translation> <translation id="1589090746204042747">الوصول إلى جميع أنشطتك في جلسة واحدة</translation> +<translation id="1611993646327628135">مُفعَّل</translation> <translation id="1632985212731562677">يمكن إيقاف ميزة "الوصول عبر مفتاح التحويل" في "الإعدادات" > "أدوات تمكين الوصول".</translation> <translation id="1654477262762802994">بدء طلب بحث صوتي</translation> <translation id="1667964833127753507">لا يستخدم وضع "الألوان المحايدة" ألوانًا مُستخرَجة من الخلفية، ويستخدم بدلاً منها مجموعة من إضاءة معتدلة أو ألوان داكنة.</translation> @@ -79,6 +81,7 @@ <translation id="1761222317188459878">تبديل الاتصال بالشبكة. <ph name="STATE_TEXT" /></translation> <translation id="1771761307086386028">التمرير لليمين</translation> <translation id="1782199038061388045">الترجمة</translation> +<translation id="1787955149152357925">غير مُفعَّل</translation> <translation id="181103072419391116">قوة الإشارة <ph name="SIGNAL_STRENGTH" />، يديرها المشرف</translation> <translation id="1812997170047690955">ماذا يظهر على شاشتي؟</translation> <translation id="1823873187264960516">الإيثرنت: <ph name="ADDRESS" /></translation> @@ -166,6 +169,7 @@ <translation id="2706462751667573066">أعلى</translation> <translation id="2718395828230677721">الإضاءة الليلية</translation> <translation id="2727977024730340865">تمّ توصيل شاحن منخفض الطاقة. لذا قد لا تكون عملية شحن البطارية جديرة بالثقة.</translation> +<translation id="2743387203779672305">نسخ إلى الحافظة</translation> <translation id="2792498699870441125">Alt+مفتاح البحث</translation> <translation id="2819276065543622893">سيتم تسجيل خروجك الآن.</translation> <translation id="2825224105325558319"><ph name="DISPLAY_NAME" /> غير متوافق مع <ph name="SPECIFIED_RESOLUTION" />. تم تغيير درجة الدقة إلى <ph name="FALLBACK_RESOLUTION" />.</translation> @@ -201,6 +205,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3081696990447829002">توسيع القائمة</translation> <translation id="3087734570205094154">أسفل</translation> +<translation id="3090989381251959936">تبديل <ph name="FEATURE_NAME" />. <ph name="STATE_TEXT" /></translation> <translation id="309749186376891736">نقل المؤشر</translation> <translation id="3098580329624789136">احصل على <ph name="INTENT" /> لطلب البحث "<ph name="QUERY" />"</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (بلوتوث)</translation> @@ -233,6 +238,7 @@ <translation id="3371140690572404006">جهاز USB-C (المنفذ الأمامي الأيمن)</translation> <translation id="3386978599540877378">المكبِّر بملء الشاشة</translation> <translation id="3400357268283240774">إعدادات إضافية</translation> +<translation id="3410336247007142655">عرض إعدادات المظهر الداكن</translation> <translation id="3413817803639110246">ليس لديك شيء للمشاهدة حتى الآن</translation> <translation id="3428447136709161042">تم قطع الاتصال بالشبكة <ph name="NETWORK_NAME" /></translation> <translation id="3430396595145920809">يُرجى التمرير السريع من اليمين للرجوع.</translation> @@ -326,6 +332,7 @@ <translation id="4378551569595875038">جارٍ الاتصال...</translation> <translation id="4379531060876907730">هذه هي أدوات قلم الشاشة</translation> <translation id="4389184120735010762">لقد ضغطت على اختصار لوحة المفاتيح للمُكبِّر الذي تم إرساؤه. هل ترغب في تفعيله؟</translation> +<translation id="4412944820643904175">ميزة <ph name="FEATURE_NAME" /> غير مُفعَّلة.</translation> <translation id="4421231901400348175">مشاركة التحكم في شاشتك مع <ph name="HELPER_NAME" /> عن طريق المساعدة عن بُعد.</translation> <translation id="4430019312045809116">مستوى الصوت</translation> <translation id="4450893287417543264">عدم الإظهار مرة أخرى</translation> @@ -345,6 +352,7 @@ <translation id="4570957409596482333">زر "الاختيار والاستماع"</translation> <translation id="4577274620589681794">انتهى الوقت · <ph name="LABEL" /></translation> <translation id="4585337515783392668">إيقاف الإرسال إلى مستلم غير معروف</translation> +<translation id="4596144739579517758">المظهر الداكن غير مُفعَّل.</translation> <translation id="4623167406982293031">يجب إثبات ملكية الحساب</translation> <translation id="4628757576491864469">الأجهزة</translation> <translation id="4659419629803378708">تم تفعيل ChromeVox</translation> @@ -387,6 +395,7 @@ <translation id="5168181903108465623">أجهزة البث متاحة</translation> <translation id="5170568018924773124">العرض في المجلد</translation> <translation id="5207949376430453814">تمييز علامة إقحام النص</translation> +<translation id="5208059991603368177">مُفعَّل</translation> <translation id="5222676887888702881">تسجيل الخروج</translation> <translation id="523505283826916779">إعدادات إمكانية الدخول</translation> <translation id="5260676007519551770">مكتب 4</translation> @@ -398,6 +407,7 @@ <translation id="5313326810920013265">إعدادات البلوتوث</translation> <translation id="5314219114274263156">تم الحصول على تسجيل الشاشة</translation> <translation id="5331975486040154427">جهاز USB-C (المنفذ الخلفي الأيسر)</translation> +<translation id="5352250171825660495">المظهر الداكن مُفعَّل.</translation> <translation id="5379115545237091094">محاولات كثيرة جدًا</translation> <translation id="5397578532367286026">يُمكن للمدير مراجعة الاستخدام والسجل الخاص بهذا المستخدم (<ph name="MANAGER_EMAIL" />) على chrome.com.</translation> <translation id="5400461572260843123">الإعدادات السريعة: اضغط على مفتاح البحث + السهم المتجه لليسار للوصول إلى مركز الإشعارات.</translation> @@ -434,6 +444,7 @@ <translation id="5769373120130404283">شاشة الخصوصية</translation> <translation id="5777841717266010279">هل ترغب في إيقاف مشاركة الشاشة؟</translation> <translation id="5790085346892983794">تم بنجاح</translation> +<translation id="579415080077680903">كتم الصوت</translation> <translation id="5820394555380036790">نظام التشغيل Chromium</translation> <translation id="5837036133683224804">إيقاف <ph name="ROUTE_TITLE" /> في <ph name="RECEIVER_NAME" /></translation> <translation id="5860033963881614850">غير مفعّل</translation> @@ -444,6 +455,7 @@ <translation id="5911909173233110115"><ph name="USERNAME" /> (<ph name="MAIL" />)</translation> <translation id="5916664084637901428">مفعّل</translation> <translation id="5920710855273935292">تم كتم صوت الميكروفون.</translation> +<translation id="5946788582095584774">ميزة <ph name="FEATURE_NAME" /> مُفعَّلة.</translation> <translation id="5947494881799873997">التراجع عن الإجراء</translation> <translation id="595202126637698455">تم تفعيل تتبع مستوى الأداء</translation> <translation id="5957083217255311415">تم إيقاف ميزة بيانات الجوّال.</translation> @@ -469,6 +481,7 @@ <translation id="6164005077879661055">سيتم حذف جميع الملفات والبيانات المحلية المقترنة بالمستخدم الذي يخضع للإشراف نهائيًا بمجرد إزالة هذا المستخدم الذي يخضع للإشراف. وقد تظل المواقع الإلكترونية التي تم الانتقال إليها والإعدادات التابعة للمستخدم الذي يخضع للإشراف مرئية للمدير على <ph name="MANAGEMENT_URL" />.</translation> <translation id="6165508094623778733">مزيد من المعلومات</translation> +<translation id="6192859646269780503">تحديد الموقع الجغرافي للهاتف</translation> <translation id="622484624075952240">Down</translation> <translation id="6236290670123303279">إدارة الإعدادات</translation> <translation id="6237231532760393653">1X</translation> @@ -540,6 +553,7 @@ <translation id="6981982820502123353">إمكانية الوصول</translation> <translation id="698231206551913481">سيتم حذف جميع الملفات والبيانات المحلية المرتبطة بهذا المستخدم نهائيًا بمجرد إزالة هذا المستخدم.</translation> <translation id="7007983414944123363">تعذّر التحقُّق من رقم التعريف الشخصي أو كلمة المرور الخاصّة بك. يُرجى إعادة المحاولة.</translation> +<translation id="7013005189539051442">تفعيل نقطة الاتصال</translation> <translation id="7015766095477679451">يمكنك العودة لاستخدام الجهاز في <ph name="COME_BACK_TIME" />.</translation> <translation id="7025533177575372252">يمكنك ربط الجهاز <ph name="DEVICE_NAME" /> بهاتفك</translation> <translation id="7026338066939101231">تناقص</translation> @@ -574,6 +588,7 @@ <translation id="742594950370306541">الكاميرا قيد الاستخدام.</translation> <translation id="742608627846767349">صباح الخير،</translation> <translation id="743058460480092004">الكاميرا والميكروفون قيد الاستخدام.</translation> +<translation id="7461924472993315131">تثبيت</translation> <translation id="7466449121337984263">يُرجى لمس جهاز الاستشعار.</translation> <translation id="7477793887173910789">التحكم في الموسيقى والفيديوهات وغير ذلك</translation> <translation id="7497767806359279797">اختيار اللغة ولوحة المفاتيح</translation> @@ -612,6 +627,7 @@ <translation id="7842569679327885685">تحذير: ميزة تجريبية</translation> <translation id="7846634333498149051">لوحة المفاتيح</translation> <translation id="7868900307798234037">فتح القفل باستخدام بصمة الإصبع</translation> +<translation id="7872786842639831132">غير مُفعَّل</translation> <translation id="7886169021410746335">ضبط إعدادات الخصوصية</translation> <translation id="7886277072580235377">سيتم محو جلسة الإنترنت عند تسجيل الخروج. <ph name="LEARN_MORE" /></translation> <translation id="788781083998633524">إرسال رسالة إلكترونية</translation> @@ -716,6 +732,7 @@ <translation id="8853703225951107899">يتعذّر حتى الآن التحقُّق من رقم التعريف الشخصي أو كلمة المرور الخاصّة بك. ملاحظة: في حال تم تغيير كلمة المرور الخاصّة بك مؤخرًا، يمكنك تسجيل الدخول باستخدام كلمة المرور القديمة. وسيتم تطبيق كلمة المرور الجديدة بعد تسجيل الخروج.</translation> <translation id="885387440427703469">تم إيقاف وضع "التقاط الشاشة"</translation> <translation id="8870509716567206129">التطبيق لا يتيح تقسيم الشاشة.</translation> +<translation id="8871580645200179206">تبديل المظهر الداكن. <ph name="STATE_TEXT" /></translation> <translation id="8874184842967597500">غير متصل</translation> <translation id="8877788021141246043">ضبط تذكير</translation> <translation id="8878886163241303700">توسيع الشاشة</translation>
diff --git a/ash/strings/ash_strings_as.xtb b/ash/strings/ash_strings_as.xtb index 29b9e1e..05d8ee90 100644 --- a/ash/strings/ash_strings_as.xtb +++ b/ash/strings/ash_strings_as.xtb
@@ -169,6 +169,7 @@ <translation id="2706462751667573066">ওপৰলৈ</translation> <translation id="2718395828230677721">ৰাতিৰ পোহৰ</translation> <translation id="2727977024730340865">কম পাৱাৰৰ এটা চাৰ্জাৰত প্লাগ ইন কৰা হৈছে। বেটাৰীৰ চাৰ্জিং বিশ্বাসযোগ্য নহ'বও পাৰে।</translation> +<translation id="2743387203779672305">ক্লিপব'ৰ্ডত প্ৰতিলিপি কৰক</translation> <translation id="2792498699870441125">Alt+Search</translation> <translation id="2819276065543622893">আপুনি এতিয়া ছাইন আউট হ’ব।</translation> <translation id="2825224105325558319"><ph name="DISPLAY_NAME" />এ <ph name="SPECIFIED_RESOLUTION" /> সমর্থন নকৰে। ৰিজ’লিউশ্বনটো <ph name="FALLBACK_RESOLUTION" />লৈ সলনি কৰা হৈছে।</translation> @@ -584,6 +585,7 @@ <translation id="742594950370306541">কেমেৰা ব্যৱহাৰ কৰি থকা হৈছে।</translation> <translation id="742608627846767349">সুপ্ৰভাত,</translation> <translation id="743058460480092004">কেমেৰা আৰু মাইক্ৰ’ফন ব্যৱহাৰ হৈ আছে।</translation> +<translation id="7461924472993315131">পিন</translation> <translation id="7466449121337984263">অনুগ্ৰহ কৰি ছেন্সৰটো স্পৰ্শ কৰক</translation> <translation id="7477793887173910789">আপোনাৰ সংগীত, ভিডিঅ’সমূহ আৰু অধিক নিয়ন্ত্ৰণ কৰক</translation> <translation id="7497767806359279797">ভাষা আৰু কীব'র্ড বাছনি কৰক</translation>
diff --git a/ash/strings/ash_strings_az.xtb b/ash/strings/ash_strings_az.xtb index 258f587b..89cceec 100644 --- a/ash/strings/ash_strings_az.xtb +++ b/ash/strings/ash_strings_az.xtb
@@ -48,6 +48,7 @@ <translation id="1351937230027495976">Menyunu yığcamlaşdırın</translation> <translation id="1383876407941801731">Axtar</translation> <translation id="1391102559483454063">Aktiv</translation> +<translation id="1407069428457324124">Tünd tema</translation> <translation id="1419738280318246476">Bildiriş əməliyyatını icra etmək üçün cihazı kiliddən çıxarın</translation> <translation id="1420408895951708260">Gecə İşığını aktiv edin. <ph name="STATE_TEXT" /></translation> <translation id="1420527829902822813">Skrinşot çəkilib və mübadilə buferində saxlanılıb</translation> @@ -65,6 +66,7 @@ <translation id="1550523713251050646">Əlavə seçimlər üçün klikləyin</translation> <translation id="1570871743947603115">Bluetooth'u aktiv edin. <ph name="STATE_TEXT" /></translation> <translation id="1589090746204042747">Sessiyadakı bütün fəaliyyətlərə daxil olun</translation> +<translation id="1611993646327628135">Aktiv</translation> <translation id="1632985212731562677">Dəyişdirici Girişini Ayarlar > Əlçatımlıq bölməsində deaktiv edə bilərsiniz.</translation> <translation id="1654477262762802994">Səsli sorğuya başlayın</translation> <translation id="1667964833127753507">Neytral rəng rejimi divar kağızının çıxarılmış rənglərini istifadə etmir, onları neytral tonlu açıq və ya tünd çalarlarla əvəz edir.</translation> @@ -79,6 +81,7 @@ <translation id="1761222317188459878">Şəbəkə bağlantısını aktiv edin. <ph name="STATE_TEXT" /></translation> <translation id="1771761307086386028">Sağa sürüşdürün</translation> <translation id="1782199038061388045">tərcümə</translation> +<translation id="1787955149152357925">Deaktiv</translation> <translation id="181103072419391116">Siqnal Gücü <ph name="SIGNAL_STRENGTH" />, Administratorunuz tərəfindən idarə olunur</translation> <translation id="1812997170047690955">Ekranımda nə var?</translation> <translation id="1823873187264960516">Ethernet: <ph name="ADDRESS" /></translation> @@ -166,6 +169,7 @@ <translation id="2706462751667573066">Yuxarı</translation> <translation id="2718395828230677721">Gecə İşığı</translation> <translation id="2727977024730340865">Zəif şarjerə qoşulub. Ola bilər ki, enerji dolmasın.</translation> +<translation id="2743387203779672305">Buferə kopyalayın</translation> <translation id="2792498699870441125">Alt+Axtarış</translation> <translation id="2819276065543622893">Az sonra hesabdan çıxacaqsınız.</translation> <translation id="2825224105325558319"><ph name="DISPLAY_NAME" /> <ph name="SPECIFIED_RESOLUTION" /> əksetmə qabiliyyətini dəstəkləmir. Əksetmə qabiliyyəti <ph name="FALLBACK_RESOLUTION" /> olaraq dəyişildi.</translation> @@ -201,6 +205,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3081696990447829002">Menyunu genişləndirin</translation> <translation id="3087734570205094154">Alt</translation> +<translation id="3090989381251959936"><ph name="FEATURE_NAME" /> dəyişdirin. <ph name="STATE_TEXT" /></translation> <translation id="309749186376891736">Kursoru hərəkət etdirin</translation> <translation id="3098580329624789136">"<ph name="QUERY" />" üçün <ph name="INTENT" /> əldə edin</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth)</translation> @@ -233,6 +238,7 @@ <translation id="3371140690572404006">USB-C cihazı (ön sağ port)</translation> <translation id="3386978599540877378">tam ekranlı böyüdücü</translation> <translation id="3400357268283240774">Əlavə ayarlar</translation> +<translation id="3410336247007142655">Tünd tema ayarlarını göstərin</translation> <translation id="3413817803639110246">Göstərmək üçün bildiriş yoxdur</translation> <translation id="3428447136709161042"><ph name="NETWORK_NAME" /> ilə bağlantı kəsilsin</translation> <translation id="3430396595145920809">Geri qayıtmaq üçün sağdan sürüşdürün</translation> @@ -326,6 +332,7 @@ <translation id="4378551569595875038">Qoşulur...</translation> <translation id="4379531060876907730">Fırça alətləriniz</translation> <translation id="4389184120735010762">Daxili böyüdücü üçün klaviatura qısayoluna basdınız. Onu aktiv etmək istəyirsiniz?</translation> +<translation id="4412944820643904175"><ph name="FEATURE_NAME" /> deaktivdir.</translation> <translation id="4421231901400348175">Uzaqdan Yardım vasitəsilə <ph name="HELPER_NAME" /> ilə ekranın kontrolunu paylaşın</translation> <translation id="4430019312045809116">Həcm</translation> <translation id="4450893287417543264">Daha göstərməyin</translation> @@ -345,6 +352,7 @@ <translation id="4570957409596482333">Səsləndirmək üçün Seçim düyməsi</translation> <translation id="4577274620589681794">Vaxt bitdi · <ph name="LABEL" /></translation> <translation id="4585337515783392668">Naməlum alıcının yayımını dayandırın</translation> +<translation id="4596144739579517758">Tünd tema deaktivdir</translation> <translation id="4623167406982293031">Hesabı doğrulayın</translation> <translation id="4628757576491864469">Cihazlar</translation> <translation id="4659419629803378708">ChromeVox aktiv edildi</translation> @@ -387,6 +395,7 @@ <translation id="5168181903108465623">Mövcud Cast cihazlar</translation> <translation id="5170568018924773124">Qovluqda göstərin</translation> <translation id="5207949376430453814">Mətn karetini vurğulayın</translation> +<translation id="5208059991603368177">Aktiv</translation> <translation id="5222676887888702881">Hesabdan çıxın</translation> <translation id="523505283826916779">Əlçatımlılıq ayarları</translation> <translation id="5260676007519551770">Masa 4</translation> @@ -398,6 +407,7 @@ <translation id="5313326810920013265">Bluetooth ayarları</translation> <translation id="5314219114274263156">Ekran çəkilişi tamamlanıb</translation> <translation id="5331975486040154427">USB-C cihazı (arxa sol port)</translation> +<translation id="5352250171825660495">Tünd tema aktivdir</translation> <translation id="5379115545237091094">Həddindən çox cəhd</translation> <translation id="5397578532367286026">Bu istifadəçinin istifadəsi və tarixçəsi (<ph name="MANAGER_EMAIL" />) on chrome.com domenindəki menecer tərəfindən izlənə bilər.</translation> <translation id="5400461572260843123">Sürətli Ayarlar: Bildiriş mərkəzinə daxil olmaq üçün axtarış + sol üzərinə basın.</translation> @@ -434,6 +444,7 @@ <translation id="5769373120130404283">Məxfilik ekranı</translation> <translation id="5777841717266010279">Ekran paylaşımı dayandırılsın?</translation> <translation id="5790085346892983794">Uğur</translation> +<translation id="579415080077680903">Səssiz edin</translation> <translation id="5820394555380036790">Chromium OS</translation> <translation id="5837036133683224804"><ph name="RECEIVER_NAME" /> pəncərəsində <ph name="ROUTE_TITLE" /> dayandırma düyməsi</translation> <translation id="5860033963881614850">Deaktiv</translation> @@ -444,6 +455,7 @@ <translation id="5911909173233110115"><ph name="USERNAME" /> (<ph name="MAIL" />)</translation> <translation id="5916664084637901428">Aktiv</translation> <translation id="5920710855273935292">Mikrofon səssiz edilib.</translation> +<translation id="5946788582095584774"><ph name="FEATURE_NAME" /> aktivdir.</translation> <translation id="5947494881799873997">Geri dönün</translation> <translation id="595202126637698455">Fəaliyyət izləməsi aktiv edildi</translation> <translation id="5957083217255311415">Mobil data deaktiv edildi.</translation> @@ -468,6 +480,7 @@ <translation id="615957422585914272">Ekrandakı klaviaturanı göstərin</translation> <translation id="6164005077879661055">Nəzarət olunan istifadəçi silinən kimi onunla əlaqədar bütün fayl və data həmişəlik silinəcək. Bu nəzarət olunan istifadəçinin daxil olduğu veb sayt və ayarlar <ph name="MANAGEMENT_URL" /> üzrə menecer tərəfindən yenə də görünəcək.</translation> <translation id="6165508094623778733">Ətraflı öyrənin</translation> +<translation id="6192859646269780503">Telefonun məkanını tapın</translation> <translation id="622484624075952240">Aşağı</translation> <translation id="6236290670123303279">Ayarları idarə edin</translation> <translation id="6237231532760393653">1X</translation> @@ -539,6 +552,7 @@ <translation id="6981982820502123353">Giriş İmkanı</translation> <translation id="698231206551913481">İstifadəçi silinən kimi onunla əlaqədar bütün fayl və data həmişəlik silinəcək.</translation> <translation id="7007983414944123363">PIN və ya parolunuzu doğrulamaq mümkün olmadı. Yenidən sınayın.</translation> +<translation id="7013005189539051442">Hotspot'u aktiv edin</translation> <translation id="7015766095477679451"><ph name="COME_BACK_TIME" /> olduqda yenidən davam edin.</translation> <translation id="7025533177575372252"><ph name="DEVICE_NAME" /> cihazını telefonla əlaqələndirin</translation> <translation id="7026338066939101231">Azalma</translation> @@ -573,6 +587,7 @@ <translation id="742594950370306541">Kamera istifadə olunur.</translation> <translation id="742608627846767349">Sabahınız xeyir,</translation> <translation id="743058460480092004">Kamera və mikrofon istifadə olunur.</translation> +<translation id="7461924472993315131">Pin</translation> <translation id="7466449121337984263">Sensora toxunun</translation> <translation id="7477793887173910789">Musiqi, video və daha çoxuna nəzarət edin</translation> <translation id="7497767806359279797">Dil və klaviatura seçin</translation> @@ -611,6 +626,7 @@ <translation id="7842569679327885685">Xəbərdarlıq: Eksperimental funksiya</translation> <translation id="7846634333498149051">Klaviatura</translation> <translation id="7868900307798234037">Barmaq izi ilə kiliddən çıxarma</translation> +<translation id="7872786842639831132">Deaktiv</translation> <translation id="7886169021410746335">Məxfilik ayarlarını tənzimləyin</translation> <translation id="7886277072580235377">Hesabdan çıxdıqda internet sessiyanız silinəcək. <ph name="LEARN_MORE" /></translation> <translation id="788781083998633524">E-məktub göndərin</translation> @@ -715,6 +731,7 @@ <translation id="8853703225951107899">PIN və ya parolunuzu yenə doğrulamaq mümkün olmadı. Qeyd: Bu yaxınlarda parolunuzu dəyişmisinizsə, köhnə parolunuzu istifadə edin. Çıxdıqdan sonra yeni parolunuz tətbiq ediləcək.</translation> <translation id="885387440427703469">Skrinşot çəkimi deaktiv edilib</translation> <translation id="8870509716567206129">Tətbiq ekran bölünməsini dəstəkləmir.</translation> +<translation id="8871580645200179206">Tünd temanı dəyişdirin. <ph name="STATE_TEXT" /></translation> <translation id="8874184842967597500">Qoşulmayıb</translation> <translation id="8877788021141246043">Xatırlatma ayarlayın</translation> <translation id="8878886163241303700">Ekran böyüdülür</translation>
diff --git a/ash/strings/ash_strings_be.xtb b/ash/strings/ash_strings_be.xtb index cb491ca..4ad2481 100644 --- a/ash/strings/ash_strings_be.xtb +++ b/ash/strings/ash_strings_be.xtb
@@ -48,6 +48,7 @@ <translation id="1351937230027495976">Згарнуць меню</translation> <translation id="1383876407941801731">Пошук</translation> <translation id="1391102559483454063">Уключана</translation> +<translation id="1407069428457324124">Цёмная тэма</translation> <translation id="1419738280318246476">Каб выканаць дзеянне па апавяшчэнні, разблакіруйце прыладу</translation> <translation id="1420408895951708260">Уключыць або выключыць Начную падсветку. <ph name="STATE_TEXT" /></translation> <translation id="1420527829902822813">Здымак экрана зроблены і захаваны ў буфер абмену</translation> @@ -65,6 +66,7 @@ <translation id="1550523713251050646">Націсніце, каб убачыць дадатковыя параметры</translation> <translation id="1570871743947603115">Уключыць або выключыць Bluetooth. <ph name="STATE_TEXT" /></translation> <translation id="1589090746204042747">Атрымліваць доступ да ўсіх вашых дзеянняў у гэтым сеансе</translation> +<translation id="1611993646327628135">Уключана</translation> <translation id="1632985212731562677">Доступ праз пераключальнікі можна выключыць у раздзеле "Налады > Спецыяльныя магчымасці".</translation> <translation id="1654477262762802994">Пачаць галасавы запыт</translation> <translation id="1667964833127753507">У рэжыме нейтральнага колеру атрыманыя са шпалер колеры не выкарыстоўваюцца – замест іх прымяняецца набор нейтральных светлых або цёмных адценняў.</translation> @@ -79,6 +81,7 @@ <translation id="1761222317188459878">Уключыць або выключыць падключэнне да сеткі. <ph name="STATE_TEXT" /></translation> <translation id="1771761307086386028">Прагартаць управа</translation> <translation id="1782199038061388045">пераклад</translation> +<translation id="1787955149152357925">Выключана</translation> <translation id="181103072419391116">Магутнасць сігналу – <ph name="SIGNAL_STRENGTH" />; сетка знаходзіцца пад кіраваннем адміністратара</translation> <translation id="1812997170047690955">Што на маім экране?</translation> <translation id="1823873187264960516">Ethernet: <ph name="ADDRESS" /></translation> @@ -166,6 +169,7 @@ <translation id="2706462751667573066">Уверх</translation> <translation id="2718395828230677721">Начная падсветка</translation> <translation id="2727977024730340865">Падключана зарадная прылада нізкай магутнасці. Зарадка акумулятара можа быць нестабільнай.</translation> +<translation id="2743387203779672305">Скапіраваць у буфер абмену</translation> <translation id="2792498699870441125">Alt+Пошук</translation> <translation id="2819276065543622893">Вы выйдзеце з уліковага запісу зараз.</translation> <translation id="2825224105325558319"><ph name="DISPLAY_NAME" /> не падтрымлівае раздзяляльнасць <ph name="SPECIFIED_RESOLUTION" />. Прыменена раздзяляльнасць <ph name="FALLBACK_RESOLUTION" />.</translation> @@ -201,6 +205,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3081696990447829002">Разгарнуць меню</translation> <translation id="3087734570205094154">Знізу</translation> +<translation id="3090989381251959936">Уключыць або выключыць функцыю "<ph name="FEATURE_NAME" />". <ph name="STATE_TEXT" /></translation> <translation id="309749186376891736">Перамясціць курсор</translation> <translation id="3098580329624789136">Атрымаць <ph name="INTENT" /> для "<ph name="QUERY" />"</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth)</translation> @@ -233,6 +238,7 @@ <translation id="3371140690572404006">Прылада USB-C (пярэдні порт справа)</translation> <translation id="3386978599540877378">экранная лупа ў поўнаэкранным рэжыме</translation> <translation id="3400357268283240774">Дадатковыя налады</translation> +<translation id="3410336247007142655">Паказаць налады цёмнай тэмы</translation> <translation id="3413817803639110246">Пакуль што нічога няма</translation> <translation id="3428447136709161042">Адключыцца ад сеткі "<ph name="NETWORK_NAME" />"</translation> <translation id="3430396595145920809">Каб вярнуцца назад, правядзіце пальцам з правага краю</translation> @@ -326,6 +332,7 @@ <translation id="4378551569595875038">Падключэнне...</translation> <translation id="4379531060876907730">Гэта інструменты стыла</translation> <translation id="4389184120735010762">Вы націснулі спалучэнне клавіш для прыстыкаванай лупы. Уключыць яе?</translation> +<translation id="4412944820643904175">Стан функцыі "<ph name="FEATURE_NAME" />": выключана.</translation> <translation id="4421231901400348175">Абагульванне кантролю над экранам з карыстальнікам <ph name="HELPER_NAME" /> праз Аддаленую дапамогу.</translation> <translation id="4430019312045809116">Гучнасць</translation> <translation id="4450893287417543264">Больш не паказваць</translation> @@ -345,6 +352,7 @@ <translation id="4570957409596482333">Кнопка "Чытаць уголас"</translation> <translation id="4577274620589681794">Час выйшаў · <ph name="LABEL" /></translation> <translation id="4585337515783392668">Спыніць трансляцыю невядомаму атрымальніку</translation> +<translation id="4596144739579517758">Цёмная тэма выключана</translation> <translation id="4623167406982293031">Пацвердзіць уліковы запіс</translation> <translation id="4628757576491864469">Прылады</translation> <translation id="4659419629803378708">ChromeVox уключаны</translation> @@ -387,6 +395,7 @@ <translation id="5168181903108465623">Ёсць даступныя прылады для трансляцыі</translation> <translation id="5170568018924773124">Паказаць у папцы</translation> <translation id="5207949376430453814">Указваць на курсор рэдагавання тэксту</translation> +<translation id="5208059991603368177">Уключана</translation> <translation id="5222676887888702881">Выйсці</translation> <translation id="523505283826916779">Налады спецыяльных магчымасцей</translation> <translation id="5260676007519551770">Стол 4</translation> @@ -398,6 +407,7 @@ <translation id="5313326810920013265">Налады Bluetooth</translation> <translation id="5314219114274263156">Запіс экрана зроблены</translation> <translation id="5331975486040154427">Прылада USB-C (задні порт злева)</translation> +<translation id="5352250171825660495">Цёмная тэма ўключана</translation> <translation id="5379115545237091094">Занадта шмат спроб</translation> <translation id="5397578532367286026">Выкарыстанне і гісторыя гэтага карыстальніка могуць праглядацца менеджарам (<ph name="MANAGER_EMAIL" />) на chrome.com.</translation> <translation id="5400461572260843123">Хуткія налады. Каб адкрыць цэнтр апавяшчэнняў, націсніце "пошук + улева".</translation> @@ -434,6 +444,7 @@ <translation id="5769373120130404283">Экран прыватнасці</translation> <translation id="5777841717266010279">Спыніць абагульванне экрана?</translation> <translation id="5790085346892983794">Выканана</translation> +<translation id="579415080077680903">Без гуку</translation> <translation id="5820394555380036790">Chromium OS</translation> <translation id="5837036133683224804">Спыніць трансляцыю <ph name="ROUTE_TITLE" /> на <ph name="RECEIVER_NAME" /></translation> <translation id="5860033963881614850">Выключана</translation> @@ -444,6 +455,7 @@ <translation id="5911909173233110115"><ph name="USERNAME" /> (<ph name="MAIL" />)</translation> <translation id="5916664084637901428">Уключана</translation> <translation id="5920710855273935292">Мікрафон выключаны.</translation> +<translation id="5946788582095584774">Стан функцыі "<ph name="FEATURE_NAME" />": уключана.</translation> <translation id="5947494881799873997">Вярнуць</translation> <translation id="595202126637698455">Уключана трасіроўка прадукцыйнасці</translation> <translation id="5957083217255311415">Мабільная перадача даных выключана.</translation> @@ -468,6 +480,7 @@ <translation id="615957422585914272">Паказаць экранную клавіятуру</translation> <translation id="6164005077879661055">Пры выдаленні падкантрольнага карыстальніка будуць выдалены ўсе звязаныя з ім файлы і лакальныя даныя. На старонцы <ph name="MANAGEMENT_URL" /> менеджар па-ранейшаму можа мець магчымасць бачыць гісторыю наведаных вэб-сайтаў і налады для гэтага карыстальніка.</translation> <translation id="6165508094623778733">Даведацца больш</translation> +<translation id="6192859646269780503">Знайсці тэлефон</translation> <translation id="622484624075952240">Уніз</translation> <translation id="6236290670123303279">Кіраваць наладамі</translation> <translation id="6237231532760393653">1X</translation> @@ -539,6 +552,7 @@ <translation id="6981982820502123353">Спец. магчымасці</translation> <translation id="698231206551913481">Пры выдаленні карыстальніка будуць выдалены ўсе звязаныя з ім файлы і лакальныя даныя.</translation> <translation id="7007983414944123363">Пароль або PIN-код спраўдзіць не ўдалося. Паўтарыце спробу.</translation> +<translation id="7013005189539051442">Уключыць хот-спот</translation> <translation id="7015766095477679451">Можна будзе прадоўжыць у <ph name="COME_BACK_TIME" />.</translation> <translation id="7025533177575372252">Падключыце прыладу "<ph name="DEVICE_NAME" />" да тэлефона</translation> <translation id="7026338066939101231">Паменшыць</translation> @@ -573,6 +587,7 @@ <translation id="742594950370306541">Камера выкарыстоўваецца.</translation> <translation id="742608627846767349">Добрай раніцы,</translation> <translation id="743058460480092004">Камера і мікрафон выкарыстоўваюцца.</translation> +<translation id="7461924472993315131">PIN-код</translation> <translation id="7466449121337984263">Дакраніцеся да сканера</translation> <translation id="7477793887173910789">Кіруйце музыкай, відэа і шмат чым іншым</translation> <translation id="7497767806359279797">Выбраць мову і клавіятуру</translation> @@ -611,6 +626,7 @@ <translation id="7842569679327885685">Увага! Эксперыментальная функцыя</translation> <translation id="7846634333498149051">Клавіятура</translation> <translation id="7868900307798234037">Разблакіроўка па адбітку пальца</translation> +<translation id="7872786842639831132">Выключана</translation> <translation id="7886169021410746335">Змяняць налады прыватнасці</translation> <translation id="7886277072580235377">Сеанс працы ў інтэрнэце будзе ачышчаны, калі вы выйдзеце. <ph name="LEARN_MORE" /></translation> <translation id="788781083998633524">Адправіць электронны ліст</translation> @@ -715,6 +731,7 @@ <translation id="8853703225951107899">Пароль або PIN-код спраўдзіць зноў не ўдалося. Заўвага: калі вы нядаўна змянілі пароль, то выкарыстайце тут стары пароль. Новы пароль будзе прыменены пасля выхаду.</translation> <translation id="885387440427703469">Функцыя здымкі экрана выключана</translation> <translation id="8870509716567206129">Праграма не падтрымлівае рэжым падзеленага экрана.</translation> +<translation id="8871580645200179206">Уключыць або выключыць цёмную тэму. <ph name="STATE_TEXT" /></translation> <translation id="8874184842967597500">Не падключана</translation> <translation id="8877788021141246043">Задайце напамін</translation> <translation id="8878886163241303700">Экран пашыраецца</translation>
diff --git a/ash/strings/ash_strings_bg.xtb b/ash/strings/ash_strings_bg.xtb index 37de9a3..c155ae42 100644 --- a/ash/strings/ash_strings_bg.xtb +++ b/ash/strings/ash_strings_bg.xtb
@@ -48,6 +48,7 @@ <translation id="1351937230027495976">Свиване на менюто</translation> <translation id="1383876407941801731">Търсене</translation> <translation id="1391102559483454063">Включено</translation> +<translation id="1407069428457324124">Тъмна тема</translation> <translation id="1419738280318246476">Отключете устройството, за да се изпълни действието от известието</translation> <translation id="1420408895951708260">Превключване на функцията за нощно осветление. <ph name="STATE_TEXT" /></translation> <translation id="1420527829902822813">Екранната снимка е направена и запазена в буферната памет</translation> @@ -65,6 +66,7 @@ <translation id="1550523713251050646">Кликнете за още опции</translation> <translation id="1570871743947603115">Превключване на Bluetooth. <ph name="STATE_TEXT" /></translation> <translation id="1589090746204042747">да осъществява достъп до цялата ви активност в тази сесия;</translation> +<translation id="1611993646327628135">Вкл.</translation> <translation id="1632985212731562677">Функцията „Достъп с превключване“ може да бъде деактивирана в „Настройки > Достъпност“.</translation> <translation id="1654477262762802994">Стартиране на гласова заявка</translation> <translation id="1667964833127753507">При режима за неутрални цветове не се извличат цветовете от тапета, а се използва набор от неутрални светли или тъмни нюанси.</translation> @@ -79,6 +81,7 @@ <translation id="1761222317188459878">Превключване на връзката с мрежа. <ph name="STATE_TEXT" /></translation> <translation id="1771761307086386028">Превъртане надясно</translation> <translation id="1782199038061388045">превод</translation> +<translation id="1787955149152357925">Изкл.</translation> <translation id="181103072419391116">Сила на сигнала <ph name="SIGNAL_STRENGTH" />, управлява се от администратора ви</translation> <translation id="1812997170047690955">Какво има на екрана ми?</translation> <translation id="1823873187264960516">Ethernet: <ph name="ADDRESS" /></translation> @@ -166,6 +169,7 @@ <translation id="2706462751667573066">Клавиш за нагоре</translation> <translation id="2718395828230677721">Нощно осветление</translation> <translation id="2727977024730340865">Използва се зарядно устройство с малка мощност. Зареждането на батерията може да не е надеждно.</translation> +<translation id="2743387203779672305">Копиране в буферната памет</translation> <translation id="2792498699870441125">Alt + търсене</translation> <translation id="2819276065543622893">Ще излезете сега.</translation> <translation id="2825224105325558319"><ph name="DISPLAY_NAME" /> не поддържа <ph name="SPECIFIED_RESOLUTION" />. Разделителната способност бе променена на <ph name="FALLBACK_RESOLUTION" />.</translation> @@ -201,6 +205,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3081696990447829002">Разгъване на менюто</translation> <translation id="3087734570205094154">Най-долу</translation> +<translation id="3090989381251959936">Превключване на „<ph name="FEATURE_NAME" />“. <ph name="STATE_TEXT" /></translation> <translation id="309749186376891736">Преместване на курсора</translation> <translation id="3098580329624789136">Извеждане на <ph name="INTENT" /> за „<ph name="QUERY" />“</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth)</translation> @@ -233,6 +238,7 @@ <translation id="3371140690572404006">устройство с USB-C (предният десен порт)</translation> <translation id="3386978599540877378">Лупата за увеличаване на целия екран</translation> <translation id="3400357268283240774">Допълнителни настройки</translation> +<translation id="3410336247007142655">Показване на настройките за тъмната тема</translation> <translation id="3413817803639110246">Тук още няма нищо</translation> <translation id="3428447136709161042">Прекратяване на връзката със: <ph name="NETWORK_NAME" /></translation> <translation id="3430396595145920809">Прекарайте пръст отдясно, за да се върнете назад</translation> @@ -326,6 +332,7 @@ <translation id="4378551569595875038">Свързване...</translation> <translation id="4379531060876907730">Това са инструментите ви за писане</translation> <translation id="4389184120735010762">Използвахте клавишната комбинация за лупата в прикрепен режим. Искате ли да включите функцията?</translation> +<translation id="4412944820643904175">„<ph name="FEATURE_NAME" />“ е изключено.</translation> <translation id="4421231901400348175">Споделяте с/ъс <ph name="HELPER_NAME" /> контрола върху екрана си чрез отдалечено съдействие.</translation> <translation id="4430019312045809116">Звук</translation> <translation id="4450893287417543264">Да не се показва отново</translation> @@ -345,6 +352,7 @@ <translation id="4570957409596482333">Бутон за функцията Прочитане на глас</translation> <translation id="4577274620589681794">Времето изтече <ph name="LABEL" /></translation> <translation id="4585337515783392668">Спиране на предаването към неизвестен приемник</translation> +<translation id="4596144739579517758">Тъмната тема е изключена</translation> <translation id="4623167406982293031">Потвърждаване на профила</translation> <translation id="4628757576491864469">Устройства</translation> <translation id="4659419629803378708">Активирахте ChromeVox</translation> @@ -387,6 +395,7 @@ <translation id="5168181903108465623">Налице са устройства Cast</translation> <translation id="5170568018924773124">Показване в папката</translation> <translation id="5207949376430453814">Открояване на точката на вмъкване в текста</translation> +<translation id="5208059991603368177">Вкл.</translation> <translation id="5222676887888702881">Изход</translation> <translation id="523505283826916779">Настройки за достъпност</translation> <translation id="5260676007519551770">Работен кът 4</translation> @@ -398,6 +407,7 @@ <translation id="5313326810920013265">Настройки за Bluetooth</translation> <translation id="5314219114274263156">Направен е запис на екрана</translation> <translation id="5331975486040154427">Устройство с USB-C (задният ляв порт)</translation> +<translation id="5352250171825660495">Тъмната тема е включена</translation> <translation id="5379115545237091094">Твърде много опити</translation> <translation id="5397578532367286026">Данните за употребата и историята на този потребител могат да се преглеждат от мениджъра (<ph name="MANAGER_EMAIL" />) на адрес chrome.com.</translation> <translation id="5400461572260843123">Бързи настройки – за достъп до центъра за известия натиснете клавиша „търсене“ + стрелката наляво.</translation> @@ -434,6 +444,7 @@ <translation id="5769373120130404283">Екран за поверителност</translation> <translation id="5777841717266010279">Да се спре ли споделянето на екрана?</translation> <translation id="5790085346892983794">Успех</translation> +<translation id="579415080077680903">Тишина</translation> <translation id="5820394555380036790">Chromium OS</translation> <translation id="5837036133683224804">Спиране на предаването на <ph name="ROUTE_TITLE" /> към „<ph name="RECEIVER_NAME" />“</translation> <translation id="5860033963881614850">Изключено</translation> @@ -444,6 +455,7 @@ <translation id="5911909173233110115"><ph name="USERNAME" /> (<ph name="MAIL" />)</translation> <translation id="5916664084637901428">Включено</translation> <translation id="5920710855273935292">Микрофонът е заглушен.</translation> +<translation id="5946788582095584774">„<ph name="FEATURE_NAME" />“ е включено.</translation> <translation id="5947494881799873997">Възстановяване</translation> <translation id="595202126637698455">Проследяването на ефективността е активирано</translation> <translation id="5957083217255311415">Мобилните данни са изключени.</translation> @@ -468,6 +480,7 @@ <translation id="615957422585914272">Показване на екранната клавиатура</translation> <translation id="6164005077879661055">Всички файлове и локални данни, свързани с контролирания потребител, ще бъдат изтрити за постоянно, щом той бъде премахнат. Посетените уебсайтове и настройките за него може все още да се виждат от мениджъра на адрес <ph name="MANAGEMENT_URL" />.</translation> <translation id="6165508094623778733">Научете повече</translation> +<translation id="6192859646269780503">Намиране на телефона</translation> <translation id="622484624075952240">Клавиш за надолу</translation> <translation id="6236290670123303279">Управление на настройките</translation> <translation id="6237231532760393653">1X</translation> @@ -539,6 +552,7 @@ <translation id="6981982820502123353">Достъпност</translation> <translation id="698231206551913481">След като този потребител бъде премахнат, всички свързани с него файлове и локални данни ще се изтрият за постоянно.</translation> <translation id="7007983414944123363">ПИН кодът или паролата ви не бяха потвърдени. Опитайте отново.</translation> +<translation id="7013005189539051442">Активиране на точката за достъп</translation> <translation id="7015766095477679451">Ще бъда отново на ваше разположение в <ph name="COME_BACK_TIME" />.</translation> <translation id="7025533177575372252">Свързване на устройството ви <ph name="DEVICE_NAME" /> с телефона ви</translation> <translation id="7026338066939101231">Намаляване</translation> @@ -573,6 +587,7 @@ <translation id="742594950370306541">Камерата се използва.</translation> <translation id="742608627846767349">Добро утро,</translation> <translation id="743058460480092004">Камерата и микрофонът се използват.</translation> +<translation id="7461924472993315131">Фиксиране</translation> <translation id="7466449121337984263">Моля, докоснете сензора</translation> <translation id="7477793887173910789">Управление на музиката, видеоклиповете и др.</translation> <translation id="7497767806359279797">Избор на език и клавиатура</translation> @@ -611,6 +626,7 @@ <translation id="7842569679327885685">Предупреждение: Експериментална функция</translation> <translation id="7846634333498149051">Клавиатура</translation> <translation id="7868900307798234037">Отключване с отпечатък</translation> +<translation id="7872786842639831132">Изкл.</translation> <translation id="7886169021410746335">да коригира настройките за поверителност.</translation> <translation id="7886277072580235377">Сесията ви за интернет ще бъде изчистена, когато излезете от профила си. <ph name="LEARN_MORE" /></translation> <translation id="788781083998633524">„Send an email“ („Изпрати имейл“)</translation> @@ -715,6 +731,7 @@ <translation id="8853703225951107899">ПИН кодът или паролата ви пак не бяха потвърдени. Забележка: Ако наскоро сте променили паролата си, използвайте старата. Новата ще бъде приложена, щом излезете от профила си.</translation> <translation id="885387440427703469">Заснемането на екрана е деактивирано</translation> <translation id="8870509716567206129">Приложението не поддържа разделен екран.</translation> +<translation id="8871580645200179206">Превключване на тъмната тема. <ph name="STATE_TEXT" /></translation> <translation id="8874184842967597500">Няма връзка</translation> <translation id="8877788021141246043">„Set a reminder“ („Задай напомняне“)</translation> <translation id="8878886163241303700">Разгъване на екрана</translation>
diff --git a/ash/strings/ash_strings_bn.xtb b/ash/strings/ash_strings_bn.xtb index d5bc68d..3681a806 100644 --- a/ash/strings/ash_strings_bn.xtb +++ b/ash/strings/ash_strings_bn.xtb
@@ -48,6 +48,7 @@ <translation id="1351937230027495976">মেনুটি আড়াল করুন</translation> <translation id="1383876407941801731">Search</translation> <translation id="1391102559483454063">চালু করা আছে</translation> +<translation id="1407069428457324124">ডার্ক থিম</translation> <translation id="1419738280318246476">বিজ্ঞপ্তি সম্পর্কিত অ্যাকশনের জন্য ডিভাইস আনলক করুন</translation> <translation id="1420408895951708260">নাইট লাইট ফিচারটি টগল করুন। <ph name="STATE_TEXT" /></translation> <translation id="1420527829902822813">স্ক্রিনশট নিয়ে ক্লিপবোর্ডে সেভ করা হয়েছে</translation> @@ -65,6 +66,7 @@ <translation id="1550523713251050646">আরও বিকল্পের জন্য ক্লিক করুন</translation> <translation id="1570871743947603115">ব্লুটুথ টগল করুন। <ph name="STATE_TEXT" /></translation> <translation id="1589090746204042747">এই সেশনে আপনার সব অ্যাক্টিভিটি অ্যাক্সেস করুন</translation> +<translation id="1611993646327628135">চালু আছে</translation> <translation id="1632985212731562677">সেটিংস > অ্যাক্সেসিবিলিটি বিকল্পে গিয়ে 'অ্যাক্সেস পাল্টান' ফিচারটি বন্ধ করা করতে পারেন।</translation> <translation id="1654477262762802994">ভয়েস কোয়েরি শুরু করুন</translation> <translation id="1667964833127753507">'নিউট্রাল কালার' মোড ওয়ালপেপার থেকে রং নিয়ে ব্যবহার করে না। এর পরিবর্তে নিউট্রাল টোনযুক্ত কিছু হালকা অথবা গাঢ় হিউ ব্যবহার করা হয়।</translation> @@ -79,6 +81,7 @@ <translation id="1761222317188459878">নেটওয়ার্ক কানেকশন টগল করুন। <ph name="STATE_TEXT" /></translation> <translation id="1771761307086386028">ডান দিকে স্ক্রল করুন</translation> <translation id="1782199038061388045">অনুবাদ</translation> +<translation id="1787955149152357925">বন্ধ আছে</translation> <translation id="181103072419391116">সিগন্যাল: <ph name="SIGNAL_STRENGTH" />, আপনার অ্যাডমিনিস্ট্রেটর ম্যানেজ করে</translation> <translation id="1812997170047690955">আমার স্ক্রিনে কী রয়েছে?</translation> <translation id="1823873187264960516">ইথারনেট: <ph name="ADDRESS" /></translation> @@ -166,6 +169,7 @@ <translation id="2706462751667573066">উপরের</translation> <translation id="2718395828230677721">নাইট লাইট</translation> <translation id="2727977024730340865">একটি নিম্ন শক্তির চার্জার প্লাগইন করা হয়েছে৷ বিশ্বস্ত ব্যাটারি চার্জ নাও হতে পারে৷</translation> +<translation id="2743387203779672305">ক্লিপবোর্ডে কপি করুন</translation> <translation id="2792498699870441125">Alt+Search</translation> <translation id="2819276065543622893">আপনি এখনই প্রস্থান করুন হবেন৷</translation> <translation id="2825224105325558319"><ph name="DISPLAY_NAME" /> <ph name="SPECIFIED_RESOLUTION" /> রেজোলিউশনে চলতে পারে না। তাই রেজোলিউশন পরিবর্তন করে <ph name="FALLBACK_RESOLUTION" /> করা হয়েছে।</translation> @@ -201,6 +205,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3081696990447829002">মেনুটি বড় করুন</translation> <translation id="3087734570205094154">নিচে</translation> +<translation id="3090989381251959936"><ph name="FEATURE_NAME" /> টগল করুন। <ph name="STATE_TEXT" /></translation> <translation id="309749186376891736">কার্সর সরান</translation> <translation id="3098580329624789136">"<ph name="QUERY" />"-এর জন্য <ph name="INTENT" /> পান</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (ব্লুটুথ)</translation> @@ -233,6 +238,7 @@ <translation id="3371140690572404006">USB-C ডিভাইস (ডান দিকের সামনের পোর্ট)</translation> <translation id="3386978599540877378">ফুল-স্ক্রিন ম্যাগনিফায়ার</translation> <translation id="3400357268283240774">আরও সেটিংস</translation> +<translation id="3410336247007142655">'ডার্ক থিম' সেটিংস দেখুন</translation> <translation id="3413817803639110246">এখনও পর্যন্ত কিছু দেখার নেই</translation> <translation id="3428447136709161042"><ph name="NETWORK_NAME" /> নেটওয়ার্কের থেকে ডিসকানেক্ট করা হয়েছে</translation> <translation id="3430396595145920809">ফিরে যেতে আপনার স্ক্রিনের ডান দিক থেকে সোয়াইপ করুন</translation> @@ -326,6 +332,7 @@ <translation id="4378551569595875038">সংযুক্ত হচ্ছে...</translation> <translation id="4379531060876907730">এগুলি হল আপনার স্টাইলাস টুল</translation> <translation id="4389184120735010762">ডক করা ম্যাগনিফায়ারের জন্য আপনি কীবোর্ড শর্টকাট টিপেছেন। আপনি কি এটি চালু করতে চান?</translation> +<translation id="4412944820643904175"><ph name="FEATURE_NAME" /> বন্ধ আছে।</translation> <translation id="4421231901400348175">রিমোট সহায়কের মাধ্যমে <ph name="HELPER_NAME" />-এর সাথে আপনার স্ক্রিন নিয়ন্ত্রন ভাগ করুন৷</translation> <translation id="4430019312045809116">ভলিউম</translation> <translation id="4450893287417543264">আর দেখতে চাই না</translation> @@ -345,6 +352,7 @@ <translation id="4570957409596482333">বাছুন ও শুনুন বোতাম</translation> <translation id="4577274620589681794">সময় শেষ হয়ে গেছে · <ph name="LABEL" /></translation> <translation id="4585337515783392668">অজানা ডিভাইসে কাস্ট করা বন্ধ করুন</translation> +<translation id="4596144739579517758">ডার্ক থিম বন্ধ আছে</translation> <translation id="4623167406982293031">অ্যাকাউন্ট যাচাই করুন</translation> <translation id="4628757576491864469">ডিভাইস</translation> <translation id="4659419629803378708">ChromeVox সক্ষম করা আছে</translation> @@ -387,6 +395,7 @@ <translation id="5168181903108465623">কাস্ট ডিভাইসগুলি উপলব্ধ</translation> <translation id="5170568018924773124">ফোল্ডারে দেখান</translation> <translation id="5207949376430453814">পাঠ্যের কার্সার হাইলাইট করুন</translation> +<translation id="5208059991603368177">চালু আছে</translation> <translation id="5222676887888702881">সাইন-আউট করুন</translation> <translation id="523505283826916779">অ্যাক্সেসিবিলিটি সেটিংস</translation> <translation id="5260676007519551770">ডেস্ক ৪</translation> @@ -398,6 +407,7 @@ <translation id="5313326810920013265">ব্লুটুথ সেটিংস</translation> <translation id="5314219114274263156">স্ক্রিন রেকর্ডিং করা হয়েছে</translation> <translation id="5331975486040154427">USB-C ডিভাইস (বাঁ দিকের পিছনের পোর্ট)</translation> +<translation id="5352250171825660495">ডার্ক থিম চালু আছে</translation> <translation id="5379115545237091094">অনেক বেশি চেষ্টা করেছেন</translation> <translation id="5397578532367286026">chrome.com-এ পরিচালক (<ph name="MANAGER_EMAIL" />) এই ব্যবহারকারীর ব্যবহার এবং ইতিহাস পর্যালোচনা করতে পারেন৷</translation> <translation id="5400461572260843123">দ্রুত সেটিংস, বিজ্ঞপ্তি কেন্দ্র অ্যাক্সেস করতে, 'সার্চ করুন' ও 'বাঁদিকে যান' বোতামে একসাথে প্রেস করুন।</translation> @@ -434,6 +444,7 @@ <translation id="5769373120130404283">গোপনীয়তা স্ক্রিন</translation> <translation id="5777841717266010279">স্ক্রিন শেয়ার করা থামাবেন?</translation> <translation id="5790085346892983794">সফল</translation> +<translation id="579415080077680903">সাইলেন্স</translation> <translation id="5820394555380036790">Chromium OS</translation> <translation id="5837036133683224804"><ph name="RECEIVER_NAME" />-এ <ph name="ROUTE_TITLE" /> বন্ধ করুন</translation> <translation id="5860033963881614850">বন্ধ করুন</translation> @@ -444,6 +455,7 @@ <translation id="5911909173233110115"><ph name="USERNAME" /> (<ph name="MAIL" />)</translation> <translation id="5916664084637901428">চালু</translation> <translation id="5920710855273935292">মাইক্রোফোন মিউট করা আছে।</translation> +<translation id="5946788582095584774"><ph name="FEATURE_NAME" /> চালু আছে।</translation> <translation id="5947494881799873997">ফেরান</translation> <translation id="595202126637698455">কার্য-সম্পাদনা ট্রেস করা সক্ষম রয়েছে</translation> <translation id="5957083217255311415">মোবাইল ডেটা বন্ধ করা আছে।</translation> @@ -469,6 +481,7 @@ <translation id="6164005077879661055">একবার এই তত্ত্বাবধানে থাকা ব্যবহারকারী সরানো হলে এর সঙ্গে সংশ্লিষ্ট সমস্ত ফাইল এবং স্থানীয় ডেটা স্থায়ীভাবে মুছে ফেলা হবে৷ এই তত্ত্বাবধানে থাকা ব্যবহারকারীর জন্য পরিদর্শিত এবং সেটিংস <ph name="MANAGEMENT_URL" />-এ পরিচালকের কাছে এখনো দৃশ্যমান হতে পারে৷</translation> <translation id="6165508094623778733">আরও জানুন</translation> +<translation id="6192859646269780503">ফোন খুঁজে পাওয়ার সুবিধা</translation> <translation id="622484624075952240">নিচের</translation> <translation id="6236290670123303279">সেটিংস ম্যানেজ করুন</translation> <translation id="6237231532760393653">1X</translation> @@ -540,6 +553,7 @@ <translation id="6981982820502123353">ব্যবহারযোগ্যতা</translation> <translation id="698231206551913481">একবার এই ব্যবহারকারীকে সরানো হলে এর সঙ্গে সংশ্লিষ্ট সমস্ত ফাইল এবং স্থানীয় ডেটা স্থায়ীভাবে মুছে ফেলা হবে।</translation> <translation id="7007983414944123363">আপনার পিন বা পাসওয়ার্ড যাচাই করা যায়নি। আবার চেষ্টা করুন।</translation> +<translation id="7013005189539051442">হটস্পট চালু করুন</translation> <translation id="7015766095477679451"><ph name="COME_BACK_TIME" />-এ আবার ব্যবহার করতে পারবেন।</translation> <translation id="7025533177575372252"><ph name="DEVICE_NAME" />-কে আপনার ফোনের সাথে কানেক্ট করুন</translation> <translation id="7026338066939101231">হ্রাস</translation> @@ -574,6 +588,7 @@ <translation id="742594950370306541">ক্যামেরা ব্যবহার করা হচ্ছে।</translation> <translation id="742608627846767349">সুপ্রভাত,</translation> <translation id="743058460480092004">ক্যামেরা এবং মাইক্রোফোন ব্যবহার করা হচ্ছে।</translation> +<translation id="7461924472993315131">পিন</translation> <translation id="7466449121337984263">সেন্সরটি স্পর্শ করুন</translation> <translation id="7477793887173910789">আপনার মিউজিক, ভিডিও ও আরও অনেক কিছু নিয়ন্ত্রণ করুন</translation> <translation id="7497767806359279797">ভাষা এবং কীবোর্ড বেছে নিন</translation> @@ -612,6 +627,7 @@ <translation id="7842569679327885685">সতর্কতা: পরীক্ষামূলক বৈশিষ্ট্য</translation> <translation id="7846634333498149051">কীবোর্ড</translation> <translation id="7868900307798234037">আঙ্গুলের ছাপ দিয়ে আনলক করা হচ্ছে</translation> +<translation id="7872786842639831132">বন্ধ আছে</translation> <translation id="7886169021410746335">গোপনীয়তা সেটিংস অ্যাডজাস্ট করুন</translation> <translation id="7886277072580235377">আপনি সাইন-আউট করলে আপনার ইন্টারনেট সেশন মুছে ফেলা হবে। <ph name="LEARN_MORE" /></translation> <translation id="788781083998633524">একটি ইমেল পাঠান</translation> @@ -716,6 +732,7 @@ <translation id="8853703225951107899">আপনার পিন বা পাসওয়ার্ড এখনও যাচাই করা যায়নি। মনে রাখবেন: আপনি সম্প্রতি পাসওয়ার্ড পরিবর্তন করে থাকলে, পুরনো পাসওয়ার্ড ব্যবহার করুন। আপনি সাইন-আউট করলে নতুন পাসওয়ার্ড প্রয়োগ করা হবে।</translation> <translation id="885387440427703469">স্ক্রিন ক্যাপচার করার সুবিধা বন্ধ করা হয়েছে</translation> <translation id="8870509716567206129">অ্যাপ্লিকেশনটি বিভক্ত-স্ক্রিন সমর্থন করে না৷</translation> +<translation id="8871580645200179206">ডার্ক থিম টগল করুন। <ph name="STATE_TEXT" /></translation> <translation id="8874184842967597500">সংযুক্ত নয়</translation> <translation id="8877788021141246043">রিমাইন্ডার সেট করুন</translation> <translation id="8878886163241303700">স্ক্রিন সম্প্রসারণ করা হচ্ছে</translation>
diff --git a/ash/strings/ash_strings_bs.xtb b/ash/strings/ash_strings_bs.xtb index b11d5c3b..7027d3c 100644 --- a/ash/strings/ash_strings_bs.xtb +++ b/ash/strings/ash_strings_bs.xtb
@@ -169,6 +169,7 @@ <translation id="2706462751667573066">Gore</translation> <translation id="2718395828230677721">Noćno svjetlo</translation> <translation id="2727977024730340865">Priključeno na niskonaponski punjač. Punjenje baterije može biti nepouzdano.</translation> +<translation id="2743387203779672305">Kopiraj u međumemoriju</translation> <translation id="2792498699870441125">Alt + tipka za pretraživanje</translation> <translation id="2819276065543622893">Sada ćete se odjaviti.</translation> <translation id="2825224105325558319"><ph name="DISPLAY_NAME" /> ne podržava rezoluciju <ph name="SPECIFIED_RESOLUTION" />. Rezolucija je promijenjena na <ph name="FALLBACK_RESOLUTION" />.</translation> @@ -204,7 +205,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3081696990447829002">Proširivanje menija</translation> <translation id="3087734570205094154">Dolje</translation> -<translation id="3090989381251959936">Uključite ili isključite značajku <ph name="FEATURE_NAME" />. <ph name="STATE_TEXT" /></translation> +<translation id="3090989381251959936">Uključite/isključite funkciju <ph name="FEATURE_NAME" />. <ph name="STATE_TEXT" /></translation> <translation id="309749186376891736">Pomjeranje kursora</translation> <translation id="3098580329624789136">Preuzmite sljedeće: <ph name="INTENT" /> za "<ph name="QUERY" />"</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth)</translation> @@ -237,7 +238,7 @@ <translation id="3371140690572404006">USB-C uređaj (prednji priključak na desnoj strani)</translation> <translation id="3386978599540877378">povećalo preko cijelog ekrana</translation> <translation id="3400357268283240774">Dodatne postavke</translation> -<translation id="3410336247007142655">Prikaz postavki Tamne teme</translation> +<translation id="3410336247007142655">Pogledajte postavke tamne teme</translation> <translation id="3413817803639110246">Još uvijek nema sadržaja za prikaz</translation> <translation id="3428447136709161042">Prekidanje veze s mrežom <ph name="NETWORK_NAME" /></translation> <translation id="3430396595145920809">Prevucite prstom zdesna nalijevo da se vratite</translation> @@ -331,7 +332,7 @@ <translation id="4378551569595875038">Povezivanje…</translation> <translation id="4379531060876907730">Ovo su vaši alati za korištenje olovke</translation> <translation id="4389184120735010762">Pritisnuli ste prečicu na tastaturi za lupu priključne stanice. Želite li je uključiti?</translation> -<translation id="4412944820643904175">Značajka <ph name="FEATURE_NAME" /> je isključena.</translation> +<translation id="4412944820643904175">Funkcija <ph name="FEATURE_NAME" /> je isključena.</translation> <translation id="4421231901400348175">Dijeljenje kontrole nad vašim ekranom s pomoćnikom <ph name="HELPER_NAME" /> putem pomoći na daljinu.</translation> <translation id="4430019312045809116">Jačina zvuka</translation> <translation id="4450893287417543264">Ne prikazuj ponovo</translation> @@ -351,7 +352,7 @@ <translation id="4570957409596482333">Dugme Odaberite za govor</translation> <translation id="4577274620589681794">Vrijeme je isteklo · <ph name="LABEL" /></translation> <translation id="4585337515783392668">Zaustavi emitiranje na nepoznati prijemnik</translation> -<translation id="4596144739579517758">Tamna je tema isključena</translation> +<translation id="4596144739579517758">Tamna tema je isključena</translation> <translation id="4623167406982293031">Potvrdite račun</translation> <translation id="4628757576491864469">Uređaji</translation> <translation id="4659419629803378708">ChromeVox je omogućen</translation> @@ -443,7 +444,7 @@ <translation id="5769373120130404283">Ekran za privatnost</translation> <translation id="5777841717266010279">Zaustaviti dijeljenje ekrana?</translation> <translation id="5790085346892983794">Uspjeh</translation> -<translation id="579415080077680903">Tišina</translation> +<translation id="579415080077680903">Utišavanje</translation> <translation id="5820394555380036790">Chromium OS</translation> <translation id="5837036133683224804">Zaustavi <ph name="ROUTE_TITLE" /> na primaocu <ph name="RECEIVER_NAME" /></translation> <translation id="5860033963881614850">Isklj.</translation> @@ -454,7 +455,7 @@ <translation id="5911909173233110115"><ph name="USERNAME" /> (<ph name="MAIL" />)</translation> <translation id="5916664084637901428">Uključeno</translation> <translation id="5920710855273935292">Mikrofon je isključen.</translation> -<translation id="5946788582095584774">Značajka <ph name="FEATURE_NAME" /> je uključena.</translation> +<translation id="5946788582095584774">Funkcija <ph name="FEATURE_NAME" /> je uključena.</translation> <translation id="5947494881799873997">Vrati</translation> <translation id="595202126637698455">Praćenje performansi je omogućeno</translation> <translation id="5957083217255311415">Prijenos podataka na mobilnoj mreži je isključen.</translation> @@ -551,7 +552,7 @@ <translation id="6981982820502123353">Pristupačnost</translation> <translation id="698231206551913481">Nakon što se ukloni ovaj korisnik, trajno će se izbrisati svi fajlovi i lokalni podaci povezani s njim.</translation> <translation id="7007983414944123363">Potvrđivanje PIN-a ili lozinke nije uspjelo. Pokušajte ponovo.</translation> -<translation id="7013005189539051442">Omogućivanje žarišne točke</translation> +<translation id="7013005189539051442">Omogućavanje pristupne tačke</translation> <translation id="7015766095477679451">Vratite se u <ph name="COME_BACK_TIME" />.</translation> <translation id="7025533177575372252">Povežite uređaj <ph name="DEVICE_NAME" /> sa svojim telefonom</translation> <translation id="7026338066939101231">Pomak unatrag</translation> @@ -586,6 +587,7 @@ <translation id="742594950370306541">Kamera se koristi.</translation> <translation id="742608627846767349">Dobro jutro,</translation> <translation id="743058460480092004">Kamera i mikrofon su u upotrebi.</translation> +<translation id="7461924472993315131">PIN</translation> <translation id="7466449121337984263">Dodirnite senzor</translation> <translation id="7477793887173910789">Kontrolirajte muziku, videozapise i drugi sadržaj</translation> <translation id="7497767806359279797">Odaberite jezik i tastaturu</translation> @@ -729,7 +731,7 @@ <translation id="8853703225951107899">Potvrđivanje PIN-a ili lozinke i dalje nije uspjelo. Napomena: Ako ste nedavno promijenili lozinku, koristite staru. Nova lozinka će se primijeniti nakon što se odjavite.</translation> <translation id="885387440427703469">Snimanje ekrana je onemogućeno</translation> <translation id="8870509716567206129">Aplikacija ne podržava dijeljenje ekrana.</translation> -<translation id="8871580645200179206">Uključite ili isključite Tamnu temu. <ph name="STATE_TEXT" /></translation> +<translation id="8871580645200179206">Uključite/isključite tamnu temu. <ph name="STATE_TEXT" /></translation> <translation id="8874184842967597500">Nije povezano</translation> <translation id="8877788021141246043">Postavite podsjetnik</translation> <translation id="8878886163241303700">Prošireni ekran</translation>
diff --git a/ash/strings/ash_strings_ca.xtb b/ash/strings/ash_strings_ca.xtb index 290619c..430c36d 100644 --- a/ash/strings/ash_strings_ca.xtb +++ b/ash/strings/ash_strings_ca.xtb
@@ -169,6 +169,7 @@ <translation id="2706462751667573066">Amunt</translation> <translation id="2718395828230677721">Llum nocturna</translation> <translation id="2727977024730340865">S'ha connectat a un carregador de baix consum. És possible que la càrrega de la bateria no sigui fiable.</translation> +<translation id="2743387203779672305">Copia al porta-retalls</translation> <translation id="2792498699870441125">Alt+Cerca</translation> <translation id="2819276065543622893">Ara se us tancarà la sessió.</translation> <translation id="2825224105325558319"><ph name="DISPLAY_NAME" /> no admet la resolució <ph name="SPECIFIED_RESOLUTION" />. La resolució ha canviat a <ph name="FALLBACK_RESOLUTION" />.</translation> @@ -586,6 +587,7 @@ <translation id="742594950370306541">La càmera s'està utilitzant.</translation> <translation id="742608627846767349">Bon dia,</translation> <translation id="743058460480092004">La càmera i el micròfon s'estan utilitzant.</translation> +<translation id="7461924472993315131">Fixa</translation> <translation id="7466449121337984263">Toca el sensor</translation> <translation id="7477793887173910789">Controla la música, els vídeos i molt més</translation> <translation id="7497767806359279797">Tria l'idioma i el teclat</translation>
diff --git a/ash/strings/ash_strings_cs.xtb b/ash/strings/ash_strings_cs.xtb index 47afcb5..527aba1 100644 --- a/ash/strings/ash_strings_cs.xtb +++ b/ash/strings/ash_strings_cs.xtb
@@ -169,6 +169,7 @@ <translation id="2706462751667573066">Nahoru</translation> <translation id="2718395828230677721">Noční režim</translation> <translation id="2727977024730340865">Byla připojena nabíječka s nízkým výkonem. Nabíjení baterie nemusí probíhat spolehlivě.</translation> +<translation id="2743387203779672305">Zkopírovat do schránky</translation> <translation id="2792498699870441125">Alt + Vyhledávání</translation> <translation id="2819276065543622893">Nyní budete odhlášeni.</translation> <translation id="2825224105325558319"><ph name="DISPLAY_NAME" /> rozlišení <ph name="SPECIFIED_RESOLUTION" /> nepodporuje. Rozlišení bylo změněno na <ph name="FALLBACK_RESOLUTION" />.</translation> @@ -586,6 +587,7 @@ <translation id="742594950370306541">Kamera je používána.</translation> <translation id="742608627846767349">Dobré ráno,</translation> <translation id="743058460480092004">Kamera a mikrofon jsou používány.</translation> +<translation id="7461924472993315131">Připnout</translation> <translation id="7466449121337984263">Dotkněte se senzoru</translation> <translation id="7477793887173910789">Ovládejte hudbu, videa a další obsah</translation> <translation id="7497767806359279797">Vybrat jazyk a klávesnici</translation>
diff --git a/ash/strings/ash_strings_da.xtb b/ash/strings/ash_strings_da.xtb index 01bb8575..4827312f 100644 --- a/ash/strings/ash_strings_da.xtb +++ b/ash/strings/ash_strings_da.xtb
@@ -169,6 +169,7 @@ <translation id="2706462751667573066">Op</translation> <translation id="2718395828230677721">Nattelys</translation> <translation id="2727977024730340865">Tilsluttet en oplader med lav kraft. Batteriopladningen er muligvis ikke pålidelig.</translation> +<translation id="2743387203779672305">Kopiér til udklipsholderen</translation> <translation id="2792498699870441125">Alt+Søg</translation> <translation id="2819276065543622893">Du bliver logget ud nu.</translation> <translation id="2825224105325558319"><ph name="DISPLAY_NAME" /> understøtter ikke <ph name="SPECIFIED_RESOLUTION" />. Opløsningen blev ændret til <ph name="FALLBACK_RESOLUTION" />.</translation> @@ -587,6 +588,7 @@ <translation id="742594950370306541">Kameraet er i brug.</translation> <translation id="742608627846767349">Godmorgen</translation> <translation id="743058460480092004">Kamera og mikrofon er i brug.</translation> +<translation id="7461924472993315131">Fastgør</translation> <translation id="7466449121337984263">Placer fingeren på sensoren</translation> <translation id="7477793887173910789">Styr din musik, dine videoer og meget mere</translation> <translation id="7497767806359279797">Vælg sprog og tastatur</translation>
diff --git a/ash/strings/ash_strings_de.xtb b/ash/strings/ash_strings_de.xtb index 74c6e6f3..d1684ab 100644 --- a/ash/strings/ash_strings_de.xtb +++ b/ash/strings/ash_strings_de.xtb
@@ -48,6 +48,7 @@ <translation id="1351937230027495976">Menü minimieren</translation> <translation id="1383876407941801731">Durchsuchen</translation> <translation id="1391102559483454063">An</translation> +<translation id="1407069428457324124">Dunkles Design</translation> <translation id="1419738280318246476">Wenn Sie die Benachrichtigungsaktion ausführen möchten, entsperren Sie das Gerät</translation> <translation id="1420408895951708260">Nachtlicht an/aus. <ph name="STATE_TEXT" /></translation> <translation id="1420527829902822813">Screenshot aufgenommen und in der Zwischenablage gespeichert</translation> @@ -65,6 +66,7 @@ <translation id="1550523713251050646">Für weitere Optionen klicken</translation> <translation id="1570871743947603115">Bluetooth aktivieren/deaktivieren. <ph name="STATE_TEXT" /></translation> <translation id="1589090746204042747">Auf alle Ihre Aktivitäten in dieser Sitzung zugreifen</translation> +<translation id="1611993646327628135">An</translation> <translation id="1632985212731562677">Der Schalterzugriff kann unter "Einstellungen" > "Bedienungshilfen" deaktiviert werden.</translation> <translation id="1654477262762802994">Gesprochene Anfrage starten</translation> <translation id="1667964833127753507">Der neutrale Farbmodus verwendet keine aus dem Hintergrund extrahierten Farben, sondern ersetzt sie durch neutrale helle und dunkle Farbtöne.</translation> @@ -79,6 +81,7 @@ <translation id="1761222317188459878">Netzwerkverbindung aktivieren/deaktivieren. <ph name="STATE_TEXT" /></translation> <translation id="1771761307086386028">Nach rechts scrollen</translation> <translation id="1782199038061388045">Übersetzung</translation> +<translation id="1787955149152357925">Aus</translation> <translation id="181103072419391116">Signalstärke bei <ph name="SIGNAL_STRENGTH" />, von Ihrem Administrator verwaltet</translation> <translation id="1812997170047690955">Was wird auf meinem Bildschirm angezeigt?</translation> <translation id="1823873187264960516">Ethernet: <ph name="ADDRESS" /></translation> @@ -166,6 +169,7 @@ <translation id="2706462751667573066">Aufwärts</translation> <translation id="2718395828230677721">Nachtlicht</translation> <translation id="2727977024730340865">Das Gerät ist an ein Schwachstrom-Ladegerät angeschlossen. Möglicherweise kann der Akku nicht zuverlässig aufgeladen werden.</translation> +<translation id="2743387203779672305">In Zwischenablage kopieren</translation> <translation id="2792498699870441125">Alt+Suchtaste</translation> <translation id="2819276065543622893">Sie werden jetzt abgemeldet.</translation> <translation id="2825224105325558319"><ph name="DISPLAY_NAME" /> unterstützt <ph name="SPECIFIED_RESOLUTION" /> nicht. Die Auflösung wurde zu <ph name="FALLBACK_RESOLUTION" /> geändert.</translation> @@ -201,6 +205,7 @@ <translation id="3077734595579995578">Umschalttaste</translation> <translation id="3081696990447829002">Menü maximieren</translation> <translation id="3087734570205094154">Unten</translation> +<translation id="3090989381251959936"><ph name="FEATURE_NAME" /> umschalten. <ph name="STATE_TEXT" /></translation> <translation id="309749186376891736">Textcursor verschieben</translation> <translation id="3098580329624789136"><ph name="INTENT" /> für "<ph name="QUERY" />" abrufen</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth)</translation> @@ -233,6 +238,7 @@ <translation id="3371140690572404006">USB-C-Gerät (Port vorne rechts)</translation> <translation id="3386978599540877378">die Vollbildlupe</translation> <translation id="3400357268283240774">Zusätzliche Einstellungen</translation> +<translation id="3410336247007142655">Einstellungen für das dunkle Design anzeigen</translation> <translation id="3413817803639110246">Noch nichts zu sehen</translation> <translation id="3428447136709161042">Verbindung mit <ph name="NETWORK_NAME" /> trennen</translation> <translation id="3430396595145920809">Vom rechten Bildschirmrand aus wischen, um zurückzugehen</translation> @@ -326,6 +332,7 @@ <translation id="4378551569595875038">Verbindung...</translation> <translation id="4379531060876907730">Dies sind Ihre Eingabestift-Tools</translation> <translation id="4389184120735010762">Sie haben die Tastenkombination für den Modus "Angedockte Lupe" gedrückt. Möchten Sie ihn aktivieren?</translation> +<translation id="4412944820643904175"><ph name="FEATURE_NAME" /> ist deaktiviert.</translation> <translation id="4421231901400348175">Sie teilen sich die Bildschirmsteuerung mit <ph name="HELPER_NAME" /> per Remote-Unterstützung.</translation> <translation id="4430019312045809116">Lautstärke</translation> <translation id="4450893287417543264">Nicht mehr anzeigen</translation> @@ -345,6 +352,7 @@ <translation id="4570957409596482333">Vorlese-Schaltfläche</translation> <translation id="4577274620589681794">Die Zeit ist um · <ph name="LABEL" /></translation> <translation id="4585337515783392668">Streaming an unbekannten Empfänger beenden</translation> +<translation id="4596144739579517758">Dunkles Design ist deaktiviert</translation> <translation id="4623167406982293031">Konto bestätigen</translation> <translation id="4628757576491864469">Geräte</translation> <translation id="4659419629803378708">ChromeVox aktiviert</translation> @@ -387,6 +395,7 @@ <translation id="5168181903108465623">Übertragungsgeräte verfügbar</translation> <translation id="5170568018924773124">In Ordner zeigen</translation> <translation id="5207949376430453814">Textcursor hervorheben</translation> +<translation id="5208059991603368177">An</translation> <translation id="5222676887888702881">Abmelden</translation> <translation id="523505283826916779">Einstellungen für Bedienungshilfen</translation> <translation id="5260676007519551770">Desktop 4</translation> @@ -398,6 +407,7 @@ <translation id="5313326810920013265">Bluetooth-Einstellungen</translation> <translation id="5314219114274263156">Bildschirmaufzeichnung aufgenommen</translation> <translation id="5331975486040154427">USB-C-Gerät (Port hinten links)</translation> +<translation id="5352250171825660495">Dunkles Design ist aktiviert</translation> <translation id="5379115545237091094">Zu viele Versuche</translation> <translation id="5397578532367286026">Die Nutzung und der Verlauf des Nutzers sind für den Manager (<ph name="MANAGER_EMAIL" />) unter chrome.com einsehbar.</translation> <translation id="5400461572260843123">Schnelleinstellungen, drücken Sie Suchtaste + Linkspfeil, um das Benachrichtigungscenter zu öffnen.</translation> @@ -434,6 +444,7 @@ <translation id="5769373120130404283">Datenschutzbildschirm</translation> <translation id="5777841717266010279">Bildschirmfreigabe beenden?</translation> <translation id="5790085346892983794">Abgeschlossen</translation> +<translation id="579415080077680903">Lautlos</translation> <translation id="5820394555380036790">Chromium OS</translation> <translation id="5837036133683224804"><ph name="ROUTE_TITLE" /> auf <ph name="RECEIVER_NAME" /> beenden</translation> <translation id="5860033963881614850">Aus</translation> @@ -444,6 +455,7 @@ <translation id="5911909173233110115"><ph name="USERNAME" /> (<ph name="MAIL" />)</translation> <translation id="5916664084637901428">An</translation> <translation id="5920710855273935292">Mikrofon ist stummgeschaltet.</translation> +<translation id="5946788582095584774"><ph name="FEATURE_NAME" /> ist aktiviert.</translation> <translation id="5947494881799873997">Rückgängig machen</translation> <translation id="595202126637698455">Leistungsnachverfolgung aktiviert</translation> <translation id="5957083217255311415">Mobile Daten sind deaktiviert.</translation> @@ -468,6 +480,7 @@ <translation id="615957422585914272">Bildschirmtastatur anzeigen</translation> <translation id="6164005077879661055">Durch das Entfernen des betreuten Nutzers werden alle mit ihm verknüpften Dateien und lokalen Daten endgültig gelöscht. Besuchte Websites und Einstellungen des betreuten Nutzers kann der Manager möglicherweise weiterhin unter <ph name="MANAGEMENT_URL" /> einsehen.</translation> <translation id="6165508094623778733">Weitere Informationen</translation> +<translation id="6192859646269780503">Smartphone suchen</translation> <translation id="622484624075952240">Abwärts</translation> <translation id="6236290670123303279">Einstellungen verwalten</translation> <translation id="6237231532760393653">1X</translation> @@ -539,6 +552,7 @@ <translation id="6981982820502123353">Bedienungshilfen</translation> <translation id="698231206551913481">Durch das Entfernen des Nutzers werden alle mit ihm verknüpften Dateien und lokalen Daten endgültig gelöscht.</translation> <translation id="7007983414944123363">Deine PIN oder dein Passwort konnten nicht bestätigt werden. Bitte versuche es noch einmal.</translation> +<translation id="7013005189539051442">Hotspot aktivieren</translation> <translation id="7015766095477679451">Um <ph name="COME_BACK_TIME" /> kannst du weitermachen.</translation> <translation id="7025533177575372252"><ph name="DEVICE_NAME" /> mit Ihrem Smartphone verbinden</translation> <translation id="7026338066939101231">Verringern</translation> @@ -573,6 +587,7 @@ <translation id="742594950370306541">Kamera wird verwendet.</translation> <translation id="742608627846767349">Guten Morgen,</translation> <translation id="743058460480092004">Kamera und Mikrofon werden verwendet.</translation> +<translation id="7461924472993315131">Anpinnen</translation> <translation id="7466449121337984263">Berühren Sie den Sensor</translation> <translation id="7477793887173910789">Musik, Videos und andere Medien steuern</translation> <translation id="7497767806359279797">Sprache und Tastatur auswählen</translation> @@ -611,6 +626,7 @@ <translation id="7842569679327885685">Achtung: Experimentelle Funktion</translation> <translation id="7846634333498149051">Tastatur</translation> <translation id="7868900307798234037">Entsperren mit Fingerabdruck</translation> +<translation id="7872786842639831132">Aus</translation> <translation id="7886169021410746335">Datenschutzeinstellungen anpassen</translation> <translation id="7886277072580235377">Ihre Internetsitzung wird gelöscht, sobald Sie sich abmelden. <ph name="LEARN_MORE" /></translation> <translation id="788781083998633524">E-Mails senden</translation> @@ -715,6 +731,7 @@ <translation id="8853703225951107899">Deine PIN oder dein Passwort konnten noch immer nicht bestätigt werden. Hinweis: Wenn du kürzlich dein Passwort geändert hast, verwende dein altes Passwort. Dein neues Passwort wird übernommen, sobald du dich abmeldest.</translation> <translation id="885387440427703469">Bildschirmaufnahmen sind deaktiviert</translation> <translation id="8870509716567206129">Das Teilen des Bildschirms wird in dieser App nicht unterstützt.</translation> +<translation id="8871580645200179206">Auf dunkles Design umschalten. <ph name="STATE_TEXT" /></translation> <translation id="8874184842967597500">Nicht verbunden</translation> <translation id="8877788021141246043">Erinnerungen einrichten</translation> <translation id="8878886163241303700">Bildschirmerweiterung</translation>
diff --git a/ash/strings/ash_strings_el.xtb b/ash/strings/ash_strings_el.xtb index 558f1de..21204de3 100644 --- a/ash/strings/ash_strings_el.xtb +++ b/ash/strings/ash_strings_el.xtb
@@ -169,6 +169,7 @@ <translation id="2706462751667573066">Πάνω</translation> <translation id="2718395828230677721">Νυχτ. φωτισμός</translation> <translation id="2727977024730340865">Σύνδεση με φορτιστή χαμηλής ισχύος. Η φόρτιση της μπαταρίας ενδέχεται να μη γίνεται με αξιόπιστο τρόπο.</translation> +<translation id="2743387203779672305">Αντιγραφή στο πρόχειρο</translation> <translation id="2792498699870441125">Alt+Search</translation> <translation id="2819276065543622893">Θα αποσυνδεθείτε τώρα.</translation> <translation id="2825224105325558319">Η οθόνη <ph name="DISPLAY_NAME" /> δεν υποστηρίζει το <ph name="SPECIFIED_RESOLUTION" />. Η ανάλυση άλλαξε σε <ph name="FALLBACK_RESOLUTION" />.</translation> @@ -586,6 +587,7 @@ <translation id="742594950370306541">Η κάμερα δεν χρησιμοποιείται.</translation> <translation id="742608627846767349">Καλημέρα,</translation> <translation id="743058460480092004">Η κάμερα και το μικρόφωνο χρησιμοποιούνται.</translation> +<translation id="7461924472993315131">Καρφίτσωμα</translation> <translation id="7466449121337984263">Αγγίξτε τον αισθητήρα.</translation> <translation id="7477793887173910789">Ελέγξτε τη μουσική σας, τα βίντεο και περισσότερα</translation> <translation id="7497767806359279797">Επιλογή γλώσσας και πληκτρολογίου</translation>
diff --git a/ash/strings/ash_strings_en-GB.xtb b/ash/strings/ash_strings_en-GB.xtb index 2de4798..5a30a90 100644 --- a/ash/strings/ash_strings_en-GB.xtb +++ b/ash/strings/ash_strings_en-GB.xtb
@@ -169,6 +169,7 @@ <translation id="2706462751667573066">Up</translation> <translation id="2718395828230677721">Night Light</translation> <translation id="2727977024730340865">Plugged in to a low-power charger. Battery charging may not be reliable.</translation> +<translation id="2743387203779672305">Copy to clipboard</translation> <translation id="2792498699870441125">Alt+Search</translation> <translation id="2819276065543622893">You will be signed out now.</translation> <translation id="2825224105325558319"><ph name="DISPLAY_NAME" /> doesn't support <ph name="SPECIFIED_RESOLUTION" />. The resolution was changed to <ph name="FALLBACK_RESOLUTION" />.</translation> @@ -586,6 +587,7 @@ <translation id="742594950370306541">Camera is in use.</translation> <translation id="742608627846767349">Good morning,</translation> <translation id="743058460480092004">Camera and microphone are in use.</translation> +<translation id="7461924472993315131">Pin</translation> <translation id="7466449121337984263">Please touch the sensor</translation> <translation id="7477793887173910789">Control your music, videos and more</translation> <translation id="7497767806359279797">Choose language and keyboard</translation>
diff --git a/ash/strings/ash_strings_es-419.xtb b/ash/strings/ash_strings_es-419.xtb index f3f2f774..0b7b774 100644 --- a/ash/strings/ash_strings_es-419.xtb +++ b/ash/strings/ash_strings_es-419.xtb
@@ -48,6 +48,7 @@ <translation id="1351937230027495976">Contraer menú</translation> <translation id="1383876407941801731">Buscar</translation> <translation id="1391102559483454063">Sí</translation> +<translation id="1407069428457324124">Tema oscuro</translation> <translation id="1419738280318246476">Desbloquea el dispositivo para llevar a cabo una acción con las notificaciones</translation> <translation id="1420408895951708260">Activar o desactivar la Luz nocturna. <ph name="STATE_TEXT" /></translation> <translation id="1420527829902822813">Se tomó una captura de pantalla y se guardó en el portapapeles</translation> @@ -65,6 +66,7 @@ <translation id="1550523713251050646">Haz clic para obtener más opciones</translation> <translation id="1570871743947603115">Activar o desactivar Bluetooth: <ph name="STATE_TEXT" /></translation> <translation id="1589090746204042747">Accede a toda tu actividad en esta sesión</translation> +<translation id="1611993646327628135">Sí</translation> <translation id="1632985212731562677">La accesibilidad mejorada se puede inhabilitar en Configuración > Accesibilidad.</translation> <translation id="1654477262762802994">Iniciar una búsqueda por voz</translation> <translation id="1667964833127753507">El modo de color neutral no usa los colores extraídos del fondo de pantalla; los reemplaza por un conjunto de tonos neutros oscuros o claros.</translation> @@ -79,6 +81,7 @@ <translation id="1761222317188459878">Activar o desactivar la conexión de red: <ph name="STATE_TEXT" /></translation> <translation id="1771761307086386028">Desplazar hacia la derecha</translation> <translation id="1782199038061388045">traducción</translation> +<translation id="1787955149152357925">No</translation> <translation id="181103072419391116">Intensidad de la señal: <ph name="SIGNAL_STRENGTH" />, administrada por tu administrador</translation> <translation id="1812997170047690955">¿Qué hay en mi pantalla?</translation> <translation id="1823873187264960516">Ethernet: <ph name="ADDRESS" /></translation> @@ -166,6 +169,7 @@ <translation id="2706462751667573066">Arriba</translation> <translation id="2718395828230677721">Luz nocturna</translation> <translation id="2727977024730340865">Conexión a un cargador de baja potencia. Es posible que la carga de la batería no sea confiable.</translation> +<translation id="2743387203779672305">Copiar al portapapeles</translation> <translation id="2792498699870441125">Alt+tecla de búsqueda</translation> <translation id="2819276065543622893">Saldrás de la sesión ahora.</translation> <translation id="2825224105325558319"><ph name="DISPLAY_NAME" /> no admite una resolución de <ph name="SPECIFIED_RESOLUTION" />. Se cambió la resolución a <ph name="FALLBACK_RESOLUTION" />.</translation> @@ -201,6 +205,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3081696990447829002">Expandir menú</translation> <translation id="3087734570205094154">Inferior</translation> +<translation id="3090989381251959936">Activa o desactiva <ph name="FEATURE_NAME" />. <ph name="STATE_TEXT" /></translation> <translation id="309749186376891736">Cursor de movimiento</translation> <translation id="3098580329624789136">Obtén la <ph name="INTENT" /> para "<ph name="QUERY" />"</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth)</translation> @@ -233,6 +238,7 @@ <translation id="3371140690572404006">Dispositivo USB-C (puerto lateral derecho delantero)</translation> <translation id="3386978599540877378">la lupa de pantalla completa</translation> <translation id="3400357268283240774">Configuración adicional</translation> +<translation id="3410336247007142655">Mostrar la configuración del Tema oscuro</translation> <translation id="3413817803639110246">No hay nada para ver</translation> <translation id="3428447136709161042">Desconectar de <ph name="NETWORK_NAME" /></translation> <translation id="3430396595145920809">Para volver, desliza el dedo desde la derecha</translation> @@ -327,6 +333,7 @@ <translation id="4378551569595875038">Conectando…</translation> <translation id="4379531060876907730">Estas son las herramientas de la pluma stylus</translation> <translation id="4389184120735010762">Presionaste la combinación de teclas para activar la lupa con vista acoplada. ¿Quieres activarla?</translation> +<translation id="4412944820643904175">La función <ph name="FEATURE_NAME" /> está desactivada.</translation> <translation id="4421231901400348175">Se está compartiendo el control de la pantalla con <ph name="HELPER_NAME" /> mediante la Asistencia remota.</translation> <translation id="4430019312045809116">Volumen</translation> <translation id="4450893287417543264">No volver a mostrar</translation> @@ -346,6 +353,7 @@ <translation id="4570957409596482333">Botón de Seleccionar para pronunciar</translation> <translation id="4577274620589681794">Pasó el tiempo indicado · <ph name="LABEL" /></translation> <translation id="4585337515783392668">Dejar de transmitir en un receptor desconocido</translation> +<translation id="4596144739579517758">El Tema oscuro está desactivado</translation> <translation id="4623167406982293031">Verificar cuenta</translation> <translation id="4628757576491864469">Dispositivos</translation> <translation id="4659419629803378708">Se habilitó ChromeVox</translation> @@ -388,6 +396,7 @@ <translation id="5168181903108465623">Dispositivos de transmisión disponibles</translation> <translation id="5170568018924773124">Mostrar en carpeta</translation> <translation id="5207949376430453814">Destacar el símbolo de intercalación de texto</translation> +<translation id="5208059991603368177">Sí</translation> <translation id="5222676887888702881">Salir</translation> <translation id="523505283826916779">Configuración de accesibilidad</translation> <translation id="5260676007519551770">Escritorio 4</translation> @@ -399,6 +408,7 @@ <translation id="5313326810920013265">Configuración de Bluetooth</translation> <translation id="5314219114274263156">Se registró una grabación de pantalla</translation> <translation id="5331975486040154427">Dispositivo USB-C (puerto lateral izquierdo trasero)</translation> +<translation id="5352250171825660495">El Tema oscuro está activado</translation> <translation id="5379115545237091094">Realizaste demasiados intentos</translation> <translation id="5397578532367286026">El administrador (<ph name="MANAGER_EMAIL" />) puede revisar el uso y el historial de este usuario en la página chrome.com.</translation> <translation id="5400461572260843123">Configuración rápida, presiona la tecla de búsqueda + la tecla hacia la izquierda para acceder al centro de notificaciones.</translation> @@ -435,6 +445,7 @@ <translation id="5769373120130404283">Pantalla de privacidad</translation> <translation id="5777841717266010279">¿Dejar de compartir la pantalla?</translation> <translation id="5790085346892983794">Completado correctamente</translation> +<translation id="579415080077680903">Silencio</translation> <translation id="5820394555380036790">Chromium OS</translation> <translation id="5837036133683224804">Detener <ph name="ROUTE_TITLE" /> en <ph name="RECEIVER_NAME" /></translation> <translation id="5860033963881614850">Desactivado</translation> @@ -445,6 +456,7 @@ <translation id="5911909173233110115"><ph name="USERNAME" /> (<ph name="MAIL" />)</translation> <translation id="5916664084637901428">Activado</translation> <translation id="5920710855273935292">El micrófono está silenciado.</translation> +<translation id="5946788582095584774">La función <ph name="FEATURE_NAME" /> está activada.</translation> <translation id="5947494881799873997">Revertir</translation> <translation id="595202126637698455">Seguimiento de rendimiento habilitado</translation> <translation id="5957083217255311415">Los datos móviles están desactivados.</translation> @@ -469,6 +481,7 @@ <translation id="615957422585914272">Mostrar el teclado en pantalla</translation> <translation id="6164005077879661055">Todos los archivos y los datos locales asociados al usuario supervisado se eliminarán de forma permanente una vez que se elimine este usuario supervisado. Es posible que el administrador pueda seguir viendo la configuración y los sitios web visitados de este usuario supervisado en <ph name="MANAGEMENT_URL" />.</translation> <translation id="6165508094623778733">Más información</translation> +<translation id="6192859646269780503">Ubicar teléfono</translation> <translation id="622484624075952240">Abajo</translation> <translation id="6236290670123303279">Administrar Configuración</translation> <translation id="6237231532760393653">1X</translation> @@ -540,6 +553,7 @@ <translation id="6981982820502123353">Accesibilidad</translation> <translation id="698231206551913481">Todos los archivos y datos locales asociados a este usuario se borrarán de forma permanente una vez que se quite este usuario.</translation> <translation id="7007983414944123363">No se pudo verificar tu PIN o contraseña. Vuelve a intentarlo.</translation> +<translation id="7013005189539051442">Habilitar el hotspot</translation> <translation id="7015766095477679451">Regresa a las <ph name="COME_BACK_TIME" />.</translation> <translation id="7025533177575372252">Conectar tu dispositivo <ph name="DEVICE_NAME" /> a tu teléfono</translation> <translation id="7026338066939101231">Disminuir</translation> @@ -574,6 +588,7 @@ <translation id="742594950370306541">Cámara en uso</translation> <translation id="742608627846767349">Buenos días:</translation> <translation id="743058460480092004">Cámara y micrófono en uso</translation> +<translation id="7461924472993315131">Fijar</translation> <translation id="7466449121337984263">Toca el sensor</translation> <translation id="7477793887173910789">Controla tu música, videos y mucho más</translation> <translation id="7497767806359279797">Elegir idioma y teclado</translation> @@ -612,6 +627,7 @@ <translation id="7842569679327885685">Advertencia: Función experimental</translation> <translation id="7846634333498149051">Teclado</translation> <translation id="7868900307798234037">Desbloqueando con huella digital</translation> +<translation id="7872786842639831132">No</translation> <translation id="7886169021410746335">Ajustar la configuración de privacidad</translation> <translation id="7886277072580235377">Cuando salgas, se borrarán los datos de tu sesión de Internet. <ph name="LEARN_MORE" /></translation> <translation id="788781083998633524">Enviar un correo electrónico</translation> @@ -716,6 +732,7 @@ <translation id="8853703225951107899">Aún no se pudo verificar tu PIN o contraseña. Nota: Si cambiaste la contraseña recientemente, usa la anterior. Se aplicará la nueva cuando salgas de la cuenta.</translation> <translation id="885387440427703469">Se inhabilitó el modo de captura de pantalla</translation> <translation id="8870509716567206129">La app no es compatible con la función de pantalla dividida.</translation> +<translation id="8871580645200179206">Activa o desactiva el Tema oscuro. <ph name="STATE_TEXT" /></translation> <translation id="8874184842967597500">No conectado</translation> <translation id="8877788021141246043">Establecer un recordatorio</translation> <translation id="8878886163241303700">Ampliando pantalla</translation>
diff --git a/ash/strings/ash_strings_es.xtb b/ash/strings/ash_strings_es.xtb index 64bb7f7..c228029 100644 --- a/ash/strings/ash_strings_es.xtb +++ b/ash/strings/ash_strings_es.xtb
@@ -169,6 +169,7 @@ <translation id="2706462751667573066">Flecha hacia arriba</translation> <translation id="2718395828230677721">Luz nocturna</translation> <translation id="2727977024730340865">Conectado a un cargador de baja potencia. Es posible que la carga de la batería no sea fiable.</translation> +<translation id="2743387203779672305">Copiar en el portapapeles</translation> <translation id="2792498699870441125">Alt+tecla de búsqueda</translation> <translation id="2819276065543622893">Tu sesión se cerrará ahora.</translation> <translation id="2825224105325558319">La pantalla <ph name="DISPLAY_NAME" /> no admite <ph name="SPECIFIED_RESOLUTION" />. Se ha cambiado la resolución a <ph name="FALLBACK_RESOLUTION" />.</translation> @@ -587,6 +588,7 @@ <translation id="742594950370306541">La cámara se está utilizando.</translation> <translation id="742608627846767349">Buenos días,</translation> <translation id="743058460480092004">La cámara y el micrófono se están utilizando.</translation> +<translation id="7461924472993315131">Fijar</translation> <translation id="7466449121337984263">Toca el sensor</translation> <translation id="7477793887173910789">Controla tu música, tus vídeos y mucho más</translation> <translation id="7497767806359279797">Seleccionar idioma y teclado</translation>
diff --git a/ash/strings/ash_strings_et.xtb b/ash/strings/ash_strings_et.xtb index 6541b635..4de1ab0d 100644 --- a/ash/strings/ash_strings_et.xtb +++ b/ash/strings/ash_strings_et.xtb
@@ -169,6 +169,7 @@ <translation id="2706462751667573066">Üles</translation> <translation id="2718395828230677721">Öövalgus</translation> <translation id="2727977024730340865">Ühendatud väikese energiakuluga laadijaga. Aku laadimine võib olla ebastabiilne.</translation> +<translation id="2743387203779672305">Kopeeri lõikelauale</translation> <translation id="2792498699870441125">Alt + otsinguklahv</translation> <translation id="2819276065543622893">Teid logitakse nüüd välja.</translation> <translation id="2825224105325558319">Üksus <ph name="DISPLAY_NAME" /> ei toeta eraldusvõimet <ph name="SPECIFIED_RESOLUTION" />. Eraldusvõimeks määrati <ph name="FALLBACK_RESOLUTION" />.</translation> @@ -587,6 +588,7 @@ <translation id="742594950370306541">Kaamera on kasutusel.</translation> <translation id="742608627846767349">Tere hommikust!</translation> <translation id="743058460480092004">Kaamera ja mikrofon on kasutusel.</translation> +<translation id="7461924472993315131">Kinnita</translation> <translation id="7466449121337984263">Puudutage andurit</translation> <translation id="7477793887173910789">Hallake oma muusikat, videoid ja muud</translation> <translation id="7497767806359279797">Valige keel ja klaviatuur</translation>
diff --git a/ash/strings/ash_strings_eu.xtb b/ash/strings/ash_strings_eu.xtb index d5879fb..d7da60b 100644 --- a/ash/strings/ash_strings_eu.xtb +++ b/ash/strings/ash_strings_eu.xtb
@@ -48,6 +48,7 @@ <translation id="1351937230027495976">Tolestu menua</translation> <translation id="1383876407941801731">Bilaketa</translation> <translation id="1391102559483454063">Aktibatuta</translation> +<translation id="1407069428457324124">Gai iluna</translation> <translation id="1419738280318246476">Desblokeatu gailua jakinarazpen-ekintza gauzatzeko</translation> <translation id="1420408895951708260">Aktibatu/Desaktibatu Gaueko argia. <ph name="STATE_TEXT" /></translation> <translation id="1420527829902822813">Atera da pantaila-argazkia, eta arbelean gorde</translation> @@ -65,6 +66,7 @@ <translation id="1550523713251050646">Aukera gehiago ikusteko, egin klik hemen</translation> <translation id="1570871743947603115">Gaitu/Desgaitu Bluetooth-a. <ph name="STATE_TEXT" /></translation> <translation id="1589090746204042747">Atzitu saio honetan egin dituzun jarduera guztiak</translation> +<translation id="1611993646327628135">Aktibatuta</translation> <translation id="1632985212731562677">Ezarpenak > Erabilerraztasuna atalean desgai dezakezu erabilerraztasun-osagarria.</translation> <translation id="1654477262762802994">Sortu ahozko kontsulta bat</translation> <translation id="1667964833127753507">Kolore neutroaren moduak ez ditu erabiltzen horma-paperetik ateratako koloreak, baizik eta tonu neutroko ñabardura argien edo ilunen multzo batekin ordezkatzen.</translation> @@ -79,6 +81,7 @@ <translation id="1761222317188459878">Gaitu/Desgaitu sareko konexioa. <ph name="STATE_TEXT" /></translation> <translation id="1771761307086386028">Egin eskuinera</translation> <translation id="1782199038061388045">itzulpena</translation> +<translation id="1787955149152357925">Desaktibatuta</translation> <translation id="181103072419391116">Seinalearen indarra: <ph name="SIGNAL_STRENGTH" />. Administratzaileak kudeatua.</translation> <translation id="1812997170047690955">Zer dago pantailan?</translation> <translation id="1823873187264960516">Ethernet: <ph name="ADDRESS" /></translation> @@ -166,6 +169,7 @@ <translation id="2706462751667573066">Gora</translation> <translation id="2718395828230677721">Gaueko argia</translation> <translation id="2727977024730340865">Energia gutxiko kargagailu bat entxufatu duzu. Agian bateria kargatzeko prozesua ez da fidagarria izango.</translation> +<translation id="2743387203779672305">Kopiatu arbelean</translation> <translation id="2792498699870441125">Alt + Bilaketa</translation> <translation id="2819276065543622893">Saioa amaituko zaizu.</translation> <translation id="2825224105325558319"><ph name="DISPLAY_NAME" /> pantailak ez du onartzen <ph name="SPECIFIED_RESOLUTION" /> bereizmena. <ph name="FALLBACK_RESOLUTION" /> ezarri da bereizmen gisa.</translation> @@ -201,6 +205,7 @@ <translation id="3077734595579995578">maius</translation> <translation id="3081696990447829002">Zabaldu menua</translation> <translation id="3087734570205094154">Behekoa</translation> +<translation id="3090989381251959936">Aldatu <ph name="FEATURE_NAME" /> eginbidearen egoera. <ph name="STATE_TEXT" /></translation> <translation id="309749186376891736">Mugitu kurtsorea</translation> <translation id="3098580329624789136">Lortu "<ph name="QUERY" />" kontsultaren <ph name="INTENT" /></translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth-a)</translation> @@ -233,6 +238,7 @@ <translation id="3371140690572404006">USB-C gailua (eskuinaldeko aurreko ataka)</translation> <translation id="3386978599540877378">pantaila osoko lupa</translation> <translation id="3400357268283240774">Ezarpen gehigarriak</translation> +<translation id="3410336247007142655">Erakutsi gai ilunaren ezarpenak</translation> <translation id="3413817803639110246">Hutsik dago, momentuz</translation> <translation id="3428447136709161042"><ph name="NETWORK_NAME" /> saretik deskonektatu nahi duzu?</translation> <translation id="3430396595145920809">Atzera egiteko, pasatu hatza eskuinetik ezkerrera</translation> @@ -327,6 +333,7 @@ <translation id="4378551569595875038">Konektatzen…</translation> <translation id="4379531060876907730">Hauek dira arkatzaren tresnak</translation> <translation id="4389184120735010762">Lupa ainguratuaren lasterbidea sakatu duzu. Aktibatu egin nahi duzu?</translation> +<translation id="4412944820643904175">Desaktibatuta dago <ph name="FEATURE_NAME" />.</translation> <translation id="4421231901400348175">Urruneko laguntzaren bidez <ph name="HELPER_NAME" /> laguntzailearekin pantailaren kontrola partekatzen.</translation> <translation id="4430019312045809116">Bolumena</translation> <translation id="4450893287417543264">Ez erakutsi berriro</translation> @@ -346,6 +353,7 @@ <translation id="4570957409596482333">"Hautatu ozen irakurtzeko" botoia</translation> <translation id="4577274620589681794">Agortu da denbora · <ph name="LABEL" /></translation> <translation id="4585337515783392668">Utzi hargailu ezezagun batera igortzeari</translation> +<translation id="4596144739579517758">Desaktibatuta dago gai iluna.</translation> <translation id="4623167406982293031">Egiaztatu kontua</translation> <translation id="4628757576491864469">Gailuak</translation> <translation id="4659419629803378708">Gaitu da ChromeVox</translation> @@ -388,6 +396,7 @@ <translation id="5168181903108465623">Igorpen-gailuak erabilgarri</translation> <translation id="5170568018924773124">Erakutsi karpetan</translation> <translation id="5207949376430453814">Nabarmendu testu-kurtsorea</translation> +<translation id="5208059991603368177">Aktibatuta</translation> <translation id="5222676887888702881">Amaitu saioa</translation> <translation id="523505283826916779">Erabilerraztasun-ezarpenak</translation> <translation id="5260676007519551770">4. lan-eremua</translation> @@ -399,6 +408,7 @@ <translation id="5313326810920013265">Bluetooth-aren ezarpenak</translation> <translation id="5314219114274263156">Grabatu da pantaila</translation> <translation id="5331975486040154427">USB-C gailua (ezkerraldeko atzeko ataka)</translation> +<translation id="5352250171825660495">Aktibatuta dago gai iluna.</translation> <translation id="5379115545237091094">Saiakera gehiegi egin dira</translation> <translation id="5397578532367286026">Kudeatzaileak (<ph name="MANAGER_EMAIL" />) erabiltzaile honen erabilera-datuak eta historia ikus ditzake manager chrome.com webgunean.</translation> <translation id="5400461572260843123">Ezarpen bizkorrak: sakatu "Bilatu" + Ezkerrera gezia jakinarazpen-zentrora joateko.</translation> @@ -435,6 +445,7 @@ <translation id="5769373120130404283">Pribatutasun-pantaila</translation> <translation id="5777841717266010279">Pantaila-partekatzea gelditu nahi duzu?</translation> <translation id="5790085346892983794">Behar bezala egin da</translation> +<translation id="579415080077680903">Modu isila</translation> <translation id="5820394555380036790">Chromium OS</translation> <translation id="5837036133683224804">Utzi <ph name="ROUTE_TITLE" /> (<ph name="RECEIVER_NAME" />) hargailura igortzeari</translation> <translation id="5860033963881614850">Desaktibatuta</translation> @@ -445,6 +456,7 @@ <translation id="5911909173233110115"><ph name="USERNAME" /> (<ph name="MAIL" />)</translation> <translation id="5916664084637901428">Aktibatuta</translation> <translation id="5920710855273935292">Mikrofonoa desaktibatuta dago.</translation> +<translation id="5946788582095584774">Aktibatuta dago <ph name="FEATURE_NAME" />.</translation> <translation id="5947494881799873997">Leheneratu</translation> <translation id="595202126637698455">Errendimenduaren jarraipena egiteko aukera gaitu da</translation> <translation id="5957083217255311415">Desaktibatuta dago datu-konexioa.</translation> @@ -469,6 +481,7 @@ <translation id="615957422585914272">Erakutsi pantailako teklatua</translation> <translation id="6164005077879661055">Erabiltzaile gainbegiratuarekin erlazionatutako fitxategi eta datu lokal guztiak betiko ezabatuko dira erabiltzaile gainbegiratua kentzean. Hala ere, erabiltzaile gainbegiratuak bisitatu dituen webguneak eta bere ezarpenak ikusten jarraitu ahal izango du kudeatzaileak <ph name="MANAGEMENT_URL" /> webgunean.</translation> <translation id="6165508094623778733">Lortu informazio gehiago</translation> +<translation id="6192859646269780503">Aurkitu telefonoa</translation> <translation id="622484624075952240">Behera</translation> <translation id="6236290670123303279">Kudeatu ezarpenak</translation> <translation id="6237231532760393653">1X</translation> @@ -540,6 +553,7 @@ <translation id="6981982820502123353">Erabilerraztasuna</translation> <translation id="698231206551913481">Erabiltzailea kentzen denean, harekin erlazionatutako fitxategi eta gailuko datu guztiak betiko ezabatuko dira.</translation> <translation id="7007983414944123363">Ezin izan da egiaztatu PIN kodea edo pasahitza. Saiatu berriro.</translation> +<translation id="7013005189539051442">Gaitu wifi-gunea</translation> <translation id="7015766095477679451">Itzuli ordu honetan: <ph name="COME_BACK_TIME" />.</translation> <translation id="7025533177575372252">Konektatu <ph name="DEVICE_NAME" /> telefonoarekin</translation> <translation id="7026338066939101231">Gutxitzea</translation> @@ -574,6 +588,7 @@ <translation id="742594950370306541">Kamera abian da.</translation> <translation id="742608627846767349">Egun on:</translation> <translation id="743058460480092004">Norbait kamera eta mikrofonoa erabiltzen ari da.</translation> +<translation id="7461924472993315131">Ainguratu</translation> <translation id="7466449121337984263">Ukitu sentsorea</translation> <translation id="7477793887173910789">Kontrolatu musika, bideoak eta beste</translation> <translation id="7497767806359279797">Aukeratu hizkuntza eta teklatua</translation> @@ -612,6 +627,7 @@ <translation id="7842569679327885685">Abisua: eginbide esperimentala da hau</translation> <translation id="7846634333498149051">Teklatua</translation> <translation id="7868900307798234037">Hatz-markarekin desblokeatzen</translation> +<translation id="7872786842639831132">Desaktibatuta</translation> <translation id="7886169021410746335">Doitu pribatutasun-ezarpenak</translation> <translation id="7886277072580235377">Interneteko saioari buruzko informazioa ezabatu egingo da hura amaitzen duzunean. <ph name="LEARN_MORE" /></translation> <translation id="788781083998633524">Bidali mezu elektroniko bat</translation> @@ -716,6 +732,7 @@ <translation id="8853703225951107899">Oraindik ezin izan da egiaztatu PIN kodea edo pasahitza. Oharra: pasahitza duela gutxi aldatu baduzu, erabili pasahitz zaharra. Saioa amaitu eta gero aplikatuko da pasahitz berria.</translation> <translation id="885387440427703469">Desgaituta dago pantaila-argazkiak ateratzeko modua</translation> <translation id="8870509716567206129">Aplikazioak ez du onartzen pantaila zatitua erabiltzea.</translation> +<translation id="8871580645200179206">Aldatu gai ilunaren egoera. <ph name="STATE_TEXT" /></translation> <translation id="8874184842967597500">Konektatu gabe</translation> <translation id="8877788021141246043">Ezarri abisu bat</translation> <translation id="8878886163241303700">Pantaila hedatzen</translation>
diff --git a/ash/strings/ash_strings_fa.xtb b/ash/strings/ash_strings_fa.xtb index 864fa44..61045eb2 100644 --- a/ash/strings/ash_strings_fa.xtb +++ b/ash/strings/ash_strings_fa.xtb
@@ -48,6 +48,7 @@ <translation id="1351937230027495976">کوچک کردن منو</translation> <translation id="1383876407941801731">جستجو</translation> <translation id="1391102559483454063">روشن</translation> +<translation id="1407069428457324124">طرح زمینه تیره</translation> <translation id="1419738280318246476">برای اجرای کنش اعلان، قفل دستگاه را باز کنید</translation> <translation id="1420408895951708260">روشن/خاموش کردن «نور شب». <ph name="STATE_TEXT" /></translation> <translation id="1420527829902822813">نماگرفت گرفته شد و در بریدهدان ذخیره شد</translation> @@ -65,6 +66,7 @@ <translation id="1550523713251050646">برای گزینههای بیشتر کلیک کنید</translation> <translation id="1570871743947603115">روشن/خاموش کردن بلوتوث. <ph name="STATE_TEXT" /></translation> <translation id="1589090746204042747">به همه فعالیتهایتان در این جلسه دسترسی پیدا کنید</translation> +<translation id="1611993646327628135">روشن</translation> <translation id="1632985212731562677">میتوانید «دسترسی کلیدی» را در «تنظیمات > دسترسپذیری» غیرفعال کنید.</translation> <translation id="1654477262762802994">شروع پُرسمان صوتی</translation> <translation id="1667964833127753507">حالت «رنگ خنثی» از رنگهای استخراجشده از کاغذدیواری استفاده نمیکند، بلکه آنها را با مجموعهای از تهرنگهای تیره و روشن خنثی جایگزین میکند.</translation> @@ -79,6 +81,7 @@ <translation id="1761222317188459878">تغییر وضعیت اتصال شبکه. <ph name="STATE_TEXT" /></translation> <translation id="1771761307086386028">پیمایش به راست</translation> <translation id="1782199038061388045">ترجمه</translation> +<translation id="1787955149152357925">خاموش</translation> <translation id="181103072419391116">قدرت سیگنال <ph name="SIGNAL_STRENGTH" />، تحتمدیریت سرپرست</translation> <translation id="1812997170047690955">چه چیزی در صفحهنمایش من نشان داده میشود؟</translation> <translation id="1823873187264960516">اترنت: <ph name="ADDRESS" /></translation> @@ -166,6 +169,7 @@ <translation id="2706462751667573066">پیکان بالا</translation> <translation id="2718395828230677721">نور شب</translation> <translation id="2727977024730340865">باتری به شارژر برق ضعیف متصل است. شارژ باتری ممکن است قابل اطمینان نباشد.</translation> +<translation id="2743387203779672305">کپی در بریدهدان</translation> <translation id="2792498699870441125">Alt+جستجو</translation> <translation id="2819276065543622893">هماکنون از سیستم خارج خواهید شد.</translation> <translation id="2825224105325558319"><ph name="DISPLAY_NAME" />، از <ph name="SPECIFIED_RESOLUTION" /> پشتیبانی نمیکند. وضوح به <ph name="FALLBACK_RESOLUTION" /> تغییر کرد.</translation> @@ -201,6 +205,7 @@ <translation id="3077734595579995578">تبدیل</translation> <translation id="3081696990447829002">بزرگ کردن منو</translation> <translation id="3087734570205094154">پایین</translation> +<translation id="3090989381251959936">روشن/خاموش کردن <ph name="FEATURE_NAME" />. <ph name="STATE_TEXT" /></translation> <translation id="309749186376891736">حرکت دادن نشانگر</translation> <translation id="3098580329624789136">دریافت <ph name="INTENT" /> برای «<ph name="QUERY" />»</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (بلوتوث)</translation> @@ -233,6 +238,7 @@ <translation id="3371140690572404006">دستگاه USB-C (درگاه جلوی سمت راست)</translation> <translation id="3386978599540877378">ذرهبین تمامصفحه</translation> <translation id="3400357268283240774">تنظیمات بیشتر</translation> +<translation id="3410336247007142655">نمایش تنظیمات طرح زمینه تیره</translation> <translation id="3413817803639110246">هنوز چیزی برای دیدن وجود ندارد</translation> <translation id="3428447136709161042">قطع ارتباط از <ph name="NETWORK_NAME" /></translation> <translation id="3430396595145920809">برای برگشتن به عقب از سمت چپ تند بکشید</translation> @@ -326,6 +332,7 @@ <translation id="4378551569595875038">در حال اتصال..</translation> <translation id="4379531060876907730">اینها ابزارهای قلم شما هستند</translation> <translation id="4389184120735010762">میانبر صفحهکلید مربوط به ذرهبین متصل را فشار دادید. میخواهید آن را روشن کنید؟</translation> +<translation id="4412944820643904175"><ph name="FEATURE_NAME" /> خاموش است.</translation> <translation id="4421231901400348175">همرسانی کنترل صفحهتان با <ph name="HELPER_NAME" /> از طریق راهنمایی ازراهدور.</translation> <translation id="4430019312045809116">میزان صدا</translation> <translation id="4450893287417543264">دیگر نشان داده نشود</translation> @@ -345,6 +352,7 @@ <translation id="4570957409596482333">دکمه «انتخاب برای شنیدن»</translation> <translation id="4577274620589681794">وقت تمام است · <ph name="LABEL" /></translation> <translation id="4585337515783392668">توقف ارسال محتوا به گیرنده ناشناس</translation> +<translation id="4596144739579517758">طرح زمینه تیره خاموش است</translation> <translation id="4623167406982293031">بهتأیید رساندن حساب</translation> <translation id="4628757576491864469">دستگاهها</translation> <translation id="4659419629803378708">ChromeVox فعال شد</translation> @@ -387,6 +395,7 @@ <translation id="5168181903108465623">دستگاههای فرستادن موجود هستند</translation> <translation id="5170568018924773124">نمایش در پوشه</translation> <translation id="5207949376430453814">برجسته کردن هشتک نوشتار</translation> +<translation id="5208059991603368177">روشن</translation> <translation id="5222676887888702881">خروج از سیستم</translation> <translation id="523505283826916779">تنظیمات دسترسپذیری</translation> <translation id="5260676007519551770">میز ۴</translation> @@ -398,6 +407,7 @@ <translation id="5313326810920013265">تنظیمات بلوتوث</translation> <translation id="5314219114274263156">ضبط صفحهنمایش انجام شد</translation> <translation id="5331975486040154427">دستگاه USB-C (درگاه عقب سمت چپ)</translation> +<translation id="5352250171825660495">طرح زمینه تیره روشن است</translation> <translation id="5379115545237091094">تلاشهای ناموفق زیادی انجام شده است</translation> <translation id="5397578532367286026">میزان مصرف و سابقه این کاربر میتواند توسط مدیر (<ph name="MANAGER_EMAIL" />) در chrome.com بازبینی شود.</translation> <translation id="5400461572260843123">تنظیمات فوری، برای دسترسی به مرکز اعلان، «جستجو + چپ» را فشار دهید.</translation> @@ -434,6 +444,7 @@ <translation id="5769373120130404283">صفحه حریمخصوصی</translation> <translation id="5777841717266010279">همرسانی صفحهنمایش متوقف شود؟</translation> <translation id="5790085346892983794">موفق شدید</translation> +<translation id="579415080077680903">سکوت</translation> <translation id="5820394555380036790">سیستمعامل Chromium </translation> <translation id="5837036133683224804">توقف <ph name="ROUTE_TITLE" /> به <ph name="RECEIVER_NAME" /></translation> <translation id="5860033963881614850">خاموش</translation> @@ -444,6 +455,7 @@ <translation id="5911909173233110115"><ph name="USERNAME" /> (<ph name="MAIL" />)</translation> <translation id="5916664084637901428">روشن</translation> <translation id="5920710855273935292">میکروفون صامت است.</translation> +<translation id="5946788582095584774"><ph name="FEATURE_NAME" /> روشن است.</translation> <translation id="5947494881799873997">برگرداندن</translation> <translation id="595202126637698455">ردیابی عملکرد فعال شد</translation> <translation id="5957083217255311415">داده تلفن همراه خاموش است.</translation> @@ -468,6 +480,7 @@ <translation id="615957422585914272">نمایش صفحهکلید مجازی</translation> <translation id="6164005077879661055">با حذف این کاربر نظارتشده، کلیه فایلها و دادههای محلی مربوط به کاربر نظارتشده برای همیشه حذف خواهند شد. وبسایتهای بازدید شده و تنظیمات این کاربر نظارتشده همچنان برای مدیر در <ph name="MANAGEMENT_URL" /> قابل مشاهده خواهد بود.</translation> <translation id="6165508094623778733">بیشتر بدانید</translation> +<translation id="6192859646269780503">پیدا کردن مکان تلفن</translation> <translation id="622484624075952240">پیکان پایین</translation> <translation id="6236290670123303279">مدیریت تنظیمات</translation> <translation id="6237231532760393653">1X</translation> @@ -539,6 +552,7 @@ <translation id="6981982820502123353">قابلیت دسترسی</translation> <translation id="698231206551913481">اگر کاربر حذف شود، همه فایلها و دادههای محلی مربوط به او بهطور دائم حذف خواهند شد.</translation> <translation id="7007983414944123363">نمیتوان پین یا گذرواژه را تأیید کرد. دوباره امتحان کنید.</translation> +<translation id="7013005189539051442">فعال کردن نقطه اتصال</translation> <translation id="7015766095477679451">ساعت <ph name="COME_BACK_TIME" /> دوباره برگردید.</translation> <translation id="7025533177575372252"><ph name="DEVICE_NAME" /> را به تلفنتان متصل کنید</translation> <translation id="7026338066939101231">کاهش</translation> @@ -573,6 +587,7 @@ <translation id="742594950370306541">دوربین در حال استفاده است.</translation> <translation id="742608627846767349">صبح بهخیر،</translation> <translation id="743058460480092004">دوربین و میکروفن در حال استفاده هستند.</translation> +<translation id="7461924472993315131">پین</translation> <translation id="7466449121337984263">لطفاً حسگر را لمس کنید</translation> <translation id="7477793887173910789">کنترل موسیقی، ویدیو و سایر موارد</translation> <translation id="7497767806359279797">انتخاب زبان و صفحهکلید</translation> @@ -611,6 +626,7 @@ <translation id="7842569679327885685">هشدار: ویژگی آزمایشی</translation> <translation id="7846634333498149051">صفحهکلید</translation> <translation id="7868900307798234037">درحال باز کردن قفل با اثر انگشت</translation> +<translation id="7872786842639831132">خاموش</translation> <translation id="7886169021410746335">تنظیمات حریم خصوصی را تنظیم کند</translation> <translation id="7886277072580235377">وقتی از سیستم خارج شوید، جلسه اینترنت پاک خواهد شد. <ph name="LEARN_MORE" /></translation> <translation id="788781083998633524">Send an email (ایمیل ارسال کن)</translation> @@ -715,6 +731,7 @@ <translation id="8853703225951107899">همچنان نمیتوان پین یا گذرواژه را تأیید کرد. توجه: اگر اخیراً گذرواژهتان را تغییر دادهاید، از گذرواژه قدیمیتان استفاده کنید. گذرواژه جدیدتان بعد از خروج شما از سیستم اعمال میشود.</translation> <translation id="885387440427703469">ضبط صفحهنمایش غیرفعال شد</translation> <translation id="8870509716567206129">برنامه از تقسیم صفحه پشتیبانی نمیکند.</translation> +<translation id="8871580645200179206">روشن/خاموش کردن طرح زمینه تیره. <ph name="STATE_TEXT" /></translation> <translation id="8874184842967597500">متصل نیست</translation> <translation id="8877788021141246043">Set a reminder (یادآوری تنظیم کن)</translation> <translation id="8878886163241303700">صفحه گسترش یافته است</translation>
diff --git a/ash/strings/ash_strings_fi.xtb b/ash/strings/ash_strings_fi.xtb index 51662d6..e5e27ef 100644 --- a/ash/strings/ash_strings_fi.xtb +++ b/ash/strings/ash_strings_fi.xtb
@@ -48,6 +48,7 @@ <translation id="1351937230027495976">Tiivistä valikko</translation> <translation id="1383876407941801731">Haku</translation> <translation id="1391102559483454063">Päällä</translation> +<translation id="1407069428457324124">Tumma teema</translation> <translation id="1419738280318246476">Avaa laitteen lukitus, niin voit käyttää ilmoitustoimintoa</translation> <translation id="1420408895951708260">Yövalo päälle/pois. <ph name="STATE_TEXT" /></translation> <translation id="1420527829902822813">Kuvakaappaus otettu ja tallennettu leikepöydälle</translation> @@ -65,6 +66,7 @@ <translation id="1550523713251050646">Näet lisävaihtoehtoja klikkaamalla tätä.</translation> <translation id="1570871743947603115">Laita Bluetooth päälle tai pois päältä. <ph name="STATE_TEXT" /></translation> <translation id="1589090746204042747">nähdä kaikki tämän käyttökerran toimintosi</translation> +<translation id="1611993646327628135">Päällä</translation> <translation id="1632985212731562677">Kytkimen käytön voi laittaa pois päältä kohdassa Asetukset > Esteettömyys.</translation> <translation id="1654477262762802994">Aloita puhekysely</translation> <translation id="1667964833127753507">Neutraali väritila ei käytä taustakuvasta poimittuja värejä vaan korvaa ne vaaleilla tai tummilla neutraaleilla sävyillä.</translation> @@ -79,6 +81,7 @@ <translation id="1761222317188459878">Laita verkkoyhteys päälle tai pois päältä. <ph name="STATE_TEXT" /></translation> <translation id="1771761307086386028">Vieritä oikealle</translation> <translation id="1782199038061388045">käännös</translation> +<translation id="1787955149152357925">Pois päältä</translation> <translation id="181103072419391116">Signaalin vahvuus <ph name="SIGNAL_STRENGTH" />, järjestelmänvalvojan hallinnoima</translation> <translation id="1812997170047690955">Mitä näytölläni näkyy?</translation> <translation id="1823873187264960516">Ethernet: <ph name="ADDRESS" /></translation> @@ -166,6 +169,7 @@ <translation id="2706462751667573066">Ylös</translation> <translation id="2718395828230677721">Yövalo</translation> <translation id="2727977024730340865">Pienitehoinen laturi kytketty. Akku ei ehkä lataudu luotettavasti.</translation> +<translation id="2743387203779672305">Kopioi leikepöydälle</translation> <translation id="2792498699870441125">Alt + haku</translation> <translation id="2819276065543622893">Sinut kirjataan ulos nyt.</translation> <translation id="2825224105325558319"><ph name="DISPLAY_NAME" /> ei tue resoluutiota <ph name="SPECIFIED_RESOLUTION" />. Resoluutioksi vaihdettiin <ph name="FALLBACK_RESOLUTION" />.</translation> @@ -201,6 +205,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3081696990447829002">Laajenna valikko</translation> <translation id="3087734570205094154">Alaosassa</translation> +<translation id="3090989381251959936"><ph name="FEATURE_NAME" /> päälle/pois. <ph name="STATE_TEXT" /></translation> <translation id="309749186376891736">Siirrä kohdistinta</translation> <translation id="3098580329624789136">Katso <ph name="INTENT" /> haulle <ph name="QUERY" /></translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth)</translation> @@ -233,6 +238,7 @@ <translation id="3371140690572404006">C-tyypin USB-laite (oikean sivun etummainen portti)</translation> <translation id="3386978599540877378">koko näytön suurentaja</translation> <translation id="3400357268283240774">Lisäasetukset</translation> +<translation id="3410336247007142655">Näytä tumman teeman asetukset</translation> <translation id="3413817803639110246">Ei mitään nähtävää vielä</translation> <translation id="3428447136709161042">Katkaistaanko yhteys (<ph name="NETWORK_NAME" />)?</translation> <translation id="3430396595145920809">Palaa takaisin pyyhkäisemällä oikeasta reunasta</translation> @@ -326,6 +332,7 @@ <translation id="4378551569595875038">Yhdistetään…</translation> <translation id="4379531060876907730">Tässä ovat näyttökynätyökalusi</translation> <translation id="4389184120735010762">Painoit kiinnitetyn suurennuksen pikanäppäintä. Haluatko ottaa sen käyttöön?</translation> +<translation id="4412944820643904175"><ph name="FEATURE_NAME" /> ei ole päällä.</translation> <translation id="4421231901400348175">Näyttösi hallinta jaetaan käyttäjän <ph name="HELPER_NAME" /> kanssa Etätuen kautta.</translation> <translation id="4430019312045809116">Äänenvoimakkuus</translation> <translation id="4450893287417543264">Älä näytä uudelleen</translation> @@ -345,6 +352,7 @@ <translation id="4570957409596482333">Teksti puhuttuna ‑painike</translation> <translation id="4577274620589681794">Aika loppui · <ph name="LABEL" /></translation> <translation id="4585337515783392668">Lopeta suoratoisto tuntemattomaan kohteeseen</translation> +<translation id="4596144739579517758">Tumma teema on pois päältä</translation> <translation id="4623167406982293031">Vahvista tili</translation> <translation id="4628757576491864469">Laitteet</translation> <translation id="4659419629803378708">ChromeVox käytössä</translation> @@ -387,6 +395,7 @@ <translation id="5168181903108465623">Cast-laitteita käytettävissä</translation> <translation id="5170568018924773124">Näytä kansiossa</translation> <translation id="5207949376430453814">Korosta tekstikursori</translation> +<translation id="5208059991603368177">Päällä</translation> <translation id="5222676887888702881">Kirjaudu ulos</translation> <translation id="523505283826916779">Esteettömyysasetukset</translation> <translation id="5260676007519551770">Pöytä 4</translation> @@ -398,6 +407,7 @@ <translation id="5313326810920013265">Bluetooth-asetukset</translation> <translation id="5314219114274263156">Näytön tallennus valmis</translation> <translation id="5331975486040154427">C-tyypin USB-laite (vasemman sivun taaimmainen portti)</translation> +<translation id="5352250171825660495">Tumma teema on päällä</translation> <translation id="5379115545237091094">Liian monta yritystä</translation> <translation id="5397578532367286026">Hallinnoija (<ph name="MANAGER_EMAIL" />) voi tarkkailla tämän käyttäjän käyttö- ja historiatietoja osoitteessa chrome.com.</translation> <translation id="5400461572260843123">Pika-asetukset, Paina hakupainiketta ja vasenta nuolipainiketta siirtyäksesi ilmoituskeskukseen.</translation> @@ -434,6 +444,7 @@ <translation id="5769373120130404283">Näytönsuoja</translation> <translation id="5777841717266010279">Lopetetaanko näytön jakaminen?</translation> <translation id="5790085346892983794">Onnistui</translation> +<translation id="579415080077680903">Hiljennä</translation> <translation id="5820394555380036790">Chromium-käyttöjärjestelmä</translation> <translation id="5837036133683224804">Lopeta <ph name="ROUTE_TITLE" /> – <ph name="RECEIVER_NAME" /></translation> <translation id="5860033963881614850">Pois päältä</translation> @@ -444,6 +455,7 @@ <translation id="5911909173233110115"><ph name="USERNAME" /> (<ph name="MAIL" />)</translation> <translation id="5916664084637901428">Päällä</translation> <translation id="5920710855273935292">Mikrofoni on mykistetty.</translation> +<translation id="5946788582095584774"><ph name="FEATURE_NAME" /> on päällä.</translation> <translation id="5947494881799873997">Palauta</translation> <translation id="595202126637698455">Tehokkuuden seuranta on käytössä</translation> <translation id="5957083217255311415">Mobiilidata on poistettu käytöstä.</translation> @@ -470,6 +482,7 @@ pysyvästi, kun tämä valvottu käyttäjä poistetaan. Vieraillut verkkosivustot ja valvotun käyttäjän asetukset saattavat silti vielä näkyä hallinnoijalle osoitteessa <ph name="MANAGEMENT_URL" />.</translation> <translation id="6165508094623778733">Lisätietoja</translation> +<translation id="6192859646269780503">Paikanna puhelin</translation> <translation id="622484624075952240">Alas</translation> <translation id="6236290670123303279">Määritä asetuksia</translation> <translation id="6237231532760393653">1X</translation> @@ -541,6 +554,7 @@ <translation id="6981982820502123353">Esteettömyys</translation> <translation id="698231206551913481">Kun käyttäjä poistetaan, kaikki kyseiseen käyttäjään yhdistetyt tiedostot ja paikalliset tiedot poistetaan pysyvästi.</translation> <translation id="7007983414944123363">PIN-koodiasi tai salasanaasi ei voitu vahvistaa. Yritä uudelleen.</translation> +<translation id="7013005189539051442">Ota Hotspot käyttöön</translation> <translation id="7015766095477679451">Palaa kello <ph name="COME_BACK_TIME" />.</translation> <translation id="7025533177575372252">Yhdistä <ph name="DEVICE_NAME" /> puhelimeesi</translation> <translation id="7026338066939101231">Vähennä</translation> @@ -575,6 +589,7 @@ <translation id="742594950370306541">Kamera on käytössä.</translation> <translation id="742608627846767349">Huomenta</translation> <translation id="743058460480092004">Kamera ja mikrofoni ovat käytössä.</translation> +<translation id="7461924472993315131">Kiinnitä</translation> <translation id="7466449121337984263">Kosketa tunnistinta</translation> <translation id="7477793887173910789">Ohjaa musiikkia, videoita ja muuta</translation> <translation id="7497767806359279797">Valitse kieli ja näppäimistö</translation> @@ -613,6 +628,7 @@ <translation id="7842569679327885685">Varoitus: Kokeellinen ominaisuus</translation> <translation id="7846634333498149051">Näppäimistö</translation> <translation id="7868900307798234037">Avataan sormenjäljellä</translation> +<translation id="7872786842639831132">Pois päältä</translation> <translation id="7886169021410746335">muuttaa tietosuoja-asetuksia</translation> <translation id="7886277072580235377">Internetin käyttökertasi tyhjennetään kirjautuessasi ulos. <ph name="LEARN_MORE" /></translation> <translation id="788781083998633524">Lähetä sähköposti</translation> @@ -717,6 +733,7 @@ <translation id="8853703225951107899">PIN-koodiasi tai salasanaasi ei voitu vieläkään vahvistaa. Huom. Jos vaihdoit salasanasi äskettäin, käytä vanhaa salasanaa. Uusi salasana otetaan käyttöön kirjauduttuasi ulos.</translation> <translation id="885387440427703469">Kuvakaappaukset estetty</translation> <translation id="8870509716567206129">Sovellus ei tue jaetun näytön tilaa.</translation> +<translation id="8871580645200179206">Tumma teema päälle/pois. <ph name="STATE_TEXT" /></translation> <translation id="8874184842967597500">Ei yhdistetty</translation> <translation id="8877788021141246043">Aseta muistutus</translation> <translation id="8878886163241303700">Laajennettu näyttö</translation>
diff --git a/ash/strings/ash_strings_fil.xtb b/ash/strings/ash_strings_fil.xtb index dc6ea7c..4e31444 100644 --- a/ash/strings/ash_strings_fil.xtb +++ b/ash/strings/ash_strings_fil.xtb
@@ -48,6 +48,7 @@ <translation id="1351937230027495976">I-collapse ang menu</translation> <translation id="1383876407941801731">Hanapin</translation> <translation id="1391102559483454063">Naka-on</translation> +<translation id="1407069428457324124">Madilim na tema</translation> <translation id="1419738280318246476">I-unlock ang device para maisagawa ang pagkilos sa notification</translation> <translation id="1420408895951708260">I-toggle ang Night Light. <ph name="STATE_TEXT" /></translation> <translation id="1420527829902822813">Nakuha ang screenshot at na-save ito sa clipboard</translation> @@ -65,6 +66,7 @@ <translation id="1550523713251050646">Mag-click para sa higit pang mga opsyon</translation> <translation id="1570871743947603115">I-toggle ang Bluetooth. <ph name="STATE_TEXT" /></translation> <translation id="1589090746204042747">I-access ang lahat ng iyong aktibidad sa session na ito</translation> +<translation id="1611993646327628135">Naka-on</translation> <translation id="1632985212731562677">Puwedeng i-disable ang Switch Access sa Mga Setting > Accessibility.</translation> <translation id="1654477262762802994">Magsimula ng query gamit ang boses</translation> <translation id="1667964833127753507">Ang neutral color mode ay hindi gumagamit ng mga kulay na na-extract sa wallpaper, at pinapalitan nito ang mga ito ng isang hanay ng mga neutral na maliwanag o madilim na kulay.</translation> @@ -79,6 +81,7 @@ <translation id="1761222317188459878">I-toggle ang koneksyon sa network. <ph name="STATE_TEXT" /></translation> <translation id="1771761307086386028">Mag-scroll pakanan</translation> <translation id="1782199038061388045">pagsasalin</translation> +<translation id="1787955149152357925">Naka-off</translation> <translation id="181103072419391116">Lakas ng Signal <ph name="SIGNAL_STRENGTH" />, Pinapamahalaan ng iyong Administrator</translation> <translation id="1812997170047690955">Ano ang nasa screen ko?</translation> <translation id="1823873187264960516">Ethernet: <ph name="ADDRESS" /></translation> @@ -166,6 +169,7 @@ <translation id="2706462751667573066">Up</translation> <translation id="2718395828230677721">Night Light</translation> <translation id="2727977024730340865">Naka-saksak sa isang low-power charger. Maaaring hindi maging tiyak ang pag-charge ng baterya.</translation> +<translation id="2743387203779672305">Kopyahin sa clipboard</translation> <translation id="2792498699870441125">Alt+Search</translation> <translation id="2819276065543622893">Masa-sign out ka ngayon.</translation> <translation id="2825224105325558319">Hindi sinusuportahan ng <ph name="DISPLAY_NAME" /> ang <ph name="SPECIFIED_RESOLUTION" />. Ginawang <ph name="FALLBACK_RESOLUTION" /> ang resolution.</translation> @@ -201,6 +205,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3081696990447829002">I-expand ang menu</translation> <translation id="3087734570205094154">Sa ilalim</translation> +<translation id="3090989381251959936">I-toggle ang <ph name="FEATURE_NAME" />. <ph name="STATE_TEXT" /></translation> <translation id="309749186376891736">Ilipat ang cursor</translation> <translation id="3098580329624789136">Kunin ang <ph name="INTENT" /> para sa "<ph name="QUERY" />"</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth)</translation> @@ -233,6 +238,7 @@ <translation id="3371140690572404006">USB-C device (port sa kanang bahagi sa harap)</translation> <translation id="3386978599540877378">ang full-screen magnifier</translation> <translation id="3400357268283240774">Mga karagdagang setting</translation> +<translation id="3410336247007142655">Ipakita ang mga setting ng madilim na tema</translation> <translation id="3413817803639110246">Wala pang makikita</translation> <translation id="3428447136709161042">Idiskonekta sa <ph name="NETWORK_NAME" /></translation> <translation id="3430396595145920809">Mag-swipe mula sa kanan para bumalik</translation> @@ -326,6 +332,7 @@ <translation id="4378551569595875038">Kumokonekta...</translation> <translation id="4379531060876907730">Ito ang iyong mga stylus tool</translation> <translation id="4389184120735010762">Napindot mo ang keyboard shortcut para sa naka-dock na magnifier. Gusto mo ba itong i-on?</translation> +<translation id="4412944820643904175">Naka-off ang <ph name="FEATURE_NAME" />.</translation> <translation id="4421231901400348175">Pagbabahagi ng kontrol sa iyong screen gamit ang <ph name="HELPER_NAME" /> sa pamamagitan ng Remote Assistance.</translation> <translation id="4430019312045809116">Volume</translation> <translation id="4450893287417543264">Huwag ipakitang muli</translation> @@ -345,6 +352,7 @@ <translation id="4570957409596482333">Button ng Select-to-Speak</translation> <translation id="4577274620589681794">Oras na · <ph name="LABEL" /></translation> <translation id="4585337515783392668">Ihinto ang pag-cast sa isang hindi pa natutukoy na tagatanggap</translation> +<translation id="4596144739579517758">Naka-off ang Madilim na tema</translation> <translation id="4623167406982293031">I-verify ang account</translation> <translation id="4628757576491864469">Mga Device</translation> <translation id="4659419629803378708">Na-enable ang ChromeVox</translation> @@ -387,6 +395,7 @@ <translation id="5168181903108465623">I-cast ang mga available na device</translation> <translation id="5170568018924773124">Ipinakita sa folder</translation> <translation id="5207949376430453814">I-highlight ang text caret</translation> +<translation id="5208059991603368177">Naka-on</translation> <translation id="5222676887888702881">Mag-sign out</translation> <translation id="523505283826916779">Mga setting ng accessibility</translation> <translation id="5260676007519551770">Desk 4</translation> @@ -398,6 +407,7 @@ <translation id="5313326810920013265">Mga setting ng Bluetooth</translation> <translation id="5314219114274263156">May kinuhang recording ng screen</translation> <translation id="5331975486040154427">USB-C device (port sa kaliwang bahagi sa likod)</translation> +<translation id="5352250171825660495">Naka-on ang Madilim na tema</translation> <translation id="5379115545237091094">Masyadong maraming pagtatangka</translation> <translation id="5397578532367286026">Ang paggamit at kasaysayan ng user na ito ay maaaring suriin ng manager (<ph name="MANAGER_EMAIL" />) sa chrome.com.</translation> <translation id="5400461572260843123">Mga Mabilisang Setting, Pindutin ang search + left para i-access ang notification center.</translation> @@ -434,6 +444,7 @@ <translation id="5769373120130404283">Screen sa privacy</translation> <translation id="5777841717266010279">Itigil ang screen sharing?</translation> <translation id="5790085346892983794">Tagumpay</translation> +<translation id="579415080077680903">Pagpapatahimik</translation> <translation id="5820394555380036790">Chromium OS</translation> <translation id="5837036133683224804">Ihinto ang <ph name="ROUTE_TITLE" /> sa <ph name="RECEIVER_NAME" /></translation> <translation id="5860033963881614850">Naka-off</translation> @@ -444,6 +455,7 @@ <translation id="5911909173233110115"><ph name="USERNAME" /> (<ph name="MAIL" />)</translation> <translation id="5916664084637901428">Naka-on</translation> <translation id="5920710855273935292">Naka-mute ang mikropono.</translation> +<translation id="5946788582095584774">Naka-on ang <ph name="FEATURE_NAME" />.</translation> <translation id="5947494881799873997">I-revert</translation> <translation id="595202126637698455">Naka-enable ang pagte-trace sa pagganap</translation> <translation id="5957083217255311415">Naka-off ang mobile data.</translation> @@ -468,6 +480,7 @@ <translation id="615957422585914272">Ipakita ang on-screen na keyboard</translation> <translation id="6164005077879661055">Permanenteng matatanggal ang lahat ng file at lokal na data na kaugnay ng pinangangasiwaang user sa oras na alisin ang pinangangasiwaang user na ito. Maaari pa ring makita ng manager ang mga nabisitang website at setting para sa pinangangasiwaang user na ito sa <ph name="MANAGEMENT_URL" />.</translation> <translation id="6165508094623778733">Matuto pa</translation> +<translation id="6192859646269780503">Hanapin ang Telepono</translation> <translation id="622484624075952240">Down</translation> <translation id="6236290670123303279">Pamahalaan ang Mga Setting</translation> <translation id="6237231532760393653">1X</translation> @@ -539,6 +552,7 @@ <translation id="6981982820502123353">Accessibility</translation> <translation id="698231206551913481">Permanenteng made-delete ang lahat ng file at lokal na data na nauugnay sa user na ito kapag inalis na ang user na ito.</translation> <translation id="7007983414944123363">Hindi ma-verify ang iyong PIN o password. Subukan ulit.</translation> +<translation id="7013005189539051442">I-enable ang Hotspot</translation> <translation id="7015766095477679451">Bumalik nang <ph name="COME_BACK_TIME" />.</translation> <translation id="7025533177575372252">Ikonekta ang iyong <ph name="DEVICE_NAME" /> sa telepono mo</translation> <translation id="7026338066939101231">Babaan</translation> @@ -573,6 +587,7 @@ <translation id="742594950370306541">Ginagamit ang camera.</translation> <translation id="742608627846767349">Magandang umaga,</translation> <translation id="743058460480092004">Ginagamit ang camera at mikropono.</translation> +<translation id="7461924472993315131">I-pin</translation> <translation id="7466449121337984263">Pakipindot ang sensor</translation> <translation id="7477793887173910789">Kontrolin ang iyong musika, mga video, at higit pa</translation> <translation id="7497767806359279797">Pumili ng wika at keyboard</translation> @@ -611,6 +626,7 @@ <translation id="7842569679327885685">Babala: Pang-eskperimentong feature</translation> <translation id="7846634333498149051">Keyboard</translation> <translation id="7868900307798234037">Ina-unlock gamit ang fingerprint</translation> +<translation id="7872786842639831132">Naka-off</translation> <translation id="7886169021410746335">Isaayos ang mga setting ng privacy</translation> <translation id="7886277072580235377">Maki-clear ang iyong session sa internet kapag nag-sign out ka. <ph name="LEARN_MORE" /></translation> <translation id="788781083998633524">Magpadala ng email</translation> @@ -715,6 +731,7 @@ <translation id="8853703225951107899">Hindi pa rin ma-verify ang iyong PIN o password. Tandaan: Kung pinalitan mo kamakailan ang iyong password, gamitin ang lumang password mo. Malalapat ang iyong bagong password kapag nag-sign out ka.</translation> <translation id="885387440427703469">Na-disable ang screen capture</translation> <translation id="8870509716567206129">Hindi sinusuportahan ng app ang split-screen.</translation> +<translation id="8871580645200179206">I-toggle ang Madilim na tema. <ph name="STATE_TEXT" /></translation> <translation id="8874184842967597500">Hindi konekta</translation> <translation id="8877788021141246043">Magtakda ng paalala</translation> <translation id="8878886163241303700">Pinapalawak ang screen</translation>
diff --git a/ash/strings/ash_strings_fr-CA.xtb b/ash/strings/ash_strings_fr-CA.xtb index be80e83..b71cce11 100644 --- a/ash/strings/ash_strings_fr-CA.xtb +++ b/ash/strings/ash_strings_fr-CA.xtb
@@ -48,6 +48,7 @@ <translation id="1351937230027495976">Réduire le menu</translation> <translation id="1383876407941801731">Rechercher</translation> <translation id="1391102559483454063">Activé</translation> +<translation id="1407069428457324124">Thème sombre</translation> <translation id="1419738280318246476">Déverrouillez l'appareil pour effectuer l'action de la notification</translation> <translation id="1420408895951708260">Activer ou désactiver le mode Éclairage nocturne. <ph name="STATE_TEXT" /></translation> <translation id="1420527829902822813">Capture d'écran effectuée et enregistrée dans le presse-papiers</translation> @@ -65,6 +66,7 @@ <translation id="1550523713251050646">Cliquez pour afficher plus d'options</translation> <translation id="1570871743947603115">Activer/désactiver le Bluetooth. <ph name="STATE_TEXT" /></translation> <translation id="1589090746204042747">Accédez à toute l'activité de votre session</translation> +<translation id="1611993646327628135">Activé</translation> <translation id="1632985212731562677">Switch Access peut être désactivé sous Paramètres > Accessibilité.</translation> <translation id="1654477262762802994">Démarrer une requête vocale</translation> <translation id="1667964833127753507">Le mode couleur neutre n'utilise pas de couleurs extraites d'un fond d'écran, il les remplace par un ensemble de couleurs claires ou sombres aux teintes neutres.</translation> @@ -79,6 +81,7 @@ <translation id="1761222317188459878">Activer/désactiver la connexion réseau. <ph name="STATE_TEXT" /></translation> <translation id="1771761307086386028">Faire défiler vers la droite</translation> <translation id="1782199038061388045">traduction</translation> +<translation id="1787955149152357925">Désactivé</translation> <translation id="181103072419391116">Force du signal : <ph name="SIGNAL_STRENGTH" />, géré par votre administrateur</translation> <translation id="1812997170047690955">Qu'y a-t-il sur mon écran?</translation> <translation id="1823873187264960516">Ethernet : <ph name="ADDRESS" /></translation> @@ -166,6 +169,7 @@ <translation id="2706462751667573066">Haut</translation> <translation id="2718395828230677721">Éclairage nocturne</translation> <translation id="2727977024730340865">L'appareil est branché à un chargeur de faible puissance. Il se peut que la recharge de la batterie ne soit pas fiable.</translation> +<translation id="2743387203779672305">Copier dans le presse-papiers</translation> <translation id="2792498699870441125">Alt + Recherche</translation> <translation id="2819276065543622893">Vous allez maintenant être déconnecté.</translation> <translation id="2825224105325558319"><ph name="DISPLAY_NAME" /> ne permet pas un affichage avec une résolution de <ph name="SPECIFIED_RESOLUTION" />. La résolution a donc été remise à <ph name="FALLBACK_RESOLUTION" />.</translation> @@ -201,6 +205,7 @@ <translation id="3077734595579995578">majuscule</translation> <translation id="3081696990447829002">Développer le menu</translation> <translation id="3087734570205094154">Bas</translation> +<translation id="3090989381251959936">Basculer la fonctionnalité <ph name="FEATURE_NAME" />. <ph name="STATE_TEXT" /></translation> <translation id="309749186376891736">Déplacer le curseur</translation> <translation id="3098580329624789136">Obtenir la <ph name="INTENT" /> de « <ph name="QUERY" /> »</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth)</translation> @@ -233,6 +238,7 @@ <translation id="3371140690572404006">Appareil USB-C (port avant-droit)</translation> <translation id="3386978599540877378">la loupe plein écran</translation> <translation id="3400357268283240774">Autres paramètres</translation> +<translation id="3410336247007142655">Afficher les paramètres du thème sombre</translation> <translation id="3413817803639110246">Rien à voir pour le moment</translation> <translation id="3428447136709161042">Se déconnecter de <ph name="NETWORK_NAME" /></translation> <translation id="3430396595145920809">Balayez l'écran de droite à gauche pour revenir en arrière</translation> @@ -326,6 +332,7 @@ <translation id="4378551569595875038">Connexion...</translation> <translation id="4379531060876907730">Voici vos outils de stylet</translation> <translation id="4389184120735010762">Vous avez appuyé sur le raccourci-clavier de loupe en mode ancré. Voulez-vous l'activer?</translation> +<translation id="4412944820643904175">La fonctionnalité <ph name="FEATURE_NAME" /> est désactivée.</translation> <translation id="4421231901400348175">Partage du contrôle de votre écran avec <ph name="HELPER_NAME" /> au moyen de l’assistance à distance.</translation> <translation id="4430019312045809116">Volume</translation> <translation id="4450893287417543264">Ne plus afficher</translation> @@ -345,6 +352,7 @@ <translation id="4570957409596482333">Bouton Sélectionner pour énoncer</translation> <translation id="4577274620589681794">Temps écoulé : <ph name="LABEL" /></translation> <translation id="4585337515783392668">Arrêter la diffusion sur un récepteur inconnu</translation> +<translation id="4596144739579517758">Le thème sombre est désactivé</translation> <translation id="4623167406982293031">Valider le compte</translation> <translation id="4628757576491864469">Appareils</translation> <translation id="4659419629803378708">ChromeVox activé</translation> @@ -387,6 +395,7 @@ <translation id="5168181903108465623">Appareils de diffusion disponibles</translation> <translation id="5170568018924773124">Afficher dans le dossier</translation> <translation id="5207949376430453814">Mettre le point d'insertion de texte en surbrillance</translation> +<translation id="5208059991603368177">Activé</translation> <translation id="5222676887888702881">Déconnexion</translation> <translation id="523505283826916779">Paramètres d'accessibilité</translation> <translation id="5260676007519551770">Bureau 4</translation> @@ -398,6 +407,7 @@ <translation id="5313326810920013265">Paramètres Bluetooth</translation> <translation id="5314219114274263156">Enregistrement de l'écran effectué</translation> <translation id="5331975486040154427">Appareil USB-C (port arrière-gauche)</translation> +<translation id="5352250171825660495">Le thème sombre est activé</translation> <translation id="5379115545237091094">Trop de tentatives</translation> <translation id="5397578532367286026">Le gestionnaire (<ph name="MANAGER_EMAIL" />) peut examiner les actions effectuées par cet utilisateur, ainsi que son historique, sur chrome.com.</translation> <translation id="5400461572260843123">Paramètres rapides, appuyez sur la touche de recherche et la flèche de gauche pour accéder au centre de notifications.</translation> @@ -434,6 +444,7 @@ <translation id="5769373120130404283">Écran de confidentialité</translation> <translation id="5777841717266010279">Arrêter le partage d'écran?</translation> <translation id="5790085346892983794">Opération réussie</translation> +<translation id="579415080077680903">Silence</translation> <translation id="5820394555380036790">Chromium OS</translation> <translation id="5837036133683224804">Arrêter <ph name="ROUTE_TITLE" /> sur <ph name="RECEIVER_NAME" /></translation> <translation id="5860033963881614850">Désactivé</translation> @@ -444,6 +455,7 @@ <translation id="5911909173233110115"><ph name="USERNAME" /> (<ph name="MAIL" />)</translation> <translation id="5916664084637901428">Activé</translation> <translation id="5920710855273935292">Le microphone est désactivé.</translation> +<translation id="5946788582095584774">La fonctionnalité <ph name="FEATURE_NAME" /> est activée.</translation> <translation id="5947494881799873997">Rétablir</translation> <translation id="595202126637698455">Suivi des performances activé</translation> <translation id="5957083217255311415">Les données mobiles sont désactivées.</translation> @@ -468,6 +480,7 @@ <translation id="615957422585914272">Afficher le clavier à l'écran</translation> <translation id="6164005077879661055">Tous les fichiers et toutes les données locales associés à l'utilisateur supervisé seront définitivement supprimés en même temps que cet utilisateur. Le gestionnaire peut toujours accéder aux sites Web consultés par l'utilisateur supervisé et aux paramètres de celui-ci à l'adresse <ph name="MANAGEMENT_URL" />.</translation> <translation id="6165508094623778733">En savoir plus</translation> +<translation id="6192859646269780503">Localiser le téléphone</translation> <translation id="622484624075952240">Bas</translation> <translation id="6236290670123303279">Gérer les paramètres</translation> <translation id="6237231532760393653">1X</translation> @@ -539,6 +552,7 @@ <translation id="6981982820502123353">Accessibilité</translation> <translation id="698231206551913481">Tous les fichiers et toutes les données locales associés à l'utilisateur seront définitivement supprimés en même temps que ce dernier.</translation> <translation id="7007983414944123363">Votre NIP ou votre mot de passe n'a pas pu être vérifié. Réessayez.</translation> +<translation id="7013005189539051442">Activer le point d'accès sans fil</translation> <translation id="7015766095477679451">Revenez à <ph name="COME_BACK_TIME" />.</translation> <translation id="7025533177575372252">Connectez votre <ph name="DEVICE_NAME" /> à votre téléphone</translation> <translation id="7026338066939101231">Diminuer</translation> @@ -573,6 +587,7 @@ <translation id="742594950370306541">La caméra est en cours d'utilisation.</translation> <translation id="742608627846767349">Bonjour,</translation> <translation id="743058460480092004">La caméra et le microphone sont actuellement utilisés.</translation> +<translation id="7461924472993315131">NIP</translation> <translation id="7466449121337984263">Veuillez toucher le capteur</translation> <translation id="7477793887173910789">Commandez votre musique, vos vidéos et plus encore</translation> <translation id="7497767806359279797">Choisir la langue et le clavier</translation> @@ -611,6 +626,7 @@ <translation id="7842569679327885685">Attention : Fonctionnalité expérimentale</translation> <translation id="7846634333498149051">Clavier</translation> <translation id="7868900307798234037">Déverrouillage avec empreinte digitale</translation> +<translation id="7872786842639831132">Désactivé</translation> <translation id="7886169021410746335">Ajuster les paramètres de confidentialité</translation> <translation id="7886277072580235377">Votre session Internet sera effacée lorsque vous vous déconnecterez. <ph name="LEARN_MORE" /></translation> <translation id="788781083998633524">Envoyer un courriel</translation> @@ -715,6 +731,7 @@ <translation id="8853703225951107899">Votre NIP ou votre mot de passe n'a toujours pas pu être vérifié. Remarque : Si vous avez récemment changé votre mot de passe, servez-vous de votre ancien mot de passe. Votre nouveau mot de passe sera appliqué lorsque vous vous déconnecterez.</translation> <translation id="885387440427703469">Mode de capture d'écran désactivé</translation> <translation id="8870509716567206129">L'application n'est pas compatible avec l'écran partagé.</translation> +<translation id="8871580645200179206">Basculer le thème sombre. <ph name="STATE_TEXT" /></translation> <translation id="8874184842967597500">Non connecté</translation> <translation id="8877788021141246043">Créer un rappel</translation> <translation id="8878886163241303700">Extension de l'écran</translation>
diff --git a/ash/strings/ash_strings_fr.xtb b/ash/strings/ash_strings_fr.xtb index 42cbd93..30a20d1 100644 --- a/ash/strings/ash_strings_fr.xtb +++ b/ash/strings/ash_strings_fr.xtb
@@ -48,6 +48,7 @@ <translation id="1351937230027495976">Réduire le menu</translation> <translation id="1383876407941801731">Rechercher</translation> <translation id="1391102559483454063">Activé</translation> +<translation id="1407069428457324124">Thème sombre</translation> <translation id="1419738280318246476">Déverrouiller l'appareil pour effectuer l'action de notification</translation> <translation id="1420408895951708260">Activer/Désactiver la fonctionnalité Éclairage nocturne. <ph name="STATE_TEXT" /></translation> <translation id="1420527829902822813">Capture d'écran effectuée et enregistrée dans le presse-papiers</translation> @@ -65,6 +66,7 @@ <translation id="1550523713251050646">Cliquez pour obtenir plus d'options.</translation> <translation id="1570871743947603115">Activer/Désactiver le Bluetooth. <ph name="STATE_TEXT" /></translation> <translation id="1589090746204042747">Accéder à toutes vos activités dans cette session</translation> +<translation id="1611993646327628135">Activé</translation> <translation id="1632985212731562677">Vous pouvez désactiver Switch Access en sélectionnant Paramètres > Accessibilité.</translation> <translation id="1654477262762802994">Soumettre une requête vocale</translation> <translation id="1667964833127753507">Le mode couleur neutre n'utilise pas des couleurs issues du fond d'écran : il les remplace par une gamme de tonalités neutres (claires ou sombres).</translation> @@ -79,6 +81,7 @@ <translation id="1761222317188459878">Activer/Désactiver la connexion réseau. <ph name="STATE_TEXT" /></translation> <translation id="1771761307086386028">Vers la droite</translation> <translation id="1782199038061388045">traduction</translation> +<translation id="1787955149152357925">Désactivé</translation> <translation id="181103072419391116">Force du signal : <ph name="SIGNAL_STRENGTH" />, géré par votre administrateur</translation> <translation id="1812997170047690955">Éléments affichés à l'écran</translation> <translation id="1823873187264960516">Ethernet : <ph name="ADDRESS" /></translation> @@ -166,6 +169,7 @@ <translation id="2706462751667573066">Haut</translation> <translation id="2718395828230677721">Écl. nocturne</translation> <translation id="2727977024730340865">L'appareil est branché à un chargeur de faible puissance. Il se peut que la charge ne soit pas fiable.</translation> +<translation id="2743387203779672305">Copier dans le presse-papiers</translation> <translation id="2792498699870441125">Alt + Recherche</translation> <translation id="2819276065543622893">Vous allez être déconnecté maintenant.</translation> <translation id="2825224105325558319"><ph name="DISPLAY_NAME" /> n'est pas compatible avec la résolution <ph name="SPECIFIED_RESOLUTION" />. La résolution <ph name="FALLBACK_RESOLUTION" /> sera utilisée à la place.</translation> @@ -201,6 +205,7 @@ <translation id="3077734595579995578">maj</translation> <translation id="3081696990447829002">Développer le menu</translation> <translation id="3087734570205094154">En bas</translation> +<translation id="3090989381251959936">Activer/Désactiver <ph name="FEATURE_NAME" />. <ph name="STATE_TEXT" /></translation> <translation id="309749186376891736">Curseur de déplacement</translation> <translation id="3098580329624789136">Trouvez la <ph name="INTENT" /> de "<ph name="QUERY" />"</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth)</translation> @@ -233,6 +238,7 @@ <translation id="3371140690572404006">Appareil USB de type C (port situé sur la droite de l'appareil, à l'avant)</translation> <translation id="3386978599540877378">la loupe plein écran</translation> <translation id="3400357268283240774">Autres paramètres</translation> +<translation id="3410336247007142655">Afficher les paramètres du thème sombre</translation> <translation id="3413817803639110246">Aucune notification</translation> <translation id="3428447136709161042">Se déconnecter de <ph name="NETWORK_NAME" /></translation> <translation id="3430396595145920809">Faites glisser votre doigt de droite à gauche pour revenir en arrière</translation> @@ -326,6 +332,7 @@ <translation id="4378551569595875038">Connexion</translation> <translation id="4379531060876907730">Voici vos outils de stylet</translation> <translation id="4389184120735010762">Vous avez appuyé sur le raccourci clavier de la loupe ancrée. Voulez-vous l'activer ?</translation> +<translation id="4412944820643904175">La fonctionnalité <ph name="FEATURE_NAME" /> est désactivée.</translation> <translation id="4421231901400348175">Partager le contrôle de votre écran avec <ph name="HELPER_NAME" /> via l'assistance à distance</translation> <translation id="4430019312045809116">Volume</translation> <translation id="4450893287417543264">Ne plus afficher</translation> @@ -345,6 +352,7 @@ <translation id="4570957409596482333">Bouton "Sélectionner pour prononcer"</translation> <translation id="4577274620589681794">Temps écoulé · <ph name="LABEL" /></translation> <translation id="4585337515783392668">Arrêter la diffusion vers un destinataire inconnu</translation> +<translation id="4596144739579517758">Le thème sombre est désactivé</translation> <translation id="4623167406982293031">Vérifiez le compte</translation> <translation id="4628757576491864469">Appareils</translation> <translation id="4659419629803378708">ChromeVox activé</translation> @@ -387,6 +395,7 @@ <translation id="5168181903108465623">Appareils Cast disponibles</translation> <translation id="5170568018924773124">Afficher le dossier</translation> <translation id="5207949376430453814">Mettre le curseur de texte en surbrillance</translation> +<translation id="5208059991603368177">Activé</translation> <translation id="5222676887888702881">Déconnexion</translation> <translation id="523505283826916779">Paramètres d'accessibilité</translation> <translation id="5260676007519551770">Bureau 4</translation> @@ -398,6 +407,7 @@ <translation id="5313326810920013265">Paramètres Bluetooth</translation> <translation id="5314219114274263156">Enregistrement d'écran effectué</translation> <translation id="5331975486040154427">Appareil USB de type C (port situé sur la gauche de l'appareil, à l'arrière)</translation> +<translation id="5352250171825660495">Le thème sombre est activé</translation> <translation id="5379115545237091094">Trop de tentatives</translation> <translation id="5397578532367286026">Le gestionnaire (<ph name="MANAGER_EMAIL" />) peut consulter les actions effectuées cet utilisateur, ainsi que son historique, sur chrome.com.</translation> <translation id="5400461572260843123">Fenêtre de configuration rapide, appuyez sur la touche de recherche et la flèche de gauche pour accéder au centre de notifications.</translation> @@ -434,6 +444,7 @@ <translation id="5769373120130404283">Écran de confidentialité</translation> <translation id="5777841717266010279">Arrêter le partage d'écran ?</translation> <translation id="5790085346892983794">Succès</translation> +<translation id="579415080077680903">Silencieux</translation> <translation id="5820394555380036790">Chromium OS</translation> <translation id="5837036133683224804">Arrêter <ph name="ROUTE_TITLE" /> vers <ph name="RECEIVER_NAME" /></translation> <translation id="5860033963881614850">Désactivé</translation> @@ -444,6 +455,7 @@ <translation id="5911909173233110115"><ph name="USERNAME" /> (<ph name="MAIL" />)</translation> <translation id="5916664084637901428">Activé</translation> <translation id="5920710855273935292">Le son du micro est coupé.</translation> +<translation id="5946788582095584774">La fonctionnalité <ph name="FEATURE_NAME" /> est activée.</translation> <translation id="5947494881799873997">Rétablir</translation> <translation id="595202126637698455">Suivi des performances activé</translation> <translation id="5957083217255311415">Les données mobiles sont désactivées.</translation> @@ -468,6 +480,7 @@ <translation id="615957422585914272">Afficher le clavier à l'écran</translation> <translation id="6164005077879661055">Tous les fichiers et les données locales associés à l'utilisateur supervisé seront définitivement supprimés en même temps que cet utilisateur. Le gestionnaire peut toujours accéder aux sites Web consultés par l'utilisateur supervisé et aux paramètres de celui-ci à l'adresse <ph name="MANAGEMENT_URL" />.</translation> <translation id="6165508094623778733">En savoir plus</translation> +<translation id="6192859646269780503">Localiser le téléphone</translation> <translation id="622484624075952240">Bas</translation> <translation id="6236290670123303279">Gérer les paramètres</translation> <translation id="6237231532760393653">1X</translation> @@ -539,6 +552,7 @@ <translation id="6981982820502123353">Accessibilité</translation> <translation id="698231206551913481">L'ensemble des données locales et des fichiers associés à cet utilisateur seront définitivement supprimés en même temps que ce dernier.</translation> <translation id="7007983414944123363">Impossible de valider votre code ou votre mot de passe. Réessayez.</translation> +<translation id="7013005189539051442">Activer le point d'accès</translation> <translation id="7015766095477679451">Revenez à <ph name="COME_BACK_TIME" />.</translation> <translation id="7025533177575372252">Associer votre <ph name="DEVICE_NAME" /> à votre téléphone</translation> <translation id="7026338066939101231">Diminuer</translation> @@ -573,6 +587,7 @@ <translation id="742594950370306541">La caméra est en cours d'utilisation.</translation> <translation id="742608627846767349">Bonjour,</translation> <translation id="743058460480092004">La caméra et le micro sont en cours d'utilisation.</translation> +<translation id="7461924472993315131">Épingler</translation> <translation id="7466449121337984263">Veuillez toucher le capteur</translation> <translation id="7477793887173910789">Contrôler votre musique, vos vidéos et d'autres contenus</translation> <translation id="7497767806359279797">Choisir la langue et le clavier</translation> @@ -611,6 +626,7 @@ <translation id="7842569679327885685">Avertissement : Fonctionnalité expérimentale</translation> <translation id="7846634333498149051">Clavier</translation> <translation id="7868900307798234037">Déverrouillage en cours avec votre empreinte digitale</translation> +<translation id="7872786842639831132">Désactivé</translation> <translation id="7886169021410746335">Régler les paramètres de confidentialité</translation> <translation id="7886277072580235377">Votre session Internet est effacée lorsque vous vous déconnectez. <ph name="LEARN_MORE" /></translation> <translation id="788781083998633524">Envoie un e-mail</translation> @@ -715,6 +731,7 @@ <translation id="8853703225951107899">Impossible de valider votre code ou votre mot de passe pour la deuxième fois. Remarque : si vous avez modifié votre mot de passe récemment, utilisez l'ancien. Votre nouveau mot de passe ne sera appliqué qu'une fois que vous serez déconnecté.</translation> <translation id="885387440427703469">Capture d'écran désactivée</translation> <translation id="8870509716567206129">Application incompatible avec l'écran partagé.</translation> +<translation id="8871580645200179206">Activer/Désactiver le thème sombre. <ph name="STATE_TEXT" /></translation> <translation id="8874184842967597500">Non connecté</translation> <translation id="8877788021141246043">Définis un rappel</translation> <translation id="8878886163241303700">Extension de l'écran</translation>
diff --git a/ash/strings/ash_strings_gl.xtb b/ash/strings/ash_strings_gl.xtb index 66cba0a89..f084312 100644 --- a/ash/strings/ash_strings_gl.xtb +++ b/ash/strings/ash_strings_gl.xtb
@@ -48,6 +48,7 @@ <translation id="1351937230027495976">Contraer menú</translation> <translation id="1383876407941801731">Buscar</translation> <translation id="1391102559483454063">Activada</translation> +<translation id="1407069428457324124">Tema escuro</translation> <translation id="1419738280318246476">Desbloquea o dispositivo para levar a cabo a acción de notificación</translation> <translation id="1420408895951708260">Activar/desactivar Luz nocturna: <ph name="STATE_TEXT" /></translation> <translation id="1420527829902822813">Fíxose unha captura de pantalla e gardouse no portapapeis</translation> @@ -65,6 +66,7 @@ <translation id="1550523713251050646">Fai clic para ver máis opcións</translation> <translation id="1570871743947603115">Activar/desactivar o Bluetooth. <ph name="STATE_TEXT" /></translation> <translation id="1589090746204042747">Acceder a toda a túa actividade nesta sesión</translation> +<translation id="1611993646327628135">Función activada</translation> <translation id="1632985212731562677">A función Acceso con interruptores pódese desactivar en Configuración > Accesibilidade.</translation> <translation id="1654477262762802994">Iniciar unha consulta de voz</translation> <translation id="1667964833127753507">O modo de cor neutra non usa as cores extraídas dun fondo de pantalla, senón que as substitúe por un conxunto de cores claras ou escuras cun ton neutro.</translation> @@ -79,6 +81,7 @@ <translation id="1761222317188459878">Activar/desactivar a conexión de rede. <ph name="STATE_TEXT" /></translation> <translation id="1771761307086386028">Desprazarse á dereita</translation> <translation id="1782199038061388045">tradución</translation> +<translation id="1787955149152357925">Función desactivada</translation> <translation id="181103072419391116">Intensidade do sinal do <ph name="SIGNAL_STRENGTH" />, xestionada polo teu administrador</translation> <translation id="1812997170047690955">Que se mostra na miña pantalla?</translation> <translation id="1823873187264960516">Ethernet: <ph name="ADDRESS" /></translation> @@ -166,6 +169,7 @@ <translation id="2706462751667573066">Arriba</translation> <translation id="2718395828230677721">Luz nocturna</translation> <translation id="2727977024730340865">Conectado a un cargador de baixa potencia. É posible que a carga da batería non sexa fiable.</translation> +<translation id="2743387203779672305">Copiar no portapapeis</translation> <translation id="2792498699870441125">Alt+Search</translation> <translation id="2819276065543622893">Pecharase a túa sesión agora.</translation> <translation id="2825224105325558319"><ph name="DISPLAY_NAME" /> non admite <ph name="SPECIFIED_RESOLUTION" />. A resolución cambiouse a <ph name="FALLBACK_RESOLUTION" /></translation> @@ -201,6 +205,7 @@ <translation id="3077734595579995578">maiús</translation> <translation id="3081696990447829002">Despregar menú</translation> <translation id="3087734570205094154">Parte inferior</translation> +<translation id="3090989381251959936">Activar/desactivar función <ph name="FEATURE_NAME" />. <ph name="STATE_TEXT" /></translation> <translation id="309749186376891736">Mover cursor</translation> <translation id="3098580329624789136">Obter <ph name="INTENT" /> de "<ph name="QUERY" />"</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth)</translation> @@ -233,6 +238,7 @@ <translation id="3371140690572404006">Dispositivo USB-C (porto dereito frontal)</translation> <translation id="3386978599540877378">a lupa de pantalla completa</translation> <translation id="3400357268283240774">Configuración adicional</translation> +<translation id="3410336247007142655">Mostrar configuración do tema escuro</translation> <translation id="3413817803639110246">Aínda non hai contido</translation> <translation id="3428447136709161042">Desconectarse de <ph name="NETWORK_NAME" /></translation> <translation id="3430396595145920809">Pasa o dedo desde a dereita para volver</translation> @@ -327,6 +333,7 @@ <translation id="4378551569595875038">Conectando...</translation> <translation id="4379531060876907730">Estas son as túas ferramentas de lapis óptico</translation> <translation id="4389184120735010762">Premiches o atallo de teclado para a lupa ancorada. Queres activala?</translation> +<translation id="4412944820643904175">A función <ph name="FEATURE_NAME" /> está desactivada.</translation> <translation id="4421231901400348175">Control compartido da túa pantalla con <ph name="HELPER_NAME" /> a través de Asistencia remota.</translation> <translation id="4430019312045809116">Volume</translation> <translation id="4450893287417543264">Non mostrar outra vez</translation> @@ -346,6 +353,7 @@ <translation id="4570957409596482333">Botón Escoitar selección</translation> <translation id="4577274620589681794">Acabouse o tempo · <ph name="LABEL" /></translation> <translation id="4585337515783392668">Deter emisión nun receptor descoñecido</translation> +<translation id="4596144739579517758">O tema escuro está desactivado</translation> <translation id="4623167406982293031">Verificar conta</translation> <translation id="4628757576491864469">Dispositivos</translation> <translation id="4659419629803378708">Activouse ChromeVox</translation> @@ -388,6 +396,7 @@ <translation id="5168181903108465623">Dispositivos de emisión dispoñibles</translation> <translation id="5170568018924773124">Mostrar no cartafol</translation> <translation id="5207949376430453814">Destacar o cursor de texto</translation> +<translation id="5208059991603368177">Función activada</translation> <translation id="5222676887888702881">Pechar sesión</translation> <translation id="523505283826916779">Configuración de accesibilidade</translation> <translation id="5260676007519551770">Escritorio 4</translation> @@ -399,6 +408,7 @@ <translation id="5313326810920013265">Configuración de Bluetooth</translation> <translation id="5314219114274263156">Realizouse unha gravación da pantalla</translation> <translation id="5331975486040154427">Dispositivo USB-C (porto esquerdo posterior)</translation> +<translation id="5352250171825660495">O tema escuro está activado</translation> <translation id="5379115545237091094">Demasiados intentos</translation> <translation id="5397578532367286026">O administrador pode revisar o uso e o historial deste usuario (<ph name="MANAGER_EMAIL" />) en chrome.com.</translation> <translation id="5400461572260843123">Configuración rápida, preme buscar + esquerda para acceder ao centro de notificacións.</translation> @@ -435,6 +445,7 @@ <translation id="5769373120130404283">Pantalla de privacidade</translation> <translation id="5777841717266010279">Queres deter o uso compartido da pantalla?</translation> <translation id="5790085346892983794">Correcto</translation> +<translation id="579415080077680903">Silenciar</translation> <translation id="5820394555380036790">Chromium OS</translation> <translation id="5837036133683224804">Deter <ph name="ROUTE_TITLE" /> no receptor <ph name="RECEIVER_NAME" /></translation> <translation id="5860033963881614850">Non</translation> @@ -445,6 +456,7 @@ <translation id="5911909173233110115"><ph name="USERNAME" /> (<ph name="MAIL" />)</translation> <translation id="5916664084637901428">Si</translation> <translation id="5920710855273935292">O micrófono está silenciado.</translation> +<translation id="5946788582095584774">A función <ph name="FEATURE_NAME" /> está activada.</translation> <translation id="5947494881799873997">Reverter</translation> <translation id="595202126637698455">Seguimento do rendemento activado</translation> <translation id="5957083217255311415">Os datos móbiles están desactivados.</translation> @@ -469,6 +481,7 @@ <translation id="615957422585914272">Mostrar teclado en pantalla</translation> <translation id="6164005077879661055">É posible que todos os ficheiros e datos locais asociados co usuario supervisado se eliminen permanentemente en canto se elimine este usuario supervisado. É posible que o administrador de <ph name="MANAGEMENT_URL" /> continúe vendo os sitios web visitados e as configuracións deste usuario supervisado.</translation> <translation id="6165508094623778733">Máis información</translation> +<translation id="6192859646269780503">Localizar teléfono</translation> <translation id="622484624075952240">Frecha abaixo</translation> <translation id="6236290670123303279">Xestionar configuración</translation> <translation id="6237231532760393653">1X</translation> @@ -540,6 +553,7 @@ <translation id="6981982820502123353">Accesibilidade</translation> <translation id="698231206551913481">En canto se borre este usuario, eliminaranse permanentemente os ficheiros e os datos locais asociados con el.</translation> <translation id="7007983414944123363">Non se puido verificar o teu PIN ou contrasinal. Téntao de novo.</translation> +<translation id="7013005189539051442">Activar zona wifi</translation> <translation id="7015766095477679451">Volve á seguinte hora: <ph name="COME_BACK_TIME" />.</translation> <translation id="7025533177575372252">Conecta o <ph name="DEVICE_NAME" /> co teu teléfono</translation> <translation id="7026338066939101231">Reducir</translation> @@ -574,6 +588,7 @@ <translation id="742594950370306541">Estase utilizando a cámara.</translation> <translation id="742608627846767349">Bos días!</translation> <translation id="743058460480092004">Estanse utilizando a cámara e o micrófono.</translation> +<translation id="7461924472993315131">Marcar cun alfinete</translation> <translation id="7466449121337984263">Toca o sensor</translation> <translation id="7477793887173910789">Controlar a túa música, os vídeos e moito máis</translation> <translation id="7497767806359279797">Escoller idioma e teclado</translation> @@ -612,6 +627,7 @@ <translation id="7842569679327885685">Advertencia: Función experimental</translation> <translation id="7846634333498149051">Teclado</translation> <translation id="7868900307798234037">Desbloqueo con impresión dixital</translation> +<translation id="7872786842639831132">Función desactivada</translation> <translation id="7886169021410746335">Axustar a configuración de privacidade</translation> <translation id="7886277072580235377">Cando saias da conta, borrarase a túa sesión de Internet. <ph name="LEARN_MORE" /></translation> <translation id="788781083998633524">Enviar un correo</translation> @@ -716,6 +732,7 @@ <translation id="8853703225951107899">Aínda non se puido verificar o teu PIN ou contrasinal. Nota: Se cambiaches o contrasinal recentemente, utiliza o antigo. O contrasinal novo aplicarase en canto peches sesión.</translation> <translation id="885387440427703469">As capturas de pantalla están desactivadas</translation> <translation id="8870509716567206129">A aplicación non é compatible coa función de pantalla dividida.</translation> +<translation id="8871580645200179206">Activar/desactivar tema escuro. <ph name="STATE_TEXT" /></translation> <translation id="8874184842967597500">Non conectada</translation> <translation id="8877788021141246043">Definir un recordatorio</translation> <translation id="8878886163241303700">Ampliando a pantalla</translation>
diff --git a/ash/strings/ash_strings_gu.xtb b/ash/strings/ash_strings_gu.xtb index 7d689ffb..bf6bc44 100644 --- a/ash/strings/ash_strings_gu.xtb +++ b/ash/strings/ash_strings_gu.xtb
@@ -48,6 +48,7 @@ <translation id="1351937230027495976">મેનૂ સંકુચિત કરો</translation> <translation id="1383876407941801731">શોધો</translation> <translation id="1391102559483454063">ચાલુ</translation> +<translation id="1407069428457324124">ઘેરી થીમ</translation> <translation id="1419738280318246476">નોટિફિકેશન ક્રિયા કરવા માટે ઉપકરણને અનલૉક કરો</translation> <translation id="1420408895951708260">રાત્રિ પ્રકાશને ટૉગલ કરો. <ph name="STATE_TEXT" /></translation> <translation id="1420527829902822813">સ્ક્રીનશૉટ લેવાયો અને તે ક્લિપબોર્ડ પર સાચવ્યો</translation> @@ -65,6 +66,7 @@ <translation id="1550523713251050646">વધુ વિકલ્પો માટે ક્લિક કરો</translation> <translation id="1570871743947603115">બ્લૂટૂથ ટૉગલ કરો. <ph name="STATE_TEXT" /></translation> <translation id="1589090746204042747">આ સત્રમાં તમારી બધી પ્રવૃત્તિને ઍક્સેસ કરો</translation> +<translation id="1611993646327628135">ચાલુ</translation> <translation id="1632985212731562677">સ્વિચ ઍક્સેસને સેટિંગ > ઍક્સેસિબિલિટીમાંથી બંધ કરી શકાય છે.</translation> <translation id="1654477262762802994">વૉઇસ ક્વેરી શરૂ કરો</translation> <translation id="1667964833127753507">ન્યૂટ્રલ કલર મોડ વૉલપેપરમાંથી મેળવવામાં આવેલા રંગોનો ઉપયોગ કરતો નથી, તેને બદલે તટસ્થપણે ટોન કરેલી આછી કે ઘેરી રંગછટાના સેટનો ઉપયોગ કરે છે.</translation> @@ -79,6 +81,7 @@ <translation id="1761222317188459878">નેટવર્ક કનેક્શન ટૉગલ કરો. <ph name="STATE_TEXT" /></translation> <translation id="1771761307086386028">જમણે સ્ક્રોલ કરો</translation> <translation id="1782199038061388045">અનુવાદ</translation> +<translation id="1787955149152357925">બંધ છે</translation> <translation id="181103072419391116">સિગ્નલની સશક્તતા <ph name="SIGNAL_STRENGTH" />, તમારા વ્યવસ્થાપક દ્વારા મેનેજ કરવામાં આવે છે</translation> <translation id="1812997170047690955">મારી સ્ક્રીન પર શું છે?</translation> <translation id="1823873187264960516">ઇથરનેટ: <ph name="ADDRESS" /></translation> @@ -166,6 +169,7 @@ <translation id="2706462751667573066">Up</translation> <translation id="2718395828230677721">રાત્રિ પ્રકાશ</translation> <translation id="2727977024730340865">નિમ્ન-પાવર ચાર્જરમાં પ્લગ કરેલું છે. બૅટરી ચાર્જિંગ વિશ્વસનીય હશે નહીં.</translation> +<translation id="2743387203779672305">ક્લિપબોર્ડ પર કૉપિ કરો</translation> <translation id="2792498699870441125">Alt+Search</translation> <translation id="2819276065543622893">તમે હવે સાઇન આઉટ થશો.</translation> <translation id="2825224105325558319"><ph name="DISPLAY_NAME" />, <ph name="SPECIFIED_RESOLUTION" />ને સપોર્ટ આપતું નથી. રિઝોલ્યુશનને <ph name="FALLBACK_RESOLUTION" /> પર બદલવામાં આવ્યું હતું.</translation> @@ -201,6 +205,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3081696990447829002">મેનૂ વિસ્તૃત કરો</translation> <translation id="3087734570205094154">તળિયું</translation> +<translation id="3090989381251959936"><ph name="FEATURE_NAME" /> ટૉગલ કરો. <ph name="STATE_TEXT" /></translation> <translation id="309749186376891736">કર્સર ખસેડો</translation> <translation id="3098580329624789136">"<ph name="QUERY" />" માટે <ph name="INTENT" /> મેળવો</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth)</translation> @@ -233,6 +238,7 @@ <translation id="3371140690572404006">USB-C ઉપકરણ (જમણી બાજુનું આગળનું પોર્ટ)</translation> <translation id="3386978599540877378">પૂર્ણ-સ્ક્રીન મેગ્નિફાયર</translation> <translation id="3400357268283240774">વધારાની સેટિંગ્સ</translation> +<translation id="3410336247007142655">ઘેરી થીમના સેટિંગ બતાવો</translation> <translation id="3413817803639110246">હજુ સુધી જોવા માટે કંઈ નથી</translation> <translation id="3428447136709161042"><ph name="NETWORK_NAME" />માંથી ડિસ્કનેક્ટ કરો</translation> <translation id="3430396595145920809">પાછળ જવા માટે, જમણેથી ડાબે સ્વાઇપ કરો</translation> @@ -326,6 +332,7 @@ <translation id="4378551569595875038">કનેક્ટિંગ...</translation> <translation id="4379531060876907730">આ છે તમારા સ્ટાઇલસનાં સાધનો</translation> <translation id="4389184120735010762">તમે ડૉક કરેલ મૅગ્નિફાયર માટે કીબોર્ડ શૉર્ટકટ દબાવેલ છે. શું તમે તેને ચાલુ કરવા માગો છો?</translation> +<translation id="4412944820643904175"><ph name="FEATURE_NAME" /> બંધ છે.</translation> <translation id="4421231901400348175">દૂરસ્થ સહાય વડે <ph name="HELPER_NAME" /> સાથે તમારી સ્ક્રીનનું નિયંત્રણ શેર કરવું.</translation> <translation id="4430019312045809116">વૉલ્યૂમ</translation> <translation id="4450893287417543264">ફરી બતાવશો નહીં</translation> @@ -345,6 +352,7 @@ <translation id="4570957409596482333">સાંભળવા માટે પસંદ કરો બટન</translation> <translation id="4577274620589681794">સમય સમાપ્ત · <ph name="LABEL" /></translation> <translation id="4585337515783392668">અજાણ્યા પ્રાપ્તકર્તા પર કાસ્ટ કરવાનું રોકો</translation> +<translation id="4596144739579517758">ઘેરી થીમ બંધ છે</translation> <translation id="4623167406982293031">એકાઉન્ટ ચકાસો</translation> <translation id="4628757576491864469">ડિવાઇસ</translation> <translation id="4659419629803378708">ChromeVox સક્ષમ કર્યું</translation> @@ -387,6 +395,7 @@ <translation id="5168181903108465623">Cast ઉપકરણો ઉપલબ્ધ</translation> <translation id="5170568018924773124">ફોલ્ડરમાં બતાવો</translation> <translation id="5207949376430453814">ટેક્સ્ટ કૅરેટને હાઇલાઇટ કરો</translation> +<translation id="5208059991603368177">ચાલુ</translation> <translation id="5222676887888702881">સાઇન આઉટ</translation> <translation id="523505283826916779">ઍક્સેસિબિલિટી સેટિંગ્સ</translation> <translation id="5260676007519551770">ડેસ્ક 4</translation> @@ -398,6 +407,7 @@ <translation id="5313326810920013265">Bluetooth સેટિંગ</translation> <translation id="5314219114274263156">સ્ક્રીન રેકોર્ડિંગ કર્યું</translation> <translation id="5331975486040154427">USB-C ડિવાઇસ (ડાબી બાજુનું પાછળનું પોર્ટ)</translation> +<translation id="5352250171825660495">ઘેરી થીમ ચાલુ છે</translation> <translation id="5379115545237091094">ઘણા બધા પ્રયાસો</translation> <translation id="5397578532367286026">આ વપરાશકર્તાના ઉપયોગ અને ઇતિહાસની chrome.com પર સંચાલક (<ph name="MANAGER_EMAIL" />) દ્વારા સમીક્ષા કરવામાં આવી શકે છે.</translation> <translation id="5400461572260843123">ઝડપી સેટિંગ, નોટિફિકેશન કેન્દ્ર ઍક્સેસ કરવા માટે 'શોધો' + ડાબી ઍરો કી દબાવો.</translation> @@ -434,6 +444,7 @@ <translation id="5769373120130404283">પ્રાઇવસી સ્ક્રીન</translation> <translation id="5777841717266010279">સ્ક્રીન શેરિંગ રોકીએ?</translation> <translation id="5790085346892983794">સફળતા</translation> +<translation id="579415080077680903">સાઇલન્ટ કરો</translation> <translation id="5820394555380036790">Chromium OS</translation> <translation id="5837036133683224804"><ph name="RECEIVER_NAME" /> પર <ph name="ROUTE_TITLE" />ને રોકો</translation> <translation id="5860033963881614850">બંધ</translation> @@ -444,6 +455,7 @@ <translation id="5911909173233110115"><ph name="USERNAME" /> (<ph name="MAIL" />)</translation> <translation id="5916664084637901428">ચાલુ</translation> <translation id="5920710855273935292">માઇક્રોફોન મ્યૂટ કરેલો છે.</translation> +<translation id="5946788582095584774"><ph name="FEATURE_NAME" /> ચાલુ છે.</translation> <translation id="5947494881799873997">પાછા ફરો</translation> <translation id="595202126637698455">ભજવણી ટ્રેસિંગ સક્ષમ</translation> <translation id="5957083217255311415">મોબાઇલ ડેટા બંધ છે.</translation> @@ -468,6 +480,7 @@ <translation id="615957422585914272">ઑન-સ્ક્રીન કીબોર્ડ બતાવો</translation> <translation id="6164005077879661055">એકવાર આ નિરીક્ષણ કરેલ વપરાશકર્તાને દૂર કરવામાં આવે પછી નિરીક્ષણ કરેલ વપરાશકર્તા સાથે સંકળાયેલી બધી ફાઇલો અને સ્થાનિક ડેટા કાયમી રૂપે કાઢી નાંખવામાં આવશે. નિરીક્ષણ કરેલ વપરાશકર્તા માટે મુલાકાત લીધેલી વેબસાઇટ્સ અને સેટિંગ્સ <ph name="MANAGEMENT_URL" /> પરના સંચાલકને હજી પણ દૃશ્યમાન હોઈ શકે છે.</translation> <translation id="6165508094623778733">વધુ જાણો</translation> +<translation id="6192859646269780503">ફોન શોધો</translation> <translation id="622484624075952240">Down</translation> <translation id="6236290670123303279">સેટિંગને મેનેજ કરો</translation> <translation id="6237231532760393653">1X</translation> @@ -539,6 +552,7 @@ <translation id="6981982820502123353">ઍક્સેસિબિલિટી</translation> <translation id="698231206551913481">આ વપરાશકર્તા દૂર કરી દેવામાં આવે તે પછી આ વપરાશકર્તા સાથે સંકળાયેલ તમામ ફાઇલો અને સ્થાનિક ડેટા કાયમીરૂપે કાઢી નાખવામાં આવશે.</translation> <translation id="7007983414944123363">તમારો પિન કે પાસવર્ડ ચકાસી શકાયો નથી. ફરી પ્રયાસ કરો.</translation> +<translation id="7013005189539051442">હૉટસ્પૉટ ચાલુ કરો</translation> <translation id="7015766095477679451"><ph name="COME_BACK_TIME" /> વાગ્યે પાછા આવો.</translation> <translation id="7025533177575372252">તમારા <ph name="DEVICE_NAME" />ને તમારા ફોન સાથે કનેક્ટ કરો</translation> <translation id="7026338066939101231">હ્રાસ</translation> @@ -573,6 +587,7 @@ <translation id="742594950370306541">કૅમેરો ઉપયોગમાં છે.</translation> <translation id="742608627846767349">ગુડ મોર્નિંગ,</translation> <translation id="743058460480092004">કૅમેરો અને માઇક્રોફોન ઉપયોગમાં છે.</translation> +<translation id="7461924472993315131">પિન કરો</translation> <translation id="7466449121337984263">કૃપા કરીને સેન્સરને સ્પર્શ કરો</translation> <translation id="7477793887173910789">તમારું મ્યુઝિક, વીડિયો અને બીજું ઘણું નિયંત્રિત કરો</translation> <translation id="7497767806359279797">ભાષા અને કીબોર્ડ પસંદ કરો</translation> @@ -611,6 +626,7 @@ <translation id="7842569679327885685">ચેતવણી: પ્રાયોગિક સુવિધા</translation> <translation id="7846634333498149051">કીબોર્ડ</translation> <translation id="7868900307798234037">ફિંગરપ્રિન્ટથી અનલૉક કરી રહ્યાં છે</translation> +<translation id="7872786842639831132">બંધ છે</translation> <translation id="7886169021410746335">ગોપનીયતા સેટિંગ ગોઠવો</translation> <translation id="7886277072580235377">જ્યારે તમે સાઇન આઉટ કરશો, ત્યારે તમારા ઇન્ટરનેટ સત્રની માહિતી સાફ કરવામાં આવશે. <ph name="LEARN_MORE" /></translation> <translation id="788781083998633524">ઇમેઇલ મોકલો</translation> @@ -715,6 +731,7 @@ <translation id="8853703225951107899">તમારો પિન કે પાસવર્ડ હજી પણ ચકાસી શકાયો નથી. નોંધ: જો તમે તમારો પાસવર્ડ તાજેતરમાં બદલ્યો હોય, તો તમારા જૂના પાસવર્ડનો ઉપયોગ કરો. એકવાર તમે સાઇન આઉટ કરો, તે પછી તમારો નવો પાસવર્ડ લાગુ કરવામાં આવશે.</translation> <translation id="885387440427703469">સ્ક્રીન કૅપ્ચરની સુવિધા બંધ કરવામાં આવી છે</translation> <translation id="8870509716567206129">ઍપ સ્ક્રીન-વિભાજનને સહાય કરતી નથી.</translation> +<translation id="8871580645200179206">ઘેરી થીમ ટૉગલ કરો. <ph name="STATE_TEXT" /></translation> <translation id="8874184842967597500">કનેક્ટ નથી</translation> <translation id="8877788021141246043">રિમાઇન્ડર સેટ કરો</translation> <translation id="8878886163241303700">સ્ક્રીનને વિસ્તૃત કરી રહ્યું છે</translation>
diff --git a/ash/strings/ash_strings_hi.xtb b/ash/strings/ash_strings_hi.xtb index 4f98720..57c11eb8 100644 --- a/ash/strings/ash_strings_hi.xtb +++ b/ash/strings/ash_strings_hi.xtb
@@ -169,6 +169,7 @@ <translation id="2706462751667573066">ऊपर</translation> <translation id="2718395828230677721">नाइट लाइट</translation> <translation id="2727977024730340865">कम-शक्ति वाले चार्जर में प्लग इन करें. बैटरी चार्ज करना संभवत: विश्वसनीय नहीं होगा.</translation> +<translation id="2743387203779672305">क्लिपबोर्ड में कॉपी करें</translation> <translation id="2792498699870441125">Alt+Search</translation> <translation id="2819276065543622893">अब आप प्रस्थान कर जाएंगे.</translation> <translation id="2825224105325558319"><ph name="DISPLAY_NAME" />, <ph name="SPECIFIED_RESOLUTION" /> के साथ काम नहीं करता. रिज़ॉल्यूशन को बदलकर <ph name="FALLBACK_RESOLUTION" /> कर दिया गया था.</translation> @@ -587,6 +588,7 @@ <translation id="742594950370306541">कैमरे का उपयोग हो रहा है.</translation> <translation id="742608627846767349">गुड मॉर्निंग,</translation> <translation id="743058460480092004">कैमरे और माइक्रोफ़ोन का उपयोग हो रहा है.</translation> +<translation id="7461924472993315131">पिन करें</translation> <translation id="7466449121337984263">कृपया सेंसर को छुएं</translation> <translation id="7477793887173910789">अपने संगीत और वीडियो के साथ दूसरी चीज़ें नियंत्रित करें</translation> <translation id="7497767806359279797">भाषा और कीवर्ड चुनें</translation>
diff --git a/ash/strings/ash_strings_hr.xtb b/ash/strings/ash_strings_hr.xtb index 24579a9..d782252 100644 --- a/ash/strings/ash_strings_hr.xtb +++ b/ash/strings/ash_strings_hr.xtb
@@ -169,6 +169,7 @@ <translation id="2706462751667573066">Gore</translation> <translation id="2718395828230677721">Noćno svjetlo</translation> <translation id="2727977024730340865">Uređaj je priključen na punjač male snage. Punjenje baterije možda nije pouzdano.</translation> +<translation id="2743387203779672305">Kopiraj u međuspremnik</translation> <translation id="2792498699870441125">Alt + Pretraživanje</translation> <translation id="2819276065543622893">Odjavit ćete se sada.</translation> <translation id="2825224105325558319"><ph name="DISPLAY_NAME" /> ne podržava razlučivost <ph name="SPECIFIED_RESOLUTION" />. Razlučivost je promijenjena u <ph name="FALLBACK_RESOLUTION" />.</translation> @@ -586,6 +587,7 @@ <translation id="742594950370306541">Fotoaparat je aktivan.</translation> <translation id="742608627846767349">Dobro jutro,</translation> <translation id="743058460480092004">Fotoaparat i mikrofon su aktivni.</translation> +<translation id="7461924472993315131">Prikvači</translation> <translation id="7466449121337984263">Dodirnite senzor</translation> <translation id="7477793887173910789">Upravljate glazbom, videozapisima i drugim medijima</translation> <translation id="7497767806359279797">Odaberite jezik i tipkovnicu</translation>
diff --git a/ash/strings/ash_strings_hu.xtb b/ash/strings/ash_strings_hu.xtb index 703c9edb..ea83b27 100644 --- a/ash/strings/ash_strings_hu.xtb +++ b/ash/strings/ash_strings_hu.xtb
@@ -48,6 +48,7 @@ <translation id="1351937230027495976">Menü összecsukása</translation> <translation id="1383876407941801731">Keresés</translation> <translation id="1391102559483454063">Be</translation> +<translation id="1407069428457324124">Sötét téma</translation> <translation id="1419738280318246476">Az eszköz zárolásának feloldása az értesítési művelet végrehajtásához</translation> <translation id="1420408895951708260">Éjszakai fény be-/kikapcsolása. <ph name="STATE_TEXT" /></translation> <translation id="1420527829902822813">Az elkészített képernyőkép mentve lett a vágólapra</translation> @@ -65,6 +66,7 @@ <translation id="1550523713251050646">Kattintson további lehetőségekért</translation> <translation id="1570871743947603115">Bluetooth ki- és bekapcsolása. <ph name="STATE_TEXT" /></translation> <translation id="1589090746204042747">Hozzáférés az Ön jelen munkamenetben végzett összes tevékenységéhez</translation> +<translation id="1611993646327628135">Be</translation> <translation id="1632985212731562677">A Kapcsolóalapú hozzáférés a Beállítások Kisegítő lehetőségek pontjában kapcsolható ki.</translation> <translation id="1654477262762802994">Hangalapú lekérdezés indítása</translation> <translation id="1667964833127753507">A semleges színmód nem használja a háttérkép alapján megállapított színeket, hanem semleges világos vagy sötét színárnyalatra cseréli őket.</translation> @@ -79,6 +81,7 @@ <translation id="1761222317188459878">Hálózati kapcsolat ki- és bekapcsolása. <ph name="STATE_TEXT" /></translation> <translation id="1771761307086386028">Görgetés jobbra</translation> <translation id="1782199038061388045">Fordítás</translation> +<translation id="1787955149152357925">Ki</translation> <translation id="181103072419391116">Jelerősség: <ph name="SIGNAL_STRENGTH" />, a rendszergazdája kezeli</translation> <translation id="1812997170047690955">Mi van a képernyőn?</translation> <translation id="1823873187264960516">Ethernet: <ph name="ADDRESS" /></translation> @@ -166,6 +169,7 @@ <translation id="2706462751667573066">Fel</translation> <translation id="2718395828230677721">Éjszakai fény</translation> <translation id="2727977024730340865">Kis teljesítményű töltőt csatlakoztatott. Az akkumulátor töltése nem megbízható.</translation> +<translation id="2743387203779672305">Másolás a vágólapra</translation> <translation id="2792498699870441125">Alt + Keresés</translation> <translation id="2819276065543622893">A rendszer most kijelentkezteti Önt.</translation> <translation id="2825224105325558319">A(z) <ph name="DISPLAY_NAME" /> nem támogatja a következő felbontást: <ph name="SPECIFIED_RESOLUTION" />. A felbontás erre módosult: <ph name="FALLBACK_RESOLUTION" />.</translation> @@ -201,6 +205,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3081696990447829002">Menü kibontása</translation> <translation id="3087734570205094154">Alja</translation> +<translation id="3090989381251959936"><ph name="FEATURE_NAME" /> be-/kikapcsolása. <ph name="STATE_TEXT" /></translation> <translation id="309749186376891736">Kurzor mozgatása</translation> <translation id="3098580329624789136"><ph name="INTENT" /> kérése a következőhöz: „<ph name="QUERY" />”.</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth)</translation> @@ -233,6 +238,7 @@ <translation id="3371140690572404006">C típusú USB-vel kompatibilis eszköz (jobb első port)</translation> <translation id="3386978599540877378">teljes képernyős nagyító</translation> <translation id="3400357268283240774">További beállítások</translation> +<translation id="3410336247007142655">Sötét téma beállításainak megjelenítése</translation> <translation id="3413817803639110246">Itt most nem látható semmi</translation> <translation id="3428447136709161042">Kapcsolat bontása: <ph name="NETWORK_NAME" /></translation> <translation id="3430396595145920809">A visszalépéshez csúsztasson jobbról balra</translation> @@ -327,6 +333,7 @@ <translation id="4378551569595875038">Kapcsolódás…</translation> <translation id="4379531060876907730">Ezek az érintőceruza-eszközök</translation> <translation id="4389184120735010762">Lenyomta a dokkolt nagyító billentyűparancsát. Bekapcsolja a funkciót?</translation> +<translation id="4412944820643904175"><ph name="FEATURE_NAME" /> kikapcsolva.</translation> <translation id="4421231901400348175">A képernyő irányításának megosztása <ph name="HELPER_NAME" /> segítővel a Távsegítség szolgáltatás keretein belül.</translation> <translation id="4430019312045809116">Hangerő</translation> <translation id="4450893287417543264">Ne jelenjen meg többé</translation> @@ -346,6 +353,7 @@ <translation id="4570957409596482333">Felolvasás gomb</translation> <translation id="4577274620589681794">Az idő lejárt · <ph name="LABEL" /></translation> <translation id="4585337515783392668">Ismeretlen fogadó eszközre történő átküldés leállítása</translation> +<translation id="4596144739579517758">Sötét téma kikapcsolva.</translation> <translation id="4623167406982293031">Fiók ellenőrzése</translation> <translation id="4628757576491864469">Eszközök</translation> <translation id="4659419629803378708">ChromeVox bekapcsolva</translation> @@ -388,6 +396,7 @@ <translation id="5168181903108465623">Cast-eszközök állnak rendelkezésre</translation> <translation id="5170568018924773124">Megjelenítés mappában</translation> <translation id="5207949376430453814">Szövegbeszúrási pont kiemelése</translation> +<translation id="5208059991603368177">Be</translation> <translation id="5222676887888702881">Kijelentkezés</translation> <translation id="523505283826916779">Kisegítő beállítások</translation> <translation id="5260676007519551770">4. asztal</translation> @@ -399,6 +408,7 @@ <translation id="5313326810920013265">Bluetooth-beállítások</translation> <translation id="5314219114274263156">Képernyőfelvétel elkészítve</translation> <translation id="5331975486040154427">C típusú USB-vel kompatibilis eszköz (bal hátsó port)</translation> +<translation id="5352250171825660495">Sötét téma bekapcsolva.</translation> <translation id="5379115545237091094">Túl sok próbálkozás</translation> <translation id="5397578532367286026">A felhasználó használati adatait és előzményeit a kezelő (<ph name="MANAGER_EMAIL" />) a chrome.com webhelyen tekintheti meg.</translation> <translation id="5400461572260843123">Gyorsbeállítások, az értesítési központ megnyitásához nyomja meg a Keresés + balra nyíl billentyűkombinációt.</translation> @@ -435,6 +445,7 @@ <translation id="5769373120130404283">Adatvédelmi képernyő</translation> <translation id="5777841717266010279">Leállítja a képernyőmegosztást?</translation> <translation id="5790085346892983794">Siker</translation> +<translation id="579415080077680903">Néma</translation> <translation id="5820394555380036790">Chromium OS</translation> <translation id="5837036133683224804">A(z) <ph name="ROUTE_TITLE" /> leállítása itt: <ph name="RECEIVER_NAME" /></translation> <translation id="5860033963881614850">Kikapcsolva</translation> @@ -445,6 +456,7 @@ <translation id="5911909173233110115"><ph name="USERNAME" /> (<ph name="MAIL" />)</translation> <translation id="5916664084637901428">Be</translation> <translation id="5920710855273935292">A mikrofon le van némítva.</translation> +<translation id="5946788582095584774"><ph name="FEATURE_NAME" /> bekapcsolva.</translation> <translation id="5947494881799873997">Visszavonás</translation> <translation id="595202126637698455">Teljesítménykövetés engedélyezve</translation> <translation id="5957083217255311415">A mobiladat-kapcsolat ki van kapcsolva.</translation> @@ -469,6 +481,7 @@ <translation id="615957422585914272">A képernyő-billentyűzet megjelenítése</translation> <translation id="6164005077879661055">Amikor ezt a felügyelt felhasználót eltávolítják, minden hozzá tartozó fájl és helyi adat véglegesen törlődik. A felügyelt felhasználó felkeresett webhelyeit és beállításait a kezelő továbbra is láthatja a következő címen: <ph name="MANAGEMENT_URL" />.</translation> <translation id="6165508094623778733">További információ</translation> +<translation id="6192859646269780503">Telefon helymeghatározása</translation> <translation id="622484624075952240">Le</translation> <translation id="6236290670123303279">Beállítások kezelése</translation> <translation id="6237231532760393653">1X</translation> @@ -540,6 +553,7 @@ <translation id="6981982820502123353">Kisegítő opciók</translation> <translation id="698231206551913481">A felhasználó eltávolításakor az összes hozzá tartozó fájl és helyi adat is véglegesen törlődik.</translation> <translation id="7007983414944123363">PIN-kódjának vagy jelszavának ellenőrzése nem sikerült. Próbálja újra.</translation> +<translation id="7013005189539051442">Hotspot engedélyezése</translation> <translation id="7015766095477679451">Térjen vissza ekkor: <ph name="COME_BACK_TIME" />.</translation> <translation id="7025533177575372252">A(z) <ph name="DEVICE_NAME" /> eszköz csatlakoztatása a telefonjával</translation> <translation id="7026338066939101231">Csökkentés</translation> @@ -574,6 +588,7 @@ <translation id="742594950370306541">A kamera épp használatban van.</translation> <translation id="742608627846767349">Jó reggelt!</translation> <translation id="743058460480092004">A kamera és a mikrofon épp használatban van.</translation> +<translation id="7461924472993315131">Rögzítés</translation> <translation id="7466449121337984263">Érintse meg az érzékelőt</translation> <translation id="7477793887173910789">Zeneszámok, videók és további tartalmak vezérlése</translation> <translation id="7497767806359279797">Nyelv és billentyűzet kiválasztása</translation> @@ -612,6 +627,7 @@ <translation id="7842569679327885685">Figyelem! Kísérleti funkció</translation> <translation id="7846634333498149051">Billentyűzet</translation> <translation id="7868900307798234037">Feloldás ujjlenyomattal</translation> +<translation id="7872786842639831132">Ki</translation> <translation id="7886169021410746335">Adatvédelmi beállítások módosítása</translation> <translation id="7886277072580235377">Kijelentkezés után az internetes munkamenet törlődik. <ph name="LEARN_MORE" /></translation> <translation id="788781083998633524">E-mail küldése</translation> @@ -716,6 +732,7 @@ <translation id="8853703225951107899">PIN-kódjának vagy jelszavának ellenőrzése még mindig nem sikerült. Megjegyzés: Ha nemrég módosította jelszavát, akkor használja a régit. Az új jelszó beállítása a kijelentkezés után lép érvénybe.</translation> <translation id="885387440427703469">Képernyőfelvétel letiltva</translation> <translation id="8870509716567206129">Az alkalmazás nem támogatja az osztott képernyős nézetet.</translation> +<translation id="8871580645200179206">Sötét téma be-/kikapcsolása. <ph name="STATE_TEXT" /></translation> <translation id="8874184842967597500">Nincs csatl.</translation> <translation id="8877788021141246043">Emlékeztető beállítása</translation> <translation id="8878886163241303700">Kibővített képernyő</translation>
diff --git a/ash/strings/ash_strings_hy.xtb b/ash/strings/ash_strings_hy.xtb index 82334a2..068c426 100644 --- a/ash/strings/ash_strings_hy.xtb +++ b/ash/strings/ash_strings_hy.xtb
@@ -169,6 +169,7 @@ <translation id="2706462751667573066">Up</translation> <translation id="2718395828230677721">Գիշերային ռեժիմ</translation> <translation id="2727977024730340865">Միացված է թույլ լիցքավորիչի: Մարտկոցի լիցքավորումը կարող է հուսալի չլինել:</translation> +<translation id="2743387203779672305">Պատճենել սեղմատախտակին</translation> <translation id="2792498699870441125">Alt+Search</translation> <translation id="2819276065543622893">Դուք հիմա դուրս կգրվեք:</translation> <translation id="2825224105325558319"><ph name="DISPLAY_NAME" />-ը չի աջակցում <ph name="SPECIFIED_RESOLUTION" /> լուծաչափը։ Լուծաչափը փոխվել է <ph name="FALLBACK_RESOLUTION" />-ի։</translation> @@ -586,6 +587,7 @@ <translation id="742594950370306541">Տեսախցիկն օգտագործվում է:</translation> <translation id="742608627846767349">Բարի լույս,</translation> <translation id="743058460480092004">Տեսախցիկն ու խոսափողը օգտագործվում են:</translation> +<translation id="7461924472993315131">Ամրացնել</translation> <translation id="7466449121337984263">Մատը դրեք տվիչին</translation> <translation id="7477793887173910789">Վերահսկեք երաժշտությունը, տեսանյութերը և այլն</translation> <translation id="7497767806359279797">Ընտրել լեզու և ստեղնաշար</translation>
diff --git a/ash/strings/ash_strings_id.xtb b/ash/strings/ash_strings_id.xtb index ab7cb704..882a99811 100644 --- a/ash/strings/ash_strings_id.xtb +++ b/ash/strings/ash_strings_id.xtb
@@ -48,6 +48,7 @@ <translation id="1351937230027495976">Ciutkan menu</translation> <translation id="1383876407941801731">Telusuri</translation> <translation id="1391102559483454063">Aktif</translation> +<translation id="1407069428457324124">Tema gelap</translation> <translation id="1419738280318246476">Buka kunci perangkat untuk melakukan tindakan notifikasi</translation> <translation id="1420408895951708260">Beralih ke Cahaya Malam. <ph name="STATE_TEXT" /></translation> <translation id="1420527829902822813">Screenshot diambil dan disimpan ke papan klip</translation> @@ -65,6 +66,7 @@ <translation id="1550523713251050646">Klik untuk opsi lainnya</translation> <translation id="1570871743947603115">Alihkan Bluetooth. <ph name="STATE_TEXT" /></translation> <translation id="1589090746204042747">Akses semua aktivitas Anda di sesi ini</translation> +<translation id="1611993646327628135">Aktif</translation> <translation id="1632985212731562677">Tombol Akses dapat dinonaktifkan di Setelan > Aksesibilitas.</translation> <translation id="1654477262762802994">Mulai kueri suara</translation> <translation id="1667964833127753507">Mode warna netral tidak menggunakan warna yang diekstrak dari wallpaper, tetapi menggantinya dengan satu set warna terang atau gelap bernuansa netral.</translation> @@ -79,6 +81,7 @@ <translation id="1761222317188459878">Alihkan koneksi jaringan. <ph name="STATE_TEXT" /></translation> <translation id="1771761307086386028">Scroll ke kanan</translation> <translation id="1782199038061388045">terjemahan</translation> +<translation id="1787955149152357925">Nonaktif</translation> <translation id="181103072419391116">Kekuatan Sinyal <ph name="SIGNAL_STRENGTH" />, Dikelola oleh Administrator Anda</translation> <translation id="1812997170047690955">Konten apa yang ada di layar saya?</translation> <translation id="1823873187264960516">Ethernet: <ph name="ADDRESS" /></translation> @@ -166,6 +169,7 @@ <translation id="2706462751667573066">Atas</translation> <translation id="2718395828230677721">Cahaya Malam</translation> <translation id="2727977024730340865">Dipasang ke pengisi daya rendah. Pengisian daya baterai mungkin tidak dapat diandalkan.</translation> +<translation id="2743387203779672305">Salin ke papan klip</translation> <translation id="2792498699870441125">Alt+Telusuri</translation> <translation id="2819276065543622893">Anda akan dikeluarkan sekarang.</translation> <translation id="2825224105325558319"><ph name="DISPLAY_NAME" /> tidak mendukung <ph name="SPECIFIED_RESOLUTION" />. Resolusi diubah ke <ph name="FALLBACK_RESOLUTION" />.</translation> @@ -201,6 +205,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3081696990447829002">Luaskan menu</translation> <translation id="3087734570205094154">Bawah</translation> +<translation id="3090989381251959936">Tombol <ph name="FEATURE_NAME" />. <ph name="STATE_TEXT" /></translation> <translation id="309749186376891736">Pindahkan kursor</translation> <translation id="3098580329624789136">Dapatkan <ph name="INTENT" /> untuk "<ph name="QUERY" />"</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth)</translation> @@ -233,6 +238,7 @@ <translation id="3371140690572404006">Perangkat USB-C (port depan sebelah kanan)</translation> <translation id="3386978599540877378">kaca pembesar layar penuh</translation> <translation id="3400357268283240774">Setelan tambahan</translation> +<translation id="3410336247007142655">Tampilkan setelan tema gelap</translation> <translation id="3413817803639110246">Belum ada notifikasi</translation> <translation id="3428447136709161042">Putuskan sambungan dari <ph name="NETWORK_NAME" /></translation> <translation id="3430396595145920809">Geser dari kanan untuk kembali</translation> @@ -326,6 +332,7 @@ <translation id="4378551569595875038">Menghubungkan...</translation> <translation id="4379531060876907730">Ini adalah fitur stilus</translation> <translation id="4389184120735010762">Anda menekan pintasan keyboard untuk kaca pembesar tersemat. Ingin mengaktifkannya?</translation> +<translation id="4412944820643904175"><ph name="FEATURE_NAME" /> nonaktif.</translation> <translation id="4421231901400348175">Berbagi kontrol layar dengan <ph name="HELPER_NAME" /> via Remote Assistance.</translation> <translation id="4430019312045809116">Volume</translation> <translation id="4450893287417543264">Jangan tampilkan lagi</translation> @@ -345,6 +352,7 @@ <translation id="4570957409596482333">Tombol Klik untuk Diucapkan</translation> <translation id="4577274620589681794">Waktu habis · <ph name="LABEL" /></translation> <translation id="4585337515783392668">Hentikan transmisi pada penerima yang tidak dikenal</translation> +<translation id="4596144739579517758">Tema gelap nonaktif</translation> <translation id="4623167406982293031">Verifikasi akun</translation> <translation id="4628757576491864469">Perangkat</translation> <translation id="4659419629803378708">ChromeVox diaktifkan</translation> @@ -387,6 +395,7 @@ <translation id="5168181903108465623">Perangkat transmisi tersedia</translation> <translation id="5170568018924773124">Tampilkan dalam folder</translation> <translation id="5207949376430453814">Sorot tempat penyisipan teks</translation> +<translation id="5208059991603368177">Aktif</translation> <translation id="5222676887888702881">Logout</translation> <translation id="523505283826916779">Setelan aksesibilitas</translation> <translation id="5260676007519551770">Halaman kerja 4</translation> @@ -398,6 +407,7 @@ <translation id="5313326810920013265">Setelan bluetooth</translation> <translation id="5314219114274263156">Perekaman layar diambil</translation> <translation id="5331975486040154427">Perangkat USB-C (port belakang sebelah kiri)</translation> +<translation id="5352250171825660495">Tema gelap aktif</translation> <translation id="5379115545237091094">Terlalu banyak upaya gagal</translation> <translation id="5397578532367286026">Penggunaan dan histori pengguna ini dapat ditinjau oleh pengelola (<ph name="MANAGER_EMAIL" />) di chrome.com.</translation> <translation id="5400461572260843123">Setelan Cepat, Tekan penelusuran + kiri untuk mengakses pusat notifikasi.</translation> @@ -434,6 +444,7 @@ <translation id="5769373120130404283">Layar privasi</translation> <translation id="5777841717266010279">Berhenti membagikan layar?</translation> <translation id="5790085346892983794">Berhasil</translation> +<translation id="579415080077680903">Senyapkan</translation> <translation id="5820394555380036790">Chromium OS</translation> <translation id="5837036133683224804">Hentikan <ph name="ROUTE_TITLE" /> di <ph name="RECEIVER_NAME" /></translation> <translation id="5860033963881614850">Nonaktif</translation> @@ -444,6 +455,7 @@ <translation id="5911909173233110115"><ph name="USERNAME" /> (<ph name="MAIL" />)</translation> <translation id="5916664084637901428">Aktif</translation> <translation id="5920710855273935292">Mikrofon dibisukan.</translation> +<translation id="5946788582095584774"><ph name="FEATURE_NAME" /> aktif.</translation> <translation id="5947494881799873997">Kembalikan</translation> <translation id="595202126637698455">Kinerja pelacakan aktif</translation> <translation id="5957083217255311415">Data seluler dinonaktifkan.</translation> @@ -468,6 +480,7 @@ <translation id="615957422585914272">Tampilkan keyboard di layar</translation> <translation id="6164005077879661055">Semua file dan data lokal yang terkait dengan pengguna yang dilindungi akan dihapus secara permanen setelah pengguna yang dilindungi ini dihapus. Situs web yang dikunjungi dan setelan untuk pengguna yang dilindungi ini mungkin tetap dapat dilihat oleh pengelola di <ph name="MANAGEMENT_URL" />.</translation> <translation id="6165508094623778733">Pelajari selengkapnya</translation> +<translation id="6192859646269780503">Temukan Ponsel</translation> <translation id="622484624075952240">Bawah</translation> <translation id="6236290670123303279">Kelola Setelan</translation> <translation id="6237231532760393653">1X</translation> @@ -539,6 +552,7 @@ <translation id="6981982820502123353">Aksesibilitas</translation> <translation id="698231206551913481">Semua file dan data lokal yang dikaitkan ke pengguna ini akan dihapus secara permanen setelah pengguna ini dihapus.</translation> <translation id="7007983414944123363">PIN atau sandi Anda tidak dapat diverifikasi. Coba lagi.</translation> +<translation id="7013005189539051442">Aktifkan Hotspot</translation> <translation id="7015766095477679451">Coba lagi pukul <ph name="COME_BACK_TIME" />.</translation> <translation id="7025533177575372252">Hubungkan <ph name="DEVICE_NAME" /> dengan ponsel Anda</translation> <translation id="7026338066939101231">Pengurangan</translation> @@ -573,6 +587,7 @@ <translation id="742594950370306541">Kamera sedang digunakan.</translation> <translation id="742608627846767349">Selamat pagi,</translation> <translation id="743058460480092004">Kamera dan mikrofon sedang digunakan.</translation> +<translation id="7461924472993315131">Pasang Pin</translation> <translation id="7466449121337984263">Sentuh sensor</translation> <translation id="7477793887173910789">Kontrol musik, video, dan banyak lagi</translation> <translation id="7497767806359279797">Pilih bahasa dan keyboard</translation> @@ -611,6 +626,7 @@ <translation id="7842569679327885685">Peringatan: Fitur eksperimental</translation> <translation id="7846634333498149051">Keyboard</translation> <translation id="7868900307798234037">Membuka kunci dengan sidik jari</translation> +<translation id="7872786842639831132">Nonaktif</translation> <translation id="7886169021410746335">Menyesuaikan setelan privasi</translation> <translation id="7886277072580235377">Sesi internet Anda akan dihapus saat Anda logout. <ph name="LEARN_MORE" /></translation> <translation id="788781083998633524">Kirim email</translation> @@ -715,6 +731,7 @@ <translation id="8853703225951107899">PIN atau sandi Anda belum dapat diverifikasi. Catatan: Jika Anda baru-baru ini mengubah sandi, gunakan sandi lama Anda. Sandi baru akan diterapkan setelah Anda logout.</translation> <translation id="885387440427703469">Screenshot dinonaktifkan</translation> <translation id="8870509716567206129">Aplikasi tidak mendukung layar terpisah.</translation> +<translation id="8871580645200179206">Tombol Tema gelap. <ph name="STATE_TEXT" /></translation> <translation id="8874184842967597500">Tak terhubung</translation> <translation id="8877788021141246043">Setel pengingat</translation> <translation id="8878886163241303700">Memperluas layar</translation>
diff --git a/ash/strings/ash_strings_is.xtb b/ash/strings/ash_strings_is.xtb index 5870b6f..fba175e 100644 --- a/ash/strings/ash_strings_is.xtb +++ b/ash/strings/ash_strings_is.xtb
@@ -48,6 +48,7 @@ <translation id="1351937230027495976">Draga valmynd saman</translation> <translation id="1383876407941801731">Leita</translation> <translation id="1391102559483454063">Kveikt</translation> +<translation id="1407069428457324124">Dökkt þema</translation> <translation id="1419738280318246476">Opnaðu tækið til að framkvæma aðgerð tilkynningarinnar</translation> <translation id="1420408895951708260">Kveikja/slökkva á næturljósi. <ph name="STATE_TEXT" /></translation> <translation id="1420527829902822813">Skjámynd tekin og vistuð á klippiborð</translation> @@ -65,6 +66,7 @@ <translation id="1550523713251050646">Smelltu til að sjá fleiri valkosti</translation> <translation id="1570871743947603115">Kveikja/slökkva á Bluetooth. <ph name="STATE_TEXT" /></translation> <translation id="1589090746204042747">Fengið aðgang að öllum aðgerðum þínum í þessari lotu</translation> +<translation id="1611993646327628135">Kveikt</translation> <translation id="1632985212731562677">Hægt er að slökkva á rofaaðgangi í Stillingar > Aðgengi.</translation> <translation id="1654477262762802994">Hefja raddfyrirspurn</translation> <translation id="1667964833127753507">Hlutlaus litastilling notar ekki liti sem dregnir eru úr veggfóðrinu en skiptir þeim þess í stað út fyrir sett af hlutlausum ljósum eða dökkum litbrigðum.</translation> @@ -79,6 +81,7 @@ <translation id="1761222317188459878">Kveikja/slökkva á nettengingu. <ph name="STATE_TEXT" /></translation> <translation id="1771761307086386028">Fletta til hægri</translation> <translation id="1782199038061388045">þýðing</translation> +<translation id="1787955149152357925">Slökkt</translation> <translation id="181103072419391116"><ph name="SIGNAL_STRENGTH" /> sendistyrkur, stjórnað af kerfisstjóra</translation> <translation id="1812997170047690955">Hvað er á skjánum mínum?</translation> <translation id="1823873187264960516">Ethernet: <ph name="ADDRESS" /></translation> @@ -166,6 +169,7 @@ <translation id="2706462751667573066">Upp</translation> <translation id="2718395828230677721">Næturljós</translation> <translation id="2727977024730340865">Tengt við afllítið hleðslutæki. Hleðsla rafhlöðunnar kann að vera brigðul.</translation> +<translation id="2743387203779672305">Afrita á klippiborð</translation> <translation id="2792498699870441125">Alt+leitarhnappur</translation> <translation id="2819276065543622893">Þú verður skráð(ur) út núna.</translation> <translation id="2825224105325558319"><ph name="DISPLAY_NAME" /> styður ekki <ph name="SPECIFIED_RESOLUTION" />. Upplausninni var breytt í <ph name="FALLBACK_RESOLUTION" />.</translation> @@ -201,6 +205,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3081696990447829002">Stækka valmynd</translation> <translation id="3087734570205094154">Neðst</translation> +<translation id="3090989381251959936">Kveikja/slökkva á <ph name="FEATURE_NAME" />. <ph name="STATE_TEXT" /></translation> <translation id="309749186376891736">Færa bendil</translation> <translation id="3098580329624789136">Sækja <ph name="INTENT" /> fyrir „<ph name="QUERY" />“</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth)</translation> @@ -233,6 +238,7 @@ <translation id="3371140690572404006">USB-C tæki (tengi hægra megin að framan)</translation> <translation id="3386978599540877378">stækkunargler á öllum skjánum</translation> <translation id="3400357268283240774">Viðbótarstillingar</translation> +<translation id="3410336247007142655">Sýna stillingar fyrir dökkt þema</translation> <translation id="3413817803639110246">Ekkert að sjá enn</translation> <translation id="3428447136709161042">Viltu aftengjast <ph name="NETWORK_NAME" />?</translation> <translation id="3430396595145920809">Strjúktu frá hægri til að fara til baka</translation> @@ -326,6 +332,7 @@ <translation id="4378551569595875038">Tengist...</translation> <translation id="4379531060876907730">Þetta eru pennaverkfærin þín</translation> <translation id="4389184120735010762">Þú ýttir á flýtilykilinn fyrir stækkunargler í föstum glugga. Viltu kveikja á því?</translation> +<translation id="4412944820643904175">Slökkt er á <ph name="FEATURE_NAME" />.</translation> <translation id="4421231901400348175"><ph name="HELPER_NAME" /> deilir stjórn yfir skjánum þínum í gegnum fjaraðstoð.</translation> <translation id="4430019312045809116">Hljóðstyrkur</translation> <translation id="4450893287417543264">Ekki sýna þetta aftur</translation> @@ -345,6 +352,7 @@ <translation id="4570957409596482333">Hnappur fyrir textaupplestur</translation> <translation id="4577274620589681794">Tíminn er liðinn · <ph name="LABEL" /></translation> <translation id="4585337515783392668">Hætta að senda út í óþekkt tæki</translation> +<translation id="4596144739579517758">Slökkt er á dökku þema</translation> <translation id="4623167406982293031">Staðfesta reikning</translation> <translation id="4628757576491864469">Tæki</translation> <translation id="4659419629803378708">ChromeVox virkjað</translation> @@ -387,6 +395,7 @@ <translation id="5168181903108465623">Útsendingartæki í boði</translation> <translation id="5170568018924773124">Sýna í möppu</translation> <translation id="5207949376430453814">Auðkenna textainnskotsmerki</translation> +<translation id="5208059991603368177">Kveikt</translation> <translation id="5222676887888702881">Skrá út</translation> <translation id="523505283826916779">Aðgengisstillingar</translation> <translation id="5260676007519551770">Skrifborð 4</translation> @@ -398,6 +407,7 @@ <translation id="5313326810920013265">Bluetooth-stillingar</translation> <translation id="5314219114274263156">Skjáupptaka tekin upp</translation> <translation id="5331975486040154427">USB-C tæki (tengi vinstra megin að aftan)</translation> +<translation id="5352250171825660495">Kveikt er á dökku þema</translation> <translation id="5379115545237091094">Of margar tilraunir</translation> <translation id="5397578532367286026">Stjórnandinn (<ph name="MANAGER_EMAIL" />) getur farið yfir notkun og feril þessa notanda á chrome.com.</translation> <translation id="5400461572260843123">Flýtistillingar, ýttu á leit + vinstri til að opna tilkynningamiðstöðina.</translation> @@ -434,6 +444,7 @@ <translation id="5769373120130404283">Persónuverndarskjár</translation> <translation id="5777841717266010279">Stöðva skjádeilingu?</translation> <translation id="5790085346892983794">Tókst</translation> +<translation id="579415080077680903">Þögn</translation> <translation id="5820394555380036790">Chromium OS</translation> <translation id="5837036133683224804">Stöðva <ph name="ROUTE_TITLE" /> í <ph name="RECEIVER_NAME" /></translation> <translation id="5860033963881614850">Slökkt</translation> @@ -444,6 +455,7 @@ <translation id="5911909173233110115"><ph name="USERNAME" /> (<ph name="MAIL" />)</translation> <translation id="5916664084637901428">Kveikt</translation> <translation id="5920710855273935292">Slökkt er á hljóðnemanum.</translation> +<translation id="5946788582095584774">Kveikt er á <ph name="FEATURE_NAME" /></translation> <translation id="5947494881799873997">Afturkalla</translation> <translation id="595202126637698455">Kveikt á afkastarakningu</translation> <translation id="5957083217255311415">Slökkt er á farsímagögnum.</translation> @@ -468,6 +480,7 @@ <translation id="615957422585914272">Sýna skjályklaborðið</translation> <translation id="6164005077879661055">Öllum skrám og staðbundnum gögnum sem tengjast stýrða notandanum verður eytt fyrir fullt og allt þegar stýrði notandinn er fjarlægður. Heimsótt vefsvæði og stillingar þessa stýrða notanda verða hugsanlega áfram sýnileg stjórnandanum á <ph name="MANAGEMENT_URL" />.</translation> <translation id="6165508094623778733">Frekari upplýsingar</translation> +<translation id="6192859646269780503">Staðsetja síma</translation> <translation id="622484624075952240">Niður</translation> <translation id="6236290670123303279">Stjórna stillingum</translation> <translation id="6237231532760393653">1X</translation> @@ -539,6 +552,7 @@ <translation id="6981982820502123353">Aðgengi</translation> <translation id="698231206551913481">Öllum skrám og staðbundnum gögnum sem tengjast notandanum verður varanlega eytt þegar notandinn er fjarlægður.</translation> <translation id="7007983414944123363">Ekki tókst að staðfesta PIN-númerið eða aðgangsorðið. Reyndu aftur.</translation> +<translation id="7013005189539051442">Kveikja á heitum reit</translation> <translation id="7015766095477679451">Komdu aftur klukkan <ph name="COME_BACK_TIME" />.</translation> <translation id="7025533177575372252">Tengdu <ph name="DEVICE_NAME" /> við símann þinn</translation> <translation id="7026338066939101231">Minnka</translation> @@ -573,6 +587,7 @@ <translation id="742594950370306541">Myndavélin er í notkun.</translation> <translation id="742608627846767349">Góðan dag,</translation> <translation id="743058460480092004">Myndavél og hljóðnemi eru í notkun.</translation> +<translation id="7461924472993315131">Festa</translation> <translation id="7466449121337984263">Snertu fingrafaralesarann</translation> <translation id="7477793887173910789">Stjórnaðu tónlistinni, myndskeiðunum og fleiru</translation> <translation id="7497767806359279797">Velja tungumál og lyklaborð</translation> @@ -611,6 +626,7 @@ <translation id="7842569679327885685">Viðvörun: eiginleiki á tilraunastigi</translation> <translation id="7846634333498149051">Lyklaborð</translation> <translation id="7868900307798234037">Tekur úr lás með fingrafari</translation> +<translation id="7872786842639831132">Slökkt</translation> <translation id="7886169021410746335">Breytt persónuverndarstillingum</translation> <translation id="7886277072580235377">Internetlotan verður hreinsuð þegar þú skráir þig út. <ph name="LEARN_MORE" /></translation> <translation id="788781083998633524">Senda tölvupóst</translation> @@ -715,6 +731,7 @@ <translation id="8853703225951107899">Enn tókst ekki að staðfesta PIN-númerið eða aðgangsorðið. Athugaðu: Ef þú skiptir nýlega um aðgangsorð skaltu nota gamla aðgangsorðið. Nýja aðgangsorðið tekur gildi þegar þú hefur skráð þig út.</translation> <translation id="885387440427703469">Slökkt á skjámyndatöku</translation> <translation id="8870509716567206129">Forritið styður ekki að skjánum sé skipt.</translation> +<translation id="8871580645200179206">Kveikja/slökkva á dökku þema. <ph name="STATE_TEXT" /></translation> <translation id="8874184842967597500">Ekki tengt</translation> <translation id="8877788021141246043">Stilla áminningu</translation> <translation id="8878886163241303700">Framlengir skjá</translation>
diff --git a/ash/strings/ash_strings_it.xtb b/ash/strings/ash_strings_it.xtb index dba123f..17cee83 100644 --- a/ash/strings/ash_strings_it.xtb +++ b/ash/strings/ash_strings_it.xtb
@@ -169,6 +169,7 @@ <translation id="2706462751667573066">Su</translation> <translation id="2718395828230677721">Luce notturna</translation> <translation id="2727977024730340865">Collegato a un caricabatterie a basso consumo. La carica della batteria potrebbe non essere affidabile.</translation> +<translation id="2743387203779672305">Copia negli appunti</translation> <translation id="2792498699870441125">Alt+tasto per la ricerca</translation> <translation id="2819276065543622893">Verrai disconnesso ora.</translation> <translation id="2825224105325558319"><ph name="DISPLAY_NAME" /> non supporta la risoluzione <ph name="SPECIFIED_RESOLUTION" />. È stata impostata la risoluzione <ph name="FALLBACK_RESOLUTION" />.</translation> @@ -587,6 +588,7 @@ <translation id="742594950370306541">La videocamera è in uso.</translation> <translation id="742608627846767349">Buongiorno,</translation> <translation id="743058460480092004">Videocamera e microfono sono in uso.</translation> +<translation id="7461924472993315131">Blocca</translation> <translation id="7466449121337984263">Tocca il sensore</translation> <translation id="7477793887173910789">Gestisci la tua musica, i tuoi video e altro ancora</translation> <translation id="7497767806359279797">Scegli la lingua e la tastiera</translation>
diff --git a/ash/strings/ash_strings_iw.xtb b/ash/strings/ash_strings_iw.xtb index 503915a..dea84e18 100644 --- a/ash/strings/ash_strings_iw.xtb +++ b/ash/strings/ash_strings_iw.xtb
@@ -48,6 +48,7 @@ <translation id="1351937230027495976">כיווץ התפריט</translation> <translation id="1383876407941801731">חפש</translation> <translation id="1391102559483454063">מופעלת</translation> +<translation id="1407069428457324124">עיצוב כהה</translation> <translation id="1419738280318246476">כדי לבצע את פעולת ההודעה יש לבטל את נעילת המכשיר</translation> <translation id="1420408895951708260">הפעלה או כיבוי של תאורת הלילה. <ph name="STATE_TEXT" /></translation> <translation id="1420527829902822813">צילום מסך בוצע ונשמר בלוח</translation> @@ -65,6 +66,7 @@ <translation id="1550523713251050646">לחץ לקבלת אפשרויות נוספות</translation> <translation id="1570871743947603115">הפעלה או השבתה של Bluetooth. <ph name="STATE_TEXT" /></translation> <translation id="1589090746204042747">גישה לכל הפעילות שלך בסשן הזה</translation> +<translation id="1611993646327628135">פועל</translation> <translation id="1632985212731562677">ניתן להשבית את התכונה 'גישה באמצעות מתג' דרך 'הגדרות' > 'נגישות'.</translation> <translation id="1654477262762802994">הפעלה של שאילתה קולית</translation> <translation id="1667964833127753507">במצב 'צבעים ניטרליים' לא נעשה שימוש בצבעים שנשלפו מהטפט, אלא בערכת גוונים ניטרליים, בהירים וכהים.</translation> @@ -79,6 +81,7 @@ <translation id="1761222317188459878">הפעלה או השבתה של החיבור לרשת. <ph name="STATE_TEXT" /></translation> <translation id="1771761307086386028">גלילה ימינה</translation> <translation id="1782199038061388045">תרגום</translation> +<translation id="1787955149152357925">כבוי</translation> <translation id="181103072419391116">עוצמת האות: <ph name="SIGNAL_STRENGTH" />, הרשת מנוהלת על ידי מנהל המערכת שלך</translation> <translation id="1812997170047690955">מה מופיע במסך שלי?</translation> <translation id="1823873187264960516">אתרנט: <ph name="ADDRESS" /></translation> @@ -166,6 +169,7 @@ <translation id="2706462751667573066">למעלה</translation> <translation id="2718395828230677721">תאורת לילה</translation> <translation id="2727977024730340865">מחובר למטען בעל מתח נמוך. ייתכן שטעינת הסוללה לא תהיה אמינה.</translation> +<translation id="2743387203779672305">העתקה ללוח</translation> <translation id="2792498699870441125">Alt + חיפוש</translation> <translation id="2819276065543622893">תצא עכשיו מהחשבון.</translation> <translation id="2825224105325558319">התצוגה של <ph name="DISPLAY_NAME" /> לא תומכת ברזולוציה <ph name="SPECIFIED_RESOLUTION" />. הרזולוציה שונתה ל-<ph name="FALLBACK_RESOLUTION" />.</translation> @@ -201,6 +205,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3081696990447829002">הרחבת התפריט</translation> <translation id="3087734570205094154">תחתית</translation> +<translation id="3090989381251959936">החלפת <ph name="FEATURE_NAME" />. <ph name="STATE_TEXT" /></translation> <translation id="309749186376891736">סמן הזזה</translation> <translation id="3098580329624789136">קבלת ה<ph name="INTENT" /> של "<ph name="QUERY" />"</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth)</translation> @@ -233,6 +238,7 @@ <translation id="3371140690572404006">מכשיר עם יציאת USB-C (יציאה ימנית-קדמית)</translation> <translation id="3386978599540877378">הזכוכית המגדלת במסך מלא</translation> <translation id="3400357268283240774">הגדרות נוספות</translation> +<translation id="3410336247007142655">הגדרות של הצגת עיצוב כהה</translation> <translation id="3413817803639110246">עדיין אין מה לראות</translation> <translation id="3428447136709161042">התנתקות מ-<ph name="NETWORK_NAME" /></translation> <translation id="3430396595145920809">יש להחליק מצד ימין כדי לחזור אחורה</translation> @@ -326,6 +332,7 @@ <translation id="4378551569595875038">התחברות...</translation> <translation id="4379531060876907730">אלה כלי הסטיילוס שלך</translation> <translation id="4389184120735010762">הקשת על מקש הקיצור של זכוכית מגדלת במצב עגינה. להפעיל אותה?</translation> +<translation id="4412944820643904175">התכונה <ph name="FEATURE_NAME" /> מושבתת.</translation> <translation id="4421231901400348175">שיתוף השליטה במסך עם <ph name="HELPER_NAME" /> דרך סיוע מרחוק.</translation> <translation id="4430019312045809116">עוצמת קול</translation> <translation id="4450893287417543264">אין להציג שוב</translation> @@ -345,6 +352,7 @@ <translation id="4570957409596482333">לחצן הקראה</translation> <translation id="4577274620589681794">הזמן חלף · <ph name="LABEL" /></translation> <translation id="4585337515783392668">הפסקת העברה במכשיר לא מוכר</translation> +<translation id="4596144739579517758">עיצוב כהה כבוי.</translation> <translation id="4623167406982293031">יש לאמת את החשבון</translation> <translation id="4628757576491864469">מכשירים</translation> <translation id="4659419629803378708">ChromeVox הופעל</translation> @@ -387,6 +395,7 @@ <translation id="5168181903108465623">מכשירי העברה זמינים</translation> <translation id="5170568018924773124">הצג בתיקייה</translation> <translation id="5207949376430453814">הדגשה של סמן הטקסט</translation> +<translation id="5208059991603368177">פועל</translation> <translation id="5222676887888702881">יציאה</translation> <translation id="523505283826916779">הגדרות נגישות</translation> <translation id="5260676007519551770">שולחן עבודה 4</translation> @@ -398,6 +407,7 @@ <translation id="5313326810920013265">הגדרות Bluetooth</translation> <translation id="5314219114274263156">התבצעה הקלטת מסך</translation> <translation id="5331975486040154427">מכשיר עם יציאת USB-C (יציאה שמאלית-אחורית)</translation> +<translation id="5352250171825660495">עיצוב כהה פועל</translation> <translation id="5379115545237091094">יותר מדי ניסיונות</translation> <translation id="5397578532367286026">המנהל (<ph name="MANAGER_EMAIL" />) יכול לבדוק את השימוש וההיסטוריה של משתמש זה ב-chrome.com.</translation> <translation id="5400461572260843123">הגדרות מהירות, יש להקיש על מקש החיפוש ביחד עם מקש חץ שמאלה כדי לגשת אל מרכז ההתראות.</translation> @@ -434,6 +444,7 @@ <translation id="5769373120130404283">מסך פרטיות</translation> <translation id="5777841717266010279">להפסיק את שיתוף המסך?</translation> <translation id="5790085346892983794">הצלחה</translation> +<translation id="579415080077680903">השתקה</translation> <translation id="5820394555380036790">מערכת ההפעלה של Chromium</translation> <translation id="5837036133683224804">הפסקת <ph name="ROUTE_TITLE" /> במכשיר <ph name="RECEIVER_NAME" /></translation> <translation id="5860033963881614850">כבוי</translation> @@ -444,6 +455,7 @@ <translation id="5911909173233110115"><ph name="USERNAME" /> (<ph name="MAIL" />)</translation> <translation id="5916664084637901428">פועל</translation> <translation id="5920710855273935292">המיקרופון מושתק.</translation> +<translation id="5946788582095584774"><ph name="FEATURE_NAME" /> פעילות.</translation> <translation id="5947494881799873997">חזרה לגרסה הקודמת</translation> <translation id="595202126637698455">מעקב אחר הביצועים מופעל</translation> <translation id="5957083217255311415">חבילת הגלישה מושבתת.</translation> @@ -468,6 +480,7 @@ <translation id="615957422585914272">הצג מקלדת במסך</translation> <translation id="6164005077879661055">כל הקבצים והנתונים המקומיים המשויכים למשתמש בפיקוח יימחקו לצמיתות לאחר שמשתמש בפיקוח זה יוסר. המנהל עדיין יוכל לראות את האתרים שבהם משתמש בפיקוח זה ביקר, ואת ההגדרות שלו, בכתובת <ph name="MANAGEMENT_URL" />.</translation> <translation id="6165508094623778733">למידע נוסף</translation> +<translation id="6192859646269780503">איתור טלפון</translation> <translation id="622484624075952240">למטה</translation> <translation id="6236290670123303279">ניהול ההגדרות</translation> <translation id="6237231532760393653">1X</translation> @@ -539,6 +552,7 @@ <translation id="6981982820502123353">נגישות</translation> <translation id="698231206551913481">כל הקבצים והנתונים המשויכים למשתמש זה יימחקו לצמיתות ברגע שהמשתמש יוסר.</translation> <translation id="7007983414944123363">לא הצלחנו לאמת את קוד האימות או את הסיסמה שלך. אפשר לנסות שוב.</translation> +<translation id="7013005189539051442">הפעלת נקודה לשיתוף אינטרנט</translation> <translation id="7015766095477679451">אפשר לחזור בשעה <ph name="COME_BACK_TIME" />.</translation> <translation id="7025533177575372252">חיבור <ph name="DEVICE_NAME" /> לטלפון</translation> <translation id="7026338066939101231">הפחתה</translation> @@ -573,6 +587,7 @@ <translation id="742594950370306541">המצלמה נמצאת בשימוש.</translation> <translation id="742608627846767349">בוקר טוב,</translation> <translation id="743058460480092004">המצלמה והמיקרופון נמצאים בשימוש.</translation> +<translation id="7461924472993315131">הצמד</translation> <translation id="7466449121337984263">יש לגעת בחיישן</translation> <translation id="7477793887173910789">שליטה במוזיקה, בסרטונים ועוד</translation> <translation id="7497767806359279797">בחירת שפה ומקלדת</translation> @@ -613,6 +628,7 @@ <translation id="7842569679327885685">אזהרה: תכונה ניסיונית</translation> <translation id="7846634333498149051">מקלדת</translation> <translation id="7868900307798234037">ביטול נעילה באמצעות טביעת אצבע</translation> +<translation id="7872786842639831132">כבוי</translation> <translation id="7886169021410746335">התאמת הגדרות הפרטיות</translation> <translation id="7886277072580235377">סשן הגלישה שלך יימחק אחרי היציאה. <ph name="LEARN_MORE" /></translation> <translation id="788781083998633524">שליחת אימייל</translation> @@ -717,6 +733,7 @@ <translation id="8853703225951107899">לא הצלחנו לאמת את קוד האימות או את הסיסמה שלך. הערה: אם שינית לאחרונה את הסיסמה, עליך לנסות להיכנס עם הסיסמה הישנה. הסיסמה החדשה תיכנס לתוקף לאחר היציאה מהחשבון.</translation> <translation id="885387440427703469">אפשרות צילום המסך מושבתת</translation> <translation id="8870509716567206129">האפליקציה אינה תומכת במסך מפוצל.</translation> +<translation id="8871580645200179206">מעבר לעיצוב כהה. <ph name="STATE_TEXT" /></translation> <translation id="8874184842967597500">לא מחובר</translation> <translation id="8877788021141246043">הגדרת תזכורת</translation> <translation id="8878886163241303700">מסך מתרחב</translation>
diff --git a/ash/strings/ash_strings_ja.xtb b/ash/strings/ash_strings_ja.xtb index da2bd635..45961005 100644 --- a/ash/strings/ash_strings_ja.xtb +++ b/ash/strings/ash_strings_ja.xtb
@@ -48,6 +48,7 @@ <translation id="1351937230027495976">メニューを折りたたむ</translation> <translation id="1383876407941801731">検索</translation> <translation id="1391102559483454063">オン</translation> +<translation id="1407069428457324124">ダークテーマ</translation> <translation id="1419738280318246476">通知に関する操作を行うには、デバイスのロックを解除してください</translation> <translation id="1420408895951708260">夜間モードのオンとオフを切り替えます。<ph name="STATE_TEXT" /></translation> <translation id="1420527829902822813">スクリーンショットを撮影し、クリップボードに保存しました</translation> @@ -65,6 +66,7 @@ <translation id="1550523713251050646">クリックするとその他のオプションが表示されます</translation> <translation id="1570871743947603115">Bluetooth を切り替えます。<ph name="STATE_TEXT" /></translation> <translation id="1589090746204042747">このセッションのすべてのアクティビティにアクセスする</translation> +<translation id="1611993646327628135">オン</translation> <translation id="1632985212731562677">スイッチ アクセスは [設定] > [ユーザー補助機能] で無効にできます。</translation> <translation id="1654477262762802994">音声検索を開始</translation> <translation id="1667964833127753507">壁紙から抽出した色の代わりに、ライトまたはダークな色調の中間色を使用します。</translation> @@ -79,6 +81,7 @@ <translation id="1761222317188459878">ネットワーク接続を切り替えます。<ph name="STATE_TEXT" /></translation> <translation id="1771761307086386028">右にスクロール</translation> <translation id="1782199038061388045">翻訳</translation> +<translation id="1787955149152357925">オフ</translation> <translation id="181103072419391116">信号強度 <ph name="SIGNAL_STRENGTH" />、管理者によって管理</translation> <translation id="1812997170047690955">画面上のアイテムを検索します</translation> <translation id="1823873187264960516">イーサネット: <ph name="ADDRESS" /></translation> @@ -166,6 +169,7 @@ <translation id="2706462751667573066">上矢印キー</translation> <translation id="2718395828230677721">夜間モード</translation> <translation id="2727977024730340865">低電力の充電器に接続しています。バッテリーが充電されない可能性があります。</translation> +<translation id="2743387203779672305">クリップボードにコピー</translation> <translation id="2792498699870441125">Alt+ 検索</translation> <translation id="2819276065543622893">ログアウトします。</translation> <translation id="2825224105325558319"><ph name="DISPLAY_NAME" /> は <ph name="SPECIFIED_RESOLUTION" /> に対応していません。解像度を <ph name="FALLBACK_RESOLUTION" /> に変更しました。</translation> @@ -201,6 +205,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3081696990447829002">メニューを展開</translation> <translation id="3087734570205094154">下</translation> +<translation id="3090989381251959936"><ph name="FEATURE_NAME" /> を切り替えます。<ph name="STATE_TEXT" /></translation> <translation id="309749186376891736">カーソルを移動</translation> <translation id="3098580329624789136">「<ph name="QUERY" />」の<ph name="INTENT" />を表示</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" />(Bluetooth)</translation> @@ -233,6 +238,7 @@ <translation id="3371140690572404006">USB-C デバイス(右手前のポート)</translation> <translation id="3386978599540877378">全画面拡大鏡</translation> <translation id="3400357268283240774">その他の設定</translation> +<translation id="3410336247007142655">ダークテーマの設定を表示</translation> <translation id="3413817803639110246">通知はありません</translation> <translation id="3428447136709161042"><ph name="NETWORK_NAME" /> との接続を解除します</translation> <translation id="3430396595145920809">右側からスワイプすると前の画面に戻ります</translation> @@ -326,6 +332,7 @@ <translation id="4378551569595875038">接続中...</translation> <translation id="4379531060876907730">タッチペン ツール</translation> <translation id="4389184120735010762">ドッキング拡大鏡のキーボード ショートカットを押しました。この機能をオンにしますか?</translation> +<translation id="4412944820643904175"><ph name="FEATURE_NAME" /> はオフになっています。</translation> <translation id="4421231901400348175">リモート サポート経由で <ph name="HELPER_NAME" /> と画面の制御を共有しています。</translation> <translation id="4430019312045809116">音量</translation> <translation id="4450893287417543264">次回から表示しない</translation> @@ -345,6 +352,7 @@ <translation id="4570957409596482333">[選択して読み上げ] ボタン</translation> <translation id="4577274620589681794">時間です · <ph name="LABEL" /></translation> <translation id="4585337515783392668">不明な受信デバイスへのキャストを停止します</translation> +<translation id="4596144739579517758">ダークテーマはオフになっています</translation> <translation id="4623167406982293031">アカウントを確認</translation> <translation id="4628757576491864469">デバイス</translation> <translation id="4659419629803378708">ChromeVox を有効にしました</translation> @@ -387,6 +395,7 @@ <translation id="5168181903108465623">キャスト デバイスを利用できます</translation> <translation id="5170568018924773124">フォルダを開く</translation> <translation id="5207949376430453814">テキスト カーソルをハイライト表示する</translation> +<translation id="5208059991603368177">オン</translation> <translation id="5222676887888702881">ログアウト</translation> <translation id="523505283826916779">ユーザー補助機能の設定</translation> <translation id="5260676007519551770">デスク 4</translation> @@ -398,6 +407,7 @@ <translation id="5313326810920013265">Bluetooth 設定</translation> <translation id="5314219114274263156">画面を録画しました</translation> <translation id="5331975486040154427">USB-C デバイス(左奥のポート)</translation> +<translation id="5352250171825660495">ダークテーマはオンになっています</translation> <translation id="5379115545237091094">試行回数が上限を超えました</translation> <translation id="5397578532367286026">このユーザーの利用状況や履歴は、chrome.com で管理者(<ph name="MANAGER_EMAIL" />)によって確認されます。</translation> <translation id="5400461572260843123">クイック設定: 検索+左方向キーを押して、通知センターを開きます。</translation> @@ -434,6 +444,7 @@ <translation id="5769373120130404283">プライバシー スクリーン</translation> <translation id="5777841717266010279">画面の共有を解除しますか?</translation> <translation id="5790085346892983794">完了</translation> +<translation id="579415080077680903">サイレント</translation> <translation id="5820394555380036790">Chromium OS</translation> <translation id="5837036133683224804"><ph name="RECEIVER_NAME" /> の「<ph name="ROUTE_TITLE" />」を停止します</translation> <translation id="5860033963881614850">オフ</translation> @@ -444,6 +455,7 @@ <translation id="5911909173233110115"><ph name="USERNAME" />(<ph name="MAIL" />)</translation> <translation id="5916664084637901428">オン</translation> <translation id="5920710855273935292">マイクはミュートです。</translation> +<translation id="5946788582095584774"><ph name="FEATURE_NAME" /> はオンになっています。</translation> <translation id="5947494881799873997">元に戻す</translation> <translation id="595202126637698455">パフォーマンス追跡機能が有効です</translation> <translation id="5957083217255311415">モバイルデータ通信が無効になっています。</translation> @@ -468,6 +480,7 @@ <translation id="615957422585914272">画面キーボードを表示する</translation> <translation id="6164005077879661055">この監視対象ユーザーを削除すると、このユーザーに関連付けられたすべてのファイルとローカル データも完全に削除されます。この監視対象ユーザーがアクセスしたウェブサイトやこのユーザーの設定は引き続き、管理者が <ph name="MANAGEMENT_URL" /> で見ることができます。</translation> <translation id="6165508094623778733">詳細</translation> +<translation id="6192859646269780503">スマートフォンを探す</translation> <translation id="622484624075952240">下矢印キー</translation> <translation id="6236290670123303279">設定を管理</translation> <translation id="6237231532760393653">1X</translation> @@ -539,6 +552,7 @@ <translation id="6981982820502123353">ユーザー補助機能</translation> <translation id="698231206551913481">このユーザーを削除すると、このユーザーに関連付けられているファイルとローカルデータもすべて完全に削除されます。</translation> <translation id="7007983414944123363">PIN またはパスワードを確認できませんでした。もう一度お試しください。</translation> +<translation id="7013005189539051442">アクセス ポイントを有効にする</translation> <translation id="7015766095477679451"><ph name="COME_BACK_TIME" /> になったら利用を再開できます。</translation> <translation id="7025533177575372252">スマートフォンを使って <ph name="DEVICE_NAME" /> を接続する</translation> <translation id="7026338066939101231">減らす</translation> @@ -574,6 +588,7 @@ <translation id="742594950370306541">カメラが使用中です。</translation> <translation id="742608627846767349">おはようございます</translation> <translation id="743058460480092004">カメラとマイクが使用中です。</translation> +<translation id="7461924472993315131">固定</translation> <translation id="7466449121337984263">センサーをタッチしてください</translation> <translation id="7477793887173910789">音楽、動画、その他のメディアを操作します</translation> <translation id="7497767806359279797">言語とキーボードを選択</translation> @@ -612,6 +627,7 @@ <translation id="7842569679327885685">警告: 試験運用版の機能</translation> <translation id="7846634333498149051">キーボード</translation> <translation id="7868900307798234037">指紋によるロック解除</translation> +<translation id="7872786842639831132">オフ</translation> <translation id="7886169021410746335">プライバシー設定を調整する</translation> <translation id="7886277072580235377">ログアウトするとインターネット セッションは終了します。<ph name="LEARN_MORE" /></translation> <translation id="788781083998633524">メールを送って</translation> @@ -716,6 +732,7 @@ <translation id="8853703225951107899">PIN またはパスワードはまだ確認されていません。注: パスワードを最近変更した場合は、古いパスワードを使用してください。新しいパスワードはログアウトした後に適用されます。</translation> <translation id="885387440427703469">スクリーン キャプチャは無効になっています</translation> <translation id="8870509716567206129">アプリで分割画面がサポートされていません。</translation> +<translation id="8871580645200179206">ダークテーマを切り替えます。<ph name="STATE_TEXT" /></translation> <translation id="8874184842967597500">未接続</translation> <translation id="8877788021141246043">リマインダーを設定して</translation> <translation id="8878886163241303700">画面を拡張しています</translation>
diff --git a/ash/strings/ash_strings_ka.xtb b/ash/strings/ash_strings_ka.xtb index ce2fd048..b5767b6 100644 --- a/ash/strings/ash_strings_ka.xtb +++ b/ash/strings/ash_strings_ka.xtb
@@ -169,6 +169,7 @@ <translation id="2706462751667573066">ზემოთ</translation> <translation id="2718395828230677721">ღამის განათება</translation> <translation id="2727977024730340865">შეერთებულია დაბალი სიმძლავრის დამტენთან. ბატარეის დატენვა შეიძლება არ იყოს სანდო.</translation> +<translation id="2743387203779672305">კოპირება გაცვლის ბუფერში</translation> <translation id="2792498699870441125">Alt+ძიება</translation> <translation id="2819276065543622893">თქვენ ახლა გამოხვალთ.</translation> <translation id="2825224105325558319"><ph name="SPECIFIED_RESOLUTION" /> არ არის მხარდაჭერილი <ph name="DISPLAY_NAME" />-ის მიერ. გარჩევადობა შეიცვალა <ph name="FALLBACK_RESOLUTION" />-ზე.</translation> @@ -586,6 +587,7 @@ <translation id="742594950370306541">კამერა გამოიყენება.</translation> <translation id="742608627846767349">დილა მშვიდობის,</translation> <translation id="743058460480092004">კამერა და მიკროფონი გამოიყენება.</translation> +<translation id="7461924472993315131">პინი</translation> <translation id="7466449121337984263">შეეხეთ სენსორს</translation> <translation id="7477793887173910789">მართეთ თქვენი მუსიკა, ვიდეოები და სხვა</translation> <translation id="7497767806359279797">აირჩიეთ ენა და კლავიატურა</translation>
diff --git a/ash/strings/ash_strings_kk.xtb b/ash/strings/ash_strings_kk.xtb index 70bbea1..c017dd1 100644 --- a/ash/strings/ash_strings_kk.xtb +++ b/ash/strings/ash_strings_kk.xtb
@@ -48,6 +48,7 @@ <translation id="1351937230027495976">Мәзірді жию</translation> <translation id="1383876407941801731">Іздеу</translation> <translation id="1391102559483454063">Қосулы</translation> +<translation id="1407069428457324124">Қараңғы тақырып</translation> <translation id="1419738280318246476">Хабарландыруда ұсынылған әрекетті орындау үшін құрылғының құлпын ашыңыз</translation> <translation id="1420408895951708260">"Түнгі жарық" функциясын қосу/өшіру. <ph name="STATE_TEXT" /></translation> <translation id="1420527829902822813">Скриншот жасалды және буферге сақталды</translation> @@ -65,6 +66,7 @@ <translation id="1550523713251050646">Қосымша опциялар үшін басыңыз</translation> <translation id="1570871743947603115">Bluetooth функциясын қосу/өшіру. <ph name="STATE_TEXT" /></translation> <translation id="1589090746204042747">Осы сеанстағы барлық әрекеттеріңізге кіріңіз</translation> +<translation id="1611993646327628135">Қосулы</translation> <translation id="1632985212731562677">Switch Access функциясын "Параметрлер > Accessibility" бөлімінен өшіруге болады.</translation> <translation id="1654477262762802994">Дауыстық сұрауды бастау</translation> <translation id="1667964833127753507">Бейтарап түс режимінде тұсқағаздарыңыздың түстері пайдаланылмайды. Олардың орнына интерфейс бейтарап ашық немесе күңгірт реңктерге боялады.</translation> @@ -79,6 +81,7 @@ <translation id="1761222317188459878">Желі байланысын қосу/өшіру. <ph name="STATE_TEXT" /></translation> <translation id="1771761307086386028">Оңға айналдыру</translation> <translation id="1782199038061388045">аударма</translation> +<translation id="1787955149152357925">Өшірулі</translation> <translation id="181103072419391116">Сигнал күші – <ph name="SIGNAL_STRENGTH" />, Әкімші басқарады</translation> <translation id="1812997170047690955">Экранда не бар?</translation> <translation id="1823873187264960516">Ethernet: <ph name="ADDRESS" /></translation> @@ -166,6 +169,7 @@ <translation id="2706462751667573066">Жоғары</translation> <translation id="2718395828230677721">Түнгі жарық</translation> <translation id="2727977024730340865">Төмен қуатты зарядтағышқа жалғанған. Батареяны зарядтау кезінде қиындықтар болуы мүмкін.</translation> +<translation id="2743387203779672305">Буферге көшіру</translation> <translation id="2792498699870441125">Alt+Іздеу</translation> <translation id="2819276065543622893">Жүйеден қазір шығасыз.</translation> <translation id="2825224105325558319"><ph name="DISPLAY_NAME" /> дисплейі <ph name="SPECIFIED_RESOLUTION" /> ажыратымдылығына қолдау көрсетпейді. Ажыратымдылық <ph name="FALLBACK_RESOLUTION" /> етіп өзгертілді.</translation> @@ -201,6 +205,7 @@ <translation id="3077734595579995578">ауысу</translation> <translation id="3081696990447829002">Мәзірді жаю</translation> <translation id="3087734570205094154">Астына</translation> +<translation id="3090989381251959936"><ph name="FEATURE_NAME" /> функциясын қосу немесе өшіру. <ph name="STATE_TEXT" /></translation> <translation id="309749186376891736">Курсорды жылжыту</translation> <translation id="3098580329624789136">"<ph name="QUERY" />" туралы <ph name="INTENT" /> алу</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth)</translation> @@ -233,6 +238,7 @@ <translation id="3371140690572404006">USB-C құрылғысы (оң жақ алдыңғы порты)</translation> <translation id="3386978599540877378">толық экран ұлғайтқышы</translation> <translation id="3400357268283240774">Қосымша параметрлер</translation> +<translation id="3410336247007142655">Қараңғы тақырып параметрлерін көрсету</translation> <translation id="3413817803639110246">Ештеңе жоқ</translation> <translation id="3428447136709161042"><ph name="NETWORK_NAME" /> желісінен ажырату</translation> <translation id="3430396595145920809">Артқа оралу үшін оңнан солға қарай сырғытыңыз.</translation> @@ -326,6 +332,7 @@ <translation id="4378551569595875038">Қосылуда…</translation> <translation id="4379531060876907730">Стилус құралдары</translation> <translation id="4389184120735010762">Бекітілген ұлғайтқышқа арналған пернелер тіркесімін бастыңыз. Оны қосқыңыз келе ме?</translation> +<translation id="4412944820643904175"><ph name="FEATURE_NAME" /> өшірулі.</translation> <translation id="4421231901400348175">Remote Assistance арқылы <ph name="HELPER_NAME" /> пайдаланушысымен экранды бөлісіп басқару.</translation> <translation id="4430019312045809116">Дыбыс деңгейі</translation> <translation id="4450893287417543264">Қайта көрсетілмесін</translation> @@ -345,6 +352,7 @@ <translation id="4570957409596482333">Select-to-Speak түймесі</translation> <translation id="4577274620589681794">Уақыт бітті · <ph name="LABEL" /></translation> <translation id="4585337515783392668">Белгісіз қабылдағышқа трансляциялауды тоқтату</translation> +<translation id="4596144739579517758">Қараңғы тақырып өшірулі.</translation> <translation id="4623167406982293031">Есептік жазбаны растау</translation> <translation id="4628757576491864469">Құрылғылар</translation> <translation id="4659419629803378708">ChromeVox қосылды</translation> @@ -387,6 +395,7 @@ <translation id="5168181903108465623">Трансляциялау құрылғылары қолжетімді</translation> <translation id="5170568018924773124">Қалтада көрсету</translation> <translation id="5207949376430453814">Мәтін курсорын бөлектеу</translation> +<translation id="5208059991603368177">Қосулы</translation> <translation id="5222676887888702881">Шығу</translation> <translation id="523505283826916779">Арнайы мүмкіндіктер параметрлері</translation> <translation id="5260676007519551770">4-ші жұмыс үстелі</translation> @@ -398,6 +407,7 @@ <translation id="5313326810920013265">Bluetooth параметрлері</translation> <translation id="5314219114274263156">Экран жазбасы алынды</translation> <translation id="5331975486040154427">USB-C құрылғысы (сол жақ артқы порты)</translation> +<translation id="5352250171825660495">Қараңғы тақырып қосулы.</translation> <translation id="5379115545237091094">Тым көп әрекет жасалды</translation> <translation id="5397578532367286026">Бұл пайдаланушының дерек трафигі мен тарихын chrome.com мекенжайындағы басқарушысы (<ph name="MANAGER_EMAIL" />) арқылы шолуға болады.</translation> <translation id="5400461572260843123">Жылдам параметрлер: хабарландыру орталығына кіру үшін "Іздеу" + сол жақ көрсеткі түймесін басыңыз.</translation> @@ -434,6 +444,7 @@ <translation id="5769373120130404283">Құпиялылық экраны</translation> <translation id="5777841717266010279">Экран бөлісуді тоқтату қажет пе?</translation> <translation id="5790085346892983794">Орындалды</translation> +<translation id="579415080077680903">Дыбыссыз режим</translation> <translation id="5820394555380036790">Chromium OS</translation> <translation id="5837036133683224804"><ph name="RECEIVER_NAME" /> қабылдағышында <ph name="ROUTE_TITLE" /> трансляциясын тоқтату</translation> <translation id="5860033963881614850">Өшірулі</translation> @@ -444,6 +455,7 @@ <translation id="5911909173233110115"><ph name="USERNAME" /> (<ph name="MAIL" />)</translation> <translation id="5916664084637901428">Қосулы</translation> <translation id="5920710855273935292">Микрофон дыбысы өшірулі.</translation> +<translation id="5946788582095584774"><ph name="FEATURE_NAME" /> қосулы.</translation> <translation id="5947494881799873997">Қайтару</translation> <translation id="595202126637698455">Өнімділікті бақылау қосылған</translation> <translation id="5957083217255311415">Мобильдік деректер өшірулі.</translation> @@ -468,6 +480,7 @@ <translation id="615957422585914272">Экрандағы пернетақтаны көрсету</translation> <translation id="6164005077879661055">Бақылаудағы пайдаланушыға қатысты барлық файлдар мен жергілікті деректер осы бақылаудағы пайдаланушы алып тасталғаннан кейін біржола жойылады. Осы бақылаудағы пайдаланушының кірген веб-сайттар мен параметрлері <ph name="MANAGEMENT_URL" /> сілтемесіндегі басқарушыға көрінуі мүмкін.</translation> <translation id="6165508094623778733">Толығырақ</translation> +<translation id="6192859646269780503">Телефонды табу</translation> <translation id="622484624075952240">Төмен</translation> <translation id="6236290670123303279">Параметрлерді басқару</translation> <translation id="6237231532760393653">1X</translation> @@ -539,6 +552,7 @@ <translation id="6981982820502123353">Арнайы мүмкіндіктер</translation> <translation id="698231206551913481">Бұл пайдаланушы өшірілгеннен кейін, оған қатысты барлық файлдар және жергілікті деректер біржола жойылады.</translation> <translation id="7007983414944123363">PIN кодыңыз не құпия сөзіңіз расталмады. Қайталап көріңіз.</translation> +<translation id="7013005189539051442">Хотспотты қосу</translation> <translation id="7015766095477679451">Сағат <ph name="COME_BACK_TIME" /> болғанда, қайта қолданып көріңіз.</translation> <translation id="7025533177575372252"><ph name="DEVICE_NAME" /> құрылғысын телефонға жалғаңыз</translation> <translation id="7026338066939101231">Кему</translation> @@ -573,6 +587,7 @@ <translation id="742594950370306541">Камера пайдаланылуда.</translation> <translation id="742608627846767349">Қайырлы таң!</translation> <translation id="743058460480092004">Камера және микрофон пайдаланылуда.</translation> +<translation id="7461924472993315131">Бекіту</translation> <translation id="7466449121337984263">Саусақ ізін оқу сканерін түртіңіз.</translation> <translation id="7477793887173910789">Музыканы, бейнелерді және т.б. басқарыңыз.</translation> <translation id="7497767806359279797">Тілді және пернетақтаны таңдау</translation> @@ -611,6 +626,7 @@ <translation id="7842569679327885685">Ескерту: эксперименттік функция</translation> <translation id="7846634333498149051">Пернетақта</translation> <translation id="7868900307798234037">Саусақ ізімен ашылуда</translation> +<translation id="7872786842639831132">Өшірулі</translation> <translation id="7886169021410746335">Құпиялылық параметрлерін реттеу</translation> <translation id="7886277072580235377">Сіз шыққан кезде, сеансыңыз өшіріледі. <ph name="LEARN_MORE" /></translation> <translation id="788781083998633524">Электрондық хат жіберу</translation> @@ -715,6 +731,7 @@ <translation id="8853703225951107899">PIN кодыңыз не құпия сөзіңіз әлі расталмады. Ескертпе: құпия сөзіңізді жақында өзгерткен болсаңыз, бұрынғы құпия сөзіңізді пайдаланыңыз. Жаңа құпия сөз, есептік жазбадан шыққаннан кейін, күшіне енеді.</translation> <translation id="885387440427703469">Экранды түсіру өшірілді</translation> <translation id="8870509716567206129">Қолданба бөлінген экранды қолдамайды.</translation> +<translation id="8871580645200179206">Қараңғы тақырыпты қосу немесе өшіру. <ph name="STATE_TEXT" /></translation> <translation id="8874184842967597500">Қосылмаған</translation> <translation id="8877788021141246043">Еске салғыш орнату</translation> <translation id="8878886163241303700">Экранды кеңейту</translation>
diff --git a/ash/strings/ash_strings_km.xtb b/ash/strings/ash_strings_km.xtb index 7a3598a3..0e2d016 100644 --- a/ash/strings/ash_strings_km.xtb +++ b/ash/strings/ash_strings_km.xtb
@@ -48,6 +48,7 @@ <translation id="1351937230027495976">បង្រួមម៉ឺនុយ</translation> <translation id="1383876407941801731">ស្វែងរក</translation> <translation id="1391102559483454063">បើក</translation> +<translation id="1407069428457324124">រចនាប័ទ្មងងឹត</translation> <translation id="1419738280318246476">ដោះសោឧបករណ៍ ដើម្បីធ្វើសកម្មភាពជូនដំណឹង</translation> <translation id="1420408895951708260">បិទ/បើកពន្លឺពេលយប់។ <ph name="STATE_TEXT" /></translation> <translation id="1420527829902822813">បានថតអេក្រង់ និងរក្សាទុកទៅក្នុងឃ្លីបបត</translation> @@ -65,6 +66,7 @@ <translation id="1550523713251050646">ចុចសម្រាប់ជម្រើសជាច្រើនទៀត</translation> <translation id="1570871743947603115">បិទ/បើកប៊្លូធូស។ <ph name="STATE_TEXT" /></translation> <translation id="1589090746204042747">ចូលប្រើសកម្មភាពទាំងអស់របស់អ្នកនៅក្នុងរយៈពេលចូលប្រើនេះ</translation> +<translation id="1611993646327628135">បើក</translation> <translation id="1632985212731562677">អាចបិទការប្រើប៊ូតុងចុចនៅក្នុងការកំណត់ > ភាពងាយស្រួល។</translation> <translation id="1654477262762802994">ចាប់ផ្ដើមសំណួរជាសំឡេង</translation> <translation id="1667964833127753507">មុខងារពណ៌ស្រាលមិនប្រើពណ៌ដែលបានយកចេញពីផ្ទាំងរូបភាពទេ ប៉ុន្តែជំនួសពណ៌ទាំងនោះដោយបណ្ដុំពណ៌ក្រមៅ ឬពណ៌ភ្លឺស្រាល។</translation> @@ -79,6 +81,7 @@ <translation id="1761222317188459878">បិទ/បើកការតភ្ជាប់បណ្ដាញ។ <ph name="STATE_TEXT" /></translation> <translation id="1771761307086386028">រំកិលទៅស្តាំ</translation> <translation id="1782199038061388045">ការបកប្រែ</translation> +<translation id="1787955149152357925">បិទ</translation> <translation id="181103072419391116">កម្លាំងរលកសញ្ញា <ph name="SIGNAL_STRENGTH" />, គ្រប់គ្រងដោយអ្នកគ្រប់គ្រងរបស់អ្នក</translation> <translation id="1812997170047690955">តើមានអ្វីនៅលើអេក្រង់របស់ខ្ញុំ?</translation> <translation id="1823873187264960516">អ៊ីសឺរណិត៖ <ph name="ADDRESS" /></translation> @@ -166,6 +169,7 @@ <translation id="2706462751667573066">Up</translation> <translation id="2718395828230677721">ពន្លឺពេលយប់</translation> <translation id="2727977024730340865">បានដោតទៅឆ្នាំងសាកថាមពលខ្សោយ។ ការសាកថ្មប្រហែលជាមិនអាចជឿជាក់បានទេ។</translation> +<translation id="2743387203779672305">ចម្លងទៅផ្ទាំងឃ្លីបបត</translation> <translation id="2792498699870441125">Alt+ស្វែងរក</translation> <translation id="2819276065543622893">អ្នកនឹងត្រូវចាកចេញឥឡូវនេះ។</translation> <translation id="2825224105325558319"><ph name="DISPLAY_NAME" /> មិនអាចប្រើ <ph name="SPECIFIED_RESOLUTION" /> បានទេ។ បានប្ដូរកម្រិតច្បាស់ទៅ <ph name="FALLBACK_RESOLUTION" />។</translation> @@ -201,6 +205,7 @@ <translation id="3077734595579995578">SHIFT</translation> <translation id="3081696990447829002">ពង្រីកម៉ឺនុយ</translation> <translation id="3087734570205094154">ខាងក្រោម</translation> +<translation id="3090989381251959936">បិទ/បើក <ph name="FEATURE_NAME" />។ <ph name="STATE_TEXT" /></translation> <translation id="309749186376891736">រូបទស្សន៍ទ្រនិចសម្រាប់ផ្លាស់ទី</translation> <translation id="3098580329624789136">ទាញយក <ph name="INTENT" /> សម្រាប់ "<ph name="QUERY" />"</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (ប៊្លូធូស)</translation> @@ -233,6 +238,7 @@ <translation id="3371140690572404006">ឧបករណ៍ USB-C (រន្ធមុខផ្នែកខាងស្តាំ)</translation> <translation id="3386978599540877378">កម្មវិធីពង្រីកពេញអេក្រង់</translation> <translation id="3400357268283240774">ការកំណត់បន្ថែម</translation> +<translation id="3410336247007142655">បង្ហាញការកំណត់រចនាប័ទ្មងងឹត</translation> <translation id="3413817803639110246">មិនទាន់មានអ្វីថ្មីនៅឡើយទេ</translation> <translation id="3428447136709161042">ផ្ដាច់ពី <ph name="NETWORK_NAME" /></translation> <translation id="3430396595145920809">អូសពីស្ដាំ ដើម្បីថយក្រោយ</translation> @@ -326,6 +332,7 @@ <translation id="4378551569595875038">កំពុងភ្ជាប់...</translation> <translation id="4379531060876907730">ទាំងនេះគឺជាប៊ិចរបស់អ្នក</translation> <translation id="4389184120735010762">អ្នកបានចុចផ្លូវកាត់ក្ដារចុចសម្រាប់កែវពង្រីកដាក់ខាងលើបំផុត។ តើអ្នកចង់បើកវាដែរទេ?</translation> +<translation id="4412944820643904175"><ph name="FEATURE_NAME" /> បានបិទ។</translation> <translation id="4421231901400348175">ចែករំលែកការបញ្ជាអេក្រង់របស់អ្នកជាមួយ <ph name="HELPER_NAME" /> តាមរយៈជំនួយការពីចម្ងាយ។</translation> <translation id="4430019312045809116">សម្លេង</translation> <translation id="4450893287417543264">កុំបង្ហាញម្ដងទៀត</translation> @@ -345,6 +352,7 @@ <translation id="4570957409596482333">ប៊ូតុងជ្រើសរើសដើម្បីអាន</translation> <translation id="4577274620589681794">ដល់ម៉ោងហើយ · <ph name="LABEL" /></translation> <translation id="4585337515783392668">ឈប់បញ្ជូនទៅឧបករណ៍ទទួលដែលមិនស្គាល់</translation> +<translation id="4596144739579517758">រចនាប័ទ្មងងឹតបានបិទ</translation> <translation id="4623167406982293031">ផ្ទៀងផ្ទាត់គណនី</translation> <translation id="4628757576491864469">ឧបករណ៍</translation> <translation id="4659419629803378708">បានបើក ChromeVox</translation> @@ -387,6 +395,7 @@ <translation id="5168181903108465623">មានឧបករណ៍ខាស</translation> <translation id="5170568018924773124">បង្ហាញនៅក្នុងថតឯកសារ</translation> <translation id="5207949376430453814">រំលេចសញ្ញាអត្ថបទ</translation> +<translation id="5208059991603368177">បើក</translation> <translation id="5222676887888702881">ចាកចេញ</translation> <translation id="523505283826916779">ការកំណត់លទ្ធភាពប្រើប្រាស់</translation> <translation id="5260676007519551770">តុទី 4</translation> @@ -398,6 +407,7 @@ <translation id="5313326810920013265">ការកំណត់ប៊្លូធូស</translation> <translation id="5314219114274263156">បានថតអេក្រង់</translation> <translation id="5331975486040154427">ឧបករណ៍ USB-C (រន្ធក្រោយផ្នែកខាងឆ្វេង)</translation> +<translation id="5352250171825660495">រចនាប័ទ្មងងឹតបានបើក</translation> <translation id="5379115545237091094">ព្យាយាមច្រើនដងពេក</translation> <translation id="5397578532367286026">ការប្រើប្រាស់ និងប្រើ (<ph name="MANAGER_EMAIL" />) នៅលើ chrome.com។</translation> <translation id="5400461572260843123">ការកំណត់រហ័ស ចុច ស្វែងរក + ឆ្វេង ដើម្បីចូលប្រើមជ្ឈមណ្ឌលជូនដំណឹង។</translation> @@ -434,6 +444,7 @@ <translation id="5769373120130404283">អេក្រង់ឯកជនភាព</translation> <translation id="5777841717266010279">បញ្ឈប់ការចែករំលែកអេក្រង់?</translation> <translation id="5790085346892983794">ជោគជ័យ</translation> +<translation id="579415080077680903">បិទសំឡេង</translation> <translation id="5820394555380036790">Chromium OS</translation> <translation id="5837036133683224804">បញ្ឈប់ <ph name="ROUTE_TITLE" /> នៅលើ <ph name="RECEIVER_NAME" /></translation> <translation id="5860033963881614850">បិទ</translation> @@ -444,6 +455,7 @@ <translation id="5911909173233110115"><ph name="USERNAME" /> (<ph name="MAIL" />)</translation> <translation id="5916664084637901428">បើក</translation> <translation id="5920710855273935292">បានបិទសំឡេងមីក្រូហ្វូន។</translation> +<translation id="5946788582095584774"><ph name="FEATURE_NAME" /> បានបើក។</translation> <translation id="5947494881799873997">ត្រលប់ក្រោយ</translation> <translation id="595202126637698455">ការតាមដានប្រតិបត្តិការបានបើកដំណើរការ</translation> <translation id="5957083217255311415">ទិន្នន័យទូរសព្ទចល័តត្រូវបានបិទ។</translation> @@ -468,6 +480,7 @@ <translation id="615957422585914272">បង្ហាញក្តារចុចលើអេក្រង់</translation> <translation id="6164005077879661055">ឯកសារ និងទិន្នន័យមូលដ្ឋានទាំងអស់ដែលពាក់ព័ន្ធជាមួយអ្នកប្រើដែលបានចាត់នឹងត្រូវបានលុបជាអចិន្ត្រៃយ៍នៅពេលអ្នកប្រើដែលបានចាត់ត្រូវបានដកចេញ។ គេហទំព័រដែលបានទៅកាន់ ការកំណត់សម្រាប់អ្នកប្រើដែលបានចាត់នេះអាចនៅតែមើលឃើញដោយអ្នកគ្រប់គ្រង <ph name="MANAGEMENT_URL" />។</translation> <translation id="6165508094623778733">ស្វែងយល់បន្ថែម</translation> +<translation id="6192859646269780503">កំណត់ទីតាំងទូរសព្ទ</translation> <translation id="622484624075952240">ចុះក្រោម</translation> <translation id="6236290670123303279">គ្រប់គ្រងការកំណត់</translation> <translation id="6237231532760393653">1X</translation> @@ -539,6 +552,7 @@ <translation id="6981982820502123353">លទ្ធភាពប្រើប្រាស់</translation> <translation id="698231206551913481">ឯកសារ និងទិន្នន័យមូលដ្ឋានទាំងអស់ដែលប្រើជាមួយអ្នកប្រើនេះនឹងត្រូវបានលុបជាអចិន្ត្រៃយ៍ បន្ទាប់ពីអ្នកប្រើនេះត្រូវបានលុប។</translation> <translation id="7007983414944123363">មិនអាចផ្ទៀងផ្ទាត់កូដ PIN ឬពាក្យសម្ងាត់របស់អ្នកបានទេ។ សូមព្យាយាមម្ដងទៀត។</translation> +<translation id="7013005189539051442">បើកហតស្ប៉ត</translation> <translation id="7015766095477679451">ត្រឡប់មកវិញនៅម៉ោង <ph name="COME_BACK_TIME" />។</translation> <translation id="7025533177575372252">ភ្ជាប់ <ph name="DEVICE_NAME" /> ជាមួយទូរសព្ទរបស់អ្នក</translation> <translation id="7026338066939101231">ការបន្ថយ</translation> @@ -573,6 +587,7 @@ <translation id="742594950370306541">កាមេរ៉ាស្ថិតនៅក្នុងការប្រើ។</translation> <translation id="742608627846767349">អរុណសួស្ដី</translation> <translation id="743058460480092004">កាមេរ៉ា និងម៉ៃក្រូហ្វូនស្ថិតក្នុងការប្រើ។</translation> +<translation id="7461924472993315131">លេខសម្គាល់</translation> <translation id="7466449121337984263">សូមប៉ះឧបករណ៍ចាប់សញ្ញា</translation> <translation id="7477793887173910789">គ្រប់គ្រងតន្ត្រី វីដេអូរបស់អ្នក និងអ្វីៗជាច្រើនទៀត</translation> <translation id="7497767806359279797">ជ្រើសរើសភាសា និងក្ដារចុច</translation> @@ -611,6 +626,7 @@ <translation id="7842569679327885685">ព្រមាន៖ មុខងារពិសោធន៍</translation> <translation id="7846634333498149051">ក្ដារចុច</translation> <translation id="7868900307798234037">ការដោះសោដោយប្រើស្នាមម្រាមដៃ</translation> +<translation id="7872786842639831132">បិទ</translation> <translation id="7886169021410746335">កែតម្រូវការកំណត់ឯកជនភាព</translation> <translation id="7886277072580235377">រយៈពេលចូលប្រើអ៊ីនធឺណិតរបស់អ្នកនឹងត្រូវបានសម្អាត នៅពេលអ្នកចេញពីគណនី។ <ph name="LEARN_MORE" /></translation> <translation id="788781083998633524">ផ្ញើអ៊ីមែល</translation> @@ -715,6 +731,7 @@ <translation id="8853703225951107899">នៅតែមិនអាចផ្ទៀងផ្ទាត់កូដ PIN ឬពាក្យសម្ងាត់របស់អ្នកបានដដែល។ ចំណាំ៖ ប្រសិនបើអ្នកបានប្ដូរពាក្យសម្ងាត់របស់អ្នកថ្មីៗនេះ សូមប្រើពាក្យសម្ងាត់ចាស់របស់អ្នក។ ពាក្យសម្ងាត់ថ្មីរបស់អ្នកនឹងត្រូវបានប្រើ បន្ទាប់ពីអ្នកចេញពីគណនី។</translation> <translation id="885387440427703469">បានបិទការថតអេក្រង់</translation> <translation id="8870509716567206129">កម្មវិធីមិនស្គាល់អេក្រង់បំបែកទេ។</translation> +<translation id="8871580645200179206">បិទ/បើករចនាប័ទ្មងងឹត។ <ph name="STATE_TEXT" /></translation> <translation id="8874184842967597500">មិនបានភ្ជាប់ទេ</translation> <translation id="8877788021141246043">កំណត់ការរំលឹក</translation> <translation id="8878886163241303700">អេក្រង់ពង្រីក</translation>
diff --git a/ash/strings/ash_strings_kn.xtb b/ash/strings/ash_strings_kn.xtb index 6d5e235..65ddbdc5 100644 --- a/ash/strings/ash_strings_kn.xtb +++ b/ash/strings/ash_strings_kn.xtb
@@ -169,6 +169,7 @@ <translation id="2706462751667573066">ಮೇಲಕ್ಕೆ</translation> <translation id="2718395828230677721">ನೈಟ್ ಲೈಟ್</translation> <translation id="2727977024730340865">ಕಡಿಮೆ ವಿದ್ಯುತ್ ಚಾರ್ಜರ್ಗೆ ಪ್ಲಗ್ ಮಾಡಲಾಗಿದೆ. ಬ್ಯಾಟರಿ ಚಾರ್ಜಿಂಗ್ ವಿಶ್ವಾಸಾರ್ಹವಾಗಿಲ್ಲದಿರಬಹುದು.</translation> +<translation id="2743387203779672305">ಕ್ಲಿಪ್ಬೋರ್ಡ್ಗೆ ನಕಲಿಸಿ</translation> <translation id="2792498699870441125">Alt+ಹುಡುಕಾಟ</translation> <translation id="2819276065543622893">ಈಗ ನಿಮ್ಮನ್ನು ಸೈನ್ ಔಟ್ ಮಾಡಲಾಗುತ್ತದೆ.</translation> <translation id="2825224105325558319"><ph name="SPECIFIED_RESOLUTION" /> ಅನ್ನು <ph name="DISPLAY_NAME" /> ಬೆಂಬಲಿಸುವುದಿಲ್ಲ. ರೆಸಲ್ಯೂಷನ್ ಅನ್ನು <ph name="FALLBACK_RESOLUTION" /> ಗೆ ಬದಲಾಯಿಸಲಾಗಿದೆ.</translation> @@ -587,6 +588,7 @@ <translation id="742594950370306541">ಕ್ಯಾಮರಾ ಬಳಕೆಯಲ್ಲಿದೆ.</translation> <translation id="742608627846767349">ಶುಭೋದಯ,</translation> <translation id="743058460480092004">ಕ್ಯಾಮರಾ ಮತ್ತು ಮೈಕ್ರೋಫೋನ್ ಬಳಕೆಯಲ್ಲಿವೆ.</translation> +<translation id="7461924472993315131">ಪಿನ್</translation> <translation id="7466449121337984263">ಸೆನ್ಸರ್ ಅನ್ನು ಸ್ಪರ್ಶಿಸಿ</translation> <translation id="7477793887173910789">ನಿಮ್ಮ ಸಂಗೀತ, ವೀಡಿಯೊಗಳು ಹಾಗೂ ಇತ್ಯಾದಿಗಳನ್ನು ನಿಯಂತ್ರಿಸಿ</translation> <translation id="7497767806359279797">ಭಾಷೆ ಮತ್ತು ಕೀಬೋರ್ಡ್ ಆರಿಸಿ</translation>
diff --git a/ash/strings/ash_strings_ko.xtb b/ash/strings/ash_strings_ko.xtb index 737a2ec4..f9b3b2b 100644 --- a/ash/strings/ash_strings_ko.xtb +++ b/ash/strings/ash_strings_ko.xtb
@@ -48,6 +48,7 @@ <translation id="1351937230027495976">메뉴 접기</translation> <translation id="1383876407941801731">검색</translation> <translation id="1391102559483454063">사용</translation> +<translation id="1407069428457324124">어두운 테마</translation> <translation id="1419738280318246476">알림 작업을 실행하려면 기기의 잠금을 해제하세요.</translation> <translation id="1420408895951708260">야간 조명을 전환합니다. <ph name="STATE_TEXT" /></translation> <translation id="1420527829902822813">스크린샷이 촬영되어 클립보드에 저장됨</translation> @@ -65,6 +66,7 @@ <translation id="1550523713251050646">더 많은 옵션을 확인하려면 클릭하세요.</translation> <translation id="1570871743947603115">블루투스를 전환합니다. <ph name="STATE_TEXT" /></translation> <translation id="1589090746204042747">이 세션의 모든 활동에 액세스</translation> +<translation id="1611993646327628135">켜짐</translation> <translation id="1632985212731562677">설정 > 접근성에서 스위치 제어를 사용 중지할 수 있습니다.</translation> <translation id="1654477262762802994">음성 검색 시작</translation> <translation id="1667964833127753507">중성 색상 모드는 배경화면에서 추출한 색상을 사용하지 않고 밝거나 어두운 중성 색상으로 대체합니다.</translation> @@ -79,6 +81,7 @@ <translation id="1761222317188459878">네트워크 연결을 전환합니다. <ph name="STATE_TEXT" /></translation> <translation id="1771761307086386028">오른쪽으로 스크롤</translation> <translation id="1782199038061388045">번역</translation> +<translation id="1787955149152357925">꺼짐</translation> <translation id="181103072419391116">신호 강도 <ph name="SIGNAL_STRENGTH" />, 관리자가 관리함</translation> <translation id="1812997170047690955">화면에 표시된 내용 찾아보기</translation> <translation id="1823873187264960516">이더넷: <ph name="ADDRESS" /></translation> @@ -166,6 +169,7 @@ <translation id="2706462751667573066">위</translation> <translation id="2718395828230677721">야간 조명</translation> <translation id="2727977024730340865">저출력 충전기에 연결되었습니다. 배터리 충전 상태가 불안정합니다.</translation> +<translation id="2743387203779672305">클립보드로 복사</translation> <translation id="2792498699870441125">Alt+검색 키</translation> <translation id="2819276065543622893">지금 로그아웃됩니다.</translation> <translation id="2825224105325558319"><ph name="DISPLAY_NAME" />에서 <ph name="SPECIFIED_RESOLUTION" />을(를) 지원하지 않습니다. 해상도가 <ph name="FALLBACK_RESOLUTION" />(으)로 변경되었습니다.</translation> @@ -201,6 +205,7 @@ <translation id="3077734595579995578">Shift</translation> <translation id="3081696990447829002">메뉴 펼치기</translation> <translation id="3087734570205094154">맨 아래</translation> +<translation id="3090989381251959936"><ph name="FEATURE_NAME" /> 기능을 켜거나 끕니다. <ph name="STATE_TEXT" /></translation> <translation id="309749186376891736">커서 이동</translation> <translation id="3098580329624789136">‘<ph name="QUERY" />’의 <ph name="INTENT" /> 확인하기</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" />(블루투스)</translation> @@ -233,6 +238,7 @@ <translation id="3371140690572404006">USB-C 기기(우측 전면 포트)</translation> <translation id="3386978599540877378">전체 화면 돋보기</translation> <translation id="3400357268283240774">추가 설정</translation> +<translation id="3410336247007142655">어두운 테마 설정 표시</translation> <translation id="3413817803639110246">표시할 내용 없음</translation> <translation id="3428447136709161042"><ph name="NETWORK_NAME" />에서 연결 해제</translation> <translation id="3430396595145920809">돌아가려면 오른쪽에서 스와이프하세요.</translation> @@ -326,6 +332,7 @@ <translation id="4378551569595875038">연결 중...</translation> <translation id="4379531060876907730">스타일러스 도구입니다</translation> <translation id="4389184120735010762">고정 돋보기 단축키를 누르셨습니다. 사용 설정할까요?</translation> +<translation id="4412944820643904175"><ph name="FEATURE_NAME" /> 기능이 꺼져 있습니다.</translation> <translation id="4421231901400348175">원격 지원을 통해 <ph name="HELPER_NAME" />와(과) 화면 제어 공유</translation> <translation id="4430019312045809116">볼륨</translation> <translation id="4450893287417543264">다시 표시하지 않음</translation> @@ -345,6 +352,7 @@ <translation id="4570957409596482333">텍스트 읽어주기 버튼</translation> <translation id="4577274620589681794">타이머 종료 · <ph name="LABEL" /></translation> <translation id="4585337515783392668">알 수 없는 수신기에 전송 중지</translation> +<translation id="4596144739579517758">어두운 테마가 꺼져 있습니다.</translation> <translation id="4623167406982293031">계정을 인증하세요.</translation> <translation id="4628757576491864469">기기</translation> <translation id="4659419629803378708">ChromeVox가 사용 설정됨</translation> @@ -387,6 +395,7 @@ <translation id="5168181903108465623">전송 기기를 사용할 수 있음</translation> <translation id="5170568018924773124">폴더 열기</translation> <translation id="5207949376430453814">텍스트 캐럿 강조표시</translation> +<translation id="5208059991603368177">켜짐</translation> <translation id="5222676887888702881">로그아웃</translation> <translation id="523505283826916779">접근성 설정</translation> <translation id="5260676007519551770">데스크 4</translation> @@ -398,6 +407,7 @@ <translation id="5313326810920013265">블루투스 설정</translation> <translation id="5314219114274263156">화면 녹화됨</translation> <translation id="5331975486040154427">USB-C 기기(좌측 후면 포트)</translation> +<translation id="5352250171825660495">어두운 테마가 켜져 있습니다.</translation> <translation id="5379115545237091094">시도 횟수가 너무 많음</translation> <translation id="5397578532367286026">관리자(<ph name="MANAGER_EMAIL" />)는 chrome.com에서 해당 사용자의 사용 및 방문 기록을 검토할 수 있습니다.</translation> <translation id="5400461572260843123">빠른 설정, 검색 + 왼쪽 키를 눌러 알림 센터에 액세스하세요.</translation> @@ -434,6 +444,7 @@ <translation id="5769373120130404283">개인정보 보호 화면</translation> <translation id="5777841717266010279">화면 공유를 중단하시겠습니까?</translation> <translation id="5790085346892983794">완료</translation> +<translation id="579415080077680903">음소거</translation> <translation id="5820394555380036790">Chromium OS</translation> <translation id="5837036133683224804"><ph name="RECEIVER_NAME" />에서 <ph name="ROUTE_TITLE" /> 중지</translation> <translation id="5860033963881614850">사용 안함</translation> @@ -444,6 +455,7 @@ <translation id="5911909173233110115"><ph name="USERNAME" />(<ph name="MAIL" />)</translation> <translation id="5916664084637901428">사용</translation> <translation id="5920710855273935292">마이크가 음소거되어 있습니다.</translation> +<translation id="5946788582095584774"><ph name="FEATURE_NAME" /> 기능이 켜져 있습니다.</translation> <translation id="5947494881799873997">되돌리기</translation> <translation id="595202126637698455">성능 추적 사용 중</translation> <translation id="5957083217255311415">모바일 데이터가 사용 중지되었습니다.</translation> @@ -468,6 +480,7 @@ <translation id="615957422585914272">터치 키보드 표시</translation> <translation id="6164005077879661055">관리 대상 사용자를 제거하면 해당 관리 대상 사용자와 연결되어 있는 모든 파일 및 로컬 데이터가 영구적으로 삭제됩니다. 하지만 관리자는 관리 대상 사용자의 방문한 웹사이트 및 설정을 <ph name="MANAGEMENT_URL" /> 페이지에서 계속 볼 수 있습니다.</translation> <translation id="6165508094623778733">자세히 알아보기</translation> +<translation id="6192859646269780503">휴대전화 찾기</translation> <translation id="622484624075952240">아래</translation> <translation id="6236290670123303279">설정 관리</translation> <translation id="6237231532760393653">1X</translation> @@ -539,6 +552,7 @@ <translation id="6981982820502123353">접근성</translation> <translation id="698231206551913481">이 사용자를 제거하면 해당 사용자와 연결되어 있는 모든 파일 및 로컬 데이터가 영구적으로 삭제됩니다.</translation> <translation id="7007983414944123363">PIN 또는 비밀번호를 확인할 수 없습니다. 다시 시도하세요.</translation> +<translation id="7013005189539051442">핫스팟 사용</translation> <translation id="7015766095477679451"><ph name="COME_BACK_TIME" />에 다시 사용해 주세요.</translation> <translation id="7025533177575372252">휴대전화와 <ph name="DEVICE_NAME" /> 연결</translation> <translation id="7026338066939101231">줄이기</translation> @@ -573,6 +587,7 @@ <translation id="742594950370306541">카메라가 사용 중입니다.</translation> <translation id="742608627846767349">좋은 아침이에요</translation> <translation id="743058460480092004">카메라와 마이크가 사용 중입니다.</translation> +<translation id="7461924472993315131">고정</translation> <translation id="7466449121337984263">센서를 터치하세요.</translation> <translation id="7477793887173910789">음악, 동영상 등의 항목 제어하기</translation> <translation id="7497767806359279797">언어 및 키보드 선택</translation> @@ -611,6 +626,7 @@ <translation id="7842569679327885685">경고: 실험 기능</translation> <translation id="7846634333498149051">키보드</translation> <translation id="7868900307798234037">지문으로 잠금 해제</translation> +<translation id="7872786842639831132">꺼짐</translation> <translation id="7886169021410746335">개인정보 보호 설정 조정</translation> <translation id="7886277072580235377">로그아웃하면 인터넷 세션이 삭제됩니다. <ph name="LEARN_MORE" /></translation> <translation id="788781083998633524">이메일 보내 줘</translation> @@ -715,6 +731,7 @@ <translation id="8853703225951107899">여전히 PIN 또는 비밀번호를 확인할 수 없습니다. 참고: 최근에 비밀번호를 변경한 경우 이전 비밀번호를 사용해 보세요. 로그아웃하고 나면 새로운 비밀번호가 적용됩니다.</translation> <translation id="885387440427703469">화면 캡처가 사용 중지됨</translation> <translation id="8870509716567206129">앱이 화면 분할을 지원하지 않습니다.</translation> +<translation id="8871580645200179206">어두운 테마를 켜거나 끕니다. <ph name="STATE_TEXT" /></translation> <translation id="8874184842967597500">연결되지 않음</translation> <translation id="8877788021141246043">알림을 설정해 줘</translation> <translation id="8878886163241303700">화면 확대</translation>
diff --git a/ash/strings/ash_strings_ky.xtb b/ash/strings/ash_strings_ky.xtb index af56ebf..a45c3ea 100644 --- a/ash/strings/ash_strings_ky.xtb +++ b/ash/strings/ash_strings_ky.xtb
@@ -48,6 +48,7 @@ <translation id="1351937230027495976">Менюну жыйыштыруу</translation> <translation id="1383876407941801731">Издөө</translation> <translation id="1391102559483454063">Күйүк</translation> +<translation id="1407069428457324124">Караңгы тема</translation> <translation id="1419738280318246476">Билдирмедеги аракетти аткаруу үчүн түзмөктүн кулпусун ачыңыз</translation> <translation id="1420408895951708260">Түнкү жарыкты күйгүзүү же өчүрүү. <ph name="STATE_TEXT" /></translation> <translation id="1420527829902822813">Скриншот тартылып, алмашуу буферине сакталды</translation> @@ -65,6 +66,7 @@ <translation id="1550523713251050646">Көбүрөөк опциялар үчүн чыкылдатыңыз</translation> <translation id="1570871743947603115">Bluetooth'ду өчүрүү/күйгүзүү. <ph name="STATE_TEXT" /></translation> <translation id="1589090746204042747">Бул сеанста аткарган иш-аракеттериңизди көрөт</translation> +<translation id="1611993646327628135">Күйүк</translation> <translation id="1632985212731562677">Switch Access функциясын Жөндөөлөр > Атайын мүмкүнчүлүктөр бөлүмүнөн өчүрүүгө болот.</translation> <translation id="1654477262762802994">Айтып издеп баштоо</translation> <translation id="1667964833127753507">Нейтралдуу түс режими тушкагаздан алынган түстөрдү эмес нейтралдуу тондогу жарык жана караңгы өндөрдү колдонот.</translation> @@ -79,6 +81,7 @@ <translation id="1761222317188459878">Тармакка туташууну өчүрүү/күйгүзүү. <ph name="STATE_TEXT" /></translation> <translation id="1771761307086386028">Оңго сыдыруу</translation> <translation id="1782199038061388045">котормосу</translation> +<translation id="1787955149152357925">Өчүк</translation> <translation id="181103072419391116">Сигналдын күчү <ph name="SIGNAL_STRENGTH" />, Администраторуңуз башкарат</translation> <translation id="1812997170047690955">Экранымда эмне көрсөтүлүп турат?</translation> <translation id="1823873187264960516">Ethernet: <ph name="ADDRESS" /></translation> @@ -166,6 +169,7 @@ <translation id="2706462751667573066">Өйдө</translation> <translation id="2718395828230677721">Түнкү режим</translation> <translation id="2727977024730340865">Кубаттуулугу төмөн кубаттагычка сайылды. Батареяны кубаттоо аракети ишенимдүү эмес.</translation> +<translation id="2743387203779672305">Алмашуу буферине көчүрүү</translation> <translation id="2792498699870441125">Alt+Издөө</translation> <translation id="2819276065543622893">Сиз азыр чыгарыласыз.</translation> <translation id="2825224105325558319"><ph name="DISPLAY_NAME" /> <ph name="SPECIFIED_RESOLUTION" /> дааналыкты колдоого албайт. Дааналыгы төмөнкүгө өзгөртүлдү: <ph name="FALLBACK_RESOLUTION" />.</translation> @@ -201,6 +205,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3081696990447829002">Менюну жайып көрсөтүү</translation> <translation id="3087734570205094154">Аягы</translation> +<translation id="3090989381251959936"><ph name="FEATURE_NAME" /> функциясын өчүрүү/күйгүзүү. <ph name="STATE_TEXT" /></translation> <translation id="309749186376891736">Курсорду жылдыруу</translation> <translation id="3098580329624789136">"<ph name="QUERY" />" үчүн <ph name="INTENT" /> алуу</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth)</translation> @@ -233,6 +238,7 @@ <translation id="3371140690572404006">USB-C түзмөгү (оң жактагы маңдайкы оюкча)</translation> <translation id="3386978599540877378">толук экран режиминдеги лупа</translation> <translation id="3400357268283240774">Кошумча жөндөөлөр</translation> +<translation id="3410336247007142655">Караңгы теманын жөндөөлөрүн көрсөтүү</translation> <translation id="3413817803639110246">Азырынча бир да эскертме жок</translation> <translation id="3428447136709161042"><ph name="NETWORK_NAME" /> тармагынан ажыратуу</translation> <translation id="3430396595145920809">Артка кайтуу үчүн экраныңыздын оң четинен серпип коюңуз</translation> @@ -326,6 +332,7 @@ <translation id="4378551569595875038">Туташууда…</translation> <translation id="4379531060876907730">Булар сиздин стилус куралдарыңыз</translation> <translation id="4389184120735010762">Жалгаштырылган лупаны колдонуу үчүн тез баскычты бастыңыз. Ал күйгүзүлсүнбү?</translation> +<translation id="4412944820643904175"><ph name="FEATURE_NAME" /> өчүк.</translation> <translation id="4421231901400348175">Алыскы жардамчы аркылуу экраныңыздын көзөмөлү <ph name="HELPER_NAME" /> менен бөлүшүүдө.</translation> <translation id="4430019312045809116">Үндүн катуулугу</translation> <translation id="4450893287417543264">Экинчи көрүнбөсүн</translation> @@ -345,6 +352,7 @@ <translation id="4570957409596482333">Басып туруп угуу баскычы</translation> <translation id="4577274620589681794">Убакыт бүттү · <ph name="LABEL" /></translation> <translation id="4585337515783392668">Белгисиз алуучуга чыгарууну токтотуу</translation> +<translation id="4596144739579517758">Караңгы тема өчүк</translation> <translation id="4623167406982293031">Аккаунтту ырастоо</translation> <translation id="4628757576491864469">Түзмөктөр</translation> <translation id="4659419629803378708">ChromeVox иштетилди</translation> @@ -387,6 +395,7 @@ <translation id="5168181903108465623">Тышкы экранга чыгаруу түзмөктөрү жеткиликтүү</translation> <translation id="5170568018924773124">Куржунда көрсөтүү</translation> <translation id="5207949376430453814">Текст киргизүү учурунда курсор баса белгиленсин</translation> +<translation id="5208059991603368177">Күйүк</translation> <translation id="5222676887888702881">Чыгуу</translation> <translation id="523505283826916779">Атайын мүмкүнчүлүктөрдү жөндөө</translation> <translation id="5260676007519551770">4-иш такта</translation> @@ -398,6 +407,7 @@ <translation id="5313326810920013265">Bluetooth жөндөөлөрү</translation> <translation id="5314219114274263156">Экрандан видео жаздырылып алынды</translation> <translation id="5331975486040154427">USB-C түзмөгү (сол жактагы арткы оюкча)</translation> +<translation id="5352250171825660495">Караңгы тема күйүк</translation> <translation id="5379115545237091094">Өтө көп аракеттер аткарылды</translation> <translation id="5397578532367286026">Башкаруучу бул колдонуучунун пайдалангандарын жана таржымалын (<ph name="MANAGER_EMAIL" />) chrome.com дарегинен карап чыга алат.</translation> <translation id="5400461572260843123">Ыкчам жөндөөлөр, Билдирмелер борборуна өтүү үчүн Издөө + сол баскычты басыңыз.</translation> @@ -434,6 +444,7 @@ <translation id="5769373120130404283">Купуялык экраны</translation> <translation id="5777841717266010279">Экран бөлүшүү токтотулсунбу?</translation> <translation id="5790085346892983794">Ийгилик</translation> +<translation id="579415080077680903">Үнүн өчүрүү</translation> <translation id="5820394555380036790">Chromium OS</translation> <translation id="5837036133683224804"><ph name="RECEIVER_NAME" /> бөлмөсүндөгү <ph name="ROUTE_TITLE" /> токтотулсун</translation> <translation id="5860033963881614850">Өчүк</translation> @@ -444,6 +455,7 @@ <translation id="5911909173233110115"><ph name="USERNAME" /> (<ph name="MAIL" />)</translation> <translation id="5916664084637901428">Күйүк</translation> <translation id="5920710855273935292">Микрофондун үнү өчүрүлдү.</translation> +<translation id="5946788582095584774"><ph name="FEATURE_NAME" /> күйүк.</translation> <translation id="5947494881799873997">Кайтаруу</translation> <translation id="595202126637698455">Иштин майнаптуулугуна көз салуу аракети иштетилди</translation> <translation id="5957083217255311415">Мобилдик Интернет өчүрүлгөн.</translation> @@ -468,6 +480,7 @@ <translation id="615957422585914272">Экрандагы баскычтопту көрсөтүү</translation> <translation id="6164005077879661055">Көзөмөлдөнгөн колдонуучуга тийиштүү бардык файлдар менен жергиликтүү дайындар, көзөмөлдөнгөн колдонуучу чыгарылып салынганда биротоло жок болот. Көзөмөлдөнгөн колдонуучу кирген веб-сайттарды жана жөндөөлөрдү жетекчи бул жерден көрө алат <ph name="MANAGEMENT_URL" />.</translation> <translation id="6165508094623778733">Кошумча маалымат</translation> +<translation id="6192859646269780503">Телефондун жайгашкан жерин аныктоо</translation> <translation id="622484624075952240">Төмөн</translation> <translation id="6236290670123303279">Жөндөөлөрдү башкаруу</translation> <translation id="6237231532760393653">1X</translation> @@ -539,6 +552,7 @@ <translation id="6981982820502123353">Атайын мүмкүн-төр</translation> <translation id="698231206551913481">Колдонуучуга тийиштүү бардык файлдар менен жергиликтүү дайындар көзөмөлдөнгөн колдонуучу чыгарылып салынганда биротоло жок болот.</translation> <translation id="7007983414944123363">PIN кодуңуз же сырсөзүңүз ырасталган жок. Кайра аракет кылыңыз.</translation> +<translation id="7013005189539051442">Туташуу түйүнүн иштетүү</translation> <translation id="7015766095477679451">Саат <ph name="COME_BACK_TIME" /> болгондо кайтып келиңиз.</translation> <translation id="7025533177575372252"><ph name="DEVICE_NAME" /> түзмөгүңүздү телефонуңузга туташтырыңыз</translation> <translation id="7026338066939101231">Азайтуу</translation> @@ -573,6 +587,7 @@ <translation id="742594950370306541">Камера колдонулууда.</translation> <translation id="742608627846767349">Кутмандуу таңыңыз менен,</translation> <translation id="743058460480092004">Камера менен микрофон колдонулууда.</translation> +<translation id="7461924472993315131">Кадап коюу</translation> <translation id="7466449121337984263">Сенсорго тийиңиз, сураныч</translation> <translation id="7477793887173910789">Музыканы, видеолорду жана башкаларды көзөмөлдөңүз</translation> <translation id="7497767806359279797">Тилди жана баскычтопту тандоо</translation> @@ -611,6 +626,7 @@ <translation id="7842569679327885685">Эскертүү: Сынамык функция</translation> <translation id="7846634333498149051">Баскычтоп</translation> <translation id="7868900307798234037">Кулпу манжа изи менен ачылууда</translation> +<translation id="7872786842639831132">Өчүк</translation> <translation id="7886169021410746335">Купуялык жөндөөлөрүн тууралоо</translation> <translation id="7886277072580235377">Аккаунттан чыккандан кийин Интернет сеансына байланыштуу дайындар өчүрүлөт. <ph name="LEARN_MORE" /></translation> <translation id="788781083998633524">Электрондук кат жөнөтүү</translation> @@ -715,6 +731,7 @@ <translation id="8853703225951107899">PIN кодуңуз же сырсөзүңүз дагы эле ырасталган жок. Эскертүү: Эгер жакында сырсөзүңүздү өзгөрткөн болсоңуз, эски сырсөзүңүздү колдонуңуз. Жаңы сырсөзүңүз аккаунтуңуздан чыккандан кийин колдонулат.</translation> <translation id="885387440427703469">Экранды сүрөткө тартып алуу өчүрүлдү</translation> <translation id="8870509716567206129">Колдонмодо экран бөлүнбөйт.</translation> +<translation id="8871580645200179206">Караңгы теманы өчүрүү/күйгүзүү. <ph name="STATE_TEXT" /></translation> <translation id="8874184842967597500">Интернет жок</translation> <translation id="8877788021141246043">Эстеткич коюу</translation> <translation id="8878886163241303700">Кеңейтилген экран</translation>
diff --git a/ash/strings/ash_strings_lo.xtb b/ash/strings/ash_strings_lo.xtb index 579064e3..a6cd7da 100644 --- a/ash/strings/ash_strings_lo.xtb +++ b/ash/strings/ash_strings_lo.xtb
@@ -48,6 +48,7 @@ <translation id="1351937230027495976">ຫຍໍ້ເມນູ</translation> <translation id="1383876407941801731">ຊອກຫາ</translation> <translation id="1391102559483454063">ເປີດ</translation> +<translation id="1407069428457324124">ຮູບແບບສີສັນມືດ</translation> <translation id="1419738280318246476">ປົດລັອກອຸປະກອນເພື່ອເຮັດການດຳເນີນການແຈ້ງເຕືອນ</translation> <translation id="1420408895951708260">ປິດເປີດແສງກາງຄືນ. <ph name="STATE_TEXT" /></translation> <translation id="1420527829902822813">ຖ່າຍຮູບໜ້າຈໍ ແລະ ບັນທຶກໄວ້ໃນຄລິບບອດແລ້ວ</translation> @@ -65,6 +66,7 @@ <translation id="1550523713251050646">ຄລິກສຳລັບຕົວເລືອກເພີ່ມເຕີມ</translation> <translation id="1570871743947603115">ປິດເປີດ Bluetooth. <ph name="STATE_TEXT" /></translation> <translation id="1589090746204042747">ເຂົ້າເຖິງທຸກການເຄື່ອນໄຫວຂອງທ່ານໃນເຊດຊັນນີ້</translation> +<translation id="1611993646327628135">ເປີດ</translation> <translation id="1632985212731562677">ປິດການນຳໃຊ້ການເຂົ້າເຖິງດ້ວຍປຸ່ມກົດໄດ້ໃນການຕັ້ງຄ່າ > ການຊ່ວຍເຂົ້າເຖິງ.</translation> <translation id="1654477262762802994">ເລີ່ມຄຳຊອກຫາດ້ວຍສຽງ</translation> <translation id="1667964833127753507">ໂໝດສີປານກາງບໍ່ໃຊ້ສີທີ່ດຶງມາຈາກຮູບພື້ນຫຼັງ, ແຕ່ຈະໃຊ້ໂທນສີທີ່ແຈ້ງ ຫຼື ເຂັ້ມປານກາງແທນສີເຫຼົ່ານັ້ນ.</translation> @@ -79,6 +81,7 @@ <translation id="1761222317188459878">ປິດເປີດການເຊື່ອມຕໍ່ເຄືອຂ່າຍ. <ph name="STATE_TEXT" /></translation> <translation id="1771761307086386028">ເລື່ອນໄປຂວາ</translation> <translation id="1782199038061388045">ການແປພາສາ</translation> +<translation id="1787955149152357925">ປິດ</translation> <translation id="181103072419391116">ຄວາມແຮງສັນຍານ <ph name="SIGNAL_STRENGTH" />, ຈັດການໂດຍຜູ້ເບິ່ງແຍງລະບົບຂອງທ່ານ</translation> <translation id="1812997170047690955">ມີຫຍັງຢູ່ໃນໜ້າຈໍຂອງຂ້ອຍ?</translation> <translation id="1823873187264960516">ອີເທີເນັດ: <ph name="ADDRESS" /></translation> @@ -166,6 +169,7 @@ <translation id="2706462751667573066">ຂຶ້ນ</translation> <translation id="2718395828230677721">ແສງກາງຄືນ</translation> <translation id="2727977024730340865">ສຽບໃສ່ເຄື່ອງສາກໄຟຕໍ່າແລ້ວ. ການສາກແບັດເຕີຣີອາດຈະບໍ່ເຊື່ອຖືໄດ້.</translation> +<translation id="2743387203779672305">ກັອບປີ້ໄປໃສ່ຄລິບບອດ</translation> <translation id="2792498699870441125">Alt+ຊອກຫາ</translation> <translation id="2819276065543622893">ທ່ານຈະຖືກອອກຈາກລະບົບດຽວນີ້.</translation> <translation id="2825224105325558319"><ph name="DISPLAY_NAME" /> ບໍ່ຮອງຮັບ <ph name="SPECIFIED_RESOLUTION" />. ຄວາມລະອຽດຖືກປ່ຽນເປັນ <ph name="FALLBACK_RESOLUTION" /> ແລ້ວ.</translation> @@ -201,6 +205,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3081696990447829002">ຂະຫຍາຍເມນູ</translation> <translation id="3087734570205094154">ດ້ານລຸ່ມ</translation> +<translation id="3090989381251959936">ສະຫຼັບ <ph name="FEATURE_NAME" />. <ph name="STATE_TEXT" /></translation> <translation id="309749186376891736">ຍ້າຍເຄີເຊີ</translation> <translation id="3098580329624789136">ຮັບ <ph name="INTENT" /> ສຳລັບ "<ph name="QUERY" />"</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth)</translation> @@ -233,6 +238,7 @@ <translation id="3371140690572404006">ອຸປະກອນ USB-C (ຊ່ອງທາງໜ້າເບື້ອງຂວາ)</translation> <translation id="3386978599540877378">ແວ່ນຂະຫຍາຍແບບເຕັມຈໍ</translation> <translation id="3400357268283240774">ການຕັ້ງຄ່າເພີ່ມເຕີມ</translation> +<translation id="3410336247007142655">ສະແດງການຕັ້ງຄ່າຮູບແບບສີສັນມືດ</translation> <translation id="3413817803639110246">ຍັງບໍ່ທັນມີຫຍັງໃຫ້ເບິ່ງເທື່ອ</translation> <translation id="3428447136709161042">ຕັດການເຊື່ອມຕໍ່ຈາກ <ph name="NETWORK_NAME" /></translation> <translation id="3430396595145920809">ປັດຈາກຂວາເພື່ອກັບຄືນ</translation> @@ -326,6 +332,7 @@ <translation id="4378551569595875038">ກໍາລັງເຊື່ອມຕໍ່ ...</translation> <translation id="4379531060876907730">ສິ່ງເຫຼົ່ານີ້ແມ່ນເຄື່ອງມືປາກກາຂອງທ່ານ</translation> <translation id="4389184120735010762">ທ່ານໄດ້ກົດປຸ່ມລັດແປ້ນພິມສຳລັບແວ່ນຂະຫຍາຍທີ່ຕັ້ງໄວ້ແລ້ວ. ທ່ານຕ້ອງການເປີດມັນບໍ?</translation> +<translation id="4412944820643904175"><ph name="FEATURE_NAME" /> ປິດຢູ່.</translation> <translation id="4421231901400348175">ການແບ່ງປັນການຄວບຄຸມໜ້າຈໍຂອງທ່ານກັບ <ph name="HELPER_NAME" /> ຜ່ານຕົວຊ່ວຍທາງໄກ.</translation> <translation id="4430019312045809116">ລະດັບສຽງ</translation> <translation id="4450893287417543264">ຢ່າສະແດງອີກ</translation> @@ -345,6 +352,7 @@ <translation id="4570957409596482333">ປຸ່ມເລືອກເພື່ອເວົ້າ</translation> <translation id="4577274620589681794">ໝົດເວລາແລ້ວ · <ph name="LABEL" /></translation> <translation id="4585337515783392668">ຢຸດການສົ່ງສັນຍານໃນເຄື່ອງຮັບທີ່ບໍ່ຮູ້ຈັກ</translation> +<translation id="4596144739579517758">ຮູບແບບສີສັນມືດປິດຢູ່</translation> <translation id="4623167406982293031">ຢັ້ງຢືນບັນຊີ</translation> <translation id="4628757576491864469">ອຸປະກອນ</translation> <translation id="4659419629803378708">ເປີດນຳໃຊ້ ChromeVox ແລ້ວ</translation> @@ -387,6 +395,7 @@ <translation id="5168181903108465623">ອຸປະກອນຄາສທ໌ທີ່ມີໃຫ້</translation> <translation id="5170568018924773124">ສະແດງຢູ່ໃນໂຟລເດີ</translation> <translation id="5207949376430453814">ໝາຍເຄື່ອງໝາຍກຸບຂໍ້ຄວາມ</translation> +<translation id="5208059991603368177">ເປີດ</translation> <translation id="5222676887888702881">ອອກຈາກລະບົບ</translation> <translation id="523505283826916779">ການຕັ້ງຄ່າການເຂົ້າເຖິງ</translation> <translation id="5260676007519551770">ໂຕະ 4</translation> @@ -398,6 +407,7 @@ <translation id="5313326810920013265">ຕັ້ງຄ່າ Bluetooth</translation> <translation id="5314219114274263156">ເຮັດການບັນທຶກໜ້າຈໍແລ້ວ</translation> <translation id="5331975486040154427">ອຸປະກອນ USB-C (ຜອດດ້ານຫຼັງເບື້ອງຊ້າຍ)</translation> +<translation id="5352250171825660495">ຮູບແບບສີສັນມືດເປີດຢູ່</translation> <translation id="5379115545237091094">ພະຍາຍາມຫຼາຍເທື່ອເກີນໄປ</translation> <translation id="5397578532367286026">ສາມາດທົບທວນເບິ່ງການໃຊ້ ແລະປະຫວັດຂອງຜູ້ໃຊ້ຄົນນີ້ໄດ້ດ້ວຍຕົວຈັດການ (<ph name="MANAGER_EMAIL" />) ຢູ່ທີ່ chrome.com.</translation> <translation id="5400461572260843123">ການຕັ້ງຄ່າດ່ວນ, ກົດຊອກຫາ + ລູກສອນຊ້າຍເພື່ອເຂົ້າເຖິງສູນການແຈ້ງເຕືອນ.</translation> @@ -434,6 +444,7 @@ <translation id="5769373120130404283">ໜ້າຈໍຄວາມເປັນສ່ວນຕົວ</translation> <translation id="5777841717266010279">ຢຸດການແຊຣ໌ຫນ້າຈໍບໍ?</translation> <translation id="5790085346892983794">ສໍາເລັດ</translation> +<translation id="579415080077680903">ປິດສຽງ</translation> <translation id="5820394555380036790">Chromium OS</translation> <translation id="5837036133683224804">ຢຸດ <ph name="ROUTE_TITLE" /> ໃນ <ph name="RECEIVER_NAME" /></translation> <translation id="5860033963881614850">ປິດ</translation> @@ -444,6 +455,7 @@ <translation id="5911909173233110115"><ph name="USERNAME" /> (<ph name="MAIL" />)</translation> <translation id="5916664084637901428">ເປີດ</translation> <translation id="5920710855273935292">ໄມປິດສຽງຢູ່.</translation> +<translation id="5946788582095584774"><ph name="FEATURE_NAME" /> ເປີດຢູ່.</translation> <translation id="5947494881799873997">ກັບຄືນ</translation> <translation id="595202126637698455">ການຕິດຕາມການປະຕິບັດເປີດໃຊ້ງານແລ້ວ</translation> <translation id="5957083217255311415">ຂໍ້ມູນມືຖືປິດຢູ່.</translation> @@ -468,6 +480,7 @@ <translation id="615957422585914272">ສະແດງຄີບອດເທິງຫນ້າຈໍ</translation> <translation id="6164005077879661055">ໄຟລ໌ ແລະຂໍ້ມູນກັບທີ່ທັງໝົດກ່ຽວຂ້ອງກັບຜູ້ໃຊ້ທີ່ມີການຄວບຄຸມດູແລຈະຖືກລຶບຖາວອນ ເມື່ອເອົາຜູ້ໃຊ້ທີ່ມີການຄວບຄຸມດູແລອອກໄປ. ຕົວຈັດການອາດຈະຍັງເຫັນເວັບໄຊທ໌ທີ່ເຂົ້າໄປເບິ່ງ ແລະການຕັ້ງຄ່າສໍາລັບຜູ້ໃຊ້ທີ່ມີການຄວບຄຸມດູແລໄດ້ຢູ່ທີ່ <ph name="MANAGEMENT_URL" />.</translation> <translation id="6165508094623778733">ສຶກສາເພີ່ມເຕີມ</translation> +<translation id="6192859646269780503">ຊອກຫາໂທລະສັບ</translation> <translation id="622484624075952240">ລົງ</translation> <translation id="6236290670123303279">ຈັດການການຕັ້ງຄ່າ</translation> <translation id="6237231532760393653">1X</translation> @@ -539,6 +552,7 @@ <translation id="6981982820502123353">ການເຂົ້າເຖິງໄດ້</translation> <translation id="698231206551913481">ທຸກໄຟລ໌ ແລະ ຂໍ້ມູນພາຍໃນເຄື່ອງທີ່ເຊື່ອມໂຍງກັບຜູ້ໃຊ້ນີ້ຈະຖືກລຶບອອກໂດຍຖາວອນເມື່ອລຶບຜູ້ໃຊ້ນີ້ອອກ.</translation> <translation id="7007983414944123363">ບໍ່ສາມາດຢັ້ງຢືນ PIN ຫຼື ລະຫັດຜ່ານຂອງທ່ານໄດ້. ກະລຸນາລອງໃໝ່ອີກ.</translation> +<translation id="7013005189539051442">ເປີດການນຳໃຊ້ຮັອດສະປອດ</translation> <translation id="7015766095477679451">ກັບຄືນມາໃນເວລາ <ph name="COME_BACK_TIME" />.</translation> <translation id="7025533177575372252">ເຊື່ອມຕໍ່ <ph name="DEVICE_NAME" /> ຂອງທ່ານກັບໂທລະສັບຂອງທ່ານ</translation> <translation id="7026338066939101231">ການຫຼຸດລົງ</translation> @@ -573,6 +587,7 @@ <translation id="742594950370306541">ກ້ອງຖ່າຍຮູບໃຊ້ງານຢູ່.</translation> <translation id="742608627846767349">ສະບາຍດີຕອນເຊົ້າ,</translation> <translation id="743058460480092004">ກ້ອງຖ່າຍຮູບ ແລະໄມໂຄຣໂຟນໃຊ້ງານຢູ່.</translation> +<translation id="7461924472993315131">ປັກໝຸດ</translation> <translation id="7466449121337984263">ກະລຸນາແຕະເຊັນເຊີ</translation> <translation id="7477793887173910789">ຄວບຄຸມເພງ, ວິດີໂອຂອງທ່ານ ແລະ ອື່ນໆອີກ</translation> <translation id="7497767806359279797">ເລືອກພາສາ ແລະ ແປ້ນພິມ</translation> @@ -611,6 +626,7 @@ <translation id="7842569679327885685">ຄຳເຕືອນ: ຄຸນສົມບັດທົດລອງ</translation> <translation id="7846634333498149051">ແປ້ນພິມ</translation> <translation id="7868900307798234037">ກຳລັງປົດລັອກດ້ວຍລາຍນິ້ວມື</translation> +<translation id="7872786842639831132">ປິດ</translation> <translation id="7886169021410746335">ປັບການຕັ້ງຄ່າຄວາມເປັນສ່ວນຕົວ</translation> <translation id="7886277072580235377">ເຊດຊັນອິນເຕີເນັດຂອງທ່ານຈະຖືກລຶບລ້າງເມື່ອທ່ານອອກຈາກລະບົບ. <ph name="LEARN_MORE" /></translation> <translation id="788781083998633524">ສົ່ງອີເມວ</translation> @@ -715,6 +731,7 @@ <translation id="8853703225951107899">ຍັງບໍ່ສາມາດຢັ້ງຢືນ PIN ຫຼື ລະຫັດຜ່ານຂອງທ່ານໄດ້. ໝາຍເຫດ: ຖ້າທ່ານໄດ້ປ່ຽນລະຫັດຜ່ານຂອງທ່ານເມື່ອບໍ່ດົນມານີ້, ກະລຸນາໃຊ້ລະຫັດຜ່ານເກົ່າຂອງທ່ານ. ຈະມີການນຳໃຊ້ລະຫັດຜ່ານໃໝ່ຂອງທ່ານເມື່ອທ່ານອອກຈາກລະບົບແລ້ວ.</translation> <translation id="885387440427703469">ປິດການນຳໃຊ້ການບັນທຶກພາບໜ້າຈໍແລ້ວ</translation> <translation id="8870509716567206129">ແອັບບໍ່ຮອງຮັບໜ້າຈໍແບບແຍກກັນ.</translation> +<translation id="8871580645200179206">ສະຫຼັບຮູບແບບສີສັນມືດ. <ph name="STATE_TEXT" /></translation> <translation id="8874184842967597500">ບໍ່ໄດ້ເຊື່ອມຕໍ່</translation> <translation id="8877788021141246043">ຕັ້ງຄ່າການແຈ້ງເຕືອນ</translation> <translation id="8878886163241303700">ກໍາລັງຂະຫຍາຍຫນ້າຈໍ</translation>
diff --git a/ash/strings/ash_strings_lt.xtb b/ash/strings/ash_strings_lt.xtb index 0c2fa4a..9398785 100644 --- a/ash/strings/ash_strings_lt.xtb +++ b/ash/strings/ash_strings_lt.xtb
@@ -169,6 +169,7 @@ <translation id="2706462751667573066">Aukštyn</translation> <translation id="2718395828230677721">Nakties šviesa</translation> <translation id="2727977024730340865">Prijungtas mažos galios įkroviklis. Akumuliatoriaus įkrovimas gali būti nepatikimas.</translation> +<translation id="2743387203779672305">Kopijuoti į iškarpinę</translation> <translation id="2792498699870441125">„Alt“ + paieškos klavišas</translation> <translation id="2819276065543622893">Būsite atjungti.</translation> <translation id="2825224105325558319">„<ph name="DISPLAY_NAME" />“ nepalaiko <ph name="SPECIFIED_RESOLUTION" />. Skyra buvo pakeista į <ph name="FALLBACK_RESOLUTION" />.</translation> @@ -586,6 +587,7 @@ <translation id="742594950370306541">Kamera naudojama.</translation> <translation id="742608627846767349">Labas rytas,</translation> <translation id="743058460480092004">Kamera ir mikrofonas naudojami.</translation> +<translation id="7461924472993315131">Prisegti</translation> <translation id="7466449121337984263">Palieskite jutiklį</translation> <translation id="7477793887173910789">Valdykite savo muziką, vaizdo įrašus ir žaidimus</translation> <translation id="7497767806359279797">Pasirinkti kalbą ir klaviatūros išdėstymą</translation>
diff --git a/ash/strings/ash_strings_lv.xtb b/ash/strings/ash_strings_lv.xtb index 061dcc8..715bdc8c 100644 --- a/ash/strings/ash_strings_lv.xtb +++ b/ash/strings/ash_strings_lv.xtb
@@ -48,6 +48,7 @@ <translation id="1351937230027495976">Sakļaut izvēlni</translation> <translation id="1383876407941801731">Meklēt</translation> <translation id="1391102559483454063">Ieslēgta</translation> +<translation id="1407069428457324124">Tumšais motīvs</translation> <translation id="1419738280318246476">Atbloķējiet ierīci, lai veiktu paziņojuma darbību</translation> <translation id="1420408895951708260">Pārslēgt nakts režīmu. <ph name="STATE_TEXT" /></translation> <translation id="1420527829902822813">Ekrānuzņēmums ir uzņemts un saglabāts starpliktuvē</translation> @@ -65,6 +66,7 @@ <translation id="1550523713251050646">Noklikšķiniet, lai skatītu citas iespējas.</translation> <translation id="1570871743947603115">Pārslēgt Bluetooth. <ph name="STATE_TEXT" /></translation> <translation id="1589090746204042747">Piekļūt visām jūsu darbībām šīs sesijas laikā</translation> +<translation id="1611993646327628135">Ieslēgts</translation> <translation id="1632985212731562677">Slēdžu piekļuvi var atspējot sadaļā Iestatījumi > Pieejamība.</translation> <translation id="1654477262762802994">Sākt balss vaicājumu</translation> <translation id="1667964833127753507">Neitrālo krāsu režīmā netiek izmantotas no fona tapetes iegūtās krāsas — to vietā tiek lietotas neitrālu toņu gaišas vai tumšas nokrāsas.</translation> @@ -79,6 +81,7 @@ <translation id="1761222317188459878">Pārslēgt tīkla savienojumu. <ph name="STATE_TEXT" /></translation> <translation id="1771761307086386028">Ritināt pa labi</translation> <translation id="1782199038061388045">tulkojumu</translation> +<translation id="1787955149152357925">Izslēgts</translation> <translation id="181103072419391116">Signāla stiprums: <ph name="SIGNAL_STRENGTH" />, pārvalda jūsu administrators</translation> <translation id="1812997170047690955">Kas ir redzams ekrānā?</translation> <translation id="1823873187264960516">Ethernet adrese: <ph name="ADDRESS" /></translation> @@ -166,6 +169,7 @@ <translation id="2706462751667573066">Augšup</translation> <translation id="2718395828230677721">Nakts režīms</translation> <translation id="2727977024730340865">Pievienots lādētājs ar mazu strāvas padevi. Akumulatora uzlāde var nebūt uzticama.</translation> +<translation id="2743387203779672305">Kopēt starpliktuvē</translation> <translation id="2792498699870441125">Alt+Meklēt</translation> <translation id="2819276065543622893">Jūs tagad tiksiet izrakstīts.</translation> <translation id="2825224105325558319">Displejā <ph name="DISPLAY_NAME" /> netiek atbalstīta izšķirtspēja <ph name="SPECIFIED_RESOLUTION" />. Izšķirtspēja tika nomainīta uz: <ph name="FALLBACK_RESOLUTION" />.</translation> @@ -201,6 +205,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3081696990447829002">Izvērst izvēlni</translation> <translation id="3087734570205094154">Apakšā</translation> +<translation id="3090989381251959936">Pārslēgt funkciju <ph name="FEATURE_NAME" />. <ph name="STATE_TEXT" /></translation> <translation id="309749186376891736">Kursora pārvietošana</translation> <translation id="3098580329624789136">Varat skatīt “<ph name="QUERY" />” <ph name="INTENT" /></translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth)</translation> @@ -233,6 +238,7 @@ <translation id="3371140690572404006">USB-C ierīce (pieslēgvieta labajā pusē priekšā)</translation> <translation id="3386978599540877378">pilnekrāna režīma lupa</translation> <translation id="3400357268283240774">Papildu iestatījumi</translation> +<translation id="3410336247007142655">Rādīt tumšā motīva iestatījumus</translation> <translation id="3413817803639110246">Vēl nekas netiek rādīts</translation> <translation id="3428447136709161042">Pārtraukt savienojumu ar tīklu <ph name="NETWORK_NAME" /></translation> <translation id="3430396595145920809">Lai atgrieztos, velciet no labās malas</translation> @@ -326,6 +332,7 @@ <translation id="4378551569595875038">Pievienojas...</translation> <translation id="4379531060876907730">Šie ir jūsu skārienekrāna pildspalvas rīki</translation> <translation id="4389184120735010762">Jūs nospiedāt dokotās lupas īsinājumtaustiņu. Vai vēlaties to ieslēgt?</translation> +<translation id="4412944820643904175">Funkcija <ph name="FEATURE_NAME" /> ir izslēgta.</translation> <translation id="4421231901400348175">Ekrāna pārvaldības koplietošana ar <ph name="HELPER_NAME" />, izmantojot attālo palīdzību.</translation> <translation id="4430019312045809116">Skaļums</translation> <translation id="4450893287417543264">Vairs nerādīt</translation> @@ -345,6 +352,7 @@ <translation id="4570957409596482333">Poga “Atlasīt, lai izrunātu”</translation> <translation id="4577274620589681794">Laiks ir beidzies! · <ph name="LABEL" /></translation> <translation id="4585337515783392668">Pārtraukt apraidi nezināmā uztvērējā</translation> +<translation id="4596144739579517758">Tumšais motīvs ir izslēgts.</translation> <translation id="4623167406982293031">Verificēt kontu</translation> <translation id="4628757576491864469">Ierīces</translation> <translation id="4659419629803378708">ChromeVox iespējots</translation> @@ -387,6 +395,7 @@ <translation id="5168181903108465623">Pieejamas apraides ierīces</translation> <translation id="5170568018924773124">Rādīt mapē</translation> <translation id="5207949376430453814">Izcelt teksta ievietošanas punktu</translation> +<translation id="5208059991603368177">Ieslēgts</translation> <translation id="5222676887888702881">Izrakstīties</translation> <translation id="523505283826916779">Pieejamības iestatījumi</translation> <translation id="5260676007519551770">4. galds</translation> @@ -398,6 +407,7 @@ <translation id="5313326810920013265">Bluetooth iestatījumi</translation> <translation id="5314219114274263156">Ekrāna ieraksts uzņemts</translation> <translation id="5331975486040154427">USB-C ierīce (pieslēgvieta kreisajā pusē aizmugurē)</translation> +<translation id="5352250171825660495">Tumšais motīvs ir ieslēgts.</translation> <translation id="5379115545237091094">Pārāk daudz mēģinājumu</translation> <translation id="5397578532367286026">Šī lietotāja datu lietojumu un vēsturi var pārvaldīt pārzinis (<ph name="MANAGER_EMAIL" />) vietnē chrome.com.</translation> <translation id="5400461572260843123">Ātrie iestatījumi: vienlaikus nospiediet meklēšanas taustiņu un kreiso bulttaustiņu, lai atvērtu paziņojumu centru.</translation> @@ -434,6 +444,7 @@ <translation id="5769373120130404283">Konfidencialitātes ekrāns</translation> <translation id="5777841717266010279">Vai apturēt ekrāna koplietošanu?</translation> <translation id="5790085346892983794">Veiksmīgi pabeigts</translation> +<translation id="579415080077680903">Klusums</translation> <translation id="5820394555380036790">Chromium OS</translation> <translation id="5837036133683224804">Pārtraukt “<ph name="ROUTE_TITLE" />” apraidi ierīcē “<ph name="RECEIVER_NAME" />”</translation> <translation id="5860033963881614850">Izsl.</translation> @@ -444,6 +455,7 @@ <translation id="5911909173233110115"><ph name="USERNAME" /> (<ph name="MAIL" />)</translation> <translation id="5916664084637901428">Iesl.</translation> <translation id="5920710855273935292">Mikrofons ir izslēgts.</translation> +<translation id="5946788582095584774">Funkcija <ph name="FEATURE_NAME" /> ir ieslēgta.</translation> <translation id="5947494881799873997">Atjaunot</translation> <translation id="595202126637698455">Veiktspējas izsekošana ir iespējota</translation> <translation id="5957083217255311415">Mobilie dati ir izslēgti.</translation> @@ -468,6 +480,7 @@ <translation id="615957422585914272">Rādīt ekrāna tastatūru</translation> <translation id="6164005077879661055">Visi faili un lokālie dati, kas ir saistīti ar uzraudzīto lietotāju, tiks neatgriezeniski dzēsti, tiklīdz uzraudzītais lietotājs tiks noņemts. Iespējams, pārzinis joprojām varēs skatīt šī uzraudzītā lietotāja apmeklētās vietnes un iestatījumus (vietnē <ph name="MANAGEMENT_URL" />).</translation> <translation id="6165508094623778733">Uzzināt vairāk</translation> +<translation id="6192859646269780503">Atrast tālruni</translation> <translation id="622484624075952240">Lejup</translation> <translation id="6236290670123303279">Pārvaldīt iestatījumus</translation> <translation id="6237231532760393653">1X</translation> @@ -539,6 +552,7 @@ <translation id="6981982820502123353">Pieejamība</translation> <translation id="698231206551913481">Visi faili un lokālie dati, kas ir saistīti ar šo lietotāju, tiks neatgriezeniski dzēsti, tiklīdz šis lietotājs tiks noņemts.</translation> <translation id="7007983414944123363">Nevarēja verificēt jūsu PIN vai paroli. Mēģiniet vēlreiz.</translation> +<translation id="7013005189539051442">Iespējot tīklāju</translation> <translation id="7015766095477679451">Atgriezieties plkst. <ph name="COME_BACK_TIME" />.</translation> <translation id="7025533177575372252">Savienojiet ierīci <ph name="DEVICE_NAME" /> ar tālruni</translation> <translation id="7026338066939101231">Samazināt</translation> @@ -573,6 +587,7 @@ <translation id="742594950370306541">Kamera tiek lietota.</translation> <translation id="742608627846767349">Labrīt!</translation> <translation id="743058460480092004">Kamera un mikrofons tiek lietoti.</translation> +<translation id="7461924472993315131">Piespraust</translation> <translation id="7466449121337984263">Lūdzu, pieskarieties sensoram.</translation> <translation id="7477793887173910789">Pārvaldiet savu mūziku, videoklipus un citu saturu</translation> <translation id="7497767806359279797">Izvēlēties valodu un tastatūru</translation> @@ -611,6 +626,7 @@ <translation id="7842569679327885685">Brīdinājums: šī ir eksperimentāla funkcija!</translation> <translation id="7846634333498149051">Tastatūra</translation> <translation id="7868900307798234037">Notiek atbloķēšana ar pirksta nospiedumu</translation> +<translation id="7872786842639831132">Izslēgts</translation> <translation id="7886169021410746335">Pielāgot konfidencialitātes iestatījumus</translation> <translation id="7886277072580235377">Pēc izrakstīšanās jūsu interneta sesija tiks notīrīta. <ph name="LEARN_MORE" /></translation> <translation id="788781083998633524">Sūtīt e-pasta ziņojumu</translation> @@ -715,6 +731,7 @@ <translation id="8853703225951107899">Joprojām nevarēja verificēt jūsu PIN vai paroli. Piezīme. Ja nesen mainījāt paroli, izmantojiet iepriekšējo paroli. Jaunā parole tiks lietota pēc izrakstīšanās.</translation> <translation id="885387440427703469">Ekrānuzņēmumu izveide ir atspējota</translation> <translation id="8870509716567206129">Lietotnē netiek atbalstīta ekrāna sadalīšana.</translation> +<translation id="8871580645200179206">Pārslēgt tumšo motīvu. <ph name="STATE_TEXT" /></translation> <translation id="8874184842967597500">Savienojums nav izveidots</translation> <translation id="8877788021141246043">Iestatīt atgādinājumu</translation> <translation id="8878886163241303700">Notiek ekrāna izvēršana</translation>
diff --git a/ash/strings/ash_strings_mk.xtb b/ash/strings/ash_strings_mk.xtb index 28fb1ed6..94206654 100644 --- a/ash/strings/ash_strings_mk.xtb +++ b/ash/strings/ash_strings_mk.xtb
@@ -169,6 +169,7 @@ <translation id="2706462751667573066">Нагоре</translation> <translation id="2718395828230677721">Ноќно светло</translation> <translation id="2727977024730340865">Приклучен на полнач со мало напојување. Полнењето на батеријата може да не е веродостојно.</translation> +<translation id="2743387203779672305">Копирај на клип-табла</translation> <translation id="2792498699870441125">Alt+Search</translation> <translation id="2819276065543622893">Сега ќе бидете одјавени.</translation> <translation id="2825224105325558319"><ph name="DISPLAY_NAME" /> не поддржува <ph name="SPECIFIED_RESOLUTION" />. Резолуцијата е сменета во <ph name="FALLBACK_RESOLUTION" />.</translation> @@ -587,6 +588,7 @@ <translation id="742594950370306541">Фотоапаратот е во употреба.</translation> <translation id="742608627846767349">Добро утро,</translation> <translation id="743058460480092004">Се користат фотоапаратот и микрофонот.</translation> +<translation id="7461924472993315131">Прикачи</translation> <translation id="7466449121337984263">Допрете го сензорот</translation> <translation id="7477793887173910789">Контролирајте ја музиката, видеата и др.</translation> <translation id="7497767806359279797">Изберете јазик и тастатура</translation>
diff --git a/ash/strings/ash_strings_ml.xtb b/ash/strings/ash_strings_ml.xtb index 1248233..3b58129 100644 --- a/ash/strings/ash_strings_ml.xtb +++ b/ash/strings/ash_strings_ml.xtb
@@ -169,6 +169,7 @@ <translation id="2706462751667573066">മുകളിലേക്കുള്ള കീ</translation> <translation id="2718395828230677721">നൈറ്റ് ലൈറ്റ്</translation> <translation id="2727977024730340865">കുറഞ്ഞ തോതിൽ വൈദ്യുതി പ്രവഹിക്കുന്ന ചാർജ്ജറിലേക്ക് പ്ലഗ് ചെയ്തിരിക്കുന്നു. ബാറ്ററി ചാർജുചെയ്യൽ വിശ്വസനീയമാകണമെന്നില്ല.</translation> +<translation id="2743387203779672305">ക്ലിപ്പ്ബോർഡിലേക്ക് പകർത്തുക</translation> <translation id="2792498699870441125">Alt+തിരയൽ</translation> <translation id="2819276065543622893">നിങ്ങൾ ഇപ്പോൾ സൈൻ ഔട്ട് ചെയ്യും.</translation> <translation id="2825224105325558319"><ph name="DISPLAY_NAME" />, <ph name="SPECIFIED_RESOLUTION" /> എന്നതിനെ പിന്തുണയ്ക്കുന്നില്ല. റെസല്യൂഷൻ <ph name="FALLBACK_RESOLUTION" /> എന്നതിലേക്ക് മാറ്റി.</translation> @@ -586,6 +587,7 @@ <translation id="742594950370306541">ക്യാമറ ഉപയോഗത്തിലാണ്.</translation> <translation id="742608627846767349">ഗുഡ്മോണിംഗ്,</translation> <translation id="743058460480092004">ക്യാമറയും മൈക്രോഫോണും ഉപയോഗത്തിലാണ്.</translation> +<translation id="7461924472993315131">പിൻ ചെയ്യുക</translation> <translation id="7466449121337984263">സെൻസറിൽ സ്പർശിക്കുക</translation> <translation id="7477793887173910789">നിങ്ങളുടെ സംഗീതവും വീഡിയോകളും മറ്റും നിയന്ത്രിക്കുക</translation> <translation id="7497767806359279797">ഭാഷയും കീബോഡും തിരഞ്ഞെടുക്കുക</translation>
diff --git a/ash/strings/ash_strings_mn.xtb b/ash/strings/ash_strings_mn.xtb index b80b04a..b725d1d 100644 --- a/ash/strings/ash_strings_mn.xtb +++ b/ash/strings/ash_strings_mn.xtb
@@ -48,6 +48,7 @@ <translation id="1351937230027495976">Цэсийг буулгах</translation> <translation id="1383876407941801731">Хайлт</translation> <translation id="1391102559483454063">Асаалттай</translation> +<translation id="1407069428457324124">Бараан загвар</translation> <translation id="1419738280318246476">Мэдэгдлийн үйлдлийг гүйцэтгэхийн тулд төхөөрөмжийн түгжээг тайлна уу</translation> <translation id="1420408895951708260">Шөнийн гэрлийг унтраах/асаах. <ph name="STATE_TEXT" /></translation> <translation id="1420527829902822813">Дэлгэцийн агшны зургийг авч түр санах ойд хадгаллаа</translation> @@ -65,6 +66,7 @@ <translation id="1550523713251050646">Бусад сонголтыг харахын тулд дарах</translation> <translation id="1570871743947603115">Bluetooth-г унтрааж/асаана уу. <ph name="STATE_TEXT" /></translation> <translation id="1589090746204042747">Энэ харилцан үйлдлийн бүх үйл ажиллагаандаа хандах</translation> +<translation id="1611993646327628135">Асаалттай</translation> <translation id="1632985212731562677">Сэлгүүрийг Тохиргоо > Хандалт хэсэгт идэвхгүй болгох боломжтой.</translation> <translation id="1654477262762802994">Дуут асуулга эхлүүлэх</translation> <translation id="1667964833127753507">Завсрын өнгөний горим нь ханын зургаас гаргаж авсан өнгийг ашигладаггүй тул завсрын цайвар эсвэл бараан өнгөөр орлуулдаг.</translation> @@ -79,6 +81,7 @@ <translation id="1761222317188459878">Сүлжээний холболтыг унтрааж/асаана уу. <ph name="STATE_TEXT" /></translation> <translation id="1771761307086386028">Баруун тийш гүйлгэх</translation> <translation id="1782199038061388045">орчуулга</translation> +<translation id="1787955149152357925">Унтраалттай</translation> <translation id="181103072419391116">Дохионы хүч <ph name="SIGNAL_STRENGTH" />, таны администратор удирддаг</translation> <translation id="1812997170047690955">Миний дэлгэцэд юу байна вэ?</translation> <translation id="1823873187264960516">Этернет: <ph name="ADDRESS" /></translation> @@ -166,6 +169,7 @@ <translation id="2706462751667573066">Дээш</translation> <translation id="2718395828230677721">Шөнийн гэрэл</translation> <translation id="2727977024730340865">Бага энергитэй цэнэглэгч залгасан байна. Тэжээлийг цэнэглэхгүй байж болох юм.</translation> +<translation id="2743387203779672305">Завсрын түр санах самбар луу хуулах</translation> <translation id="2792498699870441125">Alt+ Хайлт</translation> <translation id="2819276065543622893">Та нэвтрэх хэсгээс яг одоо гарч байна.</translation> <translation id="2825224105325558319"><ph name="DISPLAY_NAME" /> <ph name="SPECIFIED_RESOLUTION" />-г дэмждэггүй. Нягтралыг <ph name="FALLBACK_RESOLUTION" /> болгож өөрчилсөн.</translation> @@ -201,6 +205,7 @@ <translation id="3077734595579995578">Шилжүүлэх</translation> <translation id="3081696990447829002">Цэсийг дэлгэх</translation> <translation id="3087734570205094154">Доод</translation> +<translation id="3090989381251959936"><ph name="FEATURE_NAME" />-г унтраах/асаах. <ph name="STATE_TEXT" /></translation> <translation id="309749186376891736">Курсорыг зөөх</translation> <translation id="3098580329624789136">"<ph name="QUERY" />"-н <ph name="INTENT" />-г авах</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth)</translation> @@ -233,6 +238,7 @@ <translation id="3371140690572404006">USB-C төхөөрөмж (урд талын портын баруун тал)</translation> <translation id="3386978599540877378">бүтэн дэлгэцийн томруулагч</translation> <translation id="3400357268283240774">Нэмэлт тохиргоо</translation> +<translation id="3410336247007142655">Бараан загварын тохиргоог харуулах</translation> <translation id="3413817803639110246">Одоогоор мэдэгдэл алга</translation> <translation id="3428447136709161042"><ph name="NETWORK_NAME" />-с салгах</translation> <translation id="3430396595145920809">Буцахын тулд баруун талаас шударна уу</translation> @@ -327,6 +333,7 @@ <translation id="4378551569595875038">Холбож байна...</translation> <translation id="4379531060876907730">Эдгээр нь таны мэдрэгч үзэгний хэрэгслүүд юм</translation> <translation id="4389184120735010762">Та суурилуулсан томруулагчийн товчлуурын шууд холбоосыг дарсан байна. Үүнийг асаах уу?</translation> +<translation id="4412944820643904175"><ph name="FEATURE_NAME" /> унтраалттай байна.</translation> <translation id="4421231901400348175">Remote Assistance ашиглан <ph name="HELPER_NAME" /> -тэй хамт өөрийн дэлгэцийн хяналтыг хуваалцах.</translation> <translation id="4430019312045809116">Хэмжээ</translation> <translation id="4450893287417543264">Дахиж бүү харуул</translation> @@ -346,6 +353,7 @@ <translation id="4570957409596482333">Ярихаар сонгох товчлуур</translation> <translation id="4577274620589681794">Цаг дууслаа · <ph name="LABEL" /></translation> <translation id="4585337515783392668">Үл мэдэгдэх хүлээн авагч руу дамжуулахаа зогсоох</translation> +<translation id="4596144739579517758">Бараан загвар унтраалттай байна</translation> <translation id="4623167406982293031">Бүртгэлийг бататгах</translation> <translation id="4628757576491864469">Төхөөрөмжүүд</translation> <translation id="4659419629803378708">ChromeVox-г идэвхжүүлсэн</translation> @@ -388,6 +396,7 @@ <translation id="5168181903108465623">Бэлэн төхөөрөмжийг каст хийх</translation> <translation id="5170568018924773124">Хавтсанд харуул</translation> <translation id="5207949376430453814">Текст оруулах тэмдгийг тодруулах</translation> +<translation id="5208059991603368177">Асаалттай</translation> <translation id="5222676887888702881">Гарах</translation> <translation id="523505283826916779">Нэвтрэх боломжит байдлын тохиргоо</translation> <translation id="5260676007519551770">Дэлгэц 4</translation> @@ -399,6 +408,7 @@ <translation id="5313326810920013265">Bluetooth тохиргоо</translation> <translation id="5314219114274263156">Дэлгэцийн үйлдлийг бичсэн</translation> <translation id="5331975486040154427">USB-C төхөөрөмж (ард талын портны зүүн тал)</translation> +<translation id="5352250171825660495">Бараан загвар асаалттай байна</translation> <translation id="5379115545237091094">Хэт олон удаа оролдлоо</translation> <translation id="5397578532367286026">chrome.com дээр (<ph name="MANAGER_EMAIL" />) удирдагч энэ хэрэглэгчийн хэрэглээ болон түүхийг үзэх боломжтой.</translation> <translation id="5400461572260843123">Шуурхай тохиргоо. Мэдэгдлийн төвд хандахын тулд хайх + зүүн сумыг дарна уу.</translation> @@ -435,6 +445,7 @@ <translation id="5769373120130404283">Нууцлалын дэлгэц</translation> <translation id="5777841717266010279">Дэлгэц хуваалцахыг зогсоох уу?</translation> <translation id="5790085346892983794">Амжилттай гүйцэтгэлээ</translation> +<translation id="579415080077680903">Чимээгүй</translation> <translation id="5820394555380036790">Chromium-н үйлдлийн систем</translation> <translation id="5837036133683224804"><ph name="RECEIVER_NAME" />-г <ph name="ROUTE_TITLE" />-д дамжуулахаа зогсоох</translation> <translation id="5860033963881614850">Идэвхгүй байна</translation> @@ -445,6 +456,7 @@ <translation id="5911909173233110115"><ph name="USERNAME" /> (<ph name="MAIL" />)</translation> <translation id="5916664084637901428">Асаах</translation> <translation id="5920710855273935292">Микрофоны дууг хаасан.</translation> +<translation id="5946788582095584774"><ph name="FEATURE_NAME" /> асаалттай байна.</translation> <translation id="5947494881799873997">Буцаах</translation> <translation id="595202126637698455">Гүйцэтгэлийн ажиглалтыг идэвхжүүлсэн</translation> <translation id="5957083217255311415">Мобайл дата унтраалттай байна.</translation> @@ -469,6 +481,7 @@ <translation id="615957422585914272">Дэлгэц дээрх гарыг харуулах</translation> <translation id="6164005077879661055">Хэрэв энэ хяналттай хэрэглэгчийг устгавал түүнтэй холбоотой бүх файлууд болон суурин өгөгдлүүд бүрмөсөн устах болно. Энэ хяналттай хэрэглэгчийн орж байсан вэб сайтууд болон тохиргоонуудыг <ph name="MANAGEMENT_URL" /> дэх менежер харах боломжтой байна.</translation> <translation id="6165508094623778733">Нэмэлт мэдээлэл авах</translation> +<translation id="6192859646269780503">Утасны байршил тогтоох</translation> <translation id="622484624075952240">Бууруулсан жагсаалт</translation> <translation id="6236290670123303279">Тохиргоог удирдах</translation> <translation id="6237231532760393653">1X</translation> @@ -540,6 +553,7 @@ <translation id="6981982820502123353">Хандалт</translation> <translation id="698231206551913481">Энэ хэрэглэгчийг устгасан тохиолдолд холбоотой бүх файл болон дотоод өгөгдөл нь бүрмөсөн устах болно.</translation> <translation id="7007983414944123363">Таны ПИН эсвэл нууц үгийг баталгаажуулж чадсангүй. Дахин оролдоно уу.</translation> +<translation id="7013005189539051442">Сүлжээний цэгийг идэвхжүүлэх</translation> <translation id="7015766095477679451"><ph name="COME_BACK_TIME" />-д буцаж ирнэ үү.</translation> <translation id="7025533177575372252"><ph name="DEVICE_NAME" />-г утастайгаа холбоно уу</translation> <translation id="7026338066939101231">Decrement</translation> @@ -574,6 +588,7 @@ <translation id="742594950370306541">Камерыг ашиглаж байна.</translation> <translation id="742608627846767349">Өглөөний мэнд,</translation> <translation id="743058460480092004">Камер болон микрофоныг ашиглаж байна.</translation> +<translation id="7461924472993315131">Pin</translation> <translation id="7466449121337984263">Мэдрэгчид хүрнэ үү</translation> <translation id="7477793887173910789">Хөгжим, видео болон бусад зүйлээ хянах</translation> <translation id="7497767806359279797">Хэл болон гарыг сонгох</translation> @@ -612,6 +627,7 @@ <translation id="7842569679327885685">Анхааруулга: Туршилтын онцлог</translation> <translation id="7846634333498149051">Гар</translation> <translation id="7868900307798234037">Түгжээг хурууны хээгээр тайлж байна</translation> +<translation id="7872786842639831132">Унтраалттай</translation> <translation id="7886169021410746335">Нууцлалын тохиргоог тохируулах</translation> <translation id="7886277072580235377">Таныг гарсны дараа таны интернэтийн харилцан үйлдлийг устгана. <ph name="LEARN_MORE" /></translation> <translation id="788781083998633524">Имэйл илгээх</translation> @@ -717,6 +733,7 @@ <translation id="8853703225951107899">Таны ПИН эсвэл нууц үгийг баталгаажуулж чадаагүй хэвээрээ байна. Тайлбар: Хэрэв та нууц үгээ саяхан сольсон бол хуучин нууц үгээ ашиглана уу. Таныг гарсны дараа, шинэ нууц үгийг ашиглах боломжтой болно.</translation> <translation id="885387440427703469">Дэлгэцийн зураг авах горим идэвхгүй болсон</translation> <translation id="8870509716567206129">Апп нь дэлгэц хуваах тохиргоог дэмждэггүй.</translation> +<translation id="8871580645200179206">Бараан загварыг унтраах/асаах. <ph name="STATE_TEXT" /></translation> <translation id="8874184842967597500">Холбогдоогүй</translation> <translation id="8877788021141246043">Сануулагч тохируулах</translation> <translation id="8878886163241303700">Дэлгэцийг сунгаж байна</translation>
diff --git a/ash/strings/ash_strings_mr.xtb b/ash/strings/ash_strings_mr.xtb index 64c2660..b282e52 100644 --- a/ash/strings/ash_strings_mr.xtb +++ b/ash/strings/ash_strings_mr.xtb
@@ -169,6 +169,7 @@ <translation id="2706462751667573066">Up</translation> <translation id="2718395828230677721">रात्री प्रकाश</translation> <translation id="2727977024730340865">एका निम्न-उर्जेच्या चार्जरवर प्लग इन केले. बॅटरी चार्जिंग विश्वसनीय असू शकत नाही.</translation> +<translation id="2743387203779672305">क्लिपबोर्डवर कॉपी करा</translation> <translation id="2792498699870441125">Alt+Search</translation> <translation id="2819276065543622893">आता तुम्हाला साइन आउट केले जाईल.</translation> <translation id="2825224105325558319"><ph name="DISPLAY_NAME" /> <ph name="SPECIFIED_RESOLUTION" /> ला सपोर्ट करत नाही. रेझोल्यूशन <ph name="FALLBACK_RESOLUTION" /> मध्ये बदलले.</translation> @@ -586,6 +587,7 @@ <translation id="742594950370306541">कॅमेरा वापरात आहे.</translation> <translation id="742608627846767349">सुप्रभात,</translation> <translation id="743058460480092004">कॅमेरा आणि मायक्रोफोन वापरात आहेत.</translation> +<translation id="7461924472993315131">पिन</translation> <translation id="7466449121337984263">कृपया सेन्सरला स्पर्श करा</translation> <translation id="7477793887173910789">व्हिडिओ पाहा आणि बरेच काही नियंत्रित करा</translation> <translation id="7497767806359279797">भाषा आणि कीबोर्ड निवडा</translation>
diff --git a/ash/strings/ash_strings_ms.xtb b/ash/strings/ash_strings_ms.xtb index 2557f0a..b385fd4 100644 --- a/ash/strings/ash_strings_ms.xtb +++ b/ash/strings/ash_strings_ms.xtb
@@ -48,6 +48,7 @@ <translation id="1351937230027495976">Runtuhkan menu</translation> <translation id="1383876407941801731">Carian</translation> <translation id="1391102559483454063">Dihidupkan</translation> +<translation id="1407069428457324124">Tema gelap</translation> <translation id="1419738280318246476">Buka kunci peranti untuk melaksanakan tindakan pemberitahuan</translation> <translation id="1420408895951708260">Togol Cahaya Malam. <ph name="STATE_TEXT" /></translation> <translation id="1420527829902822813">Tangkapan skrin diambil dan disimpan di papan keratan</translation> @@ -65,6 +66,7 @@ <translation id="1550523713251050646">Klik untuk mendapatkan lagi pilihan</translation> <translation id="1570871743947603115">Togol Bluetooth. <ph name="STATE_TEXT" /></translation> <translation id="1589090746204042747">Akses semua aktiviti anda dalam sesi ini</translation> +<translation id="1611993646327628135">Hidup</translation> <translation id="1632985212731562677">Akses Suis boleh dilumpuhkan dalam Tetapan > Kebolehaksesan.</translation> <translation id="1654477262762802994">Mulakan pertanyaan suara</translation> <translation id="1667964833127753507">Mod warna neutral tidak menggunakan warna yang diekstrak daripada kertas dinding, menggantikan warna tersebut dengan sekumpulan warna cerah bertona neutral atau warna gelap.</translation> @@ -79,6 +81,7 @@ <translation id="1761222317188459878">Togol sambungan rangkaian. <ph name="STATE_TEXT" /></translation> <translation id="1771761307086386028">Tatal ke kanan</translation> <translation id="1782199038061388045">terjemahan</translation> +<translation id="1787955149152357925">Mati</translation> <translation id="181103072419391116">Kekuatan Isyarat <ph name="SIGNAL_STRENGTH" />, Diurus oleh Pentadbir anda</translation> <translation id="1812997170047690955">Apakah yang terdapat pada skrin saya?</translation> <translation id="1823873187264960516">Ethernet: <ph name="ADDRESS" /></translation> @@ -166,6 +169,7 @@ <translation id="2706462751667573066">Atas</translation> <translation id="2718395828230677721">Cahaya Malam</translation> <translation id="2727977024730340865">Dipalamkan pada pengecas berkuasa rendah. Pengecasan bateri mungkin tidak boleh diharapkan.</translation> +<translation id="2743387203779672305">Salin ke papan keratan</translation> <translation id="2792498699870441125">Alt+Search</translation> <translation id="2819276065543622893">Anda akan dilog keluar sekarang.</translation> <translation id="2825224105325558319"><ph name="DISPLAY_NAME" /> tidak menyokong <ph name="SPECIFIED_RESOLUTION" />. Peleraian telah ditukar kepada <ph name="FALLBACK_RESOLUTION" />.</translation> @@ -201,6 +205,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3081696990447829002">Kembangkan menu</translation> <translation id="3087734570205094154">Bawah</translation> +<translation id="3090989381251959936">Togol <ph name="FEATURE_NAME" />. <ph name="STATE_TEXT" /></translation> <translation id="309749186376891736">Alihkan kursor</translation> <translation id="3098580329624789136">Dapatkan <ph name="INTENT" /> untuk "<ph name="QUERY" />"</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth)</translation> @@ -233,6 +238,7 @@ <translation id="3371140690572404006">Peranti USB-C (port depan sebelah kanan)</translation> <translation id="3386978599540877378">penggadang skrin penuh</translation> <translation id="3400357268283240774">Tetapan tambahan</translation> +<translation id="3410336247007142655">Tunjukkan tetapan tema gelap</translation> <translation id="3413817803639110246">Tiada apa-apa untuk dilihat</translation> <translation id="3428447136709161042">Putuskan sambungan daripada <ph name="NETWORK_NAME" />?</translation> <translation id="3430396595145920809">Leret dari kanan untuk kembali</translation> @@ -327,6 +333,7 @@ <translation id="4378551569595875038">Menyambung...</translation> <translation id="4379531060876907730">Berikut ialah alatan stilus anda</translation> <translation id="4389184120735010762">Anda menekan pintasan papan kekunci untuk penggadang yang didok. Adakah anda ingin menghidupkannya?</translation> +<translation id="4412944820643904175"><ph name="FEATURE_NAME" /> dimatikan.</translation> <translation id="4421231901400348175">Berkongsi kawalan skrin anda dengan <ph name="HELPER_NAME" /> melalui Bantuan Jauh.</translation> <translation id="4430019312045809116">Kelantangan</translation> <translation id="4450893287417543264">Jangan tunjukkan lagi</translation> @@ -346,6 +353,7 @@ <translation id="4570957409596482333">Butang Pilih untuk Bercakap</translation> <translation id="4577274620589681794">Masa tamat · <ph name="LABEL" /></translation> <translation id="4585337515783392668">Berhenti menghantar pada penerima yang tidak diketahui</translation> +<translation id="4596144739579517758">Tema gelap dimatikan</translation> <translation id="4623167406982293031">Sahkan akaun</translation> <translation id="4628757576491864469">Peranti</translation> <translation id="4659419629803378708">ChromeVox didayakan</translation> @@ -388,6 +396,7 @@ <translation id="5168181903108465623">Peranti Cast tersedia</translation> <translation id="5170568018924773124">Paparkan dalam folder</translation> <translation id="5207949376430453814">Serlahkan karet teks</translation> +<translation id="5208059991603368177">Hidup</translation> <translation id="5222676887888702881">Log keluar</translation> <translation id="523505283826916779">Tetapan kebolehcapaian</translation> <translation id="5260676007519551770">Meja 4</translation> @@ -399,6 +408,7 @@ <translation id="5313326810920013265">Tetapan Bluetooth</translation> <translation id="5314219114274263156">Perakam skrin diambil</translation> <translation id="5331975486040154427">Peranti USB-C (port belakang sebelah kiri)</translation> +<translation id="5352250171825660495">Tema gelap dihidupkan</translation> <translation id="5379115545237091094">Terlalu banyak percubaan</translation> <translation id="5397578532367286026">Penggunaan dan sejarah pengguna ini boleh disemak oleh pengurus (<ph name="MANAGER_EMAIL" />) di chrome.com.</translation> <translation id="5400461572260843123">Tetapan Pantas, Tekan cari + kiri untuk mengakses pusat pemberitahuan.</translation> @@ -435,6 +445,7 @@ <translation id="5769373120130404283">Skrin privasi</translation> <translation id="5777841717266010279">Hentikan perkongsian skrin?</translation> <translation id="5790085346892983794">Berjaya</translation> +<translation id="579415080077680903">Senyap</translation> <translation id="5820394555380036790">Chromium OS</translation> <translation id="5837036133683224804">Hentikan <ph name="ROUTE_TITLE" /> pada <ph name="RECEIVER_NAME" /></translation> <translation id="5860033963881614850">Dimatikan</translation> @@ -445,6 +456,7 @@ <translation id="5911909173233110115"><ph name="USERNAME" /> (<ph name="MAIL" />)</translation> <translation id="5916664084637901428">Hidupkan</translation> <translation id="5920710855273935292">Mikrofon diredamkan.</translation> +<translation id="5946788582095584774"><ph name="FEATURE_NAME" /> dihidupkan.</translation> <translation id="5947494881799873997">Berbalik</translation> <translation id="595202126637698455">Penjejakan prestasi didayakan</translation> <translation id="5957083217255311415">Data mudah alih dimatikan.</translation> @@ -469,6 +481,7 @@ <translation id="615957422585914272">Paparkan papan kekunci pada skrin</translation> <translation id="6164005077879661055">Semua fail dan data setempat yang dikaitkan dengan pengguna diselia akan dipadamkan secara kekal apabila pengguna diselia ini dialih keluar. Tapak web yang dilawati dan tetapan untuk pengguna diselia ini masih boleh dilihat oleh pengurus di <ph name="MANAGEMENT_URL" />.</translation> <translation id="6165508094623778733">Ketahui lebih lanjut</translation> +<translation id="6192859646269780503">Kesan Lokasi Telefon</translation> <translation id="622484624075952240">Bawah</translation> <translation id="6236290670123303279">Urus Tetapan</translation> <translation id="6237231532760393653">1X</translation> @@ -540,6 +553,7 @@ <translation id="6981982820502123353">Kebolehcapaian</translation> <translation id="698231206551913481">Semua fail dan data yang berkaitan dengan pengguna ini akan dipadamkan secara kekal selepas pengguna ini dialih keluar.</translation> <translation id="7007983414944123363">PIN atau kata laluan anda tidak dapat disahkan. Cuba lagi.</translation> +<translation id="7013005189539051442">Dayakan Tempat Liputan</translation> <translation id="7015766095477679451">Datang semula pada <ph name="COME_BACK_TIME" />.</translation> <translation id="7025533177575372252">Sambungkan <ph name="DEVICE_NAME" /> anda dengan telefon anda</translation> <translation id="7026338066939101231">Susutan</translation> @@ -574,6 +588,7 @@ <translation id="742594950370306541">Kamera sedang digunakan.</translation> <translation id="742608627846767349">Selamat pagi,</translation> <translation id="743058460480092004">Kamera dan mikrofon sedang digunakan.</translation> +<translation id="7461924472993315131">Pin</translation> <translation id="7466449121337984263">Sila sentuh penderia</translation> <translation id="7477793887173910789">Kawal muzik, video anda dan banyak lagi</translation> <translation id="7497767806359279797">Pilih bahasa dan papan kekunci</translation> @@ -612,6 +627,7 @@ <translation id="7842569679327885685">Amaran: Ciri percubaan</translation> <translation id="7846634333498149051">Papan kekunci</translation> <translation id="7868900307798234037">Membuka kunci dengan cap jari</translation> +<translation id="7872786842639831132">Mati</translation> <translation id="7886169021410746335">Laraskan tetapan privasi</translation> <translation id="7886277072580235377">Sesi Internet anda akan dipadam bersih apabila anda log keluar. <ph name="LEARN_MORE" /></translation> <translation id="788781083998633524">Hantar e-mel</translation> @@ -716,6 +732,7 @@ <translation id="8853703225951107899">PIN atau kata laluan anda masih tidak dapat disahkan. Nota: Jika anda menukar kata laluan anda baru-baru ini, gunakan kata laluan lama anda. Kata laluan baharu anda akan digunakan apabila anda log keluar.</translation> <translation id="885387440427703469">Tangkapan skrin dilumpuhkan</translation> <translation id="8870509716567206129">Apl tidak menyokong skrin pisah.</translation> +<translation id="8871580645200179206">Togol Mod gelap. <ph name="STATE_TEXT" /></translation> <translation id="8874184842967597500">Tidak bersambung</translation> <translation id="8877788021141246043">Tetapkan peringatan</translation> <translation id="8878886163241303700">Meluaskan skrin</translation>
diff --git a/ash/strings/ash_strings_my.xtb b/ash/strings/ash_strings_my.xtb index 32a6f6b..1dbcab57 100644 --- a/ash/strings/ash_strings_my.xtb +++ b/ash/strings/ash_strings_my.xtb
@@ -48,6 +48,7 @@ <translation id="1351937230027495976">မီနူးကို လျှော့ပြရန်</translation> <translation id="1383876407941801731">ရှာဖွေမှု</translation> <translation id="1391102559483454063">ဖွင့်ရန်</translation> +<translation id="1407069428457324124">မှောင်သည့်အပြင်အဆင်</translation> <translation id="1419738280318246476">အကြောင်းကြားခြင်း လုပ်ဆောင်ရန်အတွက် စက်ပစ္စည်းကို လော့ခ်ဖွင့်ပါ</translation> <translation id="1420408895951708260">'ညအလင်းရောင်' အဖွင့်အပိတ် ခလုတ်။ <ph name="STATE_TEXT" /></translation> <translation id="1420527829902822813">ဖန်သားပြင်ဓာတ်ပုံ ရိုက်ကူးပြီး ကလစ်ဘုတ်တွင် သိမ်းထားသည်</translation> @@ -65,6 +66,7 @@ <translation id="1550523713251050646">ပိုမိုရွေးစရာများအတွက် နှိပ်ပါ</translation> <translation id="1570871743947603115">'ဘလူးတုသ်' ကို အဖွင့်အပိတ် ပြုလုပ်ရန်။ <ph name="STATE_TEXT" /></translation> <translation id="1589090746204042747">ဤစက်ရှင်ရှိ သင့်လုပ်ဆောင်ချက်အားလုံးကို ဝင်ကြည့်နိုင်သည်</translation> +<translation id="1611993646327628135">ဖွင့်</translation> <translation id="1632985212731562677">'ဆက်တင်များ' > 'အများသုံးစွဲနိုင်မှု' တွင် 'ခလုတ်သုံးခြင်း' ကို ပိတ်နိုင်သည်။</translation> <translation id="1654477262762802994">အသံဖြင့် စတင် စုံစမ်းမေးမြန်းရန်</translation> <translation id="1667964833127753507">သဘာဝအရောင်မုဒ်သည် နောက်ခံမှ ထုတ်ထားသည့်အရောင်ကို မသုံးပါ၊ ၎င်းတို့ကို သဘာဝအရောင်စပ် အလင်း သို့မဟုတ် အမှောင် အရောင်ဖြင့် အစားထိုးသည်။</translation> @@ -79,6 +81,7 @@ <translation id="1761222317188459878">ကွန်ရက်ချိတ်ဆက်မှုကို အဖွင့်အပိတ်ပြုလုပ်ရန်။ <ph name="STATE_TEXT" /></translation> <translation id="1771761307086386028">ညာသို့ လှိမ့်ရန်</translation> <translation id="1782199038061388045">ဘာသာပြန်ခြင်း</translation> +<translation id="1787955149152357925">ပိတ်ရန်</translation> <translation id="181103072419391116">လိုင်းဆွဲအား <ph name="SIGNAL_STRENGTH" />၊ သင့် 'စီမံခန့်ခွဲသူ' က ကြီးကြပ်ထားပါသည်</translation> <translation id="1812997170047690955">ကျွန်ုပ်၏ ဖန်သားပြင်ပေါ်တွင် မည်သည့်အရာများ ရှိပါသလဲ။</translation> <translation id="1823873187264960516">အီသာနက်− <ph name="ADDRESS" /></translation> @@ -166,6 +169,7 @@ <translation id="2706462751667573066">အပေါ်သို့</translation> <translation id="2718395828230677721">ညအလင်းရောင်</translation> <translation id="2727977024730340865">ပါဝါနည်းသည့် အားသွင်းကိရိယာသို့ ချိတ်ဆက်ထားသည်။ ဘတ်ထရီအားသွင်းခြင်း အားကိုး၍ရမည် မဟုတ်ပါ။</translation> +<translation id="2743387203779672305">ကလစ်ဘုဒ်သို့ ကူးယူရန်</translation> <translation id="2792498699870441125">Alt+Search</translation> <translation id="2819276065543622893">သင်ယခု ထွက်ပါမည်။</translation> <translation id="2825224105325558319"><ph name="DISPLAY_NAME" /> က <ph name="SPECIFIED_RESOLUTION" /> ကို မပံ့ပိုးပါ။ ပုံရိပ်ပြတ်သားကိန်းကို <ph name="FALLBACK_RESOLUTION" /> သို့ ပြောင်းထားသည်။</translation> @@ -201,6 +205,7 @@ <translation id="3077734595579995578">shift ကီး</translation> <translation id="3081696990447829002">မီနူးကို ချဲ့ရန်</translation> <translation id="3087734570205094154">အောက်ခြေပိုင်း</translation> +<translation id="3090989381251959936"><ph name="FEATURE_NAME" /> ပြောင်းပါ။ <ph name="STATE_TEXT" /></translation> <translation id="309749186376891736">ကာဆာ ရွှေ့ရန်</translation> <translation id="3098580329624789136">"<ph name="QUERY" />" အတွက် <ph name="INTENT" /> ရယူခြင်း</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (ဘလူးတုသ်)</translation> @@ -233,6 +238,7 @@ <translation id="3371140690572404006">USB-C ကိရိယာ (ညာ ပို့တ် အရှေ့ပိုင်း)</translation> <translation id="3386978599540877378">မျက်နှာပြင်အပြည့် မှန်ဘီလူး</translation> <translation id="3400357268283240774">နောက်ထပ်ဆက်တင်များ</translation> +<translation id="3410336247007142655">မှောင်သည့်အပြင်အဆင် ဆက်တင်များ ပြရန်</translation> <translation id="3413817803639110246">ယခုကြည့်စရာ မရှိသေးပါ</translation> <translation id="3428447136709161042"><ph name="NETWORK_NAME" /> နှင့် ချိတ်ဆက်မှုဖြုတ်ရန်</translation> <translation id="3430396595145920809">နောက်သို့ပြန်သွားရန် ညာဘက်မှ ပွတ်ဆွဲပါ</translation> @@ -326,6 +332,7 @@ <translation id="4378551569595875038">ချိတ်ဆက်ရန်...</translation> <translation id="4379531060876907730">ဤအရာများသည် သင်၏ စတိုင်လက်စ်ကိရိယာများ ဖြစ်သည်</translation> <translation id="4389184120735010762">တပ်ဆင်ထားသည့် မှန်ဘီလူးအတွက် ကီးဘုတ်ဖြတ်လမ်းလင့်ခ်ကို သင်နှိပ်လိုက်ပါသည်။ ၎င်းကို ဖွင့်လိုပါသလား။</translation> +<translation id="4412944820643904175"><ph name="FEATURE_NAME" /> ပိတ်ထားသည်။</translation> <translation id="4421231901400348175">အဝေးမှ ထောက်ကူခြင်း ဆိုသည်မှ တဆင့် သင့်ဖန်သားပြင်အား <ph name="HELPER_NAME" /> နှင့် မျှဝေသုံးစွဲခြင်း။</translation> <translation id="4430019312045809116">ပမာဏ</translation> <translation id="4450893287417543264">ထပ်မပြပါနှင့်</translation> @@ -345,6 +352,7 @@ <translation id="4570957409596482333">'စကားပြောရွေးရန်' ခလုတ်</translation> <translation id="4577274620589681794">အချိန်စေ့ပါပြီ · <ph name="LABEL" /></translation> <translation id="4585337515783392668">အမည်မသိ လက်ခံစက်သို့ ကာ့စ်လုပ်ခြင်း ရပ်တန့်ရန်</translation> +<translation id="4596144739579517758">မှောင်သည့်အပြင်အဆင် ပိတ်ထားသည်</translation> <translation id="4623167406982293031">အကောင့်ကို အတည်ပြုရန်</translation> <translation id="4628757576491864469">စက်ပစ္စည်းများ</translation> <translation id="4659419629803378708">ChromeVox ကို ဖွင့်ထားပါသည်</translation> @@ -387,6 +395,7 @@ <translation id="5168181903108465623">Cast စက်ကိရိယာများ ရနိုင်၏</translation> <translation id="5170568018924773124">ဖိုလ်ဒါ ထဲမှာ ပြရန်</translation> <translation id="5207949376430453814">စာရိုက်ထည့်ရန်အကွက်ကို မြင်သာထင်သာဖြစ်အောင်ပြုလုပ်ရန်</translation> +<translation id="5208059991603368177">ဖွင့်ရန်</translation> <translation id="5222676887888702881">ထွက်ခွာရန်</translation> <translation id="523505283826916779">ရယူသုံးနိုင်မှု ဆက်တင်များ</translation> <translation id="5260676007519551770">စာရေးခုံ ၄</translation> @@ -398,6 +407,7 @@ <translation id="5313326810920013265">ဘလူးတုသ် ဆက်တင်များ</translation> <translation id="5314219114274263156">ဖန်သားပြင်ရိုက်ကူးနေသည်</translation> <translation id="5331975486040154427">USB-C ကိရိယာ (ကျောဘက် ဘယ် ပို့တ်)</translation> +<translation id="5352250171825660495">မှောင်သည့်အပြင်အဆင် ဖွင့်ထားသည်</translation> <translation id="5379115545237091094">စမ်းသပ်သည့်အကြိမ်ရေ အလွန်များနေပါပြီ</translation> <translation id="5397578532367286026">ဒီ အသုံးပြုသူ၏ သုံးစွဲမှု နှင့် မှတ်တမ်းကို chrome.com ရှိ (<ph name="MANAGER_EMAIL" />)၏ မန်နေဂျာက ဆန်းစစ် ကြည့်ရှု နိုင်သည်။</translation> <translation id="5400461572260843123">အမြန် ဆက်တင်များ၊ အကြောင်းကြားချက်စင်တာကို ဝင်ကြည့်ရန် 'ရှာဖွေရန် + ဘယ်ဘက်' ကို နှိပ်ပါ။</translation> @@ -434,6 +444,7 @@ <translation id="5769373120130404283">ပုဂ္ဂိုလ်ရေးလုံခြုံမှု ဖန်သားပြင်</translation> <translation id="5777841717266010279">မျက်နှာပြင် ဝေမျှနေခြင်း ရပ်လိုပါသလား?</translation> <translation id="5790085346892983794">အောင်မြင်ခြင်း</translation> +<translation id="579415080077680903">အသံတိတ်</translation> <translation id="5820394555380036790">Chromium OS</translation> <translation id="5837036133683224804"><ph name="RECEIVER_NAME" /> တွင် <ph name="ROUTE_TITLE" /> ကို ရပ်ရန်</translation> <translation id="5860033963881614850">ပိတ်ထား</translation> @@ -444,6 +455,7 @@ <translation id="5911909173233110115"><ph name="USERNAME" /> (<ph name="MAIL" />)</translation> <translation id="5916664084637901428">ဖွင့်ရန်</translation> <translation id="5920710855273935292">မိုက်ပိတ်ထားသည်။</translation> +<translation id="5946788582095584774"><ph name="FEATURE_NAME" /> ဖွင့်ထားသည်။</translation> <translation id="5947494881799873997">မူလအခြေအနေ ပြန်သွားရန်</translation> <translation id="595202126637698455">ဆောင်ရွက်ချက်များကို ခြေရာခံနေသည်။</translation> <translation id="5957083217255311415">မိုဘိုင်းဒေတာကို ပိတ်ထားပါသည်။</translation> @@ -468,6 +480,7 @@ <translation id="615957422585914272">မျက်နှာပြင် ပေါ်က ကီးဘုတ်ကို ပြရန်</translation> <translation id="6164005077879661055">ဒီကြီးကြပ်မှုခံ အသုံးပြုသူကို ဖယ်ရှားလိုက်သည့်နှင့် ထိုကြီးကြပ်မှုခံ အသုံးပြုသူနှင့် ဆက်စပ်နေကြသည့် ဖိုင်များ နှင့် ဒေသန္တရ ဒေတာ အားလုံးကို ထာဝရ ဖျက်သိမ်းလိုက်မည်။ ထိုကြီးကြပ်မှုခံ အသုံးပြုသူ ဝင်ကြည့်ခဲ့သည့် ဝက်ဘ်ဆိုက်များ နှင့် ၎င်း၏ ဆက်တင်များကို မန်နေဂျာသည် <ph name="MANAGEMENT_URL" />မှာ ဆက်လက် မြင်နိုင်ပါသည်။</translation> <translation id="6165508094623778733">ပိုမိုလေ့လာရန်</translation> +<translation id="6192859646269780503">ဖုန်းရှာခြင်း</translation> <translation id="622484624075952240">အောက်သို့</translation> <translation id="6236290670123303279">ဆက်တင်များ စီမံခန့်ခွဲရန်</translation> <translation id="6237231532760393653">1X</translation> @@ -539,6 +552,7 @@ <translation id="6981982820502123353">ရယူအသုံးချနိုင်မှု</translation> <translation id="698231206551913481">ဤအသုံးပြုသူကို ဖယ်ရှားလိုက်သည်နှင့် ၎င်းနှင့်ဆက်စပ်နေသော ဖိုင်များနှင့် စက်တွင်းဒေတာများအားလုံး အပြီးတိုင် ပျက်သွားလိမ့်မည်။</translation> <translation id="7007983414944123363">သင့်ပင်နံပါတ် သို့မဟုတ် စကားဝှက်ကို စစ်ဆေး၍မရနိုင်သေးပါ။ ထပ်စမ်းကြည့်ပါ။</translation> +<translation id="7013005189539051442">ဟော့စပေါ့ဖွင့်ခြင်း</translation> <translation id="7015766095477679451"><ph name="COME_BACK_TIME" /> ၌ ပြန်လာပါ။</translation> <translation id="7025533177575372252">သင်၏ <ph name="DEVICE_NAME" /> ကို သင့်ဖုန်းဖြင့် ချိတ်ဆက်ပါ</translation> <translation id="7026338066939101231">လျှော့ခြင်း</translation> @@ -573,6 +587,7 @@ <translation id="742594950370306541">ကင်မရာကို အသုံးပြုနေသည်။</translation> <translation id="742608627846767349">မင်္ဂလာ နံနက်ခင်းပါ၊</translation> <translation id="743058460480092004">ကင်မရာ နှင့် မိုက်ခရိုဖုန်းကို အသုံးပြုနေသည်။</translation> +<translation id="7461924472993315131">ပင်နံပါတ်</translation> <translation id="7466449121337984263">အာရုံခံကိရိယာကို ထိပါ</translation> <translation id="7477793887173910789">သင့်သီချင်း၊ ဗီဒီယိုနှင့် အခြားအရာများ ထိန်းချုပ်ရန်</translation> <translation id="7497767806359279797">ဘာသာစကားနှင့် ကီးဘုတ်ကို ရွေးရန်</translation> @@ -611,6 +626,7 @@ <translation id="7842569679327885685">သတိပေးချက်- စမ်းသပ်နေဆဲ ဝန်ဆောင်မှု</translation> <translation id="7846634333498149051">ကီးဘုတ်</translation> <translation id="7868900307798234037">လက်ဗွေဖြင့် လော့ခ်ဖွင့်ခြင်း</translation> +<translation id="7872786842639831132">ပိတ်</translation> <translation id="7886169021410746335">ကန့်သတ်ရန် ဆက်တင်များကို ချိန်ညှိပါ</translation> <translation id="7886277072580235377">သင်ထွက်လိုက်သည့်အခါ သင်၏အင်တာနက်စက်ရှင်ကို ရှင်းလင်းလိုက်ပါမည်။ <ph name="LEARN_MORE" /></translation> <translation id="788781083998633524">အီးမေးလ် ပို့ပါ</translation> @@ -715,6 +731,7 @@ <translation id="8853703225951107899">သင့်ပင်နံပါတ် သို့မဟုတ် စကားဝှက်ကို စစ်ဆေး၍မရနိုင်သေးပါ။ မှတ်ချက် - လတ်တလောတွင် သင့်စကားဝှက်ကို ပြောင်းထားပါက စကားဝှက်အဟောင်းကို သုံးပါ။ ထွက်ပြီးသည့်အခါ စကားဝှက်အသစ်ကို အသုံးပြုပါမည်။</translation> <translation id="885387440427703469">ဖန်သားပြင်ရိုက်ယူမှုကို ပိတ်ထားသည်</translation> <translation id="8870509716567206129">အက်ပ်သည် မျက်နှာပြင်ခွဲပြခြင်းကို ပံ့ပိုးမထားပါ။</translation> +<translation id="8871580645200179206">မှောင်သည့်အပြင်အဆင် ပြောင်းပါ။ <ph name="STATE_TEXT" /></translation> <translation id="8874184842967597500">ချိတ်ဆက် မထား</translation> <translation id="8877788021141246043">သတိပေးချက် သတ်မှတ်ပါ</translation> <translation id="8878886163241303700">မျက်နှာပြင်ကို တိုးချဲ့နေ</translation>
diff --git a/ash/strings/ash_strings_ne.xtb b/ash/strings/ash_strings_ne.xtb index 95a10b0..4a994ed 100644 --- a/ash/strings/ash_strings_ne.xtb +++ b/ash/strings/ash_strings_ne.xtb
@@ -48,6 +48,7 @@ <translation id="1351937230027495976">मेनु संक्षिप्त गर्नुहोस्</translation> <translation id="1383876407941801731">खोज्नुहोस्</translation> <translation id="1391102559483454063">अन</translation> +<translation id="1407069428457324124">अँध्यारो थिम</translation> <translation id="1419738280318246476">सूचनासम्बन्धी कारबाही गर्न यन्त्र अनलक गर्नुहोस्</translation> <translation id="1420408895951708260">रात्रि प्रकाश टगल गर्नुहोस्। <ph name="STATE_TEXT" /></translation> <translation id="1420527829902822813">स्क्रिनसट लिइयो र यसलाई क्लिपबोर्डमा सुरक्षित गरियो</translation> @@ -65,6 +66,7 @@ <translation id="1550523713251050646">थप विकल्पहरूका लागि क्लिक गर्नुहोस्</translation> <translation id="1570871743947603115">ब्लुटुथ टगल गर्नुहोस्। <ph name="STATE_TEXT" /></translation> <translation id="1589090746204042747">यो सत्रअन्तर्गतका आफ्ना सबै क्रियाकलापमाथि पहुँच राख्नुहोस्</translation> +<translation id="1611993646327628135">अन छ</translation> <translation id="1632985212731562677">सेटिङ > पहुँचमा गएर स्विचमार्फत पहुँच राख्ने सुविधा असक्षम पार्न सकिन्छ।</translation> <translation id="1654477262762802994">आवाजमार्फत गरिने क्वेरी सुरु गर्नुहोस्</translation> <translation id="1667964833127753507">'तटस्थ रङ' मोडमा वालपेपरबाट निकालिएका रङहरू प्रयोग गरिँदैन। बरु यो मोडमा तटस्थ रङहरू मिसाएर बनाइएको हल्का वा गाढा प्रकारको रङ प्रयोग गरिन्छ।</translation> @@ -79,6 +81,7 @@ <translation id="1761222317188459878">नेटवर्क जडान टगल गर्नुहोस्। <ph name="STATE_TEXT" /></translation> <translation id="1771761307086386028">दायाँतिर स्क्रोल गर्नुहोस्</translation> <translation id="1782199038061388045">अनुवाद</translation> +<translation id="1787955149152357925">अफ छ</translation> <translation id="181103072419391116">सिग्नलको क्षमता <ph name="SIGNAL_STRENGTH" />, तपाईंका प्रशासकले व्यवस्थित गर्नुभएको छ</translation> <translation id="1812997170047690955">मेरो स्क्रिनमा के छ?</translation> <translation id="1823873187264960516">इथरनेट: <ph name="ADDRESS" /></translation> @@ -142,7 +145,7 @@ <translation id="2412593942846481727">अद्यावधिक उपलब्ध छ</translation> <translation id="2413728805700750528"><ph name="DISPLAY_NAME" /> भनेको <ph name="DOMAIN" /> ले व्यवस्थापन गर्ने कुनै सत्रको नाम हो</translation> <translation id="2427507373259914951">बायाँ क्लिक गर्नुहोस्</translation> -<translation id="2429753432712299108">ब्लुतुथ यन्त्र "<ph name="DEVICE_NAME" />" ले मेल गर्न अनुमति चाहन्छ। स्वीकार गर्नु अघि, कृपया पक्का गर्नुहोस् की यो पासकुञ्जी त्यो यन्त्रमा देखाइएको छ: <ph name="PASSKEY" /></translation> +<translation id="2429753432712299108">ब्लुतुथ यन्त्र "<ph name="DEVICE_NAME" />" ले मेल गर्न अनुमति चाहन्छ। स्वीकार गर्नुअघि, कृपया पक्का गर्नुहोस् की यो पासकुञ्जी त्यो यन्त्रमा देखाइएको छ: <ph name="PASSKEY" /></translation> <translation id="2435457462613246316">पासवर्ड देखाउनुहोस्</translation> <translation id="2473177541599297363">रिजोल्युसन पुष्टि गर्नुहोस्</translation> <translation id="2475982808118771221">त्रुटि भयो</translation> @@ -166,6 +169,7 @@ <translation id="2706462751667573066">माथि</translation> <translation id="2718395828230677721">रात्रिकालीन प्रकाश</translation> <translation id="2727977024730340865">कम शक्ति भएको चार्जरमा प्लग इन गरिएको छ। ब्याट्री चार्जिङ भरपर्दो नहुन सक्छ।</translation> +<translation id="2743387203779672305">क्लिपबोर्डमा प्रतिलिपि बनाउँनुहोस्</translation> <translation id="2792498699870441125">Alt + खोज</translation> <translation id="2819276065543622893">तपाइँलाई अब साइन आउट गराइनेछ।</translation> <translation id="2825224105325558319"><ph name="DISPLAY_NAME" /> ले <ph name="SPECIFIED_RESOLUTION" /> समर्थन गर्दैन। रिजोल्युसन परिवर्तन गरी <ph name="FALLBACK_RESOLUTION" /> पारियो।</translation> @@ -201,6 +205,7 @@ <translation id="3077734595579995578">शिफ्ट</translation> <translation id="3081696990447829002">मेनु विस्तृत गर्नुहोस्</translation> <translation id="3087734570205094154">तल</translation> +<translation id="3090989381251959936"><ph name="FEATURE_NAME" /> अन/अफ गर्नुहोस्। <ph name="STATE_TEXT" /></translation> <translation id="309749186376891736">कर्सर सार्नुहोस्</translation> <translation id="3098580329624789136">"<ph name="QUERY" />" को <ph name="INTENT" /> प्राप्त गर्नुहोस्</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (ब्लुटूथ)</translation> @@ -233,6 +238,7 @@ <translation id="3371140690572404006">USB-C यन्त्र (दायाँ भागको अगाडिको पोर्ट)</translation> <translation id="3386978599540877378">पूर्ण स्क्रिनको म्याग्निफायर</translation> <translation id="3400357268283240774">अतिरिक्त सेटिङहरू</translation> +<translation id="3410336247007142655">अँध्यारो थिमसम्बन्धी सेटिङ देखाउनुहोस्</translation> <translation id="3413817803639110246">अहिलेसम्म हेर्नका लागि केही पनि छैन</translation> <translation id="3428447136709161042"><ph name="NETWORK_NAME" /> सँगको जडान विच्छेद गर्नुहोस्</translation> <translation id="3430396595145920809">पछाडि जान दायाँतिरबाट स्वाइप गर्नुहोस्</translation> @@ -326,6 +332,7 @@ <translation id="4378551569595875038">जडान गर्दै...</translation> <translation id="4379531060876907730">यी तपाईंका स्टाइलस उपकरणहरू हुन्</translation> <translation id="4389184120735010762">तपाईंले डक गरिएको म्याग्निफायरको किबोर्ड सर्टकट थिच्नुभयो। तपाईं यसलाई सक्रिय गर्न चाहनुहुन्छ?</translation> +<translation id="4412944820643904175"><ph name="FEATURE_NAME" /> अफ छ।</translation> <translation id="4421231901400348175">रिमोट सहायता मार्फत <ph name="HELPER_NAME" /> सँग तपाईँको स्क्रिनको नियन्त्रण साझेदारी गर्दै।</translation> <translation id="4430019312045809116">आयतन</translation> <translation id="4450893287417543264">फेरि नदेखाउनुहोस्</translation> @@ -345,6 +352,7 @@ <translation id="4570957409596482333">चयन गरेर बोल्ने सेवासम्बन्धी बटन</translation> <translation id="4577274620589681794">समय सकियो · <ph name="LABEL" /></translation> <translation id="4585337515783392668">कुनै अज्ञात प्रापकमा casting गर्न छाड्नुहोस्</translation> +<translation id="4596144739579517758">अँध्यारो थिम अफ छ</translation> <translation id="4623167406982293031">खाता पुष्टि गर्नुहोस्</translation> <translation id="4628757576491864469">यन्त्रहरू</translation> <translation id="4659419629803378708">ChromeVox सक्षम पारियो</translation> @@ -387,6 +395,7 @@ <translation id="5168181903108465623">Cast यन्त्रहरू उपलब्ध</translation> <translation id="5170568018924773124">फोल्डरमा देखाउनुहोस्</translation> <translation id="5207949376430453814">पाठको क्योरटलाई हाइलाइट</translation> +<translation id="5208059991603368177">अन छ</translation> <translation id="5222676887888702881">साइन आउट गर्नुहोस्</translation> <translation id="523505283826916779">पहुँचक्षमता सेटिङहरू</translation> <translation id="5260676007519551770">डेस्क ४</translation> @@ -398,6 +407,7 @@ <translation id="5313326810920013265">ब्लुटुथ सम्बन्धी सेटिङहरू</translation> <translation id="5314219114274263156">स्क्रिन रेकर्डिङ गरियो</translation> <translation id="5331975486040154427">USB-C यन्त्र (पछाडिको पोर्टको बायाँ)</translation> +<translation id="5352250171825660495">अँध्यारो थिम अन छ</translation> <translation id="5379115545237091094">अत्यधिक प्रयासहरू भए</translation> <translation id="5397578532367286026">यो प्रयोगकर्ताको उपयोग र इतिहासलाई व्यवस्थापक (<ph name="MANAGER_EMAIL" />) ले chrome.com मा पुनरीक्षण गर्न सक्छ।</translation> <translation id="5400461572260843123">द्रुत सेटिङहरू, सूचना केन्द्रमाथि पहुँच राख्न search + left बटन थिच्नुहोस्।</translation> @@ -434,6 +444,7 @@ <translation id="5769373120130404283">गोपनीयताको स्क्रिन</translation> <translation id="5777841717266010279">स्क्रिन साझा गर्ने रोक्ने?</translation> <translation id="5790085346892983794">सफलता</translation> +<translation id="579415080077680903">साइलेन्ट मोड</translation> <translation id="5820394555380036790">Chromium OS</translation> <translation id="5837036133683224804"><ph name="RECEIVER_NAME" /> मा <ph name="ROUTE_TITLE" /> बन्द गर्नुहोस्</translation> <translation id="5860033963881614850">बन्द</translation> @@ -444,6 +455,7 @@ <translation id="5911909173233110115"><ph name="USERNAME" /> (<ph name="MAIL" />)</translation> <translation id="5916664084637901428">अन</translation> <translation id="5920710855273935292">माइक म्युट गरिएको छ।</translation> +<translation id="5946788582095584774"><ph name="FEATURE_NAME" /> अन छ।</translation> <translation id="5947494881799873997">उल्टाउनुहोस्</translation> <translation id="595202126637698455">प्रदर्शन ट्रेसिङ सक्षम गरियो</translation> <translation id="5957083217255311415">मोबाइल डेटा निष्क्रिय पारिएको छ।</translation> @@ -468,6 +480,7 @@ <translation id="615957422585914272">अन-स्क्रिन कुञ्जीपाटी देखाउनुहोस्</translation> <translation id="6164005077879661055">यस पर्यवेक्षित प्रयोगकर्तालाई हटाइसकेपछि पर्यवेक्षित प्रयोगकर्तासँग सम्बन्धित सबै फाइलहरू र स्थानीय डाटालाई स्थायी रूपमा मेटाइनेछ। भ्रमण गरिएका वेबसाइटहरू र यस पर्यवेक्षित प्रयोगकर्ताको सेटिङहरूलाई व्यवस्थापकले अझै पनि <ph name="MANAGEMENT_URL" /> मा देख्न सक्छ।</translation> <translation id="6165508094623778733">थप जान्नुहोस्</translation> +<translation id="6192859646269780503">फोन रहेको स्थान पत्ता लगाउनुहोस्</translation> <translation id="622484624075952240">तल</translation> <translation id="6236290670123303279">सेटिङहरूको व्यवस्थापन गर्नुहोस्</translation> <translation id="6237231532760393653">1X</translation> @@ -539,6 +552,7 @@ <translation id="6981982820502123353">पहुँच</translation> <translation id="698231206551913481">एक पटक यस प्रयोगकर्तालाई मेटाइएपछि यस प्रयोगकर्तासँग सम्बन्धित सबै फाइलहरू र स्थानीय डेटा सदाका लागि मेटिनेछन्।</translation> <translation id="7007983414944123363">तपाईंको PIN वा पासवर्ड पुष्टि गर्न सकिएन। फेरि प्रयास गर्नुहोस्।</translation> +<translation id="7013005189539051442">हटस्पट सक्षम पार्नुहोस्</translation> <translation id="7015766095477679451"><ph name="COME_BACK_TIME" /> मा फर्केर आउनुहोस्।</translation> <translation id="7025533177575372252">तपाईंको <ph name="DEVICE_NAME" /> लाई आफ्नो फोनसँग जोड्नुहोस्</translation> <translation id="7026338066939101231">घटाई</translation> @@ -573,6 +587,7 @@ <translation id="742594950370306541">क्यामेरा प्रयोगमा छ।</translation> <translation id="742608627846767349">नमस्ते,</translation> <translation id="743058460480092004">क्यामेरा र माइक्रोफोन प्रयोगमा छ।</translation> +<translation id="7461924472993315131">पिन</translation> <translation id="7466449121337984263">कृपया फिंगरप्रिन्ट सेन्सरमा छुनुहोस्</translation> <translation id="7477793887173910789">आफ्नो सङ्गीत, भिडियो र थप कुराहरू नियन्त्रण गर्नुहोस्</translation> <translation id="7497767806359279797">भाषा तथा किबोर्ड छनौट गर्नुहोस्</translation> @@ -611,6 +626,7 @@ <translation id="7842569679327885685">चेतावनी: परीक्षणको क्रममा रहेको सुविधा</translation> <translation id="7846634333498149051">किबोर्ड</translation> <translation id="7868900307798234037">फिंगरप्रिन्टमार्फत अनलक गर्दै</translation> +<translation id="7872786842639831132">अफ छ</translation> <translation id="7886169021410746335">गोपनीयतासम्बन्धी सेटिङहरूको समायोजन गर्नुहोस्</translation> <translation id="7886277072580235377">तपाईं साइन आउट हुँदा तपाईंको इन्टरनेट सत्र खाली गरिने छ। <ph name="LEARN_MORE" /></translation> <translation id="788781083998633524">इमेल पठाउनुहोस्</translation> @@ -715,6 +731,7 @@ <translation id="8853703225951107899">तपाईंको PIN वा पासवर्ड अझै पनि पुष्टि गर्न सकिएन। याद राख्नुहोस्: तपाईंले हालसालै आफ्नो पासवर्ड बदल्नुभएको छ भने आफ्नो पुरानो पासवर्ड प्रयोग गरी साइन इन गर्नुहोस्। तपाईं साइन आउट हुनेबित्तिकै तपाईंको नयाँ पासवर्डले काम गर्न थाल्ने छ।</translation> <translation id="885387440427703469">स्क्रिन क्याप्चर गर्ने सुविधा असक्षम पारिएको छ</translation> <translation id="8870509716567206129">अनुप्रयोगले विभाजित-स्क्रिनलाई समर्थन गर्दैन।</translation> +<translation id="8871580645200179206">अँध्यारो थिम अन/अफ गर्नुहोस्। <ph name="STATE_TEXT" /></translation> <translation id="8874184842967597500">जडित छैन</translation> <translation id="8877788021141246043">कुनै रिमाइन्डर सेट गर्नुहोस्</translation> <translation id="8878886163241303700">स्क्रिनलाई विस्तार गर्दै</translation>
diff --git a/ash/strings/ash_strings_nl.xtb b/ash/strings/ash_strings_nl.xtb index 09b80095..2847bd0 100644 --- a/ash/strings/ash_strings_nl.xtb +++ b/ash/strings/ash_strings_nl.xtb
@@ -169,6 +169,7 @@ <translation id="2706462751667573066">Omhoog</translation> <translation id="2718395828230677721">Nachtlicht</translation> <translation id="2727977024730340865">Aangesloten op een laag-vermogen-lader. Opladen van de batterij mogelijk niet betrouwbaar.</translation> +<translation id="2743387203779672305">Kopiëren naar klembord</translation> <translation id="2792498699870441125">Alt+Zoeken</translation> <translation id="2819276065543622893">Je wordt nu uitgelogd.</translation> <translation id="2825224105325558319"><ph name="DISPLAY_NAME" /> ondersteunt <ph name="SPECIFIED_RESOLUTION" /> niet. De resolutie is gewijzigd in <ph name="FALLBACK_RESOLUTION" />.</translation> @@ -586,6 +587,7 @@ <translation id="742594950370306541">Camera is in gebruik.</translation> <translation id="742608627846767349">Goedemorgen,</translation> <translation id="743058460480092004">Camera en microfoon zijn in gebruik.</translation> +<translation id="7461924472993315131">Vastzetten</translation> <translation id="7466449121337984263">Raak de sensor aan</translation> <translation id="7477793887173910789">Je muziek, video's en meer bedienen</translation> <translation id="7497767806359279797">Taal en toetsenbord kiezen</translation>
diff --git a/ash/strings/ash_strings_no.xtb b/ash/strings/ash_strings_no.xtb index f6ddb3f..91a2948 100644 --- a/ash/strings/ash_strings_no.xtb +++ b/ash/strings/ash_strings_no.xtb
@@ -169,6 +169,7 @@ <translation id="2706462751667573066">Opp</translation> <translation id="2718395828230677721">Nattlys</translation> <translation id="2727977024730340865">Tilkoblet laveffektslader. Batteriladingen kan være upålitelig.</translation> +<translation id="2743387203779672305">Kopiér til utklippstavlen</translation> <translation id="2792498699870441125">Alt + Søk</translation> <translation id="2819276065543622893">Du blir nå logget av.</translation> <translation id="2825224105325558319"><ph name="DISPLAY_NAME" /> støtter ikke <ph name="SPECIFIED_RESOLUTION" />. Oppløsningen ble endret til <ph name="FALLBACK_RESOLUTION" />.</translation> @@ -586,6 +587,7 @@ <translation id="742594950370306541">Kameraet er i bruk.</translation> <translation id="742608627846767349">God morgen</translation> <translation id="743058460480092004">Kameraet og mikrofonen er i bruk.</translation> +<translation id="7461924472993315131">Fest</translation> <translation id="7466449121337984263">Trykk på sensoren</translation> <translation id="7477793887173910789">Styr musikk, video og mer</translation> <translation id="7497767806359279797">Velg språk og tastatur</translation>
diff --git a/ash/strings/ash_strings_or.xtb b/ash/strings/ash_strings_or.xtb index 2255efe..f1196f41 100644 --- a/ash/strings/ash_strings_or.xtb +++ b/ash/strings/ash_strings_or.xtb
@@ -166,6 +166,7 @@ <translation id="2706462751667573066">ଅପ୍ କୀ</translation> <translation id="2718395828230677721">ରାତି ଆଲୋକ</translation> <translation id="2727977024730340865">କମ୍-ପାୱର୍ଯୁକ୍ତ ଚାର୍ଜର୍। ବ୍ୟାଟେରୀ ଚାର୍ଜିଂ ନିର୍ଭରଯୋଗ୍ୟ ହୋଇନପାରେ।</translation> +<translation id="2743387203779672305">କ୍ଲିପ୍ବୋର୍ଡକୁ କପି କରନ୍ତୁ</translation> <translation id="2792498699870441125">Alt+Search</translation> <translation id="2819276065543622893">ବର୍ତ୍ତମାନ, ଆପଣଙ୍କୁ ସାଇନ୍ ଆଉଟ୍ କରିଦିଆଯିବ।</translation> <translation id="2825224105325558319"><ph name="DISPLAY_NAME" />, <ph name="SPECIFIED_RESOLUTION" />କୁ ସମର୍ଥନ କରେ ନାହିଁ। ରିଜୋଲ୍ୟୁସନକୁ <ph name="FALLBACK_RESOLUTION" />ରେ ବଦଳା ଯାଇଥିଲା।</translation> @@ -573,6 +574,7 @@ <translation id="742594950370306541">କ୍ୟାମେରା ବ୍ୟବହାରରେ ଅଛି।</translation> <translation id="742608627846767349">ସୁପ୍ରଭାତ,</translation> <translation id="743058460480092004">କ୍ୟାମେରା ଓ ମାଇକ୍ରୋଫୋନ୍ ବ୍ୟବହାରରେ ଅଛି।</translation> +<translation id="7461924472993315131">ପିନ୍</translation> <translation id="7466449121337984263">ଦୟାକରି ସେନସରକୁ ସ୍ପର୍ଶ କରନ୍ତୁ</translation> <translation id="7477793887173910789">ଆପଣଙ୍କର ସଙ୍ଗୀତ, ଭିଡିଓଗୁଡ଼ିକ ଏବଂ ଆହୁରି ଅନେକ କିଛିକୁ ନିୟନ୍ତ୍ରଣ କରନ୍ତୁ</translation> <translation id="7497767806359279797">ଭାଷା ଏବଂ କୀବୋର୍ଡ ବାଛନ୍ତୁ</translation>
diff --git a/ash/strings/ash_strings_pa.xtb b/ash/strings/ash_strings_pa.xtb index 65872284..43ec3a40 100644 --- a/ash/strings/ash_strings_pa.xtb +++ b/ash/strings/ash_strings_pa.xtb
@@ -48,6 +48,7 @@ <translation id="1351937230027495976">ਮੀਨੂ ਸਮੇਟੋ</translation> <translation id="1383876407941801731">ਖੋਜੋ</translation> <translation id="1391102559483454063">ਚਾਲੂ</translation> +<translation id="1407069428457324124">ਗੂੜ੍ਹਾ ਥੀਮ</translation> <translation id="1419738280318246476">ਸੂਚਨਾ 'ਤੇ ਕਾਰਵਾਈ ਕਰਨ ਲਈ ਡੀਵਾਈਸ ਨੂੰ ਅਣਲਾਕ ਕਰੋ</translation> <translation id="1420408895951708260">ਰਾਤ ਦੀ ਰੋਸ਼ਨੀ ਨੂੰ ਟੌਗਲ ਕਰੋ। <ph name="STATE_TEXT" /></translation> <translation id="1420527829902822813">ਸਕ੍ਰੀਨਸ਼ਾਟ ਲਿਆ ਗਿਆ ਅਤੇ ਕਲਿੱਪਬੋਰਡ ਵਿੱਚ ਰੱਖਿਅਤ ਕੀਤਾ ਗਿਆ</translation> @@ -65,6 +66,7 @@ <translation id="1550523713251050646">ਹੋਰ ਵਿਕਲਪਾਂ ਲਈ ਕਲਿੱਕ ਕਰੋ</translation> <translation id="1570871743947603115">ਬਲੂਟੁੱਥ ਟੌਗਲ ਕਰੋ। <ph name="STATE_TEXT" /></translation> <translation id="1589090746204042747">ਇਸ ਸ਼ੈਸ਼ਨ ਦੀ ਆਪਣੀ ਸਾਰੀ ਸਰਗਰਮੀ ਤੱਕ ਪਹੁੰਚ ਕਰੋ</translation> +<translation id="1611993646327628135">ਚਾਲੂ ਕਰੋ</translation> <translation id="1632985212731562677">ਸਵਿੱਚ ਪਹੁੰਚ ਨੂੰ ਸੈਟਿੰਗਾਂ > ਪਹੁੰਚਯੋਗਤਾ ਵਿੱਚ ਜਾ ਕੇ ਬੰਦ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।</translation> <translation id="1654477262762802994">ਅਵਾਜ਼ੀ ਪੁੱਛਗਿੱਛ ਸ਼ੁਰੂ ਕਰੋ</translation> <translation id="1667964833127753507">ਨਿਰਪੱਖ ਰੰਗ ਮੋਡ ਨਿਰਪੱਖ ਰੰਗ ਵਾਲੇ ਹਲਕੇ ਜਾਂ ਗੂੜ੍ਹੇ ਰੰਗ ਦੀਆਂ ਭਾਹਾਂ ਵਾਲੇ ਸੈੱਟ ਦੀ ਜਗ੍ਹਾ ਵਾਲਪੇਪਰ ਤੋਂ ਐਕਸਟ੍ਰੈਕਟ ਕੀਤੇ ਰੰਗਾਂ ਨੂੰ ਨਹੀਂ ਵਰਤਦਾ।</translation> @@ -79,6 +81,7 @@ <translation id="1761222317188459878">ਨੈੱਟਵਰਕ ਕਨੈਕਸ਼ਨ ਟੌਗਲ ਕਰੋ। <ph name="STATE_TEXT" /></translation> <translation id="1771761307086386028">ਸੱਜੇ ਪਾਸੇ ਸਕ੍ਰੋਲ ਕਰੋ</translation> <translation id="1782199038061388045">ਅਨੁਵਾਦ</translation> +<translation id="1787955149152357925">ਬੰਦ ਕਰੋ</translation> <translation id="181103072419391116">ਸਿਗਨਲ ਦੀ ਤੀਬਰਤਾ <ph name="SIGNAL_STRENGTH" />, ਤੁਹਾਡੇ ਪ੍ਰਸ਼ਾਸਕ ਵੱਲੋਂ ਪ੍ਰਬੰਧਿਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ</translation> <translation id="1812997170047690955">ਮੇਰੀ ਸਕ੍ਰੀਨ 'ਤੇ ਕਿਹੜੀ ਸਮੱਗਰੀ ਮੌਜੂਦ ਹੈ?</translation> <translation id="1823873187264960516">ਈਥਰਨੈੱਟ: <ph name="ADDRESS" /></translation> @@ -166,6 +169,7 @@ <translation id="2706462751667573066">ਉੱਪਰ</translation> <translation id="2718395828230677721">ਰਾਤ ਦੀ ਰੋਸ਼ਨੀ</translation> <translation id="2727977024730340865">ਇੱਕ ਘੱਟ-ਪਾਵਰ ਦੇ ਚਾਰਜਰ ਨਾਲ ਪਲੱਗ-ਇਨ ਕੀਤਾ ਗਿਆ। ਬੈਟਰੀ ਚਾਰਜਿੰਗ ਭਰੋਸੇਯੋਗ ਨਹੀਂ ਵੀ ਹੋ ਸਕਦੀ।</translation> +<translation id="2743387203779672305">ਕਲਿੱਪਬੋਰਡ 'ਤੇ ਕਾਪੀ ਕਰੋ</translation> <translation id="2792498699870441125">Alt+Search</translation> <translation id="2819276065543622893">ਤੁਹਾਨੂੰ ਹੁਣ ਸਾਈਨ ਆਉਟ ਕੀਤਾ ਜਾਏਗਾ।</translation> <translation id="2825224105325558319"><ph name="DISPLAY_NAME" />, <ph name="SPECIFIED_RESOLUTION" /> ਦਾ ਸਮਰਥਨ ਨਹੀਂ ਕਰਦਾ। ਰੈਜ਼ੋਲਿਊਸ਼ਨ <ph name="FALLBACK_RESOLUTION" /> ਵਿੱਚ ਬਦਲਿਆ ਗਿਆ ਸੀ।</translation> @@ -201,6 +205,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3081696990447829002">ਮੀਨੂ ਦਾ ਵਿਸਤਾਰ ਕਰੋ</translation> <translation id="3087734570205094154">ਹੇਠਲਾ</translation> +<translation id="3090989381251959936"><ph name="FEATURE_NAME" /> ਨੂੰ ਟੌਗਲ ਕਰੋ। <ph name="STATE_TEXT" /></translation> <translation id="309749186376891736">ਕਰਸਰ ਹਿਲਾਓ</translation> <translation id="3098580329624789136">"<ph name="QUERY" />" ਲਈ <ph name="INTENT" /> ਪ੍ਰਾਪਤ ਕਰੋ</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (ਬਲੂਟੁੱਥ)</translation> @@ -233,6 +238,7 @@ <translation id="3371140690572404006">USB-C ਡੀਵਾਈਸ (ਸੱਜੇ ਪਾਸੇ ਅਗਲਾ ਪੋਰਟ)</translation> <translation id="3386978599540877378">ਪੂਰੀ-ਸਕ੍ਰੀਨ ਵੱਡਦਰਸ਼ੀ</translation> <translation id="3400357268283240774">ਵਾਧੂ ਸੈਟਿੰਗਾਂ</translation> +<translation id="3410336247007142655">ਗੂੜ੍ਹੇ ਥੀਮ ਦੀਆਂ ਸੈਟਿੰਗਾਂ ਦਿਖਾਓ</translation> <translation id="3413817803639110246">ਅਜੇ ਦੇਖਣ ਲਈ ਕੁਝ ਨਹੀਂ ਹੈ</translation> <translation id="3428447136709161042"><ph name="NETWORK_NAME" /> ਤੋਂ ਡਿਸਕਨੈਕਟ ਕਰੋ</translation> <translation id="3430396595145920809">ਪਿੱਛੇ ਜਾਣ ਲਈ ਸੱਜੇ ਪਾਸੇ ਤੋਂ ਸਵਾਈਪ ਕਰੋ</translation> @@ -326,6 +332,7 @@ <translation id="4378551569595875038">ਕਨੈਕਟ ਕਰ ਰਿਹਾ ਹੈ...</translation> <translation id="4379531060876907730">ਇਹ ਤੁਹਾਡੇ ਸਟਾਈਲਸ ਟੂਲ ਹਨ</translation> <translation id="4389184120735010762">ਤੁਸੀਂ ਡੌਕ ਕੀਤੇ ਵੱਡਦਰਸ਼ੀ ਲਈ ਕੀ-ਬੋਰਡ ਸ਼ਾਰਟਕੱਟ ਦਬਾਇਆ ਹੈ। ਕੀ ਤੁਸੀਂ ਇਸਨੂੰ ਚਾਲੂ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?</translation> +<translation id="4412944820643904175"><ph name="FEATURE_NAME" /> ਬੰਦ ਹੈ।</translation> <translation id="4421231901400348175">ਰਿਮੋਟ ਸਹਾਇਤਾ ਰਾਹੀਂ <ph name="HELPER_NAME" /> ਨਾਲ ਤੁਹਾਡੀ ਸਕ੍ਰੀਨ ਦਾ ਨਿਯੰਤਰਣ ਸ਼ੇਅਰ ਕਰ ਰਿਹਾ ਹੈ।</translation> <translation id="4430019312045809116">ਵੌਲਿਊਮ</translation> <translation id="4450893287417543264">ਦੁਬਾਰਾ ਨਾ ਦਿਖਾਓ</translation> @@ -345,6 +352,7 @@ <translation id="4570957409596482333">'ਚੁਣੋ ਅਤੇ ਸੁਣੋ' ਬਟਨ</translation> <translation id="4577274620589681794">ਸਮਾਂ ਸਮਾਪਤ ਹੋਇਆ · <ph name="LABEL" /></translation> <translation id="4585337515783392668">ਕਿਸੇ ਅਗਿਆਤ ਪ੍ਰਾਪਤਕਰਤਾ 'ਤੇ ਕਾਸਟ ਕਰਨਾ ਬੰਦ ਕਰੋ</translation> +<translation id="4596144739579517758">ਗੂੜ੍ਹਾ ਥੀਮ ਬੰਦ ਹੈ।</translation> <translation id="4623167406982293031">ਖਾਤੇ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ</translation> <translation id="4628757576491864469">ਡਿਵਾਈਸਾਂ</translation> <translation id="4659419629803378708">ChromeVox ਯੋਗ ਬਣਾਇਆ ਗਿਆ ਹੈ</translation> @@ -387,6 +395,7 @@ <translation id="5168181903108465623">ਕਾਸਟ ਡਿਵਾਈਸਾਂ ਉਪਲਬਧ</translation> <translation id="5170568018924773124">ਫੋਲਡਰ ਵਿੱਚ ਦਿਖਾਓ</translation> <translation id="5207949376430453814">ਲਿਖਤ ਕੈਰੇਟ ਨੂੰ ਉਜਾਗਰ ਕਰੋ</translation> +<translation id="5208059991603368177">ਚਾਲੂ ਕਰੋ</translation> <translation id="5222676887888702881">ਸਾਈਨ-ਆਊਟ ਕਰੋ</translation> <translation id="523505283826916779">ਪਹੁੰਚਯੋਗਤਾ ਸੈਟਿੰਗਾਂ</translation> <translation id="5260676007519551770">ਡੈਸਕ 4</translation> @@ -398,6 +407,7 @@ <translation id="5313326810920013265">ਬਲੂਟੁੱਥ ਸੈਟਿੰਗਾਂ</translation> <translation id="5314219114274263156">ਸਕ੍ਰੀਨ ਰਿਕਾਰਡਿੰਗ ਕੀਤੀ ਗਈ</translation> <translation id="5331975486040154427">USB-C ਡੀਵਾਈਸ (ਖੱਬੇ ਪਾਸੇ ਪਿੱਛੇ ਦਾ ਪੋਰਟ)</translation> +<translation id="5352250171825660495">ਗੂੜ੍ਹਾ ਥੀਮ ਚਾਲੂ ਹੈ</translation> <translation id="5379115545237091094">ਬਹੁਤ ਸਾਰੀਆਂ ਕੋਸ਼ਿਸ਼ਾਂ</translation> <translation id="5397578532367286026">ਇਸ ਵਰਤੋਂਕਾਰ ਦੀ ਵਰਤੋਂ ਅਤੇ ਇਤਿਹਾਸ ਦੀ ਸਮੀਖਿਆ ਪ੍ਰਬੰਧਕ (<ph name="MANAGER_EMAIL" />) ਵੱਲੋਂ chrome.com 'ਤੇ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ।</translation> <translation id="5400461572260843123">ਤਤਕਾਲ ਸੈਟਿੰਗਾਂ, ਸੂਚਨਾ ਕੇਂਦਰ 'ਤੇ ਜਾਣ ਲਈ search + left ਦਬਾਓ।</translation> @@ -434,6 +444,7 @@ <translation id="5769373120130404283">ਪਰਦੇਦਾਰੀ ਸਕ੍ਰੀਨ</translation> <translation id="5777841717266010279">ਕੀ ਸਕ੍ਰੀਨ ਸ਼ੇਅਰਿੰਗ ਰੋਕਣੀ ਹੈ?</translation> <translation id="5790085346892983794">ਸਫਲਤਾ</translation> +<translation id="579415080077680903">ਖਮੋਸ਼ੀ</translation> <translation id="5820394555380036790">Chromium OS</translation> <translation id="5837036133683224804"><ph name="RECEIVER_NAME" /> 'ਤੇ <ph name="ROUTE_TITLE" /> ਨੂੰ ਬੰਦ ਕਰੋ</translation> <translation id="5860033963881614850">ਬੰਦ ਕਰੋ</translation> @@ -444,6 +455,7 @@ <translation id="5911909173233110115"><ph name="USERNAME" /> (<ph name="MAIL" />)</translation> <translation id="5916664084637901428">ਚਾਲੂ</translation> <translation id="5920710855273935292">ਮਾਈਕ ਨੂੰ ਮਿਊਟ ਕੀਤਾ ਹੋਇਆ ਹੈ।</translation> +<translation id="5946788582095584774"><ph name="FEATURE_NAME" /> ਚਾਲੂ ਹੈ।</translation> <translation id="5947494881799873997">ਵਾਪਸ ਲਿਆਓ</translation> <translation id="595202126637698455">ਪ੍ਰਦਰਸ਼ਨ ਟ੍ਰੇਸਿੰਗ ਸਮਰਥਿਤ</translation> <translation id="5957083217255311415">ਮੋਬਾਈਲ ਡਾਟਾ ਬੰਦ ਕੀਤਾ ਹੋਇਆ ਹੈ।</translation> @@ -468,6 +480,7 @@ <translation id="615957422585914272">ਔਨ-ਸਕ੍ਰੀਨ ਕੀ-ਬੋਰਡ ਦਿਖਾਓ</translation> <translation id="6164005077879661055">ਇਸ ਵਰਤੋਂਕਾਰ ਨੂੰ ਹਟਾਏ ਜਾਣ ਤੋਂ ਬਾਅਦ ਇਸ ਵਰਤੋਂਕਾਰ ਨਾਲ ਸੰਬੰਧਿਤ ਸਾਰੀਆਂ ਫ਼ਾਈਲਾਂ ਅਤੇ ਸਥਾਨਕ ਡਾਟਾ ਸਥਾਈ ਤੌਰ 'ਤੇ ਮਿਟਾ ਦਿੱਤਾ ਜਾਵੇਗਾ। ਇਸ ਨਿਗਰਨੀ ਕੀਤੇ ਵਰਤੋਂਕਾਰ ਦੀਆਂ ਦੇਖੀਆਂ ਗਈਆਂ ਵੈੱਬਸਾਈਟਾਂ ਅਤੇ ਸੈਟਿੰਗਾਂ 'ਤੇ ਪ੍ਰਬੰਧਕ ਵੱਲੋਂ ਅਜੇ ਵੀ ਦੇਖੀਆਂ ਜਾ ਸਕਦੀਆਂ ਹਨ <ph name="MANAGEMENT_URL" />।</translation> <translation id="6165508094623778733">ਹੋਰ ਜਾਣੋ</translation> +<translation id="6192859646269780503">ਫ਼ੋਨ ਦਾ ਪਤਾ ਲਗਾਓ</translation> <translation id="622484624075952240">ਹੇਠਾਂ</translation> <translation id="6236290670123303279">ਸੈਟਿੰਗਾਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰੋ</translation> <translation id="6237231532760393653">1X</translation> @@ -539,6 +552,7 @@ <translation id="6981982820502123353">ਪਹੁੰਚਯੋਗਤਾ</translation> <translation id="698231206551913481">ਇਸ ਵਰਤੋਂਕਾਰ ਦੇ ਹਟਾਏ ਜਾਣ ਤੋਂ ਬਾਅਦ ਇਸ ਵਰਤੋਂਕਾਰ ਨਾਲ ਸਬੰਧਿਤ ਸਾਰੀਆਂ ਫ਼ਾਈਲਾਂ ਅਤੇ ਸਥਾਨਕ ਡਾਟੇ ਨੂੰ ਸਥਾਈ ਤੌਰ 'ਤੇ ਮਿਟਾ ਦਿੱਤਾ ਜਾਵੇਗਾ।</translation> <translation id="7007983414944123363">ਤੁਹਾਡੇ ਪਿੰਨ ਜਾਂ ਪਾਸਵਰਡ ਦੀ ਪੁਸ਼ਟੀ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕੀ। ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।</translation> +<translation id="7013005189539051442">ਹੌਟਸਪੌਟ ਚਾਲੂ ਕਰੋ</translation> <translation id="7015766095477679451"><ph name="COME_BACK_TIME" /> ਵਜੇ ਡੀਵਾਈਸ ਦੁਬਾਰਾ ਵਰਤੋ।</translation> <translation id="7025533177575372252">ਆਪਣੇ ਫ਼ੋਨ ਨਾਲ ਆਪਣੇ <ph name="DEVICE_NAME" /> ਨੂੰ ਕਨੈਕਟ ਕਰੋ</translation> <translation id="7026338066939101231">ਘਟਾਓ</translation> @@ -573,6 +587,7 @@ <translation id="742594950370306541">ਕੈਮਰਾ ਵਰਤੋਂ ਵਿੱਚ ਹੈ।</translation> <translation id="742608627846767349">ਸਤਿ ਸ੍ਰੀ ਅਕਾਲ,</translation> <translation id="743058460480092004">ਕੈਮਰਾ ਅਤੇ ਮਾਈਕ੍ਰੋਫੋਨ ਵਰਤੋਂ ਵਿੱਚ ਹਨ।</translation> +<translation id="7461924472993315131">Pin</translation> <translation id="7466449121337984263">ਕਿਰਪਾ ਕਰਕੇ ਸੈਂਸਰ ਨੂੰ ਸਪਰਸ਼ ਕਰੋ</translation> <translation id="7477793887173910789">ਆਪਣਾ ਸੰਗੀਤ, ਵੀਡੀਓ ਕੰਟਰੋਲ ਕਰੋ ਅਤੇ ਹੋਰ ਬਹੁਤ ਕੁਝ</translation> <translation id="7497767806359279797">ਭਾਸ਼ਾ ਅਤੇ ਕੀ-ਬੋਰਡ ਚੁਣੋ</translation> @@ -611,6 +626,7 @@ <translation id="7842569679327885685">ਚਿਤਾਵਨੀ: ਪ੍ਰਯੋਗਮਈ ਵਿਸ਼ੇਸ਼ਤਾ</translation> <translation id="7846634333498149051">ਕੀ-ਬੋਰਡ</translation> <translation id="7868900307798234037">ਫਿੰਗਰਪ੍ਰਿੰਟ ਨਾਲ ਅਣਲਾਕ ਕਰਨਾ</translation> +<translation id="7872786842639831132">ਬੰਦ ਕਰੋ</translation> <translation id="7886169021410746335">ਪਰਦੇਦਾਰੀ ਸੈਟਿੰਗਾਂ ਵਿਵਸਥਿਤ ਕਰੋ</translation> <translation id="7886277072580235377">ਤੁਹਾਡੇ ਵੱਲੋਂ ਸਾਈਨ-ਆਊਟ ਕਰਨ 'ਤੇ ਤੁਹਾਡੇ ਇੰਟਰਨੈੱਟ ਸੈਸ਼ਨ ਨੂੰ ਕਲੀਅਰ ਕਰ ਦਿੱਤਾ ਜਾਵੇਗਾ। <ph name="LEARN_MORE" /></translation> <translation id="788781083998633524">ਕੋਈ ਈਮੇਲ ਭੇਜੋ</translation> @@ -715,6 +731,7 @@ <translation id="8853703225951107899">ਤੁਹਾਡੇ ਪਿੰਨ ਜਾਂ ਪਾਸਵਰਡ ਦੀ ਹਾਲੇ ਵੀ ਪੁਸ਼ਟੀ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕੀ। ਨੋਟ ਕਰੋ: ਜੇ ਤੁਸੀਂ ਹਾਲ ਹੀ ਵਿੱਚ ਆਪਣਾ ਪਾਸਵਰਡ ਬਦਲਿਆ ਹੈ, ਤਾਂ ਆਪਣਾ ਪੁਰਾਣਾ ਪਾਸਵਰਡ ਵਰਤੋ। ਇੱਕ ਵਾਰ ਸਾਈਨ-ਆਊਟ ਕਰਨ 'ਤੇ ਤੁਹਾਡਾ ਨਵਾਂ ਪਾਸਵਰਡ ਲਾਗੂ ਕੀਤਾ ਜਾਵੇਗਾ।</translation> <translation id="885387440427703469">ਸਕ੍ਰੀਨ ਨੂੰ ਕੈਪਚਰ ਕਰਨਾ ਬੰਦ ਕੀਤਾ ਗਿਆ</translation> <translation id="8870509716567206129">ਐਪ ਸਪਲਿਟ ਸਕ੍ਰੀਨ ਦਾ ਸਮਰਥਨ ਨਹੀਂ ਕਰਦੀ।</translation> +<translation id="8871580645200179206">ਗੂੜ੍ਹੇ ਥੀਮ ਨੂੰ ਟੌਗਲ ਕਰੋ। <ph name="STATE_TEXT" /></translation> <translation id="8874184842967597500">ਕਨੈਕਟ ਨਹੀਂ ਹੈ</translation> <translation id="8877788021141246043">ਕੋਈ ਯਾਦ-ਸੂਚਨਾ ਸੈੱਟ ਕਰੋ</translation> <translation id="8878886163241303700">ਸਕ੍ਰੀਨ ਦਾ ਵਿਸਤਾਰ ਕਰ ਰਿਹਾ ਹੈ</translation>
diff --git a/ash/strings/ash_strings_pl.xtb b/ash/strings/ash_strings_pl.xtb index a382391..fac8d76 100644 --- a/ash/strings/ash_strings_pl.xtb +++ b/ash/strings/ash_strings_pl.xtb
@@ -169,6 +169,7 @@ <translation id="2706462751667573066">W górę</translation> <translation id="2718395828230677721">Podświetlenie</translation> <translation id="2727977024730340865">Podłączono ładowarkę o małej mocy. Ładowanie baterii może być nieprawidłowe.</translation> +<translation id="2743387203779672305">Skopiuj do schowka</translation> <translation id="2792498699870441125">Alt+Szukaj</translation> <translation id="2819276065543622893">Zostaniesz teraz wylogowany.</translation> <translation id="2825224105325558319"><ph name="DISPLAY_NAME" /> nie obsługuje ustawienia <ph name="SPECIFIED_RESOLUTION" />. Rozdzielczość została zmieniona na <ph name="FALLBACK_RESOLUTION" />.</translation> @@ -586,6 +587,7 @@ <translation id="742594950370306541">Aparat jest używany.</translation> <translation id="742608627846767349">Dzień dobry,</translation> <translation id="743058460480092004">Aparat i mikrofon są używane.</translation> +<translation id="7461924472993315131">Przypnij</translation> <translation id="7466449121337984263">Dotknij czytnika</translation> <translation id="7477793887173910789">Steruj filmami, muzyką i innymi multimediami</translation> <translation id="7497767806359279797">Wybierz język i klawiaturę</translation>
diff --git a/ash/strings/ash_strings_pt-BR.xtb b/ash/strings/ash_strings_pt-BR.xtb index e2b15fa..1bf486a 100644 --- a/ash/strings/ash_strings_pt-BR.xtb +++ b/ash/strings/ash_strings_pt-BR.xtb
@@ -169,6 +169,7 @@ <translation id="2706462751667573066">Para cima</translation> <translation id="2718395828230677721">Modo noturno</translation> <translation id="2727977024730340865">Conectado a um carregador de baixa potência. O carregamento da bateria pode não ser confiável.</translation> +<translation id="2743387203779672305">Copiar para área de transferência</translation> <translation id="2792498699870441125">Alt + Pesquisar</translation> <translation id="2819276065543622893">Você sairá agora.</translation> <translation id="2825224105325558319"><ph name="DISPLAY_NAME" /> não é compatível com <ph name="SPECIFIED_RESOLUTION" />. A resolução foi modificada para <ph name="FALLBACK_RESOLUTION" />.</translation> @@ -587,6 +588,7 @@ <translation id="742594950370306541">A câmera está em uso.</translation> <translation id="742608627846767349">Bom dia,</translation> <translation id="743058460480092004">A câmera e o microfone estão em uso.</translation> +<translation id="7461924472993315131">Fixar</translation> <translation id="7466449121337984263">Toque no sensor</translation> <translation id="7477793887173910789">Controle suas músicas, seus vídeos e muito mais</translation> <translation id="7497767806359279797">Escolher idioma e teclado</translation>
diff --git a/ash/strings/ash_strings_pt-PT.xtb b/ash/strings/ash_strings_pt-PT.xtb index 16dc1c1..0f0a06c5 100644 --- a/ash/strings/ash_strings_pt-PT.xtb +++ b/ash/strings/ash_strings_pt-PT.xtb
@@ -169,6 +169,7 @@ <translation id="2706462751667573066">Para cima</translation> <translation id="2718395828230677721">Luz noturna</translation> <translation id="2727977024730340865">Ligado a um carregador de baixo consumo. O carregamento da bateria pode não ser fiável.</translation> +<translation id="2743387203779672305">Copiar para a área de transferência</translation> <translation id="2792498699870441125">Alt + Pesquisar</translation> <translation id="2819276065543622893">A sessão será terminada agora.</translation> <translation id="2825224105325558319"><ph name="DISPLAY_NAME" /> não suporta <ph name="SPECIFIED_RESOLUTION" />. A resolução foi alterada para <ph name="FALLBACK_RESOLUTION" />.</translation> @@ -586,6 +587,7 @@ <translation id="742594950370306541">A câmara está a ser utilizada.</translation> <translation id="742608627846767349">Bom dia,</translation> <translation id="743058460480092004">A câmara e o microfone estão a ser utilizados.</translation> +<translation id="7461924472993315131">Fixar</translation> <translation id="7466449121337984263">Toque no sensor.</translation> <translation id="7477793887173910789">Controle a sua música, vídeos e muito mais.</translation> <translation id="7497767806359279797">Escolher idioma e teclado</translation>
diff --git a/ash/strings/ash_strings_ro.xtb b/ash/strings/ash_strings_ro.xtb index f4366fa..b61ff92 100644 --- a/ash/strings/ash_strings_ro.xtb +++ b/ash/strings/ash_strings_ro.xtb
@@ -48,6 +48,7 @@ <translation id="1351937230027495976">Restrânge meniul</translation> <translation id="1383876407941801731">Caută</translation> <translation id="1391102559483454063">Activată</translation> +<translation id="1407069428457324124">Temă întunecată</translation> <translation id="1419738280318246476">Deblochează dispozitivul pentru efectuarea acțiunii de notificare</translation> <translation id="1420408895951708260">Comută Lumina de noapte. <ph name="STATE_TEXT" /></translation> <translation id="1420527829902822813">S-a realizat captura de ecran și s-a salvat în clipboard</translation> @@ -65,6 +66,7 @@ <translation id="1550523713251050646">Dă clic pentru mai multe opțiuni</translation> <translation id="1570871743947603115">Comută Bluetooth. <ph name="STATE_TEXT" /></translation> <translation id="1589090746204042747">să acceseze toată activitatea din această sesiune;</translation> +<translation id="1611993646327628135">Activat</translation> <translation id="1632985212731562677">Accesul prin comutare poate fi dezactivat din Setări > Accesibilitate.</translation> <translation id="1654477262762802994">Începe o interogare vocală</translation> <translation id="1667964833127753507">Modul de culoare neutru nu folosește culori extrase din imaginea de fundal, ci le înlocuiește cu un set de culori deschise sau închise în tonuri neutre.</translation> @@ -79,6 +81,7 @@ <translation id="1761222317188459878">Comută conexiunea la rețea. <ph name="STATE_TEXT" /></translation> <translation id="1771761307086386028">Derulează la dreapta</translation> <translation id="1782199038061388045">traducere</translation> +<translation id="1787955149152357925">Dezactivată</translation> <translation id="181103072419391116">Puterea semnalului: <ph name="SIGNAL_STRENGTH" />, gestionată de administratorul tău</translation> <translation id="1812997170047690955">Ce este pe ecranul meu?</translation> <translation id="1823873187264960516">Ethernet: <ph name="ADDRESS" /></translation> @@ -166,6 +169,7 @@ <translation id="2706462751667573066">În sus</translation> <translation id="2718395828230677721">Lum. de noapte</translation> <translation id="2727977024730340865">V-ați conectat la un încărcător de putere joasă. Încărcarea bateriei poate fi nesigură.</translation> +<translation id="2743387203779672305">Copiați în clipboard</translation> <translation id="2792498699870441125">Alt+Căutare</translation> <translation id="2819276065543622893">Veți fi deconectat(ă) acum.</translation> <translation id="2825224105325558319"><ph name="DISPLAY_NAME" /> nu acceptă <ph name="SPECIFIED_RESOLUTION" />. Rezoluția a fost modificată la <ph name="FALLBACK_RESOLUTION" />.</translation> @@ -201,6 +205,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3081696990447829002">Extinde meniul</translation> <translation id="3087734570205094154">Jos</translation> +<translation id="3090989381251959936">Activează/dezactivează <ph name="FEATURE_NAME" />. <ph name="STATE_TEXT" /></translation> <translation id="309749186376891736">Mută cursorul</translation> <translation id="3098580329624789136">Solicită <ph name="INTENT" /> pentru „<ph name="QUERY" />”</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth)</translation> @@ -233,6 +238,7 @@ <translation id="3371140690572404006">Dispozitiv USB-C (portul din dreapta față)</translation> <translation id="3386978599540877378">lupa de ecran complet</translation> <translation id="3400357268283240774">Setări suplimentare</translation> +<translation id="3410336247007142655">Afișează setările pentru tema întunecată</translation> <translation id="3413817803639110246">Încă nu este nimic de văzut</translation> <translation id="3428447136709161042">Deconectează-te de la <ph name="NETWORK_NAME" /></translation> <translation id="3430396595145920809">Glisează dinspre dreapta pentru a reveni</translation> @@ -326,6 +332,7 @@ <translation id="4378551569595875038">Se conectează</translation> <translation id="4379531060876907730">Acestea sunt instrumentele pentru creion</translation> <translation id="4389184120735010762">Ai accesat comanda rapidă de la tastatură pentru lupa andocată. Vrei să o activezi?</translation> +<translation id="4412944820643904175"><ph name="FEATURE_NAME" /> este dezactivat.</translation> <translation id="4421231901400348175">În prezent, <ph name="HELPER_NAME" /> îți poate controla ecranul prin Asistență la distanță.</translation> <translation id="4430019312045809116">Volum</translation> <translation id="4450893287417543264">Nu mai afișa</translation> @@ -345,6 +352,7 @@ <translation id="4570957409596482333">Butonul Selectează și ascultă</translation> <translation id="4577274620589681794">Timpul a expirat · <ph name="LABEL" /></translation> <translation id="4585337515783392668">Nu mai proiecta pe un receiver necunoscut</translation> +<translation id="4596144739579517758">Tema întunecată este dezactivată</translation> <translation id="4623167406982293031">Confirmă contul</translation> <translation id="4628757576491864469">Dispozitive</translation> <translation id="4659419629803378708">ChromeVox este activat</translation> @@ -387,6 +395,7 @@ <translation id="5168181903108465623">Dispozitive de proiecție disponibile</translation> <translation id="5170568018924773124">Afișează în dosar</translation> <translation id="5207949376430453814">Evidențiază cursorul pentru text</translation> +<translation id="5208059991603368177">Activată</translation> <translation id="5222676887888702881">Deconectează-te</translation> <translation id="523505283826916779">Setări de accesibilitate</translation> <translation id="5260676007519551770">Desktop 4</translation> @@ -398,6 +407,7 @@ <translation id="5313326810920013265">Setări Bluetooth</translation> <translation id="5314219114274263156">S-a înregistrat ecranul</translation> <translation id="5331975486040154427">Dispozitiv USB-C (portul din stânga spate)</translation> +<translation id="5352250171825660495">Tema întunecată este activată</translation> <translation id="5379115545237091094">Prea multe încercări</translation> <translation id="5397578532367286026">Datele privind utilizarea și istoricul ale acestui utilizator pot fi examinate de administrator (<ph name="MANAGER_EMAIL" />) pe chrome.com.</translation> <translation id="5400461572260843123">Setări rapide, Apasă pe tasta de căutare + stânga pentru a accesa centrul de notificări.</translation> @@ -434,6 +444,7 @@ <translation id="5769373120130404283">Ecran de confidențialitate</translation> <translation id="5777841717266010279">Oprești permiterea accesului la ecran?</translation> <translation id="5790085346892983794">Ai reușit</translation> +<translation id="579415080077680903">Modul silențios</translation> <translation id="5820394555380036790">Sistemul de operare Chromium</translation> <translation id="5837036133683224804">Întrerupe <ph name="ROUTE_TITLE" /> pe <ph name="RECEIVER_NAME" /></translation> <translation id="5860033963881614850">Dezactivat</translation> @@ -444,6 +455,7 @@ <translation id="5911909173233110115"><ph name="USERNAME" /> (<ph name="MAIL" />)</translation> <translation id="5916664084637901428">Activat</translation> <translation id="5920710855273935292">Microfonul este dezactivat.</translation> +<translation id="5946788582095584774"><ph name="FEATURE_NAME" /> este activat.</translation> <translation id="5947494881799873997">Reveniți</translation> <translation id="595202126637698455">Urmărirea performanței este activată</translation> <translation id="5957083217255311415">Datele mobile sunt dezactivate.</translation> @@ -468,6 +480,7 @@ <translation id="615957422585914272">Afișați tastatura pe ecran</translation> <translation id="6164005077879661055">Toate fișierele și datele locale asociate acestui utilizator monitorizat vor fi șterse definitiv după eliminarea acestui utilizator monitorizat. Site-urile web accesate și setările acestui utilizator monitorizat pot fi în continuare vizibile pentru manager la <ph name="MANAGEMENT_URL" />.</translation> <translation id="6165508094623778733">Află mai multe</translation> +<translation id="6192859646269780503">Găsește telefonul</translation> <translation id="622484624075952240">Jos</translation> <translation id="6236290670123303279">Gestionează setările</translation> <translation id="6237231532760393653">1X</translation> @@ -539,6 +552,7 @@ <translation id="6981982820502123353">Accesibilitate</translation> <translation id="698231206551913481">Toate fișierele și datele locale asociate acestui utilizator vor fi șterse definitiv după eliminarea utilizatorului.</translation> <translation id="7007983414944123363">Codul PIN sau parola nu au putut fi confirmate. Încearcă din nou.</translation> +<translation id="7013005189539051442">Activează hotspotul</translation> <translation id="7015766095477679451">Revino la <ph name="COME_BACK_TIME" />.</translation> <translation id="7025533177575372252">Conectează-ți dispozitivul <ph name="DEVICE_NAME" /> cu telefonul</translation> <translation id="7026338066939101231">Micșorează</translation> @@ -573,6 +587,7 @@ <translation id="742594950370306541">Camera foto este în uz.</translation> <translation id="742608627846767349">Bună dimineața!</translation> <translation id="743058460480092004">Camera foto și microfonul sunt în uz.</translation> +<translation id="7461924472993315131">Fixează</translation> <translation id="7466449121337984263">Atinge senzorul</translation> <translation id="7477793887173910789">Gestionează muzica, videoclipurile și altele</translation> <translation id="7497767806359279797">Alege limba și tastatura</translation> @@ -611,6 +626,7 @@ <translation id="7842569679327885685">Avertisment: funcție experimentală</translation> <translation id="7846634333498149051">Tastatură</translation> <translation id="7868900307798234037">Deblochează cu amprenta</translation> +<translation id="7872786842639831132">Dezactivat</translation> <translation id="7886169021410746335">să ajusteze setările de confidențialitate</translation> <translation id="7886277072580235377">Sesiunea de internet va fi anulată după ce te deconectezi. <ph name="LEARN_MORE" /></translation> <translation id="788781083998633524">Trimite un e-mail</translation> @@ -715,6 +731,7 @@ <translation id="8853703225951107899">Codul PIN sau parola tot nu au putut fi confirmate. Notă: dacă ai schimbat parola recent, folosește vechea parolă. Noua parolă se va aplica după ce te deconectezi.</translation> <translation id="885387440427703469">Captura de ecran este dezactivată</translation> <translation id="8870509716567206129">Aplicația nu acceptă ecranul împărțit.</translation> +<translation id="8871580645200179206">Activează/dezactivează Tema întunecată. <ph name="STATE_TEXT" /></translation> <translation id="8874184842967597500">Neconectat</translation> <translation id="8877788021141246043">Setează un memento</translation> <translation id="8878886163241303700">Ecran extins</translation>
diff --git a/ash/strings/ash_strings_ru.xtb b/ash/strings/ash_strings_ru.xtb index fe7006d2..95e00e6 100644 --- a/ash/strings/ash_strings_ru.xtb +++ b/ash/strings/ash_strings_ru.xtb
@@ -48,6 +48,7 @@ <translation id="1351937230027495976">Свернуть меню</translation> <translation id="1383876407941801731">Поиск</translation> <translation id="1391102559483454063">Включено</translation> +<translation id="1407069428457324124">Тёмная тема</translation> <translation id="1419738280318246476">Чтобы выполнить действие, предложенное в уведомлении, разблокируйте устройство.</translation> <translation id="1420408895951708260">Включить или отключить ночную подсветку (<ph name="STATE_TEXT" />)</translation> <translation id="1420527829902822813">Скриншот скопирован в буфер обмена</translation> @@ -65,6 +66,7 @@ <translation id="1550523713251050646">Чтобы изменить источник питания, нажмите здесь.</translation> <translation id="1570871743947603115">Изменить настройки Bluetooth. <ph name="STATE_TEXT" />.</translation> <translation id="1589090746204042747">Получать доступ к данным о ваших действиях во время этого сеанса.</translation> +<translation id="1611993646327628135">Включено</translation> <translation id="1632985212731562677">Функцию Switch Access можно отключить в разделе "Настройки > Специальные возможности".</translation> <translation id="1654477262762802994">Произнесите запрос</translation> <translation id="1667964833127753507">В режиме нейтральных цветов не используются оттенки ваших обоев. Вместо них интерфейс будет окрашен в нейтральные светлые или темные цвета.</translation> @@ -79,6 +81,7 @@ <translation id="1761222317188459878">Изменить настройки сетевого подключения. <ph name="STATE_TEXT" />.</translation> <translation id="1771761307086386028">Вправо</translation> <translation id="1782199038061388045">перевести</translation> +<translation id="1787955149152357925">Отключено</translation> <translation id="181103072419391116">Уровень сигнала – <ph name="SIGNAL_STRENGTH" />, под управлением администратора</translation> <translation id="1812997170047690955">Объекты на экране</translation> <translation id="1823873187264960516">Ethernet: <ph name="ADDRESS" /></translation> @@ -166,6 +169,7 @@ <translation id="2706462751667573066">Вверх</translation> <translation id="2718395828230677721">Ночной свет</translation> <translation id="2727977024730340865">Подключено маломощное зарядное устройство. Возможны проблемы при зарядке.</translation> +<translation id="2743387203779672305">Скопировать в буфер</translation> <translation id="2792498699870441125">Alt + Search</translation> <translation id="2819276065543622893">Сеанс завершен.</translation> <translation id="2825224105325558319"><ph name="DISPLAY_NAME" /> не поддерживает разрешение <ph name="SPECIFIED_RESOLUTION" />. Установлено разрешение <ph name="FALLBACK_RESOLUTION" />.</translation> @@ -201,6 +205,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3081696990447829002">Развернуть меню</translation> <translation id="3087734570205094154">Снизу</translation> +<translation id="3090989381251959936">Включить или отключить функцию "<ph name="FEATURE_NAME" />". <ph name="STATE_TEXT" /></translation> <translation id="309749186376891736">Перемещение курсора</translation> <translation id="3098580329624789136">Как <ph name="INTENT" /> "<ph name="QUERY" />"</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth)</translation> @@ -233,6 +238,7 @@ <translation id="3371140690572404006">Устройство USB-C (ближний порт справа)</translation> <translation id="3386978599540877378">Полноэкранная лупа</translation> <translation id="3400357268283240774">Дополнительные настройки</translation> +<translation id="3410336247007142655">Показать настройки тёмной темы</translation> <translation id="3413817803639110246">Уведомлений нет.</translation> <translation id="3428447136709161042">Отключиться от сети "<ph name="NETWORK_NAME" />"</translation> <translation id="3430396595145920809">Чтобы вернуться, проведите по экрану от правого края</translation> @@ -326,6 +332,7 @@ <translation id="4378551569595875038">Подключение…</translation> <translation id="4379531060876907730">Инструменты для работы со стилусом</translation> <translation id="4389184120735010762">Вы нажали сочетание клавиш для включения закрепленной лупы. Выполнить это действие?</translation> +<translation id="4412944820643904175">Функция "<ph name="FEATURE_NAME" />" отключена.</translation> <translation id="4421231901400348175">Доступ к экрану для <ph name="HELPER_NAME" /> с помощью удаленного помощника</translation> <translation id="4430019312045809116">Объем</translation> <translation id="4450893287417543264">Больше не показывать</translation> @@ -345,6 +352,7 @@ <translation id="4570957409596482333">Кнопка "Озвучивание при нажатии"</translation> <translation id="4577274620589681794">Время истекло · <ph name="LABEL" /></translation> <translation id="4585337515783392668">Остановить трансляцию на неизвестное устройство</translation> +<translation id="4596144739579517758">Тёмная тема отключена.</translation> <translation id="4623167406982293031">Подтвердите, что это ваш аккаунт.</translation> <translation id="4628757576491864469">Устройства</translation> <translation id="4659419629803378708">Функция ChromeVox включена</translation> @@ -387,6 +395,7 @@ <translation id="5168181903108465623">Доступны устройства для трансляции</translation> <translation id="5170568018924773124">Показать в папке</translation> <translation id="5207949376430453814">Выделять курсор при вводе текста</translation> +<translation id="5208059991603368177">Включено</translation> <translation id="5222676887888702881">Выйти</translation> <translation id="523505283826916779">Настройки специальных возможностей</translation> <translation id="5260676007519551770">Рабочий стол 4</translation> @@ -398,6 +407,7 @@ <translation id="5313326810920013265">Настройки Bluetooth</translation> <translation id="5314219114274263156">Видео с экрана записано</translation> <translation id="5331975486040154427">Устройство USB-C (дальний порт слева)</translation> +<translation id="5352250171825660495">Тёмная тема включена.</translation> <translation id="5379115545237091094">Слишком много попыток</translation> <translation id="5397578532367286026">Менеджер (<ph name="MANAGER_EMAIL" />) может просматривать данные об использовании и историю этого профиля на сайте chrome.com.</translation> <translation id="5400461572260843123">Быстрые настройки: чтобы открыть центр уведомлений, нажмите Поиск + Стрелка влево.</translation> @@ -434,6 +444,7 @@ <translation id="5769373120130404283">Экран конфиденциальности</translation> <translation id="5777841717266010279">Закрыть доступ к экрану?</translation> <translation id="5790085346892983794">Выполнено</translation> +<translation id="579415080077680903">Беззвучный режим</translation> <translation id="5820394555380036790">Chromium OS</translation> <translation id="5837036133683224804">Остановить трансляцию <ph name="ROUTE_TITLE" /> на устройство "<ph name="RECEIVER_NAME" />"</translation> <translation id="5860033963881614850">ВЫКЛ</translation> @@ -444,6 +455,7 @@ <translation id="5911909173233110115"><ph name="USERNAME" /> (<ph name="MAIL" />)</translation> <translation id="5916664084637901428">ВКЛ</translation> <translation id="5920710855273935292">Микрофон отключен.</translation> +<translation id="5946788582095584774">Функция "<ph name="FEATURE_NAME" />" включена.</translation> <translation id="5947494881799873997">Отменить</translation> <translation id="595202126637698455">Включено отслеживание эффективности</translation> <translation id="5957083217255311415">Мобильный Интернет отключен.</translation> @@ -468,6 +480,7 @@ <translation id="615957422585914272">Показывать экранную клавиатуру</translation> <translation id="6164005077879661055">После удаления контролируемого профиля все файлы и локальные данные, связанные с ним, будут удалены. Посещенные страницы и настройки этого профиля будут видны его менеджеру на странице: <ph name="MANAGEMENT_URL" />.</translation> <translation id="6165508094623778733">Подробнее</translation> +<translation id="6192859646269780503">Функция "Найти телефон"</translation> <translation id="622484624075952240">Вниз</translation> <translation id="6236290670123303279">Настройки</translation> <translation id="6237231532760393653">1X</translation> @@ -539,6 +552,7 @@ <translation id="6981982820502123353">Спец. возможности</translation> <translation id="698231206551913481">После удаления пользователя все связанные с ним файлы и локальные данные также будут удалены.</translation> <translation id="7007983414944123363">Введенный PIN-код или пароль недействителен. Повторите попытку.</translation> +<translation id="7013005189539051442">Точка доступа</translation> <translation id="7015766095477679451">Увидимся снова в <ph name="COME_BACK_TIME" />.</translation> <translation id="7025533177575372252">Подключите <ph name="DEVICE_NAME" /> к своему телефону</translation> <translation id="7026338066939101231">Уменьшить</translation> @@ -573,6 +587,7 @@ <translation id="742594950370306541">Камера используется.</translation> <translation id="742608627846767349">Доброе утро!</translation> <translation id="743058460480092004">Камера и микрофон используются.</translation> +<translation id="7461924472993315131">Закрепить</translation> <translation id="7466449121337984263">Приложите палец к сканеру.</translation> <translation id="7477793887173910789">Управляйте воспроизведением музыки, видео и других медиафайлов</translation> <translation id="7497767806359279797">Выберите язык и клавиатуру</translation> @@ -611,6 +626,7 @@ <translation id="7842569679327885685">Внимание! Экспериментальная функция</translation> <translation id="7846634333498149051">Клавиатура</translation> <translation id="7868900307798234037">Экран разблокирован с помощью отпечатка пальца</translation> +<translation id="7872786842639831132">Отключено</translation> <translation id="7886169021410746335">Изменять настройки конфиденциальности.</translation> <translation id="7886277072580235377">После выхода из аккаунта данные о ваших действиях в Интернете будут удалены. <ph name="LEARN_MORE" /></translation> <translation id="788781083998633524">Отправить письмо</translation> @@ -715,6 +731,7 @@ <translation id="8853703225951107899">Введенный PIN-код или пароль снова оказался недействительным. Если вы недавно меняли пароль, введите прежний. Новый пароль вступит в силу после того, как вы выйдете из аккаунта.</translation> <translation id="885387440427703469">Запись экрана отключена</translation> <translation id="8870509716567206129">Приложение не поддерживает разделение экрана.j</translation> +<translation id="8871580645200179206">Включить или отключить тёмную тему. <ph name="STATE_TEXT" /></translation> <translation id="8874184842967597500">Не подключено</translation> <translation id="8877788021141246043">Создать напоминание</translation> <translation id="8878886163241303700">Раскрытый экран</translation>
diff --git a/ash/strings/ash_strings_si.xtb b/ash/strings/ash_strings_si.xtb index 67d25bc..5ee9cb9 100644 --- a/ash/strings/ash_strings_si.xtb +++ b/ash/strings/ash_strings_si.xtb
@@ -169,6 +169,7 @@ <translation id="2706462751667573066">ඉහළ</translation> <translation id="2718395828230677721">රාත්රී ආලෝකය</translation> <translation id="2727977024730340865">අඩු බල චාජරයකට ප්ලග් ඉන් කර ඇත. බැටරිය චාජ් කිරිම විශ්වාස නැති විය හැක.</translation> +<translation id="2743387203779672305">ක්ලිප්බෝඩ් එකට පිටපත් කරන්න</translation> <translation id="2792498699870441125">Alt+සෙවීම</translation> <translation id="2819276065543622893">ඔබව දැන් වරනු ඇත.</translation> <translation id="2825224105325558319"><ph name="DISPLAY_NAME" /> <ph name="SPECIFIED_RESOLUTION" /> සඳහා සහය නොදක්වයි. විභේදනය <ph name="FALLBACK_RESOLUTION" /> ට වෙනස් කළා.</translation> @@ -586,6 +587,7 @@ <translation id="742594950370306541">කැමරාව භාවිතා වේ.</translation> <translation id="742608627846767349">සුබ උදෑසනක්,</translation> <translation id="743058460480092004">කැමරාව හා මයික්රෆෝනය භාවිතයේ.</translation> +<translation id="7461924472993315131">පින්</translation> <translation id="7466449121337984263">සංවේදකය ස්පර්ශ කරන්න</translation> <translation id="7477793887173910789">ඔබේ සංගීත, වීඩියෝ, සහ තවත් ඒවා පාලන කරන්න</translation> <translation id="7497767806359279797">භාෂාව සහ යතුරු පුවරුව තෝරන්න</translation>
diff --git a/ash/strings/ash_strings_sk.xtb b/ash/strings/ash_strings_sk.xtb index 576a3af..f16dc1f 100644 --- a/ash/strings/ash_strings_sk.xtb +++ b/ash/strings/ash_strings_sk.xtb
@@ -169,6 +169,7 @@ <translation id="2706462751667573066">Hore</translation> <translation id="2718395828230677721">Nočný režim</translation> <translation id="2727977024730340865">Batéria je zapojená do nabíjačky s nízkym výkonom. Nabíjanie batérie nemusí byť spoľahlivé.</translation> +<translation id="2743387203779672305">Kopírovať do schránky</translation> <translation id="2792498699870441125">Alt + Hľadať</translation> <translation id="2819276065543622893">Teraz prebehne odhlásenie.</translation> <translation id="2825224105325558319"><ph name="DISPLAY_NAME" /> nepodporuje rozlíšenie <ph name="SPECIFIED_RESOLUTION" />. Preto bolo zmenené na <ph name="FALLBACK_RESOLUTION" />.</translation> @@ -586,6 +587,7 @@ <translation id="742594950370306541">Fotoaparát sa používa.</translation> <translation id="742608627846767349">Dobré ráno,</translation> <translation id="743058460480092004">Fotoaparát a mikrofón sa používajú.</translation> +<translation id="7461924472993315131">Pripnúť</translation> <translation id="7466449121337984263">Dotknite sa senzora</translation> <translation id="7477793887173910789">Ovládajte svoju hudbu, videá a ďalší obsah</translation> <translation id="7497767806359279797">Vybrať jazyk a klávesnicu</translation>
diff --git a/ash/strings/ash_strings_sl.xtb b/ash/strings/ash_strings_sl.xtb index 04a9cb4..86c97cb 100644 --- a/ash/strings/ash_strings_sl.xtb +++ b/ash/strings/ash_strings_sl.xtb
@@ -169,6 +169,7 @@ <translation id="2706462751667573066">Gor</translation> <translation id="2718395828230677721">Nočna svetloba</translation> <translation id="2727977024730340865">Priključen je nizkoenergijski polnilnik. Polnjenje akumulatorja morda ne bo zanesljivo.</translation> +<translation id="2743387203779672305">Kopiraj v odložišče</translation> <translation id="2792498699870441125">Alt + iskanje</translation> <translation id="2819276065543622893">Zdaj boste odjavljeni.</translation> <translation id="2825224105325558319">Zaslon <ph name="DISPLAY_NAME" /> ne podpira te ločljivosti: <ph name="SPECIFIED_RESOLUTION" />. Ločljivost je bila spremenjena na: <ph name="FALLBACK_RESOLUTION" />.</translation> @@ -586,6 +587,7 @@ <translation id="742594950370306541">Kamera je v uporabi.</translation> <translation id="742608627846767349">Dobro jutro,</translation> <translation id="743058460480092004">Kamera in mikrofon sta v uporabi.</translation> +<translation id="7461924472993315131">Pripni</translation> <translation id="7466449121337984263">Dotaknite se tipala</translation> <translation id="7477793887173910789">Upravljanje glasbe, videoposnetkov in drugega</translation> <translation id="7497767806359279797">Izbira jezika in tipkovnice</translation>
diff --git a/ash/strings/ash_strings_sq.xtb b/ash/strings/ash_strings_sq.xtb index 6fc4334..9805092 100644 --- a/ash/strings/ash_strings_sq.xtb +++ b/ash/strings/ash_strings_sq.xtb
@@ -48,6 +48,7 @@ <translation id="1351937230027495976">Palos menynë</translation> <translation id="1383876407941801731">Kërko</translation> <translation id="1391102559483454063">Aktiv</translation> +<translation id="1407069428457324124">Tema e errët</translation> <translation id="1419738280318246476">Shkyç pajisjen për të kryer veprimin e njoftimit</translation> <translation id="1420408895951708260">Ndrysho "Dritën e natës". <ph name="STATE_TEXT" /></translation> <translation id="1420527829902822813">Pamja e ekranit u shkrep dhe u ruajt te kujtesa e fragmenteve</translation> @@ -65,6 +66,7 @@ <translation id="1550523713251050646">Kliko për opsione të tjera</translation> <translation id="1570871743947603115">Aktivizo/çaktivizo Bluetooth-in. <ph name="STATE_TEXT" /></translation> <translation id="1589090746204042747">Qasu te të gjitha aktivitetet e tua në këtë sesion</translation> +<translation id="1611993646327628135">Aktive</translation> <translation id="1632985212731562677">"Qasja me çelës" mund të çaktivizohet te Cilësimet > Qasshmëria.</translation> <translation id="1654477262762802994">Nis një pyetje me zë</translation> <translation id="1667964833127753507">Modaliteti me ngjyra neutrale nuk përdor ngjyrat e nxjerra nga imazhi i sfondit, duke i zëvendësuar me një grupim me nuanca me tonalitet të çelur ose të errët.</translation> @@ -79,6 +81,7 @@ <translation id="1761222317188459878">Aktivizo/çaktivizo lidhjen e rrjetit. <ph name="STATE_TEXT" /></translation> <translation id="1771761307086386028">Lëviz djathtas</translation> <translation id="1782199038061388045">përkthimi</translation> +<translation id="1787955149152357925">Joaktive</translation> <translation id="181103072419391116">Fuqia e sinjalit <ph name="SIGNAL_STRENGTH" />, menaxhuar nga administratori yt</translation> <translation id="1812997170047690955">Çfarë ka në ekranin tim?</translation> <translation id="1823873187264960516">Eternet: <ph name="ADDRESS" /></translation> @@ -166,6 +169,7 @@ <translation id="2706462751667573066">Lart</translation> <translation id="2718395828230677721">Drita e natës</translation> <translation id="2727977024730340865">E lidhur me një karikues me fuqi të ulët. Ngarkimi i baterisë mund të mos jetë i sigurt.</translation> +<translation id="2743387203779672305">Kopjo te kujtesa e fragmenteve</translation> <translation id="2792498699870441125">Alt+Kërko</translation> <translation id="2819276065543622893">Do të dalësh nga llogaria tani.</translation> <translation id="2825224105325558319"><ph name="DISPLAY_NAME" /> nuk e mbështet <ph name="SPECIFIED_RESOLUTION" />. Rezolucioni është ndryshuar në <ph name="FALLBACK_RESOLUTION" />.</translation> @@ -201,6 +205,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3081696990447829002">Zgjero menynë</translation> <translation id="3087734570205094154">Në fund</translation> +<translation id="3090989381251959936">Aktivizo/çaktivizo <ph name="FEATURE_NAME" />. <ph name="STATE_TEXT" /></translation> <translation id="309749186376891736">Zhvendos kursorin</translation> <translation id="3098580329624789136">Merr <ph name="INTENT" /> për "<ph name="QUERY" />"</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth)</translation> @@ -233,6 +238,7 @@ <translation id="3371140690572404006">Pajisja USB-C (porta e përparme, djathtas)</translation> <translation id="3386978599540877378">zmadhuesi në ekran të plotë</translation> <translation id="3400357268283240774">Cilësimet shtesë</translation> +<translation id="3410336247007142655">Shfaq cilësimet e "Temës së errët"</translation> <translation id="3413817803639110246">Nuk ka ende asgjë për të parë</translation> <translation id="3428447136709161042">Shkëputu nga <ph name="NETWORK_NAME" /></translation> <translation id="3430396595145920809">Rrëshqit nga e djathta për t'u kthyer prapa</translation> @@ -326,6 +332,7 @@ <translation id="4378551569595875038">Po lidhet...</translation> <translation id="4379531060876907730">Këto janë veglat e tua të stilolapsit</translation> <translation id="4389184120735010762">Ke shtypur shkurtoren e tastierës për zmadhuesin me puthitje. Dëshiron ta aktivizosh?</translation> +<translation id="4412944820643904175"><ph name="FEATURE_NAME" /> është joaktive.</translation> <translation id="4421231901400348175">Po ndan kontrollin e ekranit me <ph name="HELPER_NAME" /> përmes "Ndihmës në distancë".</translation> <translation id="4430019312045809116">Volumi</translation> <translation id="4450893287417543264">Mos e shfaq përsëri</translation> @@ -345,6 +352,7 @@ <translation id="4570957409596482333">Butoni i "Zgjidh që të thuhet"</translation> <translation id="4577274620589681794">Koha mbaroi · <ph name="LABEL" /></translation> <translation id="4585337515783392668">Ndalo transmetimin në një marrës të panjohur</translation> +<translation id="4596144739579517758">"Tema e errët" është joaktive</translation> <translation id="4623167406982293031">Verifiko llogarinë</translation> <translation id="4628757576491864469">Pajisjet</translation> <translation id="4659419629803378708">ChromeVox është aktivizuar</translation> @@ -387,6 +395,7 @@ <translation id="5168181903108465623">Pajisjet e transmetimit janë të disponueshme</translation> <translation id="5170568018924773124">Shfaq në dosje</translation> <translation id="5207949376430453814">Thekso kursorin e tekstit</translation> +<translation id="5208059991603368177">Aktive</translation> <translation id="5222676887888702881">Dil</translation> <translation id="523505283826916779">Cilësimet e qasjes</translation> <translation id="5260676007519551770">Tavolina e punës 4</translation> @@ -398,6 +407,7 @@ <translation id="5313326810920013265">Cilësimet e Bluetooth-it</translation> <translation id="5314219114274263156">Regjistrimi i ekranit përfundoi</translation> <translation id="5331975486040154427">Pajisja USB-C (porta e pasme, majtas)</translation> +<translation id="5352250171825660495">"Tema e errët" është aktive</translation> <translation id="5379115545237091094">Shumë përpjekje</translation> <translation id="5397578532367286026">Përdorimi dhe historiku i këtij përdoruesi mund të rishikohen nga menaxheri (<ph name="MANAGER_EMAIL" />) në chrome.com.</translation> <translation id="5400461572260843123">Cilësimet e shpejta, shtyp "kërko" + tastin "majtas" për të pasur qasje te qendra e njoftimeve.</translation> @@ -434,6 +444,7 @@ <translation id="5769373120130404283">Ekrani i privatësisë</translation> <translation id="5777841717266010279">Dëshiron të ndalosh ndarjen e ekranit?</translation> <translation id="5790085346892983794">Me sukses</translation> +<translation id="579415080077680903">Heshtja</translation> <translation id="5820394555380036790">Chromium OS</translation> <translation id="5837036133683224804">Ndalo <ph name="ROUTE_TITLE" /> në <ph name="RECEIVER_NAME" /></translation> <translation id="5860033963881614850">Çaktivizuar</translation> @@ -444,6 +455,7 @@ <translation id="5911909173233110115"><ph name="USERNAME" /> (<ph name="MAIL" />)</translation> <translation id="5916664084637901428">Aktiv</translation> <translation id="5920710855273935292">Mikrofoni është i çaktivizuar.</translation> +<translation id="5946788582095584774"><ph name="FEATURE_NAME" /> është aktive.</translation> <translation id="5947494881799873997">Riktheje</translation> <translation id="595202126637698455">Gjurmimi i rendimentit u aktivizua</translation> <translation id="5957083217255311415">Të dhënat celulare janë çaktivizuar.</translation> @@ -468,6 +480,7 @@ <translation id="615957422585914272">Shfaq tastierën në ekran</translation> <translation id="6164005077879661055">Të gjithë skedarët dhe të dhënat lokale të lidhura me përdoruesin e kontrolluar do të fshihen përgjithmonë pasi të hiqet përdoruesi i kontrolluar. Sajtet e uebit të vizituara dhe cilësimet për këtë përdorues të kontrolluar mund të jenë akoma të dukshme nga menaxheri në <ph name="MANAGEMENT_URL" />.</translation> <translation id="6165508094623778733">Mëso më shumë</translation> +<translation id="6192859646269780503">Gjej telefonin</translation> <translation id="622484624075952240">Poshtë</translation> <translation id="6236290670123303279">Menaxho cilësimet</translation> <translation id="6237231532760393653">1X</translation> @@ -539,6 +552,7 @@ <translation id="6981982820502123353">Qasja</translation> <translation id="698231206551913481">Të gjithë skedarët dhe të dhënat lokale të lidhura me këtë përdorues do të fshihen përgjithmonë pasi të hiqet ky përdorues.</translation> <translation id="7007983414944123363">Kod yt PIN ose fjalëkalimi nuk mund të verifikoheshin. Provo përsëri.</translation> +<translation id="7013005189539051442">Aktivizo zonën e qasjes për internet</translation> <translation id="7015766095477679451">Kthehu në <ph name="COME_BACK_TIME" />.</translation> <translation id="7025533177575372252">Lidhe <ph name="DEVICE_NAME" /> me telefonin tënd</translation> <translation id="7026338066939101231">Zvogëlim</translation> @@ -573,6 +587,7 @@ <translation id="742594950370306541">Kamera është në përdorim.</translation> <translation id="742608627846767349">Mirëmëngjesi,</translation> <translation id="743058460480092004">Kamera dhe mikrofoni janë në përdorim</translation> +<translation id="7461924472993315131">Gozhdoje</translation> <translation id="7466449121337984263">Prek sensorin</translation> <translation id="7477793887173910789">Kontrollo muzikën, videot e tua etj.</translation> <translation id="7497767806359279797">Zgjidh gjuhën dhe tastierën</translation> @@ -611,6 +626,7 @@ <translation id="7842569679327885685">Paralajmërim: Funksion eksperimental</translation> <translation id="7846634333498149051">Tastiera</translation> <translation id="7868900307798234037">Po shkyçet me gjurmën e gishtit</translation> +<translation id="7872786842639831132">Joaktive</translation> <translation id="7886169021410746335">Të rregullojë cilësimet e privatësisë</translation> <translation id="7886277072580235377">Seanca jote e internetit do të spastrohet kur të dalësh. <ph name="LEARN_MORE" /></translation> <translation id="788781083998633524">Dërgo një email</translation> @@ -715,6 +731,7 @@ <translation id="8853703225951107899">Kod yt PIN ose fjalëkalimi përsëri nuk mund të verifikoheshin. Shënim. Nëse e ke ndryshuar fjalëkalimin së fundi, përdor fjalëkalimin e vjetër. Fjalëkalimi yt i ri do të zbatohet pasi të dalësh nga llogaria.</translation> <translation id="885387440427703469">Regjistrimi i ekranit u çaktivizua</translation> <translation id="8870509716567206129">Aplikacioni nuk e mbështet ekranin e ndarë.</translation> +<translation id="8871580645200179206">Aktivizo/çaktivizo "Temën e errët". <ph name="STATE_TEXT" /></translation> <translation id="8874184842967597500">Nuk u lidh</translation> <translation id="8877788021141246043">Cakto një alarm rikujtues</translation> <translation id="8878886163241303700">Ekran i zgjeruar</translation>
diff --git a/ash/strings/ash_strings_sr-Latn.xtb b/ash/strings/ash_strings_sr-Latn.xtb index 990b8a7..4a18fcd 100644 --- a/ash/strings/ash_strings_sr-Latn.xtb +++ b/ash/strings/ash_strings_sr-Latn.xtb
@@ -169,6 +169,7 @@ <translation id="2706462751667573066">Nagore</translation> <translation id="2718395828230677721">Noćno svetlo</translation> <translation id="2727977024730340865">Uređaj je uključen u punjač male snage. Punjenje baterije možda neće biti pouzdano.</translation> +<translation id="2743387203779672305">Kopiraj u memoriju</translation> <translation id="2792498699870441125">Alt + taster za pretragu</translation> <translation id="2819276065543622893">Bićete odmah odjavljeni.</translation> <translation id="2825224105325558319"><ph name="DISPLAY_NAME" /> ne podržava rezoluciju <ph name="SPECIFIED_RESOLUTION" />. Rezolucija je promenjena u <ph name="FALLBACK_RESOLUTION" />.</translation> @@ -586,6 +587,7 @@ <translation id="742594950370306541">Kamera se koristi.</translation> <translation id="742608627846767349">Dobro jutro,</translation> <translation id="743058460480092004">Kamera i mikrofon se koriste.</translation> +<translation id="7461924472993315131">Zakači</translation> <translation id="7466449121337984263">Dodirnite senzor</translation> <translation id="7477793887173910789">Kontrolišite muziku, video snimke i drugo</translation> <translation id="7497767806359279797">Odaberite jezik i tastaturu</translation>
diff --git a/ash/strings/ash_strings_sr.xtb b/ash/strings/ash_strings_sr.xtb index 2373d26..3eeab3dc 100644 --- a/ash/strings/ash_strings_sr.xtb +++ b/ash/strings/ash_strings_sr.xtb
@@ -169,6 +169,7 @@ <translation id="2706462751667573066">Нагоре</translation> <translation id="2718395828230677721">Ноћно светло</translation> <translation id="2727977024730340865">Уређај је укључен у пуњач мале снаге. Пуњење батерије можда неће бити поуздано.</translation> +<translation id="2743387203779672305">Копирај у меморију</translation> <translation id="2792498699870441125">Alt + тастер за претрагу</translation> <translation id="2819276065543622893">Бићете одмах одјављени.</translation> <translation id="2825224105325558319"><ph name="DISPLAY_NAME" /> не подржава резолуцију <ph name="SPECIFIED_RESOLUTION" />. Резолуција је промењена у <ph name="FALLBACK_RESOLUTION" />.</translation> @@ -586,6 +587,7 @@ <translation id="742594950370306541">Камера се користи.</translation> <translation id="742608627846767349">Добро јутро,</translation> <translation id="743058460480092004">Камера и микрофон се користе.</translation> +<translation id="7461924472993315131">Закачи</translation> <translation id="7466449121337984263">Додирните сензор</translation> <translation id="7477793887173910789">Контролишите музику, видео снимке и друго</translation> <translation id="7497767806359279797">Одаберите језик и тастатуру</translation>
diff --git a/ash/strings/ash_strings_sv.xtb b/ash/strings/ash_strings_sv.xtb index e7147ed..061b211 100644 --- a/ash/strings/ash_strings_sv.xtb +++ b/ash/strings/ash_strings_sv.xtb
@@ -169,6 +169,7 @@ <translation id="2706462751667573066">Upp</translation> <translation id="2718395828230677721">Nattljus</translation> <translation id="2727977024730340865">Ansluten till en laddare med låg effekt. Batteriet kanske inte laddas ordentligt.</translation> +<translation id="2743387203779672305">Kopiera till Urklipp</translation> <translation id="2792498699870441125">Alt + Sök</translation> <translation id="2819276065543622893">Du loggas nu ut.</translation> <translation id="2825224105325558319"><ph name="DISPLAY_NAME" /> har inte stöd för <ph name="SPECIFIED_RESOLUTION" />. Upplösningen ändrades till <ph name="FALLBACK_RESOLUTION" />.</translation> @@ -586,6 +587,7 @@ <translation id="742594950370306541">Kameran används.</translation> <translation id="742608627846767349">Hej!</translation> <translation id="743058460480092004">Kameran och mikrofonen används.</translation> +<translation id="7461924472993315131">Fäst</translation> <translation id="7466449121337984263">Tryck på sensorn</translation> <translation id="7477793887173910789">Styr uppspelningen av musik, videor med mera</translation> <translation id="7497767806359279797">Välj språk och tangentbord</translation>
diff --git a/ash/strings/ash_strings_sw.xtb b/ash/strings/ash_strings_sw.xtb index cb272e9..70348d1 100644 --- a/ash/strings/ash_strings_sw.xtb +++ b/ash/strings/ash_strings_sw.xtb
@@ -48,6 +48,7 @@ <translation id="1351937230027495976">Kunja menyu</translation> <translation id="1383876407941801731">Tafuta</translation> <translation id="1391102559483454063">Umewashwa</translation> +<translation id="1407069428457324124">Mandhari meusi</translation> <translation id="1419738280318246476">Fungua kifaa ili utekeleza kitendo cha arifa</translation> <translation id="1420408895951708260">Swichi ya Mwanga wa Usiku. <ph name="STATE_TEXT" /></translation> <translation id="1420527829902822813">Picha ya skrini imepigwa na ikahifadhiwa kwenye ubao wa kunakili</translation> @@ -65,6 +66,7 @@ <translation id="1550523713251050646">Bofya ili upate chaguo zaidi</translation> <translation id="1570871743947603115">Washa au uzime Bluetooth. <ph name="STATE_TEXT" /></translation> <translation id="1589090746204042747">Fikia shughuli zako zote katika kipindi hiki</translation> +<translation id="1611993646327628135">Kimewashwa</translation> <translation id="1632985212731562677">Unaweza kuzima Kipengele cha Kufikia Kupitia Swichi katika Mipangilio > Ufikivu.</translation> <translation id="1654477262762802994">Anza kutamka hoja ya utafutaji</translation> <translation id="1667964833127753507">Hali ya rangi ya kawaida haitumii rangi zilizotolewa kwenye mandhari, inazibadilisha na kuweka seti ya rangi angavu au nyeusi zenye uzito wa wastani.</translation> @@ -79,6 +81,7 @@ <translation id="1761222317188459878">Washa au uzime muunganisho wa mtandao. <ph name="STATE_TEXT" /></translation> <translation id="1771761307086386028">Sogeza kulia</translation> <translation id="1782199038061388045">tafsiri</translation> +<translation id="1787955149152357925">Yamezimwa</translation> <translation id="181103072419391116">Uthabiti wa Mtandao <ph name="SIGNAL_STRENGTH" />, Unadhibitiwa na Msimamizi wako</translation> <translation id="1812997170047690955">Kuna nini kwenye skrini yangu?</translation> <translation id="1823873187264960516">Ethaneti: <ph name="ADDRESS" /></translation> @@ -166,6 +169,7 @@ <translation id="2706462751667573066">Juu</translation> <translation id="2718395828230677721">Mwanga wa Usiku</translation> <translation id="2727977024730340865">Imechomekwa katika chaja ya kawi ya chini. Huenda kuchaji kwa betri hakutakuwa kuzuri.</translation> +<translation id="2743387203779672305">Nakili kwenye ubao wa kunakili</translation> <translation id="2792498699870441125">Alt + Utafutaji</translation> <translation id="2819276065543622893">Utaondolewa kwenye akaunti sasa hivi.</translation> <translation id="2825224105325558319"><ph name="DISPLAY_NAME" /> haitumii <ph name="SPECIFIED_RESOLUTION" />. Ubora umebadilishwa kuwa <ph name="FALLBACK_RESOLUTION" /></translation> @@ -201,6 +205,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3081696990447829002">Panua menyu</translation> <translation id="3087734570205094154">Chini</translation> +<translation id="3090989381251959936">Zima au uwashe <ph name="FEATURE_NAME" />. <ph name="STATE_TEXT" /></translation> <translation id="309749186376891736">Sogeza kiteuzi</translation> <translation id="3098580329624789136">Pata <ph name="INTENT" /> ya "<ph name="QUERY" />"</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth)</translation> @@ -233,6 +238,7 @@ <translation id="3371140690572404006">Kifaa cha USB-C (mlango wa upande wa kulia mbele)</translation> <translation id="3386978599540877378">Kikuza skrini nzima</translation> <translation id="3400357268283240774">Mipangilio ya ziada</translation> +<translation id="3410336247007142655">Onyesha mipangilio ya mandhari meusi</translation> <translation id="3413817803639110246">Bado hakuna chochote hapa</translation> <translation id="3428447136709161042">Ondoa kwenye <ph name="NETWORK_NAME" /></translation> <translation id="3430396595145920809">Telezesha kidole kutoka kulia ili urudi nyuma</translation> @@ -326,6 +332,7 @@ <translation id="4378551569595875038">Inaunganisha...</translation> <translation id="4379531060876907730">Hizi ni zana zako za stylus</translation> <translation id="4389184120735010762">Umebofya mikato ya kibodi ya kikuzaji kilichoambatishwa. Ungependa kukiwasha?</translation> +<translation id="4412944820643904175"><ph name="FEATURE_NAME" /> kimezimwa.</translation> <translation id="4421231901400348175">Kushiriki udhibiti wa skrini yako na <ph name="HELPER_NAME" /> kupitia Usaidizi wa Mbali.</translation> <translation id="4430019312045809116">Kiwango</translation> <translation id="4450893287417543264">Usionyeshe tena</translation> @@ -345,6 +352,7 @@ <translation id="4570957409596482333">Kitufe cha Chagua ili Izungumze</translation> <translation id="4577274620589681794">Muda umekwisha · <ph name="LABEL" /></translation> <translation id="4585337515783392668">Acha kutuma kwenye kifaa au kwa mpokeaji usiyemjua</translation> +<translation id="4596144739579517758">Mandhari meusi yamezimwa</translation> <translation id="4623167406982293031">Thibitisha akaunti</translation> <translation id="4628757576491864469">Vifaa</translation> <translation id="4659419629803378708">ChromeVox imewashwa</translation> @@ -387,6 +395,7 @@ <translation id="5168181903108465623">Vifaa vinavyorusha maudhui vinapatikana</translation> <translation id="5170568018924773124">Onyesha katika folda</translation> <translation id="5207949376430453814">Angazia kareti ya maandishi</translation> +<translation id="5208059991603368177">Yamewashwa</translation> <translation id="5222676887888702881">Ondoka</translation> <translation id="523505283826916779">Mipangilio ya ufikiaji</translation> <translation id="5260676007519551770">Eneokazi la 4</translation> @@ -398,6 +407,7 @@ <translation id="5313326810920013265">Mipangilio ya Bluetooth</translation> <translation id="5314219114274263156">Skrini imerekodiwa</translation> <translation id="5331975486040154427">Kifaa cha USB-C (mlango wa upande wa kushoto nyuma)</translation> +<translation id="5352250171825660495">Mandhari meusi yamewashwa</translation> <translation id="5379115545237091094">Umejaribu mara nyingi mno</translation> <translation id="5397578532367286026">Matumizi na historia ya mtumiaji huyu yanaweza kukaguliwa na msimamizi ( <ph name="MANAGER_EMAIL" /> ) kwenye chrome.com.</translation> <translation id="5400461572260843123">Mipangilio ya Haraka, Bonyeza 'search + left' ili ufikie kituo cha arifa.</translation> @@ -434,6 +444,7 @@ <translation id="5769373120130404283">Skrini ya faragha</translation> <translation id="5777841717266010279">Je,ungependa kuacha kushiriki skrini?</translation> <translation id="5790085346892983794">Mafanikio</translation> +<translation id="579415080077680903">Kipengele cha kuzima sauti</translation> <translation id="5820394555380036790">Chromium OS</translation> <translation id="5837036133683224804">Komesha <ph name="ROUTE_TITLE" /> kwenye <ph name="RECEIVER_NAME" /></translation> <translation id="5860033963881614850">Kimezimwa</translation> @@ -444,6 +455,7 @@ <translation id="5911909173233110115"><ph name="USERNAME" /> (<ph name="MAIL" />)</translation> <translation id="5916664084637901428">Imewashwa</translation> <translation id="5920710855273935292">Umezima maikrofoni.</translation> +<translation id="5946788582095584774"><ph name="FEATURE_NAME" /> kimewashwa.</translation> <translation id="5947494881799873997">Rejesha</translation> <translation id="595202126637698455">Ufuatiliaji wa utendaji umewashwa</translation> <translation id="5957083217255311415">Data ya mtandao wa simu imezimwa.</translation> @@ -468,6 +480,7 @@ <translation id="615957422585914272">Onyesha kibodi ya skrini</translation> <translation id="6164005077879661055">Faili zote na data ya ndani zinazohusishwa na mtumiaji anayesimamiwa zitafutwa kabisa mtumiaji huyu anayesimamiwa atakapoondolewa. Tovuti zilizotembelewa na mipangilio ya mtumiaji huyu anayesimamiwa inaweza bado kuonekana na msimamizi katika <ph name="MANAGEMENT_URL" />.</translation> <translation id="6165508094623778733">Pata maelezo zaidi</translation> +<translation id="6192859646269780503">Kipengele cha Kupata Simu</translation> <translation id="622484624075952240">Chini</translation> <translation id="6236290670123303279">Dhibiti Mipangilio</translation> <translation id="6237231532760393653">1X</translation> @@ -539,6 +552,7 @@ <translation id="6981982820502123353">Ufikivu</translation> <translation id="698231206551913481">Faili na data zote zilizo kwenye kifaa zinazohusishwa na mtumiaji zitafutwa kabisa pindi tu mtumiaji huyu atakapoondolewa.</translation> <translation id="7007983414944123363">Imeshindwa kuthibitisha PIN au nenosiri lako. Jaribu tena.</translation> +<translation id="7013005189539051442">Washa Mtandaopepe</translation> <translation id="7015766095477679451">Rejea saa <ph name="COME_BACK_TIME" />.</translation> <translation id="7025533177575372252">Unganisha <ph name="DEVICE_NAME" /> na simu yako</translation> <translation id="7026338066939101231">Punguzo</translation> @@ -573,6 +587,7 @@ <translation id="742594950370306541">Kamera inatumika.</translation> <translation id="742608627846767349">Habari za asubuhi,</translation> <translation id="743058460480092004">Kamera na maikrofoni zinatumiwa.</translation> +<translation id="7461924472993315131">Bana</translation> <translation id="7466449121337984263">Tafadhali gusa kitambuzi</translation> <translation id="7477793887173910789">Dhibiti muziki, video na vipengee vyako vingine</translation> <translation id="7497767806359279797">Chagua lugha na kibodi</translation> @@ -612,6 +627,7 @@ <translation id="7842569679327885685">Ilani: Kipengele cha majaribio</translation> <translation id="7846634333498149051">Kibodi</translation> <translation id="7868900307798234037">Inafungua kwa kutumia alama ya kidole</translation> +<translation id="7872786842639831132">Umezimwa</translation> <translation id="7886169021410746335">Rekebisha mipangilio ya faragha</translation> <translation id="7886277072580235377">Kipindi chako cha intaneti kitafutwa ukiondoka kwenye akaunti. <ph name="LEARN_MORE" /></translation> <translation id="788781083998633524">Tuma barua pepe</translation> @@ -716,6 +732,7 @@ <translation id="8853703225951107899">Bado imeshindwa kuthibitisha PIN au nenosiri lako. Kumbuka: Iwapo ulibadilisha nenosiri lako hivi majuzi, tumia nenosiri lako la awali. Nenosiri lako jipya litatumika utakapoondoka kwenye akaunti.</translation> <translation id="885387440427703469">Kipengele cha kupiga picha ya skrini kimezimwa</translation> <translation id="8870509716567206129">Programu haiwezi kutumia skrini iliyogawanywa.</translation> +<translation id="8871580645200179206">Zima au uwashe Mandhari meusi. <ph name="STATE_TEXT" /></translation> <translation id="8874184842967597500">Hujaunganishwa</translation> <translation id="8877788021141246043">Weka kikumbusho</translation> <translation id="8878886163241303700">Kuongeza skrini</translation>
diff --git a/ash/strings/ash_strings_ta.xtb b/ash/strings/ash_strings_ta.xtb index 701dba2b..fc93c15 100644 --- a/ash/strings/ash_strings_ta.xtb +++ b/ash/strings/ash_strings_ta.xtb
@@ -48,6 +48,7 @@ <translation id="1351937230027495976">மெனுவைச் சுருக்கு</translation> <translation id="1383876407941801731">Search</translation> <translation id="1391102559483454063">இயக்கப்பட்டுள்ளது</translation> +<translation id="1407069428457324124">டார்க் தீம்</translation> <translation id="1419738280318246476">அறிவிப்பில் வந்த செயலைச் செய்வதற்கு, சாதனத்தைத் திறங்கள்</translation> <translation id="1420408895951708260">நைட் லைட்டை ஆன்/ஆஃப் செய்யும். <ph name="STATE_TEXT" /></translation> <translation id="1420527829902822813">ஸ்கிரீன்ஷாட் எடுக்கப்பட்டு கிளிப்போர்டில் சேமிக்கப்பட்டது</translation> @@ -65,6 +66,7 @@ <translation id="1550523713251050646">மேலும் விருப்பங்களுக்குக் கிளிக் செய்யவும்</translation> <translation id="1570871743947603115">புளூடூத்தை நிலைமாற்றும். <ph name="STATE_TEXT" /></translation> <translation id="1589090746204042747">இந்த அமர்விலுள்ள உங்கள் அனைத்துச் செயல்பாடுகளையும் அணுகுதல்</translation> +<translation id="1611993646327628135">இயக்கு</translation> <translation id="1632985212731562677">அமைப்புகள் > அணுகலம்சங்கள் என்பதற்குச் சென்று சுவிட்ச் அணுகலை முடக்கலாம்.</translation> <translation id="1654477262762802994">குரல் வினவலைத் தொடங்கு</translation> <translation id="1667964833127753507">வால்பேப்பரிலிருந்து எடுக்கப்பட்ட வண்ணங்களை நியூட்ரல் வண்ணப் பயன்முறை பயன்படுத்தாது. அவற்றுக்குப் பதிலாக நியூட்ரலாக டோன் செய்யப்பட்ட லைட் அல்லது டார்க் நிறச்சாயல்களின் தொகுப்பைப் பயன்படுத்தும்.</translation> @@ -79,6 +81,7 @@ <translation id="1761222317188459878">நெட்வொர்க் இணைப்பை நிலைமாற்றும். <ph name="STATE_TEXT" /></translation> <translation id="1771761307086386028">வலப்புறம் செல்</translation> <translation id="1782199038061388045">மொழிபெயர்ப்பு</translation> +<translation id="1787955149152357925">முடக்கு</translation> <translation id="181103072419391116">சிக்னல் வலிமை: <ph name="SIGNAL_STRENGTH" />, உங்கள் நிர்வாகி நிர்வகிக்கிறார்</translation> <translation id="1812997170047690955">எனது திரையில் இருப்பவையா?</translation> <translation id="1823873187264960516">ஈதர்நெட்: <ph name="ADDRESS" /></translation> @@ -166,6 +169,7 @@ <translation id="2706462751667573066">Up</translation> <translation id="2718395828230677721">நைட் லைட்</translation> <translation id="2727977024730340865">குறைந்த சக்தியிலான சார்ஜர் செருகப்பட்டுள்ளது. பேட்டரி சார்ஜிங் நம்பகமானதாக இல்லாமல் இருக்கலாம்.</translation> +<translation id="2743387203779672305">கிளிப்போர்டுக்கு நகலெடு</translation> <translation id="2792498699870441125">Alt+தேடல்</translation> <translation id="2819276065543622893">இப்போது வெளியேற்றப்படுவீர்கள்.</translation> <translation id="2825224105325558319"><ph name="SPECIFIED_RESOLUTION" /> தெளிவுத்திறனை <ph name="DISPLAY_NAME" /> ஆதரிக்கவில்லை. தெளிவுத்திறன் <ph name="FALLBACK_RESOLUTION" />க்கு மாற்றப்பட்டது.</translation> @@ -201,6 +205,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3081696990447829002">மெனுவை விரி</translation> <translation id="3087734570205094154">கீழே</translation> +<translation id="3090989381251959936"><ph name="FEATURE_NAME" /> அம்சத்தை நிலைமாற்றும். <ph name="STATE_TEXT" /></translation> <translation id="309749186376891736">கர்சரை நகர்த்து</translation> <translation id="3098580329624789136">"<ph name="QUERY" />" என்பதற்கான <ph name="INTENT" /> பெறுங்கள்</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (புளூடூத்)</translation> @@ -233,6 +238,7 @@ <translation id="3371140690572404006">USB-C சாதனம் (வலது பக்கம் முன்னே இருக்கும் போர்ட்)</translation> <translation id="3386978599540877378">முழுத்திரை பெரிதாக்கி</translation> <translation id="3400357268283240774">கூடுதல் அமைப்புகள்</translation> +<translation id="3410336247007142655">டார்க் தீம் அமைப்புகளைக் காட்டும்</translation> <translation id="3413817803639110246">பார்ப்பதற்கு எதுவுமில்லை</translation> <translation id="3428447136709161042"><ph name="NETWORK_NAME" />ல் இருந்து துண்டிக்கும்</translation> <translation id="3430396595145920809">பின்செல்ல, வலது பக்கத்திலிருந்து ஸ்வைப் செய்யவும்</translation> @@ -326,6 +332,7 @@ <translation id="4378551569595875038">இணைக்கிறது...</translation> <translation id="4379531060876907730">இவை உங்கள் ஸ்டைலஸ் கருவிகள்</translation> <translation id="4389184120735010762">டாக் செய்யப்பட்ட பெரிதாக்கியின் கீபோர்ட் ஷார்ட்கட்டை அழுத்தியுள்ளீர்கள். அதை இயக்க விரும்புகிறீர்களா?</translation> +<translation id="4412944820643904175"><ph name="FEATURE_NAME" /> முடக்கப்பட்டுள்ளது.</translation> <translation id="4421231901400348175">தொலைநிலை உதவி மூலம் <ph name="HELPER_NAME" /> உடன் உங்கள் திரையின் கட்டுப்பாட்டைப் பகிர்கிறது.</translation> <translation id="4430019312045809116">அளவு</translation> <translation id="4450893287417543264">மீண்டும் காட்டாதே</translation> @@ -345,6 +352,7 @@ <translation id="4570957409596482333">பேசும் திரை பொத்தான்</translation> <translation id="4577274620589681794">நேரம் முடிந்தது · <ph name="LABEL" /></translation> <translation id="4585337515783392668">தெரியாத ரிசீவருக்கு அனுப்புவதை நிறுத்து</translation> +<translation id="4596144739579517758">டார்க் தீம் முடக்கப்பட்டுள்ளது</translation> <translation id="4623167406982293031">கணக்கைச் சரிபார்க்கவும்</translation> <translation id="4628757576491864469">சாதனங்கள்</translation> <translation id="4659419629803378708">ChromeVox இயக்கப்பட்டது</translation> @@ -387,6 +395,7 @@ <translation id="5168181903108465623">Cast சாதனங்கள் உள்ளன</translation> <translation id="5170568018924773124">கோப்புறையில் காண்பி</translation> <translation id="5207949376430453814">உரைச் சுட்டியைத் தனிப்படுத்து</translation> +<translation id="5208059991603368177">இயக்கு</translation> <translation id="5222676887888702881">வெளியேறு</translation> <translation id="523505283826916779">அணுகல்தன்மை அமைப்புகள்</translation> <translation id="5260676007519551770">மேசை 4</translation> @@ -398,6 +407,7 @@ <translation id="5313326810920013265">புளூடூத் அமைப்புகள்</translation> <translation id="5314219114274263156">ஸ்கிரீன் ரெக்கார்டு செய்யப்பட்டது</translation> <translation id="5331975486040154427">USB-C சாதனம் (இடது பக்கம் பின்னே இருக்கும் போர்ட்)</translation> +<translation id="5352250171825660495">டார்க் தீம் இயக்கப்பட்டுள்ளது</translation> <translation id="5379115545237091094">அதிகபட்சம் முயன்றுவிட்டீர்கள்</translation> <translation id="5397578532367286026">இந்தப் பயனரின் பயன்பாடு மற்றும் வரலாறு chrome.com இன் நிர்வாகியால் (<ph name="MANAGER_EMAIL" />) மதிப்பாய்வு செய்யப்படும்.</translation> <translation id="5400461572260843123">விரைவு அமைப்புகள், அறிவிப்பு மையத்தை அணுக, தேடல் + இடது அம்புக்குறியை அழுத்தவும்.</translation> @@ -434,6 +444,7 @@ <translation id="5769373120130404283">தனிப்பட்ட திரை</translation> <translation id="5777841717266010279">திரைப் பகிர்வதை நிறுத்தவா?</translation> <translation id="5790085346892983794">வெற்றி</translation> +<translation id="579415080077680903">நிசப்தம்</translation> <translation id="5820394555380036790">Chromium OS</translation> <translation id="5837036133683224804"><ph name="RECEIVER_NAME" />க்கு <ph name="ROUTE_TITLE" />ஐ அனுப்புவதை நிறுத்து</translation> <translation id="5860033963881614850">ஆஃப்</translation> @@ -444,6 +455,7 @@ <translation id="5911909173233110115"><ph name="USERNAME" /> (<ph name="MAIL" />)</translation> <translation id="5916664084637901428">இயக்கு</translation> <translation id="5920710855273935292">மைக் ஒலியடக்கப்பட்டுள்ளது.</translation> +<translation id="5946788582095584774"><ph name="FEATURE_NAME" /> இயக்கப்பட்டுள்ளது.</translation> <translation id="5947494881799873997">மாற்றியமை</translation> <translation id="595202126637698455">செயல்திறனைத் தடமறிதல் இயக்கப்பட்டுள்ளது</translation> <translation id="5957083217255311415">மொபைல் டேட்டா முடக்கப்பட்டது.</translation> @@ -468,6 +480,7 @@ <translation id="615957422585914272">ஸ்கிரீன் கீபோர்டைக் காட்டு</translation> <translation id="6164005077879661055">இந்தக் மேற்பார்வையிடப்படும் பயனர் அகற்றப்பட்டவுடன் மேற்பார்வையிடப்படும் பயனருடன் தொடர்புடைய எல்லா கோப்புகளும், அகத் தரவும் நிரந்தரமாக நீக்கப்படும். இந்தக் மேற்பார்வையிடப்படும் பயனர் பார்வையிட்ட இணையதளங்களையும் அமைப்புகளையும் <ph name="MANAGEMENT_URL" /> இல் இன்னும் நிர்வாகியால் பார்க்க முடியும்.</translation> <translation id="6165508094623778733">மேலும் அறிக</translation> +<translation id="6192859646269780503">மொபைல் இருக்குமிடத்தைக் கண்டறிதல்</translation> <translation id="622484624075952240">கீழ்</translation> <translation id="6236290670123303279">அமைப்புகளை நிர்வகி</translation> <translation id="6237231532760393653">1X</translation> @@ -539,6 +552,7 @@ <translation id="6981982820502123353">அணுகல் தன்மை</translation> <translation id="698231206551913481">இந்தப் பயனர் அகற்றப்பட்டதும், பயனருடன் தொடர்புடைய எல்லா கோப்புகளும் அகத் தரவும் நிரந்தரமாக நீக்கப்படும்.</translation> <translation id="7007983414944123363">உங்கள் பின்னையோ கடவுச்சொல்லையோ சரிபார்க்க முடியவில்லை. மீண்டும் முயலவும்.</translation> +<translation id="7013005189539051442">ஹாட்ஸ்பாட்டை இயக்குதல்</translation> <translation id="7015766095477679451"><ph name="COME_BACK_TIME" />க்கு மீண்டும் சாதனத்தைப் பயன்படுத்தலாம்.</translation> <translation id="7025533177575372252">உங்கள் <ph name="DEVICE_NAME" />ஐ ஃபோனுடன் இணைக்கவும்</translation> <translation id="7026338066939101231">குறை</translation> @@ -573,6 +587,7 @@ <translation id="742594950370306541">கேமரா பயன்பாட்டில் உள்ளது.</translation> <translation id="742608627846767349">காலை வணக்கம்,</translation> <translation id="743058460480092004">கேமராவும் மைக்ரோஃபோனும் பயன்பாட்டில் உள்ளன.</translation> +<translation id="7461924472993315131">நிலையாக வை</translation> <translation id="7466449121337984263">சென்சாரைத் தொடவும்</translation> <translation id="7477793887173910789">உங்கள் இசை, வீடியோக்கள் மற்றும் பலவற்றைக் கட்டுப்படுத்தலாம்</translation> <translation id="7497767806359279797">மொழியையும் கீபோர்ட்டையும் தேர்வுசெய்யவும்</translation> @@ -611,6 +626,7 @@ <translation id="7842569679327885685">எச்சரிக்கை: பரிசோதனை அம்சம்</translation> <translation id="7846634333498149051">விசைப்பலகை</translation> <translation id="7868900307798234037">கைரேகை மூலம் திறக்கிறது</translation> +<translation id="7872786842639831132">முடக்கு</translation> <translation id="7886169021410746335">தனியுரிமை அமைப்புகளை மாற்றலாம்</translation> <translation id="7886277072580235377">வெளியேறும்போது உங்கள் இணைய அமர்வு அழிக்கப்படும். <ph name="LEARN_MORE" /></translation> <translation id="788781083998633524">மின்னஞ்சல் அனுப்பு</translation> @@ -715,6 +731,7 @@ <translation id="8853703225951107899">உங்கள் பின்னையோ கடவுச்சொல்லையோ இப்போதும் சரிபார்க்க முடியவில்லை. கவனத்திற்கு: நீங்கள் சமீபத்தில் கடவுச்சொல்லை மாற்றியிருந்தால் பழைய கடவுச்சொல்லைப் பயன்படுத்தவும். வெளியேறினால் மட்டுமே புதிய கடவுச்சொல்லைப் பயன்படுத்த முடியும்.</translation> <translation id="885387440427703469">திரையைப் படமெடுக்கும் வசதி முடக்கப்பட்டுள்ளது</translation> <translation id="8870509716567206129">திரையைப் பிரிப்பதைப் ஆப்ஸ் ஆதரிக்கவில்லை.</translation> +<translation id="8871580645200179206">டார்க் தீமினை நிலைமாற்றும். <ph name="STATE_TEXT" /></translation> <translation id="8874184842967597500">இணைக்கப்படவில்லை</translation> <translation id="8877788021141246043">நினைவூட்டலை அமை</translation> <translation id="8878886163241303700">திரையை விரிவாக்குகிறது</translation>
diff --git a/ash/strings/ash_strings_te.xtb b/ash/strings/ash_strings_te.xtb index 039396c5..da912180 100644 --- a/ash/strings/ash_strings_te.xtb +++ b/ash/strings/ash_strings_te.xtb
@@ -48,6 +48,7 @@ <translation id="1351937230027495976">మెనూను కుదించు</translation> <translation id="1383876407941801731">సెర్చ్</translation> <translation id="1391102559483454063">ఆన్</translation> +<translation id="1407069428457324124">ముదురు రూపం</translation> <translation id="1419738280318246476">నోటిఫికేషన్ చర్యను నిర్వహించడానికి పరికరాన్ని అన్లాక్ చేయండి</translation> <translation id="1420408895951708260">రాత్రి కాంతిని టోగుల్ చేయి. <ph name="STATE_TEXT" /></translation> <translation id="1420527829902822813">స్క్రీన్షాట్ తీసి, క్లిప్బోర్డ్లో సేవ్ చేయబడింది</translation> @@ -65,6 +66,7 @@ <translation id="1550523713251050646">మరిన్ని ఎంపికల కోసం క్లిక్ చేయండి</translation> <translation id="1570871743947603115">బ్లూటూత్ను టోగుల్ చేయండి. <ph name="STATE_TEXT" /></translation> <translation id="1589090746204042747">ఈ సెషన్లో మీ మొత్తం కార్యకలాపాన్ని యాక్సెస్ చేయండి</translation> +<translation id="1611993646327628135">ఆన్</translation> <translation id="1632985212731562677">సెట్టింగ్లు > యాక్సెసిబిలిటీలో స్విచ్ యాక్సెస్ను డిజేబుల్ చేయవచ్చు.</translation> <translation id="1654477262762802994">వాయిస్ ప్రశ్నను ప్రారంభించు</translation> <translation id="1667964833127753507">'న్యూట్రల్ రంగు మోడ్'లో వాల్పేపర్ నుండి సంగ్రహించిన రంగులు ఉపయోగించబడవు, వాటి స్థానంలో తటస్థంగా కనిపించే పలుచని లేదా ముదురు రంగులు ఉపయోగించబడతాయి.</translation> @@ -79,6 +81,7 @@ <translation id="1761222317188459878">నెట్వర్క్ కనెక్షన్ను టోగుల్ చేయండి. <ph name="STATE_TEXT" /></translation> <translation id="1771761307086386028">కుడికి స్క్రోల్ చేయి</translation> <translation id="1782199038061388045">అనువాదం</translation> +<translation id="1787955149152357925">ఆఫ్ చేయి</translation> <translation id="181103072419391116">సిగ్నల్ సామర్థ్యం <ph name="SIGNAL_STRENGTH" />, మీ అడ్మినిస్ట్రేటర్ ద్వారా నిర్వహించబడుతుంది</translation> <translation id="1812997170047690955">నా స్క్రీన్పై ఏమి ఉన్నాయి?</translation> <translation id="1823873187264960516">ఈథర్నెట్: <ph name="ADDRESS" /></translation> @@ -166,6 +169,7 @@ <translation id="2706462751667573066">Up</translation> <translation id="2718395828230677721">రాత్రి కాంతి</translation> <translation id="2727977024730340865">తక్కువ-పవర్ గల ఛార్జర్కు ప్లగిన్ చేయబడింది. బ్యాటరీ ఛార్జింగ్ విశ్వసనీయంగా ఉండకపోవచ్చు.</translation> +<translation id="2743387203779672305">క్లిప్బోర్డ్కు కాపీ చేయి</translation> <translation id="2792498699870441125">Alt+Search</translation> <translation id="2819276065543622893">మీరు ఇప్పుడు సైన్ అవుట్ చేయబడతారు.</translation> <translation id="2825224105325558319"><ph name="DISPLAY_NAME" /> <ph name="SPECIFIED_RESOLUTION" />కు మద్దతివ్వదు. రిజల్యూషన్ <ph name="FALLBACK_RESOLUTION" />కు మార్చబడింది.</translation> @@ -201,6 +205,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3081696990447829002">మెనూని విస్తరించు</translation> <translation id="3087734570205094154">దిగువ</translation> +<translation id="3090989381251959936"><ph name="FEATURE_NAME" />ను టోగుల్ చేయండి. <ph name="STATE_TEXT" /></translation> <translation id="309749186376891736">కర్సర్ను జరపండి</translation> <translation id="3098580329624789136">"<ph name="QUERY" />" <ph name="INTENT" /> పొందండి</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (బ్లూటూత్)</translation> @@ -233,6 +238,7 @@ <translation id="3371140690572404006">USB-C పరికరం (కుడివైపు ముందు పోర్ట్)</translation> <translation id="3386978599540877378">పూర్తి స్క్రీన్ మాగ్నిఫైయర్</translation> <translation id="3400357268283240774">అదనపు సెట్టింగ్లు</translation> +<translation id="3410336247007142655">ముదురు రంగు రూపం సెట్టింగ్లను చూపించు</translation> <translation id="3413817803639110246">ఇప్పటికీ చూడటానికి ఏమీ లేవు</translation> <translation id="3428447136709161042"><ph name="NETWORK_NAME" /> నుండి డిస్కనెక్ట్ చేయి</translation> <translation id="3430396595145920809">వెనుకకు వెళ్లడానికి కుడి వైపు నుండి స్వైప్ చేయండి</translation> @@ -327,6 +333,7 @@ <translation id="4378551569595875038">కనెక్టింగ్...</translation> <translation id="4379531060876907730">ఇవి మీ స్టైలస్ సాధనాలు</translation> <translation id="4389184120735010762">మీరు డాక్ చేసిన మాగ్నిఫైయర్ కోసం కీబోర్డ్ షార్ట్కట్ను నొక్కారు. మీరు దీన్ని ఆన్ చేయాలనుకుంటున్నారా?</translation> +<translation id="4412944820643904175"><ph name="FEATURE_NAME" /> ఆఫ్లో ఉంది.</translation> <translation id="4421231901400348175">రిమోట్ సహాయం విధానంలో మీ స్క్రీన్ నియంత్రణ <ph name="HELPER_NAME" />కి భాగస్వామ్యం చేయబడుతోంది.</translation> <translation id="4430019312045809116">వాల్యూమ్</translation> <translation id="4450893287417543264">మళ్లీ చూపవద్దు</translation> @@ -346,6 +353,7 @@ <translation id="4570957409596482333">వినడానికి ఎంచుకోండి బటన్</translation> <translation id="4577274620589681794">సమయం ముగిసింది · <ph name="LABEL" /></translation> <translation id="4585337515783392668">తెలియని రిసీవర్లో ప్రసారం చేయడాన్ని ఆపివేయి</translation> +<translation id="4596144739579517758">ముదురు రంగు రూపం ఆఫ్లో ఉంది</translation> <translation id="4623167406982293031">ఖాతాను వెరిఫై చేయండి</translation> <translation id="4628757576491864469">పరికరాలు</translation> <translation id="4659419629803378708">ChromeVox ప్రారంభించబడింది</translation> @@ -388,6 +396,7 @@ <translation id="5168181903108465623">Cast పరికరాలు అందుబాటులో ఉన్నాయి</translation> <translation id="5170568018924773124">ఫోల్డర్లో చూపించు</translation> <translation id="5207949376430453814">వచన కర్సర్ గుర్తును హైలైట్ చేయి</translation> +<translation id="5208059991603368177">ఆన్ చేయి</translation> <translation id="5222676887888702881">సైన్ ఔట్</translation> <translation id="523505283826916779">యాక్సెస్ సెట్టింగ్లు</translation> <translation id="5260676007519551770">డెస్క్ 4</translation> @@ -399,6 +408,7 @@ <translation id="5313326810920013265">బ్లూటూత్ సెట్టింగ్లు</translation> <translation id="5314219114274263156">స్క్రీన్ రికార్డింగ్ తీసుకోబడింది</translation> <translation id="5331975486040154427">USB-C పరికరం (ఎడమవైపు వెనుక పోర్ట్)</translation> +<translation id="5352250171825660495">ముదురు రంగు రూపం ఆన్లో ఉంది</translation> <translation id="5379115545237091094">అనేకసార్లు ప్రయత్నించారు</translation> <translation id="5397578532367286026">ఈ వినియోగదారు యొక్క వినియోగం మరియు చరిత్రను chrome.comలో నిర్వాహకుడు (<ph name="MANAGER_EMAIL" />) సమీక్షించవచ్చు.</translation> <translation id="5400461572260843123">త్వరిత సెట్టింగ్లు, నోటిఫికేషన్ సెంటర్ను యాక్సెస్ చేయడానికి శోధన + ఎడమకు నొక్కండి.</translation> @@ -435,6 +445,7 @@ <translation id="5769373120130404283">గోప్యతా స్క్రీన్</translation> <translation id="5777841717266010279">స్క్రీన్ భాగస్వామ్యాన్ని ఆపివేయాలా?</translation> <translation id="5790085346892983794">విజయవంతం</translation> +<translation id="579415080077680903">నిశ్శబ్దం</translation> <translation id="5820394555380036790">Chromium OS</translation> <translation id="5837036133683224804"><ph name="RECEIVER_NAME" />లో <ph name="ROUTE_TITLE" /> ఆపివేయి</translation> <translation id="5860033963881614850">ఆఫ్ అయ్యింది</translation> @@ -445,6 +456,7 @@ <translation id="5911909173233110115"><ph name="USERNAME" /> (<ph name="MAIL" />)</translation> <translation id="5916664084637901428">ఆన్ చేయి</translation> <translation id="5920710855273935292">మైక్ మ్యూట్ చేయబడింది.</translation> +<translation id="5946788582095584774"><ph name="FEATURE_NAME" /> ఆన్లో ఉంది.</translation> <translation id="5947494881799873997">తిరిగి పూర్వ స్థితికి మార్చు</translation> <translation id="595202126637698455">పనితీరుని గుర్తించడం ప్రారంభించబడింది</translation> <translation id="5957083217255311415">మొబైల్ డేటా ఆఫ్లో ఉంది.</translation> @@ -469,6 +481,7 @@ <translation id="615957422585914272">స్క్రీన్పై కీబోర్డ్ను చూపు</translation> <translation id="6164005077879661055">ఈ పర్యవేక్షించబడే వినియోగదారు తీసివేయబడినప్పుడు, పర్యవేక్షించబడే వినియోగదారుతో అనుబంధించబడిన అన్ని ఫైల్లు మరియు స్థానిక డేటా శాశ్వతంగా తొలగించబడతాయి. ఈ పర్యవేక్షించబడే వినియోగదారు సందర్శించిన వెబ్సైట్లు మరియు వీరి సెట్టింగ్లు ఇప్పటికీ <ph name="MANAGEMENT_URL" />లో నిర్వాహకునికి కనిపించవచ్చు.</translation> <translation id="6165508094623778733">మరింత తెలుసుకోండి</translation> +<translation id="6192859646269780503">ఫోన్ను గుర్తించు</translation> <translation id="622484624075952240">Down</translation> <translation id="6236290670123303279">సెట్టింగ్లను మేనేజ్ చేయండి</translation> <translation id="6237231532760393653">1X</translation> @@ -540,6 +553,7 @@ <translation id="6981982820502123353">యాక్సెసిబిలిటీ</translation> <translation id="698231206551913481">ఈ వినియోగదారును తీసివేసిన తర్వాత ఈ వినియోగదారుతో అనుబంధించిన అన్ని ఫైల్లు మరియు స్థానిక డేటా శాశ్వతంగా తొలగించబడతాయి.</translation> <translation id="7007983414944123363">మీ పిన్ లేదా పాస్వర్డ్ను వెరిఫై చేయడం సాధ్యం కాలేదు. మళ్లీ ట్రై చేయండి.</translation> +<translation id="7013005189539051442">హాట్స్పాట్ను ఎనేబుల్ చేయి</translation> <translation id="7015766095477679451">తిరిగి <ph name="COME_BACK_TIME" />కి రండి.</translation> <translation id="7025533177575372252">మీ <ph name="DEVICE_NAME" />ని మీ ఫోన్కి కనెక్ట్ చేయండి</translation> <translation id="7026338066939101231">తరుగుదల</translation> @@ -574,6 +588,7 @@ <translation id="742594950370306541">కెమెరా ఉపయోగంలో ఉంది.</translation> <translation id="742608627846767349">శుభోదయం,</translation> <translation id="743058460480092004">కెమెరా మరియు మైక్రోఫోన్ ఉపయోగంలో ఉన్నాయి.</translation> +<translation id="7461924472993315131">పిన్ చేయి</translation> <translation id="7466449121337984263">దయచేసి సెన్సార్ను తాకండి</translation> <translation id="7477793887173910789">మీ సంగీతం, వీడియోలు అలాగే ఇంకా మరిన్నింటిని నియంత్రించండి</translation> <translation id="7497767806359279797">భాషను మరియు కీబోర్డ్ను ఎంచుకోండి</translation> @@ -612,6 +627,7 @@ <translation id="7842569679327885685">హెచ్చరిక: ప్రయోగాత్మక ఫీచర్</translation> <translation id="7846634333498149051">కీబోర్డ్</translation> <translation id="7868900307798234037">వేలిముద్రతో అన్లాక్ చేస్తోంది</translation> +<translation id="7872786842639831132">ఆఫ్</translation> <translation id="7886169021410746335">గోప్యతా సెట్టింగ్లను సర్దుబాటు చేయండి</translation> <translation id="7886277072580235377">మీరు సైన్ అవుట్ చేసినప్పుడు మీ ఇంటర్నెట్ సెషన్ క్లియర్ చేయబడుతుంది. <ph name="LEARN_MORE" /></translation> <translation id="788781083998633524">ఇమెయిల్ పంపు</translation> @@ -716,6 +732,7 @@ <translation id="8853703225951107899">మీ పిన్ లేదా పాస్వర్డ్ను వెరిఫై చేయడం ఇంకా సాధ్యం కాలేదు. గమనిక: మీరు ఇటీవలే మీ పాస్వర్డ్ను మార్చి ఉంటే, మీ పాత పాస్వర్డ్ను ఉపయోగించండి. మీరు ఖాతా నుంచి సైన్ అవుట్ చేసిన తర్వాత మీ కొత్త పాస్వర్డ్ వర్తిస్తుంది.</translation> <translation id="885387440427703469">స్క్రీన్ క్యాప్చర్ డిజేబుల్ చేయబడింది</translation> <translation id="8870509716567206129">యాప్లో విభజన స్క్రీన్కు మద్దతు లేదు.</translation> +<translation id="8871580645200179206">ముదురు రంగు రూపాన్ని టోగుల్ చేయండి. <ph name="STATE_TEXT" /></translation> <translation id="8874184842967597500">కనెక్ట్ కాలేదు</translation> <translation id="8877788021141246043">రిమైండర్ సెట్ చేయి</translation> <translation id="8878886163241303700">స్క్రీన్ విస్తరించబడుతోంది</translation>
diff --git a/ash/strings/ash_strings_th.xtb b/ash/strings/ash_strings_th.xtb index 3398154..acbce770 100644 --- a/ash/strings/ash_strings_th.xtb +++ b/ash/strings/ash_strings_th.xtb
@@ -48,6 +48,7 @@ <translation id="1351937230027495976">ยุบเมนู</translation> <translation id="1383876407941801731">ค้นหา</translation> <translation id="1391102559483454063">เปิด</translation> +<translation id="1407069428457324124">ธีมมืด</translation> <translation id="1419738280318246476">ปลดล็อกอุปกรณ์เพื่อดำเนินการแจ้งเตือน</translation> <translation id="1420408895951708260">เปิด/ปิดแสงตอนกลางคืน <ph name="STATE_TEXT" /></translation> <translation id="1420527829902822813">ถ่ายภาพหน้าจอและบันทึกในคลิปบอร์ดแล้ว</translation> @@ -65,6 +66,7 @@ <translation id="1550523713251050646">คลิกเพื่อดูตัวเลือกเพิ่มเติม</translation> <translation id="1570871743947603115">เปิด/ปิดบลูทูธ <ph name="STATE_TEXT" /></translation> <translation id="1589090746204042747">เข้าถึงกิจกรรมทั้งหมดของคุณในเซสชันนี้</translation> +<translation id="1611993646327628135">เปิด</translation> <translation id="1632985212731562677">ปิดใช้ "การเข้าถึงด้วยสวิตช์" ได้ในการตั้งค่า > การช่วยเหลือพิเศษ</translation> <translation id="1654477262762802994">เริ่มการค้นหาด้วยเสียง</translation> <translation id="1667964833127753507">โหมดสีปานกลางไม่ได้ใช้สีที่ดึงมาจากวอลเปเปอร์ แต่จะใช้ชุดโทนสีที่สว่างหรือเข้มปานกลางแทนสีเหล่านั้น</translation> @@ -79,6 +81,7 @@ <translation id="1761222317188459878">เปิด/ปิดการเชื่อมต่อเครือข่าย <ph name="STATE_TEXT" /></translation> <translation id="1771761307086386028">เลื่อนไปทางขวา</translation> <translation id="1782199038061388045">การแปล</translation> +<translation id="1787955149152357925">ปิด</translation> <translation id="181103072419391116">ความแรงสัญญาณ <ph name="SIGNAL_STRENGTH" />, จัดการโดยผู้ดูแลระบบ</translation> <translation id="1812997170047690955">รายการที่อยู่ในหน้าจอของฉัน</translation> <translation id="1823873187264960516">อีเทอร์เน็ต: <ph name="ADDRESS" /></translation> @@ -166,6 +169,7 @@ <translation id="2706462751667573066">ขึ้น</translation> <translation id="2718395828230677721">แสงตอนกลางคืน</translation> <translation id="2727977024730340865">เสียบอยู่กับที่ชาร์จพลังงานต่ำ การชาร์จแบตเตอรี่อาจไม่น่าเชื่อถือ</translation> +<translation id="2743387203779672305">คัดลอกไว้ที่คลิปบอร์ด</translation> <translation id="2792498699870441125">Alt+ค้นหา</translation> <translation id="2819276065543622893">คุณจะออกจากระบบในตอนนี้</translation> <translation id="2825224105325558319"><ph name="DISPLAY_NAME" /> ไม่รองรับ <ph name="SPECIFIED_RESOLUTION" /> ระบบเปลี่ยนความละเอียดเป็น <ph name="FALLBACK_RESOLUTION" /></translation> @@ -201,6 +205,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3081696990447829002">ขยายเมนู</translation> <translation id="3087734570205094154">ด้านล่าง</translation> +<translation id="3090989381251959936">เปิด/ปิด <ph name="FEATURE_NAME" /> <ph name="STATE_TEXT" /></translation> <translation id="309749186376891736">เลื่อนเคอร์เซอร์</translation> <translation id="3098580329624789136">ดู<ph name="INTENT" />สำหรับ "<ph name="QUERY" />"</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (บลูทูธ)</translation> @@ -233,6 +238,7 @@ <translation id="3371140690572404006">อุปกรณ์ USB-C (พอร์ตด้านหน้าขวา)</translation> <translation id="3386978599540877378">แว่นขยายแบบเต็มหน้าจอ</translation> <translation id="3400357268283240774">การตั้งค่าเพิ่มเติม</translation> +<translation id="3410336247007142655">แสดงการตั้งค่าธีมมืด</translation> <translation id="3413817803639110246">ไม่มีการแจ้งเตือนใหม่</translation> <translation id="3428447136709161042">ยกเลิกการเชื่อมต่อกับ <ph name="NETWORK_NAME" /></translation> <translation id="3430396595145920809">เลื่อนจากด้านขวาเพื่อย้อนกลับ</translation> @@ -326,6 +332,7 @@ <translation id="4378551569595875038">กำลังเชื่อมต่อ</translation> <translation id="4379531060876907730">นี่คือเครื่องมือสไตลัส</translation> <translation id="4389184120735010762">คุณกดแป้นพิมพ์ลัดสำหรับแว่นขยายหน้าจอบางส่วน จะเปิดแว่นขยายไหม</translation> +<translation id="4412944820643904175"><ph name="FEATURE_NAME" /> ปิดอยู่</translation> <translation id="4421231901400348175">กำลังแชร์การควบคุมหน้าจอกับ <ph name="HELPER_NAME" /> ผ่านความช่วยเหลือระยะไกล</translation> <translation id="4430019312045809116">ระดับเสียง</translation> <translation id="4450893287417543264">ไม่ต้องแสดงอีก</translation> @@ -345,6 +352,7 @@ <translation id="4570957409596482333">ปุ่มเลือกเพื่อให้อ่าน</translation> <translation id="4577274620589681794">หมดเวลา · <ph name="LABEL" /></translation> <translation id="4585337515783392668">หยุดแคสต์ไปยังเครื่องรับที่ไม่รู้จัก</translation> +<translation id="4596144739579517758">ธีมมืดปิดอยู่</translation> <translation id="4623167406982293031">ยืนยันบัญชี</translation> <translation id="4628757576491864469">อุปกรณ์</translation> <translation id="4659419629803378708">เปิดใช้ ChromeVox แล้ว</translation> @@ -387,6 +395,7 @@ <translation id="5168181903108465623">เครื่องส่งพร้อมใช้งาน</translation> <translation id="5170568018924773124">แสดงในโฟลเดอร์</translation> <translation id="5207949376430453814">ไฮไลต์เครื่องหมาย Caret ของข้อความ</translation> +<translation id="5208059991603368177">เปิด</translation> <translation id="5222676887888702881">ออกจากระบบ</translation> <translation id="523505283826916779">การตั้งค่าสำหรับการเข้าถึง</translation> <translation id="5260676007519551770">โต๊ะที่ 4</translation> @@ -398,6 +407,7 @@ <translation id="5313326810920013265">การตั้งค่าบลูทูธ</translation> <translation id="5314219114274263156">อัดหน้าจอแล้ว</translation> <translation id="5331975486040154427">อุปกรณ์ USB-C (พอร์ตด้านหลังซ้าย)</translation> +<translation id="5352250171825660495">ธีมมืดเปิดอยู่</translation> <translation id="5379115545237091094">ลองหลายครั้งเกินไป</translation> <translation id="5397578532367286026">การใช้งานและประวัติของผู้ใช้รายนี้อาจถูกตรวจสอบโดยผู้จัดการ (<ph name="MANAGER_EMAIL" />) บน chrome.com</translation> <translation id="5400461572260843123">การตั้งค่าด่วน กด "ค้นหา" + ลูกศรซ้าย เพื่อเข้าถึงศูนย์การแจ้งเตือน</translation> @@ -434,6 +444,7 @@ <translation id="5769373120130404283">หน้าจอส่วนตัว</translation> <translation id="5777841717266010279">ต้องการหยุดแชร์หน้าจอไหม</translation> <translation id="5790085346892983794">สำเร็จ</translation> +<translation id="579415080077680903">ปิดเสียง</translation> <translation id="5820394555380036790">Chromium OS</translation> <translation id="5837036133683224804">หยุด <ph name="ROUTE_TITLE" /> ใน<ph name="RECEIVER_NAME" /></translation> <translation id="5860033963881614850">ปิด</translation> @@ -444,6 +455,7 @@ <translation id="5911909173233110115"><ph name="USERNAME" /> (<ph name="MAIL" />)</translation> <translation id="5916664084637901428">เปิด</translation> <translation id="5920710855273935292">ปิดเสียงไมค์อยู่</translation> +<translation id="5946788582095584774"><ph name="FEATURE_NAME" /> เปิดอยู่</translation> <translation id="5947494881799873997">ย้อนกลับ</translation> <translation id="595202126637698455">เปิดใช้งานการติดตามการปฏิบัติงานแล้ว</translation> <translation id="5957083217255311415">เน็ตมือถือปิดอยู่</translation> @@ -468,6 +480,7 @@ <translation id="615957422585914272">แสดงแป้นพิมพ์บนหน้าจอ</translation> <translation id="6164005077879661055">ไฟล์และข้อมูลในตัวเครื่องทั้งหมดที่เกี่ยวข้องกับผู้ใช้ภายใต้การดูแลจะถูกลบออกอย่างถาวรเมื่อผู้ใช้ภายใต้การดูแลนี้ถูกลบ เว็บไซต์ที่เข้าชมและการตั้งค่าสำหรับผู้ใช้ภายใต้การดูแลนี้อาจจะยังคงมองเห็นได้โดยผู้จัดการที่ <ph name="MANAGEMENT_URL" /></translation> <translation id="6165508094623778733">ดูข้อมูลเพิ่มเติม</translation> +<translation id="6192859646269780503">ค้นหาตำแหน่งของโทรศัพท์</translation> <translation id="622484624075952240">ลง</translation> <translation id="6236290670123303279">จัดการการตั้งค่า</translation> <translation id="6237231532760393653">1X</translation> @@ -539,6 +552,7 @@ <translation id="6981982820502123353">การช่วยเหลือพิเศษ</translation> <translation id="698231206551913481">ระบบจะลบไฟล์ทั้งหมดและข้อมูลในเครื่องที่เชื่อมโยงกับผู้ใช้รายนี้ออกอย่างถาวรหลังจากนำผู้ใช้รายนี้ออกแล้ว</translation> <translation id="7007983414944123363">ยืนยัน PIN หรือรหัสผ่านของคุณไม่ได้ ลองใหม่</translation> +<translation id="7013005189539051442">เปิดใช้ฮอตสปอต</translation> <translation id="7015766095477679451">กลับมาเมื่อถึงเวลา <ph name="COME_BACK_TIME" /></translation> <translation id="7025533177575372252">เชื่อมต่อ <ph name="DEVICE_NAME" /> กับโทรศัพท์</translation> <translation id="7026338066939101231">การลด</translation> @@ -573,6 +587,7 @@ <translation id="742594950370306541">ใช้กล้องถ่ายรูปอยู่</translation> <translation id="742608627846767349">สวัสดียามเช้า</translation> <translation id="743058460480092004">ใช้กล้องถ่ายรูปและไมโครโฟนอยู่</translation> +<translation id="7461924472993315131">ตรึง</translation> <translation id="7466449121337984263">โปรดแตะเซ็นเซอร์</translation> <translation id="7477793887173910789">ควบคุมเพลง วิดีโอ และอื่นๆ</translation> <translation id="7497767806359279797">เลือกภาษาและแป้นพิมพ์</translation> @@ -611,6 +626,7 @@ <translation id="7842569679327885685">คำเตือน: ฟีเจอร์ทดลอง</translation> <translation id="7846634333498149051">แป้นพิมพ์</translation> <translation id="7868900307798234037">กำลังปลดล็อกด้วยลายนิ้วมือ</translation> +<translation id="7872786842639831132">ปิด</translation> <translation id="7886169021410746335">ปรับการตั้งค่าความเป็นส่วนตัว</translation> <translation id="7886277072580235377">ระบบจะล้างเซสชันอินเทอร์เน็ตของคุณเมื่อออกจากระบบ <ph name="LEARN_MORE" /></translation> <translation id="788781083998633524">ส่งอีเมล</translation> @@ -715,6 +731,7 @@ <translation id="8853703225951107899">ยังคงยืนยัน PIN หรือรหัสผ่านของคุณไม่ได้ หากคุณเพิ่งเปลี่ยนรหัสผ่านไปไม่นาน ให้ใช้รหัสผ่านเก่า รหัสผ่านใหม่จะมีผลเมื่อคุณออกจากระบบ</translation> <translation id="885387440427703469">มีการปิดใช้การจับภาพหน้าจอ</translation> <translation id="8870509716567206129">แอปไม่สนับสนุนการแยกหน้าจอ</translation> +<translation id="8871580645200179206">เปิด/ปิดธีมมืด <ph name="STATE_TEXT" /></translation> <translation id="8874184842967597500">ไม่เชื่อมต่อ</translation> <translation id="8877788021141246043">ตั้งการช่วยเตือน</translation> <translation id="8878886163241303700">กำลังขยายหน้าจอ</translation>
diff --git a/ash/strings/ash_strings_tr.xtb b/ash/strings/ash_strings_tr.xtb index f90edbc..708f8f5aa 100644 --- a/ash/strings/ash_strings_tr.xtb +++ b/ash/strings/ash_strings_tr.xtb
@@ -48,6 +48,7 @@ <translation id="1351937230027495976">Menüyü daralt</translation> <translation id="1383876407941801731">Ara</translation> <translation id="1391102559483454063">Açık</translation> +<translation id="1407069428457324124">Koyu tema</translation> <translation id="1419738280318246476">Bildirim işlemi gerçekleştirmek için cihazın kilidini açın</translation> <translation id="1420408895951708260">Gece Işığı'nı aç/kapat. <ph name="STATE_TEXT" /></translation> <translation id="1420527829902822813">Ekran görüntüsü alınıp panoya kaydedildi</translation> @@ -65,6 +66,7 @@ <translation id="1550523713251050646">Daha fazla seçenek için tıklayın</translation> <translation id="1570871743947603115">Bluetooth'u aç/kapat. <ph name="STATE_TEXT" /></translation> <translation id="1589090746204042747">Bu oturumdaki tüm etkinliğinize erişme</translation> +<translation id="1611993646327628135">Açık</translation> <translation id="1632985212731562677">Anahtar Erişimi, Ayarlar > Erişilebilirlik'te devre dışı bırakılabilir.</translation> <translation id="1654477262762802994">Sesli sorgu başlat</translation> <translation id="1667964833127753507">Nötr renk modu, duvar kağıdından çıkarılan renkleri kullanmaz, bunları nötr tonlu açık veya koyu renklerle değiştirir.</translation> @@ -79,6 +81,7 @@ <translation id="1761222317188459878">Ağ bağlantısını aç/kapat. <ph name="STATE_TEXT" /></translation> <translation id="1771761307086386028">Sağa kaydır</translation> <translation id="1782199038061388045">çeviri</translation> +<translation id="1787955149152357925">Kapalı</translation> <translation id="181103072419391116"><ph name="SIGNAL_STRENGTH" /> Sinyal Gücü, Yöneticiniz tarafından yönetiliyor</translation> <translation id="1812997170047690955">Ekranımda ne var?</translation> <translation id="1823873187264960516">Ethernet: <ph name="ADDRESS" /></translation> @@ -166,6 +169,7 @@ <translation id="2706462751667573066">Yukarı</translation> <translation id="2718395828230677721">Gece Işığı</translation> <translation id="2727977024730340865">Düşük güçlü bir şarj cihazına takıldı. Şarj durumu güvenilir olmayabilir.</translation> +<translation id="2743387203779672305">Panoya kopyala</translation> <translation id="2792498699870441125">Alt+Arama</translation> <translation id="2819276065543622893">Şimdi çıkış yapacaksınız.</translation> <translation id="2825224105325558319"><ph name="DISPLAY_NAME" />, <ph name="SPECIFIED_RESOLUTION" /> çözünürlüğü desteklemiyor. Çözünürlük <ph name="FALLBACK_RESOLUTION" /> olarak değiştirildi.</translation> @@ -201,6 +205,7 @@ <translation id="3077734595579995578">üstkrktr</translation> <translation id="3081696990447829002">Menüyü genişlet</translation> <translation id="3087734570205094154">Alt</translation> +<translation id="3090989381251959936"><ph name="FEATURE_NAME" /> özelliğini aç/kapat. <ph name="STATE_TEXT" /></translation> <translation id="309749186376891736">İmleci taşı</translation> <translation id="3098580329624789136">"<ph name="QUERY" />" için <ph name="INTENT" /> al</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth)</translation> @@ -233,6 +238,7 @@ <translation id="3371140690572404006">USB-C cihaz (sağ ön bağlantı noktası)</translation> <translation id="3386978599540877378">tam ekran büyüteci</translation> <translation id="3400357268283240774">Ek ayarlar</translation> +<translation id="3410336247007142655">Koyu tema ayarlarını göster</translation> <translation id="3413817803639110246">Henüz görülecek bir şey yok</translation> <translation id="3428447136709161042"><ph name="NETWORK_NAME" /> bağlantısını kes</translation> <translation id="3430396595145920809">Geri gitmek için sağdan kaydırın</translation> @@ -326,6 +332,7 @@ <translation id="4378551569595875038">Bağlanıyor...</translation> <translation id="4379531060876907730">Bunlar ekran kalemi araçlarınızdır</translation> <translation id="4389184120735010762">Yerleştirilmiş büyüteç klavye kısayoluna bastınız. Bu özelliği açmak istiyor musunuz?</translation> +<translation id="4412944820643904175"><ph name="FEATURE_NAME" /> özelliği kapalı.</translation> <translation id="4421231901400348175">Ekranınızın kontrolü, Uzaktan Yardım kullanılarak <ph name="HELPER_NAME" /> ile paylaşılıyor.</translation> <translation id="4430019312045809116">Ses</translation> <translation id="4450893287417543264">Bir daha gösterme</translation> @@ -345,6 +352,7 @@ <translation id="4570957409596482333">Seç ve Dinle düğmesi</translation> <translation id="4577274620589681794">Süre doldu · <ph name="LABEL" /></translation> <translation id="4585337515783392668">Bilinmeyen bir alıcıya yayını durdur</translation> +<translation id="4596144739579517758">Koyu tema kapalı</translation> <translation id="4623167406982293031">Hesabı doğrulama</translation> <translation id="4628757576491864469">Cihazlar</translation> <translation id="4659419629803378708">ChromeVox etkinleştirildi</translation> @@ -387,6 +395,7 @@ <translation id="5168181903108465623">Yayın cihazları kullanılabilir</translation> <translation id="5170568018924773124">Klasörde göster</translation> <translation id="5207949376430453814">Metin imlecini vurgula</translation> +<translation id="5208059991603368177">Açık</translation> <translation id="5222676887888702881">Çıkış</translation> <translation id="523505283826916779">Erişilebilirlik ayarları</translation> <translation id="5260676007519551770">Çalışma Masası 4</translation> @@ -398,6 +407,7 @@ <translation id="5313326810920013265">Bluetooth ayarları</translation> <translation id="5314219114274263156">Ekran kaydı alındı</translation> <translation id="5331975486040154427">USB-C cihaz (sol arka bağlantı noktası)</translation> +<translation id="5352250171825660495">Koyu tema açık</translation> <translation id="5379115545237091094">Çok fazla deneme yapıldı</translation> <translation id="5397578532367286026">Bu kullanıcıyla ilgili kullanım ve geçmiş bilgileri, yönetici (<ph name="MANAGER_EMAIL" />) tarafından chrome.com adresinden incelenebilir.</translation> <translation id="5400461572260843123">Hızlı Ayarlar, Bildirim merkezine erişmek için arama + sol tuşlarına basın.</translation> @@ -434,6 +444,7 @@ <translation id="5769373120130404283">Gizlilik ekranı</translation> <translation id="5777841717266010279">Ekran paylaşma durdurulsun mu?</translation> <translation id="5790085346892983794">Başarılı</translation> +<translation id="579415080077680903">Sessiz</translation> <translation id="5820394555380036790">Chromium OS</translation> <translation id="5837036133683224804"><ph name="RECEIVER_NAME" /> adlı alıcıya <ph name="ROUTE_TITLE" /> yayınını durdur</translation> <translation id="5860033963881614850">Kapalı</translation> @@ -444,6 +455,7 @@ <translation id="5911909173233110115"><ph name="USERNAME" /> (<ph name="MAIL" />)</translation> <translation id="5916664084637901428">Açık</translation> <translation id="5920710855273935292">Mikrofonun sesi kapalı.</translation> +<translation id="5946788582095584774"><ph name="FEATURE_NAME" /> özelliği açık.</translation> <translation id="5947494881799873997">Geri döndür</translation> <translation id="595202126637698455">Performans izleme etkin</translation> <translation id="5957083217255311415">Mobil veri kapatıldı.</translation> @@ -469,6 +481,7 @@ <translation id="615957422585914272">Dokunmatik klavyeyi göster</translation> <translation id="6164005077879661055">Denetlenen bu kullanıcı kaldırıldığında denetlenen kullanıcıyla ilişkilendirilmiş tüm dosyalar ve yerel veriler kalıcı olarak silinir. Yönetici, denetlenen bu kullanıcıya ilişkin ziyaret edilen web sayfaları ve ayarları <ph name="MANAGEMENT_URL" /> adresinden görüntülemeye devam edebilir.</translation> <translation id="6165508094623778733">Daha fazla bilgi</translation> +<translation id="6192859646269780503">Telefonu Bul</translation> <translation id="622484624075952240">Aşağı</translation> <translation id="6236290670123303279">Ayarları Yönet</translation> <translation id="6237231532760393653">1X</translation> @@ -540,6 +553,7 @@ <translation id="6981982820502123353">Erişilebilirlik</translation> <translation id="698231206551913481">Bu kullanıcıyla ilişkilendirilen tüm dosyalar ve yerel veriler, bu kullanıcı kaldırıldıktan sonra kalıcı olarak silinir.</translation> <translation id="7007983414944123363">PIN'iniz veya şifreniz doğrulanamadı. Tekrar deneyin.</translation> +<translation id="7013005189539051442">Hotspot'ı Etkinleştir</translation> <translation id="7015766095477679451">Saat <ph name="COME_BACK_TIME" /> olduğunda geri gelin.</translation> <translation id="7025533177575372252"><ph name="DEVICE_NAME" /> cihazınızı telefonunuza bağlayın</translation> <translation id="7026338066939101231">Azalt</translation> @@ -574,6 +588,7 @@ <translation id="742594950370306541">Kamera kullanımda.</translation> <translation id="742608627846767349">Günaydın,</translation> <translation id="743058460480092004">Kamera ve mikrofon kullanımda.</translation> +<translation id="7461924472993315131">Sabitle</translation> <translation id="7466449121337984263">Lütfen sensöre dokunun</translation> <translation id="7477793887173910789">Müzik, video ve diğer içeriklerinizi kontrol edin</translation> <translation id="7497767806359279797">Dil ve klavye seçin</translation> @@ -612,6 +627,7 @@ <translation id="7842569679327885685">Uyarı: Deneysel özellik</translation> <translation id="7846634333498149051">Klavye</translation> <translation id="7868900307798234037">Parmak iziyle kilit açılıyor</translation> +<translation id="7872786842639831132">Kapalı</translation> <translation id="7886169021410746335">Gizlilik ayarlarını yapma</translation> <translation id="7886277072580235377">Oturumu kapattığınızda internet oturumunuz temizlenecektir. <ph name="LEARN_MORE" /></translation> <translation id="788781083998633524">E-posta gönder</translation> @@ -716,6 +732,7 @@ <translation id="8853703225951107899">PIN'iniz veya şifreniz hâlâ doğrulanamadı. Not: Şifrenizi yakın zamanda değiştirdiyseniz eski şifrenizi kullanın. Yeni şifreniz, oturumunuzu kapattıktan sonra geçerli olacaktır.</translation> <translation id="885387440427703469">Ekran görüntüsü alma devre dışı</translation> <translation id="8870509716567206129">Uygulama bölünmüş ekranı desteklemiyor.</translation> +<translation id="8871580645200179206">Koyu Temayı aç/kapat. <ph name="STATE_TEXT" /></translation> <translation id="8874184842967597500">Bağlı değil</translation> <translation id="8877788021141246043">Hatırlatıcı oluştur</translation> <translation id="8878886163241303700">Genişletilmiş ekran</translation>
diff --git a/ash/strings/ash_strings_uk.xtb b/ash/strings/ash_strings_uk.xtb index 00417f9..2e60f0b 100644 --- a/ash/strings/ash_strings_uk.xtb +++ b/ash/strings/ash_strings_uk.xtb
@@ -169,6 +169,7 @@ <translation id="2706462751667573066">Вгору</translation> <translation id="2718395828230677721">Нічний екран</translation> <translation id="2727977024730340865">Підключено до зарядного пристрою низької потужності. Акумулятор може заряджатися неналежним чином.</translation> +<translation id="2743387203779672305">Копіювати в буфер</translation> <translation id="2792498699870441125">Alt+клавіша пошуку</translation> <translation id="2819276065543622893">Зараз ви вийдете.</translation> <translation id="2825224105325558319"><ph name="DISPLAY_NAME" /> не підтримує роздільну здатність <ph name="SPECIFIED_RESOLUTION" />. Роздільну здатність змінено на <ph name="FALLBACK_RESOLUTION" />.</translation> @@ -586,6 +587,7 @@ <translation id="742594950370306541">Камера використовується.</translation> <translation id="742608627846767349">Доброго ранку!</translation> <translation id="743058460480092004">Камера та мікрофон використовуються.</translation> +<translation id="7461924472993315131">Закріпити</translation> <translation id="7466449121337984263">Торкніться сканера</translation> <translation id="7477793887173910789">Керуйте музикою, відео й іншим контентом</translation> <translation id="7497767806359279797">Вибрати мову та клавіатуру</translation>
diff --git a/ash/strings/ash_strings_ur.xtb b/ash/strings/ash_strings_ur.xtb index ed30023..adfe05a 100644 --- a/ash/strings/ash_strings_ur.xtb +++ b/ash/strings/ash_strings_ur.xtb
@@ -166,6 +166,7 @@ <translation id="2706462751667573066">اوپر</translation> <translation id="2718395828230677721">نائٹ لائٹ</translation> <translation id="2727977024730340865">ایک کم پاور کے چارجر میں پلگ ان ہے۔ بیٹری چارجنگ ممکن ہے بھروسہ مند نہ ہو۔</translation> +<translation id="2743387203779672305">کلپ بورڈ پر کاپی کریں</translation> <translation id="2792498699870441125">Alt+تلاش</translation> <translation id="2819276065543622893">آپ اب سائن آؤٹ ہو جائیں گے۔</translation> <translation id="2825224105325558319"><ph name="DISPLAY_NAME" /> <ph name="SPECIFIED_RESOLUTION" /> کو سپورٹ نہیں کرتا ہے۔ ریزولیوشن کو تبدیل کر کے <ph name="FALLBACK_RESOLUTION" /> کر دیا گیا تھا۔</translation> @@ -573,6 +574,7 @@ <translation id="742594950370306541">کیمرا زیر استعمال ہے۔</translation> <translation id="742608627846767349">صبح بخیر،</translation> <translation id="743058460480092004">کیمرا اور مائیکروفون زیر استعمال ہیں۔</translation> +<translation id="7461924472993315131">پن کریں</translation> <translation id="7466449121337984263">براہ کرم سینسر کو ٹچ کریں</translation> <translation id="7477793887173910789">اپنی موسیقی، ویڈیوز اور بھی بہت کچھ کنٹرول کریں</translation> <translation id="7497767806359279797">زبان اور کی بورڈ منتخب کریں</translation>
diff --git a/ash/strings/ash_strings_uz.xtb b/ash/strings/ash_strings_uz.xtb index a6c75301..4aceefa7 100644 --- a/ash/strings/ash_strings_uz.xtb +++ b/ash/strings/ash_strings_uz.xtb
@@ -48,6 +48,7 @@ <translation id="1351937230027495976">Menyuni yopish</translation> <translation id="1383876407941801731">Qidiruv</translation> <translation id="1391102559483454063">Yoniq</translation> +<translation id="1407069428457324124">Tungi mavzu</translation> <translation id="1419738280318246476">Bildirishnomani amalga oshirish uchun qurilmani qulfdan chiqaring</translation> <translation id="1420408895951708260">Tungi rejim: <ph name="STATE_TEXT" /></translation> <translation id="1420527829902822813">Skrinshot olindi va vaqtinchalik xotiraga saqlandi</translation> @@ -65,6 +66,7 @@ <translation id="1550523713251050646">Qo‘shimcha parametrlarni ko‘rish</translation> <translation id="1570871743947603115">Bluetooth qurilmasini yoqish/o‘chirish <ph name="STATE_TEXT" /></translation> <translation id="1589090746204042747">Bu seansdagi barcha harakatlaringizga ruxsat</translation> +<translation id="1611993646327628135">Yoniq</translation> <translation id="1632985212731562677">Switch Access funksiyasini Sozlamalar > Maxsus imkoniyatlar orqali faolsizlantirish mumkin.</translation> <translation id="1654477262762802994">Ovozli qidiruvni boshlash</translation> <translation id="1667964833127753507">Neytral ranglar rejimida fon uchun yorqin yoki xira tusdagi toʻplam koʻrinishidagi ixtiyoriy ranglar ishlatiladi.</translation> @@ -79,6 +81,7 @@ <translation id="1761222317188459878">Tarmoq aloqasini yoqish/o‘chirish. <ph name="STATE_TEXT" /></translation> <translation id="1771761307086386028">Oʻngga aylantirish</translation> <translation id="1782199038061388045">tarjima</translation> +<translation id="1787955149152357925">Yoqilmagan</translation> <translation id="181103072419391116">Signal darajasi: <ph name="SIGNAL_STRENGTH" />, Administrator boshqaruvida</translation> <translation id="1812997170047690955">Ekranda nimalar bor?</translation> <translation id="1823873187264960516">Ethernet: <ph name="ADDRESS" /></translation> @@ -166,6 +169,7 @@ <translation id="2706462751667573066">Yuqoriga</translation> <translation id="2718395828230677721">Tungi rejim</translation> <translation id="2727977024730340865">Kam quvvatli zaryadlash vositasi ulanildi. Quvvatlantirishda muammolar bo‘lishi mumkin.</translation> +<translation id="2743387203779672305">Vaqtincha xotiraga nusxalash</translation> <translation id="2792498699870441125">Alt + Search</translation> <translation id="2819276065543622893">Seans yakunlandi.</translation> <translation id="2825224105325558319"><ph name="DISPLAY_NAME" /> displeyining ekrani <ph name="SPECIFIED_RESOLUTION" /> hajmida ishlay olmaydi. Ekran <ph name="FALLBACK_RESOLUTION" /> hajmiga qaytarildi.</translation> @@ -201,6 +205,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3081696990447829002">Menyuni ochish</translation> <translation id="3087734570205094154">Pastga</translation> +<translation id="3090989381251959936"><ph name="FEATURE_NAME" /> tugmasi. <ph name="STATE_TEXT" /></translation> <translation id="309749186376891736">Kursorni surish</translation> <translation id="3098580329624789136">“<ph name="QUERY" />” uchun <ph name="INTENT" /> olish</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth)</translation> @@ -233,6 +238,7 @@ <translation id="3371140690572404006">USB-C qurilma (o‘ng tomondagi old port)</translation> <translation id="3386978599540877378">butun ekran rejimidagi lupa</translation> <translation id="3400357268283240774">Kengaytirilgan sozlamalar</translation> +<translation id="3410336247007142655">Tungi mavzu sozlamalarini chiqarish</translation> <translation id="3413817803639110246">Hozircha hech narsa yo‘q</translation> <translation id="3428447136709161042"><ph name="NETWORK_NAME" /> aloqasini uzish</translation> <translation id="3430396595145920809">Orqaga qaytish uchun oʻngdan suring</translation> @@ -326,6 +332,7 @@ <translation id="4378551569595875038">Ulanmoqda...</translation> <translation id="4379531060876907730">Bular – stilus vositalaringiz</translation> <translation id="4389184120735010762">Qadalgan lupa tezkor havolasini bosdingiz. Ishga tushirilsinmi?</translation> +<translation id="4412944820643904175"><ph name="FEATURE_NAME" /> yoqilmagan</translation> <translation id="4421231901400348175">Ekraningiz boshqaruvini masofaviy yordamchi orqali <ph name="HELPER_NAME" /> bilan ulashish.</translation> <translation id="4430019312045809116">Hajmi</translation> <translation id="4450893287417543264">Boshqa ko‘rsatilmasin</translation> @@ -345,6 +352,7 @@ <translation id="4570957409596482333">Teginib tinglash tugmasi</translation> <translation id="4577274620589681794">Vaqt tugadi · <ph name="LABEL" /></translation> <translation id="4585337515783392668">Ekranni notanish qurilmaga translatsiya qilinishi to‘xtatilsin</translation> +<translation id="4596144739579517758">Tungi mavzu yoqilmagan</translation> <translation id="4623167406982293031">Hisobni tasdiqlang</translation> <translation id="4628757576491864469">Qurilmalar</translation> <translation id="4659419629803378708">ChromeVox yoqildi</translation> @@ -387,6 +395,7 @@ <translation id="5168181903108465623">Translatsiya qurilmalari mavjud</translation> <translation id="5170568018924773124">&Jildda ko‘rsatish</translation> <translation id="5207949376430453814">Matn kiritish joyi ajratib ko‘rsatilsin</translation> +<translation id="5208059991603368177">Yoniq</translation> <translation id="5222676887888702881">Tizimdan chiqish</translation> <translation id="523505283826916779">Maxsus imkoniyatlar sozlamalari</translation> <translation id="5260676007519551770">Desk 4</translation> @@ -398,6 +407,7 @@ <translation id="5313326810920013265">Bluetooth sozlamalari</translation> <translation id="5314219114274263156">Ekran yozib olindi</translation> <translation id="5331975486040154427">USB-C qurilma (chap tomondagi orqa port)</translation> +<translation id="5352250171825660495">Tungi mavzu yoniq</translation> <translation id="5379115545237091094">Juda ko‘p urinishlar bo‘ldi</translation> <translation id="5397578532367286026">Boshqaruvchi (<ph name="MANAGER_EMAIL" />) bu foydalanuvchining brauzerdagi ish tarixini chrome.com saytida ko‘rishi mumkin.</translation> <translation id="5400461572260843123">Tezkor sozlamalar, Bildirishnomalar markazini ochish uchun “Qidiruv + Chapga strelka” tugmalarini bosing.</translation> @@ -434,6 +444,7 @@ <translation id="5769373120130404283">Maxfiylik ekrani</translation> <translation id="5777841717266010279">Ekrandan foydalanish ruxsati to‘xtatilsinmi?</translation> <translation id="5790085346892983794">Bajarildi</translation> +<translation id="579415080077680903">Sukut qilish</translation> <translation id="5820394555380036790">Chromium OS</translation> <translation id="5837036133683224804"><ph name="ROUTE_TITLE" /> <ph name="RECEIVER_NAME" /> qurilmasiga translatsiya qilinishi to‘xtatilsin</translation> <translation id="5860033963881614850">O‘chiq</translation> @@ -444,6 +455,7 @@ <translation id="5911909173233110115"><ph name="USERNAME" /> (<ph name="MAIL" />)</translation> <translation id="5916664084637901428">Yoniq</translation> <translation id="5920710855273935292">Ovozsiz.</translation> +<translation id="5946788582095584774"><ph name="FEATURE_NAME" /> yoniq.</translation> <translation id="5947494881799873997">Bekor qilish</translation> <translation id="595202126637698455">Unumdorlik kuzatuvi yoniq</translation> <translation id="5957083217255311415">Mobil internet yoqilmagan.</translation> @@ -468,6 +480,7 @@ <translation id="615957422585914272">Ekran klaviaturasini ko‘rsatish</translation> <translation id="6164005077879661055">Kuzatuvdagi profil o‘chirilganda unga bog‘liq barcha fayllar va mahalliy ma’lumotlar tozalanadi. Bu profil brauzeri tarixi va sozlamalari uning boshqaruvchisiga quyidagi sahifada ko‘rinadi: <ph name="MANAGEMENT_URL" /></translation> <translation id="6165508094623778733">Batafsil</translation> +<translation id="6192859646269780503">Telefonni topish</translation> <translation id="622484624075952240">Pastga</translation> <translation id="6236290670123303279">Sozlamalarni boshqarish</translation> <translation id="6237231532760393653">1X</translation> @@ -539,6 +552,7 @@ <translation id="6981982820502123353">Qulayliklar</translation> <translation id="698231206551913481">Bu foydalanuvchiga tegishli barcha fayllar va mahalliy ma’lumotlar foydalanuvchi olib tashlanganda butunlay o‘chib ketadi.</translation> <translation id="7007983414944123363">PIN kod yoki parolingiz tekshirilmadi. Qayta urining.</translation> +<translation id="7013005189539051442">Hotspotni yoqish</translation> <translation id="7015766095477679451"><ph name="COME_BACK_TIME" /> da qayting.</translation> <translation id="7025533177575372252"><ph name="DEVICE_NAME" /> qurilmasini telefoningiz bilan ulang</translation> <translation id="7026338066939101231">Kamaytirish</translation> @@ -573,6 +587,7 @@ <translation id="742594950370306541">Kamera ish faoliyatida.</translation> <translation id="742608627846767349">Xayrli tong,</translation> <translation id="743058460480092004">Kamera va mikrofon ishlatilmoqda.</translation> +<translation id="7461924472993315131">Qadab qo‘yish</translation> <translation id="7466449121337984263">Sensorga tegining</translation> <translation id="7477793887173910789">Multimedia boshqaruvi</translation> <translation id="7497767806359279797">Til va klaviaturani tanlang</translation> @@ -611,6 +626,7 @@ <translation id="7842569679327885685">Diqqat: Tajribaviy funksiya</translation> <translation id="7846634333498149051">Klaviatura</translation> <translation id="7868900307798234037">Ekran qulfi barmoq izi orqali yechildi</translation> +<translation id="7872786842639831132">Yoqilmagan</translation> <translation id="7886169021410746335">Maxfiylik sozlamalarini moslash</translation> <translation id="7886277072580235377">Hisobingizdan chiqishingiz bilan seansdagi jarayonlar tozalanadi. <ph name="LEARN_MORE" /></translation> <translation id="788781083998633524">Xat yuborish</translation> @@ -715,6 +731,7 @@ <translation id="8853703225951107899">PIN kod yoki parolingiz haligacha tekshirilmadi. Eslatma: Parol yaqinda almashtirilgan boʻlsa, eskisini kiriting. Yangi parolingiz hisobdan chiqqaningizda kuchga kiradi.</translation> <translation id="885387440427703469">Ekranni suratga olish faolsizlantirilgan</translation> <translation id="8870509716567206129">Bu dastur ekranni bo‘lish xususiyatini qo‘llab-quvvatlamaydi.</translation> +<translation id="8871580645200179206">Tungi mavzu tugmasi. <ph name="STATE_TEXT" /></translation> <translation id="8874184842967597500">Ulanmagan</translation> <translation id="8877788021141246043">Eslatma belgilash</translation> <translation id="8878886163241303700">Yoyilgan ekran</translation>
diff --git a/ash/strings/ash_strings_vi.xtb b/ash/strings/ash_strings_vi.xtb index 6c0f851..e67b4dc6 100644 --- a/ash/strings/ash_strings_vi.xtb +++ b/ash/strings/ash_strings_vi.xtb
@@ -48,6 +48,7 @@ <translation id="1351937230027495976">Thu gọn menu</translation> <translation id="1383876407941801731">Tìm kiếm</translation> <translation id="1391102559483454063">Đang bật</translation> +<translation id="1407069428457324124">Giao diện tối</translation> <translation id="1419738280318246476">Mở khóa thiết bị để thực hiện hành động đối với thông báo</translation> <translation id="1420408895951708260">Bật/tắt chế độ Ánh sáng đêm. <ph name="STATE_TEXT" /></translation> <translation id="1420527829902822813">Đã chụp ảnh màn hình và lưu vào khay nhớ tạm</translation> @@ -65,6 +66,7 @@ <translation id="1550523713251050646">Nhấp để xem các tùy chọn khác</translation> <translation id="1570871743947603115">Bật/tắt Bluetooth. <ph name="STATE_TEXT" /></translation> <translation id="1589090746204042747">Truy cập vào tất cả hoạt động của bạn trong phiên này</translation> +<translation id="1611993646327628135">Bật</translation> <translation id="1632985212731562677">Bạn có thể tắt tính năng Tiếp cận bằng công tắc trong phần Cài đặt > Hỗ trợ tiếp cận.</translation> <translation id="1654477262762802994">Bắt đầu đặt câu hỏi bằng giọng nói</translation> <translation id="1667964833127753507">Chế độ màu trung tính không dùng màu được trích xuất từ hình nền mà thay các màu này bằng bộ màu sáng hoặc tối có sắc trung tính.</translation> @@ -79,6 +81,7 @@ <translation id="1761222317188459878">Bật/tắt kết nối mạng. <ph name="STATE_TEXT" /></translation> <translation id="1771761307086386028">Cuộn sang phải</translation> <translation id="1782199038061388045">dịch</translation> +<translation id="1787955149152357925">Tắt</translation> <translation id="181103072419391116">Cường độ tín hiệu <ph name="SIGNAL_STRENGTH" />, Do quản trị viên của bạn quản lý</translation> <translation id="1812997170047690955">Trên màn hình của tôi có nội dung gì?</translation> <translation id="1823873187264960516">Ethernet: <ph name="ADDRESS" /></translation> @@ -166,6 +169,7 @@ <translation id="2706462751667573066">Lên</translation> <translation id="2718395828230677721">Ánh sáng đêm</translation> <translation id="2727977024730340865">Được cắm vào bộ sạc công suất thấp. Việc sạc pin có thể không được đảm bảo.</translation> +<translation id="2743387203779672305">Sao chép vào khay nhớ tạm</translation> <translation id="2792498699870441125">Alt+Search</translation> <translation id="2819276065543622893">Bạn sẽ bị đăng xuất bây giờ.</translation> <translation id="2825224105325558319"><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> @@ -201,6 +205,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3081696990447829002">Mở rộng menu</translation> <translation id="3087734570205094154">Bên dưới</translation> +<translation id="3090989381251959936">Bật/tắt <ph name="FEATURE_NAME" />. <ph name="STATE_TEXT" /></translation> <translation id="309749186376891736">Di con trỏ</translation> <translation id="3098580329624789136">Xem <ph name="INTENT" /> của "<ph name="QUERY" />"</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (Bluetooth)</translation> @@ -233,6 +238,7 @@ <translation id="3371140690572404006">Thiết bị USB-C (cổng phía trước, bên phải)</translation> <translation id="3386978599540877378">tính năng phóng to toàn màn hình</translation> <translation id="3400357268283240774">Tùy chọn cài đặt bổ sung</translation> +<translation id="3410336247007142655">Hiển thị các tùy chọn cài đặt giao diện tối</translation> <translation id="3413817803639110246">Chưa có thông báo nào để xem</translation> <translation id="3428447136709161042">Ngắt kết nối khỏi <ph name="NETWORK_NAME" /></translation> <translation id="3430396595145920809">Vuốt từ phải sang để quay lại</translation> @@ -326,6 +332,7 @@ <translation id="4378551569595875038">Đang kết nối…</translation> <translation id="4379531060876907730">Đây là các công cụ bút dành cho bút cảm ứng</translation> <translation id="4389184120735010762">Bạn đã nhấn phím tắt của tính năng phóng to ở vị trí cố định. Bạn có muốn bật tính năng này không?</translation> +<translation id="4412944820643904175"><ph name="FEATURE_NAME" /> đang tắt.</translation> <translation id="4421231901400348175">Chia sẻ quyền kiểm soát màn hình của bạn với <ph name="HELPER_NAME" /> qua Trợ giúp từ xa.</translation> <translation id="4430019312045809116">Âm lượng</translation> <translation id="4450893287417543264">Không hiển thị lại</translation> @@ -345,6 +352,7 @@ <translation id="4570957409596482333">Nút Chọn để nói</translation> <translation id="4577274620589681794">Hết giờ · <ph name="LABEL" /></translation> <translation id="4585337515783392668">Dừng truyền trên bộ thu không xác định</translation> +<translation id="4596144739579517758">Giao diện tối đang tắt</translation> <translation id="4623167406982293031">Xác minh tài khoản</translation> <translation id="4628757576491864469">Thiết bị</translation> <translation id="4659419629803378708">Đã bật ChromeVox</translation> @@ -387,6 +395,7 @@ <translation id="5168181903108465623">Có thiết bị truyền</translation> <translation id="5170568018924773124">Hiển thị trong thư mục</translation> <translation id="5207949376430453814">Đánh dấu điểm chèn văn bản</translation> +<translation id="5208059991603368177">Bật</translation> <translation id="5222676887888702881">Đăng xuất</translation> <translation id="523505283826916779">Hỗ trợ tiếp cận</translation> <translation id="5260676007519551770">Không gian làm việc 4</translation> @@ -398,6 +407,7 @@ <translation id="5313326810920013265">Cài đặt Bluetooth</translation> <translation id="5314219114274263156">Đã ghi màn hình</translation> <translation id="5331975486040154427">Thiết bị USB-C (cổng phía sau, bên trái)</translation> +<translation id="5352250171825660495">Giao diện tối đang bật</translation> <translation id="5379115545237091094">Quá nhiều lần thử</translation> <translation id="5397578532367286026">Người quản lý (<ph name="MANAGER_EMAIL" />) trên chrome.com có thể xem lại mức sử dụng và lịch sử của người dùng này.</translation> <translation id="5400461572260843123">Cài đặt nhanh, Nhấn vào phím tìm kiếm + mũi tên trái để truy cập vào trung tâm thông báo.</translation> @@ -434,6 +444,7 @@ <translation id="5769373120130404283">Màn hình bảo vệ quyền riêng tư</translation> <translation id="5777841717266010279">Bạn muốn dừng chia sẻ màn hình?</translation> <translation id="5790085346892983794">Thành công</translation> +<translation id="579415080077680903">Tắt tiếng</translation> <translation id="5820394555380036790">Hệ điều hành Chromium</translation> <translation id="5837036133683224804">Dừng <ph name="ROUTE_TITLE" /> trên <ph name="RECEIVER_NAME" /></translation> <translation id="5860033963881614850">Tắt</translation> @@ -444,6 +455,7 @@ <translation id="5911909173233110115"><ph name="USERNAME" /> (<ph name="MAIL" />)</translation> <translation id="5916664084637901428">Bật</translation> <translation id="5920710855273935292">Micrô đang tắt.</translation> +<translation id="5946788582095584774"><ph name="FEATURE_NAME" /> đang bật.</translation> <translation id="5947494881799873997">Hoàn nguyên</translation> <translation id="595202126637698455">Đã bật theo dõi hoạt động</translation> <translation id="5957083217255311415">Dữ liệu di động đã bị tắt.</translation> @@ -468,6 +480,7 @@ <translation id="615957422585914272">Hiển thị bàn phím ảo</translation> <translation id="6164005077879661055">Tất cả các tệp và dữ liệu trên máy được liên kết với người dùng được giám sát sẽ vĩnh viễn bị xóa khi người dùng được giám sát này bị xóa. Các trang web đã truy cập và các cài đặt của người dùng được giám sát này có thể vẫn hiển thị với người quản lý tại <ph name="MANAGEMENT_URL" />.</translation> <translation id="6165508094623778733">Tìm hiểu thêm</translation> +<translation id="6192859646269780503">Tìm điện thoại</translation> <translation id="622484624075952240">Xuống</translation> <translation id="6236290670123303279">Quản lý các tùy chọn cài đặt</translation> <translation id="6237231532760393653">1X</translation> @@ -539,6 +552,7 @@ <translation id="6981982820502123353">Hỗ trợ tiếp cận</translation> <translation id="698231206551913481">Tất cả các tệp và dữ liệu cục bộ liên quan tới người dùng này sẽ bị xóa vĩnh viễn sau khi người dùng này bị xóa.</translation> <translation id="7007983414944123363">Hệ thống chưa xác minh được mã PIN hoặc mật khẩu của bạn. Hãy thử lại.</translation> +<translation id="7013005189539051442">Bật điểm phát sóng</translation> <translation id="7015766095477679451">Quay lại lúc <ph name="COME_BACK_TIME" />.</translation> <translation id="7025533177575372252">Kết nối <ph name="DEVICE_NAME" /> với điện thoại của bạn</translation> <translation id="7026338066939101231">Giảm dần</translation> @@ -573,6 +587,7 @@ <translation id="742594950370306541">Máy ảnh đang được sử dụng.</translation> <translation id="742608627846767349">Xin chào!</translation> <translation id="743058460480092004">Máy ảnh và micrô đang được sử dụng.</translation> +<translation id="7461924472993315131">Ghim</translation> <translation id="7466449121337984263">Vui lòng chạm vào cảm biến</translation> <translation id="7477793887173910789">Điều khiển nhạc, video và nhiều nội dung khác</translation> <translation id="7497767806359279797">Chọn ngôn ngữ và bàn phím</translation> @@ -611,6 +626,7 @@ <translation id="7842569679327885685">Cảnh báo: Tính năng thử nghiệm</translation> <translation id="7846634333498149051">Bàn phím</translation> <translation id="7868900307798234037">Mở khóa bằng vân tay</translation> +<translation id="7872786842639831132">Tắt</translation> <translation id="7886169021410746335">Điều chỉnh các tùy chọn cài đặt quyền riêng tư</translation> <translation id="7886277072580235377">Phiên hoạt động trên Internet của bạn sẽ bị xóa khi bạn đăng xuất. <ph name="LEARN_MORE" /></translation> <translation id="788781083998633524">Gửi email</translation> @@ -715,6 +731,7 @@ <translation id="8853703225951107899">Hệ thống vẫn chưa xác minh được mã PIN hoặc mật khẩu của bạn. Lưu ý: Nếu bạn đổi mật khẩu gần đây, hãy dùng mật khẩu cũ. Bạn có thể dùng mật khẩu mới sau khi đăng xuất.</translation> <translation id="885387440427703469">Đã tắt tính năng chụp ảnh màn hình</translation> <translation id="8870509716567206129">Ứng dụng không hỗ trợ chế độ chia đôi màn hình.</translation> +<translation id="8871580645200179206">Bật/tắt Giao diện tối. <ph name="STATE_TEXT" /></translation> <translation id="8874184842967597500">Chưa kết nối</translation> <translation id="8877788021141246043">Đặt lời nhắc</translation> <translation id="8878886163241303700">Mở rộng màn hình</translation>
diff --git a/ash/strings/ash_strings_zh-CN.xtb b/ash/strings/ash_strings_zh-CN.xtb index 2b8b204..b6abf80 100644 --- a/ash/strings/ash_strings_zh-CN.xtb +++ b/ash/strings/ash_strings_zh-CN.xtb
@@ -48,6 +48,7 @@ <translation id="1351937230027495976">收起菜单</translation> <translation id="1383876407941801731">搜索</translation> <translation id="1391102559483454063">已开启</translation> +<translation id="1407069428457324124">深色主题</translation> <translation id="1419738280318246476">解锁设备即可执行通知操作</translation> <translation id="1420408895951708260">开启/关闭护眼模式。<ph name="STATE_TEXT" /></translation> <translation id="1420527829902822813">已截取屏幕截图并将其保存至剪贴板</translation> @@ -65,6 +66,7 @@ <translation id="1550523713251050646">点击即可查看更多选项</translation> <translation id="1570871743947603115">切换蓝牙设置。<ph name="STATE_TEXT" /></translation> <translation id="1589090746204042747">访问您在此次会话中的所有活动</translation> +<translation id="1611993646327628135">开启</translation> <translation id="1632985212731562677">您可在“设置”>“无障碍”中停用“开关控制”功能。</translation> <translation id="1654477262762802994">启动语音查询</translation> <translation id="1667964833127753507">中性颜色模式不会使用从壁纸中提取的颜色,而是会将其替换为一组中性的浅色调或深色调。</translation> @@ -79,6 +81,7 @@ <translation id="1761222317188459878">切换网络连接设置。<ph name="STATE_TEXT" /></translation> <translation id="1771761307086386028">向右滚动</translation> <translation id="1782199038061388045">翻译</translation> +<translation id="1787955149152357925">关闭</translation> <translation id="181103072419391116">信号强度为 <ph name="SIGNAL_STRENGTH" />,由您的管理员管理</translation> <translation id="1812997170047690955">我屏幕上有什么内容?</translation> <translation id="1823873187264960516">以太网:<ph name="ADDRESS" /></translation> @@ -166,6 +169,7 @@ <translation id="2706462751667573066">向上箭头键</translation> <translation id="2718395828230677721">护眼模式</translation> <translation id="2727977024730340865">已插入低功率充电器;可能无法保证充电成功。</translation> +<translation id="2743387203779672305">复制到剪贴板</translation> <translation id="2792498699870441125">Alt + 搜索键</translation> <translation id="2819276065543622893">您将立即退出。</translation> <translation id="2825224105325558319">“<ph name="DISPLAY_NAME" />”不支持 <ph name="SPECIFIED_RESOLUTION" />。分辨率已改为 <ph name="FALLBACK_RESOLUTION" />。</translation> @@ -201,6 +205,7 @@ <translation id="3077734595579995578">shift</translation> <translation id="3081696990447829002">展开菜单</translation> <translation id="3087734570205094154">底部</translation> +<translation id="3090989381251959936">开启/关闭“<ph name="FEATURE_NAME" />”功能。<ph name="STATE_TEXT" /></translation> <translation id="309749186376891736">移动光标</translation> <translation id="3098580329624789136">获取“<ph name="QUERY" />”的<ph name="INTENT" /></translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" />(蓝牙)</translation> @@ -233,6 +238,7 @@ <translation id="3371140690572404006">USB-C 设备(右侧前端端口)</translation> <translation id="3386978599540877378">全屏放大镜</translation> <translation id="3400357268283240774">其他设置</translation> +<translation id="3410336247007142655">显示深色主题设置</translation> <translation id="3413817803639110246">目前尚无可查看的内容</translation> <translation id="3428447136709161042">断开与<ph name="NETWORK_NAME" />的连接</translation> <translation id="3430396595145920809">从右向左滑动手指即可返回</translation> @@ -326,6 +332,7 @@ <translation id="4378551569595875038">正在连接…</translation> <translation id="4379531060876907730">这些是您的触控笔工具</translation> <translation id="4389184120735010762">您按下了停靠放大镜的键盘快捷键。要开启这项功能吗?</translation> +<translation id="4412944820643904175">“<ph name="FEATURE_NAME" />”功能已关闭。</translation> <translation id="4421231901400348175">正在通过远程协助与<ph name="HELPER_NAME" />共享您屏幕的控制权限。</translation> <translation id="4430019312045809116">音量</translation> <translation id="4450893287417543264">不再显示</translation> @@ -345,6 +352,7 @@ <translation id="4570957409596482333">随选朗读按钮</translation> <translation id="4577274620589681794">时间到 · <ph name="LABEL" /></translation> <translation id="4585337515783392668">停止投射至不明接收器</translation> +<translation id="4596144739579517758">深色主题已关闭</translation> <translation id="4623167406982293031">验证帐号</translation> <translation id="4628757576491864469">设备</translation> <translation id="4659419629803378708">已启用 ChromeVox</translation> @@ -387,6 +395,7 @@ <translation id="5168181903108465623">有可用的投射设备</translation> <translation id="5170568018924773124">在文件夹中显示</translation> <translation id="5207949376430453814">突出显示文本插入符号</translation> +<translation id="5208059991603368177">开启</translation> <translation id="5222676887888702881">退出</translation> <translation id="523505283826916779">无障碍设置</translation> <translation id="5260676007519551770">桌面 4</translation> @@ -398,6 +407,7 @@ <translation id="5313326810920013265">蓝牙设置</translation> <translation id="5314219114274263156">已录制屏幕</translation> <translation id="5331975486040154427">USB-C 设备(左侧后端端口)</translation> +<translation id="5352250171825660495">深色主题已开启</translation> <translation id="5379115545237091094">尝试次数过多</translation> <translation id="5397578532367286026">管理员 (<ph name="MANAGER_EMAIL" />) 可在 chrome.com 上查看该用户的使用情况和历史记录。</translation> <translation id="5400461572260843123">快捷设置,按搜索键 + 向左箭头键可访问通知中心。</translation> @@ -434,6 +444,7 @@ <translation id="5769373120130404283">隐私保护屏</translation> <translation id="5777841717266010279">要停止屏幕共享吗?</translation> <translation id="5790085346892983794">成功</translation> +<translation id="579415080077680903">静音</translation> <translation id="5820394555380036790">Chromium 操作系统</translation> <translation id="5837036133683224804">停止将“<ph name="ROUTE_TITLE" />”投射至“<ph name="RECEIVER_NAME" />”</translation> <translation id="5860033963881614850">关闭</translation> @@ -444,6 +455,7 @@ <translation id="5911909173233110115"><ph name="USERNAME" /> (<ph name="MAIL" />)</translation> <translation id="5916664084637901428">启用</translation> <translation id="5920710855273935292">麦克风已静音。</translation> +<translation id="5946788582095584774">“<ph name="FEATURE_NAME" />”功能已开启。</translation> <translation id="5947494881799873997">还原</translation> <translation id="595202126637698455">已启用性能跟踪</translation> <translation id="5957083217255311415">移动数据网络现处于关闭状态。</translation> @@ -468,6 +480,7 @@ <translation id="615957422585914272">显示屏幕键盘</translation> <translation id="6164005077879661055">删除该受监管用户后,与其相关联的所有文件和本地数据都会被永久删除,但管理员仍可以在 <ph name="MANAGEMENT_URL" /> 上查看该用户的设置和访问过的网站。</translation> <translation id="6165508094623778733">了解详情</translation> +<translation id="6192859646269780503">定位手机</translation> <translation id="622484624075952240">向下箭头键</translation> <translation id="6236290670123303279">管理设置</translation> <translation id="6237231532760393653">1X</translation> @@ -539,6 +552,7 @@ <translation id="6981982820502123353">无障碍</translation> <translation id="698231206551913481">移除该用户后,与其关联的所有文件和本地数据都会被永久删除。</translation> <translation id="7007983414944123363">无法验证您的 PIN 码或密码。请重试。</translation> +<translation id="7013005189539051442">启用热点</translation> <translation id="7015766095477679451">您需要等到<ph name="COME_BACK_TIME" /> 才能再次使用此设备。</translation> <translation id="7025533177575372252">将您的<ph name="DEVICE_NAME" />连接到手机</translation> <translation id="7026338066939101231">减少</translation> @@ -573,6 +587,7 @@ <translation id="742594950370306541">摄像头处于使用状态。</translation> <translation id="742608627846767349">上午好!</translation> <translation id="743058460480092004">摄像头和麦克风处于使用状态。</translation> +<translation id="7461924472993315131">固定</translation> <translation id="7466449121337984263">请轻触传感器</translation> <translation id="7477793887173910789">控制您的音乐、视频等媒体内容</translation> <translation id="7497767806359279797">选择语言和键盘布局</translation> @@ -611,6 +626,7 @@ <translation id="7842569679327885685">警告:实验性功能</translation> <translation id="7846634333498149051">键盘</translation> <translation id="7868900307798234037">正在使用指纹解锁</translation> +<translation id="7872786842639831132">关闭</translation> <translation id="7886169021410746335">调整隐私设置</translation> <translation id="7886277072580235377">当您退出时,系统即会清除您的网络会话。<ph name="LEARN_MORE" /></translation> <translation id="788781083998633524">发送电子邮件</translation> @@ -715,6 +731,7 @@ <translation id="8853703225951107899">仍然无法验证您的 PIN 码或密码。注意:如果您最近更改了密码,请使用旧密码。待您退出登录后,系统才会应用新密码。</translation> <translation id="885387440427703469">截取屏幕功能已停用</translation> <translation id="8870509716567206129">应用不支持分屏。</translation> +<translation id="8871580645200179206">开启/关闭深色主题。<ph name="STATE_TEXT" /></translation> <translation id="8874184842967597500">未连接</translation> <translation id="8877788021141246043">设置提醒</translation> <translation id="8878886163241303700">正在扩展屏幕</translation>
diff --git a/ash/strings/ash_strings_zh-HK.xtb b/ash/strings/ash_strings_zh-HK.xtb index 2d76ed0..5aa0a5f 100644 --- a/ash/strings/ash_strings_zh-HK.xtb +++ b/ash/strings/ash_strings_zh-HK.xtb
@@ -48,6 +48,7 @@ <translation id="1351937230027495976">摺埋選單</translation> <translation id="1383876407941801731">搜尋</translation> <translation id="1391102559483454063">已開啟</translation> +<translation id="1407069428457324124">深色主題背景</translation> <translation id="1419738280318246476">解鎖裝置即可執行有關通知的動作</translation> <translation id="1420408895951708260">切換「夜燈模式」。<ph name="STATE_TEXT" /></translation> <translation id="1420527829902822813">已擷取螢幕擷圖,並儲存至剪貼簿</translation> @@ -65,6 +66,7 @@ <translation id="1550523713251050646">點擊即可取得更多選項</translation> <translation id="1570871743947603115">切換藍牙。<ph name="STATE_TEXT" /></translation> <translation id="1589090746204042747">存取此工作階段的所有活動紀錄</translation> +<translation id="1611993646327628135">開啟</translation> <translation id="1632985212731562677">您可在 [設定] > [無障礙功能] 中停用「按鈕控制」。</translation> <translation id="1654477262762802994">開始語音查詢</translation> <translation id="1667964833127753507">中性色調模式不會使用從桌布擷取的顏色,而是改用一組中性的淺色或深色調。</translation> @@ -79,6 +81,7 @@ <translation id="1761222317188459878">切換網絡連線。<ph name="STATE_TEXT" /></translation> <translation id="1771761307086386028">向右捲動</translation> <translation id="1782199038061388045">翻譯</translation> +<translation id="1787955149152357925">關閉</translation> <translation id="181103072419391116">訊號強度係 <ph name="SIGNAL_STRENGTH" />,由管理員管理</translation> <translation id="1812997170047690955">我嘅畫面上面有咩?</translation> <translation id="1823873187264960516">以太網:<ph name="ADDRESS" /></translation> @@ -166,6 +169,7 @@ <translation id="2706462751667573066">向上鍵</translation> <translation id="2718395828230677721">夜燈模式</translation> <translation id="2727977024730340865">使用低功率充電器,可能導致充電狀態不穩定。</translation> +<translation id="2743387203779672305">複製到剪貼簿</translation> <translation id="2792498699870441125">Alt + 搜尋鍵</translation> <translation id="2819276065543622893">現在即將登出。</translation> <translation id="2825224105325558319"><ph name="DISPLAY_NAME" /> 不支援 <ph name="SPECIFIED_RESOLUTION" />,解像度已變更為 <ph name="FALLBACK_RESOLUTION" />。</translation> @@ -201,6 +205,7 @@ <translation id="3077734595579995578">Shift</translation> <translation id="3081696990447829002">打開選單</translation> <translation id="3087734570205094154">下方</translation> +<translation id="3090989381251959936">切換<ph name="FEATURE_NAME" />功能。<ph name="STATE_TEXT" /></translation> <translation id="309749186376891736">移動游標</translation> <translation id="3098580329624789136">取得「<ph name="QUERY" />」的<ph name="INTENT" /></translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (藍牙)</translation> @@ -233,6 +238,7 @@ <translation id="3371140690572404006">USB-C 裝置 (右側前方連接埠)</translation> <translation id="3386978599540877378">全螢幕放大鏡</translation> <translation id="3400357268283240774">其他設定</translation> +<translation id="3410336247007142655">顯示深色主題背景設定</translation> <translation id="3413817803639110246">目前尚未有任何通知</translation> <translation id="3428447136709161042">中斷同<ph name="NETWORK_NAME" />嘅連線</translation> <translation id="3430396595145920809">從螢幕右側向左滑動即可返回</translation> @@ -326,6 +332,7 @@ <translation id="4378551569595875038">連線中…</translation> <translation id="4379531060876907730">這是您的觸控筆工具</translation> <translation id="4389184120735010762">您已按下固定放大鏡的鍵盤快速鍵。確定要旋轉螢幕嗎?</translation> +<translation id="4412944820643904175"><ph name="FEATURE_NAME" />功能已關閉。</translation> <translation id="4421231901400348175">透過「遠端協助」與 <ph name="HELPER_NAME" /> 共用螢幕控制權。</translation> <translation id="4430019312045809116">音量</translation> <translation id="4450893287417543264">不要再顯示</translation> @@ -345,6 +352,7 @@ <translation id="4570957409596482333">「選取以朗讀」按鈕</translation> <translation id="4577274620589681794">時間到 · <ph name="LABEL" /></translation> <translation id="4585337515783392668">停止投放到不明嘅接收器</translation> +<translation id="4596144739579517758">深色主題背景已關閉</translation> <translation id="4623167406982293031">驗證帳戶</translation> <translation id="4628757576491864469">裝置</translation> <translation id="4659419629803378708">已啟用 ChromeVox</translation> @@ -387,6 +395,7 @@ <translation id="5168181903108465623">有可用投放裝置</translation> <translation id="5170568018924773124">在資料夾中顯示</translation> <translation id="5207949376430453814">突顯文字插入符號</translation> +<translation id="5208059991603368177">開啟</translation> <translation id="5222676887888702881">登出</translation> <translation id="523505283826916779">協助工具設定</translation> <translation id="5260676007519551770">桌面 4</translation> @@ -398,6 +407,7 @@ <translation id="5313326810920013265">藍牙設定</translation> <translation id="5314219114274263156">已錄影螢幕畫面</translation> <translation id="5331975486040154427">USB-C 裝置 (左側後方連接埠)</translation> +<translation id="5352250171825660495">深色主題背景已開啟</translation> <translation id="5379115545237091094">嘗試次數過多</translation> <translation id="5397578532367286026">管理員 (<ph name="MANAGER_EMAIL" />) 可以在 chrome.com 瞭解這位使用者的使用情況和記錄。</translation> <translation id="5400461572260843123">快速設定,㩒一下搜尋鍵 + 向左鍵就可以存取通知中心。</translation> @@ -434,6 +444,7 @@ <translation id="5769373120130404283">私隱保護畫面</translation> <translation id="5777841717266010279">停止共用畫面?</translation> <translation id="5790085346892983794">成功</translation> +<translation id="579415080077680903">靜音</translation> <translation id="5820394555380036790">Chromium 作業系統</translation> <translation id="5837036133683224804">停止喺<ph name="RECEIVER_NAME" />投放 <ph name="ROUTE_TITLE" /></translation> <translation id="5860033963881614850">關閉</translation> @@ -444,6 +455,7 @@ <translation id="5911909173233110115"><ph name="USERNAME" /> (<ph name="MAIL" />)</translation> <translation id="5916664084637901428">開啟</translation> <translation id="5920710855273935292">咪高風校咗靜音。</translation> +<translation id="5946788582095584774"><ph name="FEATURE_NAME" />功能已開啟。</translation> <translation id="5947494881799873997">還原</translation> <translation id="595202126637698455">效能追蹤已啟用</translation> <translation id="5957083217255311415">流動數據已關閉。</translation> @@ -468,6 +480,7 @@ <translation id="615957422585914272">顯示螢幕小鍵盤</translation> <translation id="6164005077879661055">將這位受管使用者移除後,系統即會永久刪除所有與該使用者相關的檔案和本機數據。管理員仍可前往 <ph name="MANAGEMENT_URL" /> 查看這位受管使用者的網頁瀏覽記錄和設定。</translation> <translation id="6165508094623778733">瞭解更多資料</translation> +<translation id="6192859646269780503">尋找手機</translation> <translation id="622484624075952240">向下鍵</translation> <translation id="6236290670123303279">管理設定</translation> <translation id="6237231532760393653">1X</translation> @@ -539,6 +552,7 @@ <translation id="6981982820502123353">協助工具</translation> <translation id="698231206551913481">移除這位使用者後,系統便會永久刪除所有與該使用者相關的檔案和本機數據。</translation> <translation id="7007983414944123363">系統無法驗證您的 PIN 或密碼。請再試一次。</translation> +<translation id="7013005189539051442">啟用熱點</translation> <translation id="7015766095477679451"><ph name="COME_BACK_TIME" /> 後才可使用。</translation> <translation id="7025533177575372252">將 <ph name="DEVICE_NAME" /> 連結至您的手機</translation> <translation id="7026338066939101231">減少</translation> @@ -573,6 +587,7 @@ <translation id="742594950370306541">相機正在使用中。</translation> <translation id="742608627846767349">早晨,</translation> <translation id="743058460480092004">相機和麥克風正在使用中。</translation> +<translation id="7461924472993315131">Pin</translation> <translation id="7466449121337984263">請輕觸感應器</translation> <translation id="7477793887173910789">控制音樂、影片及其他內容</translation> <translation id="7497767806359279797">選擇語言和鍵盤配置</translation> @@ -611,6 +626,7 @@ <translation id="7842569679327885685">警告:實驗性功能</translation> <translation id="7846634333498149051">鍵盤</translation> <translation id="7868900307798234037">用緊指紋解鎖</translation> +<translation id="7872786842639831132">關閉</translation> <translation id="7886169021410746335">調整私隱權設定</translation> <translation id="7886277072580235377">登出帳戶後,系統將清除您的互聯網工作階段。<ph name="LEARN_MORE" /></translation> <translation id="788781083998633524">傳送電郵</translation> @@ -715,6 +731,7 @@ <translation id="8853703225951107899">系統仍然無法驗證您的 PIN 或密碼。注意:如果您最近變更過密碼,請嘗試使用舊密碼,新密碼會在您登出後立即生效。</translation> <translation id="885387440427703469">已停用擷取螢幕畫面的功能</translation> <translation id="8870509716567206129">應用程式不支援分割畫面。</translation> +<translation id="8871580645200179206">切換深色主題背景。<ph name="STATE_TEXT" /></translation> <translation id="8874184842967597500">未連線</translation> <translation id="8877788021141246043">設定提醒</translation> <translation id="8878886163241303700">延伸螢幕</translation>
diff --git a/ash/strings/ash_strings_zh-TW.xtb b/ash/strings/ash_strings_zh-TW.xtb index e2f8d15..15899c0 100644 --- a/ash/strings/ash_strings_zh-TW.xtb +++ b/ash/strings/ash_strings_zh-TW.xtb
@@ -48,6 +48,7 @@ <translation id="1351937230027495976">收合選單</translation> <translation id="1383876407941801731">搜尋</translation> <translation id="1391102559483454063">開啟</translation> +<translation id="1407069428457324124">深色主題</translation> <translation id="1419738280318246476">解鎖裝置即可執行通知動作</translation> <translation id="1420408895951708260">切換夜燈模式。<ph name="STATE_TEXT" /></translation> <translation id="1420527829902822813">已擷取螢幕畫面並儲存至剪貼簿</translation> @@ -65,6 +66,7 @@ <translation id="1550523713251050646">按一下即可查看更多選項</translation> <translation id="1570871743947603115">切換藍牙設定。<ph name="STATE_TEXT" /></translation> <translation id="1589090746204042747">存取你在這個工作階段內的所有活動</translation> +<translation id="1611993646327628135">開啟</translation> <translation id="1632985212731562677">你可以依序點選 [設定] > [無障礙設定] 來停用開關功能。</translation> <translation id="1654477262762802994">啟動語音查詢</translation> <translation id="1667964833127753507">中間色模式不會使用從桌布擷取的色彩,而是改用一組中間色的亮色調或深色調。</translation> @@ -79,6 +81,7 @@ <translation id="1761222317188459878">切換網路連線設定。<ph name="STATE_TEXT" /></translation> <translation id="1771761307086386028">向右捲動</translation> <translation id="1782199038061388045">翻譯</translation> +<translation id="1787955149152357925">關閉</translation> <translation id="181103072419391116">訊號強度 <ph name="SIGNAL_STRENGTH" />,由系統管理員管理</translation> <translation id="1812997170047690955">我的畫面內容有什麼資訊?</translation> <translation id="1823873187264960516">乙太網路:<ph name="ADDRESS" /></translation> @@ -166,6 +169,7 @@ <translation id="2706462751667573066">向上鍵</translation> <translation id="2718395828230677721">夜燈</translation> <translation id="2727977024730340865">使用低功率充電器,可能導致充電狀態不穩定。</translation> +<translation id="2743387203779672305">複製到剪貼簿</translation> <translation id="2792498699870441125">Alt + 搜尋鍵</translation> <translation id="2819276065543622893">現在即將登出。</translation> <translation id="2825224105325558319"><ph name="DISPLAY_NAME" /> 不支援 <ph name="SPECIFIED_RESOLUTION" />,解析度已變更為 <ph name="FALLBACK_RESOLUTION" />。</translation> @@ -201,6 +205,7 @@ <translation id="3077734595579995578">Shift</translation> <translation id="3081696990447829002">展開選單</translation> <translation id="3087734570205094154">置底</translation> +<translation id="3090989381251959936">切換<ph name="FEATURE_NAME" />功能。<ph name="STATE_TEXT" /></translation> <translation id="309749186376891736">移動游標</translation> <translation id="3098580329624789136">取得「<ph name="QUERY" />」的<ph name="INTENT" /></translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (藍牙)</translation> @@ -233,6 +238,7 @@ <translation id="3371140690572404006">USB-C 裝置 (右前方連接埠)</translation> <translation id="3386978599540877378">全螢幕放大鏡</translation> <translation id="3400357268283240774">其他設定</translation> +<translation id="3410336247007142655">顯示深色主題設定</translation> <translation id="3413817803639110246">目前還沒有任何通知</translation> <translation id="3428447136709161042">中斷與「<ph name="NETWORK_NAME" />」的連線</translation> <translation id="3430396595145920809">由右向左滑動即可返回</translation> @@ -326,6 +332,7 @@ <translation id="4378551569595875038">連線中…</translation> <translation id="4379531060876907730">這些是可用的觸控筆工具</translation> <translation id="4389184120735010762">你按下了停駐放大鏡的鍵盤快速鍵。確定要啟用這項功能嗎?</translation> +<translation id="4412944820643904175"><ph name="FEATURE_NAME" />功能已關閉。</translation> <translation id="4421231901400348175">透過遠端協助與<ph name="HELPER_NAME" />分享螢幕控制功能。</translation> <translation id="4430019312045809116">音量</translation> <translation id="4450893287417543264">不要再顯示</translation> @@ -345,6 +352,7 @@ <translation id="4570957409596482333">隨選朗讀按鈕</translation> <translation id="4577274620589681794">時間到 · <ph name="LABEL" /></translation> <translation id="4585337515783392668">停止透過不明接收器投放</translation> +<translation id="4596144739579517758">深色主題已關閉</translation> <translation id="4623167406982293031">驗證帳戶</translation> <translation id="4628757576491864469">裝置</translation> <translation id="4659419629803378708">ChromeVox 已啟用</translation> @@ -387,6 +395,7 @@ <translation id="5168181903108465623">可用的投放裝置</translation> <translation id="5170568018924773124">在資料夾中顯示</translation> <translation id="5207949376430453814">醒目顯示文字插入點</translation> +<translation id="5208059991603368177">開啟</translation> <translation id="5222676887888702881">登出</translation> <translation id="523505283826916779">無障礙設定</translation> <translation id="5260676007519551770">桌面 4</translation> @@ -398,6 +407,7 @@ <translation id="5313326810920013265">藍牙設定</translation> <translation id="5314219114274263156">已錄製螢幕畫面</translation> <translation id="5331975486040154427">USB-C 裝置 (左後方連接埠)</translation> +<translation id="5352250171825660495">深色主題已開啟</translation> <translation id="5379115545237091094">嘗試次數過多</translation> <translation id="5397578532367286026">管理員 (<ph name="MANAGER_EMAIL" />) 可以在 chrome.com 瞭解這名使用者的使用情形和記錄。</translation> <translation id="5400461572260843123">快速設定,按下搜尋鍵 + 向左鍵即可存取通知中心。</translation> @@ -434,6 +444,7 @@ <translation id="5769373120130404283">隱私保護畫面</translation> <translation id="5777841717266010279">停止共用螢幕?</translation> <translation id="5790085346892983794">成功</translation> +<translation id="579415080077680903">靜音</translation> <translation id="5820394555380036790">Chromium 作業系統</translation> <translation id="5837036133683224804">停止透過<ph name="RECEIVER_NAME" />投放「<ph name="ROUTE_TITLE" />」</translation> <translation id="5860033963881614850">關閉</translation> @@ -444,6 +455,7 @@ <translation id="5911909173233110115"><ph name="USERNAME" /> (<ph name="MAIL" />)</translation> <translation id="5916664084637901428">開啟</translation> <translation id="5920710855273935292">麥克風已設為靜音。</translation> +<translation id="5946788582095584774"><ph name="FEATURE_NAME" />功能已開啟。</translation> <translation id="5947494881799873997">還原</translation> <translation id="595202126637698455">效能追蹤已啟用</translation> <translation id="5957083217255311415">行動數據已關閉。</translation> @@ -468,6 +480,7 @@ <translation id="615957422585914272">顯示螢幕小鍵盤</translation> <translation id="6164005077879661055">將這位受監管的使用者移除後,系統即會永久刪除所有與該使用者相關的檔案和本機資料。管理員仍可前往 <ph name="MANAGEMENT_URL" /> 查看這位受監管使用者的網頁瀏覽記錄和設定。</translation> <translation id="6165508094623778733">瞭解詳情</translation> +<translation id="6192859646269780503">尋找手機</translation> <translation id="622484624075952240">向下鍵</translation> <translation id="6236290670123303279">管理設定</translation> <translation id="6237231532760393653">1X</translation> @@ -539,6 +552,7 @@ <translation id="6981982820502123353">無障礙設定</translation> <translation id="698231206551913481">將這位使用者移除後,與這位使用者相關聯的所有檔案和本機資料都會遭到永久刪除。</translation> <translation id="7007983414944123363">系統無法驗證你的 PIN 碼或密碼,請再試一次。</translation> +<translation id="7013005189539051442">啟用無線基地台</translation> <translation id="7015766095477679451"><ph name="COME_BACK_TIME" /> 裝置就會解除鎖定。</translation> <translation id="7025533177575372252">將 <ph name="DEVICE_NAME" /> 連結到你的手機</translation> <translation id="7026338066939101231">減少</translation> @@ -573,6 +587,7 @@ <translation id="742594950370306541">攝影機正在使用中。</translation> <translation id="742608627846767349">早安,</translation> <translation id="743058460480092004">攝影機和麥克風正在使用中。</translation> +<translation id="7461924472993315131">固定</translation> <translation id="7466449121337984263">請輕觸感應器</translation> <translation id="7477793887173910789">控管你的音樂、影片等項目</translation> <translation id="7497767806359279797">選擇語言和鍵盤配置</translation> @@ -611,6 +626,7 @@ <translation id="7842569679327885685">警告:實驗功能</translation> <translation id="7846634333498149051">鍵盤</translation> <translation id="7868900307798234037">指紋辨識成功,正在解鎖</translation> +<translation id="7872786842639831132">關閉</translation> <translation id="7886169021410746335">調整隱私權設定</translation> <translation id="7886277072580235377">登出帳戶後,系統將清除你的網際網路工作階段。<ph name="LEARN_MORE" /></translation> <translation id="788781083998633524">傳送電子郵件</translation> @@ -715,6 +731,7 @@ <translation id="8853703225951107899">系統仍然無法驗證你的 PIN 碼或密碼。注意:如果你最近變更了密碼,請使用舊密碼。系統會在你登出帳戶後套用新密碼。</translation> <translation id="885387440427703469">已停用擷取螢幕畫面的功能</translation> <translation id="8870509716567206129">這個應用程式不支援分割畫面。</translation> +<translation id="8871580645200179206">切換深色主題。<ph name="STATE_TEXT" /></translation> <translation id="8874184842967597500">未連線</translation> <translation id="8877788021141246043">設定提醒</translation> <translation id="8878886163241303700">延伸螢幕</translation>
diff --git a/ash/strings/ash_strings_zu.xtb b/ash/strings/ash_strings_zu.xtb index 45c2a11..9d53d04 100644 --- a/ash/strings/ash_strings_zu.xtb +++ b/ash/strings/ash_strings_zu.xtb
@@ -48,6 +48,7 @@ <translation id="1351937230027495976">Goqa imenyu</translation> <translation id="1383876407941801731">Sesha</translation> <translation id="1391102559483454063">Vuliwe</translation> +<translation id="1407069428457324124">Itimu emnyama</translation> <translation id="1419738280318246476">Vula idivayisi ukuze wenze isenzo sesaziso</translation> <translation id="1420408895951708260">Guqula ukukhanya kwasebusuku. <ph name="STATE_TEXT" /></translation> <translation id="1420527829902822813">Isithombe-skrini sithathiwe futhi salondolozwa kubhodi yokunamathisela</translation> @@ -65,6 +66,7 @@ <translation id="1550523713251050646">Chofoza ukuze uthole izinketho eziningi</translation> <translation id="1570871743947603115">Shintsha i-Bluetooth. <ph name="STATE_TEXT" /></translation> <translation id="1589090746204042747">Finyelela kuwo wonke umsebenzi wakho kule seshini</translation> +<translation id="1611993646327628135">Vuliwe</translation> <translation id="1632985212731562677">Ukushintsha ukufinyelela kungakhutshazwa kokuthi Izilungiselelo > Ukufinyeleleka.</translation> <translation id="1654477262762802994">Qalisa umbuzo wezwi</translation> <translation id="1667964833127753507">Imodi yombala omaphakathi ayisebenzisi isithombe sangemuva semibala ekhishiwe, ukuyibuyekeza ngesethi yokukhanya kwethoni emaphakathi noma ama-hue amnyama.</translation> @@ -79,6 +81,7 @@ <translation id="1761222317188459878">Shintsha uxhumo lwenethiwekhi. <ph name="STATE_TEXT" /></translation> <translation id="1771761307086386028">Skrolela ngakwesokudla</translation> <translation id="1782199038061388045">ukuhumusha</translation> +<translation id="1787955149152357925">Valiwe</translation> <translation id="181103072419391116">Amandla esignali <ph name="SIGNAL_STRENGTH" />, Kuphethwe umlawuli wakho</translation> <translation id="1812997170047690955">Yini ekusikrini sami?</translation> <translation id="1823873187264960516">I-Ethernet: <ph name="ADDRESS" /></translation> @@ -166,6 +169,7 @@ <translation id="2706462751667573066">Phezulu</translation> <translation id="2718395828230677721">Ukukhanya</translation> <translation id="2727977024730340865">Ixhunye kushaja yamandla aphansi. Ukushaja ibhethri kungenzeka kungathembeki.</translation> +<translation id="2743387203779672305">Kopisha kubhodi lokunamathisela</translation> <translation id="2792498699870441125">I-Alt+Search</translation> <translation id="2819276065543622893">Uzokhishwa ngemvume manje.</translation> <translation id="2825224105325558319">I-<ph name="DISPLAY_NAME" /> ayisekeli i-<ph name="SPECIFIED_RESOLUTION" />. Ukulungiswa kuguqulelwe ku-<ph name="FALLBACK_RESOLUTION" />.</translation> @@ -201,6 +205,7 @@ <translation id="3077734595579995578">u-shift</translation> <translation id="3081696990447829002">Nweba imenyu</translation> <translation id="3087734570205094154">Ngaphansi</translation> +<translation id="3090989381251959936">Guqula i-<ph name="FEATURE_NAME" />. <ph name="STATE_TEXT" /></translation> <translation id="309749186376891736">Hambisa ikhesa</translation> <translation id="3098580329624789136">Thola i-<ph name="INTENT" /> ye-"<ph name="QUERY" />"</translation> <translation id="3105990244222795498"><ph name="DEVICE_NAME" /> (I-Bluetooth)</translation> @@ -233,6 +238,7 @@ <translation id="3371140690572404006">Idivayisi ye-USB-C (imbobo ephambili yohlangothi lwesinxele)</translation> <translation id="3386978599540877378">isikhulisi sesikrini esigcwele</translation> <translation id="3400357268283240774">Izilungiselelo ezingeziwe</translation> +<translation id="3410336247007142655">Bonisa amasethingi etimu emnyama</translation> <translation id="3413817803639110246">Akukho ongakubona okwamanje</translation> <translation id="3428447136709161042">Nqamula kusukela ku-<ph name="NETWORK_NAME" /></translation> <translation id="3430396595145920809">Swayipha kusuka kwesokudla ukubuyela emuva</translation> @@ -326,6 +332,7 @@ <translation id="4378551569595875038">Iyaxhuma...</translation> <translation id="4379531060876907730">Lawa amathuluzi akho e-stylus</translation> <translation id="4389184120735010762">Ucindezele isinqamuleli sekhibhodi sesikhulisi esidokhiwe. Uyafuna ukusivula?</translation> +<translation id="4412944820643904175">I-<ph name="FEATURE_NAME" /> ivaliwe.</translation> <translation id="4421231901400348175">Ukulawula ukwabelana kwesikrini sakho nge-<ph name="HELPER_NAME" /> nge-Remote Assistance.</translation> <translation id="4430019312045809116">Ivolumu</translation> <translation id="4450893287417543264">Ungabonisi futhi</translation> @@ -345,6 +352,7 @@ <translation id="4570957409596482333">Inkinobho yokukhekha ukuze ukhulume</translation> <translation id="4577274620589681794">Isikhathi siphelile · <ph name="LABEL" /></translation> <translation id="4585337515783392668">Misa ukusakaza kumamukeli ongaziwa</translation> +<translation id="4596144739579517758">Itimu emnyama ivaliwe</translation> <translation id="4623167406982293031">Qinisekisa i-akhawunti</translation> <translation id="4628757576491864469">Amadivayisi</translation> <translation id="4659419629803378708">I-ChromeVox inikwe amandla</translation> @@ -387,6 +395,7 @@ <translation id="5168181903108465623">Amadivayisi wabalingisi ayatholakala</translation> <translation id="5170568018924773124">Bonisa kufolda</translation> <translation id="5207949376430453814">Gqamisa ikharethi yombhalo</translation> +<translation id="5208059991603368177">Vuliwe</translation> <translation id="5222676887888702881">Phuma ngemvume</translation> <translation id="523505283826916779">Izulungiselelo zokufinyelela</translation> <translation id="5260676007519551770">Ifafula 4</translation> @@ -398,6 +407,7 @@ <translation id="5313326810920013265">Izilungiselelo ze-Bluetooth</translation> <translation id="5314219114274263156">Okokuqopha iskrini kuthathiwe</translation> <translation id="5331975486040154427">Idivayisi ye-USB-C (imbobo yasemuva yohlangothi lwesinxele)</translation> +<translation id="5352250171825660495">Itimu emnyama ivuliwe</translation> <translation id="5379115545237091094">Imizamo eminingi kakhulu</translation> <translation id="5397578532367286026">Ukusetshenziswa nomlando walo msebenzisi ungabuyekezwa ngumphathi (<ph name="MANAGER_EMAIL" />) ku-chrome.com.</translation> <translation id="5400461572260843123">Izilungiselelo Ezisheshayo, Cindezela usesho + esobunxele ukuze ufinyelele isikhungo sezaziso.</translation> @@ -434,6 +444,7 @@ <translation id="5769373120130404283">Isikrini sobumfihlo</translation> <translation id="5777841717266010279">Misa ukwabelana kwesikrini?</translation> <translation id="5790085346892983794">Impumelelo</translation> +<translation id="579415080077680903">Ukuthula</translation> <translation id="5820394555380036790">I-Chromium OS</translation> <translation id="5837036133683224804">Misa i-<ph name="ROUTE_TITLE" /> ku-<ph name="RECEIVER_NAME" /></translation> <translation id="5860033963881614850">Valiwe</translation> @@ -444,6 +455,7 @@ <translation id="5911909173233110115"><ph name="USERNAME" /> (<ph name="MAIL" />)</translation> <translation id="5916664084637901428">Vuliwe</translation> <translation id="5920710855273935292">I-mic ithulisiwe.</translation> +<translation id="5946788582095584774">I-<ph name="FEATURE_NAME" /> ivuliwe.</translation> <translation id="5947494881799873997">Buyela</translation> <translation id="595202126637698455">Ukulandelela ukusebenza kunikwe amandla</translation> <translation id="5957083217255311415">Idatha yeselula ivaliwe.</translation> @@ -468,6 +480,7 @@ <translation id="615957422585914272">Bonisa kukhibhodi yesikrini</translation> <translation id="6164005077879661055">Wonke amafayela nedatha yasendaweni ehlotshaniswa nomsebenzisi ogadiwe izosuswa unaphakade ngemuva kokuthi lo msebenzisi ogadiwe esusiwe. Amawebhusayithi avakashelwe nezilungiselelo zalo msebenzisi ogadiwe zisengabonakala ngomphathi ku-<ph name="MANAGEMENT_URL" />.</translation> <translation id="6165508094623778733">Funda kabanzi</translation> +<translation id="6192859646269780503">Thola Ifoni</translation> <translation id="622484624075952240">Phansi</translation> <translation id="6236290670123303279">Phatha Izilungiselelo</translation> <translation id="6237231532760393653">1X</translation> @@ -539,6 +552,7 @@ <translation id="6981982820502123353">Ukufinyeleleka</translation> <translation id="698231206551913481">Onke amafayela nedatha yendawo ehlotshaniswa nalo msebenzisi izosuswa ngunaphakade uma lo msebenzisi asuswa.</translation> <translation id="7007983414944123363">Iphinikhodi yakho noma iphasiwedi ayiqinisekiswanga. Zama futhi.</translation> +<translation id="7013005189539051442">Nika amandla i-Hotspot</translation> <translation id="7015766095477679451">Buya ngo-<ph name="COME_BACK_TIME" />.</translation> <translation id="7025533177575372252">Xhuma i-<ph name="DEVICE_NAME" /> yakho nefoni yakho</translation> <translation id="7026338066939101231">Ukwehlisa</translation> @@ -573,6 +587,7 @@ <translation id="742594950370306541">Ikhamela iyasetshenziswa.</translation> <translation id="742608627846767349">Sawubona,</translation> <translation id="743058460480092004">Ikhamela nemakrofoni kuyasetshenziswa.</translation> +<translation id="7461924472993315131">Phina</translation> <translation id="7466449121337984263">Sicela uthinte inzwa</translation> <translation id="7477793887173910789">Lawula umculo wakho, amavidiyo, nokuningi</translation> <translation id="7497767806359279797">Khetha ulimi nekhibhodi</translation> @@ -611,6 +626,7 @@ <translation id="7842569679327885685">Isexwayiso: Isici sokuhlola</translation> <translation id="7846634333498149051">Ikhibhodi</translation> <translation id="7868900307798234037">Ukuvula ngesigxivizo somunwe</translation> +<translation id="7872786842639831132">Valiwe</translation> <translation id="7886169021410746335">Lungisa izilungiselelo zobumfihlo</translation> <translation id="7886277072580235377">Iseshini yakho ye-inthanethi izosulwa uma uphuma ngemvume. <ph name="LEARN_MORE" /></translation> <translation id="788781083998633524">Thumela i-imeyili</translation> @@ -715,6 +731,7 @@ <translation id="8853703225951107899">Iphinikhodi yakho noma iphasiwedi isengaqinisekiswa. Qaphela: Uma usanda ukushintsha iphasiwedi yakho, sebenzisa iphasiwedi yakho yakudala. Iphasiwedi yakho entsha izosebenza uma usuphume ngemvume.</translation> <translation id="885387440427703469">Ukuthatha iskrini kukhutshaziwe</translation> <translation id="8870509716567206129">Uhlelo lokusebenza alusekeli isikrini esihlukanisiwe.</translation> +<translation id="8871580645200179206">Guqula Itimu emnyama. <ph name="STATE_TEXT" /></translation> <translation id="8874184842967597500">Ayixhunyiwe</translation> <translation id="8877788021141246043">Setha isikhumbuzi</translation> <translation id="8878886163241303700">Yandisa isikrini</translation>
diff --git a/ash/system/accessibility/dictation_button_tray.cc b/ash/system/accessibility/dictation_button_tray.cc index 2db03d9f..ae9b7a4 100644 --- a/ash/system/accessibility/dictation_button_tray.cc +++ b/ash/system/accessibility/dictation_button_tray.cc
@@ -39,7 +39,7 @@ const int horizontal_padding = (kTrayItemSize - icon_image.width()) / 2; icon_->SetBorder(views::CreateEmptyBorder( gfx::Insets(vertical_padding, horizontal_padding))); - icon_->set_tooltip_text( + icon_->SetTooltipText( l10n_util::GetStringUTF16(IDS_ASH_STATUS_TRAY_ACCESSIBILITY_DICTATION)); tray_container()->AddChildView(icon_); Shell::Get()->AddShellObserver(this); @@ -86,7 +86,7 @@ } void DictationButtonTray::HandleLocaleChange() { - icon_->set_tooltip_text( + icon_->SetTooltipText( l10n_util::GetStringUTF16(IDS_ASH_STATUS_TRAY_ACCESSIBILITY_DICTATION)); }
diff --git a/ash/system/accessibility/select_to_speak_tray.cc b/ash/system/accessibility/select_to_speak_tray.cc index 0c6917d..3f8cb66 100644 --- a/ash/system/accessibility/select_to_speak_tray.cc +++ b/ash/system/accessibility/select_to_speak_tray.cc
@@ -38,7 +38,7 @@ const int horizontal_padding = (kTrayItemSize - inactive_image_.width()) / 2; icon_->SetBorder(views::CreateEmptyBorder( gfx::Insets(vertical_padding, horizontal_padding))); - icon_->set_tooltip_text(l10n_util::GetStringUTF16( + icon_->SetTooltipText(l10n_util::GetStringUTF16( IDS_ASH_STATUS_TRAY_ACCESSIBILITY_SELECT_TO_SPEAK)); tray_container()->AddChildView(icon_); @@ -62,7 +62,7 @@ } void SelectToSpeakTray::HandleLocaleChange() { - icon_->set_tooltip_text(l10n_util::GetStringUTF16( + icon_->SetTooltipText(l10n_util::GetStringUTF16( IDS_ASH_STATUS_TRAY_ACCESSIBILITY_SELECT_TO_SPEAK)); }
diff --git a/ash/system/bloom/bloom_tray.cc b/ash/system/bloom/bloom_tray.cc index 14eacbb1..13491d59 100644 --- a/ash/system/bloom/bloom_tray.cc +++ b/ash/system/bloom/bloom_tray.cc
@@ -86,7 +86,7 @@ void BloomTray::SetTooltipText() { // TODO(jeroendh): Use correct tooltip; - icon_->set_tooltip_text( + icon_->SetTooltipText( base::ASCIIToUTF16("Enable Bloom (THIS STRING MUST BE LOCALIZED)")); }
diff --git a/ash/system/holding_space/holding_space_item_context_menu.cc b/ash/system/holding_space/holding_space_item_context_menu.cc index 0e4cecf6..bd33ea9 100644 --- a/ash/system/holding_space/holding_space_item_context_menu.cc +++ b/ash/system/holding_space/holding_space_item_context_menu.cc
@@ -5,35 +5,25 @@ #include "ash/system/holding_space/holding_space_item_context_menu.h" #include "ash/public/cpp/holding_space/holding_space_constants.h" +#include "ash/public/cpp/holding_space/holding_space_controller.h" +#include "ash/public/cpp/holding_space/holding_space_model.h" +#include "ash/resources/vector_icons/vector_icons.h" #include "ash/strings/grit/ash_strings.h" +#include "ash/system/holding_space/holding_space_item_view.h" #include "ui/base/l10n/l10n_util.h" #include "ui/base/models/simple_menu_model.h" #include "ui/views/controls/menu/menu_runner.h" +#include "ui/views/vector_icons.h" #include "ui/views/view.h" namespace ash { -HoldingSpaceItemContextMenu::HoldingSpaceItemContextMenu() = default; +HoldingSpaceItemContextMenu::HoldingSpaceItemContextMenu( + const HoldingSpaceItem* item) + : item_(item) {} HoldingSpaceItemContextMenu::~HoldingSpaceItemContextMenu() = default; -ui::SimpleMenuModel* HoldingSpaceItemContextMenu::BuildMenuModel() { - context_menu_model_ = std::make_unique<ui::SimpleMenuModel>(this); - context_menu_model_->AddItem( - HoldingSpaceCommandId::kShowInFolder, - l10n_util::GetStringUTF16( - IDS_ASH_HOLDING_SPACE_CONTEXT_MENU_SHOW_IN_FOLDER)); - context_menu_model_->AddItem( - HoldingSpaceCommandId::kCopyToClipboard, - l10n_util::GetStringUTF16( - IDS_ASH_HOLDING_SPACE_CONTEXT_MENU_COPY_TO_CLIPBOARD)); - context_menu_model_->AddItem( - HoldingSpaceCommandId::kTogglePinItem, - l10n_util::GetStringUTF16(IDS_ASH_HOLDING_SPACE_CONTEXT_MENU_PIN)); - - return context_menu_model_.get(); -} - void HoldingSpaceItemContextMenu::ShowContextMenuForViewImpl( views::View* source, const gfx::Point& point, @@ -57,13 +47,46 @@ case HoldingSpaceCommandId::kCopyToClipboard: // TODO(crbug.com/1127240): Hookup API for copy to clipboard break; + case HoldingSpaceCommandId::kPinItem: + // TODO(crbug.com/1127240): Hookup API for toggling pin + break; case HoldingSpaceCommandId::kShowInFolder: // TODO(crbug.com/1127240): Hookup API for show in folder break; - case HoldingSpaceCommandId::kTogglePinItem: + case HoldingSpaceCommandId::kUnpinItem: // TODO(crbug.com/1127240): Hookup API for toggling pin break; } } +ui::SimpleMenuModel* HoldingSpaceItemContextMenu::BuildMenuModel() { + context_menu_model_ = std::make_unique<ui::SimpleMenuModel>(this); + context_menu_model_->AddItemWithIcon( + HoldingSpaceCommandId::kShowInFolder, + l10n_util::GetStringUTF16( + IDS_ASH_HOLDING_SPACE_CONTEXT_MENU_SHOW_IN_FOLDER), + ui::ImageModel::FromVectorIcon(kFolderIcon)); + context_menu_model_->AddItemWithIcon( + HoldingSpaceCommandId::kCopyToClipboard, + l10n_util::GetStringUTF16( + IDS_ASH_HOLDING_SPACE_CONTEXT_MENU_COPY_TO_CLIPBOARD), + ui::ImageModel::FromVectorIcon(kCopyIcon)); + + bool is_pinned = HoldingSpaceController::Get()->model()->GetItem( + HoldingSpaceItem::GetFileBackedItemId(HoldingSpaceItem::Type::kPinnedFile, + item_->file_path())); + if (!is_pinned) { + context_menu_model_->AddItemWithIcon( + HoldingSpaceCommandId::kPinItem, + l10n_util::GetStringUTF16(IDS_ASH_HOLDING_SPACE_CONTEXT_MENU_PIN), + ui::ImageModel::FromVectorIcon(views::kPinIcon)); + } else { + context_menu_model_->AddItemWithIcon( + HoldingSpaceCommandId::kUnpinItem, + l10n_util::GetStringUTF16(IDS_ASH_HOLDING_SPACE_CONTEXT_MENU_UNPIN), + ui::ImageModel::FromVectorIcon(views::kUnpinIcon)); + } + return context_menu_model_.get(); +} + } // namespace ash
diff --git a/ash/system/holding_space/holding_space_item_context_menu.h b/ash/system/holding_space/holding_space_item_context_menu.h index 770430e1..5371f67 100644 --- a/ash/system/holding_space/holding_space_item_context_menu.h +++ b/ash/system/holding_space/holding_space_item_context_menu.h
@@ -8,6 +8,7 @@ #include <memory> #include "ash/ash_export.h" +#include "ash/public/cpp/holding_space/holding_space_item.h" #include "ui/base/models/simple_menu_model.h" #include "ui/views/context_menu_controller.h" @@ -23,7 +24,7 @@ : public views::ContextMenuController, public ui::SimpleMenuModel::Delegate { public: - HoldingSpaceItemContextMenu(); + explicit HoldingSpaceItemContextMenu(const HoldingSpaceItem* item); HoldingSpaceItemContextMenu(const HoldingSpaceItemContextMenu&) = delete; HoldingSpaceItemContextMenu& operator=(const HoldingSpaceItemContextMenu&) = delete; @@ -42,6 +43,9 @@ std::unique_ptr<ui::SimpleMenuModel> context_menu_model_; std::unique_ptr<views::MenuRunner> context_menu_runner_; + + // The holding space item that this context menu's actions will effect. + const HoldingSpaceItem* const item_; }; } // namespace ash
diff --git a/ash/system/holding_space/holding_space_item_view.cc b/ash/system/holding_space/holding_space_item_view.cc index c222172e..ceb3392 100644 --- a/ash/system/holding_space/holding_space_item_view.cc +++ b/ash/system/holding_space/holding_space_item_view.cc
@@ -19,7 +19,7 @@ HoldingSpaceItemView::HoldingSpaceItemView(const HoldingSpaceItem* item) : item_(item), - context_menu_(std::make_unique<HoldingSpaceItemContextMenu>()) { + context_menu_(std::make_unique<HoldingSpaceItemContextMenu>(item_)) { set_context_menu_controller(context_menu_.get()); SetPaintToLayer();
diff --git a/ash/system/holding_space/holding_space_tray.cc b/ash/system/holding_space/holding_space_tray.cc index 0bfa8ce..8b0445e 100644 --- a/ash/system/holding_space/holding_space_tray.cc +++ b/ash/system/holding_space/holding_space_tray.cc
@@ -18,6 +18,7 @@ #include "ash/system/tray/tray_bubble_wrapper.h" #include "ash/system/tray/tray_constants.h" #include "ash/system/tray/tray_container.h" +#include "ash/system/tray/tray_utils.h" #include "ash/system/unified/unified_system_tray_view.h" #include "ui/base/l10n/l10n_util.h" #include "ui/gfx/paint_vector_icon.h" @@ -53,7 +54,7 @@ HoldingSpaceTray::HoldingSpaceTray(Shelf* shelf) : TrayBackgroundView(shelf) { SetLayoutManager(std::make_unique<views::FillLayout>()); icon_ = tray_container()->AddChildView(std::make_unique<views::ImageView>()); - icon_->set_tooltip_text( + icon_->SetTooltipText( l10n_util::GetStringUTF16(IDS_ASH_HOLDING_SPACE_SCREENSHOTS_TITLE)); icon_->SetImage(CreateVectorIcon(kHoldingSpaceIcon, @@ -83,7 +84,7 @@ } void HoldingSpaceTray::HandleLocaleChange() { - icon_->set_tooltip_text( + icon_->SetTooltipText( l10n_util::GetStringUTF16(IDS_ASH_HOLDING_SPACE_SCREENSHOTS_TITLE)); } @@ -136,6 +137,7 @@ init_params.delegate = this; init_params.parent_window = GetBubbleWindowContainer(); init_params.anchor_view = GetBubbleAnchor(); + init_params.insets = GetTrayBubbleInsets(); init_params.shelf_alignment = shelf()->alignment(); init_params.preferred_width = kHoldingSpaceWidth; init_params.close_on_deactivate = true;
diff --git a/ash/system/ime/tray_ime_chromeos.cc b/ash/system/ime/tray_ime_chromeos.cc index f2addb1a..2b6e65ba 100644 --- a/ash/system/ime/tray_ime_chromeos.cc +++ b/ash/system/ime/tray_ime_chromeos.cc
@@ -68,7 +68,7 @@ kSystemMenuBusinessIcon, AshColorProvider::Get()->GetContentLayerColor( AshColorProvider::ContentLayerType::kIconColorPrimary))); - controlled_setting_icon_->set_tooltip_text( + controlled_setting_icon_->SetTooltipText( l10n_util::GetStringUTF16(IDS_ASH_STATUS_TRAY_IME_MANAGED)); tri_view()->AddView(TriView::Container::END, controlled_setting_icon_); }
diff --git a/ash/system/ime_menu/ime_menu_tray.cc b/ash/system/ime_menu/ime_menu_tray.cc index d4fd56f..7e59fcf 100644 --- a/ash/system/ime_menu/ime_menu_tray.cc +++ b/ash/system/ime_menu/ime_menu_tray.cc
@@ -430,7 +430,7 @@ void ImeMenuTray::HandleLocaleChange() { if (image_view_) { - image_view_->set_tooltip_text( + image_view_->SetTooltipText( l10n_util::GetStringUTF16(IDS_ASH_STATUS_TRAY_IME)); } @@ -579,7 +579,7 @@ label_ = nullptr; } image_view_ = new ImeMenuImageView(); - image_view_->set_tooltip_text( + image_view_->SetTooltipText( l10n_util::GetStringUTF16(IDS_ASH_STATUS_TRAY_IME)); tray_container()->AddChildView(image_view_); }
diff --git a/ash/system/media/media_tray.cc b/ash/system/media/media_tray.cc index 3e11c94..eb0dd16 100644 --- a/ash/system/media/media_tray.cc +++ b/ash/system/media/media_tray.cc
@@ -66,7 +66,7 @@ MediaNotificationProvider::Get()->AddObserver(this); auto icon = std::make_unique<views::ImageView>(); - icon->set_tooltip_text(l10n_util::GetStringUTF16( + icon->SetTooltipText(l10n_util::GetStringUTF16( IDS_ASH_GLOBAL_MEDIA_CONTROLS_BUTTON_TOOLTIP_TEXT)); icon->SetImage(gfx::CreateVectorIcon( kGlobalMediaControlsIcon, @@ -106,7 +106,7 @@ } void MediaTray::HandleLocaleChange() { - icon_->set_tooltip_text(l10n_util::GetStringUTF16( + icon_->SetTooltipText(l10n_util::GetStringUTF16( IDS_ASH_GLOBAL_MEDIA_CONTROLS_BUTTON_TOOLTIP_TEXT)); }
diff --git a/ash/system/network/network_list_view.cc b/ash/system/network/network_list_view.cc index fb059b14..59c389a 100644 --- a/ash/system/network/network_list_view.cc +++ b/ash/system/network/network_list_view.cc
@@ -523,7 +523,7 @@ AshColorProvider::GetSecondToneColor(icon_color), icon_color)); // Show the numeric battery percentage on hover. - icon->set_tooltip_text(base::FormatPercent(info.battery_percentage)); + icon->SetTooltipText(base::FormatPercent(info.battery_percentage)); return icon; } @@ -548,7 +548,7 @@ views::ImageView* controlled_icon = TrayPopupUtils::CreateMainImageView(); controlled_icon->SetImage( gfx::CreateVectorIcon(kCaptivePortalIcon, GetIconColor())); - controlled_icon->set_tooltip_text(l10n_util::GetStringFUTF16( + controlled_icon->SetTooltipText(l10n_util::GetStringFUTF16( IDS_ASH_STATUS_TRAY_EXTENSION_CONTROLLED_WIFI, base::UTF8ToUTF16(info.captive_portal_provider_name))); controlled_icon->SetID(VIEW_ID_EXTENSION_CONTROLLED_WIFI);
diff --git a/ash/system/palette/palette_tray.cc b/ash/system/palette/palette_tray.cc index 9940393..ebd69ad2 100644 --- a/ash/system/palette/palette_tray.cc +++ b/ash/system/palette/palette_tray.cc
@@ -184,8 +184,7 @@ SetLayoutManager(std::make_unique<views::FillLayout>()); icon_ = new views::ImageView(); - icon_->set_tooltip_text( - l10n_util::GetStringUTF16(IDS_ASH_STYLUS_TOOLS_TITLE)); + icon_->SetTooltipText(l10n_util::GetStringUTF16(IDS_ASH_STYLUS_TOOLS_TITLE)); UpdateTrayIcon(); tray_container()->SetMargin(kTrayIconMainAxisInset, kTrayIconCrossAxisInset); @@ -299,8 +298,7 @@ } void PaletteTray::HandleLocaleChange() { - icon_->set_tooltip_text( - l10n_util::GetStringUTF16(IDS_ASH_STYLUS_TOOLS_TITLE)); + icon_->SetTooltipText(l10n_util::GetStringUTF16(IDS_ASH_STYLUS_TOOLS_TITLE)); } void PaletteTray::HideBubbleWithView(const TrayBubbleView* bubble_view) {
diff --git a/ash/system/phonehub/phone_hub_tray.cc b/ash/system/phonehub/phone_hub_tray.cc index 9472284..41f4580 100644 --- a/ash/system/phonehub/phone_hub_tray.cc +++ b/ash/system/phonehub/phone_hub_tray.cc
@@ -93,7 +93,7 @@ PhoneHubTray::PhoneHubTray(Shelf* shelf) : TrayBackgroundView(shelf) { // TODO(tengs): Update icon to spec. auto icon = std::make_unique<views::ImageView>(); - icon->set_tooltip_text( + icon->SetTooltipText( l10n_util::GetStringUTF16(IDS_ASH_PHONE_HUB_TRAY_ACCESSIBLE_NAME)); icon->SetImage(CreateVectorIcon( kSystemMenuPhoneIcon, @@ -133,7 +133,7 @@ } void PhoneHubTray::HandleLocaleChange() { - icon_->set_tooltip_text( + icon_->SetTooltipText( l10n_util::GetStringUTF16(IDS_ASH_PHONE_HUB_TRAY_ACCESSIBLE_NAME)); }
diff --git a/ash/system/phonehub/phone_status_view.cc b/ash/system/phonehub/phone_status_view.cc index e50fcd5e..861c7a5f 100644 --- a/ash/system/phonehub/phone_status_view.cc +++ b/ash/system/phonehub/phone_status_view.cc
@@ -25,7 +25,7 @@ views::ImageView* CreateTitleIcon(const gfx::VectorIcon& vector_icon, int tooltip_text_id) { auto* icon = new views::ImageView(); - icon->set_tooltip_text(l10n_util::GetStringUTF16(tooltip_text_id)); + icon->SetTooltipText(l10n_util::GetStringUTF16(tooltip_text_id)); icon->SetImage(CreateVectorIcon( vector_icon, AshColorProvider::Get()->GetContentLayerColor( AshColorProvider::ContentLayerType::kIconColorPrimary)));
diff --git a/ash/system/tray/hover_highlight_view.cc b/ash/system/tray/hover_highlight_view.cc index 4690422..5a7bbfa 100644 --- a/ash/system/tray/hover_highlight_view.cc +++ b/ash/system/tray/hover_highlight_view.cc
@@ -180,7 +180,7 @@ if (sub_text_label_) sub_text_label_->SetTooltipText(tooltip_text); if (left_icon_) - left_icon_->set_tooltip_text(tooltip_text); + left_icon_->SetTooltipText(tooltip_text); } bool HoverHighlightView::PerformAction(const ui::Event& event) {
diff --git a/ash/system/unified/managed_device_tray_item_view.cc b/ash/system/unified/managed_device_tray_item_view.cc index 2cc8dfb7..45bd45d4 100644 --- a/ash/system/unified/managed_device_tray_item_view.cc +++ b/ash/system/unified/managed_device_tray_item_view.cc
@@ -62,11 +62,11 @@ ->enterprise_display_domain(); SetVisible(true); if (!enterprise_domain_name.empty()) { - image_view()->set_tooltip_text(l10n_util::GetStringFUTF16( + image_view()->SetTooltipText(l10n_util::GetStringFUTF16( IDS_ASH_ENTERPRISE_DEVICE_MANAGED_BY, base::UTF8ToUTF16(enterprise_domain_name))); } else { - image_view()->set_tooltip_text(base::string16()); + image_view()->SetTooltipText(base::string16()); LOG(WARNING) << "Public account user, but device not enterprise-enrolled."; } @@ -74,7 +74,7 @@ image_view()->SetImage(gfx::CreateVectorIcon( kSystemTraySupervisedUserIcon, TrayIconColor(Shell::Get()->session_controller()->GetSessionState()))); - image_view()->set_tooltip_text( + image_view()->SetTooltipText( l10n_util::GetStringUTF16(IDS_ASH_STATUS_TRAY_FAMILY_LINK_LABEL)); SetVisible(true); } else {
diff --git a/ash/system/unified/notification_counter_view.cc b/ash/system/unified/notification_counter_view.cc index ac21f3f..debe50e 100644 --- a/ash/system/unified/notification_counter_view.cc +++ b/ash/system/unified/notification_counter_view.cc
@@ -132,7 +132,7 @@ gfx::CanvasImageSource::MakeImageSkia<NumberIconImageSource>(icon_id)); count_for_display_ = icon_id; } - image_view()->set_tooltip_text(l10n_util::GetPluralStringFUTF16( + image_view()->SetTooltipText(l10n_util::GetPluralStringFUTF16( IDS_ASH_STATUS_TRAY_NOTIFICATIONS_COUNT_TOOLTIP, notification_count)); SetVisible(true); } @@ -158,7 +158,7 @@ QuietModeView::QuietModeView(Shelf* shelf) : TrayItemView(shelf) { CreateImageView(); - image_view()->set_tooltip_text( + image_view()->SetTooltipText( l10n_util::GetStringUTF16(IDS_ASH_STATUS_TRAY_QUIET_MODE_TOOLTIP)); SetVisible(false); Shell::Get()->session_controller()->AddObserver(this); @@ -184,7 +184,7 @@ } void QuietModeView::HandleLocaleChange() { - image_view()->set_tooltip_text( + image_view()->SetTooltipText( l10n_util::GetStringUTF16(IDS_ASH_STATUS_TRAY_QUIET_MODE_TOOLTIP)); }
diff --git a/ash/system/unified/user_chooser_view.cc b/ash/system/unified/user_chooser_view.cc index 039c590..af01420 100644 --- a/ash/system/unified/user_chooser_view.cc +++ b/ash/system/unified/user_chooser_view.cc
@@ -282,7 +282,7 @@ break; } if (res_id) - capture_icon_->set_tooltip_text(l10n_util::GetStringUTF16(res_id)); + capture_icon_->SetTooltipText(l10n_util::GetStringUTF16(res_id)); } base::string16 UserItemButton::GetTooltipText(const gfx::Point& p) const {
diff --git a/ash/system/virtual_keyboard/virtual_keyboard_tray.cc b/ash/system/virtual_keyboard/virtual_keyboard_tray.cc index 56e148b5..2d4be7a2 100644 --- a/ash/system/virtual_keyboard/virtual_keyboard_tray.cc +++ b/ash/system/virtual_keyboard/virtual_keyboard_tray.cc
@@ -61,7 +61,7 @@ } void VirtualKeyboardTray::HandleLocaleChange() { - icon_->set_tooltip_text(l10n_util::GetStringUTF16( + icon_->SetTooltipText(l10n_util::GetStringUTF16( IDS_ASH_STATUS_TRAY_ACCESSIBILITY_VIRTUAL_KEYBOARD)); } @@ -123,7 +123,7 @@ icon, TrayIconColor(Shell::Get()->session_controller()->GetSessionState())); icon_->SetImage(image); - icon_->set_tooltip_text(l10n_util::GetStringUTF16( + icon_->SetTooltipText(l10n_util::GetStringUTF16( IDS_ASH_STATUS_TRAY_ACCESSIBILITY_VIRTUAL_KEYBOARD)); const int vertical_padding = (kTrayItemSize - image.height()) / 2; const int horizontal_padding = (kTrayItemSize - image.width()) / 2;
diff --git a/base/immediate_crash_unittest.cc b/base/immediate_crash_unittest.cc index f129224d..536f678 100644 --- a/base/immediate_crash_unittest.cc +++ b/base/immediate_crash_unittest.cc
@@ -150,6 +150,13 @@ // BRK #1 EXPECT_EQ(0XD4200020, *++it); +#elif defined(OS_MAC) + + // BRK #1 + EXPECT_EQ(0XD4200020, *++it); + // BRK #0 + EXPECT_EQ(0XD4200000, *++it); + #else // BRK #0
diff --git a/build/fuchsia/linux.sdk.sha1 b/build/fuchsia/linux.sdk.sha1 index 18fa20d58..ef97e531 100644 --- a/build/fuchsia/linux.sdk.sha1 +++ b/build/fuchsia/linux.sdk.sha1
@@ -1 +1 @@ -0.20200915.1.1 +0.20200915.2.1
diff --git a/build/fuchsia/mac.sdk.sha1 b/build/fuchsia/mac.sdk.sha1 index 18fa20d58..ef97e531 100644 --- a/build/fuchsia/mac.sdk.sha1 +++ b/build/fuchsia/mac.sdk.sha1
@@ -1 +1 @@ -0.20200915.1.1 +0.20200915.2.1
diff --git a/cc/metrics/compositor_frame_reporting_controller.cc b/cc/metrics/compositor_frame_reporting_controller.cc index c8104522..d412fa1 100644 --- a/cc/metrics/compositor_frame_reporting_controller.cc +++ b/cc/metrics/compositor_frame_reporting_controller.cc
@@ -379,6 +379,8 @@ void CompositorFrameReportingController::RemoveActiveTracker( FrameSequenceTrackerType type) { active_trackers_.reset(static_cast<size_t>(type)); + if (dropped_frame_counter_) + dropped_frame_counter_->ReportFrames(); } void CompositorFrameReportingController::SetThreadAffectsSmoothness(
diff --git a/cc/metrics/dropped_frame_counter.cc b/cc/metrics/dropped_frame_counter.cc index b0b37e4..93ed546 100644 --- a/cc/metrics/dropped_frame_counter.cc +++ b/cc/metrics/dropped_frame_counter.cc
@@ -9,6 +9,8 @@ #include <limits> #include "base/memory/ptr_util.h" +#include "base/trace_event/trace_event.h" +#include "cc/metrics/total_frame_counter.h" namespace cc { @@ -43,6 +45,14 @@ void DroppedFrameCounter::AddDroppedFrameAffectingSmoothness() { ++total_smoothness_dropped_; + ReportFrames(); +} + +void DroppedFrameCounter::ReportFrames() { + TRACE_EVENT2( + "cc,benchmark", "SmoothnessDroppedFrame", "total", + total_counter_->ComputeTotalVisibleFrames(base::TimeTicks::Now()), + "smoothness", total_smoothness_dropped_); } void DroppedFrameCounter::Reset() {
diff --git a/cc/metrics/dropped_frame_counter.h b/cc/metrics/dropped_frame_counter.h index ddc4e056..dd75f48 100644 --- a/cc/metrics/dropped_frame_counter.h +++ b/cc/metrics/dropped_frame_counter.h
@@ -14,6 +14,8 @@ namespace cc { +class TotalFrameCounter; + // This class maintains a counter for produced/dropped frames, and can be used // to estimate the recent throughput. class CC_EXPORT DroppedFrameCounter { @@ -46,15 +48,22 @@ void AddDroppedFrame(); void AddDroppedFrameAffectingSmoothness(); + void ReportFrames(); void Reset(); + void set_total_counter(TotalFrameCounter* total_counter) { + total_counter_ = total_counter; + } + private: RingBufferType ring_buffer_; size_t total_frames_ = 0; size_t total_partial_ = 0; size_t total_dropped_ = 0; size_t total_smoothness_dropped_ = 0; + + TotalFrameCounter* total_counter_ = nullptr; }; } // namespace cc
diff --git a/cc/metrics/total_frame_counter.cc b/cc/metrics/total_frame_counter.cc index c73caac..4e18f6e7 100644 --- a/cc/metrics/total_frame_counter.cc +++ b/cc/metrics/total_frame_counter.cc
@@ -51,13 +51,23 @@ void TotalFrameCounter::UpdateTotalFramesSinceLastVisible( base::TimeTicks until) { + total_frames_ = ComputeTotalVisibleFrames(until); +} + +size_t TotalFrameCounter::ComputeTotalVisibleFrames( + base::TimeTicks until) const { DCHECK(!until.is_null()); - DCHECK(!last_shown_timestamp_.is_null()); + + if (last_shown_timestamp_.is_null() || latest_interval_.is_zero()) { + // The compositor may be currently invisible, or has just been made visible + // but has yet to receive a BeginFrameArgs. + return total_frames_; + } + DCHECK_GE(until, last_shown_timestamp_); - DCHECK(!latest_interval_.is_zero()); auto frames_since = std::round((until - last_shown_timestamp_) / latest_interval_); - total_frames_ += frames_since; + return total_frames_ + frames_since; } } // namespace cc
diff --git a/cc/metrics/total_frame_counter.h b/cc/metrics/total_frame_counter.h index f5d6ce34..78b1412 100644 --- a/cc/metrics/total_frame_counter.h +++ b/cc/metrics/total_frame_counter.h
@@ -29,6 +29,8 @@ void OnHide(base::TimeTicks timestamp); void OnBeginFrame(const viz::BeginFrameArgs& args); + size_t ComputeTotalVisibleFrames(base::TimeTicks until) const; + size_t total_frames() const { return total_frames_; } void set_total_frames_for_testing(size_t total_frames) {
diff --git a/cc/paint/filter_operation.h b/cc/paint/filter_operation.h index 89711921..7e3b17b2 100644 --- a/cc/paint/filter_operation.h +++ b/cc/paint/filter_operation.h
@@ -9,6 +9,7 @@ #include <vector> #include "base/check_op.h" +#include "base/containers/span.h" #include "cc/paint/paint_export.h" #include "cc/paint/paint_filter.h" #include "third_party/skia/include/core/SkColor.h" @@ -210,7 +211,7 @@ image_filter_ = std::move(image_filter); } - void set_matrix(const Matrix& matrix) { + void set_matrix(base::span<const SkScalar, 20> matrix) { DCHECK_EQ(type_, COLOR_MATRIX); for (unsigned i = 0; i < 20; ++i) matrix_[i] = matrix[i];
diff --git a/cc/paint/paint_op_buffer.cc b/cc/paint/paint_op_buffer.cc index ff76c597..a2f63ed 100644 --- a/cc/paint/paint_op_buffer.cc +++ b/cc/paint/paint_op_buffer.cc
@@ -18,7 +18,7 @@ #include "third_party/skia/include/core/SkRegion.h" #include "third_party/skia/include/core/SkSerialProcs.h" #include "third_party/skia/include/docs/SkPDFDocument.h" -#include "third_party/skia/include/gpu/GrContext.h" +#include "third_party/skia/include/gpu/GrRecordingContext.h" #include "ui/gfx/skia_util.h" namespace cc { @@ -2792,7 +2792,7 @@ if (op->IsPaintOpWithFlags()) { const auto* flags_op = static_cast<const PaintOpWithFlags*>(op); - auto* context = canvas->getGrContext(); + auto* context = canvas->recordingContext(); const ScopedRasterFlags scoped_flags( &flags_op->flags, new_params.image_provider, canvas->getTotalMatrix(), context ? context->maxTextureSize() : 0, iter.alpha());
diff --git a/cc/paint/skia_paint_canvas.h b/cc/paint/skia_paint_canvas.h index 7787069..dcc7f46a 100644 --- a/cc/paint/skia_paint_canvas.h +++ b/cc/paint/skia_paint_canvas.h
@@ -13,7 +13,7 @@ #include "cc/paint/paint_flags.h" #include "cc/paint/paint_record.h" #include "third_party/skia/include/core/SkCanvas.h" -#include "third_party/skia/include/gpu/GrContext.h" +#include "third_party/skia/include/gpu/GrRecordingContext.h" namespace cc { class ImageProvider; @@ -151,7 +151,7 @@ void FlushAfterDrawIfNeeded(); int max_texture_size() const { - auto* context = canvas_->getGrContext(); + auto* context = canvas_->recordingContext(); return context ? context->maxTextureSize() : 0; }
diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc index 896b4d1..738ddc04 100644 --- a/cc/trees/layer_tree_host_impl.cc +++ b/cc/trees/layer_tree_host_impl.cc
@@ -455,6 +455,7 @@ compositor_frame_reporting_controller_->SetDroppedFrameCounter( &dropped_frame_counter_); + dropped_frame_counter_.set_total_counter(&total_frame_counter_); frame_trackers_.set_custom_tracker_results_added_callback( base::BindRepeating(&LayerTreeHostImpl::NotifyThroughputTrackerResults, weak_factory_.GetWeakPtr()));
diff --git a/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_en-GB.xtb b/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_en-GB.xtb index c62eb67c..10261d7 100644 --- a/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_en-GB.xtb +++ b/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_en-GB.xtb
@@ -39,7 +39,7 @@ <translation id="6856809498882026482">Hide multi-select mode</translation> <translation id="7151209024774799310">Remove tabs from group</translation> <translation id="7204204600596740190">Multi-select mode</translation> -<translation id="753732157349120914">Tab switcher</translation> +<translation id="753732157349120914">Tab Switcher</translation> <translation id="7559245342362162951">Show group's tabs in full-screen grid</translation> <translation id="7792771145871471484">Review the suggestions.</translation> <translation id="7838146321400849846">{TABS_COUNT,plural, =1{Group <ph name="TABS_COUNT_ONE" /> selected tab}other{Group <ph name="TABS_COUNT_MANY" /> selected tabs}}</translation>
diff --git a/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_hy.xtb b/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_hy.xtb index c9e6b3ef..e482b26c6 100644 --- a/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_hy.xtb +++ b/chrome/android/features/tab_ui/java/strings/translations/android_chrome_tab_ui_strings_hy.xtb
@@ -39,7 +39,7 @@ <translation id="6856809498882026482">Թաքցնել մի քանի ներդիրի ընտրության ռեժիմը</translation> <translation id="7151209024774799310">Հեռացնել ներդիները խմբից</translation> <translation id="7204204600596740190">Մի քանի ներդիրի ընտրության ռեժիմ</translation> -<translation id="753732157349120914">Ներդիրների փոխարկիչ</translation> +<translation id="753732157349120914">Ներդիրների փոխանջատիչ</translation> <translation id="7559245342362162951">Ցուցադրել խմբի ներդիրները լիաէկրան ցանցի ռեժիմում</translation> <translation id="7792771145871471484">Դիտել հուշումները։</translation> <translation id="7838146321400849846">{TABS_COUNT,plural, =1{Խմբավորել ընտրված <ph name="TABS_COUNT_ONE" /> ներդիրը}one{Խմբավորել ընտրված <ph name="TABS_COUNT_MANY" /> ներդիրները}other{Խմբավորել ընտրված <ph name="TABS_COUNT_MANY" /> ներդիրները}}</translation>
diff --git a/chrome/android/java/res/layout/fre_tosanduma.xml b/chrome/android/java/res/layout/fre_tosanduma.xml index ed6ad74..950c6bb 100644 --- a/chrome/android/java/res/layout/fre_tosanduma.xml +++ b/chrome/android/java/res/layout/fre_tosanduma.xml
@@ -24,7 +24,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:animateLayoutChanges="true" - android:gravity="center_horizontal|center_vertical"> + android:gravity="center_horizontal"> <ImageView android:id="@+id/image" @@ -38,7 +38,7 @@ <LinearLayout android:id="@+id/fre_title_and_content" android:layout_width="match_parent" - android:layout_height="match_parent" + android:layout_height="wrap_content" android:orientation="vertical"> <TextView @@ -112,8 +112,7 @@ android:id="@+id/fre_bottom_group" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_marginHorizontal="@dimen/fre_content_margin" - android:animateLayoutChanges="true"> + android:layout_marginHorizontal="@dimen/fre_content_margin"> <org.chromium.ui.widget.ButtonCompat android:id="@+id/terms_accept" @@ -124,6 +123,7 @@ android:paddingStart="@dimen/fre_button_padding" android:paddingEnd="@dimen/fre_button_padding" android:text="@string/fre_accept_continue" + android:animateLayoutChanges="true" style="@style/FilledButton.Flat" /> <!-- Same location as the button; marginBottom is adjusted for the different size. -->
diff --git a/chrome/android/java/res/layout/share_sheet_content.xml b/chrome/android/java/res/layout/share_sheet_content.xml index c316ac2..eab1884 100644 --- a/chrome/android/java/res/layout/share_sheet_content.xml +++ b/chrome/android/java/res/layout/share_sheet_content.xml
@@ -3,44 +3,49 @@ Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. --> -<LinearLayout - xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:app="http://schemas.android.com/apk/res-auto" - xmlns:tools="http://schemas.android.com/tools" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:minHeight="@dimen/min_touch_target_size" - android:orientation="vertical"> - <TextView - android:id="@+id/message" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:minHeight="48dp" - android:paddingStart="16dp" - android:gravity="center_vertical" - android:background="@color/default_bg_color_blue" - android:textAppearance="@style/TextAppearance.TextSmall.Primary.Inverse" - android:visibility="gone"/> +<ScrollView + xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" + android:id="@+id/share_sheet_scrollview" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:orientation="vertical"> + <LinearLayout + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:minHeight="@dimen/min_touch_target_size" + android:orientation="vertical"> + <TextView + android:id="@+id/message" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:minHeight="48dp" + android:paddingStart="16dp" + android:gravity="center_vertical" + android:background="@color/default_bg_color_blue" + android:textAppearance="@style/TextAppearance.TextSmall.Primary.Inverse" + android:visibility="gone"/> - <RelativeLayout - android:id="@+id/preview_header" - android:layout_gravity="center" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:paddingBottom="20dp" - android:paddingStart="16dp" - android:paddingTop="24dp"> + <RelativeLayout + android:id="@+id/preview_header" + android:layout_gravity="center" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:paddingBottom="20dp" + android:paddingStart="16dp" + android:paddingTop="24dp"> <org.chromium.components.browser_ui.widget.RoundedCornerImageView - android:id="@+id/image_preview" - android:layout_height="@dimen/sharing_hub_preview_monogram_size" - android:layout_width="@dimen/sharing_hub_preview_monogram_size" - android:scaleType="fitCenter" - app:cornerRadiusBottomStart="@dimen/default_rounded_corner_radius" - app:cornerRadiusBottomEnd="@dimen/default_rounded_corner_radius" - app:cornerRadiusTopStart="@dimen/default_rounded_corner_radius" - app:cornerRadiusTopEnd="@dimen/default_rounded_corner_radius" - tools:ignore="ContentDescription"/> + android:id="@+id/image_preview" + android:layout_height="@dimen/sharing_hub_preview_monogram_size" + android:layout_width="@dimen/sharing_hub_preview_monogram_size" + android:scaleType="fitCenter" + app:cornerRadiusBottomStart="@dimen/default_rounded_corner_radius" + app:cornerRadiusBottomEnd="@dimen/default_rounded_corner_radius" + app:cornerRadiusTopStart="@dimen/default_rounded_corner_radius" + app:cornerRadiusTopEnd="@dimen/default_rounded_corner_radius" + tools:ignore="ContentDescription"/> <TextView android:id="@+id/title_preview" @@ -69,38 +74,39 @@ android:paddingStart="12dp" android:textAlignment="viewStart" android:textAppearance="@style/TextAppearance.TextMedium.Primary"/> - </RelativeLayout> + </RelativeLayout> - <View - android:id="@+id/preview_divider" - android:background="@color/divider_line_bg_color" - android:layout_height="1dp" - android:layout_width="match_parent"/> + <View + android:id="@+id/preview_divider" + android:background="@color/divider_line_bg_color" + android:layout_height="1dp" + android:layout_width="match_parent"/> - <androidx.recyclerview.widget.RecyclerView - android:id="@+id/share_sheet_other_apps" - android:clipToPadding="false" - android:layout_width="wrap_content" - android:layout_height="113dp" - android:minHeight="@dimen/min_touch_target_size" - android:orientation="horizontal" - android:paddingEnd="16dp" /> + <androidx.recyclerview.widget.RecyclerView + android:id="@+id/share_sheet_other_apps" + android:clipToPadding="false" + android:layout_width="wrap_content" + android:layout_height="113dp" + android:minHeight="@dimen/min_touch_target_size" + android:orientation="horizontal" + android:paddingEnd="16dp" /> - <View - android:id="@+id/share_sheet_divider" - android:background="@color/divider_line_bg_color" - android:layout_height="1dp" - android:layout_marginLeft="16dp" - android:layout_marginRight="16dp" - android:layout_width="match_parent" - android:visibility="gone" /> + <View + android:id="@+id/share_sheet_divider" + android:background="@color/divider_line_bg_color" + android:layout_height="1dp" + android:layout_marginLeft="16dp" + android:layout_marginRight="16dp" + android:layout_width="match_parent" + android:visibility="gone" /> - <androidx.recyclerview.widget.RecyclerView - android:id="@+id/share_sheet_chrome_apps" - android:clipToPadding="false" - android:layout_width="wrap_content" - android:layout_height="113dp" - android:minHeight="@dimen/min_touch_target_size" - android:paddingEnd="16dp" - android:visibility="gone" /> -</LinearLayout> + <androidx.recyclerview.widget.RecyclerView + android:id="@+id/share_sheet_chrome_apps" + android:clipToPadding="false" + android:layout_width="wrap_content" + android:layout_height="113dp" + android:minHeight="@dimen/min_touch_target_size" + android:paddingEnd="16dp" + android:visibility="gone" /> + </LinearLayout> +</ScrollView>
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/FontSizePrefs.java b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/FontSizePrefs.java index 478b911..ceafbbb4 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/FontSizePrefs.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/FontSizePrefs.java
@@ -14,6 +14,7 @@ import org.chromium.base.ThreadUtils; import org.chromium.base.annotations.CalledByNative; import org.chromium.base.annotations.NativeMethods; +import org.chromium.base.metrics.RecordHistogram; import org.chromium.chrome.browser.preferences.ChromePreferenceKeys; import org.chromium.chrome.browser.preferences.SharedPreferencesManager; @@ -36,6 +37,12 @@ */ public static final float FORCE_ENABLE_ZOOM_THRESHOLD_MULTIPLIER = 1.3f; + @VisibleForTesting + public static final String FONT_SIZE_CHANGE_HISTOGRAM = + "Accessibility.Android.UserFontSizePref.Change"; + private static final String FONT_SIZE_STARTUP_HISTOGRAM = + "Accessibility.Android.UserFontSizePref.OnStartup"; + private static final float EPSILON = 0.001f; @SuppressLint("StaticFieldLeak") @@ -158,6 +165,28 @@ } /** + * Record the user font setting. Intended to be logged on activity startup. + */ + public void recordUserFontPrefOnStartup() { + recordUserFontPrefHistogram(FONT_SIZE_STARTUP_HISTOGRAM); + } + + /** + * Record the user font setting when the setting is changed by the user. + */ + public void recordUserFontPrefChange() { + recordUserFontPrefHistogram(FONT_SIZE_CHANGE_HISTOGRAM); + } + + private void recordUserFontPrefHistogram(String histogramName) { + // User font size prefs range from 0.5 to 2.0 (50% to 200%) and can be updated in increments + // of 5% (see org.chromium.chrome.browser.accessibility.settings.TextScalePreference). + int sample = (int) (FontSizePrefs.getInstance().getUserFontScaleFactor() * 100); + assert sample >= 50 && sample <= 200 : "Unexpected font size pref"; + RecordHistogram.recordSparseHistogram(histogramName, sample); + } + + /** * Sets a mock value for the system-wide font scale. Use only in tests. */ @VisibleForTesting
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/AccessibilitySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/AccessibilitySettings.java index 7b58e6b..421e629 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/AccessibilitySettings.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/AccessibilitySettings.java
@@ -35,6 +35,7 @@ private TextScalePreference mTextScalePref; private ChromeBaseCheckBoxPreference mForceEnableZoomPref; + private boolean mRecordFontSizeChangeOnStop; private FontSizePrefs mFontSizePrefs = FontSizePrefs.getInstance(); private FontSizePrefsObserver mFontSizePrefsObserver = new FontSizePrefsObserver() { @@ -110,12 +111,17 @@ @Override public void onStop() { mFontSizePrefs.removeObserver(mFontSizePrefsObserver); + if (mRecordFontSizeChangeOnStop) { + mFontSizePrefs.recordUserFontPrefChange(); + mRecordFontSizeChangeOnStop = false; + } super.onStop(); } @Override public boolean onPreferenceChange(Preference preference, Object newValue) { if (PREF_TEXT_SCALE.equals(preference.getKey())) { + mRecordFontSizeChangeOnStop = true; mFontSizePrefs.setUserFontScaleFactor((Float) newValue); } else if (PREF_FORCE_ENABLE_ZOOM.equals(preference.getKey())) { mFontSizePrefs.setForceEnableZoomFromUser((Boolean) newValue);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java index dce76474..a72154e 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
@@ -63,6 +63,7 @@ import org.chromium.chrome.browser.IntentHandler.TabOpenType; import org.chromium.chrome.browser.TabbedModeTabDelegateFactory; import org.chromium.chrome.browser.WarmupManager; +import org.chromium.chrome.browser.accessibility.FontSizePrefs; import org.chromium.chrome.browser.app.appmenu.AppMenuPropertiesDelegateImpl; import org.chromium.chrome.browser.app.flags.ChromeCachedFlags; import org.chromium.chrome.browser.app.tab_activity_glue.ReparentingDelegateFactory; @@ -1054,6 +1055,8 @@ "Android.PlayServices.Installed", playServicesVersion > 0); RecordHistogram.recordSparseHistogram( "Android.PlayServices.Version", playServicesVersion); + + FontSizePrefs.getInstance().recordUserFontPrefOnStartup(); }); DeferredStartupHandler.getInstance().addDeferredTask(() -> {
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java index c862f73..11fbb94 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java
@@ -154,7 +154,7 @@ private CompositorAccessibilityProvider mNodeProvider; /** The toolbar control container. **/ - private ControlContainer mControlContainer; + private @Nullable ControlContainer mControlContainer; private InsetObserverView mInsetObserverView; private boolean mShowingFullscreen; @@ -472,7 +472,7 @@ /** * @param controlContainer The ControlContainer. */ - public void setControlContainer(ControlContainer controlContainer) { + public void setControlContainer(@Nullable ControlContainer controlContainer) { DynamicResourceLoader loader = mCompositorView.getResourceManager() != null ? mCompositorView.getResourceManager().getDynamicResourceLoader() : null; @@ -1228,7 +1228,7 @@ TabCreatorManager tabCreatorManager, ContextualSearchManagementDelegate contextualSearchManager, ActivityTabProvider tabProvider) { - assert mLayoutManager != null && mControlContainer != null; + assert mLayoutManager != null; mLayoutManager.init(tabModelSelector, tabCreatorManager, mControlContainer, contextualSearchManager, mCompositorView.getResourceManager().getDynamicResourceLoader(), tabProvider);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManager.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManager.java index 96442d8..14cd07c 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManager.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManager.java
@@ -13,6 +13,7 @@ import android.view.View; import android.view.ViewGroup; +import androidx.annotation.Nullable; import androidx.annotation.VisibleForTesting; import org.chromium.base.ObserverList; @@ -428,7 +429,7 @@ * @param dynamicResourceLoader A {@link DynamicResourceLoader} instance. */ public void init(TabModelSelector selector, TabCreatorManager creator, - ControlContainer controlContainer, + @Nullable ControlContainer controlContainer, ContextualSearchManagementDelegate contextualSearchDelegate, DynamicResourceLoader dynamicResourceLoader, ActivityTabProvider tabProvider) { LayoutRenderHost renderHost = mHost.getLayoutRenderHost();
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/toolbar/TopToolbarOverlayCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/toolbar/TopToolbarOverlayCoordinator.java index b1fa1f3..7bc5ac0 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/toolbar/TopToolbarOverlayCoordinator.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/toolbar/TopToolbarOverlayCoordinator.java
@@ -7,6 +7,8 @@ import android.content.Context; import android.graphics.RectF; +import androidx.annotation.Nullable; + import org.chromium.base.supplier.ObservableSupplier; import org.chromium.base.supplier.Supplier; import org.chromium.chrome.R; @@ -41,7 +43,7 @@ public TopToolbarOverlayCoordinator(Context context, CompositorModelChangeProcessor.FrameRequestSupplier frameRequestSupplier, - LayoutManager layoutManager, ControlContainer controlContainer, + LayoutManager layoutManager, @Nullable ControlContainer controlContainer, ActivityTabProvider tabSupplier, BrowserControlsStateProvider browserControlsStateProvider, ObservableSupplier<Boolean> androidViewShownSupplier,
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/toolbar/TopToolbarOverlayMediator.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/toolbar/TopToolbarOverlayMediator.java index 1b726b26..d4ef5139 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/toolbar/TopToolbarOverlayMediator.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/toolbar/TopToolbarOverlayMediator.java
@@ -7,6 +7,7 @@ import android.content.Context; import androidx.annotation.ColorInt; +import androidx.annotation.Nullable; import androidx.annotation.VisibleForTesting; import org.chromium.base.Callback; @@ -45,7 +46,7 @@ private final SceneChangeObserver mSceneChangeObserver; /** A Layout for browser controls. */ - private final ControlContainer mToolbarContainer; + private final @Nullable ControlContainer mToolbarContainer; /** Provides current tab. */ private final ActivityTabProvider mTabSupplier; @@ -75,7 +76,7 @@ private boolean mLayoutHasOwnToolbar; TopToolbarOverlayMediator(PropertyModel model, Context context, LayoutManager layoutManager, - ControlContainer controlContainer, ActivityTabProvider tabSupplier, + @Nullable ControlContainer controlContainer, ActivityTabProvider tabSupplier, BrowserControlsStateProvider browserControlsStateProvider, ObservableSupplier<Boolean> androidViewShownSupplier) { mContext = context;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/TosAndUmaFragmentView.java b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/TosAndUmaFragmentView.java index 3918f37..e696fcab 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/TosAndUmaFragmentView.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/TosAndUmaFragmentView.java
@@ -148,10 +148,10 @@ LinearLayout.LayoutParams spinnerParams = (LinearLayout.LayoutParams) mLoadingSpinnerContainer.getLayoutParams(); - // Adjust the spinner placement. If in portrait mode, the spinner is centered in the region + // Adjust the spinner placement. If in portrait mode, the spinner is placed in the region // below the title; If in wide screen mode, the spinner is placed in the center of - // the entire screen. In all scenarios, because we cannot get the exact size for headline, - // the spinner placement is approximately centered. + // the entire screen. Because we cannot get the exact size for headline, + // the spinner placement is approximately centered in this case. if (useWideScreen) { int freImageWidth = mImageSize + mVerticalSpacing * 2; int spinnerStartMargin = @@ -165,10 +165,10 @@ spinnerParams.setMarginStart(spinnerStartMargin); spinnerParams.topMargin = spinnerTopMargin; } else { - // Center the spinner below the title, whose baseline is centered in the screen. - // For more information see #setLogoLayoutParams. - int spinnerTopMargin = - Math.max(mVerticalSpacing, (height / 2 - mLoadingSpinnerSize) / 2); + // Use the same padding between title and logo for the spinner. + // TODO(crbug.com/1128123): Switch from top margin to an approach that will center the + // spinner in the bottom half of the screen. + int spinnerTopMargin = mImageBottomMargin; spinnerParams.gravity = Gravity.CENTER_HORIZONTAL; spinnerParams.setMarginStart(0);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/BrowserControlsManager.java b/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/BrowserControlsManager.java index 906e452..85d5b040 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/BrowserControlsManager.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/BrowserControlsManager.java
@@ -177,7 +177,7 @@ * @param modelSelector The tab model selector that will be monitored for tab changes. * @param resControlContainerHeight The dimension resource ID for the control container height. */ - public void initialize(ControlContainer controlContainer, + public void initialize(@Nullable ControlContainer controlContainer, ActivityTabProvider activityTabProvider, final TabModelSelector modelSelector, int resControlContainerHeight) { mHtmlApiHandler.initialize(activityTabProvider, modelSelector);
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/accessibility/settings/AccessibilitySettingsTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/accessibility/settings/AccessibilitySettingsTest.java index 3d57bbf..0aa584f4 100644 --- a/chrome/android/javatests/src/org/chromium/chrome/browser/accessibility/settings/AccessibilitySettingsTest.java +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/accessibility/settings/AccessibilitySettingsTest.java
@@ -22,6 +22,7 @@ import org.junit.Test; import org.junit.runner.RunWith; +import org.chromium.base.metrics.RecordHistogram; import org.chromium.base.task.PostTask; import org.chromium.base.test.util.Feature; import org.chromium.chrome.browser.accessibility.FontSizePrefs; @@ -103,6 +104,45 @@ @Test @SmallTest @Feature({"Accessibility"}) + public void testChangedFontPrefSavedOnStop() { + AccessibilitySettings accessibilitySettings = mSettingsActivityTestRule.getFragment(); + TextScalePreference textScalePref = + accessibilitySettings.findPreference(AccessibilitySettings.PREF_TEXT_SCALE); + + // Change text scale a couple of times. + userSetTextScale(accessibilitySettings, textScalePref, 0.5f); + userSetTextScale(accessibilitySettings, textScalePref, 1.75f); + + Assert.assertEquals("Histogram should not be recorded yet.", 0, + RecordHistogram.getHistogramTotalCountForTesting( + FontSizePrefs.FONT_SIZE_CHANGE_HISTOGRAM)); + + // Simulate activity stopping. + TestThreadUtils.runOnUiThreadBlocking(() -> accessibilitySettings.onStop()); + + Assert.assertEquals("Histogram should have been recorded once.", 1, + RecordHistogram.getHistogramTotalCountForTesting( + FontSizePrefs.FONT_SIZE_CHANGE_HISTOGRAM)); + Assert.assertEquals("Histogram should have recorded final value.", 1, + RecordHistogram.getHistogramValueCountForTesting( + FontSizePrefs.FONT_SIZE_CHANGE_HISTOGRAM, 175)); + } + + @Test + @SmallTest + @Feature({"Accessibility"}) + public void testUnchangedFontPrefNotSavedOnStop() { + AccessibilitySettings accessibilitySettings = mSettingsActivityTestRule.getFragment(); + // Simulate activity stopping. + TestThreadUtils.runOnUiThreadBlocking(() -> accessibilitySettings.onStop()); + Assert.assertEquals("Histogram should not have been recorded.", 0, + RecordHistogram.getHistogramTotalCountForTesting( + FontSizePrefs.FONT_SIZE_CHANGE_HISTOGRAM)); + } + + @Test + @SmallTest + @Feature({"Accessibility"}) public void testCaptionPreferences() { AccessibilitySettings accessibilitySettings = mSettingsActivityTestRule.getFragment(); Preference captionsPref =
diff --git a/chrome/android/junit/src/org/chromium/chrome/browser/page_info/PageInfoPermissionsControllerUnitTest.java b/chrome/android/junit/src/org/chromium/chrome/browser/page_info/PageInfoPermissionsControllerUnitTest.java index 433d55d..b8469b19 100644 --- a/chrome/android/junit/src/org/chromium/chrome/browser/page_info/PageInfoPermissionsControllerUnitTest.java +++ b/chrome/android/junit/src/org/chromium/chrome/browser/page_info/PageInfoPermissionsControllerUnitTest.java
@@ -77,13 +77,13 @@ "Sound allowed, Location blocked"}, {"Multiple Permissions Allowed", Arrays.asList(LOCATION_ALLOWED, SOUND_ALLOWED, VR_ALLOWED), - "Location, Sound and 1 more allowed"}, + "Location, Sound, and 1 more allowed"}, {"Multiple Permissions Blocked", Arrays.asList(LOCATION_BLOCKED, SOUND_BLOCKED, VR_BLOCKED), - "Location, Sound and 1 more blocked"}, + "Location, Sound, and 1 more blocked"}, {"Multiple Permissions Mixed", Arrays.asList(LOCATION_ALLOWED, SOUND_BLOCKED, VR_BLOCKED), - "Location, Sound and 1 more"}}); + "Location, Sound, and 1 more"}}); } @Test
diff --git a/chrome/app/chromeos_strings.grdp b/chrome/app/chromeos_strings.grdp index 78ae618..fafa22a4 100644 --- a/chrome/app/chromeos_strings.grdp +++ b/chrome/app/chromeos_strings.grdp
@@ -255,8 +255,8 @@ <message name="IDS_CELLULAR_SETUP_BACK_LABEL" desc="Label for button to go to previous screen during cellular setup"> Back </message> - <message name="IDS_CELLULAR_SETUP_FINISH_LABEL" desc="Label for button to finish and exit cellular setup"> - Finish + <message name="IDS_CELLULAR_SETUP_DONE_LABEL" desc="Label for button to finish and exit cellular setup"> + Done </message> <message name="IDS_CELLULAR_SETUP_TRY_AGAIN_LABEL" desc="Label for button to retry a step during cellular setup"> Try again
diff --git a/chrome/app/chromeos_strings_grdp/IDS_CELLULAR_SETUP_DONE_LABEL.png.sha1 b/chrome/app/chromeos_strings_grdp/IDS_CELLULAR_SETUP_DONE_LABEL.png.sha1 new file mode 100644 index 0000000..1e8ca00 --- /dev/null +++ b/chrome/app/chromeos_strings_grdp/IDS_CELLULAR_SETUP_DONE_LABEL.png.sha1
@@ -0,0 +1 @@ +921b77a5327d8c2fa511683a0bf60d0cc85dd542 \ No newline at end of file
diff --git a/chrome/app/resources/chromium_strings_ky.xtb b/chrome/app/resources/chromium_strings_ky.xtb index eca839b89..338f044f 100644 --- a/chrome/app/resources/chromium_strings_ky.xtb +++ b/chrome/app/resources/chromium_strings_ky.xtb
@@ -94,7 +94,7 @@ <translation id="4407044323746248786">Баары бир Chromium'дан чыгасызбы?</translation> <translation id="4415566066719264597">Chromium'га фондук режимде иштөөгө уруксат берүү</translation> <translation id="4423735387467980091">Chromium'ду өзгөчөлөштүрүү жана көзөмөлдөө</translation> -<translation id="4544142686420020088">Chromium жаңыртылган жок. Бир жерден ката кетти. <ph name="BEGIN_LINK" />Chrome'догу жаңыртуу маселелерин оңдоңуз.<ph name="END_LINK" /></translation> +<translation id="4544142686420020088">Chromium жаңырган жок. Бир жерден ката кетти. <ph name="BEGIN_LINK" />Chrome'догу жаңыртуу маселелерин оңдоңуз.<ph name="END_LINK" /></translation> <translation id="4567424176335768812"><ph name="USER_EMAIL_ADDRESS" /> катары кирдиңиз. Эми кыстармаларды, таржымалды жана башка жөндөөлөрдү бардык катталган түзмөктөрүңүздөн колдоно аласыз.</translation> <translation id="459535195905078186">Chromium колдонмолору</translation> <translation id="4677944499843243528">Chromium процессинде бул профилди (<ph name="PROCESS_ID" />) башка компьютерде (<ph name="HOST_NAME" />) колдонуп жатат окшойт. Chromium профиль бузулбасын деп кулпулап койду. Бул профиль башка процесстерде колдонулбайт деп ишенсеңиз, профилдин кулпусун ачып, Chromium'ду өчүрүп күйгүзүңүз.</translation>
diff --git a/chrome/app/resources/generated_resources_af.xtb b/chrome/app/resources/generated_resources_af.xtb index 089e9a0..2aeec40 100644 --- a/chrome/app/resources/generated_resources_af.xtb +++ b/chrome/app/resources/generated_resources_af.xtb
@@ -1139,7 +1139,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" /> wil saambind</translation> <translation id="2342740338116612727">Boekmerke is bygevoeg</translation> <translation id="2343747224442182863">Fokus hierdie oortjie</translation> -<translation id="2344686470986284227">Begin tans die virtuele masjien se beheerder</translation> <translation id="2345723121311404059">1 bladsy na <ph name="PRINTER_NAME" /></translation> <translation id="2347644257713614136">Die gebruik van Hangouts en Cast for Education word deur Google se privaatheidsbeleid beheer.</translation> <translation id="2348176352564285430">Program: <ph name="ARC_PROCESS_NAME" /></translation> @@ -2640,7 +2639,7 @@ <translation id="4104163789986725820">Voer uit …</translation> <translation id="4107048419833779140">Identifiseer en maak bergingtoestelle los</translation> <translation id="4109135793348361820">Beweeg venster na <ph name="USER_NAME" /> (<ph name="USER_EMAIL" />)</translation> -<translation id="411031910327788420">Pasmaak onderskrifgrootte en -styl vir programme wat hierdie instelling ondersteun</translation> +<translation id="411031910327788420">Pasmaak onderskrifgrootte en -styl vir programme wat hierdie instelling steun</translation> <translation id="4110490973560452005">Aflaai is voltooi: <ph name="FILE_NAME" />. Druk Shift+F6 om na die aflaaibalk te gaan.</translation> <translation id="4110686435123617899">Kies album <ph name="TITLE" /> <ph name="DESC" /></translation> <translation id="4110895898888439383">Blaai deur die web in hoëkontras-modus</translation>
diff --git a/chrome/app/resources/generated_resources_am.xtb b/chrome/app/resources/generated_resources_am.xtb index 4774fd7..a68cee8 100644 --- a/chrome/app/resources/generated_resources_am.xtb +++ b/chrome/app/resources/generated_resources_am.xtb
@@ -1139,7 +1139,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" /> መጣመር ይፈልጋል</translation> <translation id="2342740338116612727">ዕልባቶች ታክለዋል</translation> <translation id="2343747224442182863">በዚህ ትር ላይ አተኩር</translation> -<translation id="2344686470986284227">ምናባዊ የማሽን ተቆጣጣሪውን በመጀመር ላይ</translation> <translation id="2345723121311404059">1 ገጽ ወደ <ph name="PRINTER_NAME" /></translation> <translation id="2347644257713614136">የHangouts እና Cast for Education አጠቃቀም በGoogle ግላዊነት መመሪያ ነው የሚተዳደሩት።</translation> <translation id="2348176352564285430">መተግበሪያ፦ <ph name="ARC_PROCESS_NAME" /></translation> @@ -1474,6 +1473,7 @@ <translation id="2731700343119398978">እባክዎ ይጠብቁ...</translation> <translation id="2731710757838467317">የእርስዎ ክትትል የሚደረግበት ተጠቃሚ በመፍጠር ላይ። ይሄ ትንሽ ጊዜ ሊወስድ ይችላል።</translation> <translation id="2731971182069536520">መሣሪያዎን ዳግም በሚያስነሱበት ቀጣዩ ጊዜ ላይ አስተዳዳሪዎ አካባቢያዊ ውሂብዎን የሚሰርዝ የአንድ ጊዜ ዝማኔ ያከናውናል።</translation> +<translation id="2732134891301408122">ተጨማሪ ይዘት <ph name="CURRENT_ELEMENT" /> ከ<ph name="TOTAL_ELEMENTS" /></translation> <translation id="2734760316755174687">በ<ph name="SITE_GROUP_NAME" /> ስር ያሉ ጣቢያዎች እንዲሁም ዳግም ይጀመራሉ።</translation> <translation id="2735712963799620190">የጊዜ ሰሌዳ</translation> <translation id="2737363922397526254">ሰብስብ...</translation> @@ -3119,6 +3119,7 @@ <translation id="4735803855089279419">ሥርዓቱ ለዚህ መሣሪያ የመሣሪያ መለያዎችን መወሰን አልቻለም።</translation> <translation id="4736292055110123391">የእርስዎን ዕልባቶች፣ የይለፍ ቃላት፣ ታሪክ እና ተጨማሪ ነገሮች በሁሉም መሣሪያዎችዎ ላይ ያሳምሩ</translation> <translation id="473775607612524610">አዘምን</translation> +<translation id="473936925429402449">ተመርጧል፣ ተጨማሪ ይዘት <ph name="CURRENT_ELEMENT" /> ከ<ph name="TOTAL_ELEMENTS" /></translation> <translation id="4739639199548674512">ቲኬቶች</translation> <translation id="4743260470722568160"><ph name="BEGIN_LINK" />እንዴት መተግበሪያዎችን ማዘመን እንደሚቻል ይረዱ<ph name="END_LINK" /></translation> <translation id="4744981231093950366">{NUM_TABS,plural, =1{የጣቢያን ድምጸ-ከል አንሳ}one{የጣቢያዎችን ድምጸ-ከል አንሳ}other{የጣቢያዎችን ድምጸ-ከል አንሳ}}</translation> @@ -4140,6 +4141,7 @@ <translation id="6011449291337289699">የጣቢያ ውሂብን አጽዳ</translation> <translation id="6015266928248016057">ልክ ያልኾነ PUK። በግራ በኩል ዳግም ይሞክራል፦ <ph name="RETRIES" />።</translation> <translation id="6015796118275082299">ዓመት</translation> +<translation id="6016178549409952427">ወደ ተጨማሪ ይዘት <ph name="CURRENT_ELEMENT" /> ከ<ph name="TOTAL_ELEMENTS" /> ይዳስሱ</translation> <translation id="6016551720757758985">ወደ ቀድሞው ስሪት ከመመለስ ጋር Powerwashን ያረጋግጡ</translation> <translation id="6016972670657536680">የቋንቋ እና የቁልፍ ሰሌዳ አዝራርን ይምረጡ። አሁን የተመረጠው ቋንቋ <ph name="LANGUAGE" /> ነው።</translation> <translation id="6017514345406065928">አረንጓዴ</translation> @@ -6450,6 +6452,7 @@ <translation id="8811862054141704416">የCrostini ማይክሮፎን መዳረሻ</translation> <translation id="8812552797690463522">ይህ አውታረ መረብ ለእርስዎ ተጋርቷል።</translation> <translation id="8812593354822910461">እርስዎን ከ<ph name="DOMAIN" /> ሊያስወጣዎት የሚችለውን የአሰሳ ውሂብ (<ph name="URL" />) በተጨማሪ ያጽዱ። <ph name="LEARN_MORE" /></translation> +<translation id="8813277370772331957">ቆይተህ አስታውሰኝ</translation> <translation id="8813698869395535039">ወደ <ph name="USERNAME" /> መግባት አልተቻለም</translation> <translation id="8813872945700551674">አንድ ወላጅ «<ph name="EXTENSION_NAME" />»ን እንዲያጸድቅ ያድርጉ</translation> <translation id="8813969267212093033">የሥርዓት ጽሑፍ በዚህ ቋንቋ ይታያል</translation> @@ -6480,6 +6483,7 @@ <translation id="8838601485495657486">ብርሃን-ከል</translation> <translation id="8838770651474809439">ሃምበርገር</translation> <translation id="883911313571074303">ምስልን አብራራ</translation> +<translation id="8841843049738266382">በተፈቀደላቸው ዝርዝር ውስጥ ያሉ ተጠቃሚዎችን ማንበብ እና መቀየር</translation> <translation id="8842594465773264717">ይህን የጣት አሻራ ይሰርዙ</translation> <translation id="8845001906332463065">እገዛ ያግኙ</translation> <translation id="8846132060409673887">የዚህ ኮምፒውተር አምራችና ሞዴል ማንበብ</translation>
diff --git a/chrome/app/resources/generated_resources_ar.xtb b/chrome/app/resources/generated_resources_ar.xtb index c6c6921..3da8aed 100644 --- a/chrome/app/resources/generated_resources_ar.xtb +++ b/chrome/app/resources/generated_resources_ar.xtb
@@ -300,7 +300,7 @@ <translation id="1338950911836659113">جارٍ الحذف...</translation> <translation id="13392265090583506">إمكانية الوصول</translation> <translation id="1340527397989195812">احتفظ بنسخة احتياطية للوسائط من الجهاز باستخدام تطبيق Files.</translation> -<translation id="1341988552785875222">يتم تعيين الخلفية الحالية من قبل '<ph name="APP_NAME" />'. قد يلزمك إلغاء تثبيت '<ph name="APP_NAME" />' قبل تحديد خلفية مختلفة.</translation> +<translation id="1341988552785875222">يتم ضبط الخلفية الحالية من قبل '<ph name="APP_NAME" />'. قد يلزمك إلغاء تثبيت '<ph name="APP_NAME" />' قبل تحديد خلفية مختلفة.</translation> <translation id="1343865611738742294">يمنح Linux أذونات التطبيق للوصول إلى أجهزة USB. لن يتذكر Linux جهاز USB بعد إزالته.</translation> <translation id="1347256498747320987">يمكنك تثبيت التحديثات والتطبيقات. وبالمتابعة، أنت توافق على تنزيل هذا الجهاز للتحديثات والتطبيقات وتثبيتها تلقائيًا من Google ومشغِّل شبكة الجوَّال والشركة المصنِّعة للجهاز، وأنّ ذلك قد يتم باستخدام بيانات شبكة الجوَّال. وقد توفّر بعض هذه التطبيقات ميزة الشراء داخل التطبيق. <ph name="BEGIN_LINK1" />مزيد من المعلومات<ph name="END_LINK1" /></translation> <translation id="1347975661240122359">سيبدأ التحديث عندما يصل مستوى البطارية إلى <ph name="BATTERY_LEVEL" />%.</translation> @@ -1139,7 +1139,6 @@ <translation id="2340263603246777781">يريد <ph name="ORIGIN" /> الاقتران</translation> <translation id="2342740338116612727">تمت إضافة الإشارات المرجعية</translation> <translation id="2343747224442182863">التركيز على علامة التبويب هذه</translation> -<translation id="2344686470986284227">جارٍ بدء تشغيل وحدة تحكُّم الآلة الافتراضية</translation> <translation id="2345723121311404059">صفحة واحدة على <ph name="PRINTER_NAME" /></translation> <translation id="2347644257713614136">يخضع استخدام Hangouts وCast for Education لسياسة خصوصية Google.</translation> <translation id="2348176352564285430">التطبيق: <ph name="ARC_PROCESS_NAME" /></translation> @@ -1475,6 +1474,7 @@ <translation id="2731700343119398978">يرجى الانتظار...</translation> <translation id="2731710757838467317">يُمكنك إنشاء مستخدم يخضع للإدارة. قد يستغرق هذا الأمر بعض الوقت.</translation> <translation id="2731971182069536520">في المرة القادمة التي يتم فيها إعادة تشغيل الجهاز، سيُجري مشرفك تحديثًا لمرة واحدة، ما سيؤدي إلى حذف البيانات المحلية.</translation> +<translation id="2732134891301408122">المحتوى الإضافي <ph name="CURRENT_ELEMENT" /> من أصل <ph name="TOTAL_ELEMENTS" /></translation> <translation id="2734760316755174687">سيتم أيضًا إعادة ضبط المواقع الإلكترونية ضمن <ph name="SITE_GROUP_NAME" />.</translation> <translation id="2735712963799620190">الجدول الزمني</translation> <translation id="2737363922397526254">تصغير...</translation> @@ -2836,7 +2836,7 @@ <translation id="4390000551125140321">{0,plural, =1{نافذة واحدة للتصفّح المتخفي}zero{ما من نوافذ مفتوحة للتصفّح المتخفي}two{نافذتان مفتوحان للتصفّح المتخفي}few{# نوافذ مفتوحة للتصفّح المتخفي}many{# نافذةً مفتوحةً للتصفّح المتخفي}other{# نافذة مفتوحة للتصفّح المتخفي}}</translation> <translation id="439266289085815679">يتم التحكّم في إعداد البلوتوث من قِبل <ph name="USER_EMAIL" />.</translation> <translation id="4392896746540753732">تعديل ملف الضبط</translation> -<translation id="4393691030048716353">أوقف <ph name="DOMAIN" /> تفعيل خيار "تصحيح الأخطاء عبر ADB". بعد إعادة تشغيل جهاز <ph name="DEVICE_TYPE" />، لن تتمكّن من تثبيت تطبيقات من مصادر غير معروفة.</translation> +<translation id="4393691030048716353">أوقف <ph name="DOMAIN" /> إعداد "تصحيح الأخطاء عبر ADB". بعد إعادة تشغيل جهاز <ph name="DEVICE_TYPE" />، لن تتمكّن من تثبيت تطبيقات من مصادر غير معروفة.</translation> <translation id="4394049700291259645">إيقاف</translation> <translation id="439817266247065935">لم يتم إيقاف تشغيل جهازك بالشكل الملائم. أعِد تشغيل نظام التشغيل Linux لاستخدام تطبيقاته.</translation> <translation id="4400367121200150367">ستظهر هنا المواقع الإلكترونية التي لا يتم حفظ كلمات المرور لها مطلقًا</translation> @@ -3119,6 +3119,7 @@ <translation id="4735803855089279419">تعذَّر على النظام تحديد معرِّفات هذا الجهاز.</translation> <translation id="4736292055110123391">مزامنة الإشارات المرجعية وكلمات المرور والسجلّ وغيرها على جميع أجهزتك</translation> <translation id="473775607612524610">تحديث</translation> +<translation id="473936925429402449">تم الاختيار، المحتوى الإضافي <ph name="CURRENT_ELEMENT" /> من أصل <ph name="TOTAL_ELEMENTS" />.</translation> <translation id="4739639199548674512">التذاكر</translation> <translation id="4743260470722568160"><ph name="BEGIN_LINK" />التعرّف على كيفية تحديث التطبيقات<ph name="END_LINK" /></translation> <translation id="4744981231093950366">{NUM_TABS,plural, =1{إعادة صوت موقع إلكتروني واحد}zero{إعادة صوت المواقع الإلكترونية}two{إعادة صوت موقعيِّ الويب}few{إعادة صوت المواقع الإلكترونية}many{إعادة صوت المواقع الإلكترونية}other{إعادة صوت المواقع الإلكترونية}}</translation> @@ -3132,7 +3133,7 @@ <translation id="4759238208242260848">الملفات التي تم تنزيلها</translation> <translation id="4761104368405085019">استخدام الميكروفون</translation> <translation id="4762718786438001384">مساحة القرص على الجهاز منخفضة للغاية</translation> -<translation id="4763408175235639573">تم تعيين ملفات تعريف الارتباط التالية عند عرض هذه الصفحة</translation> +<translation id="4763408175235639573">تم ضبط ملفات تعريف الارتباط التالية عند عرض هذه الصفحة</translation> <translation id="4765582662863429759">للسماح لتطبيق "رسائل Android" بترحيل الرسائل النصية من هاتفك إلى جهاز Chromebook</translation> <translation id="4768332406694066911">لديك شهادات تحدد هويتك من هذه المؤسسات</translation> <translation id="477647109558161443">إنشاء اختصار على سطح المكتب</translation> @@ -4141,6 +4142,7 @@ <translation id="6011449291337289699">محو بيانات الموقع</translation> <translation id="6015266928248016057">PUK غير صحيح. مرات إعادة المحاولة المتبقية: <ph name="RETRIES" /></translation> <translation id="6015796118275082299">عام</translation> +<translation id="6016178549409952427">الانتقال إلى المحتوى الإضافي <ph name="CURRENT_ELEMENT" /> من أصل <ph name="TOTAL_ELEMENTS" /></translation> <translation id="6016551720757758985">تأكيد Powerwash بالعودة إلى الإصدار السابق</translation> <translation id="6016972670657536680">اختَر اللغة وزر لوحة المفاتيح. اللغة المحددة حاليًا هي <ph name="LANGUAGE" />.</translation> <translation id="6017514345406065928">أخضر</translation> @@ -4971,7 +4973,7 @@ <translation id="7017354871202642555">لا يمكن تعيين الوضع بعد تعيين النافذة.</translation> <translation id="7018275672629230621">الاطّلاع على سجل التصفح وتغييره</translation> <translation id="7019805045859631636">سريع</translation> -<translation id="7022562585984256452">تم تعيين صفحتك الرئيسية.</translation> +<translation id="7022562585984256452">تم ضبط صفحتك الرئيسية.</translation> <translation id="7025082428878635038">تقديم طريقة جديدة للتنقّل باستخدام الإيماءات</translation> <translation id="7025190659207909717">إدارة خدمة بيانات الجوال</translation> <translation id="7029307918966275733">نظام التشغيل Crostini غير مثبّت. يُرجى تثبيت نظام التشغيل Crostini لعرض أسماء المساهمين.</translation> @@ -5593,7 +5595,7 @@ <translation id="7793098747275782155">أزرق داكن</translation> <translation id="7797571222998226653">غير مفعّل</translation> <translation id="7798844538707273832">تم حظر إذن <ph name="PERMISSION" /> تلقائيًا.</translation> -<translation id="7799299114731150374">تم تعيين الخلفية بنجاح</translation> +<translation id="7799299114731150374">تم ضبط الخلفية بنجاح</translation> <translation id="7800518121066352902">تدوير ع&كس اتجاه عقارب الساعة</translation> <translation id="780301667611848630">لا، شكرًا</translation> <translation id="7805768142964895445">الحالة</translation> @@ -6161,7 +6163,7 @@ <translation id="8467326454809944210">اختيار لغة أخرى</translation> <translation id="8470214316007448308">مستخدمون آخرون</translation> <translation id="8470513973197838199">كلمات المرور المحفوظة لـ <ph name="ORIGIN" /></translation> -<translation id="8471256130228705232">أوقف <ph name="DOMAIN" /> تفعيل خيار "تصحيح الأخطاء عبر ADB"، وسيؤدي هذا إلى إعادة ضبط جهاز <ph name="DEVICE_TYPE" /> خلال 24 ساعة. يُرجى الاحتفاظ بنسخة احتياطية من كل الملفات التي تريدها.</translation> +<translation id="8471256130228705232">أوقف <ph name="DOMAIN" /> إعداد "تصحيح الأخطاء عبر ADB"، وسيؤدي هذا إلى إعادة ضبط جهاز <ph name="DEVICE_TYPE" /> خلال 24 ساعة. يُرجى الاحتفاظ بنسخة احتياطية من كل الملفات التي تريدها.</translation> <translation id="8472623782143987204">يستند إلى الجهاز</translation> <translation id="8473863474539038330">العناوين والمزيد</translation> <translation id="8475313423285172237">أضاف برنامج آخر بجهاز الكمبيوتر إضافة قد تؤدي إلى تغيير طريقة عمل Chrome.</translation> @@ -6448,6 +6450,7 @@ <translation id="8811862054141704416">الوصول إلى ميكروفون نظام التشغيل Crostini</translation> <translation id="8812552797690463522">تتم مشاركة هذه الشبكة معك.</translation> <translation id="8812593354822910461">سيؤدي محو بيانات تصفّح (<ph name="URL" />) أيضًا إلى تسجيل خروجك من <ph name="DOMAIN" />. <ph name="LEARN_MORE" /></translation> +<translation id="8813277370772331957">تذكيري لاحقًا</translation> <translation id="8813698869395535039">يتعذر تسجيل الدخول إلى <ph name="USERNAME" /></translation> <translation id="8813872945700551674">عليك الحصول على موافقة أحد الوالدَين على "<ph name="EXTENSION_NAME" />".</translation> <translation id="8813969267212093033">يتم عرض نص النظام بهذه اللغة.</translation> @@ -6478,6 +6481,7 @@ <translation id="8838601485495657486">معتم</translation> <translation id="8838770651474809439">هامبورجر</translation> <translation id="883911313571074303">إضافة تعليق توضيحي على الصورة</translation> +<translation id="8841843049738266382">قراءة قائمة المستخدمين المسموح بهم وتغييرها</translation> <translation id="8842594465773264717">حذف بصمة الإصبع هذه</translation> <translation id="8845001906332463065">الحصول على مساعدة</translation> <translation id="8846132060409673887">قراءة نموذج هذا الكمبيوتر والشركة المصنِّعة</translation>
diff --git a/chrome/app/resources/generated_resources_as.xtb b/chrome/app/resources/generated_resources_as.xtb index fa6a2e9..01aa207f 100644 --- a/chrome/app/resources/generated_resources_as.xtb +++ b/chrome/app/resources/generated_resources_as.xtb
@@ -1136,7 +1136,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" />এ যোৰা লাগিব খোজে</translation> <translation id="2342740338116612727">বুকমাৰ্ক যোগ কৰা হ’ল</translation> <translation id="2343747224442182863">এই টেবটোত ফ'কাছ কৰক</translation> -<translation id="2344686470986284227">ভাৰ্ছুৱেল মেচিনটোৰ নিয়ন্ত্ৰক আৰম্ভ কৰি থকা হৈছে</translation> <translation id="2345723121311404059"><ph name="PRINTER_NAME" />লৈ ১ পৃষ্ঠা</translation> <translation id="2347644257713614136">Hangouts আৰু শিক্ষাৰ বাবে কাষ্ট কৰা সুবিধাটোৰ ব্যৱহাৰ Googleৰ গোপনীয়তা নীতিয়ে পৰিচালনা কৰে।</translation> <translation id="2348176352564285430">এপ্: <ph name="ARC_PROCESS_NAME" /></translation>
diff --git a/chrome/app/resources/generated_resources_az.xtb b/chrome/app/resources/generated_resources_az.xtb index 0f90104..2cc7538 100644 --- a/chrome/app/resources/generated_resources_az.xtb +++ b/chrome/app/resources/generated_resources_az.xtb
@@ -1135,7 +1135,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" /> ütləndirmək istəyir</translation> <translation id="2342740338116612727">Əlfəcinlər əlavə edildi</translation> <translation id="2343747224442182863">Bu Tabı Mərkəzə Gətirin</translation> -<translation id="2344686470986284227">Virtual cihaz nizamlayıcısı başladılır</translation> <translation id="2345723121311404059"><ph name="PRINTER_NAME" /> üçün 1 səhifə</translation> <translation id="2347644257713614136">Hangouts və Təhsil üçün Yayımının istifadəsi Google Məxfilik Siyasəti ilə tənzimlənir.</translation> <translation id="2348176352564285430">Tətbiq: <ph name="ARC_PROCESS_NAME" /></translation> @@ -1470,6 +1469,7 @@ <translation id="2731700343119398978">Gözləyin...</translation> <translation id="2731710757838467317">Nəzarət edilən istifadəçi yaradılır.</translation> <translation id="2731971182069536520">Növbəti dəfə cihazı yenidən başlatdığınız zaman administrator birdəfəlik güncəlləmə yerinə yetirəcək. Bu, lokal datanızı siləcək.</translation> +<translation id="2732134891301408122"><ph name="CURRENT_ELEMENT" />/<ph name="TOTAL_ELEMENTS" /> əlavə məzmun</translation> <translation id="2734760316755174687"><ph name="SITE_GROUP_NAME" /> ünvanındakı saytlar da sıfırlanacaq.</translation> <translation id="2735712963799620190">Cədvəl</translation> <translation id="2737363922397526254">Yığcamlaşdırın...</translation> @@ -3115,6 +3115,7 @@ <translation id="4735803855089279419">Sistem bu cihazda cihaz identifikatorları aşkarlamadı.</translation> <translation id="4736292055110123391">Bütün cihazlardakı əlfəcin, parol, tarixçə və daha çoxunu sinxronizasiya edin</translation> <translation id="473775607612524610">Güncəlləşdirin</translation> +<translation id="473936925429402449"><ph name="CURRENT_ELEMENT" />/<ph name="TOTAL_ELEMENTS" /> əlavə məzmun seçilib</translation> <translation id="4739639199548674512">Biletlər</translation> <translation id="4743260470722568160"><ph name="BEGIN_LINK" />Tətbiqləri necə güncəlləmək lazım olduğunu öyrənin<ph name="END_LINK" /></translation> <translation id="4744981231093950366">{NUM_TABS,plural, =1{Saytı səssiz rejimdən çıxarın}other{Saytları səssiz rejimdən çıxarın}}</translation> @@ -4134,6 +4135,7 @@ <translation id="6011449291337289699">Sayt datasını təmizləyin</translation> <translation id="6015266928248016057">Yanlış PUK. <ph name="RETRIES" /> cəhdiniz qaldı.</translation> <translation id="6015796118275082299">İl</translation> +<translation id="6016178549409952427"><ph name="CURRENT_ELEMENT" />/<ph name="TOTAL_ELEMENTS" /> əlavə məzmuna keçin</translation> <translation id="6016551720757758985">Öncəki versiyaya qayıtmaq üçün fabrik sıfırlaması edin</translation> <translation id="6016972670657536680">Dil və klaviatura düyməsini seçin. Hazırda <ph name="LANGUAGE" /> dili seçilib.</translation> <translation id="6017514345406065928">Yaşıl</translation> @@ -6436,6 +6438,7 @@ <translation id="8811862054141704416">Crostini mikrofona girişi</translation> <translation id="8812552797690463522">Bu şəbəkə sizinlə paylaşılır.</translation> <translation id="8812593354822910461">Həmçinin baxış datasını (<ph name="URL" />) silin, bunun nəticəsində <ph name="DOMAIN" /> ünvanından çıxacaqsınız. <ph name="LEARN_MORE" /></translation> +<translation id="8813277370772331957">Sonra xatırladın</translation> <translation id="8813698869395535039"><ph name="USERNAME" /> istifadəçi adına daxil ola bilməz</translation> <translation id="8813872945700551674">"<ph name="EXTENSION_NAME" />" təsdiq etməsi üçün valideyninizə müraciət edin</translation> <translation id="8813969267212093033">Sistem mətni bu dildə göstərilir</translation> @@ -6466,6 +6469,7 @@ <translation id="8838601485495657486">Qeyri-şəffaf</translation> <translation id="8838770651474809439">Hamburger</translation> <translation id="883911313571074303">Şəklə qeydlər edin</translation> +<translation id="8841843049738266382">İcazə verilənlər siyahısında olan istifadəçiləri oxuyun və dəyişin</translation> <translation id="8842594465773264717">Bu barmaq izini silin</translation> <translation id="8845001906332463065">Yardım alın</translation> <translation id="8846132060409673887">Bu kompüterin istehsalçı və modelini oxuyun</translation>
diff --git a/chrome/app/resources/generated_resources_be.xtb b/chrome/app/resources/generated_resources_be.xtb index fd4679e..2470124 100644 --- a/chrome/app/resources/generated_resources_be.xtb +++ b/chrome/app/resources/generated_resources_be.xtb
@@ -1139,7 +1139,6 @@ <translation id="2340263603246777781">Сайт <ph name="ORIGIN" /> запытвае спалучэнне</translation> <translation id="2342740338116612727">Закладкі дададзены</translation> <translation id="2343747224442182863">Перайсці на гэту ўкладку</translation> -<translation id="2344686470986284227">Ідзе запуск кантролера віртуальнай машыны</translation> <translation id="2345723121311404059">1 старонка – на прынтар "<ph name="PRINTER_NAME" />"</translation> <translation id="2347644257713614136">Выкарыстанне Hangouts і Cast for Education рэгулюецца Палітыкай прыватнасці Google.</translation> <translation id="2348176352564285430">Праграма: <ph name="ARC_PROCESS_NAME" /></translation> @@ -1475,6 +1474,7 @@ <translation id="2731700343119398978">Пачакайце...</translation> <translation id="2731710757838467317">Стварэнне падкантрольнага карыстальніка. Гэта можа заняць крыху часу.</translation> <translation id="2731971182069536520">Пры наступным перазапуску прылады адміністратар выканае разавае абнаўленне, пры якім выдаляцца вашы лакальныя даныя.</translation> +<translation id="2732134891301408122">Дадатковае змесціва: <ph name="CURRENT_ELEMENT" /> з <ph name="TOTAL_ELEMENTS" /></translation> <translation id="2734760316755174687">Сайты ў межах <ph name="SITE_GROUP_NAME" /> таксама будуць скінуты.</translation> <translation id="2735712963799620190">Расклад</translation> <translation id="2737363922397526254">Згарнуць...</translation> @@ -3122,6 +3122,7 @@ <translation id="4735803855089279419">Сістэма не змагла вызначыць ідэнтыфікатары прылад для гэтай прылады.</translation> <translation id="4736292055110123391">Сінхранізацыя закладак, пароляў, гісторыі і іншага на ўсіх вашых прыладах</translation> <translation id="473775607612524610">Абнавіць</translation> +<translation id="473936925429402449">Выбрана, дадатковае змесціва: <ph name="CURRENT_ELEMENT" /> з <ph name="TOTAL_ELEMENTS" /></translation> <translation id="4739639199548674512">Білеты</translation> <translation id="4743260470722568160"><ph name="BEGIN_LINK" />Даведайцеся, як абнаўляць праграмы<ph name="END_LINK" /></translation> <translation id="4744981231093950366">{NUM_TABS,plural, =1{Уключыць гук на сайце}one{Уключыць гук на сайтах}few{Уключыць гук на сайтах}many{Уключыць гук на сайтах}other{Уключыць гук на сайтах}}</translation> @@ -4143,6 +4144,7 @@ <translation id="6011449291337289699">Выдаленне даных сайта</translation> <translation id="6015266928248016057">Няправільны PUK-код. Засталося спроб: <ph name="RETRIES" />.</translation> <translation id="6015796118275082299">Год</translation> +<translation id="6016178549409952427">Перайсці да дадатковага змесціва: <ph name="CURRENT_ELEMENT" /> з <ph name="TOTAL_ELEMENTS" /></translation> <translation id="6016551720757758985">Пацвердзіце Powerwash з вяртаннем да папярэдняй версіі</translation> <translation id="6016972670657536680">Кнопка выбару мовы і рэгіёна. Зараз выбрана наступная мова: <ph name="LANGUAGE" />.</translation> <translation id="6017514345406065928">Зялёны</translation> @@ -6448,6 +6450,7 @@ <translation id="8811862054141704416">Доступ да мікрафона ў Crostini</translation> <translation id="8812552797690463522">Гэта сетка абагулена з вамі.</translation> <translation id="8812593354822910461">Таксама выдаліць гісторыю праглядаў сайта (<ph name="URL" />), што можа прывесці да выхаду з уліковага запісу на дамене <ph name="DOMAIN" />. <ph name="LEARN_MORE" /></translation> +<translation id="8813277370772331957">Нагадаць пазней</translation> <translation id="8813698869395535039">Не ўдаецца ўвайсці ва ўліковы запіс <ph name="USERNAME" /></translation> <translation id="8813872945700551674">Для ўхвалення пашырэння "<ph name="EXTENSION_NAME" />" звярніцеся да бацькоў.</translation> <translation id="8813969267212093033">Тэкст сістэмы паказаны на гэтай мове</translation> @@ -6478,6 +6481,7 @@ <translation id="8838601485495657486">Непразрыста</translation> <translation id="8838770651474809439">Гамбургер</translation> <translation id="883911313571074303">Дадаць анатацыю да відарыса</translation> +<translation id="8841843049738266382">Чытанне і змяненне даных карыстальнікаў з белага спіса</translation> <translation id="8842594465773264717">Выдаліць гэты адбітак пальца</translation> <translation id="8845001906332463065">Атрымаць даведку</translation> <translation id="8846132060409673887">Чытаць даныя пра вытворцу і мадэль гэтага камп'ютара</translation>
diff --git a/chrome/app/resources/generated_resources_bg.xtb b/chrome/app/resources/generated_resources_bg.xtb index ac5642a..e826c9f 100644 --- a/chrome/app/resources/generated_resources_bg.xtb +++ b/chrome/app/resources/generated_resources_bg.xtb
@@ -1136,7 +1136,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" /> иска да се сдвои</translation> <translation id="2342740338116612727">Отметките бяха добавени</translation> <translation id="2343747224442182863">Фокус върху този раздел</translation> -<translation id="2344686470986284227">Контролерът за виртуалната машина стартира</translation> <translation id="2345723121311404059">1 страница до „<ph name="PRINTER_NAME" />“</translation> <translation id="2347644257713614136">Използването на Hangouts и Cast for Education се урежда от Декларацията за поверителност на Google.</translation> <translation id="2348176352564285430">Приложение: <ph name="ARC_PROCESS_NAME" /></translation> @@ -1472,6 +1471,7 @@ <translation id="2731700343119398978">Моля, изчакайте...</translation> <translation id="2731710757838467317">Контролираният потребител се създава. Това може да отнеме малко време.</translation> <translation id="2731971182069536520">При следващото рестартиране на устройството администраторът ви ще извърши еднократна актуализация, при която ще бъдат изтрити локалните ви данни.</translation> +<translation id="2732134891301408122">Допълнително съдържание <ph name="CURRENT_ELEMENT" /> от <ph name="TOTAL_ELEMENTS" /></translation> <translation id="2734760316755174687">Разрешенията за сайтовете от „<ph name="SITE_GROUP_NAME" />“ също ще бъдат нулирани.</translation> <translation id="2735712963799620190">График</translation> <translation id="2737363922397526254">Свиване...</translation> @@ -3121,6 +3121,7 @@ <translation id="4735803855089279419">Системата не успя да определи идентификаторите за това устройство.</translation> <translation id="4736292055110123391">Синхронизиране на вашите отметки, пароли, история и др. на всичките ви устройства</translation> <translation id="473775607612524610">Актуализиране</translation> +<translation id="473936925429402449">Избрано. Допълнително съдържание <ph name="CURRENT_ELEMENT" /> от <ph name="TOTAL_ELEMENTS" /></translation> <translation id="4739639199548674512">Пропуски</translation> <translation id="4743260470722568160"><ph name="BEGIN_LINK" />Научете как да актуализирате приложения<ph name="END_LINK" /></translation> <translation id="4744981231093950366">{NUM_TABS,plural, =1{Включване отново на звука на сайта}other{Включване отново на звука на сайтовете}}</translation> @@ -4143,6 +4144,7 @@ <translation id="6011449291337289699">Изчистване на данните за сайтовете</translation> <translation id="6015266928248016057">Невалиден PUK код. Оставащи опити: <ph name="RETRIES" />.</translation> <translation id="6015796118275082299">Година</translation> +<translation id="6016178549409952427">Преминаване към допълнително съдържание <ph name="CURRENT_ELEMENT" /> от <ph name="TOTAL_ELEMENTS" /></translation> <translation id="6016551720757758985">Потвърждаване на извършването на Powerwash и връщането към предишната версия</translation> <translation id="6016972670657536680">Бутон за избиране на език и клавиатура. Понастоящем езикът е <ph name="LANGUAGE" />.</translation> <translation id="6017514345406065928">зелено</translation> @@ -6449,6 +6451,7 @@ <translation id="8811862054141704416">Достъп на Crostini до микрофона</translation> <translation id="8812552797690463522">Тази мрежа е споделена с вас.</translation> <translation id="8812593354822910461">Също така изчистване на данните за сърфирането (<ph name="URL" />), при което ще бъде прекратена сесията ви в(ъв) <ph name="DOMAIN" />. <ph name="LEARN_MORE" /></translation> +<translation id="8813277370772331957">Напомняне по-късно</translation> <translation id="8813698869395535039">Не мога да вляза в профила <ph name="USERNAME" /></translation> <translation id="8813872945700551674">Помолете някой от родителите си да одобри „<ph name="EXTENSION_NAME" />“</translation> <translation id="8813969267212093033">Системният текст се показва на този език</translation> @@ -6479,6 +6482,7 @@ <translation id="8838601485495657486">Непрозрачно</translation> <translation id="8838770651474809439">Хамбургер</translation> <translation id="883911313571074303">Добавяне на пояснение към изображението</translation> +<translation id="8841843049738266382">Четене и промяна на потребителите в списъка на разрешени такива</translation> <translation id="8842594465773264717">Изтриване на отпечатъка</translation> <translation id="8845001906332463065">Получете помощ</translation> <translation id="8846132060409673887">Четене на производителя и модела на този компютър</translation>
diff --git a/chrome/app/resources/generated_resources_bn.xtb b/chrome/app/resources/generated_resources_bn.xtb index 1e3fc6b..cefe57a 100644 --- a/chrome/app/resources/generated_resources_bn.xtb +++ b/chrome/app/resources/generated_resources_bn.xtb
@@ -1139,7 +1139,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" /> এদের সঙ্গে যুক্ত হতে চাচ্ছে</translation> <translation id="2342740338116612727">বুকমার্ক যোগ করা হয়েছে</translation> <translation id="2343747224442182863">এই ট্যাবে ফোকাস করুন</translation> -<translation id="2344686470986284227">ভার্চুয়াল মেশিন কন্ট্রোলার শুরু করা হচ্ছে</translation> <translation id="2345723121311404059"><ph name="PRINTER_NAME" /> এ ১ পাতা</translation> <translation id="2347644257713614136">Hangouts এবং শিক্ষার জন্য Cast-এর ব্যবহার Google-এর গোপনীয়তা নীতি দ্বারা পরিচালিত হয়।</translation> <translation id="2348176352564285430">অ্যাপ্লিকেশান: <ph name="ARC_PROCESS_NAME" /></translation> @@ -1474,6 +1473,7 @@ <translation id="2731700343119398978">অনুগ্রহ করে অপেক্ষা করুন...</translation> <translation id="2731710757838467317">আপনার তত্বাবধানে থাকা ব্যবহারকারী তৈরি করা হচ্ছে৷ এটি কয়েক মিনিট সময় নিতে পারে৷</translation> <translation id="2731971182069536520">ডিভাইস পরের বার চালানোর সময়, আপনার অ্যাডমিনিস্ট্রেটর এককালীন আপডেট করবেন যার ফলে আপনার স্থানীয় ডেটা মুছে যাবে।</translation> +<translation id="2732134891301408122">অতিরিক্ত কন্টেন্ট থাকা মোট <ph name="TOTAL_ELEMENTS" />টি এলিমেন্টের মধ্যে <ph name="CURRENT_ELEMENT" /> নম্বর এলিমেন্ট</translation> <translation id="2734760316755174687"><ph name="SITE_GROUP_NAME" />-এর অধীনে থাকা সাইটগুলিও রিসেট করা হবে।</translation> <translation id="2735712963799620190">সময়সূচি</translation> <translation id="2737363922397526254">আড়াল করুন...</translation> @@ -3120,6 +3120,7 @@ <translation id="4735803855089279419">সিস্টেমটি এই ডিভাইসের জন্য ডিভাইস শনাক্তকারী নির্ধারণ করতে পারেনি।</translation> <translation id="4736292055110123391">আপনার সমস্ত ডিভাইসে বুকমার্ক, পাসওয়ার্ড, ইতিহাস এবং আরও অনেক কিছু সিঙ্ক করুন</translation> <translation id="473775607612524610">আপডেট করুন</translation> +<translation id="473936925429402449">বেছে নেওয়া ও অতিরিক্ত কন্টেন্ট থাকা মোট <ph name="TOTAL_ELEMENTS" />টি এলিমেন্টের মধ্যে <ph name="CURRENT_ELEMENT" /> নম্বর এলিমেন্ট</translation> <translation id="4739639199548674512">টিকিট</translation> <translation id="4743260470722568160"><ph name="BEGIN_LINK" />অ্যাপ্লিকেশন কীভাবে আপডেট করতে হয় তা জানুন<ph name="END_LINK" /></translation> <translation id="4744981231093950366">{NUM_TABS,plural, =1{সাইট আনমিউট করুন}one{সাইট আনমিউট করুন}other{সাইট আনমিউট করুন}}</translation> @@ -3527,7 +3528,7 @@ <translation id="5265797726250773323">ইনস্টল করার সময় সমস্যা</translation> <translation id="5266113311903163739">শংসাকরণ কর্তৃপক্ষ আমদানি ত্রুটি</translation> <translation id="5269977353971873915">প্রিন্ট করা যায়নি</translation> -<translation id="5274738462757057090">এই ফিচারের সাহায্যে মিডিয়ার জন্য Chrome browser-এ অটোমেটিক ক্যাপশন তৈরি করতে পারবেন (বর্তমানে কেবলমাত্র ইংরেজিতে উপলভ্য)</translation> +<translation id="5274738462757057090">এই ফিচারের সাহায্যে Chrome ব্রাউজারে চলা মিডিয়ার ক্ষেত্রে অটোমেটিক ক্যাপশন তৈরি হয় (বর্তমানে কেবলমাত্র ইংরেজিতে উপলভ্য)</translation> <translation id="5275352920323889391">কুকুর</translation> <translation id="527605982717517565">সর্বদা <ph name="HOST" />-এ জাভাস্ক্রিপ্ট মঞ্জুর করুন</translation> <translation id="5278823018825269962">স্ট্যাটাস আইডি</translation> @@ -4142,6 +4143,7 @@ <translation id="6011449291337289699">সাইট ডেটা সাফ করুন</translation> <translation id="6015266928248016057">ভুল PUK লেখা হয়েছে। আপনি আর <ph name="RETRIES" /> বার চেষ্টা করতে পারবেন।</translation> <translation id="6015796118275082299">বছর</translation> +<translation id="6016178549409952427">অতিরিক্ত কন্টেন্ট থাকা মোট <ph name="TOTAL_ELEMENTS" />টি এলিমেন্টের মধ্যে <ph name="CURRENT_ELEMENT" /> নম্বর এলিমেন্টে যান</translation> <translation id="6016551720757758985">পূর্ববর্তী সংস্করণে ফিরে যাওয়া সহ পাওয়ারওয়াশ নিশ্চিত করুন</translation> <translation id="6016972670657536680">ভাষা এবং কীবোর্ড বোতাম বেছে নিন। বর্তমানে নির্বাচিত ভাষা হলো <ph name="LANGUAGE" />।</translation> <translation id="6017514345406065928">সবুজ</translation> @@ -6447,6 +6449,7 @@ <translation id="8811862054141704416">Crostini-তে মাইক্রোফোনের অ্যাক্সেস</translation> <translation id="8812552797690463522">নেটওয়ার্কটি আপনার সাথে শেয়ার করা হয়েছে।</translation> <translation id="8812593354822910461">এছাড়াও ব্রাউজিং ডেটা (<ph name="URL" />) মুছে দিলে আপনি <ph name="DOMAIN" /> থেকে সাইন-আউট হয়ে যাবেন। <ph name="LEARN_MORE" /></translation> +<translation id="8813277370772331957">আমাকে পরে মনে করানো হোক</translation> <translation id="8813698869395535039"><ph name="USERNAME" />এ সাইন-ইন করা যাচ্ছে না</translation> <translation id="8813872945700551674">"<ph name="EXTENSION_NAME" />"-এ অনুমোদনের জন্য একজন অভিভাবককে যোগ করুন</translation> <translation id="8813969267212093033">এই ভাষায় সিস্টেম টেক্সট দেখানো হয়</translation> @@ -6477,6 +6480,7 @@ <translation id="8838601485495657486">অস্বচ্ছ</translation> <translation id="8838770651474809439">হ্যামবার্গার</translation> <translation id="883911313571074303">ছবি ব্যাখ্যা করুন</translation> +<translation id="8841843049738266382">সাদা তালিকাভুক্ত ব্যবহারকারীদের তালিকা পড়ুন ও পরিবর্তন করুন</translation> <translation id="8842594465773264717">এই ফিঙ্গারপ্রিন্ট মুছুন</translation> <translation id="8845001906332463065">সাহায্য পান</translation> <translation id="8846132060409673887">এই কম্পিউটারের প্রস্তুতকারক এবং মডেলটি পড়ুন</translation>
diff --git a/chrome/app/resources/generated_resources_bs.xtb b/chrome/app/resources/generated_resources_bs.xtb index 6b738bf9..1cfb07b 100644 --- a/chrome/app/resources/generated_resources_bs.xtb +++ b/chrome/app/resources/generated_resources_bs.xtb
@@ -1139,7 +1139,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" /> se želi upariti</translation> <translation id="2342740338116612727">Dodana je oznaka</translation> <translation id="2343747224442182863">Fokusiraj ovu stranicu</translation> -<translation id="2344686470986284227">Pokretanje kontrolera virtuelnog računara</translation> <translation id="2345723121311404059">1 stranica na štampaču <ph name="PRINTER_NAME" /></translation> <translation id="2347644257713614136">Korištenje aplikacija Hangouts i Cast for Education podliježe Googleovim Pravilima privatnosti.</translation> <translation id="2348176352564285430">Aplikacija: <ph name="ARC_PROCESS_NAME" /></translation> @@ -1475,7 +1474,7 @@ <translation id="2731700343119398978">Pričekajte...</translation> <translation id="2731710757838467317">Izrađuje se zaštićeni korisnik. To može potrajati nekoliko trenutaka.</translation> <translation id="2731971182069536520">Kada sljedeći put ponovo pokrenete uređaj, vaš administrator će izvršiti jednokratno ažuriranje kojim će se izbrisati vaši lokalni podaci.</translation> -<translation id="2732134891301408122">Dodatni sadržaj <ph name="CURRENT_ELEMENT" /> od <ph name="TOTAL_ELEMENTS" /></translation> +<translation id="2732134891301408122">Dodatni sadržaj. <ph name="CURRENT_ELEMENT" />. element od ukupno <ph name="TOTAL_ELEMENTS" /></translation> <translation id="2734760316755174687">Poništit će se i web lokacije iz grupe <ph name="SITE_GROUP_NAME" />.</translation> <translation id="2735712963799620190">Raspored</translation> <translation id="2737363922397526254">Suzi…</translation> @@ -3123,7 +3122,7 @@ <translation id="4735803855089279419">Sistem nije uspio odrediti identifikatore uređaja za ovaj uređaj.</translation> <translation id="4736292055110123391">Sinhronizirajte oznake, lozinke, historije i drugo na svim svojim uređajima</translation> <translation id="473775607612524610">Ažuriraj</translation> -<translation id="473936925429402449">Odabrano, dodatni sadržaj <ph name="CURRENT_ELEMENT" /> od <ph name="TOTAL_ELEMENTS" /></translation> +<translation id="473936925429402449">Odabrani dodatni sadržaj. <ph name="CURRENT_ELEMENT" />. element od ukupno <ph name="TOTAL_ELEMENTS" /></translation> <translation id="4739639199548674512">Tiketi</translation> <translation id="4743260470722568160"><ph name="BEGIN_LINK" />Saznajte kako ažurirati aplikacije<ph name="END_LINK" /></translation> <translation id="4744981231093950366">{NUM_TABS,plural, =1{Omogući zvuk na web lokaciji}one{Omogući zvuk na web lokacijama}few{Omogući zvuk na web lokacijama}other{Omogući zvuk na web lokacijama}}</translation> @@ -4145,7 +4144,7 @@ <translation id="6011449291337289699">Brisanje podataka web lokacije</translation> <translation id="6015266928248016057">Nevažeći PUK. Preostali broj pokušaja: <ph name="RETRIES" />.</translation> <translation id="6015796118275082299">Godina</translation> -<translation id="6016178549409952427">Idite na dodatni sadržaj <ph name="CURRENT_ELEMENT" /> od <ph name="TOTAL_ELEMENTS" /></translation> +<translation id="6016178549409952427">Posjetite dodatni sadržaj. <ph name="CURRENT_ELEMENT" />. element od ukupno <ph name="TOTAL_ELEMENTS" /></translation> <translation id="6016551720757758985">Potvrdite Powerwash uz povratak na prethodnu verziju</translation> <translation id="6016972670657536680">Dugme za odabir jezika i tastature Trenutno odabrani jezik je <ph name="LANGUAGE" />.</translation> <translation id="6017514345406065928">Zelena</translation> @@ -6483,7 +6482,7 @@ <translation id="8838601485495657486">Neprovidno</translation> <translation id="8838770651474809439">Hamburger</translation> <translation id="883911313571074303">Dodaj bilješku slici</translation> -<translation id="8841843049738266382">čitati i mijenjati korisnike na popisu dopuštenih</translation> +<translation id="8841843049738266382">Čitanje i mijenjanje korisnika s liste dozvoljenih</translation> <translation id="8842594465773264717">Izbriši ovaj otisak prsta</translation> <translation id="8845001906332463065">Potražite pomoć</translation> <translation id="8846132060409673887">Čitanje proizvođača i modela računara</translation>
diff --git a/chrome/app/resources/generated_resources_ca.xtb b/chrome/app/resources/generated_resources_ca.xtb index 1d4ac00..76813c1 100644 --- a/chrome/app/resources/generated_resources_ca.xtb +++ b/chrome/app/resources/generated_resources_ca.xtb
@@ -1139,7 +1139,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" /> es vol vincular</translation> <translation id="2342740338116612727">Les adreces d'interès s'han afegit</translation> <translation id="2343747224442182863">Posa el focus en aquesta pestanya</translation> -<translation id="2344686470986284227">S'està iniciant el controlador de la màquina virtual</translation> <translation id="2345723121311404059">1 pàgina a <ph name="PRINTER_NAME" /></translation> <translation id="2347644257713614136">L'ús de Hangouts i Cast for Education està regit per la política de privadesa de Google.</translation> <translation id="2348176352564285430">Aplicació: <ph name="ARC_PROCESS_NAME" /></translation> @@ -6165,7 +6164,7 @@ <translation id="8467326454809944210">Tria un altre idioma</translation> <translation id="8470214316007448308">Altres persones</translation> <translation id="8470513973197838199">Contrasenyes desades per a <ph name="ORIGIN" /></translation> -<translation id="8471256130228705232"><ph name="DOMAIN" /> està desactivant la depuració d'ADB. Aquesta acció restablirà el teu dispositiu <ph name="DEVICE_TYPE" /> en un termini de 24 hores. Fes una còpia de seguretat de tots els fitxers que vols mantenir.</translation> +<translation id="8471256130228705232"><ph name="DOMAIN" /> està desactivant la depuració d'ADB. Aquesta acció restablirà el teu dispositiu <ph name="DEVICE_TYPE" /> en un termini de 24 hores. Fes una còpia de seguretat de tots els fitxers que vols conservar.</translation> <translation id="8472623782143987204">recolzat per maquinari</translation> <translation id="8473863474539038330">Adreces i més</translation> <translation id="8475313423285172237">Un altre programa de l'ordinador ha afegit una extensió que pot canviar el funcionament de Chrome.</translation>
diff --git a/chrome/app/resources/generated_resources_cs.xtb b/chrome/app/resources/generated_resources_cs.xtb index c308e2e..8bd9813 100644 --- a/chrome/app/resources/generated_resources_cs.xtb +++ b/chrome/app/resources/generated_resources_cs.xtb
@@ -1139,7 +1139,6 @@ <translation id="2340263603246777781">Web <ph name="ORIGIN" /> žádá o spárování</translation> <translation id="2342740338116612727">Byly přidány záložky</translation> <translation id="2343747224442182863">Vybrat tuto kartu</translation> -<translation id="2344686470986284227">Spouštění ovladače virtuálního počítače</translation> <translation id="2345723121311404059">1 stránka pro tiskárnu <ph name="PRINTER_NAME" /></translation> <translation id="2347644257713614136">Použití služeb Hangouts a Cast for Education se řídí zásadami ochrany soukromí společnosti Google.</translation> <translation id="2348176352564285430">Aplikace: <ph name="ARC_PROCESS_NAME" /></translation>
diff --git a/chrome/app/resources/generated_resources_da.xtb b/chrome/app/resources/generated_resources_da.xtb index 37d18d0..5b8ab3e 100644 --- a/chrome/app/resources/generated_resources_da.xtb +++ b/chrome/app/resources/generated_resources_da.xtb
@@ -1139,7 +1139,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" /> vil gerne parre</translation> <translation id="2342740338116612727">Bogmærkerne blev tilføjet</translation> <translation id="2343747224442182863">Sæt denne fane i fokus</translation> -<translation id="2344686470986284227">Starter controlleren til den virtuelle maskine</translation> <translation id="2345723121311404059">1 side til <ph name="PRINTER_NAME" /></translation> <translation id="2347644257713614136">Brugen af Hangouts og Cast for Education styres af Googles privatlivspolitik.</translation> <translation id="2348176352564285430">App: <ph name="ARC_PROCESS_NAME" /></translation> @@ -2840,7 +2839,7 @@ <translation id="4390000551125140321">{0,plural, =1{Inkognito}one{# åbent inkognitovindue}other{# åbne inkognitovinduer}}</translation> <translation id="439266289085815679">Bluetooth-konfiguration kontrolleres af <ph name="USER_EMAIL" />.</translation> <translation id="4392896746540753732">Rediger konfigurationsfilen</translation> -<translation id="4393691030048716353"><ph name="DOMAIN" /> har deaktiveret ADB-fejlretning. Når du har genstartet din <ph name="DEVICE_TYPE" />, kan du ikke foretage sideindlæsning af apps.</translation> +<translation id="4393691030048716353"><ph name="DOMAIN" /> har deaktiveret ADB-fejlretning. Når du har genstartet din <ph name="DEVICE_TYPE" />, vil du ikke kunne sideindlæse apps.</translation> <translation id="4394049700291259645">Deaktiver</translation> <translation id="439817266247065935">Din enhed blev ikke lukket korrekt ned. Genstart Linux for at bruge Linux-apps.</translation> <translation id="4400367121200150367">Websites, som aldrig gemmer adgangskoder, vises her</translation> @@ -3123,7 +3122,7 @@ <translation id="4735803855089279419">Systemet kunne ikke fastslå enheds-id'erne for denne enhed.</translation> <translation id="4736292055110123391">Synkroniser dine bogmærker, dine adgangskoder, din historik og meget mere på alle dine enheder</translation> <translation id="473775607612524610">Opdater</translation> -<translation id="473936925429402449">Valgt, yderligere indhold <ph name="CURRENT_ELEMENT" /> ud af<ph name="TOTAL_ELEMENTS" /></translation> +<translation id="473936925429402449">Valgt, yderligere indhold <ph name="CURRENT_ELEMENT" /> ud af <ph name="TOTAL_ELEMENTS" /></translation> <translation id="4739639199548674512">Billetter</translation> <translation id="4743260470722568160"><ph name="BEGIN_LINK" />Se, hvordan du opdaterer apps<ph name="END_LINK" /></translation> <translation id="4744981231093950366">{NUM_TABS,plural, =1{Slå lyden til på dette website}one{Slå lyden til på dette website}other{Slå lyden til på disse websites}}</translation> @@ -4145,7 +4144,7 @@ <translation id="6011449291337289699">Ryd websitedata</translation> <translation id="6015266928248016057">PUK-koden er ugyldig. Antal resterende forsøg: <ph name="RETRIES" />.</translation> <translation id="6015796118275082299">År</translation> -<translation id="6016178549409952427">Gå til yderligere indhold <ph name="CURRENT_ELEMENT" /> ud af<ph name="TOTAL_ELEMENTS" /></translation> +<translation id="6016178549409952427">Gå til yderligere indhold <ph name="CURRENT_ELEMENT" /> ud af <ph name="TOTAL_ELEMENTS" /></translation> <translation id="6016551720757758985">Bekræft Powerwash med nulstilling til forrige version</translation> <translation id="6016972670657536680">Vælg sprog og tastaturknap. <ph name="LANGUAGE" /> er i øjeblikket valgt som sprog.</translation> <translation id="6017514345406065928">Grøn</translation>
diff --git a/chrome/app/resources/generated_resources_de.xtb b/chrome/app/resources/generated_resources_de.xtb index d33442a..c3c1e7d 100644 --- a/chrome/app/resources/generated_resources_de.xtb +++ b/chrome/app/resources/generated_resources_de.xtb
@@ -822,7 +822,7 @@ <translation id="1954813140452229842">Fehler beim Bereitstellen der Freigabe. Überprüfen Sie Ihre Anmeldedaten und versuchen Sie es noch einmal.</translation> <translation id="1956050014111002555">Die Datei enthielt mehrere Zertifikate, von denen keines importiert wurde:</translation> <translation id="1956390763342388273">Hierdurch werden alle Dateien aus "<ph name="FOLDER_PATH" />" hochgeladen. Tun Sie dies nur, wenn Sie die Website als vertrauenswürdig einstufen.</translation> -<translation id="196040970347962278">Stellen Sie zuerst eine Verbindung zum Internet her</translation> +<translation id="196040970347962278">Zuerst eine Verbindung zum Internet herstellen</translation> <translation id="1962233722219655970">Diese Seite verwendet eine Native Client App, die auf Ihrem Computer nicht funktioniert.</translation> <translation id="1963227389609234879">Alle entfernen</translation> <translation id="1963976881984600709">Standardschutz</translation> @@ -1136,7 +1136,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" /> möchte eine Kopplung durchführen</translation> <translation id="2342740338116612727">Lesezeichen hinzugefügt</translation> <translation id="2343747224442182863">Diesen Tab fokussieren</translation> -<translation id="2344686470986284227">Controller der virtuellen Maschine wird gestartet</translation> <translation id="2345723121311404059">1 Seite an <ph name="PRINTER_NAME" /></translation> <translation id="2347644257713614136">Die Nutzung von Hangouts und Cast for Education unterliegt der Datenschutzerklärung von Google.</translation> <translation id="2348176352564285430">App: <ph name="ARC_PROCESS_NAME" /></translation> @@ -1471,6 +1470,7 @@ <translation id="2731700343119398978">Bitte warten...</translation> <translation id="2731710757838467317">Der betreute Nutzer wird erstellt. Bitte warten...</translation> <translation id="2731971182069536520">Beim nächsten Neustart Ihres Geräts führt Ihr Administrator ein einmaliges Update durch, bei dem Ihre lokalen Daten gelöscht werden.</translation> +<translation id="2732134891301408122">Zusätzlicher Inhalt <ph name="CURRENT_ELEMENT" /> von <ph name="TOTAL_ELEMENTS" /></translation> <translation id="2734760316755174687">Websites unter <ph name="SITE_GROUP_NAME" /> werden ebenfalls zurückgesetzt.</translation> <translation id="2735712963799620190">Zeitplan</translation> <translation id="2737363922397526254">Minimieren...</translation> @@ -2835,7 +2835,7 @@ <translation id="4390000551125140321">{0,plural, =1{Inkognito}other{# offene Inkognitofenster}}</translation> <translation id="439266289085815679">Die Bluetooth-Konfiguration wird von <ph name="USER_EMAIL" /> festgelegt.</translation> <translation id="4392896746540753732">Konfigurationsdatei bearbeiten</translation> -<translation id="4393691030048716353"><ph name="DOMAIN" /> hat die ADB-Fehlerbehebung deaktiviert. Wenn Sie Ihr/Ihren <ph name="DEVICE_TYPE" /> neu starten, können Sie keine Apps per Sideload übertragen.</translation> +<translation id="4393691030048716353"><ph name="DOMAIN" /> hat die ADB-Fehlerbehebung deaktiviert. Nachdem <ph name="DEVICE_TYPE" /> neu gestartet wurde, können keine Apps mehr per Sideload übertragen werden.</translation> <translation id="4394049700291259645">Deaktivieren</translation> <translation id="439817266247065935">Ihr Gerät wurde nicht ordnungsgemäß heruntergefahren. Starten Sie Linux neu, um Linux-Apps zu verwenden.</translation> <translation id="4400367121200150367">Hier werden Websites angezeigt, für die keine Passwörter gespeichert werden</translation> @@ -3118,6 +3118,7 @@ <translation id="4735803855089279419">Das System konnte die Gerätekennungen für dieses Gerät nicht ermitteln.</translation> <translation id="4736292055110123391">Lesezeichen, Passwörter, Verlauf und mehr auf allen Geräten synchronisieren</translation> <translation id="473775607612524610">Aktualisieren</translation> +<translation id="473936925429402449">Ausgewählt, zusätzlicher Inhalt <ph name="CURRENT_ELEMENT" /> von <ph name="TOTAL_ELEMENTS" /></translation> <translation id="4739639199548674512">Tickets</translation> <translation id="4743260470722568160"><ph name="BEGIN_LINK" />Hier finden Sie Informationen zum Aktualisieren von Anwendungen<ph name="END_LINK" /></translation> <translation id="4744981231093950366">{NUM_TABS,plural, =1{Stummschaltung für Website aufheben}other{Stummschaltung für Websites aufheben}}</translation> @@ -4139,6 +4140,7 @@ <translation id="6011449291337289699">Websitedaten löschen</translation> <translation id="6015266928248016057">Ungültiger PUK. Noch <ph name="RETRIES" /> Versuche.</translation> <translation id="6015796118275082299">Jahr</translation> +<translation id="6016178549409952427">Zu zusätzlichem Inhalt <ph name="CURRENT_ELEMENT" /> von <ph name="TOTAL_ELEMENTS" /> gehen</translation> <translation id="6016551720757758985">Powerwash und Zurücksetzen auf vorherige Version bestätigen</translation> <translation id="6016972670657536680">Wählen Sie die Sprache und die Taste aus. Die derzeit ausgewählte Sprache ist <ph name="LANGUAGE" />.</translation> <translation id="6017514345406065928">Grün</translation> @@ -4644,7 +4646,7 @@ <translation id="6630752851777525409"><ph name="EXTENSION_NAME" /> fordert ständigen Zugriff auf ein Zertifikat an, um sich in Ihrem Namen zu authentifizieren.</translation> <translation id="6635944431854494329">Diese Funktion kann vom Inhaber über "Einstellungen" > "Erweitert" > "Diagnose- und Nutzungsdaten automatisch an Google senden" gesteuert werden.</translation> <translation id="6635956300022133031">Stimmen für die Sprachausgabe auswählen und anpassen</translation> -<translation id="6636588250634969791">Legen Sie eine SIM-Karte ein, um fortzufahren</translation> +<translation id="6636588250634969791">SIM-Karte einlegen, um fortzufahren</translation> <translation id="6639554308659482635">SQLite-Speicher</translation> <translation id="6641138807883536517">Das zufällig generierte Passwort für das Sicherheitsmodul ist nicht verfügbar. Dies ist nach einem Powerwash normal.</translation> <translation id="6642720633335369752">Sie können sich alle geöffneten App-Fenster ansehen, indem Sie von unten nach oben wischen und das Display gedrückt halten.</translation> @@ -6157,7 +6159,7 @@ <translation id="8467326454809944210">Andere Sprache auswählen</translation> <translation id="8470214316007448308">Andere Personen</translation> <translation id="8470513973197838199">Gespeicherte Passwörter für <ph name="ORIGIN" /></translation> -<translation id="8471256130228705232"><ph name="DOMAIN" /> deaktiviert die ADB-Fehlerbehebung. Dadurch wird Ihr <ph name="DEVICE_TYPE" /> in 24 Stunden zurückgesetzt. Sichern Sie alle Dateien, die Sie behalten möchten.</translation> +<translation id="8471256130228705232"><ph name="DOMAIN" /> deaktiviert die ADB-Fehlerbehebung. Dadurch wird <ph name="DEVICE_TYPE" /> in 24 Stunden zurückgesetzt. Sichere alle Dateien, die du behalten möchtest.</translation> <translation id="8472623782143987204">Hardwaregestützt</translation> <translation id="8473863474539038330">Adressen</translation> <translation id="8475313423285172237">Ein anderes Programm auf Ihrem Computer hat eine Erweiterung hinzugefügt, die sich möglicherweise auf die Funktionsweise von Chrome auswirkt.</translation> @@ -6444,6 +6446,7 @@ <translation id="8811862054141704416">Crostini-Mikrofonzugriff</translation> <translation id="8812552797690463522">Dieses Netzwerk ist für Sie freigegeben.</translation> <translation id="8812593354822910461">Auch Browserdaten (<ph name="URL" />) löschen, wodurch Sie von <ph name="DOMAIN" /> abgemeldet werden. <ph name="LEARN_MORE" /></translation> +<translation id="8813277370772331957">Später erinnern</translation> <translation id="8813698869395535039">Anmeldung unter <ph name="USERNAME" /> nicht möglich</translation> <translation id="8813872945700551674">Elternteil um Genehmigung von <ph name="EXTENSION_NAME" /> bitten</translation> <translation id="8813969267212093033">Systemtext wird in dieser Sprache angezeigt</translation> @@ -6474,6 +6477,7 @@ <translation id="8838601485495657486">Opak</translation> <translation id="8838770651474809439">Hamburger</translation> <translation id="883911313571074303">Bild mit Anmerkung versehen</translation> +<translation id="8841843049738266382">Nutzer auf der Zulassungsliste lesen und ändern</translation> <translation id="8842594465773264717">Diesen Fingerabdruck löschen</translation> <translation id="8845001906332463065">Hilfe aufrufen</translation> <translation id="8846132060409673887">Hersteller und Modell dieses Computers auslesen</translation>
diff --git a/chrome/app/resources/generated_resources_el.xtb b/chrome/app/resources/generated_resources_el.xtb index 1ed9a00c..92dd679a1 100644 --- a/chrome/app/resources/generated_resources_el.xtb +++ b/chrome/app/resources/generated_resources_el.xtb
@@ -1139,7 +1139,6 @@ <translation id="2340263603246777781">Ο ιστότοπος <ph name="ORIGIN" /> επιθυμεί σύζευξη</translation> <translation id="2342740338116612727">Προστέθηκαν σελιδοδείκτες</translation> <translation id="2343747224442182863">Εστίαση σε αυτήν την καρτέλα</translation> -<translation id="2344686470986284227">Εκκίνηση του χειριστηρίου της εικονικής μηχανής</translation> <translation id="2345723121311404059">1 σελίδα στον εκτυπωτή <ph name="PRINTER_NAME" /></translation> <translation id="2347644257713614136">Η χρήση του Hangouts και του Cast for Education διέπεται από την Πολιτική απορρήτου της Google.</translation> <translation id="2348176352564285430">Εφαρμογή: <ph name="ARC_PROCESS_NAME" /></translation>
diff --git a/chrome/app/resources/generated_resources_en-GB.xtb b/chrome/app/resources/generated_resources_en-GB.xtb index 369c638c..4fe4afa8 100644 --- a/chrome/app/resources/generated_resources_en-GB.xtb +++ b/chrome/app/resources/generated_resources_en-GB.xtb
@@ -1139,7 +1139,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" /> wants to pair</translation> <translation id="2342740338116612727">Bookmarks added</translation> <translation id="2343747224442182863">Focus This Tab</translation> -<translation id="2344686470986284227">Starting the virtual machine controller</translation> <translation id="2345723121311404059">1 page to <ph name="PRINTER_NAME" /></translation> <translation id="2347644257713614136">Use of Hangouts and Cast for Education is governed by the Google Privacy Policy.</translation> <translation id="2348176352564285430">App: <ph name="ARC_PROCESS_NAME" /></translation> @@ -1288,6 +1287,7 @@ <translation id="2505127913256479918">This supervised account will be removed soon</translation> <translation id="2505324914378689427">{SCREEN_INDEX,plural, =1{Screen #}other{Screen #}}</translation> <translation id="2505402373176859469"><ph name="RECEIVED_AMOUNT" /> of <ph name="TOTAL_SIZE" /></translation> +<translation id="250642123108534012">Devices near you when Nearby Share is open on their device</translation> <translation id="250704661983564564">Display arrangement</translation> <translation id="2507253002925770350">Ticket removed</translation> <translation id="2507397597949272797"><ph name="NAME" /> is paused</translation> @@ -3139,6 +3139,7 @@ <translation id="4762718786438001384">Device disk space critically low</translation> <translation id="4763408175235639573">The following cookies were set when you viewed this page</translation> <translation id="4765582662863429759">Allows Android Messages to relay texts from your phone to your Chromebook</translation> +<translation id="476598255842811483">No one unless you open Nearby Share on your device</translation> <translation id="4768332406694066911">You have certificates from these organisations that identify you</translation> <translation id="477647109558161443">Create a desktop shortcut</translation> <translation id="4776917500594043016">Password for <ph name="USER_EMAIL_ADDRESS" /></translation> @@ -5669,6 +5670,7 @@ <translation id="786073089922909430">Service: <ph name="ARC_PROCESS_NAME" /></translation> <translation id="7861215335140947162">&Downloads</translation> <translation id="7864539943188674973">Disable Bluetooth</translation> +<translation id="7866352732146932341">Devices near you when Nearby Share is open on your device</translation> <translation id="786957569166715433"><ph name="DEVICE_NAME" /> – Paired</translation> <translation id="7870730066603611552">Review sync options following setup</translation> <translation id="7870790288828963061">No Kiosk apps with newer version found. Nothing to update. Please remove the USB stick.</translation>
diff --git a/chrome/app/resources/generated_resources_es-419.xtb b/chrome/app/resources/generated_resources_es-419.xtb index d83aa6d..81a56b4 100644 --- a/chrome/app/resources/generated_resources_es-419.xtb +++ b/chrome/app/resources/generated_resources_es-419.xtb
@@ -1136,7 +1136,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" /> desea sincronizarse</translation> <translation id="2342740338116612727">Se agregaron favoritos</translation> <translation id="2343747224442182863">Enfocar esta pestaña</translation> -<translation id="2344686470986284227">Iniciando el controlador de la máquina virtual</translation> <translation id="2345723121311404059">1 página a <ph name="PRINTER_NAME" /></translation> <translation id="2347644257713614136">El uso de Hangouts y Cast for Education está regido por la Política de Privacidad de Google.</translation> <translation id="2348176352564285430">App: <ph name="ARC_PROCESS_NAME" /></translation> @@ -1285,6 +1284,7 @@ <translation id="2505127913256479918">Pronto se quitará esta cuenta supervisada</translation> <translation id="2505324914378689427">{SCREEN_INDEX,plural, =1{Pantalla #}other{Pantalla #}}</translation> <translation id="2505402373176859469"><ph name="RECEIVED_AMOUNT" /> de <ph name="TOTAL_SIZE" /></translation> +<translation id="250642123108534012">Dispositivos cerca de tu ubicación cuando la ventana de Compartir con Nearby está abierta en el dispositivo del destinatario</translation> <translation id="250704661983564564">Disposición de la pantalla</translation> <translation id="2507253002925770350">Se quitó el ticket</translation> <translation id="2507397597949272797">Se pausó <ph name="NAME" /></translation> @@ -1472,6 +1472,7 @@ <translation id="2731700343119398978">Espera...</translation> <translation id="2731710757838467317">Se está creando el usuario supervisado. Esta acción puede tardar unos minutos.</translation> <translation id="2731971182069536520">La próxima vez que reinicies el dispositivo, tu administrador realizará una actualización única que borrará tus datos locales.</translation> +<translation id="2732134891301408122">Contenido adicional: <ph name="CURRENT_ELEMENT" /> de <ph name="TOTAL_ELEMENTS" /></translation> <translation id="2734760316755174687">También se restablecerán los sitios en <ph name="SITE_GROUP_NAME" />.</translation> <translation id="2735712963799620190">Programar</translation> <translation id="2737363922397526254">Contraer...</translation> @@ -3119,6 +3120,7 @@ <translation id="4735803855089279419">El sistema no pudo determinar los identificadores de dispositivo para este dispositivo.</translation> <translation id="4736292055110123391">Sincroniza tus favoritos, contraseñas, historial y mucho más en todos tus dispositivos</translation> <translation id="473775607612524610">Actualizar</translation> +<translation id="473936925429402449">Seleccionado, contenido adicional: <ph name="CURRENT_ELEMENT" /> de <ph name="TOTAL_ELEMENTS" /></translation> <translation id="4739639199548674512">Tickets</translation> <translation id="4743260470722568160"><ph name="BEGIN_LINK" />Obtener información sobre cómo actualizar las aplicaciones<ph name="END_LINK" /></translation> <translation id="4744981231093950366">{NUM_TABS,plural, =1{Activar el sonido del sitio}other{Activar el sonido de los sitios}}</translation> @@ -3134,6 +3136,7 @@ <translation id="4762718786438001384">Hay muy poco espacio en el disco del dispositivo</translation> <translation id="4763408175235639573">Se configuraron las siguientes cookies cuando visitaste esta página</translation> <translation id="4765582662863429759">Permite que Mensajes Android transfiera mensajes de texto del teléfono a tu Chromebook</translation> +<translation id="476598255842811483">Nadie, a menos que abras Compartir con Nearby en tu dispositivo</translation> <translation id="4768332406694066911">Tienes certificados de esas organizaciones que te identifican</translation> <translation id="477647109558161443">Crear un acceso directo de escritorio</translation> <translation id="4776917500594043016">Contraseña para <ph name="USER_EMAIL_ADDRESS" /></translation> @@ -4140,6 +4143,7 @@ <translation id="6011449291337289699">Borrar los datos del sitio</translation> <translation id="6015266928248016057">PUK no válida. Intentos restantes: <ph name="RETRIES" />.</translation> <translation id="6015796118275082299">Año</translation> +<translation id="6016178549409952427">Navega a contenido adicional: <ph name="CURRENT_ELEMENT" /> de <ph name="TOTAL_ELEMENTS" /></translation> <translation id="6016551720757758985">Confirmar Powerwash con retorno a la versión anterior</translation> <translation id="6016972670657536680">Selecciona el botón de idioma y teclado. Actualmente, el idioma seleccionado es <ph name="LANGUAGE" />.</translation> <translation id="6017514345406065928">Verde</translation> @@ -5663,6 +5667,7 @@ <translation id="786073089922909430">Servicio: <ph name="ARC_PROCESS_NAME" /></translation> <translation id="7861215335140947162">&Descargas</translation> <translation id="7864539943188674973">Desactivar Bluetooth</translation> +<translation id="7866352732146932341">Dispositivos cerca de tu ubicación cuando la ventana de Compartir con Nearby está abierta en tu dispositivo</translation> <translation id="786957569166715433"><ph name="DEVICE_NAME" /> sincronizado</translation> <translation id="7870730066603611552">Revisar las opciones de sincronización después de la configuración</translation> <translation id="7870790288828963061">No se encontraron aplicaciones de kiosco con una versión más reciente. No hay nada para actualizar. Desconecta el dispositivo USB.</translation> @@ -6446,6 +6451,7 @@ <translation id="8811862054141704416">Acceso al micrófono en Crostini</translation> <translation id="8812552797690463522">Se comparte esta red contigo.</translation> <translation id="8812593354822910461">Borrar también los datos de navegación (<ph name="URL" />), lo que implicará salir de <ph name="DOMAIN" />. <ph name="LEARN_MORE" /></translation> +<translation id="8813277370772331957">Recordarme más tarde</translation> <translation id="8813698869395535039">No se puede acceder a <ph name="USERNAME" /></translation> <translation id="8813872945700551674">Haz que tu padre o madre aprueben "<ph name="EXTENSION_NAME" />"</translation> <translation id="8813969267212093033">El texto del sistema se muestra en este idioma</translation> @@ -6476,6 +6482,7 @@ <translation id="8838601485495657486">Opaco</translation> <translation id="8838770651474809439">Hamburguesa</translation> <translation id="883911313571074303">Escribir en la imagen</translation> +<translation id="8841843049738266382">Leer y cambiar la lista de usuarios permitidos</translation> <translation id="8842594465773264717">Borrar esta huella digital</translation> <translation id="8845001906332463065">Obtener ayuda</translation> <translation id="8846132060409673887">Leer el fabricante y el modelo de esta computadora</translation>
diff --git a/chrome/app/resources/generated_resources_es.xtb b/chrome/app/resources/generated_resources_es.xtb index a7ce66b..27cd91d 100644 --- a/chrome/app/resources/generated_resources_es.xtb +++ b/chrome/app/resources/generated_resources_es.xtb
@@ -1139,7 +1139,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" /> quiere vincularse</translation> <translation id="2342740338116612727">Se han añadido marcadores</translation> <translation id="2343747224442182863">Destacar esta pestaña</translation> -<translation id="2344686470986284227">Iniciando el controlador de la máquina virtual</translation> <translation id="2345723121311404059">1 página a <ph name="PRINTER_NAME" /></translation> <translation id="2347644257713614136">El uso de Hangouts y Cast for Education está sujeto a la política de privacidad de Google.</translation> <translation id="2348176352564285430">Aplicación: <ph name="ARC_PROCESS_NAME" /></translation>
diff --git a/chrome/app/resources/generated_resources_et.xtb b/chrome/app/resources/generated_resources_et.xtb index 19d12e46..897eca91 100644 --- a/chrome/app/resources/generated_resources_et.xtb +++ b/chrome/app/resources/generated_resources_et.xtb
@@ -1139,7 +1139,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" /> soovib siduda</translation> <translation id="2342740338116612727">Järjehoidjad on lisatud</translation> <translation id="2343747224442182863">Tõsta see vaheleht esile</translation> -<translation id="2344686470986284227">Virtuaalmasina kontrolleri käivitamine</translation> <translation id="2345723121311404059">Üks leht printerisse <ph name="PRINTER_NAME" /></translation> <translation id="2347644257713614136">Hangoutsi ja Cast for Educationi kasutamisel kehtivad Google'i privaatsuseeskirjad.</translation> <translation id="2348176352564285430">Rakendus: <ph name="ARC_PROCESS_NAME" /></translation>
diff --git a/chrome/app/resources/generated_resources_eu.xtb b/chrome/app/resources/generated_resources_eu.xtb index 842ce43..8dc9b73b 100644 --- a/chrome/app/resources/generated_resources_eu.xtb +++ b/chrome/app/resources/generated_resources_eu.xtb
@@ -1139,7 +1139,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" /> webguneak parekatu egin nahi du</translation> <translation id="2342740338116612727">Laster-markak gehitu dira</translation> <translation id="2343747224442182863">Fokuratu fitxa</translation> -<translation id="2344686470986284227">Makina birtualaren kontrolagailua abiarazten</translation> <translation id="2345723121311404059">1 orri <ph name="PRINTER_NAME" /> inprimagailura</translation> <translation id="2347644257713614136">Google-ren Pribatutasun-gidalerroek arautzen dute Hangouts-en eta Cast for Education-en erabilera.</translation> <translation id="2348176352564285430">Aplikazioa: <ph name="ARC_PROCESS_NAME" /></translation> @@ -1288,6 +1287,7 @@ <translation id="2505127913256479918">Laster kenduko da kontu gainbegiratu hau</translation> <translation id="2505324914378689427">{SCREEN_INDEX,plural, =1{# pantaila}other{# pantaila}}</translation> <translation id="2505402373176859469"><ph name="RECEIVED_AMOUNT" />/<ph name="TOTAL_SIZE" /></translation> +<translation id="250642123108534012">Nearby Share haien gailuan irekita dagoenean inguruan dituzten gailuak</translation> <translation id="250704661983564564">Pantailaren antolaketa</translation> <translation id="2507253002925770350">Kendu da zerbitzu-eskaera</translation> <translation id="2507397597949272797"><ph name="NAME" /> pausatuta dago</translation> @@ -1473,8 +1473,9 @@ <translation id="273093730430620027">Orria zure kamera atzitzen ari da.</translation> <translation id="2731392572903530958">Ir&eki berriro leihoa</translation> <translation id="2731700343119398978">Itxaron, mesedez…</translation> -<translation id="2731710757838467317">Erabiltzaile gainbegiratua sortzen. Tartetxo bat behar izan daiteke.</translation> +<translation id="2731710757838467317">Erabiltzaile gainbegiratua sortzen. Baliteke tartetxo bat behar izatea.</translation> <translation id="2731971182069536520">Gailua berrabiarazten duzun hurrengo aldian, administratzaileak erabilera bakarreko eguneratze bat egingo du eta, haren ondorioz, gailuan dituzun datu guztiak ezabatuko dira.</translation> +<translation id="2732134891301408122"><ph name="CURRENT_ELEMENT" /> elementu gehigarritatik <ph name="TOTAL_ELEMENTS" />garrenera</translation> <translation id="2734760316755174687"><ph name="SITE_GROUP_NAME" /> taldeko webguneak ere berrezarriko dira.</translation> <translation id="2735712963799620190">Programazioa</translation> <translation id="2737363922397526254">Tolestu…</translation> @@ -3122,6 +3123,7 @@ <translation id="4735803855089279419">Sistemak ezin izan ditu zehaztu gailuaren identifikatzaileak.</translation> <translation id="4736292055110123391">Sinkronizatu laster-markak, pasahitzak, historia eta beste gauza asko zure gailu guztietan</translation> <translation id="473775607612524610">Eguneratu</translation> +<translation id="473936925429402449">Hautatuta, <ph name="CURRENT_ELEMENT" /> elementu gehigarritatik <ph name="TOTAL_ELEMENTS" />garrenera</translation> <translation id="4739639199548674512">Zerbitzu-eskaerak</translation> <translation id="4743260470722568160"><ph name="BEGIN_LINK" />Lortu aplikazioak eguneratzeari buruzko informazioa<ph name="END_LINK" /></translation> <translation id="4744981231093950366">{NUM_TABS,plural, =1{Aktibatu webguneko audioa}other{Aktibatu webguneetako audioa}}</translation> @@ -3137,6 +3139,7 @@ <translation id="4762718786438001384">Oso toki gutxi dago gailuaren diskoan</translation> <translation id="4763408175235639573">Cookie hauek ezarri dira orria ikusi duzunean:</translation> <translation id="4765582662863429759">Testu-mezuak telefonotik Chromebook gailura bidaltzea baimentzen dio Android Mezuak aplikazioari</translation> +<translation id="476598255842811483">Inor ez, Nearby Share zure gailuan ireki ezean</translation> <translation id="4768332406694066911">Identifikatzen zaituzten erakunde hauen ziurtagiriak dituzu</translation> <translation id="477647109558161443">Sortu mahaigaineko lasterbidea</translation> <translation id="4776917500594043016"><ph name="USER_EMAIL_ADDRESS" /> erabiltzaile-kontuaren pasahitza</translation> @@ -4143,6 +4146,7 @@ <translation id="6011449291337289699">Garbitu webgunearen datuak</translation> <translation id="6015266928248016057">PUK kodeak ez du balio. Geratzen diren saiakerak: <ph name="RETRIES" />.</translation> <translation id="6015796118275082299">Urtea</translation> +<translation id="6016178549409952427">Joan <ph name="CURRENT_ELEMENT" /> elementu gehigarritatik <ph name="TOTAL_ELEMENTS" />garrenera</translation> <translation id="6016551720757758985">Berretsi fabrikako ezarpenak berrezarri nahi dituzula eta aurreko bertsiora itzuli nahi duzula</translation> <translation id="6016972670657536680">Hizkuntza eta teklatua hautatzeko botoia. <ph name="LANGUAGE" /> daukazu hautatuta.</translation> <translation id="6017514345406065928">Berdea</translation> @@ -5666,6 +5670,7 @@ <translation id="786073089922909430">Zerbitzua: <ph name="ARC_PROCESS_NAME" /></translation> <translation id="7861215335140947162">&Deskargak</translation> <translation id="7864539943188674973">Desgaitu Bluetooth-a</translation> +<translation id="7866352732146932341">Nearby Share zure gailuan irekita dagoenean inguruan dituzun gailuak</translation> <translation id="786957569166715433"><ph name="DEVICE_NAME" /> - Parekatu da</translation> <translation id="7870730066603611552">Berrikusi sinkronizazio-aukerak konfigurazioaren ondoren</translation> <translation id="7870790288828963061">Ez da aurkitu aplikazio espezializatu berriagorik. Ez dago ezer eguneratzeko. Kendu USB memoria.</translation> @@ -6448,6 +6453,7 @@ <translation id="8811862054141704416">Crostini-ren mikrofonorako sarbidea</translation> <translation id="8812552797690463522">Zurekin partekatuta dago sare hau.</translation> <translation id="8812593354822910461">Garbitu arakatze-datuak ere (<ph name="URL" />); hala, <ph name="DOMAIN" /> webguneko saioa amaituko da. <ph name="LEARN_MORE" /></translation> +<translation id="8813277370772331957">Gogorarazi geroago</translation> <translation id="8813698869395535039">Ezin da hasi saioa <ph name="USERNAME" /> kontuan</translation> <translation id="8813872945700551674">Eskatu guraso bati "<ph name="EXTENSION_NAME" />" onartzeko</translation> <translation id="8813969267212093033">Sistemaren testua hizkuntza honetan bistaratzen da</translation> @@ -6478,6 +6484,7 @@ <translation id="8838601485495657486">Opakua</translation> <translation id="8838770651474809439">Hanburgesa</translation> <translation id="883911313571074303">Egin oharpenak irudian</translation> +<translation id="8841843049738266382">Ikusi eta aldatu onartutakoen zerrendako erabiltzaileak</translation> <translation id="8842594465773264717">Ezabatu hatz-marka</translation> <translation id="8845001906332463065">Lortu laguntza</translation> <translation id="8846132060409673887">Irakurri ordenagailuaren fabrikatzaileari eta modeloari buruzko informazioa</translation>
diff --git a/chrome/app/resources/generated_resources_fa.xtb b/chrome/app/resources/generated_resources_fa.xtb index a9663849..fb9213a 100644 --- a/chrome/app/resources/generated_resources_fa.xtb +++ b/chrome/app/resources/generated_resources_fa.xtb
@@ -114,7 +114,7 @@ <translation id="1124772482545689468">کاربر</translation> <translation id="1125550662859510761"><ph name="WIDTH" /> × <ph name="HEIGHT" /> بهنظر میرسد (داخلی)</translation> <translation id="1126809382673880764">دربرابر وبسایتها، بارگیریها، و افزونههای خطرناک از شما محافظت نمیکند. درصورت وجود، همچنان ویژگی حفاظتی «مرور ایمن» را در سرویسهای دیگر Google مثل Gmail و «جستجو» دریافت میکنید.</translation> -<translation id="112752777279960360">برای راهاندازی اولیه تلفن Android جهت استفاده بهعنوان کلید امنیتی این رایانه، Chrome را در تلفن باز کنید و به «تنظیمات > گذرواژهها > استفاده از تلفن بهعنوان کلید امنیتی» بروید. سپس روی «اتصال دستگاه جدید» ضربه بزنید و کد QR را اسکن کنید.</translation> +<translation id="112752777279960360">برای راهاندازی اولیه تلفن Android جهت استفاده بهعنوان کلید امنیتی این رایانه، Chrome را در تلفن باز کنید و به «تنظیمات > گذرواژهها > استفاده از تلفن بهعنوان کلید امنیتی» بروید. سپس روی «اتصال دستگاه جدید» ضربه بزنید و رمزینه پاسخسریع را اسکن کنید.</translation> <translation id="1128109161498068552">به هیچ سایتی اجازه داده نشود برای دسترسی به دستگاههای MIDI از پیامهای انحصاری سیستم استفاده کند</translation> <translation id="1128128132059598906">EAP-TTLS</translation> <translation id="1128591060186966949">ویرایش موتور جستجو</translation> @@ -864,7 +864,7 @@ <translation id="2019718679933488176">&باز کردن فایل صوتی در برگهٔ جدید</translation> <translation id="2020183425253392403">نمایش تنظیمات نشانی شبکه</translation> <translation id="2020225359413970060">اسکن فایل</translation> -<translation id="2022953316617983419">کد QR</translation> +<translation id="2022953316617983419">رمزینه پاسخسریع</translation> <translation id="2023167225947895179">حدس زدن این پین آسان است</translation> <translation id="202352106777823113">بارگیری خیلی طول کشید و توسط شبکه متوقف شد.</translation> <translation id="2025115093177348061">واقعیت افزوده</translation> @@ -1136,7 +1136,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" /> میخواهد مرتبط شود</translation> <translation id="2342740338116612727">نشانکها اضافه شد</translation> <translation id="2343747224442182863">متمرکز کردن این برگه</translation> -<translation id="2344686470986284227">درحال شروع کنترلکننده دستگاه مجازی</translation> <translation id="2345723121311404059">۱ صفحه برای <ph name="PRINTER_NAME" /></translation> <translation id="2347644257713614136">استفاده از Hangouts و Cast for Education تحت کنترل «خطمشی رازداری Google» است.</translation> <translation id="2348176352564285430">برنامه: <ph name="ARC_PROCESS_NAME" /></translation> @@ -1472,6 +1471,7 @@ <translation id="2731700343119398978">لطفاً صبر کنید...</translation> <translation id="2731710757838467317">در حال ایجاد کاربر نظارتشده شما. این کار ممکن است چند لحظه طول بکشد.</translation> <translation id="2731971182069536520">دفعه بعد که دستگاهتان را بازراهاندازی میکنید، سرپرستتان بهروزرسانی یکبارهای انجام میدهد که دادههای محلی شما را حذف خواهد کرد.</translation> +<translation id="2732134891301408122">محتوای اضافی <ph name="CURRENT_ELEMENT" /> از <ph name="TOTAL_ELEMENTS" /></translation> <translation id="2734760316755174687">سایتهای زیرگروه <ph name="SITE_GROUP_NAME" /> نیز بازنشانی میشود.</translation> <translation id="2735712963799620190">زمانبندی</translation> <translation id="2737363922397526254">کوچک کردن...</translation> @@ -2678,7 +2678,7 @@ <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="4170256733935344210">کد QR را بااستفاده از دوربین اسکن کنید یا کد فعالسازی ارائهشده توسط شرکت مخابراتی خود را وارد کنید</translation> +<translation id="4170256733935344210">رمزینه پاسخسریع را بااستفاده از دوربین اسکن کنید یا کد فعالسازی ارائهشده توسط شرکت مخابراتی خود را وارد کنید</translation> <translation id="4170314459383239649">پاک کردن هنگام خروج</translation> <translation id="4175137578744761569">بنفش روشن و سفید</translation> <translation id="4175737294868205930">محل ذخیرهسازی دائمی</translation> @@ -3119,6 +3119,7 @@ <translation id="4735803855089279419">سیستم نتوانست شناسههای دستگاه را برای این دستگاه تعیین کند.</translation> <translation id="4736292055110123391">همگامسازی نشانکها، سابقه، و موارد دیگر در همه دستگاهها</translation> <translation id="473775607612524610">بهروزرسانی</translation> +<translation id="473936925429402449">انتخابشده، محتوای اضافی <ph name="CURRENT_ELEMENT" /> از <ph name="TOTAL_ELEMENTS" /></translation> <translation id="4739639199548674512">بلیتها</translation> <translation id="4743260470722568160"><ph name="BEGIN_LINK" />با نحوه بهروزرسانی برنامهها آشنا شوید<ph name="END_LINK" /></translation> <translation id="4744981231093950366">{NUM_TABS,plural, =1{باصدا کردن سایت}one{باصدا کردن سایتها}other{باصدا کردن سایتها}}</translation> @@ -4088,7 +4089,7 @@ <translation id="5941711191222866238">کوچک کردن</translation> <translation id="5942779427914696408">نمایان بودن دستگاه</translation> <translation id="5942964813783878922"><ph name="DEVICE_TYPE" /> شما بعد از این بهروزرسانی بازراهاندازی خواهد شد. بهروزرسانیهای امنیتی و نرمافزار درآینده بهطور خودکار نصب میشوند.</translation> -<translation id="5944869793365969636">اسکن کد QR</translation> +<translation id="5944869793365969636">اسکن رمزینه پاسخسریع</translation> <translation id="5946591249682680882">شناسه گزارش <ph name="WEBRTC_LOG_REPORT_ID" /></translation> <translation id="5949544233750246342">تجزیه فایل امکانپذیر نیست</translation> <translation id="5951624318208955736">نمایشگر</translation> @@ -4140,6 +4141,7 @@ <translation id="6011449291337289699">پاک کردن دادههای سایت</translation> <translation id="6015266928248016057">PUK نامعتبر است. تلاشهای باقیمانده: <ph name="RETRIES" />.</translation> <translation id="6015796118275082299">سال</translation> +<translation id="6016178549409952427">پیمایش به محتوای اضافی <ph name="CURRENT_ELEMENT" /> از <ph name="TOTAL_ELEMENTS" /></translation> <translation id="6016551720757758985">تأیید Powerwash به همراه بازگشت به نسخه قبلی</translation> <translation id="6016972670657536680">دکمه انتخاب زبان و صفحهکلید. درحالحاضر زبان <ph name="LANGUAGE" /> انتخاب شده است.</translation> <translation id="6017514345406065928">سبز</translation> @@ -4197,7 +4199,7 @@ <translation id="6077131872140550515">برداشتن از شبکههای برگزیده</translation> <translation id="6077189836672154517">نکتهها و بهروزرسانیها درباره <ph name="DEVICE_TYPE" /></translation> <translation id="6077476112742402730">گفتار به نوشتار</translation> -<translation id="6078045608615316905">ایجاد کد QR برای این تصویر</translation> +<translation id="6078045608615316905">ایجاد رمزینه پاسخسریع برای این تصویر</translation> <translation id="6078323886959318429">افزودن میانبر</translation> <translation id="6078752646384677957">لطفاً میکروفون و میزان صدا را بررسی کنید.</translation> <translation id="6078769373519310690">«<ph name="CHROME_EXTENSION_NAME" />» میخواهد به یک دستگاه HID متصل شود</translation> @@ -4684,7 +4686,7 @@ <translation id="668599234725812620">باز کردن Google Play</translation> <translation id="6686490380836145850">بستن برگهها به چپ</translation> <translation id="6686817083349815241">ذخیره گذرواژهتان</translation> -<translation id="6688285987813868112">ایجاد کد QR برای این تصویر</translation> +<translation id="6688285987813868112">ایجاد رمزینه پاسخسریع برای این تصویر</translation> <translation id="6690659332373509948">این فایل تجزیه نمیشود: <ph name="FILE_NAME" /></translation> <translation id="6690751852586194791">یک کاربر نظارتشده را برای افزودن به این دستگاه انتخاب کنید.</translation> <translation id="6691331417640343772">مدیریت دادههای همگامسازیشده در داشبورد Google</translation> @@ -4875,7 +4877,7 @@ <translation id="6914783257214138813">گذرواژههای شما برای همه افرادی که میتوانند فایل صادرشده را ببینید، نمایان خواهند بود.</translation> <translation id="6915804003454593391">کاربر:</translation> <translation id="6916590542764765824">مدیریت افزونهها</translation> -<translation id="6920262510368602827">ایجاد کد QR برای این صفحه</translation> +<translation id="6920262510368602827">ایجاد رمزینه پاسخسریع برای این صفحه</translation> <translation id="6920989436227028121">باز کردن بهعنوان برگه عادی</translation> <translation id="6921104647315081813">پاک کردن فعالیتها</translation> <translation id="692114467174262153"><ph name="ALTERNATIVE_BROWSER_NAME" /> باز نشد</translation> @@ -5236,7 +5238,7 @@ <translation id="7365076891350562061">اندازه نمایشگر</translation> <translation id="7366415735885268578">افزودن سایت</translation> <translation id="7366909168761621528">دادههای مرور</translation> -<translation id="7367714965999718019">سازنده کد QR</translation> +<translation id="7367714965999718019">سازنده رمزینه پاسخسریع</translation> <translation id="736877393389250337"><ph name="URL" /> در <ph name="ALTERNATIVE_BROWSER_NAME" /> باز نشد. لطفاً با سرپرست سیستم تماس بگیرید.</translation> <translation id="7370592524170198497">EAP مربوط به اترنت:</translation> <translation id="7371006317849674875">زمان شروع</translation> @@ -6093,7 +6095,7 @@ <translation id="8382913212082956454">کپی آدرس &ایمیل</translation> <translation id="8386091599636877289">خطمشی یافت نشد.</translation> <translation id="8386903983509584791">اسکن کامل شد</translation> -<translation id="8389416080014625855">ایجاد کد QR برای این صفحه</translation> +<translation id="8389416080014625855">ایجاد رمزینه پاسخسریع برای این صفحه</translation> <translation id="8389492867173948260">به این افزونه اجازه دهید همه دادههایتان را در وبسایتهایی که بازدید میکنید بخواند و تغییر دهد:</translation> <translation id="8390449457866780408">سرور در دسترس نیست.</translation> <translation id="8391218455464584335">صفحه گرامافون</translation> @@ -6446,6 +6448,7 @@ <translation id="8811862054141704416">دسترسی به میکروفون Crostini</translation> <translation id="8812552797690463522">این شبکه با شما بهاشتراک گذاشته شده است.</translation> <translation id="8812593354822910461">دادههای محصول مرور (<ph name="URL" />) را نیز پاک میکند که این کار شما را از سیستم <ph name="DOMAIN" /> خارج خواهد کرد. <ph name="LEARN_MORE" /></translation> +<translation id="8813277370772331957">بعداً به من یادآوری شود</translation> <translation id="8813698869395535039">ورود به سیستم <ph name="USERNAME" /> امکانپذیر نیست</translation> <translation id="8813872945700551674">از یکی از والدین بخواهید «<ph name="EXTENSION_NAME" />» را تأیید کند</translation> <translation id="8813969267212093033">نوشتار سیستم به این زبان نشان داده میشود</translation> @@ -6476,6 +6479,7 @@ <translation id="8838601485495657486">مات</translation> <translation id="8838770651474809439">همبرگر</translation> <translation id="883911313571074303">حاشیهنویسی تصویر</translation> +<translation id="8841843049738266382">خواندن و تغییر دادن کاربران فهرست مجازها</translation> <translation id="8842594465773264717">حذف این اثر انگشت</translation> <translation id="8845001906332463065">دریافت راهنمایی</translation> <translation id="8846132060409673887">خواندن سازنده و مدل این رایانه</translation> @@ -6598,7 +6602,7 @@ <translation id="8986362086234534611">فراموش شود</translation> <translation id="8986494364107987395">ارسال خودکار آمار کاربرد و گزارشهای خرابی به Google</translation> <translation id="8987927404178983737">ماه</translation> -<translation id="8990209962746788689">کد QR ایجاد نمیشود</translation> +<translation id="8990209962746788689">رمزینه پاسخسریع ایجاد نمیشود</translation> <translation id="8991520179165052608">سایت میتواند از میکروفن شما استفاده کند</translation> <translation id="8992117551007229513">{COUNT,plural, =1{۱ مورد}one{# مورد}other{# مورد}}</translation> <translation id="899384117894244799">برداشتن کاربر محدودشده</translation>
diff --git a/chrome/app/resources/generated_resources_fi.xtb b/chrome/app/resources/generated_resources_fi.xtb index 5bf1880..3568e49 100644 --- a/chrome/app/resources/generated_resources_fi.xtb +++ b/chrome/app/resources/generated_resources_fi.xtb
@@ -1139,7 +1139,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" /> haluaa muodostaa laiteparin</translation> <translation id="2342740338116612727">Kirjanmerkit lisätty</translation> <translation id="2343747224442182863">Aseta tämä välilehti aktiiviseksi</translation> -<translation id="2344686470986284227">Virtuaalikone-ohjainta käynnistetään</translation> <translation id="2345723121311404059"><ph name="PRINTER_NAME" /> tulostaa yhden sivun</translation> <translation id="2347644257713614136">Hangoutsin ja Cast for Educationin käyttö kuuluu Googlen tietosuojakäytännön piiriin.</translation> <translation id="2348176352564285430">Sovellus: <ph name="ARC_PROCESS_NAME" /></translation> @@ -1475,6 +1474,7 @@ <translation id="2731700343119398978">Odota...</translation> <translation id="2731710757838467317">Valvottua käyttäjääsi luodaan. Tässä voi kestää hetki.</translation> <translation id="2731971182069536520">Seuraavan kerran kun käynnistät laitteen uudelleen, järjestelmänvalvoja tekee kertaluontoisen päivityksen, joka poistaa paikallisen datasi.</translation> +<translation id="2732134891301408122">Ylimääräinen sisältö: <ph name="CURRENT_ELEMENT" />/<ph name="TOTAL_ELEMENTS" /></translation> <translation id="2734760316755174687"><ph name="SITE_GROUP_NAME" />:n alaiset sivustot nollataan myös.</translation> <translation id="2735712963799620190">Aikataulu</translation> <translation id="2737363922397526254">Tiivistä...</translation> @@ -3119,6 +3119,7 @@ <translation id="4735803855089279419">Järjestelmä ei onnistunut määrittämään tämän laitteen laitetunnisteita.</translation> <translation id="4736292055110123391">Synkronoi muun muassa kirjanmerkit, salasanat ja historia kaikilla laitteillasi</translation> <translation id="473775607612524610">Päivitä</translation> +<translation id="473936925429402449">Valittu, ylimääräinen sisältö: <ph name="CURRENT_ELEMENT" />/<ph name="TOTAL_ELEMENTS" /></translation> <translation id="4739639199548674512">Tukipyynnöt</translation> <translation id="4743260470722568160"><ph name="BEGIN_LINK" />Katso, miten sovelluksia päivitetään<ph name="END_LINK" /></translation> <translation id="4744981231093950366">{NUM_TABS,plural, =1{Poista sivuston mykistys}other{Poista sivustojen mykistys}}</translation> @@ -4140,6 +4141,7 @@ <translation id="6011449291337289699">Tyhjennä sivustotiedot</translation> <translation id="6015266928248016057">Väärä PUK-koodi. Yrityksiä jäljellä: <ph name="RETRIES" />.</translation> <translation id="6015796118275082299">Vuosi</translation> +<translation id="6016178549409952427">Siirry ylimääräiseen sisältöön: <ph name="CURRENT_ELEMENT" />/<ph name="TOTAL_ELEMENTS" /></translation> <translation id="6016551720757758985">Powerwashin vahvistaminen palauttaa käyttöön edellisen version</translation> <translation id="6016972670657536680">Valitse kieli ja näppäimistöpainike. <ph name="LANGUAGE" /> on nyt valittuna.</translation> <translation id="6017514345406065928">Vihreä</translation> @@ -6447,6 +6449,7 @@ <translation id="8811862054141704416">Crostinin mikrofonin käyttöoikeus</translation> <translation id="8812552797690463522">Tämä verkko on jaettu kanssasi.</translation> <translation id="8812593354822910461">Poista myös selaustiedot (<ph name="URL" />), jolloin sinut kirjataan ulos <ph name="DOMAIN" />-sivulta. <ph name="LEARN_MORE" /></translation> +<translation id="8813277370772331957">Muistuta myöhemmin</translation> <translation id="8813698869395535039">Sisäänkirjautuminen ei onnistu: <ph name="USERNAME" /></translation> <translation id="8813872945700551674">Pyydä vanhempaa hyväksymään <ph name="EXTENSION_NAME" /></translation> <translation id="8813969267212093033">Järjestelmäteksti näkyy tällä kielellä</translation> @@ -6477,6 +6480,7 @@ <translation id="8838601485495657486">Läpinäkymätön</translation> <translation id="8838770651474809439">Hampurilainen</translation> <translation id="883911313571074303">Lisää kuvaan muistiinpano</translation> +<translation id="8841843049738266382">Lukea ja muokata sallittuja käyttäjiä</translation> <translation id="8842594465773264717">Poista tämä sormenjälki</translation> <translation id="8845001906332463065">Hae ohjeita</translation> <translation id="8846132060409673887">Lue tietokoneen valmistaja ja malli</translation>
diff --git a/chrome/app/resources/generated_resources_fil.xtb b/chrome/app/resources/generated_resources_fil.xtb index 797ec2f3..e7df7deb 100644 --- a/chrome/app/resources/generated_resources_fil.xtb +++ b/chrome/app/resources/generated_resources_fil.xtb
@@ -1139,7 +1139,6 @@ <translation id="2340263603246777781">Gustong makipagpares ng <ph name="ORIGIN" /></translation> <translation id="2342740338116612727">Nagdagdag ng mga bookmark</translation> <translation id="2343747224442182863">I-focus ang Tab na Ito</translation> -<translation id="2344686470986284227">Sinisimulan ang controller ng virtual machine</translation> <translation id="2345723121311404059">1 page sa <ph name="PRINTER_NAME" /></translation> <translation id="2347644257713614136">Ang paggamit ng Hangouts at Cast for Education ay nasasaklawan ng Patakaran sa Privacy ng Google.</translation> <translation id="2348176352564285430">App: <ph name="ARC_PROCESS_NAME" /></translation> @@ -1475,6 +1474,7 @@ <translation id="2731700343119398978">Mangyaring maghintay...</translation> <translation id="2731710757838467317">Ginagawa ang iyong pinangangasiwaang user. Maaari itong tumagal ng ilang sandali.</translation> <translation id="2731971182069536520">Sa susunod na i-restart mo ang iyong device, magsasagawa ang administrator mo ng isang beses na pag-update na magde-delete sa iyong lokal na data.</translation> +<translation id="2732134891301408122">Karagdagang content na <ph name="CURRENT_ELEMENT" /> sa <ph name="TOTAL_ELEMENTS" /></translation> <translation id="2734760316755174687">Mare-reset din ang mga site sa ilalim ng <ph name="SITE_GROUP_NAME" />.</translation> <translation id="2735712963799620190">Iskedyul</translation> <translation id="2737363922397526254">Tiklupin...</translation> @@ -3122,6 +3122,7 @@ <translation id="4735803855089279419">Hindi natukoy ng system ang mga pagkakakilanlan ng device para sa device na ito.</translation> <translation id="4736292055110123391">I-sync ang iyong mga bookmark, password, history, at higit pa sa lahat ng device mo</translation> <translation id="473775607612524610">I-update</translation> +<translation id="473936925429402449">Pinili, karagdagang content na <ph name="CURRENT_ELEMENT" /> sa <ph name="TOTAL_ELEMENTS" /></translation> <translation id="4739639199548674512">Mga Ticket</translation> <translation id="4743260470722568160"><ph name="BEGIN_LINK" />Alamin kung paano i-update ang mga application<ph name="END_LINK" /></translation> <translation id="4744981231093950366">{NUM_TABS,plural, =1{I-unmute ang site}one{I-unmute ang mga site}other{I-unmute ang mga site}}</translation> @@ -4143,6 +4144,7 @@ <translation id="6011449291337289699">I-clear ang data ng site</translation> <translation id="6015266928248016057">Di-wasto ang PUK. Natitirang pag-retry: <ph name="RETRIES" />.</translation> <translation id="6015796118275082299">Taon</translation> +<translation id="6016178549409952427">Mag-navigate sa karagdagang content na <ph name="CURRENT_ELEMENT" /> sa <ph name="TOTAL_ELEMENTS" /></translation> <translation id="6016551720757758985">Kumpirmahin ang Powerwash na maaaring bumalik sa dating bersyon</translation> <translation id="6016972670657536680">Button ng pumili ng wika at keyboard. Ang kasalukuyang napiling wika ay <ph name="LANGUAGE" />.</translation> <translation id="6017514345406065928">Berde</translation> @@ -6450,6 +6452,7 @@ <translation id="8811862054141704416">Access sa mikropono ng Crostini</translation> <translation id="8812552797690463522">Ibinabahagi sa iyo ang network na ito.</translation> <translation id="8812593354822910461">I-clear din ang data mula sa pag-browse (<ph name="URL" />) na posibleng mag-sign out sa iyo sa <ph name="DOMAIN" />. <ph name="LEARN_MORE" /></translation> +<translation id="8813277370772331957">Ipaalala sa akin sa ibang pagkakataon</translation> <translation id="8813698869395535039">Hindi makapag-sign in sa <ph name="USERNAME" /></translation> <translation id="8813872945700551674">Ipaapruba sa magulang ang "<ph name="EXTENSION_NAME" />"</translation> <translation id="8813969267212093033">Ipinapakita sa wikang ito ang system text</translation> @@ -6480,6 +6483,7 @@ <translation id="8838601485495657486">Opaque</translation> <translation id="8838770651474809439">Hamburger</translation> <translation id="883911313571074303">I-annotate ang larawan</translation> +<translation id="8841843049738266382">Basahin at baguhin ang mga naka-allowlist na user</translation> <translation id="8842594465773264717">I-delete ang fingerprint na ito</translation> <translation id="8845001906332463065">Humingi ng tulong</translation> <translation id="8846132060409673887">I-read ang manufacturer at modelo ng computer na ito</translation>
diff --git a/chrome/app/resources/generated_resources_fr-CA.xtb b/chrome/app/resources/generated_resources_fr-CA.xtb index 2d036c1..7535dc6 100644 --- a/chrome/app/resources/generated_resources_fr-CA.xtb +++ b/chrome/app/resources/generated_resources_fr-CA.xtb
@@ -1139,7 +1139,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" /> veut s'associer</translation> <translation id="2342740338116612727">Favoris ajoutés</translation> <translation id="2343747224442182863">Mettre cet onglet en évidence</translation> -<translation id="2344686470986284227">Démarrage du contrôleur de la machine virtuelle en cours…</translation> <translation id="2345723121311404059">1 page vers <ph name="PRINTER_NAME" /></translation> <translation id="2347644257713614136">L'utilisation de Hangouts et de Cast for Education est régie par la politique de confidentialité de Google.</translation> <translation id="2348176352564285430">Application : <ph name="ARC_PROCESS_NAME" /></translation> @@ -1476,6 +1475,7 @@ <translation id="2731700343119398978">Veuillez patienter...</translation> <translation id="2731710757838467317">Création de l'utilisateur supervisé en cours. Cette opération peut prendre quelques instants…</translation> <translation id="2731971182069536520">La prochaine fois que vous redémarrerez votre appareil, l'administrateur effectuera une mise à jour exceptionnelle qui entraînera la suppression de vos données locales.</translation> +<translation id="2732134891301408122">Contenu supplémentaire <ph name="CURRENT_ELEMENT" /> sur<ph name="TOTAL_ELEMENTS" /></translation> <translation id="2734760316755174687">Les sites sous <ph name="SITE_GROUP_NAME" /> seront également réinitialisés.</translation> <translation id="2735712963799620190">Horaire</translation> <translation id="2737363922397526254">Réduire...</translation> @@ -3123,6 +3123,7 @@ <translation id="4735803855089279419">Impossible de déterminer quels sont les identifiants de cet appareil.</translation> <translation id="4736292055110123391">Synchronisez vos favoris, vos mots de passe, votre historique et plus encore sur tous vos appareils</translation> <translation id="473775607612524610">Mise à jour</translation> +<translation id="473936925429402449">Sélectionné, contenu supplémentaire <ph name="CURRENT_ELEMENT" /> sur <ph name="TOTAL_ELEMENTS" /></translation> <translation id="4739639199548674512">Tickets</translation> <translation id="4743260470722568160"><ph name="BEGIN_LINK" />Découvrir comment mettre à jour des applications<ph name="END_LINK" /></translation> <translation id="4744981231093950366">{NUM_TABS,plural, =1{Réactiver le son sur le site}one{Réactiver le son sur le site}other{Réactiver le son sur les sites}}</translation> @@ -4144,6 +4145,7 @@ <translation id="6011449291337289699">Effacer les données du site</translation> <translation id="6015266928248016057">Clé PUK incorrecte. Tentatives restantes : <ph name="RETRIES" />.</translation> <translation id="6015796118275082299">Année</translation> +<translation id="6016178549409952427">Naviguer vers l'élément de contenu supplémentaire <ph name="CURRENT_ELEMENT" /> sur <ph name="TOTAL_ELEMENTS" /></translation> <translation id="6016551720757758985">Confirmez la fonctionnalité Powerwash avec un retour à la version précédente</translation> <translation id="6016972670657536680">Sélectionnez une langue et une touche du clavier. Langue actuellement sélectionnée : <ph name="LANGUAGE" />.</translation> <translation id="6017514345406065928">Vert</translation> @@ -6449,6 +6451,7 @@ <translation id="8811862054141704416">Accès au microphone pour Crostini</translation> <translation id="8812552797690463522">Ce réseau est partagé avec vous.</translation> <translation id="8812593354822910461">Aussi effacer les données de navigation (<ph name="URL" />), ce qui vous déconnectera de <ph name="DOMAIN" />. <ph name="LEARN_MORE" /></translation> +<translation id="8813277370772331957">Me le rappeler plus tard</translation> <translation id="8813698869395535039">Impossible de connecter <ph name="USERNAME" /></translation> <translation id="8813872945700551674">Demande à un parent d'approuver l'extension « <ph name="EXTENSION_NAME" /> »</translation> <translation id="8813969267212093033">Le texte du système est affiché dans cette langue</translation> @@ -6479,6 +6482,7 @@ <translation id="8838601485495657486">Opaque</translation> <translation id="8838770651474809439">Hamburger</translation> <translation id="883911313571074303">Annoter l'image</translation> +<translation id="8841843049738266382">Consulter et modifier les utilisateurs ajoutés à la liste verte</translation> <translation id="8842594465773264717">Supprimer cette empreinte digitale</translation> <translation id="8845001906332463065">Obtenir de l'aide</translation> <translation id="8846132060409673887">Trouvez le fabricant et le modèle de cet ordinateur</translation>
diff --git a/chrome/app/resources/generated_resources_fr.xtb b/chrome/app/resources/generated_resources_fr.xtb index 56856f4f9..e7f2aa23 100644 --- a/chrome/app/resources/generated_resources_fr.xtb +++ b/chrome/app/resources/generated_resources_fr.xtb
@@ -1139,7 +1139,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" /> tente de s'associer</translation> <translation id="2342740338116612727">Favoris ajoutés</translation> <translation id="2343747224442182863">Sélectionner cet onglet</translation> -<translation id="2344686470986284227">Démarrage du contrôleur de la machine virtuelle…</translation> <translation id="2345723121311404059">1 page sur <ph name="PRINTER_NAME" /></translation> <translation id="2347644257713614136">L'utilisation de Hangouts et de Cast for Education est régie par les règles de confidentialité de Google.</translation> <translation id="2348176352564285430">Application : <ph name="ARC_PROCESS_NAME" /></translation> @@ -1475,6 +1474,7 @@ <translation id="2731700343119398978">Veuillez patienter…</translation> <translation id="2731710757838467317">Création de l'utilisateur supervisé en cours. Cette opération peut prendre quelques instants…</translation> <translation id="2731971182069536520">La prochaine fois que vous redémarrerez votre appareil, l'administrateur effectuera une mise à jour exceptionnelle qui entraînera la suppression de vos données locales.</translation> +<translation id="2732134891301408122">Contenu supplémentaire <ph name="CURRENT_ELEMENT" /> sur <ph name="TOTAL_ELEMENTS" /></translation> <translation id="2734760316755174687">Les sites appartenant à <ph name="SITE_GROUP_NAME" /> seront également réinitialisés.</translation> <translation id="2735712963799620190">Horaires</translation> <translation id="2737363922397526254">Réduire...</translation> @@ -3122,6 +3122,7 @@ <translation id="4735803855089279419">Impossible de déterminer les identifiants de cet appareil.</translation> <translation id="4736292055110123391">Synchronisez vos favoris, vos mots de passe, votre historique et plus encore sur tous vos appareils</translation> <translation id="473775607612524610">Mettre à jour</translation> +<translation id="473936925429402449">Sélectionné, contenu supplémentaire <ph name="CURRENT_ELEMENT" /> sur <ph name="TOTAL_ELEMENTS" /></translation> <translation id="4739639199548674512">Tickets</translation> <translation id="4743260470722568160"><ph name="BEGIN_LINK" />Découvrir comment mettre à jour des applications<ph name="END_LINK" /></translation> <translation id="4744981231093950366">{NUM_TABS,plural, =1{Réactiver le son du site}one{Réactiver le son du site}other{Réactiver le son des sites}}</translation> @@ -4144,6 +4145,7 @@ <translation id="6011449291337289699">Effacer les données de sites</translation> <translation id="6015266928248016057">Clé PUK incorrecte. Il vous reste <ph name="RETRIES" /> tentative(s).</translation> <translation id="6015796118275082299">Année</translation> +<translation id="6016178549409952427">Accéder au contenu supplémentaire <ph name="CURRENT_ELEMENT" /> sur <ph name="TOTAL_ELEMENTS" /></translation> <translation id="6016551720757758985">Confirmer la réinitialisation Powerwash et rétablir la version précédente</translation> <translation id="6016972670657536680">Bouton de sélection de la langue et du clavier. Langue actuellement sélectionnée : <ph name="LANGUAGE" />.</translation> <translation id="6017514345406065928">Vert</translation> @@ -6450,6 +6452,7 @@ <translation id="8811862054141704416">Accès au micro sur Crostini</translation> <translation id="8812552797690463522">Ce réseau est partagé avec vous.</translation> <translation id="8812593354822910461">Effacer également les données de navigation (<ph name="URL" />), ce qui vous déconnectera de <ph name="DOMAIN" />. <ph name="LEARN_MORE" /></translation> +<translation id="8813277370772331957">Plus tard</translation> <translation id="8813698869395535039">Impossible de se connecter au compte <ph name="USERNAME" /></translation> <translation id="8813872945700551674">Demande à l'un de tes parents d'approuver l'extension "<ph name="EXTENSION_NAME" />"</translation> <translation id="8813969267212093033">Cette langue est utilisée pour le texte du système</translation> @@ -6480,6 +6483,7 @@ <translation id="8838601485495657486">Opaque</translation> <translation id="8838770651474809439">Hamburger</translation> <translation id="883911313571074303">Annoter l'image</translation> +<translation id="8841843049738266382">Accéder aux comptes utilisateur sur liste d'autorisation et les modifier</translation> <translation id="8842594465773264717">Supprimer cette empreinte digitale</translation> <translation id="8845001906332463065">Obtenir de l'aide</translation> <translation id="8846132060409673887">Lire le fabricant et le modèle de cet ordinateur</translation>
diff --git a/chrome/app/resources/generated_resources_gl.xtb b/chrome/app/resources/generated_resources_gl.xtb index e2bd7330..09fe9d8 100644 --- a/chrome/app/resources/generated_resources_gl.xtb +++ b/chrome/app/resources/generated_resources_gl.xtb
@@ -1138,7 +1138,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" /> quere sincronizarse</translation> <translation id="2342740338116612727">Engadíronse marcadores</translation> <translation id="2343747224442182863">Enfocar esta pestana</translation> -<translation id="2344686470986284227">Iniciando controlador de máquinas virtuais</translation> <translation id="2345723121311404059">1 páxina a: <ph name="PRINTER_NAME" /></translation> <translation id="2347644257713614136">O uso de Hangouts e Cast for Education réxese pola Política de privacidade de Google.</translation> <translation id="2348176352564285430">Aplicación: <ph name="ARC_PROCESS_NAME" /></translation> @@ -1474,6 +1473,7 @@ <translation id="2731700343119398978">Agarda...</translation> <translation id="2731710757838467317">Estase creando o teu usuario supervisado. É posible que esta acción tarde uns minutos.</translation> <translation id="2731971182069536520">A próxima vez que reinicies o dispositivo, o administrador levará a cabo unha actualización única que eliminará os teus datos locais.</translation> +<translation id="2732134891301408122">Contido extra: <ph name="CURRENT_ELEMENT" /> de <ph name="TOTAL_ELEMENTS" /></translation> <translation id="2734760316755174687">Tamén se restablecerán os sitios situados en <ph name="SITE_GROUP_NAME" />.</translation> <translation id="2735712963799620190">Programación</translation> <translation id="2737363922397526254">Contraer...</translation> @@ -3121,6 +3121,7 @@ <translation id="4735803855089279419">O sistema non puido determinar os identificadores deste dispositivo.</translation> <translation id="4736292055110123391">Sincronizar os marcadores, os contrasinais, o historial e máis datos en todos os teus dispositivos</translation> <translation id="473775607612524610">Actualizar</translation> +<translation id="473936925429402449">Botón de contido extra (seleccionado): <ph name="CURRENT_ELEMENT" /> de <ph name="TOTAL_ELEMENTS" /></translation> <translation id="4739639199548674512">Tíckets</translation> <translation id="4743260470722568160"><ph name="BEGIN_LINK" />Máis información sobre como actualizar as aplicacións<ph name="END_LINK" /></translation> <translation id="4744981231093950366">{NUM_TABS,plural, =1{Activar o son do sitio}other{Activar o son dos sitios}}</translation> @@ -4142,6 +4143,7 @@ <translation id="6011449291337289699">Borrar datos do sitio</translation> <translation id="6015266928248016057">O PUK non é válido. Intentos restantes: <ph name="RETRIES" />.</translation> <translation id="6015796118275082299">Ano</translation> +<translation id="6016178549409952427">Ir ao contido extra: <ph name="CURRENT_ELEMENT" /> de <ph name="TOTAL_ELEMENTS" /></translation> <translation id="6016551720757758985">Confirmar o powerwash para volver á versión anterior</translation> <translation id="6016972670657536680">Selecciona o idioma e o botón do teclado. O idioma seleccionado actualmente é: <ph name="LANGUAGE" />.</translation> <translation id="6017514345406065928">Verde</translation> @@ -6447,6 +6449,7 @@ <translation id="8811862054141704416">Acceso ao micrófono de Crostini</translation> <translation id="8812552797690463522">Esta rede compártese contigo.</translation> <translation id="8812593354822910461">Borrar tamén os datos de navegación (<ph name="URL" />), o que pode provocar que peches sesión en <ph name="DOMAIN" />. <ph name="LEARN_MORE" /></translation> +<translation id="8813277370772331957">Lembrarmo máis tarde</translation> <translation id="8813698869395535039">Non se pode iniciar a sesión de <ph name="USERNAME" /></translation> <translation id="8813872945700551674">Busca a teu pai ou túa nai para que aprobe "<ph name="EXTENSION_NAME" />"</translation> <translation id="8813969267212093033">O texto do sistema móstrase neste idioma</translation> @@ -6477,6 +6480,7 @@ <translation id="8838601485495657486">Opaco</translation> <translation id="8838770651474809439">Hamburguesa</translation> <translation id="883911313571074303">Engadir notas á imaxe</translation> +<translation id="8841843049738266382">Ler e cambiar a lista de usuarios permitidos</translation> <translation id="8842594465773264717">Eliminar esta impresión dixital</translation> <translation id="8845001906332463065">Obter axuda</translation> <translation id="8846132060409673887">Consultar o fabricante e o modelo deste ordenador</translation>
diff --git a/chrome/app/resources/generated_resources_gu.xtb b/chrome/app/resources/generated_resources_gu.xtb index a04d25e6..4935569 100644 --- a/chrome/app/resources/generated_resources_gu.xtb +++ b/chrome/app/resources/generated_resources_gu.xtb
@@ -1135,7 +1135,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" />, જોડી કરવા માગે છે</translation> <translation id="2342740338116612727">બુકમાર્ક ઉમેર્યા</translation> <translation id="2343747224442182863">આ ટૅબ પર ફોકસ કરો</translation> -<translation id="2344686470986284227">વર્ચ્યુઅલ મશીન નિયંત્રક શરૂ કરી રહ્યાં છીએ</translation> <translation id="2345723121311404059"><ph name="PRINTER_NAME" /> પર 1 પેજ</translation> <translation id="2347644257713614136">Hangoutsનો ઉપયોગ અને Cast for Education એ Google ગોપનીયતા નીતિ દ્વારા સંચાલિત છે.</translation> <translation id="2348176352564285430">ઍપ્લિકેશન: <ph name="ARC_PROCESS_NAME" /></translation> @@ -1471,6 +1470,7 @@ <translation id="2731700343119398978">કૃપા કરીને રાહ જુઓ...</translation> <translation id="2731710757838467317">તમારો નિરીક્ષિત વપરાશકર્તા બનાવી રહ્યું છે. આમાં થોડો સમય લાગી શકે છે.</translation> <translation id="2731971182069536520">આગલી વખતે તમે તમારું ડિવાઇસ ફરી શરૂ કરશો, ત્યારે તમારા વ્યવસ્થાપક એક-સમયનો અપડેટ કરશે, જેના કારણે તમારો બધો સ્થાનિક ડેટા ડિલીટ થઈ જશે.</translation> +<translation id="2732134891301408122"><ph name="TOTAL_ELEMENTS" />માંથી વધારાના <ph name="CURRENT_ELEMENT" /> કન્ટેન્ટ</translation> <translation id="2734760316755174687"><ph name="SITE_GROUP_NAME" /> હેઠળની સાઇટ પણ રીસેટ કરવામાં આવશે.</translation> <translation id="2735712963799620190">શેડ્યૂલ</translation> <translation id="2737363922397526254">સંકુચિત કરો...</translation> @@ -3118,6 +3118,7 @@ <translation id="4735803855089279419">આ ડિવાઇસ માટે ડિવાઇસ ઓળખકર્તા નક્કી કરવામાં સિસ્ટમ નિષ્ફળ થઈ.</translation> <translation id="4736292055110123391">તમારા બધા ડિવાઇસ પર તમારા બુકમાર્ક, પાસવર્ડ, ઇતિહાસ અને વધુ સિંક કરો</translation> <translation id="473775607612524610">અપડેટ કરો</translation> +<translation id="473936925429402449">પસંદ કરેલા, <ph name="TOTAL_ELEMENTS" />માંથી વધારાના <ph name="CURRENT_ELEMENT" /> કન્ટેન્ટ</translation> <translation id="4739639199548674512">ટિકિટ</translation> <translation id="4743260470722568160"><ph name="BEGIN_LINK" />ઍપ્લિકેશનો કેવી રીતે અપલોડ કરવી તે જાણો<ph name="END_LINK" /></translation> <translation id="4744981231093950366">{NUM_TABS,plural, =1{સાઇટને અનમ્યૂટ કરો}one{સાઇટને અનમ્યૂટ કરો}other{સાઇટને અનમ્યૂટ કરો}}</translation> @@ -4141,6 +4142,7 @@ <translation id="6011449291337289699">સાઇટનો ડેટા સાફ કરો</translation> <translation id="6015266928248016057">અમાન્ય PUK. બાકીના ફરી પ્રયાસો: <ph name="RETRIES" />.</translation> <translation id="6015796118275082299">વર્ષ</translation> +<translation id="6016178549409952427"><ph name="TOTAL_ELEMENTS" />માંથી વધારાના <ph name="CURRENT_ELEMENT" /> કન્ટેન્ટ પર નૅવિગેટ કરો</translation> <translation id="6016551720757758985">અગાઉના વર્ઝન પર પાછા ફરવાની સાથે Powerwashની ખાતરી કરો</translation> <translation id="6016972670657536680">ભાષા અને કીબોર્ડ બટન પસંદ કરો. હાલમાં પસંદ કરેલ ભાષા <ph name="LANGUAGE" /> છે.</translation> <translation id="6017514345406065928">લીલો</translation> @@ -6441,6 +6443,7 @@ <translation id="8811862054141704416">માઇક્રોફોનને Crostiniનો ઍક્સેસ આપવાના સેટિંગ</translation> <translation id="8812552797690463522">આ નેટવર્ક તમારી સાથે શેર કરેલું છે.</translation> <translation id="8812593354822910461">બ્રાઉઝિંગ ડેટા (<ph name="URL" />) પણ સાફ કરો જે તમને <ph name="DOMAIN" />માંથી સાઇન આઉટ કરશે. <ph name="LEARN_MORE" /></translation> +<translation id="8813277370772331957">મને પછીથી યાદ કરાવો</translation> <translation id="8813698869395535039"><ph name="USERNAME" /> પર સાઇન ઇન કરી શકતાં નથી</translation> <translation id="8813872945700551674">જાઓ અને માતાપિતા પાસેથી "<ph name="EXTENSION_NAME" />"ની મંજૂરી મેળવો</translation> <translation id="8813969267212093033">સિસ્ટમ ટેક્સ્ટ આ ભાષામાં દર્શાવાય છે</translation> @@ -6471,6 +6474,7 @@ <translation id="8838601485495657486">અપારદર્શક</translation> <translation id="8838770651474809439">હૅમ્બર્ગર</translation> <translation id="883911313571074303">છબીમાં ટીકા કરો</translation> +<translation id="8841843049738266382">વ્હાઇટલિસ્ટ કરેલા વપરાશકર્તાઓને વાંચો અને બદલો</translation> <translation id="8842594465773264717">આ ફિંગરપ્રિન્ટને ડિલીટ કરો</translation> <translation id="8845001906332463065">સહાય મેળવો</translation> <translation id="8846132060409673887">આ કમ્પ્યુટરના ઉત્પાદક અને મૉડલનું નામ વાંચો</translation>
diff --git a/chrome/app/resources/generated_resources_hi.xtb b/chrome/app/resources/generated_resources_hi.xtb index e0962644..74532697 100644 --- a/chrome/app/resources/generated_resources_hi.xtb +++ b/chrome/app/resources/generated_resources_hi.xtb
@@ -1139,7 +1139,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" /> युग्मित करना चाहता है</translation> <translation id="2342740338116612727">बुकमार्क जोड़े गए</translation> <translation id="2343747224442182863">इस टैब पर फ़ोकस करें</translation> -<translation id="2344686470986284227">वर्चुअल मशीन कंट्रोलर शुरू हो रहा है</translation> <translation id="2345723121311404059"><ph name="PRINTER_NAME" /> में 1 पेज</translation> <translation id="2347644257713614136">Hangouts और Cast for Education का इस्तेमाल 'Google निजता नीति' से नियंत्रित होता है.</translation> <translation id="2348176352564285430">ऐप्लिकेशन: <ph name="ARC_PROCESS_NAME" /></translation>
diff --git a/chrome/app/resources/generated_resources_hr.xtb b/chrome/app/resources/generated_resources_hr.xtb index bed20aa..e47ac49 100644 --- a/chrome/app/resources/generated_resources_hr.xtb +++ b/chrome/app/resources/generated_resources_hr.xtb
@@ -1139,7 +1139,6 @@ <translation id="2340263603246777781">Web-lokacija <ph name="ORIGIN" /> želi se upariti</translation> <translation id="2342740338116612727">Oznake su dodane</translation> <translation id="2343747224442182863">Fokusiraj tu karticu</translation> -<translation id="2344686470986284227">Pokretanje upravljača virtualnog računala</translation> <translation id="2345723121311404059">1 stranica na pisač <ph name="PRINTER_NAME" /></translation> <translation id="2347644257713614136">Upotrebu usluga Hangouts i Cast for Education reguliraju Googleova pravila o privatnosti.</translation> <translation id="2348176352564285430">Aplikacija: <ph name="ARC_PROCESS_NAME" /></translation>
diff --git a/chrome/app/resources/generated_resources_hu.xtb b/chrome/app/resources/generated_resources_hu.xtb index 6d2d18d..e17a99f 100644 --- a/chrome/app/resources/generated_resources_hu.xtb +++ b/chrome/app/resources/generated_resources_hu.xtb
@@ -1139,7 +1139,6 @@ <translation id="2340263603246777781">A(z) <ph name="ORIGIN" /> párosítást szeretne végrehajtani</translation> <translation id="2342740338116612727">Könyvjelzők hozzáadva</translation> <translation id="2343747224442182863">Fókusz erre a lapra</translation> -<translation id="2344686470986284227">A virtuális gép vezérlőjének indítása</translation> <translation id="2345723121311404059">1 oldal nyomtatása a következőn: <ph name="PRINTER_NAME" /></translation> <translation id="2347644257713614136">A Hangouts és a Cast for Education használatára a Google Adatvédelmi irányelvei vonatkoznak.</translation> <translation id="2348176352564285430">Alkalmazás: <ph name="ARC_PROCESS_NAME" /></translation> @@ -1475,6 +1474,7 @@ <translation id="2731700343119398978">Kérjük, várjon...</translation> <translation id="2731710757838467317">Felügyelt felhasználó létrehozása. Ez eltarthat egy ideig.</translation> <translation id="2731971182069536520">Az eszköz következő újraindításakor a rendszergazda egyszeri frissítést fog végezni, amely törli a helyi adatokat.</translation> +<translation id="2732134891301408122"><ph name="TOTAL_ELEMENTS" />/<ph name="CURRENT_ELEMENT" />. extra tartalom</translation> <translation id="2734760316755174687">A(z) <ph name="SITE_GROUP_NAME" /> csoportba tartozó webhelyek visszaállítása is megtörténik.</translation> <translation id="2735712963799620190">Ütemezés</translation> <translation id="2737363922397526254">Listanézet...</translation> @@ -3121,6 +3121,7 @@ <translation id="4735803855089279419">A rendszer nem tudta megállapítani az eszközazonosítókat ehhez az eszközhöz.</translation> <translation id="4736292055110123391">Könyvjelzők, jelszavak, előzmények és más adatok szinkronizálása minden eszközén</translation> <translation id="473775607612524610">Frissítés</translation> +<translation id="473936925429402449">Kiválasztva, <ph name="TOTAL_ELEMENTS" />/<ph name="CURRENT_ELEMENT" />. extra tartalom</translation> <translation id="4739639199548674512">Jegyek</translation> <translation id="4743260470722568160"><ph name="BEGIN_LINK" />További információ az alkalmazások frissítéséről<ph name="END_LINK" /></translation> <translation id="4744981231093950366">{NUM_TABS,plural, =1{Webhely némításának feloldása}other{Webhelyek némításának feloldása}}</translation> @@ -4144,6 +4145,7 @@ <translation id="6011449291337289699">Webhelyadatok törlése</translation> <translation id="6015266928248016057">Érvénytelen PUK-kód. Próbálkozási lehetőségek száma: <ph name="RETRIES" />.</translation> <translation id="6015796118275082299">Év</translation> +<translation id="6016178549409952427">Navigálás a(z) <ph name="TOTAL_ELEMENTS" />/<ph name="CURRENT_ELEMENT" />. extra tartalomhoz.</translation> <translation id="6016551720757758985">A Powerwash és az előző verzióhoz való visszatérés megerősítése</translation> <translation id="6016972670657536680">Nyelv- és billentyűzetválasztó gomb. A jelenleg kiválasztott nyelv: <ph name="LANGUAGE" />.</translation> <translation id="6017514345406065928">Zöld</translation> @@ -6450,6 +6452,7 @@ <translation id="8811862054141704416">A Crostini mikrofon-hozzáférése</translation> <translation id="8812552797690463522">Ez a hálózat meg van osztva Önnel.</translation> <translation id="8812593354822910461">A böngészési adatok (<ph name="URL" />) törlésével együtt, ami kiléptetheti a(z) <ph name="DOMAIN" /> webhelyéről. <ph name="LEARN_MORE" />.</translation> +<translation id="8813277370772331957">Emlékeztessen később</translation> <translation id="8813698869395535039">Nem lehet bejelentkezni a következő fiókba: <ph name="USERNAME" /></translation> <translation id="8813872945700551674">Szülői jóváhagyás kérése a következőhöz: <ph name="EXTENSION_NAME" /></translation> <translation id="8813969267212093033">A rendszerszövegek ezen a nyelven jelennek meg.</translation> @@ -6480,6 +6483,7 @@ <translation id="8838601485495657486">Átlátszatlan</translation> <translation id="8838770651474809439">Hamburger</translation> <translation id="883911313571074303">Megjegyzés fűzése a képhez</translation> +<translation id="8841843049738266382">Engedélyezőlistára tett felhasználók megtekintése és módosítása</translation> <translation id="8842594465773264717">Ennek az ujjlenyomatnak a törlése</translation> <translation id="8845001906332463065">Súgó</translation> <translation id="8846132060409673887">A számítógép gyártójának és típusának elolvasása</translation>
diff --git a/chrome/app/resources/generated_resources_hy.xtb b/chrome/app/resources/generated_resources_hy.xtb index 6a33a089..6adb4f8 100644 --- a/chrome/app/resources/generated_resources_hy.xtb +++ b/chrome/app/resources/generated_resources_hy.xtb
@@ -1139,7 +1139,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" /> կայքն ուզում է զուգակցվել</translation> <translation id="2342740338116612727">Էջանիշներն ավելացվեցին</translation> <translation id="2343747224442182863">Ֆոկուսավորել այս ներդիրը</translation> -<translation id="2344686470986284227">Վիրտուալ մեքենայի կարգավորիչը գործարկվում է</translation> <translation id="2345723121311404059">1 էջ <ph name="PRINTER_NAME" /> տպիչով</translation> <translation id="2347644257713614136">Hangouts-ի և Cast for Education-ի օգտագործումը կարգավորվում է Google-ի գաղտնիության քաղաքականությամբ:</translation> <translation id="2348176352564285430">Հավելված՝ <ph name="ARC_PROCESS_NAME" /></translation> @@ -3532,7 +3531,7 @@ <translation id="5265797726250773323">Չհաջողվեց տեղադրել</translation> <translation id="5266113311903163739">Հավաստագրման կենտրոնի ներմուծման սխալ</translation> <translation id="5269977353971873915">Չհաջողվեց տպել</translation> -<translation id="5274738462757057090">Chrome դիտարկիչում ավտոմատ ստեղծում է ենթագրեր մեդիա ֆայլի համար (այս պահին հասանելի է միայն անգլերեն լեզվով)</translation> +<translation id="5274738462757057090">Chrome դիտարկիչում ավտոմատ ստեղծում է ենթագրեր մեդիա ֆայլերի համար (այս պահին հասանելի է միայն անգլերեն լեզվով)</translation> <translation id="5275352920323889391">Շուն</translation> <translation id="527605982717517565">Միշտ թույլ տալ JavaScript-ը <ph name="HOST" />-ում</translation> <translation id="5278823018825269962">Կարգավիճակի նույնացուցիչ</translation>
diff --git a/chrome/app/resources/generated_resources_id.xtb b/chrome/app/resources/generated_resources_id.xtb index 8a00f39d..631aec3 100644 --- a/chrome/app/resources/generated_resources_id.xtb +++ b/chrome/app/resources/generated_resources_id.xtb
@@ -1139,7 +1139,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" /> ingin menyandingkan</translation> <translation id="2342740338116612727">Bookmark ditambahkan</translation> <translation id="2343747224442182863">Fokuskan Tab Ini</translation> -<translation id="2344686470986284227">Memulai pengontrol mesin virtual</translation> <translation id="2345723121311404059">1 halaman ke <ph name="PRINTER_NAME" /></translation> <translation id="2347644257713614136">Penggunaan Hangouts dan Cast for Education diatur oleh Kebijakan Privasi Google.</translation> <translation id="2348176352564285430">Aplikasi: <ph name="ARC_PROCESS_NAME" /></translation> @@ -1475,6 +1474,7 @@ <translation id="2731700343119398978">Harap tunggu...</translation> <translation id="2731710757838467317">Membuat akun Anda yang diawasi. Proses ini membutuhkan beberapa saat.</translation> <translation id="2731971182069536520">Saat berikutnya Anda memulai ulang perangkat, administrator Anda akan menjalankan update satu kali yang akan menghapus data lokal Anda.</translation> +<translation id="2732134891301408122">Konten tambahan <ph name="CURRENT_ELEMENT" /> dari <ph name="TOTAL_ELEMENTS" /></translation> <translation id="2734760316755174687">Situs pada <ph name="SITE_GROUP_NAME" /> juga akan direset.</translation> <translation id="2735712963799620190">Jadwal</translation> <translation id="2737363922397526254">Ciutkan...</translation> @@ -3122,6 +3122,7 @@ <translation id="4735803855089279419">Sistem gagal menentukan ID perangkat untuk perangkat ini.</translation> <translation id="4736292055110123391">Sinkronisasikan bookmark, sandi, histori, dan lainnya di semua perangkat Anda</translation> <translation id="473775607612524610">Perbarui</translation> +<translation id="473936925429402449">Dipilih, konten tambahan <ph name="CURRENT_ELEMENT" /> dari <ph name="TOTAL_ELEMENTS" /></translation> <translation id="4739639199548674512">Tiket</translation> <translation id="4743260470722568160"><ph name="BEGIN_LINK" />Pelajari cara mengupdate aplikasi<ph name="END_LINK" /></translation> <translation id="4744981231093950366">{NUM_TABS,plural, =1{Aktifkan notifikasi situs}other{Aktifkan notifikasi beberapa situs}}</translation> @@ -4143,6 +4144,7 @@ <translation id="6011449291337289699">Hapus data situs</translation> <translation id="6015266928248016057">PUK tidak valid. Percobaan ulang tersisa: <ph name="RETRIES" />.</translation> <translation id="6015796118275082299">Tahun</translation> +<translation id="6016178549409952427">Membuka konten tambahan <ph name="CURRENT_ELEMENT" /> dari <ph name="TOTAL_ELEMENTS" /></translation> <translation id="6016551720757758985">Konfirmasi Powerwash dengan kembali ke versi sebelumnya</translation> <translation id="6016972670657536680">Pilih bahasa dan tombol keyboard. Saat ini, bahasa yang dipilih adalah <ph name="LANGUAGE" />.</translation> <translation id="6017514345406065928">Hijau</translation> @@ -6162,7 +6164,7 @@ <translation id="8467326454809944210">Pilih bahasa lain</translation> <translation id="8470214316007448308">Orang Lain</translation> <translation id="8470513973197838199">Sandi yang tersimpan untuk <ph name="ORIGIN" /></translation> -<translation id="8471256130228705232"><ph name="DOMAIN" /> menonaktifkan proses debug ADB. Ini akan mereset <ph name="DEVICE_TYPE" /> Anda dalam 24 jam. Cadangkan file yang ingin Anda simpan.</translation> +<translation id="8471256130228705232"><ph name="DOMAIN" /> menonaktifkan proses debug ADB. Ini akan mereset <ph name="DEVICE_TYPE" /> Anda setelah 24 jam. Cadangkan file yang ingin Anda simpan.</translation> <translation id="8472623782143987204">cadangan hardware</translation> <translation id="8473863474539038330">Alamat dan lain-lain</translation> <translation id="8475313423285172237">Program lain di komputer Anda menambahkan ekstensi yang dapat mengubah cara kerja Chrome.</translation> @@ -6449,6 +6451,7 @@ <translation id="8811862054141704416">Akses mikrofon Crostini</translation> <translation id="8812552797690463522">Jaringan ini dibagikan kepada Anda.</translation> <translation id="8812593354822910461">Hapus juga data penjelajahan (<ph name="URL" />) yang akan membuat Anda logout dari <ph name="DOMAIN" />. <ph name="LEARN_MORE" /></translation> +<translation id="8813277370772331957">Ingatkan saya nanti</translation> <translation id="8813698869395535039">Tidak dapat masuk ke <ph name="USERNAME" /></translation> <translation id="8813872945700551674">Minta orang tuamu menyetujui "<ph name="EXTENSION_NAME" />"</translation> <translation id="8813969267212093033">Teks sistem ditampilkan dalam bahasa ini</translation> @@ -6479,6 +6482,7 @@ <translation id="8838601485495657486">Buram</translation> <translation id="8838770651474809439">Hamburger</translation> <translation id="883911313571074303">Gambar anotasi</translation> +<translation id="8841843049738266382">Membaca dan mengubah pengguna yang diizinkan</translation> <translation id="8842594465773264717">Hapus sidik jari ini</translation> <translation id="8845001906332463065">Dapatkan bantuan</translation> <translation id="8846132060409673887">Membaca produsen dan model komputer ini</translation>
diff --git a/chrome/app/resources/generated_resources_is.xtb b/chrome/app/resources/generated_resources_is.xtb index caf3aa93..c27ccdd 100644 --- a/chrome/app/resources/generated_resources_is.xtb +++ b/chrome/app/resources/generated_resources_is.xtb
@@ -1139,7 +1139,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" /> vill parast</translation> <translation id="2342740338116612727">Bókamerkjum bætt við</translation> <translation id="2343747224442182863">Setja þennan flipa í fókus</translation> -<translation id="2344686470986284227">Ræsir fjarstýringu sýndarvélar</translation> <translation id="2345723121311404059">Ein síða til <ph name="PRINTER_NAME" /></translation> <translation id="2347644257713614136">Notkun Hangouts og Cast for Education fellur undir persónuverndarstefnu Google.</translation> <translation id="2348176352564285430">Forrit: <ph name="ARC_PROCESS_NAME" /></translation> @@ -1475,6 +1474,7 @@ <translation id="2731700343119398978">Augnablik...</translation> <translation id="2731710757838467317">Verið er að búa stýrða notandann til. Þetta getur tekið smástund.</translation> <translation id="2731971182069536520">Næst þegar þú endurræsir tækið þitt keyrir kerfisstjóri staka uppfærslu sem eyðir staðbundnu gögnunum þínum.</translation> +<translation id="2732134891301408122">Aukaefni <ph name="CURRENT_ELEMENT" /> af <ph name="TOTAL_ELEMENTS" /></translation> <translation id="2734760316755174687">Vefsvæði undir <ph name="SITE_GROUP_NAME" /> verða líka endurstillt.</translation> <translation id="2735712963799620190">Áætlun</translation> <translation id="2737363922397526254">Minnka...</translation> @@ -3122,6 +3122,7 @@ <translation id="4735803855089279419">Kerfið gat ekki ákvarðað tækisauðkenni fyrir þetta tæki.</translation> <translation id="4736292055110123391">Samstilltu bókamerkin þín, aðgangsorð, feril og fleira í öllum tækjunum þínum</translation> <translation id="473775607612524610">Uppfæra</translation> +<translation id="473936925429402449">Valið, aukaefni <ph name="CURRENT_ELEMENT" /> af <ph name="TOTAL_ELEMENTS" /></translation> <translation id="4739639199548674512">Miðar</translation> <translation id="4743260470722568160"><ph name="BEGIN_LINK" />Kynntu þér hvernig á að uppfæra forrit<ph name="END_LINK" /></translation> <translation id="4744981231093950366">{NUM_TABS,plural, =1{Kveikja á hljóði svæðis}one{Kveikja á hljóði svæða}other{Kveikja á hljóði svæða}}</translation> @@ -4143,6 +4144,7 @@ <translation id="6011449291337289699">Hreinsa vefsvæðagögn</translation> <translation id="6015266928248016057">Ógilt PUK-númer. Tilraunir eftir: <ph name="RETRIES" />.</translation> <translation id="6015796118275082299">Ár</translation> +<translation id="6016178549409952427">Fletta á aukaefni <ph name="CURRENT_ELEMENT" /> af <ph name="TOTAL_ELEMENTS" /></translation> <translation id="6016551720757758985">Staðfestu að þú viljir djúphreinsa og fara aftur í fyrri útgáfu</translation> <translation id="6016972670657536680">Hnappur til að velja tungumál og lyklaborð. Tungumál sem nú er valið: <ph name="LANGUAGE" />.</translation> <translation id="6017514345406065928">Grænn</translation> @@ -6448,6 +6450,7 @@ <translation id="8811862054141704416">Aðgangur að hljóðnema í Crostini</translation> <translation id="8812552797690463522">Þessu neti er deilt með þér.</translation> <translation id="8812593354822910461">Hreinsa einnig vefskoðunargögn (<ph name="URL" />), sem skráir þig út af <ph name="DOMAIN" />. <ph name="LEARN_MORE" /></translation> +<translation id="8813277370772331957">Minna mig á seinna</translation> <translation id="8813698869395535039">Ekki hægt að skrá inn á <ph name="USERNAME" /></translation> <translation id="8813872945700551674">Fáðu foreldri til að samþykkja „<ph name="EXTENSION_NAME" />“</translation> <translation id="8813969267212093033">Kerfistexti er birtur á þessu tungumáli</translation> @@ -6478,6 +6481,7 @@ <translation id="8838601485495657486">Ógagnsætt</translation> <translation id="8838770651474809439">Hamborgari</translation> <translation id="883911313571074303">Skrifa skýringu við mynd</translation> +<translation id="8841843049738266382">Lesa og breyta notendum á hvítum lista</translation> <translation id="8842594465773264717">Eyða þessu fingrafari</translation> <translation id="8845001906332463065">Fá hjálp</translation> <translation id="8846132060409673887">Lesa um framleiðanda og útgáfu þessarar tölvu</translation>
diff --git a/chrome/app/resources/generated_resources_it.xtb b/chrome/app/resources/generated_resources_it.xtb index 5b71b7b..be33d20 100644 --- a/chrome/app/resources/generated_resources_it.xtb +++ b/chrome/app/resources/generated_resources_it.xtb
@@ -1139,7 +1139,6 @@ <translation id="2340263603246777781">Il sito <ph name="ORIGIN" /> desidera accoppiarsi</translation> <translation id="2342740338116612727">Preferiti aggiunti</translation> <translation id="2343747224442182863">Imposta stato attivo su questa scheda</translation> -<translation id="2344686470986284227">Avvio del controller della macchina virtuale</translation> <translation id="2345723121311404059">1 pagina con <ph name="PRINTER_NAME" /></translation> <translation id="2347644257713614136">L'utilizzo di Hangouts e Cast for Education è regolato dalle Norme sulla privacy di Google.</translation> <translation id="2348176352564285430">App: <ph name="ARC_PROCESS_NAME" /></translation> @@ -1287,6 +1286,7 @@ <translation id="2505127913256479918">Questo account supervisionato verrà rimosso a breve</translation> <translation id="2505324914378689427">{SCREEN_INDEX,plural, =1{Schermo #}other{Schermo #}}</translation> <translation id="2505402373176859469"><ph name="RECEIVED_AMOUNT" /> di <ph name="TOTAL_SIZE" /></translation> +<translation id="250642123108534012">Dispositivi nelle vicinanze quando la funzionalità Condivisione nelle vicinanze è attiva sul loro dispositivo</translation> <translation id="250704661983564564">Disposizione del display</translation> <translation id="2507253002925770350">Richiesta rimossa</translation> <translation id="2507397597949272797"><ph name="NAME" /> in sospeso</translation> @@ -2839,7 +2839,7 @@ <translation id="4390000551125140321">{0,plural, =1{Navigazione in incognito}other{# finestre di navigazione in incognito aperte}}</translation> <translation id="439266289085815679">Configurazione Bluetooth controllata da <ph name="USER_EMAIL" />.</translation> <translation id="4392896746540753732">Modifica il file di configurazione</translation> -<translation id="4393691030048716353"><ph name="DOMAIN" /> ha disattivato il debug ADB. Dopo il riavvio del dispositivo <ph name="DEVICE_TYPE" /> non potrai installare app tramite sideload.</translation> +<translation id="4393691030048716353"><ph name="DOMAIN" /> ha disattivato il debug ADB. Dopo il riavvio del <ph name="DEVICE_TYPE" /> non potrai installare app tramite sideload.</translation> <translation id="4394049700291259645">Disabilita</translation> <translation id="439817266247065935">Il dispositivo non è stato spento correttamente. Riavvia Linux per usare le relative app.</translation> <translation id="4400367121200150367">I siti che non salvano mai le password verranno visualizzati qui</translation> @@ -3138,6 +3138,7 @@ <translation id="4762718786438001384">Lo spazio sul disco del dispositivo sta per esaurirsi</translation> <translation id="4763408175235639573">Durante la visualizzazione della pagina sono stati impostati i seguenti cookie</translation> <translation id="4765582662863429759">Consenti ad Android Messaggi di trasmettere gli SMS dal telefono al Chromebook</translation> +<translation id="476598255842811483">Nessuno, a meno che non attivi la funzionalità Condivisione nelle vicinanze sul tuo dispositivo</translation> <translation id="4768332406694066911">Hai certificati da queste organizzazioni che ti identificano</translation> <translation id="477647109558161443">Crea un collegamento sul desktop</translation> <translation id="4776917500594043016">Password per <ph name="USER_EMAIL_ADDRESS" /></translation> @@ -5668,6 +5669,7 @@ <translation id="786073089922909430">Servizio: <ph name="ARC_PROCESS_NAME" /></translation> <translation id="7861215335140947162">&Download</translation> <translation id="7864539943188674973">Disattiva Bluetooth</translation> +<translation id="7866352732146932341">Dispositivi nelle vicinanze quando la funzionalità Condivisione nelle vicinanze è attiva sul tuo dispositivo</translation> <translation id="786957569166715433"><ph name="DEVICE_NAME" />, accoppiato</translation> <translation id="7870730066603611552">Controlla le opzioni di sincronizzazione dopo la configurazione</translation> <translation id="7870790288828963061">Nessuna app kiosk con versione più recente trovata. Non c'è nulla da aggiornare. Rimuovi la chiavetta USB.</translation> @@ -6163,7 +6165,7 @@ <translation id="8467326454809944210">Seleziona un'altra lingua</translation> <translation id="8470214316007448308">Altre persone</translation> <translation id="8470513973197838199">Password salvate per il sito <ph name="ORIGIN" /></translation> -<translation id="8471256130228705232"><ph name="DOMAIN" /> disattiverà il debug ADB. Tra 24 ore il tuo dispositivo <ph name="DEVICE_TYPE" /> verrà reimpostato. Effettua il backup di tutti i file che vuoi mantenere.</translation> +<translation id="8471256130228705232"><ph name="DOMAIN" /> disattiverà il debug ADB. Tra 24 ore il tuo <ph name="DEVICE_TYPE" /> verrà reimpostato. Effettua il backup di tutti i file che vuoi mantenere.</translation> <translation id="8472623782143987204">basato sull'hardware</translation> <translation id="8473863474539038330">Indirizzi e altro</translation> <translation id="8475313423285172237">Un altro programma sul computer ha aggiunto un'estensione che potrebbe modificare il funzionamento di Chrome.</translation>
diff --git a/chrome/app/resources/generated_resources_iw.xtb b/chrome/app/resources/generated_resources_iw.xtb index 37077d9..d8a78694 100644 --- a/chrome/app/resources/generated_resources_iw.xtb +++ b/chrome/app/resources/generated_resources_iw.xtb
@@ -1136,7 +1136,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" /> רוצה לבצע התאמה עם</translation> <translation id="2342740338116612727">סימניות נוספו</translation> <translation id="2343747224442182863">הדגשת הכרטיסייה הזו</translation> -<translation id="2344686470986284227">המערכת מפעילה את בקר המכונה הווירטואלית</translation> <translation id="2345723121311404059">עמוד אחד אל <ph name="PRINTER_NAME" /></translation> <translation id="2347644257713614136">השימוש ב-Hangouts וב-Cast for Education כפוף למדיניות הפרטיות של Google.</translation> <translation id="2348176352564285430">יישום: <ph name="ARC_PROCESS_NAME" /></translation> @@ -1473,6 +1472,7 @@ <translation id="2731700343119398978">המתן...</translation> <translation id="2731710757838467317">יוצר את המשתמש בפיקוח. התהליך עשוי להימשך מספר רגעים.</translation> <translation id="2731971182069536520">בפעם הבאה שהמכשיר יופעל מחדש, מנהל המערכת יבצע עדכון חד-פעמי שימחק את הנתונים המקומיים.</translation> +<translation id="2732134891301408122">תוכן נוסף של <ph name="CURRENT_ELEMENT" /> מתוך <ph name="TOTAL_ELEMENTS" /></translation> <translation id="2734760316755174687">הפעולה תאפס גם אתרים שהם חלק מ-<ph name="SITE_GROUP_NAME" />.</translation> <translation id="2735712963799620190">לוח זמנים</translation> <translation id="2737363922397526254">כווץ...</translation> @@ -3120,6 +3120,7 @@ <translation id="4735803855089279419">המערכת לא הצליחה לקבוע את המזהים של המכשיר הזה.</translation> <translation id="4736292055110123391">סנכרון של הסימניות, הסיסמאות, ההיסטוריה ונתונים נוספים בכל המכשירים שברשותך</translation> <translation id="473775607612524610">עדכן</translation> +<translation id="473936925429402449">נבחר, תוכן נוסף <ph name="CURRENT_ELEMENT" /> מתוך <ph name="TOTAL_ELEMENTS" /></translation> <translation id="4739639199548674512">כרטיסים</translation> <translation id="4743260470722568160"><ph name="BEGIN_LINK" />איך לעדכן אפליקציות<ph name="END_LINK" /></translation> <translation id="4744981231093950366">{NUM_TABS,plural, =1{ביטול השתקת האתר}two{ביטול השתקת האתרים}many{ביטול השתקת האתרים}other{ביטול השתקת האתרים}}</translation> @@ -4141,6 +4142,7 @@ <translation id="6011449291337289699">מחיקה של נתוני אתר</translation> <translation id="6015266928248016057">PUK לא חוקי. מספר הניסיונות החוזרים שנותרו: <ph name="RETRIES" />.</translation> <translation id="6015796118275082299">שנה</translation> +<translation id="6016178549409952427">ניווט אל תוכן נוסף <ph name="CURRENT_ELEMENT" /> מתוך <ph name="TOTAL_ELEMENTS" /></translation> <translation id="6016551720757758985">אשר פעולת Powerwash בעת חזרה לגרסה קודמת</translation> <translation id="6016972670657536680">לחצן לבחירת שפה ומקלדת. השפה המוגדרת עכשיו היא <ph name="LANGUAGE" />.</translation> <translation id="6017514345406065928">ירוק</translation> @@ -6448,6 +6450,7 @@ <translation id="8811862054141704416">גישה של Crostini למיקרופון</translation> <translation id="8812552797690463522">הרשת הזו משותפת איתך.</translation> <translation id="8812593354822910461">אני רוצה גם לנקות את נתוני הגלישה (<ph name="URL" />). פעולה זו עשויה לנתק אותך מ-Google.com <ph name="DOMAIN" />. <ph name="LEARN_MORE" /></translation> +<translation id="8813277370772331957">אני רוצה לקבל תזכורת אחר כך</translation> <translation id="8813698869395535039">לא ניתן להיכנס עם שם המשתמש <ph name="USERNAME" /></translation> <translation id="8813872945700551674">צריך שההורים יאשרו את "<ph name="EXTENSION_NAME" />"</translation> <translation id="8813969267212093033">טקסט מערכת מוצג בשפה הזו</translation> @@ -6478,6 +6481,7 @@ <translation id="8838601485495657486">אטום</translation> <translation id="8838770651474809439">המבורגר</translation> <translation id="883911313571074303">רשום הערה לתמונה</translation> +<translation id="8841843049738266382">קריאה ושינוי של משתמשים ברשימת היתרים</translation> <translation id="8842594465773264717">מחיקת טביעת האצבע הזו</translation> <translation id="8845001906332463065">קבל עזרה</translation> <translation id="8846132060409673887">קריאת היצרן והדגם של המחשב הזה</translation>
diff --git a/chrome/app/resources/generated_resources_ja.xtb b/chrome/app/resources/generated_resources_ja.xtb index b3e26f5..785a324 100644 --- a/chrome/app/resources/generated_resources_ja.xtb +++ b/chrome/app/resources/generated_resources_ja.xtb
@@ -1139,7 +1139,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" /> がペア設定を要求しています</translation> <translation id="2342740338116612727">ブックマークを追加しました</translation> <translation id="2343747224442182863">このタブをフォーカス</translation> -<translation id="2344686470986284227">仮想マシンのコントローラを起動しています</translation> <translation id="2345723121311404059">1 ページを <ph name="PRINTER_NAME" /> に送信しました</translation> <translation id="2347644257713614136">ハングアウトと Cast for Education のご利用には、Google プライバシー ポリシーが適用されます。</translation> <translation id="2348176352564285430">アプリ: <ph name="ARC_PROCESS_NAME" /></translation> @@ -1475,6 +1474,7 @@ <translation id="2731700343119398978">お待ちください...</translation> <translation id="2731710757838467317">監視対象ユーザーを作成しています。この処理には数分かかる場合があります。</translation> <translation id="2731971182069536520">次回デバイスを再起動すると、管理者による 1 回限りの更新が行われ、ローカルデータが削除されます。</translation> +<translation id="2732134891301408122">追加コンテンツ <ph name="TOTAL_ELEMENTS" /> 件中 <ph name="CURRENT_ELEMENT" /> 件目</translation> <translation id="2734760316755174687"><ph name="SITE_GROUP_NAME" /> のサイトもリセットされます。</translation> <translation id="2735712963799620190">スケジュール</translation> <translation id="2737363922397526254">折りたたむ...</translation> @@ -3122,6 +3122,7 @@ <translation id="4735803855089279419">このデバイスのデバイス識別子を特定できませんでした。</translation> <translation id="4736292055110123391">すべてのデバイスでブックマーク、パスワード、履歴、その他の設定を同期する</translation> <translation id="473775607612524610">更新</translation> +<translation id="473936925429402449">追加コンテンツ <ph name="TOTAL_ELEMENTS" /> 件中 <ph name="CURRENT_ELEMENT" /> 件目を選択しています</translation> <translation id="4739639199548674512">チケット</translation> <translation id="4743260470722568160"><ph name="BEGIN_LINK" />アプリケーションの更新方法を確認<ph name="END_LINK" /></translation> <translation id="4744981231093950366">{NUM_TABS,plural, =1{サイトのミュートを解除}other{サイトのミュートを解除}}</translation> @@ -4143,6 +4144,7 @@ <translation id="6011449291337289699">サイトデータの削除</translation> <translation id="6015266928248016057">無効な PUK です。入力できるのはあと <ph name="RETRIES" /> 回です。</translation> <translation id="6015796118275082299">年</translation> +<translation id="6016178549409952427">追加コンテンツ <ph name="TOTAL_ELEMENTS" /> 件中 <ph name="CURRENT_ELEMENT" /> 件目に移動します</translation> <translation id="6016551720757758985">Powerwash を実行して以前のバージョンに戻すことを確認</translation> <translation id="6016972670657536680">言語とキーボードのボタンを選択します。現在選択している言語は <ph name="LANGUAGE" /> です。</translation> <translation id="6017514345406065928">緑</translation> @@ -6449,6 +6451,7 @@ <translation id="8811862054141704416">Crostini のマイクへのアクセス</translation> <translation id="8812552797690463522">このネットワークが共有されました。</translation> <translation id="8812593354822910461">閲覧履歴データ(<ph name="URL" />)も削除します。これにより、<ph name="DOMAIN" /> からログアウトします。<ph name="LEARN_MORE" /></translation> +<translation id="8813277370772331957">後で通知</translation> <translation id="8813698869395535039"><ph name="USERNAME" /> にログインできません</translation> <translation id="8813872945700551674">保護者の方に「<ph name="EXTENSION_NAME" />」を承認してもらいましょう</translation> <translation id="8813969267212093033">システムのテキストはこの言語で表示されます</translation> @@ -6479,6 +6482,7 @@ <translation id="8838601485495657486">不透明</translation> <translation id="8838770651474809439">ハンバーガー</translation> <translation id="883911313571074303">画像に注釈を付ける</translation> +<translation id="8841843049738266382">許可リストに登録されたユーザーの読み取りと変更</translation> <translation id="8842594465773264717">この指紋を削除</translation> <translation id="8845001906332463065">ヘルプ</translation> <translation id="8846132060409673887">このパソコンのメーカーと機種の情報を取得する</translation>
diff --git a/chrome/app/resources/generated_resources_ka.xtb b/chrome/app/resources/generated_resources_ka.xtb index 1b337b32..66a81c6 100644 --- a/chrome/app/resources/generated_resources_ka.xtb +++ b/chrome/app/resources/generated_resources_ka.xtb
@@ -1139,7 +1139,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" /> დაწყვილებას ითხოვს</translation> <translation id="2342740338116612727">სანიშნეები დამატებულია</translation> <translation id="2343747224442182863">ამ ჩანართის ფოკუსში მოქცევა</translation> -<translation id="2344686470986284227">მიმდინარეობს ვირტუალური მოწყობილობის კონტროლერის გაშვება</translation> <translation id="2345723121311404059">1 გვერდი გაიგზავნა აქ: <ph name="PRINTER_NAME" /></translation> <translation id="2347644257713614136">Hangouts-ისა და Cast for Education-ის გამოყენებაზე ვრცელდება Google-ის კონფიდენციალურობის დებულება.</translation> <translation id="2348176352564285430">აპი: <ph name="ARC_PROCESS_NAME" /></translation>
diff --git a/chrome/app/resources/generated_resources_kk.xtb b/chrome/app/resources/generated_resources_kk.xtb index d613f3ae..f6c64e8 100644 --- a/chrome/app/resources/generated_resources_kk.xtb +++ b/chrome/app/resources/generated_resources_kk.xtb
@@ -1136,7 +1136,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" /> сайты жұптасқысы келеді</translation> <translation id="2342740338116612727">Бетбелгілер енгізілді</translation> <translation id="2343747224442182863">Осы қойындыны ерекшелеу</translation> -<translation id="2344686470986284227">Виртуалды құрылғы контроллері іске қосылуда</translation> <translation id="2345723121311404059"><ph name="PRINTER_NAME" /> үшін бір бет</translation> <translation id="2347644257713614136">Hangouts және Cast for Education қолданбаларын Google құпиялылық саясатына сәйкес пайдалану керек.</translation> <translation id="2348176352564285430">Қолданба: <ph name="ARC_PROCESS_NAME" /></translation> @@ -1472,6 +1471,7 @@ <translation id="2731700343119398978">Күтіңіз…</translation> <translation id="2731710757838467317">Бақылаудағы пайдаланушы жасалуда. Бұл біраз уақыт алуы мүмкін.</translation> <translation id="2731971182069536520">Құрылғы келесіде қосылған кезде, әкімші жергілікті деректерді жоятын бір реттік жаңарту әрекетін жасайды.</translation> +<translation id="2732134891301408122"><ph name="CURRENT_ELEMENT" />/<ph name="TOTAL_ELEMENTS" />-картадағы қосымша мазмұн</translation> <translation id="2734760316755174687"><ph name="SITE_GROUP_NAME" /> тобына жататын сайттар да бастапқы күйіне қайтарылады.</translation> <translation id="2735712963799620190">Кесте</translation> <translation id="2737363922397526254">Жию…</translation> @@ -2636,7 +2636,7 @@ <translation id="4104163789986725820">Э&кспорттау…</translation> <translation id="4107048419833779140">Жад құрылғыларын анықтау және шығару</translation> <translation id="4109135793348361820">Терезені <ph name="USER_NAME" /> пайдаланушысына (<ph name="USER_EMAIL" />) жылжыту</translation> -<translation id="411031910327788420">Бұл параметрлерді пайдалануға болатын қолданбалар үшін жазулар өлшемі мен стилін реттеңіз.</translation> +<translation id="411031910327788420">Бұл параметрлерді пайдалануға болатын қолданбалар үшін субтитрлер өлшемі мен стилін реттеңіз.</translation> <translation id="4110490973560452005">Жүктеп алу аяқталды: <ph name="FILE_NAME" />. Жүктеп алынғандар жолағы аумағына оралу үшін Shift+F6 пернелерін басыңыз.</translation> <translation id="4110686435123617899">"<ph name="TITLE" />" альбомын таңдаңыз (<ph name="DESC" />).</translation> <translation id="4110895898888439383">Беттерді жоғары контраст режимінде қараңыз</translation> @@ -3119,6 +3119,7 @@ <translation id="4735803855089279419">Жүйе бұл құрылғыға арналған идентификаторларды анықтай алмады.</translation> <translation id="4736292055110123391">Барлық құрылғыларда бетбелгілерді, құпия сөздерді, тарихты, т.б. синхрондау</translation> <translation id="473775607612524610">Жаңарту</translation> +<translation id="473936925429402449">Таңдалды, <ph name="CURRENT_ELEMENT" />/<ph name="TOTAL_ELEMENTS" />-картадағы қосымша мазмұн</translation> <translation id="4739639199548674512">Билеттер</translation> <translation id="4743260470722568160"><ph name="BEGIN_LINK" />Қолданбаларды жаңарту әдісі туралы ақпарат алу<ph name="END_LINK" /></translation> <translation id="4744981231093950366">{NUM_TABS,plural, =1{Сайттың дыбысын қосу}other{Сайттардың дыбысын қосу}}</translation> @@ -3526,7 +3527,7 @@ <translation id="5265797726250773323">Орнату кезінде қате кетті</translation> <translation id="5266113311903163739">Сертификат беру орталығының импорттау қатесі</translation> <translation id="5269977353971873915">Басып шығару сәтсіз аяқталды</translation> -<translation id="5274738462757057090">Chrome браузерінде медиамазмұн үшін жазуларды автоматты жасайды (әзірге тек ағылшын тілінде қолжетімді).</translation> +<translation id="5274738462757057090">Chrome браузерінде медиамазмұн үшін субтитрлерді автоматты жасайды (әзірге тек ағылшын тілінде қолжетімді).</translation> <translation id="5275352920323889391">Ит</translation> <translation id="527605982717517565"><ph name="HOST" /> үшін JavaScript қосуға әрдайым рұқсат беру</translation> <translation id="5278823018825269962">Күй идентификаторы</translation> @@ -4140,6 +4141,7 @@ <translation id="6011449291337289699">Сайт деректерін тазалау</translation> <translation id="6015266928248016057">PUK коды жарамсыз. Қалған мүмкіндіктер саны: <ph name="RETRIES" />.</translation> <translation id="6015796118275082299">Жыл</translation> +<translation id="6016178549409952427"><ph name="CURRENT_ELEMENT" />/<ph name="TOTAL_ELEMENTS" />-картадағы қосымша мазмұнға өту</translation> <translation id="6016551720757758985">Алдыңғы нұсқаға қайту арқылы Powerwash растаңыз</translation> <translation id="6016972670657536680">Тіл және пернетақта түймесін таңдаңыз. Ағымдағы таңдалған тіл: <ph name="LANGUAGE" />.</translation> <translation id="6017514345406065928">Жасыл</translation> @@ -6445,6 +6447,7 @@ <translation id="8811862054141704416">Crostini жүйесінде микрофон пайдалану</translation> <translation id="8812552797690463522">Бұл желі сізбен бөлісілген.</translation> <translation id="8812593354822910461">Браузерді пайдалану деректерін де (<ph name="URL" />) өшіріңіз (<ph name="DOMAIN" /> сайтында есептік жазбаңыздан шығарыласыз). <ph name="LEARN_MORE" /></translation> +<translation id="8813277370772331957">Кейінірек еске салу</translation> <translation id="8813698869395535039"><ph name="USERNAME" /> есептік жазбасына кіру мүмкін емес</translation> <translation id="8813872945700551674">"<ph name="EXTENSION_NAME" />" кеңейтімін мақұлдау үшін ата-анаңыздан рұқсат алыңыз.</translation> <translation id="8813969267212093033">Жүйе мәтіні осы тілде көрсетіледі.</translation> @@ -6475,6 +6478,7 @@ <translation id="8838601485495657486">Тұнық емес</translation> <translation id="8838770651474809439">Гамбургер</translation> <translation id="883911313571074303">Кескінді аннотациялау</translation> +<translation id="8841843049738266382">Рұқсат тізіміндегі пайдаланушыларды оқу және өзгерту</translation> <translation id="8842594465773264717">Осы саусақ ізін жою</translation> <translation id="8845001906332463065">Анықтама алу</translation> <translation id="8846132060409673887">Компьютердің өндірушісі және моделі туралы ақпаратты оқыңыз</translation>
diff --git a/chrome/app/resources/generated_resources_km.xtb b/chrome/app/resources/generated_resources_km.xtb index 6d17d04..5f6f8f7 100644 --- a/chrome/app/resources/generated_resources_km.xtb +++ b/chrome/app/resources/generated_resources_km.xtb
@@ -1139,7 +1139,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" /> ចង់ផ្គូផ្គង</translation> <translation id="2342740338116612727">បានបញ្ចូលចំណាំ</translation> <translation id="2343747224442182863">ផ្ដោតផ្ទាំងនេះ</translation> -<translation id="2344686470986284227">កំពុងចាប់ផ្ដើមឧបករណ៍បញ្ជាម៉ាស៊ីននិម្មិត</translation> <translation id="2345723121311404059">1 ទំព័រទៅកាន់ <ph name="PRINTER_NAME" /></translation> <translation id="2347644257713614136">ការប្រើប្រាស់កម្មវិធី Hangouts និង Cast សម្រាប់ការអប់រំត្រូវបានគ្រប់គ្រងដោយគោលការណ៍ឯកជនភាព Google ។</translation> <translation id="2348176352564285430">កម្មវិធី៖ <ph name="ARC_PROCESS_NAME" /></translation> @@ -1475,6 +1474,7 @@ <translation id="2731700343119398978">សូមរង់ចាំ...</translation> <translation id="2731710757838467317">កំពុងបង្កើតអ្នកប្រើដែលបានចាត់របស់អ្នក។ វាអាចចំណាយពេលមួយភ្លែត។</translation> <translation id="2731971182069536520">នៅពេលអ្នកចាប់ផ្ដើមឧបករណ៍របស់អ្នកឡើងវិញលើកក្រោយ អ្នកគ្រប់គ្រងរបស់អ្នកនឹងធ្វើបច្ចុប្បន្នភាពមួយលើក ដែលនឹងលុបទិន្នន័យមូលដ្ឋានរបស់អ្នក។</translation> +<translation id="2732134891301408122">ខ្លឹមសារបន្ថែម <ph name="CURRENT_ELEMENT" /> ក្នុងចំណោម <ph name="TOTAL_ELEMENTS" /></translation> <translation id="2734760316755174687">គេហទំព័រដែលស្ថិតក្រោម <ph name="SITE_GROUP_NAME" /> ក៏នឹងត្រូវកំណត់ឡើងវិញផងដែរ។</translation> <translation id="2735712963799620190">កាលវិភាគ</translation> <translation id="2737363922397526254">បង្រួម...</translation> @@ -3122,6 +3122,7 @@ <translation id="4735803855089279419">ប្រព័ន្ធមិនអាចកំណត់ព័ត៌មានសម្គាល់ឧបករណ៍សម្រាប់ឧបករណ៍នេះបានទេ។</translation> <translation id="4736292055110123391">ធ្វើសមកាលកម្មចំណាំ ពាក្យសម្ងាត់ ប្រវត្តិរបស់អ្នក និងមុខងារជាច្រើនទៀតនៅលើឧបករណ៍ទាំងអស់របស់អ្នក</translation> <translation id="473775607612524610">ធ្វើបច្ចុប្បន្នភាព</translation> +<translation id="473936925429402449">បានជ្រើសរើស, ខ្លឹមសារបន្ថែម <ph name="CURRENT_ELEMENT" /> ក្នុងចំណោម <ph name="TOTAL_ELEMENTS" /></translation> <translation id="4739639199548674512">សំបុត្រ</translation> <translation id="4743260470722568160"><ph name="BEGIN_LINK" />ស្វែងយល់អំពីរបៀបដំឡើងជំនាន់កម្មវិធី<ph name="END_LINK" /></translation> <translation id="4744981231093950366">{NUM_TABS,plural, =1{បើកសំឡេងគេហទំព័រ}other{បើកសំឡេងគេហទំព័រ}}</translation> @@ -4144,6 +4145,7 @@ <translation id="6011449291337289699">ជម្រះទិន្នន័យគេហទំព័រ</translation> <translation id="6015266928248016057">PUK មិនត្រឹមត្រូវ។ ការសាកល្បងឡើងវិញនៅសល់៖ <ph name="RETRIES" />។</translation> <translation id="6015796118275082299">ឆ្នាំ</translation> +<translation id="6016178549409952427">ទៅកាន់ខ្លឹមសារបន្ថែម <ph name="CURRENT_ELEMENT" /> ក្នុងចំណោម <ph name="TOTAL_ELEMENTS" /></translation> <translation id="6016551720757758985">អះអាង Powerwash ជាមួយការត្រលប់ទៅកំណែមុន</translation> <translation id="6016972670657536680">ជ្រើសរើសប៊ូតុងក្តារចុច និងភាសា។ ភាសាដែលបានជ្រើសរើសបច្ចុប្បន្នគឺ <ph name="LANGUAGE" />។</translation> <translation id="6017514345406065928">បៃតង</translation> @@ -6449,6 +6451,7 @@ <translation id="8811862054141704416">ការចូលប្រើមីក្រូហ្វូនសម្រាប់ Crostini</translation> <translation id="8812552797690463522">បណ្ដាញនេះត្រូវបានចែករំលែកជាមួយអ្នក។</translation> <translation id="8812593354822910461">ក៏សម្អាតទិន្នន័យរុករក (<ph name="URL" />) ដែលនឹងនាំអ្នកចេញពី <ph name="DOMAIN" /> ផងដែរ។ <ph name="LEARN_MORE" /></translation> +<translation id="8813277370772331957">រំលឹកខ្ញុំពេលក្រោយ</translation> <translation id="8813698869395535039">មិនអាចចូល <ph name="USERNAME" /> បានទេ</translation> <translation id="8813872945700551674">ស្នើសុំឱ្យមាតាបិតាយល់ព្រមលើ "<ph name="EXTENSION_NAME" />"</translation> <translation id="8813969267212093033">អក្សរប្រព័ន្ធបង្ហាញជាភាសានេះ</translation> @@ -6479,6 +6482,7 @@ <translation id="8838601485495657486">ស្រអាប់</translation> <translation id="8838770651474809439">ហេមប៊ឺហ្គើរ</translation> <translation id="883911313571074303">ដាក់ចំណារលើរូបភាព</translation> +<translation id="8841843049738266382">អាន និងប្ដូរអ្នកប្រើប្រាស់នៅក្នុងបញ្ជីអនុញ្ញាត</translation> <translation id="8842594465773264717">លុបស្នាមម្រាមដៃនេះ</translation> <translation id="8845001906332463065">ទទួលជំនួយ</translation> <translation id="8846132060409673887">អានក្រុមហ៊ុនផលិត និងម៉ូដែលនៃកុំព្យូទ័រនេះ</translation>
diff --git a/chrome/app/resources/generated_resources_kn.xtb b/chrome/app/resources/generated_resources_kn.xtb index f1e27d85..6d29c64 100644 --- a/chrome/app/resources/generated_resources_kn.xtb +++ b/chrome/app/resources/generated_resources_kn.xtb
@@ -1140,7 +1140,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" /> ಜೋಡಿಸಲು ಬಯಸುತ್ತದೆ</translation> <translation id="2342740338116612727">ಬುಕ್ಮಾರ್ಕ್ಗಳನ್ನು ಸೇರಿಸಲಾಗಿದೆ</translation> <translation id="2343747224442182863">ಈ ಟ್ಯಾಬ್ ಮೇಲೆ ಗಮನಹರಿಸಿ</translation> -<translation id="2344686470986284227">ವರ್ಚುವಲ್ ಯಂತ್ರದ ಕಂಟ್ರೋಲರ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸಲಾಗುತ್ತಿದೆ</translation> <translation id="2345723121311404059"><ph name="PRINTER_NAME" /> ಗೆ 1 ಪುಟ</translation> <translation id="2347644257713614136">Hangouts ನ ಬಳಕೆ ಮತ್ತು ಶಿಕ್ಷಣಕ್ಕಾಗಿರುವ Cast - ಇವು Google ಗೌಪ್ಯತಾ ಕಾರ್ಯನೀತಿಯ ಅಧಿಕಾರಕ್ಕೆ ಒಳಪಟ್ಟಿವೆ.</translation> <translation id="2348176352564285430">ಅಪ್ಲಿಕೇಶನ್: <ph name="ARC_PROCESS_NAME" /></translation>
diff --git a/chrome/app/resources/generated_resources_ko.xtb b/chrome/app/resources/generated_resources_ko.xtb index 173ce60..0aac8fa0 100644 --- a/chrome/app/resources/generated_resources_ko.xtb +++ b/chrome/app/resources/generated_resources_ko.xtb
@@ -1139,7 +1139,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" />에서 페어링하려고 함</translation> <translation id="2342740338116612727">북마크 추가됨</translation> <translation id="2343747224442182863">이 탭에 포커스</translation> -<translation id="2344686470986284227">가상 머신 컨트롤러 시작 중</translation> <translation id="2345723121311404059"><ph name="PRINTER_NAME" />에서 1페이지 인쇄</translation> <translation id="2347644257713614136">행아웃 및 교육용 Cast 사용에는 Google 개인정보처리방침이 적용됩니다.</translation> <translation id="2348176352564285430">앱: <ph name="ARC_PROCESS_NAME" /></translation> @@ -1475,6 +1474,7 @@ <translation id="2731700343119398978">잠시 기다려 주세요...</translation> <translation id="2731710757838467317">관리 대상 사용자를 만드는 중입니다. 몇 분 정도 소요될 수 있습니다.</translation> <translation id="2731971182069536520">다음번에 기기를 다시 시작하면 관리자가 일회성 업데이트를 실행하여 로컬 데이터가 삭제됩니다.</translation> +<translation id="2732134891301408122"><ph name="TOTAL_ELEMENTS" />개 중 <ph name="CURRENT_ELEMENT" />번째 추가 콘텐츠</translation> <translation id="2734760316755174687"><ph name="SITE_GROUP_NAME" /> 그룹에 있는 사이트의 권한도 초기화됩니다.</translation> <translation id="2735712963799620190">일정</translation> <translation id="2737363922397526254">접기...</translation> @@ -3120,6 +3120,7 @@ <translation id="4735803855089279419">시스템에서 이 기기의 기기 식별자를 확인하지 못했습니다.</translation> <translation id="4736292055110123391">북마크, 비밀번호, 방문 기록 등을 모든 기기에 동기화</translation> <translation id="473775607612524610">업데이트</translation> +<translation id="473936925429402449"><ph name="TOTAL_ELEMENTS" />개 중 <ph name="CURRENT_ELEMENT" />번째 추가 콘텐츠 선택됨</translation> <translation id="4739639199548674512">티켓</translation> <translation id="4743260470722568160"><ph name="BEGIN_LINK" />애플리케이션 업데이트 방법 알아보기<ph name="END_LINK" /></translation> <translation id="4744981231093950366">{NUM_TABS,plural, =1{사이트 숨기기 취소}other{사이트 숨기기 취소}}</translation> @@ -4141,6 +4142,7 @@ <translation id="6011449291337289699">사이트 데이터 삭제</translation> <translation id="6015266928248016057">잘못된 PUK입니다. 남은 재시도 횟수는 <ph name="RETRIES" />회입니다.</translation> <translation id="6015796118275082299">연도</translation> +<translation id="6016178549409952427"><ph name="TOTAL_ELEMENTS" />개 중 <ph name="CURRENT_ELEMENT" />번째 추가 콘텐츠로 이동</translation> <translation id="6016551720757758985">이전 버전으로 돌아가서 Powerwash 확인</translation> <translation id="6016972670657536680">언어 및 키보드 버튼을 선택하세요. 현재 선택된 언어는 <ph name="LANGUAGE" />입니다.</translation> <translation id="6017514345406065928">녹색</translation> @@ -6447,6 +6449,7 @@ <translation id="8811862054141704416">Crostini 마이크 액세스</translation> <translation id="8812552797690463522">나와 공유된 네트워크입니다.</translation> <translation id="8812593354822910461">인터넷 사용 기록(<ph name="URL" />)도 삭제합니다. 이렇게 하면 <ph name="DOMAIN" />에서 로그아웃됩니다. <ph name="LEARN_MORE" /></translation> +<translation id="8813277370772331957">나중에 알림</translation> <translation id="8813698869395535039"><ph name="USERNAME" />에 로그인할 수 없음</translation> <translation id="8813872945700551674">부모님에게 ‘<ph name="EXTENSION_NAME" />’ 승인을 요청</translation> <translation id="8813969267212093033">시스템 텍스트가 이 언어로 표시됩니다.</translation> @@ -6477,6 +6480,7 @@ <translation id="8838601485495657486">불투명</translation> <translation id="8838770651474809439">햄버거</translation> <translation id="883911313571074303">이미지에 주석 달기</translation> +<translation id="8841843049738266382">허용 목록에 있는 사용자를 읽고 변경하기</translation> <translation id="8842594465773264717">이 지문 삭제</translation> <translation id="8845001906332463065">도움말 보기</translation> <translation id="8846132060409673887">이 컴퓨터의 제조업체 및 모델을 읽습니다.</translation>
diff --git a/chrome/app/resources/generated_resources_ky.xtb b/chrome/app/resources/generated_resources_ky.xtb index 1d9d897..fcacfaf 100644 --- a/chrome/app/resources/generated_resources_ky.xtb +++ b/chrome/app/resources/generated_resources_ky.xtb
@@ -1139,7 +1139,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" /> жупташканы жатат</translation> <translation id="2342740338116612727">Кыстармалар кошулду</translation> <translation id="2343747224442182863">Бул өтмөктү фокустоо</translation> -<translation id="2344686470986284227">Виртуалдык машинанын көзөмөлдөгүчү иштетилүүдө</translation> <translation id="2345723121311404059">1 баракты <ph name="PRINTER_NAME" /> принтерине жөнөтүү</translation> <translation id="2347644257713614136">Hangouts менен Cast for Education кызматынын колдонулушу Google'дун Купуялык саясаты аркылуу көзөмөлдөнөт.</translation> <translation id="2348176352564285430">Колдонмо: <ph name="ARC_PROCESS_NAME" /></translation> @@ -1301,7 +1300,7 @@ <translation id="2518024842978892609">Кардар тастыктамаңызды колдонуңуз</translation> <translation id="2520644704042891903">Мүмкүн болгон чанак күтүлүүдө…</translation> <translation id="2521854691574443804"><ph name="FILE_NAME" /> файлы уюмуңуздун коопсуздук саясаттарын бузгандыгы текшерилүүдө...</translation> -<translation id="252219247728877310">Курамдык бөлүк жаңыртылган жок</translation> +<translation id="252219247728877310">Курамдык бөлүк жаңырган жок</translation> <translation id="2523184218357549926">Баш баккан барактарыңыздын URL'дерин Google'га жөнөтөт</translation> <translation id="2526277209479171883">Орнотуу жана улантуу</translation> <translation id="2526590354069164005">Иштакта</translation> @@ -1475,6 +1474,7 @@ <translation id="2731700343119398978">Күтө туруңуз…</translation> <translation id="2731710757838467317">Көзөмөлдөнгөн колдонуучуңуз түзүлүп жатат. Бир аз күтө туруңуз.</translation> <translation id="2731971182069536520">Түзмөгүңүздү кийинки жолу өчүрүп күйгүзгөнүңүздө, администраторуңуз түзмөгүңүздөгү дайындарды бир жолу аткарылуучу жаңыртуу менен өчүрүп коёт.</translation> +<translation id="2732134891301408122"><ph name="TOTAL_ELEMENTS" /> ичинен <ph name="CURRENT_ELEMENT" />-кошумча мазмун</translation> <translation id="2734760316755174687">Бардык <ph name="SITE_GROUP_NAME" /> сайттарындагы уруксаттар дагы баштапкы абалга келтирилет.</translation> <translation id="2735712963799620190">Графиги</translation> <translation id="2737363922397526254">Жыйнап коюу…</translation> @@ -2839,7 +2839,7 @@ <translation id="4390000551125140321">{0,plural, =1{Жашыруун}other{# жашыруун терезе ачык}}</translation> <translation id="439266289085815679">Bluetooth конфигурациясы <ph name="USER_EMAIL" /> тарабынан көзөмөлдөнөт.</translation> <translation id="4392896746540753732">Конфигурациялоо файлын түзөтүү</translation> -<translation id="4393691030048716353"><ph name="DOMAIN" /> ADB аркылуу мүчүлүштүктөрдү оңдоону өчүрдү. <ph name="DEVICE_TYPE" /> түзмөгүңүздү өчүрүп күйгүзгөндөн кийин колдонмолорду белгисиз булактан жүктөп ала албай каласыз.</translation> +<translation id="4393691030048716353"><ph name="DOMAIN" /> ADB аркылуу мүчүлүштүктөрдү оңдоону өчүрдү. <ph name="DEVICE_TYPE" /> түзмөгүңүздү өчүрүп күйгүзгөндөн кийин, колдонмолорду белгисиз булактан жүктөй албай каласыз.</translation> <translation id="4394049700291259645">Ө</translation> <translation id="439817266247065935">Түзмөк туура өчүрүлгөн жок. Linux колдонмолорун иштетүү үчүн Linux'ту өчүрүп күйгүзүңүз.</translation> <translation id="4400367121200150367">Сырсөздөрдү эч качан сактабаган сайттар бул жерден көрүнөт</translation> @@ -3122,6 +3122,7 @@ <translation id="4735803855089279419">Тутум бул түзмөктүн далдаштырма дайындарын аныктай албай койду.</translation> <translation id="4736292055110123391">Бардык түзмөктөрүңүздөгү кыстармаларды, сырсөздөрдү, таржымалыңызды жана башкаларды шайкештириңиз</translation> <translation id="473775607612524610">Жаңыртуу</translation> +<translation id="473936925429402449">Тандалды, <ph name="TOTAL_ELEMENTS" /> ичинен <ph name="CURRENT_ELEMENT" />-кошумча мазмун</translation> <translation id="4739639199548674512">Билеттер</translation> <translation id="4743260470722568160"><ph name="BEGIN_LINK" />Колдонмолорду жаңыртканды үйрөнүп алыңыз<ph name="END_LINK" /></translation> <translation id="4744981231093950366">{NUM_TABS,plural, =1{Сайттын үнүн чыгаруу}other{Сайттардын үнүн чыгаруу}}</translation> @@ -4143,6 +4144,7 @@ <translation id="6011449291337289699">Сайттын дайындарын тазалаңыз</translation> <translation id="6015266928248016057">Жараксыз PUK. Калган аракеттердин саны: <ph name="RETRIES" />.</translation> <translation id="6015796118275082299">Жыл</translation> +<translation id="6016178549409952427"><ph name="TOTAL_ELEMENTS" /> ичинен <ph name="CURRENT_ELEMENT" />-кошумча мазмунга чабыттоо</translation> <translation id="6016551720757758985">Мурунку версиясына кайтаруу менен "Жууп салууну" ырастаңыз</translation> <translation id="6016972670657536680">Тилди жана баскычтопту тандаңыз. Учурда <ph name="LANGUAGE" /> тили тандалган.</translation> <translation id="6017514345406065928">Жашыл</translation> @@ -6161,7 +6163,7 @@ <translation id="8467326454809944210">Башка тилди тандоо</translation> <translation id="8470214316007448308">Башка кишилер</translation> <translation id="8470513973197838199"><ph name="ORIGIN" /> үчүн сакталган сырсөздөр</translation> -<translation id="8471256130228705232"><ph name="DOMAIN" /> ADB аркылуу мүчүлүштүктөрдү оңдоону өчүрүүдө. Ушунун менен <ph name="DEVICE_TYPE" /> түзмөгүңүз 24 сааттын ичинде баштапкы абалга келтирилет. Колдонгуңуз келген файлдардын камдык көчүрмөсүн сактаңыз.</translation> +<translation id="8471256130228705232"><ph name="DOMAIN" /> ADB аркылуу мүчүлүштүктөрдү оңдоону өчүрүүдө. Ушуну менен <ph name="DEVICE_TYPE" /> түзмөгүңүз 24 сааттын ичинде баштапкы абалга келтирилет. Колдонгуңуз келген файлдардын камдык көчүрмөсүн сактаңыз.</translation> <translation id="8472623782143987204">жабдык менен камсыздалган</translation> <translation id="8473863474539038330">Даректер жана башкалар</translation> <translation id="8475313423285172237">Chrome'дун ишин өзгөртө турган кеңейтүүнү компьютериңиздеги башка программа кошуп койду.</translation> @@ -6448,6 +6450,7 @@ <translation id="8811862054141704416">Crostini'ге микрофонду колдонууга уруксат берүү</translation> <translation id="8812552797690463522">Бул тармак сиз менен бөлүшүлгөн.</translation> <translation id="8812593354822910461"><ph name="DOMAIN" /> сайтынан чыгарып сала турган серептөө маалыматы да (<ph name="URL" />) тазалансын. <ph name="LEARN_MORE" /></translation> +<translation id="8813277370772331957">Кийинчерээк эскертүү</translation> <translation id="8813698869395535039"><ph name="USERNAME" /> катары кирүү мүмкүн эмес</translation> <translation id="8813872945700551674">"<ph name="EXTENSION_NAME" />" кеңейтүүсүн орнотууга ата-энең уруксат бериши керек</translation> <translation id="8813969267212093033">Тутумдун тексти ушул тилде көрсөтүлөт</translation> @@ -6478,6 +6481,7 @@ <translation id="8838601485495657486">Бүдөмүк</translation> <translation id="8838770651474809439">Гамбургер</translation> <translation id="883911313571074303">Сүрөттүн түшүндүрмөсүн жазыңыз</translation> +<translation id="8841843049738266382">Ак тизмеге киргизилген колдонуучуларды окуу жана өзгөртүү</translation> <translation id="8842594465773264717">Бул манжа изин жок кылуу</translation> <translation id="8845001906332463065">Жардам алуу</translation> <translation id="8846132060409673887">Компьютердин өндүрүүчүсүн жана үлгүсүн окуу</translation>
diff --git a/chrome/app/resources/generated_resources_lo.xtb b/chrome/app/resources/generated_resources_lo.xtb index f4a34ca7..08a5257f 100644 --- a/chrome/app/resources/generated_resources_lo.xtb +++ b/chrome/app/resources/generated_resources_lo.xtb
@@ -1137,7 +1137,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" /> ຕ້ອງການຈັບຄູ່</translation> <translation id="2342740338116612727">ເພີ່ມບຸກມາກແລ້ວ</translation> <translation id="2343747224442182863">ໂຟກັສແຖບນີ້</translation> -<translation id="2344686470986284227">ກຳລັງເລີ່ມຕົວຄວບຄຸມເຄື່ອງສະເໝືອນ</translation> <translation id="2345723121311404059">1 ໜ້າຫາ <ph name="PRINTER_NAME" /></translation> <translation id="2347644257713614136">ການໃຊ້ Hangouts ແລະ Cast for Education ແມ່ນເປັນໄປຕາມນະໂຍບາຍຄວາມເປັນສ່ວນຕົວຂອງ Google.</translation> <translation id="2348176352564285430">ແອັບ: <ph name="ARC_PROCESS_NAME" /></translation> @@ -1473,6 +1472,7 @@ <translation id="2731700343119398978">ກະລຸນາລໍຖ້າ...</translation> <translation id="2731710757838467317">ການສ້າງຜູ້ໃຊ້ທີ່ມີການຄວບຄຸມດູແລຂອງທ່ານ. ອັນນີ້ອາດຈະໃຊ້ເວລາຈັກໜ້ອຍ.</translation> <translation id="2731971182069536520">ຄັ້ງຕໍ່ໄປທີ່ທ່ານປິດເປີດອຸປະກອນຂອງທ່ານ, ຜູ້ເບິ່ງແຍງລະບົບຂອງທ່ານຈະເຮັດການອັບເດດຄັ້ງດຽວທີ່ຈະລຶບຂໍ້ມູນໃນເຄື່ອງຂອງທ່ານ.</translation> +<translation id="2732134891301408122">ເນື້ອຫາເພີ່ມເຕີມທີ <ph name="CURRENT_ELEMENT" /> ຈາກທັງໝົດ <ph name="TOTAL_ELEMENTS" /></translation> <translation id="2734760316755174687">ເວັບໄຊພາຍໃຕ້ <ph name="SITE_GROUP_NAME" /> ຈະຖືກຣີເຊັດເຊັ່ນກັນ.</translation> <translation id="2735712963799620190">ກຳນົດເວລາ</translation> <translation id="2737363922397526254">ຍຸບລົງ...</translation> @@ -2837,7 +2837,7 @@ <translation id="4390000551125140321">{0,plural, =1{ບໍ່ເປີດເຜີຍຕົວຕົນ}other{# ໜ້າຈໍທີ່ບໍ່ເປີດເຜີຍຕົວຕົນເປີດຢູ່}}</translation> <translation id="439266289085815679">ການກຳນົດຄ່າ Bluetooth ຖືກຄວບຄຸມໂດຍ <ph name="USER_EMAIL" />.</translation> <translation id="4392896746540753732">ແກ້ໄຂໄຟລ໌ກຳນົດຄ່າ</translation> -<translation id="4393691030048716353"><ph name="DOMAIN" /> ໄດ້ປິດການນຳໃຊ້ການດີບັກ ADB ແລ້ວ. ເມື່ອທ່ານຣິສະຕາດ <ph name="DEVICE_TYPE" /> ຂອງທ່ານແລ້ວ, ທ່ານຈະບໍ່ສາມາດໂຫຼດແອັບຢ່າງບໍ່ເປັນທາງການໄດ້.</translation> +<translation id="4393691030048716353"><ph name="DOMAIN" /> ໄດ້ປິດການນຳໃຊ້ການດີບັກ ADB ແລ້ວ. ເມື່ອທ່ານຣີສະຕາດ <ph name="DEVICE_TYPE" /> ຂອງທ່ານແລ້ວ, ທ່ານຈະບໍ່ສາມາດໂຫຼດແອັບຢ່າງບໍ່ເປັນທາງການໄດ້.</translation> <translation id="4394049700291259645">ປິດໃຊ້ງານ</translation> <translation id="439817266247065935">ອຸປະກອນຂອງທ່ານປິດເຄື່ອງຢ່າງບໍ່ຖືກຕ້ອງ. ຣີສະຕາດ Linux ເພື່ອໃຊ້ແອັບ Linux.</translation> <translation id="4400367121200150367">ເວັບໄຊທີ່ບໍ່ບັນທຶກລະຫັດຜ່ານໄວ້ຈະປາກົດຢູ່ບ່ອນນີ້</translation> @@ -3120,6 +3120,7 @@ <translation id="4735803855089279419">ລະບົບກໍານົດຕົວລະບຸອຸປະກອນສໍາລັບອຸປະກອນນີ້ບໍ່ສຳເລັດ.</translation> <translation id="4736292055110123391">ຊິ້ງບຸກມາກ, ລະຫັດຜ່ານ, ປະຫວັດຂອງທ່ານ ແລະ ອື່ນໆອີກຢູ່ໃນທຸກອຸປະກອນຂອງທ່ານ</translation> <translation id="473775607612524610">ອັບເດດ</translation> +<translation id="473936925429402449">ເລືອກແລ້ວ, ເນື້ອຫາເພີ່ມເຕີມທີ <ph name="CURRENT_ELEMENT" /> ຈາກທັງໝົດ <ph name="TOTAL_ELEMENTS" /></translation> <translation id="4739639199548674512">ປີ້</translation> <translation id="4743260470722568160"><ph name="BEGIN_LINK" />ສຶກສາວິທີອັບເດດແອັບພລິເຄຊັນ<ph name="END_LINK" /></translation> <translation id="4744981231093950366">{NUM_TABS,plural, =1{ເປີດສຽງເວັບໄຊ}other{ເປີດສຽງເວັບໄຊ}}</translation> @@ -4141,6 +4142,7 @@ <translation id="6011449291337289699">ລຶບລ້າງຂໍ້ມູນເວັບໄຊ</translation> <translation id="6015266928248016057">PUK ທີ່ຖືກຕ້ອງ. ລອງໄດ້ອີກ: <ph name="RETRIES" /> ເທື່ອ.</translation> <translation id="6015796118275082299">ປີ</translation> +<translation id="6016178549409952427">ນຳທາງໄປຫາເນື້ອຫາເພີ່ມເຕີມທີ <ph name="CURRENT_ELEMENT" /> ຈາກທັງໝົດ <ph name="TOTAL_ELEMENTS" /></translation> <translation id="6016551720757758985">ຢືນຢັນ Powerwash ດ້ວຍການກັບຄືນໄປຫາໜ້າຈໍຜ່ານມາ</translation> <translation id="6016972670657536680">ເລືອກພາສາ ແລະ ປຸ່ມແປ້ນພິມ. ພາສາທີ່ເລືອກໃນປັດຈຸບັນແມ່ນ <ph name="LANGUAGE" />.</translation> <translation id="6017514345406065928">ສີຂຽວ</translation> @@ -6445,6 +6447,7 @@ <translation id="8811862054141704416">ສິດເຂົ້າເຖິງໄມໂຄຣໂຟນໃນ Crostini</translation> <translation id="8812552797690463522">ເຄືອຂ່າຍນີ້ແບ່ງປັນກັບທ່ານ.</translation> <translation id="8812593354822910461">ລຶບລ້າງຂໍ້ມູນການນຳໃຊ້ (<ph name="URL" />) ນຳ ເຊິ່ງອາດຈະນຳທ່ານອອກຈາກລະບົບ <ph name="DOMAIN" />. <ph name="LEARN_MORE" /></translation> +<translation id="8813277370772331957">ແຈ້ງເຕືອນຂ້ອຍໃນພາຍຫຼັງ</translation> <translation id="8813698869395535039">ບໍ່ສາມາດລົງຊື່ເຂົ້າໃຊ້ <ph name="USERNAME" /> ໄດ້</translation> <translation id="8813872945700551674">ຂໍໃຫ້ພໍ່ແມ່ອະນຸຍາດ "<ph name="EXTENSION_NAME" />"</translation> <translation id="8813969267212093033">ຂໍ້ຄວາມລະບົບປາກົດເປັນພາສານີ້</translation> @@ -6475,6 +6478,7 @@ <translation id="8838601485495657486">ທຶບແສງ</translation> <translation id="8838770651474809439">ແຮມເບີເກີ</translation> <translation id="883911313571074303">ຂຽນໝາຍເຫດປະກອບຮູບພາບ</translation> +<translation id="8841843049738266382">ອ່ານ ແລະ ປ່ຽນຜູ້ໃຊ້ທີ່ຢູ່ໃນລາຍຊືໄດ້ຮັບອະນຸຍາດ</translation> <translation id="8842594465773264717">ລຶບລາຍນິ້ວມືນີ້</translation> <translation id="8845001906332463065">ຂໍການຊ່ວຍເຫຼືອ</translation> <translation id="8846132060409673887">ອ່ານການຜະລິດ ແລະ ຮຸ່ນຂອງຄອມພິວເຕີນີ້</translation>
diff --git a/chrome/app/resources/generated_resources_lt.xtb b/chrome/app/resources/generated_resources_lt.xtb index 145d1b82..6deee3e 100644 --- a/chrome/app/resources/generated_resources_lt.xtb +++ b/chrome/app/resources/generated_resources_lt.xtb
@@ -1139,7 +1139,6 @@ <translation id="2340263603246777781">Svetainė <ph name="ORIGIN" /> nori būti susieta su</translation> <translation id="2342740338116612727">Žymės pridėtos</translation> <translation id="2343747224442182863">Šio skirtuko paryškinimas</translation> -<translation id="2344686470986284227">Paleidžiamas virtualaus įrenginio valdiklis</translation> <translation id="2345723121311404059">1 psl. į „<ph name="PRINTER_NAME" />“</translation> <translation id="2347644257713614136">„Hangout“ ir „Cast for Education“ naudojimas reglamentuojamas pagal „Google“ privatumo politiką.</translation> <translation id="2348176352564285430">Programa: <ph name="ARC_PROCESS_NAME" /></translation>
diff --git a/chrome/app/resources/generated_resources_lv.xtb b/chrome/app/resources/generated_resources_lv.xtb index ab3bff5..ff5c57b 100644 --- a/chrome/app/resources/generated_resources_lv.xtb +++ b/chrome/app/resources/generated_resources_lv.xtb
@@ -1139,7 +1139,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" /> vēlas savienot pārī</translation> <translation id="2342740338116612727">Grāmatzīmes pievienotas</translation> <translation id="2343747224442182863">Izcelt šo cilni</translation> -<translation id="2344686470986284227">Virtuālās mašīnas vadāmierīces startēšana</translation> <translation id="2345723121311404059">1 lapa nosūtīta printerim <ph name="PRINTER_NAME" /></translation> <translation id="2347644257713614136">Uz funkcijas Hangouts un paplašinājuma Cast for Education izmantošanu attiecas Google konfidencialitātes politika.</translation> <translation id="2348176352564285430">Lietotne: <ph name="ARC_PROCESS_NAME" /></translation> @@ -1475,6 +1474,7 @@ <translation id="2731700343119398978">Lūdzu, uzgaidiet...</translation> <translation id="2731710757838467317">Notiek jūsu uzraudzītā lietotāja izveide. Šis process var ilgt kādu laiku.</translation> <translation id="2731971182069536520">Nākamreiz, kad restartēsiet ierīci, administrators veiks vienreizēju atjauninājumu, kas dzēsīs jūsu lokālos datus.</translation> +<translation id="2732134891301408122">Papildu satura <ph name="CURRENT_ELEMENT" />. elements no <ph name="TOTAL_ELEMENTS" /></translation> <translation id="2734760316755174687">Vietnes grupā <ph name="SITE_GROUP_NAME" /> arī tiks atiestatītas.</translation> <translation id="2735712963799620190">Grafiks</translation> <translation id="2737363922397526254">Sakļaut...</translation> @@ -3122,6 +3122,7 @@ <translation id="4735803855089279419">Sistēmā neizdevās noteikt šīs ierīces identifikatorus.</translation> <translation id="4736292055110123391">Sinhronizējiet grāmatzīmes, paroles, vēsturi un citu saturu visās savās ierīcēs</translation> <translation id="473775607612524610">Atjaunināt</translation> +<translation id="473936925429402449">Atlasīts, papildu satura <ph name="CURRENT_ELEMENT" />. elements no <ph name="TOTAL_ELEMENTS" /></translation> <translation id="4739639199548674512">Biļetes</translation> <translation id="4743260470722568160"><ph name="BEGIN_LINK" />Uzzināt, kā atjaunināt lietojumprogrammas<ph name="END_LINK" /></translation> <translation id="4744981231093950366">{NUM_TABS,plural, =1{Rādīt vietni}zero{Rādīt vietnes}one{Rādīt vietnes}other{Rādīt vietnes}}</translation> @@ -4143,6 +4144,7 @@ <translation id="6011449291337289699">Vietnes datu notīrīšana</translation> <translation id="6015266928248016057">PUK nav derīgs. Atlikušo mēģinājumu skaits: <ph name="RETRIES" />.</translation> <translation id="6015796118275082299">Gads</translation> +<translation id="6016178549409952427">Pāriet uz papildu satura <ph name="CURRENT_ELEMENT" />. elementu no <ph name="TOTAL_ELEMENTS" /></translation> <translation id="6016551720757758985">Apstiprinājums funkcijas Powerwash lietošanai, lai atjaunotu ierīcē iepriekšējo programmatūras versiju</translation> <translation id="6016972670657536680">Atlasiet valodas un tastatūras pogu. Pašlaik atlasītā valoda: <ph name="LANGUAGE" />.</translation> <translation id="6017514345406065928">Zaļa</translation> @@ -6448,6 +6450,7 @@ <translation id="8811862054141704416">Crostini piekļuve mikrofonam</translation> <translation id="8812552797690463522">Šis tīkls tiek koplietots ar jums.</translation> <translation id="8812593354822910461">Arī notīrīt pārlūkošanas datus (<ph name="URL" />). Tādējādi tiksiet izrakstīts no vietnes <ph name="DOMAIN" />. <ph name="LEARN_MORE" /></translation> +<translation id="8813277370772331957">Atgādināt vēlāk</translation> <translation id="8813698869395535039">Problēma ar pierakstīšanos kontā <ph name="USERNAME" /></translation> <translation id="8813872945700551674">Lūdziet kādam no vecākiem apstiprināt paplašinājumu <ph name="EXTENSION_NAME" />.</translation> <translation id="8813969267212093033">Sistēmas teksts tiek rādīts šajā valodā.</translation> @@ -6478,6 +6481,7 @@ <translation id="8838601485495657486">Necaurspīdīgs</translation> <translation id="8838770651474809439">Hamburgers</translation> <translation id="883911313571074303">Anotēt attēlu</translation> +<translation id="8841843049738266382">Lasīt un mainīt atļaušanas sarakstā iekļautos lietotājus</translation> <translation id="8842594465773264717">Dzēst šo pirksta nospiedumu</translation> <translation id="8845001906332463065">Saņemt palīdzību</translation> <translation id="8846132060409673887">Nolasīt šī datora ražotāju un modeli</translation>
diff --git a/chrome/app/resources/generated_resources_mk.xtb b/chrome/app/resources/generated_resources_mk.xtb index f8e42a40..ccc1b75 100644 --- a/chrome/app/resources/generated_resources_mk.xtb +++ b/chrome/app/resources/generated_resources_mk.xtb
@@ -1139,7 +1139,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" /> сака да се спари</translation> <translation id="2342740338116612727">Додадени се обележувачи</translation> <translation id="2343747224442182863">Фокусирајте ја картичкава</translation> -<translation id="2344686470986284227">Се стартува контролерот на виртуелната машина</translation> <translation id="2345723121311404059">1 страница на <ph name="PRINTER_NAME" /></translation> <translation id="2347644257713614136">Користењето на Hangouts и „Cast за образование“ е регулирано со „Политиката за приватност на Google“.</translation> <translation id="2348176352564285430">Апликација: <ph name="ARC_PROCESS_NAME" /></translation> @@ -6167,7 +6166,7 @@ <translation id="8467326454809944210">Изберете друг јазик</translation> <translation id="8470214316007448308">Други луѓе</translation> <translation id="8470513973197838199">Зачувани лозинки за <ph name="ORIGIN" /></translation> -<translation id="8471256130228705232"><ph name="DOMAIN" /> го оневозможува отстранувањето грешки на ADB. Ова ќе го ресетира вашиот <ph name="DEVICE_TYPE" /> по 24 часа. Направете бекап на сите датотеките што сакате да ги задржите.</translation> +<translation id="8471256130228705232"><ph name="DOMAIN" /> го оневозможува отстранувањето грешки на ADB. Ова ќе го ресетира вашиот <ph name="DEVICE_TYPE" /> по 24 часа. Направете бекап на датотеките што сакате да ги задржите.</translation> <translation id="8472623782143987204">со резервни копии од хардвер</translation> <translation id="8473863474539038330">Адреси и друго</translation> <translation id="8475313423285172237">Друга програма на компјутерот додаде наставка која може да промени како работи Chrome.</translation>
diff --git a/chrome/app/resources/generated_resources_ml.xtb b/chrome/app/resources/generated_resources_ml.xtb index 91b9073..8be67de 100644 --- a/chrome/app/resources/generated_resources_ml.xtb +++ b/chrome/app/resources/generated_resources_ml.xtb
@@ -1136,7 +1136,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" /> ജോടിയാക്കാൻ താൽപ്പര്യപ്പെടുന്നു</translation> <translation id="2342740338116612727">ബുക്ക്മാര്ക്കുകള് ചേര്ത്തു</translation> <translation id="2343747224442182863">ഈ ടാബ് ഫോക്കസ് ചെയ്യുക</translation> -<translation id="2344686470986284227">വെർച്വൽ മെഷീൻ കൺട്രോളർ ആരംഭിക്കുന്നു</translation> <translation id="2345723121311404059"><ph name="PRINTER_NAME" /> പ്രിന്ററിലേക്ക് ഒരു പേജ്</translation> <translation id="2347644257713614136">Hangouts, വിദ്യാഭ്യാസത്തിനുള്ള Cast എന്നിവയുടെ ഉപയോഗത്തെ നിയന്ത്രിക്കുന്നത് Google സ്വകാര്യതാ നയമാണ്.</translation> <translation id="2348176352564285430">ആപ്പ്: <ph name="ARC_PROCESS_NAME" /></translation> @@ -6163,7 +6162,7 @@ <translation id="8467326454809944210">മറ്റൊരു ഭാഷ തിരഞ്ഞെടുക്കുക</translation> <translation id="8470214316007448308">മറ്റ് ആളുകൾ</translation> <translation id="8470513973197838199"><ph name="ORIGIN" />-നായി സംരക്ഷിച്ച പാസ്വേഡുകൾ</translation> -<translation id="8471256130228705232"><ph name="DOMAIN" />, ADB ഡീബഗ് ചെയ്യൽ പ്രവർത്തനരഹിതമാക്കുന്നു. ഇത് നിങ്ങളുടെ <ph name="DEVICE_TYPE" /> ഉപകരണം 24 മണിക്കൂറിനുള്ളിൽ റീസെറ്റ് ചെയ്യും. നിലനിർത്തണമെന്നുള്ള എല്ലാ ഫയലുകളും ബാക്കപ്പ് ചെയ്യുക.</translation> +<translation id="8471256130228705232"><ph name="DOMAIN" />, ADB ഡീബഗ് ചെയ്യൽ പ്രവർത്തനരഹിതമാക്കുന്നു. ഇത് നിങ്ങളുടെ <ph name="DEVICE_TYPE" /> 24 മണിക്കൂറിനുള്ളിൽ റീസെറ്റ് ചെയ്യും. നിലനിർത്തണമെന്നുള്ള എല്ലാ ഫയലുകളും ബാക്കപ്പ് ചെയ്യുക.</translation> <translation id="8472623782143987204">ഹാര്ഡ്വെയര്-ബാക്കപ്പ് ചെയ്തു</translation> <translation id="8473863474539038330">വിലാസങ്ങളും മറ്റും</translation> <translation id="8475313423285172237">നിങ്ങളുടെ കമ്പ്യൂട്ടറിലെ മറ്റൊരു പ്രോഗ്രാം Chrome പ്രവർത്തിക്കുന്ന രീതി മാറ്റിയേക്കാവുന്ന ഒരു വിപുലീകരണം ചേർത്തു.</translation>
diff --git a/chrome/app/resources/generated_resources_mn.xtb b/chrome/app/resources/generated_resources_mn.xtb index 24a8e3af..229232f 100644 --- a/chrome/app/resources/generated_resources_mn.xtb +++ b/chrome/app/resources/generated_resources_mn.xtb
@@ -1135,7 +1135,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" /> холбогдох хүсэлтэй байна</translation> <translation id="2342740338116612727">Хавчуурга нэмсэн</translation> <translation id="2343747224442182863">Энэ табын фокусыг тохируулах</translation> -<translation id="2344686470986284227">Виртуал машины хянагчийг эхлүүлж байна</translation> <translation id="2345723121311404059"><ph name="PRINTER_NAME" />-р 1 хуудас</translation> <translation id="2347644257713614136">Hangouts болон Cast for Education-н хэрэглээг Google-н нууцлалын бодлогын дагуу зохицуулдаг.</translation> <translation id="2348176352564285430">Апп: <ph name="ARC_PROCESS_NAME" /></translation> @@ -1470,6 +1469,7 @@ <translation id="2731700343119398978">Түр хүлээнэ үү ...</translation> <translation id="2731710757838467317">Таны хяналттай хэрэглэгчийг үүсгэж байна. Энэ нь цөөн хэдэн хором үргэлжлэх болно.</translation> <translation id="2731971182069536520">Та дараагийн удаа төхөөрөмжөө дахин эхлүүлэхэд таны админ таны дотоод өгөгдлийг устгах нэг удаагийн шинэчлэлт хийнэ.</translation> +<translation id="2732134891301408122"><ph name="TOTAL_ELEMENTS" />-с <ph name="CURRENT_ELEMENT" /> нэмэлт контент</translation> <translation id="2734760316755174687"><ph name="SITE_GROUP_NAME" /> доорх сайтууд мөн шинэчлэгдэх болно.</translation> <translation id="2735712963799620190">Хуваарь</translation> <translation id="2737363922397526254">Гэмтэлтэй байна ...</translation> @@ -3116,6 +3116,7 @@ <translation id="4735803855089279419">Систем энэ төхөөрөмжид тохирох төхөөрөмж тодорхойлогчийг тогтоож чадсангүй.</translation> <translation id="4736292055110123391">Бүх төхөөрөмждөө хавчуурга, нууц үг, түүх болон бусад зүйлээ синк хийх</translation> <translation id="473775607612524610">Шинэчлэх</translation> +<translation id="473936925429402449"><ph name="TOTAL_ELEMENTS" />-с <ph name="CURRENT_ELEMENT" /> нэмэлт контентыг сонгосон</translation> <translation id="4739639199548674512">Тасалбар</translation> <translation id="4743260470722568160"><ph name="BEGIN_LINK" />Аппыг шинэчилж сурна уу<ph name="END_LINK" /></translation> <translation id="4744981231093950366">{NUM_TABS,plural, =1{Сайтын дууг нээх}other{Сайтуудын дууг нээх}}</translation> @@ -4137,6 +4138,7 @@ <translation id="6011449291337289699">Сайтын өгөгдлийг устгах</translation> <translation id="6015266928248016057">PUK буруу байна. Үлдсэн дахин оролдлого: <ph name="RETRIES" />.</translation> <translation id="6015796118275082299">Жил</translation> +<translation id="6016178549409952427"><ph name="TOTAL_ELEMENTS" />-с <ph name="CURRENT_ELEMENT" /> нэмэлт контентод шилжих</translation> <translation id="6016551720757758985">Өмнөх хувилбар руу буцаах Powerwash-ийг баталгаажуулна уу.</translation> <translation id="6016972670657536680">Хэл болон гарын товчлуурыг сонгоно уу. Одоогоор <ph name="LANGUAGE" /> хэлийг сонгосон байна.</translation> <translation id="6017514345406065928">Ногоон</translation> @@ -6437,6 +6439,7 @@ <translation id="8811862054141704416">Crostini-н микрофоны хандалт</translation> <translation id="8812552797690463522">Энэ сүлжээг тантай хуваалцсан байна.</translation> <translation id="8812593354822910461">Мөн хайлтын өгөгдлийг (<ph name="URL" />) устгах. Ингэснээр та <ph name="DOMAIN" />-с гарах болно. <ph name="LEARN_MORE" /></translation> +<translation id="8813277370772331957">Надад дараа сануулах</translation> <translation id="8813698869395535039"><ph name="USERNAME" />-д нэвтрэх боломжгүй байна</translation> <translation id="8813872945700551674">"<ph name="EXTENSION_NAME" />"-г эцэг эхээрээ зөвшөөрүүлнэ үү</translation> <translation id="8813969267212093033">Системийн текстийг энэ хэлээр харуулдаг</translation> @@ -6467,6 +6470,7 @@ <translation id="8838601485495657486">Тунгалаг бус</translation> <translation id="8838770651474809439">Гамбургер</translation> <translation id="883911313571074303">Зураг тэмдэглэх</translation> +<translation id="8841843049738266382">Зөвшөөрсөн жагсаалтын хэрэглэгчдийг уншиж, өөрчлөх</translation> <translation id="8842594465773264717">Энэ хурууны хээг устгах</translation> <translation id="8845001906332463065">Тусламж авах</translation> <translation id="8846132060409673887">Энэ компьютерийн үйлдвэрлэгч болон загварыг унших</translation>
diff --git a/chrome/app/resources/generated_resources_mr.xtb b/chrome/app/resources/generated_resources_mr.xtb index 5b40495..7ca7dd4 100644 --- a/chrome/app/resources/generated_resources_mr.xtb +++ b/chrome/app/resources/generated_resources_mr.xtb
@@ -1138,7 +1138,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" /> जोडू इच्छिते</translation> <translation id="2342740338116612727">बुकमार्क जोडले</translation> <translation id="2343747224442182863">या टॅबवर फोकस करा</translation> -<translation id="2344686470986284227">व्हर्च्युअल मशीन नियंत्रक सुरू करत आहे</translation> <translation id="2345723121311404059">1 पेज <ph name="PRINTER_NAME" />वर</translation> <translation id="2347644257713614136">Hangouts आणि Cast for Education चा वापर Google गोपनीयता धोरण संचालित करते.</translation> <translation id="2348176352564285430">ॲप: <ph name="ARC_PROCESS_NAME" /></translation>
diff --git a/chrome/app/resources/generated_resources_ms.xtb b/chrome/app/resources/generated_resources_ms.xtb index e04ff7f..68d6a94 100644 --- a/chrome/app/resources/generated_resources_ms.xtb +++ b/chrome/app/resources/generated_resources_ms.xtb
@@ -1139,7 +1139,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" /> mahu digandingkan</translation> <translation id="2342740338116612727">Penanda halaman ditambahkan</translation> <translation id="2343747224442182863">Fokus pada Tab Ini</translation> -<translation id="2344686470986284227">Memulakan pengawal mesin maya</translation> <translation id="2345723121311404059">1 halaman ke <ph name="PRINTER_NAME" /></translation> <translation id="2347644257713614136">Penggunaan Hangouts and Cast for Education dikawal oleh Dasar Privasi Google.</translation> <translation id="2348176352564285430">Apl: <ph name="ARC_PROCESS_NAME" /></translation> @@ -1288,6 +1287,7 @@ <translation id="2505127913256479918">Akaun di bawah seliaan ini akan dialih keluar tidak lama lagi</translation> <translation id="2505324914378689427">{SCREEN_INDEX,plural, =1{Skrin #}other{Skrin #}}</translation> <translation id="2505402373176859469"><ph name="RECEIVED_AMOUNT" /> daripada <ph name="TOTAL_SIZE" /></translation> +<translation id="250642123108534012">Peranti berdekatan anda apabila Kongsi Berdekatan dibuka pada peranti mereka</translation> <translation id="250704661983564564">Susunan paparan</translation> <translation id="2507253002925770350">Tiket dialih keluar</translation> <translation id="2507397597949272797"><ph name="NAME" /> dijeda</translation> @@ -1475,6 +1475,7 @@ <translation id="2731700343119398978">Sila tunggu...</translation> <translation id="2731710757838467317">Menghasilkan pengguna diselia anda. Proses Ini mungkin mengambil sedkit masa.</translation> <translation id="2731971182069536520">Apabila anda memulakan semula peranti anda selepas ini, pentadbir anda akan melakukan kemas kini sekali yang akan memadamkan data setempat anda.</translation> +<translation id="2732134891301408122">Kandungan tambahan <ph name="CURRENT_ELEMENT" /> daripada <ph name="TOTAL_ELEMENTS" /></translation> <translation id="2734760316755174687">Tapak di bawah <ph name="SITE_GROUP_NAME" /> akan ditetapkan semula juga.</translation> <translation id="2735712963799620190">Jadual</translation> <translation id="2737363922397526254">Runtuhkan...</translation> @@ -2639,7 +2640,7 @@ <translation id="4104163789986725820">E&ksport...</translation> <translation id="4107048419833779140">Kenal pasti dan keluarkan peranti storan</translation> <translation id="4109135793348361820">Alihkan tetingkap ke <ph name="USER_NAME" /> (<ph name="USER_EMAIL" />)</translation> -<translation id="411031910327788420">Sesuaikan saiz dan gaya kapsyen untuk apl yang menyokong tetapan ini</translation> +<translation id="411031910327788420">Sesuaikan saiz dan gaya sari kata untuk apl yang menyokong tetapan ini</translation> <translation id="4110490973560452005">Muat turun selesai: <ph name="FILE_NAME" />. Tekan Shift+F6 untuk pergi ke kawasan bar muat turun.</translation> <translation id="4110686435123617899">Pilih album <ph name="TITLE" /> <ph name="DESC" /></translation> <translation id="4110895898888439383">Semak imbas web dalam mod kontras tinggi</translation> @@ -3122,6 +3123,7 @@ <translation id="4735803855089279419">Sistem gagal menentukan pengecam peranti untuk peranti ini.</translation> <translation id="4736292055110123391">Segerakkan penanda halaman, kata laluan, sejarah dan pelbagai lagi item anda pada semua peranti anda</translation> <translation id="473775607612524610">Kemas kini</translation> +<translation id="473936925429402449">Dipilih, kandungan tambahan <ph name="CURRENT_ELEMENT" /> daripada <ph name="TOTAL_ELEMENTS" /></translation> <translation id="4739639199548674512">Tiket</translation> <translation id="4743260470722568160"><ph name="BEGIN_LINK" />Ketahui cara mengemas kini aplikasi<ph name="END_LINK" /></translation> <translation id="4744981231093950366">{NUM_TABS,plural, =1{Nyahredam tapak}other{Nyahredam tapak}}</translation> @@ -3137,6 +3139,7 @@ <translation id="4762718786438001384">Ruang cakera peranti terlalu rendah</translation> <translation id="4763408175235639573">Kuki berikut ditetapkan apabila anda melihat halaman ini</translation> <translation id="4765582662863429759">Membenarkan Android Messages menyampaikan teks daripada telefon ke Chromebook anda</translation> +<translation id="476598255842811483">Tiada orang melainkan anda membuka Kongsi Berdekatan pada peranti anda</translation> <translation id="4768332406694066911">Anda mempunyai sijil daripada organisasi ini yang mengenal pasti anda</translation> <translation id="477647109558161443">Buat pintasan desktop</translation> <translation id="4776917500594043016">Kata laluan untuk <ph name="USER_EMAIL_ADDRESS" /></translation> @@ -4143,6 +4146,7 @@ <translation id="6011449291337289699">Kosongkan data tapak</translation> <translation id="6015266928248016057">PUK tidak sah. Baki cubaan semula: <ph name="RETRIES" />.</translation> <translation id="6015796118275082299">Tahun</translation> +<translation id="6016178549409952427">Navigasi kepada kandungan tambahan <ph name="CURRENT_ELEMENT" /> daripada <ph name="TOTAL_ELEMENTS" /></translation> <translation id="6016551720757758985">Sahkan Powerwash dengan kembali ke versi terdahulu</translation> <translation id="6016972670657536680">Pilih bahasa dan butang papan kekunci. Bahasa yang dipilih pada masa ini ialah <ph name="LANGUAGE" />.</translation> <translation id="6017514345406065928">Hijau</translation> @@ -5666,6 +5670,7 @@ <translation id="786073089922909430">Perkhidmatan: <ph name="ARC_PROCESS_NAME" /></translation> <translation id="7861215335140947162">&Muat turun</translation> <translation id="7864539943188674973">Lumpuhkan Bluetooth</translation> +<translation id="7866352732146932341">Peranti berdekatan anda apabila Kongsi Berdekatan dibuka pada peranti anda</translation> <translation id="786957569166715433"><ph name="DEVICE_NAME" /> - Digandingkan</translation> <translation id="7870730066603611552">Semak pilihan penyegerakan selepas persediaan</translation> <translation id="7870790288828963061">Tiada apl Kiosk dengan versi lebih baharu dijumpai. Tiada apa-apa untuk dikemas kini. Sila alih keluar batang USB.</translation> @@ -6450,6 +6455,7 @@ <translation id="8811862054141704416">Akses mikrofon Crostini</translation> <translation id="8812552797690463522">Rangkaian ini dikongsi dengan anda.</translation> <translation id="8812593354822910461">Kosongkan data semakan imbas (<ph name="URL" />) juga, yang akan melog anda keluar daripada <ph name="DOMAIN" />. <ph name="LEARN_MORE" /></translation> +<translation id="8813277370772331957">Ingatkan saya kemudian</translation> <translation id="8813698869395535039">Tidak dapat mengelog masuk ke <ph name="USERNAME" /></translation> <translation id="8813872945700551674">Sila minta ibu/bapa meluluskan "<ph name="EXTENSION_NAME" />"</translation> <translation id="8813969267212093033">Teks sistem ditunjukkan dalam bahasa ini</translation> @@ -6480,6 +6486,7 @@ <translation id="8838601485495657486">Legap</translation> <translation id="8838770651474809439">Hamburger</translation> <translation id="883911313571074303">Anotasikan imej</translation> +<translation id="8841843049738266382">Baca dan tukar pengguna dalam senarai dibenarkan</translation> <translation id="8842594465773264717">Padam cap jari ini</translation> <translation id="8845001906332463065">Dapatkan bantuan</translation> <translation id="8846132060409673887">Baca tentang pengeluar dan model komputer ini</translation>
diff --git a/chrome/app/resources/generated_resources_my.xtb b/chrome/app/resources/generated_resources_my.xtb index a2606cc..c5eac76 100644 --- a/chrome/app/resources/generated_resources_my.xtb +++ b/chrome/app/resources/generated_resources_my.xtb
@@ -1140,7 +1140,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" /> သည် တွဲချိတ်လိုပါသည်</translation> <translation id="2342740338116612727">ဝဘ်လိပ်စာများကို ထည့်ပြီးပါပြီ</translation> <translation id="2343747224442182863">ဤတဘ်ကို အထူးဖော်ပြပါ</translation> -<translation id="2344686470986284227">ပကတိအသွင်စက် ထိန်းချုပ်စနစ် စတင်နေသည်</translation> <translation id="2345723121311404059"><ph name="PRINTER_NAME" /> တွင် ၁ မျက်နှာ ပုံနှိပ်ထုတ်ယူရန်</translation> <translation id="2347644257713614136">ပညာရေးအတွက် Hangouts နှင့် Cast အသုံးပြုခြင်းကို 'Google ပုဂ္ဂိုလ်ရေးဆိုင်ရာ မူဝါဒ' အရ ထိန်းချုပ်ထားသည်။</translation> <translation id="2348176352564285430">အက်ပ် − <ph name="ARC_PROCESS_NAME" /></translation> @@ -1476,6 +1475,7 @@ <translation id="2731700343119398978">ကျေးဇူးပြုပြီး စောင့်ပါ…</translation> <translation id="2731710757838467317">ကြီးကြပ်မှုခံ အသုံးပြုသူကို ဖန်တီးနေပါသည်။ ဤအရာသည် အချိန်အနည်းငယ် ကြာမြင့်နိုင်ပါသည်။</translation> <translation id="2731971182069536520">နောက်တစ်ကြိမ် သင့်ကိရိယာ ပြန်စတင်သည့်အခါတွင် စီမံခန့်ခွဲသူက သင်၏စက်အတွင်း ဒေတာများကို ဖျက်ပစ်မည့် တစ်ကြိမ်သုံးအပ်ဒိတ်ကို ပြုလုပ်ပါမည်။</translation> +<translation id="2732134891301408122"><ph name="TOTAL_ELEMENTS" /> ခုအနက် အကြောင်းအရာအပို <ph name="CURRENT_ELEMENT" /></translation> <translation id="2734760316755174687"><ph name="SITE_GROUP_NAME" /> အောက်ရှိ ဝဘ်ဆိုက်များကိုလည်း ပြင်ဆင်သတ်မှတ်လိုက်ပါမည်။</translation> <translation id="2735712963799620190">အချိန်ဇယား</translation> <translation id="2737363922397526254">ခေါက်သိမ်းရန်...</translation> @@ -3122,6 +3122,7 @@ <translation id="4735803855089279419">စနစ်သည် ဤစက်ပစ္စည်းအတွက် စက်ပစ္စည်းသတ်မှတ်မှုစနစ်ကို ရယူ၍မရပါ။</translation> <translation id="4736292055110123391">သင့်စက်ပစ္စည်းများအားလုံးတွင် သင်၏ ဝဘ်လိပ်စာ၊ စကားဝှက်၊ မှတ်တမ်းနှင့် အခြားအရာများစွာတို့ကို စင့်ခ်လုပ်ပါ</translation> <translation id="473775607612524610">အပ်ဒိတ်လုပ်ရန်</translation> +<translation id="473936925429402449">ရွေးထားသည်၊ <ph name="TOTAL_ELEMENTS" /> ခုအနက် အကြောင်းအရာအပို <ph name="CURRENT_ELEMENT" /></translation> <translation id="4739639199548674512">လက်မှတ်များ</translation> <translation id="4743260470722568160"><ph name="BEGIN_LINK" />အပလီကေးရှင်းများ အပ်ဒိတ်လုပ်နည်းကို လေ့လာရန်<ph name="END_LINK" /></translation> <translation id="4744981231093950366">{NUM_TABS,plural, =1{ဝဘ်ဆိုက် ပြန်ဖွင့်ရန်}other{ဝဘ်ဆိုက်များ ပြန်ဖွင့်ရန်}}</translation> @@ -4142,6 +4143,7 @@ <translation id="6011449291337289699">ဆိုက်ဒေတာများကို ရှင်းလင်းပါ</translation> <translation id="6015266928248016057">PUK မမှန်ကန်ပါ။ ကျန်ရှိသော စမ်းကြည့်ခွင့်အကြိမ်ရေ- <ph name="RETRIES" />။</translation> <translation id="6015796118275082299">နှစ်</translation> +<translation id="6016178549409952427"><ph name="TOTAL_ELEMENTS" /> ခုအနက် အကြောင်းအရာအပို <ph name="CURRENT_ELEMENT" /> သို့ သွားရန်</translation> <translation id="6016551720757758985">ယခင်ဗားရှင်းသို့ ပြန်သွားရန် Powerwash အား အတည်ပြုခြင်း</translation> <translation id="6016972670657536680">ဘာသာစကားနှင့် ကီးဘုတ်ခလုတ်ကို ရွေးပါ။ လက်ရှိရွေးထားသည့် ဘာသာစကားသည် <ph name="LANGUAGE" /> ဖြစ်သည်။</translation> <translation id="6017514345406065928">အစိမ်းရောင်</translation> @@ -6446,6 +6448,7 @@ <translation id="8811862054141704416">Crostini မိုက်ခရိုဖုန်း သုံးခွင့်</translation> <translation id="8812552797690463522">ဤကွန်ရက်ကို သင့်အား မျှဝေထားသည်။</translation> <translation id="8812593354822910461">ဖွင့်ကြည့်ထားသည့် မှတ်တမ်းဒေတာ (<ph name="URL" />) ကိုလည်း ရှင်းထုတ်မည်ဖြစ်ပြီး <ph name="DOMAIN" /> မှ ထွက်သွားပါမည်။ <ph name="LEARN_MORE" /></translation> +<translation id="8813277370772331957">နောက်မှ သတိပေးရန်</translation> <translation id="8813698869395535039"><ph name="USERNAME" /> သို့ လက်မှတ်ထိုးဝင်၍ မရပါ</translation> <translation id="8813872945700551674">"<ph name="EXTENSION_NAME" />" အတွက် မိဘ အတည်ပြုချက် ရယူပါ</translation> <translation id="8813969267212093033">စနစ်၏စာသားကို ဤဘာသာစကားဖြင့် ဖော်ပြထားသည်</translation> @@ -6476,6 +6479,7 @@ <translation id="8838601485495657486">အလင်းပိတ်သည်</translation> <translation id="8838770651474809439">ဟမ်ဘာဂါ</translation> <translation id="883911313571074303">ပုံတွင် မှတ်ချက်ပေးရန်</translation> +<translation id="8841843049738266382">ခွင့်ပြုစာရင်းပါ အသုံးပြုသူများကို ဖတ်ရှုပြီး ပြောင်းလဲပါ</translation> <translation id="8842594465773264717">ဤလက်ဗွေကို ဖျက်ရန်</translation> <translation id="8845001906332463065">အကူအညီရယူပါ</translation> <translation id="8846132060409673887">ဤကွန်ပျူတာကို ထုတ်လုပ်သူနှင့် မော်ဒယ်နံပါတ်တို့ကို ကြည့်ရန်</translation>
diff --git a/chrome/app/resources/generated_resources_ne.xtb b/chrome/app/resources/generated_resources_ne.xtb index 98eceb710..29ad4eb 100644 --- a/chrome/app/resources/generated_resources_ne.xtb +++ b/chrome/app/resources/generated_resources_ne.xtb
@@ -85,7 +85,7 @@ <translation id="1094607894174825014">पढ्ने वा लेख्ने कार्य अमान्य अफसेटसहित "<ph name="DEVICE_NAME" />" मा अनुरोध गरिएको थियो</translation> <translation id="109647177154844434">Parallels Desktop अनइन्स्टल गर्नुले तपाईंको Windows इमेज मेटाउने छ। यसमा Windows का एप, सेटिङ र डेटा समावेश हुन्छन्। तपाईंले Parallels Desktop अनइन्स्टल गर्न खोज्नुभएकै हो?</translation> <translation id="1097515232094183876">{COUNT,plural, =1{एउटा लिंक}other{# वटा लिंक}}</translation> -<translation id="1097658378307015415">साइन इन गर्नु अघि, कृपया सञ्जाल <ph name="NETWORK_ID" /> सक्रिय गर्नको लागि पाहुनाको रूपमा प्रवेश गर्नुहोस्</translation> +<translation id="1097658378307015415">साइन इन गर्नुअघि, कृपया सञ्जाल <ph name="NETWORK_ID" /> सक्रिय गर्नको लागि पाहुनाको रूपमा प्रवेश गर्नुहोस्</translation> <translation id="1099962274138857708"><ph name="DEVICE_NAME" /> बाट छवि कपी गरियो</translation> <translation id="1102187190604780492">तपाईंको सहायकलाई तपाईंको स्क्रिनमा भएका कुरासँग सम्बन्धित जानकारी सक्रियतापूर्वक देखाउन दिनुहोस्</translation> <translation id="1103523840287552314">सँधै अनुवाद गर्नुहोस् <ph name="LANGUAGE" /></translation> @@ -554,7 +554,7 @@ <translation id="1640235262200048077"><ph name="IME_NAME" /> ले Linux का एपहरूमा अझै काम गर्दैन</translation> <translation id="1640283014264083726">RSA इन्क्रिप्शनको साथमा PKCS #1 MD4</translation> <translation id="1641113438599504367">सुरक्षित ब्राउजिङ</translation> -<translation id="1642494467033190216">अन्य डिबगिङ सुविधाहरू सक्षम गर्नु अघि rootfs संरक्षण हटाउनु र रिस्टार्ट गर्नु आवश्यक छ।</translation> +<translation id="1642494467033190216">अन्य डिबगिङ सुविधाहरू सक्षम गर्नुअघि rootfs संरक्षण हटाउनु र रिस्टार्ट गर्नु आवश्यक छ।</translation> <translation id="1643072738649235303">SHA-1 सहितको X9.62 ECDSA हस्ताक्षर</translation> <translation id="1644574205037202324">इतिहास</translation> <translation id="1645516838734033527">तपाईंको <ph name="DEVICE_TYPE" /> सुरक्षित राख्न Smart Lock का लागि तपाईंको फोनमा एक स्क्रिन लक अनिवार्य छ।</translation> @@ -1135,7 +1135,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" /> जोडा बनाउन चाहन्छ</translation> <translation id="2342740338116612727">पुस्तक चिन्हहरू थपिए</translation> <translation id="2343747224442182863">यो ट्याबमा केन्द्रित गर्नुहोस्</translation> -<translation id="2344686470986284227">भर्चुअल मेसिन कन्ट्रोलर सुरु हुँदै छ</translation> <translation id="2345723121311404059"><ph name="PRINTER_NAME" /> का लागि १ पृष्ठ</translation> <translation id="2347644257713614136">Hangouts र शिक्षाका लागि Cast को प्रयोगलाई Google को गोपनीयता नीतिले नियन्त्रण गर्छ।</translation> <translation id="2348176352564285430">एप: <ph name="ARC_PROCESS_NAME" /></translation> @@ -1471,6 +1470,7 @@ <translation id="2731700343119398978">कृपया प्रतिक्षा गर्नुहोस्...</translation> <translation id="2731710757838467317">तपाईंको निरीक्षण प्रयोगकर्ता सिर्जना गर्दै । यसले केही समय लिन सक्छ।</translation> <translation id="2731971182069536520">तपाईंले अर्को पटक आफ्नो यन्त्र पुनः सुचारु गर्दा तपाईंका प्रशासकले एक पटके अद्यावधिक गर्ने छन् जसका कारण तपाईंको स्थानीय डेटा मेटिने छ।</translation> +<translation id="2732134891301408122"><ph name="TOTAL_ELEMENTS" /> वटा थप सामग्रीमध्ये <ph name="CURRENT_ELEMENT" /> औँ सामग्री</translation> <translation id="2734760316755174687"><ph name="SITE_GROUP_NAME" /> अन्तर्गतका साइटहरूलाई पनि रिसेट गरिने छ।</translation> <translation id="2735712963799620190">समय तालिका</translation> <translation id="2737363922397526254">मासिनु...</translation> @@ -3118,6 +3118,7 @@ <translation id="4735803855089279419">प्रणालीले यो यन्त्रका यान्त्रिक पहिचानकर्ताहरू निर्धारण गर्न सकेन।</translation> <translation id="4736292055110123391">तपाईंका सबै यन्त्रहरूमा तपाईंका पुस्तक चिन्ह, पासवर्ड, इतिहाससम्बन्धी जानकारी र थप कुराहरू सिंक गर्नुहोस्</translation> <translation id="473775607612524610">अपडेट गर्नुहोस्</translation> +<translation id="473936925429402449">चयन गरियो, <ph name="TOTAL_ELEMENTS" /> वटा थप सामग्रीमध्ये <ph name="CURRENT_ELEMENT" /> औँ सामग्री</translation> <translation id="4739639199548674512">टिकटहरू</translation> <translation id="4743260470722568160"><ph name="BEGIN_LINK" />एपहरू अद्यावधिक गर्ने तरिका सिक्नुहोस्<ph name="END_LINK" /></translation> <translation id="4744981231093950366">{NUM_TABS,plural, =1{साइट अनम्युट गर्नुहोस्}other{साइटहरू अनम्युट गर्नुहोस्}}</translation> @@ -3396,7 +3397,7 @@ <translation id="5111646998522066203">इन्कोग्निटो मोडबाट बाहिर निस्कनुहोस्</translation> <translation id="5111692334209731439">&बुकमार्क व्यवस्थापक</translation> <translation id="5112577000029535889">&विकासकर्ता उपकरणहरू</translation> -<translation id="5113739826273394829">यदि तपाईं यो प्रतिमामा क्लिक गर्नुहुन्छ भने, तपाईंले म्यानुअल तरिकाले यस <ph name="DEVICE_TYPE" /> लक गर्नुहुने छ। अर्को समय, तपाईंले प्रविष्ट गर्नु अघि आफ्नो पासवर्ड टाइप गर्न आवश्यक छ।</translation> +<translation id="5113739826273394829">यदि तपाईं यो प्रतिमामा क्लिक गर्नुहुन्छ भने, तपाईंले म्यानुअल तरिकाले यस <ph name="DEVICE_TYPE" /> लक गर्नुहुने छ। अर्को समय, तपाईंले प्रविष्ट गर्नुअघि आफ्नो पासवर्ड टाइप गर्न आवश्यक छ।</translation> <translation id="51143538739122961">आफ्नो सुरक्षा साँचो प्रविष्टि गर्नुहोस् र यसलाई छोएर सक्रिय गर्नुहोस्</translation> <translation id="5115309401544567011">कृपया आफ्नो <ph name="DEVICE_TYPE" /> लाई पावर स्रोतमा जोड्नुहोस्।</translation> <translation id="5115338116365931134">SSO</translation> @@ -3833,7 +3834,7 @@ <translation id="5632566673632479864">तपाईंको खाता <ph name="EMAIL" /> लाई अब उप्रान्त प्राथमिक खाताका रूपमा अनुमति दिइँदैन। यो खाताको व्यवस्थापन <ph name="DOMAIN" /> ले गर्ने हुनाले तपाईंका पुस्तक चिन्ह, इतिहास, पासवर्ड र अन्य सेटिङहरू यस यन्त्रबाट खाली गरिने छ।</translation> <translation id="5632592977009207922">डाउनलोड गर्दै, <ph name="PERCENT_REMAINING" />% बाँकी</translation> <translation id="563371367637259496">मोबाइल</translation> -<translation id="563535393368633106">पहुँच गर्नु अघि सोध्नुहोस् (सिफारिस गरिएको)</translation> +<translation id="563535393368633106">पहुँच गर्नुअघि सोध्नुहोस् (सिफारिस गरिएको)</translation> <translation id="5636996382092289526"><ph name="NETWORK_ID" /> प्रयोग गर्नको लागि तपाइँले पहिले <ph name="LINK_START" />सञ्जालको साइन-इन पृष्ठ भ्रमण गर्न<ph name="LINK_END" /> आवश्यक छ, जुन केही सेकेन्डमा स्वचालित रूपमा खोलिनेछ। यदि यसो भएन भने, सञ्जाल प्रयोग गर्न सकिन्न।</translation> <translation id="5637476008227280525">मोबाइल डेटा सक्षम पार्ने</translation> <translation id="5638309510554459422"><ph name="BEGIN_LINK" />Chrome वेब स्टोर<ph name="END_LINK" /> मा विस्तार तथा विषयवस्तुहरू फेला पार्नुहोस्</translation> @@ -4138,6 +4139,7 @@ <translation id="6011449291337289699">साइट सम्बन्धी डेटा खाली गर्नुहोस्</translation> <translation id="6015266928248016057">अमान्य PUK। बाँकी प्रयास: <ph name="RETRIES" />।</translation> <translation id="6015796118275082299">वर्ष</translation> +<translation id="6016178549409952427"><ph name="TOTAL_ELEMENTS" /> वटा थप सामग्रीमध्ये <ph name="CURRENT_ELEMENT" /> औँ सामग्रीमा जानुहोस्</translation> <translation id="6016551720757758985">अघिल्लो संस्करणमा फिर्तीसँग Powerwash पुष्टि गर्नुहोस्</translation> <translation id="6016972670657536680">भाषा र किबोर्डको बटन चयन गर्नुहोस्। हाल <ph name="LANGUAGE" /> भाषा चयन गरिएको छ।</translation> <translation id="6017514345406065928">हरियो</translation> @@ -4710,7 +4712,7 @@ <translation id="671928215901716392">स्क्रिन लक गर्नुहोस्</translation> <translation id="6721678857435001674">आफ्नो सुरक्षा साँचोको ब्रान्डको नाम र मोडेल हेर्नुहोस्</translation> <translation id="6721972322305477112">&फाइल</translation> -<translation id="672213144943476270">कृपया एक अतिथिको रूपमा ब्राउज गर्नु अघि आफ्नो प्रोफाइललाई अनलक गर्नुहोस्।</translation> +<translation id="672213144943476270">कृपया एक अतिथिको रूपमा ब्राउज गर्नुअघि आफ्नो प्रोफाइललाई अनलक गर्नुहोस्।</translation> <translation id="6723661294526996303">पृष्ठमञ्जूषाहरू र सेटिङहरू आयात गर्नुहोस्...</translation> <translation id="6723839937902243910">पावर</translation> <translation id="6725073593266469338">UI सम्बन्धी सेवा</translation> @@ -6156,7 +6158,7 @@ <translation id="8467326454809944210">अर्को भाषा छनौट गर्नुहोस्</translation> <translation id="8470214316007448308">अन्य मान्छेहरू</translation> <translation id="8470513973197838199"><ph name="ORIGIN" /> का सुरक्षित गरिएका पासवर्डहरू</translation> -<translation id="8471256130228705232"><ph name="DOMAIN" /> ले ADB डिबग प्रक्रिया असक्षम पार्दै छ। परिणाम स्वरूप, अबको २४ घन्टामा तपाईंको <ph name="DEVICE_TYPE" /> रिसेट हुने छ। आफूले सुरक्षित राख्न चाहेका सबै फाइलहरू ब्याकअप गर्नुहोस्।</translation> +<translation id="8471256130228705232"><ph name="DOMAIN" /> ले ADB डिबग प्रक्रिया असक्षम पार्दै छ। परिणामस्वरूप, अबको २४ घन्टामा तपाईंको <ph name="DEVICE_TYPE" /> रिसेट हुने छ। आफूले सुरक्षित राख्न चाहेका सबै फाइलहरू ब्याकअप गर्नुहोस्।</translation> <translation id="8472623782143987204">हार्डवेयरद्वारा समर्थित</translation> <translation id="8473863474539038330">ठेगाना र थप कुराहरू</translation> <translation id="8475313423285172237">तपाईंको कम्प्युटरमा रहेको अर्को प्रोग्रामले एउटा एक्स्टेन्स थपेको छ जसले Chrome को काम गर्ने तरिकालाई परिवर्तन गर्न सक्छ।</translation> @@ -6443,6 +6445,7 @@ <translation id="8811862054141704416">Crostini लाई माइक्रोफोन प्रयोग गर्न दिने सेटिङ</translation> <translation id="8812552797690463522">यो नेटवर्क तपाईंसँग सेयर गरिएको छ।</translation> <translation id="8812593354822910461">ब्राउजिङ डेटा (<ph name="URL" />) पनि हटाउनुहोस्। यस कार्यले तपाईंलाई <ph name="DOMAIN" /> बाट साइन आउट गराउने छ। <ph name="LEARN_MORE" /></translation> +<translation id="8813277370772331957">मलाई पछि सम्झाउनुहोस्</translation> <translation id="8813698869395535039"><ph name="USERNAME" /> मा साइन इन गर्न सकिँदैन</translation> <translation id="8813872945700551674">अभिभावकलाई "<ph name="EXTENSION_NAME" />" अनुमोदन गर्न अनुरोध गर्नुहोस्</translation> <translation id="8813969267212093033">प्रणालीको सन्देश यो भाषामा देखाइन्छ</translation> @@ -6473,6 +6476,7 @@ <translation id="8838601485495657486">अपारदर्शी</translation> <translation id="8838770651474809439">ह्यामबर्गर</translation> <translation id="883911313571074303">छविलाई एनोटेट गर्नुहोस्</translation> +<translation id="8841843049738266382">श्वेतसूचीमा राखिएका प्रयोगकर्ताका नाम रिड गर्ने र बदल्ने</translation> <translation id="8842594465773264717">यो फिंगरप्रिन्ट मेट्नुहोस्</translation> <translation id="8845001906332463065">मद्दत प्राप्त गर्नुहोस्</translation> <translation id="8846132060409673887">यो कम्प्युटरका निर्माता र मोडेल पढ्नुहोस्</translation> @@ -6715,7 +6719,7 @@ <translation id="9131487537093447019">ब्लूटुथ यन्त्रहरूबाट सन्देश पठाउनुहोस् र प्राप्त गर्नुहोस्।</translation> <translation id="9137013805542155359">मूल देखाउनुहोस्</translation> <translation id="9137157311132182254">मन पराइएको खोज इन्जिन</translation> -<translation id="9137248913990643158">यस एपको प्रयोग गर्नु अघि कृपया Chrome सुरु गरी साइन इन गर्नुहोस्।</translation> +<translation id="9137248913990643158">यस एपको प्रयोग गर्नुअघि कृपया Chrome सुरु गरी साइन इन गर्नुहोस्।</translation> <translation id="9137916601698928395"><ph name="USER" /> को रूपमा लिंक खोल्नुहोस्</translation> <translation id="9138978632494473300">निम्न ठाउँमा सर्टकटहरू थप्नुहोस्:</translation> <translation id="9139988741193276691">Linux कन्फिगर गर्दै</translation>
diff --git a/chrome/app/resources/generated_resources_nl.xtb b/chrome/app/resources/generated_resources_nl.xtb index 1cfc1e3..c66b9a3 100644 --- a/chrome/app/resources/generated_resources_nl.xtb +++ b/chrome/app/resources/generated_resources_nl.xtb
@@ -1139,7 +1139,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" /> wil koppelen</translation> <translation id="2342740338116612727">Bookmarks toegevoegd</translation> <translation id="2343747224442182863">Focus op dit tabblad plaatsen</translation> -<translation id="2344686470986284227">De controller voor de virtuele machine wordt gestart</translation> <translation id="2345723121311404059">1 pagina naar <ph name="PRINTER_NAME" /></translation> <translation id="2347644257713614136">Het gebruik van Hangouts en Cast for Education valt onder het privacybeleid van Google.</translation> <translation id="2348176352564285430">App: <ph name="ARC_PROCESS_NAME" /></translation>
diff --git a/chrome/app/resources/generated_resources_no.xtb b/chrome/app/resources/generated_resources_no.xtb index a0e0df6..c64b53f2 100644 --- a/chrome/app/resources/generated_resources_no.xtb +++ b/chrome/app/resources/generated_resources_no.xtb
@@ -1136,7 +1136,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" /> vil koble til</translation> <translation id="2342740338116612727">Bokmerkene er lagt til</translation> <translation id="2343747224442182863">Fokusér på denne fanen</translation> -<translation id="2344686470986284227">Starter kontrolleren for den virtuelle maskinen</translation> <translation id="2345723121311404059">1 side til <ph name="PRINTER_NAME" /></translation> <translation id="2347644257713614136">Bruk av Hangouts og Cast for Education er underlagt Googles personvernregler.</translation> <translation id="2348176352564285430">App: <ph name="ARC_PROCESS_NAME" /></translation> @@ -3962,7 +3961,7 @@ <translation id="5794700615121138172">Delte mapper i Linux</translation> <translation id="5794786537412027208">Avslutt alle Chrome-apper</translation> <translation id="5797070761912323120">Google kan bruke loggen din for å gi Søk, annonser og andre Google-tjenester et personlig preg</translation> -<translation id="5798301976526354562">Tekststørrelse (gjelder også for Direkteteksting)</translation> +<translation id="5798301976526354562">Tekststørrelse (gjelder også for direkteteksting)</translation> <translation id="579915268381781820">Sikkerhetsnøkkelen er fjernet.</translation> <translation id="5799508265798272974">Virtuell Linux-maskin: <ph name="LINUX_VM_NAME" /></translation> <translation id="5800020978570554460">Målfilen har blitt komprimert eller fjernet siden siste nedlasting</translation> @@ -6160,7 +6159,7 @@ <translation id="8467326454809944210">Velg et annet språk</translation> <translation id="8470214316007448308">Andre personer</translation> <translation id="8470513973197838199">Lagrede passord for <ph name="ORIGIN" /></translation> -<translation id="8471256130228705232"><ph name="DOMAIN" /> slår av ADB-feilsøking. <ph name="DEVICE_TYPE" /> blir tilbakestilt om 24 timer. Sikkerhetskopiér eventuelle filer du vil ta vare på.</translation> +<translation id="8471256130228705232"><ph name="DOMAIN" /> slår av ADB-feilsøking. <ph name="DEVICE_TYPE" /> blir tilbakestilt om 24 timer. Sikkerhetskopiér eventuelle filer du vil ta vare på.</translation> <translation id="8472623782143987204">maskinvarestøttet</translation> <translation id="8473863474539038330">Adresser med mer</translation> <translation id="8475313423285172237">Et annet program på datamaskinen la til en utvidelse som kan endre måten Chrome fungerer på.</translation>
diff --git a/chrome/app/resources/generated_resources_or.xtb b/chrome/app/resources/generated_resources_or.xtb index 435384f0..f0c64170 100644 --- a/chrome/app/resources/generated_resources_or.xtb +++ b/chrome/app/resources/generated_resources_or.xtb
@@ -1133,7 +1133,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" /> ପେୟାର୍ କରିବାକୁ ଚାହୁଁଛି</translation> <translation id="2342740338116612727">ବୁକ୍ମାର୍କ ଯୋଗ କରାଗଲା</translation> <translation id="2343747224442182863">ଏହି ଟାବ୍ ପ୍ରତି ଧ୍ୟାନ ଦିଅନ୍ତୁ</translation> -<translation id="2344686470986284227">ଭର୍ଚୁଆଲ୍ ମେସିନ୍ କଣ୍ଟ୍ରୋଲର୍ ଆରମ୍ଭ କରାଯାଉଛି</translation> <translation id="2345723121311404059"><ph name="PRINTER_NAME" />ରେ 1ଟି ପୃଷ୍ଠା</translation> <translation id="2347644257713614136">Hangouts ଏବଂ ଶିକ୍ଷା ପାଇଁ କାଷ୍ଟର ବ୍ୟବହାର Google ଗୋପନୀୟତା ନୀତି ଦ୍ଵାରା ସଞ୍ଚାଳିତ ହୁଏ।</translation> <translation id="2348176352564285430">ଆପ୍: <ph name="ARC_PROCESS_NAME" /></translation> @@ -3521,7 +3520,7 @@ <translation id="5265797726250773323">ଇନ୍ଷ୍ଟଲ୍ ହେବା ସମୟରେ ତ୍ରୁଟି</translation> <translation id="5266113311903163739">ସର୍ଟିଫିକେଟ୍ ଅଥୋରିଟି ତ୍ରୁଟି ଇମ୍ପୋର୍ଟ କରିଛନ୍ତି</translation> <translation id="5269977353971873915">ପ୍ରିଣ୍ଟ ହେଲାନାହିଁ</translation> -<translation id="5274738462757057090">Chrome ବ୍ରାଉଜରରେ ମିଡିଆ ପାଇଁ ସ୍ୱଚାଳିତ ଭାବେ କ୍ଯାପ୍ସନଗୁଡ଼ିକୁ ତିଆରି କରେ (ବର୍ତ୍ତମାନ କେବଳ ଇଂରାଜୀରେ ଉପଲବ୍ଧ ଅଛି)</translation> +<translation id="5274738462757057090">Chrome ବ୍ରାଉଜରରେ ମିଡିଆ ପାଇଁ ସ୍ୱଚାଳିତ ଭାବେ କ୍ୟାପ୍ସନଗୁଡ଼ିକ ତିଆରି କରେ (ବର୍ତ୍ତମାନ କେବଳ ଇଂରାଜୀରେ ଉପଲବ୍ଧ ଅଛି)</translation> <translation id="5275352920323889391">ଶ୍ୱାନ</translation> <translation id="527605982717517565">ସର୍ବଦା <ph name="HOST" />ରେ JavaScriptକୁ ଅନୁମତି ଦିଅନ୍ତୁ</translation> <translation id="5278823018825269962">ସ୍ଥିତି Id</translation> @@ -3957,7 +3956,7 @@ <translation id="5794700615121138172">Linux ଦ୍ୱାରା ସେୟାର୍ କରାଯାଇଥିବା ଫୋଲ୍ଡରଗୁଡ଼ିକ</translation> <translation id="5794786537412027208">ସମସ୍ତ Chrome ଆପ୍ସ ପରିତ୍ୟାଗ କରନ୍ତୁ</translation> <translation id="5797070761912323120">ଆପଣ କରୁଥିବା ସର୍ଚ୍ଚ, ଦେଖୁଥିବା ବିଜ୍ଞାପନ, ଏବଂ ଅନ୍ୟାନ୍ୟ Google ସେବାକୁ ବ୍ୟକ୍ତିଗତକରଣ କରିବା ପାଇଁ Google ଆପଣଙ୍କର ଇତିବୃତ୍ତିକୁ ବ୍ୟବହାର କରିପାରେ</translation> -<translation id="5798301976526354562">ଟେକ୍ସଟର ଆକାର (ଲାଇଭ୍ କ୍ଯାପ୍ସନରେ ମଧ୍ୟ ଲାଗୁ ହୋଇଥାଏ)</translation> +<translation id="5798301976526354562">ଟେକ୍ସଟର ଆକାର (ଲାଇଭ୍ କ୍ୟାପ୍ସନରେ ମଧ୍ୟ ଲାଗୁ ହୋଇଥାଏ)</translation> <translation id="579915268381781820">ଆପଣଙ୍କର ସୁରକ୍ଷା କୀକୁ କାଢ଼ି ଦିଆଯାଇଛି।</translation> <translation id="5799508265798272974">Linux ଭର୍ଚୁଆଲ୍ ମେସିନ୍: <ph name="LINUX_VM_NAME" /></translation> <translation id="5800020978570554460">ଶେଷ ଡାଉନ୍ଲୋଡ୍ ପରେ ଗନ୍ତବ୍ୟ ଫାଇଲ୍କୁ ଖଣ୍ଡ ଖଣ୍ଡ କରି ଛୋଟ କରିଦିଆଯାଇଛି ବା କାଢ଼ି ଦିଆଯାଇଛି।</translation> @@ -6153,7 +6152,7 @@ <translation id="8467326454809944210">ଅନ୍ୟ ଏକ ଭାଷା ବାଛନ୍ତୁ</translation> <translation id="8470214316007448308">ଅନ୍ୟ ବ୍ୟକ୍ତି</translation> <translation id="8470513973197838199"><ph name="ORIGIN" /> ପାଇଁ ପାସ୍ୱର୍ଡ ସେଭ୍ କରାଯାଇଛି</translation> -<translation id="8471256130228705232"><ph name="DOMAIN" /> ADB ଡିବଗିଂକୁ ଅକ୍ଷମ କରୁଛି। ଏହା ଦ୍ୱାରା ଆପଣଙ୍କ <ph name="DEVICE_TYPE" /> 24 ଘଣ୍ଟାରେ ରିସେଟ୍ ହୋଇଯିବ। ଆପଣ ରଖିବାକୁ ଚାହୁଁଥିବା ଯେକୌଣସି ଫାଇଲର ବ୍ଯାକଅପ୍ ନିଅନ୍ତୁ।</translation> +<translation id="8471256130228705232"><ph name="DOMAIN" /> ADB ଡିବଗିଂକୁ ଅକ୍ଷମ କରୁଛି। ଏହା ଦ୍ୱାରା ଆପଣଙ୍କ <ph name="DEVICE_TYPE" /> 24 ଘଣ୍ଟାରେ ରିସେଟ୍ ହୋଇଯିବ। ଆପଣ ରଖିବାକୁ ଚାହୁଁଥିବା ଯେକୌଣସି ଫାଇଲର ବ୍ୟାକଅପ୍ ନିଅନ୍ତୁ।</translation> <translation id="8472623782143987204">ହାର୍ଡୱେର୍-ସମର୍ଥିତ</translation> <translation id="8473863474539038330">ଠିକଣାଗୁଡ଼ିକ ଏବଂ ଅଧିକ</translation> <translation id="8475313423285172237">ଆପଣଙ୍କର କମ୍ପ୍ୟୁଟର୍ରେ ଥିବା ପ୍ରୋଗ୍ରାମ୍ ଅନ୍ୟ ଏକ ଏକ୍ସଟେନ୍ସନ୍ ଯୋଗ କରିଛି ଯାହା Chrome ଯେପରି କାର୍ଯ୍ୟ କରେ ସେଥିରେ ପରିବର୍ତ୍ତନ କରିପାରେ।</translation>
diff --git a/chrome/app/resources/generated_resources_pa.xtb b/chrome/app/resources/generated_resources_pa.xtb index 8c77eeec..6f545cc 100644 --- a/chrome/app/resources/generated_resources_pa.xtb +++ b/chrome/app/resources/generated_resources_pa.xtb
@@ -1139,7 +1139,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" /> ਜੋੜਾਬੱਧ ਕਰਨਾ ਚਾਹੁੰਦੀ ਹੈ</translation> <translation id="2342740338116612727">ਬੁੱਕਮਾਰਕ ਸ਼ਾਮਲ ਕੀਤੇ ਗਏ</translation> <translation id="2343747224442182863">ਇਸ ਟੈਬ 'ਤੇ ਫੋਕਸ ਕਰੋ</translation> -<translation id="2344686470986284227">ਆਭਾਸੀ ਮਸ਼ੀਨ ਕੰਟਰੋਲਰ ਨੂੰ ਸ਼ੁਰੂ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ</translation> <translation id="2345723121311404059"><ph name="PRINTER_NAME" /> ਲਈ 1 ਪੰਨਾ</translation> <translation id="2347644257713614136">Hangouts ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਅਤੇ 'ਸਿੱਖਿਆ ਲਈ ਕਾਸਟ ਕਰਨਾ' 'Google ਪਰਦੇਦਾਰੀ ਨੀਤੀ' ਦੇ ਅਧੀਨ ਹੈ।</translation> <translation id="2348176352564285430">ਐਪ: <ph name="ARC_PROCESS_NAME" /></translation> @@ -1474,6 +1473,7 @@ <translation id="2731700343119398978">ਕਿਰਪਾ ਕਰਕੇ ਠਹਿਰੋ…</translation> <translation id="2731710757838467317">ਤੁਹਾਡਾ ਨਿਗਰਾਨੀ ਕੀਤਾ ਵਰਤੋਂਕਾਰ ਬਣਾ ਰਿਹਾ ਹੈ। ਇਸ ਵਿੱਚ ਥੋੜ੍ਹੀ ਦੇਰ ਲੱਗ ਸਕਦੀ ਹੈ।</translation> <translation id="2731971182069536520">ਅਗਲੀ ਵਾਰ ਜਦ ਤੁਸੀਂ ਆਪਣੇ ਡੀਵਾਈਸ ਨੂੰ ਮੁੜ-ਸ਼ੁਰੂ ਕਰੋਗੇ, ਤਾਂ ਤੁਹਾਡਾ ਪ੍ਰਸ਼ਾਸਕ ਇੱਕ ਵਾਰ ਅੱਪਡੇਟ ਕਰੇਗਾ, ਜਿਸ ਨਾਲ ਤੁਹਾਡਾ ਸਥਾਨਕ ਡਾਟਾ ਮਿਟ ਜਾਵੇਗਾ।</translation> +<translation id="2732134891301408122">ਵਾਧੂ ਸਮੱਗਰੀ ਦੇ <ph name="TOTAL_ELEMENTS" /> ਵਿੱਚੋਂ <ph name="CURRENT_ELEMENT" /></translation> <translation id="2734760316755174687"><ph name="SITE_GROUP_NAME" /> ਦੀਆਂ ਸਾਈਟਾਂ ਨੂੰ ਵੀ ਰੀਸੈੱਟ ਕੀਤਾ ਜਾਵੇਗਾ।</translation> <translation id="2735712963799620190">ਸਮਾਂ ਨਿਯਤ ਕਰੋ</translation> <translation id="2737363922397526254">ਸਮੇਟੋ ...</translation> @@ -3120,6 +3120,7 @@ <translation id="4735803855089279419">ਸਿਸਟਮ ਇਸ ਡੀਵਾਈਸ ਲਈ ਡੀਵਾਈਸ ਪਛਾਣਕਰਤਾਵਾਂ ਨੂੰ ਨਿਰਧਾਰਤ ਕਰਨ ਵਿੱਚ ਅਸਫਲ ਰਿਹਾ।</translation> <translation id="4736292055110123391">ਆਪਣੇ ਸਾਰੇ ਡੀਵਾਈਸਾਂ 'ਤੇ ਆਪਣੇ ਬੁੱਕਮਾਰਕ, ਪਾਸਵਰਡ, ਇਤਿਹਾਸ ਅਤੇ ਹੋਰ ਚੀਜ਼ਾਂ ਦਾ ਸਮਕਾਲੀਕਰਨ ਕਰੋ</translation> <translation id="473775607612524610">ਅੱਪਡੇਟ ਕਰੋ</translation> +<translation id="473936925429402449">ਚੁਣੀ ਹੋਈ, ਵਾਧੂ ਸਮੱਗਰੀ ਦੇ <ph name="TOTAL_ELEMENTS" /> ਵਿੱਚੋਂ <ph name="CURRENT_ELEMENT" /></translation> <translation id="4739639199548674512">ਟਿਕਟਾਂ</translation> <translation id="4743260470722568160"><ph name="BEGIN_LINK" />ਐਪਲੀਕੇਸ਼ਨਾਂ ਨੂੰ ਅੱਪਡੇਟ ਕਰਨ ਦਾ ਤਰੀਕਾ ਜਾਣੋ<ph name="END_LINK" /></translation> <translation id="4744981231093950366">{NUM_TABS,plural, =1{ਸਾਈਟ ਅਣਮਿਊਟ ਕਰੋ}one{ਸਾਈਟ ਅਣਮਿਊਟ ਕਰੋ}other{ਸਾਈਟਾਂ ਅਣਮਿਊਟ ਕਰੋ}}</translation> @@ -3527,7 +3528,7 @@ <translation id="5265797726250773323">ਸਥਾਪਤ ਕਰਨ ਵੇਲੇ ਗੜਬੜ ਹੋਈ</translation> <translation id="5266113311903163739">ਪ੍ਰਮਾਣਿਕਤਾ ਅਧਿਕਾਰ ਆਯਾਤ ਗੜਬੜ</translation> <translation id="5269977353971873915">ਪ੍ਰਿੰਟ ਲੈਣਾ ਅਸਫਲ ਰਿਹਾ</translation> -<translation id="5274738462757057090">Chrome ਬ੍ਰਾਊਜ਼ਰ ਵਿੱਚ ਸਵੈਚਲਿਤ ਤੌਰ 'ਤੇ ਮੀਡੀਆ ਲਈ ਸੁਰਖੀਆਂ ਬਣਾਉਂਦੀਆਂ ਹਨ (ਫ਼ਿਲਹਾਲ ਸਿਰਫ਼ ਅੰਗਰੇਜ਼ੀ ਵਿੱਚ ਉਪਲਬਧ)</translation> +<translation id="5274738462757057090">Chrome ਬ੍ਰਾਊਜ਼ਰ ਵਿੱਚ ਸਵੈਚਲਿਤ ਤੌਰ 'ਤੇ ਮੀਡੀਆ ਲਈ ਸੁਰਖੀਆਂ ਬਣਾਉਂਦੀ ਹੈ (ਫ਼ਿਲਹਾਲ ਸਿਰਫ਼ ਅੰਗਰੇਜ਼ੀ ਵਿੱਚ ਉਪਲਬਧ ਹੈ)</translation> <translation id="5275352920323889391">ਕੁੱਤਾ</translation> <translation id="527605982717517565">ਹਮੇਸ਼ਾਂ <ph name="HOST" /> ਤੇ JavaScript ਦੀ ਆਗਿਆ ਦਿਓ</translation> <translation id="5278823018825269962">ਸਥਿਤੀ ਦੀ ਆਈਡੀ</translation> @@ -4141,6 +4142,7 @@ <translation id="6011449291337289699">ਕੀ ਸਾਈਟ ਡਾਟਾ ਕਲੀਅਰ ਕਰਨਾ ਹੈ?</translation> <translation id="6015266928248016057">ਅਵੈਧ PUK। ਬਾਕੀ ਬਚੀਆਂ ਮੁੜ-ਕੋਸ਼ਿਸ਼ਾਂ: <ph name="RETRIES" />।</translation> <translation id="6015796118275082299">ਸਾਲ</translation> +<translation id="6016178549409952427">ਵਾਧੂ ਸਮੱਗਰੀ ਦੇ <ph name="TOTAL_ELEMENTS" /> ਵਿੱਚੋਂ <ph name="CURRENT_ELEMENT" /> 'ਤੇ ਜਾਓ</translation> <translation id="6016551720757758985">ਪਿੱਛਲੇ ਰੂਪ ਤੇ ਵਾਪਸ ਆਉਣ ਨਾਲ ਪਾਵਰਵਾਸ਼ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ</translation> <translation id="6016972670657536680">ਭਾਸ਼ਾ ਅਤੇ ਕੀ-ਬੋਰਡ ਬਟਨ ਨੂੰ ਚੁਣੋ। ਇਸ ਵੇਲੇ ਚੁਣੀ ਹੋਈ ਭਾਸ਼ਾ <ph name="LANGUAGE" /> ਹੈ।</translation> <translation id="6017514345406065928">ਹਰਾ</translation> @@ -6444,6 +6446,7 @@ <translation id="8811862054141704416">Crostini ਦੀ ਮਾਈਕ੍ਰੋਫ਼ੋਨ ਤੱਕ ਪਹੁੰਚ</translation> <translation id="8812552797690463522">ਇਸ ਨੈੱਟਵਰਕ ਨੂੰ ਤੁਹਾਡੇ ਨਾਲ ਸਾਂਝਾ ਕੀਤਾ ਗਿਆ ਹੈ।</translation> <translation id="8812593354822910461">ਬ੍ਰਾਊਜ਼ਿੰਗ ਡਾਟਾ (<ph name="URL" />) ਵੀ ਕਲੀਅਰ ਕਰੋ ਜੋ ਤੁਹਾਨੂੰ <ph name="DOMAIN" /> ਤੋਂ ਸਾਈਨ-ਆਊਟ ਕਰ ਦੇਵੇਗਾ। <ph name="LEARN_MORE" /></translation> +<translation id="8813277370772331957">ਮੈਨੂੰ ਬਾਅਦ ਵਿੱਚ ਯਾਦ ਕਰਵਾਓ</translation> <translation id="8813698869395535039"><ph name="USERNAME" /> ਵਿੱਚ ਸਾਈਨ-ਇਨ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ</translation> <translation id="8813872945700551674">"<ph name="EXTENSION_NAME" />" ਨੂੰ ਮਨਜ਼ੂਰੀ ਦੇਣ ਲਈ ਮਾਂ-ਪਿਓ ਦੀ ਮਦਦ ਲਓ</translation> <translation id="8813969267212093033">ਸਿਸਟਮ ਲਿਖਤ ਇਸ ਭਾਸ਼ਾ ਵਿੱਚ ਦਿਸ ਰਹੀ ਹੈ</translation> @@ -6474,6 +6477,7 @@ <translation id="8838601485495657486">ਧੁੰਦਲਾ</translation> <translation id="8838770651474809439">ਹੈਮਬਰਗਰ</translation> <translation id="883911313571074303">ਚਿੱਤਰ ਐਨੋਟੇਟ ਕਰੋ</translation> +<translation id="8841843049738266382">ਪ੍ਰਵਾਨਗੀ ਲਈ ਸੂਚੀਬੱਧ ਵਰਤੋਂਕਾਰਾਂ ਬਾਰੇ ਪੜ੍ਹੋ ਅਤੇ ਉਹਨਾਂ ਨੂੰ ਬਦਲੋ</translation> <translation id="8842594465773264717">ਇਸ ਫਿੰਗਰਪ੍ਰਿੰਟ ਨੂੰ ਮਿਟਾਓ</translation> <translation id="8845001906332463065">ਮਦਦ ਪ੍ਰਾਪਤ ਕਰੋ</translation> <translation id="8846132060409673887">ਇਸ ਕੰਪਿਊਟਰ ਦੇ ਨਿਰਮਾਤਾ ਅਤੇ ਮਾਡਲ ਸੰਬੰਧੀ ਜਾਣਕਾਰੀ ਪੜ੍ਹੋ</translation>
diff --git a/chrome/app/resources/generated_resources_pl.xtb b/chrome/app/resources/generated_resources_pl.xtb index ed2e026..e9cd4bb 100644 --- a/chrome/app/resources/generated_resources_pl.xtb +++ b/chrome/app/resources/generated_resources_pl.xtb
@@ -1135,7 +1135,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" /> chce się sparować</translation> <translation id="2342740338116612727">Dodano zakładki</translation> <translation id="2343747224442182863">Ustaw tę kartę jako aktywną</translation> -<translation id="2344686470986284227">Uruchamiam kontroler maszyny wirtualnej</translation> <translation id="2345723121311404059">Jedna strona do: <ph name="PRINTER_NAME" /></translation> <translation id="2347644257713614136">Korzystanie z Hangouts i Cast for Education podlega Polityce prywatności Google.</translation> <translation id="2348176352564285430">Aplikacja: <ph name="ARC_PROCESS_NAME" /></translation> @@ -2636,7 +2635,7 @@ <translation id="4104163789986725820">E&ksportuj</translation> <translation id="4107048419833779140">Rozpoznawanie i wysuwanie urządzeń pamięci</translation> <translation id="4109135793348361820">Przesuń okno do: <ph name="USER_NAME" /> (<ph name="USER_EMAIL" />)</translation> -<translation id="411031910327788420">Dostosuj rozmiar i styl napisów-waplikacjach, które obsługują to ustawienie.</translation> +<translation id="411031910327788420">Dostosuj rozmiar i styl napisów w aplikacjach, które obsługują to ustawienie.</translation> <translation id="4110490973560452005">Pobrano plik: <ph name="FILE_NAME" />. Naciśnij Shift+F6, by przejść do obszaru paska pobranych plików.</translation> <translation id="4110686435123617899">Wybierz album <ph name="TITLE" /> <ph name="DESC" /></translation> <translation id="4110895898888439383">Przeglądaj strony w trybie dużego kontrastu</translation> @@ -2836,7 +2835,7 @@ <translation id="4390000551125140321">{0,plural, =1{Incognito}few{# otwarte okna incognito}many{# otwartych okien incognito}other{# otwartego okna incognito}}</translation> <translation id="439266289085815679">Konfiguracją Bluetooth zarządza <ph name="USER_EMAIL" />.</translation> <translation id="4392896746540753732">Edytuj plik konfiguracji</translation> -<translation id="4393691030048716353">Strona <ph name="DOMAIN" /> wyłączyła debugowanie ADB. Po zrestartowaniu urządzenia <ph name="DEVICE_TYPE" /> nie będzie można instalować aplikacji zinnych urządzeń.</translation> +<translation id="4393691030048716353">Strona <ph name="DOMAIN" /> wyłączyła debugowanie ADB. Po zrestartowaniu urządzenia <ph name="DEVICE_TYPE" /> nie będzie można instalować aplikacji z innych urządzeń.</translation> <translation id="4394049700291259645">Wyłącz</translation> <translation id="439817266247065935">Twoje urządzenie nie zostało poprawnie zamknięte. Uruchom ponownie Linuksa, aby używać aplikacji w tym systemie.</translation> <translation id="4400367121200150367">Tutaj będą wyświetlane strony, które nigdy nie zapisują haseł</translation> @@ -6161,7 +6160,7 @@ <translation id="8467326454809944210">Wybierz inny język</translation> <translation id="8470214316007448308">Inne osoby</translation> <translation id="8470513973197838199">Zapisane hasła do <ph name="ORIGIN" /></translation> -<translation id="8471256130228705232">Strona <ph name="DOMAIN" /> wyłącza debugowanie ADB. W związku ztym za 24 godziny Twoje urządzenie <ph name="DEVICE_TYPE" /> zostanie zresetowane. Utwórz kopie zapasowe plików, które chcesz zachować.</translation> +<translation id="8471256130228705232">Strona <ph name="DOMAIN" /> wyłącza debugowanie ADB. W związku z tym za 24 godziny Twoje urządzenie <ph name="DEVICE_TYPE" /> zostanie zresetowane. Utwórz kopie zapasowe plików, które chcesz zachować.</translation> <translation id="8472623782143987204">sprzętowe</translation> <translation id="8473863474539038330">Adresy i ustawienia</translation> <translation id="8475313423285172237">Inny program na Twoim komputerze dodał rozszerzenie, które może zmienić działanie Chrome.</translation>
diff --git a/chrome/app/resources/generated_resources_pt-BR.xtb b/chrome/app/resources/generated_resources_pt-BR.xtb index 80ae27d7..8bda37c6 100644 --- a/chrome/app/resources/generated_resources_pt-BR.xtb +++ b/chrome/app/resources/generated_resources_pt-BR.xtb
@@ -1139,7 +1139,6 @@ <translation id="2340263603246777781">O <ph name="ORIGIN" /> deseja realizar o pareamento</translation> <translation id="2342740338116612727">Favoritos adicionados</translation> <translation id="2343747224442182863">Focar esta guia</translation> -<translation id="2344686470986284227">Abrindo controle da máquina virtual</translation> <translation id="2345723121311404059">1 página para <ph name="PRINTER_NAME" /></translation> <translation id="2347644257713614136">O uso do Hangouts e do Cast for Education é regido pela Política de Privacidade do Google.</translation> <translation id="2348176352564285430">App: <ph name="ARC_PROCESS_NAME" /></translation> @@ -1288,6 +1287,7 @@ <translation id="2505127913256479918">Esta conta supervisionada será removida em breve</translation> <translation id="2505324914378689427">{SCREEN_INDEX,plural, =1{Tela #}one{Tela #}other{Tela #}}</translation> <translation id="2505402373176859469"><ph name="RECEIVED_AMOUNT" /> de <ph name="TOTAL_SIZE" /></translation> +<translation id="250642123108534012">Dispositivos perto de você que estejam com o recurso "Compartilhar por proximidade" aberto</translation> <translation id="250704661983564564">Disposição da tela</translation> <translation id="2507253002925770350">Tíquete removido</translation> <translation id="2507397597949272797">O <ph name="NAME" /> está pausado</translation> @@ -3140,6 +3140,7 @@ <translation id="4762718786438001384">Dispositivo com espaço em disco criticamente baixo</translation> <translation id="4763408175235639573">Os cookies a seguir foram definidos quando você visualizou esta página</translation> <translation id="4765582662863429759">Permite que o Android Mensagens transmita mensagens de texto do smartphone para o Chromebook</translation> +<translation id="476598255842811483">Ninguém, a menos que você abra o recurso "Compartilhar por proximidade"</translation> <translation id="4768332406694066911">Você tem certificados das seguintes empresas que identificam você</translation> <translation id="477647109558161443">Criar um atalho na área de trabalho</translation> <translation id="4776917500594043016">Senha para <ph name="USER_EMAIL_ADDRESS" /></translation> @@ -3969,7 +3970,7 @@ <translation id="5794700615121138172">Pastas compartilhadas do Linux</translation> <translation id="5794786537412027208">Sair de todos os aplicativos do Google Chrome</translation> <translation id="5797070761912323120">O Google pode usar seu histórico para personalizar a Pesquisa, os anúncios e outros serviços que ele oferece</translation> -<translation id="5798301976526354562">Tamanho do texto (também se aplica ao recurso Legenda instantânea)</translation> +<translation id="5798301976526354562">Tamanho do texto (também será usado com a Legenda instantânea)</translation> <translation id="579915268381781820">Sua chave de segurança foi removida.</translation> <translation id="5799508265798272974">Máquina virtual Linux: <ph name="LINUX_VM_NAME" /></translation> <translation id="5800020978570554460">O arquivo de destino foi truncado ou removido desde o último download.</translation> @@ -5672,6 +5673,7 @@ <translation id="786073089922909430">Serviço: <ph name="ARC_PROCESS_NAME" /></translation> <translation id="7861215335140947162">&Downloads</translation> <translation id="7864539943188674973">Desativar bluetooth</translation> +<translation id="7866352732146932341">Dispositivos perto de você quando o recurso "Compartilhar por proximidade" estiver aberto no seu aparelho</translation> <translation id="786957569166715433"><ph name="DEVICE_NAME" />: pareado</translation> <translation id="7870730066603611552">Revisar as opções de sincronização após a configuração</translation> <translation id="7870790288828963061">Nenhum aplicativo de quiosque com versão mais recente foi encontrado. Não há nada para ser atualizado. Remova o pendrive.</translation>
diff --git a/chrome/app/resources/generated_resources_pt-PT.xtb b/chrome/app/resources/generated_resources_pt-PT.xtb index 47595f5..d2ec7d6a1 100644 --- a/chrome/app/resources/generated_resources_pt-PT.xtb +++ b/chrome/app/resources/generated_resources_pt-PT.xtb
@@ -1139,7 +1139,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" /> pretende sincronizar</translation> <translation id="2342740338116612727">Marcadores adicionados</translation> <translation id="2343747224442182863">Focar este separador</translation> -<translation id="2344686470986284227">A iniciar o controlador da máquina virtual…</translation> <translation id="2345723121311404059">1 página para <ph name="PRINTER_NAME" /></translation> <translation id="2347644257713614136">A utilização do Hangouts e do Cast for Education é regida pela Política de Privacidade da Google.</translation> <translation id="2348176352564285430">Aplicação: <ph name="ARC_PROCESS_NAME" /></translation> @@ -1287,6 +1286,7 @@ <translation id="2505127913256479918">Esta conta supervisionada será removida brevemente</translation> <translation id="2505324914378689427">{SCREEN_INDEX,plural, =1{Ecrã #}other{Ecrãs #}}</translation> <translation id="2505402373176859469"><ph name="RECEIVED_AMOUNT" /> de <ph name="TOTAL_SIZE" /></translation> +<translation id="250642123108534012">Dispositivos perto de si quando a funcionalidade Partilhar com Nearby estiver aberta nos dispositivos dessas pessoas.</translation> <translation id="250704661983564564">Posicionamento do ecrã</translation> <translation id="2507253002925770350">Permissão removida</translation> <translation id="2507397597949272797">A aplicação <ph name="NAME" /> foi colocada em pausa</translation> @@ -3139,6 +3139,7 @@ <translation id="4762718786438001384">Espaço em disco do dispositivo criticamente baixo</translation> <translation id="4763408175235639573">Foram definidos os seguintes cookies quando viu esta página</translation> <translation id="4765582662863429759">Permite às Mensagens Android retransmitir as mensagens de texto do telemóvel para o Chromebook.</translation> +<translation id="476598255842811483">Ninguém, exceto se abrir a funcionalidade Partilhar com Nearby no seu dispositivo.</translation> <translation id="4768332406694066911">Tem certificados destas entidades que o identificam</translation> <translation id="477647109558161443">Criar um atalho no ambiente de trabalho</translation> <translation id="4776917500594043016">Palavra-passe para <ph name="USER_EMAIL_ADDRESS" /></translation> @@ -5670,6 +5671,7 @@ <translation id="786073089922909430">Serviço: <ph name="ARC_PROCESS_NAME" /></translation> <translation id="7861215335140947162">&Transferências</translation> <translation id="7864539943188674973">Desativar Bluetooth</translation> +<translation id="7866352732146932341">Dispositivos perto de si quando a funcionalidade Partilhar com Nearby estiver aberta no seu dispositivo.</translation> <translation id="786957569166715433"><ph name="DEVICE_NAME" /> – sincronizado</translation> <translation id="7870730066603611552">Rever opções de sincronização após a configuração</translation> <translation id="7870790288828963061">Nenhuma aplicação do Quiosque encontrada com uma versão mais recente. Nada a atualizar. Remova a pen USB.</translation>
diff --git a/chrome/app/resources/generated_resources_ro.xtb b/chrome/app/resources/generated_resources_ro.xtb index 4d603fee..c68a652 100644 --- a/chrome/app/resources/generated_resources_ro.xtb +++ b/chrome/app/resources/generated_resources_ro.xtb
@@ -1139,7 +1139,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" /> dorește să se asocieze</translation> <translation id="2342740338116612727">Au fost adăugate marcaje</translation> <translation id="2343747224442182863">Focalizează această filă</translation> -<translation id="2344686470986284227">Se pornește controlerul mașinii virtuale</translation> <translation id="2345723121311404059">1 pagină cu <ph name="PRINTER_NAME" /></translation> <translation id="2347644257713614136">Folosirea serviciilor Hangouts și Cast for Education se supune Politicii de confidențialitate Google.</translation> <translation id="2348176352564285430">Aplicație: <ph name="ARC_PROCESS_NAME" /></translation> @@ -1475,6 +1474,7 @@ <translation id="2731700343119398978">Așteptați...</translation> <translation id="2731710757838467317">Se creează utilizatorul monitorizat. Poate dura câteva momente.</translation> <translation id="2731971182069536520">Data viitoare când repornești dispozitivul, administratorul va face o actualizare unică ce va șterge datele locale.</translation> +<translation id="2732134891301408122">Conținutul suplimentar <ph name="CURRENT_ELEMENT" /> din <ph name="TOTAL_ELEMENTS" /></translation> <translation id="2734760316755174687">Site-urile din <ph name="SITE_GROUP_NAME" /> vor fi și ele resetate.</translation> <translation id="2735712963799620190">Program</translation> <translation id="2737363922397526254">Restrânge...</translation> @@ -3122,6 +3122,7 @@ <translation id="4735803855089279419">Sistemul nu a stabilit identificatorii de dispozitiv pentru acest dispozitiv.</translation> <translation id="4736292055110123391">Sincronizează marcajele, parolele, istoricul și alte date, pe toate dispozitivele</translation> <translation id="473775607612524610">Actualizează</translation> +<translation id="473936925429402449">Selectat, conținutul suplimentar <ph name="CURRENT_ELEMENT" /> din <ph name="TOTAL_ELEMENTS" /></translation> <translation id="4739639199548674512">Tichete</translation> <translation id="4743260470722568160"><ph name="BEGIN_LINK" />Află cum să actualizezi aplicații<ph name="END_LINK" /></translation> <translation id="4744981231093950366">{NUM_TABS,plural, =1{Activează sunetul pentru site}few{Activează sunetul pentru site-uri}other{Activează sunetul pentru site-uri}}</translation> @@ -4143,6 +4144,7 @@ <translation id="6011449291337289699">Șterge datele site-ului</translation> <translation id="6015266928248016057">PUK nevalid. Număr de reîncercări rămase: <ph name="RETRIES" />.</translation> <translation id="6015796118275082299">An</translation> +<translation id="6016178549409952427">Navighează la conținutul suplimentar <ph name="CURRENT_ELEMENT" /> din <ph name="TOTAL_ELEMENTS" /></translation> <translation id="6016551720757758985">Confirmă Powerwash cu revenire la versiunea anterioară</translation> <translation id="6016972670657536680">Butonul pentru selectarea limbii și a tastaturii. Limba selectată în prezent este <ph name="LANGUAGE" />.</translation> <translation id="6017514345406065928">Verde</translation> @@ -6449,6 +6451,7 @@ <translation id="8811862054141704416">Accesul la microfon în Crostini</translation> <translation id="8812552797690463522">Ai acces la această rețea.</translation> <translation id="8812593354822910461">Șterge și datele de navigare (<ph name="URL" />), acțiune care te poate deconecta de la <ph name="DOMAIN" />. <ph name="LEARN_MORE" /></translation> +<translation id="8813277370772331957">Amintește-mi mai târziu</translation> <translation id="8813698869395535039">Nu te poți conecta folosind <ph name="USERNAME" /></translation> <translation id="8813872945700551674">Cere-i unui părinte să aprobe „<ph name="EXTENSION_NAME" />”</translation> <translation id="8813969267212093033">Textul sistemului apare în această limbă</translation> @@ -6479,6 +6482,7 @@ <translation id="8838601485495657486">Opac</translation> <translation id="8838770651474809439">Hamburger</translation> <translation id="883911313571074303">Adnotează imaginea</translation> +<translation id="8841843049738266382">Citește și modifică utilizatorii trecuți în lista cu acces permis</translation> <translation id="8842594465773264717">Șterge această amprentă</translation> <translation id="8845001906332463065">Obține ajutor</translation> <translation id="8846132060409673887">Citește producătorul și modelul acestui computer</translation>
diff --git a/chrome/app/resources/generated_resources_ru.xtb b/chrome/app/resources/generated_resources_ru.xtb index 856f4dd..a78e5f5 100644 --- a/chrome/app/resources/generated_resources_ru.xtb +++ b/chrome/app/resources/generated_resources_ru.xtb
@@ -1138,7 +1138,6 @@ <translation id="2340263603246777781">Сайт <ph name="ORIGIN" /> запрашивает подключение</translation> <translation id="2342740338116612727">Закладки добавлены</translation> <translation id="2343747224442182863">Переключиться на эту вкладку</translation> -<translation id="2344686470986284227">Запуск контроллера виртуальной машины</translation> <translation id="2345723121311404059">Печать 1 страницы на принтере <ph name="PRINTER_NAME" /></translation> <translation id="2347644257713614136">Использование Hangouts и Cast for Education регулируется Политикой конфиденциальности Google.</translation> <translation id="2348176352564285430">Приложение: <ph name="ARC_PROCESS_NAME" /></translation> @@ -1473,6 +1472,7 @@ <translation id="2731700343119398978">Подождите…</translation> <translation id="2731710757838467317">Создание контролируемого пользователя. Операция может занять несколько минут.</translation> <translation id="2731971182069536520">Когда вы перезапустите устройство, администратор выполнит разовое обновление, которое удалит ваши локальные файлы.</translation> +<translation id="2732134891301408122">Дополнительный контент на карточке <ph name="CURRENT_ELEMENT" /> из <ph name="TOTAL_ELEMENTS" /></translation> <translation id="2734760316755174687">Разрешения будут также сброшены на всех сайтах <ph name="SITE_GROUP_NAME" />.</translation> <translation id="2735712963799620190">Расписание</translation> <translation id="2737363922397526254">Свернуть...</translation> @@ -2837,7 +2837,7 @@ <translation id="4390000551125140321">{0,plural, =1{Инкогнито}one{# окно в режиме инкогнито}few{# окна в режиме инкогнито}many{# окон в режиме инкогнито}other{# окна в режиме инкогнито}}</translation> <translation id="439266289085815679">Конфигурацию Bluetooth контролирует пользователь <ph name="USER_EMAIL" />.</translation> <translation id="4392896746540753732">Изменение файла конфигурации.</translation> -<translation id="4393691030048716353">Отладка с помощью ADB отключена администратором домена <ph name="DOMAIN" />. После перезагрузки <ph name="DEVICE_TYPE" /> вы не сможете устанавливать приложения из неизвестного источника.</translation> +<translation id="4393691030048716353">Отладка с помощью ADB отключена администратором домена <ph name="DOMAIN" />. После перезагрузки <ph name="DEVICE_TYPE" /> вы не сможете устанавливать приложения, используя Sideload.</translation> <translation id="4394049700291259645">Отключить</translation> <translation id="439817266247065935">Работа устройства была завершена неправильно. Чтобы использовать приложения для Linux, перезагрузите эту операционную систему.</translation> <translation id="4400367121200150367">Здесь появятся сайты, которые никогда не сохраняют пароли</translation> @@ -3120,6 +3120,7 @@ <translation id="4735803855089279419">Не удалось определить идентификаторы устройства.</translation> <translation id="4736292055110123391">Синхронизируйте закладки, пароли, историю и другие данные на всех ваших устройствах</translation> <translation id="473775607612524610">Обновить</translation> +<translation id="473936925429402449">Выбрано, показан дополнительный контент на карточке <ph name="CURRENT_ELEMENT" /> из <ph name="TOTAL_ELEMENTS" /></translation> <translation id="4739639199548674512">Билеты</translation> <translation id="4743260470722568160">Подробнее о том, <ph name="BEGIN_LINK" />как обновлять приложения<ph name="END_LINK" />…</translation> <translation id="4744981231093950366">{NUM_TABS,plural, =1{Включить звук на сайте}one{Включить звук на сайтах}few{Включить звук на сайтах}many{Включить звук на сайтах}other{Включить звук на сайтах}}</translation> @@ -4141,6 +4142,7 @@ <translation id="6011449291337289699">Удаление данных сайтов</translation> <translation id="6015266928248016057">Недействительный PUK-код. Осталось попыток: <ph name="RETRIES" />.</translation> <translation id="6015796118275082299">Год</translation> +<translation id="6016178549409952427">Перейти к дополнительному контенту на карточке <ph name="CURRENT_ELEMENT" /> из <ph name="TOTAL_ELEMENTS" /></translation> <translation id="6016551720757758985">Подтверждение Powerwash и возврата к предыдущей версии</translation> <translation id="6016972670657536680">Выберите язык и клавишу. Текущий язык: <ph name="LANGUAGE" />.</translation> <translation id="6017514345406065928">Зеленый</translation> @@ -6159,7 +6161,7 @@ <translation id="8467326454809944210">Выбрать другой язык</translation> <translation id="8470214316007448308">Другие пользователи</translation> <translation id="8470513973197838199">Сохраненные пароли для <ph name="ORIGIN" /></translation> -<translation id="8471256130228705232">Отладка с помощью ADB отключена администратором домена <ph name="DOMAIN" />. Все заданные параметры <ph name="DEVICE_TYPE" /> будут сброшены через 24 часа. Чтобы сохранить нужные файлы, создайте их резервную копию.</translation> +<translation id="8471256130228705232">Отладка с помощью ADB отключена администратором домена <ph name="DOMAIN" />. Сброс <ph name="DEVICE_TYPE" /> будет выполнен через 24 часа. Чтобы сохранить нужные файлы, создайте их резервную копию.</translation> <translation id="8472623782143987204">требуется оборудование</translation> <translation id="8473863474539038330">Адреса и другие данные</translation> <translation id="8475313423285172237">Одна из программ на вашем компьютере установила расширение, которое может влиять на работу Chrome.</translation> @@ -6446,6 +6448,7 @@ <translation id="8811862054141704416">Доступ к микрофону в Crostini</translation> <translation id="8812552797690463522">У вас есть доступ к этой сети.</translation> <translation id="8812593354822910461">Также удалить данные о работе в браузере (<ph name="URL" />). При этом вы выйдете из аккаунта на сайте <ph name="DOMAIN" />. <ph name="LEARN_MORE" /></translation> +<translation id="8813277370772331957">Напомнить позже</translation> <translation id="8813698869395535039">Не удалось войти в аккаунт <ph name="USERNAME" /></translation> <translation id="8813872945700551674">Для установки расширения "<ph name="EXTENSION_NAME" />" требуется одобрение одного из родителей</translation> <translation id="8813969267212093033">Текущий язык системы</translation> @@ -6476,6 +6479,7 @@ <translation id="8838601485495657486">Непрозрачный</translation> <translation id="8838770651474809439">Гамбургер</translation> <translation id="883911313571074303">Добавить примечание к изображению</translation> +<translation id="8841843049738266382">Читать и изменять белый список пользователей</translation> <translation id="8842594465773264717">Удалить этот отпечаток пальца</translation> <translation id="8845001906332463065">Справка</translation> <translation id="8846132060409673887">Доступ к информации о производителе и модели компьютера</translation>
diff --git a/chrome/app/resources/generated_resources_si.xtb b/chrome/app/resources/generated_resources_si.xtb index 4ad64f9f..6298dd5 100644 --- a/chrome/app/resources/generated_resources_si.xtb +++ b/chrome/app/resources/generated_resources_si.xtb
@@ -1136,7 +1136,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" /> හට යුගල වීමට අවශ්යයි</translation> <translation id="2342740338116612727">පිටුසන් එක් කළා</translation> <translation id="2343747224442182863">මෙම පටිත්තට අවධානය යොමු කරන්න</translation> -<translation id="2344686470986284227">අතත්ය යන්ත්ර පාලකය ආරම්භ කිරීම</translation> <translation id="2345723121311404059"><ph name="PRINTER_NAME" /> වෙත පිටු 1ක්</translation> <translation id="2347644257713614136">අධ්යාපනය සඳහා Hangouts සහ Cast භාවිතය Google රහස්යතා ප්රතිපත්තිය මගින් පාලනය වේ.</translation> <translation id="2348176352564285430">යෙදුම: <ph name="ARC_PROCESS_NAME" /></translation>
diff --git a/chrome/app/resources/generated_resources_sk.xtb b/chrome/app/resources/generated_resources_sk.xtb index d866bfd..c93439e 100644 --- a/chrome/app/resources/generated_resources_sk.xtb +++ b/chrome/app/resources/generated_resources_sk.xtb
@@ -1139,7 +1139,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" /> žiada o spárovanie</translation> <translation id="2342740338116612727">Boli pridané záložky</translation> <translation id="2343747224442182863">Označiť túto kartu</translation> -<translation id="2344686470986284227">Spúšťa sa ovládač virtuálneho počítača</translation> <translation id="2345723121311404059">1 strana do tlačiarne <ph name="PRINTER_NAME" /></translation> <translation id="2347644257713614136">Používanie služieb Hangouts a Cast for Education sa riadi pravidlami ochrany súkromia spoločnosti Google.</translation> <translation id="2348176352564285430">Aplikácia: <ph name="ARC_PROCESS_NAME" /></translation>
diff --git a/chrome/app/resources/generated_resources_sl.xtb b/chrome/app/resources/generated_resources_sl.xtb index 4cdc7984..3823a7c 100644 --- a/chrome/app/resources/generated_resources_sl.xtb +++ b/chrome/app/resources/generated_resources_sl.xtb
@@ -1139,7 +1139,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" /> želi izvesti seznanitev</translation> <translation id="2342740338116612727">Dodani zaznamki</translation> <translation id="2343747224442182863">Izberi ta zavihek</translation> -<translation id="2344686470986284227">Zagon kontrolnika navideznega računalnika</translation> <translation id="2345723121311404059">1 stran s tiskalnikom <ph name="PRINTER_NAME" /></translation> <translation id="2347644257713614136">Uporabo aplikacije Hangouts in razširitve Cast for Education ureja Googlov pravilnik o zasebnosti.</translation> <translation id="2348176352564285430">Aplikacija: <ph name="ARC_PROCESS_NAME" /></translation>
diff --git a/chrome/app/resources/generated_resources_sq.xtb b/chrome/app/resources/generated_resources_sq.xtb index 74ec367c..e40bf7ce 100644 --- a/chrome/app/resources/generated_resources_sq.xtb +++ b/chrome/app/resources/generated_resources_sq.xtb
@@ -1136,7 +1136,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" /> dëshiron të çiftohet</translation> <translation id="2342740338116612727">Faqeshënuesit u shtuan</translation> <translation id="2343747224442182863">Fokuso këtë skedë</translation> -<translation id="2344686470986284227">Po niset kontrolluesi i pajisjes virtuale</translation> <translation id="2345723121311404059">1 faqe te <ph name="PRINTER_NAME" /></translation> <translation id="2347644257713614136">Përdorimi i Hangouts dhe i Cast rregullohet nga "Politika e privatësisë së Google".</translation> <translation id="2348176352564285430">Aplikacioni: <ph name="ARC_PROCESS_NAME" /></translation> @@ -1472,6 +1471,7 @@ <translation id="2731700343119398978">Qëndro në pritje...</translation> <translation id="2731710757838467317">Po krijon përdoruesin e kontrolluar. Kjo mund të zgjasë disa momente.</translation> <translation id="2731971182069536520">Herën tjetër që rindez pajisjen tënde, administratori yt do të kryejë një përditësim vetëm një herë që do të fshijë të dhënat e tua lokale.</translation> +<translation id="2732134891301408122">Përmbajtja shtesë <ph name="CURRENT_ELEMENT" /> nga <ph name="TOTAL_ELEMENTS" /></translation> <translation id="2734760316755174687">Do të rivendosen edhe sajtet nën <ph name="SITE_GROUP_NAME" />.</translation> <translation id="2735712963799620190">Planifikimi</translation> <translation id="2737363922397526254">Palos...</translation> @@ -3119,6 +3119,7 @@ <translation id="4735803855089279419">Sistemi nuk arriti të përcaktonte identifikuesit e pajisjeve për këtë pajisje.</translation> <translation id="4736292055110123391">Sinkronizo faqeshënuesit, fjalëkalimet, historikun tënd etj. në të gjitha pajisjet e tua</translation> <translation id="473775607612524610">Përditësoje</translation> +<translation id="473936925429402449">Zgjedhur, elementi shtesë <ph name="CURRENT_ELEMENT" /> nga <ph name="TOTAL_ELEMENTS" /></translation> <translation id="4739639199548674512">Bileta</translation> <translation id="4743260470722568160"><ph name="BEGIN_LINK" />Mëso se si të përditësosh aplikacionet<ph name="END_LINK" /></translation> <translation id="4744981231093950366">{NUM_TABS,plural, =1{Aktivizo zërin e sajtit}other{Aktivizo zërin e sajteve}}</translation> @@ -4140,6 +4141,7 @@ <translation id="6011449291337289699">Pastro të dhënat e sajtit</translation> <translation id="6015266928248016057">Kodi PUK i pavlefshëm. Ripërpjekjet e mbetura: <ph name="RETRIES" />.</translation> <translation id="6015796118275082299">Viti</translation> +<translation id="6016178549409952427">Navigo te përmbajtja shtesë <ph name="CURRENT_ELEMENT" /> nga <ph name="TOTAL_ELEMENTS" /></translation> <translation id="6016551720757758985">Konfirmo Powerwash me kthim në versionin e mëparshëm.</translation> <translation id="6016972670657536680">Zgjidh butonin e gjuhës dhe të tastierës. Gjuha e zgjedhur aktualisht është <ph name="LANGUAGE" />.</translation> <translation id="6017514345406065928">E gjelbër</translation> @@ -6444,6 +6446,7 @@ <translation id="8811862054141704416">Qasja te mikrofoni i Crostini</translation> <translation id="8812552797690463522">Ky rrjet është ndarë me ty.</translation> <translation id="8812593354822910461">Pastro gjithashtu të dhënat e shfletimit, (<ph name="URL" />) gjë që mund të të bëjë të dalësh nga <ph name="DOMAIN" />. <ph name="LEARN_MORE" /></translation> +<translation id="8813277370772331957">Më kujto më vonë</translation> <translation id="8813698869395535039">Nuk mund të identifikohet në <ph name="USERNAME" /></translation> <translation id="8813872945700551674">Kërkoji një prindi të miratojë "<ph name="EXTENSION_NAME" />"</translation> <translation id="8813969267212093033">Teksti i sistemit shfaqet në këtë gjuhë</translation> @@ -6474,6 +6477,7 @@ <translation id="8838601485495657486">E patejdukshme</translation> <translation id="8838770651474809439">Hamburger</translation> <translation id="883911313571074303">Shëno imazhin</translation> +<translation id="8841843049738266382">Lexo dhe ndrysho përdoruesit në listën e lejimeve</translation> <translation id="8842594465773264717">Fshije këtë gjurmë gishti</translation> <translation id="8845001906332463065">Kërko ndihmë</translation> <translation id="8846132060409673887">Lexo informacionet për prodhuesin dhe modelin e këtij kompjuteri</translation>
diff --git a/chrome/app/resources/generated_resources_sr-Latn.xtb b/chrome/app/resources/generated_resources_sr-Latn.xtb index 3872b773..46e0cee8 100644 --- a/chrome/app/resources/generated_resources_sr-Latn.xtb +++ b/chrome/app/resources/generated_resources_sr-Latn.xtb
@@ -1136,7 +1136,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" /> želi da se upari</translation> <translation id="2342740338116612727">Obeleživači su dodati</translation> <translation id="2343747224442182863">Stavi ovu karticu u fokus</translation> -<translation id="2344686470986284227">Pokreće se kontroler virtuelne mašine</translation> <translation id="2345723121311404059">1 stranica na štampaču <ph name="PRINTER_NAME" /></translation> <translation id="2347644257713614136">Korišćenje usluga Hangouts i Cast for Education je regulisano Google politikom privatnosti.</translation> <translation id="2348176352564285430">Aplikacija: <ph name="ARC_PROCESS_NAME" /></translation>
diff --git a/chrome/app/resources/generated_resources_sr.xtb b/chrome/app/resources/generated_resources_sr.xtb index 6e5c70c..d724dd4 100644 --- a/chrome/app/resources/generated_resources_sr.xtb +++ b/chrome/app/resources/generated_resources_sr.xtb
@@ -1136,7 +1136,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" /> жели да се упари</translation> <translation id="2342740338116612727">Обележивачи су додати</translation> <translation id="2343747224442182863">Стави ову картицу у фокус</translation> -<translation id="2344686470986284227">Покреће се контролер виртуелне машине</translation> <translation id="2345723121311404059">1 страница на штампачу <ph name="PRINTER_NAME" /></translation> <translation id="2347644257713614136">Коришћење услуга Hangouts и Cast for Education је регулисано Google политиком приватности.</translation> <translation id="2348176352564285430">Апликација: <ph name="ARC_PROCESS_NAME" /></translation>
diff --git a/chrome/app/resources/generated_resources_sv.xtb b/chrome/app/resources/generated_resources_sv.xtb index 533c531..3004b83 100644 --- a/chrome/app/resources/generated_resources_sv.xtb +++ b/chrome/app/resources/generated_resources_sv.xtb
@@ -1139,7 +1139,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" /> vill kopplas</translation> <translation id="2342740338116612727">Bokmärkena har lagts till</translation> <translation id="2343747224442182863">Fokusera på den här fliken</translation> -<translation id="2344686470986284227">Den virtuella maskinens styrenhet startas</translation> <translation id="2345723121311404059">1 sida till <ph name="PRINTER_NAME" /></translation> <translation id="2347644257713614136">Användning av Hangouts och Cast for Education regleras av Googles sekretesspolicy.</translation> <translation id="2348176352564285430">App: <ph name="ARC_PROCESS_NAME" /></translation>
diff --git a/chrome/app/resources/generated_resources_sw.xtb b/chrome/app/resources/generated_resources_sw.xtb index 283999c0..f49e469 100644 --- a/chrome/app/resources/generated_resources_sw.xtb +++ b/chrome/app/resources/generated_resources_sw.xtb
@@ -1136,7 +1136,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" /> inataka kuoanisha</translation> <translation id="2342740338116612727">Imeongeza alamisho</translation> <translation id="2343747224442182863">Lenga Kichupo Hiki</translation> -<translation id="2344686470986284227">Fungua kidhibiti cha mashine pepe</translation> <translation id="2345723121311404059">Ukurasa 1 kwa <ph name="PRINTER_NAME" /></translation> <translation id="2347644257713614136">Matumizi ya Hangouts na Cast for Education yanasimamiwa na Sera ya Faragha ya Google.</translation> <translation id="2348176352564285430">Programu: <ph name="ARC_PROCESS_NAME" /></translation> @@ -1285,6 +1284,7 @@ <translation id="2505127913256479918">Akaunti hii inayodhibitiwa itaondolewa hivi karibuni</translation> <translation id="2505324914378689427">{SCREEN_INDEX,plural, =1{Skrini ya #}other{Skrini ya #}}</translation> <translation id="2505402373176859469"><ph name="RECEIVED_AMOUNT" /> ya <ph name="TOTAL_SIZE" /></translation> +<translation id="250642123108534012">Vifaa vilivyo karibu nawe wakati kipengele cha Uhamishaji wa Karibu kimefunguliwa kwenye vifaa hivyo</translation> <translation id="250704661983564564">Mpangilio wa skrini</translation> <translation id="2507253002925770350">Tiketi imeondolewa</translation> <translation id="2507397597949272797"><ph name="NAME" /> imesimamishwa</translation> @@ -1472,6 +1472,7 @@ <translation id="2731700343119398978">Tafadhali subiri...</translation> <translation id="2731710757838467317">Mtumiaji unayemsimamiwa anaongezwa. Huenda ikachukua dakika chache.</translation> <translation id="2731971182069536520">Utakapozima na kuwasha tena kifaa chako, msimamizi wako atatekeleza sasisho la mara moja ambalo litafuta data ya kifaa chako.</translation> +<translation id="2732134891301408122">Maudhui mengine <ph name="CURRENT_ELEMENT" /> kati ya <ph name="TOTAL_ELEMENTS" /></translation> <translation id="2734760316755174687">Itabadilisha pia ruhusa za tovuti zilizo chini ya <ph name="SITE_GROUP_NAME" />.</translation> <translation id="2735712963799620190">Ratiba</translation> <translation id="2737363922397526254">Kunja...</translation> @@ -3117,6 +3118,7 @@ <translation id="4735803855089279419">Mfumo umeshindwa kubaini vitambulishi vya kifaa kwa kifaa hiki.</translation> <translation id="4736292055110123391">Sawazisha historia, manenosiri, alamisho na vipengee vingine kwenye vifaa vyako vyote</translation> <translation id="473775607612524610">Sasisha</translation> +<translation id="473936925429402449">Umechagua, maudhui mengine <ph name="CURRENT_ELEMENT" /> kati ya <ph name="TOTAL_ELEMENTS" /></translation> <translation id="4739639199548674512">Tiketi</translation> <translation id="4743260470722568160"><ph name="BEGIN_LINK" />Pata maelezo zaidi kuhusu jinsi ya kusasisha programu<ph name="END_LINK" /></translation> <translation id="4744981231093950366">{NUM_TABS,plural, =1{Washa sauti ya tovuti}other{Washa sauti za tovuti}}</translation> @@ -3132,6 +3134,7 @@ <translation id="4762718786438001384">Hifadhi ya diski ya kifaa ni ndogo sana</translation> <translation id="4763408175235639573">Vidakuzi vifuatavyo viliwekwa ulipofungua ukurasa huu</translation> <translation id="4765582662863429759">Huruhusu programu ya Android Messages itume SMS kutoka simu yako kwenda Chromebook</translation> +<translation id="476598255842811483">Hamna isipokuwa ukifungua kipengele cha Uhamishaji wa Karibu kwenye kifaa chako</translation> <translation id="4768332406694066911">Una vyeti kutoka kwenye mashirika haya vinavyokutambua</translation> <translation id="477647109558161443">Weka mkato wa eneo-kazi</translation> <translation id="4776917500594043016">Nenosiri la <ph name="USER_EMAIL_ADDRESS" /></translation> @@ -4138,6 +4141,7 @@ <translation id="6011449291337289699">Futa data ya tovuti</translation> <translation id="6015266928248016057">PUK si sahihi. Mara za kujaribu ulizobakisha: <ph name="RETRIES" />.</translation> <translation id="6015796118275082299">Mwaka</translation> +<translation id="6016178549409952427">Nenda kwenye maudhui mengine <ph name="CURRENT_ELEMENT" /> kati ya <ph name="TOTAL_ELEMENTS" /></translation> <translation id="6016551720757758985">Thibitisha Powerwash kwa kurejea kwenye toleo la awali</translation> <translation id="6016972670657536680">Chagua kitufe cha lugha na kibodi. Lugha uliyochagua kwa sasa ni <ph name="LANGUAGE" />.</translation> <translation id="6017514345406065928">Kijani</translation> @@ -5663,6 +5667,7 @@ <translation id="786073089922909430">Huduma: <ph name="ARC_PROCESS_NAME" /></translation> <translation id="7861215335140947162">&Vipakuzi</translation> <translation id="7864539943188674973">Lemaza Bluetooth</translation> +<translation id="7866352732146932341">Vifaa vilivyo karibu nawe wakati kipengele cha Uhamishaji wa Karibu kimefunguliwa kwenye kifaa chako</translation> <translation id="786957569166715433"><ph name="DEVICE_NAME" /> - Imeoanishwa</translation> <translation id="7870730066603611552">Kagua chaguo za usawazishaji baada ya kuweka mipangilio</translation> <translation id="7870790288828963061">Hamna programu za Skrini Nzima zilizo na toleo jipya zaidi zimepatikana. Hakuna cha kusasisha. Tafadhali ondoa hifadhi ya USB.</translation> @@ -6446,6 +6451,7 @@ <translation id="8811862054141704416">Uwezo wa kufikia maikrofoni kwenye Crostini</translation> <translation id="8812552797690463522">Mtandao huu unashirikiwa nawe.</translation> <translation id="8812593354822910461">Futa pia data ya kuvinjari (<ph name="URL" />), hatua inayoweza kukuondoa kwenye akaunti ya <ph name="DOMAIN" />. <ph name="LEARN_MORE" /></translation> +<translation id="8813277370772331957">Nikumbushe baadaye</translation> <translation id="8813698869395535039">Haiwezi kuingia katika <ph name="USERNAME" /></translation> <translation id="8813872945700551674">Mwombe mzazi aidhinishe "<ph name="EXTENSION_NAME" />"</translation> <translation id="8813969267212093033">Maandishi ya mfumo yanaonyeshwa katika lugha hii</translation> @@ -6476,6 +6482,7 @@ <translation id="8838601485495657486">Isiyopenyeza nuru</translation> <translation id="8838770651474809439">Hambaga</translation> <translation id="883911313571074303">Eleza kuhusu picha</translation> +<translation id="8841843049738266382">Kusoma na kubadilisha watumiaji walio katika orodha ya walioruhusiwa</translation> <translation id="8842594465773264717">Futa alama hii ya kidole</translation> <translation id="8845001906332463065">Pata usaidizi</translation> <translation id="8846132060409673887">Soma maelezo ya mtengenezaji na muundo wa kompyuta hii</translation>
diff --git a/chrome/app/resources/generated_resources_ta.xtb b/chrome/app/resources/generated_resources_ta.xtb index b126d05..de8c6a6 100644 --- a/chrome/app/resources/generated_resources_ta.xtb +++ b/chrome/app/resources/generated_resources_ta.xtb
@@ -1139,7 +1139,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" /> இணைய விரும்புகிறது</translation> <translation id="2342740338116612727">புக்மார்க்குகள் சேர்க்கப்பட்டன</translation> <translation id="2343747224442182863">இந்தத் தாவலை மையப்படுத்து</translation> -<translation id="2344686470986284227">விர்ச்சுவல் மெஷின் கன்ட்ரோலரைத் தொடங்குகிறது</translation> <translation id="2345723121311404059">1 பக்கம் - <ph name="PRINTER_NAME" /></translation> <translation id="2347644257713614136">Hangouts மற்றும் Cast for Education ஆகியவற்றின் பயன்பாடு, Google தனியுரிமைக் கொள்கையால் நிர்வகிக்கப்படுகிறது.</translation> <translation id="2348176352564285430">ஆப்ஸ்: <ph name="ARC_PROCESS_NAME" /></translation> @@ -1475,6 +1474,7 @@ <translation id="2731700343119398978">காத்திருக்கவும்...</translation> <translation id="2731710757838467317">உங்கள் மேற்பார்வையிடப்படும் பயனரை உருவாக்குகிறது. இதற்கு ஒரு சில நிமிடங்கள் ஆகலாம்.</translation> <translation id="2731971182069536520">அடுத்தமுறை சாதனத்தை ரீஸ்டார்ட் செய்யும்போது உங்களின் அகத் தரவை நீக்குவதற்கான 'ஒருமுறை செய்யும் புதுப்பிப்பை' நிர்வாகி மேற்கொள்வார்.</translation> +<translation id="2732134891301408122">கூடுதல் உள்ளடக்கம் (<ph name="CURRENT_ELEMENT" />/<ph name="TOTAL_ELEMENTS" />)</translation> <translation id="2734760316755174687"><ph name="SITE_GROUP_NAME" /> குழுவில் உள்ள எல்லா தளங்களும் மீட்டமைக்கப்படும்.</translation> <translation id="2735712963799620190">திட்ட அட்டவணை</translation> <translation id="2737363922397526254">சுருக்கு...</translation> @@ -3122,6 +3122,7 @@ <translation id="4735803855089279419">இந்தச் சாதனத்திற்கான சாதன அடையாளங்காட்டிகளை சிஸ்டத்தால் தீர்மானிக்க முடியவில்லை.</translation> <translation id="4736292055110123391">உங்கள் எல்லாச் சாதனங்களிலும் உங்கள் புக்மார்க்குகள், கடவுச்சொற்கள், வரலாறு, மேலும் பலவற்றை ஒத்திசைக்கலாம்</translation> <translation id="473775607612524610">புதுப்பி</translation> +<translation id="473936925429402449">தேர்ந்தெடுக்கப்பட்டது, கூடுதல் உள்ளடக்கம் (<ph name="CURRENT_ELEMENT" />/<ph name="TOTAL_ELEMENTS" />)</translation> <translation id="4739639199548674512">டிக்கெட்டுகள்</translation> <translation id="4743260470722568160"><ph name="BEGIN_LINK" />பயன்பாடுகளைப் புதுப்பிப்பது எப்படி என்பதை அறிக<ph name="END_LINK" /></translation> <translation id="4744981231093950366">{NUM_TABS,plural, =1{தளத்தின் ஒலியை இயக்கு}other{தளங்களின் ஒலியை இயக்கு}}</translation> @@ -4144,6 +4145,7 @@ <translation id="6011449291337289699">தளத் தரவை அழி</translation> <translation id="6015266928248016057">தவறான PUK. இன்னும் <ph name="RETRIES" /> முறை முயலலாம்.</translation> <translation id="6015796118275082299">ஆண்டு</translation> +<translation id="6016178549409952427">கூடுதல் உள்ளடக்கத்திற்குச் செல்லும் (<ph name="CURRENT_ELEMENT" />/<ph name="TOTAL_ELEMENTS" />)</translation> <translation id="6016551720757758985">முந்தைய பதிப்பிற்கு மாற, பவர்வாஷை உறுதிப்படுத்தவும்</translation> <translation id="6016972670657536680">மொழி மற்றும் விசைப்பலகைப் பொத்தானைத் தேர்ந்தெடுக்கவும். தற்போது தேர்ந்தெடுத்த மொழி: <ph name="LANGUAGE" />.</translation> <translation id="6017514345406065928">பச்சை</translation> @@ -6450,6 +6452,7 @@ <translation id="8811862054141704416">Crostini மைக்ரோஃபோன் அணுகல்</translation> <translation id="8812552797690463522">இந்த நெட்வொர்க் உங்களுடன் பகிரப்பட்டது.</translation> <translation id="8812593354822910461">உலாவிய தரவையும் (<ph name="URL" />) அழி. இது உங்களை <ph name="DOMAIN" /> கணக்கில் இருந்து வெளியேற்றும். <ph name="LEARN_MORE" /></translation> +<translation id="8813277370772331957">பின்னர் நினைவூட்டு</translation> <translation id="8813698869395535039"><ph name="USERNAME" /> இல் உள்நுழைய முடியவில்லை</translation> <translation id="8813872945700551674">"<ph name="EXTENSION_NAME" />" நீட்டிப்பிற்கு பெற்றோரிடம் அனுமதி வாங்குங்கள்</translation> <translation id="8813969267212093033">சிஸ்டத்தின் உரை இந்த மொழியில் காட்டப்பட்டது</translation> @@ -6480,6 +6483,7 @@ <translation id="8838601485495657486">ஒளிபுகாத்தன்மை</translation> <translation id="8838770651474809439">ஹம்பர்கர்</translation> <translation id="883911313571074303">படத்தைக் குறிப்பிடு</translation> +<translation id="8841843049738266382">ஏற்புப் பட்டியலில் உள்ள பயனர் கணக்குகளைப் படிக்கலாம் மாற்றலாம்</translation> <translation id="8842594465773264717">இந்தக் கைரேகையை நீக்கு</translation> <translation id="8845001906332463065">உதவி பெறுக</translation> <translation id="8846132060409673887">இந்தக் கம்ப்யூட்டரின் உற்பத்தியாளர் பற்றிய தகவலையும் மாடலையும் படிக்கலாம்</translation>
diff --git a/chrome/app/resources/generated_resources_te.xtb b/chrome/app/resources/generated_resources_te.xtb index 79d25fc6..16db0f2 100644 --- a/chrome/app/resources/generated_resources_te.xtb +++ b/chrome/app/resources/generated_resources_te.xtb
@@ -1139,7 +1139,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" /> దీనితో జత చేయాలనుకుంటోంది</translation> <translation id="2342740338116612727">బుక్మార్క్లు జోడించబడ్డాయి</translation> <translation id="2343747224442182863">ఈ ట్యాబ్పై దృష్టి కేంద్రీకరించు</translation> -<translation id="2344686470986284227">వర్చువల్ మెషిన్ కంట్రోలర్ను ప్రారంభిస్తోంది</translation> <translation id="2345723121311404059"><ph name="PRINTER_NAME" />కు 1 పేజీ</translation> <translation id="2347644257713614136">Hangouts మరియు Cast for Educationల వినియోగం Google గోప్యతా విధానానికి అనుగుణంగా ఉంటుంది.</translation> <translation id="2348176352564285430">యాప్: <ph name="ARC_PROCESS_NAME" /></translation> @@ -1475,6 +1474,7 @@ <translation id="2731700343119398978">దయచేసి వేచి ఉండండి...</translation> <translation id="2731710757838467317">మీ పర్యవేక్షించబడే వినియోగదారును సృష్టిస్తోంది. దీనికి కొంత సమయం పట్టవచ్చు.</translation> <translation id="2731971182069536520">మీరు మీ పరికరాన్ని పునఃప్రారంభించే తర్వాతిసారి, మీ నిర్వాహకుడు వన్-టైమ్ అప్డేట్ను అమలు చేస్తారు, దీని వలన మీ స్థానిక డేటా తొలగించబడుతుంది.</translation> +<translation id="2732134891301408122"><ph name="TOTAL_ELEMENTS" />లో <ph name="CURRENT_ELEMENT" />వ అదనపు కంటెంట్</translation> <translation id="2734760316755174687"><ph name="SITE_GROUP_NAME" />లోని సైట్లు కూడా రీసెట్ చేయబడతాయి.</translation> <translation id="2735712963799620190">షెడ్యూల్</translation> <translation id="2737363922397526254">కుదించు...</translation> @@ -3122,6 +3122,7 @@ <translation id="4735803855089279419">ఈ పరికర ఐడెంటిఫైయర్లను గుర్తించడంలో సిస్టమ్ విఫలమైంది.</translation> <translation id="4736292055110123391">మీ బుక్మార్క్లు, పాస్వర్డ్లు, చరిత్ర మరియు మరిన్నింటిని మీ అన్ని పరికరాల్లోనూ సింక్ చేయండి</translation> <translation id="473775607612524610">అప్డేట్</translation> +<translation id="473936925429402449"><ph name="TOTAL_ELEMENTS" />లో <ph name="CURRENT_ELEMENT" />వ అదనపు కంటెంట్ ఎంచుకోబడింది</translation> <translation id="4739639199548674512">టిక్కెట్లు</translation> <translation id="4743260470722568160"><ph name="BEGIN_LINK" />అప్లికేషన్లను ఎలా అప్డేట్ చేయాలో తెలుసుకోండి<ph name="END_LINK" /></translation> <translation id="4744981231093950366">{NUM_TABS,plural, =1{సైట్ను అన్మ్యూట్ చేయి}other{సైట్లను అన్మ్యూట్ చేయి}}</translation> @@ -4143,6 +4144,7 @@ <translation id="6011449291337289699">సైట్ డేటాను తీసివేయండి</translation> <translation id="6015266928248016057">PUK చెల్లదు. మిగిలి ఉన్న పునఃప్రయత్నాల సంఖ్య: <ph name="RETRIES" />.</translation> <translation id="6015796118275082299">సంవత్సరం</translation> +<translation id="6016178549409952427"><ph name="TOTAL_ELEMENTS" />లో <ph name="CURRENT_ELEMENT" />వ అదనపు కంటెంట్కు నావిగేట్ చేయండి</translation> <translation id="6016551720757758985">మునుపటి వెర్షన్కు తిరిగి మార్చేలా చేసే పవర్వాష్ను నిర్ధారించండి</translation> <translation id="6016972670657536680">'భాష మరియు కీబోర్డ్ను ఎంచుకోండి' బటన్. ప్రస్తుతం ఎంచుకున్న భాష <ph name="LANGUAGE" />.</translation> <translation id="6017514345406065928">ఆకుపచ్చ</translation> @@ -6445,6 +6447,7 @@ <translation id="8811862054141704416">Crostini మైక్రోఫోన్ యాక్సెస్</translation> <translation id="8812552797690463522">ఈ నెట్వర్క్ మీతో షేర్ చేయబడింది.</translation> <translation id="8812593354822910461">అలాగే బ్రౌజింగ్ డేటాను (<ph name="URL" />) క్లియర్ చేస్తుంది, దీని వలన మీరు <ph name="DOMAIN" /> నుండి సైన్ అవుట్ చేయబడతారు. <ph name="LEARN_MORE" /></translation> +<translation id="8813277370772331957">నాకు తర్వాత గుర్తు చేయి</translation> <translation id="8813698869395535039"><ph name="USERNAME" />కు సైన్ ఇన్ చేయడం సాధ్యపడదు</translation> <translation id="8813872945700551674">"<ph name="EXTENSION_NAME" />"ను ఆమోదించమని తల్లి/తండ్రిని అడగండి</translation> <translation id="8813969267212093033">సిస్టమ్ వచనం ఈ భాషలో చూపబడుతుంది</translation> @@ -6475,6 +6478,7 @@ <translation id="8838601485495657486">అపారదర్శకత</translation> <translation id="8838770651474809439">హాంబర్గర్</translation> <translation id="883911313571074303">చిత్రంపై అదనపు గమనికలు పంపండి</translation> +<translation id="8841843049738266382">వైట్లిస్ట్ చేయబడిన యూజర్లను చదవండి, మార్చండి</translation> <translation id="8842594465773264717">ఈ వేలిముద్రను తొలగించు</translation> <translation id="8845001906332463065">సహాయం పొందండి</translation> <translation id="8846132060409673887">ఈ కంప్యూటర్ తయారీదారు పేరు మరియు మోడల్కి సంబంధించిన సమాచారాన్ని చదవగలుగుతుంది</translation>
diff --git a/chrome/app/resources/generated_resources_th.xtb b/chrome/app/resources/generated_resources_th.xtb index 7b0ab3d7..a3bf47f 100644 --- a/chrome/app/resources/generated_resources_th.xtb +++ b/chrome/app/resources/generated_resources_th.xtb
@@ -1139,7 +1139,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" /> ต้องการจับคู่</translation> <translation id="2342740338116612727">เพิ่มบุ๊กมาร์กแล้ว</translation> <translation id="2343747224442182863">โฟกัสแท็บนี้</translation> -<translation id="2344686470986284227">กำลังเริ่มตัวควบคุมเครื่องเสมือน</translation> <translation id="2345723121311404059">พิมพ์ 1 หน้าไปยัง <ph name="PRINTER_NAME" /></translation> <translation id="2347644257713614136">การใช้งาน Hangouts และ Cast for Education อยู่ภายใต้นโยบายความเป็นส่วนตัวของ Google</translation> <translation id="2348176352564285430">แอป: <ph name="ARC_PROCESS_NAME" /></translation> @@ -1260,7 +1259,7 @@ <translation id="2482878487686419369">การแจ้งเตือน</translation> <translation id="2484959914739448251"><ph name="BEGIN_LINK" />ป้อนรหัสผ่าน<ph name="END_LINK" />เพื่อล้างข้อมูลการท่องเว็บในอุปกรณ์ทุกเครื่องที่ซิงค์และบัญชี Google</translation> <translation id="2485005079599453134">รหัสผ่านที่บันทึกในอุปกรณ์นี้</translation> -<translation id="2485394160472549611">แนะนำสำหรับคุณ</translation> +<translation id="2485394160472549611">คัดสรรมาเพื่อคุณ</translation> <translation id="2485422356828889247">ถอนการติดตั้ง</translation> <translation id="2487067538648443797">เพิ่มบุ๊กมาร์กใหม่</translation> <translation id="2487268545026948104">โปรดเชื่อมต่ออินเทอร์เน็ตเพื่อคืนค่าข้อมูล</translation> @@ -1475,6 +1474,7 @@ <translation id="2731700343119398978">โปรดรอสักครู่...</translation> <translation id="2731710757838467317">กำลังสร้างผู้ใช้ภายใต้การดูแล อาจใช้เวลาสักครู่</translation> <translation id="2731971182069536520">ครั้งถัดไปที่คุณรีสตาร์ทอุปกรณ์ ผู้ดูแลระบบจะดำเนินการอัปเดตแบบครั้งเดียวซึ่งจะลบข้อมูลในเครื่อง</translation> +<translation id="2732134891301408122">เนื้อหาเพิ่มเติม <ph name="CURRENT_ELEMENT" /> จาก <ph name="TOTAL_ELEMENTS" /> รายการ</translation> <translation id="2734760316755174687">ระบบจะรีเซ็ตเว็บไซต์ภายใต้ <ph name="SITE_GROUP_NAME" /> ด้วย</translation> <translation id="2735712963799620190">กำหนดการ</translation> <translation id="2737363922397526254">ยุบ...</translation> @@ -3122,6 +3122,7 @@ <translation id="4735803855089279419">ระบบระบุตัวบ่งชี้อุปกรณ์ของอุปกรณ์นี้ไม่สำเร็จ</translation> <translation id="4736292055110123391">ซิงค์บุ๊กมาร์ก รหัสผ่าน ประวัติการเข้าชม และอื่นๆ ในอุปกรณ์ทุกเครื่อง</translation> <translation id="473775607612524610">อัปเดต</translation> +<translation id="473936925429402449">เลือกเนื้อหาเพิ่มเติม <ph name="CURRENT_ELEMENT" /> จาก <ph name="TOTAL_ELEMENTS" /> รายการ</translation> <translation id="4739639199548674512">ตั๋ว</translation> <translation id="4743260470722568160"><ph name="BEGIN_LINK" />ดูวิธีอัปเดตแอปพลิเคชัน<ph name="END_LINK" /></translation> <translation id="4744981231093950366">{NUM_TABS,plural, =1{เลิกซ่อนเว็บไซต์}other{เลิกซ่อนเว็บไซต์}}</translation> @@ -4143,6 +4144,7 @@ <translation id="6011449291337289699">ล้างข้อมูลเว็บไซต์</translation> <translation id="6015266928248016057">PUK ไม่ถูกต้อง ป้อนได้อีก <ph name="RETRIES" /> ครั้ง</translation> <translation id="6015796118275082299">ปี</translation> +<translation id="6016178549409952427">ไปที่เนื้อหาเพิ่มเติม <ph name="CURRENT_ELEMENT" /> จาก <ph name="TOTAL_ELEMENTS" /> รายการ</translation> <translation id="6016551720757758985">ยืนยัน Powerwash และเปลี่ยนกลับเป็นเวอร์ชันก่อนหน้า</translation> <translation id="6016972670657536680">เลือกปุ่มภาษาและแป้นพิมพ์ ภาษาที่เลือกอยู่ในขณะนี้คือ <ph name="LANGUAGE" /></translation> <translation id="6017514345406065928">สีเขียว</translation> @@ -6449,6 +6451,7 @@ <translation id="8811862054141704416">การเข้าถึงไมโครโฟนใน Crostini</translation> <translation id="8812552797690463522">เครือข่ายนี้แชร์กับคุณอยู่</translation> <translation id="8812593354822910461">รวมถึงล้างข้อมูลการท่องเว็บ (<ph name="URL" />) ซึ่งจะนำคุณออกจากระบบของ <ph name="DOMAIN" /> <ph name="LEARN_MORE" /></translation> +<translation id="8813277370772331957">เตือนฉันภายหลัง</translation> <translation id="8813698869395535039">ไม่สามารถลงชื่อเข้าใช้ <ph name="USERNAME" /></translation> <translation id="8813872945700551674">ต้องขอให้ผู้ปกครองอนุมัติ "<ph name="EXTENSION_NAME" />"</translation> <translation id="8813969267212093033">ข้อความของระบบแสดงเป็นภาษานี้</translation> @@ -6479,6 +6482,7 @@ <translation id="8838601485495657486">ทึบ</translation> <translation id="8838770651474809439">แฮมเบอร์เกอร์</translation> <translation id="883911313571074303">ใส่หมายเหตุในรูปภาพ</translation> +<translation id="8841843049738266382">อ่านและเปลี่ยนผู้ใช้ในรายการที่อนุญาต</translation> <translation id="8842594465773264717">ลบลายนิ้วมือนี้</translation> <translation id="8845001906332463065">ขอความช่วยเหลือ</translation> <translation id="8846132060409673887">ดูผู้ผลิตและรุ่นของคอมพิวเตอร์เครื่องนี้</translation>
diff --git a/chrome/app/resources/generated_resources_tr.xtb b/chrome/app/resources/generated_resources_tr.xtb index 5432eb0..bdaee86 100644 --- a/chrome/app/resources/generated_resources_tr.xtb +++ b/chrome/app/resources/generated_resources_tr.xtb
@@ -1139,7 +1139,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" /> eşlenmek istiyor</translation> <translation id="2342740338116612727">Yer işaretleri eklendi</translation> <translation id="2343747224442182863">Bu Sekmeyi Odakla</translation> -<translation id="2344686470986284227">Sanal makine denetleyicisi başlatılıyor</translation> <translation id="2345723121311404059"><ph name="PRINTER_NAME" /> adlı yazıcıya 1 sayfa</translation> <translation id="2347644257713614136">Hangouts ve Cast for Education'ın kullanımı Google Gizlilik Politikası'na tabidir.</translation> <translation id="2348176352564285430">Uygulama: <ph name="ARC_PROCESS_NAME" /></translation> @@ -1475,6 +1474,7 @@ <translation id="2731700343119398978">Lütfen bekleyin...</translation> <translation id="2731710757838467317">Denetlenen kullanıcınız oluşturuluyor. Bu işlem birkaç saniye sürebilir.</translation> <translation id="2731971182069536520">Cihazınızı yeniden başlattığınızda, yerel verilerinizi silecek olan bir seferlik güncelleme yapılır.</translation> +<translation id="2732134891301408122"><ph name="CURRENT_ELEMENT" />/<ph name="TOTAL_ELEMENTS" /> ekstra içerik</translation> <translation id="2734760316755174687"><ph name="SITE_GROUP_NAME" /> altındaki siteler de sıfırlanacak.</translation> <translation id="2735712963799620190">Program</translation> <translation id="2737363922397526254">Daralt...</translation> @@ -3122,6 +3122,7 @@ <translation id="4735803855089279419">Sistem, bu cihaz için cihaz tanıtıcılarını belirleyemedi.</translation> <translation id="4736292055110123391">Yer işaretleriniz, şifreleriniz, geçmişiniz ve daha fazlasını tüm cihazlarınızda senkronize edin</translation> <translation id="473775607612524610">Güncelle</translation> +<translation id="473936925429402449"><ph name="CURRENT_ELEMENT" />/<ph name="TOTAL_ELEMENTS" /> ekstra içerik seçildi</translation> <translation id="4739639199548674512">Biletler</translation> <translation id="4743260470722568160"><ph name="BEGIN_LINK" />Uygulamaların nasıl güncelleneceğini öğrenin<ph name="END_LINK" /></translation> <translation id="4744981231093950366">{NUM_TABS,plural, =1{Sitenin sesini aç}other{Sitelerin sesini aç}}</translation> @@ -4144,6 +4145,7 @@ <translation id="6011449291337289699">Site verilerini temizle</translation> <translation id="6015266928248016057">Geçersiz PUK. Kalan deneme sayısı: <ph name="RETRIES" />.</translation> <translation id="6015796118275082299">Yıl</translation> +<translation id="6016178549409952427"><ph name="CURRENT_ELEMENT" />/<ph name="TOTAL_ELEMENTS" /> ekstra içeriğe git</translation> <translation id="6016551720757758985">Bir önceki sürüme geri dönüşü sağlayan Powerwash işlemini onaylayın</translation> <translation id="6016972670657536680">Dil ve klavye düğmesini seçin. Şu anda seçili dil: <ph name="LANGUAGE" />.</translation> <translation id="6017514345406065928">Yeşil</translation> @@ -6449,6 +6451,7 @@ <translation id="8811862054141704416">Crostini mikrofon erişimi</translation> <translation id="8812552797690463522">Bu ağ sizinle paylaşılıyor.</translation> <translation id="8812593354822910461">Ayrıca tarama verilerini (<ph name="URL" />) temizle. Bu işlem <ph name="DOMAIN" /> oturumunuzu kapatabilir. <ph name="LEARN_MORE" /></translation> +<translation id="8813277370772331957">Sonra hatırlat</translation> <translation id="8813698869395535039"><ph name="USERNAME" /> hesabında oturum açılamıyor</translation> <translation id="8813872945700551674">Ebeveyninizden "<ph name="EXTENSION_NAME" />" uzantısını onaylamasını isteyin</translation> <translation id="8813969267212093033">Sistem metni bu dilde gösterilir</translation> @@ -6479,6 +6482,7 @@ <translation id="8838601485495657486">Opak</translation> <translation id="8838770651474809439">Hamburger</translation> <translation id="883911313571074303">Resme açıklama ekle</translation> +<translation id="8841843049738266382">İzin verilenler listesindeki kullanıcıları okuyup değiştirme</translation> <translation id="8842594465773264717">Bu parmak izini sil</translation> <translation id="8845001906332463065">Yardım alın</translation> <translation id="8846132060409673887">Bu bilgisayarın üreticisini ve modelini okuma</translation>
diff --git a/chrome/app/resources/generated_resources_uk.xtb b/chrome/app/resources/generated_resources_uk.xtb index ded0cb7..9d27b584 100644 --- a/chrome/app/resources/generated_resources_uk.xtb +++ b/chrome/app/resources/generated_resources_uk.xtb
@@ -1139,7 +1139,6 @@ <translation id="2340263603246777781">Сайт <ph name="ORIGIN" /> хоче підключитися до пристрою</translation> <translation id="2342740338116612727">Закладки додано</translation> <translation id="2343747224442182863">Виділити цю вкладку</translation> -<translation id="2344686470986284227">Запуск контролера віртуальної машини</translation> <translation id="2345723121311404059">Друк 1 сторінки на <ph name="PRINTER_NAME" /></translation> <translation id="2347644257713614136">Використання Hangouts і Cast for Education регулюється Політикою конфіденційності Google.</translation> <translation id="2348176352564285430">Додаток: <ph name="ARC_PROCESS_NAME" /></translation> @@ -3543,7 +3542,7 @@ <translation id="5282733140964383898">Якщо ввімкнути параметр "Не відстежувати", запит додається в трафік веб-перегляду. Результат залежить від того, чи реагує веб-сайт на цей запит і як тлумачиться запит. Наприклад, деякі веб-сайти можуть реагувати на такий запит, показуючи вам рекламу, не пов’язану з іншими веб-сайтами, які ви відвідали. Багато веб-сайтів будуть і надалі збирати й використовувати ваші дані веб-перегляду, наприклад щоб покращувати систему безпеки, пропонувати вміст, служби, рекламу та рекомендації, а також генерувати статистику для звітів. <ph name="BEGIN_LINK" />Докладніше<ph name="END_LINK" /></translation> <translation id="5283677936944177147">На жаль, системі не вдалося визначити модель та серійний номер пристрою.</translation> <translation id="5284445933715251131">Продовжити завантаження</translation> -<translation id="5285635972691565180">Дисплей <ph name="DISPLAY_ID" /></translation> +<translation id="5285635972691565180">Екран <ph name="DISPLAY_ID" /></translation> <translation id="5286194356314741248">Сканування</translation> <translation id="5286252187236914003">L2TP/IPsec</translation> <translation id="5287425679749926365">Ваші облікові записи</translation>
diff --git a/chrome/app/resources/generated_resources_ur.xtb b/chrome/app/resources/generated_resources_ur.xtb index 5342125a..007c559 100644 --- a/chrome/app/resources/generated_resources_ur.xtb +++ b/chrome/app/resources/generated_resources_ur.xtb
@@ -1140,7 +1140,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" /> جوڑا بنانا چاہتی ہے</translation> <translation id="2342740338116612727">بُک مارکس شامل کر دیے گئے</translation> <translation id="2343747224442182863">اس ٹیب کو فوکس کریں</translation> -<translation id="2344686470986284227">ورچوئل مشین کنٹرولر شروع ہو رہا ہے</translation> <translation id="2345723121311404059"><ph name="PRINTER_NAME" /> کیلئے 1 صفحہ</translation> <translation id="2347644257713614136">Hangouts اور Cast for Education کا استعمال Google کی رازداری کی پالیسی کے زیر انتظام ہے۔</translation> <translation id="2348176352564285430">ایپ: <ph name="ARC_PROCESS_NAME" /></translation> @@ -2640,7 +2639,7 @@ <translation id="4104163789986725820">برآ&مد کریں…</translation> <translation id="4107048419833779140">اسٹوریج کے آلات کی شناخت کر کے انہیں خارج کریں</translation> <translation id="4109135793348361820">ونڈو کو <ph name="USER_NAME" /> (<ph name="USER_EMAIL" />) میں منتقل کریں</translation> -<translation id="411031910327788420">اس ترتیب کو سپورٹ کرنے والے ایپس کے ليے کیپشن سائز اور طرز کو حسب ضرورت بنائیں</translation> +<translation id="411031910327788420">اس ترتیب کو سپورٹ کرنے والی ایپس کے ليے کیپشن سائز اور طرز کو حسب ضرورت بنائیں</translation> <translation id="4110490973560452005">ڈاؤن لوڈ مکمل ہو گیا: <ph name="FILE_NAME" />۔ ڈاؤن لوڈز بار ایریا پر جانے کے لیے Shift+F6 دبائيں۔</translation> <translation id="4110686435123617899">البم <ph name="TITLE" /> <ph name="DESC" /> منتخب کریں</translation> <translation id="4110895898888439383">اعلی تناسب امتزاج وضع میں ویب براؤز کریں</translation> @@ -2840,7 +2839,7 @@ <translation id="4390000551125140321">{0,plural, =1{پوشیدگی}other{# کھلی ہوئی پوشیدگی ونڈوز}}</translation> <translation id="439266289085815679"><ph name="USER_EMAIL" /> بلوٹوتھ کنفیگریشن کو کنٹرول کرتا ہے۔</translation> <translation id="4392896746540753732">کنفیگریشن فائل میں ترمیم کریں</translation> -<translation id="4393691030048716353"><ph name="DOMAIN" /> نے ADB ڈیبگنگ کو غیر فعال کر دیا ہے۔ ایک بار جب آپ اپنا <ph name="DEVICE_TYPE" /> ری سٹارٹ کریں تو آپ سائیڈ لوڈ ایپس نہیں کر سکیں گے۔</translation> +<translation id="4393691030048716353"><ph name="DOMAIN" /> نے ADB ڈیبگنگ کو غیر فعال کر دیا ہے۔ ایک بار جب آپ اپنا <ph name="DEVICE_TYPE" /> ری سٹارٹ کریں تو آپ ایپس سائیڈ لوڈ نہیں کر سکیں گے۔</translation> <translation id="4394049700291259645">غیر فعال کریں</translation> <translation id="439817266247065935">آپ کا آلہ صحیح سے بند نہیں ہوا ہے۔ Linux ایپس کو استعمال کرنے کیلئے Linux کو ری سٹارٹ کریں۔</translation> <translation id="4400367121200150367">جو سائٹس کبھی بھی پاس ورڈز محفوظ نہیں کرتی ہیں وہ یہاں ظاہر ہوں گی</translation>
diff --git a/chrome/app/resources/generated_resources_uz.xtb b/chrome/app/resources/generated_resources_uz.xtb index 8222480..57d1a8f 100644 --- a/chrome/app/resources/generated_resources_uz.xtb +++ b/chrome/app/resources/generated_resources_uz.xtb
@@ -1137,7 +1137,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" /> qurilmangizga ulanmoqchi</translation> <translation id="2342740338116612727">Bukmarklar biriktirildi</translation> <translation id="2343747224442182863">Shu varaqni fokuslash</translation> -<translation id="2344686470986284227">Virtual mashina kontrolleri ishga tushmoqda</translation> <translation id="2345723121311404059">1 ta sahifa <ph name="PRINTER_NAME" /> printeriga yuborildi</translation> <translation id="2347644257713614136">Ta’lim muassasalari uchun Hangouts va Cast xizmatlaridan foydalanish Google maxfiylik siyosati bilan tartibga solinadi.</translation> <translation id="2348176352564285430">Ilova: <ph name="ARC_PROCESS_NAME" /></translation> @@ -1286,6 +1285,7 @@ <translation id="2505127913256479918">Tez orada bu boshqariluvchi hisob olib tashlanadi</translation> <translation id="2505324914378689427">{SCREEN_INDEX,plural, =1{Ekran #}other{Ekran #}}</translation> <translation id="2505402373176859469"><ph name="RECEIVED_AMOUNT" /> / <ph name="TOTAL_SIZE" /></translation> +<translation id="250642123108534012">Qurilmalarida yaqin-atrofga yuborish ilovasi ochiqligida koʻrinadigan sizga yaqin qurilmalar</translation> <translation id="250704661983564564">Displey joylashuv tartibi</translation> <translation id="2507253002925770350">Chipta olib tashlandi</translation> <translation id="2507397597949272797"><ph name="NAME" /> pauza qilindi</translation> @@ -1473,6 +1473,7 @@ <translation id="2731700343119398978">Iltimos, kuting...</translation> <translation id="2731710757838467317">Boshqariladigan profil yaratilmoqda. Bu bir necha daqiqa vaqt olishi mumkin.</translation> <translation id="2731971182069536520">Qurilmangiz keyingi safar oʻchirib-yoqilganda administrator tomonidan bir martalik yangilanish oʻrnatiladi va mahalliy maʼlumotlar tozalanadi.</translation> +<translation id="2732134891301408122"><ph name="CURRENT_ELEMENT" />/<ph name="TOTAL_ELEMENTS" /> sonli qoʻshimcha kontent</translation> <translation id="2734760316755174687"><ph name="SITE_GROUP_NAME" /> guruhidagi saytlarda ham barcha huquqlar tiklanadi</translation> <translation id="2735712963799620190">Jadval</translation> <translation id="2737363922397526254">Yig‘ish...</translation> @@ -3120,6 +3121,7 @@ <translation id="4735803855089279419">Qurilma identifikatorlari aniqlanmadi.</translation> <translation id="4736292055110123391">Bukmarklar, tarix va parollaringizni barcha qurilmalaringizda sinxronlang</translation> <translation id="473775607612524610">Yangilash</translation> +<translation id="473936925429402449">Tanlangan, <ph name="CURRENT_ELEMENT" />/<ph name="TOTAL_ELEMENTS" /> sonli qoʻshimcha kontent</translation> <translation id="4739639199548674512">Chiptalar</translation> <translation id="4743260470722568160"><ph name="BEGIN_LINK" />Ilovalarni yangilash haqida axborot<ph name="END_LINK" /></translation> <translation id="4744981231093950366">{NUM_TABS,plural, =1{Sayt ovozini yoqish}other{Saytlar ovozini yoqish}}</translation> @@ -3135,6 +3137,7 @@ <translation id="4762718786438001384">Qurilma diskida bo‘sh joy deyarli qolmadi</translation> <translation id="4763408175235639573">Bu sahifaga tashrif buyurish vaqtida kompyuteringizga quyidagi cookie fayllari saqlandi:</translation> <translation id="4765582662863429759">Android Xabarlar ilovasi matnlarni telefoningizdan Chromebook qurilmasiga retranslatsiya qilish imkonini beradi</translation> +<translation id="476598255842811483">Yaqin-atrofga yuborish ochilmaguncha hech kim</translation> <translation id="4768332406694066911">Sizda haqiqiyligingizni tasdiqlovchi quyidagi tashkilotlar sertifikatlari mavjud</translation> <translation id="477647109558161443">Ish stolida yorliq yaratish</translation> <translation id="4776917500594043016"><ph name="USER_EMAIL_ADDRESS" /> e-pochtasi paroli</translation> @@ -4141,6 +4144,7 @@ <translation id="6011449291337289699">Sayt ma’lumotlarini tozalash</translation> <translation id="6015266928248016057">PUK kod xato. <ph name="RETRIES" /> ta urinish qoldi.</translation> <translation id="6015796118275082299">Yil</translation> +<translation id="6016178549409952427"><ph name="CURRENT_ELEMENT" />/<ph name="TOTAL_ELEMENTS" /> sonli qoʻshimcha kontentga oʻtish</translation> <translation id="6016551720757758985">Powerwash va avvalgi versiyaga qaytarishni tasdiqlash</translation> <translation id="6016972670657536680">Til va matn kiritish uslubini tanlang. Joriy til: <ph name="LANGUAGE" />.</translation> <translation id="6017514345406065928">Yashil</translation> @@ -5663,6 +5667,7 @@ <translation id="786073089922909430">Xizmat: <ph name="ARC_PROCESS_NAME" /></translation> <translation id="7861215335140947162">&Yuklanishlar</translation> <translation id="7864539943188674973">Bluetooth funksiyasini o‘chirish</translation> +<translation id="7866352732146932341">Qurilmangizda yaqin-atrofga yuborish ilovasi ochiqligida koʻrinadigan sizga yaqin qurilmalar</translation> <translation id="786957569166715433"><ph name="DEVICE_NAME" />: ulangan</translation> <translation id="7870730066603611552">Sinxronizatsiya sozlamalari seans boshlangandan keyin tekshirilsin</translation> <translation id="7870790288828963061">Kiosk-ilovalarining yangi versiyalari mavjud emas. Yangilanish shart emas. USB-xotira qurilmasini chiqarib oling.</translation> @@ -6445,6 +6450,7 @@ <translation id="8811862054141704416">Crostini tizimidagi mikrofondan foydalanish huquqi</translation> <translation id="8812552797690463522">Bu tarmoqqa ulana olasiz.</translation> <translation id="8812593354822910461">Shuningdek, brauzer tarixi (<ph name="URL" />) ham tozalansin (<ph name="DOMAIN" /> hisobingizdan avtomatik chiqib ketasiz). <ph name="LEARN_MORE" /></translation> +<translation id="8813277370772331957">Keyinroq eslatilsin</translation> <translation id="8813698869395535039"><ph name="USERNAME" /> nomidan kirib bo‘lmadi</translation> <translation id="8813872945700551674">“<ph name="EXTENSION_NAME" />” kengaytmasini oʻrnatish uchun ota-onangizdan ruxsat oling.</translation> <translation id="8813969267212093033">Tizim matni shu tilda chiqadi</translation> @@ -6475,6 +6481,7 @@ <translation id="8838601485495657486">Shaffoflik</translation> <translation id="8838770651474809439">Gamburger</translation> <translation id="883911313571074303">Rasmni izohlash</translation> +<translation id="8841843049738266382">Foydalanuvchilarning oq roʻyxatini oʻqish va tahrirlash</translation> <translation id="8842594465773264717">Bu barmoq izini olib tashlash</translation> <translation id="8845001906332463065">Yordam</translation> <translation id="8846132060409673887">Kompyuter ishlab chiqaruvchisi va modeli haqidagi axborotni olish</translation>
diff --git a/chrome/app/resources/generated_resources_vi.xtb b/chrome/app/resources/generated_resources_vi.xtb index d5d7a77..c53a5183 100644 --- a/chrome/app/resources/generated_resources_vi.xtb +++ b/chrome/app/resources/generated_resources_vi.xtb
@@ -1139,7 +1139,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" /> muốn ghép nối</translation> <translation id="2342740338116612727">Đã thêm dấu trang</translation> <translation id="2343747224442182863">Lấy tiêu điểm thẻ này</translation> -<translation id="2344686470986284227">Đang khởi động bộ điều khiển máy ảo</translation> <translation id="2345723121311404059">1 trang tới <ph name="PRINTER_NAME" /></translation> <translation id="2347644257713614136">Việc sử dụng Hangouts và Cast for Education chịu sự điều chỉnh của Chính sách quyền riêng tư của Google.</translation> <translation id="2348176352564285430">Ứng dụng: <ph name="ARC_PROCESS_NAME" /></translation> @@ -1475,6 +1474,7 @@ <translation id="2731700343119398978">Vui lòng chờ...</translation> <translation id="2731710757838467317">Tạo người dùng được giám sát của bạn. Quá trình này có thể mất ít phút.</translation> <translation id="2731971182069536520">Khi bạn khởi động lại thiết bị vào lần tiếp theo, quản trị viên sẽ tiến hành cập nhật một lần để xóa dữ liệu trên thiết bị của bạn.</translation> +<translation id="2732134891301408122">Nội dung bổ sung <ph name="CURRENT_ELEMENT" />/<ph name="TOTAL_ELEMENTS" /></translation> <translation id="2734760316755174687">Các trang web trong <ph name="SITE_GROUP_NAME" /> cũng sẽ được đặt lại.</translation> <translation id="2735712963799620190">Lịch biểu</translation> <translation id="2737363922397526254">Thu gọn...</translation> @@ -3122,6 +3122,7 @@ <translation id="4735803855089279419">Hệ thống không xác định được mã nhận dạng thiết bị cho thiết bị này.</translation> <translation id="4736292055110123391">Đồng bộ hóa dấu trang, mật khẩu, lịch sử và nhiều nội dung khác trên tất cả các thiết bị của bạn</translation> <translation id="473775607612524610">Cập nhật</translation> +<translation id="473936925429402449">Nội dung bổ sung đã chọn <ph name="CURRENT_ELEMENT" />/<ph name="TOTAL_ELEMENTS" /></translation> <translation id="4739639199548674512">Phiếu</translation> <translation id="4743260470722568160"><ph name="BEGIN_LINK" />Tìm hiểu cách cập nhật ứng dụng<ph name="END_LINK" /></translation> <translation id="4744981231093950366">{NUM_TABS,plural, =1{Bật âm thanh trang web}other{Bật âm thanh các trang web}}</translation> @@ -3965,7 +3966,7 @@ <translation id="5794700615121138172">Thư mục do Linux chia sẻ</translation> <translation id="5794786537412027208">Thoát khỏi tất cả các ứng dụng Chrome</translation> <translation id="5797070761912323120">Google có thể sử dụng lịch sử của bạn để điều chỉnh tính năng Tìm kiếm, quảng cáo và các dịch vụ khác của Google cho phù hợp với bạn</translation> -<translation id="5798301976526354562">Cỡ chữ (Cũng áp dụng cho Phụ đề trực tiếp)</translation> +<translation id="5798301976526354562">Cỡ chữ (Cũng áp dụng cho tính năng Phụ đề trực tiếp)</translation> <translation id="579915268381781820">Khóa bảo mật của bạn đã bị rút ra.</translation> <translation id="5799508265798272974">Máy ảo Linux: <ph name="LINUX_VM_NAME" /></translation> <translation id="5800020978570554460">Tệp đích đã bị cắt bớt hoặc xóa kể từ lần tải xuống cuối cùng.</translation> @@ -4143,6 +4144,7 @@ <translation id="6011449291337289699">Xóa dữ liệu trang web</translation> <translation id="6015266928248016057">PUK không hợp lệ. Bạn còn <ph name="RETRIES" /> lần thử lại.</translation> <translation id="6015796118275082299">Năm</translation> +<translation id="6016178549409952427">Chuyển đến nội dung bổ sung <ph name="CURRENT_ELEMENT" />/<ph name="TOTAL_ELEMENTS" /></translation> <translation id="6016551720757758985">Xác nhận Powerwash quay lại phiên bản trước</translation> <translation id="6016972670657536680">Chọn nút bàn phím và ngôn ngữ. Ngôn ngữ hiện được chọn là <ph name="LANGUAGE" />.</translation> <translation id="6017514345406065928">Xanh lục</translation> @@ -6449,6 +6451,7 @@ <translation id="8811862054141704416">Quyền truy cập vào micrô của Crostini</translation> <translation id="8812552797690463522">Mạng này được chia sẻ với bạn.</translation> <translation id="8812593354822910461">Xóa cả dữ liệu duyệt web (<ph name="URL" />), việc này sẽ khiến bạn bị đăng xuất khỏi <ph name="DOMAIN" />. <ph name="LEARN_MORE" /></translation> +<translation id="8813277370772331957">Nhắc tôi sau</translation> <translation id="8813698869395535039">Không thể đăng nhập vào <ph name="USERNAME" /></translation> <translation id="8813872945700551674">Yêu cầu cha mẹ phê duyệt "<ph name="EXTENSION_NAME" />"</translation> <translation id="8813969267212093033">Văn bản trên hệ thống sẽ hiển thị bằng ngôn ngữ này</translation> @@ -6479,6 +6482,7 @@ <translation id="8838601485495657486">Mờ</translation> <translation id="8838770651474809439">Bánh hamburger</translation> <translation id="883911313571074303">Chú thích hình ảnh</translation> +<translation id="8841843049738266382">Đọc và thay đổi người dùng trong danh sách cho phép</translation> <translation id="8842594465773264717">Xóa vân tay này</translation> <translation id="8845001906332463065">Nhận trợ giúp</translation> <translation id="8846132060409673887">Đọc thông tin về nhà sản xuất và kiểu máy của máy tính này</translation>
diff --git a/chrome/app/resources/generated_resources_zh-CN.xtb b/chrome/app/resources/generated_resources_zh-CN.xtb index 8c61a78c..8d2ea72 100644 --- a/chrome/app/resources/generated_resources_zh-CN.xtb +++ b/chrome/app/resources/generated_resources_zh-CN.xtb
@@ -1136,7 +1136,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" /> 希望与以下所选设备配对:</translation> <translation id="2342740338116612727">书签已添加</translation> <translation id="2343747224442182863">聚焦此标签页</translation> -<translation id="2344686470986284227">正在启动虚拟机控制器</translation> <translation id="2345723121311404059">“<ph name="PRINTER_NAME" />”有 1 个页面需要打印</translation> <translation id="2347644257713614136">使用环聊和 Cast for Education 时须遵守《Google 隐私权政策》。</translation> <translation id="2348176352564285430">应用:<ph name="ARC_PROCESS_NAME" /></translation> @@ -1471,6 +1470,7 @@ <translation id="2731700343119398978">请稍候...</translation> <translation id="2731710757838467317">正在创建您的受监管用户,这可能需要一段时间。</translation> <translation id="2731971182069536520">当您下次重启设备时,您的管理员将会执行一项一次性更新,这项更新会删除您的本地数据。</translation> +<translation id="2732134891301408122">第 <ph name="CURRENT_ELEMENT" /> 项附加内容,共 <ph name="TOTAL_ELEMENTS" /> 项</translation> <translation id="2734760316755174687"><ph name="SITE_GROUP_NAME" /> 下的网站也会重置。</translation> <translation id="2735712963799620190">排定时间</translation> <translation id="2737363922397526254">收起...</translation> @@ -3117,6 +3117,7 @@ <translation id="4735803855089279419">系统未能识别此设备的设备标识符。</translation> <translation id="4736292055110123391">将您的书签、密码、历史记录等信息同步到您的所有设备上</translation> <translation id="473775607612524610">更新</translation> +<translation id="473936925429402449">已选择,第 <ph name="CURRENT_ELEMENT" /> 项附加内容,共 <ph name="TOTAL_ELEMENTS" /> 项</translation> <translation id="4739639199548674512">票据</translation> <translation id="4743260470722568160"><ph name="BEGIN_LINK" />了解如何更新应用<ph name="END_LINK" /></translation> <translation id="4744981231093950366">{NUM_TABS,plural, =1{将这个网站取消静音}other{将这些网站取消静音}}</translation> @@ -4138,6 +4139,7 @@ <translation id="6011449291337289699">清除网站数据</translation> <translation id="6015266928248016057">PUK 无效。剩余重试次数:<ph name="RETRIES" /> 次。</translation> <translation id="6015796118275082299">年</translation> +<translation id="6016178549409952427">转到第 <ph name="CURRENT_ELEMENT" /> 项附加内容,共 <ph name="TOTAL_ELEMENTS" /> 项</translation> <translation id="6016551720757758985">确认 Powerwash 是否将设备还原到之前的版本</translation> <translation id="6016972670657536680">用于选择语言和输入法的按钮。当前选择的语言是“<ph name="LANGUAGE" />”。</translation> <translation id="6017514345406065928">绿色</translation> @@ -6156,7 +6158,7 @@ <translation id="8467326454809944210">选择另一种语言</translation> <translation id="8470214316007448308">其他人</translation> <translation id="8470513973197838199">已保存用于登录 <ph name="ORIGIN" /> 的密码</translation> -<translation id="8471256130228705232"><ph name="DOMAIN" /> 正在停用 ADB 调试。这将在 24 小时过后重置您的 <ph name="DEVICE_TYPE" />。请备份您想保留的所有文件。</translation> +<translation id="8471256130228705232"><ph name="DOMAIN" /> 正在停用 ADB 调试。这将在 24 小时后重置您的 <ph name="DEVICE_TYPE" />。请备份您想保留的所有文件。</translation> <translation id="8472623782143987204">硬件支持</translation> <translation id="8473863474539038330">地址和其他信息</translation> <translation id="8475313423285172237">您计算机上的其他程序添加了一个扩展程序,该扩展程序可能会改变 Chrome 的工作方式。</translation> @@ -6443,6 +6445,7 @@ <translation id="8811862054141704416">Crostini 麦克风使用权限</translation> <translation id="8812552797690463522">已与您共享该网络。</translation> <translation id="8812593354822910461">一并清除浏览数据 (<ph name="URL" />),这会使您在 <ph name="DOMAIN" /> 上退出帐号。<ph name="LEARN_MORE" /></translation> +<translation id="8813277370772331957">稍后提醒我</translation> <translation id="8813698869395535039">无法登录 <ph name="USERNAME" /></translation> <translation id="8813872945700551674">请让家长批准安装“<ph name="EXTENSION_NAME" />”</translation> <translation id="8813969267212093033">系统文字是以这种语言显示的</translation> @@ -6473,6 +6476,7 @@ <translation id="8838601485495657486">不透明</translation> <translation id="8838770651474809439">汉堡</translation> <translation id="883911313571074303">为图片添加注释</translation> +<translation id="8841843049738266382">读取和更改已列入许可名单的用户</translation> <translation id="8842594465773264717">删除此指纹</translation> <translation id="8845001906332463065">获取帮助</translation> <translation id="8846132060409673887">查看此计算机的制造商和型号</translation>
diff --git a/chrome/app/resources/generated_resources_zh-HK.xtb b/chrome/app/resources/generated_resources_zh-HK.xtb index b663ab97..25c9add 100644 --- a/chrome/app/resources/generated_resources_zh-HK.xtb +++ b/chrome/app/resources/generated_resources_zh-HK.xtb
@@ -1139,7 +1139,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" /> 要求與下列藍牙裝置配對</translation> <translation id="2342740338116612727">加咗書籤</translation> <translation id="2343747224442182863">將焦點移至此分頁</translation> -<translation id="2344686470986284227">正在啟動虛擬機器控制器</translation> <translation id="2345723121311404059">將 1 頁傳送至「<ph name="PRINTER_NAME" />」列印</translation> <translation id="2347644257713614136">Hangouts 和 Cast for Education 的使用受《Google 私隱權政策》管限。</translation> <translation id="2348176352564285430">應用程式:<ph name="ARC_PROCESS_NAME" /></translation> @@ -1287,6 +1286,7 @@ <translation id="2505127913256479918">此受監管帳戶即將被移除</translation> <translation id="2505324914378689427">{SCREEN_INDEX,plural, =1{螢幕 #}other{螢幕 #}}</translation> <translation id="2505402373176859469">已收到 <ph name="RECEIVED_AMOUNT" />,共 <ph name="TOTAL_SIZE" /></translation> +<translation id="250642123108534012">您附近已開啟「咫尺共享」的裝置</translation> <translation id="250704661983564564">顯示安排</translation> <translation id="2507253002925770350">已移除票證</translation> <translation id="2507397597949272797">「<ph name="NAME" />」已暫停</translation> @@ -1474,6 +1474,7 @@ <translation id="2731700343119398978">請稍後…</translation> <translation id="2731710757838467317">正在建立受管使用者。這可能需要幾分鐘的時間。</translation> <translation id="2731971182069536520">系統管理員會在您下次重新啟動裝置時執行一次性更新,而此更新會刪除您的本機資料。</translation> +<translation id="2732134891301408122">第 <ph name="CURRENT_ELEMENT" /> 個額外內容,共 <ph name="TOTAL_ELEMENTS" /> 個</translation> <translation id="2734760316755174687">屬於「<ph name="SITE_GROUP_NAME" />」的網站將會重設。</translation> <translation id="2735712963799620190">設定時段</translation> <translation id="2737363922397526254">收合…</translation> @@ -3121,6 +3122,7 @@ <translation id="4735803855089279419">糟糕!系統無法確定此裝置的裝置識別碼。</translation> <translation id="4736292055110123391">將您的書籤、密碼、記錄等資料同步至所有裝置</translation> <translation id="473775607612524610">更新</translation> +<translation id="473936925429402449">已選取,第 <ph name="CURRENT_ELEMENT" /> 個額外內容,共 <ph name="TOTAL_ELEMENTS" /> 個</translation> <translation id="4739639199548674512">票證</translation> <translation id="4743260470722568160"><ph name="BEGIN_LINK" />瞭解如何更新應用程式<ph name="END_LINK" /></translation> <translation id="4744981231093950366">{NUM_TABS,plural, =1{將單一網站取消靜音}other{將多個網站取消靜音}}</translation> @@ -3136,6 +3138,7 @@ <translation id="4762718786438001384">裝置磁碟的儲存空間嚴重不足</translation> <translation id="4763408175235639573">系統在您瀏覽此網頁時已設定下列 Cookie</translation> <translation id="4765582662863429759">允許「Android 訊息」由您的手機轉送短訊至 Chromebook</translation> +<translation id="476598255842811483">除非您在裝置上開啟「咫尺共享」,否則沒有人可與您分享內容</translation> <translation id="4768332406694066911">您具備下列組織的識別憑證</translation> <translation id="477647109558161443">建立桌面捷徑</translation> <translation id="4776917500594043016"><ph name="USER_EMAIL_ADDRESS" /> 的密碼</translation> @@ -4142,6 +4145,7 @@ <translation id="6011449291337289699">清除網站資料</translation> <translation id="6015266928248016057">PUK 無效。剩餘重試次數:<ph name="RETRIES" /> 次。</translation> <translation id="6015796118275082299">年</translation> +<translation id="6016178549409952427">導覽第 <ph name="CURRENT_ELEMENT" /> 個額外內容,共 <ph name="TOTAL_ELEMENTS" /> 個</translation> <translation id="6016551720757758985">確認執行 Powerwash 以重設為上個版本</translation> <translation id="6016972670657536680">選取語言和鍵盤按鈕。目前選取的語言為<ph name="LANGUAGE" />。</translation> <translation id="6017514345406065928">綠色</translation> @@ -5665,6 +5669,7 @@ <translation id="786073089922909430">服務:<ph name="ARC_PROCESS_NAME" /></translation> <translation id="7861215335140947162">下載(&D)</translation> <translation id="7864539943188674973">停用藍牙</translation> +<translation id="7866352732146932341">您的裝置開啟「咫尺共享」時,位處附近的裝置</translation> <translation id="786957569166715433"><ph name="DEVICE_NAME" /> - 已配對</translation> <translation id="7870730066603611552">設定後查看同步選項</translation> <translation id="7870790288828963061">找不到較新版本的 Kiosk 應用程式,無需更新。請移除 USB 記憶體。</translation> @@ -6447,6 +6452,7 @@ <translation id="8811862054141704416">Crostini 的麥克風存取權</translation> <translation id="8812552797690463522">此網絡已經與你共用。</translation> <translation id="8812593354822910461">一併清除瀏覽資料 (<ph name="URL" />) 會將您登出 <ph name="DOMAIN" />。<ph name="LEARN_MORE" /></translation> +<translation id="8813277370772331957">稍後提醒我</translation> <translation id="8813698869395535039">無法登入 <ph name="USERNAME" /></translation> <translation id="8813872945700551674">要求家長核准安裝「<ph name="EXTENSION_NAME" />」</translation> <translation id="8813969267212093033">系統文字會以此語言顯示</translation> @@ -6477,6 +6483,7 @@ <translation id="8838601485495657486">不透明</translation> <translation id="8838770651474809439">漢堡包</translation> <translation id="883911313571074303">為圖片加入註釋</translation> +<translation id="8841843049738266382">讀取及變更許可名單上的使用者</translation> <translation id="8842594465773264717">刪除此指紋</translation> <translation id="8845001906332463065">取得說明</translation> <translation id="8846132060409673887">閱讀此電腦的生產商和型號資訊</translation>
diff --git a/chrome/app/resources/generated_resources_zh-TW.xtb b/chrome/app/resources/generated_resources_zh-TW.xtb index cad10af..46284ff5 100644 --- a/chrome/app/resources/generated_resources_zh-TW.xtb +++ b/chrome/app/resources/generated_resources_zh-TW.xtb
@@ -1139,7 +1139,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" /> 要求配對</translation> <translation id="2342740338116612727">已新增書籤</translation> <translation id="2343747224442182863">將焦點移至這個分頁</translation> -<translation id="2344686470986284227">正在啟動虛擬機器控制器</translation> <translation id="2345723121311404059">將 1 個網頁傳送至「<ph name="PRINTER_NAME" />」列印</translation> <translation id="2347644257713614136">Hangouts 和 Cast for Education 的相關使用行為受到《Google 隱私權政策》所規範。</translation> <translation id="2348176352564285430">應用程式:<ph name="ARC_PROCESS_NAME" /></translation> @@ -1474,6 +1473,7 @@ <translation id="2731700343119398978">請稍候...</translation> <translation id="2731710757838467317">正在建立受監管使用者。這可能需要幾分鐘的時間。</translation> <translation id="2731971182069536520">系統管理員會在你下次重新啟動裝置時執行一次性更新,而這項更新會刪除你的本機資料。</translation> +<translation id="2732134891301408122">第 <ph name="CURRENT_ELEMENT" /> 個額外內容,共 <ph name="TOTAL_ELEMENTS" /> 個</translation> <translation id="2734760316755174687"><ph name="SITE_GROUP_NAME" /> 之下的網站也會進行重設。</translation> <translation id="2735712963799620190">設定時間</translation> <translation id="2737363922397526254">收合...</translation> @@ -3120,6 +3120,7 @@ <translation id="4735803855089279419">系統無法判別這個裝置的裝置識別碼。</translation> <translation id="4736292055110123391">讓你在所有裝置上的書籤、密碼、歷史記錄及其他設定保持同步</translation> <translation id="473775607612524610">更新</translation> +<translation id="473936925429402449">已選取,第 <ph name="CURRENT_ELEMENT" /> 個額外內容,共 <ph name="TOTAL_ELEMENTS" /> 個</translation> <translation id="4739639199548674512">票證</translation> <translation id="4743260470722568160"><ph name="BEGIN_LINK" />瞭解如何更新應用程式<ph name="END_LINK" /></translation> <translation id="4744981231093950366">{NUM_TABS,plural, =1{開啟網站音訊}other{開啟多個網站的音訊}}</translation> @@ -4141,6 +4142,7 @@ <translation id="6011449291337289699">清除網站資料</translation> <translation id="6015266928248016057">PUK 無效。剩餘重試次數:<ph name="RETRIES" /> 次。</translation> <translation id="6015796118275082299">年</translation> +<translation id="6016178549409952427">瀏覽第 <ph name="CURRENT_ELEMENT" /> 個額外內容,共 <ph name="TOTAL_ELEMENTS" /> 個</translation> <translation id="6016551720757758985">確認執行 Powerwash 並還原至上一個版本</translation> <translation id="6016972670657536680">請選取語言和鍵盤按鈕。目前選取的語言為<ph name="LANGUAGE" />。</translation> <translation id="6017514345406065928">綠色</translation> @@ -6446,6 +6448,7 @@ <translation id="8811862054141704416">Crostini 麥克風存取權</translation> <translation id="8812552797690463522">已與你共用這個網路。</translation> <translation id="8812593354822910461">一併清除瀏覽資料 (<ph name="URL" />)。這項操作會將你登出 <ph name="DOMAIN" />。<ph name="LEARN_MORE" /></translation> +<translation id="8813277370772331957">稍後提醒我</translation> <translation id="8813698869395535039">無法登入 <ph name="USERNAME" /></translation> <translation id="8813872945700551674">要求家長核准安裝「<ph name="EXTENSION_NAME" />」</translation> <translation id="8813969267212093033">系統會以這個語言顯示文字</translation> @@ -6476,6 +6479,7 @@ <translation id="8838601485495657486">不透明</translation> <translation id="8838770651474809439">漢堡</translation> <translation id="883911313571074303">為圖片加註</translation> +<translation id="8841843049738266382">讀取及變更列入允許清單的使用者</translation> <translation id="8842594465773264717">刪除這個指紋</translation> <translation id="8845001906332463065">尋求協助</translation> <translation id="8846132060409673887">閱讀這部電腦的製造商和型號資訊</translation>
diff --git a/chrome/app/resources/generated_resources_zu.xtb b/chrome/app/resources/generated_resources_zu.xtb index c438a6f..8c0051c 100644 --- a/chrome/app/resources/generated_resources_zu.xtb +++ b/chrome/app/resources/generated_resources_zu.xtb
@@ -1137,7 +1137,6 @@ <translation id="2340263603246777781"><ph name="ORIGIN" /> ufuna ukubhangqa</translation> <translation id="2342740338116612727">Amabhukhimakhi angeziwe</translation> <translation id="2343747224442182863">Gxilisa le thebhu</translation> -<translation id="2344686470986284227">Kuqalia isilawuli somshini obonakalayo</translation> <translation id="2345723121311404059">1 ikhasi ku-<ph name="PRINTER_NAME" /></translation> <translation id="2347644257713614136">Ukusetshenziswa kwe-Hangouts ne-Cast for Education kubuswa inqubomgmo yobumfihlo ye-Google.</translation> <translation id="2348176352564285430">Uhlelo lokusebenza: <ph name="ARC_PROCESS_NAME" /></translation> @@ -1473,6 +1472,7 @@ <translation id="2731700343119398978">Sicela ulinde...</translation> <translation id="2731710757838467317">Idala umsebenzisi wakho ogadiwe. Lokhu kungathatha izikhathi ezithile.</translation> <translation id="2731971182069536520">Isikhathi esilandelayo lapho uqala kabusha khona idivayisi yakho, umlawuli wakho uzokwenza isibuyekezo sesikhathi esisodwa esizosusa idatha yakho yasendaweni.</translation> +<translation id="2732134891301408122">Okuqukethwe okwengeziwe okungu-<ph name="CURRENT_ELEMENT" /> kokungu-<ph name="TOTAL_ELEMENTS" /></translation> <translation id="2734760316755174687">Amasayithi angaphansi kwe-<ph name="SITE_GROUP_NAME" /> azophinda asethwe kabusha.</translation> <translation id="2735712963799620190">Ishejuli</translation> <translation id="2737363922397526254">Goqa...</translation> @@ -2836,7 +2836,7 @@ <translation id="4390000551125140321">{0,plural, =1{I-Incognito}one{# vula amawindi e-incognito}other{# vula amawindi e-incognito}}</translation> <translation id="439266289085815679">Ukulungiswa kwe-Bluetooth kulawula ngu-<ph name="USER_EMAIL" />.</translation> <translation id="4392896746540753732">Hlela ifayela lokulungiselelwa</translation> -<translation id="4393691030048716353">I-<ph name="DOMAIN" /> ikhubaze ukulungisa amaphutha we-ADB. Ngemva kokuqala kabusha i-<ph name="DEVICE_TYPE" /> yakho, ngeke ukwazi ukulayisha eceleni izinhlelo zakho zokusebenza.</translation> +<translation id="4393691030048716353">I-<ph name="DOMAIN" /> ikhubaze ukulungisa amaphutha e-ADB. Ngemva kokuqala kabusha i-<ph name="DEVICE_TYPE" /> yakho, ngeke ukwazi ukulayisha eceleni izinhlelo zakho zokusebenza.</translation> <translation id="4394049700291259645">Khubaza</translation> <translation id="439817266247065935">Idivayisi yakho ayicishanga ngendlela efanele. Qala kabusha i-Linux ukusebenzisa izinhlelo zokusebenza ze-Linux.</translation> <translation id="4400367121200150367">Amasayithi angalokothi alondoloze amaphasiwedi azovela lapha</translation> @@ -3119,6 +3119,7 @@ <translation id="4735803855089279419">Isistimu ihlulekile ukunquma izikhombi zedivayisi zale divayisi.</translation> <translation id="4736292055110123391">Vumelanisa amabhukhimakhi akho, amaphasiwedi, umlando, nokuningi kuwo wonke amadivayisi akho</translation> <translation id="473775607612524610">Buyekeza</translation> +<translation id="473936925429402449">Kukhethiwe, okuqukethwe okwengeziwe okungu-<ph name="CURRENT_ELEMENT" /> kokungu-<ph name="TOTAL_ELEMENTS" /></translation> <translation id="4739639199548674512">Amathikithi</translation> <translation id="4743260470722568160"><ph name="BEGIN_LINK" />Funda ukuthi ungabuyekeza kanjani izinhlelo zokusebenza<ph name="END_LINK" /></translation> <translation id="4744981231093950366">{NUM_TABS,plural, =1{Susa ukuthula kusayithi}one{Susa ukuthula kumasayithi}other{Susa ukuthula kumasayithi}}</translation> @@ -4143,6 +4144,7 @@ <translation id="6011449291337289699">Sula idatha yesayithi</translation> <translation id="6015266928248016057">I-PUK engavumelekile. Ukuzama kabusha okusele: <ph name="RETRIES" />.</translation> <translation id="6015796118275082299">Unyaka</translation> +<translation id="6016178549409952427">Zulazulela kokuqukethwe okungeziwe okungu-<ph name="CURRENT_ELEMENT" /> kokungu-<ph name="TOTAL_ELEMENTS" /></translation> <translation id="6016551720757758985">Qinisekisa i-Powerwash ngokubuyela kunguqulo yangaphambilini</translation> <translation id="6016972670657536680">Khetha inkinobho yolimi nekhibhodi. Okwamanje ulimi olukhethiwe isi-<ph name="LANGUAGE" />.</translation> <translation id="6017514345406065928">Okuluhlaza</translation> @@ -6448,6 +6450,7 @@ <translation id="8811862054141704416">Ukufinyelela kwemakrofoni ye-Crostini</translation> <translation id="8812552797690463522">Le nethiwekhi yabelenwe nawe.</translation> <translation id="8812593354822910461">Futhi sula idatha yopheqululo (<ph name="URL" />) ezokwenza uphume ngemvume ku-<ph name="DOMAIN" />.<ph name="LEARN_MORE" /></translation> +<translation id="8813277370772331957">Ngikhumbuze ngesinye isikhathi</translation> <translation id="8813698869395535039">Ayikwazi ukungena ngemvume ku-<ph name="USERNAME" /></translation> <translation id="8813872945700551674">Ukuze uthole umzali ozogunyaza i-"<ph name="EXTENSION_NAME" />"</translation> <translation id="8813969267212093033">Umbhalo wesistimu uboniswa ngalolu limi</translation> @@ -6478,6 +6481,7 @@ <translation id="8838601485495657486">I-Opaque</translation> <translation id="8838770651474809439">I-hamburger</translation> <translation id="883911313571074303">Chasisa isithombe</translation> +<translation id="8841843049738266382">Funda futhi ushintshe uhlu lwabasebenzisi abagunyaziwe</translation> <translation id="8842594465773264717">Susa lezi zigxivizo zeminwe</translation> <translation id="8845001906332463065">Thola usizo</translation> <translation id="8846132060409673887">Funda umkhiqizi nemodeli yale khompuyutha</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ky.xtb b/chrome/app/resources/google_chrome_strings_ky.xtb index 29432d1..ff28e58 100644 --- a/chrome/app/resources/google_chrome_strings_ky.xtb +++ b/chrome/app/resources/google_chrome_strings_ky.xtb
@@ -75,7 +75,7 @@ <translation id="2871893339301912279">Chrome'го кирдиңиз!</translation> <translation id="2885378588091291677">Тапшырмаларды башкаргыч</translation> <translation id="2888126860611144412">Chrome тууралуу</translation> -<translation id="2929907241665500097">Chrome жаңыртылган жок. Бир жерден ката кетти. <ph name="BEGIN_LINK" />Chrome'догу жаңыртуу маселелерин оңдоңуз.<ph name="END_LINK" /></translation> +<translation id="2929907241665500097">Chrome жаңырган жок. Бир жерден ката кетти. <ph name="BEGIN_LINK" />Chrome'догу жаңыртуу маселелерин оңдоңуз.<ph name="END_LINK" /></translation> <translation id="2969728957078202736"><ph name="PAGE_TITLE" /> – Тармакка кирүү – Chrome</translation> <translation id="3037838751736561277">Google Chrome фондук режимде.</translation> <translation id="3059710691562604940">Коопсуз серептөө өчүк. Chrome аны күйгүзүүнү сунуштайт.</translation>
diff --git a/chrome/browser/android/media/media_capture_devices_dispatcher_android.cc b/chrome/browser/android/media/media_capture_devices_dispatcher_android.cc index 4c8c116c..4120345 100644 --- a/chrome/browser/android/media/media_capture_devices_dispatcher_android.cc +++ b/chrome/browser/android/media/media_capture_devices_dispatcher_android.cc
@@ -40,7 +40,8 @@ scoped_refptr<MediaStreamCaptureIndicator> indicator = MediaCaptureDevicesDispatcher::GetInstance() ->GetMediaStreamCaptureIndicator(); - return indicator->IsCapturingDesktop(web_contents); + return indicator->IsCapturingWindow(web_contents) || + indicator->IsCapturingDisplay(web_contents); } void JNI_MediaCaptureDevicesDispatcherAndroid_NotifyStopped(
diff --git a/chrome/browser/apps/app_service/app_service_proxy_factory.cc b/chrome/browser/apps/app_service/app_service_proxy_factory.cc index fa37d67..e10286b 100644 --- a/chrome/browser/apps/app_service/app_service_proxy_factory.cc +++ b/chrome/browser/apps/app_service/app_service_proxy_factory.cc
@@ -13,6 +13,7 @@ #include "chrome/browser/web_applications/web_app_provider_factory.h" #include "chrome/common/chrome_features.h" #include "components/keyed_service/content/browser_context_dependency_manager.h" +#include "content/public/common/content_switches.h" #include "extensions/browser/extension_prefs_factory.h" #include "extensions/browser/extension_registry_factory.h" @@ -60,6 +61,9 @@ "whether this is appropriate as you may be leaking information " "out of this profile. Returning the AppServiceProxy attached " "to the parent profile instead."; + // Fail tests that would trigger DumpWithoutCrashing. + DCHECK(!base::CommandLine::ForCurrentProcess()->HasSwitch( + switches::kTestType)); base::debug::DumpWithoutCrashing(); }
diff --git a/chrome/browser/chromeos/extensions/input_method_apitest_chromeos.cc b/chrome/browser/chromeos/extensions/input_method_apitest_chromeos.cc index 465a0fa..eb90f6d 100644 --- a/chrome/browser/chromeos/extensions/input_method_apitest_chromeos.cc +++ b/chrome/browser/chromeos/extensions/input_method_apitest_chromeos.cc
@@ -28,8 +28,8 @@ #include "ui/base/ime/chromeos/extension_ime_util.h" #include "ui/base/ime/chromeos/ime_bridge.h" #include "ui/base/ime/chromeos/input_method_manager.h" +#include "ui/base/ime/chromeos/input_method_allowlist.h" #include "ui/base/ime/chromeos/input_method_util.h" -#include "ui/base/ime/chromeos/input_method_whitelist.h" using chromeos::input_method::InputMethodManager; @@ -63,7 +63,7 @@ // background. InputMethodManager* manager = InputMethodManager::Get(); manager->GetInputMethodUtil()->InitXkbInputMethodsForTesting( - *chromeos::input_method::InputMethodWhitelist() + *chromeos::input_method::InputMethodAllowlist() .GetSupportedInputMethods()); std::vector<std::string> keyboard_layouts;
diff --git a/chrome/browser/chromeos/extensions/printing/printing_api_handler_unittest.cc b/chrome/browser/chromeos/extensions/printing/printing_api_handler_unittest.cc index 98cc282..7c7863c40 100644 --- a/chrome/browser/chromeos/extensions/printing/printing_api_handler_unittest.cc +++ b/chrome/browser/chromeos/extensions/printing/printing_api_handler_unittest.cc
@@ -96,7 +96,7 @@ constexpr char kId3[] = "id3"; constexpr char kName[] = "name"; constexpr char kDescription[] = "description"; -constexpr char kUri[] = "ipp://1.2.3.4/"; +constexpr char kUri[] = "ipp://1.2.3.4"; constexpr int kHorizontalDpi = 300; constexpr int kVerticalDpi = 400; @@ -199,7 +199,7 @@ std::make_unique<printing::PrinterSemanticCapsAndDefaults>(); capabilities->color_model = printing::mojom::ColorModel::kColor; capabilities->duplex_modes.push_back(printing::mojom::DuplexMode::kSimplex); - capabilities->copies_max = 2; + capabilities->copies_max = 5; capabilities->dpis.push_back(gfx::Size(kHorizontalDpi, kVerticalDpi)); printing::PrinterSemanticCapsAndDefaults::Paper paper; paper.vendor_id = kMediaSizeVendorId; @@ -541,7 +541,7 @@ // Mock CUPS wrapper to return predefined status for given printer. printing::PrinterStatus::PrinterReason reason; - reason.reason = printing::PrinterStatus::PrinterReason::MEDIA_EMPTY; + reason.reason = printing::PrinterStatus::PrinterReason::Reason::kMediaEmpty; cups_wrapper_->SetPrinterStatus(kPrinterId, reason); base::RunLoop run_loop;
diff --git a/chrome/browser/chromeos/extensions/printing/printing_api_utils_unittest.cc b/chrome/browser/chromeos/extensions/printing/printing_api_utils_unittest.cc index 50e43ed..258662a 100644 --- a/chrome/browser/chromeos/extensions/printing/printing_api_utils_unittest.cc +++ b/chrome/browser/chromeos/extensions/printing/printing_api_utils_unittest.cc
@@ -100,7 +100,7 @@ printing::PrinterSemanticCapsAndDefaults capabilities; capabilities.color_model = printing::mojom::ColorModel::kColor; capabilities.duplex_modes.push_back(printing::mojom::DuplexMode::kLongEdge); - capabilities.copies_max = 2; + capabilities.copies_max = kCopies; capabilities.dpis.push_back(gfx::Size(kHorizontalDpi, kVerticalDpi)); printing::PrinterSemanticCapsAndDefaults::Paper paper; paper.vendor_id = kMediaSizeVendorId; @@ -193,7 +193,7 @@ std::unique_ptr<printing::PrintSettings> settings = ConstructPrintSettings(); printing::PrinterSemanticCapsAndDefaults capabilities = ConstructPrinterCapabilities(); - capabilities.color_model = printing::UNKNOWN_COLOR_MODEL; + capabilities.color_model = printing::mojom::ColorModel::kUnknownColorModel; EXPECT_FALSE( CheckSettingsAndCapabilitiesCompatibility(*settings, capabilities)); }
diff --git a/chrome/browser/chromeos/file_manager/file_manager_test_util.cc b/chrome/browser/chromeos/file_manager/file_manager_test_util.cc index 4bae4064..bf8db02a 100644 --- a/chrome/browser/chromeos/file_manager/file_manager_test_util.cc +++ b/chrome/browser/chromeos/file_manager/file_manager_test_util.cc
@@ -81,7 +81,7 @@ // That used to be enough to also launch a Browser for the WebApp. However, // since https://crrev.com/c/2121860, ExecuteFileTaskForUrl() goes through the // mojoAppService, so it's necessary to flush those calls for WebApps to open. - apps::AppServiceProxyFactory::GetForProfile(profile_) + apps::AppServiceProxyFactory::GetForProfileRedirectInIncognito(profile_) ->FlushMojoCallsForTesting(); return open_result;
diff --git a/chrome/browser/chromeos/file_manager/file_tasks_browsertest.cc b/chrome/browser/chromeos/file_manager/file_tasks_browsertest.cc index 11993bc2..c45f3ea 100644 --- a/chrome/browser/chromeos/file_manager/file_tasks_browsertest.cc +++ b/chrome/browser/chromeos/file_manager/file_tasks_browsertest.cc
@@ -11,10 +11,10 @@ #include "chrome/browser/chromeos/file_manager/filesystem_api_util.h" #include "chrome/browser/chromeos/file_manager/volume_manager.h" #include "chrome/browser/chromeos/web_applications/default_web_app_ids.h" -#include "chrome/browser/chromeos/web_applications/test/profile_test_helper.h" #include "chrome/browser/profiles/profile.h" #include "chrome/browser/ui/browser.h" #include "chrome/browser/web_applications/system_web_app_manager.h" +#include "chrome/browser/web_applications/test/profile_test_helper.h" #include "chrome/browser/web_applications/web_app_provider.h" #include "chrome/test/base/in_process_browser_test.h" #include "chromeos/constants/chromeos_features.h"
diff --git a/chrome/browser/chromeos/input_method/mock_input_method_manager_impl.h b/chrome/browser/chromeos/input_method/mock_input_method_manager_impl.h index 31516da..de84f5e 100644 --- a/chrome/browser/chromeos/input_method/mock_input_method_manager_impl.h +++ b/chrome/browser/chromeos/input_method/mock_input_method_manager_impl.h
@@ -12,7 +12,7 @@ #include "ui/base/ime/chromeos/fake_ime_keyboard.h" #include "ui/base/ime/chromeos/fake_input_method_delegate.h" #include "ui/base/ime/chromeos/input_method_manager.h" -#include "ui/base/ime/chromeos/input_method_whitelist.h" +#include "ui/base/ime/chromeos/input_method_allowlist.h" #include "ui/base/ime/chromeos/mock_input_method_manager.h" namespace chromeos {
diff --git a/chrome/browser/chromeos/login/oobe_localization_browsertest.cc b/chrome/browser/chromeos/login/oobe_localization_browsertest.cc index 427c6ceb..48831db 100644 --- a/chrome/browser/chromeos/login/oobe_localization_browsertest.cc +++ b/chrome/browser/chromeos/login/oobe_localization_browsertest.cc
@@ -35,7 +35,7 @@ #include "ui/base/ime/chromeos/extension_ime_util.h" #include "ui/base/ime/chromeos/input_method_manager.h" #include "ui/base/ime/chromeos/input_method_util.h" -#include "ui/base/ime/chromeos/input_method_whitelist.h" +#include "ui/base/ime/chromeos/input_method_allowlist.h" namespace base { class TaskRunner;
diff --git a/chrome/browser/chromeos/preferences_unittest.cc b/chrome/browser/chromeos/preferences_unittest.cc index 3370e56..7aa0d25 100644 --- a/chrome/browser/chromeos/preferences_unittest.cc +++ b/chrome/browser/chromeos/preferences_unittest.cc
@@ -38,7 +38,7 @@ #include "content/public/test/test_utils.h" #include "testing/gtest/include/gtest/gtest.h" #include "ui/base/ime/chromeos/extension_ime_util.h" -#include "ui/base/ime/chromeos/input_method_whitelist.h" +#include "ui/base/ime/chromeos/input_method_allowlist.h" #include "ui/base/ime/chromeos/mock_component_extension_ime_manager_delegate.h" #include "url/gurl.h" @@ -128,7 +128,7 @@ std::unique_ptr<InputMethodDescriptors> GetSupportedInputMethods() const override { - return whitelist_.GetSupportedInputMethods(); + return allowlist_.GetSupportedInputMethods(); } std::string last_input_method_id_; @@ -136,7 +136,7 @@ private: StringPrefMember* previous_; StringPrefMember* current_; - InputMethodWhitelist whitelist_; + InputMethodAllowlist allowlist_; }; } // anonymous namespace
diff --git a/chrome/browser/chromeos/web_applications/help_app_integration_browsertest.cc b/chrome/browser/chromeos/web_applications/help_app_integration_browsertest.cc index c8ffc3adb..1de58c1b 100644 --- a/chrome/browser/chromeos/web_applications/help_app_integration_browsertest.cc +++ b/chrome/browser/chromeos/web_applications/help_app_integration_browsertest.cc
@@ -52,6 +52,8 @@ base::test::ScopedFeatureList scoped_feature_list_; }; +using HelpAppAllProfilesIntegrationTest = HelpAppIntegrationTest; + // Waits for and expects that the correct url is opened. void WaitForAppToOpen(const GURL& expected_url) { // Start with a number of browsers (may include an incognito browser). @@ -149,17 +151,15 @@ EXPECT_EQ(1, user_action_tester.GetActionCount("Discover.Help.TabClicked")); } -// Test that the Help App shortcut doesn't crash an incognito browser. -IN_PROC_BROWSER_TEST_P(HelpAppIntegrationTest, HelpAppV2Incognito) { +IN_PROC_BROWSER_TEST_P(HelpAppAllProfilesIntegrationTest, HelpAppV2ShowHelp) { WaitForTestSystemAppInstall(); - chrome::ShowHelp(CreateIncognitoBrowser(), chrome::HELP_SOURCE_KEYBOARD); + chrome::ShowHelp(browser(), chrome::HELP_SOURCE_KEYBOARD); #if defined(OS_CHROMEOS) && BUILDFLAG(GOOGLE_CHROME_BRANDING) EXPECT_NO_FATAL_FAILURE(WaitForAppToOpen(GURL("chrome://help-app/"))); #else - // We just have 2 browsers, the incognito and regular. Navigates chrome. - EXPECT_EQ(2u, chrome::GetTotalBrowserCount()); + EXPECT_EQ(1u, chrome::GetTotalBrowserCount()); EXPECT_EQ(GURL(chrome::kChromeHelpViaKeyboardURL), chrome::FindLastActive() ->tab_strip_model() @@ -170,7 +170,8 @@ // Test that launching the Help App's release notes opens the app on the Release // Notes page. -IN_PROC_BROWSER_TEST_P(HelpAppIntegrationTest, HelpAppV2LaunchReleaseNotes) { +IN_PROC_BROWSER_TEST_P(HelpAppAllProfilesIntegrationTest, + HelpAppV2LaunchReleaseNotes) { WaitForTestSystemAppInstall(); // There should be 1 browser window initially. @@ -220,22 +221,6 @@ #endif } -// Test that launching the Help App's release notes doesn't crash an incognito -// browser. -IN_PROC_BROWSER_TEST_P(HelpAppIntegrationTest, HelpAppV2ReleaseNotesIncognito) { - WaitForTestSystemAppInstall(); - - chrome::LaunchReleaseNotes(CreateIncognitoBrowser()->profile(), - apps::mojom::LaunchSource::kFromOtherApp); - -#if defined(OS_CHROMEOS) && BUILDFLAG(GOOGLE_CHROME_BRANDING) - EXPECT_NO_FATAL_FAILURE(WaitForAppToOpen(GURL("chrome://help-app/updates"))); -#else - // We just have 2 browsers, the incognito and regular. No new app opens. - EXPECT_EQ(2u, chrome::GetTotalBrowserCount()); -#endif -} - // Test that clicking the release notes notification opens Help App. IN_PROC_BROWSER_TEST_P(HelpAppIntegrationTest, HelpAppV2LaunchReleaseNotesFromNotification) { @@ -348,7 +333,7 @@ } // Test that the Help App opens when Gesture help requested. -IN_PROC_BROWSER_TEST_P(HelpAppIntegrationTest, HelpAppOpenGestures) { +IN_PROC_BROWSER_TEST_P(HelpAppAllProfilesIntegrationTest, HelpAppOpenGestures) { WaitForTestSystemAppInstall(); base::HistogramTester histogram_tester; @@ -401,63 +386,6 @@ INSTANTIATE_SYSTEM_WEB_APP_MANAGER_TEST_SUITE_MANIFEST_INSTALL_P( HelpAppIntegrationTest); -class HelpAppGuestSessionIntegrationTest : public HelpAppIntegrationTest { - protected: - void SetUpCommandLine(base::CommandLine* command_line) override { - command_line->AppendSwitch(chromeos::switches::kGuestSession); - command_line->AppendSwitch(::switches::kIncognito); - command_line->AppendSwitchASCII(chromeos::switches::kLoginProfile, "hash"); - command_line->AppendSwitchASCII( - chromeos::switches::kLoginUser, - user_manager::GuestAccountId().GetUserEmail()); - } -}; - -// Test that the Help App shortcut doesn't crash in guest mode. -IN_PROC_BROWSER_TEST_P(HelpAppGuestSessionIntegrationTest, HelpAppShowHelp) { - WaitForTestSystemAppInstall(); - - chrome::ShowHelp(browser(), chrome::HELP_SOURCE_KEYBOARD); - -#if defined(OS_CHROMEOS) && BUILDFLAG(GOOGLE_CHROME_BRANDING) - EXPECT_NO_FATAL_FAILURE(WaitForAppToOpen(GURL("chrome://help-app/"))); -#else - // No new app should open on non-branded builds. Navigates chrome. - EXPECT_EQ(1u, chrome::GetTotalBrowserCount()); - EXPECT_EQ(GURL(chrome::kChromeHelpViaKeyboardURL), - chrome::FindLastActive() - ->tab_strip_model() - ->GetActiveWebContents() - ->GetVisibleURL()); -#endif -} - -// Test that the Help App release notes entry point doesn't crash in guest mode. -IN_PROC_BROWSER_TEST_P(HelpAppGuestSessionIntegrationTest, - HelpAppLaunchReleaseNotes) { - WaitForTestSystemAppInstall(); - - chrome::LaunchReleaseNotes(profile(), - apps::mojom::LaunchSource::kFromOtherApp); - -#if defined(OS_CHROMEOS) && BUILDFLAG(GOOGLE_CHROME_BRANDING) - EXPECT_NO_FATAL_FAILURE(WaitForAppToOpen(GURL("chrome://help-app/updates"))); -#else - // Nothing should happen on non-branded builds. - EXPECT_EQ(1u, chrome::GetTotalBrowserCount()); -#endif -} - -// Test that Gesture help works in guest mode. -IN_PROC_BROWSER_TEST_P(HelpAppGuestSessionIntegrationTest, - HelpAppOpenGestures) { - WaitForTestSystemAppInstall(); - - SystemTrayClient::Get()->ShowGestureEducationHelp(); - - EXPECT_NO_FATAL_FAILURE( - WaitForAppToOpen(GURL("chrome://help-app/help/sub/3399710/id/9739838"))); -} - -INSTANTIATE_SYSTEM_WEB_APP_MANAGER_TEST_SUITE_MANIFEST_INSTALL_P( - HelpAppGuestSessionIntegrationTest); +INSTANTIATE_SYSTEM_WEB_APP_MANAGER_TEST_SUITE_ALL_PROFILE_TYPES_P( + HelpAppAllProfilesIntegrationTest, + kManifestInstall);
diff --git a/chrome/browser/chromeos/web_applications/media_app_integration_browsertest.cc b/chrome/browser/chromeos/web_applications/media_app_integration_browsertest.cc index aaca4c39..c635c0f 100644 --- a/chrome/browser/chromeos/web_applications/media_app_integration_browsertest.cc +++ b/chrome/browser/chromeos/web_applications/media_app_integration_browsertest.cc
@@ -76,6 +76,10 @@ } }; +using MediaAppIntegrationAllProfilesTest = MediaAppIntegrationTest; +using MediaAppIntegrationWithFilesAppAllProfilesTest = + MediaAppIntegrationWithFilesAppTest; + // Gets the base::FilePath for a named file in the test folder. base::FilePath TestFile(const std::string& ascii_name) { base::FilePath path; @@ -170,7 +174,8 @@ // Ensures that chrome://media-app is available as a file task for the ChromeOS // file manager and eligible for opening appropriate files / mime types. -IN_PROC_BROWSER_TEST_P(MediaAppIntegrationTest, MediaAppEligibleOpenTask) { +IN_PROC_BROWSER_TEST_P(MediaAppIntegrationAllProfilesTest, + MediaAppEligibleOpenTask) { constexpr bool kIsDirectory = false; const extensions::EntryInfo image_entry(TestFile(kFilePng800x600), "image/png", kIsDirectory); @@ -200,7 +205,8 @@ } } -IN_PROC_BROWSER_TEST_P(MediaAppIntegrationTest, HiddenInLauncherAndSearch) { +IN_PROC_BROWSER_TEST_P(MediaAppIntegrationAllProfilesTest, + HiddenInLauncherAndSearch) { WaitForTestSystemAppInstall(); // Check system_web_app_manager has the correct attributes for Media App. @@ -332,7 +338,7 @@ // End-to-end test to ensure that the MediaApp successfully registers as a file // handler with the ChromeOS file manager on startup and acts as the default // handler for a given file. -IN_PROC_BROWSER_TEST_P(MediaAppIntegrationWithFilesAppTest, +IN_PROC_BROWSER_TEST_P(MediaAppIntegrationWithFilesAppAllProfilesTest, FileOpenUsesMediaApp) { WaitForTestSystemAppInstall(); Browser* test_browser = chrome::FindBrowserWithActiveWindow(); @@ -359,7 +365,7 @@ // Test that the MediaApp can navigate other files in the directory of a file // that was opened, even if those files have changed since launch. -IN_PROC_BROWSER_TEST_P(MediaAppIntegrationWithFilesAppTest, +IN_PROC_BROWSER_TEST_P(MediaAppIntegrationWithFilesAppAllProfilesTest, FileOpenCanTraverseDirectory) { WaitForTestSystemAppInstall(); @@ -419,7 +425,8 @@ } // Integration test for rename using the WritableFileSystem and Streams APIs. -IN_PROC_BROWSER_TEST_P(MediaAppIntegrationWithFilesAppTest, RenameFile) { +IN_PROC_BROWSER_TEST_P(MediaAppIntegrationWithFilesAppAllProfilesTest, + RenameFile) { WaitForTestSystemAppInstall(); file_manager::test::FolderInMyFiles folder(profile()); @@ -456,5 +463,14 @@ INSTANTIATE_SYSTEM_WEB_APP_MANAGER_TEST_SUITE_WEB_APP_INFO_INSTALL_P( MediaAppIntegrationTest); -INSTANTIATE_SYSTEM_WEB_APP_MANAGER_TEST_SUITE_WEB_APP_INFO_INSTALL_P( - MediaAppIntegrationWithFilesAppTest); +INSTANTIATE_SYSTEM_WEB_APP_MANAGER_TEST_SUITE_ALL_PROFILE_TYPES_P( + MediaAppIntegrationAllProfilesTest, + kWebAppInfoInstall); + +// Note: All MediaAppIntegrationWithFilesAppTest cases above currently want +// coverage for all profile types, so the "less" prarameterized prefix is not +// instantiated to avoid a gtest warning. + +INSTANTIATE_SYSTEM_WEB_APP_MANAGER_TEST_SUITE_ALL_PROFILE_TYPES_P( + MediaAppIntegrationWithFilesAppAllProfilesTest, + kWebAppInfoInstall);
diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/DownloadDialogBridge.java b/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/DownloadDialogBridge.java index 27bd233..140d434 100644 --- a/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/DownloadDialogBridge.java +++ b/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/DownloadDialogBridge.java
@@ -12,6 +12,7 @@ import org.chromium.chrome.browser.download.DownloadLaterMetrics.DownloadLaterUiEvent; import org.chromium.chrome.browser.download.dialogs.DownloadDateTimePickerDialog; import org.chromium.chrome.browser.download.dialogs.DownloadDateTimePickerDialogImpl; +import org.chromium.chrome.browser.download.dialogs.DownloadDialogUtils; import org.chromium.chrome.browser.download.dialogs.DownloadLaterDialogChoice; import org.chromium.chrome.browser.download.dialogs.DownloadLaterDialogController; import org.chromium.chrome.browser.download.dialogs.DownloadLaterDialogCoordinator; @@ -105,8 +106,17 @@ mShowEditLocation = (dirs != null && dirs.size() > 1); ModalDialogManager modalDialogManager = ((ModalDialogManagerHolder) activity).getModalDialogManager(); - showDialog(activity, modalDialogManager, getPrefService(), totalBytes, dialogType, - suggestedPath, supportsLaterDialog); + + // Suggests an alternative download location. + @DownloadLocationDialogType + int suggestedDialogType = dialogType; + if (ChromeFeatureList.isEnabled(ChromeFeatureList.SMART_SUGGESTION_FOR_LARGE_DOWNLOADS) + && DownloadDialogUtils.shouldSuggestDownloadLocation(dirs, totalBytes)) { + suggestedDialogType = DownloadLocationDialogType.LOCATION_SUGGESTION; + } + + showDialog(activity, modalDialogManager, getPrefService(), totalBytes, + suggestedDialogType, suggestedPath, supportsLaterDialog); }); }
diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadDialogUtils.java b/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadDialogUtils.java index 7787c49..bc2a668 100644 --- a/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadDialogUtils.java +++ b/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadDialogUtils.java
@@ -4,13 +4,20 @@ package org.chromium.chrome.browser.download.dialogs; +import org.chromium.chrome.browser.download.DirectoryOption; +import org.chromium.chrome.browser.download.DownloadDialogBridge; import org.chromium.ui.modelutil.PropertyModel; import org.chromium.ui.modelutil.PropertyModel.ReadableObjectPropertyKey; +import java.util.ArrayList; + /** * Utility functions used in download dialogs. */ public class DownloadDialogUtils { + // The threshold to determine if a location suggestion is triggered. + private static final double LOCATION_SUGGESTION_THRESHOLD = 0.05; + /** * Returns a long value from property model, or a default value. * @param model The model that contains the data. @@ -23,5 +30,27 @@ return (value != null) ? value : defaultValue; } + /** + * Returns whether the download location suggestion dialog should be prompted. + * @param dirs The available directories. + * @param totalBytes The download size. + */ + public static boolean shouldSuggestDownloadLocation( + ArrayList<DirectoryOption> dirs, long totalBytes) { + // Return false if totalBytes is unknown. + if (totalBytes <= 0) return false; + + String defaultLocation = DownloadDialogBridge.getDownloadDefaultDirectory(); + boolean shouldSuggestDownloadLocation = false; + for (DirectoryOption dir : dirs) { + double spaceLeft = (double) (dir.availableSpace - totalBytes) / dir.totalSpace; + // If not enough space, skip. + if (spaceLeft < LOCATION_SUGGESTION_THRESHOLD) continue; + if (defaultLocation.equals(dir.location)) return false; + shouldSuggestDownloadLocation = true; + } + return shouldSuggestDownloadLocation; + } + private DownloadDialogUtils() {} }
diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationCustomView.java b/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationCustomView.java index 07e1659..2ca6f97e 100644 --- a/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationCustomView.java +++ b/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationCustomView.java
@@ -42,6 +42,7 @@ private Spinner mFileLocation; private CheckBox mDontShowAgain; private @DownloadLocationDialogType int mDialogType; + private long mTotalBytes; public DownloadLocationCustomView(Context context, AttributeSet attrs) { super(context, attrs); @@ -71,6 +72,8 @@ mFileName.setText(suggestedPath.getName()); mTitle.setText(title); + mTotalBytes = totalBytes; + switch (dialogType) { case DownloadLocationDialogType.DEFAULT: // Show a file size subtitle if file size is available. @@ -106,7 +109,8 @@ case DownloadLocationDialogType.LOCATION_SUGGESTION: // TODO(vuhung): Add download and storage info to subtitle. // Right now this subtitle is just a placeholder. - mSubtitleView.setText(DownloadUtils.getStringForBytes(getContext(), totalBytes)); + // Putting name too long subtitle here to differentiate with default dialog. + mSubtitleView.setText(R.string.download_location_name_too_long); break; } @@ -156,6 +160,9 @@ || mDialogType == DownloadLocationDialogType.LOCATION_NOT_FOUND) { selectedItemId = mDirectoryAdapter.useFirstValidSelectableItemId(); } + if (mDialogType == DownloadLocationDialogType.LOCATION_SUGGESTION) { + selectedItemId = mDirectoryAdapter.useSuggestedItemId(mTotalBytes); + } mFileLocation.setAdapter(mDirectoryAdapter); mFileLocation.setSelection(selectedItemId);
diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/settings/DownloadDirectoryAdapter.java b/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/settings/DownloadDirectoryAdapter.java index 42ae4fb..dee91d7 100644 --- a/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/settings/DownloadDirectoryAdapter.java +++ b/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/settings/DownloadDirectoryAdapter.java
@@ -204,6 +204,41 @@ return 0; } + /** + * Get the ID of the suggested item based on total bytes and threshold. + * @param totalBytes The total bytes of the download file. + * @return ID of the suggested item and the new default location. + */ + public int useSuggestedItemId(long totalBytes) { + double maxSpaceLeft = 0; + int suggestedId = NO_SELECTED_ITEM_ID; + String defaultLocation = DownloadDialogBridge.getDownloadDefaultDirectory(); + + for (int i = 0; i < getCount(); i++) { + DirectoryOption option = (DirectoryOption) getItem(i); + if (option == null) continue; + if (defaultLocation.equals(option.location)) continue; + + double spaceLeft = (double) (option.availableSpace - totalBytes) / option.totalSpace; + // If a larger storage is found, mark it as the suggested option. + if (spaceLeft > maxSpaceLeft) { + maxSpaceLeft = spaceLeft; + suggestedId = i; + } + } + + // If there is a suggested option, set it as default directory and return its position. + if (suggestedId != NO_SELECTED_ITEM_ID) { + DirectoryOption suggestedOption = (DirectoryOption) getItem(suggestedId); + mSelectedPosition = suggestedId; + return suggestedId; + } + + // Display an option that says there are no available download locations. + adjustErrorDirectoryOption(); + return 0; + } + boolean hasAvailableLocations() { return mErrorOptions.isEmpty(); }
diff --git a/chrome/browser/download/chrome_download_manager_delegate.cc b/chrome/browser/download/chrome_download_manager_delegate.cc index 7c8c862..4c71f5308 100644 --- a/chrome/browser/download/chrome_download_manager_delegate.cc +++ b/chrome/browser/download/chrome_download_manager_delegate.cc
@@ -973,13 +973,6 @@ DownloadLocationDialogType dialog_type = DownloadLocationDialogType::DEFAULT; - // Suggests an alternative location. - // TODO(vuhung): Conditions checking will be added in next CL. - if (base::FeatureList::IsEnabled( - download::features::kSmartSuggestionForLargeDownloads)) { - dialog_type = DownloadLocationDialogType::LOCATION_SUGGESTION; - } - switch (reason) { case DownloadConfirmationReason::TARGET_NO_SPACE: dialog_type = DownloadLocationDialogType::LOCATION_FULL;
diff --git a/chrome/browser/extensions/api/file_system/file_system_apitest_chromeos.cc b/chrome/browser/extensions/api/file_system/file_system_apitest_chromeos.cc index 9ee993c..61e97d9 100644 --- a/chrome/browser/extensions/api/file_system/file_system_apitest_chromeos.cc +++ b/chrome/browser/extensions/api/file_system/file_system_apitest_chromeos.cc
@@ -381,16 +381,8 @@ << message_; } -#if defined(ADDRESS_SANITIZER) -// Flaky when run under ASan: crbug.com/499233. -#define MAYBE_FileSystemApiOpenDirectoryWithWriteTest \ - DISABLED_FileSystemApiOpenDirectoryWithWriteTest -#else -#define MAYBE_FileSystemApiOpenDirectoryWithWriteTest \ - FileSystemApiOpenDirectoryWithWriteTest -#endif IN_PROC_BROWSER_TEST_F(FileSystemApiTestForDrive, - MAYBE_FileSystemApiOpenDirectoryWithWriteTest) { + FileSystemApiOpenDirectoryWithWriteTest) { base::FilePath test_directory = GetDriveMountPoint().AppendASCII("root/subdir"); FileSystemChooseEntryFunction::SkipPickerAndAlwaysSelectPathForTest(
diff --git a/chrome/browser/extensions/api/language_settings_private/language_settings_private_api.cc b/chrome/browser/extensions/api/language_settings_private/language_settings_private_api.cc index d7108a5..96c5a377 100644 --- a/chrome/browser/extensions/api/language_settings_private/language_settings_private_api.cc +++ b/chrome/browser/extensions/api/language_settings_private/language_settings_private_api.cc
@@ -190,6 +190,17 @@ return ime_list; } +std::vector<std::string> GetInputMethodTags( + language_settings_private::InputMethod* input_method) { + std::vector<std::string> tags = {input_method->display_name}; + const std::string app_locale = g_browser_process->GetApplicationLocale(); + for (const auto& language_code : input_method->language_codes) { + tags.push_back(base::UTF16ToUTF8(l10n_util::GetDisplayNameForLocale( + language_code, app_locale, /*is_for_ui=*/true))); + } + return tags; +} + } // namespace #endif // defined(OS_CHROMEOS) @@ -620,6 +631,7 @@ input_method.id = descriptor.id(); input_method.display_name = util->GetLocalizedDisplayName(descriptor); input_method.language_codes = descriptor.language_codes(); + input_method.tags = GetInputMethodTags(&input_method); if (active_ids.count(input_method.id) > 0) input_method.enabled.reset(new bool(true)); if (descriptor.options_page_url().is_valid())
diff --git a/chrome/browser/extensions/api/language_settings_private/language_settings_private_api_unittest.cc b/chrome/browser/extensions/api/language_settings_private/language_settings_private_api_unittest.cc index e073c83c..bb6eff28 100644 --- a/chrome/browser/extensions/api/language_settings_private/language_settings_private_api_unittest.cc +++ b/chrome/browser/extensions/api/language_settings_private/language_settings_private_api_unittest.cc
@@ -28,10 +28,13 @@ #include "extensions/browser/extension_prefs.h" #if defined(OS_CHROMEOS) +#include "ui/base/ime/chromeos/component_extension_ime_manager.h" #include "ui/base/ime/chromeos/extension_ime_util.h" #include "ui/base/ime/chromeos/fake_input_method_delegate.h" #include "ui/base/ime/chromeos/input_method_util.h" +#include "ui/base/ime/chromeos/mock_component_extension_ime_manager_delegate.h" #include "ui/base/ime/chromeos/mock_input_method_manager.h" +#include "ui/base/l10n/l10n_util.h" #endif namespace extensions { @@ -331,17 +334,17 @@ TestState() { // Set up three IMEs std::vector<std::string> layouts({"us"}); - std::vector<std::string> languages({"en-US"}); + std::vector<std::string> languages({"en-US", "en"}); std::vector<std::string> arc_languages( {chromeos::extension_ime_util::kArcImeLanguage}); InputMethodDescriptor extension_ime( - GetExtensionImeId(), "", "", layouts, languages, + GetExtensionImeId(), "ExtensionIme", "", layouts, languages, false /* is_login_keyboard */, GURL(), GURL()); InputMethodDescriptor component_extension_ime( - GetComponentExtensionImeId(), "", "", layouts, languages, - false /* is_login_keyboard */, GURL(), GURL()); + GetComponentExtensionImeId(), "ComponentExtensionIme", "", layouts, + languages, false /* is_login_keyboard */, GURL(), GURL()); InputMethodDescriptor arc_ime( - GetArcImeId(), "", "", layouts, arc_languages, + GetArcImeId(), "ArcIme", "", layouts, arc_languages, false /* is_login_keyboard */, GURL(), GURL()); input_methods_ = {extension_ime, component_extension_ime, arc_ime}; } @@ -363,6 +366,11 @@ TestInputMethodManager() : state_(new TestState), util_(&delegate_) { util_.AppendInputMethods(state_->input_methods_); + mock_delegate_ = + new chromeos::input_method::MockComponentExtIMEManagerDelegate(); + component_ext_mgr_ = + std::make_unique<chromeos::ComponentExtensionIMEManager>(); + component_ext_mgr_->Initialize(base::WrapUnique(mock_delegate_)); } scoped_refptr<InputMethodManager::State> GetActiveIMEState() override { @@ -373,16 +381,74 @@ return &util_; } + chromeos::ComponentExtensionIMEManager* GetComponentExtensionIMEManager() + override { + return component_ext_mgr_.get(); + } + private: scoped_refptr<TestState> state_; input_method::FakeInputMethodDelegate delegate_; input_method::InputMethodUtil util_; + std::unique_ptr<chromeos::ComponentExtensionIMEManager> component_ext_mgr_; + chromeos::input_method::MockComponentExtIMEManagerDelegate* mock_delegate_; DISALLOW_COPY_AND_ASSIGN(TestInputMethodManager); }; } // namespace +TEST_F(LanguageSettingsPrivateApiTest, GetInputMethodListsTest) { + TestInputMethodManager::Initialize(new TestInputMethodManager); + + // Initialize relevant prefs. + StringPrefMember enabled_imes; + enabled_imes.Init(prefs::kLanguageEnabledImes, profile()->GetPrefs()); + StringPrefMember preload_engines; + preload_engines.Init(prefs::kLanguagePreloadEngines, profile()->GetPrefs()); + + enabled_imes.SetValue( + base::JoinString({GetExtensionImeId(), GetArcImeId()}, ",")); + preload_engines.SetValue(GetComponentExtensionImeId()); + + auto function = base::MakeRefCounted< + LanguageSettingsPrivateGetInputMethodListsFunction>(); + std::unique_ptr<base::Value> result = + api_test_utils::RunFunctionAndReturnSingleResult(function.get(), "[]", + profile()); + + ASSERT_NE(nullptr, result) << function->GetError(); + EXPECT_TRUE(result->is_dict()); + + base::Value* input_methods = result->FindListKey("thirdPartyExtensionImes"); + ASSERT_NE(input_methods, nullptr); + EXPECT_EQ(3u, input_methods->GetList().size()); + + for (auto& input_method : input_methods->GetList()) { + base::Value* ime_tags_ptr = input_method.FindListKey("tags"); + ASSERT_NE(nullptr, ime_tags_ptr); + + // Check tags contain input method's display name + base::Value* ime_name_ptr = input_method.FindKey("displayName"); + EXPECT_TRUE(base::Contains(ime_tags_ptr->GetList(), *ime_name_ptr)); + + // Check tags contain input method's language codes' display names + base::Value* ime_language_codes_ptr = + input_method.FindListKey("languageCodes"); + ASSERT_NE(nullptr, ime_language_codes_ptr); + for (auto& language_code : ime_language_codes_ptr->GetList()) { + std::string language_display_name = + base::UTF16ToUTF8(l10n_util::GetDisplayNameForLocale( + language_code.GetString(), "en", true)); + if (!language_display_name.empty()) + EXPECT_TRUE(base::Contains(ime_tags_ptr->GetList(), + base::Value(language_display_name))); + } + } + + TestInputMethodManager::Shutdown(); +} + TEST_F(LanguageSettingsPrivateApiTest, AddInputMethodTest) { TestInputMethodManager::Initialize(new TestInputMethodManager);
diff --git a/chrome/browser/extensions/api/passwords_private/password_check_delegate.cc b/chrome/browser/extensions/api/passwords_private/password_check_delegate.cc index 1def91d6..53ea90b 100644 --- a/chrome/browser/extensions/api/passwords_private/password_check_delegate.cc +++ b/chrome/browser/extensions/api/passwords_private/password_check_delegate.cc
@@ -253,20 +253,20 @@ PasswordCheckDelegate::~PasswordCheckDelegate() = default; -std::vector<api::passwords_private::CompromisedCredential> +std::vector<api::passwords_private::InsecureCredential> PasswordCheckDelegate::GetCompromisedCredentials() { std::vector<CompromisedCredentialAndType> ordered_compromised_credential_and_types = OrderCompromisedCredentials( insecure_credentials_manager_.GetCompromisedCredentials()); - std::vector<api::passwords_private::CompromisedCredential> + std::vector<api::passwords_private::InsecureCredential> compromised_credentials; compromised_credentials.reserve( ordered_compromised_credential_and_types.size()); for (const auto& credential_and_type : ordered_compromised_credential_and_types) { const auto& credential = credential_and_type.credential; - api::passwords_private::CompromisedCredential api_credential; + api::passwords_private::InsecureCredential api_credential; auto facet = password_manager::FacetURI::FromPotentiallyInvalidSpec( credential.signon_realm); if (facet.IsValidAndroidFacetURI()) { @@ -310,20 +310,22 @@ insecure_credential_id_generator_.GenerateId(credential); api_credential.signon_realm = credential.signon_realm; api_credential.username = base::UTF16ToUTF8(credential.username); - api_credential.compromise_time = + api_credential.compromised_info = + std::make_unique<api::passwords_private::CompromisedInfo>(); + api_credential.compromised_info->compromise_time = credential.create_time.ToJsTimeIgnoringNull(); - api_credential.compromise_type = credential_and_type.type; - api_credential.elapsed_time_since_compromise = + api_credential.compromised_info->elapsed_time_since_compromise = FormatElapsedTime(credential.create_time); + api_credential.compromised_info->compromise_type = credential_and_type.type; compromised_credentials.push_back(std::move(api_credential)); } return compromised_credentials; } -base::Optional<api::passwords_private::CompromisedCredential> +base::Optional<api::passwords_private::InsecureCredential> PasswordCheckDelegate::GetPlaintextCompromisedPassword( - api::passwords_private::CompromisedCredential credential) const { + api::passwords_private::InsecureCredential credential) const { const CredentialWithPassword* compromised_credential = FindMatchingCompromisedCredential(credential); if (!compromised_credential) @@ -335,7 +337,7 @@ } bool PasswordCheckDelegate::ChangeCompromisedCredential( - const api::passwords_private::CompromisedCredential& credential, + const api::passwords_private::InsecureCredential& credential, base::StringPiece new_password) { // Try to obtain the original CredentialWithPassword. Return false if fails. const CredentialWithPassword* compromised_credential = @@ -348,7 +350,7 @@ } bool PasswordCheckDelegate::RemoveCompromisedCredential( - const api::passwords_private::CompromisedCredential& credential) { + const api::passwords_private::InsecureCredential& credential) { // Try to obtain the original CredentialWithPassword. Return false if fails. const CredentialWithPassword* compromised_credential = FindMatchingCompromisedCredential(credential); @@ -516,7 +518,7 @@ const CredentialWithPassword* PasswordCheckDelegate::FindMatchingCompromisedCredential( - const api::passwords_private::CompromisedCredential& credential) const { + const api::passwords_private::InsecureCredential& credential) const { const CredentialWithPassword* compromised_credential = insecure_credential_id_generator_.TryGetKey(credential.id); if (!compromised_credential)
diff --git a/chrome/browser/extensions/api/passwords_private/password_check_delegate.h b/chrome/browser/extensions/api/passwords_private/password_check_delegate.h index 268b3c3..7e4d0bd 100644 --- a/chrome/browser/extensions/api/passwords_private/password_check_delegate.h +++ b/chrome/browser/extensions/api/passwords_private/password_check_delegate.h
@@ -52,26 +52,26 @@ // Obtains information about compromised credentials. This includes the last // time a check was run, as well as all compromised credentials that are // present in the password store. - std::vector<api::passwords_private::CompromisedCredential> + std::vector<api::passwords_private::InsecureCredential> GetCompromisedCredentials(); // Requests the plaintext password for |credential|. If successful, this // returns |credential| with its |password| member set. This can fail if no // matching compromised credential can be found in the password store. - base::Optional<api::passwords_private::CompromisedCredential> + base::Optional<api::passwords_private::InsecureCredential> GetPlaintextCompromisedPassword( - api::passwords_private::CompromisedCredential credential) const; + api::passwords_private::InsecureCredential credential) const; // Attempts to change the stored password of |credential| to |new_password|. // Returns whether the change succeeded. bool ChangeCompromisedCredential( - const api::passwords_private::CompromisedCredential& credential, + const api::passwords_private::InsecureCredential& credential, base::StringPiece new_password); // Attempts to remove |credential| from the password store. Returns whether // the remove succeeded. bool RemoveCompromisedCredential( - const api::passwords_private::CompromisedCredential& credential); + const api::passwords_private::InsecureCredential& credential); // Requests to start a check for compromised passwords. Invokes |callback| // once a check is running or the request was stopped via StopPasswordCheck(). @@ -117,7 +117,7 @@ // nullptr otherwise. const password_manager::CredentialWithPassword* FindMatchingCompromisedCredential( - const api::passwords_private::CompromisedCredential& credential) const; + const api::passwords_private::InsecureCredential& credential) const; // Tries to notify the PasswordsPrivateEventRouter that the password check // status has changed. Invoked after OnSavedPasswordsChanged and @@ -174,8 +174,8 @@ password_manager::BulkLeakCheckServiceInterface::Observer> observed_bulk_leak_check_service_{this}; - // An id generator for compromised credentials. Required to match - // api::passwords_private::CompromisedCredential instances passed to the UI + // An id generator for insecure credentials. Required to match + // api::passwords_private::InsecureCredential instances passed to the UI // with the underlying CredentialWithPassword they are based on. IdGenerator<password_manager::CredentialWithPassword, int,
diff --git a/chrome/browser/extensions/api/passwords_private/password_check_delegate_unittest.cc b/chrome/browser/extensions/api/passwords_private/password_check_delegate_unittest.cc index 7ffbb997..216ace6 100644 --- a/chrome/browser/extensions/api/passwords_private/password_check_delegate_unittest.cc +++ b/chrome/browser/extensions/api/passwords_private/password_check_delegate_unittest.cc
@@ -68,7 +68,8 @@ constexpr char kPassword1[] = "s3cre3t"; constexpr char kPassword2[] = "f00b4r"; -using api::passwords_private::CompromisedCredential; +using api::passwords_private::CompromisedInfo; +using api::passwords_private::InsecureCredential; using api::passwords_private::PasswordCheckStatus; using autofill::PasswordForm; using password_manager::BulkLeakCheckDelegateInterface; @@ -185,6 +186,19 @@ return form; } +// Creates matcher for a given compromised info. +auto ExpectCompromisedInfo( + base::TimeDelta elapsed_time_since_compromise, + const std::string& elapsed_time_since_compromise_str, + api::passwords_private::CompromiseType compromise_type) { + return AllOf(Field(&CompromisedInfo::compromise_time, + (base::Time::Now() - elapsed_time_since_compromise) + .ToJsTimeIgnoringNull()), + Field(&CompromisedInfo::elapsed_time_since_compromise, + elapsed_time_since_compromise_str), + Field(&CompromisedInfo::compromise_type, compromise_type)); +} + // Creates matcher for a given compromised credential auto ExpectCompromisedCredential( const std::string& formatted_origin, @@ -196,20 +210,17 @@ api::passwords_private::CompromiseType compromise_type) { auto change_password_url_field_matcher = change_password_url.has_value() - ? Field(&CompromisedCredential::change_password_url, + ? Field(&InsecureCredential::change_password_url, Pointee(change_password_url.value())) - : Field(&CompromisedCredential::change_password_url, IsNull()); - return AllOf( - Field(&CompromisedCredential::formatted_origin, formatted_origin), - Field(&CompromisedCredential::detailed_origin, detailed_origin), - change_password_url_field_matcher, - Field(&CompromisedCredential::username, username), - Field(&CompromisedCredential::compromise_time, - (base::Time::Now() - elapsed_time_since_compromise) - .ToJsTimeIgnoringNull()), - Field(&CompromisedCredential::elapsed_time_since_compromise, - elapsed_time_since_compromise_str), - Field(&CompromisedCredential::compromise_type, compromise_type)); + : Field(&InsecureCredential::change_password_url, IsNull()); + return AllOf(Field(&InsecureCredential::formatted_origin, formatted_origin), + Field(&InsecureCredential::detailed_origin, detailed_origin), + change_password_url_field_matcher, + Field(&InsecureCredential::username, username), + Field(&InsecureCredential::compromised_info, + Pointee(ExpectCompromisedInfo( + elapsed_time_since_compromise, + elapsed_time_since_compromise_str, compromise_type)))); } class PasswordCheckDelegateTest : public ::testing::Test { @@ -487,7 +498,7 @@ store().AddCompromisedCredentials(MakeCompromised(kExampleCom, kUsername1)); RunUntilIdle(); - CompromisedCredential credential = + InsecureCredential credential = std::move(delegate().GetCompromisedCredentials().at(0)); EXPECT_EQ(0, credential.id); @@ -504,7 +515,7 @@ store().AddCompromisedCredentials(MakeCompromised(kExampleCom, kUsername1)); RunUntilIdle(); - CompromisedCredential credential = + InsecureCredential credential = std::move(delegate().GetCompromisedCredentials().at(0)); EXPECT_EQ(kExampleCom, credential.signon_realm); @@ -521,7 +532,7 @@ store().AddCompromisedCredentials(MakeCompromised(kExampleCom, kUsername1)); RunUntilIdle(); - CompromisedCredential credential = + InsecureCredential credential = std::move(delegate().GetCompromisedCredentials().at(0)); EXPECT_EQ(kUsername1, credential.username); @@ -538,14 +549,14 @@ store().AddCompromisedCredentials(MakeCompromised(kExampleCom, kUsername1)); RunUntilIdle(); - CompromisedCredential credential = + InsecureCredential credential = std::move(delegate().GetCompromisedCredentials().at(0)); EXPECT_EQ(0, credential.id); EXPECT_EQ(kExampleCom, credential.signon_realm); EXPECT_EQ(kUsername1, credential.username); EXPECT_EQ(nullptr, credential.password); - base::Optional<CompromisedCredential> opt_credential = + base::Optional<InsecureCredential> opt_credential = delegate().GetPlaintextCompromisedPassword(std::move(credential)); ASSERT_TRUE(opt_credential.has_value()); EXPECT_EQ(0, opt_credential->id); @@ -560,7 +571,7 @@ store().AddCompromisedCredentials(MakeCompromised(kExampleCom, kUsername1)); RunUntilIdle(); - CompromisedCredential credential = + InsecureCredential credential = std::move(delegate().GetCompromisedCredentials().at(0)); EXPECT_EQ(0, credential.id); credential.id = 1; @@ -575,7 +586,7 @@ store().AddCompromisedCredentials(MakeCompromised(kExampleCom, kUsername1)); RunUntilIdle(); - CompromisedCredential credential = + InsecureCredential credential = std::move(delegate().GetCompromisedCredentials().at(0)); store().RemoveLogin(MakeSavedPassword(kExampleCom, kUsername1)); @@ -590,7 +601,7 @@ store().AddCompromisedCredentials(MakeCompromised(kExampleCom, kUsername1)); RunUntilIdle(); - CompromisedCredential credential = + InsecureCredential credential = std::move(delegate().GetCompromisedCredentials().at(0)); EXPECT_EQ(0, credential.id); EXPECT_EQ(kExampleCom, credential.signon_realm); @@ -615,7 +626,7 @@ EXPECT_EQ(2u, store().stored_passwords().at(kExampleCom).size()); - CompromisedCredential credential = + InsecureCredential credential = std::move(delegate().GetCompromisedCredentials().at(0)); EXPECT_TRUE(delegate().ChangeCompromisedCredential(credential, kPassword2)); RunUntilIdle(); @@ -633,7 +644,7 @@ store().AddCompromisedCredentials(MakeCompromised(kExampleCom, kUsername1)); RunUntilIdle(); - CompromisedCredential credential = + InsecureCredential credential = std::move(delegate().GetCompromisedCredentials().at(0)); EXPECT_EQ(0, credential.id); credential.id = 1; @@ -648,7 +659,7 @@ store().AddCompromisedCredentials(MakeCompromised(kExampleCom, kUsername1)); RunUntilIdle(); - CompromisedCredential credential = + InsecureCredential credential = std::move(delegate().GetCompromisedCredentials().at(0)); store().RemoveLogin(MakeSavedPassword(kExampleCom, kUsername1)); RunUntilIdle(); @@ -662,7 +673,7 @@ store().AddCompromisedCredentials(MakeCompromised(kExampleCom, kUsername1)); RunUntilIdle(); - CompromisedCredential credential = + InsecureCredential credential = std::move(delegate().GetCompromisedCredentials().at(0)); EXPECT_TRUE(delegate().RemoveCompromisedCredential(credential)); RunUntilIdle();
diff --git a/chrome/browser/extensions/api/passwords_private/passwords_private_api.cc b/chrome/browser/extensions/api/passwords_private/passwords_private_api.cc index d6d0992..9fc35816 100644 --- a/chrome/browser/extensions/api/passwords_private/passwords_private_api.cc +++ b/chrome/browser/extensions/api/passwords_private/passwords_private_api.cc
@@ -295,7 +295,7 @@ } void PasswordsPrivateGetPlaintextCompromisedPasswordFunction::GotCredential( - base::Optional<api::passwords_private::CompromisedCredential> credential) { + base::Optional<api::passwords_private::InsecureCredential> credential) { if (!credential) { Respond(Error( "Could not obtain plaintext compromised password. Either the user is "
diff --git a/chrome/browser/extensions/api/passwords_private/passwords_private_api.h b/chrome/browser/extensions/api/passwords_private/passwords_private_api.h index 3505216..2ee61993 100644 --- a/chrome/browser/extensions/api/passwords_private/passwords_private_api.h +++ b/chrome/browser/extensions/api/passwords_private/passwords_private_api.h
@@ -273,7 +273,7 @@ private: void GotCredential( - base::Optional<api::passwords_private::CompromisedCredential> credential); + base::Optional<api::passwords_private::InsecureCredential> credential); }; class PasswordsPrivateChangeCompromisedCredentialFunction
diff --git a/chrome/browser/extensions/api/passwords_private/passwords_private_delegate.h b/chrome/browser/extensions/api/passwords_private/passwords_private_delegate.h index c90fc75..c25241c6 100644 --- a/chrome/browser/extensions/api/passwords_private/passwords_private_delegate.h +++ b/chrome/browser/extensions/api/passwords_private/passwords_private_delegate.h
@@ -41,7 +41,7 @@ base::OnceCallback<void(password_manager::BulkLeakCheckService::State)>; using PlaintextCompromisedPasswordCallback = base::OnceCallback<void( - base::Optional<api::passwords_private::CompromisedCredential>)>; + base::Optional<api::passwords_private::InsecureCredential>)>; ~PasswordsPrivateDelegate() override = default; @@ -128,14 +128,14 @@ // Obtains information about compromised credentials. This includes the last // time a check was run, as well as all compromised credentials that are // present in the password store. - virtual std::vector<api::passwords_private::CompromisedCredential> + virtual std::vector<api::passwords_private::InsecureCredential> GetCompromisedCredentials() = 0; // Requests the plaintext password for |credential| due to |reason|. If // successful, |callback| gets invoked with the same |credential|, whose // |password| field will be set. virtual void GetPlaintextCompromisedPassword( - api::passwords_private::CompromisedCredential credential, + api::passwords_private::InsecureCredential credential, api::passwords_private::PlaintextReason reason, content::WebContents* web_contents, PlaintextCompromisedPasswordCallback callback) = 0; @@ -143,13 +143,13 @@ // Attempts to change the stored password of |credential| to |new_password|. // Returns whether the change succeeded. virtual bool ChangeCompromisedCredential( - const api::passwords_private::CompromisedCredential& credential, + const api::passwords_private::InsecureCredential& credential, base::StringPiece new_password) = 0; // Attempts to remove |credential| from the password store. Returns whether // the remove succeeded. virtual bool RemoveCompromisedCredential( - const api::passwords_private::CompromisedCredential& credential) = 0; + const api::passwords_private::InsecureCredential& credential) = 0; // Requests to start a check for compromised passwords. Invokes |callback| // once a check is running or the request was stopped via StopPasswordCheck().
diff --git a/chrome/browser/extensions/api/passwords_private/passwords_private_delegate_impl.cc b/chrome/browser/extensions/api/passwords_private/passwords_private_delegate_impl.cc index 4650e5a..986638e 100644 --- a/chrome/browser/extensions/api/passwords_private/passwords_private_delegate_impl.cc +++ b/chrome/browser/extensions/api/passwords_private/passwords_private_delegate_impl.cc
@@ -473,13 +473,13 @@ signin_metrics::ReauthAccessPoint::kPasswordSettings, base::DoNothing()); } -std::vector<api::passwords_private::CompromisedCredential> +std::vector<api::passwords_private::InsecureCredential> PasswordsPrivateDelegateImpl::GetCompromisedCredentials() { return password_check_delegate_.GetCompromisedCredentials(); } void PasswordsPrivateDelegateImpl::GetPlaintextCompromisedPassword( - api::passwords_private::CompromisedCredential credential, + api::passwords_private::InsecureCredential credential, api::passwords_private::PlaintextReason reason, content::WebContents* web_contents, PlaintextCompromisedPasswordCallback callback) { @@ -498,14 +498,14 @@ } bool PasswordsPrivateDelegateImpl::ChangeCompromisedCredential( - const api::passwords_private::CompromisedCredential& credential, + const api::passwords_private::InsecureCredential& credential, base::StringPiece new_password) { return password_check_delegate_.ChangeCompromisedCredential(credential, new_password); } bool PasswordsPrivateDelegateImpl::RemoveCompromisedCredential( - const api::passwords_private::CompromisedCredential& credential) { + const api::passwords_private::InsecureCredential& credential) { return password_check_delegate_.RemoveCompromisedCredential(credential); }
diff --git a/chrome/browser/extensions/api/passwords_private/passwords_private_delegate_impl.h b/chrome/browser/extensions/api/passwords_private/passwords_private_delegate_impl.h index 6c1ef26..9ad8898 100644 --- a/chrome/browser/extensions/api/passwords_private/passwords_private_delegate_impl.h +++ b/chrome/browser/extensions/api/passwords_private/passwords_private_delegate_impl.h
@@ -70,18 +70,18 @@ // TODO(crbug.com/1102294): Mimic the signature in PasswordFeatureManager. void SetAccountStorageOptIn(bool opt_in, content::WebContents* web_contents) override; - std::vector<api::passwords_private::CompromisedCredential> + std::vector<api::passwords_private::InsecureCredential> GetCompromisedCredentials() override; void GetPlaintextCompromisedPassword( - api::passwords_private::CompromisedCredential credential, + api::passwords_private::InsecureCredential credential, api::passwords_private::PlaintextReason reason, content::WebContents* web_contents, PlaintextCompromisedPasswordCallback callback) override; bool ChangeCompromisedCredential( - const api::passwords_private::CompromisedCredential& credential, + const api::passwords_private::InsecureCredential& credential, base::StringPiece new_password) override; bool RemoveCompromisedCredential( - const api::passwords_private::CompromisedCredential& credential) override; + const api::passwords_private::InsecureCredential& credential) override; void StartPasswordCheck(StartPasswordCheckCallback callback) override; void StopPasswordCheck() override; api::passwords_private::PasswordCheckStatus GetPasswordCheckStatus() override;
diff --git a/chrome/browser/extensions/api/passwords_private/passwords_private_delegate_impl_unittest.cc b/chrome/browser/extensions/api/passwords_private/passwords_private_delegate_impl_unittest.cc index 95fffaf..1e9f8b8 100644 --- a/chrome/browser/extensions/api/passwords_private/passwords_private_delegate_impl_unittest.cc +++ b/chrome/browser/extensions/api/passwords_private/passwords_private_delegate_impl_unittest.cc
@@ -601,7 +601,7 @@ EXPECT_CALL(credential_callback, Run(Eq(base::nullopt))); delegate.GetPlaintextCompromisedPassword( - api::passwords_private::CompromisedCredential(), + api::passwords_private::InsecureCredential(), api::passwords_private::PLAINTEXT_REASON_VIEW, nullptr, credential_callback.Get()); } @@ -621,7 +621,7 @@ store_->AddCompromisedCredentials(compromised_credentials); base::RunLoop().RunUntilIdle(); - api::passwords_private::CompromisedCredential credential = + api::passwords_private::InsecureCredential credential = std::move(delegate.GetCompromisedCredentials().at(0)); MockReauthCallback reauth_callback; @@ -631,7 +631,7 @@ PasswordsPrivateDelegate::PlaintextCompromisedPasswordCallback> credential_callback; - base::Optional<api::passwords_private::CompromisedCredential> opt_credential; + base::Optional<api::passwords_private::InsecureCredential> opt_credential; EXPECT_CALL(reauth_callback, Run(ReauthPurpose::VIEW_PASSWORD)) .WillOnce(Return(true)); EXPECT_CALL(credential_callback, Run).WillOnce(MoveArg(&opt_credential));
diff --git a/chrome/browser/extensions/api/passwords_private/passwords_private_event_router.cc b/chrome/browser/extensions/api/passwords_private/passwords_private_event_router.cc index 1a0ee0ff..c74799d9 100644 --- a/chrome/browser/extensions/api/passwords_private/passwords_private_event_router.cc +++ b/chrome/browser/extensions/api/passwords_private/passwords_private_event_router.cc
@@ -97,7 +97,7 @@ } void PasswordsPrivateEventRouter::OnCompromisedCredentialsChanged( - std::vector<api::passwords_private::CompromisedCredential> + std::vector<api::passwords_private::InsecureCredential> compromised_credentials) { auto extension_event = std::make_unique<Event>( events::PASSWORDS_PRIVATE_ON_COMPROMISED_CREDENTIALS_INFO_CHANGED,
diff --git a/chrome/browser/extensions/api/passwords_private/passwords_private_event_router.h b/chrome/browser/extensions/api/passwords_private/passwords_private_event_router.h index 2661647..f3bd93b 100644 --- a/chrome/browser/extensions/api/passwords_private/passwords_private_event_router.h +++ b/chrome/browser/extensions/api/passwords_private/passwords_private_event_router.h
@@ -60,7 +60,7 @@ // Notifies listeners about a change to the information about compromised // credentials. void OnCompromisedCredentialsChanged( - std::vector<api::passwords_private::CompromisedCredential> + std::vector<api::passwords_private::InsecureCredential> compromised_credentials); // Notifies listeners about a change to the status of the password check.
diff --git a/chrome/browser/extensions/api/passwords_private/test_passwords_private_delegate.cc b/chrome/browser/extensions/api/passwords_private/test_passwords_private_delegate.cc index adbbcb01..99b36d0b 100644 --- a/chrome/browser/extensions/api/passwords_private/test_passwords_private_delegate.cc +++ b/chrome/browser/extensions/api/passwords_private/test_passwords_private_delegate.cc
@@ -178,28 +178,32 @@ is_opted_in_for_account_storage_ = opt_in; } -std::vector<api::passwords_private::CompromisedCredential> +std::vector<api::passwords_private::InsecureCredential> TestPasswordsPrivateDelegate::GetCompromisedCredentials() { - api::passwords_private::CompromisedCredential credential; + api::passwords_private::InsecureCredential credential; credential.username = "alice"; credential.formatted_origin = "example.com"; credential.detailed_origin = "https://example.com"; credential.is_android_credential = false; credential.change_password_url = std::make_unique<std::string>("https://example.com/change-password"); - credential.compromise_type = api::passwords_private::COMPROMISE_TYPE_LEAKED; - credential.compromise_time = 1583236800000; // Mar 03 2020 12:00:00 UTC - credential.elapsed_time_since_compromise = base::UTF16ToUTF8( - TimeFormat::Simple(TimeFormat::FORMAT_ELAPSED, TimeFormat::LENGTH_LONG, - base::TimeDelta::FromDays(3))); - - std::vector<api::passwords_private::CompromisedCredential> credentials; + credential.compromised_info = + std::make_unique<api::passwords_private::CompromisedInfo>(); + // Mar 03 2020 12:00:00 UTC + credential.compromised_info->compromise_time = 1583236800000; + credential.compromised_info->elapsed_time_since_compromise = + base::UTF16ToUTF8(TimeFormat::Simple(TimeFormat::FORMAT_ELAPSED, + TimeFormat::LENGTH_LONG, + base::TimeDelta::FromDays(3))); + credential.compromised_info->compromise_type = + api::passwords_private::COMPROMISE_TYPE_LEAKED; + std::vector<api::passwords_private::InsecureCredential> credentials; credentials.push_back(std::move(credential)); return credentials; } void TestPasswordsPrivateDelegate::GetPlaintextCompromisedPassword( - api::passwords_private::CompromisedCredential credential, + api::passwords_private::InsecureCredential credential, api::passwords_private::PlaintextReason reason, content::WebContents* web_contents, PlaintextCompromisedPasswordCallback callback) { @@ -217,7 +221,7 @@ // Fake implementation of ChangeCompromisedCredential. This succeeds if the // delegate knows of a compromised credential with the same id. bool TestPasswordsPrivateDelegate::ChangeCompromisedCredential( - const api::passwords_private::CompromisedCredential& credential, + const api::passwords_private::InsecureCredential& credential, base::StringPiece new_password) { return std::any_of(compromised_credentials_.begin(), compromised_credentials_.end(), @@ -229,7 +233,7 @@ // Fake implementation of RemoveCompromisedCredential. This succeeds if the // delegate knows of a compromised credential with the same id. bool TestPasswordsPrivateDelegate::RemoveCompromisedCredential( - const api::passwords_private::CompromisedCredential& credential) { + const api::passwords_private::InsecureCredential& credential) { return base::EraseIf(compromised_credentials_, [&credential](const auto& compromised_credential) { return compromised_credential.id == credential.id; @@ -268,7 +272,7 @@ } void TestPasswordsPrivateDelegate::AddCompromisedCredential(int id) { - api::passwords_private::CompromisedCredential cred; + api::passwords_private::InsecureCredential cred; cred.id = id; compromised_credentials_.push_back(std::move(cred)); }
diff --git a/chrome/browser/extensions/api/passwords_private/test_passwords_private_delegate.h b/chrome/browser/extensions/api/passwords_private/test_passwords_private_delegate.h index ab07153..5ff812cd 100644 --- a/chrome/browser/extensions/api/passwords_private/test_passwords_private_delegate.h +++ b/chrome/browser/extensions/api/passwords_private/test_passwords_private_delegate.h
@@ -47,22 +47,22 @@ bool IsOptedInForAccountStorage() override; void SetAccountStorageOptIn(bool opt_in, content::WebContents* web_contents) override; - std::vector<api::passwords_private::CompromisedCredential> + std::vector<api::passwords_private::InsecureCredential> GetCompromisedCredentials() override; void GetPlaintextCompromisedPassword( - api::passwords_private::CompromisedCredential credential, + api::passwords_private::InsecureCredential credential, api::passwords_private::PlaintextReason reason, content::WebContents* web_contents, PlaintextCompromisedPasswordCallback callback) override; // Fake implementation of ChangeCompromisedCredential. This succeeds if the // delegate knows of a compromised credential with the same id. bool ChangeCompromisedCredential( - const api::passwords_private::CompromisedCredential& credential, + const api::passwords_private::InsecureCredential& credential, base::StringPiece new_password) override; // Fake implementation of RemoveCompromisedCredential. This succeeds if the // delegate knows of a compromised credential with the same id. bool RemoveCompromisedCredential( - const api::passwords_private::CompromisedCredential& credential) override; + const api::passwords_private::InsecureCredential& credential) override; void StartPasswordCheck(StartPasswordCheckCallback callback) override; void StopPasswordCheck() override; api::passwords_private::PasswordCheckStatus GetPasswordCheckStatus() override; @@ -115,7 +115,7 @@ base::ASCIIToUTF16("plaintext"); // List of compromised credentials. - std::vector<api::passwords_private::CompromisedCredential> + std::vector<api::passwords_private::InsecureCredential> compromised_credentials_; Profile* profile_ = nullptr;
diff --git a/chrome/browser/extensions/api/tab_capture/tab_capture_performancetest.cc b/chrome/browser/extensions/api/tab_capture/tab_capture_performancetest.cc index 04bbe28..387d30a 100644 --- a/chrome/browser/extensions/api/tab_capture/tab_capture_performancetest.cc +++ b/chrome/browser/extensions/api/tab_capture/tab_capture_performancetest.cc
@@ -51,7 +51,7 @@ constexpr char kEventSuffixFailRate[] = "FailRate"; constexpr char kEventSuffixLatency[] = "Latency"; constexpr char kEventCommitAndDrawCompositorFrame[] = - "RenderWidget::DidCommitAndDrawCompositorFrame"; + "WidgetBase::DidCommitAndDrawCompositorFrame"; const std::unordered_map<std::string, std::string> kEventToMetricMap( {{kEventCapture, kMetricCaptureMs}, {std::string(kEventCapture) + kEventSuffixFailRate,
diff --git a/chrome/browser/extensions/corb_and_cors_extension_browsertest.cc b/chrome/browser/extensions/corb_and_cors_extension_browsertest.cc index 4fad30b..9767c98 100644 --- a/chrome/browser/extensions/corb_and_cors_extension_browsertest.cc +++ b/chrome/browser/extensions/corb_and_cors_extension_browsertest.cc
@@ -52,6 +52,7 @@ #include "content/public/test/url_loader_interceptor.h" #include "extensions/browser/browsertest_util.h" #include "extensions/browser/url_loader_factory_manager.h" +#include "extensions/common/extension_features.h" #include "extensions/test/test_extension_dir.h" #include "net/dns/mock_host_resolver.h" #include "net/test/embedded_test_server/controllable_http_response.h" @@ -90,7 +91,7 @@ // The manifest.json used by tests uses |kExpectedKey| that will result in the // hash of extension id that is captured in |kExpectedHashedExtensionId|. // Knowing the hash constant helps with simulating distributing the hash via -// field trial param (e.g. via CorbAllowlistAlsoAppliesToOorCorsParamName). +// field trial param (e.g. via kCorbCorsAllowlistParamName). const char kExtensionKey[] = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAjzv7dI7Ygyh67VHE1DdidudpYf8PFf" "v8iucWvzO+3xpF/" @@ -220,20 +221,23 @@ } if (IsCorsForContentScriptsEnabled()) { - base::FieldTrialParams field_trial_params; - if (IsExtensionAllowlisted()) { - field_trial_params.emplace( - network::features::kCorbAllowlistAlsoAppliesToOorCorsParamName, - kExpectedHashedExtensionId); - } enabled_features.emplace_back( network::features::kCorbAllowlistAlsoAppliesToOorCors, - field_trial_params); + base::FieldTrialParams()); } else { disabled_features.push_back( network::features::kCorbAllowlistAlsoAppliesToOorCors); } + if (IsExtensionAllowlisted()) { + base::FieldTrialParams field_trial_params; + field_trial_params.emplace( + extensions_features::kCorbCorsAllowlistParamName, + kExpectedHashedExtensionId); + enabled_features.emplace_back(extensions_features::kCorbCorsAllowlist, + field_trial_params); + } + scoped_feature_list_.InitWithFeaturesAndParameters(enabled_features, disabled_features); } @@ -308,7 +312,6 @@ extension_ = LoadExtension(dir_.UnpackedPath()); DCHECK(extension_); - AllowlistExtensionIfNeeded(*extension_); return extension_; } @@ -516,7 +519,6 @@ extension_ = LoadExtension(dir_.UnpackedPath()); DCHECK(extension_); - AllowlistExtensionIfNeeded(*extension_); return extension_; } @@ -621,27 +623,6 @@ browser()->profile(), extension_->id(), background_script); } - void AllowlistExtensionIfNeeded(const Extension& extension) { - // Sanity check that the field trial param (which has to be registered via - // ScopedFeatureList early) uses the right extension id hash. - EXPECT_EQ(kExpectedHashedExtensionId, extension.hashed_id().value()); - - if (IsCorsForContentScriptsEnabled()) { - // Allowlist has already been populated via field trial param (see the - // constructor of CrossOriginReadBlockingExtensionAllowlistingTest). - return; - } - - // If field trial param cannot be used, fall back to allowlisting via - // URLLoaderFactoryManager's test support methods. - if (IsExtensionAllowlisted()) { - URLLoaderFactoryManager::AddExtensionToAllowlistForTesting(extension); - } else { - URLLoaderFactoryManager::RemoveExtensionFromAllowlistForTesting( - extension); - } - } - protected: policy::MockConfigurationPolicyProvider policy_provider_; @@ -1735,7 +1716,6 @@ dir_.WriteFile(FILE_PATH_LITERAL("page.html"), "<body>Hello World!</body>"); const Extension* extension = LoadExtension(dir_.UnpackedPath()); ASSERT_TRUE(extension); - AllowlistExtensionIfNeeded(*extension); // Navigate a foreground tab to an extension URL, so that from this tab we can // ask the background service worker to initiate test fetches.
diff --git a/chrome/browser/extensions/global_shortcut_listener_x11.cc b/chrome/browser/extensions/global_shortcut_listener_x11.cc index a33ff04..45e3cf5 100644 --- a/chrome/browser/extensions/global_shortcut_listener_x11.cc +++ b/chrome/browser/extensions/global_shortcut_listener_x11.cc
@@ -111,7 +111,7 @@ // Caps lock, Scroll lock. See comment about |kModifiersMasks|. for (unsigned int kModifiersMask : kModifiersMasks) { XGrabKey(x_display_, keycode, modifiers | kModifiersMask, - static_cast<uint32_t>(x_root_window_), x11::False, GrabModeAsync, + static_cast<uint32_t>(x_root_window_), false, GrabModeAsync, GrabModeAsync); }
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc index a466aae..f1b60f1 100644 --- a/chrome/browser/flags/android/chrome_feature_list.cc +++ b/chrome/browser/flags/android/chrome_feature_list.cc
@@ -80,6 +80,7 @@ &device::kWebAuthPhoneSupport, &download::features::kDownloadAutoResumptionNative, &download::features::kDownloadLater, + &download::features::kSmartSuggestionForLargeDownloads, &download::features::kUseDownloadOfflineContentProvider, &features::kClearOldBrowsingData, &features::kDownloadsLocationChange,
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java index 8fd17db..a179149 100644 --- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java +++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
@@ -396,6 +396,8 @@ public static final String SHARED_CLIPBOARD_UI = "SharedClipboardUI"; public static final String SHARING_QR_CODE_ANDROID = "SharingQrCodeAndroid"; public static final String SHOW_TRUSTED_PUBLISHER_URL = "ShowTrustedPublisherURL"; + public static final String SMART_SUGGESTION_FOR_LARGE_DOWNLOADS = + "SmartSuggestionForLargeDownloads"; public static final String SPANNABLE_INLINE_AUTOCOMPLETE = "SpannableInlineAutocomplete"; public static final String SPLIT_CACHE_BY_NETWORK_ISOLATION_KEY = "SplitCacheByNetworkIsolationKey";
diff --git a/chrome/browser/guest_view/mime_handler_view/chrome_mime_handler_view_guest_delegate.cc b/chrome/browser/guest_view/mime_handler_view/chrome_mime_handler_view_guest_delegate.cc index ee0a3865..75b3524 100644 --- a/chrome/browser/guest_view/mime_handler_view/chrome_mime_handler_view_guest_delegate.cc +++ b/chrome/browser/guest_view/mime_handler_view/chrome_mime_handler_view_guest_delegate.cc
@@ -7,6 +7,7 @@ #include <utility> #include "chrome/browser/renderer_context_menu/render_view_context_menu.h" +#include "chrome/browser/ui/tab_contents/chrome_web_contents_menu_helper.h" #include "chrome/common/pdf_util.h" #include "components/renderer_context_menu/context_menu_delegate.h" @@ -25,8 +26,9 @@ ContextMenuDelegate::FromWebContents(web_contents); DCHECK(menu_delegate); - std::unique_ptr<RenderViewContextMenuBase> menu = - menu_delegate->BuildMenu(web_contents, params); + std::unique_ptr<RenderViewContextMenuBase> menu = menu_delegate->BuildMenu( + web_contents, + AddContextMenuParamsPropertiesFromPreferences(web_contents, params)); menu_delegate->ShowMenu(std::move(menu)); return true; }
diff --git a/chrome/browser/lacros/screen_manager_lacros_browsertest.cc b/chrome/browser/lacros/screen_manager_lacros_browsertest.cc new file mode 100644 index 0000000..eb09fb98 --- /dev/null +++ b/chrome/browser/lacros/screen_manager_lacros_browsertest.cc
@@ -0,0 +1,130 @@ +// Copyright 2020 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include <string> +#include <utility> +#include <vector> + +#include "base/strings/string16.h" +#include "base/strings/utf_string_conversions.h" +#include "base/time/time.h" +#include "base/timer/timer.h" +#include "chrome/browser/ui/browser.h" +#include "chrome/browser/ui/browser_list.h" +#include "chrome/grit/chromium_strings.h" +#include "chrome/test/base/in_process_browser_test.h" +#include "chrome/test/base/ui_test_utils.h" +#include "chromeos/crosapi/mojom/bitmap.mojom.h" +#include "chromeos/crosapi/mojom/screen_manager.mojom.h" +#include "chromeos/lacros/lacros_chrome_service_impl.h" +#include "content/public/test/browser_test.h" +#include "mojo/public/cpp/bindings/pending_receiver.h" +#include "mojo/public/cpp/bindings/pending_remote.h" +#include "mojo/public/cpp/bindings/remote.h" +#include "mojo/public/cpp/bindings/sync_call_restrictions.h" +#include "ui/base/l10n/l10n_util.h" +#include "url/gurl.h" + +namespace { + +const char* kLacrosPageTitleHTML = + "<html><head><title>Title Of Lacros Browser Test</title></head>" + "<body>This page has a title.</body></html>"; + +} // namespace + +class ScreenManagerLacrosBrowserTest : public InProcessBrowserTest { + protected: + ScreenManagerLacrosBrowserTest() = default; + + ScreenManagerLacrosBrowserTest(const ScreenManagerLacrosBrowserTest&) = + delete; + ScreenManagerLacrosBrowserTest& operator=( + const ScreenManagerLacrosBrowserTest&) = delete; + + ~ScreenManagerLacrosBrowserTest() override = default; + + void BindScreenManager() { + mojo::PendingRemote<crosapi::mojom::ScreenManager> pending_screen_manager; + mojo::PendingReceiver<crosapi::mojom::ScreenManager> pending_receiver = + pending_screen_manager.InitWithNewPipeAndPassReceiver(); + auto* lacros_chrome_service = chromeos::LacrosChromeServiceImpl::Get(); + ASSERT_TRUE(lacros_chrome_service); + lacros_chrome_service->BindScreenManagerReceiver( + std::move(pending_receiver)); + screen_manager_.Bind(std::move(pending_screen_manager)); + } + + mojo::Remote<crosapi::mojom::ScreenManager> screen_manager_; +}; + +// Tests that taking a screen snapshot via crosapi works. +IN_PROC_BROWSER_TEST_F(ScreenManagerLacrosBrowserTest, TakeScreenSnapshot) { + BindScreenManager(); + crosapi::Bitmap snapshot; + { + mojo::ScopedAllowSyncCallForTesting allow_sync_call; + screen_manager_->TakeScreenSnapshot(&snapshot); + } + // Verify the snapshot is non-empty. + EXPECT_GT(snapshot.height, 0u); + EXPECT_GT(snapshot.width, 0u); + EXPECT_GT(snapshot.pixels.size(), 0u); +} + +// Tests that taking a screen snapshot via crosapi works. +// This test makes the browser load a page with specific title, and then scans +// through a list of windows to look for the window with the expected title. +// This test cannot simply asserts exactly 1 window is present because currently +// in lacros_chrome_browsertests, different browser tests share the same +// ash-chrome, so a window could come from any one of them. +IN_PROC_BROWSER_TEST_F(ScreenManagerLacrosBrowserTest, TakeWindowSnapshot) { + GURL url(std::string("data:text/html,") + kLacrosPageTitleHTML); + ui_test_utils::NavigateToURL(browser(), url); + + BindScreenManager(); + base::RunLoop run_loop; + bool found_window = false; + uint64_t window_id; + auto look_for_window = base::BindRepeating( + [](mojo::Remote<crosapi::mojom::ScreenManager>* screen_manager, + base::RunLoop* run_loop, bool* found_window, uint64_t* window_id) { + mojo::ScopedAllowSyncCallForTesting allow_sync_call; + const base::string16 tab_title( + base::ASCIIToUTF16("Title Of Lacros Browser Test")); + std::string expected_window_title = l10n_util::GetStringFUTF8( + IDS_BROWSER_WINDOW_TITLE_FORMAT, tab_title); + + std::vector<crosapi::mojom::WindowDetailsPtr> windows; + (*screen_manager)->ListWindows(&windows); + for (auto& window_details : windows) { + if (window_details->title == expected_window_title) { + (*found_window) = true; + (*window_id) = window_details->id; + run_loop->Quit(); + break; + } + } + }, + &screen_manager_, &run_loop, &found_window, &window_id); + // When the browser test start, there is no guaranteen that the window is + // open from ash's perspective. + base::RepeatingTimer timer; + timer.Start(FROM_HERE, base::TimeDelta::FromMilliseconds(1), + std::move(look_for_window)); + run_loop.Run(); + ASSERT_TRUE(found_window); + + bool success = false; + crosapi::Bitmap snapshot; + { + mojo::ScopedAllowSyncCallForTesting allow_sync_call; + screen_manager_->TakeWindowSnapshot(window_id, &success, &snapshot); + } + ASSERT_TRUE(success); + // Verify the snapshot is non-empty. + EXPECT_GT(snapshot.height, 0u); + EXPECT_GT(snapshot.width, 0u); + EXPECT_GT(snapshot.pixels.size(), 0u); +}
diff --git a/chrome/browser/media/webrtc/media_stream_capture_indicator.cc b/chrome/browser/media/webrtc/media_stream_capture_indicator.cc index 7f6a56c..5bd4a9c0 100644 --- a/chrome/browser/media/webrtc/media_stream_capture_indicator.cc +++ b/chrome/browser/media/webrtc/media_stream_capture_indicator.cc
@@ -79,12 +79,20 @@ return url_formatter::FormatUrlForSecurityDisplay(web_contents->GetURL()); } +// Returns if the passed |device| is capturing the whole display. This is +// different from capturing a tab or a single window on a desktop. +bool IsDeviceCapturingDisplay(const blink::MediaStreamDevice& device) { + return device.display_media_info && + device.display_media_info.value()->display_surface == + media::mojom::DisplayCaptureSurfaceType::MONITOR; +} + typedef void (MediaStreamCaptureIndicator::Observer::*ObserverMethod)( content::WebContents* web_contents, bool value); -ObserverMethod GetObserverMethodToCall(blink::mojom::MediaStreamType type) { - switch (type) { +ObserverMethod GetObserverMethodToCall(const blink::MediaStreamDevice& device) { + switch (device.type) { case blink::mojom::MediaStreamType::DEVICE_AUDIO_CAPTURE: return &MediaStreamCaptureIndicator::Observer::OnIsCapturingAudioChanged; @@ -99,8 +107,11 @@ case blink::mojom::MediaStreamType::GUM_DESKTOP_AUDIO_CAPTURE: case blink::mojom::MediaStreamType::DISPLAY_VIDEO_CAPTURE: case blink::mojom::MediaStreamType::DISPLAY_AUDIO_CAPTURE: - return &MediaStreamCaptureIndicator::Observer:: - OnIsCapturingDesktopChanged; + return IsDeviceCapturingDisplay(device) + ? &MediaStreamCaptureIndicator::Observer:: + OnIsCapturingDisplayChanged + : &MediaStreamCaptureIndicator::Observer:: + OnIsCapturingWindowChanged; case blink::mojom::MediaStreamType::NO_SERVICE: case blink::mojom::MediaStreamType::NUM_MEDIA_TYPES: @@ -126,7 +137,8 @@ bool IsCapturingAudio() const { return audio_stream_count_ > 0; } bool IsCapturingVideo() const { return video_stream_count_ > 0; } bool IsMirroring() const { return mirroring_stream_count_ > 0; } - bool IsCapturingDesktop() const { return desktop_stream_count_ > 0; } + bool IsCapturingWindow() const { return window_stream_count_ > 0; } + bool IsCapturingDisplay() const { return display_stream_count_ > 0; } std::unique_ptr<content::MediaStreamUI> RegisterMediaStream( const blink::MediaStreamDevices& devices, @@ -143,7 +155,7 @@ void NotifyStopped(); private: - int& GetStreamCount(blink::mojom::MediaStreamType type); + int& GetStreamCount(const blink::MediaStreamDevice& device); // content::WebContentsObserver overrides. void WebContentsDestroyed() override { @@ -154,7 +166,8 @@ int audio_stream_count_ = 0; int video_stream_count_ = 0; int mirroring_stream_count_ = 0; - int desktop_stream_count_ = 0; + int window_stream_count_ = 0; + int display_stream_count_ = 0; base::OnceClosure stop_callback_; base::WeakPtrFactory<WebContentsDeviceUsage> weak_factory_{this}; @@ -224,11 +237,11 @@ const blink::MediaStreamDevices& devices, base::OnceClosure stop_callback) { for (const auto& device : devices) { - int& stream_count = GetStreamCount(device.type); + int& stream_count = GetStreamCount(device); ++stream_count; if (web_contents() && stream_count == 1) { - ObserverMethod obs_func = GetObserverMethodToCall(device.type); + ObserverMethod obs_func = GetObserverMethodToCall(device); DCHECK(obs_func); for (Observer& obs : indicator_->observers_) (obs.*obs_func)(web_contents(), true); @@ -246,12 +259,12 @@ void MediaStreamCaptureIndicator::WebContentsDeviceUsage::RemoveDevices( const blink::MediaStreamDevices& devices) { for (const auto& device : devices) { - int& stream_count = GetStreamCount(device.type); + int& stream_count = GetStreamCount(device); --stream_count; DCHECK_GE(stream_count, 0); if (web_contents() && stream_count == 0) { - ObserverMethod obs_func = GetObserverMethodToCall(device.type); + ObserverMethod obs_func = GetObserverMethodToCall(device); DCHECK(obs_func); for (Observer& obs : indicator_->observers_) (obs.*obs_func)(web_contents(), false); @@ -272,8 +285,8 @@ } int& MediaStreamCaptureIndicator::WebContentsDeviceUsage::GetStreamCount( - blink::mojom::MediaStreamType type) { - switch (type) { + const blink::MediaStreamDevice& device) { + switch (device.type) { case blink::mojom::MediaStreamType::DEVICE_AUDIO_CAPTURE: return audio_stream_count_; @@ -288,7 +301,8 @@ case blink::mojom::MediaStreamType::GUM_DESKTOP_AUDIO_CAPTURE: case blink::mojom::MediaStreamType::DISPLAY_VIDEO_CAPTURE: case blink::mojom::MediaStreamType::DISPLAY_AUDIO_CAPTURE: - return desktop_stream_count_; + return IsDeviceCapturingDisplay(device) ? display_stream_count_ + : window_stream_count_; case blink::mojom::MediaStreamType::NO_SERVICE: case blink::mojom::MediaStreamType::NUM_MEDIA_TYPES: @@ -386,12 +400,20 @@ base::BindRepeating(&WebContentsDeviceUsage::IsMirroring)); } -bool MediaStreamCaptureIndicator::IsCapturingDesktop( +bool MediaStreamCaptureIndicator::IsCapturingWindow( content::WebContents* web_contents) const { DCHECK_CURRENTLY_ON(BrowserThread::UI); return CheckUsage( web_contents, - base::BindRepeating(&WebContentsDeviceUsage::IsCapturingDesktop)); + base::BindRepeating(&WebContentsDeviceUsage::IsCapturingWindow)); +} + +bool MediaStreamCaptureIndicator::IsCapturingDisplay( + content::WebContents* web_contents) const { + DCHECK_CURRENTLY_ON(BrowserThread::UI); + return CheckUsage( + web_contents, + base::BindRepeating(&WebContentsDeviceUsage::IsCapturingDisplay)); } void MediaStreamCaptureIndicator::NotifyStopped(
diff --git a/chrome/browser/media/webrtc/media_stream_capture_indicator.h b/chrome/browser/media/webrtc/media_stream_capture_indicator.h index 323e065f..f0db8eca 100644 --- a/chrome/browser/media/webrtc/media_stream_capture_indicator.h +++ b/chrome/browser/media/webrtc/media_stream_capture_indicator.h
@@ -60,8 +60,10 @@ bool is_capturing_audio) {} virtual void OnIsBeingMirroredChanged(content::WebContents* web_contents, bool is_being_mirrored) {} - virtual void OnIsCapturingDesktopChanged(content::WebContents* web_contents, - bool is_capturing_desktop) {} + virtual void OnIsCapturingWindowChanged(content::WebContents* web_contents, + bool is_capturing_window) {} + virtual void OnIsCapturingDisplayChanged(content::WebContents* web_contents, + bool is_capturing_display) {} protected: ~Observer() override; @@ -94,9 +96,11 @@ // media for remote broadcast). bool IsBeingMirrored(content::WebContents* web_contents) const; - // Returns true if |web_contents| is capturing the desktop (screen, window, - // audio). - bool IsCapturingDesktop(content::WebContents* web_contents) const; + // Returns true if |web_contents| is capturing a desktop window or audio. + bool IsCapturingWindow(content::WebContents* web_contents) const; + + // Returns true if |web_contents| is capturing a display. + bool IsCapturingDisplay(content::WebContents* web_contents) const; // Called when STOP button in media capture notification is clicked. void NotifyStopped(content::WebContents* web_contents) const;
diff --git a/chrome/browser/media/webrtc/media_stream_capture_indicator_unittest.cc b/chrome/browser/media/webrtc/media_stream_capture_indicator_unittest.cc index 9105781a..76d2a265d 100644 --- a/chrome/browser/media/webrtc/media_stream_capture_indicator_unittest.cc +++ b/chrome/browser/media/webrtc/media_stream_capture_indicator_unittest.cc
@@ -39,10 +39,16 @@ EXPECT_CALL(*this, OnIsBeingMirroredChanged(contents, is_being_mirrored)); } - void SetOnIsCapturingDesktopChangedExpectation(content::WebContents* contents, - bool is_capturing_desktop) { + void SetOnIsCapturingWindowChangedExpectation(content::WebContents* contents, + bool is_capturing_window) { EXPECT_CALL(*this, - OnIsCapturingDesktopChanged(contents, is_capturing_desktop)); + OnIsCapturingWindowChanged(contents, is_capturing_window)); + } + + void SetOnIsCapturingDisplayChangedExpectation(content::WebContents* contents, + bool is_capturing_display) { + EXPECT_CALL(*this, + OnIsCapturingDisplayChanged(contents, is_capturing_display)); } private: @@ -52,8 +58,10 @@ void(content::WebContents* contents, bool is_capturing_audio)); MOCK_METHOD2(OnIsBeingMirroredChanged, void(content::WebContents* contents, bool is_being_mirrored)); - MOCK_METHOD2(OnIsCapturingDesktopChanged, - void(content::WebContents* contents, bool is_capturing_desktop)); + MOCK_METHOD2(OnIsCapturingWindowChanged, + void(content::WebContents* contents, bool is_capturing_window)); + MOCK_METHOD2(OnIsCapturingDisplayChanged, + void(content::WebContents* contents, bool is_capturing_display)); DISALLOW_COPY_AND_ASSIGN(LenientMockObserver); }; @@ -102,11 +110,16 @@ // Test a MediaStreamCaptureIndicator accessor and ensure that the // corresponding observer method gets called. - void TestObserverMethod(blink::mojom::MediaStreamType stream_type, - MockObserverSetExpectationsMethod observer_method, - AccessorMethod accessor_method); + void TestObserverMethod( + blink::mojom::MediaStreamType stream_type, + base::Optional<media::mojom::DisplayMediaInformationPtr> + display_media_info, + MockObserverSetExpectationsMethod observer_method, + AccessorMethod accessor_method); void TestObserverMethodWithPortal( blink::mojom::MediaStreamType stream_type, + base::Optional<media::mojom::DisplayMediaInformationPtr> + display_media_info, MockObserverSetExpectationsMethod observer_method, AccessorMethod accessor_method); @@ -120,16 +133,17 @@ void MediaStreamCaptureIndicatorTest::TestObserverMethod( blink::mojom::MediaStreamType stream_type, + base::Optional<media::mojom::DisplayMediaInformationPtr> display_media_info, MockObserverSetExpectationsMethod observer_set_expectations_method, AccessorMethod accessor_method) { // Create the fake stream device. - blink::MediaStreamDevices devices{ - blink::MediaStreamDevice(stream_type, "fake_device", "fake_device")}; + blink::MediaStreamDevice device(stream_type, "fake_device", "fake_device"); + device.display_media_info = std::move(display_media_info); // By default all accessors should return false as there's no stream device. EXPECT_FALSE((indicator()->*accessor_method)(web_contents())); std::unique_ptr<content::MediaStreamUI> ui = - indicator()->RegisterMediaStream(web_contents(), devices); + indicator()->RegisterMediaStream(web_contents(), {device}); // Make sure that the observer gets called and that the corresponding accessor // gets called when |OnStarted| is called. @@ -148,16 +162,17 @@ void MediaStreamCaptureIndicatorTest::TestObserverMethodWithPortal( blink::mojom::MediaStreamType stream_type, + base::Optional<media::mojom::DisplayMediaInformationPtr> display_media_info, MockObserverSetExpectationsMethod observer_set_expectations_method, AccessorMethod accessor_method) { // Create the fake stream device. - blink::MediaStreamDevices devices{ - blink::MediaStreamDevice(stream_type, "fake_device", "fake_device")}; + blink::MediaStreamDevice device(stream_type, "fake_device", "fake_device"); + device.display_media_info = std::move(display_media_info); // By default all accessors should return false as there's no stream device. EXPECT_FALSE((indicator()->*accessor_method)(web_contents())); std::unique_ptr<content::MediaStreamUI> ui = - indicator()->RegisterMediaStream(portal_contents(), devices); + indicator()->RegisterMediaStream(portal_contents(), {device}); // Make sure that the observer gets called and that the corresponding accessor // gets called when |OnStarted| is called. @@ -176,6 +191,7 @@ TEST_F(MediaStreamCaptureIndicatorTest, IsCapturingVideo) { TestObserverMethod(blink::mojom::MediaStreamType::DEVICE_VIDEO_CAPTURE, + /*display_media_info=*/base::nullopt, &MockObserver::SetOnIsCapturingVideoChangedExpectation, &MediaStreamCaptureIndicator::IsCapturingVideo); } @@ -183,12 +199,14 @@ TEST_F(MediaStreamCaptureIndicatorTest, IsCapturingVideo_Portal) { TestObserverMethodWithPortal( blink::mojom::MediaStreamType::DEVICE_VIDEO_CAPTURE, + /*display_media_info=*/base::nullopt, &MockObserver::SetOnIsCapturingVideoChangedExpectation, &MediaStreamCaptureIndicator::IsCapturingVideo); } TEST_F(MediaStreamCaptureIndicatorTest, IsCapturingAudio) { TestObserverMethod(blink::mojom::MediaStreamType::DEVICE_AUDIO_CAPTURE, + /*display_media_info=*/base::nullopt, &MockObserver::SetOnIsCapturingAudioChangedExpectation, &MediaStreamCaptureIndicator::IsCapturingAudio); } @@ -196,12 +214,14 @@ TEST_F(MediaStreamCaptureIndicatorTest, IsCapturingAudio_Portal) { TestObserverMethodWithPortal( blink::mojom::MediaStreamType::DEVICE_AUDIO_CAPTURE, + /*display_media_info=*/base::nullopt, &MockObserver::SetOnIsCapturingAudioChangedExpectation, &MediaStreamCaptureIndicator::IsCapturingAudio); } TEST_F(MediaStreamCaptureIndicatorTest, IsBeingMirrored) { TestObserverMethod(blink::mojom::MediaStreamType::GUM_TAB_VIDEO_CAPTURE, + /*display_media_info=*/base::nullopt, &MockObserver::SetOnIsBeingMirroredChangedExpectation, &MediaStreamCaptureIndicator::IsBeingMirrored); } @@ -209,19 +229,42 @@ TEST_F(MediaStreamCaptureIndicatorTest, IsBeingMirrored_Portal) { TestObserverMethodWithPortal( blink::mojom::MediaStreamType::GUM_TAB_VIDEO_CAPTURE, + /*display_media_info=*/base::nullopt, &MockObserver::SetOnIsBeingMirroredChangedExpectation, &MediaStreamCaptureIndicator::IsBeingMirrored); } -TEST_F(MediaStreamCaptureIndicatorTest, IsCapturingDesktop) { +TEST_F(MediaStreamCaptureIndicatorTest, IsCapturingWindow) { TestObserverMethod(blink::mojom::MediaStreamType::GUM_DESKTOP_VIDEO_CAPTURE, - &MockObserver::SetOnIsCapturingDesktopChangedExpectation, - &MediaStreamCaptureIndicator::IsCapturingDesktop); + /*display_media_info=*/base::nullopt, + &MockObserver::SetOnIsCapturingWindowChangedExpectation, + &MediaStreamCaptureIndicator::IsCapturingWindow); } -TEST_F(MediaStreamCaptureIndicatorTest, IsCapturingDesktop_Portal) { +TEST_F(MediaStreamCaptureIndicatorTest, IsCapturingWindow_Portal) { TestObserverMethodWithPortal( blink::mojom::MediaStreamType::GUM_DESKTOP_VIDEO_CAPTURE, - &MockObserver::SetOnIsCapturingDesktopChangedExpectation, - &MediaStreamCaptureIndicator::IsCapturingDesktop); + /*display_media_info=*/base::nullopt, + &MockObserver::SetOnIsCapturingWindowChangedExpectation, + &MediaStreamCaptureIndicator::IsCapturingWindow); +} + +TEST_F(MediaStreamCaptureIndicatorTest, IsCapturingDisplay) { + TestObserverMethod( + blink::mojom::MediaStreamType::GUM_DESKTOP_VIDEO_CAPTURE, + media::mojom::DisplayMediaInformation::New( + media::mojom::DisplayCaptureSurfaceType::MONITOR, + /*logical_surface=*/true, media::mojom::CursorCaptureType::NEVER), + &MockObserver::SetOnIsCapturingDisplayChangedExpectation, + &MediaStreamCaptureIndicator::IsCapturingDisplay); +} + +TEST_F(MediaStreamCaptureIndicatorTest, IsCapturingDisplay_Portal) { + TestObserverMethodWithPortal( + blink::mojom::MediaStreamType::GUM_DESKTOP_VIDEO_CAPTURE, + media::mojom::DisplayMediaInformation::New( + media::mojom::DisplayCaptureSurfaceType::MONITOR, + /*logical_surface=*/true, media::mojom::CursorCaptureType::NEVER), + &MockObserver::SetOnIsCapturingDisplayChangedExpectation, + &MediaStreamCaptureIndicator::IsCapturingDisplay); }
diff --git a/chrome/browser/nearby_sharing/contacts/nearby_share_contact_manager_impl.cc b/chrome/browser/nearby_sharing/contacts/nearby_share_contact_manager_impl.cc index 6dddd08..8d028e9d 100644 --- a/chrome/browser/nearby_sharing/contacts/nearby_share_contact_manager_impl.cc +++ b/chrome/browser/nearby_sharing/contacts/nearby_share_contact_manager_impl.cc
@@ -168,6 +168,10 @@ if (!only_download_if_changed) only_download_if_changed_ = false; + // Make sure the schedulers are running so we can retrieve contacts while + // onboarding. + Start(); + contact_download_scheduler_->MakeImmediateRequest(); }
diff --git a/chrome/browser/nearby_sharing/contacts/nearby_share_contact_manager_impl_unittest.cc b/chrome/browser/nearby_sharing/contacts/nearby_share_contact_manager_impl_unittest.cc index 9c37191..17b83a7 100644 --- a/chrome/browser/nearby_sharing/contacts/nearby_share_contact_manager_impl_unittest.cc +++ b/chrome/browser/nearby_sharing/contacts/nearby_share_contact_manager_impl_unittest.cc
@@ -163,7 +163,6 @@ manager_->AddObserver(this); manager_->AddDownloadContactsObserver( mojo_observer_.receiver_.BindNewPipeAndPassRemote()); - manager_->Start(); } void TearDown() override { @@ -174,6 +173,8 @@ NearbyShareContactDownloaderImpl::Factory::SetFactoryForTesting(nullptr); } + void StartSchedulers() { manager_->Start(); } + void DownloadContacts(bool only_download_if_changed) { // Manually reset these before each download. mojo_observer_.on_contacts_downloaded_called_ = false; @@ -681,6 +682,8 @@ TEST_F(NearbyShareContactManagerImplTest, UploadContacts_Success_FromAllowlistChanged) { + // We need to manually start the schedulers first. + StartSchedulers(); // Add contacts to the allowlist, resulting in an upload request. std::set<std::string> allowlist = TestContactIds(/*num_contacts=*/1u); SetAllowedContacts(allowlist, @@ -709,6 +712,8 @@ TEST_F(NearbyShareContactManagerImplTest, UploadContacts_Success_DownloadRequestedWhileUploadInProgress) { + // We need to manually start the schedulers here. + StartSchedulers(); // Add contacts to the allowlist, resulting in an upload request. SetAllowedContacts(TestContactIds(/*num_contacts=*/2u), /*expected_were_contacts_added_to_allowlist=*/true,
diff --git a/chrome/browser/nearby_sharing/nearby_sharing_service_impl.cc b/chrome/browser/nearby_sharing/nearby_sharing_service_impl.cc index c8813ed..e6328116 100644 --- a/chrome/browser/nearby_sharing/nearby_sharing_service_impl.cc +++ b/chrome/browser/nearby_sharing/nearby_sharing_service_impl.cc
@@ -445,20 +445,6 @@ return StatusCodes::kOk; } -base::ObserverList<TransferUpdateCallback>& -NearbySharingServiceImpl::GetReceiveCallbacksFromState( - ReceiveSurfaceState state) { - switch (state) { - case ReceiveSurfaceState::kForeground: - return foreground_receive_callbacks_; - case ReceiveSurfaceState::kBackground: - return background_receive_callbacks_; - case ReceiveSurfaceState::kUnknown: - NOTREACHED(); - return foreground_receive_callbacks_; - } -} - NearbySharingService::StatusCodes NearbySharingServiceImpl::RegisterReceiveSurface( TransferUpdateCallback* transfer_callback, @@ -561,6 +547,72 @@ return in_high_visibility; } +NearbySharingService::StatusCodes NearbySharingServiceImpl::SendAttachments( + const ShareTarget& share_target, + std::vector<std::unique_ptr<Attachment>> attachments) { + if (!is_scanning_) { + NS_LOG(WARNING) << __func__ + << ": Failed to send attachments. Not scanning."; + return StatusCodes::kError; + } + + // |is_scanning_| means at least one send transfer callback. + DCHECK(foreground_send_transfer_callbacks_.might_have_observers() || + background_send_transfer_callbacks_.might_have_observers()); + // |is_scanning_| and |is_transferring_| are mutually exclusive. + DCHECK(!is_transferring_); + + ShareTargetInfo* info = GetShareTargetInfo(share_target); + if (!info || !info->endpoint_id()) { + // TODO(crbug.com/1119276): Support scanning for unknown share targets. + NS_LOG(WARNING) << __func__ + << ": Failed to send attachments. Unknown ShareTarget."; + return StatusCodes::kError; + } + + ShareTarget share_target_copy = share_target; + for (std::unique_ptr<Attachment>& attachment : attachments) { + DCHECK(attachment); + attachment->MoveToShareTarget(share_target_copy); + } + + if (!share_target_copy.has_attachments()) { + NS_LOG(WARNING) << __func__ << ": No attachments to send."; + return StatusCodes::kError; + } + + // For sending advertisement from scanner, the request advertisement should + // always be visible to everyone. + base::Optional<std::vector<uint8_t>> endpoint_info = + CreateEndpointInfo(local_device_data_manager_->GetDeviceName()); + if (!endpoint_info) { + NS_LOG(WARNING) << __func__ << ": Could not create local endpoint info."; + return StatusCodes::kError; + } + + info->set_transfer_update_callback(std::make_unique<TransferUpdateDecorator>( + base::BindRepeating(&NearbySharingServiceImpl::OnOutgoingTransferUpdate, + weak_ptr_factory_.GetWeakPtr()))); + + OnTransferStarted(/*is_incoming=*/false); + is_connecting_ = true; + InvalidateSendSurfaceState(); + + // Send process initialized successfully, from now on status updated will be + // sent out via OnOutgoingTransferUpdate(). + info->transfer_update_callback()->OnTransferUpdate( + share_target_copy, TransferMetadataBuilder() + .set_status(TransferMetadata::Status::kConnecting) + .build()); + + CreatePayloads(std::move(share_target_copy), + base::BindOnce(&NearbySharingServiceImpl::OnCreatePayloads, + weak_ptr_factory_.GetWeakPtr(), + std::move(*endpoint_info))); + + return StatusCodes::kOk; +} + void NearbySharingServiceImpl::Accept( const ShareTarget& share_target, StatusCodesCallback status_codes_callback) { @@ -646,6 +698,24 @@ return &settings_; } +NearbyShareHttpNotifier* NearbySharingServiceImpl::GetHttpNotifier() { + return &nearby_share_http_notifier_; +} + +NearbyShareLocalDeviceDataManager* +NearbySharingServiceImpl::GetLocalDeviceDataManager() { + return local_device_data_manager_.get(); +} + +NearbyShareContactManager* NearbySharingServiceImpl::GetContactManager() { + return contact_manager_.get(); +} + +NearbyShareCertificateManager* +NearbySharingServiceImpl::GetCertificateManager() { + return certificate_manager_.get(); +} + void NearbySharingServiceImpl::OnNearbyProfileChanged(Profile* profile) { // TODO(crbug.com/1084576): Notify UI about the new active profile. if (profile) { @@ -700,6 +770,65 @@ std::move(placeholder_share_target))); } +void NearbySharingServiceImpl::FlushMojoForTesting() { + settings_receiver_.FlushForTesting(); +} + +void NearbySharingServiceImpl::OnEnabledChanged(bool enabled) { + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); + if (enabled) { + NS_LOG(VERBOSE) << __func__ << ": Nearby sharing enabled!"; + local_device_data_manager_->Start(); + contact_manager_->Start(); + certificate_manager_->Start(); + } else { + NS_LOG(VERBOSE) << __func__ << ": Nearby sharing disabled!"; + StopAdvertising(); + StopScanning(); + nearby_connections_manager_->Shutdown(); + local_device_data_manager_->Stop(); + contact_manager_->Stop(); + certificate_manager_->Stop(); + } + InvalidateSurfaceState(); +} + +void NearbySharingServiceImpl::OnDeviceNameChanged( + const std::string& device_name) { + NS_LOG(VERBOSE) << __func__ << ": Nearby sharing device name changed to " + << device_name; + // TODO(vecore): handle device name change + + SetDefaultDeviceNameIfEmpty(); +} + +void NearbySharingServiceImpl::OnDataUsageChanged(DataUsage data_usage) { + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); + NS_LOG(VERBOSE) << __func__ << ": Nearby sharing data usage changed to " + << data_usage; + + if (advertising_power_level_ != PowerLevel::kUnknown) + StopAdvertising(); + + InvalidateSurfaceState(); +} + +void NearbySharingServiceImpl::OnVisibilityChanged(Visibility new_visibility) { + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); + NS_LOG(VERBOSE) << __func__ << ": Nearby sharing visibility changed to " + << new_visibility; + if (advertising_power_level_ != PowerLevel::kUnknown) + StopAdvertising(); + + InvalidateSurfaceState(); +} + +void NearbySharingServiceImpl::OnAllowedContactsChanged( + const std::vector<std::string>& allowed_contacts) { + NS_LOG(VERBOSE) << __func__ << ": Nearby sharing visible contacts changed"; + // TODO(vecore): handle visible contacts change +} + void NearbySharingServiceImpl::OnEndpointDiscovered( const std::string& endpoint_id, const std::vector<uint8_t>& endpoint_info) { @@ -720,6 +849,211 @@ weak_ptr_factory_.GetWeakPtr(), endpoint_id)); } +void NearbySharingServiceImpl::OnEndpointLost(const std::string& endpoint_id) { + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); + if (!is_scanning_) { + NS_LOG(VERBOSE) + << __func__ + << ": Ignoring lost endpoint because we're no longer scanning"; + return; + } + + // Remove the share target with this endpoint id. + auto it = outgoing_share_target_map_.find(endpoint_id); + if (it == outgoing_share_target_map_.end()) { + NS_LOG(VERBOSE) << __func__ + << ": Ignoring lost endpoint because we don't have an " + "associated ShareTarget"; + return; + } + + ShareTarget share_target = std::move(it->second); + outgoing_share_target_map_.erase(it); + + auto info_it = outgoing_share_target_info_map_.find(share_target.id); + if (info_it != outgoing_share_target_info_map_.end()) { + file_handler_.ReleaseFilePayloads(info_it->second.ExtractFilePayloads()); + outgoing_share_target_info_map_.erase(info_it); + } + + for (ShareTargetDiscoveredCallback& discovery_callback : + foreground_send_discovery_callbacks_) { + discovery_callback.OnShareTargetLost(share_target); + } + for (ShareTargetDiscoveredCallback& discovery_callback : + background_send_discovery_callbacks_) { + discovery_callback.OnShareTargetLost(share_target); + } + + NS_LOG(VERBOSE) << __func__ << ": Reported onShareTargetLost"; +} + +void NearbySharingServiceImpl::OnLockStateChanged(bool locked) { + NS_LOG(VERBOSE) << __func__ << ": Screen lock state changed. (" << locked + << ")"; + is_screen_locked_ = locked; + InvalidateSurfaceState(); +} + +void NearbySharingServiceImpl::AdapterPresentChanged( + device::BluetoothAdapter* adapter, + bool present) { + NS_LOG(VERBOSE) << "Bluetooth present changed: " << present; + InvalidateSurfaceState(); + if (!present) + StopFastInitiationAdvertising(); +} + +void NearbySharingServiceImpl::AdapterPoweredChanged( + device::BluetoothAdapter* adapter, + bool powered) { + NS_LOG(VERBOSE) << "Bluetooth powered changed: " << powered; + InvalidateSurfaceState(); + if (!powered) + StopFastInitiationAdvertising(); +} + +base::ObserverList<TransferUpdateCallback>& +NearbySharingServiceImpl::GetReceiveCallbacksFromState( + ReceiveSurfaceState state) { + switch (state) { + case ReceiveSurfaceState::kForeground: + return foreground_receive_callbacks_; + case ReceiveSurfaceState::kBackground: + return background_receive_callbacks_; + case ReceiveSurfaceState::kUnknown: + NOTREACHED(); + return foreground_receive_callbacks_; + } +} + +bool NearbySharingServiceImpl::IsVisibleInBackground(Visibility visibility) { + return visibility == Visibility::kAllContacts || + visibility == Visibility::kSelectedContacts; +} + +const base::Optional<std::vector<uint8_t>> +NearbySharingServiceImpl::CreateEndpointInfo( + const base::Optional<std::string>& device_name) { + std::vector<uint8_t> salt; + std::vector<uint8_t> encrypted_key; + + nearby_share::mojom::Visibility visibility = settings_.GetVisibility(); + if (visibility == Visibility::kAllContacts || + visibility == Visibility::kSelectedContacts) { + base::Optional<NearbyShareEncryptedMetadataKey> encrypted_metadata_key = + certificate_manager_->GetValidPrivateCertificate(visibility) + .EncryptMetadataKey(); + if (encrypted_metadata_key) { + salt = encrypted_metadata_key->salt(); + encrypted_key = encrypted_metadata_key->encrypted_key(); + } + } + + if (salt.empty() || encrypted_key.empty()) { + // Generate random metadata key. + salt = GenerateRandomBytes(sharing::Advertisement::kSaltSize); + encrypted_key = GenerateRandomBytes( + sharing::Advertisement::kMetadataEncryptionKeyHashByteSize); + } + + nearby_share::mojom::ShareTargetType device_type = + nearby_share::mojom::ShareTargetType::kLaptop; + + std::unique_ptr<sharing::Advertisement> advertisement = + sharing::Advertisement::NewInstance( + std::move(salt), std::move(encrypted_key), device_type, device_name); + if (advertisement) { + return advertisement->ToEndpointInfo(); + } else { + return base::nullopt; + } +} + +void NearbySharingServiceImpl::GetBluetoothAdapter() { + auto* adapter_factory = device::BluetoothAdapterFactory::Get(); + if (!adapter_factory->IsBluetoothSupported()) + return; + + // Because this will be called from the constructor, GetAdapter() may call + // OnGetBluetoothAdapter() immediately which can cause problems during tests + // since the class is not fully constructed yet. + base::SequencedTaskRunnerHandle::Get()->PostTask( + FROM_HERE, + base::BindOnce( + &device::BluetoothAdapterFactory::GetAdapter, + base::Unretained(adapter_factory), + base::BindOnce(&NearbySharingServiceImpl::OnGetBluetoothAdapter, + weak_ptr_factory_.GetWeakPtr()))); +} + +void NearbySharingServiceImpl::OnGetBluetoothAdapter( + scoped_refptr<device::BluetoothAdapter> adapter) { + bluetooth_adapter_ = adapter; + bluetooth_adapter_->AddObserver(this); +} + +void NearbySharingServiceImpl::StartFastInitiationAdvertising() { + if (!profile_) { + NS_LOG(INFO) + << "Failed to advertise FastInitiation. Profile is shutting down."; + return; + } + + if (!IsBluetoothPowered()) { + NS_LOG(INFO) << "Failed to advertise FastInitiation. Bluetooth is not " + "powered."; + return; + } + + if (fast_initiation_manager_) { + NS_LOG(INFO) << "Failed to advertise FastInitiation. Already advertising."; + return; + } + + fast_initiation_manager_ = + FastInitiationManager::Factory::Create(bluetooth_adapter_); + + // TODO(crbug.com/1100686): Determine whether to call StartAdvertising() with + // kNotify or kSilent. + fast_initiation_manager_->StartAdvertising( + FastInitiationManager::FastInitType::kNotify, + base::BindOnce( + &NearbySharingServiceImpl::OnStartFastInitiationAdvertising, + weak_ptr_factory_.GetWeakPtr()), + base::BindOnce( + &NearbySharingServiceImpl::OnStartFastInitiationAdvertisingError, + weak_ptr_factory_.GetWeakPtr())); +} + +void NearbySharingServiceImpl::OnStartFastInitiationAdvertising() { + // TODO(hansenmichael): Do not invoke + // |register_send_surface_callback_| until Nearby Connections + // scanning is kicked off. + NS_LOG(VERBOSE) << "Started advertising FastInitiation."; +} + +void NearbySharingServiceImpl::OnStartFastInitiationAdvertisingError() { + fast_initiation_manager_.reset(); + NS_LOG(ERROR) << "Failed to start FastInitiation advertising."; +} + +void NearbySharingServiceImpl::StopFastInitiationAdvertising() { + if (!fast_initiation_manager_) { + NS_LOG(INFO) << "Can't stop advertising FastInitiation. Not advertising."; + return; + } + + fast_initiation_manager_->StopAdvertising( + base::BindOnce(&NearbySharingServiceImpl::OnStopFastInitiationAdvertising, + weak_ptr_factory_.GetWeakPtr())); +} + +void NearbySharingServiceImpl::OnStopFastInitiationAdvertising() { + fast_initiation_manager_.reset(); + NS_LOG(VERBOSE) << "Stopped advertising FastInitiation"; +} + void NearbySharingServiceImpl::OnOutgoingAdvertisementDecoded( const std::string& endpoint_id, sharing::mojom::AdvertisementPtr advertisement) { @@ -795,256 +1129,6 @@ // share targets. } -void NearbySharingServiceImpl::OnEndpointLost(const std::string& endpoint_id) { - DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); - if (!is_scanning_) { - NS_LOG(VERBOSE) - << __func__ - << ": Ignoring lost endpoint because we're no longer scanning"; - return; - } - - // Remove the share target with this endpoint id. - auto it = outgoing_share_target_map_.find(endpoint_id); - if (it == outgoing_share_target_map_.end()) { - NS_LOG(VERBOSE) << __func__ - << ": Ignoring lost endpoint because we don't have an " - "associated ShareTarget"; - return; - } - - ShareTarget share_target = std::move(it->second); - outgoing_share_target_map_.erase(it); - - auto info_it = outgoing_share_target_info_map_.find(share_target.id); - if (info_it != outgoing_share_target_info_map_.end()) { - file_handler_.ReleaseFilePayloads(info_it->second.ExtractFilePayloads()); - outgoing_share_target_info_map_.erase(info_it); - } - - for (ShareTargetDiscoveredCallback& discovery_callback : - foreground_send_discovery_callbacks_) { - discovery_callback.OnShareTargetLost(share_target); - } - for (ShareTargetDiscoveredCallback& discovery_callback : - background_send_discovery_callbacks_) { - discovery_callback.OnShareTargetLost(share_target); - } - - NS_LOG(VERBOSE) << __func__ << ": Reported onShareTargetLost"; -} - -void NearbySharingServiceImpl::OnLockStateChanged(bool locked) { - NS_LOG(VERBOSE) << __func__ << ": Screen lock state changed. (" << locked - << ")"; - is_screen_locked_ = locked; - InvalidateSurfaceState(); -} - -void NearbySharingServiceImpl::OnEnabledChanged(bool enabled) { - DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); - if (enabled) { - NS_LOG(VERBOSE) << __func__ << ": Nearby sharing enabled!"; - local_device_data_manager_->Start(); - contact_manager_->Start(); - certificate_manager_->Start(); - } else { - NS_LOG(VERBOSE) << __func__ << ": Nearby sharing disabled!"; - StopAdvertising(); - StopScanning(); - nearby_connections_manager_->Shutdown(); - local_device_data_manager_->Stop(); - contact_manager_->Stop(); - certificate_manager_->Stop(); - } - InvalidateSurfaceState(); -} - -void NearbySharingServiceImpl::FlushMojoForTesting() { - settings_receiver_.FlushForTesting(); -} - -NearbyShareHttpNotifier* NearbySharingServiceImpl::GetHttpNotifier() { - return &nearby_share_http_notifier_; -} - -NearbyShareLocalDeviceDataManager* -NearbySharingServiceImpl::GetLocalDeviceDataManager() { - return local_device_data_manager_.get(); -} - -NearbyShareContactManager* NearbySharingServiceImpl::GetContactManager() { - return contact_manager_.get(); -} - -NearbyShareCertificateManager* -NearbySharingServiceImpl::GetCertificateManager() { - return certificate_manager_.get(); -} - -bool NearbySharingServiceImpl::IsVisibleInBackground(Visibility visibility) { - return visibility == Visibility::kAllContacts || - visibility == Visibility::kSelectedContacts; -} - -void NearbySharingServiceImpl::OnVisibilityChanged(Visibility new_visibility) { - DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); - NS_LOG(VERBOSE) << __func__ << ": Nearby sharing visibility changed to " - << new_visibility; - if (advertising_power_level_ != PowerLevel::kUnknown) - StopAdvertising(); - - InvalidateSurfaceState(); -} - -void NearbySharingServiceImpl::OnDataUsageChanged(DataUsage data_usage) { - DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); - NS_LOG(VERBOSE) << __func__ << ": Nearby sharing data usage changed to " - << data_usage; - - if (advertising_power_level_ != PowerLevel::kUnknown) - StopAdvertising(); - - InvalidateSurfaceState(); -} - -const base::Optional<std::vector<uint8_t>> -NearbySharingServiceImpl::CreateEndpointInfo( - const base::Optional<std::string>& device_name) { - std::vector<uint8_t> salt; - std::vector<uint8_t> encrypted_key; - - nearby_share::mojom::Visibility visibility = settings_.GetVisibility(); - if (visibility == Visibility::kAllContacts || - visibility == Visibility::kSelectedContacts) { - base::Optional<NearbyShareEncryptedMetadataKey> encrypted_metadata_key = - certificate_manager_->GetValidPrivateCertificate(visibility) - .EncryptMetadataKey(); - if (encrypted_metadata_key) { - salt = encrypted_metadata_key->salt(); - encrypted_key = encrypted_metadata_key->encrypted_key(); - } - } - - if (salt.empty() || encrypted_key.empty()) { - // Generate random metadata key. - salt = GenerateRandomBytes(sharing::Advertisement::kSaltSize); - encrypted_key = GenerateRandomBytes( - sharing::Advertisement::kMetadataEncryptionKeyHashByteSize); - } - - nearby_share::mojom::ShareTargetType device_type = - nearby_share::mojom::ShareTargetType::kLaptop; - - std::unique_ptr<sharing::Advertisement> advertisement = - sharing::Advertisement::NewInstance( - std::move(salt), std::move(encrypted_key), device_type, device_name); - if (advertisement) { - return advertisement->ToEndpointInfo(); - } else { - return base::nullopt; - } -} - -void NearbySharingServiceImpl::OnDeviceNameChanged( - const std::string& device_name) { - NS_LOG(VERBOSE) << __func__ << ": Nearby sharing device name changed to " - << device_name; - // TODO(vecore): handle device name change - - SetDefaultDeviceNameIfEmpty(); -} - -void NearbySharingServiceImpl::OnAllowedContactsChanged( - const std::vector<std::string>& allowed_contacts) { - NS_LOG(VERBOSE) << __func__ << ": Nearby sharing visible contacts changed"; - // TODO(vecore): handle visible contacts change -} - -void NearbySharingServiceImpl::StartFastInitiationAdvertising() { - if (!profile_) { - NS_LOG(INFO) - << "Failed to advertise FastInitiation. Profile is shutting down."; - return; - } - - if (!IsBluetoothPowered()) { - NS_LOG(INFO) << "Failed to advertise FastInitiation. Bluetooth is not " - "powered."; - return; - } - - if (fast_initiation_manager_) { - NS_LOG(INFO) << "Failed to advertise FastInitiation. Already advertising."; - return; - } - - fast_initiation_manager_ = - FastInitiationManager::Factory::Create(bluetooth_adapter_); - - // TODO(crbug.com/1100686): Determine whether to call StartAdvertising() with - // kNotify or kSilent. - fast_initiation_manager_->StartAdvertising( - FastInitiationManager::FastInitType::kNotify, - base::BindOnce( - &NearbySharingServiceImpl::OnStartFastInitiationAdvertising, - weak_ptr_factory_.GetWeakPtr()), - base::BindOnce( - &NearbySharingServiceImpl::OnStartFastInitiationAdvertisingError, - weak_ptr_factory_.GetWeakPtr())); -} - -void NearbySharingServiceImpl::StopFastInitiationAdvertising() { - if (!fast_initiation_manager_) { - NS_LOG(INFO) << "Can't stop advertising FastInitiation. Not advertising."; - return; - } - - fast_initiation_manager_->StopAdvertising( - base::BindOnce(&NearbySharingServiceImpl::OnStopFastInitiationAdvertising, - weak_ptr_factory_.GetWeakPtr())); -} - -void NearbySharingServiceImpl::GetBluetoothAdapter() { - auto* adapter_factory = device::BluetoothAdapterFactory::Get(); - if (!adapter_factory->IsBluetoothSupported()) - return; - - // Because this will be called from the constructor, GetAdapter() may call - // OnGetBluetoothAdapter() immediately which can cause problems during tests - // since the class is not fully constructed yet. - base::SequencedTaskRunnerHandle::Get()->PostTask( - FROM_HERE, - base::BindOnce( - &device::BluetoothAdapterFactory::GetAdapter, - base::Unretained(adapter_factory), - base::BindOnce(&NearbySharingServiceImpl::OnGetBluetoothAdapter, - weak_ptr_factory_.GetWeakPtr()))); -} - -void NearbySharingServiceImpl::OnGetBluetoothAdapter( - scoped_refptr<device::BluetoothAdapter> adapter) { - bluetooth_adapter_ = adapter; - bluetooth_adapter_->AddObserver(this); -} - -void NearbySharingServiceImpl::OnStartFastInitiationAdvertising() { - // TODO(hansenmichael): Do not invoke - // |register_send_surface_callback_| until Nearby Connections - // scanning is kicked off. - NS_LOG(VERBOSE) << "Started advertising FastInitiation."; -} - -void NearbySharingServiceImpl::OnStartFastInitiationAdvertisingError() { - fast_initiation_manager_.reset(); - NS_LOG(ERROR) << "Failed to start FastInitiation advertising."; -} - -void NearbySharingServiceImpl::OnStopFastInitiationAdvertising() { - fast_initiation_manager_.reset(); - NS_LOG(VERBOSE) << "Stopped advertising FastInitiation"; -} - bool NearbySharingServiceImpl::IsBluetoothPresent() const { return bluetooth_adapter_.get() && bluetooth_adapter_->IsPresent(); } @@ -1066,24 +1150,6 @@ net::NetworkChangeNotifier::ConnectionType::CONNECTION_ETHERNET); } -void NearbySharingServiceImpl::AdapterPresentChanged( - device::BluetoothAdapter* adapter, - bool present) { - NS_LOG(VERBOSE) << "Bluetooth present changed: " << present; - InvalidateSurfaceState(); - if (!present) - StopFastInitiationAdvertising(); -} - -void NearbySharingServiceImpl::AdapterPoweredChanged( - device::BluetoothAdapter* adapter, - bool powered) { - NS_LOG(VERBOSE) << "Bluetooth powered changed: " << powered; - InvalidateSurfaceState(); - if (!powered) - StopFastInitiationAdvertising(); -} - void NearbySharingServiceImpl::InvalidateSurfaceState() { InvalidateSendSurfaceState(); InvalidateReceiveSurfaceState(); @@ -1122,6 +1188,73 @@ return true; } +void NearbySharingServiceImpl::InvalidateSendSurfaceState() { + InvalidateScanningState(); + // TODO(b/161889067) InvalidateFastInitAdvertisement(); +} + +void NearbySharingServiceImpl::InvalidateScanningState() { + // Nothing to do if we're shutting down the profile. + if (!profile_) + return; + + if (!process_manager_->IsActiveProfile(profile_)) { + NS_LOG(VERBOSE) << __func__ + << ": Stopping discovery because profile was not active: " + << profile_->GetProfileUserName(); + StopScanning(); + return; + } + + // Screen is off. Do no work. + if (is_screen_locked_) { + StopScanning(); + NS_LOG(VERBOSE) << __func__ + << ": Stopping discovery because the screen is locked."; + return; + } + + if (!HasAvailableConnectionMediums()) { + StopScanning(); + NS_LOG(VERBOSE) + << __func__ + << ": Stopping scanning because both bluetooth and wifi LAN are " + "disabled."; + return; + } + + // Nearby Sharing is disabled. Don't advertise. + if (!settings_.GetEnabled()) { + StopScanning(); + NS_LOG(VERBOSE) + << __func__ + << ": Stopping discovery because Nearby Sharing is disabled."; + return; + } + + if (is_transferring_ || is_connecting_) { + StopScanning(); + NS_LOG(VERBOSE) + << __func__ + << ": Stopping discovery because we're currently in the midst of a " + "transfer."; + return; + } + + if (!foreground_send_transfer_callbacks_.might_have_observers()) { + StopScanning(); + NS_LOG(VERBOSE) + << __func__ + << ": Stopping discovery because no scanning surface has been " + "registered."; + return; + } + + // Screen is on, Bluetooth is enabled, and Nearby Sharing is enabled! Start + // discovery. + StartScanning(); +} + void NearbySharingServiceImpl::InvalidateReceiveSurfaceState() { InvalidateAdvertisingState(); // TODO(b/161889067) InvalidateFastInitScan(); @@ -1262,21 +1395,6 @@ return; } -void NearbySharingServiceImpl::OnStartAdvertisingResult( - bool used_device_name, - NearbyConnectionsManager::ConnectionsStatus status) { - if (status == NearbyConnectionsManager::ConnectionsStatus::kSuccess) { - NS_LOG(VERBOSE) - << "StartAdvertising over Nearby Connections was successful."; - SetInHighVisibility(used_device_name); - } else { - NS_LOG(ERROR) << "StartAdvertising over Nearby Connections failed: " - << NearbyConnectionsManager::ConnectionsStatusToString( - status); - SetInHighVisibility(false); - } -} - void NearbySharingServiceImpl::StopAdvertising() { SetInHighVisibility(false); if (advertising_power_level_ == PowerLevel::kUnknown) { @@ -1291,73 +1409,6 @@ NS_LOG(VERBOSE) << __func__ << ": Advertising has stopped"; } -void NearbySharingServiceImpl::InvalidateSendSurfaceState() { - InvalidateScanningState(); - // TODO(b/161889067) InvalidateFastInitAdvertisement(); -} - -void NearbySharingServiceImpl::InvalidateScanningState() { - // Nothing to do if we're shutting down the profile. - if (!profile_) - return; - - if (!process_manager_->IsActiveProfile(profile_)) { - NS_LOG(VERBOSE) << __func__ - << ": Stopping discovery because profile was not active: " - << profile_->GetProfileUserName(); - StopScanning(); - return; - } - - // Screen is off. Do no work. - if (is_screen_locked_) { - StopScanning(); - NS_LOG(VERBOSE) << __func__ - << ": Stopping discovery because the screen is locked."; - return; - } - - if (!HasAvailableConnectionMediums()) { - StopScanning(); - NS_LOG(VERBOSE) - << __func__ - << ": Stopping scanning because both bluetooth and wifi LAN are " - "disabled."; - return; - } - - // Nearby Sharing is disabled. Don't advertise. - if (!settings_.GetEnabled()) { - StopScanning(); - NS_LOG(VERBOSE) - << __func__ - << ": Stopping discovery because Nearby Sharing is disabled."; - return; - } - - if (is_transferring_ || is_connecting_) { - StopScanning(); - NS_LOG(VERBOSE) - << __func__ - << ": Stopping discovery because we're currently in the midst of a " - "transfer."; - return; - } - - if (!foreground_send_transfer_callbacks_.might_have_observers()) { - StopScanning(); - NS_LOG(VERBOSE) - << __func__ - << ": Stopping discovery because no scanning surface has been " - "registered."; - return; - } - - // Screen is on, Bluetooth is enabled, and Nearby Sharing is enabled! Start - // discovery. - StartScanning(); -} - void NearbySharingServiceImpl::StartScanning() { DCHECK(profile_); @@ -1434,68 +1485,6 @@ return StatusCodes::kOk; } -void NearbySharingServiceImpl::OnIncomingTransferUpdate( - const ShareTarget& share_target, - const TransferMetadata& metadata) { - if (metadata.status() != TransferMetadata::Status::kCancelled && - metadata.status() != TransferMetadata::Status::kRejected) { - last_incoming_metadata_ = - std::make_pair(share_target, TransferMetadataBuilder::Clone(metadata) - .set_is_original(false) - .build()); - } else { - last_incoming_metadata_ = base::nullopt; - } - - if (metadata.is_final_status()) { - OnTransferComplete(); - } else if (metadata.status() == - TransferMetadata::Status::kAwaitingLocalConfirmation) { - OnTransferStarted(/*is_incoming=*/true); - } - - base::ObserverList<TransferUpdateCallback>& transfer_callbacks = - foreground_receive_callbacks_.might_have_observers() - ? foreground_receive_callbacks_ - : background_receive_callbacks_; - - for (TransferUpdateCallback& callback : transfer_callbacks) { - callback.OnTransferUpdate(share_target, metadata); - } -} - -void NearbySharingServiceImpl::OnOutgoingTransferUpdate( - const ShareTarget& share_target, - const TransferMetadata& metadata) { - if (metadata.is_final_status()) { - is_connecting_ = false; - OnTransferComplete(); - } else if (metadata.status() == TransferMetadata::Status::kMediaDownloading || - metadata.status() == - TransferMetadata::Status::kAwaitingLocalConfirmation) { - is_connecting_ = false; - OnTransferStarted(/*is_incoming=*/false); - } - - bool has_foreground_send_surface = - foreground_send_transfer_callbacks_.might_have_observers(); - base::ObserverList<TransferUpdateCallback>& transfer_callbacks = - has_foreground_send_surface ? foreground_send_transfer_callbacks_ - : background_send_transfer_callbacks_; - - for (TransferUpdateCallback& callback : transfer_callbacks) - callback.OnTransferUpdate(share_target, metadata); - - if (has_foreground_send_surface && metadata.is_final_status()) { - last_outgoing_metadata_ = base::nullopt; - } else { - last_outgoing_metadata_ = - std::make_pair(share_target, TransferMetadataBuilder::Clone(metadata) - .set_is_original(false) - .build()); - } -} - void NearbySharingServiceImpl::OnTransferComplete() { is_receiving_files_ = false; is_transferring_ = false; @@ -1583,6 +1572,43 @@ } } +NearbySharingService::StatusCodes NearbySharingServiceImpl::SendPayloads( + const ShareTarget& share_target) { + NS_LOG(VERBOSE) << __func__ << ": Preparing to send payloads to " + << share_target.device_name; + ShareTargetInfo* info = GetShareTargetInfo(share_target); + if (!info || !info->connection()) { + NS_LOG(WARNING) << "Failed to send payload due to missing connection."; + return StatusCodes::kOutOfOrderApiCall; + } + if (!info->transfer_update_callback()) { + NS_LOG(WARNING) << "Failed to send payload due to missing transfer update " + "callback. Disconnecting."; + info->connection()->Close(); + return StatusCodes::kOutOfOrderApiCall; + } + + info->transfer_update_callback()->OnTransferUpdate( + share_target, + TransferMetadataBuilder() + .set_token(info->token()) + .set_status(TransferMetadata::Status::kAwaitingRemoteAcceptance) + .build()); + + if (!info->endpoint_id()) { + info->transfer_update_callback()->OnTransferUpdate( + share_target, TransferMetadataBuilder() + .set_status(TransferMetadata::Status::kFailed) + .build()); + info->connection()->Close(); + NS_LOG(WARNING) << "Failed to send payload due to missing endpoint id."; + return StatusCodes::kOutOfOrderApiCall; + } + + ReceiveConnectionResponse(share_target); + return StatusCodes::kOk; +} + void NearbySharingServiceImpl::OnUniquePathFetched( int64_t attachment_id, int64_t payload_id, @@ -1684,144 +1710,6 @@ std::move(status_codes_callback).Run(StatusCodes::kOk); } -NearbySharingService::StatusCodes NearbySharingServiceImpl::SendPayloads( - const ShareTarget& share_target) { - NS_LOG(VERBOSE) << __func__ << ": Preparing to send payloads to " - << share_target.device_name; - ShareTargetInfo* info = GetShareTargetInfo(share_target); - if (!info || !info->connection()) { - NS_LOG(WARNING) << "Failed to send payload due to missing connection."; - return StatusCodes::kOutOfOrderApiCall; - } - if (!info->transfer_update_callback()) { - NS_LOG(WARNING) << "Failed to send payload due to missing transfer update " - "callback. Disconnecting."; - info->connection()->Close(); - return StatusCodes::kOutOfOrderApiCall; - } - - info->transfer_update_callback()->OnTransferUpdate( - share_target, - TransferMetadataBuilder() - .set_token(info->token()) - .set_status(TransferMetadata::Status::kAwaitingRemoteAcceptance) - .build()); - - if (!info->endpoint_id()) { - info->transfer_update_callback()->OnTransferUpdate( - share_target, TransferMetadataBuilder() - .set_status(TransferMetadata::Status::kFailed) - .build()); - info->connection()->Close(); - NS_LOG(WARNING) << "Failed to send payload due to missing endpoint id."; - return StatusCodes::kOutOfOrderApiCall; - } - - ReceiveConnectionResponse(share_target); - return StatusCodes::kOk; -} - -NearbySharingService::StatusCodes NearbySharingServiceImpl::SendAttachments( - const ShareTarget& share_target, - std::vector<std::unique_ptr<Attachment>> attachments) { - if (!is_scanning_) { - NS_LOG(WARNING) << __func__ - << ": Failed to send attachments. Not scanning."; - return StatusCodes::kError; - } - - // |is_scanning_| means at least one send transfer callback. - DCHECK(foreground_send_transfer_callbacks_.might_have_observers() || - background_send_transfer_callbacks_.might_have_observers()); - // |is_scanning_| and |is_transferring_| are mutually exclusive. - DCHECK(!is_transferring_); - - ShareTargetInfo* info = GetShareTargetInfo(share_target); - if (!info || !info->endpoint_id()) { - // TODO(crbug.com/1119276): Support scanning for unknown share targets. - NS_LOG(WARNING) << __func__ - << ": Failed to send attachments. Unknown ShareTarget."; - return StatusCodes::kError; - } - - ShareTarget share_target_copy = share_target; - for (std::unique_ptr<Attachment>& attachment : attachments) { - DCHECK(attachment); - attachment->MoveToShareTarget(share_target_copy); - } - - if (!share_target_copy.has_attachments()) { - NS_LOG(WARNING) << __func__ << ": No attachments to send."; - return StatusCodes::kError; - } - - // For sending advertisement from scanner, the request advertisement should - // always be visible to everyone. - base::Optional<std::vector<uint8_t>> endpoint_info = - CreateEndpointInfo(local_device_data_manager_->GetDeviceName()); - if (!endpoint_info) { - NS_LOG(WARNING) << __func__ << ": Could not create local endpoint info."; - return StatusCodes::kError; - } - - info->set_transfer_update_callback(std::make_unique<TransferUpdateDecorator>( - base::BindRepeating(&NearbySharingServiceImpl::OnOutgoingTransferUpdate, - weak_ptr_factory_.GetWeakPtr()))); - - OnTransferStarted(/*is_incoming=*/false); - is_connecting_ = true; - InvalidateSendSurfaceState(); - - // Send process initialized successfully, from now on status updated will be - // sent out via OnOutgoingTransferUpdate(). - info->transfer_update_callback()->OnTransferUpdate( - share_target_copy, TransferMetadataBuilder() - .set_status(TransferMetadata::Status::kConnecting) - .build()); - - CreatePayloads(std::move(share_target_copy), - base::BindOnce(&NearbySharingServiceImpl::OnCreatePayloads, - weak_ptr_factory_.GetWeakPtr(), - std::move(*endpoint_info))); - - return StatusCodes::kOk; -} - -void NearbySharingServiceImpl::OnCreatePayloads( - std::vector<uint8_t> endpoint_info, - ShareTarget share_target, - bool success) { - OutgoingShareTargetInfo* info = GetOutgoingShareTargetInfo(share_target); - bool has_payloads = info && (!info->text_payloads().empty() || - !info->file_payloads().empty()); - if (!success || !has_payloads || !info->endpoint_id()) { - NS_LOG(WARNING) << __func__ - << ": Failed to send file to remote ShareTarget. Failed to " - "create payloads."; - if (info && info->transfer_update_callback()) { - info->transfer_update_callback()->OnTransferUpdate( - share_target, - TransferMetadataBuilder() - .set_status(TransferMetadata::Status::kMediaUnavailable) - .build()); - } - return; - } - - base::Optional<std::vector<uint8_t>> bluetooth_mac_address = - GetBluetoothMacAddress(share_target); - - DataUsage adjusted_data_usage = CheckFileSizeForDataUsagePreference( - settings_.GetDataUsage(), share_target); - - // TODO(crbug.com/1111458): Add preferred transfer type. - nearby_connections_manager_->Connect( - std::move(endpoint_info), *info->endpoint_id(), - std::move(bluetooth_mac_address), adjusted_data_usage, - base::BindOnce(&NearbySharingServiceImpl::OnOutgoingConnection, - weak_ptr_factory_.GetWeakPtr(), share_target)); -} - void NearbySharingServiceImpl::OnOutgoingConnection( const ShareTarget& share_target, NearbyConnection* connection) { @@ -2007,6 +1895,41 @@ std::move(callback))); } +void NearbySharingServiceImpl::OnCreatePayloads( + std::vector<uint8_t> endpoint_info, + ShareTarget share_target, + bool success) { + OutgoingShareTargetInfo* info = GetOutgoingShareTargetInfo(share_target); + bool has_payloads = info && (!info->text_payloads().empty() || + !info->file_payloads().empty()); + if (!success || !has_payloads || !info->endpoint_id()) { + NS_LOG(WARNING) << __func__ + << ": Failed to send file to remote ShareTarget. Failed to " + "create payloads."; + if (info && info->transfer_update_callback()) { + info->transfer_update_callback()->OnTransferUpdate( + share_target, + TransferMetadataBuilder() + .set_status(TransferMetadata::Status::kMediaUnavailable) + .build()); + } + return; + } + + base::Optional<std::vector<uint8_t>> bluetooth_mac_address = + GetBluetoothMacAddress(share_target); + + DataUsage adjusted_data_usage = CheckFileSizeForDataUsagePreference( + settings_.GetDataUsage(), share_target); + + // TODO(crbug.com/1111458): Add preferred transfer type. + nearby_connections_manager_->Connect( + std::move(endpoint_info), *info->endpoint_id(), + std::move(bluetooth_mac_address), adjusted_data_usage, + base::BindOnce(&NearbySharingServiceImpl::OnOutgoingConnection, + weak_ptr_factory_.GetWeakPtr(), share_target)); +} + void NearbySharingServiceImpl::OnOpenFiles( ShareTarget share_target, base::OnceCallback<void(ShareTarget, bool)> callback, @@ -2121,17 +2044,6 @@ } } -void NearbySharingServiceImpl::CloseConnection( - const ShareTarget& share_target) { - NearbyConnection* connection = GetConnection(share_target); - if (!connection) { - NS_LOG(WARNING) << __func__ << ": Invalid connection for target - " - << share_target.device_name; - return; - } - connection->Close(); -} - void NearbySharingServiceImpl::OnIncomingAdvertisementDecoded( const std::string& endpoint_id, ShareTarget placeholder_share_target, @@ -2161,6 +2073,79 @@ std::move(placeholder_share_target))); } +void NearbySharingServiceImpl::OnIncomingTransferUpdate( + const ShareTarget& share_target, + const TransferMetadata& metadata) { + if (metadata.status() != TransferMetadata::Status::kCancelled && + metadata.status() != TransferMetadata::Status::kRejected) { + last_incoming_metadata_ = + std::make_pair(share_target, TransferMetadataBuilder::Clone(metadata) + .set_is_original(false) + .build()); + } else { + last_incoming_metadata_ = base::nullopt; + } + + if (metadata.is_final_status()) { + OnTransferComplete(); + } else if (metadata.status() == + TransferMetadata::Status::kAwaitingLocalConfirmation) { + OnTransferStarted(/*is_incoming=*/true); + } + + base::ObserverList<TransferUpdateCallback>& transfer_callbacks = + foreground_receive_callbacks_.might_have_observers() + ? foreground_receive_callbacks_ + : background_receive_callbacks_; + + for (TransferUpdateCallback& callback : transfer_callbacks) { + callback.OnTransferUpdate(share_target, metadata); + } +} + +void NearbySharingServiceImpl::OnOutgoingTransferUpdate( + const ShareTarget& share_target, + const TransferMetadata& metadata) { + if (metadata.is_final_status()) { + is_connecting_ = false; + OnTransferComplete(); + } else if (metadata.status() == TransferMetadata::Status::kMediaDownloading || + metadata.status() == + TransferMetadata::Status::kAwaitingLocalConfirmation) { + is_connecting_ = false; + OnTransferStarted(/*is_incoming=*/false); + } + + bool has_foreground_send_surface = + foreground_send_transfer_callbacks_.might_have_observers(); + base::ObserverList<TransferUpdateCallback>& transfer_callbacks = + has_foreground_send_surface ? foreground_send_transfer_callbacks_ + : background_send_transfer_callbacks_; + + for (TransferUpdateCallback& callback : transfer_callbacks) + callback.OnTransferUpdate(share_target, metadata); + + if (has_foreground_send_surface && metadata.is_final_status()) { + last_outgoing_metadata_ = base::nullopt; + } else { + last_outgoing_metadata_ = + std::make_pair(share_target, TransferMetadataBuilder::Clone(metadata) + .set_is_original(false) + .build()); + } +} + +void NearbySharingServiceImpl::CloseConnection( + const ShareTarget& share_target) { + NearbyConnection* connection = GetConnection(share_target); + if (!connection) { + NS_LOG(WARNING) << __func__ << ": Invalid connection for target - " + << share_target.device_name; + return; + } + connection->Close(); +} + void NearbySharingServiceImpl::OnIncomingDecryptedCertificate( const std::string& endpoint_id, sharing::mojom::AdvertisementPtr advertisement, @@ -2893,23 +2878,6 @@ info->transfer_update_callback()->OnTransferUpdate(share_target, metadata); } -void NearbySharingServiceImpl::OnPayloadsFailed(ShareTarget share_target) { - if (!share_target.is_incoming) - return; - - nearby_connections_manager_->ClearIncomingPayloads(); - std::vector<base::FilePath> files_for_deletion; - for (const auto& file : share_target.file_attachments) { - auto it = attachment_info_map_.find(file.id()); - if (it == attachment_info_map_.end()) - continue; - - files_for_deletion.push_back(it->second.file_path); - } - - file_handler_.DeleteFilesFromDisk(std::move(files_for_deletion)); -} - bool NearbySharingServiceImpl::OnIncomingPayloadsComplete( ShareTarget& share_target) { DCHECK(share_target.is_incoming); @@ -2983,6 +2951,23 @@ return true; } +void NearbySharingServiceImpl::OnPayloadsFailed(ShareTarget share_target) { + if (!share_target.is_incoming) + return; + + nearby_connections_manager_->ClearIncomingPayloads(); + std::vector<base::FilePath> files_for_deletion; + for (const auto& file : share_target.file_attachments) { + auto it = attachment_info_map_.find(file.id()); + if (it == attachment_info_map_.end()) + continue; + + files_for_deletion.push_back(it->second.file_path); + } + + file_handler_.DeleteFilesFromDisk(std::move(files_for_deletion)); +} + void NearbySharingServiceImpl::Disconnect(const ShareTarget& share_target, TransferMetadata metadata) { ShareTargetInfo* share_target_info = GetShareTargetInfo(share_target); @@ -3122,6 +3107,21 @@ outgoing_share_target_map_.clear(); } +void NearbySharingServiceImpl::SetAttachmentPayloadId( + const Attachment& attachment, + int64_t payload_id) { + attachment_info_map_[attachment.id()].payload_id = payload_id; +} + +base::Optional<int64_t> NearbySharingServiceImpl::GetAttachmentPayloadId( + int64_t attachment_id) { + auto it = attachment_info_map_.find(attachment_id); + if (it == attachment_info_map_.end()) + return base::nullopt; + + return it->second.payload_id; +} + void NearbySharingServiceImpl::UnregisterShareTarget( const ShareTarget& share_target) { NS_LOG(VERBOSE) << __func__ << ": Unregistering share target - " @@ -3155,19 +3155,19 @@ mutual_acceptance_timeout_alarm_.Cancel(); } -void NearbySharingServiceImpl::SetAttachmentPayloadId( - const Attachment& attachment, - int64_t payload_id) { - attachment_info_map_[attachment.id()].payload_id = payload_id; -} - -base::Optional<int64_t> NearbySharingServiceImpl::GetAttachmentPayloadId( - int64_t attachment_id) { - auto it = attachment_info_map_.find(attachment_id); - if (it == attachment_info_map_.end()) - return base::nullopt; - - return it->second.payload_id; +void NearbySharingServiceImpl::OnStartAdvertisingResult( + bool used_device_name, + NearbyConnectionsManager::ConnectionsStatus status) { + if (status == NearbyConnectionsManager::ConnectionsStatus::kSuccess) { + NS_LOG(VERBOSE) + << "StartAdvertising over Nearby Connections was successful."; + SetInHighVisibility(used_device_name); + } else { + NS_LOG(ERROR) << "StartAdvertising over Nearby Connections failed: " + << NearbyConnectionsManager::ConnectionsStatusToString( + status); + SetInHighVisibility(false); + } } void NearbySharingServiceImpl::SetInHighVisibility(
diff --git a/chrome/browser/nearby_sharing/nearby_sharing_service_impl.h b/chrome/browser/nearby_sharing/nearby_sharing_service_impl.h index b25b3bf..1d6ca8e 100644 --- a/chrome/browser/nearby_sharing/nearby_sharing_service_impl.h +++ b/chrome/browser/nearby_sharing/nearby_sharing_service_impl.h
@@ -99,14 +99,10 @@ NearbyNotificationDelegate* GetNotificationDelegate( const std::string& notification_id) override; NearbyShareSettings* GetSettings() override; - - // nearby_share::mojom::NearbyShareSettingsObserver: - void OnEnabledChanged(bool enabled) override; - void OnDeviceNameChanged(const std::string& device_name) override; - void OnDataUsageChanged(nearby_share::mojom::DataUsage data_usage) override; - void OnVisibilityChanged(nearby_share::mojom::Visibility visibility) override; - void OnAllowedContactsChanged( - const std::vector<std::string>& allowed_contacts) override; + NearbyShareHttpNotifier* GetHttpNotifier() override; + NearbyShareLocalDeviceDataManager* GetLocalDeviceDataManager() override; + NearbyShareContactManager* GetContactManager() override; + NearbyShareCertificateManager* GetCertificateManager() override; // NearbyProcessManager::Observer: void OnNearbyProfileChanged(Profile* profile) override; @@ -120,34 +116,44 @@ // Test methods void FlushMojoForTesting(); - NearbyShareHttpNotifier* GetHttpNotifier() override; - NearbyShareLocalDeviceDataManager* GetLocalDeviceDataManager() override; - NearbyShareContactManager* GetContactManager() override; - NearbyShareCertificateManager* GetCertificateManager() override; void set_free_disk_space_for_testing(int64_t free_disk_space) { free_disk_space_for_testing_ = free_disk_space; } + private: + // nearby_share::mojom::NearbyShareSettingsObserver: + void OnEnabledChanged(bool enabled) override; + void OnDeviceNameChanged(const std::string& device_name) override; + void OnDataUsageChanged(nearby_share::mojom::DataUsage data_usage) override; + void OnVisibilityChanged(nearby_share::mojom::Visibility visibility) override; + void OnAllowedContactsChanged( + const std::vector<std::string>& allowed_contacts) override; + // NearbyConnectionsManager::DiscoveryListener: void OnEndpointDiscovered(const std::string& endpoint_id, const std::vector<uint8_t>& endpoint_info) override; void OnEndpointLost(const std::string& endpoint_id) override; - private: // ash::SessionObserver: void OnLockStateChanged(bool locked) override; + // BluetoothAdapter::Observer: + void AdapterPresentChanged(device::BluetoothAdapter* adapter, + bool present) override; + void AdapterPoweredChanged(device::BluetoothAdapter* adapter, + bool powered) override; + base::ObserverList<TransferUpdateCallback>& GetReceiveCallbacksFromState( ReceiveSurfaceState state); bool IsVisibleInBackground(Visibility visibility); const base::Optional<std::vector<uint8_t>> CreateEndpointInfo( const base::Optional<std::string>& device_name); - void StartFastInitiationAdvertising(); - void StopFastInitiationAdvertising(); void GetBluetoothAdapter(); void OnGetBluetoothAdapter(scoped_refptr<device::BluetoothAdapter> adapter); + void StartFastInitiationAdvertising(); void OnStartFastInitiationAdvertising(); void OnStartFastInitiationAdvertisingError(); + void StopFastInitiationAdvertising(); void OnStopFastInitiationAdvertising(); void OnOutgoingAdvertisementDecoded( const std::string& endpoint_id, @@ -159,10 +165,6 @@ bool IsBluetoothPresent() const; bool IsBluetoothPowered() const; bool HasAvailableConnectionMediums(); - void AdapterPresentChanged(device::BluetoothAdapter* adapter, - bool present) override; - void AdapterPoweredChanged(device::BluetoothAdapter* adapter, - bool powered) override; void InvalidateSurfaceState(); bool ShouldStopNearbyProcess(); void InvalidateSendSurfaceState();
diff --git a/chrome/browser/performance_manager/decorators/helpers/page_live_state_decorator_helper.cc b/chrome/browser/performance_manager/decorators/helpers/page_live_state_decorator_helper.cc index e3377560..474627d9 100644 --- a/chrome/browser/performance_manager/decorators/helpers/page_live_state_decorator_helper.cc +++ b/chrome/browser/performance_manager/decorators/helpers/page_live_state_decorator_helper.cc
@@ -123,12 +123,20 @@ PageLiveStateDecorator::OnIsBeingMirroredChanged(contents, is_being_mirrored); } -void PageLiveStateDecoratorHelper::OnIsCapturingDesktopChanged( +void PageLiveStateDecoratorHelper::OnIsCapturingWindowChanged( content::WebContents* contents, - bool is_capturing_desktop) { + bool is_capturing_window) { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); - PageLiveStateDecorator::OnIsCapturingDesktopChanged(contents, - is_capturing_desktop); + PageLiveStateDecorator::OnIsCapturingWindowChanged(contents, + is_capturing_window); +} + +void PageLiveStateDecoratorHelper::OnIsCapturingDisplayChanged( + content::WebContents* contents, + bool is_capturing_display) { + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); + PageLiveStateDecorator::OnIsCapturingDisplayChanged(contents, + is_capturing_display); } void PageLiveStateDecoratorHelper::OnPageNodeCreatedForWebContents(
diff --git a/chrome/browser/performance_manager/decorators/helpers/page_live_state_decorator_helper.h b/chrome/browser/performance_manager/decorators/helpers/page_live_state_decorator_helper.h index 0a8abb7..2c48f6d 100644 --- a/chrome/browser/performance_manager/decorators/helpers/page_live_state_decorator_helper.h +++ b/chrome/browser/performance_manager/decorators/helpers/page_live_state_decorator_helper.h
@@ -30,8 +30,10 @@ bool is_capturing_audio) override; void OnIsBeingMirroredChanged(content::WebContents* contents, bool is_being_mirrored) override; - void OnIsCapturingDesktopChanged(content::WebContents* contents, - bool is_capturing_desktop) override; + void OnIsCapturingWindowChanged(content::WebContents* contents, + bool is_capturing_window) override; + void OnIsCapturingDisplayChanged(content::WebContents* contents, + bool is_capturing_display) override; // PerformanceManagerMainThreadObserver: void OnPageNodeCreatedForWebContents(
diff --git a/chrome/browser/performance_manager/decorators/helpers/page_live_state_decorator_helper_unittest.cc b/chrome/browser/performance_manager/decorators/helpers/page_live_state_decorator_helper_unittest.cc index f86d461..66f19a5 100644 --- a/chrome/browser/performance_manager/decorators/helpers/page_live_state_decorator_helper_unittest.cc +++ b/chrome/browser/performance_manager/decorators/helpers/page_live_state_decorator_helper_unittest.cc
@@ -52,6 +52,8 @@ void EndToEndStreamPropertyTest( blink::mojom::MediaStreamType stream_type, + base::Optional<media::mojom::DisplayMediaInformationPtr> + display_media_info, bool (PageLiveStateDecorator::Data::*pm_getter)() const); // Forces deletion of the PageLiveStateDecoratorHelper. @@ -65,16 +67,18 @@ void PageLiveStateDecoratorHelperTest::EndToEndStreamPropertyTest( blink::mojom::MediaStreamType stream_type, + base::Optional<media::mojom::DisplayMediaInformationPtr> display_media_info, bool (PageLiveStateDecorator::Data::*pm_getter)() const) { // By default all properties are set to false. testing::TestPageNodePropertyOnPMSequence(web_contents(), pm_getter, false); // Create the fake stream device and start it, this should set the property to // true. - blink::MediaStreamDevices devices{ - blink::MediaStreamDevice(stream_type, "fake_device", "fake_device")}; + blink::MediaStreamDevice device(stream_type, "fake_device", "fake_device"); + device.display_media_info = std::move(display_media_info); + std::unique_ptr<content::MediaStreamUI> ui = - indicator()->RegisterMediaStream(web_contents(), devices); + indicator()->RegisterMediaStream(web_contents(), {device}); ui->OnStarted(base::OnceClosure(), content::MediaStreamUI::SourceCallback()); testing::TestPageNodePropertyOnPMSequence(web_contents(), pm_getter, true); @@ -88,25 +92,38 @@ TEST_F(PageLiveStateDecoratorHelperTest, OnIsCapturingVideoChanged) { EndToEndStreamPropertyTest( blink::mojom::MediaStreamType::DEVICE_VIDEO_CAPTURE, + /*display_media_info=*/base::nullopt, &PageLiveStateDecorator::Data::IsCapturingVideo); } TEST_F(PageLiveStateDecoratorHelperTest, OnIsCapturingAudioChanged) { EndToEndStreamPropertyTest( blink::mojom::MediaStreamType::DEVICE_AUDIO_CAPTURE, + /*display_media_info=*/base::nullopt, &PageLiveStateDecorator::Data::IsCapturingAudio); } TEST_F(PageLiveStateDecoratorHelperTest, OnIsBeingMirroredChanged) { EndToEndStreamPropertyTest( blink::mojom::MediaStreamType::GUM_TAB_VIDEO_CAPTURE, + /*display_media_info=*/base::nullopt, &PageLiveStateDecorator::Data::IsBeingMirrored); } -TEST_F(PageLiveStateDecoratorHelperTest, OnIsCapturingDesktopChanged) { +TEST_F(PageLiveStateDecoratorHelperTest, OnIsCapturingWindowChanged) { EndToEndStreamPropertyTest( blink::mojom::MediaStreamType::GUM_DESKTOP_VIDEO_CAPTURE, - &PageLiveStateDecorator::Data::IsCapturingDesktop); + /*display_media_info=*/base::nullopt, + &PageLiveStateDecorator::Data::IsCapturingWindow); +} + +TEST_F(PageLiveStateDecoratorHelperTest, OnIsCapturingDisplayChanged) { + EndToEndStreamPropertyTest( + blink::mojom::MediaStreamType::GUM_DESKTOP_VIDEO_CAPTURE, + media::mojom::DisplayMediaInformation::New( + media::mojom::DisplayCaptureSurfaceType::MONITOR, + /*logical_surface=*/true, media::mojom::CursorCaptureType::NEVER), + &PageLiveStateDecorator::Data::IsCapturingDisplay); } TEST_F(PageLiveStateDecoratorHelperTest, IsConnectedToBluetoothDevice) {
diff --git a/chrome/browser/performance_manager/policies/page_discarding_helper.cc b/chrome/browser/performance_manager/policies/page_discarding_helper.cc index 48ea700..6c37d1d 100644 --- a/chrome/browser/performance_manager/policies/page_discarding_helper.cc +++ b/chrome/browser/performance_manager/policies/page_discarding_helper.cc
@@ -261,7 +261,9 @@ return false; if (live_state_data->IsBeingMirrored()) return false; - if (live_state_data->IsCapturingDesktop()) + if (live_state_data->IsCapturingWindow()) + return false; + if (live_state_data->IsCapturingDisplay()) return false; if (live_state_data->IsConnectedToBluetoothDevice()) return false;
diff --git a/chrome/browser/performance_manager/policies/page_discarding_helper_unittest.cc b/chrome/browser/performance_manager/policies/page_discarding_helper_unittest.cc index 069ee101..bae8ab4 100644 --- a/chrome/browser/performance_manager/policies/page_discarding_helper_unittest.cc +++ b/chrome/browser/performance_manager/policies/page_discarding_helper_unittest.cc
@@ -148,9 +148,17 @@ page_node())); } -TEST_F(PageDiscardingHelperTest, TestCannotDiscardPageCapturingDesktop) { +TEST_F(PageDiscardingHelperTest, TestCannotDiscardPageCapturingWindow) { testing::FakePageLiveStateData::GetOrCreate(page_node()) - ->is_capturing_desktop_ = true; + ->is_capturing_window_ = true; + EXPECT_FALSE( + PageDiscardingHelper::GetFromGraph(graph())->CanUrgentlyDiscardForTesting( + page_node())); +} + +TEST_F(PageDiscardingHelperTest, TestCannotDiscardPageCapturingDisplay) { + testing::FakePageLiveStateData::GetOrCreate(page_node()) + ->is_capturing_display_ = true; EXPECT_FALSE( PageDiscardingHelper::GetFromGraph(graph())->CanUrgentlyDiscardForTesting( page_node()));
diff --git a/chrome/browser/performance_manager/test_support/page_discarding_utils.cc b/chrome/browser/performance_manager/test_support/page_discarding_utils.cc index aa6f6228..15f3304 100644 --- a/chrome/browser/performance_manager/test_support/page_discarding_utils.cc +++ b/chrome/browser/performance_manager/test_support/page_discarding_utils.cc
@@ -55,8 +55,11 @@ bool FakePageLiveStateData::IsBeingMirrored() const { return is_being_mirrored_; } -bool FakePageLiveStateData::IsCapturingDesktop() const { - return is_capturing_desktop_; +bool FakePageLiveStateData::IsCapturingWindow() const { + return is_capturing_window_; +} +bool FakePageLiveStateData::IsCapturingDisplay() const { + return is_capturing_display_; } bool FakePageLiveStateData::IsAutoDiscardable() const { return is_auto_discardable_;
diff --git a/chrome/browser/performance_manager/test_support/page_discarding_utils.h b/chrome/browser/performance_manager/test_support/page_discarding_utils.h index f11e17e..fd1fc2a 100644 --- a/chrome/browser/performance_manager/test_support/page_discarding_utils.h +++ b/chrome/browser/performance_manager/test_support/page_discarding_utils.h
@@ -37,7 +37,8 @@ bool IsCapturingVideo() const override; bool IsCapturingAudio() const override; bool IsBeingMirrored() const override; - bool IsCapturingDesktop() const override; + bool IsCapturingWindow() const override; + bool IsCapturingDisplay() const override; bool IsAutoDiscardable() const override; bool WasDiscarded() const override; @@ -46,7 +47,8 @@ bool is_capturing_video_ = false; bool is_capturing_audio_ = false; bool is_being_mirrored_ = false; - bool is_capturing_desktop_ = false; + bool is_capturing_window_ = false; + bool is_capturing_display_ = false; bool is_auto_discardable_ = true; bool was_discarded_ = false;
diff --git a/chrome/browser/printing/print_preview_sticky_settings.cc b/chrome/browser/printing/print_preview_sticky_settings.cc index dc3dd487..8e1e8e3 100644 --- a/chrome/browser/printing/print_preview_sticky_settings.cc +++ b/chrome/browser/printing/print_preview_sticky_settings.cc
@@ -57,6 +57,14 @@ base::flat_map<std::string, int> PrintPreviewStickySettings::GetPrinterRecentlyUsedRanks() { + int current_rank = 0; + base::flat_map<std::string, int> recently_used_ranks; + for (const std::string& printer_id : GetRecentlyUsedPrinters()) + recently_used_ranks[printer_id] = current_rank++; + return recently_used_ranks; +} + +std::vector<std::string> PrintPreviewStickySettings::GetRecentlyUsedPrinters() { const std::string* sticky_settings_state = printer_app_state(); if (!sticky_settings_state) return {}; @@ -71,15 +79,15 @@ if (!recent_destinations) return {}; - base::flat_map<std::string, int> recently_used_ranks; - int current_rank = 0; + std::vector<std::string> printers; + printers.reserve(recent_destinations->GetList().size()); for (const auto& recent_destination : recent_destinations->GetList()) { const std::string* printer_id = recent_destination.FindStringKey(kId); if (!printer_id) continue; - recently_used_ranks[*printer_id] = current_rank++; + printers.push_back(*printer_id); } - return recently_used_ranks; + return printers; } // static
diff --git a/chrome/browser/printing/print_preview_sticky_settings.h b/chrome/browser/printing/print_preview_sticky_settings.h index 60c7c8b..fb6a503 100644 --- a/chrome/browser/printing/print_preview_sticky_settings.h +++ b/chrome/browser/printing/print_preview_sticky_settings.h
@@ -6,6 +6,7 @@ #define CHROME_BROWSER_PRINTING_PRINT_PREVIEW_STICKY_SETTINGS_H_ #include <string> +#include <vector> #include "base/containers/flat_map.h" #include "base/optional.h" @@ -43,6 +44,11 @@ // the rank the more recent the printer was used. base::flat_map<std::string, int> GetPrinterRecentlyUsedRanks(); + // Parses serialized printing sticky settings state and extracts the list of + // recently used printers. The list is ordered from most recently used to + // least recently used. + std::vector<std::string> GetRecentlyUsedPrinters(); + static void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry); private:
diff --git a/chrome/browser/resource_coordinator/tab_lifecycle_unit.cc b/chrome/browser/resource_coordinator/tab_lifecycle_unit.cc index 92f9632f..020f430 100644 --- a/chrome/browser/resource_coordinator/tab_lifecycle_unit.cc +++ b/chrome/browser/resource_coordinator/tab_lifecycle_unit.cc
@@ -598,9 +598,10 @@ decision_details->AddReason(DecisionFailureReason::LIVE_STATE_MIRRORING); } - if (media_indicator->IsCapturingDesktop(web_contents())) { - decision_details->AddReason( - DecisionFailureReason::LIVE_STATE_DESKTOP_CAPTURE); + if (media_indicator->IsCapturingWindow(web_contents()) || + media_indicator->IsCapturingDisplay(web_contents())) { + decision_details->AddReason( + DecisionFailureReason::LIVE_STATE_DESKTOP_CAPTURE); } }
diff --git a/chrome/browser/resources/chromeos/accessibility/chromevox/background/annotation/user_annotation_handler_test.js b/chrome/browser/resources/chromeos/accessibility/chromevox/background/annotation/user_annotation_handler_test.js index 46d0ca3..f829fedc 100644 --- a/chrome/browser/resources/chromeos/accessibility/chromevox/background/annotation/user_annotation_handler_test.js +++ b/chrome/browser/resources/chromeos/accessibility/chromevox/background/annotation/user_annotation_handler_test.js
@@ -6,7 +6,6 @@ GEN_INCLUDE(['../../testing/chromevox_next_e2e_test_base.js']); GEN_INCLUDE(['../../testing/fake_objects.js']); -GEN_INCLUDE(['../../testing/mock_feedback.js']); /** * Test fixture for UserAnnotationHandler. @@ -43,16 +42,6 @@ } /** - * @return{!MockFeedback} - */ - createMockFeedback() { - const mockFeedback = - new MockFeedback(this.newCallback(), this.newCallback.bind(this)); - mockFeedback.install(); - return mockFeedback; - } - - /** * Returns the start node of the current ChromeVox range. * @return {AutomationNode} */
diff --git a/chrome/browser/resources/chromeos/accessibility/chromevox/background/background_test.js b/chrome/browser/resources/chromeos/accessibility/chromevox/background/background_test.js index 9922cd2d..d909a77a 100644 --- a/chrome/browser/resources/chromeos/accessibility/chromevox/background/background_test.js +++ b/chrome/browser/resources/chromeos/accessibility/chromevox/background/background_test.js
@@ -5,7 +5,7 @@ // Include test fixture. GEN_INCLUDE(['../testing/chromevox_next_e2e_test_base.js']); -GEN_INCLUDE(['../testing/mock_feedback.js', '../testing/fake_objects.js']); +GEN_INCLUDE(['../testing/fake_objects.js']); /** * Test fixture for Background. @@ -24,16 +24,6 @@ this.forceContextualLastOutput(); } - /** - * @return {!MockFeedback} - */ - createMockFeedback() { - const mockFeedback = - new MockFeedback(this.newCallback(), this.newCallback.bind(this)); - mockFeedback.install(); - return mockFeedback; - } - doGesture(gesture) { return () => { GestureCommandHandler.onAccessibilityGesture_(gesture);
diff --git a/chrome/browser/resources/chromeos/accessibility/chromevox/background/download_handler_test.js b/chrome/browser/resources/chromeos/accessibility/chromevox/background/download_handler_test.js index b7647a2..b1297d4 100644 --- a/chrome/browser/resources/chromeos/accessibility/chromevox/background/download_handler_test.js +++ b/chrome/browser/resources/chromeos/accessibility/chromevox/background/download_handler_test.js
@@ -6,7 +6,6 @@ GEN_INCLUDE(['../testing/chromevox_next_e2e_test_base.js']); GEN_INCLUDE(['../testing/fake_objects.js']); -GEN_INCLUDE(['../testing/mock_feedback.js']); /** * Test fixture for Download_Handler. @@ -39,16 +38,6 @@ } /** - * @return{!MockFeedback} - */ - createMockFeedback() { - const mockFeedback = - new MockFeedback(this.newCallback(), this.newCallback.bind(this)); - mockFeedback.install(); - return mockFeedback; - } - - /** * Simulates a chrome.downloads.onChanged event with the given parameters. */ simulateEvent(item) {
diff --git a/chrome/browser/resources/chromeos/accessibility/chromevox/background/editing_test.js b/chrome/browser/resources/chromeos/accessibility/chromevox/background/editing_test.js index c1a8c1c..32f381d 100644 --- a/chrome/browser/resources/chromeos/accessibility/chromevox/background/editing_test.js +++ b/chrome/browser/resources/chromeos/accessibility/chromevox/background/editing_test.js
@@ -7,10 +7,6 @@ '//chrome/browser/resources/chromeos/accessibility/chromevox/testing/chromevox_next_e2e_test_base.js', ]); -GEN_INCLUDE([ - '//chrome/browser/resources/chromeos/accessibility/chromevox/testing/mock_feedback.js' -]); - /** * Test fixture for editing tests. */ @@ -20,16 +16,6 @@ window.RoleType = chrome.automation.RoleType; } - /** - * @return {!MockFeedback} - */ - createMockFeedback() { - const mockFeedback = - new MockFeedback(this.newCallback(), this.newCallback.bind(this)); - mockFeedback.install(); - return mockFeedback; - } - press(keyCode, modifiers) { return function() { EventGenerator.sendKeyPress(keyCode, modifiers);
diff --git a/chrome/browser/resources/chromeos/accessibility/chromevox/background/live_regions_test.js b/chrome/browser/resources/chromeos/accessibility/chromevox/background/live_regions_test.js index cc26c901..72a1033 100644 --- a/chrome/browser/resources/chromeos/accessibility/chromevox/background/live_regions_test.js +++ b/chrome/browser/resources/chromeos/accessibility/chromevox/background/live_regions_test.js
@@ -7,10 +7,6 @@ '//chrome/browser/resources/chromeos/accessibility/chromevox/testing/chromevox_next_e2e_test_base.js', ]); -GEN_INCLUDE([ - '//chrome/browser/resources/chromeos/accessibility/chromevox/testing/mock_feedback.js' -]); - /** * Test fixture for Live Regions. */ @@ -22,16 +18,6 @@ } /** - * @return {!MockFeedback} - */ - createMockFeedback() { - const mockFeedback = - new MockFeedback(this.newCallback(), this.newCallback.bind(this)); - mockFeedback.install(); - return mockFeedback; - } - - /** * Simulates work done when users interact using keyboard, braille, or * touch. */
diff --git a/chrome/browser/resources/chromeos/accessibility/chromevox/background/locale_output_helper_test.js b/chrome/browser/resources/chromeos/accessibility/chromevox/background/locale_output_helper_test.js index cef1b47..7d5b2e3 100644 --- a/chrome/browser/resources/chromeos/accessibility/chromevox/background/locale_output_helper_test.js +++ b/chrome/browser/resources/chromeos/accessibility/chromevox/background/locale_output_helper_test.js
@@ -4,7 +4,6 @@ // Include test fixture. GEN_INCLUDE(['../testing/chromevox_next_e2e_test_base.js']); -GEN_INCLUDE(['../testing/mock_feedback.js']); /** * Test fixture for LocaleOutputHelper. @@ -46,17 +45,6 @@ } /** - * @return {!MockFeedback} - */ - createMockFeedback() { - const mockFeedback = - new MockFeedback(this.newCallback(), this.newCallback.bind(this)); - - mockFeedback.install(); - return mockFeedback; - } - - /** * Calls mock version of chrome.tts.getVoices() to populate * LocaleOutputHelper's available voice list with a specific set of voices. */
diff --git a/chrome/browser/resources/chromeos/accessibility/chromevox/background/settings_test.js b/chrome/browser/resources/chromeos/accessibility/chromevox/background/settings_test.js index be5f0ca..1d8dbf5 100644 --- a/chrome/browser/resources/chromeos/accessibility/chromevox/background/settings_test.js +++ b/chrome/browser/resources/chromeos/accessibility/chromevox/background/settings_test.js
@@ -34,13 +34,6 @@ `); super.testGenPreamble(); } - - createMockFeedback() { - const mockFeedback = - new MockFeedback(this.newCallback(), this.newCallback.bind(this)); - mockFeedback.install(); - return mockFeedback; - } }; TEST_F(
diff --git a/chrome/browser/resources/chromeos/accessibility/chromevox/background/user_action_monitor_test.js b/chrome/browser/resources/chromeos/accessibility/chromevox/background/user_action_monitor_test.js index 3f863c47..2e81a08c2 100644 --- a/chrome/browser/resources/chromeos/accessibility/chromevox/background/user_action_monitor_test.js +++ b/chrome/browser/resources/chromeos/accessibility/chromevox/background/user_action_monitor_test.js
@@ -4,20 +4,11 @@ // Include test fixture. GEN_INCLUDE(['../testing/chromevox_next_e2e_test_base.js']); -GEN_INCLUDE(['../testing/mock_feedback.js']); /** * Test fixture for UserActionMonitor. */ ChromeVoxUserActionMonitorTest = class extends ChromeVoxNextE2ETest { - /** @return {!MockFeedback} */ - createMockFeedback() { - const mockFeedback = - new MockFeedback(this.newCallback(), this.newCallback.bind(this)); - mockFeedback.install(); - return mockFeedback; - } - /** * Create mock event object. * @param {number} keyCode
diff --git a/chrome/browser/resources/chromeos/accessibility/chromevox/learn_mode/learn_mode_test.js b/chrome/browser/resources/chromeos/accessibility/chromevox/learn_mode/learn_mode_test.js index 6502553..132bb58 100644 --- a/chrome/browser/resources/chromeos/accessibility/chromevox/learn_mode/learn_mode_test.js +++ b/chrome/browser/resources/chromeos/accessibility/chromevox/learn_mode/learn_mode_test.js
@@ -5,7 +5,6 @@ // Include test fixture. GEN_INCLUDE([ '../testing/chromevox_next_e2e_test_base.js', - '//chrome/browser/resources/chromeos/accessibility/chromevox/testing/mock_feedback.js' ]); /** @@ -37,14 +36,6 @@ }); } - /** @return {!MockFeedback} */ - createMockFeedback() { - const mockFeedback = - new MockFeedback(this.newCallback(), this.newCallback.bind(this)); - mockFeedback.install(); - return mockFeedback; - } - getLearnModeWindow() { let learnModeWindow = null; while (!learnModeWindow) {
diff --git a/chrome/browser/resources/chromeos/accessibility/chromevox/options/options_test.js b/chrome/browser/resources/chromeos/accessibility/chromevox/options/options_test.js index a0b2470..fd77bb7 100644 --- a/chrome/browser/resources/chromeos/accessibility/chromevox/options/options_test.js +++ b/chrome/browser/resources/chromeos/accessibility/chromevox/options/options_test.js
@@ -5,7 +5,6 @@ // Include test fixture. GEN_INCLUDE([ '../testing/chromevox_next_e2e_test_base.js', - '//chrome/browser/resources/chromeos/accessibility/chromevox/testing/mock_feedback.js' ]); /** @@ -34,16 +33,6 @@ }); } - /** - * @return {!MockFeedback} - */ - createMockFeedback() { - const mockFeedback = - new MockFeedback(this.newCallback(), this.newCallback.bind(this)); - mockFeedback.install(); - return mockFeedback; - } - press(keyCode, modifiers) { return function() { EventGenerator.sendKeyPress(keyCode, modifiers);
diff --git a/chrome/browser/resources/chromeos/accessibility/chromevox/panel/panel_test.js b/chrome/browser/resources/chromeos/accessibility/chromevox/panel/panel_test.js index 8f99f75..344544f 100644 --- a/chrome/browser/resources/chromeos/accessibility/chromevox/panel/panel_test.js +++ b/chrome/browser/resources/chromeos/accessibility/chromevox/panel/panel_test.js
@@ -7,10 +7,6 @@ '//chrome/browser/resources/chromeos/accessibility/chromevox/testing/chromevox_next_e2e_test_base.js' ]); -GEN_INCLUDE([ - '//chrome/browser/resources/chromeos/accessibility/chromevox/testing/mock_feedback.js' -]); - /** * Test fixture for Panel. */ @@ -20,16 +16,6 @@ ChromeVoxE2ETest.prototype.testGenCppIncludes.call(this); } - /** - * @return {!MockFeedback} - */ - createMockFeedback() { - const mockFeedback = - new MockFeedback(this.newCallback(), this.newCallback.bind(this)); - mockFeedback.install(); - return mockFeedback; - } - getPanelWindow() { let panelWindow = null; while (!panelWindow) {
diff --git a/chrome/browser/resources/chromeos/accessibility/chromevox/panel/tutorial_test.js b/chrome/browser/resources/chromeos/accessibility/chromevox/panel/tutorial_test.js index 47b67630..b538ada 100644 --- a/chrome/browser/resources/chromeos/accessibility/chromevox/panel/tutorial_test.js +++ b/chrome/browser/resources/chromeos/accessibility/chromevox/panel/tutorial_test.js
@@ -33,16 +33,6 @@ window.doCmd = this.doCmd; } - /** - * @return {!MockFeedback} - */ - createMockFeedback() { - const mockFeedback = - new MockFeedback(this.newCallback(), this.newCallback.bind(this)); - mockFeedback.install(); - return mockFeedback; - } - getPanelWindow() { let panelWindow = null; while (!panelWindow) {
diff --git a/chrome/browser/resources/chromeos/accessibility/chromevox/testing/chromevox_next_e2e_test_base.js b/chrome/browser/resources/chromeos/accessibility/chromevox/testing/chromevox_next_e2e_test_base.js index 3cec54d3..f77ab82 100644 --- a/chrome/browser/resources/chromeos/accessibility/chromevox/testing/chromevox_next_e2e_test_base.js +++ b/chrome/browser/resources/chromeos/accessibility/chromevox/testing/chromevox_next_e2e_test_base.js
@@ -4,6 +4,7 @@ // Include test fixture. GEN_INCLUDE(['chromevox_e2e_test_base.js']); +GEN_INCLUDE(['mock_feedback.js']); /** * Base test fixture for ChromeVox Next end to end tests. @@ -34,6 +35,14 @@ } } + /** @return {!MockFeedback} */ + createMockFeedback() { + const mockFeedback = + new MockFeedback(this.newCallback(), this.newCallback.bind(this)); + mockFeedback.install(); + return mockFeedback; + } + /** * Create a function which performs the command |cmd|. * @param {string} cmd
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_am.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_am.xtb index 8b543cf..0bee83eb 100644 --- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_am.xtb +++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_am.xtb
@@ -52,6 +52,7 @@ <translation id="1291286136605998134">የማቀያየሪያ አዝራር</translation> <translation id="1299774449519412690">ፈካ ያለ የሰማይ ሰማያዊ</translation> <translation id="1303806948938513162">የChromeVox ምናሌዎችን ለማስገባት በ4 ጣቶች መታ ያድርጉ</translation> +<translation id="1313373992684326101">ወደ ቀዳሚው ክፍል ውሰድ። ምሳሌዎች የሁኔታ መሳቢያውን እና ማስጀመሪያውን ያካትታሉ።</translation> <translation id="1325363694295259631"><ph name="NAME" />፣ የምናሌ ንጥል ሬዲዮ አዝራር አልተመረጠም</translation> <translation id="1325946044405407859">ቡናማ የሚመስል</translation> <translation id="1331702245475014624"><ph name="INDEX" /> ከ<ph name="TOTAL" /></translation> @@ -79,6 +80,7 @@ <translation id="1506187449813838456">የድምጽ ቅጥነት ይጨምሩ</translation> <translation id="151784044608172266">ቀጣይ አረፍተ ነገር</translation> <translation id="1524531499102321782">የብሬይል ቀጣይ መስመር</translation> +<translation id="1542513807034338907">ወደ ቀዳሚው ገጽ ይሸብልሉ</translation> <translation id="1546370775711804143">ማሸብለያ አሞሌ</translation> <translation id="1555130319947370107">ሰማያዊ</translation> <translation id="1559739829547075274">ወደኋላ ያስሱ</translation> @@ -485,6 +487,7 @@ <translation id="4763480195061959176">ቪዲዮ</translation> <translation id="4764692524839457597">ነባሪ</translation> <translation id="4772771694153161212">ከስር አታስምር</translation> +<translation id="4780458943471935919">ወደ ቀጣዩ ገጽ ይሸብልሉ</translation> <translation id="4784215347943747396">መሣሪያውን በ1 ወይም 2 መቆጣጠሪያዎች ብቻ ይቆጣጠሩ</translation> <translation id="4786285211967466855">ምንም ቀዳሚ የደረጃ 1 ርዕስ የለም</translation> <translation id="4787577491510559358">ለአሁኑ ንጥል ቅርጸት ያስታውቁ</translation> @@ -820,6 +823,7 @@ <translation id="744163271241493234">pwded</translation> <translation id="7484805699335881122">የአባልነት ዓይነቶችን በሚናገሩ እና በተጠቀሱ፣ በተሰረዙ፣ በደመቁ፣ በቅንፍ ዉስጥ የተቀመጡ፣ ወይም በትላልቅ ፊደላት የተጻፈ ጽሑፍን በሚናገሩበት ጊዜ ድምፁን ይለውጡ።</translation> <translation id="7491962110804786152">TAB</translation> +<translation id="7492497529767769458">ወደ ቀጣይ ክፍል ውሰድ። ምሳሌዎች የሁኔታ መሳቢያውን እና ማስጀመሪያውን ያካትታሉ።</translation> <translation id="7505149250476994901">ከፊደል በፊት «cap» ይበሉ</translation> <translation id="7518543783849163354">ChromeVoxን ለጊዜው እንዳይናገር ለማስቆም የControl ቁልፉን ይጫኑ።</translation> <translation id="7533226154149229506">ፈዛዛ ወርቃማ በትር ቢጫ</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_ar.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_ar.xtb index 1b017d8..6d704c8 100644 --- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_ar.xtb +++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_ar.xtb
@@ -52,6 +52,7 @@ <translation id="1291286136605998134">زر التبديل</translation> <translation id="1299774449519412690">أزرق سماوي فاتح</translation> <translation id="1303806948938513162">النقر بأربعة أصابع للدخول إلى قوائم ChromeVox</translation> +<translation id="1313373992684326101">الانتقال إلى القسم السابق تتضمّن الأمثلة "شريط الحالة" و"مشغّل التطبيقات".</translation> <translation id="1325363694295259631">تم إلغاء اختيار الزر الخاص باختيار عنصر القائمة <ph name="NAME" />.</translation> <translation id="1325946044405407859">أسمر مصفر</translation> <translation id="1331702245475014624"><ph name="INDEX" /> من <ph name="TOTAL" /></translation> @@ -79,6 +80,7 @@ <translation id="1506187449813838456">زيادة درجة الصوت</translation> <translation id="151784044608172266">الجملة التالية</translation> <translation id="1524531499102321782">السطر التالي بطريقة برايل</translation> +<translation id="1542513807034338907">التمرير إلى الصفحة السابقة</translation> <translation id="1546370775711804143">شريط التمرير</translation> <translation id="1555130319947370107">أزرق</translation> <translation id="1559739829547075274">الانتقال للخلف</translation> @@ -486,6 +488,7 @@ <translation id="4763480195061959176">فيديو</translation> <translation id="4764692524839457597">تلقائي</translation> <translation id="4772771694153161212">بدون تسطير</translation> +<translation id="4780458943471935919">التمرير إلى الصفحة التالية</translation> <translation id="4784215347943747396">تسمح بالتحكُّم في الجهاز باستخدام مفتاح تبديل واحد أو مفتاحَين.</translation> <translation id="4786285211967466855">ليس هناك عنوان سابق من المستوى الأول.</translation> <translation id="4787577491510559358">الإعلان عن تنسيق عنصر حالي</translation> @@ -820,6 +823,7 @@ <translation id="744163271241493234">pwded</translation> <translation id="7484805699335881122">تغيير درجة الصوت عند نطق أنواع العناصر والنصوص المُقتبَسة أو المحذوفة أو النصوص الغامقة أو الظاهرة بين أقواس أو بأحرف كبيرة</translation> <translation id="7491962110804786152">علامة تبويب</translation> +<translation id="7492497529767769458">الانتقال إلى القسم التالي تتضمّن الأمثلة "شريط الحالة" و"مشغّل التطبيقات".</translation> <translation id="7505149250476994901">قُل "حرف كبير" قبل كتابة الحرف</translation> <translation id="7518543783849163354">لإيقاف ChromeVox مؤقتًا عن التحدث، اضغط على مفتاح Control.</translation> <translation id="7533226154149229506">أصفر ذهبي فاتح</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_az.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_az.xtb index 439a3165..4c28e289 100644 --- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_az.xtb +++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_az.xtb
@@ -52,6 +52,7 @@ <translation id="1291286136605998134">Keçid Düyməsi</translation> <translation id="1299774449519412690">Açıq Səma Mavisi</translation> <translation id="1303806948938513162">ChromeVox menyularına daxil olmaq üçün 4 barmaqla klikləyin</translation> +<translation id="1313373992684326101">Əvvəlki bölməyə keçin. Status Bölməsi və Başladıcı nümunə olaraq göstərilə bilər.</translation> <translation id="1325363694295259631"><ph name="NAME" />, menyu elementi dəyirmi düyməsi seçilməyib</translation> <translation id="1325946044405407859">Açıq-qəhvəyi</translation> <translation id="1331702245475014624"><ph name="TOTAL" /> ədəddən <ph name="INDEX" /></translation> @@ -79,6 +80,7 @@ <translation id="1506187449813838456">Tonu artırın</translation> <translation id="151784044608172266">Növbəti Cümlə</translation> <translation id="1524531499102321782">Brayl növbəti sətir</translation> +<translation id="1542513807034338907">Əvvəlki səhifəyə keçin</translation> <translation id="1546370775711804143">Çevirmə paneli</translation> <translation id="1555130319947370107">Mavi</translation> <translation id="1559739829547075274">Geri gedin</translation> @@ -485,6 +487,7 @@ <translation id="4763480195061959176">video</translation> <translation id="4764692524839457597">defolt</translation> <translation id="4772771694153161212">Altdan xətli deyil</translation> +<translation id="4780458943471935919">Növbəti səhifəyə keçin</translation> <translation id="4784215347943747396">Yalnız 1, yaxud 2 düymə ilə cihazı idarə edin</translation> <translation id="4786285211967466855">Öncəki 1-ci səviyyə başlığı yoxdur</translation> <translation id="4787577491510559358">Cari element üçün formatlamanı elan edin</translation> @@ -820,6 +823,7 @@ <translation id="744163271241493234">pwded</translation> <translation id="7484805699335881122">Element növləri və dırnaqda, silinmiş, qalın hərflə, mötərizədə və ya böyük hərflə yazılmış mətni səsləndirərkən tonu dəyişin.</translation> <translation id="7491962110804786152">tab</translation> +<translation id="7492497529767769458">Növbəti bölməyə keçin. Status Bölməsi və Başladıcı nümunə olaraq göstərilə bilər.</translation> <translation id="7505149250476994901">Hərfdən əvvəl "böyük hərflə" deyin</translation> <translation id="7518543783849163354">ChromeVox'un danışmasını müvəqqəti dayandırmaq üçün, Control düyməsinə basın.</translation> <translation id="7533226154149229506">Açıq-qızılı Sarı</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_be.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_be.xtb index 26afb52..0ccd3eb 100644 --- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_be.xtb +++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_be.xtb
@@ -52,6 +52,7 @@ <translation id="1291286136605998134">Кнопка пераключэння</translation> <translation id="1299774449519412690">Светлы нябесна-блакітны</translation> <translation id="1303806948938513162">Каб увайсці ў меню ChromeVox, дакраніцеся чатырма пальцамі</translation> +<translation id="1313373992684326101">Перайсці да папярэдняга раздзела. Напрыклад, да панэлі стану або панэлі запуску.</translation> <translation id="1325363694295259631"><ph name="NAME" />, кнопка-пераключальнік у пункце меню не выбрана</translation> <translation id="1325946044405407859">Рудавата-карычневы</translation> <translation id="1331702245475014624"><ph name="INDEX" /> з <ph name="TOTAL" /></translation> @@ -79,6 +80,7 @@ <translation id="1506187449813838456">Павялічыць вышыню голасу</translation> <translation id="151784044608172266">Наступны сказ</translation> <translation id="1524531499102321782">Брайль: наступны радок</translation> +<translation id="1542513807034338907">Прагартаць на папярэднюю старонку</translation> <translation id="1546370775711804143">Панэль прагорткі</translation> <translation id="1555130319947370107">Сіні</translation> <translation id="1559739829547075274">Перайсці назад</translation> @@ -485,6 +487,7 @@ <translation id="4763480195061959176">відэа</translation> <translation id="4764692524839457597">стандартна</translation> <translation id="4772771694153161212">Не падкрэслены</translation> +<translation id="4780458943471935919">Прагартаць на наступную старонку</translation> <translation id="4784215347943747396">Кіраванне прыладай з дапамогай аднаго-двух пераключальнікаў</translation> <translation id="4786285211967466855">Няма папярэдняга загалоўка ўзроўню 1</translation> <translation id="4787577491510559358">Агучыць фармаціраванне бягучага элемента</translation> @@ -820,6 +823,7 @@ <translation id="744163271241493234">зменапароля</translation> <translation id="7484805699335881122">Змяняць вышыню голасу пры агучванні тыпаў элементаў і тэксту, запісанага ў двукоссі, паўтлустым шрыфтам, у дужках, вялікімі літарамі або выдаленага.</translation> <translation id="7491962110804786152">укладка</translation> +<translation id="7492497529767769458">Перайсці да наступнага раздзела. Напрыклад, да панэлі стану або панэлі запуску.</translation> <translation id="7505149250476994901">Казаць "загалоўная" перад літарай</translation> <translation id="7518543783849163354">Каб прыпыніць маўленне ChromeVox, націсніце клавішу Ctrl.</translation> <translation id="7533226154149229506">Светлы сумнікава-жоўты</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_bg.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_bg.xtb index e3378fa..725e8e67 100644 --- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_bg.xtb +++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_bg.xtb
@@ -52,6 +52,7 @@ <translation id="1291286136605998134">Бутон за превключване</translation> <translation id="1299774449519412690">светло небесносиньо</translation> <translation id="1303806948938513162">Докоснете с 4 пръста, за да влезете в менютата на ChromeVox</translation> +<translation id="1313373992684326101">Преминаване към предишната секция, например областта за състоянието и стартовия панел.</translation> <translation id="1325363694295259631"><ph name="NAME" />, немаркиран бутон за избор на елемент от меню</translation> <translation id="1325946044405407859">бледокафяво</translation> <translation id="1331702245475014624"><ph name="INDEX" /> от <ph name="TOTAL" /></translation> @@ -79,6 +80,7 @@ <translation id="1506187449813838456">Увеличаване на височината на звука</translation> <translation id="151784044608172266">Следващото изречение</translation> <translation id="1524531499102321782">Следващият ред на брайловото писмо</translation> +<translation id="1542513807034338907">Превъртане към предишната страница</translation> <translation id="1546370775711804143">Лента за превъртане</translation> <translation id="1555130319947370107">синьо</translation> <translation id="1559739829547075274">Навигация назад</translation> @@ -485,6 +487,7 @@ <translation id="4763480195061959176">видео</translation> <translation id="4764692524839457597">по подразбиране</translation> <translation id="4772771694153161212">Неподчертан текст</translation> +<translation id="4780458943471935919">Превъртане към следващата страница</translation> <translation id="4784215347943747396">Управлявайте устройството само с 1 или 2 превключвателя</translation> <translation id="4786285211967466855">Няма предишно заглавие от първо ниво</translation> <translation id="4787577491510559358">Съобщаване на форматирането за текущия елемент</translation> @@ -820,6 +823,7 @@ <translation id="744163271241493234">pwded</translation> <translation id="7484805699335881122">Промяна на височината на гласа при изговаряне на типове елементи и текст, който е цитиран, изтрит, удебелен, в скоби или с главни букви.</translation> <translation id="7491962110804786152">раздел</translation> +<translation id="7492497529767769458">Преминаване към следващата секция, например областта за състоянието и стартовия панел.</translation> <translation id="7505149250476994901">Кажете „Главна буква“ преди буквата</translation> <translation id="7518543783849163354">За да спрете временно говора на ChromeVox, натиснете клавиша Control.</translation> <translation id="7533226154149229506">светлозлатисто</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_bn.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_bn.xtb index 9769f35..5567f3f 100644 --- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_bn.xtb +++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_bn.xtb
@@ -52,6 +52,7 @@ <translation id="1291286136605998134">এই বোতাম টগল করা যায়</translation> <translation id="1299774449519412690">হালকা আকাশী</translation> <translation id="1303806948938513162">ChromeVox মেনুতে প্রবেশ করার জন্য ৪টি আঙ্গুল দিয়ে ট্যাপ করুন</translation> +<translation id="1313373992684326101">আগের বিভাগে যান। যেমন স্ট্যাটাস ট্রে ও লঞ্চার।</translation> <translation id="1325363694295259631"><ph name="NAME" />, মেনু আইটেম রেডিও বোতাম বেছে নেওয়া অবস্থায় নেই</translation> <translation id="1325946044405407859">তামাটে</translation> <translation id="1331702245475014624"><ph name="TOTAL" />-এর <ph name="INDEX" /></translation> @@ -79,6 +80,7 @@ <translation id="1506187449813838456">পিচ বাড়ান</translation> <translation id="151784044608172266">পরবর্তী বাক্য</translation> <translation id="1524531499102321782">ব্রেইল পরবর্তী লাইন</translation> +<translation id="1542513807034338907">স্ক্রোল করে আগের পৃষ্ঠায় যান</translation> <translation id="1546370775711804143">স্ক্রল বার</translation> <translation id="1555130319947370107">নীল</translation> <translation id="1559739829547075274">পিছনের দিকে নেভিগেট করুন</translation> @@ -485,6 +487,7 @@ <translation id="4763480195061959176">ভিডিও</translation> <translation id="4764692524839457597">ডিফল্ট</translation> <translation id="4772771694153161212">নিচে আন্ডারলাইন দেওয়া নেই</translation> +<translation id="4780458943471935919">স্ক্রোল করে পরের পৃষ্ঠায় যান</translation> <translation id="4784215347943747396">১টি বা ২টি সুইচের মাধ্যমে ডিভাইস নিয়ন্ত্রণ করুন</translation> <translation id="4786285211967466855">কোনও পূর্ববর্তী লেভেল ১ শিরোনাম নেই</translation> <translation id="4787577491510559358">বর্তমান আইটেমের ফরম্যাটিং নিয়ে বলুন</translation> @@ -820,6 +823,7 @@ <translation id="744163271241493234">pwded</translation> <translation id="7484805699335881122">আপনার কথোপকথন টাইপ, কোট, মুছে ফেলা, মোটা করে লেখা, প্রথম ব্র্যাকেটে লেখা বা শব্দের প্রথম অক্ষর বড় হাতে লেখার সময় স্বরের নিক্ষেপ পরিবর্তন করুন।</translation> <translation id="7491962110804786152">ট্যাব</translation> +<translation id="7492497529767769458">পরের বিভাগে যান। যেমন স্ট্যাটাস ট্রে ও লঞ্চার।</translation> <translation id="7505149250476994901">অক্ষর লেখার আগে "বড় হাতের অক্ষর" বলুন</translation> <translation id="7518543783849163354">ChromeVox কে সাময়িকভাবে কথা বলা বন্ধ করার জন্য, কন্ট্রোল কী চাপুন।</translation> <translation id="7533226154149229506">হালকা সোনালী রড হলুদ</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_bs.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_bs.xtb index 8d3acbd..eb97c450 100644 --- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_bs.xtb +++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_bs.xtb
@@ -52,7 +52,7 @@ <translation id="1291286136605998134">Dugme za uključivanje/isključivanje</translation> <translation id="1299774449519412690">Svijetla nebeskoplava</translation> <translation id="1303806948938513162">Dodirnite s 4 prsta za ulazak u menije ChromeVoxa</translation> -<translation id="1313373992684326101">Prelazak na prethodni odjeljak. Primjeri uključuju traku statusa i Pokretač.</translation> +<translation id="1313373992684326101">Vraćanje na prethodni odjeljak. Primjeri uključuju Statusnu traku i Pokretač.</translation> <translation id="1325363694295259631">Poništen je odabir dugmeta za izbor stavke menija <ph name="NAME" /></translation> <translation id="1325946044405407859">Zagasita</translation> <translation id="1331702245475014624"><ph name="INDEX" /> od <ph name="TOTAL" /></translation> @@ -80,7 +80,7 @@ <translation id="1506187449813838456">Povećaj visinu tona</translation> <translation id="151784044608172266">Sljedeća rečenica</translation> <translation id="1524531499102321782">Sljedeća linija Brailleovog pisma</translation> -<translation id="1542513807034338907">Pomicanje na prethodnu stranicu</translation> +<translation id="1542513807034338907">Klizanje na prethodnu stranicu</translation> <translation id="1546370775711804143">Traka za pomicanje</translation> <translation id="1555130319947370107">Plava</translation> <translation id="1559739829547075274">Vrati se nazad</translation> @@ -487,7 +487,7 @@ <translation id="4763480195061959176">videozapis</translation> <translation id="4764692524839457597">zadano</translation> <translation id="4772771694153161212">Nije podvučeno</translation> -<translation id="4780458943471935919">Pomicanje na sljedeću stranicu</translation> +<translation id="4780458943471935919">Klizanje na sljedeću stranicu</translation> <translation id="4784215347943747396">Kontrolirajte uređaj sa samo 1 ili 2 prekidača</translation> <translation id="4786285211967466855">Nema prethodnog naslova 1. nivoa</translation> <translation id="4787577491510559358">Najava formatiranja za trenutnu stavku</translation> @@ -823,7 +823,7 @@ <translation id="744163271241493234">urdlznk</translation> <translation id="7484805699335881122">Promijenite visinu glasa prilikom izgovaranja vrsta elemenata te teksta koji je citiran, izbrisan, boldiran, napisan u zagradi ili velikim slovima.</translation> <translation id="7491962110804786152">kart</translation> -<translation id="7492497529767769458">Prelazak na sljedeći odjeljak. Primjeri uključuju traku statusa i Pokretač.</translation> +<translation id="7492497529767769458">Prelazak u sljedeći odjeljak. Primjeri uključuju Statusnu traku i Pokretač.</translation> <translation id="7505149250476994901">Recite "veliko" prije slova</translation> <translation id="7518543783849163354">Da privremeno spriječite ChromeVox da govori, pritisnite tipku Ctrl.</translation> <translation id="7533226154149229506">Svijetla zlatnožuta</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_de.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_de.xtb index ffa4bd0..4294d57 100644 --- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_de.xtb +++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_de.xtb
@@ -52,6 +52,7 @@ <translation id="1291286136605998134">Ein-/Aus-Schaltfläche</translation> <translation id="1299774449519412690">Helles Himmelblau</translation> <translation id="1303806948938513162">Tippen Sie mit vier Fingern, um die ChromeVox-Menüs aufzurufen</translation> +<translation id="1313373992684326101">Zum vorherigen Bereich wechseln, beispielsweise zur Statusleiste oder zum Launcher.</translation> <translation id="1325363694295259631"><ph name="NAME" />, Optionsfeld für Menüpunkt, nicht ausgewählt</translation> <translation id="1325946044405407859">Gelbbraun</translation> <translation id="1331702245475014624"><ph name="INDEX" /> von <ph name="TOTAL" /></translation> @@ -79,6 +80,7 @@ <translation id="1506187449813838456">Tonhöhe erhöhen</translation> <translation id="151784044608172266">Nächster Satz</translation> <translation id="1524531499102321782">Braille – nächste Zeile</translation> +<translation id="1542513807034338907">Zur vorherigen Seite scrollen</translation> <translation id="1546370775711804143">Bildlaufleiste</translation> <translation id="1555130319947370107">Blau</translation> <translation id="1559739829547075274">Zurück navigieren</translation> @@ -485,6 +487,7 @@ <translation id="4763480195061959176">Video</translation> <translation id="4764692524839457597">Standard</translation> <translation id="4772771694153161212">Nicht unterstrichen</translation> +<translation id="4780458943471935919">Zur nächsten Seite scrollen</translation> <translation id="4784215347943747396">Das Gerät lässt sich über einen oder zwei Schalter steuern</translation> <translation id="4786285211967466855">Keine vorherige Überschrift der Ebene 1</translation> <translation id="4787577491510559358">Formatierung für aktuelles Element ansagen</translation> @@ -820,6 +823,7 @@ <translation id="744163271241493234">pwded</translation> <translation id="7484805699335881122">Tonhöhe beim Vorlesen von Elementtypen und zitiertem, gelöschtem, fett gedrucktem, eingeklammertem oder großgeschriebenem Text verändern.</translation> <translation id="7491962110804786152">tab</translation> +<translation id="7492497529767769458">Zum nächsten Bereich wechseln, beispielsweise zur Statusleiste oder zum Launcher.</translation> <translation id="7505149250476994901">Vor dem Buchstaben "Großes" ansagen</translation> <translation id="7518543783849163354">Um ChromeVox vorübergehend stummzuschalten, drücken Sie die Strg-Taste.</translation> <translation id="7533226154149229506">Helles Goldrutengelb</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_es-419.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_es-419.xtb index 1d6c508..0587ede4 100644 --- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_es-419.xtb +++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_es-419.xtb
@@ -52,6 +52,7 @@ <translation id="1291286136605998134">Botón de activación</translation> <translation id="1299774449519412690">Azul cielo claro</translation> <translation id="1303806948938513162">Presiona con 4 dedos para acceder a los menús de ChromeVox</translation> +<translation id="1313373992684326101">Ve a la sección anterior. Los ejemplos incluyen la bandeja de estado y el Selector.</translation> <translation id="1325363694295259631"><ph name="NAME" />, botón de selección de elemento de menú no seleccionado</translation> <translation id="1325946044405407859">Canela</translation> <translation id="1331702245475014624"><ph name="INDEX" /> de <ph name="TOTAL" /></translation> @@ -79,6 +80,7 @@ <translation id="1506187449813838456">Aumentar el tono</translation> <translation id="151784044608172266">Frase siguiente</translation> <translation id="1524531499102321782">Línea de braille siguiente</translation> +<translation id="1542513807034338907">Desplazarse a la página anterior</translation> <translation id="1546370775711804143">Barra de desplazamiento</translation> <translation id="1555130319947370107">Azul</translation> <translation id="1559739829547075274">Retroceder</translation> @@ -485,6 +487,7 @@ <translation id="4763480195061959176">video</translation> <translation id="4764692524839457597">predeterminado</translation> <translation id="4772771694153161212">Sin subrayado</translation> +<translation id="4780458943471935919">Desplazarse a la página siguiente</translation> <translation id="4784215347943747396">Controla el dispositivo con solo 1 o 2 interruptores</translation> <translation id="4786285211967466855">No hay encabezados de nivel 1 anteriores</translation> <translation id="4787577491510559358">Anuncia el formato del elemento actual</translation> @@ -820,6 +823,7 @@ <translation id="744163271241493234">pwded</translation> <translation id="7484805699335881122">Cambiar el tono cuando se leen tipos de elementos y texto entrecomillado, eliminado, en negrita, entre paréntesis o en mayúsculas.</translation> <translation id="7491962110804786152">tab</translation> +<translation id="7492497529767769458">Ve a la siguiente sección. Los ejemplos incluyen la bandeja de estado y el Selector.</translation> <translation id="7505149250476994901">Decir "mayúscula" antes de la letra</translation> <translation id="7518543783849163354">Para silenciar ChromeVox de forma temporal, presiona la tecla Ctrl.</translation> <translation id="7533226154149229506">Amarillo oro claro</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_eu.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_eu.xtb index 244fe2f..f86c3a19 100644 --- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_eu.xtb +++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_eu.xtb
@@ -52,6 +52,7 @@ <translation id="1291286136605998134">Etengailua</translation> <translation id="1299774449519412690">Zeru-urdin argia</translation> <translation id="1303806948938513162">Sakatu lau hatzekin ChromeVox menuetan sartzeko</translation> +<translation id="1313373992684326101">Joan aurreko atalera; adibidez, egoera-erretilura edo abiarazlera.</translation> <translation id="1325363694295259631">Desautatuta dago <ph name="NAME" />, menuko aukeraren aukera-botoia</translation> <translation id="1325946044405407859">Brontze-kolorekoa</translation> <translation id="1331702245475014624"><ph name="INDEX" />/<ph name="TOTAL" /></translation> @@ -79,6 +80,7 @@ <translation id="1506187449813838456">Igo tonua</translation> <translation id="151784044608172266">Hurrengo esaldia</translation> <translation id="1524531499102321782">Idatzi braillez hurrengo lerroa</translation> +<translation id="1542513807034338907">Joan aurreko orrira</translation> <translation id="1546370775711804143">Korritze-barra</translation> <translation id="1555130319947370107">Urdina</translation> <translation id="1559739829547075274">Egin atzera</translation> @@ -485,6 +487,7 @@ <translation id="4763480195061959176">video</translation> <translation id="4764692524839457597">lehenetsia</translation> <translation id="4772771694153161212">Ez dago azpimarratuta</translation> +<translation id="4780458943471935919">Joan hurrengo orrira</translation> <translation id="4784215347943747396">Etengailu bat edo bi erabilita kontrolatu ahal izango duzu gailua</translation> <translation id="4786285211967466855">Ez dago lehenengo mailako beste goibururik honen aurretik</translation> <translation id="4787577491510559358">Iragarri uneko elementuaren formatua</translation> @@ -819,6 +822,7 @@ <translation id="744163271241493234">pwded</translation> <translation id="7484805699335881122">Aldatu tonua elementu motak eta komatxoen artean aipatutako, ezabatutako, loditutako, parentesi artean idatzitako edo letra larriz idatzitako testua ozen irakurtzen denean.</translation> <translation id="7491962110804786152">tab</translation> +<translation id="7492497529767769458">Joan hurrengo atalera; adibidez, egoera-erretilura edo abiarazlera.</translation> <translation id="7505149250476994901">Esan "maiuskula" hizkia baino lehen</translation> <translation id="7518543783849163354">Aldi batez ChromeVox-ek hitz egiteari utz diezaion, sakatu Kontrol tekla.</translation> <translation id="7533226154149229506">Urre-kolore horixka argikoa</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_fa.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_fa.xtb index b6ac09f6..45feb46 100644 --- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_fa.xtb +++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_fa.xtb
@@ -52,6 +52,7 @@ <translation id="1291286136605998134">دکمه تغییر وضعیت</translation> <translation id="1299774449519412690">آبی آسمانی روشن</translation> <translation id="1303806948938513162">برای ورود به منوهای ChromeVox، با ۴ انگشت ضربه بزنید</translation> +<translation id="1313373992684326101">به بخش قبلی بروید. نمونهها شامل «سینی وضعیت» و «راهانداز» میشود.</translation> <translation id="1325363694295259631"><ph name="NAME" />، دکمه رادیویی گزینه منو لغو انتخاب شد</translation> <translation id="1325946044405407859">برنزه کدر</translation> <translation id="1331702245475014624"><ph name="INDEX" /> از <ph name="TOTAL" /></translation> @@ -79,6 +80,7 @@ <translation id="1506187449813838456">افزایش گام</translation> <translation id="151784044608172266">جمله بعدی</translation> <translation id="1524531499102321782">خط بعدی بریل</translation> +<translation id="1542513807034338907">پیمایش به صفحه قبلی</translation> <translation id="1546370775711804143">نوار پیمایش</translation> <translation id="1555130319947370107">آبی</translation> <translation id="1559739829547075274">پیمایش به عقب</translation> @@ -485,6 +487,7 @@ <translation id="4763480195061959176">ویدئو</translation> <translation id="4764692524839457597">پیشفرض</translation> <translation id="4772771694153161212">زیرخط نیست</translation> +<translation id="4780458943471935919">پیمایش به صفحه بعدی</translation> <translation id="4784215347943747396">کنترل دستگاه تنها با ۱ یا ۲ کلید</translation> <translation id="4786285211967466855">عنوان سطح ۱ قبلی وجود ندارد</translation> <translation id="4787577491510559358">اعلام قالببندی برای مورد کنونی</translation> @@ -820,6 +823,7 @@ <translation id="744163271241493234">pwded</translation> <translation id="7484805699335881122">هنگام خواندن انواع عناصر و متن نقلشده، حذفشده، پررنگشده، داخل پرانتز، یا با حروف بزرگ، زیروبمی صدا تغییر داده شود.</translation> <translation id="7491962110804786152">برگه</translation> +<translation id="7492497529767769458">به بخش بعدی بروید. نمونهها شامل «سینی وضعیت» و «راهانداز» میشود.</translation> <translation id="7505149250476994901">گفتن «cap» (حرف بزرگ) قبل از حرف</translation> <translation id="7518543783849163354">برای توقف موقت صدای ChromeVox، کلید Control را فشار دهید.</translation> <translation id="7533226154149229506">لیمویی روشن</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_fi.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_fi.xtb index a9ee427..8218299d 100644 --- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_fi.xtb +++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_fi.xtb
@@ -52,6 +52,7 @@ <translation id="1291286136605998134">Päälle/pois-painike</translation> <translation id="1299774449519412690">Vaalea taivaansininen</translation> <translation id="1303806948938513162">Avaa ChromeVox-valikot napauttamalla neljällä sormella</translation> +<translation id="1313373992684326101">Siirry edelliseen osioon. Näitä ovat esimerkiksi tila-alue ja Käynnistysohjelma.</translation> <translation id="1325363694295259631"><ph name="NAME" />, valikkokohteen painikkeen valinta poistettu</translation> <translation id="1325946044405407859">Kellanruskea</translation> <translation id="1331702245475014624"><ph name="INDEX" />/<ph name="TOTAL" /></translation> @@ -79,6 +80,7 @@ <translation id="1506187449813838456">Lisää äänenkorkeutta</translation> <translation id="151784044608172266">Seuraava lause</translation> <translation id="1524531499102321782">Pistekirjoituksen seuraava rivi</translation> +<translation id="1542513807034338907">Vieritä edelliselle sivulle</translation> <translation id="1546370775711804143">Vierityspalkki</translation> <translation id="1555130319947370107">Sininen</translation> <translation id="1559739829547075274">Siirry taaksepäin</translation> @@ -485,6 +487,7 @@ <translation id="4763480195061959176">video</translation> <translation id="4764692524839457597">oletus</translation> <translation id="4772771694153161212">Ei alleviivausta</translation> +<translation id="4780458943471935919">Vieritä seuraavalle sivulle</translation> <translation id="4784215347943747396">Ohjaa laitetta vain 1–2 kytkimellä</translation> <translation id="4786285211967466855">Ei edellisiä tason 1 otsikoita</translation> <translation id="4787577491510559358">Sano nykyisen kohteen muotoilu</translation> @@ -820,6 +823,7 @@ <translation id="744163271241493234">pwded</translation> <translation id="7484805699335881122">Muuta äänenkorkeutta, kun ääneen luetaan elementtityyppejä ja lainattua, poistettua, lihavoitua, sulkeissa olevaa tai isolla kirjoitettua tekstiä.</translation> <translation id="7491962110804786152">sarkain</translation> +<translation id="7492497529767769458">Siirry seuraavaan osioon. Näitä ovat esimerkiksi tila-alue ja Käynnistysohjelma.</translation> <translation id="7505149250476994901">Sano "iso kirjain" ennen kirjainta</translation> <translation id="7518543783849163354">Mykistä ChromeVox väliaikaisesti Control-näppäimellä.</translation> <translation id="7533226154149229506">Vaalea kultapiisku</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_fil.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_fil.xtb index 90937694..f8cc550 100644 --- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_fil.xtb +++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_fil.xtb
@@ -52,6 +52,7 @@ <translation id="1291286136605998134">Toggle Button</translation> <translation id="1299774449519412690">Light Sky Blue</translation> <translation id="1303806948938513162">Mag-tap gamit ang 4 na daliri para makapasok sa mga menu ng ChromeVox</translation> +<translation id="1313373992684326101">Lumipat sa nakaraang seksyon. Kasama sa mga halimbawa ang Status Tray at Launcher.</translation> <translation id="1325363694295259631">Na-unselect ang <ph name="NAME" />, isang radio button ng item sa menu</translation> <translation id="1325946044405407859">Tan</translation> <translation id="1331702245475014624"><ph name="INDEX" /> ng <ph name="TOTAL" /></translation> @@ -79,6 +80,7 @@ <translation id="1506187449813838456">Taasan ang pitch</translation> <translation id="151784044608172266">Susunod na Pangungusap</translation> <translation id="1524531499102321782">Susunod na Linya ng Braille</translation> +<translation id="1542513807034338907">Mag-scroll papunta sa nakaraang page</translation> <translation id="1546370775711804143">Scroll bar</translation> <translation id="1555130319947370107">Asul</translation> <translation id="1559739829547075274">Mag-navigate pabalik</translation> @@ -485,6 +487,7 @@ <translation id="4763480195061959176">video</translation> <translation id="4764692524839457597">default</translation> <translation id="4772771694153161212">Hindi nakasalungguhit</translation> +<translation id="4780458943471935919">Mag-scroll papunta sa susunod na page</translation> <translation id="4784215347943747396">Kontrolin ang device sa pamamagitan lang ng 1 o 2 switch</translation> <translation id="4786285211967466855">Walang nakaraang heading sa antas 1</translation> <translation id="4787577491510559358">Ianunsyo ang pag-format para sa kasalukuyang item</translation> @@ -820,6 +823,7 @@ <translation id="744163271241493234">pwded</translation> <translation id="7484805699335881122">Baguhin ang pitch kapag nagbibigkas ng mga uri ng element at ng text na na-quote, na-delete, na-bold, inilagay sa panaklong, o na-capitalize.</translation> <translation id="7491962110804786152">tab</translation> +<translation id="7492497529767769458">Lumipat sa susunod na seksyon. Kasama sa mga halimbawa ang Status Tray at Launcher.</translation> <translation id="7505149250476994901">Sabihin ang "cap" bago ang titik</translation> <translation id="7518543783849163354">Upang pansamantalang ihinto ang ChromeVox sa pagsasalita, pindutin ang Control key.</translation> <translation id="7533226154149229506">Light Golden Rod Yellow</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_fr-CA.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_fr-CA.xtb index 617fada4e..e4102dc4 100644 --- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_fr-CA.xtb +++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_fr-CA.xtb
@@ -52,6 +52,7 @@ <translation id="1291286136605998134">Bouton Activer/désactiver</translation> <translation id="1299774449519412690">Bleu ciel clair</translation> <translation id="1303806948938513162">Touchez avec quatre doigts pour accéder aux menus de ChromeVox</translation> +<translation id="1313373992684326101">Passer à la section précédente. Par exemple, la barre d'état et le lanceur.</translation> <translation id="1325363694295259631"><ph name="NAME" />, le bouton radio de l'option de menu est désélectionné</translation> <translation id="1325946044405407859">Fauve</translation> <translation id="1331702245475014624"><ph name="INDEX" /> de <ph name="TOTAL" /></translation> @@ -79,6 +80,7 @@ <translation id="1506187449813838456">Augmenter la hauteur de la voix</translation> <translation id="151784044608172266">Phrase suivante</translation> <translation id="1524531499102321782">Ligne suivante (braille)</translation> +<translation id="1542513807034338907">Accéder à la page précédente</translation> <translation id="1546370775711804143">Barre de défilement</translation> <translation id="1555130319947370107">Bleu</translation> <translation id="1559739829547075274">Naviguer vers l'arrière</translation> @@ -485,6 +487,7 @@ <translation id="4763480195061959176">Vidéo</translation> <translation id="4764692524839457597">par défaut</translation> <translation id="4772771694153161212">Pas souligné</translation> +<translation id="4780458943471935919">Accéder à la page suivante</translation> <translation id="4784215347943747396">Pour commander l'appareil avec juste un ou deux commutateurs</translation> <translation id="4786285211967466855">Aucun en-tête de niveau 1 précédent</translation> <translation id="4787577491510559358">Annoncer le formatage pour l'élément actuel</translation> @@ -820,6 +823,7 @@ <translation id="744163271241493234">mot de passe</translation> <translation id="7484805699335881122">Changer la hauteur de la voix lors de la lecture des types d'éléments et du texte entre guillemets, supprimé, en gras, entre parenthèses ou en majuscules.</translation> <translation id="7491962110804786152">Tabulation</translation> +<translation id="7492497529767769458">Passer à la section suivante. Par exemple, la barre d'état et le lanceur.</translation> <translation id="7505149250476994901">Dire « majuscule » après la lettre</translation> <translation id="7518543783849163354">Pour que ChromeVox cesse temporairement de parler, appuyez sur la touche Ctrl.</translation> <translation id="7533226154149229506">Jaune or clair</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_fr.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_fr.xtb index 4661b14..a9b7914f 100644 --- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_fr.xtb +++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_fr.xtb
@@ -52,6 +52,7 @@ <translation id="1291286136605998134">Bouton d'activation</translation> <translation id="1299774449519412690">Bleu ciel clair</translation> <translation id="1303806948938513162">Appuyez avec quatre doigts pour accéder aux menus ChromeVox</translation> +<translation id="1313373992684326101">Passer à la section précédente. Exemples : barre d'état et Lanceur d'applications.</translation> <translation id="1325363694295259631"><ph name="NAME" />, case d'option désélectionnée de l'élément de menu</translation> <translation id="1325946044405407859">Brun clair</translation> <translation id="1331702245475014624"><ph name="INDEX" /> sur <ph name="TOTAL" /></translation> @@ -79,6 +80,7 @@ <translation id="1506187449813838456">Augmenter le timbre de la voix</translation> <translation id="151784044608172266">Phrase suivante</translation> <translation id="1524531499102321782">Ligne suivante (braille)</translation> +<translation id="1542513807034338907">Faire défiler jusqu'à la page précédente</translation> <translation id="1546370775711804143">Barre de défilement</translation> <translation id="1555130319947370107">Bleu</translation> <translation id="1559739829547075274">Navigation vers le haut</translation> @@ -485,6 +487,7 @@ <translation id="4763480195061959176">vidéo</translation> <translation id="4764692524839457597">par défaut</translation> <translation id="4772771694153161212">Non souligné</translation> +<translation id="4780458943471935919">Faire défiler jusqu'à la page suivante</translation> <translation id="4784215347943747396">Contrôler l'appareil avec seulement un ou deux contacteurs</translation> <translation id="4786285211967466855">Aucun titre de niveau 1 précédent</translation> <translation id="4787577491510559358">Annoncer la mise en forme de l'élément actuel</translation> @@ -820,6 +823,7 @@ <translation id="744163271241493234">pwded</translation> <translation id="7484805699335881122">Changez de ton en fonction du contenu prononcé : types d'élément et texte entre guillemets, supprimé, mis en gras, entre parenthèses ou en majuscules.</translation> <translation id="7491962110804786152">tabulation</translation> +<translation id="7492497529767769458">Passer à la section suivante. Exemples : barre d'état et Lanceur d'applications.</translation> <translation id="7505149250476994901">Dire "maj" après la lettre</translation> <translation id="7518543783849163354">Pour arrêter temporairement les commentaires audio ChromeVox, appuyez sur la touche Ctrl.</translation> <translation id="7533226154149229506">Jaune paille clair</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_gl.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_gl.xtb index 3f12a98..b437a28 100644 --- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_gl.xtb +++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_gl.xtb
@@ -52,6 +52,7 @@ <translation id="1291286136605998134">Botón de activación/desactivación</translation> <translation id="1299774449519412690">Azul celeste claro</translation> <translation id="1303806948938513162">Toca con 4 dedos para acceder aos menús de ChromeVox</translation> +<translation id="1313373992684326101">Ir á sección anterior. Exemplos: bandexa de estado, menú de aplicacións etc.</translation> <translation id="1325363694295259631"><ph name="NAME" />, botón de opción do elemento do menú non seleccionado</translation> <translation id="1325946044405407859">Bronceado</translation> <translation id="1331702245475014624"><ph name="INDEX" /> de <ph name="TOTAL" /></translation> @@ -79,6 +80,7 @@ <translation id="1506187449813838456">Sube o ton</translation> <translation id="151784044608172266">Seguinte frase</translation> <translation id="1524531499102321782">Seguinte liña en braille</translation> +<translation id="1542513807034338907">Desprazarse á páxina anterior</translation> <translation id="1546370775711804143">Barra de desprazamento</translation> <translation id="1555130319947370107">Azul</translation> <translation id="1559739829547075274">Navega cara atrás</translation> @@ -485,6 +487,7 @@ <translation id="4763480195061959176">vídeo</translation> <translation id="4764692524839457597">predeterminado</translation> <translation id="4772771694153161212">Texto sen subliñado</translation> +<translation id="4780458943471935919">Desprazarse á páxina seguinte</translation> <translation id="4784215347943747396">Controla o dispositivo con só 1 ou 2 interruptores</translation> <translation id="4786285211967466855">Non hai ningunha cabeceira anterior de nivel 1</translation> <translation id="4787577491510559358">Anuncia o formato do elemento actual</translation> @@ -820,6 +823,7 @@ <translation id="744163271241493234">pwded</translation> <translation id="7484805699335881122">Cambiar de ton ao pronunciar tipos de elementos e texto entre comiñas, eliminado, en letra grosa, entre parénteses ou en maiúsculas.</translation> <translation id="7491962110804786152">pestana</translation> +<translation id="7492497529767769458">Ir á seguinte sección. Exemplos: bandexa de estado, menú de aplicacións etc.</translation> <translation id="7505149250476994901">Di "maiúsculo" despois da letra</translation> <translation id="7518543783849163354">Para que ChromeVox deixe de falar temporalmente, preme a tecla Control.</translation> <translation id="7533226154149229506">Amarelo dourado claro</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_gu.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_gu.xtb index 27dd003..51f6d473 100644 --- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_gu.xtb +++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_gu.xtb
@@ -52,6 +52,7 @@ <translation id="1291286136605998134">ટૉગલ બટન</translation> <translation id="1299774449519412690">આછો આસમાની ભૂરો</translation> <translation id="1303806948938513162">ChromeVox મેનૂમાં દાખલ થવા માટે 4 આંગળીઓથી ટૅપ કરો</translation> +<translation id="1313373992684326101">પાછળના વિભાગ પર ખસેડો. ઉદાહરણોમાં સ્ટેટસ ટ્રે અને લૉન્ચર શામેલ છે.</translation> <translation id="1325363694295259631"><ph name="NAME" />, મેનૂ આઇટમ રેડિયો બટન નાપસંદ કર્યું</translation> <translation id="1325946044405407859">ટૅન</translation> <translation id="1331702245475014624"><ph name="TOTAL" /> માંથી <ph name="INDEX" /></translation> @@ -79,6 +80,7 @@ <translation id="1506187449813838456">પિચ વધારો</translation> <translation id="151784044608172266">આગલું વાક્ય</translation> <translation id="1524531499102321782">બ્રેઇલ આગલી રેખા</translation> +<translation id="1542513807034338907">પાછળના પેજ પર સ્ક્રોલ કરો</translation> <translation id="1546370775711804143">સ્ક્રોલ બાર</translation> <translation id="1555130319947370107">વાદળી</translation> <translation id="1559739829547075274">પાછળ નૅવિગેટ કરો</translation> @@ -485,6 +487,7 @@ <translation id="4763480195061959176">વીડિયો</translation> <translation id="4764692524839457597">ડિફૉલ્ટ</translation> <translation id="4772771694153161212">રેખાંકિત નથી</translation> +<translation id="4780458943471935919">આગળના પેજ પર સ્ક્રોલ કરો</translation> <translation id="4784215347943747396">ડિવાઇસને માત્ર 1 કે 2 સ્વિચ વડે નિયંત્રિત કરો</translation> <translation id="4786285211967466855">કોઈ પાછલું 'લેવલ 1' મથાળું નથી</translation> <translation id="4787577491510559358">હાલની આઇટમ માટેનું ફોર્મેટ જણાવો</translation> @@ -820,6 +823,7 @@ <translation id="744163271241493234">pwded</translation> <translation id="7484805699335881122">તત્ત્વના પ્રકાર અને અવતરણ ચિહ્નમાં મૂકેલી, ડિલીટ કરેલી, ઘાટી કરેલી, કૌંસમાં લખેલી કે કૅપિટલ મૂળાક્ષરોમાં લખેલી ટેક્સ્ટ બોલતી વખતે પિચ બદલો.</translation> <translation id="7491962110804786152">ટેબ</translation> +<translation id="7492497529767769458">આગળના વિભાગ પર ખસેડો. ઉદાહરણોમાં સ્ટેટસ ટ્રે અને લૉન્ચર શામેલ છે.</translation> <translation id="7505149250476994901">અક્ષર પહેલાં "કૅપિટલ" બોલો</translation> <translation id="7518543783849163354">ChromeVox ને બોલવાથી અસ્થાયીરૂપે રોકવા માટે, Control કી દબાવો.</translation> <translation id="7533226154149229506">આછો સોનેરી રૉડ પીળો</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_hu.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_hu.xtb index 668f7df..5c086021 100644 --- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_hu.xtb +++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_hu.xtb
@@ -52,6 +52,7 @@ <translation id="1291286136605998134">Váltógomb</translation> <translation id="1299774449519412690">Világos égkék</translation> <translation id="1303806948938513162">A ChromeVox-menük megnyitásához koppintson négy ujjal</translation> +<translation id="1313373992684326101">Ugrás az előző szakaszra. A példákban szerepel az Állapottálca és az Indító.</translation> <translation id="1325363694295259631">A menüelem (<ph name="NAME" />) választógombja nincs kiválasztva</translation> <translation id="1325946044405407859">Cserszín</translation> <translation id="1331702245475014624"><ph name="INDEX" />/<ph name="TOTAL" /></translation> @@ -79,6 +80,7 @@ <translation id="1506187449813838456">Hangszín növelése</translation> <translation id="151784044608172266">Következő mondat</translation> <translation id="1524531499102321782">Következő sor Braille-írása</translation> +<translation id="1542513807034338907">Görgetés az előző oldalra</translation> <translation id="1546370775711804143">Görgetősáv</translation> <translation id="1555130319947370107">Kék</translation> <translation id="1559739829547075274">Navigálás visszafelé</translation> @@ -485,6 +487,7 @@ <translation id="4763480195061959176">video</translation> <translation id="4764692524839457597">alapbeállítás</translation> <translation id="4772771694153161212">Nincs aláhúzás</translation> +<translation id="4780458943471935919">Görgetés a következő oldalra</translation> <translation id="4784215347943747396">Mindössze egy vagy kettő kapcsolóval vezérelheti az eszközt</translation> <translation id="4786285211967466855">Nincs előző 1. szintű címsor</translation> <translation id="4787577491510559358">Aktuális elem formázásának bejelentése</translation> @@ -819,6 +822,7 @@ <translation id="744163271241493234">jelszóbevitel</translation> <translation id="7484805699335881122">Hangmagasság módosítása az elemtípusok, valamint az idézett, törölt, félkövér, zárójelben lévő és nagybetűs szövegek esetén.</translation> <translation id="7491962110804786152">tab</translation> +<translation id="7492497529767769458">Ugrás a következő szakaszra. A példákban szerepel az Állapottálca és az Indító.</translation> <translation id="7505149250476994901">A betű előtt mondja, hogy „nagy”</translation> <translation id="7518543783849163354">A ChromeVox beszédének átmeneti leállításához nyomja le a Control billentyűt.</translation> <translation id="7533226154149229506">Világos aranyvesszősárga</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_id.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_id.xtb index b470318..3cc6c92 100644 --- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_id.xtb +++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_id.xtb
@@ -52,6 +52,7 @@ <translation id="1291286136605998134">Tombol</translation> <translation id="1299774449519412690">Light Sky Blue</translation> <translation id="1303806948938513162">Ketuk dengan 4 jari untuk membuka menu ChromeVox</translation> +<translation id="1313373992684326101">Pindah ke bagian sebelumnya. Contohnya meliputi Menu Status and Peluncur.</translation> <translation id="1325363694295259631"><ph name="NAME" />, tombol pilihan item menu batal dipilih</translation> <translation id="1325946044405407859">Tan</translation> <translation id="1331702245475014624"><ph name="INDEX" /> dari <ph name="TOTAL" /></translation> @@ -79,6 +80,7 @@ <translation id="1506187449813838456">Meningkatkan tinggi nada</translation> <translation id="151784044608172266">Kalimat Berikutnya</translation> <translation id="1524531499102321782">Baris Braille selanjutnya</translation> +<translation id="1542513807034338907">Scroll ke halaman sebelumnya</translation> <translation id="1546370775711804143">Bilah gulir</translation> <translation id="1555130319947370107">Biru</translation> <translation id="1559739829547075274">Menavigasi mundur</translation> @@ -485,6 +487,7 @@ <translation id="4763480195061959176">video</translation> <translation id="4764692524839457597">default</translation> <translation id="4772771694153161212">Tidak garis bawah</translation> +<translation id="4780458943471935919">Scroll ke halaman berikutnya</translation> <translation id="4784215347943747396">Kontrol perangkat hanya dengan satu atau dua tombol</translation> <translation id="4786285211967466855">Tidak ada judul level 1 sebelumnya</translation> <translation id="4787577491510559358">Ucapkan format item saat ini</translation> @@ -819,6 +822,7 @@ <translation id="744163271241493234">pwded</translation> <translation id="7484805699335881122">Ubah tinggi nada saat elemen ucapan mengetik dan mengutip, menghapus, menebalkan, memberi tanda kurung, atau mengapitalkan teks.</translation> <translation id="7491962110804786152">tab</translation> +<translation id="7492497529767769458">Pindah ke bagian berikutnya. Contohnya meliputi Menu Status and Peluncur.</translation> <translation id="7505149250476994901">Ucapkan "kapital" sebelum huruf</translation> <translation id="7518543783849163354">Untuk menghentikan ChromeVox berbicara sementara, tekan tombol Control.</translation> <translation id="7533226154149229506">Light Golden Rod Yellow</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_is.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_is.xtb index 1fa68a63..19016db 100644 --- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_is.xtb +++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_is.xtb
@@ -52,6 +52,7 @@ <translation id="1291286136605998134">Hnappur til að slökkva og kveikja</translation> <translation id="1299774449519412690">Ljóshiminblár</translation> <translation id="1303806948938513162">Ýttu með fjórum fingrum til að opna valmyndir ChromeVox</translation> +<translation id="1313373992684326101">Fara yfir í fyrri hluta. Dæmi eru m.a. stöðusvæði og ræsiforrit.</translation> <translation id="1325363694295259631"><ph name="NAME" />, hringhnappur valmyndaratriðis ekki valinn</translation> <translation id="1325946044405407859">Gulbrúnn</translation> <translation id="1331702245475014624"><ph name="INDEX" /> af <ph name="TOTAL" /></translation> @@ -79,6 +80,7 @@ <translation id="1506187449813838456">Auka tónhæð</translation> <translation id="151784044608172266">Næsta setning</translation> <translation id="1524531499102321782">Næsta lína með blindraletri</translation> +<translation id="1542513807034338907">Fletta á fyrri síðu</translation> <translation id="1546370775711804143">Flettistika</translation> <translation id="1555130319947370107">Blár</translation> <translation id="1559739829547075274">Fletta afturábak</translation> @@ -485,6 +487,7 @@ <translation id="4763480195061959176">myndskeið</translation> <translation id="4764692524839457597">sjálfgefið</translation> <translation id="4772771694153161212">Ekki undirstrikun</translation> +<translation id="4780458943471935919">Fletta á næstu síðu</translation> <translation id="4784215347943747396">Stjórnaðu tækinu með aðeins einum eða tveimur rofum</translation> <translation id="4786285211967466855">Engin fyrri 1. stigs fyrirsögn</translation> <translation id="4787577491510559358">Tilkynning um snið fyrir núverandi atriði</translation> @@ -820,6 +823,7 @@ <translation id="744163271241493234">pwded</translation> <translation id="7484805699335881122">Breyta tónhæð við upplestur einingartegunda og texta innan gæsalappa eða sviga, eydds og feitletraðs texta og texta í hástöfum.</translation> <translation id="7491962110804786152">flipi</translation> +<translation id="7492497529767769458">Fara yfir í næsta hluta. Dæmi eru m.a. stöðusvæði og ræsiforrit.</translation> <translation id="7505149250476994901">Segðu „cap“ á undan staf</translation> <translation id="7518543783849163354">Ýttu á Ctrl-lykilinn til að fá ChromeVox til að hætta tímabundið að tala.</translation> <translation id="7533226154149229506">Ljósgulur</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_iw.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_iw.xtb index 6418f28..75142ca 100644 --- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_iw.xtb +++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_iw.xtb
@@ -52,6 +52,7 @@ <translation id="1291286136605998134">לחצן החלפת מצב</translation> <translation id="1299774449519412690">כחול שמיים בהיר</translation> <translation id="1303806948938513162">מקישים עם 4 אצבעות כדי לעבור אל התפריטים של ChromeVox</translation> +<translation id="1313373992684326101">חזרה לקטע הקודם. הדוגמאות כוללות את מגש הסטטוס ואת מרכז האפליקציות.</translation> <translation id="1325363694295259631"><ph name="NAME" />, ביטלת את הסימון בלחצן הבחירה של האפשרות בתפריט</translation> <translation id="1325946044405407859">חום צהבהב</translation> <translation id="1331702245475014624"><ph name="INDEX" /> מתוך <ph name="TOTAL" /></translation> @@ -79,6 +80,7 @@ <translation id="1506187449813838456">הגבר את גובה הצליל</translation> <translation id="151784044608172266">המשפט הבא</translation> <translation id="1524531499102321782">השורה הבאה בברייל</translation> +<translation id="1542513807034338907">גלילה אל הדף הקודם</translation> <translation id="1546370775711804143">סרגל גלילה</translation> <translation id="1555130319947370107">כחול</translation> <translation id="1559739829547075274">נווט לאחור</translation> @@ -485,6 +487,7 @@ <translation id="4763480195061959176">סרטוני וידאו</translation> <translation id="4764692524839457597">ברירת מחדל</translation> <translation id="4772771694153161212">ללא קו תחתון</translation> +<translation id="4780458943471935919">גלילה לדף הבא</translation> <translation id="4784215347943747396">אפשר לשלוט במכשיר בעזרת מתג אחד או שניים בלבד</translation> <translation id="4786285211967466855">אין כותרת קודמת מרמה 1</translation> <translation id="4787577491510559358">הקראת הפורמט של הפריט הנוכחי</translation> @@ -820,6 +823,7 @@ <translation id="744163271241493234">pwded</translation> <translation id="7484805699335881122">שינוי גובה הצליל בעת אמירת סוגי אלמנטים, כמו גם בהקראה של טקסט מועתק במירכאות, מחוק, מודגש, בסוגריים או באותיות גדולות.</translation> <translation id="7491962110804786152">tab</translation> +<translation id="7492497529767769458">מעבר לקטע הבא. הדוגמאות כוללות את מגש הסטטוס ואת מרכז האפליקציות.</translation> <translation id="7505149250476994901">יש לומר "גדולה" אחרי האות</translation> <translation id="7518543783849163354">כדי להפסיק באופן זמני את המשוב בדיבור של ChromeVox, הקש על Control.</translation> <translation id="7533226154149229506">צהוב מטה-זהב בהיר</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_ja.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_ja.xtb index ce4ede5..b96d69d 100644 --- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_ja.xtb +++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_ja.xtb
@@ -52,6 +52,7 @@ <translation id="1291286136605998134">切り替えボタン</translation> <translation id="1299774449519412690">ライト スカイブルー</translation> <translation id="1303806948938513162">ChromeVox メニューを開くには 4 本の指でタップします</translation> +<translation id="1313373992684326101">前のセクションに移動します。たとえばステータス トレイやランチャーなどです。</translation> <translation id="1325363694295259631"><ph name="NAME" />、選択されていないメニュー項目のラジオボタン</translation> <translation id="1325946044405407859">タン</translation> <translation id="1331702245475014624"><ph name="TOTAL" /> 分 の <ph name="INDEX" /></translation> @@ -79,6 +80,7 @@ <translation id="1506187449813838456">ピッチを上げる</translation> <translation id="151784044608172266">次の文</translation> <translation id="1524531499102321782">ブライユ点字の次の行</translation> +<translation id="1542513807034338907">前のページにスクロールします</translation> <translation id="1546370775711804143">スクロールバー</translation> <translation id="1555130319947370107">青</translation> <translation id="1559739829547075274">逆方向にナビゲート</translation> @@ -485,6 +487,7 @@ <translation id="4763480195061959176">動画</translation> <translation id="4764692524839457597">デフォルト</translation> <translation id="4772771694153161212">下線オフ</translation> +<translation id="4780458943471935919">次のページにスクロールします</translation> <translation id="4784215347943747396">1~2 個のスイッチだけでデバイスを制御します</translation> <translation id="4786285211967466855">前のレベル 1 の見出しはありません</translation> <translation id="4787577491510559358">現在のアイテムの書式設定を読み上げる</translation> @@ -820,6 +823,7 @@ <translation id="744163271241493234">パスワードを編集</translation> <translation id="7484805699335881122">要素タイプと引用符付き、削除済み、太字、カッコ付き、または大文字のテキストを読み上げるときにピッチを変更する。</translation> <translation id="7491962110804786152">タブ</translation> +<translation id="7492497529767769458">次のセクションに移動します。たとえばステータス トレイやランチャーなどです。</translation> <translation id="7505149250476994901">「大文字の」と言ってから文字を読み上げる</translation> <translation id="7518543783849163354">ChromeVox の読み上げを一時的に停止するには、Ctrl キーを押します。</translation> <translation id="7533226154149229506">ライト ゴールデン ロッドイエロー</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_kk.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_kk.xtb index fac723d4..52ea15e 100644 --- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_kk.xtb +++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_kk.xtb
@@ -52,6 +52,7 @@ <translation id="1291286136605998134">Қосу/Өшіру түймесі</translation> <translation id="1299774449519412690">Ашық аспан көк</translation> <translation id="1303806948938513162">ChromeVox мәзірін енгізу үшін 4 саусағыңызбен түртіңіз</translation> +<translation id="1313373992684326101">Алдыңғы бөлімге өту. Мысалдар: күй панелі немесе Launcher.</translation> <translation id="1325363694295259631"><ph name="NAME" /> мәзір элементінің ауыстырып қосқышы таңдаудан алынып тасталған</translation> <translation id="1325946044405407859">Қоңырқай</translation> <translation id="1331702245475014624"><ph name="TOTAL" /> ішінен <ph name="INDEX" /></translation> @@ -79,6 +80,7 @@ <translation id="1506187449813838456">Қадамды үлкейту</translation> <translation id="151784044608172266">Келесі сөйлем</translation> <translation id="1524531499102321782">Брайль келесі жолы</translation> +<translation id="1542513807034338907">Алдыңғы терезеге айналдыру</translation> <translation id="1546370775711804143">Айналдыру жолағы</translation> <translation id="1555130319947370107">Көк</translation> <translation id="1559739829547075274">Артқа өту</translation> @@ -485,6 +487,7 @@ <translation id="4763480195061959176">бейне</translation> <translation id="4764692524839457597">әдепкі</translation> <translation id="4772771694153161212">Асты сызылмаған</translation> +<translation id="4780458943471935919">Келесі бетке айналдыру</translation> <translation id="4784215347943747396">Құрылғыны 1 не 2 ауыстырғышпен басқарыңыз.</translation> <translation id="4786285211967466855">Алдыңғы 1-деңгей тақырыбы жоқ.</translation> <translation id="4787577491510559358">Ағымдағы элементті форматтауды жариялау</translation> @@ -819,6 +822,7 @@ <translation id="744163271241493234">pwded</translation> <translation id="7484805699335881122">Элемент түрлерін және тырнақшаға алынған, жойылған, жақшаға алынған, жуан әріптермен не бас әріппен жазылған мәтінді айтқанда, дауысыңыздың жоғарылығын өзгертіңіз.</translation> <translation id="7491962110804786152">қойынды</translation> +<translation id="7492497529767769458">Келесі бөлімге өту. Мысалдар: күй панелі немесе Launcher.</translation> <translation id="7505149250476994901">Әріп енгізілер алдында, "бас әріп" деп айту</translation> <translation id="7518543783849163354">ChromeVox дауыстық кеңестерінің айтылуын тоқтату үшін Control пернесін басыңыз.</translation> <translation id="7533226154149229506">Ақшыл алтын сары</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_km.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_km.xtb index a640364..a610d793 100644 --- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_km.xtb +++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_km.xtb
@@ -52,6 +52,7 @@ <translation id="1291286136605998134">ប៊ូតុងបិទ/បើក</translation> <translation id="1299774449519412690">ផ្ទៃមេឃ</translation> <translation id="1303806948938513162">ចុចដោយប្រើម្រាមដៃ 4 ដើម្បីចូលទៅម៉ឺនុយ ChromeVox</translation> +<translation id="1313373992684326101">ទៅកាន់ផ្នែកមុន។ ឧទាហរណ៍រួមបញ្ចូលកម្មវិធីចាប់ផ្ដើម និងរបារស្ថានភាព។</translation> <translation id="1325363694295259631"><ph name="NAME" />, បានដកការជ្រើសរើសប៊ូតុងមូលរបស់ធាតុម៉ឺនុយ</translation> <translation id="1325946044405407859">ទង់ដែងស្រាល</translation> <translation id="1331702245475014624"><ph name="INDEX" /> នៃ <ph name="TOTAL" /></translation> @@ -79,6 +80,7 @@ <translation id="1506187449813838456">បង្កើនកម្រិតសម្លេង</translation> <translation id="151784044608172266">ឃ្លាបន្ទាប់</translation> <translation id="1524531499102321782">បន្ទាត់ប្រែលបន្ទាប់</translation> +<translation id="1542513807034338907">រំកិលទៅទំព័រមុន</translation> <translation id="1546370775711804143">របាទាញ</translation> <translation id="1555130319947370107">ខៀវ</translation> <translation id="1559739829547075274">រុករកថយក្រោយ</translation> @@ -485,6 +487,7 @@ <translation id="4763480195061959176">វីដេអូ</translation> <translation id="4764692524839457597">លំនាំដើម</translation> <translation id="4772771694153161212">មិនគូសបន្ទាត់ពីក្រោម</translation> +<translation id="4780458943471935919">រំកិលទៅទំព័របន្ទាប់</translation> <translation id="4784215347943747396">គ្រប់គ្រងឧបករណ៍ដោយប្រើប៊ូតុងបិទបើក 1 ឬ 2 ប៉ុណ្ណោះ</translation> <translation id="4786285211967466855">គ្មានផ្នែកក្បាលកម្រិតទី 1 មុនទេ</translation> <translation id="4787577491510559358">ប្រកាសទម្រង់សម្រាប់ធាតុបច្ចុប្បន្ន</translation> @@ -820,6 +823,7 @@ <translation id="744163271241493234">pwded</translation> <translation id="7484805699335881122">ប្ដូរកម្រិតសំឡេង នៅពេលអានប្រភេទធាតុ និងអត្ថបទដែលសរសេរជាអក្សរធំ ក្នុងវង់ក្រចក ដិត លុប ឬនៅក្នុងអព្ភន្តរសញ្ញា។</translation> <translation id="7491962110804786152">ផ្ទាំង</translation> +<translation id="7492497529767769458">ទៅកាន់ផ្នែកបន្ទាប់។ ឧទាហរណ៍រួមបញ្ចូលកម្មវិធីចាប់ផ្ដើម និងរបារស្ថានភាព។</translation> <translation id="7505149250476994901">និយាយថា "អក្សរធំ" បន្ទាប់ពីអក្សរ</translation> <translation id="7518543783849163354">ដើម្បីបញ្ឈប់ ChromeVox ពីការនិយាយជាបណ្តោះអាសន្ន សូមចុចគ្រាប់ចុច Control ។</translation> <translation id="7533226154149229506">លឿងខ្ចី</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_ko.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_ko.xtb index 817e23f..e739e75 100644 --- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_ko.xtb +++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_ko.xtb
@@ -52,6 +52,7 @@ <translation id="1291286136605998134">전환 버튼</translation> <translation id="1299774449519412690">라이트 스카이 블루</translation> <translation id="1303806948938513162">ChromeVox 메뉴로 들어가려면 네 손가락으로 탭하세요.</translation> +<translation id="1313373992684326101">이전 섹션으로 이동합니다. 섹션으로는 상태 표시줄, 런처 등이 있습니다.</translation> <translation id="1325363694295259631"><ph name="NAME" />, 메뉴 항목 라디오 버튼 선택 해제됨</translation> <translation id="1325946044405407859">탠</translation> <translation id="1331702245475014624"><ph name="INDEX" />/<ph name="TOTAL" /></translation> @@ -79,6 +80,7 @@ <translation id="1506187449813838456">음조 높임</translation> <translation id="151784044608172266">다음 문장</translation> <translation id="1524531499102321782">점자 다음 행으로 이동</translation> +<translation id="1542513807034338907">이전 페이지로 스크롤</translation> <translation id="1546370775711804143">스크롤바</translation> <translation id="1555130319947370107">파란색</translation> <translation id="1559739829547075274">뒤로 탐색</translation> @@ -485,6 +487,7 @@ <translation id="4763480195061959176">동영상</translation> <translation id="4764692524839457597">기본값</translation> <translation id="4772771694153161212">밑줄 아님</translation> +<translation id="4780458943471935919">다음 페이지로 스크롤</translation> <translation id="4784215347943747396">스위치 1~2개로 기기를 제어합니다.</translation> <translation id="4786285211967466855">이전 수준 1 제목이 없습니다</translation> <translation id="4787577491510559358">현재 항목의 서식을 음성으로 안내합니다.</translation> @@ -819,6 +822,7 @@ <translation id="744163271241493234">pwded</translation> <translation id="7484805699335881122">요소 유형을 말하거나 인용, 삭제, 굵게 표시되거나 괄호에 묶이거나 대문자로 된 텍스트를 말할 때는 음높이를 변경합니다.</translation> <translation id="7491962110804786152">tab</translation> +<translation id="7492497529767769458">다음 섹션으로 이동합니다. 섹션으로는 상태 표시줄, 런처 등이 있습니다.</translation> <translation id="7505149250476994901">문자 전에 "대문자"라고 말하기</translation> <translation id="7518543783849163354">일시적으로 ChromeVox의 음성 안내를 중지하려면 Control 키를 누릅니다.</translation> <translation id="7533226154149229506">라이트 골든로드 옐로우</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_ky.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_ky.xtb index 5f086bb..56dccb4 100644 --- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_ky.xtb +++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_ky.xtb
@@ -52,6 +52,7 @@ <translation id="1291286136605998134">Күйгүзүү/өчүрүү баскычы</translation> <translation id="1299774449519412690">Ачык асмандын түсүндөй көк</translation> <translation id="1303806948938513162">ChromeVox менюсуна өтүү үчүн 4 манжаңыз менен таптаңыз</translation> +<translation id="1313373992684326101">Мурунку бөлүмгө өтүү. Мисалы, Абал түпкүчү жана Жүргүзгүч.</translation> <translation id="1325363694295259631"><ph name="NAME" />, менюдагы нерсенин радио баскычы тандоодон чыгарылды</translation> <translation id="1325946044405407859">Ачык күрөң</translation> <translation id="1331702245475014624"><ph name="TOTAL" /> ичинен <ph name="INDEX" /></translation> @@ -79,6 +80,7 @@ <translation id="1506187449813838456">Тонду бийиктетүү</translation> <translation id="151784044608172266">Кийинки сүйлөм</translation> <translation id="1524531499102321782">Брайл кийинки сап</translation> +<translation id="1542513807034338907">Мурунку бетке сыдыруу</translation> <translation id="1546370775711804143">Сыдырып кароо тилкеси</translation> <translation id="1555130319947370107">Көк</translation> <translation id="1559739829547075274">Артка серептөө</translation> @@ -485,6 +487,7 @@ <translation id="4763480195061959176">видео</translation> <translation id="4764692524839457597">демейки</translation> <translation id="4772771694153161212">Асты сызылган тамгалар эмес</translation> +<translation id="4780458943471935919">Кийинки бетке сыдыруу</translation> <translation id="4784215347943747396">Түзмөктү 1 же 2 которуштургуч менен башкаруу</translation> <translation id="4786285211967466855">Мурунку 1-деңгээлдин башкы аталышы жок</translation> <translation id="4787577491510559358">Учурдагы нерсе үчүн форматтоону жарыялоо</translation> @@ -820,6 +823,7 @@ <translation id="744163271241493234">pwded</translation> <translation id="7484805699335881122">Элементтердин түрлөрүн, ошондой эле цитатага алынган, өчүрүлгөн, жоон шрифт менен жазылган, кашаага алынган же баш тамга менен башталган тексттерди айтууда тону өзгөртүлсүн.</translation> <translation id="7491962110804786152">өтмөк</translation> +<translation id="7492497529767769458">Кийинки бөлүмгө өтүү. Мисалы, Абал түпкүчү жана Жүргүзгүч.</translation> <translation id="7505149250476994901">Тамгага чейин "баш тамга" деп айтыңыз</translation> <translation id="7518543783849163354">ChromeVox окуп жатканда убактылуу токтотуу үчүн Control баскычын басыңыз.</translation> <translation id="7533226154149229506">Ач кызгылтым алтын түстүү сары</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_lo.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_lo.xtb index c5fd03fd..7dfd1da 100644 --- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_lo.xtb +++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_lo.xtb
@@ -52,6 +52,7 @@ <translation id="1291286136605998134">ປຸ່ມເປີດປິດ</translation> <translation id="1299774449519412690">ສີຟ້າທ້ອງຟ້າອ່ອນ</translation> <translation id="1303806948938513162">ແຕະດ້ວຍ 4 ນິ້ວມືເພື່ອເຂົ້າຫາເມນູຂອງ ChromeVox</translation> +<translation id="1313373992684326101">ຍ້າຍໄປພາກສ່ວນກ່ອນໜ້າ. ຕົວຢ່າງ: ຖາດສະຖານະ ແລະ ຕົວເປີດໃຊ້.</translation> <translation id="1325363694295259631"><ph name="NAME" />, ຍົກເລີກການເລືອກປຸ່ມຕົວເລືອກລາຍການໃນເມນູແລ້ວ</translation> <translation id="1325946044405407859">ສີແທນ</translation> <translation id="1331702245475014624"><ph name="INDEX" /> ໃນ <ph name="TOTAL" /></translation> @@ -79,6 +80,7 @@ <translation id="1506187449813838456">ເພີ່ມລະດັບສຽງ</translation> <translation id="151784044608172266">ປະໂຫຍກຕໍ່ໄປ</translation> <translation id="1524531499102321782">ແຖວຕໍ່ໄປຕົວໜັງສືນູນ</translation> +<translation id="1542513807034338907">ເລື່ອນໄປຍັງໜ້າກ່ອນໜ້າ່</translation> <translation id="1546370775711804143">ແຖບເລື່ອນ</translation> <translation id="1555130319947370107">ສີຟ້າ</translation> <translation id="1559739829547075274">ກັບຄືນທາງຫຼັງ</translation> @@ -485,6 +487,7 @@ <translation id="4763480195061959176">ວິດີໂອ</translation> <translation id="4764692524839457597">ຄ່າເລີ່ມຕົ້ນ</translation> <translation id="4772771694153161212">ບໍ່ແມ່ນຂີດກ້ອງ</translation> +<translation id="4780458943471935919">ເລື່ອນໄປຍັງໜ້າຕໍ່ໄປ</translation> <translation id="4784215347943747396">ຄວບຄຸມອຸປະກອນດ້ວຍ 1 ຫຼື 2 ປຸ່ມເທົ່ານັ້ນ</translation> <translation id="4786285211967466855">ບໍ່ມີຫົວຂໍ້ລະດັບ 1 ກ່ອນໜ້າ</translation> <translation id="4787577491510559358">ປະກາດການຈັດຮູບແບບສຳລັບລາຍການປັດຈຸບັນ</translation> @@ -819,6 +822,7 @@ <translation id="744163271241493234">pwded</translation> <translation id="7484805699335881122">ປ່ຽນລະດັບສຽງເມື່ອເວົ້າປະເພດອົງປະກອບ ແລະ ຂໍ້ຄວາມທີ່ອ້າງອີງ, ຖືກລຶບ, ເປັນໂຕໜາ, ຢູ່ໃນວົງເລັບ ຫຼື ເປັນອັກສອນຕົວໃຫຍ່.</translation> <translation id="7491962110804786152">ແຖບ</translation> +<translation id="7492497529767769458">ຍ້າຍໄປພາກສ່ວນຕໍ່ໄປ. ຕົວຢ່າງ: ຖາດສະຖານະ ແລະ ຕົວເປີດໃຊ້.</translation> <translation id="7505149250476994901">ເວົ້າ "ຕົວພິມໃຫຍ່" ກ່ອນຕົວອັກສອນ</translation> <translation id="7518543783849163354">ເພື່ອຢຸດ ChromeVox ຈາກການເວົ້າໄວ້ຊົ່ວຄາວ, ໃຫ້ກົດປຸ່ມ Control.</translation> <translation id="7533226154149229506">ສີເຫຼືອງໂກນເດິນຣອດອ່ອນ</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_lv.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_lv.xtb index 0e9abc27..da625889 100644 --- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_lv.xtb +++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_lv.xtb
@@ -52,6 +52,7 @@ <translation id="1291286136605998134">Pārslēgšanas poga</translation> <translation id="1299774449519412690">Gaiši debeszila</translation> <translation id="1303806948938513162">Pieskarieties ar četriem pirkstiem, lai ievadītu ChromeVox izvēlni</translation> +<translation id="1313373992684326101">Pārejiet uz iepriekšējo sadaļu. Piemēri: “Statusa josla” un “Palaidējs”.</translation> <translation id="1325363694295259631"><ph name="NAME" />, izvēlnes vienuma poga nav atlasīta</translation> <translation id="1325946044405407859">Gaiši brūna</translation> <translation id="1331702245475014624"><ph name="INDEX" /> no <ph name="TOTAL" /></translation> @@ -79,6 +80,7 @@ <translation id="1506187449813838456">Palielināt augstumu</translation> <translation id="151784044608172266">Nākamais teikums</translation> <translation id="1524531499102321782">Nākamā rindiņa Braila rakstā</translation> +<translation id="1542513807034338907">Ritināt līdz iepriekšējai lapai</translation> <translation id="1546370775711804143">Ritjosla</translation> <translation id="1555130319947370107">Zila</translation> <translation id="1559739829547075274">Pārvietoties atpakaļ</translation> @@ -485,6 +487,7 @@ <translation id="4763480195061959176">video</translation> <translation id="4764692524839457597">noklusējums</translation> <translation id="4772771694153161212">Nav pasvītrojuma</translation> +<translation id="4780458943471935919">Ritināt līdz nākamajai lapai</translation> <translation id="4784215347943747396">Kontrolējiet ierīci, izmantojot tikai 1–2 slēdžus.</translation> <translation id="4786285211967466855">Nav iepriekšējā 1. līmeņa virsraksta.</translation> <translation id="4787577491510559358">Paziņot pašreizējā vienuma formatējumu</translation> @@ -820,6 +823,7 @@ <translation id="744163271241493234">parole</translation> <translation id="7484805699335881122">Mainīt runas skaņas augstumu, izrunājot elementu tipus, citētu vai izdzēstu tekstu, kā arī tekstu, kas ir iekavās vai rakstīts treknrakstā vai ar lielo sākumburtu.</translation> <translation id="7491962110804786152">cilne</translation> +<translation id="7492497529767769458">Pārejiet uz nākamo sadaļu. Piemēri: “Statusa josla” un “Palaidējs”.</translation> <translation id="7505149250476994901">Pirms burta pasakiet “cap” (lielais burts).</translation> <translation id="7518543783849163354">Lai īslaicīgi pārtrauktu ChromeVox balss komentārus, nospiediet vadības taustiņu.</translation> <translation id="7533226154149229506">Gaiši zeltgalvīšu dzeltena</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_mn.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_mn.xtb index cf3c0fb0..a3d1a3f8b 100644 --- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_mn.xtb +++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_mn.xtb
@@ -52,6 +52,7 @@ <translation id="1291286136605998134">Унтраах/асаах товч</translation> <translation id="1299774449519412690">Тод цэнхэр</translation> <translation id="1303806948938513162">ChromeVox-н цэсэд орохын тулд 4 хуруугаараа товшино уу</translation> +<translation id="1313373992684326101">Өмнөх хэсэгт шилжих. Жишээнд Статусын мэдээллийн хэсэг болон Эхлүүлэгч багтана.</translation> <translation id="1325363694295259631"><ph name="NAME" />, цэсийн зүйл болох радио товчлуурын сонголтыг болиулсан</translation> <translation id="1325946044405407859">Бүдэг бор</translation> <translation id="1331702245475014624"><ph name="TOTAL" />-ын <ph name="INDEX" /></translation> @@ -79,6 +80,7 @@ <translation id="1506187449813838456">Дууны өнгийг нэмэх</translation> <translation id="151784044608172266">Дараагийн өгүүлбэр</translation> <translation id="1524531499102321782">Брайлийн дараагийн мөр</translation> +<translation id="1542513807034338907">Өмнөх хуудас руу гүйлгэх</translation> <translation id="1546370775711804143">Гүйлгэх цонх</translation> <translation id="1555130319947370107">Цэнхэр</translation> <translation id="1559739829547075274">Навигацийг буцаах</translation> @@ -485,6 +487,7 @@ <translation id="4763480195061959176">видео</translation> <translation id="4764692524839457597">өгөгдмөл</translation> <translation id="4772771694153161212">Доогуур нь зураагүй байна</translation> +<translation id="4780458943471935919">Дараагийн хуудас руу гүйлгэх</translation> <translation id="4784215347943747396">Төхөөрөмжийг зөвхөн 1 эсвэл 2 сэлгэлтээр хянах</translation> <translation id="4786285211967466855">Өмнөх 1-р түвшний гарчиг алга байна</translation> <translation id="4787577491510559358">Одоо байгаа зүйлийн форматчлалыг зарлах</translation> @@ -820,6 +823,7 @@ <translation id="744163271241493234">pwded</translation> <translation id="7484805699335881122">Элементийн төрөл болон эш татсан, устгасан, тодруулсан, хаалтад оруулсан эсвэл том үсгээр бичсэн текстийг хэлж байх үед ярианы өнгийг өөрчилнө үү.</translation> <translation id="7491962110804786152">цонх</translation> +<translation id="7492497529767769458">Дараагийн хэсэгт шилжих. Жишээнд Статусын мэдээллийн хэсэг болон Эхлүүлэгч багтана.</translation> <translation id="7505149250476994901">Үсгийн өмнө "том" гэж хэлнэ үү</translation> <translation id="7518543783849163354">ChromeVox-н яриаг түр зогсоохын тулд Control түлхүүрийг дарна уу.</translation> <translation id="7533226154149229506">Бага зэргийн алтан шаргал туяатай цайвар саарал</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_ms.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_ms.xtb index 7660e96..290c0c8 100644 --- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_ms.xtb +++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_ms.xtb
@@ -52,6 +52,7 @@ <translation id="1291286136605998134">Butang Togol</translation> <translation id="1299774449519412690">Biru Langit Cerah</translation> <translation id="1303806948938513162">Ketik dengan 4 jari untuk memasuki menu ChromeVox</translation> +<translation id="1313373992684326101">Beralih ke bahagian sebelumnya. Contoh termasuk Dulang Status dan Pelancar.</translation> <translation id="1325363694295259631"><ph name="NAME" />, butang radio item menu dinyahpilih</translation> <translation id="1325946044405407859">Sawo Matang</translation> <translation id="1331702245475014624"><ph name="INDEX" /> daripada <ph name="TOTAL" /></translation> @@ -79,6 +80,7 @@ <translation id="1506187449813838456">Tingkatkan nada</translation> <translation id="151784044608172266">Ayat Seterusnya</translation> <translation id="1524531499102321782">Baris Braille seterusnya</translation> +<translation id="1542513807034338907">Tatal ke halaman sebelumnya</translation> <translation id="1546370775711804143">Bar tatal</translation> <translation id="1555130319947370107">Biru</translation> <translation id="1559739829547075274">Navigasi ke belakang</translation> @@ -485,6 +487,7 @@ <translation id="4763480195061959176">video</translation> <translation id="4764692524839457597">lalai</translation> <translation id="4772771694153161212">Tidak bergaris bawah</translation> +<translation id="4780458943471935919">Tatal ke halaman seterusnya</translation> <translation id="4784215347943747396">Kawal peranti dengan hanya 1 atau 2 suis</translation> <translation id="4786285211967466855">Tiada tajuk tahap 1 sebelumnya</translation> <translation id="4787577491510559358">Umumkan pemformatan untuk item semasa</translation> @@ -820,6 +823,7 @@ <translation id="744163271241493234">pwded</translation> <translation id="7484805699335881122">Tukar pic ketika menyebutkan jenis unsur dan teks dalam tanda petikan, dipadamkan, berhuruf tebal, dalam kurungan atau berhuruf besar.</translation> <translation id="7491962110804786152">tab</translation> +<translation id="7492497529767769458">Beralih kepada bahagian seterusnya. Contoh termasuk Dulang Status dan Pelancar.</translation> <translation id="7505149250476994901">Sebut "cap" sebelum huruf</translation> <translation id="7518543783849163354">Untuk menghentikan sebentar ChromeVox daripada bertutur, tekan kekunci Control.</translation> <translation id="7533226154149229506">Kuning Batang Emas Cerah</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_my.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_my.xtb index f99685ce..e6d5f028 100644 --- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_my.xtb +++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_my.xtb
@@ -52,6 +52,7 @@ <translation id="1291286136605998134">အဖွင့်အပိတ်ခလုတ်</translation> <translation id="1299774449519412690">ကောင်းကင်ပြာ အနု</translation> <translation id="1303806948938513162">ChromeVox မီနူးများသို့ ဝင်ရန် လက်ချောင်း ၄ ချောင်းဖြင့် တို့ပါ</translation> +<translation id="1313373992684326101">ယခင်အပိုင်းသို့ ရွှေ့သည်။ ဥပမာများတွင် 'အခြေအနေပြဗန်း' နှင့် Launcher တို့ ပါဝင်သည်။</translation> <translation id="1325363694295259631"><ph name="NAME" />၊ မီနူး အကြောင်းအရာ ရေဒီယိုခလုတ်ကို ပြန်ဖြုတ်ထားသည်</translation> <translation id="1325946044405407859">အညို</translation> <translation id="1331702245475014624"><ph name="TOTAL" />ထဲက <ph name="INDEX" /></translation> @@ -79,6 +80,7 @@ <translation id="1506187449813838456">အသံကို မြှင့်ပေးရန်</translation> <translation id="151784044608172266">နောက် ဝါကျ</translation> <translation id="1524531499102321782">မျက်မမြင်စာ နောက်တစ်လိုင်း</translation> +<translation id="1542513807034338907">ယခင်စာမျက်နှာသို့ လှိမ့်သည်</translation> <translation id="1546370775711804143">လှိမ့် ဘား</translation> <translation id="1555130319947370107">အပြာရောင်</translation> <translation id="1559739829547075274">နောက်သို့ သွားရန်</translation> @@ -485,6 +487,7 @@ <translation id="4763480195061959176">ဗီဒီယို</translation> <translation id="4764692524839457597">မူရင်း</translation> <translation id="4772771694153161212">အောက်မျဉ်းသားမထားပါ</translation> +<translation id="4780458943471935919">နောက်စာမျက်နှာသို့ လှိမ့်ရန်</translation> <translation id="4784215347943747396">စက်ပစ္စည်းကို ခလုတ် ၁ ခု သို့မဟုတ် ၂ ခုဖြင့်သာ ထိန်းချုပ်ခြင်း</translation> <translation id="4786285211967466855">ယခင် အဆင့် ၁ ခေါင်းစီး မရှိပါ</translation> <translation id="4787577491510559358">လက်ရှိအရာအတွက် ဖော်မက်ကို ကြေညာရန်</translation> @@ -820,6 +823,7 @@ <translation id="744163271241493234">pwded</translation> <translation id="7484805699335881122">အကြောင်းအရာအမျိုးအစားနှင့် မျက်တောင်အဖွင့်အပိတ်ပါသော၊ ဖျက်ထားသော၊ ထင်ရှားအောင်ပြုလုပ်ထားသော၊ ကွင်းစကွင်းပိတ်ပါသော သို့မဟုတ် စာလုံးကြီးပြုလုပ်ထားသော စာသားကိုပြောသည့်အခါ အသံအနေအထားပြောင်းပါ။</translation> <translation id="7491962110804786152">တဘ်</translation> +<translation id="7492497529767769458">နောက်အပိုင်းသို့ ရွှေ့သည်။ ဥပမာများတွင် 'အခြေအနေပြဗန်း' နှင့် Launcher တို့ ပါဝင်သည်။</translation> <translation id="7505149250476994901">စကားလုံးရှေ့တွင် "ကက်ပ်" ဟု ပြောပါ</translation> <translation id="7518543783849163354">ChromeVox စကားပြောခြင်းမှ ခေတ္တရပ်ရန် Control ခလုတ်ကို နှိပ်ပါ။</translation> <translation id="7533226154149229506">ရွှေချောင်းဝါ အနု</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_ne.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_ne.xtb index 30a2e510..64e8c08f 100644 --- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_ne.xtb +++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_ne.xtb
@@ -52,6 +52,7 @@ <translation id="1291286136605998134">टगल गर्ने बटन</translation> <translation id="1299774449519412690">हल्का आकासे निलो</translation> <translation id="1303806948938513162">ChromeVox का मेनुहरूमा प्रवेश गर्न ४ औँलाले ट्याप गर्नुहोस्</translation> +<translation id="1313373992684326101">सारेर अघिल्लो खण्डमा लैजानुहोस्। उदाहरणका लागि: स्ट्याटस ट्रे, लन्चर आदि।</translation> <translation id="1325363694295259631"><ph name="NAME" />, मेनु आइटम रेडियो बटनको चयन रद्द गरिएको छ।</translation> <translation id="1325946044405407859">फुस्रो</translation> <translation id="1331702245475014624"><ph name="TOTAL" /> को <ph name="INDEX" /></translation> @@ -79,6 +80,7 @@ <translation id="1506187449813838456">पिच वृद्धि गर्नु</translation> <translation id="151784044608172266">अर्को वाक्य</translation> <translation id="1524531499102321782">ब्रेली अर्को रेखा</translation> +<translation id="1542513807034338907">स्क्रोल गरी अघिल्लो पृष्ठमा जानुहोस्</translation> <translation id="1546370775711804143">स्क्रोल बार</translation> <translation id="1555130319947370107">निलो</translation> <translation id="1559739829547075274">पछाडि नेभिगेट गर्नुहोस्</translation> @@ -485,6 +487,7 @@ <translation id="4763480195061959176">भिडियो</translation> <translation id="4764692524839457597">पूर्वनिर्धारित मान</translation> <translation id="4772771694153161212">अधोरेखाङ्कन होइन</translation> +<translation id="4780458943471935919">स्क्रोल गरी अर्को पृष्ठमा जानुहोस्</translation> <translation id="4784215347943747396">केवल १ वा २ स्विचहरूको प्रयोग गरी यन्त्र नियन्त्रण गर्नुहोस्</translation> <translation id="4786285211967466855">अघिल्लो कुनै पनि लेभल १ शीर्षक छैन</translation> <translation id="4787577491510559358">वस्तुको हालको ढाँचा कस्तो छ भनेर सुनाउनुहोस्</translation> @@ -820,6 +823,7 @@ <translation id="744163271241493234">pwded</translation> <translation id="7484805699335881122">विभिन्न प्रकारका एलिमेन्टका साथै उद्धृत गरिएका, मेटाइएका, बाक्लो पारिएका, कोष्ठकमा लेखिएका वा ठूलो अक्षरमा लेखिएका पाठ बोल्ने समयमा आवाजको पिच परिवर्तन गरियोस्।</translation> <translation id="7491962110804786152">ट्याब</translation> +<translation id="7492497529767769458">सारेर अर्को खण्डमा लैजानुहोस्। उदाहरणका लागि: स्ट्याटस ट्रे, लन्चर आदि।</translation> <translation id="7505149250476994901">अक्षर पढ्नुअघि "ठूला अक्षर" भन्नुहोस्</translation> <translation id="7518543783849163354">ChromeVox लाई बोल्नबाट अस्थायी रूपमा रोक्न कन्ट्रोल कुञ्जी थिच्नुहोस्।</translation> <translation id="7533226154149229506">सुनौलो रड जस्तो हल्का पहेँलो</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_pa.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_pa.xtb index 460ac4b..fe91286 100644 --- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_pa.xtb +++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_pa.xtb
@@ -52,6 +52,7 @@ <translation id="1291286136605998134">ਟੌਗਲ ਬਟਨ</translation> <translation id="1299774449519412690">ਹਲਕਾ ਅਸਮਾਨੀ</translation> <translation id="1303806948938513162">ChromeVox ਮੀਨੂਆਂ ਵਿੱਚ ਦਾਖਲ ਹੋਣ ਲਈ 4 ਉਂਗਲਾਂ ਨਾਲ ਟੈਪ ਕਰੋ</translation> +<translation id="1313373992684326101">ਪਿਛਲੇ ਸੈਕਸ਼ਨ 'ਤੇ ਜਾਓ। ਉਦਾਹਰਨਾਂ ਵਿੱਚ ਸਥਿਤੀ ਟ੍ਰੇ ਅਤੇ ਲਾਂਚਰ ਸ਼ਾਮਲ ਹੈ।</translation> <translation id="1325363694295259631"><ph name="NAME" />, ਮੀਨੂ ਆਈਟਮ ਰੇਡੀਓ ਬਟਨ ਨੂੰ ਅਣਚੁਣਿਆ ਗਿਆ</translation> <translation id="1325946044405407859">ਤਾਂਬੇ ਰੰਗਾ</translation> <translation id="1331702245475014624"><ph name="TOTAL" /> ਦਾ <ph name="INDEX" /></translation> @@ -79,6 +80,7 @@ <translation id="1506187449813838456">ਪਿਚ ਵਧਾਓ</translation> <translation id="151784044608172266">ਅਗਲਾ ਵਾਕ</translation> <translation id="1524531499102321782">ਬਰੇਲ ਲਿਪੀ ਅਗਲੀ ਲਾਈਨ</translation> +<translation id="1542513807034338907">ਪਿਛਲੇ ਪੰਨੇ 'ਤੇ ਸਕ੍ਰੋਲ ਕਰੋ</translation> <translation id="1546370775711804143">ਸਕ੍ਰੋਲ ਬਾਰ</translation> <translation id="1555130319947370107">ਨੀਲਾ</translation> <translation id="1559739829547075274">ਪਿੱਛੇ ਵੱਲ ਨੈਵੀਗੇਟ ਕਰੋ</translation> @@ -485,6 +487,7 @@ <translation id="4763480195061959176">ਵੀਡਿਓ</translation> <translation id="4764692524839457597">ਪੂਰਵ-ਨਿਰਧਾਰਤ</translation> <translation id="4772771694153161212">ਕੋਈ ਅੰਡਰਲਾਈਨ ਲਿਖਤ ਨਹੀਂ ਹੈ</translation> +<translation id="4780458943471935919">ਅਗਲੇ ਪੰਨੇ 'ਤੇ ਸਕ੍ਰੋਲ ਕਰੋ</translation> <translation id="4784215347943747396">ਬਸ 1 ਜਾਂ 2 ਸਵਿੱਚਾਂ ਨਾਲ ਡੀਵਾਈਸ ਨੂੰ ਕੰਟਰੋਲ ਕਰੋ</translation> <translation id="4786285211967466855">ਕੋਈ ਪਿਛਲਾ ਪੱਧਰ 1 ਸਿਰਲੇਖ ਨਹੀਂ</translation> <translation id="4787577491510559358">ਮੌਜੂਦ ਆਈਟਮ ਦੀ ਫਾਰਮੈਟਿੰਗ ਦੱਸੋ</translation> @@ -820,6 +823,7 @@ <translation id="744163271241493234">pwded</translation> <translation id="7484805699335881122">ਤੱਤ ਕਿਸਮਾਂ ਅਤੇ ਉਤਕਥਨ, ਕੱਟੀ ਗਈ ਲਿਖਤ, ਗੂੜ੍ਹੀ ਕੀਤੀ ਲਿਖਤ, ਬਰੈਕਟਦਾਰ ਜਾਂ ਵੱਡੇ ਅੱਖਰਾਂ ਵਾਲੀ ਲਿਖਤ ਨੂੰ ਬੋਲਣ ਵੇਲੇ ਪਿੱਚ ਬਦਲੋ।</translation> <translation id="7491962110804786152">ਟੈਬ</translation> +<translation id="7492497529767769458">ਅਗਲੇ ਸੈਕਸ਼ਨ 'ਤੇ ਜਾਓ। ਉਦਾਹਰਨਾਂ ਵਿੱਚ ਸਥਿਤੀ ਟ੍ਰੇ ਅਤੇ ਲਾਂਚਰ ਸ਼ਾਮਲ ਹੈ।</translation> <translation id="7505149250476994901">ਅੱਖਰ ਤੋਂ ਪਹਿਲਾਂ "ਵੱਡਾ" ਬੋਲੋ</translation> <translation id="7518543783849163354">ਅਸਥਾਈ ਤੌਰ 'ਤੇ ChromeVox ਦਾ ਬੋਲਣਾ ਬੰਦ ਕਰਨ ਲਈ, ਕੰਟਰੋਲ ਕੁੰਜੀ ਦਬਾਓ।</translation> <translation id="7533226154149229506">ਹਲਕਾ ਸੁਨਿਹਰੀ ਪੀਲਾ</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_ro.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_ro.xtb index 0de43a3e..43bd220 100644 --- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_ro.xtb +++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_ro.xtb
@@ -52,6 +52,7 @@ <translation id="1291286136605998134">Buton de comutare</translation> <translation id="1299774449519412690">Albastru deschis ca cerul</translation> <translation id="1303806948938513162">Atingeți cu patru degete ca să intrați în meniurile ChromeVox</translation> +<translation id="1313373992684326101">Treci la secțiunea anterioară. Printre exemple se numără Bara de stare și Lansatorul.</translation> <translation id="1325363694295259631"><ph name="NAME" />, butonul radio al elementului de meniu este deselectat</translation> <translation id="1325946044405407859">Bronz</translation> <translation id="1331702245475014624"><ph name="INDEX" /> din <ph name="TOTAL" /></translation> @@ -79,6 +80,7 @@ <translation id="1506187449813838456">Creșteți înălțimea sunetului</translation> <translation id="151784044608172266">Propoziția următoare</translation> <translation id="1524531499102321782">Rândul Braille următor</translation> +<translation id="1542513807034338907">Derulează la pagina anterioară</translation> <translation id="1546370775711804143">Bară de defilare</translation> <translation id="1555130319947370107">Albastru</translation> <translation id="1559739829547075274">Navigați înapoi</translation> @@ -485,6 +487,7 @@ <translation id="4763480195061959176">video</translation> <translation id="4764692524839457597">prestabilit</translation> <translation id="4772771694153161212">Fără subliniere</translation> +<translation id="4780458943471935919">Derulează la pagina următoare</translation> <translation id="4784215347943747396">Controlează dispozitivul doar cu unul sau două comutatoare</translation> <translation id="4786285211967466855">Nu există un titlu de nivel 1 anterior</translation> <translation id="4787577491510559358">Anunță formatarea pentru elementul actual</translation> @@ -820,6 +823,7 @@ <translation id="744163271241493234">parolă</translation> <translation id="7484805699335881122">Modifică tonalitatea atunci când rostești tipuri de elemente și text citat, șters, cu caractere aldine, între paranteze sau cu majuscule.</translation> <translation id="7491962110804786152">filă</translation> +<translation id="7492497529767769458">Treci la secțiunea următoare. Printre exemple se numără Bara de stare și Lansatorul.</translation> <translation id="7505149250476994901">Rostește „majusculă” înaintea literei</translation> <translation id="7518543783849163354">Pentru a opri temporar feedbackul rostit din ChromeVox, apasă pe tasta Ctrl.</translation> <translation id="7533226154149229506">Galben auriu</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_ru.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_ru.xtb index b82e2c7..573a66b 100644 --- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_ru.xtb +++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_ru.xtb
@@ -52,6 +52,7 @@ <translation id="1291286136605998134">Переключатель</translation> <translation id="1299774449519412690">Светлый небесно-голубой</translation> <translation id="1303806948938513162">Чтобы открыть меню ChromeVox, нажмите четырьмя пальцами.</translation> +<translation id="1313373992684326101">Перейти к предыдущему разделу, например к панели состояния или запуска.</translation> <translation id="1325363694295259631"><ph name="NAME" />, переключатель пункта меню не выбран</translation> <translation id="1325946044405407859">Дубильная кора</translation> <translation id="1331702245475014624"><ph name="INDEX" /> из <ph name="TOTAL" /></translation> @@ -79,6 +80,7 @@ <translation id="1506187449813838456">Повысить тон</translation> <translation id="151784044608172266">К следующему предложению</translation> <translation id="1524531499102321782">Перейти к следующей строке</translation> +<translation id="1542513807034338907">Прокрутить до предыдущей страницы</translation> <translation id="1546370775711804143">Полоса прокрутки</translation> <translation id="1555130319947370107">Синий</translation> <translation id="1559739829547075274">Перейти к предыдущему элементу</translation> @@ -485,6 +487,7 @@ <translation id="4763480195061959176">видео</translation> <translation id="4764692524839457597">по умолчанию</translation> <translation id="4772771694153161212">Не подчеркнутый</translation> +<translation id="4780458943471935919">Прокрутить до следующей страницы</translation> <translation id="4784215347943747396">Возможность управлять устройством с помощью одного или двух переключателей</translation> <translation id="4786285211967466855">Предыдущего заголовка первого уровня нет</translation> <translation id="4787577491510559358">Озвучить форматирование текущего объекта</translation> @@ -819,6 +822,7 @@ <translation id="744163271241493234">pwded</translation> <translation id="7484805699335881122">Менять высоту голоса при озвучивании типов элементов и чтении текста, который заключен в кавычки или скобки, удален, выделен полужирным шрифтом или написан заглавными буквами</translation> <translation id="7491962110804786152">tab</translation> +<translation id="7492497529767769458">Перейти к следующему разделу, например к панели состояния или запуска.</translation> <translation id="7505149250476994901">Произносить фразу "Прописная буква" перед прописной буквой</translation> <translation id="7518543783849163354">Чтобы временно отключить озвучивание в ChromeVox, нажмите клавишу CTRL.</translation> <translation id="7533226154149229506">Светло-желтый золотарник</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_sq.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_sq.xtb index 38ebe35..77d419a9a 100644 --- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_sq.xtb +++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_sq.xtb
@@ -52,6 +52,7 @@ <translation id="1291286136605998134">Butoni i ndërrimit</translation> <translation id="1299774449519412690">Blu qielli e çelur</translation> <translation id="1303806948938513162">Trokit me 4 gishta për të hyrë në menytë e ChromeVox</translation> +<translation id="1313373992684326101">Kalo te seksioni i mëparshëm. Shembujt përfshijnë "Tabakanë e statusit" dhe "Nisësin".</translation> <translation id="1325363694295259631"><ph name="NAME" />, butoni i radios i artikullit të menysë është i pazgjedhur</translation> <translation id="1325946044405407859">Kafe e çelur</translation> <translation id="1331702245475014624"><ph name="INDEX" /> nga <ph name="TOTAL" /></translation> @@ -79,6 +80,7 @@ <translation id="1506187449813838456">Rrit tonin</translation> <translation id="151784044608172266">Fjalia tjetër</translation> <translation id="1524531499102321782">Rreshti tjetër Braille</translation> +<translation id="1542513807034338907">Lëviz te faqja e mëparshme</translation> <translation id="1546370775711804143">Shiriti i lëvizjes</translation> <translation id="1555130319947370107">E kaltër</translation> <translation id="1559739829547075274">Navigo mbrapsht</translation> @@ -485,6 +487,7 @@ <translation id="4763480195061959176">video</translation> <translation id="4764692524839457597">e parazgjedhur</translation> <translation id="4772771694153161212">Jo i nënvizuar</translation> +<translation id="4780458943471935919">Lëviz te faqja tjetër</translation> <translation id="4784215347943747396">Komandoje pajisjen me thjesht 1 ose 2 çelësa</translation> <translation id="4786285211967466855">Nuk ka titull të mëparshëm të nivelit 1</translation> <translation id="4787577491510559358">Njofto për formatimin për artikullin aktual</translation> @@ -820,6 +823,7 @@ <translation id="744163271241493234">pwded</translation> <translation id="7484805699335881122">Ndrysho tonalitetin kur flet lloje elementi dhe tekst të cituar, të fshirë, të trashësuar, me kllapa ose me shkronja të mëdha.</translation> <translation id="7491962110804786152">tab</translation> +<translation id="7492497529767769458">Lëviz te seksioni tjetër. Shembujt përfshijnë "Tabakanë e statusit" dhe "Nisësin".</translation> <translation id="7505149250476994901">Thuaj "kapitale" para shkronjës</translation> <translation id="7518543783849163354">Për ta ndaluar përkohësisht ChromeVox që të flasë, shtyp tastin Control.</translation> <translation id="7533226154149229506">Purtekë e artë e verdhë e çelur</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_sw.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_sw.xtb index eaee621..c4887006 100644 --- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_sw.xtb +++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_sw.xtb
@@ -52,6 +52,7 @@ <translation id="1291286136605998134">Kitufe cha Kugeuza</translation> <translation id="1299774449519412690">Samawati Isiyokolea ya Anga</translation> <translation id="1303806948938513162">Gusa kwa vidole 4 ili uweke menyu za ChromeVox</translation> +<translation id="1313373992684326101">Nenda kwenye sehemu iliyotangulia. Kwa mfano Eneo la Hali au Kifungua Programu.</translation> <translation id="1325363694295259631"><ph name="NAME" />, kitufe cha mviringo cha kipengee cha menyu hakijachaguliwa</translation> <translation id="1325946044405407859">Hudhurungi</translation> <translation id="1331702245475014624"><ph name="INDEX" /> kati ya <ph name="TOTAL" /></translation> @@ -79,6 +80,7 @@ <translation id="1506187449813838456">Ongeza sauti</translation> <translation id="151784044608172266">Sentensi Inayofuata</translation> <translation id="1524531499102321782">Mstari unaofuata wa Breli</translation> +<translation id="1542513807034338907">Nenda kwenye ukurasa uliotangulia</translation> <translation id="1546370775711804143">Sehemu ya kusogeza</translation> <translation id="1555130319947370107">Samawati</translation> <translation id="1559739829547075274">Rudi nyuma</translation> @@ -485,6 +487,7 @@ <translation id="4763480195061959176">video</translation> <translation id="4764692524839457597">chaguomsingi</translation> <translation id="4772771694153161212">Hayajapigiwa mstari</translation> +<translation id="4780458943471935919">Nenda kwenye ukurasa unaofuata</translation> <translation id="4784215347943747396">Dhibiti kifaa kwa kutumia swichi moja au mbili pekee</translation> <translation id="4786285211967466855">Hakuna kichwa cha kiwango cha kwanza kilichotangulia</translation> <translation id="4787577491510559358">Tangaza ubadilishaji wa kipengele cha sasa</translation> @@ -820,6 +823,7 @@ <translation id="744163271241493234">pwded</translation> <translation id="7484805699335881122">Badilisha kiimbo cha sauti unapotamka aina ya vipengee na maandishi yaliyonukuliwa, yaliyofutwa, yenye herufi nzito, yaliyo kwenye parandesi au yenye herufi kubwa.</translation> <translation id="7491962110804786152">kichupo</translation> +<translation id="7492497529767769458">Nenda kwenye sehemu inayofuata. Kwa mfano Eneo la Hali au Kifungua Programu.</translation> <translation id="7505149250476994901">Tamka "cap" kabla ya herufi</translation> <translation id="7518543783849163354">Ili usitishe ChromeVox kwa muda kuzungumza, bonyeza kitufe cha Dhibiti.</translation> <translation id="7533226154149229506">Manjano Hafifu ya Dhahabu</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_ta.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_ta.xtb index 91c5ff9..1acc371 100644 --- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_ta.xtb +++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_ta.xtb
@@ -52,6 +52,7 @@ <translation id="1291286136605998134">நிலைமாற்றுவதற்கான பட்டன்</translation> <translation id="1299774449519412690">லைட் ஸ்கை புளூ</translation> <translation id="1303806948938513162">ChromeVox மெனுக்களுக்குச் செல்ல 4 விரல்களால் தட்டவும்</translation> +<translation id="1313373992684326101">முந்தைய பிரிவிற்குச் செல்லும். உதாரணங்கள்: நிலைத் தட்டு, தொடக்கி.</translation> <translation id="1325363694295259631"><ph name="NAME" />, மெனு விருப்பம் ரேடியோ பட்டன் தேர்வுநீக்கப்பட்டுள்ளது</translation> <translation id="1325946044405407859">டான்</translation> <translation id="1331702245475014624"><ph name="TOTAL" /> / <ph name="INDEX" /></translation> @@ -79,6 +80,7 @@ <translation id="1506187449813838456">ஸ்ருதியை அதிகரி</translation> <translation id="151784044608172266">அடுத்த வாக்கியம்</translation> <translation id="1524531499102321782">பிரெய்ல் அடுத்த வரி</translation> +<translation id="1542513807034338907">முந்தைய பக்கத்திற்குச் செல்லும்</translation> <translation id="1546370775711804143">நகர்வுப் பட்டி</translation> <translation id="1555130319947370107">நீலம்</translation> <translation id="1559739829547075274">பின்னோக்கிச் செல்</translation> @@ -485,6 +487,7 @@ <translation id="4763480195061959176">வீடியோ</translation> <translation id="4764692524839457597">இயல்பு</translation> <translation id="4772771694153161212">அடிக்கோடு இல்லை</translation> +<translation id="4780458943471935919">அடுத்த பக்கத்திற்குச் செல்லும்</translation> <translation id="4784215347943747396">வெறும் ஒன்றிரண்டு சுவிட்ச்களைக் கொண்டே சாதனத்தை நிர்வகியுங்கள்</translation> <translation id="4786285211967466855">முந்தைய 1ம் நிலை தலைப்பு எதுவும் இல்லை</translation> <translation id="4787577491510559358">தற்போதைய உருப்படியின் வடிவமைப்பைத் தெரிவிக்கும்</translation> @@ -820,6 +823,7 @@ <translation id="744163271241493234">pwded</translation> <translation id="7484805699335881122">உறுப்பு வகைகளையும் மேற்கோளிடப்பட்ட, நீக்கப்பட்ட, தடிமனாக்கப்பட்ட, அடைப்புக்குறிக்குள் இடப்பட்ட, பேரெழுத்தாக்கப்பட்ட உரையையும் பேசும்போது பேச்சின் தொனியை மாற்றும்.</translation> <translation id="7491962110804786152">tab</translation> +<translation id="7492497529767769458">அடுத்த பிரிவிற்குச் செல்லும். உதாரணங்கள்: நிலைத் தட்டு, தொடக்கி.</translation> <translation id="7505149250476994901">எழுத்துக்கு முன் "பேரெழுத்து" என்று சொல்லும்</translation> <translation id="7518543783849163354">ChromeVox ஆடியோவைத் தற்காலிகமாக நிறுத்த, கன்ட்ரோல் விசையை அழுத்தவும்.</translation> <translation id="7533226154149229506">லைட் கோல்டன் ராட் எல்லோ</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_te.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_te.xtb index e4b7cb7e..edf5459 100644 --- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_te.xtb +++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_te.xtb
@@ -52,6 +52,7 @@ <translation id="1291286136605998134">టోగుల్ బటన్</translation> <translation id="1299774449519412690">లేత ఆకాశ నీలం</translation> <translation id="1303806948938513162">ChromeVox మెనూలలోకి వెళ్లడం కోసం 4 వేళ్లతో నొక్కండి</translation> +<translation id="1313373992684326101">మునుపటి విభాగానికి వెళ్లండి. ఉదాహరణలలో స్టేటస్ ట్రే, లాంచర్ ఉంటాయి.</translation> <translation id="1325363694295259631"><ph name="NAME" />, మెనూ అంశం రేడియో బటన్ ఎంపిక రద్దు చేయబడింది</translation> <translation id="1325946044405407859">లేత సింధూర రంగు</translation> <translation id="1331702245475014624"><ph name="TOTAL" />లో <ph name="INDEX" /></translation> @@ -79,6 +80,7 @@ <translation id="1506187449813838456">స్వర స్థాయిని పెంచండి</translation> <translation id="151784044608172266">తరువాత వాక్యం</translation> <translation id="1524531499102321782">బ్రెయిలీ తరువాత పంక్తి</translation> +<translation id="1542513807034338907">మునుపటి పేజీకి స్క్రోల్ చేయండి</translation> <translation id="1546370775711804143">స్క్రోల్ బార్</translation> <translation id="1555130319947370107">నీలం</translation> <translation id="1559739829547075274">వెనుకకు నావిగేట్ చేయండి</translation> @@ -486,6 +488,7 @@ <translation id="4763480195061959176">వీడియో</translation> <translation id="4764692524839457597">డిఫాల్ట్</translation> <translation id="4772771694153161212">కింది గీత వద్దు</translation> +<translation id="4780458943471935919">తర్వాతి పేజీకి స్క్రోల్ చేయండి</translation> <translation id="4784215347943747396">కేవలం 1 లేదా 2 స్వివ్లతో పరికరాన్ని నియంత్రించండి</translation> <translation id="4786285211967466855">మునుపటి స్థాయి 1 శీర్షిక లేదు</translation> <translation id="4787577491510559358">ప్రస్తుత అంశం యొక్క ఫార్మాటింగ్ను ప్రకటిస్తుంది</translation> @@ -821,6 +824,7 @@ <translation id="744163271241493234">pwded</translation> <translation id="7484805699335881122">ఎలిమెంట్ రకాలు అలాగే కోట్ చేసిన, తొలగించబడిన, బోల్డ్గా చేసిన, బ్రాకెట్లలో ఉన్న, క్యాపిటల్ లెటర్స్ గల టెక్స్ట్ను మాట్లాడేటప్పుడు పిచ్ను మార్చండి.</translation> <translation id="7491962110804786152">tab</translation> +<translation id="7492497529767769458">తర్వాతి విభాగానికి వెళ్లండి. ఉదాహరణలలో స్టేటస్ ట్రే, లాంచర్ ఉంటాయి.</translation> <translation id="7505149250476994901">క్యాపిటల్ అక్షరాన్ని పలికే ముందు "క్యాపిటల్" అని అనండి</translation> <translation id="7518543783849163354">ChromeVoxలో చదివి వినిపించే మోడ్ను తాత్కాలికంగా ఆపివేయడానికి, Control కీని నొక్కండి.</translation> <translation id="7533226154149229506">లేత బంగారం కడ్డీ పసుపు</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_th.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_th.xtb index bd31dcf..48eb4471 100644 --- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_th.xtb +++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_th.xtb
@@ -52,6 +52,7 @@ <translation id="1291286136605998134">ปุ่มเปิด-ปิด</translation> <translation id="1299774449519412690">สีฟ้าท้องฟ้าอ่อน</translation> <translation id="1303806948938513162">ใช้ 4 นิ้วแตะเพื่อเข้าสู่เมนู ChromeVox</translation> +<translation id="1313373992684326101">ไปที่ส่วนก่อนหน้า เช่น ถาดสถานะและ Launcher</translation> <translation id="1325363694295259631">ยกเลิกการเลือกปุ่มตัวเลือกรายการในเมนู <ph name="NAME" /> แล้ว</translation> <translation id="1325946044405407859">สีแทน</translation> <translation id="1331702245475014624"><ph name="INDEX" /> จาก <ph name="TOTAL" /></translation> @@ -79,6 +80,7 @@ <translation id="1506187449813838456">เพิ่มระดับเสียง</translation> <translation id="151784044608172266">ประโยคถัดไป</translation> <translation id="1524531499102321782">เบรลล์บรรทัดถัดไป</translation> +<translation id="1542513807034338907">เลื่อนไปที่หน้าก่อนหน้านี้</translation> <translation id="1546370775711804143">แถบเลื่อน</translation> <translation id="1555130319947370107">สีน้ำเงิน</translation> <translation id="1559739829547075274">นำทางกลับหลัง</translation> @@ -485,6 +487,7 @@ <translation id="4763480195061959176">วิดีโอ</translation> <translation id="4764692524839457597">ค่าเริ่มต้น</translation> <translation id="4772771694153161212">ไม่ขีดเส้นใต้</translation> +<translation id="4780458943471935919">เลื่อนไปที่หน้าถัดไป</translation> <translation id="4784215347943747396">ควบคุมอุปกรณ์ด้วยสวิตช์เพียง 1 หรือ 2 ปุ่ม</translation> <translation id="4786285211967466855">ไม่มีส่วนหัวระดับ 1 ก่อนหน้า</translation> <translation id="4787577491510559358">ประกาศการจัดรูปแบบของรายการปัจจุบัน</translation> @@ -819,6 +822,7 @@ <translation id="744163271241493234">pwded</translation> <translation id="7484805699335881122">เปลี่ยนระดับเสียงสูงต่ำเมื่อพูดประเภทขององค์ประกอบและข้อความในเครื่องหมายคำพูด ข้อความที่ถูกลบ เป็นตัวหนา อยู่ในวงเล็บ หรือเป็นตัวพิมพ์ใหญ่</translation> <translation id="7491962110804786152">แท็บ</translation> +<translation id="7492497529767769458">ไปที่ส่วนถัดไป เช่น ถาดสถานะและ Launcher</translation> <translation id="7505149250476994901">พูด "ตัวพิมพ์ใหญ่" ต่อจากตัวอักษร</translation> <translation id="7518543783849163354">หากต้องการหยุดคำอธิบายของ ChromeVox ชั่วคราว ให้กดปุ่ม Control</translation> <translation id="7533226154149229506">สีเหลืองโกลเด้นร็อดอ่อน</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_tr.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_tr.xtb index 352f9eb..7cd5e1b 100644 --- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_tr.xtb +++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_tr.xtb
@@ -52,6 +52,7 @@ <translation id="1291286136605998134">Açma/Kapatma Düğmesi</translation> <translation id="1299774449519412690">Açık Gök Mavisi</translation> <translation id="1303806948938513162">ChromeVox menülerine girmek için 4 parmağınızla dokunun</translation> +<translation id="1313373992684326101">Önceki bölüme git. Örneğin, Durum Tepsisi ve Başlatıcı.</translation> <translation id="1325363694295259631"><ph name="NAME" />, menü öğesi radyo düğmesi seçili değil</translation> <translation id="1325946044405407859">Ten Rengi</translation> <translation id="1331702245475014624">toplam: <ph name="TOTAL" />, öğe: <ph name="INDEX" /></translation> @@ -79,6 +80,7 @@ <translation id="1506187449813838456">Sesi incelt</translation> <translation id="151784044608172266">Sonraki Cümle</translation> <translation id="1524531499102321782">Braille sonraki Satır</translation> +<translation id="1542513807034338907">Önceki sayfaya kaydırın</translation> <translation id="1546370775711804143">Kaydırma çubuğu</translation> <translation id="1555130319947370107">Mavi</translation> <translation id="1559739829547075274">Geri git</translation> @@ -485,6 +487,7 @@ <translation id="4763480195061959176">video</translation> <translation id="4764692524839457597">varsayılan</translation> <translation id="4772771694153161212">Altı çizili değil</translation> +<translation id="4780458943471935919">Sonraki sayfaya kaydırın</translation> <translation id="4784215347943747396">Cihazı yalnızca 1 veya 2 anahtarla kontrol edin</translation> <translation id="4786285211967466855">Önceki 1. düzey başlık yok</translation> <translation id="4787577491510559358">Mevcut öğenin biçimini söyler</translation> @@ -819,6 +822,7 @@ <translation id="744163271241493234">pwded</translation> <translation id="7484805699335881122">Öğe türlerini ve alıntılanan, silinen, kalın harfli yapılan, parantez içine alınan veya büyük harfli yapılan metni seslendirirken ses tonunu değiştirin.</translation> <translation id="7491962110804786152">tab</translation> +<translation id="7492497529767769458">Sonraki bölüme git. Örneğin, Durum Tepsisi ve Başlatıcı.</translation> <translation id="7505149250476994901">Harften önce "büyük harf" olduğunu söyleyin</translation> <translation id="7518543783849163354">ChromeVox'un konuşmasını geçici olarak durdurmak için Control tuşuna basın.</translation> <translation id="7533226154149229506">Açık Altın Başak Sarısı</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_uz.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_uz.xtb index 77a98aca..b065295 100644 --- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_uz.xtb +++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_uz.xtb
@@ -51,6 +51,7 @@ <translation id="1291286136605998134">Almashtirgich</translation> <translation id="1299774449519412690">Och koʻk</translation> <translation id="1303806948938513162">ChromeVox menyusiga kirish uchun 4 barmoq bilan tegining</translation> +<translation id="1313373992684326101">Avvalgi boʻlimga oʻtish. Masalan holat qatori yoki launcherga.</translation> <translation id="1325363694295259631"><ph name="NAME" />, menyu elementi (radio tugma) tanlovi yechildi</translation> <translation id="1325946044405407859">Och jigarrang</translation> <translation id="1331702245475014624"><ph name="INDEX" /> / <ph name="TOTAL" /></translation> @@ -78,6 +79,7 @@ <translation id="1506187449813838456">Harflar zichligini oshirish</translation> <translation id="151784044608172266">Keyingi gap</translation> <translation id="1524531499102321782">Keyingi qatorga o‘tish</translation> +<translation id="1542513807034338907">Avvalgi sahifaga varaqlash</translation> <translation id="1546370775711804143">Siljitish dastagi</translation> <translation id="1555130319947370107">Ko‘k</translation> <translation id="1559739829547075274">Avvalgi elementga o‘tish</translation> @@ -484,6 +486,7 @@ <translation id="4763480195061959176">video</translation> <translation id="4764692524839457597">birlamchi</translation> <translation id="4772771694153161212">Tagiga chizilmagan</translation> +<translation id="4780458943471935919">Keyingi sahifaga varaqlash</translation> <translation id="4784215347943747396">1 yoki 2 almashtirish bilan qurilmani boshqarish imkoniyati</translation> <translation id="4786285211967466855">Bundan oldin boshqa 4-darajali sarlavha mavjud emas</translation> <translation id="4787577491510559358">Joriy element formati aytilsin</translation> @@ -819,6 +822,7 @@ <translation id="744163271241493234">pwded</translation> <translation id="7484805699335881122">Qavs ichidagi, oʻchirilgan, bosh harfi katta yoki qoʻshtirnoq ichidagi matn va elementlar turini aytish vaqtida talaffuz ohangini oʻzgartirish.</translation> <translation id="7491962110804786152">tab</translation> +<translation id="7492497529767769458">Keyingi boʻlimga oʻtish. Masalan holat qatori yoki launcherga.</translation> <translation id="7505149250476994901">Harfdan oldin “katta” deb ayting</translation> <translation id="7518543783849163354">ChromeVox ovozli ta’rifni vaqtincha to‘xtatish uchun Control tugmasini bosing.</translation> <translation id="7533226154149229506">Oqimtir sariq</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_vi.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_vi.xtb index c1ab471c..f55f849 100644 --- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_vi.xtb +++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_vi.xtb
@@ -52,6 +52,7 @@ <translation id="1291286136605998134">Nút bật/tắt</translation> <translation id="1299774449519412690">Màu xanh da trời nhạt</translation> <translation id="1303806948938513162">Nhấn bằng 4 ngón tay để vào menu ChromeVox</translation> +<translation id="1313373992684326101">Chuyển về phần trước. Các ví dụ bao gồm Khay trạng thái và Trình chạy.</translation> <translation id="1325363694295259631">Đã bỏ chọn nút chọn cho mục trong trình đơn <ph name="NAME" /></translation> <translation id="1325946044405407859">Màu nâu vàng</translation> <translation id="1331702245475014624"><ph name="INDEX" /> / <ph name="TOTAL" /></translation> @@ -79,6 +80,7 @@ <translation id="1506187449813838456">Tăng độ cao</translation> <translation id="151784044608172266">Câu tiếp theo</translation> <translation id="1524531499102321782">Dòng chữ nổi tiếp theo</translation> +<translation id="1542513807034338907">Chuyển về trang trước</translation> <translation id="1546370775711804143">Thanh cuộn</translation> <translation id="1555130319947370107">Xanh lam</translation> <translation id="1559739829547075274">Điều hướng lui</translation> @@ -485,6 +487,7 @@ <translation id="4763480195061959176">video</translation> <translation id="4764692524839457597">mặc định</translation> <translation id="4772771694153161212">Không gạch chân</translation> +<translation id="4780458943471935919">Chuyển đến trang tiếp theo</translation> <translation id="4784215347943747396">Điều khiển thiết bị chỉ bằng 1 hoặc 2 công tắc</translation> <translation id="4786285211967466855">Không có tiêu đề cấp 1 nào trước đó</translation> <translation id="4787577491510559358">Cho biết định dạng của mục hiện có</translation> @@ -820,6 +823,7 @@ <translation id="744163271241493234">pwded</translation> <translation id="7484805699335881122">Thay đổi cao độ khi nói các loại thành phần và văn bản được trích dẫn, bị xóa, được in đậm, nằm trong ngoặc đơn hoặc viết hoa.</translation> <translation id="7491962110804786152">thẻ</translation> +<translation id="7492497529767769458">Chuyển đến phần tiếp theo. Các ví dụ bao gồm Khay trạng thái và Trình chạy.</translation> <translation id="7505149250476994901">Nói "hoa" sau chữ cái</translation> <translation id="7518543783849163354">Để ChromeVox tạm thời ngừng nói, nhấn phím Control.</translation> <translation id="7533226154149229506">Màu vàng nghệ nhạt</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_zh-CN.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_zh-CN.xtb index f2b543f..2fa8c81a 100644 --- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_zh-CN.xtb +++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_zh-CN.xtb
@@ -52,6 +52,7 @@ <translation id="1291286136605998134">切换按钮</translation> <translation id="1299774449519412690">浅天蓝色</translation> <translation id="1303806948938513162">用 4 根手指点按即可进入 ChromeVox 菜单</translation> +<translation id="1313373992684326101">移到上一部分。例如,状态栏和启动器。</translation> <translation id="1325363694295259631"><ph name="NAME" />,未选中的菜单项单选按钮</translation> <translation id="1325946044405407859">棕褐色</translation> <translation id="1331702245475014624">第<ph name="INDEX" />个,共<ph name="TOTAL" />个</translation> @@ -79,6 +80,7 @@ <translation id="1506187449813838456">调高音调</translation> <translation id="151784044608172266">下一个句子</translation> <translation id="1524531499102321782">下一行盲文</translation> +<translation id="1542513807034338907">滚动至上一页</translation> <translation id="1546370775711804143">滚动条</translation> <translation id="1555130319947370107">蓝色</translation> <translation id="1559739829547075274">向后导航</translation> @@ -485,6 +487,7 @@ <translation id="4763480195061959176">视频</translation> <translation id="4764692524839457597">默认</translation> <translation id="4772771694153161212">不带下划线</translation> +<translation id="4780458943471935919">滚动至下一页</translation> <translation id="4784215347943747396">只需 1 个或 2 个开关即可控制设备</translation> <translation id="4786285211967466855">没有上一个 1 级标题</translation> <translation id="4787577491510559358">播报当前项的格式</translation> @@ -820,6 +823,7 @@ <translation id="744163271241493234">pwded</translation> <translation id="7484805699335881122">读出元素类型和带引号/带删除线/加粗/带括号/大写的文字时改变音调。</translation> <translation id="7491962110804786152">标签</translation> +<translation id="7492497529767769458">移到下一部分。例如,状态栏和启动器。</translation> <translation id="7505149250476994901">先说“大写”,后读字母</translation> <translation id="7518543783849163354">要使 ChromeVox 暂时停止朗读功能,请按 Ctrl 键。</translation> <translation id="7533226154149229506">亮金黄色</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_zh-HK.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_zh-HK.xtb index be681c42..65a59608 100644 --- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_zh-HK.xtb +++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_zh-HK.xtb
@@ -52,6 +52,7 @@ <translation id="1291286136605998134">切換按鈕</translation> <translation id="1299774449519412690">淺天藍色</translation> <translation id="1303806948938513162">以四隻手指輕按即可進入 ChromeVox 選單</translation> +<translation id="1313373992684326101">移至上一個部分,例如「狀態匣」和「啟動器」。</translation> <translation id="1325363694295259631">未選取「<ph name="NAME" />」選單項目圓形按鈕</translation> <translation id="1325946044405407859">日曬色</translation> <translation id="1331702245475014624">第 <ph name="INDEX" /> 個,共 <ph name="TOTAL" /> 個</translation> @@ -79,6 +80,7 @@ <translation id="1506187449813838456">提高音調</translation> <translation id="151784044608172266">下一句</translation> <translation id="1524531499102321782">下一行點字</translation> +<translation id="1542513807034338907">捲動至上一頁</translation> <translation id="1546370775711804143">捲軸</translation> <translation id="1555130319947370107">藍色</translation> <translation id="1559739829547075274">向後導覽</translation> @@ -485,6 +487,7 @@ <translation id="4763480195061959176">影片</translation> <translation id="4764692524839457597">預設</translation> <translation id="4772771694153161212">冇加底線嘅文字</translation> +<translation id="4780458943471935919">捲動至下一頁</translation> <translation id="4784215347943747396">使用 1 或 2 種開關設定就能控制裝置</translation> <translation id="4786285211967466855">冇上一個第 1 級標題</translation> <translation id="4787577491510559358">讀出目前項目的格式</translation> @@ -819,6 +822,7 @@ <translation id="744163271241493234">pwded</translation> <translation id="7484805699335881122">在朗讀元素種類、引用文字、已刪除文字、粗體文字、加括號文字或大寫文字時改變音調。</translation> <translation id="7491962110804786152">分頁</translation> +<translation id="7492497529767769458">移至下一個部分,例如「狀態匣」和「啟動器」。</translation> <translation id="7505149250476994901">先說「大寫」再讀出字母</translation> <translation id="7518543783849163354">如要暫時停止 ChromeVox 朗讀功能,請按 Control 鍵。</translation> <translation id="7533226154149229506">淺金菊黃色</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_zh-TW.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_zh-TW.xtb index 385404d1..381702e 100644 --- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_zh-TW.xtb +++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_zh-TW.xtb
@@ -52,6 +52,7 @@ <translation id="1291286136605998134">切換按鈕</translation> <translation id="1299774449519412690">淺天藍</translation> <translation id="1303806948938513162">用四指輕觸即可進入 ChromeVox 選單</translation> +<translation id="1313373992684326101">移至上一個區段,例如「狀態匣」和「啟動器」。</translation> <translation id="1325363694295259631">未選取「<ph name="NAME" />」選單項目圓形按鈕</translation> <translation id="1325946044405407859">日曬色</translation> <translation id="1331702245475014624">第 <ph name="INDEX" /> 個,共 <ph name="TOTAL" /> 個</translation> @@ -79,6 +80,7 @@ <translation id="1506187449813838456">提高音調</translation> <translation id="151784044608172266">下一句</translation> <translation id="1524531499102321782">下一行點字</translation> +<translation id="1542513807034338907">捲動至上一頁</translation> <translation id="1546370775711804143">捲軸</translation> <translation id="1555130319947370107">藍色</translation> <translation id="1559739829547075274">向後導覽</translation> @@ -485,6 +487,7 @@ <translation id="4763480195061959176">影片</translation> <translation id="4764692524839457597">預設</translation> <translation id="4772771694153161212">沒有加上底線的文字</translation> +<translation id="4780458943471935919">捲動至下一頁</translation> <translation id="4784215347943747396">只須 1 或 2 個開關即可操控裝置</translation> <translation id="4786285211967466855">沒有上一個第 1 階標題</translation> <translation id="4787577491510559358">朗讀目前項目的格式</translation> @@ -820,6 +823,7 @@ <translation id="744163271241493234">pwded</translation> <translation id="7484805699335881122">朗讀元素類型、引號內文字、刪除的文字、粗體文字、括號內文字或大寫文字時變更音調。</translation> <translation id="7491962110804786152">分頁</translation> +<translation id="7492497529767769458">移至下一個區段,例如「狀態匣」和「啟動器」。</translation> <translation id="7505149250476994901">在字母前讀出「大寫」</translation> <translation id="7518543783849163354">如要暫時停止 ChromeVox 互動朗讀,請按下 Control 鍵。</translation> <translation id="7533226154149229506">淺金菊黃</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_zu.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_zu.xtb index 5786d4e..eab3e044 100644 --- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_zu.xtb +++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_zu.xtb
@@ -52,6 +52,7 @@ <translation id="1291286136605998134">Inkinobho yokuguqula</translation> <translation id="1299774449519412690">Okuluhlaza okwesibhakabhaka okukhanyayo</translation> <translation id="1303806948938513162">Thepha ngeminwe engu-4 ukuze ungene kumamenyu e-ChromeVox</translation> +<translation id="1313373992684326101">Yisa esigabeni sangaphambilini. Izibonelo zihlanganisa Ithileyi Yesimo Nesiqalisi.</translation> <translation id="1325363694295259631"><ph name="NAME" />, inkinobho yerediyo yento yemenyu iyekwe ukukhethwa</translation> <translation id="1325946044405407859">I-Tan</translation> <translation id="1331702245475014624"><ph name="INDEX" /> kokungu-<ph name="TOTAL" /></translation> @@ -79,6 +80,7 @@ <translation id="1506187449813838456">Khulisa ukucaphuna</translation> <translation id="151784044608172266">Umusho olandelayo</translation> <translation id="1524531499102321782">Umugqa olandelayo we-Braille</translation> +<translation id="1542513807034338907">Skrolela ekhasini eledlule</translation> <translation id="1546370775711804143">Ibha yokuskrola</translation> <translation id="1555130319947370107">Okuluhlaza okwesibhakabhaka</translation> <translation id="1559739829547075274">Zulazulela uye emuva</translation> @@ -485,6 +487,7 @@ <translation id="4763480195061959176">ividiyo</translation> <translation id="4764692524839457597">okuzenzakalelayo</translation> <translation id="4772771694153161212">Akukho ukudwebela</translation> +<translation id="4780458943471935919">Skrolela ekhasini elilandelayo</translation> <translation id="4784215347943747396">Lawula idivayisi ngokushintsha nje okungu-1 noma okungu-2.</translation> <translation id="4786285211967466855">Asikho isihloko esedlule seleveli engu-1</translation> <translation id="4787577491510559358">Memezela ukufometha kwento yamanje</translation> @@ -820,6 +823,7 @@ <translation id="744163271241493234">pwded</translation> <translation id="7484805699335881122">Shintsha ukuphakama lapho ukhuluma izinhlobo ze-elementi nombhalo ocashuniwe, osusiswe, ogqanyisiwe, ofakwe kubakaki, noma wamagama amakhulu.</translation> <translation id="7491962110804786152">ithebhu</translation> +<translation id="7492497529767769458">Iya esigabeni esilandelayo. Izibonelo zihlanganisa Ithileyi Yesimo Nesiqalisi.</translation> <translation id="7505149250476994901">Khuluma uthi "ikhephu" ngaphambi kohlamvu</translation> <translation id="7518543783849163354">Ukuze umise okwesikhashana i-ChromeVox kusukela ekukhulumeni, cindezela ukhiye Wokulawula.</translation> <translation id="7533226154149229506">I-Light Golden Rod Yellow</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/switch_access/nodes/group_node.js b/chrome/browser/resources/chromeos/accessibility/switch_access/nodes/group_node.js index 0f54ce2..4c0a498 100644 --- a/chrome/browser/resources/chromeos/accessibility/switch_access/nodes/group_node.js +++ b/chrome/browser/resources/chromeos/accessibility/switch_access/nodes/group_node.js
@@ -51,10 +51,8 @@ asRootNode() { const root = new SARootNode(); - const children = []; - for (const child of this.children_) { - children.push(child); - } + // Make a copy of the children array. + const children = [...this.children_]; children.push(new BackButtonNode(root)); root.children = children;
diff --git a/chrome/browser/resources/chromeos/assistant_optin/assistant_optin.html b/chrome/browser/resources/chromeos/assistant_optin/assistant_optin.html index b381bc2..fe2589c 100644 --- a/chrome/browser/resources/chromeos/assistant_optin/assistant_optin.html +++ b/chrome/browser/resources/chromeos/assistant_optin/assistant_optin.html
@@ -44,7 +44,8 @@ <assistant-optin-flow id="assistant-optin-flow-card"></assistant-optin-flow> -<script src="chrome://resources/js/i18n_template.js"></script> +<script src="chrome://resources/js/i18n_template_no_process.js"></script> +<script src="chrome://resources/js/i18n_template_process.js"></script> </body> </html>
diff --git a/chrome/browser/resources/chromeos/first_run/first_run.html b/chrome/browser/resources/chromeos/first_run/first_run.html index d638ee9..1bd8f86 100644 --- a/chrome/browser/resources/chromeos/first_run/first_run.html +++ b/chrome/browser/resources/chromeos/first_run/first_run.html
@@ -23,6 +23,7 @@ <include src="app_list_step.html"> <include src="tray_step.html"> </div> - <script src="chrome://resources/js/i18n_template.js"></script> + <script src="chrome://resources/js/i18n_template_no_process.js"></script> + <script src="chrome://resources/js/i18n_template_process.js"></script> </body> </html>
diff --git a/chrome/browser/resources/chromeos/login/discover/discover_app.html b/chrome/browser/resources/chromeos/login/discover/discover_app.html index 0cb4352..4394d23 100644 --- a/chrome/browser/resources/chromeos/login/discover/discover_app.html +++ b/chrome/browser/resources/chromeos/login/discover/discover_app.html
@@ -15,7 +15,8 @@ <script src="chrome://resources/js/load_time_data.js"></script> <script src="chrome://resources/js/util.js"></script> <script src="chrome://oobe/strings.js"></script> - <script src="chrome://resources/js/i18n_template.js"></script> + <script src="chrome://resources/js/i18n_template_no_process.js"></script> + <script src="chrome://resources/js/i18n_template_process.js"></script> <link rel="import" href="chrome://resources/html/i18n_behavior.html"> </head> <body>
diff --git a/chrome/browser/resources/chromeos/login/md_login.html b/chrome/browser/resources/chromeos/login/md_login.html index 6e09da8..7a60df3a 100644 --- a/chrome/browser/resources/chromeos/login/md_login.html +++ b/chrome/browser/resources/chromeos/login/md_login.html
@@ -64,6 +64,7 @@ </head> <body i18n-values=".style.fontFamily:fontfamily;" class="chromeos"> <include src="md_screen_container.html"> - <script src="chrome://resources/js/i18n_template.js"></script> + <script src="chrome://resources/js/i18n_template_no_process.js"></script> + <script src="chrome://resources/js/i18n_template_process.js"></script> </body> </html>
diff --git a/chrome/browser/resources/chromeos/login/oobe.html b/chrome/browser/resources/chromeos/login/oobe.html index 8d07dfc..0e2c7af4 100644 --- a/chrome/browser/resources/chromeos/login/oobe.html +++ b/chrome/browser/resources/chromeos/login/oobe.html
@@ -72,6 +72,7 @@ </head> <body class="oobe-display chromeos" i18n-values=".style.fontFamily:fontfamily;"> <include src="md_screen_container.html"> - <script src="chrome://resources/js/i18n_template.js"></script> + <script src="chrome://resources/js/i18n_template_no_process.js"></script> + <script src="chrome://resources/js/i18n_template_process.js"></script> </body> </html>
diff --git a/chrome/browser/resources/chromeos/multidevice_internals/BUILD.gn b/chrome/browser/resources/chromeos/multidevice_internals/BUILD.gn index 14c6e96..c86697f7 100644 --- a/chrome/browser/resources/chromeos/multidevice_internals/BUILD.gn +++ b/chrome/browser/resources/chromeos/multidevice_internals/BUILD.gn
@@ -15,6 +15,7 @@ ":multidevice_logs_browser_proxy", ":multidevice_phonehub_browser_proxy", ":multidevice_phonehub_browser_proxy", + ":phone_name_form", ":phone_status_model_form", ":phonehub_tab", ":types", @@ -79,6 +80,10 @@ ] } +js_library("phone_name_form") { + deps = [ ":multidevice_phonehub_browser_proxy" ] +} + js_library("phone_status_model_form") { deps = [ ":multidevice_phonehub_browser_proxy", @@ -109,6 +114,7 @@ "logging_tab.js", "multidevice_internals.js", "phonehub_tab.js", + "phone_name_form.js", "phone_status_model_form.js", "shared_style.js", "browser_tabs_metadata_form.js",
diff --git a/chrome/browser/resources/chromeos/multidevice_internals/multidevice_internals_resources.grd b/chrome/browser/resources/chromeos/multidevice_internals/multidevice_internals_resources.grd index 35ed78b..cf530b5 100644 --- a/chrome/browser/resources/chromeos/multidevice_internals/multidevice_internals_resources.grd +++ b/chrome/browser/resources/chromeos/multidevice_internals/multidevice_internals_resources.grd
@@ -48,6 +48,10 @@ file="${root_gen_dir}\chrome\browser\resources\chromeos\multidevice_internals\phonehub_tab.js" use_base_dir="false" type="BINDATA"/> + <include name="IDR_MULTIDEVICE_INTERNALS_PHONE_NAME_FORM_JS" + file="${root_gen_dir}\chrome\browser\resources\chromeos\multidevice_internals\phone_name_form.js" + use_base_dir="false" + type="BINDATA"/> <include name="IDR_MULTIDEVICE_INTERNALS_PHONE_STATUS_MODEL_FORM_JS" file="${root_gen_dir}\chrome\browser\resources\chromeos\multidevice_internals\phone_status_model_form.js" use_base_dir="false"
diff --git a/chrome/browser/resources/chromeos/multidevice_internals/multidevice_phonehub_browser_proxy.js b/chrome/browser/resources/chromeos/multidevice_internals/multidevice_phonehub_browser_proxy.js index 9d498ec4..646bde7 100644 --- a/chrome/browser/resources/chromeos/multidevice_internals/multidevice_phonehub_browser_proxy.js +++ b/chrome/browser/resources/chromeos/multidevice_internals/multidevice_phonehub_browser_proxy.js
@@ -26,6 +26,14 @@ } /** + * Sets the phone name. + * @param {string} phoneName + */ + setFakePhoneName(phoneName) { + chrome.send('setFakePhoneName', [phoneName]); + } + + /** * Sets the phone model. * @param {!PhoneStatusModel} phoneStatusModel The phone status with fake * values.
diff --git a/chrome/browser/resources/chromeos/multidevice_internals/phone_name_form.html b/chrome/browser/resources/chromeos/multidevice_internals/phone_name_form.html new file mode 100644 index 0000000..5aa701a1 --- /dev/null +++ b/chrome/browser/resources/chromeos/multidevice_internals/phone_name_form.html
@@ -0,0 +1,36 @@ +<style include="cr-shared-style shared-style"> + :host { + display: flex; + flex: 0 0 100%; + } + + .name-container { + flex-basis: 100%; + justify-content: center; + } + + #nameColumn { + flex: 2; + flex-wrap: wrap; + } + + select { + margin-bottom: 10px; + width: 100%; + } +</style> + +<div class="column"> + <cr-button on-click="setFakePhoneName_" class="internals-button"> + <span class="emphasize">Change Phone Name</span> + </cr-button> +</div> +<div id="nameColumn" class="column"> + <div class="name-container"> + <div class="label"> + Phone name + </div> + <cr-input value="{{phoneName_}}"> + </cr-input> + </div> +</div>
diff --git a/chrome/browser/resources/chromeos/multidevice_internals/phone_name_form.js b/chrome/browser/resources/chromeos/multidevice_internals/phone_name_form.js new file mode 100644 index 0000000..13860de0 --- /dev/null +++ b/chrome/browser/resources/chromeos/multidevice_internals/phone_name_form.js
@@ -0,0 +1,39 @@ +// Copyright 2020 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'chrome://resources/cr_elements/shared_style_css.m.js'; +import 'chrome://resources/cr_elements/cr_button/cr_button.m.js'; +import 'chrome://resources/cr_elements/cr_input/cr_input.m.js'; +import './shared_style.js'; + +import {html, Polymer} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js'; + +import {MultidevicePhoneHubBrowserProxy} from './multidevice_phonehub_browser_proxy.js'; + +Polymer({ + is: 'phone-name-form', + + _template: html`{__html_template__}`, + + properties: { + /** @private */ + phoneName_: { + type: String, + value: 'Fake phone name', + }, + }, + + /** @private {?MultidevicePhoneHubBrowserProxy}*/ + browserProxy_: null, + + /** @override */ + created() { + this.browserProxy_ = MultidevicePhoneHubBrowserProxy.getInstance(); + }, + + /** @private */ + setFakePhoneName_() { + this.browserProxy_.setFakePhoneName(this.phoneName_); + }, +});
diff --git a/chrome/browser/resources/chromeos/multidevice_internals/phonehub_tab.html b/chrome/browser/resources/chromeos/multidevice_internals/phonehub_tab.html index 6efce8d..067b541 100644 --- a/chrome/browser/resources/chromeos/multidevice_internals/phonehub_tab.html +++ b/chrome/browser/resources/chromeos/multidevice_internals/phonehub_tab.html
@@ -40,6 +40,11 @@ <span class="emphasize">ENABLED_AND_CONNECTED</span>. </div> </div> + <template is="dom-if" if="[[isPhoneSetUp_]]" restamp> + <div class="cr-row"> + <phone-name-form></phone-name-form> + </div> + </template> <template is="dom-if" if="[[isFeatureEnabledAndConnected_]]" restamp> <div class="cr-row"> <phone-status-model-form></phone-status-model-form>
diff --git a/chrome/browser/resources/chromeos/multidevice_internals/phonehub_tab.js b/chrome/browser/resources/chromeos/multidevice_internals/phonehub_tab.js index 08c7532d..b13e519 100644 --- a/chrome/browser/resources/chromeos/multidevice_internals/phonehub_tab.js +++ b/chrome/browser/resources/chromeos/multidevice_internals/phonehub_tab.js
@@ -8,6 +8,7 @@ import 'chrome://resources/cr_elements/shared_style_css.m.js'; import './browser_tabs_model_form.js'; import './i18n_setup.js'; +import './phone_name_form.js'; import './phone_status_model_form.js'; import './shared_style.js'; @@ -85,6 +86,12 @@ }, /** @private */ + isPhoneSetUp_: { + type: Boolean, + computed: 'isPhoneSetUpComputed_(featureStatus_)', + }, + + /** @private */ isFeatureEnabledAndConnected_: { type: Boolean, computed: 'isFeatureEnabledAndConnectedComputed_(featureStatus_)', @@ -103,6 +110,19 @@ * @return {boolean} * @private */ + isPhoneSetUpComputed_() { + if (this.featureStatus_ === FeatureStatus.NOT_ELIGIBLE_FOR_FEATURE || + this.featureStatus_ === FeatureStatus.ELIGIBLE_PHONE_BUT_NOT_SETUP) { + return false; + } + + return true; + }, + + /** + * @return {boolean} + * @private + */ isFeatureEnabledAndConnectedComputed_() { return this.featureStatus_ === FeatureStatus.ENABLED_AND_CONNECTED; },
diff --git a/chrome/browser/resources/extensions/BUILD.gn b/chrome/browser/resources/extensions/BUILD.gn index b68df10..c7563df 100644 --- a/chrome/browser/resources/extensions/BUILD.gn +++ b/chrome/browser/resources/extensions/BUILD.gn
@@ -4,51 +4,85 @@ import("//chrome/common/features.gni") import("//third_party/closure_compiler/compile_js.gni") -import("//tools/grit/grit_rule.gni") +import("//tools/grit/preprocess_grit.gni") import("//tools/polymer/html_to_js.gni") import("../optimize_webui.gni") if (optimize_webui) { - extensions_pak_file = "extensions_resources.pak" - unpak_folder = "extensions_resources.unpak" + preprocess_folder = "preprocessed" optimize_webui("build") { host = "extensions" - input = rebase_path("$target_gen_dir/$unpak_folder", root_build_dir) + input = rebase_path("$target_gen_dir/$preprocess_folder", root_build_dir) js_out_files = [ "extensions.rollup.js" ] js_module_in_files = [ "extensions.js" ] deps = [ - ":unpak", + ":preprocess", + ":preprocess_generated", "../../../../ui/webui/resources:preprocess", ] excludes = [ "chrome://resources/js/cr.m.js" ] } - unpak("unpak") { - pak_file = extensions_pak_file - out_folder = unpak_folder + preprocess_grit("preprocess") { + in_folder = "./" + out_folder = "$target_gen_dir/$preprocess_folder" + in_files = [ + "drag_and_drop_handler.js", + "extensions.js", + "item_behavior.js", + "item_util.js", + "keyboard_shortcut_delegate.js", + "navigation_helper.js", + "service.js", + "shortcut_util.js", + ] - deps = [ ":flattened_resources" ] + if (is_chromeos) { + in_files += [ "kiosk_browser_proxy.js" ] + } } - grit("flattened_resources") { - source = "extensions_resources.grd" - - grit_flags = [ - "-E", - "root_gen_dir=" + rebase_path(root_gen_dir, root_build_dir), - ] - + preprocess_grit("preprocess_generated") { deps = [ ":web_components" ] - defines = chrome_grit_defines - outputs = [ - "grit/extensions_resources.h", - "grit/extensions_resources_map.cc", - "grit/extensions_resources_map.h", - extensions_pak_file, + in_folder = target_gen_dir + out_folder = "$target_gen_dir/$preprocess_folder" + in_files = [ + "checkup.js", + "code_section.js", + "activity_log/activity_log_history_item.js", + "activity_log/activity_log_history.js", + "activity_log/activity_log.js", + "activity_log/activity_log_stream_item.js", + "activity_log/activity_log_stream.js", + "detail_view.js", + "drop_overlay.js", + "error_page.js", + "host_permissions_toggle_list.js", + "icons.js", + "install_warnings_dialog.js", + "item.js", + "item_list.js", + "keyboard_shortcuts.js", + "load_error.js", + "manager.js", + "options_dialog.js", + "pack_dialog_alert.js", + "pack_dialog.js", + "runtime_host_permissions.js", + "runtime_hosts_dialog.js", + "shared_style.js", + "shared_vars.js", + "shortcut_input.js", + "sidebar.js", + "toggle_row.js", + "toolbar.js", ] - output_dir = "$root_gen_dir/chrome/browser/resources/extensions" + + if (is_chromeos) { + in_files += [ "kiosk_dialog.js" ] + } } }
diff --git a/chrome/browser/resources/extensions/extensions_resources.grd b/chrome/browser/resources/extensions/extensions_resources.grd index f149dd7f..d09f1912 100644 --- a/chrome/browser/resources/extensions/extensions_resources.grd +++ b/chrome/browser/resources/extensions/extensions_resources.grd
@@ -14,144 +14,133 @@ <includes> <include name="IDR_EXTENSIONS_CODE_SECTION_JS" file="${root_gen_dir}/chrome/browser/resources/extensions/code_section.js" - use_base_dir="false" compress="false" type="BINDATA" /> + use_base_dir="false" type="BINDATA" /> <include name="IDR_EXTENSIONS_ACTIVITY_LOG_ACTIVITY_LOG_JS" file="${root_gen_dir}/chrome/browser/resources/extensions/activity_log/activity_log.js" - use_base_dir="false" compress="false" type="BINDATA" /> + use_base_dir="false" type="BINDATA" /> <include name="IDR_EXTENSIONS_ACTIVITY_LOG_ACTIVITY_LOG_HISTORY_JS" file="${root_gen_dir}/chrome/browser/resources/extensions/activity_log/activity_log_history.js" - use_base_dir="false" compress="false" type="BINDATA" /> + use_base_dir="false" type="BINDATA" /> <include name="IDR_EXTENSIONS_ACTIVITY_LOG_ACTIVITY_LOG_HISTORY_ITEM_JS" file="${root_gen_dir}/chrome/browser/resources/extensions/activity_log/activity_log_history_item.js" - use_base_dir="false" compress="false" type="BINDATA" /> + use_base_dir="false" type="BINDATA" /> <include name="IDR_EXTENSIONS_ACTIVITY_LOG_ACTIVITY_LOG_STREAM_JS" file="${root_gen_dir}/chrome/browser/resources/extensions/activity_log/activity_log_stream.js" - use_base_dir="false" compress="false" type="BINDATA" /> + use_base_dir="false" type="BINDATA" /> <include name="IDR_EXTENSIONS_ACTIVITY_LOG_ACTIVITY_LOG_STREAM_ITEM_JS" file="${root_gen_dir}/chrome/browser/resources/extensions/activity_log/activity_log_stream_item.js" - use_base_dir="false" compress="false" type="BINDATA" /> + use_base_dir="false" type="BINDATA" /> <include name="IDR_EXTENSIONS_CHECKUP_JS" file="${root_gen_dir}/chrome/browser/resources/extensions/checkup.js" - use_base_dir="false" compress="false" type="BINDATA" /> + use_base_dir="false" type="BINDATA" /> <include name="IDR_EXTENSIONS_DETAIL_VIEW_JS" file="${root_gen_dir}/chrome/browser/resources/extensions/detail_view.js" - use_base_dir="false" compress="false" type="BINDATA" /> + use_base_dir="false" type="BINDATA" /> <include name="IDR_EXTENSIONS_DROP_OVERLAY_JS" file="${root_gen_dir}/chrome/browser/resources/extensions/drop_overlay.js" - use_base_dir="false" compress="false" type="BINDATA" /> + use_base_dir="false" type="BINDATA" /> <include name="IDR_EXTENSIONS_ERROR_PAGE_JS" file="${root_gen_dir}/chrome/browser/resources/extensions/error_page.js" - use_base_dir="false" compress="false" type="BINDATA" /> + use_base_dir="false" type="BINDATA" /> <include name="IDR_EXTENSIONS_KEYBOARD_SHORTCUTS_JS" file="${root_gen_dir}/chrome/browser/resources/extensions/keyboard_shortcuts.js" - use_base_dir="false" compress="false" type="BINDATA" /> + use_base_dir="false" type="BINDATA" /> <if expr="chromeos"> <include name="IDR_EXTENSIONS_KIOSK_DIALOG_JS" file="${root_gen_dir}/chrome/browser/resources/extensions/kiosk_dialog.js" - use_base_dir="false" compress="false" type="BINDATA" /> + use_base_dir="false" type="BINDATA" /> </if> <include name="IDR_EXTENSIONS_MANAGER_JS" file="${root_gen_dir}/chrome/browser/resources/extensions/manager.js" - preprocess="true" use_base_dir="false" compress="false" type="BINDATA" /> + preprocess="true" use_base_dir="false" type="BINDATA" /> <include name="IDR_EXTENSIONS_ICONS_JS" file="${root_gen_dir}/chrome/browser/resources/extensions/icons.js" - use_base_dir="false" compress="false" type="BINDATA" /> + use_base_dir="false" type="BINDATA" /> <include name="IDR_EXTENSIONS_INSTALL_WARNINGS_DIALOG_JS" file="${root_gen_dir}/chrome/browser/resources/extensions/install_warnings_dialog.js" - use_base_dir="false" compress="false" type="BINDATA" /> + use_base_dir="false" type="BINDATA" /> <include name="IDR_EXTENSIONS_ITEM_JS" file="${root_gen_dir}/chrome/browser/resources/extensions/item.js" - use_base_dir="false" compress="false" type="BINDATA" /> + use_base_dir="false" type="BINDATA" /> <include name="IDR_EXTENSIONS_ITEM_LIST_JS" file="${root_gen_dir}/chrome/browser/resources/extensions/item_list.js" - use_base_dir="false" compress="false" type="BINDATA" /> + use_base_dir="false" type="BINDATA" /> <include name="IDR_EXTENSIONS_LOAD_ERROR_JS" file="${root_gen_dir}/chrome/browser/resources/extensions/load_error.js" - use_base_dir="false" compress="false" type="BINDATA" /> + use_base_dir="false" type="BINDATA" /> <include name="IDR_EXTENSIONS_HOST_PERMISSIONS_TOGGLE_LIST_JS" file="${root_gen_dir}/chrome/browser/resources/extensions/host_permissions_toggle_list.js" - use_base_dir="false" compress="false" type="BINDATA" /> + use_base_dir="false" type="BINDATA" /> <include name="IDR_EXTENSIONS_OPTIONS_DIALOG_JS" file="${root_gen_dir}/chrome/browser/resources/extensions/options_dialog.js" - use_base_dir="false" compress="false" type="BINDATA" /> + use_base_dir="false" type="BINDATA" /> <include name="IDR_EXTENSIONS_PACK_DIALOG_JS" file="${root_gen_dir}/chrome/browser/resources/extensions/pack_dialog.js" - use_base_dir="false" compress="false" type="BINDATA" /> + use_base_dir="false" type="BINDATA" /> <include name="IDR_EXTENSIONS_PACK_DIALOG_ALERT_JS" file="${root_gen_dir}/chrome/browser/resources/extensions/pack_dialog_alert.js" - use_base_dir="false" compress="false" type="BINDATA" /> + use_base_dir="false" type="BINDATA" /> <include name="IDR_EXTENSIONS_RUNTIME_HOST_PERMISSIONS_JS" file="${root_gen_dir}/chrome/browser/resources/extensions/runtime_host_permissions.js" - use_base_dir="false" compress="false" type="BINDATA" /> + use_base_dir="false" type="BINDATA" /> <include name="IDR_EXTENSIONS_RUNTIME_HOSTS_DIALOG_JS" file="${root_gen_dir}/chrome/browser/resources/extensions/runtime_hosts_dialog.js" - use_base_dir="false" compress="false" type="BINDATA" /> + use_base_dir="false" type="BINDATA" /> <include name="IDR_EXTENSIONS_SHARED_STYLE_JS" file="${root_gen_dir}/chrome/browser/resources/extensions/shared_style.js" - use_base_dir="false" compress="false" type="BINDATA" /> + use_base_dir="false" type="BINDATA" /> <include name="IDR_EXTENSIONS_SHARED_VARS_JS" file="${root_gen_dir}/chrome/browser/resources/extensions/shared_vars.js" - use_base_dir="false" compress="false" type="BINDATA" /> + use_base_dir="false" type="BINDATA" /> <include name="IDR_EXTENSIONS_SHORTCUT_INPUT_JS" file="${root_gen_dir}/chrome/browser/resources/extensions/shortcut_input.js" - use_base_dir="false" compress="false" type="BINDATA" /> + use_base_dir="false" type="BINDATA" /> <include name="IDR_EXTENSIONS_SIDEBAR_JS" file="${root_gen_dir}/chrome/browser/resources/extensions/sidebar.js" - use_base_dir="false" compress="false" type="BINDATA" /> + use_base_dir="false" type="BINDATA" /> <include name="IDR_EXTENSIONS_TOGGLE_ROW_JS" file="${root_gen_dir}/chrome/browser/resources/extensions/toggle_row.js" - use_base_dir="false" compress="false" type="BINDATA" /> + use_base_dir="false" type="BINDATA" /> <include name="IDR_EXTENSIONS_TOOLBAR_JS" file="${root_gen_dir}/chrome/browser/resources/extensions/toolbar.js" - preprocess="true" use_base_dir="false" compress="false" type="BINDATA" /> + preprocess="true" use_base_dir="false" type="BINDATA" /> <include name="IDR_EXTENSIONS_CHECKUP_IMAGE" - file="checkup_image.svg" compress="false" type="BINDATA" /> + file="checkup_image.svg" type="BINDATA" /> <include name="IDR_EXTENSIONS_CHECKUP_IMAGE_DARK" - file="checkup_image_dark.svg" compress="false" type="BINDATA" /> + file="checkup_image_dark.svg" type="BINDATA" /> </includes> <structures> <structure name="IDR_EXTENSIONS_ITEM_BEHAVIOR_JS" file="item_behavior.js" - compress="false" type="chrome_html" /> <structure name="IDR_EXTENSIONS_EXTENSIONS_HTML" file="extensions.html" - compress="false" type="chrome_html" /> <structure name="IDR_EXTENSIONS_DRAG_AND_DROP_HANDLER_JS" file="drag_and_drop_handler.js" - compress="false" type="chrome_html" /> <structure name="IDR_EXTENSIONS_EXTENSIONS_JS" file="extensions.js" - preprocess="true" - compress="false" type="chrome_html" /> <structure name="IDR_EXTENSIONS_KEYBOARD_SHORTCUT_DELEGATE_JS" file="keyboard_shortcut_delegate.js" - compress="false" type="chrome_html" /> <if expr="chromeos"> <structure name="IDR_EXTENSIONS_KIOSK_BROWSER_PROXY_JS" file="kiosk_browser_proxy.js" - compress="false" type="chrome_html" /> </if> <structure name="IDR_EXTENSIONS_ITEM_UTIL_JS" file="item_util.js" - compress="false" type="chrome_html" /> <structure name="IDR_EXTENSIONS_NAVIGATION_HELPER_JS" file="navigation_helper.js" - compress="false" type="chrome_html" /> <structure name="IDR_EXTENSIONS_SERVICE_JS" file="service.js" - compress="false" type="chrome_html" /> <structure name="IDR_EXTENSIONS_SHORTCUT_UTIL_JS" file="shortcut_util.js" - compress="false" type="chrome_html" /> </structures> </release>
diff --git a/chrome/browser/resources/nearby_share/shared/BUILD.gn b/chrome/browser/resources/nearby_share/shared/BUILD.gn index 3924737..d4d1c195 100644 --- a/chrome/browser/resources/nearby_share/shared/BUILD.gn +++ b/chrome/browser/resources/nearby_share/shared/BUILD.gn
@@ -9,6 +9,7 @@ js_type_check("closure_compile") { deps = [ + ":nearby_contact_manager", ":nearby_contact_visibility", ":nearby_onboarding_page", ":nearby_page_template", @@ -23,13 +24,22 @@ ] } +js_library("nearby_contact_manager") { + deps = [ + "//chrome/browser/ui/webui/nearby_share/public/mojom:mojom_js_library_for_compile", + "//ui/webui/resources/js:cr", + ] +} + js_library("nearby_contact_visibility") { deps = [ + ":nearby_contact_manager", ":nearby_share_settings_behavior", "//third_party/polymer/v1_0/components-chromium/iron-icon:iron-icon-extracted", "//third_party/polymer/v1_0/components-chromium/iron-list:iron-list-extracted", "//ui/webui/resources/cr_elements/cr_radio_button:cr_card_radio_button", "//ui/webui/resources/cr_elements/cr_radio_group:cr_radio_group", + "//ui/webui/resources/js:assert", "//ui/webui/resources/js:i18n_behavior", ] } @@ -78,6 +88,7 @@ ] deps = [ + ":nearby_contact_manager.m", ":nearby_contact_visibility.m", ":nearby_onboarding_page.m", ":nearby_page_template.m", @@ -99,14 +110,25 @@ ] } +js_library("nearby_contact_manager.m") { + sources = [ "$root_gen_dir/chrome/browser/resources/nearby_share/shared/nearby_contact_manager.m.js" ] + deps = [ + "//chrome/browser/ui/webui/nearby_share/public/mojom:mojom_js_library_for_compile", + "//ui/webui/resources/js:cr.m", + ] + extra_deps = [ ":modulize" ] +} + js_library("nearby_contact_visibility.m") { sources = [ "$root_gen_dir/chrome/browser/resources/nearby_share/shared/nearby_contact_visibility.m.js" ] deps = [ + ":nearby_contact_manager.m", ":nearby_share_settings_behavior.m", "//third_party/polymer/v3_0/components-chromium/iron-list:iron-list", "//third_party/polymer/v3_0/components-chromium/polymer:polymer_bundled", "//ui/webui/resources/cr_elements/cr_radio_button:cr_card_radio_button.m", "//ui/webui/resources/cr_elements/cr_radio_group:cr_radio_group.m", + "//ui/webui/resources/js:assert.m", "//ui/webui/resources/js:i18n_behavior.m", ] extra_deps = [ ":nearby_contact_visibility_module" ] @@ -198,6 +220,7 @@ js_modulizer("modulize") { input_files = [ + "nearby_contact_manager.js", "nearby_share_settings.js", "nearby_share_settings_behavior.js", ]
diff --git a/chrome/browser/resources/nearby_share/shared/nearby_contact_manager.html b/chrome/browser/resources/nearby_share/shared/nearby_contact_manager.html new file mode 100644 index 0000000..1a0b224 --- /dev/null +++ b/chrome/browser/resources/nearby_share/shared/nearby_contact_manager.html
@@ -0,0 +1,6 @@ +<link rel="import" href="chrome://resources/html/cr.html"> +<link rel="import" href="chrome://resources/mojo/mojo/public/js/mojo_bindings_lite.html"> + +<script src="chrome://resources/mojo/url/mojom/url.mojom-lite.js"></script> +<script src="/mojo/nearby_share_settings.mojom-lite.js"></script> +<script src="nearby_contact_manager.js"></script>
diff --git a/chrome/browser/resources/nearby_share/shared/nearby_contact_manager.js b/chrome/browser/resources/nearby_share/shared/nearby_contact_manager.js new file mode 100644 index 0000000..8137601 --- /dev/null +++ b/chrome/browser/resources/nearby_share/shared/nearby_contact_manager.js
@@ -0,0 +1,59 @@ +// Copyright 2020 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// clang-format off +// #import 'chrome://resources/mojo/mojo/public/js/mojo_bindings_lite.js'; +// #import 'chrome://resources/mojo/url/mojom/url.mojom-lite.js' +// #import {addSingletonGetter} from 'chrome://resources/js/cr.m.js'; +// #import '/mojo/nearby_share_settings.mojom-lite.js'; +// clang-format on + +cr.define('nearby_share', function() { + /** @type {?nearbyShare.mojom.ContactManagerInterface} */ + let contactManager = null; + /** @type {boolean} */ + let isTesting = false; + /** + * @param {!nearbyShare.mojom.ContactManagerInterface} + * testContactManager A test contactManager impl. + */ + /* #export */ function setContactManagerForTesting(testContactManager) { + contactManager = testContactManager; + isTesting = true; + } + /** + * @return {!nearbyShare.mojom.ContactManagerInterface} + * the contactManager interface + */ + /* #export */ function getContactManager() { + if (!contactManager) { + contactManager = nearbyShare.mojom.ContactManager.getRemote(); + } + return contactManager; + } + /** + * @param {!nearbyShare.mojom.DownloadContactsObserverInterface} observer + * @return {?nearbyShare.mojom.DownloadContactsObserverReceiver} The mojo + * receiver or null when testing. + */ + /* #export */ function observeContactManager(observer) { + if (isTesting) { + getContactManager().addDownloadContactsObserver( + /** @type {!nearbyShare.mojom.DownloadContactsObserverRemote} */ ( + observer)); + return null; + } + const receiver = + new nearbyShare.mojom.DownloadContactsObserverReceiver(observer); + getContactManager().addDownloadContactsObserver( + receiver.$.bindNewPipeAndPassRemote()); + return receiver; + } + // #cr_define_end + return { + setContactManagerForTesting, + getContactManager, + observeContactManager, + }; +});
diff --git a/chrome/browser/resources/nearby_share/shared/nearby_contact_visibility.html b/chrome/browser/resources/nearby_share/shared/nearby_contact_visibility.html index c6e47fc..0d7061b3 100644 --- a/chrome/browser/resources/nearby_share/shared/nearby_contact_visibility.html +++ b/chrome/browser/resources/nearby_share/shared/nearby_contact_visibility.html
@@ -5,9 +5,11 @@ <link rel="import" href="chrome://resources/cr_elements/cr_radio_button/cr_card_radio_button.html"> <link rel="import" href="chrome://resources/cr_elements/cr_icons_css.html"> <link rel="import" href="chrome://resources/cr_elements/cr_toggle/cr_toggle.html"> +<link rel="import" href="chrome://resources/html/assert.html"> <link rel="import" href="chrome://resources/html/i18n_behavior.html"> <link rel="import" href="chrome://resources/polymer/v1_0/iron-icon/iron-icon.html"> <link rel="import" href="chrome://resources/polymer/v1_0/iron-list/iron-list.html"> +<link rel="import" href="nearby_contact_manager.html"> <link rel="import" href="nearby_share_settings_behavior.html"> <link rel="import" href="nearby_shared_icons.html"> @@ -140,7 +142,7 @@ font-size: 1.2rem; } - #contactList { + .contacts-section { height: 150px; margin-block-end: 8px; margin-block-start: 8px; @@ -296,9 +298,11 @@ $i18n{nearbyShareContactVisibilityContactsTitle} </div> - <!-- Show when the user has one or more contacts--> - <template is="dom-if" if="[[showContactsList_(contacts)]]"> - <iron-list id="contactList" items="[[contacts]]"> + <!-- Show when the user has one or more contacts downloaded. --> + <template is="dom-if" if="[[inContactsState_(contactsState, + ContactsState.HAS_CONTACTS)]]"> + <iron-list id="contactList" items="[[contacts]]" + class="contacts-section"> <template> <div class="contact-item" disabled$="[[isVisibility_(selectedVisibility,'none')]]"> @@ -307,13 +311,13 @@ </iron-icon> <div> <div class="cr-title-text">[[item.name]]</div> - <div class="cr-secondary-text">[[item.email]]</div> + <div class="cr-secondary-text">[[item.description]]</div> </div> <template is="dom-if" if="[[showContactCheckBoxes_(selectedVisibility)]]"> <cr-toggle class="contact-toggle" checked="{{item.checked}}" disabled="[[!isVisibility_(selectedVisibility,'some')]]" - > + on-click="syncContactToggleState_"> </cr-toggle> </template> </div> @@ -321,9 +325,10 @@ </iron-list> </template> - <!-- Show when the user has no contacts available --> - <template is="dom-if" if="[[!showContactsList_(contacts)]]"> - <div id="noContactsContainer"> + <!-- Show when the user has downloaded contacts but there are none.--> + <template is="dom-if" if="[[inContactsState_(contactsState, + ContactsState.ZERO_CONTACTS)]]"> + <div id="noContactsContainer" class="contacts-section"> <div class="cr-title-text"> $i18n{nearbyShareContactVisibilityNoContactsTitle} </div> @@ -332,6 +337,28 @@ </div> </div> </template> + + <!-- Shown when contacts are currently being downloaded. --> + <template is="dom-if" if="[[inContactsState_(contactsState, + ContactsState.PENDING)]]"> + <div id="contactsPending" class="contacts-section"> + TBD: Contacts are downloading please wait... + </div> + </template> + + <!-- Shown when contacts download has failed. --> + <template is="dom-if" if="[[inContactsState_(contactsState, + ContactsState.FAILED)]]"> + <div id="contactsFailed" class="contacts-section"> + <div> + TBD: Contact download failed. + Please check your internet connection. + </div> + <cr-button id="contactRetryButton" on-click="downloadContacts_"> + Retry + </cr-button> + </div> + </template> </div> </div> </template>
diff --git a/chrome/browser/resources/nearby_share/shared/nearby_contact_visibility.js b/chrome/browser/resources/nearby_share/shared/nearby_contact_visibility.js index d549f5a..4fe4e054 100644 --- a/chrome/browser/resources/nearby_share/shared/nearby_contact_visibility.js +++ b/chrome/browser/resources/nearby_share/shared/nearby_contact_visibility.js
@@ -11,6 +11,14 @@ 'use strict'; (function() { +/** @enum {string} */ +const ContactsState = { + PENDING: 'pending', + FAILED: 'failed', + HAS_CONTACTS: 'hascontacts', + ZERO_CONTACTS: 'zerocontacts', +}; + /** * Maps visibility string to the mojo enum * @param {?string} visibilityString @@ -49,8 +57,9 @@ /** * @typedef {{ + * id:string, * name:string, - * email:string, + * description:string, * checked:boolean, * }} */ @@ -62,6 +71,18 @@ behaviors: [I18nBehavior], properties: { + /** @type {Object} */ + ContactsState: { + type: Object, + value: ContactsState, + }, + + /** @type {string} */ + contactsState: { + type: String, + value: ContactsState.PENDING, + }, + /** @type {?nearby_share.NearbySettings} */ settings: { type: Object, @@ -79,31 +100,24 @@ }, /** - * @type {Array<NearbyVisibilityContact>} The user's GAIA contacts - * formatted for binding. + * @type {?Array<NearbyVisibilityContact>} The user's contacts re-formatted + * for binding. */ contacts: { type: Array, - value: [ - { - name: 'Jane Doe', - email: 'jane@google.com', - checked: true, - }, - { - name: 'John Smith', - email: 'smith@gmail.com', - checked: false, - }, - { - name: 'Testy Tester', - email: 'test@test.com', - checked: true, - } - ], + value: null, }, }, + /** @private {?nearbyShare.mojom.ContactManagerInterface} */ + contactManager_: null, + + /** @private {?nearbyShare.mojom.DownloadContactsObserverReceiver} */ + downloadContactsObserverReceiver_: null, + + /** @private {?number} */ + downloadTimeoutId_: null, + observers: [ 'settingsChanged_(settings.visibility)', 'selectedVisibilityChanged_(selectedVisibility)', @@ -129,11 +143,22 @@ } }); this.resizeObserver_.observe(this); + this.contactManager_ = nearby_share.getContactManager(); + this.downloadContactsObserverReceiver_ = nearby_share.observeContactManager( + /** @type {!nearbyShare.mojom.DownloadContactsObserverInterface} */ ( + this)); + // Start a contacts download now so we have it by the time the component is + // shown. + this.downloadContacts_(); }, /** @override */ detached() { this.resizeObserver_.disconnect(); + + if (this.downloadContactsObserverReceiver_) { + this.downloadContactsObserverReceiver_.$.close(); + } }, /** @@ -160,6 +185,123 @@ }, /** + * Makes a mojo request to download the latest version of contacts. + * @private + */ + downloadContacts_() { + // Don't show pending UI if we already have some contacts. + if (!this.contacts) { + this.contactsState = ContactsState.PENDING; + } + this.contactManager_.downloadContacts(); + // Time out after 30 seconds and show the failure page if we don't get a + // response. + this.downloadTimeoutId_ = + setTimeout(this.onContactsDownloadFailed.bind(this), 30 * 1000); + }, + + /** + * @param {boolean} allowed + * @param {!nearbyShare.mojom.ContactRecord} contactRecord + * @return {!NearbyVisibilityContact} + * @private + */ + toNearbyVisibilityContact_(allowed, contactRecord) { + // TODO (vecore): Support multiple identifiers with template string. + // We should always have at least 1 identifier. + assert(contactRecord.identifiers.length > 0); + + /** @type {string} */ + const description = contactRecord.identifiers[0].accountName || + contactRecord.identifiers[0].phoneNumber || ''; + + return { + id: contactRecord.id, + description: description, + name: contactRecord.personName, + checked: allowed, + }; + }, + + /** + * From nearbyShare.mojom.DownloadContactsObserver, called when contacts have + * been successfully downloaded. + * @param {!Array<!string>} allowedContacts the server ids of the contacts + * that are allowed to see this device when visibility is + * kSelectedContacts. This corresponds to the checkbox shown next to the + * contact for kSelectedContacts visibility. + * @param {!Array<!nearbyShare.mojom.ContactRecord>} contactRecords the full + * set of contacts returned from the people api. All contacts are shown to + * the user so they can see who can see their device for visibility + * kAllContacts and so they can choose which contacts are + * |allowedContacts| for kSelectedContacts visibility. + */ + onContactsDownloaded(allowedContacts, contactRecords) { + clearTimeout(this.downloadTimeoutId_); + + // TODO(vecore): Do a smart two-way merge that only splices actual changes. + // For now we will do simple regenerate and bind. + const allowed = new Set(allowedContacts); + const items = []; + for (const contact of contactRecords) { + const visibilityContact = + this.toNearbyVisibilityContact_(allowed.has(contact.id), contact); + items.push(visibilityContact); + } + this.contacts = items; + this.contactsState = items.length > 0 ? ContactsState.HAS_CONTACTS : + ContactsState.ZERO_CONTACTS; + }, + + /** + * From nearbyShare.mojom.DownloadContactsObserver, called when contacts have + * failed to download or the local timeout has triggered. + */ + onContactsDownloadFailed() { + this.contactsState = ContactsState.FAILED; + clearTimeout(this.downloadTimeoutId_); + }, + + /** + * Sync the latest contact toggle states and update allowedContacts through + * the contact manager. + * @private + */ + syncContactToggleState_() { + const allowedContacts = []; + if (this.contacts) { + for (const contact of this.contacts) { + if (contact.checked) { + allowedContacts.push(contact.id); + } + } + } + this.contactManager_.setAllowedContacts(allowedContacts); + }, + + /** + * TODO(crbug.com/1128256): Remove after specs/a11y. + * Call from the JS debug console to test scrolling. + * @param {number} numContacts + * @private + */ + genFakeContacts_(numContacts) { + this.contactsPending = false; + this.contactsFailed = false; + clearTimeout(this.downloadTimeoutId_); + const fakeContacts = []; + for (let i = 0; i < numContacts; i++) { + fakeContacts.push({ + id: String(-i), + description: String(i) + '@google.com', + name: 'Person ' + i, + checked: false, + }); + } + this.contacts = fakeContacts; + }, + + /** * Used to show/hide parts of the UI based on current visibility selection. * @param {?string} selectedVisibility * @return {boolean} returns true when checkboxes should be shown for @@ -172,14 +314,14 @@ }, /** - * Used to show/hide parts of the UI based on the number of contacts - * @param {?Array} contacts the currently bound contact list - * @return {boolean} returns true when checkboxes should be shown for - * contacts. + * Used to show/hide ui elements based on the contacts download state. + * @param {string} contactsState + * @param {string} expectedState + * @return {boolean} true when in the expected state * @private */ - showContactsList_(contacts) { - return this.contacts.length > 0; + inContactsState_(contactsState, expectedState) { + return contactsState === expectedState; }, /**
diff --git a/chrome/browser/resources/nearby_share/shared/nearby_shared.gni b/chrome/browser/resources/nearby_share/shared/nearby_shared.gni index 49bba74..27d4af85 100644 --- a/chrome/browser/resources/nearby_share/shared/nearby_shared.gni +++ b/chrome/browser/resources/nearby_share/shared/nearby_shared.gni
@@ -2,11 +2,19 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. -nearby_shared_auto_imports = [ "chrome/browser/resources/nearby_share/shared/nearby_share_settings_behavior.html|NearbyShareSettingsBehavior,NearbySettings" ] +nearby_shared_auto_imports = [ + "chrome/browser/resources/nearby_share/shared/nearby_share_settings_behavior.html|NearbyShareSettingsBehavior,NearbySettings", + "chrome/browser/resources/nearby_share/shared/nearby_contact_manager.html|getContactManager,observeContactManager", + "ui/webui/resources/html/assert.html|assert,assertNotReached", +] + nearby_shared_namespace_rewrites = [ "nearby_share.NearbySettings|NearbySettings", "nearby_share.NearbyShareSettingsBehavior|NearbyShareSettingsBehavior", "nearby_share.getNearbyShareSettings|getNearbyShareSettings", "nearby_share.observeNearbyShareSettings|observeNearbyShareSettings", "nearby_share.setNearbyShareSettingsForTesting|setNearbyShareSettingsForTesting", + "nearby_share.getContactManager|getContactManager", + "nearby_share.observeContactManager|observeContactManager", + "nearby_share.setContactManagerForTesting|setContactManagerForTesting", ]
diff --git a/chrome/browser/resources/nearby_share/shared/nearby_shared_resources.grd b/chrome/browser/resources/nearby_share/shared/nearby_shared_resources.grd index ea37a57..2f858d5 100644 --- a/chrome/browser/resources/nearby_share/shared/nearby_shared_resources.grd +++ b/chrome/browser/resources/nearby_share/shared/nearby_shared_resources.grd
@@ -13,6 +13,10 @@ <release seq="1"> <includes> <!-- Shared Polymer 2 pages--> + <include name="IDR_NEARBY_CONTACT_MANAGER_HTML" + file="nearby_contact_manager.html" type="BINDATA" compress="false"/> + <include name="IDR_NEARBY_CONTACT_MANAGER_JS" + file="nearby_contact_manager.js" type="BINDATA" compress="false"/> <include name="IDR_NEARBY_CONTACT_VISIBILITY_HTML" file="nearby_contact_visibility.html" type="BINDATA" compress="false"/> <include name="IDR_NEARBY_CONTACT_VISIBILITY_JS"
diff --git a/chrome/browser/resources/nearby_share/shared/nearby_shared_resources_v3.grd b/chrome/browser/resources/nearby_share/shared/nearby_shared_resources_v3.grd index 6e5b5a1..be38c6c8 100644 --- a/chrome/browser/resources/nearby_share/shared/nearby_shared_resources_v3.grd +++ b/chrome/browser/resources/nearby_share/shared/nearby_shared_resources_v3.grd
@@ -13,6 +13,9 @@ <release seq="1"> <includes> <!-- Generated Polymer 2 to 3 elements --> + <include name="IDR_NEARBY_CONTACT_MANAGER_M_JS" + file="${root_gen_dir}/chrome/browser/resources/nearby_share/shared/nearby_contact_manager.m.js" + use_base_dir="false" type="BINDATA" compress="false"/> <include name="IDR_NEARBY_CONTACT_VISIBILITY_M_JS" file="${root_gen_dir}/chrome/browser/resources/nearby_share/shared/nearby_contact_visibility.m.js" use_base_dir="false" type="BINDATA" compress="false"/>
diff --git a/chrome/browser/resources/settings/autofill_page/password_check.js b/chrome/browser/resources/settings/autofill_page/password_check.js index c4b869cd..9fe8d79 100644 --- a/chrome/browser/resources/settings/autofill_page/password_check.js +++ b/chrome/browser/resources/settings/autofill_page/password_check.js
@@ -99,7 +99,7 @@ /** * The password that the user is interacting with now. - * @private {?PasswordManagerProxy.CompromisedCredential} + * @private {?PasswordManagerProxy.InsecureCredential} */ activePassword_: Object, @@ -659,7 +659,7 @@ }, /** - * @param {!PasswordManagerProxy.CompromisedCredential} item + * @param {!PasswordManagerProxy.InsecureCredential} item * @return {boolean} * @private */
diff --git a/chrome/browser/resources/settings/autofill_page/password_check_behavior.js b/chrome/browser/resources/settings/autofill_page/password_check_behavior.js index 385f711..6808005f 100644 --- a/chrome/browser/resources/settings/autofill_page/password_check_behavior.js +++ b/chrome/browser/resources/settings/autofill_page/password_check_behavior.js
@@ -26,7 +26,7 @@ /** * An array of leaked passwords to display. - * @type {!Array<!PasswordManagerProxy.CompromisedCredential>} + * @type {!Array<!PasswordManagerProxy.InsecureCredential>} */ leakedPasswords: { type: Array, @@ -53,7 +53,7 @@ }, /** - * @private {?function(!PasswordManagerProxy.CompromisedCredentials):void} + * @private {?function(!PasswordManagerProxy.InsecureCredentials):void} */ leakedCredentialsListener_: null, @@ -106,7 +106,7 @@ /** * Function to update compromised credentials in a proper way. New entities * should appear in the bottom. - * @param {!Array<!PasswordManagerProxy.CompromisedCredential>} newList + * @param {!Array<!PasswordManagerProxy.InsecureCredential>} newList * @private */ updateCompromisedPasswordList(newList) { @@ -127,16 +127,18 @@ const addedResults = Array.from(map.values()); addedResults.sort((lhs, rhs) => { // Phished passwords are always shown above leaked passwords. - const isPhished = cred => - cred.compromiseType !== chrome.passwordsPrivate.CompromiseType.LEAKED; + const isPhished = cred => cred.compromisedInfo.compromiseType !== + chrome.passwordsPrivate.CompromiseType.LEAKED; if (isPhished(lhs) !== isPhished(rhs)) { return isPhished(lhs) ? -1 : 1; } // Sort by time only if the displayed elapsed time since compromise is // different. - if (lhs.elapsedTimeSinceCompromise !== rhs.elapsedTimeSinceCompromise) { - return rhs.compromiseTime - lhs.compromiseTime; + if (lhs.compromisedInfo.elapsedTimeSinceCompromise !== + rhs.compromisedInfo.elapsedTimeSinceCompromise) { + return rhs.compromisedInfo.compromiseTime - + lhs.compromisedInfo.compromiseTime; } // Otherwise sort by origin, or by username in case the origin is the
diff --git a/chrome/browser/resources/settings/autofill_page/password_check_edit_dialog.js b/chrome/browser/resources/settings/autofill_page/password_check_edit_dialog.js index 83bec206..6ddccfc8 100644 --- a/chrome/browser/resources/settings/autofill_page/password_check_edit_dialog.js +++ b/chrome/browser/resources/settings/autofill_page/password_check_edit_dialog.js
@@ -36,7 +36,7 @@ properties: { /** * The password that the user is interacting with now. - * @type {?PasswordManagerProxy.CompromisedCredential} + * @type {?PasswordManagerProxy.InsecureCredential} */ item: Object,
diff --git a/chrome/browser/resources/settings/autofill_page/password_check_list_item.html b/chrome/browser/resources/settings/autofill_page/password_check_list_item.html index d49687c..851c766 100644 --- a/chrome/browser/resources/settings/autofill_page/password_check_list_item.html +++ b/chrome/browser/resources/settings/autofill_page/password_check_list_item.html
@@ -94,7 +94,7 @@ [[getCompromiseType_(item)]] </div> <div class="secondary" id="elapsedTime"> - [[item.elapsedTimeSinceCompromise]] + [[item.compromisedInfo.elapsedTimeSinceCompromise]] </div> </div> </div>
diff --git a/chrome/browser/resources/settings/autofill_page/password_check_list_item.js b/chrome/browser/resources/settings/autofill_page/password_check_list_item.js index d89ce27b..91660292 100644 --- a/chrome/browser/resources/settings/autofill_page/password_check_list_item.js +++ b/chrome/browser/resources/settings/autofill_page/password_check_list_item.js
@@ -40,7 +40,7 @@ /** * The password that is being displayed. - * @type {!PasswordManagerProxy.CompromisedCredential} + * @type {!PasswordManagerProxy.InsecureCredential} */ item: Object, @@ -78,7 +78,7 @@ * @private */ getCompromiseType_() { - switch (this.item.compromiseType) { + switch (this.item.compromisedInfo.compromiseType) { case chrome.passwordsPrivate.CompromiseType.PHISHED: return loadTimeData.getString('phishedPassword'); case chrome.passwordsPrivate.CompromiseType.LEAKED: @@ -88,7 +88,8 @@ } assertNotReached( - 'Can\'t find a string for type: ' + this.item.compromiseType); + 'Can\'t find a string for type: ' + + this.item.compromisedInfo.compromiseType); }, /**
diff --git a/chrome/browser/resources/settings/autofill_page/password_manager_proxy.js b/chrome/browser/resources/settings/autofill_page/password_manager_proxy.js index ccfd969..2b973cb 100644 --- a/chrome/browser/resources/settings/autofill_page/password_manager_proxy.js +++ b/chrome/browser/resources/settings/autofill_page/password_manager_proxy.js
@@ -199,7 +199,7 @@ /** * Requests the latest information about compromised credentials. - * @return {!Promise<(PasswordManagerProxy.CompromisedCredentials)>} + * @return {!Promise<(PasswordManagerProxy.InsecureCredentials)>} */ getCompromisedCredentials() {} @@ -211,20 +211,20 @@ /** * Requests to remove |compromisedCredential| from the password store. - * @param {!PasswordManagerProxy.CompromisedCredential} compromisedCredential + * @param {!PasswordManagerProxy.InsecureCredential} compromisedCredential */ removeCompromisedCredential(compromisedCredential) {} /** * Add an observer to the compromised passwords change. - * @param {function(!PasswordManagerProxy.CompromisedCredentials):void} + * @param {function(!PasswordManagerProxy.InsecureCredentials):void} * listener */ addCompromisedCredentialsListener(listener) {} /** * Remove an observer to the compromised passwords change. - * @param {function(!PasswordManagerProxy.CompromisedCredentials):void} + * @param {function(!PasswordManagerProxy.InsecureCredentials):void} * listener */ removeCompromisedCredentialsListener(listener) {} @@ -244,17 +244,17 @@ /** * Requests the plaintext password for |credential|. |callback| gets invoked * with the same |credential|, whose |password| field will be set. - * @param {!PasswordManagerProxy.CompromisedCredential} credential + * @param {!PasswordManagerProxy.InsecureCredential} credential * @param {!chrome.passwordsPrivate.PlaintextReason} reason - * @return {!Promise<!PasswordManagerProxy.CompromisedCredential>} A promise - * that resolves to the CompromisedCredential with the password field + * @return {!Promise<!PasswordManagerProxy.InsecureCredential>} A promise + * that resolves to the InsecureCredential with the password field * populated. */ getPlaintextCompromisedPassword(credential, reason) {} /** * Requests to change the password of |credential| to |new_password|. - * @param {!PasswordManagerProxy.CompromisedCredential} credential + * @param {!PasswordManagerProxy.InsecureCredential} credential * @param {string} newPassword * @return {!Promise<void>} A promise that resolves when the password is * updated. @@ -293,11 +293,11 @@ /** @typedef {chrome.passwordsPrivate.ExportProgressStatus} */ PasswordManagerProxy.ExportProgressStatus; -/** @typedef {chrome.passwordsPrivate.CompromisedCredential} */ -PasswordManagerProxy.CompromisedCredential; +/** @typedef {chrome.passwordsPrivate.InsecureCredential} */ +PasswordManagerProxy.InsecureCredential; -/** @typedef {Array<!chrome.passwordsPrivate.CompromisedCredential>} */ -PasswordManagerProxy.CompromisedCredentials; +/** @typedef {Array<!chrome.passwordsPrivate.InsecureCredential>} */ +PasswordManagerProxy.InsecureCredentials; /** @typedef {chrome.passwordsPrivate.PasswordCheckStatus} */ PasswordManagerProxy.PasswordCheckStatus;
diff --git a/chrome/browser/resources/settings/autofill_page/password_remove_confirmation_dialog.js b/chrome/browser/resources/settings/autofill_page/password_remove_confirmation_dialog.js index fbfac87..8243050 100644 --- a/chrome/browser/resources/settings/autofill_page/password_remove_confirmation_dialog.js +++ b/chrome/browser/resources/settings/autofill_page/password_remove_confirmation_dialog.js
@@ -22,7 +22,7 @@ properties: { /** * The password that is being displayed. - * @private {?PasswordManagerProxy.CompromisedCredential} + * @private {?PasswordManagerProxy.InsecureCredential} */ item: Object,
diff --git a/chrome/browser/resources/settings/chromeos/os_languages_page/add_input_methods_dialog.js b/chrome/browser/resources/settings/chromeos/os_languages_page/add_input_methods_dialog.js index c47f232..227f5558 100644 --- a/chrome/browser/resources/settings/chromeos/os_languages_page/add_input_methods_dialog.js +++ b/chrome/browser/resources/settings/chromeos/os_languages_page/add_input_methods_dialog.js
@@ -93,9 +93,9 @@ if (this.languageHelper.isInputMethodEnabled(inputMethod.id)) { return false; } - // Show input methods whose name matches the query. - return inputMethod.displayName.toLocaleLowerCase().includes( - this.lowercaseQueryString_); + // Show input methods whose tags match the query. + return inputMethod.tags.some( + tag => tag.toLocaleLowerCase().includes(this.lowercaseQueryString_)); }); },
diff --git a/chrome/browser/resources/settings/chromeos/os_settings.gni b/chrome/browser/resources/settings/chromeos/os_settings.gni index 1f8dfbdd..76367c5 100644 --- a/chrome/browser/resources/settings/chromeos/os_settings.gni +++ b/chrome/browser/resources/settings/chromeos/os_settings.gni
@@ -18,6 +18,9 @@ "nearby_share.setReceiveManagerForTesting|setReceiveManagerForTesting", "nearby_share.getReceiveManager|getReceiveManager", "nearby_share.observeReceiveManager|observeReceiveManager", + "nearby_share.setContactManagerForTesting|setContactManagerForTesting", + "nearby_share.getContactManager|getContactManager", + "nearby_share.observeContactManager|observeContactManager", "parental_controls.ParentalControlsBrowserProxy|ParentalControlsBrowserProxy", "settings.AccountManagerBrowserProxy|AccountManagerBrowserProxy", "settings.AmbientModeBrowserProxy|AmbientModeBrowserProxy",
diff --git a/chrome/browser/resources/settings/chromeos/os_settings.js b/chrome/browser/resources/settings/chromeos/os_settings.js index bd969b8e..8fd6ed9 100644 --- a/chrome/browser/resources/settings/chromeos/os_settings.js +++ b/chrome/browser/resources/settings/chromeos/os_settings.js
@@ -30,6 +30,7 @@ export {PageStatus, StoredAccount, SyncBrowserProxy, SyncBrowserProxyImpl, SyncStatus} from '../people_page/sync_browser_proxy.m.js'; export {CrSettingsPrefs} from '../prefs/prefs_types.m.js'; export {Route, Router} from '../router.m.js'; +export {getContactManager, observeContactManager, setContactManagerForTesting} from '../shared/nearby_contact_manager.m.js'; export {getNearbyShareSettings, observeNearbyShareSettings, setNearbyShareSettingsForTesting} from '../shared/nearby_share_settings.m.js'; export {NearbySettings, NearbyShareSettingsBehavior} from '../shared/nearby_share_settings_behavior.m.js'; export {AmbientModeBrowserProxyImpl} from './ambient_mode_page/ambient_mode_browser_proxy.m.js';
diff --git a/chrome/browser/safe_browsing/client_side_detection_host.cc b/chrome/browser/safe_browsing/client_side_detection_host.cc index 77b3d35..61ab8ca 100644 --- a/chrome/browser/safe_browsing/client_side_detection_host.cc +++ b/chrome/browser/safe_browsing/client_side_detection_host.cc
@@ -567,8 +567,7 @@ Profile::FromBrowserContext(web_contents()->GetBrowserContext()); // Send ping even if the browser feature extraction failed. csd_service_->SendClientReportPhishingRequest( - request.release(), // The service takes ownership of the request object. - IsExtendedReportingEnabled(*profile->GetPrefs()), + std::move(request), IsExtendedReportingEnabled(*profile->GetPrefs()), IsEnhancedProtectionEnabled(*profile->GetPrefs()), callback); }
diff --git a/chrome/browser/safe_browsing/client_side_detection_host_browsertest.cc b/chrome/browser/safe_browsing/client_side_detection_host_browsertest.cc index 5a0ef8d..7d55ef94 100644 --- a/chrome/browser/safe_browsing/client_side_detection_host_browsertest.cc +++ b/chrome/browser/safe_browsing/client_side_detection_host_browsertest.cc
@@ -29,15 +29,11 @@ FakeClientSideDetectionService() : ClientSideDetectionService(nullptr) {} void SendClientReportPhishingRequest( - ClientPhishingRequest* verdict, + std::unique_ptr<ClientPhishingRequest> verdict, bool is_extended_reporting, bool is_enhanced_protection, const ClientReportPhishingRequestCallback& callback) override { saved_request_ = *verdict; - // TODO(drubery): This can be removed if SendClientReportPhishingRequest - // takes a unique_ptr<ClientPhishingRequest>, while also providing better - // guarantees about memory safety. - delete verdict; saved_callback_ = callback; request_callback_.Run(); }
diff --git a/chrome/browser/safe_browsing/client_side_detection_host_unittest.cc b/chrome/browser/safe_browsing/client_side_detection_host_unittest.cc index aef74cb3..f276e9b 100644 --- a/chrome/browser/safe_browsing/client_side_detection_host_unittest.cc +++ b/chrome/browser/safe_browsing/client_side_detection_host_unittest.cc
@@ -96,9 +96,9 @@ // buffer strings because the BrowserFeatureExtractor might add features to the // verdict object before calling SendClientReportPhishingRequest. MATCHER_P(PartiallyEqualVerdict, other, "") { - return (other.url() == arg.url() && - other.client_score() == arg.client_score() && - other.is_phishing() == arg.is_phishing()); + return (other.url() == arg->url() && + other.client_score() == arg->client_score() && + other.is_phishing() == arg->is_phishing()); } // Test that the callback is nullptr when the verdict is not phishing. @@ -129,7 +129,7 @@ ~MockClientSideDetectionService() override {} MOCK_METHOD4(SendClientReportPhishingRequest, - void(ClientPhishingRequest*, + void(std::unique_ptr<ClientPhishingRequest>, bool, bool, const ClientReportPhishingRequestCallback&)); @@ -498,10 +498,10 @@ request->CopyFrom(verdict); std::move(callback).Run(true, std::move(request)); })); - EXPECT_CALL(*csd_service_, - SendClientReportPhishingRequest( - Pointee(PartiallyEqualVerdict(verdict)), _, _, _)) - .WillOnce(DoAll(DeleteArg<0>(), SaveArg<3>(&cb))); + + EXPECT_CALL(*csd_service_, SendClientReportPhishingRequest( + PartiallyEqualVerdict(verdict), _, _, _)) + .WillOnce(SaveArg<3>(&cb)); PhishingDetectionDone(verdict.SerializeAsString()); EXPECT_TRUE(Mock::VerifyAndClear(csd_host_.get())); ASSERT_FALSE(cb.is_null()); @@ -533,10 +533,9 @@ request->CopyFrom(verdict); std::move(callback).Run(true, std::move(request)); })); - EXPECT_CALL(*csd_service_, - SendClientReportPhishingRequest( - Pointee(PartiallyEqualVerdict(verdict)), _, _, _)) - .WillOnce(DoAll(DeleteArg<0>(), SaveArg<3>(&cb))); + EXPECT_CALL(*csd_service_, SendClientReportPhishingRequest( + PartiallyEqualVerdict(verdict), _, _, _)) + .WillOnce(SaveArg<3>(&cb)); PhishingDetectionDone(verdict.SerializeAsString()); EXPECT_TRUE(Mock::VerifyAndClear(csd_host_.get())); ASSERT_FALSE(cb.is_null()); @@ -569,10 +568,9 @@ request->CopyFrom(verdict); std::move(callback).Run(true, std::move(request)); })); - EXPECT_CALL(*csd_service_, - SendClientReportPhishingRequest( - Pointee(PartiallyEqualVerdict(verdict)), _, _, _)) - .WillOnce(DoAll(DeleteArg<0>(), SaveArg<3>(&cb))); + EXPECT_CALL(*csd_service_, SendClientReportPhishingRequest( + PartiallyEqualVerdict(verdict), _, _, _)) + .WillOnce(SaveArg<3>(&cb)); PhishingDetectionDone(verdict.SerializeAsString()); EXPECT_TRUE(Mock::VerifyAndClear(csd_host_.get())); EXPECT_TRUE(Mock::VerifyAndClear(csd_service_.get())); @@ -623,10 +621,9 @@ request->CopyFrom(verdict); std::move(callback).Run(true, std::move(request)); })); - EXPECT_CALL(*csd_service_, - SendClientReportPhishingRequest( - Pointee(PartiallyEqualVerdict(verdict)), _, _, _)) - .WillOnce(DoAll(DeleteArg<0>(), SaveArg<3>(&cb))); + EXPECT_CALL(*csd_service_, SendClientReportPhishingRequest( + PartiallyEqualVerdict(verdict), _, _, _)) + .WillOnce(SaveArg<3>(&cb)); PhishingDetectionDone(verdict.SerializeAsString()); EXPECT_TRUE(Mock::VerifyAndClear(csd_host_.get())); EXPECT_TRUE(Mock::VerifyAndClear(csd_service_.get())); @@ -648,16 +645,14 @@ ClientSideDetectionService::ClientReportPhishingRequestCallback cb_other; verdict.set_url(other_phishing_url.spec()); verdict.set_client_score(0.8f); - EXPECT_CALL(*csd_service_, - SendClientReportPhishingRequest( - Pointee(PartiallyEqualVerdict(verdict)), _, _, _)) - .WillOnce( - DoAll(DeleteArg<0>(), SaveArg<3>(&cb_other), QuitUIMessageLoop())); + EXPECT_CALL(*csd_service_, SendClientReportPhishingRequest( + PartiallyEqualVerdict(verdict), _, _, _)) + .WillOnce(SaveArg<3>(&cb_other)); std::vector<GURL> redirect_chain; redirect_chain.push_back(other_phishing_url); SetRedirectChain(redirect_chain); PhishingDetectionDone(verdict.SerializeAsString()); - base::RunLoop().Run(); + base::RunLoop().RunUntilIdle(); EXPECT_TRUE(Mock::VerifyAndClear(csd_host_.get())); EXPECT_TRUE(Mock::VerifyAndClear(csd_service_.get())); ASSERT_FALSE(cb_other.is_null()); @@ -721,10 +716,10 @@ WaitAndCheckPreClassificationChecks(); SetUnsafeSubResourceForCurrent(true /* expect_unsafe_resource */); - EXPECT_CALL(*csd_service_, SendClientReportPhishingRequest( - Pointee(PartiallyEqualVerdict(verdict)), _, _, - CallbackIsNull())) - .WillOnce(DoAll(DeleteArg<0>(), QuitUIMessageLoop())); + EXPECT_CALL(*csd_service_, + SendClientReportPhishingRequest(PartiallyEqualVerdict(verdict), _, + _, CallbackIsNull())) + .WillOnce(QuitUIMessageLoop()); std::vector<GURL> redirect_chain; redirect_chain.push_back(url); SetRedirectChain(redirect_chain); @@ -761,10 +756,10 @@ NavigateWithSBHitAndCommit(url); WaitAndCheckPreClassificationChecks(); - EXPECT_CALL(*csd_service_, SendClientReportPhishingRequest( - Pointee(PartiallyEqualVerdict(verdict)), _, _, - CallbackIsNull())) - .WillOnce(DoAll(DeleteArg<0>(), QuitUIMessageLoop())); + EXPECT_CALL(*csd_service_, + SendClientReportPhishingRequest(PartiallyEqualVerdict(verdict), _, + _, CallbackIsNull())) + .WillOnce(QuitUIMessageLoop()); std::vector<GURL> redirect_chain; redirect_chain.push_back(url); SetRedirectChain(redirect_chain); @@ -820,10 +815,10 @@ // Even though we have a pending navigation, the DidShowSBInterstitial check // should apply to the committed navigation, so we should get a report even // though the verdict has is_phishing = false. - EXPECT_CALL(*csd_service_, SendClientReportPhishingRequest( - Pointee(PartiallyEqualVerdict(verdict)), _, _, - CallbackIsNull())) - .WillOnce(DoAll(DeleteArg<0>(), QuitUIMessageLoop())); + EXPECT_CALL(*csd_service_, + SendClientReportPhishingRequest(PartiallyEqualVerdict(verdict), _, + _, CallbackIsNull())) + .WillOnce(QuitUIMessageLoop()); std::vector<GURL> redirect_chain; redirect_chain.push_back(url); SetRedirectChain(redirect_chain); @@ -1165,10 +1160,10 @@ const base::TimeDelta duration = base::TimeDelta::FromMilliseconds(10); AdvanceTimeTickClock(duration); - EXPECT_CALL(*csd_service_, SendClientReportPhishingRequest( - Pointee(PartiallyEqualVerdict(verdict)), _, _, - CallbackIsNull())) - .WillOnce(DoAll(DeleteArg<0>(), QuitUIMessageLoop())); + EXPECT_CALL(*csd_service_, + SendClientReportPhishingRequest(PartiallyEqualVerdict(verdict), _, + _, CallbackIsNull())) + .WillOnce(QuitUIMessageLoop()); std::vector<GURL> redirect_chain; redirect_chain.push_back(url); SetRedirectChain(redirect_chain); @@ -1211,7 +1206,7 @@ verdict.set_screenshot_phash("screenshot_phash"); verdict.set_phash_dimension_size(48); - ClientPhishingRequest* request; + ClientPhishingRequest request; EXPECT_CALL(*mock_extractor, ExtractFeatures(_, _, _)) .WillOnce(Invoke([&](const BrowseInfo* into, @@ -1220,13 +1215,12 @@ std::move(callback).Run(true, std::move(request)); })); EXPECT_CALL(*csd_service_, SendClientReportPhishingRequest(_, _, _, _)) - .WillOnce(SaveArg<0>(&request)); + .WillOnce(testing::SaveArgPointee<0>(&request)); PhishingDetectionDone(verdict.SerializeAsString()); EXPECT_TRUE(Mock::VerifyAndClear(csd_host_.get())); - EXPECT_FALSE(request->has_phash_dimension_size()); - EXPECT_FALSE(request->has_screenshot_phash()); - EXPECT_FALSE(request->has_screenshot_digest()); - delete request; + EXPECT_FALSE(request.has_phash_dimension_size()); + EXPECT_FALSE(request.has_screenshot_phash()); + EXPECT_FALSE(request.has_screenshot_digest()); } TEST_F(ClientSideDetectionHostTest, AllowsScreenshotDataForSBER) { @@ -1245,7 +1239,7 @@ verdict.set_screenshot_phash("screenshot_phash"); verdict.set_phash_dimension_size(48); - ClientPhishingRequest* request; + ClientPhishingRequest request; EXPECT_CALL(*mock_extractor, ExtractFeatures(_, _, _)) .WillOnce(Invoke([&](const BrowseInfo* into, @@ -1254,13 +1248,12 @@ std::move(callback).Run(true, std::move(request)); })); EXPECT_CALL(*csd_service_, SendClientReportPhishingRequest(_, _, _, _)) - .WillOnce(SaveArg<0>(&request)); + .WillOnce(testing::SaveArgPointee<0>(&request)); PhishingDetectionDone(verdict.SerializeAsString()); EXPECT_TRUE(Mock::VerifyAndClear(csd_host_.get())); - EXPECT_TRUE(request->has_phash_dimension_size()); - EXPECT_TRUE(request->has_screenshot_phash()); - EXPECT_TRUE(request->has_screenshot_digest()); - delete request; + EXPECT_TRUE(request.has_phash_dimension_size()); + EXPECT_TRUE(request.has_screenshot_phash()); + EXPECT_TRUE(request.has_screenshot_digest()); } } // namespace safe_browsing
diff --git a/chrome/browser/safe_browsing/client_side_detection_service.cc b/chrome/browser/safe_browsing/client_side_detection_service.cc index 8d5c282..70920aa 100644 --- a/chrome/browser/safe_browsing/client_side_detection_service.cc +++ b/chrome/browser/safe_browsing/client_side_detection_service.cc
@@ -154,7 +154,7 @@ } void ClientSideDetectionService::SendClientReportPhishingRequest( - ClientPhishingRequest* verdict, + std::unique_ptr<ClientPhishingRequest> verdict, bool is_extended_reporting, bool is_enhanced_reporting, const ClientReportPhishingRequestCallback& callback) { @@ -163,7 +163,7 @@ FROM_HERE, base::BindOnce( &ClientSideDetectionService::StartClientReportPhishingRequest, - weak_factory_.GetWeakPtr(), verdict, is_extended_reporting, + weak_factory_.GetWeakPtr(), std::move(verdict), is_extended_reporting, is_enhanced_reporting, callback)); } @@ -213,12 +213,11 @@ } void ClientSideDetectionService::StartClientReportPhishingRequest( - ClientPhishingRequest* verdict, + std::unique_ptr<ClientPhishingRequest> request, bool is_extended_reporting, bool is_enhanced_reporting, const ClientReportPhishingRequestCallback& callback) { DCHECK_CURRENTLY_ON(BrowserThread::UI); - std::unique_ptr<ClientPhishingRequest> request(verdict); if (!enabled_) { if (!callback.is_null())
diff --git a/chrome/browser/safe_browsing/client_side_detection_service.h b/chrome/browser/safe_browsing/client_side_detection_service.h index b283010..044f2aa 100644 --- a/chrome/browser/safe_browsing/client_side_detection_service.h +++ b/chrome/browser/safe_browsing/client_side_detection_service.h
@@ -82,7 +82,7 @@ // SendClientReportPhishingRequest() was called. You may set |callback| to // NULL if you don't care about the server verdict. virtual void SendClientReportPhishingRequest( - ClientPhishingRequest* verdict, + std::unique_ptr<ClientPhishingRequest> verdict, bool is_extended_reporting, bool is_enhanced_protection, const ClientReportPhishingRequestCallback& callback); @@ -167,7 +167,7 @@ // Starts sending the request to the client-side detection frontends. // This method takes ownership of both pointers. void StartClientReportPhishingRequest( - ClientPhishingRequest* verdict, + std::unique_ptr<ClientPhishingRequest> request, bool is_extended_reporting, bool is_enhanced_protection, const ClientReportPhishingRequestCallback& callback);
diff --git a/chrome/browser/safe_browsing/client_side_detection_service_unittest.cc b/chrome/browser/safe_browsing/client_side_detection_service_unittest.cc index 3f8bafb..acd7d303 100644 --- a/chrome/browser/safe_browsing/client_side_detection_service_unittest.cc +++ b/chrome/browser/safe_browsing/client_side_detection_service_unittest.cc
@@ -86,13 +86,15 @@ float score, bool is_extended_reporting, bool is_enhanced_reporting) { - ClientPhishingRequest* request = new ClientPhishingRequest(); + std::unique_ptr<ClientPhishingRequest> request = + std::make_unique<ClientPhishingRequest>(ClientPhishingRequest()); request->set_url(phishing_url.spec()); request->set_client_score(score); request->set_is_phishing(true); // client thinks the URL is phishing. + base::RunLoop run_loop; csd_service_->SendClientReportPhishingRequest( - request, is_extended_reporting, is_enhanced_reporting, + std::move(request), is_extended_reporting, is_enhanced_reporting, base::Bind(&ClientSideDetectionServiceTest::SendRequestDone, base::Unretained(this), run_loop.QuitWhenIdleClosure())); phishing_url_ = phishing_url;
diff --git a/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/share_sheet/ShareSheetBottomSheetContent.java b/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/share_sheet/ShareSheetBottomSheetContent.java index 39750e8..f342c446 100644 --- a/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/share_sheet/ShareSheetBottomSheetContent.java +++ b/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/share_sheet/ShareSheetBottomSheetContent.java
@@ -15,6 +15,7 @@ import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.ImageView; +import android.widget.ScrollView; import android.widget.TextView; import androidx.annotation.ColorInt; @@ -55,6 +56,7 @@ private ViewGroup mContentView; private ShareParams mParams; private String mUrl; + private ScrollView mContentScrollableView; /** * Creates a ShareSheetBottomSheetContent (custom share sheet) opened from the given activity. @@ -76,6 +78,7 @@ private void createContentView() { mContentView = (ViewGroup) LayoutInflater.from(mContext).inflate( R.layout.share_sheet_content, null); + mContentScrollableView = mContentView.findViewById(R.id.share_sheet_scrollview); } /* @@ -315,6 +318,10 @@ @Override public int getVerticalScrollOffset() { + if (mContentScrollableView != null) { + return mContentScrollableView.getScrollY(); + } + return 0; }
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_af.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_af.xtb index 1642109d..3500e1c 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_af.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_af.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">Nuwe incognito-oortjie</translation> <translation id="1856325424225101786">Stel Ligte Modus terug?</translation> <translation id="1868024384445905608">Chrome laai lêers nou vinniger af</translation> -<translation id="1874760110381325409">Jy sal met jou Google-rekening aangemeld word\n(dit sal nie Chrome-sinkronisering aanskakel nie)</translation> <translation id="1877026089748256423">Chrome is verouderd</translation> <translation id="1883903952484604915">My lêers</translation> <translation id="1925021887439448749">Voer gepasmaakte webadres in</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_am.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_am.xtb index 8fe23906..75866570 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_am.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_am.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">አዲስ ማንነት የማያሳውቅ ትር</translation> <translation id="1856325424225101786">ቀላል ሁነታን ዳግም ያስጀምሩ?</translation> <translation id="1868024384445905608">Chrome አሁን ፋይሎችን በበለጠ ፍጥነት ያወርዳል</translation> -<translation id="1874760110381325409">በGoogle መለያዎ ይገባሉ\n(ይህ Chrome ስምረትን አያበራም)</translation> <translation id="1877026089748256423">Chrome ጊዜው አልፎበታል</translation> <translation id="1883903952484604915">የእኔ ፋይሎች</translation> <translation id="1925021887439448749">ብጁ የድር አድራሻ ያስገቡ</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ar.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ar.xtb index 260c6c6..bc489f6c 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ar.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ar.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">علامة تبويب جديدة للتصفح المتخفي</translation> <translation id="1856325424225101786">هل ترغب في إعادة ضبط الوضع البسيط؟</translation> <translation id="1868024384445905608">يُنزِّل Chrome الآن الملفات بشكلٍ أسرع.</translation> -<translation id="1874760110381325409">سيتمّ تسجيل دخولك باستخدام حسابك على Google\n(لن يُفعِّل هذا الإجراء ميزة "مزامنة Chrome").</translation> <translation id="1877026089748256423">إصدار Chrome قديم</translation> <translation id="1883903952484604915">ملفاتي</translation> <translation id="1925021887439448749">إدخال عنوان الويب المُخصص</translation> @@ -893,7 +892,7 @@ <translation id="7930998711684428189">التحذير في حال الكشف عن كلمات المرور في عملية اختراق بيانات</translation> <translation id="7942131818088350342"><ph name="PRODUCT_NAME" /> قديم.</translation> <translation id="7947953824732555851">قبول وتسجيل الدخول</translation> -<translation id="7961926449547174351">لقد أوقفت إذن الوصول إلى "مساحة التخزين"، يُرجى الانتقال إلى "الإعدادات" لتفعيله.</translation> +<translation id="7961926449547174351">لقد أوقفت إذن الوصول إلى "مساحة التخزين". يُرجى الانتقال إلى "الإعدادات" لتفعيله.</translation> <translation id="7963646190083259054">المورّد:</translation> <translation id="7967911570373677897">لمسح رمز استجابة سريعة ضوئيًا، يُرجى تغيير الإعدادات ليتمكّن Chrome من استخدام الكاميرا.</translation> <translation id="7971136598759319605">نشط قبل يوم واحد</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_as.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_as.xtb index 9af6dafc..800e39b5 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_as.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_as.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">নতুন ইনকগনিট’ টেব</translation> <translation id="1856325424225101786">লাইট ম’ড ৰিছেট কৰিবনে?</translation> <translation id="1868024384445905608">Chromeএ এতিয়া ফাইলবোৰ অধিক দ্ৰুতভাৱে ডাউনল’ড কৰিব পাৰে</translation> -<translation id="1874760110381325409">আপোনাক নিজৰ Google একাউণ্টটোৰে ছাইন ইন কৰোৱা হ’ব\n(এইটোৱে Chrome ছিংক অন নকৰে)</translation> <translation id="1877026089748256423">Chromeৰ ম্যাদ উকলিছে</translation> <translation id="1883903952484604915">মোৰ ফাইল</translation> <translation id="1925021887439448749">কাষ্টম ৱেব ঠিকনা দিয়ক</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_az.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_az.xtb index 23ff6ee8..4e4c76d0 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_az.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_az.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">Yeni gizli panel</translation> <translation id="1856325424225101786">Layt rejimi sıfırlansın?</translation> <translation id="1868024384445905608">Chrome artıq faylları sürətlə endirir</translation> -<translation id="1874760110381325409">Google Hesabınızla daxil olacaqsınız\n(bununla Chrome Sinx aktiv edilməyəcək)</translation> <translation id="1877026089748256423">Chrome'un vaxtı keçib</translation> <translation id="1883903952484604915">Fayllarım</translation> <translation id="1925021887439448749">Fərdi veb ünvanı daxil edin</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_be.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_be.xtb index 038a55a0..0785d3ca 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_be.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_be.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">Новая ўкладка інкогніта</translation> <translation id="1856325424225101786">Скінуць налады лёгкага рэжыму?</translation> <translation id="1868024384445905608">Chrome цяпер спампоўвае файлы хутчэй</translation> -<translation id="1874760110381325409">Вы ўвойдзеце ва Уліковы запіс Google\n(Сінхранізацыя Chrome не ўключыцца)</translation> <translation id="1877026089748256423">Chrome састарэў</translation> <translation id="1883903952484604915">Мае файлы</translation> <translation id="1925021887439448749">Увядзіце карыстальніцкі вэб-адрас</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_bg.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_bg.xtb index c38e2429..70edefb0 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_bg.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_bg.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">Нов раздел „инкогнито“</translation> <translation id="1856325424225101786">Да се нулира ли олекотеният режим?</translation> <translation id="1868024384445905608">Изтеглянето на файлове в Chrome вече е по-бързо</translation> -<translation id="1874760110381325409">Ще влезете в профила си в Google\n(синхронизирането в Chrome няма да се включи)</translation> <translation id="1877026089748256423">Chrome не е актуален</translation> <translation id="1883903952484604915">Моите файлове</translation> <translation id="1925021887439448749">Въведете персонализиран уеб адрес</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_bn.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_bn.xtb index 3bfd217..7265958 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_bn.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_bn.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">নতুন ছদ্মবেশী ট্যাব</translation> <translation id="1856325424225101786">লাইট মোড রিসেট করবেন?</translation> <translation id="1868024384445905608">Chrome এখন আরও দ্রুত ফাইল ডাউনলোড করে</translation> -<translation id="1874760110381325409">আপনি নিজের Google অ্যাকাউন্টের মাধ্যমে সাইন-ইন হয়ে যাবেন\n(এটি Chrome সিঙ্ক' ফিচারের সুবিধা চালু করবে না)</translation> <translation id="1877026089748256423">Chrome পুরানো হয়ে গেছে</translation> <translation id="1883903952484604915">আমার ফাইল</translation> <translation id="1925021887439448749">কাস্টম ওয়েব ঠিকানা লিখুন</translation> @@ -895,7 +894,7 @@ <translation id="7930998711684428189">আপনার পাসওয়ার্ড কোনও ডেটা নিরাপত্তা লঙ্ঘনের কারণে সর্বজনীনভাবে প্রকাশ হলে তা আপনাকে জানানো হবে।</translation> <translation id="7942131818088350342"><ph name="PRODUCT_NAME" /> পুরনো হয়ে গেছে।</translation> <translation id="7947953824732555851">সম্মত হয়ে সাইন-ইন করুন</translation> -<translation id="7961926449547174351">আপনি স্টোরেজ অ্যাক্সেস বন্ধ করে রেখেছেন, এটি চালু করতে 'সেটিংস'-এ যান।</translation> +<translation id="7961926449547174351">আপনি স্টোরেজ অ্যাক্সেস বন্ধ করে রেখেছেন, 'সেটিংস' থেকে এটি চালু করতে পারবেন।</translation> <translation id="7963646190083259054">বিক্রেতা:</translation> <translation id="7967911570373677897">QR কোড স্ক্যান করতে হলে, আপনার সেটিংস পরিবর্তন করুন যাতে Chrome আপনার ক্যামেরা ব্যবহার করতে পারে</translation> <translation id="7971136598759319605">১ দিন আগে ব্যবহার করা হয়েছে</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_bs.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_bs.xtb index 17db2a0..9b78779 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_bs.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_bs.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">Nova anonimna kartica</translation> <translation id="1856325424225101786">Želite li poništiti Jednostavni način?</translation> <translation id="1868024384445905608">Chrome sada brže preuzima fajlove</translation> -<translation id="1874760110381325409">Prijavit ćete se s Google računom\n(ovim se neće uključiti Sinhronizacija Chromea)</translation> <translation id="1877026089748256423">Chrome je zastario</translation> <translation id="1883903952484604915">Moji fajlovi</translation> <translation id="1925021887439448749">Unesite prilagođenu web adresu</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ca.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ca.xtb index d004a0a..d876f7f 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ca.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ca.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">Pestanya d'incògnit nova</translation> <translation id="1856325424225101786">Vols restablir el mode bàsic?</translation> <translation id="1868024384445905608">Ara Chrome baixa els fitxers més ràpid</translation> -<translation id="1874760110381325409">S'iniciarà la sessió amb el teu Compte de Google\n(aquesta acció no activarà la Sincronització de Chrome)</translation> <translation id="1877026089748256423">Chrome no està actualitzat</translation> <translation id="1883903952484604915">Els meus fitxers</translation> <translation id="1925021887439448749">Introdueix l'adreça web personalitzada</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_cs.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_cs.xtb index 88ddb64..cc67aa1 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_cs.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_cs.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">Nová anonymní karta</translation> <translation id="1856325424225101786">Resetovat zjednodušený režim?</translation> <translation id="1868024384445905608">Chrome teď stahuje soubory rychleji</translation> -<translation id="1874760110381325409">Budete přihlášeni pomocí svého účtu Google\n(Synchronizace Chromu se tímto nezapne)</translation> <translation id="1877026089748256423">Chrome je zastaralý</translation> <translation id="1883903952484604915">Moje soubory</translation> <translation id="1925021887439448749">Zadejte vlastní webovou adresu</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_da.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_da.xtb index dd58c02..0f278c07 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_da.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_da.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">Ny inkognitofane</translation> <translation id="1856325424225101786">Vil du nulstille Lite-tilstand?</translation> <translation id="1868024384445905608">Chrome downloader nu filer endnu hurtigere</translation> -<translation id="1874760110381325409">Du bliver logget ind på din Google-konto\n(Chrome-synkronisering aktiveres ikke)</translation> <translation id="1877026089748256423">Chrome er forældet</translation> <translation id="1883903952484604915">Mine filer</translation> <translation id="1925021887439448749">Angiv tilpasset webadresse</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_de.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_de.xtb index c2e1cc0..a8ada83 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_de.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_de.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">Neuer Inkognitotab</translation> <translation id="1856325424225101786">Lite-Modus zurücksetzen?</translation> <translation id="1868024384445905608">In Chrome sind Downloads jetzt noch schneller</translation> -<translation id="1874760110381325409">Sie werden mit Ihrem Google-Konto angemeldet\n(die Chrome-Synchronisierung wird dabei nicht aktiviert)</translation> <translation id="1877026089748256423">Chrome ist veraltet.</translation> <translation id="1883903952484604915">Meine Dateien</translation> <translation id="1925021887439448749">Benutzerdefinierte Webadresse eingeben</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_el.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_el.xtb index 43ac529..a2a8beb4 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_el.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_el.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">Νέα καρτέλα ανώνυμης περιήγησης</translation> <translation id="1856325424225101786">Επαναφορά της λειτουργίας Lite;</translation> <translation id="1868024384445905608">Το Chrome κατεβάζει πλέον τα αρχεία πιο γρήγορα</translation> -<translation id="1874760110381325409">Θα συνδεθείτε με τον Λογαριασμό σας Google\n(αυτή η ενέργεια δεν θα απενεργοποιήσει τον Συγχρονισμό Chrome)</translation> <translation id="1877026089748256423">Το Chrome δεν είναι ενημερωμένο</translation> <translation id="1883903952484604915">Τα αρχεία μου</translation> <translation id="1925021887439448749">Εισαγάγετε προσαρμοσμένη διεύθυνση ιστού</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_en-GB.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_en-GB.xtb index 83982c2..d3278c4 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_en-GB.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_en-GB.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">New incognito tab</translation> <translation id="1856325424225101786">Reset Lite mode?</translation> <translation id="1868024384445905608">Chrome now downloads files faster</translation> -<translation id="1874760110381325409">You’ll be signed in with your Google Account\n(this won’t turn on Chrome Sync)</translation> <translation id="1877026089748256423">Chrome is out of date</translation> <translation id="1883903952484604915">My files</translation> <translation id="1925021887439448749">Enter custom web address</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_es-419.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_es-419.xtb index cdaa639e6..44a6043 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_es-419.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_es-419.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">Nueva pestaña de incógnito</translation> <translation id="1856325424225101786">¿Quieres restablecer el modo lite?</translation> <translation id="1868024384445905608">Ahora Chrome descarga los archivos más rápido</translation> -<translation id="1874760110381325409">Accederás con tu Cuenta de Google\n(esta acción no activará la Sincronización de Chrome)</translation> <translation id="1877026089748256423">Chrome no está actualizado.</translation> <translation id="1883903952484604915">Mis archivos</translation> <translation id="1925021887439448749">Ingresa una dirección web personalizada</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_es.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_es.xtb index 3644ee5..e24be2d 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_es.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_es.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">Nueva pestaña de incógnito</translation> <translation id="1856325424225101786">¿Restablecer el modo básico?</translation> <translation id="1868024384445905608">Ahora Chrome descarga los archivos más rápido</translation> -<translation id="1874760110381325409">Iniciarás sesión con tu cuenta de Google\n(esto no activará la sincronización de Chrome).</translation> <translation id="1877026089748256423">Chrome no está actualizado</translation> <translation id="1883903952484604915">Mis archivos</translation> <translation id="1925021887439448749">Introduce una dirección web personalizada</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_et.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_et.xtb index 1173a94..d8554a2 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_et.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_et.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">Uus inkognito vaheleht</translation> <translation id="1856325424225101786">Kas lähtestada lihtsustatud režiim?</translation> <translation id="1868024384445905608">Chrome laadib nüüd faile kiiremini alla</translation> -<translation id="1874760110381325409">Teid logitakse oma Google'i kontole sisse\n(see ei lülita Chrome'i sünkroonimist sisse)</translation> <translation id="1877026089748256423">Chrome on aegunud</translation> <translation id="1883903952484604915">Minu failid</translation> <translation id="1925021887439448749">Sisestage kohandatud veebiaadress</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_eu.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_eu.xtb index 3b800ba..0be1087 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_eu.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_eu.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">Ezkutuko moduko fitxa berria</translation> <translation id="1856325424225101786">Oinarrizko modua berrezarri nahi duzu?</translation> <translation id="1868024384445905608">Chrome-k orain bizkorrago deskargatzen ditu fitxategiak</translation> -<translation id="1874760110381325409">Google-ko kontuarekin hasiko duzu saioa\n(ez da aktibatuko Chrome-ren Sinkronizazioa).</translation> <translation id="1877026089748256423">Chrome zaharkituta dago</translation> <translation id="1883903952484604915">Nire fitxategiak</translation> <translation id="1925021887439448749">Idatzi web-helbide pertsonalizatua</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_fa.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_fa.xtb index bbbc20d6..ad8a8b0a 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_fa.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_fa.xtb
@@ -48,7 +48,7 @@ <translation id="1303507811548703290"><ph name="DOMAIN" /> - ارسالشده از <ph name="DEVICE_NAME" /></translation> <translation id="1307205233980126133">متأسفیم، نتوانستیم اطلاعات کاربری شما را تأیید کنیم</translation> <translation id="1310482092992808703">گروهبندی برگهها</translation> -<translation id="1311657260431405215">این کد QR یک نشانی وب نیست: <ph name="QRCODEVALUE" /></translation> +<translation id="1311657260431405215">این رمزینه پاسخسریع یک نشانی وب نیست: <ph name="QRCODEVALUE" /></translation> <translation id="1327257854815634930">سابقه «پیمایش» باز است.</translation> <translation id="1331212799747679585">Chrome بهروزرسانی نشد. گزینههای دیگر</translation> <translation id="1332501820983677155">میانبرهای ویژه Google Chrome</translation> @@ -106,7 +106,6 @@ <translation id="1853692000353488670">برگه جدید ناشناس</translation> <translation id="1856325424225101786">«حالت ساده» بازنشانی شود؟</translation> <translation id="1868024384445905608">اکنون Chrome فایلها را سریعتر بارگیری میکند</translation> -<translation id="1874760110381325409">با «حساب Google» خود به سیستم وارد خواهید شد\n(با این کار، «همگامسازی Chrome» روشن نخواهد شد)</translation> <translation id="1877026089748256423">نسخه Chrome قدیمی است</translation> <translation id="1883903952484604915">فایلهای من</translation> <translation id="1925021887439448749">نشانی وب سفارشی وارد کنید</translation> @@ -153,7 +152,7 @@ <translation id="2157851137955077194">برای بهاشتراک گذاشتن چیزی از تلفنتان با دستگاهی دیگر، در تنظیمات Chrome هر دو دستگاه «همگامسازی» را روشن کنید</translation> <translation id="2158408438301413340">Chrome نتوانست همه گذرواژههایتان را بررسی کند</translation> <translation id="2169830938017475061">اکنون</translation> -<translation id="2175927920773552910">کد QR</translation> +<translation id="2175927920773552910">رمزینه پاسخسریع</translation> <translation id="218608176142494674">همرسانی</translation> <translation id="2227444325776770048">ادامه دادن بهعنوان <ph name="USER_FULL_NAME" /></translation> <translation id="2234876718134438132">همگامسازی و سرویسهای Google</translation> @@ -239,7 +238,7 @@ <translation id="2898264748040935573">ویرایش گذرواژه ذخیرهشده</translation> <translation id="2900528713135656174">ایجاد رویداد</translation> <translation id="2904414404539560095">فهرست دستگاههایی که میتوان با آنها برگه همرسانی کرد کاملاً باز است.</translation> -<translation id="2905036901251765993">برای همرسانی کردن با افراد اطراف، اجازه دهید این کد QR را اسکن کنند</translation> +<translation id="2905036901251765993">برای همرسانی کردن با افراد اطراف، اجازه دهید این رمزینه پاسخسریع را اسکن کنند</translation> <translation id="2909615210195135082">پلتفورم اعلانهای Google</translation> <translation id="2923908459366352541">نام نامعتبر است</translation> <translation id="2932150158123903946">فضای ذخیرهسازی Google <ph name="APP_NAME" /></translation> @@ -594,7 +593,7 @@ <translation id="5723735397759933332">اکنون «حالت ساده» با بهینهسازی تصاویر در صفحههای HTTPS باعث صرفهجویی بیشتر در مصرف داده میشود.</translation> <translation id="5726692708398506830">بزرگتر کردن همهچیز در صفحه</translation> <translation id="5732819098735351888">بارگیری هنگام اتصال به Wi-Fi شروع خواهد شد.</translation> -<translation id="5733983706093266635">نمیتوان کد QR ایجاد کرد. نشانی وب بیش از <ph name="CHARACTER_LIMIT" /> نویسه دارد.</translation> +<translation id="5733983706093266635">نمیتوان رمزینه پاسخسریع ایجاد کرد. نشانی وب بیش از <ph name="CHARACTER_LIMIT" /> نویسه دارد.</translation> <translation id="5748802427693696783">به برگههای استاندارد تغییر یافت</translation> <translation id="5749068826913805084">Chrome برای بارگیری فایلها باید به حافظه دسترسی داشته باشد.</translation> <translation id="5749237766298580851">خاموش <ph name="SEPARATOR" /> توصیه نمیشود</translation> @@ -722,7 +721,7 @@ <translation id="6590471736817333463">تا ۶۰٪ در مصرف داده صرفهجویی کنید</translation> <translation id="6590680911007613645">مطمئن شوید گذرواژهای که ذخیره میکنید با گذرواژه <ph name="SITE" /> مطابقت داشته باشد</translation> <translation id="6593061639179217415">سایت مخصوص رایانه</translation> -<translation id="6597891566292541626">کد QR/بارکد را در این قاب قرار دهید.</translation> +<translation id="6597891566292541626">رمزینه پاسخسریع/بارکد را در این قاب قرار دهید.</translation> <translation id="6600954340915313787">کپی در Chrome</translation> <translation id="661266467055912436">امنیت را برای شما و همه کاربران دیگر وب بهبود میبخشد.</translation> <translation id="6618554661997243500">برای دیدن سایتها و داستانهای برتر ویژه شما، روی دکمه «صفحه اصلی» ضربه بزنید</translation> @@ -895,7 +894,7 @@ <translation id="7947953824732555851">پذیرش و ورود به سیستم</translation> <translation id="7961926449547174351">دسترسی به «فضای ذخیرهسازی» را غیرفعال کردهاید، لطفاً برای فعال کردن آن به «تنظیمات» بروید.</translation> <translation id="7963646190083259054">ارائهدهنده:</translation> -<translation id="7967911570373677897">برای اسکن کردن کد QR، تنظیمات را تغییر دهید تا Chrome بتواند از دوربین استفاده کند</translation> +<translation id="7967911570373677897">برای اسکن کردن رمزینه پاسخسریع، تنظیمات را تغییر دهید تا Chrome بتواند از دوربین استفاده کند</translation> <translation id="7971136598759319605">آخرین فعالیت: ۱ روز قبل</translation> <translation id="7975379999046275268">پیشنمایش صفحه <ph name="BEGIN_NEW" />جدید<ph name="END_NEW" /></translation> <translation id="7981313251711023384">پیشبارگیری صفحهها برای مرور و جستجوی سریعتر</translation> @@ -923,7 +922,7 @@ <translation id="8105893657415066307"><ph name="DESCRIPTION" /> <ph name="SEPARATOR" /> <ph name="FILE_SIZE" /></translation> <translation id="8109613176066109935">برای اینکه به نشانکها در همه دستگاههایتان دسترسی داشته باشید، همگامسازی را روشن کنید</translation> <translation id="8110087112193408731">فعالیت Chrome شما در «آسایش دیجیتالی» نشان داده شود؟</translation> -<translation id="8115259494083109761">برای اسکن کردن کد QR، به Chrome اجازه دهید از دوربین استفاده کند</translation> +<translation id="8115259494083109761">برای اسکن کردن رمزینه پاسخسریع، به Chrome اجازه دهید از دوربین استفاده کند</translation> <translation id="8127542551745560481">ویرایش صفحه اصلی</translation> <translation id="813082847718468539">مشاهدهٔ اطلاعات سایت</translation> <translation id="8137558756159375272">«لمس برای جستجو» کلمه انتخاب شده و صفحه کنونی را به عنوان محتوای زمینه به جستجوی Google ارسال میکند. میتوانید آن را در <ph name="BEGIN_LINK" />تنظیمات<ph name="END_LINK" /> خاموش کنید.</translation> @@ -938,7 +937,7 @@ <translation id="8223642481677794647">منوی کارت فید</translation> <translation id="8224471946457685718">بارگیری مقالات برای شما با Wi-Fi</translation> <translation id="8232956427053453090">نگهداشتن داده</translation> -<translation id="8233540874193135768">برای اسکن کردن کد QR، از دستگاه دوربینداری استفاده کنید.</translation> +<translation id="8233540874193135768">برای اسکن کردن رمزینه پاسخسریع، از دستگاه دوربینداری استفاده کنید.</translation> <translation id="8250920743982581267">اسناد</translation> <translation id="825412236959742607">این صفحه حافظه خیلی زیادی استفاده میکند، بههمیندلیل Chrome برخی از محتوا را پاک کرد.</translation> <translation id="8260126382462817229">دوباره سعی کنید به سیستم وارد شوید</translation> @@ -1021,7 +1020,7 @@ <translation id="8970887620466824814">مشکلی پیش آمد.</translation> <translation id="8972098258593396643">در پوشه پیشفرض بارگیری شود؟</translation> <translation id="8988028529677883095">استفاده از تلفن بهعنوان کلید امنیتی</translation> -<translation id="8990209962746788689">کد QR ایجاد نمیشود</translation> +<translation id="8990209962746788689">رمزینه پاسخسریع ایجاد نمیشود</translation> <translation id="8993760627012879038">باز کردن برگه جدیدی در حالت ناشناس</translation> <translation id="8996847606757455498">انتخاب ارائهدهنده دیگر</translation> <translation id="8998729206196772491">هماکنون درحال ورود به سیستم با یک حساب مدیریتشده توسط <ph name="MANAGED_DOMAIN" /> و ارائه کنترل دادههای Chrome خودتان به سرپرست این حساب هستید. دادههایتان بهطور دائم به این حساب مرتبط میشوند. با خروج از Chrome، دادههایتان از این دستگاه حذف میشوند اما همچنان در حساب Google شما باقی میماند.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_fi.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_fi.xtb index e3ee928..387d6c6 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_fi.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_fi.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">Uusi incognito-välilehti</translation> <translation id="1856325424225101786">Palautetaanko yksinkertaistettu tila?</translation> <translation id="1868024384445905608">Chrome lataa tiedostot nyt nopeammin</translation> -<translation id="1874760110381325409">Sinut kirjataan sisään Google-tililläsi\n(tämä ei laita päälle Chromen synkronointia)</translation> <translation id="1877026089748256423">Chrome on vanhentunut</translation> <translation id="1883903952484604915">Omat tiedostot</translation> <translation id="1925021887439448749">Lisää muokattu verkko-osoite</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_fil.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_fil.xtb index 6620bfb..3d049d6 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_fil.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_fil.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">Bagong tab na incognito</translation> <translation id="1856325424225101786">I-reset ang Lite mode?</translation> <translation id="1868024384445905608">Mas mabilis nang mag-download ng mga file ang Chrome</translation> -<translation id="1874760110381325409">Masa-sign in ka sa iyong Google Account\n(hindi nito mao-on ang Chrome Sync)</translation> <translation id="1877026089748256423">Luma na ang Chrome</translation> <translation id="1883903952484604915">Aking Mga File</translation> <translation id="1925021887439448749">Maglagay ng custom na address sa web</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_fr-CA.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_fr-CA.xtb index 23376ec0..1482dd7 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_fr-CA.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_fr-CA.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">Nouvel onglet de navigation privée</translation> <translation id="1856325424225101786">Réinitialiser le mode simplifié?</translation> <translation id="1868024384445905608">Chrome télécharge maintenant les fichiers plus rapidement</translation> -<translation id="1874760110381325409">Vous serez connecté avec votre compte Google\n(cela n'activera pas la synchronisation Chrome)</translation> <translation id="1877026089748256423">Google Chrome n'est pas à jour</translation> <translation id="1883903952484604915">Mes fichiers</translation> <translation id="1925021887439448749">Entrer une adresse Web personnalisée</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_fr.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_fr.xtb index 44e7295d..0286f946 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_fr.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_fr.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">Nouvel onglet de navigation privée</translation> <translation id="1856325424225101786">Réinitialiser le mode simplifié ?</translation> <translation id="1868024384445905608">Chrome permet désormais de télécharger des fichiers plus vite</translation> -<translation id="1874760110381325409">Vous serez connecté à votre compte Google\n(la synchronisation Chrome ne sera pas activée)</translation> <translation id="1877026089748256423">Version de Chrome obsolète</translation> <translation id="1883903952484604915">Mes fichiers</translation> <translation id="1925021887439448749">Saisissez une adresse Web personnalisée</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_gl.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_gl.xtb index ef20731..cda2c82 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_gl.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_gl.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">Nova pestana de incógnito</translation> <translation id="1856325424225101786">Queres restablecer o modo básico?</translation> <translation id="1868024384445905608">Chrome agora descarga os ficheiros máis rápido</translation> -<translation id="1874760110381325409">Iniciarás sesión coa túa Conta de Google\n(isto non activará a Sincronización de Chrome)</translation> <translation id="1877026089748256423">Chromium está desactualizado</translation> <translation id="1883903952484604915">Os meus ficheiros</translation> <translation id="1925021887439448749">Introducir enderezo web personalizado</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_gu.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_gu.xtb index 722c7dc8..f87fcbf 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_gu.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_gu.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">નવી છુપી ટેબ</translation> <translation id="1856325424225101786">લાઇટ મોડને રીસેટ કરીએ?</translation> <translation id="1868024384445905608">Chrome હવે ફાઇલોને વધુ ઝડપથી ડાઉનલોડ કરે છે</translation> -<translation id="1874760110381325409">તમને તમારા Google એકાઉન્ટ વડે સાઇન ઇન કરવામાં આવશે\n(આમ થવાથી Chrome સિંકની સુવિધા ચાલુ થશે નહીં)</translation> <translation id="1877026089748256423">Chrome જૂનું થઈ ગયું છે</translation> <translation id="1883903952484604915">મારી ફાઇલો</translation> <translation id="1925021887439448749">કસ્ટમ વેબ ઍડ્રેસ દાખલ કરો</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_hi.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_hi.xtb index 8a7ae704..fa142d4 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_hi.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_hi.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">नया गुप्त टैब</translation> <translation id="1856325424225101786">लाइट मोड रीसेट करें?</translation> <translation id="1868024384445905608">Chrome अब ज़्यादा तेज़ी से फ़ाइलें डाउनलोड करता है</translation> -<translation id="1874760110381325409">आप अपने Google खाते से साइन इन हो जाएंगे\n(इससे Chrome सिंक की सुविधा चालू नहीं होगी)</translation> <translation id="1877026089748256423">Chrome पुराना हो गया है</translation> <translation id="1883903952484604915">मेरी फ़ाइलें</translation> <translation id="1925021887439448749">पसंद के मुताबिक वेब पता डालें</translation> @@ -893,7 +892,7 @@ <translation id="7930998711684428189">डेटा का उल्लंघन होने पर अगर आपके पासवर्ड बिना अनुमति के सार्वजनिक हो जाते हैं, तो आपको चेतावनी मिलती है</translation> <translation id="7942131818088350342"><ph name="PRODUCT_NAME" /> पुराना है.</translation> <translation id="7947953824732555851">स्वीकार करें और साइन इन करें</translation> -<translation id="7961926449547174351">आपने डिवाइस की मेमोरी का ऐक्सेस बंद कर दिया है. इसे चालू करने के लिए, कृपया 'सेटिंग' पर जाएं.</translation> +<translation id="7961926449547174351">आपने डिवाइस की मेमोरी का ऐक्सेस बंद कर दिया है. इसे चालू करने के लिए, कृपया सेटिंग पेज पर जाएं.</translation> <translation id="7963646190083259054">विक्रेता:</translation> <translation id="7967911570373677897">क्यूआर कोड को स्कैन करने के लिए, अपनी सेटिंग बदलें, ताकि Chrome आपके कैमरे का इस्तेमाल कर सके</translation> <translation id="7971136598759319605">एक दिन पहले सिंक किया गया</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_hr.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_hr.xtb index 949b13f..4e72ae32 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_hr.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_hr.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">Nova anonimna kartica</translation> <translation id="1856325424225101786">Želite li poništiti Jednostavni način?</translation> <translation id="1868024384445905608">Chrome sada brže preuzima datoteke</translation> -<translation id="1874760110381325409">Prijavit ćete se Google računom\n(time se neće uključiti Chrome sinkronizacija)</translation> <translation id="1877026089748256423">Chrome je zastario</translation> <translation id="1883903952484604915">Moje datoteke</translation> <translation id="1925021887439448749">Unesite prilagođenu web-adresu</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_hu.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_hu.xtb index a33652a8..8fc3602 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_hu.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_hu.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">Új inkognitó lap</translation> <translation id="1856325424225101786">Visszaállítja az Egyszerűsített módot?</translation> <translation id="1868024384445905608">Mostantól a Chrome gyorsabban tölti le a fájlokat</translation> -<translation id="1874760110381325409">A rendszer bejelentkezteti majd a Google-fiókjába\n(ez nem kapcsolja be a Chrome-szinkronizálást)</translation> <translation id="1877026089748256423">A Chrome elavult</translation> <translation id="1883903952484604915">Saját fájlok</translation> <translation id="1925021887439448749">Írja be az egyéni internetcímet</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_hy.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_hy.xtb index d5cb861..68ef2d1 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_hy.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_hy.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">Նոր ինկոգնիտո ներդիր</translation> <translation id="1856325424225101786">Վերակայե՞լ Lite ռեժիմը</translation> <translation id="1868024384445905608">Chrome-ն այժմ ավելի արագ է ֆայլեր ներբեռնում</translation> -<translation id="1874760110381325409">Դուք կմտնեք ձեր Google հաշիվ\n(Chrome-ի համաժամացումը չի միանա)</translation> <translation id="1877026089748256423">Chrome-ը հնացած է</translation> <translation id="1883903952484604915">Իմ ֆայլերը</translation> <translation id="1925021887439448749">Մուտքագրեք այլ հասցե</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_id.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_id.xtb index 3bafe07..daec8fe 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_id.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_id.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">Tab samaran baru</translation> <translation id="1856325424225101786">Reset Mode Ringan?</translation> <translation id="1868024384445905608">Chrome sekarang mendownload file lebih cepat</translation> -<translation id="1874760110381325409">Anda akan login dengan Akun Google\n(ini tidak akan mengaktifkan Sinkronisasi Chrome)</translation> <translation id="1877026089748256423">Chrome terlalu lawas</translation> <translation id="1883903952484604915">File Saya</translation> <translation id="1925021887439448749">Masukkan alamat web khusus</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_is.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_is.xtb index b0ce679..13fd7a5 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_is.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_is.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">Nýr huliðsflipi</translation> <translation id="1856325424225101786">Viltu endurstilla léttútgáfu?</translation> <translation id="1868024384445905608">Chrome er nú fljótara að sækja skrár</translation> -<translation id="1874760110381325409">Þú verður skráð(ur) inn á Google reikninginn þinn\n(þetta mun ekki kveikja á Chrome samstillingu)</translation> <translation id="1877026089748256423">Chrome er úrelt</translation> <translation id="1883903952484604915">Skrárnar mínar</translation> <translation id="1925021887439448749">Færðu inn sérsniðna vefslóð</translation> @@ -893,7 +892,7 @@ <translation id="7930998711684428189">Vara við ef aðgangsorðin þín eru afhjúpuð vegna öryggisbrots</translation> <translation id="7942131818088350342"><ph name="PRODUCT_NAME" /> er úrelt.</translation> <translation id="7947953824732555851">Samþykkja og skrá inn</translation> -<translation id="7961926449547174351">Þú slökktir á aðgangi að geymslurými, opnaðu stillingar og kveiktu á honum.</translation> +<translation id="7961926449547174351">Þú lokaðir fyrir aðgang að geymslurými. Farðu í stillingar og leyfðu aðgang.</translation> <translation id="7963646190083259054">Framleiðandi:</translation> <translation id="7967911570373677897">Til að skanna QR-kóða skaltu breyta stillingunum svo að Chrome geti notað myndavélina þína</translation> <translation id="7971136598759319605">Virkt fyrir 1 degi</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_it.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_it.xtb index 09fb3e7..5ada335 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_it.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_it.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">Nuova scheda in incognito</translation> <translation id="1856325424225101786">Reimpostare la modalità Lite?</translation> <translation id="1868024384445905608">Ora Chrome scarica i file più velocemente</translation> -<translation id="1874760110381325409">Verrà eseguito l'accesso con il tuo Account Google\n(questa operazione non attiverà Sincronizzazione Chrome)</translation> <translation id="1877026089748256423">Chrome non è aggiornato</translation> <translation id="1883903952484604915">I miei file</translation> <translation id="1925021887439448749">Inserisci l'indirizzo web personalizzato</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_iw.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_iw.xtb index b4a3a13..65d7573 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_iw.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_iw.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">כרטיסייה חדשה לגלישה בסתר</translation> <translation id="1856325424225101786">לאפס את מצב הטעינה המהירה?</translation> <translation id="1868024384445905608">הורדת קבצים ב-Chrome מתבצעת עכשיו מהר יותר</translation> -<translation id="1874760110381325409">המערכת תכניס אותך באמצעות חשבון Google שלך\n(הפעולה הזו לא תגרום להפעלה של סנכרון Chrome).</translation> <translation id="1877026089748256423">Chrome אינו מעודכן</translation> <translation id="1883903952484604915">הקבצים שלי</translation> <translation id="1925021887439448749">הזן כתובת אינטרנט מותאמת אישית</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ja.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ja.xtb index 476c79b9..59bf9e7 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ja.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ja.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">新しいシークレット タブ</translation> <translation id="1856325424225101786">ライトモードをリセットしますか?</translation> <translation id="1868024384445905608">Chrome でのファイルのダウンロードがさらに速くなりました</translation> -<translation id="1874760110381325409">Google アカウントでログインします\n(Chrome 同期は有効になりません)</translation> <translation id="1877026089748256423">Chrome は古いバージョンです</translation> <translation id="1883903952484604915">マイファイル</translation> <translation id="1925021887439448749">カスタムのウェブアドレスを入力</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ka.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ka.xtb index 1ba30f86..43d4632 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ka.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ka.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">ახალი ინკოგნიტო ჩანართი</translation> <translation id="1856325424225101786">გსურთ Lite რეჟიმის გადაყენება?</translation> <translation id="1868024384445905608">Chrome ახლა უფრო სწრაფად ჩამოტვირთავს ფაილებს</translation> -<translation id="1874760110381325409">სისტემაში თქვენი Google ანგარიშით შეხვალთ\n(ეს მოქმედება არ ჩართავს Chrome სინქრონიზაციას)</translation> <translation id="1877026089748256423">Chrome მოძველებულია</translation> <translation id="1883903952484604915">ჩემი ფაილები</translation> <translation id="1925021887439448749">შეიყვანეთ მორგებული ვებ-მისამართი</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_kk.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_kk.xtb index fcffd4f..d4c0f9af 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_kk.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_kk.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">Жаңа жасырын қойынды</translation> <translation id="1856325424225101786">Lite режимі бастапқы күйге қайтарылсын ба?</translation> <translation id="1868024384445905608">Chrome енді файлдарды жылдам жүктеп алады</translation> -<translation id="1874760110381325409">Google есептік жазбаңызға кіресіз\n(Chrome Sync іске қосылмайды).</translation> <translation id="1877026089748256423">Chrome ескірген</translation> <translation id="1883903952484604915">Файлдарым</translation> <translation id="1925021887439448749">Арнаулы веб-мекенжайды енгізу</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_km.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_km.xtb index 58c8c26..217ea07 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_km.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_km.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">ផ្ទាំងឯកជនថ្មី</translation> <translation id="1856325424225101786">កំណត់មុខងារស្រាលឡើងវិញឬ?</translation> <translation id="1868024384445905608">ឥឡូវនេះ Chrome ទាញយកឯកសារបានរហ័សជាងមុន</translation> -<translation id="1874760110381325409">អ្នកនឹងចូលគណនីដោយប្រើគណនី Google របស់អ្នក\n(ការធ្វើបែបនេះនឹងមិនបើក Chrome សមកាលកម្មទេ)</translation> <translation id="1877026089748256423">Chrome ហួសសម័យហើយ</translation> <translation id="1883903952484604915">ឯកសាររបស់ខ្ញុំ</translation> <translation id="1925021887439448749">បញ្ចូលអាសយដ្ឋានទំព័រផ្ទាល់ខ្លួន</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_kn.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_kn.xtb index a6627f3..f0997de2 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_kn.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_kn.xtb
@@ -107,7 +107,6 @@ <translation id="1853692000353488670">ಹೊಸ ಅದೃಶ್ಯ ವಿಂಡೋ</translation> <translation id="1856325424225101786">ಲೈಟ್ ಮೋಡ್ ಅನ್ನು ಮರುಹೊಂದಿಸಬೇಕೇ?</translation> <translation id="1868024384445905608">Chrome ಈಗ ಫೈಲ್ಗಳನ್ನು ವೇಗವಾಗಿ ಡೌನ್ಲೋಡ್ ಮಾಡುತ್ತದೆ</translation> -<translation id="1874760110381325409">ನಿಮ್ಮ Google ಖಾತೆಯನ್ನು ಬಳಸಿ ನೀವು ಸೈನ್ ಇನ್ ಆಗುತ್ತೀರಿ\n(ಇದು Chrome ಸಿಂಕ್ ಅನ್ನು ಆನ್ ಮಾಡುವುದಿಲ್ಲ)</translation> <translation id="1877026089748256423">Chrome ನ ಅವಧಿ ಮುಗಿದಿದೆ</translation> <translation id="1883903952484604915">ನನ್ನ ಫೈಲ್ಗಳು</translation> <translation id="1925021887439448749">ಕಸ್ಟಮ್ ವೆಬ್ ವಿಳಾಸವನ್ನು ನಮೂದಿಸಿ</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ko.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ko.xtb index 5056a67..b6b623c 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ko.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ko.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">새 시크릿 탭</translation> <translation id="1856325424225101786">라이트 모드를 재설정하시겠습니까?</translation> <translation id="1868024384445905608">이제 Chrome에서 파일을 더 빠르게 다운로드합니다.</translation> -<translation id="1874760110381325409">Google 계정으로 로그인됩니다.\n(Chrome 동기화는 사용 설정되지 않음)</translation> <translation id="1877026089748256423">Chrome이 이전 버전임</translation> <translation id="1883903952484604915">내 파일</translation> <translation id="1925021887439448749">맞춤 웹 주소 입력</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ky.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ky.xtb index c812132..c1a9af98 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ky.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ky.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">Жаңы жашыруун өтмөк</translation> <translation id="1856325424225101786">Жөнөкөй режим кайра коюлсунбу?</translation> <translation id="1868024384445905608">Chrome эми файлдарды ылдамыраак жүктөп баштады</translation> -<translation id="1874760110381325409">Google аккаунтуңуз менен киресиз\n(Chrome шайкештирүү күйгүзүлбөйт)</translation> <translation id="1877026089748256423">Chrome эскирип калган.</translation> <translation id="1883903952484604915">Менин файлдарым</translation> <translation id="1925021887439448749">Жеке веб дарегин киргизиңиз</translation> @@ -598,7 +597,7 @@ <translation id="5748802427693696783">Стандарттык өтмөктөргө которулду</translation> <translation id="5749068826913805084">Файлдарды жүктөп алуу үчүн Chrome сактагычка мүмкүнчүлүк алышы керек.</translation> <translation id="5749237766298580851">Өчүк <ph name="SEPARATOR" /> Сунушталбайт</translation> -<translation id="5754350196967618083">Сунуштар жаңыртылган жок</translation> +<translation id="5754350196967618083">Сунуштар жаңырган жок</translation> <translation id="5763382633136178763">Жашыруун кыстырмалар</translation> <translation id="5763514718066511291">Бул колдонмонун URL'ин көчүрүү үчүн таптап коюңуз</translation> <translation id="5765780083710877561">Сүрөттөлүшү:</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_lo.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_lo.xtb index 55ea3463..bf9430c35 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_lo.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_lo.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">ແຖບບໍ່ເຜີຍຕົວຕົນໃໝ່</translation> <translation id="1856325424225101786">ຣີເຊັດໂໝດ Lite ບໍ?</translation> <translation id="1868024384445905608">ດຽວນີ້ Chrome ດາວໂຫຼດໄຟລ໌ໄດ້ໄວກວ່າເກົ່າ</translation> -<translation id="1874760110381325409">ທ່ານຈະເຂົ້າສູ່ລະບົບດ້ວຍບັນຊີ Google\n(ນີ້ຈະບໍ່ເປີດ Chrome Sync)</translation> <translation id="1877026089748256423">Chrome ລ້າສະໄໝແລ້ວ</translation> <translation id="1883903952484604915">ໄຟລ໌ຂອງຂ້ອຍ</translation> <translation id="1925021887439448749">ປ້ອນທີ່ຢູ່ເວັບແບບກຳນົດເອງ</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_lt.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_lt.xtb index fdc58954..9e3a887 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_lt.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_lt.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">Naujas inkognito skirtukas</translation> <translation id="1856325424225101786">Nustatyti supaprastintąjį režimą iš naujo?</translation> <translation id="1868024384445905608">Dabar „Chrome“ failus atsisiunčia greičiau</translation> -<translation id="1874760110381325409">Prisijungsite naudodami savo „Google“ paskyrą\n(„Chrome“ sinchronizavimo funkcija nebus įjungta)</translation> <translation id="1877026089748256423">„Chrome“ versija yra pasenusi</translation> <translation id="1883903952484604915">Mano failai</translation> <translation id="1925021887439448749">Įveskite tinkintą žiniatinklio adresą</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_lv.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_lv.xtb index 6e93e82..a8d7801 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_lv.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_lv.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">Jauna inkognito cilne</translation> <translation id="1856325424225101786">Vai atiestatīt vienkāršoto režīmu?</translation> <translation id="1868024384445905608">Tagad pārlūkā Chrome faili tiek lejupielādēti ātrāk.</translation> -<translation id="1874760110381325409">Jūs būsiet pierakstījies savā Google kontā\n(Chrome sinhronizācija netiks ieslēgta)</translation> <translation id="1877026089748256423">Chrome versija ir novecojusi.</translation> <translation id="1883903952484604915">Mani faili</translation> <translation id="1925021887439448749">Ievadiet pielāgotu tīmekļa adresi</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_mk.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_mk.xtb index 651a514f..1d89e61 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_mk.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_mk.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">Нова картичка „Инкогнито“</translation> <translation id="1856325424225101786">Дали да се ресетира „Лесниот режим“?</translation> <translation id="1868024384445905608">Отсега Chrome побрзо презема датотеки</translation> -<translation id="1874760110381325409">Ќе ве најавиме со вашата сметка на Google\n(ова нема да вклучи „Синхронизација на Chrome“)</translation> <translation id="1877026089748256423">Chrome е застарен</translation> <translation id="1883903952484604915">Мои датотеки</translation> <translation id="1925021887439448749">Внесете приспособена веб-адреса</translation> @@ -893,7 +892,7 @@ <translation id="7930998711684428189">Ве предупредува ако лозинките се откриени при упад во податоците.</translation> <translation id="7942131818088350342"><ph name="PRODUCT_NAME" /> е застарен.</translation> <translation id="7947953824732555851">Прифати и најави се</translation> -<translation id="7961926449547174351">Сте го оневозможиле пристапот до капацитетот, одете во поставки за да го овозможите.</translation> +<translation id="7961926449547174351">Сте го оневозможиле пристапот до „Капацитет“, одете во „Поставки“ за да го овозможите.</translation> <translation id="7963646190083259054">Продавач:</translation> <translation id="7967911570373677897">За да скенирате QR-код, променете ги поставките за да може Chrome да ја користи вашата камера</translation> <translation id="7971136598759319605">Активен пред 1 ден</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ml.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ml.xtb index ef20bd2..6988e63 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ml.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ml.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">പുതിയ അദൃശ്യ ടാബ്</translation> <translation id="1856325424225101786">ലൈറ്റ് മോഡ് പുനഃസജ്ജീകരിക്കണോ?</translation> <translation id="1868024384445905608">Chrome ഇപ്പോൾ വേഗത്തിൽ ഫയലുകൾ ഡൗൺലോഡ് ചെയ്യുന്നു</translation> -<translation id="1874760110381325409">നിങ്ങളുടെ Google അക്കൗണ്ട് ഉപയോഗിച്ച് സൈൻ ഇൻ ചെയ്യും\n(ഇത് Chrome സമന്വയം ഓണാക്കില്ല)</translation> <translation id="1877026089748256423">Chrome കാലഹരണപ്പെട്ടതാണ്</translation> <translation id="1883903952484604915">എന്റെ ഫയലുകൾ</translation> <translation id="1925021887439448749">ഇഷ്ടാനുസൃത വെബ് വിലാസം നൽകുക</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_mn.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_mn.xtb index 07e2f64..9c4ce04 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_mn.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_mn.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">Нууцлал бүхий шинэ таб</translation> <translation id="1856325424225101786">Lite горимыг шинэчлэх үү?</translation> <translation id="1868024384445905608">Chrome одоо файлыг хурдан татдаг боллоо</translation> -<translation id="1874760110381325409">Та Google Бүртгэлээрээ нэвтэрнэ\n(ингэснээр Chrome Синк идэвхжихгүй)</translation> <translation id="1877026089748256423">Chrome хуучирсан байна.</translation> <translation id="1883903952484604915">Миний файл</translation> <translation id="1925021887439448749">Тохируулсан вэб хаяг оруулах</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_mr.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_mr.xtb index b7f085c..105af2e 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_mr.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_mr.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">नवीन गुप्त टॅब</translation> <translation id="1856325424225101786">लाइट मोड रीसेट करायचा?</translation> <translation id="1868024384445905608">Chrome आता फाइल वेगाने डाउनलोड करते</translation> -<translation id="1874760110381325409">तुम्हाला तुमच्या Google खाते सह साइन इन केले जाईल\n(यामुळे Chrome सिंक सुरू होणार नाही)</translation> <translation id="1877026089748256423">Chrome कालबाह्य आहे</translation> <translation id="1883903952484604915">माझ्या फाइल</translation> <translation id="1925021887439448749">कस्टम वेब पत्ता एंटर करा</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ms.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ms.xtb index d7d4c50e..ed57a46 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ms.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ms.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">Tab inkognito baharu</translation> <translation id="1856325424225101786">Tetapkan semula mod Ringkas?</translation> <translation id="1868024384445905608">Chrome kini memuat turun fail dengan lebih pantas</translation> -<translation id="1874760110381325409">Anda akan log masuk dengan Akaun Google anda\n(ini tidak akan menghidupkan Penyegerakan Chrome)</translation> <translation id="1877026089748256423">Chrome sudah usang</translation> <translation id="1883903952484604915">Fail Saya</translation> <translation id="1925021887439448749">Masukkan alamat web tersuai</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_my.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_my.xtb index b18ba33..cd0c4a93 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_my.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_my.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">ကိုယ်ပျောက် တဘ်အသစ်</translation> <translation id="1856325424225101786">'အပေါ့စားမုဒ်' ပြန်လည်သတ်မှတ်မလား။</translation> <translation id="1868024384445905608">ယခုအခါ Chrome သည် ဖိုင်များကို ပိုမိုလျင်မြန်စွာ ဒေါင်းလုဒ်လုပ်ပါသည်</translation> -<translation id="1874760110381325409">သင့် Google Account ဖြင့် လက်မှတ်ထိုးဝင်ရပါမည်\n(၎င်းသည် Chrome စင့်ခ်ကို ဖွင့်မည်မဟုတ်ပါ)</translation> <translation id="1877026089748256423">Chrome မှာ ဟောင်းသွားပြီ</translation> <translation id="1883903952484604915">ကျွန်ုပ်၏ဖိုင်များ</translation> <translation id="1925021887439448749">စိတ်ကြိုက်ဝဘ်လိပ်စာကို ထည့်ရန်</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ne.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ne.xtb index d57e0b6..0d1867d2 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ne.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ne.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">नयाँ इनकगनिटो ट्याब</translation> <translation id="1856325424225101786">लाइट मोड रिसेट गर्ने हो?</translation> <translation id="1868024384445905608">Chrome ले अब फाइलहरू अझ छिटो डाउनलोड गर्छ</translation> -<translation id="1874760110381325409">तपाईं आफ्नो Google खातामार्फत साइन इन हुनु हुने छ\n(यसो गर्दा Chrome सिंक नामक सुविधा अन हुने छैन)</translation> <translation id="1877026089748256423">Chrome को मिति समाप्त भएको छ</translation> <translation id="1883903952484604915">मेरा फाइलहरू</translation> <translation id="1925021887439448749">आफू अनुकूल पारिएको वेब ठेगाना प्रविष्टि गर्नुहोस्</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_nl.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_nl.xtb index 3dc7ba8..7bdf5f3 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_nl.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_nl.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">Nieuw incognitotabblad</translation> <translation id="1856325424225101786">Lite-versie resetten?</translation> <translation id="1868024384445905608">Chrome downloadt bestanden nu sneller</translation> -<translation id="1874760110381325409">Je wordt ingelogd met je Google-account\n(hierdoor wordt Chrome-synchronisatie niet ingeschakeld)</translation> <translation id="1877026089748256423">Chrome is verouderd</translation> <translation id="1883903952484604915">Mijn bestanden</translation> <translation id="1925021887439448749">Aangepast webadres opgeven</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_no.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_no.xtb index d59fe62..7f63e2e6 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_no.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_no.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">Ny inkognitofane</translation> <translation id="1856325424225101786">Vil du tilbakestille forenklet modus?</translation> <translation id="1868024384445905608">Chrome laster ned filer raskere nå</translation> -<translation id="1874760110381325409">Du blir logget på med Google-kontoen din\n(dette medfører ikke at Chrome-synkronisering slås på)</translation> <translation id="1877026089748256423">Chrome er utdatert</translation> <translation id="1883903952484604915">Mine filer</translation> <translation id="1925021887439448749">Skriv inn en egendefinert nettadresse</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_or.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_or.xtb index bf7d683..641286cf 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_or.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_or.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">ନୂଆ ଇନ୍କଗ୍ନିଟୋ ଟାବ୍</translation> <translation id="1856325424225101786">ଲାଇଟ୍ ମୋଡ୍ ରିସେଟ୍ କରିବେ?</translation> <translation id="1868024384445905608">ପୂର୍ବାପେକ୍ଷା Chrome ବର୍ତ୍ତମାନ ଦ୍ରୁତତର ଭାବେ ଫାଇଲ୍ଗୁଡ଼ିକ ଡାଉନ୍ଲୋଡ୍ କରୁଛି</translation> -<translation id="1874760110381325409">ଆପଣ ଆପଣଙ୍କ Google ଆକାଉଣ୍ଟ ମାଧ୍ୟମରେ ସାଇନ୍ ଇନ୍ ହେବେ\n(ଏହା Chrome ସିଙ୍କ୍ ଚାଲୁ କରିବ ନାହିଁ)</translation> <translation id="1877026089748256423">Chromeର ସମୟସୀମା ଶେଷ ହୋଇଛି</translation> <translation id="1883903952484604915">ମୋ ଫାଇଲ୍ଗୁଡ଼ିକ</translation> <translation id="1925021887439448749">ଏକ କଷ୍ଟମ୍ ୱେବ୍ ଠିକଣା ଲେଖନ୍ତୁ</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_pa.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_pa.xtb index ce57a23a..e52e95a 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_pa.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_pa.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">ਨਵੀਂ ਇਨਕੋਗਨਿਟੋ ਟੈਬ</translation> <translation id="1856325424225101786">ਕੀ ਲਾਈਟ ਮੋਡ ਰੀਸੈੱਟ ਕਰਨਾ ਹੈ?</translation> <translation id="1868024384445905608">Chrome ਹੁਣ ਫ਼ਾਈਲਾਂ ਵਧੇਰੇ ਤੇਜ਼ੀ ਨਾਲ ਡਾਊਨਲੋਡ ਕਰਦਾ ਹੈ</translation> -<translation id="1874760110381325409">ਤੁਸੀਂ ਆਪਣੇ Google ਖਾਤੇ ਨਾਲ ਸਾਈਨ-ਇਨ ਕਰੋਗੇ\n(ਇਹ Chrome ਸਮਕਾਲੀਕਰਨ ਨੂੰ ਚਾਲੂ ਨਹੀਂ ਕਰੇਗਾ)</translation> <translation id="1877026089748256423">Chrome ਦਾ ਇਹ ਵਰਜਨ ਪੁਰਾਣਾ ਹੈ</translation> <translation id="1883903952484604915">ਮੇਰੀਆਂ ਫ਼ਾਈਲਾਂ</translation> <translation id="1925021887439448749">ਵਿਉਂਤਬੱਧ ਵੈੱਬ ਪਤਾ ਦਾਖਲ ਕਰੋ</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_pl.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_pl.xtb index 2c5ea2d..6bb58ff 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_pl.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_pl.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">Nowa karta incognito</translation> <translation id="1856325424225101786">Zresetować wersję uproszczoną?</translation> <translation id="1868024384445905608">Chrome pobiera pliki jeszcze szybciej</translation> -<translation id="1874760110381325409">Zalogujesz się na swoje konto Google\n(to nie spowoduje uruchomienia Synchronizacji Chrome)</translation> <translation id="1877026089748256423">Chrome jest nieaktualny</translation> <translation id="1883903952484604915">Moje pliki</translation> <translation id="1925021887439448749">Wpisz niestandardowy adres internetowy</translation> @@ -893,7 +892,7 @@ <translation id="7930998711684428189">Ostrzega, jeśli wskutek naruszenia bezpieczeństwa danych doszło do ujawnienia haseł.</translation> <translation id="7942131818088350342">Przeglądarka <ph name="PRODUCT_NAME" /> jest nieaktualna.</translation> <translation id="7947953824732555851">Zaakceptuj i zaloguj się</translation> -<translation id="7961926449547174351">Został wyłączony dostęp do pamięci. Otwórz ustawienia iwłącz go.</translation> +<translation id="7961926449547174351">Został wyłączony dostęp do pamięci. Otwórz ustawienia i włącz go.</translation> <translation id="7963646190083259054">Dostawca:</translation> <translation id="7967911570373677897">Aby zeskanować kod QR, otwórz ustawienia i zezwól Chrome na używanie aparatu</translation> <translation id="7971136598759319605">Aktywność 1 dzień temu</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_pt-BR.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_pt-BR.xtb index f747aee9..daf81e5 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_pt-BR.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_pt-BR.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">Nova guia anônima</translation> <translation id="1856325424225101786">Redefinir o Modo Lite?</translation> <translation id="1868024384445905608">Agora o Chrome faz o download de arquivos mais rapidamente</translation> -<translation id="1874760110381325409">Você fará login com sua Conta do Google.\nIsso não ativará a Sincronização do Chrome</translation> <translation id="1877026089748256423">O Google Chrome está desatualizado</translation> <translation id="1883903952484604915">Meus arquivos</translation> <translation id="1925021887439448749">Digite o endereço da Web personalizado</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_pt-PT.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_pt-PT.xtb index 682f110..45f808d 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_pt-PT.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_pt-PT.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">Novo separador anónimo</translation> <translation id="1856325424225101786">Pretende repor o Modo Lite?</translation> <translation id="1868024384445905608">O Chrome agora transfere os ficheiros mais rapidamente.</translation> -<translation id="1874760110381325409">Vai iniciar sessão com a sua Conta Google\n(esta ação não ativa a Sincronização do Chrome).</translation> <translation id="1877026089748256423">O Chrome está desatualizado</translation> <translation id="1883903952484604915">Os meus ficheiros</translation> <translation id="1925021887439448749">Introduzir endereço Web personalizado</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ro.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ro.xtb index d37c9ca..3411593 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ro.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ro.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">Filă incognito nouă</translation> <translation id="1856325424225101786">Resetezi modul Lite?</translation> <translation id="1868024384445905608">Acum Chrome descarcă mai rapid fișierele</translation> -<translation id="1874760110381325409">Vei fi conectat(ă) cu Contul tău Google\n(acest lucru nu va activa Sincronizarea Chrome)</translation> <translation id="1877026089748256423">Chrome nu este actualizat</translation> <translation id="1883903952484604915">Fișierele mele</translation> <translation id="1925021887439448749">Introdu adresa web personalizată</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ru.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ru.xtb index 0cd2f89..2dd672a 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ru.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ru.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">Новая вкладка инкогнито</translation> <translation id="1856325424225101786">Сбросить упрощенный режим?</translation> <translation id="1868024384445905608">Теперь файлы в Chrome будут скачиваться ещё быстрее</translation> -<translation id="1874760110381325409">Вы войдете в свой аккаунт Google\n(синхронизация Chrome при этом не включится).</translation> <translation id="1877026089748256423">Версия Chrome устарела</translation> <translation id="1883903952484604915">Скачанные</translation> <translation id="1925021887439448749">Введите веб-адрес</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_si.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_si.xtb index 704d040..73d9366 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_si.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_si.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">නව අප්රසිද්ධ පටිත්ත</translation> <translation id="1856325424225101786">සැහැල්ලු ප්රකාරය යළි පිහිටුවන්න ද?</translation> <translation id="1868024384445905608">Chrome දැන් ගොනු වේගවත්ව බාගනී</translation> -<translation id="1874760110381325409">දැන් ඔබ ඔබගේ Google ගිණුම සමගින් පුරා ඇත\n(මෙය Chrome සමමුහුර්තකරණය ක්රියාත්මක නොකරනු ඇත)</translation> <translation id="1877026089748256423">Chrome යල් පැන ගොස් ඇත</translation> <translation id="1883903952484604915">මගේ ගොනු</translation> <translation id="1925021887439448749">අභිරුචි වෙබ් ලිපිනය ඇතුළු කරන්න</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_sk.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_sk.xtb index 30cfacd..049ce8d 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_sk.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_sk.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">Nová karta inkognito</translation> <translation id="1856325424225101786">Chcete zjednodušený režim obnoviť?</translation> <translation id="1868024384445905608">Chrome teraz sťahuje súbory rýchlejšie</translation> -<translation id="1874760110381325409">Prihlásite sa účtom Google\n(synchronizáciu Chromu tým nezapnete)</translation> <translation id="1877026089748256423">Prehliadač Chrome je zastaraný</translation> <translation id="1883903952484604915">Moje súbory</translation> <translation id="1925021887439448749">Zadajte vlastnú webovú adresu</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_sl.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_sl.xtb index 67bc128..a90dc3b 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_sl.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_sl.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">Nov zavihek brez beleženja zgodovine</translation> <translation id="1856325424225101786">Želite ponastaviti lahki način?</translation> <translation id="1868024384445905608">Chrome zdaj hitreje prenaša datoteke</translation> -<translation id="1874760110381325409">Prijavljeni boste z računom Google\n(to ne bo vklopilo sinhronizacije za Chrome)</translation> <translation id="1877026089748256423">Chrome je zastarel</translation> <translation id="1883903952484604915">Moje datoteke</translation> <translation id="1925021887439448749">Vnesite spletni naslov po meri</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_sq.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_sq.xtb index 347a7c5..c1f76f14 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_sq.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_sq.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">Skedë e re e fshehtë</translation> <translation id="1856325424225101786">Të rivendoset "Modaliteti i lehtë"?</translation> <translation id="1868024384445905608">Chrome tani i shkarkon skedarët më shpejt</translation> -<translation id="1874760110381325409">Do të identifikohesh me "Llogarinë tënde të Google"\n(kjo nuk do të aktivizojë "Sinkronizimin e Chrome")</translation> <translation id="1877026089748256423">Chrome nuk është i përditësuar</translation> <translation id="1883903952484604915">Skedarët e mi</translation> <translation id="1925021887439448749">Fut adresën e personalizuar të uebit</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_sr-Latn.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_sr-Latn.xtb index 92b8cf5..ef5114e 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_sr-Latn.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_sr-Latn.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">Nova kartica bez arhiviranja</translation> <translation id="1856325424225101786">Želite li da resetujete Lite režim?</translation> <translation id="1868024384445905608">Chrome sada brže preuzima datoteke</translation> -<translation id="1874760110381325409">Bićete prijavljeni pomoću Google naloga\n(to neće uključiti Chrome sinhronizaciju)</translation> <translation id="1877026089748256423">Chrome je zastareo</translation> <translation id="1883903952484604915">Moje datoteke</translation> <translation id="1925021887439448749">Unesite prilagođenu veb-adresu</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_sr.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_sr.xtb index 1309f96..e4a67e4c 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_sr.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_sr.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">Нова картица без архивирања</translation> <translation id="1856325424225101786">Желите ли да ресетујете Lite режим?</translation> <translation id="1868024384445905608">Chrome сада брже преузима датотеке</translation> -<translation id="1874760110381325409">Бићете пријављени помоћу Google налога\n(то неће укључити Chrome синхронизацију)</translation> <translation id="1877026089748256423">Chrome је застарео</translation> <translation id="1883903952484604915">Моје датотеке</translation> <translation id="1925021887439448749">Унесите прилагођену веб-адресу</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_sv.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_sv.xtb index 0ae1b560..fc52d1fe1 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_sv.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_sv.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">Ny inkognitoflik</translation> <translation id="1856325424225101786">Vill du återställa begränsat läge?</translation> <translation id="1868024384445905608">Nu laddas filer ned snabbare i Chrome</translation> -<translation id="1874760110381325409">Du loggas in med Google-kontot\n(detta aktiverar inte Chrome Sync)</translation> <translation id="1877026089748256423">Den här versionen av Chrome är inaktuell</translation> <translation id="1883903952484604915">Mina filer</translation> <translation id="1925021887439448749">Ange en anpassad webbadress</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_sw.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_sw.xtb index 5c29655..bf3a412 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_sw.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_sw.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">Kichupo fiche kipya</translation> <translation id="1856325424225101786">Je, ungependa kubadilisha mipangilio ya Hali nyepesi?</translation> <translation id="1868024384445905608">Sasa Chrome inapakua faili haraka zaidi</translation> -<translation id="1874760110381325409">Utaingia kwa kutumia Akaunti yako ya Google\n(hatua hii haitawasha mipangilio ya Usawazishaji wa Chrome)</translation> <translation id="1877026089748256423">Toleo hili la Chrome limepitwa na wakati</translation> <translation id="1883903952484604915">Faili Zangu</translation> <translation id="1925021887439448749">Weka anwani maalum ya wavuti</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ta.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ta.xtb index 4299c4e7..6b6060a 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ta.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ta.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">புதிய மறைநிலை தாவல்</translation> <translation id="1856325424225101786">லைட் பயன்முறையை மீட்டமைக்கவா?</translation> <translation id="1868024384445905608">Chrome இப்போது கோப்புகளை வேகமாகப் பதிவிறக்குகிறது</translation> -<translation id="1874760110381325409">உங்கள் Google கணக்கில் உள்நுழைவீர்கள்\n(இதனால் Chrome ஒத்திசைவு இயக்கப்படாது)</translation> <translation id="1877026089748256423">Chrome காலாவதியானது</translation> <translation id="1883903952484604915">எனது கோப்புகள்</translation> <translation id="1925021887439448749">பிரத்தியேக இணைய முகவரியை உள்ளிடவும்</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_te.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_te.xtb index ee34122..616d02e 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_te.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_te.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">కొత్త అజ్ఞాత ట్యాబ్</translation> <translation id="1856325424225101786">లైట్ మోడ్ని రీసెట్ చేయాలా?</translation> <translation id="1868024384445905608">Chrome ఇప్పుడు ఫైల్లను మరింత వేగంగా డౌన్లోడ్ చేస్తుంది</translation> -<translation id="1874760110381325409">మీరు మీ Google ఖాతాతో సైన్ ఇన్ చేస్తారు\n(ఇది Chrome సమకాలీకరణను ఆన్ చేయదు)</translation> <translation id="1877026089748256423">Chrome కాలం చెల్లినది</translation> <translation id="1883903952484604915">నా ఫైల్లు</translation> <translation id="1925021887439448749">అనుకూల వెబ్ చిరునామాను నమోదు చేయండి</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_th.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_th.xtb index 024da346..db81823 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_th.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_th.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">แท็บใหม่ที่ไม่ระบุตัวตน</translation> <translation id="1856325424225101786">รีเซ็ตโหมด Lite ไหม</translation> <translation id="1868024384445905608">ตอนนี้ Chrome ดาวน์โหลดไฟล์ได้เร็วขึ้นแล้ว</translation> -<translation id="1874760110381325409">คุณจะลงชื่อเข้าใช้ด้วยบัญชี Google\n(การดำเนินการนี้จะไม่เปิดการซิงค์ของ Chrome)</translation> <translation id="1877026089748256423">Chrome ล้าสมัย</translation> <translation id="1883903952484604915">ไฟล์ของฉัน</translation> <translation id="1925021887439448749">ป้อนที่อยู่เว็บที่กำหนดเอง</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_tr.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_tr.xtb index 777ee70..a2b8449 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_tr.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_tr.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">Yeni gizli sekme</translation> <translation id="1856325424225101786">Basit mod sıfırlansın mı?</translation> <translation id="1868024384445905608">Chrome artık dosyaları daha hızlı indiriyor</translation> -<translation id="1874760110381325409">Google Hesabınızla oturum açacaksınız\n(bu, Chrome Senkronizasyonunu açmaz)</translation> <translation id="1877026089748256423">Chrome sürümü eski</translation> <translation id="1883903952484604915">Dosyalarım</translation> <translation id="1925021887439448749">Özel web adresini girin</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_uk.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_uk.xtb index bde168b..9bae11a 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_uk.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_uk.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">Нова анонімна вкладка</translation> <translation id="1856325424225101786">Скинути спрощений режим?</translation> <translation id="1868024384445905608">Тепер Chrome завантажує файли швидше</translation> -<translation id="1874760110381325409">Ви ввійдете у свій обліковий запис Google\n(синхронізацію Chrome не буде ввімкнено)</translation> <translation id="1877026089748256423">Версія Chrome застаріла</translation> <translation id="1883903952484604915">Мої файли</translation> <translation id="1925021887439448749">Введіть користувацьку веб-адресу</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ur.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ur.xtb index da6480f7..05724ba 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ur.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ur.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">نیا پوشیدگی ٹیب</translation> <translation id="1856325424225101786">لائٹ موڈ ری سیٹ کریں؟</translation> <translation id="1868024384445905608">Chrome اب فائلز کو مزید تیزی سے ڈاؤن لوڈ کرتا ہے</translation> -<translation id="1874760110381325409">آپ اپنے Google اکاؤنٹ سے سائن ان ہو جائیں گے\n(اس سے Chrome Sync آن نہیں ہوگا)</translation> <translation id="1877026089748256423">Chrome پرانا ہے</translation> <translation id="1883903952484604915">میری فائلز</translation> <translation id="1925021887439448749">حسب ضرورت ویب پتہ درج کریں</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_uz.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_uz.xtb index 64445a7..e05a8ef1 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_uz.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_uz.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">Yangi inkognito varaq</translation> <translation id="1856325424225101786">Lite rejimi asliga qaytarilsinmi?</translation> <translation id="1868024384445905608">Chrome endi fayllarni tezroq yuklab oladi</translation> -<translation id="1874760110381325409">Google hisobingizga kirasiz\n(bunda Chrome Sync ishga tushmaydi)</translation> <translation id="1877026089748256423">Chrome versiyasi eskirdi</translation> <translation id="1883903952484604915">Fayllarim</translation> <translation id="1925021887439448749">Boshqa veb-manzilni kiriting</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_vi.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_vi.xtb index d124df6..e9c52ff 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_vi.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_vi.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">Thẻ ẩn danh mới</translation> <translation id="1856325424225101786">Đặt lại Chế độ thu gọn?</translation> <translation id="1868024384445905608">Giờ đây, Chrome tải tệp xuống còn nhanh hơn nữa</translation> -<translation id="1874760110381325409">Bạn sẽ đăng nhập bằng Tài khoản Google của mình\n(thao tác này sẽ không bật Chrome Sync)</translation> <translation id="1877026089748256423">Chrome đã lỗi thời</translation> <translation id="1883903952484604915">Tệp của tôi</translation> <translation id="1925021887439448749">Nhập địa chỉ web tùy chỉnh</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-CN.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-CN.xtb index eaefaeae..bc70740 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-CN.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-CN.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">打开新的无痕式标签页</translation> <translation id="1856325424225101786">重置精简模式?</translation> <translation id="1868024384445905608">Chrome 现可更快速地下载文件</translation> -<translation id="1874760110381325409">您将会通过自己的 Google 帐号登录\n(Chrome 同步功能不会因此开启)</translation> <translation id="1877026089748256423">Chrome版本太旧</translation> <translation id="1883903952484604915">我的文件</translation> <translation id="1925021887439448749">输入自定义网址</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-HK.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-HK.xtb index 1c6e7af..8f04ad7 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-HK.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-HK.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">新增無痕式分頁</translation> <translation id="1856325424225101786">要重設精簡模式嗎?</translation> <translation id="1868024384445905608">Chrome 現在的檔案下載速度更快了</translation> -<translation id="1874760110381325409">您將使用 Google 帳戶登入\n(Chrome 同步功能不會因此啟用)</translation> <translation id="1877026089748256423">Chrome 版本過舊</translation> <translation id="1883903952484604915">我的檔案</translation> <translation id="1925021887439448749">輸入自訂網址</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-TW.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-TW.xtb index 8a155c6..1b91c067f 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-TW.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-TW.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">新增無痕式分頁</translation> <translation id="1856325424225101786">要重設精簡模式嗎?</translation> <translation id="1868024384445905608">Chrome 現在的檔案下載速度更快了</translation> -<translation id="1874760110381325409">你將使用自己的 Google 帳戶登入\n(這項操作不會開啟 Chrome 同步功能)</translation> <translation id="1877026089748256423">Chrome 版本過舊</translation> <translation id="1883903952484604915">我的檔案</translation> <translation id="1925021887439448749">輸入自訂網址</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_zu.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_zu.xtb index 4f61f7c..096ec2e 100644 --- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_zu.xtb +++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_zu.xtb
@@ -106,7 +106,6 @@ <translation id="1853692000353488670">Ithebhu entsha ye-incognito</translation> <translation id="1856325424225101786">Setha kabusha imodi elula?</translation> <translation id="1868024384445905608">I-Chrome manje ilanda amafayela ngokushesha</translation> -<translation id="1874760110381325409">Uzongeniswa ngemvume nge-akhawunti yakho ye-Google\n(lokhu ngeke kuvule Ukuvumelanisa kwe-Chrome)</translation> <translation id="1877026089748256423">I-Chrome ingaphandle kwedethi</translation> <translation id="1883903952484604915">Amafayela ami</translation> <translation id="1925021887439448749">Faka ikheli lewebhu langokwezifiso</translation>
diff --git a/chrome/browser/ui/omnibox/chrome_omnibox_client.cc b/chrome/browser/ui/omnibox/chrome_omnibox_client.cc index c084818..b8c52b3 100644 --- a/chrome/browser/ui/omnibox/chrome_omnibox_client.cc +++ b/chrome/browser/ui/omnibox/chrome_omnibox_client.cc
@@ -11,21 +11,17 @@ #include <utility> #include "base/bind.h" -#include "base/callback.h" -#include "base/macros.h" #include "base/metrics/field_trial_params.h" #include "base/metrics/histogram_macros.h" #include "base/metrics/user_metrics.h" #include "base/metrics/user_metrics_action.h" #include "base/strings/string_util.h" #include "base/strings/utf_string_conversions.h" -#include "build/build_config.h" #include "chrome/app/chrome_command_ids.h" #include "chrome/browser/autocomplete/autocomplete_classifier_factory.h" #include "chrome/browser/autocomplete/chrome_autocomplete_provider_client.h" #include "chrome/browser/bitmap_fetcher/bitmap_fetcher_service_factory.h" #include "chrome/browser/bookmarks/bookmark_model_factory.h" -#include "chrome/browser/browser_about_handler.h" #include "chrome/browser/command_updater.h" #include "chrome/browser/extensions/api/omnibox/omnibox_api.h" #include "chrome/browser/favicon/favicon_service_factory.h" @@ -36,7 +32,6 @@ #include "chrome/browser/predictors/loading_predictor_factory.h" #include "chrome/browser/profiles/profile.h" #include "chrome/browser/profiles/profile_metrics.h" -#include "chrome/browser/search/search.h" #include "chrome/browser/search_engines/template_url_service_factory.h" #include "chrome/browser/translate/chrome_translate_client.h" #include "chrome/browser/ui/bookmarks/bookmark_stats.h" @@ -48,9 +43,6 @@ #include "chrome/browser/ui/omnibox/chrome_omnibox_edit_controller.h" #include "chrome/browser/ui/omnibox/chrome_omnibox_navigation_observer.h" #include "chrome/browser/ui/omnibox/omnibox_tab_helper.h" -#include "chrome/common/pref_names.h" -#include "chrome/common/search/instant_types.h" -#include "chrome/common/url_constants.h" #include "components/favicon/content/content_favicon_driver.h" #include "components/favicon/core/favicon_service.h" #include "components/omnibox/browser/autocomplete_match.h" @@ -59,20 +51,15 @@ #include "components/omnibox/browser/omnibox_controller_emitter.h" #include "components/omnibox/browser/search_provider.h" #include "components/omnibox/common/omnibox_features.h" -#include "components/prefs/pref_service.h" #include "components/prerender/browser/prerender_field_trial.h" -#include "components/search/search.h" -#include "components/search_engines/search_engines_pref_names.h" #include "components/search_engines/template_url_service.h" #include "components/sessions/content/session_tab_helper.h" #include "components/translate/core/browser/translate_manager.h" #include "content/public/browser/devtools_agent_host.h" -#include "content/public/browser/navigation_controller.h" #include "content/public/browser/navigation_entry.h" #include "content/public/browser/web_contents.h" #include "extensions/common/constants.h" #include "net/traffic_annotation/network_traffic_annotation.h" -#include "third_party/skia/include/core/SkBitmap.h" #include "ui/base/window_open_disposition.h" #include "ui/gfx/image/canvas_image_source.h" #include "ui/gfx/paint_vector_icon.h"
diff --git a/chrome/browser/ui/omnibox/omnibox_theme.cc b/chrome/browser/ui/omnibox/omnibox_theme.cc index c721221..65d0b45 100644 --- a/chrome/browser/ui/omnibox/omnibox_theme.cc +++ b/chrome/browser/ui/omnibox/omnibox_theme.cc
@@ -10,8 +10,6 @@ #include "components/omnibox/browser/omnibox_field_trial.h" #include "ui/base/theme_provider.h" #include "ui/gfx/color_palette.h" -#include "ui/gfx/color_utils.h" -#include "ui/native_theme/native_theme.h" using TP = ThemeProperties;
diff --git a/chrome/browser/ui/passwords/well_known_change_password_navigation_throttle.cc b/chrome/browser/ui/passwords/well_known_change_password_navigation_throttle.cc index 8d8bec5..18c2d580 100644 --- a/chrome/browser/ui/passwords/well_known_change_password_navigation_throttle.cc +++ b/chrome/browser/ui/passwords/well_known_change_password_navigation_throttle.cc
@@ -19,6 +19,7 @@ #include "content/public/browser/storage_partition.h" #include "content/public/browser/web_contents.h" #include "content/public/browser/web_contents_user_data.h" +#include "net/base/isolation_info.h" #include "services/metrics/public/cpp/ukm_builders.h" #include "services/metrics/public/cpp/ukm_recorder.h" #include "services/network/public/cpp/shared_url_loader_factory.h" @@ -109,8 +110,19 @@ content::BrowserContext::GetDefaultStoragePartition( navigation_handle()->GetWebContents()->GetBrowserContext()) ->GetURLLoaderFactoryForBrowserProcess(); + // In order to avoid bypassing Sec-Fetch-Site headers and extracting user data + // across redirects, we need to set both the initiator origin and network + // isolation key when fetching the well-known non-existing resource. + // See the discussion in blink-dev/UN1BRg4qTbs for more details. + // TODO(crbug.com/1127520): Confirm that this works correctly within + // redirects. + network::ResourceRequest::TrustedParams trusted_params; + trusted_params.isolation_info = net::IsolationInfo::CreatePartial( + net::IsolationInfo::RedirectMode::kUpdateNothing, + navigation_handle()->GetIsolationInfo().network_isolation_key()); well_known_change_password_state_.FetchNonExistingResource( - url_loader_factory.get(), navigation_handle()->GetURL()); + url_loader_factory.get(), navigation_handle()->GetURL(), + navigation_handle()->GetInitiatorOrigin(), std::move(trusted_params)); return NavigationThrottle::PROCEED; }
diff --git a/chrome/browser/ui/tab_contents/chrome_web_contents_menu_helper.cc b/chrome/browser/ui/tab_contents/chrome_web_contents_menu_helper.cc index 8adfe7d..7c4184a 100644 --- a/chrome/browser/ui/tab_contents/chrome_web_contents_menu_helper.cc +++ b/chrome/browser/ui/tab_contents/chrome_web_contents_menu_helper.cc
@@ -14,11 +14,8 @@ content::ContextMenuParams AddContextMenuParamsPropertiesFromPreferences( content::WebContents* web_contents, const content::ContextMenuParams& params) { - Browser* browser = chrome::FindBrowserWithWebContents(web_contents); - if (!browser) - return params; - - Profile* profile = browser->profile(); + Profile* profile = + Profile::FromBrowserContext(web_contents->GetBrowserContext()); PrefService* prefs = profile->GetPrefs(); if (!prefs->GetBoolean(prefs::kDefaultSearchProviderContextMenuAccessAllowed))
diff --git a/chrome/browser/ui/tabs/tab_utils.cc b/chrome/browser/ui/tabs/tab_utils.cc index 481b06a..b9d5a56 100644 --- a/chrome/browser/ui/tabs/tab_utils.cc +++ b/chrome/browser/ui/tabs/tab_utils.cc
@@ -37,8 +37,10 @@ // alert on a tab. // TODO(crbug.com/861961): To show the icon of the highest-priority alert // with tooltip that notes all the states in play. - if (indicator->IsCapturingDesktop(contents)) + if (indicator->IsCapturingWindow(contents) || + indicator->IsCapturingDisplay(contents)) { states.push_back(TabAlertState::DESKTOP_CAPTURING); + } if (indicator->IsBeingMirrored(contents)) states.push_back(TabAlertState::TAB_CAPTURING); if (indicator->IsCapturingUserMedia(contents))
diff --git a/chrome/browser/ui/test/browser_ui_browsertest.cc b/chrome/browser/ui/test/browser_ui_browsertest.cc index 3d6ce6bf..a57ad4b06 100644 --- a/chrome/browser/ui/test/browser_ui_browsertest.cc +++ b/chrome/browser/ui/test/browser_ui_browsertest.cc
@@ -68,13 +68,9 @@ base::LaunchOptions options; -#if defined(OS_WIN) - // Under Windows, the child process won't launch without the wait option. - // See http://crbug.com/688534. + // Wait on subprocess. Otherwise the whole process group will be killed on + // parent process exit. See http://crbug.com/1094369. options.wait = true; -#else - options.wait = !command.HasSwitch(switches::kTestLauncherInteractive); -#endif base::LaunchProcess(command, options); }
diff --git a/chrome/browser/ui/views/autofill/payments/card_unmask_prompt_views.cc b/chrome/browser/ui/views/autofill/payments/card_unmask_prompt_views.cc index 4f41556..e2c44e8 100644 --- a/chrome/browser/ui/views/autofill/payments/card_unmask_prompt_views.cc +++ b/chrome/browser/ui/views/autofill/payments/card_unmask_prompt_views.cc
@@ -382,7 +382,7 @@ auto cvc_image = std::make_unique<views::ImageView>(); cvc_image->SetImage(rb.GetImageSkiaNamed(controller_->GetCvcImageRid())); - cvc_image->set_tooltip_text(l10n_util::GetStringUTF16( + cvc_image->SetTooltipText(l10n_util::GetStringUTF16( IDS_AUTOFILL_CARD_UNMASK_CVC_IMAGE_DESCRIPTION)); input_row->AddChildView(std::move(cvc_image)); input_row_ = input_container->AddChildView(std::move(input_row));
diff --git a/chrome/browser/ui/views/autofill/payments/save_card_bubble_views.cc b/chrome/browser/ui/views/autofill/payments/save_card_bubble_views.cc index 9bbff96..b59283cd 100644 --- a/chrome/browser/ui/views/autofill/payments/save_card_bubble_views.cc +++ b/chrome/browser/ui/views/autofill/payments/save_card_bubble_views.cc
@@ -179,7 +179,7 @@ ui::ResourceBundle::GetSharedInstance() .GetImageNamed(CreditCard::IconResourceId(card.network())) .AsImageSkia()); - card_network_icon->set_tooltip_text(card.NetworkForDisplay()); + card_network_icon->SetTooltipText(card.NetworkForDisplay()); description_view->AddChildView(card_network_icon); views::Label* label = description_view->AddChildView(new views::Label(
diff --git a/chrome/browser/ui/views/message_box_dialog.cc b/chrome/browser/ui/views/message_box_dialog.cc index 7e9ad56..04fbb27 100644 --- a/chrome/browser/ui/views/message_box_dialog.cc +++ b/chrome/browser/ui/views/message_box_dialog.cc
@@ -168,7 +168,7 @@ } void MessageBoxDialog::OnDialogAccepted() { - if (!message_box_view_->HasCheckBox() || + if (!message_box_view_->HasVisibleCheckBox() || message_box_view_->IsCheckBoxSelected()) { Done(chrome::MESSAGE_BOX_RESULT_YES); } else {
diff --git a/chrome/browser/ui/views/omnibox/omnibox_view_views.cc b/chrome/browser/ui/views/omnibox/omnibox_view_views.cc index a0b331c..b8788479 100644 --- a/chrome/browser/ui/views/omnibox/omnibox_view_views.cc +++ b/chrome/browser/ui/views/omnibox/omnibox_view_views.cc
@@ -1997,13 +1997,26 @@ if (!navigation->IsInMainFrame()) return; + // If the navigation didn't commit, and it was renderer-initiated, then no + // action is needed, as the URL won't have been updated. But if it was + // browser-initiated, then the URL would have been updated to show the URL of + // the in-progress navigation; in this case, reset to show the full URL now + // that the navigation has finished without committing. + if (!navigation->HasCommitted()) { + if (navigation->IsRendererInitiated()) { + return; + } + ResetToHideOnInteraction(); + return; + } + // Once a navigation finishes that changes the visible URL (besides just the // ref), unelide and reset state so that we'll show the simplified domain on // interaction. Same-document navigations that only change the ref are treated // specially and don't cause the elision/unelision state to be altered. This // is to avoid frequent eliding/uneliding within single-page apps that do // frequent fragment navigations. - if (!navigation->IsSameDocument() || + if (navigation->IsErrorPage() || !navigation->IsSameDocument() || !navigation->GetPreviousURL().EqualsIgnoringRef(navigation->GetURL())) { ResetToHideOnInteraction(); }
diff --git a/chrome/browser/ui/views/omnibox/omnibox_view_views.h b/chrome/browser/ui/views/omnibox/omnibox_view_views.h index 33599b2b..b868f96 100644 --- a/chrome/browser/ui/views/omnibox/omnibox_view_views.h +++ b/chrome/browser/ui/views/omnibox/omnibox_view_views.h
@@ -328,6 +328,8 @@ NoStaleGradientMask); FRIEND_TEST_ALL_PREFIXES(OmniboxViewViewsHideOnInteractionTest, ModifierKeys); FRIEND_TEST_ALL_PREFIXES(OmniboxViewViewsHideOnInteractionTest, + ErrorPageNavigation); + FRIEND_TEST_ALL_PREFIXES(OmniboxViewViewsHideOnInteractionTest, SameDocNavigations); FRIEND_TEST_ALL_PREFIXES(OmniboxViewViewsHideOnInteractionTest, SameDocNavigationDuringAnimation);
diff --git a/chrome/browser/ui/views/omnibox/omnibox_view_views_unittest.cc b/chrome/browser/ui/views/omnibox/omnibox_view_views_unittest.cc index b8c409a4..3ec0da1b 100644 --- a/chrome/browser/ui/views/omnibox/omnibox_view_views_unittest.cc +++ b/chrome/browser/ui/views/omnibox/omnibox_view_views_unittest.cc
@@ -292,6 +292,7 @@ location_bar_model_->set_url_for_display(base::ASCIIToUTF16(url.spec())); model()->ResetDisplayTexts(); RevertAll(); + navigation.set_has_committed(true); DidFinishNavigation(&navigation); ExpectElidedToSimplifiedDomain(this, scheme, subdomain, hostname_and_scheme, path, should_elide_to_registrable_domain); @@ -311,6 +312,7 @@ location_bar_model_->set_url_for_display(url); model()->ResetDisplayTexts(); RevertAll(); + navigation.set_has_committed(true); DidFinishNavigation(&navigation); ExpectUnelidedFromSimplifiedDomain(this->GetRenderText(), gfx::Range(scheme.size(), url.size())); @@ -2157,6 +2159,56 @@ } } +// Tests that the hide-on-interaction simplified domain field trial handles +// non-committed navigations properly. +TEST_P(OmniboxViewViewsHideOnInteractionAndRevealOnHoverTest, + NonCommittedNavigations) { + SetUpSimplifiedDomainTest(); + + ASSERT_NO_FATAL_FAILURE(omnibox_view()->NavigateAndExpectUnelided( + kSimplifiedDomainDisplayUrl, + /*is_same_document=*/false, GURL(), kSimplifiedDomainDisplayUrlScheme)); + // Simulate a user interaction to elide the URL. + omnibox_view()->DidGetUserInteraction(blink::WebKeyboardEvent()); + ASSERT_NO_FATAL_FAILURE( + omnibox_view()->StepSimplifiedDomainInteractionAnimation( + /*step_ms=*/1000)); + ASSERT_NO_FATAL_FAILURE(ExpectElidedToSimplifiedDomain( + omnibox_view(), kSimplifiedDomainDisplayUrlScheme, + kSimplifiedDomainDisplayUrlSubdomain, + kSimplifiedDomainDisplayUrlHostnameAndScheme, + kSimplifiedDomainDisplayUrlPath, ShouldElideToRegistrableDomain())); + + // When a renderer-initiated navigation finishes without committing, the URL + // should remain elided; we don't update the display URL until the navigation + // commits. + { + content::MockNavigationHandle navigation; + navigation.set_is_renderer_initiated(true); + navigation.set_has_committed(false); + omnibox_view()->DidStartNavigation(&navigation); + omnibox_view()->DidFinishNavigation(&navigation); + ASSERT_NO_FATAL_FAILURE(ExpectElidedToSimplifiedDomain( + omnibox_view(), kSimplifiedDomainDisplayUrlScheme, + kSimplifiedDomainDisplayUrlSubdomain, + kSimplifiedDomainDisplayUrlHostnameAndScheme, + kSimplifiedDomainDisplayUrlPath, ShouldElideToRegistrableDomain())); + } + + // When a browser-initiated navigation finishes without committing, the URL + // updates before commit, so we should reset back to the on-page-load state if + // the navigation doesn't eventually commit. + content::MockNavigationHandle navigation; + navigation.set_is_renderer_initiated(false); + navigation.set_has_committed(false); + omnibox_view()->DidStartNavigation(&navigation); + omnibox_view()->DidFinishNavigation(&navigation); + ASSERT_NO_FATAL_FAILURE(ExpectUnelidedFromSimplifiedDomain( + omnibox_view()->GetRenderText(), + gfx::Range(kSimplifiedDomainDisplayUrlScheme.size(), + kSimplifiedDomainDisplayUrl.size()))); +} + // Tests that mouse clicks do not count as user interactions and do not elide // the URL. TEST_P(OmniboxViewViewsHideOnInteractionAndRevealOnHoverTest, MouseClick) { @@ -2879,6 +2931,37 @@ EXPECT_FALSE(elide_animation); } +// Tests that in the hide-on-interaction field trial, the URL is unelided when +// navigating to an error page. +TEST_P(OmniboxViewViewsHideOnInteractionTest, ErrorPageNavigation) { + SetUpSimplifiedDomainTest(); + omnibox_view()->NavigateAndExpectUnelided(kSimplifiedDomainDisplayUrl, + /*is_same_document=*/false, GURL(), + kSimplifiedDomainDisplayUrlScheme); + + omnibox_view()->NavigateAndExpectUnelided(kSimplifiedDomainDisplayUrl, + /*is_same_document=*/false, GURL(), + kSimplifiedDomainDisplayUrlScheme); + // Simulate a user interaction to elide to the simplified domain. + omnibox_view()->DidGetUserInteraction(blink::WebKeyboardEvent()); + OmniboxViewViews::ElideAnimation* elide_animation = + omnibox_view()->GetElideAfterInteractionAnimationForTesting(); + ASSERT_TRUE(elide_animation); + EXPECT_TRUE(elide_animation->IsAnimating()); + + // Now simulate a navigation to an error page and check that the URL is + // unelided. + content::MockNavigationHandle navigation; + navigation.set_url(GURL(kSimplifiedDomainDisplayUrl)); + navigation.set_is_error_page(true); + omnibox_view()->DidStartNavigation(&navigation); + omnibox_view()->DidFinishNavigation(&navigation); + ExpectUnelidedFromSimplifiedDomain( + omnibox_view()->GetRenderText(), + gfx::Range(kSimplifiedDomainDisplayUrlScheme.size(), + kSimplifiedDomainDisplayUrl.size())); +} + // Tests that in the hide-on-interaction field trial, the URL is simplified on // cross-document main-frame navigations, but not on same-document navigations. TEST_P(OmniboxViewViewsHideOnInteractionTest, SameDocNavigations) {
diff --git a/chrome/browser/ui/views/payments/cvc_unmask_view_controller.cc b/chrome/browser/ui/views/payments/cvc_unmask_view_controller.cc index 2c51a8e..79c47e2 100644 --- a/chrome/browser/ui/views/payments/cvc_unmask_view_controller.cc +++ b/chrome/browser/ui/views/payments/cvc_unmask_view_controller.cc
@@ -213,7 +213,7 @@ credit_card_.network() == autofill::kAmericanExpressCard ? IDR_CREDIT_CARD_CVC_HINT_AMEX : IDR_CREDIT_CARD_CVC_HINT)); - cvc_image->set_tooltip_text(l10n_util::GetStringUTF16( + cvc_image->SetTooltipText(l10n_util::GetStringUTF16( IDS_AUTOFILL_CARD_UNMASK_CVC_IMAGE_DESCRIPTION)); layout->AddView(std::move(cvc_image));
diff --git a/chrome/browser/ui/views/payments/payment_request_views_util.cc b/chrome/browser/ui/views/payments/payment_request_views_util.cc index a55677a..ad7be05 100644 --- a/chrome/browser/ui/views/payments/payment_request_views_util.cc +++ b/chrome/browser/ui/views/payments/payment_request_views_util.cc
@@ -259,7 +259,7 @@ // Images from |icon_resource_id| are 32x20 credit cards. icon_view->SetImageSize(gfx::Size(32, 20)); } - icon_view->set_tooltip_text(tooltip_text); + icon_view->SetTooltipText(tooltip_text); icon_view->SetPaintToLayer(); icon_view->layer()->SetFillsBoundsOpaquely(false); icon_view->layer()->SetOpacity(opacity); @@ -286,7 +286,7 @@ ? IDR_PRODUCT_LOGO_NAME_22_WHITE : IDR_PRODUCT_LOGO_NAME_22) .AsImageSkia()); - chrome_logo->set_tooltip_text(l10n_util::GetStringUTF16(IDS_PRODUCT_NAME)); + chrome_logo->SetTooltipText(l10n_util::GetStringUTF16(IDS_PRODUCT_NAME)); content_view->AddChildView(std::move(chrome_logo)); return content_view;
diff --git a/chrome/browser/ui/views/policy/enterprise_startup_dialog_view.cc b/chrome/browser/ui/views/policy/enterprise_startup_dialog_view.cc index dbbf27a..cb61c29 100644 --- a/chrome/browser/ui/views/policy/enterprise_startup_dialog_view.cc +++ b/chrome/browser/ui/views/policy/enterprise_startup_dialog_view.cc
@@ -75,7 +75,7 @@ ? IDR_PRODUCT_LOGO_ENTERPRISE_WHITE : IDR_PRODUCT_LOGO_ENTERPRISE) .AsImageSkia()); - logo_image->set_tooltip_text( + logo_image->SetTooltipText( l10n_util::GetStringUTF16(IDS_PRODUCT_LOGO_ENTERPRISE_ALT_TEXT)); gfx::Rect logo_bounds = logo_image->GetImageBounds(); logo_image->SetImageSize(gfx::Size(
diff --git a/chrome/browser/ui/webui/chromeos/cellular_setup/cellular_setup_localized_strings_provider.cc b/chrome/browser/ui/webui/chromeos/cellular_setup/cellular_setup_localized_strings_provider.cc index 9ea131b..152d66a5 100644 --- a/chrome/browser/ui/webui/chromeos/cellular_setup/cellular_setup_localized_strings_provider.cc +++ b/chrome/browser/ui/webui/chromeos/cellular_setup/cellular_setup_localized_strings_provider.cc
@@ -22,13 +22,13 @@ {"cancel", IDS_CANCEL}, {"back", IDS_CELLULAR_SETUP_BACK_LABEL}, {"basePageTitle", IDS_CELLULAR_SETUP_BASE_PAGE_TITLE}, + {"done", IDS_CELLULAR_SETUP_DONE_LABEL}, {"eSimFlowSetup", IDS_CELLULAR_SETUP_CELLULAR_SETUP_PAGE_ESIM_LABEL}, {"eSimFlowSetupMessage", IDS_CELLULAR_SETUP_CELLULAR_SETUP_PAGE_ESIM_MESSAGE}, {"establishNetworkConnectionMessage", IDS_CELLULAR_SETUP_ESTABLISH_NETWORK_CONNECTION}, {"next", IDS_CELLULAR_SETUP_NEXT_LABEL}, - {"finish", IDS_CELLULAR_SETUP_FINISH_LABEL}, {"tryAgain", IDS_CELLULAR_SETUP_TRY_AGAIN_LABEL}, {"simDetectPageTitle", IDS_CELLULAR_SETUP_SIM_DETECT_PAGE_TITLE}, {"simDetectPageErrorTitle", IDS_CELLULAR_SETUP_SIM_DETECT_PAGE_ERROR_TITLE},
diff --git a/chrome/browser/ui/webui/chromeos/multidevice_internals/multidevice_internals_phone_hub_handler.cc b/chrome/browser/ui/webui/chromeos/multidevice_internals/multidevice_internals_phone_hub_handler.cc index 1b28b34..45ca05fd 100644 --- a/chrome/browser/ui/webui/chromeos/multidevice_internals/multidevice_internals_phone_hub_handler.cc +++ b/chrome/browser/ui/webui/chromeos/multidevice_internals/multidevice_internals_phone_hub_handler.cc
@@ -108,6 +108,11 @@ base::Unretained(this))); web_ui()->RegisterMessageCallback( + "setFakePhoneName", + base::BindRepeating(&MultidevicePhoneHubHandler::HandleSetFakePhoneName, + base::Unretained(this))); + + web_ui()->RegisterMessageCallback( "setFakePhoneStatus", base::BindRepeating(&MultidevicePhoneHubHandler::HandleSetFakePhoneStatus, base::Unretained(this))); @@ -161,10 +166,22 @@ fake_phone_hub_manager_->fake_feature_status_provider()->SetStatus(feature); } +void MultidevicePhoneHubHandler::HandleSetFakePhoneName( + const base::ListValue* args) { + base::string16 phone_name; + CHECK(args->GetString(0, &phone_name)); + fake_phone_hub_manager_->mutable_phone_model()->SetPhoneName(phone_name); + PA_LOG(VERBOSE) << "Set phone name to " << phone_name; +} + void MultidevicePhoneHubHandler::HandleSetFakePhoneStatus( const base::ListValue* args) { const base::DictionaryValue* phones_status_dict = nullptr; CHECK(args->GetDictionary(0, &phones_status_dict)); + + base::string16 phone_name; + CHECK(phones_status_dict->GetString("phoneName", &phone_name)); + int mobile_status_as_int; CHECK(phones_status_dict->GetInteger("mobileStatus", &mobile_status_as_int)); auto mobile_status = static_cast<phonehub::PhoneStatusModel::MobileStatus>(
diff --git a/chrome/browser/ui/webui/chromeos/multidevice_internals/multidevice_internals_phone_hub_handler.h b/chrome/browser/ui/webui/chromeos/multidevice_internals/multidevice_internals_phone_hub_handler.h index 255a796c..1ed7729 100644 --- a/chrome/browser/ui/webui/chromeos/multidevice_internals/multidevice_internals_phone_hub_handler.h +++ b/chrome/browser/ui/webui/chromeos/multidevice_internals/multidevice_internals_phone_hub_handler.h
@@ -34,6 +34,7 @@ void EnableFakePhoneHubManager(); void HandleEnableFakePhoneHubManager(const base::ListValue* args); void HandleSetFeatureStatus(const base::ListValue* args); + void HandleSetFakePhoneName(const base::ListValue* args); void HandleSetFakePhoneStatus(const base::ListValue* args); void HandleSetBrowserTabs(const base::ListValue* args);
diff --git a/chrome/browser/ui/webui/settings/safety_check_handler_unittest.cc b/chrome/browser/ui/webui/settings/safety_check_handler_unittest.cc index aba8ab6..9d9ffa7 100644 --- a/chrome/browser/ui/webui/settings/safety_check_handler_unittest.cc +++ b/chrome/browser/ui/webui/settings/safety_check_handler_unittest.cc
@@ -123,9 +123,9 @@ total_ = total; } - std::vector<extensions::api::passwords_private::CompromisedCredential> + std::vector<extensions::api::passwords_private::InsecureCredential> GetCompromisedCredentials() override { - std::vector<extensions::api::passwords_private::CompromisedCredential> + std::vector<extensions::api::passwords_private::InsecureCredential> compromised(compromised_password_count_); for (int i = 0; i < compromised_password_count_; ++i) { compromised[i].username = "test" + base::NumberToString(i);
diff --git a/chrome/browser/vr/ui_host/vr_ui_host_impl.cc b/chrome/browser/vr/ui_host/vr_ui_host_impl.cc index 85dec2d..0bda4c0 100644 --- a/chrome/browser/vr/ui_host/vr_ui_host_impl.cc +++ b/chrome/browser/vr/ui_host/vr_ui_host_impl.cc
@@ -422,7 +422,8 @@ ->GetMediaStreamCaptureIndicator(); active_capturing.screen_capture_enabled = indicator->IsBeingMirrored(web_contents_) || - indicator->IsCapturingDesktop(web_contents_); + indicator->IsCapturingWindow(web_contents_) || + indicator->IsCapturingDisplay(web_contents_); // Bluetooth. active_capturing.bluetooth_connected =
diff --git a/chrome/browser/web_applications/system_web_app_manager_browsertest.cc b/chrome/browser/web_applications/system_web_app_manager_browsertest.cc index 14879b5..8757693 100644 --- a/chrome/browser/web_applications/system_web_app_manager_browsertest.cc +++ b/chrome/browser/web_applications/system_web_app_manager_browsertest.cc
@@ -63,6 +63,20 @@ #include "components/policy/core/common/policy_pref_names.h" #endif +namespace { + +// Helper to call AppServiceProxyFactory::GetForProfile(). +apps::AppServiceProxy* GetAppServiceProxy(Profile* profile) { + // Crash if there is no AppService support for |profile|. GetForProfile() will + // DumpWithoutCrashing, which will not fail a test. No codepath should trigger + // that in normal operation. + DCHECK( + apps::AppServiceProxyFactory::IsAppServiceAvailableForProfile(profile)); + return apps::AppServiceProxyFactory::GetForProfile(profile); +} + +} // namespace + namespace web_app { SystemWebAppManagerBrowserTestBase::SystemWebAppManagerBrowserTestBase( @@ -89,11 +103,13 @@ } else { GetManager().InstallSystemAppsForTesting(); } + // Ensure apps are registered with the |AppService| and populated in - // |AppListModel|. - apps::AppServiceProxy* proxy = - apps::AppServiceProxyFactory::GetForProfile(browser()->profile()); - proxy->FlushMojoCallsForTesting(); + // |AppListModel|. Redirect to the profile that has an AppService that can be + // flushed. This logic differs from WebAppProviderFactory::GetContextToUse(). + apps::AppServiceProxyFactory::GetForProfileRedirectInIncognito( + browser()->profile()) + ->FlushMojoCallsForTesting(); } apps::AppLaunchParams SystemWebAppManagerBrowserTestBase::LaunchParamsForApp( @@ -115,10 +131,9 @@ content::TestNavigationObserver navigation_observer(GetLaunchURL(params)); navigation_observer.StartWatchingNewWebContents(); - content::WebContents* web_contents = - apps::AppServiceProxyFactory::GetForProfile(browser()->profile()) - ->BrowserAppLauncher() - ->LaunchAppWithParams(params); + content::WebContents* web_contents = GetAppServiceProxy(browser()->profile()) + ->BrowserAppLauncher() + ->LaunchAppWithParams(params); if (wait_for_load) navigation_observer.Wait(); @@ -181,6 +196,16 @@ } } +void SystemWebAppManagerBrowserTest::SetUpCommandLine( + base::CommandLine* command_line) { + SystemWebAppManagerBrowserTestBase::SetUpCommandLine(command_line); + if (profile_type() == TestProfileType::kGuest) { + ConfigureCommandLineForGuestMode(command_line); + } else if (profile_type() == TestProfileType::kIncognito) { + command_line->AppendSwitch(::switches::kIncognito); + } +} + // Test that System Apps install correctly with a manifest. IN_PROC_BROWSER_TEST_P(SystemWebAppManagerWebAppInfoBrowserTest, Install) { WaitForTestSystemAppInstall(); @@ -216,8 +241,7 @@ // OS Integration only relevant for Chrome OS. #if defined(OS_CHROMEOS) - apps::AppServiceProxy* proxy = - apps::AppServiceProxyFactory::GetForProfile(browser()->profile()); + apps::AppServiceProxy* proxy = GetAppServiceProxy(browser()->profile()); proxy->AppRegistryCache().ForOneApp( app_id, [](const apps::AppUpdate& update) { EXPECT_EQ(apps::mojom::OptionalBool::kTrue, update.ShowInLauncher()); @@ -242,6 +266,16 @@ if (std::get<1>(param_info.param) == InstallationType::kWebAppInfoInstall) { output.append("_WebAppInfoInstall"); } + switch (std::get<2>(param_info.param)) { + case TestProfileType::kRegular: + break; + case TestProfileType::kIncognito: + output.append("_Incognito"); + break; + case TestProfileType::kGuest: + output.append("_Guest"); + break; + } return output; } @@ -308,8 +342,7 @@ maybe_installation_->GetAppUrl()); navigation_observer.StartWatchingNewWebContents(); - apps::AppServiceProxy* proxy = - apps::AppServiceProxyFactory::GetForProfile(browser()->profile()); + apps::AppServiceProxy* proxy = GetAppServiceProxy(browser()->profile()); proxy->Launch(GetManager().GetAppIdForSystemApp(GetMockAppType()).value(), ui::EventFlags::EF_NONE, @@ -330,8 +363,7 @@ maybe_installation_->GetAppUrl()); navigation_observer.StartWatchingNewWebContents(); - apps::AppServiceProxy* proxy = - apps::AppServiceProxyFactory::GetForProfile(browser()->profile()); + apps::AppServiceProxy* proxy = GetAppServiceProxy(browser()->profile()); auto intent = apps::mojom::Intent::New(); intent->action = apps_util::kIntentActionView; intent->mime_type = "text/plain"; @@ -986,8 +1018,7 @@ // OS Integration only relevant for Chrome OS. #if defined(OS_CHROMEOS) - apps::AppServiceProxy* proxy = - apps::AppServiceProxyFactory::GetForProfile(browser()->profile()); + apps::AppServiceProxy* proxy = GetAppServiceProxy(browser()->profile()); proxy->AppRegistryCache().ForOneApp( app_id, [](const apps::AppUpdate& update) { EXPECT_EQ(apps::mojom::OptionalBool::kFalse, update.ShowInLauncher()); @@ -1022,8 +1053,7 @@ // OS Integration only relevant for Chrome OS. #if defined(OS_CHROMEOS) - apps::AppServiceProxy* proxy = - apps::AppServiceProxyFactory::GetForProfile(browser()->profile()); + apps::AppServiceProxy* proxy = GetAppServiceProxy(browser()->profile()); proxy->AppRegistryCache().ForOneApp( app_id, [](const apps::AppUpdate& update) { EXPECT_EQ(apps::mojom::OptionalBool::kFalse, update.ShowInSearch()); @@ -1047,8 +1077,7 @@ WaitForTestSystemAppInstall(); AppId app_id = GetManager().GetAppIdForSystemApp(GetMockAppType()).value(); - apps::AppServiceProxy* proxy = - apps::AppServiceProxyFactory::GetForProfile(browser()->profile()); + apps::AppServiceProxy* proxy = GetAppServiceProxy(browser()->profile()); proxy->AppRegistryCache().ForOneApp( app_id, [](const apps::AppUpdate& update) { EXPECT_EQ(std::vector<std::string>({"Security"}), @@ -1170,8 +1199,7 @@ WaitForTestSystemAppInstall(); AppId app_id = GetManager().GetAppIdForSystemApp(GetMockAppType()).value(); - apps::AppServiceProxy* proxy = - apps::AppServiceProxyFactory::GetForProfile(browser()->profile()); + apps::AppServiceProxy* proxy = GetAppServiceProxy(browser()->profile()); const bool app_found = proxy->AppRegistryCache().ForOneApp( app_id, [](const apps::AppUpdate& update) { EXPECT_EQ(std::vector<std::string>({"Security"}), @@ -1192,8 +1220,7 @@ WaitForTestSystemAppInstall(); AppId app_id = GetManager().GetAppIdForSystemApp(GetMockAppType()).value(); - apps::AppServiceProxy* proxy = - apps::AppServiceProxyFactory::GetForProfile(browser()->profile()); + apps::AppServiceProxy* proxy = GetAppServiceProxy(browser()->profile()); const bool app_found = proxy->AppRegistryCache().ForOneApp( app_id, [](const apps::AppUpdate& update) { EXPECT_EQ(std::vector<std::string>({"Security"}), @@ -1411,8 +1438,7 @@ : SystemWebAppManagerBrowserTest(false) {} apps::mojom::Readiness GetAppReadiness(const AppId& app_id) { - apps::AppServiceProxy* proxy = - apps::AppServiceProxyFactory::GetForProfile(browser()->profile()); + apps::AppServiceProxy* proxy = GetAppServiceProxy(browser()->profile()); apps::mojom::Readiness readiness; bool app_found = proxy->AppRegistryCache().ForOneApp( app_id, [&readiness](const apps::AppUpdate& update) { @@ -1423,8 +1449,7 @@ } apps::mojom::IconKeyPtr GetAppIconKey(const AppId& app_id) { - apps::AppServiceProxy* proxy = - apps::AppServiceProxyFactory::GetForProfile(browser()->profile()); + apps::AppServiceProxy* proxy = GetAppServiceProxy(browser()->profile()); apps::mojom::IconKeyPtr icon_key; bool app_found = proxy->AppRegistryCache().ForOneApp( app_id, [&icon_key](const apps::AppUpdate& update) { @@ -1463,8 +1488,7 @@ base::ListValue* list = update.Get(); list->Clear(); } - apps::AppServiceProxyFactory::GetForProfile(browser()->profile()) - ->FlushMojoCallsForTesting(); + GetAppServiceProxy(browser()->profile())->FlushMojoCallsForTesting(); EXPECT_EQ(apps::mojom::Readiness::kReady, GetAppReadiness(*settings_id)); EXPECT_FALSE(apps::IconEffects::kBlocked & GetAppIconKey(*settings_id)->icon_effects); @@ -1487,8 +1511,7 @@ list->Append(policy::SystemFeature::OS_SETTINGS); } - apps::AppServiceProxy* proxy = - apps::AppServiceProxyFactory::GetForProfile(browser()->profile()); + apps::AppServiceProxy* proxy = GetAppServiceProxy(browser()->profile()); proxy->FlushMojoCallsForTesting(); EXPECT_EQ(apps::mojom::Readiness::kDisabledByPolicy, GetAppReadiness(*settings_id));
diff --git a/chrome/browser/web_applications/system_web_app_manager_browsertest.h b/chrome/browser/web_applications/system_web_app_manager_browsertest.h index 9ba3e93..5827d5ee1 100644 --- a/chrome/browser/web_applications/system_web_app_manager_browsertest.h +++ b/chrome/browser/web_applications/system_web_app_manager_browsertest.h
@@ -9,6 +9,7 @@ #include "base/macros.h" #include "base/test/scoped_feature_list.h" +#include "chrome/browser/web_applications/test/profile_test_helper.h" #include "chrome/browser/web_applications/test/test_system_web_app_installation.h" #include "chrome/browser/web_applications/test/test_web_app_provider.h" #include "chrome/browser/web_applications/test/web_app_test.h" @@ -40,8 +41,9 @@ ~SystemWebAppManagerBrowserTestBase() override; - // Returns the SystemWebAppManager for browser()->profile(). This will be a - // TestSystemWebAppManager if initialized with |install_mock| true. + // Returns the SystemWebAppManager for browser()->profile(). For incognito + // profiles, this will be the SystemWebAppManager of the original profile. + // Returns TestSystemWebAppManager if initialized with |install_mock| true. SystemWebAppManager& GetManager(); // Returns SystemAppType of mocked app, only valid if |install_mock| is true. @@ -103,7 +105,7 @@ enum class InstallationType { kManifestInstall, kWebAppInfoInstall }; using SystemWebAppManagerTestParams = - std::tuple<ProviderType, InstallationType>; + std::tuple<ProviderType, InstallationType, TestProfileType>; class SystemWebAppManagerBrowserTest : public SystemWebAppManagerBrowserTestBase, @@ -111,10 +113,15 @@ public: explicit SystemWebAppManagerBrowserTest(bool install_mock = true); ~SystemWebAppManagerBrowserTest() override = default; + ProviderType provider_type() const { return std::get<0>(GetParam()); } bool install_from_web_app_info() const { return std::get<1>(GetParam()) == InstallationType::kWebAppInfoInstall; } + TestProfileType profile_type() const { return std::get<2>(GetParam()); } + + // InProcessBrowserTest: + void SetUpCommandLine(base::CommandLine* command_line) override; private: base::test::ScopedFeatureList scoped_feature_list_; @@ -131,15 +138,16 @@ INSTANTIATE_TEST_SUITE_P(All, SUITE, PARAMS, \ web_app::SystemWebAppManagerTestParamsToString) -#define INSTANTIATE_SYSTEM_WEB_APP_MANAGER_TEST_SUITE_ALL_INSTALL_TYPES_P( \ - SUITE) \ - INSTANTIATE_SYSTEM_WEB_APP_MANAGER_TEST_SUITE_P( \ - SUITE, \ - ::testing::Combine( \ - ::testing::Values(web_app::ProviderType::kBookmarkApps, \ - web_app::ProviderType::kWebApps), \ - ::testing::Values(web_app::InstallationType::kManifestInstall, \ - web_app::InstallationType::kWebAppInfoInstall))) +#define INSTANTIATE_SYSTEM_WEB_APP_MANAGER_TEST_SUITE_ALL_INSTALL_TYPES_P( \ + SUITE) \ + INSTANTIATE_SYSTEM_WEB_APP_MANAGER_TEST_SUITE_P( \ + SUITE, \ + ::testing::Combine( \ + ::testing::Values(web_app::ProviderType::kBookmarkApps, \ + web_app::ProviderType::kWebApps), \ + ::testing::Values(web_app::InstallationType::kManifestInstall, \ + web_app::InstallationType::kWebAppInfoInstall), \ + ::testing::Values(TestProfileType::kRegular))) #define INSTANTIATE_SYSTEM_WEB_APP_MANAGER_TEST_SUITE_MANIFEST_INSTALL_P( \ SUITE) \ @@ -148,7 +156,8 @@ ::testing::Combine( \ ::testing::Values(web_app::ProviderType::kBookmarkApps, \ web_app::ProviderType::kWebApps), \ - ::testing::Values(web_app::InstallationType::kManifestInstall))) + ::testing::Values(web_app::InstallationType::kManifestInstall), \ + ::testing::Values(TestProfileType::kRegular))) #define INSTANTIATE_SYSTEM_WEB_APP_MANAGER_TEST_SUITE_WEB_APP_INFO_INSTALL_P( \ SUITE) \ @@ -157,6 +166,24 @@ ::testing::Combine( \ ::testing::Values(web_app::ProviderType::kBookmarkApps, \ web_app::ProviderType::kWebApps), \ - ::testing::Values(web_app::InstallationType::kWebAppInfoInstall))) + ::testing::Values(web_app::InstallationType::kWebAppInfoInstall), \ + ::testing::Values(TestProfileType::kRegular))) + +// Instantiates 2x1x3 = 6 versions of each test in |SUITE| to ensure coverage of +// Guest and Incognito profiles, as well as regular profiles. This is designed +// for testing specific apps that are present in these profile types, so only +// one |INSTALL_TYPE| is used: either kManifestInstall or kWebAppInfoInstall. +// This is currently only used on ChromeOS. Other platforms will likely need a +// differently defined macro because there is no such thing as Guest mode. +#define INSTANTIATE_SYSTEM_WEB_APP_MANAGER_TEST_SUITE_ALL_PROFILE_TYPES_P( \ + SUITE, INSTALL_TYPE) \ + INSTANTIATE_SYSTEM_WEB_APP_MANAGER_TEST_SUITE_P( \ + SUITE, ::testing::Combine( \ + ::testing::Values(web_app::ProviderType::kBookmarkApps, \ + web_app::ProviderType::kWebApps), \ + ::testing::Values(web_app::InstallationType::INSTALL_TYPE), \ + ::testing::Values(TestProfileType::kRegular, \ + TestProfileType::kIncognito, \ + TestProfileType::kGuest))) #endif // CHROME_BROWSER_WEB_APPLICATIONS_SYSTEM_WEB_APP_MANAGER_BROWSERTEST_H_
diff --git a/chrome/browser/chromeos/web_applications/test/profile_test_helper.cc b/chrome/browser/web_applications/test/profile_test_helper.cc similarity index 84% rename from chrome/browser/chromeos/web_applications/test/profile_test_helper.cc rename to chrome/browser/web_applications/test/profile_test_helper.cc index 0cf8bb31..b4c19ce 100644 --- a/chrome/browser/chromeos/web_applications/test/profile_test_helper.cc +++ b/chrome/browser/web_applications/test/profile_test_helper.cc
@@ -2,11 +2,15 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "chrome/browser/chromeos/web_applications/test/profile_test_helper.h" +#include "chrome/browser/web_applications/test/profile_test_helper.h" +#include "base/notreached.h" + +#if defined(OS_CHROMEOS) #include "chromeos/constants/chromeos_switches.h" #include "components/account_id/account_id.h" #include "components/user_manager/user_names.h" +#endif std::string TestProfileTypeToString( const ::testing::TestParamInfo<TestProfileType>& info) { @@ -21,10 +25,14 @@ } void ConfigureCommandLineForGuestMode(base::CommandLine* command_line) { +#if defined(OS_CHROMEOS) command_line->AppendSwitch(chromeos::switches::kGuestSession); command_line->AppendSwitch(::switches::kIncognito); command_line->AppendSwitchASCII(chromeos::switches::kLoginProfile, "hash"); command_line->AppendSwitchASCII( chromeos::switches::kLoginUser, user_manager::GuestAccountId().GetUserEmail()); +#else + NOTREACHED(); +#endif }
diff --git a/chrome/browser/chromeos/web_applications/test/profile_test_helper.h b/chrome/browser/web_applications/test/profile_test_helper.h similarity index 87% rename from chrome/browser/chromeos/web_applications/test/profile_test_helper.h rename to chrome/browser/web_applications/test/profile_test_helper.h index 6e2935e..53106e22 100644 --- a/chrome/browser/chromeos/web_applications/test/profile_test_helper.h +++ b/chrome/browser/web_applications/test/profile_test_helper.h
@@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef CHROME_BROWSER_CHROMEOS_WEB_APPLICATIONS_TEST_PROFILE_TEST_HELPER_H_ -#define CHROME_BROWSER_CHROMEOS_WEB_APPLICATIONS_TEST_PROFILE_TEST_HELPER_H_ +#ifndef CHROME_BROWSER_WEB_APPLICATIONS_TEST_PROFILE_TEST_HELPER_H_ +#define CHROME_BROWSER_WEB_APPLICATIONS_TEST_PROFILE_TEST_HELPER_H_ #include <string> @@ -26,7 +26,7 @@ // Adds the necessary flags to |command_line| to start a browser test in guest // mode. Should be invoked in SetUpCommandLine(). Any test can call this: it is -// not coupled to TestProfileTypeMixin. +// not coupled to TestProfileTypeMixin. Should only be invoked on ChromeOS. void ConfigureCommandLineForGuestMode(base::CommandLine* command_line); // "Mixin" for configuring a test harness to parameterize on different profile @@ -58,4 +58,4 @@ } }; -#endif // CHROME_BROWSER_CHROMEOS_WEB_APPLICATIONS_TEST_PROFILE_TEST_HELPER_H_ +#endif // CHROME_BROWSER_WEB_APPLICATIONS_TEST_PROFILE_TEST_HELPER_H_
diff --git a/chrome/build/win32.pgo.txt b/chrome/build/win32.pgo.txt index d1d2fd5..b62be40 100644 --- a/chrome/build/win32.pgo.txt +++ b/chrome/build/win32.pgo.txt
@@ -1 +1 @@ -chrome-win32-master-1600127994-c9f9f16ba321eab4723234f8c655960b2fa4cc9b.profdata +chrome-win32-master-1600171148-2256b3d9ffc2b53c8daccc3d78ab79199aeff8aa.profdata
diff --git a/chrome/chrome_cleaner/mojom/BUILD.gn b/chrome/chrome_cleaner/mojom/BUILD.gn index 764459b..cc9df6a 100644 --- a/chrome/chrome_cleaner/mojom/BUILD.gn +++ b/chrome/chrome_cleaner/mojom/BUILD.gn
@@ -30,10 +30,42 @@ chrome_cleaner_mojom("footprints_interface") { sources = [ "footprints.mojom" ] + cpp_typemaps = [ + { + types = [ + { + mojom = "chrome_cleaner.mojom.FilePath" + cpp = "::base::FilePath" + }, + { + mojom = "chrome_cleaner.mojom.RegistryKey" + cpp = "::std::wstring" + }, + { + mojom = "chrome_cleaner.mojom.ExtensionId" + cpp = "::std::wstring" + }, + ] + traits_headers = [ "typemaps/footprints_mojom_traits.h" ] + traits_sources = [ "typemaps/footprints_mojom_traits.cc" ] + }, + ] } chrome_cleaner_mojom("wstring") { sources = [ "wstring.mojom" ] + cpp_typemaps = [ + { + types = [ + { + mojom = "chrome_cleaner.mojom.WString" + cpp = "::std::wstring" + }, + ] + traits_headers = [ "typemaps/wstring_mojom_traits.h" ] + traits_sources = [ "typemaps/wstring_mojom_traits.cc" ] + }, + ] } chrome_cleaner_mojom("engine_sandbox_interface") { @@ -51,6 +83,54 @@ ":wstring", "//mojo/public/mojom/base", ] + cpp_typemaps = [ + { + types = [ + { + mojom = "chrome_cleaner.mojom.TraceLocation" + cpp = "::chrome_cleaner::UwS::TraceLocation" + }, + { + mojom = "chrome_cleaner.mojom.PUP" + cpp = "::chrome_cleaner::PUPData::PUP" + }, + ] + traits_headers = [ "typemaps/pup_mojom_traits.h" ] + traits_sources = [ "typemaps/pup_mojom_traits.cc" ] + traits_public_deps = [ + "//chrome/chrome_cleaner/os:common_os", + "//chrome/chrome_cleaner/proto:shared_pup_enums_proto", + "//chrome/chrome_cleaner/pup_data:pup_data_base", + "//chrome/chrome_cleaner/settings:settings", + ] + }, + { + types = [ + { + mojom = "chrome_cleaner.mojom.WStringEmbeddedNulls" + cpp = "::chrome_cleaner::WStringEmbeddedNulls" + }, + ] + traits_headers = [ "typemaps/wstring_embedded_nulls_mojom_traits.h" ] + traits_sources = [ "typemaps/wstring_embedded_nulls_mojom_traits.cc" ] + }, + { + types = [ + { + mojom = "chrome_cleaner.mojom.PredefinedHandle" + cpp = "::HANDLE" + copyable_pass_by_value = true + }, + { + mojom = "chrome_cleaner.mojom.WindowsHandle" + cpp = "::HANDLE" + copyable_pass_by_value = true + }, + ] + traits_headers = [ "typemaps/windows_handle_mojom_traits.h" ] + traits_sources = [ "typemaps/windows_handle_mojom_traits.cc" ] + }, + ] } chrome_cleaner_mojom("parser_interface") {
diff --git a/chrome/chrome_cleaner/mojom/typemaps/OWNERS b/chrome/chrome_cleaner/mojom/typemaps/OWNERS index 7aebc8abb..d5fefd8 100644 --- a/chrome/chrome_cleaner/mojom/typemaps/OWNERS +++ b/chrome/chrome_cleaner/mojom/typemaps/OWNERS
@@ -1,4 +1,2 @@ per-file *_mojom_traits*.*=set noparent per-file *_mojom_traits*.*=file://ipc/SECURITY_OWNERS -per-file *.typemap=set noparent -per-file *.typemap=file://ipc/SECURITY_OWNERS
diff --git a/chrome/chrome_cleaner/mojom/typemaps/footprints.typemap b/chrome/chrome_cleaner/mojom/typemaps/footprints.typemap deleted file mode 100644 index f477dda..0000000 --- a/chrome/chrome_cleaner/mojom/typemaps/footprints.typemap +++ /dev/null
@@ -1,16 +0,0 @@ -# Copyright 2017 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -mojom = "//chrome/chrome_cleaner/mojom/footprints.mojom" -public_headers = [ "//base/files/file_path.h" ] -traits_headers = - [ "//chrome/chrome_cleaner/mojom/typemaps/footprints_mojom_traits.h" ] -sources = - [ "//chrome/chrome_cleaner/mojom/typemaps/footprints_mojom_traits.cc" ] - -type_mappings = [ - "chrome_cleaner.mojom.FilePath=::base::FilePath", - "chrome_cleaner.mojom.RegistryKey=::std::wstring", - "chrome_cleaner.mojom.ExtensionId=::std::wstring", -]
diff --git a/chrome/chrome_cleaner/mojom/typemaps/footprints_mojom_traits.h b/chrome/chrome_cleaner/mojom/typemaps/footprints_mojom_traits.h index 32304f9..412f10b 100644 --- a/chrome/chrome_cleaner/mojom/typemaps/footprints_mojom_traits.h +++ b/chrome/chrome_cleaner/mojom/typemaps/footprints_mojom_traits.h
@@ -9,7 +9,7 @@ #include "base/containers/span.h" #include "base/files/file_path.h" -#include "chrome/chrome_cleaner/mojom/footprints.mojom.h" +#include "chrome/chrome_cleaner/mojom/footprints.mojom-shared.h" namespace mojo {
diff --git a/chrome/chrome_cleaner/mojom/typemaps/pup.typemap b/chrome/chrome_cleaner/mojom/typemaps/pup.typemap deleted file mode 100644 index 4aacd99..0000000 --- a/chrome/chrome_cleaner/mojom/typemaps/pup.typemap +++ /dev/null
@@ -1,25 +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. - -mojom = "//chrome/chrome_cleaner/mojom/pup.mojom" - -public_headers = [ "//chrome/chrome_cleaner/pup_data/pup_data.h" ] - -public_deps = [ - "//chrome/chrome_cleaner/os:common_os", - "//chrome/chrome_cleaner/proto:shared_pup_enums_proto", - "//chrome/chrome_cleaner/pup_data:pup_data_base", - "//chrome/chrome_cleaner/settings:settings", - "//mojo/public/cpp/bindings:struct_traits", -] - -traits_headers = [ "//chrome/chrome_cleaner/mojom/typemaps/pup_mojom_traits.h" ] -sources = [ - "//chrome/chrome_cleaner/mojom/typemaps/pup_mojom_traits.cc", -] - -type_mappings = [ - "chrome_cleaner.mojom.TraceLocation=::chrome_cleaner::UwS::TraceLocation", - "chrome_cleaner.mojom.PUP=::chrome_cleaner::PUPData::PUP", -]
diff --git a/chrome/chrome_cleaner/mojom/typemaps/pup_mojom_traits.h b/chrome/chrome_cleaner/mojom/typemaps/pup_mojom_traits.h index c204b7c..fce1718 100644 --- a/chrome/chrome_cleaner/mojom/typemaps/pup_mojom_traits.h +++ b/chrome/chrome_cleaner/mojom/typemaps/pup_mojom_traits.h
@@ -7,8 +7,9 @@ #include <stdint.h> -#include "chrome/chrome_cleaner/mojom/pup.mojom.h" +#include "chrome/chrome_cleaner/mojom/pup.mojom-shared.h" #include "chrome/chrome_cleaner/os/file_path_set.h" +#include "chrome/chrome_cleaner/pup_data/pup_data.h" #include "mojo/public/cpp/bindings/array_traits_stl.h" #include "mojo/public/cpp/bindings/struct_traits.h"
diff --git a/chrome/chrome_cleaner/mojom/typemaps/typemaps.gni b/chrome/chrome_cleaner/mojom/typemaps/typemaps.gni deleted file mode 100644 index 7bd6ea38..0000000 --- a/chrome/chrome_cleaner/mojom/typemaps/typemaps.gni +++ /dev/null
@@ -1,11 +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. - -typemaps = [ - "//chrome/chrome_cleaner/mojom/typemaps/footprints.typemap", - "//chrome/chrome_cleaner/mojom/typemaps/pup.typemap", - "//chrome/chrome_cleaner/mojom/typemaps/wstring.typemap", - "//chrome/chrome_cleaner/mojom/typemaps/wstring_embedded_nulls.typemap", - "//chrome/chrome_cleaner/mojom/typemaps/windows_handle.typemap", -]
diff --git a/chrome/chrome_cleaner/mojom/typemaps/windows_handle.typemap b/chrome/chrome_cleaner/mojom/typemaps/windows_handle.typemap deleted file mode 100644 index 84d5bbe..0000000 --- a/chrome/chrome_cleaner/mojom/typemaps/windows_handle.typemap +++ /dev/null
@@ -1,16 +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. - -mojom = "//chrome/chrome_cleaner/mojom/windows_handle.mojom" -public_headers = [] -traits_headers = - [ "//chrome/chrome_cleaner/mojom/typemaps/windows_handle_mojom_traits.h" ] -sources = [ - "//chrome/chrome_cleaner/mojom/typemaps/windows_handle_mojom_traits.cc", -] - -type_mappings = [ - "chrome_cleaner.mojom.PredefinedHandle=::HANDLE[copyable_pass_by_value]", - "chrome_cleaner.mojom.WindowsHandle=::HANDLE[copyable_pass_by_value]", -]
diff --git a/chrome/chrome_cleaner/mojom/typemaps/windows_handle_mojom_traits.h b/chrome/chrome_cleaner/mojom/typemaps/windows_handle_mojom_traits.h index 8fc83e4..5b0dc926 100644 --- a/chrome/chrome_cleaner/mojom/typemaps/windows_handle_mojom_traits.h +++ b/chrome/chrome_cleaner/mojom/typemaps/windows_handle_mojom_traits.h
@@ -5,7 +5,7 @@ #ifndef CHROME_CHROME_CLEANER_MOJOM_TYPEMAPS_WINDOWS_HANDLE_MOJOM_TRAITS_H_ #define CHROME_CHROME_CLEANER_MOJOM_TYPEMAPS_WINDOWS_HANDLE_MOJOM_TRAITS_H_ -#include "chrome/chrome_cleaner/mojom/windows_handle.mojom.h" +#include "chrome/chrome_cleaner/mojom/windows_handle.mojom-shared.h" #include "mojo/public/cpp/bindings/union_traits.h" namespace mojo {
diff --git a/chrome/chrome_cleaner/mojom/typemaps/wstring.typemap b/chrome/chrome_cleaner/mojom/typemaps/wstring.typemap deleted file mode 100644 index 67267def..0000000 --- a/chrome/chrome_cleaner/mojom/typemaps/wstring.typemap +++ /dev/null
@@ -1,10 +0,0 @@ -# Copyright 2020 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -mojom = "//chrome/chrome_cleaner/mojom/wstring.mojom" -traits_headers = - [ "//chrome/chrome_cleaner/mojom/typemaps/wstring_mojom_traits.h" ] -sources = [ "//chrome/chrome_cleaner/mojom/typemaps/wstring_mojom_traits.cc" ] - -type_mappings = [ "chrome_cleaner.mojom.WString=::std::wstring" ]
diff --git a/chrome/chrome_cleaner/mojom/typemaps/wstring_embedded_nulls.typemap b/chrome/chrome_cleaner/mojom/typemaps/wstring_embedded_nulls.typemap deleted file mode 100644 index 27197db..0000000 --- a/chrome/chrome_cleaner/mojom/typemaps/wstring_embedded_nulls.typemap +++ /dev/null
@@ -1,10 +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. - -mojom = "//chrome/chrome_cleaner/mojom/wstring_embedded_nulls.mojom" -public_headers = [ "//chrome/chrome_cleaner/strings/wstring_embedded_nulls.h" ] -traits_headers = [ "//chrome/chrome_cleaner/mojom/typemaps/wstring_embedded_nulls_mojom_traits.h" ] -sources = [ "//chrome/chrome_cleaner/mojom/typemaps/wstring_embedded_nulls_mojom_traits.cc" ] - -type_mappings = [ "chrome_cleaner.mojom.WStringEmbeddedNulls=::chrome_cleaner::WStringEmbeddedNulls" ]
diff --git a/chrome/chrome_cleaner/mojom/typemaps/wstring_embedded_nulls_mojom_traits.h b/chrome/chrome_cleaner/mojom/typemaps/wstring_embedded_nulls_mojom_traits.h index 8f219ee..a4d2921f 100644 --- a/chrome/chrome_cleaner/mojom/typemaps/wstring_embedded_nulls_mojom_traits.h +++ b/chrome/chrome_cleaner/mojom/typemaps/wstring_embedded_nulls_mojom_traits.h
@@ -8,7 +8,7 @@ #include <stdint.h> #include "base/containers/span.h" -#include "chrome/chrome_cleaner/mojom/wstring_embedded_nulls.mojom.h" +#include "chrome/chrome_cleaner/mojom/wstring_embedded_nulls.mojom-shared.h" #include "chrome/chrome_cleaner/strings/wstring_embedded_nulls.h" #include "mojo/public/cpp/bindings/struct_traits.h" #include "mojo/public/cpp/bindings/union_traits.h"
diff --git a/chrome/chrome_cleaner/mojom/typemaps/wstring_mojom_traits.h b/chrome/chrome_cleaner/mojom/typemaps/wstring_mojom_traits.h index 71b3c29..a35619de 100644 --- a/chrome/chrome_cleaner/mojom/typemaps/wstring_mojom_traits.h +++ b/chrome/chrome_cleaner/mojom/typemaps/wstring_mojom_traits.h
@@ -8,7 +8,7 @@ #include <string> #include "base/containers/span.h" -#include "chrome/chrome_cleaner/mojom/wstring.mojom.h" +#include "chrome/chrome_cleaner/mojom/wstring.mojom-shared.h" #include "mojo/public/cpp/bindings/struct_traits.h" namespace mojo {
diff --git a/chrome/common/extensions/api/language_settings_private.idl b/chrome/common/extensions/api/language_settings_private.idl index e0492c4..f45b0de 100644 --- a/chrome/common/extensions/api/language_settings_private.idl +++ b/chrome/common/extensions/api/language_settings_private.idl
@@ -62,6 +62,9 @@ // The language codes this input method supports. DOMString[] languageCodes; + // The search terms for the input method. + DOMString[] tags; + // True if the input method is enabled. boolean? enabled;
diff --git a/chrome/common/extensions/api/passwords_private.idl b/chrome/common/extensions/api/passwords_private.idl index 75d03b70..3746fec 100644 --- a/chrome/common/extensions/api/passwords_private.idl +++ b/chrome/common/extensions/api/passwords_private.idl
@@ -116,41 +116,8 @@ DOMString? folderName; }; - // Information about a compromised credential and relevant information - // required for the display in the UI. - dictionary CompromisedCredential { - // An id serving as a mapping to a given compromised credential. This - // identifier will remain stable for a single browser session. - long id; - - // The formatted origin of the compromised credential. Can be the origin of - // a website (excluding scheme) or the name of an app. - DOMString formattedOrigin; - - // The detailed origin of the compromised credential. As opposed to - // formattedOrigin this also includes the scheme and trivial subdomains like - // www. - // For an app this is either the app name or the name of the package, if the - // former could not be retrieved. - DOMString detailedOrigin; - - // Indicates whether this credential belongs to an Android app. - boolean isAndroidCredential; - - // The URL where the compromised password can be changed. Might be not set - // for Android apps. - DOMString? changePasswordUrl; - - // The signon realm of the credential. - DOMString signonRealm; - - // The username of the credential. - DOMString username; - - // The password of the credential. Initially empty, only set if explicitly - // requested. - DOMString? password; - + // Information specific to compromised credentials. + dictionary CompromisedInfo { // The timestamp of when this credential was determined to be compromised. // Specified in milliseconds since the UNIX epoch. Intended to be passed to // the JavaScript Date() constructor. @@ -165,6 +132,46 @@ CompromiseType compromiseType; }; + // Information about an insecure credential and relevant information required + // for the display in the UI. + dictionary InsecureCredential { + // An id serving as a mapping to a given insecure credential. This + // identifier will remain stable for a single browser session. + long id; + + // The formatted origin of the insecure credential. Can be the origin of a + // website (excluding scheme) or the name of an app. + DOMString formattedOrigin; + + // The detailed origin of the insecure credential. As opposed to + // formattedOrigin this also includes the scheme and trivial subdomains like + // www. + // For an app this is either the app name or the name of the package, if the + // former could not be retrieved. + DOMString detailedOrigin; + + // Indicates whether this credential belongs to an Android app. + boolean isAndroidCredential; + + // The URL where the insecure password can be changed. Might be not set for + // Android apps. + DOMString? changePasswordUrl; + + // The signon realm of the credential. + DOMString signonRealm; + + // The username of the credential. + DOMString username; + + // The password of the credential. Initially empty, only set if explicitly + // requested. + DOMString? password; + + // Additional information in case a credential is compromised (i.e. phished + // or leaked). + CompromisedInfo? compromisedInfo; + }; + // Object describing the current state of the password check. The check could // be in any of the above described states. dictionary PasswordCheckStatus { @@ -191,10 +198,10 @@ callback ExportProgressStatusCallback = void(ExportProgressStatus status); callback VoidCallback = void(); callback OptInCallback = void(boolean optedIn); - callback CompromisedCredentialsCallback = - void(CompromisedCredential[] compromisedCredential); + callback InsecureCredentialsCallback = + void(InsecureCredential[] insecureCredentials); callback GetPlaintextCompromisedPasswordCallback = - void(CompromisedCredential credential); + void(InsecureCredential credential); callback PasswordCheckStatusCallback = void(PasswordCheckStatus status); interface Functions { @@ -291,8 +298,7 @@ static void optInForAccountStorage(boolean optIn); // Requests the latest compromised credentials. - static void getCompromisedCredentials( - CompromisedCredentialsCallback callback); + static void getCompromisedCredentials(InsecureCredentialsCallback callback); // Requests the plaintext password for |credential|. |callback| gets invoked // with the same |credential|, whose |password| field will be set. @@ -301,7 +307,7 @@ // |reason|: The reason why the plaintext password is requested. // |callback|: The callback that gets invoked with the result. static void getPlaintextCompromisedPassword( - CompromisedCredential credential, PlaintextReason reason, + InsecureCredential credential, PlaintextReason reason, GetPlaintextCompromisedPasswordCallback callback); // Requests to change the password of |credential| to |new_password|. @@ -310,13 +316,13 @@ // |credential|: The credential whose password should be changed. // |new_password|: The new password. // |callback|: The callback that gets invoked in the end. - static void changeCompromisedCredential(CompromisedCredential credential, + static void changeCompromisedCredential(InsecureCredential credential, DOMString new_password, optional VoidCallback callback); // Requests to remove |credential| from the password store. // Invokes |callback| on completion. - static void removeCompromisedCredential(CompromisedCredential credential, + static void removeCompromisedCredential(InsecureCredential credential, optional VoidCallback callback); // Starts a check for compromised passwords. Invokes |callback| on @@ -352,7 +358,7 @@ // Fired when the compromised credentials changed. // |compromisedCredentials|: The updated compromised credentials. static void onCompromisedCredentialsChanged( - CompromisedCredential[] compromisedCredentials); + InsecureCredential[] compromisedCredentials); // Fired when the status of the password check changes. // |status|: The updated status of the password check.
diff --git a/chrome/common/importer/BUILD.gn b/chrome/common/importer/BUILD.gn index 6be16e69..fb5b4ef 100644 --- a/chrome/common/importer/BUILD.gn +++ b/chrome/common/importer/BUILD.gn
@@ -12,6 +12,58 @@ "//mojo/public/mojom/base", "//url/mojom:url_mojom_gurl", ] + + cpp_typemaps = [ + { + types = [ + { + mojom = "chrome.mojom.FaviconUsageDataList" + cpp = "::favicon_base::FaviconUsageDataList" + }, + { + mojom = "chrome.mojom.ImportedBookmarkEntry" + cpp = "::ImportedBookmarkEntry" + }, + { + mojom = "chrome.mojom.ImporterAutofillFormDataEntry" + cpp = "::ImporterAutofillFormDataEntry" + }, + { + mojom = "chrome.mojom.ImporterIE7PasswordInfo" + cpp = "::importer::ImporterIE7PasswordInfo" + }, + { + mojom = "chrome.mojom.ImporterURLRow" + cpp = "::ImporterURLRow" + }, + { + mojom = "chrome.mojom.SearchEngineInfo" + cpp = "::importer::SearchEngineInfo" + }, + { + mojom = "chrome.mojom.SourceProfile" + cpp = "::importer::SourceProfile" + }, + { + mojom = "chrome.mojom.ImportItem" + cpp = "::importer::ImportItem" + }, + ] + traits_headers = [ + "//chrome/common/importer/imported_bookmark_entry.h", + "//chrome/common/importer/importer_autofill_form_data_entry.h", + "//chrome/common/importer/importer_data_types.h", + "//chrome/common/importer/importer_url_row.h", + "//components/favicon_base/favicon_usage_data.h", + ] + traits_private_headers = [ "profile_import_process_param_traits.h" ] + traits_public_deps = [ + "//chrome/common", + "//components/favicon_base", + "//ipc", + ] + }, + ] } source_set("importer") {
diff --git a/chrome/common/importer/OWNERS b/chrome/common/importer/OWNERS index 3bb3801..4c26573d 100644 --- a/chrome/common/importer/OWNERS +++ b/chrome/common/importer/OWNERS
@@ -10,7 +10,4 @@ per-file *.mojom=set noparent per-file *.mojom=file://ipc/SECURITY_OWNERS -per-file *.typemap=set noparent -per-file *.typemap=file://ipc/SECURITY_OWNERS - # COMPONENT: UI>Browser>Import
diff --git a/chrome/common/importer/profile_import.typemap b/chrome/common/importer/profile_import.typemap deleted file mode 100644 index 5daf4bd..0000000 --- a/chrome/common/importer/profile_import.typemap +++ /dev/null
@@ -1,29 +0,0 @@ -# Copyright 2016 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -mojom = "//chrome/common/importer/profile_import.mojom" -public_headers = [ - "//chrome/common/importer/imported_bookmark_entry.h", - "//chrome/common/importer/importer_autofill_form_data_entry.h", - "//chrome/common/importer/importer_data_types.h", - "//chrome/common/importer/importer_url_row.h", - "//components/favicon_base/favicon_usage_data.h", -] -traits_headers = - [ "//chrome/common/importer/profile_import_process_param_traits.h" ] -public_deps = [ - "//chrome/common", - "//components/favicon_base", - "//ipc", -] -type_mappings = [ - "chrome.mojom.FaviconUsageDataList=::favicon_base::FaviconUsageDataList", - "chrome.mojom.ImportedBookmarkEntry=::ImportedBookmarkEntry", - "chrome.mojom.ImporterAutofillFormDataEntry=::ImporterAutofillFormDataEntry", - "chrome.mojom.ImporterIE7PasswordInfo=::importer::ImporterIE7PasswordInfo", - "chrome.mojom.ImporterURLRow=::ImporterURLRow", - "chrome.mojom.SearchEngineInfo=::importer::SearchEngineInfo", - "chrome.mojom.SourceProfile=::importer::SourceProfile", - "chrome.mojom.ImportItem=::importer::ImportItem", -]
diff --git a/chrome/common/importer/typemaps.gni b/chrome/common/importer/typemaps.gni deleted file mode 100644 index 3e8e5a9..0000000 --- a/chrome/common/importer/typemaps.gni +++ /dev/null
@@ -1,5 +0,0 @@ -# Copyright 2016 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -typemaps = [ "//chrome/common/importer/profile_import.typemap" ]
diff --git a/chrome/credential_provider/gaiacp/gaia_credential_base_unittests.cc b/chrome/credential_provider/gaiacp/gaia_credential_base_unittests.cc index 77c74ef..f60f559 100644 --- a/chrome/credential_provider/gaiacp/gaia_credential_base_unittests.cc +++ b/chrome/credential_provider/gaiacp/gaia_credential_base_unittests.cc
@@ -9,6 +9,7 @@ #include <algorithm> #include <vector> +#include "base/base64.h" #include "base/base_paths_win.h" #include "base/files/scoped_temp_dir.h" #include "base/json/json_writer.h" @@ -2895,7 +2896,9 @@ GoogleRegistrationDataForTesting g_registration_data(serial_number); base::string16 domain = L"domain"; base::string16 machine_guid = L"machine_guid"; + std::string dm_token = "dm_token"; SetMachineGuidForTesting(machine_guid); + SetDmTokenForTesting(dm_token); std::vector<std::string> mac_addresses; mac_addresses.push_back("mac_address_1"); @@ -2992,6 +2995,9 @@ ASSERT_TRUE(request_dict.FindBoolKey("is_ad_joined_user").has_value()); ASSERT_EQ(request_dict.FindBoolKey("is_ad_joined_user").value(), true); ASSERT_TRUE(request_dict.FindKey("wlan_mac_addr")->is_list()); + std::string encoded_dm_token; + base::Base64Encode(dm_token, &encoded_dm_token); + ASSERT_EQ(*request_dict.FindStringKey("dm_token"), encoded_dm_token); std::vector<std::string> actual_mac_address_list; for (const base::Value& value :
diff --git a/chrome/credential_provider/gaiacp/gem_device_details_manager.cc b/chrome/credential_provider/gaiacp/gem_device_details_manager.cc index 40134bb5..334e2cd 100644 --- a/chrome/credential_provider/gaiacp/gem_device_details_manager.cc +++ b/chrome/credential_provider/gaiacp/gem_device_details_manager.cc
@@ -53,6 +53,7 @@ const char kOsVersion[] = "os_edition"; const char kBuiltInAdminNameParameterName[] = "built_in_admin_name"; const char kAdminGroupNameParameterName[] = "admin_group_name"; +const char kDmToken[] = "dm_token"; // Maximum number of retries if a HTTP call to the backend fails. constexpr unsigned int kMaxNumHttpRetries = 3; @@ -111,13 +112,34 @@ base::string16 admin_group_name = L""; hr = LookupLocalizedNameForWellKnownSid(WinBuiltinAdministratorsSid, &admin_group_name); + if (FAILED(hr)) { + LOGFN(ERROR) << "LookupLocalizedNameForWellKnownSid hr=" << putHR(hr); + hr = S_OK; + } + base::string16 built_in_admin_name = L""; hr = GetLocalizedNameBuiltinAdministratorAccount(&built_in_admin_name); + if (FAILED(hr)) { + LOGFN(ERROR) << "GetLocalizedNameBuiltinAdministratorAccount hr=" + << putHR(hr); + hr = S_OK; + } base::Value mac_address_value_list(base::Value::Type::LIST); for (const std::string& mac_address : mac_addresses) mac_address_value_list.Append(base::Value(mac_address)); + std::string dm_token = ""; + std::string encoded_dm_token = ""; + hr = GetDmToken(&dm_token); + if (FAILED(hr)) { + LOGFN(WARNING) << "DM token is required to execute periodic tasks hr=" + << putHR(hr); + hr = S_OK; + } else { + base::Base64Encode(dm_token, &encoded_dm_token); + } + request_dict_.reset(new base::Value(base::Value::Type::DICTIONARY)); request_dict_->SetStringKey( kUploadDeviceDetailsRequestSerialNumberParameterName, @@ -139,6 +161,7 @@ request_dict_->SetStringKey(kBuiltInAdminNameParameterName, built_in_admin_name); request_dict_->SetStringKey(kAdminGroupNameParameterName, admin_group_name); + request_dict_->SetStringKey(kDmToken, encoded_dm_token); base::string16 known_resource_id = GetUserDeviceResourceId(sid); if (!known_resource_id.empty()) {
diff --git a/chrome/credential_provider/gaiacp/reg_utils.cc b/chrome/credential_provider/gaiacp/reg_utils.cc index 95d87cb..fa6c07f 100644 --- a/chrome/credential_provider/gaiacp/reg_utils.cc +++ b/chrome/credential_provider/gaiacp/reg_utils.cc
@@ -59,6 +59,9 @@ L"Software\\Policies\\Microsoft\\Windows\\System"; constexpr wchar_t kDefaultCredProviderKey[] = L"DefaultCredentialProvider"; +constexpr wchar_t kEnrollmentRegKey[] = L"SOFTWARE\\Google\\Enrollment"; +constexpr wchar_t kDmTokenRegKey[] = L"dmtoken"; + HRESULT SetMachineRegDWORD(const base::string16& key_name, const base::string16& name, DWORD value) { @@ -96,6 +99,30 @@ return S_OK; } +HRESULT SetMachineRegBinaryInternal(const base::string16& key_name, + const base::string16& name, + const std::string& value, + REGSAM sam_desired) { + base::win::RegKey key; + LONG sts = key.Create(HKEY_LOCAL_MACHINE, key_name.c_str(), sam_desired); + if (sts != ERROR_SUCCESS) + return HRESULT_FROM_WIN32(sts); + + if (value.empty()) { + sts = key.DeleteValue(name.c_str()); + if (sts == ERROR_FILE_NOT_FOUND) + sts = ERROR_SUCCESS; + } else { + sts = + key.WriteValue(name.c_str(), value.c_str(), value.length(), REG_BINARY); + } + + if (sts != ERROR_SUCCESS) + return HRESULT_FROM_WIN32(sts); + + return S_OK; +} + base::string16 GetImageRegKeyForSpecificSize(int image_size) { return base::StringPrintf(L"%ls%i", kImageRegKey, image_size); } @@ -168,6 +195,41 @@ return S_OK; } +HRESULT GetMachineRegBinaryInternal(const base::string16& key_name, + const base::string16& name, + std::string* val, + REGSAM sam_desired) { + DCHECK(val); + + base::win::RegKey key; + LONG sts = key.Open(HKEY_LOCAL_MACHINE, key_name.c_str(), sam_desired); + if (sts != ERROR_SUCCESS) + return HRESULT_FROM_WIN32(sts); + + DWORD type; + DWORD size = 0; + + sts = key.ReadValue(name.c_str(), nullptr, &size, &type); + if (sts != ERROR_SUCCESS) + return HRESULT_FROM_WIN32(sts); + + if (type != REG_BINARY) + return HRESULT_FROM_WIN32(ERROR_CANTREAD); + + std::vector<char> buffer(size); + + sts = key.ReadValue(name.c_str(), const_cast<char*>(buffer.data()), &size, + &type); + if (sts != ERROR_SUCCESS) { + if (sts == ERROR_MORE_DATA) + return HRESULT_FROM_WIN32(sts); + } + + val->assign(buffer.data(), buffer.size()); + + return S_OK; +} + HRESULT GetAccountPictureRegString(const base::string16& user_sid, int image_size, wchar_t* value, @@ -425,4 +487,18 @@ machine_guid); } +HRESULT GetDmToken(std::string* dm_token) { + DCHECK(dm_token); + + return GetMachineRegBinaryInternal(kEnrollmentRegKey, kDmTokenRegKey, + dm_token, KEY_READ | KEY_WOW64_32KEY); +} + +HRESULT SetDmTokenForTesting(const std::string& dm_token) { + // Set a debug dm token for the machine so that unit tests that override the + // registry can run properly. + return SetMachineRegBinaryInternal(kEnrollmentRegKey, kDmTokenRegKey, + dm_token, KEY_WRITE | KEY_WOW64_32KEY); +} + } // namespace credential_provider
diff --git a/chrome/credential_provider/gaiacp/reg_utils.h b/chrome/credential_provider/gaiacp/reg_utils.h index 69387d69..cbcc6a5 100644 --- a/chrome/credential_provider/gaiacp/reg_utils.h +++ b/chrome/credential_provider/gaiacp/reg_utils.h
@@ -162,6 +162,14 @@ // Set corresponding registry entry that would make GCPW as the default // credential provider. HRESULT MakeGcpwDefaultCP(); + +// The token which is written to Windows registry as a result of exchanging +// enrollment token. +HRESULT GetDmToken(std::string* dm_token); + +// Sets HKLM\SOFTWARE\Google\Enrollment\dm_token registry for testing. +HRESULT SetDmTokenForTesting(const std::string& dm_token); + } // namespace credential_provider #endif // CHROME_CREDENTIAL_PROVIDER_GAIACP_REG_UTILS_H_
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn index 4b4d004..b15108f7 100644 --- a/chrome/test/BUILD.gn +++ b/chrome/test/BUILD.gn
@@ -2565,8 +2565,6 @@ "../browser/chromeos/web_applications/settings_app_integration_browsertest.cc", "../browser/chromeos/web_applications/system_web_app_integration_test.cc", "../browser/chromeos/web_applications/system_web_app_integration_test.h", - "../browser/chromeos/web_applications/test/profile_test_helper.cc", - "../browser/chromeos/web_applications/test/profile_test_helper.h", "../browser/chromeos/wilco_dtc_supportd/wilco_dtc_supportd_web_request_service_browsertest.cc", "../browser/download/notification/download_notification_browsertest.cc", "../browser/drive/drive_notification_manager_factory_browsertest.cc", @@ -3009,6 +3007,27 @@ } } +if (chromeos_is_browser_only) { + # This test target is intended for lacros chrome specific tests that depend + # on crosapi, for generic tests, please use 'browser_tests' target instead. + test("lacros_chrome_browsertests") { + use_xvfb = use_xvfb_in_this_config + + configs += [ "//build/config:precompiled_headers" ] + defines = [ + "HAS_OUT_OF_PROC_TEST_RUNNER", + "CHROME_VERSION_MAJOR=" + chrome_version_major, + ] + + sources = [ "../browser/lacros/screen_manager_lacros_browsertest.cc" ] + + deps = [ + ":browser_tests_runner", + ":test_support", + ] + } +} + if (is_linux || is_chromeos || is_mac || is_win) { import("//tools/binary_size/sizes.gni") @@ -5873,6 +5892,8 @@ "../browser/ui/search/instant_test_utils.h", "../browser/ui/search/local_ntp_test_utils.cc", "../browser/ui/search/local_ntp_test_utils.h", + "../browser/web_applications/test/profile_test_helper.cc", + "../browser/web_applications/test/profile_test_helper.h", "base/in_process_browser_test.cc", "base/in_process_browser_test.h", "base/in_process_browser_test_mac.mm",
diff --git a/chrome/test/data/extensions/api_test/passwords_private/test.js b/chrome/test/data/extensions/api_test/passwords_private/test.js index cbc78d2..b6ec5322 100644 --- a/chrome/test/data/extensions/api_test/passwords_private/test.js +++ b/chrome/test/data/extensions/api_test/passwords_private/test.js
@@ -314,12 +314,15 @@ 'https://example.com/change-password', compromisedCredential.changePasswordUrl); chrome.test.assertEq('alice', compromisedCredential.username); - const compromiseTime = new Date(compromisedCredential.compromiseTime); + const compromiseTime = + new Date(compromisedCredential.compromisedInfo.compromiseTime); chrome.test.assertEq( 'Tue, 03 Mar 2020 12:00:00 GMT', compromiseTime.toUTCString()); chrome.test.assertEq( - '3 days ago', compromisedCredential.elapsedTimeSinceCompromise); - chrome.test.assertEq('LEAKED', compromisedCredential.compromiseType); + '3 days ago', + compromisedCredential.compromisedInfo.elapsedTimeSinceCompromise); + chrome.test.assertEq( + 'LEAKED', compromisedCredential.compromisedInfo.compromiseType); chrome.test.succeed(); }); }, @@ -332,9 +335,11 @@ isAndroidCredential: false, signonRealm: 'https://example.com', username: 'alice', - compromiseTime: COMPROMISE_TIME, - elapsedTimeSinceCompromise: '3 days ago', - compromiseType: 'LEAKED', + compromisedInfo: { + compromiseTime: COMPROMISE_TIME, + elapsedTimeSinceCompromise: '3 days ago', + compromiseType: 'LEAKED', + }, }; chrome.passwordsPrivate.getPlaintextCompromisedPassword( @@ -353,9 +358,11 @@ isAndroidCredential: false, signonRealm: 'https://example.com', username: 'alice', - compromiseTime: COMPROMISE_TIME, - elapsedTimeSinceCompromise: '3 days ago', - compromiseType: 'LEAKED', + compromisedInfo: { + compromiseTime: COMPROMISE_TIME, + elapsedTimeSinceCompromise: '3 days ago', + compromiseType: 'LEAKED', + }, }; chrome.passwordsPrivate.getPlaintextCompromisedPassword( @@ -378,9 +385,11 @@ isAndroidCredential: false, signonRealm: 'https://example.com', username: 'alice', - compromiseTime: COMPROMISE_TIME, - elapsedTimeSinceCompromise: '3 days ago', - compromiseType: 'LEAKED', + compromisedInfo: { + compromiseTime: COMPROMISE_TIME, + elapsedTimeSinceCompromise: '3 days ago', + compromiseType: 'LEAKED', + }, }, '', () => { chrome.test.assertLastError( @@ -399,9 +408,11 @@ isAndroidCredential: false, signonRealm: 'https://example.com', username: 'alice', - compromiseTime: COMPROMISE_TIME, - elapsedTimeSinceCompromise: '3 days ago', - compromiseType: 'LEAKED', + compromisedInfo: { + compromiseTime: COMPROMISE_TIME, + elapsedTimeSinceCompromise: '3 days ago', + compromiseType: 'LEAKED', + }, }, 'new_pass', () => { chrome.test.assertLastError( @@ -420,9 +431,11 @@ isAndroidCredential: false, signonRealm: 'https://example.com', username: 'alice', - compromiseTime: COMPROMISE_TIME, - elapsedTimeSinceCompromise: '3 days ago', - compromiseType: 'LEAKED', + compromisedInfo: { + compromiseTime: COMPROMISE_TIME, + elapsedTimeSinceCompromise: '3 days ago', + compromiseType: 'LEAKED', + }, }, 'new_pass', () => { chrome.test.assertNoLastError(); @@ -439,9 +452,11 @@ isAndroidCredential: false, signonRealm: 'https://example.com', username: 'alice', - compromiseTime: COMPROMISE_TIME, - elapsedTimeSinceCompromise: '3 days ago', - compromiseType: 'LEAKED', + compromisedInfo: { + compromiseTime: COMPROMISE_TIME, + elapsedTimeSinceCompromise: '3 days ago', + compromiseType: 'LEAKED', + }, }, () => { chrome.test.assertLastError( @@ -461,9 +476,11 @@ isAndroidCredential: false, signonRealm: 'https://example.com', username: 'alice', - compromiseTime: COMPROMISE_TIME, - elapsedTimeSinceCompromise: '3 days ago', - compromiseType: 'LEAKED', + compromisedInfo: { + compromiseTime: COMPROMISE_TIME, + elapsedTimeSinceCompromise: '3 days ago', + compromiseType: 'LEAKED', + }, }, () => { chrome.test.assertNoLastError();
diff --git a/chrome/test/data/webui/BUILD.gn b/chrome/test/data/webui/BUILD.gn index 1ebf04b..b53b30a 100644 --- a/chrome/test/data/webui/BUILD.gn +++ b/chrome/test/data/webui/BUILD.gn
@@ -216,6 +216,7 @@ "$root_gen_dir/chrome/test/data/webui/find_shortcut_behavior_test.m.js", "$root_gen_dir/chrome/test/data/webui/mock_controller.m.js", "$root_gen_dir/chrome/test/data/webui/mock_timer.m.js", + "$root_gen_dir/chrome/test/data/webui/nearby_share/shared/fake_nearby_contact_manager.m.js", "$root_gen_dir/chrome/test/data/webui/nearby_share/shared/fake_nearby_share_settings.m.js", "$root_gen_dir/chrome/test/data/webui/nearby_share/shared/nearby_contact_visibility_test.m.js", "$root_gen_dir/chrome/test/data/webui/nearby_share/shared/nearby_onboarding_page_test.m.js",
diff --git a/chrome/test/data/webui/cr_components/chromeos/cellular_setup/button_bar_test.js b/chrome/test/data/webui/cr_components/chromeos/cellular_setup/button_bar_test.js index b72214b..7ca28d5a 100644 --- a/chrome/test/data/webui/cr_components/chromeos/cellular_setup/button_bar_test.js +++ b/chrome/test/data/webui/cr_components/chromeos/cellular_setup/button_bar_test.js
@@ -31,9 +31,9 @@ buttonBar.buttonState = { backward: state, cancel: state, - finish: state, next: state, - tryAgain: state + tryAgain: state, + done: state, }; Polymer.dom.flush(); } @@ -67,8 +67,8 @@ assertTrue(isButtonShownAndEnabled(buttonBar.$$('#backward'))); assertTrue(isButtonShownAndEnabled(buttonBar.$$('#cancel'))); assertTrue(isButtonShownAndEnabled(buttonBar.$$('#tryAgain'))); - assertTrue(isButtonShownAndEnabled(buttonBar.$$('#finish'))); assertTrue(isButtonShownAndEnabled(buttonBar.$$('#next'))); + assertTrue(isButtonShownAndEnabled(buttonBar.$$('#done'))); }); test('individual buttons appear but are diabled', function() { @@ -76,8 +76,8 @@ assertTrue(isButtonShownAndDisabled(buttonBar.$$('#backward'))); assertTrue(isButtonShownAndDisabled(buttonBar.$$('#cancel'))); assertTrue(isButtonShownAndDisabled(buttonBar.$$('#tryAgain'))); - assertTrue(isButtonShownAndDisabled(buttonBar.$$('#finish'))); assertTrue(isButtonShownAndDisabled(buttonBar.$$('#next'))); + assertTrue(isButtonShownAndDisabled(buttonBar.$$('#done'))); }); test('individual buttons are hidden', function() { @@ -85,7 +85,7 @@ assertTrue(isButtonHidden(buttonBar.$$('#backward'))); assertTrue(isButtonHidden(buttonBar.$$('#cancel'))); assertTrue(isButtonHidden(buttonBar.$$('#tryAgain'))); - assertTrue(isButtonHidden(buttonBar.$$('#finish'))); assertTrue(isButtonHidden(buttonBar.$$('#next'))); + assertTrue(isButtonHidden(buttonBar.$$('#done'))); }); });
diff --git a/chrome/test/data/webui/nearby_share/BUILD.gn b/chrome/test/data/webui/nearby_share/BUILD.gn index 3bf286c..ac8f1b5 100644 --- a/chrome/test/data/webui/nearby_share/BUILD.gn +++ b/chrome/test/data/webui/nearby_share/BUILD.gn
@@ -89,6 +89,7 @@ deps = [ "..:chai_assert", "..:test_util.m", + "shared:fake_nearby_contact_manager.m", "shared:fake_nearby_share_settings.m", "//chrome/browser/resources/nearby_share:app", "//chrome/browser/resources/nearby_share/shared:nearby_share_settings.m",
diff --git a/chrome/test/data/webui/nearby_share/nearby_share_app_test.js b/chrome/test/data/webui/nearby_share/nearby_share_app_test.js index fcb3ced..bdc0c37 100644 --- a/chrome/test/data/webui/nearby_share/nearby_share_app_test.js +++ b/chrome/test/data/webui/nearby_share/nearby_share_app_test.js
@@ -6,11 +6,13 @@ import 'chrome://resources/mojo/mojo/public/js/mojo_bindings_lite.js'; import 'chrome://nearby/app.js'; +import {setContactManagerForTesting} from 'chrome://nearby/shared/nearby_contact_manager.m.js'; import {setNearbyShareSettingsForTesting} from 'chrome://nearby/shared/nearby_share_settings.m.js'; import {assertEquals, assertFalse, assertTrue} from '../chai_assert.js'; import {waitAfterNextRender} from '../test_util.m.js'; +import {FakeContactManager} from './shared/fake_nearby_contact_manager.m.js'; import {FakeNearbyShareSettings} from './shared/fake_nearby_share_settings.m.js'; suite('ShareAppTest', function() { @@ -33,6 +35,11 @@ let fakeSettings = new FakeNearbyShareSettings(); fakeSettings.setEnabled(enabled); setNearbyShareSettingsForTesting(fakeSettings); + + let fakeContactManager = new FakeContactManager(); + setContactManagerForTesting(fakeContactManager); + fakeContactManager.setupContactRecords(); + shareAppElement = /** @type {!NearbyShareAppElement} */ ( document.createElement('nearby-share-app')); document.body.appendChild(shareAppElement);
diff --git a/chrome/test/data/webui/nearby_share/shared/BUILD.gn b/chrome/test/data/webui/nearby_share/shared/BUILD.gn index c9c70cc..87d7c10 100644 --- a/chrome/test/data/webui/nearby_share/shared/BUILD.gn +++ b/chrome/test/data/webui/nearby_share/shared/BUILD.gn
@@ -8,6 +8,7 @@ js_modulizer("modulize") { input_files = [ + "fake_nearby_contact_manager.js", "fake_nearby_share_settings.js", "nearby_contact_visibility_test.js", "nearby_onboarding_page_test.js", @@ -17,6 +18,8 @@ namespace_rewrites = test_namespace_rewrites + [ "nearby_share.setNearbyShareSettingsForTesting|setNearbyShareSettingsForTesting", "nearby_share.FakeNearbyShareSettings|FakeNearbyShareSettings", + "nearby_share.setContactManagerForTesting|setContactManagerForTesting", + "nearby_share.FakeContactManager|FakeContactManager", ] } @@ -28,6 +31,7 @@ "js_module_root=./gen/chrome/browser/resources/nearby_share/", ] deps = [ + ":fake_nearby_contact_manager.m", ":fake_nearby_share_settings.m", ":nearby_contact_visibility_test.m", ":nearby_onboarding_page_test.m", @@ -36,9 +40,16 @@ ] } +js_library("fake_nearby_contact_manager.m") { + sources = [ "$root_gen_dir/chrome/test/data/webui/nearby_share/shared/fake_nearby_contact_manager.m.js" ] + deps = [] + extra_deps = [ ":modulize" ] +} + js_library("nearby_contact_visibility_test.m") { sources = [ "$root_gen_dir/chrome/test/data/webui/nearby_share/shared/nearby_contact_visibility_test.m.js" ] deps = [ + ":fake_nearby_contact_manager.m", ":fake_nearby_share_settings.m", "../..:chai_assert", "../..:test_util.m",
diff --git a/chrome/test/data/webui/nearby_share/shared/fake_nearby_contact_manager.js b/chrome/test/data/webui/nearby_share/shared/fake_nearby_contact_manager.js new file mode 100644 index 0000000..09f0408 --- /dev/null +++ b/chrome/test/data/webui/nearby_share/shared/fake_nearby_contact_manager.js
@@ -0,0 +1,81 @@ +// Copyright 2020 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +/** + * @fileoverview Fake implementation of ContactManagerInterface for testing. + */ +cr.define('nearby_share', function() { + /** + * Fake implementation of nearbyShare.mojom.ContactManagerInterface + * + * @implements {nearbyShare.mojom.ContactManagerInterface} + */ + /* #export */ class FakeContactManager { + constructor() { + /** @type {?Array<!nearbyShare.mojom.ContactRecord>} */ + this.contactRecords = null; + /** @private {!Array<!string>} */ + this.allowedContacts_ = []; + /** @private {?nearbyShare.mojom.DownloadContactsObserverInterface} */ + this.observer_; + /** @private {Object} */ + this.$ = { + close() {}, + }; + } + + /** + * @param {!nearbyShare.mojom.DownloadContactsObserverInterface} observer + */ + addDownloadContactsObserver(observer) { + // Just support a single observer for testing. + this.observer_ = observer; + } + + downloadContacts() { + // This does nothing intentionally, call failDownload() or + // completeDownload() to simulate a response. + } + + /** + * @param {!Array<!string>} allowedContacts + */ + setAllowedContacts(allowedContacts) { + this.allowedContacts_ = allowedContacts; + } + + setupContactRecords() { + this.contactRecords = [ + { + id: '1', + personName: 'Jane Doe', + identifiers: [ + {accountName: 'jane@gmail.com'}, + {phoneNumber: '555-1212'}, + ] + }, + { + id: '2', + personName: 'John Smith', + identifiers: [ + {phoneNumber: '555-5555'}, + {accountName: 'smith@google.com'}, + ] + } + ]; + this.allowedContacts_ = ['1']; + } + + failDownload() { + this.observer_.onContactsDownloadFailed(); + } + + completeDownload() { + this.observer_.onContactsDownloaded( + this.allowedContacts_, this.contactRecords || []); + } + } + // #cr_define_end + return {FakeContactManager: FakeContactManager}; +});
diff --git a/chrome/test/data/webui/nearby_share/shared/nearby_contact_visibility_test.js b/chrome/test/data/webui/nearby_share/shared/nearby_contact_visibility_test.js index 79bdab36..96f0231 100644 --- a/chrome/test/data/webui/nearby_share/shared/nearby_contact_visibility_test.js +++ b/chrome/test/data/webui/nearby_share/shared/nearby_contact_visibility_test.js
@@ -4,7 +4,9 @@ // clang-format off // #import 'chrome://nearby/shared/nearby_contact_visibility.m.js'; +// #import {setContactManagerForTesting} from 'chrome://nearby/shared/nearby_contact_manager.m.js'; // #import {setNearbyShareSettingsForTesting} from 'chrome://nearby/shared/nearby_share_settings.m.js'; +// #import {FakeContactManager} from './fake_nearby_contact_manager.m.js'; // #import {FakeNearbyShareSettings} from './fake_nearby_share_settings.m.js'; // #import {assertEquals, assertTrue, assertFalse} from '../../chai_assert.js'; // #import {waitAfterNextRender, isChildVisible} from '../../test_util.m.js'; @@ -13,10 +15,14 @@ suite('nearby-contact-visibility', () => { /** @type {!NearbyContactVisibilityElement} */ let visibilityElement; + /** @type {!nearby_share.FakeContactManager} */ + const fakeContactManager = new nearby_share.FakeContactManager(); setup(function() { document.body.innerHTML = ''; + nearby_share.setContactManagerForTesting(fakeContactManager); + visibilityElement = /** @type {!NearbyContactVisibilityElement} */ ( document.createElement('nearby-contact-visibility')); @@ -31,6 +37,11 @@ document.body.appendChild(visibilityElement); }); + function succeedContactDownload() { + fakeContactManager.setupContactRecords(); + fakeContactManager.completeDownload(); + } + /** * @return {boolean} true when zero state elements are visible */ @@ -48,6 +59,22 @@ } /** + * @return {boolean} true when failed download stat is visible + */ + function isDownloadContactsFailedVisible() { + return test_util.isChildVisible( + visibilityElement, '#contactsFailed', false); + } + + /** + * @return {boolean} true when pending contacts state is visible + */ + function isDownloadContactsPendingVisible() { + return test_util.isChildVisible( + visibilityElement, '#contactsPending', false); + } + + /** * @return {boolean} true when the checkboxes for contacts are visible */ function areContactCheckBoxesVisible() { @@ -70,7 +97,40 @@ assertEquals(no, visibilityElement.$$('#noContacts').checked); } + + test('Downloads failed show failure ui', async function() { + // Failed the download right away so we see the failure screen. + fakeContactManager.failDownload(); + visibilityElement.set( + 'settings.visibility', nearbyShare.mojom.Visibility.kSelectedContacts); + await test_util.waitAfterNextRender(visibilityElement); + + assertToggleState(/*all=*/ false, /*some=*/ true, /*no=*/ false); + assertFalse(isZeroStateVisible()); + assertFalse(isNoContactsSectionVisible()); + assertTrue(isDownloadContactsFailedVisible()); + assertFalse(isDownloadContactsPendingVisible()); + + // If we click retry, we should go into pending state. + visibilityElement.$$('#contactRetryButton').click(); + await test_util.waitAfterNextRender(visibilityElement); + + assertFalse(isDownloadContactsFailedVisible()); + assertTrue(isDownloadContactsPendingVisible()); + + // If we succeed the download we should see results in the list. + succeedContactDownload(); + await test_util.waitAfterNextRender(visibilityElement); + + assertFalse(isDownloadContactsFailedVisible()); + assertFalse(isDownloadContactsPendingVisible()); + assertTrue(areContactCheckBoxesVisible()); + const list = visibilityElement.$$('#contactList'); + assertEquals(fakeContactManager.contactRecords.length, list.items.length); + }); + test('Visibility component shows zero state for kUnknown', async function() { + succeedContactDownload(); // need to wait for the next render to see if the zero await test_util.waitAfterNextRender(visibilityElement); @@ -82,6 +142,7 @@ test( 'Visibility component shows allContacts for kAllContacts', async function() { + succeedContactDownload(); visibilityElement.set( 'settings.visibility', nearbyShare.mojom.Visibility.kAllContacts); @@ -97,6 +158,7 @@ test( 'Visibility component shows someContacts for kSelectedContacts', async function() { + succeedContactDownload(); visibilityElement.set( 'settings.visibility', nearbyShare.mojom.Visibility.kSelectedContacts); @@ -113,7 +175,7 @@ test('Visibility component shows noContacts for kNoOne', async function() { visibilityElement.set( 'settings.visibility', nearbyShare.mojom.Visibility.kNoOne); - + succeedContactDownload(); // need to wait for the next render to see results await test_util.waitAfterNextRender(visibilityElement); @@ -126,6 +188,8 @@ test( 'Visibility component shows no contacts when there are zero contacts', async function() { + fakeContactManager.contactRecords = []; + fakeContactManager.completeDownload(); visibilityElement.set( 'settings.visibility', nearbyShare.mojom.Visibility.kAllContacts); visibilityElement.set('contacts', []);
diff --git a/chrome/test/data/webui/nearby_share/shared/nearby_onboarding_page_test.js b/chrome/test/data/webui/nearby_share/shared/nearby_onboarding_page_test.js index 4d3b49a7..25c00f2 100644 --- a/chrome/test/data/webui/nearby_share/shared/nearby_onboarding_page_test.js +++ b/chrome/test/data/webui/nearby_share/shared/nearby_onboarding_page_test.js
@@ -4,7 +4,9 @@ // clang-format off // #import 'chrome://nearby/shared/nearby_onboarding_page.m.js'; +// #import {setContactManagerForTesting} from 'chrome://nearby/shared/nearby_contact_manager.m.js'; // #import {setNearbyShareSettingsForTesting} from 'chrome://nearby/shared/nearby_share_settings.m.js'; +// #import {FakeContactManager} from './fake_nearby_contact_manager.m.js'; // #import {FakeNearbyShareSettings} from './fake_nearby_share_settings.m.js'; // #import {assertEquals} from '../../chai_assert.js'; // clang-format on
diff --git a/chrome/test/data/webui/nearby_share/shared/nearby_shared_browsertest.js b/chrome/test/data/webui/nearby_share/shared/nearby_shared_browsertest.js index 698e5c6..c72f351af 100644 --- a/chrome/test/data/webui/nearby_share/shared/nearby_shared_browsertest.js +++ b/chrome/test/data/webui/nearby_share/shared/nearby_shared_browsertest.js
@@ -33,6 +33,7 @@ '../../test_util.js', '../../settings/ensure_lazy_loaded.js', 'fake_nearby_share_settings.js', + 'fake_nearby_contact_manager.js', ]); } };
diff --git a/chrome/test/data/webui/settings/chromeos/BUILD.gn b/chrome/test/data/webui/settings/chromeos/BUILD.gn index 77564f5e..84305b648 100644 --- a/chrome/test/data/webui/settings/chromeos/BUILD.gn +++ b/chrome/test/data/webui/settings/chromeos/BUILD.gn
@@ -87,5 +87,6 @@ "nearby_share.setNearbyShareSettingsForTesting|setNearbyShareSettingsForTesting", "nearby_share.FakeNearbyShareSettings|FakeNearbyShareSettings", "nearby_share.FakeReceiveManager|FakeReceiveManager", + "nearby_share.FakeContactManager|FakeContactManager", ] }
diff --git a/chrome/test/data/webui/settings/chromeos/input_page_test.js b/chrome/test/data/webui/settings/chromeos/input_page_test.js index 5471245..3d01793 100644 --- a/chrome/test/data/webui/settings/chromeos/input_page_test.js +++ b/chrome/test/data/webui/settings/chromeos/input_page_test.js
@@ -291,6 +291,12 @@ Polymer.dom.flush(); assertEquals(1, getItems().length); assertTrue(getItems()[0].textContent.includes('Vietnamese')); + + // Search input methods' language + searchInput.setValue('Turkmen'); + Polymer.dom.flush(); + assertEquals(1, getItems().length); + assertTrue(getItems()[0].textContent.includes('Swahili keyboard')); }); test('has escape key behavior working correctly', function() {
diff --git a/chrome/test/data/webui/settings/chromeos/nearby_share_subpage_tests.js b/chrome/test/data/webui/settings/chromeos/nearby_share_subpage_tests.js index 957a75ff..6d5f72c 100644 --- a/chrome/test/data/webui/settings/chromeos/nearby_share_subpage_tests.js +++ b/chrome/test/data/webui/settings/chromeos/nearby_share_subpage_tests.js
@@ -6,7 +6,8 @@ // #import {TestBrowserProxy} from '../../test_browser_proxy.m.js'; // #import {assertEquals} from '../../chai_assert.js'; // #import {flush} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js'; -// #import {NearbyAccountManagerBrowserProxy, NearbyAccountManagerBrowserProxyImpl, setNearbyShareSettingsForTesting, setReceiveManagerForTesting} from 'chrome://os-settings/chromeos/os_settings.js'; +// #import {NearbyAccountManagerBrowserProxy, NearbyAccountManagerBrowserProxyImpl, setNearbyShareSettingsForTesting, setReceiveManagerForTesting, setContactManagerForTesting} from 'chrome://os-settings/chromeos/os_settings.js'; +// #import {FakeContactManager} from '../../nearby_share/shared/fake_nearby_contact_manager.m.js'; // #import {FakeNearbyShareSettings} from '../../nearby_share/shared/fake_nearby_share_settings.m.js'; // #import {FakeReceiveManager} from './fake_receive_manager.m.js' // clang-format on @@ -51,6 +52,8 @@ let fakeReceiveManager = null; /** @type {nearby_share.AccountManagerBrowserProxy} */ let accountManagerBrowserProxy = null; + /** @type {!nearby_share.FakeContactManager} */ + const fakeContactManager = new nearby_share.FakeContactManager(); setup(function() { accountManagerBrowserProxy = new TestAccountManagerBrowserProxy(); @@ -60,6 +63,9 @@ fakeReceiveManager = new nearby_share.FakeReceiveManager(); nearby_share.setReceiveManagerForTesting(fakeReceiveManager); + nearby_share.setContactManagerForTesting(fakeContactManager); + fakeContactManager.setupContactRecords(); + /** @type {!nearbyShare.mojom.NearbyShareSettingsInterface} */ const fakeSettings = new nearby_share.FakeNearbyShareSettings(); fakeSettings.setEnabled(true);
diff --git a/chrome/test/data/webui/settings/chromeos/os_settings_browsertest.js b/chrome/test/data/webui/settings/chromeos/os_settings_browsertest.js index 78ffc92..20aa6d9 100644 --- a/chrome/test/data/webui/settings/chromeos/os_settings_browsertest.js +++ b/chrome/test/data/webui/settings/chromeos/os_settings_browsertest.js
@@ -1104,6 +1104,7 @@ return super.extraLibraries.concat([ '../../test_browser_proxy.js', '../../nearby_share/shared/fake_nearby_share_settings.js', + '../../nearby_share/shared/fake_nearby_contact_manager.js', 'fake_receive_manager.js', 'nearby_share_subpage_tests.js', ]);
diff --git a/chrome/test/data/webui/settings/fake_language_settings_private.js b/chrome/test/data/webui/settings/fake_language_settings_private.js index 2bd21963..2691113 100644 --- a/chrome/test/data/webui/settings/fake_language_settings_private.js +++ b/chrome/test/data/webui/settings/fake_language_settings_private.js
@@ -144,30 +144,38 @@ id: '_comp_ime_jkghodnilhceideoidjikpgommlajknkxkb:us::eng', displayName: 'US keyboard', languageCodes: ['en', 'en-US'], + tags: ['US keyboard', 'English', 'English(United States)'], enabled: true, }, { id: '_comp_ime_fgoepimhcoialccpbmpnnblemnepkkaoxkb:us:dvorak:eng', displayName: 'US Dvorak keyboard', languageCodes: ['en', 'en-US'], + tags: ['US Dvorak keyboard', 'English', 'English(United States)'], enabled: true, }, { id: '_comp_ime_abcdefghijklmnopqrstuvwxyzabcdefxkb:sw:sw', displayName: 'Swahili keyboard', languageCodes: ['sw', 'tk'], + tags: ['Swahili keyboard', 'Swahili', 'Turkmen'], enabled: false, }, { id: '_comp_ime_abcdefghijklmnopqrstuvwxyzabcdefxkb:us:sw', displayName: 'US Swahili keyboard', languageCodes: ['en', 'en-US', 'sw'], + tags: [ + 'US Swahili keyboard', 'English', 'English(United States)', + 'Swahili' + ], enabled: false, }, { id: '_comp_ime_abcdefghijklmnopqrstuvwxyzabcdefxkb:vi:vi', displayName: 'Vietnamese keyboard', languageCodes: ['vi'], + tags: ['Vietnamese keyboard', 'Vietnamese'], enabled: false, }, ];
diff --git a/chrome/test/data/webui/settings/password_check_test.js b/chrome/test/data/webui/settings/password_check_test.js index 7a8364b..871706b7 100644 --- a/chrome/test/data/webui/settings/password_check_test.js +++ b/chrome/test/data/webui/settings/password_check_test.js
@@ -41,7 +41,7 @@ /** * Helper method used to create a compromised list item. - * @param {!chrome.passwordsPrivate.CompromisedCredential} entry + * @param {!chrome.passwordsPrivate.InsecureCredential} entry * @return {!PasswordCheckListItemElement} */ function createLeakedPasswordItem(entry) { @@ -60,7 +60,7 @@ /** * Helper method used to create a remove password confirmation dialog. - * @param {!chrome.passwordsPrivate.CompromisedCredential} entry + * @param {!chrome.passwordsPrivate.InsecureCredential} entry */ function createRemovePasswordDialog(entry) { const element = @@ -73,8 +73,8 @@ /** * Helper method used to randomize array. - * @param {!Array<!chrome.passwordsPrivate.CompromisedCredential>} array - * @return {!Array<!chrome.passwordsPrivate.CompromisedCredential>} + * @param {!Array<!chrome.passwordsPrivate.InsecureCredential>} array + * @return {!Array<!chrome.passwordsPrivate.InsecureCredential>} */ function shuffleArray(array) { const copy = array.slice(); @@ -92,7 +92,7 @@ * list match the expected data. * @param {!Element} checkPasswordSection The section element that will be * checked. - * @param {!Array<!chrome.passwordsPrivate.CompromisedCredential>} + * @param {!Array<!chrome.passwordsPrivate.InsecureCredential>} * passwordList The expected data. * @private */ @@ -107,7 +107,8 @@ assertTrue(!!node); assertEquals( node.$.elapsedTime.textContent.trim(), - compromisedCredentials[index].elapsedTimeSinceCompromise); + compromisedCredentials[index] + .compromisedInfo.elapsedTimeSinceCompromise); assertEquals( node.$.leakUsername.textContent.trim(), compromisedCredentials[index].username);
diff --git a/chrome/test/data/webui/settings/passwords_and_autofill_fake_data.js b/chrome/test/data/webui/settings/passwords_and_autofill_fake_data.js index 48b8dd73..6bc9740 100644 --- a/chrome/test/data/webui/settings/passwords_and_autofill_fake_data.js +++ b/chrome/test/data/webui/settings/passwords_and_autofill_fake_data.js
@@ -250,7 +250,7 @@ * @param {chrome.passwordsPrivate.CompromiseType} type * @param {number=} id * @param {number=} elapsedMinSinceCompromise - * @return {chrome.passwordsPrivate.CompromisedCredential} + * @return {chrome.passwordsPrivate.InsecureCredential} * @private */ export function makeCompromisedCredential( @@ -260,9 +260,11 @@ formattedOrigin: url, changePasswordUrl: `http://${url}/`, username: username, - elapsedTimeSinceCompromise: `${elapsedMinSinceCompromise} minutes ago`, - compromiseTime: Date.now() - (elapsedMinSinceCompromise * 60000), - compromiseType: type, + compromisedInfo: { + compromiseTime: Date.now() - (elapsedMinSinceCompromise * 60000), + elapsedTimeSinceCompromise: `${elapsedMinSinceCompromise} minutes ago`, + compromiseType: type, + }, detailedOrigin: '', isAndroidCredential: false, signonRealm: '',
diff --git a/chrome/test/data/webui/settings/test_password_manager_proxy.js b/chrome/test/data/webui/settings/test_password_manager_proxy.js index 66e5c65..1a04e10c 100644 --- a/chrome/test/data/webui/settings/test_password_manager_proxy.js +++ b/chrome/test/data/webui/settings/test_password_manager_proxy.js
@@ -271,7 +271,7 @@ } const newCredential = - /** @type {PasswordManagerProxy.CompromisedCredential} */ ( + /** @type {PasswordManagerProxy.InsecureCredential} */ ( Object.assign({}, credential)); newCredential.password = this.plaintextPassword_; return Promise.resolve(newCredential);
diff --git a/chrome/test/enterprise/e2e/policy/__init__.py b/chrome/test/enterprise/e2e/policy/__init__.py index 6f23b6d..c3f4527 100644 --- a/chrome/test/enterprise/e2e/policy/__init__.py +++ b/chrome/test/enterprise/e2e/policy/__init__.py
@@ -7,9 +7,9 @@ from bookmarkbar_enabled.bookmarkbar_enabled import * from cloud_management_enrollment_token.cloud_management_enrollment_token import * from default_search_provider.default_search_provider import * -from extension_blacklist.extension_blacklist import * +from extension_blocklist.extension_blocklist import * from extension_forcelist.extension_forcelist import * -from extension_whitelist.extension_whitelist import * +from extension_allowlist.extension_allowlist import * from force_google_safe_search.force_google_safe_search import * from fullscreen_allowed.fullscreen_allowed import * from homepage.homepage import * @@ -18,8 +18,8 @@ from restore_on_startup.restore_on_startup import * from safe_browsing.safe_browsing import * from translate_enabled.translate_enabled import * -from url_blacklist.url_blacklist import * -from url_whitelist.url_whitelist import * +from url_blocklist.url_blocklist import * +from url_allowlist.url_allowlist import * from user_data_dir.user_data_dir import * from webprotect_file_download.webprotect_file_download import * from webprotect_bulk_text_entry.webprotect_bulk_text_entry import *
diff --git a/chrome/test/enterprise/e2e/policy/extension_blacklist/__init__.py b/chrome/test/enterprise/e2e/policy/extension_allowlist/__init__.py similarity index 100% copy from chrome/test/enterprise/e2e/policy/extension_blacklist/__init__.py copy to chrome/test/enterprise/e2e/policy/extension_allowlist/__init__.py
diff --git a/chrome/test/enterprise/e2e/policy/extension_whitelist/extension_whitelist.py b/chrome/test/enterprise/e2e/policy/extension_allowlist/extension_allowlist.py similarity index 78% rename from chrome/test/enterprise/e2e/policy/extension_whitelist/extension_whitelist.py rename to chrome/test/enterprise/e2e/policy/extension_allowlist/extension_allowlist.py index 2fb6ddbd..4f39eb9 100644 --- a/chrome/test/enterprise/e2e/policy/extension_whitelist/extension_whitelist.py +++ b/chrome/test/enterprise/e2e/policy/extension_allowlist/extension_allowlist.py
@@ -9,9 +9,9 @@ @environment(file="../policy_test.asset.textpb") -class ExtensionInstallWhitelistTest(ChromeEnterpriseTestCase): - """Test the ExtensionInstallBlacklist policy. - https://cloud.google.com/docs/chrome-enterprise/policies/?policy=ExtensionInstallWhitelist""" +class ExtensionInstallAllowlistTest(ChromeEnterpriseTestCase): + """Test the ExtensionInstallBlocklist policy. + https://cloud.google.com/docs/chrome-enterprise/policies/?policy=ExtensionInstallAllowlist""" @before_all def setup(self): @@ -29,13 +29,13 @@ return output @test - def test_ExtensionWhitelist_hangout(self): + def test_ExtensionAllowlist_hangout(self): extension = 'nckgahadagoaajjgafhacjanaoiihapd' - self.SetPolicy('win2019-dc', r'ExtensionInstallBlacklist\1', '*', 'String') - self.SetPolicy('win2019-dc', r'ExtensionInstallWhitelist\1', extension, + self.SetPolicy('win2019-dc', r'ExtensionInstallBlocklist\1', '*', 'String') + self.SetPolicy('win2019-dc', r'ExtensionInstallAllowlist\1', extension, 'String') self.RunCommand('client2019', 'gpupdate /force') - logging.info('Whitelist extension install for ' + extension + + logging.info('Allowlist extension install for ' + extension + ' while disabling others') test_url = 'https://chrome.google.com/webstore/detail/google-hangouts/nckgahadagoaajjgafhacjanaoiihapd'
diff --git a/chrome/test/enterprise/e2e/policy/extension_blacklist/__init__.py b/chrome/test/enterprise/e2e/policy/extension_blocklist/__init__.py similarity index 100% rename from chrome/test/enterprise/e2e/policy/extension_blacklist/__init__.py rename to chrome/test/enterprise/e2e/policy/extension_blocklist/__init__.py
diff --git a/chrome/test/enterprise/e2e/policy/extension_blacklist/extension_blacklist.py b/chrome/test/enterprise/e2e/policy/extension_blocklist/extension_blocklist.py similarity index 83% rename from chrome/test/enterprise/e2e/policy/extension_blacklist/extension_blacklist.py rename to chrome/test/enterprise/e2e/policy/extension_blocklist/extension_blocklist.py index 83744b1..52fc3bd7f 100644 --- a/chrome/test/enterprise/e2e/policy/extension_blacklist/extension_blacklist.py +++ b/chrome/test/enterprise/e2e/policy/extension_blocklist/extension_blocklist.py
@@ -9,9 +9,9 @@ @environment(file="../policy_test.asset.textpb") -class ExtensionInstallBlacklistTest(ChromeEnterpriseTestCase): - """Test the ExtensionInstallBlacklist policy. - https://cloud.google.com/docs/chrome-enterprise/policies/?policy=ExtensionInstallBlacklist""" +class ExtensionInstallBlocklistTest(ChromeEnterpriseTestCase): + """Test the ExtensionInstallBlocklist policy. + https://cloud.google.com/docs/chrome-enterprise/policies/?policy=ExtensionInstallBlocklist""" @before_all def setup(self): @@ -29,9 +29,9 @@ return output @test - def test_ExtensionBlacklist_all(self): + def test_ExtensionBlocklist_all(self): extension = '*' - self.SetPolicy('win2019-dc', r'ExtensionInstallBlacklist\1', extension, + self.SetPolicy('win2019-dc', r'ExtensionInstallBlocklist\1', extension, 'String') self.RunCommand('client2019', 'gpupdate /force') logging.info('Disabled extension install for ' + extension) @@ -41,9 +41,9 @@ self.assertIn('blocked', output) @test - def test_ExtensionBlacklist_hangout(self): + def test_ExtensionBlocklist_hangout(self): extension = 'nckgahadagoaajjgafhacjanaoiihapd' - self.SetPolicy('win2019-dc', r'ExtensionInstallBlacklist\1', extension, + self.SetPolicy('win2019-dc', r'ExtensionInstallBlocklist\1', extension, 'String') self.RunCommand('client2019', 'gpupdate /force') logging.info('Disabled extension install for ' + extension)
diff --git a/chrome/test/enterprise/e2e/policy/extension_whitelist/__init__.py b/chrome/test/enterprise/e2e/policy/extension_whitelist/__init__.py deleted file mode 100644 index e69de29..0000000 --- a/chrome/test/enterprise/e2e/policy/extension_whitelist/__init__.py +++ /dev/null
diff --git a/chrome/test/enterprise/e2e/policy/url_blacklist/__init__.py b/chrome/test/enterprise/e2e/policy/url_allowlist/__init__.py similarity index 100% copy from chrome/test/enterprise/e2e/policy/url_blacklist/__init__.py copy to chrome/test/enterprise/e2e/policy/url_allowlist/__init__.py
diff --git a/chrome/test/enterprise/e2e/policy/url_whitelist/url_whitelist.py b/chrome/test/enterprise/e2e/policy/url_allowlist/url_allowlist.py similarity index 82% rename from chrome/test/enterprise/e2e/policy/url_whitelist/url_whitelist.py rename to chrome/test/enterprise/e2e/policy/url_allowlist/url_allowlist.py index 81a096c..36eb16f 100644 --- a/chrome/test/enterprise/e2e/policy/url_whitelist/url_whitelist.py +++ b/chrome/test/enterprise/e2e/policy/url_allowlist/url_allowlist.py
@@ -9,13 +9,13 @@ @environment(file="../policy_test.asset.textpb") -class UrlWhitelistTest(ChromeEnterpriseTestCase): - """Test the URLWhitelist policy. +class UrlAllowlistTest(ChromeEnterpriseTestCase): + """Test the URLAllowlist policy. - This policy provides exceptions to the URLBlacklist policy. + This policy provides exceptions to the URLBlocklist policy. - See https://cloud.google.com/docs/chrome-enterprise/policies/?policy=URLBlacklist - and https://cloud.google.com/docs/chrome-enterprise/policies/?policy=URLWhitelist""" + See https://cloud.google.com/docs/chrome-enterprise/policies/?policy=URLBlocklist + and https://cloud.google.com/docs/chrome-enterprise/policies/?policy=URLAllowlist""" @before_all def setup(self): @@ -24,9 +24,9 @@ self.InstallChrome(client) self.InstallWebDriver(client) - # Blacklist all sites and add an exception with URLWhitelist. - self.SetPolicy(dc, r'URLBlacklist\1', '*', 'String') - self.SetPolicy(dc, r'URLWhitelist\1', 'https://youtube.com', 'String') + # Blocklist all sites and add an exception with URLAllowlist. + self.SetPolicy(dc, r'URLBlocklist\1', '*', 'String') + self.SetPolicy(dc, r'URLAllowlist\1', 'https://youtube.com', 'String') self.RunCommand(client, 'gpupdate /force') def openPage(self, url, incognito=False):
diff --git a/chrome/test/enterprise/e2e/policy/url_blacklist/__init__.py b/chrome/test/enterprise/e2e/policy/url_blocklist/__init__.py similarity index 100% rename from chrome/test/enterprise/e2e/policy/url_blacklist/__init__.py rename to chrome/test/enterprise/e2e/policy/url_blocklist/__init__.py
diff --git a/chrome/test/enterprise/e2e/policy/url_blacklist/url_blacklist.py b/chrome/test/enterprise/e2e/policy/url_blocklist/url_blocklist.py similarity index 75% rename from chrome/test/enterprise/e2e/policy/url_blacklist/url_blacklist.py rename to chrome/test/enterprise/e2e/policy/url_blocklist/url_blocklist.py index c9af4e8..f3bb56e 100644 --- a/chrome/test/enterprise/e2e/policy/url_blacklist/url_blacklist.py +++ b/chrome/test/enterprise/e2e/policy/url_blocklist/url_blocklist.py
@@ -9,10 +9,10 @@ @environment(file="../policy_test.asset.textpb") -class UrlBlacklistTest(ChromeEnterpriseTestCase): - """Test the URLBlacklist policy. +class UrlBlocklistTest(ChromeEnterpriseTestCase): + """Test the URLBlocklist policy. - See https://cloud.google.com/docs/chrome-enterprise/policies/?policy=URLBlacklist""" + See https://cloud.google.com/docs/chrome-enterprise/policies/?policy=URLBlocklist""" @before_all def setup(self): @@ -31,8 +31,8 @@ return output @test - def test_BlacklistAllCantVisit(self, incognito=False): - self.SetPolicy('win2019-dc', r'URLBlacklist\1', '*', 'String') + def test_BlocklistAllCantVisit(self, incognito=False): + self.SetPolicy('win2019-dc', r'URLBlocklist\1', '*', 'String') self.RunCommand('client2019', 'gpupdate /force') # Verify that we can't visit any site. @@ -43,8 +43,8 @@ self.assertIn("ERR_BLOCKED_BY_ADMINISTRATOR", output) @test - def test_BlacklistYouTubeCantVisit(self, incognito=False): - self.SetPolicy('win2019-dc', r'URLBlacklist\1', 'https://youtube.com', + def test_BlocklistYouTubeCantVisit(self, incognito=False): + self.SetPolicy('win2019-dc', r'URLBlocklist\1', 'https://youtube.com', 'String') self.RunCommand('client2019', 'gpupdate /force') @@ -56,9 +56,9 @@ self.assertNotIn("ERR_BLOCKED_BY_ADMINISTRATOR", output) @test - def test_BlacklistAllCantVisitIncognito(self): - self.test_BlacklistAllCantVisit(incognito=True) + def test_BlocklistAllCantVisitIncognito(self): + self.test_BlocklistAllCantVisit(incognito=True) @test - def test_BlacklistYouTubeCantVisitIncognito(self): - self.test_BlacklistYouTubeCantVisit(incognito=True) + def test_BlocklistYouTubeCantVisitIncognito(self): + self.test_BlocklistYouTubeCantVisit(incognito=True)
diff --git a/chrome/test/enterprise/e2e/policy/url_whitelist/__init__.py b/chrome/test/enterprise/e2e/policy/url_whitelist/__init__.py deleted file mode 100644 index e69de29..0000000 --- a/chrome/test/enterprise/e2e/policy/url_whitelist/__init__.py +++ /dev/null
diff --git a/chrome/tools/build/linux/FILES.cfg b/chrome/tools/build/linux/FILES.cfg index fed3bc1..204419e1 100644 --- a/chrome/tools/build/linux/FILES.cfg +++ b/chrome/tools/build/linux/FILES.cfg
@@ -313,7 +313,8 @@ 'archive': 'mojojs.zip', }, { - 'filename': 'gen/mojo/public/mojom/base/*.mojom.js', + # including *.mojom-lite.js, too + 'filename': 'gen/mojo/public/mojom/base/*.mojom*.js', 'buildtype': ['dev', 'official'], 'archive': 'mojojs.zip', }, @@ -328,6 +329,12 @@ 'buildtype': ['dev', 'official'], 'archive': 'mojojs.zip', }, + # MojoJS support data (credential-management): + { + 'filename': 'gen/third_party/blink/public/mojom/sms/sms_receiver.mojom-lite.js', + 'buildtype': ['dev', 'official'], + 'archive': 'mojojs.zip', + }, # MojoJS support data (idle-detection): { 'filename': 'gen/third_party/blink/public/mojom/idle/idle_manager.mojom.js',
diff --git a/chromecast/common/mojom/BUILD.gn b/chromecast/common/mojom/BUILD.gn index 33717ac..3344d86 100644 --- a/chromecast/common/mojom/BUILD.gn +++ b/chromecast/common/mojom/BUILD.gn
@@ -23,4 +23,27 @@ "//mojo/public/mojom/base", "//url/mojom:url_mojom_gurl", ] + + cpp_typemaps = [ + { + types = [ + { + mojom = "chromecast.shell.mojom.BitstreamAudioCodecsInfo" + cpp = "::chromecast::BitstreamAudioCodecsInfo" + }, + ] + traits_headers = [ "application_media_capabilities_traits.h" ] + traits_public_deps = [ "//chromecast/base" ] + }, + { + types = [ + { + mojom = "chromecast.mojom.AudioChannel" + cpp = "::chromecast::media::AudioChannel" + }, + ] + traits_headers = [ "multiroom_mojom_traits.h" ] + traits_public_deps = [ "//chromecast/public/media" ] + }, + ] }
diff --git a/chromecast/common/mojom/OWNERS b/chromecast/common/mojom/OWNERS index 16d15c7a..1feb514 100644 --- a/chromecast/common/mojom/OWNERS +++ b/chromecast/common/mojom/OWNERS
@@ -1,6 +1,4 @@ per-file *.mojom=set noparent per-file *.mojom=file://ipc/SECURITY_OWNERS -per-file *.typemap=set noparent -per-file *.typemap=file://ipc/SECURITY_OWNERS per-file *_mojom_traits*.*=set noparent per-file *_mojom_traits*.*=file://ipc/SECURITY_OWNERS
diff --git a/chromecast/common/mojom/application_media_capabilities.typemap b/chromecast/common/mojom/application_media_capabilities.typemap deleted file mode 100644 index ce108e0..0000000 --- a/chromecast/common/mojom/application_media_capabilities.typemap +++ /dev/null
@@ -1,20 +0,0 @@ -# Copyright 2019 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -mojom = "//chromecast/common/mojom/application_media_capabilities.mojom" - -public_headers = [ "//chromecast/base/bitstream_audio_codecs.h" ] - -traits_headers = - [ "//chromecast/common/mojom/application_media_capabilities_traits.h" ] - -sources = [ - "//chromecast/common/mojom/application_media_capabilities_traits.h", -] - -public_deps = [ - "//chromecast/base", -] - -type_mappings = [ "chromecast.shell.mojom.BitstreamAudioCodecsInfo=::chromecast::BitstreamAudioCodecsInfo" ]
diff --git a/chromecast/common/mojom/application_media_capabilities_traits.h b/chromecast/common/mojom/application_media_capabilities_traits.h index c9dfbe7..fd64423 100644 --- a/chromecast/common/mojom/application_media_capabilities_traits.h +++ b/chromecast/common/mojom/application_media_capabilities_traits.h
@@ -6,6 +6,7 @@ #define CHROMECAST_COMMON_MOJOM_APPLICATION_MEDIA_CAPABILITIES_TRAITS_H_ #include "chromecast/base/bitstream_audio_codecs.h" +#include "chromecast/common/mojom/application_media_capabilities.mojom-shared.h" #include "mojo/public/cpp/bindings/struct_traits.h" namespace mojo {
diff --git a/chromecast/common/mojom/multiroom.typemap b/chromecast/common/mojom/multiroom.typemap deleted file mode 100644 index 77253f0e..0000000 --- a/chromecast/common/mojom/multiroom.typemap +++ /dev/null
@@ -1,20 +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. - -mojom = "//chromecast/common/mojom/multiroom.mojom" - -public_headers = [ "//chromecast/public/media/media_pipeline_device_params.h" ] - -traits_headers = [ "//chromecast/common/mojom/multiroom_mojom_traits.h" ] - -sources = [ - "//chromecast/common/mojom/multiroom_mojom_traits.h", -] - -public_deps = [ - "//chromecast/public/media", -] - -type_mappings = - [ "chromecast.mojom.AudioChannel=::chromecast::media::AudioChannel" ]
diff --git a/chromecast/common/mojom/multiroom_mojom_traits.h b/chromecast/common/mojom/multiroom_mojom_traits.h index 1bdb501..7c0ce9b 100644 --- a/chromecast/common/mojom/multiroom_mojom_traits.h +++ b/chromecast/common/mojom/multiroom_mojom_traits.h
@@ -7,7 +7,7 @@ #include "base/check.h" #include "base/notreached.h" -#include "chromecast/common/mojom/multiroom.mojom.h" +#include "chromecast/common/mojom/multiroom.mojom-shared.h" #include "chromecast/public/media/media_pipeline_device_params.h" #include "mojo/public/cpp/bindings/enum_traits.h"
diff --git a/chromecast/media/mojom/BUILD.gn b/chromecast/media/mojom/BUILD.gn index e5afa94..1a33c5b 100644 --- a/chromecast/media/mojom/BUILD.gn +++ b/chromecast/media/mojom/BUILD.gn
@@ -4,4 +4,37 @@ mojom("mojom") { sources = [ "media_types.mojom" ] + cpp_typemaps = [ + { + types = [ + { + mojom = "chromecast.media.mojom.AudioCodec" + cpp = "::chromecast::media::AudioCodec" + }, + { + mojom = "chromecast.media.mojom.ChannelLayout" + cpp = "::chromecast::media::ChannelLayout" + }, + { + mojom = "chromecast.media.mojom.SampleFormat" + cpp = "::chromecast::media::SampleFormat" + }, + { + mojom = "chromecast.media.mojom.StreamId" + cpp = "::chromecast::media::StreamId" + }, + { + mojom = "chromecast.media.mojom.EncryptionScheme" + cpp = "::chromecast::media::EncryptionScheme" + }, + { + mojom = "chromecast.media.mojom.AudioConfig" + cpp = "::chromecast::media::AudioConfig" + }, + ] + traits_headers = [ "decoder_config_mojom_traits.h" ] + traits_sources = [ "decoder_config_mojom_traits.cc" ] + traits_public_deps = [ "//chromecast/public/media" ] + }, + ] }
diff --git a/chromecast/media/mojom/decoder_config.typemap b/chromecast/media/mojom/decoder_config.typemap deleted file mode 100644 index 5654fe6..0000000 --- a/chromecast/media/mojom/decoder_config.typemap +++ /dev/null
@@ -1,26 +0,0 @@ -# Copyright 2020 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -mojom = "//chromecast/media/mojom/media_types.mojom" - -public_headers = [ "//chromecast/public/media/decoder_config.h" ] - -traits_headers = [ "//chromecast/media/mojom/decoder_config_mojom_traits.h" ] - -sources = [ "//chromecast/media/mojom/decoder_config_mojom_traits.cc" ] - -public_deps = [ - "//base", - "//chromecast/public/media", -] - -# See media_types.typemap for enum mappings. -type_mappings = [ - "chromecast.media.mojom.AudioCodec=::chromecast::media::AudioCodec", - "chromecast.media.mojom.ChannelLayout=::chromecast::media::ChannelLayout", - "chromecast.media.mojom.SampleFormat=::chromecast::media::SampleFormat", - "chromecast.media.mojom.StreamId=::chromecast::media::StreamId", - "chromecast.media.mojom.EncryptionScheme=::chromecast::media::EncryptionScheme", - "chromecast.media.mojom.AudioConfig=::chromecast::media::AudioConfig", -]
diff --git a/chromecast/media/mojom/decoder_config_mojom_traits.h b/chromecast/media/mojom/decoder_config_mojom_traits.h index de222470..2907046 100644 --- a/chromecast/media/mojom/decoder_config_mojom_traits.h +++ b/chromecast/media/mojom/decoder_config_mojom_traits.h
@@ -5,7 +5,7 @@ #ifndef CHROMECAST_MEDIA_MOJOM_DECODER_CONFIG_MOJOM_TRAITS_H_ #define CHROMECAST_MEDIA_MOJOM_DECODER_CONFIG_MOJOM_TRAITS_H_ -#include "chromecast/media/mojom/media_types.mojom.h" +#include "chromecast/media/mojom/media_types.mojom-shared.h" #include "chromecast/public/media/decoder_config.h" namespace mojo {
diff --git a/chromecast/typemaps.gni b/chromecast/typemaps.gni deleted file mode 100644 index d5c19d3..0000000 --- a/chromecast/typemaps.gni +++ /dev/null
@@ -1,16 +0,0 @@ -# Copyright 2019 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -import("//build/config/chromecast_build.gni") - -typemaps = [ - "//chromecast/common/mojom/application_media_capabilities.typemap", - "//chromecast/common/mojom/multiroom.typemap", - "//chromecast/media/mojom/decoder_config.typemap", -] - -if (chromecast_branding != "public") { - _typemap_internal = read_file("//chromecast/internal/typemaps.gni", "scope") - typemaps += _typemap_internal.typemaps -}
diff --git a/chromeos/BUILD.gn b/chromeos/BUILD.gn index 5f7121c..72d17fb 100644 --- a/chromeos/BUILD.gn +++ b/chromeos/BUILD.gn
@@ -283,24 +283,6 @@ tast_test("chrome_all_tast_tests") { # To disable a specific test, add it the following list and cite a bug. tast_disabled_tests = [ - # crbug.com/1123300 - "crostini.Basic.artifact", - "crostini.PackageInfo.artifact", - "crostini.PackageInstallUninstall.artifact", - "crostini.Sanity.artifact", - "crostini.SecureCopyPaste.copy_wayland_artifact", - "crostini.SecureCopyPaste.copy_x11_artifact", - "crostini.SecureCopyPaste.paste_wayland_artifact", - "crostini.SecureCopyPaste.paste_x11_artifact", - "crostini.Toolkit.gtk3_wayland", - "crostini.Toolkit.gtk3_x11", - "crostini.Toolkit.qt5", - "crostini.Toolkit.tkinter", - "crostini.UninstallInvalidApp.artifact", - "crostini.VerifyAppWayland.artifact", - "crostini.VerifyAppX11.artifact", - "crostini.Webserver.artifact", - # crbug.com/1115622 "ui.ChromeLoginGAIA", "inputs.VirtualKeyboardOOBE",
diff --git a/chromeos/CHROMEOS_LKGM b/chromeos/CHROMEOS_LKGM index 4588056..f0c990c 100644 --- a/chromeos/CHROMEOS_LKGM +++ b/chromeos/CHROMEOS_LKGM
@@ -1 +1 @@ -13470.0.0 \ No newline at end of file +13471.0.0 \ No newline at end of file
diff --git a/chromeos/components/drivefs/OWNERS b/chromeos/components/drivefs/OWNERS index ba9c1e0..4f56037 100644 --- a/chromeos/components/drivefs/OWNERS +++ b/chromeos/components/drivefs/OWNERS
@@ -4,6 +4,4 @@ per-file *_mojom_traits*.*=set noparent per-file *_mojom_traits*.*=file://ipc/SECURITY_OWNERS -per-file *.typemap=set noparent -per-file *.typemap=file://ipc/SECURITY_OWNERS # COMPONENT: Platform>Apps>FileManager
diff --git a/chromeos/components/drivefs/drivefs.typemap b/chromeos/components/drivefs/drivefs.typemap deleted file mode 100644 index 526a014f..0000000 --- a/chromeos/components/drivefs/drivefs.typemap +++ /dev/null
@@ -1,16 +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. - -mojom = "//chromeos/components/drivefs/mojom/drivefs.mojom" -public_headers = [ "//components/drive/file_errors.h" ] -traits_headers = [ "//chromeos/components/drivefs/drivefs_mojom_traits.h" ] -sources = [ - "//chromeos/components/drivefs/drivefs_mojom_traits.cc", - "//chromeos/components/drivefs/drivefs_mojom_traits.h", -] -deps = [ - "//components/drive", -] - -type_mappings = [ "drivefs.mojom.FileError=::drive::FileError" ]
diff --git a/chromeos/components/drivefs/mojom/BUILD.gn b/chromeos/components/drivefs/mojom/BUILD.gn index da94d12..f42888a 100644 --- a/chromeos/components/drivefs/mojom/BUILD.gn +++ b/chromeos/components/drivefs/mojom/BUILD.gn
@@ -14,4 +14,23 @@ output_prefix = "drivefs_mojom" macro_prefix = "DRIVEFS_MOJOM" + + cpp_typemaps = [ + { + types = [ + { + mojom = "drivefs.mojom.FileError" + cpp = "::drive::FileError" + }, + ] + traits_headers = + [ "//chromeos/components/drivefs/drivefs_mojom_traits.h" ] + traits_sources = + [ "//chromeos/components/drivefs/drivefs_mojom_traits.cc" ] + traits_public_deps = [ + "//base", + "//components/drive", + ] + }, + ] }
diff --git a/chromeos/components/multidevice/BUILD.gn b/chromeos/components/multidevice/BUILD.gn index 75bba77..7d8732d 100644 --- a/chromeos/components/multidevice/BUILD.gn +++ b/chromeos/components/multidevice/BUILD.gn
@@ -31,9 +31,13 @@ "//base:i18n", "//chromeos/components/multidevice/logging", "//chromeos/dbus", - "//chromeos/services/device_sync/proto", "//chromeos/services/device_sync/proto:util", "//components/prefs", + ] + + public_deps = [ + "//base", + "//chromeos/services/device_sync/proto", "//third_party/securemessage/proto", ] }
diff --git a/chromeos/components/multidevice/mojom/BUILD.gn b/chromeos/components/multidevice/mojom/BUILD.gn index a760830..b8ea6e2f 100644 --- a/chromeos/components/multidevice/mojom/BUILD.gn +++ b/chromeos/components/multidevice/mojom/BUILD.gn
@@ -6,8 +6,36 @@ mojom("mojom") { sources = [ "multidevice_types.mojom" ] - public_deps = [ "//mojo/public/mojom/base" ] + cpp_typemaps = [ + { + types = [ + { + mojom = "chromeos.multidevice.mojom.BeaconSeed" + cpp = "::chromeos::multidevice::BeaconSeed" + }, + { + mojom = "chromeos.multidevice.mojom.RemoteDevice" + cpp = "::chromeos::multidevice::RemoteDevice" + }, + { + mojom = "chromeos.multidevice.mojom.SoftwareFeature" + cpp = "::chromeos::multidevice::SoftwareFeature" + }, + ] + traits_headers = [ "multidevice_mojom_traits.h" ] + traits_sources = [ "multidevice_mojom_traits.cc" ] + traits_public_deps = [ + "//base", + "//chromeos/components/multidevice", + ] + traits_deps = [ + "//chromeos/components/multidevice/logging", + "//chromeos/services/device_sync/proto", + "//device/bluetooth/public/cpp", + ] + }, + ] } source_set("unit_tests") {
diff --git a/chromeos/components/multidevice/mojom/OWNERS b/chromeos/components/multidevice/mojom/OWNERS index ae29a36aa..1feb514 100644 --- a/chromeos/components/multidevice/mojom/OWNERS +++ b/chromeos/components/multidevice/mojom/OWNERS
@@ -2,5 +2,3 @@ per-file *.mojom=file://ipc/SECURITY_OWNERS per-file *_mojom_traits*.*=set noparent per-file *_mojom_traits*.*=file://ipc/SECURITY_OWNERS -per-file *.typemap=set noparent -per-file *.typemap=file://ipc/SECURITY_OWNERS
diff --git a/chromeos/components/multidevice/mojom/multidevice.typemap b/chromeos/components/multidevice/mojom/multidevice.typemap deleted file mode 100644 index f0ffd8e..0000000 --- a/chromeos/components/multidevice/mojom/multidevice.typemap +++ /dev/null
@@ -1,32 +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. - -mojom = "//chromeos/components/multidevice/mojom/multidevice_types.mojom" - -public_headers = [ - "//chromeos/components/multidevice/beacon_seed.h", - "//chromeos/components/multidevice/remote_device.h", - "//chromeos/components/multidevice/software_feature.h", -] - -traits_headers = - [ "//chromeos/components/multidevice/mojom/multidevice_mojom_traits.h" ] - -sources = [ - "//chromeos/components/multidevice/mojom/multidevice_mojom_traits.cc", - "//chromeos/components/multidevice/mojom/multidevice_mojom_traits.h", -] - -public_deps = [ - "//chromeos/components/multidevice", - "//chromeos/components/multidevice/logging", - "//chromeos/services/device_sync/proto", - "//device/bluetooth/public/cpp", -] - -type_mappings = [ - "chromeos.multidevice.mojom.BeaconSeed=::chromeos::multidevice::BeaconSeed", - "chromeos.multidevice.mojom.RemoteDevice=::chromeos::multidevice::RemoteDevice", - "chromeos.multidevice.mojom.SoftwareFeature=::chromeos::multidevice::SoftwareFeature", -]
diff --git a/chromeos/components/multidevice/mojom/multidevice_mojom_traits.h b/chromeos/components/multidevice/mojom/multidevice_mojom_traits.h index 37e66d1..31e5a1d 100644 --- a/chromeos/components/multidevice/mojom/multidevice_mojom_traits.h +++ b/chromeos/components/multidevice/mojom/multidevice_mojom_traits.h
@@ -10,7 +10,7 @@ #include "base/time/time.h" #include "chromeos/components/multidevice/beacon_seed.h" -#include "chromeos/components/multidevice/mojom/multidevice_types.mojom.h" +#include "chromeos/components/multidevice/mojom/multidevice_types.mojom-shared.h" #include "chromeos/components/multidevice/remote_device.h" #include "chromeos/components/multidevice/software_feature.h" #include "chromeos/components/multidevice/software_feature_state.h"
diff --git a/chromeos/components/multidevice/mojom/typemaps.gni b/chromeos/components/multidevice/mojom/typemaps.gni deleted file mode 100644 index 27fc7e2..0000000 --- a/chromeos/components/multidevice/mojom/typemaps.gni +++ /dev/null
@@ -1,5 +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. - -typemaps = [ "//chromeos/components/multidevice/mojom/multidevice.typemap" ]
diff --git a/chromeos/components/phonehub/BUILD.gn b/chromeos/components/phonehub/BUILD.gn index 93a346a..736d418 100644 --- a/chromeos/components/phonehub/BUILD.gn +++ b/chromeos/components/phonehub/BUILD.gn
@@ -14,6 +14,9 @@ "connection_manager.h", "connection_manager_impl.cc", "connection_manager_impl.h", + "connection_scheduler.h", + "connection_scheduler_impl.cc", + "connection_scheduler_impl.h", "do_not_disturb_controller.cc", "do_not_disturb_controller.h", "do_not_disturb_controller_impl.cc", @@ -72,6 +75,7 @@ "//components/keyed_service/core", "//components/prefs", "//device/bluetooth", + "//net", "//ui/gfx", "//url", ] @@ -80,6 +84,8 @@ # Sources only include files used in the debug UI. static_library("debug") { sources = [ + "fake_connection_scheduler.cc", + "fake_connection_scheduler.h", "fake_do_not_disturb_controller.cc", "fake_do_not_disturb_controller.h", "fake_feature_status_provider.cc", @@ -127,6 +133,7 @@ sources = [ "browser_tabs_model_unittest.cc", "connection_manager_impl_unittest.cc", + "connection_scheduler_impl_unittest.cc", "do_not_disturb_controller_impl_unittest.cc", "feature_status_provider_impl_unittest.cc", "find_my_device_controller_impl_unittest.cc",
diff --git a/chromeos/components/phonehub/DEPS b/chromeos/components/phonehub/DEPS index a1c284e..1284dd8 100644 --- a/chromeos/components/phonehub/DEPS +++ b/chromeos/components/phonehub/DEPS
@@ -6,5 +6,6 @@ "+components/keyed_service/core/keyed_service.h", "+components/prefs", "+device/bluetooth", + "+net", "+ui/gfx", ]
diff --git a/chromeos/components/phonehub/connection_scheduler.h b/chromeos/components/phonehub/connection_scheduler.h new file mode 100644 index 0000000..8508fa5 --- /dev/null +++ b/chromeos/components/phonehub/connection_scheduler.h
@@ -0,0 +1,31 @@ +// Copyright 2020 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef CHROMEOS_COMPONENTS_PHONEHUB_CONNECTION_SCHEDULER_H_ +#define CHROMEOS_COMPONENTS_PHONEHUB_CONNECTION_SCHEDULER_H_ + +namespace chromeos { +namespace phonehub { + +// Responsible for requesting connection from the local device +// (e.g. this chromebook) to the user's phone. Will also attempt to connect +// whenever possible and retries upon error with exponential backoff. +class ConnectionScheduler { + public: + ConnectionScheduler(const ConnectionScheduler&) = delete; + ConnectionScheduler& operator=(const ConnectionScheduler&) = delete; + virtual ~ConnectionScheduler() = default; + + // Attempts a connection immediately, will be exponentially backed-off upon + // failing to establish a connection. + virtual void ScheduleConnectionNow() = 0; + + protected: + ConnectionScheduler() = default; +}; + +} // namespace phonehub +} // namespace chromeos + +#endif // CHROMEOS_COMPONENTS_PHONEHUB_CONNECTION_SCHEDULER_H_ \ No newline at end of file
diff --git a/chromeos/components/phonehub/connection_scheduler_impl.cc b/chromeos/components/phonehub/connection_scheduler_impl.cc new file mode 100644 index 0000000..87ef8905 --- /dev/null +++ b/chromeos/components/phonehub/connection_scheduler_impl.cc
@@ -0,0 +1,128 @@ +// Copyright 2020 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "chromeos/components/phonehub/connection_scheduler_impl.h" + +#include "base/bind.h" +#include "base/threading/sequenced_task_runner_handle.h" +#include "chromeos/components/multidevice/logging/logging.h" +#include "chromeos/components/phonehub/connection_manager.h" +#include "chromeos/components/phonehub/feature_status.h" + +namespace chromeos { +namespace phonehub { + +constexpr net::BackoffEntry::Policy kRetryBackoffPolicy = { + 0, // Number of initial errors to ignore. + 10 * 1000, // Initial delay of 10 seconds in ms. + 2.0, // Factor by which the waiting time will be multiplied. + 0.2, // Fuzzing percentage. + 60 * 60 * 1000, // Maximum delay of 1 hour in ms. + -1, // Never discard the entry. + true, // Use initial delay. +}; + +ConnectionSchedulerImpl::ConnectionSchedulerImpl( + ConnectionManager* connection_manager, + FeatureStatusProvider* feature_status_provider) + : connection_manager_(connection_manager), + feature_status_provider_(feature_status_provider), + retry_backoff_(&kRetryBackoffPolicy) { + DCHECK(connection_manager_); + DCHECK(feature_status_provider_); + + current_feature_status_ = feature_status_provider_->GetStatus(); + feature_status_provider_->AddObserver(this); +} + +ConnectionSchedulerImpl::~ConnectionSchedulerImpl() { + feature_status_provider_->RemoveObserver(this); + weak_ptr_factory_.InvalidateWeakPtrs(); +} + +void ConnectionSchedulerImpl::ScheduleConnectionNow() { + if (feature_status_provider_->GetStatus() != + FeatureStatus::kEnabledButDisconnected) { + PA_LOG(WARNING) << "ScheduleConnectionNow() could not request a connection " + << "attempt because the current status is: " + << feature_status_provider_->GetStatus() << "."; + return; + } + + connection_manager_->AttemptConnection(); +} + +void ConnectionSchedulerImpl::OnFeatureStatusChanged() { + const FeatureStatus previous_feature_status = current_feature_status_; + current_feature_status_ = feature_status_provider_->GetStatus(); + + switch (current_feature_status_) { + // The following states indicate either the feature state of the devices + // changed or if a connection is established between the devices. In the + // case where the feature state has been changed, we do not want to + // schedule a new connection attempt until the devices are available to + // connect. If a connection is established, we also do not want to schedule + // a new connection. Reset the backoff and return early. + case FeatureStatus::kNotEligibleForFeature: + FALLTHROUGH; + case FeatureStatus::kEligiblePhoneButNotSetUp: + FALLTHROUGH; + case FeatureStatus::kPhoneSelectedAndPendingSetup: + FALLTHROUGH; + case FeatureStatus::kDisabled: + FALLTHROUGH; + case FeatureStatus::kUnavailableBluetoothOff: + FALLTHROUGH; + case FeatureStatus::kEnabledAndConnected: + ClearBackoffAttempts(); + return; + + // Connection in progress, waiting for the next status update. + case FeatureStatus::kEnabledAndConnecting: + return; + + // Phone is available for connection, attempt to establish connection. + case FeatureStatus::kEnabledButDisconnected: + break; + } + + if (previous_feature_status == FeatureStatus::kEnabledAndConnecting) { + PA_LOG(WARNING) << "Scheduling connection to retry in: " + << retry_backoff_.GetTimeUntilRelease().InSeconds() + << " seconds."; + + retry_backoff_.InformOfRequest(/*succeeded=*/false); + base::SequencedTaskRunnerHandle::Get()->PostDelayedTask( + FROM_HERE, + base::BindOnce(&ConnectionSchedulerImpl::ScheduleConnectionNow, + weak_ptr_factory_.GetWeakPtr()), + retry_backoff_.GetTimeUntilRelease()); + } else { + PA_LOG(VERBOSE) << "Feature status has been updated to " + << "kEnabledButDisconnected, scheduling connection now."; + // Schedule connection now without a delay. + ScheduleConnectionNow(); + } +} + +void ConnectionSchedulerImpl::ClearBackoffAttempts() { + // Remove all pending ScheduleConnectionNow() backoff attempts. + weak_ptr_factory_.InvalidateWeakPtrs(); + + // Reset the state of the backoff so that the next backoff retry starts at + // the default initial delay. + retry_backoff_.Reset(); +} + +base::TimeDelta +ConnectionSchedulerImpl::GetCurrentBackoffDelayTimeForTesting() { + return retry_backoff_.GetTimeUntilRelease(); +} + +int ConnectionSchedulerImpl::GetBackoffFailureCountForTesting() { + return retry_backoff_.failure_count(); +} + +} // namespace phonehub +} // namespace chromeos
diff --git a/chromeos/components/phonehub/connection_scheduler_impl.h b/chromeos/components/phonehub/connection_scheduler_impl.h new file mode 100644 index 0000000..34bb62f9 --- /dev/null +++ b/chromeos/components/phonehub/connection_scheduler_impl.h
@@ -0,0 +1,55 @@ +// Copyright 2020 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef CHROMEOS_COMPONENTS_PHONEHUB_CONNECTION_SCHEDULER_IMPL_H_ +#define CHROMEOS_COMPONENTS_PHONEHUB_CONNECTION_SCHEDULER_IMPL_H_ + +#include "base/memory/weak_ptr.h" +#include "base/time/time.h" +#include "chromeos/components/phonehub/connection_scheduler.h" +#include "chromeos/components/phonehub/feature_status.h" +#include "chromeos/components/phonehub/feature_status_provider.h" +#include "net/base/backoff_entry.h" + +namespace chromeos { +namespace phonehub { + +class ConnectionManager; + +// ConnectionScheduler implementation that schedules calls to ConnectionManager +// in order to establish a connection to the user's phone. +class ConnectionSchedulerImpl : public ConnectionScheduler, + public FeatureStatusProvider::Observer { + public: + ConnectionSchedulerImpl(ConnectionManager* connection_manager, + FeatureStatusProvider* feature_status_provider); + ~ConnectionSchedulerImpl() override; + + void ScheduleConnectionNow() override; + + private: + friend class ConnectionSchedulerImplTest; + + // FeatureStatusProvider::Observer: + void OnFeatureStatusChanged() override; + + // Invalidate all pending backoff attempts. + void ClearBackoffAttempts(); + + // Test only functions. + base::TimeDelta GetCurrentBackoffDelayTimeForTesting(); + int GetBackoffFailureCountForTesting(); + + ConnectionManager* connection_manager_; + FeatureStatusProvider* feature_status_provider_; + // Provides us the backoff timers for RequestConnection(). + net::BackoffEntry retry_backoff_; + FeatureStatus current_feature_status_; + base::WeakPtrFactory<ConnectionSchedulerImpl> weak_ptr_factory_{this}; +}; + +} // namespace phonehub +} // namespace chromeos + +#endif // CHROMEOS_COMPONENTS_PHONEHUB_CONNECTION_SCHEDULER_IMPL_H_ \ No newline at end of file
diff --git a/chromeos/components/phonehub/connection_scheduler_impl_unittest.cc b/chromeos/components/phonehub/connection_scheduler_impl_unittest.cc new file mode 100644 index 0000000..24422d3d --- /dev/null +++ b/chromeos/components/phonehub/connection_scheduler_impl_unittest.cc
@@ -0,0 +1,171 @@ +// Copyright 2020 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "chromeos/components/phonehub/connection_scheduler_impl.h" + +#include <memory> + +#include "base/macros.h" +#include "base/test/task_environment.h" +#include "base/time/time.h" +#include "chromeos/components/phonehub/connection_manager.h" +#include "chromeos/components/phonehub/fake_connection_manager.h" +#include "chromeos/components/phonehub/fake_feature_status_provider.h" +#include "chromeos/components/phonehub/feature_status.h" +#include "testing/gtest/include/gtest/gtest.h" + +namespace chromeos { +namespace phonehub { + +class ConnectionSchedulerImplTest : public testing::Test { + protected: + ConnectionSchedulerImplTest() = default; + ConnectionSchedulerImplTest(const ConnectionSchedulerImplTest&) = delete; + ConnectionSchedulerImplTest& operator=(const ConnectionSchedulerImplTest&) = + delete; + ~ConnectionSchedulerImplTest() override = default; + + void SetUp() override { + fake_connection_manager_ = std::make_unique<FakeConnectionManager>(); + fake_feature_status_provider_ = + std::make_unique<FakeFeatureStatusProvider>(); + } + + void CreateConnectionScheduler() { + connection_scheduler_ = std::make_unique<ConnectionSchedulerImpl>( + fake_connection_manager_.get(), fake_feature_status_provider_.get()); + } + + base::TimeDelta GetCurrentBackoffDelay() { + return connection_scheduler_->GetCurrentBackoffDelayTimeForTesting(); + } + + int GetBackoffFailureCount() { + return connection_scheduler_->GetBackoffFailureCountForTesting(); + } + + base::test::TaskEnvironment task_environment_{ + base::test::TaskEnvironment::TimeSource::MOCK_TIME}; + std::unique_ptr<FakeConnectionManager> fake_connection_manager_; + std::unique_ptr<FakeFeatureStatusProvider> fake_feature_status_provider_; + std::unique_ptr<ConnectionSchedulerImpl> connection_scheduler_; +}; + +TEST_F(ConnectionSchedulerImplTest, SuccesssfullyAttemptConnection) { + fake_feature_status_provider_->SetStatus( + FeatureStatus::kEnabledButDisconnected); + CreateConnectionScheduler(); + + connection_scheduler_->ScheduleConnectionNow(); + // Verify that the ConnectionManager has attempted to connect. + EXPECT_EQ(1u, fake_connection_manager_->num_attempt_connection_calls()); + + // Simulate state changes with AttemptConnection(). + fake_feature_status_provider_->SetStatus( + FeatureStatus::kEnabledAndConnecting); + fake_feature_status_provider_->SetStatus(FeatureStatus::kEnabledAndConnected); + // Verify only 1 call to AttemptConnection() was ever made. + EXPECT_EQ(1u, fake_connection_manager_->num_attempt_connection_calls()); + // Verify that we did not attempt a backoff retry. + EXPECT_EQ(0, GetBackoffFailureCount()); +} + +TEST_F(ConnectionSchedulerImplTest, FeatureDisabledDoesNotEstablishConnection) { + fake_feature_status_provider_->SetStatus(FeatureStatus::kDisabled); + CreateConnectionScheduler(); + + connection_scheduler_->ScheduleConnectionNow(); + // Verify that the ConnectionManager did not attempt connection. + EXPECT_EQ(0u, fake_connection_manager_->num_attempt_connection_calls()); + // Verify that we did not attempt a backoff retry. + EXPECT_EQ(0, GetBackoffFailureCount()); +} + +TEST_F(ConnectionSchedulerImplTest, BackoffRetryWithUpdatedConnection) { + fake_feature_status_provider_->SetStatus( + FeatureStatus::kEnabledButDisconnected); + CreateConnectionScheduler(); + + connection_scheduler_->ScheduleConnectionNow(); + EXPECT_EQ(1u, fake_connection_manager_->num_attempt_connection_calls()); + // Simulate state changes with AttemptConnection(). + fake_feature_status_provider_->SetStatus( + FeatureStatus::kEnabledAndConnecting); + fake_feature_status_provider_->SetStatus( + FeatureStatus::kEnabledButDisconnected); + EXPECT_EQ(1, GetBackoffFailureCount()); + + // Move forward time to the next backoff retry with disconnected status. + task_environment_.FastForwardBy(GetCurrentBackoffDelay()); + EXPECT_EQ(2u, fake_connection_manager_->num_attempt_connection_calls()); + fake_feature_status_provider_->SetStatus( + FeatureStatus::kEnabledAndConnecting); + fake_feature_status_provider_->SetStatus( + FeatureStatus::kEnabledButDisconnected); + EXPECT_EQ(2, GetBackoffFailureCount()); + + // Move forward time to the next backoff retry, this time with connected + // status. + task_environment_.FastForwardBy(GetCurrentBackoffDelay()); + EXPECT_EQ(3u, fake_connection_manager_->num_attempt_connection_calls()); + fake_feature_status_provider_->SetStatus( + FeatureStatus::kEnabledAndConnecting); + fake_feature_status_provider_->SetStatus(FeatureStatus::kEnabledAndConnected); + // Expected no more backoff failures since connection is now established. + EXPECT_EQ(0, GetBackoffFailureCount()); + + // Fast forward time and confirm no other retries have been made. + task_environment_.FastForwardBy(base::TimeDelta::FromSeconds(100)); + EXPECT_EQ(3u, fake_connection_manager_->num_attempt_connection_calls()); + EXPECT_EQ(0, GetBackoffFailureCount()); + EXPECT_EQ(FeatureStatus::kEnabledAndConnected, + fake_feature_status_provider_->GetStatus()); +} + +TEST_F(ConnectionSchedulerImplTest, BackoffRetryWithUpdatedFeatures) { + fake_feature_status_provider_->SetStatus( + FeatureStatus::kEnabledButDisconnected); + CreateConnectionScheduler(); + + connection_scheduler_->ScheduleConnectionNow(); + EXPECT_EQ(1u, fake_connection_manager_->num_attempt_connection_calls()); + // Simulate state changes with AttemptConnection(). + fake_feature_status_provider_->SetStatus( + FeatureStatus::kEnabledAndConnecting); + fake_feature_status_provider_->SetStatus( + FeatureStatus::kEnabledButDisconnected); + EXPECT_EQ(1, GetBackoffFailureCount()); + + // Simulate the feature status switched to disabled. + fake_feature_status_provider_->SetStatus(FeatureStatus::kDisabled); + // Expect the backoff to reset and never attempt to kickoff another + // connection. + EXPECT_EQ(0, GetBackoffFailureCount()); + EXPECT_EQ(1u, fake_connection_manager_->num_attempt_connection_calls()); + + // Fast forward time and confirm no other retries have been made. + task_environment_.FastForwardBy(base::TimeDelta::FromSeconds(100)); + EXPECT_EQ(0, GetBackoffFailureCount()); + EXPECT_EQ(1u, fake_connection_manager_->num_attempt_connection_calls()); + + // Simulate the feature re-enabled and the connection kickoff should start. + fake_feature_status_provider_->SetStatus( + FeatureStatus::kEnabledButDisconnected); + // The next ScheduleConnection() was not caused by a previous failure, expect + // backoff failure count to not increase. + EXPECT_EQ(0, GetBackoffFailureCount()); + + // Move forward in time and confirm backoff attempted another retry. + task_environment_.FastForwardBy(GetCurrentBackoffDelay()); + EXPECT_EQ(2u, fake_connection_manager_->num_attempt_connection_calls()); + fake_feature_status_provider_->SetStatus( + FeatureStatus::kEnabledAndConnecting); + fake_feature_status_provider_->SetStatus( + FeatureStatus::kEnabledButDisconnected); + // The next ScheduleConnection() was caused by a previous failure, expect 1 + // failure count. + EXPECT_EQ(1, GetBackoffFailureCount()); +} +} // namespace phonehub +} // namespace chromeos \ No newline at end of file
diff --git a/chromeos/components/phonehub/fake_connection_manager.cc b/chromeos/components/phonehub/fake_connection_manager.cc index 8781e977f..943de64 100644 --- a/chromeos/components/phonehub/fake_connection_manager.cc +++ b/chromeos/components/phonehub/fake_connection_manager.cc
@@ -25,6 +25,7 @@ } void FakeConnectionManager::AttemptConnection() { + ++num_attempt_connection_calls_; if (status_ == Status::kDisconnected) SetStatus(Status::kConnecting); }
diff --git a/chromeos/components/phonehub/fake_connection_manager.h b/chromeos/components/phonehub/fake_connection_manager.h index 081c81b..5126d58 100644 --- a/chromeos/components/phonehub/fake_connection_manager.h +++ b/chromeos/components/phonehub/fake_connection_manager.h
@@ -22,6 +22,9 @@ const std::vector<std::string>& sent_messages() const { return sent_messages_; } + size_t num_attempt_connection_calls() const { + return num_attempt_connection_calls_; + } private: // ConnectionManager: @@ -31,6 +34,7 @@ Status status_; std::vector<std::string> sent_messages_; + size_t num_attempt_connection_calls_ = 0; }; } // namespace phonehub
diff --git a/chromeos/components/phonehub/fake_connection_scheduler.cc b/chromeos/components/phonehub/fake_connection_scheduler.cc new file mode 100644 index 0000000..f8b4a38 --- /dev/null +++ b/chromeos/components/phonehub/fake_connection_scheduler.cc
@@ -0,0 +1,18 @@ +// Copyright 2020 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "chromeos/components/phonehub/fake_connection_scheduler.h" + +namespace chromeos { +namespace phonehub { + +FakeConnectionScheduler::FakeConnectionScheduler() = default; +FakeConnectionScheduler::~FakeConnectionScheduler() = default; + +void FakeConnectionScheduler::ScheduleConnectionNow() { + ++num_schedule_connection_now_calls_; +} + +} // namespace phonehub +} // namespace chromeos
diff --git a/chromeos/components/phonehub/fake_connection_scheduler.h b/chromeos/components/phonehub/fake_connection_scheduler.h new file mode 100644 index 0000000..6bc1a662 --- /dev/null +++ b/chromeos/components/phonehub/fake_connection_scheduler.h
@@ -0,0 +1,34 @@ +// Copyright 2020 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef CHROMEOS_COMPONENTS_PHONEHUB_FAKE_CONNECTION_SCHEDULER_H_ +#define CHROMEOS_COMPONENTS_PHONEHUB_FAKE_CONNECTION_SCHEDULER_H_ + +#include <memory> + +#include "chromeos/components/phonehub/connection_scheduler.h" + +namespace chromeos { +namespace phonehub { + +class FakeConnectionScheduler : public ConnectionScheduler { + public: + FakeConnectionScheduler(); + ~FakeConnectionScheduler() override; + + size_t num_schedule_connection_now_calls() const { + return num_schedule_connection_now_calls_; + } + + private: + // ConnectionScheduler: + void ScheduleConnectionNow() override; + + size_t num_schedule_connection_now_calls_; +}; + +} // namespace phonehub +} // namespace chromeos + +#endif // CHROMEOS_COMPONENTS_PHONEHUB_FAKE_CONNECTION_SCHEDULER_H_ \ No newline at end of file
diff --git a/chromeos/components/phonehub/fake_phone_hub_manager.cc b/chromeos/components/phonehub/fake_phone_hub_manager.cc index 591ff3d..a7a830a 100644 --- a/chromeos/components/phonehub/fake_phone_hub_manager.cc +++ b/chromeos/components/phonehub/fake_phone_hub_manager.cc
@@ -43,5 +43,9 @@ return &fake_tether_controller_; } +ConnectionScheduler* FakePhoneHubManager::GetConnectionScheduler() { + return &fake_connection_scheduler_; +} + } // namespace phonehub } // namespace chromeos
diff --git a/chromeos/components/phonehub/fake_phone_hub_manager.h b/chromeos/components/phonehub/fake_phone_hub_manager.h index 1ee5e203..952591f 100644 --- a/chromeos/components/phonehub/fake_phone_hub_manager.h +++ b/chromeos/components/phonehub/fake_phone_hub_manager.h
@@ -7,6 +7,7 @@ #include <memory> +#include "chromeos/components/phonehub/fake_connection_scheduler.h" #include "chromeos/components/phonehub/fake_do_not_disturb_controller.h" #include "chromeos/components/phonehub/fake_feature_status_provider.h" #include "chromeos/components/phonehub/fake_find_my_device_controller.h" @@ -56,6 +57,10 @@ return &fake_tether_controller_; } + FakeConnectionScheduler* fake_connection_scheduler() { + return &fake_connection_scheduler_; + } + private: // PhoneHubManager: DoNotDisturbController* GetDoNotDisturbController() override; @@ -66,6 +71,7 @@ OnboardingUiTracker* GetOnboardingUiTracker() override; PhoneModel* GetPhoneModel() override; TetherController* GetTetherController() override; + ConnectionScheduler* GetConnectionScheduler() override; FakeDoNotDisturbController fake_do_not_disturb_controller_; FakeFeatureStatusProvider fake_feature_status_provider_; @@ -75,6 +81,7 @@ FakeOnboardingUiTracker fake_onboarding_ui_tracker_; MutablePhoneModel mutable_phone_model_; FakeTetherController fake_tether_controller_; + FakeConnectionScheduler fake_connection_scheduler_; }; } // namespace phonehub
diff --git a/chromeos/components/phonehub/phone_hub_manager.h b/chromeos/components/phonehub/phone_hub_manager.h index f25a614..4e394062 100644 --- a/chromeos/components/phonehub/phone_hub_manager.h +++ b/chromeos/components/phonehub/phone_hub_manager.h
@@ -8,6 +8,7 @@ namespace chromeos { namespace phonehub { +class ConnectionScheduler; class DoNotDisturbController; class FeatureStatusProvider; class FindMyDeviceController; @@ -27,6 +28,7 @@ PhoneHubManager& operator=(const PhoneHubManager&) = delete; // Getters for sub-elements. + virtual ConnectionScheduler* GetConnectionScheduler() = 0; virtual DoNotDisturbController* GetDoNotDisturbController() = 0; virtual FeatureStatusProvider* GetFeatureStatusProvider() = 0; virtual FindMyDeviceController* GetFindMyDeviceController() = 0;
diff --git a/chromeos/components/phonehub/phone_hub_manager_impl.cc b/chromeos/components/phonehub/phone_hub_manager_impl.cc index 0a364d23..a3e7bc3 100644 --- a/chromeos/components/phonehub/phone_hub_manager_impl.cc +++ b/chromeos/components/phonehub/phone_hub_manager_impl.cc
@@ -5,6 +5,7 @@ #include "chromeos/components/phonehub/phone_hub_manager_impl.h" #include "chromeos/components/phonehub/connection_manager_impl.h" +#include "chromeos/components/phonehub/connection_scheduler_impl.h" #include "chromeos/components/phonehub/do_not_disturb_controller_impl.h" #include "chromeos/components/phonehub/feature_status_provider_impl.h" #include "chromeos/components/phonehub/find_my_device_controller_impl.h" @@ -32,6 +33,9 @@ device_sync_client, multidevice_setup_client, connection_manager_.get())), + connection_scheduler_(std::make_unique<ConnectionSchedulerImpl>( + connection_manager_.get(), + feature_status_provider_.get())), find_my_device_controller_( std::make_unique<FindMyDeviceControllerImpl>()), notification_access_manager_( @@ -44,6 +48,10 @@ PhoneHubManagerImpl::~PhoneHubManagerImpl() = default; +ConnectionScheduler* PhoneHubManagerImpl::GetConnectionScheduler() { + return connection_scheduler_.get(); +} + DoNotDisturbController* PhoneHubManagerImpl::GetDoNotDisturbController() { return do_not_disturb_controller_.get(); } @@ -84,6 +92,7 @@ onboarding_ui_tracker_.reset(); notification_access_manager_.reset(); find_my_device_controller_.reset(); + connection_scheduler_.reset(); feature_status_provider_.reset(); connection_manager_.reset(); do_not_disturb_controller_.reset();
diff --git a/chromeos/components/phonehub/phone_hub_manager_impl.h b/chromeos/components/phonehub/phone_hub_manager_impl.h index 95525c1..c297fa6 100644 --- a/chromeos/components/phonehub/phone_hub_manager_impl.h +++ b/chromeos/components/phonehub/phone_hub_manager_impl.h
@@ -29,6 +29,7 @@ namespace phonehub { class ConnectionManager; +class ConnectionScheduler; // Implemented as a KeyedService which is keyed by the primary Profile. class PhoneHubManagerImpl : public PhoneHubManager, public KeyedService { @@ -41,6 +42,7 @@ ~PhoneHubManagerImpl() override; // PhoneHubManager: + ConnectionScheduler* GetConnectionScheduler() override; DoNotDisturbController* GetDoNotDisturbController() override; FeatureStatusProvider* GetFeatureStatusProvider() override; FindMyDeviceController* GetFindMyDeviceController() override; @@ -57,6 +59,7 @@ std::unique_ptr<DoNotDisturbController> do_not_disturb_controller_; std::unique_ptr<ConnectionManager> connection_manager_; std::unique_ptr<FeatureStatusProvider> feature_status_provider_; + std::unique_ptr<ConnectionScheduler> connection_scheduler_; std::unique_ptr<FindMyDeviceController> find_my_device_controller_; std::unique_ptr<NotificationAccessManager> notification_access_manager_; std::unique_ptr<NotificationManager> notification_manager_;
diff --git a/chromeos/components/smbfs/OWNERS b/chromeos/components/smbfs/OWNERS index bceac01..7dcaa391 100644 --- a/chromeos/components/smbfs/OWNERS +++ b/chromeos/components/smbfs/OWNERS
@@ -2,6 +2,4 @@ per-file *_mojom_traits*.*=set noparent per-file *_mojom_traits*.*=file://ipc/SECURITY_OWNERS -per-file *.typemap=set noparent -per-file *.typemap=file://ipc/SECURITY_OWNERS # COMPONENT: Platform>Apps>FileManager
diff --git a/chromeos/ime/gen_input_methods.py b/chromeos/ime/gen_input_methods.py index 93d8c41f..17e6a50 100755 --- a/chromeos/ime/gen_input_methods.py +++ b/chromeos/ime/gen_input_methods.py
@@ -9,7 +9,7 @@ available input methods. It parses input_methods.txt, and then generates a static array definition from the information extracted. The input and output file names are specified on the command line. -The header input_methods.h is used in input_method_whitelist.cc which is for +The header input_methods.h is used in input_method_allowlist.cc which is for testing purpose. Run it like: @@ -104,7 +104,7 @@ def main(argv): if len(argv) != 3: - print 'Usage: gen_input_methods.py [whitelist] [output]' + print 'Usage: gen_input_methods.py [allowlist] [output]' sys.exit(1) engines = [] for line in fileinput.input(sys.argv[1]):
diff --git a/chromeos/services/cros_healthd/public/mojom/BUILD.gn b/chromeos/services/cros_healthd/public/mojom/BUILD.gn index 6518036..8aa10511 100644 --- a/chromeos/services/cros_healthd/public/mojom/BUILD.gn +++ b/chromeos/services/cros_healthd/public/mojom/BUILD.gn
@@ -17,4 +17,18 @@ "//chromeos/services/network_health/public/mojom", "//mojo/public/mojom/base", ] + + cpp_typemaps = [ + { + types = [ + { + mojom = "chromeos.cros_healthd_probe.mojom.CpuArchitectureEnum" + cpp = "::em::CpuInfo::Architecture" + }, + ] + traits_headers = [ "cros_healthd_probe_mojom_traits.h" ] + traits_sources = [ "cros_healthd_probe_mojom_traits.cc" ] + traits_public_deps = [ "//components/policy/proto" ] + }, + ] }
diff --git a/chromeos/services/cros_healthd/public/mojom/OWNERS b/chromeos/services/cros_healthd/public/mojom/OWNERS index 24339e5..82b6623 100644 --- a/chromeos/services/cros_healthd/public/mojom/OWNERS +++ b/chromeos/services/cros_healthd/public/mojom/OWNERS
@@ -3,5 +3,3 @@ per-file *.mojom=file://chromeos/SECURITY_OWNERS per-file *_mojom_traits*.*=set noparent per-file *_mojom_traits*.*=file://ipc/SECURITY_OWNERS -per-file *.typemap=set noparent -per-file *.typemap=file://ipc/SECURITY_OWNERS \ No newline at end of file
diff --git a/chromeos/services/cros_healthd/public/mojom/cros_healthd_probe.typemap b/chromeos/services/cros_healthd/public/mojom/cros_healthd_probe.typemap deleted file mode 100644 index 7989c37e..0000000 --- a/chromeos/services/cros_healthd/public/mojom/cros_healthd_probe.typemap +++ /dev/null
@@ -1,20 +0,0 @@ -# Copyright 2019 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -mojom = "//chromeos/services/cros_healthd/public/mojom/cros_healthd_probe.mojom" - -public_headers = [ "//components/policy/proto/device_management_backend.pb.h" ] - -traits_headers = [ "//chromeos/services/cros_healthd/public/mojom/cros_healthd_probe_mojom_traits.h" ] - -sources = [ - "//chromeos/services/cros_healthd/public/mojom/cros_healthd_probe_mojom_traits.cc", - "//chromeos/services/cros_healthd/public/mojom/cros_healthd_probe_mojom_traits.h", -] - -public_deps = [ - "//components/policy/proto", -] - -type_mappings = [ "chromeos.cros_healthd_probe.mojom.CpuArchitectureEnum=em::CpuInfo::Architecture" ]
diff --git a/chromeos/services/cros_healthd/public/mojom/cros_healthd_probe_mojom_traits.h b/chromeos/services/cros_healthd/public/mojom/cros_healthd_probe_mojom_traits.h index edf46e79..16b33c5d 100644 --- a/chromeos/services/cros_healthd/public/mojom/cros_healthd_probe_mojom_traits.h +++ b/chromeos/services/cros_healthd/public/mojom/cros_healthd_probe_mojom_traits.h
@@ -5,7 +5,7 @@ #ifndef CHROMEOS_SERVICES_CROS_HEALTHD_PUBLIC_MOJOM_CROS_HEALTHD_PROBE_MOJOM_TRAITS_H_ #define CHROMEOS_SERVICES_CROS_HEALTHD_PUBLIC_MOJOM_CROS_HEALTHD_PROBE_MOJOM_TRAITS_H_ -#include "chromeos/services/cros_healthd/public/mojom/cros_healthd_probe.mojom.h" +#include "chromeos/services/cros_healthd/public/mojom/cros_healthd_probe.mojom-shared.h" #include "components/policy/proto/device_management_backend.pb.h" #include "mojo/public/cpp/bindings/enum_traits.h"
diff --git a/chromeos/services/cros_healthd/public/mojom/typemaps.gni b/chromeos/services/cros_healthd/public/mojom/typemaps.gni deleted file mode 100644 index c82c3383..0000000 --- a/chromeos/services/cros_healthd/public/mojom/typemaps.gni +++ /dev/null
@@ -1,7 +0,0 @@ -# Copyright 2019 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -typemaps = [ - "//chromeos/services/cros_healthd/public/mojom/cros_healthd_probe.typemap", -]
diff --git a/chromeos/services/device_sync/public/mojom/BUILD.gn b/chromeos/services/device_sync/public/mojom/BUILD.gn index 1ca02d4..466f77f 100644 --- a/chromeos/services/device_sync/public/mojom/BUILD.gn +++ b/chromeos/services/device_sync/public/mojom/BUILD.gn
@@ -11,6 +11,31 @@ "//chromeos/components/multidevice/mojom", "//mojo/public/mojom/base", ] + + cpp_typemaps = [ + { + types = [ + { + mojom = "chromeos.device_sync.mojom.ConnectivityStatus" + cpp = "cryptauthv2::ConnectivityStatus" + }, + { + mojom = "chromeos.device_sync.mojom.FeatureStatusChange" + cpp = "chromeos::device_sync::FeatureStatusChange" + }, + { + mojom = "chromeos.device_sync.mojom.CryptAuthService" + cpp = "cryptauthv2::TargetService" + }, + ] + traits_headers = [ "device_sync_mojom_traits.h" ] + traits_sources = [ "device_sync_mojom_traits.cc" ] + traits_public_deps = [ + "//chromeos/services/device_sync:feature_status_change", + "//chromeos/services/device_sync/proto", + ] + }, + ] } source_set("unit_tests") {
diff --git a/chromeos/services/device_sync/public/mojom/OWNERS b/chromeos/services/device_sync/public/mojom/OWNERS index 3e6cfccf..1feb514 100644 --- a/chromeos/services/device_sync/public/mojom/OWNERS +++ b/chromeos/services/device_sync/public/mojom/OWNERS
@@ -2,5 +2,3 @@ per-file *.mojom=file://ipc/SECURITY_OWNERS per-file *_mojom_traits*.*=set noparent per-file *_mojom_traits*.*=file://ipc/SECURITY_OWNERS -per-file *.typemap=set noparent -per-file *.typemap=file://ipc/SECURITY_OWNERS \ No newline at end of file
diff --git a/chromeos/services/device_sync/public/mojom/device_sync.typemap b/chromeos/services/device_sync/public/mojom/device_sync.typemap deleted file mode 100644 index 13a2c58..0000000 --- a/chromeos/services/device_sync/public/mojom/device_sync.typemap +++ /dev/null
@@ -1,30 +0,0 @@ -# Copyright 2019 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -mojom = "//chromeos/services/device_sync/public/mojom/device_sync.mojom" - -public_headers = [ - "//chromeos/services/device_sync/feature_status_change.h", - "//chromeos/services/device_sync/proto/cryptauth_devicesync.pb.h", -] - -traits_headers = [ - "//chromeos/services/device_sync/public/mojom/device_sync_mojom_traits.h", -] - -sources = [ - "//chromeos/services/device_sync/public/mojom/device_sync_mojom_traits.cc", - "//chromeos/services/device_sync/public/mojom/device_sync_mojom_traits.h", -] - -public_deps = [ - "//chromeos/services/device_sync:feature_status_change", - "//chromeos/services/device_sync/proto", -] - -type_mappings = [ - "chromeos.device_sync.mojom.ConnectivityStatus=cryptauthv2::ConnectivityStatus", - "chromeos.device_sync.mojom.FeatureStatusChange=chromeos::device_sync::FeatureStatusChange", - "chromeos.device_sync.mojom.CryptAuthService=cryptauthv2::TargetService", -]
diff --git a/chromeos/services/device_sync/public/mojom/device_sync_mojom_traits.h b/chromeos/services/device_sync/public/mojom/device_sync_mojom_traits.h index 7b0e1a4..5e9f3f1a 100644 --- a/chromeos/services/device_sync/public/mojom/device_sync_mojom_traits.h +++ b/chromeos/services/device_sync/public/mojom/device_sync_mojom_traits.h
@@ -8,7 +8,7 @@ #include "chromeos/services/device_sync/feature_status_change.h" #include "chromeos/services/device_sync/proto/cryptauth_common.pb.h" #include "chromeos/services/device_sync/proto/cryptauth_devicesync.pb.h" -#include "chromeos/services/device_sync/public/mojom/device_sync.mojom.h" +#include "chromeos/services/device_sync/public/mojom/device_sync.mojom-shared.h" #include "mojo/public/cpp/bindings/enum_traits.h" namespace mojo {
diff --git a/chromeos/services/device_sync/public/mojom/typemaps.gni b/chromeos/services/device_sync/public/mojom/typemaps.gni deleted file mode 100644 index c105182..0000000 --- a/chromeos/services/device_sync/public/mojom/typemaps.gni +++ /dev/null
@@ -1,6 +0,0 @@ -# Copyright 2019 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -typemaps = - [ "//chromeos/services/device_sync/public/mojom/device_sync.typemap" ]
diff --git a/chromeos/services/network_config/public/mojom/BUILD.gn b/chromeos/services/network_config/public/mojom/BUILD.gn index 552d46c..7122c06516 100644 --- a/chromeos/services/network_config/public/mojom/BUILD.gn +++ b/chromeos/services/network_config/public/mojom/BUILD.gn
@@ -15,6 +15,20 @@ "//mojo/public/mojom/base", "//services/network/public/mojom:mojom_ip_address", ] + + cpp_typemaps = [ + { + types = [ + { + mojom = "chromeos.cros_network_config.mojom.ProxyMode" + cpp = "::ProxyPrefs::ProxyMode" + }, + ] + traits_headers = [ "cros_network_config_mojom_traits.h" ] + traits_sources = [ "cros_network_config_mojom_traits.cc" ] + traits_public_deps = [ "//components/proxy_config" ] + }, + ] } mojom("network_types") {
diff --git a/chromeos/services/network_config/public/mojom/OWNERS b/chromeos/services/network_config/public/mojom/OWNERS index ae29a36aa..1feb514 100644 --- a/chromeos/services/network_config/public/mojom/OWNERS +++ b/chromeos/services/network_config/public/mojom/OWNERS
@@ -2,5 +2,3 @@ per-file *.mojom=file://ipc/SECURITY_OWNERS per-file *_mojom_traits*.*=set noparent per-file *_mojom_traits*.*=file://ipc/SECURITY_OWNERS -per-file *.typemap=set noparent -per-file *.typemap=file://ipc/SECURITY_OWNERS
diff --git a/chromeos/services/network_config/public/mojom/cros_network_config.typemap b/chromeos/services/network_config/public/mojom/cros_network_config.typemap deleted file mode 100644 index a60767d..0000000 --- a/chromeos/services/network_config/public/mojom/cros_network_config.typemap +++ /dev/null
@@ -1,20 +0,0 @@ -# Copyright 2019 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -mojom = - "//chromeos/services/network_config/public/mojom/cros_network_config.mojom" - -public_deps = [ - "//components/proxy_config", -] - -traits_headers = [ "//chromeos/services/network_config/public/mojom/cros_network_config_mojom_traits.h" ] - -type_mappings = - [ "chromeos.cros_network_config.mojom.ProxyMode=::ProxyPrefs::ProxyMode" ] - -sources = [ - "//chromeos/services/network_config/public/mojom/cros_network_config_mojom_traits.cc", - "//chromeos/services/network_config/public/mojom/cros_network_config_mojom_traits.h", -]
diff --git a/chromeos/services/network_config/public/mojom/cros_network_config_mojom_traits.h b/chromeos/services/network_config/public/mojom/cros_network_config_mojom_traits.h index 7aad32b..f8184d5 100644 --- a/chromeos/services/network_config/public/mojom/cros_network_config_mojom_traits.h +++ b/chromeos/services/network_config/public/mojom/cros_network_config_mojom_traits.h
@@ -5,7 +5,7 @@ #ifndef CHROMEOS_SERVICES_NETWORK_CONFIG_PUBLIC_MOJOM_CROS_NETWORK_CONFIG_MOJOM_TRAITS_H_ #define CHROMEOS_SERVICES_NETWORK_CONFIG_PUBLIC_MOJOM_CROS_NETWORK_CONFIG_MOJOM_TRAITS_H_ -#include "chromeos/services/network_config/public/mojom/cros_network_config.mojom.h" +#include "chromeos/services/network_config/public/mojom/cros_network_config.mojom-shared.h" #include "components/proxy_config/proxy_prefs.h" #include "mojo/public/cpp/bindings/enum_traits.h"
diff --git a/chromeos/services/network_config/public/mojom/typemaps.gni b/chromeos/services/network_config/public/mojom/typemaps.gni deleted file mode 100644 index 44cb208a..0000000 --- a/chromeos/services/network_config/public/mojom/typemaps.gni +++ /dev/null
@@ -1,7 +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. - -typemaps = [ - "//chromeos/services/network_config/public/mojom/cros_network_config.typemap", -]
diff --git a/chromeos/services/secure_channel/BUILD.gn b/chromeos/services/secure_channel/BUILD.gn index af8532a..525d03b 100644 --- a/chromeos/services/secure_channel/BUILD.gn +++ b/chromeos/services/secure_channel/BUILD.gn
@@ -153,6 +153,7 @@ "//chromeos", "//chromeos/components/multidevice", "//chromeos/components/multidevice/logging", + "//chromeos/services/device_sync/proto", "//chromeos/services/secure_channel/public/cpp/shared", "//chromeos/services/secure_channel/public/mojom", "//crypto",
diff --git a/chromeos/services/secure_channel/public/mojom/BUILD.gn b/chromeos/services/secure_channel/public/mojom/BUILD.gn index a98ed61..d2b8368 100644 --- a/chromeos/services/secure_channel/public/mojom/BUILD.gn +++ b/chromeos/services/secure_channel/public/mojom/BUILD.gn
@@ -11,6 +11,26 @@ "//chromeos/components/multidevice/mojom", "//mojo/public/mojom/base", ] + + cpp_typemaps = [ + { + types = [ + { + mojom = "chromeos.secure_channel.mojom.ConnectionMedium" + cpp = "::chromeos::secure_channel::ConnectionMedium" + }, + { + mojom = "chromeos.secure_channel.mojom.ConnectionPriority" + cpp = "::chromeos::secure_channel::ConnectionPriority" + }, + ] + + traits_headers = [ "secure_channel_mojom_traits.h" ] + traits_sources = [ "secure_channel_mojom_traits.cc" ] + traits_public_deps = + [ "//chromeos/services/secure_channel/public/cpp/shared" ] + }, + ] } source_set("unit_tests") {
diff --git a/chromeos/services/secure_channel/public/mojom/OWNERS b/chromeos/services/secure_channel/public/mojom/OWNERS index ae29a36aa..1feb514 100644 --- a/chromeos/services/secure_channel/public/mojom/OWNERS +++ b/chromeos/services/secure_channel/public/mojom/OWNERS
@@ -2,5 +2,3 @@ per-file *.mojom=file://ipc/SECURITY_OWNERS per-file *_mojom_traits*.*=set noparent per-file *_mojom_traits*.*=file://ipc/SECURITY_OWNERS -per-file *.typemap=set noparent -per-file *.typemap=file://ipc/SECURITY_OWNERS
diff --git a/chromeos/services/secure_channel/public/mojom/secure_channel.typemap b/chromeos/services/secure_channel/public/mojom/secure_channel.typemap deleted file mode 100644 index 2b878db..0000000 --- a/chromeos/services/secure_channel/public/mojom/secure_channel.typemap +++ /dev/null
@@ -1,24 +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. - -mojom = "//chromeos/services/secure_channel/public/mojom/secure_channel.mojom" - -public_headers = [ - "//chromeos/services/secure_channel/public/cpp/shared/connection_medium.h", - "//chromeos/services/secure_channel/public/cpp/shared/connection_priority.h", -] - -traits_headers = [ "//chromeos/services/secure_channel/public/mojom/secure_channel_mojom_traits.h" ] - -sources = [ - "//chromeos/services/secure_channel/public/mojom/secure_channel_mojom_traits.cc", - "//chromeos/services/secure_channel/public/mojom/secure_channel_mojom_traits.h", -] - -public_deps = [ "//chromeos/services/secure_channel/public/cpp/shared" ] - -type_mappings = [ - "chromeos.secure_channel.mojom.ConnectionMedium=::chromeos::secure_channel::ConnectionMedium", - "chromeos.secure_channel.mojom.ConnectionPriority=::chromeos::secure_channel::ConnectionPriority", -]
diff --git a/chromeos/services/secure_channel/public/mojom/secure_channel_mojom_traits.h b/chromeos/services/secure_channel/public/mojom/secure_channel_mojom_traits.h index 166635dd..5afc89f 100644 --- a/chromeos/services/secure_channel/public/mojom/secure_channel_mojom_traits.h +++ b/chromeos/services/secure_channel/public/mojom/secure_channel_mojom_traits.h
@@ -7,7 +7,7 @@ #include "chromeos/services/secure_channel/public/cpp/shared/connection_medium.h" #include "chromeos/services/secure_channel/public/cpp/shared/connection_priority.h" -#include "chromeos/services/secure_channel/public/mojom/secure_channel.mojom.h" +#include "chromeos/services/secure_channel/public/mojom/secure_channel.mojom-shared.h" #include "mojo/public/cpp/bindings/enum_traits.h" namespace mojo {
diff --git a/chromeos/services/secure_channel/public/mojom/typemaps.gni b/chromeos/services/secure_channel/public/mojom/typemaps.gni deleted file mode 100644 index 3f0aaca..0000000 --- a/chromeos/services/secure_channel/public/mojom/typemaps.gni +++ /dev/null
@@ -1,6 +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. - -typemaps = - [ "//chromeos/services/secure_channel/public/mojom/secure_channel.typemap" ]
diff --git a/chromeos/typemaps.gni b/chromeos/typemaps.gni deleted file mode 100644 index fac5d42..0000000 --- a/chromeos/typemaps.gni +++ /dev/null
@@ -1,5 +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. - -typemaps = [ "//chromeos/components/drivefs/drivefs.typemap" ]
diff --git a/components/account_id/mojom/BUILD.gn b/components/account_id/mojom/BUILD.gn index 2b76713..3398243 100644 --- a/components/account_id/mojom/BUILD.gn +++ b/components/account_id/mojom/BUILD.gn
@@ -6,4 +6,21 @@ mojom("mojom") { sources = [ "account_id.mojom" ] + + cpp_typemaps = [ + { + types = [ + { + mojom = "signin.mojom.AccountType" + cpp = "::AccountType" + }, + { + mojom = "signin.mojom.AccountId" + cpp = "::AccountId" + }, + ] + traits_headers = [ "account_id_traits.h" ] + traits_public_deps = [ "//components/account_id" ] + }, + ] }
diff --git a/components/account_id/mojom/OWNERS b/components/account_id/mojom/OWNERS index 229dacdd..08850f4 100644 --- a/components/account_id/mojom/OWNERS +++ b/components/account_id/mojom/OWNERS
@@ -1,4 +1,2 @@ per-file *.mojom=set noparent per-file *.mojom=file://ipc/SECURITY_OWNERS -per-file *.typemap=set noparent -per-file *.typemap=file://ipc/SECURITY_OWNERS
diff --git a/components/account_id/mojom/account_id.typemap b/components/account_id/mojom/account_id.typemap deleted file mode 100644 index da3ae8f92..0000000 --- a/components/account_id/mojom/account_id.typemap +++ /dev/null
@@ -1,14 +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. - -mojom = "//components/account_id/mojom/account_id.mojom" -public_headers = [ "//components/account_id/account_id.h" ] -traits_headers = [ "//components/account_id/mojom/account_id_traits.h" ] -public_deps = [ - "//components/account_id", -] -type_mappings = [ - "signin.mojom.AccountType=::AccountType", - "signin.mojom.AccountId=::AccountId", -]
diff --git a/components/arc/bitmap/bitmap_mojom_traits.h b/components/arc/bitmap/bitmap_mojom_traits.h index a39b987..e2d2424 100644 --- a/components/arc/bitmap/bitmap_mojom_traits.h +++ b/components/arc/bitmap/bitmap_mojom_traits.h
@@ -6,7 +6,7 @@ #define COMPONENTS_ARC_BITMAP_BITMAP_MOJOM_TRAITS_H_ #include "base/containers/span.h" -#include "components/arc/mojom/bitmap.mojom.h" +#include "components/arc/mojom/bitmap.mojom-shared.h" #include "third_party/skia/include/core/SkBitmap.h" namespace mojo {
diff --git a/components/arc/file_system/file_system_mojom_traits.h b/components/arc/file_system/file_system_mojom_traits.h index 3e37946..672e2e27 100644 --- a/components/arc/file_system/file_system_mojom_traits.h +++ b/components/arc/file_system/file_system_mojom_traits.h
@@ -5,7 +5,7 @@ #ifndef COMPONENTS_ARC_FILE_SYSTEM_FILE_SYSTEM_MOJOM_TRAITS_H_ #define COMPONENTS_ARC_FILE_SYSTEM_FILE_SYSTEM_MOJOM_TRAITS_H_ -#include "components/arc/mojom/file_system.mojom.h" +#include "components/arc/mojom/file_system.mojom-shared.h" #include "storage/browser/file_system/watcher_manager.h" namespace mojo {
diff --git a/components/arc/intent_helper/intent_filter_mojom_traits.cc b/components/arc/intent_helper/intent_filter_mojom_traits.cc index 1dc5ff8..78b82c5 100644 --- a/components/arc/intent_helper/intent_filter_mojom_traits.cc +++ b/components/arc/intent_helper/intent_filter_mojom_traits.cc
@@ -8,6 +8,7 @@ #include <utility> #include <vector> +#include "base/optional.h" #include "base/strings/string_util.h" namespace mojo { @@ -23,7 +24,7 @@ if (!data.ReadDataPaths(&paths)) return false; - std::string package_name; + base::Optional<std::string> package_name; if (!data.ReadPackageName(&package_name)) return false; @@ -39,15 +40,17 @@ if (!data.ReadMimeTypes(&mime_types)) return false; - std::string activity_name; + base::Optional<std::string> activity_name; if (!data.ReadActivityName(&activity_name)) return false; - std::string activity_label; + base::Optional<std::string> activity_label; if (!data.ReadActivityLabel(&activity_label)) return false; - *out = arc::IntentFilter(package_name, activity_name, activity_label, + *out = arc::IntentFilter(std::move(package_name).value_or(std::string()), + std::move(activity_name).value_or(std::string()), + std::move(activity_label).value_or(std::string()), std::move(actions), std::move(authorities), std::move(paths), std::move(schemes), std::move(mime_types));
diff --git a/components/arc/intent_helper/intent_filter_mojom_traits.h b/components/arc/intent_helper/intent_filter_mojom_traits.h index 16b4b622..9b2fd0d 100644 --- a/components/arc/intent_helper/intent_filter_mojom_traits.h +++ b/components/arc/intent_helper/intent_filter_mojom_traits.h
@@ -10,7 +10,7 @@ #include "base/containers/span.h" #include "components/arc/intent_helper/intent_filter.h" -#include "components/arc/mojom/intent_helper.mojom.h" +#include "components/arc/mojom/intent_helper.mojom-shared.h" namespace mojo {
diff --git a/components/arc/mojom/BUILD.gn b/components/arc/mojom/BUILD.gn index 9958484..e0e669826 100644 --- a/components/arc/mojom/BUILD.gn +++ b/components/arc/mojom/BUILD.gn
@@ -81,6 +81,158 @@ "//ui/gfx/geometry/mojom", "//url/mojom:url_mojom_gurl", ] + + cpp_typemaps = [ + { + types = [ + { + mojom = "arc.mojom.AppDiscoveryRequestState" + cpp = "::arc::ArcPlayStoreSearchRequestState" + }, + ] + traits_headers = [ "app_mojom_traits.h" ] + }, + { + types = [ + { + mojom = "arc.mojom.BluetoothDeviceType" + cpp = "::device::BluetoothTransport" + }, + { + mojom = "arc.mojom.BluetoothSdpAttributeType" + cpp = "::bluez::BluetoothServiceAttributeValueBlueZ::Type" + }, + { + mojom = "arc.mojom.BluetoothUUID" + cpp = "::device::BluetoothUUID" + }, + { + mojom = "arc.mojom.BluetoothAdvertisement" + cpp = "::std::unique_ptr<::device::BluetoothAdvertisement::Data>" + move_only = true + }, + ] + traits_headers = [ + "//device/bluetooth/bluetooth_advertisement.h", + "//device/bluetooth/bluetooth_common.h", + "//device/bluetooth/public/cpp/bluetooth_uuid.h", + "//device/bluetooth/bluez/bluetooth_service_attribute_value_bluez.h", + ] + traits_private_headers = + [ "//components/arc/bluetooth/bluetooth_mojom_traits.h" ] + traits_sources = + [ "//components/arc/bluetooth/bluetooth_mojom_traits.cc" ] + traits_public_deps = [ + "//device/bluetooth", + "//device/bluetooth/public/cpp", + ] + }, + { + types = [ + { + mojom = "arc.mojom.ChangeType" + cpp = "::storage::WatcherManager::ChangeType" + }, + ] + traits_headers = + [ "//components/arc/file_system/file_system_mojom_traits.h" ] + traits_sources = + [ "//components/arc/file_system/file_system_mojom_traits.cc" ] + traits_public_deps = [ "//storage/browser" ] + }, + { + types = [ + { + mojom = "arc.mojom.TextInputType" + cpp = "::ui::TextInputType" + }, + { + mojom = "arc.mojom.KeyEventData" + cpp = "::std::unique_ptr<::ui::KeyEvent>" + move_only = true + }, + ] + traits_headers = [ "ime_mojom_traits.h" ] + traits_public_deps = [ + "//ui/base/ime", + "//ui/events", + ] + }, + { + types = [ + { + mojom = "arc.mojom.IntentFilter" + cpp = "::arc::IntentFilter" + move_only = true + }, + { + mojom = "arc.mojom.AuthorityEntry" + cpp = "::arc::IntentFilter::AuthorityEntry" + move_only = true + }, + { + mojom = "arc.mojom.PatternMatcher" + cpp = "::arc::IntentFilter::PatternMatcher" + move_only = true + }, + ] + traits_headers = + [ "//components/arc/intent_helper/intent_filter_mojom_traits.h" ] + traits_sources = + [ "//components/arc/intent_helper/intent_filter_mojom_traits.cc" ] + }, + { + types = [ + { + mojom = "arc.mojom.PrintPageRange" + cpp = "::printing::PageRange" + }, + { + mojom = "arc.mojom.PrintResolution" + cpp = "::gfx::Size" + }, + { + mojom = "arc.mojom.PrinterCapabilities" + cpp = "::printing::PrinterSemanticCapsAndDefaults" + }, + ] + traits_headers = [ + "//printing/backend/print_backend.h", + "//printing/page_range.h", + "//ui/gfx/geometry/size.h", + ] + + traits_private_headers = [ "print_mojom_traits.h" ] + traits_sources = [ "print_mojom_traits.cc" ] + traits_public_deps = [ "//printing" ] + }, + { + types = [ + { + mojom = "arc.mojom.ClockId" + cpp = "::clockid_t" + }, + ] + traits_headers = [ "//components/arc/timer/arc_timer_mojom_traits.h" ] + traits_sources = [ "//components/arc/timer/arc_timer_mojom_traits.cc" ] + }, + { + types = [ + { + mojom = "arc.mojom.DeviceType" + cpp = "::chromeos::DeviceType" + }, + { + mojom = "arc.mojom.MountEvent" + cpp = "::chromeos::disks::DiskMountManager::MountEvent" + }, + ] + traits_headers = + [ "//components/arc/volume_mounter/volume_mounter_mojom_traits.h" ] + traits_sources = + [ "//components/arc/volume_mounter/volume_mounter_mojom_traits.cc" ] + }, + ] } mojom("camera_intent") { @@ -94,6 +246,20 @@ ] deps = [ ":media" ] # for gfx.mojom + + cpp_typemaps = [ + { + types = [ + { + mojom = "arc.mojom.ArcBitmap" + cpp = "::SkBitmap" + }, + ] + traits_headers = [ "//components/arc/bitmap/bitmap_mojom_traits.h" ] + traits_sources = [ "//components/arc/bitmap/bitmap_mojom_traits.cc" ] + traits_public_deps = [ "//skia" ] + }, + ] } # Media related mojo interfaces. These are used by @@ -111,6 +277,92 @@ ] public_deps = [ "//ui/gfx/geometry/mojom" ] + + cpp_typemaps = [ + { + types = [ + { + mojom = "arc.mojom.Rect" + cpp = "::gfx::Rect" + }, + { + mojom = "arc.mojom.Range" + cpp = "::gfx::Range" + }, + ] + traits_headers = [ "arc_gfx_mojom_traits.h" ] + traits_sources = [ "arc_gfx_mojom_traits.cc" ] + traits_public_deps = [ "//ui/gfx" ] + }, + { + types = [ + { + mojom = "arc.mojom.ColorPlaneLayout" + cpp = "media::ColorPlaneLayout" + }, + { + mojom = "arc.mojom.Size" + cpp = "gfx::Size" + }, + { + mojom = "arc.mojom.VideoCodecProfile" + cpp = "media::VideoCodecProfile" + }, + + { + mojom = "arc.mojom.VideoFrameLayout" + + # media::VideoFrameLayout doesn't have default constructor, so we + # cannot convert directly. + cpp = "std::unique_ptr<media::VideoFrameLayout>" + move_only = true + nullable_is_same_type = true + }, + { + mojom = "arc.mojom.VideoFramePlane" + cpp = "arc::VideoFramePlane" + move_only = true + }, + { + mojom = "arc.mojom.VideoPixelFormat" + cpp = "media::VideoPixelFormat" + }, + ] + traits_headers = [ "video_accelerator_mojom_traits.h" ] + traits_sources = [ "video_accelerator_mojom_traits.cc" ] + traits_public_deps = [ + "//components/arc/video_accelerator:common", + "//media", + "//ui/gfx/geometry", + ] + }, + { + types = [ + { + mojom = "arc.mojom.VideoFrameStorageType" + cpp = "::media::VideoEncodeAccelerator::Config::StorageType" + }, + { + mojom = "arc.mojom.VideoEncodeAccelerator.Error" + cpp = "::media::VideoEncodeAccelerator::Error" + }, + { + mojom = "arc.mojom.VideoEncodeProfile" + cpp = "::media::VideoEncodeAccelerator::SupportedProfile" + }, + { + mojom = "arc.mojom.VideoEncodeAcceleratorConfig" + cpp = "::media::VideoEncodeAccelerator::Config" + }, + ] + traits_headers = [ "video_encode_accelerator_mojom_traits.h" ] + traits_sources = [ "video_encode_accelerator_mojom_traits.cc" ] + traits_public_deps = [ + "//base", + "//media/gpu", + ] + }, + ] } mojom("oemcrypto") {
diff --git a/components/arc/mojom/OWNERS b/components/arc/mojom/OWNERS index 33e669b2..29d6990e82 100644 --- a/components/arc/mojom/OWNERS +++ b/components/arc/mojom/OWNERS
@@ -2,10 +2,6 @@ per-file *.mojom=file://ipc/SECURITY_OWNERS per-file *.mojom=file:ARC_SECURITY_OWNERS -per-file *.typemap=set noparent -per-file *.typemap=file://ipc/SECURITY_OWNERS -per-file *.typemap=file:ARC_SECURITY_OWNERS - per-file *_mojom_traits*.*=set noparent per-file *_mojom_traits*.*=file://ipc/SECURITY_OWNERS per-file *_mojom_traits*.*=file:ARC_SECURITY_OWNERS
diff --git a/components/arc/mojom/app.typemap b/components/arc/mojom/app.typemap deleted file mode 100644 index 0e201f5..0000000 --- a/components/arc/mojom/app.typemap +++ /dev/null
@@ -1,10 +0,0 @@ -# Copyright 2016 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -mojom = "//components/arc/mojom/app.mojom" -public_headers = [ "//components/arc/app/arc_playstore_search_request_state.h" ] -traits_headers = [ "//components/arc/mojom/app_mojom_traits.h" ] -type_mappings = [ - "arc.mojom.AppDiscoveryRequestState=::arc::ArcPlayStoreSearchRequestState", -]
diff --git a/components/arc/mojom/arc_gfx_mojom_traits.h b/components/arc/mojom/arc_gfx_mojom_traits.h index 82d4209..a1bb312 100644 --- a/components/arc/mojom/arc_gfx_mojom_traits.h +++ b/components/arc/mojom/arc_gfx_mojom_traits.h
@@ -5,7 +5,7 @@ #ifndef COMPONENTS_ARC_MOJOM_ARC_GFX_MOJOM_TRAITS_H_ #define COMPONENTS_ARC_MOJOM_ARC_GFX_MOJOM_TRAITS_H_ -#include "components/arc/mojom/gfx.mojom.h" +#include "components/arc/mojom/gfx.mojom-shared.h" #include "ui/gfx/geometry/rect.h" #include "ui/gfx/range/range.h"
diff --git a/components/arc/mojom/bitmap.typemap b/components/arc/mojom/bitmap.typemap deleted file mode 100644 index 3157489..0000000 --- a/components/arc/mojom/bitmap.typemap +++ /dev/null
@@ -1,13 +0,0 @@ -mojom = "//components/arc/mojom/bitmap.mojom" -public_headers = [ "//third_party/skia/include/core/SkBitmap.h" ] -traits_headers = [ "//components/arc/bitmap/bitmap_mojom_traits.h" ] -sources = [ - "//components/arc/bitmap/bitmap_mojom_traits.cc", -] -deps = [ - "//skia", -] -public_deps = [ - "//skia", -] -type_mappings = [ "arc.mojom.ArcBitmap=::SkBitmap" ]
diff --git a/components/arc/mojom/bluetooth.typemap b/components/arc/mojom/bluetooth.typemap deleted file mode 100644 index 4771522..0000000 --- a/components/arc/mojom/bluetooth.typemap +++ /dev/null
@@ -1,21 +0,0 @@ -mojom = "//components/arc/mojom/bluetooth.mojom" -public_headers = [ - "//device/bluetooth/bluetooth_advertisement.h", - "//device/bluetooth/bluetooth_common.h", - "//device/bluetooth/public/cpp/bluetooth_uuid.h", - "//device/bluetooth/bluez/bluetooth_service_attribute_value_bluez.h", -] -traits_headers = [ "//components/arc/bluetooth/bluetooth_mojom_traits.h" ] -sources = [ - "//components/arc/bluetooth/bluetooth_mojom_traits.cc", -] -deps = [ - "//device/bluetooth", - "//device/bluetooth/public/cpp", -] -type_mappings = [ - "arc.mojom.BluetoothDeviceType=::device::BluetoothTransport", - "arc.mojom.BluetoothSdpAttributeType=::bluez::BluetoothServiceAttributeValueBlueZ::Type", - "arc.mojom.BluetoothUUID=::device::BluetoothUUID", - "arc.mojom.BluetoothAdvertisement=::std::unique_ptr<::device::BluetoothAdvertisement::Data>[move_only]", -]
diff --git a/components/arc/mojom/file_system.typemap b/components/arc/mojom/file_system.typemap deleted file mode 100644 index 1a98444..0000000 --- a/components/arc/mojom/file_system.typemap +++ /dev/null
@@ -1,14 +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. - -mojom = "//components/arc/mojom/file_system.mojom" -public_headers = [ "//storage/browser/file_system/watcher_manager.h" ] -public_deps = [ - "//storage/browser", -] -traits_headers = [ "//components/arc/file_system/file_system_mojom_traits.h" ] -sources = [ - "//components/arc/file_system/file_system_mojom_traits.cc", -] -type_mappings = [ "arc.mojom.ChangeType=::storage::WatcherManager::ChangeType" ]
diff --git a/components/arc/mojom/gfx.typemap b/components/arc/mojom/gfx.typemap deleted file mode 100644 index 48ba64a..0000000 --- a/components/arc/mojom/gfx.typemap +++ /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. - -mojom = "//components/arc/mojom/gfx.mojom" - -public_headers = [ - "//ui/gfx/geometry/rect.h", - "//ui/gfx/range/range.h", -] - -deps = [ - "//ui/gfx", -] - -traits_headers = [ "//components/arc/mojom/arc_gfx_mojom_traits.h" ] - -sources = [ - "//components/arc/mojom/arc_gfx_mojom_traits.cc", -] - -type_mappings = [ - "arc.mojom.Rect=::gfx::Rect", - "arc.mojom.Range=::gfx::Range", -]
diff --git a/components/arc/mojom/ime.typemap b/components/arc/mojom/ime.typemap deleted file mode 100644 index 6d6c89dc..0000000 --- a/components/arc/mojom/ime.typemap +++ /dev/null
@@ -1,10 +0,0 @@ -mojom = "//components/arc/mojom/ime.mojom" -public_headers = [ - "//ui/base/ime/text_input_type.h", - "//ui/events/event.h", -] -traits_headers = [ "//components/arc/mojom/ime_mojom_traits.h" ] -type_mappings = [ - "arc.mojom.TextInputType=::ui::TextInputType", - "arc.mojom.KeyEventData=::std::unique_ptr<::ui::KeyEvent>[move_only]", -]
diff --git a/components/arc/mojom/ime_mojom_traits.h b/components/arc/mojom/ime_mojom_traits.h index 3941f61..88bc67c 100644 --- a/components/arc/mojom/ime_mojom_traits.h +++ b/components/arc/mojom/ime_mojom_traits.h
@@ -5,7 +5,7 @@ #ifndef COMPONENTS_ARC_MOJOM_IME_MOJOM_TRAITS_H_ #define COMPONENTS_ARC_MOJOM_IME_MOJOM_TRAITS_H_ -#include "components/arc/mojom/ime.mojom.h" +#include "components/arc/mojom/ime.mojom-shared.h" #include "ui/base/ime/text_input_type.h" #include "ui/events/event.h"
diff --git a/components/arc/mojom/ime_mojom_traits_unittest.cc b/components/arc/mojom/ime_mojom_traits_unittest.cc index 7dfece3..d4aa621e 100644 --- a/components/arc/mojom/ime_mojom_traits_unittest.cc +++ b/components/arc/mojom/ime_mojom_traits_unittest.cc
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "components/arc/mojom/ime_mojom_traits.h" +#include "components/arc/mojom/ime.mojom.h" #include "mojo/public/cpp/test_support/test_utils.h" #include "testing/gtest/include/gtest/gtest.h"
diff --git a/components/arc/mojom/intent_helper.typemap b/components/arc/mojom/intent_helper.typemap deleted file mode 100644 index 3a774f35..0000000 --- a/components/arc/mojom/intent_helper.typemap +++ /dev/null
@@ -1,16 +0,0 @@ -# Copyright 2016 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -mojom = "//components/arc/mojom/intent_helper.mojom" -public_headers = [ "//components/arc/intent_helper/intent_filter.h" ] -traits_headers = - [ "//components/arc/intent_helper/intent_filter_mojom_traits.h" ] -sources = [ - "//components/arc/intent_helper/intent_filter_mojom_traits.cc", -] -type_mappings = [ - "arc.mojom.IntentFilter=::arc::IntentFilter[move_only]", - "arc.mojom.AuthorityEntry=::arc::IntentFilter::AuthorityEntry[move_only]", - "arc.mojom.PatternMatcher=::arc::IntentFilter::PatternMatcher[move_only]", -]
diff --git a/components/arc/mojom/print.typemap b/components/arc/mojom/print.typemap deleted file mode 100644 index 54e4815..0000000 --- a/components/arc/mojom/print.typemap +++ /dev/null
@@ -1,15 +0,0 @@ -mojom = "//components/arc/mojom/print_common.mojom" -public_headers = [ - "//printing/backend/print_backend.h", - "//printing/page_range.h", - "//ui/gfx/geometry/size.h", -] -traits_headers = [ "//components/arc/mojom/print_mojom_traits.h" ] -sources = [ "//components/arc/mojom/print_mojom_traits.cc" ] -deps = [] -public_deps = [ "//printing:printing" ] -type_mappings = [ - "arc.mojom.PrintPageRange=::printing::PageRange", - "arc.mojom.PrintResolution=::gfx::Size", - "arc.mojom.PrinterCapabilities=::printing::PrinterSemanticCapsAndDefaults", -]
diff --git a/components/arc/mojom/timer.typemap b/components/arc/mojom/timer.typemap deleted file mode 100644 index 2226601..0000000 --- a/components/arc/mojom/timer.typemap +++ /dev/null
@@ -1,10 +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. - -mojom = "//components/arc/mojom/timer.mojom" -traits_headers = [ "//components/arc/timer/arc_timer_mojom_traits.h" ] -sources = [ - "//components/arc/timer/arc_timer_mojom_traits.cc", -] -type_mappings = [ "arc.mojom.ClockId=::clockid_t" ]
diff --git a/components/arc/mojom/typemaps.gni b/components/arc/mojom/typemaps.gni deleted file mode 100644 index 6b29532..0000000 --- a/components/arc/mojom/typemaps.gni +++ /dev/null
@@ -1,18 +0,0 @@ -# Copyright 2016 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -typemaps = [ - "//components/arc/mojom/app.typemap", - "//components/arc/mojom/bitmap.typemap", - "//components/arc/mojom/bluetooth.typemap", - "//components/arc/mojom/file_system.typemap", - "//components/arc/mojom/gfx.typemap", - "//components/arc/mojom/ime.typemap", - "//components/arc/mojom/intent_helper.typemap", - "//components/arc/mojom/print.typemap", - "//components/arc/mojom/timer.typemap", - "//components/arc/mojom/video_common.typemap", - "//components/arc/mojom/video_encode_accelerator.typemap", - "//components/arc/mojom/volume_mounter.typemap", -]
diff --git a/components/arc/mojom/video_accelerator_mojom_traits.h b/components/arc/mojom/video_accelerator_mojom_traits.h index 845aac4..594d53f 100644 --- a/components/arc/mojom/video_accelerator_mojom_traits.h +++ b/components/arc/mojom/video_accelerator_mojom_traits.h
@@ -7,7 +7,7 @@ #include <memory> -#include "components/arc/mojom/video_common.mojom.h" +#include "components/arc/mojom/video_common.mojom-shared.h" #include "components/arc/video_accelerator/video_frame_plane.h" #include "media/base/color_plane_layout.h" #include "media/base/video_codecs.h"
diff --git a/components/arc/mojom/video_common.typemap b/components/arc/mojom/video_common.typemap deleted file mode 100644 index 1890c206..0000000 --- a/components/arc/mojom/video_common.typemap +++ /dev/null
@@ -1,40 +0,0 @@ -# Copyright 2016 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -mojom = "//components/arc/mojom/video_common.mojom" -public_headers = [ - "//components/arc/video_accelerator/video_frame_plane.h", - "//media/base/color_plane_layout.h", - "//media/base/video_codecs.h", - "//media/base/video_types.h", - "//ui/gfx/geometry/size.h", -] - -public_deps = [ - "//media", -] - -traits_headers = [ "//components/arc/mojom/video_accelerator_mojom_traits.h" ] - -sources = [ - "//components/arc/mojom/video_accelerator_mojom_traits.cc", - "//components/arc/mojom/video_accelerator_mojom_traits.h", -] - -deps = [ - "//components/arc/video_accelerator:common", - "//ui/gfx/geometry", -] - -type_mappings = [ - "arc.mojom.ColorPlaneLayout=media::ColorPlaneLayout", - "arc.mojom.Size=gfx::Size", - "arc.mojom.VideoCodecProfile=media::VideoCodecProfile", - - # media::VideoFrameLayout doesn't have default constructor, so we cannot - # convert directly. - "arc.mojom.VideoFrameLayout=std::unique_ptr<media::VideoFrameLayout>[move_only,nullable_is_same_type]", - "arc.mojom.VideoFramePlane=arc::VideoFramePlane[move_only]", - "arc.mojom.VideoPixelFormat=media::VideoPixelFormat", -]
diff --git a/components/arc/mojom/video_encode_accelerator.typemap b/components/arc/mojom/video_encode_accelerator.typemap deleted file mode 100644 index 89e99e8..0000000 --- a/components/arc/mojom/video_encode_accelerator.typemap +++ /dev/null
@@ -1,24 +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. - -mojom = "//components/arc/mojom/video_encode_accelerator.mojom" -public_headers = [ "//media/video/video_encode_accelerator.h" ] -public_deps = [ - "//base", - "//media/gpu", -] -traits_headers = - [ "//components/arc/mojom/video_encode_accelerator_mojom_traits.h" ] -sources = [ - "//components/arc/mojom/video_encode_accelerator_mojom_traits.cc", -] -deps = [ - "//base", -] -type_mappings = [ - "arc.mojom.VideoFrameStorageType=::media::VideoEncodeAccelerator::Config::StorageType", - "arc.mojom.VideoEncodeAccelerator.Error=::media::VideoEncodeAccelerator::Error", - "arc.mojom.VideoEncodeProfile=::media::VideoEncodeAccelerator::SupportedProfile", - "arc.mojom.VideoEncodeAcceleratorConfig=::media::VideoEncodeAccelerator::Config", -]
diff --git a/components/arc/mojom/video_encode_accelerator_mojom_traits.cc b/components/arc/mojom/video_encode_accelerator_mojom_traits.cc index b827774c..6cae891e 100644 --- a/components/arc/mojom/video_encode_accelerator_mojom_traits.cc +++ b/components/arc/mojom/video_encode_accelerator_mojom_traits.cc
@@ -11,10 +11,10 @@ // Make sure values in arc::mojom::VideoEncodeAccelerator::Error and // media::VideoEncodeAccelerator::Error match. -#define CHECK_ERROR_ENUM(value) \ - static_assert( \ - static_cast<int>(arc::mojom::VideoEncodeAccelerator::Error::value) == \ - media::VideoEncodeAccelerator::Error::value, \ +#define CHECK_ERROR_ENUM(value) \ + static_assert( \ + static_cast<int>(arc::mojom::VideoEncodeAccelerator_Error::value) == \ + media::VideoEncodeAccelerator::Error::value, \ "enum ##value mismatch") CHECK_ERROR_ENUM(kIllegalStateError); @@ -49,17 +49,17 @@ } // static -arc::mojom::VideoEncodeAccelerator::Error -EnumTraits<arc::mojom::VideoEncodeAccelerator::Error, +arc::mojom::VideoEncodeAccelerator_Error +EnumTraits<arc::mojom::VideoEncodeAccelerator_Error, media::VideoEncodeAccelerator::Error>:: ToMojom(media::VideoEncodeAccelerator::Error input) { - return static_cast<arc::mojom::VideoEncodeAccelerator::Error>(input); + return static_cast<arc::mojom::VideoEncodeAccelerator_Error>(input); } // static -bool EnumTraits<arc::mojom::VideoEncodeAccelerator::Error, +bool EnumTraits<arc::mojom::VideoEncodeAccelerator_Error, media::VideoEncodeAccelerator::Error>:: - FromMojom(arc::mojom::VideoEncodeAccelerator::Error input, + FromMojom(arc::mojom::VideoEncodeAccelerator_Error input, media::VideoEncodeAccelerator::Error* output) { NOTIMPLEMENTED(); return false;
diff --git a/components/arc/mojom/video_encode_accelerator_mojom_traits.h b/components/arc/mojom/video_encode_accelerator_mojom_traits.h index 3b2f742..c4fbc9c 100644 --- a/components/arc/mojom/video_encode_accelerator_mojom_traits.h +++ b/components/arc/mojom/video_encode_accelerator_mojom_traits.h
@@ -5,7 +5,7 @@ #ifndef COMPONENTS_ARC_MOJOM_VIDEO_ENCODE_ACCELERATOR_MOJOM_TRAITS_H_ #define COMPONENTS_ARC_MOJOM_VIDEO_ENCODE_ACCELERATOR_MOJOM_TRAITS_H_ -#include "components/arc/mojom/video_encode_accelerator.mojom.h" +#include "components/arc/mojom/video_encode_accelerator.mojom-shared.h" #include "media/video/video_encode_accelerator.h" namespace mojo { @@ -21,12 +21,12 @@ }; template <> -struct EnumTraits<arc::mojom::VideoEncodeAccelerator::Error, +struct EnumTraits<arc::mojom::VideoEncodeAccelerator_Error, media::VideoEncodeAccelerator::Error> { - static arc::mojom::VideoEncodeAccelerator::Error ToMojom( + static arc::mojom::VideoEncodeAccelerator_Error ToMojom( media::VideoEncodeAccelerator::Error input); - static bool FromMojom(arc::mojom::VideoEncodeAccelerator::Error input, + static bool FromMojom(arc::mojom::VideoEncodeAccelerator_Error input, media::VideoEncodeAccelerator::Error* output); };
diff --git a/components/arc/mojom/volume_mounter.typemap b/components/arc/mojom/volume_mounter.typemap deleted file mode 100644 index 3442412..0000000 --- a/components/arc/mojom/volume_mounter.typemap +++ /dev/null
@@ -1,20 +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. - -mojom = "//components/arc/mojom/volume_mounter.mojom" -public_headers = [ - "//chromeos/chromeos_export.h", - "//chromeos/dbus/cros_disks_client.h", - "//chromeos/dbus/dbus_client_implementation_type.h", - "//chromeos/disks/disk_mount_manager.h", -] -traits_headers = - [ "//components/arc/volume_mounter/volume_mounter_mojom_traits.h" ] -sources = [ - "//components/arc/volume_mounter/volume_mounter_mojom_traits.cc", -] -type_mappings = [ - "arc.mojom.DeviceType=::chromeos::DeviceType", - "arc.mojom.MountEvent=::chromeos::disks::DiskMountManager::MountEvent", -]
diff --git a/components/arc/timer/arc_timer_mojom_traits.h b/components/arc/timer/arc_timer_mojom_traits.h index 3ab26b0..ce910a50 100644 --- a/components/arc/timer/arc_timer_mojom_traits.h +++ b/components/arc/timer/arc_timer_mojom_traits.h
@@ -7,7 +7,7 @@ #include <time.h> -#include "components/arc/mojom/timer.mojom.h" +#include "components/arc/mojom/timer.mojom-shared.h" namespace mojo {
diff --git a/components/arc/volume_mounter/volume_mounter_mojom_traits.h b/components/arc/volume_mounter/volume_mounter_mojom_traits.h index c18da66..6e4ee75 100644 --- a/components/arc/volume_mounter/volume_mounter_mojom_traits.h +++ b/components/arc/volume_mounter/volume_mounter_mojom_traits.h
@@ -6,7 +6,7 @@ #define COMPONENTS_ARC_VOLUME_MOUNTER_VOLUME_MOUNTER_MOJOM_TRAITS_H_ #include "chromeos/disks/disk_mount_manager.h" -#include "components/arc/mojom/volume_mounter.mojom.h" +#include "components/arc/mojom/volume_mounter.mojom-shared.h" namespace mojo {
diff --git a/components/autofill/core/common/mojom/BUILD.gn b/components/autofill/core/common/mojom/BUILD.gn index b031b429..a50148a 100644 --- a/components/autofill/core/common/mojom/BUILD.gn +++ b/components/autofill/core/common/mojom/BUILD.gn
@@ -14,6 +14,83 @@ "//url/mojom:url_mojom_gurl", "//url/mojom:url_mojom_origin", ] + + cpp_typemaps = [ + { + types = [ + { + mojom = "autofill.mojom.FormData" + cpp = "::autofill::FormData" + }, + { + mojom = "autofill.mojom.FormDataPredictions" + cpp = "::autofill::FormDataPredictions" + }, + { + mojom = "autofill.mojom.FormFieldData" + cpp = "::autofill::FormFieldData" + }, + { + mojom = "autofill.mojom.FormFieldDataPredictions" + cpp = "::autofill::FormFieldDataPredictions" + }, + { + mojom = "autofill.mojom.FormsPredictionsMap" + cpp = "::autofill::FormsPredictionsMap" + }, + { + mojom = "autofill.mojom.FormRendererId" + cpp = "::autofill::FormRendererId" + copyable_pass_by_value = true + }, + { + mojom = "autofill.mojom.FieldRendererId" + cpp = "::autofill::FieldRendererId" + copyable_pass_by_value = true + }, + { + mojom = "autofill.mojom.ParsingResult" + cpp = "::autofill::ParsingResult" + }, + { + mojom = "autofill.mojom.PasswordAndMetadata" + cpp = "::autofill::PasswordAndMetadata" + }, + { + mojom = "autofill.mojom.PasswordForm" + cpp = "::autofill::PasswordForm" + }, + { + mojom = "autofill.mojom.PasswordFormFieldPredictionMap" + cpp = "::autofill::PasswordFormFieldPredictionMap" + }, + { + mojom = "autofill.mojom.PasswordFormFillData" + cpp = "::autofill::PasswordFormFillData" + }, + { + mojom = "autofill.mojom.PasswordFormGenerationData" + cpp = "::autofill::PasswordFormGenerationData" + }, + { + mojom = "autofill.mojom.PasswordGenerationUIData" + cpp = "::autofill::password_generation::PasswordGenerationUIData" + }, + { + mojom = "autofill.mojom.ValueElementPair" + cpp = "::autofill::ValueElementPair" + }, + ] + traits_headers = [ "autofill_types_mojom_traits.h" ] + traits_sources = [ "autofill_types_mojom_traits.cc" ] + traits_public_deps = [ + "//base", + "//base:i18n", + "//components/autofill/core/common", + "//ui/gfx/geometry/mojom:mojom_traits", + ] + }, + ] } mojom("mojo_test_types") {
diff --git a/components/autofill/core/common/mojom/OWNERS b/components/autofill/core/common/mojom/OWNERS index ae29a36aa..1feb514 100644 --- a/components/autofill/core/common/mojom/OWNERS +++ b/components/autofill/core/common/mojom/OWNERS
@@ -2,5 +2,3 @@ per-file *.mojom=file://ipc/SECURITY_OWNERS per-file *_mojom_traits*.*=set noparent per-file *_mojom_traits*.*=file://ipc/SECURITY_OWNERS -per-file *.typemap=set noparent -per-file *.typemap=file://ipc/SECURITY_OWNERS
diff --git a/components/autofill/core/common/mojom/autofill_types.typemap b/components/autofill/core/common/mojom/autofill_types.typemap deleted file mode 100644 index 8feecd3..0000000 --- a/components/autofill/core/common/mojom/autofill_types.typemap +++ /dev/null
@@ -1,44 +0,0 @@ -# Copyright 2016 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -mojom = "//components/autofill/core/common/mojom/autofill_types.mojom" -public_headers = [ - "//components/autofill/core/common/form_data.h", - "//components/autofill/core/common/form_data_predictions.h", - "//components/autofill/core/common/form_field_data.h", - "//components/autofill/core/common/form_field_data_predictions.h", - "//components/autofill/core/common/password_form.h", - "//components/autofill/core/common/password_form_fill_data.h", - "//components/autofill/core/common/password_form_generation_data.h", - "//components/autofill/core/common/password_generation_util.h", - "//components/autofill/core/common/renderer_id.h", -] -traits_headers = - [ "//components/autofill/core/common/mojom/autofill_types_mojom_traits.h" ] -sources = - [ "//components/autofill/core/common/mojom/autofill_types_mojom_traits.cc" ] -deps = [ - "//base", - "//base:i18n", - "//components/autofill/core/common", - "//ui/gfx/geometry/mojom:mojom_traits", -] - -type_mappings = [ - "autofill.mojom.FormData=::autofill::FormData", - "autofill.mojom.FormDataPredictions=::autofill::FormDataPredictions", - "autofill.mojom.FormFieldData=::autofill::FormFieldData", - "autofill.mojom.FormFieldDataPredictions=::autofill::FormFieldDataPredictions", - "autofill.mojom.FormsPredictionsMap=::autofill::FormsPredictionsMap", - "autofill.mojom.FormRendererId=::autofill::FormRendererId[copyable_pass_by_value]", - "autofill.mojom.FieldRendererId=::autofill::FieldRendererId[copyable_pass_by_value]", - "autofill.mojom.ParsingResult=::autofill::ParsingResult", - "autofill.mojom.PasswordAndMetadata=::autofill::PasswordAndMetadata", - "autofill.mojom.PasswordForm=::autofill::PasswordForm", - "autofill.mojom.PasswordFormFieldPredictionMap=::autofill::PasswordFormFieldPredictionMap", - "autofill.mojom.PasswordFormFillData=::autofill::PasswordFormFillData", - "autofill.mojom.PasswordFormGenerationData=::autofill::PasswordFormGenerationData", - "autofill.mojom.PasswordGenerationUIData=::autofill::password_generation::PasswordGenerationUIData", - "autofill.mojom.ValueElementPair=::autofill::ValueElementPair", -]
diff --git a/components/autofill/core/common/mojom/autofill_types_mojom_traits.h b/components/autofill/core/common/mojom/autofill_types_mojom_traits.h index 8043dc4..e7775b68 100644 --- a/components/autofill/core/common/mojom/autofill_types_mojom_traits.h +++ b/components/autofill/core/common/mojom/autofill_types_mojom_traits.h
@@ -16,7 +16,7 @@ #include "components/autofill/core/common/form_data_predictions.h" #include "components/autofill/core/common/form_field_data.h" #include "components/autofill/core/common/form_field_data_predictions.h" -#include "components/autofill/core/common/mojom/autofill_types.mojom.h" +#include "components/autofill/core/common/mojom/autofill_types.mojom-shared.h" #include "components/autofill/core/common/password_form.h" #include "components/autofill/core/common/password_form_fill_data.h" #include "components/autofill/core/common/password_form_generation_data.h"
diff --git a/components/browser_ui/strings/android/browser_ui_strings.grd b/components/browser_ui/strings/android/browser_ui_strings.grd index d656b112a..6007880 100644 --- a/components/browser_ui/strings/android/browser_ui_strings.grd +++ b/components/browser_ui/strings/android/browser_ui_strings.grd
@@ -454,13 +454,13 @@ <ph name="PERMISSION_1">%1$s<ex>Location</ex></ph> and <ph name="PERMISSION_2">%2$s<ex>Sound</ex></ph> blocked </message> <message name="IDS_PAGE_INFO_PERMISSIONS_SUMMARY_MORE_MIXED" desc="Summary page info permissions string for more than 2 permissions, with a mix of allowed/blocked."> - <ph name="PERMISSION_1">%1$s<ex>Location</ex></ph>, <ph name="PERMISSION_2">%2$s<ex>Sound</ex></ph> and <ph name="NUM_MORE">%3$s<ex>2</ex></ph> more + <ph name="PERMISSION_1">%1$s<ex>Location</ex></ph>, <ph name="PERMISSION_2">%2$s<ex>Sound</ex></ph>, and <ph name="NUM_MORE">%3$s<ex>2</ex></ph> more </message> <message name="IDS_PAGE_INFO_PERMISSIONS_SUMMARY_MORE_ALLOWED" desc="Summary page info permissions string for more than 2 permissions, all allowed."> - <ph name="PERMISSION_1">%1$s<ex>Location</ex></ph>, <ph name="PERMISSION_2">%2$s<ex>Sound</ex></ph> and <ph name="NUM_MORE">%3$s<ex>2</ex></ph> more allowed + <ph name="PERMISSION_1">%1$s<ex>Location</ex></ph>, <ph name="PERMISSION_2">%2$s<ex>Sound</ex></ph>, and <ph name="NUM_MORE">%3$s<ex>2</ex></ph> more allowed </message> <message name="IDS_PAGE_INFO_PERMISSIONS_SUMMARY_MORE_BLOCKED" desc="Summary page info permissions string for more than 2 permissions, all blocked."> - <ph name="PERMISSION_1">%1$s<ex>Location</ex></ph>, <ph name="PERMISSION_2">%2$s<ex>Sound</ex></ph> and <ph name="NUM_MORE">%3$s<ex>2</ex></ph> more blocked + <ph name="PERMISSION_1">%1$s<ex>Location</ex></ph>, <ph name="PERMISSION_2">%2$s<ex>Sound</ex></ph>, and <ph name="NUM_MORE">%3$s<ex>2</ex></ph> more blocked </message> <message name="IDS_PAGE_INFO_INSTANT_APP_BUTTON" desc="Text in the button that opens an Android Instant app that is associated with the website's URL."> Open Instant App
diff --git a/components/browser_ui/strings/android/browser_ui_strings_grd/IDS_PAGE_INFO_PERMISSIONS_SUMMARY_MORE_ALLOWED.png.sha1 b/components/browser_ui/strings/android/browser_ui_strings_grd/IDS_PAGE_INFO_PERMISSIONS_SUMMARY_MORE_ALLOWED.png.sha1 index b818bf1..e345efb 100644 --- a/components/browser_ui/strings/android/browser_ui_strings_grd/IDS_PAGE_INFO_PERMISSIONS_SUMMARY_MORE_ALLOWED.png.sha1 +++ b/components/browser_ui/strings/android/browser_ui_strings_grd/IDS_PAGE_INFO_PERMISSIONS_SUMMARY_MORE_ALLOWED.png.sha1
@@ -1 +1 @@ -922c3132a13820a2a43e2ba5f762d3b6abdf7df7 \ No newline at end of file +1318ad925d07f4068db9b4c221c79bd46a5eff3f \ No newline at end of file
diff --git a/components/browser_ui/strings/android/browser_ui_strings_grd/IDS_PAGE_INFO_PERMISSIONS_SUMMARY_MORE_BLOCKED.png.sha1 b/components/browser_ui/strings/android/browser_ui_strings_grd/IDS_PAGE_INFO_PERMISSIONS_SUMMARY_MORE_BLOCKED.png.sha1 index 28a5520..5f1025e 100644 --- a/components/browser_ui/strings/android/browser_ui_strings_grd/IDS_PAGE_INFO_PERMISSIONS_SUMMARY_MORE_BLOCKED.png.sha1 +++ b/components/browser_ui/strings/android/browser_ui_strings_grd/IDS_PAGE_INFO_PERMISSIONS_SUMMARY_MORE_BLOCKED.png.sha1
@@ -1 +1 @@ -9706763ffee06d9bd4ba8d79f0ebd89f4927ec3d \ No newline at end of file +26b79f2b7fc672cddbb3d04cfd48d4075625875c \ No newline at end of file
diff --git a/components/browser_ui/strings/android/browser_ui_strings_grd/IDS_PAGE_INFO_PERMISSIONS_SUMMARY_MORE_MIXED.png.sha1 b/components/browser_ui/strings/android/browser_ui_strings_grd/IDS_PAGE_INFO_PERMISSIONS_SUMMARY_MORE_MIXED.png.sha1 index d0718f79..0f1e03d5 100644 --- a/components/browser_ui/strings/android/browser_ui_strings_grd/IDS_PAGE_INFO_PERMISSIONS_SUMMARY_MORE_MIXED.png.sha1 +++ b/components/browser_ui/strings/android/browser_ui_strings_grd/IDS_PAGE_INFO_PERMISSIONS_SUMMARY_MORE_MIXED.png.sha1
@@ -1 +1 @@ -4bd3ee74502fcdd9cc2358b91c3ae0b9d4dec5fc \ No newline at end of file +4c609fe0133dc1ee0fb153e764efefbde0910cb2 \ No newline at end of file
diff --git a/components/chromeos_camera/common/BUILD.gn b/components/chromeos_camera/common/BUILD.gn index d49f9e7..3416c0d 100644 --- a/components/chromeos_camera/common/BUILD.gn +++ b/components/chromeos_camera/common/BUILD.gn
@@ -16,4 +16,42 @@ "//mojo/public/mojom/base", "//ui/gfx/geometry/mojom", ] + + cpp_typemaps = [ + { + types = [ + { + mojom = "chromeos_camera.mojom.EncodeStatus" + cpp = "::chromeos_camera::JpegEncodeAccelerator::Status" + }, + ] + traits_headers = [ "jpeg_encode_accelerator_mojom_traits.h" ] + traits_sources = [ "jpeg_encode_accelerator_mojom_traits.cc" ] + traits_deps = [ "//base" ] + }, + { + types = [ + { + mojom = "chromeos_camera.mojom.BitstreamBuffer" + cpp = "::media::BitstreamBuffer" + move_only = true + }, + { + mojom = "chromeos_camera.mojom.DecodeError" + cpp = "::chromeos_camera::MjpegDecodeAccelerator::Error" + }, + ] + traits_headers = [ "mjpeg_decode_accelerator_mojom_traits.h" ] + traits_sources = [ "mjpeg_decode_accelerator_mojom_traits.cc" ] + traits_public_deps = [ + "//base", + "//media", + ] + traits_deps = [ + "//media/base/ipc", + "//mojo/public/cpp/base:typemap_traits", + "//mojo/public/cpp/system", + ] + }, + ] }
diff --git a/components/chromeos_camera/common/OWNERS b/components/chromeos_camera/common/OWNERS index 16d15c7a..1feb514 100644 --- a/components/chromeos_camera/common/OWNERS +++ b/components/chromeos_camera/common/OWNERS
@@ -1,6 +1,4 @@ per-file *.mojom=set noparent per-file *.mojom=file://ipc/SECURITY_OWNERS -per-file *.typemap=set noparent -per-file *.typemap=file://ipc/SECURITY_OWNERS per-file *_mojom_traits*.*=set noparent per-file *_mojom_traits*.*=file://ipc/SECURITY_OWNERS
diff --git a/components/chromeos_camera/common/jpeg_encode_accelerator.typemap b/components/chromeos_camera/common/jpeg_encode_accelerator.typemap deleted file mode 100644 index b2bfa58..0000000 --- a/components/chromeos_camera/common/jpeg_encode_accelerator.typemap +++ /dev/null
@@ -1,23 +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. - -mojom = "//components/chromeos_camera/common/jpeg_encode_accelerator.mojom" - -public_headers = [ "//components/chromeos_camera/jpeg_encode_accelerator.h" ] - -traits_headers = [ - "//components/chromeos_camera/common/jpeg_encode_accelerator_mojom_traits.h", -] - -sources = [ - "//components/chromeos_camera/common/jpeg_encode_accelerator_mojom_traits.cc", -] - -deps = [ - "//base", - "//media", - "//media/base/ipc", -] - -type_mappings = [ "chromeos_camera.mojom.EncodeStatus=::chromeos_camera::JpegEncodeAccelerator::Status" ]
diff --git a/components/chromeos_camera/common/jpeg_encode_accelerator_mojom_traits.h b/components/chromeos_camera/common/jpeg_encode_accelerator_mojom_traits.h index 19df6bb..4e9cbe2 100644 --- a/components/chromeos_camera/common/jpeg_encode_accelerator_mojom_traits.h +++ b/components/chromeos_camera/common/jpeg_encode_accelerator_mojom_traits.h
@@ -5,7 +5,7 @@ #ifndef COMPONENTS_CHROMEOS_CAMERA_COMMON_JPEG_ENCODE_ACCELERATOR_MOJOM_TRAITS_H_ #define COMPONENTS_CHROMEOS_CAMERA_COMMON_JPEG_ENCODE_ACCELERATOR_MOJOM_TRAITS_H_ -#include "components/chromeos_camera/common/jpeg_encode_accelerator.mojom.h" +#include "components/chromeos_camera/common/jpeg_encode_accelerator.mojom-shared.h" #include "components/chromeos_camera/jpeg_encode_accelerator.h" namespace mojo {
diff --git a/components/chromeos_camera/common/mjpeg_decode_accelerator.typemap b/components/chromeos_camera/common/mjpeg_decode_accelerator.typemap deleted file mode 100644 index 8deb9a8..0000000 --- a/components/chromeos_camera/common/mjpeg_decode_accelerator.typemap +++ /dev/null
@@ -1,29 +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. - -mojom = "//components/chromeos_camera/common/mjpeg_decode_accelerator.mojom" - -public_headers = [ - "//components/chromeos_camera/mjpeg_decode_accelerator.h", - "//media/base/bitstream_buffer.h", -] - -traits_headers = [ - "//components/chromeos_camera/common/mjpeg_decode_accelerator_mojom_traits.h", -] - -sources = [ - "//components/chromeos_camera/common/mjpeg_decode_accelerator_mojom_traits.cc", -] - -deps = [ - "//base", - "//media", - "//media/base/ipc", -] - -type_mappings = [ - "chromeos_camera.mojom.BitstreamBuffer=::media::BitstreamBuffer[move_only]", - "chromeos_camera.mojom.DecodeError=::chromeos_camera::MjpegDecodeAccelerator::Error", -]
diff --git a/components/chromeos_camera/common/mjpeg_decode_accelerator_mojom_traits.h b/components/chromeos_camera/common/mjpeg_decode_accelerator_mojom_traits.h index 186ff02..c8f4c19 100644 --- a/components/chromeos_camera/common/mjpeg_decode_accelerator_mojom_traits.h +++ b/components/chromeos_camera/common/mjpeg_decode_accelerator_mojom_traits.h
@@ -6,7 +6,7 @@ #define COMPONENTS_CHROMEOS_CAMERA_COMMON_MJPEG_DECODE_ACCELERATOR_MOJOM_TRAITS_H_ #include "base/numerics/safe_conversions.h" -#include "components/chromeos_camera/common/mjpeg_decode_accelerator.mojom.h" +#include "components/chromeos_camera/common/mjpeg_decode_accelerator.mojom-shared.h" #include "components/chromeos_camera/mjpeg_decode_accelerator.h" #include "media/base/bitstream_buffer.h"
diff --git a/components/chromeos_camera/common/typemaps.gni b/components/chromeos_camera/common/typemaps.gni deleted file mode 100644 index 8c6957b..0000000 --- a/components/chromeos_camera/common/typemaps.gni +++ /dev/null
@@ -1,8 +0,0 @@ -# Copyright 2019 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -typemaps = [ - "//components/chromeos_camera/common/jpeg_encode_accelerator.typemap", - "//components/chromeos_camera/common/mjpeg_decode_accelerator.typemap", -]
diff --git a/components/content_capture/common/BUILD.gn b/components/content_capture/common/BUILD.gn index 0c0e96d1..cb60319 100644 --- a/components/content_capture/common/BUILD.gn +++ b/components/content_capture/common/BUILD.gn
@@ -35,6 +35,24 @@ "//mojo/public/mojom/base", "//ui/gfx/geometry/mojom", ] + + cpp_typemaps = [ + { + types = [ + { + mojom = "content_capture.mojom.ContentCaptureData" + cpp = "::content_capture::ContentCaptureData" + }, + ] + traits_headers = [ "content_capture_mojom_traits.h" ] + traits_sources = [ "content_capture_mojom_traits.cc" ] + traits_public_deps = [ + ":common", + "//base", + "//ui/gfx/geometry/mojom:mojom_traits", + ] + }, + ] } mojom("mojo_test_types") {
diff --git a/components/content_capture/common/OWNERS b/components/content_capture/common/OWNERS index ae29a36aa..1feb514 100644 --- a/components/content_capture/common/OWNERS +++ b/components/content_capture/common/OWNERS
@@ -2,5 +2,3 @@ per-file *.mojom=file://ipc/SECURITY_OWNERS per-file *_mojom_traits*.*=set noparent per-file *_mojom_traits*.*=file://ipc/SECURITY_OWNERS -per-file *.typemap=set noparent -per-file *.typemap=file://ipc/SECURITY_OWNERS
diff --git a/components/content_capture/common/content_capture.typemap b/components/content_capture/common/content_capture.typemap deleted file mode 100644 index 7e52773f..0000000 --- a/components/content_capture/common/content_capture.typemap +++ /dev/null
@@ -1,20 +0,0 @@ -# Copyright 2019 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -mojom = "//components/content_capture/common/content_capture_data.mojom" -public_headers = - [ "//components/content_capture/common/content_capture_data.h" ] -traits_headers = - [ "//components/content_capture/common/content_capture_mojom_traits.h" ] -sources = [ - "//components/content_capture/common/content_capture_mojom_traits.cc", - "//components/content_capture/common/content_capture_mojom_traits.h", -] -deps = [ - "//base", - "//components/content_capture/common:common", - "//ui/gfx/geometry/mojom:mojom_traits", -] - -type_mappings = [ "content_capture.mojom.ContentCaptureData=::content_capture::ContentCaptureData" ]
diff --git a/components/content_capture/common/content_capture_mojom_traits.h b/components/content_capture/common/content_capture_mojom_traits.h index 16d96795..2fbce3ea 100644 --- a/components/content_capture/common/content_capture_mojom_traits.h +++ b/components/content_capture/common/content_capture_mojom_traits.h
@@ -8,7 +8,7 @@ #include <vector> #include "components/content_capture/common/content_capture_data.h" -#include "components/content_capture/common/content_capture_data.mojom.h" +#include "components/content_capture/common/content_capture_data.mojom-shared.h" #include "mojo/public/cpp/bindings/struct_traits.h" #include "ui/gfx/geometry/rect_f.h"
diff --git a/components/content_settings/core/common/BUILD.gn b/components/content_settings/core/common/BUILD.gn index eacabc4..2caaf31 100644 --- a/components/content_settings/core/common/BUILD.gn +++ b/components/content_settings/core/common/BUILD.gn
@@ -65,6 +65,41 @@ sources = [ "content_settings.mojom" ] public_deps = [ "//mojo/public/mojom/base" ] + + cpp_typemaps = [ + { + types = [ + { + mojom = "content_settings.mojom.PatternParts" + cpp = "::ContentSettingsPattern::PatternParts" + }, + { + mojom = "content_settings.mojom.ContentSettingsPattern" + cpp = "::ContentSettingsPattern" + }, + { + mojom = "content_settings.mojom.ContentSettingsType" + cpp = "::ContentSettingsType" + }, + { + mojom = "content_settings.mojom.ContentSetting" + cpp = "::ContentSetting" + }, + { + mojom = "content_settings.mojom.ContentSettingPatternSource" + cpp = "::ContentSettingPatternSource" + }, + { + mojom = "content_settings.mojom.RendererContentSettingRules" + cpp = "::RendererContentSettingRules" + }, + ] + traits_headers = [ "content_settings_mojom_traits.h" ] + traits_private_headers = [ "content_settings_param_traits.h" ] + traits_sources = [ "content_settings_mojom_traits.cc" ] + traits_public_deps = [ ":common" ] + }, + ] } component("features") {
diff --git a/components/content_settings/core/common/OWNERS b/components/content_settings/core/common/OWNERS index 5c61a4b..3eeba20 100644 --- a/components/content_settings/core/common/OWNERS +++ b/components/content_settings/core/common/OWNERS
@@ -4,8 +4,5 @@ per-file *_mojom_traits*.*=set noparent per-file *_mojom_traits*.*=file://ipc/SECURITY_OWNERS -per-file *.typemap=set noparent -per-file *.typemap=file://ipc/SECURITY_OWNERS - per-file *_param_traits*.*=set noparent per-file *_param_traits*.*=file://ipc/SECURITY_OWNERS
diff --git a/components/content_settings/core/common/content_settings.typemap b/components/content_settings/core/common/content_settings.typemap deleted file mode 100644 index c50fac89..0000000 --- a/components/content_settings/core/common/content_settings.typemap +++ /dev/null
@@ -1,32 +0,0 @@ -# Copyright 2016 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -deps = [ - "//components/content_settings/core/common", - "//mojo/public/cpp/bindings", -] -mojom = "//components/content_settings/core/common/content_settings.mojom" -public_deps = [ - "//components/content_settings/core/common", -] -public_headers = [ - "//components/content_settings/core/common/content_settings.h", - "//components/content_settings/core/common/content_settings_pattern.h", - "//components/content_settings/core/common/content_settings_types.h", -] -sources = [ - "//components/content_settings/core/common/content_settings_mojom_traits.cc", -] -traits_headers = [ - "//components/content_settings/core/common/content_settings_mojom_traits.h", - "//components/content_settings/core/common/content_settings_param_traits.h", -] -type_mappings = [ - "content_settings.mojom.PatternParts=::ContentSettingsPattern::PatternParts", - "content_settings.mojom.ContentSettingsPattern=::ContentSettingsPattern", - "content_settings.mojom.ContentSettingsType=::ContentSettingsType", - "content_settings.mojom.ContentSetting=::ContentSetting", - "content_settings.mojom.ContentSettingPatternSource=::ContentSettingPatternSource", - "content_settings.mojom.RendererContentSettingRules=::RendererContentSettingRules", -]
diff --git a/components/content_settings/core/common/content_settings_mojom_traits.h b/components/content_settings/core/common/content_settings_mojom_traits.h index 7ffaa9b4..e58b9a6 100644 --- a/components/content_settings/core/common/content_settings_mojom_traits.h +++ b/components/content_settings/core/common/content_settings_mojom_traits.h
@@ -9,7 +9,8 @@ #include "base/values.h" #include "components/content_settings/core/common/content_settings.h" -#include "components/content_settings/core/common/content_settings.mojom.h" +#include "components/content_settings/core/common/content_settings.mojom-shared.h" +#include "mojo/public/cpp/base/time_mojom_traits.h" #include "mojo/public/cpp/base/values_mojom_traits.h" #include "mojo/public/cpp/bindings/enum_traits.h" #include "mojo/public/cpp/bindings/struct_traits.h"
diff --git a/components/cronet/android/cronet_bidirectional_stream_adapter.cc b/components/cronet/android/cronet_bidirectional_stream_adapter.cc index 87947697..334aea7 100644 --- a/components/cronet/android/cronet_bidirectional_stream_adapter.cc +++ b/components/cronet/android/cronet_bidirectional_stream_adapter.cc
@@ -11,6 +11,7 @@ #include "base/bind.h" #include "base/location.h" #include "base/logging.h" +#include "base/strings/abseil_string_conversions.h" #include "base/strings/string_number_conversions.h" #include "components/cronet/android/cronet_jni_headers/CronetBidirectionalStream_jni.h" #include "components/cronet/android/cronet_url_request_context_adapter.h" @@ -280,7 +281,8 @@ jint http_status_code = 0; const auto http_status_header = response_headers.find(":status"); if (http_status_header != response_headers.end()) - base::StringToInt(http_status_header->second, &http_status_code); + base::StringToInt(base::StringViewToStringPiece(http_status_header->second), + &http_status_code); std::string protocol; switch (bidi_stream_->GetProtocol()) { @@ -441,7 +443,7 @@ std::vector<std::string> headers; for (const auto& header : header_block) { - std::string value = header.second.as_string(); + auto value = std::string(header.second); size_t start = 0; size_t end = 0; // The do loop will split headers by '\0' so that applications can skip it. @@ -453,7 +455,7 @@ } else { split_value = value.substr(start); } - headers.push_back(header.first.as_string()); + headers.push_back(std::string(header.first)); headers.push_back(split_value); start = end + 1; } while (end != value.npos);
diff --git a/components/feed/features.gni b/components/feed/features.gni index 25745a1..004f897 100644 --- a/components/feed/features.gni +++ b/components/feed/features.gni
@@ -2,7 +2,11 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//chrome/android/channel.gni") + declare_args() { enable_feed_in_chrome = is_android - enable_feed_v2 = is_android + + # TODO(crbug.com/1119406): Temporarily disable on canary for testing. + enable_feed_v2 = is_android && android_channel != "canary" }
diff --git a/components/grpc_support/bidirectional_stream.cc b/components/grpc_support/bidirectional_stream.cc index 2ba28c2..a4a34a1 100644 --- a/components/grpc_support/bidirectional_stream.cc +++ b/components/grpc_support/bidirectional_stream.cc
@@ -15,6 +15,7 @@ #include "base/logging.h" #include "base/memory/ref_counted.h" #include "base/single_thread_task_runner.h" +#include "base/strings/abseil_string_conversions.h" #include "base/strings/string_number_conversions.h" #include "net/base/http_user_agent_settings.h" #include "net/base/io_buffer.h" @@ -186,7 +187,8 @@ int http_status_code = 0; const auto http_status_header = response_headers.find(":status"); if (http_status_header != response_headers.end()) - base::StringToInt(http_status_header->second, &http_status_code); + base::StringToInt(base::StringViewToStringPiece(http_status_header->second), + &http_status_code); const char* protocol = "unknown"; switch (bidi_stream_->GetProtocol()) { case net::kProtoHTTP2:
diff --git a/components/grpc_support/bidirectional_stream_c.cc b/components/grpc_support/bidirectional_stream_c.cc index f1092cc..51b637a5 100644 --- a/components/grpc_support/bidirectional_stream_c.cc +++ b/components/grpc_support/bidirectional_stream_c.cc
@@ -50,7 +50,7 @@ : headers_strings_(header_block.size()) { // Split coalesced headers by '\0' and copy them into |header_strings_|. for (const auto& it : header_block) { - std::string value = it.second.as_string(); + auto value = std::string(it.second); size_t start = 0; size_t end = 0; do { @@ -64,7 +64,7 @@ // |headers_strings_| is initialized to the size of header_block, but // split headers might take up more space. headers_strings_.push_back( - std::make_pair(it.first.as_string(), split_value)); + std::make_pair(std::string(it.first), split_value)); start = end + 1; } while (end != value.npos); }
diff --git a/components/media_router/common/mojom/BUILD.gn b/components/media_router/common/mojom/BUILD.gn index af81bca..b0ff1283 100644 --- a/components/media_router/common/mojom/BUILD.gn +++ b/components/media_router/common/mojom/BUILD.gn
@@ -43,6 +43,52 @@ } disable_variants = true + + cpp_typemaps = [ + { + types = [ + { + mojom = "media_router.mojom.Issue" + cpp = "::media_router::IssueInfo" + }, + { + mojom = "media_router.mojom.Issue.ActionType" + cpp = "::media_router::IssueInfo::Action" + }, + { + mojom = "media_router.mojom.Issue.Severity" + cpp = "::media_router::IssueInfo::Severity" + }, + { + mojom = "media_router.mojom.MediaRoute" + cpp = "::media_router::MediaRoute" + }, + { + mojom = "media_router.mojom.MediaRouteProvider.Id" + cpp = "::media_router::MediaRouteProviderId" + }, + { + mojom = "media_router.mojom.MediaSink" + cpp = "::media_router::MediaSinkInternal" + }, + { + mojom = "media_router.mojom.RouteRequestResultCode" + cpp = "::media_router::RouteRequestResult::ResultCode" + }, + ] + traits_headers = [ "media_router_mojom_traits.h" ] + traits_sources = [ "media_router_mojom_traits.cc" ] + + traits_public_deps = [ + "//components/media_router/common", + "//net", + ] + traits_deps = [ + "//services/network/public/cpp", + "//url/mojom:url_mojom_gurl", + ] + }, + ] } mojom("media_router_test_interfaces") {
diff --git a/components/media_router/common/mojom/OWNERS b/components/media_router/common/mojom/OWNERS index ae29a36aa..1feb514 100644 --- a/components/media_router/common/mojom/OWNERS +++ b/components/media_router/common/mojom/OWNERS
@@ -2,5 +2,3 @@ per-file *.mojom=file://ipc/SECURITY_OWNERS per-file *_mojom_traits*.*=set noparent per-file *_mojom_traits*.*=file://ipc/SECURITY_OWNERS -per-file *.typemap=set noparent -per-file *.typemap=file://ipc/SECURITY_OWNERS
diff --git a/components/media_router/common/mojom/media_router.typemap b/components/media_router/common/mojom/media_router.typemap deleted file mode 100644 index beab1437..0000000 --- a/components/media_router/common/mojom/media_router.typemap +++ /dev/null
@@ -1,36 +0,0 @@ -# Copyright 2016 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -mojom = "//components/media_router/common/mojom/media_router.mojom" -public_headers = [ - "//components/media_router/common/discovery/media_sink_internal.h", - "//components/media_router/common/issue.h", - "//components/media_router/common/media_route.h", - "//components/media_router/common/media_route_provider_helper.h", - "//components/media_router/common/media_sink.h", - "//components/media_router/common/media_source.h", - "//components/media_router/common/route_request_result.h", -] -public_deps = [ - "//components/media_router/common", - "//content/public/common", -] -deps = [ - "//net", - "//third_party/icu", # For issue.h - "//url", -] -traits_headers = - [ "//components/media_router/common/mojom/media_router_mojom_traits.h" ] -sources = - [ "//components/media_router/common/mojom/media_router_mojom_traits.cc" ] -type_mappings = [ - "media_router.mojom.Issue=::media_router::IssueInfo", - "media_router.mojom.Issue.ActionType=::media_router::IssueInfo::Action", - "media_router.mojom.Issue.Severity=::media_router::IssueInfo::Severity", - "media_router.mojom.MediaRoute=::media_router::MediaRoute", - "media_router.mojom.MediaRouteProvider.Id=::media_router::MediaRouteProviderId", - "media_router.mojom.MediaSink=::media_router::MediaSinkInternal", - "media_router.mojom.RouteRequestResultCode=::media_router::RouteRequestResult::ResultCode", -]
diff --git a/components/media_router/common/mojom/media_router_mojom_traits.cc b/components/media_router/common/mojom/media_router_mojom_traits.cc index aaff251..0cc9893 100644 --- a/components/media_router/common/mojom/media_router_mojom_traits.cc +++ b/components/media_router/common/mojom/media_router_mojom_traits.cc
@@ -5,6 +5,7 @@ #include "components/media_router/common/mojom/media_router_mojom_traits.h" #include "components/media_router/common/media_source.h" +#include "components/media_router/common/mojom/media_router.mojom.h" #include "services/network/public/cpp/ip_address_mojom_traits.h" #include "services/network/public/cpp/ip_endpoint_mojom_traits.h" #include "url/mojom/url_gurl_mojom_traits.h"
diff --git a/components/media_router/common/mojom/media_router_mojom_traits.h b/components/media_router/common/mojom/media_router_mojom_traits.h index 7eaebf3..535164c 100644 --- a/components/media_router/common/mojom/media_router_mojom_traits.h +++ b/components/media_router/common/mojom/media_router_mojom_traits.h
@@ -9,7 +9,7 @@ #include "components/media_router/common/discovery/media_sink_internal.h" #include "components/media_router/common/issue.h" -#include "components/media_router/common/mojom/media_router.mojom.h" +#include "components/media_router/common/mojom/media_router.mojom-shared.h" #include "components/media_router/common/route_request_result.h" #include "net/base/ip_endpoint.h" @@ -18,27 +18,27 @@ // Issue template <> -struct EnumTraits<media_router::mojom::Issue::ActionType, +struct EnumTraits<media_router::mojom::Issue_ActionType, media_router::IssueInfo::Action> { - static media_router::mojom::Issue::ActionType ToMojom( + static media_router::mojom::Issue_ActionType ToMojom( media_router::IssueInfo::Action action) { switch (action) { case media_router::IssueInfo::Action::DISMISS: - return media_router::mojom::Issue::ActionType::DISMISS; + return media_router::mojom::Issue_ActionType::DISMISS; case media_router::IssueInfo::Action::LEARN_MORE: - return media_router::mojom::Issue::ActionType::LEARN_MORE; + return media_router::mojom::Issue_ActionType::LEARN_MORE; } NOTREACHED() << "Unknown issue action type " << static_cast<int>(action); - return media_router::mojom::Issue::ActionType::DISMISS; + return media_router::mojom::Issue_ActionType::DISMISS; } - static bool FromMojom(media_router::mojom::Issue::ActionType input, + static bool FromMojom(media_router::mojom::Issue_ActionType input, media_router::IssueInfo::Action* output) { switch (input) { - case media_router::mojom::Issue::ActionType::DISMISS: + case media_router::mojom::Issue_ActionType::DISMISS: *output = media_router::IssueInfo::Action::DISMISS; return true; - case media_router::mojom::Issue::ActionType::LEARN_MORE: + case media_router::mojom::Issue_ActionType::LEARN_MORE: *output = media_router::IssueInfo::Action::LEARN_MORE; return true; } @@ -47,32 +47,32 @@ }; template <> -struct EnumTraits<media_router::mojom::Issue::Severity, +struct EnumTraits<media_router::mojom::Issue_Severity, media_router::IssueInfo::Severity> { - static media_router::mojom::Issue::Severity ToMojom( + static media_router::mojom::Issue_Severity ToMojom( media_router::IssueInfo::Severity severity) { switch (severity) { case media_router::IssueInfo::Severity::FATAL: - return media_router::mojom::Issue::Severity::FATAL; + return media_router::mojom::Issue_Severity::FATAL; case media_router::IssueInfo::Severity::WARNING: - return media_router::mojom::Issue::Severity::WARNING; + return media_router::mojom::Issue_Severity::WARNING; case media_router::IssueInfo::Severity::NOTIFICATION: - return media_router::mojom::Issue::Severity::NOTIFICATION; + return media_router::mojom::Issue_Severity::NOTIFICATION; } NOTREACHED() << "Unknown issue severity " << static_cast<int>(severity); - return media_router::mojom::Issue::Severity::WARNING; + return media_router::mojom::Issue_Severity::WARNING; } - static bool FromMojom(media_router::mojom::Issue::Severity input, + static bool FromMojom(media_router::mojom::Issue_Severity input, media_router::IssueInfo::Severity* output) { switch (input) { - case media_router::mojom::Issue::Severity::FATAL: + case media_router::mojom::Issue_Severity::FATAL: *output = media_router::IssueInfo::Severity::FATAL; return true; - case media_router::mojom::Issue::Severity::WARNING: + case media_router::mojom::Issue_Severity::WARNING: *output = media_router::IssueInfo::Severity::WARNING; return true; - case media_router::mojom::Issue::Severity::NOTIFICATION: + case media_router::mojom::Issue_Severity::NOTIFICATION: *output = media_router::IssueInfo::Severity::NOTIFICATION; return true; } @@ -491,40 +491,40 @@ // MediaRouteProvider template <> -struct EnumTraits<media_router::mojom::MediaRouteProvider::Id, +struct EnumTraits<media_router::mojom::MediaRouteProvider_Id, media_router::MediaRouteProviderId> { - static media_router::mojom::MediaRouteProvider::Id ToMojom( + static media_router::mojom::MediaRouteProvider_Id ToMojom( media_router::MediaRouteProviderId provider_id) { switch (provider_id) { case media_router::MediaRouteProviderId::EXTENSION: - return media_router::mojom::MediaRouteProvider::Id::EXTENSION; + return media_router::mojom::MediaRouteProvider_Id::EXTENSION; case media_router::MediaRouteProviderId::WIRED_DISPLAY: - return media_router::mojom::MediaRouteProvider::Id::WIRED_DISPLAY; + return media_router::mojom::MediaRouteProvider_Id::WIRED_DISPLAY; case media_router::MediaRouteProviderId::CAST: - return media_router::mojom::MediaRouteProvider::Id::CAST; + return media_router::mojom::MediaRouteProvider_Id::CAST; case media_router::MediaRouteProviderId::DIAL: - return media_router::mojom::MediaRouteProvider::Id::DIAL; + return media_router::mojom::MediaRouteProvider_Id::DIAL; case media_router::MediaRouteProviderId::UNKNOWN: break; } - NOTREACHED() << "Invalid MediaRouteProvider::Id: " + NOTREACHED() << "Invalid MediaRouteProvider_Id: " << static_cast<int>(provider_id); - return media_router::mojom::MediaRouteProvider::Id::EXTENSION; + return media_router::mojom::MediaRouteProvider_Id::EXTENSION; } - static bool FromMojom(media_router::mojom::MediaRouteProvider::Id input, + static bool FromMojom(media_router::mojom::MediaRouteProvider_Id input, media_router::MediaRouteProviderId* provider_id) { switch (input) { - case media_router::mojom::MediaRouteProvider::Id::EXTENSION: + case media_router::mojom::MediaRouteProvider_Id::EXTENSION: *provider_id = media_router::MediaRouteProviderId::EXTENSION; return true; - case media_router::mojom::MediaRouteProvider::Id::WIRED_DISPLAY: + case media_router::mojom::MediaRouteProvider_Id::WIRED_DISPLAY: *provider_id = media_router::MediaRouteProviderId::WIRED_DISPLAY; return true; - case media_router::mojom::MediaRouteProvider::Id::CAST: + case media_router::mojom::MediaRouteProvider_Id::CAST: *provider_id = media_router::MediaRouteProviderId::CAST; return true; - case media_router::mojom::MediaRouteProvider::Id::DIAL: + case media_router::mojom::MediaRouteProvider_Id::DIAL: *provider_id = media_router::MediaRouteProviderId::DIAL; return true; }
diff --git a/components/media_router/common/mojom/typemaps.gni b/components/media_router/common/mojom/typemaps.gni deleted file mode 100644 index 96e05f2e..0000000 --- a/components/media_router/common/mojom/typemaps.gni +++ /dev/null
@@ -1,5 +0,0 @@ -# Copyright 2016 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -typemaps = [ "//components/media_router/common/mojom/media_router.typemap" ]
diff --git a/components/nacl/common/BUILD.gn b/components/nacl/common/BUILD.gn index 4e5f46c..c785b79 100644 --- a/components/nacl/common/BUILD.gn +++ b/components/nacl/common/BUILD.gn
@@ -107,6 +107,25 @@ mojom("mojo_bindings") { sources = [ "nacl.mojom" ] + cpp_typemaps = [ + { + types = [ + { + mojom = "nacl.mojom.NaClErrorCode" + cpp = "::NaClErrorCode" + }, + ] + traits_headers = + [ "//native_client/src/trusted/service_runtime/nacl_error_code.h" ] + traits_private_headers = + [ "//components/nacl/common/nacl_types_param_traits.h" ] + traits_public_deps = [ + ":minimal", + ":nacl_error_code", + ] + traits_deps = [ "//ipc" ] + }, + ] } }
diff --git a/components/nacl/common/nacl.typemap b/components/nacl/common/nacl.typemap deleted file mode 100644 index 019d805..0000000 --- a/components/nacl/common/nacl.typemap +++ /dev/null
@@ -1,15 +0,0 @@ -# Copyright 2016 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -mojom = "//components/nacl/common/nacl.mojom" -public_headers = - [ "//native_client/src/trusted/service_runtime/nacl_error_code.h" ] -traits_headers = [ "//components/nacl/common/nacl_types_param_traits.h" ] -deps = [ - "//components/nacl/common:minimal", - "//components/nacl/common:nacl_error_code", - "//ipc", -] - -type_mappings = [ "nacl.mojom.NaClErrorCode=::NaClErrorCode" ]
diff --git a/components/os_crypt/BUILD.gn b/components/os_crypt/BUILD.gn index c32f076b..b1ffef9 100644 --- a/components/os_crypt/BUILD.gn +++ b/components/os_crypt/BUILD.gn
@@ -8,6 +8,12 @@ import("//build/config/ui.gni") import("//components/os_crypt/features.gni") +# Reset sources_assignment_filter for the BUILD.gn file to prevent +# regression during the migration of Chromium away from the feature. +# See docs/no_sources_assignment_filter.md for more information. +# TODO(crbug.com/1018739): remove this when migration is done. +set_sources_assignment_filter([]) + if (use_gnome_keyring) { # Gnome-keyring is normally dynamically loaded. The gnome_keyring config # will set this up. @@ -32,13 +38,9 @@ component("os_crypt") { sources = [ - "keychain_password_mac.h", - "keychain_password_mac.mm", "os_crypt.h", - "os_crypt_mac.mm", "os_crypt_switches.cc", "os_crypt_switches.h", - "os_crypt_win.cc", ] deps = [ @@ -58,17 +60,16 @@ sources += [ "os_crypt_posix.cc" ] } - if (is_ios) { - set_sources_assignment_filter([]) + if (is_apple) { sources += [ "keychain_password_mac.h", "keychain_password_mac.mm", "os_crypt_mac.mm", ] - set_sources_assignment_filter(sources_assignment_filter) } if (is_win) { + sources += [ "os_crypt_win.cc" ] libs = [ "crypt32.lib" ] } @@ -148,10 +149,7 @@ source_set("unit_tests") { testonly = true - sources = [ - "keychain_password_mac_unittest.mm", - "os_crypt_unittest.cc", - ] + sources = [ "os_crypt_unittest.cc" ] deps = [ ":os_crypt", ":test_support", @@ -164,10 +162,8 @@ "//testing/gtest", ] - if (is_ios) { - set_sources_assignment_filter([]) + if (is_apple) { sources += [ "keychain_password_mac_unittest.mm" ] - set_sources_assignment_filter(sources_assignment_filter) } if (is_desktop_linux && !is_chromecast) {
diff --git a/components/password_manager/content/common/OWNERS b/components/password_manager/content/common/OWNERS index 7aebc8abb..d5fefd8 100644 --- a/components/password_manager/content/common/OWNERS +++ b/components/password_manager/content/common/OWNERS
@@ -1,4 +1,2 @@ per-file *_mojom_traits*.*=set noparent per-file *_mojom_traits*.*=file://ipc/SECURITY_OWNERS -per-file *.typemap=set noparent -per-file *.typemap=file://ipc/SECURITY_OWNERS
diff --git a/components/password_manager/content/common/credential_manager.typemap b/components/password_manager/content/common/credential_manager.typemap deleted file mode 100644 index cdd69b2..0000000 --- a/components/password_manager/content/common/credential_manager.typemap +++ /dev/null
@@ -1,22 +0,0 @@ -# Copyright 2016 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -mojom = "//third_party/blink/public/mojom/credentialmanager/credential_manager.mojom" -public_headers = - [ "//components/password_manager/core/common/credential_manager_types.h" ] -traits_headers = [ "//components/password_manager/content/common/credential_manager_mojom_traits.h" ] -sources = [ - "//components/password_manager/content/common/credential_manager_mojom_traits.cc", -] -deps = [ - "//base", - "//components/password_manager/core/common", -] - -type_mappings = [ - "blink.mojom.CredentialType=::password_manager::CredentialType", - "blink.mojom.CredentialMediationRequirement=::password_manager::CredentialMediationRequirement", - "blink.mojom.CredentialInfo=::password_manager::CredentialInfo", - "blink.mojom.CredentialManagerError=::password_manager::CredentialManagerError", -]
diff --git a/components/password_manager/core/browser/well_known_change_password_state.cc b/components/password_manager/core/browser/well_known_change_password_state.cc index 564ad95f..70f2f6f 100644 --- a/components/password_manager/core/browser/well_known_change_password_state.cc +++ b/components/password_manager/core/browser/well_known_change_password_state.cc
@@ -4,6 +4,9 @@ #include "components/password_manager/core/browser/well_known_change_password_state.h" +#include <utility> + +#include "base/optional.h" #include "components/password_manager/core/browser/site_affiliation/affiliation_service.h" #include "components/password_manager/core/browser/well_known_change_password_util.h" #include "net/base/load_flags.h" @@ -12,6 +15,7 @@ #include "services/network/public/cpp/resource_request.h" #include "services/network/public/cpp/shared_url_loader_factory.h" #include "services/network/public/cpp/simple_url_loader.h" +#include "url/origin.h" using password_manager::WellKnownChangePasswordState; using password_manager::WellKnownChangePasswordStateDelegate; @@ -22,11 +26,16 @@ // Creates a SimpleURLLoader for a request to the non existing resource path for // a given |url|. std::unique_ptr<network::SimpleURLLoader> -CreateResourceRequestToWellKnownNonExistingResourceFor(const GURL& url) { +CreateResourceRequestToWellKnownNonExistingResourceFor( + const GURL& url, + base::Optional<url::Origin> request_initiator, + base::Optional<network::ResourceRequest::TrustedParams> trusted_params) { auto resource_request = std::make_unique<network::ResourceRequest>(); resource_request->url = CreateWellKnownNonExistingResourceURL(url); resource_request->credentials_mode = network::mojom::CredentialsMode::kOmit; resource_request->load_flags = net::LOAD_DISABLE_CACHE; + resource_request->request_initiator = std::move(request_initiator); + resource_request->trusted_params = std::move(trusted_params); net::NetworkTrafficAnnotationTag traffic_annotation = net::DefineNetworkTrafficAnnotation( "well_known_path_that_should_not_exist", @@ -68,8 +77,11 @@ void WellKnownChangePasswordState::FetchNonExistingResource( network::SharedURLLoaderFactory* url_loader_factory, - const GURL& url) { - url_loader_ = CreateResourceRequestToWellKnownNonExistingResourceFor(url); + const GURL& url, + base::Optional<url::Origin> request_initiator, + base::Optional<network::ResourceRequest::TrustedParams> trusted_params) { + url_loader_ = CreateResourceRequestToWellKnownNonExistingResourceFor( + url, std::move(request_initiator), std::move(trusted_params)); // Binding the callback to |this| is safe, because the State exists until // OnProcessingFinished is called which can only be called after the response // arrives. @@ -126,4 +138,4 @@ non_existing_resource_response_code_ == net::HTTP_NOT_FOUND; } -} // namespace password_manager \ No newline at end of file +} // namespace password_manager
diff --git a/components/password_manager/core/browser/well_known_change_password_state.h b/components/password_manager/core/browser/well_known_change_password_state.h index a9ab5497..7c11a35 100644 --- a/components/password_manager/core/browser/well_known_change_password_state.h +++ b/components/password_manager/core/browser/well_known_change_password_state.h
@@ -9,8 +9,11 @@ #include "base/memory/scoped_refptr.h" #include "base/memory/weak_ptr.h" +#include "base/optional.h" +#include "services/network/public/cpp/resource_request.h" #include "services/network/public/cpp/simple_url_loader.h" #include "url/gurl.h" +#include "url/origin.h" namespace network { class SharedURLLoaderFactory; @@ -34,9 +37,14 @@ password_manager::WellKnownChangePasswordStateDelegate* delegate); ~WellKnownChangePasswordState(); // Request the status code from a path that is expected to return 404. + // In order to avoid security issues `request_initiator` and `trusted_params` + // need to be derived from the initial navigation. These are not set on iOS. void FetchNonExistingResource( network::SharedURLLoaderFactory* url_loader_factory, - const GURL& origin); + const GURL& origin, + base::Optional<url::Origin> request_initiator = base::nullopt, + base::Optional<network::ResourceRequest::TrustedParams> trusted_params = + base::nullopt); // Prefetch change password URLs from |affiliation_service|. void PrefetchChangePasswordURLs(AffiliationService* affiliation_service, const std::vector<GURL>& urls);
diff --git a/components/password_manager/core/browser/well_known_change_password_state_unittest.cc b/components/password_manager/core/browser/well_known_change_password_state_unittest.cc index ecc902a..f9637e6 100644 --- a/components/password_manager/core/browser/well_known_change_password_state_unittest.cc +++ b/components/password_manager/core/browser/well_known_change_password_state_unittest.cc
@@ -7,12 +7,16 @@ #include "base/task/post_task.h" #include "base/test/task_environment.h" #include "components/password_manager/core/browser/well_known_change_password_util.h" +#include "net/base/isolation_info.h" +#include "net/base/load_flags.h" +#include "services/network/public/cpp/resource_request.h" #include "services/network/public/cpp/weak_wrapper_shared_url_loader_factory.h" #include "services/network/test/test_shared_url_loader_factory.h" #include "services/network/test/test_url_loader_factory.h" #include "services/network/test/test_utils.h" #include "testing/gmock/include/gmock/gmock.h" #include "testing/gtest/include/gtest/gtest.h" +#include "url/origin.h" namespace password_manager { @@ -23,7 +27,7 @@ int not_exist_delay; }; -constexpr char kOrigin[] = "foo.bar"; +constexpr char kOrigin[] = "https://foo.bar"; class MockWellKnownChangePasswordStateDelegate : public WellKnownChangePasswordStateDelegate { @@ -39,8 +43,13 @@ public testing::WithParamInterface<ResponseDelayParams> { public: WellKnownChangePasswordStateTest() { - state_.FetchNonExistingResource(test_shared_loader_factory_.get(), - GURL(kOrigin)); + auto origin = url::Origin::Create(GURL(kOrigin)); + trusted_params_.isolation_info = net::IsolationInfo::CreatePartial( + net::IsolationInfo::RedirectMode::kUpdateNothing, + net::NetworkIsolationKey(origin, origin)); + state_.FetchNonExistingResource( + test_shared_loader_factory_.get(), GURL(kOrigin), + url::Origin::Create(GURL(kOrigin)), trusted_params_); } // Mocking and sending the response for the non_existing request with status // code |status| after a time delay |delay|. @@ -61,6 +70,7 @@ base::test::TaskEnvironment::TimeSource::MOCK_TIME}; MockWellKnownChangePasswordStateDelegate delegate_; WellKnownChangePasswordState state_{&delegate_}; + network::ResourceRequest::TrustedParams trusted_params_; network::TestURLLoaderFactory test_url_loader_factory_; scoped_refptr<network::SharedURLLoaderFactory> test_shared_loader_factory_ = base::MakeRefCounted<network::WeakWrapperSharedURLLoaderFactory>( @@ -70,7 +80,14 @@ void WellKnownChangePasswordStateTest::RespondeToNonExistingRequest( net::HttpStatusCode status, int delay) { - EXPECT_EQ(test_url_loader_factory_.NumPending(), 1); + ASSERT_EQ(test_url_loader_factory_.NumPending(), 1); + const network::ResourceRequest& request = + test_url_loader_factory_.GetPendingRequest(0)->request; + EXPECT_EQ(CreateWellKnownNonExistingResourceURL(GURL(kOrigin)), request.url); + EXPECT_EQ(network::mojom::CredentialsMode::kOmit, request.credentials_mode); + EXPECT_EQ(net::LOAD_DISABLE_CACHE, request.load_flags); + EXPECT_EQ(url::Origin::Create(GURL(kOrigin)), request.request_initiator); + EXPECT_TRUE(request.trusted_params->EqualsForTesting(trusted_params_)); base::SequencedTaskRunnerHandle::Get()->PostDelayedTask( FROM_HERE, base::BindOnce( @@ -156,4 +173,4 @@ WellKnownChangePasswordStateTest, ::testing::ValuesIn(kDelayParams)); -} // namespace password_manager \ No newline at end of file +} // namespace password_manager
diff --git a/components/performance_manager/decorators/page_live_state_decorator.cc b/components/performance_manager/decorators/page_live_state_decorator.cc index 75f8973..064c022 100644 --- a/components/performance_manager/decorators/page_live_state_decorator.cc +++ b/components/performance_manager/decorators/page_live_state_decorator.cc
@@ -36,7 +36,8 @@ bool IsCapturingVideo() const override { return is_capturing_video_; } bool IsCapturingAudio() const override { return is_capturing_audio_; } bool IsBeingMirrored() const override { return is_being_mirrored_; } - bool IsCapturingDesktop() const override { return is_capturing_desktop_; } + bool IsCapturingWindow() const override { return is_capturing_window_; } + bool IsCapturingDisplay() const override { return is_capturing_display_; } bool IsAutoDiscardable() const override { return is_auto_discardable_; } bool WasDiscarded() const override { return was_discarded_; } @@ -56,8 +57,11 @@ void set_is_being_mirrored(bool is_being_mirrored) { is_being_mirrored_ = is_being_mirrored; } - void set_is_capturing_desktop(bool is_capturing_desktop) { - is_capturing_desktop_ = is_capturing_desktop; + void set_is_capturing_window(bool is_capturing_window) { + is_capturing_window_ = is_capturing_window; + } + void set_is_capturing_display(bool is_capturing_display) { + is_capturing_display_ = is_capturing_display; } void set_is_auto_discardable(bool is_auto_discardable) { is_auto_discardable_ = is_auto_discardable; @@ -77,7 +81,8 @@ bool is_capturing_video_ = false; bool is_capturing_audio_ = false; bool is_being_mirrored_ = false; - bool is_capturing_desktop_ = false; + bool is_capturing_window_ = false; + bool is_capturing_display_ = false; bool is_auto_discardable_ = true; bool was_discarded_ = false; }; @@ -132,12 +137,21 @@ } // static -void PageLiveStateDecorator::OnIsCapturingDesktopChanged( +void PageLiveStateDecorator::OnIsCapturingWindowChanged( content::WebContents* contents, - bool is_capturing_desktop) { + bool is_capturing_window) { SetPropertyForWebContentsPageNode( - contents, &PageLiveStateDataImpl::set_is_capturing_desktop, - is_capturing_desktop); + contents, &PageLiveStateDataImpl::set_is_capturing_window, + is_capturing_window); +} + +// static +void PageLiveStateDecorator::OnIsCapturingDisplayChanged( + content::WebContents* contents, + bool is_capturing_display) { + SetPropertyForWebContentsPageNode( + contents, &PageLiveStateDataImpl::set_is_capturing_display, + is_capturing_display); } // static @@ -178,7 +192,8 @@ ret.SetBoolKey("IsCapturingVideo", data->IsCapturingVideo()); ret.SetBoolKey("IsCapturingAudio", data->IsCapturingAudio()); ret.SetBoolKey("IsBeingMirrored", data->IsBeingMirrored()); - ret.SetBoolKey("IsCapturingDesktop", data->IsCapturingDesktop()); + ret.SetBoolKey("IsCapturingWindow", data->IsCapturingWindow()); + ret.SetBoolKey("IsCapturingDisplay", data->IsCapturingDisplay()); ret.SetBoolKey("IsAutoDiscardable", data->IsAutoDiscardable()); ret.SetBoolKey("WasDiscarded", data->WasDiscarded());
diff --git a/components/performance_manager/decorators/page_live_state_decorator_unittest.cc b/components/performance_manager/decorators/page_live_state_decorator_unittest.cc index f449f084d..6fd9942 100644 --- a/components/performance_manager/decorators/page_live_state_decorator_unittest.cc +++ b/components/performance_manager/decorators/page_live_state_decorator_unittest.cc
@@ -61,10 +61,16 @@ &PageLiveStateDecorator::OnIsBeingMirroredChanged); } -TEST_F(PageLiveStateDecoratorTest, OnIsCapturingDesktopChanged) { +TEST_F(PageLiveStateDecoratorTest, OnIsCapturingWindowChanged) { testing::EndToEndBooleanPropertyTest( - web_contents(), &PageLiveStateDecorator::Data::IsCapturingDesktop, - &PageLiveStateDecorator::OnIsCapturingDesktopChanged); + web_contents(), &PageLiveStateDecorator::Data::IsCapturingWindow, + &PageLiveStateDecorator::OnIsCapturingWindowChanged); +} + +TEST_F(PageLiveStateDecoratorTest, OnIsCapturingDisplayChanged) { + testing::EndToEndBooleanPropertyTest( + web_contents(), &PageLiveStateDecorator::Data::IsCapturingDisplay, + &PageLiveStateDecorator::OnIsCapturingDisplayChanged); } TEST_F(PageLiveStateDecoratorTest, SetIsAutoDiscardable) {
diff --git a/components/performance_manager/public/decorators/page_live_state_decorator.h b/components/performance_manager/public/decorators/page_live_state_decorator.h index 869be86..e590575 100644 --- a/components/performance_manager/public/decorators/page_live_state_decorator.h +++ b/components/performance_manager/public/decorators/page_live_state_decorator.h
@@ -48,8 +48,10 @@ bool is_capturing_audio); static void OnIsBeingMirroredChanged(content::WebContents* contents, bool is_being_mirrored); - static void OnIsCapturingDesktopChanged(content::WebContents* contents, - bool is_capturing_desktop); + static void OnIsCapturingWindowChanged(content::WebContents* contents, + bool is_capturing_window); + static void OnIsCapturingDisplayChanged(content::WebContents* contents, + bool is_capturing_display); // Set the auto discardable property. This indicates whether or not the page // can be discarded during an intervention. @@ -80,7 +82,8 @@ virtual bool IsCapturingVideo() const = 0; virtual bool IsCapturingAudio() const = 0; virtual bool IsBeingMirrored() const = 0; - virtual bool IsCapturingDesktop() const = 0; + virtual bool IsCapturingWindow() const = 0; + virtual bool IsCapturingDisplay() const = 0; virtual bool IsAutoDiscardable() const = 0; virtual bool WasDiscarded() const = 0;
diff --git a/components/policy/resources/policy_templates.json b/components/policy/resources/policy_templates.json index ebc635c..77df055 100644 --- a/components/policy/resources/policy_templates.json +++ b/components/policy/resources/policy_templates.json
@@ -23487,6 +23487,10 @@ # DeviceUpdateAllowedConnectionTypes is not generatable since the proto # uses enums, whereas the schema uses strings. ['DeviceUpdateAllowedConnectionTypes', 'auto_update_settings.allowed_connection_types'], + # NetworkThrottlingEnabled is one-to-many and uses a strongly typed proto. + ['NetworkThrottlingEnabled', 'network_throttling.enabled'], + ['NetworkThrottlingEnabled', 'network_throttling.upload_rate_kbits'], + ['NetworkThrottlingEnabled', 'network_throttling.download_rate_kbits'], ], # Mapping between device policies and fields in chrome_device_policy.proto. # Code for these policies can be generated. Add new device policies here! @@ -23601,9 +23605,6 @@ 'ReportDeviceVpdInfo': 'device_reporting.report_vpd_info', 'ReportDeviceSystemInfo': 'device_reporting.report_system_info', 'ReportUploadFrequency': 'device_reporting.device_status_frequency', - 'NetworkThrottlingEnabled': 'network_throttling.enabled', - 'NetworkThrottlingEnabled': 'network_throttling.upload_rate_kbits', - 'NetworkThrottlingEnabled': 'network_throttling.download_rate_kbits', 'DeviceLoginScreenPowerManagement': 'login_screen_power_management.login_screen_power_management', 'DeviceChromeVariations': 'device_chrome_variations_type.value', 'DeviceDisplayResolution': 'device_display_resolution.device_display_resolution',
diff --git a/components/policy/resources/policy_templates_de.xtb b/components/policy/resources/policy_templates_de.xtb index 7a3029a..8d64f79 100644 --- a/components/policy/resources/policy_templates_de.xtb +++ b/components/policy/resources/policy_templates_de.xtb
@@ -2199,6 +2199,11 @@ Wird sie nicht konfiguriert, ist die Bedienungshilfe "Textcursor hervorheben" auf dem Anmeldebildschirm anfangs deaktiviert, kann jedoch vom Nutzer jederzeit aktiviert werden.</translation> <translation id="4183229833636799228">"<ph name="FLASH_PLUGIN_NAME" />" als Standardeinstellung</translation> <translation id="4192388905594723944">URL zur Überprüfung des Client-Authentifizierungs-Tokens für den Remotezugriff</translation> +<translation id="4196466220333757818">Mit dieser Richtlinie wird festgelegt, welche Erweiterungen zum Zweck der Remote-Bestätigung mithilfe der <ph name="CHALLENGE_USER_KEY_FUNCTION" /> die<ph name="ENTERPRISE_PLATFORM_KEYS_API" /> verwenden dürfen. Damit eine Erweiterung die API verwenden darf, muss sie zu dieser Liste hinzugefügt werden. + + Wenn eine Erweiterung nicht in der Liste enthalten ist oder keine Liste festgelegt wurde, treten beim API-Aufruf Fehler auf und ein Fehlercode wird angezeigt. + + Diese Richtlinie wurde eingestellt. Bitte verwenden Sie stattdessen <ph name="ATTESTATION_EXTENSION_ALLOWLIST_POLICY_NAME" />.</translation> <translation id="4203389617541558220">Hiermit kann die Betriebszeit des Geräts durch die Planung automatischer Neustarts begrenzt werden. Wenn diese Richtlinie konfiguriert ist, wird damit die Dauer der Gerätebetriebszeit angegeben, nach der ein automatischer Neustart geplant ist. @@ -3206,6 +3211,9 @@ Wenn diese Richtlinie nicht konfiguriert ist, gilt die Standardeinstellung: Vom Unternehmen verwaltete Nutzer können die Funktion nicht verwenden, während sie für nicht verwaltete Nutzer zur Verfügung steht.</translation> <translation id="5584132346604748282">Standortdienste von Google unter Android konfigurieren</translation> +<translation id="5585568978223984334">Mit dieser Richtlinie wird festgelegt, welche Erweiterungen zum Zweck der Remote-Bestätigung die <ph name="ENTERPRISE_PLATFORM_KEYS_API" /> verwenden dürfen. Damit eine Erweiterung die API verwenden darf, muss sie zu dieser Liste hinzugefügt werden. + + Wenn eine Erweiterung nicht in der Liste enthalten ist oder keine Liste festgelegt wurde, treten beim API-Aufruf Fehler auf und ein Fehlercode wird angezeigt.</translation> <translation id="5586942249556966598">Nichts tun</translation> <translation id="5590494712401018042">Hiermit wird der Prozentsatz angegeben, um den die Verzögerung für die Bildschirmabdunkelung skaliert wird, wenn sich das Gerät im Präsentationsmodus befindet.
diff --git a/components/policy/resources/policy_templates_es-419.xtb b/components/policy/resources/policy_templates_es-419.xtb index 0300a44..9f4ae60 100644 --- a/components/policy/resources/policy_templates_es-419.xtb +++ b/components/policy/resources/policy_templates_es-419.xtb
@@ -2217,6 +2217,11 @@ Si no la estableces, la función para resaltar el signo de intercalación estará inicialmente inhabilitada en la pantalla de acceso, pero el usuario podrá habilitarla en cualquier momento.</translation> <translation id="4183229833636799228">Configuración predeterminada de <ph name="FLASH_PLUGIN_NAME" /></translation> <translation id="4192388905594723944">URL para la validación del token de autenticación del cliente de acceso remoto</translation> +<translation id="4196466220333757818">Esta política especifica las extensiones con permiso para usar la función <ph name="CHALLENGE_USER_KEY_FUNCTION" /> de <ph name="ENTERPRISE_PLATFORM_KEYS_API" /> a fin de realizar la certificación remota. Para usar la API, las extensiones deben agregarse a esta lista. + + Si una extensión no está en la lista o no se establece la lista, las llamadas a la API fallarán y se mostrará un código de error. + + Esta política es obsoleta; usa la política <ph name="ATTESTATION_EXTENSION_ALLOWLIST_POLICY_NAME" /> en su lugar.</translation> <translation id="4203389617541558220">Limita el tiempo de actividad del dispositivo mediante la programación de reinicio automático. Si se establece esta política, se especifica el tiempo de actividad del dispositivo que debe transcurrir para que se programe un reinicio automático. @@ -2931,6 +2936,7 @@ <translation id="5293044154216294358">Si estableces la política como verdadera, los usuarios podrán jugar al juego del dinosaurio. Si estableces la política como falsa, los usuarios no podrán jugar al juego del huevo de pascua del dinosaurio cuando el dispositivo esté sin conexión. Si no la estableces, los usuario no podrán jugar al juego en el <ph name="PRODUCT_OS_NAME" /> registrado, pero podrán hacerlo en otras circunstancias.</translation> +<translation id="529457411593078576">Habilita las Condiciones del Servicio en la primera ejecución para CCT</translation> <translation id="5306186200045823863">Habilitar la confianza en la infraestructura de PKI heredada de Symantec Corporation</translation> <translation id="5307432759655324440">Disponibilidad del modo incógnito</translation> <translation id="5311275381462687162">Configuración predeterminada del atributo heredado <ph name="ATTRIBUTE_SAMESITE_NAME" /> para el comportamiento de las cookies</translation> @@ -3219,6 +3225,9 @@ Si no se configura esta política, la acción predeterminada no se permite para los usuarios administrados por empresas y sí se permite para los usuarios no administrados.</translation> <translation id="5584132346604748282">Controla los servicios de ubicación de Google para Android</translation> +<translation id="5585568978223984334">Esta política especifica las extensiones con permiso para usar las funciones de <ph name="ENTERPRISE_PLATFORM_KEYS_API" /> a fin de realizar la certificación remota. Para poder usar la API, las extensiones deben agregarse a esta lista. + + Si una extensión no está en la lista o no se establece la lista, las llamadas a la API fallarán y se mostrará un código de error.</translation> <translation id="5586942249556966598">No hacer nada</translation> <translation id="5590494712401018042">Indica el porcentaje en el que debe ajustarse la demora de atenuación de la pantalla en el modo de presentación. @@ -4548,6 +4557,17 @@ <translation id="747014869399137701">Si estableces la política en 1, los sitios web podrán mostrar notificaciones de escritorio. Si la estableces en 2, se rechazarán las notificaciones de escritorio. Si no la estableces, se aplicará la política <ph name="ASK_NOTIFICATIONS_POLICY_NAME" />, pero los usuarios podrán cambiar esta configuración.</translation> +<translation id="7471828226549672843">De forma predeterminada, se muestran las Condiciones del Servicio cuando se ejecuta CCT por primera vez. Si inhabilitas esta política, no se mostrará el diálogo de las Condiciones del Servicio en la primera ejecución ni en las subsiguientes. Si la habilitas o no la estableces, se mostrará el diálogo de las Condiciones del Servicio en la primera ejecución. Ten en cuenta las siguientes salvedades: + + - Esta política solo funciona en dispositivos Android completamente administrados que pueden ser configurados por proveedores de administración unificada de terminales (UEM). + + - Si inhabilitas esta política, la política BrowserSignin no tendrá ningún efecto. + + - Si inhabilitas esta política, no se enviarán métricas al servidor. + + - Si inhabilitas esta política, las funciones del navegador estarán limitadas. + + - Si inhabilitas esta política, los administradores deberán comunicárselo a los usuarios finales del dispositivo.</translation> <translation id="747275827471712187">Revierte el comportamiento de las cookies en estos sitios conforme al atributo heredado <ph name="ATTRIBUTE_SAMESITE_NAME" /></translation> <translation id="7477231245051133709">Habilita la función de accesibilidad de audio mono</translation> <translation id="7477239290070847560">Destinos de los protocolos basados en la no configuración (mDNS y DNS-SD)</translation>
diff --git a/components/policy/resources/policy_templates_fr.xtb b/components/policy/resources/policy_templates_fr.xtb index b10176e..0e8c4e5 100644 --- a/components/policy/resources/policy_templates_fr.xtb +++ b/components/policy/resources/policy_templates_fr.xtb
@@ -2226,6 +2226,11 @@ Si cette règle n'est pas configurée, la mise en surbrillance du curseur de saisie est initialement désactivée sur l'écran de connexion, mais les utilisateurs peuvent l'activer à tout moment.</translation> <translation id="4183229833636799228">Paramètre par défaut pour le plug-in "<ph name="FLASH_PLUGIN_NAME" />"</translation> <translation id="4192388905594723944">URL permettant de valider le jeton d'authentification du client d'accès à distance</translation> +<translation id="4196466220333757818">Cette règle définit les extensions autorisées à utiliser la fonction <ph name="CHALLENGE_USER_KEY_FUNCTION" /> de l'<ph name="ENTERPRISE_PLATFORM_KEYS_API" /> pour l'attestation à distance. Pour pouvoir utiliser l'API, les extensions doivent être ajoutées à cette liste. + + Si une extension ne figure pas dans la liste ou si cette liste n'est pas configurée, l'appel vers l'API échoue, et un code d'erreur est renvoyé. + + Cette règle étant obsolète, veuillez utiliser à la place la règle <ph name="ATTESTATION_EXTENSION_ALLOWLIST_POLICY_NAME" />.</translation> <translation id="4203389617541558220">Limite la durée de fonctionnement de l'appareil en programmant des redémarrages automatiques. Lorsque vous définissez cette règle, elle indique la durée de fonctionnement de l'appareil avant la programmation d'un redémarrage automatique. @@ -3240,6 +3245,9 @@ Si cette règle n'est pas définie, par défaut, ce mode de partage ne sera pas autorisé pour les utilisateurs gérés par une entreprise et sera autorisé pour les utilisateurs non gérés.</translation> <translation id="5584132346604748282">Gérer les services de localisation Android</translation> +<translation id="5585568978223984334">Cette règle définit les extensions autorisées à utiliser les fonctions de l'<ph name="ENTERPRISE_PLATFORM_KEYS_API" /> pour l'attestation à distance. Pour pouvoir utiliser l'API, les extensions doivent être ajoutées à cette liste. + + Si une extension ne figure pas dans la liste ou si cette liste n'est pas configurée, l'appel vers l'API échoue, et un code d'erreur est renvoyé.</translation> <translation id="5586942249556966598">Ne rien faire</translation> <translation id="5590494712401018042">Indique le pourcentage d'adaptation du délai d'assombrissement de l'écran lorsque l'appareil est en mode Présentation.
diff --git a/components/policy/resources/policy_templates_id.xtb b/components/policy/resources/policy_templates_id.xtb index 7382d1ba..e056395b 100644 --- a/components/policy/resources/policy_templates_id.xtb +++ b/components/policy/resources/policy_templates_id.xtb
@@ -2226,6 +2226,11 @@ Jika kebijakan ini tidak ditetapkan, sorotan kursor teks mula-mula akan dinonaktifkan di layar login, tetapi dapat diaktifkan oleh pengguna kapan saja.</translation> <translation id="4183229833636799228">Setelan <ph name="FLASH_PLUGIN_NAME" /> default</translation> <translation id="4192388905594723944">URL untuk memvalidasi token autentikasi klien akses jarak jauh</translation> +<translation id="4196466220333757818">Kebijakan ini menentukan ekstensi yang diizinkan menggunakan fungsi <ph name="ENTERPRISE_PLATFORM_KEYS_API" /> <ph name="CHALLENGE_USER_KEY_FUNCTION" /> untuk pengesahan jarak jauh. Ekstensi harus ditambahkan ke daftar ini untuk menggunakan API. + + Jika ekstensi tidak ada dalam daftar, atau daftar tidak ditetapkan, panggilan ke API akan gagal yang disertai kode error. + + Kebijakan ini tidak digunakan lagi. Sebagai gantinya, gunakan <ph name="ATTESTATION_EXTENSION_ALLOWLIST_POLICY_NAME" />.</translation> <translation id="4203389617541558220">Membatasi waktu operasi perangkat dengan menjadwalkan mulai ulang otomatis. Saat kebijakan ini disetel, kebijakan ini menentukan panjang waktu operasi perangkat setelah mulai ulang otomatis dijadwalkan. @@ -3234,6 +3239,9 @@ Jika kebijakan ini tidak ditetapkan, tindakan defaultnya adalah tidak diizinkan untuk pengguna yang dikelola perusahaan dan diizinkan untuk pengguna yang tidak dikelola.</translation> <translation id="5584132346604748282">Mengontrol layanan lokasi Google di Android</translation> +<translation id="5585568978223984334">Kebijakan ini menentukan ekstensi yang diizinkan menggunakan fungsi <ph name="ENTERPRISE_PLATFORM_KEYS_API" /> untuk pengesahan jarak jauh. Ekstensi harus ditambahkan ke daftar ini untuk menggunakan API. + + Jika ekstensi tidak ada dalam daftar, atau daftar tidak ditetapkan, panggilan ke API akan gagal yang disertai kode error.</translation> <translation id="5586942249556966598">Tidak melakukan apa-apa</translation> <translation id="5590494712401018042">Menentukan persentase yang digunakan untuk menskalakan penundaan redup layar ketika perangkat dalam mode presentasi.
diff --git a/components/policy/resources/policy_templates_it.xtb b/components/policy/resources/policy_templates_it.xtb index 4f68c17..a7f2555 100644 --- a/components/policy/resources/policy_templates_it.xtb +++ b/components/policy/resources/policy_templates_it.xtb
@@ -2924,6 +2924,7 @@ <translation id="5293044154216294358">Se il criterio è impostato su True, gli utenti possono giocare al gioco del dinosauro. Se il criterio è impostato su False, gli utenti non possono giocare al gioco del dinosauro quando il dispositivo è offline. Se il criterio non è configurato, gli utenti non possono giocare sul dispositivo <ph name="PRODUCT_OS_NAME" /> registrato, ma possono farlo in altre circostanze.</translation> +<translation id="529457411593078576">Attiva i TdS alla prima esecuzione di CCT</translation> <translation id="5306186200045823863">Considera attendibile l'infrastruttura PKI precedente di Symantec Corporation</translation> <translation id="5307432759655324440">Disponibilità della modalità di navigazione in incognito</translation> <translation id="5311275381462687162">Impostazione del comportamento precedente predefinito <ph name="ATTRIBUTE_SAMESITE_NAME" /> per i cookie</translation> @@ -4546,6 +4547,17 @@ <translation id="747014869399137701">Se il criterio è impostato su 1, i siti web possono mostrare le notifiche desktop. Se il criterio è impostato su 2, le notifiche desktop vengono negate. Se non viene configurato, si applica il criterio <ph name="ASK_NOTIFICATIONS_POLICY_NAME" />, ma gli utenti possono modificare l'impostazione.</translation> +<translation id="7471828226549672843">Per impostazione predefinita, i Termini di servizio vengono mostrati alla prima esecuzione di CCT. Se questo criterio viene impostato su Disattivato, la finestra di dialogo dei Termini di servizio non viene visualizzata né alla prima esecuzione né a quelle successive. Se questo criterio viene impostato su Attivato o se non viene configurato, la finestra di dialogo dei Termini di servizio viene visualizzata alla prima esecuzione. Altre condizioni: + + - Questo criterio funziona solo su dispositivi Android completamente gestiti che possono essere configurati da fornitori dell'Unified Endpoint Management. + + - Se questo criterio viene impostato su Disattivato, il criterio BrowserSignin non ha effetto. + + - Se questo criterio viene impostato su Disattivato, le metriche non vengono inviate al server. + + - Se questo criterio viene impostato su Disattivato, il browser ha una funzionalità limitata. + + - Se questo criterio viene impostato su Disattivato, gli amministratori devono comunicarlo agli utenti finali del dispositivo.</translation> <translation id="747275827471712187">Ripristina il comportamento <ph name="ATTRIBUTE_SAMESITE_NAME" /> precedente per i cookie su questi siti</translation> <translation id="7477231245051133709">Attiva la funzione di accessibilità di audio in formato mono</translation> <translation id="7477239290070847560">Destinazioni protocolli (mDNS e DNS-SD) basate su configurazione automatica</translation>
diff --git a/components/policy/resources/policy_templates_ja.xtb b/components/policy/resources/policy_templates_ja.xtb index 9f47167..2ab5a8d1 100644 --- a/components/policy/resources/policy_templates_ja.xtb +++ b/components/policy/resources/policy_templates_ja.xtb
@@ -2199,6 +2199,11 @@ このポリシーを設定しない場合、テキストカーソルによるハイライト表示は初期設定ではログイン画面で無効ですが、ユーザーはいつでも有効にできます。</translation> <translation id="4183229833636799228">デフォルトの <ph name="FLASH_PLUGIN_NAME" /> 設定</translation> <translation id="4192388905594723944">リモート アクセス クライアントの認証トークンを検証するための URL</translation> +<translation id="4196466220333757818">このポリシーでは <ph name="ENTERPRISE_PLATFORM_KEYS_API" /> の関数 <ph name="CHALLENGE_USER_KEY_FUNCTION" /> を使用したリモート認証を許可する拡張機能を指定します。この API を使用するには、このリストに拡張機能を追加する必要があります。 + + 拡張機能がリストに追加されていないか、リストが設定されていない場合、API 呼び出しは失敗し、エラーコードが返されます。 + + このポリシーはサポートが終了しています。代わりに <ph name="ATTESTATION_EXTENSION_ALLOWLIST_POLICY_NAME" /> を使用してください。</translation> <translation id="4203389617541558220">自動再起動のスケジュールを設定することによって、デバイスの稼働時間を制限します。 このポリシーが設定されているときは、自動再起動後の稼働時間が限定されます。 @@ -3188,6 +3193,9 @@ このポリシーが未設定の場合、デフォルトにより、企業の管理対象ユーザーは使用を許可されず、管理対象外のユーザーは使用を許可されます。</translation> <translation id="5584132346604748282">Android の Google 位置情報サービスを制御する</translation> +<translation id="5585568978223984334">このポリシーでは、<ph name="ENTERPRISE_PLATFORM_KEYS_API" /> の関数を使用したリモート認証を許可する拡張機能を指定します。この API を使用するには、このリストに拡張機能を追加する必要があります。 + + 拡張機能がリストに追加されていないか、リストが設定されていない場合、API 呼び出しは失敗し、エラーコードが返されます。</translation> <translation id="5586942249556966598">何もしない</translation> <translation id="5590494712401018042">デバイスがプレゼンテーション モードのときに、画面を暗くするまでの時間を調整する比率を指定します。
diff --git a/components/policy/resources/policy_templates_ko.xtb b/components/policy/resources/policy_templates_ko.xtb index 5cb0578..64ac8010 100644 --- a/components/policy/resources/policy_templates_ko.xtb +++ b/components/policy/resources/policy_templates_ko.xtb
@@ -2221,6 +2221,11 @@ 이 정책이 설정되지 않으면 처음에는 로그인 화면에서 캐럿 강조표시가 사용되지 않지만 나중에 사용자가 언제든지 사용 설정할 수 있습니다.</translation> <translation id="4183229833636799228">기본 <ph name="FLASH_PLUGIN_NAME" /> 설정</translation> <translation id="4192388905594723944">원격 액세스 클라이언트 인증 토큰을 확인하기 위한 URL</translation> +<translation id="4196466220333757818">이 정책은 허용된 확장 프로그램이 원격 증명에 <ph name="ENTERPRISE_PLATFORM_KEYS_API" /> 함수 <ph name="CHALLENGE_USER_KEY_FUNCTION" />를 사용하도록 지정합니다. 확장 프로그램을 이 목록에 추가해야 API를 사용할 수 있습니다. + + 확장 프로그램이 목록에 없거나 목록이 설정되지 않은 경우 API 호출이 실패하고 오류 코드가 표시됩니다. + + 이 정책은 지원 중단되었으므로 대신 <ph name="ATTESTATION_EXTENSION_ALLOWLIST_POLICY_NAME" /> 정책을 사용하세요.</translation> <translation id="4203389617541558220">자동 재부팅을 예약하여 기기 가동 시간을 제한합니다. 이 정책이 설정된 경우 자동 재부팅이 예약된 뒤 기기 가동 시간을 지정합니다. @@ -3242,6 +3247,9 @@ 이 정책이 설정되지 않으면 기본적으로 엔터프라이즈 관리 사용자의 경우 사용 중지되고 관리되지 않는 사용자의 경우 사용 설정됩니다.</translation> <translation id="5584132346604748282">Android Google 위치 서비스 제어</translation> +<translation id="5585568978223984334">이 정책은 원격 증명에 <ph name="ENTERPRISE_PLATFORM_KEYS_API" /> 기능을 사용하도록 허용된 확장 프로그램을 지정합니다. API를 사용하려면 확장 프로그램을 이 목록에 추가해야 합니다. + + 확장 프로그램이 목록에 없거나 목록이 설정되지 않은 경우 API 호출이 실패하고 오류 코드가 표시됩니다.</translation> <translation id="5586942249556966598">취소</translation> <translation id="5590494712401018042">기기가 프레젠테이션 모드일 때 화면 어둡게 하기 지연 시간이 조정되는 비율을 지정합니다.
diff --git a/components/policy/resources/policy_templates_pt-BR.xtb b/components/policy/resources/policy_templates_pt-BR.xtb index 7a9d7ea..1a42e60 100644 --- a/components/policy/resources/policy_templates_pt-BR.xtb +++ b/components/policy/resources/policy_templates_pt-BR.xtb
@@ -2912,6 +2912,7 @@ <translation id="5293044154216294358">Se a política for definida como verdadeira, os usuários poderão acessar o jogo do dinossauro. Se ela for definida como falsa, os usuários não terão acesso ao jogo quando o dispositivo estiver off-line. Não definir a política significa que os usuários não poderão jogar no <ph name="PRODUCT_OS_NAME" /> registrado, mas poderão fazer isso em outras circunstâncias.</translation> +<translation id="529457411593078576">Ativar TOS durante a primeira execução do CCT</translation> <translation id="5306186200045823863">Ativar confiança na infraestrutura de ICP legada da Symantec Corporation</translation> <translation id="5307432759655324440">Disponibilidade do modo de navegação anônima</translation> <translation id="5311275381462687162">Configuração padrão do comportamento de cookie <ph name="ATTRIBUTE_SAMESITE_NAME" /> legado.</translation> @@ -4527,6 +4528,17 @@ <translation id="747014869399137701">Se a política for definida como 1, os sites poderão exibir notificações na área de trabalho. Se a política for definida como 2, as notificações na área de trabalho serão negadas. Se ela não for definida, a política <ph name="ASK_NOTIFICATIONS_POLICY_NAME" /> será aplicada, mas os usuários poderão mudar essa configuração.</translation> +<translation id="7471828226549672843">Por padrão, os Termos de Serviço são mostrados quando o CCT é executado pela primeira vez. Definir esta política como "Desativada" fará com que a caixa de diálogo de Termos de Serviço não apareça na primeira execução e nas execuções subsequentes. Definir a política como "Ativada" ou deixá-la sem definição fará com que a caixa de diálogo de Termos de Serviço apareça na primeira execução. As outras ressalvas são as seguintes: + + - Esta política só funciona em dispositivos Android totalmente gerenciados que podem ser configurados por fornecedores de Unified Endpoint Management. + + - Se esta política for desativada, a BrowserSignin não terá efeito. + + - Se esta política for desativada, as métricas não serão enviadas para o servidor. + + - Se esta política for desativada, o navegador terá funcionalidade limitada. + + - Se esta política for desativada, os administradores precisarão informar isso para os usuários finais do dispositivo.</translation> <translation id="747275827471712187">Reverter para comportamento <ph name="ATTRIBUTE_SAMESITE_NAME" /> legado para os cookies nesses sites</translation> <translation id="7477231245051133709">Ativar o recurso de acessibilidade de áudio mono</translation> <translation id="7477239290070847560">Destinos de protocolos baseados em Zeroconf (mDNS + DNS-SD)</translation>
diff --git a/components/policy/resources/policy_templates_ru.xtb b/components/policy/resources/policy_templates_ru.xtb index de947f4..5f55bca 100644 --- a/components/policy/resources/policy_templates_ru.xtb +++ b/components/policy/resources/policy_templates_ru.xtb
@@ -2210,6 +2210,11 @@ Если не настроить это правило, изначально подсветка текстового курсора на экране входа будет отключена, но пользователь сможет включить ее в любой момент.</translation> <translation id="4183229833636799228">Настройка по умолчанию для <ph name="FLASH_PLUGIN_NAME" /></translation> <translation id="4192388905594723944">URL проверки токена аутентификации для клиента удаленного доступа</translation> +<translation id="4196466220333757818">Это правило позволяет указать, какие расширения могут использовать функцию <ph name="CHALLENGE_USER_KEY_FUNCTION" /> из <ph name="ENTERPRISE_PLATFORM_KEYS_API" /> для удаленной проверки. Чтобы разрешить использование API, расширение необходимо добавить в список. + + Если расширения нет в списке или список не создан, произойдет ошибка вызова API и будет показан ее код. + + Это правило больше не поддерживается. Используйте вместо него правило <ph name="ATTESTATION_EXTENSION_ALLOWLIST_POLICY_NAME" />.</translation> <translation id="4203389617541558220">Ограничение продолжительности работы устройства за счет автоматической перезагрузки. Если это правило настроено, оно обозначает продолжительность работы устройства, по прошествии которого произойдет автоматическая перезагрузка. @@ -3218,6 +3223,9 @@ Если правило не настроено, по умолчанию функция отключена для корпоративных аккаунтов и включена для остальных пользователей.</translation> <translation id="5584132346604748282">Правило контролирует использование геолокации Google для Android</translation> +<translation id="5585568978223984334">Это правило позволяет указать, какие расширения могут использовать функции <ph name="ENTERPRISE_PLATFORM_KEYS_API" /> для удаленной проверки. Чтобы разрешить использование API, расширение необходимо добавить в список. + +Если расширения нет в списке или список не создан, произойдет ошибка вызова API и будет показан ее код.</translation> <translation id="5586942249556966598">Ничего не делать</translation> <translation id="5590494712401018042">Определяет, на сколько процентов увеличивается время до затемнения экрана при показе презентации. @@ -5076,7 +5084,7 @@ Если правило не задано, запрашивать доступ разрешено, но пользователи могут изменить эту настройку.</translation> <translation id="8274603902181597201">Заменить исходный каталог пользователя, зашифрованный с помощью ecryptfs, каталогом, зашифрованным с помощью ext4</translation> -<translation id="8284296539558710573">Встречные запросы окон аутентификации HTTP</translation> +<translation id="8284296539558710573">Междоменные запросы аутентификации HTTP</translation> <translation id="8285435910062771358">Полноэкранная лупа включена</translation> <translation id="8288199156259560552">Позволяет использовать сервис геолокации Google</translation> <translation id="8290875622178450531">Включает специальную возможность – голосовой ввод.
diff --git a/components/policy/resources/policy_templates_th.xtb b/components/policy/resources/policy_templates_th.xtb index 63ab125..6375330 100644 --- a/components/policy/resources/policy_templates_th.xtb +++ b/components/policy/resources/policy_templates_th.xtb
@@ -2191,6 +2191,11 @@ หากไม่ได้ตั้งค่านโยบายนี้ ระบบจะปิดใช้ฟีเจอร์การไฮไลต์เคอร์เซอร์ข้อความในหน้าจอการเข้าสู่ระบบในขั้นต้น แต่ผู้ใช้จะเปิดใช้ได้ทุกเมื่อ</translation> <translation id="4183229833636799228">การตั้งค่าเริ่มต้นของ <ph name="FLASH_PLUGIN_NAME" /></translation> <translation id="4192388905594723944">URL สำหรับตรวจสอบความถูกต้องโทเค็นการตรวจสอบสิทธิ์ไคลเอ็นต์การเข้าถึงระยะไกล</translation> +<translation id="4196466220333757818">นโยบายนี้ระบุส่วนขยายที่อนุญาตให้ใช้ฟังก์ชัน <ph name="CHALLENGE_USER_KEY_FUNCTION" /> ของ <ph name="ENTERPRISE_PLATFORM_KEYS_API" /> สำหรับเอกสารรับรองระยะไกล ต้องเพิ่มส่วนขยายลงในรายการนี้เพื่อใช้ API ดังกล่าว + + หากส่วนขยายใดไม่อยู่ในรายการหรือไม่มีการตั้งค่ารายการไว้ จะเรียกใช้ API ไม่สำเร็จและมีรหัสข้อผิดพลาด + + นโยบายนี้เลิกใช้งานไปแล้ว โปรดใช้ <ph name="ATTESTATION_EXTENSION_ALLOWLIST_POLICY_NAME" /> แทน</translation> <translation id="4203389617541558220">จำกัดเวลาพร้อมทำงานของอุปกรณ์โดยการกำหนดเวลาการรีบูตอัตโนมัติ เมื่อนโยบายนี้มีการตั้งค่า นโยบายจะระบุระยะเวลาพร้อมทำงานของอุปกรณ์ ซึ่งอยู่ก่อนเวลาที่กำหนดการรีบูตอัตโนมัติไว้ @@ -3193,6 +3198,9 @@ หากไม่ได้ตั้งค่านโยบายนี้ ระบบจะไม่อนุญาตให้ใช้ค่าเริ่มต้นกับผู้ใช้ที่มีการจัดการโดยองค์กรแต่อนุญาตให้ใช้กับผู้ใช้ที่ไม่มีการจัดการ</translation> <translation id="5584132346604748282">ควบคุมบริการตำแหน่งของ Google ใน Android</translation> +<translation id="5585568978223984334">นโยบายนี้ระบุส่วนขยายที่อนุญาตให้ใช้ฟังก์ชันของ <ph name="ENTERPRISE_PLATFORM_KEYS_API" /> สำหรับเอกสารรับรองระยะไกล ต้องเพิ่มส่วนขยายลงในรายการนี้เพื่อใช้ API ดังกล่าว + + หากส่วนขยายใดไม่อยู่ในรายการหรือไม่มีการตั้งค่ารายการไว้ จะเรียกใช้ API ไม่สำเร็จและมีรหัสข้อผิดพลาด</translation> <translation id="5586942249556966598">ไม่ดำเนินการใดๆ</translation> <translation id="5590494712401018042">ระบุเปอร์เซ็นต์การปรับขนาดการหน่วงเวลาการหรี่แสงหน้าจอเมื่ออุปกรณ์อยู่ในโหมดการนำเสนอ
diff --git a/components/policy/resources/policy_templates_tr.xtb b/components/policy/resources/policy_templates_tr.xtb index d6703858..1f5b930a 100644 --- a/components/policy/resources/policy_templates_tr.xtb +++ b/components/policy/resources/policy_templates_tr.xtb
@@ -2203,6 +2203,11 @@ Bu politika ayarlanmadan bırakılırsa giriş ekranında metin vurgulama kutusu başlangıçta devre dışı bırakılır, ancak kullanıcılar istedikleri zaman bunu etkinleştirebilir.</translation> <translation id="4183229833636799228">Varsayılan <ph name="FLASH_PLUGIN_NAME" /> ayarı</translation> <translation id="4192388905594723944">Uzaktan erişim istemci kimlik doğrulama jetonunu doğrulama URL'si</translation> +<translation id="4196466220333757818">Bu politika, uzaktan onay için <ph name="ENTERPRISE_PLATFORM_KEYS_API" /> <ph name="CHALLENGE_USER_KEY_FUNCTION" /> işlevini kullanmasına izin verilen uzantıları belirtir. API'yi kullanmak için uzantılar bu listeye eklenmelidir. + + Bir uzantı listede yoksa veya liste ayarlanmamışsa API'ye yapılan çağrılar başarısız olur ve hata kodu görüntülenir. + + Bu politika kullanımdan kaldırıldı, lütfen bunun yerine <ph name="ATTESTATION_EXTENSION_ALLOWLIST_POLICY_NAME" /> politikasını kullanın.</translation> <translation id="4203389617541558220">Otomatik yeniden başlatmalar planlayarak cihazın açık olduğu süreyi sınırlandır. Bu politika ayarlandığında, sonrasında otomatik bir yeniden başlatma işleminin planlandığı cihaz açık kalma süresini belirtir. @@ -3220,6 +3225,9 @@ Bu politika ayarlanmadan bırakılırsa, varsayılan olarak kuruluş tarafından yönetilen kullanıcılara izin verilmezken, yönetilmeyen kullanıcılara izin verilir.</translation> <translation id="5584132346604748282">Android Google konum hizmetlerini kontrol et</translation> +<translation id="5585568978223984334">Bu politika, uzaktan onay için <ph name="ENTERPRISE_PLATFORM_KEYS_API" /> işlevlerini kullanmasına izin verilen uzantıları belirtir. API'yi kullanmak için uzantılar bu listeye eklenmelidir. + + Bir uzantı listede yoksa veya liste ayarlanmamışsa API'ye yapılan çağrılar başarısız olur ve hata kodu görüntülenir.</translation> <translation id="5586942249556966598">Hiçbir şey yapma</translation> <translation id="5590494712401018042">Cihaz sunum modundayken ekran kararma gecikmesinin ölçekleneceği yüzdeyi belirtir.
diff --git a/components/policy/resources/policy_templates_vi.xtb b/components/policy/resources/policy_templates_vi.xtb index d407c809..e04e367 100644 --- a/components/policy/resources/policy_templates_vi.xtb +++ b/components/policy/resources/policy_templates_vi.xtb
@@ -2226,6 +2226,11 @@ Nếu bạn không đặt chính sách này, thì ban đầu, tính năng làm nổi bật dấu chèn sẽ tắt trên màn hình đăng nhập nhưng người dùng có thể bật bất cứ lúc nào.</translation> <translation id="4183229833636799228">Cài đặt <ph name="FLASH_PLUGIN_NAME" /> mặc định</translation> <translation id="4192388905594723944">URL để xác thực mã thông báo xác thực ứng dụng truy cập từ xa</translation> +<translation id="4196466220333757818">Chính sách này nêu rõ các tiện ích được phép sử dụng hàm <ph name="CHALLENGE_USER_KEY_FUNCTION" /> của <ph name="ENTERPRISE_PLATFORM_KEYS_API" /> để chứng thực từ xa. Các tiện ích phải được thêm vào danh sách này thì mới sử dụng được API. + + Nếu một tiện ích không có trong danh sách hoặc nếu bạn không đặt danh sách này, thì lệnh gọi đến API sẽ không thực hiện được kèm theo mã lỗi. + + Chính sách này không còn dùng nữa, vui lòng sử dụng <ph name="ATTESTATION_EXTENSION_ALLOWLIST_POLICY_NAME" />.</translation> <translation id="4203389617541558220">Giới hạn thời gian hoạt động của thiết bị bằng cách lên lịch tự động khởi động lại. Khi chính sách này được đặt, chính sách chỉ định lượng thời gian hoạt động của thiết bị mà sau lượng thời gian đó, khởi động lại tự động sẽ được lên lịch. @@ -3248,6 +3253,9 @@ Nếu bạn không đặt chính sách này, tùy chọn cài đặt mặc định sẽ là không được phép đối với người dùng do doanh nghiệp quản lý và được phép đối với người dùng không được quản lý.</translation> <translation id="5584132346604748282">Kiểm soát các dịch vụ vị trí của Google trên thiết bị Android</translation> +<translation id="5585568978223984334">Chính sách này nêu rõ các tiện ích được phép sử dụng các hàm của <ph name="ENTERPRISE_PLATFORM_KEYS_API" /> để chứng thực từ xa. Các tiện ích phải được thêm vào danh sách này thì mới sử dụng được API. + + Nếu một tiện ích không có trong danh sách hoặc nếu bạn không đặt danh sách này, thì lệnh gọi đến API sẽ không thực hiện được kèm theo mã lỗi.</translation> <translation id="5586942249556966598">Không làm gì</translation> <translation id="5590494712401018042">Chỉ định tỷ lệ phần trăm mà theo đó độ trễ giảm độ sáng màn hình sẽ thay đổi khi thiết bị ở chế độ thuyết trình.
diff --git a/components/policy/resources/policy_templates_zh-CN.xtb b/components/policy/resources/policy_templates_zh-CN.xtb index 1aaef5b..97b38db 100644 --- a/components/policy/resources/policy_templates_zh-CN.xtb +++ b/components/policy/resources/policy_templates_zh-CN.xtb
@@ -2185,6 +2185,11 @@ 如果此政策未设置,“插入符号突出显示”在登录屏幕上最初会处于停用状态,但用户可以随时启用它。</translation> <translation id="4183229833636799228">默认 <ph name="FLASH_PLUGIN_NAME" /> 设置</translation> <translation id="4192388905594723944">验证远程访问客户端身份验证令牌时使用的网址</translation> +<translation id="4196466220333757818">此政策旨在以列表形式指定:哪些扩展程序能够使用 <ph name="ENTERPRISE_PLATFORM_KEYS_API" /> 函数 <ph name="CHALLENGE_USER_KEY_FUNCTION" /> 进行远程认证。只有添加到此列表中的扩展程序才能使用该 API。 + + 如果扩展程序不在此列表中,或者未设置此列表,则会导致无法调用该 API,并返回错误代码。 + + 此政策已被弃用,请改用 <ph name="ATTESTATION_EXTENSION_ALLOWLIST_POLICY_NAME" />。</translation> <translation id="4203389617541558220">安排自动重启以限制设备的正常运行时间。 如果设置此政策,则会指定设备正常运行的时间,并安排之后自动重启。 @@ -3182,6 +3187,9 @@ 如果未设置此政策,默认情况下,受企业管理的用户不能使用即时网络共享功能,不受管理的用户则能够使用即时网络共享功能。</translation> <translation id="5584132346604748282">控制 Android Google 位置信息服务</translation> +<translation id="5585568978223984334">此政策旨在以列表形式指定:哪些扩展程序能够使用 <ph name="ENTERPRISE_PLATFORM_KEYS_API" /> 函数进行远程认证。只有添加到此列表中的扩展程序才能使用该 API。 + + 如果扩展程序不在此列表中,或者未设置此列表,则会导致无法调用该 API,并返回错误代码。</translation> <translation id="5586942249556966598">不执行任何操作</translation> <translation id="5590494712401018042">指定当设备处于演示模式时系统会对屏幕变暗延迟时间应用的调整幅度(百分比)。 @@ -5037,7 +5045,7 @@ 如果此政策未设置,系统会允许网站请求访问,但用户可以更改此设置。</translation> <translation id="8274603902181597201">清空用户的 ecryptfs 主目录,并改用全新的 ext4 加密主目录。</translation> -<translation id="8284296539558710573">跨源 HTTP 身份验证提示</translation> +<translation id="8284296539558710573">跨域 HTTP 身份验证提示</translation> <translation id="8285435910062771358">已启用全屏放大镜</translation> <translation id="8288199156259560552">启用 Android Google 位置信息服务</translation> <translation id="8290875622178450531">启用“语音输入”无障碍功能。
diff --git a/components/policy/resources/policy_templates_zh-TW.xtb b/components/policy/resources/policy_templates_zh-TW.xtb index 222dfc81..fb62ea0 100644 --- a/components/policy/resources/policy_templates_zh-TW.xtb +++ b/components/policy/resources/policy_templates_zh-TW.xtb
@@ -2180,6 +2180,11 @@ 如果不設定這項政策,系統會在初次顯示登入畫面時停用插入點醒目顯示,但使用者隨時可以啟用。</translation> <translation id="4183229833636799228"><ph name="FLASH_PLUGIN_NAME" /> 預設設定</translation> <translation id="4192388905594723944">用於驗證遠端存取用戶端驗證憑證的網址</translation> +<translation id="4196466220333757818">這項政策會指定允許使用 <ph name="ENTERPRISE_PLATFORM_KEYS_API" /> 函式 <ph name="CHALLENGE_USER_KEY_FUNCTION" /> 進行遠端驗證的擴充功能。只有加入這份清單的擴充功能可以使用該 API。 + + 如果擴充功能未列入清單,或是未設定清單,API 呼叫作業會失敗,並傳回錯誤代碼。 + + 這項政策已遭淘汰,請改用 <ph name="ATTESTATION_EXTENSION_ALLOWLIST_POLICY_NAME" />。</translation> <translation id="4203389617541558220">安排自動重新啟動,藉此限制裝置運作時間。 如果你設定這項政策,表示系統會在經過指定的裝置運作時間長度之後安排自動重新啟動。 @@ -3185,6 +3190,9 @@ 如果不設定這項政策,在預設情況下,受企業管理的使用者將無法使用即時網路共用功能,其他一般使用者則可使用這項功能。</translation> <translation id="5584132346604748282">控制 Android Google 定位服務</translation> +<translation id="5585568978223984334">這項政策會指定允許使用 <ph name="ENTERPRISE_PLATFORM_KEYS_API" /> 函式進行遠端驗證的擴充功能。只有加入這份清單的擴充功能可以使用該 API。 + + 如果擴充功能未列入清單,或是未設定清單,API 呼叫作業會失敗,並傳回錯誤代碼。</translation> <translation id="5586942249556966598">不要處理</translation> <translation id="5590494712401018042">指定當裝置處於簡報模式時,要將螢幕調暗延遲時間延長多少百分比。
diff --git a/components/services/storage/public/cpp/filesystem/OWNERS b/components/services/storage/public/cpp/filesystem/OWNERS index 7aebc8abb..d5fefd8 100644 --- a/components/services/storage/public/cpp/filesystem/OWNERS +++ b/components/services/storage/public/cpp/filesystem/OWNERS
@@ -1,4 +1,2 @@ per-file *_mojom_traits*.*=set noparent per-file *_mojom_traits*.*=file://ipc/SECURITY_OWNERS -per-file *.typemap=set noparent -per-file *.typemap=file://ipc/SECURITY_OWNERS
diff --git a/components/services/storage/public/cpp/filesystem/strict_relative_path.typemap b/components/services/storage/public/cpp/filesystem/strict_relative_path.typemap deleted file mode 100644 index cfe8636..0000000 --- a/components/services/storage/public/cpp/filesystem/strict_relative_path.typemap +++ /dev/null
@@ -1,10 +0,0 @@ -# Copyright 2020 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -mojom = "//components/services/storage/public/mojom/filesystem/directory.mojom" -public_headers = [ "//base/files/file_path.h" ] -traits_headers = [ "//components/services/storage/public/cpp/filesystem/strict_relative_path_mojom_traits.h" ] -public_deps = - [ "//components/services/storage/public/cpp/filesystem:typemap_traits" ] -type_mappings = [ "storage.mojom.StrictRelativePath=::base::FilePath" ]
diff --git a/components/services/storage/public/cpp/filesystem/typemaps.gni b/components/services/storage/public/cpp/filesystem/typemaps.gni deleted file mode 100644 index 3ea0b2c..0000000 --- a/components/services/storage/public/cpp/filesystem/typemaps.gni +++ /dev/null
@@ -1,5 +0,0 @@ -# Copyright 2020 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -typemaps = [ "//components/services/storage/public/cpp/filesystem/strict_relative_path.typemap" ]
diff --git a/components/services/storage/public/mojom/filesystem/BUILD.gn b/components/services/storage/public/mojom/filesystem/BUILD.gn index 63105ae..5c2a36d 100644 --- a/components/services/storage/public/mojom/filesystem/BUILD.gn +++ b/components/services/storage/public/mojom/filesystem/BUILD.gn
@@ -11,4 +11,19 @@ sources = [ "directory.mojom" ] public_deps = [ "//mojo/public/mojom/base" ] + + cpp_typemaps = [ + { + types = [ + { + mojom = "storage.mojom.StrictRelativePath" + cpp = "::base::FilePath" + }, + ] + traits_headers = [ "//components/services/storage/public/cpp/filesystem/strict_relative_path_mojom_traits.h" ] + traits_public_deps = [ + "//components/services/storage/public/cpp/filesystem:typemap_traits", + ] + }, + ] }
diff --git a/components/spellcheck/common/BUILD.gn b/components/spellcheck/common/BUILD.gn index a7b429c..a75dacd 100644 --- a/components/spellcheck/common/BUILD.gn +++ b/components/spellcheck/common/BUILD.gn
@@ -54,4 +54,22 @@ if (use_renderer_spellchecker) { enabled_features += [ "USE_RENDERER_SPELLCHECKER" ] } + + cpp_typemaps = [ + { + types = [ + { + mojom = "spellcheck.mojom.Decoration" + cpp = "::SpellCheckResult::Decoration" + }, + { + mojom = "spellcheck.mojom.SpellCheckResult" + cpp = "::SpellCheckResult" + }, + ] + traits_headers = [ "spellcheck_mojom_traits.h" ] + traits_sources = [ "spellcheck_mojom_traits.cc" ] + traits_public_deps = [ "//components/spellcheck:buildflags" ] + }, + ] }
diff --git a/components/spellcheck/common/OWNERS b/components/spellcheck/common/OWNERS index 3deee8c..1feb514 100644 --- a/components/spellcheck/common/OWNERS +++ b/components/spellcheck/common/OWNERS
@@ -1,8 +1,4 @@ -per-file *_messages*.h=set noparent -per-file *_messages*.h=file://ipc/SECURITY_OWNERS per-file *.mojom=set noparent per-file *.mojom=file://ipc/SECURITY_OWNERS per-file *_mojom_traits*.*=set noparent per-file *_mojom_traits*.*=file://ipc/SECURITY_OWNERS -per-file *.typemap=set noparent -per-file *.typemap=file://ipc/SECURITY_OWNERS
diff --git a/components/spellcheck/common/spellcheck.typemap b/components/spellcheck/common/spellcheck.typemap deleted file mode 100644 index 9b873242..0000000 --- a/components/spellcheck/common/spellcheck.typemap +++ /dev/null
@@ -1,27 +0,0 @@ -# Copyright 2017 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -mojom = "//components/spellcheck/common/spellcheck.mojom" - -public_headers = [ "//components/spellcheck/common/spellcheck_result.h" ] - -traits_headers = [ "//components/spellcheck/common/spellcheck_mojom_traits.h" ] - -deps = [ - "//components/spellcheck:buildflags", -] - -public_deps = [ - ":spellcheck_result", -] - -sources = [ - "spellcheck_mojom_traits.cc", - "spellcheck_mojom_traits.h", -] - -type_mappings = [ - "spellcheck.mojom.Decoration=::SpellCheckResult::Decoration", - "spellcheck.mojom.SpellCheckResult=::SpellCheckResult", -]
diff --git a/components/spellcheck/common/spellcheck_mojom_traits.h b/components/spellcheck/common/spellcheck_mojom_traits.h index 6744c5e..b79d37a1 100644 --- a/components/spellcheck/common/spellcheck_mojom_traits.h +++ b/components/spellcheck/common/spellcheck_mojom_traits.h
@@ -5,7 +5,7 @@ #ifndef COMPONENTS_SPELLCHECK_COMMON_SPELLCHECK_MOJOM_TRAITS_H_ #define COMPONENTS_SPELLCHECK_COMMON_SPELLCHECK_MOJOM_TRAITS_H_ -#include "components/spellcheck/common/spellcheck.mojom.h" +#include "components/spellcheck/common/spellcheck.mojom-shared.h" #include "components/spellcheck/common/spellcheck_result.h" namespace mojo {
diff --git a/components/strings/components_strings_af.xtb b/components/strings/components_strings_af.xtb index bfc4c42..2d3601798 100644 --- a/components/strings/components_strings_af.xtb +++ b/components/strings/components_strings_af.xtb
@@ -265,11 +265,6 @@ <translation id="1978555033938440688">Fermwareweergawe</translation> <translation id="1988881251331415125">As die spelling korrek is, kan jy <ph name="BEGIN_LINK" />Konnektiwiteitdiagnostiek probeer gebruik<ph name="END_LINK" />.</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">Kry toegang tot webkoekies en werfdata. - -Wil jy <ph name="EMBEDDED_URL" /> toelaat om webkoekies en werfdata te gebruik op <ph name="TOP_LEVEL_URL" />? - -Dit sal andersins deur jou privaatheidinstellings geblokkeer word. Dit sal die inhoud waarmee jy interaksie gehad het, in staat stel om reg te werk, maar kan <ph name="EMBEDDED_URL" /> toelaat om jou aktiwiteit na te spoor.</translation> <translation id="1997484222658892567"><ph name="URL" /> wil groot data permanent op jou plaaslike rekenaar berg</translation> <translation id="2001146170449793414">{COUNT,plural, =1{en nog 1}other{en nog #}}</translation> <translation id="2003709556000175978">Stel jou wagwoord nou terug</translation>
diff --git a/components/strings/components_strings_am.xtb b/components/strings/components_strings_am.xtb index bcfd916..ad07ca2 100644 --- a/components/strings/components_strings_am.xtb +++ b/components/strings/components_strings_am.xtb
@@ -261,11 +261,6 @@ <translation id="1978555033938440688">የጽኑ ትዕዛዝ ስሪት</translation> <translation id="1988881251331415125">የፊደል አጻጻፉ ትክክል ከሆነ <ph name="BEGIN_LINK" />የተገናኝነት ምርመራን ለማስኬድ ይሞክሩ<ph name="END_LINK" />።</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">ኩኪዎች እና የጣቢያ ውሂብ ይድረሱ። - -<ph name="EMBEDDED_URL" /> ኩኪዎች እና የጣቢያ ውሂብን በ<ph name="TOP_LEVEL_URL" /> ላይ መጠቀም እንዲችል መፍቀድ ይፈልጋሉ? - -አለበለዚያ ይህ በእርስዎ የግላዊነት ቅንብሮች ይታገዳል። ይህ እርስዎ መስተጋብር የፈጠሩበት ይዘት በትክክል እንዲሠራ ይፈቅድለታል፣ ነገር ግን <ph name="EMBEDDED_URL" /> የእርስዎን እንቅስቃሴ እንዲከታተል ሊፈቅድለት ይችላል።</translation> <translation id="1997484222658892567"><ph name="URL" /> ትልቅ ውሂብ በአካባቢያዊ ኮምፒውተርዎ ላይ እስከመጨረሻው ማከማቸት ይፈልጋል</translation> <translation id="2001146170449793414">{COUNT,plural, =1{እና 1 ተጨማሪ}one{እና # ተጨማሪ}other{እና # ተጨማሪ}}</translation> <translation id="2003709556000175978">የእርስዎን የይለፍ ቃል አሁኑኑ ዳግም ያቀናብሩ</translation>
diff --git a/components/strings/components_strings_ar.xtb b/components/strings/components_strings_ar.xtb index 759cdb76..d7a25ff 100644 --- a/components/strings/components_strings_ar.xtb +++ b/components/strings/components_strings_ar.xtb
@@ -238,7 +238,7 @@ <translation id="1838374766361614909">محو البحث</translation> <translation id="1839551713262164453">لقد تعذّر التحقق من قيم السياسة مع ظهور أخطاء.</translation> <translation id="1842969606798536927">الدفع</translation> -<translation id="1871208020102129563">تم تعيين الخادم الوكيل لاستخدام الخوادم الوكيلة الثابتة وليس عنوان URL لنص برمجي pac.</translation> +<translation id="1871208020102129563">تم ضبط الخادم الوكيل لاستخدام الخوادم الوكيلة الثابتة وليس عنوان URL لنص برمجي pac.</translation> <translation id="1871284979644508959">حقل مطلوب</translation> <translation id="1875512691959384712">نماذج Google</translation> <translation id="187918866476621466">فتح صفحات بدء التشغيل</translation> @@ -265,17 +265,12 @@ <translation id="1978555033938440688">إصدار البرامج الثابتة</translation> <translation id="1988881251331415125">إذا تم التأكُد من عدم ورود أخطاء إملائية، يُرجى <ph name="BEGIN_LINK" />محاولة تشغيل بيانات التشخيص لمشاكل الاتصال<ph name="END_LINK" />.</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">الوصول إلى بيانات الموقع الإلكتروني وملفات تعريف الارتباط - -هل تريد السماح للموقع الإلكتروني <ph name="EMBEDDED_URL" /> باستخدام بيانات الموقع الإلكتروني وملفات تعريف الارتباط على <ph name="TOP_LEVEL_URL" />؟ - -في حال عدم السماح، سيكون هذا الموقع الإلكتروني محظورًا من خلال إعدادات الخصوصية. وسيسمح هذا الإجراء للمحتوى الذي تفاعلت معه بالعمل بشكل صحيح، ولكنه قد يسمح للموقع الإلكتروني <ph name="EMBEDDED_URL" /> بتتبّع نشاطك.</translation> <translation id="1997484222658892567">يريد <ph name="URL" /> تخزين حجم كبير من البيانات على جهاز الكمبيوتر المحلي بشكل دائم.</translation> <translation id="2001146170449793414">{COUNT,plural, =1{وتطبيق آخر}zero{و# تطبيق آخر}two{وتطبيقان (#) آخران}few{و# تطبيقات أخرى}many{و# تطبيقًا آخر}other{و# تطبيق آخر}}</translation> <translation id="2003709556000175978">إعادة ضبط كلمة المرورالآن</translation> <translation id="2003775180883135320">عمل أربعة ثقوب بالأعلى</translation> <translation id="2025115093177348061">الواقع المعزّز</translation> -<translation id="2025186561304664664">تم تعيين الخادم الوكيل على الإعداد التلقائي.</translation> +<translation id="2025186561304664664">تم ضبط الخادم الوكيل على الإعداد التلقائي.</translation> <translation id="2032962459168915086"><ph name="BEGIN_LINK" />التحقق من الخادم الوكيل والجدار الناري<ph name="END_LINK" /></translation> <translation id="2042213636306070719">الدُرج 7</translation> <translation id="204357726431741734">يُرجى تسجيل الدخول لاستخدام كلمات المرور المحفوظة في حسابك على Google.</translation> @@ -283,7 +278,7 @@ <translation id="2053553514270667976">الرمز البريدي</translation> <translation id="2064691555167957331">{COUNT,plural, =1{اقتراح واحد}zero{# اقتراح}two{اقتراحان (#)}few{# اقتراحات}many{# اقتراحًا}other{# اقتراح}}</translation> <translation id="2079545284768500474">تراجع</translation> -<translation id="20817612488360358">تم تعيين إعدادات الخادم الوكيل ليتم استخدامها وتم أيضًا تحديد إعداد صريح للخادم الوكيل.</translation> +<translation id="20817612488360358">تم ضبط إعدادات الخادم الوكيل ليتم استخدامها وتم أيضًا تحديد إعداد صريح للخادم الوكيل.</translation> <translation id="2082238445998314030">النتيجة <ph name="RESULT_NUMBER" /> من <ph name="TOTAL_RESULTS" /></translation> <translation id="2091887806945687916">الصوت</translation> <translation id="2094505752054353250">النطاق غير متطابق</translation> @@ -363,7 +358,7 @@ <translation id="2384307209577226199">السياسة تلقائية في المؤسسة ويمكن إلغاؤها</translation> <translation id="2385809941344967209">تحديث Chrome من إعداداته</translation> <translation id="2386255080630008482">تم إبطال شهادة الخادم.</translation> -<translation id="2392959068659972793">عرض السياسات التي لم يتم تعيين قيم لها</translation> +<translation id="2392959068659972793">عرض السياسات التي لم يتم ضبط قيم لها</translation> <translation id="239429038616798445">طريقة الشحن هذه غير متاحة، جرِّب طريقة أخرى.</translation> <translation id="2396249848217231973">تراجع عن الحذ&ف</translation> <translation id="2410754574180102685">Government-Legal</translation> @@ -744,7 +739,7 @@ <translation id="4072486802667267160">حدث خطأ أثناء معالجة طلبك. يُرجى إعادة المحاولة.</translation> <translation id="4075732493274867456">لا يدعم كل من العميل والخادم مجموعة ترميز أو إصدار بروتوكول طبقة المقابس الآمنة الشائع.</translation> <translation id="4075941231477579656">رقم التعريف باللمس</translation> -<translation id="4079302484614802869">تم تعيين إعداد الخادم الوكيل لاستخدام عنوان URL نص برمجي .pac وليس الخوادم الوكيلة الثابتة.</translation> +<translation id="4079302484614802869">تم ضبط إعداد الخادم الوكيل لاستخدام عنوان URL نص برمجي .pac وليس الخوادم الوكيلة الثابتة.</translation> <translation id="4082393374666368382">الإعدادات - الإدارة</translation> <translation id="4088981014127559358">طباعة جانب واحد image Y shift</translation> <translation id="4098354747657067197">أمامك موقع مخادع</translation> @@ -1493,7 +1488,7 @@ <translation id="7179323680825933600">حفظ طرق الدفع وملؤها</translation> <translation id="7180611975245234373">إعادة التحميل</translation> <translation id="7181261019481237103">فتح نافذة التصفُّح المتخفي</translation> -<translation id="7182878459783632708">لم يتم تعيين أي سياسات</translation> +<translation id="7182878459783632708">لم يتم ضبط أي سياسات</translation> <translation id="7186367841673660872">تمت ترجمة هذه الصفحة من اللغة<ph name="ORIGINAL_LANGUAGE" />إلى اللغة<ph name="LANGUAGE_LANGUAGE" /></translation> <translation id="7192203810768312527">يوفِّر <ph name="SIZE" />. قد يتم تحميل بعض المواقع الإلكترونية بشكل أبطأ عند زيارتها في المرة القادمة.</translation> <translation id="719464814642662924">Visa</translation>
diff --git a/components/strings/components_strings_as.xtb b/components/strings/components_strings_as.xtb index e55bcd8..2e00e0f 100644 --- a/components/strings/components_strings_as.xtb +++ b/components/strings/components_strings_as.xtb
@@ -265,11 +265,6 @@ <translation id="1978555033938440688">ফাৰ্মৱেৰৰ সংস্কৰণ</translation> <translation id="1988881251331415125">যদি বানান ঠিকে আছে, <ph name="BEGIN_LINK" />সংযোগ সম্পৰ্কীয় ডায়গন’ষ্টিক্স চলাই চাওক<ph name="END_LINK" />।</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">কুকীসমূহ আৰু ছাইটৰ ডেটা এক্সেছ কৰক। - -আপুনি <ph name="EMBEDDED_URL" />ক <ph name="TOP_LEVEL_URL" />ত কুকীসমূহ আৰু ছাইটৰ ডেটা ব্যৱহাৰ কৰিবলৈ অনুমতি দিব বিচাৰেনে? - -অন্যথা আপোনাৰ গোপনীয়তা ছেটিংসমূহে এইটো অৱৰোধ কৰিব। ই আপুনি ব্যৱহাৰ কৰা সমলক সঠিকভাৱে কাম কৰাৰ অনুমতি দিব, কিন্তু <ph name="EMBEDDED_URL" />ক আপোনাৰ কাৰ্যকলাপ ট্ৰেক কৰাৰ অনুমতি দিব পাৰে।</translation> <translation id="1997484222658892567">আপোনাৰ স্থানীয় কম্পিউটাৰত <ph name="URL" />এ স্থায়ীভাৱে বেছিকৈ ডেটা সঞ্চয় কৰিব বিচাৰে</translation> <translation id="2001146170449793414">{COUNT,plural, =1{আৰু ১টা}one{আৰু #টা অধিক}other{আৰু #টা অধিক}}</translation> <translation id="2003709556000175978">এতিয়াই আপোনাৰ পাছৱৰ্ড ৰিছেট কৰক</translation>
diff --git a/components/strings/components_strings_az.xtb b/components/strings/components_strings_az.xtb index acd882f6..f296e1d 100644 --- a/components/strings/components_strings_az.xtb +++ b/components/strings/components_strings_az.xtb
@@ -265,11 +265,6 @@ <translation id="1978555033938440688">Firmware Versiyası</translation> <translation id="1988881251331415125">Yazılış doğrudursa, <ph name="BEGIN_LINK" />Bağlantı Diaqnostikasını icra edin<ph name="END_LINK" />.</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">Kukilər və sayt datasına giriş. - -<ph name="EMBEDDED_URL" /> saytına <ph name="TOP_LEVEL_URL" /> ünvanında kukilər və sayt datasını istifadə etmək icazəsi verilsin? - -Əks halda, məxfilik ayarlarınız əsasında bloklanacaq. Bunun nəticəsində istifadə etdiyiniz məzmun düzgün işləyəcək, lakin <ph name="EMBEDDED_URL" /> saytına fəaliyyətinizi izləmək icazəsi verə bilər.</translation> <translation id="1997484222658892567"><ph name="URL" /> böyük həcmli datanı həmişəlik lokal kompüterinizdə yadda saxlamaq istəyir</translation> <translation id="2001146170449793414">{COUNT,plural, =1{və daha 1}other{və daha #}}</translation> <translation id="2003709556000175978">Parolu indi sıfırlayın</translation>
diff --git a/components/strings/components_strings_be.xtb b/components/strings/components_strings_be.xtb index 9155e1e..a7ead62 100644 --- a/components/strings/components_strings_be.xtb +++ b/components/strings/components_strings_be.xtb
@@ -265,11 +265,6 @@ <translation id="1978555033938440688">Версія ўбудаванага ПЗ</translation> <translation id="1988881251331415125">Калі напісанне правільнае, <ph name="BEGIN_LINK" />паспрабуйце запусціць дыягностыку падключэнняў<ph name="END_LINK" />.</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">Атрымаць доступ да файлаў cookie і даных сайта. - -Дазволіць сайту <ph name="EMBEDDED_URL" /> выкарыстоўваць файлы cookie і даныя сайта <ph name="TOP_LEVEL_URL" />? - -Калі не дазволіць, доступ будзе заблакіраваны наладамі прыватнасці. Калі дазволіць, вы зможаце нармальна працаваць са змесцівам, але сайт <ph name="EMBEDDED_URL" /> зможа адсочваць вашы дзеянні.</translation> <translation id="1997484222658892567">Сайт <ph name="URL" /> запытвае дазволу захоўваць вялікі аб'ём даных на лакальным камп'ютары</translation> <translation id="2001146170449793414">{COUNT,plural, =1{і яшчэ 1}one{і яшчэ #}few{і яшчэ #}many{і яшчэ #}other{і яшчэ #}}</translation> <translation id="2003709556000175978">Скіньце свой пароль</translation>
diff --git a/components/strings/components_strings_bg.xtb b/components/strings/components_strings_bg.xtb index f6247b1..0c7f85a 100644 --- a/components/strings/components_strings_bg.xtb +++ b/components/strings/components_strings_bg.xtb
@@ -263,11 +263,6 @@ <translation id="1978555033938440688">Версия на фърмуера</translation> <translation id="1988881251331415125">Ако изписването е правилно, <ph name="BEGIN_LINK" />стартирайте диагностика на свързаността<ph name="END_LINK" />.</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">Осъществява достъп до „бисквитки“ и данни за сайтове. - -Искате ли да разрешите на <ph name="EMBEDDED_URL" /> да използва „бисквитки“ и данни за сайтове на <ph name="TOP_LEVEL_URL" />? - -Ако не го направите, това ще бъде блокирано от настройките ви за поверителност. Разрешението ще позволи правилната работа на съдържанието, с което взаимодействахте, но също така може да позволи на <ph name="EMBEDDED_URL" /> да проследява активността ви.</translation> <translation id="1997484222658892567"><ph name="URL" /> иска да съхранява за постоянно голямо количество данни на локалния ви компютър</translation> <translation id="2001146170449793414">{COUNT,plural, =1{и още 1}other{и още #}}</translation> <translation id="2003709556000175978">Задайте повторно паролата си сега</translation>
diff --git a/components/strings/components_strings_bn.xtb b/components/strings/components_strings_bn.xtb index 8ca7d40..8a260a9 100644 --- a/components/strings/components_strings_bn.xtb +++ b/components/strings/components_strings_bn.xtb
@@ -266,11 +266,6 @@ <translation id="1978555033938440688">ফার্মওয়্যার ভার্সন</translation> <translation id="1988881251331415125">বানান সঠিক হলে, <ph name="BEGIN_LINK" />'কানেক্টিভিটি ডায়াগনস্টিক' টুল চালিয়ে দেখুন<ph name="END_LINK" />।</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">কুকি ও সাইট ডেটা অ্যাক্সেস করার অনুমতি চাইছে। - -আপনি কি <ph name="EMBEDDED_URL" />-কে <ph name="TOP_LEVEL_URL" />-এ কুকি ও সাইট ডেটা ব্যবহার করতে দেবেন? - -অন্যথায়, আপনার গোপনীয়তা সেটিংস এটিকে ব্লক করে দেবে। এটি আপনার ইন্টারঅ্যাক্ট করা কন্টেন্টকে সঠিকভাবে কাজ করতে দেবে, তবে এটি <ph name="EMBEDDED_URL" />-কে আপনার অ্যাক্টিভিটি ট্র্যাক করতে দিতে পারে।</translation> <translation id="1997484222658892567"><ph name="URL" /> স্থায়ীভাবে আপনার কম্পিউটারে বেশি ডেটা স্টোর করতে চায়</translation> <translation id="2001146170449793414">{COUNT,plural, =1{এবং আরও ১টি}one{এবং আরও #টি}other{এবং আরও #টি}}</translation> <translation id="2003709556000175978">আপনার পাসওয়ার্ড রিসেট করুন</translation>
diff --git a/components/strings/components_strings_bs.xtb b/components/strings/components_strings_bs.xtb index 7ea58c2..67445c77 100644 --- a/components/strings/components_strings_bs.xtb +++ b/components/strings/components_strings_bs.xtb
@@ -265,11 +265,6 @@ <translation id="1978555033938440688">Verzija firmvera</translation> <translation id="1988881251331415125">Ako nema greške u pravopisu, <ph name="BEGIN_LINK" />pokušajte pokrenuti Dijagnostiku povezivosti<ph name="END_LINK" />.</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">Pristupiti kolačićima i podacima web lokacije. - -Želite li dozvoliti web lokaciji <ph name="EMBEDDED_URL" /> da koristi kolačiće i podatke web lokacije na <ph name="TOP_LEVEL_URL" />? - -To će u suprotnom biti blokirano prema vašim postavkama privatnosti. To će omogućiti sadržaju s kojim ste stupili u interakciju da ispravno funkcionira, ali može dozvoliti web lokaciji <ph name="EMBEDDED_URL" /> da prati vašu aktivnost.</translation> <translation id="1997484222658892567"><ph name="URL" /> želi trajno pohraniti veliku količinu podataka na vaš lokalni računar</translation> <translation id="2001146170449793414">{COUNT,plural, =1{i još 1}one{i još #}few{i još #}other{i još #}}</translation> <translation id="2003709556000175978">Poništite lozinku sada</translation>
diff --git a/components/strings/components_strings_ca.xtb b/components/strings/components_strings_ca.xtb index b48d542..36043a4d 100644 --- a/components/strings/components_strings_ca.xtb +++ b/components/strings/components_strings_ca.xtb
@@ -261,11 +261,6 @@ <translation id="1978555033938440688">Versió del microprogramari</translation> <translation id="1988881251331415125">Si està ben escrit, <ph name="BEGIN_LINK" />prova d'executar el diagnòstic de connectivitat<ph name="END_LINK" />.</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">Accedir a les galetes i a les dades del lloc web. - -Vols permetre que <ph name="EMBEDDED_URL" /> utilitzi les galetes i les dades del lloc web a <ph name="TOP_LEVEL_URL" />? - -En cas contrari, la configuració de privadesa el bloquejarà. Això permetrà que el contingut amb què has interaccionat funcioni correctament, però pot ser que permeti que <ph name="EMBEDDED_URL" /> faci un seguiment de la teva activitat.</translation> <translation id="1997484222658892567"><ph name="URL" /> vol emmagatzemar una gran quantitat de dades a l'ordinador local de manera permanent</translation> <translation id="2001146170449793414">{COUNT,plural, =1{i 1 aplicació més}other{i # aplicacions més}}</translation> <translation id="2003709556000175978">Restableix la contrasenya ara</translation>
diff --git a/components/strings/components_strings_cs.xtb b/components/strings/components_strings_cs.xtb index 0e8855c..9ee3f751 100644 --- a/components/strings/components_strings_cs.xtb +++ b/components/strings/components_strings_cs.xtb
@@ -261,11 +261,6 @@ <translation id="1978555033938440688">Verze firmwaru</translation> <translation id="1988881251331415125">Pokud je adresa zadána správně, <ph name="BEGIN_LINK" />zkuste spustit Diagnostiku připojení<ph name="END_LINK" />.</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">Získat přístup k souborům cookie a datům webů. - -Chcete webu <ph name="EMBEDDED_URL" /> povolit používat soubory cookie a data webů v doméně <ph name="TOP_LEVEL_URL" />? - -Jinak to vaše nastavení ochrany soukromí bude blokovat. Povolením umožníte správné fungování obsahu, se kterým jste interagovali, ale web <ph name="EMBEDDED_URL" /> také bude moci sledovat vaši aktivitu.</translation> <translation id="1997484222658892567">Stránka <ph name="URL" /> chce trvale ukládat data v místním počítači</translation> <translation id="2001146170449793414">{COUNT,plural, =1{a 1 další}few{a # další}many{a # další}other{a # dalších}}</translation> <translation id="2003709556000175978">Resetujte heslo</translation>
diff --git a/components/strings/components_strings_da.xtb b/components/strings/components_strings_da.xtb index 55e2ec43a..37abb99 100644 --- a/components/strings/components_strings_da.xtb +++ b/components/strings/components_strings_da.xtb
@@ -265,11 +265,6 @@ <translation id="1978555033938440688">Firmwareversion</translation> <translation id="1988881251331415125">Hvis stavningen er korrekt, kan du <ph name="BEGIN_LINK" />prøve at køre Diagnosticering af forbindelse<ph name="END_LINK" />.</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">Adgang til cookies og websitedata. - -Vil du give <ph name="EMBEDDED_URL" /> tilladelse til at bruge cookies og websitedata på <ph name="TOP_LEVEL_URL" />? - -Ellers vil det blive blokeret af dine privatlivsindstillinger. Det giver det indhold, du interagerede med, fuld funktionalitet, men kan give <ph name="EMBEDDED_URL" /> mulighed for at spore din aktivitet.</translation> <translation id="1997484222658892567"><ph name="URL" /> anmoder om at gemme store mængder data permanent på din lokale computer</translation> <translation id="2001146170449793414">{COUNT,plural, =1{og 1 mere}one{og # mere}other{og # mere}}</translation> <translation id="2003709556000175978">Nulstil din adgangskode nu</translation>
diff --git a/components/strings/components_strings_de.xtb b/components/strings/components_strings_de.xtb index 816a7a7a..6792203a 100644 --- a/components/strings/components_strings_de.xtb +++ b/components/strings/components_strings_de.xtb
@@ -261,11 +261,6 @@ <translation id="1978555033938440688">Firmwareversion</translation> <translation id="1988881251331415125">Wenn die URL keinen Tippfehler enthält, <ph name="BEGIN_LINK" />können Sie die Verbindungsdiagnose durchführen<ph name="END_LINK" />.</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">Auf Cookies und Websitedaten zugreifen. - -Möchten Sie <ph name="EMBEDDED_URL" /> erlauben, auf <ph name="TOP_LEVEL_URL" /> Cookies und Websitedaten zu verwenden? - -Sie werden sonst gemäß Ihren Datenschutzeinstellungen blockiert. Wenn Cookies und Websitedaten verwendet werden dürfen, funktionieren die gewünschten Inhalte erwartungsgemäß, <ph name="EMBEDDED_URL" /> kann dadurch aber möglicherweise Ihre Aktivitäten verfolgen.</translation> <translation id="1997484222658892567"><ph name="URL" /> möchte umfangreiche Daten dauerhaft auf Ihrem lokalen Computer speichern</translation> <translation id="2001146170449793414">{COUNT,plural, =1{und 1 weitere}other{und # weitere}}</translation> <translation id="2003709556000175978">Jetzt Passwort zurücksetzen</translation>
diff --git a/components/strings/components_strings_el.xtb b/components/strings/components_strings_el.xtb index 73f9466f..15115f2 100644 --- a/components/strings/components_strings_el.xtb +++ b/components/strings/components_strings_el.xtb
@@ -265,11 +265,6 @@ <translation id="1978555033938440688">Έκδοση υλικολογισμικού</translation> <translation id="1988881251331415125">Εάν δεν υπάρχει ορθογραφικό λάθος, <ph name="BEGIN_LINK" />δοκιμάστε να εκτελέσετε έναν έλεγχο Διαγνωστικών συνδεσιμότητας<ph name="END_LINK" />.</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">Πρόσβαση σε cookie και δεδομένα ιστοτόπου. - -Θέλετε να επιτρέψετε στο <ph name="EMBEDDED_URL" /> να χρησιμοποιεί cookie και δεδομένα ιστοτόπου στο <ph name="TOP_LEVEL_URL" />; - -Σε αντίθετη περίπτωση, θα αποκλειστεί από τις ρυθμίσεις απορρήτου σας. Με αυτήν την ενέργεια, το περιεχόμενο με το οποίο αλληλεπιδράσατε θα λειτουργεί σωστά, αλλά το <ph name="EMBEDDED_URL" /> ενδέχεται να παρακολουθεί τη δραστηριότητά σας.</translation> <translation id="1997484222658892567">Ο ιστότοπος <ph name="URL" /> θέλει να αποθηκεύσει μόνιμα δεδομένα μεγάλου όγκου στον τοπικό υπολογιστή σας</translation> <translation id="2001146170449793414">{COUNT,plural, =1{και άλλο 1 άτομο}other{και άλλα # άτομα}}</translation> <translation id="2003709556000175978">Επαναφέρετε τον κωδικό πρόσβασής σας τώρα</translation>
diff --git a/components/strings/components_strings_en-GB.xtb b/components/strings/components_strings_en-GB.xtb index eba63c9..6e71870c 100644 --- a/components/strings/components_strings_en-GB.xtb +++ b/components/strings/components_strings_en-GB.xtb
@@ -264,11 +264,6 @@ <translation id="1978555033938440688">Firmware Version</translation> <translation id="1988881251331415125">If spelling is correct, <ph name="BEGIN_LINK" />try running connectivity Diagnostics<ph name="END_LINK" />.</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">Access cookies and site data. - -Do you want to allow <ph name="EMBEDDED_URL" /> to use cookies and site data on <ph name="TOP_LEVEL_URL" />? - -This will otherwise be blocked by your privacy settings. This will allow the content that you interacted with to work correctly, but may allow <ph name="EMBEDDED_URL" /> to track your activity.</translation> <translation id="1997484222658892567"><ph name="URL" /> wants to permanently store large data on your local computer</translation> <translation id="2001146170449793414">{COUNT,plural, =1{and 1 more}other{and # more}}</translation> <translation id="2003709556000175978">Reset your password now</translation>
diff --git a/components/strings/components_strings_es-419.xtb b/components/strings/components_strings_es-419.xtb index 6875c08..8e8bd82 100644 --- a/components/strings/components_strings_es-419.xtb +++ b/components/strings/components_strings_es-419.xtb
@@ -261,11 +261,6 @@ <translation id="1978555033938440688">Versión de firmware</translation> <translation id="1988881251331415125">Si no hay errores, <ph name="BEGIN_LINK" />prueba ejecutar el diagnóstico de conectividad<ph name="END_LINK" />.</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">Accede a las cookies y los datos de sitios. - -¿Deseas permitir que <ph name="EMBEDDED_URL" /> use cookies y datos de sitios en <ph name="TOP_LEVEL_URL" />? - -De lo contrario, la configuración de privacidad bloqueará esta acción. Esto permitirá que el contenido con el que interactuaste funcione correctamente, pero es posible que <ph name="EMBEDDED_URL" /> haga un seguimiento de tu actividad.</translation> <translation id="1997484222658892567"><ph name="URL" /> desea almacenar de forma permanente los datos de gran tamaño en tu computadora local</translation> <translation id="2001146170449793414">{COUNT,plural, =1{y 1 más}other{y # más}}</translation> <translation id="2003709556000175978">Restablecer tu contraseña ahora</translation>
diff --git a/components/strings/components_strings_es.xtb b/components/strings/components_strings_es.xtb index 4a6362d..a6a57dc 100644 --- a/components/strings/components_strings_es.xtb +++ b/components/strings/components_strings_es.xtb
@@ -265,11 +265,6 @@ <translation id="1978555033938440688">Versión de firmware</translation> <translation id="1988881251331415125">Si está escrito correctamente, <ph name="BEGIN_LINK" />prueba a ejecutar el diagnóstico de conexión<ph name="END_LINK" />.</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">Acceder a cookies y datos de sitios web. - -¿Quieres permitir que <ph name="EMBEDDED_URL" /> use tus cookies y datos de sitios web en <ph name="TOP_LEVEL_URL" />? - -De lo contrario, tu configuración de privacidad lo impedirá. Permitirá que el contenido con el que interactúes funcione correctamente, pero se concederá permiso a <ph name="EMBEDDED_URL" /> para que pueda monitorizar tu actividad.</translation> <translation id="1997484222658892567"><ph name="URL" /> quiere almacenar datos de gran tamaño de forma permanente en tu ordenador local</translation> <translation id="2001146170449793414">{COUNT,plural, =1{y una más}other{y # más}}</translation> <translation id="2003709556000175978">Cambia tu contraseña ahora</translation>
diff --git a/components/strings/components_strings_et.xtb b/components/strings/components_strings_et.xtb index d8e5571..9ebc3b3 100644 --- a/components/strings/components_strings_et.xtb +++ b/components/strings/components_strings_et.xtb
@@ -264,11 +264,6 @@ <translation id="1978555033938440688">Püsivara versioon</translation> <translation id="1988881251331415125">Kui õigekirjavigu pole, <ph name="BEGIN_LINK" />käitage ühenduvuse diagnostika<ph name="END_LINK" />.</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">Juurdepääs küpsisefailidele ja saidi andmetele. - -Kas soovite lubada saidil <ph name="EMBEDDED_URL" /> ülataseme URL-il <ph name="TOP_LEVEL_URL" /> kasutada küpsisefaile ja saidi andmeid? - -Vastasel korral blokeeritakse see teie privaatsusseadetes. See võimaldab teie kasutatud sisul õigesti töötada, kuid võib lubada saidil <ph name="EMBEDDED_URL" /> jälgida teie tegevusi.</translation> <translation id="1997484222658892567"><ph name="URL" /> soovib suure hulga andmeid alaliselt teie kohalikku arvutisse salvestada</translation> <translation id="2001146170449793414">{COUNT,plural, =1{ja veel 1}other{ja veel #}}</translation> <translation id="2003709556000175978">Lähtestage oma parool kohe</translation>
diff --git a/components/strings/components_strings_eu.xtb b/components/strings/components_strings_eu.xtb index 6c4405a..b58ffb4 100644 --- a/components/strings/components_strings_eu.xtb +++ b/components/strings/components_strings_eu.xtb
@@ -261,11 +261,6 @@ <translation id="1978555033938440688">Firmware-bertsioa</translation> <translation id="1988881251331415125">Behar bezala idatzita badago, <ph name="BEGIN_LINK" />exekutatu konexio-diagnostikoak<ph name="END_LINK" />.</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">Atzitu cookieak eta webgunearen datuak. - -<ph name="TOP_LEVEL_URL" /> webguneko cookieak eta datuak erabiltzeko baimena eman nahi diozu <ph name="EMBEDDED_URL" /> webguneari? - -Bestela, pribatutasun-ezarpenek blokeatu egingo dute baimen hori. Baimen honekin, erabili duzun edukiak behar bezala funtzionatuko du, baina baliteke <ph name="EMBEDDED_URL" /> webguneak zure jardueren jarraipena egin ahal izatea.</translation> <translation id="1997484222658892567"><ph name="URL" /> webguneak datu asko gorde nahi ditu ordenagailuan modu iraunkorrean</translation> <translation id="2001146170449793414">{COUNT,plural, =1{eta beste 1}other{eta beste #}}</translation> <translation id="2003709556000175978">Berrezarri pasahitza orain</translation>
diff --git a/components/strings/components_strings_fa.xtb b/components/strings/components_strings_fa.xtb index 30680b3..2a727e1 100644 --- a/components/strings/components_strings_fa.xtb +++ b/components/strings/components_strings_fa.xtb
@@ -265,11 +265,6 @@ <translation id="1978555033938440688">نسخه سفتافزار</translation> <translation id="1988881251331415125">اگر املا صحیح است، <ph name="BEGIN_LINK" />«عیبیابی اتصال» را اجرا کنید<ph name="END_LINK" />.</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">به کوکیها و دادههای سایت دسترسی داشته باشد. - -میخواهید به <ph name="EMBEDDED_URL" /> اجازه دهید از کوکیها و دادههای سایت در <ph name="TOP_LEVEL_URL" /> استفاده کند؟ - -اگر اجازه ندهید، تنظیمات حریمخصوصی مانع از این دسترسی میشود. این اجازه کمک میکند محتوایی که با آن تعامل داشتهاید درست کار کند، اما میتواند به <ph name="EMBEDDED_URL" /> هم اجازه دهد فعالیت شما را ردیابی کند.</translation> <translation id="1997484222658892567"><ph name="URL" /> میخواهد دادههای بزرگ را برای همیشه در رایانه محلیتان ذخیره کند</translation> <translation id="2001146170449793414">{COUNT,plural, =1{و ۱ برنامه دیگر}one{و # برنامه دیگر}other{و # برنامه دیگر}}</translation> <translation id="2003709556000175978">هماکنون گذرواژهتان را بازنشانی کنید</translation>
diff --git a/components/strings/components_strings_fi.xtb b/components/strings/components_strings_fi.xtb index 71bd718..37ca571 100644 --- a/components/strings/components_strings_fi.xtb +++ b/components/strings/components_strings_fi.xtb
@@ -265,11 +265,6 @@ <translation id="1978555033938440688">Laiteohjelmiston versio</translation> <translation id="1988881251331415125">Jos kirjoitusasu on oikein, <ph name="BEGIN_LINK" />kokeile yhteysdiagnostiikkaa<ph name="END_LINK" />.</translation> <translation id="1992331125980284532">JIS B3 (364 mm x 515 mm)</translation> -<translation id="1992796205810278279">päästä evästeisiin ja sivustodataan. - -Haluatko, että <ph name="EMBEDDED_URL" /> saa käyttää evästeitä ja sivustodataa (<ph name="TOP_LEVEL_URL" />)? - -Muussa tapauksessa tämä estetään tietosuoja-asetuksilla. Jos sallit tämän, käyttämäsi sisältö toimii oikein mutta <ph name="EMBEDDED_URL" /> voi saada seurata toimintaasi.</translation> <translation id="1997484222658892567"><ph name="URL" /> haluaa tallentaa suuria tietomääriä pysyvästi paikalliselle tietokoneellesi.</translation> <translation id="2001146170449793414">{COUNT,plural, =1{ja 1 muu}other{ja # muuta}}</translation> <translation id="2003709556000175978">Pyydä uusi salasana</translation>
diff --git a/components/strings/components_strings_fil.xtb b/components/strings/components_strings_fil.xtb index ea5250a..f08a16db 100644 --- a/components/strings/components_strings_fil.xtb +++ b/components/strings/components_strings_fil.xtb
@@ -265,11 +265,6 @@ <translation id="1978555033938440688">Bersyon ng Firmware</translation> <translation id="1988881251331415125">Kung tama ang pagbabaybay, <ph name="BEGIN_LINK" />subukang patakbuhin ang Mga Diagnostic sa Pagkakakonekta<ph name="END_LINK" />.</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">I-access ang mga cookie at data ng site. - -Gusto mo bang payagan ang <ph name="EMBEDDED_URL" /> na gamitin ang mga cookie at data ng site sa <ph name="TOP_LEVEL_URL" />? - -Kung ayaw mo, iba-block ito ng iyong mga setting ng privacy. Papayagan nito ang content na nakaugnayan mo na gumana nang maayos, pero posible nitong payagan ang <ph name="EMBEDDED_URL" /> na i-track ang iyong aktibidad.</translation> <translation id="1997484222658892567">Gusto ng <ph name="URL" /> na permanenteng mag-store ng malaking data sa iyong lokal na computer</translation> <translation id="2001146170449793414">{COUNT,plural, =1{at 1 pa}one{at # pa}other{at # pa}}</translation> <translation id="2003709556000175978">I-reset na ang iyong password</translation>
diff --git a/components/strings/components_strings_fr-CA.xtb b/components/strings/components_strings_fr-CA.xtb index f6b53bb7..293f8af 100644 --- a/components/strings/components_strings_fr-CA.xtb +++ b/components/strings/components_strings_fr-CA.xtb
@@ -261,11 +261,6 @@ <translation id="1978555033938440688">Version du micrologiciel</translation> <translation id="1988881251331415125">S'il n'y a pas d'erreur, <ph name="BEGIN_LINK" />essayez d'exécuter les diagnostics de connectivité<ph name="END_LINK" />.</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">Accéder aux témoins et aux données relatives aux sites. - -Souhaitez-vous autoriser <ph name="EMBEDDED_URL" /> à utiliser les témoins et les données relatives aux sites sur <ph name="TOP_LEVEL_URL" />? - -À moins que vous accordiez l'autorisation, cet accès sera bloqué par vos paramètres de confidentialité. Cela permettra au contenu avec lequel vous avez interagi de fonctionner correctement, mais pourrait autoriser <ph name="EMBEDDED_URL" /> à faire le suivi de votre activité.</translation> <translation id="1997484222658892567">L'URL <ph name="URL" /> veut stocker de façon permanente de grandes quantités de données sur votre ordinateur local</translation> <translation id="2001146170449793414">{COUNT,plural, =1{et 1 autre}one{et # autre}other{et # autres}}</translation> <translation id="2003709556000175978">Réinitialiser votre mot de passe maintenant</translation>
diff --git a/components/strings/components_strings_fr.xtb b/components/strings/components_strings_fr.xtb index e2869cab..e84e7f6 100644 --- a/components/strings/components_strings_fr.xtb +++ b/components/strings/components_strings_fr.xtb
@@ -265,11 +265,6 @@ <translation id="1978555033938440688">Version du micrologiciel</translation> <translation id="1988881251331415125">S'il n'y a pas d'erreur, essayez de <ph name="BEGIN_LINK" />faire un diagnostic sur la connectivité<ph name="END_LINK" />.</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">Accéder aux cookies et aux données de site. - -Souhaitez-vous autoriser le site <ph name="EMBEDDED_URL" /> à utiliser les cookies et les données de site sur <ph name="TOP_LEVEL_URL" /> ? - -Par défaut, ce type d'accès est bloqué par vos paramètres de confidentialité. Si vous l'autorisez, les contenus avec lesquels vous avez interagi fonctionneront correctement, mais il se pourrait que le site <ph name="EMBEDDED_URL" /> puisse suivre votre activité.</translation> <translation id="1997484222658892567"><ph name="URL" /> souhaite stocker de façon permanente des données volumineuses sur votre ordinateur local</translation> <translation id="2001146170449793414">{COUNT,plural, =1{et 1 autre}one{et # autre}other{et # autres}}</translation> <translation id="2003709556000175978">Réinitialiser votre mot de passe maintenant</translation>
diff --git a/components/strings/components_strings_gl.xtb b/components/strings/components_strings_gl.xtb index 09170df..7551770 100644 --- a/components/strings/components_strings_gl.xtb +++ b/components/strings/components_strings_gl.xtb
@@ -264,11 +264,6 @@ <translation id="1978555033938440688">Versión do firmware</translation> <translation id="1988881251331415125">Se está ben escrito, podes <ph name="BEGIN_LINK" />probar a executar diagnósticos de conectividade<ph name="END_LINK" />.</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">Acceder ás cookies e aos datos dos sitios. - -Queres permitir que <ph name="EMBEDDED_URL" /> utilice as cookies e os datos dos sitios en <ph name="TOP_LEVEL_URL" />? - -En caso contrario, a configuración de privacidade impedirao. Se o permites, o contido co que interactúes funcionará correctamente, pero <ph name="EMBEDDED_URL" /> poderá realizar un seguimento da túa actividade.</translation> <translation id="1997484222658892567">O URL <ph name="URL" /> quere almacenar un gran volume de datos de forma permanente no teu ordenador local</translation> <translation id="2001146170449793414">{COUNT,plural, =1{e 1 máis}other{e # máis}}</translation> <translation id="2003709556000175978">Restablecer o teu contrasinal agora</translation>
diff --git a/components/strings/components_strings_gu.xtb b/components/strings/components_strings_gu.xtb index 08058cb..6d23c65d 100644 --- a/components/strings/components_strings_gu.xtb +++ b/components/strings/components_strings_gu.xtb
@@ -265,11 +265,6 @@ <translation id="1978555033938440688">ફર્મવેયર વર્ઝન</translation> <translation id="1988881251331415125">જો જોડણી સાચી હોય, તો <ph name="BEGIN_LINK" />કનેક્ટિવિટી નિદાન ચલાવવાનો પ્રયાસ કરી જુઓ<ph name="END_LINK" />.</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">કુકી અને સાઇટ ડેટાનો ઍક્સેસ કરો. - -શું તમે <ph name="EMBEDDED_URL" />ને <ph name="TOP_LEVEL_URL" /> પર કુકી અને સાઇટ ડેટાનો ઉપયોગ કરવાની મંજૂરી આપવા માગો છો? - -નહીંતર આને તમારા પ્રાઇવસી સેટિંગ વડે બ્લૉક કરવામાં આવશે. આ તમે જેની સાથે ક્રિયાપ્રતિક્રિયા કરી છે તે કન્ટેન્ટને કાર્ય કરવાની મંજૂરી આપશે, પણ <ph name="EMBEDDED_URL" />ને તમારી પ્રવૃત્તિ ટ્રૅક કરવાની મંજૂરી આપી શકે છે.</translation> <translation id="1997484222658892567"><ph name="URL" /> તમારા સ્થાનિક કમ્પ્યુટર પર કાયમી ધોરણે વિશાળ ડેટા સ્ટોર કરવા માગે છે</translation> <translation id="2001146170449793414">{COUNT,plural, =1{અને 1 વધુ}one{અને # વધુ}other{અને # વધુ}}</translation> <translation id="2003709556000175978">તમારો પાસવર્ડ હમણાં જ રીસેટ કરો</translation>
diff --git a/components/strings/components_strings_hi.xtb b/components/strings/components_strings_hi.xtb index 978f475..d25e012 100644 --- a/components/strings/components_strings_hi.xtb +++ b/components/strings/components_strings_hi.xtb
@@ -265,11 +265,6 @@ <translation id="1978555033938440688">फ़र्मवेयर वर्शन</translation> <translation id="1988881251331415125">अगर स्पेलिंग सही है, तो <ph name="BEGIN_LINK" />कनेक्टिविटी डायग्नोस्टिक्स टूल चलाकर देखें<ph name="END_LINK" />.</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">कुकी और साइट के डेटा का ऐक्सेस. - -क्या आप <ph name="EMBEDDED_URL" /> काे <ph name="TOP_LEVEL_URL" /> पर कुकी और साइट डेटा का इस्तेमाल करने की अनुमति देना चाहते हैं? - -ऐसा न करने पर, आपकी निजता सेटिंग के मुताबिक इस पर राेक लगा दी जाएगी. यह उस सामग्री को सही ढंग से काम करने की अनुमति देगा जिससे आपने इंटरैक्ट किया है. हालांकि, इससे <ph name="EMBEDDED_URL" /> आपकी गतिविधि ट्रैक कर सकता है.</translation> <translation id="1997484222658892567"><ph name="URL" /> आपके स्थानीय कंप्यूटर पर हमेशा के लिए बड़ी मात्रा में डेटा संग्रहित करना चाहता है</translation> <translation id="2001146170449793414">{COUNT,plural, =1{और 1 ज़्यादा}one{और # ज़्यादा}other{और # ज़्यादा}}</translation> <translation id="2003709556000175978">अपना पासवर्ड अभी रीसेट करें</translation>
diff --git a/components/strings/components_strings_hr.xtb b/components/strings/components_strings_hr.xtb index 6806cca..a636610 100644 --- a/components/strings/components_strings_hr.xtb +++ b/components/strings/components_strings_hr.xtb
@@ -265,11 +265,6 @@ <translation id="1978555033938440688">Verzija opreme</translation> <translation id="1988881251331415125">Ako nema pravopisnih pogrešaka, <ph name="BEGIN_LINK" />pokušajte pokrenuti Dijagnostiku veze<ph name="END_LINK" />.</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">pristupiti kolačićima i podacima web-lokacije. - -Želite li dopustiti da <ph name="EMBEDDED_URL" /> koristi kolačiće i podatke web-lokacije na <ph name="TOP_LEVEL_URL" />? - -To će u suprotnom biti onemogućeno na temelju vaših postavki privatnosti. To će sadržaju s kojim ste stupili u interakciju omogućiti da funkcionira pravilno, no možda će omogućiti da <ph name="EMBEDDED_URL" /> prati vašu aktivnost.</translation> <translation id="1997484222658892567"><ph name="URL" /> želi trajno pohraniti veliku količinu podataka na vaše lokalno računalo</translation> <translation id="2001146170449793414">{COUNT,plural, =1{i još 1}one{i još #}few{i još #}other{i još #}}</translation> <translation id="2003709556000175978">Poništite zaporku odmah</translation>
diff --git a/components/strings/components_strings_hu.xtb b/components/strings/components_strings_hu.xtb index b4d26d09..9a20875 100644 --- a/components/strings/components_strings_hu.xtb +++ b/components/strings/components_strings_hu.xtb
@@ -265,11 +265,6 @@ <translation id="1978555033938440688">Firmware verziószáma</translation> <translation id="1988881251331415125">Ha helyesen írta, <ph name="BEGIN_LINK" />próbálkozzon a kapcsolódási diagnosztika futtatásával<ph name="END_LINK" />.</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">Hozzáférés a cookie-khoz és a webhelyadatokhoz. - -Engedélyezi a(z) <ph name="EMBEDDED_URL" /> számára, hogy cookie-kat és webhelyadatokat használjon a következő webhelyen: <ph name="TOP_LEVEL_URL" />? - -Ezt egyéb esetben letiltják az adatvédelmi beállításai. Az engedélyezéssel lehetővé teszi a megnyitott tartalom megfelelő működését, de lehetővé teheti a(z) <ph name="EMBEDDED_URL" /> számára az Ön tevékenységeinek követését is.</translation> <translation id="1997484222658892567">A(z) <ph name="URL" /> webhely állandó jelleggel nagy méretű adatokat szeretne tárolni a helyi számítógépen</translation> <translation id="2001146170449793414">{COUNT,plural, =1{és 1 további}other{és # további}}</translation> <translation id="2003709556000175978">Jelszó visszaállítása</translation>
diff --git a/components/strings/components_strings_hy.xtb b/components/strings/components_strings_hy.xtb index 8be56dfc9..e1f141e8 100644 --- a/components/strings/components_strings_hy.xtb +++ b/components/strings/components_strings_hy.xtb
@@ -265,11 +265,6 @@ <translation id="1978555033938440688">Ներկառուցված ծրագրի տարբերակը</translation> <translation id="1988881251331415125">Եթե տառասխալ չկա, <ph name="BEGIN_LINK" />գործարկեք կապի դիագնոստիկան<ph name="END_LINK" />։</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">Օգտագործել քուքիներն ու կայքի տվյալները։ - -Ուզո՞ւմ եք թույլատրել <ph name="EMBEDDED_URL" /> կայքին օգտագործել <ph name="TOP_LEVEL_URL" /> կայքի քուքիներն ու տվյալները։ - -Սա արգելափակված է ձեր գաղտնիության կարգավորումների կողմից։ Ձեր օգտագործած բովանդակությունը ճիշտ կաշխատի, սակայն <ph name="EMBEDDED_URL" /> կայքը կկարողանա հետագծել ձեր գործողությունները։</translation> <translation id="1997484222658892567"><ph name="URL" /> կայքն ուզում է ձեր համակարգչում մեծ ծավալով տվյալներ մշտապես պահել</translation> <translation id="2001146170449793414">{COUNT,plural, =1{ու ևս 1 հավելված}one{and # more}other{ու ևս # հավելված}}</translation> <translation id="2003709556000175978">Վերակայեք գաղտնաբառը</translation>
diff --git a/components/strings/components_strings_id.xtb b/components/strings/components_strings_id.xtb index 8f919e7..0ad166e9a 100644 --- a/components/strings/components_strings_id.xtb +++ b/components/strings/components_strings_id.xtb
@@ -261,11 +261,6 @@ <translation id="1978555033938440688">Versi Firmware</translation> <translation id="1988881251331415125">Jika ejaan sudah benar, <ph name="BEGIN_LINK" />coba jalankan Diagnostik Konektivitas<ph name="END_LINK" />.</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">Mengakses cookie dan data situs. - -Anda ingin mengizinkan <ph name="EMBEDDED_URL" /> menggunakan cookie dan data situs di <ph name="TOP_LEVEL_URL" />? - -Jika tidak, ini akan diblokir oleh setelan privasi Anda. Ini akan memungkinkan konten yang berinteraksi dengan Anda berfungsi sebagaimana mestinya, tetapi mungkin mengizinkan <ph name="EMBEDDED_URL" /> melacak aktivitas Anda.</translation> <translation id="1997484222658892567"><ph name="URL" /> ingin menyimpan data berukuran besar di komputer lokal Anda secara permanen</translation> <translation id="2001146170449793414">{COUNT,plural, =1{dan 1 lainnya}other{dan # lainnya}}</translation> <translation id="2003709556000175978">Reset sandi Anda sekarang</translation>
diff --git a/components/strings/components_strings_is.xtb b/components/strings/components_strings_is.xtb index 06fdb3d2..2e5339ee 100644 --- a/components/strings/components_strings_is.xtb +++ b/components/strings/components_strings_is.xtb
@@ -266,11 +266,6 @@ <translation id="1978555033938440688">Fastbúnaðarútgáfa</translation> <translation id="1988881251331415125">Ef stafsetningin er rétt skaltu <ph name="BEGIN_LINK" />prófa að keyra bilanaleit á tengigetu<ph name="END_LINK" />.</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">Fá aðgang að fótsporum og gögnum vefsvæða. - -Viltu leyfa <ph name="EMBEDDED_URL" /> að nota fótspor og vefsvæðisgögn á <ph name="TOP_LEVEL_URL" />? - -Ef þú gerir það ekki loka persónuverndarstillingar þínar á þennan aðgang. Þetta gerir vefsvæðinu kleift að bjóða upp á rétta virkni efnisins sem þú valdir en kann að gera <ph name="EMBEDDED_URL" /> kleift að rekja aðgerðir þínar.</translation> <translation id="1997484222658892567"><ph name="URL" /> vill fá að geyma mikið magn gagna varanlega í tölvunni þinni</translation> <translation id="2001146170449793414">{COUNT,plural, =1{og eitt í viðbót}one{og # í viðbót}other{og # í viðbót}}</translation> <translation id="2003709556000175978">Endurstilltu aðgangsorðið þitt núna</translation>
diff --git a/components/strings/components_strings_it.xtb b/components/strings/components_strings_it.xtb index b281eec..1b32dde 100644 --- a/components/strings/components_strings_it.xtb +++ b/components/strings/components_strings_it.xtb
@@ -265,11 +265,6 @@ <translation id="1978555033938440688">Versione firmware</translation> <translation id="1988881251331415125">Se l'ortografia è corretta, <ph name="BEGIN_LINK" />prova a eseguire lo strumento Diagnostica della connettività<ph name="END_LINK" />.</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">Accedere a cookie e dati del sito. - -Vuoi consentire al sito <ph name="EMBEDDED_URL" /> di usare cookie e dati del sito su <ph name="TOP_LEVEL_URL" />? - -In caso contrario l'uso sarà bloccato dalle impostazioni sulla privacy. I contenuti con cui hai interagito funzioneranno correttamente, ma il sito <ph name="EMBEDDED_URL" /> potrebbe monitorare la tua attività.</translation> <translation id="1997484222658892567"><ph name="URL" /> vuole memorizzare in modo definitivo grandi quantità di dati sul computer locale</translation> <translation id="2001146170449793414">{COUNT,plural, =1{e un'altra}other{e altre #}}</translation> <translation id="2003709556000175978">Reimposta ora la password</translation>
diff --git a/components/strings/components_strings_iw.xtb b/components/strings/components_strings_iw.xtb index e924ffff..b5e5d4f9 100644 --- a/components/strings/components_strings_iw.xtb +++ b/components/strings/components_strings_iw.xtb
@@ -265,11 +265,6 @@ <translation id="1978555033938440688">גרסת קושחה</translation> <translation id="1988881251331415125">אם האיות תקין, <ph name="BEGIN_LINK" />יש לנסות להפעיל אבחון קישוריות<ph name="END_LINK" />.</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">לקבל גישה לקובצי Cookie ולנתוני אתרים. - -האם ברצונך לאפשר ל-<ph name="EMBEDDED_URL" /> להשתמש בקובצי Cookie ובנתונים שב-<ph name="TOP_LEVEL_URL" />? - -ללא הרשאה מפורשת ממך, האפשרות הזו תישאר חסומה בהתאם להגדרות הפרטיות. הרשאה זו תאפשר פעולה תקינה של תוכן שתתקיים איתו אינטראקציה, אבל היא עשויה גם לאפשר ל-<ph name="EMBEDDED_URL" /> לעקוב אחרי הפעילות שלך.</translation> <translation id="1997484222658892567"><ph name="URL" /> רוצה לאחסן כמות גדולה של נתונים במחשב המקומי שלך באופן קבוע</translation> <translation id="2001146170449793414">{COUNT,plural, =1{ואפליקציה אחת נוספת}two{ושתי אפליקציות נוספות}many{ו-# אפליקציות נוספות}other{ו-# אפליקציות נוספות}}</translation> <translation id="2003709556000175978">צריך לאפס את הסיסמה עכשיו</translation>
diff --git a/components/strings/components_strings_ja.xtb b/components/strings/components_strings_ja.xtb index 070f881..a7b8165c 100644 --- a/components/strings/components_strings_ja.xtb +++ b/components/strings/components_strings_ja.xtb
@@ -261,11 +261,6 @@ <translation id="1978555033938440688">ファームウェアのバージョン</translation> <translation id="1988881251331415125">タイプミスでない場合は、<ph name="BEGIN_LINK" />接続診断をお試しください<ph name="END_LINK" />。</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">Cookie とサイトデータへのアクセス。 - -<ph name="EMBEDDED_URL" /> が <ph name="TOP_LEVEL_URL" /> で Cookie とサイトデータを使用することを許可しますか? - -許可しない場合は、プライバシー設定に基づきブロックされます。許可した場合、サイトのコンテンツは適切に機能しますが、<ph name="EMBEDDED_URL" /> にアクティビティが追跡される可能性があります。</translation> <translation id="1997484222658892567"><ph name="URL" /> から、ローカルのパソコンに大きなデータを永続的に保存する許可を求められています</translation> <translation id="2001146170449793414">{COUNT,plural, =1{他 1 個}other{他 # 個}}</translation> <translation id="2003709556000175978">今すぐパスワードを再設定してください</translation>
diff --git a/components/strings/components_strings_ka.xtb b/components/strings/components_strings_ka.xtb index 7e303a5..40400d09 100644 --- a/components/strings/components_strings_ka.xtb +++ b/components/strings/components_strings_ka.xtb
@@ -261,11 +261,6 @@ <translation id="1978555033938440688">ჩაშენებული პროგრამული უზრუნველყოფის ვერსია</translation> <translation id="1988881251331415125">თუ სწორად არის აკრეფილი, <ph name="BEGIN_LINK" />ცადეთ კავშირის დიაგნოსტიკა<ph name="END_LINK" />.</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">ქუქი-ჩანაწერებსა და საიტის მონაცემებზე წვდომა. - -გსურთ, <ph name="EMBEDDED_URL" />-ს ჰქონდეს <ph name="TOP_LEVEL_URL" />-ის ქუქი-ჩანაწერებსა და საიტის მონაცემებზე წვდომა.? - -ნაგულისხმევად, აღნიშნული იბლოკება თქვენი კონფიდენციალურობის პარამეტრების მიხედვით. კონტენტი, რომელთანაც ინტერაქცია გქონდათ, გამართულად იმუშავებს, თუმცა <ph name="EMBEDDED_URL" /> შეძლებს თვალის მიდევნებას თქვენი აქტივობისთვის.</translation> <translation id="1997484222658892567"><ph name="URL" /> ითხოვს თქვენს ადგილობრივ კომპიუტერზე დიდი მოცულობის მონაცემების სამუდამოდ შენახვის ნებართვას</translation> <translation id="2001146170449793414">{COUNT,plural, =1{და 1 სხვა}other{და # სხვა}}</translation> <translation id="2003709556000175978">გადააყენეთ პაროლი ახლავე</translation>
diff --git a/components/strings/components_strings_kk.xtb b/components/strings/components_strings_kk.xtb index 0380ae2..a8f60c67 100644 --- a/components/strings/components_strings_kk.xtb +++ b/components/strings/components_strings_kk.xtb
@@ -265,11 +265,6 @@ <translation id="1978555033938440688">Микробағдарлама нұсқасы</translation> <translation id="1988881251331415125">Дұрыс жазылған болса, <ph name="BEGIN_LINK" />Connectivity Diagnostics құралын іске қосып көріңіз<ph name="END_LINK" />.</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">Cookie файлдарын және сайт деректерін пайдалану. - -<ph name="EMBEDDED_URL" /> сайтына <ph name="TOP_LEVEL_URL" /> сайтында cookie файлдары мен сайт деректерін пайдалануға рұқсат бересіз бе? - -Рұқсат бермесеңіз, оны құпиялылық параметрлері бөгейді. Ал рұқсат берсеңіз, өзара әрекет еткен мазмұныңыз дұрыс жұмыс істейді, бірақ <ph name="EMBEDDED_URL" /> сайты әрекетіңізді қадағалайды.</translation> <translation id="1997484222658892567"><ph name="URL" /> үлкен көлемді деректерді жергілікті компьютеріңізде біржола сақтағысы келеді</translation> <translation id="2001146170449793414">{COUNT,plural, =1{және тағы 1}other{және тағы #}}</translation> <translation id="2003709556000175978">Құпия сөзді қайта орнату</translation>
diff --git a/components/strings/components_strings_km.xtb b/components/strings/components_strings_km.xtb index 2224cd5..8817a664 100644 --- a/components/strings/components_strings_km.xtb +++ b/components/strings/components_strings_km.xtb
@@ -267,11 +267,6 @@ <translation id="1978555033938440688">កំណែកម្មវិធីបង្កប់</translation> <translation id="1988881251331415125">ប្រសិនបើអក្ខរាវិរុទ្ធគឺត្រឹមត្រូវ <ph name="BEGIN_LINK" />សូមសាកល្បងដំណើរការការវិភាគការតភ្ជាប់<ph name="END_LINK" />។</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">ចូលប្រើទិន្នន័យគេហទំព័រ និងខូគី។ - -តើអ្នកចង់អនុញ្ញាតឱ្យ <ph name="EMBEDDED_URL" /> ប្រើទិន្នន័យគេហទំព័រ និងខូគីនៅលើ <ph name="TOP_LEVEL_URL" /> ដែរទេ? - -ប្រសិនបើអ្នកមិនអនុញ្ញាតទេ ការកំណត់ឯកជនភាពរបស់អ្នកនឹងទប់ស្កាត់គេហទំព័រនេះ។ ការអនុញ្ញាតនេះនឹងផ្ដល់លទ្ធភាពឱ្យខ្លឹមសារដែលអ្នកបានធ្វើអន្តរកម្មជាមួយអាចដំណើរការបានត្រឹមត្រូវ ប៉ុន្តែអាចនឹងអនុញ្ញាតឱ្យ <ph name="EMBEDDED_URL" /> តាមដានសកម្មភាពរបស់អ្នក។</translation> <translation id="1997484222658892567"><ph name="URL" /> ចង់ផ្ទុកទិន្នន័យទំហំធំនៅលើកុំព្យូទ័រមូលដ្ឋានរបស់អ្នកជាអចិន្ត្រៃយ៍</translation> <translation id="2001146170449793414">{COUNT,plural, =1{និង 1 ទៀត}other{និង # ទៀត}}</translation> <translation id="2003709556000175978">កំណត់ពាក្យសម្ងាត់របស់អ្នកឡើងវិញឥឡូវនេះ</translation>
diff --git a/components/strings/components_strings_kn.xtb b/components/strings/components_strings_kn.xtb index 9dd5f481..023b363a 100644 --- a/components/strings/components_strings_kn.xtb +++ b/components/strings/components_strings_kn.xtb
@@ -263,11 +263,6 @@ <translation id="1978555033938440688">ಫರ್ಮ್ವೇರ್ ಆವೃತ್ತಿ</translation> <translation id="1988881251331415125">ಕಾಗುಣಿತ ಸರಿಯಾಗಿದ್ದರೆ, <ph name="BEGIN_LINK" />ಕನೆಕ್ಟಿವಿಟಿ ಡಯಾಗ್ನಾಸ್ಟಿಕ್ಸ್ ರನ್ ಮಾಡಿ ನೋಡಿ<ph name="END_LINK" />.</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">ಕುಕೀಗಳು ಮತ್ತು ಸೈಟ್ ಡೇಟಾವನ್ನು ಪ್ರವೇಶಿಸಿ. - -<ph name="TOP_LEVEL_URL" /> ನಲ್ಲಿ ಕುಕೀಗಳು ಮತ್ತು ಸೈಟ್ ಡೇಟಾವನ್ನು ಬಳಸಲು <ph name="EMBEDDED_URL" /> ಗೆ ಅನುಮತಿಸಲು ಬುಸುತ್ತೀರಾ? - -ಇಲ್ಲವಾದರೆ, ನಿಮ್ಮ ಗೌಪ್ಯತೆ ಸೆಟ್ಟಿಂಗ್ಗಳು ಇದನ್ನು ನಿರ್ಬಂಧಿಸುತ್ತವೆ. ನೀವು ಸಂವಾದ ನಡೆಸಿದ ವಿಷಯದ ಜೊತೆಗೆ ಸರಿಯಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸಲು ಇದು ಅನುಮತಿಸುತ್ತದೆ, ಆದರೆ ನಿಮ್ಮ ಚಟುವಟಿಕೆಯನ್ನು ಟ್ರ್ಯಾಕ್ ಮಾಡಲು <ph name="EMBEDDED_URL" /> ಗೆ ಅನುಮತಿಸಬಹುದು.</translation> <translation id="1997484222658892567">ನಿಮ್ಮ ಸ್ಥಳೀಯ ಕಂಪ್ಯೂಟರ್ನಲ್ಲಿ ದೊಡ್ಡ ಪ್ರಮಾಣದ ಡೇಟಾವನ್ನು ಸಂಗ್ರಹಣೆ ಮಾಡಲು <ph name="URL" /> ಬಯಸುತ್ತದೆ</translation> <translation id="2001146170449793414">{COUNT,plural, =1{ಮತ್ತು 1 ಇನ್ನಷ್ಟು}one{ಮತ್ತು # ಇನ್ನಷ್ಟು}other{ಮತ್ತು # ಇನ್ನಷ್ಟು}}</translation> <translation id="2003709556000175978">ಇದೀಗ ನಿಮ್ಮ ಪಾಸ್ವರ್ಡ್ ಅನ್ನು ಮರುಹೊಂದಿಸಿ</translation>
diff --git a/components/strings/components_strings_ko.xtb b/components/strings/components_strings_ko.xtb index 46f848d5..7554e53 100644 --- a/components/strings/components_strings_ko.xtb +++ b/components/strings/components_strings_ko.xtb
@@ -261,11 +261,6 @@ <translation id="1978555033938440688">펌웨어 버전</translation> <translation id="1988881251331415125">철자가 올바르다면 <ph name="BEGIN_LINK" />연결 진단을 실행<ph name="END_LINK" />해 보세요.</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">쿠키 및 사이트 데이터에 액세스합니다. - -<ph name="EMBEDDED_URL" />에서 <ph name="TOP_LEVEL_URL" />의 쿠키와 사이트 데이터를 사용하도록 허용하시겠습니까? - -쿠키와 사이트 데이터 사용은 현재 개인정보 보호 설정에 따라 차단되어 있습니다. 사용을 허용하면 이전에 상호작용했던 콘텐츠를 정상적으로 이용할 수 있지만, <ph name="EMBEDDED_URL" />에서 내 활동을 추적하게 될 수도 있습니다.</translation> <translation id="1997484222658892567"><ph name="URL" />에서 로컬 컴퓨터에 대용량 데이터를 영구 저장하려고 합니다</translation> <translation id="2001146170449793414">{COUNT,plural, =1{외 1개}other{외 #개}}</translation> <translation id="2003709556000175978">지금 비밀번호 재설정</translation>
diff --git a/components/strings/components_strings_ky.xtb b/components/strings/components_strings_ky.xtb index 7f337a9..1e3b663 100644 --- a/components/strings/components_strings_ky.xtb +++ b/components/strings/components_strings_ky.xtb
@@ -265,11 +265,6 @@ <translation id="1978555033938440688">Орнотулган программанын версиясы</translation> <translation id="1988881251331415125">Эгер туура жазылса, <ph name="BEGIN_LINK" />Байланыштагы мүчүлүштүктөрдү аныктоону<ph name="END_LINK" /> иштетип көрүңүз.</translation> <translation id="1992331125980284532">JIS B3 (364mm x 515mm)</translation> -<translation id="1992796205810278279">Cookie-файлдарына жана сайттын маалыматына кирүү мүмкүнчүлүгүн алуу. - -<ph name="EMBEDDED_URL" /> сайтына cookie-файлдарын жана сайттын маалыматын <ph name="TOP_LEVEL_URL" /> доменинде колдонууга уруксат бересизби? - -Уруксат бербесеңиз, ал купуялык жөндөөлөрүңүзгө ылайык бөгөттөлөт. Ушуну менен сизге керектүү мазмун туура иштейт, бирок <ph name="EMBEDDED_URL" /> аракеттериңизге көз салышы мүмкүн.</translation> <translation id="1997484222658892567"><ph name="URL" /> компьютериңизге көлөмдүү дайындарды биротоло сактаганы жатат</translation> <translation id="2001146170449793414">{COUNT,plural, =1{жана дагы 1}other{жана дагы #}}</translation> <translation id="2003709556000175978">Сырсөзүңүздү азыр өзгөртүңүз</translation>
diff --git a/components/strings/components_strings_lo.xtb b/components/strings/components_strings_lo.xtb index 0c213a60..441f3d1d 100644 --- a/components/strings/components_strings_lo.xtb +++ b/components/strings/components_strings_lo.xtb
@@ -265,11 +265,6 @@ <translation id="1978555033938440688">ເວີຊັນເຟີມແວ</translation> <translation id="1988881251331415125">ຖ້າການສະກົດຄຳຖືກຕ້ອງ, <ph name="BEGIN_LINK" />ລອງເປີດໃຊ້ Connectivity Diagnostics<ph name="END_LINK" />.</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">ເຂົ້າເຖິງຄຸກກີ້ ແລະ ຂໍ້ມູນເວັບໄຊ. - -ທ່ານຕ້ອງການອະນຸຍາດໃຫ້ <ph name="EMBEDDED_URL" /> ໃຊ້ຄຸກກີ້ ແລະ ຂໍ້ມູນເວັບໄຊໃນ <ph name="TOP_LEVEL_URL" /> ບໍ? - -ຖ້າບໍ່ ນີ້ຈະຖືກບລັອກໄວ້ຕາມການຕັ້ງຄ່າຄວາມເປັນສ່ວນຕົວຂອງທ່ານ. ນີ້ຈະຊ່ວຍໃຫ້ເນື້ອຫາທີ່ທ່ານໂຕ້ຕອບກັບເຮັດວຽກໄດ້ຢ່າງຖືກຕ້ອງ, ແຕ່ອາດຈະອະນຸຍາດໃຫ້ <ph name="EMBEDDED_URL" /> ຕິດຕາມການເຄື່ອນໄຫວຂອງທ່ານ.</translation> <translation id="1997484222658892567"><ph name="URL" /> ຕ້ອງການເກັບຂໍ້ມູນຂະຫນາດໃຫຍ່ໄວ້ໃນຄອມພິວເຕີສະເພາະບ່ອນຂອງທ່ານຢ່າງຖາວອນ</translation> <translation id="2001146170449793414">{COUNT,plural, =1{ແລະ ອີກ 1 ອັນ}other{ແລະ ອີກ # ອັນ}}</translation> <translation id="2003709556000175978">ຣີເຊັດລະຫັດຜ່ານຂອງທ່ານຕອນນີ້</translation>
diff --git a/components/strings/components_strings_lt.xtb b/components/strings/components_strings_lt.xtb index 51f789f6..81ba9fa 100644 --- a/components/strings/components_strings_lt.xtb +++ b/components/strings/components_strings_lt.xtb
@@ -265,11 +265,6 @@ <translation id="1978555033938440688">Programinės aparatinės įrangos versija</translation> <translation id="1988881251331415125">Jei parašyta tinkamai, <ph name="BEGIN_LINK" />pabandykite paleisti ryšio diagnostiką<ph name="END_LINK" />.</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">Pasiekti slapukus ir svetainės duomenis. - -Ar norite leisti <ph name="EMBEDDED_URL" /> naudoti slapukus ir svetainės duomenis <ph name="TOP_LEVEL_URL" />? - -Kitu atveju tai bus užblokuota pagal jūsų privatumo nustatymus. Taip turinys, su kuriuo sąveikaujate, veiks tinkamai, bet gali būti leidžiama <ph name="EMBEDDED_URL" /> stebėti jūsų veiklą.</translation> <translation id="1997484222658892567"><ph name="URL" /> prašo leidimo nuolat saugoti daug duomenų vietiniame kompiuteryje</translation> <translation id="2001146170449793414">{COUNT,plural, =1{ir dar 1}one{ir dar #}few{ir dar #}many{ir dar #}other{ir dar #}}</translation> <translation id="2003709556000175978">Nustatykite slaptažodį iš naujo dabar</translation>
diff --git a/components/strings/components_strings_lv.xtb b/components/strings/components_strings_lv.xtb index ebdac57..8315e22 100644 --- a/components/strings/components_strings_lv.xtb +++ b/components/strings/components_strings_lv.xtb
@@ -265,11 +265,6 @@ <translation id="1978555033938440688">Aparātprogrammatūras versija</translation> <translation id="1988881251331415125">Ja nav pareizrakstības kļūdu, <ph name="BEGIN_LINK" />mēģiniet palaist savienojamības diagnostiku<ph name="END_LINK" />.</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">piekļūt sīkfailiem un vietnes datiem. - -Vai vēlaties atļaut vietnei <ph name="EMBEDDED_URL" /> izmantot sīkfailus un vietnes datus šeit: <ph name="TOP_LEVEL_URL" />? - -Pretējā gadījumā šī iespēja būtu liegta saskaņā ar jūsu konfidencialitātes iestatījumiem. Tādējādi saturs, ar kuru mijiedarbojaties, darbosies pareizi, taču vietnei <ph name="EMBEDDED_URL" /> var tikt atļauts izsekot jūsu darbības.</translation> <translation id="1997484222658892567">Vietnē <ph name="URL" /> tiek pieprasīta atļauja pastāvīgi uzglabāt lielu datu apjomu jūsu lokālajā datorā.</translation> <translation id="2001146170449793414">{COUNT,plural, =1{un vēl 1}zero{un vēl #}one{un vēl #}other{un vēl #}}</translation> <translation id="2003709556000175978">Nekavējoties atiestatiet paroli</translation>
diff --git a/components/strings/components_strings_mk.xtb b/components/strings/components_strings_mk.xtb index fadc618..af99791 100644 --- a/components/strings/components_strings_mk.xtb +++ b/components/strings/components_strings_mk.xtb
@@ -265,11 +265,6 @@ <translation id="1978555033938440688">Верзија на фирмвер</translation> <translation id="1988881251331415125">Ако правописот е точен, <ph name="BEGIN_LINK" />извршете дијагностика на поврзливоста<ph name="END_LINK" />.</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">да пристапува до колачиња и податоци за сајтот. - -Дали сакате да дозволите <ph name="EMBEDDED_URL" /> да користи колачиња и податоци за сајтот на <ph name="TOP_LEVEL_URL" />? - -Во спротивно, ова ќе биде блокирано од вашите поставки за приватност. Ова ќе дозволи правилно функционирање на содржините со кои сте имале некаква интеракција, но и можеби ќе дозволи <ph name="EMBEDDED_URL" /> да ја следи вашата активност.</translation> <translation id="1997484222658892567"><ph name="URL" /> сака трајно да складира големи податоци на вашиот локален компјутер</translation> <translation id="2001146170449793414">{COUNT,plural, =1{и уште 1}one{и уште #}other{и уште #}}</translation> <translation id="2003709556000175978">Ресетирајте ја вашата лозинка сега</translation>
diff --git a/components/strings/components_strings_ml.xtb b/components/strings/components_strings_ml.xtb index 6d6c0fa..58e8aed54 100644 --- a/components/strings/components_strings_ml.xtb +++ b/components/strings/components_strings_ml.xtb
@@ -264,11 +264,6 @@ <translation id="1978555033938440688">ഫേംവെയർ പതിപ്പ്</translation> <translation id="1988881251331415125">അക്ഷരങ്ങൾ ശരിയാണെങ്കിൽ, <ph name="BEGIN_LINK" />കണക്റ്റിവിറ്റി ഡയഗണോസ്റ്റിക്സ് റൺ ചെയ്തുനോക്കൂ<ph name="END_LINK" />.</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">കുക്കികളും സൈറ്റ് ഡാറ്റയും ആക്സസ് ചെയ്യുക. - -<ph name="TOP_LEVEL_URL" /> എന്നതിൽ കുക്കികളും സൈറ്റ് ഡാറ്റയും ഉപയോഗിക്കാൻ <ph name="EMBEDDED_URL" /> എന്നതിനെ അനുവദിക്കണോ? - -അല്ലാത്തപക്ഷം, നിങ്ങളുടെ സ്വകാര്യതാ ക്രമീകരണം ഇത് ബ്ലോക്ക് ചെയ്യും. നിങ്ങൾ സംവദിക്കുന്ന ഉള്ളടക്കം ശരിയായി പ്രവർത്തിക്കാൻ ഇത് അനുവദിക്കും, എന്നാൽ നിങ്ങളുടെ പ്രവർത്തനം ട്രാക്ക് ചെയ്യുന്നതിന് <ph name="EMBEDDED_URL" /> എന്നതിനെ അനുവദിച്ചേക്കാം.</translation> <translation id="1997484222658892567">നിങ്ങളുടെ ലോക്കൽ കമ്പ്യൂട്ടറിൽ ശാശ്വതമായി വലിയ ഡാറ്റ സംഭരിക്കാൻ <ph name="URL" />ആഗ്രഹിക്കുന്നു</translation> <translation id="2001146170449793414">{COUNT,plural, =1{കൂടാതെ 1 കൂടി}other{എന്നിവയും # എണ്ണവും കൂടി}}</translation> <translation id="2003709556000175978">നിങ്ങളുടെ പാസ്വേഡ് ഇപ്പോൾ തന്നെ റീസെറ്റ് ചെയ്യുക</translation>
diff --git a/components/strings/components_strings_mn.xtb b/components/strings/components_strings_mn.xtb index eb7382c..25c2a557 100644 --- a/components/strings/components_strings_mn.xtb +++ b/components/strings/components_strings_mn.xtb
@@ -265,11 +265,6 @@ <translation id="1978555033938440688">Жижиг программын хувилбар</translation> <translation id="1988881251331415125">Хэрэв алдаагүй, зөв бичсэн бол <ph name="BEGIN_LINK" />Холболтын оношилгоог ажиллуулж үзнэ үү<ph name="END_LINK" />.</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">Күүки болон сайтын өгөгдөлд хандах. - -Та <ph name="EMBEDDED_URL" />-д <ph name="TOP_LEVEL_URL" /> дээрх күүки болон сайтын өгөгдлийг ашиглахыг зөвшөөрөх үү? - -Үгүй бол таны нууцлалын тохиргооны дагуу үүнийг хориглоно. Энэ нь таны харилцан үйлдэл хийсэн контентод зохистой ажиллах боломжийг олгох боловч <ph name="EMBEDDED_URL" />-д таны үйл ажиллагааг хянахыг зөвшөөрч болзошгүй.</translation> <translation id="1997484222658892567"><ph name="URL" /> таны дотоод компьютерт том хэмжээний өгөгдлийг бүрмөсөн хадгалах хүсэлтэй байна</translation> <translation id="2001146170449793414">{COUNT,plural, =1{болон 1 бусад}other{болон # бусад}}</translation> <translation id="2003709556000175978">Нууц үгээ одоо шинэчлэх</translation>
diff --git a/components/strings/components_strings_mr.xtb b/components/strings/components_strings_mr.xtb index 20c0abb..1f229d93 100644 --- a/components/strings/components_strings_mr.xtb +++ b/components/strings/components_strings_mr.xtb
@@ -265,11 +265,6 @@ <translation id="1978555033938440688">फर्मवेयर आवृत्ती</translation> <translation id="1988881251331415125">शब्दलेखन योग्य असल्यास, <ph name="BEGIN_LINK" />कनेक्टिव्हिटी निदान रन करून पाहा<ph name="END_LINK" />.</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">कुकी आणि साइट डेटा अॅक्सेस करा. - -तुम्हाला <ph name="TOP_LEVEL_URL" /> वरील कुकी आणि साइट डेटा <ph name="EMBEDDED_URL" /> ला वापरू द्यायचा आहे का? - -अन्यथा तुमची गोपनीयता सेटिंग्ज हे ब्लॉक करतील. यामुळे तुम्ही परस्परसंवाद साधलेला आशय योग्य प्रकारे काम करेल, परंतु <ph name="EMBEDDED_URL" /> ला तुमची अॅक्टिव्हिटी ट्रॅक करू देईल.</translation> <translation id="1997484222658892567"><ph name="URL" /> ला तुमच्या स्थानिक काँप्युटरवर मोठ्या प्रमाणावर डेटा कायमचा स्टोअर करायचा आहे</translation> <translation id="2001146170449793414">{COUNT,plural, =1{आणि 1 अधिक}other{आणि # अधिक}}</translation> <translation id="2003709556000175978">आता तुमचा पासवर्ड रीसेट करा</translation>
diff --git a/components/strings/components_strings_ms.xtb b/components/strings/components_strings_ms.xtb index 9fd88975..28033bb4 100644 --- a/components/strings/components_strings_ms.xtb +++ b/components/strings/components_strings_ms.xtb
@@ -265,11 +265,6 @@ <translation id="1978555033938440688">Versi Perisian Tegar</translation> <translation id="1988881251331415125">Jika ejaan sudah betul, <ph name="BEGIN_LINK" />cuba jalankan Diagnostik Sambungan<ph name="END_LINK" />.</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">Akses kuki dan data tapak. - -Adakah anda mahu membenarkan <ph name="EMBEDDED_URL" /> menggunakan kuki dan data tapak pada <ph name="TOP_LEVEL_URL" />? - -Jika tidak, ini akan disekat oleh tetapan privasi anda. Kebenaran ini akan membolehkan kandungan yang mempunyai interaksi dengan anda berfungsi dengan betul, tetapi mungkin akan membenarkan <ph name="EMBEDDED_URL" /> menjejaki aktiviti anda.</translation> <translation id="1997484222658892567"><ph name="URL" /> mahu menyimpan data bersaiz besar pada komputer setempat anda secara kekal</translation> <translation id="2001146170449793414">{COUNT,plural, =1{dan 1 lagi}other{dan # lagi}}</translation> <translation id="2003709556000175978">Tetapkan semula kata laluan anda sekarang</translation>
diff --git a/components/strings/components_strings_my.xtb b/components/strings/components_strings_my.xtb index 755c587..6f67653 100644 --- a/components/strings/components_strings_my.xtb +++ b/components/strings/components_strings_my.xtb
@@ -267,11 +267,6 @@ <translation id="1978555033938440688">Firmware ဗားရှင်း</translation> <translation id="1988881251331415125">စာလုံးပေါင်း မှန်ကန်ပါက <ph name="BEGIN_LINK" />ချိတ်ဆက်မှု အမှားရှာဖွေမှုများပြုလုပ်ရန် ကြိုးစားကြည့်ပါ<ph name="END_LINK" />။</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">ကွတ်ကီးနှင့် ဝဘ်ဆိုက်ဒေတာများ သုံးခြင်း။ - -<ph name="TOP_LEVEL_URL" /> တွင် ကွတ်ကီးနှင့် ဝဘ်ဆိုက်ဒေတာများ သုံးရန် <ph name="EMBEDDED_URL" /> ကို ခွင့်ပြုလိုသလား။ - -သို့မဟုတ်ပါက ၎င်းကို သင့်ပုဂ္ဂိုလ်ရေးဆက်တင်များက ပိတ်ထားပါမည်။ ၎င်းက သင်နှင့်ပြန်လှန်တုံ့ပြန်သော အကြောင်းအရာများကို မှန်ကန်စွာ လုပ်ဆောင်ခွင့်ပြုမည် ဖြစ်သော်လည်း သင့်လုပ်ဆောင်ချက်ကို <ph name="EMBEDDED_URL" /> အား ခြေရာခံခွင့်ပြုနိုင်သည်။</translation> <translation id="1997484222658892567"><ph name="URL" /> သည် ကြီးမားသည့် ဒေတာများကို သင့်ကွန်ရက်အတွင်းရှိ ကွန်ပျူတာတွင် အမြဲတမ်းသိုလှောင်လိုသည်</translation> <translation id="2001146170449793414">{COUNT,plural, =1{နှင့် နောက်ထပ် ၁ ခု}other{နှင့် နောက်ထပ် # ခု}}</translation> <translation id="2003709556000175978">သင့်စကားဝှက်ကို ယခု ပြင်ဆင်သတ်မှတ်ရန်</translation>
diff --git a/components/strings/components_strings_ne.xtb b/components/strings/components_strings_ne.xtb index d2934a2..91b88af 100644 --- a/components/strings/components_strings_ne.xtb +++ b/components/strings/components_strings_ne.xtb
@@ -265,11 +265,6 @@ <translation id="1978555033938440688">फर्मवेयरको संस्करण</translation> <translation id="1988881251331415125">हिज्जे सही छ भने <ph name="BEGIN_LINK" />'कनेक्टिभिटीका निदानहरू' चलाएर हेर्नुहोस्<ph name="END_LINK" />।</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">कुकीहरू र साइटको डेटामाथि पहुँच राख्न। - -तपाईं <ph name="EMBEDDED_URL" /> लाई <ph name="TOP_LEVEL_URL" /> का कुकी र साइटको डेटा प्रयोग गर्ने अनुमति दिन चाहनुहुन्छ? - -अन्यथा, तपाईंको गोपनीयतासम्बन्धी सेटिङअनुसार कुकी र साइटको डेटामाथि पहुँच राख्न रोक लगाइने छ। तपाईंले यो अनुमति दिनुभयो भने तपाईंले अन्तर्क्रिया गर्ने सामग्रीले अझ राम्रोसँग काम गर्न सक्ने छ। तर साथसाथै <ph name="EMBEDDED_URL" /> ले तपाईंको क्रियाकलापको ट्र्याक गर्न सक्ने सम्भावना हुन्छ।</translation> <translation id="1997484222658892567"><ph name="URL" /> तपाईंको स्थानीय कम्प्युटरमा स्थायी रूपमा ठुलो परिमाणको डेटा भण्डारण गर्न चाहन्छ</translation> <translation id="2001146170449793414">{COUNT,plural, =1{र थप १}other{र थप #}}</translation> <translation id="2003709556000175978">अहिले आफ्नो पासवर्ड रिसेट गर्नुहोस्</translation>
diff --git a/components/strings/components_strings_nl.xtb b/components/strings/components_strings_nl.xtb index 0b0875d..3fb91944 100644 --- a/components/strings/components_strings_nl.xtb +++ b/components/strings/components_strings_nl.xtb
@@ -262,11 +262,6 @@ <translation id="1978555033938440688">Firmwareversie</translation> <translation id="1988881251331415125">Als de spelling klopt, <ph name="BEGIN_LINK" />voer je een verbindingsdiagnose uit<ph name="END_LINK" />.</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">Toegang krijgen tot cookies en sitegegevens. - -Wil je toestaan dat <ph name="EMBEDDED_URL" /> cookies en sitegegevens gebruikt op <ph name="TOP_LEVEL_URL" />? - -Anders wordt dit geblokkeerd door je privacyinstellingen. Hierdoor werkt de content die je hebt gebruikt correct, maar kan <ph name="EMBEDDED_URL" /> mogelijk je activiteit bijhouden.</translation> <translation id="1997484222658892567"><ph name="URL" /> vraagt toestemming om permanent grote gegevens op je lokale computer op te slaan</translation> <translation id="2001146170449793414">{COUNT,plural, =1{en 1 andere}other{en # andere}}</translation> <translation id="2003709556000175978">Stel je wachtwoord nu opnieuw in</translation>
diff --git a/components/strings/components_strings_no.xtb b/components/strings/components_strings_no.xtb index 9367f367..905433e 100644 --- a/components/strings/components_strings_no.xtb +++ b/components/strings/components_strings_no.xtb
@@ -265,11 +265,6 @@ <translation id="1978555033938440688">Fastvareversjon</translation> <translation id="1988881251331415125">Hvis stavemåten er korrekt, kan du <ph name="BEGIN_LINK" />prøve å kjøre Tilkoblingsdiagnostikk<ph name="END_LINK" />.</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">få tilgang til informasjonskapsler og nettstedsdata. - -Vil du gi <ph name="EMBEDDED_URL" /> tillatelse til å bruke informasjonskapsler og nettstedsdata på <ph name="TOP_LEVEL_URL" />? - -I motsatt fall blir dette blokkert av personverninnstillingene. Dette gjør at innholdet du brukte, får lov til å fungere som det skal, men det kan også gjøre det mulig for <ph name="EMBEDDED_URL" /> å spore aktiviteten din.</translation> <translation id="1997484222658892567"><ph name="URL" /> ber om å lagre store mengder data permanent på datamaskinen din</translation> <translation id="2001146170449793414">{COUNT,plural, =1{og 1 til}other{og # til}}</translation> <translation id="2003709556000175978">Tilbakestill passordet ditt nå</translation>
diff --git a/components/strings/components_strings_or.xtb b/components/strings/components_strings_or.xtb index 8662bd37..6bb22d6 100644 --- a/components/strings/components_strings_or.xtb +++ b/components/strings/components_strings_or.xtb
@@ -261,11 +261,6 @@ <translation id="1978555033938440688">ଫାର୍ମୱେର୍ ସଂସ୍କରଣ</translation> <translation id="1988881251331415125">ଯଦି ବନାନ ସଠିକ୍ ଅଛି, ତେବେ <ph name="BEGIN_LINK" />କନେକ୍ଟିଭିଟୀ ଡାଏଗ୍ନୋଷ୍ଟିକ୍ସ ଚଲାଇବାକୁ ଚେଷ୍ଟା କରନ୍ତୁ<ph name="END_LINK" />।</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">କୁକୀ ଏବଂ ସାଇଟ୍ ଡାଟା ଆକ୍ସେସ୍ କରନ୍ତୁ। - -ଆପଣ <ph name="EMBEDDED_URL" />କୁ <ph name="TOP_LEVEL_URL" />ରେ କୁକୀ ଏବଂ ସାଇଟ୍ ଡାଟା ବ୍ୟବହାର କରିବାକୁ ଅନୁମତି ଦେବା ପାଇଁ ଚାହାଁନ୍ତି କି? - -ନଚେତ ଏହାକୁ ଆପଣଙ୍କର ଗୋପନୀୟତା ସେଟିଂସ୍ ଦ୍ୱାରା ବ୍ଲକ୍ କରିଦିଆଯିବ। ଏହା ଆପଣ ଇଣ୍ଟରାକ୍ଟ କରିଥିବା ବିଷୟବସ୍ତୁକୁ ସଠିକ ରୂପେ କାର୍ଯ୍ୟ କରିବାକୁ ଅନୁମତି ଦେବ, କିନ୍ତୁ <ph name="EMBEDDED_URL" />କୁ ଆପଣଙ୍କ କାର୍ଯ୍ୟକଳାପ ଟ୍ରାକ୍ କରିବା ପାଇଁ ଅନୁମତି ଦେଇପାରେ।</translation> <translation id="1997484222658892567"><ph name="URL" /> ସ୍ଥାୟୀରୂପେ ଆପଣଙ୍କର ସ୍ଥାନୀୟ କମ୍ପ୍ୟୁଟର୍ରେ ଅଧିକ ଡାଟା ଷ୍ଟୋର୍ କରିବାକୁ ଚାହୁଁଛି</translation> <translation id="2001146170449793414">{COUNT,plural, =1{ଏବଂ ଅଧିକ 1ଟି}other{ଏବଂ ଅଧିକ #ଟି}}</translation> <translation id="2003709556000175978">ଆପଣଙ୍କର ପାସ୍ୱର୍ଡ ବର୍ତ୍ତମାନ ରିସେଟ୍ କରନ୍ତୁ</translation>
diff --git a/components/strings/components_strings_pa.xtb b/components/strings/components_strings_pa.xtb index 17b03882..600749a 100644 --- a/components/strings/components_strings_pa.xtb +++ b/components/strings/components_strings_pa.xtb
@@ -261,11 +261,6 @@ <translation id="1978555033938440688">ਫ਼ਰਮਵੇਅਰ ਵਰਜਨ</translation> <translation id="1988881251331415125">ਜੇ ਸ਼ਬਦ-ਜੋੜ ਸਹੀ ਹੈ, ਤਾਂ <ph name="BEGIN_LINK" />ਕਨੈਕਟੀਵਿਟੀ ਤਸ਼ਖੀਸਾਂ ਨੂੰ ਚਲਾ ਕੇ ਦੇਖੋ<ph name="END_LINK" />।</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">ਕੁਕੀਜ਼ ਅਤੇ ਸਾਈਟ ਡਾਟਾ ਤੱਕ ਪਹੁੰਚ ਕਰੋ। - -ਕੀ ਤੁਸੀਂ <ph name="EMBEDDED_URL" /> ਵੱਲੋਂ <ph name="TOP_LEVEL_URL" /> 'ਤੇ ਕੁਕੀਜ਼ ਅਤੇ ਸਾਈਟ ਡਾਟਾ ਵਰਤਣ ਨੂੰ ਮਨਜ਼ੂਰ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ? - -ਨਹੀਂ ਤਾਂ ਤੁਹਾਡੀਆਂ ਪਰਦੇਦਾਰੀ ਸੈਟਿੰਗਾਂ ਵੱਲੋਂ ਇਸ ਨੂੰ ਬਲਾਕ ਕੀਤਾ ਜਾਵੇਗਾ। ਇਸ ਨਾਲ ਤੁਸੀਂ ਜਿਸ ਸਮੱਗਰੀ ਨਾਲ ਅੰਤਰਕਿਰਿਆ ਕੀਤੀ ਹੈ ਉਹ ਸਹੀ ਤਰ੍ਹਾਂ ਨਾਲ ਕੰਮ ਕਰੇਗੀ, ਪਰ <ph name="EMBEDDED_URL" /> ਵੱਲੋਂ ਤੁਹਾਡੀ ਸਰਗਰਮੀ ਨੂੰ ਟਰੈਕ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।</translation> <translation id="1997484222658892567"><ph name="URL" /> ਦੀ ਤੁਹਾਡੇ ਸਥਾਨਕ ਕੰਪਿਊਟਰ 'ਤੇ ਸਥਾਈ ਤੌਰ 'ਤੇ ਬਹੁਤ ਜ਼ਿਆਦਾ ਡਾਟਾ ਸਟੋਰ ਕਰਨ ਦੀ ਇੱਛਾ ਹੈ</translation> <translation id="2001146170449793414">{COUNT,plural, =1{ਅਤੇ 1 ਹੋਰ}one{ਅਤੇ # ਹੋਰ}other{ਅਤੇ # ਹੋਰ}}</translation> <translation id="2003709556000175978">ਹੁਣੇ ਆਪਣਾ ਪਾਸਵਰਡ ਰੀਸੈੱਟ ਕਰੋ</translation>
diff --git a/components/strings/components_strings_pl.xtb b/components/strings/components_strings_pl.xtb index adaccf2..63117d7 100644 --- a/components/strings/components_strings_pl.xtb +++ b/components/strings/components_strings_pl.xtb
@@ -261,11 +261,6 @@ <translation id="1978555033938440688">Wersja oprogramowania</translation> <translation id="1988881251331415125">Jeśli pisownia jest poprawna, <ph name="BEGIN_LINK" />uruchom Diagnostykę problemów z łącznością<ph name="END_LINK" />.</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">Dostęp do plików cookie i danych witryn. - -Czy chcesz zezwolić stronie <ph name="EMBEDDED_URL" /> na używanie plików cookie i danych witryn ze strony <ph name="TOP_LEVEL_URL" />? - -Jeśli się nie zgodzisz, zostaną one zablokowane ze względu na Twoje ustawienia prywatności. Jeśli wyrazisz zgodę, to treści, z którymi wchodzisz w interakcję, będą działać prawidłowo, ale strona <ph name="EMBEDDED_URL" /> może zacząć śledzić Twoją aktywność.</translation> <translation id="1997484222658892567"><ph name="URL" /> chce na stałe przechowywać dużą ilość danych na Twoim komputerze</translation> <translation id="2001146170449793414">{COUNT,plural, =1{i jeszcze 1}few{i jeszcze #}many{i jeszcze #}other{i jeszcze #}}</translation> <translation id="2003709556000175978">Zresetuj teraz swoje hasło</translation>
diff --git a/components/strings/components_strings_pt-BR.xtb b/components/strings/components_strings_pt-BR.xtb index c715d27..2cf6a8e 100644 --- a/components/strings/components_strings_pt-BR.xtb +++ b/components/strings/components_strings_pt-BR.xtb
@@ -261,11 +261,6 @@ <translation id="1978555033938440688">Versão do firmware</translation> <translation id="1988881251331415125">Se o endereço estiver correto, <ph name="BEGIN_LINK" />tente executar o Diagnóstico de Conectividade<ph name="END_LINK" />.</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">Acesso a cookies e dados do site. - -Você quer permitir que <ph name="EMBEDDED_URL" /> use cookies e dados do site em <ph name="TOP_LEVEL_URL" />? - -Se não fizer isso, a permissão será bloqueada pelas configurações de privacidade. Se permitir, o conteúdo com que você interagiu funcionará corretamente, mas <ph name="EMBEDDED_URL" /> poderá rastrear suas atividades.</translation> <translation id="1997484222658892567"><ph name="URL" /> quer armazenar permanentemente dados grandes no computador local</translation> <translation id="2001146170449793414">{COUNT,plural, =1{e mais um}one{e mais #}other{e mais #}}</translation> <translation id="2003709556000175978">Redefinir sua senha agora</translation>
diff --git a/components/strings/components_strings_pt-PT.xtb b/components/strings/components_strings_pt-PT.xtb index 6e479f13..6eca88c 100644 --- a/components/strings/components_strings_pt-PT.xtb +++ b/components/strings/components_strings_pt-PT.xtb
@@ -265,11 +265,6 @@ <translation id="1978555033938440688">Versão do firmware</translation> <translation id="1988881251331415125">Se a ortografia estiver correta, <ph name="BEGIN_LINK" />experimente executar o Diagnóstico de conetividade<ph name="END_LINK" />.</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">Aceder aos cookies e dados de sites. - -Permitir que <ph name="EMBEDDED_URL" /> utilize cookies e dados de sites em <ph name="TOP_LEVEL_URL" />? - -Se não permitir, isto será bloqueado pelas suas definições de privacidade. Isto vai permitir que o conteúdo com o qual interagiu funcione corretamente, mas pode permitir que <ph name="EMBEDDED_URL" /> monitorize a sua atividade.</translation> <translation id="1997484222658892567"><ph name="URL" /> pretende armazenar permanentemente dados de grandes dimensões no seu computador local.</translation> <translation id="2001146170449793414">{COUNT,plural, =1{e mais 1}other{e mais #}}</translation> <translation id="2003709556000175978">Repor a palavra-passe agora</translation>
diff --git a/components/strings/components_strings_ro.xtb b/components/strings/components_strings_ro.xtb index 3bc619b..73d75547 100644 --- a/components/strings/components_strings_ro.xtb +++ b/components/strings/components_strings_ro.xtb
@@ -265,11 +265,6 @@ <translation id="1978555033938440688">Versiune de firmware</translation> <translation id="1988881251331415125">Dacă scrierea este corectă, <ph name="BEGIN_LINK" />încearcă să rulezi Diagnosticarea de conectivitate<ph name="END_LINK" />.</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">să acceseze cookie-urile și datele privind site-urile. - -Permiți ca <ph name="EMBEDDED_URL" /> să folosească cookie-uri și date privind site-urile pe <ph name="TOP_LEVEL_URL" />? - -În caz contrar, adresa va fi blocată de setările de confidențialitate. Astfel, conținutul cu care ai interacționat va funcționa corect, dar este posibil ca <ph name="EMBEDDED_URL" /> să-ți urmărească activitatea.</translation> <translation id="1997484222658892567"><ph name="URL" /> dorește să stocheze permanent cantități mari de date pe computer</translation> <translation id="2001146170449793414">{COUNT,plural, =1{și încă una}few{și încă #}other{și încă #}}</translation> <translation id="2003709556000175978">Resetează parola acum</translation>
diff --git a/components/strings/components_strings_ru.xtb b/components/strings/components_strings_ru.xtb index fe299f5..9e01301 100644 --- a/components/strings/components_strings_ru.xtb +++ b/components/strings/components_strings_ru.xtb
@@ -261,11 +261,6 @@ <translation id="1978555033938440688">Версия ПО</translation> <translation id="1988881251331415125">Если все правильно, <ph name="BEGIN_LINK" />воспользуйтесь инструментом "Диагностика соединений Chrome"<ph name="END_LINK" />.</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">Доступ к файлам cookie и данным сайта. - -Разрешить сайту <ph name="EMBEDDED_URL" /> использовать файлы cookie и данные сайта <ph name="TOP_LEVEL_URL" />? - -Если вы не предоставите разрешение, доступ будет заблокирован настройками конфиденциальности. Если вы предоставите разрешение, контент, с которым вы взаимодействуете, будет отображаться корректно, однако сайт <ph name="EMBEDDED_URL" /> получит доступ к сведениям о ваших действиях.</translation> <translation id="1997484222658892567">Сайт <ph name="URL" /> запрашивает разрешение на постоянное хранение большого объема данных на вашем компьютере.</translation> <translation id="2001146170449793414">{COUNT,plural, =1{и ещё 1}one{и ещё #}few{и ещё #}many{и ещё #}other{и ещё #}}</translation> <translation id="2003709556000175978">Сброс пароля</translation>
diff --git a/components/strings/components_strings_si.xtb b/components/strings/components_strings_si.xtb index c688f21..b716afd 100644 --- a/components/strings/components_strings_si.xtb +++ b/components/strings/components_strings_si.xtb
@@ -265,11 +265,6 @@ <translation id="1978555033938440688">නිත්ය මෘදුකාංග අනුවාදය</translation> <translation id="1988881251331415125">අක්ෂර වින්යාසය නිවැරදි නම්, <ph name="BEGIN_LINK" />සබැඳුම් හැකියා දෝෂ නිර්ණ ධාවනය කිරීම උත්සාහ කරන්න<ph name="END_LINK" />.</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">කුකී සහ වෙබ් අඩවි දත්ත වෙත ප්රවේශ වන්න. - -ඔබට <ph name="EMBEDDED_URL" /> හට <ph name="TOP_LEVEL_URL" /> මත කුකී සහ වෙබ් අඩවි දත්ත භාවිත කිරීමට ඉඩ දීමට අවශ්යද? - -වෙනත් ආකාරයෙන් මෙය ඔබේ පෞද්ගලිකත්ව සැකසීම් මඟින් අවහිර කෙරේ. මෙය ඔබ අන්තර්ක්රියා කළ අන්තර්ගතයට නිවැරදිව ක්රියා කිරීමට ඉඩ දෙන නමුත් <ph name="EMBEDDED_URL" /> හට ඔබේ ක්රියාකාරකම හඹා යාමට ඉඩ දිය හැක.</translation> <translation id="1997484222658892567"><ph name="URL" /> හට විශාල දත්ත ඔබේ ස්ථානීය පරිගණකයේ ස්ථිරව ගබඩා කිරීමට අවශ්යයි</translation> <translation id="2001146170449793414">{COUNT,plural, =1{සහ තව 1}one{සහ තව #}other{සහ තව #}}</translation> <translation id="2003709556000175978">ඔබේ මුරපදය දැන් යළි සකසන්න</translation>
diff --git a/components/strings/components_strings_sk.xtb b/components/strings/components_strings_sk.xtb index 20a84f5..b4dd50bd8 100644 --- a/components/strings/components_strings_sk.xtb +++ b/components/strings/components_strings_sk.xtb
@@ -261,11 +261,6 @@ <translation id="1978555033938440688">Verzia firmvéru</translation> <translation id="1988881251331415125">Ak je pravopis správny, <ph name="BEGIN_LINK" />skúste spustiť nástroj Connectivity Diagnostics<ph name="END_LINK" />.</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">Používať súbory cookie a údaje webov. - -Chcete povoliť webu <ph name="EMBEDDED_URL" /> používať súbory cookie a údaje webu na <ph name="TOP_LEVEL_URL" />? - -Ich používanie by bolo inak blokované vašimi nastaveniami ochrany súkromia. Umožníte tak správne fungovanie používaného obsahu, ale zároveň tým môžete umožniť webu <ph name="EMBEDDED_URL" /> sledovať vašu aktivitu.</translation> <translation id="1997484222658892567"><ph name="URL" /> chce natrvalo ukladať veľké množstvo dát vo vašom počítači</translation> <translation id="2001146170449793414">{COUNT,plural, =1{a 1 ďalšia}few{a # ďalšie}many{a # ďalšej}other{a # ďalších}}</translation> <translation id="2003709556000175978">Obnovte heslo</translation>
diff --git a/components/strings/components_strings_sl.xtb b/components/strings/components_strings_sl.xtb index 97a38854..d9b65e68 100644 --- a/components/strings/components_strings_sl.xtb +++ b/components/strings/components_strings_sl.xtb
@@ -265,11 +265,6 @@ <translation id="1978555033938440688">Različica vdelane programske opreme</translation> <translation id="1988881251331415125">Če je črkovanje pravilno, <ph name="BEGIN_LINK" />poskušajte zagnati orodje za diagnosticiranje povezav<ph name="END_LINK" />.</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">Dostop do piškotkov in podatkov spletnih mest. - -Ali želite za <ph name="EMBEDDED_URL" /> omogočiti uporabo piškotkov in podatkov spletnih mest na <ph name="TOP_LEVEL_URL" />? - -V nasprotnem primeru bodo to blokirale nastavitve zasebnosti. S tem bo vsebina, ki ste jo uporabljali, pravilno delovala, vendar pa bo ponudnik <ph name="EMBEDDED_URL" /> morda lahko spremljal vašo dejavnost.</translation> <translation id="1997484222658892567"><ph name="URL" /> želi trajno shraniti velike količine podatkov v lokalnem računalniku</translation> <translation id="2001146170449793414">{COUNT,plural, =1{in še 1}one{in še #}two{in še #}few{in še #}other{in še #}}</translation> <translation id="2003709556000175978">Ponastavite geslo</translation>
diff --git a/components/strings/components_strings_sq.xtb b/components/strings/components_strings_sq.xtb index 107ac4b1..0e42f8f 100644 --- a/components/strings/components_strings_sq.xtb +++ b/components/strings/components_strings_sq.xtb
@@ -264,11 +264,6 @@ <translation id="1978555033938440688">Versioni i firmuerit</translation> <translation id="1988881251331415125">Nëse nuk ka ndonjë gabim drejtshkrimor, <ph name="BEGIN_LINK" />provo të ekzekutosh "Diagnostikimin e lidhshmërisë"<ph name="END_LINK" />.</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">Të ketë qasje në kukit dhe të dhënat e sajtit. - -Dëshiron ta lejosh <ph name="EMBEDDED_URL" /> të përdorë kukit dhe të dhënat e sajtit në <ph name="TOP_LEVEL_URL" />? - -Ndryshe kjo do të bllokohet nga cilësimet e tua të privatësisë. Kjo do ta lejojë përmbajtjen me të cilën ndërveprove që të funksionojë në rregull, por mund të lejojë që <ph name="EMBEDDED_URL" /> të monitorojë aktivitetin tënd.</translation> <translation id="1997484222658892567"><ph name="URL" /> kërkon të ruajë të dhëna të mëdha në mënyrë të përhershme në kompjuterin tënd lokal</translation> <translation id="2001146170449793414">{COUNT,plural, =1{dhe 1 tjetër}other{dhe # të tjera}}</translation> <translation id="2003709556000175978">Rivendos fjalëkalimin tënd tani</translation>
diff --git a/components/strings/components_strings_sr-Latn.xtb b/components/strings/components_strings_sr-Latn.xtb index b22e5bf..72e92ca 100644 --- a/components/strings/components_strings_sr-Latn.xtb +++ b/components/strings/components_strings_sr-Latn.xtb
@@ -265,11 +265,6 @@ <translation id="1978555033938440688">Verzija firmvera</translation> <translation id="1988881251331415125">Ako nema grešaka, <ph name="BEGIN_LINK" />pokrenite dijagnostiku povezivanja<ph name="END_LINK" />.</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">pristupa kolačićima i podacima o sajtovima. - -Želite li da dozvolite da <ph name="EMBEDDED_URL" /> koristi kolačiće i podatke o sajtovima na <ph name="TOP_LEVEL_URL" />? - -To inače blokiraju podešavanja privatnosti. To omogućava da sadržaj sa kojim ste imali interakciju ispravno radi, ali može da omogući i da <ph name="EMBEDDED_URL" /> prati vaše aktivnosti.</translation> <translation id="1997484222658892567"><ph name="URL" /> želi da trajno skladišti veliku količinu podataka na vašem lokalnom računaru</translation> <translation id="2001146170449793414">{COUNT,plural, =1{ i još 1}one{i još #}few{i još #}other{i još #}}</translation> <translation id="2003709556000175978">Resetujte lozinku</translation>
diff --git a/components/strings/components_strings_sr.xtb b/components/strings/components_strings_sr.xtb index d1071d52f..40ada40 100644 --- a/components/strings/components_strings_sr.xtb +++ b/components/strings/components_strings_sr.xtb
@@ -265,11 +265,6 @@ <translation id="1978555033938440688">Верзија фирмвера</translation> <translation id="1988881251331415125">Ако нема грешака, <ph name="BEGIN_LINK" />покрените дијагностику повезивања<ph name="END_LINK" />.</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">приступа колачићима и подацима о сајтовима. - -Желите ли да дозволите да <ph name="EMBEDDED_URL" /> користи колачиће и податке о сајтовима на <ph name="TOP_LEVEL_URL" />? - -То иначе блокирају подешавања приватности. То омогућава да садржај са којим сте имали интеракцију исправно ради, али може да омогући и да <ph name="EMBEDDED_URL" /> прати ваше активности.</translation> <translation id="1997484222658892567"><ph name="URL" /> жели да трајно складишти велику количину података на вашем локалном рачунару</translation> <translation id="2001146170449793414">{COUNT,plural, =1{ и још 1}one{и још #}few{и још #}other{и још #}}</translation> <translation id="2003709556000175978">Ресетујте лозинку</translation>
diff --git a/components/strings/components_strings_sv.xtb b/components/strings/components_strings_sv.xtb index e2473934..fb8ea410 100644 --- a/components/strings/components_strings_sv.xtb +++ b/components/strings/components_strings_sv.xtb
@@ -265,11 +265,6 @@ <translation id="1978555033938440688">Firmwareversion</translation> <translation id="1988881251331415125">Om stavningen är rätt <ph name="BEGIN_LINK" />testar du att köra anslutningsdiagnostik<ph name="END_LINK" />.</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">få åtkomst till cookies och webbplatsdata. - -Vill du tillåta att <ph name="EMBEDDED_URL" /> använder cookies och webbplatsdata på <ph name="TOP_LEVEL_URL" />? - -Annars blockeras detta av sekretessinställningarna. Om du tillåter detta kan innehållet du öppnade fungera korrekt, men det kan hända att <ph name="EMBEDDED_URL" /> kan registrera din aktivitet.</translation> <translation id="1997484222658892567"><ph name="URL" /> vill lagra stora mängder data permanent på din lokala dator</translation> <translation id="2001146170449793414">{COUNT,plural, =1{och 1 till}other{och # till}}</translation> <translation id="2003709556000175978">Återställ lösenordet nu</translation>
diff --git a/components/strings/components_strings_sw.xtb b/components/strings/components_strings_sw.xtb index 68ab7cf863..28094344 100644 --- a/components/strings/components_strings_sw.xtb +++ b/components/strings/components_strings_sw.xtb
@@ -264,11 +264,6 @@ <translation id="1978555033938440688">Toleo la Programu dhibiti</translation> <translation id="1988881251331415125">Iwapo hakuna kosa la hijai, <ph name="BEGIN_LINK" />jaribu kutekeleza Uchunguzi wa Muunganisho<ph name="END_LINK" />.</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">Fikia data ya tovuti na vidakuzi. - -Ungependa kuruhusu <ph name="EMBEDDED_URL" /> itumie data ya tovuti na vidakuzi kwenye <ph name="TOP_LEVEL_URL" />? - -Vinginevyo, hatua hii itazuiwa na mipangilio yako ya faragha. Hali hii itaruhusu maudhui ambayo umetumia yafanye kazi ipasavyo, lakini huenda ikaruhusu <ph name="EMBEDDED_URL" /> ifuatilie shughuli zako.</translation> <translation id="1997484222658892567"><ph name="URL" /> inataka kuhifadhi data nyingi kwenye kompyuta yako ya ndani kwa muda mrefu</translation> <translation id="2001146170449793414">{COUNT,plural, =1{na nyingine 1}other{na nyingine #}}</translation> <translation id="2003709556000175978">Badilisha nenosiri lako sasa</translation>
diff --git a/components/strings/components_strings_ta.xtb b/components/strings/components_strings_ta.xtb index 62ce93ca..6fb97e1 100644 --- a/components/strings/components_strings_ta.xtb +++ b/components/strings/components_strings_ta.xtb
@@ -265,11 +265,6 @@ <translation id="1978555033938440688">நிலைப்பொருளின் பதிப்பு</translation> <translation id="1988881251331415125">எழுத்துப்பிழை இல்லையெனில் <ph name="BEGIN_LINK" />இணைப்புநிலை சரிபார்ப்பை இயக்கிப் பார்க்கவும்<ph name="END_LINK" />.</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">குக்கீகளையும் தளத்தின் தரவையும் அணுக விரும்புகிறது. - -<ph name="TOP_LEVEL_URL" /> இல் குக்கீகளையும் தளத்தின் தரவையும் பயன்படுத்த <ph name="EMBEDDED_URL" /> ஐ அனுமதிக்க விரும்புகிறீர்களா? - -இல்லையெனில் இது உங்கள் தனியுரிமை அமைப்புகளின் மூலம் தடுக்கப்படும். இது நீங்கள் தொடர்பு கொண்டிருக்கும் உள்ளடக்கம் சரியாகச் செயல்பட அனுமதிக்கும், ஆனால் <ph name="EMBEDDED_URL" /> ஐ உங்கள் செயல்பாட்டைக் கண்காணிக்க அனுமதிக்கக்கூடும்.</translation> <translation id="1997484222658892567">உங்கள் கம்ப்யூட்டரில் அதிக அளவு தரவை நிரந்தரமாகச் சேமிக்க <ph name="URL" /> விரும்புகிறது</translation> <translation id="2001146170449793414">{COUNT,plural, =1{மேலும் 1}other{மேலும் #}}</translation> <translation id="2003709556000175978">உங்கள் கடவுச்சொல்லை இப்போதே மீட்டமைக்கவும்</translation>
diff --git a/components/strings/components_strings_te.xtb b/components/strings/components_strings_te.xtb index 80c1f37e..298d9ea 100644 --- a/components/strings/components_strings_te.xtb +++ b/components/strings/components_strings_te.xtb
@@ -267,11 +267,6 @@ <translation id="1978555033938440688">ఫర్మ్వేర్ వెర్షన్</translation> <translation id="1988881251331415125">స్పెల్లింగ్ సరైనది అయితే, <ph name="BEGIN_LINK" />కనెక్టివిటీ సమస్య విశ్లేషణలను రన్ చేయడానికి ట్రై చేయండి<ph name="END_LINK" />.</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">కుక్కీలు, సైట్ డేటా యాక్సెస్. - -<ph name="TOP_LEVEL_URL" />లోని కుక్కీలను, సైట్ డేటాను ఉపయోగించడానికి మీరు <ph name="EMBEDDED_URL" />ను అనుమతించాలనుకుంటున్నారా? - -లేదంటే, దీనిని మీ గోప్యతా సెట్టింగ్లు బ్లాక్ చేయవచ్చు. ఇది మీరు ఇంటరాక్ట్ అయిన కంటెంట్ సక్రమంగా పని చేసేలా అనుమతిస్తుంది, కానీ మీ యాక్టివిటీని ట్రాక్ చేయడానికి <ph name="EMBEDDED_URL" />ను కూడా అనుమతించవచ్చు.</translation> <translation id="1997484222658892567"><ph name="URL" /> శాశ్వతంగా అధిక డేటాని మీ స్థానిక కంప్యూటర్లో నిల్వ చేయాలనుకుంటోంది</translation> <translation id="2001146170449793414">{COUNT,plural, =1{మరియు మరొకటి}other{మరియు మరో #}}</translation> <translation id="2003709556000175978">ఇప్పుడే మీ పాస్వర్డ్ని రీసెట్ చేయండి</translation>
diff --git a/components/strings/components_strings_th.xtb b/components/strings/components_strings_th.xtb index 748524c..c348b45 100644 --- a/components/strings/components_strings_th.xtb +++ b/components/strings/components_strings_th.xtb
@@ -261,11 +261,6 @@ <translation id="1978555033938440688">เวอร์ชันของเฟิร์มแวร์</translation> <translation id="1988881251331415125">หากการสะกดถูกต้อง ให้<ph name="BEGIN_LINK" />ลองเรียกใช้การวินิจฉัยการเชื่อมต่อ<ph name="END_LINK" /></translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">เข้าถึงคุกกี้และข้อมูลเว็บไซต์ - -คุณต้องการอนุญาตให้ <ph name="EMBEDDED_URL" /> ใช้คุกกี้และข้อมูลเว็บไซต์ใน <ph name="TOP_LEVEL_URL" /> ไหม - -หากไม่ การตั้งค่าความเป็นส่วนตัวจะบล็อกการเข้าถึงนี้ การอนุญาตจะช่วยให้เนื้อหาที่คุณโต้ตอบด้วยทำงานอย่างถูกต้อง แต่ก็อาจอนุญาตให้ <ph name="EMBEDDED_URL" /> ติดตามกิจกรรมของคุณด้วย</translation> <translation id="1997484222658892567"><ph name="URL" /> ต้องการจัดเก็บข้อมูลขนาดใหญ่อย่างถาวรในเครื่องคอมพิวเตอร์ของคุณ</translation> <translation id="2001146170449793414">{COUNT,plural, =1{และอีก 1 แอป}other{และอีก # แอป}}</translation> <translation id="2003709556000175978">รีเซ็ตรหัสผ่านเลย</translation>
diff --git a/components/strings/components_strings_tr.xtb b/components/strings/components_strings_tr.xtb index d39620a..1d34305 100644 --- a/components/strings/components_strings_tr.xtb +++ b/components/strings/components_strings_tr.xtb
@@ -262,11 +262,6 @@ <translation id="1978555033938440688">Donanım Yazılımı Sürümü</translation> <translation id="1988881251331415125">Yazım doğruysa <ph name="BEGIN_LINK" />Bağlantı Teşhisi'ni çalıştırmayı deneyin<ph name="END_LINK" />.</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">Çerezlere ve site verilerine erişmek. - -<ph name="EMBEDDED_URL" /> sitesinin, <ph name="TOP_LEVEL_URL" /> üzerinde çerezleri ve site verilerini kullanmasına izin vermek istiyor musunuz? - -Aksi halde bu işlem gizlilik ayarlarınız tarafından engellenecek. Buna izin vermek etkileşimde bulunduğunuz içeriğin doğru çalışmasını sağlar, ancak <ph name="EMBEDDED_URL" /> sitesinin etkinliğinizi izlemesine de imkan verebilir.</translation> <translation id="1997484222658892567"><ph name="URL" />, yerel bilgisiayarınızda büyük miktarda veri depolamak istiyor</translation> <translation id="2001146170449793414">{COUNT,plural, =1{ve 1 uygulama daha}other{ve # uygulama daha}}</translation> <translation id="2003709556000175978">Şifrenizi şimdi sıfırlayın</translation>
diff --git a/components/strings/components_strings_uk.xtb b/components/strings/components_strings_uk.xtb index 7ddf9f74..045743c 100644 --- a/components/strings/components_strings_uk.xtb +++ b/components/strings/components_strings_uk.xtb
@@ -265,11 +265,6 @@ <translation id="1978555033938440688">Версія мікропрограми</translation> <translation id="1988881251331415125">Якщо помилок немає, <ph name="BEGIN_LINK" />проведіть діагностику з'єднання<ph name="END_LINK" />.</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">Отримати доступ до файлів cookie й даних сайту. - -Надати сайту <ph name="EMBEDDED_URL" /> доступ до файлів cookie й даних на сайті <ph name="TOP_LEVEL_URL" />? - -Інакше доступ буде заблоковано вашими налаштуваннями конфіденційності. Якщо ви надасте доступ, контент, з яким ви взаємодіяли, працюватиме належним чином, але сайт <ph name="EMBEDDED_URL" /> зможе відстежувати ваші дії.</translation> <translation id="1997484222658892567">Сайт <ph name="URL" /> хоче постійно зберігати великий обсяг даних на вашому локальному комп’ютері</translation> <translation id="2001146170449793414">{COUNT,plural, =1{і ще 1}one{і ще #}few{і ще #}many{і ще #}other{і ще #}}</translation> <translation id="2003709556000175978">Скиньте пароль</translation>
diff --git a/components/strings/components_strings_ur.xtb b/components/strings/components_strings_ur.xtb index 38e1080..82268d40 100644 --- a/components/strings/components_strings_ur.xtb +++ b/components/strings/components_strings_ur.xtb
@@ -266,11 +266,6 @@ <translation id="1978555033938440688">فرم ویئر ورژن</translation> <translation id="1988881251331415125">اگر ہجے درست ہیں تو <ph name="BEGIN_LINK" />کنیکٹوٹی کی تشخیصات چلانے کی کوشش کریں<ph name="END_LINK" />۔</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">کوکیز اور سائٹ کے ڈیٹا تک رسائی حاصل کریں۔ - -کیا آپ <ph name="EMBEDDED_URL" /> کو <ph name="TOP_LEVEL_URL" /> پر کوکیز اور سائٹ کا ڈيٹا استعمال کرنے کی اجازت دینا چاہتے ہیں؟ - -بصورت دیگر آپ کی رازداری کی ترتیبات اسے مسدود کر دیں گی۔ اس سے اس مواد کو صحیح طور پر کام کرنے کی اجازت ہوگی جس کے ساتھ آپ تعامل کرتے ہیں، لیکن اس سے <ph name="EMBEDDED_URL" /> کو آپ کی سرگرمی کو ٹریک کرنے کی اجازت مل سکتی ہے۔</translation> <translation id="1997484222658892567"><ph name="URL" /> آپ کے مقامی کمپیوٹر پر مستقل طور پر بڑا ڈیٹا اسٹور کرنا چاہتا ہے</translation> <translation id="2001146170449793414">{COUNT,plural, =1{اور 1 مزید}other{اور # مزید}}</translation> <translation id="2003709556000175978">اپنا پاس ورڈ ابھی ری سیٹ کریں</translation>
diff --git a/components/strings/components_strings_uz.xtb b/components/strings/components_strings_uz.xtb index 2bbc0bc9..eb8c6ff 100644 --- a/components/strings/components_strings_uz.xtb +++ b/components/strings/components_strings_uz.xtb
@@ -264,11 +264,6 @@ <translation id="1978555033938440688">Mikrodastur versiyasi</translation> <translation id="1988881251331415125">Xatosiz kiritilgan boʻlsa, <ph name="BEGIN_LINK" />Ulanish diagnostikasini<ph name="END_LINK" /> ishga tushiring.</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">Cookie-fayllari va boshqa sayt maʼlumotlariga ruxsat. - -<ph name="EMBEDDED_URL" /> sayti <ph name="TOP_LEVEL_URL" /> cookie-fayllari va sayt maʼlumotlaridan foydalanishiga ruxsat berilsinmi? - -Aks holda bu maxfiylik sozlamalaringiz tomonidan bloklanadi. Bunda siz ochgan sahifalardagi kontent xatosiz ishlashi mumkin, lekin <ph name="EMBEDDED_URL" /> harakatlaringizni kuzatishiga ruxsat beradi.</translation> <translation id="1997484222658892567"><ph name="URL" /> sayti katta hajmdagi ma’lumotlarni kompyuteringizda doimiy saqlashga ruxsat so‘ramoqda</translation> <translation id="2001146170449793414">{COUNT,plural, =1{va yana 1 ta}other{va yana # ta}}</translation> <translation id="2003709556000175978">Parolingizni hozir yangilang</translation>
diff --git a/components/strings/components_strings_vi.xtb b/components/strings/components_strings_vi.xtb index 11c2133..2967a0b1 100644 --- a/components/strings/components_strings_vi.xtb +++ b/components/strings/components_strings_vi.xtb
@@ -265,11 +265,6 @@ <translation id="1978555033938440688">Phiên bản chương trình cơ sở</translation> <translation id="1988881251331415125">Nếu đúng chính tả, hãy <ph name="BEGIN_LINK" />thử chạy Chẩn đoán kết nối<ph name="END_LINK" />.</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">Truy cập vào cookie và dữ liệu trang web. - -Bạn có muốn cho phép <ph name="EMBEDDED_URL" /> sử dụng cookie và dữ liệu trang web trên <ph name="TOP_LEVEL_URL" /> không? - -Nếu bạn từ chối, các tùy chọn cài đặt quyền riêng tư của bạn sẽ chặn không cho trang web này truy cập. Nếu bạn cho phép, nội dung bạn đã tương tác sẽ hoạt động đúng cách, nhưng <ph name="EMBEDDED_URL" /> có thể theo dõi được hoạt động của bạn.</translation> <translation id="1997484222658892567"><ph name="URL" /> muốn lưu trữ vĩnh viễn một lượng lớn dữ liệu trên máy tính cục bộ của bạn</translation> <translation id="2001146170449793414">{COUNT,plural, =1{và 1 ứng dụng khác}other{và # ứng dụng khác}}</translation> <translation id="2003709556000175978">Đặt lại mật khẩu của bạn ngay bây giờ</translation>
diff --git a/components/strings/components_strings_zh-CN.xtb b/components/strings/components_strings_zh-CN.xtb index 9699ea1c..82fb71a 100644 --- a/components/strings/components_strings_zh-CN.xtb +++ b/components/strings/components_strings_zh-CN.xtb
@@ -261,11 +261,6 @@ <translation id="1978555033938440688">固件版本</translation> <translation id="1988881251331415125">如果拼写无误,请<ph name="BEGIN_LINK" />尝试运行连接诊断工具<ph name="END_LINK" />。</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">访问 Cookie 和网站数据。 - -您想允许 <ph name="EMBEDDED_URL" /> 使用 <ph name="TOP_LEVEL_URL" /> 上的 Cookie 和网站数据吗? - -如果不允许,您的隐私设置便会禁止此网站这样做。授予该权限会使得您在进行操作的内容正常运行,但可能会允许 <ph name="EMBEDDED_URL" /> 跟踪您的活动。</translation> <translation id="1997484222658892567"><ph name="URL" /> 想在您的本地计算机上永久存储大量数据</translation> <translation id="2001146170449793414">{COUNT,plural, =1{以及另外 1 个应用}other{以及另外 # 个应用}}</translation> <translation id="2003709556000175978">立即重置您的密码</translation>
diff --git a/components/strings/components_strings_zh-HK.xtb b/components/strings/components_strings_zh-HK.xtb index 0ce71091..6122083 100644 --- a/components/strings/components_strings_zh-HK.xtb +++ b/components/strings/components_strings_zh-HK.xtb
@@ -261,10 +261,6 @@ <translation id="1978555033938440688">韌體版本</translation> <translation id="1988881251331415125">如果拼字正確,請<ph name="BEGIN_LINK" />嘗試執行連線診斷<ph name="END_LINK" />。</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">存取 Cookie 和網站資料。 - -您要允許 <ph name="EMBEDDED_URL" /> 使用 <ph name="TOP_LEVEL_URL" /> 上的 Cookie 和網站資料嗎? -如不允許,您的私隱權設定將禁止上述操作。這可讓與您互動的內容正常運作,但可能允許 <ph name="EMBEDDED_URL" /> 追蹤您的活動。</translation> <translation id="1997484222658892567"><ph name="URL" /> 要求在您的本機電腦上永久儲存大量數據</translation> <translation id="2001146170449793414">{COUNT,plural, =1{和另外 1 個應用程式}other{和另外 # 個應用程式}}</translation> <translation id="2003709556000175978">立即重設您的密碼</translation>
diff --git a/components/strings/components_strings_zh-TW.xtb b/components/strings/components_strings_zh-TW.xtb index f6dc279..be6cdc6 100644 --- a/components/strings/components_strings_zh-TW.xtb +++ b/components/strings/components_strings_zh-TW.xtb
@@ -261,11 +261,6 @@ <translation id="1978555033938440688">韌體版本</translation> <translation id="1988881251331415125">如果拼字正確,<ph name="BEGIN_LINK" />請嘗試執行連線診斷<ph name="END_LINK" />。</translation> <translation id="1992331125980284532">JIS B3</translation> -<translation id="1992796205810278279">存取 Cookie 和網站資料。 - -你要允許 <ph name="EMBEDDED_URL" /> 使用 <ph name="TOP_LEVEL_URL" /> 上的 Cookie 和網站資料嗎? - -如果不選取,你的隱私權設定會予以封鎖。這項設定可讓你所互動的內容正常運作,但可能會允許 <ph name="EMBEDDED_URL" /> 追蹤你的活動。</translation> <translation id="1997484222658892567"><ph name="URL" /> 要求在你的本機電腦上永久儲存大量資料</translation> <translation id="2001146170449793414">{COUNT,plural, =1{以及另外 1 個應用程式}other{以及另外 # 個應用程式}}</translation> <translation id="2003709556000175978">立即重設你的密碼</translation>
diff --git a/components/strings/components_strings_zu.xtb b/components/strings/components_strings_zu.xtb index 1bd6acf..fbdfd00c 100644 --- a/components/strings/components_strings_zu.xtb +++ b/components/strings/components_strings_zu.xtb
@@ -265,11 +265,6 @@ <translation id="1978555033938440688">Inguqulo ye-Firmware</translation> <translation id="1988881251331415125">Uma isipelingi singalungile, <ph name="BEGIN_LINK" />zama ukuqalisa Ukuxilongwa Kokuxhumeka<ph name="END_LINK" />.</translation> <translation id="1992331125980284532">I-JIS B3</translation> -<translation id="1992796205810278279">Finyelela amakhukhi nedatha yesayithi. - -Ingabe uyafuna ukuvumela i-<ph name="EMBEDDED_URL" /> ukuthi isebenzise amakhukhi nedatha yesayithi ku-<ph name="TOP_LEVEL_URL" />? - -Lokhu uma kungenjalo kuzovinjelwa izilungiselelo zakho zobumfihlo. Lokhu kuzovumela okuqukethwe ohlanganyela nakho ukuthi kusebenze kahle, kodwa kungavumela i-<ph name="EMBEDDED_URL" /> ukuthi ilandelele umsebenzi wakho.</translation> <translation id="1997484222658892567">I-<ph name="URL" /> ifuna ukugcina unaphakade idatha enkulu kukhompuyutha yakho yasendaweni</translation> <translation id="2001146170449793414">{COUNT,plural, =1{nokungu-1 ngaphezulu}one{nokungu-# ngaphezulu}other{nokungu-# ngaphezulu}}</translation> <translation id="2003709556000175978">Setha kabusha iphasiwedi yakho manje</translation>
diff --git a/components/sync/mojom/BUILD.gn b/components/sync/mojom/BUILD.gn index 2e22f09c5..3f5ef4c 100644 --- a/components/sync/mojom/BUILD.gn +++ b/components/sync/mojom/BUILD.gn
@@ -6,4 +6,16 @@ mojom("mojom") { sources = [ "syncer.mojom" ] + cpp_typemaps = [ + { + types = [ + { + mojom = "syncer.mojom.StringOrdinal" + cpp = "::syncer::StringOrdinal" + }, + ] + traits_headers = [ "syncer_mojom_traits.h" ] + traits_public_deps = [ "//components/sync" ] + }, + ] }
diff --git a/components/sync/mojom/OWNERS b/components/sync/mojom/OWNERS index ae29a36aa..1feb514 100644 --- a/components/sync/mojom/OWNERS +++ b/components/sync/mojom/OWNERS
@@ -2,5 +2,3 @@ per-file *.mojom=file://ipc/SECURITY_OWNERS per-file *_mojom_traits*.*=set noparent per-file *_mojom_traits*.*=file://ipc/SECURITY_OWNERS -per-file *.typemap=set noparent -per-file *.typemap=file://ipc/SECURITY_OWNERS
diff --git a/components/sync/mojom/syncer.typemap b/components/sync/mojom/syncer.typemap deleted file mode 100644 index 8e75b17..0000000 --- a/components/sync/mojom/syncer.typemap +++ /dev/null
@@ -1,11 +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. - -mojom = "//components/sync/mojom/syncer.mojom" -public_headers = [ "//components/sync/model/string_ordinal.h" ] -traits_headers = [ "//components/sync/mojom/syncer_mojom_traits.h" ] -deps = [ - "//components/sync:sync", -] -type_mappings = [ "syncer.mojom.StringOrdinal=::syncer::StringOrdinal" ]
diff --git a/components/sync/mojom/typemaps.gni b/components/sync/mojom/typemaps.gni deleted file mode 100644 index 565690d7..0000000 --- a/components/sync/mojom/typemaps.gni +++ /dev/null
@@ -1,5 +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. - -typemaps = [ "//components/sync/mojom/syncer.typemap" ]
diff --git a/components/translate/content/common/BUILD.gn b/components/translate/content/common/BUILD.gn index 934ed72e..1db13ffd 100644 --- a/components/translate/content/common/BUILD.gn +++ b/components/translate/content/common/BUILD.gn
@@ -11,4 +11,21 @@ "//mojo/public/mojom/base", "//url/mojom:url_mojom_gurl", ] + + cpp_typemaps = [ + { + types = [ + { + mojom = "translate.mojom.LanguageDetectionDetails" + cpp = "::translate::LanguageDetectionDetails" + }, + { + mojom = "translate.mojom.TranslateError" + cpp = "::translate::TranslateErrors::Type" + }, + ] + traits_headers = [ "translate_mojom_traits.h" ] + traits_sources = [ "translate_mojom_traits.cc" ] + }, + ] }
diff --git a/components/translate/content/common/OWNERS b/components/translate/content/common/OWNERS index ae29a36aa..1feb514 100644 --- a/components/translate/content/common/OWNERS +++ b/components/translate/content/common/OWNERS
@@ -2,5 +2,3 @@ per-file *.mojom=file://ipc/SECURITY_OWNERS per-file *_mojom_traits*.*=set noparent per-file *_mojom_traits*.*=file://ipc/SECURITY_OWNERS -per-file *.typemap=set noparent -per-file *.typemap=file://ipc/SECURITY_OWNERS
diff --git a/components/translate/content/common/translate.typemap b/components/translate/content/common/translate.typemap deleted file mode 100644 index 7486296..0000000 --- a/components/translate/content/common/translate.typemap +++ /dev/null
@@ -1,23 +0,0 @@ -# Copyright 2016 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -mojom = "//components/translate/content/common/translate.mojom" -public_headers = [ - "//components/translate/core/common/language_detection_details.h", - "//components/translate/core/common/translate_errors.h", -] -traits_headers = - [ "//components/translate/content/common/translate_mojom_traits.h" ] -sources = [ - "//components/translate/content/common/translate_mojom_traits.cc", -] -deps = [ - "//base", - "//components/translate/core/common", -] - -type_mappings = [ - "translate.mojom.LanguageDetectionDetails=::translate::LanguageDetectionDetails", - "translate.mojom.TranslateError=::translate::TranslateErrors::Type", -]
diff --git a/components/translate/content/common/translate_mojom_traits.h b/components/translate/content/common/translate_mojom_traits.h index e365f6fa..3bf41dc 100644 --- a/components/translate/content/common/translate_mojom_traits.h +++ b/components/translate/content/common/translate_mojom_traits.h
@@ -7,7 +7,7 @@ #include "base/strings/string16.h" #include "base/time/time.h" -#include "components/translate/content/common/translate.mojom.h" +#include "components/translate/content/common/translate.mojom-shared.h" #include "components/translate/core/common/language_detection_details.h" #include "components/translate/core/common/translate_errors.h" #include "mojo/public/cpp/bindings/struct_traits.h"
diff --git a/components/typemaps.gni b/components/typemaps.gni deleted file mode 100644 index ca61b1f..0000000 --- a/components/typemaps.gni +++ /dev/null
@@ -1,14 +0,0 @@ -# Copyright 2016 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -typemaps = [ - "//components/account_id/mojom/account_id.typemap", - "//components/autofill/core/common/mojom/autofill_types.typemap", - "//components/content_capture/common/content_capture.typemap", - "//components/content_settings/core/common/content_settings.typemap", - "//components/nacl/common/nacl.typemap", - "//components/password_manager/content/common/credential_manager.typemap", - "//components/spellcheck/common/spellcheck.typemap", - "//components/translate/content/common/translate.typemap", -]
diff --git a/content/browser/accessibility/accessibility_action_browsertest.cc b/content/browser/accessibility/accessibility_action_browsertest.cc index 4f5dae17..d328c7d 100644 --- a/content/browser/accessibility/accessibility_action_browsertest.cc +++ b/content/browser/accessibility/accessibility_action_browsertest.cc
@@ -530,7 +530,103 @@ UntrustworthyContextMenuParams context_menu_params = context_menu_filter->get_params(); EXPECT_EQ(base::ASCIIToUTF16("2"), context_menu_params.link_text); - EXPECT_EQ(ui::MenuSourceType::MENU_SOURCE_NONE, + EXPECT_EQ(ui::MenuSourceType::MENU_SOURCE_KEYBOARD, + context_menu_params.source_type); +} + +IN_PROC_BROWSER_TEST_F(AccessibilityActionBrowserTest, + ShowContextMenuOnMultilineElement) { + LoadInitialAccessibilityTreeFromHtml(R"HTML( + <div style='width: 10em'>This is some text. + <a href='www.google.com'>This is a multiline link.</a></div> + )HTML"); + + BrowserAccessibility* target_node = + FindNode(ax::mojom::Role::kLink, "This is a multiline link."); + EXPECT_NE(target_node, nullptr); + + // Register a ContextMenuFilter in the render process to wait for the + // ShowContextMenu event to be raised. + content::RenderProcessHost* render_process_host = + shell()->web_contents()->GetMainFrame()->GetProcess(); + auto context_menu_filter = base::MakeRefCounted<ContextMenuFilter>(); + render_process_host->AddFilter(context_menu_filter.get()); + + // Raise the ShowContextMenu event from the link. + ui::AXActionData context_menu_action; + context_menu_action.action = ax::mojom::Action::kShowContextMenu; + target_node->AccessibilityPerformAction(context_menu_action); + context_menu_filter->Wait(); + + UntrustworthyContextMenuParams context_menu_params = + context_menu_filter->get_params(); + EXPECT_EQ(base::ASCIIToUTF16("This is a multiline link."), + context_menu_params.link_text); + EXPECT_EQ(ui::MenuSourceType::MENU_SOURCE_KEYBOARD, + context_menu_params.source_type); +} + +IN_PROC_BROWSER_TEST_F(AccessibilityActionBrowserTest, + ShowContextMenuOnOffscreenElement) { + LoadInitialAccessibilityTreeFromHtml(R"HTML( + <a href='www.google.com' + style='position: absolute; top: -1000px; left: -1000px'> + Offscreen</a></div> + )HTML"); + + BrowserAccessibility* target_node = + FindNode(ax::mojom::Role::kLink, "Offscreen"); + EXPECT_NE(target_node, nullptr); + + // Register a ContextMenuFilter in the render process to wait for the + // ShowContextMenu event to be raised. + content::RenderProcessHost* render_process_host = + shell()->web_contents()->GetMainFrame()->GetProcess(); + auto context_menu_filter = base::MakeRefCounted<ContextMenuFilter>(); + render_process_host->AddFilter(context_menu_filter.get()); + + // Raise the ShowContextMenu event from the link. + ui::AXActionData context_menu_action; + context_menu_action.action = ax::mojom::Action::kShowContextMenu; + target_node->AccessibilityPerformAction(context_menu_action); + context_menu_filter->Wait(); + + UntrustworthyContextMenuParams context_menu_params = + context_menu_filter->get_params(); + EXPECT_EQ(base::ASCIIToUTF16("Offscreen"), context_menu_params.link_text); + EXPECT_EQ(ui::MenuSourceType::MENU_SOURCE_KEYBOARD, + context_menu_params.source_type); +} + +IN_PROC_BROWSER_TEST_F(AccessibilityActionBrowserTest, + ShowContextMenuOnObscuredElement) { + LoadInitialAccessibilityTreeFromHtml(R"HTML( + <a href='www.google.com'>Obscured</a> + <div style="position: absolute; height: 100px; width: 100px; top: 0px; + left: 0px; background-color:red;"></div> + )HTML"); + + BrowserAccessibility* target_node = + FindNode(ax::mojom::Role::kLink, "Obscured"); + EXPECT_NE(target_node, nullptr); + + // Register a ContextMenuFilter in the render process to wait for the + // ShowContextMenu event to be raised. + content::RenderProcessHost* render_process_host = + shell()->web_contents()->GetMainFrame()->GetProcess(); + auto context_menu_filter = base::MakeRefCounted<ContextMenuFilter>(); + render_process_host->AddFilter(context_menu_filter.get()); + + // Raise the ShowContextMenu event from the link. + ui::AXActionData context_menu_action; + context_menu_action.action = ax::mojom::Action::kShowContextMenu; + target_node->AccessibilityPerformAction(context_menu_action); + context_menu_filter->Wait(); + + UntrustworthyContextMenuParams context_menu_params = + context_menu_filter->get_params(); + EXPECT_EQ(base::ASCIIToUTF16("Obscured"), context_menu_params.link_text); + EXPECT_EQ(ui::MenuSourceType::MENU_SOURCE_KEYBOARD, context_menu_params.source_type); }
diff --git a/content/browser/accessibility/accessibility_ipc_error_browsertest.cc b/content/browser/accessibility/accessibility_ipc_error_browsertest.cc index 6c518757..6bd8984 100644 --- a/content/browser/accessibility/accessibility_ipc_error_browsertest.cc +++ b/content/browser/accessibility/accessibility_ipc_error_browsertest.cc
@@ -6,7 +6,7 @@ #include "base/macros.h" #include "build/build_config.h" -#include "content/browser/frame_host/render_frame_host_impl.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" #include "content/browser/web_contents/web_contents_impl.h" #include "content/public/browser/ax_event_notification_details.h" #include "content/public/test/accessibility_notification_waiter.h"
diff --git a/content/browser/accessibility/dump_accessibility_tree_browsertest.cc b/content/browser/accessibility/dump_accessibility_tree_browsertest.cc index 0568fd82..b9dbc5b11 100644 --- a/content/browser/accessibility/dump_accessibility_tree_browsertest.cc +++ b/content/browser/accessibility/dump_accessibility_tree_browsertest.cc
@@ -1306,6 +1306,11 @@ RunHtmlTest(FILE_PATH_LITERAL("bounds-fixed.html")); } +IN_PROC_BROWSER_TEST_P(DumpAccessibilityTreeTest, + AccessiblitiyBoundsFixedScrolling) { + RunHtmlTest(FILE_PATH_LITERAL("bounds-fixed-scrolling.html")); +} + IN_PROC_BROWSER_TEST_P(DumpAccessibilityTreeTest, AccessibilityBR) { RunHtmlTest(FILE_PATH_LITERAL("br.html")); }
diff --git a/content/browser/accessibility/site_per_process_accessibility_browsertest.cc b/content/browser/accessibility/site_per_process_accessibility_browsertest.cc index 6b73b0ed..87506a2 100644 --- a/content/browser/accessibility/site_per_process_accessibility_browsertest.cc +++ b/content/browser/accessibility/site_per_process_accessibility_browsertest.cc
@@ -9,9 +9,9 @@ #include "content/browser/accessibility/browser_accessibility.h" #include "content/browser/accessibility/browser_accessibility_manager.h" #include "content/browser/accessibility/browser_accessibility_state_impl.h" -#include "content/browser/frame_host/cross_process_frame_connector.h" -#include "content/browser/frame_host/frame_tree.h" -#include "content/browser/frame_host/render_frame_proxy_host.h" +#include "content/browser/renderer_host/cross_process_frame_connector.h" +#include "content/browser/renderer_host/frame_tree.h" +#include "content/browser/renderer_host/render_frame_proxy_host.h" #include "content/browser/renderer_host/render_view_host_impl.h" #include "content/browser/renderer_host/render_widget_host_view_child_frame.h" #include "content/browser/site_per_process_browsertest.h"
diff --git a/content/browser/android/dialog_overlay_impl.cc b/content/browser/android/dialog_overlay_impl.cc index 4392c67..4a90c5fe 100644 --- a/content/browser/android/dialog_overlay_impl.cc +++ b/content/browser/android/dialog_overlay_impl.cc
@@ -4,7 +4,7 @@ #include "content/browser/android/dialog_overlay_impl.h" -#include "content/browser/frame_host/render_frame_host_impl.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" #include "content/browser/renderer_host/render_widget_host_view_base.h" #include "content/browser/web_contents/web_contents_impl.h" #include "content/public/android/content_jni_headers/DialogOverlayImpl_jni.h"
diff --git a/content/browser/android/dialog_overlay_impl.h b/content/browser/android/dialog_overlay_impl.h index 1e955a8..353b5b96 100644 --- a/content/browser/android/dialog_overlay_impl.h +++ b/content/browser/android/dialog_overlay_impl.h
@@ -9,7 +9,7 @@ #include "base/android/jni_weak_ref.h" #include "base/android/scoped_java_ref.h" #include "base/unguessable_token.h" -#include "content/browser/frame_host/render_frame_host_impl.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" #include "content/public/browser/web_contents_observer.h" #include "ui/android/view_android_observer.h" #include "ui/android/window_android.h"
diff --git a/content/browser/android/ime_adapter_android.cc b/content/browser/android/ime_adapter_android.cc index eb50bd2..02c47d9 100644 --- a/content/browser/android/ime_adapter_android.cc +++ b/content/browser/android/ime_adapter_android.cc
@@ -15,7 +15,7 @@ #include "base/strings/utf_string_conversions.h" #include "base/time/time.h" #include "content/browser/android/text_suggestion_host_android.h" -#include "content/browser/frame_host/render_frame_host_impl.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" #include "content/browser/renderer_host/render_view_host_delegate.h" #include "content/browser/renderer_host/render_widget_host_impl.h" #include "content/browser/renderer_host/render_widget_host_view_android.h"
diff --git a/content/browser/android/java_interfaces_impl.cc b/content/browser/android/java_interfaces_impl.cc index 39eb5f6e1..852215d 100644 --- a/content/browser/android/java_interfaces_impl.cc +++ b/content/browser/android/java_interfaces_impl.cc
@@ -10,7 +10,7 @@ #include "base/android/jni_android.h" #include "base/memory/singleton.h" -#include "content/browser/frame_host/render_frame_host_impl.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" #include "content/public/android/content_jni_headers/InterfaceRegistrarImpl_jni.h" #include "content/public/browser/browser_thread.h" #include "content/public/browser/web_contents.h"
diff --git a/content/browser/android/web_contents_observer_proxy.cc b/content/browser/android/web_contents_observer_proxy.cc index bc7a456..566982b 100644 --- a/content/browser/android/web_contents_observer_proxy.cc +++ b/content/browser/android/web_contents_observer_proxy.cc
@@ -14,7 +14,7 @@ #include "base/strings/utf_string_conversions.h" #include "base/trace_event/trace_event.h" #include "content/browser/android/navigation_handle_proxy.h" -#include "content/browser/frame_host/navigation_request.h" +#include "content/browser/renderer_host/navigation_request.h" #include "content/browser/renderer_host/render_widget_host_impl.h" #include "content/browser/web_contents/web_contents_impl.h" #include "content/public/android/content_jni_headers/WebContentsObserverProxy_jni.h"
diff --git a/content/browser/appcache/appcache_request_handler.cc b/content/browser/appcache/appcache_request_handler.cc index 9346278e..cb3c8d1 100644 --- a/content/browser/appcache/appcache_request_handler.cc +++ b/content/browser/appcache/appcache_request_handler.cc
@@ -16,9 +16,9 @@ #include "content/browser/appcache/appcache_request.h" #include "content/browser/appcache/appcache_subresource_url_factory.h" #include "content/browser/appcache/appcache_url_loader.h" -#include "content/browser/frame_host/frame_tree_node.h" -#include "content/browser/frame_host/navigation_request.h" #include "content/browser/navigation_subresource_loader_params.h" +#include "content/browser/renderer_host/frame_tree_node.h" +#include "content/browser/renderer_host/navigation_request.h" #include "content/public/common/content_client.h" #include "services/network/public/cpp/wrapper_shared_url_loader_factory.h" #include "third_party/blink/public/common/features.h"
diff --git a/content/browser/back_forward_cache_browsertest.cc b/content/browser/back_forward_cache_browsertest.cc index bd01aa0..15a3c28b 100644 --- a/content/browser/back_forward_cache_browsertest.cc +++ b/content/browser/back_forward_cache_browsertest.cc
@@ -28,12 +28,12 @@ #include "components/network_session_configurator/common/network_switches.h" #include "components/ukm/test_ukm_recorder.h" #include "content/browser/bad_message.h" -#include "content/browser/frame_host/back_forward_cache_impl.h" -#include "content/browser/frame_host/frame_tree_node.h" -#include "content/browser/frame_host/render_frame_host_impl.h" #include "content/browser/generic_sensor/sensor_provider_proxy_impl.h" #include "content/browser/presentation/presentation_test_utils.h" +#include "content/browser/renderer_host/back_forward_cache_impl.h" +#include "content/browser/renderer_host/frame_tree_node.h" #include "content/browser/renderer_host/page_lifecycle_state_manager.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" #include "content/browser/web_contents/file_chooser_impl.h" #include "content/browser/web_contents/web_contents_impl.h" #include "content/common/content_navigation_policy.h"
diff --git a/content/browser/browser_plugin/browser_plugin_popup_menu_helper_mac.h b/content/browser/browser_plugin/browser_plugin_popup_menu_helper_mac.h index bf3f6ed7..36601617 100644 --- a/content/browser/browser_plugin/browser_plugin_popup_menu_helper_mac.h +++ b/content/browser/browser_plugin/browser_plugin_popup_menu_helper_mac.h
@@ -6,7 +6,7 @@ #define CONTENT_BROWSER_BROWSER_PLUGIN_BROWSER_PLUGIN_POPUP_MENU_HELPER_MAC_H_ #include "base/macros.h" -#include "content/browser/frame_host/popup_menu_helper_mac.h" +#include "content/browser/renderer_host/popup_menu_helper_mac.h" #include "mojo/public/cpp/bindings/pending_remote.h" #include "third_party/blink/public/mojom/choosers/popup_menu.mojom.h"
diff --git a/content/browser/client_hints/client_hints.cc b/content/browser/client_hints/client_hints.cc index 3be768c3..41282852 100644 --- a/content/browser/client_hints/client_hints.cc +++ b/content/browser/client_hints/client_hints.cc
@@ -18,10 +18,10 @@ #include "base/time/time.h" #include "build/build_config.h" #include "content/browser/devtools/devtools_instrumentation.h" -#include "content/browser/frame_host/frame_tree.h" -#include "content/browser/frame_host/frame_tree_node.h" -#include "content/browser/frame_host/navigator.h" -#include "content/browser/frame_host/navigator_delegate.h" +#include "content/browser/renderer_host/frame_tree.h" +#include "content/browser/renderer_host/frame_tree_node.h" +#include "content/browser/renderer_host/navigator.h" +#include "content/browser/renderer_host/navigator_delegate.h" #include "content/browser/renderer_host/render_view_host_impl.h" #include "content/public/browser/browser_thread.h" #include "content/public/browser/host_zoom_map.h"
diff --git a/content/browser/cross_origin_opener_policy_browsertest.cc b/content/browser/cross_origin_opener_policy_browsertest.cc index 85bd592..46a1ff73 100644 --- a/content/browser/cross_origin_opener_policy_browsertest.cc +++ b/content/browser/cross_origin_opener_policy_browsertest.cc
@@ -5,8 +5,8 @@ #include "base/test/bind_test_util.h" #include "base/test/scoped_feature_list.h" #include "components/network_session_configurator/common/network_switches.h" -#include "content/browser/frame_host/navigation_request.h" -#include "content/browser/frame_host/render_frame_host_impl.h" +#include "content/browser/renderer_host/navigation_request.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" #include "content/browser/renderer_host/render_process_host_impl.h" #include "content/browser/web_contents/web_contents_impl.h" #include "content/common/content_navigation_policy.h"
diff --git a/content/browser/cross_site_transfer_browsertest.cc b/content/browser/cross_site_transfer_browsertest.cc index cf3c5a9..571b9b16 100644 --- a/content/browser/cross_site_transfer_browsertest.cc +++ b/content/browser/cross_site_transfer_browsertest.cc
@@ -12,8 +12,8 @@ #include "base/run_loop.h" #include "base/strings/stringprintf.h" #include "content/browser/child_process_security_policy_impl.h" -#include "content/browser/frame_host/frame_tree_node.h" -#include "content/browser/frame_host/render_frame_host_impl.h" +#include "content/browser/renderer_host/frame_tree_node.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" #include "content/browser/web_contents/web_contents_impl.h" #include "content/common/frame_messages.h" #include "content/public/browser/navigation_entry.h"
diff --git a/content/browser/devtools/browser_devtools_agent_host.cc b/content/browser/devtools/browser_devtools_agent_host.cc index f7c02396..55efb9d 100644 --- a/content/browser/devtools/browser_devtools_agent_host.cc +++ b/content/browser/devtools/browser_devtools_agent_host.cc
@@ -22,7 +22,7 @@ #include "content/browser/devtools/protocol/target_handler.h" #include "content/browser/devtools/protocol/tethering_handler.h" #include "content/browser/devtools/protocol/tracing_handler.h" -#include "content/browser/frame_host/frame_tree_node.h" +#include "content/browser/renderer_host/frame_tree_node.h" namespace content {
diff --git a/content/browser/devtools/devtools_agent_host_impl.cc b/content/browser/devtools/devtools_agent_host_impl.cc index 762a4953..61f2d69 100644 --- a/content/browser/devtools/devtools_agent_host_impl.cc +++ b/content/browser/devtools/devtools_agent_host_impl.cc
@@ -22,7 +22,7 @@ #include "content/browser/devtools/service_worker_devtools_manager.h" #include "content/browser/devtools/shared_worker_devtools_agent_host.h" #include "content/browser/devtools/shared_worker_devtools_manager.h" -#include "content/browser/frame_host/frame_tree_node.h" +#include "content/browser/renderer_host/frame_tree_node.h" #include "content/browser/renderer_host/render_view_host_impl.h" #include "content/public/browser/browser_thread.h" #include "content/public/browser/content_browser_client.h"
diff --git a/content/browser/devtools/devtools_frame_trace_recorder.cc b/content/browser/devtools/devtools_frame_trace_recorder.cc index e9b8313..14d7a57 100644 --- a/content/browser/devtools/devtools_frame_trace_recorder.cc +++ b/content/browser/devtools/devtools_frame_trace_recorder.cc
@@ -16,7 +16,7 @@ #include "build/build_config.h" #include "cc/trees/render_frame_metadata.h" #include "content/browser/devtools/devtools_traceable_screenshot.h" -#include "content/browser/frame_host/render_frame_host_impl.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" #include "content/browser/renderer_host/render_widget_host_view_base.h" #include "third_party/skia/include/core/SkBitmap.h" #include "ui/gfx/geometry/size.h"
diff --git a/content/browser/devtools/devtools_instrumentation.cc b/content/browser/devtools/devtools_instrumentation.cc index 097f8fb..315b0520 100644 --- a/content/browser/devtools/devtools_instrumentation.cc +++ b/content/browser/devtools/devtools_instrumentation.cc
@@ -21,8 +21,8 @@ #include "content/browser/devtools/protocol/target_handler.h" #include "content/browser/devtools/render_frame_devtools_agent_host.h" #include "content/browser/devtools/service_worker_devtools_agent_host.h" -#include "content/browser/frame_host/frame_tree_node.h" -#include "content/browser/frame_host/navigation_request.h" +#include "content/browser/renderer_host/frame_tree_node.h" +#include "content/browser/renderer_host/navigation_request.h" #include "content/browser/web_contents/web_contents_impl.h" #include "content/browser/web_package/signed_exchange_envelope.h" #include "content/common/navigation_params.mojom.h"
diff --git a/content/browser/devtools/devtools_issue_storage_browsertest.cc b/content/browser/devtools/devtools_issue_storage_browsertest.cc index 0dcf3f334..eb1747a 100644 --- a/content/browser/devtools/devtools_issue_storage_browsertest.cc +++ b/content/browser/devtools/devtools_issue_storage_browsertest.cc
@@ -8,8 +8,8 @@ #include "content/browser/devtools/protocol/audits.h" #include "content/browser/devtools/protocol/devtools_protocol_test_support.h" #include "content/browser/devtools/render_frame_devtools_agent_host.h" -#include "content/browser/frame_host/frame_tree_node.h" -#include "content/browser/frame_host/render_frame_host_impl.h" +#include "content/browser/renderer_host/frame_tree_node.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" #include "content/browser/web_contents/web_contents_impl.h" #include "content/public/browser/devtools_agent_host.h" #include "content/public/browser/devtools_agent_host_client.h"
diff --git a/content/browser/devtools/devtools_session.cc b/content/browser/devtools/devtools_session.cc index 8a96b68..3adbe15 100644 --- a/content/browser/devtools/devtools_session.cc +++ b/content/browser/devtools/devtools_session.cc
@@ -14,7 +14,7 @@ #include "content/browser/devtools/protocol/devtools_domain_handler.h" #include "content/browser/devtools/protocol/protocol.h" #include "content/browser/devtools/render_frame_devtools_agent_host.h" -#include "content/browser/frame_host/render_frame_host_impl.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" #include "content/public/browser/devtools_external_agent_proxy_delegate.h" #include "content/public/browser/devtools_manager_delegate.h" #include "third_party/inspector_protocol/crdtp/cbor.h"
diff --git a/content/browser/devtools/devtools_url_loader_interceptor.cc b/content/browser/devtools/devtools_url_loader_interceptor.cc index 3d180ae9..787aadeb 100644 --- a/content/browser/devtools/devtools_url_loader_interceptor.cc +++ b/content/browser/devtools/devtools_url_loader_interceptor.cc
@@ -14,8 +14,8 @@ #include "base/unguessable_token.h" #include "content/browser/devtools/protocol/network.h" #include "content/browser/devtools/protocol/network_handler.h" -#include "content/browser/frame_host/frame_tree_node.h" #include "content/browser/loader/download_utils_impl.h" +#include "content/browser/renderer_host/frame_tree_node.h" #include "content/public/browser/browser_task_traits.h" #include "content/public/browser/storage_partition.h" #include "content/public/common/content_client.h"
diff --git a/content/browser/devtools/protocol/audits_handler.cc b/content/browser/devtools/protocol/audits_handler.cc index 99aeb89..b772fe0 100644 --- a/content/browser/devtools/protocol/audits_handler.cc +++ b/content/browser/devtools/protocol/audits_handler.cc
@@ -7,7 +7,7 @@ #include "content/browser/devtools/devtools_agent_host_impl.h" #include "content/browser/devtools/devtools_issue_storage.h" #include "content/browser/devtools/render_frame_devtools_agent_host.h" -#include "content/browser/frame_host/frame_tree_node.h" +#include "content/browser/renderer_host/frame_tree_node.h" #include "content/public/browser/web_contents.h" namespace content {
diff --git a/content/browser/devtools/protocol/audits_handler.h b/content/browser/devtools/protocol/audits_handler.h index f80587a..796da2b 100644 --- a/content/browser/devtools/protocol/audits_handler.h +++ b/content/browser/devtools/protocol/audits_handler.h
@@ -8,7 +8,7 @@ #include "base/macros.h" #include "content/browser/devtools/protocol/audits.h" #include "content/browser/devtools/protocol/devtools_domain_handler.h" -#include "content/browser/frame_host/render_frame_host_impl.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" #include "mojo/public/cpp/bindings/remote.h" namespace content {
diff --git a/content/browser/devtools/protocol/background_service_handler.cc b/content/browser/devtools/protocol/background_service_handler.cc index 1775fd1..44fabd1 100644 --- a/content/browser/devtools/protocol/background_service_handler.cc +++ b/content/browser/devtools/protocol/background_service_handler.cc
@@ -5,7 +5,7 @@ #include "content/browser/devtools/protocol/background_service_handler.h" #include "base/metrics/histogram_functions.h" -#include "content/browser/frame_host/frame_tree.h" +#include "content/browser/renderer_host/frame_tree.h" #include "content/browser/service_worker/service_worker_version.h" #include "content/browser/storage_partition_impl.h" #include "content/public/browser/render_process_host.h"
diff --git a/content/browser/devtools/protocol/devtools_protocol_browsertest.cc b/content/browser/devtools/protocol/devtools_protocol_browsertest.cc index 1685382..b99a2a808 100644 --- a/content/browser/devtools/protocol/devtools_protocol_browsertest.cc +++ b/content/browser/devtools/protocol/devtools_protocol_browsertest.cc
@@ -25,7 +25,7 @@ #include "content/browser/devtools/protocol/devtools_download_manager_delegate.h" #include "content/browser/devtools/protocol/devtools_protocol_test_support.h" #include "content/browser/download/download_manager_impl.h" -#include "content/browser/frame_host/navigator.h" +#include "content/browser/renderer_host/navigator.h" #include "content/browser/renderer_host/render_widget_host_view_base.h" #include "content/browser/service_worker/embedded_worker_test_helper.h" #include "content/browser/web_contents/web_contents_impl.h"
diff --git a/content/browser/devtools/protocol/dom_handler.cc b/content/browser/devtools/protocol/dom_handler.cc index ccc1376e..721cfb4 100644 --- a/content/browser/devtools/protocol/dom_handler.cc +++ b/content/browser/devtools/protocol/dom_handler.cc
@@ -7,7 +7,7 @@ #include "base/strings/utf_string_conversions.h" #include "build/build_config.h" #include "content/browser/child_process_security_policy_impl.h" -#include "content/browser/frame_host/render_frame_host_impl.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" namespace content { namespace protocol {
diff --git a/content/browser/devtools/protocol/emulation_handler.cc b/content/browser/devtools/protocol/emulation_handler.cc index 902c1920..7f53939 100644 --- a/content/browser/devtools/protocol/emulation_handler.cc +++ b/content/browser/devtools/protocol/emulation_handler.cc
@@ -11,8 +11,8 @@ #include "base/strings/string_util.h" #include "build/build_config.h" #include "content/browser/devtools/devtools_agent_host_impl.h" -#include "content/browser/frame_host/render_frame_host_impl.h" #include "content/browser/renderer_host/input/touch_emulator.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" #include "content/browser/renderer_host/render_widget_host_impl.h" #include "content/browser/web_contents/web_contents_impl.h" #include "content/common/widget_messages.h"
diff --git a/content/browser/devtools/protocol/handler_helpers.cc b/content/browser/devtools/protocol/handler_helpers.cc index 7fbd42d..97c1b79 100644 --- a/content/browser/devtools/protocol/handler_helpers.cc +++ b/content/browser/devtools/protocol/handler_helpers.cc
@@ -3,7 +3,7 @@ // found in the LICENSE file. #include "content/browser/devtools/protocol/handler_helpers.h" -#include "content/browser/frame_host/frame_tree_node.h" +#include "content/browser/renderer_host/frame_tree_node.h" namespace content {
diff --git a/content/browser/devtools/protocol/input_handler.cc b/content/browser/devtools/protocol/input_handler.cc index 53d74a4..8c47453 100644 --- a/content/browser/devtools/protocol/input_handler.cc +++ b/content/browser/devtools/protocol/input_handler.cc
@@ -15,9 +15,9 @@ #include "base/trace_event/trace_event.h" #include "content/browser/devtools/devtools_agent_host_impl.h" #include "content/browser/devtools/protocol/native_input_event_builder.h" -#include "content/browser/frame_host/render_frame_host_impl.h" #include "content/browser/renderer_host/input/synthetic_pointer_action.h" #include "content/browser/renderer_host/input/touch_emulator.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" #include "content/browser/renderer_host/render_widget_host_impl.h" #include "content/browser/renderer_host/render_widget_host_input_event_router.h" #include "content/browser/renderer_host/render_widget_host_view_base.h"
diff --git a/content/browser/devtools/protocol/inspector_handler.cc b/content/browser/devtools/protocol/inspector_handler.cc index a500145..226999e 100644 --- a/content/browser/devtools/protocol/inspector_handler.cc +++ b/content/browser/devtools/protocol/inspector_handler.cc
@@ -5,7 +5,7 @@ #include "content/browser/devtools/protocol/inspector_handler.h" #include "content/browser/devtools/devtools_agent_host_impl.h" -#include "content/browser/frame_host/render_frame_host_impl.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" namespace content { namespace protocol {
diff --git a/content/browser/devtools/protocol/io_handler.cc b/content/browser/devtools/protocol/io_handler.cc index c49d8da..f3e1503 100644 --- a/content/browser/devtools/protocol/io_handler.cc +++ b/content/browser/devtools/protocol/io_handler.cc
@@ -16,7 +16,7 @@ #include "content/browser/blob_storage/chrome_blob_storage_context.h" #include "content/browser/devtools/devtools_io_context.h" #include "content/browser/devtools/devtools_stream_blob.h" -#include "content/browser/frame_host/render_frame_host_impl.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" #include "content/public/browser/browser_context.h" #include "content/public/browser/browser_thread.h"
diff --git a/content/browser/devtools/protocol/network_handler.cc b/content/browser/devtools/protocol/network_handler.cc index af487cf8..38ac32bb3 100644 --- a/content/browser/devtools/protocol/network_handler.cc +++ b/content/browser/devtools/protocol/network_handler.cc
@@ -32,9 +32,9 @@ #include "content/browser/devtools/protocol/security.h" #include "content/browser/devtools/service_worker_devtools_agent_host.h" #include "content/browser/devtools/service_worker_devtools_manager.h" -#include "content/browser/frame_host/frame_tree_node.h" -#include "content/browser/frame_host/navigation_request.h" -#include "content/browser/frame_host/render_frame_host_impl.h" +#include "content/browser/renderer_host/frame_tree_node.h" +#include "content/browser/renderer_host/navigation_request.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" #include "content/browser/storage_partition_impl.h" #include "content/browser/web_package/signed_exchange_envelope.h" #include "content/browser/web_package/signed_exchange_error.h"
diff --git a/content/browser/devtools/protocol/page_handler.cc b/content/browser/devtools/protocol/page_handler.cc index f1aef41..e8dac61 100644 --- a/content/browser/devtools/protocol/page_handler.cc +++ b/content/browser/devtools/protocol/page_handler.cc
@@ -30,9 +30,9 @@ #include "content/browser/devtools/protocol/devtools_mhtml_helper.h" #include "content/browser/devtools/protocol/emulation_handler.h" #include "content/browser/devtools/protocol/handler_helpers.h" -#include "content/browser/frame_host/navigation_request.h" -#include "content/browser/frame_host/navigator.h" #include "content/browser/manifest/manifest_manager_host.h" +#include "content/browser/renderer_host/navigation_request.h" +#include "content/browser/renderer_host/navigator.h" #include "content/browser/renderer_host/render_widget_host_impl.h" #include "content/browser/renderer_host/render_widget_host_view_base.h" #include "content/browser/web_contents/web_contents_impl.h"
diff --git a/content/browser/devtools/protocol/security_handler.cc b/content/browser/devtools/protocol/security_handler.cc index 9504ebcb..f8fe6f6 100644 --- a/content/browser/devtools/protocol/security_handler.cc +++ b/content/browser/devtools/protocol/security_handler.cc
@@ -11,7 +11,7 @@ #include "base/base64.h" #include "content/browser/devtools/devtools_agent_host_impl.h" -#include "content/browser/frame_host/render_frame_host_impl.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" #include "content/public/browser/back_forward_cache.h" #include "content/public/browser/navigation_controller.h" #include "content/public/browser/navigation_entry.h"
diff --git a/content/browser/devtools/protocol/service_worker_handler.cc b/content/browser/devtools/protocol/service_worker_handler.cc index f228c8e..c81a5eb 100644 --- a/content/browser/devtools/protocol/service_worker_handler.cc +++ b/content/browser/devtools/protocol/service_worker_handler.cc
@@ -15,8 +15,8 @@ #include "content/browser/devtools/service_worker_devtools_agent_host.h" #include "content/browser/devtools/service_worker_devtools_manager.h" #include "content/browser/devtools/shared_worker_devtools_manager.h" -#include "content/browser/frame_host/frame_tree.h" -#include "content/browser/frame_host/frame_tree_node.h" +#include "content/browser/renderer_host/frame_tree.h" +#include "content/browser/renderer_host/frame_tree_node.h" #include "content/browser/service_worker/embedded_worker_status.h" #include "content/browser/service_worker/service_worker_context_watcher.h" #include "content/browser/service_worker/service_worker_context_wrapper.h"
diff --git a/content/browser/devtools/protocol/target_auto_attacher.cc b/content/browser/devtools/protocol/target_auto_attacher.cc index 666548fd..62b83c23 100644 --- a/content/browser/devtools/protocol/target_auto_attacher.cc +++ b/content/browser/devtools/protocol/target_auto_attacher.cc
@@ -8,10 +8,10 @@ #include "content/browser/devtools/devtools_renderer_channel.h" #include "content/browser/devtools/render_frame_devtools_agent_host.h" #include "content/browser/devtools/service_worker_devtools_agent_host.h" -#include "content/browser/frame_host/frame_tree.h" -#include "content/browser/frame_host/frame_tree_node.h" -#include "content/browser/frame_host/navigation_request.h" -#include "content/browser/frame_host/render_frame_host_impl.h" +#include "content/browser/renderer_host/frame_tree.h" +#include "content/browser/renderer_host/frame_tree_node.h" +#include "content/browser/renderer_host/navigation_request.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" #include "content/browser/web_contents/web_contents_impl.h" namespace content {
diff --git a/content/browser/devtools/protocol/target_handler.cc b/content/browser/devtools/protocol/target_handler.cc index d83bf342..2f92591 100644 --- a/content/browser/devtools/protocol/target_handler.cc +++ b/content/browser/devtools/protocol/target_handler.cc
@@ -19,7 +19,7 @@ #include "content/browser/devtools/devtools_agent_host_impl.h" #include "content/browser/devtools/devtools_manager.h" #include "content/browser/devtools/render_frame_devtools_agent_host.h" -#include "content/browser/frame_host/navigation_request.h" +#include "content/browser/renderer_host/navigation_request.h" #include "content/browser/web_contents/web_contents_impl.h" #include "content/public/browser/browser_context.h" #include "content/public/browser/devtools_agent_host_client.h"
diff --git a/content/browser/devtools/protocol/tracing_handler.cc b/content/browser/devtools/protocol/tracing_handler.cc index b735a67..6a48c84 100644 --- a/content/browser/devtools/protocol/tracing_handler.cc +++ b/content/browser/devtools/protocol/tracing_handler.cc
@@ -30,11 +30,11 @@ #include "content/browser/devtools/devtools_stream_file.h" #include "content/browser/devtools/devtools_traceable_screenshot.h" #include "content/browser/devtools/devtools_video_consumer.h" -#include "content/browser/frame_host/frame_tree.h" -#include "content/browser/frame_host/frame_tree_node.h" -#include "content/browser/frame_host/navigation_request.h" -#include "content/browser/frame_host/render_frame_host_impl.h" #include "content/browser/gpu/gpu_process_host.h" +#include "content/browser/renderer_host/frame_tree.h" +#include "content/browser/renderer_host/frame_tree_node.h" +#include "content/browser/renderer_host/navigation_request.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" #include "content/browser/renderer_host/render_widget_host_impl.h" #include "content/browser/tracing/tracing_controller_impl.h" #include "content/public/browser/browser_task_traits.h"
diff --git a/content/browser/devtools/protocol/webauthn_handler.cc b/content/browser/devtools/protocol/webauthn_handler.cc index 0221082..88c0303 100644 --- a/content/browser/devtools/protocol/webauthn_handler.cc +++ b/content/browser/devtools/protocol/webauthn_handler.cc
@@ -11,7 +11,7 @@ #include "base/strings/string_number_conversions.h" #include "base/strings/string_piece.h" -#include "content/browser/frame_host/render_frame_host_impl.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" #include "content/browser/webauth/authenticator_environment_impl.h" #include "content/browser/webauth/virtual_authenticator.h" #include "content/browser/webauth/virtual_fido_discovery_factory.h"
diff --git a/content/browser/devtools/render_frame_devtools_agent_host.cc b/content/browser/devtools/render_frame_devtools_agent_host.cc index 3afed9ba..48186fa 100644 --- a/content/browser/devtools/render_frame_devtools_agent_host.cc +++ b/content/browser/devtools/render_frame_devtools_agent_host.cc
@@ -41,8 +41,8 @@ #include "content/browser/devtools/protocol/storage_handler.h" #include "content/browser/devtools/protocol/target_handler.h" #include "content/browser/devtools/protocol/tracing_handler.h" -#include "content/browser/frame_host/navigation_request.h" -#include "content/browser/frame_host/render_frame_host_impl.h" +#include "content/browser/renderer_host/navigation_request.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" #include "content/browser/renderer_host/render_process_host_impl.h" #include "content/browser/renderer_host/render_view_host_impl.h" #include "content/browser/site_instance_impl.h"
diff --git a/content/browser/devtools/render_frame_devtools_agent_host_browsertest.cc b/content/browser/devtools/render_frame_devtools_agent_host_browsertest.cc index be8f65f..d29622e 100644 --- a/content/browser/devtools/render_frame_devtools_agent_host_browsertest.cc +++ b/content/browser/devtools/render_frame_devtools_agent_host_browsertest.cc
@@ -3,7 +3,7 @@ // found in the LICENSE file. #include "content/browser/devtools/render_frame_devtools_agent_host.h" -#include "content/browser/frame_host/frame_tree_node.h" +#include "content/browser/renderer_host/frame_tree_node.h" #include "content/browser/web_contents/web_contents_impl.h" #include "content/public/browser/devtools_agent_host.h" #include "content/public/browser/devtools_agent_host_client.h"
diff --git a/content/browser/devtools/site_per_process_devtools_browsertest.cc b/content/browser/devtools/site_per_process_devtools_browsertest.cc index 292f525..309bd4e 100644 --- a/content/browser/devtools/site_per_process_devtools_browsertest.cc +++ b/content/browser/devtools/site_per_process_devtools_browsertest.cc
@@ -5,7 +5,7 @@ #include "base/run_loop.h" #include "build/build_config.h" #include "content/browser/devtools/render_frame_devtools_agent_host.h" -#include "content/browser/frame_host/frame_tree.h" +#include "content/browser/renderer_host/frame_tree.h" #include "content/browser/site_per_process_browsertest.h" #include "content/browser/web_contents/web_contents_impl.h" #include "content/public/browser/browser_context.h"
diff --git a/content/browser/display_cutout/display_cutout_browsertest.cc b/content/browser/display_cutout/display_cutout_browsertest.cc index 234e7fc..a9b16fa4 100644 --- a/content/browser/display_cutout/display_cutout_browsertest.cc +++ b/content/browser/display_cutout/display_cutout_browsertest.cc
@@ -9,7 +9,7 @@ #include "build/build_config.h" #include "components/ukm/test_ukm_recorder.h" #include "content/browser/display_cutout/display_cutout_constants.h" -#include "content/browser/frame_host/frame_tree_node.h" +#include "content/browser/renderer_host/frame_tree_node.h" #include "content/browser/web_contents/web_contents_impl.h" #include "content/public/browser/render_view_host.h" #include "content/public/browser/web_contents_delegate.h"
diff --git a/content/browser/font_access/font_access_manager_impl_unittest.cc b/content/browser/font_access/font_access_manager_impl_unittest.cc index 193ed61..6d2b73b 100644 --- a/content/browser/font_access/font_access_manager_impl_unittest.cc +++ b/content/browser/font_access/font_access_manager_impl_unittest.cc
@@ -9,8 +9,8 @@ #include "base/test/scoped_feature_list.h" #include "build/build_config.h" #include "content/browser/font_access/font_enumeration_cache.h" -#include "content/browser/frame_host/render_frame_host_impl.h" #include "content/browser/permissions/permission_controller_impl.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" #include "content/public/test/mock_permission_manager.h" #include "content/public/test/test_browser_context.h" #include "content/test/test_render_frame_host.h"
diff --git a/content/browser/initiator_csp_context.h b/content/browser/initiator_csp_context.h index a9d214ff..d7e8b3bc 100644 --- a/content/browser/initiator_csp_context.h +++ b/content/browser/initiator_csp_context.h
@@ -5,7 +5,7 @@ #ifndef CONTENT_BROWSER_INITIATOR_CSP_CONTEXT_H_ #define CONTENT_BROWSER_INITIATOR_CSP_CONTEXT_H_ -#include "content/browser/frame_host/render_frame_host_impl.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" #include "content/common/navigation_params.h" #include "mojo/public/cpp/bindings/pending_remote.h" #include "mojo/public/cpp/bindings/remote.h"
diff --git a/content/browser/isolated_origin_browsertest.cc b/content/browser/isolated_origin_browsertest.cc index b28aa5b..d19dbaed 100644 --- a/content/browser/isolated_origin_browsertest.cc +++ b/content/browser/isolated_origin_browsertest.cc
@@ -15,7 +15,7 @@ #include "components/network_session_configurator/common/network_switches.h" #include "content/browser/bad_message.h" #include "content/browser/child_process_security_policy_impl.h" -#include "content/browser/frame_host/navigator.h" +#include "content/browser/renderer_host/navigator.h" #include "content/browser/renderer_host/render_process_host_impl.h" #include "content/browser/storage_partition_impl.h" #include "content/browser/web_contents/web_contents_impl.h"
diff --git a/content/browser/loader/navigation_url_loader_impl_unittest.cc b/content/browser/loader/navigation_url_loader_impl_unittest.cc index 62524b5..e0cb41128 100644 --- a/content/browser/loader/navigation_url_loader_impl_unittest.cc +++ b/content/browser/loader/navigation_url_loader_impl_unittest.cc
@@ -14,10 +14,10 @@ #include "base/task/post_task.h" #include "base/test/scoped_feature_list.h" #include "base/unguessable_token.h" -#include "content/browser/frame_host/navigation_request_info.h" #include "content/browser/loader/navigation_loader_interceptor.h" #include "content/browser/loader/navigation_url_loader.h" #include "content/browser/loader/single_request_url_loader_factory.h" +#include "content/browser/renderer_host/navigation_request_info.h" #include "content/browser/web_package/prefetched_signed_exchange_cache.h" #include "content/common/navigation_params.h" #include "content/common/navigation_params.mojom.h"
diff --git a/content/browser/loader/navigation_url_loader_unittest.cc b/content/browser/loader/navigation_url_loader_unittest.cc index 8543436..387f55cf 100644 --- a/content/browser/loader/navigation_url_loader_unittest.cc +++ b/content/browser/loader/navigation_url_loader_unittest.cc
@@ -11,8 +11,8 @@ #include "base/memory/ref_counted.h" #include "base/run_loop.h" #include "base/unguessable_token.h" -#include "content/browser/frame_host/navigation_request_info.h" #include "content/browser/loader/navigation_url_loader.h" +#include "content/browser/renderer_host/navigation_request_info.h" #include "content/browser/web_package/prefetched_signed_exchange_cache.h" #include "content/common/navigation_params.h" #include "content/public/browser/browser_context.h"
diff --git a/content/browser/media/capture/screen_capture_device_android_unittest.cc b/content/browser/media/capture/screen_capture_device_android_unittest.cc index 5690ef1c..79ebeaac 100644 --- a/content/browser/media/capture/screen_capture_device_android_unittest.cc +++ b/content/browser/media/capture/screen_capture_device_android_unittest.cc
@@ -34,6 +34,14 @@ base::TimeTicks reference_time, base::TimeDelta timestamp, int frame_feedback_id)); + MOCK_METHOD6(OnIncomingCapturedExternalBuffer, + void(gfx::GpuMemoryBufferHandle handle, + std::unique_ptr<Buffer::ScopedAccessPermission> + read_access_permission, + const media::VideoCaptureFormat& format, + const gfx::ColorSpace& color_space, + base::TimeTicks reference_time, + base::TimeDelta timestamp)); MOCK_METHOD0(DoReserveOutputBuffer, void(void)); MOCK_METHOD0(DoOnIncomingCapturedBuffer, void(void)); MOCK_METHOD0(DoOnIncomingCapturedVideoFrame, void(void));
diff --git a/content/browser/media/session/media_session_browsertest.cc b/content/browser/media/session/media_session_browsertest.cc index 80be9e8a..1e068f4 100644 --- a/content/browser/media/session/media_session_browsertest.cc +++ b/content/browser/media/session/media_session_browsertest.cc
@@ -12,7 +12,7 @@ #include "base/synchronization/lock.h" #include "base/test/scoped_feature_list.h" #include "build/build_config.h" -#include "content/browser/frame_host/render_frame_host_impl.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" #include "content/public/browser/render_frame_host.h" #include "content/public/browser/web_contents.h" #include "content/public/browser/web_contents_observer.h"
diff --git a/content/browser/media/session/media_session_impl_browsertest.cc b/content/browser/media/session/media_session_impl_browsertest.cc index 2030461a..8c3fdb5 100644 --- a/content/browser/media/session/media_session_impl_browsertest.cc +++ b/content/browser/media/session/media_session_impl_browsertest.cc
@@ -17,10 +17,10 @@ #include "base/test/metrics/histogram_tester.h" #include "base/test/simple_test_tick_clock.h" #include "build/build_config.h" -#include "content/browser/frame_host/render_frame_host_impl.h" #include "content/browser/media/session/audio_focus_delegate.h" #include "content/browser/media/session/mock_media_session_player_observer.h" #include "content/browser/media/session/mock_media_session_service_impl.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" #include "content/browser/web_contents/web_contents_impl.h" #include "content/public/browser/media_session.h" #include "content/public/browser/web_contents.h"
diff --git a/content/browser/navigation_browsertest.cc b/content/browser/navigation_browsertest.cc index f7d526e..9a41a328 100644 --- a/content/browser/navigation_browsertest.cc +++ b/content/browser/navigation_browsertest.cc
@@ -20,7 +20,7 @@ #include "components/network_session_configurator/common/network_switches.h" #include "content/browser/browser_url_handler_impl.h" #include "content/browser/child_process_security_policy_impl.h" -#include "content/browser/frame_host/navigation_request.h" +#include "content/browser/renderer_host/navigation_request.h" #include "content/browser/web_contents/web_contents_impl.h" #include "content/common/content_navigation_policy.h" #include "content/common/frame_messages.h"
diff --git a/content/browser/navigation_mhtml_browsertest.cc b/content/browser/navigation_mhtml_browsertest.cc index 0493aa29..2e159f4 100644 --- a/content/browser/navigation_mhtml_browsertest.cc +++ b/content/browser/navigation_mhtml_browsertest.cc
@@ -13,8 +13,8 @@ #include "base/strings/string_util.h" #include "base/test/bind_test_util.h" #include "base/threading/thread_restrictions.h" -#include "content/browser/frame_host/navigation_request.h" -#include "content/browser/frame_host/render_frame_host_impl.h" +#include "content/browser/renderer_host/navigation_request.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" #include "content/browser/web_contents/web_contents_impl.h" #include "content/public/test/browser_test.h" #include "content/public/test/browser_test_utils.h"
diff --git a/content/browser/network_service_restart_browsertest.cc b/content/browser/network_service_restart_browsertest.cc index 31a29c5..3215b0f 100644 --- a/content/browser/network_service_restart_browsertest.cc +++ b/content/browser/network_service_restart_browsertest.cc
@@ -17,9 +17,9 @@ #include "base/thread_annotations.h" #include "base/threading/thread_restrictions.h" #include "build/build_config.h" -#include "content/browser/frame_host/render_frame_host_impl.h" -#include "content/browser/frame_host/render_frame_message_filter.h" #include "content/browser/network_service_instance_impl.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" +#include "content/browser/renderer_host/render_frame_message_filter.h" #include "content/browser/renderer_host/render_process_host_impl.h" #include "content/browser/service_worker/embedded_worker_instance.h" #include "content/browser/service_worker/embedded_worker_status.h"
diff --git a/content/browser/performance_memory_browsertest.cc b/content/browser/performance_memory_browsertest.cc index b007c78..a01840b4 100644 --- a/content/browser/performance_memory_browsertest.cc +++ b/content/browser/performance_memory_browsertest.cc
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "content/browser/frame_host/frame_tree.h" +#include "content/browser/renderer_host/frame_tree.h" #include "content/browser/web_contents/web_contents_impl.h" #include "content/public/browser/web_contents.h" #include "content/public/test/browser_test.h"
diff --git a/content/browser/pointer_lock_browsertest.cc b/content/browser/pointer_lock_browsertest.cc index 0714a9e..97aa7b67 100644 --- a/content/browser/pointer_lock_browsertest.cc +++ b/content/browser/pointer_lock_browsertest.cc
@@ -8,7 +8,7 @@ #include "base/test/scoped_feature_list.h" #include "build/build_config.h" -#include "content/browser/frame_host/frame_tree.h" +#include "content/browser/renderer_host/frame_tree.h" #include "content/browser/renderer_host/render_widget_host_impl.h" #include "content/browser/renderer_host/render_widget_host_input_event_router.h" #include "content/browser/web_contents/web_contents_impl.h"
diff --git a/content/browser/portal/portal.h b/content/browser/portal/portal.h index 6d73ebb..30949e1 100644 --- a/content/browser/portal/portal.h +++ b/content/browser/portal/portal.h
@@ -8,7 +8,7 @@ #include <memory> #include <string> -#include "content/browser/frame_host/frame_tree_node.h" +#include "content/browser/renderer_host/frame_tree_node.h" #include "content/common/content_export.h" #include "content/common/frame.mojom.h" #include "content/public/browser/web_contents_delegate.h"
diff --git a/content/browser/portal/portal_browsertest.cc b/content/browser/portal/portal_browsertest.cc index 5679781..740439d2 100644 --- a/content/browser/portal/portal_browsertest.cc +++ b/content/browser/portal/portal_browsertest.cc
@@ -20,13 +20,13 @@ #include "components/download/public/common/download_item.h" #include "components/viz/host/host_frame_sink_manager.h" #include "content/browser/compositor/surface_utils.h" -#include "content/browser/frame_host/render_frame_host_impl.h" -#include "content/browser/frame_host/render_frame_host_manager.h" -#include "content/browser/frame_host/render_frame_proxy_host.h" #include "content/browser/portal/portal.h" #include "content/browser/renderer_host/input/synthetic_smooth_scroll_gesture.h" #include "content/browser/renderer_host/input/synthetic_tap_gesture.h" #include "content/browser/renderer_host/input/synthetic_touchpad_pinch_gesture.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" +#include "content/browser/renderer_host/render_frame_host_manager.h" +#include "content/browser/renderer_host/render_frame_proxy_host.h" #include "content/browser/renderer_host/render_widget_host_input_event_router.h" #include "content/browser/renderer_host/render_widget_host_view_base.h" #include "content/browser/renderer_host/render_widget_host_view_child_frame.h"
diff --git a/content/browser/portal/portal_navigation_throttle_browsertest.cc b/content/browser/portal/portal_navigation_throttle_browsertest.cc index 8f8133e4..5b0f86e 100644 --- a/content/browser/portal/portal_navigation_throttle_browsertest.cc +++ b/content/browser/portal/portal_navigation_throttle_browsertest.cc
@@ -8,9 +8,9 @@ #include "base/test/scoped_feature_list.h" #include "base/threading/thread_task_runner_handle.h" #include "base/time/time.h" -#include "content/browser/frame_host/render_frame_host_impl.h" #include "content/browser/portal/portal.h" #include "content/browser/portal/portal_navigation_throttle.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" #include "content/browser/web_contents/web_contents_impl.h" #include "content/public/test/browser_test.h" #include "content/public/test/browser_test_utils.h"
diff --git a/content/browser/renderer_host/back_forward_cache_can_store_document_result.h b/content/browser/renderer_host/back_forward_cache_can_store_document_result.h index e4dd837..1ffe151 100644 --- a/content/browser/renderer_host/back_forward_cache_can_store_document_result.h +++ b/content/browser/renderer_host/back_forward_cache_can_store_document_result.h
@@ -8,8 +8,8 @@ #include <bitset> #include <set> -#include "content/browser/frame_host/back_forward_cache_metrics.h" -#include "content/browser/frame_host/should_swap_browsing_instance.h" +#include "content/browser/renderer_host/back_forward_cache_metrics.h" +#include "content/browser/renderer_host/should_swap_browsing_instance.h" namespace content {
diff --git a/content/browser/renderer_host/media/video_capture_buffer_pool_unittest.cc b/content/browser/renderer_host/media/video_capture_buffer_pool_unittest.cc index f0d6fcaf..a52da08 100644 --- a/content/browser/renderer_host/media/video_capture_buffer_pool_unittest.cc +++ b/content/browser/renderer_host/media/video_capture_buffer_pool_unittest.cc
@@ -265,6 +265,47 @@ buffer4.reset(); } +TEST_P(VideoCaptureBufferPoolTest, BufferPoolExternal) { + constexpr int kInvalidId = -1; + std::vector<int> buffer_ids_to_drop; + + int buffer_id0 = pool_->ReserveIdForExternalBuffer(&buffer_ids_to_drop); + EXPECT_NE(buffer_id0, kInvalidId); + EXPECT_TRUE(buffer_ids_to_drop.empty()); + + int buffer_id1 = pool_->ReserveIdForExternalBuffer(&buffer_ids_to_drop); + EXPECT_NE(buffer_id1, kInvalidId); + EXPECT_TRUE(buffer_ids_to_drop.empty()); + + int buffer_id2 = pool_->ReserveIdForExternalBuffer(&buffer_ids_to_drop); + EXPECT_NE(buffer_id2, kInvalidId); + EXPECT_TRUE(buffer_ids_to_drop.empty()); + + buffer_ids_to_drop.clear(); + pool_->RelinquishExternalBufferReservation(buffer_id1); + int buffer_id3 = pool_->ReserveIdForExternalBuffer(&buffer_ids_to_drop); + EXPECT_NE(buffer_id3, kInvalidId); + EXPECT_EQ(buffer_ids_to_drop.size(), 1u); + EXPECT_EQ(buffer_ids_to_drop[0], buffer_id1); + + buffer_ids_to_drop.clear(); + pool_->RelinquishExternalBufferReservation(buffer_id0); + pool_->RelinquishExternalBufferReservation(buffer_id2); + pool_->RelinquishExternalBufferReservation(buffer_id3); + int buffer_id4 = pool_->ReserveIdForExternalBuffer(&buffer_ids_to_drop); + EXPECT_NE(buffer_id4, kInvalidId); + EXPECT_EQ(buffer_ids_to_drop.size(), 3u); + auto found0 = std::find(buffer_ids_to_drop.begin(), buffer_ids_to_drop.end(), + buffer_id0); + EXPECT_FALSE(found0 == buffer_ids_to_drop.end()); + auto found2 = std::find(buffer_ids_to_drop.begin(), buffer_ids_to_drop.end(), + buffer_id2); + EXPECT_FALSE(found2 == buffer_ids_to_drop.end()); + auto found3 = std::find(buffer_ids_to_drop.begin(), buffer_ids_to_drop.end(), + buffer_id3); + EXPECT_FALSE(found3 == buffer_ids_to_drop.end()); +} + INSTANTIATE_TEST_SUITE_P(All, VideoCaptureBufferPoolTest, testing::ValuesIn(kCapturePixelFormats));
diff --git a/content/browser/renderer_host/render_frame_host_manager.h b/content/browser/renderer_host/render_frame_host_manager.h index bead5656..a7470bd8e 100644 --- a/content/browser/renderer_host/render_frame_host_manager.h +++ b/content/browser/renderer_host/render_frame_host_manager.h
@@ -18,9 +18,9 @@ #include "base/macros.h" #include "base/memory/weak_ptr.h" #include "base/optional.h" -#include "content/browser/frame_host/back_forward_cache_impl.h" -#include "content/browser/frame_host/render_frame_host_impl.h" -#include "content/browser/frame_host/should_swap_browsing_instance.h" +#include "content/browser/renderer_host/back_forward_cache_impl.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" +#include "content/browser/renderer_host/should_swap_browsing_instance.h" #include "content/browser/site_instance_impl.h" #include "content/common/content_export.h" #include "content/public/browser/global_request_id.h"
diff --git a/content/browser/screen_orientation/screen_orientation_browsertest.cc b/content/browser/screen_orientation/screen_orientation_browsertest.cc index 164c6da..c64d8046 100644 --- a/content/browser/screen_orientation/screen_orientation_browsertest.cc +++ b/content/browser/screen_orientation/screen_orientation_browsertest.cc
@@ -8,8 +8,8 @@ #include "base/macros.h" #include "base/strings/stringprintf.h" #include "build/build_config.h" -#include "content/browser/frame_host/frame_tree.h" -#include "content/browser/frame_host/render_frame_host_impl.h" +#include "content/browser/renderer_host/frame_tree.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" #include "content/browser/renderer_host/render_widget_host_impl.h" #include "content/browser/web_contents/web_contents_impl.h" #include "content/common/page_messages.h"
diff --git a/content/browser/security_exploit_browsertest.cc b/content/browser/security_exploit_browsertest.cc index 6a99281..9f5d758a 100644 --- a/content/browser/security_exploit_browsertest.cc +++ b/content/browser/security_exploit_browsertest.cc
@@ -18,9 +18,9 @@ #include "content/browser/child_process_security_policy_impl.h" #include "content/browser/dom_storage/dom_storage_context_wrapper.h" #include "content/browser/dom_storage/session_storage_namespace_impl.h" -#include "content/browser/frame_host/navigator.h" -#include "content/browser/frame_host/render_frame_host_impl.h" -#include "content/browser/frame_host/render_frame_proxy_host.h" +#include "content/browser/renderer_host/navigator.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" +#include "content/browser/renderer_host/render_frame_proxy_host.h" #include "content/browser/renderer_host/render_process_host_impl.h" #include "content/browser/renderer_host/render_view_host_factory.h" #include "content/browser/renderer_host/render_view_host_impl.h"
diff --git a/content/browser/service_worker/service_worker_container_host.h b/content/browser/service_worker/service_worker_container_host.h index c8536743..0310de5 100644 --- a/content/browser/service_worker/service_worker_container_host.h +++ b/content/browser/service_worker/service_worker_container_host.h
@@ -14,7 +14,7 @@ #include "base/memory/weak_ptr.h" #include "base/optional.h" #include "base/time/time.h" -#include "content/browser/frame_host/back_forward_cache_metrics.h" +#include "content/browser/renderer_host/back_forward_cache_metrics.h" #include "content/browser/service_worker/service_worker_registration.h" #include "content/common/content_export.h" #include "content/public/browser/service_worker_client_info.h"
diff --git a/content/browser/service_worker/service_worker_container_host_unittest.cc b/content/browser/service_worker/service_worker_container_host_unittest.cc index 7a145dd..2087dca 100644 --- a/content/browser/service_worker/service_worker_container_host_unittest.cc +++ b/content/browser/service_worker/service_worker_container_host_unittest.cc
@@ -17,7 +17,7 @@ #include "base/scoped_observer.h" #include "base/test/scoped_feature_list.h" #include "base/threading/thread_task_runner_handle.h" -#include "content/browser/frame_host/frame_tree_node.h" +#include "content/browser/renderer_host/frame_tree_node.h" #include "content/browser/service_worker/embedded_worker_test_helper.h" #include "content/browser/service_worker/service_worker_context_core.h" #include "content/browser/service_worker/service_worker_context_core_observer.h"
diff --git a/content/browser/service_worker/service_worker_job_unittest.cc b/content/browser/service_worker/service_worker_job_unittest.cc index e2fcce1..3b06d34 100644 --- a/content/browser/service_worker/service_worker_job_unittest.cc +++ b/content/browser/service_worker/service_worker_job_unittest.cc
@@ -18,7 +18,7 @@ #include "base/test/scoped_feature_list.h" #include "base/test/test_simple_task_runner.h" #include "base/time/time.h" -#include "content/browser/frame_host/frame_tree_node.h" +#include "content/browser/renderer_host/frame_tree_node.h" #include "content/browser/service_worker/embedded_worker_status.h" #include "content/browser/service_worker/embedded_worker_test_helper.h" #include "content/browser/service_worker/fake_embedded_worker_instance_client.h"
diff --git a/content/browser/service_worker/service_worker_process_browsertest.cc b/content/browser/service_worker/service_worker_process_browsertest.cc index cae9309d..76455c7 100644 --- a/content/browser/service_worker/service_worker_process_browsertest.cc +++ b/content/browser/service_worker/service_worker_process_browsertest.cc
@@ -7,7 +7,7 @@ #include "base/run_loop.h" #include "base/test/bind_test_util.h" #include "base/test/scoped_feature_list.h" -#include "content/browser/frame_host/render_frame_host_impl.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" #include "content/browser/service_worker/service_worker_context_wrapper.h" #include "content/browser/web_contents/web_contents_impl.h" #include "content/public/browser/browser_context.h"
diff --git a/content/browser/service_worker/service_worker_test_utils.cc b/content/browser/service_worker/service_worker_test_utils.cc index 2164ab7..4296e47 100644 --- a/content/browser/service_worker/service_worker_test_utils.cc +++ b/content/browser/service_worker/service_worker_test_utils.cc
@@ -14,7 +14,7 @@ #include "base/barrier_closure.h" #include "base/test/bind_test_util.h" #include "base/time/time.h" -#include "content/browser/frame_host/frame_tree_node.h" +#include "content/browser/renderer_host/frame_tree_node.h" #include "content/browser/service_worker/embedded_worker_test_helper.h" #include "content/browser/service_worker/service_worker_consts.h" #include "content/browser/service_worker/service_worker_container_host.h"
diff --git a/content/browser/service_worker/service_worker_version.h b/content/browser/service_worker/service_worker_version.h index f813b9a..e32a0e1 100644 --- a/content/browser/service_worker/service_worker_version.h +++ b/content/browser/service_worker/service_worker_version.h
@@ -29,7 +29,7 @@ #include "base/time/time.h" #include "base/timer/timer.h" #include "components/services/storage/public/mojom/service_worker_storage_control.mojom.h" -#include "content/browser/frame_host/back_forward_cache_metrics.h" +#include "content/browser/renderer_host/back_forward_cache_metrics.h" #include "content/browser/service_worker/embedded_worker_instance.h" #include "content/browser/service_worker/embedded_worker_status.h" #include "content/browser/service_worker/service_worker_client_utils.h"
diff --git a/content/browser/service_worker/service_worker_version_unittest.cc b/content/browser/service_worker/service_worker_version_unittest.cc index 5463015..8afbab9c 100644 --- a/content/browser/service_worker/service_worker_version_unittest.cc +++ b/content/browser/service_worker/service_worker_version_unittest.cc
@@ -19,7 +19,7 @@ #include "base/test/scoped_feature_list.h" #include "base/test/simple_test_tick_clock.h" #include "base/time/time.h" -#include "content/browser/frame_host/frame_tree_node.h" +#include "content/browser/renderer_host/frame_tree_node.h" #include "content/browser/service_worker/embedded_worker_status.h" #include "content/browser/service_worker/embedded_worker_test_helper.h" #include "content/browser/service_worker/fake_embedded_worker_instance_client.h"
diff --git a/content/browser/site_instance_impl_unittest.cc b/content/browser/site_instance_impl_unittest.cc index 9fb07306..897ab5f 100644 --- a/content/browser/site_instance_impl_unittest.cc +++ b/content/browser/site_instance_impl_unittest.cc
@@ -20,8 +20,8 @@ #include "base/test/scoped_feature_list.h" #include "content/browser/browsing_instance.h" #include "content/browser/child_process_security_policy_impl.h" -#include "content/browser/frame_host/navigation_entry_impl.h" #include "content/browser/isolated_origin_util.h" +#include "content/browser/renderer_host/navigation_entry_impl.h" #include "content/browser/renderer_host/render_process_host_impl.h" #include "content/browser/renderer_host/render_view_host_impl.h" #include "content/browser/web_contents/web_contents_impl.h"
diff --git a/content/browser/site_per_process_browsertest.cc b/content/browser/site_per_process_browsertest.cc index 736ce2c..b2e80cb6 100644 --- a/content/browser/site_per_process_browsertest.cc +++ b/content/browser/site_per_process_browsertest.cc
@@ -51,22 +51,22 @@ #include "components/network_session_configurator/common/network_switches.h" #include "components/viz/common/features.h" #include "content/browser/child_process_security_policy_impl.h" -#include "content/browser/frame_host/cross_process_frame_connector.h" -#include "content/browser/frame_host/frame_navigation_entry.h" -#include "content/browser/frame_host/frame_tree.h" -#include "content/browser/frame_host/navigation_controller_impl.h" -#include "content/browser/frame_host/navigation_entry_impl.h" -#include "content/browser/frame_host/navigation_request.h" -#include "content/browser/frame_host/navigator.h" -#include "content/browser/frame_host/render_frame_host_impl.h" -#include "content/browser/frame_host/render_frame_proxy_host.h" #include "content/browser/gpu/compositor_util.h" +#include "content/browser/renderer_host/cross_process_frame_connector.h" +#include "content/browser/renderer_host/frame_navigation_entry.h" +#include "content/browser/renderer_host/frame_tree.h" #include "content/browser/renderer_host/input/input_router.h" #include "content/browser/renderer_host/input/synthetic_gesture.h" #include "content/browser/renderer_host/input/synthetic_gesture_target.h" #include "content/browser/renderer_host/input/synthetic_smooth_scroll_gesture.h" #include "content/browser/renderer_host/input/synthetic_tap_gesture.h" #include "content/browser/renderer_host/input/synthetic_touchscreen_pinch_gesture.h" +#include "content/browser/renderer_host/navigation_controller_impl.h" +#include "content/browser/renderer_host/navigation_entry_impl.h" +#include "content/browser/renderer_host/navigation_request.h" +#include "content/browser/renderer_host/navigator.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" +#include "content/browser/renderer_host/render_frame_proxy_host.h" #include "content/browser/renderer_host/render_view_host_impl.h" #include "content/browser/renderer_host/render_widget_host_input_event_router.h" #include "content/browser/renderer_host/render_widget_host_view_child_frame.h"
diff --git a/content/browser/site_per_process_unload_browsertest.cc b/content/browser/site_per_process_unload_browsertest.cc index d41e041..0fa56e64 100644 --- a/content/browser/site_per_process_unload_browsertest.cc +++ b/content/browser/site_per_process_unload_browsertest.cc
@@ -23,12 +23,12 @@ #include "base/time/time.h" #include "build/build_config.h" #include "components/network_session_configurator/common/network_switches.h" -#include "content/browser/frame_host/cross_process_frame_connector.h" -#include "content/browser/frame_host/frame_tree.h" -#include "content/browser/frame_host/navigation_controller_impl.h" -#include "content/browser/frame_host/navigation_request.h" -#include "content/browser/frame_host/navigator.h" -#include "content/browser/frame_host/render_frame_host_impl.h" +#include "content/browser/renderer_host/cross_process_frame_connector.h" +#include "content/browser/renderer_host/frame_tree.h" +#include "content/browser/renderer_host/navigation_controller_impl.h" +#include "content/browser/renderer_host/navigation_request.h" +#include "content/browser/renderer_host/navigator.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" #include "content/browser/renderer_host/render_widget_host_view_child_frame.h" #include "content/browser/web_contents/web_contents_impl.h" #include "content/common/content_navigation_policy.h"
diff --git a/content/browser/typemaps.gni b/content/browser/typemaps.gni deleted file mode 100644 index 288679f0..0000000 --- a/content/browser/typemaps.gni +++ /dev/null
@@ -1,8 +0,0 @@ -# Copyright 2019 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -typemaps = [ - "//content/browser/webauth/authenticator.typemap", - "//content/browser/webauth/virtual_authenticator.typemap", -]
diff --git a/content/browser/web_contents/aura/gesture_nav_simple.cc b/content/browser/web_contents/aura/gesture_nav_simple.cc index 92a59415..20f9dc29 100644 --- a/content/browser/web_contents/aura/gesture_nav_simple.cc +++ b/content/browser/web_contents/aura/gesture_nav_simple.cc
@@ -11,7 +11,7 @@ #include "base/metrics/user_metrics.h" #include "cc/paint/paint_flags.h" #include "components/vector_icons/vector_icons.h" -#include "content/browser/frame_host/navigation_controller_impl.h" +#include "content/browser/renderer_host/navigation_controller_impl.h" #include "content/browser/renderer_host/overscroll_controller.h" #include "content/browser/web_contents/aura/types.h" #include "content/browser/web_contents/web_contents_impl.h"
diff --git a/content/browser/web_contents/file_chooser_impl.cc b/content/browser/web_contents/file_chooser_impl.cc index 753c9a7c..c7f66e17 100644 --- a/content/browser/web_contents/file_chooser_impl.cc +++ b/content/browser/web_contents/file_chooser_impl.cc
@@ -6,8 +6,8 @@ #include "base/memory/ptr_util.h" #include "content/browser/child_process_security_policy_impl.h" -#include "content/browser/frame_host/render_frame_host_delegate.h" -#include "content/browser/frame_host/render_frame_host_impl.h" +#include "content/browser/renderer_host/render_frame_host_delegate.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" #include "content/browser/web_contents/web_contents_impl.h" #include "content/public/browser/browser_context.h" #include "content/public/browser/storage_partition.h"
diff --git a/content/browser/web_contents/file_chooser_impl_browsertest.cc b/content/browser/web_contents/file_chooser_impl_browsertest.cc index ba15c37..75449632c 100644 --- a/content/browser/web_contents/file_chooser_impl_browsertest.cc +++ b/content/browser/web_contents/file_chooser_impl_browsertest.cc
@@ -6,7 +6,7 @@ #include "base/bind.h" #include "base/run_loop.h" -#include "content/browser/frame_host/render_frame_host_impl.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" #include "content/public/test/browser_test.h" #include "content/public/test/browser_test_utils.h" #include "content/public/test/content_browser_test.h"
diff --git a/content/browser/web_contents/frame_tree_node_id_registry.cc b/content/browser/web_contents/frame_tree_node_id_registry.cc index e7a9308..ca501ce 100644 --- a/content/browser/web_contents/frame_tree_node_id_registry.cc +++ b/content/browser/web_contents/frame_tree_node_id_registry.cc
@@ -5,7 +5,7 @@ #include "content/browser/web_contents/frame_tree_node_id_registry.h" #include "base/bind_helpers.h" -#include "content/browser/frame_host/frame_tree_node.h" +#include "content/browser/renderer_host/frame_tree_node.h" #include "content/public/browser/web_contents.h" namespace content {
diff --git a/content/browser/web_contents/web_contents_android.h b/content/browser/web_contents/web_contents_android.h index b473f2a..63fd9307 100644 --- a/content/browser/web_contents/web_contents_android.h +++ b/content/browser/web_contents/web_contents_android.h
@@ -13,7 +13,7 @@ #include "base/compiler_specific.h" #include "base/macros.h" #include "base/memory/weak_ptr.h" -#include "content/browser/frame_host/navigation_controller_android.h" +#include "content/browser/renderer_host/navigation_controller_android.h" #include "content/browser/renderer_host/render_widget_host_view_android.h" #include "content/common/content_export.h"
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc index 77d1cd5..d13b9cd 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc
@@ -65,13 +65,6 @@ #include "content/browser/download/mhtml_generation_manager.h" #include "content/browser/download/save_package.h" #include "content/browser/find_request_manager.h" -#include "content/browser/frame_host/cross_process_frame_connector.h" -#include "content/browser/frame_host/frame_tree_node.h" -#include "content/browser/frame_host/navigation_entry_impl.h" -#include "content/browser/frame_host/navigation_request.h" -#include "content/browser/frame_host/navigator.h" -#include "content/browser/frame_host/render_frame_host_impl.h" -#include "content/browser/frame_host/render_frame_proxy_host.h" #include "content/browser/gpu/gpu_data_manager_impl.h" #include "content/browser/manifest/manifest_manager_host.h" #include "content/browser/media/audio_stream_broker.h" @@ -83,7 +76,14 @@ #include "content/browser/plugin_content_origin_allowlist.h" #include "content/browser/portal/portal.h" #include "content/browser/renderer_host/agent_scheduling_group_host.h" +#include "content/browser/renderer_host/cross_process_frame_connector.h" #include "content/browser/renderer_host/frame_token_message_queue.h" +#include "content/browser/renderer_host/frame_tree_node.h" +#include "content/browser/renderer_host/navigation_entry_impl.h" +#include "content/browser/renderer_host/navigation_request.h" +#include "content/browser/renderer_host/navigator.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" +#include "content/browser/renderer_host/render_frame_proxy_host.h" #include "content/browser/renderer_host/render_process_host_impl.h" #include "content/browser/renderer_host/render_view_host_delegate_view.h" #include "content/browser/renderer_host/render_view_host_impl.h"
diff --git a/content/browser/web_contents/web_contents_impl.h b/content/browser/web_contents/web_contents_impl.h index f4ec726..c13cabcf 100644 --- a/content/browser/web_contents/web_contents_impl.h +++ b/content/browser/web_contents/web_contents_impl.h
@@ -28,15 +28,15 @@ #include "build/build_config.h" #include "components/download/public/common/download_url_parameters.h" #include "content/browser/accessibility/accessibility_event_recorder.h" -#include "content/browser/frame_host/frame_tree.h" -#include "content/browser/frame_host/frame_tree_node.h" -#include "content/browser/frame_host/navigation_controller_delegate.h" -#include "content/browser/frame_host/navigation_controller_impl.h" -#include "content/browser/frame_host/navigator_delegate.h" -#include "content/browser/frame_host/render_frame_host_delegate.h" -#include "content/browser/frame_host/render_frame_host_manager.h" #include "content/browser/media/audio_stream_monitor.h" #include "content/browser/media/forwarding_audio_stream_factory.h" +#include "content/browser/renderer_host/frame_tree.h" +#include "content/browser/renderer_host/frame_tree_node.h" +#include "content/browser/renderer_host/navigation_controller_delegate.h" +#include "content/browser/renderer_host/navigation_controller_impl.h" +#include "content/browser/renderer_host/navigator_delegate.h" +#include "content/browser/renderer_host/render_frame_host_delegate.h" +#include "content/browser/renderer_host/render_frame_host_manager.h" #include "content/browser/renderer_host/render_view_host_delegate.h" #include "content/browser/renderer_host/render_view_host_impl.h" #include "content/browser/renderer_host/render_widget_host_delegate.h"
diff --git a/content/browser/web_contents/web_contents_impl_browsertest.cc b/content/browser/web_contents/web_contents_impl_browsertest.cc index dc0b1ce..90f99280 100644 --- a/content/browser/web_contents/web_contents_impl_browsertest.cc +++ b/content/browser/web_contents/web_contents_impl_browsertest.cc
@@ -26,10 +26,10 @@ #include "base/values.h" #include "build/build_config.h" #include "components/url_formatter/url_formatter.h" -#include "content/browser/frame_host/frame_tree.h" -#include "content/browser/frame_host/navigation_entry_impl.h" -#include "content/browser/frame_host/navigation_request.h" -#include "content/browser/frame_host/render_frame_host_impl.h" +#include "content/browser/renderer_host/frame_tree.h" +#include "content/browser/renderer_host/navigation_entry_impl.h" +#include "content/browser/renderer_host/navigation_request.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" #include "content/browser/renderer_host/render_widget_host_impl.h" #include "content/browser/renderer_host/render_widget_host_input_event_router.h" #include "content/browser/web_contents/web_contents_impl.h"
diff --git a/content/browser/web_contents/web_contents_impl_unittest.cc b/content/browser/web_contents/web_contents_impl_unittest.cc index 8b8e9835..6e2616a 100644 --- a/content/browser/web_contents/web_contents_impl_unittest.cc +++ b/content/browser/web_contents/web_contents_impl_unittest.cc
@@ -18,12 +18,12 @@ #include "build/build_config.h" #include "components/download/public/common/download_url_parameters.h" #include "content/browser/child_process_security_policy_impl.h" -#include "content/browser/frame_host/navigation_entry_impl.h" -#include "content/browser/frame_host/navigator.h" -#include "content/browser/frame_host/render_frame_host_impl.h" -#include "content/browser/frame_host/render_frame_proxy_host.h" #include "content/browser/media/audio_stream_monitor.h" #include "content/browser/media/media_web_contents_observer.h" +#include "content/browser/renderer_host/navigation_entry_impl.h" +#include "content/browser/renderer_host/navigator.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" +#include "content/browser/renderer_host/render_frame_proxy_host.h" #include "content/browser/renderer_host/render_view_host_impl.h" #include "content/browser/site_instance_impl.h" #include "content/browser/webui/content_web_ui_controller_factory.h"
diff --git a/content/browser/web_contents/web_contents_observer_browsertest.cc b/content/browser/web_contents/web_contents_observer_browsertest.cc index 643c68e..40b03def 100644 --- a/content/browser/web_contents/web_contents_observer_browsertest.cc +++ b/content/browser/web_contents/web_contents_observer_browsertest.cc
@@ -3,7 +3,7 @@ // found in the LICENSE file. #include "base/test/scoped_feature_list.h" -#include "content/browser/frame_host/render_frame_host_impl.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" #include "content/browser/service_worker/embedded_worker_instance.h" #include "content/browser/service_worker/embedded_worker_status.h" #include "content/browser/web_contents/web_contents_impl.h"
diff --git a/content/browser/web_contents/web_contents_view_aura.cc b/content/browser/web_contents/web_contents_view_aura.cc index a9d0906..e58be97 100644 --- a/content/browser/web_contents/web_contents_view_aura.cc +++ b/content/browser/web_contents/web_contents_view_aura.cc
@@ -24,9 +24,9 @@ #include "components/viz/common/features.h" #include "content/browser/browser_plugin/browser_plugin_guest.h" #include "content/browser/download/drag_download_util.h" -#include "content/browser/frame_host/navigation_entry_impl.h" #include "content/browser/renderer_host/dip_util.h" #include "content/browser/renderer_host/input/touch_selection_controller_client_aura.h" +#include "content/browser/renderer_host/navigation_entry_impl.h" #include "content/browser/renderer_host/overscroll_controller.h" #include "content/browser/renderer_host/render_view_host_factory.h" #include "content/browser/renderer_host/render_view_host_impl.h"
diff --git a/content/browser/web_contents/web_contents_view_aura_browsertest.cc b/content/browser/web_contents/web_contents_view_aura_browsertest.cc index ed53a7f..e7abfb97 100644 --- a/content/browser/web_contents/web_contents_view_aura_browsertest.cc +++ b/content/browser/web_contents/web_contents_view_aura_browsertest.cc
@@ -19,8 +19,8 @@ #include "base/threading/thread_task_runner_handle.h" #include "base/values.h" #include "build/build_config.h" -#include "content/browser/frame_host/navigation_controller_impl.h" -#include "content/browser/frame_host/navigation_entry_impl.h" +#include "content/browser/renderer_host/navigation_controller_impl.h" +#include "content/browser/renderer_host/navigation_entry_impl.h" #include "content/browser/renderer_host/overscroll_controller.h" #include "content/browser/renderer_host/render_widget_host_view_aura.h" #include "content/browser/web_contents/web_contents_impl.h"
diff --git a/content/browser/web_contents/web_contents_view_child_frame.cc b/content/browser/web_contents/web_contents_view_child_frame.cc index 4a03981f5..42da33f 100644 --- a/content/browser/web_contents/web_contents_view_child_frame.cc +++ b/content/browser/web_contents/web_contents_view_child_frame.cc
@@ -5,8 +5,8 @@ #include "content/browser/web_contents/web_contents_view_child_frame.h" #include "build/build_config.h" -#include "content/browser/frame_host/render_frame_proxy_host.h" #include "content/browser/renderer_host/display_util.h" +#include "content/browser/renderer_host/render_frame_proxy_host.h" #include "content/browser/renderer_host/render_widget_host_view_child_frame.h" #include "content/browser/web_contents/web_contents_impl.h" #include "content/public/browser/web_contents_view_delegate.h"
diff --git a/content/browser/web_contents/web_contents_view_mac.h b/content/browser/web_contents/web_contents_view_mac.h index 3cc4cda..50ac846 100644 --- a/content/browser/web_contents/web_contents_view_mac.h +++ b/content/browser/web_contents/web_contents_view_mac.h
@@ -14,7 +14,7 @@ #include "base/mac/scoped_nsobject.h" #include "base/macros.h" -#include "content/browser/frame_host/popup_menu_helper_mac.h" +#include "content/browser/renderer_host/popup_menu_helper_mac.h" #include "content/browser/renderer_host/render_view_host_delegate_view.h" #include "content/browser/web_contents/web_contents_view.h" #include "content/common/content_export.h"
diff --git a/content/browser/web_contents/web_contents_view_mac.mm b/content/browser/web_contents/web_contents_view_mac.mm index aceb5e2..a321217c7 100644 --- a/content/browser/web_contents/web_contents_view_mac.mm +++ b/content/browser/web_contents/web_contents_view_mac.mm
@@ -20,8 +20,8 @@ #import "content/app_shim_remote_cocoa/web_contents_view_cocoa.h" #include "content/browser/download/drag_download_file.h" #include "content/browser/download/drag_download_util.h" -#include "content/browser/frame_host/popup_menu_helper_mac.h" #include "content/browser/renderer_host/display_util.h" +#include "content/browser/renderer_host/popup_menu_helper_mac.h" #include "content/browser/renderer_host/render_view_host_factory.h" #include "content/browser/renderer_host/render_view_host_impl.h" #include "content/browser/renderer_host/render_widget_host_view_mac.h"
diff --git a/content/browser/web_package/save_page_as_web_bundle_browsertest.cc b/content/browser/web_package/save_page_as_web_bundle_browsertest.cc index c2e9c5d..cd44973 100644 --- a/content/browser/web_package/save_page_as_web_bundle_browsertest.cc +++ b/content/browser/web_package/save_page_as_web_bundle_browsertest.cc
@@ -12,7 +12,7 @@ #include "base/strings/stringprintf.h" #include "base/test/bind_test_util.h" #include "base/threading/scoped_blocking_call.h" -#include "content/browser/frame_host/render_frame_host_impl.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" #include "content/public/browser/web_contents.h" #include "content/public/test/browser_test.h" #include "content/public/test/content_browser_test.h"
diff --git a/content/browser/web_package/signed_exchange_handler_unittest.cc b/content/browser/web_package/signed_exchange_handler_unittest.cc index 5550144..4082c0c 100644 --- a/content/browser/web_package/signed_exchange_handler_unittest.cc +++ b/content/browser/web_package/signed_exchange_handler_unittest.cc
@@ -13,7 +13,7 @@ #include "base/path_service.h" #include "base/test/metrics/histogram_tester.h" #include "base/test/scoped_feature_list.h" -#include "content/browser/frame_host/frame_tree_node.h" +#include "content/browser/renderer_host/frame_tree_node.h" #include "content/browser/web_package/signed_exchange_cert_fetcher_factory.h" #include "content/browser/web_package/signed_exchange_devtools_proxy.h" #include "content/browser/web_package/signed_exchange_signature_verifier.h"
diff --git a/content/browser/web_package/signed_exchange_loader_unittest.cc b/content/browser/web_package/signed_exchange_loader_unittest.cc index a458376f..2189e8b 100644 --- a/content/browser/web_package/signed_exchange_loader_unittest.cc +++ b/content/browser/web_package/signed_exchange_loader_unittest.cc
@@ -12,7 +12,7 @@ #include "base/test/scoped_feature_list.h" #include "base/test/task_environment.h" #include "build/build_config.h" -#include "content/browser/frame_host/frame_tree_node.h" +#include "content/browser/renderer_host/frame_tree_node.h" #include "content/browser/web_package/mock_signed_exchange_handler.h" #include "content/browser/web_package/signed_exchange_devtools_proxy.h" #include "content/browser/web_package/signed_exchange_prefetch_metric_recorder.h"
diff --git a/content/browser/web_package/signed_exchange_request_handler_browsertest.cc b/content/browser/web_package/signed_exchange_request_handler_browsertest.cc index 897ea50..822a5b7 100644 --- a/content/browser/web_package/signed_exchange_request_handler_browsertest.cc +++ b/content/browser/web_package/signed_exchange_request_handler_browsertest.cc
@@ -15,9 +15,9 @@ #include "base/test/scoped_feature_list.h" #include "base/threading/thread_restrictions.h" #include "base/time/time.h" -#include "content/browser/frame_host/navigation_request.h" -#include "content/browser/frame_host/render_frame_host_impl.h" #include "content/browser/loader/prefetch_url_loader_service.h" +#include "content/browser/renderer_host/navigation_request.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" #include "content/browser/storage_partition_impl.h" #include "content/browser/web_contents/web_contents_impl.h" #include "content/browser/web_package/prefetched_signed_exchange_cache.h"
diff --git a/content/browser/web_package/signed_exchange_subresource_prefetch_browsertest.cc b/content/browser/web_package/signed_exchange_subresource_prefetch_browsertest.cc index a0a8575..1e8f347 100644 --- a/content/browser/web_package/signed_exchange_subresource_prefetch_browsertest.cc +++ b/content/browser/web_package/signed_exchange_subresource_prefetch_browsertest.cc
@@ -23,8 +23,8 @@ #include "base/time/time_override.h" #include "build/build_config.h" #include "content/browser/blob_storage/chrome_blob_storage_context.h" -#include "content/browser/frame_host/render_frame_host_impl.h" #include "content/browser/loader/prefetch_browsertest_base.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" #include "content/browser/web_package/mock_signed_exchange_handler.h" #include "content/browser/web_package/prefetched_signed_exchange_cache.h" #include "content/public/browser/browser_context.h"
diff --git a/content/browser/web_package/web_bundle_browsertest.cc b/content/browser/web_package/web_bundle_browsertest.cc index 29ffeb5..a468f6ea 100644 --- a/content/browser/web_package/web_bundle_browsertest.cc +++ b/content/browser/web_package/web_bundle_browsertest.cc
@@ -17,8 +17,8 @@ #include "base/threading/thread_restrictions.h" #include "build/build_config.h" #include "components/web_package/test_support/web_bundle_builder.h" -#include "content/browser/frame_host/frame_tree_node.h" -#include "content/browser/frame_host/navigation_request.h" +#include "content/browser/renderer_host/frame_tree_node.h" +#include "content/browser/renderer_host/navigation_request.h" #include "content/browser/web_contents/web_contents_impl.h" #include "content/browser/web_package/web_bundle_utils.h" #include "content/public/browser/browser_context.h"
diff --git a/content/browser/web_package/web_bundle_url_loader_factory_unittest.cc b/content/browser/web_package/web_bundle_url_loader_factory_unittest.cc index c623ee24..00b5429 100644 --- a/content/browser/web_package/web_bundle_url_loader_factory_unittest.cc +++ b/content/browser/web_package/web_bundle_url_loader_factory_unittest.cc
@@ -8,7 +8,7 @@ #include "base/macros.h" #include "base/optional.h" #include "base/run_loop.h" -#include "content/browser/frame_host/frame_tree_node.h" +#include "content/browser/renderer_host/frame_tree_node.h" #include "content/browser/web_package/mock_web_bundle_reader_factory.h" #include "content/browser/web_package/web_bundle_reader.h" #include "content/public/test/browser_task_environment.h"
diff --git a/content/browser/webauth/OWNERS b/content/browser/webauth/OWNERS index 8be6d51..ad929ffb 100644 --- a/content/browser/webauth/OWNERS +++ b/content/browser/webauth/OWNERS
@@ -1,12 +1,8 @@ file://device/fido/OWNERS mkwst@chromium.org -per-file *_type_converter*.*=set noparent -per-file *_type_converter*.*=file://ipc/SECURITY_OWNERS per-file *_mojom_traits*.*=set noparent per-file *_mojom_traits*.*=file://ipc/SECURITY_OWNERS -per-file *.typemap=set noparent -per-file *.typemap=file://ipc/SECURITY_OWNERS # TEAM: identity-dev@chromium.org # COMPONENT: Blink>WebAuthentication
diff --git a/content/browser/webauth/authenticator.typemap b/content/browser/webauth/authenticator.typemap deleted file mode 100644 index ee55d6d..0000000 --- a/content/browser/webauth/authenticator.typemap +++ /dev/null
@@ -1,36 +0,0 @@ -# Copyright 2019 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -mojom = "//third_party/blink/public/mojom/webauthn/authenticator.mojom" -public_headers = [ - "//device/fido/authenticator_selection_criteria.h", - "//device/fido/fido_transport_protocol.h", - "//device/fido/cable/cable_discovery_data.h", - "//device/fido/public_key_credential_descriptor.h", - "//device/fido/public_key_credential_params.h", - "//device/fido/public_key_credential_rp_entity.h", - "//device/fido/public_key_credential_user_entity.h", - "//device/fido/fido_types.h", -] -traits_headers = [ "//content/browser/webauth/authenticator_mojom_traits.h" ] -sources = [ - "//content/browser/webauth/authenticator_mojom_traits.cc", - "//content/browser/webauth/authenticator_mojom_traits.h", -] -public_deps = [ - "//device/fido", -] -type_mappings = [ - "blink.mojom.AuthenticatorTransport=::device::FidoTransportProtocol", - "blink.mojom.PublicKeyCredentialType=::device::CredentialType", - "blink.mojom.PublicKeyCredentialParameters=::device::PublicKeyCredentialParams::CredentialInfo", - "blink.mojom.PublicKeyCredentialDescriptor=::device::PublicKeyCredentialDescriptor", - "blink.mojom.AuthenticatorAttachment=::device::AuthenticatorAttachment", - "blink.mojom.UserVerificationRequirement=::device::UserVerificationRequirement", - "blink.mojom.AuthenticatorSelectionCriteria=::device::AuthenticatorSelectionCriteria", - "blink.mojom.PublicKeyCredentialRpEntity=::device::PublicKeyCredentialRpEntity", - "blink.mojom.PublicKeyCredentialUserEntity=::device::PublicKeyCredentialUserEntity", - "blink.mojom.CableAuthentication=::device::CableDiscoveryData", - "blink.mojom.AttestationConveyancePreference=::device::AttestationConveyancePreference", -]
diff --git a/content/browser/webauth/authenticator_environment_impl.h b/content/browser/webauth/authenticator_environment_impl.h index f3fa1faa..a431c5f 100644 --- a/content/browser/webauth/authenticator_environment_impl.h +++ b/content/browser/webauth/authenticator_environment_impl.h
@@ -10,7 +10,7 @@ #include "base/macros.h" #include "base/no_destructor.h" -#include "content/browser/frame_host/frame_tree_node.h" +#include "content/browser/renderer_host/frame_tree_node.h" #include "content/common/content_export.h" #include "content/public/browser/authenticator_environment.h" #include "mojo/public/cpp/bindings/pending_receiver.h"
diff --git a/content/browser/webauth/authenticator_mojom_traits.cc b/content/browser/webauth/authenticator_mojom_traits.cc index 271a0356..029e94f 100644 --- a/content/browser/webauth/authenticator_mojom_traits.cc +++ b/content/browser/webauth/authenticator_mojom_traits.cc
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "authenticator_mojom_traits.h" +#include "content/browser/webauth/authenticator_mojom_traits.h" // nogncheck #include "url/mojom/url_gurl_mojom_traits.h"
diff --git a/content/browser/webauth/authenticator_mojom_traits.h b/content/browser/webauth/authenticator_mojom_traits.h index eca8e51..4db2fa9b 100644 --- a/content/browser/webauth/authenticator_mojom_traits.h +++ b/content/browser/webauth/authenticator_mojom_traits.h
@@ -23,7 +23,7 @@ #include "mojo/public/cpp/bindings/enum_traits.h" #include "mojo/public/cpp/bindings/struct_traits.h" #include "third_party/blink/public/common/common_export.h" -#include "third_party/blink/public/mojom/webauthn/authenticator.mojom.h" +#include "third_party/blink/public/mojom/webauthn/authenticator.mojom-shared.h" namespace mojo {
diff --git a/content/browser/webauth/virtual_authenticator.typemap b/content/browser/webauth/virtual_authenticator.typemap deleted file mode 100644 index b128429b..0000000 --- a/content/browser/webauth/virtual_authenticator.typemap +++ /dev/null
@@ -1,18 +0,0 @@ -# Copyright 2019 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -mojom = "//third_party/blink/public/mojom/webauthn/virtual_authenticator.mojom" -public_headers = [ "//device/fido/fido_types.h" ] -traits_headers = - [ "//content/browser/webauth/virtual_authenticator_mojom_traits.h" ] -sources = [ - "//content/browser/webauth/virtual_authenticator_mojom_traits.cc", - "//content/browser/webauth/virtual_authenticator_mojom_traits.h", -] -public_deps = [ - "//device/fido", -] -type_mappings = [ - "blink.test.mojom.ClientToAuthenticatorProtocol=::device::ProtocolVersion", -]
diff --git a/content/browser/webauth/virtual_authenticator_mojom_traits.cc b/content/browser/webauth/virtual_authenticator_mojom_traits.cc index 2b887c6..4dabde2 100644 --- a/content/browser/webauth/virtual_authenticator_mojom_traits.cc +++ b/content/browser/webauth/virtual_authenticator_mojom_traits.cc
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "virtual_authenticator_mojom_traits.h" +#include "content/browser/webauth/virtual_authenticator_mojom_traits.h" // nogncheck namespace mojo {
diff --git a/content/browser/webauth/webauth_browsertest.cc b/content/browser/webauth/webauth_browsertest.cc index 692ae25..17f5e88e1 100644 --- a/content/browser/webauth/webauth_browsertest.cc +++ b/content/browser/webauth/webauth_browsertest.cc
@@ -17,7 +17,7 @@ #include "base/values.h" #include "build/build_config.h" #include "components/network_session_configurator/common/network_switches.h" -#include "content/browser/frame_host/render_frame_host_impl.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" #include "content/browser/webauth/authenticator_environment_impl.h" #include "content/browser/webauth/authenticator_impl.h" #include "content/public/browser/authenticator_request_client_delegate.h"
diff --git a/content/browser/webui/web_ui_navigation_browsertest.cc b/content/browser/webui/web_ui_navigation_browsertest.cc index 8f9e1a6e..8057345 100644 --- a/content/browser/webui/web_ui_navigation_browsertest.cc +++ b/content/browser/webui/web_ui_navigation_browsertest.cc
@@ -6,8 +6,8 @@ #include "base/macros.h" #include "build/build_config.h" #include "content/browser/child_process_security_policy_impl.h" -#include "content/browser/frame_host/frame_tree_node.h" -#include "content/browser/frame_host/render_frame_host_impl.h" +#include "content/browser/renderer_host/frame_tree_node.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" #include "content/browser/web_contents/web_contents_impl.h" #include "content/common/frame.mojom.h" #include "content/public/browser/web_contents.h"
diff --git a/content/browser/webui/web_ui_security_browsertest.cc b/content/browser/webui/web_ui_security_browsertest.cc index 0741bc3..cb698ce3 100644 --- a/content/browser/webui/web_ui_security_browsertest.cc +++ b/content/browser/webui/web_ui_security_browsertest.cc
@@ -12,7 +12,7 @@ #include "base/threading/thread_restrictions.h" #include "build/build_config.h" #include "content/browser/child_process_security_policy_impl.h" -#include "content/browser/frame_host/frame_tree_node.h" +#include "content/browser/renderer_host/frame_tree_node.h" #include "content/browser/web_contents/web_contents_impl.h" #include "content/browser/webui/web_ui_controller_factory_registry.h" #include "content/common/content_navigation_policy.h"
diff --git a/content/browser/zoom_browsertest.cc b/content/browser/zoom_browsertest.cc index 33fc95c..400fd34e 100644 --- a/content/browser/zoom_browsertest.cc +++ b/content/browser/zoom_browsertest.cc
@@ -6,8 +6,8 @@ #include "base/strings/string_util.h" #include "build/build_config.h" -#include "content/browser/frame_host/frame_tree_node.h" -#include "content/browser/frame_host/render_frame_host_impl.h" +#include "content/browser/renderer_host/frame_tree_node.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" #include "content/browser/web_contents/web_contents_impl.h" #include "content/public/browser/host_zoom_map.h" #include "content/public/browser/navigation_entry.h"
diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.cc index 68b20c8..5f0c4350 100644 --- a/content/child/runtime_features.cc +++ b/content/child/runtime_features.cc
@@ -144,6 +144,9 @@ // Enables the Blink feature when the base::Feature is enabled, // otherwise no change. kEnableOnly, + // Enables the Blink feature when the base::Feature is enabled + // via an override on the command-line, otherwise no change. + kEnableOnlyIfOverriddenFromCommandLine, // Disables the Blink feature when the base::Feature is *disabled*, // otherwise no change. kDisableOnly, @@ -172,6 +175,13 @@ if (feature_enabled) enabler(true); break; + case kEnableOnlyIfOverriddenFromCommandLine: + if (FeatureList::GetInstance()->IsFeatureOverriddenFromCommandLine( + chromium_feature.name, FeatureList::OVERRIDE_ENABLE_FEATURE)) { + DCHECK(feature_enabled); + enabler(true); + } + break; case kDisableOnly: if (!feature_enabled) enabler(false); @@ -266,7 +276,8 @@ blink::features::kAllowSyncXHRInPageDismissal, kEnableOnly}, {wf::EnableAutoplayIgnoresWebAudio, media::kAutoplayIgnoreWebAudio, kDefault}, - {wf::EnablePortals, blink::features::kPortals, kDefault}, + {wf::EnablePortals, blink::features::kPortals, + kEnableOnlyIfOverriddenFromCommandLine}, {wf::EnableImplicitRootScroller, blink::features::kImplicitRootScroller, kDefault}, {wf::EnableCSSOMViewScrollCoordinates,
diff --git a/content/public/common/BUILD.gn b/content/public/common/BUILD.gn index 9c024d45..fb3483a 100644 --- a/content/public/common/BUILD.gn +++ b/content/public/common/BUILD.gn
@@ -288,6 +288,17 @@ } } +_common_param_traits_headers = [ "common_param_traits_macros.h" ] +_common_param_traits_deps = [ + "//ipc", + "//services/network/public/cpp:cpp_base", + "//services/network/public/mojom", + "//third_party/blink/public:blink_headers", + "//ui/accessibility:ax_enums_mojo", + "//ui/base", + "//ui/gfx/ipc", +] + mojom("interfaces") { # We don't want Blink variants of these bindings to be generated. disable_variants = true @@ -333,6 +344,46 @@ overridden_deps = [ "//third_party/blink/public/mojom:mojom_platform" ] component_deps = [ "//third_party/blink/public/common" ] + + cpp_typemaps = [ + { + types = [ + { + mojom = "content.mojom.BrowserControlsState" + cpp = "::content::BrowserControlsState" + }, + ] + traits_headers = [ "browser_controls_state.h" ] + traits_private_headers = _common_param_traits_headers + traits_deps = _common_param_traits_deps + }, + { + types = [ + { + mojom = "content.mojom.DropData" + cpp = "::content::DropData" + }, + ] + traits_headers = [ "drop_data.h" ] + traits_private_headers = _common_param_traits_headers + traits_deps = _common_param_traits_deps + }, + { + types = [ + { + mojom = "content.mojom.WebPluginInfo" + cpp = "::content::WebPluginInfo" + }, + ] + traits_headers = [ "webplugininfo.h" ] + traits_private_headers = [ "webplugininfo_param_traits.h" ] + traits_public_deps = [ + "//base", + "//skia", + ] + traits_deps = [ "//ipc" ] + }, + ] } mojom("renderer_type") { @@ -350,6 +401,22 @@ overridden_deps = [ "//third_party/blink/public/mojom:mojom_platform" ] component_deps = [ "//third_party/blink/public/common" ] + + cpp_typemaps = [ + { + types = [ + { + mojom = "content.mojom.WebPreferences" + cpp = "::blink::web_pref::WebPreferences" + }, + ] + traits_headers = [ + "//third_party/blink/public/common/web_preferences/web_preferences.h", + ] + traits_private_headers = _common_param_traits_headers + traits_deps = _common_param_traits_deps + }, + ] } mojom("service_names") {
diff --git a/content/public/common/OWNERS b/content/public/common/OWNERS index 4362385..4792ae8 100644 --- a/content/public/common/OWNERS +++ b/content/public/common/OWNERS
@@ -8,8 +8,6 @@ per-file *.mojom=file://ipc/SECURITY_OWNERS per-file *_mojom_traits*.*=set noparent per-file *_mojom_traits*.*=file://ipc/SECURITY_OWNERS -per-file *.typemap=set noparent -per-file *.typemap=file://ipc/SECURITY_OWNERS per-file *_type_converter*.*=set noparent per-file *_type_converter*.*=file://ipc/SECURITY_OWNERS per-file sandbox*=set noparent
diff --git a/content/public/common/browser_controls_state.typemap b/content/public/common/browser_controls_state.typemap deleted file mode 100644 index 137b60a8..0000000 --- a/content/public/common/browser_controls_state.typemap +++ /dev/null
@@ -1,27 +0,0 @@ -# Copyright 2019 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -mojom = "//content/public/common/browser_controls_state.mojom" -public_headers = [ "//content/public/common/browser_controls_state.h" ] -traits_headers = [ "//content/public/common/common_param_traits_macros.h" ] -public_deps = [ - # Since the typemappings for browser_controls_state, drop_data and - # web_features are all implemented in the monolithic common_param_traits, we - # need to duplicate these dependencies into all three typemaps. - # Note that we also have a dependency on - # //third_party/blink/public/mojom:mojom_platform, but we can't include that - # dependency here because we need to override it to support component build. - - "//base", - "//ipc", - "//services/network/public/cpp:cpp_base", - "//services/network/public/mojom", - "//third_party/blink/public:blink_headers", - "//ui/accessibility:ax_enums_mojo", - "//ui/base", - "//ui/gfx/ipc", - "//ui/surface", -] -type_mappings = - [ "content.mojom.BrowserControlsState=::content::BrowserControlsState" ]
diff --git a/content/public/common/drop_data.typemap b/content/public/common/drop_data.typemap deleted file mode 100644 index 4ed8b7f7..0000000 --- a/content/public/common/drop_data.typemap +++ /dev/null
@@ -1,26 +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. - -mojom = "//content/public/common/drop_data.mojom" -public_headers = [ "//content/public/common/drop_data.h" ] -traits_headers = [ "//content/public/common/common_param_traits_macros.h" ] -public_deps = [ - # Since the typemappings for browser_controls_state, drop_data and - # web_features are all implemented in the monolithic common_param_traits, we - # need to duplicate these dependencies into all three typemaps. - # Note that we also have a dependency on - # //third_party/blink/public/mojom:mojom_platform, but we can't include that - # dependency here because we need to override it to support component build. - - "//base", - "//ipc", - "//services/network/public/cpp:cpp_base", - "//services/network/public/mojom", - "//third_party/blink/public:blink_headers", - "//ui/accessibility:ax_enums_mojo", - "//ui/base", - "//ui/gfx/ipc", - "//ui/surface", -] -type_mappings = [ "content.mojom.DropData=::content::DropData" ]
diff --git a/content/public/common/typemaps.gni b/content/public/common/typemaps.gni deleted file mode 100644 index bf98b78..0000000 --- a/content/public/common/typemaps.gni +++ /dev/null
@@ -1,10 +0,0 @@ -# Copyright 2016 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -typemaps = [ - "//content/public/common/browser_controls_state.typemap", - "//content/public/common/drop_data.typemap", - "//content/public/common/web_preferences.typemap", - "//content/public/common/webplugininfo.typemap", -]
diff --git a/content/public/common/web_preferences.typemap b/content/public/common/web_preferences.typemap deleted file mode 100644 index 8e67242..0000000 --- a/content/public/common/web_preferences.typemap +++ /dev/null
@@ -1,29 +0,0 @@ -# Copyright 2016 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -mojom = "//content/public/common/web_preferences.mojom" -public_headers = - [ "//third_party/blink/public/common/web_preferences/web_preferences.h" ] -traits_headers = [ "//content/public/common/common_param_traits_macros.h" ] -public_deps = [ - # Since the typemappings for browser_controls_state, drop_data and - # web_features are all implemented in the monolithic common_param_traits, we - # need to duplicate these dependencies into all three typemaps. - # Note that we also have a dependency on - # //third_party/blink/public/mojom:mojom_platform, but we can't include that - # dependency here because we need to override it to support component build. - - "//base", - "//ipc", - "//services/network/public/cpp:cpp_base", - "//services/network/public/mojom", - "//third_party/blink/public:blink_headers", - "//third_party/blink/public/common:headers", - "//ui/accessibility:ax_enums_mojo", - "//ui/base", - "//ui/gfx/ipc", - "//ui/surface", -] -type_mappings = - [ "content.mojom.WebPreferences=::blink::web_pref::WebPreferences" ]
diff --git a/content/public/common/webplugininfo.typemap b/content/public/common/webplugininfo.typemap deleted file mode 100644 index bf156fd..0000000 --- a/content/public/common/webplugininfo.typemap +++ /dev/null
@@ -1,13 +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. - -mojom = "//content/public/common/webplugininfo.mojom" -public_headers = [ "//content/public/common/webplugininfo.h" ] -traits_headers = [ "//content/public/common/webplugininfo_param_traits.h" ] -public_deps = [ - "//ipc", - "//skia", -] - -type_mappings = [ "content.mojom.WebPluginInfo=::content::WebPluginInfo" ]
diff --git a/content/public/test/accessibility_notification_waiter.cc b/content/public/test/accessibility_notification_waiter.cc index ace62cb..79af4b1 100644 --- a/content/public/test/accessibility_notification_waiter.cc +++ b/content/public/test/accessibility_notification_waiter.cc
@@ -12,7 +12,7 @@ #include "base/strings/utf_string_conversions.h" #include "content/browser/accessibility/browser_accessibility.h" #include "content/browser/accessibility/browser_accessibility_manager.h" -#include "content/browser/frame_host/render_frame_host_impl.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" #include "content/browser/renderer_host/render_widget_host_view_base.h" #include "content/browser/web_contents/web_contents_impl.h" #include "content/public/browser/browser_accessibility_state.h"
diff --git a/content/public/test/android/render_frame_host_test_ext.cc b/content/public/test/android/render_frame_host_test_ext.cc index 728be9e4..c07a175 100644 --- a/content/public/test/android/render_frame_host_test_ext.cc +++ b/content/public/test/android/render_frame_host_test_ext.cc
@@ -9,8 +9,8 @@ #include "base/bind.h" #include "base/json/json_string_value_serializer.h" #include "base/memory/ptr_util.h" -#include "content/browser/frame_host/render_frame_host_android.h" -#include "content/browser/frame_host/render_frame_host_impl.h" +#include "content/browser/renderer_host/render_frame_host_android.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" #include "content/public/browser/web_contents.h" #include "content/public/test/android/content_test_jni/RenderFrameHostTestExt_jni.h"
diff --git a/content/public/test/android/web_contents_utils.cc b/content/public/test/android/web_contents_utils.cc index 294147d7d..2865250 100644 --- a/content/public/test/android/web_contents_utils.cc +++ b/content/public/test/android/web_contents_utils.cc
@@ -5,7 +5,7 @@ #include "base/android/jni_android.h" #include "base/android/jni_string.h" #include "base/android/scoped_java_ref.h" -#include "content/browser/frame_host/render_frame_host_impl.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" #include "content/browser/renderer_host/render_widget_host_impl.h" #include "content/browser/web_contents/web_contents_android.h" #include "content/browser/web_contents/web_contents_impl.h"
diff --git a/content/public/test/back_forward_cache_util.cc b/content/public/test/back_forward_cache_util.cc index d7604f5a..4507d42 100644 --- a/content/public/test/back_forward_cache_util.cc +++ b/content/public/test/back_forward_cache_util.cc
@@ -7,8 +7,8 @@ #include <map> #include <set> -#include "content/browser/frame_host/back_forward_cache_impl.h" -#include "content/browser/frame_host/render_frame_host_impl.h" +#include "content/browser/renderer_host/back_forward_cache_impl.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" #include "content/public/browser/global_routing_id.h" #include "content/public/browser/web_contents.h"
diff --git a/content/public/test/browser_test_utils.cc b/content/public/test/browser_test_utils.cc index 539cefca..efd409b 100644 --- a/content/public/test/browser_test_utils.cc +++ b/content/public/test/browser_test_utils.cc
@@ -39,13 +39,13 @@ #include "content/browser/accessibility/browser_accessibility_manager.h" #include "content/browser/browser_plugin/browser_plugin_guest.h" #include "content/browser/file_system/file_system_manager_impl.h" -#include "content/browser/frame_host/cross_process_frame_connector.h" -#include "content/browser/frame_host/frame_tree_node.h" -#include "content/browser/frame_host/navigation_request.h" -#include "content/browser/frame_host/render_frame_host_impl.h" -#include "content/browser/frame_host/render_frame_proxy_host.h" +#include "content/browser/renderer_host/cross_process_frame_connector.h" +#include "content/browser/renderer_host/frame_tree_node.h" #include "content/browser/renderer_host/input/synthetic_touchscreen_pinch_gesture.h" +#include "content/browser/renderer_host/navigation_request.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" #include "content/browser/renderer_host/render_frame_metadata_provider_impl.h" +#include "content/browser/renderer_host/render_frame_proxy_host.h" #include "content/browser/renderer_host/render_process_host_impl.h" #include "content/browser/renderer_host/render_widget_host_impl.h" #include "content/browser/renderer_host/render_widget_host_input_event_router.h"
diff --git a/content/public/test/hit_test_region_observer.cc b/content/public/test/hit_test_region_observer.cc index bed8697..4aaa785 100644 --- a/content/public/test/hit_test_region_observer.cc +++ b/content/public/test/hit_test_region_observer.cc
@@ -10,9 +10,9 @@ #include "components/viz/host/hit_test/hit_test_query.h" #include "components/viz/host/host_frame_sink_manager.h" #include "content/browser/compositor/surface_utils.h" -#include "content/browser/frame_host/cross_process_frame_connector.h" -#include "content/browser/frame_host/render_frame_host_impl.h" +#include "content/browser/renderer_host/cross_process_frame_connector.h" #include "content/browser/renderer_host/frame_connector_delegate.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" #include "content/browser/renderer_host/render_widget_host_impl.h" #include "content/browser/renderer_host/render_widget_host_view_base.h" #include "content/browser/renderer_host/render_widget_host_view_child_frame.h"
diff --git a/content/public/test/idle_test_utils.cc b/content/public/test/idle_test_utils.cc index 79cc8b7..9395afbc 100644 --- a/content/public/test/idle_test_utils.cc +++ b/content/public/test/idle_test_utils.cc
@@ -4,7 +4,7 @@ #include "content/public/test/idle_test_utils.h" -#include "content/browser/frame_host/render_frame_host_impl.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" #include "content/public/browser/idle_manager.h" namespace content {
diff --git a/content/public/test/render_frame_host_test_support.cc b/content/public/test/render_frame_host_test_support.cc index 07ee550..3583a2b3 100644 --- a/content/public/test/render_frame_host_test_support.cc +++ b/content/public/test/render_frame_host_test_support.cc
@@ -4,7 +4,7 @@ #include "content/public/test/render_frame_host_test_support.h" -#include "content/browser/frame_host/render_frame_host_impl.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" namespace content {
diff --git a/content/public/test/test_frame_navigation_observer.cc b/content/public/test/test_frame_navigation_observer.cc index 300783d..dd15ea31 100644 --- a/content/public/test/test_frame_navigation_observer.cc +++ b/content/public/test/test_frame_navigation_observer.cc
@@ -4,8 +4,8 @@ #include "content/public/test/test_frame_navigation_observer.h" -#include "content/browser/frame_host/navigation_entry_impl.h" -#include "content/browser/frame_host/render_frame_host_impl.h" +#include "content/browser/renderer_host/navigation_entry_impl.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" #include "content/browser/renderer_host/render_view_host_impl.h" #include "content/browser/web_contents/web_contents_impl.h" #include "content/public/browser/browser_thread.h"
diff --git a/content/public/test/test_navigation_observer.cc b/content/public/test/test_navigation_observer.cc index 7403db56..0c46b7c 100644 --- a/content/public/test/test_navigation_observer.cc +++ b/content/public/test/test_navigation_observer.cc
@@ -5,7 +5,7 @@ #include "content/public/test/test_navigation_observer.h" #include "base/bind.h" -#include "content/browser/frame_host/navigation_request.h" +#include "content/browser/renderer_host/navigation_request.h" #include "content/browser/web_contents/web_contents_impl.h" #include "content/public/browser/web_contents_observer.h"
diff --git a/content/public/test/test_renderer_host.cc b/content/public/test/test_renderer_host.cc index 3972ec7..4f54c2f 100644 --- a/content/public/test/test_renderer_host.cc +++ b/content/public/test/test_renderer_host.cc
@@ -12,10 +12,10 @@ #include "base/threading/thread_task_runner_handle.h" #include "build/build_config.h" #include "content/browser/compositor/test/test_image_transport_factory.h" -#include "content/browser/frame_host/frame_tree_node.h" -#include "content/browser/frame_host/navigation_entry_impl.h" -#include "content/browser/frame_host/navigation_request.h" #include "content/browser/gpu/gpu_data_manager_impl.h" +#include "content/browser/renderer_host/frame_tree_node.h" +#include "content/browser/renderer_host/navigation_entry_impl.h" +#include "content/browser/renderer_host/navigation_request.h" #include "content/browser/renderer_host/render_view_host_factory.h" #include "content/browser/renderer_host/render_widget_host_impl.h" #include "content/browser/renderer_host/render_widget_host_input_event_router.h"
diff --git a/content/public/test/test_utils.cc b/content/public/test/test_utils.cc index 4583ab9..6d06bd51 100644 --- a/content/public/test/test_utils.cc +++ b/content/public/test/test_utils.cc
@@ -22,8 +22,8 @@ #include "base/threading/thread_task_runner_handle.h" #include "base/values.h" #include "build/build_config.h" -#include "content/browser/frame_host/render_frame_host_delegate.h" -#include "content/browser/frame_host/render_frame_host_impl.h" +#include "content/browser/renderer_host/render_frame_host_delegate.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" #include "content/common/content_navigation_policy.h" #include "content/public/browser/browser_child_process_host_iterator.h" #include "content/public/browser/browser_plugin_guest_delegate.h"
diff --git a/content/public/test/text_input_test_utils.cc b/content/public/test/text_input_test_utils.cc index 2960ac3..d1eb1b38 100644 --- a/content/public/test/text_input_test_utils.cc +++ b/content/public/test/text_input_test_utils.cc
@@ -7,9 +7,9 @@ #include <unordered_set> #include "base/strings/utf_string_conversions.h" -#include "content/browser/frame_host/frame_tree.h" -#include "content/browser/frame_host/frame_tree_node.h" -#include "content/browser/frame_host/render_frame_host_impl.h" +#include "content/browser/renderer_host/frame_tree.h" +#include "content/browser/renderer_host/frame_tree_node.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" #include "content/browser/renderer_host/render_widget_host_impl.h" #include "content/browser/renderer_host/render_widget_host_view_base.h" #include "content/browser/renderer_host/render_widget_host_view_base_observer.h"
diff --git a/content/public/test/text_input_test_utils_mac.mm b/content/public/test/text_input_test_utils_mac.mm index 0c1be92..cba2e8b8 100644 --- a/content/public/test/text_input_test_utils_mac.mm +++ b/content/public/test/text_input_test_utils_mac.mm
@@ -8,7 +8,7 @@ #include "base/strings/utf_string_conversions.h" #include "content/browser/browser_thread_impl.h" -#include "content/browser/frame_host/render_frame_host_impl.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" #include "content/browser/renderer_host/render_widget_host_view_mac.h" #include "content/public/test/test_utils.h" #include "ui/base/mojom/attributed_string.mojom.h"
diff --git a/content/public/test/url_loader_interceptor.cc b/content/public/test/url_loader_interceptor.cc index bb8019c..7d61f2f 100644 --- a/content/public/test/url_loader_interceptor.cc +++ b/content/public/test/url_loader_interceptor.cc
@@ -18,8 +18,8 @@ #include "base/test/bind_test_util.h" #include "base/threading/thread_restrictions.h" #include "build/build_config.h" -#include "content/browser/frame_host/render_frame_host_impl.h" #include "content/browser/loader/navigation_url_loader_impl.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" #include "content/browser/service_worker/embedded_worker_instance.h" #include "content/browser/storage_partition_impl.h" #include "content/browser/url_loader_factory_getter.h"
diff --git a/content/renderer/accessibility/render_accessibility_impl.cc b/content/renderer/accessibility/render_accessibility_impl.cc index 4ccffd8..4449e5d 100644 --- a/content/renderer/accessibility/render_accessibility_impl.cc +++ b/content/renderer/accessibility/render_accessibility_impl.cc
@@ -781,8 +781,9 @@ std::vector<DirtyObject> dirty_objects = dirty_objects_; dirty_objects_.clear(); - // If there's a layout complete message, we need to send location changes. - bool had_layout_complete_messages = false; + // If there's a layout complete or a scroll changed message, we need to send + // location changes. + bool need_to_send_location_changes = false; // If there's a load complete message, we need to change the event schedule // mode. @@ -796,8 +797,10 @@ // Loop over each event and generate an updated event message. for (ui::AXEvent& event : src_events) { - if (event.event_type == ax::mojom::Event::kLayoutComplete) - had_layout_complete_messages = true; + if (event.event_type == ax::mojom::Event::kLayoutComplete || + event.event_type == ax::mojom::Event::kScrollPositionChanged) { + need_to_send_location_changes = true; + } if (event.event_type == ax::mojom::Event::kLoadComplete) had_load_complete_messages = true; @@ -952,7 +955,7 @@ weak_factory_for_pending_events_.GetWeakPtr())); reset_token_ = 0; - if (had_layout_complete_messages) + if (need_to_send_location_changes) SendLocationChanges(); if (had_load_complete_messages) { @@ -1005,6 +1008,9 @@ tree_source_->SetCachedBoundingBox(id, new_location); } + if (changes.empty()) + return; + // Ensure that the number of cached bounding boxes doesn't exceed the // number of nodes in the tree, that would indicate the cache could // grow without bounds. Calls from the serializer to
diff --git a/content/renderer/accessibility/render_accessibility_impl_browsertest.cc b/content/renderer/accessibility/render_accessibility_impl_browsertest.cc index 44e5b80..36480cb 100644 --- a/content/renderer/accessibility/render_accessibility_impl_browsertest.cc +++ b/content/renderer/accessibility/render_accessibility_impl_browsertest.cc
@@ -180,11 +180,21 @@ std::move(callback).Run(); } + void HandleAXLocationChanges( + std::vector<mojom::LocationChangesPtr> changes) override { + for (auto& change : changes) + location_changes_.emplace_back(std::move(change)); + } + ui::AXTreeUpdate& last_update() { CHECK_GE(handled_updates_.size(), 1U); return handled_updates_.back(); } + std::vector<mojom::LocationChangesPtr>& location_changes() { + return location_changes_; + } + void ClearHandledUpdates() { handled_updates_.clear(); } private: @@ -196,6 +206,7 @@ local_frame_host_remote_; std::vector<::ui::AXTreeUpdate> handled_updates_; + std::vector<mojom::LocationChangesPtr> location_changes_; }; class RenderAccessibilityTestRenderFrame : public TestRenderFrame { @@ -229,6 +240,10 @@ render_accessibility_host_->ClearHandledUpdates(); } + std::vector<mojom::LocationChangesPtr>& LocationChanges() { + return render_accessibility_host_->location_changes(); + } + private: explicit RenderAccessibilityTestRenderFrame( RenderFrameImpl::CreateParams params) @@ -359,6 +374,11 @@ ->ClearHandledUpdates(); } + std::vector<mojom::LocationChangesPtr>& GetLocationChanges() { + return static_cast<RenderAccessibilityTestRenderFrame*>(frame()) + ->LocationChanges(); + } + int CountAccessibilityNodesSentToBrowser() { ui::AXTreeUpdate update = GetLastAccUpdate(); return update.nodes.size(); @@ -593,6 +613,133 @@ EXPECT_EQ(2, CountAccessibilityNodesSentToBrowser()); } +// Tests if the bounds of the fixed positioned node is updated after scrolling. +TEST_F(RenderAccessibilityImplTest, TestBoundsForFixedNodeAfterScroll) { + constexpr char html[] = R"HTML( + <div id="positioned" style="position:fixed; top:10px; font-size:40px;" + aria-label="first">title</div> + <div style="padding-top: 50px; font-size:40px;"> + <h2>Heading #1</h2> + <h2>Heading #2</h2> + <h2>Heading #3</h2> + <h2>Heading #4</h2> + <h2>Heading #5</h2> + <h2>Heading #6</h2> + <h2>Heading #7</h2> + <h2>Heading #8</h2> + </div> + )HTML"; + LoadHTMLAndRefreshAccessibilityTree(html); + + int scroll_offset_y = 50; + + int32_t expected_id; + ui::AXRelativeBounds expected_bounds; + + // Prepare the expected information from the tree. + ui::AXTreeUpdate update = GetLastAccUpdate(); + for (ui::AXNodeData& node : update.nodes) { + std::string name; + if (node.GetStringAttribute(ax::mojom::StringAttribute::kName, &name) && + name == "first") { + expected_id = node.id; + expected_bounds = node.relative_bounds; + expected_bounds.bounds.set_y(expected_bounds.bounds.y() + + scroll_offset_y); + break; + } + } + + ClearHandledUpdates(); + + // Simulate scrolling down using JS. + std::string js("window.scrollTo(0, " + base::NumberToString(scroll_offset_y) + + ");"); + ExecuteJavaScriptForTests(js.c_str()); + + WebDocument document = GetMainFrame()->GetDocument(); + WebAXObject root_obj = WebAXObject::FromWebDocument(document); + GetRenderAccessibilityImpl()->HandleAXEvent( + ui::AXEvent(root_obj.AxID(), ax::mojom::Event::kScrollPositionChanged)); + SendPendingAccessibilityEvents(); + + EXPECT_EQ(1, CountAccessibilityNodesSentToBrowser()); + + // Make sure it's the root object that was updated for scrolling. + update = GetLastAccUpdate(); + EXPECT_EQ(root_obj.AxID(), update.nodes[0].id); + + // Make sure that a location change is sent for the fixed-positioned node. + std::vector<mojom::LocationChangesPtr>& changes = GetLocationChanges(); + EXPECT_EQ(changes.size(), 1u); + EXPECT_EQ(changes[0]->id, expected_id); + EXPECT_EQ(changes[0]->new_location, expected_bounds); +} + +// Tests if the bounds are updated when it has multiple fixed nodes. +TEST_F(RenderAccessibilityImplTest, TestBoundsForMultipleFixedNodeAfterScroll) { + constexpr char html[] = R"HTML( + <div id="positioned" style="position:fixed; top:10px; font-size:40px;" + aria-label="first">title1</div> + <div id="positioned" style="position:fixed; top:50px; font-size:40px;" + aria-label="second">title2</div> + <div style="padding-top: 50px; font-size:40px;"> + <h2>Heading #1</h2> + <h2>Heading #2</h2> + <h2>Heading #3</h2> + <h2>Heading #4</h2> + <h2>Heading #5</h2> + <h2>Heading #6</h2> + <h2>Heading #7</h2> + <h2>Heading #8</h2> + </div>)HTML"; + LoadHTMLAndRefreshAccessibilityTree(html); + + int scroll_offset_y = 50; + + std::map<int32_t, ui::AXRelativeBounds> expected; + + // Prepare the expected information from the tree. + ui::AXTreeUpdate update = GetLastAccUpdate(); + for (ui::AXNodeData& node : update.nodes) { + std::string name; + node.GetStringAttribute(ax::mojom::StringAttribute::kName, &name); + if (name == "first" || name == "second") { + ui::AXRelativeBounds ax_bounds = node.relative_bounds; + ax_bounds.bounds.set_y(ax_bounds.bounds.y() + scroll_offset_y); + expected[node.id] = ax_bounds; + } + } + + ClearHandledUpdates(); + + // Simulate scrolling down using JS. + std::string js("window.scrollTo(0, " + base::NumberToString(scroll_offset_y) + + ");"); + ExecuteJavaScriptForTests(js.c_str()); + + WebDocument document = GetMainFrame()->GetDocument(); + WebAXObject root_obj = WebAXObject::FromWebDocument(document); + GetRenderAccessibilityImpl()->HandleAXEvent( + ui::AXEvent(root_obj.AxID(), ax::mojom::Event::kScrollPositionChanged)); + SendPendingAccessibilityEvents(); + + EXPECT_EQ(1, CountAccessibilityNodesSentToBrowser()); + + // Make sure it's the root object that was updated for scrolling. + update = GetLastAccUpdate(); + EXPECT_EQ(root_obj.AxID(), update.nodes[0].id); + + // Make sure that a location change is sent for the fixed-positioned node. + std::vector<mojom::LocationChangesPtr>& changes = GetLocationChanges(); + EXPECT_EQ(changes.size(), 2u); + for (auto& change : changes) { + auto search = expected.find(change->id); + EXPECT_NE(search, expected.end()); + EXPECT_EQ(search->second, change->new_location); + } +} + class MockPluginAccessibilityTreeSource : public content::PluginAXTreeSource { public: MockPluginAccessibilityTreeSource(ui::AXNode::AXID root_node_id) {
diff --git a/content/renderer/render_frame_impl.h b/content/renderer/render_frame_impl.h index be444b3f..cfd1569 100644 --- a/content/renderer/render_frame_impl.h +++ b/content/renderer/render_frame_impl.h
@@ -283,9 +283,6 @@ ~RenderFrameImpl() override; - // Draw commands have been issued by blink::LayerTreeView. - void DidCommitAndDrawCompositorFrame(); - // Returns the unique name of the RenderFrame. const std::string& unique_name() const { return unique_name_helper_.value(); } @@ -773,6 +770,7 @@ const base::UnguessableToken& input_stream_id, const std::string& output_device_id) override; void DidMeaningfulLayout(blink::WebMeaningfulLayout layout_type) override; + void DidCommitAndDrawCompositorFrame() override; // Binds to the fullscreen service in the browser. void BindFullscreen(
diff --git a/content/renderer/render_widget.cc b/content/renderer/render_widget.cc index 98debfa..1545ffe2 100644 --- a/content/renderer/render_widget.cc +++ b/content/renderer/render_widget.cc
@@ -568,15 +568,6 @@ this, std::move(url), std::move(callback), client_name); } -void RenderWidget::DidCommitAndDrawCompositorFrame() { - // NOTE: Tests may break if this event is renamed or moved. See - // tab_capture_performancetest.cc. - TRACE_EVENT0("gpu", "RenderWidget::DidCommitAndDrawCompositorFrame"); - - for (auto& observer : render_frames_) - observer.DidCommitAndDrawCompositorFrame(); -} - void RenderWidget::DidCommitCompositorFrame(base::TimeTicks commit_start_time) { if (delegate()) delegate()->DidCommitCompositorFrameForWidget();
diff --git a/content/renderer/render_widget.h b/content/renderer/render_widget.h index beddad0..c7175053 100644 --- a/content/renderer/render_widget.h +++ b/content/renderer/render_widget.h
@@ -261,7 +261,6 @@ base::OnceCallback<void(bool)> callback) override; viz::FrameSinkId GetFrameSinkId() override; void RecordTimeToFirstActivePaint(base::TimeDelta duration) override; - void DidCommitAndDrawCompositorFrame() override; void DidCommitCompositorFrame(base::TimeTicks commit_start_time) override; void DidCompletePageScaleAnimation() override; void RequestNewLayerTreeFrameSink(
diff --git a/content/renderer/render_widget_browsertest.cc b/content/renderer/render_widget_browsertest.cc index 0efc0f30..415efc76 100644 --- a/content/renderer/render_widget_browsertest.cc +++ b/content/renderer/render_widget_browsertest.cc
@@ -103,7 +103,6 @@ // Clear the flag. widget()->DidCommitCompositorFrame(base::TimeTicks()); - widget()->DidCommitAndDrawCompositorFrame(); // Setting the same size again should not send the ack. OnSynchronizeVisualProperties(visual_properties);
diff --git a/content/test/blink_test_browser_support.cc b/content/test/blink_test_browser_support.cc index 7dd1a845..242d4fe 100644 --- a/content/test/blink_test_browser_support.cc +++ b/content/test/blink_test_browser_support.cc
@@ -4,8 +4,8 @@ #include "content/public/test/blink_test_browser_support.h" -#include "content/browser/frame_host/frame_tree_node.h" -#include "content/browser/frame_host/render_frame_host_impl.h" +#include "content/browser/renderer_host/frame_tree_node.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" #include "content/common/unique_name_helper.h" #include "content/public/browser/render_frame_host.h"
diff --git a/content/test/content_browser_test_utils_internal.cc b/content/test/content_browser_test_utils_internal.cc index 625bb69..917c757c 100644 --- a/content/test/content_browser_test_utils_internal.cc +++ b/content/test/content_browser_test_utils_internal.cc
@@ -21,11 +21,11 @@ #include "base/task/thread_pool.h" #include "base/test/test_timeouts.h" #include "base/threading/thread_task_runner_handle.h" -#include "content/browser/frame_host/frame_tree_node.h" -#include "content/browser/frame_host/navigator.h" -#include "content/browser/frame_host/render_frame_host_delegate.h" -#include "content/browser/frame_host/render_frame_proxy_host.h" #include "content/browser/renderer_host/delegated_frame_host.h" +#include "content/browser/renderer_host/frame_tree_node.h" +#include "content/browser/renderer_host/navigator.h" +#include "content/browser/renderer_host/render_frame_host_delegate.h" +#include "content/browser/renderer_host/render_frame_proxy_host.h" #include "content/browser/web_contents/web_contents_impl.h" #include "content/common/view_messages.h" #include "content/public/browser/browser_task_traits.h"
diff --git a/content/test/data/accessibility/html/bounds-fixed-scrolling-expected-blink.txt b/content/test/data/accessibility/html/bounds-fixed-scrolling-expected-blink.txt new file mode 100644 index 0000000..f3bca46f --- /dev/null +++ b/content/test/data/accessibility/html/bounds-fixed-scrolling-expected-blink.txt
@@ -0,0 +1,37 @@ +rootWebArea +++genericContainer ignored +++++genericContainer ignored +++++++button name='Scroll' +++++++++staticText name='Scroll' +++++++++++inlineTextBox name='Scroll' +++++++genericContainer location=(8, 70) +++++++++staticText name='title' +++++++++++inlineTextBox name='title' +++++++genericContainer +++++++++heading name='Heading #1' +++++++++++staticText name='Heading #1' +++++++++++++inlineTextBox name='Heading #1' +++++++++heading name='Heading #2' +++++++++++staticText name='Heading #2' +++++++++++++inlineTextBox name='Heading #2' +++++++++heading name='Heading #3' +++++++++++staticText name='Heading #3' +++++++++++++inlineTextBox name='Heading #3' +++++++++heading name='Heading #4' +++++++++++staticText name='Heading #4' +++++++++++++inlineTextBox name='Heading #4' +++++++++heading name='Heading #5' +++++++++++staticText name='Heading #5' +++++++++++++inlineTextBox name='Heading #5' +++++++++heading name='Heading #6' +++++++++++staticText name='Heading #6' +++++++++++++inlineTextBox name='Heading #6' +++++++++heading name='Heading #7' +++++++++++staticText name='Heading #7' +++++++++++++inlineTextBox name='Heading #7' +++++++++heading name='Heading #8' +++++++++++staticText name='Heading #8' +++++++++++++inlineTextBox name='Heading #8' +++++++genericContainer +++++++++staticText name='done' +++++++++++inlineTextBox name='done'
diff --git a/content/test/data/accessibility/html/bounds-fixed-scrolling.html b/content/test/data/accessibility/html/bounds-fixed-scrolling.html new file mode 100644 index 0000000..2ece330 --- /dev/null +++ b/content/test/data/accessibility/html/bounds-fixed-scrolling.html
@@ -0,0 +1,56 @@ +<!-- +@BLINK-ALLOW:location=(8, 70) +@WAIT-FOR:done +--> +<!DOCTYPE html> +<html> +<head> +<style> +#positioned { + position:fixed; + top:50px; + height: 100px; + width: 200px; + font-size:40px; + background: #555; +} +#heading_list { + padding-top: 100px; + font-size:40px; +} +</style> +</head> +<body onload="onLoad()"> +<button onclick="clicked()">Scroll</button> +<div id="positioned">title</div> +<div id="heading_list"> +<h2>Heading #1</h2> +<h2>Heading #2</h2> +<h2>Heading #3</h2> +<h2>Heading #4</h2> +<h2>Heading #5</h2> +<h2>Heading #6</h2> +<h2>Heading #7</h2> +<h2>Heading #8</h2> +</div> +<div id="statusDiv"></div> +<script> +function onLoad() { + window.setTimeout(() => { + window.onscroll = function() { + window.requestAnimationFrame(() => { + statusDiv.innerText = "done"; + }); + }; + document.querySelector('button').click(); + }, 100); +} + +function clicked() { + window.requestAnimationFrame(() => { + window.scrollTo(0, 20); + }); +} +</script> +</body> +</html>
diff --git a/content/test/did_commit_navigation_interceptor.cc b/content/test/did_commit_navigation_interceptor.cc index 7da47a3..c48e5b9 100644 --- a/content/test/did_commit_navigation_interceptor.cc +++ b/content/test/did_commit_navigation_interceptor.cc
@@ -4,7 +4,7 @@ #include "content/test/did_commit_navigation_interceptor.h" -#include "content/browser/frame_host/render_frame_host_impl.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" #include "content/common/frame.mojom-test-utils.h" #include "content/common/frame_messages.h" #include "content/public/browser/render_frame_host.h"
diff --git a/content/test/frame_host_interceptor.cc b/content/test/frame_host_interceptor.cc index 21b7a7ae..a6f566a 100644 --- a/content/test/frame_host_interceptor.cc +++ b/content/test/frame_host_interceptor.cc
@@ -6,7 +6,7 @@ #include <utility> -#include "content/browser/frame_host/render_frame_host_impl.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" #include "content/common/frame.mojom-test-utils.h" #include "content/common/frame.mojom.h" #include "content/common/frame_messages.h"
diff --git a/content/test/navigation_simulator_impl.cc b/content/test/navigation_simulator_impl.cc index f9bde2e..2a8d1d63 100644 --- a/content/test/navigation_simulator_impl.cc +++ b/content/test/navigation_simulator_impl.cc
@@ -9,11 +9,11 @@ #include "base/debug/stack_trace.h" #include "base/memory/ptr_util.h" #include "base/run_loop.h" -#include "content/browser/frame_host/debug_urls.h" -#include "content/browser/frame_host/frame_tree_node.h" -#include "content/browser/frame_host/navigation_entry_impl.h" -#include "content/browser/frame_host/navigation_request.h" -#include "content/browser/frame_host/render_frame_host_impl.h" +#include "content/browser/renderer_host/debug_urls.h" +#include "content/browser/renderer_host/frame_tree_node.h" +#include "content/browser/renderer_host/navigation_entry_impl.h" +#include "content/browser/renderer_host/navigation_request.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" #include "content/browser/web_contents/web_contents_impl.h" #include "content/common/frame_messages.h" #include "content/common/navigation_params.h"
diff --git a/content/test/navigation_simulator_impl.h b/content/test/navigation_simulator_impl.h index a2aa241..54f1aa4 100644 --- a/content/test/navigation_simulator_impl.h +++ b/content/test/navigation_simulator_impl.h
@@ -10,7 +10,7 @@ #include "base/callback.h" #include "base/optional.h" -#include "content/browser/frame_host/navigation_request.h" +#include "content/browser/renderer_host/navigation_request.h" #include "content/public/browser/navigation_controller.h" #include "content/public/browser/navigation_throttle.h" #include "content/public/browser/web_contents_observer.h"
diff --git a/content/test/portal/portal_created_observer.cc b/content/test/portal/portal_created_observer.cc index 02db085..c4038b4 100644 --- a/content/test/portal/portal_created_observer.cc +++ b/content/test/portal/portal_created_observer.cc
@@ -6,10 +6,10 @@ #include <utility> #include "base/run_loop.h" -#include "content/browser/frame_host/frame_tree_node.h" -#include "content/browser/frame_host/render_frame_host_impl.h" -#include "content/browser/frame_host/render_frame_proxy_host.h" #include "content/browser/portal/portal.h" +#include "content/browser/renderer_host/frame_tree_node.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" +#include "content/browser/renderer_host/render_frame_proxy_host.h" #include "content/browser/renderer_host/render_widget_host_view_base.h" #include "content/test/portal/portal_interceptor_for_testing.h" #include "mojo/public/cpp/bindings/associated_remote.h"
diff --git a/content/test/portal/portal_interceptor_for_testing.cc b/content/test/portal/portal_interceptor_for_testing.cc index ef0833b..a4249ad 100644 --- a/content/test/portal/portal_interceptor_for_testing.cc +++ b/content/test/portal/portal_interceptor_for_testing.cc
@@ -8,7 +8,7 @@ #include "base/check_op.h" #include "base/memory/ptr_util.h" #include "base/run_loop.h" -#include "content/browser/frame_host/render_frame_host_impl.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" #include "mojo/public/cpp/bindings/self_owned_associated_receiver.h" namespace content {
diff --git a/content/test/test_navigation_url_loader.h b/content/test/test_navigation_url_loader.h index 3ee0074..ecd5cf6 100644 --- a/content/test/test_navigation_url_loader.h +++ b/content/test/test_navigation_url_loader.h
@@ -8,8 +8,8 @@ #include <memory> #include "base/memory/weak_ptr.h" -#include "content/browser/frame_host/navigation_request_info.h" #include "content/browser/loader/navigation_url_loader.h" +#include "content/browser/renderer_host/navigation_request_info.h" #include "content/common/navigation_params.h" #include "services/network/public/mojom/url_response_head.mojom-forward.h"
diff --git a/content/test/test_render_frame_host.cc b/content/test/test_render_frame_host.cc index 76413007..ba73d0f 100644 --- a/content/test/test_render_frame_host.cc +++ b/content/test/test_render_frame_host.cc
@@ -11,10 +11,10 @@ #include "base/guid.h" #include "base/optional.h" #include "base/run_loop.h" -#include "content/browser/frame_host/frame_tree.h" -#include "content/browser/frame_host/navigation_request.h" -#include "content/browser/frame_host/navigator.h" -#include "content/browser/frame_host/render_frame_host_delegate.h" +#include "content/browser/renderer_host/frame_tree.h" +#include "content/browser/renderer_host/navigation_request.h" +#include "content/browser/renderer_host/navigator.h" +#include "content/browser/renderer_host/render_frame_host_delegate.h" #include "content/browser/web_contents/web_contents_impl.h" #include "content/common/navigation_params.h" #include "content/common/navigation_params_utils.h"
diff --git a/content/test/test_render_frame_host.h b/content/test/test_render_frame_host.h index ff1749b..f5a2f53 100644 --- a/content/test/test_render_frame_host.h +++ b/content/test/test_render_frame_host.h
@@ -12,7 +12,7 @@ #include <vector> #include "base/macros.h" -#include "content/browser/frame_host/render_frame_host_impl.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" #include "content/common/frame_messages.h" #include "content/common/navigation_client.mojom-forward.h" #include "content/common/navigation_params.mojom-forward.h"
diff --git a/content/test/test_render_frame_host_factory.h b/content/test/test_render_frame_host_factory.h index 6afbe4f..232cfa9 100644 --- a/content/test/test_render_frame_host_factory.h +++ b/content/test/test_render_frame_host_factory.h
@@ -11,7 +11,7 @@ #include "base/compiler_specific.h" #include "base/macros.h" -#include "content/browser/frame_host/render_frame_host_factory.h" +#include "content/browser/renderer_host/render_frame_host_factory.h" namespace content {
diff --git a/content/test/test_web_contents.cc b/content/test/test_web_contents.cc index 75dfff5..5309898 100644 --- a/content/test/test_web_contents.cc +++ b/content/test/test_web_contents.cc
@@ -10,12 +10,12 @@ #include "base/no_destructor.h" #include "content/browser/browser_url_handler_impl.h" -#include "content/browser/frame_host/cross_process_frame_connector.h" -#include "content/browser/frame_host/debug_urls.h" -#include "content/browser/frame_host/navigation_entry_impl.h" -#include "content/browser/frame_host/navigation_request.h" -#include "content/browser/frame_host/navigator.h" #include "content/browser/portal/portal.h" +#include "content/browser/renderer_host/cross_process_frame_connector.h" +#include "content/browser/renderer_host/debug_urls.h" +#include "content/browser/renderer_host/navigation_entry_impl.h" +#include "content/browser/renderer_host/navigation_request.h" +#include "content/browser/renderer_host/navigator.h" #include "content/browser/renderer_host/render_process_host_impl.h" #include "content/browser/renderer_host/render_view_host_impl.h" #include "content/browser/site_instance_impl.h"
diff --git a/content/test/web_contents_observer_consistency_checker.cc b/content/test/web_contents_observer_consistency_checker.cc index b50017e..cfc18adf 100644 --- a/content/test/web_contents_observer_consistency_checker.cc +++ b/content/test/web_contents_observer_consistency_checker.cc
@@ -8,7 +8,7 @@ #include "base/stl_util.h" #include "base/strings/stringprintf.h" #include "build/build_config.h" -#include "content/browser/frame_host/render_frame_host_impl.h" +#include "content/browser/renderer_host/render_frame_host_impl.h" #include "content/common/content_navigation_policy.h" #include "content/common/frame_messages.h" #include "content/public/browser/navigation_handle.h"
diff --git a/content/web_test/browser/web_test_browser_main_platform_support_mac.mm b/content/web_test/browser/web_test_browser_main_platform_support_mac.mm index 893ff00d5..ec56e2d 100644 --- a/content/web_test/browser/web_test_browser_main_platform_support_mac.mm +++ b/content/web_test/browser/web_test_browser_main_platform_support_mac.mm
@@ -7,7 +7,7 @@ #include <AppKit/AppKit.h> #include <Foundation/Foundation.h> -#include "content/browser/frame_host/popup_menu_helper_mac.h" +#include "content/browser/renderer_host/popup_menu_helper_mac.h" #include "content/browser/sandbox_parameters_mac.h" #include "net/test/test_data_directory.h"
diff --git a/extensions/browser/url_loader_factory_manager.cc b/extensions/browser/url_loader_factory_manager.cc index bc2cf21..e5a3574 100644 --- a/extensions/browser/url_loader_factory_manager.cc +++ b/extensions/browser/url_loader_factory_manager.cc
@@ -27,6 +27,7 @@ #include "extensions/common/constants.h" #include "extensions/common/cors_util.h" #include "extensions/common/extension.h" +#include "extensions/common/extension_features.h" #include "extensions/common/extension_set.h" #include "extensions/common/manifest_handlers/content_scripts_handler.h" #include "extensions/common/script_constants.h" @@ -55,1160 +56,6 @@ kExtensionProcess, }; -// The allowlist contains HashedExtensionId of extensions discovered via -// Extensions.CrossOriginFetchFromContentScript2 Rappor data. When the data was -// gathered, these extensions relied on making cross-origin requests from -// content scripts (which requires relaxing CORB and CORS). Going forward, -// these extensions should migrate to making those requests from elsewhere (e.g. -// from a background page, or in the future from extension service workers) at -// which point they can be removed from the allowlist. -// -// Migration plan for extension developers is described at -// https://chromium.org/Home/chromium-security/extension-content-script-fetches -const char* kHardcodedPartOfAllowlist[] = { - "001AD39CF3AA12025F3916EA5BBE485A9C13F108", - "015B796CC3BA49EC236ADDA5C2E152BA351167F3", - "017C99A7E571A821CEFE5B857C61728A91E9335F", - "01E135E201873939E8A148EEC7854419BB8CEB63", - "01FA075667EF05C0157642083213B093BA0959A4", - "024BFDCDE24B48244A1C2BE3ECD0978F6804577F", - "026F030CA5DD83DF48BD91B337EDAA9B37579475", - "02F2E53F48920D9A7E399BC9FFD828CC95411C7D", - "02F53091643337B50E2DB34A735A460CF44F1D7C", - "03140AB3AC1D93D68ED90FC03A9DD15732312F95", - "039F93DD1DF836F1D4E2084C1BEFDB46A854A9D1", - "03AC45DBF57C95A29B32C3FA372639BFC1897537", - "03E5D80A49C309F7B55ED6BD2B0EDEB38021ED4E", - "043F31803F6061AB815C7BAD669BF7CD979DD3C7", - "0481EC7CFDA13C25614A5F92C8C2E1C0D34332FC", - "04DD5A92D629773F3685157226737DA37536B2B0", - "04E1A893E63D136399E931569C192FF18FE45371", - "056D2F625F6D5118EB5C9B3297A37A35A1D5BC53", - "059B488791BD37019497828BB0FE8EB608DFE3E6", - "059D0403B21A854163FAC40C2481A092C47022F8", - "05FB9209518832A5910A9C782C360DA06A63F187", - "061DAA3BFF6D0051D4156285C12FCB50B98845F7", - "0642B90028D8775513FEBB6A624FF3E9ED245A8C", - "0693BF82B0ECC69EDF65186636046964AFC619F2", - "06CEB6DEBFEFF246222D6AC47380966B8914B83C", - "0717F98F42E1171C7A521F14AFA5AFB4E055537D", - "072D729E856B1F2C9894AEEC3A5DF65E519D6BEE", - "07333481B7B8D7F57A9BA64FB98CF86EA87455FC", - "0770CB87BC768037E0E6A15FB8207158348CD65F", - "07BB74835C525D3C614396B7B5B7D04599CA4458", - "0803ECE158EC0DC1074BAA35F3DC4950D3B60ADF", - "08117F7E9E67C56015E57C654AB08E7853ADCC76", - "08478FF064BE6BC13C76B1E132FC7E1C08778B43", - "086E69ED9071DCB20C93A081A68360963AB09385", - "0872D01871BC7F7428E075D656874AD43580B575", - "087C282B1225478506E347D10DE37FF91EDFB1FE", - "089EE1D0684A54556102132EE608D1A6881AED7A", - "08B97CE0AD3AC6AC66F1B7BBB6B75F1C7DB3630F", - "08BFCADBB121432CB690991CA723440353C4A7FF", - "08D2657D19396FAF6F7E79BFB8E2907F627A7C82", - "09386608C84745F0A05AC8C97165D8D76AC83771", - "0951FF554FEBA35D4F65C4720FBC310C52BD0235", - "09AB44227BF388C9E50808D7B3A80061A2385689", - "09FE1B8CEDF651D32E105343989D78B80F26DB82", - "0A8294C2947BB518747D37B3084FF72B0978AA25", - "0A8E468BCEAA5626207AB77C431C31C1F2A8F76A", - "0A95835D6046053B78FEC99BE836ED5DAFFB043C", - "0A9C03598CDBC1F2DE0AEA1C3259A684354D1B52", - "0AA9C37F6EAB1CCC68A40AD57C07299BB4D5D3B2", - "0AE86CBBD7C0D0457E56C203C998A4ECFE9B97BF", - "0B3F5168406C54B90C54D2440A4834BF2A615437", - "0B60F28C087FE63C10306024CE5428EBB6910B31", - "0C011D916B15E5451E1B84BD14397B8EC98F455B", - "0C16BFA831D91838591D40141E86F8C790FB250B", - "0CEDECBDAEEE2C60D71920780CF87795EE8EBE47", - "0CF9F8B255D9CC6442FF5AFCDC882CA980F1F6E4", - "0D59FF756C56A11E8C67BC11674A00A1F688EA30", - "0D613BD02FBA680ED3D05ACC59B80DC85C24E213", - "0D6C5E12B5D03639257D4C83AE1C27ECF1419C98", - "0D75D9FA74C4842AE3F48376E6AF9B40D939E345", - "0D78213B103AA028E6379C8698CE058F5B66C889", - "0DC93430753D9979FA4D7E743634667BB216041B", - "0DE3100B17531BDAC76EF343446FD339C43428A2", - "0E03C124C14D2C2DF3B0A300DF3602BC10570297", - "0E79733502562D8FE37C1303B666AFCF9E5C55F1", - "0EAEA2FDEE025D95B3ABB37014EFF5A98AC4BEAE", - "0EB093BB49D905EB2A58518CC2B5A1BDD32B912B", - "0EB6A7D4AC263AFB36982C54AD01B45AAC6274CE", - "0EBBD4E2E6507C39E4A7C419148A79A75B859033", - "0EF3153C97E2A21BA9A030F892D8B7D9DCF42465", - "0F9635C195FCF512DDC7F703C0C1FED6204C7C23", - "0FCD1282065485458E630683F098F591B24C406D", - "1051FA6D3583084D720C95CFB838D4AFCEE9D6CD", - "108DDD33FE26F84DB5382D0B5FD53710FAE18786", - "109A37B889E7C8AEA7B0103559C3EB6AF73B7832", - "10BF682BCFCC6CE650C272866F5AE9A786435226", - "10DEF1ECA030DAD7F106BF8A96602AE5EB4790D5", - "11AF49711EE340C366CC820C98E3CA2AD7D7DE07", - "1249076456D01FBF073EB1836260B277609D887A", - "1277DD74DDEF54CFE617933FAD615D76A675B380", - "12CBF96E5FAB9BF1FA775EE73B9AE4F3EF09CCD0", - "131288BE8E8FAF6F0F79D5DBE52690DD8454A2C5", - "1327C41E40611A0ED7CF262A23479CAA54BFF9F6", - "133DB2645EA6F47B7815174B84176358698A15D1", - "1404B0AAFE91E1B2943BF894107044BABCED394F", - "1436648717CBDEBA383F5F9BB73820272D44D8BC", - "1443257B570989E8C475B6705D6AADD4A4C9F492", - "1444BD93D379C11713B1FEF148B346EA2842F576", - "144BA24FF72B0018487DCAA4E430B07666953ED1", - "152BFAFD4A443CCAC4F0B51D555922FDE77BDCC3", - "1532C5043CC55856411765F7185DB8D40D8CB7E4", - "15584C789AAE8E9C463DB4E2292242B8DAE5E7C6", - "156D8160F552FA0C1137DBEC9DF516B24998954D", - "1571A312233E5D27A8DE2DEB380888A5A397E4F0", - "15942842B83C261B8C92E5C4BA617D53CB9CBEE5", - "1597BB182ECFEBC651E126B74B8921536C14DBC2", - "15F4DAB82B888032A17A64CA8074A75D1BF0B978", - "15F9060B297230B95BB3A0F5F96CAC5B9DAFA9A3", - "167FA3DC1068A0B7D184D38C08BEAAC680519564", - "16876B73E8DBC57847E69A926603651DD0C47083", - "16A18F16E024A27FFD7257D86A5C8FB2C8B76D15", - "16A81AEA09A67B03F7AEA5B957D24A4095E764BE", - "1742E04AF9507CA756C3586C8A13EF052BCDE1D6", - "1744ADAE8D267152F17CF05ACBCD8B790F137EA4", - "177D61760F849296048F1C3BB0C544A82E1D006A", - "178C3C0F2A66BC8D3B932E2BC22AF972E60B5528", - "17E54C23FDC38FFCE53F468C38809380A19E8528", - "17FA7D9F5DFC3AED2A8731B3A578FD7CC918061B", - "1807C4E945F3BCD7F74DD2629891F1829AA6A980", - "189979A7E2E49D8433BFD7E08F88C6D618DE48E3", - "193DC6EFFE553A60C3AFB1433148A400606BCE91", - "196759D870F870E60C9EE43E2E18AC78555438E0", - "196F2CFD65C1D204AFFEDD02DD9D1A9A4260C399", - "19C8474AD1E1688922C550DB4A16C7DB3E077064", - "1A8BCBBA85968D7B81C1DFCBB9CAEDEB0E6C1ACF", - "1AA9C1A8077156746117F28C69CE0E4C3BC0D55F", - "1AB3DD23FCFBFDA310A582537F9076EF5C026155", - "1AB9CC404876117F49135E67BAD813F935AAE9BA", - "1B06E7F53C87771EF2DE5E5BC34D3F32DF7E2E15", - "1B0831953F72682245EA0E8FC3F16EF75D2F0FBA", - "1B236F4ED1C6006A86BBAF69B608009D077BB04F", - "1B608664279C055B27DF0898D43D65E2EAA8CF12", - "1B75745EE8EE823FDFDCCA0EEC9BF9014CC43941", - "1B9251EF3EDD5A2B2872B168406F36FB18C72F37", - "1B94908C734A3656AA83DACE040961F77CA64651", - "1B9585EF1186AF11E3A3C51253A4F82698CDD04D", - "1C173077EF48DA6ABDFEDF6C90BAFB3B3E844353", - "1C1781DE088D33755ADA01FEBC33983547727D5C", - "1C5C92B7634C1144588BB120CD16EC9C926A7226", - "1CDDF7436E5F891E1D5E37164F7EB992AECA0E2D", - "1CE58036CD6465049337A21289BDD44E0F7C4BCB", - "1D10B20A40D622DA22FCF9F58569EC377AC0196D", - "1D35AE126F6233B18E3403DEEB81F5CFBBB5371A", - "1D487B4161740C6EA58C7C7BDD3A19CB572E7176", - "1D62EC806B297E6861E67F46275F7C8F0824521B", - "1DB115A4344B58C0B7CC1595662E86C9E92C0848", - "1DBADCC3E04D55D6E7BF7ACA3A4FA5EAD3AFB393", - "1DCFEFBAD97CF9C548A7049BE5F20575F934ED46", - "1DDDB3D39A38E02A08276BAA6956B6FC973B6ED0", - "1DEA2FD7746FF7388FA1A51BF632AD960CA42109", - "1DF1ED7172DC5B9FF337909ED5C32DED74084825", - "1E1C5848B2A8C222B3461746DACA918D8605F911", - "1E37F1A19C1C528E616637B105CFC4838ECF52B4", - "1E69702A336D9B51541E05E54F51077A22B8DCE4", - "1E8C3E47B230E9F02B591CFC08B2A38236A5FA63", - "1EE442A305BD75BC34C3348B22567C0318CE3150", - "1EFA1AA667F02582BEE8D4272388850CB17F4A7C", - "1F1F9DC6B557A5726B5FB581013A133977F7F588", - "1FB4C5C31977EDEF6228E2C433D8ACE13FB0A439", - "1FECCADDAA55DA10BC85E21F730AEFE963151BEC", - "20481B1112CDC94171AA986626241D2AB843767D", - "208B297E20D1DAE52D5427F5415E11757DC3C7A0", - "20CE05E3B757FB3A596D87877422EB49D96BFECB", - "212F3DD77EE38B1AF16C6C1FC9D814E64895336B", - "2161597A85C284EA5F4BD13C7FFEB8A3F09A0C31", - "218035388C124BB35EAAD5BBCC50C2CF1DFC9626", - "218D2C7F5171099E2CCF3A537DF48570780FDA78", - "2198934DE5C79EBA74C50D962E6B286D3D701150", - "21C1F20C28E717DC6FD496596FBEB31D798D0236", - "22275403667614E93B5791C483B71FE663478B6E", - "22A18C9A41064C8DC8D3340B214B024B8A8799AC", - "22F1FA02046454337ED56B127C3AAD577D54A321", - "233E1E14510A47F062942F081855CCCB57CC705D", - "2353A401179BCF408BEED2F073B8C3545595B027", - "2376AD681FA0D018B92AC9165B7A2F83300DE03E", - "23CADA60EAB3E15FD66FDF75E05F865444E8FA7F", - "23D4B2307913F98BA8B299A11E1FD6DA4E59E092", - "2477B7C93D854E02744672933F3BC7DB9660F168", - "24B24CBA3D4B395503F9B0D6286E55E0FDDE4D69", - "253E995A7D0D950ADF7744E0B6236E64E68FC411", - "2553925DB5120315D5B4A46693DEF0803670EFB9", - "2572B70A026D73879791952A2EEEAA954BB00638", - "257EB7BDF2754ACB3B30A65AE9B32A53AE77BC08", - "2591A38C013AA9C70880457B3FBCF54B36113CC0", - "25A314FDABA8BCED4F12ECD630D72D659F7C3913", - "25E2C753491BF8CA198ACE32B2D8193042D2A735", - "25FB15221561289F93A2B068A2F37EE34E7D2403", - "260871EABEDE6F2D07D0D9450096093EDAFCBF34", - "263D4C0A6EC7E24C88C075E3FC8CB10730584EEB", - "267263E72B5806A3D4C86E67FBF5FF60E19A719A", - "269B3E4F1DAABECC3EDA25A97D4F885296FB831D", - "270136CE5B2C645FD13B772DC5CCCD57D7EDD92E", - "2706E4C376212674874CDD520F4EEAB5F8BA821F", - "279CA4C4955DC9203C557A10B466FF7171C4CFB9", - "280D950AC9594AB5EB7B8B1206CEF6D030EA3855", - "281CDB9387142CF6B0471D60781F97AFE1435FEB", - "28492FBEAC7814AA1EBE98B36F76CA0E4E27E129", - "28665795575807BDAAC0578D0BE8ED9BC486F55A", - "287D856732FDABE58F30D0E409FD49A667520ACF", - "28A9EDFD65BC27B5048E516AA7165339F5ACBB30", - "2A403B043A97C72990A6691FB8C71867DC180951", - "2A661509BCE9F8384B00CFC96807597D71DFE94C", - "2A9544B054A84D67D80AB6EB2F11708227237F09", - "2AA94E2D3F4DA33F0D3BCF5DD48F69B8BDB26F52", - "2B0E0F3E620FE80762023801998B5711BEEADAFA", - "2B1EC591C7C99CE9B3BD4D121B6AB2253A259220", - "2B7F85AF574527BC9CB593BE22E7C9C8C99B1C61", - "2C116B242B7425D359E188AB053B3F88DB78F78D", - "2C5D0461096EF11DF3BBF63A1036F01B08524ADD", - "2CA0E066D2C6BE48F55C73641E12D9132113DE13", - "2D173616DF854FB22B719E5BEFAA268D756EEBA9", - "2D2015130769B2239B7186BBEAEF9353710F0CB2", - "2D67D58FA12CDD06F3700C6E86D0ABBB0A0D4B0F", - "2D70F39614AF48D981756C01FE85B706C6E936A4", - "2D86FB3F13635784D14B1E61B4671E982B0EDB98", - "2DEA1AEE844CE544260E5D6B28A3946B99E81C62", - "2E2D8A405430172AB15ADCC09740F3EEE990D605", - "2E3AB631E3BFDB5381E91882EB13620104E77E88", - "2E87EAF93DF9998C8BE9E9806E53AE3308AB0C1C", - "2EDE32122296211E8E2CB64938E8180BB8970A90", - "2F2250E55D04B482C89985284B7E0AFB9302EC95", - "2F23D3E5D0F8AC36F1BF5C3F04FCF9390C121A43", - "2F2829C7F00905ED285B90266318D858E5A98BFD", - "2F28B87BC98D6FD8DD540F34624F268C497D8E9E", - "2F6F3FC9CC049B01EEB0BA7F52A75C8928459A03", - "2FCBCE08B34CCA1728A85F1EFBD9A34DD2558B2E", - "2FE96E2733D7E7DC4B7388D1F0F051B7E384784D", - "30E95BD31B11118CE488EB4FC5FF7135E0C59425", - "311AC2B587E1440DA1E7B529070E6A1944D30E06", - "31211162F6EF4746ABE6DFE3D5BAD7AAF59F1EE3", - "314F3340B7664576E266AD9DFA4476A59DD29C17", - "3170E9B54BA1EEF63EF4313FF082FC62515642A6", - "31B5428F22021EA93AC2C738142DF272791E0C3A", - "31E6100DC7B4EAB4ABF6CA2A4E191D3945D3C731", - "3227BB2ADFE3EEDC9B8E729C7A8084C99C84C3E3", - "3230014EA01150A27C1887B700E019B27A6DBA08", - "32B1EFA99BE7A00D97EFD07225418E3C0E99ADF7", - "32B35933FE360760ABD9861C2A40C53ABFCB2608", - "32B74F89253ED45D15CDD9EFA5F9E47760937CCD", - "32BF170FD07523A818C60FC1A501763D0560D2CD", - "32DF1CC4FC99FD888E0C7C0C00ED393CB965AB53", - "32E6FA4FED2D9C639A51E5F0591D7DA7EBEEA1C5", - "332199DAF46A4B69814A8A1D5DB7762C5F539FEA", - "338009CA728F9F187FB8A8DD37A4DA9E354A78BC", - "33C4C2747EBD5E9B0B163F52BF0767C07C34177A", - "344C3460658B7013EDFD5D59A13CA640743F3595", - "3469645F83F8A2DBC81A79AAB0FB825336712A35", - "34DA902F35178024F18B8DCE4F402F5E53D1B8C8", - "34FB670464B5F16EF5ABD6CD53E26030E97C26B3", - "353406A09FE2FE9BC81B2AA897CA9716942F00B6", - "355C72B86113B880079E3C9B892B479B0666CACD", - "357E691D2C14D56AFE2BCA9B92D464C84BE16AC5", - "358047D6D64F3CC458A8D4E15A29EEAF64095AAF", - "35B5F3E8D47891038683DA008A2C0F93DB7D0FEE", - "35C58E31C3605318A96FC4E6CD372A67E99B534A", - "35D006203E10451026FB49C3A4FA325801DD4B5D", - "35E472E308A7595B177E210DC645EEF6C919FFE9", - "360D8A88545D0C21CBDE2B55EA9E4E4285282B4C", - "36352446BFD26AFCF1742A3EB3457D3B47CD91AE", - "36513CC18AE9AB4B8DE8CE3BC1FD3A587B9D85F3", - "36C08428FCED3C1343148C269B9347BFFDBC31BA", - "36E2FED6523EAA180DED75D85AEDC1CB69437593", - "36F10A57E862BE4195F2A41D3FE51A2ED812FA9C", - "36F2D937F2536709F20A2DF381CAAAE3D1325237", - "3708BD5467186A891933BDAB0FF32B194CF42961", - "3787567233ED6BACC4FC05387BE30E03434CE4CC", - "37AB4C45F0BD29BF3C08233F291F067C0AE2EE6C", - "37AC33A3A46D271CCE57DD6CB3FACE6B01F5A347", - "37CBF5F4F6A3AED90F200D66B4AD7A4B14272F4A", - "37ECBA60432534DEDCEB0AB4865F072D6CA2EE03", - "3816988FF0800A2BA3F23224EFEFF7CB7502EFA7", - "3884B5C2BC208FD3301FE89967A1D439B820A0D7", - "38B4D1CC339580F506BC86D4027A49721AFB4BB9", - "38E60B7F2D97D82F6DC05B8E54DF94BEB8ED74FE", - "38E89318177DC1483A96B518A44D61A673D99CBD", - "391D21AC3E798ABC606D0041F1EC7928C9C51B5F", - "394BEE12FAFDC2D79B65F91E78F0DDE7A48E2683", - "395D84F94DA287C0E4DBAF9ACE478B9710C0029F", - "3982012093F49065EA1330AFB9F514E0F90C3E5B", - "3A1B4B81F51BA04B63FC916CB2BCF1BE6981CA9F", - "3A1E710B7A388AEFE97D43C2ADD7BC70637F40C8", - "3A2E664CA697C622EA4CFA40373B3E641C01713B", - "3A50888650109580C2AE4982E4E404C903E73665", - "3A8318605ACAB150785E82CFD6404D281D217562", - "3B2330B5F9914BE159293A542A9014A2AFE40F48", - "3B3B8865025A2F3699AEAB649BE2DA326A672490", - "3BC834B48C2C13765147FBAD710F792F026378D8", - "3C46CF93A0360ABE8E343BE3EFE3B3215970F703", - "3C6877F6D92EECA600FFFC83D1D6555EC99E5DF3", - "3C79F1EBD8EB9E57E18C8041316EC21F2A26ADD7", - "3C9C735DA09AFE22622DAA142F175FEEF968F1D1", - "3CB0A5383ADDAC40ECAFD6EA6638C1399BF39EA7", - "3CD98763C80D86E00CB1C4CAA56CEA8F3B0BA4F1", - "3CE364C4E0F4FBE2A1B44B853D8D91DD1695C985", - "3D00029CACBC7F63AC883D13566EAA36D67E6F5D", - "3DB3CB7C3D19D16E10DD5BDF9180260C0412BFBA", - "3DE75ED9F7BDAD63F1A03AA634098C5071CA5FD7", - "3DF1C26E7E7B42DF009364B97F64F95F9DC4B932", - "3E40F4A482BCF7119E67665D1C4AB913090A524D", - "3E4A7CBE8BB0AA21D1B5F41BE10741F43C910083", - "3EA3288BB1D8C92140786333900DFEEB481746C6", - "3EB17C39F8B6B28FAF34E2406E57A76013A2E066", - "3EB314D2771369BDB90AF563C0D73715E99BD736", - "3ECFFD113DEC004DDCDE4BFA4E2AE303BE6674E1", - "3EE2A6CBAD8B23E5E7BB3DDFF87ABB7C89ADCADC", - "3F12E32022CB5E69DD4E14C7B1167B538EF16A43", - "3F263A68BEF4218DC480C2EB88757DC82C7A5E89", - "3F9D8536B51987D6325BBFACE61E7C87C547DC69", - "3FD0045A7622F0B0D645676EDE39E889D955E7B4", - "3FDD3DB17F3B686F5A05204700ABA13DF20AE957", - "3FE66F596F2A801813FD0A92BAD5A8495808D65C", - "4048987A863DE68EBB0D5C1D9E398F0862A4074F", - "41536C3554CD9458EB2F05F1B58CF84BB7BF83BC", - "42173C287B067A5EC9960FAA91D761CDAB1F2F39", - "4286E908EDB5200568763558A560912F0B25C470", - "42C96DF87C997828C185DAD247F469940DAFC2CD", - "43284441B80CD53EFAAD69F126663BBA581C2AC2", - "4336850E4CF0FBB895BC11CC64C5F1FC96B45DA4", - "43865F8D555C201FE452A5A40702EA96240E749C", - "44777ECA08C91A96DE8183EDDF066850BD0BF083", - "44943FADD66932EF56EE3D856A9FAAD4A8AF0FD9", - "44987E1C35CC8E335F85D94AF548C9D6D612F0D6", - "44A803D900A49A7A710635E086F13F0CD4F121CB", - "44FA182A9A0309864A23B45648AF7D897A9D88E9", - "45886E0F0CBE62BD6D8B0CBEB29B636CD99B5AB9", - "45919AF4D57EE58359BC6151CE249B306FC6F1D7", - "459A9EFCDB6C8D27B36740978916F137EE534E17", - "460B8822416238D6484531557F9C42A40369BAC8", - "461097D2DD51D709C6D48F44E0ADA7D2526710E4", - "4619943BD13FD4290EB8AC00CFCA67149B628E93", - "4633828B42F673E0E62475059526DC2C24091690", - "4633AD472DE033463ED8D1DF25B5331F226EFDF2", - "465B41EA912F1514175E45D279C02812B4859300", - "466F9061DF78FDA547692543711761E68803982A", - "46B6DA8F213B8AE0F87E2462D41E3F799F2E8A3A", - "46EB02CFC16432F1C2B258BCCF9264E828D85B23", - "4755A1A577CE400B3C9E7ACD5F6D2F83D617033E", - "47594B4F4D46594E6DAB8B6136C0D76A39A35404", - "47850E0C163AF9D568E2AB3CA2D190BE0DEB8DE7", - "47ADBB376050C083FFC54CC28CD3D1F54BF0BFED", - "47BE97C4B2CA186501F73C407EC9561D0486DB4D", - "4858A3D7C087BEF031C5A2DF9FAB47CF3224A4A0", - "4884C48FB64665BD86509BA1F2D22D75D61ACBF9", - "4913450195D177430217CAB64B356DC6F6B0F483", - "492C56C9F4E12AFC48083250C8D31B61AB4A62A3", - "496CD550A55788DC386C0EB2EA2B14FE6DE2335C", - "497DCCED4EE5A66F50704E8ED266FA2D5BF83BE1", - "49AECF860A3D1B456CE38CEB6191A480D5350287", - "49FFDF2212E50090963E33159DBF853B5C475340", - "4A15AD9F12FB35BEEA6FF1807AC782A1DF979387", - "4A4E0B370B65C9EC65C8A615B1B9FB55A1B3E1FD", - "4A654AE859483A068BD9019F53693A3D758EF656", - "4A8EEEB4754A3E87C3A177CB31474A30967CB3C8", - "4A9C5FB9D686BE6286472EA974E1321273EE0619", - "4B0B2BAA989164492A6A6B466C52FA6E2AEF0839", - "4B4953EC99E004D8AE555B32FCBB2ECBAEFE7AF9", - "4C1E929A88AEFFD32785172F87D01AD06131F8C7", - "4C8A116818C21D850E951891EBFCC883CEF597B5", - "4CD019A88E1B296671ADFE2CFA334883089551F5", - "4D1D5D1FD4E311203ECFABD564929591965FDAD5", - "4D4540076DFC43E227C1EBB1D2703BFDE221073C", - "4D5244C81BE79B515A14688B4DB3FA0B43DD1427", - "4D5C745787C0AAF49F2CCB77BE987506234BD74F", - "4D6B5BA769F0FDE3739AE98D831BBE8CF7946B3B", - "4DBD169112B4AAC2D3B5D53235D3515E0F9B73D0", - "4DEE7B0310B6F7932FD439AA816185F6EE39EA84", - "4DEEA4D574A1EA6042ED38AC09C2A4B44B3592F9", - "4E4167EDA0CFF22F261C0655E979B9474BF67C04", - "4E63FBFCC6B6A3DCD3E0A970056F8C08542A5C09", - "4E728E0C1AD0BB2BA5DC42A6477023EAF2296BA5", - "4EB0185C066842FA73321F4D279F02191CE93417", - "4EBFB4F3876F6D84CF7592540442386A6EE8378D", - "4EFB5D7F77A33B8EE08836BD23B5B84EE1AFF686", - "4F22104F003D33CC1FA8118D0D02728AE866E18E", - "4F3051ABAC92A9E4AD1030A9BE1A3576D5E3D1A9", - "4F6E29C53CD235F490C955B267F80BE501D6EA9D", - "4F83D2D42E81C2F85DC73104FC2F1694D0AEB8C6", - "4F9164DFB3B9EA8C1C5995D22E477FE4F96DDFE5", - "4F93C868A7F88696BD6FCFBD8BD110B8EDD1D279", - "4FAD733F7F7D33D9A281594AA738D576C423AFE2", - "5053323D1F7B6EEC97A77A350DB6D0D8E51CD0AC", - "505F2C1E723731B2C8C9182FEAA73D00525B2048", - "505F3697087BFD3F290F42D029CE67F1C793B2DA", - "50A20B99E786456EA2D329D64D8C8D585881FDB5", - "50B5808078F28B0103B365A390B0F4D385CCC064", - "50DDD8734521B61564FCE273F8E60547F88BBCBE", - "510346881B10E57E990044722E69DD4BD53A1A5C", - "51140D924812236B863A847AB6C6425F0912A89C", - "513B49DE7408265F4B6632966717E146F8AEBB90", - "5197A1B3FF54DF1A973E49A1B68A40117346FC5E", - "51C443ACF95A3FEF9852B93AEFAE0EC3EB712104", - "520B7AC5C284C6526DEBF2644E73B3C4246E14B6", - "52362136E63CAF787E03A023AC32261AE3B0BACB", - "526EC8216C7CD201D22B900C402B72186C17B1D6", - "52865B2087D0ABCD195A83DFD4BD041A3B4EBC34", - "528F2936F856E01F9D50E7EAD0D36A1AE4999C8A", - "52C94AC7680C3A03CCB6EA31445DD42BD0D5CA8E", - "52CC878CFAB3973AAED8E987C5D6CBD61547B221", - "52D86AB95FF17DAE3BA11BDC96EBB2792F95E623", - "537D26CC4EC6819A6CAAE8B8B5957F5ECFA7A44B", - "54957A706AA23AA585E1C6808D117E176EA1ECA4", - "54ADAB88C5D0FAB9A396EAB8D48BA9B1DDC1806A", - "54F4253B2A3B4191FF24DE508EAC148312F59846", - "55463E2641A9E92725D73E5E1977B5BC7B70BE4E", - "5586AA28DC43FE80770957F375276A5A2D347EB5", - "559115C55A0B5FC66E65C03DEE6589986613A3C0", - "55A51BC57B804F15359E4C8EF1DB609215F4C21E", - "55B4B47746EF38EE454BD6FDAFF86B37A3C51287", - "55BB4D3E3D6B105780EDA82E4760D1D677F1678D", - "56167993259CDFE9F3405AAC9F37A01249947A90", - "569A1014CBB764162029FD3A79CD3D35EAD4A868", - "56B64A192958ABCF9C6C3310E691EB455FEA0FF0", - "56C7EE7F70AA7987D4CA5BCCC60195F1DA6CF0E2", - "56E94A4A65DB3B0F6637432F0CE3EB39644A90F4", - "5740B8CDAC9789B11894997CD2094BEE19EF41FA", - "5741A650C3AAA935154C57681310805B5FC121C3", - "57BC97E0D3CDEB03BBBF48908F04EE2D59217620", - "5814204FBE5C597BA680700D38653660501579CC", - "5824ADD0CEA777E6F5E92E69FD2D3F8B8636F532", - "583F2EA72EC05CDDB79A13EA944DB245BE771CAA", - "586B194969A4BF228CEBD1B0926A0C687358E5AE", - "58711B5E37296334E27B853608FA5C14EBADB800", - "58AE91FF9900292B229CA96C1363C578B2247246", - "58BCF05A42C8ECED4E6D76F51E2E1A64AC4F7E7C", - "59DF5E2DB8A4254F252E0B67925859CC6BF763E3", - "5A61AD2CF4EFF3442865F5E479A4EE387182DF92", - "5AA329B141FC5988BA063E356357698324E8579B", - "5ACC3F0600D935149C9AD20EE6304D63DDF873C0", - "5B2A802EC301C2D762D6B317F71C31F55E125E23", - "5B30795FAE8F31BCAB80A802BDA04FD2F893521C", - "5B5AEC45B3BABC39F4C941528FB626CF291B0CF8", - "5B6DC4EEFEDF06CB2BF439E4607A5BAF6E45CCA1", - "5B87AD29D2D1B3681BA34C7791D861E865F73F9B", - "5B8F0F37625063968752F92465374C0B4E977F2B", - "5BD03663D1BEA26ECF072E17643CA0D9B5119AE2", - "5BD5FE5E13A75D00C96DEF9EED5D36A6170E1A40", - "5C9638FC44847B9EFD7BF03953AB164697CDBBC9", - "5CAC6187739560630B6EF1B378EB6EB6010ECFC4", - "5CBE529172F1D28979DD2D20E023AECA8398D6DD", - "5CC3B24EE1FF3E3F3DF4AEBDD5034303E2AD996D", - "5D053188715019B19D3F4CD2601AE8A08818A623", - "5D5E13696ECABD6C07BE28ECE7627B470D7B4C17", - "5D716C0F55DDABB88FE7EFE06634BB0CB3899CFC", - "5D740BF4BFFBD895E9977E7C544708954DA1F673", - "5E052881B4847F68CFC8ED1A00C341FC14009C1E", - "5E141B1260392ADA5F5E60DD328D528135F08A3B", - "5E4A3ED707654DAADB5766DF02AC1F1DBC907D66", - "5E95C2CD3072DB715611F309C839C372818893F4", - "5F0C47BC039BEDC1B29B68918F75370C292076A6", - "5F54FBF8540388E10617E0652978EB892FCED5E1", - "5F697BDD4A60FC02B9D62504A46B16DD11852925", - "5F7F1C828CDF45E5086F4307340A83AFC3A83FB4", - "5F9091BDDB26A2A469156991E0C51462C13916E0", - "600073D16D8F7DE2736541786A00AC63A88C69D1", - "60A37D8D7FB0951D2FF94E7BB6EB170C17E96934", - "60A8EBB5ED901F646295FA5DB2F00ACD7FACEAA7", - "60EF68441C487698F9DFA58EE5DFF8719553314B", - "61CB2F590DBCAF33E224EE9EC60570B2045F93DD", - "61E581B10D83C0AEF8366BB64C18C6615884B3D2", - "61F5CAD91090E0D901186B5C60C76E9CA924286E", - "628FDD7CB49D46CF545AB9D46B3188802104F973", - "62F204682725A1635122A73E1A474FB59D47CFF5", - "6331F97DB7C8AFEC624BF7F70037DD8BBE3EC237", - "6357533CAFFB94A9EA5268ED110079E15561E469", - "63C91AE6A3A3E889DF2840E5A80DD3AEEEC23897", - "6403A50471B4E15A6DF1AC8560847AA7B5B0DEEE", - "64606DB0229A6DF1E9D6F0D8E5A06C5F53CDFA86", - "64F2584B3921DE66D7A26354890407226AA0287C", - "65541B4CE85D44A70D5D9B0BACB4CC1879A38D54", - "6561BBAE78042E8CE9CEC86CF57CB3F6C6BA3A52", - "657E854F9B4051A6B9EB021E9ADA34008770B14B", - "65BC9A5593947EBFDDE94246E9E75D9ABE0125A7", - "65C20C06ED10E6F39EED527AC736D87B0390DE70", - "65CF63F823543421E043A6D4E5A92F2F0948A5DD", - "669FE402C0E990AD54B9F0A980B94146457B8B7A", - "66E6D3D19F16446D8A276044987987F8BED60392", - "671AF76AC51B9DB49BE91ED0C899CA764FE839E0", - "673CE5E03BB1B9118355414DA86505D9C818DC08", - "67528F9B47BE454EC46809C33D24F2C199BE408D", - "67648959135B4DB7BD477C25BF3F5D6CCDDD5698", - "67DF548854CFA7301F3A9812C6057FC4D0D0515D", - "67F7A0C8C2B1B8DB42F1D2EA31D06E3134B2CED1", - "68013D7016B07931BA942EB0750B69DE1D16A985", - "680FA5537E5A90CA7FDBEC456417C90B732110F3", - "681782D81E0B4FB9827C8751137E67960C86ACB5", - "682C0FDF66B4C54338127B4452EACBA69F869558", - "683CF3F0C5B043E42AC16A69E084590FE8A99B1E", - "685B50DB5A4F15B9BC7A86048B955D565DA98505", - "686E725C0D21FFE3B531AB1436B485A5BC91AD5D", - "689B82114CE3B8B571CEA0165F210B6E81ECABCE", - "68F43E671577CF03AE901A5780DC07879331A3A9", - "697ADA09B0BE153F0FDFA75CB6EA6E59DBAF0837", - "697C13B12ECC256C572BAA83DD307B9EE4B56089", - "69B4BB694CE8B0C436CDC12EE4E44156CE3B86E6", - "6A113D4E2F96997D9BA4B391B90ED51058B37EFF", - "6A1C4F7AF8CE01F71D05AACC6135BAC760CAF372", - "6A7D36226F9164386E6A4FFE7BFC8085B79C71AB", - "6AC80309DFC520442DC863D67DF51AF5FD046153", - "6AE81EF3B13B15080A2DDB23A205A24C65CCC10B", - "6AECD6060707342349CBEDF3ADB0E92B180D0466", - "6AFBCEFFFB91764F53A4B4723966AABA618812C8", - "6B1006DF2A455E97DE23F5B8FCA55A90D80F446A", - "6B26778A4E34DD2FE81DB0D20782F6DC0C02D04F", - "6B577C6C3295CF7AED08F6D3E3DCB1B319BF6614", - "6B6BCC96B6D84A1FBAACDF816D791301EABD88B3", - "6B9D86D1BCBA70C8F94ABBCCC6A6EC9E4DF5C20C", - "6BBEA9EEFE87F615945A7AF4AB7C68EF80474E00", - "6BCECF54D7674A201ECED79180001B5424ADE5D3", - "6C2BC5FED8E92DDAFC94E32C02D79EA2FE0B4FA1", - "6C38D1FE8BA32246F020C1AFFA60AA1CB518747F", - "6C41F0C01A0D1533E7F6EE9F39CBCCBF1FABCB99", - "6CB5E7574A65D0BB6A0CE681A774605F9252AB08", - "6CF22E7220949EF4106E83D1C6352A849E3953F7", - "6D097D8A32C8A6008EBE6B4E8B093D68847435B2", - "6D0CAFCB4CFC47C4A9F5ECC1171E42A3BDFDCD5A", - "6D2E1187514073075482A67BD4F5CFF5543D8F64", - "6D3A671DABC1F87910A1AA67EE85C02095D35624", - "6D6DB28B48308ABD069D5832A5BB3A8E41FB04B2", - "6D8AA0C0D02C1ECBC2CB7C421A538D1B42EDB3E7", - "6DF1D3D4A8BB8F1CB1CD54EAC2EE96E83E45D646", - "6E15C157CF19188B732C6F2C1266182AFC2FCFFB", - "6E49449D56D031B87835CC767734AF5A064E1A13", - "6E85A55592D502E50D579611AB1CED3EC666F4CC", - "6EA5F33E5026580AF0001341B8D25E1E10762C83", - "6ED71829E500E249A26D6E83B548503F8674C227", - "6EF0C480E43D314E0192210923BCC15FAE6405DA", - "6F1CB0C5AC56EF455F4DA7E9005C5633F9BAE343", - "6F264E8BD4FD6996109A804C7D280E728F86F690", - "6F86FDFEB33609296CA58D8118B0786A041CE852", - "6FD14E6FF541F0CD33CAE60DF23CE09AC87C137E", - "6FD56FE5B3831B17ED5301EE2EF949CEE5BFA871", - "70EDC0A4CC7F3D0D2ECEB9A971211566F27D3D4D", - "70F3324F1792C69F1A0E75E2F4C4E46FD2155D9A", - "7100D625A86E56A7239852D7B0D5A7972DF5BEEF", - "71351EAA5C16350EC5A86C23D7A288317309E53D", - "714CA52FEA527248627148897FC9388BBBE9E943", - "715B3339222137883B031D4FFAB9DE5611A08DE5", - "71832D4D5908522F822B3CBF15E2A161D359C7B0", - "71CB78C3334D5122E7F23C8525AD24100CDE7D4A", - "71CCB01C9C72CE7CA69F8446025EF39CA9C93B7D", - "71D45CAB36B3A7C1B66EB8F3139CB5C5467B2E3D", - "71EE66C0F71CD89BEE340F8568A44101D4C3A9A7", - "72046AA30199666E7E412346309125E3272CE304", - "7246C8B523C1023D028327EA0D228787A8F72C97", - "72A95C735CA2CE5741E139E31E96CE03786EDEA1", - "72BCE94DCCCB9D9EE0F7CF1EBBBEFCAC9D89A7EA", - "72E78B4909611B9B2F95A96DD1BF888A865E0190", - "72F3CD19E5C3238CDBB516AD49F39DFF4A20513D", - "73595AFFB87F694CA5310E48296A73BFA0D46ACD", - "73E10FF785B9F3DE64FB0FAA7C86CB763102C5CD", - "745A431C5DB88ACDD5EC360D4E1C0246234A5810", - "74606EE85C60B4B7DAD02037BD382C6235296229", - "746CCD5D3B8656BBCAF00C267F8E512AC11064D2", - "74E25AD77A60FA2B761F7ADE8F42499120A8A3C8", - "74EC641B5A0A6491223A33F52F64DA6B3BF2305A", - "7527942941BFF13D66B46E7A2A56FDBA873FB9E6", - "75578583E91FA6616EE2978D42E14D09FCDD93E4", - "75A061BAAC3B7C32F57A19D9CB943DC8FF793A28", - "75C7FCF920CB987902FDC398FB06FB902D722846", - "762DE8D160B1F76AF855E5E68BE0B7801CEEC37B", - "7639DF8EC9D255950D58FE43A460C31312867AA6", - "7650D976939A2DAACCB543BD36A5E90D7E177D33", - "76A47DEDD8BF10A49BD8B83B10DB9C0555004A93", - "771F70CC719F0A88B67EF456885E8378D0E96EF1", - "773130219B70B053EFC5E699BC37C17A80AE174E", - "7759C24AAFD13234B9F272BA0F025CB9D5D85472", - "7799FAC3B79C33D7D0A3EE8FDD9907F92FA661D6", - "77C9304911A7361FC61595D8A65F5D58493661F4", - "77D83E0A4157A0E77B51AD60BAB69A346CD4FEA3", - "77E7E92CCA46FC0A6E17137D2C91805CAD04C3D0", - "77FBEF8F531050C46B0D9AA22A4446984EF53E2A", - "7813F902684C6D3451D720D8D3CDF50B93A00C0A", - "7924AC22CCF7C69E3D3D97A3F68F8FE60373C3B9", - "792C2059CB6D1AD9B24EFAC3CFAAFF6C75C0BF0C", - "7991909E0282B4862279880BBF9814D920192FFA", - "79BC8F96F60F369B92E45F0BA69C0145DE5F1D7D", - "79D80EA5B2564EECD418C42E3735253B3C3C0CA8", - "79D982FD5833E9981D6B9547378A4AD6873718FF", - "7A28600384CD009ADF0EF2422D5D16474DE1B731", - "7AEEBCF125B7706A70B6009F0709CD2EA754BA02", - "7B179178FD3246EF29212093F1025A11C0F127ED", - "7B4079A4F88CEC0FFD1AFC0820DDADC36FDF8974", - "7B4D02E3E4091E2BCC4F3B696195406B4BC8B8D2", - "7B91F9F26FC90046F78B8FE3BF2246C128A6F90E", - "7BF82DA9FC0296A0FD18A98D21030D6E7D630D0D", - "7BFE588B209A15260DE12777B4BBB738DE98FE6C", - "7C7849208735D2FB3E2223050CB161AAA1744395", - "7C9B15F92A04463EF011D03AECFBDCBC62071203", - "7C9DEE7EABBF6C722DC7C1B86460F0507E5AA561", - "7CFEC3B71D6D5E7653EBB7858FC7432B55FBF9AB", - "7D23AAB526C2DE643AA981F3F15B433E732D12C0", - "7D2F95729E2612B00508781098612F804F1D40C8", - "7D45B8F40E13731E24F730407B5658BA909D9446", - "7D5E8B14880E072059A07FEEF3592B7632B87595", - "7D86D3CA81BC2228315EEBEBB63D6583DAEA9E71", - "7D8F814D3570431F23BB13703BBCEA7BC55BE612", - "7DD499680E4518EBB2EC8503BE73CA2E041E6858", - "7EB3BFC09A591DA97960D12CDCB4CAA32C13756D", - "7ECEE1927E0076837898F0B77D8EA67D0426E672", - "7EDA4A35078FF3AC5ECA340E472AEAA99CDB548F", - "7EEF8C93507383D0C8C7B67B1999BAEDDF2EA9F5", - "7EFA0BBD61C9E4DDB1F960C379C9584FBAAA4B60", - "7F048989E1132AFFACBA02A6DBD5571DED842FFE", - "7F3B35223850A5DA993613D18D5969F67D967617", - "7F3D758B16C73E749E7FCD09A85F828799EFE070", - "7F4813408CD0E411612CE7383C1781DFFE370672", - "8087B70A45F07E5BF4955C5E8C28A58D0563F103", - "808FA9BB3CD501D7801D1CD6D5A3DBA088FDD46F", - "80B849A411F76A22F5E068420592466792715AEC", - "80C5E0C6BF90C41507A69DC097330B28CE0A729F", - "80D5E1898D03638A10AF4F5CBCB9F048C8AEC4AB", - "81078370F66A2746025A3BE500587D223D457DFF", - "81FD24AF95679B900370DB857CE2EACADBE50A9B", - "82322B495EA502DEEA7DC2D3793BC6F8DA9502F4", - "82642BB1E17CB78E0FF61377D5D65C298F27361C", - "82B54D7F2E6BD97E9FB99AEA4BCB08A10BFE243C", - "82BA39386F382A7FE1E7279722B6E35C254C9ACB", - "82FDBBF79F3517C3946BD89EAAF90C46DFDA4681", - "830450D11D60566B83CF6DB6EC6453C30E7D318A", - "83431421F759AE7A3BDAC00A4959D13095C65805", - "834BD6E8E9F59D388DBB264453EB08A5DE45ED03", - "83B6C75264D5D2F81FDEFD681EDD2076DD8F0B9B", - "83C6AFBAA570F4682FD2ED71A77F36BC5F6CAF5A", - "83F02B0386F01480AE56F61C6930919101BD7BE8", - "84341019185BB3C24DC195A6B13BDF0A36813AF9", - "8481AA3BC057243AB0A4E1CB14DA6C25F3B68E38", - "851A88A9FDCDDADA6ECA1388C09C9A2225952056", - "8566F7781EDC563436EAD2B89FF4E547A567C444", - "85CFB705B111F41771CDAC4BC18372B65A9BBFD0", - "8601043CB151381BDD0F2C43505A1C32308624DF", - "8748B390B16A07158E4D02EF51FF591FD668F158", - "874C0F6A6006F78E6DA1D13395E10EB6D9524B33", - "87DFC3846678B3E57EFDA78B80102C8F111F48F8", - "87E810225FCAE1766F444B53F8AD5A012400BD7B", - "882615DF30A9AD9866FE446B4DFF7CB97F03E244", - "88C372CE52E21560C17BFD52556E60D694E12CAC", - "88F5F459139892C0F5DF3022676726BB3F01FB5C", - "893EBF8AE18B1E2499714852D2E6FD547FE8FB0F", - "896C60AC2F7F03B4F582027DD2107F3BB67DF69D", - "89B526C802A0AD5E3A24A9A02C11A3C521BA3820", - "89C9B32115F19A18E9BE4906DC59F24A934CB9F0", - "89D557428ABC1D4853BA6F2E8C8647B3C3681AAD", - "89DFA31D6F76146A64E63EA63FE5FC0E663DAB58", - "89EE2F7DD8E9223B99E500604639E9CF2707EC8F", - "89F40D84C0C72C6B02B320716E877FB1671218E9", - "8A0634388BCBB6D073E1C97B14C024396ED32D12", - "8AD2EFC4ADC158D9360CEFC082417A173FB766C7", - "8AD7A9456CA6168EA95CC07832842ADC4D8B848E", - "8ADD6E43FF25C076400814C1CB16CC594940B7A8", - "8B5F9889BB09C6895CAC04422CBBC55B3B10615A", - "8B7C5F5923FB9076CB533E6C4C3A24F3E05781AF", - "8BDD09B1D81BC788ABE6EA86C79C964E506A64C7", - "8BEA0555EEFB54479A89B5E5AB39DAE67FA2820C", - "8C616ABFE0CAD7F95C426156CF992AE232D2D64C", - "8C8628A779A5AFECEBA586728621EC14BA5D456B", - "8C8BA546CA83E2F2F8A4D3CE87009430EDFC6DBC", - "8CDD303D6C341D9CAB16713C3CD7587B90A7A84A", - "8CE6227B4E53DF42FF93B24F49D15EDE31E97E79", - "8D15CD39E68B28B85B055D41FF25F2A371CDE74B", - "8D46530329CE6953CEE0F9941DDE62085F6D1311", - "8D507C238E191E2CD91990EE4D029C5C7AFAA2E9", - "8D6E8F297929A2EAF22C6FEC35B7FE32C5797BF0", - "8D7346A097D19CC602B5C01EA52830AE91270482", - "8DF6FB2349A840BB042145B0956407A89D18E1D8", - "8E5766A566E38823CB53275D929FC47640DA0D00", - "8E5806F8392B0C27E25AEA74608A51117A42BB78", - "8EA890CAD1F92BA4D2FC2CAD7068ED5242A506EC", - "8F14194C27296E76231B0DA1A9CD4DBEC4400574", - "8F5157CDD3F5D7FB55E9F94F1A36DD8F18C04864", - "8F9A118E98B772BBFC07A27FC3514D03A1471E12", - "8FE49FDC90E5BFFD2A0285B997E07656201F4E8B", - "8FF9923717AB20CF78F5CB6A5F8B339C92190569", - "905C225238FB337834F193DF48550D721445B438", - "916CAC99EBC96FCEDF19E9203E050E4ABD5C2BB4", - "917358C655628B73B03F36059E549A8DE4A608FA", - "918C251941701361D112B4B4360C79B6D7443877", - "9198E11C44037205CF7AC659CFA0852B736DCA7F", - "91AA35882309F3F2B0B5C3A87E4330014D232C1B", - "91ED8FB4B5885D22670523A0D07280C660813174", - "920FC8EE82CFB0E65F2E18F6DD6299A954D399DD", - "9214347E9EE94941C188398617E757BB6B483ED8", - "9233B7F0B98FCC181ED43AFAF58056C4EDCED162", - "929C6E973062553BB14A40A3D3F7D6E7D91AE984", - "92E5D64E7AD1842B93E01F1044D4B4514D56C837", - "92ED85401AF62E135B95109B3D0AC820174F7B71", - "92F2B155490417F0797849C81292E3986EBE6811", - "92FB7AC8A6122ABD96623F9F5E41F7740010F654", - "93255B42D6EF45EB371B244A62FC3B42AD98017D", - "934B8F5753A3E5A276FC7D0EE5E575B335A0CC76", - "935D1D94C6650AE815A2712BA2CE43A5D93EB353", - "93934B0B87347437699EB62A8921F59F40C36D7A", - "939BFC0AA7356DE4BB64C32822F17FF009BA9944", - "93BBF911E8871F6FCC8170448FD2DF5B9EF233E5", - "93C2D00152215DE8AD4CC555BD40F29616FF616C", - "942CE7D771C8ED677C6FCC5224ED4C768B3E718A", - "946A9268509B6099EE6A22131947251CACD9456E", - "9485536D5C85AAAEEE543288CFCC7DEACB6CD7BC", - "95C1FFF7BFF3EF9804AE7E32318E49EF4A4CE653", - "95C962345E548D3872D2C0765E22E66227BAA510", - "95E78675D2DB61DC688586CD7A24202A260907A4", - "95F1B46F9E7B5A04C43426A6340B9354EE9C12AE", - "960D0C1F8F243ADA5F9CBBF97174C143686B06F6", - "964EC3CC88551F4DA0BB230B9FA4AB2B7FE86BED", - "967AFA09FD60EB7518197262CD554C5B07710853", - "96EC4A1AD0EC05BB7970D2876F1A92A2BE586461", - "972C1EE45472D40B98D757F64B5B39C0024E0EF0", - "973E35633030AD27DABEC99609424A61386C7309", - "97649C8EB11F8B5C8E39B9A2568CDE1BF119B3B3", - "976F9AA049B86A9C418A5FAA7086BBB11DBFFABD", - "9784343657207FE88A629E8EAA7A4A19C7C8CBE0", - "9784E99F0BE36C3E69E510824153F4FA8178AC1A", - "97ACF8A603D9919A248D3F127F3D3045512A258D", - "97E04C5632954E778306CAC40B3F95C470B463B6", - "97E9F96D527761E8F4A418D657FD80EB52576CD0", - "98223C0E04B281000676606A4FDD1F6FFA588C52", - "982A383F50422399889A2B5F6B7E532CA658122A", - "9967D1E29D425742B9E24F5D906CE0BDAC71E611", - "999BD8D1929F9ABB817E9368480D93BAB2A0983D", - "99E06C364BBB2D1F82A9D20BC1645BF21E478259", - "99ED5F24D223B19E248CF160B74E357617A5BC08", - "9A30285B9AB94C9FD0518EC23B107F0A6D331237", - "9A78D9B44E0A3332EE3345027A02E85AB84EB765", - "9A8D11F7E907D8EF5280C340650C97BA29926E81", - "9AA820EC1EF424F9951C3FF78C5361EBEDE0CF27", - "9ACD67740D82937DE2F7E2022E627395B5CDB456", - "9ADBE273DA9CE3FBBCBAF0EA68F6488B4A19B3A3", - "9B1F9614BCD5188911B553A998ECDE8EB44AD6D6", - "9BCFC658471D75DBBF72AD91B92847A2A22D2F8C", - "9C385F9498D271A863FC6FA678BE5C39E11699E9", - "9C3B443AE0FD32DFB75255F45417B6678211A536", - "9C447FCCB60F504BE3213FEADE85FFCCA676C0C4", - "9C5EF529158B4FA85B87BCB6B2CFCA9CF5DE63FA", - "9C6A186F8D3C5FD0CC8DCF49682FA726BD8A7705", - "9C7B3D6E35D41C59944259F72525DBEC0D7E145B", - "9CE7F2A7EEA8BE3EA8FF10F7AFC6FF3B9AEED97F", - "9D8B8C80BAFD8514405F6E5AD737E54BA277E718", - "9DA7C0C9130A4DB98D3CD21725A05329736DC838", - "9E0C690F45F0F65FE3DC83B73640BEF49AD9B6D9", - "9EAF0CD786D1CC4BC19AEE715A0FB111819966DE", - "9EC7068134B2C4ECAC0ADF6DF593BC0DC02C3DA9", - "9EDAC59F5BEB9BCC2D38284D9E338CEC723E5BA3", - "9F1AF7514296FBD4218774FB76556A9EAE885A9B", - "9F1CEBB1A1ED232A07FC3A1FBB5404E4912CCAF7", - "9F2BC55D75B95C1C1A419D07725BC8663F476EA5", - "9F71ADF2045783330B23A9E049471D6D0D040B76", - "9F8A895E56EEFBBE99339351042291990FEB094E", - "9FE6E00B6194C6E8260BE2FE8FD7733776999781", - "A012837F48A227AAF422EA0DF9AB5E7AEDB5967C", - "A059797AECB77D24DEB248C3413D99B0D3BF9A8C", - "A07DA0EDB967D027E3B220208AD085FDC44C3231", - "A089E6BAE0532B881E07FD268DF7A7444D8FEA71", - "A110DB7D02B914961E5233935BA56491EF2BBCF3", - "A11B0B31564955CDE8A82FE65B162544BA38EB0D", - "A15F1D0D05F8E010865AE08E7E34150709CE914F", - "A1627CB34DB43B91E8577FB20833452883942C53", - "A16C39F8C5BFCB5162C9F824317D432CACA6F9AE", - "A1AD4B264052735BAA1A5785E2E0E3DC442C61C4", - "A24984ACEF7A29AE31990104BD1D310DB81E2005", - "A24AFC3F53FF4B0E727855CF06478C16270A0E4D", - "A262E58B2014EDA72AD27010D6598AFF8CD22AB0", - "A26C1BBBE6CF7FE4146C5BBA9BD574E1F5D09C8C", - "A29F780D1F55407D5D5B36D19CDF9E05CBE47BAA", - "A2DECEEFA4088E0EE99E52D1346CEAD58676C1D5", - "A30E526CF62131BFBFD7CD9B56253A8F3F171777", - "A3106FEB542E18B94B2A93B6A4566A7F42B888D5", - "A31D53595106D51905A75D7795B7CE118084D148", - "A31DC3A0E61C5F54FBE9DE263926CE7987C2A0AE", - "A32829DBD327B03BA95DC3A2978A4950E69FC2DA", - "A32C1FA7FA7200AF371965D9BD20477782754112", - "A3660FA31A0DBF07C9F80D5342FF215DBC962719", - "A36F59756C3796518B61B42D9F3B1886F702050C", - "A376E29228A6E18355A19EA18E3522BF5EA456A9", - "A413F41C9323767B5983ED5D8424620A6FB04C1C", - "A42FE007E0651EAC159EE1B393586AFFFE065DC2", - "A43C8D158E24E0AF98BD6A0B5B9149591532701F", - "A46AE409BDA9ED636C52EE5F3B2C2061C5C922E8", - "A4AC831DD0C0E94B6B3317B79E828D802F33D257", - "A587B648F7AF73A34AE1CD7DF4E5B4CF447A3381", - "A5A9711ECDA83EBF420D96AFF726A35C86E667CA", - "A5B048B08B7C51F720749BA73766049C9057A11A", - "A5B485DE073B1D58C02A4BAF5A1D9BDE1425CC3D", - "A5B9610824115CF5128E9FE59DF869EDE64F3463", - "A6057397EDC4E6CF25BC3A142F866ACC653B1CF1", - "A61DC33A16A625422C3A9DAD22E26437A2C66476", - "A625572451E118FE9C28C65222E684F52CE226E0", - "A6DF55BEFD53DEB1AD53D38C200C8C50F0EB5010", - "A73141CFFD976CF6579D1F91D3F5164CD26F235E", - "A733063124AC9E1E6E1E331FFBAAE32D81AC2581", - "A750E36DCCF7723DD6A4A715EABB543F75C6E2C1", - "A75D77A72F845C3DC5FBC4EA0A5F63369A77847B", - "A7A1A42101B38D651C629A30761B8BEF1409188F", - "A7DF99F1231564E37C079727D1E7C096DBF2B39D", - "A85B18D1F67CD5EBB4D6D203902330E16D36BE1A", - "A864103E8B029E11807C39E47A6B27E63CA8BF5A", - "A86CFDB736DD37EFC67ABAC169E0F734379165F9", - "A8B552D5AB806CF300E42CC494A7746422394A50", - "A8FB3967ADE404B77AC3FB5815A399C0660C3C63", - "A9001759A528D61432393E80042BD36D67793CA8", - "A91BF38C7C22A9EFA00C0392994AF621D5EF0998", - "A999D8699E3DA654BB7EE88EECCA6C53444C4E6D", - "A9A4B26C2387BA2A5861C790B0FF39F230427AC8", - "A9D9C78211C4FDE7881C702182C027057FB6957D", - "AA073E74009B78B050F01DD6D45A42C57F39EF66", - "AA3DE48E23B2465B21F5D33E993FD959F611DD10", - "AAAAC4621514C80CAFA7B62BA9A0F4CCF2299A49", - "AADF701064B5E04817593ADD6873427B2344FCBB", - "AAE44A4347BC35DBC94EB6D47B688D2ED778ED87", - "AB1503C6008F863CBD4D94126627270EB9E7F48B", - "AB5CC03DA4C6B702807CCD9D36C751930B97588E", - "AB9A4D76361D99C9E4D076220A6EC580E56EA091", - "ABE2384B7BAC3FCC64D03AD7B1CAA28ED018AA44", - "AC66106BE9B5D0F4D5D1983345D061DB1C48E356", - "AC82FA32F2642F7323DC1654743BE4C0BDE86A5F", - "ACBF5B739D24E862935A9F4CCD3EC7EF9CE59B22", - "ACC5072FCEA077094391F168166ECDDA233F1B77", - "ACE1CCC90C1FDB07F315650C8E52DDE56F1F2E7F", - "AD16D37745E3682FE5C642852C5B12C349260422", - "AD201D0F69ABF036CF97150726C960B2EB8A0B7D", - "AD250B41D611F7A1886BA2E29B3C598C0D29F769", - "AD952693DB8879AADDFE4C3E0417B9A54F583B01", - "ADD14F4517B9A87D4E841369417E5BDB5FDFF263", - "ADD50C0606C543495AE8635E465E71C5F6251844", - "ADE6E95EC427D9129850A43C5B7F0A49271DF11B", - "AE063CF9FF5D718AD6F1CF242FABAC39B57ADEBA", - "AEEDAC793F184240CFB800DA73EE6321E5145102", - "AEF834165C86DFCC410794A45BD5F802CEBAA279", - "AF0965B74237AFF383C981C05178732C9A05A140", - "AF1F3686926FD9F2661791F986EBB8F78A7EAB35", - "AF3CA87EEAF7AE1E9D793DB2A1342EFC05B85E22", - "AFA1F0209208E7CD780B5073BB4545D9AA8A81B9", - "AFCB71AD430575928D402F5CA897C66C10984478", - "AFD335B253B1B39B00AC79D6CB95CB503BFA4F47", - "B02356818DF5D633CE4E7BE93490A4EA58E6B9BB", - "B05DA0F5A1E5E913F4E0B252BB77197BC447DEB1", - "B12383655A9238A4E32B43ED0E4639E88AF84F00", - "B1A3A112CCAFAE7B3AA267C855BC4F03A515784C", - "B1C57ED51C7B04C6D35A6A040B4FFDD74776B9E9", - "B256F82354072BBEFB2DA849B1B49B03C6B2E486", - "B25B68F8495E981BAF34AB5B8C03035053825096", - "B282BE7913327A1E340935FCE313DF63E1393BC8", - "B29BD0EA445DEB218ED5DC8A1D5DB99EC34BC900", - "B2A95CA94BDD5E52283E34DEA99A929B824457EC", - "B2AEDB34DBB5D15EAF579F63BBB67BF8C258FD9B", - "B2D3663D66A5176AA7F6037A90762D6E394A7D0A", - "B3031584B950B98401CB80EE88926108DD911946", - "B31102C12237E0645F83DEABCFD34C5FF770F874", - "B33E68BE9D10B6A138D21E2214B81862C17941CF", - "B36DFA01FB4F75FBDB7C86E7387724AB7BE79F25", - "B37D55A7C7AF214F08EFF0A48CAD10A61D4468BF", - "B3A40C45881421891D2ACE279DA213AF559426C7", - "B3CA0CEC48CBA333EA5B321F968442432840FE8F", - "B3CF6C01796E8D03378FAA77AF507E27BB847E9D", - "B3F2D5D72842484298DED46E64604F4786C57525", - "B414036748B35ED95FF191241383CF6ADE5521A3", - "B442D93C9503037341702FCF547E06FAB8DD97B1", - "B4782AE831D849EFCC2AF4BE2012816EDDF8D908", - "B4FF4007CF3718A33A6148C9126B609E7B604C86", - "B508A28E23B71BDD59F2DEC4B693B0E3C44D2AA7", - "B56B86412FEFA3BC1F7917FBF08E7A4F774C415F", - "B571DDA10BCCBEEF5F2C93EF455949B0BFC2C78C", - "B5724C975DF8357B10366848DB191A84DF7CE1DF", - "B57552071521B3AECB7B3752CAFF283B40B287ED", - "B57E77C35D4E1B5301B52A956E7DC2AFC1D105B1", - "B5DA2C32AEB29395415A0D3DB52D136A5C2B8C58", - "B5F0D93A52AAC1F9DB1D65B0E632E23AF43CBDE4", - "B5FC124FEF8A664653330D9B8B5265522FF19B52", - "B61B5B6CA6C233E2C78E19907F6F2552A5FB8DA5", - "B63262667FA335164DA0619913958E5CA5E1D568", - "B6903E9A5A8CC5D74A688DA0A67AFA2B0944F605", - "B69708BC37F3C1D37FA9EF1F752E475CED29DFB9", - "B6C082AD9E117F9EDC9CF038F98C762EA1AE8413", - "B73FA772DDFC5971BED466A4AFB2E41ADD21A06F", - "B76E356D46D5786AB411C1FBE258AD088C95656A", - "B7916941D2F88FEB62AE9108704A7B0EC10D7357", - "B81C9748AB45D7DADFC54F82421E6408016905BE", - "B8233EF3F857A0410B350E25EDE7B2EBB2FC1844", - "B82E74CA1AAEF3BBC7DA348C2685B5B833BD9DBD", - "B84DF605574A5220DEC8FA6444F7E37EED2948E9", - "B8AD3014B062412B5C66B879D1F429C4F28CC206", - "B90EF23BB8849EEEF3B4E3766D97E4D98954AC32", - "B91DEBAC6A657E332EE21666AC53C6F544D1C0DB", - "BA3D79A137B3943A474BCD842BD3723A548A6B1D", - "BB1C5558E79EDEBC1B78B05587B79A395D680FBE", - "BB2F06C8A082B54EBE6F899065128A33557096A1", - "BB9AF437BCFF89D401ED4F7A794E23FDDFF49F75", - "BB9B9AC84DDE8E8855A6821E809EDFC1625149F2", - "BBF4F78341CC09ABBF405B44F464B28A07DE6083", - "BC14FFA73D2B8F7C26B1F3B4B63ADFDFFA01DF14", - "BCAA001EB75B7CF1ED6FB5C53440320D84163CE8", - "BCBF1B9E49D30BCB16A2ABD91F55DAAD0AE8552D", - "BDF38BBA4A56EAB3238C309045E525FE4E44B910", - "BE365A501F44950DBA1C57155132D952A58CD4A5", - "BE590A07FD600C8DC0138040DEB2043B594B4F20", - "BE5F0295FC66DAC492A978846CE656EE8CCA2ACE", - "BE7438D8D8F1E290E7E1B5211AD24B9F9DB80EE2", - "BE80B33F151F9E1D7E66034956617EC394FC8B1F", - "BEC03F7BD1C699E1816BDE76E89F3673C74C622C", - "BEE8A763AE670D80B3086198340C654F8BE2DBB5", - "BEEB11CB714AABEDA5EEC56A21A77699E8668A35", - "BF2D05B301079A6D55CC2AB36049193A950C067C", - "BF5224FB246A6B67EA986EFF77A43F6C1BCA9672", - "BF627D38F35216F6520A7FA42A07178DF435C1BA", - "BF738C02102A550A537AFFE62554E5683B8CF8AE", - "C00D931F858408D3AC6DA089A88F941B167952E9", - "C01642C7273C00381CAE8228F19AA6DBCEC297C7", - "C0A30989F3717CE5B1B2FE462797951EA6D3922A", - "C23A50265666D07329E65001BD55D9FFC01F1234", - "C252F268AF11D6ACBB98C77AF2874A81C51A2A25", - "C267A7A6D740CAC6C37C9FF9C25FF20A6962E766", - "C29696C0125692F0C928E253E9275EA2157BC66C", - "C2A20BD0A9B585406746F55DDFE68316D6DE1963", - "C2BDE5BAA29CAD728FFE2F3F263B12FCF5D49CD8", - "C2C536DC8C57A167B6C428AE4C820D86D1E2F219", - "C30DBD0DF703E69A6DE85BF6BFBF98A6A608AB12", - "C39BA5C01DA0E56329EBE09FE670E745E98B41C3", - "C48CE4E8CB1466DFE06FD5AFEA457304FBCD418B", - "C4A81852B9ACE6CE02DAB58BB77BDA0AD75716EC", - "C53E406FED7ED6CBD81B53DEFC9203CB2FF4B5C0", - "C5539F4EBECABA792CC40D03A56144AAD3BF9D19", - "C5670440A167100DABEECFB19C3457BB74EB5ABD", - "C5A32C775F368395BBE86B69B5BCF7FB6C8A4BB6", - "C5AC723D0A139D7222B95743E8E5F23159ADF8BF", - "C5C13C42A86285B68FEF2A56C5548A17C191F024", - "C63AC5BBC3E8F5715C6A070312A511088F0C495E", - "C6B136357ADD36920325D41551E6F6BE93B8B0FE", - "C7A7C7BA618560D1540891478D1172FFCCD19627", - "C84F4135F288870AA97FD50DDAAA7E0DB2FA880F", - "C8DE560A2AAA1EBFF9A90D7FEA80F2DC34025BF6", - "C90806FFF6235AE80EFDF669B9D6CFF3950D5295", - "C91697EC9721A180034E8DBAFA5E930EA23F5BEC", - "C940F83135D9612865F4A44391DDDFE3B7BE1393", - "C94CC9ABD40A0F1BB4F6620BBB1B1CB7A147EC1F", - "C9C7AEFF46490BF44990358DE744C9905D0842B4", - "CA1464C2290CAE1E244CBA5447713CB029437B27", - "CA19B3604EB8FBC11EED97EA91B8935FD2EA7AA5", - "CA89BD35059845F2DB4B4398FD339B9F210E9337", - "CA966D8C1D393DE1ED4A05194B6EBC63F0B1FEA2", - "CB1455B06882CCA21C72F53C779B8D5FEF22994E", - "CB2C11FCFC97432E85171D22C925F9C5898F20CC", - "CB4BA61302F18D51CE19B6FABF04A878205D80F7", - "CB822B3422E39FF743571E37D55DD96B913DFD75", - "CC32A0FD1D88B403308EACBE4DE3CA5AC54B93EB", - "CC619E66AD46E58D50E0FA695EAADBADBC0DFF18", - "CC93FDEE1B0440FAD87F17E287C606205B87E6AD", - "CCD9B6D3084515EE19C030611C26BA516DAA40E9", - "CCF0A5BCBC42CC4C4A62A6E1344B351315448B79", - "CD2B185295550F3D59FD85044CC4326A5E1086BF", - "CD3D65C24991BDD2E99A82B8A50CCB21E1360047", - "CD610CF37EDB9234614E95523B6CF108E48911C2", - "CD6F0C219EC18B3377E358EF583B5340121EA2EF", - "CD8AF9C47DDE6327F8D9A3EFA81F34C6B6C26EBB", - "CDFF365D2E7D8DF08F06D89F6E17634B0285B8F3", - "CE13FD308283EE7EB76FDC0207CBCC5F3FA70BDE", - "CE5052743A4235C1483F2DE48C0AEB88C4082442", - "CE54780C9A9EB135FAC0BCCCDEB12A49F88C0598", - "CE6207A934544D33C09B16EEFB0102A119FBFE8A", - "CE75B7590B7400283F10E4414AE473B24234DB50", - "CEC6CF6C73FBA130F5BBC0E2B8BF534FD6626AC9", - "CED7C6FF5AB2647269E7314E5D2BED2049B686D1", - "CEDA2975237B2D0386A23514E0A92DF653695CC0", - "CF345464A27B5A0B5C80D1AA2E71AC840F5D0003", - "CF40F6289951CBFA3B83B792EFA774E2EA06E4C0", - "CF44282AC21A2EFBAA7BFA43F5BDE6D5CA5C9212", - "CFA01FCAC5406A07C00876B9060F582B6405B615", - "CFD8AB47593770A4CDAA61FB6A77F6AAB03AE36F", - "CFDD8D35EEE76675E1D320A88EC130A75130D20A", - "D00A3BA7FB9AA5A889CF708B0BA647BADCA5468C", - "D021763625A931B862CF97967462F97A0ED9D0CF", - "D11463D5136D51B3630ED9D6E33F56F5EEC9712A", - "D18C31C452C48B2AC2EE341C2E4E915430E6226A", - "D19060629B70DF741AF0E30B008A53146552AC02", - "D197CE2F38E9A2938394F61DDF2A63AD8A491BD0", - "D1AEB4E91A5CD4753AF133E7183F82A226A9FFB7", - "D1FCA457087AF6E7C76EFB5B8314576FF25D64BE", - "D2CF5792EE19B983C24984F4F786F03629476450", - "D335D505B9DEE82447DA96E2F47060261EF3A0B5", - "D3694D34E14255BCBE5F4AA0D0BF8C98EA8428AE", - "D39ED61831744DF745EC846750C86F2AD986BF18", - "D40077F5B288EED15772CC27C39537F6F9DD384F", - "D4429A857FEE398846ECBD907207EEC71FF4C030", - "D4499ED539BE676B936A910F9590BB18CB63B0BA", - "D46156AF2274B3D9B576C25C662AC3A31AE1EE1D", - "D48384106F4BADDD95C746A700B670CE5AF3839B", - "D4A1B69901E79BDF1DD06E654A0DC79C9377722B", - "D4D07D7A9C681EA343280A9D7F5B4D567FA392EF", - "D4D5891501C1933FE07F5952EAB1C4BEB6E3859A", - "D5029682B76DBC36268A611CC07BF6FD78E2C77E", - "D54BB4DEE28AF7813534A5354E52FF73B7778AE9", - "D572BE31227F6D0BE95B9430BE2D5F21D7D9CF9A", - "D5831D24B536A5380C9B67BB796444131B8E0D49", - "D5931E994E4DCAFE4A1B214BA82DE4A25828EF7E", - "D5AA146F1D0A00268699A3A3D018396FED7A1389", - "D5DAC303B18FAA434C3231F1116963C4C304EBD2", - "D5E2D7E0D07E89D3FFEBFED1DDA107545C010C24", - "D6C9AB666AF3E898E4645F85B5FEBD8D91D3FD50", - "D71D6C99A989797A9787ACD2B65EEC0D19F2C2A8", - "D72876F59ADC4AC823ED8774A32807F9442B2743", - "D7C3879A8898618E3A23B0E6BFB6A38D01606246", - "D80245FB231413FFF45B35B9F1E4629968A58EBD", - "D882BC9481040A49B93184C5AB818274A57A0AB4", - "D8D6582BC8B47E5642EB6C801D30F5F00D67DF5B", - "D92F6133C8A5F505A18736E93486D49D7C127F85", - "D952C86877763C4730607BC503187E272D8EED54", - "D96E44DFA5BE0C8A2B93D19D3C694DC6FFBB5D61", - "D9AEE6149D54E6F6E6A4240332E52224222BAB5F", - "DA948F1340E210668DC8FC033DB6BE6D14E7EDEA", - "DAC4FD1209695D2601E6066C09F4448E0240318F", - "DBA05BE76C093B795A609BA82EAB7CDDDDA97170", - "DC39837AC518B832FCB2D2DC1CE8BA148F54758E", - "DC88B4C9E547F3E321B3E64CCDBD4B698116D2F4", - "DCC0A68EA1DA32EAF6C6E8C3242384A6F8F11A50", - "DD650750B887CED4FAA6F5FCFAF68508D4E682DE", - "DDF3373DDB400347B239591FBAA87BBCC04EFA49", - "DE0EEC4AB47424D105EAFBF2BF73CFB5F429F7CB", - "DE25968341F9EF2CA26FFBAE826DCED08B910EE2", - "DE4E24D71B4AE84CC5D2739D9AD8CD508E519B30", - "E0232BA900DB476B437D9417786C64810459865A", - "E0324BF71ACB6EF0968E760554F7C4D5A9165121", - "E048C27860D95A6947761D93C892768C46AD2163", - "E05AB81C4AF536625335E94B98D2296C7A6FFE46", - "E089670852441077FE17C8B2F986E139155995BF", - "E134BC4A0FF6C59CE42CC76BA6B2D6F5DC648EC4", - "E14510DB95CB9E60B4C8CB10B0AC9DE837B5D7D7", - "E17647BDCCE1B8640D01973F4985E45DAA6F7535", - "E178D4F4D6617C0B880C36F192DA3B18422C5064", - "E1D81421C7727DC749F406D57EEBFEA848E93799", - "E1F6C385023CCEF97C3376290BE163C05A74640B", - "E206CD64E83007C8D1A1F4D4F8611C04AF1EA51D", - "E2507CB4F109B79C8EC7680B04CAC121212C7F36", - "E270F4223E32C976AA90F219C54B88F36296DD4D", - "E282330A7D09165AF9DD4AD28FDD0F28F07926DF", - "E290ACF89D1251DA286BE6ABB1BE503F499F0C08", - "E2CF67AEA7AAE415F4D152F56309D27A3A9F5AD1", - "E3AC5D1F10EF192526FCFB3BD2F59BF336201C0E", - "E3B59E7D707DD6039B98CABD0BEA66794F9AC02E", - "E3F2994CF5913059E1DC6598E6E7A6FA4AA84AD0", - "E45F11C62D1E6DF32ABCA836BAF9EC4D45FC891F", - "E4C89AA3FFB67FDD47C112138C9EA5ED5EE5E501", - "E4E225DA8A49EB3967E10C8CC7DEE8E986B382C0", - "E50AEC5D6ECB780E6C1FBADB0350057122850904", - "E5E6B9B6AAF9DD4AA7394A5B73B34E93488D2BB7", - "E5F45F3BC0208B131311619D7F1A8D246F70994C", - "E61DC62BF2F1D7CAEEF93E84A5EE5F6D2CFDBC79", - "E6B12430B6166B31BE20E13941C22569EA75B0F2", - "E7036E906DBFB77C46EDDEB003A72C0B5CC9BE7F", - "E7065F8A8CC2606D377130E68BFA02243A500590", - "E75892006561A9968025D1D2EA0E71534693FF50", - "E75EFCC614F07F9F4442DD51219DD652A441E4EB", - "E7E3071A050E6E5122AA37891C779D32B46EFDD0", - "E7F71D1BEC712BC682C79E2D7FE463C85DD38194", - "E820F40AEEDB2BA386739850391672913A9D35E9", - "E8309B92AACFEB64D39F5466EF3BDB6B63A7248B", - "E851D6ADDD0353379C04CA71B960A17C862823A5", - "E873675B8E754F1B1F1222CB921EA14B4335179D", - "E9866874210B2B8F9594C6F757CFB23A000BB78F", - "EA00F7587D4F6BD64F53A4D826AEE5EBEBFD294C", - "EA2850ACD7EE8B27E68E98AD475EE12E3A35CD1B", - "EA43E2F350D2B7AE65AAB357086E5B204799C25B", - "EA75CDCDB188F5833DCBB21ABF285F5C14DB3C1B", - "EAC62EBFC3AB2B4C4E1B8983867A0DADB93E9588", - "EAD0BFA4ED66D9A2112A4C9A0AA25329FF980AC6", - "EAE3894A265E30C3CD9FB349B2382F3843956A63", - "EBF6507B0575090A3D2C802303D9EF3BC60B42F9", - "EBFA1B70006F849A0A16E789E471F5D8988172CC", - "EC0AC321444325302022AE798E0467A6B02039A5", - "EC24668224116D19FF1A5FFAA61238B88773982C", - "EC4A841BD03C8E5202043165188A9E060BF703A3", - "ECB48DDC5FECE20A5892E4353900807A2CCF6342", - "ECB4D0FE53560A010BCC3B5D237003CD4B955C24", - "ED084D8F17C80EBA38D94D21A0F6DDB2C085EE57", - "ED78E278C1EE9E80A5B80DCD8919A4DF7C3BF819", - "ED7C8FD28CF1EED9A3E3EEAE2DA9ABF18EFFBC73", - "EDACEE3A44184ACA24CC50D618AE8645EEAE5468", - "EDD4C6AA613D679C2EACC87B78B8397E3DE3DA97", - "EDD688136BDFDD87FF8B3FAF532A4537590A44A6", - "EE4BE5F23D2E59E4713958465941EFB4A18166B7", - "EE711E704D4A365C4644EE4637076C81DF454EA6", - "EE9A5CE74F4908CF69376264F48065D14AF75F9A", - "EEBEC80A1F7B7568F457F6243A0DD1B1074783EA", - "EEFFB280E835441A2F5333D7D1DDEA4BB3EC6AA4", - "EF2B622E6811D7CE7F5673DD32218E1C60400896", - "EF6BCEE4F9420898A9DBF6831C9449834FFD089D", - "EF92293855305EF664C7B5FE4770FFF0F6189827", - "EFF9E24C5E2FCD7C036AC2F0CE7C5DE3AA8F4A01", - "F03952C1A1487B499A49D377EDB250155221BF29", - "F0F31DCF5C7B689A13675B0D0FBCE3E291C3BC4E", - "F12659057FB30D7D70C7E6EF046115EAD24A68A1", - "F129673FC3BD582285546AC074FE393A246FA0A9", - "F13E8B2D01452585E1AEA6B52BC579DEE561ECE1", - "F16E7BDE36BD7F5ACB924D3C00D7ECDA4EF085E8", - "F17C7372CAD076719425A6780510DE9EEF0F69FA", - "F19987852C7C3D2A233534CBAF2E69B1D285B703", - "F1ACA279F460440E47078D91FE372212DD9B8709", - "F20A68B5BB3C185DD43F200E42D09E993201A1A3", - "F273C23C616F5C56E8EDBAE24B21F5D408936A0D", - "F277A7D8F32F8D286EBBBC6A5D144170E8BC3A5A", - "F2A0FEF6D80B3A5D12D2C8729C6C61CADDBA3CB2", - "F30580941B60C39154B6CD0AC06CC317FD4F6C70", - "F321136EF003463B781392DE91960194CB005931", - "F3349F83AA4D8D292C215700CF44714741F66942", - "F36B9C3FCEDC58609491D3B3C0E0215D5DA8D146", - "F390406428B84C541ECD7C13D79346D831FA95D7", - "F3D31669E35680AE7970A6A62DA38DE2E9B5A0BD", - "F425EFD086A867BBBFAEC432AC1AC796145E387C", - "F4297D439C7079F862CF98195C5B0EAA463C204F", - "F42A8D2F00E193CDB752756E5DA375692E3D98B7", - "F4432C6FA83766A4E20AE40D3E2E183C5D42B057", - "F45A9C26236114688D259E2C324B82D3936E828F", - "F47A7959A4CC6B675D795CE89868B6851996FE7F", - "F4814953BA714A2C4184A1F9C365BD3560D15275", - "F566B33D62CE21415AF5B3F3FD8762B7454B8874", - "F5702A698048EECB80DBAFC3B61E32D98366EEFC", - "F59AB261280AB3AE9826D9359507838B90B07431", - "F5BE02903F83D539CE39A8560DA64E1BB015D684", - "F608282162AD48CE45D5BC2F6F467B56E88EBFA4", - "F6629F4A1F6AF173E1EAD8777433000422731E6F", - "F6782253DC676CD83A3FF2D4784DEE3FF2D8A920", - "F703DF4CE9025224FDEF0BDAD94D5F130CF4688A", - "F71EE23BA89211D5AAF3CCC329E8D40FFAF03635", - "F727E2D8507E2566DBDFCB72A43F17303E2C7323", - "F73F9EF0207603992CA3C00A7A0CB223D5571B3F", - "F7590F6FB80F499693373CFE4DCB3F82561576BF", - "F7F6C2134087F87AACFD47F4798D6983C293C370", - "F8336D06DDFA2BCA024BB0122C9B245B90B48F08", - "F83EA0E25938597EFD659299758CBFBD50D277C9", - "F87DFF4672430B8237B72F63E6078E76E2DD5E8E", - "F885D77ACE126AF452CADE4A4B2F2E08A6EA8145", - "F91ED8625685D1F048D74BE5C2D7388DA912AC26", - "F9287A33E15038F2591F23E6E9C486717C7202DD", - "F9663E0C2FDDB21FAA662855A05529AE9CF9D2C8", - "F9EC02375F49DA0C01F37508D26534CCF4947673", - "F9FEBEDB6985A1EA7179D17768768DD19FE91E58", - "FA49DE612022456C78193740618E94A8F1EB4333", - "FAAD5003CF8D063AE8F76C103B8A41FF980F0E48", - "FB66423DA041B4FD295AD85582401A5CD1E032F3", - "FB75A9DC53BC351C0D5AFA01324C31CED3EF3602", - "FCC2DC6574A3CA28ED77195926C67F612292C5C3", - "FD488FF8BD60E7A71F86A53F274BE8C46A3E22AF", - "FD5B78E5862125D1709576E42342A9F3E38E7662", - "FD60C38DF197CA40E41B4CDA70604BC8BCD9403A", - "FDAB1D83FA1FE02D779740104941450A403F3FDA", - "FDCEE64AD3CA78A8E6B74511155B0FA0BC0420FF", - "FE0619F019E4A62BF99D0D4B2F246C77707B7BE3", - "FE0FEE57B22FAAD0E98C192C2BF4BD2AB8E5567F", - "FE6529A4D6E9366B60B634E27443C7D0A62363AB", - "FEE3DC8C722657A4A5B0F72CA48CF950DC956148", - "FEEA9A870F7FDF0C5DC638FAFE8F40B6B7C48D39", - "FF0DA4BD87A88469B10709B99E79D4B0E11C0CA6", - "FF37824D938E0D708F50292921FA59C01FC4C94F", - "FF8257C73304BA655E10F324C962504BA6691DF2", - "FFAE21D3E7BCCE312E497A4280CE76155FB79507", -}; - constexpr size_t kHashedExtensionIdLength = base::kSHA1Length * 2; bool IsValidHashedExtensionId(const std::string& hash) { bool correct_chars = std::all_of(hash.begin(), hash.end(), [](char c) { @@ -1219,23 +66,15 @@ } std::vector<std::string> CreateExtensionAllowlist() { - std::vector<std::string> allowlist; if (base::CommandLine::ForCurrentProcess()->HasSwitch( switches::kForceEmptyCorbAllowlist)) { - return allowlist; - } - - // Append extensions from the hardcoded allowlist. - allowlist.reserve(base::size(kHardcodedPartOfAllowlist)); - for (const char* hash : kHardcodedPartOfAllowlist) { - DCHECK(IsValidHashedExtensionId(hash)); // It also validates the length. - allowlist.push_back(std::string(hash, kHashedExtensionIdLength)); + return std::vector<std::string>(); } // Append extensions from the field trial param. std::string field_trial_arg = base::GetFieldTrialParamValueByFeature( - network::features::kCorbAllowlistAlsoAppliesToOorCors, - network::features::kCorbAllowlistAlsoAppliesToOorCorsParamName); + extensions_features::kCorbCorsAllowlist, + extensions_features::kCorbCorsAllowlistParamName); field_trial_arg = base::ToUpperASCII(field_trial_arg); std::vector<std::string> field_trial_allowlist = base::SplitString( field_trial_arg, ",", base::TRIM_WHITESPACE, base::SPLIT_WANT_NONEMPTY); @@ -1247,10 +86,8 @@ LOG(ERROR) << "Invalid extension hash: " << hash; return true; // Remove. }); - std::move(field_trial_allowlist.begin(), field_trial_allowlist.end(), - std::back_inserter(allowlist)); - return allowlist; + return field_trial_allowlist; } // Returns a set of HashedExtensionId of extensions that depend on relaxed CORB @@ -1586,16 +423,4 @@ OverrideFactoryParams(*extension, factory_user, factory_params); } -// static -void URLLoaderFactoryManager::AddExtensionToAllowlistForTesting( - const Extension& extension) { - GetExtensionsAllowlist().insert(extension.hashed_id().value()); -} - -// static -void URLLoaderFactoryManager::RemoveExtensionFromAllowlistForTesting( - const Extension& extension) { - GetExtensionsAllowlist().erase(extension.hashed_id().value()); -} - } // namespace extensions
diff --git a/extensions/browser/url_loader_factory_manager.h b/extensions/browser/url_loader_factory_manager.h index 31d29220..55e00b1 100644 --- a/extensions/browser/url_loader_factory_manager.h +++ b/extensions/browser/url_loader_factory_manager.h
@@ -97,10 +97,6 @@ bool is_for_isolated_world, network::mojom::URLLoaderFactoryParams* factory_params); - static void AddExtensionToAllowlistForTesting(const Extension& extension); - static void RemoveExtensionFromAllowlistForTesting( - const Extension& extension); - private: // If |extension|'s manifest declares that it may inject JavaScript content // script into the |navigating_frame| / |navigation_target|, then
diff --git a/extensions/common/extension_features.cc b/extensions/common/extension_features.cc index 16da594..e64802d9 100644 --- a/extensions/common/extension_features.cc +++ b/extensions/common/extension_features.cc
@@ -63,4 +63,12 @@ const base::Feature kSelectedUserIdInGetAuthToken{ "SelectedUserIdInGetAuthToken", base::FEATURE_DISABLED_BY_DEFAULT}; +// Feature used mostly for exposing a field-trial-param-based mechanism for +// adding remaining strugglers to the CORB/CORS allowlist which has been +// deprecated in Chrome 87. +const base::Feature kCorbCorsAllowlist{"CorbCorsAllowlist", + base::FEATURE_DISABLED_BY_DEFAULT}; +const char kCorbCorsAllowlistParamName[] = + "CorbCorsAllowlistDeprecationParamName"; + } // namespace extensions_features
diff --git a/extensions/common/extension_features.h b/extensions/common/extension_features.h index a8ce6af..d5299cf 100644 --- a/extensions/common/extension_features.h +++ b/extensions/common/extension_features.h
@@ -33,6 +33,9 @@ extern const base::Feature kSelectedUserIdInGetAuthToken; +extern const base::Feature kCorbCorsAllowlist; +extern const char kCorbCorsAllowlistParamName[]; + } // namespace extensions_features #endif // EXTENSIONS_COMMON_EXTENSION_FEATURES_H_
diff --git a/fuchsia/engine/browser/media_resource_provider_service.cc b/fuchsia/engine/browser/media_resource_provider_service.cc index 833b8389..0f580dc 100644 --- a/fuchsia/engine/browser/media_resource_provider_service.cc +++ b/fuchsia/engine/browser/media_resource_provider_service.cc
@@ -19,6 +19,7 @@ #include "content/public/browser/storage_partition.h" #include "fuchsia/engine/browser/frame_impl.h" #include "fuchsia/engine/switches.h" +#include "media/base/media_switches.h" #include "media/base/provision_fetcher.h" #include "media/fuchsia/cdm/service/fuchsia_cdm_manager.h" #include "third_party/widevine/cdm/widevine_cdm_common.h" @@ -81,6 +82,14 @@ void MediaResourceProviderImpl::CreateAudioConsumer( fidl::InterfaceRequest<fuchsia::media::AudioConsumer> request) { + if (base::CommandLine::ForCurrentProcess()->HasSwitch( + switches::kDisableAudioOutput)) { + LOG(WARNING) + << "Could not create AudioConsumer because audio output feature flag " + "was not enabled."; + return; + } + auto factory = base::ComponentContextForProcess() ->svc() ->Connect<fuchsia::media::SessionAudioConsumerFactory>(); @@ -91,6 +100,14 @@ void MediaResourceProviderImpl::CreateAudioCapturer( fidl::InterfaceRequest<fuchsia::media::AudioCapturer> request) { + if (base::CommandLine::ForCurrentProcess()->HasSwitch( + switches::kDisableAudioInput)) { + LOG(WARNING) + << "Could not create AudioCapturer because audio input feature flag " + "was not enabled."; + return; + } + if (FrameImpl::FromRenderFrameHost(render_frame_host()) ->permission_controller() ->GetPermissionState(content::PermissionType::AUDIO_CAPTURE,
diff --git a/fuchsia/engine/context_provider_impl.cc b/fuchsia/engine/context_provider_impl.cc index 312bace..bd25e8f 100644 --- a/fuchsia/engine/context_provider_impl.cc +++ b/fuchsia/engine/context_provider_impl.cc
@@ -447,6 +447,15 @@ key_system); } + bool enable_audio = (features & fuchsia::web::ContextFeatureFlags::AUDIO) == + fuchsia::web::ContextFeatureFlags::AUDIO; + if (!enable_audio) { + // TODO(fxbug.dev/58902): Split up audio input and output in + // ContextFeatureFlags. + launch_command.AppendSwitch(switches::kDisableAudioOutput); + launch_command.AppendSwitch(switches::kDisableAudioInput); + } + zx::channel cdm_data_directory_channel; if (enable_widevine || enable_playready) { DCHECK(params.has_cdm_data_directory());
diff --git a/fuchsia/engine/test/data/play_audio.html b/fuchsia/engine/test/data/play_audio.html index d4034767..8bfdddb 100644 --- a/fuchsia/engine/test/data/play_audio.html +++ b/fuchsia/engine/test/data/play_audio.html
@@ -6,6 +6,9 @@ mediaSource = new MediaSource(); audio.src = URL.createObjectURL(mediaSource); + audio.onended = function() { document.title = 'ended'; } + audio.onerror = function() { document.title = 'error'; } + // Play two files with different sample rate to force mid-stream // re-initialization. var files = ["bear-44.1kHz.webm", "bear-48kHz.webm"]; @@ -40,7 +43,6 @@ } audio.play(); - audio.onended = function() { document.title = 'ended'; } </script> </body> </html>
diff --git a/fuchsia/engine/web_engine_integration_test.cc b/fuchsia/engine/web_engine_integration_test.cc index 17e1daf..22653a1 100644 --- a/fuchsia/engine/web_engine_integration_test.cc +++ b/fuchsia/engine/web_engine_integration_test.cc
@@ -128,14 +128,13 @@ // service. fuchsia::web::CreateContextParams create_params = ContextParamsWithFilteredServiceDirectory(); + create_params.set_features(fuchsia::web::ContextFeatureFlags::AUDIO); fake_audio_consumer_service_ = std::make_unique<media::FakeAudioConsumerService>( filtered_service_directory_->outgoing_directory() ->GetOrCreateDirectory("svc")); - create_params.set_features(fuchsia::web::ContextFeatureFlags::AUDIO); - return create_params; } @@ -526,6 +525,32 @@ EXPECT_FALSE(fake_audio_consumer_service_->instance(0)->is_muted()); } +// Check that audio cannot play when the AUDIO ContextFeatureFlag is not +// provided. +TEST_F(WebEngineIntegrationTest, PlayAudio_NoFlag) { + StartWebEngine(); + + // Both FilteredServiceDirectory and test data are needed. + fuchsia::web::CreateContextParams create_params = + ContextParamsWithFilteredServiceDirectory(); + create_params.mutable_content_directories()->push_back( + CreateTestDataDirectoryProvider()); + CreateContextAndFrame(std::move(create_params)); + + bool is_requested = false; + filtered_service_directory_->outgoing_directory()->AddPublicService( + std::make_unique<vfs::Service>( + [&is_requested](zx::channel channel, async_dispatcher_t* dispatcher) { + is_requested = true; + }), + fuchsia::media::SessionAudioConsumerFactory::Name_); + + LoadUrlWithUserActivation("fuchsia-dir://testdata/play_audio.html"); + + navigation_listener_->RunUntilTitleEquals("error"); + EXPECT_FALSE(is_requested); +} + TEST_F(WebEngineIntegrationTest, PlayVideo) { StartWebEngine(); CreateContextAndFrame(ContextParamsWithAudioAndTestData());
diff --git a/gpu/tools/compositor_model_bench/compositor_model_bench.cc b/gpu/tools/compositor_model_bench/compositor_model_bench.cc index a34d957..ce74e51 100644 --- a/gpu/tools/compositor_model_bench/compositor_model_bench.cc +++ b/gpu/tools/compositor_model_bench/compositor_model_bench.cc
@@ -191,8 +191,8 @@ display_, kVisualIdMask, &visual_info_template, &visual_info_count); for (int i = 0; i < visual_info_count && !gl_context_; ++i) { - gl_context_ = glXCreateContext(display_, visual_info_list + i, 0, - x11::True /* Direct rendering */); + gl_context_ = glXCreateContext(display_, visual_info_list + i, nullptr, + true /* Direct rendering */); } XFree(visual_info_list);
diff --git a/infra/config/dev.star b/infra/config/dev.star index e4e8674..04bfe7a 100755 --- a/infra/config/dev.star +++ b/infra/config/dev.star
@@ -9,7 +9,7 @@ load("//lib/branches.star", "branches") lucicfg.check_version( - min = "1.18.4", + min = "1.18.7", message = "Update depot_tools", )
diff --git a/infra/config/dev/dev.star b/infra/config/dev/dev.star index 7d8fbcb..51e9f51d 100755 --- a/infra/config/dev/dev.star +++ b/infra/config/dev/dev.star
@@ -54,4 +54,6 @@ ], ) +exec("//dev/swarming.star") + exec("//dev/subprojects/chromium/subproject.star")
diff --git a/infra/config/dev/swarming.star b/infra/config/dev/swarming.star new file mode 100644 index 0000000..88b2104 --- /dev/null +++ b/infra/config/dev/swarming.star
@@ -0,0 +1,38 @@ +# Copyright 2020 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +"""Permissions for Chromium dev/staging swarming pools.""" + +load("//lib/swarming.star", "swarming") + +swarming.root_permissions() + +swarming.task_accounts( + realm = "@root", + groups = ["project-chromium-test-dev-task-accounts"], +) + +swarming.pool_realm( + name = "pools/ci", + projects = [ + "infra", + "infra-experimental", + ], +) + +swarming.pool_realm(name = "pools/try") + +swarming.pool_realm( + name = "pools/tests", + groups = [ + "project-chromium-ci-dev-task-accounts", + "project-chromium-try-dev-task-accounts", + ], +) + +swarming.task_triggerers( + builder_realm = "@root", + pool_realm = "@root", + groups = ["mdb/chrome-troopers"], +)
diff --git a/infra/config/generated/commit-queue.cfg b/infra/config/generated/commit-queue.cfg index b01ed8a..1e472892 100644 --- a/infra/config/generated/commit-queue.cfg +++ b/infra/config/generated/commit-queue.cfg
@@ -899,10 +899,6 @@ location_regexp_exclude: ".+/[+]/components/cronet/android/.+" } builders { - name: "chromium/try/ios-simulator-eg" - includable_only: true - } - builders { name: "chromium/try/ios-simulator-full-configs" location_regexp: ".+/[+]/ios/.+" location_regexp_exclude: ".+/[+]/docs/.+"
diff --git a/infra/config/generated/cr-buildbucket-dev.cfg b/infra/config/generated/cr-buildbucket-dev.cfg index 289398a..eecd51e 100644 --- a/infra/config/generated/cr-buildbucket-dev.cfg +++ b/infra/config/generated/cr-buildbucket-dev.cfg
@@ -136,7 +136,7 @@ swarming_host: "chromium-swarm-dev.appspot.com" swarming_tags: "vpython:native-python-wrapper" dimensions: "cpu:x86-64" - dimensions: "os:Mac-10.13" + dimensions: "os:Mac-10.13|Mac-10.15" recipe { name: "swarming/staging" cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
diff --git a/infra/config/generated/cr-buildbucket.cfg b/infra/config/generated/cr-buildbucket.cfg index 6c762e5..80559927 100644 --- a/infra/config/generated/cr-buildbucket.cfg +++ b/infra/config/generated/cr-buildbucket.cfg
@@ -3290,7 +3290,7 @@ dimensions: "builder:Libfuzzer Upload Mac ASan" dimensions: "cores:24" dimensions: "cpu:x86-64" - dimensions: "os:Mac-10.13" + dimensions: "os:Mac-10.13|Mac-10.15" dimensions: "pool:luci.chromium.ci" exe { cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build" @@ -4622,7 +4622,7 @@ dimensions: "builder:Mac ASAN Release" dimensions: "cores:4" dimensions: "cpu:x86-64" - dimensions: "os:Mac-10.13" + dimensions: "os:Mac-10.13|Mac-10.15" dimensions: "pool:luci.chromium.ci" exe { cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build" @@ -4650,7 +4650,7 @@ dimensions: "builder:Mac ASAN Release Media" dimensions: "cores:4" dimensions: "cpu:x86-64" - dimensions: "os:Mac-10.13" + dimensions: "os:Mac-10.13|Mac-10.15" dimensions: "pool:luci.chromium.ci" exe { cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build" @@ -4677,7 +4677,7 @@ swarming_tags: "vpython:native-python-wrapper" dimensions: "builder:Mac ASan 64 Builder" dimensions: "cpu:x86-64" - dimensions: "os:Mac-10.13" + dimensions: "os:Mac-10.13|Mac-10.15" dimensions: "pool:luci.chromium.ci" exe { cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build" @@ -4705,7 +4705,7 @@ dimensions: "builder:Mac ASan 64 Tests (1)" dimensions: "cores:8" dimensions: "cpu:x86-64" - dimensions: "os:Mac-10.13" + dimensions: "os:Mac-10.13|Mac-10.15" dimensions: "pool:luci.chromium.ci" exe { cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build" @@ -5332,7 +5332,7 @@ swarming_tags: "vpython:native-python-wrapper" dimensions: "builder:Mac deterministic" dimensions: "cpu:x86-64" - dimensions: "os:Mac-10.13" + dimensions: "os:Mac-10.13|Mac-10.15" dimensions: "pool:luci.chromium.ci" exe { cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build" @@ -11404,7 +11404,7 @@ dimensions: "builder:mac-archive-dbg" dimensions: "cores:4" dimensions: "cpu:x86-64" - dimensions: "os:Mac-10.13" + dimensions: "os:Mac-10.13|Mac-10.15" dimensions: "pool:luci.chromium.ci" exe { cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build" @@ -11432,7 +11432,7 @@ dimensions: "builder:mac-archive-rel" dimensions: "cores:8" dimensions: "cpu:x86-64" - dimensions: "os:Mac-10.13" + dimensions: "os:Mac-10.13|Mac-10.15" dimensions: "pool:luci.chromium.ci" exe { cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build" @@ -11545,7 +11545,7 @@ dimensions: "builder:mac-hermetic-upgrade-rel" dimensions: "cores:8" dimensions: "cpu:x86-64" - dimensions: "os:Mac-10.13" + dimensions: "os:Mac-10.13|Mac-10.15" dimensions: "pool:luci.chromium.ci" exe { cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build" @@ -11712,7 +11712,7 @@ dimensions: "builderless:1" dimensions: "cores:8" dimensions: "cpu:x86-64" - dimensions: "os:Mac-10.13" + dimensions: "os:Mac-10.13|Mac-10.15" dimensions: "pool:luci.chromium.ci" exe { cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build" @@ -15763,7 +15763,7 @@ dimensions: "builder:Chromium Mac Goma RBE Staging" dimensions: "cores:4" dimensions: "cpu:x86-64" - dimensions: "os:Mac-10.13" + dimensions: "os:Mac-10.13|Mac-10.15" dimensions: "pool:luci.chromium.ci" exe { cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build" @@ -15785,7 +15785,7 @@ dimensions: "builder:Chromium Mac Goma RBE Staging (clobber)" dimensions: "cores:4" dimensions: "cpu:x86-64" - dimensions: "os:Mac-10.13" + dimensions: "os:Mac-10.13|Mac-10.15" dimensions: "pool:luci.chromium.ci" exe { cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build" @@ -15807,7 +15807,7 @@ dimensions: "builder:Chromium Mac Goma RBE Staging (dbg)" dimensions: "cores:4" dimensions: "cpu:x86-64" - dimensions: "os:Mac-10.13" + dimensions: "os:Mac-10.13|Mac-10.15" dimensions: "pool:luci.chromium.ci" exe { cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build" @@ -15829,7 +15829,7 @@ dimensions: "builder:Chromium Mac Goma RBE ToT" dimensions: "cores:4" dimensions: "cpu:x86-64" - dimensions: "os:Mac-10.13" + dimensions: "os:Mac-10.13|Mac-10.15" dimensions: "pool:luci.chromium.ci" exe { cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build" @@ -15851,7 +15851,7 @@ dimensions: "builder:Chromium Mac Goma Staging" dimensions: "cores:4" dimensions: "cpu:x86-64" - dimensions: "os:Mac-10.13" + dimensions: "os:Mac-10.13|Mac-10.15" dimensions: "pool:luci.chromium.ci" exe { cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build" @@ -16079,7 +16079,7 @@ dimensions: "builder:Mac Builder (dbg) Goma Canary" dimensions: "cores:4" dimensions: "cpu:x86-64" - dimensions: "os:Mac-10.13" + dimensions: "os:Mac-10.13|Mac-10.15" dimensions: "pool:luci.chromium.ci" exe { cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build" @@ -16101,7 +16101,7 @@ dimensions: "builder:Mac Builder (dbg) Goma Canary (clobber)" dimensions: "cores:4" dimensions: "cpu:x86-64" - dimensions: "os:Mac-10.13" + dimensions: "os:Mac-10.13|Mac-10.15" dimensions: "pool:luci.chromium.ci" exe { cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build" @@ -16123,7 +16123,7 @@ dimensions: "builder:Mac Builder (dbg) Goma Latest Client" dimensions: "cores:4" dimensions: "cpu:x86-64" - dimensions: "os:Mac-10.13" + dimensions: "os:Mac-10.13|Mac-10.15" dimensions: "pool:luci.chromium.ci" exe { cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build" @@ -16145,7 +16145,7 @@ dimensions: "builder:Mac Builder (dbg) Goma Latest Client (clobber)" dimensions: "cores:4" dimensions: "cpu:x86-64" - dimensions: "os:Mac-10.13" + dimensions: "os:Mac-10.13|Mac-10.15" dimensions: "pool:luci.chromium.ci" exe { cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build" @@ -16167,7 +16167,7 @@ dimensions: "builder:Mac Builder (dbg) Goma RBE Canary (clobber)" dimensions: "cores:4" dimensions: "cpu:x86-64" - dimensions: "os:Mac-10.13" + dimensions: "os:Mac-10.13|Mac-10.15" dimensions: "pool:luci.chromium.ci" exe { cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build" @@ -16189,7 +16189,7 @@ dimensions: "builder:Mac Builder (dbg) Goma RBE Latest Client (clobber)" dimensions: "cores:4" dimensions: "cpu:x86-64" - dimensions: "os:Mac-10.13" + dimensions: "os:Mac-10.13|Mac-10.15" dimensions: "pool:luci.chromium.ci" exe { cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build" @@ -16211,7 +16211,7 @@ dimensions: "builder:Mac Builder Goma Canary" dimensions: "cores:4" dimensions: "cpu:x86-64" - dimensions: "os:Mac-10.13" + dimensions: "os:Mac-10.13|Mac-10.15" dimensions: "pool:luci.chromium.ci" exe { cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build" @@ -16233,7 +16233,7 @@ dimensions: "builder:Mac Builder Goma Latest Client" dimensions: "cores:4" dimensions: "cpu:x86-64" - dimensions: "os:Mac-10.13" + dimensions: "os:Mac-10.13|Mac-10.15" dimensions: "pool:luci.chromium.ci" exe { cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build" @@ -17033,7 +17033,7 @@ dimensions: "builder:mac-archive-rel-goma-canary" dimensions: "cores:4" dimensions: "cpu:x86-64" - dimensions: "os:Mac-10.13" + dimensions: "os:Mac-10.13|Mac-10.15" dimensions: "pool:luci.chromium.ci" exe { cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build" @@ -17055,7 +17055,7 @@ dimensions: "builder:mac-archive-rel-goma-canary-localoutputcache" dimensions: "cores:4" dimensions: "cpu:x86-64" - dimensions: "os:Mac-10.13" + dimensions: "os:Mac-10.13|Mac-10.15" dimensions: "pool:luci.chromium.ci" exe { cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build" @@ -17077,7 +17077,7 @@ dimensions: "builder:mac-archive-rel-goma-latest" dimensions: "cores:4" dimensions: "cpu:x86-64" - dimensions: "os:Mac-10.13" + dimensions: "os:Mac-10.13|Mac-10.15" dimensions: "pool:luci.chromium.ci" exe { cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build" @@ -17099,7 +17099,7 @@ dimensions: "builder:mac-archive-rel-goma-latest-localoutputcache" dimensions: "cores:4" dimensions: "cpu:x86-64" - dimensions: "os:Mac-10.13" + dimensions: "os:Mac-10.13|Mac-10.15" dimensions: "pool:luci.chromium.ci" exe { cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build" @@ -17121,7 +17121,7 @@ dimensions: "builder:mac-archive-rel-goma-rbe-canary" dimensions: "cores:4" dimensions: "cpu:x86-64" - dimensions: "os:Mac-10.13" + dimensions: "os:Mac-10.13|Mac-10.15" dimensions: "pool:luci.chromium.ci" exe { cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build" @@ -17143,7 +17143,7 @@ dimensions: "builder:mac-archive-rel-goma-rbe-latest" dimensions: "cores:4" dimensions: "cpu:x86-64" - dimensions: "os:Mac-10.13" + dimensions: "os:Mac-10.13|Mac-10.15" dimensions: "pool:luci.chromium.ci" exe { cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build" @@ -22488,45 +22488,6 @@ } } builders { - name: "ios-simulator-eg" - swarming_host: "chromium-swarm.appspot.com" - swarming_tags: "vpython:native-python-wrapper" - dimensions: "builder:ios-simulator-eg" - dimensions: "cpu:x86-64" - dimensions: "os:Mac-10.15" - dimensions: "pool:luci.chromium.try" - exe { - cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build" - cipd_version: "refs/heads/master" - cmd: "recipes" - } - properties: "{\"$build/goma\":{\"rpc_extra_params\":\"?prod\",\"server_host\":\"goma.chromium.org\",\"use_luci_auth\":true},\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"$recipe_engine/isolated\":{\"server\":\"https://isolateserver.appspot.com\"},\"builder_group\":\"tryserver.chromium.mac\",\"recipe\":\"ios/try\",\"xcode_build_version\":\"12a8189n\"}" - execution_timeout_secs: 14400 - expiration_secs: 7200 - caches { - name: "win_toolchain" - path: "win_toolchain" - } - caches { - name: "xcode_ios_12a8189n" - path: "xcode_ios_12a8189n.app" - } - build_numbers: YES - service_account: "chromium-try-builder@chops-service-accounts.iam.gserviceaccount.com" - task_template_canary_percentage { - value: 5 - } - resultdb { - enable: true - bq_exports { - project: "luci-resultdb" - dataset: "chromium" - table: "try_test_results" - test_results {} - } - } - } - builders { name: "ios-simulator-full-configs" swarming_host: "chromium-swarm.appspot.com" swarming_tags: "vpython:native-python-wrapper" @@ -25352,7 +25313,7 @@ swarming_tags: "vpython:native-python-wrapper" dimensions: "builderless:1" dimensions: "cpu:x86-64" - dimensions: "os:Mac-10.13" + dimensions: "os:Mac-10.13|Mac-10.15" dimensions: "pool:luci.chromium.try" dimensions: "ssd:1" exe { @@ -25388,7 +25349,7 @@ swarming_tags: "vpython:native-python-wrapper" dimensions: "builderless:1" dimensions: "cpu:x86-64" - dimensions: "os:Mac-10.13" + dimensions: "os:Mac-10.13|Mac-10.15" dimensions: "pool:luci.chromium.try" dimensions: "ssd:1" exe { @@ -25927,7 +25888,7 @@ swarming_tags: "vpython:native-python-wrapper" dimensions: "builderless:1" dimensions: "cpu:x86-64" - dimensions: "os:Mac-10.13" + dimensions: "os:Mac-10.13|Mac-10.15" dimensions: "pool:luci.chromium.try" dimensions: "ssd:1" exe { @@ -29244,7 +29205,7 @@ swarming_tags: "vpython:native-python-wrapper" dimensions: "builderless:1" dimensions: "cpu:x86-64" - dimensions: "os:Mac-10.13" + dimensions: "os:Mac-10.13|Mac-10.15" dimensions: "pool:luci.chromium.try" dimensions: "ssd:1" exe { @@ -29280,7 +29241,7 @@ swarming_tags: "vpython:native-python-wrapper" dimensions: "builderless:1" dimensions: "cpu:x86-64" - dimensions: "os:Mac-10.13" + dimensions: "os:Mac-10.13|Mac-10.15" dimensions: "pool:luci.chromium.try" dimensions: "ssd:1" exe {
diff --git a/infra/config/generated/luci-milo.cfg b/infra/config/generated/luci-milo.cfg index 5ef2df63..bcd416b 100644 --- a/infra/config/generated/luci-milo.cfg +++ b/infra/config/generated/luci-milo.cfg
@@ -12585,9 +12585,6 @@ name: "buildbucket/luci.chromium.try/ios-simulator-cronet" } builders { - name: "buildbucket/luci.chromium.try/ios-simulator-eg" - } - builders { name: "buildbucket/luci.chromium.try/ios-simulator-full-configs" } builders { @@ -13651,9 +13648,6 @@ name: "buildbucket/luci.chromium.try/ios-simulator-cronet" } builders { - name: "buildbucket/luci.chromium.try/ios-simulator-eg" - } - builders { name: "buildbucket/luci.chromium.try/ios-simulator-full-configs" } builders {
diff --git a/infra/config/generated/luci-notify.cfg b/infra/config/generated/luci-notify.cfg index 1407cec8..b6c36b3 100644 --- a/infra/config/generated/luci-notify.cfg +++ b/infra/config/generated/luci-notify.cfg
@@ -2504,6 +2504,25 @@ } builders { bucket: "ci" + name: "chromeos-amd64-generic-lacros-dbg" + repository: "https://chromium.googlesource.com/chromium/src" + } + tree_closers { + tree_status_host: "chromium-status.appspot.com" + failed_step_regexp: "bot_update|compile|gclient runhooks|runhooks|update" + } +} +notifiers { + notifications { + on_occurrence: FAILURE + failed_step_regexp: "bot_update|compile|gclient runhooks|runhooks|update" + email { + rotation_urls: "https://chrome-ops-rotation-proxy.appspot.com/current/oncallator:chrome-build-sheriff" + } + template: "tree_closure_email_template" + } + builders { + bucket: "ci" name: "chromeos-amd64-generic-rel" repository: "https://chromium.googlesource.com/chromium/src" }
diff --git a/infra/config/generated/realms-dev.cfg b/infra/config/generated/realms-dev.cfg index c05f7f0..a81ee0c 100644 --- a/infra/config/generated/realms-dev.cfg +++ b/infra/config/generated/realms-dev.cfg
@@ -26,6 +26,26 @@ role: "role/scheduler.reader" principals: "group:all" } + bindings { + role: "role/swarming.poolOwner" + principals: "group:project-chromium-admins" + } + bindings { + role: "role/swarming.poolUser" + principals: "group:mdb/chrome-troopers" + } + bindings { + role: "role/swarming.poolViewer" + principals: "group:all" + } + bindings { + role: "role/swarming.taskServiceAccount" + principals: "group:project-chromium-test-dev-task-accounts" + } + bindings { + role: "role/swarming.taskTriggerer" + principals: "group:mdb/chrome-troopers" + } } realms { name: "ci" @@ -48,6 +68,25 @@ } } realms { + name: "pools/ci" + bindings { + role: "role/swarming.poolUser" + principals: "project:infra" + principals: "project:infra-experimental" + } +} +realms { + name: "pools/tests" + bindings { + role: "role/swarming.poolUser" + principals: "group:project-chromium-ci-dev-task-accounts" + principals: "group:project-chromium-try-dev-task-accounts" + } +} +realms { + name: "pools/try" +} +realms { name: "public" bindings { role: "role/buildbucket.reader"
diff --git a/infra/config/lib/builders.star b/infra/config/lib/builders.star index 59e48e7..919e5d72 100644 --- a/infra/config/lib/builders.star +++ b/infra/config/lib/builders.star
@@ -65,7 +65,8 @@ MAC_10_14 = os_enum("Mac-10.14", os_category.MAC), MAC_10_15 = os_enum("Mac-10.15", os_category.MAC), MAC_11_0 = os_enum("Mac-11.0", os_category.MAC), - MAC_DEFAULT = os_enum("Mac-10.13", os_category.MAC), + # TODO(crbug/1121185): Remove 10.13 once builders have been migrated to 10.15. + MAC_DEFAULT = os_enum("Mac-10.13|Mac-10.15", os_category.MAC), MAC_ANY = os_enum("Mac", os_category.MAC), WINDOWS_7 = os_enum("Windows-7", os_category.WINDOWS), WINDOWS_8_1 = os_enum("Windows-8.1", os_category.WINDOWS), @@ -128,14 +129,12 @@ # Keep this in-sync with the versions of bots in //ios/build/bots/. xcode_cache = struct( - x10e1001 = xcode_enum("xcode_ios_10e1001", "xcode_ios_10e1001.app"), - x11a1027 = xcode_enum("xcode_ios_11a1027", "xcode_ios_11a1027.app"), + # in use by webrtc mac builders x11c29 = xcode_enum("xcode_ios_11c29", "xcode_ios_11c29.app"), - x11m382q = xcode_enum("xcode_ios_11m382q", "xcode_ios_11m382q.app"), + # in use by ci/ios-simulator-cronet and try/ios-simulator-cronet x11e146 = xcode_enum("xcode_ios_11e146", "xcode_ios_11e146.app"), - x11e608c = xcode_enum("xcode_ios_11e608c", "xcode_ios_11e608c.app"), + # in use by ios-webkit-tot x11e608cwk = xcode_enum("xcode_ios_11e608cwk", "xcode_ios_11e608cwk.app"), - x11e503a_xct12b1 = xcode_enum("xcode_ios_11e503a_xct12b1", "xcode_ios_11e503a_xct12b1.app"), # xc12 beta 6 x12a8189n = xcode_enum("xcode_ios_12a8189n", "xcode_ios_12a8189n.app"), )
diff --git a/infra/config/lib/ci.star b/infra/config/lib/ci.star index 3e694bc..b87be75 100644 --- a/infra/config/lib/ci.star +++ b/infra/config/lib/ci.star
@@ -678,12 +678,16 @@ *, name, caches = None, - executable = "recipe:ios/unified_builder_tester", + executable = "recipe:chromium", goma_backend = builders.goma.backend.RBE_PROD, os = builders.os.MAC_10_15, + properties = None, **kwargs): - if not caches: - caches = [builders.xcode_cache.x12a8189n] + # Default cache and properties sync + caches = caches or [builders.xcode_cache.x12a8189n] + + properties = properties or {} + properties.setdefault("xcode_build_version", "12a8189n") return fyi_builder( name = name, @@ -691,6 +695,7 @@ cores = None, executable = executable, os = os, + properties = properties, **kwargs ) @@ -849,12 +854,10 @@ goma_backend = builders.goma.backend.RBE_PROD, properties = None, **kwargs): - if not caches: - caches = [builders.xcode_cache.x12a8189n] - if not properties: - properties = { - "xcode_build_version": "12a8189n", - } + caches = caches or [builders.xcode_cache.x12a8189n] + + properties = properties or {} + properties.setdefault("xcode_build_version", "12a8189n") return mac_builder( name = name,
diff --git a/infra/config/lib/try.star b/infra/config/lib/try.star index 69f09a8..3902cd3c 100644 --- a/infra/config/lib/try.star +++ b/infra/config/lib/try.star
@@ -405,17 +405,16 @@ *, name, caches = None, - executable = "recipe:ios/try", + executable = "recipe:chromium_trybot", goma_backend = builders.goma.backend.RBE_PROD, os = builders.os.MAC_10_15, properties = None, **kwargs): - if not caches: - caches = [builders.xcode_cache.x12a8189n] - if not properties: - properties = { - "xcode_build_version": "12a8189n", - } + caches = caches or [builders.xcode_cache.x12a8189n] + + properties = properties or {} + properties.setdefault("xcode_build_version", "12a8189n") + return try_builder( name = name, builder_group = "tryserver.chromium.mac",
diff --git a/infra/config/main.star b/infra/config/main.star index 1f057cf..5c3fed9 100755 --- a/infra/config/main.star +++ b/infra/config/main.star
@@ -10,7 +10,7 @@ load("//project.star", "settings") lucicfg.check_version( - min = "1.18.4", + min = "1.18.7", message = "Update depot_tools", )
diff --git a/infra/config/subprojects/chromium/ci.star b/infra/config/subprojects/chromium/ci.star index 6f3ff3a..65136c9 100644 --- a/infra/config/subprojects/chromium/ci.star +++ b/infra/config/subprojects/chromium/ci.star
@@ -1204,8 +1204,6 @@ ), cq_mirrors_console_view = settings.cq_mirrors_console_name, main_console_view = settings.main_console_name, - # TODO(crbug.com/1121667) Enable tree closing when it's stable. - tree_closing = False, ) ci.chromiumos_builder( @@ -1292,7 +1290,6 @@ main_console_view = settings.main_console_name, cq_mirrors_console_view = settings.cq_mirrors_console_name, triggered_by = ["linux-lacros-builder-rel"], - # TODO(crbug.com/1104291): Enable tree closing. tree_closing = False, ) @@ -2834,11 +2831,6 @@ category = "iOS", short_name = "asan", ), - executable = "recipe:chromium", - os = os.MAC_10_15, - properties = { - "xcode_build_version": "12a8189n", - }, ) ci.fyi_ios_builder( @@ -2847,10 +2839,6 @@ category = "iOS", short_name = "chr", ), - executable = "recipe:chromium", - properties = { - "xcode_build_version": "12a8189n", - }, ) ci.fyi_ios_builder( @@ -2861,7 +2849,6 @@ category = "cronet", ), cq_mirrors_console_view = settings.cq_mirrors_console_name, - executable = "recipe:chromium", main_console_view = main_console_if_on_branch(), notifies = ["cronet"], properties = { @@ -2875,11 +2862,6 @@ category = "iOS", short_name = "mwd", ), - executable = "recipe:chromium", - os = os.MAC_10_15, - properties = { - "xcode_build_version": "12a8189n", - }, ) ci.fyi_ios_builder( @@ -2889,7 +2871,6 @@ category = "iOS", short_name = "wk", ), - executable = "recipe:chromium", properties = { "xcode_build_version": "11e608cwk", }, @@ -2903,11 +2884,6 @@ category = "iOS|iOS13", short_name = "ios13", ), - executable = "recipe:chromium", - os = os.MAC_10_15, - properties = { - "xcode_build_version": "12a8189n", - }, schedule = "0 0,12 * * *", triggered_by = [], ) @@ -2918,12 +2894,6 @@ category = "iOS|iOS13", short_name = "dev", ), - caches = [xcode_cache.x12a8189n], - executable = "recipe:chromium", - os = os.MAC_10_15, - properties = { - "xcode_build_version": "12a8189n", - }, ) ci.fyi_ios_builder( @@ -2932,12 +2902,6 @@ category = "iOS|iOS13", short_name = "sdk13", ), - caches = [xcode_cache.x12a8189n], - executable = "recipe:chromium", - os = os.MAC_10_15, - properties = { - "xcode_build_version": "12a8189n", - }, schedule = "0 6,18 * * *", triggered_by = [], ) @@ -2948,11 +2912,6 @@ category = "iOS|iOS14", short_name = "ios14", ), - executable = "recipe:chromium", - os = os.MAC_10_15, - properties = { - "xcode_build_version": "12a8189n", - }, ) ci.fyi_ios_builder( @@ -2961,12 +2920,6 @@ category = "iOS|iOS14", short_name = "sdk14", ), - caches = [xcode_cache.x12a8189n], - executable = "recipe:chromium", - os = os.MAC_10_15, - properties = { - "xcode_build_version": "12a8189n", - }, ) ci.fyi_mac_builder( @@ -4446,9 +4399,6 @@ ci.mac_ios_builder( name = "ios-simulator-noncq", - caches = [ - xcode_cache.x12a8189n, - ], console_view_entry = ci.console_view_entry( category = "ios|default", short_name = "non", @@ -4456,9 +4406,6 @@ # We don't have necessary capacity to run this configuration in CQ, but it # is part of the main waterfall main_console_view = "main", - properties = { - "xcode_build_version": "12a8189n", - }, ) ci.memory_builder(
diff --git a/infra/config/subprojects/chromium/try.star b/infra/config/subprojects/chromium/try.star index dd6b463d..da0d6b39 100644 --- a/infra/config/subprojects/chromium/try.star +++ b/infra/config/subprojects/chromium/try.star
@@ -1115,7 +1115,7 @@ branch_selector = branches.STANDARD_RELEASES, goma_jobs = goma.jobs.J150, main_list_view = settings.main_list_view_name, - os = os.MAC_10_13, + os = os.MAC_DEFAULT, tryjob = try_.job(), ) @@ -1167,7 +1167,7 @@ name = "mac_chromium_compile_dbg_ng", branch_selector = branches.STANDARD_RELEASES, goma_jobs = goma.jobs.J150, - os = os.MAC_10_13, + os = os.MAC_DEFAULT, main_list_view = settings.main_list_view_name, tryjob = try_.job(cancel_stale = False), ) @@ -1255,13 +1255,8 @@ ) try_.chromium_mac_ios_builder( - name = "ios-simulator-eg", -) - -try_.chromium_mac_ios_builder( name = "ios-simulator-full-configs", branch_selector = branches.STANDARD_RELEASES, - executable = "recipe:chromium_trybot", main_list_view = settings.main_list_view_name, tryjob = try_.job( location_regexp = [ @@ -1272,52 +1267,26 @@ try_.chromium_mac_ios_builder( name = "ios-simulator-multi-window", - executable = "recipe:chromium_trybot", ) try_.chromium_mac_ios_builder( name = "ios-simulator-noncq", - executable = "recipe:chromium_trybot", ) try_.chromium_mac_ios_builder( name = "ios13-beta-simulator", - executable = "recipe:chromium_trybot", - caches = [xcode_cache.x12a8189n], - os = os.MAC_10_15, - properties = { - "xcode_build_version": "12a8189n", - }, ) try_.chromium_mac_ios_builder( name = "ios13-sdk-simulator", - executable = "recipe:chromium_trybot", - caches = [xcode_cache.x12a8189n], - os = os.MAC_10_15, - properties = { - "xcode_build_version": "12a8189n", - }, ) try_.chromium_mac_ios_builder( name = "ios14-beta-simulator", - executable = "recipe:chromium_trybot", - caches = [xcode_cache.x12a8189n], - os = os.MAC_10_15, - properties = { - "xcode_build_version": "12a8189n", - }, ) try_.chromium_mac_ios_builder( name = "ios14-sdk-simulator", - executable = "recipe:chromium_trybot", - caches = [xcode_cache.x12a8189n], - os = os.MAC_10_15, - properties = { - "xcode_build_version": "12a8189n", - }, ) try_.chromium_win_builder(
diff --git a/infra/config/subprojects/chromium/versioned/m85/buckets/try.star b/infra/config/subprojects/chromium/versioned/m85/buckets/try.star index fae363a1..dfa6346 100644 --- a/infra/config/subprojects/chromium/versioned/m85/buckets/try.star +++ b/infra/config/subprojects/chromium/versioned/m85/buckets/try.star
@@ -445,14 +445,14 @@ try_.chromium_mac_builder( name = "mac-rel", goma_jobs = goma.jobs.J150, - os = os.MAC_10_13, + os = os.MAC_DEFAULT, tryjob = try_.job(), ) try_.chromium_mac_builder( name = "mac_chromium_compile_dbg_ng", goma_jobs = goma.jobs.J150, - os = os.MAC_10_13, + os = os.MAC_DEFAULT, tryjob = try_.job(), )
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_hi.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_hi.xtb index bf8c14d..b6e1673 100644 --- a/ios/chrome/app/strings/resources/ios_chromium_strings_hi.xtb +++ b/ios/chrome/app/strings/resources/ios_chromium_strings_hi.xtb
@@ -4,7 +4,7 @@ <translation id="102360288709523007">Google को इस्तेमाल के आंकड़े और खराबी रिपोर्ट भेजकर क्रोमियम को बेहतर बनाने में मदद करें.</translation> <translation id="1185134272377778587">क्रोमियम के बारे में</translation> <translation id="1257458525759135959">इमेज सेव करने के लिए, सेटिंग पर टैप करके क्रोमियम को अनुमति दें कि वह आपके फ़ोटो सेक्शन में इमेज जोड़ सके.</translation> -<translation id="1361748954329991663">क्रोमियम का यह वर्शन पुराना हो गया है. अगर <ph name="BEGIN_LINK" />ऐप स्टोर<ph name="END_LINK" /> में कोई अपडेट उपलब्ध नहीं है, तो हो सकता है कि आपका डिवाइस अब क्रोमियम के नए वर्शन के साथ काम नहीं करता.</translation> +<translation id="1361748954329991663">क्रोमियम का यह वर्शन पुराना हो गया है. अगर <ph name="BEGIN_LINK" />App Store<ph name="END_LINK" /> में कोई अपडेट उपलब्ध नहीं है, तो हो सकता है कि आपका डिवाइस अब क्रोमियम के नए वर्शन के साथ काम नहीं करता.</translation> <translation id="1472013873724362412">आपका खाता क्रोमियम पर काम नहीं करता. कृपया साइन इन करने के लिए अपने डोमेन एडमिन से संपर्क करें या नियमित Google खाते का इस्तेमाल करें.</translation> <translation id="1507010443238049608">क्रोमियम की सुविधाओं और प्रदर्शन को बेहतर बनाने में मदद करें</translation> <translation id="1617663976202781617">क्रोमियम सिंक से मिला डेटा</translation> @@ -32,10 +32,10 @@ <translation id="4681781466797808448">अपना क्रोमियम स्कैनर चालू करें</translation> <translation id="4787850887676698916">आपके अन्य डिवाइस पर क्रोमियम में खोले हुए आपके टैब यहां दिखाई देंगे.</translation> <translation id="4828317641996116749">क्रोमियम सभी पासवर्ड की जांच नहीं कर सका. कुछ देर बाद कोशिश करें.</translation> -<translation id="4985291216379576555">क्रोमियम अपडेट की जांच नहीं सकता, क्योंकि आप ऑफ़लाइन हैं</translation> +<translation id="4985291216379576555">क्रोमियम अपडेट की जांच नहीं कर सका, क्योंकि आप ऑफ़लाइन हैं</translation> <translation id="4999538639245140991">क्योंकि आप <ph name="SIGNOUT_MANAGED_DOMAIN" /> की ओर से प्रबंधित खाते से साइन आउट कर रहे हैं, इसलिए आपका क्रोमियम डेटा इस डिवाइस से मिट जाएगा. आपका डेटा आपके Google खाते में बना रहेगा.</translation> <translation id="5224391634244552924">कोई भी पासवर्ड सेव नहीं किया गया है. आप जब अपने पासवर्ड सेव करते हैं, तो क्रोमियम उनकी जांच कर सकता है.</translation> -<translation id="5308226104666789935">क्रोमियम अपडेट की जांच नहीं कर सकता</translation> +<translation id="5308226104666789935">क्रोमियम अपडेट की जांच नहीं कर सका</translation> <translation id="5521125884468363740">आप जिन डिवाइस पर क्रोमियम का इस्तेमाल करते हैं उन सभी पर खोले गए टैब देखने के लिए, सभी डिवाइस पर साइन इन करें और सिंक करने की सुविधा चालू करें</translation> <translation id="5573014823074921752">'क्रोमियम' इस्तेमाल करने के लिए सलाह. ज़्यादा टैब विकल्पोंं के लिए टूलबार में 'टैब दिखाएं' बटन को दबाकर रखें. यह बटन आपकी स्क्रीन में सबसे नीचे या सबसे ऊपर होगा.</translation> <translation id="5700709190537129682">क्रोमियम आपके पासवर्ड की जांच नहीं कर सकता</translation> @@ -47,7 +47,7 @@ <translation id="6424492062988593837">Chrome अब बेहतर हो गया है! नया वर्शन उपलब्ध है.</translation> <translation id="6604711459180487467">अपने स्थान के आधार पर क्रोमियम में बेहतर अनुभव पाएं.</translation> <translation id="6820823224820483452">क्रोमियम सभी पासवर्ड की जांच नहीं कर सका. कल कोशिश करें.</translation> -<translation id="7018284295775193585">क्रोमियम को अपडेट नहीं किया जा सकता</translation> +<translation id="7018284295775193585">क्रोमियम को अपडेट नहीं किया जा सका</translation> <translation id="7099326575020694068">क्रोमियम स्प्लिट व्यू मोड में आपके कैमरे का इस्तेमाल नहीं कर सकता</translation> <translation id="7118091470949186573">अब आप मैसेज, दस्तावेज़ों, और दूसरे ऐप्लिकेशन में मिले लिंक पर टैप करके, किसी भी समय क्रोमियम का इस्तेमाल कर सकते हैं.</translation> <translation id="7208566199746267865">क्रोमियम आपके खातों को वेब पर लाकर आपका समय बचाता है. आप सेटिंग में खातों को जोड़ सकते हैं या निकाल सकते हैं.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_ky.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_ky.xtb index cb8bd40f..83b6fb0 100644 --- a/ios/chrome/app/strings/resources/ios_chromium_strings_ky.xtb +++ b/ios/chrome/app/strings/resources/ios_chromium_strings_ky.xtb
@@ -48,7 +48,7 @@ <translation id="6424492062988593837">Chromium жаңы эле жакшыртылды! Эми жаңы нускасы бар.</translation> <translation id="6604711459180487467">Chromium'ду жайгашкан жериңизге ылайык пайдаланыңыз.</translation> <translation id="6820823224820483452">Chromium бардык сырсөздөрдү текшере алган жок. Эртең кайталап көрүңүз.</translation> -<translation id="7018284295775193585">Chromium жаңыртылган жок</translation> +<translation id="7018284295775193585">Chromium жаңырган жок</translation> <translation id="7099326575020694068">Экранды бөлүп көрсөтүү режиминде Chromium камераны иштете албайт</translation> <translation id="7118091470949186573">Эми билдирүүлөрдөгү шилтемелерди, документтерди жана башка колдонмолорду Chromium'да ача аласыз.</translation> <translation id="7208566199746267865">Аккаунттарыңызды желеге жайгаштыруу менен Chromium убакытыңызды үнөмдөйт. Аккаунттарды Жөндөөлөрдөн кошуп же алып салсаңыз болот.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_hi.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_hi.xtb index af0e7de..a76dbb92 100644 --- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_hi.xtb +++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_hi.xtb
@@ -37,16 +37,16 @@ <translation id="424864128008805179">Chrome से साइन आउट करें?</translation> <translation id="4249068189593983585">Chrome इस्तेमाल करने के लिए सलाह. ज़्यादा टैब विकल्पों के लिए, टूलबार में 'टैब दिखाएं' बटन को दबाकर रखें. यह बटन आपकी स्क्रीन के सबसे नीचे या सबसे ऊपर मिलेगा.</translation> <translation id="4523886039239821078">कुछ ऐड-ऑन के कारण Chrome बंद हो जा रहा है. कृपया उन्हें अनइंस्टॉल करें:</translation> -<translation id="4633328489441962921">Chrome अपडेट की जांच नहीं कर सकता</translation> +<translation id="4633328489441962921">Chrome अपडेट की जांच नहीं कर सका</translation> <translation id="4698415050768537821">Chrome सभी पासवर्ड की जांच नहीं कर सका. कल कोशिश करें या <ph name="BEGIN_LINK" />अपने Google खाते में सेव किए गए पासवर्ड की जांच करें.<ph name="END_LINK" /></translation> <translation id="484033449593719797">यह ऐप्लिकेशन Chrome के बीटा वर्शन पर काम नहीं करता</translation> <translation id="5030102366287574140">Chrome आपको डेटा के गलत इस्तेमाल, नुकसान पहुंचाने वाली वेबसाइटों वगैरह से सुरक्षित रखने में मदद कर सकता है.</translation> -<translation id="5162467219239570114">Chrome का यह वर्शन पुराना हो गया है. अगर <ph name="BEGIN_LINK" />ऐप स्टोर<ph name="END_LINK" /> में कोई अपडेट उपलब्ध नहीं है, तो हो सकता है कि आपका डिवाइस अब Chrome के नए वर्शन के साथ काम नहीं करता.</translation> +<translation id="5162467219239570114">Chrome का यह वर्शन पुराना हो गया है. अगर <ph name="BEGIN_LINK" />App Store<ph name="END_LINK" /> में कोई अपडेट उपलब्ध नहीं है, तो हो सकता है कि आपका डिवाइस अब Chrome के नए वर्शन के साथ काम नहीं करता.</translation> <translation id="5389212809648216794">Google Chrome आपके कैमरे का उपयोग नहीं कर सकता क्योंकि दूसरा ऐप्लिकेशन उसका उपयोग कर रहा है</translation> <translation id="5639704535586432836">सेटिंग > निजता > कैमरा > Google Chrome खोलें और कैमरा चालू करें.</translation> <translation id="5642200033778930880">Google Chrome स्प्लिट व्यू मोड में आपके कैमरे का इस्तेमाल नहीं कर सकता</translation> <translation id="5690427481109656848">Google LLC</translation> -<translation id="571296537125272375">Chrome अपडेट की जांच नहीं कर सकता, क्योंकि आप ऑफ़लाइन हैं</translation> +<translation id="571296537125272375">Chrome अपडेट की जांच नहीं कर सका, क्योंकि आप ऑफ़लाइन हैं</translation> <translation id="5854621639439811139">Chrome के लिए सलाह. 'वापस जाएं', 'आगे जाएं' और 'खोजें' जैसे कुछ बटन अब आपकी स्क्रीन के सबसे नीचे मिलेंगे.</translation> <translation id="6036420186814142909">Google Chrome में ऐसी सुविधाएं हैं जो आपको अपने इंटरनेट डेटा को प्रबंधित करने और वेबपृष्ठों को तेज़ी से लोड करने में आपकी सहायता करती हैं. <ph name="BEGIN_LINK" />और जानें<ph name="END_LINK" /></translation> <translation id="6573431926118603307"> अपने अन्य डिवाइस पर खोले गए टैब यहां दिखाई देंगे.</translation> @@ -69,7 +69,7 @@ <translation id="7698568245838009292">Chrome आपका कैमरा ऐक्सेस करना चाहता है</translation> <translation id="7855730255114109580">Google Chrome अप टू डेट है</translation> <translation id="8045508249136869751">Chrome को डिफ़ॉल्ट ब्राउज़र के तौर पर सेट करने के लिए, Settings खोलें, डिफ़ॉल्ट ब्राउज़र ऐप्लिकेशन पर टैप करें, और Chrome को चुनें.</translation> -<translation id="8160472928944011082">Chrome को अपडेट नहीं किया जा सकता</translation> +<translation id="8160472928944011082">Chrome को अपडेट नहीं किया जा सका</translation> <translation id="8370517070665726704">कॉपीराइट <ph name="YEAR" /> Google LLC. सर्वाधिकार सुरक्षित.</translation> <translation id="840168496893712993">कुछ ऐड-ऑन के कारण Chrome क्रैश हो जाता है. कृपया उन्हें अनइंस्टॉल करके देखें.</translation> <translation id="8459495907675268833">चयनित डेटा Chrome और समन्वयित डिवाइस से निकाल दिया गया है. हो सकता है कि आपके Google खाते में अन्य प्रकार के ब्राउज़िंग इतिहास जैसे खोज और history.google.com पर अन्य Google सेवाओं की गतिविधि हो.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_am.xtb b/ios/chrome/app/strings/resources/ios_strings_am.xtb index 5e0ce85..fed6ded 100644 --- a/ios/chrome/app/strings/resources/ios_strings_am.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_am.xtb
@@ -14,6 +14,7 @@ <translation id="1084365883616172403">የFacebook ልጥፍ ተጠናቅቋል።</translation> <translation id="1103523840287552314">ሁልጊዜ <ph name="LANGUAGE" />ን መተርጎም</translation> <translation id="1104948393051856124">ተቀበል እና ቀጥል</translation> +<translation id="110724200315609752">ወደ ክፍት መስኮት ቀይር</translation> <translation id="1112015203684611006">ማተም አልተሳካም።</translation> <translation id="1125564390852150847">አዲስ ትር ፍጠር።</translation> <translation id="1145536944570833626">ነባሩን ውሂብ ይሰርዙ።</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ar.xtb b/ios/chrome/app/strings/resources/ios_strings_ar.xtb index dcfc4f4..4f5a684 100644 --- a/ios/chrome/app/strings/resources/ios_strings_ar.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_ar.xtb
@@ -14,6 +14,7 @@ <translation id="1084365883616172403">اكتمل النشر على Facebook.</translation> <translation id="1103523840287552314">ترجمة اللغة <ph name="LANGUAGE" /> دائمًا</translation> <translation id="1104948393051856124">القبول والمتابعة</translation> +<translation id="110724200315609752">التبديل إلى نافذة مفتوحة</translation> <translation id="1112015203684611006">تعذّرت الطباعة.</translation> <translation id="1125564390852150847">إنشاء علامة تبويب جديدة.</translation> <translation id="1145536944570833626">يمكنك حذف البيانات الحالية.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_az.xtb b/ios/chrome/app/strings/resources/ios_strings_az.xtb index 618ac38..5d854b6 100644 --- a/ios/chrome/app/strings/resources/ios_strings_az.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_az.xtb
@@ -14,6 +14,7 @@ <translation id="1084365883616172403">Facebook paylaşımı tamamlandı.</translation> <translation id="1103523840287552314">Həmişə <ph name="LANGUAGE" /> dilinə tərcümə edin</translation> <translation id="1104948393051856124">Qəbul edin və Davam edin</translation> +<translation id="110724200315609752">Açıq Pəncərəyə keçirin</translation> <translation id="1112015203684611006">Çap alınmadı.</translation> <translation id="1125564390852150847">Yeni panel yaradın.</translation> <translation id="1145536944570833626">Mövcud datanı silin.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_be.xtb b/ios/chrome/app/strings/resources/ios_strings_be.xtb index 4efbd219..ce57d0a 100644 --- a/ios/chrome/app/strings/resources/ios_strings_be.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_be.xtb
@@ -14,6 +14,7 @@ <translation id="1084365883616172403">Публікацыя ў Facebook выканана.</translation> <translation id="1103523840287552314">Заўсёды перакладаць з мовы: <ph name="LANGUAGE" /></translation> <translation id="1104948393051856124">Прыняць і працягнуць</translation> +<translation id="110724200315609752">Пераключыцца на адкрытае акно</translation> <translation id="1112015203684611006">Памылка друкавання.</translation> <translation id="1125564390852150847">Стварыць новую ўкладку.</translation> <translation id="1145536944570833626">Выдаліць існуючыя даныя.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_bg.xtb b/ios/chrome/app/strings/resources/ios_strings_bg.xtb index 965957f53..5380d2c4 100644 --- a/ios/chrome/app/strings/resources/ios_strings_bg.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_bg.xtb
@@ -14,6 +14,7 @@ <translation id="1084365883616172403">Публикацията във Facebook е завършена.</translation> <translation id="1103523840287552314">Винаги да се превежда от <ph name="LANGUAGE" /></translation> <translation id="1104948393051856124">Приемам и напред</translation> +<translation id="110724200315609752">Превключване към отворения прозорец</translation> <translation id="1112015203684611006">Неуспешно отпечатване.</translation> <translation id="1125564390852150847">Създаване на нов раздел.</translation> <translation id="1145536944570833626">Изтриване на съществуващите данни.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_bn.xtb b/ios/chrome/app/strings/resources/ios_strings_bn.xtb index 06940304..88c249d 100644 --- a/ios/chrome/app/strings/resources/ios_strings_bn.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_bn.xtb
@@ -14,6 +14,7 @@ <translation id="1084365883616172403">Facebook পোষ্ট সম্পূর্ণ হয়েছে৷</translation> <translation id="1103523840287552314">সর্বদা অনুবাদ করুন <ph name="LANGUAGE" /></translation> <translation id="1104948393051856124">স্বীকার করুন ও চালিয়ে যান</translation> +<translation id="110724200315609752">এই উইন্ডো থেকে পাল্টে খুলে রাখা উইন্ডোতে যান</translation> <translation id="1112015203684611006">প্রিন্ট ব্যর্থ হয়েছে।</translation> <translation id="1125564390852150847">নতুন ট্যাব তৈরি করুন।</translation> <translation id="1145536944570833626">বিদ্যমান ডেটা মুছুন।</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_bs.xtb b/ios/chrome/app/strings/resources/ios_strings_bs.xtb index d9a51c7..112b617c 100644 --- a/ios/chrome/app/strings/resources/ios_strings_bs.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_bs.xtb
@@ -14,7 +14,7 @@ <translation id="1084365883616172403">Objava na Facebooku je završena.</translation> <translation id="1103523840287552314">Uvijek prevodi <ph name="LANGUAGE" /></translation> <translation id="1104948393051856124">Prihvati i nastavi</translation> -<translation id="110724200315609752">Prijeđite na otvoreni prozor</translation> +<translation id="110724200315609752">Prebaci na otvoreni prozor</translation> <translation id="1112015203684611006">Štampanje nije uspjelo.</translation> <translation id="1125564390852150847">Kreiranje nove kartice.</translation> <translation id="1145536944570833626">Brisanje postojećih podataka.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_de.xtb b/ios/chrome/app/strings/resources/ios_strings_de.xtb index 1dd1008..936bdb7 100644 --- a/ios/chrome/app/strings/resources/ios_strings_de.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_de.xtb
@@ -14,6 +14,7 @@ <translation id="1084365883616172403">Facebook-Beitrag gepostet</translation> <translation id="1103523840287552314"><ph name="LANGUAGE" /> immer übersetzen</translation> <translation id="1104948393051856124">Akzeptieren & weiter</translation> +<translation id="110724200315609752">Zu offenem Fenster wechseln</translation> <translation id="1112015203684611006">Fehler beim Drucken.</translation> <translation id="1125564390852150847">Neuen Tab erstellen.</translation> <translation id="1145536944570833626">Vorhandene Daten löschen</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 f50d6cd..77d57ea 100644 --- a/ios/chrome/app/strings/resources/ios_strings_en-GB.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_en-GB.xtb
@@ -98,6 +98,7 @@ <translation id="1965935827552890526">Finish what you were doing in your other open Chrome window.</translation> <translation id="1974060860693918893">Advanced</translation> <translation id="1989112275319619282">Browse</translation> +<translation id="1992734845128748707">Change default browser…</translation> <translation id="2015722694326466240">To see passwords, you must first set a passcode on your device.</translation> <translation id="2073572773299281212">Active <ph name="DAYS" /> days ago</translation> <translation id="2074131957428911366">You can always choose what to sync in <ph name="BEGIN_LINK" />settings<ph name="END_LINK" />.</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 9def3957..d27ae0a 100644 --- a/ios/chrome/app/strings/resources/ios_strings_es-419.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_es-419.xtb
@@ -14,6 +14,7 @@ <translation id="1084365883616172403">Entrada de Facebook publicada</translation> <translation id="1103523840287552314">Siempre traducir <ph name="LANGUAGE" /></translation> <translation id="1104948393051856124">Aceptar y continuar</translation> +<translation id="110724200315609752">Cambiar a otra ventana abierta</translation> <translation id="1112015203684611006">Se produjo un error en la impresión.</translation> <translation id="1125564390852150847">Crea una pestaña nueva.</translation> <translation id="1145536944570833626">Borra los datos existentes.</translation> @@ -97,6 +98,7 @@ <translation id="1965935827552890526">Completa las tareas que tenías en curso en otra ventana abierta de Chrome.</translation> <translation id="1974060860693918893">Configuración avanzada</translation> <translation id="1989112275319619282">Navegar</translation> +<translation id="1992734845128748707">Cambiar el navegador predeterminado…</translation> <translation id="2015722694326466240">Para ver las contraseñas, primero debes establecer una en tu dispositivo.</translation> <translation id="2073572773299281212">Activo hace <ph name="DAYS" /> días</translation> <translation id="2074131957428911366">En la <ph name="BEGIN_LINK" />configuración<ph name="END_LINK" />, puedes elegir los datos para sincronizar en cualquier momento.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_eu.xtb b/ios/chrome/app/strings/resources/ios_strings_eu.xtb index 68751a2..6ae79cb 100644 --- a/ios/chrome/app/strings/resources/ios_strings_eu.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_eu.xtb
@@ -14,6 +14,7 @@ <translation id="1084365883616172403">Mezua Facebook-en argitaratu da.</translation> <translation id="1103523840287552314">Itzuli <ph name="LANGUAGE" /> beti</translation> <translation id="1104948393051856124">Onartu eta jarraitu</translation> +<translation id="110724200315609752">Erabili irekita dagoen leihoa</translation> <translation id="1112015203684611006">Ezin izan da inprimatu.</translation> <translation id="1125564390852150847">Sortu beste fitxa bat.</translation> <translation id="1145536944570833626">Ezabatu lehendik dauden datuak.</translation> @@ -97,6 +98,7 @@ <translation id="1965935827552890526">Amaitu egiten ari zarena irekita daukazun Chrome-ko beste leihoan.</translation> <translation id="1974060860693918893">Aurreratuak</translation> <translation id="1989112275319619282">Arakatu</translation> +<translation id="1992734845128748707">Aldatu arakatzaile lehenetsia…</translation> <translation id="2015722694326466240">Pasahitzak ikusteko, lehenik, pasakode bat ezarri behar duzu gailuan.</translation> <translation id="2073572773299281212">Aktibo duela <ph name="DAYS" /> egun</translation> <translation id="2074131957428911366">Zer sinkronizatu nahi duzun aukeratzeko, joan <ph name="BEGIN_LINK" />Ezarpenak<ph name="END_LINK" /> atalera.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_fa.xtb b/ios/chrome/app/strings/resources/ios_strings_fa.xtb index 287156e4..f1a82c31 100644 --- a/ios/chrome/app/strings/resources/ios_strings_fa.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_fa.xtb
@@ -14,6 +14,7 @@ <translation id="1084365883616172403">پست Facebook ارسال شد.</translation> <translation id="1103523840287552314"><ph name="LANGUAGE" /> همیشه ترجمه شود</translation> <translation id="1104948393051856124">پذیرش و ادامه</translation> +<translation id="110724200315609752">رفتن به پنجره باز</translation> <translation id="1112015203684611006">چاپ انجام نشد.</translation> <translation id="1125564390852150847">ایجاد برگه جدید</translation> <translation id="1145536944570833626">حذف دادههای موجود.</translation> @@ -58,7 +59,7 @@ <translation id="1523341279170789507">مجازبودن همه کوکیها</translation> <translation id="1535268707340844072">ممکن است تنظیم فعلی موجب خرابی برخی از سایتها شود. برای مدیریت کردن کوکیها برای همه سایتها، به <ph name="BEGIN_LINK" />تنظیمات کوکیها<ph name="END_LINK" /> بروید.</translation> <translation id="1540800554400757039">آدرس ۱</translation> -<translation id="1545749641540134597">اسکن کد QR</translation> +<translation id="1545749641540134597">اسکن رمزینه پاسخسریع</translation> <translation id="1552525382687785070">سرپرستتان همگامسازی را غیرفعال کرده است</translation> <translation id="1554477036522844996">پنجره جدید</translation> <translation id="1580783302095112590">نامه ارسال شد.</translation> @@ -108,7 +109,7 @@ <translation id="213900355088104901">برای مرور خصوصی، برگه ناشناسی باز کنید</translation> <translation id="2139867232736819575">جستجوی نوشتاری که کپی کردهاید</translation> <translation id="2149973817440762519">ویرایش نشانک</translation> -<translation id="2175927920773552910">کد QR</translation> +<translation id="2175927920773552910">رمزینه پاسخسریع</translation> <translation id="2198757192731523470">Google ممکن است از سابقه مرور شما برای شخصی کردن جستجو، آگهیها، و سایر سرویسهای Google استفاده کند.</translation> <translation id="2218443599109088993">کوچک کردن</translation> <translation id="2230173723195178503">صفحه وب بار شد</translation> @@ -176,7 +177,7 @@ <translation id="288655811176831528">بستن برگه</translation> <translation id="2898963176829412617">پوشه جدید…</translation> <translation id="2916171785467530738">تکمیل خودکار جستجوها و نشانیهای وب</translation> -<translation id="291754862089661335">کد QR یا بارکد را در این قاب قرار دهید</translation> +<translation id="291754862089661335">رمزینه پاسخسریع یا بارکد را در این قاب قرار دهید</translation> <translation id="2921219216347069551">امکان اشتراکگذاری صفحه وجود ندارد</translation> <translation id="2923448633003185837">جایگذاری و رفتن</translation> <translation id="292639812446257861">علامتگذاری بهعنوان خواندهنشده</translation> @@ -287,7 +288,7 @@ <translation id="4181841719683918333">زبانها</translation> <translation id="424315890655130736">عبارت ورود را وارد کنید</translation> <translation id="4263576668337963058">نمایش کنشهای موجود صفحه</translation> -<translation id="4272631900155121838">برای اسکن کردن کد QR، دوربین را در تنظیمات فعال کنید</translation> +<translation id="4272631900155121838">برای اسکن کردن رمزینه پاسخسریع، دوربین را در تنظیمات فعال کنید</translation> <translation id="4276041135170112053">اکنون مشکل رفع شود.</translation> <translation id="4277990410970811858">مرور ایمن</translation> <translation id="4281844954008187215">شرایط استفاده از سرویس</translation> @@ -296,7 +297,7 @@ <translation id="4334428914252001502">۱ مقاله خواندهنشده.</translation> <translation id="4338650699862464074">نشانی وب صفحههایی را که بازدید میکنید برای Google ارسال میکند.</translation> <translation id="4359125752503270327">این صفحه در برنامه دیگری باز میشود.</translation> -<translation id="4375040482473363939">جستجوی کد QR</translation> +<translation id="4375040482473363939">جستجوی رمزینه پاسخسریع</translation> <translation id="4378154925671717803">تلفن</translation> <translation id="4389019817280890563">برای تغییر زبان، ضربه بزنید.</translation> <translation id="441868831736628555">اعلامیه حریم خصوصی</translation> @@ -424,7 +425,7 @@ <translation id="5869029295770560994">بله متوجه شدم</translation> <translation id="5871497086027727873">۱ مورد منتقل شد</translation> <translation id="5897956970858271241">به پیوندی که کپی کردهاید بروید</translation> -<translation id="5899314093904173337">برای همرسانی کردن با افراد حاضر در اطراف، بهآنها اجازه دهید این کد QR را با دوربین خود یا برنامه اسکنر QR اسکن کنند</translation> +<translation id="5899314093904173337">برای همرسانی کردن با افراد حاضر در اطراف، بهآنها اجازه دهید این رمزینه پاسخسریع را با دوربین خود یا برنامه اسکنر QR اسکن کنند</translation> <translation id="5911030830365207728">مترجم Google</translation> <translation id="5913600720976431809">گزینههای ترجمه صفحه</translation> <translation id="5938160824633642847">دستگاهتان تقریباً پر است. فضا آزاد کنید و دوباره امتحان کنید.</translation> @@ -509,7 +510,7 @@ <translation id="6639730758971422557">برای روشن کردن «مرور ایمن»، <ph name="BEGIN_LINK" />همگامسازی و سرویسهای Google<ph name="END_LINK" /> را باز کنید و روی «مرور ایمن» ضربه بزنید.</translation> <translation id="6642362222295953972">رفتن به برگه موجود</translation> <translation id="6643016212128521049">پاک کردن</translation> -<translation id="6645899968535965230">کد QR: <ph name="PAGE_TITLE" /></translation> +<translation id="6645899968535965230">رمزینه پاسخسریع: <ph name="PAGE_TITLE" /></translation> <translation id="6656103420185847513">ویرایش پوشه</translation> <translation id="6657585470893396449">گذرواژه</translation> <translation id="6668619169535738264">ویرایش نشانک</translation> @@ -528,7 +529,7 @@ <translation id="6841409746189899007">پیوند به نوشتار</translation> <translation id="6851516051005285358">درخواست سایت میزکار</translation> <translation id="6858855187367714033">اسکنشده</translation> -<translation id="6859944681507688231">برای اسکن کردن کد QR یا کارت اعتباری، دوربین را در تنظیمات فعال کنید.</translation> +<translation id="6859944681507688231">برای اسکن کردن رمزینه پاسخسریع یا کارت اعتباری، دوربین را در تنظیمات فعال کنید.</translation> <translation id="6869389390665537774">میتوانید صفحههایی را که از آنها بازدید کردهاید ببینید یا آنها را از سابقه پاک کنید</translation> <translation id="6873263987691478642">نمای تقسیم</translation> <translation id="6888009575607455378">مطمئن هستید میخواهید از تغییراتتان صرفنظر کنید؟</translation> @@ -715,7 +716,7 @@ <translation id="9094033019050270033">بهروزرسانی گذرواژه</translation> <translation id="9100610230175265781">عبارت عبور لازم است</translation> <translation id="9148126808321036104">ورود مجدد به سیستم</translation> -<translation id="9152539721251340337">ایجاد کد QR</translation> +<translation id="9152539721251340337">ایجاد رمزینه پاسخسریع</translation> <translation id="9157836665414082580">توقف نمایش کادرهای گفتگو</translation> <translation id="9188680907066685419">خروج از حساب مدیریتشده</translation> <translation id="9203116392574189331">Handoff</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_fi.xtb b/ios/chrome/app/strings/resources/ios_strings_fi.xtb index 3bd21303..e6da406 100644 --- a/ios/chrome/app/strings/resources/ios_strings_fi.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_fi.xtb
@@ -14,6 +14,7 @@ <translation id="1084365883616172403">Facebook-viesti julkaistu.</translation> <translation id="1103523840287552314">Käännä <ph name="LANGUAGE" /> aina</translation> <translation id="1104948393051856124">Hyväksy ja jatka</translation> +<translation id="110724200315609752">Vaihda avoimeen ikkunaan</translation> <translation id="1112015203684611006">Tulostus epäonnistui</translation> <translation id="1125564390852150847">Luo uusi välilehti.</translation> <translation id="1145536944570833626">Poistaa olemassa olevat tiedot.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_fil.xtb b/ios/chrome/app/strings/resources/ios_strings_fil.xtb index 63df0ebd..270e8a2 100644 --- a/ios/chrome/app/strings/resources/ios_strings_fil.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_fil.xtb
@@ -14,6 +14,7 @@ <translation id="1084365883616172403">Kumpleto na ang pag-post sa Facebook.</translation> <translation id="1103523840287552314">Palaging i-translate ang <ph name="LANGUAGE" /></translation> <translation id="1104948393051856124">Tanggapin at Magpatuloy</translation> +<translation id="110724200315609752">Lumipat sa Nakabukas na Window</translation> <translation id="1112015203684611006">Hindi na-print.</translation> <translation id="1125564390852150847">Gumawa ng bagong tab.</translation> <translation id="1145536944570833626">I-delete ang kasalukuyang data.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_fr-CA.xtb b/ios/chrome/app/strings/resources/ios_strings_fr-CA.xtb index 29dce8e..a7bb7ba 100644 --- a/ios/chrome/app/strings/resources/ios_strings_fr-CA.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_fr-CA.xtb
@@ -14,6 +14,7 @@ <translation id="1084365883616172403">Message Facebook terminé.</translation> <translation id="1103523840287552314">Toujours traduire les pages rédigées en <ph name="LANGUAGE" /></translation> <translation id="1104948393051856124">Accepter et continuer</translation> +<translation id="110724200315609752">Retourner à la fenêtre ouverte</translation> <translation id="1112015203684611006">Échec impr.</translation> <translation id="1125564390852150847">Créer un onglet.</translation> <translation id="1145536944570833626">Supprimer toutes les données existantes.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_fr.xtb b/ios/chrome/app/strings/resources/ios_strings_fr.xtb index e33387a..83078d1 100644 --- a/ios/chrome/app/strings/resources/ios_strings_fr.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_fr.xtb
@@ -14,6 +14,7 @@ <translation id="1084365883616172403">Post Facebook publié.</translation> <translation id="1103523840287552314">Toujours traduire les pages en <ph name="LANGUAGE" /></translation> <translation id="1104948393051856124">Accepter et continuer</translation> +<translation id="110724200315609752">Passer à une autre fenêtre ouverte</translation> <translation id="1112015203684611006">Échec impr.</translation> <translation id="1125564390852150847">Créer un onglet</translation> <translation id="1145536944570833626">Supprimer les données existantes.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_gl.xtb b/ios/chrome/app/strings/resources/ios_strings_gl.xtb index a0841e91d..575d3e3 100644 --- a/ios/chrome/app/strings/resources/ios_strings_gl.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_gl.xtb
@@ -14,6 +14,7 @@ <translation id="1084365883616172403">Completouse a publicación de Facebook.</translation> <translation id="1103523840287552314">Traducir sempre o <ph name="LANGUAGE" /></translation> <translation id="1104948393051856124">Aceptar e continuar</translation> +<translation id="110724200315609752">Ir á ventá aberta</translation> <translation id="1112015203684611006">Erro impresión</translation> <translation id="1125564390852150847">Crear pestana nova</translation> <translation id="1145536944570833626">Elimina os datos existentes.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_gu.xtb b/ios/chrome/app/strings/resources/ios_strings_gu.xtb index 6954fa48..270c3cc 100644 --- a/ios/chrome/app/strings/resources/ios_strings_gu.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_gu.xtb
@@ -14,6 +14,7 @@ <translation id="1084365883616172403">Facebook પોસ્ટ પૂર્ણ કરી છે.</translation> <translation id="1103523840287552314"><ph name="LANGUAGE" /> નો હંમેશાં અનુવાદ કરો</translation> <translation id="1104948393051856124">સ્વીકારો અને ચાલુ રાખો</translation> +<translation id="110724200315609752">ખુલ્લી વિંડો પર સ્વિચ કરો</translation> <translation id="1112015203684611006">છાપવાનું નિષ્ફળ થયું.</translation> <translation id="1125564390852150847">નવું ટૅબ બનાવો.</translation> <translation id="1145536944570833626">અસ્તિત્વમાંના ડેટાને ડિલીટ કરો.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_hu.xtb b/ios/chrome/app/strings/resources/ios_strings_hu.xtb index ba13cf50..041ff43 100644 --- a/ios/chrome/app/strings/resources/ios_strings_hu.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_hu.xtb
@@ -14,6 +14,7 @@ <translation id="1084365883616172403">A Facebook-bejegyzés kész.</translation> <translation id="1103523840287552314"><ph name="LANGUAGE" /> - mindig legyen lefordítva</translation> <translation id="1104948393051856124">Elfogadás és folytatás</translation> +<translation id="110724200315609752">Váltás megnyitott ablakra</translation> <translation id="1112015203684611006">A nyomtatás sikertelen.</translation> <translation id="1125564390852150847">Új lap létrehozása.</translation> <translation id="1145536944570833626">Meglévő adatok törlése.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_hy.xtb b/ios/chrome/app/strings/resources/ios_strings_hy.xtb index 2ad3bbe..e5e2bf0 100644 --- a/ios/chrome/app/strings/resources/ios_strings_hy.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_hy.xtb
@@ -164,7 +164,7 @@ <translation id="2780046210906776326">Էլփոստի հաշիվներ չկան</translation> <translation id="2781331604911854368">Միացված է</translation> <translation id="2781692009645368755">Google Pay</translation> -<translation id="2800683595868705743">Փակել ներդիրների փոխարկիչը</translation> +<translation id="2800683595868705743">Փակել ներդիրների փոխանջատիչը</translation> <translation id="2830972654601096923">Կառավարել հասցեները…</translation> <translation id="2834956026595107950"><ph name="TITLE" />, <ph name="STATE" />, <ph name="URL" /></translation> <translation id="2840687315230832938">Համաժամացման սկզբնական կարգավորումը չի ավարտվել</translation> @@ -319,7 +319,7 @@ <translation id="4634124774493850572">Օգտագործել գաղտնաբառը</translation> <translation id="4636930964841734540">Տեղեկություններ</translation> <translation id="4659126640776004816">Այս գործառույթը միանում է, երբ դուք մտնում եք Google հաշիվ:</translation> -<translation id="4659667755519643272">Բացել ներդիրների փոխարկիչը</translation> +<translation id="4659667755519643272">Բացել ներդիրների փոխանջատիչը</translation> <translation id="46614316059270592">Պահել գաղտնաբառը</translation> <translation id="4666531726415300315">Մուտք եք գործել <ph name="EMAIL" /> հաշիվ:
diff --git a/ios/chrome/app/strings/resources/ios_strings_id.xtb b/ios/chrome/app/strings/resources/ios_strings_id.xtb index 46657da..625e569 100644 --- a/ios/chrome/app/strings/resources/ios_strings_id.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_id.xtb
@@ -14,6 +14,7 @@ <translation id="1084365883616172403">Kirim Facebook selesai.</translation> <translation id="1103523840287552314">Selalu terjemahkan <ph name="LANGUAGE" /></translation> <translation id="1104948393051856124">Terima & Lanjutkan</translation> +<translation id="110724200315609752">Alihkan ke Jendela yang Terbuka</translation> <translation id="1112015203684611006">Gagal mencetak.</translation> <translation id="1125564390852150847">Buat tab baru.</translation> <translation id="1145536944570833626">Hapus data yang sudah ada.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_is.xtb b/ios/chrome/app/strings/resources/ios_strings_is.xtb index 77afeb5..0a8d69b 100644 --- a/ios/chrome/app/strings/resources/ios_strings_is.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_is.xtb
@@ -14,6 +14,7 @@ <translation id="1084365883616172403">Facebook-færsla birt.</translation> <translation id="1103523840287552314">Þýða alltaf <ph name="LANGUAGE" /></translation> <translation id="1104948393051856124">Samþykkja og halda áfram</translation> +<translation id="110724200315609752">Skipta yfir í opinn glugga</translation> <translation id="1112015203684611006">Prentun tókst ekki.</translation> <translation id="1125564390852150847">Búa til nýjan flipa.</translation> <translation id="1145536944570833626">Eyða fyrirliggjandi gögnum.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_it.xtb b/ios/chrome/app/strings/resources/ios_strings_it.xtb index 4e849bf2..458b55d 100644 --- a/ios/chrome/app/strings/resources/ios_strings_it.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_it.xtb
@@ -98,6 +98,7 @@ <translation id="1965935827552890526">Finisci ciò che stavi facendo in un'altra finestra di Chrome aperta.</translation> <translation id="1974060860693918893">Avanzate</translation> <translation id="1989112275319619282">Esplora</translation> +<translation id="1992734845128748707">Cambia browser predefinito…</translation> <translation id="2015722694326466240">Per visualizzare le password, per prima cosa imposta un passcode sul tuo dispositivo.</translation> <translation id="2073572773299281212">Attivo <ph name="DAYS" /> giorni fa</translation> <translation id="2074131957428911366">Puoi scegliere in qualsiasi momento i dati da sincronizzare nelle <ph name="BEGIN_LINK" />impostazioni<ph name="END_LINK" />.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_iw.xtb b/ios/chrome/app/strings/resources/ios_strings_iw.xtb index c662bd4..e595cc8 100644 --- a/ios/chrome/app/strings/resources/ios_strings_iw.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_iw.xtb
@@ -14,6 +14,7 @@ <translation id="1084365883616172403">הפרסום ב-Facebook בוצע.</translation> <translation id="1103523840287552314">ברצוני לקבל תרגום מ<ph name="LANGUAGE" /> תמיד</translation> <translation id="1104948393051856124">בסדר, מקובל עליי</translation> +<translation id="110724200315609752">מעבר לחלון פתוח</translation> <translation id="1112015203684611006">ההדפסה נכשלה.</translation> <translation id="1125564390852150847">יצירת כרטיסייה חדשה.</translation> <translation id="1145536944570833626">מחק נתונים קיימים.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ja.xtb b/ios/chrome/app/strings/resources/ios_strings_ja.xtb index 02930ba7..6ce7fac 100644 --- a/ios/chrome/app/strings/resources/ios_strings_ja.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_ja.xtb
@@ -14,6 +14,7 @@ <translation id="1084365883616172403">Facebookへの投稿が完了しました。</translation> <translation id="1103523840287552314"><ph name="LANGUAGE" />を常に翻訳</translation> <translation id="1104948393051856124">同意して続行</translation> +<translation id="110724200315609752">開いているウィンドウに切り替え</translation> <translation id="1112015203684611006">印刷できませんでした。</translation> <translation id="1125564390852150847">新しいタブを作成。</translation> <translation id="1145536944570833626">既存のデータを削除します。</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_kk.xtb b/ios/chrome/app/strings/resources/ios_strings_kk.xtb index 6613a97..b4fd83e3e4 100644 --- a/ios/chrome/app/strings/resources/ios_strings_kk.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_kk.xtb
@@ -14,6 +14,7 @@ <translation id="1084365883616172403">Facebook жариялау аяқталды.</translation> <translation id="1103523840287552314">Әрқашан <ph name="LANGUAGE" /> тіліне аудару</translation> <translation id="1104948393051856124">Қабылдау және жалғастыру</translation> +<translation id="110724200315609752">Ашық терезеге ауысу</translation> <translation id="1112015203684611006">Басып шығарылмады.</translation> <translation id="1125564390852150847">Жаңа қойынды жасау</translation> <translation id="1145536944570833626">Бар деректерді жойыңыз.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_km.xtb b/ios/chrome/app/strings/resources/ios_strings_km.xtb index 7119e79..2fbf5cd 100644 --- a/ios/chrome/app/strings/resources/ios_strings_km.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_km.xtb
@@ -14,6 +14,7 @@ <translation id="1084365883616172403">ការបង្ហោះតាម Facebook បានបញ្ចប់។</translation> <translation id="1103523840287552314">បកប្រែ <ph name="LANGUAGE" /> ជានិច្ច</translation> <translation id="1104948393051856124">ព្រមទទួល និងបន្ត</translation> +<translation id="110724200315609752">ប្ដូរទៅ "វិនដូបើក"</translation> <translation id="1112015203684611006">បានបរាជ័យក្នុងការបោះពុម្ព</translation> <translation id="1125564390852150847">បង្កើតផ្ទាំងថ្មី</translation> <translation id="1145536944570833626">លុបទិន្នន័យដែលមានស្រាប់។</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ko.xtb b/ios/chrome/app/strings/resources/ios_strings_ko.xtb index a117439c..75b8512 100644 --- a/ios/chrome/app/strings/resources/ios_strings_ko.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_ko.xtb
@@ -14,6 +14,7 @@ <translation id="1084365883616172403">Facebook 게시가 완료되었습니다.</translation> <translation id="1103523840287552314"><ph name="LANGUAGE" /> 항상 번역</translation> <translation id="1104948393051856124">동의 및 계속</translation> +<translation id="110724200315609752">열려 있는 다른 창으로 전환</translation> <translation id="1112015203684611006">인쇄 실패</translation> <translation id="1125564390852150847">새 탭 만들기</translation> <translation id="1145536944570833626">기존 데이터 삭제</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ky.xtb b/ios/chrome/app/strings/resources/ios_strings_ky.xtb index d488942e..4879d263 100644 --- a/ios/chrome/app/strings/resources/ios_strings_ky.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_ky.xtb
@@ -14,6 +14,7 @@ <translation id="1084365883616172403">Facebook'ка жайгаштырылды.</translation> <translation id="1103523840287552314"><ph name="LANGUAGE" /> тилин ар дайым которуу</translation> <translation id="1104948393051856124">Кабыл алуу жана улантуу</translation> +<translation id="110724200315609752">Ачык терезеге которулуңуз</translation> <translation id="1112015203684611006">Басылып чыгарылбай калды.</translation> <translation id="1125564390852150847">Жаңы өтмөк түзүү.</translation> <translation id="1145536944570833626">Учурдагы дайындарды жок кылуу.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_lo.xtb b/ios/chrome/app/strings/resources/ios_strings_lo.xtb index 3a597a9..6e613f8 100644 --- a/ios/chrome/app/strings/resources/ios_strings_lo.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_lo.xtb
@@ -14,6 +14,7 @@ <translation id="1084365883616172403">ການໂພສທ໌ Facebook ສຳເລັດ.</translation> <translation id="1103523840287552314">ແປ <ph name="LANGUAGE" /> ຢູ່ສະເໝີ</translation> <translation id="1104948393051856124">ຍອມຮັບ ແລະສືບຕໍ່</translation> +<translation id="110724200315609752">ປ່ຽນເພື່ອເປີດໜ້າຈໍ</translation> <translation id="1112015203684611006">ການພິມບໍ່ສຳເລັດ.</translation> <translation id="1125564390852150847">ສ້າງແຖບໃໝ່.</translation> <translation id="1145536944570833626">ລຶບຂໍ້ມູນທີ່ມີຢູ່.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_lv.xtb b/ios/chrome/app/strings/resources/ios_strings_lv.xtb index 6796463..d579d6d4 100644 --- a/ios/chrome/app/strings/resources/ios_strings_lv.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_lv.xtb
@@ -14,6 +14,7 @@ <translation id="1084365883616172403">Facebook ziņa izveidota.</translation> <translation id="1103523840287552314">Vienmēr tulkot <ph name="LANGUAGE" /> valodas saturu</translation> <translation id="1104948393051856124">Pieņemt un turpināt</translation> +<translation id="110724200315609752">Pārslēgties uz atvērto logu</translation> <translation id="1112015203684611006">Neizdevās drukāt.</translation> <translation id="1125564390852150847">Izveidot jaunu cilni.</translation> <translation id="1145536944570833626">Dzēst esošos datus.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_mn.xtb b/ios/chrome/app/strings/resources/ios_strings_mn.xtb index 72c3323..695f5abd 100644 --- a/ios/chrome/app/strings/resources/ios_strings_mn.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_mn.xtb
@@ -14,6 +14,7 @@ <translation id="1084365883616172403">Facebook дээр постолж дууслаа.</translation> <translation id="1103523840287552314"><ph name="LANGUAGE" />-ийг үргэлж орчуулах</translation> <translation id="1104948393051856124">Хүлээн авах & Үргэлжлүүлэх</translation> +<translation id="110724200315609752">Нээлттэй цонх руу сэлгэх</translation> <translation id="1112015203684611006">Хэвлэж чадсангүй.</translation> <translation id="1125564390852150847">Шинэ чихтэй хуудас үүсгэнэ үү.</translation> <translation id="1145536944570833626">Одоо байгаа өгөгдлийг устгана уу.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ms.xtb b/ios/chrome/app/strings/resources/ios_strings_ms.xtb index 2ebe537..fa27c81b 100644 --- a/ios/chrome/app/strings/resources/ios_strings_ms.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_ms.xtb
@@ -14,6 +14,7 @@ <translation id="1084365883616172403">Catatan Facebook selesai.</translation> <translation id="1103523840287552314">Sentiasa terjemahkan <ph name="LANGUAGE" /></translation> <translation id="1104948393051856124">Terima & Teruskan</translation> +<translation id="110724200315609752">Tukar kepada Tetingkap Terbuka</translation> <translation id="1112015203684611006">Pencetakan gagal.</translation> <translation id="1125564390852150847">Buat tab baharu.</translation> <translation id="1145536944570833626">Padam data sedia ada.</translation> @@ -97,6 +98,7 @@ <translation id="1965935827552890526">Selesaikan perkara yang anda lakukan di tetingkap Chrome lain yang terbuka.</translation> <translation id="1974060860693918893">Lanjutan</translation> <translation id="1989112275319619282">Semak Imbas</translation> +<translation id="1992734845128748707">Tukar Penyemak Imbas Lalai…</translation> <translation id="2015722694326466240">Untuk melihat kata laluan, mula-mula anda mesti menetapkan kod laluan pada peranti anda.</translation> <translation id="2073572773299281212">Aktif <ph name="DAYS" /> Hari Yang Lalu</translation> <translation id="2074131957428911366">Anda boleh memilih item yang hendak disegerakkan dalam <ph name="BEGIN_LINK" />tetapan<ph name="END_LINK" /> pada bila-bila masa.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_my.xtb b/ios/chrome/app/strings/resources/ios_strings_my.xtb index 90f7aa28a..f36b43b 100644 --- a/ios/chrome/app/strings/resources/ios_strings_my.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_my.xtb
@@ -14,6 +14,7 @@ <translation id="1084365883616172403">ဖေ့စ်ဘွတ်တွင် တင်ပြခြင်း ပြီးစီပါပြီ။</translation> <translation id="1103523840287552314"><ph name="LANGUAGE" />ကို အမြဲတမ်း ဘာသာပြန်ရန်</translation> <translation id="1104948393051856124">လက်ခံရန် & ဆက်လုပ်ရန်</translation> +<translation id="110724200315609752">'ဖွင့်ထားသော ဝင်းဒိုး' သို့ပြောင်းရန်</translation> <translation id="1112015203684611006">ပုံနှိပ်ခြင်း မအောင်မြင်ပါ။</translation> <translation id="1125564390852150847">တဘ်အသစ်ဖန်တီးပါ</translation> <translation id="1145536944570833626">လက်ရှိဒေတာများကို ဖျက်ပါ</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ne.xtb b/ios/chrome/app/strings/resources/ios_strings_ne.xtb index 260c732..b095517c 100644 --- a/ios/chrome/app/strings/resources/ios_strings_ne.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_ne.xtb
@@ -14,6 +14,7 @@ <translation id="1084365883616172403">Facebook पोस्ट पूरा भयो।</translation> <translation id="1103523840287552314">सँधै अनुवाद गर्नुहोस् <ph name="LANGUAGE" /></translation> <translation id="1104948393051856124">स्वीकार गर्नुहोस् र जारी राख्नुहोस्</translation> +<translation id="110724200315609752">खुला विन्डोमा जानुहोस्</translation> <translation id="1112015203684611006">छाप्न सकिएन।</translation> <translation id="1125564390852150847">नयाँ ट्याब सिर्जना गर्नुहोस्।</translation> <translation id="1145536944570833626">विद्यमान डेटा मेट्नुहोस्।</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_pa.xtb b/ios/chrome/app/strings/resources/ios_strings_pa.xtb index b9dfc444..c926d46 100644 --- a/ios/chrome/app/strings/resources/ios_strings_pa.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_pa.xtb
@@ -14,6 +14,7 @@ <translation id="1084365883616172403">ਫੇਸਬੁੱਕ ਪੋਸਟ ਪੂਰੀ ਕੀਤੀ।</translation> <translation id="1103523840287552314"><ph name="LANGUAGE" /> ਦਾ ਹਮੇਸ਼ਾਂ ਅਨੁਵਾਦ ਕਰੋ</translation> <translation id="1104948393051856124">ਸਵੀਕਾਰ ਕਰੋ & ਜਾਰੀ ਰੱਖੋ</translation> +<translation id="110724200315609752">ਖੁੱਲ੍ਹੀ ਵਿੰਡੋ 'ਤੇ ਜਾਓ</translation> <translation id="1112015203684611006">ਪ੍ਰਿੰਟ ਕਰਨਾ ਅਸਫਲ ਰਿਹਾ।</translation> <translation id="1125564390852150847">ਨਵੀਂ ਟੈਬ ਬਣਾਓ।</translation> <translation id="1145536944570833626">ਮੌਜੂਦਾ ਡਾਟਾ ਮਿਟਾਓ।</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 4a7ad27..07f66d6 100644 --- a/ios/chrome/app/strings/resources/ios_strings_pt-BR.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_pt-BR.xtb
@@ -98,6 +98,7 @@ <translation id="1965935827552890526">Termine o que você estava fazendo na outra janela aberta no Chrome.</translation> <translation id="1974060860693918893">Avançado</translation> <translation id="1989112275319619282">Procurar</translation> +<translation id="1992734845128748707">Mudar o navegador padrão…</translation> <translation id="2015722694326466240">Para ver as senhas, defina uma senha no dispositivo primeiro.</translation> <translation id="2073572773299281212">Ativado há <ph name="DAYS" /> dias</translation> <translation id="2074131957428911366">Nas <ph name="BEGIN_LINK" />configurações<ph name="END_LINK" />, é possível escolher a qualquer momento o que é sincronizado.</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 0223ba5..babb0f59 100644 --- a/ios/chrome/app/strings/resources/ios_strings_pt-PT.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_pt-PT.xtb
@@ -98,6 +98,7 @@ <translation id="1965935827552890526">Termine o que estava a fazer na outra janela do Chrome aberta.</translation> <translation id="1974060860693918893">Avançadas</translation> <translation id="1989112275319619282">Procurar</translation> +<translation id="1992734845128748707">Alterar navegador predefinido…</translation> <translation id="2015722694326466240">Para ver as palavras-passe, tem de definir primeiro um código secreto no dispositivo.</translation> <translation id="2073572773299281212">Ativo há <ph name="DAYS" /> dias</translation> <translation id="2074131957428911366">Pode escolher o que pretende sincronizar nas <ph name="BEGIN_LINK" />definições<ph name="END_LINK" />.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ro.xtb b/ios/chrome/app/strings/resources/ios_strings_ro.xtb index 5dc294d..dbbbb829 100644 --- a/ios/chrome/app/strings/resources/ios_strings_ro.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_ro.xtb
@@ -14,6 +14,7 @@ <translation id="1084365883616172403">Postare pe Facebook finalizată.</translation> <translation id="1103523840287552314">Tradu întotdeauna din <ph name="LANGUAGE" /></translation> <translation id="1104948393051856124">Acceptă și continuă</translation> +<translation id="110724200315609752">Comută la fereastra deschisă</translation> <translation id="1112015203684611006">Printarea nu a reușit.</translation> <translation id="1125564390852150847">Creează o filă nouă.</translation> <translation id="1145536944570833626">Șterge datele existente.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ru.xtb b/ios/chrome/app/strings/resources/ios_strings_ru.xtb index fe27e05..f9dd80a 100644 --- a/ios/chrome/app/strings/resources/ios_strings_ru.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_ru.xtb
@@ -14,6 +14,7 @@ <translation id="1084365883616172403">Опубликовано в Facebook.</translation> <translation id="1103523840287552314">Всегда переводить <ph name="LANGUAGE" /></translation> <translation id="1104948393051856124">Продолжить</translation> +<translation id="110724200315609752">Переключиться на открытое окно</translation> <translation id="1112015203684611006">Ошибка печати</translation> <translation id="1125564390852150847">Создать вкладку</translation> <translation id="1145536944570833626">Удалить сохраненные данные.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_sq.xtb b/ios/chrome/app/strings/resources/ios_strings_sq.xtb index f2c0ecaa..f7d8ee2 100644 --- a/ios/chrome/app/strings/resources/ios_strings_sq.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_sq.xtb
@@ -14,6 +14,7 @@ <translation id="1084365883616172403">Postimi në Facebook u krye.</translation> <translation id="1103523840287552314">Përkthe gjithmonë nga <ph name="LANGUAGE" /></translation> <translation id="1104948393051856124">Prano dhe vazhdo</translation> +<translation id="110724200315609752">Kalo te dritarja e hapur</translation> <translation id="1112015203684611006">Printimi dështoi.</translation> <translation id="1125564390852150847">Krijo një skedë të re</translation> <translation id="1145536944570833626">Fshi të dhënat ekzistuese.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_sw.xtb b/ios/chrome/app/strings/resources/ios_strings_sw.xtb index 58bde73..285ed66 100644 --- a/ios/chrome/app/strings/resources/ios_strings_sw.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_sw.xtb
@@ -14,6 +14,7 @@ <translation id="1084365883616172403">Chapisho la Facebook limekamilika.</translation> <translation id="1103523840287552314">Tafsiri <ph name="LANGUAGE" /> kila wakati</translation> <translation id="1104948393051856124">Kubali na Uendelee</translation> +<translation id="110724200315609752">Nenda kwenye Dirisha Lililofunguka</translation> <translation id="1112015203684611006">Imeshindwa kuchapisha.</translation> <translation id="1125564390852150847">Unda kichupo kipya</translation> <translation id="1145536944570833626">Futa data iliyopo.</translation> @@ -97,6 +98,7 @@ <translation id="1965935827552890526">Kamilisha ulichokuwa ukifanya kwenye dirisha jingine ulilofungua la Chrome.</translation> <translation id="1974060860693918893">Mipangilio ya kina</translation> <translation id="1989112275319619282">Vinjari</translation> +<translation id="1992734845128748707">Badilisha Kivinjari Chaguomsingi…</translation> <translation id="2015722694326466240">Ili uone manenosiri, ni lazima kwanza uweke nambari ya siri kwenye kifaa chako.</translation> <translation id="2073572773299281212">Ilitumika Siku <ph name="DAYS" /> Zilizopita</translation> <translation id="2074131957428911366">Unaweza kuchagua utakachosawazisha wakati wowote katika <ph name="BEGIN_LINK" />mipangilio<ph name="END_LINK" />.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ta.xtb b/ios/chrome/app/strings/resources/ios_strings_ta.xtb index 142d1479..13974c97 100644 --- a/ios/chrome/app/strings/resources/ios_strings_ta.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_ta.xtb
@@ -14,6 +14,7 @@ <translation id="1084365883616172403">Facebook இடுகை நிறைவுபெற்றது.</translation> <translation id="1103523840287552314">எப்போதும் இந்த மொழியை மொழிபெயர் <ph name="LANGUAGE" /></translation> <translation id="1104948393051856124">ஏற்று தொடரவும்</translation> +<translation id="110724200315609752">திறந்திருக்கும் சாளரத்திற்குச் செல்</translation> <translation id="1112015203684611006">அச்சிட முடியவில்லை.</translation> <translation id="1125564390852150847">புதிய தாவலை உருவாக்கு</translation> <translation id="1145536944570833626">ஏற்கனவே உள்ள தரவை நீக்கு.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_te.xtb b/ios/chrome/app/strings/resources/ios_strings_te.xtb index 29803a4..430e952 100644 --- a/ios/chrome/app/strings/resources/ios_strings_te.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_te.xtb
@@ -14,6 +14,7 @@ <translation id="1084365883616172403">Facebook పోస్ట్ పూర్తయింది.</translation> <translation id="1103523840287552314">ఎల్లప్పుడూ <ph name="LANGUAGE" />ను అనువదించు</translation> <translation id="1104948393051856124">అంగీకరించు & కొనసాగు</translation> +<translation id="110724200315609752">తెరిచి ఉన్న విండోకు స్విచ్ అవ్వండి</translation> <translation id="1112015203684611006">ముద్రణ విఫలమైంది.</translation> <translation id="1125564390852150847">కొత్త ట్యాబ్ను సృష్టించండి.</translation> <translation id="1145536944570833626">ఇప్పటికే ఉన్న డేటాను తొలగించండి.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_th.xtb b/ios/chrome/app/strings/resources/ios_strings_th.xtb index 8e2dbb2b..22dbe5a 100644 --- a/ios/chrome/app/strings/resources/ios_strings_th.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_th.xtb
@@ -14,6 +14,7 @@ <translation id="1084365883616172403">โพสต์ใน Facebook แล้ว</translation> <translation id="1103523840287552314">แปลภาษา<ph name="LANGUAGE" />ทุกครั้ง</translation> <translation id="1104948393051856124">ยอมรับและดำเนินการต่อ</translation> +<translation id="110724200315609752">เปลี่ยนเพื่อเปิดหน้าต่าง</translation> <translation id="1112015203684611006">การพิมพ์ล้มเหลว</translation> <translation id="1125564390852150847">สร้างแท็บใหม่</translation> <translation id="1145536944570833626">ลบข้อมูลที่มีอยู่</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_tr.xtb b/ios/chrome/app/strings/resources/ios_strings_tr.xtb index 5d2cb21..939a9fc 100644 --- a/ios/chrome/app/strings/resources/ios_strings_tr.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_tr.xtb
@@ -14,6 +14,7 @@ <translation id="1084365883616172403">Facebook yayını tamamlandı.</translation> <translation id="1103523840287552314"><ph name="LANGUAGE" /> dilini daima çevir</translation> <translation id="1104948393051856124">Kabul Et ve Devam Et</translation> +<translation id="110724200315609752">Açık Pencereye Geç.</translation> <translation id="1112015203684611006">Yazdırılamadı.</translation> <translation id="1125564390852150847">Yeni sekme oluştur.</translation> <translation id="1145536944570833626">Mevcut verileri silin.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_uz.xtb b/ios/chrome/app/strings/resources/ios_strings_uz.xtb index 16312e4..fa619fcd 100644 --- a/ios/chrome/app/strings/resources/ios_strings_uz.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_uz.xtb
@@ -14,6 +14,7 @@ <translation id="1084365883616172403">Facebook’ka joylandi.</translation> <translation id="1103523840287552314"><ph name="LANGUAGE" /> tilidan har doim tarjima qilinsin</translation> <translation id="1104948393051856124">Davom etish</translation> +<translation id="110724200315609752">Yopilmagan oynalarga oʻtish</translation> <translation id="1112015203684611006">Chop etilmadi.</translation> <translation id="1125564390852150847">Yangi sahifa ochish</translation> <translation id="1145536944570833626">Mavjud ma’lumotlarni o‘chirish.</translation> @@ -97,6 +98,7 @@ <translation id="1965935827552890526">Yopilmagan Chrome oynangizdagi ishni davom ettiring.</translation> <translation id="1974060860693918893">Qo‘shimcha</translation> <translation id="1989112275319619282">Tanlash</translation> +<translation id="1992734845128748707">Asosiy brauzerni almashtirish…</translation> <translation id="2015722694326466240">Parollarni ko‘rish uchun qurilmangizni maxfiy kod bilan qulflang.</translation> <translation id="2073572773299281212"><ph name="DAYS" /> kun oldin onlayn edi</translation> <translation id="2074131957428911366">Nimani sinxronlashni istalgan vaqtda <ph name="BEGIN_LINK" />sozlamalar<ph name="END_LINK" /> orqali tanlash mumkin.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_vi.xtb b/ios/chrome/app/strings/resources/ios_strings_vi.xtb index 7009700..ce8a56f2 100644 --- a/ios/chrome/app/strings/resources/ios_strings_vi.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_vi.xtb
@@ -14,6 +14,7 @@ <translation id="1084365883616172403">Đã đăng lên Facebook.</translation> <translation id="1103523840287552314">Luôn dịch <ph name="LANGUAGE" /></translation> <translation id="1104948393051856124">Chấp nhận và tiếp tục</translation> +<translation id="110724200315609752">Chuyển sang Cửa sổ đang mở</translation> <translation id="1112015203684611006">In không thành công.</translation> <translation id="1125564390852150847">Tạo thẻ mới.</translation> <translation id="1145536944570833626">Xóa dữ liệu hiện có.</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 983ff83..82a2f34a 100644 --- a/ios/chrome/app/strings/resources/ios_strings_zh-CN.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_zh-CN.xtb
@@ -14,6 +14,7 @@ <translation id="1084365883616172403">Facebook 信息发布已完成。</translation> <translation id="1103523840287552314">一律翻译<ph name="LANGUAGE" /></translation> <translation id="1104948393051856124">接受并继续</translation> +<translation id="110724200315609752">切换到另一已打开的窗口</translation> <translation id="1112015203684611006">打印操作失败。</translation> <translation id="1125564390852150847">创建新的标签页。</translation> <translation id="1145536944570833626">删除现有数据。</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_zh-HK.xtb b/ios/chrome/app/strings/resources/ios_strings_zh-HK.xtb index 45bd451..b5a8832 100644 --- a/ios/chrome/app/strings/resources/ios_strings_zh-HK.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_zh-HK.xtb
@@ -14,6 +14,7 @@ <translation id="1084365883616172403">已順利發布到 Facebook。</translation> <translation id="1103523840287552314">永遠翻譯<ph name="LANGUAGE" /></translation> <translation id="1104948393051856124">接受並繼續</translation> +<translation id="110724200315609752">切換至已開啟的視窗</translation> <translation id="1112015203684611006">無法列印。</translation> <translation id="1125564390852150847">新增分頁。</translation> <translation id="1145536944570833626">刪除現有資料。</translation> @@ -97,6 +98,7 @@ <translation id="1965935827552890526">請完成您在其他已開啟的 Chrome 視窗中正在執行的動作。</translation> <translation id="1974060860693918893">進階選項</translation> <translation id="1989112275319619282">瀏覽</translation> +<translation id="1992734845128748707">變更預設瀏覽器…</translation> <translation id="2015722694326466240">如要查看密碼,您必須先在裝置上設定密碼。</translation> <translation id="2073572773299281212">曾於 <ph name="DAYS" /> 天前在線</translation> <translation id="2074131957428911366">您隨時可在<ph name="BEGIN_LINK" />設定<ph name="END_LINK" />中選擇要同步的資料。</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 aa31b0a..5d31e934 100644 --- a/ios/chrome/app/strings/resources/ios_strings_zh-TW.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_zh-TW.xtb
@@ -14,6 +14,7 @@ <translation id="1084365883616172403">已順利發布到 Facebook。</translation> <translation id="1103523840287552314">一律翻譯<ph name="LANGUAGE" /></translation> <translation id="1104948393051856124">接受並繼續</translation> +<translation id="110724200315609752">切換至已開啟的視窗</translation> <translation id="1112015203684611006">列印失敗。</translation> <translation id="1125564390852150847">新增分頁。</translation> <translation id="1145536944570833626">刪除現有資料。</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_zu.xtb b/ios/chrome/app/strings/resources/ios_strings_zu.xtb index 8fd58a6..2730a5a 100644 --- a/ios/chrome/app/strings/resources/ios_strings_zu.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_zu.xtb
@@ -14,6 +14,7 @@ <translation id="1084365883616172403">Okuthunyelwe kwe-Facebook kuqedile.</translation> <translation id="1103523840287552314">Humusha njalo i-<ph name="LANGUAGE" /></translation> <translation id="1104948393051856124">Yamukela futhi uqhubeke</translation> +<translation id="110724200315609752">Shintshela Kuwindi Elivuliwe</translation> <translation id="1112015203684611006">Ukuphrinta kwehlulekile.</translation> <translation id="1125564390852150847">Dala ithebhu entsha</translation> <translation id="1145536944570833626">Susa idatha ekhona.</translation>
diff --git a/ios/chrome/browser/browser_state/BUILD.gn b/ios/chrome/browser/browser_state/BUILD.gn index 9b29910..0daf288 100644 --- a/ios/chrome/browser/browser_state/BUILD.gn +++ b/ios/chrome/browser/browser_state/BUILD.gn
@@ -117,6 +117,8 @@ "//ios/chrome/browser/prefs:browser_prefs", "//ios/chrome/browser/reading_list", "//ios/chrome/browser/safe_browsing", + "//ios/chrome/browser/screen_time", + "//ios/chrome/browser/screen_time:feature_flags", "//ios/chrome/browser/search_engines", "//ios/chrome/browser/send_tab_to_self", "//ios/chrome/browser/sessions",
diff --git a/ios/chrome/browser/browser_state/browser_state_keyed_service_factories.mm b/ios/chrome/browser/browser_state/browser_state_keyed_service_factories.mm index 89780c1..fddb4249 100644 --- a/ios/chrome/browser/browser_state/browser_state_keyed_service_factories.mm +++ b/ios/chrome/browser/browser_state/browser_state_keyed_service_factories.mm
@@ -42,6 +42,7 @@ #include "ios/chrome/browser/reading_list/reading_list_model_factory.h" #import "ios/chrome/browser/safe_browsing/real_time_url_lookup_service_factory.h" #import "ios/chrome/browser/safe_browsing/verdict_cache_manager_factory.h" +#import "ios/chrome/browser/screen_time/features.h" #include "ios/chrome/browser/search_engines/template_url_service_factory.h" #include "ios/chrome/browser/signin/about_signin_internals_factory.h" #include "ios/chrome/browser/signin/account_consistency_service_factory.h" @@ -64,6 +65,10 @@ #include "ios/chrome/browser/unified_consent/unified_consent_service_factory.h" #include "ios/chrome/browser/webdata_services/web_data_service_factory.h" +#if defined(__IPHONE_14_0) && __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_14_0 +#import "ios/chrome/browser/screen_time/screen_time_history_deleter_factory.h" +#endif // __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_14_0 + #if !defined(__has_feature) || !__has_feature(objc_arc) #error "This file requires ARC support." #endif @@ -138,4 +143,12 @@ if (IsURLBlocklistEnabled()) { PolicyBlocklistServiceFactory::GetInstance(); } + +#if defined(__IPHONE_14_0) && __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_14_0 + if (@available(iOS 14, *)) { + if (IsScreenTimeIntegrationEnabled()) { + ScreenTimeHistoryDeleterFactory::GetInstance(); + } + } +#endif // __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_14_0 }
diff --git a/ios/chrome/browser/flags/about_flags.mm b/ios/chrome/browser/flags/about_flags.mm index c3101d0..6d6a5392 100644 --- a/ios/chrome/browser/flags/about_flags.mm +++ b/ios/chrome/browser/flags/about_flags.mm
@@ -770,7 +770,7 @@ base::SysUTF8ToNSString(policy::key::kDefaultSearchProviderSearchURL) : @"http://www.google.com/search?q={searchTerms}", base::SysUTF8ToNSString(policy::key::kDefaultSearchProviderName) : - @"Google", + @"TestEngine", base::SysUTF8ToNSString(policy::key::kPasswordManagerEnabled) : @NO,
diff --git a/ios/chrome/browser/screen_time/BUILD.gn b/ios/chrome/browser/screen_time/BUILD.gn index 814f18b..07936d7 100644 --- a/ios/chrome/browser/screen_time/BUILD.gn +++ b/ios/chrome/browser/screen_time/BUILD.gn
@@ -2,6 +2,31 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/ios/ios_sdk.gni") + +source_set("screen_time") { + # TODO(crbug.com/1123704): remove when it is recommended to build Chromium + # with version 12.0 or later of Xcode. + if (xcode_version_int >= 1200) { + sources = [ + "screen_time_history_deleter.h", + "screen_time_history_deleter.mm", + "screen_time_history_deleter_factory.h", + "screen_time_history_deleter_factory.mm", + ] + configs += [ "//build/config/compiler:enable_arc" ] + deps = [ + "//base", + "//components/history/core/browser", + "//components/keyed_service/core", + "//components/keyed_service/ios", + "//ios/chrome/browser/browser_state", + "//ios/chrome/browser/history", + "//net", + ] + } +} + source_set("feature_flags") { sources = [ "features.h",
diff --git a/ios/chrome/browser/screen_time/screen_time_history_deleter.h b/ios/chrome/browser/screen_time/screen_time_history_deleter.h new file mode 100644 index 0000000..03d1428 --- /dev/null +++ b/ios/chrome/browser/screen_time/screen_time_history_deleter.h
@@ -0,0 +1,41 @@ +// Copyright 2020 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef IOS_CHROME_BROWSER_SCREEN_TIME_SCREEN_TIME_HISTORY_DELETER_H_ +#define IOS_CHROME_BROWSER_SCREEN_TIME_SCREEN_TIME_HISTORY_DELETER_H_ + +#include "base/macros.h" +#include "components/history/core/browser/history_service_observer.h" +#include "components/keyed_service/core/keyed_service.h" + +namespace history { +class HistoryService; +} + +@class STWebHistory; + +// ScreenTimeHistoryDeleter is responsible for deleting ScreenTime history when +// Chrome history is deleted. +class API_AVAILABLE(ios(14.0)) ScreenTimeHistoryDeleter + : public KeyedService, + public history::HistoryServiceObserver { + public: + explicit ScreenTimeHistoryDeleter(history::HistoryService* history_service); + ~ScreenTimeHistoryDeleter() override; + + // KeyedService: + void Shutdown() override; + + private: + // history::HistoryServiceObserver: + void OnURLsDeleted(history::HistoryService* history_service, + const history::DeletionInfo& deletion_info) override; + + history::HistoryService* history_service_; + STWebHistory* screen_time_history_; + + DISALLOW_COPY_AND_ASSIGN(ScreenTimeHistoryDeleter); +}; + +#endif // IOS_CHROME_BROWSER_SCREEN_TIME_SCREEN_TIME_HISTORY_DELETER_H_
diff --git a/ios/chrome/browser/screen_time/screen_time_history_deleter.mm b/ios/chrome/browser/screen_time/screen_time_history_deleter.mm new file mode 100644 index 0000000..bcce1d3 --- /dev/null +++ b/ios/chrome/browser/screen_time/screen_time_history_deleter.mm
@@ -0,0 +1,58 @@ +// Copyright 2020 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#import "ios/chrome/browser/screen_time/screen_time_history_deleter.h" + +#import <ScreenTime/ScreenTime.h> + +#include "base/time/time.h" +#include "components/history/core/browser/history_service.h" +#include "net/base/mac/url_conversions.h" + +#if !defined(__has_feature) || !__has_feature(objc_arc) +#error "This file requires ARC support." +#endif + +namespace { +// Converts base::Time to NSDate. +NSDate* NSDateFromTime(const base::Time& time) { + return [NSDate dateWithTimeIntervalSince1970:time.ToDoubleT()]; +} +} // namespace + +ScreenTimeHistoryDeleter::ScreenTimeHistoryDeleter( + history::HistoryService* history_service) + : history_service_(history_service) { + DCHECK(history_service_); + history_service_->AddObserver(this); + screen_time_history_ = [[STWebHistory alloc] init]; +} + +ScreenTimeHistoryDeleter::~ScreenTimeHistoryDeleter() = default; + +void ScreenTimeHistoryDeleter::Shutdown() { + if (history_service_) + history_service_->RemoveObserver(this); + history_service_ = nullptr; + screen_time_history_ = nil; +} + +void ScreenTimeHistoryDeleter::OnURLsDeleted( + history::HistoryService* history_service, + const history::DeletionInfo& deletion_info) { + if (deletion_info.IsAllHistory()) { + [screen_time_history_ deleteAllHistory]; + } else if (deletion_info.time_range().IsValid()) { + const history::DeletionTimeRange& range = deletion_info.time_range(); + NSDateInterval* interval = + [[NSDateInterval alloc] initWithStartDate:NSDateFromTime(range.begin()) + endDate:NSDateFromTime(range.end())]; + [screen_time_history_ deleteHistoryDuringInterval:interval]; + } else { + for (const history::URLRow& row : deletion_info.deleted_rows()) { + NSURL* url = net::NSURLWithGURL(row.url()); + [screen_time_history_ deleteHistoryForURL:url]; + } + } +}
diff --git a/ios/chrome/browser/screen_time/screen_time_history_deleter_factory.h b/ios/chrome/browser/screen_time/screen_time_history_deleter_factory.h new file mode 100644 index 0000000..ed12c17 --- /dev/null +++ b/ios/chrome/browser/screen_time/screen_time_history_deleter_factory.h
@@ -0,0 +1,41 @@ +// Copyright 2020 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef IOS_CHROME_BROWSER_SCREEN_TIME_SCREEN_TIME_HISTORY_DELETER_FACTORY_H_ +#define IOS_CHROME_BROWSER_SCREEN_TIME_SCREEN_TIME_HISTORY_DELETER_FACTORY_H_ + +#include "base/macros.h" +#include "base/no_destructor.h" +#include "components/keyed_service/ios/browser_state_keyed_service_factory.h" + +class ChromeBrowserState; +class ScreenTimeHistoryDeleter; + +// Factory that owns and associates a ScreenTimeHistoryDeleter with +// ChromeBrowserState. +class API_AVAILABLE(ios(14.0)) ScreenTimeHistoryDeleterFactory + : public BrowserStateKeyedServiceFactory { + public: + static ScreenTimeHistoryDeleter* GetForBrowserState( + ChromeBrowserState* browser_state); + + static ScreenTimeHistoryDeleterFactory* GetInstance(); + + private: + friend class base::NoDestructor<ScreenTimeHistoryDeleterFactory>; + + ScreenTimeHistoryDeleterFactory(); + ~ScreenTimeHistoryDeleterFactory() override; + + // BrowserStateKeyedServiceFactory implementation. + std::unique_ptr<KeyedService> BuildServiceInstanceFor( + web::BrowserState* context) const override; + web::BrowserState* GetBrowserStateToUse( + web::BrowserState* context) const override; + bool ServiceIsNULLWhileTesting() const override; + + DISALLOW_COPY_AND_ASSIGN(ScreenTimeHistoryDeleterFactory); +}; + +#endif // IOS_CHROME_BROWSER_SCREEN_TIME_SCREEN_TIME_HISTORY_DELETER_FACTORY_H_
diff --git a/ios/chrome/browser/screen_time/screen_time_history_deleter_factory.mm b/ios/chrome/browser/screen_time/screen_time_history_deleter_factory.mm new file mode 100644 index 0000000..38917f7a --- /dev/null +++ b/ios/chrome/browser/screen_time/screen_time_history_deleter_factory.mm
@@ -0,0 +1,59 @@ +// Copyright 2020 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#import "ios/chrome/browser/screen_time/screen_time_history_deleter_factory.h" + +#include "components/keyed_service/core/service_access_type.h" +#include "components/keyed_service/ios/browser_state_dependency_manager.h" +#include "ios/chrome/browser/browser_state/browser_state_otr_helper.h" +#include "ios/chrome/browser/browser_state/chrome_browser_state.h" +#include "ios/chrome/browser/history/history_service_factory.h" +#import "ios/chrome/browser/screen_time/screen_time_history_deleter.h" + +#if !defined(__has_feature) || !__has_feature(objc_arc) +#error "This file requires ARC support." +#endif + +// static +ScreenTimeHistoryDeleter* ScreenTimeHistoryDeleterFactory::GetForBrowserState( + ChromeBrowserState* browser_state) { + return static_cast<ScreenTimeHistoryDeleter*>( + GetInstance()->GetServiceForBrowserState(browser_state, true)); +} + +// static +ScreenTimeHistoryDeleterFactory* +ScreenTimeHistoryDeleterFactory::GetInstance() { + static base::NoDestructor<ScreenTimeHistoryDeleterFactory> instance; + return instance.get(); +} + +ScreenTimeHistoryDeleterFactory::ScreenTimeHistoryDeleterFactory() + : BrowserStateKeyedServiceFactory( + "ScreenTimeHistoryDeleter", + BrowserStateDependencyManager::GetInstance()) { + DependsOn(ios::HistoryServiceFactory::GetInstance()); +} + +ScreenTimeHistoryDeleterFactory::~ScreenTimeHistoryDeleterFactory() {} + +std::unique_ptr<KeyedService> +ScreenTimeHistoryDeleterFactory::BuildServiceInstanceFor( + web::BrowserState* context) const { + ChromeBrowserState* browser_state = + ChromeBrowserState::FromBrowserState(context); + history::HistoryService* history_service = + ios::HistoryServiceFactory::GetForBrowserState( + browser_state, ServiceAccessType::EXPLICIT_ACCESS); + return std::make_unique<ScreenTimeHistoryDeleter>(history_service); +} + +web::BrowserState* ScreenTimeHistoryDeleterFactory::GetBrowserStateToUse( + web::BrowserState* context) const { + return GetBrowserStateRedirectedInIncognito(context); +} + +bool ScreenTimeHistoryDeleterFactory::ServiceIsNULLWhileTesting() const { + return true; +}
diff --git a/ios/chrome/browser/ui/screen_time/BUILD.gn b/ios/chrome/browser/ui/screen_time/BUILD.gn index 1546c631..3234100 100644 --- a/ios/chrome/browser/ui/screen_time/BUILD.gn +++ b/ios/chrome/browser/ui/screen_time/BUILD.gn
@@ -26,6 +26,7 @@ "//base", "//ios/chrome/browser/browser_state", "//ios/chrome/browser/main:public", + "//ios/chrome/browser/screen_time", "//ios/chrome/browser/ui/coordinators:chrome_coordinators", "//ios/chrome/browser/web_state_list", "//ios/chrome/common/ui/util",
diff --git a/ios/chrome/browser/ui/screen_time/screen_time_coordinator.mm b/ios/chrome/browser/ui/screen_time/screen_time_coordinator.mm index ee80d52..ac749a3 100644 --- a/ios/chrome/browser/ui/screen_time/screen_time_coordinator.mm +++ b/ios/chrome/browser/ui/screen_time/screen_time_coordinator.mm
@@ -6,6 +6,7 @@ #include "ios/chrome/browser/browser_state/chrome_browser_state.h" #include "ios/chrome/browser/main/browser.h" +#import "ios/chrome/browser/screen_time/screen_time_history_deleter_factory.h" #import "ios/chrome/browser/ui/screen_time/screen_time_mediator.h" #import "ios/chrome/browser/ui/screen_time/screen_time_view_controller.h" #import "ios/chrome/common/ui/util/constraints_ui_util.h" @@ -34,6 +35,9 @@ self.mediator = [[ScreenTimeMediator alloc] initWithWebStateList:self.browser->GetWebStateList() suppressUsageRecording:self.browser->GetBrowserState()->IsOffTheRecord()]; + + ScreenTimeHistoryDeleterFactory::GetForBrowserState( + self.browser->GetBrowserState()); } - (void)stop {
diff --git a/ios/chrome/search_widget_extension/strings/resources/ios_search_widget_extension_strings_fa.xtb b/ios/chrome/search_widget_extension/strings/resources/ios_search_widget_extension_strings_fa.xtb index 68f00d9b0..a87f32a 100644 --- a/ios/chrome/search_widget_extension/strings/resources/ios_search_widget_extension_strings_fa.xtb +++ b/ios/chrome/search_widget_extension/strings/resources/ios_search_widget_extension_strings_fa.xtb
@@ -1,7 +1,7 @@ <?xml version="1.0" ?> <!DOCTYPE translationbundle> <translationbundle lang="fa"> -<translation id="1545749641540134597">اسکن کد QR</translation> +<translation id="1545749641540134597">اسکن رمزینه پاسخسریع</translation> <translation id="2204254829203467991">جستجوی جدید</translation> <translation id="3060070342265818827">محتوایی که کپی میکنید، اینجا نشان داده میشود.</translation> <translation id="4056327302245368220">جستجوی تصویری که کپی کردهاید</translation>
diff --git a/ipc/ipc_mojo_bootstrap.cc b/ipc/ipc_mojo_bootstrap.cc index f7d5114..e0ffbaa 100644 --- a/ipc/ipc_mojo_bootstrap.cc +++ b/ipc/ipc_mojo_bootstrap.cc
@@ -24,6 +24,7 @@ #include "base/single_thread_task_runner.h" #include "base/strings/stringprintf.h" #include "base/synchronization/lock.h" +#include "base/task/common/task_annotator.h" #include "base/threading/thread_checker.h" #include "base/threading/thread_task_runner_handle.h" #include "base/trace_event/memory_allocator_dump.h" @@ -886,11 +887,18 @@ // in-transit associated endpoints and thus acquire |lock_|. We no longer // need the lock to be held now since |proxy_task_runner_| is safe to // access unguarded. - locker.Release(); - proxy_task_runner_->PostTask( - FROM_HERE, - base::BindOnce(&ChannelAssociatedGroupController::AcceptOnProxyThread, - this, std::move(*message))); + { + // Grab interface name from |client| before releasing the lock to ensure + // that |client| is safe to access. + base::TaskAnnotator::ScopedSetIpcHash scoped_set_ipc_hash( + client ? client->interface_name() : "unknown interface"); + locker.Release(); + proxy_task_runner_->PostTask( + FROM_HERE, + base::BindOnce( + &ChannelAssociatedGroupController::AcceptOnProxyThread, this, + std::move(*message))); + } return true; } @@ -900,6 +908,9 @@ !message->has_flag(mojo::Message::kFlagIsResponse)); locker.Release(); + // It's safe to access |client| here without holding a lock, because this + // code runs on a proxy thread and |client| can't be destroyed from any + // thread. return client->HandleIncomingMessage(message); }
diff --git a/media/audio/fuchsia/audio_manager_fuchsia.cc b/media/audio/fuchsia/audio_manager_fuchsia.cc index 587cb91..93b29e7 100644 --- a/media/audio/fuchsia/audio_manager_fuchsia.cc +++ b/media/audio/fuchsia/audio_manager_fuchsia.cc
@@ -6,7 +6,9 @@ #include <memory> +#include "base/command_line.h" #include "media/audio/fuchsia/audio_output_stream_fuchsia.h" +#include "media/base/media_switches.h" namespace media { @@ -31,6 +33,11 @@ void AudioManagerFuchsia::GetAudioInputDeviceNames( AudioDeviceNames* device_names) { + if (base::CommandLine::ForCurrentProcess()->HasSwitch( + switches::kDisableAudioInput)) { + return; + } + // TODO(crbug.com/852834): Fuchsia currently doesn't provide an API for device // enumeration. Update this method when that functionality is implemented. *device_names = {AudioDeviceName::CreateDefault()}; @@ -38,6 +45,11 @@ void AudioManagerFuchsia::GetAudioOutputDeviceNames( AudioDeviceNames* device_names) { + if (base::CommandLine::ForCurrentProcess()->HasSwitch( + switches::kDisableAudioOutput)) { + return; + } + // TODO(crbug.com/852834): Fuchsia currently doesn't provide an API for device // enumeration. Update this method when that functionality is implemented. *device_names = {AudioDeviceName::CreateDefault()};
diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc index 99fa00e..272bc79 100644 --- a/media/base/media_switches.cc +++ b/media/base/media_switches.cc
@@ -78,6 +78,7 @@ const char kForceProtectedVideoOutputBuffers[] = "force-protected-video-output-buffers"; +const char kDisableAudioInput[] = "disable-audio-input"; #endif // defined(OS_FUCHSIA) #if defined(USE_CRAS)
diff --git a/media/base/media_switches.h b/media/base/media_switches.h index a462f2f06..eb44eb5 100644 --- a/media/base/media_switches.h +++ b/media/base/media_switches.h
@@ -51,6 +51,7 @@ #if defined(OS_FUCHSIA) MEDIA_EXPORT extern const char kEnableProtectedVideoBuffers[]; MEDIA_EXPORT extern const char kForceProtectedVideoOutputBuffers[]; +MEDIA_EXPORT extern const char kDisableAudioInput[]; #endif #if defined(OS_CHROMEOS)
diff --git a/media/capture/video/chromeos/mock_video_capture_client.cc b/media/capture/video/chromeos/mock_video_capture_client.cc index 5b2015a..734f8f7 100644 --- a/media/capture/video/chromeos/mock_video_capture_client.cc +++ b/media/capture/video/chromeos/mock_video_capture_client.cc
@@ -67,6 +67,17 @@ std::move(frame_cb_).Run(); } +void MockVideoCaptureClient::OnIncomingCapturedExternalBuffer( + gfx::GpuMemoryBufferHandle handle, + std::unique_ptr<Buffer::ScopedAccessPermission> read_access_permission, + const VideoCaptureFormat& format, + const gfx::ColorSpace& color_space, + base::TimeTicks reference_time, + base::TimeDelta timestamp) { + if (frame_cb_) + std::move(frame_cb_).Run(); +} + // Trampoline methods to workaround GMOCK problems with std::unique_ptr<>. VideoCaptureDevice::Client::ReserveResult MockVideoCaptureClient::ReserveOutputBuffer(
diff --git a/media/capture/video/chromeos/mock_video_capture_client.h b/media/capture/video/chromeos/mock_video_capture_client.h index 555234c..10270b8b 100644 --- a/media/capture/video/chromeos/mock_video_capture_client.h +++ b/media/capture/video/chromeos/mock_video_capture_client.h
@@ -54,6 +54,13 @@ base::TimeTicks reference_time, base::TimeDelta timestamp, int frame_feedback_id = 0) override; + void OnIncomingCapturedExternalBuffer( + gfx::GpuMemoryBufferHandle handle, + std::unique_ptr<Buffer::ScopedAccessPermission> read_access_permission, + const VideoCaptureFormat& format, + const gfx::ColorSpace& color_space, + base::TimeTicks reference_time, + base::TimeDelta timestamp) override; // Trampoline methods to workaround GMOCK problems with std::unique_ptr<>. ReserveResult ReserveOutputBuffer(const gfx::Size& dimensions, VideoPixelFormat format,
diff --git a/media/capture/video/fuchsia/video_capture_device_fuchsia_test.cc b/media/capture/video/fuchsia/video_capture_device_fuchsia_test.cc index 6904a57..fa3790f 100644 --- a/media/capture/video/fuchsia/video_capture_device_fuchsia_test.cc +++ b/media/capture/video/fuchsia/video_capture_device_fuchsia_test.cc
@@ -162,6 +162,15 @@ int frame_feedback_id) final { NOTREACHED(); } + void OnIncomingCapturedExternalBuffer( + gfx::GpuMemoryBufferHandle handle, + std::unique_ptr<Buffer::ScopedAccessPermission> read_access_permission, + const VideoCaptureFormat& format, + const gfx::ColorSpace& color_space, + base::TimeTicks reference_time, + base::TimeDelta timestamp) override { + NOTREACHED(); + } void OnIncomingCapturedBuffer(Buffer buffer, const VideoCaptureFormat& format, base::TimeTicks reference_time,
diff --git a/media/capture/video/mock_video_capture_device_client.h b/media/capture/video/mock_video_capture_device_client.h index 137df2b..2e5ba1e 100644 --- a/media/capture/video/mock_video_capture_device_client.h +++ b/media/capture/video/mock_video_capture_device_client.h
@@ -21,7 +21,7 @@ MOCK_METHOD9(OnIncomingCapturedData, void(const uint8_t* data, int length, - const media::VideoCaptureFormat& frame_format, + const VideoCaptureFormat& frame_format, const gfx::ColorSpace& color_space, int rotation, bool flip_y, @@ -30,11 +30,19 @@ int frame_feedback_id)); MOCK_METHOD6(OnIncomingCapturedGfxBuffer, void(gfx::GpuMemoryBuffer* buffer, - const media::VideoCaptureFormat& frame_format, + const VideoCaptureFormat& frame_format, int clockwise_rotation, base::TimeTicks reference_time, base::TimeDelta timestamp, int frame_feedback_id)); + MOCK_METHOD6(OnIncomingCapturedExternalBuffer, + void(gfx::GpuMemoryBufferHandle handle, + std::unique_ptr<Buffer::ScopedAccessPermission> + read_access_permission, + const VideoCaptureFormat& format, + const gfx::ColorSpace& color_space, + base::TimeTicks reference_time, + base::TimeDelta timestamp)); MOCK_METHOD4(ReserveOutputBuffer, ReserveResult(const gfx::Size&, VideoPixelFormat, int, Buffer*)); MOCK_METHOD3(OnError, @@ -46,31 +54,31 @@ MOCK_CONST_METHOD0(GetBufferPoolUtilization, double(void)); void OnIncomingCapturedBuffer(Buffer buffer, - const media::VideoCaptureFormat& format, + const VideoCaptureFormat& format, base::TimeTicks reference_time, base::TimeDelta timestamp) override; void OnIncomingCapturedBufferExt( Buffer buffer, - const media::VideoCaptureFormat& format, + const VideoCaptureFormat& format, const gfx::ColorSpace& color_space, base::TimeTicks reference_time, base::TimeDelta timestamp, gfx::Rect visible_rect, - const media::VideoFrameMetadata& additional_metadata) override; + const VideoFrameMetadata& additional_metadata) override; MOCK_METHOD4(DoOnIncomingCapturedBuffer, void(Buffer&, - const media::VideoCaptureFormat&, + const VideoCaptureFormat&, base::TimeTicks, base::TimeDelta)); MOCK_METHOD7(DoOnIncomingCapturedBufferExt, void(Buffer& buffer, - const media::VideoCaptureFormat& format, + const VideoCaptureFormat& format, const gfx::ColorSpace& color_space, base::TimeTicks reference_time, base::TimeDelta timestamp, gfx::Rect visible_rect, - const media::VideoFrameMetadata& additional_metadata)); + const VideoFrameMetadata& additional_metadata)); static std::unique_ptr<MockVideoCaptureDeviceClient> CreateMockClientWithBufferAllocator(
diff --git a/media/capture/video/video_capture_buffer_pool.h b/media/capture/video/video_capture_buffer_pool.h index c6e9f36..f879d6b 100644 --- a/media/capture/video/video_capture_buffer_pool.h +++ b/media/capture/video/video_capture_buffer_pool.h
@@ -88,6 +88,18 @@ // of ReserveForProducer(). virtual void RelinquishProducerReservation(int buffer_id) = 0; + // Reserve a buffer id to use for an external buffer (one that isn't in this + // pool). This is needed to ensure that ids for external buffers don't + // conflict with ids from the pool. This call cannot fail (no allocation is + // done). The behavior of |buffer_id_to_drop| is the same as + // ReserveForProducer. + virtual int ReserveIdForExternalBuffer( + std::vector<int>* buffer_ids_to_drop) = 0; + + // Notify the pool that a buffer id is no longer in use, and can be returned + // via ReserveIdForExternalBuffer. + virtual void RelinquishExternalBufferReservation(int buffer_id) = 0; + // Returns a snapshot of the current number of buffers in-use divided by the // maximum |count_|. virtual double GetBufferPoolUtilization() const = 0;
diff --git a/media/capture/video/video_capture_buffer_pool_impl.cc b/media/capture/video/video_capture_buffer_pool_impl.cc index 519a790..64180e4 100644 --- a/media/capture/video/video_capture_buffer_pool_impl.cc +++ b/media/capture/video/video_capture_buffer_pool_impl.cc
@@ -22,7 +22,6 @@ int count) : buffer_type_(buffer_type), count_(count), - next_buffer_id_(0), buffer_tracker_factory_( std::make_unique<media::VideoCaptureBufferTrackerFactoryImpl>()) { DCHECK_GT(count, 0); @@ -138,6 +137,31 @@ tracker->set_held_by_producer(false); } +int VideoCaptureBufferPoolImpl::ReserveIdForExternalBuffer( + std::vector<int>* buffer_ids_to_drop) { + base::AutoLock lock(lock_); + int buffer_id = next_buffer_id_++; + external_buffers_[buffer_id] = false; + + for (auto it = external_buffers_.begin(); it != external_buffers_.end();) { + if (it->second) { + buffer_ids_to_drop->push_back(it->first); + it = external_buffers_.erase(it); + } else { + ++it; + } + } + return buffer_id; +} + +void VideoCaptureBufferPoolImpl::RelinquishExternalBufferReservation( + int buffer_id) { + base::AutoLock lock(lock_); + auto found = external_buffers_.find(buffer_id); + CHECK(found != external_buffers_.end()); + found->second = true; +} + void VideoCaptureBufferPoolImpl::HoldForConsumers(int buffer_id, int num_clients) { base::AutoLock lock(lock_);
diff --git a/media/capture/video/video_capture_buffer_pool_impl.h b/media/capture/video/video_capture_buffer_pool_impl.h index eff803af..e778b56 100644 --- a/media/capture/video/video_capture_buffer_pool_impl.h +++ b/media/capture/video/video_capture_buffer_pool_impl.h
@@ -50,6 +50,8 @@ int* buffer_id, int* buffer_id_to_drop) override; void RelinquishProducerReservation(int buffer_id) override; + int ReserveIdForExternalBuffer(std::vector<int>* buffer_ids_to_drop) override; + void RelinquishExternalBufferReservation(int buffer_id) override; double GetBufferPoolUtilization() const override; void HoldForConsumers(int buffer_id, int num_clients) override; void RelinquishConsumerHold(int buffer_id, int num_clients) override; @@ -66,7 +68,8 @@ int* buffer_id, int* tracker_id_to_drop); - VideoCaptureBufferTracker* GetTracker(int buffer_id); + VideoCaptureBufferTracker* GetTracker(int buffer_id) + EXCLUSIVE_LOCKS_REQUIRED(lock_); // The type of the buffer the pool serves. VideoCaptureBufferType buffer_type_; @@ -78,13 +81,18 @@ mutable base::Lock lock_; // The ID of the next buffer. - int next_buffer_id_; + int next_buffer_id_ GUARDED_BY(lock_) = 0; // The buffers, indexed by the first parameter, a buffer id. - std::map<int, std::unique_ptr<VideoCaptureBufferTracker>> trackers_; + std::map<int, std::unique_ptr<VideoCaptureBufferTracker>> trackers_ + GUARDED_BY(lock_); + + // The external buffers, indexed by buffer id. The second parameter is whether + // or not the the buffer's reservation has been relinquished. + std::map<int, bool> external_buffers_ GUARDED_BY(lock_); const std::unique_ptr<VideoCaptureBufferTrackerFactory> - buffer_tracker_factory_; + buffer_tracker_factory_ GUARDED_BY(lock_); DISALLOW_IMPLICIT_CONSTRUCTORS(VideoCaptureBufferPoolImpl); };
diff --git a/media/capture/video/video_capture_device.h b/media/capture/video/video_capture_device.h index 3a1a7424..e8efc2d 100644 --- a/media/capture/video/video_capture_device.h +++ b/media/capture/video/video_capture_device.h
@@ -178,6 +178,17 @@ base::TimeDelta timestamp, int frame_feedback_id = 0) = 0; + // Captured a new video frame. The data for this frame is in |handle|, + // which is owned by the platform-specific capture device, and is kept valid + // by |read_access_permission|. + virtual void OnIncomingCapturedExternalBuffer( + gfx::GpuMemoryBufferHandle handle, + std::unique_ptr<Buffer::ScopedAccessPermission> read_access_permission, + const VideoCaptureFormat& format, + const gfx::ColorSpace& color_space, + base::TimeTicks reference_time, + base::TimeDelta timestamp) = 0; + // Reserve an output buffer into which contents can be captured directly. // The returned |buffer| will always be allocated with a memory size // suitable for holding a packed video frame with pixels of |format| format,
diff --git a/media/capture/video/video_capture_device_client.cc b/media/capture/video/video_capture_device_client.cc index 4d933062..3e43da8 100644 --- a/media/capture/video/video_capture_device_client.cc +++ b/media/capture/video/video_capture_device_client.cc
@@ -118,6 +118,23 @@ namespace media { +namespace { + +class ScopedAccessPermissionEndWithCallback + : public VideoCaptureDevice::Client::Buffer::ScopedAccessPermission { + public: + explicit ScopedAccessPermissionEndWithCallback(base::OnceClosure closure) + : closure_(std::move(closure)) {} + ~ScopedAccessPermissionEndWithCallback() override { + std::move(closure_).Run(); + } + + private: + base::OnceClosure closure_; +}; + +} // anonymous namespace + class BufferPoolBufferHandleProvider : public VideoCaptureDevice::Client::Buffer::HandleProvider { public: @@ -446,6 +463,74 @@ reference_time, timestamp); } +void VideoCaptureDeviceClient::OnIncomingCapturedExternalBuffer( + gfx::GpuMemoryBufferHandle handle, + std::unique_ptr<VideoCaptureDevice::Client::Buffer::ScopedAccessPermission> + scoped_access_permission_to_wrap, + const VideoCaptureFormat& format, + const gfx::ColorSpace& color_space, + base::TimeTicks reference_time, + base::TimeDelta timestamp) { + // Reserve an ID for this buffer that will not conflict with any of the IDs + // used by |buffer_pool_|. + std::vector<int> buffer_ids_to_drop; + int buffer_id = buffer_pool_->ReserveIdForExternalBuffer(&buffer_ids_to_drop); + + // If a buffer to retire was specified, retire one. + for (int buffer_id_to_drop : buffer_ids_to_drop) { + auto entry_iter = + std::find(buffer_ids_known_by_receiver_.begin(), + buffer_ids_known_by_receiver_.end(), buffer_id_to_drop); + if (entry_iter != buffer_ids_known_by_receiver_.end()) { + buffer_ids_known_by_receiver_.erase(entry_iter); + receiver_->OnBufferRetired(buffer_id_to_drop); + } + } + + // Register the buffer with the receiver. + { + media::mojom::VideoBufferHandlePtr buffer_handle = + media::mojom::VideoBufferHandle::New(); + buffer_handle->set_gpu_memory_buffer_handle(std::move(handle)); + receiver_->OnNewBuffer(buffer_id, std::move(buffer_handle)); + buffer_ids_known_by_receiver_.push_back(buffer_id); + } + + // Wrap |scoped_access_permission_to_wrap| in a ScopedAccessPermission that + // will retire |buffer_id| as soon as access ends. + std::unique_ptr<VideoCaptureDevice::Client::Buffer::ScopedAccessPermission> + scoped_access_permission; + { + auto callback_lambda = + [](int buffer_id, scoped_refptr<VideoCaptureBufferPool> buffer_pool, + std::unique_ptr< + VideoCaptureDevice::Client::Buffer::ScopedAccessPermission> + scoped_access_permission) { + buffer_pool->RelinquishExternalBufferReservation(buffer_id); + }; + auto closure = base::BindOnce(callback_lambda, buffer_id, buffer_pool_, + std::move(scoped_access_permission_to_wrap)); + scoped_access_permission = + std::make_unique<ScopedAccessPermissionEndWithCallback>( + std::move(closure)); + } + + // Tell |receiver_| that the frame has been received. + { + mojom::VideoFrameInfoPtr info = mojom::VideoFrameInfo::New(); + info->timestamp = timestamp; + info->pixel_format = format.pixel_format; + info->color_space = color_space; + info->coded_size = format.frame_size; + info->visible_rect = gfx::Rect(format.frame_size); + info->metadata.frame_rate = format.frame_rate; + info->metadata.reference_time = reference_time; + receiver_->OnFrameReadyInBuffer(buffer_id, 0 /* frame_feedback_id */, + std::move(scoped_access_permission), + std::move(info)); + } +} + VideoCaptureDevice::Client::ReserveResult VideoCaptureDeviceClient::ReserveOutputBuffer(const gfx::Size& frame_size, VideoPixelFormat pixel_format,
diff --git a/media/capture/video/video_capture_device_client.h b/media/capture/video/video_capture_device_client.h index 82f3a617..067f3f6 100644 --- a/media/capture/video/video_capture_device_client.h +++ b/media/capture/video/video_capture_device_client.h
@@ -79,6 +79,13 @@ base::TimeTicks reference_time, base::TimeDelta timestamp, int frame_feedback_id = 0) override; + void OnIncomingCapturedExternalBuffer( + gfx::GpuMemoryBufferHandle handle, + std::unique_ptr<Buffer::ScopedAccessPermission> read_access_permission, + const VideoCaptureFormat& format, + const gfx::ColorSpace& color_space, + base::TimeTicks reference_time, + base::TimeDelta timestamp) override; ReserveResult ReserveOutputBuffer(const gfx::Size& dimensions, VideoPixelFormat format, int frame_feedback_id,
diff --git a/media/capture/video/win/video_capture_device_mf_win_unittest.cc b/media/capture/video/win/video_capture_device_mf_win_unittest.cc index 80bc91d..2cc2fd3 100644 --- a/media/capture/video/win/video_capture_device_mf_win_unittest.cc +++ b/media/capture/video/win/video_capture_device_mf_win_unittest.cc
@@ -61,6 +61,14 @@ base::TimeDelta timestamp, int frame_feedback_id = 0) override {} + void OnIncomingCapturedExternalBuffer( + gfx::GpuMemoryBufferHandle handle, + std::unique_ptr<Buffer::ScopedAccessPermission> read_access_permission, + const VideoCaptureFormat& format, + const gfx::ColorSpace& color_space, + base::TimeTicks reference_time, + base::TimeDelta timestamp) override {} + MOCK_METHOD4(ReserveOutputBuffer, ReserveResult(const gfx::Size&, VideoPixelFormat, int, Buffer*));
diff --git a/media/mojo/mojom/status_mojom_traits.cc b/media/mojo/mojom/status_mojom_traits.cc index bb2ee9ab..9efb4af 100644 --- a/media/mojo/mojom/status_mojom_traits.cc +++ b/media/mojo/mojom/status_mojom_traits.cc
@@ -24,8 +24,10 @@ if (media::StatusCode::kOk == code) return true; - if (!data.ReadMessage(&message)) + base::Optional<std::string> optional_message; + if (!data.ReadMessage(&optional_message)) return false; + message = std::move(optional_message).value_or(std::string()); output->data_ = std::make_unique<media::Status::StatusInternal>(code, std::move(message)); @@ -36,8 +38,10 @@ if (!data.ReadCauses(&output->data_->causes)) return false; - if (!data.ReadData(&output->data_->data)) + base::Optional<base::Value> optional_data; + if (!data.ReadData(&optional_data)) return false; + output->data_->data = std::move(optional_data).value_or(base::Value()); return true; }
diff --git a/mojo/public/cpp/bindings/array_traits_span.h b/mojo/public/cpp/bindings/array_traits_span.h index f861fa9d..899ca2b 100644 --- a/mojo/public/cpp/bindings/array_traits_span.h +++ b/mojo/public/cpp/bindings/array_traits_span.h
@@ -16,10 +16,6 @@ struct ArrayTraits<base::span<T, Extent>> { using Element = T; - // There is no concept of a null span, as it is indistinguishable from the - // empty span. - static bool IsNull(const base::span<T>& input) { return false; } - static size_t GetSize(const base::span<T>& input) { return input.size(); } static T* GetData(base::span<T>& input) { return input.data(); }
diff --git a/mojo/public/cpp/bindings/lib/serialization_util.h b/mojo/public/cpp/bindings/lib/serialization_util.h index 51eb5f23..a88868a 100644 --- a/mojo/public/cpp/bindings/lib/serialization_util.h +++ b/mojo/public/cpp/bindings/lib/serialization_util.h
@@ -9,11 +9,14 @@ #include <stdint.h> #include <queue> +#include <type_traits> #include "base/logging.h" #include "base/macros.h" #include "mojo/public/cpp/bindings/lib/bindings_internal.h" #include "mojo/public/cpp/bindings/lib/serialization_context.h" +#include "mojo/public/cpp/bindings/lib/serialization_forward.h" +#include "mojo/public/cpp/bindings/lib/template_util.h" namespace mojo { namespace internal { @@ -71,10 +74,61 @@ typename std::enable_if<!HasSetToNullMethod<Traits>::value>::type* = nullptr> bool CallSetToNullIfExists(UserType* output) { - LOG(ERROR) << "A null value is received. But the Struct/Array/StringTraits " - << "class doesn't define a SetToNull() function and therefore is " - << "unable to deserialize the value."; - return false; + // Note that it is not considered an error to attempt to read a null value + // into a non-nullable `output` object. In such cases, the caller must have + // used a DataView's corresponding MaybeRead[FieldName] method, thus + // explicitly choosing to ignore null values without affecting `output`. + // + // If instead a caller unwittingly attempts to use a corresponding + // Read[FieldName] method to read an optional value into the same non-nullable + // UserType, it will result in a compile-time error. As such, we don't need to + // account for that case here. + return true; +} + +template <typename MojomType, typename UserType, typename = void> +struct TraitsFinder { + using Traits = StructTraits<MojomType, UserType>; +}; + +template <typename MojomType, typename UserType> +struct TraitsFinder< + MojomType, + UserType, + std::enable_if_t<BelongsTo<MojomType, MojomTypeCategory::kUnion>::value>> { + using Traits = UnionTraits<MojomType, UserType>; +}; + +template <typename UserType> +struct TraitsFinder<StringDataView, UserType> { + using Traits = StringTraits<UserType>; +}; + +template <typename UserType, typename ElementType> +struct TraitsFinder<ArrayDataView<ElementType>, UserType> { + using Traits = ArrayTraits<UserType>; +}; + +template <typename UserType, typename KeyType, typename ValueType> +struct TraitsFinder<MapDataView<KeyType, ValueType>, UserType> { + using Traits = MapTraits<UserType>; +}; + +template <typename MojomType, + typename UserType, + typename std::enable_if<IsOptionalWrapper<UserType>::value>::type* = + nullptr> +constexpr bool IsValidUserTypeForOptionalValue() { + return true; +} + +template <typename MojomType, + typename UserType, + typename std::enable_if<!IsOptionalWrapper<UserType>::value>::type* = + nullptr> +constexpr bool IsValidUserTypeForOptionalValue() { + using Traits = typename TraitsFinder<MojomType, UserType>::Traits; + return HasSetToNullMethod<Traits>::value; } template <typename T, typename MaybeConstUserType>
diff --git a/mojo/public/cpp/bindings/string_traits_stl.h b/mojo/public/cpp/bindings/string_traits_stl.h index cb3c5fb..9ad0d06 100644 --- a/mojo/public/cpp/bindings/string_traits_stl.h +++ b/mojo/public/cpp/bindings/string_traits_stl.h
@@ -13,16 +13,6 @@ template <> struct StringTraits<std::string> { - static bool IsNull(const std::string& input) { - // std::string is always converted to non-null mojom string. - return false; - } - - static void SetToNull(std::string* output) { - // std::string doesn't support null state. Set it to empty instead. - output->clear(); - } - static const std::string& GetUTF8(const std::string& input) { return input; } static bool Read(StringDataView input, std::string* output) {
diff --git a/mojo/public/tools/bindings/chromium_bindings_configuration.gni b/mojo/public/tools/bindings/chromium_bindings_configuration.gni index c2e01ab..60f514d 100644 --- a/mojo/public/tools/bindings/chromium_bindings_configuration.gni +++ b/mojo/public/tools/bindings/chromium_bindings_configuration.gni
@@ -2,26 +2,7 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. -_typemap_imports = [ - "//chrome/chrome_cleaner/mojom/typemaps/typemaps.gni", - "//chrome/common/importer/typemaps.gni", - "//chrome/typemaps.gni", - "//chromecast/typemaps.gni", - "//chromeos/typemaps.gni", - "//chromeos/components/multidevice/mojom/typemaps.gni", - "//chromeos/services/cros_healthd/public/mojom/typemaps.gni", - "//chromeos/services/device_sync/public/mojom/typemaps.gni", - "//chromeos/services/network_config/public/mojom/typemaps.gni", - "//chromeos/services/secure_channel/public/mojom/typemaps.gni", - "//components/arc/mojom/typemaps.gni", - "//components/chromeos_camera/common/typemaps.gni", - "//components/media_router/common/mojom/typemaps.gni", - "//components/services/storage/public/cpp/filesystem/typemaps.gni", - "//components/sync/mojom/typemaps.gni", - "//components/typemaps.gni", - "//content/browser/typemaps.gni", - "//content/public/common/typemaps.gni", -] +_typemap_imports = [ "//chrome/typemaps.gni" ] _typemaps = [] foreach(typemap_import, _typemap_imports) {
diff --git a/mojo/public/tools/bindings/generators/cpp_templates/struct_data_view_declaration.tmpl b/mojo/public/tools/bindings/generators/cpp_templates/struct_data_view_declaration.tmpl index 9210d7be..12c6ebf 100644 --- a/mojo/public/tools/bindings/generators/cpp_templates/struct_data_view_declaration.tmpl +++ b/mojo/public/tools/bindings/generators/cpp_templates/struct_data_view_declaration.tmpl
@@ -1,3 +1,5 @@ +{%- import "struct_macros.tmpl" as struct_macros %} + class {{struct.name}}DataView { public: {{struct.name}}DataView() {} @@ -22,6 +24,7 @@ template <typename UserType> WARN_UNUSED_RESULT bool Read{{name|under_to_camel}}(UserType* output) { + {{struct_macros.assert_nullable_output_type_if_necessary(kind, name)}} {%- if pf.min_version != 0 %} auto* pointer = data_->header_.version >= {{pf.min_version}} && !data_->{{name}}.is_null() ? &data_->{{name}} : nullptr; @@ -38,6 +41,7 @@ template <typename UserType> WARN_UNUSED_RESULT bool Read{{name|under_to_camel}}(UserType* output) { + {{struct_macros.assert_nullable_output_type_if_necessary(kind, name)}} {%- if pf.min_version != 0 %} auto* pointer = data_->header_.version >= {{pf.min_version}} ? data_->{{name}}.Get() : nullptr;
diff --git a/mojo/public/tools/bindings/generators/cpp_templates/struct_macros.tmpl b/mojo/public/tools/bindings/generators/cpp_templates/struct_macros.tmpl index 880f8a50..a096796 100644 --- a/mojo/public/tools/bindings/generators/cpp_templates/struct_macros.tmpl +++ b/mojo/public/tools/bindings/generators/cpp_templates/struct_macros.tmpl
@@ -125,3 +125,18 @@ {%- endif %} {%- endfor %} {%- endmacro %} + +{%- macro assert_nullable_output_type_if_necessary(kind, name) -%} +{%- if kind|is_nullable_kind and not kind|is_native_only_kind %} +static_assert( + mojo::internal::IsValidUserTypeForOptionalValue< + {{kind|unmapped_type_for_serializer}}, UserType>(), + "Attempting to read the optional `{{name}}` field into a type which " + "cannot represent a null value. Either wrap the destination object " + "with base::Optional, ensure that any corresponding " + "{Struct/Union/Array/String}Traits define the necessary IsNull and " + "SetToNull methods, or use `MaybeRead{{name|under_to_camel}}` instead " + "of `Read{{name|under_to_camel}} if you're fine with null values being " + "silently ignored in this case."); +{%- endif %} +{%- endmacro %}
diff --git a/mojo/public/tools/bindings/generators/cpp_templates/union_data_view_declaration.tmpl b/mojo/public/tools/bindings/generators/cpp_templates/union_data_view_declaration.tmpl index 5973ba2..ea70e95 100644 --- a/mojo/public/tools/bindings/generators/cpp_templates/union_data_view_declaration.tmpl +++ b/mojo/public/tools/bindings/generators/cpp_templates/union_data_view_declaration.tmpl
@@ -1,3 +1,5 @@ +{%- import "struct_macros.tmpl" as struct_macros %} + class {{union.name}}DataView { public: using Tag = internal::{{union.name}}_Data::{{union.name}}_Tag; @@ -32,6 +34,7 @@ template <typename UserType> WARN_UNUSED_RESULT bool Read{{name|under_to_camel}}(UserType* output) { + {{struct_macros.assert_nullable_output_type_if_necessary(kind, name)}} DCHECK(is_{{name}}()); return mojo::internal::Deserialize<{{kind|unmapped_type_for_serializer}}>( data_->data.f_{{name}}.Get(), output, context_);
diff --git a/net/http2/platform/impl/http2_string_utils_impl.h b/net/http2/platform/impl/http2_string_utils_impl.h index 483559f..b04030ac 100644 --- a/net/http2/platform/impl/http2_string_utils_impl.h +++ b/net/http2/platform/impl/http2_string_utils_impl.h
@@ -8,12 +8,14 @@ #include <sstream> #include <utility> +#include "base/strings/abseil_string_conversions.h" #include "base/strings/string_number_conversions.h" #include "base/strings/string_util.h" #include "base/strings/stringprintf.h" #include "net/base/escape.h" #include "net/base/hex_utils.h" #include "net/third_party/quiche/src/common/platform/api/quiche_string_piece.h" +#include "net/third_party/quiche/src/common/platform/api/quiche_text_utils.h" namespace http2 { @@ -40,18 +42,15 @@ } inline std::string Http2HexDecodeImpl(quiche::QuicheStringPiece data) { - std::string result; - if (!base::HexStringToString(data, &result)) - result.clear(); - return result; + return quiche::QuicheTextUtils::HexDecode(data); } inline std::string Http2HexDumpImpl(quiche::QuicheStringPiece data) { - return net::HexDump(data); + return quiche::QuicheTextUtils::HexDump(data); } inline std::string Http2HexEscapeImpl(quiche::QuicheStringPiece data) { - return net::EscapeQueryParamValue(data, false); + return net::EscapeQueryParamValue(base::StringViewToStringPiece(data), false); } template <typename Number>
diff --git a/net/quic/crypto/proof_verifier_chromium.cc b/net/quic/crypto/proof_verifier_chromium.cc index 641a255e..f8629d7d 100644 --- a/net/quic/crypto/proof_verifier_chromium.cc +++ b/net/quic/crypto/proof_verifier_chromium.cc
@@ -310,9 +310,9 @@ } // Convert certs to X509Certificate. - std::vector<quiche::QuicheStringPiece> cert_pieces(certs.size()); + std::vector<base::StringPiece> cert_pieces(certs.size()); for (unsigned i = 0; i < certs.size(); i++) { - cert_pieces[i] = quiche::QuicheStringPiece(certs[i]); + cert_pieces[i] = base::StringPiece(certs[i]); } cert_ = X509Certificate::CreateFromDERCertChain(cert_pieces); if (!cert_.get()) {
diff --git a/net/quic/platform/impl/quic_cert_utils_impl.h b/net/quic/platform/impl/quic_cert_utils_impl.h index 6e5218c..8a87b3f 100644 --- a/net/quic/platform/impl/quic_cert_utils_impl.h +++ b/net/quic/platform/impl/quic_cert_utils_impl.h
@@ -2,13 +2,10 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// Copyright 2016 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file._ - #ifndef NET_QUIC_PLATFORM_IMPL_QUIC_CERT_UTILS_IMPL_H_ #define NET_QUIC_PLATFORM_IMPL_QUIC_CERT_UTILS_IMPL_H_ +#include "base/strings/abseil_string_conversions.h" #include "net/cert/asn1_util.h" #include "net/third_party/quiche/src/common/platform/api/quiche_string_piece.h" @@ -19,7 +16,11 @@ static bool ExtractSubjectNameFromDERCert( quiche::QuicheStringPiece cert, quiche::QuicheStringPiece* subject_out) { - return net::asn1::ExtractSubjectFromDERCert(cert, subject_out); + base::StringPiece out; + bool result = net::asn1::ExtractSubjectFromDERCert( + base::StringViewToStringPiece(cert), &out); + *subject_out = base::StringPieceToStringView(out); + return result; } };
diff --git a/net/quic/platform/impl/quic_file_utils_impl.h b/net/quic/platform/impl/quic_file_utils_impl.h index 541b389..ef89ebd 100644 --- a/net/quic/platform/impl/quic_file_utils_impl.h +++ b/net/quic/platform/impl/quic_file_utils_impl.h
@@ -9,6 +9,7 @@ #include "base/files/file_enumerator.h" #include "base/files/file_util.h" +#include "base/strings/abseil_string_conversions.h" #include "net/third_party/quiche/src/common/platform/api/quiche_string_piece.h" using base::FilePath; @@ -31,7 +32,9 @@ // Reads the contents of |filename| as a string into |contents|. void ReadFileContentsImpl(quiche::QuicheStringPiece filename, std::string* contents) { - base::ReadFileToString(FilePath::FromUTF8Unsafe(filename), contents); + base::ReadFileToString( + FilePath::FromUTF8Unsafe(base::StringViewToStringPiece(filename)), + contents); } } // namespace quic
diff --git a/net/quic/platform/impl/quic_hostname_utils_impl.cc b/net/quic/platform/impl/quic_hostname_utils_impl.cc index df163fa..4550da4 100644 --- a/net/quic/platform/impl/quic_hostname_utils_impl.cc +++ b/net/quic/platform/impl/quic_hostname_utils_impl.cc
@@ -4,6 +4,7 @@ #include "net/quic/platform/impl/quic_hostname_utils_impl.h" +#include "base/strings/abseil_string_conversions.h" #include "net/base/url_util.h" #include "url/gurl.h" #include "url/url_canon.h" @@ -19,7 +20,7 @@ // accepted by the above spec is '_'. url::CanonHostInfo host_info; std::string canonicalized_host( - net::CanonicalizeHost(sni.as_string(), &host_info)); + net::CanonicalizeHost(base::StringViewToStringPiece(sni), &host_info)); return !host_info.IsIPAddress() && net::IsCanonicalizedHostCompliant(canonicalized_host) && sni.find_last_of('.') != std::string::npos;
diff --git a/net/quic/platform/impl/quic_test_output_impl.cc b/net/quic/platform/impl/quic_test_output_impl.cc index e922505..d84e9e0 100644 --- a/net/quic/platform/impl/quic_test_output_impl.cc +++ b/net/quic/platform/impl/quic_test_output_impl.cc
@@ -10,6 +10,7 @@ #include "base/environment.h" #include "base/files/file_path.h" #include "base/files/file_util.h" +#include "base/strings/abseil_string_conversions.h" #include "net/third_party/quiche/src/common/platform/api/quiche_str_cat.h" #include "net/third_party/quiche/src/quic/platform/api/quic_logging.h" #include "testing/gtest/include/gtest/gtest.h" @@ -26,7 +27,8 @@ } auto path = base::FilePath::FromUTF8Unsafe(output_dir) - .Append(base::FilePath::FromUTF8Unsafe(filename)); + .Append(base::FilePath::FromUTF8Unsafe( + base::StringViewToStringPiece(filename))); int bytes_written = base::WriteFile(path, data.data(), data.size()); if (bytes_written < 0) { @@ -53,7 +55,8 @@ } auto path = base::FilePath::FromUTF8Unsafe(output_dir) - .Append(base::FilePath::FromUTF8Unsafe(filename)); + .Append(base::FilePath::FromUTF8Unsafe( + base::StringViewToStringPiece(filename))); return base::ReadFileToString(path, data); }
diff --git a/net/quic/quic_chromium_client_stream.cc b/net/quic/quic_chromium_client_stream.cc index 01f0a1d..cd5e352 100644 --- a/net/quic/quic_chromium_client_stream.cc +++ b/net/quic/quic_chromium_client_stream.cc
@@ -11,6 +11,7 @@ #include "base/callback_helpers.h" #include "base/location.h" #include "base/memory/ptr_util.h" +#include "base/strings/abseil_string_conversions.h" #include "base/threading/thread_task_runner_handle.h" #include "net/base/io_buffer.h" #include "net/base/net_errors.h" @@ -216,7 +217,7 @@ if (!stream_) return net_error_; - if (stream_->WriteStreamData(data, fin)) + if (stream_->WriteStreamData(base::StringPieceToStringView(data), fin)) return HandleIOComplete(OK); SetCallback(std::move(callback), &write_callback_);
diff --git a/net/quic/quic_chromium_client_stream_test.cc b/net/quic/quic_chromium_client_stream_test.cc index 1c46c80..3db1a33 100644 --- a/net/quic/quic_chromium_client_stream_test.cc +++ b/net/quic/quic_chromium_client_stream_test.cc
@@ -331,9 +331,8 @@ WritevData(stream_->id(), _, _, _, quic::NOT_RETRANSMISSION, _)) .WillOnce(Return(quic::QuicConsumedData(kDataLen, true))); TestCompletionCallback callback; - EXPECT_EQ( - OK, handle_->WriteStreamData(quiche::QuicheStringPiece(kData1, kDataLen), - true, callback.callback())); + EXPECT_EQ(OK, handle_->WriteStreamData(base::StringPiece(kData1, kDataLen), + true, callback.callback())); EXPECT_FALSE(handle_->IsOpen()); EXPECT_EQ(quic::test::GetNthClientInitiatedBidirectionalStreamId( @@ -349,10 +348,9 @@ EXPECT_EQ(header.length() + kDataLen, handle_->stream_bytes_written()); EXPECT_EQ(0u, handle_->NumBytesConsumed()); - EXPECT_EQ( - ERR_CONNECTION_CLOSED, - handle_->WriteStreamData(quiche::QuicheStringPiece(kData1, kDataLen), - true, callback.callback())); + EXPECT_EQ(ERR_CONNECTION_CLOSED, + handle_->WriteStreamData(base::StringPiece(kData1, kDataLen), true, + callback.callback())); std::vector<scoped_refptr<IOBuffer>> buffers = { base::MakeRefCounted<IOBuffer>(10)}; @@ -759,9 +757,8 @@ WritevData(stream_->id(), _, _, _, quic::NOT_RETRANSMISSION, _)) .WillOnce(Return(quic::QuicConsumedData(kDataLen, true))); TestCompletionCallback callback; - EXPECT_EQ( - OK, handle_->WriteStreamData(quiche::QuicheStringPiece(kData1, kDataLen), - true, callback.callback())); + EXPECT_EQ(OK, handle_->WriteStreamData(base::StringPiece(kData1, kDataLen), + true, callback.callback())); } TEST_P(QuicChromiumClientStreamTest, WriteStreamDataAsync) { @@ -774,9 +771,9 @@ WritevData(stream_->id(), _, _, _, quic::NOT_RETRANSMISSION, _)) .WillOnce(Return(quic::QuicConsumedData(0, false))); TestCompletionCallback callback; - EXPECT_EQ(ERR_IO_PENDING, handle_->WriteStreamData( - quiche::QuicheStringPiece(kData1, kDataLen), - true, callback.callback())); + EXPECT_EQ(ERR_IO_PENDING, + handle_->WriteStreamData(base::StringPiece(kData1, kDataLen), true, + callback.callback())); ASSERT_FALSE(callback.have_result()); // All data written.
diff --git a/net/quic/quic_connection_logger.cc b/net/quic/quic_connection_logger.cc index dbcb955..a8d3875 100644 --- a/net/quic/quic_connection_logger.cc +++ b/net/quic/quic_connection_logger.cc
@@ -589,8 +589,8 @@ event_logger_.OnTransportParametersResumed(transport_parameters); } -void QuicConnectionLogger::OnZeroRttRejected() { - event_logger_.OnZeroRttRejected(); +void QuicConnectionLogger::OnZeroRttRejected(int reason) { + event_logger_.OnZeroRttRejected(reason); } void QuicConnectionLogger::RecordAggregatePacketLossRate() const {
diff --git a/net/quic/quic_connection_logger.h b/net/quic/quic_connection_logger.h index 149b594..9c5e351 100644 --- a/net/quic/quic_connection_logger.h +++ b/net/quic/quic_connection_logger.h
@@ -129,7 +129,7 @@ // Returns connection's overall packet loss rate in fraction. float ReceivedPacketLossRate() const; - void OnZeroRttRejected() override; + void OnZeroRttRejected(int reason) override; private: // Do a factory get for a histogram to record a 6-packet loss-sequence as a
diff --git a/net/quic/quic_event_logger.cc b/net/quic/quic_event_logger.cc index 1637750..e1023fa7 100644 --- a/net/quic/quic_event_logger.cc +++ b/net/quic/quic_event_logger.cc
@@ -8,6 +8,7 @@ #include "net/log/net_log_values.h" #include "net/quic/address_utils.h" #include "net/third_party/quiche/src/quic/core/quic_socket_address_coder.h" +#include "third_party/boringssl/src/include/openssl/ssl.h" namespace net { @@ -251,6 +252,65 @@ return dict; } +base::Value NetLogQuicZeroRttRejectReason(int reason) { + base::Value dict(base::Value::Type::DICTIONARY); + std::string reason_detail = ""; + switch (reason) { + case ssl_early_data_unknown: + reason_detail = "The handshake has not progressed far enough"; + break; + case ssl_early_data_disabled: + reason_detail = "0-RTT is disabled for this connection."; + break; + case ssl_early_data_accepted: + reason_detail = "0-RTT was accepted"; + break; + case ssl_early_data_protocol_version: + reason_detail = "The negotiated protocol doesn't support 0-RTT."; + break; + case ssl_early_data_peer_declined: + reason_detail = + "The peer declined to offer or accept 0-RTT for an unknown reason."; + break; + case ssl_early_data_no_session_offered: + reason_detail = "The client did not offer a session."; + break; + case ssl_early_data_session_not_resumed: + reason_detail = "The server declined to resume the session."; + break; + case ssl_early_data_unsupported_for_session: + reason_detail = "The session does not support 0-RTT."; + break; + case ssl_early_data_hello_retry_request: + reason_detail = "The server sent a HelloRetryRequest."; + break; + case ssl_early_data_alpn_mismatch: + reason_detail = "The negotiated ALPN protocol did not match the session."; + break; + case ssl_early_data_channel_id: + reason_detail = + "The connection negotiated Channel ID, which is incompatible with " + "0-RTT."; + break; + case ssl_early_data_token_binding: + reason_detail = + "The connection negotiated token binding, which is incompatible with " + "0-RTT."; + break; + case ssl_early_data_ticket_age_skew: + reason_detail = "The client and server ticket age were too far apart."; + break; + case ssl_early_data_quic_parameter_mismatch: + reason_detail = + "QUIC parameters differ between this connection and the original."; + break; + default: + reason_detail = "Unknown reason " + base::NumberToString(reason); + } + dict.SetStringKey("reason", reason_detail); + return dict; +} + base::Value NetLogQuicOnConnectionClosedParams( quic::QuicErrorCode error, std::string error_details, @@ -870,10 +930,11 @@ }); } -void QuicEventLogger::OnZeroRttRejected() { +void QuicEventLogger::OnZeroRttRejected(int reason) { if (!net_log_.IsCapturing()) return; - net_log_.AddEvent(NetLogEventType::QUIC_SESSION_ZERO_RTT_REJECTED); + net_log_.AddEvent(NetLogEventType::QUIC_SESSION_ZERO_RTT_REJECTED, + [reason] { return NetLogQuicZeroRttRejectReason(reason); }); } } // namespace net
diff --git a/net/quic/quic_event_logger.h b/net/quic/quic_event_logger.h index 00b02cb27..d25a8f6 100644 --- a/net/quic/quic_event_logger.h +++ b/net/quic/quic_event_logger.h
@@ -94,7 +94,7 @@ const quic::TransportParameters& transport_parameters) override; void OnTransportParametersResumed( const quic::TransportParameters& transport_parameters) override; - void OnZeroRttRejected() override; + void OnZeroRttRejected(int reason) override; // Events that are not received via the visitor and have to be called manually // from the session.
diff --git a/net/quic/quic_flags_list.h b/net/quic/quic_flags_list.h index 0ad3ea2..327897d 100644 --- a/net/quic/quic_flags_list.h +++ b/net/quic/quic_flags_list.h
@@ -96,10 +96,6 @@ FLAGS_quic_reloadable_flag_quic_donot_reset_ideal_next_packet_send_time, false) -// When true and the BBR9 connection option is present, BBR only considers -// bandwidth samples app-limited if they're not filling the pipe. -QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_bbr_flexible_app_limited, false) - // When the STMP connection option is sent by the client, timestamps in the QUIC // ACK frame are sent and processed. QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_send_timestamps, false) @@ -284,12 +280,6 @@ // If true, disable QUIC version h3-29. QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_disable_version_draft_29, false) -// If true, try to coalesce packet of higher space with retransmissions to -// mitigate RTT inflations. -QUIC_FLAG(bool, - FLAGS_quic_reloadable_flag_quic_coalesced_packet_of_higher_space2, - true) - // If true, record the received min_ack_delay in transport parameters to QUIC // config. QUIC_FLAG(bool, @@ -301,45 +291,6 @@ FLAGS_quic_reloadable_flag_quic_disable_server_blackhole_detection, false) -// If true, -// server accepts GOAWAY (draft-28 behavior), -// client receiving GOAWAY with stream ID that is not client-initiated -// bidirectional stream ID closes connection with H3_ID_ERROR (draft-28 -// behavior). -// Also, receiving a GOAWAY with ID larger than previously received closes -// connection with H3_ID_ERROR. -// If false, -// server receiving GOAWAY closes connection with H3_FRAME_UNEXPECTED -// (draft-27 behavior), -// client receiving GOAWAY with stream ID that is not client-initiated -// bidirectional stream ID closes connection with PROTOCOL_VIOLATION -// (draft-04 behavior), -// larger ID than previously received does not trigger connection close. -QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_http3_goaway_new_behavior, true) - -// If true, QUIC connection will revert to a previously validated MTU (if -// exists) after two PTOs. -QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_revert_mtu_after_two_ptos, true) - -// If true, when TLPR copt is used, enable half RTT as first PTO timeout. -QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_use_half_rtt_as_first_pto, true) - -// If true, enable overshooting detection when the DTOS connection option is -// supplied. -QUIC_FLAG(bool, - FLAGS_quic_reloadable_flag_quic_enable_overshooting_detection, - true) - -// If true, fix a case where data is marked lost in HANDSHAKE level but -// HANDSHAKE key gets decrypted later. -QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_fix_neuter_handshake_data, true) - -// If true, when data is sending in fast path mode in the creator, making sure -// stream data is sent in the right encryption level. -QUIC_FLAG(bool, - FLAGS_quic_reloadable_flag_quic_check_encryption_level_in_fast_path, - true) - // If true, gQUIC will only consult stream_map in // QuicSession::GetNumActiveStreams(). QUIC_FLAG( @@ -423,7 +374,7 @@ QUIC_FLAG( bool, FLAGS_quic_reloadable_flag_quic_close_connection_in_on_can_write_with_blocked_writer, - false) + true) // If true, include stream information in idle timeout connection close detail. QUIC_FLAG(bool, @@ -454,3 +405,10 @@ QUIC_FLAG(bool, FLAGS_quic_reloadable_flag_quic_fix_pto_pending_timer_count, true) + +// If true, QUIC connection will pass sent packet information to the debug +// visitor after a packet is recorded as sent in sent packet manager. +QUIC_FLAG( + bool, + FLAGS_quic_reloadable_flag_quic_give_sent_packet_to_debug_visitor_after_sent, + false)
diff --git a/net/quic/quic_http_stream.cc b/net/quic/quic_http_stream.cc index dbb18c5..41a46fb 100644 --- a/net/quic/quic_http_stream.cc +++ b/net/quic/quic_http_stream.cc
@@ -645,7 +645,7 @@ int len = request_body_buf_->BytesRemaining(); if (len > 0 || eof) { next_state_ = STATE_SEND_BODY_COMPLETE; - quiche::QuicheStringPiece data(request_body_buf_->data(), len); + base::StringPiece data(request_body_buf_->data(), len); return stream_->WriteStreamData( data, eof, base::BindOnce(&QuicHttpStream::OnIOComplete,
diff --git a/net/quic/quic_network_transaction_unittest.cc b/net/quic/quic_network_transaction_unittest.cc index a9f41b6..c1329b3 100644 --- a/net/quic/quic_network_transaction_unittest.cc +++ b/net/quic/quic_network_transaction_unittest.cc
@@ -1330,7 +1330,7 @@ mock_quic_data.AddRead( ASYNC, ConstructServerDataPacket( packet_number++, stream_id, false, false, - base::StringPiece(response_data.data() + offset, len))); + absl::string_view(response_data.data() + offset, len))); } std::string header = ConstructDataHeader(6); @@ -1405,7 +1405,7 @@ mock_quic_data.AddRead( ASYNC, ConstructServerDataPacket( packet_number++, stream_id, false, false, - base::StringPiece(response_data.data() + offset, len))); + absl::string_view(response_data.data() + offset, len))); } std::string header = ConstructDataHeader(6);
diff --git a/net/quic/quic_proxy_client_socket.cc b/net/quic/quic_proxy_client_socket.cc index dad7047..45597a3 100644 --- a/net/quic/quic_proxy_client_socket.cc +++ b/net/quic/quic_proxy_client_socket.cc
@@ -234,7 +234,7 @@ buf->data()); int rv = stream_->WriteStreamData( - quiche::QuicheStringPiece(buf->data(), buf_len), false, + base::StringPiece(buf->data(), buf_len), false, base::BindOnce(&QuicProxyClientSocket::OnWriteComplete, weak_factory_.GetWeakPtr())); if (rv == OK)
diff --git a/net/quic/quic_stream_factory_test.cc b/net/quic/quic_stream_factory_test.cc index fe7e6ca0d..c99397a 100644 --- a/net/quic/quic_stream_factory_test.cc +++ b/net/quic/quic_stream_factory_test.cc
@@ -8849,7 +8849,7 @@ socket_data1.AddRead( ASYNC, server_maker_.MakeDataPacket( 2, GetNthClientInitiatedBidirectionalStreamId(0), false, false, - base::StringPiece("Hello World"))); + "Hello World")); // Read an ACK from server which acks all client data. socket_data1.AddRead(SYNCHRONOUS, server_maker_.MakeAckPacket(3, 3, 1)); @@ -9010,7 +9010,7 @@ socket_data1.AddRead( ASYNC, server_maker_.MakeDataPacket( 2, GetNthClientInitiatedBidirectionalStreamId(0), false, false, - base::StringPiece("Hello World"))); + "Hello World")); // Read an ACK from server which acks all client data. socket_data1.AddRead(SYNCHRONOUS, server_maker_.MakeAckPacket(3, 3, 1)); socket_data1.AddWrite(ASYNC, client_maker_.MakeAckPacket(packet_num++, 2, 1)); @@ -9158,7 +9158,7 @@ socket_data1.AddRead( ASYNC, server_maker_.MakeDataPacket( 2, GetNthClientInitiatedBidirectionalStreamId(0), false, false, - base::StringPiece("Hello World"))); + "Hello World")); // Read an ACK from server which acks all client data. socket_data1.AddRead(SYNCHRONOUS, server_maker_.MakeAckPacket(3, 2, 1)); socket_data1.AddWrite(ASYNC, client_maker_.MakeAckPacket(packet_num++, 2, 1)); @@ -9304,7 +9304,7 @@ socket_data1.AddRead( ASYNC, server_maker_.MakeDataPacket( 2, GetNthClientInitiatedBidirectionalStreamId(0), false, false, - base::StringPiece("Hello World"))); + "Hello World")); // Read an ACK from server which acks all client data. socket_data1.AddRead(SYNCHRONOUS, server_maker_.MakeAckPacket(3, 2, 1)); socket_data1.AddWrite(ASYNC, client_maker_.MakeAckPacket(packet_num++, 2, 1)); @@ -9441,7 +9441,7 @@ socket_data1.AddRead( ASYNC, server_maker_.MakeDataPacket( 2, GetNthClientInitiatedBidirectionalStreamId(0), false, false, - base::StringPiece("Hello World"))); + "Hello World")); // Read an ACK from server which acks all client data. socket_data1.AddRead(SYNCHRONOUS, server_maker_.MakeAckPacket(3, 2, 1)); socket_data1.AddWrite(ASYNC, client_maker_.MakeAckPacket(packet_num++, 2, 1)); @@ -9589,7 +9589,7 @@ socket_data1.AddRead( ASYNC, server_maker_.MakeDataPacket( 2, GetNthClientInitiatedBidirectionalStreamId(0), false, false, - base::StringPiece("Hello World"))); + "Hello World")); // Read an ACK from server which acks all client data. socket_data1.AddRead(SYNCHRONOUS, server_maker_.MakeAckPacket(3, 2, 1)); socket_data1.AddWrite(ASYNC, client_maker_.MakeAckPacket(packet_num++, 2, 1));
diff --git a/net/quic/quic_transport_client.cc b/net/quic/quic_transport_client.cc index 68a8948..6f2138d 100644 --- a/net/quic/quic_transport_client.cc +++ b/net/quic/quic_transport_client.cc
@@ -6,6 +6,7 @@ #include "base/metrics/histogram_functions.h" #include "base/stl_util.h" +#include "base/strings/abseil_string_conversions.h" #include "base/threading/thread_task_runner_handle.h" #include "net/proxy_resolution/configured_proxy_resolution_service.h" #include "net/proxy_resolution/proxy_resolution_request.h" @@ -382,7 +383,7 @@ void QuicTransportClient::OnDatagramReceived( quiche::QuicheStringPiece datagram) { - visitor_->OnDatagramReceived(datagram); + visitor_->OnDatagramReceived(base::StringViewToStringPiece(datagram)); } void QuicTransportClient::OnCanCreateNewOutgoingBidirectionalStream() {
diff --git a/net/quiche/common/platform/impl/DEPS b/net/quiche/common/platform/impl/DEPS index 46f9ab7..99a3f51 100644 --- a/net/quiche/common/platform/impl/DEPS +++ b/net/quiche/common/platform/impl/DEPS
@@ -3,4 +3,6 @@ # directly. # TODO(b/166325009): remove this rule. "+third_party/abseil-cpp/absl/container/node_hash_map.h", + "+third_party/abseil-cpp/absl/hash/hash.h", + "+third_party/abseil-cpp/absl/strings", ]
diff --git a/net/quiche/common/platform/impl/quiche_string_piece_impl.h b/net/quiche/common/platform/impl/quiche_string_piece_impl.h index 9488b87..5c68910 100644 --- a/net/quiche/common/platform/impl/quiche_string_piece_impl.h +++ b/net/quiche/common/platform/impl/quiche_string_piece_impl.h
@@ -5,17 +5,19 @@ #ifndef NET_QUICHE_COMMON_PLATFORM_IMPL_QUICHE_STRING_PIECE_IMPL_H_ #define NET_QUICHE_COMMON_PLATFORM_IMPL_QUICHE_STRING_PIECE_IMPL_H_ -#include "base/strings/string_piece.h" +#include "third_party/abseil-cpp/absl/hash/hash.h" +#include "third_party/abseil-cpp/absl/strings/string_view.h" namespace quiche { -using QuicheStringPieceImpl = base::StringPiece; +using QuicheStringPieceImpl = absl::string_view; -using QuicheStringPieceHashImpl = base::StringPieceHash; +using QuicheStringPieceHashImpl = absl::Hash<absl::string_view>; inline size_t QuicheHashStringPairImpl(QuicheStringPieceImpl a, QuicheStringPieceImpl b) { - return base::StringPieceHash()(a) ^ base::StringPieceHash()(b); + auto pair = std::make_pair(a, b); + return absl::Hash<decltype(pair)>()(pair); } } // namespace quiche
diff --git a/net/quiche/common/platform/impl/quiche_text_utils_impl.h b/net/quiche/common/platform/impl/quiche_text_utils_impl.h index 8f52eaf..144c966 100644 --- a/net/quiche/common/platform/impl/quiche_text_utils_impl.h +++ b/net/quiche/common/platform/impl/quiche_text_utils_impl.h
@@ -11,15 +11,15 @@ #include <string> #include <vector> -#include "base/base64.h" -#include "base/strings/string_number_conversions.h" -#include "base/strings/string_split.h" -#include "base/strings/string_util.h" -#include "base/strings/stringprintf.h" +#include "base/strings/abseil_string_conversions.h" #include "net/base/hex_utils.h" -#include "net/base/parse_number.h" #include "net/third_party/quiche/src/common/platform/api/quiche_optional.h" #include "net/third_party/quiche/src/common/platform/api/quiche_string_piece.h" +#include "third_party/abseil-cpp/absl/strings/ascii.h" +#include "third_party/abseil-cpp/absl/strings/escaping.h" +#include "third_party/abseil-cpp/absl/strings/match.h" +#include "third_party/abseil-cpp/absl/strings/str_cat.h" +#include "third_party/abseil-cpp/absl/strings/str_split.h" namespace quiche { @@ -28,86 +28,77 @@ public: // Returns true of |data| starts with |prefix|, case sensitively. static bool StartsWith(QuicheStringPiece data, QuicheStringPiece prefix) { - return base::StartsWith(data, prefix, base::CompareCase::SENSITIVE); + return absl::StartsWith(data, prefix); } // Returns true if |data| end with |suffix|, case sensitively. static bool EndsWith(QuicheStringPiece data, QuicheStringPiece suffix) { - return base::EndsWith(data, suffix, base::CompareCase::SENSITIVE); + return absl::EndsWith(data, suffix); } // Returns true of |data| ends with |suffix|, case insensitively. static bool EndsWithIgnoreCase(QuicheStringPiece data, QuicheStringPiece suffix) { - return base::EndsWith(data, suffix, base::CompareCase::INSENSITIVE_ASCII); + return absl::EndsWithIgnoreCase(data, suffix); } // Returns a new std::string in which |data| has been converted to lower case. static std::string ToLower(QuicheStringPiece data) { - return base::ToLowerASCII(data); + return absl::AsciiStrToLower(data); } // Remove leading and trailing whitespace from |data|. static void RemoveLeadingAndTrailingWhitespace(QuicheStringPiece* data) { - *data = base::TrimWhitespaceASCII(*data, base::TRIM_ALL); + *data = absl::StripAsciiWhitespace(*data); } // Returns true if |in| represents a valid uint64, and stores that value in // |out|. static bool StringToUint64(QuicheStringPiece in, uint64_t* out) { - return base::StringToUint64(in, out); + return absl::SimpleAtoi(in, out); } // Returns true if |in| represents a valid int, and stores that value in // |out|. static bool StringToInt(QuicheStringPiece in, int* out) { - return base::StringToInt(in, out); + return absl::SimpleAtoi(in, out); } // Returns true if |in| represents a valid uint32, and stores that value in // |out|. static bool StringToUint32(QuicheStringPiece in, uint32_t* out) { - return net::ParseUint32(in, out, nullptr); + return absl::SimpleAtoi(in, out); } // Returns true if |in| represents a valid size_t, and stores that value in // |out|. static bool StringToSizeT(QuicheStringPiece in, size_t* out) { - return base::StringToSizeT(in, out); + return absl::SimpleAtoi(in, out); } // Returns a new std::string representing |in|. - static std::string Uint64ToString(uint64_t in) { - return base::NumberToString(in); - } + static std::string Uint64ToString(uint64_t in) { return absl::StrCat(in); } // This converts |length| bytes of binary to a 2*|length|-character // hexadecimal representation. // Return value: 2*|length| characters of ASCII std::string. static std::string HexEncode(QuicheStringPiece data) { - return base::ToLowerASCII(::base::HexEncode(data.data(), data.size())); + return absl::BytesToHexString(data); } - static std::string Hex(uint32_t v) { - std::stringstream ss; - ss << std::hex << v; - return ss.str(); - } + static std::string Hex(uint32_t v) { return absl::StrCat(absl::Hex(v)); } // Converts |data| from a hexadecimal ASCII string to a binary string // that is |data.length()/2| bytes long. On failure returns empty string. static std::string HexDecode(QuicheStringPiece data) { - std::string result; - if (!base::HexStringToString(data, &result)) - result.clear(); - return result; + return absl::HexStringToBytes(data); } // Base64 encodes with no padding |data_len| bytes of |data| into |output|. static void Base64Encode(const uint8_t* data, size_t data_len, std::string* output) { - base::Base64Encode( + absl::Base64Escape( std::string(reinterpret_cast<const char*>(data), data_len), output); // Remove padding. size_t len = output->size(); @@ -126,7 +117,7 @@ // invalid. static QuicheOptional<std::string> Base64Decode(QuicheStringPiece input) { std::string output; - if (!base::Base64Decode(input, &output)) { + if (!absl::Base64Unescape(input, &output)) { return QuicheOptional<std::string>(); } return output; @@ -138,25 +129,23 @@ // For example, given the input "Hello, QUIC!\01\02\03\04", returns: // "0x0000: 4865 6c6c 6f2c 2051 5549 4321 0102 0304 Hello,.QUIC!...." static std::string HexDump(QuicheStringPiece binary_input) { - return net::HexDump(binary_input); + return net::HexDump(base::StringViewToStringPiece(binary_input)); } // Returns true if |data| contains any uppercase characters. static bool ContainsUpperCase(QuicheStringPiece data) { - return std::any_of(data.begin(), data.end(), base::IsAsciiUpper<char>); + return std::any_of(data.begin(), data.end(), absl::ascii_isupper); } // Returns true if |data| contains only decimal digits. static bool IsAllDigits(QuicheStringPiece data) { - return std::all_of(data.begin(), data.end(), - base::IsAsciiDigit<QuicheStringPiece::value_type>); + return std::all_of(data.begin(), data.end(), absl::ascii_isdigit); } // Splits |data| into a vector of pieces delimited by |delim|. static std::vector<QuicheStringPiece> Split(QuicheStringPiece data, char delim) { - return base::SplitStringPiece(data, QuicheStringPiece(&delim, 1), - base::KEEP_WHITESPACE, base::SPLIT_WANT_ALL); + return absl::StrSplit(data, delim); } };
diff --git a/net/spdy/buffered_spdy_framer.cc b/net/spdy/buffered_spdy_framer.cc index cb08299..2962dfa 100644 --- a/net/spdy/buffered_spdy_framer.cc +++ b/net/spdy/buffered_spdy_framer.cc
@@ -8,6 +8,7 @@ #include <utility> #include "base/check.h" +#include "base/strings/abseil_string_conversions.h" #include "base/strings/string_util.h" #include "base/trace_event/memory_usage_estimator.h" @@ -209,9 +210,10 @@ void BufferedSpdyFramer::OnAltSvc( spdy::SpdyStreamId stream_id, - base::StringPiece origin, + absl::string_view origin, const spdy::SpdyAltSvcWireFormat::AlternativeServiceVector& altsvc_vector) { - visitor_->OnAltSvc(stream_id, origin, altsvc_vector); + visitor_->OnAltSvc(stream_id, base::StringViewToStringPiece(origin), + altsvc_vector); } void BufferedSpdyFramer::OnContinuation(spdy::SpdyStreamId stream_id, @@ -299,7 +301,7 @@ const char* data, uint32_t len, spdy::SpdyDataFlags flags) { - spdy::SpdyDataIR data_ir(stream_id, base::StringPiece(data, len)); + spdy::SpdyDataIR data_ir(stream_id, absl::string_view(data, len)); data_ir.set_fin((flags & spdy::DATA_FLAG_FIN) != 0); return std::make_unique<spdy::SpdySerializedFrame>( spdy_framer_.SerializeData(data_ir));
diff --git a/net/spdy/buffered_spdy_framer.h b/net/spdy/buffered_spdy_framer.h index 50fd5b0..0bfb5e6 100644 --- a/net/spdy/buffered_spdy_framer.h +++ b/net/spdy/buffered_spdy_framer.h
@@ -181,7 +181,7 @@ spdy::SpdyStreamId promised_stream_id, bool end) override; void OnAltSvc(spdy::SpdyStreamId stream_id, - base::StringPiece origin, + absl::string_view origin, const spdy::SpdyAltSvcWireFormat::AlternativeServiceVector& altsvc_vector) override; void OnDataFrameHeader(spdy::SpdyStreamId stream_id,
diff --git a/net/spdy/header_coalescer.cc b/net/spdy/header_coalescer.cc index a77c1b8840..c471962 100644 --- a/net/spdy/header_coalescer.cc +++ b/net/spdy/header_coalescer.cc
@@ -8,6 +8,7 @@ #include <string> #include <utility> +#include "base/strings/abseil_string_conversions.h" #include "base/strings/string_util.h" #include "base/strings/stringprintf.h" #include "base/trace_event/memory_usage_estimator.h" @@ -46,10 +47,11 @@ const NetLogWithSource& net_log) : max_header_list_size_(max_header_list_size), net_log_(net_log) {} -void HeaderCoalescer::OnHeader(base::StringPiece key, base::StringPiece value) { +void HeaderCoalescer::OnHeader(absl::string_view key, absl::string_view value) { if (error_seen_) return; - if (!AddHeader(key, value)) + if (!AddHeader(base::StringViewToStringPiece(key), + base::StringViewToStringPiece(value))) error_seen_ = true; } @@ -122,7 +124,8 @@ } } - headers_.AppendValueOrAddHeader(key, value); + headers_.AppendValueOrAddHeader(base::StringPieceToStringView(key), + base::StringPieceToStringView(value)); return true; }
diff --git a/net/spdy/header_coalescer.h b/net/spdy/header_coalescer.h index 2adde8c6..e07490b 100644 --- a/net/spdy/header_coalescer.h +++ b/net/spdy/header_coalescer.h
@@ -21,7 +21,7 @@ void OnHeaderBlockStart() override {} - void OnHeader(base::StringPiece key, base::StringPiece value) override; + void OnHeader(absl::string_view key, absl::string_view value) override; void OnHeaderBlockEnd(size_t uncompressed_header_bytes, size_t compressed_header_bytes) override {}
diff --git a/net/spdy/header_coalescer_test.cc b/net/spdy/header_coalescer_test.cc index 30a44e3..c7c1c8e 100644 --- a/net/spdy/header_coalescer_test.cc +++ b/net/spdy/header_coalescer_test.cc
@@ -70,8 +70,7 @@ EXPECT_FALSE(header_coalescer_.error_seen()); // Another 3 + 4 + 32 bytes: too large. - base::StringPiece header_value("abcd"); - header_coalescer_.OnHeader("bar", header_value); + header_coalescer_.OnHeader("bar", "abcd"); EXPECT_TRUE(header_coalescer_.error_seen()); ExpectEntry("bar", "abcd", "Header list too large."); } @@ -93,12 +92,12 @@ spdy::SpdyHeaderBlock header_block = header_coalescer_.release_headers(); EXPECT_THAT(header_block, - ElementsAre(Pair("foo", base::StringPiece("bar\0quux", 8)), + ElementsAre(Pair("foo", absl::string_view("bar\0quux", 8)), Pair("cookie", "baz; qux"))); } TEST_F(HeaderCoalescerTest, HeaderNameNotValid) { - base::StringPiece header_name("\x1\x7F\x80\xFF"); + absl::string_view header_name("\x1\x7F\x80\xFF"); header_coalescer_.OnHeader(header_name, "foo"); EXPECT_TRUE(header_coalescer_.error_seen()); ExpectEntry("%ESCAPED:\xE2\x80\x8B \x1\x7F%80%FF", "foo", @@ -107,7 +106,7 @@ // RFC 7540 Section 8.1.2.6. Uppercase in header name is invalid. TEST_F(HeaderCoalescerTest, HeaderNameHasUppercase) { - base::StringPiece header_name("ABCDEFGHIJKLMNOPQRSTUVWXYZ"); + absl::string_view header_name("ABCDEFGHIJKLMNOPQRSTUVWXYZ"); header_coalescer_.OnHeader(header_name, "foo"); EXPECT_TRUE(header_coalescer_.error_seen()); ExpectEntry("ABCDEFGHIJKLMNOPQRSTUVWXYZ", "foo", @@ -121,7 +120,7 @@ // "^" / "_" / "`" / "|" / "~" / DIGIT / ALPHA TEST_F(HeaderCoalescerTest, HeaderNameValid) { // Due to RFC 7540 Section 8.1.2.6. Uppercase characters are not included. - base::StringPiece header_name( + absl::string_view header_name( "abcdefghijklmnopqrstuvwxyz0123456789!#$%&'*+-." "^_`|~"); header_coalescer_.OnHeader(header_name, "foo");
diff --git a/net/spdy/multiplexed_http_stream.cc b/net/spdy/multiplexed_http_stream.cc index 9d89e6e..ac902b0f 100644 --- a/net/spdy/multiplexed_http_stream.cc +++ b/net/spdy/multiplexed_http_stream.cc
@@ -7,6 +7,7 @@ #include <utility> #include "base/notreached.h" +#include "base/strings/abseil_string_conversions.h" #include "net/http/http_raw_request_headers.h" #include "net/third_party/quiche/src/spdy/core/spdy_header_block.h" @@ -65,7 +66,8 @@ return; HttpRawRequestHeaders raw_headers; for (const auto& entry : spdy_headers) - raw_headers.Add(entry.first, entry.second); + raw_headers.Add(base::StringViewToStringPiece(entry.first), + base::StringViewToStringPiece(entry.second)); request_headers_callback_.Run(std::move(raw_headers)); }
diff --git a/net/spdy/platform/impl/spdy_string_utils_impl.h b/net/spdy/platform/impl/spdy_string_utils_impl.h index d5afc906..534b169 100644 --- a/net/spdy/platform/impl/spdy_string_utils_impl.h +++ b/net/spdy/platform/impl/spdy_string_utils_impl.h
@@ -13,6 +13,7 @@ #include "base/strings/stringprintf.h" #include "net/base/hex_utils.h" #include "net/third_party/quiche/src/common/platform/api/quiche_string_piece.h" +#include "net/third_party/quiche/src/common/platform/api/quiche_text_utils.h" namespace spdy { @@ -34,10 +35,7 @@ } inline std::string SpdyHexDecodeImpl(quiche::QuicheStringPiece data) { - std::string result; - if (!base::HexStringToString(data, &result)) - result.clear(); - return result; + return quiche::QuicheTextUtils::HexDecode(data); } NET_EXPORT_PRIVATE bool SpdyHexDecodeToUInt32Impl( @@ -45,7 +43,7 @@ uint32_t* out); inline std::string SpdyHexEncodeImpl(const char* bytes, size_t size) { - return base::ToLowerASCII(base::HexEncode(bytes, size)); + return quiche::QuicheTextUtils::HexEncode(bytes, size); } inline std::string SpdyHexEncodeUInt32AndTrimImpl(uint32_t data) { @@ -53,13 +51,13 @@ } inline std::string SpdyHexDumpImpl(quiche::QuicheStringPiece data) { - return net::HexDump(data); + return quiche::QuicheTextUtils::HexDump(data); } struct SpdyStringPieceCaseHashImpl { size_t operator()(quiche::QuicheStringPiece data) const { - std::string lower = ToLowerASCII(data); - base::StringPieceHash hasher; + std::string lower = absl::AsciiStrToLower(data); + absl::Hash<absl::string_view> hasher; return hasher(lower); } }; @@ -67,7 +65,7 @@ struct SpdyStringPieceCaseEqImpl { bool operator()(quiche::QuicheStringPiece piece1, quiche::QuicheStringPiece piece2) const { - return base::EqualsCaseInsensitiveASCII(piece1, piece2); + return absl::EqualsIgnoreCase(piece1, piece2); } };
diff --git a/net/spdy/spdy_http_utils.cc b/net/spdy/spdy_http_utils.cc index 4a21923..c74decb 100644 --- a/net/spdy/spdy_http_utils.cc +++ b/net/spdy/spdy_http_utils.cc
@@ -47,12 +47,12 @@ headers.find(spdy::kHttp2StatusHeader); if (it == headers.end()) return false; - std::string status = it->second.as_string(); + auto status = std::string(it->second); std::string raw_headers("HTTP/1.1 "); raw_headers.append(status); raw_headers.push_back('\0'); for (it = headers.begin(); it != headers.end(); ++it) { - std::string name = it->first.as_string(); + auto name = std::string(it->first); DCHECK_GT(name.size(), 0u); if (name[0] == ':') { // https://tools.ietf.org/html/rfc7540#section-8.1.2.4 @@ -67,7 +67,7 @@ // becomes // Set-Cookie: foo\0 // Set-Cookie: bar\0 - std::string value = it->second.as_string(); + auto value = std::string(it->second); size_t start = 0; size_t end = 0; do { @@ -162,12 +162,13 @@ const spdy::SpdyHeaderBlock& spdy_headers, HttpRequestHeaders* http_headers) { for (const auto& it : spdy_headers) { - base::StringPiece key = it.first; + base::StringPiece key = base::StringViewToStringPiece(it.first); if (key[0] == ':') { key.remove_prefix(1); } - std::vector<base::StringPiece> values = base::SplitStringPiece( - it.second, "\0", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL); + std::vector<base::StringPiece> values = + base::SplitStringPiece(base::StringViewToStringPiece(it.second), "\0", + base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL); for (const auto& value : values) { http_headers->SetHeader(key, value); }
diff --git a/net/spdy/spdy_log_util.cc b/net/spdy/spdy_log_util.cc index 833d0f4..d0d55c1 100644 --- a/net/spdy/spdy_log_util.cc +++ b/net/spdy/spdy_log_util.cc
@@ -6,6 +6,7 @@ #include <utility> +#include "base/strings/abseil_string_conversions.h" #include "base/strings/strcat.h" #include "base/strings/string_number_conversions.h" #include "base/values.h" @@ -28,8 +29,8 @@ NetLogCaptureMode capture_mode) { base::ListValue headers_list; for (const auto& header : headers) { - base::StringPiece key = header.first; - base::StringPiece value = header.second; + base::StringPiece key = base::StringViewToStringPiece(header.first); + base::StringPiece value = base::StringViewToStringPiece(header.second); headers_list.Append(NetLogStringValue( base::StrCat({key, ": ", ElideHeaderValueForNetLog(capture_mode, key.as_string(),
diff --git a/net/spdy/spdy_network_transaction_unittest.cc b/net/spdy/spdy_network_transaction_unittest.cc index c8896bd..5cc2c011 100644 --- a/net/spdy/spdy_network_transaction_unittest.cc +++ b/net/spdy/spdy_network_transaction_unittest.cc
@@ -6130,13 +6130,11 @@ } struct PushHeaderTestParams { - std::vector<std::pair<base::StringPiece, base::StringPiece>> - extra_request_headers; - std::vector<std::pair<base::StringPiece, base::StringPiece>> - extra_pushed_request_headers; - std::vector<std::pair<base::StringPiece, base::StringPiece>> + std::vector<std::pair<std::string, std::string>> extra_request_headers; + std::vector<std::pair<std::string, std::string>> extra_pushed_request_headers; + std::vector<std::pair<std::string, std::string>> extra_pushed_response_headers; - base::StringPiece pushed_status_code; + std::string pushed_status_code; bool push_accepted; SpdyPushedStreamFate expected_fate; } push_header_test_cases[] = {
diff --git a/net/spdy/spdy_session.cc b/net/spdy/spdy_session.cc index 754e305..c197413 100644 --- a/net/spdy/spdy_session.cc +++ b/net/spdy/spdy_session.cc
@@ -17,6 +17,7 @@ #include "base/metrics/histogram_macros.h" #include "base/single_thread_task_runner.h" #include "base/stl_util.h" +#include "base/strings/abseil_string_conversions.h" #include "base/strings/string_number_conversions.h" #include "base/strings/string_split.h" #include "base/strings/string_util.h" @@ -132,7 +133,7 @@ spdy::SpdyHeaderBlock::iterator it = headers.find(kVary); if (it == headers.end()) return kNoVaryHeader; - base::StringPiece value(it->second); + base::StringPiece value = base::StringViewToStringPiece(it->second); if (value.empty()) return kVaryIsEmpty; if (value == kStar)
diff --git a/net/spdy/spdy_stream.cc b/net/spdy/spdy_stream.cc index 0d7f2140..1d92a0b0 100644 --- a/net/spdy/spdy_stream.cc +++ b/net/spdy/spdy_stream.cc
@@ -16,6 +16,7 @@ #include "base/metrics/histogram_macros.h" #include "base/notreached.h" #include "base/single_thread_task_runner.h" +#include "base/strings/abseil_string_conversions.h" #include "base/strings/string_number_conversions.h" #include "base/strings/stringprintf.h" #include "base/threading/thread_task_runner_handle.h" @@ -401,7 +402,8 @@ } int status; - if (!StringToInt(it->second, &status)) { + if (!base::StringToInt(base::StringViewToStringPiece(it->second), + &status)) { const std::string error("Cannot parse :status."); LogStreamError(ERR_HTTP2_PROTOCOL_ERROR, error); session_->ResetStream(stream_id_, ERR_HTTP2_PROTOCOL_ERROR, error);
diff --git a/net/spdy/spdy_stream_test_util.cc b/net/spdy/spdy_stream_test_util.cc index b830962..ac02356 100644 --- a/net/spdy/spdy_stream_test_util.cc +++ b/net/spdy/spdy_stream_test_util.cc
@@ -116,7 +116,7 @@ const std::string& name) const { spdy::SpdyHeaderBlock::const_iterator it = response_headers_.find(name); return (it == response_headers_.end()) ? std::string() - : it->second.as_string(); + : std::string(it->second); } const LoadTimingInfo& StreamDelegateBase::GetLoadTimingInfo() {
diff --git a/net/spdy/spdy_test_util_common.cc b/net/spdy/spdy_test_util_common.cc index 50329f01..07395292 100644 --- a/net/spdy/spdy_test_util_common.cc +++ b/net/spdy/spdy_test_util_common.cc
@@ -106,8 +106,8 @@ // Copy in the headers. for (int i = 0; i < extra_header_count; i++) { - base::StringPiece key(extra_headers[i * 2]); - base::StringPiece value(extra_headers[i * 2 + 1]); + absl::string_view key(extra_headers[i * 2]); + absl::string_view value(extra_headers[i * 2 + 1]); DCHECK(!key.empty()) << "Header key must not be empty."; headers->AppendValueOrAddHeader(key, value); } @@ -718,13 +718,14 @@ std::string reply_string; for (spdy::SpdyHeaderBlock::const_iterator it = headers.begin(); it != headers.end(); ++it) { - std::string key = it->first.as_string(); + auto key = std::string(it->first); // Remove leading colon from pseudo headers. if (key[0] == ':') key = key.substr(1); for (const std::string& value : - base::SplitString(it->second, base::StringPiece("\0", 1), - base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL)) { + base::SplitString(base::StringViewToStringPiece(it->second), + base::StringPiece("\0", 1), base::TRIM_WHITESPACE, + base::SPLIT_WANT_ALL)) { reply_string += key + ": " + value + "\n"; } } @@ -1032,7 +1033,7 @@ int stream_id, base::StringPiece data, bool fin) { - spdy::SpdyDataIR data_ir(stream_id, data); + spdy::SpdyDataIR data_ir(stream_id, base::StringPieceToStringView(data)); data_ir.set_fin(fin); return spdy::SpdySerializedFrame( headerless_spdy_framer_.SerializeData(data_ir)); @@ -1043,7 +1044,7 @@ base::StringPiece data, bool fin, int padding_length) { - spdy::SpdyDataIR data_ir(stream_id, data); + spdy::SpdyDataIR data_ir(stream_id, base::StringPieceToStringView(data)); data_ir.set_fin(fin); data_ir.set_padding_len(padding_length); return spdy::SpdySerializedFrame(
diff --git a/net/tools/quic/quic_http_proxy_backend_stream.cc b/net/tools/quic/quic_http_proxy_backend_stream.cc index 985c4c4b..9c535f6 100644 --- a/net/tools/quic/quic_http_proxy_backend_stream.cc +++ b/net/tools/quic/quic_http_proxy_backend_stream.cc
@@ -96,7 +96,7 @@ if (url.path().compare("/") == 0) { backend_spec.pop_back(); } - backend_spec.append(it->second.as_string()); + backend_spec.append(std::string(it->second)); } url_ = GURL(backend_spec.c_str()); @@ -110,7 +110,7 @@ std::string method = ""; it = incoming_request_headers->find(":method"); if (it != incoming_request_headers->end()) { - method.append(it->second.as_string()); + method.append(std::string(it->second)); } if (ValidateHttpMethod(method) != true) { LOG(INFO) << "Unknown Request Type received from QUIC client " << method; @@ -142,8 +142,8 @@ for (spdy::SpdyHeaderBlock::const_iterator it = incoming_request_headers->begin(); it != incoming_request_headers->end(); ++it) { - std::string key = it->first.as_string(); - std::string value = it->second.as_string(); + auto key = std::string(it->first); + auto value = std::string(it->second); // Ignore the spdy headers if (!key.empty() && key[0] != ':') { // Remove hop-by-hop headers
diff --git a/net/tools/quic/quic_http_proxy_backend_stream_test.cc b/net/tools/quic/quic_http_proxy_backend_stream_test.cc index 8c5db69..019def29 100644 --- a/net/tools/quic/quic_http_proxy_backend_stream_test.cc +++ b/net/tools/quic/quic_http_proxy_backend_stream_test.cc
@@ -62,7 +62,7 @@ if (it == header.end()) { return -1; } - const base::StringPiece status(it->second); + const base::StringPiece status = base::StringViewToStringPiece(it->second); if (status.size() != 3) { return -1; } @@ -401,7 +401,7 @@ auto responseLength = quic_response_headers.find("content-length"); uint64_t response_header_content_length = 0; if (responseLength != quic_response_headers.end()) { - base::StringToUint64(responseLength->second, + base::StringToUint64(base::StringViewToStringPiece(responseLength->second), &response_header_content_length); } EXPECT_EQ(rawBodyLength, response_header_content_length);
diff --git a/net/url_request/url_request_ftp_fuzzer.cc b/net/url_request/url_request_ftp_fuzzer.cc index 2877c814..e589091fb 100644 --- a/net/url_request/url_request_ftp_fuzzer.cc +++ b/net/url_request/url_request_ftp_fuzzer.cc
@@ -21,7 +21,7 @@ #include "net/url_request/ftp_protocol_handler.h" #include "net/url_request/url_request.h" #include "net/url_request/url_request_context.h" -#include "net/url_request/url_request_job_factory_impl.h" +#include "net/url_request/url_request_job_factory.h" #include "net/url_request/url_request_test_util.h" #include "url/gurl.h" @@ -67,7 +67,7 @@ true /* enable_caching */); url_request_context.set_host_resolver(host_resolver.get()); - net::URLRequestJobFactoryImpl job_factory; + net::URLRequestJobFactory job_factory; net::FtpAuthCache auth_cache; job_factory.SetProtocolHandler( "ftp", net::FtpProtocolHandler::CreateForTesting(
diff --git a/remoting/host/input_injector_x11.cc b/remoting/host/input_injector_x11.cc index 926e597..f019d26 100644 --- a/remoting/host/input_injector_x11.cc +++ b/remoting/host/input_injector_x11.cc
@@ -168,7 +168,6 @@ // X11 graphics context. x11::Connection connection_; Display* display_ = connection_.display(); - Window root_window_ = x11::None; // Number of buttons we support. // Left, Right, Middle, VScroll Up/Down, HScroll Left/Right, back, forward. @@ -243,12 +242,6 @@ task_runner_->PostTask(FROM_HERE, base::BindOnce(&Core::InitClipboard, this)); - root_window_ = XDefaultRootWindow(display_); - if (!root_window_) { - LOG(ERROR) << "Unable to get the root window"; - return false; - } - if (!IgnoreXServerGrabs(&connection_, true)) { LOG(ERROR) << "Server does not support XTest."; return false; @@ -393,7 +386,7 @@ auto mods = state->baseMods | state->latchedMods | state->lockedMods; KeySym keysym; if (state && XkbLookupKeySym(display_, keycode, static_cast<unsigned>(mods), - nullptr, &keysym) == x11::True) { + nullptr, &keysym)) { return keysym == XK_Caps_Lock || keysym == XK_Num_Lock; } else { return false;
diff --git a/remoting/host/linux/x_server_clipboard.cc b/remoting/host/linux/x_server_clipboard.cc index 4eb75711..b15dca6 100644 --- a/remoting/host/linux/x_server_clipboard.cc +++ b/remoting/host/linux/x_server_clipboard.cc
@@ -4,7 +4,11 @@ #include "remoting/host/linux/x_server_clipboard.h" +#include <limits> + #include "base/callback.h" +#include "base/memory/ref_counted_memory.h" +#include "base/memory/scoped_refptr.h" #include "base/stl_util.h" #include "remoting/base/constants.h" #include "remoting/base/logging.h" @@ -16,15 +20,7 @@ namespace remoting { -XServerClipboard::XServerClipboard() - : clipboard_window_(x11::None), - clipboard_atom_(x11::None), - large_selection_atom_(x11::None), - selection_string_atom_(x11::None), - targets_atom_(x11::None), - timestamp_atom_(x11::None), - utf8_string_atom_(x11::None), - large_selection_property_(x11::None) {} +XServerClipboard::XServerClipboard() = default; XServerClipboard::~XServerClipboard() = default; @@ -51,11 +47,14 @@ connection_->xfixes().QueryVersion( {x11::XFixes::major_version, x11::XFixes::minor_version}); - clipboard_window_ = - XCreateSimpleWindow(connection_->display(), - XDefaultRootWindow(connection_->display()), 0, 0, 1, - 1, // x, y, width, height - 0, 0, 0); + clipboard_window_ = connection_->GenerateId<x11::Window>(); + connection_->CreateWindow({ + .wid = clipboard_window_, + .parent = connection_->default_root(), + .width = 1, + .height = 1, + .override_redirect = x11::Bool32(true), + }); // TODO(lambroslambrou): Use ui::X11AtomCache for this, either by adding a // dependency on ui/ or by moving X11AtomCache to base/. @@ -64,19 +63,27 @@ "TIMESTAMP", "UTF8_STRING"}; static const int kNumAtomNames = base::size(kAtomNames); - Atom atoms[kNumAtomNames]; - if (XInternAtoms(connection_->display(), const_cast<char**>(kAtomNames), - kNumAtomNames, x11::False, atoms)) { - clipboard_atom_ = atoms[0]; - large_selection_atom_ = atoms[1]; - selection_string_atom_ = atoms[2]; - targets_atom_ = atoms[3]; - timestamp_atom_ = atoms[4]; - utf8_string_atom_ = atoms[5]; - static_assert(kNumAtomNames >= 6, "kAtomNames is too small"); - } else { - LOG(ERROR) << "XInternAtoms failed"; + x11::Future<x11::InternAtomReply> futures[kNumAtomNames]; + for (size_t i = 0; i < kNumAtomNames; i++) + futures[i] = connection_->InternAtom({false, kAtomNames[i]}); + connection_->Flush(); + x11::Atom atoms[kNumAtomNames]; + memset(atoms, 0, sizeof(atoms)); + for (size_t i = 0; i < kNumAtomNames; i++) { + if (auto reply = futures[i].Sync()) { + atoms[i] = reply->atom; + } else { + LOG(ERROR) << "Failed to intern atom(s)"; + break; + } } + clipboard_atom_ = atoms[0]; + large_selection_atom_ = atoms[1]; + selection_string_atom_ = atoms[2]; + targets_atom_ = atoms[3]; + timestamp_atom_ = atoms[4]; + utf8_string_atom_ = atoms[5]; + static_assert(kNumAtomNames >= 6, "kAtomNames is too small"); connection_->xfixes().SelectSelectionInput( {static_cast<x11::Window>(clipboard_window_), @@ -89,7 +96,7 @@ const std::string& data) { DCHECK(connection_->display()); - if (clipboard_window_ == x11::None) + if (clipboard_window_ == x11::Window::None) return; // Currently only UTF-8 is supported. @@ -102,13 +109,13 @@ data_ = data; - AssertSelectionOwnership(static_cast<uint32_t>(x11::Atom::PRIMARY)); + AssertSelectionOwnership(x11::Atom::PRIMARY); AssertSelectionOwnership(clipboard_atom_); } void XServerClipboard::ProcessXEvent(const x11::Event& event) { - if (clipboard_window_ == x11::None || - event.window() != static_cast<x11::Window>(clipboard_window_)) { + if (clipboard_window_ == x11::Window::None || + event.window() != clipboard_window_) { return; } @@ -123,14 +130,13 @@ if (auto* xfixes_selection_notify = event.As<x11::XFixes::SelectionNotifyEvent>()) { - OnSetSelectionOwnerNotify( - static_cast<uint32_t>(xfixes_selection_notify->selection), - static_cast<uint32_t>(xfixes_selection_notify->selection_timestamp)); + OnSetSelectionOwnerNotify(xfixes_selection_notify->selection, + xfixes_selection_notify->selection_timestamp); } } -void XServerClipboard::OnSetSelectionOwnerNotify(Atom selection, - Time timestamp) { +void XServerClipboard::OnSetSelectionOwnerNotify(x11::Atom selection, + x11::Time timestamp) { // Protect against receiving new XFixes selection notifications whilst we're // in the middle of waiting for information from the current selection owner. // A reasonable timeout allows for misbehaving apps that don't respond @@ -160,25 +166,25 @@ } void XServerClipboard::OnPropertyNotify(const x11::PropertyNotifyEvent& event) { - if (large_selection_property_ != x11::None && - event.atom == static_cast<x11::Atom>(large_selection_property_) && + if (large_selection_property_ != x11::Atom::None && + event.atom == large_selection_property_ && event.state == x11::Property::NewValue) { - Atom type; - int format; - unsigned long item_count, after; - unsigned char* data; - XGetWindowProperty(connection_->display(), clipboard_window_, - large_selection_property_, 0, ~0L, x11::True, - AnyPropertyType, &type, &format, &item_count, &after, - &data); - if (type != x11::None) { - // TODO(lambroslambrou): Properly support large transfers - - // http://crbug.com/151447. - XFree(data); + auto req = connection_->GetProperty({ + .c_delete = true, + .window = clipboard_window_, + .property = large_selection_property_, + .type = x11::Atom::Any, + .long_length = std::numeric_limits<uint32_t>::max(), + }); + if (auto reply = req.Sync()) { + if (reply->type != x11::Atom::None) { + // TODO(lambroslambrou): Properly support large transfers - + // http://crbug.com/151447. - // If the property is zero-length then the large transfer is complete. - if (item_count == 0) - large_selection_property_ = x11::None; + // If the property is zero-length then the large transfer is complete. + if (reply->value_len == 0) + large_selection_property_ = x11::Atom::None; + } } } } @@ -186,28 +192,29 @@ void XServerClipboard::OnSelectionNotify( const x11::SelectionNotifyEvent& event) { if (event.property != x11::Atom::None) { - Atom type; - int format; - unsigned long item_count, after; - unsigned char* data; - XGetWindowProperty(connection_->display(), clipboard_window_, - static_cast<uint32_t>(event.property), 0, ~0L, x11::True, - AnyPropertyType, &type, &format, &item_count, &after, - &data); - if (type == large_selection_atom_) { - // Large selection - just read and ignore these for now. - large_selection_property_ = static_cast<uint32_t>(event.property); - } else { - // Standard selection - call the selection notifier. - large_selection_property_ = x11::None; - if (type != x11::None) { - HandleSelectionNotify(event, type, format, item_count, data); - XFree(data); - return; + auto req = connection_->GetProperty({ + .c_delete = true, + .window = clipboard_window_, + .property = event.property, + .type = x11::Atom::Any, + .long_length = std::numeric_limits<uint32_t>::max(), + }); + if (auto reply = req.Sync()) { + if (reply->type == large_selection_atom_) { + // Large selection - just read and ignore these for now. + large_selection_property_ = event.property; + } else { + // Standard selection - call the selection notifier. + large_selection_property_ = x11::Atom::None; + if (reply->type != x11::Atom::None) { + HandleSelectionNotify(event, reply->type, reply->format, + reply->value_len, reply->value->data()); + return; + } } } } - HandleSelectionNotify(event, 0, 0, 0, nullptr); + HandleSelectionNotify(event, x11::Atom::None, 0, 0, nullptr); } void XServerClipboard::OnSelectionRequest( @@ -219,23 +226,21 @@ selection_event.target = event.target; auto property = event.property == x11::Atom::None ? event.target : event.property; - if (!IsSelectionOwner(static_cast<uint32_t>(selection_event.selection))) { + if (!IsSelectionOwner(selection_event.selection)) { selection_event.property = x11::Atom::None; } else { selection_event.property = property; if (selection_event.target == static_cast<x11::Atom>(targets_atom_)) { - SendTargetsResponse(static_cast<uint32_t>(selection_event.requestor), - static_cast<uint32_t>(selection_event.property)); + SendTargetsResponse(selection_event.requestor, selection_event.property); } else if (selection_event.target == static_cast<x11::Atom>(timestamp_atom_)) { - SendTimestampResponse(static_cast<uint32_t>(selection_event.requestor), - static_cast<uint32_t>(selection_event.property)); + SendTimestampResponse(selection_event.requestor, + selection_event.property); } else if (selection_event.target == static_cast<x11::Atom>(utf8_string_atom_) || selection_event.target == x11::Atom::STRING) { - SendStringResponse(static_cast<uint32_t>(selection_event.requestor), - static_cast<uint32_t>(selection_event.property), - static_cast<uint32_t>(selection_event.target)); + SendStringResponse(selection_event.requestor, selection_event.property, + selection_event.target); } } x11::SendEvent(selection_event, selection_event.requestor, @@ -243,22 +248,33 @@ } void XServerClipboard::OnSelectionClear(const x11::SelectionClearEvent& event) { - selections_owned_.erase(static_cast<uint32_t>(event.selection)); + selections_owned_.erase(event.selection); } -void XServerClipboard::SendTargetsResponse(Window requestor, Atom property) { +void XServerClipboard::SendTargetsResponse(x11::Window requestor, + x11::Atom property) { // Respond advertising x11::Atom::STRING, UTF8_STRING and TIMESTAMP data for // the selection. - Atom targets[3]; - targets[0] = timestamp_atom_; - targets[1] = utf8_string_atom_; - targets[2] = static_cast<uint32_t>(x11::Atom::STRING); - XChangeProperty(connection_->display(), requestor, property, - static_cast<uint32_t>(x11::Atom::ATOM), 32, PropModeReplace, - reinterpret_cast<unsigned char*>(targets), 3); + x11::Atom targets[3] = { + timestamp_atom_, + utf8_string_atom_, + x11::Atom::STRING, + }; + connection_->ChangeProperty({ + .mode = x11::PropMode::Replace, + .window = requestor, + .property = property, + .type = x11::Atom::ATOM, + .format = CHAR_BIT * sizeof(x11::Atom), + .data_len = base::size(targets), + .data = base::MakeRefCounted<base::RefCountedStaticMemory>( + &targets[0], sizeof(targets)), + }); + connection_->Flush(); } -void XServerClipboard::SendTimestampResponse(Window requestor, Atom property) { +void XServerClipboard::SendTimestampResponse(x11::Window requestor, + x11::Atom property) { // Respond with the timestamp of our selection; we always return // CurrentTime since our selections are set by remote clients, so there // is no associated local X event. @@ -266,40 +282,53 @@ // TODO(lambroslambrou): Should use a proper timestamp here instead of // CurrentTime. ICCCM recommends doing a zero-length property append, // and getting a timestamp from the subsequent PropertyNotify event. - Time time = x11::CurrentTime; - XChangeProperty(connection_->display(), requestor, property, - static_cast<uint32_t>(x11::Atom::INTEGER), 32, - PropModeReplace, reinterpret_cast<unsigned char*>(&time), 1); + x11::Time time = x11::Time::CurrentTime; + connection_->ChangeProperty({ + .mode = x11::PropMode::Replace, + .window = requestor, + .property = property, + .type = x11::Atom::INTEGER, + .format = CHAR_BIT * sizeof(x11::Time), + .data_len = 1, + .data = base::MakeRefCounted<base::RefCountedStaticMemory>(&time, + sizeof(time)), + }); + connection_->Flush(); } -void XServerClipboard::SendStringResponse(Window requestor, - Atom property, - Atom target) { +void XServerClipboard::SendStringResponse(x11::Window requestor, + x11::Atom property, + x11::Atom target) { if (!data_.empty()) { // Return the actual string data; we always return UTF8, regardless of // the configured locale. - XChangeProperty( - connection_->display(), requestor, property, target, 8, PropModeReplace, - reinterpret_cast<unsigned char*>(const_cast<char*>(data_.data())), - data_.size()); + connection_->ChangeProperty({ + .mode = x11::PropMode::Replace, + .window = requestor, + .property = property, + .type = target, + .format = 8, + .data_len = data_.size(), + .data = base::MakeRefCounted<base::RefCountedStaticMemory>( + data_.data(), data_.size()), + }); + connection_->Flush(); } } void XServerClipboard::HandleSelectionNotify( const x11::SelectionNotifyEvent& event, - Atom type, + x11::Atom type, int format, int item_count, - void* data) { + const void* data) { bool finished = false; - auto target = static_cast<uint32_t>(event.target); - if (target == targets_atom_) { + auto target = event.target; + if (target == targets_atom_) finished = HandleSelectionTargetsEvent(event, format, item_count, data); - } else if (target == utf8_string_atom_ || - target == static_cast<uint32_t>(x11::Atom::STRING)) { + else if (target == utf8_string_atom_ || target == x11::Atom::STRING) finished = HandleSelectionStringEvent(event, format, item_count, data); - } if (finished) get_selections_time_ = base::TimeTicks(); @@ -309,9 +338,9 @@ const x11::SelectionNotifyEvent& event, int format, int item_count, - void* data) { - auto selection = static_cast<uint32_t>(event.selection); - if (event.property == static_cast<x11::Atom>(targets_atom_)) { + const void* data) { + auto selection = event.selection; + if (event.property == targets_atom_) { if (data && format == 32) { // The XGetWindowProperty man-page specifies that the returned // property data will be an array of |long|s in the case where @@ -328,7 +357,7 @@ } } } - RequestSelectionString(selection, static_cast<uint32_t>(x11::Atom::STRING)); + RequestSelectionString(selection, x11::Atom::STRING); return false; } @@ -336,17 +365,16 @@ const x11::SelectionNotifyEvent& event, int format, int item_count, - void* data) { - auto property = static_cast<uint32_t>(event.property); - auto target = static_cast<uint32_t>(event.target); + const void* data) { + auto property = event.property; + auto target = event.target; if (property != selection_string_atom_ || !data || format != 8) return true; - std::string text(static_cast<char*>(data), item_count); + std::string text(static_cast<const char*>(data), item_count); - if (target == static_cast<uint32_t>(x11::Atom::STRING) || - target == utf8_string_atom_) + if (target == x11::Atom::STRING || target == utf8_string_atom_) NotifyClipboardText(text); return true; @@ -357,29 +385,33 @@ callback_.Run(kMimeTypeTextUtf8, data_); } -void XServerClipboard::RequestSelectionTargets(Atom selection) { - XConvertSelection(connection_->display(), selection, targets_atom_, - targets_atom_, clipboard_window_, x11::CurrentTime); +void XServerClipboard::RequestSelectionTargets(x11::Atom selection) { + connection_->ConvertSelection({clipboard_window_, selection, targets_atom_, + selection_string_atom_, + x11::Time::CurrentTime}); } -void XServerClipboard::RequestSelectionString(Atom selection, Atom target) { - XConvertSelection(connection_->display(), selection, target, - selection_string_atom_, clipboard_window_, - x11::CurrentTime); +void XServerClipboard::RequestSelectionString(x11::Atom selection, + x11::Atom target) { + connection_->ConvertSelection({clipboard_window_, selection, target, + selection_string_atom_, + x11::Time::CurrentTime}); } -void XServerClipboard::AssertSelectionOwnership(Atom selection) { - XSetSelectionOwner(connection_->display(), selection, clipboard_window_, - x11::CurrentTime); - if (XGetSelectionOwner(connection_->display(), selection) == - clipboard_window_) { +void XServerClipboard::AssertSelectionOwnership(x11::Atom selection) { + connection_->SetSelectionOwner( + {clipboard_window_, selection, x11::Time::CurrentTime}); + auto reply = connection_->GetSelectionOwner({selection}).Sync(); + auto owner = reply ? reply->owner : x11::Window::None; + if (owner == clipboard_window_) { selections_owned_.insert(selection); } else { - LOG(ERROR) << "XSetSelectionOwner failed for selection " << selection; + LOG(ERROR) << "XSetSelectionOwner failed for selection " + << static_cast<uint32_t>(selection); } } -bool XServerClipboard::IsSelectionOwner(Atom selection) { +bool XServerClipboard::IsSelectionOwner(x11::Atom selection) { return selections_owned_.find(selection) != selections_owned_.end(); }
diff --git a/remoting/host/linux/x_server_clipboard.h b/remoting/host/linux/x_server_clipboard.h index 01ff74a..fac7d68 100644 --- a/remoting/host/linux/x_server_clipboard.h +++ b/remoting/host/linux/x_server_clipboard.h
@@ -53,7 +53,7 @@ private: // Handlers called by ProcessXEvent() for each event type. - void OnSetSelectionOwnerNotify(Atom selection, Time timestamp); + void OnSetSelectionOwnerNotify(x11::Atom selection, x11::Time timestamp); void OnPropertyNotify(const x11::PropertyNotifyEvent& event); void OnSelectionNotify(const x11::SelectionNotifyEvent& event); void OnSelectionRequest(const x11::SelectionRequestEvent& event); @@ -63,9 +63,11 @@ // clipboard content. This is done by changing the property |property| of the // |requestor| window (these values come from the XSelectionRequestEvent). // |target| must be a string type (STRING or UTF8_STRING). - void SendTargetsResponse(Window requestor, Atom property); - void SendTimestampResponse(Window requestor, Atom property); - void SendStringResponse(Window requestor, Atom property, Atom target); + void SendTargetsResponse(x11::Window requestor, x11::Atom property); + void SendTimestampResponse(x11::Window requestor, x11::Atom property); + void SendStringResponse(x11::Window requestor, + x11::Atom property, + x11::Atom target); // Called by OnSelectionNotify() when the selection owner has replied to a // request for information about a selection. @@ -73,10 +75,10 @@ // |type|, |format| etc are the results from XGetWindowProperty(), or 0 if // there is no associated data. void HandleSelectionNotify(const x11::SelectionNotifyEvent& event, - Atom type, + x11::Atom type, int format, int item_count, - void* data); + const void* data); // These methods return true if selection processing is complete, false // otherwise. They are called from HandleSelectionNotify(), and take the same @@ -84,42 +86,42 @@ bool HandleSelectionTargetsEvent(const x11::SelectionNotifyEvent& event, int format, int item_count, - void* data); + const void* data); bool HandleSelectionStringEvent(const x11::SelectionNotifyEvent& event, int format, int item_count, - void* data); + const void* data); // Notify the registered callback of new clipboard text. void NotifyClipboardText(const std::string& text); // These methods trigger the X server or selection owner to send back an // event containing the requested information. - void RequestSelectionTargets(Atom selection); - void RequestSelectionString(Atom selection, Atom target); + void RequestSelectionTargets(x11::Atom selection); + void RequestSelectionString(x11::Atom selection, x11::Atom target); // Assert ownership of the specified |selection|. - void AssertSelectionOwnership(Atom selection); - bool IsSelectionOwner(Atom selection); + void AssertSelectionOwnership(x11::Atom selection); + bool IsSelectionOwner(x11::Atom selection); // Stores the connection supplied to Init(). x11::Connection* connection_ = nullptr; // Window through which clipboard events are received, or BadValue if the // window could not be created. - Window clipboard_window_; + x11::Window clipboard_window_ = x11::Window::None; // Cached atoms for various strings, initialized during Init(). - Atom clipboard_atom_; - Atom large_selection_atom_; - Atom selection_string_atom_; - Atom targets_atom_; - Atom timestamp_atom_; - Atom utf8_string_atom_; + x11::Atom clipboard_atom_ = x11::Atom::None; + x11::Atom large_selection_atom_ = x11::Atom::None; + x11::Atom selection_string_atom_ = x11::Atom::None; + x11::Atom targets_atom_ = x11::Atom::None; + x11::Atom timestamp_atom_ = x11::Atom::None; + x11::Atom utf8_string_atom_ = x11::Atom::None; // The set of X selections owned by |clipboard_window_| (can be Primary or // Clipboard or both). - std::set<Atom> selections_owned_; + std::set<x11::Atom> selections_owned_; // Clipboard content to return to other applications when |clipboard_window_| // owns a selection. @@ -127,7 +129,7 @@ // Stores the property to use for large transfers, or None if a large // transfer is not currently in-progress. - Atom large_selection_property_; + x11::Atom large_selection_property_ = x11::Atom::None; // Remembers the start time of selection processing, and is set to null when // processing is complete. This is used to decide whether to begin processing
diff --git a/sandbox/policy/linux/bpf_gpu_policy_linux.cc b/sandbox/policy/linux/bpf_gpu_policy_linux.cc index 9e40ea7..1279897 100644 --- a/sandbox/policy/linux/bpf_gpu_policy_linux.cc +++ b/sandbox/policy/linux/bpf_gpu_policy_linux.cc
@@ -23,6 +23,7 @@ #include "sandbox/policy/linux/sandbox_seccomp_bpf_linux.h" using sandbox::bpf_dsl::Allow; +using sandbox::bpf_dsl::Arg; using sandbox::bpf_dsl::Error; using sandbox::bpf_dsl::ResultExpr; using sandbox::bpf_dsl::Trap; @@ -42,7 +43,21 @@ return Error(ENOSYS); #if !defined(OS_CHROMEOS) case __NR_fallocate: + return Allow(); #endif // defined(OS_CHROMEOS) + case __NR_fcntl: { + // The Nvidia driver uses flags not in the baseline policy + // fcntl(fd, F_ADD_SEALS, F_SEAL_SEAL | F_SEAL_SHRINK | F_SEAL_GROW) + // https://crbug.com/1128175 + const Arg<int> cmd(1); + const Arg<long> long_arg(2); + + const uint64_t kAllowedMask = F_SEAL_SEAL | F_SEAL_SHRINK | F_SEAL_GROW; + if (cmd == F_ADD_SEALS && (long_arg & ~kAllowedMask) == 0) + return Allow(); + + break; + } case __NR_ftruncate: #if defined(__i386__) || defined(__arm__) || \ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) @@ -59,6 +74,7 @@ // The Nvidia driver uses flags not in the baseline policy // (MAP_LOCKED | MAP_EXECUTABLE | MAP_32BIT) case __NR_mmap: + return Allow(); #endif // We also hit this on the linux_chromeos bot but don't yet know what // weird flags were involved. @@ -74,22 +90,23 @@ case __NR_prlimit64: return RestrictPrlimit64(GetPolicyPid()); default: - if (SyscallSets::IsEventFd(sysno)) - return Allow(); + break; + } + if (SyscallSets::IsEventFd(sysno)) + return Allow(); #if defined(OS_LINUX) && !defined(OS_CHROMEOS) && defined(USE_X11) - if (SyscallSets::IsSystemVSharedMemory(sysno)) - return Allow(); + if (SyscallSets::IsSystemVSharedMemory(sysno)) + return Allow(); #endif - auto* broker_process = SandboxLinux::GetInstance()->broker_process(); - if (broker_process->IsSyscallAllowed(sysno)) { - return Trap(BrokerProcess::SIGSYS_Handler, broker_process); - } - - // Default on the baseline policy. - return BPFBasePolicy::EvaluateSyscall(sysno); + auto* broker_process = SandboxLinux::GetInstance()->broker_process(); + if (broker_process->IsSyscallAllowed(sysno)) { + return Trap(BrokerProcess::SIGSYS_Handler, broker_process); } + + // Default on the baseline policy. + return BPFBasePolicy::EvaluateSyscall(sysno); } } // namespace policy
diff --git a/services/network/public/mojom/url_loader.mojom b/services/network/public/mojom/url_loader.mojom index eaf364de..e0e694a4 100644 --- a/services/network/public/mojom/url_loader.mojom +++ b/services/network/public/mojom/url_loader.mojom
@@ -423,7 +423,7 @@ mojo_base.mojom.File? file; // For kBlob // TODO(richard.li): Deprecate this once NetworkService is fully shipped. - string? blob_uuid; + string blob_uuid; // For kDataPipe pending_remote<network.mojom.DataPipeGetter>? data_pipe_getter; // For kChunkedDataPipe
diff --git a/services/viz/public/cpp/compositing/compositor_render_pass_mojom_traits.cc b/services/viz/public/cpp/compositing/compositor_render_pass_mojom_traits.cc index b13e59f..4f939e7 100644 --- a/services/viz/public/cpp/compositing/compositor_render_pass_mojom_traits.cc +++ b/services/viz/public/cpp/compositing/compositor_render_pass_mojom_traits.cc
@@ -7,6 +7,7 @@ #include "base/numerics/safe_conversions.h" #include "components/viz/common/quads/compositor_render_pass.h" #include "services/viz/public/cpp/compositing/compositor_render_pass_id_mojom_traits.h" +#include "services/viz/public/cpp/compositing/shared_quad_state_mojom_traits.h" #include "services/viz/public/cpp/crash_keys.h" #include "ui/gfx/mojom/display_color_spaces_mojom_traits.h" @@ -60,11 +61,13 @@ // Read the SharedQuadState. viz::mojom::SharedQuadStateDataView sqs_data_view; quad_data_view.GetSqsDataView(&sqs_data_view); - // If there is no seralized SharedQuadState then used the last deseriaized + // If there is no serialized SharedQuadState then use the last deserialized // one. if (!sqs_data_view.is_null()) { + using SqsTraits = StructTraits<viz::mojom::SharedQuadStateDataView, + viz::SharedQuadState>; last_sqs = (*out)->CreateAndAppendSharedQuadState(); - if (!quad_data_view.ReadSqs(last_sqs)) + if (!SqsTraits::Read(sqs_data_view, last_sqs)) return false; } quad->shared_quad_state = last_sqs;
diff --git a/services/viz/public/cpp/compositing/filter_operation_mojom_traits.h b/services/viz/public/cpp/compositing/filter_operation_mojom_traits.h index cf5fb22..d512c9257 100644 --- a/services/viz/public/cpp/compositing/filter_operation_mojom_traits.h +++ b/services/viz/public/cpp/compositing/filter_operation_mojom_traits.h
@@ -197,13 +197,14 @@ return true; } case cc::FilterOperation::COLOR_MATRIX: { - // TODO(fsamuel): It would be nice to modify cc::FilterOperation to - // avoid this extra copy. - cc::FilterOperation::Matrix matrix_buffer = {}; - base::span<float> matrix(matrix_buffer); - if (!data.ReadMatrix(&matrix)) - return false; - out->set_matrix(matrix_buffer); + mojo::ArrayDataView<float> matrix; + data.GetMatrixDataView(&matrix); + if (!matrix.is_null()) { + // Guaranteed by prior validation of the FilterOperation struct + // because this array specifies a fixed size in the mojom. + DCHECK_EQ(matrix.size(), 20u); + out->set_matrix(base::make_span<20>(matrix)); + } return true; } case cc::FilterOperation::ZOOM: {
diff --git a/skia/config/SkUserConfig.h b/skia/config/SkUserConfig.h index a2a56f4..4899e91 100644 --- a/skia/config/SkUserConfig.h +++ b/skia/config/SkUserConfig.h
@@ -231,6 +231,9 @@ // Staging for Skia requiring GrDirectContext in SkImage::readPixels. #define SK_IMAGE_READ_PIXELS_LEGACY_API +// Staging for Skia using a simpler clip stack implementation on GPU backends. +#define SK_DISABLE_NEW_GR_CLIP_STACK + ///////////////////////// Imported from BUILD.gn and skia_common.gypi /* In some places Skia can use static initializers for global initialization,
diff --git a/testing/buildbot/chromium.android.json b/testing/buildbot/chromium.android.json index 34cb421..12328a57 100644 --- a/testing/buildbot/chromium.android.json +++ b/testing/buildbot/chromium.android.json
@@ -34616,7 +34616,7 @@ } ], "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com", - "shards": 10 + "shards": 15 }, "test": "content_browsertests", "test_id_prefix": "ninja://content/test:content_browsertests/" @@ -34679,7 +34679,7 @@ } ], "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com", - "shards": 20 + "shards": 15 }, "test": "webview_instrumentation_test_apk", "test_id_prefix": "ninja://android_webview/test:webview_instrumentation_test_apk/" @@ -38851,65 +38851,24 @@ { "args": [ "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "absl_hardening_tests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "absl_hardening_tests", - "test_id_prefix": "ninja://third_party/abseil-cpp:absl_hardening_tests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", "--recover-devices", - "--gtest_filter=-ImportantSitesUtilBrowserTest.DSENotConsideredImportantInRegularMode" + "--git-revision=${got_revision}", + "--test-launcher-filter-file=../../testing/buildbot/filters/android.pie_arm64_rel.chrome_public_test_apk.filter" ], "merge": { "args": [ "--bucket", "chromium-result-details", "--test-name", - "android_browsertests" + "chrome_public_test_apk" ], "script": "//build/android/pylib/results/presentation/test_results_presentation.py" }, + "precommit_args": [ + "--gerrit-issue=${patch_issue}", + "--gerrit-patchset=${patch_set}", + "--buildbucket-id=${buildbucket_build_id}" + ], "swarming": { "can_use_on_swarming_builders": true, "cipd_packages": [ @@ -38924,7 +38883,7 @@ "device_os": "PQ3A.190801.002", "device_os_flavor": "google", "device_os_type": "userdebug", - "device_type": "walleye", + "device_type": "sailfish", "os": "Android" } ], @@ -38938,2047 +38897,11 @@ "name": "shard #${SHARD_INDEX} logcats" } ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" + "service_account": "chrome-gold@chops-service-accounts.iam.gserviceaccount.com", + "shards": 20 }, - "test": "android_browsertests", - "test_id_prefix": "ninja://chrome/test:android_browsertests/" - }, - { - "args": [ - "--test-launcher-batch-limit=1", - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "experiment_percentage": 100, - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "android_sync_integration_tests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "android_sync_integration_tests", - "test_id_prefix": "ninja://chrome/test:android_sync_integration_tests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "android_webview_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "android_webview_unittests", - "test_id_prefix": "ninja://android_webview/test:android_webview_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "angle_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "angle_unittests", - "test_id_prefix": "ninja://third_party/angle/src/tests:angle_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "base_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "base_unittests", - "test_id_prefix": "ninja://base:base_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "base_util_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "base_util_unittests", - "test_id_prefix": "ninja://base/util:base_util_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "blink_common_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "blink_common_unittests", - "test_id_prefix": "ninja://third_party/blink/common:blink_common_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "blink_heap_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "blink_heap_unittests", - "test_id_prefix": "ninja://third_party/blink/renderer/platform/heap:blink_heap_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "blink_platform_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "blink_platform_unittests", - "test_id_prefix": "ninja://third_party/blink/renderer/platform:blink_platform_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "webkit_unit_tests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "name": "webkit_unit_tests", - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com", - "shards": 4 - }, - "test": "blink_unittests", - "test_id_prefix": "ninja://third_party/blink/renderer/controller:blink_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "boringssl_crypto_tests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "boringssl_crypto_tests", - "test_id_prefix": "ninja://third_party/boringssl:boringssl_crypto_tests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "boringssl_ssl_tests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "boringssl_ssl_tests", - "test_id_prefix": "ninja://third_party/boringssl:boringssl_ssl_tests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "breakpad_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "breakpad_unittests", - "test_id_prefix": "ninja://third_party/breakpad:breakpad_unittests/" - }, - { - "args": [ - "--gtest_filter=-*UsingRealWebcam*", - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "capture_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "capture_unittests", - "test_id_prefix": "ninja://media/capture:capture_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "cast_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "cast_unittests", - "test_id_prefix": "ninja://media/cast:cast_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "cc_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "cc_unittests", - "test_id_prefix": "ninja://cc:cc_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "chrome_public_smoke_test" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "chrome_public_smoke_test", - "test_id_prefix": "ninja://chrome/android:chrome_public_smoke_test/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "components_browsertests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "components_browsertests", - "test_id_prefix": "ninja://components:components_browsertests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "components_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com", - "shards": 4 - }, - "test": "components_unittests", - "test_id_prefix": "ninja://components:components_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "content_browsertests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com", - "shards": 9 - }, - "test": "content_browsertests", - "test_id_prefix": "ninja://content/test:content_browsertests/" - }, - { - "args": [ - "--disable-features=UseSkiaRenderer", - "--test-launcher-filter-file=../../testing/buildbot/filters/skia_renderer.content_browsertests.filter", - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "non_skia_renderer_content_browsertests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "name": "non_skia_renderer_content_browsertests", - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "content_browsertests", - "test_id_prefix": "ninja://content/test:content_browsertests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "content_shell_test_apk" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com", - "shards": 3 - }, - "test": "content_shell_test_apk", - "test_id_prefix": "ninja://content/shell/android:content_shell_test_apk/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "content_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com", - "shards": 3 - }, - "test": "content_unittests", - "test_id_prefix": "ninja://content/test:content_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "crypto_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "crypto_unittests", - "test_id_prefix": "ninja://crypto:crypto_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "device_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "device_unittests", - "test_id_prefix": "ninja://device:device_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "display_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "display_unittests", - "test_id_prefix": "ninja://ui/display:display_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "events_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "events_unittests", - "test_id_prefix": "ninja://ui/events:events_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "gcm_unit_tests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "gcm_unit_tests", - "test_id_prefix": "ninja://google_apis/gcm:gcm_unit_tests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "gfx_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "gfx_unittests", - "test_id_prefix": "ninja://ui/gfx:gfx_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "gin_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "gin_unittests", - "test_id_prefix": "ninja://gin:gin_unittests/" - }, - { - "args": [ - "--use-cmd-decoder=validating", - "--gs-results-bucket=chromium-result-details", - "--recover-devices", - "--test-launcher-filter-file=../../testing/buildbot/filters/android.pie_arm64_rel.gl_tests.filter" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "gl_tests_validating" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "name": "gl_tests_validating", - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "gl_tests", - "test_id_prefix": "ninja://gpu:gl_tests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "gl_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "gl_unittests", - "test_id_prefix": "ninja://ui/gl:gl_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "google_apis_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "google_apis_unittests", - "test_id_prefix": "ninja://google_apis:google_apis_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "gpu_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "gpu_unittests", - "test_id_prefix": "ninja://gpu:gpu_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "gwp_asan_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "gwp_asan_unittests", - "test_id_prefix": "ninja://components/gwp_asan:gwp_asan_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "ipc_tests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "ipc_tests", - "test_id_prefix": "ninja://ipc:ipc_tests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "jingle_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "jingle_unittests", - "test_id_prefix": "ninja://jingle:jingle_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "latency_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "latency_unittests", - "test_id_prefix": "ninja://ui/latency:latency_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "libjingle_xmpp_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "libjingle_xmpp_unittests", - "test_id_prefix": "ninja://third_party/libjingle_xmpp:libjingle_xmpp_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "media_blink_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "media_blink_unittests", - "test_id_prefix": "ninja://media/blink:media_blink_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices", - "--gtest_filter=-AAudio/AudioOutputTest.Play200HzTone/0" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "media_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "media_unittests", - "test_id_prefix": "ninja://media:media_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "midi_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "midi_unittests", - "test_id_prefix": "ninja://media/midi:midi_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "mojo_test_apk" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "mojo_test_apk", - "test_id_prefix": "ninja://mojo/public/java/system:mojo_test_apk/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "mojo_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "mojo_unittests", - "test_id_prefix": "ninja://mojo:mojo_unittests/" + "test": "chrome_public_test_apk", + "test_id_prefix": "ninja://chrome/android:chrome_public_test_apk/" }, { "args": [ @@ -41131,853 +39054,6 @@ "--bucket", "chromium-result-details", "--test-name", - "net_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com", - "shards": 3 - }, - "test": "net_unittests", - "test_id_prefix": "ninja://net:net_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "sandbox_linux_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "sandbox_linux_unittests", - "test_id_prefix": "ninja://sandbox/linux:sandbox_linux_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "services_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "services_unittests", - "test_id_prefix": "ninja://services:services_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "shell_dialogs_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "shell_dialogs_unittests", - "test_id_prefix": "ninja://ui/shell_dialogs:shell_dialogs_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "skia_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "skia_unittests", - "test_id_prefix": "ninja://skia:skia_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "sql_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "sql_unittests", - "test_id_prefix": "ninja://sql:sql_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "storage_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "storage_unittests", - "test_id_prefix": "ninja://storage:storage_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "system_webview_shell_layout_test_apk" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "system_webview_shell_layout_test_apk", - "test_id_prefix": "ninja://android_webview/tools/system_webview_shell:system_webview_shell_layout_test_apk/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "ui_android_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "ui_android_unittests", - "test_id_prefix": "ninja://ui/android:ui_android_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "ui_base_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "ui_base_unittests", - "test_id_prefix": "ninja://ui/base:ui_base_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "ui_touch_selection_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "ui_touch_selection_unittests", - "test_id_prefix": "ninja://ui/touch_selection:ui_touch_selection_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "url_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "url_unittests", - "test_id_prefix": "ninja://url:url_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "viz_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "viz_unittests", - "test_id_prefix": "ninja://components/viz:viz_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "vr_android_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "vr_android_unittests", - "test_id_prefix": "ninja://chrome/browser/android/vr:vr_android_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "vr_common_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "vr_common_unittests", - "test_id_prefix": "ninja://chrome/browser/vr:vr_common_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "vr_pixeltests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "vr_pixeltests", - "test_id_prefix": "ninja://chrome/browser/vr:vr_pixeltests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "weblayer_browsertests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "weblayer_browsertests", - "test_id_prefix": "ninja://weblayer/test:weblayer_browsertests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "weblayer_bundle_test" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "weblayer_bundle_test", - "test_id_prefix": "ninja://weblayer/browser/android/javatests:weblayer_bundle_test/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", "weblayer_instrumentation_test_apk" ], "script": "//build/android/pylib/results/presentation/test_results_presentation.py" @@ -42025,153 +39101,6 @@ "--bucket", "chromium-result-details", "--test-name", - "weblayer_private_instrumentation_test_apk" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "weblayer_private_instrumentation_test_apk", - "test_id_prefix": "ninja://weblayer/browser/android/javatests:weblayer_private_instrumentation_test_apk/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "weblayer_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "weblayer_unittests", - "test_id_prefix": "ninja://weblayer/test:weblayer_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "webview_cts_tests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "chromium/android_webview/tools/cts_archive", - "location": "android_webview/tools/cts_archive", - "revision": "ai8Ig4HlO0vG6aP_JP2uhyruE2yPzze8PFP1g8Z4_hgC" - }, - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com", - "shards": 2 - }, - "test": "webview_cts_tests", - "test_id_prefix": "ninja://android_webview/test:webview_cts_tests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", "webview_instrumentation_test_apk" ], "script": "//build/android/pylib/results/presentation/test_results_presentation.py" @@ -42209,272 +39138,6 @@ }, "test": "webview_instrumentation_test_apk", "test_id_prefix": "ninja://android_webview/test:webview_instrumentation_test_apk/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "webview_ui_test_app_test_apk" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "webview_ui_test_app_test_apk", - "test_id_prefix": "ninja://android_webview/tools/automated_ui_tests:webview_ui_test_app_test_apk/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "wtf_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "wtf_unittests", - "test_id_prefix": "ninja://third_party/blink/renderer/platform/wtf:wtf_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "zlib_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "zlib_unittests", - "test_id_prefix": "ninja://third_party/zlib:zlib_unittests/" - } - ], - "isolated_scripts": [ - { - "args": [ - "--gtest-benchmark-name=components_perftests" - ], - "isolate_name": "components_perftests", - "merge": { - "args": [ - "--smoke-test-mode" - ], - "script": "//tools/perf/process_perf_results.py" - }, - "name": "components_perftests", - "swarming": { - "can_use_on_swarming_builders": true, - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test_id_prefix": "ninja://components:components_perftests/" - }, - { - "args": [ - "--platform=android" - ], - "isolate_name": "content_shell_crash_test", - "merge": { - "args": [], - "script": "//testing/merge_scripts/standard_isolated_script_merge.py" - }, - "name": "content_shell_crash_test", - "swarming": { - "can_use_on_swarming_builders": true, - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test_id_prefix": "ninja://content/shell:content_shell_crash_test/" - }, - { - "isolate_name": "monochrome_apk_checker", - "merge": { - "args": [], - "script": "//testing/merge_scripts/standard_isolated_script_merge.py" - }, - "name": "monochrome_apk_checker", - "swarming": { - "can_use_on_swarming_builders": true, - "dimension_sets": [ - { - "cpu": "x86-64", - "os": "Ubuntu-16.04" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test_id_prefix": "ninja://chrome/android/monochrome:monochrome_apk_checker/" - }, - { - "args": [ - "BrowserMinidumpTest", - "--browser=android-chromium" - ], - "isolate_name": "telemetry_perf_unittests", - "merge": { - "args": [], - "script": "//testing/merge_scripts/standard_isolated_script_merge.py" - }, - "name": "telemetry_chromium_minidump_unittests", - "swarming": { - "can_use_on_swarming_builders": true, - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test_id_prefix": "ninja://chrome/test:telemetry_perf_unittests/" - }, - { - "args": [ - "BrowserMinidumpTest", - "--browser=android-chromium-monochrome" - ], - "isolate_name": "telemetry_perf_unittests", - "merge": { - "args": [], - "script": "//testing/merge_scripts/standard_isolated_script_merge.py" - }, - "name": "telemetry_monochrome_minidump_unittests", - "swarming": { - "can_use_on_swarming_builders": true, - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test_id_prefix": "ninja://chrome/test:telemetry_perf_unittests/" } ] }, @@ -43844,7 +40507,7 @@ } ], "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com", - "shards": 9 + "shards": 15 }, "test": "content_browsertests", "test_id_prefix": "ninja://content/test:content_browsertests/" @@ -43907,7 +40570,7 @@ } ], "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com", - "shards": 10 + "shards": 15 }, "test": "content_browsertests", "test_id_prefix": "ninja://content/test:content_browsertests/" @@ -46827,7 +43490,7 @@ } ], "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com", - "shards": 20 + "shards": 15 }, "test": "webview_instrumentation_test_apk", "test_id_prefix": "ninja://android_webview/test:webview_instrumentation_test_apk/"
diff --git a/testing/buildbot/chromium.ci.json b/testing/buildbot/chromium.ci.json index 8a412a9..9a3a3e2 100644 --- a/testing/buildbot/chromium.ci.json +++ b/testing/buildbot/chromium.ci.json
@@ -189295,7 +189295,7 @@ } ], "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com", - "shards": 10 + "shards": 15 }, "test": "content_browsertests", "test_id_prefix": "ninja://content/test:content_browsertests/" @@ -189358,7 +189358,7 @@ } ], "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com", - "shards": 20 + "shards": 15 }, "test": "webview_instrumentation_test_apk", "test_id_prefix": "ninja://android_webview/test:webview_instrumentation_test_apk/" @@ -193790,65 +193790,24 @@ { "args": [ "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "absl_hardening_tests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "absl_hardening_tests", - "test_id_prefix": "ninja://third_party/abseil-cpp:absl_hardening_tests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", "--recover-devices", - "--gtest_filter=-ImportantSitesUtilBrowserTest.DSENotConsideredImportantInRegularMode" + "--git-revision=${got_revision}", + "--test-launcher-filter-file=../../testing/buildbot/filters/android.pie_arm64_rel.chrome_public_test_apk.filter" ], "merge": { "args": [ "--bucket", "chromium-result-details", "--test-name", - "android_browsertests" + "chrome_public_test_apk" ], "script": "//build/android/pylib/results/presentation/test_results_presentation.py" }, + "precommit_args": [ + "--gerrit-issue=${patch_issue}", + "--gerrit-patchset=${patch_set}", + "--buildbucket-id=${buildbucket_build_id}" + ], "swarming": { "can_use_on_swarming_builders": true, "cipd_packages": [ @@ -193863,7 +193822,7 @@ "device_os": "PQ3A.190801.002", "device_os_flavor": "google", "device_os_type": "userdebug", - "device_type": "walleye", + "device_type": "sailfish", "os": "Android" } ], @@ -193877,2047 +193836,11 @@ "name": "shard #${SHARD_INDEX} logcats" } ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" + "service_account": "chrome-gold@chops-service-accounts.iam.gserviceaccount.com", + "shards": 20 }, - "test": "android_browsertests", - "test_id_prefix": "ninja://chrome/test:android_browsertests/" - }, - { - "args": [ - "--test-launcher-batch-limit=1", - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "experiment_percentage": 100, - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "android_sync_integration_tests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "android_sync_integration_tests", - "test_id_prefix": "ninja://chrome/test:android_sync_integration_tests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "android_webview_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "android_webview_unittests", - "test_id_prefix": "ninja://android_webview/test:android_webview_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "angle_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "angle_unittests", - "test_id_prefix": "ninja://third_party/angle/src/tests:angle_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "base_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "base_unittests", - "test_id_prefix": "ninja://base:base_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "base_util_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "base_util_unittests", - "test_id_prefix": "ninja://base/util:base_util_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "blink_common_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "blink_common_unittests", - "test_id_prefix": "ninja://third_party/blink/common:blink_common_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "blink_heap_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "blink_heap_unittests", - "test_id_prefix": "ninja://third_party/blink/renderer/platform/heap:blink_heap_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "blink_platform_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "blink_platform_unittests", - "test_id_prefix": "ninja://third_party/blink/renderer/platform:blink_platform_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "webkit_unit_tests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "name": "webkit_unit_tests", - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com", - "shards": 4 - }, - "test": "blink_unittests", - "test_id_prefix": "ninja://third_party/blink/renderer/controller:blink_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "boringssl_crypto_tests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "boringssl_crypto_tests", - "test_id_prefix": "ninja://third_party/boringssl:boringssl_crypto_tests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "boringssl_ssl_tests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "boringssl_ssl_tests", - "test_id_prefix": "ninja://third_party/boringssl:boringssl_ssl_tests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "breakpad_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "breakpad_unittests", - "test_id_prefix": "ninja://third_party/breakpad:breakpad_unittests/" - }, - { - "args": [ - "--gtest_filter=-*UsingRealWebcam*", - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "capture_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "capture_unittests", - "test_id_prefix": "ninja://media/capture:capture_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "cast_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "cast_unittests", - "test_id_prefix": "ninja://media/cast:cast_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "cc_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "cc_unittests", - "test_id_prefix": "ninja://cc:cc_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "chrome_public_smoke_test" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "chrome_public_smoke_test", - "test_id_prefix": "ninja://chrome/android:chrome_public_smoke_test/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "components_browsertests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "components_browsertests", - "test_id_prefix": "ninja://components:components_browsertests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "components_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com", - "shards": 4 - }, - "test": "components_unittests", - "test_id_prefix": "ninja://components:components_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "content_browsertests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com", - "shards": 9 - }, - "test": "content_browsertests", - "test_id_prefix": "ninja://content/test:content_browsertests/" - }, - { - "args": [ - "--disable-features=UseSkiaRenderer", - "--test-launcher-filter-file=../../testing/buildbot/filters/skia_renderer.content_browsertests.filter", - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "non_skia_renderer_content_browsertests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "name": "non_skia_renderer_content_browsertests", - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "content_browsertests", - "test_id_prefix": "ninja://content/test:content_browsertests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "content_shell_test_apk" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com", - "shards": 3 - }, - "test": "content_shell_test_apk", - "test_id_prefix": "ninja://content/shell/android:content_shell_test_apk/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "content_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com", - "shards": 3 - }, - "test": "content_unittests", - "test_id_prefix": "ninja://content/test:content_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "crypto_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "crypto_unittests", - "test_id_prefix": "ninja://crypto:crypto_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "device_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "device_unittests", - "test_id_prefix": "ninja://device:device_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "display_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "display_unittests", - "test_id_prefix": "ninja://ui/display:display_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "events_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "events_unittests", - "test_id_prefix": "ninja://ui/events:events_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "gcm_unit_tests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "gcm_unit_tests", - "test_id_prefix": "ninja://google_apis/gcm:gcm_unit_tests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "gfx_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "gfx_unittests", - "test_id_prefix": "ninja://ui/gfx:gfx_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "gin_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "gin_unittests", - "test_id_prefix": "ninja://gin:gin_unittests/" - }, - { - "args": [ - "--use-cmd-decoder=validating", - "--gs-results-bucket=chromium-result-details", - "--recover-devices", - "--test-launcher-filter-file=../../testing/buildbot/filters/android.pie_arm64_rel.gl_tests.filter" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "gl_tests_validating" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "name": "gl_tests_validating", - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "gl_tests", - "test_id_prefix": "ninja://gpu:gl_tests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "gl_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "gl_unittests", - "test_id_prefix": "ninja://ui/gl:gl_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "google_apis_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "google_apis_unittests", - "test_id_prefix": "ninja://google_apis:google_apis_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "gpu_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "gpu_unittests", - "test_id_prefix": "ninja://gpu:gpu_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "gwp_asan_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "gwp_asan_unittests", - "test_id_prefix": "ninja://components/gwp_asan:gwp_asan_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "ipc_tests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "ipc_tests", - "test_id_prefix": "ninja://ipc:ipc_tests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "jingle_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "jingle_unittests", - "test_id_prefix": "ninja://jingle:jingle_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "latency_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "latency_unittests", - "test_id_prefix": "ninja://ui/latency:latency_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "libjingle_xmpp_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "libjingle_xmpp_unittests", - "test_id_prefix": "ninja://third_party/libjingle_xmpp:libjingle_xmpp_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "media_blink_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "media_blink_unittests", - "test_id_prefix": "ninja://media/blink:media_blink_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices", - "--gtest_filter=-AAudio/AudioOutputTest.Play200HzTone/0" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "media_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "media_unittests", - "test_id_prefix": "ninja://media:media_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "midi_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "midi_unittests", - "test_id_prefix": "ninja://media/midi:midi_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "mojo_test_apk" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "mojo_test_apk", - "test_id_prefix": "ninja://mojo/public/java/system:mojo_test_apk/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "mojo_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "mojo_unittests", - "test_id_prefix": "ninja://mojo:mojo_unittests/" + "test": "chrome_public_test_apk", + "test_id_prefix": "ninja://chrome/android:chrome_public_test_apk/" }, { "args": [ @@ -196070,853 +193993,6 @@ "--bucket", "chromium-result-details", "--test-name", - "net_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com", - "shards": 3 - }, - "test": "net_unittests", - "test_id_prefix": "ninja://net:net_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "sandbox_linux_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "sandbox_linux_unittests", - "test_id_prefix": "ninja://sandbox/linux:sandbox_linux_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "services_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "services_unittests", - "test_id_prefix": "ninja://services:services_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "shell_dialogs_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "shell_dialogs_unittests", - "test_id_prefix": "ninja://ui/shell_dialogs:shell_dialogs_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "skia_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "skia_unittests", - "test_id_prefix": "ninja://skia:skia_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "sql_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "sql_unittests", - "test_id_prefix": "ninja://sql:sql_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "storage_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "storage_unittests", - "test_id_prefix": "ninja://storage:storage_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "system_webview_shell_layout_test_apk" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "system_webview_shell_layout_test_apk", - "test_id_prefix": "ninja://android_webview/tools/system_webview_shell:system_webview_shell_layout_test_apk/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "ui_android_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "ui_android_unittests", - "test_id_prefix": "ninja://ui/android:ui_android_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "ui_base_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "ui_base_unittests", - "test_id_prefix": "ninja://ui/base:ui_base_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "ui_touch_selection_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "ui_touch_selection_unittests", - "test_id_prefix": "ninja://ui/touch_selection:ui_touch_selection_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "url_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "url_unittests", - "test_id_prefix": "ninja://url:url_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "viz_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "viz_unittests", - "test_id_prefix": "ninja://components/viz:viz_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "vr_android_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "vr_android_unittests", - "test_id_prefix": "ninja://chrome/browser/android/vr:vr_android_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "vr_common_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "vr_common_unittests", - "test_id_prefix": "ninja://chrome/browser/vr:vr_common_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "vr_pixeltests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "vr_pixeltests", - "test_id_prefix": "ninja://chrome/browser/vr:vr_pixeltests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "weblayer_browsertests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "weblayer_browsertests", - "test_id_prefix": "ninja://weblayer/test:weblayer_browsertests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "weblayer_bundle_test" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "weblayer_bundle_test", - "test_id_prefix": "ninja://weblayer/browser/android/javatests:weblayer_bundle_test/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", "weblayer_instrumentation_test_apk" ], "script": "//build/android/pylib/results/presentation/test_results_presentation.py" @@ -196964,153 +194040,6 @@ "--bucket", "chromium-result-details", "--test-name", - "weblayer_private_instrumentation_test_apk" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "weblayer_private_instrumentation_test_apk", - "test_id_prefix": "ninja://weblayer/browser/android/javatests:weblayer_private_instrumentation_test_apk/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "weblayer_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "weblayer_unittests", - "test_id_prefix": "ninja://weblayer/test:weblayer_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "webview_cts_tests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "chromium/android_webview/tools/cts_archive", - "location": "android_webview/tools/cts_archive", - "revision": "ai8Ig4HlO0vG6aP_JP2uhyruE2yPzze8PFP1g8Z4_hgC" - }, - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com", - "shards": 2 - }, - "test": "webview_cts_tests", - "test_id_prefix": "ninja://android_webview/test:webview_cts_tests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", "webview_instrumentation_test_apk" ], "script": "//build/android/pylib/results/presentation/test_results_presentation.py" @@ -197148,272 +194077,6 @@ }, "test": "webview_instrumentation_test_apk", "test_id_prefix": "ninja://android_webview/test:webview_instrumentation_test_apk/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "webview_ui_test_app_test_apk" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "webview_ui_test_app_test_apk", - "test_id_prefix": "ninja://android_webview/tools/automated_ui_tests:webview_ui_test_app_test_apk/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "wtf_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "wtf_unittests", - "test_id_prefix": "ninja://third_party/blink/renderer/platform/wtf:wtf_unittests/" - }, - { - "args": [ - "--gs-results-bucket=chromium-result-details", - "--recover-devices" - ], - "merge": { - "args": [ - "--bucket", - "chromium-result-details", - "--test-name", - "zlib_unittests" - ], - "script": "//build/android/pylib/results/presentation/test_results_presentation.py" - }, - "swarming": { - "can_use_on_swarming_builders": true, - "cipd_packages": [ - { - "cipd_package": "infra/tools/luci/logdog/butler/${platform}", - "location": "bin", - "revision": "git_revision:ff387eadf445b24c935f1cf7d6ddd279f8a6b04c" - } - ], - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "output_links": [ - { - "link": [ - "https://luci-logdog.appspot.com/v/?s", - "=android%2Fswarming%2Flogcats%2F", - "${TASK_ID}%2F%2B%2Funified_logcats" - ], - "name": "shard #${SHARD_INDEX} logcats" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test": "zlib_unittests", - "test_id_prefix": "ninja://third_party/zlib:zlib_unittests/" - } - ], - "isolated_scripts": [ - { - "args": [ - "--gtest-benchmark-name=components_perftests" - ], - "isolate_name": "components_perftests", - "merge": { - "args": [ - "--smoke-test-mode" - ], - "script": "//tools/perf/process_perf_results.py" - }, - "name": "components_perftests", - "swarming": { - "can_use_on_swarming_builders": true, - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test_id_prefix": "ninja://components:components_perftests/" - }, - { - "args": [ - "--platform=android" - ], - "isolate_name": "content_shell_crash_test", - "merge": { - "args": [], - "script": "//testing/merge_scripts/standard_isolated_script_merge.py" - }, - "name": "content_shell_crash_test", - "swarming": { - "can_use_on_swarming_builders": true, - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test_id_prefix": "ninja://content/shell:content_shell_crash_test/" - }, - { - "isolate_name": "monochrome_apk_checker", - "merge": { - "args": [], - "script": "//testing/merge_scripts/standard_isolated_script_merge.py" - }, - "name": "monochrome_apk_checker", - "swarming": { - "can_use_on_swarming_builders": true, - "dimension_sets": [ - { - "cpu": "x86-64", - "os": "Ubuntu-16.04" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test_id_prefix": "ninja://chrome/android/monochrome:monochrome_apk_checker/" - }, - { - "args": [ - "BrowserMinidumpTest", - "--browser=android-chromium" - ], - "isolate_name": "telemetry_perf_unittests", - "merge": { - "args": [], - "script": "//testing/merge_scripts/standard_isolated_script_merge.py" - }, - "name": "telemetry_chromium_minidump_unittests", - "swarming": { - "can_use_on_swarming_builders": true, - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test_id_prefix": "ninja://chrome/test:telemetry_perf_unittests/" - }, - { - "args": [ - "BrowserMinidumpTest", - "--browser=android-chromium-monochrome" - ], - "isolate_name": "telemetry_perf_unittests", - "merge": { - "args": [], - "script": "//testing/merge_scripts/standard_isolated_script_merge.py" - }, - "name": "telemetry_monochrome_minidump_unittests", - "swarming": { - "can_use_on_swarming_builders": true, - "dimension_sets": [ - { - "device_os": "PQ3A.190801.002", - "device_os_flavor": "google", - "device_os_type": "userdebug", - "device_type": "walleye", - "os": "Android" - } - ], - "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" - }, - "test_id_prefix": "ninja://chrome/test:telemetry_perf_unittests/" } ] }, @@ -198815,7 +195478,7 @@ } ], "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com", - "shards": 9 + "shards": 15 }, "test": "content_browsertests", "test_id_prefix": "ninja://content/test:content_browsertests/" @@ -198878,7 +195541,7 @@ } ], "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com", - "shards": 10 + "shards": 15 }, "test": "content_browsertests", "test_id_prefix": "ninja://content/test:content_browsertests/" @@ -201798,7 +198461,7 @@ } ], "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com", - "shards": 20 + "shards": 15 }, "test": "webview_instrumentation_test_apk", "test_id_prefix": "ninja://android_webview/test:webview_instrumentation_test_apk/"
diff --git a/testing/buildbot/filters/android.pie_arm64_rel.chrome_public_test_apk.filter b/testing/buildbot/filters/android.pie_arm64_rel.chrome_public_test_apk.filter index e8b7a11..78064844 100644 --- a/testing/buildbot/filters/android.pie_arm64_rel.chrome_public_test_apk.filter +++ b/testing/buildbot/filters/android.pie_arm64_rel.chrome_public_test_apk.filter
@@ -1,53 +1,53 @@ -# crbug/1036413 +# crbug.com/1036413 -org.chromium.chrome.browser.banners.AppBannerManagerTest.testBlockedAmbientBadgeDoesNotAppearAgainForMonths -# crbug/1036417 +# crbug.com/1036417 -org.chromium.chrome.browser.dom_distiller.DistilledPagePrefsTest.testSingleObserverFontFamily -org.chromium.chrome.browser.dom_distiller.DistilledPagePrefsTest.testSingleObserverFontScaling -org.chromium.chrome.browser.dom_distiller.DistilledPagePrefsTest.testSingleObserverTheme -# crbug/963898 +# crbug.com/963898 -org.chromium.chrome.browser.download.DownloadMediaParserTest.testParseVideoH264 -# crbug/1018181 +# crbug.com/1018181 -org.chromium.chrome.browser.download.home.DownloadActivityV2Test.testLaunchingActivity -# crbug/1032118 +# crbug.com/1032118 -org.chromium.chrome.browser.notifications.channels.ChannelsInitializerTest.testEnsureInitialized_permissionRequests -org.chromium.chrome.browser.notifications.channels.ChannelsInitializerTest.testEnsureInitialized_permissionRequestsHigh -org.chromium.chrome.browser.notifications.StandardNotificationBuilderTest.testSetAll -# crbug/1036459 +# crbug.com/1036459 -org.chromium.chrome.browser.ntp.cards.NewTabPageRecyclerViewTest.testDismissArticleWithContextMenu -org.chromium.chrome.browser.ntp.NewTabPageTest.testFocusFakebox -org.chromium.chrome.browser.ntp.NewTabPageTest.testOpenMostVisitedItemInIncognitoTab -org.chromium.chrome.browser.ntp.NewTabPageTest.testRemoveMostVisitedItem -org.chromium.chrome.browser.ntp.RecentTabsPageTest.testRecentlyClosedTabs -# crbug/1040088 +# crbug.com/1040088 -org.chromium.chrome.browser.payments.PaymentRequestRetryTest.testRetryWithShippingAddressErrorsAndPayerErrors -# crbug/707528 +# crbug.com/707528 -org.chromium.chrome.browser.push_messaging.PushMessagingTest.testPushAndShowNotification -# crbug/836460 +# crbug.com/836460 -org.chromium.chrome.browser.autofill.settings.AutofillProfilesFragmentTest.testKeyboardShownOnDpadCenter -# crbug/1036545 +# crbug.com/1036545 -org.chromium.chrome.browser.suggestions.tile.TileGroupTest.testDismissTileUndo -org.chromium.chrome.browser.suggestions.tile.TileGroupTest.testDismissTileWithContextMenu -# crbug/1036552 +# crbug.com/1036552 -org.chromium.chrome.browser.tasks.tab_management.TabGridDialogViewTest.testDialog_ZoomInFadeOut -org.chromium.chrome.browser.tasks.tab_management.TabGridDialogViewTest.testDialog_ZoomInZoomOut -# crbug/1036553 +# crbug.com/1036553 -org.chromium.chrome.browser.translate.TranslateCompactInfoBarTest.testTabMenuDismissedOnOrientationChange -org.chromium.chrome.browser.translate.TranslateCompactInfoBarTest.testTranslateCompactInfoBarAppears -org.chromium.chrome.browser.translate.TranslateCompactInfoBarTest.testTranslateCompactInfoBarOverflowMenus -org.chromium.chrome.browser.translate.TranslateCompactInfoBarTest.testTranslateCompactInfoBarReopenOnTarget -# crbug/1036556 +# crbug.com/1036556 -org.chromium.chrome.browser.usage_stats.TabSuspensionTest.testMediaSuspension -org.chromium.chrome.browser.usage_stats.TabSuspensionTest.testMultiWindow -org.chromium.chrome.browser.usage_stats.TabSuspensionTest.testTabAddedFromCustomTab @@ -61,7 +61,7 @@ -org.chromium.chrome.browser.usage_stats.TabSuspensionTest.testTabSwitchBackToSuspended -org.chromium.chrome.browser.usage_stats.TabSuspensionTest.testTabUnsuspendedInBackground -# crbug/1036571 +# crbug.com/1036571 -org.chromium.shape_detection.BarcodeDetectionImplTest.testDetectBarcodeWithHint -org.chromium.shape_detection.BarcodeDetectionImplTest.testDetectBarcodeWithoutHint -org.chromium.shape_detection.FaceDetectionImplTest.testDetectFacesInProfileWithGmsCore @@ -71,9 +71,24 @@ -org.chromium.chrome.browser.shape_detection.ShapeDetectionTest.testBarcodeDetection -org.chromium.chrome.browser.shape_detection.ShapeDetectionTest.testTextDetection -# crbug/1034412 +# crbug.com/1034412 -org.chromium.chrome.browser.media.ui.PictureInPictureControllerTest.testEnterPip -org.chromium.chrome.browser.media.ui.PictureInPictureControllerTest.testReenterPip -# crbug/1039522 +# crbug.com/1039522 -org.chromium.chrome.browser.settings.privacy.BrowsingDataBridgeTest.testClearingSiteSettingsAndCacheWithImportantSites + +# crbug.com/1128480 +-org.chromium.chrome.browser.reengagement.ReengagementNotificationControllerIntegrationTest.testEngagementNotTrackedDueToIntentOpeningTab +-org.chromium.chrome.browser.reengagement.ReengagementNotificationControllerIntegrationTest.testEngagementTracked +-org.chromium.chrome.browser.reengagement.ReengagementNotificationControllerIntegrationTest.testReengagementActivity + +# crbug.com/1128488 +-org.chromium.chrome.browser.tasks.tab_management.TabGridDialogTest.testDialogInitialShowFromStrip + +# crbug.com/1128570 +-org.chromium.chrome.browser.translate.TranslateCompactInfoBarTest.testManualInitiationWithBarOpen +-org.chromium.chrome.browser.translate.TranslateCompactInfoBarTest.testStartTranslateOnManualInitiation + +# crbug.com/1128665 +-org.chromium.chrome.browser.download.DownloadTest.testDuplicateHttpPostDownload_Cancel__UseDownloadOfflineContentProviderEnabled
diff --git a/testing/buildbot/test_suite_exceptions.pyl b/testing/buildbot/test_suite_exceptions.pyl index c7e06359..f1bfc306 100644 --- a/testing/buildbot/test_suite_exceptions.pyl +++ b/testing/buildbot/test_suite_exceptions.pyl
@@ -685,8 +685,6 @@ 'android-asan', # https://crbug.com/964562 'android-code-coverage-native', # https://crbug.com/1018780 'android-lollipop-arm-rel', # https://crbug.com/1060245 - # TODO https://crbug.com/1109999: Re-enable once there are enough devices - 'android-pie-arm64-rel', 'android-pie-x86-rel', # crbug.com/1126536 ], 'modifications': { @@ -749,6 +747,15 @@ 'args': [ '--test-launcher-filter-file=../../testing/buildbot/filters/android.pie_arm64_rel.chrome_public_test_apk.filter', # https://crbug.com/1010211 ], + # TODO(crbug.com/1111436): Move this back to walleye if/when additional + # capacity has been deployed. + 'swarming': { + 'dimension_sets': [ + { + 'device_type': 'sailfish', + }, + ], + } }, 'android-pie-x86-rel': { 'args': [ @@ -972,6 +979,9 @@ 'args': [ '--test-launcher-filter-file=../../testing/buildbot/filters/android.emulator_p.content_browsertests.filter', ], + 'swarming': { + 'shards': 15, + }, }, 'linux-blink-heap-concurrent-marking-tsan-rel': { 'swarming': { @@ -1999,7 +2009,7 @@ '--test-launcher-filter-file=../../testing/buildbot/filters/android.emulator_m.content_browsertests.filter', ], 'swarming': { - 'shards': 10, + 'shards': 15, }, }, 'android-nougat-arm64-rel': { @@ -2013,7 +2023,7 @@ '--test-launcher-filter-file=../../testing/buildbot/filters/android.emulator_p.content_browsertests.filter', ], 'swarming': { - 'shards': 10, + 'shards': 15, }, }, }, @@ -2060,10 +2070,18 @@ 'android-marshmallow-x86-rel', # crbug.com/1098111 ], 'modifications': { + 'android-marshmallow-x86-rel-non-cq': { + 'swarming': { + 'shards': 15, + }, + }, 'android-pie-x86-rel': { 'args': [ '--test-launcher-filter-file=../../testing/buildbot/filters/android.emulator.webview_instrumentation_test_apk.filter', ], + 'swarming': { + 'shards': 15, + }, }, }, },
diff --git a/testing/buildbot/test_suites.pyl b/testing/buildbot/test_suites.pyl index 76c5317..496287a 100644 --- a/testing/buildbot/test_suites.pyl +++ b/testing/buildbot/test_suites.pyl
@@ -165,6 +165,30 @@ 'chrome_java_test_pagecontroller_tests': {}, }, + # TODO(crbug.com/1111436): Deprecate this group in favor of + # android_pie_rel_non_skia_renderer_gtests if/when android Pie capacity + # is fully restored. + 'android_pie_rel_reduced_capacity_gtests': { + 'chrome_public_test_apk': { + 'swarming': { + 'shards': 20, + }, + 'mixins': [ + 'chrome-gold-service-account', + 'skia_gold_test', + ], + }, + 'monochrome_public_bundle_fake_modules_smoke_test': {}, + 'monochrome_public_bundle_smoke_test': {}, + 'monochrome_public_smoke_test': {}, + 'weblayer_instrumentation_test_apk': {}, + 'webview_instrumentation_test_apk': { + 'swarming': { + 'shards': 7, + }, + }, + }, + 'android_smoke_tests': { 'chrome_public_smoke_test': {}, }, @@ -4623,25 +4647,25 @@ # # TODO(https://crbug.com/1058067): Remove this once SkiaRenderer goes # stable on Android. - 'android_pie_rel_non_skia_renderer_gtests': [ - 'android_monochrome_smoke_tests', - 'android_pagecontroller_self_tests', - 'android_smoke_tests', - # TODO: Following tests are experimental (crbug/1010211). - 'android_specific_chromium_gtests', # Already includes gl_gtests. - 'chromium_gtests', - 'chromium_gtests_for_devices_with_graphical_output', - 'linux_flavor_specific_chromium_gtests', - 'network_service_android_gtests', - 'non_skia_renderer_gtests', - 'system_webview_shell_instrumentation_tests', # Not an experimental test - 'vr_platform_specific_chromium_gtests', - 'weblayer_android_gtests', - 'weblayer_gtests', - # Experimental tests end here. - 'webview_cts_tests_gtest', - 'webview_ui_instrumentation_tests', - ], + # 'android_pie_rel_non_skia_renderer_gtests': [ + # 'android_monochrome_smoke_tests', + # 'android_pagecontroller_self_tests', + # 'android_smoke_tests', + # # TODO: Following tests are experimental (crbug/1010211). + # 'android_specific_chromium_gtests', # Already includes gl_gtests. + # 'chromium_gtests', + # 'chromium_gtests_for_devices_with_graphical_output', + # 'linux_flavor_specific_chromium_gtests', + # 'network_service_android_gtests', + # 'non_skia_renderer_gtests', + # 'system_webview_shell_instrumentation_tests', # Not an experimental test + # 'vr_platform_specific_chromium_gtests', + # 'weblayer_android_gtests', + # 'weblayer_gtests', + # # Experimental tests end here. + # 'webview_cts_tests_gtest', + # 'webview_ui_instrumentation_tests', + # ], 'android_wpt_scripts': [ 'chrome_public_wpt',
diff --git a/testing/buildbot/waterfalls.pyl b/testing/buildbot/waterfalls.pyl index 601d907c..fce1e62 100644 --- a/testing/buildbot/waterfalls.pyl +++ b/testing/buildbot/waterfalls.pyl
@@ -868,8 +868,11 @@ 'weblayer_shell', ], 'test_suites': { - 'gtest_tests': 'android_pie_rel_non_skia_renderer_gtests', - 'isolated_scripts': 'marshmallow_nougat_pie_isolated_scripts_with_proguard', + #'gtest_tests': 'android_pie_rel_non_skia_renderer_gtests', + #'isolated_scripts': 'marshmallow_nougat_pie_isolated_scripts_with_proguard', + # TODO(crbug.com/1111436): Remove this if/when additional capacity + # has been deployed. + 'gtest_tests': 'android_pie_rel_reduced_capacity_gtests', }, 'use_swarming': True, 'os_type': 'android',
diff --git a/third_party/blink/common/fetch/fetch_api_request_body_mojom_traits.cc b/third_party/blink/common/fetch/fetch_api_request_body_mojom_traits.cc index 1def0c97..ccf1005 100644 --- a/third_party/blink/common/fetch/fetch_api_request_body_mojom_traits.cc +++ b/third_party/blink/common/fetch/fetch_api_request_body_mojom_traits.cc
@@ -26,11 +26,13 @@ blink::mojom::FetchAPIDataElementDataView, network::DataElement>::Read(blink::mojom::FetchAPIDataElementDataView data, network::DataElement* out) { + base::Optional<std::string> blob_uuid; if (!data.ReadPath(&out->path_) || !data.ReadFile(&out->file_) || - !data.ReadBlobUuid(&out->blob_uuid_) || + !data.ReadBlobUuid(&blob_uuid) || !data.ReadExpectedModificationTime(&out->expected_modification_time_)) { return false; } + out->blob_uuid_ = std::move(blob_uuid).value_or(std::string()); if (data.type() == network::mojom::DataElementType::kBytes) { if (!data.ReadBuf(&out->buf_)) return false;
diff --git a/third_party/blink/common/manifest/manifest_mojom_traits.cc b/third_party/blink/common/manifest/manifest_mojom_traits.cc index 5fa8e37..a87ea88 100644 --- a/third_party/blink/common/manifest/manifest_mojom_traits.cc +++ b/third_party/blink/common/manifest/manifest_mojom_traits.cc
@@ -162,8 +162,10 @@ return false; out->platform = std::move(string.string); - if (!data.ReadUrl(&out->url)) + base::Optional<GURL> url; + if (!data.ReadUrl(&url)) return false; + out->url = std::move(url).value_or(GURL()); if (!data.ReadId(&string)) return false;
diff --git a/third_party/blink/common/notifications/notification_mojom_traits.cc b/third_party/blink/common/notifications/notification_mojom_traits.cc index 88f23d5..0a85c8d 100644 --- a/third_party/blink/common/notifications/notification_mojom_traits.cc +++ b/third_party/blink/common/notifications/notification_mojom_traits.cc
@@ -101,10 +101,11 @@ // platform_notification_data.data once it stores a vector of ints not chars. std::vector<uint8_t> data; + base::Optional<std::string> lang; if (!notification_data.ReadTitle(&platform_notification_data->title) || !notification_data.ReadDirection( &platform_notification_data->direction) || - !notification_data.ReadLang(&platform_notification_data->lang) || + !notification_data.ReadLang(&lang) || !notification_data.ReadBody(&platform_notification_data->body) || !notification_data.ReadTag(&platform_notification_data->tag) || !notification_data.ReadImage(&platform_notification_data->image) || @@ -119,6 +120,8 @@ return false; } + platform_notification_data->lang = std::move(lang).value_or(std::string()); + platform_notification_data->data.assign(data.begin(), data.end()); platform_notification_data->timestamp =
diff --git a/third_party/blink/public/mojom/BUILD.gn b/third_party/blink/public/mojom/BUILD.gn index c151c428..ef162f5e 100644 --- a/third_party/blink/public/mojom/BUILD.gn +++ b/third_party/blink/public/mojom/BUILD.gn
@@ -407,6 +407,32 @@ { types = [ { + mojom = "blink.mojom.CredentialType" + cpp = "::password_manager::CredentialType" + }, + { + mojom = "blink.mojom.CredentialMediationRequirement" + cpp = "::password_manager::CredentialMediationRequirement" + }, + { + mojom = "blink.mojom.CredentialInfo" + cpp = "::password_manager::CredentialInfo" + }, + { + mojom = "blink.mojom.CredentialManagerError" + cpp = "::password_manager::CredentialManagerError" + }, + ] + traits_headers = [ "//components/password_manager/content/common/credential_manager_mojom_traits.h" ] + traits_sources = [ "//components/password_manager/content/common/credential_manager_mojom_traits.cc" ] + traits_public_deps = [ + "//base", + "//components/password_manager/core/common", + ] + }, + { + types = [ + { mojom = "blink.mojom.FetchAPIDataElement" cpp = "::network::DataElement" move_only = true @@ -637,6 +663,65 @@ public_deps += [ "//ui/gfx/geometry/mojom" ] } + cpp_typemaps = [ + { + types = [ + { + mojom = "blink.mojom.AuthenticatorTransport" + cpp = "::device::FidoTransportProtocol" + }, + { + mojom = "blink.mojom.PublicKeyCredentialType" + cpp = "::device::CredentialType" + }, + { + mojom = "blink.mojom.PublicKeyCredentialParameters" + cpp = "::device::PublicKeyCredentialParams::CredentialInfo" + }, + { + mojom = "blink.mojom.PublicKeyCredentialDescriptor" + cpp = "::device::PublicKeyCredentialDescriptor" + }, + { + mojom = "blink.mojom.AuthenticatorAttachment" + cpp = "::device::AuthenticatorAttachment" + }, + { + mojom = "blink.mojom.UserVerificationRequirement" + cpp = "::device::UserVerificationRequirement" + }, + { + mojom = "blink.mojom.AuthenticatorSelectionCriteria" + cpp = "::device::AuthenticatorSelectionCriteria" + }, + { + mojom = "blink.mojom.PublicKeyCredentialRpEntity" + cpp = "::device::PublicKeyCredentialRpEntity" + }, + { + mojom = "blink.mojom.PublicKeyCredentialUserEntity" + cpp = "::device::PublicKeyCredentialUserEntity" + }, + { + mojom = "blink.mojom.CableAuthentication" + cpp = "::device::CableDiscoveryData" + }, + { + mojom = "blink.mojom.AttestationConveyancePreference" + cpp = "::device::AttestationConveyancePreference" + }, + ] + traits_headers = + [ "//content/browser/webauth/authenticator_mojom_traits.h" ] + traits_sources = + [ "//content/browser/webauth/authenticator_mojom_traits.cc" ] + traits_public_deps = [ + "//base", + "//device/fido", + ] + }, + ] + blink_cpp_typemaps = [ { types = [ @@ -1142,6 +1227,22 @@ # Don't scramble message IDs so they are redistributable to external tests. scramble_message_ids = false + + cpp_typemaps = [ + { + types = [ + { + mojom = "blink.test.mojom.ClientToAuthenticatorProtocol" + cpp = "::device::ProtocolVersion" + }, + ] + traits_headers = + [ "//content/browser/webauth/virtual_authenticator_mojom_traits.h" ] + traits_sources = + [ "//content/browser/webauth/virtual_authenticator_mojom_traits.cc" ] + traits_public_deps = [ "//device/fido" ] + }, + ] } mojom("memory_usage_monitor_linux_mojo_bindings") {
diff --git a/third_party/blink/public/mojom/manifest/manifest.mojom b/third_party/blink/public/mojom/manifest/manifest.mojom index 65e41a5..a9ca93cd 100644 --- a/third_party/blink/public/mojom/manifest/manifest.mojom +++ b/third_party/blink/public/mojom/manifest/manifest.mojom
@@ -186,7 +186,7 @@ struct ManifestFileHandler { // The URL that will be opened when the file handler is invoked. url.mojom.Url action; - mojo_base.mojom.String16? name; + mojo_base.mojom.String16 name; // A mapping of a MIME types to a corresponding list of file extensions. map<mojo_base.mojom.String16, array<mojo_base.mojom.String16>> accept; };
diff --git a/third_party/blink/public/strings/translations/blink_strings_am.xtb b/third_party/blink/public/strings/translations/blink_strings_am.xtb index fa391984..2a31b15 100644 --- a/third_party/blink/public/strings/translations/blink_strings_am.xtb +++ b/third_party/blink/public/strings/translations/blink_strings_am.xtb
@@ -13,6 +13,7 @@ <translation id="1211441953136645838">የግርጌ ማስታወሻ</translation> <translation id="1281252709823657822">መገናኛ</translation> <translation id="1306460908038601864">ጠፍቷል</translation> +<translation id="1311894908970423688">እሴት <ph name="VALUE_DATE_OR_TIME" /> መሆን አለበት።</translation> <translation id="1335095011850992622">ክሬዲቶች</translation> <translation id="1342835525016946179">ጽሑፍ</translation> <translation id="1359897965706325498">ሰንደቅ</translation> @@ -185,6 +186,7 @@ <translation id="6643016212128521049">አጽዳ</translation> <translation id="668171684555832681">ሌላ…</translation> <translation id="6692633176391053278">አስኪያጅ</translation> +<translation id="6709093583001123835">እሴት <ph name="VALUE" /> መሆን አለበት።</translation> <translation id="6709570249143506788">ደካማ የመልሶ ማጫወት ጥራት</translation> <translation id="6755330956360078551">ጠቃሚ የመሣሪያ ምክር</translation> <translation id="6790428901817661496">አጫውት</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_ar.xtb b/third_party/blink/public/strings/translations/blink_strings_ar.xtb index dcd184c1..16d578830 100644 --- a/third_party/blink/public/strings/translations/blink_strings_ar.xtb +++ b/third_party/blink/public/strings/translations/blink_strings_ar.xtb
@@ -13,6 +13,7 @@ <translation id="1211441953136645838">تعليق ختامي</translation> <translation id="1281252709823657822">مربع حوار</translation> <translation id="1306460908038601864">غير مفعّل</translation> +<translation id="1311894908970423688">يجب أن تكون القيمة <ph name="VALUE_DATE_OR_TIME" />.</translation> <translation id="1335095011850992622">إسهامات</translation> <translation id="1342835525016946179">article</translation> <translation id="1359897965706325498">إعلان بانر</translation> @@ -186,6 +187,7 @@ <translation id="6643016212128521049">محو</translation> <translation id="668171684555832681">ملف تعريف آخر...</translation> <translation id="6692633176391053278">تخطي</translation> +<translation id="6709093583001123835">يجب أن تكون القيمة <ph name="VALUE" />.</translation> <translation id="6709570249143506788">جودة التشغيل ضعيفة.</translation> <translation id="6755330956360078551">تلميح</translation> <translation id="6790428901817661496">التشغيل</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_az.xtb b/third_party/blink/public/strings/translations/blink_strings_az.xtb index 87451c5..806c59c 100644 --- a/third_party/blink/public/strings/translations/blink_strings_az.xtb +++ b/third_party/blink/public/strings/translations/blink_strings_az.xtb
@@ -13,6 +13,7 @@ <translation id="1211441953136645838">son qeyd</translation> <translation id="1281252709823657822">dialoq</translation> <translation id="1306460908038601864">Deaktiv</translation> +<translation id="1311894908970423688">Dəyər <ph name="VALUE_DATE_OR_TIME" /> olmalıdır.</translation> <translation id="1335095011850992622">kreditlər</translation> <translation id="1342835525016946179">məqalə</translation> <translation id="1359897965706325498">banner</translation> @@ -185,6 +186,7 @@ <translation id="6643016212128521049">Silin</translation> <translation id="668171684555832681">Digər...</translation> <translation id="6692633176391053278">stepper</translation> +<translation id="6709093583001123835">Dəyər <ph name="VALUE" /> olmalıdır.</translation> <translation id="6709570249143506788">Oxutma keyfiyyəti pisdir</translation> <translation id="6755330956360078551">ipucu</translation> <translation id="6790428901817661496">Oxudun</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_be.xtb b/third_party/blink/public/strings/translations/blink_strings_be.xtb index 53ec52e..1d601fd 100644 --- a/third_party/blink/public/strings/translations/blink_strings_be.xtb +++ b/third_party/blink/public/strings/translations/blink_strings_be.xtb
@@ -13,6 +13,7 @@ <translation id="1211441953136645838">вынаска</translation> <translation id="1281252709823657822">дыялогавае акно</translation> <translation id="1306460908038601864">выключыць</translation> +<translation id="1311894908970423688">Значэнне павінна быць <ph name="VALUE_DATE_OR_TIME" />.</translation> <translation id="1335095011850992622">падзякі</translation> <translation id="1342835525016946179">артыкул</translation> <translation id="1359897965706325498">банер</translation> @@ -185,6 +186,7 @@ <translation id="6643016212128521049">Ачысціць</translation> <translation id="668171684555832681">Іншы...</translation> <translation id="6692633176391053278">стэпер</translation> +<translation id="6709093583001123835">Значэнне павінна быць <ph name="VALUE" />.</translation> <translation id="6709570249143506788">Кепская якасць прайгравання</translation> <translation id="6755330956360078551">падказка</translation> <translation id="6790428901817661496">Прайграць</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_bg.xtb b/third_party/blink/public/strings/translations/blink_strings_bg.xtb index 74382833..51279d2 100644 --- a/third_party/blink/public/strings/translations/blink_strings_bg.xtb +++ b/third_party/blink/public/strings/translations/blink_strings_bg.xtb
@@ -13,6 +13,7 @@ <translation id="1211441953136645838">бележка в края</translation> <translation id="1281252709823657822">диалогов прозорец</translation> <translation id="1306460908038601864">Изключване</translation> +<translation id="1311894908970423688">Стойността трябва да е <ph name="VALUE_DATE_OR_TIME" />.</translation> <translation id="1335095011850992622">признания за източника</translation> <translation id="1342835525016946179">статия</translation> <translation id="1359897965706325498">банер</translation> @@ -185,6 +186,7 @@ <translation id="6643016212128521049">Изчистване</translation> <translation id="668171684555832681">Друг...</translation> <translation id="6692633176391053278">stepper</translation> +<translation id="6709093583001123835">Стойността трябва да е <ph name="VALUE" />.</translation> <translation id="6709570249143506788">Лошо качество на възпроизвеждането</translation> <translation id="6755330956360078551">подсказка</translation> <translation id="6790428901817661496">Пускане</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_bn.xtb b/third_party/blink/public/strings/translations/blink_strings_bn.xtb index bc876f1..85b6591 100644 --- a/third_party/blink/public/strings/translations/blink_strings_bn.xtb +++ b/third_party/blink/public/strings/translations/blink_strings_bn.xtb
@@ -13,6 +13,7 @@ <translation id="1211441953136645838">এন্ডনোট</translation> <translation id="1281252709823657822">ডায়ালগ</translation> <translation id="1306460908038601864">বন্ধ করা আছে</translation> +<translation id="1311894908970423688">তারিখ অবশ্যই <ph name="VALUE_DATE_OR_TIME" /> হতে হবে।</translation> <translation id="1335095011850992622">ক্রেডিট</translation> <translation id="1342835525016946179">নিবন্ধ</translation> <translation id="1359897965706325498">ব্যানার</translation> @@ -185,6 +186,7 @@ <translation id="6643016212128521049">সাফ করুন</translation> <translation id="668171684555832681">অন্যান্য...</translation> <translation id="6692633176391053278">পদক্ষেপকারী</translation> +<translation id="6709093583001123835">মান অবশ্যই <ph name="VALUE" /> হতে হবে।</translation> <translation id="6709570249143506788">প্লেব্যাকের গুণমান খারাপ</translation> <translation id="6755330956360078551">সরঞ্জামটিপ</translation> <translation id="6790428901817661496">চালু করুন</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_bs.xtb b/third_party/blink/public/strings/translations/blink_strings_bs.xtb index 93a9b706..0353b28 100644 --- a/third_party/blink/public/strings/translations/blink_strings_bs.xtb +++ b/third_party/blink/public/strings/translations/blink_strings_bs.xtb
@@ -13,7 +13,7 @@ <translation id="1211441953136645838">završna napomena</translation> <translation id="1281252709823657822">dijaloški okvir</translation> <translation id="1306460908038601864">Isključeno</translation> -<translation id="1311894908970423688">Vrijednost mora biti <ph name="VALUE_DATE_OR_TIME" />.</translation> +<translation id="1311894908970423688">Vrijednost mora biti u formatu <ph name="VALUE_DATE_OR_TIME" />.</translation> <translation id="1335095011850992622">zahvale</translation> <translation id="1342835525016946179">članak</translation> <translation id="1359897965706325498">oglasni natpis</translation> @@ -186,7 +186,7 @@ <translation id="6643016212128521049">Obriši</translation> <translation id="668171684555832681">Drugo…</translation> <translation id="6692633176391053278">steper</translation> -<translation id="6709093583001123835">Vrijednost mora biti <ph name="VALUE" />.</translation> +<translation id="6709093583001123835">Vrijednost mora biti u formatu <ph name="VALUE" />.</translation> <translation id="6709570249143506788">Slab kvalitet reprodukcije</translation> <translation id="6755330956360078551">savjet u vezi s alatom</translation> <translation id="6790428901817661496">Pokreni</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_de.xtb b/third_party/blink/public/strings/translations/blink_strings_de.xtb index c58ebc343..73cebe6 100644 --- a/third_party/blink/public/strings/translations/blink_strings_de.xtb +++ b/third_party/blink/public/strings/translations/blink_strings_de.xtb
@@ -13,6 +13,7 @@ <translation id="1211441953136645838">Endnote</translation> <translation id="1281252709823657822">Kleines Fenster</translation> <translation id="1306460908038601864">Aus</translation> +<translation id="1311894908970423688">Der Wert muss <ph name="VALUE_DATE_OR_TIME" /> sein.</translation> <translation id="1335095011850992622">Mitwirkende</translation> <translation id="1342835525016946179">article</translation> <translation id="1359897965706325498">Banner</translation> @@ -185,6 +186,7 @@ <translation id="6643016212128521049">Löschen</translation> <translation id="668171684555832681">Andere...</translation> <translation id="6692633176391053278">Stepper</translation> +<translation id="6709093583001123835">Der Wert muss <ph name="VALUE" /> sein.</translation> <translation id="6709570249143506788">Schlechte Wiedergabequalität</translation> <translation id="6755330956360078551">Kurzinfo</translation> <translation id="6790428901817661496">Wiedergabe</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_es-419.xtb b/third_party/blink/public/strings/translations/blink_strings_es-419.xtb index 4b9e64e..09cef7a0 100644 --- a/third_party/blink/public/strings/translations/blink_strings_es-419.xtb +++ b/third_party/blink/public/strings/translations/blink_strings_es-419.xtb
@@ -13,6 +13,7 @@ <translation id="1211441953136645838">nota final</translation> <translation id="1281252709823657822">diálogo</translation> <translation id="1306460908038601864">No</translation> +<translation id="1311894908970423688">El valor debe ser <ph name="VALUE_DATE_OR_TIME" />.</translation> <translation id="1335095011850992622">créditos</translation> <translation id="1342835525016946179">artículo</translation> <translation id="1359897965706325498">banner</translation> @@ -185,6 +186,7 @@ <translation id="6643016212128521049">Borrar</translation> <translation id="668171684555832681">Otro...</translation> <translation id="6692633176391053278">secuenciador</translation> +<translation id="6709093583001123835">El valor debe ser <ph name="VALUE" />.</translation> <translation id="6709570249143506788">Baja calidad de reproducción</translation> <translation id="6755330956360078551">información sobre la herramienta</translation> <translation id="6790428901817661496">Reproducir</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_eu.xtb b/third_party/blink/public/strings/translations/blink_strings_eu.xtb index 6a06255..8e8f8a9e 100644 --- a/third_party/blink/public/strings/translations/blink_strings_eu.xtb +++ b/third_party/blink/public/strings/translations/blink_strings_eu.xtb
@@ -13,6 +13,7 @@ <translation id="1211441953136645838">amaierako oharra</translation> <translation id="1281252709823657822">leihoa</translation> <translation id="1306460908038601864">Desaktibatuta</translation> +<translation id="1311894908970423688">Balioak <ph name="VALUE_DATE_OR_TIME" /> izan behar du.</translation> <translation id="1335095011850992622">kredituak</translation> <translation id="1342835525016946179">artikulua</translation> <translation id="1359897965706325498">iragarki-banda</translation> @@ -185,6 +186,7 @@ <translation id="6643016212128521049">Garbitu</translation> <translation id="668171684555832681">Beste bat…</translation> <translation id="6692633176391053278">sekuentzia-hautatzailea</translation> +<translation id="6709093583001123835">Balioak <ph name="VALUE" /> izan behar du.</translation> <translation id="6709570249143506788">Erreprodukzio-kalitate txarra</translation> <translation id="6755330956360078551">argibidea</translation> <translation id="6790428901817661496">Erreproduzitu</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_fa.xtb b/third_party/blink/public/strings/translations/blink_strings_fa.xtb index 7c9560b..f033ea82 100644 --- a/third_party/blink/public/strings/translations/blink_strings_fa.xtb +++ b/third_party/blink/public/strings/translations/blink_strings_fa.xtb
@@ -13,6 +13,7 @@ <translation id="1211441953136645838">تهنویس</translation> <translation id="1281252709823657822">کادر گفتگو</translation> <translation id="1306460908038601864">خاموش</translation> +<translation id="1311894908970423688">مقدار باید <ph name="VALUE_DATE_OR_TIME" /> باشد.</translation> <translation id="1335095011850992622">دستاندرکاران</translation> <translation id="1342835525016946179">article</translation> <translation id="1359897965706325498">برنما</translation> @@ -185,6 +186,7 @@ <translation id="6643016212128521049">پاک کردن</translation> <translation id="668171684555832681">دیگر...</translation> <translation id="6692633176391053278">گام به گام</translation> +<translation id="6709093583001123835">مقدار باید <ph name="VALUE" /> باشد.</translation> <translation id="6709570249143506788">کیفیت پخش ضعیف</translation> <translation id="6755330956360078551">نکته ابزار</translation> <translation id="6790428901817661496">پخش</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_fi.xtb b/third_party/blink/public/strings/translations/blink_strings_fi.xtb index 76fbe20..b18db45b 100644 --- a/third_party/blink/public/strings/translations/blink_strings_fi.xtb +++ b/third_party/blink/public/strings/translations/blink_strings_fi.xtb
@@ -13,6 +13,7 @@ <translation id="1211441953136645838">loppuhuomautus</translation> <translation id="1281252709823657822">valintaikkuna</translation> <translation id="1306460908038601864">Pois päältä</translation> +<translation id="1311894908970423688">Arvon on oltava <ph name="VALUE_DATE_OR_TIME" />.</translation> <translation id="1335095011850992622">tunnustukset</translation> <translation id="1342835525016946179">artikkeli</translation> <translation id="1359897965706325498">banneri</translation> @@ -185,6 +186,7 @@ <translation id="6643016212128521049">Tyhjennä</translation> <translation id="668171684555832681">Joku muu profiili...</translation> <translation id="6692633176391053278">askellin</translation> +<translation id="6709093583001123835">Arvon on oltava <ph name="VALUE" />.</translation> <translation id="6709570249143506788">Heikko toiston laatu</translation> <translation id="6755330956360078551">työkaluvinkki</translation> <translation id="6790428901817661496">Toista</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_fil.xtb b/third_party/blink/public/strings/translations/blink_strings_fil.xtb index 28135d8..be35466 100644 --- a/third_party/blink/public/strings/translations/blink_strings_fil.xtb +++ b/third_party/blink/public/strings/translations/blink_strings_fil.xtb
@@ -13,6 +13,7 @@ <translation id="1211441953136645838">endnote</translation> <translation id="1281252709823657822">dialog</translation> <translation id="1306460908038601864">I-off</translation> +<translation id="1311894908970423688">Dapat ay <ph name="VALUE_DATE_OR_TIME" /> ang value.</translation> <translation id="1335095011850992622">mga credit</translation> <translation id="1342835525016946179">article</translation> <translation id="1359897965706325498">banner</translation> @@ -185,6 +186,7 @@ <translation id="6643016212128521049">I-clear</translation> <translation id="668171684555832681">Iba pa...</translation> <translation id="6692633176391053278">stepper</translation> +<translation id="6709093583001123835">Dapat ay <ph name="VALUE" /> ang value.</translation> <translation id="6709570249143506788">Hindi magandang playback quality</translation> <translation id="6755330956360078551">tooltip</translation> <translation id="6790428901817661496">I-play</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_fr-CA.xtb b/third_party/blink/public/strings/translations/blink_strings_fr-CA.xtb index 39ec5e5..d6fe3b2 100644 --- a/third_party/blink/public/strings/translations/blink_strings_fr-CA.xtb +++ b/third_party/blink/public/strings/translations/blink_strings_fr-CA.xtb
@@ -13,6 +13,7 @@ <translation id="1211441953136645838">note de fin</translation> <translation id="1281252709823657822">boîte de dialogue</translation> <translation id="1306460908038601864">Désactivé</translation> +<translation id="1311894908970423688">La valeur doit être <ph name="VALUE_DATE_OR_TIME" />.</translation> <translation id="1335095011850992622">crédits</translation> <translation id="1342835525016946179">article</translation> <translation id="1359897965706325498">bannière</translation> @@ -185,6 +186,7 @@ <translation id="6643016212128521049">Effacer</translation> <translation id="668171684555832681">Autre...</translation> <translation id="6692633176391053278">Touches fléchées</translation> +<translation id="6709093583001123835">La valeur doit être <ph name="VALUE" />.</translation> <translation id="6709570249143506788">Mauvaise qualité de lecture</translation> <translation id="6755330956360078551">infobulle</translation> <translation id="6790428901817661496">Jouer</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_fr.xtb b/third_party/blink/public/strings/translations/blink_strings_fr.xtb index 738184f..ff27d42 100644 --- a/third_party/blink/public/strings/translations/blink_strings_fr.xtb +++ b/third_party/blink/public/strings/translations/blink_strings_fr.xtb
@@ -13,6 +13,7 @@ <translation id="1211441953136645838">note de fin</translation> <translation id="1281252709823657822">boîte de dialogue</translation> <translation id="1306460908038601864">Désactivé</translation> +<translation id="1311894908970423688">Veuillez indiquer la valeur <ph name="VALUE_DATE_OR_TIME" />.</translation> <translation id="1335095011850992622">crédits</translation> <translation id="1342835525016946179">article</translation> <translation id="1359897965706325498">bannière</translation> @@ -185,6 +186,7 @@ <translation id="6643016212128521049">Effacer</translation> <translation id="668171684555832681">Autre...</translation> <translation id="6692633176391053278">curseur</translation> +<translation id="6709093583001123835">Veuillez indiquer la valeur <ph name="VALUE" />.</translation> <translation id="6709570249143506788">Mauvaise qualité de lecture</translation> <translation id="6755330956360078551">info-bulle</translation> <translation id="6790428901817661496">Lire</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_gl.xtb b/third_party/blink/public/strings/translations/blink_strings_gl.xtb index 499454d..3d3a1b4 100644 --- a/third_party/blink/public/strings/translations/blink_strings_gl.xtb +++ b/third_party/blink/public/strings/translations/blink_strings_gl.xtb
@@ -13,6 +13,7 @@ <translation id="1211441953136645838">nota ao final</translation> <translation id="1281252709823657822">cadro de diálogo</translation> <translation id="1306460908038601864">Desactivado</translation> +<translation id="1311894908970423688">O valor debe ser <ph name="VALUE_DATE_OR_TIME" />.</translation> <translation id="1335095011850992622">créditos</translation> <translation id="1342835525016946179">artigo</translation> <translation id="1359897965706325498">banner</translation> @@ -185,6 +186,7 @@ <translation id="6643016212128521049">Borrar</translation> <translation id="668171684555832681">Outros...</translation> <translation id="6692633176391053278">secuenciador</translation> +<translation id="6709093583001123835">O valor debe ser <ph name="VALUE" />.</translation> <translation id="6709570249143506788">Mala calidade de reprodución</translation> <translation id="6755330956360078551">cadro de información</translation> <translation id="6790428901817661496">Reproducir</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_gu.xtb b/third_party/blink/public/strings/translations/blink_strings_gu.xtb index 1cb6db8..038cdf6 100644 --- a/third_party/blink/public/strings/translations/blink_strings_gu.xtb +++ b/third_party/blink/public/strings/translations/blink_strings_gu.xtb
@@ -13,6 +13,7 @@ <translation id="1211441953136645838">અંતિમ નોંધ</translation> <translation id="1281252709823657822">સંવાદ</translation> <translation id="1306460908038601864">બંધ</translation> +<translation id="1311894908970423688">મૂલ્ય <ph name="VALUE_DATE_OR_TIME" /> હોવું આવશ્યક છે.</translation> <translation id="1335095011850992622">ક્રેડિટ</translation> <translation id="1342835525016946179">લેખ</translation> <translation id="1359897965706325498">બેનર</translation> @@ -185,6 +186,7 @@ <translation id="6643016212128521049">સાફ કરો</translation> <translation id="668171684555832681">અન્ય...</translation> <translation id="6692633176391053278">સ્ટેપર</translation> +<translation id="6709093583001123835">મૂલ્ય <ph name="VALUE" /> હોવું આવશ્યક છે.</translation> <translation id="6709570249143506788">ખરાબ પ્લેબૅક ક્વૉલિટી</translation> <translation id="6755330956360078551">ટૂલટીપ</translation> <translation id="6790428901817661496">ચલાવો</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_hu.xtb b/third_party/blink/public/strings/translations/blink_strings_hu.xtb index bdb5d0f..4b1dc96 100644 --- a/third_party/blink/public/strings/translations/blink_strings_hu.xtb +++ b/third_party/blink/public/strings/translations/blink_strings_hu.xtb
@@ -13,6 +13,7 @@ <translation id="1211441953136645838">záró jegyzet</translation> <translation id="1281252709823657822">párbeszédpanel</translation> <translation id="1306460908038601864">Ki</translation> +<translation id="1311894908970423688">Ilyen érték szükséges: <ph name="VALUE_DATE_OR_TIME" />.</translation> <translation id="1335095011850992622">készítők</translation> <translation id="1342835525016946179">cikk</translation> <translation id="1359897965706325498">szalaghirdetés</translation> @@ -185,6 +186,7 @@ <translation id="6643016212128521049">Törlés</translation> <translation id="668171684555832681">Egyéb...</translation> <translation id="6692633176391053278">léptető</translation> +<translation id="6709093583001123835">Ilyen érték szükséges: <ph name="VALUE" />.</translation> <translation id="6709570249143506788">Gyenge lejátszási minőség</translation> <translation id="6755330956360078551">elemleírás</translation> <translation id="6790428901817661496">Lejátszás</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_id.xtb b/third_party/blink/public/strings/translations/blink_strings_id.xtb index 5a000fd..b89fdb5 100644 --- a/third_party/blink/public/strings/translations/blink_strings_id.xtb +++ b/third_party/blink/public/strings/translations/blink_strings_id.xtb
@@ -13,6 +13,7 @@ <translation id="1211441953136645838">catatan akhir</translation> <translation id="1281252709823657822">dialog</translation> <translation id="1306460908038601864">Nonaktif</translation> +<translation id="1311894908970423688">Nilai harus <ph name="VALUE_DATE_OR_TIME" />.</translation> <translation id="1335095011850992622">daftar penghargaan</translation> <translation id="1342835525016946179">article</translation> <translation id="1359897965706325498">spanduk</translation> @@ -185,6 +186,7 @@ <translation id="6643016212128521049">Hapus</translation> <translation id="668171684555832681">Lainnya...</translation> <translation id="6692633176391053278">stepper</translation> +<translation id="6709093583001123835">Nilai harus <ph name="VALUE" />.</translation> <translation id="6709570249143506788">Kualitas pemutaran buruk</translation> <translation id="6755330956360078551">keterangan alat</translation> <translation id="6790428901817661496">Putar</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_is.xtb b/third_party/blink/public/strings/translations/blink_strings_is.xtb index 43af7f3..0acc1630 100644 --- a/third_party/blink/public/strings/translations/blink_strings_is.xtb +++ b/third_party/blink/public/strings/translations/blink_strings_is.xtb
@@ -13,6 +13,7 @@ <translation id="1211441953136645838">aftanmálsgrein</translation> <translation id="1281252709823657822">gluggi</translation> <translation id="1306460908038601864">Slökkt</translation> +<translation id="1311894908970423688">Gildi verður að vera <ph name="VALUE_DATE_OR_TIME" />.</translation> <translation id="1335095011850992622">samstarfsaðilar</translation> <translation id="1342835525016946179">grein</translation> <translation id="1359897965706325498">borði</translation> @@ -185,6 +186,7 @@ <translation id="6643016212128521049">Hreinsa</translation> <translation id="668171684555832681">Annað...</translation> <translation id="6692633176391053278">skrefastýring</translation> +<translation id="6709093583001123835">Gildi verður að vera <ph name="VALUE" />.</translation> <translation id="6709570249143506788">Léleg spilunargæði</translation> <translation id="6755330956360078551">ábending</translation> <translation id="6790428901817661496">Spila</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_iw.xtb b/third_party/blink/public/strings/translations/blink_strings_iw.xtb index f8e4d97..71b685f7 100644 --- a/third_party/blink/public/strings/translations/blink_strings_iw.xtb +++ b/third_party/blink/public/strings/translations/blink_strings_iw.xtb
@@ -13,6 +13,7 @@ <translation id="1211441953136645838">הערת סיום</translation> <translation id="1281252709823657822">דו-שיח</translation> <translation id="1306460908038601864">כבוי</translation> +<translation id="1311894908970423688">הערך חייב להיות <ph name="VALUE_DATE_OR_TIME" />.</translation> <translation id="1335095011850992622">קרדיטים</translation> <translation id="1342835525016946179">article</translation> <translation id="1359897965706325498">מודעת באנר</translation> @@ -185,6 +186,7 @@ <translation id="6643016212128521049">ניקוי</translation> <translation id="668171684555832681">אחר...</translation> <translation id="6692633176391053278">פקד חצים</translation> +<translation id="6709093583001123835">הערך חייב להיות <ph name="VALUE" />.</translation> <translation id="6709570249143506788">איכות הפעלה נמוכה</translation> <translation id="6755330956360078551">הסבר קצר</translation> <translation id="6790428901817661496">הפעל</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_ja.xtb b/third_party/blink/public/strings/translations/blink_strings_ja.xtb index 1417d13..ef62e95 100644 --- a/third_party/blink/public/strings/translations/blink_strings_ja.xtb +++ b/third_party/blink/public/strings/translations/blink_strings_ja.xtb
@@ -13,6 +13,7 @@ <translation id="1211441953136645838">巻末注</translation> <translation id="1281252709823657822">ダイアログ</translation> <translation id="1306460908038601864">オフ</translation> +<translation id="1311894908970423688">値は <ph name="VALUE_DATE_OR_TIME" /> とする必要があります。</translation> <translation id="1335095011850992622">クレジット</translation> <translation id="1342835525016946179">記事</translation> <translation id="1359897965706325498">バナー</translation> @@ -185,6 +186,7 @@ <translation id="6643016212128521049">削除</translation> <translation id="668171684555832681">その他...</translation> <translation id="6692633176391053278">ステッパー</translation> +<translation id="6709093583001123835">値は <ph name="VALUE" /> とする必要があります。</translation> <translation id="6709570249143506788">低再生画質</translation> <translation id="6755330956360078551">ツールチップ</translation> <translation id="6790428901817661496">再生</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_kk.xtb b/third_party/blink/public/strings/translations/blink_strings_kk.xtb index 5e6b1a8..5b97f65 100644 --- a/third_party/blink/public/strings/translations/blink_strings_kk.xtb +++ b/third_party/blink/public/strings/translations/blink_strings_kk.xtb
@@ -13,6 +13,7 @@ <translation id="1211441953136645838">түсіндірме</translation> <translation id="1281252709823657822">диалогтық терезе</translation> <translation id="1306460908038601864">Өшірулі</translation> +<translation id="1311894908970423688">Қажетті мән: <ph name="VALUE_DATE_OR_TIME" />.</translation> <translation id="1335095011850992622">рұқсаттар</translation> <translation id="1342835525016946179">мақала</translation> <translation id="1359897965706325498">баннер</translation> @@ -185,6 +186,7 @@ <translation id="6643016212128521049">Тазалау</translation> <translation id="668171684555832681">Басқа…</translation> <translation id="6692633176391053278">санағыш</translation> +<translation id="6709093583001123835">Қажетті мән: <ph name="VALUE" />.</translation> <translation id="6709570249143506788">Ойнату сапасы нашар</translation> <translation id="6755330956360078551">қалқымалы сөзкөмек</translation> <translation id="6790428901817661496">Ойнату</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_km.xtb b/third_party/blink/public/strings/translations/blink_strings_km.xtb index 63fbc60..74475fee 100644 --- a/third_party/blink/public/strings/translations/blink_strings_km.xtb +++ b/third_party/blink/public/strings/translations/blink_strings_km.xtb
@@ -13,6 +13,7 @@ <translation id="1211441953136645838">កំណត់ចំណាំនៅខាងចុង</translation> <translation id="1281252709823657822">ប្រអប់</translation> <translation id="1306460908038601864">បិទ</translation> +<translation id="1311894908970423688">តម្លៃត្រូវតែ <ph name="VALUE_DATE_OR_TIME" />។</translation> <translation id="1335095011850992622">ការថ្លែងអំណរគុណ</translation> <translation id="1342835525016946179">អត្ថបទ</translation> <translation id="1359897965706325498">បដា</translation> @@ -185,6 +186,7 @@ <translation id="6643016212128521049">ជម្រះ</translation> <translation id="668171684555832681">ផ្សេងទៀត...</translation> <translation id="6692633176391053278">stepper</translation> +<translation id="6709093583001123835">តម្លៃត្រូវតែ <ph name="VALUE" />។</translation> <translation id="6709570249143506788">គុណភាពចាក់វីដេអូមានកម្រិតទាប</translation> <translation id="6755330956360078551">ព័ត៌មានជំនួយ</translation> <translation id="6790428901817661496">លេង</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_ko.xtb b/third_party/blink/public/strings/translations/blink_strings_ko.xtb index f085865..c1999370 100644 --- a/third_party/blink/public/strings/translations/blink_strings_ko.xtb +++ b/third_party/blink/public/strings/translations/blink_strings_ko.xtb
@@ -13,6 +13,7 @@ <translation id="1211441953136645838">미주</translation> <translation id="1281252709823657822">대화상자</translation> <translation id="1306460908038601864">꺼짐</translation> +<translation id="1311894908970423688">값이 <ph name="VALUE_DATE_OR_TIME" />여야 합니다.</translation> <translation id="1335095011850992622">저작권 표시</translation> <translation id="1342835525016946179">article</translation> <translation id="1359897965706325498">배너</translation> @@ -185,6 +186,7 @@ <translation id="6643016212128521049">삭제</translation> <translation id="668171684555832681">기타...</translation> <translation id="6692633176391053278">증감자</translation> +<translation id="6709093583001123835">값이 <ph name="VALUE" />여야 합니다.</translation> <translation id="6709570249143506788">재생 품질 나쁨</translation> <translation id="6755330956360078551">도움말</translation> <translation id="6790428901817661496">재생</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_ky.xtb b/third_party/blink/public/strings/translations/blink_strings_ky.xtb index a780b109..2012bef 100644 --- a/third_party/blink/public/strings/translations/blink_strings_ky.xtb +++ b/third_party/blink/public/strings/translations/blink_strings_ky.xtb
@@ -13,6 +13,7 @@ <translation id="1211441953136645838">түшүндүрмө</translation> <translation id="1281252709823657822">диалог</translation> <translation id="1306460908038601864">Өчүк</translation> +<translation id="1311894908970423688">Мааниси <ph name="VALUE_DATE_OR_TIME" /> болуш керек.</translation> <translation id="1335095011850992622">китептин чыгышы жөнүндөгү маалыматтар</translation> <translation id="1342835525016946179">article</translation> <translation id="1359897965706325498">баннер</translation> @@ -185,6 +186,7 @@ <translation id="6643016212128521049">Тазалоо</translation> <translation id="668171684555832681">Башка…</translation> <translation id="6692633176391053278">арыштагыч</translation> +<translation id="6709093583001123835">Мааниси <ph name="VALUE" /> болуш керек.</translation> <translation id="6709570249143506788">Ойнотуу сапаты начар</translation> <translation id="6755330956360078551">калкып чыгуучу кеңеш</translation> <translation id="6790428901817661496">Ойнотуу</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_lo.xtb b/third_party/blink/public/strings/translations/blink_strings_lo.xtb index b7ad165..7b5b9724 100644 --- a/third_party/blink/public/strings/translations/blink_strings_lo.xtb +++ b/third_party/blink/public/strings/translations/blink_strings_lo.xtb
@@ -13,6 +13,7 @@ <translation id="1211441953136645838">ໝາຍເຫດທ້າຍເລື່ອງ</translation> <translation id="1281252709823657822">ກ່ອງໂຕ້ຕອບ</translation> <translation id="1306460908038601864">ປິດ</translation> +<translation id="1311894908970423688">ຄ່າຕ້ອງເປັນ <ph name="VALUE_DATE_OR_TIME" />.</translation> <translation id="1335095011850992622">ເຄຣດິດ</translation> <translation id="1342835525016946179">ບົດຄວາມ</translation> <translation id="1359897965706325498">ປ້າຍໂຄສະນາ</translation> @@ -185,6 +186,7 @@ <translation id="6643016212128521049">ລຶບ</translation> <translation id="668171684555832681">ອື່ນໆ...</translation> <translation id="6692633176391053278">ຄື້ນຂຶ້ນລົງ</translation> +<translation id="6709093583001123835">ຄ່າຕ້ອງເປັນ <ph name="VALUE" />.</translation> <translation id="6709570249143506788">ຄຸນນະພາບການຫຼິ້ນບໍ່ດີ</translation> <translation id="6755330956360078551">ເຄັດລັບເຄື່ອງມື</translation> <translation id="6790428901817661496">ຫຼິ້ນ</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_lv.xtb b/third_party/blink/public/strings/translations/blink_strings_lv.xtb index aa0972cf..d75cd5f 100644 --- a/third_party/blink/public/strings/translations/blink_strings_lv.xtb +++ b/third_party/blink/public/strings/translations/blink_strings_lv.xtb
@@ -13,6 +13,7 @@ <translation id="1211441953136645838">beigu vēre</translation> <translation id="1281252709823657822">dialoglodziņš</translation> <translation id="1306460908038601864">Izsl.</translation> +<translation id="1311894908970423688">Jābūt šādai vērtībai: <ph name="VALUE_DATE_OR_TIME" />.</translation> <translation id="1335095011850992622">pateicības</translation> <translation id="1342835525016946179">raksts</translation> <translation id="1359897965706325498">reklāmkarogs</translation> @@ -185,6 +186,7 @@ <translation id="6643016212128521049">Notīrīt</translation> <translation id="668171684555832681">Cits</translation> <translation id="6692633176391053278">pārslēdzējs</translation> +<translation id="6709093583001123835">Jābūt šādai vērtībai: <ph name="VALUE" />.</translation> <translation id="6709570249143506788">Slikta atskaņošanas kvalitāte</translation> <translation id="6755330956360078551">rīka padoms</translation> <translation id="6790428901817661496">Atskaņot</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_mn.xtb b/third_party/blink/public/strings/translations/blink_strings_mn.xtb index 42f9fb5..b7a3bed 100644 --- a/third_party/blink/public/strings/translations/blink_strings_mn.xtb +++ b/third_party/blink/public/strings/translations/blink_strings_mn.xtb
@@ -13,6 +13,7 @@ <translation id="1211441953136645838">нэмэлт тэмдэглэл</translation> <translation id="1281252709823657822">харилцан яриа</translation> <translation id="1306460908038601864">Унтраалттай</translation> +<translation id="1311894908970423688">Утга нь <ph name="VALUE_DATE_OR_TIME" /> байх ёстой.</translation> <translation id="1335095011850992622">оролцогчид</translation> <translation id="1342835525016946179">Гарчиг</translation> <translation id="1359897965706325498">баннер</translation> @@ -185,6 +186,7 @@ <translation id="6643016212128521049">Цэвэрлэх</translation> <translation id="668171684555832681">Бусад...</translation> <translation id="6692633176391053278">stepper</translation> +<translation id="6709093583001123835">Утга нь <ph name="VALUE" /> байх ёстой.</translation> <translation id="6709570249143506788">Тоглуулагчийн чанар муу байна</translation> <translation id="6755330956360078551">хэрэгслийн зөвлөмж</translation> <translation id="6790428901817661496">Тоглуулах</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_ms.xtb b/third_party/blink/public/strings/translations/blink_strings_ms.xtb index 7bd14d6..60704e4 100644 --- a/third_party/blink/public/strings/translations/blink_strings_ms.xtb +++ b/third_party/blink/public/strings/translations/blink_strings_ms.xtb
@@ -13,6 +13,7 @@ <translation id="1211441953136645838">nota hujung</translation> <translation id="1281252709823657822">dialog</translation> <translation id="1306460908038601864">Mati</translation> +<translation id="1311894908970423688">Nilai mestilah <ph name="VALUE_DATE_OR_TIME" />.</translation> <translation id="1335095011850992622">kredit</translation> <translation id="1342835525016946179">artikel</translation> <translation id="1359897965706325498">sepanduk</translation> @@ -185,6 +186,7 @@ <translation id="6643016212128521049">Kosongkan</translation> <translation id="668171684555832681">Lain-lain...</translation> <translation id="6692633176391053278">pelangkah</translation> +<translation id="6709093583001123835">Nilai mestilah <ph name="VALUE" />.</translation> <translation id="6709570249143506788">Mutu main balik teruk</translation> <translation id="6755330956360078551">tip alat</translation> <translation id="6790428901817661496">Mainkan</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_my.xtb b/third_party/blink/public/strings/translations/blink_strings_my.xtb index 28ddfc7..7320b97 100644 --- a/third_party/blink/public/strings/translations/blink_strings_my.xtb +++ b/third_party/blink/public/strings/translations/blink_strings_my.xtb
@@ -13,6 +13,7 @@ <translation id="1211441953136645838">အဆုံးသတ် မှတ်ချက်</translation> <translation id="1281252709823657822">ဒိုင်ယာလော့</translation> <translation id="1306460908038601864">ပိတ်ထားသည်</translation> +<translation id="1311894908970423688">တန်ဖိုးမှာ <ph name="VALUE_DATE_OR_TIME" /> ဖြစ်ရမည်။</translation> <translation id="1335095011850992622">မှတ်တမ်းတင်ထိုက်သူများ စာရင်း</translation> <translation id="1342835525016946179">ဆောင်းပါး</translation> <translation id="1359897965706325498">နဖူးစည်းစာတန်း</translation> @@ -185,6 +186,7 @@ <translation id="6643016212128521049">ရှင်းရန်</translation> <translation id="668171684555832681">အခြား...</translation> <translation id="6692633176391053278">ခြေလှမ်းခြင်း</translation> +<translation id="6709093583001123835">တန်ဖိုးမှာ <ph name="VALUE" /> ဖြစ်ရမည်။</translation> <translation id="6709570249143506788">ဆိုးရွားသော ဗီဒီယို အရည်အသွေး</translation> <translation id="6755330956360078551">ကိရိယာ အသုံးပြုမှုနည်းလမ်း</translation> <translation id="6790428901817661496">ဖွင့်ရန်</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_ne.xtb b/third_party/blink/public/strings/translations/blink_strings_ne.xtb index a1397af..63f0aba 100644 --- a/third_party/blink/public/strings/translations/blink_strings_ne.xtb +++ b/third_party/blink/public/strings/translations/blink_strings_ne.xtb
@@ -13,6 +13,7 @@ <translation id="1211441953136645838">एन्डनोट</translation> <translation id="1281252709823657822">संवाद</translation> <translation id="1306460908038601864">निष्क्रिय छ</translation> +<translation id="1311894908970423688">मान अनिवार्य रूपमा <ph name="VALUE_DATE_OR_TIME" /> हुनु पर्छ।</translation> <translation id="1335095011850992622">श्रेय</translation> <translation id="1342835525016946179">लेख</translation> <translation id="1359897965706325498">ब्यानर</translation> @@ -185,6 +186,7 @@ <translation id="6643016212128521049">खालि गर्नुहोस्</translation> <translation id="668171684555832681">अन्य...</translation> <translation id="6692633176391053278">स्टेप्पर</translation> +<translation id="6709093583001123835">मान अनिवार्य रूपमा <ph name="VALUE" /> हुनु पर्छ।</translation> <translation id="6709570249143506788">प्लेब्याकको खराब गुणस्तर</translation> <translation id="6755330956360078551">उपकरण वर्णन</translation> <translation id="6790428901817661496">प्ले गर्नुहोस्</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_pa.xtb b/third_party/blink/public/strings/translations/blink_strings_pa.xtb index 787e7fb..a702a1c 100644 --- a/third_party/blink/public/strings/translations/blink_strings_pa.xtb +++ b/third_party/blink/public/strings/translations/blink_strings_pa.xtb
@@ -13,6 +13,7 @@ <translation id="1211441953136645838">ਵਿਸ਼ੇਸ਼ ਜਾਣਕਾਰੀ</translation> <translation id="1281252709823657822">ਡਾਇਲੌਗ</translation> <translation id="1306460908038601864">ਬੰਦ</translation> +<translation id="1311894908970423688">ਮੁੱਲ <ph name="VALUE_DATE_OR_TIME" /> ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ।</translation> <translation id="1335095011850992622">ਕ੍ਰੈਡਿਟ</translation> <translation id="1342835525016946179">ਲੇਖ</translation> <translation id="1359897965706325498">ਬੈਨਰ</translation> @@ -185,6 +186,7 @@ <translation id="6643016212128521049">ਹਟਾਓ</translation> <translation id="668171684555832681">ਹੋਰ...</translation> <translation id="6692633176391053278">ਸਟੈਪਰ</translation> +<translation id="6709093583001123835">ਮੁੱਲ <ph name="VALUE" /> ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ।</translation> <translation id="6709570249143506788">ਘਟੀਆ ਪਲੇਬੈਕ ਗੁਣਵੱਤਾ</translation> <translation id="6755330956360078551">ਟੂਲਟਿੱਪ</translation> <translation id="6790428901817661496">ਪਲੇ ਕਰੋ</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_ro.xtb b/third_party/blink/public/strings/translations/blink_strings_ro.xtb index f7a45ca..d21e1a0 100644 --- a/third_party/blink/public/strings/translations/blink_strings_ro.xtb +++ b/third_party/blink/public/strings/translations/blink_strings_ro.xtb
@@ -13,6 +13,7 @@ <translation id="1211441953136645838">notă de final</translation> <translation id="1281252709823657822">dialog</translation> <translation id="1306460908038601864">Dezactivat</translation> +<translation id="1311894908970423688">Valoarea trebuie să fie <ph name="VALUE_DATE_OR_TIME" />.</translation> <translation id="1335095011850992622">mulțumiri</translation> <translation id="1342835525016946179">articol</translation> <translation id="1359897965706325498">banner</translation> @@ -185,6 +186,7 @@ <translation id="6643016212128521049">Șterge</translation> <translation id="668171684555832681">Altele...</translation> <translation id="6692633176391053278">control numeric cu incrementare/decrementare</translation> +<translation id="6709093583001123835">Valoarea trebuie să fie <ph name="VALUE" />.</translation> <translation id="6709570249143506788">Calitate slabă a redării</translation> <translation id="6755330956360078551">balon explicativ</translation> <translation id="6790428901817661496">Redă</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_ru.xtb b/third_party/blink/public/strings/translations/blink_strings_ru.xtb index 7d63e9f..51182da 100644 --- a/third_party/blink/public/strings/translations/blink_strings_ru.xtb +++ b/third_party/blink/public/strings/translations/blink_strings_ru.xtb
@@ -13,6 +13,7 @@ <translation id="1211441953136645838">концевая сноска</translation> <translation id="1281252709823657822">диалоговое окно</translation> <translation id="1306460908038601864">ВЫКЛ</translation> +<translation id="1311894908970423688">Необходимое значение: <ph name="VALUE_DATE_OR_TIME" /></translation> <translation id="1335095011850992622">выходные сведения</translation> <translation id="1342835525016946179">article</translation> <translation id="1359897965706325498">баннер</translation> @@ -185,6 +186,7 @@ <translation id="6643016212128521049">Удалить</translation> <translation id="668171684555832681">Другой...</translation> <translation id="6692633176391053278">счетчик</translation> +<translation id="6709093583001123835">Необходимое значение: <ph name="VALUE" /></translation> <translation id="6709570249143506788">Плохое качество воспроизведения</translation> <translation id="6755330956360078551">подсказка</translation> <translation id="6790428901817661496">Воспроизвести</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_sq.xtb b/third_party/blink/public/strings/translations/blink_strings_sq.xtb index 9fed34b..3036971 100644 --- a/third_party/blink/public/strings/translations/blink_strings_sq.xtb +++ b/third_party/blink/public/strings/translations/blink_strings_sq.xtb
@@ -13,6 +13,7 @@ <translation id="1211441953136645838">shënim fundor</translation> <translation id="1281252709823657822">dialog</translation> <translation id="1306460908038601864">Joaktiv</translation> +<translation id="1311894908970423688">Vlera duhet të jetë <ph name="VALUE_DATE_OR_TIME" />.</translation> <translation id="1335095011850992622">kredite</translation> <translation id="1342835525016946179">artikull</translation> <translation id="1359897965706325498">banderolë</translation> @@ -185,6 +186,7 @@ <translation id="6643016212128521049">Pastro</translation> <translation id="668171684555832681">Tjetër...</translation> <translation id="6692633176391053278">pulsant</translation> +<translation id="6709093583001123835">Vlera duhet të jetë <ph name="VALUE" />.</translation> <translation id="6709570249143506788">Cilësi e dobët e luajtjes</translation> <translation id="6755330956360078551">informacion për veglën</translation> <translation id="6790428901817661496">Luaj</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_sw.xtb b/third_party/blink/public/strings/translations/blink_strings_sw.xtb index 2fa7bd21..c6c60246 100644 --- a/third_party/blink/public/strings/translations/blink_strings_sw.xtb +++ b/third_party/blink/public/strings/translations/blink_strings_sw.xtb
@@ -13,6 +13,7 @@ <translation id="1211441953136645838">maelezo ya mwisho wa kitabu</translation> <translation id="1281252709823657822">kidirisha</translation> <translation id="1306460908038601864">Imezimwa</translation> +<translation id="1311894908970423688">Ni lazima thamani iwe <ph name="VALUE_DATE_OR_TIME" />.</translation> <translation id="1335095011850992622">walioshiriki</translation> <translation id="1342835525016946179">makala</translation> <translation id="1359897965706325498">bango</translation> @@ -185,6 +186,7 @@ <translation id="6643016212128521049">Futa</translation> <translation id="668171684555832681">Mengine...</translation> <translation id="6692633176391053278">stepper</translation> +<translation id="6709093583001123835">Ni lazima thamani iwe <ph name="VALUE" />.</translation> <translation id="6709570249143506788">Ubora wa chini wa kucheza video</translation> <translation id="6755330956360078551">kidirisha cha vidokezo</translation> <translation id="6790428901817661496">Cheza</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_ta.xtb b/third_party/blink/public/strings/translations/blink_strings_ta.xtb index d1680bf..d9a08ba 100644 --- a/third_party/blink/public/strings/translations/blink_strings_ta.xtb +++ b/third_party/blink/public/strings/translations/blink_strings_ta.xtb
@@ -13,6 +13,7 @@ <translation id="1211441953136645838">முடிவுக்குறிப்பு</translation> <translation id="1281252709823657822">உரையாடல்</translation> <translation id="1306460908038601864">முடக்கு</translation> +<translation id="1311894908970423688">தேதி <ph name="VALUE_DATE_OR_TIME" /> என இருக்க வேண்டும்.</translation> <translation id="1335095011850992622">பங்களித்தவர்கள்</translation> <translation id="1342835525016946179">article</translation> <translation id="1359897965706325498">பேனர்</translation> @@ -185,6 +186,7 @@ <translation id="6643016212128521049">அழி</translation> <translation id="668171684555832681">மற்றவை…</translation> <translation id="6692633176391053278">ஸ்டெப்பர்</translation> +<translation id="6709093583001123835">மதிப்பு <ph name="VALUE" /> என இருக்க வேண்டும்.</translation> <translation id="6709570249143506788">மோசமான வீடியோவின் தரம்</translation> <translation id="6755330956360078551">உதவிக்குறிப்பு</translation> <translation id="6790428901817661496">இயக்கு</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_te.xtb b/third_party/blink/public/strings/translations/blink_strings_te.xtb index f4432b19..94e27185 100644 --- a/third_party/blink/public/strings/translations/blink_strings_te.xtb +++ b/third_party/blink/public/strings/translations/blink_strings_te.xtb
@@ -13,6 +13,7 @@ <translation id="1211441953136645838">ఎండ్నోట్</translation> <translation id="1281252709823657822">డైలాగ్</translation> <translation id="1306460908038601864">ఆఫ్ చేయబడ్డాయి</translation> +<translation id="1311894908970423688">విలువ ఖచ్చితంగా <ph name="VALUE_DATE_OR_TIME" /> అయ్యి ఉండాలి.</translation> <translation id="1335095011850992622">సహకారులు</translation> <translation id="1342835525016946179">కథనం</translation> <translation id="1359897965706325498">బ్యానర్</translation> @@ -185,6 +186,7 @@ <translation id="6643016212128521049">క్లియర్ చేయి</translation> <translation id="668171684555832681">ఇతర...</translation> <translation id="6692633176391053278">స్టెప్పర్</translation> +<translation id="6709093583001123835">విలువ ఖచ్చితంగా <ph name="VALUE" /> అయ్యి ఉండాలి.</translation> <translation id="6709570249143506788">ప్లేబ్యాక్ నాణ్యత బాగాలేదు</translation> <translation id="6755330956360078551">సాధన చిట్కా</translation> <translation id="6790428901817661496">ప్లే చేయి</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_th.xtb b/third_party/blink/public/strings/translations/blink_strings_th.xtb index e5af1fd7..771c0f1 100644 --- a/third_party/blink/public/strings/translations/blink_strings_th.xtb +++ b/third_party/blink/public/strings/translations/blink_strings_th.xtb
@@ -13,6 +13,7 @@ <translation id="1211441953136645838">อ้างอิงท้ายเรื่อง</translation> <translation id="1281252709823657822">กล่องโต้ตอบ</translation> <translation id="1306460908038601864">ปิด</translation> +<translation id="1311894908970423688">ค่าต้องเป็น <ph name="VALUE_DATE_OR_TIME" /></translation> <translation id="1335095011850992622">เครดิต</translation> <translation id="1342835525016946179">บทความ</translation> <translation id="1359897965706325498">แบนเนอร์</translation> @@ -185,6 +186,7 @@ <translation id="6643016212128521049">ล้าง</translation> <translation id="668171684555832681">อื่นๆ...</translation> <translation id="6692633176391053278">ตัวเพิ่ม/ลดระดับเสียง</translation> +<translation id="6709093583001123835">ค่าต้องเป็น <ph name="VALUE" /></translation> <translation id="6709570249143506788">คุณภาพการเล่นต่ำ</translation> <translation id="6755330956360078551">เคล็ดลับเครื่องมือ</translation> <translation id="6790428901817661496">เล่น</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_tr.xtb b/third_party/blink/public/strings/translations/blink_strings_tr.xtb index 7dfe43a4..43bbc22 100644 --- a/third_party/blink/public/strings/translations/blink_strings_tr.xtb +++ b/third_party/blink/public/strings/translations/blink_strings_tr.xtb
@@ -13,6 +13,7 @@ <translation id="1211441953136645838">son not</translation> <translation id="1281252709823657822">iletişim kutusu</translation> <translation id="1306460908038601864">Kapalı</translation> +<translation id="1311894908970423688">Değer, <ph name="VALUE_DATE_OR_TIME" /> olmalıdır.</translation> <translation id="1335095011850992622">katkıda bulunanlar</translation> <translation id="1342835525016946179">article</translation> <translation id="1359897965706325498">banner</translation> @@ -185,6 +186,7 @@ <translation id="6643016212128521049">Temizle</translation> <translation id="668171684555832681">Diğer...</translation> <translation id="6692633176391053278">stepper (adımlayıcı)</translation> +<translation id="6709093583001123835">Değer, <ph name="VALUE" /> olmalıdır.</translation> <translation id="6709570249143506788">Oynatma kalitesi kötü</translation> <translation id="6755330956360078551">ipucu</translation> <translation id="6790428901817661496">Oynat</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_uz.xtb b/third_party/blink/public/strings/translations/blink_strings_uz.xtb index 717d8ef0..ffcddf4a 100644 --- a/third_party/blink/public/strings/translations/blink_strings_uz.xtb +++ b/third_party/blink/public/strings/translations/blink_strings_uz.xtb
@@ -13,6 +13,7 @@ <translation id="1211441953136645838">yakuniy izoh</translation> <translation id="1281252709823657822">muloqot oynasi</translation> <translation id="1306460908038601864">Yoqilmagan</translation> +<translation id="1311894908970423688">Qiymat formati: <ph name="VALUE_DATE_OR_TIME" />.</translation> <translation id="1335095011850992622">mualliflar</translation> <translation id="1342835525016946179">article</translation> <translation id="1359897965706325498">banner</translation> @@ -185,6 +186,7 @@ <translation id="6643016212128521049">Tozalash</translation> <translation id="668171684555832681">Boshqa...</translation> <translation id="6692633176391053278">hisoblagich</translation> +<translation id="6709093583001123835">Qiymat formati: <ph name="VALUE" />.</translation> <translation id="6709570249143506788">Ijro sifati past</translation> <translation id="6755330956360078551">bildirgi</translation> <translation id="6790428901817661496">Ijro etish</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_vi.xtb b/third_party/blink/public/strings/translations/blink_strings_vi.xtb index 7964dea..0738f6cf 100644 --- a/third_party/blink/public/strings/translations/blink_strings_vi.xtb +++ b/third_party/blink/public/strings/translations/blink_strings_vi.xtb
@@ -13,6 +13,7 @@ <translation id="1211441953136645838">chú thích cuối</translation> <translation id="1281252709823657822">hộp thoại</translation> <translation id="1306460908038601864">Tắt</translation> +<translation id="1311894908970423688">Giá trị phải là <ph name="VALUE_DATE_OR_TIME" />.</translation> <translation id="1335095011850992622">ghi nhận tác giả</translation> <translation id="1342835525016946179">bài viết</translation> <translation id="1359897965706325498">biểu ngữ</translation> @@ -185,6 +186,7 @@ <translation id="6643016212128521049">Xóa</translation> <translation id="668171684555832681">Khác...</translation> <translation id="6692633176391053278">điều khiển tăng/giảm</translation> +<translation id="6709093583001123835">Giá trị phải là <ph name="VALUE" />.</translation> <translation id="6709570249143506788">Chất lượng phát lại kém</translation> <translation id="6755330956360078551">chú giải công cụ</translation> <translation id="6790428901817661496">Phát</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_zh-CN.xtb b/third_party/blink/public/strings/translations/blink_strings_zh-CN.xtb index d1212d8..561877d 100644 --- a/third_party/blink/public/strings/translations/blink_strings_zh-CN.xtb +++ b/third_party/blink/public/strings/translations/blink_strings_zh-CN.xtb
@@ -13,6 +13,7 @@ <translation id="1211441953136645838">尾注</translation> <translation id="1281252709823657822">对话框</translation> <translation id="1306460908038601864">已关闭</translation> +<translation id="1311894908970423688">值必须为 <ph name="VALUE_DATE_OR_TIME" />。</translation> <translation id="1335095011850992622">参与者名单</translation> <translation id="1342835525016946179">文章标记</translation> <translation id="1359897965706325498">横幅</translation> @@ -185,6 +186,7 @@ <translation id="6643016212128521049">清除</translation> <translation id="668171684555832681">其他...</translation> <translation id="6692633176391053278">步进器</translation> +<translation id="6709093583001123835">值必须为 <ph name="VALUE" />。</translation> <translation id="6709570249143506788">播放质量不佳</translation> <translation id="6755330956360078551">提示</translation> <translation id="6790428901817661496">播放</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_zh-HK.xtb b/third_party/blink/public/strings/translations/blink_strings_zh-HK.xtb index 8c0e425..9a4952d63 100644 --- a/third_party/blink/public/strings/translations/blink_strings_zh-HK.xtb +++ b/third_party/blink/public/strings/translations/blink_strings_zh-HK.xtb
@@ -13,6 +13,7 @@ <translation id="1211441953136645838">尾註</translation> <translation id="1281252709823657822">對話框</translation> <translation id="1306460908038601864">關閉</translation> +<translation id="1311894908970423688">數值必須為 <ph name="VALUE_DATE_OR_TIME" />。</translation> <translation id="1335095011850992622">參與名單</translation> <translation id="1342835525016946179">文章</translation> <translation id="1359897965706325498">橫額</translation> @@ -185,6 +186,7 @@ <translation id="6643016212128521049">清除</translation> <translation id="668171684555832681">其他顏色…</translation> <translation id="6692633176391053278">步進器</translation> +<translation id="6709093583001123835">數值必須為 <ph name="VALUE" />。</translation> <translation id="6709570249143506788">播放品質欠佳</translation> <translation id="6755330956360078551">提示</translation> <translation id="6790428901817661496">播放</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_zh-TW.xtb b/third_party/blink/public/strings/translations/blink_strings_zh-TW.xtb index 5ad37c7..ffa65c9 100644 --- a/third_party/blink/public/strings/translations/blink_strings_zh-TW.xtb +++ b/third_party/blink/public/strings/translations/blink_strings_zh-TW.xtb
@@ -13,6 +13,7 @@ <translation id="1211441953136645838">章節附註</translation> <translation id="1281252709823657822">對話方塊</translation> <translation id="1306460908038601864">關閉</translation> +<translation id="1311894908970423688">值必須是 <ph name="VALUE_DATE_OR_TIME" />。</translation> <translation id="1335095011850992622">參與名單</translation> <translation id="1342835525016946179">文章</translation> <translation id="1359897965706325498">橫幅</translation> @@ -185,6 +186,7 @@ <translation id="6643016212128521049">清除</translation> <translation id="668171684555832681">其他...</translation> <translation id="6692633176391053278">步進器</translation> +<translation id="6709093583001123835">值必須是 <ph name="VALUE" />。</translation> <translation id="6709570249143506788">播放品質不佳</translation> <translation id="6755330956360078551">工具提示</translation> <translation id="6790428901817661496">播放</translation>
diff --git a/third_party/blink/public/strings/translations/blink_strings_zu.xtb b/third_party/blink/public/strings/translations/blink_strings_zu.xtb index f2cc40e..cfcac33e 100644 --- a/third_party/blink/public/strings/translations/blink_strings_zu.xtb +++ b/third_party/blink/public/strings/translations/blink_strings_zu.xtb
@@ -13,6 +13,7 @@ <translation id="1211441953136645838">inothi lokugcina</translation> <translation id="1281252709823657822">ingxoxo</translation> <translation id="1306460908038601864">Valiwe</translation> +<translation id="1311894908970423688">Inani kufanele libe ngu-<ph name="VALUE_DATE_OR_TIME" />.</translation> <translation id="1335095011850992622">amakhredithi</translation> <translation id="1342835525016946179">i-athikili</translation> <translation id="1359897965706325498">isibhengezo</translation> @@ -185,6 +186,7 @@ <translation id="6643016212128521049">Sula</translation> <translation id="668171684555832681">Okunye...</translation> <translation id="6692633176391053278">i-stepper</translation> +<translation id="6709093583001123835">Inani kufanele libe ngu-<ph name="VALUE" />.</translation> <translation id="6709570249143506788">Ikhwalithi yokudlalwa embi</translation> <translation id="6755330956360078551">ithulithiphu</translation> <translation id="6790428901817661496">Dlala</translation>
diff --git a/third_party/blink/public/web/web_local_frame_client.h b/third_party/blink/public/web/web_local_frame_client.h index c1713343..5f9ea5e 100644 --- a/third_party/blink/public/web/web_local_frame_client.h +++ b/third_party/blink/public/web/web_local_frame_client.h
@@ -697,6 +697,10 @@ // layout that happened after an interesting document lifecycle change (see // WebMeaningfulLayout for details.) virtual void DidMeaningfulLayout(WebMeaningfulLayout) {} + + // Notification that the BeginMainFrame completed, was committed into the + // compositor (thread) and submitted to the display compositor. + virtual void DidCommitAndDrawCompositorFrame() {} }; } // namespace blink
diff --git a/third_party/blink/public/web/web_widget_client.h b/third_party/blink/public/web/web_widget_client.h index 981323c..d8ca23f 100644 --- a/third_party/blink/public/web/web_widget_client.h +++ b/third_party/blink/public/web/web_widget_client.h
@@ -204,10 +204,6 @@ // perform actual painting work. virtual void WillBeginMainFrame() {} - // Notification that the BeginMainFrame completed, was committed into the - // compositor (thread) and submitted to the display compositor. - virtual void DidCommitAndDrawCompositorFrame() {} - // Notification that page scale animation was changed. virtual void DidCompletePageScaleAnimation() {}
diff --git a/third_party/blink/renderer/bindings/core/v8/serialization/v8_script_value_serializer_test.cc b/third_party/blink/renderer/bindings/core/v8/serialization/v8_script_value_serializer_test.cc index 5ef267c..c1a34bc 100644 --- a/third_party/blink/renderer/bindings/core/v8/serialization/v8_script_value_serializer_test.cc +++ b/third_party/blink/renderer/bindings/core/v8/serialization/v8_script_value_serializer_test.cc
@@ -761,7 +761,7 @@ // ImageData objects should serialize and deserialize correctly. V8TestingScope scope; ImageData* image_data = ImageData::Create(2, 1, ASSERT_NO_EXCEPTION); - image_data->data()->Data()[0] = 200; + image_data->data().GetAsUint8ClampedArray()->Data()[0] = 200; v8::Local<v8::Value> wrapper = ToV8(image_data, scope.GetContext()->Global(), scope.GetIsolate()); v8::Local<v8::Value> result = RoundTrip(wrapper, scope); @@ -769,9 +769,9 @@ ImageData* new_image_data = V8ImageData::ToImpl(result.As<v8::Object>()); EXPECT_NE(image_data, new_image_data); EXPECT_EQ(image_data->Size(), new_image_data->Size()); - EXPECT_EQ(image_data->data()->lengthAsSizeT(), - new_image_data->data()->lengthAsSizeT()); - EXPECT_EQ(200, new_image_data->data()->Data()[0]); + EXPECT_EQ(image_data->data().GetAsUint8ClampedArray()->lengthAsSizeT(), + new_image_data->data().GetAsUint8ClampedArray()->lengthAsSizeT()); + EXPECT_EQ(200, new_image_data->data().GetAsUint8ClampedArray()->Data()[0]); } TEST(V8ScriptValueSerializerTest, RoundTripImageDataWithColorSpaceInfo) { @@ -815,8 +815,9 @@ ASSERT_TRUE(V8ImageData::HasInstance(result, scope.GetIsolate())); ImageData* new_image_data = V8ImageData::ToImpl(result.As<v8::Object>()); EXPECT_EQ(IntSize(2, 1), new_image_data->Size()); - EXPECT_EQ(8u, new_image_data->data()->lengthAsSizeT()); - EXPECT_EQ(200, new_image_data->data()->Data()[0]); + EXPECT_EQ(8u, + new_image_data->data().GetAsUint8ClampedArray()->lengthAsSizeT()); + EXPECT_EQ(200, new_image_data->data().GetAsUint8ClampedArray()->Data()[0]); } TEST(V8ScriptValueSerializerTest, DecodeImageDataV16) { @@ -830,8 +831,9 @@ ASSERT_TRUE(V8ImageData::HasInstance(result, scope.GetIsolate())); ImageData* new_image_data = V8ImageData::ToImpl(result.As<v8::Object>()); EXPECT_EQ(IntSize(2, 1), new_image_data->Size()); - EXPECT_EQ(8u, new_image_data->data()->lengthAsSizeT()); - EXPECT_EQ(200, new_image_data->data()->Data()[0]); + EXPECT_EQ(8u, + new_image_data->data().GetAsUint8ClampedArray()->lengthAsSizeT()); + EXPECT_EQ(200, new_image_data->data().GetAsUint8ClampedArray()->Data()[0]); } TEST(V8ScriptValueSerializerTest, DecodeImageDataV18) {
diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_base.cc b/third_party/blink/renderer/core/frame/web_frame_widget_base.cc index 1aa3ea9..c263311 100644 --- a/third_party/blink/renderer/core/frame/web_frame_widget_base.cc +++ b/third_party/blink/renderer/core/frame/web_frame_widget_base.cc
@@ -81,15 +81,15 @@ namespace { -void ForEachWebLocalFrameControlledByWidget( - WebLocalFrame* frame, +void ForEachLocalFrameControlledByWidget( + LocalFrame* frame, const base::RepeatingCallback<void(WebLocalFrame*)>& callback) { - callback.Run(frame); - for (WebFrame* child = frame->FirstChild(); child; + callback.Run(WebLocalFrameImpl::FromFrame(frame)); + for (Frame* child = frame->FirstChild(); child; child = child->NextSibling()) { - if (child->IsWebLocalFrame()) { - ForEachWebLocalFrameControlledByWidget(child->ToWebLocalFrame(), - callback); + if (child->IsLocalFrame()) { + ForEachLocalFrameControlledByWidget(DynamicTo<LocalFrame>(child), + callback); } } } @@ -554,7 +554,11 @@ } void WebFrameWidgetBase::DidCommitAndDrawCompositorFrame() { - Client()->DidCommitAndDrawCompositorFrame(); + ForEachLocalFrameControlledByWidget( + local_root_->GetFrame(), + WTF::BindRepeating([](WebLocalFrame* local_frame) { + local_frame->Client()->DidCommitAndDrawCompositorFrame(); + })); } void WebFrameWidgetBase::DidObserveFirstScrollDelay( @@ -666,8 +670,9 @@ visual_properties); if (old_visible_viewport_size != widget_base_->VisibleViewportSize()) { - ForEachWebLocalFrameControlledByWidget( - local_root_, WTF::BindRepeating([](WebLocalFrame* local_frame) { + ForEachLocalFrameControlledByWidget( + local_root_->GetFrame(), + WTF::BindRepeating([](WebLocalFrame* local_frame) { local_frame->Client()->ResetHasScrolledFocusedEditableIntoView(); })); @@ -1176,8 +1181,8 @@ WrapPersistent(this))); } - ForEachWebLocalFrameControlledByWidget( - local_root_, + ForEachLocalFrameControlledByWidget( + local_root_->GetFrame(), WTF::BindRepeating( [](WebMeaningfulLayout layout_type, WebLocalFrame* local_frame) { local_frame->Client()->DidMeaningfulLayout(layout_type);
diff --git a/third_party/blink/renderer/core/html/canvas/image_data.cc b/third_party/blink/renderer/core/html/canvas/image_data.cc index 8778bfc..7c2f5aa 100644 --- a/third_party/blink/renderer/core/html/canvas/image_data.cc +++ b/third_party/blink/renderer/core/html/canvas/image_data.cc
@@ -332,6 +332,13 @@ } } + ImageData* image_data = Create(image->Size(), color_params); + if (!image_data) + return nullptr; + + // TODO(crbug.com/1115317): Verify if the color type uint16 needs to be + // considered separately. + ImageDataArray data = image_data->data(); SkColorType color_type = image_info.colorType(); bool create_f32_image_data = (color_type == kRGBA_1010102_SkColorType || color_type == kRGB_101010x_SkColorType || @@ -339,31 +346,15 @@ color_type == kRGBA_F32_SkColorType); if (!create_f32_image_data) { - ImageData* image_data = Create(image->Size(), color_params); - if (!image_data) - return nullptr; image_info = image_info.makeColorType(kRGBA_8888_SkColorType); - paint_image.readPixels(image_info, image_data->data()->Data(), + paint_image.readPixels(image_info, data.GetAsUint8ClampedArray()->Data(), image_info.minRowBytes(), 0, 0); - return image_data; + } else { + image_info = image_info.makeColorType(kRGBA_F32_SkColorType); + paint_image.readPixels(image_info, data.GetAsFloat32Array()->Data(), + image_info.minRowBytes(), 0, 0); } - - base::CheckedNumeric<uint32_t> area = image->Size().Area(); - area *= 4; - - if (!area.IsValid()) - return nullptr; - // Create image data with f32 storage - NotShared<DOMFloat32Array> f32_array = - ImageData::AllocateAndValidateFloat32Array(area.ValueOrDie(), nullptr); - if (!f32_array) - return nullptr; - image_info = image_info.makeColorType(kRGBA_F32_SkColorType); - paint_image.readPixels(image_info, f32_array->Data(), - image_info.minRowBytes(), 0, 0); - ImageDataColorSettings* color_settings = - CanvasColorParamsToImageDataColorSettings(color_params); - return Create(image->Size(), f32_array, color_settings); + return image_data; } ImageData* ImageData::Create(unsigned width, @@ -410,6 +401,69 @@ return MakeGarbageCollected<ImageData>(IntSize(width, height), data); } +ImageData* ImageData::Create(NotShared<DOMUint16Array> data, + unsigned width, + ExceptionState& exception_state) { + if (!ImageData::ValidateConstructorArguments(kParamData | kParamWidth, + nullptr, width, 0, data, nullptr, + &exception_state)) + return nullptr; + unsigned height = base::checked_cast<unsigned>(data->lengthAsSizeT()) / + (width * ImageData::StorageFormatBytesPerPixel( + kUint16ArrayStorageFormatName)); + ImageDataColorSettings* image_setting = ImageDataColorSettings::Create(); + image_setting->setStorageFormat(kUint16ArrayStorageFormatName); + return MakeGarbageCollected<ImageData>(IntSize(width, height), data, + image_setting); +} + +ImageData* ImageData::Create(NotShared<DOMUint16Array> data, + unsigned width, + unsigned height, + ExceptionState& exception_state) { + if (!ImageData::ValidateConstructorArguments( + kParamData | kParamWidth | kParamHeight, nullptr, width, height, data, + nullptr, &exception_state)) + return nullptr; + + ImageDataColorSettings* image_setting = ImageDataColorSettings::Create(); + image_setting->setStorageFormat(kUint16ArrayStorageFormatName); + return MakeGarbageCollected<ImageData>(IntSize(width, height), data, + image_setting); +} + +ImageData* ImageData::Create(NotShared<DOMFloat32Array> data, + unsigned width, + ExceptionState& exception_state) { + if (!ImageData::ValidateConstructorArguments(kParamData | kParamWidth, + nullptr, width, 0, data, nullptr, + &exception_state)) + return nullptr; + + unsigned height = base::checked_cast<unsigned>(data->lengthAsSizeT()) / + (width * ImageData::StorageFormatBytesPerPixel( + kFloat32ArrayStorageFormatName)); + ImageDataColorSettings* image_setting = ImageDataColorSettings::Create(); + image_setting->setStorageFormat(kFloat32ArrayStorageFormatName); + return MakeGarbageCollected<ImageData>(IntSize(width, height), data, + image_setting); +} + +ImageData* ImageData::Create(NotShared<DOMFloat32Array> data, + unsigned width, + unsigned height, + ExceptionState& exception_state) { + if (!ImageData::ValidateConstructorArguments( + kParamData | kParamWidth | kParamHeight, nullptr, width, height, data, + nullptr, &exception_state)) + return nullptr; + + ImageDataColorSettings* image_setting = ImageDataColorSettings::Create(); + image_setting->setStorageFormat(kFloat32ArrayStorageFormatName); + return MakeGarbageCollected<ImageData>(IntSize(width, height), data, + image_setting); +} + ImageData* ImageData::CreateImageData( unsigned width, unsigned height, @@ -565,11 +619,14 @@ wrapper = ScriptWrappable::AssociateWithWrapper(isolate, wrapper_type, wrapper); - if (!wrapper.IsEmpty() && data_) { + if (!wrapper.IsEmpty() && data_.IsUint8ClampedArray()) { // Create a V8 Uint8ClampedArray object and set the "data" property // of the ImageData object to the created v8 object, eliminating the // C++ callback when accessing the "data" property. - v8::Local<v8::Value> pixel_array = ToV8(data_.Get(), wrapper, isolate); + // TODO(crbug.com/1115317): |pixel_array| should be compatible with uint_8, + // float16 and float32. + v8::Local<v8::Value> pixel_array = + ToV8(data_.GetAsUint8ClampedArray().Get(), wrapper, isolate); bool defined_property; if (pixel_array.IsEmpty() || !wrapper @@ -583,18 +640,6 @@ return wrapper; } -const DOMUint8ClampedArray* ImageData::data() const { - if (color_settings_->storageFormat() == kUint8ClampedArrayStorageFormatName) - return data_.Get(); - return nullptr; -} - -DOMUint8ClampedArray* ImageData::data() { - if (color_settings_->storageFormat() == kUint8ClampedArrayStorageFormatName) - return data_.Get(); - return nullptr; -} - CanvasColorSpace ImageData::GetCanvasColorSpace( const String& color_space_name) { if (color_space_name == kSRGBCanvasColorSpaceName) @@ -726,12 +771,12 @@ } DOMArrayBufferBase* ImageData::BufferBase() const { - if (data_) - return data_->BufferBase(); - if (data_u16_) - return data_u16_->BufferBase(); - if (data_f32_) - return data_f32_->BufferBase(); + if (data_.IsUint8ClampedArray()) + return data_.GetAsUint8ClampedArray()->BufferBase(); + if (data_.IsUint16Array()) + return data_.GetAsUint16Array()->BufferBase(); + if (data_.IsFloat32Array()) + return data_.GetAsFloat32Array()->BufferBase(); return nullptr; } @@ -755,7 +800,7 @@ DataU8ColorType u8_color_type, const IntRect* src_rect, const AlphaDisposition alpha_disposition) { - if (!data_ && !data_u16_ && !data_f32_) + if (data_.IsNull()) return false; CanvasColorParams canvas_color_params = @@ -843,9 +888,9 @@ void ImageData::Trace(Visitor* visitor) const { visitor->Trace(color_settings_); visitor->Trace(data_); + visitor->Trace(data_u8_); visitor->Trace(data_u16_); visitor->Trace(data_f32_); - visitor->Trace(data_union_); ScriptWrappable::Trace(visitor); } @@ -857,7 +902,7 @@ DCHECK_GE(size.Height(), 0); DCHECK(data); - data_.Clear(); + data_u8_.Clear(); data_u16_.Clear(); data_f32_.Clear(); @@ -878,32 +923,32 @@ case kUint8ClampedArrayStorageFormat: DCHECK(data->GetType() == DOMArrayBufferView::ViewType::kTypeUint8Clamped); - data_ = data; - DCHECK(data_); - data_union_.SetUint8ClampedArray(data_); + data_u8_ = data; + DCHECK(data_u8_); + data_.SetUint8ClampedArray(data_u8_); SECURITY_CHECK( (base::CheckedNumeric<size_t>(size.Width()) * size.Height() * 4) - .ValueOrDie() <= data_->lengthAsSizeT()); + .ValueOrDie() <= data_.GetAsUint8ClampedArray()->lengthAsSizeT()); break; case kUint16ArrayStorageFormat: DCHECK(data->GetType() == DOMArrayBufferView::ViewType::kTypeUint16); data_u16_ = data; DCHECK(data_u16_); - data_union_.SetUint16Array(data_u16_); + data_.SetUint16Array(data_u16_); SECURITY_CHECK( (base::CheckedNumeric<size_t>(size.Width()) * size.Height() * 4) - .ValueOrDie() <= data_u16_->lengthAsSizeT()); + .ValueOrDie() <= data_.GetAsUint16Array()->lengthAsSizeT()); break; case kFloat32ArrayStorageFormat: DCHECK(data->GetType() == DOMArrayBufferView::ViewType::kTypeFloat32); data_f32_ = data; DCHECK(data_f32_); - data_union_.SetFloat32Array(data_f32_); + data_.SetFloat32Array(data_f32_); SECURITY_CHECK( (base::CheckedNumeric<size_t>(size.Width()) * size.Height() * 4) - .ValueOrDie() <= data_f32_->lengthAsSizeT()); + .ValueOrDie() <= data_.GetAsFloat32Array()->lengthAsSizeT()); break; default:
diff --git a/third_party/blink/renderer/core/html/canvas/image_data.h b/third_party/blink/renderer/core/html/canvas/image_data.h index 6ffebf5..6283c49 100644 --- a/third_party/blink/renderer/core/html/canvas/image_data.h +++ b/third_party/blink/renderer/core/html/canvas/image_data.h
@@ -89,6 +89,20 @@ unsigned width, unsigned height, ExceptionState&); + static ImageData* Create(NotShared<DOMUint16Array>, + unsigned width, + ExceptionState&); + static ImageData* Create(NotShared<DOMUint16Array>, + unsigned width, + unsigned height, + ExceptionState&); + static ImageData* Create(NotShared<DOMFloat32Array>, + unsigned width, + ExceptionState&); + static ImageData* Create(NotShared<DOMFloat32Array>, + unsigned width, + unsigned height, + ExceptionState&); static ImageData* CreateImageData(unsigned width, unsigned height, @@ -129,11 +143,9 @@ int width() const { return size_.Width(); } int height() const { return size_.Height(); } - DOMUint8ClampedArray* data(); - const DOMUint8ClampedArray* data() const; - ImageDataArray& dataUnion() { return data_union_; } - const ImageDataArray& dataUnion() const { return data_union_; } - void dataUnion(ImageDataArray& result) { result = data_union_; } + ImageDataArray& data() { return data_; } + const ImageDataArray& data() const { return data_; } + void data(ImageDataArray& result) { result = data_; } DOMArrayBufferBase* BufferBase() const; CanvasColorParams GetCanvasColorParams(); @@ -177,8 +189,8 @@ private: IntSize size_; Member<ImageDataColorSettings> color_settings_; - ImageDataArray data_union_; - NotShared<DOMUint8ClampedArray> data_; + ImageDataArray data_; + NotShared<DOMUint8ClampedArray> data_u8_; NotShared<DOMUint16Array> data_u16_; NotShared<DOMFloat32Array> data_f32_;
diff --git a/third_party/blink/renderer/core/html/canvas/image_data.idl b/third_party/blink/renderer/core/html/canvas/image_data.idl index 11907ae..2ec2035 100644 --- a/third_party/blink/renderer/core/html/canvas/image_data.idl +++ b/third_party/blink/renderer/core/html/canvas/image_data.idl
@@ -41,6 +41,5 @@ readonly attribute unsigned long width; readonly attribute unsigned long height; - readonly attribute Uint8ClampedArray data; - [RuntimeEnabled=CanvasColorManagement] readonly attribute ImageDataArray dataUnion; + readonly attribute ImageDataArray data; };
diff --git a/third_party/blink/renderer/core/html/canvas/image_data_test.cc b/third_party/blink/renderer/core/html/canvas/image_data_test.cc index dd867b4..c8a296d 100644 --- a/third_party/blink/renderer/core/html/canvas/image_data_test.cc +++ b/third_party/blink/renderer/core/html/canvas/image_data_test.cc
@@ -488,13 +488,15 @@ if (image_data_storage_formats[i] == kUint8ClampedArrayStorageFormat) { - if (cropped_image_data->data()->Data()[index] != expected_value) { + if (cropped_image_data->data() + .GetAsUint8ClampedArray() + ->Data()[index] != expected_value) { test_passed = false; break; } } else if (image_data_storage_formats[i] == kUint16ArrayStorageFormat) { - if (cropped_image_data->dataUnion() + if (cropped_image_data->data() .GetAsUint16Array() .View() ->Data()[index] != expected_value) { @@ -502,7 +504,7 @@ break; } } else { - if (cropped_image_data->dataUnion() + if (cropped_image_data->data() .GetAsFloat32Array() .View() ->Data()[index] != fexpected_value) {
diff --git a/third_party/blink/renderer/core/html/media/html_media_element.cc b/third_party/blink/renderer/core/html/media/html_media_element.cc index bb49455..472617e 100644 --- a/third_party/blink/renderer/core/html/media/html_media_element.cc +++ b/third_party/blink/renderer/core/html/media/html_media_element.cc
@@ -984,7 +984,7 @@ setPlaybackRate(defaultPlaybackRate()); // 8 - Set the error attribute to null and the can autoplay flag to true. - error_ = nullptr; + SetError(nullptr); can_autoplay_ = true; // 9 - Invoke the media element's resource selection algorithm. @@ -1212,6 +1212,7 @@ DCHECK(!media_source_attachment_); DCHECK(!media_source_tracer_); + DCHECK(!error_); bool attempt_load = true; @@ -1589,8 +1590,8 @@ // 1 - Set the error attribute to a new MediaError object whose code attribute // is set to MEDIA_ERR_SRC_NOT_SUPPORTED. - error_ = MakeGarbageCollected<MediaError>( - MediaError::kMediaErrSrcNotSupported, message); + SetError(MakeGarbageCollected<MediaError>( + MediaError::kMediaErrSrcNotSupported, message)); // 2 - Forget the media element's media-resource-specific text tracks. ForgetResourceSpecificTracks(); @@ -1628,7 +1629,7 @@ // 2 - Set the error attribute to a new MediaError object whose code attribute // is set to MEDIA_ERR_NETWORK/MEDIA_ERR_DECODE. - error_ = err; + SetError(err); // 3 - Queue a task to fire a simple event named error at the media element. ScheduleEvent(event_type_names::kError); @@ -2314,10 +2315,11 @@ // playback start position to that time. if (ready_state_ == kHaveNothing) { default_playback_start_position_ = time; - return; + } else { + Seek(time); } - Seek(time); + ReportCurrentTimeToMediaSource(); } double HTMLMediaElement::duration() const { @@ -2819,6 +2821,11 @@ if (!seeking_) ScheduleTimeupdateEvent(true); + + // Playback progress is chosen here for simplicity as a proxy for a good + // periodic time to also update the attached MediaSource, if any, with our + // currentTime so that it can continue to have a "recent media time". + ReportCurrentTimeToMediaSource(); } void HTMLMediaElement::ScheduleTimeupdateEvent(bool periodic_event) { @@ -3616,6 +3623,8 @@ if (web_media_player_) web_media_player_->OnTimeUpdate(); + + ReportCurrentTimeToMediaSource(); } void HTMLMediaElement::StopPeriodicTimers() { @@ -3679,6 +3688,8 @@ CancelPendingEventsAndCallbacks(); // Clear everything in the Media Element + if (media_source_attachment_) + media_source_attachment_->OnElementContextDestroyed(); ClearMediaPlayer(); ready_state_ = kHaveNothing; ready_state_maximum_ = kHaveNothing; @@ -4341,6 +4352,24 @@ EffectivePreloadType() != WebMediaPlayer::kPreloadNone; } +void HTMLMediaElement::SetError(MediaError* error) { + error_ = error; + + if (!error || !media_source_attachment_) + return; + + media_source_attachment_->OnElementError(); +} + +void HTMLMediaElement::ReportCurrentTimeToMediaSource() { + if (!media_source_attachment_) + return; + + // See MediaSourceAttachment::OnElementTimeUpdate() for why the attachment + // needs our currentTime. + media_source_attachment_->OnElementTimeUpdate(currentTime()); +} + WebMediaPlayerClient::Features HTMLMediaElement::GetFeatures() { WebMediaPlayerClient::Features features;
diff --git a/third_party/blink/renderer/core/html/media/html_media_element.h b/third_party/blink/renderer/core/html/media/html_media_element.h index 066f59d..a2987be 100644 --- a/third_party/blink/renderer/core/html/media/html_media_element.h +++ b/third_party/blink/renderer/core/html/media/html_media_element.h
@@ -565,6 +565,9 @@ void OnRemovedFromDocumentTimerFired(TimerBase*); + void SetError(MediaError* error); + void ReportCurrentTimeToMediaSource(); + Features GetFeatures() override; TaskRunnerTimer<HTMLMediaElement> load_timer_; @@ -585,6 +588,8 @@ KURL current_src_after_redirects_; Member<MediaStreamDescriptor> src_object_; + // To prevent potential regression when extended by the MSE API, do not set + // |error_| outside of constructor and SetError(). Member<MediaError> error_; double volume_;
diff --git a/third_party/blink/renderer/core/html/media/media_source_attachment.h b/third_party/blink/renderer/core/html/media/media_source_attachment.h index 36abde4..2052e5b6 100644 --- a/third_party/blink/renderer/core/html/media/media_source_attachment.h +++ b/third_party/blink/renderer/core/html/media/media_source_attachment.h
@@ -95,7 +95,6 @@ std::unique_ptr<WebMediaSource>) = 0; virtual void Close(MediaSourceTracer* tracer) = 0; - virtual bool IsClosed(MediaSourceTracer* tracer) const = 0; virtual double duration(MediaSourceTracer* tracer) const = 0; // 'Internal' in these methods doesn't mean private, it means that they are @@ -105,6 +104,29 @@ virtual TimeRanges* Buffered(MediaSourceTracer* tracer) const = 0; virtual void OnTrackChanged(MediaSourceTracer* tracer, TrackBase*) = 0; + // Provide state updates to the MediaSource that are necessary for its + // operation. These are pushed rather than pulled to reduce complexity and + // latency, especially when the MediaSource is in a Worker context. + // OnElementTimeUpdate() gives the MediaSource a notion of the recent media + // element currentTime so that it can more effectively prevent evicting + // buffered media near to playback and/or seek target time in its heuristic. + // Alternatives such as pumping this via the media pipeline are insufficient, + // as the media pipeline may not be aware of overrides to the playback start + // position. + virtual void OnElementTimeUpdate(double time) = 0; + + // Needed as a precondition in the Prepare Append algorithm, OnElementError() + // lets the MediaSource know if the attached media element has transitioned to + // having an error. + virtual void OnElementError() = 0; + + // Needed in cross-thread attachments to prevent the attachment from UAF of + // the media element when the media element's context might be destroyed + // before a worker-context MSE's context has been destroyed. In such case, + // neither the media element, nor the underlying main-thread-owned MSE demuxer + // should be used further. + virtual void OnElementContextDestroyed() = 0; + private: friend class WTF::ThreadSafeRefCounted<MediaSourceAttachment>;
diff --git a/third_party/blink/renderer/core/layout/layout_object.h b/third_party/blink/renderer/core/layout/layout_object.h index 9828cbf..f9b142c 100644 --- a/third_party/blink/renderer/core/layout/layout_object.h +++ b/third_party/blink/renderer/core/layout/layout_object.h
@@ -1425,10 +1425,8 @@ SetIntrinsicLogicalWidthsDirty(); } void SetNeedsLayoutAndIntrinsicWidthsRecalcAndFullPaintInvalidation( - LayoutInvalidationReasonForTracing reason, - MarkingBehavior mark_parents = kMarkContainerChain, - SubtreeLayoutScope* layouter = nullptr) { - SetNeedsLayoutAndFullPaintInvalidation(reason, mark_parents, layouter); + LayoutInvalidationReasonForTracing reason) { + SetNeedsLayoutAndFullPaintInvalidation(reason); SetIntrinsicLogicalWidthsDirty(); }
diff --git a/third_party/blink/renderer/core/layout/ng/ng_block_node.cc b/third_party/blink/renderer/core/layout/ng/ng_block_node.cc index 7f17f00..b2d27a8 100644 --- a/third_party/blink/renderer/core/layout/ng/ng_block_node.cc +++ b/third_party/blink/renderer/core/layout/ng/ng_block_node.cc
@@ -469,12 +469,6 @@ TextAutosizer::NGLayoutScope text_autosizer_layout_scope( box_, fragment_geometry->border_box_size.inline_size); - if (text_autosizer_layout_scope.WasFontSizeAdjusted()) { - // If font size changed, this affects the intrinsic inline-size, which in - // turn may affect the inline-size, so recalculate the geometry. - fragment_geometry = - CalculateInitialFragmentGeometry(constraint_space, *this); - } PrepareForLayout();
diff --git a/third_party/blink/renderer/core/layout/ng/ng_column_layout_algorithm.cc b/third_party/blink/renderer/core/layout/ng/ng_column_layout_algorithm.cc index eccd3f6..e9c093a 100644 --- a/third_party/blink/renderer/core/layout/ng/ng_column_layout_algorithm.cc +++ b/third_party/blink/renderer/core/layout/ng/ng_column_layout_algorithm.cc
@@ -973,16 +973,20 @@ ConstraintSpace(), style, BorderPadding(), style.LogicalMaxHeight(), LengthResolvePhase::kLayout); LayoutUnit extent = ResolveMainBlockLength( - ConstraintSpace(), style, BorderPadding(), style.LogicalHeight(), size, - LengthResolvePhase::kLayout); + ConstraintSpace(), style, BorderPadding(), style.LogicalHeight(), + kIndefiniteSize, LengthResolvePhase::kLayout); if (extent != kIndefiniteSize) { // A specified height/width will just constrain the maximum length. max = std::min(max, extent); } + // We may already have used some of the available space in earlier column rows + // or spanners. + max -= CurrentContentBlockOffset(); + // Constrain and convert the value back to content-box. size = std::min(size, max); - return size - extra; + return (size - extra).ClampNegativeToZero(); } scoped_refptr<const NGLayoutResult>
diff --git a/third_party/blink/renderer/core/layout/text_autosizer.cc b/third_party/blink/renderer/core/layout/text_autosizer.cc index 4e23ab4..24e0bc7 100644 --- a/third_party/blink/renderer/core/layout/text_autosizer.cc +++ b/third_party/blink/renderer/core/layout/text_autosizer.cc
@@ -346,16 +346,16 @@ } } -bool TextAutosizer::BeginLayout(LayoutBlock* block, +void TextAutosizer::BeginLayout(LayoutBlock* block, SubtreeLayoutScope* layouter) { DCHECK(ShouldHandleLayout()); if (PrepareForLayout(block) == kStopLayout) - return false; + return; // Skip ruby's inner blocks, because these blocks already are inflated. if (block->IsRubyRun() || block->IsRubyBase() || block->IsRubyText()) - return false; + return; DCHECK(!cluster_stack_.IsEmpty() || IsA<LayoutView>(block)); if (cluster_stack_.IsEmpty()) @@ -374,8 +374,7 @@ ->StyleRef() .IsFixedTableLayout(); if (!is_auto_table_cell && !cluster_stack_.IsEmpty()) - return Inflate(block, layouter) != 1.0; - return false; + Inflate(block, layouter); } void TextAutosizer::InflateAutoTable(LayoutNGTableInterface* table_interface) { @@ -1250,10 +1249,9 @@ if (layout_object->IsText()) ToLayoutText(layout_object)->AutosizingMultiplerChanged(); DCHECK(!layouter || layout_object->IsDescendantOf(&layouter->Root())); - layout_object - ->SetNeedsLayoutAndIntrinsicWidthsRecalcAndFullPaintInvalidation( - layout_invalidation_reason::kTextAutosizing, kMarkContainerChain, - layouter); + layout_object->SetNeedsLayoutAndFullPaintInvalidation( + layout_invalidation_reason::kTextAutosizing, kMarkContainerChain, + layouter); break; case kLayoutNeeded: @@ -1466,8 +1464,7 @@ // least if the autosizer is enabled. box_->SetLogicalWidth(inline_size); - was_font_size_adjusted_ = - text_autosizer_->BeginLayout(To<LayoutBlock>(box_), nullptr); + text_autosizer_->BeginLayout(To<LayoutBlock>(box_), nullptr); } TextAutosizer::NGLayoutScope::~NGLayoutScope() {
diff --git a/third_party/blink/renderer/core/layout/text_autosizer.h b/third_party/blink/renderer/core/layout/text_autosizer.h index d45310e..68461f0 100644 --- a/third_party/blink/renderer/core/layout/text_autosizer.h +++ b/third_party/blink/renderer/core/layout/text_autosizer.h
@@ -121,12 +121,9 @@ explicit NGLayoutScope(LayoutBox*, LayoutUnit inline_size); ~NGLayoutScope(); - bool WasFontSizeAdjusted() const { return was_font_size_adjusted_; } - protected: TextAutosizer* text_autosizer_; LayoutBox* box_; - bool was_font_size_adjusted_ = false; }; class CORE_EXPORT DeferUpdatePageInfo { @@ -305,9 +302,7 @@ bool setting_enabled_; }; - // Returns true if the font size was adjusted. - bool BeginLayout(LayoutBlock*, SubtreeLayoutScope*); - + void BeginLayout(LayoutBlock*, SubtreeLayoutScope*); void EndLayout(LayoutBlock*); void InflateAutoTable(LayoutNGTableInterface*); float Inflate(LayoutObject*,
diff --git a/third_party/blink/renderer/modules/accessibility/ax_object.cc b/third_party/blink/renderer/modules/accessibility/ax_object.cc index de9daa1e..b45f5a75 100644 --- a/third_party/blink/renderer/modules/accessibility/ax_object.cc +++ b/third_party/blink/renderer/modules/accessibility/ax_object.cc
@@ -31,6 +31,7 @@ #include <algorithm> #include "base/strings/string_util.h" #include "third_party/blink/public/common/features.h" +#include "third_party/blink/public/common/input/web_menu_source_type.h" #include "third_party/blink/public/mojom/input/focus_type.mojom-blink.h" #include "third_party/blink/renderer/core/aom/accessible_node.h" #include "third_party/blink/renderer/core/aom/accessible_node_list.h" @@ -3603,6 +3604,11 @@ if (!layout_object) return; + if (layout_object->IsFixedPositioned() || + layout_object->IsStickyPositioned()) { + AXObjectCache().AddToFixedOrStickyNodeList(this); + } + if (clips_children) { if (IsWebArea()) *clips_children = true; @@ -3982,7 +3988,8 @@ return false; ContextMenuAllowedScope scope; - document->GetFrame()->GetEventHandler().ShowNonLocatedContextMenu(element); + document->GetFrame()->GetEventHandler().ShowNonLocatedContextMenu( + element, kMenuSourceKeyboard); return true; }
diff --git a/third_party/blink/renderer/modules/accessibility/ax_object_cache_impl.cc b/third_party/blink/renderer/modules/accessibility/ax_object_cache_impl.cc index 2b4aedde6..f5b826e 100644 --- a/third_party/blink/renderer/modules/accessibility/ax_object_cache_impl.cc +++ b/third_party/blink/renderer/modules/accessibility/ax_object_cache_impl.cc
@@ -755,6 +755,12 @@ return obj_id; } +void AXObjectCacheImpl::AddToFixedOrStickyNodeList(const AXObject* object) { + DCHECK(object); + DCHECK(!object->IsDetached()); + fixed_or_sticky_node_ids_.insert(object->AXObjectID()); +} + AXID AXObjectCacheImpl::GetOrCreateAXID(AXObject* obj) { // check for already-assigned ID const AXID existing_axid = obj->AXObjectID(); @@ -776,6 +782,8 @@ if (!object) return; + fixed_or_sticky_node_ids_.clear(); + if (active_aria_modal_dialog_ == object) active_aria_modal_dialog_ = nullptr; @@ -819,6 +827,11 @@ tree_update_callback_queue_.size()); } +void AXObjectCacheImpl::InvalidateBoundingBoxForFixedOrStickyPosition() { + for (AXID id : fixed_or_sticky_node_ids_) + changed_bounds_ids_.insert(id); +} + void AXObjectCacheImpl::DeferTreeUpdateInternal(base::OnceClosure callback, AXObject* obj) { // Called for updates that do not have a DOM node, e.g. a children or text @@ -2216,6 +2229,7 @@ LocalFrameView* frame_view) { SCOPED_DISALLOW_LIFECYCLE_TRANSITION(*frame_view->GetFrame().GetDocument()); + InvalidateBoundingBoxForFixedOrStickyPosition(); AXObject* target_ax_object = GetOrCreate(document_); PostNotification(target_ax_object, ax::mojom::Event::kScrollPositionChanged); } @@ -2223,6 +2237,7 @@ void AXObjectCacheImpl::HandleScrollPositionChanged( LayoutObject* layout_object) { SCOPED_DISALLOW_LIFECYCLE_TRANSITION(layout_object->GetDocument()); + InvalidateBoundingBoxForFixedOrStickyPosition(); PostNotification(GetOrCreate(layout_object), ax::mojom::Event::kScrollPositionChanged); }
diff --git a/third_party/blink/renderer/modules/accessibility/ax_object_cache_impl.h b/third_party/blink/renderer/modules/accessibility/ax_object_cache_impl.h index 0520c16..b977258 100644 --- a/third_party/blink/renderer/modules/accessibility/ax_object_cache_impl.h +++ b/third_party/blink/renderer/modules/accessibility/ax_object_cache_impl.h
@@ -260,6 +260,10 @@ const HeapVector<Member<Element>>& attr_associated_elements, HeapVector<Member<AXObject>>& owned_children); + // Adds |object| to |fixed_or_sticky_node_ids_| if it has a fixed or sticky + // position. + void AddToFixedOrStickyNodeList(const AXObject* object); + bool MayHaveHTMLLabel(const HTMLElement& elem); // Synchronously returns whether or not we currently have permission to @@ -479,6 +483,12 @@ void UpdateNumTreeUpdatesQueuedBeforeLayoutHistogram(); + // Invalidates the bounding boxes of fixed or sticky positioned objects which + // should be updated when the scroll offset is changed. Like + // InvalidateBoundingBox, it can be later retrieved by + // GetAllObjectsWithChangedBounds. + void InvalidateBoundingBoxForFixedOrStickyPosition(); + // Whether the user has granted permission for the user to install event // listeners for accessibility events using the AOM. mojom::PermissionStatus accessibility_event_permission_; @@ -509,6 +519,9 @@ // GetAllObjectsWithChangedBounds was called. HashSet<AXID> changed_bounds_ids_; + // The list of node IDs whose position is fixed or sticky. + HashSet<AXID> fixed_or_sticky_node_ids_; + // The source of the event that is currently being handled. ax::mojom::blink::EventFrom active_event_from_ = ax::mojom::blink::EventFrom::kNone;
diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc b/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc index 653a5945..76a7708 100644 --- a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc +++ b/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc
@@ -1829,8 +1829,11 @@ IntPoint(dest_offset)); } } else { - PutByteArray(data->data()->Data(), IntSize(data->width(), data->height()), - source_rect, IntPoint(dest_offset)); + // TODO(crbug.com/1115317): PutByteArray works with uint8 only. It should be + // compatible with uint16 and float32. + PutByteArray(data->data().GetAsUint8ClampedArray()->Data(), + IntSize(data->width(), data->height()), source_rect, + IntPoint(dest_offset)); } if (!IsPaint2D()) {
diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d_api_test.cc b/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d_api_test.cc index 99185a3..2ef4250 100644 --- a/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d_api_test.cc +++ b/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d_api_test.cc
@@ -235,10 +235,12 @@ EXPECT_EQ(100, image_data->width()); EXPECT_EQ(50, image_data->height()); - for (size_t i = 0; i < image_data->data()->lengthAsSizeT(); ++i) - image_data->data()->Data()[i] = 255; + for (size_t i = 0; + i < image_data->data().GetAsUint8ClampedArray()->lengthAsSizeT(); ++i) { + image_data->data().GetAsUint8ClampedArray()->Data()[i] = 255; + } - EXPECT_EQ(255, image_data->data()->Data()[32]); + EXPECT_EQ(255, image_data->data().GetAsUint8ClampedArray()->Data()[32]); // createImageData(imageData) should create a new ImageData of the same size // as 'imageData' but filled with transparent black @@ -248,7 +250,8 @@ EXPECT_FALSE(exception_state.HadException()); EXPECT_EQ(100, same_size_image_data->width()); EXPECT_EQ(50, same_size_image_data->height()); - EXPECT_EQ(0, same_size_image_data->data()->Data()[32]); + EXPECT_EQ(0, + same_size_image_data->data().GetAsUint8ClampedArray()->Data()[32]); // createImageData(width, height) takes the absolute magnitude of the size // arguments @@ -262,10 +265,10 @@ ImageData* imgdata4 = Context2D()->createImageData(-10, -20, exception_state); EXPECT_FALSE(exception_state.HadException()); - EXPECT_EQ(800u, imgdata1->data()->lengthAsSizeT()); - EXPECT_EQ(800u, imgdata2->data()->lengthAsSizeT()); - EXPECT_EQ(800u, imgdata3->data()->lengthAsSizeT()); - EXPECT_EQ(800u, imgdata4->data()->lengthAsSizeT()); + EXPECT_EQ(800u, imgdata1->data().GetAsUint8ClampedArray()->lengthAsSizeT()); + EXPECT_EQ(800u, imgdata2->data().GetAsUint8ClampedArray()->lengthAsSizeT()); + EXPECT_EQ(800u, imgdata3->data().GetAsUint8ClampedArray()->lengthAsSizeT()); + EXPECT_EQ(800u, imgdata4->data().GetAsUint8ClampedArray()->lengthAsSizeT()); } TEST_F(CanvasRenderingContext2DAPITest, CreateImageDataTooBig) {
diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d_test.cc b/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d_test.cc index 17bba25..0c0d58c 100644 --- a/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d_test.cc +++ b/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d_test.cc
@@ -784,7 +784,7 @@ context->drawImage(script_state, image_union, 0, 0, exception_state); ImageData* image_data = context->getImageData(0, 0, 2, 2, exception_state); - ImageDataArray data_array = image_data->dataUnion(); + ImageDataArray data_array = image_data->data(); ASSERT_TRUE(data_array.IsFloat32Array()); DOMArrayBufferView* buffer_view = data_array.GetAsFloat32Array().View(); ASSERT_EQ(16u, buffer_view->byteLengthAsSizeT() / buffer_view->TypeSize());
diff --git a/third_party/blink/renderer/modules/cookie_store/cookie_store.cc b/third_party/blink/renderer/modules/cookie_store/cookie_store.cc index 0e8354b7..ace49af 100644 --- a/third_party/blink/renderer/modules/cookie_store/cookie_store.cc +++ b/third_party/blink/renderer/modules/cookie_store/cookie_store.cc
@@ -515,7 +515,7 @@ // See https://bit.ly/2S0zRAS for task types. auto task_runner = - GetExecutionContext()->GetTaskRunner(TaskType::kMiscPlatformAPI); + GetExecutionContext()->GetTaskRunner(TaskType::kDOMManipulation); backend_->AddChangeListener( default_cookie_url_, default_site_for_cookies_, default_top_frame_origin_, change_listener_receiver_.BindNewPipeAndPassRemote(task_runner), {});
diff --git a/third_party/blink/renderer/modules/cookie_store/global_cookie_store.cc b/third_party/blink/renderer/modules/cookie_store/global_cookie_store.cc index c9ebad6..6f252c4 100644 --- a/third_party/blink/renderer/modules/cookie_store/global_cookie_store.cc +++ b/third_party/blink/renderer/modules/cookie_store/global_cookie_store.cc
@@ -52,7 +52,7 @@ mojo::Remote<network::mojom::blink::RestrictedCookieManager> backend; execution_context->GetBrowserInterfaceBroker().GetInterface( backend.BindNewPipeAndPassReceiver( - execution_context->GetTaskRunner(TaskType::kMiscPlatformAPI))); + execution_context->GetTaskRunner(TaskType::kDOMManipulation))); cookie_store_ = MakeGarbageCollected<CookieStore>(execution_context, std::move(backend)); }
diff --git a/third_party/blink/renderer/modules/cookie_store/service_worker_registration_cookies.cc b/third_party/blink/renderer/modules/cookie_store/service_worker_registration_cookies.cc index 55be9da..a1dfc6d 100644 --- a/third_party/blink/renderer/modules/cookie_store/service_worker_registration_cookies.cc +++ b/third_party/blink/renderer/modules/cookie_store/service_worker_registration_cookies.cc
@@ -55,11 +55,9 @@ HeapMojoRemote<mojom::blink::CookieStore, HeapMojoWrapperMode::kWithoutContextObserver> backend(execution_context); - // TODO(pwnall): Replace TaskType::kInternalDefault with the task queue in - // the Cookie Store spec, once that spec is finalized. execution_context->GetBrowserInterfaceBroker().GetInterface( backend.BindNewPipeAndPassReceiver( - execution_context->GetTaskRunner(TaskType::kInternalDefault))); + execution_context->GetTaskRunner(TaskType::kDOMManipulation))); cookie_store_manager_ = MakeGarbageCollected<CookieStoreManager>( registration_, std::move(backend)); }
diff --git a/third_party/blink/renderer/modules/manifest/manifest_parser.cc b/third_party/blink/renderer/modules/manifest/manifest_parser.cc index 207c7b3..d50f50c 100644 --- a/third_party/blink/renderer/modules/manifest/manifest_parser.cc +++ b/third_party/blink/renderer/modules/manifest/manifest_parser.cc
@@ -152,7 +152,7 @@ return base::nullopt; String value; - if (!json_value->AsString(&value)) { + if (!json_value->AsString(&value) || value.IsNull()) { AddErrorInfo("property '" + key + "' ignored, type " + "string expected."); return base::nullopt; }
diff --git a/third_party/blink/renderer/modules/mediasource/media_source_attachment_supplement.cc b/third_party/blink/renderer/modules/mediasource/media_source_attachment_supplement.cc index fcc3e13..5b9752cd 100644 --- a/third_party/blink/renderer/modules/mediasource/media_source_attachment_supplement.cc +++ b/third_party/blink/renderer/modules/mediasource/media_source_attachment_supplement.cc
@@ -11,7 +11,10 @@ MediaSourceAttachmentSupplement::MediaSourceAttachmentSupplement( MediaSource* media_source) - : registered_media_source_(media_source) {} + : registered_media_source_(media_source), + recent_element_time_(0.0), + element_has_error_(false), + element_context_destroyed_(false) {} MediaSourceAttachmentSupplement::~MediaSourceAttachmentSupplement() = default; @@ -29,4 +32,25 @@ registered_media_source_ = nullptr; } +void MediaSourceAttachmentSupplement::OnElementTimeUpdate(double time) { + DVLOG(3) << __func__ << " this=" << this << ", time=" << time; + + recent_element_time_ = time; +} + +void MediaSourceAttachmentSupplement::OnElementError() { + DVLOG(3) << __func__ << " this=" << this; + + DCHECK(!element_has_error_) + << "At most one transition to element error per attachment is expected"; + + element_has_error_ = true; +} + +void MediaSourceAttachmentSupplement::OnElementContextDestroyed() { + DVLOG(3) << __func__ << " this=" << this; + + element_context_destroyed_ = true; +} + } // namespace blink
diff --git a/third_party/blink/renderer/modules/mediasource/media_source_attachment_supplement.h b/third_party/blink/renderer/modules/mediasource/media_source_attachment_supplement.h index 818cca5..d64c924 100644 --- a/third_party/blink/renderer/modules/mediasource/media_source_attachment_supplement.h +++ b/third_party/blink/renderer/modules/mediasource/media_source_attachment_supplement.h
@@ -36,6 +36,13 @@ // MediaSourceAttachment void Unregister() final; + // TODO(https://crbug.com/878133): Make MediaSource consult us for this + // information. In same-thread version, we may still directly consult the + // element, but cross-thread version will need this info. + void OnElementTimeUpdate(double time) final; + void OnElementError() final; + void OnElementContextDestroyed() final; + protected: explicit MediaSourceAttachmentSupplement(MediaSource* media_source); ~MediaSourceAttachmentSupplement() override; @@ -44,6 +51,11 @@ // construction of this object until Unregister() is called. Persistent<MediaSource> registered_media_source_; + private: + double recent_element_time_; + bool element_has_error_; + bool element_context_destroyed_; + DISALLOW_COPY_AND_ASSIGN(MediaSourceAttachmentSupplement); };
diff --git a/third_party/blink/renderer/modules/mediasource/same_thread_media_source_attachment.cc b/third_party/blink/renderer/modules/mediasource/same_thread_media_source_attachment.cc index 02c20f9b..d478dde 100644 --- a/third_party/blink/renderer/modules/mediasource/same_thread_media_source_attachment.cc +++ b/third_party/blink/renderer/modules/mediasource/same_thread_media_source_attachment.cc
@@ -78,11 +78,6 @@ GetMediaSource(tracer)->Close(); } -bool SameThreadMediaSourceAttachment::IsClosed( - MediaSourceTracer* tracer) const { - return GetMediaSource(tracer)->IsClosed(); -} - double SameThreadMediaSourceAttachment::duration( MediaSourceTracer* tracer) const { return GetMediaSource(tracer)->duration();
diff --git a/third_party/blink/renderer/modules/mediasource/same_thread_media_source_attachment.h b/third_party/blink/renderer/modules/mediasource/same_thread_media_source_attachment.h index 48c90230..c571554 100644 --- a/third_party/blink/renderer/modules/mediasource/same_thread_media_source_attachment.h +++ b/third_party/blink/renderer/modules/mediasource/same_thread_media_source_attachment.h
@@ -30,7 +30,6 @@ std::unique_ptr<WebMediaSource>) override; void Close(MediaSourceTracer* tracer) override; - bool IsClosed(MediaSourceTracer* tracer) const override; double duration(MediaSourceTracer* tracer) const override; WebTimeRanges BufferedInternal(MediaSourceTracer* tracer) const override; WebTimeRanges SeekableInternal(MediaSourceTracer* tracer) const override;
diff --git a/third_party/blink/renderer/modules/shapedetection/shape_detector.cc b/third_party/blink/renderer/modules/shapedetection/shape_detector.cc index b341dbdf..cb8f225ea 100644 --- a/third_party/blink/renderer/modules/shapedetection/shape_detector.cc +++ b/third_party/blink/renderer/modules/shapedetection/shape_detector.cc
@@ -133,7 +133,10 @@ base::CheckedNumeric<int> allocation_size = image_data->Size().Area() * 4; CHECK_EQ(allocation_size.ValueOrDefault(0), sk_bitmap.computeByteSize()); - memcpy(sk_bitmap.getPixels(), image_data->data()->Data(), + // TODO(crbug.com/1115317): Should be compatible with uint_8, float16 and + // float32. + memcpy(sk_bitmap.getPixels(), + image_data->data().GetAsUint8ClampedArray()->Data(), sk_bitmap.computeByteSize()); return DoDetect(resolver, std::move(sk_bitmap));
diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc index 02283ce..3b4eca0 100644 --- a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc +++ b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc
@@ -5287,11 +5287,13 @@ if (isContextLost()) return; DCHECK(pixels); - if (pixels->data()->BufferBase()->IsDetached()) { + DCHECK(!pixels->data().IsNull()); + if (pixels->BufferBase()->IsDetached()) { SynthesizeGLError(GL_INVALID_VALUE, func_name, "The source data has been detached."); return; } + if (!ValidateTexImageBinding(func_name, function_id, target)) return; TexImageFunctionType function_type; @@ -5317,6 +5319,8 @@ adjusted_source_image_rect.MaxY()); } + // TODO(crbug.com/1115317): Should be compatible with uint_8, float16 and + // float32. Vector<uint8_t> data; bool need_conversion = true; // The data from ImageData is always of format RGBA8. @@ -5331,7 +5335,7 @@ type = GL_FLOAT; } if (!WebGLImageConversion::ExtractImageData( - pixels->data()->Data(), + pixels->data().GetAsUint8ClampedArray()->Data(), WebGLImageConversion::DataFormat::kDataFormatRGBA8, pixels->Size(), adjusted_source_image_rect, depth, unpack_image_height, format, type, unpack_flip_y_, unpack_premultiply_alpha_, data)) { @@ -5340,7 +5344,9 @@ } } ScopedUnpackParametersResetRestore temporary_reset_unpack(this); - const uint8_t* bytes = need_conversion ? data.data() : pixels->data()->Data(); + const uint8_t* bytes = need_conversion + ? data.data() + : pixels->data().GetAsUint8ClampedArray()->Data(); if (function_id == kTexImage2D) { DCHECK_EQ(unpack_image_height, 0); TexImage2DBase(
diff --git a/third_party/blink/renderer/platform/graphics/graphics_layer.cc b/third_party/blink/renderer/platform/graphics/graphics_layer.cc index 1a26ba31..b60ade14d 100644 --- a/third_party/blink/renderer/platform/graphics/graphics_layer.cc +++ b/third_party/blink/renderer/platform/graphics/graphics_layer.cc
@@ -307,20 +307,6 @@ raster_invalidation_function_, GetPaintController().GetPaintArtifactShared(), layer_bounds, layer_state_->state.Unalias(), this); - - if (RuntimeEnabledFeatures::PaintUnderInvalidationCheckingEnabled() && - PaintsContentOrHitTest()) { - auto& tracking = EnsureRasterInvalidator().EnsureTracking(); - tracking.CheckUnderInvalidations(DebugName(), CapturePaintRecord(), - InterestRect()); - if (auto record = tracking.UnderInvalidationRecord()) { - // Add the under-invalidation overlay onto the painted result. - GetPaintController().AppendDebugDrawingAfterCommit(std::move(record), - layer_state_->state); - // Ensure the compositor will raster the under-invalidation overlay. - CcLayer().SetNeedsDisplay(); - } - } } needs_check_raster_invalidation_ = false; @@ -726,18 +712,24 @@ if (painting_control != PAINTING_BEHAVIOR_NORMAL) Paint(); - auto display_list = base::MakeRefCounted<cc::DisplayItemList>(); - - DCHECK(layer_state_) << "No layer state for GraphicsLayer: " << DebugName(); - PaintChunksToCcLayer::ConvertInto( - GetPaintController().PaintChunks(), layer_state_->state.Unalias(), - gfx::Vector2dF(layer_state_->offset.X(), layer_state_->offset.Y()), - paint_controller.GetPaintArtifact().GetDisplayItemList(), *display_list); + base::Optional<RasterUnderInvalidationCheckingParams> + raster_under_invalidation_params; + if (RuntimeEnabledFeatures::PaintUnderInvalidationCheckingEnabled() && + PaintsContentOrHitTest()) { + raster_under_invalidation_params.emplace( + EnsureRasterInvalidator().EnsureTracking(), InterestRect(), + DebugName()); + } PaintController::ClearFlagsForBenchmark(); - display_list->Finalize(); - return display_list; + DCHECK(layer_state_) << "No layer state for GraphicsLayer: " << DebugName(); + return PaintChunksToCcLayer::Convert( + GetPaintController().PaintChunks(), layer_state_->state.Unalias(), + gfx::Vector2dF(layer_state_->offset.X(), layer_state_->offset.Y()), + paint_controller.GetPaintArtifact().GetDisplayItemList(), + cc::DisplayItemList::kTopLevelDisplayItemList, + base::OptionalOrNullptr(raster_under_invalidation_params)); } size_t GraphicsLayer::GetApproximateUnsharedMemoryUsage() const {
diff --git a/third_party/blink/renderer/platform/graphics/paint/paint_artifact.cc b/third_party/blink/renderer/platform/graphics/paint/paint_artifact.cc index 2c6e84f..56e5366 100644 --- a/third_party/blink/renderer/platform/graphics/paint/paint_artifact.cc +++ b/third_party/blink/renderer/platform/graphics/paint/paint_artifact.cc
@@ -14,17 +14,6 @@ namespace blink { -namespace { - -// For PaintArtifact::AppendDebugDrawing(). -class DebugDrawingClient final : public DisplayItemClient { - public: - DebugDrawingClient() { Invalidate(PaintInvalidationReason::kUncacheable); } - String DebugName() const final { return "DebugDrawing"; } -}; - -} // namespace - PaintArtifact::PaintArtifact() : display_item_list_(0) {} PaintArtifact::PaintArtifact(DisplayItemList display_items, @@ -54,24 +43,6 @@ return total_size; } -void PaintArtifact::AppendDebugDrawing( - sk_sp<const PaintRecord> record, - const PropertyTreeStateOrAlias& property_tree_state) { - DEFINE_STATIC_LOCAL(DebugDrawingClient, debug_drawing_client, ()); - - DCHECK(!RuntimeEnabledFeatures::CompositeAfterPaintEnabled()); - auto& display_item = - display_item_list_.AllocateAndConstruct<DrawingDisplayItem>( - debug_drawing_client, DisplayItem::kDebugDrawing, - LayoutRect::InfiniteIntRect(), std::move(record)); - - // Create a PaintChunk for the debug drawing. - chunks_.emplace_back(display_item_list_.size() - 1, display_item_list_.size(), - display_item.GetId(), property_tree_state); - chunks_.back().bounds = chunks_.back().drawable_bounds = - display_item_list_.Last().VisualRect(); -} - void PaintArtifact::Replay(GraphicsContext& graphics_context, const PropertyTreeState& replay_state, const IntPoint& offset) const {
diff --git a/third_party/blink/renderer/platform/graphics/paint/paint_artifact.h b/third_party/blink/renderer/platform/graphics/paint/paint_artifact.h index 64aa128c..83daf93 100644 --- a/third_party/blink/renderer/platform/graphics/paint/paint_artifact.h +++ b/third_party/blink/renderer/platform/graphics/paint/paint_artifact.h
@@ -66,9 +66,6 @@ // shared with the embedder after copying to cc::DisplayItemList. size_t ApproximateUnsharedMemoryUsage() const; - void AppendDebugDrawing(sk_sp<const PaintRecord>, - const PropertyTreeStateOrAlias&); - // Draws the paint artifact to a GraphicsContext, into the ancestor state // given by |replay_state|. void Replay(GraphicsContext&,
diff --git a/third_party/blink/renderer/platform/graphics/paint/paint_controller.cc b/third_party/blink/renderer/platform/graphics/paint/paint_controller.cc index 2b75e09..82157fd 100644 --- a/third_party/blink/renderer/platform/graphics/paint/paint_controller.cc +++ b/third_party/blink/renderer/platform/graphics/paint/paint_controller.cc
@@ -668,14 +668,6 @@ return memory_usage; } -void PaintController::AppendDebugDrawingAfterCommit( - sk_sp<const PaintRecord> record, - const PropertyTreeStateOrAlias& property_tree_state) { - DCHECK(!RuntimeEnabledFeatures::CompositeAfterPaintEnabled()); - DCHECK(new_display_item_list_.IsEmpty()); - current_paint_artifact_->AppendDebugDrawing(record, property_tree_state); -} - void PaintController::ShowUnderInvalidationError( const char* reason, const DisplayItem& new_item,
diff --git a/third_party/blink/renderer/platform/graphics/paint/paint_controller.h b/third_party/blink/renderer/platform/graphics/paint/paint_controller.h index aac557b..fa48345 100644 --- a/third_party/blink/renderer/platform/graphics/paint/paint_controller.h +++ b/third_party/blink/renderer/platform/graphics/paint/paint_controller.h
@@ -231,9 +231,6 @@ // the last CommitNewDisplayItems(). Use with care. DisplayItemList& NewDisplayItemList() { return new_display_item_list_; } - void AppendDebugDrawingAfterCommit(sk_sp<const PaintRecord>, - const PropertyTreeStateOrAlias&); - #if DCHECK_IS_ON() void ShowCompactDebugData() const; void ShowDebugData() const;
diff --git a/third_party/blink/renderer/platform/widget/widget_base.cc b/third_party/blink/renderer/platform/widget/widget_base.cc index 488638ec..472e3070 100644 --- a/third_party/blink/renderer/platform/widget/widget_base.cc +++ b/third_party/blink/renderer/platform/widget/widget_base.cc
@@ -397,6 +397,10 @@ } void WidgetBase::DidCommitAndDrawCompositorFrame() { + // NOTE: Tests may break if this event is renamed or moved. See + // tab_capture_performancetest.cc. + TRACE_EVENT0("gpu", "WidgetBase::DidCommitAndDrawCompositorFrame"); + client_->DidCommitAndDrawCompositorFrame(); }
diff --git a/third_party/blink/web_tests/FlagExpectations/disable-layout-ng b/third_party/blink/web_tests/FlagExpectations/disable-layout-ng index cac8fca..89aac8d3 100644 --- a/third_party/blink/web_tests/FlagExpectations/disable-layout-ng +++ b/third_party/blink/web_tests/FlagExpectations/disable-layout-ng
@@ -368,9 +368,6 @@ crbug.com/591099 fast/css/absolute-inline-alignment-2.html [ Failure ] crbug.com/591099 fast/css/text-overflow-ellipsis-button.html [ Failure ] -### fast/text-autosizing/ -crbug.com/1125109 fast/text-autosizing/shrink-to-fit.html [ Failure ] - ### fast/writing-mode/ crbug.com/591099 fast/writing-mode/flipped-blocks-inline-map-local-to-container.html [ Failure ]
diff --git a/third_party/blink/web_tests/external/wpt/credential-management/otpcredential-get-basics.https.html b/third_party/blink/web_tests/external/wpt/credential-management/otpcredential-get-basics.https.html index aca4822..edeb42a 100644 --- a/third_party/blink/web_tests/external/wpt/credential-management/otpcredential-get-basics.https.html +++ b/third_party/blink/web_tests/external/wpt/credential-management/otpcredential-get-basics.https.html
@@ -3,7 +3,8 @@ <title>Tests OTPCredential</title> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> -<script src="./support/otpcredential-helper.js"></script> +<script src="/resources/test-only-api.js"></script> +<script src="support/otpcredential-helper.js"></script> <script> 'use strict';
diff --git a/third_party/blink/web_tests/external/wpt/credential-management/support/README.md b/third_party/blink/web_tests/external/wpt/credential-management/support/README.md index cacd959..f58d4cd0 100644 --- a/third_party/blink/web_tests/external/wpt/credential-management/support/README.md +++ b/third_party/blink/web_tests/external/wpt/credential-management/support/README.md
@@ -8,10 +8,13 @@ Usage: -1. Include `<script src="./support/otpcredential-helper.js"></script>` in your -test -2. Set expectations +1. Include the following in your test: +```html +<script src="/resources/test-only-api.js"></script> +<script src="support/otpcredential-helper.js"></script> ``` +2. Set expectations +```javascript await expect(receive).andReturn(() => { // mock behavior })
diff --git a/third_party/blink/web_tests/external/wpt/credential-management/support/otpcredential-helper.js b/third_party/blink/web_tests/external/wpt/credential-management/support/otpcredential-helper.js index d5a7eb8..3cf4510 100644 --- a/third_party/blink/web_tests/external/wpt/credential-management/support/otpcredential-helper.js +++ b/third_party/blink/web_tests/external/wpt/credential-management/support/otpcredential-helper.js
@@ -8,45 +8,32 @@ // these tests the browser must be run with these options: // // --enable-blink-features=MojoJS,MojoJSTest -async function loadChromiumResources() { - if (!window.MojoInterfaceInterceptor) { - // Do nothing on non-Chromium-based browsers or when the Mojo bindings are - // not present in the global namespace. - return; - } +const Status = {}; +async function loadChromiumResources() { const resources = [ - '/gen/layout_test_data/mojo/public/js/mojo_bindings_lite.js', '/gen/mojo/public/mojom/base/time.mojom-lite.js', '/gen/third_party/blink/public/mojom/sms/sms_receiver.mojom-lite.js', - '/resources/chromium/mock-sms-receiver.js', ]; - await Promise.all(resources.map(path => { - const script = document.createElement('script'); - script.src = path; - script.async = false; - const promise = new Promise((resolve, reject) => { - script.onload = resolve; - script.onerror = reject; - }); - document.head.appendChild(script); - return promise; - })); + await loadMojoResources(resources, true); + await loadScript('/resources/chromium/mock-sms-receiver.js'); Status.kSuccess = blink.mojom.SmsStatus.kSuccess; Status.kTimeout = blink.mojom.SmsStatus.kTimeout; Status.kCancelled = blink.mojom.SmsStatus.kCancelled; }; -const Status = {}; - async function create_sms_provider() { if (typeof SmsProvider === 'undefined') { - await loadChromiumResources(); + if (isChromiumBased) { + await loadChromiumResources(); + } else { + throw new Error('Mojo testing interface is not available.'); + } } - if (typeof SmsProvider == 'undefined') { - throw new Error('Mojo testing interface is not available.'); + if (typeof SmsProvider === 'undefined') { + throw new Error('Failed to set up SmsProvider.'); } return new SmsProvider(); }
diff --git a/third_party/blink/web_tests/external/wpt/credential-management/support/otpcredential-iframe.html b/third_party/blink/web_tests/external/wpt/credential-management/support/otpcredential-iframe.html index 37fe6e1..83f25d57 100644 --- a/third_party/blink/web_tests/external/wpt/credential-management/support/otpcredential-iframe.html +++ b/third_party/blink/web_tests/external/wpt/credential-management/support/otpcredential-iframe.html
@@ -1,5 +1,6 @@ <!doctype html> -<script src="./otpcredential-helper.js"></script> +<script src="/resources/test-only-api.js"></script> +<script src="otpcredential-helper.js"></script> <script> 'use strict';
diff --git a/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-span-all-012.html b/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-span-all-012.html new file mode 100644 index 0000000..7f1f9ae1 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/css/css-multicol/multicol-span-all-012.html
@@ -0,0 +1,11 @@ +<!DOCTYPE html> +<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org"> +<link rel="help" href="https://www.w3.org/TR/css-multicol-1/#filling-columns"> +<link rel="match" href="../reference/ref-filled-green-100px-square.xht"> +<p>Test passes if there is a filled green square and <strong>no red</strong>.</p> +<div style="width:100px; height:100px; background:red;"> + <div style="columns:3; width:75px; height:100px; column-gap:0;"> + <div style="column-span:all; width:100px; height:70px; background:green;"></div> + <div style="height:120px; background:green;"></div> + </div> +</div>
diff --git a/third_party/blink/web_tests/external/wpt/html/canvas/element/manual/wide-gamut-canvas/canvas-colorManaged-convertToBlob-roundtrip.html b/third_party/blink/web_tests/external/wpt/html/canvas/element/manual/wide-gamut-canvas/canvas-colorManaged-convertToBlob-roundtrip.html index 1fe8ac5..efb2665 100644 --- a/third_party/blink/web_tests/external/wpt/html/canvas/element/manual/wide-gamut-canvas/canvas-colorManaged-convertToBlob-roundtrip.html +++ b/third_party/blink/web_tests/external/wpt/html/canvas/element/manual/wide-gamut-canvas/canvas-colorManaged-convertToBlob-roundtrip.html
@@ -78,7 +78,7 @@ var ctx = srcCanvas.getContext('2d', testScenario.canvasColorParam); var compositeOverBlack = (testScenario.encodeOptions.type == "image/jpeg"); drawPatternOnCanvsa(ctx, testScenario.alpha, compositeOverBlack); - var refPixels = ctx.getImageData(0, 0, 2, 2).dataUnion; + var refPixels = ctx.getImageData(0, 0, 2, 2).data; var t = async_test("Test canvas convertToBlob(): " + testScenarioToString(testScenario)); @@ -88,7 +88,7 @@ var dstCanvas = createCanvas(testScenario); var dstCtx = dstCanvas.getContext('2d', testScenario.canvasColorParam); dstCtx.drawImage(image, 0, 0); - var actualPixels = dstCtx.getImageData(0, 0, 2, 2).dataUnion; + var actualPixels = dstCtx.getImageData(0, 0, 2, 2).data; testPixels(actualPixels, refPixels, testScenario); });
diff --git a/third_party/blink/web_tests/external/wpt/html/canvas/element/manual/wide-gamut-canvas/canvas-createImageBitmap-e_srgb.html b/third_party/blink/web_tests/external/wpt/html/canvas/element/manual/wide-gamut-canvas/canvas-createImageBitmap-e_srgb.html index 7483800b..72b8e27 100644 --- a/third_party/blink/web_tests/external/wpt/html/canvas/element/manual/wide-gamut-canvas/canvas-createImageBitmap-e_srgb.html +++ b/third_party/blink/web_tests/external/wpt/html/canvas/element/manual/wide-gamut-canvas/canvas-createImageBitmap-e_srgb.html
@@ -43,8 +43,8 @@ if (sourceType === 'video') tolerance = 0.03; for (var i = 0; i < tests.length; i++) { - actual = ctx.getImageData(tests[i][0], tests[i][1], 1, 1).dataUnion; - assert_implements(actual, 'ImageData dataUnion not supported'); + actual = ctx.getImageData(tests[i][0], tests[i][1], 1, 1).data; + assert_implements(actual, 'ImageData data not supported'); expected = tests[i][2]; assert_equals(actual.length, expected.length); for (var j = 0; j < actual.length; j++) @@ -171,10 +171,10 @@ ctx2.clearRect(0, 0, canvas2.width, canvas2.height); ctx1.drawImage(bitmap1, 0, 0); ctx2.drawImage(bitmap2, 0, 0); - var data1 = ctx1.getImageData(0, 0, 50, 50).dataUnion; - assert_implements(data1, 'ImageData dataUnion not supported'); - var data2 = ctx2.getImageData(0, 0, 50, 50).dataUnion; - assert_implements(data2, 'ImageData dataUnion not supported'); + var data1 = ctx1.getImageData(0, 0, 50, 50).data; + assert_implements(data1, 'ImageData data not supported'); + var data2 = ctx2.getImageData(0, 0, 50, 50).data; + assert_implements(data2, 'ImageData data not supported'); var dataMatched = true; for (var i = 0; i < data1.length; i++) { if (data1[i] != data2[i]) {
diff --git a/third_party/blink/web_tests/external/wpt/html/canvas/element/manual/wide-gamut-canvas/canvas-createPutGetImageData-colorManaged.html b/third_party/blink/web_tests/external/wpt/html/canvas/element/manual/wide-gamut-canvas/canvas-createPutGetImageData-colorManaged.html index f153a983..c72dc97 100644 --- a/third_party/blink/web_tests/external/wpt/html/canvas/element/manual/wide-gamut-canvas/canvas-createPutGetImageData-colorManaged.html +++ b/third_party/blink/web_tests/external/wpt/html/canvas/element/manual/wide-gamut-canvas/canvas-createPutGetImageData-colorManaged.html
@@ -14,7 +14,7 @@ assert_equals(imageData.data.length, 4 * xWidth * xHeight); } else { assert_equals("float32", imageDataColorSettings.storageFormat); - assert_equals(imageData.dataUnion.length, 4 * xWidth * xHeight); + assert_equals(imageData.data.length, 4 * xWidth * xHeight); } }
diff --git a/third_party/blink/web_tests/external/wpt/html/canvas/element/manual/wide-gamut-canvas/canvas-draw-high-bit-depth-images.html b/third_party/blink/web_tests/external/wpt/html/canvas/element/manual/wide-gamut-canvas/canvas-draw-high-bit-depth-images.html index e7a83fc1..9907c4e2 100644 --- a/third_party/blink/web_tests/external/wpt/html/canvas/element/manual/wide-gamut-canvas/canvas-draw-high-bit-depth-images.html +++ b/third_party/blink/web_tests/external/wpt/html/canvas/element/manual/wide-gamut-canvas/canvas-draw-high-bit-depth-images.html
@@ -29,14 +29,14 @@ var refCtx = refCanvas.getContext( '2d', testScenario.canvasColorParams); refCtx.drawImage(_8bitImage, 0, 0); - var refPixels = refCtx.getImageData(0, 0, 2, 2).dataUnion; + var refPixels = refCtx.getImageData(0, 0, 2, 2).data; var testCanvas = document.createElement("canvas"); testCanvas.width = testCanvas.height = 2; var testCtx = testCanvas.getContext( '2d', testScenario.canvasColorParams); testCtx.drawImage(_16bitImage, 0, 0); - var testPixels = testCtx.getImageData(0, 0, 2, 2).dataUnion; + var testPixels = testCtx.getImageData(0, 0, 2, 2).data; assert_array_approx_equals(refPixels, testPixels, tolerance);
diff --git a/third_party/blink/web_tests/external/wpt/html/canvas/element/manual/wide-gamut-canvas/canvas-drawImage-e_srgb.html b/third_party/blink/web_tests/external/wpt/html/canvas/element/manual/wide-gamut-canvas/canvas-drawImage-e_srgb.html index 7620d93..0cfa729 100644 --- a/third_party/blink/web_tests/external/wpt/html/canvas/element/manual/wide-gamut-canvas/canvas-drawImage-e_srgb.html +++ b/third_party/blink/web_tests/external/wpt/html/canvas/element/manual/wide-gamut-canvas/canvas-drawImage-e_srgb.html
@@ -16,7 +16,7 @@ { var actual, expected, tolerance = 0.01; for (var i = 0; i < tests.length; i++) { - actual = ctx.getImageData(tests[i].x, tests[i].y, 1, 1).dataUnion; + actual = ctx.getImageData(tests[i].x, tests[i].y, 1, 1).data; expected = tests[i].color; assert_true(actual.length === expected.length); for (var j = 0; j < actual.length; j++)
diff --git a/third_party/blink/web_tests/external/wpt/html/canvas/element/manual/wide-gamut-canvas/canvas-drawImage-offscreenCanvas.html b/third_party/blink/web_tests/external/wpt/html/canvas/element/manual/wide-gamut-canvas/canvas-drawImage-offscreenCanvas.html index 144dca0..7edbc5e 100644 --- a/third_party/blink/web_tests/external/wpt/html/canvas/element/manual/wide-gamut-canvas/canvas-drawImage-offscreenCanvas.html +++ b/third_party/blink/web_tests/external/wpt/html/canvas/element/manual/wide-gamut-canvas/canvas-drawImage-offscreenCanvas.html
@@ -90,8 +90,8 @@ function testPixels(testCtx, refCtx, pixelFormat, isTrnasparent) { - var actual = testCtx.getImageData(0, 0, 4, 4).dataUnion; - var expected = refCtx.getImageData(0, 0, 4, 4).dataUnion; + var actual = testCtx.getImageData(0, 0, 4, 4).data; + var expected = refCtx.getImageData(0, 0, 4, 4).data; var tolerance = 4; if (pixelFormat === 'float16')
diff --git a/third_party/blink/web_tests/external/wpt/html/canvas/element/manual/wide-gamut-canvas/canvas-getImageData-e_srgb.html b/third_party/blink/web_tests/external/wpt/html/canvas/element/manual/wide-gamut-canvas/canvas-getImageData-e_srgb.html index c38da7c..73682eb6 100644 --- a/third_party/blink/web_tests/external/wpt/html/canvas/element/manual/wide-gamut-canvas/canvas-getImageData-e_srgb.html +++ b/third_party/blink/web_tests/external/wpt/html/canvas/element/manual/wide-gamut-canvas/canvas-getImageData-e_srgb.html
@@ -27,7 +27,7 @@ {colorSpace: 'srgb', pixelFormat:'float16'}); ctx.fillStyle = 'rgba(51, 102, 153, 0.8)'; ctx.fillRect(0, 0, 10, 10); - var pixel = ctx.getImageData(5, 5, 1, 1).dataUnion; + var pixel = ctx.getImageData(5, 5, 1, 1).data; // Check against the same color in e-sRGB. 0.01 protects the test against // color conversion deviations. assert_array_approx_equals(pixel, [0.2, 0.4, 0.6, 0.8], 0.01); @@ -41,12 +41,12 @@ {colorSpace: 'srgb', pixelFormat:'float16'}) var imageData = ctx.createImageData(1, 1, {colorSpace: 'srgb', storageFormat:'float32'}); - imageData.dataUnion[0] = 0.2; - imageData.dataUnion[1] = 0.4; - imageData.dataUnion[2] = 0.6; - imageData.dataUnion[3] = 0.8; + imageData.data[0] = 0.2; + imageData.data[1] = 0.4; + imageData.data[2] = 0.6; + imageData.data[3] = 0.8; ctx.putImageData(imageData, 5, 5); - var pixel = ctx.getImageData(5, 5, 1, 1).dataUnion; + var pixel = ctx.getImageData(5, 5, 1, 1).data; // Check against the same color in e-sRGB. 0.001 protects the test against // rounding errors. assert_array_approx_equals(pixel, [0.2, 0.4, 0.6, 0.8], 0.01); @@ -60,12 +60,12 @@ {colorSpace: 'srgb', pixelFormat:'float16'}) var imageData = ctx.createImageData(1, 1, {colorSpace: 'srgb', storageFormat:'float32'}); - imageData.dataUnion[0] = 1.3; - imageData.dataUnion[1] = -1.13; - imageData.dataUnion[2] = 0.7; - imageData.dataUnion[3] = 1.8; + imageData.data[0] = 1.3; + imageData.data[1] = -1.13; + imageData.data[2] = 0.7; + imageData.data[3] = 1.8; ctx.putImageData(imageData, 5, 5); - var pixel = ctx.getImageData(5, 5, 1, 1).dataUnion; + var pixel = ctx.getImageData(5, 5, 1, 1).data; // Check against the same color in e-sRGB. 0.001 protects the test against // rounding errors. assert_array_approx_equals(pixel, [1.3, -1.13, 0.7, 1.8], 0.01); @@ -85,7 +85,7 @@ imageData.data[2] = 153; imageData.data[3] = 204; ctx.putImageData(imageData, 5, 5); - var pixel = ctx.getImageData(5, 5, 1, 1).dataUnion; + var pixel = ctx.getImageData(5, 5, 1, 1).data; // Check against the same color in e-sRGB. 0.01 protects the test against // color conversion deviations. assert_array_approx_equals(pixel, [0.2, 0.4, 0.6, 0.8], 0.01);
diff --git a/third_party/blink/web_tests/external/wpt/html/canvas/element/manual/wide-gamut-canvas/imageData-colorManagedBehavior.html b/third_party/blink/web_tests/external/wpt/html/canvas/element/manual/wide-gamut-canvas/imageData-colorManagedBehavior.html index dda9f9c..d106904f 100644 --- a/third_party/blink/web_tests/external/wpt/html/canvas/element/manual/wide-gamut-canvas/imageData-colorManagedBehavior.html +++ b/third_party/blink/web_tests/external/wpt/html/canvas/element/manual/wide-gamut-canvas/imageData-colorManagedBehavior.html
@@ -51,7 +51,7 @@ function checkImageDataColorValues(canvasColorSettings, imageData, isBlank = '', width = xWidth, height = xHeight, isWCG_U8toSRGB_U8 = '') { - var data = imageData.dataUnion; + var data = imageData.data; if (isBlank === 'isBlank') { testBlankPixels(data, width, height); } else { @@ -105,10 +105,10 @@ for (var i = 0; i < xWidth * xHeight; i++) for (var j = 0; j < 4; j++) { - srgbImageDataU8.dataUnion[i*4+j] = srgbPixels[i][j]; - e_srgbImageDataU16.dataUnion[i*4+j] = + srgbImageDataU8.data[i*4+j] = srgbPixels[i][j]; + e_srgbImageDataU16.data[i*4+j] = Math.round(e_srgbPixels[i][j] * 65535); - e_srgbImageDataF32.dataUnion[i*4+j] = e_srgbPixels[i][j]; + e_srgbImageDataF32.data[i*4+j] = e_srgbPixels[i][j]; } } @@ -282,7 +282,7 @@ imageDataColorSettings.storageFormat, "storageFormat should match"); var blankData = new Array(4 * width * height).fill(0); - assert_array_equals(imageData.dataUnion, blankData, + assert_array_equals(imageData.data, blankData, "ImageData should be transparent black"); } @@ -317,7 +317,7 @@ // CanvasColorSpace which is given in imageDataColorSettings. function runTestCreateImageDataDWHC(canvasColorSettings, imageData) { - var data = imageData.dataUnion; + var data = imageData.data; width = xWidth; height = xHeight; var colorSettings = imageData.getColorSettings(); @@ -332,7 +332,7 @@ assert_equals(newColorSettings.storageFormat, colorSettings.storageFormat, "storageFormat should match"); - assert_array_equals(newImageData.dataUnion, imageData.dataUnion, + assert_array_equals(newImageData.data, imageData.data, "ImageData should be transparent black"); }
diff --git a/third_party/blink/web_tests/external/wpt/html/canvas/element/manual/wide-gamut-canvas/imagedata-no-color-settings-crash.html b/third_party/blink/web_tests/external/wpt/html/canvas/element/manual/wide-gamut-canvas/imagedata-no-color-settings-crash.html index d7fe956e..b21eaf7 100644 --- a/third_party/blink/web_tests/external/wpt/html/canvas/element/manual/wide-gamut-canvas/imagedata-no-color-settings-crash.html +++ b/third_party/blink/web_tests/external/wpt/html/canvas/element/manual/wide-gamut-canvas/imagedata-no-color-settings-crash.html
@@ -10,7 +10,7 @@ var imageData = ctx.createImageData(dataFloat32, 1, 1, {}); ctx.putImageData(imageData, 5, 5); - var data = ctx.getImageData(5,5,1,1).dataUnion; + var data = ctx.getImageData(5,5,1,1).data; }, "Putting a float-32 ImageData with no color settings on a context 2D should not crash."); test(function() { @@ -21,6 +21,6 @@ var imageData = ctx.createImageData(dataUint16, 1, 1, {}); ctx.putImageData(imageData, 5, 5); - var data = ctx.getImageData(5,5,1,1).dataUnion; + var data = ctx.getImageData(5,5,1,1).data; }, "Putting a uint-16 ImageData with no color settings on a context 2D should not crash."); </script> \ No newline at end of file
diff --git a/third_party/blink/web_tests/external/wpt/html/canvas/element/manual/wide-gamut-canvas/transferFromImageBitmap.html b/third_party/blink/web_tests/external/wpt/html/canvas/element/manual/wide-gamut-canvas/transferFromImageBitmap.html index 6855dc7..ff8abeb 100644 --- a/third_party/blink/web_tests/external/wpt/html/canvas/element/manual/wide-gamut-canvas/transferFromImageBitmap.html +++ b/third_party/blink/web_tests/external/wpt/html/canvas/element/manual/wide-gamut-canvas/transferFromImageBitmap.html
@@ -41,7 +41,7 @@ ctx.fillRect(0, 1, 1, 1); ctx.fillStyle = generateFillStyle(27, 27, 27, testScenario.alpha); ctx.fillRect(1, 1, 1, 1); - return ctx.getImageData(0, 0, 2, 2).dataUnion; + return ctx.getImageData(0, 0, 2, 2).data; } function generateTestName(testScenario) { @@ -79,7 +79,7 @@ {colorSpace: testScenario.colorSpace, pixelFormat: testScenario.pixelFormat}); ctx.drawImage(dstCanvas, 0, 0); - var actualPixels = ctx.getImageData(0, 0, 2, 2).dataUnion; + var actualPixels = ctx.getImageData(0, 0, 2, 2).data; testPixels(actualPixels, expectedPixels, testScenario); }); }, generateTestName(testScenario));
diff --git a/third_party/blink/web_tests/external/wpt/pointerevents/pointerevent_iframe-touch-action-none_touch.html b/third_party/blink/web_tests/external/wpt/pointerevents/pointerevent_iframe-touch-action-none_touch.html new file mode 100644 index 0000000..1c9651d --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/pointerevents/pointerevent_iframe-touch-action-none_touch.html
@@ -0,0 +1,63 @@ +<html> + <head> + <title>iframe touch-action:none attribute</title> + <meta name="viewport" content="width=device-width"> + <link rel="stylesheet" type="text/css" href="pointerevent_styles.css"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="pointerevent_support.js"></script> + <script src="/resources/testdriver.js"></script> + <script src="/resources/testdriver-actions.js"></script> + <script src="/resources/testdriver-vendor.js"></script> + </head> + <body onload="run()"> + <h1>iframe touch-action:none attribute</h1> + <h2 id="pointerTypeDescription"></h2> + <h4>Test Description: Drag your finger in the green rectangle below then tap the "Done" button.</h4> + <br> + <iframe id="target" + style="touch-action:none;" + src="resources/iframe-touch-action-none-subframe.html"> + </iframe> + <input type="button" id="btnDone" value="Done"> + </body> + <script> + var event_log = []; + + function resetTestState() { + event_log = []; + } + + function run() { + var test_pointerEvent = setup_pointerevent_test("iframe received pointercancel", + ["touch"]); + var actions_promise; + var target = document.getElementById("target"); + + on_event(document.getElementById("btnDone"), "click", () => { + test_pointerEvent.step(() => { + assert_equals(event_log.join(", "), "pointercancel", + "exactly one pointercancel received"); + }); + actions_promise.then(() => test_pointerEvent.done()); + }); + + on_event(window, "message", e => { + var msg = JSON.parse(event.data); + if (msg.type == "event") + event_log.push(msg.eventType); + }); + + actions_promise = new test_driver.Actions() + .addPointer("pointer1", "touch") + .pointerMove(0, 0, {origin: target}) + .pointerDown() + .pointerMove(25, 25, {origin: target}) + .pointerUp() + .pointerMove(0, 0, {origin: btnDone}) + .pointerDown() + .pointerUp() + .send(); + } + </script> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/pointerevents/resources/iframe-touch-action-none-subframe.html b/third_party/blink/web_tests/external/wpt/pointerevents/resources/iframe-touch-action-none-subframe.html new file mode 100644 index 0000000..bcfb5e06 --- /dev/null +++ b/third_party/blink/web_tests/external/wpt/pointerevents/resources/iframe-touch-action-none-subframe.html
@@ -0,0 +1,26 @@ +<html> + <style> + body { + width: 200px; + height: 150px; + padding: 0px; + margin: 0px; + background-color: lightgreen + } + </style> + <body></body> + <script> + function handler(e) { + window.top.postMessage(JSON.stringify({ + "type": "event", + "eventType": e.type + }), "*"); + } + + ["pointerup", "pointercancel"].forEach(eventType => { + document.body.addEventListener( + eventType, + handler); + }); + </script> +</html>
diff --git a/third_party/blink/web_tests/external/wpt/resources/test-only-api.js b/third_party/blink/web_tests/external/wpt/resources/test-only-api.js index 3fdf1cea..ef66e0e7 100644 --- a/third_party/blink/web_tests/external/wpt/resources/test-only-api.js +++ b/third_party/blink/web_tests/external/wpt/resources/test-only-api.js
@@ -47,11 +47,14 @@ * Only call this function if isChromiumBased === true. * * @param {Array.<string>} resources - A list of scripts to load: Mojo JS - * bindings should be of the form '/gen/../*.mojom.js', the ordering of which - * does not matter. Do not include mojo_bindings.js in this list. + * bindings should be of the form '/gen/../*.mojom.js' or + * '/gen/../*.mojom-lite.js' (requires `lite` to be true); the order does not + * matter. Do not include 'mojo_bindings.js' or 'mojo_bindings_lite.js'. + * @param {boolean=} lite - Whether the lite bindings (*.mojom-lite.js) are used + * (default is false). * @returns {Promise} */ -async function loadMojoResources(resources) { +async function loadMojoResources(resources, lite = false) { if (!isChromiumBased) { throw new Error('MojoJS not enabled; start Chrome with --enable-blink-features=MojoJS,MojoJSTest'); } @@ -70,13 +73,26 @@ if (path.endsWith('/mojo_bindings.js')) { throw new Error('Do not load mojo_bindings.js explicitly.'); } - if (! /^\/gen\/.*\.mojom\.js$/.test(path)) { - throw new Error(`Unrecognized resource path: ${path}`); + if (path.endsWith('/mojo_bindings_lite.js')) { + throw new Error('Do not load mojo_bindings_lite.js explicitly.'); + } + if (lite) { + if (! /^\/gen\/.*\.mojom-lite\.js$/.test(path)) { + throw new Error(`Unrecognized resource path: ${path}`); + } + } else { + if (! /^\/gen\/.*\.mojom\.js$/.test(path)) { + throw new Error(`Unrecognized resource path: ${path}`); + } } } - await loadScript(genPrefix + '/gen/layout_test_data/mojo/public/js/mojo_bindings.js'); - mojo.config.autoLoadMojomDeps = false; + if (lite) { + await loadScript(genPrefix + '/gen/layout_test_data/mojo/public/js/mojo_bindings_lite.js'); + } else { + await loadScript(genPrefix + '/gen/layout_test_data/mojo/public/js/mojo_bindings.js'); + mojo.config.autoLoadMojomDeps = false; + } for (const path of resources) { await loadScript(genPrefix + path);
diff --git a/third_party/blink/web_tests/fast/canvas/color-space/canvas-colorManaged-convertToBlob-roundtrip.html b/third_party/blink/web_tests/fast/canvas/color-space/canvas-colorManaged-convertToBlob-roundtrip.html index 3325456..7201415 100644 --- a/third_party/blink/web_tests/fast/canvas/color-space/canvas-colorManaged-convertToBlob-roundtrip.html +++ b/third_party/blink/web_tests/fast/canvas/color-space/canvas-colorManaged-convertToBlob-roundtrip.html
@@ -92,7 +92,7 @@ var ctx = srcCanvas.getContext('2d', testScenario.canvasColorParam); var compositeOverBlack = (testScenario.encodeOptions.type == "image/jpeg"); drawPatternOnCanvsa(ctx, testScenario.alpha, compositeOverBlack); - var refPixels = ctx.getImageData(0, 0, 2, 2).dataUnion; + var refPixels = ctx.getImageData(0, 0, 2, 2).data; var t = async_test("Test canvas convertToBlob(): " + testScenarioToString(testScenario)); @@ -102,7 +102,7 @@ var dstCanvas = createCanvas(testScenario); var dstCtx = dstCanvas.getContext('2d', testScenario.canvasColorParam); dstCtx.drawImage(image, 0, 0); - var actualPixels = dstCtx.getImageData(0, 0, 2, 2).dataUnion; + var actualPixels = dstCtx.getImageData(0, 0, 2, 2).data; testPixels(actualPixels, refPixels, testScenario); });
diff --git a/third_party/blink/web_tests/fast/canvas/color-space/canvas-createImageBitmap-e_srgb.html b/third_party/blink/web_tests/fast/canvas/color-space/canvas-createImageBitmap-e_srgb.html index 66ac93c1..f1d78df 100644 --- a/third_party/blink/web_tests/fast/canvas/color-space/canvas-createImageBitmap-e_srgb.html +++ b/third_party/blink/web_tests/fast/canvas/color-space/canvas-createImageBitmap-e_srgb.html
@@ -49,7 +49,7 @@ if (sourceType === 'video') tolerance = 0.03; for (var i = 0; i < tests.length; i++) { - actual = ctx.getImageData(tests[i][0], tests[i][1], 1, 1).dataUnion; + actual = ctx.getImageData(tests[i][0], tests[i][1], 1, 1).data; expected = tests[i][2]; assert_true(actual.length === expected.length); for (var j = 0; j < actual.length; j++) @@ -176,8 +176,8 @@ ctx2.clearRect(0, 0, canvas2.width, canvas2.height); ctx1.drawImage(bitmap1, 0, 0); ctx2.drawImage(bitmap2, 0, 0); - var data1 = ctx1.getImageData(0, 0, 50, 50).dataUnion; - var data2 = ctx2.getImageData(0, 0, 50, 50).dataUnion; + var data1 = ctx1.getImageData(0, 0, 50, 50).data; + var data2 = ctx2.getImageData(0, 0, 50, 50).data; var dataMatched = true; for (var i = 0; i < data1.length; i++) { if (data1[i] != data2[i]) {
diff --git a/third_party/blink/web_tests/fast/canvas/color-space/canvas-createImageBitmap-p3.html b/third_party/blink/web_tests/fast/canvas/color-space/canvas-createImageBitmap-p3.html index 83b33d0..f9c27a9 100644 --- a/third_party/blink/web_tests/fast/canvas/color-space/canvas-createImageBitmap-p3.html +++ b/third_party/blink/web_tests/fast/canvas/color-space/canvas-createImageBitmap-p3.html
@@ -50,7 +50,7 @@ if (sourceType == 'video') tolerance = 0.03; for (var i = 0; i < tests.length; i++) { - actual = ctx.getImageData(tests[i][0], tests[i][1], 1, 1).dataUnion; + actual = ctx.getImageData(tests[i][0], tests[i][1], 1, 1).data; expected = tests[i][2]; assert_true(actual.length === expected.length); for (var j = 0; j < actual.length; j++) @@ -168,8 +168,8 @@ ctx2.clearRect(0, 0, canvas2.width, canvas2.height); ctx1.drawImage(bitmap1, 0, 0); ctx2.drawImage(bitmap2, 0, 0); - var data1 = ctx1.getImageData(0, 0, 50, 50).dataUnion; - var data2 = ctx2.getImageData(0, 0, 50, 50).dataUnion; + var data1 = ctx1.getImageData(0, 0, 50, 50).data; + var data2 = ctx2.getImageData(0, 0, 50, 50).data; var dataMatched = true; for (var i = 0; i < data1.length; i++) { if (data1[i] != data2[i]) {
diff --git a/third_party/blink/web_tests/fast/canvas/color-space/canvas-createImageBitmap-rec2020.html b/third_party/blink/web_tests/fast/canvas/color-space/canvas-createImageBitmap-rec2020.html index c35e564..669550c 100644 --- a/third_party/blink/web_tests/fast/canvas/color-space/canvas-createImageBitmap-rec2020.html +++ b/third_party/blink/web_tests/fast/canvas/color-space/canvas-createImageBitmap-rec2020.html
@@ -50,7 +50,7 @@ if (sourceType === 'video') tolerance = 0.04; for (var i = 0; i < tests.length; i++) { - actual = ctx.getImageData(tests[i][0], tests[i][1], 1, 1).dataUnion; + actual = ctx.getImageData(tests[i][0], tests[i][1], 1, 1).data; expected = tests[i][2]; assert_true(actual.length === expected.length); for (var j = 0; j < actual.length; j++) @@ -178,8 +178,8 @@ ctx2.clearRect(0, 0, canvas2.width, canvas2.height); ctx1.drawImage(bitmap1, 0, 0); ctx2.drawImage(bitmap2, 0, 0); - var data1 = ctx1.getImageData(0, 0, 50, 50).dataUnion; - var data2 = ctx2.getImageData(0, 0, 50, 50).dataUnion; + var data1 = ctx1.getImageData(0, 0, 50, 50).data; + var data2 = ctx2.getImageData(0, 0, 50, 50).data; var dataMatched = true; for (var i = 0; i < data1.length; i++) { if (data1[i] != data2[i]) {
diff --git a/third_party/blink/web_tests/fast/canvas/color-space/canvas-createPutGetImageData-colorManaged.html b/third_party/blink/web_tests/fast/canvas/color-space/canvas-createPutGetImageData-colorManaged.html index 903200c..e386452 100644 --- a/third_party/blink/web_tests/fast/canvas/color-space/canvas-createPutGetImageData-colorManaged.html +++ b/third_party/blink/web_tests/fast/canvas/color-space/canvas-createPutGetImageData-colorManaged.html
@@ -14,7 +14,7 @@ assert_equals(imageData.data.length, 4 * xWidth * xHeight); } else { assert_equals("float32", imageDataColorSettings.storageFormat); - assert_equals(imageData.dataUnion.length, 4 * xWidth * xHeight); + assert_equals(imageData.data.length, 4 * xWidth * xHeight); } }
diff --git a/third_party/blink/web_tests/fast/canvas/color-space/canvas-draw-high-bit-depth-images.html b/third_party/blink/web_tests/fast/canvas/color-space/canvas-draw-high-bit-depth-images.html index 0feb564..d08cbabd 100644 --- a/third_party/blink/web_tests/fast/canvas/color-space/canvas-draw-high-bit-depth-images.html +++ b/third_party/blink/web_tests/fast/canvas/color-space/canvas-draw-high-bit-depth-images.html
@@ -46,7 +46,7 @@ '2d', testScenario.canvasColorParams); refCtx.drawImage(_8bitImage, 0, 0); var refImageData = refCtx.getImageData(0, 0, 2, 2); - var refPixels = refImageData.dataUnion; + var refPixels = refImageData.data; var testCanvas = document.createElement("canvas"); testCanvas.width = testCanvas.height = 40000; @@ -54,7 +54,7 @@ '2d', testScenario.canvasColorParams); testCtx.drawImage(_16bitImage, 0, 0); var testImageData = testCtx.getImageData(0, 0, 2, 2); - var testPixels = testImageData.dataUnion; + var testPixels = testImageData.data; assert_array_approx_equals(refPixels, testPixels, tolerance);
diff --git a/third_party/blink/web_tests/fast/canvas/color-space/canvas-drawImage-e_srgb.html b/third_party/blink/web_tests/fast/canvas/color-space/canvas-drawImage-e_srgb.html index 88fedb0..ca753f46 100644 --- a/third_party/blink/web_tests/fast/canvas/color-space/canvas-drawImage-e_srgb.html +++ b/third_party/blink/web_tests/fast/canvas/color-space/canvas-drawImage-e_srgb.html
@@ -15,7 +15,7 @@ { var actual, expected, tolerance = 0.01; for (var i = 0; i < tests.length; i++) { - actual = ctx.getImageData(tests[i].x, tests[i].y, 1, 1).dataUnion; + actual = ctx.getImageData(tests[i].x, tests[i].y, 1, 1).data; expected = tests[i].color; assert_true(actual.length === expected.length); for (var j = 0; j < actual.length; j++)
diff --git a/third_party/blink/web_tests/fast/canvas/color-space/canvas-drawImage-offscreenCanvas.html b/third_party/blink/web_tests/fast/canvas/color-space/canvas-drawImage-offscreenCanvas.html index 65b455b..91027a4 100644 --- a/third_party/blink/web_tests/fast/canvas/color-space/canvas-drawImage-offscreenCanvas.html +++ b/third_party/blink/web_tests/fast/canvas/color-space/canvas-drawImage-offscreenCanvas.html
@@ -90,8 +90,8 @@ function testPixels(testCtx, refCtx, pixelFormat, isTrnasparent) { - var actual = testCtx.getImageData(0, 0, 4, 4).dataUnion; - var expected = refCtx.getImageData(0, 0, 4, 4).dataUnion; + var actual = testCtx.getImageData(0, 0, 4, 4).data; + var expected = refCtx.getImageData(0, 0, 4, 4).data; var tolerance = 4; if (pixelFormat === 'float16')
diff --git a/third_party/blink/web_tests/fast/canvas/color-space/canvas-drawImage-p3.html b/third_party/blink/web_tests/fast/canvas/color-space/canvas-drawImage-p3.html index 5955687..b7be762 100644 --- a/third_party/blink/web_tests/fast/canvas/color-space/canvas-drawImage-p3.html +++ b/third_party/blink/web_tests/fast/canvas/color-space/canvas-drawImage-p3.html
@@ -19,7 +19,7 @@ { var actual, expected, tolerance = 0.01; for (var i = 0; i < tests.length; i++) { - actual = ctx.getImageData(tests[i].x, tests[i].y, 1, 1).dataUnion; + actual = ctx.getImageData(tests[i].x, tests[i].y, 1, 1).data; expected = tests[i].color; assert_true(actual.length === expected.length); for (var j = 0; j < actual.length; j++)
diff --git a/third_party/blink/web_tests/fast/canvas/color-space/canvas-drawImage-rec2020.html b/third_party/blink/web_tests/fast/canvas/color-space/canvas-drawImage-rec2020.html index 28c25a0..219a4e043 100644 --- a/third_party/blink/web_tests/fast/canvas/color-space/canvas-drawImage-rec2020.html +++ b/third_party/blink/web_tests/fast/canvas/color-space/canvas-drawImage-rec2020.html
@@ -19,7 +19,7 @@ { var actual, expected, tolerance = 0.01; for (var i = 0; i < tests.length; i++) { - actual = ctx.getImageData(tests[i].x, tests[i].y, 1, 1).dataUnion; + actual = ctx.getImageData(tests[i].x, tests[i].y, 1, 1).data; expected = tests[i].color; assert_true(actual.length === expected.length); for (var j = 0; j < actual.length; j++)
diff --git a/third_party/blink/web_tests/fast/canvas/color-space/canvas-getImageData-e_srgb.html b/third_party/blink/web_tests/fast/canvas/color-space/canvas-getImageData-e_srgb.html index 7aa868c..856698c 100644 --- a/third_party/blink/web_tests/fast/canvas/color-space/canvas-getImageData-e_srgb.html +++ b/third_party/blink/web_tests/fast/canvas/color-space/canvas-getImageData-e_srgb.html
@@ -27,7 +27,7 @@ {colorSpace: 'srgb', pixelFormat:'float16'}); ctx.fillStyle = 'rgba(51, 102, 153, 0.8)'; ctx.fillRect(0, 0, 10, 10); - var pixel = ctx.getImageData(5, 5, 1, 1).dataUnion; + var pixel = ctx.getImageData(5, 5, 1, 1).data; // Check against the same color in e-sRGB. 0.01 protects the test against // color conversion deviations. assert_array_approx_equals(pixel, [0.2, 0.4, 0.6, 0.8], 0.01); @@ -41,12 +41,12 @@ {colorSpace: 'srgb', pixelFormat:'float16'}) var imageData = ctx.createImageData(1, 1, {colorSpace: 'srgb', storageFormat:'float32'}); - imageData.dataUnion[0] = 0.2; - imageData.dataUnion[1] = 0.4; - imageData.dataUnion[2] = 0.6; - imageData.dataUnion[3] = 0.8; + imageData.data[0] = 0.2; + imageData.data[1] = 0.4; + imageData.data[2] = 0.6; + imageData.data[3] = 0.8; ctx.putImageData(imageData, 5, 5); - var pixel = ctx.getImageData(5, 5, 1, 1).dataUnion; + var pixel = ctx.getImageData(5, 5, 1, 1).data; // Check against the same color in e-sRGB. 0.001 protects the test against // rounding errors. assert_array_approx_equals(pixel, [0.2, 0.4, 0.6, 0.8], 0.01); @@ -60,12 +60,12 @@ {colorSpace: 'srgb', pixelFormat:'float16'}) var imageData = ctx.createImageData(1, 1, {colorSpace: 'srgb', storageFormat:'float32'}); - imageData.dataUnion[0] = 1.3; - imageData.dataUnion[1] = -1.13; - imageData.dataUnion[2] = 0.7; - imageData.dataUnion[3] = 1.8; + imageData.data[0] = 1.3; + imageData.data[1] = -1.13; + imageData.data[2] = 0.7; + imageData.data[3] = 1.8; ctx.putImageData(imageData, 5, 5); - var pixel = ctx.getImageData(5, 5, 1, 1).dataUnion; + var pixel = ctx.getImageData(5, 5, 1, 1).data; // Check against the same color in e-sRGB. 0.001 protects the test against // rounding errors. assert_array_approx_equals(pixel, [1.3, -1.13, 0.7, 1.8], 0.01); @@ -84,7 +84,7 @@ imageData.data[2] = 153; imageData.data[3] = 204; ctx.putImageData(imageData, 5, 5); - var pixel = ctx.getImageData(5, 5, 1, 1).dataUnion; + var pixel = ctx.getImageData(5, 5, 1, 1).data; // Check against the same color in e-sRGB. 0.01 protects the test against // color conversion deviations. assert_array_approx_equals(pixel, [0.2, 0.4, 0.6, 0.8], 0.01);
diff --git a/third_party/blink/web_tests/fast/canvas/color-space/canvas-getImageData-p3.html b/third_party/blink/web_tests/fast/canvas/color-space/canvas-getImageData-p3.html index e8af44cf..9196b6f 100644 --- a/third_party/blink/web_tests/fast/canvas/color-space/canvas-getImageData-p3.html +++ b/third_party/blink/web_tests/fast/canvas/color-space/canvas-getImageData-p3.html
@@ -25,7 +25,7 @@ {colorSpace: 'p3', pixelFormat:'float16'}); ctx.fillStyle = 'rgb(50, 100, 150)'; ctx.fillRect(0, 0, 10, 10); - var pixel = ctx.getImageData(5, 5, 1, 1).dataUnion; + var pixel = ctx.getImageData(5, 5, 1, 1).data; // Check against the same color in P3. 0.01 protects the test against // color conversion deviations. assert_array_approx_equals(pixel, [0.24304, 0.38818, 0.57227, 1], 0.01); @@ -40,12 +40,12 @@ var dataP3 = new Float32Array(4); var imageData = ctx.createImageData(1, 1, {colorSpace: 'p3', storageFormat:'float32'}); - imageData.dataUnion[0] = 0.24304; - imageData.dataUnion[1] = 0.38818; - imageData.dataUnion[2] = 0.57227; - imageData.dataUnion[3] = 1; + imageData.data[0] = 0.24304; + imageData.data[1] = 0.38818; + imageData.data[2] = 0.57227; + imageData.data[3] = 1; ctx.putImageData(imageData, 5, 5); - var pixel = ctx.getImageData(5, 5, 1, 1).dataUnion; + var pixel = ctx.getImageData(5, 5, 1, 1).data; // Check against the same color in P3. 0.001 protects the test against // rounding errors. assert_array_approx_equals(pixel, [0.24304, 0.38818, 0.57227, 1], 0.001); @@ -64,7 +64,7 @@ imageData.data[2] = 150; imageData.data[3] = 255; ctx.putImageData(imageData, 5, 5); - var pixel = ctx.getImageData(5, 5, 1, 1).dataUnion; + var pixel = ctx.getImageData(5, 5, 1, 1).data; // Check against the same color in P3. 0.01 protects the test against // color conversion deviations. assert_array_approx_equals(pixel, [0.24304, 0.38818, 0.57227, 1], 0.01);
diff --git a/third_party/blink/web_tests/fast/canvas/color-space/canvas-getImageData-rec2020.html b/third_party/blink/web_tests/fast/canvas/color-space/canvas-getImageData-rec2020.html index 4455760..74f11fe2 100644 --- a/third_party/blink/web_tests/fast/canvas/color-space/canvas-getImageData-rec2020.html +++ b/third_party/blink/web_tests/fast/canvas/color-space/canvas-getImageData-rec2020.html
@@ -25,7 +25,7 @@ {colorSpace: 'rec2020', pixelFormat:'float16'}); ctx.fillStyle = 'rgb(50, 100, 150)'; ctx.fillRect(0, 0, 10, 10); - var pixel = ctx.getImageData(5, 5, 1, 1).dataUnion; + var pixel = ctx.getImageData(5, 5, 1, 1).data; // Check against the same color in Rec2020. 0.01 protects the test against // color conversion deviations. assert_array_approx_equals(pixel, [0.34106, 0.41553, 0.59180, 1.00000], 0.01); @@ -39,12 +39,12 @@ {colorSpace: 'rec2020', pixelFormat:'float16'}) var imageData = ctx.createImageData(1, 1, {colorSpace: 'rec2020', storageFormat:'float32'}); - imageData.dataUnion[0] = 0.34106; - imageData.dataUnion[1] = 0.41553; - imageData.dataUnion[2] = 0.59180; - imageData.dataUnion[3] = 1.00000; + imageData.data[0] = 0.34106; + imageData.data[1] = 0.41553; + imageData.data[2] = 0.59180; + imageData.data[3] = 1.00000; ctx.putImageData(imageData, 5, 5); - var pixel = ctx.getImageData(5, 5, 1, 1).dataUnion; + var pixel = ctx.getImageData(5, 5, 1, 1).data; // Check against the same color in Rec2020. 0.001 protects the test against // rounding errors. assert_array_approx_equals(pixel, [0.34106, 0.41553, 0.59180, 1.00000], 0.001); @@ -63,7 +63,7 @@ imageData.data[2] = 150; imageData.data[3] = 255; ctx.putImageData(imageData, 5, 5); - var pixel = ctx.getImageData(5, 5, 1, 1).dataUnion; + var pixel = ctx.getImageData(5, 5, 1, 1).data; // Check against the same color in Rec2020. 0.01 protects the test against // color conversion deviations. assert_array_approx_equals(pixel, [0.34106, 0.41553, 0.59180, 1.00000], 0.01);
diff --git a/third_party/blink/web_tests/fast/canvas/color-space/imageData-colorManagedBehavior.html b/third_party/blink/web_tests/fast/canvas/color-space/imageData-colorManagedBehavior.html index f395be5..86cbdd35 100644 --- a/third_party/blink/web_tests/fast/canvas/color-space/imageData-colorManagedBehavior.html +++ b/third_party/blink/web_tests/fast/canvas/color-space/imageData-colorManagedBehavior.html
@@ -75,7 +75,7 @@ function checkImageDataColorValues(canvasColorSettings, imageData, isBlank = '', width = xWidth, height = xHeight, isWCG_U8toSRGB_U8 = '') { - var data = imageData.dataUnion; + var data = imageData.data; if (isBlank === 'isBlank') { testBlankPixels(data, width, height); } else { @@ -164,20 +164,20 @@ for (var i = 0; i < xWidth * xHeight; i++) for (var j = 0; j < 4; j++) { - srgbImageDataU8.dataUnion[i*4+j] = srgbPixels[i][j]; - e_srgbImageDataU16.dataUnion[i*4+j] = + srgbImageDataU8.data[i*4+j] = srgbPixels[i][j]; + e_srgbImageDataU16.data[i*4+j] = Math.round(e_srgbPixels[i][j] * 65535); - e_srgbImageDataF32.dataUnion[i*4+j] = e_srgbPixels[i][j]; + e_srgbImageDataF32.data[i*4+j] = e_srgbPixels[i][j]; - rec2020ImageDataU8.dataUnion[i*4+j] = + rec2020ImageDataU8.data[i*4+j] = Math.round(rec2020Pixels[i][j] * 255); - rec2020ImageDataU16.dataUnion[i*4+j] = + rec2020ImageDataU16.data[i*4+j] = Math.round(rec2020Pixels[i][j] * 65535); - rec2020ImageDataF32.dataUnion[i*4+j] = rec2020Pixels[i][j]; + rec2020ImageDataF32.data[i*4+j] = rec2020Pixels[i][j]; - p3ImageDataU8.dataUnion[i*4+j] = Math.round(p3Pixels[i][j] * 255); - p3ImageDataU16.dataUnion[i*4+j] = Math.round(p3Pixels[i][j] * 65535); - p3ImageDataF32.dataUnion[i*4+j] = p3Pixels[i][j]; + p3ImageDataU8.data[i*4+j] = Math.round(p3Pixels[i][j] * 255); + p3ImageDataU16.data[i*4+j] = Math.round(p3Pixels[i][j] * 65535); + p3ImageDataF32.data[i*4+j] = p3Pixels[i][j]; } } @@ -335,7 +335,7 @@ imageDataColorSettings.storageFormat, "storageFormat should match"); var blankData = new Array(4 * width * height).fill(0); - assert_array_equals(imageData.dataUnion, blankData, + assert_array_equals(imageData.data, blankData, "ImageData should be transparent black"); }
diff --git a/third_party/blink/web_tests/fast/canvas/color-space/imageData-colorSpace.html b/third_party/blink/web_tests/fast/canvas/color-space/imageData-colorSpace.html index f1187645..e9bc582 100644 --- a/third_party/blink/web_tests/fast/canvas/color-space/imageData-colorSpace.html +++ b/third_party/blink/web_tests/fast/canvas/color-space/imageData-colorSpace.html
@@ -23,8 +23,8 @@ var ctx = canvas.getContext("2d"); imageData = ctx.createImageData(1, 1, colorSettings); - checkDataTypeAgainstStorageFormat(imageData.dataUnion, colorSettings.storageFormat); - assert_array_equals(imageData.dataUnion, [0, 0, 0, 0]); + checkDataTypeAgainstStorageFormat(imageData.data, colorSettings.storageFormat); + assert_array_equals(imageData.data, [0, 0, 0, 0]); checkColorSettings(imageData.getColorSettings(), expectedColorSettings.colorSpace, expectedColorSettings.storageFormat); }
diff --git a/third_party/blink/web_tests/fast/canvas/color-space/transferFromImageBitmap.html b/third_party/blink/web_tests/fast/canvas/color-space/transferFromImageBitmap.html index 5d34d6a..8654206c 100644 --- a/third_party/blink/web_tests/fast/canvas/color-space/transferFromImageBitmap.html +++ b/third_party/blink/web_tests/fast/canvas/color-space/transferFromImageBitmap.html
@@ -56,7 +56,7 @@ ctx.fillRect(0, 1, 1, 1); ctx.fillStyle = generateFillStyle(27, 27, 27, testScenario.alpha); ctx.fillRect(1, 1, 1, 1); - return ctx.getImageData(0, 0, 2, 2).dataUnion; + return ctx.getImageData(0, 0, 2, 2).data; } function generateTestName(testScenario) { @@ -94,7 +94,7 @@ {colorSpace: testScenario.colorSpace, pixelFormat: testScenario.pixelFormat}); ctx.drawImage(dstCanvas, 0, 0); - var actualPixels = ctx.getImageData(0, 0, 2, 2).dataUnion; + var actualPixels = ctx.getImageData(0, 0, 2, 2).data; testPixels(actualPixels, expectedPixels, testScenario); }); }, generateTestName(testScenario));
diff --git a/third_party/blink/web_tests/fast/text-autosizing/shrink-to-fit-expected.html b/third_party/blink/web_tests/fast/text-autosizing/shrink-to-fit-expected.html deleted file mode 100644 index b83a7a7..0000000 --- a/third_party/blink/web_tests/fast/text-autosizing/shrink-to-fit-expected.html +++ /dev/null
@@ -1,9 +0,0 @@ -<!DOCTYPE html> -<meta name="viewport" content="width=800"> -<script src="resources/autosizingTest.js"></script> -<p>The word PASS should be seen below.</p> -PASS -<p style="visibility:hidden;"> - Filler text that affects TextAutosizer behavior. - Tenderloin ham boudin tongue sausage venison short ribs sirloin, kielbasa beef ribs. Strip steak shank bresaola salami spare ribs kielbasa fatback, cow t-bone flank leberkas sirloin. Jowl pork belly ribeye, corned beef sirloin chicken salami tail. Rump swine ham shank corned beef short loin, speck turkey pancetta shankle frankfurter. Pancetta tail fatback, ground round brisket biltong frankfurter turkey. Ham hock chicken strip steak, salami short ribs beef ribs pork sirloin pastrami pork loin turducken rump brisket andouille. -</p>
diff --git a/third_party/blink/web_tests/fast/text-autosizing/shrink-to-fit.html b/third_party/blink/web_tests/fast/text-autosizing/shrink-to-fit.html deleted file mode 100644 index 52a7cef..0000000 --- a/third_party/blink/web_tests/fast/text-autosizing/shrink-to-fit.html +++ /dev/null
@@ -1,9 +0,0 @@ -<!DOCTYPE html> -<meta name="viewport" content="width=800"> -<script src="resources/autosizingTest.js"></script> -<p>The word PASS should be seen below.</p> -<div style="width:fit-content; overflow:hidden;">PASS</div> -<p style="visibility:hidden;"> - Filler text that affects TextAutosizer behavior. - Tenderloin ham boudin tongue sausage venison short ribs sirloin, kielbasa beef ribs. Strip steak shank bresaola salami spare ribs kielbasa fatback, cow t-bone flank leberkas sirloin. Jowl pork belly ribeye, corned beef sirloin chicken salami tail. Rump swine ham shank corned beef short loin, speck turkey pancetta shankle frankfurter. Pancetta tail fatback, ground round brisket biltong frankfurter turkey. Ham hock chicken strip steak, salami short ribs beef ribs pork sirloin pastrami pork loin turducken rump brisket andouille. -</p>
diff --git a/third_party/blink/web_tests/flag-specific/force-device-scale-factor=1.5/svg/dynamic-updates/SVGFESpecularLightingElement-dom-kernelUnitLength-attr-expected.png b/third_party/blink/web_tests/flag-specific/force-device-scale-factor=1.5/svg/dynamic-updates/SVGFESpecularLightingElement-dom-kernelUnitLength-attr-expected.png index 8a9cd93..3dfb035 100644 --- a/third_party/blink/web_tests/flag-specific/force-device-scale-factor=1.5/svg/dynamic-updates/SVGFESpecularLightingElement-dom-kernelUnitLength-attr-expected.png +++ b/third_party/blink/web_tests/flag-specific/force-device-scale-factor=1.5/svg/dynamic-updates/SVGFESpecularLightingElement-dom-kernelUnitLength-attr-expected.png Binary files differ
diff --git a/third_party/blink/web_tests/http/tests/serviceworker/webexposed/global-interface-listing-service-worker-expected.txt b/third_party/blink/web_tests/http/tests/serviceworker/webexposed/global-interface-listing-service-worker-expected.txt index 8905082..ccdcff8b5 100644 --- a/third_party/blink/web_tests/http/tests/serviceworker/webexposed/global-interface-listing-service-worker-expected.txt +++ b/third_party/blink/web_tests/http/tests/serviceworker/webexposed/global-interface-listing-service-worker-expected.txt
@@ -807,7 +807,6 @@ interface ImageData attribute @@toStringTag getter data - getter dataUnion getter height getter width method constructor
diff --git a/third_party/blink/web_tests/svg/dynamic-updates/SVGFESpecularLightingElement-dom-kernelUnitLength-attr-expected.png b/third_party/blink/web_tests/svg/dynamic-updates/SVGFESpecularLightingElement-dom-kernelUnitLength-attr-expected.png index 7b52bde5..8731a16 100644 --- a/third_party/blink/web_tests/svg/dynamic-updates/SVGFESpecularLightingElement-dom-kernelUnitLength-attr-expected.png +++ b/third_party/blink/web_tests/svg/dynamic-updates/SVGFESpecularLightingElement-dom-kernelUnitLength-attr-expected.png Binary files differ
diff --git a/third_party/blink/web_tests/svg/dynamic-updates/SVGFESpecularLightingElement-dom-kernelUnitLength-attr.html b/third_party/blink/web_tests/svg/dynamic-updates/SVGFESpecularLightingElement-dom-kernelUnitLength-attr.html index 8cff544..96f16ba 100644 --- a/third_party/blink/web_tests/svg/dynamic-updates/SVGFESpecularLightingElement-dom-kernelUnitLength-attr.html +++ b/third_party/blink/web_tests/svg/dynamic-updates/SVGFESpecularLightingElement-dom-kernelUnitLength-attr.html
@@ -4,6 +4,12 @@ <script src="resources/SVGTestCase.js"></script> <script src="../../resources/js-test.js"></script> <script src="../../paint/invalidation/resources/text-based-repaint.js"></script> +<script> +// Under-invalidatin checking seems to affect blending of anti-aliased pixels +// for this test. See crbug.com/1128627 for details. +if (window.internals) + internals.runtimeFlags.paintUnderInvalidationCheckingEnabled = false; +</script> </head> <body onload="runRepaintTest()"> <h1>SVG 1.1 dynamic update tests</h1>
diff --git a/third_party/blink/web_tests/webexposed/global-interface-listing-dedicated-worker-expected.txt b/third_party/blink/web_tests/webexposed/global-interface-listing-dedicated-worker-expected.txt index 3a3056e..ea324b19 100644 --- a/third_party/blink/web_tests/webexposed/global-interface-listing-dedicated-worker-expected.txt +++ b/third_party/blink/web_tests/webexposed/global-interface-listing-dedicated-worker-expected.txt
@@ -749,7 +749,6 @@ [Worker] interface ImageData [Worker] attribute @@toStringTag [Worker] getter data -[Worker] getter dataUnion [Worker] getter height [Worker] getter width [Worker] method constructor
diff --git a/third_party/blink/web_tests/webexposed/global-interface-listing-expected.txt b/third_party/blink/web_tests/webexposed/global-interface-listing-expected.txt index 4328907..e387333 100644 --- a/third_party/blink/web_tests/webexposed/global-interface-listing-expected.txt +++ b/third_party/blink/web_tests/webexposed/global-interface-listing-expected.txt
@@ -4585,7 +4585,6 @@ interface ImageData attribute @@toStringTag getter data - getter dataUnion getter height getter width method constructor
diff --git a/third_party/blink/web_tests/webexposed/global-interface-listing-shared-worker-expected.txt b/third_party/blink/web_tests/webexposed/global-interface-listing-shared-worker-expected.txt index d145bab2..4cde980 100644 --- a/third_party/blink/web_tests/webexposed/global-interface-listing-shared-worker-expected.txt +++ b/third_party/blink/web_tests/webexposed/global-interface-listing-shared-worker-expected.txt
@@ -736,7 +736,6 @@ [Worker] interface ImageData [Worker] attribute @@toStringTag [Worker] getter data -[Worker] getter dataUnion [Worker] getter height [Worker] getter width [Worker] method constructor
diff --git a/third_party/closure_compiler/externs/language_settings_private.js b/third_party/closure_compiler/externs/language_settings_private.js index dbdbfa1..a9c3878 100644 --- a/third_party/closure_compiler/externs/language_settings_private.js +++ b/third_party/closure_compiler/externs/language_settings_private.js
@@ -52,6 +52,7 @@ * id: string, * displayName: string, * languageCodes: !Array<string>, + * tags: !Array<string>, * enabled: (boolean|undefined), * hasOptionsPage: (boolean|undefined), * isProhibitedByPolicy: (boolean|undefined)
diff --git a/third_party/closure_compiler/externs/passwords_private.js b/third_party/closure_compiler/externs/passwords_private.js index 3df0344..5f0a040 100644 --- a/third_party/closure_compiler/externs/passwords_private.js +++ b/third_party/closure_compiler/externs/passwords_private.js
@@ -99,6 +99,15 @@ /** * @typedef {{ + * compromiseTime: number, + * elapsedTimeSinceCompromise: string, + * compromiseType: !chrome.passwordsPrivate.CompromiseType + * }} + */ +chrome.passwordsPrivate.CompromisedInfo; + +/** + * @typedef {{ * id: number, * formattedOrigin: string, * detailedOrigin: string, @@ -107,12 +116,10 @@ * signonRealm: string, * username: string, * password: (string|undefined), - * compromiseTime: number, - * elapsedTimeSinceCompromise: string, - * compromiseType: !chrome.passwordsPrivate.CompromiseType + * compromisedInfo: (!chrome.passwordsPrivate.CompromisedInfo|undefined) * }} */ -chrome.passwordsPrivate.CompromisedCredential; +chrome.passwordsPrivate.InsecureCredential; /** * @typedef {{ @@ -131,8 +138,10 @@ chrome.passwordsPrivate.recordPasswordsPageAccessInSettings = function() {}; /** - * Changes the saved password corresponding to |ids|. Invokes |callback| or - * raises an error depending on whether the operation succeeded. + * Changes the saved password corresponding to |ids|. Since the password can be + * stored in Google Account and on device, in this case we want to change the + * password for accountId and deviceId. Invokes |callback| or raises an error + * depending on whether the operation succeeded. * @param {!Array<number>} ids The ids for the password entry being updated. * @param {string} new_password The new password. * @param {function(): void=} callback The callback that gets invoked in the @@ -259,7 +268,7 @@ /** * Requests the latest compromised credentials. - * @param {function(!Array<!chrome.passwordsPrivate.CompromisedCredential>): void} + * @param {function(!Array<!chrome.passwordsPrivate.InsecureCredential>): void} * callback */ chrome.passwordsPrivate.getCompromisedCredentials = function(callback) {}; @@ -267,12 +276,12 @@ /** * Requests the plaintext password for |credential|. |callback| gets invoked * with the same |credential|, whose |password| field will be set. - * @param {!chrome.passwordsPrivate.CompromisedCredential} credential The + * @param {!chrome.passwordsPrivate.InsecureCredential} credential The * compromised credential whose password is being retrieved. * @param {!chrome.passwordsPrivate.PlaintextReason} reason The reason why the * plaintext password is requested. - * @param {function(!chrome.passwordsPrivate.CompromisedCredential): void} - * callback The callback that gets invoked with the result. + * @param {function(!chrome.passwordsPrivate.InsecureCredential): void} callback + * The callback that gets invoked with the result. */ chrome.passwordsPrivate.getPlaintextCompromisedPassword = function( credential, reason, callback) {}; @@ -280,7 +289,7 @@ /** * Requests to change the password of |credential| to |new_password|. Invokes * |callback| or raises an error depending on whether the operation succeeded. - * @param {!chrome.passwordsPrivate.CompromisedCredential} credential The + * @param {!chrome.passwordsPrivate.InsecureCredential} credential The * credential whose password should be changed. * @param {string} new_password The new password. * @param {function(): void=} callback The callback that gets invoked in the @@ -292,7 +301,7 @@ /** * Requests to remove |credential| from the password store. Invokes |callback| * on completion. - * @param {!chrome.passwordsPrivate.CompromisedCredential} credential + * @param {!chrome.passwordsPrivate.InsecureCredential} credential * @param {function(): void=} callback */ chrome.passwordsPrivate.removeCompromisedCredential = function(
diff --git a/tools/binary_size/libsupersize/console.py b/tools/binary_size/libsupersize/console.py index 76e5420..5dc225a 100644 --- a/tools/binary_size/libsupersize/console.py +++ b/tools/binary_size/libsupersize/console.py
@@ -323,15 +323,6 @@ tool_prefix = self._ToolPrefixForSymbol(size_info) elf_path = self._ElfPathForSymbol(size_info, container, tool_prefix, elf_path) - # Always use Android NDK's objdump because llvm-objdump does not seem to - # correctly disassemble. - output_directory_finder = self._output_directory_finder - if not output_directory_finder.Tentative(): - output_directory_finder = path_util.OutputDirectoryFinder( - any_path_within_output_directory=elf_path) - tool_prefix = path_util.ToolPrefixFinder( - output_directory_finder=output_directory_finder, - linker_name='ld').Finalized() args = [ path_util.GetObjDumpPath(tool_prefix),
diff --git a/tools/metrics/histograms/histograms.xml b/tools/metrics/histograms/histograms.xml index 64777d0..29e4aa1 100644 --- a/tools/metrics/histograms/histograms.xml +++ b/tools/metrics/histograms/histograms.xml
@@ -96,6 +96,28 @@ </summary> </histogram> +<histogram name="Accessibility.Android.UserFontSizePref.Change" units="%" + expires_after="M90"> + <owner>twellington@chromium.org</owner> + <owner>skym@chromium.org</owner> + <summary> + Records the current user font size pref when exiting accessibility settings + if the preference was changed. The font size ranges from 50% to 200% and can + be set in increments of 5%; the default is 100%. + </summary> +</histogram> + +<histogram name="Accessibility.Android.UserFontSizePref.OnStartup" units="%" + expires_after="M90"> + <owner>twellington@chromium.org</owner> + <owner>skym@chromium.org</owner> + <summary> + Records the current user font size pref during deferred startup for + ChromeActivity. The font size ranges from 50% to 200% and can be set in + increments of 5%; the default is 100%. + </summary> +</histogram> + <histogram name="Accessibility.AndroidServiceInfo" enum="AccessibilityAndroidServiceInfoEnum" expires_after="M89"> <owner>dmazzoni@chromium.org</owner> @@ -74676,7 +74698,7 @@ </histogram> <histogram name="IOS.FinishedURLMatchesCurrentItem" enum="Boolean" - expires_after="2020-10-26"> + expires_after="2021-10-26"> <owner>ajuma@chromium.org</owner> <owner>eugenebut@chromium.org</owner> <owner>gambard@chromium.org</owner>
diff --git a/ui/base/BUILD.gn b/ui/base/BUILD.gn index 5d89069..7f993aa 100644 --- a/ui/base/BUILD.gn +++ b/ui/base/BUILD.gn
@@ -786,13 +786,13 @@ if (is_chromeos) { sources += [ - "ime/chromeos/input_method_whitelist.cc", - "ime/chromeos/input_method_whitelist.h", + "ime/chromeos/input_method_allowlist.cc", + "ime/chromeos/input_method_allowlist.h", "ime/chromeos/mock_input_method_manager.cc", "ime/chromeos/mock_input_method_manager.h", ] deps += [ - # Generates a header used by input_method_whitelist.cc + # Generates a header used by input_method_allowlist.cc "//chromeos/ime:gencode", "//ui/base/ime/chromeos", ]
diff --git a/ui/base/ime/chromeos/input_method_whitelist.cc b/ui/base/ime/chromeos/input_method_allowlist.cc similarity index 86% rename from ui/base/ime/chromeos/input_method_whitelist.cc rename to ui/base/ime/chromeos/input_method_allowlist.cc index 0c65bbf..bca48f3 100644 --- a/ui/base/ime/chromeos/input_method_whitelist.cc +++ b/ui/base/ime/chromeos/input_method_allowlist.cc
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "ui/base/ime/chromeos/input_method_whitelist.h" +#include "ui/base/ime/chromeos/input_method_allowlist.h" #include <stddef.h> @@ -20,21 +20,21 @@ const char kLanguageDelimiter[] = ","; -InputMethodWhitelist::InputMethodWhitelist() { +InputMethodAllowlist::InputMethodAllowlist() { for (const auto& input_method : kInputMethods) { supported_input_methods_.insert(input_method.input_method_id); } } -InputMethodWhitelist::~InputMethodWhitelist() = default; +InputMethodAllowlist::~InputMethodAllowlist() = default; -bool InputMethodWhitelist::InputMethodIdIsWhitelisted( +bool InputMethodAllowlist::InputMethodIdIsAllowlisted( const std::string& input_method_id) const { return supported_input_methods_.count(input_method_id) > 0; } std::unique_ptr<InputMethodDescriptors> -InputMethodWhitelist::GetSupportedInputMethods() const { +InputMethodAllowlist::GetSupportedInputMethods() const { std::unique_ptr<InputMethodDescriptors> input_methods( new InputMethodDescriptors); input_methods->reserve(base::size(kInputMethods));
diff --git a/ui/base/ime/chromeos/input_method_whitelist.h b/ui/base/ime/chromeos/input_method_allowlist.h similarity index 63% rename from ui/base/ime/chromeos/input_method_whitelist.h rename to ui/base/ime/chromeos/input_method_allowlist.h index 8c749ab..f80d932 100644 --- a/ui/base/ime/chromeos/input_method_whitelist.h +++ b/ui/base/ime/chromeos/input_method_allowlist.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 UI_BASE_IME_CHROMEOS_INPUT_METHOD_WHITELIST_H_ -#define UI_BASE_IME_CHROMEOS_INPUT_METHOD_WHITELIST_H_ +#ifndef UI_BASE_IME_CHROMEOS_INPUT_METHOD_ALLOWLIST_H_ +#define UI_BASE_IME_CHROMEOS_INPUT_METHOD_ALLOWLIST_H_ #include <memory> #include <set> @@ -19,15 +19,15 @@ class InputMethodDescriptor; typedef std::vector<InputMethodDescriptor> InputMethodDescriptors; -// A class which has white listed input method list. The list is generated by +// A class which has allow listed input method list. The list is generated by // gen_input_methods.py from input_methods.txt. -class COMPONENT_EXPORT(UI_BASE_IME_CHROMEOS) InputMethodWhitelist { +class COMPONENT_EXPORT(UI_BASE_IME_CHROMEOS) InputMethodAllowlist { public: - InputMethodWhitelist(); - ~InputMethodWhitelist(); + InputMethodAllowlist(); + ~InputMethodAllowlist(); - // Returns true if |input_method_id| is whitelisted. - bool InputMethodIdIsWhitelisted(const std::string& input_method_id) const; + // Returns true if |input_method_id| is allowlisted. + bool InputMethodIdIsAllowlisted(const std::string& input_method_id) const; // Returns all input methods that are supported, including ones not active. // This function never returns NULL. Note that input method extensions are not @@ -37,10 +37,10 @@ private: std::set<std::string> supported_input_methods_; - DISALLOW_COPY_AND_ASSIGN(InputMethodWhitelist); + DISALLOW_COPY_AND_ASSIGN(InputMethodAllowlist); }; } // namespace input_method } // namespace chromeos -#endif // UI_BASE_IME_CHROMEOS_INPUT_METHOD_WHITELIST_H_ +#endif // UI_BASE_IME_CHROMEOS_INPUT_METHOD_ALLOWLIST_H_
diff --git a/ui/base/ime/chromeos/input_method_util_unittest.cc b/ui/base/ime/chromeos/input_method_util_unittest.cc index 36616b3c..38d42bbd 100644 --- a/ui/base/ime/chromeos/input_method_util_unittest.cc +++ b/ui/base/ime/chromeos/input_method_util_unittest.cc
@@ -16,7 +16,7 @@ #include "ui/base/ime/chromeos/extension_ime_util.h" #include "ui/base/ime/chromeos/fake_input_method_delegate.h" #include "ui/base/ime/chromeos/input_method_manager.h" -#include "ui/base/ime/chromeos/input_method_whitelist.h" +#include "ui/base/ime/chromeos/input_method_allowlist.h" #include "ui/base/l10n/l10n_util.h" using base::ASCIIToUTF16; @@ -48,7 +48,7 @@ class InputMethodUtilTest : public testing::Test { public: InputMethodUtilTest() - : util_(&delegate_, whitelist_.GetSupportedInputMethods()) { + : util_(&delegate_, allowlist_.GetSupportedInputMethods()) { delegate_.set_get_localized_string_callback( base::BindRepeating(&l10n_util::GetStringUTF16)); delegate_.set_get_display_language_name_callback( @@ -85,7 +85,7 @@ GURL("")); input_methods.push_back(zhuyin_ime); - util_.InitXkbInputMethodsForTesting(*whitelist_.GetSupportedInputMethods()); + util_.InitXkbInputMethodsForTesting(*allowlist_.GetSupportedInputMethods()); util_.AppendInputMethods(input_methods); } @@ -117,7 +117,7 @@ } FakeInputMethodDelegate delegate_; - InputMethodWhitelist whitelist_; + InputMethodAllowlist allowlist_; TestableInputMethodUtil util_; };
diff --git a/ui/base/x/x11_cursor_loader.cc b/ui/base/x/x11_cursor_loader.cc index e0bdb89a..8b35ae65 100644 --- a/ui/base/x/x11_cursor_loader.cc +++ b/ui/base/x/x11_cursor_loader.cc
@@ -4,6 +4,8 @@ #include "ui/base/x/x11_cursor_loader.h" +#include <dlfcn.h> + #include <limits> #include <string> @@ -13,6 +15,7 @@ #include "base/files/file_util.h" #include "base/memory/ref_counted_memory.h" #include "base/memory/scoped_refptr.h" +#include "base/no_destructor.h" #include "base/sequence_checker.h" #include "base/stl_util.h" #include "base/strings/string_number_conversions.h" @@ -28,6 +31,10 @@ #include "ui/gfx/x/connection.h" #include "ui/gfx/x/xproto.h" +extern "C" { +const char* XcursorLibraryPath(void); +} + namespace ui { namespace { @@ -120,14 +127,41 @@ return value; } -std::string CursorPath() { +std::string CursorPathFromLibXcursor() { + struct DlCloser { + void operator()(void* ptr) const { dlclose(ptr); } + }; + + std::unique_ptr<void, DlCloser> lib(dlopen("libXcursor.so.1", RTLD_LAZY)); + if (!lib) + return ""; + + if (auto* sym = reinterpret_cast<decltype(&XcursorLibraryPath)>( + dlsym(lib.get(), "XcursorLibraryPath"))) { + if (const char* path = sym()) + return path; + } + return ""; +} + +std::string CursorPathImpl() { constexpr const char kDefaultPath[] = "~/.local/share/icons:~/.icons:/usr/share/icons:/usr/share/pixmaps:" "/usr/X11R6/lib/X11/icons"; + + auto libxcursor_path = CursorPathFromLibXcursor(); + if (!libxcursor_path.empty()) + return libxcursor_path; + std::string path = GetEnv("XCURSOR_PATH"); return path.empty() ? kDefaultPath : path; } +const std::string& CursorPath() { + static base::NoDestructor<std::string> path(CursorPathImpl()); + return *path; +} + x11::Render::PictFormat GetRenderARGBFormat( const x11::Render::QueryPictFormatsReply& formats) { for (const auto& format : formats.formats) {
diff --git a/ui/base/x/x11_drag_drop_client.cc b/ui/base/x/x11_drag_drop_client.cc index f99af79..51ff062 100644 --- a/ui/base/x/x11_drag_drop_client.cc +++ b/ui/base/x/x11_drag_drop_client.cc
@@ -672,7 +672,7 @@ void XDragDropClient::SendXdndDrop(x11::Window dest_window) { auto xev = PrepareXdndClientMessage(kXdndDrop, dest_window); - xev.data.data32[2] = x11::CurrentTime; + xev.data.data32[2] = static_cast<uint32_t>(x11::Time::CurrentTime); SendXClientEvent(dest_window, xev); }
diff --git a/ui/compositor/test/test_compositor_host_x11.cc b/ui/compositor/test/test_compositor_host_x11.cc index 50ab8f7..f55ea3a 100644 --- a/ui/compositor/test/test_compositor_host_x11.cc +++ b/ui/compositor/test/test_compositor_host_x11.cc
@@ -28,7 +28,7 @@ void TestCompositorHostX11::Show() { XDisplay* display = gfx::GetXDisplay(); XSetWindowAttributes swa; - swa.override_redirect = x11::True; + swa.override_redirect = true; window_ = static_cast<x11::Window>(XCreateWindow( display, XDefaultRootWindow(display), // parent bounds_.x(), bounds_.y(), bounds_.width(), bounds_.height(), @@ -42,7 +42,7 @@ XMapWindow(display, static_cast<uint32_t>(window_)); // Since this window is override-redirect, syncing is sufficient // to ensure the map is complete. - XSync(display, x11::False); + XSync(display, false); allocator_.GenerateId(); compositor_.SetAcceleratedWidget( static_cast<gfx::AcceleratedWidget>(window_));
diff --git a/ui/events/mojom/event_mojom_traits.cc b/ui/events/mojom/event_mojom_traits.cc index b347d0b..3f666ef 100644 --- a/ui/events/mojom/event_mojom_traits.cc +++ b/ui/events/mojom/event_mojom_traits.cc
@@ -477,11 +477,11 @@ if (!event.ReadLatency((*out)->latency())) return false; - ui::Event::Properties properties; + base::Optional<ui::Event::Properties> properties; if (!event.ReadProperties(&properties)) return false; - if (!properties.empty()) - (*out)->SetProperties(properties); + if (properties && !properties->empty()) + (*out)->SetProperties(std::move(*properties)); return true; }
diff --git a/ui/events/x/keyboard_hook_x11.cc b/ui/events/x/keyboard_hook_x11.cc index 670534c0..9b475e3 100644 --- a/ui/events/x/keyboard_hook_x11.cc +++ b/ui/events/x/keyboard_hook_x11.cc
@@ -114,7 +114,7 @@ // error handler for debugging purposes but are not used to judge success. XGrabKey(x_display_, native_key_code, modifier, static_cast<uint32_t>(x_window_), - /*owner_events=*/x11::False, + /*owner_events=*/false, /*pointer_mode=*/GrabModeAsync, /*keyboard_mode=*/GrabModeAsync); }
diff --git a/ui/gfx/x/x11.h b/ui/gfx/x/x11.h index d2dab403..1fb997c 100644 --- a/ui/gfx/x/x11.h +++ b/ui/gfx/x/x11.h
@@ -376,13 +376,4 @@ return ((g & 0x3) << 13) | (m & 0xff); } -// Deprecated. -namespace x11 { -static constexpr unsigned long None = 0L; -static constexpr long CurrentTime = 0L; -static constexpr int False = 0; -static constexpr int True = 1; -static constexpr int Success = 0; -} // namespace x11 - #endif // UI_GFX_X_X11_H_
diff --git a/ui/gfx/x/x11_error_tracker.cc b/ui/gfx/x/x11_error_tracker.cc index 3d1fae6..e5eab96 100644 --- a/ui/gfx/x/x11_error_tracker.cc +++ b/ui/gfx/x/x11_error_tracker.cc
@@ -22,7 +22,7 @@ namespace gfx { X11ErrorTracker::X11ErrorTracker() { - XSync(GetXDisplay(), x11::False); + XSync(GetXDisplay(), false); old_handler_ = reinterpret_cast<void*>(XSetErrorHandler(X11ErrorHandler)); g_x11_error_code = 0; } @@ -32,7 +32,7 @@ } bool X11ErrorTracker::FoundNewError() { - XSync(GetXDisplay(), x11::False); + XSync(GetXDisplay(), false); unsigned char error = g_x11_error_code; g_x11_error_code = 0; return error != 0;
diff --git a/ui/gl/gl_context_glx.cc b/ui/gl/gl_context_glx.cc index 8042e110..3796bfd 100644 --- a/ui/gl/gl_context_glx.cc +++ b/ui/gl/gl_context_glx.cc
@@ -57,10 +57,10 @@ // errors can be generated. To prevent these errors from crashing our process, // we simply ignore them and only look if the GLXContext was created. // Sync to ensure any errors generated are processed. - XSync(display, x11::False); + XSync(display, false); auto old_error_handler = XSetErrorHandler(IgnoreX11Errors); - GLXContext context = glXCreateContextAttribsARB(display, config, share, - x11::True, attribs.data()); + GLXContext context = + glXCreateContextAttribsARB(display, config, share, true, attribs.data()); XSetErrorHandler(old_error_handler); return context; @@ -182,7 +182,7 @@ DVLOG(1) << "GLX_ARB_create_context not supported."; context_ = glXCreateNewContext( display_, static_cast<GLXFBConfig>(compatible_surface->GetConfig()), - GLX_RGBA_TYPE, share_handle, x11::True); + GLX_RGBA_TYPE, share_handle, true); if (!context_) { LOG(ERROR) << "Failed to create GL context with glXCreateNewContext."; return false;
diff --git a/ui/gl/gl_context_glx_unittest.cc b/ui/gl/gl_context_glx_unittest.cc index cfa1727e..67cdb91 100644 --- a/ui/gl/gl_context_glx_unittest.cc +++ b/ui/gl/gl_context_glx_unittest.cc
@@ -34,7 +34,7 @@ XSetWindowAttributes swa; memset(&swa, 0, sizeof(swa)); swa.background_pixmap = 0; - swa.override_redirect = x11::True; + swa.override_redirect = true; auto xwindow = static_cast<x11::Window>(XCreateWindow( xdisplay, XDefaultRootWindow(xdisplay), 0, 0, 10, 10, // x, y, width, height @@ -47,7 +47,7 @@ XMapWindow(xdisplay, static_cast<uint32_t>(xwindow)); // Since this window is override-redirect, syncing is sufficient // to ensure the map is complete. - XSync(xdisplay, x11::False); + XSync(xdisplay, false); GLImageTestSupport::InitializeGL(base::nullopt); auto surface = gl::InitializeGLSurface(base::MakeRefCounted<GLSurfaceGLXX11>( @@ -64,7 +64,7 @@ XDestroyWindow(xdisplay, static_cast<uint32_t>(xwindow)); // Since this window is override-redirect, syncing is sufficient // to ensure the window is destroyed and unmapped. - XSync(xdisplay, x11::False); + XSync(xdisplay, false); ASSERT_FALSE(error_tracker.FoundNewError()); if (context->MakeCurrent(surface.get())) { @@ -83,7 +83,7 @@ // not destroyed. ASSERT_TRUE(context->GetHandle()); surface = nullptr; - XSync(xdisplay, x11::True); + XSync(xdisplay, true); } } // namespace gl
diff --git a/ui/gl/gl_surface_glx.cc b/ui/gl/gl_surface_glx.cc index ad5839a..1fa2399 100644 --- a/ui/gl/gl_surface_glx.cc +++ b/ui/gl/gl_surface_glx.cc
@@ -281,7 +281,7 @@ DCHECK(task_runner()->BelongsToCurrentThread()); if (!context_) { context_ = glXCreateNewContext(GetDisplay(), config, GLX_RGBA_TYPE, - nullptr, x11::True); + nullptr, true); } LOG_IF(ERROR, !context_) << "video_sync: glXCreateNewContext failed"; } @@ -337,7 +337,7 @@ vsync_lock_() { // This ensures that creation of |parent_window_| has occured when this shim // is executing in the same thread as the call to create |parent_window_|. - XSync(gfx::GetXDisplay(), x11::False); + XSync(gfx::GetXDisplay(), false); } ~SGIVideoSyncProviderThreadShim() {
diff --git a/ui/message_center/views/notification_header_view.cc b/ui/message_center/views/notification_header_view.cc index 1dc4c9f..bc23f1cc 100644 --- a/ui/message_center/views/notification_header_view.cc +++ b/ui/message_center/views/notification_header_view.cc
@@ -345,7 +345,7 @@ void NotificationHeaderView::SetExpanded(bool expanded) { is_expanded_ = expanded; UpdateColors(); - expand_button_->set_tooltip_text(l10n_util::GetStringUTF16( + expand_button_->SetTooltipText(l10n_util::GetStringUTF16( expanded ? IDS_MESSAGE_CENTER_COLLAPSE_NOTIFICATION : IDS_MESSAGE_CENTER_EXPAND_NOTIFICATION)); NotifyAccessibilityEvent(ax::mojom::Event::kStateChanged, true);
diff --git a/ui/platform_window/x11/test/x11_window_unittest.cc b/ui/platform_window/x11/test/x11_window_unittest.cc index e8e69d8..51bc8100 100644 --- a/ui/platform_window/x11/test/x11_window_unittest.cc +++ b/ui/platform_window/x11/test/x11_window_unittest.cc
@@ -202,11 +202,11 @@ // Make X11 synchronous for our display connection. This does not force the // window manager to behave synchronously. - XSynchronize(gfx::GetXDisplay(), x11::True); + XSynchronize(gfx::GetXDisplay(), true); } protected: - void TearDown() override { XSynchronize(gfx::GetXDisplay(), x11::False); } + void TearDown() override { XSynchronize(gfx::GetXDisplay(), false); } std::unique_ptr<X11Window> CreateX11Window( PlatformWindowDelegate* delegate,
diff --git a/ui/views/controls/image_view.cc b/ui/views/controls/image_view.cc index d7317c8..f31b625b 100644 --- a/ui/views/controls/image_view.cc +++ b/ui/views/controls/image_view.cc
@@ -106,6 +106,14 @@ return accessible_name_.empty() ? tooltip_text_ : accessible_name_; } +void ImageView::SetTooltipText(const base::string16& tooltip) { + tooltip_text_ = tooltip; +} + +const base::string16& ImageView::GetTooltipText() const { + return tooltip_text_; +} + bool ImageView::IsImageEqual(const gfx::ImageSkia& img) const { // Even though we copy ImageSkia in SetImage() the backing store // (ImageSkiaStorage) is not copied and may have changed since the last call @@ -271,6 +279,7 @@ ADD_PROPERTY_METADATA(Alignment, HorizontalAlignment) ADD_PROPERTY_METADATA(Alignment, VerticalAlignment) ADD_PROPERTY_METADATA(base::string16, AccessibleName) +ADD_PROPERTY_METADATA(base::string16, TooltipText) END_METADATA } // namespace views
diff --git a/ui/views/controls/image_view.h b/ui/views/controls/image_view.h index 3ec3c61..c6d689f5 100644 --- a/ui/views/controls/image_view.h +++ b/ui/views/controls/image_view.h
@@ -68,9 +68,8 @@ const base::string16& GetAccessibleName() const; // Set the tooltip text. - void set_tooltip_text(const base::string16& tooltip) { - tooltip_text_ = tooltip; - } + void SetTooltipText(const base::string16& tooltip); + const base::string16& GetTooltipText() const; // Overridden from View: void OnPaint(gfx::Canvas* canvas) override;
diff --git a/ui/views/controls/message_box_view.cc b/ui/views/controls/message_box_view.cc index 0160830..56b50de3 100644 --- a/ui/views/controls/message_box_view.cc +++ b/ui/views/controls/message_box_view.cc
@@ -138,6 +138,10 @@ return prompt_field_ ? prompt_field_->GetText() : base::string16(); } +bool MessageBoxView::HasVisibleCheckBox() const { + return checkbox_ && checkbox_->GetVisible(); +} + bool MessageBoxView::IsCheckBoxSelected() { return checkbox_ && checkbox_->GetChecked(); }
diff --git a/ui/views/controls/message_box_view.h b/ui/views/controls/message_box_view.h index b3cbf4b..3ffceed 100644 --- a/ui/views/controls/message_box_view.h +++ b/ui/views/controls/message_box_view.h
@@ -52,18 +52,19 @@ base::string16 GetInputText(); // Returns true if this message box has a visible checkbox, false otherwise. - bool HasCheckBox() const { return !!checkbox_; } + bool HasVisibleCheckBox() const; // Returns true if a checkbox is selected, false otherwise. (And false if // the message box has no checkbox.) bool IsCheckBoxSelected(); - // Adds a checkbox with the specified label to the message box if this is the + // Shows a checkbox with the specified label to the message box if this is the // first call. Otherwise, it changes the label of the current checkbox. To - // start, the message box has no checkbox until this function is called. + // start, the message box has no visible checkbox until this function is + // called. void SetCheckBoxLabel(const base::string16& label); - // Sets the state of the check-box. + // Sets the state of the check-box if it is visible. void SetCheckBoxSelected(bool selected); // Sets the text and the callback of the link. |text| must be non-empty.
diff --git a/ui/views/controls/message_box_view_unittest.cc b/ui/views/controls/message_box_view_unittest.cc index 7151a02..4692c789 100644 --- a/ui/views/controls/message_box_view_unittest.cc +++ b/ui/views/controls/message_box_view_unittest.cc
@@ -124,4 +124,12 @@ message_box_->height()); } +TEST_F(MessageBoxViewTest, CheckHasVisibleCheckBox) { + EXPECT_FALSE(message_box_->HasVisibleCheckBox()); + + // Set and show a checkbox. + message_box_->SetCheckBoxLabel(base::ASCIIToUTF16("test checkbox")); + EXPECT_TRUE(message_box_->HasVisibleCheckBox()); +} + } // namespace views
diff --git a/ui/views/widget/desktop_aura/desktop_window_tree_host_linux_interactive_uitest.cc b/ui/views/widget/desktop_aura/desktop_window_tree_host_linux_interactive_uitest.cc index f625d73c..786ee33 100644 --- a/ui/views/widget/desktop_aura/desktop_window_tree_host_linux_interactive_uitest.cc +++ b/ui/views/widget/desktop_aura/desktop_window_tree_host_linux_interactive_uitest.cc
@@ -69,23 +69,18 @@ gfx::Rect bounds_in_screen = desktop_host->window()->GetBoundsInScreen(); auto* connection = x11::Connection::Get(); - xcb_generic_event_t ge; - memset(&ge, 0, sizeof(ge)); - auto* xev = reinterpret_cast<xcb_motion_notify_event_t*>(&ge); - xev->response_type = x11::MotionNotifyEvent::opcode; - xev->event = static_cast<uint32_t>(desktop_host->GetAcceleratedWidget()); - xev->root = static_cast<uint32_t>(connection->default_screen().root); - xev->child = 0; - xev->time = x11::CurrentTime; - xev->event_x = point_in_screen.x() - bounds_in_screen.x(); - xev->event_y = point_in_screen.y() - bounds_in_screen.y(); - xev->root_x = point_in_screen.x(); - xev->root_y = point_in_screen.y(); - xev->state = 0; - xev->detail = NotifyNormal; - xev->same_screen = x11::True; + x11::MotionNotifyEvent xev{ + .detail = x11::Motion::Normal, + .root = connection->default_root(), + .event = static_cast<x11::Window>(desktop_host->GetAcceleratedWidget()), + .root_x = point_in_screen.x(), + .root_y = point_in_screen.y(), + .event_x = point_in_screen.x() - bounds_in_screen.x(), + .event_y = point_in_screen.y() - bounds_in_screen.y(), + .same_screen = true, + }; - x11::Event x11_event(&ge, connection); + x11::Event x11_event(xev); ui::X11EventSource::GetInstance()->ProcessXEvent(&x11_event); }
diff --git a/ui/views/widget/desktop_aura/x11_topmost_window_finder_interactive_uitest.cc b/ui/views/widget/desktop_aura/x11_topmost_window_finder_interactive_uitest.cc index 788c308d..055114c9 100644 --- a/ui/views/widget/desktop_aura/x11_topmost_window_finder_interactive_uitest.cc +++ b/ui/views/widget/desktop_aura/x11_topmost_window_finder_interactive_uitest.cc
@@ -117,13 +117,13 @@ #endif // Make X11 synchronous for our display connection. This does not force the // window manager to behave synchronously. - XSynchronize(xdisplay(), x11::True); + XSynchronize(xdisplay(), true); DesktopWidgetTestInteractive::SetUp(); } void TearDown() override { if (!IsSkipped()) - XSynchronize(xdisplay(), x11::False); + XSynchronize(xdisplay(), false); DesktopWidgetTestInteractive::TearDown(); } @@ -400,7 +400,7 @@ x11::Window root = ui::GetX11RootWindow(); XSetWindowAttributes swa; - swa.override_redirect = x11::True; + swa.override_redirect = true; x11::Window menu_window = static_cast<x11::Window>(XCreateWindow( xdisplay(), static_cast<uint32_t>(root), 0, 0, 1, 1, 0, // border width
diff --git a/ui/views/widget/widget_delegate.cc b/ui/views/widget/widget_delegate.cc index bbe4d12..7373436 100644 --- a/ui/views/widget/widget_delegate.cc +++ b/ui/views/widget/widget_delegate.cc
@@ -263,6 +263,8 @@ void WidgetDelegate::SetIcon(const gfx::ImageSkia& icon) { params_.icon = icon; + if (GetWidget()) + GetWidget()->UpdateWindowIcon(); } void WidgetDelegate::SetModalType(ui::ModalType modal_type) { @@ -276,6 +278,8 @@ void WidgetDelegate::SetShowIcon(bool show_icon) { params_.show_icon = show_icon; + if (GetWidget()) + GetWidget()->UpdateWindowIcon(); } void WidgetDelegate::SetShowTitle(bool show_title) {
diff --git a/ui/webui/resources/cr_components/chromeos/cellular_setup/button_bar.html b/ui/webui/resources/cr_components/chromeos/cellular_setup/button_bar.html index 03e42f4..197271f37 100644 --- a/ui/webui/resources/cr_components/chromeos/cellular_setup/button_bar.html +++ b/ui/webui/resources/cr_components/chromeos/cellular_setup/button_bar.html
@@ -37,13 +37,13 @@ hidden$="[[isButtonHidden_(Button.TRY_AGAIN, buttonState.*)]]"> [[i18n('tryAgain')]] </cr-button> - <cr-button id="finish" - class="action-button" - on-click="onFinishButtonClicked_" - disabled="[[isButtonDisabled_(Button.FINISH, buttonState.*)]]" - hidden$="[[isButtonHidden_(Button.FINISH, buttonState.*)]]"> - [[i18n('finish')]] - </cr-button> + <cr-button id="done" + class="action-button" + on-click="onDoneButtonClicked_" + disabled="[[isButtonDisabled_(Button.DONE, buttonState.*)]]" + hidden$="[[isButtonHidden_(Button.DONE, buttonState.*)]]"> + [[i18n('done')]] + </cr-button> <cr-button id="cancel" class="cancel-button" on-click="onBackwardButtonClicked_"
diff --git a/ui/webui/resources/cr_components/chromeos/cellular_setup/button_bar.js b/ui/webui/resources/cr_components/chromeos/cellular_setup/button_bar.js index 1d4d0212..e8bf5fd 100644 --- a/ui/webui/resources/cr_components/chromeos/cellular_setup/button_bar.js +++ b/ui/webui/resources/cr_components/chromeos/cellular_setup/button_bar.js
@@ -57,7 +57,7 @@ }, /** @private */ - onFinishButtonClicked_() { + onDoneButtonClicked_() { this.fire('complete-flow-requested'); }, @@ -78,8 +78,8 @@ return this.buttonState.backward; case cellularSetup.Button.CANCEL: return this.buttonState.cancel; - case cellularSetup.Button.FINISH: - return this.buttonState.finish; + case cellularSetup.Button.DONE: + return this.buttonState.done; case cellularSetup.Button.NEXT: return this.buttonState.next; case cellularSetup.Button.TRY_AGAIN:
diff --git a/ui/webui/resources/cr_components/chromeos/cellular_setup/cellular_types.js b/ui/webui/resources/cr_components/chromeos/cellular_setup/cellular_types.js index 072b325be..5636e63d 100644 --- a/ui/webui/resources/cr_components/chromeos/cellular_setup/cellular_types.js +++ b/ui/webui/resources/cr_components/chromeos/cellular_setup/cellular_types.js
@@ -21,13 +21,19 @@ }; /** @enum {number} */ - /* #export */ const Button = {BACKWARD: 1, CANCEL: 2, FINISH: 3, NEXT: 4, TRY_AGAIN: 5}; + /* #export */ const Button = { + BACKWARD: 1, + CANCEL: 2, + DONE: 3, + NEXT: 4, + TRY_AGAIN: 5, + }; /** * @typedef {{ * backward: (!cellularSetup.ButtonState|undefined), * cancel: (!cellularSetup.ButtonState|undefined), - * finish: (!cellularSetup.ButtonState|undefined), + * done: (!cellularSetup.ButtonState|undefined), * next: (!cellularSetup.ButtonState|undefined), * tryAgain: (!cellularSetup.ButtonState|undefined), * }}
diff --git a/ui/webui/resources/cr_components/chromeos/cellular_setup/esim_flow_ui.js b/ui/webui/resources/cr_components/chromeos/cellular_setup/esim_flow_ui.js index 29ba7e6..fe39c8e 100644 --- a/ui/webui/resources/cr_components/chromeos/cellular_setup/esim_flow_ui.js +++ b/ui/webui/resources/cr_components/chromeos/cellular_setup/esim_flow_ui.js
@@ -26,7 +26,7 @@ this.buttonState = { backward: cellularSetup.ButtonState.HIDDEN, cancel: cellularSetup.ButtonState.SHOWN_AND_ENABLED, - finish: cellularSetup.ButtonState.HIDDEN, + done: cellularSetup.ButtonState.HIDDEN, next: cellularSetup.ButtonState.SHOWN_AND_ENABLED, tryAgain: cellularSetup.ButtonState.HIDDEN };
diff --git a/ui/webui/resources/cr_components/chromeos/cellular_setup/psim_flow_ui.js b/ui/webui/resources/cr_components/chromeos/cellular_setup/psim_flow_ui.js index cbfeaba..f2d14f1 100644 --- a/ui/webui/resources/cr_components/chromeos/cellular_setup/psim_flow_ui.js +++ b/ui/webui/resources/cr_components/chromeos/cellular_setup/psim_flow_ui.js
@@ -133,6 +133,7 @@ 'updateShowError_(state_)', 'updateSelectedPage_(state_)', 'handlePSimUIStateChange_(state_)', + 'updateButtonBarState_(state_)', ], /** @@ -180,13 +181,53 @@ initSubflow() { this.state_ = PSimUIState.STARTING_ACTIVATION; - this.set('buttonState', { - backward: cellularSetup.ButtonState.SHOWN_AND_ENABLED, - cancel: cellularSetup.ButtonState.SHOWN_AND_ENABLED, - finish: cellularSetup.ButtonState.HIDDEN, - next: cellularSetup.ButtonState.SHOWN_BUT_DISABLED, - tryAgain: cellularSetup.ButtonState.HIDDEN - }); + this.updateButtonBarState_(); + }, + + /** @private */ + updateButtonBarState_() { + let buttonState; + switch (this.state_) { + case PSimUIState.IDLE: + case PSimUIState.STARTING_ACTIVATION: + case PSimUIState.WAITING_FOR_ACTIVATION_TO_START: + case PSimUIState.TIMEOUT_START_ACTIVATION: + case PSimUIState.WAITING_FOR_PORTAL_TO_LOAD: + case PSimUIState.TIMEOUT_PORTAL_LOAD: + case PSimUIState.WAITING_FOR_USER_PAYMENT: + buttonState = { + backward: cellularSetup.ButtonState.SHOWN_AND_ENABLED, + cancel: cellularSetup.ButtonState.SHOWN_AND_ENABLED, + done: cellularSetup.ButtonState.HIDDEN, + next: cellularSetup.ButtonState.SHOWN_BUT_DISABLED, + tryAgain: cellularSetup.ButtonState.HIDDEN, + }; + break; + case PSimUIState.ACTIVATION_SUCCESS: + case PSimUIState.ALREADY_ACTIVATED: + case PSimUIState.ACTIVATION_FAILURE: + buttonState = { + backward: cellularSetup.ButtonState.SHOWN_AND_ENABLED, + cancel: cellularSetup.ButtonState.SHOWN_AND_ENABLED, + done: cellularSetup.ButtonState.HIDDEN, + next: cellularSetup.ButtonState.SHOWN_AND_ENABLED, + tryAgain: cellularSetup.ButtonState.HIDDEN, + }; + break; + case PSimUIState.WAITING_FOR_ACTIVATION_TO_FINISH: + case PSimUIState.TIMEOUT_FINISH_ACTIVATION: + buttonState = { + backward: cellularSetup.ButtonState.HIDDEN, + cancel: cellularSetup.ButtonState.HIDDEN, + done: cellularSetup.ButtonState.SHOWN_AND_ENABLED, + next: cellularSetup.ButtonState.HIDDEN, + tryAgain: cellularSetup.ButtonState.HIDDEN, + }; + break; + default: + assertNotReached(); + } + this.set('buttonState', buttonState); }, /** @@ -240,11 +281,11 @@ case PSimUIState.WAITING_FOR_PORTAL_TO_LOAD: case PSimUIState.TIMEOUT_PORTAL_LOAD: case PSimUIState.WAITING_FOR_USER_PAYMENT: + case PSimUIState.ACTIVATION_SUCCESS: this.selectedPSimPageName_ = PSimPageName.PROVISIONING; return; case PSimUIState.WAITING_FOR_ACTIVATION_TO_FINISH: case PSimUIState.TIMEOUT_FINISH_ACTIVATION: - case PSimUIState.ACTIVATION_SUCCESS: case PSimUIState.ALREADY_ACTIVATED: case PSimUIState.ACTIVATION_FAILURE: this.selectedPSimPageName_ = PSimPageName.FINAL;
diff --git a/ui/webui/resources/cr_components/chromeos/cellular_setup/setup_selection_flow.js b/ui/webui/resources/cr_components/chromeos/cellular_setup/setup_selection_flow.js index 1eddd477c..d03e0f5 100644 --- a/ui/webui/resources/cr_components/chromeos/cellular_setup/setup_selection_flow.js +++ b/ui/webui/resources/cr_components/chromeos/cellular_setup/setup_selection_flow.js
@@ -29,7 +29,7 @@ this.buttonState = { backward: cellularSetup.ButtonState.HIDDEN, cancel: cellularSetup.ButtonState.SHOWN_AND_ENABLED, - finish: cellularSetup.ButtonState.HIDDEN, + done: cellularSetup.ButtonState.HIDDEN, next: cellularSetup.ButtonState.SHOWN_BUT_DISABLED, tryAgain: cellularSetup.ButtonState.HIDDEN };
diff --git a/ui/webui/resources/js/BUILD.gn b/ui/webui/resources/js/BUILD.gn index 2eb7ada..f7fa072 100644 --- a/ui/webui/resources/js/BUILD.gn +++ b/ui/webui/resources/js/BUILD.gn
@@ -33,7 +33,7 @@ ":webui_resource_test", ] if (is_chromeos) { - deps += [ ":i18n_template" ] + deps += [ ":i18n_template_process" ] } if (is_ios) { deps += [ "ios:web_ui" ] @@ -75,7 +75,7 @@ deps = [ ":load_time_data" ] } -js_library("i18n_template") { +js_library("i18n_template_process") { deps = [ ":i18n_template_no_process" ] }
diff --git a/ui/webui/resources/js/i18n_template.js b/ui/webui/resources/js/i18n_template.js deleted file mode 100644 index fffeb12..0000000 --- a/ui/webui/resources/js/i18n_template.js +++ /dev/null
@@ -1,6 +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 src="i18n_template_no_process.js"> -// <include src="i18n_template_process.js">
diff --git a/ui/webui/resources/js/i18n_template_no_process.js b/ui/webui/resources/js/i18n_template_no_process.js index 5a3f9713..06c5174 100644 --- a/ui/webui/resources/js/i18n_template_no_process.js +++ b/ui/webui/resources/js/i18n_template_no_process.js
@@ -6,7 +6,13 @@ let ProcessingRoot; /** - * @fileoverview This is a simple template engine inspired by JsTemplates + * @fileoverview + * + * This file (and related i18n_template_process.js) are deprecated and + * existing usages should be removed (see https://crbug.com/1128151). + * Do not add any additional usages of this file. + * + * This is a simple template engine inspired by JsTemplates * optimized for i18n. * * It currently supports three handlers:
diff --git a/ui/webui/resources/js/i18n_template_process.js b/ui/webui/resources/js/i18n_template_process.js index 0e26b63a..eb6a28f 100644 --- a/ui/webui/resources/js/i18n_template_process.js +++ b/ui/webui/resources/js/i18n_template_process.js
@@ -2,4 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +// This file (and related i18n_template_no_process.js) are deprecated and +// existing usages should be removed (see https://crbug.com/1128151). +// Do not add any additional usages of this file. + i18nTemplate.process(document, loadTimeData);
diff --git a/ui/webui/resources/webui_resources.grd b/ui/webui/resources/webui_resources.grd index 7108a87e..cc15b3e7 100644 --- a/ui/webui/resources/webui_resources.grd +++ b/ui/webui/resources/webui_resources.grd
@@ -14,8 +14,7 @@ <release seq="1"> <includes> <if expr="chromeos"> - <include name="IDR_WEBUI_I18N_TEMPLATE_JS" file="js/i18n_template.js" - flattenhtml="true" type="BINDATA" /> + <include name="IDR_WEBUI_I18N_TEMPLATE_PROCESS_JS" file="js/i18n_template_process.js" type="BINDATA" /> </if> <include name="IDR_WEBUI_JSTEMPLATE_JS" file="js/jstemplate_compiled.js" flattenhtml="true" type="BINDATA"/>
diff --git a/weblayer/browser/android/javatests/src/org/chromium/weblayer/test/TabListCallbackTest.java b/weblayer/browser/android/javatests/src/org/chromium/weblayer/test/TabListCallbackTest.java index fb5334a1..3df85f3 100644 --- a/weblayer/browser/android/javatests/src/org/chromium/weblayer/test/TabListCallbackTest.java +++ b/weblayer/browser/android/javatests/src/org/chromium/weblayer/test/TabListCallbackTest.java
@@ -40,6 +40,7 @@ public static final String ADDED = "added"; public static final String ACTIVE = "active"; public static final String REMOVED = "removed"; + public static final String WILL_DESTROY = "willdestroy"; private List<String> mObservedValues = Collections.synchronizedList(new ArrayList<String>()); @@ -59,6 +60,11 @@ recordValue(REMOVED); } + @Override + public void onWillDestroyBrowserAndAllTabs() { + recordValue(WILL_DESTROY); + } + private void recordValue(String parameter) { mObservedValues.add(parameter); } @@ -193,4 +199,26 @@ }); callbackHelper.waitForFirst(); } + + @Test + @SmallTest + public void testOnWillDestroyBrowserAndAllTabs() throws Exception { + mActivity = mActivityTestRule.launchShellWithUrl("about:blank"); + TabListCallbackImpl tabListCallback = new TabListCallbackImpl(); + CallbackHelper callbackHelper = new CallbackHelper(); + TestThreadUtils.runOnUiThreadBlocking(() -> { + mActivity.getBrowser().registerTabListCallback(tabListCallback); + mActivity.getBrowser().registerTabListCallback(new TabListCallback() { + @Override + public void onWillDestroyBrowserAndAllTabs() { + callbackHelper.notifyCalled(); + } + }); + mActivity.destroyFragment(); + }); + callbackHelper.waitForFirst(); + Assert.assertEquals(1, tabListCallback.getObservedValues().size()); + Assert.assertTrue( + tabListCallback.getObservedValues().contains(TabListCallbackImpl.WILL_DESTROY)); + } }
diff --git a/weblayer/public/java/org/chromium/weblayer/Browser.java b/weblayer/public/java/org/chromium/weblayer/Browser.java index 12bdd2fee..15ef6d8 100644 --- a/weblayer/public/java/org/chromium/weblayer/Browser.java +++ b/weblayer/public/java/org/chromium/weblayer/Browser.java
@@ -85,6 +85,10 @@ // Called prior to notifying IBrowser of destroy(). void prepareForDestroy() { + for (TabListCallback callback : mTabListCallbacks) { + callback.onWillDestroyBrowserAndAllTabs(); + } + // See comment in Tab$TabClientImpl.onTabDestroyed for details on this. if (WebLayer.getSupportedMajorVersionInternal() >= 87) return;
diff --git a/weblayer/public/java/org/chromium/weblayer/TabListCallback.java b/weblayer/public/java/org/chromium/weblayer/TabListCallback.java index 058c9ca..1f28f6f3 100644 --- a/weblayer/public/java/org/chromium/weblayer/TabListCallback.java +++ b/weblayer/public/java/org/chromium/weblayer/TabListCallback.java
@@ -14,7 +14,7 @@ /** * The active tab has changed. * - * @param activeTab The newly active tab. + * @param activeTab The newly active tab, null if no tab is active. */ public void onActiveTabChanged(@Nullable Tab activeTab) {} @@ -28,7 +28,16 @@ /** * A tab was removed from the Browser. * + * WARNING: this is *not* called when the Browser is destroyed. See {@link + * #onWillDestroyBrowserAndAllTabs} for more. + * * @param tab The tab that was removed. */ public void onTabRemoved(@NonNull Tab tab) {} + + /** + * Called when the Fragment the Browser is associated with is about to be destroyed. After this + * call the Browser and all Tabs are destroyed and can not be used. + */ + public void onWillDestroyBrowserAndAllTabs() {} }
diff --git a/weblayer/variables.gni b/weblayer/variables.gni index 16f7331f..b2871f04 100644 --- a/weblayer/variables.gni +++ b/weblayer/variables.gni
@@ -2,12 +2,15 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +import("//build/config/android/channel.gni") + declare_args() { # Include the //weblayer code in WebView implementation APKs. webview_includes_weblayer = true # Whether WebLayer will be included as a DFM. - weblayer_in_split = false + weblayer_in_split = + android_channel == "default" || android_channel == "canary" } weblayer_product_config_java_package = "org.chromium.weblayer_private"