diff --git a/DEPS b/DEPS index 334cdd36..b06f91c 100644 --- a/DEPS +++ b/DEPS
@@ -308,7 +308,7 @@ # Three lines of non-changing comments so that # the commit queue can handle CLs rolling V8 # and whatever else without interference from each other. - 'v8_revision': '70c897bea47ac3d58e8eeabc31b6d439330fb849', + 'v8_revision': 'e607427060cd6cc0c001d25ae7d7789f20806487', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling ANGLE # and whatever else without interference from each other. @@ -331,7 +331,7 @@ # Three lines of non-changing comments so that # the commit queue can handle CLs rolling Fuchsia sdk # and whatever else without interference from each other. - 'fuchsia_version': 'version:11.20221224.1.1', + 'fuchsia_version': 'version:11.20221225.2.1', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling google-toolbox-for-mac # and whatever else without interference from each other. @@ -375,7 +375,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': '1665385c152d22abd9fc0dad1d685dc316700d8b', + 'catapult_revision': '27863274a2f25b92973c10f29b3c4e476fd01a34', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling libFuzzer # and whatever else without interference from each other. @@ -383,7 +383,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': 'cd3d23196b8c680cc394a9cb35319a8ba2f63843', + 'devtools_frontend_revision': '4dae8570e04e20537a6f173e17d26e4aa7fe19c7', # 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. @@ -776,7 +776,7 @@ 'src/clank': { 'url': 'https://chrome-internal.googlesource.com/clank/internal/apps.git' + '@' + - 'c0f23edc9c92c1a3ac52f0bba4fa5853a94d5b03', + '9ca31bd216defe3507470a19bfad18f2addae1db', 'condition': 'checkout_android and checkout_src_internal', }, @@ -875,7 +875,7 @@ 'packages': [ { 'package': 'chromium/rts/model/linux-amd64', - 'version': 'N8MAVCh2Kbd4GKzC6T4DjvcmZU7H92zvFTbx9dCVTbMC', + 'version': 'bxc-LuKcrPzfO2L5i23fkzb0E5W4Ox8T1UZzAlh9FQMC', }, ], 'dep_type': 'cipd', @@ -886,7 +886,7 @@ 'packages': [ { 'package': 'chromium/rts/model/mac-amd64', - 'version': 'qlfs_RwvbVjs3234e-PojrV8cqDnuUg4vIeWv1FRKfIC', + 'version': '2jw2JrFOG5PBtRKkC2C8FCcv2E5D3yFYt45GeH38F7wC', }, ], 'dep_type': 'cipd', @@ -897,7 +897,7 @@ 'packages': [ { 'package': 'chromium/rts/model/windows-amd64', - 'version': '4TJT87kz6AxgXNqPO1nhFE7qLIos2VKrXNLIHO4g8xIC', + 'version': 'sToGPH4uBVWaKk7455GQzNCOxve3M2HdAc3goqgMBCoC', }, ], 'dep_type': 'cipd', @@ -965,7 +965,7 @@ 'packages': [ { 'package': 'chromium/third_party/androidx', - 'version': 'X39HxpGxrvNfYAjMZAQQ82iEdsjU_EE8Xksyf0eZp_YC', + 'version': 't2yQUvMzunm4rU0vj-ouJzKEp7QBTIoei9H3RHlwc8sC', }, ], 'condition': 'checkout_android', @@ -1216,7 +1216,7 @@ Var('chromium_git') + '/devtools/devtools-frontend' + '@' + Var('devtools_frontend_revision'), 'src/third_party/devtools-frontend-internal': { - 'url': 'https://chrome-internal.googlesource.com/devtools/devtools-internal.git' + '@' + '77485cbd02937cb09804aaee994f8f8bd977ba0c', + 'url': 'https://chrome-internal.googlesource.com/devtools/devtools-internal.git' + '@' + 'de020612139819beaae2b912ba8d910b6c8aa18c', 'condition': 'checkout_src_internal', }, @@ -1827,7 +1827,7 @@ Var('chromium_git') + '/external/khronosgroup/webgl.git' + '@' + 'd1b65aa5a88f6efd900604dfcda840154e9f16e2', 'src/third_party/webgpu-cts/src': - Var('chromium_git') + '/external/github.com/gpuweb/cts.git' + '@' + '44173ed8c7bee555c02dd1e21b7bca0d383fe687', + Var('chromium_git') + '/external/github.com/gpuweb/cts.git' + '@' + '6a7030e24f882e023c6dbbb47a206d7105e9a9db', 'src/third_party/webrtc': Var('webrtc_git') + '/src.git' + '@' + '4e83af3a9a4443f275375d44c746d921dc076d55', @@ -1930,7 +1930,7 @@ 'packages': [ { 'package': 'chromeos_internal/apps/help_app/app', - 'version': 'BDsYt_orEKG0LjKpPjXks4ebSg7dFJMeGeZsUMqZ6HYC', + 'version': 'l5ciOW8zKntcTiXIo97rGi2C9P3-n6-TWFnAcDCf_5cC', }, ], 'condition': 'checkout_chromeos and checkout_src_internal', @@ -1941,7 +1941,7 @@ 'packages': [ { 'package': 'chromeos_internal/apps/media_app/app', - 'version': 'MsldKJX9LBPgjmIzPzm8cPZkqCcorzEUcl1VnwLJhK8C', + 'version': 'Xauc-4n48tia5QvjTooukKKPJSH5zA1oHC5ylL36ihQC', }, ], 'condition': 'checkout_chromeos and checkout_src_internal', @@ -1952,7 +1952,7 @@ 'packages': [ { 'package': 'chromeos_internal/apps/projector_app/app', - 'version': '6CaFZL7VuLADJSRyfN6aV20QnwMnrYaFg-MP7Bup3qMC', + 'version': 'W-07HWdCZlunLyS78ZZx19L_Ejj6ZC8CdUIR_eea5ocC', }, ], 'condition': 'checkout_chromeos and checkout_src_internal',
diff --git a/ash/fast_ink/cursor/cursor_view.cc b/ash/fast_ink/cursor/cursor_view.cc index 39ff8c0..22efffcf1 100644 --- a/ash/fast_ink/cursor/cursor_view.cc +++ b/ash/fast_ink/cursor/cursor_view.cc
@@ -250,7 +250,7 @@ motion_blur_matrix_.mapRect(&blur_rect); cc::PaintFlags flags; flags.setImageFilter(motion_blur_filter_); - sk_canvas->saveLayer(&blur_rect, &flags); + sk_canvas->saveLayer(blur_rect, flags); sk_canvas->concat(SkM44(motion_blur_matrix_)); paint.canvas().DrawImageInt(cursor_image_, 0, 0); sk_canvas->restore();
diff --git a/ash/wallpaper/wallpaper_view.cc b/ash/wallpaper/wallpaper_view.cc index 697e876..540a165 100644 --- a/ash/wallpaper/wallpaper_view.cc +++ b/ash/wallpaper/wallpaper_view.cc
@@ -177,7 +177,7 @@ gfx::Canvas filtered_canvas(small_image_->size(), /*image_scale=*/1.f, /*is_opaque=*/false); - filtered_canvas.sk_canvas()->saveLayer(nullptr, &filter_flags); + filtered_canvas.sk_canvas()->saveLayer(filter_flags); filtered_canvas.DrawImageInt( *small_image_, 0, 0, small_image_->width(), small_image_->height(), 0, 0, small_image_->width(), small_image_->height(), true);
diff --git a/build/fuchsia/linux_internal.sdk.sha1 b/build/fuchsia/linux_internal.sdk.sha1 index b71f1ff8..d0e7b686 100644 --- a/build/fuchsia/linux_internal.sdk.sha1 +++ b/build/fuchsia/linux_internal.sdk.sha1
@@ -1 +1 @@ -11.20221224.0.1 +11.20221225.2.1
diff --git a/cc/paint/discardable_image_map_unittest.cc b/cc/paint/discardable_image_map_unittest.cc index 107d9bd..696effa 100644 --- a/cc/paint/discardable_image_map_unittest.cc +++ b/cc/paint/discardable_image_map_unittest.cc
@@ -369,8 +369,7 @@ scoped_refptr<DisplayItemList> display_list = new DisplayItemList; PaintFlags paint; display_list->StartPaint(); - SkRect visible_sk_rect(gfx::RectToSkRect(visible_rect)); - display_list->push<SaveLayerOp>(&visible_sk_rect, &paint); + display_list->push<SaveLayerOp>(gfx::RectToSkRect(visible_rect), paint); display_list->push<DrawRecordOp>(std::move(record)); display_list->push<RestoreOp>(); display_list->EndPaintOfUnpaired(visible_rect); @@ -425,7 +424,7 @@ CreateDiscardablePaintImage(gfx::Size(25, 25)); display_list->push<TranslateOp>(25.0f, 25.0f); display_list->push<DrawImageOp>(discardable_image1, 0.f, 0.f); - display_list->push<SaveLayerOp>(nullptr, &paint); + display_list->push<SaveLayerOp>(paint); display_list->push<TranslateOp>(100.0f, 100.0f); display_list->push<DrawImageOp>(discardable_image2, 0.f, 0.f); display_list->push<RestoreOp>(); @@ -454,8 +453,8 @@ scoped_refptr<DisplayItemList> display_list = new DisplayItemList; display_list->StartPaint(); - SkRect visible_sk_rect(gfx::RectToSkRect(visible_rect)); - display_list->push<SaveLayerOp>(&visible_sk_rect, nullptr); + display_list->push<SaveLayerOp>(gfx::RectToSkRect(visible_rect), + PaintFlags()); display_list->push<DrawRecordOp>(std::move(record)); display_list->push<RestoreOp>(); display_list->EndPaintOfUnpaired(visible_rect); @@ -911,7 +910,7 @@ gfx::Rect visible_rect(500, 500); scoped_refptr<DisplayItemList> display_list = new DisplayItemList(); display_list->StartPaint(); - display_list->push<SaveLayerOp>(nullptr, &flags); + display_list->push<SaveLayerOp>(flags); display_list->push<DrawColorOp>(SkColors::kBlue, SkBlendMode::kSrc); display_list->EndPaintOfUnpaired(visible_rect); display_list->Finalize();
diff --git a/cc/paint/display_item_list_unittest.cc b/cc/paint/display_item_list_unittest.cc index 584c857..ab856c8 100644 --- a/cc/paint/display_item_list_unittest.cc +++ b/cc/paint/display_item_list_unittest.cc
@@ -388,7 +388,7 @@ SkRect layer_bounds = gfx::RectFToSkRect(filter_bounds); layer_bounds.offset(-filter_bounds.x(), -filter_bounds.y()); - list->push<SaveLayerOp>(&layer_bounds, &flags); + list->push<SaveLayerOp>(layer_bounds, flags); list->push<TranslateOp>(-filter_bounds.x(), -filter_bounds.y()); list->EndPaintOfPairedBegin(); @@ -530,7 +530,7 @@ PaintFlags red_paint; red_paint.setColor(SK_ColorRED); - list->push<SaveLayerOp>(nullptr, &red_paint); + list->push<SaveLayerOp>(red_paint); list->push<TranslateOp>(static_cast<float>(offset.x()), static_cast<float>(offset.y())); list->push<DrawRectOp>(SkRect::MakeWH(4, 4), red_paint);
diff --git a/cc/paint/oop_pixeltest.cc b/cc/paint/oop_pixeltest.cc index 6427ccd..80f097f6 100644 --- a/cc/paint/oop_pixeltest.cc +++ b/cc/paint/oop_pixeltest.cc
@@ -423,7 +423,7 @@ auto display_item_list = base::MakeRefCounted<DisplayItemList>(); display_item_list->StartPaint(); display_item_list->push<DrawColorOp>(SkColors::kWhite, SkBlendMode::kSrc); - display_item_list->push<SaveLayerOp>(nullptr, &record_flags); + display_item_list->push<SaveLayerOp>(record_flags); display_item_list->push<RestoreOp>(); display_item_list->EndPaintOfUnpaired(gfx::Rect(output_size)); display_item_list->Finalize(); @@ -1627,7 +1627,7 @@ PaintFlags layer_flags; layer_flags.setImageFilter(std::move(filter)); filter = nullptr; - display_item_list->push<SaveLayerOp>(nullptr, &layer_flags); + display_item_list->push<SaveLayerOp>(layer_flags); } PushDrawOp(display_item_list, std::move(filter));
diff --git a/cc/paint/paint_canvas.h b/cc/paint/paint_canvas.h index 1f8871b..7a76d09 100644 --- a/cc/paint/paint_canvas.h +++ b/cc/paint/paint_canvas.h
@@ -72,8 +72,10 @@ virtual void flush() = 0; virtual int save() = 0; - virtual int saveLayer(const SkRect* bounds, const PaintFlags* flags) = 0; - virtual int saveLayerAlpha(const SkRect* bounds, uint8_t alpha) = 0; + virtual int saveLayer(const PaintFlags& flags) = 0; + virtual int saveLayer(const SkRect& bounds, const PaintFlags& flags) = 0; + virtual int saveLayerAlpha(uint8_t alpha) = 0; + virtual int saveLayerAlpha(const SkRect& bounds, uint8_t alpha) = 0; virtual void restore() = 0; virtual int getSaveCount() const = 0;
diff --git a/cc/paint/paint_flags.cc b/cc/paint/paint_flags.cc index 0a7c1831..7949d4e 100644 --- a/cc/paint/paint_flags.cc +++ b/cc/paint/paint_flags.cc
@@ -103,27 +103,6 @@ return skpathutils::FillPathWithPaint(src, paint, dst, cull_rect, res_scale); } -bool PaintFlags::IsSimpleOpacity() const { - uint32_t color = getColor(); - if (SK_ColorTRANSPARENT != SkColorSetA(color, SK_AlphaTRANSPARENT)) - return false; - if (getBlendMode() != SkBlendMode::kSrcOver) - return false; - if (getLooper()) - return false; - if (getPathEffect()) - return false; - if (HasShader()) - return false; - if (getMaskFilter()) - return false; - if (getColorFilter()) - return false; - if (getImageFilter()) - return false; - return true; -} - bool PaintFlags::SupportsFoldingAlpha() const { if (getBlendMode() != SkBlendMode::kSrcOver) return false;
diff --git a/cc/paint/paint_flags.h b/cc/paint/paint_flags.h index b073de96c..fe7b927 100644 --- a/cc/paint/paint_flags.h +++ b/cc/paint/paint_flags.h
@@ -165,10 +165,6 @@ draw_looper_ = std::move(looper); } - // Returns true if this just represents an opacity blend when used as - // saveLayer flags, thus the saveLayer can be converted to a saveLayerAlpha. - bool IsSimpleOpacity() const; - // Returns true if this (of a drawOp) allows the sequence // saveLayerAlpha/drawOp/restore to be folded into a single drawOp by baking // the alpha in the saveLayerAlpha into the flags of the drawOp.
diff --git a/cc/paint/paint_op.h b/cc/paint/paint_op.h index 26655ef7..899b7d2 100644 --- a/cc/paint/paint_op.h +++ b/cc/paint/paint_op.h
@@ -909,9 +909,10 @@ class CC_PAINT_EXPORT SaveLayerOp final : public PaintOpWithFlags { public: static constexpr PaintOpType kType = PaintOpType::SaveLayer; - SaveLayerOp(const SkRect* bounds, const PaintFlags* flags) - : PaintOpWithFlags(kType, flags ? *flags : PaintFlags()), - bounds(bounds ? *bounds : kUnsetRect) {} + explicit SaveLayerOp(const PaintFlags& flags) + : PaintOpWithFlags(kType, flags), bounds(kUnsetRect) {} + SaveLayerOp(const SkRect& bounds, const PaintFlags& flags) + : PaintOpWithFlags(kType, flags), bounds(bounds) {} SaveLayerOp(const SaveLayerOp&) = default; SaveLayerOp& operator=(const SaveLayerOp&) = default; static void RasterWithFlags(const SaveLayerOp* op, @@ -938,8 +939,11 @@ public: static constexpr PaintOpType kType = PaintOpType::SaveLayerAlpha; template <class F, class = std::enable_if_t<std::is_same_v<F, float>>> - SaveLayerAlphaOp(const SkRect* bounds, F alpha) - : PaintOp(kType), bounds(bounds ? *bounds : kUnsetRect), alpha(alpha) {} + explicit SaveLayerAlphaOp(F alpha) + : PaintOp(kType), bounds(kUnsetRect), alpha(alpha) {} + template <class F, class = std::enable_if_t<std::is_same_v<F, float>>> + SaveLayerAlphaOp(const SkRect& bounds, F alpha) + : PaintOp(kType), bounds(bounds), alpha(alpha) {} SaveLayerAlphaOp(const SaveLayerAlphaOp&) = default; SaveLayerAlphaOp& operator=(const SaveLayerAlphaOp&) = default; static void Raster(const SaveLayerAlphaOp* op,
diff --git a/cc/paint/paint_op_buffer_serializer.cc b/cc/paint/paint_op_buffer_serializer.cc index 3e83f61..59ad4aa3 100644 --- a/cc/paint/paint_op_buffer_serializer.cc +++ b/cc/paint/paint_op_buffer_serializer.cc
@@ -232,9 +232,9 @@ return false; // In DrawImageRectOp::RasterWithFlags, the save layer uses the - // flags_to_serialize or default(null) flags. At this point in the + // flags_to_serialize or default (PaintFlags()) flags. At this point in the // serialization, flags_to_serialize is always null as well. - SaveLayerOp save_layer_op(&draw_op.src, nullptr); + SaveLayerOp save_layer_op(draw_op.src, PaintFlags()); success = SerializeOpWithFlags(canvas, save_layer_op, params, 255); if (!success) return false;
diff --git a/cc/paint/paint_op_buffer_unittest.cc b/cc/paint/paint_op_buffer_unittest.cc index 6d33534..e06e7c08 100644 --- a/cc/paint/paint_op_buffer_unittest.cc +++ b/cc/paint/paint_op_buffer_unittest.cc
@@ -140,7 +140,7 @@ } void PushOps(PaintOpBuffer* buffer) { - buffer->push<SaveLayerOp>(&rect_, &flags_); + buffer->push<SaveLayerOp>(rect_, flags_); buffer->push<SaveOp>(); buffer->push<DrawColorOp>(draw_color_, blend_); buffer->push<RestoreOp>(); @@ -149,7 +149,7 @@ void VerifyOps(PaintOpBuffer* buffer) { EXPECT_THAT(*buffer, - PaintOpsAreEq(SaveLayerOp(&rect_, &flags_), SaveOp(), + PaintOpsAreEq(SaveLayerOp(rect_, flags_), SaveOp(), DrawColorOp(draw_color_, blend_), RestoreOp())); } @@ -240,7 +240,7 @@ PaintOpBuffer buffer; float alpha = 0.4f; - buffer.push<SaveLayerAlphaOp>(nullptr, alpha); + buffer.push<SaveLayerAlphaOp>(alpha); int paint_flags_alpha = 50; PaintFlags draw_flags; @@ -269,7 +269,7 @@ PaintOpBuffer buffer; float alpha = 0.4f; - buffer.push<SaveLayerAlphaOp>(nullptr, alpha); + buffer.push<SaveLayerAlphaOp>(alpha); PaintFlags paint_flags; EXPECT_TRUE(paint_flags.SupportsFoldingAlpha()); @@ -291,7 +291,7 @@ PaintOpBuffer buffer; float alpha = 0.4f; - buffer.push<SaveLayerAlphaOp>(nullptr, alpha); + buffer.push<SaveLayerAlphaOp>(alpha); PaintFlags draw_flags; draw_flags.setColor(SkColors::kMagenta); @@ -318,7 +318,7 @@ PaintOpBuffer buffer; float alpha = 1.0f; - buffer.push<SaveLayerAlphaOp>(nullptr, alpha); + buffer.push<SaveLayerAlphaOp>(alpha); PaintFlags draw_flags; draw_flags.setColor(SkColors::kMagenta); @@ -343,7 +343,7 @@ PaintOpBuffer buffer; float alpha = 0.4f; - buffer.push<SaveLayerAlphaOp>(nullptr, alpha); + buffer.push<SaveLayerAlphaOp>(alpha); PaintFlags draw_flags; draw_flags.setColor(SkColors::kMagenta); @@ -370,7 +370,7 @@ PaintOpBuffer buffer; float alpha = 0.4f; - buffer.push<SaveLayerAlphaOp>(nullptr, alpha); + buffer.push<SaveLayerAlphaOp>(alpha); buffer.push<NoopOp>(); buffer.push<RestoreOp>(); @@ -399,7 +399,7 @@ PaintOpBuffer buffer; float alpha = 0.4f; - buffer.push<SaveLayerAlphaOp>(nullptr, alpha); + buffer.push<SaveLayerAlphaOp>(alpha); buffer.push<DrawRecordOp>(sub_buffer.ReleaseAsRecord()); buffer.push<RestoreOp>(); @@ -427,7 +427,7 @@ PaintOpBuffer buffer; float alpha = 0.4f; - buffer.push<SaveLayerAlphaOp>(nullptr, alpha); + buffer.push<SaveLayerAlphaOp>(alpha); buffer.push<DrawRecordOp>(sub_buffer.ReleaseAsRecord()); buffer.push<RestoreOp>(); @@ -443,7 +443,7 @@ float alpha = 0.4f; SkColor original = SkColorSetA(50, SK_ColorRED); - buffer.push<SaveLayerAlphaOp>(nullptr, alpha); + buffer.push<SaveLayerAlphaOp>(alpha); buffer.push<DrawColorOp>(SkColor4f::FromColor(original), SkBlendMode::kSrcOver); buffer.push<RestoreOp>(); @@ -521,9 +521,7 @@ EXPECT_EQ(buffer.num_slow_paths_up_to_min_for_MSAA(), 0); // Op without slow paths - PaintFlags noop_flags; - SkRect rect = SkRect::MakeXYWH(2, 3, 4, 5); - buffer.push<SaveLayerOp>(&rect, &noop_flags); + buffer.push<SaveLayerOp>(SkRect::MakeXYWH(2, 3, 4, 5), PaintFlags()); // Line op with a slow path PaintFlags line_effect_slow; @@ -679,8 +677,7 @@ PaintFlags non_aa_flags; non_aa_flags.setAntiAlias(true); - auto bounds = SkRect::MakeWH(1, 1); - buffer.push<SaveLayerOp>(&bounds, &non_aa_flags); + buffer.push<SaveLayerOp>(SkRect::MakeWH(1, 1), non_aa_flags); EXPECT_FALSE(buffer.HasNonAAPaint()); } @@ -832,7 +829,7 @@ push_op<DrawColorOp>(SkColor4f::FromColor(0u), SkBlendMode::kClear); push_op<DrawColorOp>(SkColor4f::FromColor(1u), SkBlendMode::kClear); float alpha = 0.4f; - push_op<SaveLayerAlphaOp>(nullptr, alpha); + push_op<SaveLayerAlphaOp>(alpha); push_op<RestoreOp>(); push_op<DrawColorOp>(SkColor4f::FromColor(2u), SkBlendMode::kClear); push_op<DrawColorOp>(SkColor4f::FromColor(3u), SkBlendMode::kClear); @@ -858,7 +855,7 @@ push_op<DrawColorOp>(SkColor4f::FromColor(0u), SkBlendMode::kClear); push_op<DrawColorOp>(SkColor4f::FromColor(1u), SkBlendMode::kClear); float alpha = 0.4f; - push_op<SaveLayerAlphaOp>(nullptr, alpha); + push_op<SaveLayerAlphaOp>(alpha); push_op<DrawColorOp>(SkColor4f::FromColor(2u), SkBlendMode::kClear); push_op<DrawColorOp>(SkColor4f::FromColor(3u), SkBlendMode::kClear); push_op<RestoreOp>(); @@ -908,7 +905,7 @@ add_draw_rect(0u); add_draw_rect(1u); float alpha = 0.4f; - push_op<SaveLayerAlphaOp>(nullptr, alpha); + push_op<SaveLayerAlphaOp>(alpha); add_draw_rect(2u); push_op<RestoreOp>(); add_draw_rect(3u); @@ -941,7 +938,7 @@ add_draw_rect(0u); add_draw_rect(1u); float alpha = 0.4f; - push_op<SaveLayerAlphaOp>(nullptr, alpha); + push_op<SaveLayerAlphaOp>(alpha); add_draw_rect(2u); add_draw_rect(3u); add_draw_rect(4u); @@ -1000,7 +997,7 @@ add_draw_rect(&buffer, 0u); float alpha = 0.4f; - buffer.push<SaveLayerAlphaOp>(nullptr, alpha); + buffer.push<SaveLayerAlphaOp>(alpha); add_draw_rect(&buffer, 1u); buffer.push<RestoreOp>(); add_draw_rect(&buffer, 2u); @@ -1029,9 +1026,9 @@ // Push 2 saves. float alpha = 0.4f; - buffer.push<SaveLayerAlphaOp>(nullptr, alpha); + buffer.push<SaveLayerAlphaOp>(alpha); add_draw_rect(&buffer, 0u); - buffer.push<SaveLayerAlphaOp>(nullptr, alpha); + buffer.push<SaveLayerAlphaOp>(alpha); add_draw_rect(&buffer, 1u); add_draw_rect(&buffer, 2u); // But only 1 restore. @@ -1729,22 +1726,22 @@ void PushSaveLayerOps(PaintOpBuffer* buffer) { size_t len = std::min(test_flags.size(), test_rects.size()); for (size_t i = 0; i < len; ++i) - buffer->push<SaveLayerOp>(&test_rects[i], &test_flags[i]); + buffer->push<SaveLayerOp>(test_rects[i], test_flags[i]); // Test combinations of optional args. - buffer->push<SaveLayerOp>(nullptr, &test_flags[0]); - buffer->push<SaveLayerOp>(&test_rects[0], nullptr); - buffer->push<SaveLayerOp>(nullptr, nullptr); + buffer->push<SaveLayerOp>(test_flags[0]); + buffer->push<SaveLayerOp>(test_rects[0], PaintFlags()); + buffer->push<SaveLayerOp>(PaintFlags()); EXPECT_THAT(*buffer, Each(PaintOpIs<SaveLayerOp>())); } void PushSaveLayerAlphaOps(PaintOpBuffer* buffer) { size_t len = std::min(test_floats.size(), test_rects.size()); for (size_t i = 0; i < len; ++i) - buffer->push<SaveLayerAlphaOp>(&test_rects[i], test_floats[i]); + buffer->push<SaveLayerAlphaOp>(test_rects[i], test_floats[i]); // Test optional args. - buffer->push<SaveLayerAlphaOp>(nullptr, test_floats[0]); + buffer->push<SaveLayerAlphaOp>(test_floats[0]); EXPECT_THAT(*buffer, Each(PaintOpIs<SaveLayerAlphaOp>())); } @@ -2293,7 +2290,7 @@ PaintOpBuffer buffer; float alpha = 0.4f; - buffer.push<SaveLayerAlphaOp>(nullptr, alpha); + buffer.push<SaveLayerAlphaOp>(alpha); PaintFlags draw_flags; draw_flags.setColor(SkColors::kMagenta); @@ -2549,9 +2546,9 @@ SkCanvas::kStrict_SrcRectConstraint); buffer.push<DrawOvalOp>(bad_rect, test_flags[0]); buffer.push<DrawRectOp>(bad_rect, test_flags[0]); - buffer.push<SaveLayerOp>(&bad_rect, nullptr); - buffer.push<SaveLayerOp>(&bad_rect, &test_flags[0]); - buffer.push<SaveLayerAlphaOp>(&bad_rect, test_floats[0]); + buffer.push<SaveLayerOp>(bad_rect, PaintFlags()); + buffer.push<SaveLayerOp>(bad_rect, test_flags[0]); + buffer.push<SaveLayerAlphaOp>(bad_rect, test_floats[0]); TestOptionsProvider options_provider; @@ -2850,10 +2847,9 @@ TEST(PaintOpBufferTest, RasterPaintWorkletImageRectBasicCase) { PaintOpBuffer paint_worklet_buffer; - PaintFlags noop_flags; - SkRect savelayer_rect = SkRect::MakeXYWH(0, 0, 100, 100); paint_worklet_buffer.push<TranslateOp>(8.0f, 8.0f); - paint_worklet_buffer.push<SaveLayerOp>(&savelayer_rect, &noop_flags); + paint_worklet_buffer.push<SaveLayerOp>(SkRect::MakeXYWH(0, 0, 100, 100), + PaintFlags()); PaintFlags draw_flags; draw_flags.setColor(0u); SkRect rect = SkRect::MakeXYWH(0, 0, 100, 100); @@ -2890,9 +2886,8 @@ TEST(PaintOpBufferTest, RasterPaintWorkletImageRectTranslated) { PaintOpBuffer paint_worklet_buffer; - PaintFlags noop_flags; - SkRect savelayer_rect = SkRect::MakeXYWH(0, 0, 10, 10); - paint_worklet_buffer.push<SaveLayerOp>(&savelayer_rect, &noop_flags); + paint_worklet_buffer.push<SaveLayerOp>(SkRect::MakeXYWH(0, 0, 10, 10), + PaintFlags()); PaintImage paint_image = CreateDiscardablePaintImage(gfx::Size(10, 10)); paint_worklet_buffer.push<DrawImageOp>( paint_image, 0.0f, 0.0f, SkSamplingOptions(SkFilterMode::kLinear), @@ -2937,9 +2932,8 @@ TEST(PaintOpBufferTest, RasterPaintWorkletImageRectScaled) { PaintOpBuffer paint_worklet_buffer; - PaintFlags noop_flags; - SkRect savelayer_rect = SkRect::MakeXYWH(0, 0, 10, 10); - paint_worklet_buffer.push<SaveLayerOp>(&savelayer_rect, &noop_flags); + paint_worklet_buffer.push<SaveLayerOp>(SkRect::MakeXYWH(0, 0, 10, 10), + PaintFlags()); PaintImage paint_image = CreateDiscardablePaintImage(gfx::Size(10, 10)); paint_worklet_buffer.push<DrawImageOp>( paint_image, 0.0f, 0.0f, SkSamplingOptions(SkFilterMode::kLinear), @@ -2984,9 +2978,8 @@ TEST(PaintOpBufferTest, RasterPaintWorkletImageRectClipped) { PaintOpBuffer paint_worklet_buffer; - PaintFlags noop_flags; - SkRect savelayer_rect = SkRect::MakeXYWH(0, 0, 60, 60); - paint_worklet_buffer.push<SaveLayerOp>(&savelayer_rect, &noop_flags); + paint_worklet_buffer.push<SaveLayerOp>(SkRect::MakeXYWH(0, 0, 60, 60), + PaintFlags()); SkSamplingOptions linear(SkFilterMode::kLinear); PaintImage paint_image = CreateDiscardablePaintImage(gfx::Size(10, 10)); // One rect inside the src-rect, one outside. @@ -3901,7 +3894,7 @@ EXPECT_FALSE(buffer2.has_effects_preventing_lcd_text_for_save_layer_alpha()); buffer2.push<DrawRecordOp>(buffer1.ReleaseAsRecord()); EXPECT_FALSE(buffer2.has_effects_preventing_lcd_text_for_save_layer_alpha()); - buffer2.push<SaveLayerOp>(nullptr, nullptr); + buffer2.push<SaveLayerOp>(PaintFlags()); EXPECT_TRUE(buffer2.has_effects_preventing_lcd_text_for_save_layer_alpha()); buffer2.push<DrawRectOp>(SkRect::MakeWH(4, 5), PaintFlags()); EXPECT_TRUE(buffer2.has_effects_preventing_lcd_text_for_save_layer_alpha()); @@ -3914,7 +3907,7 @@ TEST(PaintOpBufferTest, NeedsAdditionalInvalidationForLCDText) { PaintOpBuffer buffer1; - buffer1.push<SaveLayerAlphaOp>(nullptr, 0.4f); + buffer1.push<SaveLayerAlphaOp>(0.4f); EXPECT_FALSE(buffer1.has_draw_text_ops()); EXPECT_TRUE(buffer1.has_save_layer_alpha_ops()); EXPECT_FALSE(buffer1.has_effects_preventing_lcd_text_for_save_layer_alpha()); @@ -3922,7 +3915,7 @@ PaintOpBuffer buffer2; buffer2.push<DrawTextBlobOp>(SkTextBlob::MakeFromString("abc", SkFont()), 0.0f, 0.0f, PaintFlags()); - buffer2.push<SaveLayerOp>(nullptr, nullptr); + buffer2.push<SaveLayerOp>(PaintFlags()); EXPECT_TRUE(buffer2.has_draw_ops()); EXPECT_FALSE(buffer2.has_save_layer_alpha_ops()); EXPECT_TRUE(buffer2.has_effects_preventing_lcd_text_for_save_layer_alpha());
diff --git a/cc/paint/paint_op_helper_unittest.cc b/cc/paint/paint_op_helper_unittest.cc index be17da9..da02eaeb 100644 --- a/cc/paint/paint_op_helper_unittest.cc +++ b/cc/paint/paint_op_helper_unittest.cc
@@ -78,8 +78,7 @@ "strokeJoin=kMiter_Join, colorFilter=(nil), " "maskFilter=(nil), shader=(nil), hasShader=false, shaderIsOpaque=false, " "pathEffect=(nil), imageFilter=(nil), drawLooper=(nil), " - "isSimpleOpacity=true, supportsFoldingAlpha=true, isValid=true, " - "hasDiscardableImages=false])"); + "supportsFoldingAlpha=true, isValid=true, hasDiscardableImages=false])"); } TEST(PaintOpHelper, DrawImageToString) { @@ -93,8 +92,8 @@ "strokeMiter=4.000, strokeCap=kButt_Cap, strokeJoin=kMiter_Join, " "colorFilter=(nil), maskFilter=(nil), shader=(nil), " "hasShader=false, shaderIsOpaque=false, pathEffect=(nil), " - "imageFilter=(nil), drawLooper=(nil), isSimpleOpacity=true, " - "supportsFoldingAlpha=true, isValid=true, hasDiscardableImages=false])"); + "imageFilter=(nil), drawLooper=(nil), supportsFoldingAlpha=true, " + "isValid=true, hasDiscardableImages=false])"); } TEST(PaintOpHelper, DrawImageRectToString) { @@ -111,8 +110,8 @@ "strokeMiter=4.000, strokeCap=kButt_Cap, strokeJoin=kMiter_Join, " "colorFilter=(nil), maskFilter=(nil), shader=(nil), " "hasShader=false, shaderIsOpaque=false, pathEffect=(nil), " - "imageFilter=(nil), drawLooper=(nil), isSimpleOpacity=true, " - "supportsFoldingAlpha=true, isValid=true, hasDiscardableImages=false])"); + "imageFilter=(nil), drawLooper=(nil), supportsFoldingAlpha=true, " + "isValid=true, hasDiscardableImages=false])"); } TEST(PaintOpHelper, DrawIRectToString) { @@ -126,7 +125,7 @@ "colorFilter=(nil), maskFilter=(nil), " "shader=(nil), hasShader=false, shaderIsOpaque=false, " "pathEffect=(nil), imageFilter=(nil), drawLooper=(nil), " - "isSimpleOpacity=true, supportsFoldingAlpha=true, isValid=true, " + "supportsFoldingAlpha=true, isValid=true, " "hasDiscardableImages=false])"); } @@ -141,8 +140,8 @@ "strokeMiter=4.000, strokeCap=kButt_Cap, strokeJoin=kMiter_Join, " "colorFilter=(nil), maskFilter=(nil), shader=(nil), " "hasShader=false, shaderIsOpaque=false, pathEffect=(nil), " - "imageFilter=(nil), drawLooper=(nil), isSimpleOpacity=true, " - "supportsFoldingAlpha=true, isValid=true, hasDiscardableImages=false])"); + "imageFilter=(nil), drawLooper=(nil), supportsFoldingAlpha=true, " + "isValid=true, hasDiscardableImages=false])"); } TEST(PaintOpHelper, DrawOvalToString) { @@ -156,8 +155,8 @@ "strokeMiter=4.000, strokeCap=kButt_Cap, strokeJoin=kMiter_Join, " "colorFilter=(nil), maskFilter=(nil), shader=(nil), " "hasShader=false, shaderIsOpaque=false, pathEffect=(nil), " - "imageFilter=(nil), drawLooper=(nil), isSimpleOpacity=true, " - "supportsFoldingAlpha=true, isValid=true, hasDiscardableImages=false])"); + "imageFilter=(nil), drawLooper=(nil), supportsFoldingAlpha=true, " + "isValid=true, hasDiscardableImages=false])"); } TEST(PaintOpHelper, DrawPathToString) { @@ -172,7 +171,7 @@ "colorFilter=(nil), maskFilter=(nil), " "shader=(nil), hasShader=false, shaderIsOpaque=false, " "pathEffect=(nil), imageFilter=(nil), drawLooper=(nil), " - "isSimpleOpacity=true, supportsFoldingAlpha=true, isValid=true, " + "supportsFoldingAlpha=true, isValid=true, " "hasDiscardableImages=false], use_cache=false)"); } @@ -194,8 +193,7 @@ "strokeJoin=kMiter_Join, colorFilter=(nil), " "maskFilter=(nil), shader=(nil), hasShader=false, shaderIsOpaque=false, " "pathEffect=(nil), imageFilter=(nil), drawLooper=(nil), " - "isSimpleOpacity=true, supportsFoldingAlpha=true, isValid=true, " - "hasDiscardableImages=false])"); + "supportsFoldingAlpha=true, isValid=true, hasDiscardableImages=false])"); } TEST(PaintOpHelper, DrawRRectToString) { @@ -210,8 +208,8 @@ "strokeMiter=4.000, strokeCap=kButt_Cap, strokeJoin=kMiter_Join, " "colorFilter=(nil), maskFilter=(nil), shader=(nil), " "hasShader=false, shaderIsOpaque=false, pathEffect=(nil), " - "imageFilter=(nil), drawLooper=(nil), isSimpleOpacity=true, " - "supportsFoldingAlpha=true, isValid=true, hasDiscardableImages=false])"); + "imageFilter=(nil), drawLooper=(nil), supportsFoldingAlpha=true, " + "isValid=true, hasDiscardableImages=false])"); } TEST(PaintOpHelper, DrawTextBlobToString) { @@ -225,8 +223,8 @@ "strokeMiter=4.000, strokeCap=kButt_Cap, strokeJoin=kMiter_Join, " "colorFilter=(nil), maskFilter=(nil), shader=(nil), " "hasShader=false, shaderIsOpaque=false, pathEffect=(nil), " - "imageFilter=(nil), drawLooper=(nil), isSimpleOpacity=true, " - "supportsFoldingAlpha=true, isValid=true, hasDiscardableImages=false])"); + "imageFilter=(nil), drawLooper=(nil), supportsFoldingAlpha=true, " + "isValid=true, hasDiscardableImages=false])"); } TEST(PaintOpHelper, NoopToString) { @@ -254,8 +252,7 @@ } TEST(PaintOpHelper, SaveLayerToString) { - SkRect bounds = SkRect::MakeXYWH(1, 2, 3, 4); - SaveLayerOp op(&bounds, nullptr); + SaveLayerOp op(SkRect::MakeXYWH(1, 2, 3, 4), PaintFlags()); std::string str = PaintOpHelper::ToString(&op); EXPECT_EQ( str, @@ -266,13 +263,11 @@ "strokeJoin=kMiter_Join, colorFilter=(nil), " "maskFilter=(nil), shader=(nil), hasShader=false, shaderIsOpaque=false, " "pathEffect=(nil), imageFilter=(nil), drawLooper=(nil), " - "isSimpleOpacity=true, supportsFoldingAlpha=true, isValid=true, " - "hasDiscardableImages=false])"); + "supportsFoldingAlpha=true, isValid=true, hasDiscardableImages=false])"); } TEST(PaintOpHelper, SaveLayerAlphaToString) { - SkRect bounds = SkRect::MakeXYWH(1, 2, 3, 4); - SaveLayerAlphaOp op(&bounds, 1.0f); + SaveLayerAlphaOp op(SkRect::MakeXYWH(1, 2, 3, 4), 1.0f); std::string str = PaintOpHelper::ToString(&op); EXPECT_EQ(str, "SaveLayerAlphaOp(bounds=[1.000,2.000 3.000x4.000], alpha=255)");
diff --git a/cc/paint/record_paint_canvas.cc b/cc/paint/record_paint_canvas.cc index d56d128..66d5782 100644 --- a/cc/paint/record_paint_canvas.cc +++ b/cc/paint/record_paint_canvas.cc
@@ -72,24 +72,23 @@ return save_count_++; } -int RecordPaintCanvas::saveLayer(const SkRect* bounds, - const PaintFlags* flags) { - if (flags && flags->IsSimpleOpacity()) { - // TODO(enne): maybe more callers should know this and call - // saveLayerAlpha instead of needing to check here. - uint8_t alpha = SkColorGetA(flags->getColor()); - return saveLayerAlpha(bounds, alpha); - } - return saveLayerInternal(bounds, flags); +int RecordPaintCanvas::saveLayer(const PaintFlags& flags) { + push<SaveLayerOp>(flags); + return save_count_++; } -int RecordPaintCanvas::saveLayerInternal(const SkRect* bounds, - const PaintFlags* flags) { +int RecordPaintCanvas::saveLayer(const SkRect& bounds, + const PaintFlags& flags) { push<SaveLayerOp>(bounds, flags); return save_count_++; } -int RecordPaintCanvas::saveLayerAlpha(const SkRect* bounds, uint8_t alpha) { +int RecordPaintCanvas::saveLayerAlpha(uint8_t alpha) { + push<SaveLayerAlphaOp>(static_cast<float>(alpha / 255.0f)); + return save_count_++; +} + +int RecordPaintCanvas::saveLayerAlpha(const SkRect& bounds, uint8_t alpha) { push<SaveLayerAlphaOp>(bounds, static_cast<float>(alpha / 255.0f)); return save_count_++; } @@ -358,26 +357,27 @@ return CheckSaveCount(RecordPaintCanvas::save(), canvas_.save()); } -int InspectableRecordPaintCanvas::saveLayerInternal(const SkRect* bounds, - const PaintFlags* flags) { - int canvas_prev_save_count; - // TODO(enne): it appears that image filters affect matrices and color - // matrices affect transparent flags on SkCanvas layers, but it's not clear - // whether those are actually needed and we could just skip ToSkPaint here. - if (flags) { - SkPaint paint = flags->ToSkPaint(); - canvas_prev_save_count = canvas_.saveLayer(bounds, &paint); - } else { - canvas_prev_save_count = canvas_.saveLayer(bounds, nullptr); - } - return CheckSaveCount(RecordPaintCanvas::saveLayerInternal(bounds, flags), - canvas_prev_save_count); +int InspectableRecordPaintCanvas::saveLayer(const PaintFlags& flags) { + SkPaint paint = flags.ToSkPaint(); + return CheckSaveCount(RecordPaintCanvas::saveLayer(flags), + canvas_.saveLayer(nullptr, &paint)); } -int InspectableRecordPaintCanvas::saveLayerAlpha(const SkRect* bounds, +int InspectableRecordPaintCanvas::saveLayer(const SkRect& bounds, + const PaintFlags& flags) { + SkPaint paint = flags.ToSkPaint(); + return CheckSaveCount(RecordPaintCanvas::saveLayer(bounds, flags), + canvas_.saveLayer(&bounds, &paint)); +} +int InspectableRecordPaintCanvas::saveLayerAlpha(uint8_t alpha) { + return CheckSaveCount(RecordPaintCanvas::saveLayerAlpha(alpha), + canvas_.saveLayerAlpha(nullptr, alpha)); +} + +int InspectableRecordPaintCanvas::saveLayerAlpha(const SkRect& bounds, uint8_t alpha) { return CheckSaveCount(RecordPaintCanvas::saveLayerAlpha(bounds, alpha), - canvas_.saveLayerAlpha(bounds, alpha)); + canvas_.saveLayerAlpha(&bounds, alpha)); } void InspectableRecordPaintCanvas::restore() {
diff --git a/cc/paint/record_paint_canvas.h b/cc/paint/record_paint_canvas.h index 31aac65..0cfa0b3f 100644 --- a/cc/paint/record_paint_canvas.h +++ b/cc/paint/record_paint_canvas.h
@@ -44,8 +44,10 @@ bool NeedsFlush() const override; int save() override; - int saveLayer(const SkRect* bounds, const PaintFlags* flags) final; - int saveLayerAlpha(const SkRect* bounds, uint8_t alpha) override; + int saveLayer(const PaintFlags& flags) override; + int saveLayer(const SkRect& bounds, const PaintFlags& flags) override; + int saveLayerAlpha(uint8_t alpha) override; + int saveLayerAlpha(const SkRect& bounds, uint8_t alpha) override; void restore() override; int getSaveCount() const final; void restoreToCount(int save_count) override; @@ -175,7 +177,6 @@ }; protected: - virtual int saveLayerInternal(const SkRect* bounds, const PaintFlags* flags); virtual void clipRRectInternal(const SkRRect& rrect, SkClipOp op, bool antialias); @@ -205,7 +206,10 @@ ~InspectableRecordPaintCanvas() override; int save() override; - int saveLayerAlpha(const SkRect* bounds, uint8_t alpha) override; + int saveLayer(const PaintFlags& flags) override; + int saveLayer(const SkRect& bounds, const PaintFlags& flags) override; + int saveLayerAlpha(uint8_t alpha) override; + int saveLayerAlpha(const SkRect& bounds, uint8_t alpha) override; void restore() override; void translate(SkScalar dx, SkScalar dy) override; @@ -228,7 +232,6 @@ using RecordPaintCanvas::clipRect; private: - int saveLayerInternal(const SkRect* bounds, const PaintFlags* flags) override; void clipRRectInternal(const SkRRect& rrect, SkClipOp op, bool antialias) override;
diff --git a/cc/paint/skia_paint_canvas.cc b/cc/paint/skia_paint_canvas.cc index 9c94373..b9cad71 100644 --- a/cc/paint/skia_paint_canvas.cc +++ b/cc/paint/skia_paint_canvas.cc
@@ -73,16 +73,22 @@ return canvas_->save(); } -int SkiaPaintCanvas::saveLayer(const SkRect* bounds, const PaintFlags* flags) { - if (!flags) - return canvas_->saveLayer(bounds, nullptr); - - SkPaint paint = flags->ToSkPaint(); - return canvas_->saveLayer(bounds, &paint); +int SkiaPaintCanvas::saveLayer(const PaintFlags& flags) { + SkPaint paint = flags.ToSkPaint(); + return canvas_->saveLayer(nullptr, &paint); } -int SkiaPaintCanvas::saveLayerAlpha(const SkRect* bounds, uint8_t alpha) { - return canvas_->saveLayerAlpha(bounds, alpha); +int SkiaPaintCanvas::saveLayer(const SkRect& bounds, const PaintFlags& flags) { + SkPaint paint = flags.ToSkPaint(); + return canvas_->saveLayer(&bounds, &paint); +} + +int SkiaPaintCanvas::saveLayerAlpha(uint8_t alpha) { + return canvas_->saveLayerAlpha(nullptr, alpha); +} + +int SkiaPaintCanvas::saveLayerAlpha(const SkRect& bounds, uint8_t alpha) { + return canvas_->saveLayerAlpha(&bounds, alpha); } void SkiaPaintCanvas::restore() {
diff --git a/cc/paint/skia_paint_canvas.h b/cc/paint/skia_paint_canvas.h index 8aca4401e0..fe578e1 100644 --- a/cc/paint/skia_paint_canvas.h +++ b/cc/paint/skia_paint_canvas.h
@@ -71,8 +71,10 @@ void flush() override; int save() override; - int saveLayer(const SkRect* bounds, const PaintFlags* flags) override; - int saveLayerAlpha(const SkRect* bounds, uint8_t alpha) override; + int saveLayer(const PaintFlags& flags) override; + int saveLayer(const SkRect& bounds, const PaintFlags& flags) override; + int saveLayerAlpha(uint8_t alpha) override; + int saveLayerAlpha(const SkRect& bounds, uint8_t alpha) override; void restore() override; int getSaveCount() const override;
diff --git a/cc/paint/solid_color_analyzer_unittest.cc b/cc/paint/solid_color_analyzer_unittest.cc index 9c4cecc6..07bae36 100644 --- a/cc/paint/solid_color_analyzer_unittest.cc +++ b/cc/paint/solid_color_analyzer_unittest.cc
@@ -301,9 +301,7 @@ PaintFlags flags; SkColor4f color = SkColor4f::FromColor(SkColorSetARGB(255, 11, 22, 33)); flags.setColor(color); - - SkRect rect = SkRect::MakeWH(200, 200); - canvas_.saveLayer(&rect, &flags); + canvas_.saveLayer(SkRect::MakeWH(200, 200), flags); EXPECT_FALSE(IsSolidColor()); }
diff --git a/cc/test/paint_op_helper.h b/cc/test/paint_op_helper.h index ce674193..e4cbd2d 100644 --- a/cc/test/paint_op_helper.h +++ b/cc/test/paint_op_helper.h
@@ -618,7 +618,6 @@ << PaintOpHelper::PaintFilterToString(flags.getImageFilter()); str << ", drawLooper=" << PaintOpHelper::SkiaTypeToString(flags.getLooper()); - str << ", isSimpleOpacity=" << flags.IsSimpleOpacity(); str << ", supportsFoldingAlpha=" << flags.SupportsFoldingAlpha(); str << ", isValid=" << flags.IsValid(); str << ", hasDiscardableImages=" << flags.HasDiscardableImages();
diff --git a/chrome/VERSION b/chrome/VERSION index 321fa922..971e6b3 100644 --- a/chrome/VERSION +++ b/chrome/VERSION
@@ -1,4 +1,4 @@ MAJOR=111 MINOR=0 -BUILD=5497 +BUILD=5500 PATCH=0
diff --git a/chrome/app/resources/generated_resources_as.xtb b/chrome/app/resources/generated_resources_as.xtb index a73a282c..70b9c44 100644 --- a/chrome/app/resources/generated_resources_as.xtb +++ b/chrome/app/resources/generated_resources_as.xtb
@@ -2499,6 +2499,7 @@ <translation id="325238099842880997">শিশুক খেলা, অন্বেষণ কৰা আৰু ঘৰত বিদ্যালয়ৰ কাম কৰাত সহায় কৰিবলৈ বুনিয়াদী ডিজিটেল নিয়ম ছেট কৰক</translation> <translation id="3253448572569133955">অজ্ঞাত একাউণ্ট</translation> <translation id="3254084468305910013">{COUNT,plural, =0{সুৰক্ষা সম্পৰ্কীয় কোনো সমস্যা পোৱা নগ’ল}=1{সুৰক্ষা সম্পৰ্কীয় {COUNT} টা সমস্যা পোৱা গৈছে}one{সুৰক্ষা সম্পৰ্কীয় {COUNT} টা সমস্যা পোৱা গৈছে}other{সুৰক্ষা সম্পৰ্কীয় {COUNT} টা সমস্যা পোৱা গৈছে}}</translation> +<translation id="3254451942070605467"><ph name="FILE_NAME" /> ডাউনল’ড কৰি থকা হৈছে, <ph name="PERCENT_REMAINING" />% বাকী আছে</translation> <translation id="3254516606912442756">স্বয়ংক্ৰিয়ভাৱে সময় মণ্ডল চিনাক্ত কৰা সুবিধাটো অক্ষম কৰা আছে</translation> <translation id="3254715652085014625">আপোনাৰ Android ফ’নত Chrome খোলক আৰু "ছেটিংসমূহ > পাছৱৰ্ডসমূহ > সুৰক্ষা চাবি হিচাপে ফ’ন ব্যৱহাৰ কৰক"লৈ যাওক আৰু তাত থকা নিৰ্দেশাৱলী অনুসৰণ কৰক।</translation> <translation id="3255355328033513170">ইয়াৰ অধীনত <ph name="SITE_GROUP_NAME" /> আৰু সকলো ছাইটে সঞ্চয় কৰা সকলো ডেটা মচা হ'ব। ইয়াত কুকি অন্তর্ভুক্ত হয়। আপুনি খোলা থকা টেবকে লৈ এই সকলোবোৰ ছাইটৰ পৰা ছাইন আউট হ'ব।</translation> @@ -3320,6 +3321,7 @@ <translation id="3987993985790029246">লিংক প্ৰতিলিপি কৰক</translation> <translation id="3988996860813292272">সময় মণ্ডল বাছনি কৰক</translation> <translation id="399179161741278232">আমদানি কৰা</translation> +<translation id="3992008114154328194"><ph name="FILE_NAME" /> ডাউনল’ড কৰি থকা হৈছে, <ph name="STATUS" /></translation> <translation id="3993887353483242788">আপুনি নিজৰ Google একাউণ্টটোৰ জৰিয়তে ছাইন ইন কৰিলে আপোনাৰ অগ্ৰাধিকাৰসমূহ যিকোনো ডিভাইচত সাজু হৈ থাকিবলৈ আপোনাৰ <ph name="DEVICE_TYPE" /> ছিংক কৰক। অগ্ৰাধিকাৰসমূহত এপ্, ছেটিং, ৱাই-ফাইৰ পাছৱৰ্ড, ভাষা, ৱালপেপাৰ, কীব’ৰ্ডৰ শ্বৰ্টকাট আৰু বহুতো থাকে।</translation> <translation id="3994318741694670028">দুৰ্ভাগ্যবশতঃ, আপোনাৰ কম্পিউটাৰটো এটা ভুল হাৰ্ডৱেৰ আইডিৰ সৈতে কনফিগাৰ কৰা আছে। ই ChromeOS Flexক সুৰক্ষা সম্পৰ্কীয় শেহতীয়া সমস্যাৰ সমাধান ব্যৱহাৰ কৰি আপডে’ট কৰিবলৈ নিদিয়ে আৰু আপোনাৰ কম্পিউটাৰটো <ph name="BEGIN_BOLD" />ক্ষতিকাৰক আক্ৰমণৰ বলি হোৱাৰ সম্ভাৱনা থাকিব পাৰে<ph name="END_BOLD" />।</translation> <translation id="3994374631886003300">আপোনাৰ ফনটো আনলক কৰক আৰু আপোনাৰ <ph name="DEVICE_TYPE" /> আনলক কৰিবলৈ ওচৰলৈ আনক।</translation>
diff --git a/chrome/app/resources/generated_resources_be.xtb b/chrome/app/resources/generated_resources_be.xtb index ca49cfb..29557ec 100644 --- a/chrome/app/resources/generated_resources_be.xtb +++ b/chrome/app/resources/generated_resources_be.xtb
@@ -2489,6 +2489,7 @@ <translation id="325238099842880997">Вызначыце асноўныя правілы карыстання лічбавым змесцівам, каб збалансаваць для дзіцяці гадзіны, адведзеныя для гульняў, карыстання інтэрнэтам і дамашніх заданняў</translation> <translation id="3253448572569133955">Невядомы ўліковы запіс</translation> <translation id="3254084468305910013">{COUNT,plural, =0{Праблем з бяспекай не знойдзена}=1{Знойдзена {COUNT} праблема з бяспекай}one{Знойдзена {COUNT} праблема з бяспекай}few{Знойдзена {COUNT} праблемы з бяспекай}many{Знойдзена {COUNT} праблем з бяспекай}other{Знойдзена {COUNT} праблемы з бяспекай}}</translation> +<translation id="3254451942070605467">Ідзе спампоўванне файла "<ph name="FILE_NAME" />", застаецца <ph name="PERCENT_REMAINING" />%</translation> <translation id="3254516606912442756">Аўтаматычнае вызначэнне часавага пояса выключана</translation> <translation id="3254715652085014625">Адкрыйце Chrome на тэлефоне Android, перайдзіце ў меню "Налады > Паролі > Выкарыстоўваць тэлефон як ключ бяспекі" і выканайце прыведзеныя там указанні.</translation> <translation id="3255355328033513170">Усе даныя, захаваныя сайтам <ph name="SITE_GROUP_NAME" /> і ўсімі сайтамі ў гэтым дамене, будуць выдалены. Сюды адносяцца файлы cookie. Будзе выкананы выхад з гэтых сайтаў, у тым ліку на адкрытых укладках.</translation> @@ -3311,6 +3312,7 @@ <translation id="3987993985790029246">Скапіраваць спасылку</translation> <translation id="3988996860813292272">Выбар часавага пояса</translation> <translation id="399179161741278232">Імпартаваныя</translation> +<translation id="3992008114154328194">Ідзе спампоўванне файла "<ph name="FILE_NAME" />", <ph name="STATUS" /></translation> <translation id="3993887353483242788">Сінхранізуйце прыладу "<ph name="DEVICE_TYPE" />", каб вашы праграмы, налады, паролі Wi-Fi, мовы, шпалеры, спалучэнні клавіш і іншыя параметры былі даступныя вам на ўсіх прыладах, з якіх вы ўвайшлі ва Уліковы запіс Google.</translation> <translation id="3994318741694670028">Ваш камп'ютар сканфігураваны з няправільным ідэнтыфікатарам апаратнага забеспячэння. Гэта не дае ўсталяваць апошнія выпраўленні сістэмы бяспекі для Chrome OS Flex. Ваш камп'ютар <ph name="BEGIN_BOLD" />можа быць прыступным для атак зламыснікаў<ph name="END_BOLD" />.</translation> <translation id="3994374631886003300">Разблакіруйце тэлефон і паднясіце яго бліжэй, каб разблакіраваць <ph name="DEVICE_TYPE" />.</translation>
diff --git a/chrome/app/resources/generated_resources_bn.xtb b/chrome/app/resources/generated_resources_bn.xtb index fbb74e8..53d8f0d 100644 --- a/chrome/app/resources/generated_resources_bn.xtb +++ b/chrome/app/resources/generated_resources_bn.xtb
@@ -105,6 +105,7 @@ <translation id="1087965115100412394">সাইটগুলিকে MID ডিভাইস কানেক্ট করার অনুমতি দেয় না</translation> <translation id="1088654056000736875">Chrome আপনার কম্পিউটার থেকে ক্ষতিকারক সফ্টওয়্যার সরিয়ে দিচ্ছে…</translation> <translation id="1088659085457112967">রিডার মোডে যান</translation> +<translation id="1089407731410758060">থিম পরিবর্তন করুন</translation> <translation id="1090126737595388931">কোনো পৃষ্ঠভূমি অ্যাপ্লিকেশান চলছে না</translation> <translation id="1090541560108055381">পেয়ার করার আগে, এই কোডটি দুটি ডিভাইসে একই আছে কিনা ভাল করে দেখে নিন</translation> <translation id="1091767800771861448">ছেড়ে যেতে ESCAPE টিপুন (কেবল নন-অফিশিয়াল বিল্ড)৷</translation> @@ -934,6 +935,7 @@ <translation id="18260074040409954">যেকোনও ডিভাইসে আপনি সেভ করা পাসওয়ার্ড ব্যবহার করতে পারবেন। সেগুলি <ph name="EMAIL" />-এর জন্য <ph name="GOOGLE_PASSWORD_MANAGER" />-এ সেভ হয়</translation> <translation id="1826192255355608658">আপনার Chrome ব্রাউজারের বুকমার্ক, পাসওয়ার্ড, ইতিহাস এবং আরও অনেক কিছু সিঙ্ক করুন</translation> <translation id="1826516787628120939">চেক করা হচ্ছে</translation> +<translation id="1827504459960247692">হটস্পটের নাম</translation> <translation id="1828378091493947763">এই ডিভাইসে এই প্লাগ-ইন সমর্থিত নয়</translation> <translation id="1828879788654007962">{COUNT,plural, =0{সবকটি &খুলুন}=1{বুকমার্ক &খুলুন}one{সবকটি ({COUNT}টি) &খুলুন}other{সবকটি ({COUNT}টি) &খুলুন}}</translation> <translation id="1828901632669367785">সিস্টেম ডায়ালগ ব্যবহার করে প্রিন্ট করুন...</translation> @@ -1244,6 +1246,7 @@ <translation id="2101225219012730419">ভার্সন:</translation> <translation id="2102396546234652240">সাইটগুলিকে আপনার মাইক্রোফোন ব্যবহার করার অনুমতি দেয় না</translation> <translation id="2102495993840063010">Android অ্যাপ্লিকেশানগুলি</translation> +<translation id="2104166991923847969">হটস্পট অটোমেটিক বন্ধ করুন</translation> <translation id="2105809836724866556"><ph name="MODULE_TITLE" /> লুকানো আছে</translation> <translation id="2108349519800154983">{COUNT,plural, =1{ফোন নম্বর}one{#টি ফোন নম্বর}other{#টি ফোন নম্বর}}</translation> <translation id="211144231511833662">টাইপগুলি মুছে দিন</translation> @@ -1827,6 +1830,7 @@ <translation id="2616366145935564096"><ph name="WEBSITE_1" /> এ আপনার ডেটা পড়ুন এবং পরিবর্তন করুন</translation> <translation id="2618797463720777311">'নিয়ারবাই শেয়ার' ফিচার সেট আপ করুন</translation> <translation id="2620215283731032047"><ph name="FILE_NAME" /> ফাইলটি নিরাপদে ডাউনলোড করা যাচ্ছে না।</translation> +<translation id="2620245777360407679">ডিভাইস বর্তমানে হটস্পটের সাথে কানেক্ট করা রয়েছে</translation> <translation id="2620436844016719705">সিস্টেম</translation> <translation id="262154978979441594">Google Assistant-এর ভয়েস মডেলকে প্রশিক্ষণ দিন</translation> <translation id="26224892172169984">প্রোটোকল পরিচালনার জন্য কোনও সাইটকে মঞ্জুরি দেবেন না</translation> @@ -7152,6 +7156,7 @@ <translation id="7614260613810441905">কোনও সাইট আপনার ডিভাইসে থাকা ফাইল বা ফোল্ডার এডিট করতে চাইলে অনুমতি নিতে বলুন (সাজেস্ট করা হয়েছে)</translation> <translation id="761530003705945209">Google Drive-এ ব্যাক-আপ নিন। যেকোনও সময় সহজেই ডেটা রিস্টোর করুন অথবা অন্য ডিভাইস ব্যবহার করুন। আপনার ব্যাক-আপে অ্যাপ ডেটা থাকে। আপনার ব্যাক-আপ ডেটা Google-এ আপলোড করা হয় এবং আপনার Google অ্যাকাউন্টের পাসওয়ার্ড ব্যবহার করে সেগুলিকে এনক্রিপ্ট করা হয়।</translation> <translation id="7615365294369022248">অ্যাকাউন্ট যোগ করার সময় কোনও সমস্যা হয়েছে</translation> +<translation id="7615807797520072741">ক্লাসিক Chrome-এ রিসেট করুন</translation> <translation id="7616214729753637086">ডিভাইস নথিভুক্ত করা হচ্ছে...</translation> <translation id="7617263010641145920">Play Store অ্যাপ চালু করুন</translation> <translation id="7617648809369507487">'কম শব্দযুক্ত মেসেজিং' বিকল্প ব্যবহার করুন</translation> @@ -8459,6 +8464,7 @@ <translation id="8804999695258552249">{NUM_TABS,plural, =1{অন্য উইন্ডোতে ট্যাব সরিয়ে নিয়ে যান}one{অন্য উইন্ডোতে ট্যাবগুলি সরিয়ে নিয়ে যান}other{অন্য উইন্ডোতে ট্যাবগুলি সরিয়ে নিয়ে যান}}</translation> <translation id="8805140816472474147">সিঙ্ক করার জন্য সিঙ্ক সেটিংস নিশ্চিত করুন।</translation> <translation id="8806680466228877631">ভুলবশত বন্ধ হয়ে যাওয়া ট্যাব <ph name="SHORTCUT" /> প্রেস করলে আবার খুলে যায়</translation> +<translation id="8807588541160250261">কোনও ডিভাইস যখন কানেক্ট করা নেই</translation> <translation id="8807632654848257479">স্থায়ী</translation> <translation id="8808478386290700967">ওয়েব স্টোর</translation> <translation id="8808686172382650546">বিড়াল</translation>
diff --git a/chrome/app/resources/generated_resources_bs.xtb b/chrome/app/resources/generated_resources_bs.xtb index bd035bb..364bfaa 100644 --- a/chrome/app/resources/generated_resources_bs.xtb +++ b/chrome/app/resources/generated_resources_bs.xtb
@@ -657,6 +657,7 @@ <translation id="1595492813686795610">Nadograđivanje Linuxa</translation> <translation id="1596286373007273895">Dostupno</translation> <translation id="1596709061955594992">Bluetooth je isključen. Da vidite dostupne uređaje, uključite Bluetooth.</translation> +<translation id="1596780725094407793">– uključuje poddomene</translation> <translation id="1598233202702788831">Administrator je onemogućio ažuriranja.</translation> <translation id="1600857548979126453">Pristup pozadini programa za otklanjanje grešaka na stranici</translation> <translation id="1601560923496285236">Primijeni</translation> @@ -2894,6 +2895,7 @@ <translation id="3617891479562106823">Pozadine nisu dostupne. Pokušajte ponovo kasnije.</translation> <translation id="3619115746895587757">Kapućino</translation> <translation id="3620136223548713675">Geolokacija</translation> +<translation id="362023940451053340">Na Google računu, za <ph name="ACCOUNT" /></translation> <translation id="3621807901162200696">Pomozite nam da poboljšamo funkcije i performanse ChromeOS-a</translation> <translation id="362266093274784978">{COUNT,plural, =1{aplikaciju}one{# aplikaciju}few{# aplikacije}other{# aplikacija}}</translation> <translation id="362333465072914957">Čeka se da CA izda certifikat</translation> @@ -5631,6 +5633,7 @@ <translation id="6169967265765719844">Odobrenjima za igre i aplikacijama instaliranim putem Steama možete upravljati u <ph name="LINK_BEGIN" />postavkama aplikacije Steam<ph name="LINK_END" />.</translation> <translation id="6170470584681422115">Sendvič</translation> <translation id="6170498031581934115">Omogućavanje otklanjanja grešaka putem ADB-a nije uspjelo. Idite u Postavke i pokušajte ponovo.</translation> +<translation id="6171779718418683144">Zatraži pri svakom posjetu</translation> <translation id="617213288191670920">Nijedan jezik nije dodan</translation> <translation id="6173623053897475761">Unesite ponovo PIN</translation> <translation id="6175314957787328458">Microsoft Domain GUID</translation> @@ -6763,6 +6766,7 @@ <translation id="7235737137505019098">Na sigurnosnom ključu nema dovoljno prostora za dodatne račune.</translation> <translation id="7235873936132740888">Web lokacije mogu obrađivati posebne zadatke kada kliknete na određene vrste linkova, kao što je kreiranje nove poruke u klijentu za e-poštu ili dodavanje novih događaja u online kalendar</translation> <translation id="7238609589076576185">Oznaka akcenta je umetnuta.</translation> +<translation id="7238665222668706269">Google upravitelj zaporki <ph name="SEPARATOR" /> <ph name="ACCOUNT" /></translation> <translation id="7239108166256782787">Uređaj <ph name="DEVICE_NAME" /> je otkazao prijenos</translation> <translation id="7240339475467890413">Povezati se na novu pristupnu tačku?</translation> <translation id="7241389281993241388">Prijavite se na <ph name="TOKEN_NAME" /> da uvezete potvrdu klijenta.</translation> @@ -7505,6 +7509,7 @@ <translation id="7920363873148656176">Web lokacija <ph name="ORIGIN" /> može pregledati <ph name="FILENAME" /></translation> <translation id="7920482456679570420">Dodajte riječi koje želite da provjera pravopisa preskoči</translation> <translation id="7921347341284348270">Ne možete pregledati obavještenja telefona na ovom upravljanom računu. Pokušajte ponovo s drugim računom. <ph name="LINK_BEGIN" />Saznajte više<ph name="LINK_END" /></translation> +<translation id="7922606348470480702">Jedno proširenje</translation> <translation id="7922935920104868876">Prikaži detalje o blokiranju kolačića trećih strana u anonimnom načinu rada</translation> <translation id="7923564237306226146">Nadogradnja Linuxa je završena</translation> <translation id="7924358170328001543">Greška pri prosljeđivanju priključka</translation> @@ -7892,6 +7897,7 @@ <translation id="8263744495942430914">Web lokacija <ph name="FULLSCREEN_ORIGIN" /> je onemogućila vaš kursor miša.</translation> <translation id="8264024885325823677">Ovom postavkom upravlja vaš administrator.</translation> <translation id="8264718194193514834">"<ph name="EXTENSION_NAME" />" je aktivirala cijeli ekran.</translation> +<translation id="8265018477030547118">Samo na ovom uređaju</translation> <translation id="826511437356419340">Ušli ste u način rada pregleda prozora. Prevucite da navigirate ili pritisnite tipku tab ako koristite tastaturu.</translation> <translation id="8265671588726449108">{COUNT,plural, =1{Vaš anonimni prozor se neće ponovo otvoriti kada ponovo pokrenete}one{Vaš {COUNT} anonimni prozor se neće ponovo otvoriti kada ponovo pokrenete}few{Vaša {COUNT} anonimna prozora se neće ponovo otvoriti kada ponovo pokrenete}other{Vaših {COUNT} anonimnih prozora se neće ponovo otvoriti kada ponovo pokrenete}}</translation> <translation id="8266947622852630193">Svi načini unosa</translation> @@ -8299,6 +8305,7 @@ <translation id="8655295600908251630">Kanal</translation> <translation id="8655972064210167941">Prijava nije uspjela jer vaša lozinka nije potvrđena. Obratite se administratoru ili pokušajte ponovo.</translation> <translation id="8657393004602556571">Želite li odbaciti povratne informacije?</translation> +<translation id="8657762806752649049">Na vaš Google račun, za <ph name="ACCOUNT" /></translation> <translation id="8661290697478713397">Otvori link u anonimnom prozoru</translation> <translation id="8662671328352114214">Pridružite se <ph name="TYPE" /> mreži</translation> <translation id="8662733268723715832">Ovo traje duže nego što je očekivano. Možete preskočiti ili sačekajte dok se završi.</translation>
diff --git a/chrome/app/resources/generated_resources_cy.xtb b/chrome/app/resources/generated_resources_cy.xtb index d49c4ec..2d78248 100644 --- a/chrome/app/resources/generated_resources_cy.xtb +++ b/chrome/app/resources/generated_resources_cy.xtb
@@ -105,6 +105,7 @@ <translation id="1087965115100412394">Peidio â chaniatáu i wefannau gysylltu â dyfeisiau MIDI</translation> <translation id="1088654056000736875">Mae Chrome yn cael gwared ar feddalwedd niweidiol o'ch cyfrifiadur…</translation> <translation id="1088659085457112967">Dechrau'r Modd Darllenydd</translation> +<translation id="1089407731410758060">Newid Thema</translation> <translation id="1090126737595388931">Dim Apiau Cefndir yn Rhedeg</translation> <translation id="1090541560108055381">Cyn paru, sicrhewch fod y cod hwn yr un peth ar y ddwy ddyfais</translation> <translation id="1091767800771861448">Pwyswch ESCAPE i hepgor (Datblygiadau answyddogol yn unig).</translation> @@ -936,6 +937,7 @@ <translation id="18260074040409954">Gallwch ddefnyddio cyfrineiriau sydd wedi'u cadw ar unrhyw ddyfais. Maent wedi'u cadw i <ph name="GOOGLE_PASSWORD_MANAGER" /> ar gyfer <ph name="EMAIL" />.</translation> <translation id="1826192255355608658">Cysoni eich nodau tudalen Chrome, cyfrineiriau, hanes a rhagor</translation> <translation id="1826516787628120939">Wrthi'n gwirio</translation> +<translation id="1827504459960247692">Enw'r poethfan</translation> <translation id="1828378091493947763">Ni chefnogir yr ategyn hwn ar y ddyfais hon</translation> <translation id="1828879788654007962">{COUNT,plural, =0{&Agor Pob Un}=1{&Agor Nod Tudalen}two{&Agor Pob Un ({COUNT})}few{&Agor Pob Un ({COUNT})}many{&Agor Pob Un ({COUNT})}other{&Agor Pob Un ({COUNT})}}</translation> <translation id="1828901632669367785">Argraffu Gan Ddefnyddio Deialog System...</translation> @@ -1246,6 +1248,7 @@ <translation id="2101225219012730419">Fersiwn:</translation> <translation id="2102396546234652240">Peidio â chaniatáu i wefannau ddefnyddio'ch meicroffon</translation> <translation id="2102495993840063010">Apiau Android</translation> +<translation id="2104166991923847969">Diffodd y poethfan yn awtomatig</translation> <translation id="2105809836724866556"><ph name="MODULE_TITLE" /> wedi'i guddio</translation> <translation id="2108349519800154983">{COUNT,plural, =1{Rhif ffôn}zero{# rhif ffôn}two{# rif ffôn}few{# rhif ffôn}many{# rhif ffôn}other{# rhif ffôn}}</translation> <translation id="211144231511833662">Clirio Mathau</translation> @@ -1829,6 +1832,7 @@ <translation id="2616366145935564096">Darllen a newid eich data ar <ph name="WEBSITE_1" /></translation> <translation id="2618797463720777311">Gosod Rhannu Gerllaw</translation> <translation id="2620215283731032047">Ni ellir lawrlwytho <ph name="FILE_NAME" /> yn ddiogel.</translation> +<translation id="2620245777360407679">Dyfeisiau sydd wedi'u cysylltu â phoethfan ar hyn o bryd</translation> <translation id="2620436844016719705">System</translation> <translation id="262154978979441594">Hyfforddi model llais Google Assistant</translation> <translation id="26224892172169984">Peidio â gadael i unrhyw wefan drin protocolau</translation> @@ -7157,6 +7161,7 @@ <translation id="7614260613810441905">Gofyn pan fydd gwefan am olygu ffeiliau neu ffolderi ar eich dyfais (argymhellir)</translation> <translation id="761530003705945209">Gwneud copi wrth gefn yn Google Drive. Adfer eich data neu ddyfais newid yn hawdd ar unrhyw adeg. Mae eich copïau wrth gefn yn cynnwys data apiau. Mae eich copïau wrth gefn yn cael eu huwchlwytho i Google a'u hamgryptio gan ddefnyddio cyfrinair eich Cyfrif Google.</translation> <translation id="7615365294369022248">Bu gwall wrth ychwanegu cyfrif</translation> +<translation id="7615807797520072741">Ailosod i Chrome Clasurol</translation> <translation id="7616214729753637086">Wrthi'n cofrestru dyfais...</translation> <translation id="7617263010641145920">Troi Play Store ymlaen</translation> <translation id="7617648809369507487">Defnyddiwch negeseuon tawelach</translation> @@ -8467,6 +8472,7 @@ <translation id="8804999695258552249">{NUM_TABS,plural, =1{Symud Tab i Ffenestr Arall}zero{Symud Tabiau i Ffenestr Arall}two{Symud Tabiau i Ffenestr Arall}few{Symud Tabiau i Ffenestr Arall}many{Symud Tabiau i Ffenestr Arall}other{Symud Tabiau i Ffenestr Arall}}</translation> <translation id="8805140816472474147">Cadarnhewch y gosodiadau cysoni i ddechrau cysoni.</translation> <translation id="8806680466228877631">Gall <ph name="SHORTCUT" /> ailagor tabiau a gafodd eu cau ar ddamwain</translation> +<translation id="8807588541160250261">Pan nad oes unrhyw ddyfais wedi'i chysylltu</translation> <translation id="8807632654848257479">Sefydlog</translation> <translation id="8808478386290700967">Web Store</translation> <translation id="8808686172382650546">Cath</translation>
diff --git a/chrome/app/resources/generated_resources_da.xtb b/chrome/app/resources/generated_resources_da.xtb index fa2a79d..312e3f64 100644 --- a/chrome/app/resources/generated_resources_da.xtb +++ b/chrome/app/resources/generated_resources_da.xtb
@@ -105,6 +105,7 @@ <translation id="1087965115100412394">Tillad ikke, at websites opretter forbindelse til MIDI-enheder</translation> <translation id="1088654056000736875">Chrome fjerner skadelig software fra din computer...</translation> <translation id="1088659085457112967">Start Læser-tilstand</translation> +<translation id="1089407731410758060">Skift tema</translation> <translation id="1090126737595388931">Ingen apps kører i baggrunden</translation> <translation id="1090541560108055381">Inden du parrer, skal du sørge for, at koden er den samme på begge enheder</translation> <translation id="1091767800771861448">Tryk på ESC for at springe over (kun uofficielle builds).</translation> @@ -934,6 +935,7 @@ <translation id="18260074040409954">Du kan bruge gemte adgangskoder på alle enheder. De er gemt i <ph name="GOOGLE_PASSWORD_MANAGER" /> for <ph name="EMAIL" />.</translation> <translation id="1826192255355608658">Synkroniser bogmærkerne, adgangskoderne, historikken m.m. i din Chrome-browser</translation> <translation id="1826516787628120939">Kontrollerer</translation> +<translation id="1827504459960247692">Navn på hotspot</translation> <translation id="1828378091493947763">Dette plugin understøttes ikke på denne enhed</translation> <translation id="1828879788654007962">{COUNT,plural, =0{&Åbn alle}=1{&Åbn bogmærke}one{&Åbn ({COUNT})}other{&Åbn alle ({COUNT})}}</translation> <translation id="1828901632669367785">Dialogboks til Udskriv via system...</translation> @@ -1244,6 +1246,7 @@ <translation id="2101225219012730419">Version:</translation> <translation id="2102396546234652240">Tillad ikke, at websites anvender din mikrofon</translation> <translation id="2102495993840063010">Android-apps</translation> +<translation id="2104166991923847969">Deaktiver hotspot automatisk</translation> <translation id="2105809836724866556"><ph name="MODULE_TITLE" /> er skjult</translation> <translation id="2108349519800154983">{COUNT,plural, =1{Telefonnummer}one{# telefonnummer}other{# telefonnumre}}</translation> <translation id="211144231511833662">Ryd typer</translation> @@ -1827,6 +1830,7 @@ <translation id="2616366145935564096">Læse og redigere dine data på <ph name="WEBSITE_1" /></translation> <translation id="2618797463720777311">Konfigurer Deling tæt på</translation> <translation id="2620215283731032047"><ph name="FILE_NAME" /> kan ikke downloades sikkert.</translation> +<translation id="2620245777360407679">Enheder, der i øjeblikket er forbundet til et hotspot</translation> <translation id="2620436844016719705">System</translation> <translation id="262154978979441594">Anvend en stemmemodel i Google Assistent</translation> <translation id="26224892172169984">Tillad ingen websites at håndtere protokoller</translation> @@ -7149,6 +7153,7 @@ <translation id="7614260613810441905">Spørg, når et website vil redigere filer eller mapper på din enhed (anbefales)</translation> <translation id="761530003705945209">Sikkerhedskopiér i Google Drev. Gendan nemt dine data, eller skift enhed når som helst. Din backup omfatter appdata. Dine backups uploades til Google og krypteres ved hjælp af adgangskoden til din Google-konto.</translation> <translation id="7615365294369022248">Der opstod en fejl under tilføjelsen af kontoen</translation> +<translation id="7615807797520072741">Gendan den klassiske version af Chrome</translation> <translation id="7616214729753637086">Tilmelder enhed...</translation> <translation id="7617263010641145920">Slå Play Butik til</translation> <translation id="7617648809369507487">Få lydløse meddelelser</translation> @@ -8457,6 +8462,7 @@ <translation id="8804999695258552249">{NUM_TABS,plural, =1{Flyt fanen til et andet vindue}one{Flyt fanen til et andet vindue}other{Flyt fanerne til et andet vindue}}</translation> <translation id="8805140816472474147">Bekræft synkroniseringsindstillingerne for at starte synkronisering.</translation> <translation id="8806680466228877631"><ph name="SHORTCUT" /> kan åbne faner igen, der blev lukket ved et uheld</translation> +<translation id="8807588541160250261">Når der ikke er forbundet nogen enheder</translation> <translation id="8807632654848257479">Stabil</translation> <translation id="8808478386290700967">Webshop</translation> <translation id="8808686172382650546">Kat</translation>
diff --git a/chrome/app/resources/generated_resources_en-GB.xtb b/chrome/app/resources/generated_resources_en-GB.xtb index d3eb02c6..07a8f06 100644 --- a/chrome/app/resources/generated_resources_en-GB.xtb +++ b/chrome/app/resources/generated_resources_en-GB.xtb
@@ -655,6 +655,7 @@ <translation id="1595492813686795610">Linux is upgrading</translation> <translation id="1596286373007273895">Available</translation> <translation id="1596709061955594992">Bluetooth is turned off. To see available devices, turn Bluetooth on.</translation> +<translation id="1596780725094407793">- includes subdomains</translation> <translation id="1598233202702788831">Updates are disabled by your administrator.</translation> <translation id="1600857548979126453">Access the page debugger backend</translation> <translation id="1601560923496285236">Apply</translation> @@ -2895,6 +2896,7 @@ <translation id="3617891479562106823">Backgrounds are unavailable. Try again later.</translation> <translation id="3619115746895587757">Cappuccino</translation> <translation id="3620136223548713675">Geolocation</translation> +<translation id="362023940451053340">In your Google Account, for <ph name="ACCOUNT" /></translation> <translation id="3621807901162200696">Help improve Chrome OS features and performance</translation> <translation id="362266093274784978">{COUNT,plural, =1{an app}other{# apps}}</translation> <translation id="362333465072914957">Waiting for the CA to issue a certificate</translation> @@ -5632,6 +5634,7 @@ <translation id="6169967265765719844">Permissions for games and apps installed via Steam can be managed in the <ph name="LINK_BEGIN" />Steam app settings<ph name="LINK_END" />.</translation> <translation id="6170470584681422115">Sandwich</translation> <translation id="6170498031581934115">Couldn't enable ADB debugging. Go to Settings and try again.</translation> +<translation id="6171779718418683144">Ask on every visit</translation> <translation id="617213288191670920">No languages added</translation> <translation id="6173623053897475761">Type your PIN again</translation> <translation id="6175314957787328458">Microsoft Domain GUID</translation> @@ -6760,6 +6763,7 @@ <translation id="7235737137505019098">Your security key does not have enough space for any more accounts.</translation> <translation id="7235873936132740888">Sites can handle special tasks when you click on certain types of links, like creating a new message in your email client or adding new events to your online calendar</translation> <translation id="7238609589076576185">Accent mark inserted.</translation> +<translation id="7238665222668706269">Google Password Manager <ph name="SEPARATOR" /> <ph name="ACCOUNT" /></translation> <translation id="7239108166256782787"><ph name="DEVICE_NAME" /> cancelled the transfer</translation> <translation id="7240339475467890413">Connect to new hotspot?</translation> <translation id="7241389281993241388">Please sign in to <ph name="TOKEN_NAME" /> to import the client certificate.</translation> @@ -7502,6 +7506,7 @@ <translation id="7920363873148656176"><ph name="ORIGIN" /> can view <ph name="FILENAME" /></translation> <translation id="7920482456679570420">Add words that you want spell check to skip</translation> <translation id="7921347341284348270">You can't view your phone's notifications on this managed account. Try again with a different account. <ph name="LINK_BEGIN" />Learn more<ph name="LINK_END" /></translation> +<translation id="7922606348470480702">One extension</translation> <translation id="7922935920104868876">Show details about blocking third-party cookies in Incognito</translation> <translation id="7923564237306226146">Linux upgrade complete</translation> <translation id="7924358170328001543">Error forwarding port</translation> @@ -7889,6 +7894,7 @@ <translation id="8263744495942430914"><ph name="FULLSCREEN_ORIGIN" /> has disabled your mouse cursor.</translation> <translation id="8264024885325823677">This setting is managed by your administrator.</translation> <translation id="8264718194193514834">"<ph name="EXTENSION_NAME" />" triggered full screen.</translation> +<translation id="8265018477030547118">Only on this device</translation> <translation id="826511437356419340">Entered window overview mode. Swipe to navigate, or press tab if using a keyboard.</translation> <translation id="8265671588726449108">{COUNT,plural, =1{Your incognito window won't open after you relaunch}other{Your {COUNT} incognito windows won't reopen after you relaunch}}</translation> <translation id="8266947622852630193">All input methods</translation> @@ -8296,6 +8302,7 @@ <translation id="8655295600908251630">Channel</translation> <translation id="8655972064210167941">Sign-in failed because your password could not be verified. Please contact your administrator or try again.</translation> <translation id="8657393004602556571">Do you want to discard the feedback?</translation> +<translation id="8657762806752649049">To your Google Account, for <ph name="ACCOUNT" /></translation> <translation id="8661290697478713397">Open Link in Inco&gnito Window</translation> <translation id="8662671328352114214">Join <ph name="TYPE" /> network</translation> <translation id="8662733268723715832">This is taking longer than expected; you can skip or wait until it's done.</translation>
diff --git a/chrome/app/resources/generated_resources_es.xtb b/chrome/app/resources/generated_resources_es.xtb index db5f120..008f3ab 100644 --- a/chrome/app/resources/generated_resources_es.xtb +++ b/chrome/app/resources/generated_resources_es.xtb
@@ -2487,6 +2487,7 @@ <translation id="325238099842880997">Pon unas normas digitales básicas que ayuden a los niños a jugar, explorar y hacer sus deberes en casa</translation> <translation id="3253448572569133955">Cuenta desconocida</translation> <translation id="3254084468305910013">{COUNT,plural, =0{No se ha encontrado ningún problema de seguridad}=1{Se ha encontrado {COUNT} problema de seguridad}other{Se han encontrado {COUNT} problemas de seguridad}}</translation> +<translation id="3254451942070605467">Descargando <ph name="FILE_NAME" />, queda un <ph name="PERCENT_REMAINING" /> %</translation> <translation id="3254516606912442756">Se ha inhabilitado la detección automática de la zona horaria</translation> <translation id="3254715652085014625">En tu teléfono Android, abre Chrome y ve a Configuración > Contraseñas > Usar teléfono como llave de seguridad. Después, sigue las instrucciones que se indican.</translation> <translation id="3255355328033513170">Se eliminarán todos los datos guardados por <ph name="SITE_GROUP_NAME" /> y los sitios que contenga, incluidas las cookies. Se cerrarán tus sesiones en esos sitios, incluidas las que están en pestañas abiertas.</translation> @@ -3308,6 +3309,7 @@ <translation id="3987993985790029246">Copiar enlace</translation> <translation id="3988996860813292272">Seleccionar la zona horaria</translation> <translation id="399179161741278232">Importados</translation> +<translation id="3992008114154328194">Descargando <ph name="FILE_NAME" />, <ph name="STATUS" /></translation> <translation id="3993887353483242788">Sincroniza tu <ph name="DEVICE_TYPE" /> para encontrar tus preferencias guardadas cuando inicies sesión con tu cuenta de Google en cualquier dispositivo. Tus preferencias incluyen aplicaciones, ajustes, contraseñas de redes Wi‑Fi, idiomas, fondos de pantalla y combinaciones de teclas, entre otros.</translation> <translation id="3994318741694670028">Lamentablemente, tu ordenador está configurado con un identificador de hardware incorrecto. Esto impide que ChromeOS Flex se actualice con los últimos parches de seguridad y hace que el ordenador <ph name="BEGIN_BOLD" />pueda ser vulnerable a ataques maliciosos<ph name="END_BOLD" />.</translation> <translation id="3994374631886003300">Desbloquea el teléfono y acércalo para desbloquear tu <ph name="DEVICE_TYPE" />.</translation>
diff --git a/chrome/app/resources/generated_resources_fa.xtb b/chrome/app/resources/generated_resources_fa.xtb index 49b943a5..92d78d3 100644 --- a/chrome/app/resources/generated_resources_fa.xtb +++ b/chrome/app/resources/generated_resources_fa.xtb
@@ -105,6 +105,7 @@ <translation id="1087965115100412394">به سایتها اجازه داده نشود به دستگاههای MIDI متصل شوند</translation> <translation id="1088654056000736875">Chrome درحال حذف نرمافزارهای مضر از رایانه است…</translation> <translation id="1088659085457112967">ورود به «حالت خواننده»</translation> +<translation id="1089407731410758060">تغییر زمینه</translation> <translation id="1090126737595388931">بدون برنامههای در حال اجرا در پسزمینه</translation> <translation id="1090541560108055381">پیشاز مرتبطسازی، مطمئن شوید این کد در هر دو دستگاه یکی باشد</translation> <translation id="1091767800771861448">برای رد شدن، ESCAPE را فشار دهید (فقط ساختهای غیررسمی).</translation> @@ -931,6 +932,7 @@ <translation id="18260074040409954">میتوانید از گذرواژههای ذخیرهشده در هر دستگاهی استفاده کنید. این گذرواژهها در <ph name="GOOGLE_PASSWORD_MANAGER" /> نشانی ایمیل <ph name="EMAIL" /> ذخیره شده است.</translation> <translation id="1826192255355608658">همگامسازی نشانکها، گذرواژهها، سابقه، و دیگر اطلاعات مرورگر Chrome</translation> <translation id="1826516787628120939">در حال بررسی</translation> +<translation id="1827504459960247692">نام نقطه اتصال</translation> <translation id="1828378091493947763">این افزایه در این دستگاه پشتیبانی نمیشود</translation> <translation id="1828879788654007962">{COUNT,plural, =0{باز کردن همه}=1{باز کردن نشانک}one{باز کردن همه ({COUNT})}other{باز کردن همه ({COUNT})}}</translation> <translation id="1828901632669367785">چاپ با استفاده از گفتگوی سیستم...</translation> @@ -1240,6 +1242,7 @@ <translation id="2101225219012730419">نسخه:</translation> <translation id="2102396546234652240">به سایتها اجازه داده نشود از میکروفون استفاده کنند</translation> <translation id="2102495993840063010">برنامههای Android</translation> +<translation id="2104166991923847969">خاموش شدن خودکار نقطه اتصال</translation> <translation id="2105809836724866556"><ph name="MODULE_TITLE" /> پنهان شده است</translation> <translation id="2108349519800154983">{COUNT,plural, =1{شماره تلفن}one{# شماره تلفن}other{# شماره تلفن}}</translation> <translation id="211144231511833662">پاک کردن نوع</translation> @@ -1823,6 +1826,7 @@ <translation id="2616366145935564096">خواندن و تغییر دادههایتان در <ph name="WEBSITE_1" /></translation> <translation id="2618797463720777311">راهاندازی «همرسانی با اطراف»</translation> <translation id="2620215283731032047">نمیتوان <ph name="FILE_NAME" /> را بهطور ایمن بارگیری کرد.</translation> +<translation id="2620245777360407679">دستگاههایی که درحالحاضر به نقطه اتصال متصل هستند</translation> <translation id="2620436844016719705">سیستم</translation> <translation id="262154978979441594">آموزش مدل صوتی «دستیار Google»</translation> <translation id="26224892172169984">به هیچ سایتی برای کنترل پروتکل ها اجازه داده نشود</translation> @@ -7145,6 +7149,7 @@ <translation id="7614260613810441905">وقتی سایتی میخواهد فایلها یا پوشههای دستگاه را ویرایش کند سؤال شود (توصیه میشود)</translation> <translation id="761530003705945209">در Google Drive پشتیبانگیری کنید. بهآسانی دادههای خود را بازیابی کنید یا هرزمان خواستید دستگاهتان را عوض کنید. نسخه پشتیبان شما حاوی دادههای برنامه است. دادههای پشتیبان در Google بارگذاری میشود و بااستفاده از گذرواژه «حساب Google» رمزگذاری میشود.</translation> <translation id="7615365294369022248">هنگام افزودن حساب خطایی روی داد</translation> +<translation id="7615807797520072741">بازنشانی به Chrome قدیمی</translation> <translation id="7616214729753637086">درحال ثبت دستگاه...</translation> <translation id="7617263010641145920">روشن کردن «فروشگاه Play»</translation> <translation id="7617648809369507487">استفاده از پیامرسانی بیسروصداتر</translation> @@ -8452,6 +8457,7 @@ <translation id="8804999695258552249">{NUM_TABS,plural, =1{انتقال برگه به پنجرهای دیگر}one{انتقال برگهها به پنجرهای دیگر}other{انتقال برگهها به پنجرهای دیگر}}</translation> <translation id="8805140816472474147">برای شروع همگامسازی، تنظیمات همگامسازی را تأیید کنید.</translation> <translation id="8806680466228877631"><ph name="SHORTCUT" /> میتواند برگههایی را که بهطور تصادفی بسته شدهاند دوباره باز کند</translation> +<translation id="8807588541160250261">وقتی هیچ دستگاهی متصل نیست</translation> <translation id="8807632654848257479">پایدار</translation> <translation id="8808478386290700967">Web Store</translation> <translation id="8808686172382650546">گربه</translation>
diff --git a/chrome/app/resources/generated_resources_fi.xtb b/chrome/app/resources/generated_resources_fi.xtb index f87cc1a..edbe3737 100644 --- a/chrome/app/resources/generated_resources_fi.xtb +++ b/chrome/app/resources/generated_resources_fi.xtb
@@ -105,6 +105,7 @@ <translation id="1087965115100412394">Älä salli sivustojen yhdistää MIDI-laitteisiin</translation> <translation id="1088654056000736875">Chrome poistaa haittaohjelmia tietokoneeltasi…</translation> <translation id="1088659085457112967">Siirry lukijatilaan</translation> +<translation id="1089407731410758060">Vaihda teema</translation> <translation id="1090126737595388931">Ei käynnissä olevia taustasovelluksia</translation> <translation id="1090541560108055381">Varmista ennen laiteparin muodostamista, että tämä koodi on sama molemmissa laitteissa</translation> <translation id="1091767800771861448">Ohita painamalla ESCAPE (vain epävirallisissa ohjelmistoversioissa).</translation> @@ -932,6 +933,7 @@ <translation id="18260074040409954">Voit käyttää tallennettuja salasanoja kaikilla laitteilla. Sähköpostin <ph name="EMAIL" /> salasanat tallennetaan tänne: <ph name="GOOGLE_PASSWORD_MANAGER" />.</translation> <translation id="1826192255355608658">Synkronoi muun muassa Chrome-selaimen kirjanmerkit, salasanat ja historia</translation> <translation id="1826516787628120939">Tarkistetaan</translation> +<translation id="1827504459960247692">Hotspotin nimi</translation> <translation id="1828378091493947763">Laite ei tue tätä laajennusta.</translation> <translation id="1828879788654007962">{COUNT,plural, =0{Avaa (&O) kaikki}=1{Avaa (&O) kirjanmerkki}other{Avaa (&O) kaikki ({COUNT})}}</translation> <translation id="1828901632669367785">Tulosta järjestelmän tulostusikkunalla...</translation> @@ -1242,6 +1244,7 @@ <translation id="2101225219012730419">Versio:</translation> <translation id="2102396546234652240">Älä salli sivustojen käyttää mikrofoniasi</translation> <translation id="2102495993840063010">Android-sovellukset</translation> +<translation id="2104166991923847969">Laita hotspot pois päältä automaattisesti</translation> <translation id="2105809836724866556"><ph name="MODULE_TITLE" /> piilotettu</translation> <translation id="2108349519800154983">{COUNT,plural, =1{Puhelinnumero}other{# puhelinnumeroa}}</translation> <translation id="211144231511833662">Tyhjennä valinnat</translation> @@ -1825,6 +1828,7 @@ <translation id="2616366145935564096">lukea ja muuttaa tietojasi sivustossa <ph name="WEBSITE_1" /></translation> <translation id="2618797463720777311">Lähijakamisen käyttöönotto</translation> <translation id="2620215283731032047">Tiedostoa (<ph name="FILE_NAME" />) ei voi ladata turvallisesti.</translation> +<translation id="2620245777360407679">Hotspotiin yhdistetyt laitteet</translation> <translation id="2620436844016719705">Järjestelmä</translation> <translation id="262154978979441594">Kouluta Google Assistantin äänimalli</translation> <translation id="26224892172169984">Älä anna sivustojen määrittää protokollien käsittelypalveluita</translation> @@ -7142,6 +7146,7 @@ <translation id="7614260613810441905">Pyydä lupaa, kun sivusto haluaa muokata laitteen tiedostoja tai kansioita (suositus)</translation> <translation id="761530003705945209">Varmuuskopioi Google Driveen. Palauta tietosi tai ota uusi laite käyttöön kätevästi milloin tahansa. Varmuuskopio sisältää sovellusdataa. Varmuuskopiot ladataan Googleen ja salataan Google-tilisi salasanalla.</translation> <translation id="7615365294369022248">Tilin lisäämisessä tapahtui virhe</translation> +<translation id="7615807797520072741">Palauta klassinen Chrome</translation> <translation id="7616214729753637086">Lisätään laitetta…</translation> <translation id="7617263010641145920">Ota Play Kauppa käyttöön</translation> <translation id="7617648809369507487">Käytä hiljaisempia viestejä</translation> @@ -8448,6 +8453,7 @@ <translation id="8804999695258552249">{NUM_TABS,plural, =1{Siirrä välilehti toiseen ikkunaan}other{Siirrä välilehdet toiseen ikkunaan}}</translation> <translation id="8805140816472474147">Vahvista synkronointiasetukset, niin synkronointi voidaan aloittaa.</translation> <translation id="8806680466228877631"><ph name="SHORTCUT" /> voi avata vahingossa suljetut välilehdet uudelleen</translation> +<translation id="8807588541160250261">Kun laitteita ei ole yhdistettynä</translation> <translation id="8807632654848257479">Vakaa</translation> <translation id="8808478386290700967">Web Store</translation> <translation id="8808686172382650546">Kissa</translation>
diff --git a/chrome/app/resources/generated_resources_fr-CA.xtb b/chrome/app/resources/generated_resources_fr-CA.xtb index 218fed10..c033114 100644 --- a/chrome/app/resources/generated_resources_fr-CA.xtb +++ b/chrome/app/resources/generated_resources_fr-CA.xtb
@@ -105,6 +105,7 @@ <translation id="1087965115100412394">Ne pas autoriser les sites à se connecter à des appareils MIDI</translation> <translation id="1088654056000736875">Chrome est en train de retirer des logiciels nuisibles de votre ordinateur…</translation> <translation id="1088659085457112967">Activer le mode Lecture</translation> +<translation id="1089407731410758060">Changer le thème</translation> <translation id="1090126737595388931">Aucune application ne fonctionne en arrière-plan</translation> <translation id="1090541560108055381">Avant de procéder à l'association, assurez-vous que ce code est le même sur les deux appareils</translation> <translation id="1091767800771861448">Appuyez sur ÉCHAP pour ne pas faire la mise à jour (versions non officielles uniquement).</translation> @@ -923,6 +924,7 @@ <translation id="18260074040409954">Vous pouvez utiliser des mots de passe enregistrés sur n'importe quel appareil. Ils sont enregistrés dans <ph name="GOOGLE_PASSWORD_MANAGER" /> pour <ph name="EMAIL" />.</translation> <translation id="1826192255355608658">Synchroniser votre navigateur Chrome, vos favoris, vos mots de passe, votre historique et plus</translation> <translation id="1826516787628120939">Vérification en cours…</translation> +<translation id="1827504459960247692">Nom du point d'accès sans fil</translation> <translation id="1828378091493947763">Ce plugiciel n'est pas pris en charge sur cet appareil</translation> <translation id="1828879788654007962">{COUNT,plural, =0{&Tout ouvrir}=1{&Ouvrir le favori}one{&Tout ouvrir ({COUNT})}other{&Tout ouvrir ({COUNT})}}</translation> <translation id="1828901632669367785">Imprimer à l'aide de la boîte de dialogue système...</translation> @@ -1232,6 +1234,7 @@ <translation id="2101225219012730419">Version :</translation> <translation id="2102396546234652240">Ne pas autoriser les sites à utiliser votre micro</translation> <translation id="2102495993840063010">Applications Android</translation> +<translation id="2104166991923847969">Désactiver automatiquement le point d'accès sans fil</translation> <translation id="2105809836724866556">Module <ph name="MODULE_TITLE" /> masqué</translation> <translation id="2108349519800154983">{COUNT,plural, =1{Numéro de téléphone}one{# numéro de téléphone}other{# numéros de téléphone}}</translation> <translation id="211144231511833662">Effacer les types</translation> @@ -1813,6 +1816,7 @@ <translation id="2616366145935564096">Accéder à vos données sur <ph name="WEBSITE_1" /> et les modifier</translation> <translation id="2618797463720777311">Configurer le partage à proximité</translation> <translation id="2620215283731032047"><ph name="FILE_NAME" /> ne peut pas être téléchargé de manière sécuritaire.</translation> +<translation id="2620245777360407679">Appareils actuellement connectés au point d'accès sans fil</translation> <translation id="2620436844016719705">Système</translation> <translation id="262154978979441594">Former le modèle vocal pour l'Assistant Google</translation> <translation id="26224892172169984">Interdire à tous les sites de gérer les protocoles</translation> @@ -2488,6 +2492,7 @@ <translation id="325238099842880997">Définissez des règles numériques de base pour aider les enfants à jouer, à explorer et à faire leurs devoirs à la maison</translation> <translation id="3253448572569133955">Compte inconnu</translation> <translation id="3254084468305910013">{COUNT,plural, =0{Aucun problème de sécurité n'a été détecté}=1{{COUNT} problème de sécurité a été détecté}one{{COUNT} problème de sécurité a été détecté}other{{COUNT} problème de sécurité ont été détectés}}</translation> +<translation id="3254451942070605467">Téléchargement de <ph name="FILE_NAME" />, il reste <ph name="PERCENT_REMAINING" /> %</translation> <translation id="3254516606912442756">Détection de fuseau horaire automatique désactivée</translation> <translation id="3254715652085014625">Ouvrez Chrome sur votre téléphone Android, sélectionnez « Paramètres > Mots de passe > Utiliser le téléphone comme clé de sécurité », puis suivez les instructions qui s'affichent.</translation> <translation id="3255355328033513170">Toutes les données stockées par le groupe <ph name="SITE_GROUP_NAME" /> et par tout site subordonné seront supprimées. Cela comprend les témoins. Vous serez déconnecté de ces sites, y compris dans les onglets ouverts.</translation> @@ -3310,6 +3315,7 @@ <translation id="3987993985790029246">Copier lien</translation> <translation id="3988996860813292272">Sélectionner un fuseau horaire</translation> <translation id="399179161741278232">Importés</translation> +<translation id="3992008114154328194">Téléchargement en cours : <ph name="FILE_NAME" />, <ph name="STATUS" /></translation> <translation id="3993887353483242788">Synchronisez votre <ph name="DEVICE_TYPE" /> afin que vos préférences soient prêtes sur n'importe quel appareil lorsque vous vous connectez avec votre compte Google. Ces préférences comprennent les applications, les paramètres, les mots de passe Wi-Fi, les langues, les fonds d'écran, les raccourcis-clavier, etc.</translation> <translation id="3994318741694670028">Malheureusement, votre ordinateur est configuré avec un identifiant de matériel malformé. Cela empêche l'installation des derniers correctifs de sécurité pour Chrome OS Flex. Votre ordinateur <ph name="BEGIN_BOLD" />peut ainsi être vulnérable aux attaques malveillantes<ph name="END_BOLD" />.</translation> <translation id="3994374631886003300">Déverrouillez votre téléphone et rapprochez-le de votre <ph name="DEVICE_TYPE" /> pour le déverrouiller.</translation> @@ -7132,6 +7138,7 @@ <translation id="7614260613810441905">Demander lorsqu'un site souhaite modifier des fichiers ou des dossiers sur votre appareil (recommandé)</translation> <translation id="761530003705945209">Sauvegarder sur Google Disque. Restaurez facilement vos données ou changez d'appareil à tout moment. Votre sauvegarde inclut les données des applications. Vos sauvegardes sont téléversées vers les serveurs de Google et sont chiffrées en utilisant le mot de passe de votre compte Google.</translation> <translation id="7615365294369022248">Une erreur s'est produite lors de l’ajout d'un compte</translation> +<translation id="7615807797520072741">Réinitialiser à Chrome classique</translation> <translation id="7616214729753637086">Enregistrement de l'appareil en cours…</translation> <translation id="7617263010641145920">Activer le Play Store</translation> <translation id="7617648809369507487">Activer l'affichage discret</translation> @@ -8439,6 +8446,7 @@ <translation id="8804999695258552249">{NUM_TABS,plural, =1{Déplacer l'onglet vers une autre fenêtre}one{Déplacer l'onglet vers une autre fenêtre}other{Déplacer les onglets vers une autre fenêtre}}</translation> <translation id="8805140816472474147">Confirmez les paramètres de synchronisation pour lancer la synchronisation.</translation> <translation id="8806680466228877631"><ph name="SHORTCUT" /> permet de rouvrir les onglets fermés par accident</translation> +<translation id="8807588541160250261">Lorsqu'aucun appareil n'est connecté</translation> <translation id="8807632654848257479">Stable</translation> <translation id="8808478386290700967">Boutique en ligne Chrome</translation> <translation id="8808686172382650546">Chat</translation>
diff --git a/chrome/app/resources/generated_resources_fr.xtb b/chrome/app/resources/generated_resources_fr.xtb index 5d67848..b16e8c1 100644 --- a/chrome/app/resources/generated_resources_fr.xtb +++ b/chrome/app/resources/generated_resources_fr.xtb
@@ -105,6 +105,7 @@ <translation id="1087965115100412394">Ne pas autoriser les sites à se connecter à des appareils MIDI</translation> <translation id="1088654056000736875">Chrome supprime des logiciels malveillants de votre ordinateur…</translation> <translation id="1088659085457112967">Accéder au mode Lecteur</translation> +<translation id="1089407731410758060">Changer de thème</translation> <translation id="1090126737595388931">Aucune application active en arrière plan</translation> <translation id="1090541560108055381">Avant d'associer les appareils, assurez-vous que ce code est le même sur les deux</translation> <translation id="1091767800771861448">Appuyez sur ECHAP pour ignorer (versions non officielles uniquement).</translation> @@ -923,6 +924,7 @@ <translation id="18260074040409954">Vous pouvez utiliser les mots de passe enregistrés sur n'importe quel appareil. Ils sont enregistrés sur le <ph name="GOOGLE_PASSWORD_MANAGER" /> pour <ph name="EMAIL" />.</translation> <translation id="1826192255355608658">Synchroniser entre autres les favoris, les mots de passe et l'historique de votre navigateur Chrome</translation> <translation id="1826516787628120939">Vérification en cours…</translation> +<translation id="1827504459960247692">Nom du point d'accès</translation> <translation id="1828378091493947763">Ce plug-in n'est pas compatible avec cet appareil.</translation> <translation id="1828879788654007962">{COUNT,plural, =0{Tout &ouvrir}=1{&Ouvrir le favori}one{Tout &ouvrir ({COUNT})}other{Tout &ouvrir ({COUNT})}}</translation> <translation id="1828901632669367785">Imprimer via la boîte de dialogue système...</translation> @@ -1232,6 +1234,7 @@ <translation id="2101225219012730419">Version :</translation> <translation id="2102396546234652240">Ne pas autoriser les sites à utiliser votre micro</translation> <translation id="2102495993840063010">Applications Android</translation> +<translation id="2104166991923847969">Désactiver le point d'accès automatiquement</translation> <translation id="2105809836724866556">Vous avez masqué : <ph name="MODULE_TITLE" /></translation> <translation id="2108349519800154983">{COUNT,plural, =1{Numéro de téléphone}one{# numéro de téléphone}other{# numéros de téléphone}}</translation> <translation id="211144231511833662">Effacer les types</translation> @@ -1812,6 +1815,7 @@ <translation id="2616366145935564096">Accéder aux données du site <ph name="WEBSITE_1" /> et les modifier</translation> <translation id="2618797463720777311">Configurer le Partage à proximité</translation> <translation id="2620215283731032047">Impossible de télécharger <ph name="FILE_NAME" /> de manière sécurisée.</translation> +<translation id="2620245777360407679">Appareils actuellement connectés au point d'accès</translation> <translation id="2620436844016719705">Système</translation> <translation id="262154978979441594">Entraîner l'empreinte vocale de l'Assistant Google</translation> <translation id="26224892172169984">Interdire à tous les sites de gérer les protocoles</translation> @@ -7134,6 +7138,7 @@ <translation id="7614260613810441905">Vous demander lorsqu'un site souhaite modifier des fichiers ou des dossiers sur votre appareil (recommandé)</translation> <translation id="761530003705945209">Sauvegarder dans Google Drive. Restaurez vos données ou changez d'appareil facilement et à tout moment. Les données des applications sont également sauvegardées. Vos sauvegardes sont importées dans Google et chiffrées à l'aide du mot de passe de votre compte Google.</translation> <translation id="7615365294369022248">Une erreur s'est produite lors de l'ajout d'un compte</translation> +<translation id="7615807797520072741">Rétablir le thème classique de Chrome</translation> <translation id="7616214729753637086">Enregistrement de l'appareil...</translation> <translation id="7617263010641145920">Activer le Play Store</translation> <translation id="7617648809369507487">Activer les notifications discrètes</translation> @@ -8442,6 +8447,7 @@ <translation id="8804999695258552249">{NUM_TABS,plural, =1{Déplacer l'onglet vers une autre fenêtre}one{Déplacer l'onglet vers une autre fenêtre}other{Déplacer les onglets vers une autre fenêtre}}</translation> <translation id="8805140816472474147">Confirmez les paramètres de synchronisation pour lancer la synchronisation.</translation> <translation id="8806680466228877631"><ph name="SHORTCUT" /> permet de rouvrir les onglets fermés involontairement</translation> +<translation id="8807588541160250261">Lorsqu'il n'y a aucun appareil connecté</translation> <translation id="8807632654848257479">Stable</translation> <translation id="8808478386290700967">Web Store</translation> <translation id="8808686172382650546">Chat</translation>
diff --git a/chrome/app/resources/generated_resources_gl.xtb b/chrome/app/resources/generated_resources_gl.xtb index cbb3a6f..68cb03d 100644 --- a/chrome/app/resources/generated_resources_gl.xtb +++ b/chrome/app/resources/generated_resources_gl.xtb
@@ -2485,6 +2485,7 @@ <translation id="325238099842880997">Define normas básicas para axudar aos nenos a xogar, a explorar o mundo dixital e a realizar tarefas escolares na casa</translation> <translation id="3253448572569133955">Conta descoñecida</translation> <translation id="3254084468305910013">{COUNT,plural, =0{Non se atopou ningún problema de seguranza}=1{Atopouse {COUNT} problema de seguranza}other{Atopáronse {COUNT} problemas de seguranza}}</translation> +<translation id="3254451942070605467">Descargando ficheiro <ph name="FILE_NAME" /> (porcentaxe restante: <ph name="PERCENT_REMAINING" /> %)</translation> <translation id="3254516606912442756">Desactivouse a detección automática do fuso horario</translation> <translation id="3254715652085014625">Abre Chrome no teu teléfono Android, vai a Configuración > Contrasinais > Usar o teléfono como chave de seguranza e sigue as instrucións que aparecen nese apartado.</translation> <translation id="3255355328033513170">Eliminaranse todos os datos que almacenasen <ph name="SITE_GROUP_NAME" /> e todos os sitios que formen parte dese grupo. Entre estes datos inclúense as cookies. Ademais, pecharase sesión nestes sitios aínda que os teñas abertos en pestanas.</translation> @@ -3307,6 +3308,7 @@ <translation id="3987993985790029246">Copiar ligazón</translation> <translation id="3988996860813292272">Selecciona un fuso horario</translation> <translation id="399179161741278232">Importados</translation> +<translation id="3992008114154328194">Descargando ficheiro <ph name="FILE_NAME" /> (<ph name="STATUS" />)</translation> <translation id="3993887353483242788">Sincroniza o dispositivo (<ph name="DEVICE_TYPE" />) para que as túas preferencias estean dispoñibles en calquera dispositivo cando inicies sesión coa túa Conta de Google. Nas preferencias inclúense, entre outros elementos, as aplicacións, as opcións de configuración, os contrasinais de redes wifi, os idiomas, o fondo de pantalla e os atallos de teclado.</translation> <translation id="3994318741694670028">O ordenador está configurado cun ID de hardware incorrecto, polo que Chrome OS Flex non pode actualizarse coas correccións de seguranza máis recentes e <ph name="BEGIN_BOLD" />é posible que o teu ordenador quede exposto a ataques maliciosos<ph name="END_BOLD" />.</translation> <translation id="3994374631886003300">Desbloquea o teléfono e achégao ao <ph name="DEVICE_TYPE" /> para desbloquealo.</translation>
diff --git a/chrome/app/resources/generated_resources_gu.xtb b/chrome/app/resources/generated_resources_gu.xtb index 55b62e1a..6c7c039 100644 --- a/chrome/app/resources/generated_resources_gu.xtb +++ b/chrome/app/resources/generated_resources_gu.xtb
@@ -2484,6 +2484,7 @@ <translation id="325238099842880997">બાળકોના ચલાવવા, શોધખોળ કરવા અને ઘરે શાળાનો અભ્યાસ કરવા માટેના મૂળભૂત ડિજિટલ નિયમો સેટ કરો</translation> <translation id="3253448572569133955">અજાણ એકાઉન્ટ</translation> <translation id="3254084468305910013">{COUNT,plural, =0{સુરક્ષા સંબંધિત કોઈ સમસ્યા મળી નથી}=1{સુરક્ષા સંબંધિત {COUNT} સમસ્યા મળી છે}one{સુરક્ષા સંબંધિત {COUNT} સમસ્યા મળી છે}other{સુરક્ષા સંબંધિત {COUNT} સમસ્યા મળી છે}}</translation> +<translation id="3254451942070605467"><ph name="FILE_NAME" /> ડાઉનલોડ કરી રહ્યાં છીએ, <ph name="PERCENT_REMAINING" />% બાકી</translation> <translation id="3254516606912442756">ઑટોમૅટિક રીતે સમય ઝોન શોધવાનું બંધ છે</translation> <translation id="3254715652085014625">તમારા Android ફોન પર Chrome ખોલો અને "સેટિંગ > પાસવર્ડ > સિક્યુરિટી કી તરીકે ફોનનો ઉપયોગ કરો" પર જાઓ અને પછી ત્યાં આપેલી સૂચના અનુસરો.</translation> <translation id="3255355328033513170"><ph name="SITE_GROUP_NAME" /> અને તેની હેઠળ આવતી કોઈપણ સાઇટ દ્વારા સ્ટોર કરેલો બધો ડેટા ડિલીટ કરવામાં આવશે. તેમાં કુકીનો સમાવેશ થાય છે. ખુલ્લા ટૅબ સહિત, આ સાઇટમાંથી તમને સાઇન આઉટ કરવામાં આવશે.</translation> @@ -3306,6 +3307,7 @@ <translation id="3987993985790029246">લિંક કૉપિ કરો</translation> <translation id="3988996860813292272">સમયઝોન પસંદ કરો</translation> <translation id="399179161741278232">આયાત કરેલા</translation> +<translation id="3992008114154328194"><ph name="FILE_NAME" /> ડાઉનલોડ કરી રહ્યાં છીએ, <ph name="STATUS" /></translation> <translation id="3993887353483242788">તમારા <ph name="DEVICE_TYPE" />ને સિંક કરો, જેથી જ્યારે તમે તમારા Google એકાઉન્ટ વડે સાઇન ઇન કરો, ત્યારે કોઈપણ ડિવાઇસ પર તમારી પસંદગીઓ તૈયાર થઈ જશે. પસંદગીઓમાં ઍપ, સેટિંગ, વાઇ-ફાઇના પાસવર્ડ, ભાષાઓ, વૉલપેપર અને કીબોર્ડના શૉર્ટકટ જેવી અન્ય ઘણી બાબતો શામેલ છે.</translation> <translation id="3994318741694670028">કમનસીબે, તમારું કમ્પ્યુટર દૂષિત હાર્ડવેર ID સાથે કન્ફિગર કરવામાં આવ્યું છે. આ ChromeOS Flexને નવીનતમ સુરક્ષા સુધારાની સાથે અપડેટ થતું અટકાવે છે અને તમારું કમ્પ્યુટર <ph name="BEGIN_BOLD" />દુર્ભાવનાપૂર્ણ હુમલાઓ પ્રત્યે સંવેદનશીલ હોઈ શકે છે<ph name="END_BOLD" />.</translation> <translation id="3994374631886003300">તમારો ફોન અનલૉક કરો અને તમારા <ph name="DEVICE_TYPE" />ને અનલૉક કરવા માટે તેને વધુ નજીક લાવો.</translation>
diff --git a/chrome/app/resources/generated_resources_hr.xtb b/chrome/app/resources/generated_resources_hr.xtb index 4716200..b2c903f 100644 --- a/chrome/app/resources/generated_resources_hr.xtb +++ b/chrome/app/resources/generated_resources_hr.xtb
@@ -654,6 +654,7 @@ <translation id="1595492813686795610">Linux se nadograđuje</translation> <translation id="1596286373007273895">Dostupno</translation> <translation id="1596709061955594992">Bluetooth je isključen. Da biste vidjeli dostupne uređaje, uključite Bluetooth.</translation> +<translation id="1596780725094407793">– uključuje poddomene</translation> <translation id="1598233202702788831">Administrator je onemogućio ažuriranja.</translation> <translation id="1600857548979126453">pristupiti pozadini programa za ispravljanje pogrešaka na stranici</translation> <translation id="1601560923496285236">Primijeni</translation> @@ -2883,6 +2884,7 @@ <translation id="3617891479562106823">Pozadine nisu dostupne. Pokušajte ponovo kasnije.</translation> <translation id="3619115746895587757">Cappuccino</translation> <translation id="3620136223548713675">Geolociranje</translation> +<translation id="362023940451053340">Na Google računu, za <ph name="ACCOUNT" /></translation> <translation id="3621807901162200696">Pomozite poboljšati značajke i izvedbu Chrome OS-a</translation> <translation id="362266093274784978">{COUNT,plural, =1{aplikaciju}one{# aplikaciju}few{# aplikacije}other{# aplikacija}}</translation> <translation id="362333465072914957">Čeka se da tijelo za izdavanje certifikata izda certifikat</translation> @@ -5616,6 +5618,7 @@ <translation id="6169967265765719844">Dopuštenjima za igre i aplikacije instalirane putem Steama može se upravljati u <ph name="LINK_BEGIN" />postavkama aplikacije Steam<ph name="LINK_END" />.</translation> <translation id="6170470584681422115">Sendvič</translation> <translation id="6170498031581934115">Omogućivanje ADB otklanjanja pogrešaka nije uspjelo. Otvorite Postavke i pokušajte ponovo.</translation> +<translation id="6171779718418683144">Zatraži pri svakom posjetu</translation> <translation id="617213288191670920">Nije dodan nijedan jezik</translation> <translation id="6173623053897475761">Ponovo unesite PIN</translation> <translation id="6175314957787328458">Microsoft Domain GUID</translation> @@ -6748,6 +6751,7 @@ <translation id="7235737137505019098">Na sigurnosnom ključu nema dovoljno prostora za izradu novih računa.</translation> <translation id="7235873936132740888">Web-lokacije mogu izvršavati posebne zadatke kad kliknete određene vrste veza, na primjer mogu sastaviti novu poruku u vašem klijentu e-pošte ili dodati nove događaje vašem online kalendaru</translation> <translation id="7238609589076576185">Umetnuta je naglasna oznaka.</translation> +<translation id="7238665222668706269">Google upravitelj zaporki <ph name="SEPARATOR" /> <ph name="ACCOUNT" /></translation> <translation id="7239108166256782787">Uređaj <ph name="DEVICE_NAME" /> otkazao je prijenos</translation> <translation id="7240339475467890413">Želite li se povezati s novom žarišnom točkom?</translation> <translation id="7241389281993241388">Prijavite se na uređaj <ph name="TOKEN_NAME" /> kako biste uvezli certifikat klijenta.</translation> @@ -7490,6 +7494,7 @@ <translation id="7920363873148656176"><ph name="ORIGIN" /> može pregledavati datoteku <ph name="FILENAME" /></translation> <translation id="7920482456679570420">Dodajte riječi koje želite preskočiti u provjeri pravopisa</translation> <translation id="7921347341284348270">Na ovom upravljanom računu ne možete pregledati obavijesti telefona Pokušajte ponovo s drugim računom. <ph name="LINK_BEGIN" />Saznajte više<ph name="LINK_END" /></translation> +<translation id="7922606348470480702">Jedno proširenje</translation> <translation id="7922935920104868876">Prikaži pojedinosti o blokiranju kolačića trećih strana u anonimnom načinu</translation> <translation id="7923564237306226146">Dovršena je nadogradnja Linuxa</translation> <translation id="7924358170328001543">Pogreška prilikom prosljeđivanja priključka</translation> @@ -7877,6 +7882,7 @@ <translation id="8263744495942430914">Stranica <ph name="FULLSCREEN_ORIGIN" /> onemogućila je pokazivač miša.</translation> <translation id="8264024885325823677">Tom postavkom upravlja vaš administrator.</translation> <translation id="8264718194193514834">Proširenje <ph name="EXTENSION_NAME" /> pokrenulo je prikaz na cijelom zaslonu.</translation> +<translation id="8265018477030547118">Samo na ovom uređaju</translation> <translation id="826511437356419340">Otvoren je način pregleda u prozoru. Da biste se kretali, prijeđite prstom ili, ako koristite tipkovnicu, pritisnite tabulator.</translation> <translation id="8265671588726449108">{COUNT,plural, =1{Anonimni se prozor neće ponovno otvoriti nakon ponovnog pokretanja}one{Vaš {COUNT} anonimni prozor neće se ponovno otvoriti nakon ponovnog pokretanja}few{Vaša {COUNT} anonimna prozora neće se ponovno otvoriti nakon ponovnog pokretanja}other{Vaših {COUNT} anonimnih prozora neće se ponovno otvoriti nakon ponovnog pokretanja}}</translation> <translation id="8266947622852630193">Svi načini unosa</translation> @@ -8284,6 +8290,7 @@ <translation id="8655295600908251630">Kanal</translation> <translation id="8655972064210167941">Prijava nije uspjela jer zaporka nije potvrđena. Obratite se administratoru ili pokušajte ponovo.</translation> <translation id="8657393004602556571">Želite li odbaciti povratne informacije?</translation> +<translation id="8657762806752649049">Na vaš Google račun, za <ph name="ACCOUNT" /></translation> <translation id="8661290697478713397">Otvori vezu u anoni&mnom prozoru</translation> <translation id="8662671328352114214">Pridruži se mreži <ph name="TYPE" /></translation> <translation id="8662733268723715832">Ovo traje neuobičajeno dugo, možete preskočiti ili pričekati da završi.</translation>
diff --git a/chrome/app/resources/generated_resources_hu.xtb b/chrome/app/resources/generated_resources_hu.xtb index da921f8..d838c09 100644 --- a/chrome/app/resources/generated_resources_hu.xtb +++ b/chrome/app/resources/generated_resources_hu.xtb
@@ -105,6 +105,7 @@ <translation id="1087965115100412394">A webhelyek nem csatlakozhatnak MIDI-eszközökhöz</translation> <translation id="1088654056000736875">A Chrome kártékony szoftvereket távolít el a számítógépről…</translation> <translation id="1088659085457112967">Belépés Olvasási módba</translation> +<translation id="1089407731410758060">Téma módosítása</translation> <translation id="1090126737595388931">Nincs háttérben futó alkalmazás</translation> <translation id="1090541560108055381">A párosítás előtt ellenőrizze, hogy mindkét eszközön ugyanazt a kódot használja-e</translation> <translation id="1091767800771861448">Nyomja le az ESC billentyűt a kihagyáshoz (csak nem hivatalos verzióknál).</translation> @@ -933,6 +934,7 @@ <translation id="18260074040409954">A mentett jelszavakat bármelyik eszközön használhatja. A következő fiókhoz társított <ph name="GOOGLE_PASSWORD_MANAGER" /> alkalmazásba menti őket a rendszer: <ph name="EMAIL" />.</translation> <translation id="1826192255355608658">Szinkronizálhatja a Chrome böngésző könyvjelzőit, jelszavait, előzményeit és még sok mást is</translation> <translation id="1826516787628120939">Ellenőrzés</translation> +<translation id="1827504459960247692">Hotspot neve</translation> <translation id="1828378091493947763">Ez a beépülő modul nem támogatott ezen az eszközön</translation> <translation id="1828879788654007962">{COUNT,plural, =0{&Összes megnyitása}=1{&Könyvjelző megnyitása}other{&Összes ({COUNT}) megnyitása}}</translation> <translation id="1828901632669367785">Nyomtatás a rendszer párbeszédpanelének segítségével...</translation> @@ -1242,6 +1244,7 @@ <translation id="2101225219012730419">Verzió:</translation> <translation id="2102396546234652240">A webhelyek nem használhatják a mikrofont</translation> <translation id="2102495993840063010">Android-alkalmazások</translation> +<translation id="2104166991923847969">Hotspot automatikus kikapcsolása</translation> <translation id="2105809836724866556">A következők el vannak rejtve: <ph name="MODULE_TITLE" /></translation> <translation id="2108349519800154983">{COUNT,plural, =1{Telefonszám}other{# telefonszám}}</translation> <translation id="211144231511833662">Típusok törlése</translation> @@ -1825,6 +1828,7 @@ <translation id="2616366145935564096">Adatainak olvasása és módosítása itt: <ph name="WEBSITE_1" /></translation> <translation id="2618797463720777311">Közeli megosztás beállítása</translation> <translation id="2620215283731032047">A következő fájlt nem lehet biztonságosan letölteni: <ph name="FILE_NAME" />.</translation> +<translation id="2620245777360407679">A hotspothoz jelenleg csatlakoztatott eszközök</translation> <translation id="2620436844016719705">Rendszer</translation> <translation id="262154978979441594">Google Segéd-hangminta megtanítása</translation> <translation id="26224892172169984">A webhelyek nem kezelhetnek protokollokat</translation> @@ -7146,6 +7150,7 @@ <translation id="7614260613810441905">Kérdezzen rá, ha valamelyik webhely módosítani szeretné az eszközén található fájlokat vagy mappákat (ajánlott)</translation> <translation id="761530003705945209">Biztonsági mentés a Google Drive-ra. Bármikor könnyedén visszaállíthatja adatait vagy lecserélheti eszközét. A biztonsági másolat tartalmazza az alkalmazásadatokat. A biztonsági másolatokat a Google szervereire tölti fel a rendszer, és az Ön Google-fiókjához használt jelszóval titkosítja őket.</translation> <translation id="7615365294369022248">A fiók hozzáadásakor hiba történt</translation> +<translation id="7615807797520072741">Visszaállítás a klasszikus Chrome-témára</translation> <translation id="7616214729753637086">Eszköz regisztrálása…</translation> <translation id="7617263010641145920">A Play Áruház bekapcsolása</translation> <translation id="7617648809369507487">Kevésbé zavaró értesítések használata</translation> @@ -8453,6 +8458,7 @@ <translation id="8804999695258552249">{NUM_TABS,plural, =1{Lap áthelyezése másik ablakba}other{Lapok áthelyezése másik ablakba}}</translation> <translation id="8805140816472474147">A szinkronizálás megkezdéséhez meg kell erősítenie a szinkronizálási beállításokat.</translation> <translation id="8806680466228877631">A <ph name="SHORTCUT" /> billentyűparanccsal újra megnyithatja a véletlenül bezárt lapokat</translation> +<translation id="8807588541160250261">Amikor nincsenek csatlakoztatva eszközök</translation> <translation id="8807632654848257479">Stabil</translation> <translation id="8808478386290700967">Chrome internetes áruház</translation> <translation id="8808686172382650546">Macska</translation>
diff --git a/chrome/app/resources/generated_resources_hy.xtb b/chrome/app/resources/generated_resources_hy.xtb index efb57e33..dca4654c 100644 --- a/chrome/app/resources/generated_resources_hy.xtb +++ b/chrome/app/resources/generated_resources_hy.xtb
@@ -2488,6 +2488,7 @@ <translation id="325238099842880997">Սահմանեք հիմնական կանոններ՝ ընտրելով երեխայի համար սովորելու, խաղալու և տնային աշխատանքներ անելու ժամեր։</translation> <translation id="3253448572569133955">Անհայտ հաշիվ</translation> <translation id="3254084468305910013">{COUNT,plural, =0{Անվտանգության հետ կապված խնդիրներ չեն հայտնաբերվել}=1{Հայտնաբերվել է անվտանգության հետ կապված {COUNT} խնդիր}one{Հայտնաբերվել է անվտանգության հետ կապված {COUNT} խնդիր}other{Հայտնաբերվել է անվտանգության հետ կապված {COUNT} խնդիր}}</translation> +<translation id="3254451942070605467"><ph name="FILE_NAME" /> ֆայլը ներբեռնվում է, մնաց <ph name="PERCENT_REMAINING" />%</translation> <translation id="3254516606912442756">Ժամային գոտու ավտոմատ որոշումն անջատված է</translation> <translation id="3254715652085014625">Բացեք Chrome-ը ձեր Android հեռախոսում և անցեք «Կարգավորումներ > Գաղտնաբառեր > Օգտագործել հեռախոսը որպես անվտանգության բանալի», ապա հետևեք այնտեղ ցուցադրված հուշումներին։</translation> <translation id="3255355328033513170"><ph name="SITE_GROUP_NAME" /> կայքերի պահած բոլոր տվյալները կջնջվեն։ Կջնջվեն նաև քուքիները։ Դուք ձեր հաշիվներից դուրս կգաք այդ կայքերում։</translation> @@ -3310,6 +3311,7 @@ <translation id="3987993985790029246">Պատճենել հղումը</translation> <translation id="3988996860813292272">Ընտրեք ժամային գոտին</translation> <translation id="399179161741278232">Ներմուծված</translation> +<translation id="3992008114154328194"><ph name="FILE_NAME" /> ֆայլը ներբեռնվում է, <ph name="STATUS" /></translation> <translation id="3993887353483242788">Համաժամացրեք ձեր <ph name="DEVICE_TYPE" /> սարքը, որպեսզի ձեր նախընտրանքները (հավելվածները, կարգավորումները, Wi-Fi-ի գաղտնաբառերը, լեզուները, պաստառները, ստեղնային դյուրանցումները և այլն) հասանելի լինեն բոլոր սարքերում, երբ մուտք գործեք Google հաշիվ։</translation> <translation id="3994318741694670028">Ձեր համակարգիչը կազմաձևված է սարքակազմի սխալ ID-ով։ Սա թույլ չի տալիս, որպեսզի ChromeOS Flex-ը ստանա անվտանգության վերջին թարմացումները, և ձեր համակարգիչը <ph name="BEGIN_BOLD" />կարող է վնասաբեր հարձակումների թիրախ դառնալ<ph name="END_BOLD" />։</translation> <translation id="3994374631886003300"><ph name="DEVICE_TYPE" /> սարքն ապակողպելու համար ապակողպեք ձեր հեռախոսը և այն մոտեցրեք սարքին։</translation>
diff --git a/chrome/app/resources/generated_resources_mr.xtb b/chrome/app/resources/generated_resources_mr.xtb index dcf993d9..b8c3923e 100644 --- a/chrome/app/resources/generated_resources_mr.xtb +++ b/chrome/app/resources/generated_resources_mr.xtb
@@ -2500,6 +2500,7 @@ <translation id="325238099842880997">लहान मुलांना घरामध्ये खेळण्यास, एक्सप्लोर करण्यास आणि शाळेतील कामे करण्यास मदत करण्याकरिता डिजिटल मूलभूत नियम सेट करा</translation> <translation id="3253448572569133955">अज्ञात खाते</translation> <translation id="3254084468305910013">{COUNT,plural, =0{No security issues found}=1{सुरक्षेसंबंधित {COUNT} समस्या आढळली}other{सुरक्षेसंबंधित {COUNT} समस्या आढळल्या}}</translation> +<translation id="3254451942070605467"><ph name="FILE_NAME" /> डाउनलोड करत आहे, <ph name="PERCENT_REMAINING" />% शिल्लक</translation> <translation id="3254516606912442756">आपोआप टाइमझोन शोधणे बंद केले आहे</translation> <translation id="3254715652085014625">तुमच्या Android फोनवर Chrome उघडा आणि "सेटिंग्ज > पासवर्ड > सिक्युरिटी की म्हणून फोन वापरा" वर जा आणि तेथील सूचना फॉलो करा.</translation> <translation id="3255355328033513170"><ph name="SITE_GROUP_NAME" /> ने स्टोअर केलेला सर्व डेटा आणि त्यामधील कोणत्याही साइट हटवल्या जातील. यामध्ये कुकीचा समावेश आहे. तुम्हाला उघडलेल्या टॅबसह या साइटमधून साइन आउट केले जाईल.</translation> @@ -3322,6 +3323,7 @@ <translation id="3987993985790029246">लिंक कॉपी करा</translation> <translation id="3988996860813292272">टाइम झोन निवडा</translation> <translation id="399179161741278232">आयातीत</translation> +<translation id="3992008114154328194"><ph name="FILE_NAME" /> डाउनलोड करत आहे, <ph name="STATUS" /></translation> <translation id="3993887353483242788">तुमचे <ph name="DEVICE_TYPE" /> सिंक करा, जेणेकरून तुम्ही तुमचे Google खाते वापरून कोणत्याही डिव्हाइसवर साइन इन कराल, तेव्हा तुमची प्राधान्ये तयार असतील. प्राधान्यांमध्ये अॅप्स, सेटिंग्ज, वाय-फाय पासवर्ड, भाषा, वॉलपेपर, कीबोर्ड शॉर्टकट आणि आणखी बऱ्याच गोष्टींंचा समावेश आहे.</translation> <translation id="3994318741694670028">दुर्दैवाने, तुमचा कॉंप्युटर हा समस्या असलेला हार्डवेअर आयडी वापरून कॉंफिगर केला गेला आहे. यामुळे ChromeOS Flex वर नवीनतम सुरक्षा निराकरणे अपडेट करणे रोखले जात आहे आणि तुमच्या कॉंप्युटरवर <ph name="BEGIN_BOLD" />दुर्भावनापूर्ण हल्ले होण्याची शक्यता आहे<ph name="END_BOLD" />.</translation> <translation id="3994374631886003300">तुमचा फोन अनलॉक करा आणि तुमचे <ph name="DEVICE_TYPE" /> अनलॉक करण्यासाठी तो जवळ आणा.</translation>
diff --git a/chrome/app/resources/generated_resources_nl.xtb b/chrome/app/resources/generated_resources_nl.xtb index b3dd1c715..b7d3388d 100644 --- a/chrome/app/resources/generated_resources_nl.xtb +++ b/chrome/app/resources/generated_resources_nl.xtb
@@ -105,6 +105,7 @@ <translation id="1087965115100412394">Niet toestaan dat sites verbinding maken met MIDI-apparaten</translation> <translation id="1088654056000736875">Chrome verwijdert schadelijke software van je computer…</translation> <translation id="1088659085457112967">Lezermodus aanzetten</translation> +<translation id="1089407731410758060">Thema wijzigen</translation> <translation id="1090126737595388931">Geen actieve achtergrondapps</translation> <translation id="1090541560108055381">Voordat je de apparaten koppelt, check je of deze code gelijk is op beide apparaten</translation> <translation id="1091767800771861448">Druk op ESCAPE om over te slaan (alleen voor niet-officiële builds).</translation> @@ -922,6 +923,7 @@ <translation id="18260074040409954">Je kunt opgeslagen wachtwoorden op elk apparaat gebruiken. Ze worden opgeslagen in <ph name="GOOGLE_PASSWORD_MANAGER" /> voor <ph name="EMAIL" />.</translation> <translation id="1826192255355608658">De bookmarks, wachtwoorden, geschiedenis en meer van je Chrome-browser synchroniseren</translation> <translation id="1826516787628120939">Controleren</translation> +<translation id="1827504459960247692">Naam hotspot</translation> <translation id="1828378091493947763">Deze plug-in wordt niet ondersteund op dit apparaat</translation> <translation id="1828879788654007962">{COUNT,plural, =0{Alles &openen}=1{Bookmark &openen}other{Alles &openen ({COUNT})}}</translation> <translation id="1828901632669367785">Afdrukken met systeemdialoogvenster...</translation> @@ -1231,6 +1233,7 @@ <translation id="2101225219012730419">Versie:</translation> <translation id="2102396546234652240">Niet toestaan dat sites je microfoon gebruiken</translation> <translation id="2102495993840063010">Android-apps</translation> +<translation id="2104166991923847969">Hotspot automatisch uitzetten</translation> <translation id="2105809836724866556"><ph name="MODULE_TITLE" /> is verborgen</translation> <translation id="2108349519800154983">{COUNT,plural, =1{Telefoonnummer}other{# telefoonnummers}}</translation> <translation id="211144231511833662">Typen wissen</translation> @@ -1811,6 +1814,7 @@ <translation id="2616366145935564096">Je gegevens lezen en wijzigen op <ph name="WEBSITE_1" /></translation> <translation id="2618797463720777311">Dichtbij delen instellen</translation> <translation id="2620215283731032047"><ph name="FILE_NAME" /> kan niet beveiligd worden gedownload.</translation> +<translation id="2620245777360407679">Apparaten die momenteel zijn verbonden met een hotspot</translation> <translation id="2620436844016719705">Systeem</translation> <translation id="262154978979441594">Spraakmodel van de Google Assistent trainen</translation> <translation id="26224892172169984">Niet toestaan dat sites protocollen verwerken</translation> @@ -7123,6 +7127,7 @@ <translation id="7614260613810441905">Vragen wanneer een site bestanden of mappen op je apparaat wil bewerken (aanbevolen)</translation> <translation id="761530003705945209">Maak een back-up op Google Drive. Zet je gegevens eenvoudig terug of schakel wanneer je wilt tussen apparaten. De back-up bevat app-gegevens. Je back-ups worden geüpload naar Google en versleuteld met het wachtwoord van je Google-account.</translation> <translation id="7615365294369022248">Er is een fout opgetreden bij het toevoegen van een account</translation> +<translation id="7615807797520072741">Resetten naar de klassieke versie van Chrome</translation> <translation id="7616214729753637086">Apparaat registreren...</translation> <translation id="7617263010641145920">Play Store aanzetten</translation> <translation id="7617648809369507487">Stillere berichten gebruiken</translation> @@ -8429,6 +8434,7 @@ <translation id="8804999695258552249">{NUM_TABS,plural, =1{Tabblad verplaatsen naar ander venster}other{Tabbladen verplaatsen naar ander venster}}</translation> <translation id="8805140816472474147">Bevestig de synchronisatie-instellingen om de synchronisatie te starten.</translation> <translation id="8806680466228877631"><ph name="SHORTCUT" /> kan per ongeluk gesloten tabbladen opnieuw openen</translation> +<translation id="8807588541160250261">Als er geen apparaten zijn verbonden</translation> <translation id="8807632654848257479">Stabiel</translation> <translation id="8808478386290700967">Web Store</translation> <translation id="8808686172382650546">Kat</translation>
diff --git a/chrome/app/resources/generated_resources_pt-PT.xtb b/chrome/app/resources/generated_resources_pt-PT.xtb index 36e8fb84..f0151aa 100644 --- a/chrome/app/resources/generated_resources_pt-PT.xtb +++ b/chrome/app/resources/generated_resources_pt-PT.xtb
@@ -652,6 +652,7 @@ <translation id="1595492813686795610">O Linux está a ser atualizado</translation> <translation id="1596286373007273895">Disponível</translation> <translation id="1596709061955594992">O Bluetooth está desativado. Para ver os dispositivos disponíveis, ative o Bluetooth.</translation> +<translation id="1596780725094407793">– inclui subdomínios</translation> <translation id="1598233202702788831">As atualizações estão desativadas pelo seu gestor.</translation> <translation id="1600857548979126453">Aceder ao back-end do depurador da página</translation> <translation id="1601560923496285236">Aplicar</translation> @@ -2881,6 +2882,7 @@ <translation id="3617891479562106823">Os fundos não estão disponíveis. Tente mais tarde.</translation> <translation id="3619115746895587757">Cappuccino</translation> <translation id="3620136223548713675">Geolocalização</translation> +<translation id="362023940451053340">Na sua Conta Google, para <ph name="ACCOUNT" /></translation> <translation id="3621807901162200696">Ajudar a melhorar as funcionalidades e o desempenho do ChromeOS</translation> <translation id="362266093274784978">{COUNT,plural, =1{uma app}other{# apps}}</translation> <translation id="362333465072914957">A aguardar que a CA emita um certificado</translation> @@ -5618,6 +5620,7 @@ <translation id="6169967265765719844">Pode gerir as autorizações de jogos e apps instalados através do Steam nas <ph name="LINK_BEGIN" />definições da app Steam<ph name="LINK_END" />.</translation> <translation id="6170470584681422115">Sanduíche</translation> <translation id="6170498031581934115">Não foi possível ativar a depuração do adb. Aceda às Definições e tente novamente.</translation> +<translation id="6171779718418683144">Perguntar sempre</translation> <translation id="617213288191670920">Nenhum idioma adicionado</translation> <translation id="6173623053897475761">Introduza o PIN novamente</translation> <translation id="6175314957787328458">GUID de Domínio do Windows</translation> @@ -6746,6 +6749,7 @@ <translation id="7235737137505019098">A sua chave de segurança não tem espaço suficiente para mais contas.</translation> <translation id="7235873936132740888">Os sites podem processar tarefas especiais quando clicar em determinados tipos de links, como criar uma nova mensagem no cliente de email ou adicionar novos eventos ao calendário online.</translation> <translation id="7238609589076576185">Marca de destaque inserida.</translation> +<translation id="7238665222668706269">Gestor de Palavras-passe da Google <ph name="SEPARATOR" /> <ph name="ACCOUNT" /></translation> <translation id="7239108166256782787"><ph name="DEVICE_NAME" /> cancelou a transferência</translation> <translation id="7240339475467890413">Pretende ligar à nova zona Wi-Fi?</translation> <translation id="7241389281993241388">Inicie sessão no <ph name="TOKEN_NAME" /> para importar o certificado de cliente.</translation> @@ -7488,6 +7492,7 @@ <translation id="7920363873148656176"><ph name="ORIGIN" /> pode ver <ph name="FILENAME" /></translation> <translation id="7920482456679570420">Adicione palavras que pretende que a verificação ortográfica ignore.</translation> <translation id="7921347341284348270">Não pode ver as notificações do telemóvel nesta conta gerida. Tente novamente com uma conta diferente. <ph name="LINK_BEGIN" />Saiba mais<ph name="LINK_END" /></translation> +<translation id="7922606348470480702">1 extensão</translation> <translation id="7922935920104868876">Mostrar detalhes sobre como bloquear cookies de terceiros na Navegação anónima</translation> <translation id="7923564237306226146">Atualização do Linux concluída</translation> <translation id="7924358170328001543">Ocorreu um erro no encaminhamento de porta.</translation> @@ -7875,6 +7880,7 @@ <translation id="8263744495942430914"><ph name="FULLSCREEN_ORIGIN" /> desativou o cursor do rato.</translation> <translation id="8264024885325823677">Esta definição é gerida pelo seu administrador.</translation> <translation id="8264718194193514834">"<ph name="EXTENSION_NAME" />" ativou o ecrã inteiro.</translation> +<translation id="8265018477030547118">Apenas neste dispositivo</translation> <translation id="826511437356419340">Entrou no modo de vista geral de janelas. Deslize rapidamente para navegar ou prima Tab se estiver a utilizar um teclado.</translation> <translation id="8265671588726449108">{COUNT,plural, =1{Não é possível abrir a sua janela de navegação anónima após o reinício}other{Não é possível abrir as suas {COUNT} janelas de navegação anónima após o reinício}}</translation> <translation id="8266947622852630193">Todos os métodos de introdução</translation> @@ -8282,6 +8288,7 @@ <translation id="8655295600908251630">Canal</translation> <translation id="8655972064210167941">O início de sessão falhou porque não foi possível validar a sua palavra-passe. Contacte o gestor ou tente novamente.</translation> <translation id="8657393004602556571">Pretende rejeitar o feedback?</translation> +<translation id="8657762806752649049">Na sua Conta Google, para <ph name="ACCOUNT" /></translation> <translation id="8661290697478713397">Abrir Link numa Janela de Nave&gação Anónima</translation> <translation id="8662671328352114214">Ligar à rede <ph name="TYPE" /></translation> <translation id="8662733268723715832">Este processo está a demorar mais tempo do que o previsto. Pode ignorar ou aguardar que seja concluído.</translation>
diff --git a/chrome/app/resources/generated_resources_ru.xtb b/chrome/app/resources/generated_resources_ru.xtb index 2e86a11e..51c171b 100644 --- a/chrome/app/resources/generated_resources_ru.xtb +++ b/chrome/app/resources/generated_resources_ru.xtb
@@ -2488,6 +2488,7 @@ <translation id="325238099842880997">Задайте базовые правила, чтобы сбалансировать учебу, игры и отдых ребенка</translation> <translation id="3253448572569133955">Неизвестный аккаунт</translation> <translation id="3254084468305910013">{COUNT,plural, =0{Проблемы с безопасностью не обнаружены.}=1{Обнаружена {COUNT} проблема с безопасностью.}one{Обнаружена {COUNT} проблема с безопасностью.}few{Обнаружено {COUNT} проблемы с безопасностью.}many{Обнаружено {COUNT} проблем с безопасностью.}other{Обнаружено {COUNT} проблемы с безопасностью.}}</translation> +<translation id="3254451942070605467">Скачивание файла "<ph name="FILE_NAME" />" (осталось <ph name="PERCENT_REMAINING" /> %)</translation> <translation id="3254516606912442756">Автоматическое определение часовых поясов отключено</translation> <translation id="3254715652085014625">Откройте браузер Chrome на смартфоне, выберите "Настройки > Пароли > Использовать телефон в качестве электронного ключа" и следуйте инструкциям.</translation> <translation id="3255355328033513170">Все данные, сохраненные сайтами <ph name="SITE_GROUP_NAME" />, будут удалены (включая файлы cookie). При этом вы автоматически выйдете из аккаунтов на этих сайтах.</translation> @@ -3310,6 +3311,7 @@ <translation id="3987993985790029246">Копировать ссылку</translation> <translation id="3988996860813292272">Выбор часового пояса</translation> <translation id="399179161741278232">Выполнен импорт</translation> +<translation id="3992008114154328194">Скачивание файла "<ph name="FILE_NAME" />" (<ph name="STATUS" />)</translation> <translation id="3993887353483242788">Синхронизируйте устройство <ph name="DEVICE_TYPE" />. После этого приложения, настройки, пароли Wi-Fi, языки, обои, сочетания клавиш и другие параметры будут доступны на всех устройствах, на которых выполнен вход в аккаунт Google.</translation> <translation id="3994318741694670028">В настройках компьютера указан неверный аппаратный идентификатор устройства. Chrome OS Flex не сможет устанавливать обновления системы безопасности для защиты компьютера от <ph name="BEGIN_BOLD" />вредоносных атак<ph name="END_BOLD" />.</translation> <translation id="3994374631886003300">Разблокируйте телефон и поднесите его к устройству <ph name="DEVICE_TYPE" />.</translation>
diff --git a/chrome/app/resources/generated_resources_si.xtb b/chrome/app/resources/generated_resources_si.xtb index ce187d3..ee45a33 100644 --- a/chrome/app/resources/generated_resources_si.xtb +++ b/chrome/app/resources/generated_resources_si.xtb
@@ -2490,6 +2490,7 @@ <translation id="325238099842880997">නිවසේදී සෙල්ලම් කිරීමට, ගවේෂණය කිරීමට සහ පාසැල් වැඩ කිරීමට ළමයින්ට උපකාර කිරීම සඳහා ඩිජිටල් බිම් නීති සකස් කරන්න</translation> <translation id="3253448572569133955">නොදන්නා ගිණුම</translation> <translation id="3254084468305910013">{COUNT,plural, =0{ආරක්ෂක ගැටලු හමු නොවීය}=1{ආරක්ෂක ගැටලු {COUNT}ක් හමු විය}one{ආරක්ෂක ගැටලු {COUNT}ක් හමු විය}other{ආරක්ෂක ගැටලු {COUNT}ක් හමු විය}}</translation> +<translation id="3254451942070605467"><ph name="FILE_NAME" /> බාගනිමින්, <ph name="PERCENT_REMAINING" />% ඉතිරියි</translation> <translation id="3254516606912442756">ස්වයංක්රිය වේලා කලාපය හඳුනා ගැනීම අබලයි</translation> <translation id="3254715652085014625">ඔබගේ Android දුරකථනයේ Chrome විවෘත කර "සැකසීම් > මුරපද > ආරක්ෂක යතුරක් ලෙස දුරකථනය භාවිත කරන්න" වෙත ගොස් එහි ඇති උපදෙස් අනුගමනය කරන්න.</translation> <translation id="3255355328033513170"><ph name="SITE_GROUP_NAME" /> විසින් ගබඩා කරනු ලැබ ඇති සියලුම දත්ත සහ එහි යටතේ ඇති ඕනෑම වෙබ් අඩවියක් මකනු ලැබේ. මෙම කුකී ඇතුළු වෙති. ඔබ විවෘත පටිති ඇතුළුව මෙම වෙබ් අඩවිවලින් වරනු ලැබේ.</translation> @@ -3313,6 +3314,7 @@ <translation id="3987993985790029246">සබැඳිය පිටපත් කරන්න</translation> <translation id="3988996860813292272">වේලා කලාපය තෝරන්න</translation> <translation id="399179161741278232">ආයාත කෙරිණි</translation> +<translation id="3992008114154328194"><ph name="FILE_NAME" /> බාගනිමින්, <ph name="STATUS" /></translation> <translation id="3993887353483242788">ඔබගේ Google ගිණුම සමඟ පුරන විට ඔබගේ මනාප ඕනෑම උපාංගයක සුදානම් වන පරිදි ඔබගේ <ph name="DEVICE_TYPE" /> සමමුහුර්ත කරන්න. මනාපවලට යෙදුම්, සැකසීම්, Wi-Fi මුරපද, භාෂා, වෝල්පේපරය, යතුරුපුවරු කෙටි මං සහ තවත් දේ ඇතුළත් වේ.</translation> <translation id="3994318741694670028">අවාසනාවකට, ඔබගේ පරිගණකය විකෘති වූ දෘඪාංග ID එකක් සමගින් වින්යාස කර තිබේ. මෙය ChromeOS Flex නවතම ආරක්ෂක විසඳුම්වලින් යාවත්කාලීන වීම වළක්වන අතර ඔබගේ පරිගණකය <ph name="BEGIN_BOLD" />අනිෂ්ට ප්රහාරවලට ලක් වීමට ඉඩ තිබේ<ph name="END_BOLD" />.</translation> <translation id="3994374631886003300">ඔබේ දුරකථනය අගුලු හැර <ph name="DEVICE_TYPE" /> අගුලු හැරීමට එය සමීපයට ගෙන එන්න.</translation>
diff --git a/chrome/app/resources/generated_resources_sk.xtb b/chrome/app/resources/generated_resources_sk.xtb index a349801..2ca2c02 100644 --- a/chrome/app/resources/generated_resources_sk.xtb +++ b/chrome/app/resources/generated_resources_sk.xtb
@@ -2488,6 +2488,7 @@ <translation id="325238099842880997">Nastavte základné digitálne pravidlá, ktoré pomôžu deťom doma hrať, skúmať a robiť domáce úlohy</translation> <translation id="3253448572569133955">Neznámy účet</translation> <translation id="3254084468305910013">{COUNT,plural, =0{Neboli nájdené žiadne problémy so zabezpečením}=1{Bol nájdený {COUNT} problém so zabezpečením}few{Boli nájdené {COUNT} problémy so zabezpečením}many{Found {COUNT} security issues}other{Bolo nájdených {COUNT} problémov so zabezpečením}}</translation> +<translation id="3254451942070605467">Sťahuje sa <ph name="FILE_NAME" />, zostáva <ph name="PERCENT_REMAINING" /> %</translation> <translation id="3254516606912442756">Automatické zisťovanie časového pásma je deaktivované</translation> <translation id="3254715652085014625">Otvorte Chrome v telefóne s Androidom a prejdite do sekcie Nastavenia > Heslá > Používať telefón ako bezpečnostný kľúč. Potom postupujte podľa uvedených pokynov.</translation> <translation id="3255355328033513170">Všetky údaje uložené skupinou <ph name="SITE_GROUP_NAME" /> a všetkými webmi v nej budú odstránené. Zahŕňa to aj súbory cookie. Systém vás odhlási z týchto webov (aj otvorených kariet).</translation> @@ -3310,6 +3311,7 @@ <translation id="3987993985790029246">Kopírovať odkaz</translation> <translation id="3988996860813292272">Výber časového pásma</translation> <translation id="399179161741278232">Importované</translation> +<translation id="3992008114154328194">Sťahuje sa <ph name="FILE_NAME" />, <ph name="STATUS" /></translation> <translation id="3993887353483242788">Synchronizujte zariadenie <ph name="DEVICE_TYPE" />, aby ste mali svoje predvoľby k dispozícii vo všetkých zariadeniach, keď sa prihlásite do svojho účtu Google. Predvoľby zahŕňajú aplikácie, nastavenia, heslá Wi‑Fi, jazyky, tapetu, klávesové skratky a viac.</translation> <translation id="3994318741694670028">Váš počítač je žiaľ nakonfigurovaný pomocou poškodeného identifikátora hardvéru. Systému Chrome OS Flex to bráni aktualizovať sa pomocou najnovších opráv zabezpečenia a váš počítač <ph name="BEGIN_BOLD" />môže byť nedostatočne zabezpečený proti škodlivým útokom<ph name="END_BOLD" />.</translation> <translation id="3994374631886003300">Ak chcete odomknúť zariadenie <ph name="DEVICE_TYPE" />, odomknite svoj telefón a priblížte ho k nemu.</translation>
diff --git a/chrome/app/resources/generated_resources_sl.xtb b/chrome/app/resources/generated_resources_sl.xtb index 63d5eb35..58ec98d 100644 --- a/chrome/app/resources/generated_resources_sl.xtb +++ b/chrome/app/resources/generated_resources_sl.xtb
@@ -105,6 +105,7 @@ <translation id="1087965115100412394">Spletnim mestom ni dovoljeno povezovanje z napravami MIDI.</translation> <translation id="1088654056000736875">Chrome odstranjuje škodljivo programsko opremo iz računalnika …</translation> <translation id="1088659085457112967">Vklop načina bralnika</translation> +<translation id="1089407731410758060">Spremeni temo</translation> <translation id="1090126737595388931">Ni aktivnih programov v ozadju</translation> <translation id="1090541560108055381">Pred seznanjanjem poskrbite, da je v obeh napravah prikazana ista koda.</translation> <translation id="1091767800771861448">Pritisnite Esc, če želite preskočiti (samo neuradne delovne različice).</translation> @@ -936,6 +937,7 @@ <translation id="18260074040409954">Shranjena gesla lahko uporabljate v poljubni napravi. Shranijo se v storitev <ph name="GOOGLE_PASSWORD_MANAGER" /> za uporabnika <ph name="EMAIL" />.</translation> <translation id="1826192255355608658">Sinhroniziranje zaznamkov, gesel, zgodovine in drugega v Chromu</translation> <translation id="1826516787628120939">Preverjanje</translation> +<translation id="1827504459960247692">Ime dostopne točke</translation> <translation id="1828378091493947763">Ta vtičnik ni podprt v tej napravi</translation> <translation id="1828879788654007962">{COUNT,plural, =0{&Odpri vse}=1{&Odpri zaznamek}one{&Odpri vse ({COUNT})}two{&Odpri vse ({COUNT})}few{&Odpri vse ({COUNT})}other{&Odpri vse ({COUNT})}}</translation> <translation id="1828901632669367785">Tiskanje v sistemskem pogovornem oknu ...</translation> @@ -1246,6 +1248,7 @@ <translation id="2101225219012730419">Različica:</translation> <translation id="2102396546234652240">Spletnim mestom ni dovoljena uporaba mikrofona.</translation> <translation id="2102495993840063010">Aplikacije za Android</translation> +<translation id="2104166991923847969">Samodejni izklop dostopne točke</translation> <translation id="2105809836724866556">Modul <ph name="MODULE_TITLE" /> je skrit.</translation> <translation id="2108349519800154983">{COUNT,plural, =1{Telefonska številka}one{# telefonska številka}two{# telefonski številki}few{# telefonske številke}other{# telefonskih številk}}</translation> <translation id="211144231511833662">Počisti vrste</translation> @@ -1829,6 +1832,7 @@ <translation id="2616366145935564096">Branje in spreminjanje vaših podatkov na spletnem mestu <ph name="WEBSITE_1" /></translation> <translation id="2618797463720777311">Nastavitev funkcije Deljenje v bližini</translation> <translation id="2620215283731032047">Datoteke <ph name="FILE_NAME" /> ni mogoče varno prenesti.</translation> +<translation id="2620245777360407679">Naprave, ki so trenutno povezane z dostopno točko</translation> <translation id="2620436844016719705">Sistem</translation> <translation id="262154978979441594">Usposabljanje glasovnega modela za Pomočnika Google</translation> <translation id="26224892172169984">Ne dovoli nobenemu spletnemu mestu obravnave protokolov</translation> @@ -2504,6 +2508,7 @@ <translation id="325238099842880997">Nastavite digitalna pravila, s pomočjo katerih se bodo otroci lahko igrali, bodo lahko raziskovali in doma opravili šolske obveznosti.</translation> <translation id="3253448572569133955">Neznan račun</translation> <translation id="3254084468305910013">{COUNT,plural, =0{Najdene ni bilo nobene varnostne težave}=1{Najdena je bila {COUNT} varnostna težava}one{Najdena je bila {COUNT} varnostna težava}two{Najdeni sta bili {COUNT} varnostni težavi}few{Najdene so bile {COUNT} varnostne težave}other{Najdenih je bilo {COUNT} varnostnih težav}}</translation> +<translation id="3254451942070605467">Prenašanje datoteke <ph name="FILE_NAME" />, še <ph name="PERCENT_REMAINING" /> %</translation> <translation id="3254516606912442756">Samodejno zaznavanje časovnega pasu je onemogočeno</translation> <translation id="3254715652085014625">Odprite Chrome v telefonu Android, pojdite v meni »Nastavitve > Gesla > Uporaba telefona kot varnostnega ključa« in upoštevajte navodila, ki so navedena tam.</translation> <translation id="3255355328033513170">Izbrisani bodo vsi podatki, ki jih shrani skupina <ph name="SITE_GROUP_NAME" /> in vsa spletna mesta v njej. To vključuje piškotke. Odjavljeni boste s teh spletnih mest, vključno s tistimi na odprtih zavihkih.</translation> @@ -3326,6 +3331,7 @@ <translation id="3987993985790029246">Kopiranje povezave</translation> <translation id="3988996860813292272">Izbira časovnega pasu</translation> <translation id="399179161741278232">Uvoženo</translation> +<translation id="3992008114154328194">Prenašanje datoteke <ph name="FILE_NAME" />, <ph name="STATUS" /></translation> <translation id="3993887353483242788">Sinhronizirajte napravo <ph name="DEVICE_TYPE" />, da bodo nastavitve pripravljene v kateri koli napravi, ko se prijavite z računom Google. Nastavitve vključujejo aplikacije, nastavitve, gesla za Wi-Fi, jezike, zaslonska ozadja, bližnjične tipke in drugo.</translation> <translation id="3994318741694670028">Vaš računalnik je konfiguriran s popačenim ID-jem strojne opreme. Zaradi tega ChromeOS Flex ne more namestiti najnovejših varnostnih popravkov in vaš računalnik <ph name="BEGIN_BOLD" />je lahko še bolj izpostavljen zlonamernim napadom<ph name="END_BOLD" />.</translation> <translation id="3994374631886003300">Odklenite telefon in ga približajte napravi <ph name="DEVICE_TYPE" />, če jo želite odkleniti.</translation> @@ -7155,6 +7161,7 @@ <translation id="7614260613810441905">Vprašaj, ko želi spletno mesto urediti datoteke ali mape v vaši napravi (priporočeno)</translation> <translation id="761530003705945209">Varnostno kopiranje v Google Drive. Kadar koli lahko preprosto obnovite podatke v napravi ali zamenjate napravo z drugo. Varnostne kopije vključujejo podatke aplikacij. Varnostne kopije so naložene v Google in šifrirane z geslom za račun Google.</translation> <translation id="7615365294369022248">Pri dodajanju računa je prišlo do napake</translation> +<translation id="7615807797520072741">Ponastavitev na klasični Chrome</translation> <translation id="7616214729753637086">Včlanjevanje naprave ...</translation> <translation id="7617263010641145920">Vklop Trgovine Play</translation> <translation id="7617648809369507487">Uporabite tišje sporočanje</translation> @@ -8465,6 +8472,7 @@ <translation id="8804999695258552249">{NUM_TABS,plural, =1{Premakni zavihek v drugo okno}one{Premakni zavihke v drugo okno}two{Premakni zavihke v drugo okno}few{Premakni zavihke v drugo okno}other{Premakni zavihke v drugo okno}}</translation> <translation id="8805140816472474147">Potrdite nastavitve sinhronizacije, če želite začeti sinhronizacijo.</translation> <translation id="8806680466228877631"><ph name="SHORTCUT" /> lahko odpre pomotoma zaprte zavihke</translation> +<translation id="8807588541160250261">Kadar ni povezana nobena naprava</translation> <translation id="8807632654848257479">Stabilna</translation> <translation id="8808478386290700967">Spletna trgovina</translation> <translation id="8808686172382650546">Mačka</translation>
diff --git a/chrome/app/resources/generated_resources_sv.xtb b/chrome/app/resources/generated_resources_sv.xtb index dae49eeb7..c6d17734 100644 --- a/chrome/app/resources/generated_resources_sv.xtb +++ b/chrome/app/resources/generated_resources_sv.xtb
@@ -105,6 +105,7 @@ <translation id="1087965115100412394">Tillåt inte att webbplatser ansluter till MIDI-enheter</translation> <translation id="1088654056000736875">Chrome tar bort skadlig programvara från datorn …</translation> <translation id="1088659085457112967">Aktivera läsarläge</translation> +<translation id="1089407731410758060">Byt tema</translation> <translation id="1090126737595388931">Inga bakgrundsprogram körs</translation> <translation id="1090541560108055381">Kontrollera att samma kod visas på båda enheterna innan du parkopplar</translation> <translation id="1091767800771861448">Tryck på Esc om du vill hoppa över (endast versioner som inte är officiella).</translation> @@ -933,6 +934,7 @@ <translation id="18260074040409954">Du kan använda sparade lösenord på vilken enhet som helst. De sparas i <ph name="GOOGLE_PASSWORD_MANAGER" /> för <ph name="EMAIL" />.</translation> <translation id="1826192255355608658">Synkronisera bokmärken, lösenord, historik med mera i webbläsaren Chrome</translation> <translation id="1826516787628120939">Kontrollerar</translation> +<translation id="1827504459960247692">Namn på surfzon</translation> <translation id="1828378091493947763">Enheten har inte stöd för det här pluginprogrammet</translation> <translation id="1828879788654007962">{COUNT,plural, =0{&Öppna alla}=1{&Öppna bokmärke}other{&Öppna alla ({COUNT})}}</translation> <translation id="1828901632669367785">Skriv ut via systemets dialogruta ...</translation> @@ -1243,6 +1245,7 @@ <translation id="2101225219012730419">Version:</translation> <translation id="2102396546234652240">Tillåt inte att webbplatser använder mikrofonen</translation> <translation id="2102495993840063010">Android-appar</translation> +<translation id="2104166991923847969">Inaktivera surfzon automatiskt</translation> <translation id="2105809836724866556"><ph name="MODULE_TITLE" /> har dolts</translation> <translation id="2108349519800154983">{COUNT,plural, =1{Telefonnummer}other{# telefonnummer}}</translation> <translation id="211144231511833662">Rensa typer</translation> @@ -1826,6 +1829,7 @@ <translation id="2616366145935564096">Läs och ändra dina uppgifter på <ph name="WEBSITE_1" /></translation> <translation id="2618797463720777311">Konfigurera Närdelning</translation> <translation id="2620215283731032047">Det går inte att ladda ned <ph name="FILE_NAME" /> på ett säkert sätt.</translation> +<translation id="2620245777360407679">Enheter som för närvarande är anslutna till surfzonen</translation> <translation id="2620436844016719705">System</translation> <translation id="262154978979441594">Träna Google-assistentens röstmodell</translation> <translation id="26224892172169984">Tillåt inte att någon webbplats hanterar protokoll</translation> @@ -2501,6 +2505,7 @@ <translation id="325238099842880997">Skapa digitala regler för hur barnen får spela, utforska och göra skolarbetet hemifrån</translation> <translation id="3253448572569133955">Okänt konto</translation> <translation id="3254084468305910013">{COUNT,plural, =0{Inga säkerhetsproblem hittades}=1{{COUNT} säkerhetsproblem hittades}other{{COUNT} säkerhetsproblem hittades}}</translation> +<translation id="3254451942070605467">Laddar ned <ph name="FILE_NAME" />, <ph name="PERCENT_REMAINING" /> % återstår</translation> <translation id="3254516606912442756">Funktionen för att automatiskt identifiera tidzon är inaktiverad</translation> <translation id="3254715652085014625">Öppna Chrome på Android-telefonen, tryck på Inställningar > Lösenord > Använd telefonen som säkerhetsnyckel och följ anvisningarna som visas.</translation> <translation id="3255355328033513170">All data som lagrats av <ph name="SITE_GROUP_NAME" /> och webbplatser under den raderas. Även cookies raderas. Du loggas ut från webbplatserna i fråga, även på öppna flikar.</translation> @@ -3323,6 +3328,7 @@ <translation id="3987993985790029246">Kopiera länk</translation> <translation id="3988996860813292272">Välj tidszon</translation> <translation id="399179161741278232">Importerade</translation> +<translation id="3992008114154328194">Laddar ned <ph name="FILE_NAME" />, <ph name="STATUS" /></translation> <translation id="3993887353483242788">Synkronisera <ph name="DEVICE_TYPE" /> så att inställningarna kan användas på alla enheter där du är inloggad på Google-kontot. Detta gäller bland annat appar, inställningar, wifi-lösenord, språk, bakgrund och kortkommandon.</translation> <translation id="3994318741694670028">Tyvärr är din dator konfigurerad med ett felaktigt maskinvaru-id. Detta förhindrar att ChromeOS Flex uppdateras med de senaste säkerhetskorrigeringarna och datorn <ph name="BEGIN_BOLD" />kan vara sårbar för angrepp<ph name="END_BOLD" />.</translation> <translation id="3994374631886003300">Lås upp mobilen och håll den närmare din <ph name="DEVICE_TYPE" />.</translation> @@ -7144,6 +7150,7 @@ <translation id="7614260613810441905">Fråga när en webbplats vill kunna redigera filer eller mappar på enheten (rekommenderas)</translation> <translation id="761530003705945209">Säkerhetskopiera på Google Drive. Återställ data eller byt enkelt enhet när du vill. Säkerhetskopian innehåller appdata. Säkerhetskopiorna krypteras med hjälp av Google-kontots lösenord och laddas upp på Google.</translation> <translation id="7615365294369022248">Ett fel uppstod när kontot skulle läggas till</translation> +<translation id="7615807797520072741">Återställ till klassiska Chrome</translation> <translation id="7616214729753637086">Enheten registreras …</translation> <translation id="7617263010641145920">Aktivera Play Butik</translation> <translation id="7617648809369507487">Få mer diskreta meddelanden</translation> @@ -8451,6 +8458,7 @@ <translation id="8804999695258552249">{NUM_TABS,plural, =1{Flytta fliken till ett annat fönster}other{Flytta flikarna till ett annat fönster}}</translation> <translation id="8805140816472474147">Bekräfta synkroniseringsinställningarna för att börja synkronisera.</translation> <translation id="8806680466228877631">Flikar som stängts av misstag kan öppnas på nytt med <ph name="SHORTCUT" /></translation> +<translation id="8807588541160250261">När inga enheter är anslutna</translation> <translation id="8807632654848257479">Stabil</translation> <translation id="8808478386290700967">Web Store</translation> <translation id="8808686172382650546">Katt</translation>
diff --git a/chrome/app/resources/generated_resources_ta.xtb b/chrome/app/resources/generated_resources_ta.xtb index 23e9431e5..4235937 100644 --- a/chrome/app/resources/generated_resources_ta.xtb +++ b/chrome/app/resources/generated_resources_ta.xtb
@@ -2501,6 +2501,7 @@ <translation id="325238099842880997">பிள்ளை விளையாடவும், தகவல்களைக் கண்டறியவும், வீட்டில் வீட்டுப்பாடங்களைச் செய்யவும் உதவக்கூடிய அடிப்படை டிஜிட்டல் விதிகளை அமைக்கலாம்</translation> <translation id="3253448572569133955">அறியப்படாத கணக்கு</translation> <translation id="3254084468305910013">{COUNT,plural, =0{பாதுகாப்புச் சிக்கல்கள் எதுவும் இல்லை}=1{{COUNT} பாதுகாப்புச் சிக்கல் உள்ளது}other{{COUNT} பாதுகாப்புச் சிக்கல்கள் உள்ளன}}</translation> +<translation id="3254451942070605467"><ph name="FILE_NAME" /> ஐப் பதிவிறக்குகிறது <ph name="PERCENT_REMAINING" />% மீதமுள்ளது</translation> <translation id="3254516606912442756">தானியங்கு நேர மண்டலத்தைக் கண்டறிதல் முடக்கப்பட்டது</translation> <translation id="3254715652085014625">உங்கள் Android மொபைலில் Chrome உலாவியைத் திறந்து "அமைப்புகள் > கடவுச்சொற்கள் > மொபைலைப் பாதுகாப்பு விசையாகப் பயன்படுத்து" என்பதற்குச் சென்று அங்கே காட்டப்படும் வழிமுறைகளைப் பின்பற்றவும்.</translation> <translation id="3255355328033513170"><ph name="SITE_GROUP_NAME" /> மற்றும் அதன் கீழுள்ள தளங்களால் சேமிக்கப்பட்ட தரவு அனைத்தும் நீக்கப்படும். இதில் குக்கீகளும் அடங்கும். திறந்துள்ள தாவல்களில் உள்ளவை உட்பட, இந்தத் தளங்களிலிருந்து வெளியேற்றப்படுவீர்கள்.</translation> @@ -3323,6 +3324,7 @@ <translation id="3987993985790029246">இணைப்பை நகலெடு</translation> <translation id="3988996860813292272">நேரமண்டலத்தைத் தேர்ந்தெடுக்கவும்</translation> <translation id="399179161741278232">இறக்குமதியானது</translation> +<translation id="3992008114154328194"><ph name="FILE_NAME" /> ஐப் பதிவிறக்குகிறது <ph name="STATUS" /></translation> <translation id="3993887353483242788"><ph name="DEVICE_TYPE" /> ஐ ஒத்திசைப்பதால் உங்கள் Google கணக்கின் மூலம் உள்நுழையும் எந்தவொரு சாதனத்திலும் உங்கள் விருப்பத்தேர்வுகள் தயாராக இருக்கும். ஆப்ஸ், வைஃபை கடவுச்சொற்கள், மொழிகள், வால்பேப்பர், கீபோர்டு ஷார்ட்கட்கள் மற்றும் பலவும் விருப்பத்தேர்வுகளில் அடங்கும்.</translation> <translation id="3994318741694670028">எதிர்பாராதவிதமாக, உங்கள் கம்ப்யூட்டர் ஒரு தவறான வன்பொருள் ஐடியுடன் உள்ளமைக்கப்பட்டுள்ளது. இது சமீபத்திய பாதுகாப்புத் திருத்தங்களுடன் ChromeOS Flex புதுப்பிக்கப்படுவதைத் தடுக்கும், மேலும் உங்கள் கம்ப்யூட்டர் <ph name="BEGIN_BOLD" />தீங்கிழைக்கும் தாக்குதல்களின் மூலம் பாதிக்கப்படக்கூடும்<ph name="END_BOLD" />.</translation> <translation id="3994374631886003300"><ph name="DEVICE_TYPE" />ஐ அன்லாக் செய்ய, உங்கள் மொபைலை அன்லாக் செய்து, சாதனத்திற்கு அருகில் எடுத்து வரவும்.</translation>
diff --git a/chrome/app/resources/generated_resources_uk.xtb b/chrome/app/resources/generated_resources_uk.xtb index c95f55bd..edf469b 100644 --- a/chrome/app/resources/generated_resources_uk.xtb +++ b/chrome/app/resources/generated_resources_uk.xtb
@@ -2508,6 +2508,7 @@ <translation id="325238099842880997">Визначте правила користування цифровим контентом, щоб вибрати для дитини час гратися, переглядати сайти й виконувати домашні завдання</translation> <translation id="3253448572569133955">Невідомий обліковий запис</translation> <translation id="3254084468305910013">{COUNT,plural, =0{Проблем системи безпеки не виявлено}=1{Виявлено {COUNT} проблему системи безпеки}one{Виявлено {COUNT} проблему системи безпеки}few{Виявлено {COUNT} проблеми системи безпеки}many{Виявлено {COUNT} проблем системи безпеки}other{Виявлено {COUNT} проблеми системи безпеки}}</translation> +<translation id="3254451942070605467">Завантажується файл "<ph name="FILE_NAME" />". Залишилося <ph name="PERCENT_REMAINING" />%.</translation> <translation id="3254516606912442756">Автоматичне визначення часового поясу вимкнено</translation> <translation id="3254715652085014625">Відкрийте Chrome на телефоні Android, перейдіть у "Налаштування" > "Паролі" > "Використовувати телефон як ключ безпеки" та дотримуйтеся вказівок.</translation> <translation id="3255355328033513170">Усі дані, збережені сайтом <ph name="SITE_GROUP_NAME" /> і сайтами його групи, буде видалено. Це також стосується файлів cookie. Ви вийдете з облікового запису на цих сайтах, зокрема у відкритих вкладках.</translation> @@ -3330,6 +3331,7 @@ <translation id="3987993985790029246">Копіювати</translation> <translation id="3988996860813292272">Вибір часового поясу</translation> <translation id="399179161741278232">Імпортовано</translation> +<translation id="3992008114154328194">Завантажується файл "<ph name="FILE_NAME" />". <ph name="STATUS" />.</translation> <translation id="3993887353483242788">Синхронізуйте свій <ph name="DEVICE_TYPE" />, щоб параметри (такі як додатки, налаштування, паролі Wi-Fi, мови, комбінації клавіш тощо) починали діяти на будь-якому пристрої, коли ви ввійдете в обліковий запис Google.</translation> <translation id="3994318741694670028">На жаль, ваш комп’ютер налаштовано за допомогою ідентифікатора апаратного забезпечення з неправильною структурою. Через це в ОС Chrome Flex не вдається встановити найновіші виправлення системи безпеки, а тому ваш комп’ютер <ph name="BEGIN_BOLD" />може бути вразливим до атак<ph name="END_BOLD" />.</translation> <translation id="3994374631886003300">Щоб розблокувати пристрій <ph name="DEVICE_TYPE" />, розблокуйте свій телефон і розташуйте його ближче до пристрою.</translation> @@ -5154,7 +5156,7 @@ <translation id="5739017626473506901">Увійдіть, і тоді <ph name="USER_NAME" /> зможе додати обліковий запис закладу освіти</translation> <translation id="5739235828260127894">Очікується підтвердження. <ph name="LINK_BEGIN" />Докладніше<ph name="LINK_END" /></translation> <translation id="5739458112391494395">Дуже великий</translation> -<translation id="5740328398383587084">Передавання поблизу</translation> +<translation id="5740328398383587084">Обмін поблизу</translation> <translation id="5740709157181662145">Технічна підтримка апаратного забезпечення та стабільність роботи <ph name="DEVICE_OS" /></translation> <translation id="574104302965107104">Дзеркалювання дисплея</translation> <translation id="574209121243317957">Тон</translation>
diff --git a/chrome/app/resources/generated_resources_ur.xtb b/chrome/app/resources/generated_resources_ur.xtb index 20df443..c2558bd4e 100644 --- a/chrome/app/resources/generated_resources_ur.xtb +++ b/chrome/app/resources/generated_resources_ur.xtb
@@ -2492,6 +2492,7 @@ <translation id="325238099842880997">بچوں کو گھر میں کھیلنے، دریافت کرنے اور اسکول کا کام کرنے میں مدد کے لئے ڈیجیٹل گراؤنڈ رولز سیٹ کریں</translation> <translation id="3253448572569133955">نامعلوم اکاؤنٹ</translation> <translation id="3254084468305910013">{COUNT,plural, =0{سیکیورٹی کا کوئی مسئلہ نہیں ملا}=1{سیکیورٹی کا {COUNT} مسئلہ ملا}other{سیکیورٹی کے {COUNT} مسائل ملے}}</translation> +<translation id="3254451942070605467">ڈاؤن لوڈ جاری ہے <ph name="FILE_NAME" />، <ph name="PERCENT_REMAINING" /> فیصد باقی ہے</translation> <translation id="3254516606912442756">خودکار ٹائم زون کا پتا لگانا غیر فعال ہے</translation> <translation id="3254715652085014625">اپنے Android فون پر Chrome کو کھولیں اور "ترتیبات > پاس ورڈز > فون کو بطور سیکیورٹی کلید استعمال کریں" پر جائیں، اور وہاں ہدایات کی پیروی کریں۔</translation> <translation id="3255355328033513170"><ph name="SITE_GROUP_NAME" /> کا اسٹور کردہ تمام ڈیٹا اور اس کے ماتحت کسی بھی سائٹ کو حذف کر دیا جائے گا۔ اس میں کوکیز شامل ہیں۔ اوپن ٹیبز سمیت، آپ ان سائٹس سے سائن آؤٹ ہو جائیں گے۔</translation> @@ -3314,6 +3315,7 @@ <translation id="3987993985790029246">لنک کاپی کریں</translation> <translation id="3988996860813292272">ٹائم زون منتخب کریں</translation> <translation id="399179161741278232">درآمد کردہ</translation> +<translation id="3992008114154328194">ڈاؤن لوڈ جاری ہے <ph name="FILE_NAME" />، <ph name="STATUS" /></translation> <translation id="3993887353483242788">اپنے <ph name="DEVICE_TYPE" /> کو مطابقت پذیر بنائیں تاکہ جب آپ اپنے Google اکاؤنٹ سے سائن ان کریں تو آپ کی ترجیحات کسی بھی آلہ پر تیار ہوں گی۔ ترجیحات میں ایپس، ترتیبات، Wi-Fi پاس ورڈز، زبانیں، وال پیپر، کی بورڈ شارٹ کٹس وغیرہ شامل ہیں۔</translation> <translation id="3994318741694670028">بدقسمتی سے، آپ کا کمپیوٹر خراب ہارڈ ویئر ID کے ساتھ کنفیگر کیا ہوا ہے۔ یہ ChromeOS Flex کو تازہ ترین سیکیورٹی اصلاحات کے ساتھ اپ ڈیٹ ہونے سے روکتا ہے اور آپ کے کمپیوٹر کو <ph name="BEGIN_BOLD" />نقصان دہ حملوں سے خطرہ ہو سکتا ہے<ph name="END_BOLD" />۔</translation> <translation id="3994374631886003300">اپنا فون غیر مقفل کریں اور اپنا <ph name="DEVICE_TYPE" /> غیر مقفل کرنے کیلئے اسے قریب کریں۔</translation>
diff --git a/chrome/app/resources/generated_resources_zu.xtb b/chrome/app/resources/generated_resources_zu.xtb index 1dc05f1..cc1fb17 100644 --- a/chrome/app/resources/generated_resources_zu.xtb +++ b/chrome/app/resources/generated_resources_zu.xtb
@@ -105,6 +105,7 @@ <translation id="1087965115100412394">Ungavumeli amasayithi ukuba axhume kumadivayisi we-MIDI</translation> <translation id="1088654056000736875">I-Chrome isusa isofthiwe eyingozi kukhompuyutha yakho...</translation> <translation id="1088659085457112967">Ngena Kumodi Yesifundi</translation> +<translation id="1089407731410758060">Shintsha Itimu</translation> <translation id="1090126737595388931">Azikho izinhlelo zokusebenza ezingemuva ezisebenzayo</translation> <translation id="1090541560108055381">Ngaphambi kokubhanqa, qiniseka ukuthi le khodi iyafana kuwo womabili amadivayisi</translation> <translation id="1091767800771861448">Cindezela ku-ESCAPE ukuze weqe (Ukwakhiwa okungekho emthethweni kuphela).</translation> @@ -932,6 +933,7 @@ <translation id="18260074040409954">Ungasebenzisa amaphasiwedi alondoloziwe kunoma iyiphi idivayisi. Zilondolozelwe i<ph name="EMAIL" /> ku-<ph name="GOOGLE_PASSWORD_MANAGER" />.</translation> <translation id="1826192255355608658">Vumelanisa amabhukhimakhi we-browser yakho ye-Chrome, amaphasiwedi, umlando, nokuningi</translation> <translation id="1826516787628120939">Iyahlola</translation> +<translation id="1827504459960247692">Igama le-Hotspot</translation> <translation id="1828378091493947763">Le plugin alisekelwa kule divayisi</translation> <translation id="1828879788654007962">{COUNT,plural, =0{&Vula Konke}=1{&Vula Ibhukhimakhi}one{&Vula Konke ({COUNT})}other{&Vula Konke ({COUNT})}}</translation> <translation id="1828901632669367785">Phrinta usebenzisa ingxoxo yesistimu...</translation> @@ -1243,6 +1245,7 @@ <translation id="2101225219012730419">Inguqulo:</translation> <translation id="2102396546234652240">Ungavumeli amasayithi asebenzise imakrofoni yakho</translation> <translation id="2102495993840063010">Izinhlelo zokusebenza ze-Android</translation> +<translation id="2104166991923847969">Vala ama-hotspot ngokuzenzakalela</translation> <translation id="2105809836724866556"><ph name="MODULE_TITLE" /> okufihliwe</translation> <translation id="2108349519800154983">{COUNT,plural, =1{Inombolo yefoni}one{Izinombolo zefoni ezingu-#}other{Izinombolo zefoni ezingu-#}}</translation> <translation id="211144231511833662">Sula Izinhlobo</translation> @@ -1827,6 +1830,7 @@ <translation id="2616366145935564096">Funda futhi ushintshe idatha yakho ku-<ph name="WEBSITE_1" /></translation> <translation id="2618797463720777311">Sesha Ukuthumela Eduze</translation> <translation id="2620215283731032047"><ph name="FILE_NAME" />ayikwazi ukulandwa ngokuvikelekile.</translation> +<translation id="2620245777360407679">Amadivayisi okwamanje axhunywe ku-hotspot</translation> <translation id="2620436844016719705">Isistimu</translation> <translation id="262154978979441594">Qeqesha Umsizi we-Google ngemodeli yezwi</translation> <translation id="26224892172169984">Ungavumeli noma yiliphi isayithi ukuthi liphathe amaphrothokholi</translation> @@ -7151,6 +7155,7 @@ <translation id="7614260613810441905">Buza uma isayithi lifuna ukuhlela amafayela noma amafolda kudivayisi yakho (kuyancomeka)</translation> <translation id="761530003705945209">Yenza isipele ku-Google Drayivu. Buyisa kalula idatha yakho noma shintsha idivayisi noma kunini. Isipele sakho sihlanganisa nedatha yohlelo lokusebenza. Iziphele zakho zilayishiwe ku-Google futhi zibetheliwe kusetshenziswa iphasiwedi yakho ye-Akhawunti ye-Google.</translation> <translation id="7615365294369022248">Kube nephutha lokungeza i-akhawunti</translation> +<translation id="7615807797520072741">Setha kabusha ku-Chrome Yakudala</translation> <translation id="7616214729753637086">Kubhaliswa idivayisi...</translation> <translation id="7617263010641145920">Vula i-Google Play Store</translation> <translation id="7617648809369507487">Sebenzisa ukulayeza okuthulile</translation> @@ -8457,6 +8462,7 @@ <translation id="8804999695258552249">{NUM_TABS,plural, =1{Hambisa Ithebhu Kwelinye Iwindi}one{Hambisa Amathebhu Kwelinye Iwindi}other{Hambisa Amathebhu Kwelinye Iwindi}}</translation> <translation id="8805140816472474147">Qinisekisa izilungiselelo zokuvumelanisa ukuze uqale ukuvumelanisa.</translation> <translation id="8806680466228877631">I-<ph name="SHORTCUT" /> ingaphinda ivule ngephutha amathebhu avaliwe</translation> +<translation id="8807588541160250261">Lapho engekho amadivayisi axhunyiwe</translation> <translation id="8807632654848257479">Izinzile</translation> <translation id="8808478386290700967">Isitolo sewebhu</translation> <translation id="8808686172382650546">Ikati</translation>
diff --git a/chrome/browser/ash/file_manager/file_manager_browsertest.cc b/chrome/browser/ash/file_manager/file_manager_browsertest.cc index 731bedb..3659222 100644 --- a/chrome/browser/ash/file_manager/file_manager_browsertest.cc +++ b/chrome/browser/ash/file_manager/file_manager_browsertest.cc
@@ -8,7 +8,6 @@ #include "ash/constants/ash_switches.h" #include "ash/public/cpp/keyboard/keyboard_switches.h" #include "base/files/file_path.h" -#include "base/functional/bind.h" #include "base/run_loop.h" #include "base/strings/utf_string_conversions.h" #include "base/test/metrics/histogram_tester.h" @@ -32,7 +31,6 @@ #include "chrome/common/chrome_features.h" #include "chrome/common/pref_names.h" #include "chromeos/dbus/dlp/dlp_client.h" -#include "chromeos/dbus/dlp/dlp_service.pb.h" #include "components/policy/core/common/cloud/mock_cloud_policy_client.h" #include "components/prefs/pref_service.h" #include "components/session_manager/core/session_manager.h" @@ -306,12 +304,6 @@ StartTest(); } -// DLP source URLs -constexpr char kBlockedSourceUrl[] = "https://blocked.com"; -constexpr char kWarnSourceUrl[] = "https://warned.com"; -constexpr char kNotSetSourceUrl[] = "https://not-set.com"; -constexpr char kNotBlockedSourceUrl[] = "https://allowed.com"; - // A version of FilesAppBrowserTest that supports DLP files restrictions. class DlpFilesAppBrowserTest : public FilesAppBrowserTest { public: @@ -346,41 +338,10 @@ base::Unretained(this))); } - absl::optional<ino64_t> GetInodeValue(const base::FilePath& path) { - struct stat file_stats; - if (stat(path.value().c_str(), &file_stats) != 0) { - return absl::nullopt; - } - return file_stats.st_ino; - } - // TODO(b/261163959): Optimize DLP messages. bool HandleDlpCommands(const std::string& name, const base::Value::Dict& value, std::string* output) override { - if (name == "setGetFilesSourcesMock") { - base::FilePath result = - file_manager::util::GetDownloadsFolderForProfile(profile()); - const base::Value::List* file_names = value.FindList("fileNames"); - auto* source_urls = value.FindList("sourceUrls"); - EXPECT_TRUE(file_names); - EXPECT_TRUE(source_urls); - EXPECT_EQ(file_names->size(), source_urls->size()); - - ::dlp::GetFilesSourcesResponse response; - for (unsigned long i = 0; i < file_names->size(); i++) { - auto* metadata = response.add_files_metadata(); - auto inode = GetInodeValue(result.Append((*file_names)[i].GetString())); - EXPECT_TRUE(inode.has_value()); - metadata->set_inode(inode.value()); - metadata->set_source_url((*source_urls)[i].GetString()); - } - - chromeos::DlpClient::Get()->GetTestInterface()->SetGetFilesSourceMock( - base::BindRepeating(&DlpFilesAppBrowserTest::GetFilesSourcesMock, - base::Unretained(this), response)); - return true; - } if (name == "setBlockedFilesTransfer") { base::FilePath result = file_manager::util::GetDownloadsFolderForProfile(profile()); @@ -398,20 +359,9 @@ return true; } if (name == "setIsRestrictedDestinationRestriction") { - EXPECT_CALL( - *mock_rules_manager_, - IsRestrictedDestination(GURL(kBlockedSourceUrl), testing::_, - policy::DlpRulesManager::Restriction::kFiles, - testing::_, testing::_)) + EXPECT_CALL(*mock_rules_manager_, IsRestrictedDestination) .WillRepeatedly( - testing::Return(policy::DlpRulesManager::Level::kBlock)); - EXPECT_CALL( - *mock_rules_manager_, - IsRestrictedDestination(GURL(kNotBlockedSourceUrl), testing::_, - policy::DlpRulesManager::Restriction::kFiles, - testing::_, testing::_)) - .WillRepeatedly( - ::testing::Return(policy::DlpRulesManager::Level::kAllow)); + ::testing::Return(policy::DlpRulesManager::Level::kBlock)); return true; } if (name == "setBlockedArc") { @@ -431,33 +381,12 @@ return true; } if (name == "setIsRestrictedByAnyRuleRestrictions") { - EXPECT_CALL(*mock_rules_manager_, - IsRestrictedByAnyRule( - GURL(kNotBlockedSourceUrl), - policy::DlpRulesManager::Restriction::kFiles, testing::_)) + EXPECT_CALL(*mock_rules_manager_, IsRestrictedByAnyRule) + .WillOnce(::testing::Return(policy::DlpRulesManager::Level::kWarn)) + .WillOnce(::testing::Return(policy::DlpRulesManager::Level::kAllow)) + .WillOnce(::testing::Return(policy::DlpRulesManager::Level::kNotSet)) .WillRepeatedly( - testing::Return(policy::DlpRulesManager::Level::kAllow)); - - EXPECT_CALL(*mock_rules_manager_, - IsRestrictedByAnyRule( - GURL(kBlockedSourceUrl), - policy::DlpRulesManager::Restriction::kFiles, testing::_)) - .WillRepeatedly( - testing::Return(policy::DlpRulesManager::Level::kBlock)); - - EXPECT_CALL(*mock_rules_manager_, - IsRestrictedByAnyRule( - GURL(kNotSetSourceUrl), - policy::DlpRulesManager::Restriction::kFiles, testing::_)) - .WillRepeatedly( - testing::Return(policy::DlpRulesManager::Level::kNotSet)); - - EXPECT_CALL(*mock_rules_manager_, - IsRestrictedByAnyRule( - GURL(kWarnSourceUrl), - policy::DlpRulesManager::Restriction::kFiles, testing::_)) - .WillRepeatedly( - testing::Return(policy::DlpRulesManager::Level::kWarn)); + ::testing::Return(policy::DlpRulesManager::Level::kBlock)); return true; } if (name == "setIsRestrictedByAnyRuleBlocked") { @@ -469,15 +398,6 @@ return false; } - // Invokes `callback` with the previosly constructed `response`. Note that the - // result doesn't depend on the value of `request`. - void GetFilesSourcesMock( - const dlp::GetFilesSourcesResponse response, - const dlp::GetFilesSourcesRequest request, - chromeos::DlpClient::GetFilesSourcesCallback callback) { - std::move(callback).Run(response); - } - // MockDlpRulesManager is owned by KeyedService and is guaranteed to outlive // this class. policy::MockDlpRulesManager* mock_rules_manager_ = nullptr; @@ -486,6 +406,8 @@ }; IN_PROC_BROWSER_TEST_P(DlpFilesAppBrowserTest, Test) { + chromeos::DlpClient::Get()->GetTestInterface()->SetFakeSource("example1.com"); + ASSERT_TRUE(policy::DlpRulesManagerFactory::GetForPrimaryProfile()); ON_CALL(*mock_rules_manager_, IsRestricted) .WillByDefault(::testing::Return(policy::DlpRulesManager::Level::kAllow));
diff --git a/chrome/browser/ash/input_method/component_extension_ime_manager_delegate_impl.cc b/chrome/browser/ash/input_method/component_extension_ime_manager_delegate_impl.cc index 04950a6..2962242 100644 --- a/chrome/browser/ash/input_method/component_extension_ime_manager_delegate_impl.cc +++ b/chrome/browser/ash/input_method/component_extension_ime_manager_delegate_impl.cc
@@ -441,7 +441,7 @@ if (engine.engine_id == kHindiInscriptEngineId && !base::FeatureList::IsEnabled(features::kHindiInscriptLayout) && !g_browser_process->local_state()->GetBoolean( - prefs::kHindiInscriptLayoutEnabled)) { + prefs::kDeviceHindiInscriptLayoutEnabled)) { continue; }
diff --git a/chrome/browser/ash/input_method/input_method_syncer.cc b/chrome/browser/ash/input_method/input_method_syncer.cc index 4aa8f61..c872703 100644 --- a/chrome/browser/ash/input_method/input_method_syncer.cc +++ b/chrome/browser/ash/input_method/input_method_syncer.cc
@@ -287,8 +287,7 @@ void InputMethodSyncer::OnPreferenceChanged(const std::string& pref_name) { DCHECK(pref_name == language::prefs::kPreferredLanguages || pref_name == prefs::kLanguagePreloadEngines || - pref_name == prefs::kLanguageEnabledImes || - pref_name == prefs::kHindiInscriptLayoutEnabled); + pref_name == prefs::kLanguageEnabledImes); if (merging_ || prefs_->GetBoolean(prefs::kLanguageShouldMergeInputMethods)) return;
diff --git a/chrome/browser/ash/policy/core/device_policy_decoder.cc b/chrome/browser/ash/policy/core/device_policy_decoder.cc index 89ced73..63e2f0c 100644 --- a/chrome/browser/ash/policy/core/device_policy_decoder.cc +++ b/chrome/browser/ash/policy/core/device_policy_decoder.cc
@@ -1436,6 +1436,17 @@ } } + if (policy.has_device_hindi_inscript_layout_enabled()) { + const em::DeviceHindiInscriptLayoutEnabledProto& container( + policy.device_hindi_inscript_layout_enabled()); + if (container.has_enabled()) { + policies->Set(key::kDeviceHindiInscriptLayoutEnabled, + POLICY_LEVEL_MANDATORY, POLICY_SCOPE_MACHINE, + POLICY_SOURCE_CLOUD, base::Value(container.enabled()), + nullptr); + } + } + if (policy.has_allow_redeem_offers()) { const em::AllowRedeemChromeOsRegistrationOffersProto& container( policy.allow_redeem_offers());
diff --git a/chrome/browser/ash/policy/core/device_policy_decoder_unittest.cc b/chrome/browser/ash/policy/core/device_policy_decoder_unittest.cc index 86af49d..5ab9e23 100644 --- a/chrome/browser/ash/policy/core/device_policy_decoder_unittest.cc +++ b/chrome/browser/ash/policy/core/device_policy_decoder_unittest.cc
@@ -446,4 +446,19 @@ std::move(device_report_xdr_events_value)); } +TEST_F(DevicePolicyDecoderTest, DeviceHindiInscriptLayoutEnabled) { + em::ChromeDeviceSettingsProto device_policy; + + DecodeUnsetDevicePolicyTestHelper(device_policy, + key::kDeviceHindiInscriptLayoutEnabled); + + base::Value device_hindi_inscript_layout_enabled_value(true); + device_policy.mutable_device_hindi_inscript_layout_enabled()->set_enabled( + device_hindi_inscript_layout_enabled_value.GetBool()); + + DecodeDevicePolicyTestHelper( + device_policy, key::kDeviceHindiInscriptLayoutEnabled, + std::move(device_hindi_inscript_layout_enabled_value)); +} + } // namespace policy
diff --git a/chrome/browser/ash/policy/dlp/dlp_files_controller.cc b/chrome/browser/ash/policy/dlp/dlp_files_controller.cc index 82cf141..6cb0b6c 100644 --- a/chrome/browser/ash/policy/dlp/dlp_files_controller.cc +++ b/chrome/browser/ash/policy/dlp/dlp_files_controller.cc
@@ -85,9 +85,8 @@ absl::optional<ino64_t> GetInodeValue(const base::FilePath& path) { struct stat file_stats; - if (stat(path.value().c_str(), &file_stats) != 0) { + if (stat(path.value().c_str(), &file_stats) != 0) return absl::nullopt; - } return file_stats.st_ino; }
diff --git a/chrome/browser/ash/preferences.cc b/chrome/browser/ash/preferences.cc index 83e5eadb..0adcab78 100644 --- a/chrome/browser/ash/preferences.cc +++ b/chrome/browser/ash/preferences.cc
@@ -159,6 +159,8 @@ registry->RegisterBooleanPref(prefs::kLoginScreenWebUILazyLoading, false); registry->RegisterBooleanPref(::prefs::kConsumerAutoUpdateToggle, true); registry->RegisterBooleanPref(::prefs::kHindiInscriptLayoutEnabled, false); + registry->RegisterBooleanPref(::prefs::kDeviceHindiInscriptLayoutEnabled, + false); RegisterLocalStatePrefs(registry); ash::consolidated_consent_field_trial::RegisterLocalStatePrefs(registry);
diff --git a/chrome/browser/policy/configuration_policy_handler_list_factory.cc b/chrome/browser/policy/configuration_policy_handler_list_factory.cc index 13c705b..b403c692 100644 --- a/chrome/browser/policy/configuration_policy_handler_list_factory.cc +++ b/chrome/browser/policy/configuration_policy_handler_list_factory.cc
@@ -1118,6 +1118,9 @@ { key::kHindiInscriptLayoutEnabled, prefs::kHindiInscriptLayoutEnabled, base::Value::Type::BOOLEAN }, + { key::kDeviceHindiInscriptLayoutEnabled, + prefs::kDeviceHindiInscriptLayoutEnabled, + base::Value::Type::BOOLEAN }, { key::kNetworkFileSharesAllowed, prefs::kNetworkFileSharesAllowed, base::Value::Type::BOOLEAN },
diff --git a/chrome/build/linux.pgo.txt b/chrome/build/linux.pgo.txt index ad88620..53ef282d 100644 --- a/chrome/build/linux.pgo.txt +++ b/chrome/build/linux.pgo.txt
@@ -1 +1 @@ -chrome-linux-main-1671882168-4d67db810d859523477e34eb99a372d02ccb92b2.profdata +chrome-linux-main-1672011826-633bbcd3ec7b82c31942a04cef588ceb4feca985.profdata
diff --git a/chrome/build/mac-arm.pgo.txt b/chrome/build/mac-arm.pgo.txt index 179ea1ad..756bcfb0 100644 --- a/chrome/build/mac-arm.pgo.txt +++ b/chrome/build/mac-arm.pgo.txt
@@ -1 +1 @@ -chrome-mac-arm-main-1671857854-7b1f18c699c19099bd4bd12689a0f7e5d8db410c.profdata +chrome-mac-arm-main-1672011826-eecf803a15cfc0b564e5bac7d4bd0de8aef52902.profdata
diff --git a/chrome/build/mac.pgo.txt b/chrome/build/mac.pgo.txt index 970bebc..65c71dd 100644 --- a/chrome/build/mac.pgo.txt +++ b/chrome/build/mac.pgo.txt
@@ -1 +1 @@ -chrome-mac-main-1671882168-3dcf61e45d7581038b83634e5834f62fd7e779bc.profdata +chrome-mac-main-1672011826-743ea2a130965f801535ad80a243e8dc576d3611.profdata
diff --git a/chrome/build/win32.pgo.txt b/chrome/build/win32.pgo.txt index 6f9e2248..1c17dc0c 100644 --- a/chrome/build/win32.pgo.txt +++ b/chrome/build/win32.pgo.txt
@@ -1 +1 @@ -chrome-win32-main-1671872093-408416eab4e3c35ffbdb7f713fdd1c55b04aacc9.profdata +chrome-win32-main-1672011826-e4d56a98571ef6655bab3ea2f3811cbc9e371105.profdata
diff --git a/chrome/build/win64.pgo.txt b/chrome/build/win64.pgo.txt index d4821f07..01f5f2f9 100644 --- a/chrome/build/win64.pgo.txt +++ b/chrome/build/win64.pgo.txt
@@ -1 +1 @@ -chrome-win64-main-1671872093-ef8775a2f4f223e28aa3bd499c5509ac78c289b3.profdata +chrome-win64-main-1672011826-b7cc7d09c3c3267eac49aa622fee25db871688d3.profdata
diff --git a/chrome/common/pref_names.cc b/chrome/common/pref_names.cc index e91570bb..f91b0fb 100644 --- a/chrome/common/pref_names.cc +++ b/chrome/common/pref_names.cc
@@ -3647,9 +3647,15 @@ const char kConsumerAutoUpdateToggle[] = "settings.consumer_auto_update_toggle"; // A boolean pref that controls whether or not Hindi Inscript keyboard layout -// is available. Set with the corresponding enterprise policy. +// is available. +// This is set by a user policy, but the user policy does not work to +// control the availability of the Hindi Inscript layout. +// TODO(jungshik): Deprecate it. const char kHindiInscriptLayoutEnabled[] = "settings.input.hindi_inscript_layout_enabled"; +// This is set by a device policy and does actually work. +const char kDeviceHindiInscriptLayoutEnabled[] = + "settings.input.device_hindi_inscript_layout_enabled"; #endif #if !BUILDFLAG(IS_ANDROID)
diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h index 8230cef..b00c4b82 100644 --- a/chrome/common/pref_names.h +++ b/chrome/common/pref_names.h
@@ -1287,6 +1287,7 @@ #if BUILDFLAG(IS_CHROMEOS_ASH) extern const char kConsumerAutoUpdateToggle[]; extern const char kHindiInscriptLayoutEnabled[]; +extern const char kDeviceHindiInscriptLayoutEnabled[]; #endif #if !BUILDFLAG(IS_ANDROID)
diff --git a/chrome/test/data/policy/policy_test_cases.json b/chrome/test/data/policy/policy_test_cases.json index 6cef4650..867a9c1 100644 --- a/chrome/test/data/policy/policy_test_cases.json +++ b/chrome/test/data/policy/policy_test_cases.json
@@ -21125,6 +21125,7 @@ }, "HindiInscriptLayoutEnabled": { "os": ["chromeos_ash"], + "note": "A user policy. Replaced by DeviceHindiInscriptLayoutEnabled (device policy) and to be deprecated", "policy_pref_mapping_tests": [ { "policies": {}, @@ -21672,5 +21673,42 @@ }, "AppStoreRatingEnabled" : { "reason_for_missing_test": "Maps into an iOS-specific pref" + }, + "DeviceHindiInscriptLayoutEnabled": { + "os": ["chromeos_ash"], + "note": "A device policy replacing HindiInscriptLayoutEnabled (a user policy)", + "policy_pref_mapping_tests": [ + { + "policies": {}, + "prefs": { + "settings.input.device_hindi_inscript_layout_enabled": { + "location": "local_state", + "default_value": false + } + } + }, + { + "policies": { + "DeviceHindiInscriptLayoutEnabled": false + }, + "prefs": { + "settings.input.device_hindi_inscript_layout_enabled": { + "location": "local_state", + "value": false + } + } + }, + { + "policies": { + "DeviceHindiInscriptLayoutEnabled": true + }, + "prefs": { + "settings.input.device_hindi_inscript_layout_enabled": { + "location": "local_state", + "value": true + } + } + } + ] } }
diff --git a/chromeos/CHROMEOS_LKGM b/chromeos/CHROMEOS_LKGM index 369e060..ffe359a 100644 --- a/chromeos/CHROMEOS_LKGM +++ b/chromeos/CHROMEOS_LKGM
@@ -1 +1 @@ -15290.0.0 \ No newline at end of file +15291.0.0 \ No newline at end of file
diff --git a/components/certificate_transparency/data/log_list.json b/components/certificate_transparency/data/log_list.json index 2157bd3..3729511 100644 --- a/components/certificate_transparency/data/log_list.json +++ b/components/certificate_transparency/data/log_list.json
@@ -1,6 +1,6 @@ { - "version": "17.23", - "log_list_timestamp": "2022-12-24T12:54:38Z", + "version": "17.24", + "log_list_timestamp": "2022-12-25T12:54:46Z", "operators": [ { "name": "Google",
diff --git a/components/commerce/core/proto/price_tracking.proto b/components/commerce/core/proto/price_tracking.proto index b1f2674..9bc442f9 100644 --- a/components/commerce/core/proto/price_tracking.proto +++ b/components/commerce/core/proto/price_tracking.proto
@@ -67,3 +67,16 @@ // Price in micros. optional int64 amount_micros = 2; } + +// TODO(crbug.com/1403169) Remove PriceDropNotificationPayload +// from chrome/browser/commerce/price_tracking/proto/notifications.proto +// and migrate usages of PriceDropNotificationPayload from chrome/browser +// to here in components. +message PriceDropNotificationPayload { + optional string product_name = 1; + optional uint64 offer_id = 2; + optional string destination_url = 3; + optional ProductPrice current_price = 4; + optional ProductPrice previous_price = 5; + optional uint64 product_cluster_id = 6; +}
diff --git a/components/optimization_guide/core/model_util.cc b/components/optimization_guide/core/model_util.cc index a5845717..77416d15 100644 --- a/components/optimization_guide/core/model_util.cc +++ b/components/optimization_guide/core/model_util.cc
@@ -89,6 +89,8 @@ return "ClientSidePhishing"; case proto::OPTIMIZATION_TARGET_OMNIBOX_URL_SCORING: return "OmniboxUrlScoring"; + case proto::OPTIMIZATION_TARGET_SEGMENTATION_ADAPTIVE_TOOLBAR: + return "SegmentationAdaptiveToolbar"; // Whenever a new value is added, make sure to add it to the OptTarget // variant list in // //tools/metrics/histograms/metadata/optimization/histograms.xml.
diff --git a/components/optimization_guide/proto/models.proto b/components/optimization_guide/proto/models.proto index 13e506e..4cd32dd 100644 --- a/components/optimization_guide/proto/models.proto +++ b/components/optimization_guide/proto/models.proto
@@ -177,6 +177,8 @@ OPTIMIZATION_TARGET_CLIENT_SIDE_PHISHING = 25; // Target for Omnibox URL suggestion scoring. OPTIMIZATION_TARGET_OMNIBOX_URL_SCORING = 26; + // Target for segmentation: Adaptive toolbar button. + OPTIMIZATION_TARGET_SEGMENTATION_ADAPTIVE_TOOLBAR = 28; } // The model engine versions that can be used to do model inference.
diff --git a/components/paint_preview/renderer/paint_preview_recorder_utils_unittest.cc b/components/paint_preview/renderer/paint_preview_recorder_utils_unittest.cc index fe98946..e610651 100644 --- a/components/paint_preview/renderer/paint_preview_recorder_utils_unittest.cc +++ b/components/paint_preview/renderer/paint_preview_recorder_utils_unittest.cc
@@ -124,8 +124,8 @@ outer_canvas->drawPicture(AddLink(link_4, rect_4)); outer_canvas->restore(); - outer_canvas->saveLayer(&rect_1, nullptr); - outer_canvas->saveLayerAlpha(&rect_1, 8); + outer_canvas->saveLayer(rect_1, cc::PaintFlags()); + outer_canvas->saveLayerAlpha(8); outer_canvas->restoreToCount(1); auto record = outer_recorder.finishRecordingAsPicture();
diff --git a/components/policy/proto/chrome_device_policy.proto b/components/policy/proto/chrome_device_policy.proto index 1609c1f9..f6ce5bae 100644 --- a/components/policy/proto/chrome_device_policy.proto +++ b/components/policy/proto/chrome_device_policy.proto
@@ -113,6 +113,11 @@ optional string device_hostname_template = 1; } +message DeviceHindiInscriptLayoutEnabledProto { + // Determines if Hindi Inscript Layout is available + optional bool enabled = 1 [default = false]; +} + message HostnameUserConfigurableProto { // Determines if user is allowed to configure the device hostname optional bool device_hostname_user_configurable = 1 [default = false]; @@ -1906,4 +1911,6 @@ optional StringPolicyProto device_printing_client_name_template = 137; optional DeviceReportXDREventsProto device_report_xdr_events = 138; optional KeyboardBacklightColorProto keyboard_backlight_color = 139; + optional DeviceHindiInscriptLayoutEnabledProto + device_hindi_inscript_layout_enabled = 140; }
diff --git a/components/policy/resources/policy_templates_fr.xtb b/components/policy/resources/policy_templates_fr.xtb index fca9fd4..082873e2 100644 --- a/components/policy/resources/policy_templates_fr.xtb +++ b/components/policy/resources/policy_templates_fr.xtb
@@ -33,6 +33,7 @@ Actuellement, les langues compatibles sont les suivantes : af, bg, ca, cs, da, de, el, en-AU, en-CA, en-GB, en-US, es, es-419, es-AR, es-ES, es-MX, es-US, et, fa, fo, fr, he, hi, hr, hu, id, it, ko, lt, lv, nb, nl, pl, pt-BR, pt-PT, ro, ru, sh, sk, sl, sq, sr, sv, ta, tg, tr, uk et vi.</translation> <translation id="1019101089073227242">Définir le répertoire de données utilisateur</translation> <translation id="1020006815010587263">La corbeille est désactivée pour l'utilisateur.</translation> +<translation id="1021462144002396313">Règles <ph name="PRIVACY_SANDBOX_NAME" /></translation> <translation id="1022361784792428773">Identifiants d'extension que l'utilisateur ne doit pas être autorisé à installer (ou * pour tous)</translation> <translation id="102492767056134033">Définir l'état par défaut du clavier à l'écran sur l'écran de connexion</translation> <translation id="102658870205613876">Paramètres des pop-up</translation> @@ -159,6 +160,7 @@ La configuration de la règle <ph name="CHROME_OS_RELEASE_CHANNEL_POLICY_NAME" /> n'est effective que si la règle <ph name="CHROME_OS_RELEASE_CHANNEL_DELEGATED_POLICY_NAME" /> est définie sur "False".</translation> <translation id="1147732569915511430">Hachage SHA-256 de l'image de l'avatar.</translation> <translation id="1148415065145333943">Désactiver le mode avancé de recharge de la batterie</translation> +<translation id="1150742937785306405">Autorisez les utilisateurs à activer ou à désactiver le paramètre des annonces suggérées par le site de <ph name="PRIVACY_SANDBOX_NAME" /> sur leur appareil.</translation> <translation id="1151353063931113432">Autoriser les images sur ces sites</translation> <translation id="1151987132434751822">Méthodes d'authentification pour lesquelles les identifiants spécifiés dans la règle peuvent être appliqués. La méthode employée peut être l'une des trois suivantes : * basic @@ -188,6 +190,7 @@ <translation id="1160479894929412407">Autoriser le protocole QUIC</translation> <translation id="1160939557934457296">Désactiver l'accès au site lors de l'affichage de la page d'avertissement par le service de navigation sécurisée</translation> <translation id="1163080558183062209">Permet de désactiver les types d'imprimantes figurant sur la liste deny</translation> +<translation id="1163389598183927209">Groupe de règles liées à <ph name="PRIVACY_SANDBOX_NAME" />. Pour en savoir plus sur l'abandon des cookies tiers par <ph name="PRODUCT_NAME" />, consultez la page <ph name="PRIVACY_SANDBOX_URL" />.</translation> <translation id="1165923723751466821">Autoriser les connexions au navigateur en mode Invité et au profil</translation> <translation id="117059611145966538">Serveurs d'impression externes</translation> <translation id="117080706484659953">Autorisez la détection du champ d'application des règles sur <ph name="MAC_OS_NAME" /></translation> @@ -576,6 +579,7 @@ Si cette règle n'est pas définie, la valeur globale par défaut est utilisée pour tous les sites (aucun accès automatique).</translation> <translation id="1530812829012954197">Toujours rendre les formats d'URL suivants dans le navigateur hôte</translation> +<translation id="1542491165152947087">Autorisez les utilisateurs à activer ou désactiver le paramètre des thèmes publicitaires de <ph name="PRIVACY_SANDBOX_NAME" /> sur leur appareil.</translation> <translation id="1552418937045050762">Si ce paramètre est activé, les utilisateurs sont autorisés à activer le Partage à proximité, qui leur permet d'envoyer des fichiers aux personnes à proximité et inversement, de recevoir des fichiers de ces personnes. Si ce paramètre est désactivé, les utilisateurs ne sont pas autorisés à activer le Partage à proximité. @@ -1253,6 +1257,12 @@ Si la règle est définie sur "true" ou n'est pas définie, l'utilisateur pourra se servir de l'interface de ligne de commande de gestion des machines virtuelles. Dans le cas contraire, l'interface de ligne de commande de gestion des machines virtuelles sera entièrement désactivée et masquée. </translation> +<translation id="2194051055390000601">Règle permettant de décider si le paramètre des thèmes publicitaires de <ph name="PRIVACY_SANDBOX_NAME" /> peut être désactivé pour vos utilisateurs. + +Si cette règle est désactivée, il sera désactivé pour vos utilisateurs. +Si elle est activée ou qu'elle n'est pas configurée, les utilisateurs pourront activer ou désactiver le paramètre des thèmes publicitaires <ph name="PRIVACY_SANDBOX_NAME" /> sur leur appareil. + +Si vous définissez cette règle, vous devez désactiver la règle <ph name="PRIVACY_SANDBOX_PROMPT_ENABLED_POLICY_NAME" />.</translation> <translation id="2195032660890227692">Cette règle a été supprimée dans <ph name="PRODUCT_NAME" /> 68 et remplacée par <ph name="ARC_BR_POLICY_NAME" />.</translation> <translation id="2197625019569762163">Définissez cette règle sur "True" pour afficher le clavier numérique par défaut lors de la saisie du mot de passe sur l'écran de connexion. Les utilisateurs pourront toujours revenir au clavier normal. @@ -1788,6 +1798,7 @@ Pour en savoir plus sur les formats d'URL de site valides, veuillez consulter https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. Les caractères génériques (<ph name="WILDCARD_VALUE" />) sont autorisés. Cette règle ne tient compte que de l'origine. Ainsi, tout chemin d'accès dans le format d'URL est ignoré. Si cette règle n'est pas définie pour un site, alors la règle <ph name="DEFAULT_LOCAL_FONTS_SETTING_POLICY_NAME" /> s'applique au site (si elle est définie). Sinon, les paramètres par défaut du navigateur s'appliquent, et les utilisateurs peuvent définir l'autorisation pour chaque site.</translation> +<translation id="2727844239611930002">Autorisez <ph name="PRODUCT_NAME" /> à déterminer si l'invite <ph name="PRIVACY_SANDBOX_NAME" /> doit s'afficher ou non.</translation> <translation id="2730200383593984228">Autoriser les utilisateurs non affiliés à utiliser des applis Android</translation> <translation id="2730419309754848345">Imprimer le document PDF en tant qu'image par défaut</translation> <translation id="2731299561202635374">Cette règle permet de gérer la détection en temps réel des URL dangereuses. @@ -3529,6 +3540,7 @@ Si la valeur est définie sur "False" ou si elle n'est pas définie, le fournisseur de contenu n'envoie aucune information.</translation> <translation id="435395045087992163">Ne pas verrouiller l'appareil quand il est arrêté provisoirement ou que l'écran est rabattu</translation> +<translation id="4354792057099570728">Désactivez le paramètre de mesure des performances des annonces de <ph name="PRIVACY_SANDBOX_NAME" /> pour vos utilisateurs.</translation> <translation id="4357587374229381015">Indique un nom de paramètre d'URL qui sera utilisé sur la page de connexion de l'IdP SAML pour renseigner automatiquement le champ du nom d'utilisateur. L'adresse e-mail de l'utilisateur associée au profil <ph name="PRODUCT_OS_NAME" /> sera utilisée comme valeur du paramètre d'URL. Ce paramètre doit donc être désactivé si les utilisateurs doivent utiliser des adresses e-mail différentes avec l'IdP SAML. @@ -3619,6 +3631,7 @@ Bien que la règle elle-même soit compatible avec les plates-formes citées, la fonctionnalité qu'elle active peut n'être disponible que sur un nombre plus restreint de plates-formes. Les fonctionnalités abandonnées de la plate-forme en ligne ne peuvent pas toutes être réactivées. Seules celles qui sont énumérées ci-dessous peuvent l'être pendant une durée limitée, qui varie selon la fonctionnalité. Le format général de la balise de chaîne est [FonctionnalitéAbandonnée]_EffectiveUntil[aaaammjj]. Pour information, vous pouvez découvrir les raisons pour lesquelles des motivations ont été apportées aux fonctionnalités des plates-formes en ligne en consultant la page https://bit.ly/blinkintents. </translation> <translation id="4443711908766051441">Activer le jeu Easter Egg du dinosaure</translation> +<translation id="4445728642576791607">Autorisez les utilisateurs à activer ou à désactiver le paramètre de mesure des performances des annonces de <ph name="PRIVACY_SANDBOX_NAME" /> sur leur appareil.</translation> <translation id="4447668084338250480">Comportement de redirection vers un intranet</translation> <translation id="4449469846627734399">Définir la configuration quotidienne de l'alimentation alternée en heures pleines</translation> <translation id="4449545651113180484">Faire pivoter l'écran vers la droite de 270 degrés</translation> @@ -3655,6 +3668,7 @@ <translation id="4483649828988077221">Désactiver les mises à jour automatiques</translation> <translation id="4484515651939984695">Définir la durée d'affichage (en secondes) d'un appareil Cast sélectionné via un code d'accès ou un code QR dans la liste des appareils Cast du menu <ph name="PRODUCT_NAME" />.</translation> <translation id="4485425108474077672">Configurer l'URL de la page "Nouvel onglet"</translation> +<translation id="4491607814095953976">Choisissez si le paramètre de mesure des performances des annonces de <ph name="PRIVACY_SANDBOX_NAME" /> peut être désactivé</translation> <translation id="4492287494009043413">Désactiver les captures d'écran</translation> <translation id="4494132853995232608">Dispositif DTC de Wilco</translation> <translation id="449423975179525290">Configurer les règles liées à <ph name="PLUGIN_VM_NAME" />.</translation> @@ -4566,6 +4580,7 @@ Si vous définissez cette règle, les utilisateurs ne peuvent pas la modifier ni l'ignorer. Si la règle n'est pas définie, l'utilisateur peut choisir l'image de l'avatar qui le représente dans l'écran de connexion.</translation> +<translation id="5428716437928918274">Contrôles des paramètres de Privacy Sandbox</translation> <translation id="5431392643649571773">Lorsque cette règle est activée, la fonctionnalité <ph name="PRODUCT_NAME" /> permet d'utiliser le cache amélioré. Si l'utilisateur change de page, celle qui est quittée peut être conservée en l'état (arborescence de documents, script, etc.) dans le cache amélioré. Par exemple, si l'utilisateur retourne sur cette page, celle-ci peut ainsi être restaurée à partir de ce cache et affichée telle qu'elle était avant sa mise en cache. Toutefois, cette fonctionnalité peut entraîner des dysfonctionnements pour certains sites Web qui ne s'attendent pas à ce que leurs pages soient mises en cache, en particulier ceux qui reposent sur le déclenchement de l'événement "<ph name="UNLOAD_HANDLER_NAME" />" en cas de changement de page. L'événement "<ph name="UNLOAD_HANDLER_NAME" />" ne se déclenche pas si la page concernée est stockée dans le cache amélioré. @@ -6632,6 +6647,7 @@ </translation> <translation id="7459601923199346224">Configure les règles au niveau de l'utilisateur et de l'appareil dans le cadre de la gestion des certificats.</translation> <translation id="7459633275230216698">Autoriser l'affichage de boîtes de dialogue de sélection de fichiers</translation> +<translation id="7462256705280836453">Choisissez si le paramètre des annonces suggérées par le site de <ph name="PRIVACY_SANDBOX_NAME" /> peut être désactivé</translation> <translation id="7463055558720530430">Autoriser les utilisateurs à mémoriser les mots de passe Kerberos</translation> <translation id="7464058117970792805">Activer l'aperçu avant impression</translation> <translation id="7464991223784276288">Limiter les cookies des URL correspondantes à la session en cours</translation> @@ -6839,6 +6855,12 @@ Si cette règle est désactivée, chaque fois que l'utilisateur effectue une action qui devrait entraîner l'ouverture d'une boîte de dialogue de sélection de fichiers (par exemple, pour enregistrer des liens, ou importer des favoris ou des fichiers), un message s'affiche à la place. L'utilisateur est supposé avoir cliqué sur "Annuler" dans la boîte de dialogue de sélection de fichiers.</translation> <translation id="7638300388094655454">Google Cast</translation> <translation id="7638764766629234761">Autoriser l'utilisation des notifications système</translation> +<translation id="7643151458117317518">Règle permettant de décider si le paramètre de mesure des performances des annonces de <ph name="PRIVACY_SANDBOX_NAME" /> peut être désactivé pour vos utilisateurs. + +Si cette règle est désactivée, il sera désactivé pour vos utilisateurs. +Si elle est activée ou qu'elle n'est pas configurée, vos utilisateurs pourront activer ou désactiver le paramètre de mesure des performances des annonces de <ph name="PRIVACY_SANDBOX_NAME" /> sur leur appareil. + +Si vous définissez cette règle, vous devez désactiver la règle <ph name="PRIVACY_SANDBOX_PROMPT_ENABLED_POLICY_NAME" />.</translation> <translation id="7643883929273267746">Limiter les comptes visibles dans <ph name="PRODUCT_NAME" /></translation> <translation id="7648664871086956188">Cette règle est une option générale pour toutes les règles définies dans la règle DataLeakPreventionRulesList. Si cette règle est définie sur "True", le reporting en temps réel des événements de prévention des fuites de données sera activée. @@ -7444,6 +7466,16 @@ Il est inutile de configurer manuellement ces paramètres. Vous pouvez télécharger des modèles faciles à utiliser pour Windows, Mac et Linux sur <ph name="POLICY_TEMPLATE_DOWNLOAD_URL" />. Il est conseillé de configurer les règles sur Windows via GPO, même si la gestion des règles via le registre reste possible pour les instances de Windows associées à un domaine <ph name="MS_AD_NAME" />.</translation> +<translation id="8261008508574620157">Règle permettant de contrôler si l'invite <ph name="PRIVACY_SANDBOX_NAME" /> est présentée à vos utilisateurs. +L'invite est un flux qui bloque l'utilisateur pour l'informer des paramètres <ph name="PRIVACY_SANDBOX_NAME" />. Pour en savoir plus sur l'abandon des cookies tiers par Chrome, consultez la page <ph name="PRIVACY_SANDBOX_URL" />. + +Si cette règle est désactivée, <ph name="PRODUCT_NAME" /> n'affiche pas l'invite <ph name="PRIVACY_SANDBOX_NAME" />. +Si elle est activée ou qu'elle n'est pas configurée, <ph name="PRODUCT_NAME" /> détermine si l'invite <ph name="PRIVACY_SANDBOX_NAME" /> peut être affichée ou non, et l'affiche si possible. + +Si l'une des règles suivantes est définie, cette règle doit être désactivée : +<ph name="PRIVACY_SANDBOX_AD_TOPICS_ENABLED_POLICY_NAME" /> +<ph name="PRIVACY_SANDBOX_SITE_ENABLED_ADS_ENABLED_POLICY_NAME" /> +<ph name="PRIVACY_SANDBOX_AD_MEASUREMENT_ENABLED_POLICY_NAME" /></translation> <translation id="8266778278542911985">Si cette règle est définie sur "3", les sites Web peuvent demander à accéder aux ports série. Si elle est définie sur "2", l'accès aux ports série est refusé. Si cette règle n'est pas configurée, les sites Web peuvent demander l'accès. Toutefois, les utilisateurs peuvent modifier ce paramètre.</translation> @@ -7472,6 +7504,7 @@ Si cette règle n'est pas configurée, le facteur de scaling par défaut est utilisé. Remarque : Le facteur de scaling doit être de 100 % ou plus.</translation> +<translation id="8284621384813278750">Choisissez si le paramètre des thèmes publicitaires de <ph name="PRIVACY_SANDBOX_NAME" /> peut être désactivé</translation> <translation id="8285435910062771358">Loupe plein écran activée</translation> <translation id="828566872219880247">Permet de dresser la liste des formats d'URL pour lesquels les sites sont autorisés à utiliser la génération de clé. Les formats d'URL inclus dans la règle "KeygenBlockedForUrls" dérogent à cette règle. @@ -7661,6 +7694,7 @@ Remarque : Pour les instances <ph name="MS_WIN_NAME" /> qui ne sont pas associées à un domaine <ph name="MS_AD_NAME" /> et les instances <ph name="MAC_OS_NAME" /> qui ne sont pas gérées via MDM ni associées à un domaine via MCX, l'installation d'office est limitée aux applications et aux extensions listées sur le Chrome Web Store.</translation> <translation id="8451988835943702790">Utiliser la page "Nouvel onglet" comme page d'accueil</translation> +<translation id="8453218444172088993">Désactivez le paramètre des thèmes publicitaires de <ph name="PRIVACY_SANDBOX_NAME" /> pour vos utilisateurs.</translation> <translation id="8455529558077979314">Paramètres de l'écran de confidentialité</translation> <translation id="8461914792118322307">Proxy</translation> <translation id="8465065632133292531">Paramètres pour l'URL instantanée utilisant POST</translation> @@ -7786,6 +7820,12 @@ Les formats d'URL ne peuvent pas entrer en conflit avec ceux de la règle <ph name="WEB_HID_ASK_FOR_URLS_POLICY_NAME" />. Aucune règle ne prévaut si un format d'URL est répertorié dans les deux règles. Pour en savoir plus sur les formats <ph name="URL_LABEL" /> valides, veuillez consulter https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. La valeur <ph name="WILDCARD_VALUE" /> n'est pas acceptée pour cette règle.</translation> +<translation id="8554750769356971993">Règle permettant de décider si le paramètre des annonces suggérées par le site de <ph name="PRIVACY_SANDBOX_NAME" /> peut être désactivé pour vos utilisateurs. + +Si cette règle est désactivée, il sera désactivé pour vos utilisateurs. +Si elle est activée ou qu'elle n'est pas configurée, vos utilisateurs pourront activer ou désactiver le paramètre des annonces suggérées par le site <ph name="PRIVACY_SANDBOX_NAME" /> sur leur appareil. + +Si vous définissez cette règle, vous devez désactiver la règle <ph name="PRIVACY_SANDBOX_PROMPT_ENABLED_POLICY_NAME" />.</translation> <translation id="8559221882677768248">Désactiver Sélectionner pour prononcer sur l'écran de connexion</translation> <translation id="8566842294717252664">Masquer le Chrome Web Store sur la page Nouvel onglet et dans le lanceur d'applications</translation> <translation id="8571314270766672278">Effectuer un rollback et réinitialiser l'appareil lors du retour à une version antérieure, en conservant l'enregistrement si possible</translation> @@ -7815,6 +7855,7 @@ Si cette règle n'est pas configurée, un délai par défaut est utilisé. La valeur de la règle doit être indiquée en millisecondes.</translation> +<translation id="859579553230883285">Désactivez le paramètre des annonces suggérées par le site de <ph name="PRIVACY_SANDBOX_NAME" /> pour vos utilisateurs.</translation> <translation id="8598786284856179541">Activer les rapports sur les informations liées à la version</translation> <translation id="859937827887158048">Ne pas autoriser le téléchargement automatique de mises à jour peer-to-peer</translation> <translation id="8603454805657060638">Cette règle permet à l'administrateur de modifier l'adresse MAC (Media Access Control, contrôle d'accès au support) lors de la connexion d'un appareil à la station d'accueil. Lorsqu'une station d'accueil est connectée à certains modèles d'appareils, l'adresse MAC de la station d'accueil définie pour l'appareil est utilisée, par défaut, pour identifier l'appareil sur Ethernet. @@ -8073,6 +8114,7 @@ Cette règle vise à donner aux entreprises la possibilité de désactiver le bac à sable réseau si la configuration des logiciels tiers qu'elles utilisent interfère avec le bac à sable.</translation> <translation id="8840243776706727185">Fonctionnalité NewBaseUrlInheritanceBehavior désactivée</translation> <translation id="8842208363354615697">Autoriser l'activation du mode HTTPS uniquement</translation> +<translation id="8843331294082716286">Ne pas présenter l'invite <ph name="PRIVACY_SANDBOX_NAME" /> aux utilisateurs.</translation> <translation id="885147810817138322">Proposer à l'utilisateur des recommandations de contenus multimédias</translation> <translation id="8852579753940989645">Activer la règle d'intégrité du code du moteur de rendu</translation> <translation id="8854571659927427063">Si cette règle est activée, les favoris enregistrés dans le précédent navigateur par défaut sont importés lors de la première exécution. Si cette règle est désactivée ou qu'elle n'est pas configurée, les favoris ne sont pas importés lors de la première exécution. @@ -8192,6 +8234,7 @@ <translation id="8955719471735800169">Haut de page</translation> <translation id="8956312248048980644">Autorise par défaut le clustering d'agents selon l'origine.</translation> <translation id="8970205333161758602">Supprimer l'invite de fermeture de <ph name="PRODUCT_FRAME_NAME" /></translation> +<translation id="8973579598359969188">Choisissez si l'invite <ph name="PRIVACY_SANDBOX_NAME" /> peut être présentée à vos utilisateurs</translation> <translation id="8974588819713914715">Cette règle est obsolète et non compatible (veuillez utiliser la règle <ph name="URL_ALLOWLIST_POLICY_NAME" /> à la place).</translation> <translation id="8976248126101463034">Autoriser l'authentification gnubby pour les hôtes d'accès à distance</translation> <translation id="8976531594979650914">Utiliser l'imprimante système par défaut</translation>
diff --git a/components/policy/resources/policy_templates_vi.xtb b/components/policy/resources/policy_templates_vi.xtb index f364056..cb8f92fe 100644 --- a/components/policy/resources/policy_templates_vi.xtb +++ b/components/policy/resources/policy_templates_vi.xtb
@@ -33,6 +33,7 @@ Các ngôn ngữ hiện được hỗ trợ là: tiếng Hà Lan (Nam Phi), tiếng Bulgaria, tiếng Catalan, tiếng Séc, tiếng Đan Mạch, tiếng Đức, tiếng Hy Lạp, tiếng Anh – Úc, tiếng Anh – Canada, tiếng Anh – Anh, tiếng Anh – Mỹ, tiếng Tây Ban Nha, tiếng Tây Ban Nha – Mỹ La tinh, tiếng Tây Ban Nha – Argentina, tiếng Tây Ban Nha – Tây Ban Nha, tiếng Tây Ban Nha – Mexico, tiếng Tây Ban Nha – Mỹ, tiếng Estonia, tiếng Ba Tư, tiếng Faroe, tiếng Pháp, tiếng Do Thái, tiếng Hindi, tiếng Croatia, tiếng Hungary, tiếng Indonesia, tiếng Ý, tiếng Hàn, tiếng Lithuania, tiếng Latvia, tiếng Bokmål, tiếng Hà Lan, tiếng Ba Lan, tiếng Bồ Đào Nha – Brazil, tiếng Bồ Đào Nha – Bồ Đào Nha, tiếng Romania, tiếng Nga, tiếng Serbia – Croatia, tiếng Slovak, tiếng Slovenia, tiếng Albania, tiếng Serbia, tiếng Thụy Điển, tiếng Tamil, tiếng Tajik, tiếng Thổ Nhĩ Kỳ, tiếng Ukraina, tiếng Việt.</translation> <translation id="1019101089073227242">Thiết lập thư mục dữ liệu người dùng</translation> <translation id="1020006815010587263">Thùng rác bị tắt đối với người dùng.</translation> +<translation id="1021462144002396313">Chính sách của <ph name="PRIVACY_SANDBOX_NAME" /></translation> <translation id="1022361784792428773">Các ID tiện ích mà bạn nên ngăn người dùng cài đặt (hoặc * cho tất cả)</translation> <translation id="102492767056134033">Đặt trạng thái mặc định của bàn phím ảo trên màn hình đăng nhập</translation> <translation id="102658870205613876">Cài đặt cửa sổ bật lên</translation> @@ -159,6 +160,7 @@ Việc đặt <ph name="CHROME_OS_RELEASE_CHANNEL_POLICY_NAME" /> chỉ có hiệu lực nếu bạn đặt <ph name="CHROME_OS_RELEASE_CHANNEL_DELEGATED_POLICY_NAME" /> thành Tắt.</translation> <translation id="1147732569915511430">Hàm băm SHA-256 của hình đại diện.</translation> <translation id="1148415065145333943">Tắt chế độ sạc pin nâng cao</translation> +<translation id="1150742937785306405">Cho phép người dùng bật hoặc tắt chế độ cài đặt Quảng cáo do trang web đề xuất của <ph name="PRIVACY_SANDBOX_NAME" /> trên thiết bị.</translation> <translation id="1151353063931113432">Cho phép hình ảnh trên các trang web này</translation> <translation id="1151987132434751822">Các cơ chế xác thực mà bạn có thể áp dụng thông tin xác thực của chính sách. Cơ chế xác thực có thể là một trong những tùy chọn sau: * basic @@ -188,6 +190,7 @@ <translation id="1160479894929412407">Cho phép giao thức kết nối Internet nhanh UDP (QUIC)</translation> <translation id="1160939557934457296">Vô hiệu hóa khả năng tiếp tục từ trang cảnh báo Duyệt web an toàn</translation> <translation id="1163080558183062209">Vô hiệu hóa các loại máy in trong danh sách từ chối</translation> +<translation id="1163389598183927209">Một nhóm các chính sách liên quan đến <ph name="PRIVACY_SANDBOX_NAME" />. Hãy xem <ph name="PRIVACY_SANDBOX_URL" /> để biết thông tin chi tiết về nỗ lực của <ph name="PRODUCT_NAME" /> trong việc không dùng cookie của bên thứ ba nữa.</translation> <translation id="1165923723751466821">Cho phép đăng nhập vào hồ sơ và đăng nhập vào trình duyệt với tư cách khách</translation> <translation id="117059611145966538">Máy chủ máy in bên ngoài</translation> <translation id="117080706484659953">Cho phép phát hiện phạm vi chính sách trên <ph name="MAC_OS_NAME" /></translation> @@ -576,6 +579,7 @@ Nếu bạn không đặt chính sách này, thì một giá trị mặc định chung sẽ được dùng cho tất cả các trang web (không có quyền truy cập tự động).</translation> <translation id="1530812829012954197">Luôn hiển thị các mẫu URL sau đây trong trình duyệt chính</translation> +<translation id="1542491165152947087">Cho phép người dùng bật hoặc tắt chế độ cài đặt Chủ đề quảng cáo của <ph name="PRIVACY_SANDBOX_NAME" /> trên thiết bị của họ.</translation> <translation id="1552418937045050762">Nếu bạn bật tùy chọn cài đặt này, người dùng sẽ được phép chọn sử dụng tính năng Chia sẻ lân cận. Tính năng này cho phép họ gửi và nhận tệp từ những người ở gần. Nếu bạn tắt tùy chọn cài đặt này, người dùng sẽ không được phép chọn sử dụng tính năng Chia sẻ lân cận. @@ -1252,6 +1256,12 @@ Nếu bạn không đặt hoặc đặt chính sách này thành true, thì người dùng có thể sử dụng giao diện dòng lệnh (CLI) quản lý máy ảo (VM). Nếu không, tất cả CLI quản lý máy ảo đều bị tắt và ẩn. </translation> +<translation id="2194051055390000601">Chính sách kiểm soát việc có thể tắt chế độ cài đặt Chủ đề quảng cáo của <ph name="PRIVACY_SANDBOX_NAME" /> cho người dùng hay không. + +Nếu bạn đặt chính sách này thành Tắt, thì chế độ cài đặt Chủ đề quảng cáo sẽ tắt cho người dùng của bạn. +Nếu bạn đặt chính sách này thành Bật hoặc không đặt chính sách này, thì người dùng sẽ có thể bật hoặc tắt chế độ cài đặt Chủ đề quảng cáo của <ph name="PRIVACY_SANDBOX_NAME" /> trên thiết bị. + +Nếu đặt chính sách này, thì bạn cần đặt chính sách <ph name="PRIVACY_SANDBOX_PROMPT_ENABLED_POLICY_NAME" /> thành Tắt.</translation> <translation id="2195032660890227692">Chính sách này đã bị xóa trong <ph name="PRODUCT_NAME" /> 68 và thay thế bằng <ph name="ARC_BR_POLICY_NAME" />.</translation> <translation id="2197625019569762163">Khi bạn đặt chính sách này thành true, thì bàn phím số sẽ hiển thị theo mặc định để người dùng nhập mật khẩu trên màn hình đăng nhập. Người dùng vẫn có thể chuyển sang bàn phím thông thường. @@ -1786,6 +1796,7 @@ Để biết thông tin chi tiết về các mẫu URL trang web hợp lệ, vui lòng truy cập https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. Cho phép sử dụng ký tự đại diện <ph name="WILDCARD_VALUE" />. Chính sách này chỉ đối chiếu dựa trên nguồn gốc, nên mọi đường dẫn trong mẫu URL sẽ bị bỏ qua. Nếu bạn không đặt chính sách này cho một trang web, thì hệ thống sẽ áp dụng chính sách của <ph name="DEFAULT_LOCAL_FONTS_SETTING_POLICY_NAME" /> cho trang web đó (nếu có), còn không thì quyền kiểm soát sẽ tuân theo chế độ mặc định của trình duyệt và cho phép người dùng chọn quyền này trên từng trang web.</translation> +<translation id="2727844239611930002">Cho phép <ph name="PRODUCT_NAME" /> xác định xem có hiển thị lời nhắc của <ph name="PRIVACY_SANDBOX_NAME" /> hay không.</translation> <translation id="2730200383593984228">Cho phép người dùng chưa liên kết sử dụng ứng dụng Android</translation> <translation id="2730419309754848345">Lựa chọn In tệp PDF dưới dạng hình ảnh mặc định</translation> <translation id="2731299561202635374">Chính sách này sẽ kiểm soát quy trình kiểm tra URL theo thời gian thực để xác định các URL không an toàn. @@ -3538,6 +3549,7 @@ Nếu sai hoặc chưa đặt thì nhà cung cấp nội dung sẽ không trả về thông tin nào.</translation> <translation id="435395045087992163">Không khoá thiết bị khi thiết bị tạm ngưng hoặc đóng nắp</translation> +<translation id="4354792057099570728">Tắt chế độ cài đặt Đo lường quảng cáo của <ph name="PRIVACY_SANDBOX_NAME" /> cho người dùng của bạn.</translation> <translation id="4357587374229381015">Chỉ định tên tham số URL mà hệ thống sẽ sử dụng để tự động điền vào trường tên người dùng trên trang đăng nhập SAML IdP. Địa chỉ email được liên kết với hồ sơ <ph name="PRODUCT_OS_NAME" /> của người dùng sẽ được dùng làm giá trị cho tham số URL. Do đó, bạn nên tắt chế độ cài đặt này nếu dự kiến rằng người dùng sẽ sử dụng nhiều địa chỉ email trên trang SAML IdP. @@ -3628,6 +3640,7 @@ Mặc dù chính sách được hỗ trợ trên các nền tảng ở trên, tính năng mà chính sách đang bật có thể khả dụng trên ít nền tảng hơn. Không phải tất cả tính năng trên Nền tảng web không dùng nữa đều có thể bật lại được. Chỉ có thể bật lại các tính năng được liệt kê rõ ràng bên dưới trong một khoảng thời gian giới hạn, khoảng thời gian này khác nhau tùy theo tính năng. Định dạng chung của thẻ chuỗi sẽ là [DeprecatedFeatureName]_EffectiveUntil[yyyymmdd]. Để tham khảo, bạn có thể tìm ý nghĩa ẩn sau các thay đổi về tính năng trên Nền tảng web tại https://bit.ly/blinkintents. </translation> <translation id="4443711908766051441">Bật trò chơi khủng long ẩn</translation> +<translation id="4445728642576791607">Cho phép người dùng bật hoặc tắt chế độ cài đặt Đo lường quảng cáo của <ph name="PRIVACY_SANDBOX_NAME" /> trên thiết bị.</translation> <translation id="4447668084338250480">Hoạt động chuyển hướng mạng nội bộ</translation> <translation id="4449469846627734399">Đặt cấu hình ngày cho chế độ chuyển đổi điện năng cao điểm</translation> <translation id="4449545651113180484">Xoay màn hình 270 độ theo chiều kim đồng hồ</translation> @@ -3664,6 +3677,7 @@ <translation id="4483649828988077221">Tắt tính năng tự động cập nhật</translation> <translation id="4484515651939984695">Chỉ định thời gian (tính bằng giây) mà một thiết bị truyền được chọn có mã truy cập hoặc mã QR xuất hiện trong danh sách thiết bị truyền của trình đơn <ph name="PRODUCT_NAME" />.</translation> <translation id="4485425108474077672">Định cấu hình URL trang Thẻ mới</translation> +<translation id="4491607814095953976">Chọn có thể tắt chế độ cài đặt đo lường quảng cáo của <ph name="PRIVACY_SANDBOX_NAME" /> hay không</translation> <translation id="4492287494009043413">Tắt tính năng chụp ảnh chụp màn hình</translation> <translation id="4494132853995232608">Wilco DTC</translation> <translation id="449423975179525290">Định cấu hình chính sách liên quan đến <ph name="PLUGIN_VM_NAME" />.</translation> @@ -4581,6 +4595,7 @@ Nếu bạn đặt chính sách này, người dùng sẽ không thể thay đổi hoặc ghi đè chính sách. Nếu bạn không đặt chính sách này, thì người dùng có thể chọn hình đại diện cho họ trên màn hình đăng nhập.</translation> +<translation id="5428716437928918274">Công cụ kiểm soát các chế độ cài đặt hộp cát về quyền riêng tư</translation> <translation id="5431392643649571773">Khi được bật, tính năng <ph name="PRODUCT_NAME" /> sẽ cho phép sử dụng bộ nhớ đệm cho thao tác tiến/lùi. Khi chuyển hướng khỏi một trang, trạng thái hiện tại của trang đó (cây tài liệu, tập lệnh, v.v.) có thể được giữ nguyên trong bộ nhớ đệm cho thao tác tiến/lùi. Nếu trình duyệt quay lại trang này, thì trang có thể được khôi phục từ bộ nhớ đệm cho thao tác tiến/lùi và hiển thị ở trạng thái như trước khi lưu vào bộ nhớ đệm. Tính năng này có thể gây ra vấn đề cho một số trang web không muốn lưu vào bộ nhớ đệm. Đặc biệt là một số trang web phụ thuộc vào sự kiện "<ph name="UNLOAD_HANDLER_NAME" />" được gửi đi khi trình duyệt chuyển hướng khỏi trang. Sự kiện "<ph name="UNLOAD_HANDLER_NAME" />" sẽ không được gửi đi nếu trang được lưu vào bộ nhớ đệm cho thao tác tiến/lùi. @@ -6653,6 +6668,7 @@ </translation> <translation id="7459601923199346224">Kiểm soát các chính sách quản lý chứng chỉ cho thiết bị và người dùng.</translation> <translation id="7459633275230216698">Cho phép hộp thoại chọn tệp</translation> +<translation id="7462256705280836453">Chọn có thể tắt chế độ cài đặt Quảng cáo do trang web đề xuất của <ph name="PRIVACY_SANDBOX_NAME" /> hay không</translation> <translation id="7463055558720530430">Cho phép người dùng ghi nhớ mật khẩu Kerberos</translation> <translation id="7464058117970792805">Bật chế độ xem trước bản in</translation> <translation id="7464991223784276288">Hạn chế cookie so khớp các URL với phiên hiện tại</translation> @@ -6865,6 +6881,12 @@ Khi bạn đặt chính sách này thành Tắt, bất cứ khi nào người dùng thực hiện thao tác làm kích hoạt hộp thoại chọn tệp (chẳng hạn như nhập dấu trang, tải tệp lên, lưu đường liên kết, v.v), một thông báo sẽ xuất hiện. Người dùng được xem là đã nhấp vào nút Hủy trên hộp thoại chọn tệp.</translation> <translation id="7638300388094655454">Google Cast</translation> <translation id="7638764766629234761">Cho phép sử dụng các thông báo hệ thống</translation> +<translation id="7643151458117317518">Chính sách kiểm soát việc có thể tắt chế độ cài đặt Đo lường quảng cáo của <ph name="PRIVACY_SANDBOX_NAME" /> cho người dùng của bạn hay không. + +Nếu bạn đặt chính sách này thành Tắt, thì chế độ cài đặt Đo lường quảng cáo sẽ tắt cho người dùng. +Nếu bạn đặt chính sách này thành Bật hoặc không đặt chính sách này, thì người dùng sẽ có thể bật hoặc tắt chế độ cài đặt Đo lường quảng cáo của <ph name="PRIVACY_SANDBOX_NAME" /> trên thiết bị. + +Nếu đặt chính sách này, thì bạn cần đặt chính sách <ph name="PRIVACY_SANDBOX_PROMPT_ENABLED_POLICY_NAME" /> thành Tắt.</translation> <translation id="7643883929273267746">Hạn chế các tài khoản được hiển thị trong <ph name="PRODUCT_NAME" /></translation> <translation id="7648664871086956188">Chính sách này là một quy tắc chung cho tất cả các quy tắc đã xác định trong chính sách DataLeakPreventionRulesList. Nếu bạn đặt chính sách này thành Bật, tùy chọn báo cáo theo thời gian thực về các sự kiện ngăn rò rỉ dữ liệu sẽ được bật. @@ -7468,6 +7490,16 @@ Bạn không cần định cấu hình các cài đặt này theo cách thủ công! Bạn có thể tải xuống các mẫu dễ sử dụng dành cho Windows, Mac và Linux từ <ph name="POLICY_TEMPLATE_DOWNLOAD_URL" />. Bạn nên định cấu hình chính sách trên Windows qua GPO, mặc dù việc cấp phép chính sách qua cổng đăng ký vẫn được hỗ trợ cho các phiên bản Windows tham gia miền <ph name="MS_AD_NAME" />.</translation> +<translation id="8261008508574620157">Chính sách kiểm soát việc người dùng có nhìn thấy lời nhắc của <ph name="PRIVACY_SANDBOX_NAME" /> hay không. +Lời nhắc là một luồng chặn người dùng nhằm thông báo cho người dùng về chế độ cài đặt của <ph name="PRIVACY_SANDBOX_NAME" />. Xem <ph name="PRIVACY_SANDBOX_URL" /> để biết thông tin chi tiết về nỗ lực của Chrome trong việc ngừng sử dụng cookie của bên thứ ba. + +Nếu bạn đặt chính sách này thành Tắt, thì <ph name="PRODUCT_NAME" /> sẽ không hiển thị lời nhắc của <ph name="PRIVACY_SANDBOX_NAME" />. +Nếu bạn đặt chính sách này thành Bật hoặc không đặt chính sách này, thì <ph name="PRODUCT_NAME" /> sẽ xác định xem có cần hiển thị lời nhắc của <ph name="PRIVACY_SANDBOX_NAME" /> hay không và sau đó hiển thị lời nhắc đó nếu có thể. + +Nếu đã đặt bất kỳ chính sách nào sau đây, thì bạn phải đặt chính sách này thành Tắt: +<ph name="PRIVACY_SANDBOX_AD_TOPICS_ENABLED_POLICY_NAME" /> +<ph name="PRIVACY_SANDBOX_SITE_ENABLED_ADS_ENABLED_POLICY_NAME" /> +<ph name="PRIVACY_SANDBOX_AD_MEASUREMENT_ENABLED_POLICY_NAME" /></translation> <translation id="8266778278542911985">Nếu bạn đặt chính sách này thành 3, thì các trang web có thể yêu cầu quyền truy cập vào cổng nối tiếp. Nếu bạn đặt chính sách này thành 2, quyền truy cập vào cổng nối tiếp sẽ bị từ chối. Nếu bạn không đặt chính sách này, thì các trang web có thể yêu cầu quyền truy cập nhưng người dùng được quyền thay đổi tùy chọn cài đặt này.</translation> @@ -7497,6 +7529,7 @@ Nếu bạn không đặt chính sách này, hệ thống sẽ sử dụng một hệ số tỷ lệ mặc định. Lưu ý: Hệ số tỷ lệ phải từ 100% trở lên.</translation> +<translation id="8284621384813278750">Chọn có thể tắt chế độ cài đặt Chủ đề quảng cáo của <ph name="PRIVACY_SANDBOX_NAME" /> hay không</translation> <translation id="8285435910062771358">Đã bật kính lúp toàn màn hình</translation> <translation id="828566872219880247">Cho phép bạn thiết lập danh sách mẫu URL để chỉ định các trang web được phép dùng tính năng tạo khóa. Nếu một mẫu URL nằm trong "KeygenBlockedForUrls", thì việc đó sẽ ghi đè các ngoại lệ này. @@ -7691,6 +7724,7 @@ Lưu ý: Đối với các phiên bản <ph name="MS_WIN_NAME" /> không liên kết với một miền <ph name="MS_AD_NAME" /> và các phiên bản <ph name="MAC_OS_NAME" /> không được quản lý qua MDM hoặc không liên kết với một miền qua MCX, chế độ buộc cài đặt chỉ giới hạn ở các ứng dụng và tiện ích mở rộng có trong Cửa hàng Chrome trực tuyến.</translation> <translation id="8451988835943702790">Sử dụng trang Thẻ mới làm trang chủ</translation> +<translation id="8453218444172088993">Tắt chế độ cài đặt Chủ đề quảng cáo của <ph name="PRIVACY_SANDBOX_NAME" /> cho người dùng của bạn.</translation> <translation id="8455529558077979314">Cài đặt màn hình bảo vệ quyền riêng tư</translation> <translation id="8461914792118322307">Proxy</translation> <translation id="8465065632133292531">Tham số cho URL tức thì sử dụng POST</translation> @@ -7824,6 +7858,12 @@ Các mẫu URL không được xung đột với <ph name="WEB_HID_ASK_FOR_URLS_POLICY_NAME" />. Không chính sách nào được ưu tiên nếu một URL khớp với cả hai chính sách. Để biết thông tin chi tiết về các mẫu <ph name="URL_LABEL" /> hợp lệ, vui lòng xem tại https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. Chúng tôi không chấp nhận giá trị <ph name="WILDCARD_VALUE" /> đối với chính sách này.</translation> +<translation id="8554750769356971993">Chính sách kiểm soát việc có thể tắt chế độ cài đặt Quảng cáo do trang web đề xuất của <ph name="PRIVACY_SANDBOX_NAME" /> cho người dùng hay không. + +Nếu bạn đặt chính sách này thành Tắt, thì chế độ cài đặt Quảng cáo do trang web đề xuất sẽ bị tắt cho người dùng. +Nếu bạn đặt chính sách này thành Bật hoặc không đặt, thì người dùng sẽ có thể bật hoặc tắt chế độ cài đặt Quảng cáo do trang web đề xuất của <ph name="PRIVACY_SANDBOX_NAME" /> trên thiết bị. + +Nếu đặt chính sách này, thì bạn cần đặt chính sách <ph name="PRIVACY_SANDBOX_PROMPT_ENABLED_POLICY_NAME" /> thành Tắt.</translation> <translation id="8559221882677768248">Tắt tính năng chọn để nói trên màn hình đăng nhập</translation> <translation id="8566842294717252664">Ẩn cửa hàng trực tuyến khỏi trang thẻ mới và trình chạy ứng dụng</translation> <translation id="8571314270766672278">Hạ cấp hệ điều hành và đặt lại thiết bị khi hạ cấp kênh, cố gắng duy trì việc đăng ký</translation> @@ -7853,6 +7893,7 @@ Khi bạn không đặt chính sách này, khoảng thời gian mặc định sẽ được sử dụng. Bạn phải chỉ định giá trị của chính sách bằng mili giây.</translation> +<translation id="859579553230883285">Tắt chế độ cài đặt Quảng cáo do trang web đề xuất của <ph name="PRIVACY_SANDBOX_NAME" /> cho người dùng.</translation> <translation id="8598786284856179541">Bật chính sách báo cáo thông tin phiên bản</translation> <translation id="859937827887158048">Không cho phép tự động tải bản cập nhật xuống thông qua kết nối ngang hàng</translation> <translation id="8603454805657060638">Nếu bạn đặt chính sách này, quản trị viên có thể thay đổi địa chỉ MAC (kiểm soát khả năng truy cập vào nội dung nghe nhìn) khi kết nối thiết bị với đế sạc. Khi kết nối đế sạc với một số kiểu thiết bị thì theo mặc định, địa chỉ MAC chỉ định cho đế sạc của thiết bị sẽ được dùng để xác định thiết bị đó trên Ethernet. @@ -8111,6 +8152,7 @@ Chính sách này nhằm cho phép doanh nghiệp có thể tắt hộp cát mạng một cách linh hoạt nếu họ dùng phần mềm bên thứ ba can thiệp vào hộp cát dịch vụ mạng.</translation> <translation id="8840243776706727185">Tính năng NewBaseUrlInheritanceBehavior bị tắt</translation> <translation id="8842208363354615697">Cho phép bật chế độ Chỉ giao thức HTTPS</translation> +<translation id="8843331294082716286">Không hiển thị lời nhắc của <ph name="PRIVACY_SANDBOX_NAME" /> cho người dùng.</translation> <translation id="885147810817138322">Hiển thị đề xuất nội dung nghe nhìn cho người dùng</translation> <translation id="8852579753940989645">Bật tính năng Tính toàn vẹn của mã trình kết xuất</translation> <translation id="8854571659927427063">Nếu bạn đặt chính sách này thành Bật, thì dấu trang trên trình duyệt mặc định trước sẽ được nhập trong lần chạy đầu tiên. Nếu bạn đặt chính sách này thành Tắt hoặc không đặt chính sách này, thì dấu trang sẽ không được nhập trong lần chạy đầu tiên. @@ -8233,6 +8275,7 @@ <translation id="8955719471735800169">Quay lại đầu trang</translation> <translation id="8956312248048980644">Cho phép phân nhóm tác nhân theo khoá nguồn gốc theo mặc định.</translation> <translation id="8970205333161758602">Loại bỏ lời nhắc từ chối <ph name="PRODUCT_FRAME_NAME" /></translation> +<translation id="8973579598359969188">Chọn có cho người dùng thấy lời nhắc của <ph name="PRIVACY_SANDBOX_NAME" /> hay không</translation> <translation id="8974588819713914715">Chính sách này không còn được dùng nữa và không được hỗ trợ, vui lòng dùng chính sách "<ph name="URL_ALLOWLIST_POLICY_NAME" />".</translation> <translation id="8976248126101463034">Cho phép xác thực gnubby cho máy chủ truy cập từ xa</translation> <translation id="8976531594979650914">Sử dụng máy in có sẵn trong hệ thống làm máy in mặc định</translation>
diff --git a/components/policy/resources/templates/device_policy_proto_map.yaml b/components/policy/resources/templates/device_policy_proto_map.yaml index 7f7032f..64e0b3d6 100644 --- a/components/policy/resources/templates/device_policy_proto_map.yaml +++ b/components/policy/resources/templates/device_policy_proto_map.yaml
@@ -147,6 +147,7 @@ ExtensionCacheSize: extension_cache_size.extension_cache_size HeartbeatEnabled: device_heartbeat_settings.heartbeat_enabled HeartbeatFrequency: device_heartbeat_settings.heartbeat_frequency +DeviceHindiInscriptLayoutEnabled: device_hindi_inscript_layout_enabled.enabled KioskCRXManifestUpdateURLIgnored: kiosk_crx_manifest_update_url_ignored.value LogUploadEnabled: device_log_upload_settings.system_log_upload_enabled LoginAuthenticationBehavior: login_authentication_behavior.login_authentication_behavior
diff --git a/components/policy/resources/templates/policies.yaml b/components/policy/resources/templates/policies.yaml index 669d3fd..ad548170 100644 --- a/components/policy/resources/templates/policies.yaml +++ b/components/policy/resources/templates/policies.yaml
@@ -1052,6 +1052,7 @@ 1051: PrivacySandboxAdMeasurementEnabled 1052: AppStoreRatingEnabled 1053: KerberosUseCustomPrefilledConfig + 1054: DeviceHindiInscriptLayoutEnabled atomic_groups: 1: Homepage 2: RemoteAccess
diff --git a/components/policy/resources/templates/policy_definitions/Miscellaneous/DeviceHindiInscriptLayoutEnabled.yaml b/components/policy/resources/templates/policy_definitions/Miscellaneous/DeviceHindiInscriptLayoutEnabled.yaml new file mode 100644 index 0000000..53b8d0d --- /dev/null +++ b/components/policy/resources/templates/policy_definitions/Miscellaneous/DeviceHindiInscriptLayoutEnabled.yaml
@@ -0,0 +1,26 @@ +caption: Enable the Hindi Inscript Layout device wide. +default: false +desc: |- + Setting the policy enables Hindi Inscript Layout on <ph name="PRODUCT_OS_NAME">$2<ex>Google ChromeOS</ex></ph>. + If false or unset, the layout is not available. Requires reboot to take effect. +device_only: true +example_value: true +features: + cloud_only: true + dynamic_refresh: false + per_profile: false + unlisted: true +items: +- caption: Enable Hindi Inscript Layout + value: true +- caption: Disable Hindi Inscript Layout + value: false +owners: +- jshin@chromium.org + e14s-eng@google.com +schema: + type: boolean +supported_on: +- chrome_os:111- +tags: [] +type: main
diff --git a/components/segmentation_platform/public/constants.cc b/components/segmentation_platform/public/constants.cc index 58e75ad..7bf49a3a 100644 --- a/components/segmentation_platform/public/constants.cc +++ b/components/segmentation_platform/public/constants.cc
@@ -80,6 +80,8 @@ return "ContextualPageActionPriceTracking"; case proto::SegmentId::OPTIMIZATION_TARGET_SEGMENTATION_SEARCH_USER: return "SearchUserSegment"; + case proto::SegmentId::OPTIMIZATION_TARGET_SEGMENTATION_ADAPTIVE_TOOLBAR: + return "AdaptiveToolbar"; case proto::SegmentId::POWER_USER_SEGMENT: return "PowerUserSegment"; case proto::SegmentId::CROSS_DEVICE_USER_SEGMENT:
diff --git a/components/segmentation_platform/public/proto/segmentation_platform.proto b/components/segmentation_platform/public/proto/segmentation_platform.proto index 79935d86..00fa062b 100644 --- a/components/segmentation_platform/public/proto/segmentation_platform.proto +++ b/components/segmentation_platform/public/proto/segmentation_platform.proto
@@ -62,6 +62,8 @@ OPTIMIZATION_TARGET_SEGMENTATION_CHROME_START_ANDROID_V2 = 22; // Target for segmentation: Determine users who frequently search. OPTIMIZATION_TARGET_SEGMENTATION_SEARCH_USER = 23; + // Target for segmentation: Adaptive toolbar. + OPTIMIZATION_TARGET_SEGMENTATION_ADAPTIVE_TOOLBAR = 28; // Add new entries to OptimizationTarget proto. // New entries should start from a 1000 if OptimizationTarget does not
diff --git a/components/strings/components_strings_bn.xtb b/components/strings/components_strings_bn.xtb index 5635dadf..928b495d 100644 --- a/components/strings/components_strings_bn.xtb +++ b/components/strings/components_strings_bn.xtb
@@ -2716,6 +2716,7 @@ <translation id="7815407501681723534">'<ph name="SEARCH_STRING" />' এর জন্য <ph name="NUMBER_OF_RESULTS" />টি <ph name="SEARCH_RESULTS" /> খুঁজে পাওয়া গেছে</translation> <translation id="7822320754433038727">শিকার ও শুটিং</translation> <translation id="782886543891417279">আপনি যে (<ph name="WIFI_NAME" />) ওয়াই-ফাই ব্যবহার করছেন সেটির জন্য অপনাকে এটির লগ-ইন পৃষ্ঠাতে যেতে হতে পরে৷</translation> +<translation id="7840103971441592723">'স্ক্রিন ক্যাপচার' করা শুরু হয়েছে</translation> <translation id="7844689747373518809">{COUNT,plural, =0{একটিও নয়}=1{১টি অ্যাপ (<ph name="EXAMPLE_APP_1" />)}=2{২টি অ্যাপ (<ph name="EXAMPLE_APP_1" />, <ph name="EXAMPLE_APP_2" />)}one{#টি অ্যাপ (<ph name="EXAMPLE_APP_1" />, <ph name="EXAMPLE_APP_2" /> <ph name="AND_MORE" />)}other{#টি অ্যাপ (<ph name="EXAMPLE_APP_1" />, <ph name="EXAMPLE_APP_2" /> <ph name="AND_MORE" />)}}</translation> <translation id="7855695075675558090"><ph name="TOTAL_LABEL" /> <ph name="CURRENCY_CODE" /> <ph name="FORMATTED_TOTAL_AMOUNT" /></translation> <translation id="7862185352068345852">সাইট ছেড়ে যাবেন?</translation> @@ -2894,6 +2895,7 @@ <translation id="8282947398454257691">আপনার অনন্য ডিভাইস সনাক্তকারীকে জানুন</translation> <translation id="8284769179630993263">Chrome সেটিংসে আপনার Safe Browsing ও আরও অনেক কিছু ম্যানেজ করুন</translation> <translation id="8286036467436129157">সাইন-ইন করুন</translation> +<translation id="8286799286781881307">আপনার অ্যাডমিনিস্ট্রেটরের অনুমোদনপ্রাপ্ত অ্যাপ্লিকেশন, ডিভাইসে অ্যাটাচ থাকা সব স্ক্রিন থেকে ক্যাপচার করতে পারবে। এই তথ্য লোকালি প্রসেস করা অথবা আপনার সংস্থার সার্ভারে আপলোড করা হতে পারে।</translation> <translation id="8288807391153049143">সার্টিফিকেট দেখান</translation> <translation id="8289355894181816810">যদি আপনি এর অর্থের ব্যাপারে নিশ্চিত না হন তাহলে আপনার নেটওয়ার্ক প্রশাসকের সঙ্গে যোগাযোগ করুন৷</translation> <translation id="8293206222192510085">বুকমার্ক যুক্ত করুন</translation>
diff --git a/components/strings/components_strings_cy.xtb b/components/strings/components_strings_cy.xtb index a1492df..d3b2ad2 100644 --- a/components/strings/components_strings_cy.xtb +++ b/components/strings/components_strings_cy.xtb
@@ -2716,6 +2716,7 @@ <translation id="7815407501681723534">Canfuwyd <ph name="NUMBER_OF_RESULTS" /> <ph name="SEARCH_RESULTS" /> ar gyfer '<ph name="SEARCH_STRING" />'</translation> <translation id="7822320754433038727">Hela a saethu</translation> <translation id="782886543891417279">Mae'n bosib y bydd y Wi-Fi rydych yn ei ddefnyddio (<ph name="WIFI_NAME" />) yn gofyn i chi fynd i'w dudalen fewngofnodi.</translation> +<translation id="7840103971441592723">Wedi dechrau recordio'r sgrîn</translation> <translation id="7844689747373518809">{COUNT,plural, =0{Dim}=1{1 ap (<ph name="EXAMPLE_APP_1" />)}=2{2 ap (<ph name="EXAMPLE_APP_1" />, <ph name="EXAMPLE_APP_2" />)}few{# ap (<ph name="EXAMPLE_APP_1" />, <ph name="EXAMPLE_APP_2" />, <ph name="AND_MORE" />)}many{# ap (<ph name="EXAMPLE_APP_1" />, <ph name="EXAMPLE_APP_2" />, <ph name="AND_MORE" />)}other{# ap (<ph name="EXAMPLE_APP_1" />, <ph name="EXAMPLE_APP_2" />, <ph name="AND_MORE" />)}}</translation> <translation id="7855695075675558090"><ph name="TOTAL_LABEL" /> <ph name="CURRENCY_CODE" /> <ph name="FORMATTED_TOTAL_AMOUNT" /></translation> <translation id="7862185352068345852">Gadael y wefan?</translation> @@ -2894,6 +2895,7 @@ <translation id="8282947398454257691">Gwybod dynodwr eich dyfais unigryw</translation> <translation id="8284769179630993263">Rheoli eich Pori'n Ddiogel a rhagor yng ngosodiadau Chrome</translation> <translation id="8286036467436129157">Mewngofnodi</translation> +<translation id="8286799286781881307">Gall apiau a awdurdodwyd gan eich gweinyddwr ddal yr holl sgriniau sydd wedi'u hatodi i'ch dyfais. Gall y wybodaeth hon gael ei phrosesu yn lleol neu ei huwchlwytho i weinyddion eich sefydliad.</translation> <translation id="8288807391153049143">Dangos tystysgrif</translation> <translation id="8289355894181816810">Cysylltwch â'ch gweinyddwr rhwydwaith os nad ydych yn siŵr beth mae hyn yn ei olygu.</translation> <translation id="8293206222192510085">Ychwanegu Nod Tudalen</translation>
diff --git a/components/strings/components_strings_da.xtb b/components/strings/components_strings_da.xtb index 5bb4885b..30f96261 100644 --- a/components/strings/components_strings_da.xtb +++ b/components/strings/components_strings_da.xtb
@@ -2716,6 +2716,7 @@ <translation id="7815407501681723534">Der blev fundet <ph name="NUMBER_OF_RESULTS" /> <ph name="SEARCH_RESULTS" /> for "<ph name="SEARCH_STRING" />"</translation> <translation id="7822320754433038727">Jagt og skydning</translation> <translation id="782886543891417279">Det Wi-Fi-netværk, du bruger (<ph name="WIFI_NAME" />), kan kræve, at du går til netværkets loginside.</translation> +<translation id="7840103971441592723">Screenshot er startet</translation> <translation id="7844689747373518809">{COUNT,plural, =0{Ingen}=1{1 app (<ph name="EXAMPLE_APP_1" />)}=2{2 apps (<ph name="EXAMPLE_APP_1" />, <ph name="EXAMPLE_APP_2" />)}one{# app (<ph name="EXAMPLE_APP_1" />, <ph name="EXAMPLE_APP_2" /> <ph name="AND_MORE" />)}other{# apps (<ph name="EXAMPLE_APP_1" />, <ph name="EXAMPLE_APP_2" /> <ph name="AND_MORE" />)}}</translation> <translation id="7855695075675558090"><ph name="TOTAL_LABEL" /> <ph name="CURRENCY_CODE" /> <ph name="FORMATTED_TOTAL_AMOUNT" /></translation> <translation id="7862185352068345852">Vil du forlade websitet?</translation> @@ -2894,6 +2895,7 @@ <translation id="8282947398454257691">Kende dit unikke enheds-id</translation> <translation id="8284769179630993263">Administrer Beskyttet browsing m.m. i Chrome-indstillingerne</translation> <translation id="8286036467436129157">Log ind</translation> +<translation id="8286799286781881307">Programmer, der er godkendt af din administrator, kan tage screenshots af alle skærme, som er tilsluttet din enhed. Disse oplysninger kan behandles lokalt eller uploades til din organisations servere.</translation> <translation id="8288807391153049143">Vis certifikat</translation> <translation id="8289355894181816810">Kontakt din netværksadministrator, hvis du ikke er sikker på, hvad det betyder.</translation> <translation id="8293206222192510085">Tilføj bogmærke</translation>
diff --git a/components/strings/components_strings_fa.xtb b/components/strings/components_strings_fa.xtb index 898c5d2..14c8ce06 100644 --- a/components/strings/components_strings_fa.xtb +++ b/components/strings/components_strings_fa.xtb
@@ -2716,6 +2716,7 @@ <translation id="7815407501681723534"><ph name="NUMBER_OF_RESULTS" /><ph name="SEARCH_RESULTS" /> برای «<ph name="SEARCH_STRING" />» پیدا شد</translation> <translation id="7822320754433038727">شکار و تیراندازی</translation> <translation id="782886543891417279">شبکه Wi-Fi (<ph name="WIFI_NAME" />) مورد استفادهتان احتمالاً نیاز دارد که به یک صفحه ورود به سیستم بروید.</translation> +<translation id="7840103971441592723">ضبط صفحه شروع شده است</translation> <translation id="7844689747373518809">{COUNT,plural, =0{هیچکدام}=1{۱ برنامه (<ph name="EXAMPLE_APP_1" />)}=2{۲ برنامه (<ph name="EXAMPLE_APP_1" />، <ph name="EXAMPLE_APP_2" />)}one{# برنامه (<ph name="EXAMPLE_APP_1" />، <ph name="EXAMPLE_APP_2" />، <ph name="AND_MORE" />)}other{# برنامه (<ph name="EXAMPLE_APP_1" />، <ph name="EXAMPLE_APP_2" />، <ph name="AND_MORE" />)}}</translation> <translation id="7855695075675558090"><ph name="TOTAL_LABEL" /> <ph name="CURRENCY_CODE" /> <ph name="FORMATTED_TOTAL_AMOUNT" /></translation> <translation id="7862185352068345852">سایت را ترک میکنید؟</translation> @@ -2894,6 +2895,7 @@ <translation id="8282947398454257691">شناسه یکتای دستگاهتان را بداند</translation> <translation id="8284769179630993263">مدیریت «مرور ایمن» و غیره در تنظیمات Chrome</translation> <translation id="8286036467436129157">ورود به سیستم</translation> +<translation id="8286799286781881307">برنامههایی که ازسوی سرپرستتان مجوز دارند میتوانند محتوای همه صفحههای متصل به دستگاهتان را ضبط کنند. ممکن است این اطلاعات در دستگاه پردازش شود یا در سرورهای سازمانتان بارگذاری شود.</translation> <translation id="8288807391153049143">نمایش گواهی</translation> <translation id="8289355894181816810">اگر این موضوع را متوجه نمیشوید، با سرپرست شبکهتان تماس بگیرید.</translation> <translation id="8293206222192510085">افزودن نشانک</translation>
diff --git a/components/strings/components_strings_fi.xtb b/components/strings/components_strings_fi.xtb index 590fc813..a6f31edd 100644 --- a/components/strings/components_strings_fi.xtb +++ b/components/strings/components_strings_fi.xtb
@@ -2717,6 +2717,7 @@ <translation id="7815407501681723534">Haku <ph name="SEARCH_STRING" /> tuotti <ph name="NUMBER_OF_RESULTS" /> <ph name="SEARCH_RESULTS" />.</translation> <translation id="7822320754433038727">Metsästys ja ammunta</translation> <translation id="782886543891417279">Käyttämäsi Wi-Fi (<ph name="WIFI_NAME" />) saattaa edellyttää kirjautumista.</translation> +<translation id="7840103971441592723">Näytön tallennus on alkanut</translation> <translation id="7844689747373518809">{COUNT,plural, =0{Ei mitään}=1{1 sovellus (<ph name="EXAMPLE_APP_1" />)}=2{2 sovellusta (<ph name="EXAMPLE_APP_1" />, <ph name="EXAMPLE_APP_2" />)}other{# sovellusta (<ph name="EXAMPLE_APP_1" />, <ph name="EXAMPLE_APP_2" /> <ph name="AND_MORE" />)}}</translation> <translation id="7855695075675558090"><ph name="TOTAL_LABEL" /> <ph name="FORMATTED_TOTAL_AMOUNT" /> <ph name="CURRENCY_CODE" /></translation> <translation id="7862185352068345852">Poistutaanko sivustolta?</translation> @@ -2895,6 +2896,7 @@ <translation id="8282947398454257691">Saada selville laitetunnuksesi.</translation> <translation id="8284769179630993263">Ylläpidä selaussuojaa ja muita ominaisuuksia Chromen asetuksista</translation> <translation id="8286036467436129157">Kirjaudu sisään</translation> +<translation id="8286799286781881307">Järjestelmänvalvojan hyväksymät sovellukset voivat tallentaa kaikki laitteeseen kytketyt näytöt. Nämä tiedot voidaan käsitellä paikallisesti tai ladata organisaatiosi palvelimille.</translation> <translation id="8288807391153049143">Näytä varmenne</translation> <translation id="8289355894181816810">Ota yhteyttä verkon ylläpitäjään, jos et tiedä, mitä tämä tarkoittaa.</translation> <translation id="8293206222192510085">Lisää kirjanmerkki</translation>
diff --git a/components/strings/components_strings_fr-CA.xtb b/components/strings/components_strings_fr-CA.xtb index 71806e9..b0a47ee 100644 --- a/components/strings/components_strings_fr-CA.xtb +++ b/components/strings/components_strings_fr-CA.xtb
@@ -2716,6 +2716,7 @@ <translation id="7815407501681723534"><ph name="NUMBER_OF_RESULTS" /> <ph name="SEARCH_RESULTS" /> résultat(s) trouvé(s) pour « <ph name="SEARCH_STRING" /> »</translation> <translation id="7822320754433038727">Chasse et tir</translation> <translation id="782886543891417279">Le réseau Wi-Fi que vous utilisez (<ph name="WIFI_NAME" />) peut vous demander de visiter sa page de connexion.</translation> +<translation id="7840103971441592723">La capture d'écran a commencé</translation> <translation id="7844689747373518809">{COUNT,plural, =0{Aucune}=1{1 application : <ph name="EXAMPLE_APP_1" />}=2{2 applications (<ph name="EXAMPLE_APP_1" />, <ph name="EXAMPLE_APP_2" />)}one{# application (<ph name="EXAMPLE_APP_1" />, <ph name="EXAMPLE_APP_2" />, <ph name="AND_MORE" />)}other{# applications (<ph name="EXAMPLE_APP_1" />, <ph name="EXAMPLE_APP_2" />, <ph name="AND_MORE" />)}}</translation> <translation id="7855695075675558090"><ph name="TOTAL_LABEL" /> <ph name="CURRENCY_CODE" /> <ph name="FORMATTED_TOTAL_AMOUNT" /></translation> <translation id="7862185352068345852">Quitter le site?</translation> @@ -2894,6 +2895,7 @@ <translation id="8282947398454257691">Connaître votre identifiant d'appareil unique</translation> <translation id="8284769179630993263">Gérez votre navigation sécurisée et plus encore dans les paramètres de Chrome</translation> <translation id="8286036467436129157">Se connecter</translation> +<translation id="8286799286781881307">Les applications autorisées par votre administrateur peuvent capturer tous les écrans connectés à votre appareil. Ces informations peuvent être traitées localement ou téléchargées sur les serveurs de votre organisation.</translation> <translation id="8288807391153049143">Afficher le certificat</translation> <translation id="8289355894181816810">Communiquez avec votre administrateur réseau si vous n'êtes pas certain de ce que cela signifie.</translation> <translation id="8293206222192510085">Ajouter aux favoris</translation>
diff --git a/components/strings/components_strings_fr.xtb b/components/strings/components_strings_fr.xtb index c8999bc..f009ac3 100644 --- a/components/strings/components_strings_fr.xtb +++ b/components/strings/components_strings_fr.xtb
@@ -2717,6 +2717,7 @@ <translation id="7815407501681723534"><ph name="NUMBER_OF_RESULTS" /> <ph name="SEARCH_RESULTS" /> trouvé(s) pour "<ph name="SEARCH_STRING" />"</translation> <translation id="7822320754433038727">Chasse et tir</translation> <translation id="782886543891417279">Pour utiliser ce réseau Wi-Fi (<ph name="WIFI_NAME" />), il est possible que vous deviez vous rendre sur la page de connexion correspondante.</translation> +<translation id="7840103971441592723">La capture d'écran a démarré</translation> <translation id="7844689747373518809">{COUNT,plural, =0{Aucune}=1{1 application (<ph name="EXAMPLE_APP_1" />)}=2{2 applications (<ph name="EXAMPLE_APP_1" />, <ph name="EXAMPLE_APP_2" />)}one{# application (<ph name="EXAMPLE_APP_1" />, <ph name="EXAMPLE_APP_2" />, <ph name="AND_MORE" />)}other{# applications (<ph name="EXAMPLE_APP_1" />, <ph name="EXAMPLE_APP_2" />, <ph name="AND_MORE" />)}}</translation> <translation id="7855695075675558090"><ph name="TOTAL_LABEL" /> : <ph name="FORMATTED_TOTAL_AMOUNT" /> <ph name="CURRENCY_CODE" /></translation> <translation id="7862185352068345852">Quitter le site Web ?</translation> @@ -2895,6 +2896,7 @@ <translation id="8282947398454257691">Connaître l'identifiant unique de votre appareil</translation> <translation id="8284769179630993263">Gérez la navigation sécurisée, etc., dans les paramètres Chrome</translation> <translation id="8286036467436129157">Connexion</translation> +<translation id="8286799286781881307">Les applications autorisées par votre administrateur peuvent capturer tous les écrans connectés à votre appareil. Ces informations peuvent être traitées localement ou importées sur les serveurs de votre organisation.</translation> <translation id="8288807391153049143">Afficher le certificat</translation> <translation id="8289355894181816810">Contactez votre administrateur réseau si vous n'êtes pas sûr de vous.</translation> <translation id="8293206222192510085">Ajouter aux favoris</translation>
diff --git a/components/strings/components_strings_hu.xtb b/components/strings/components_strings_hu.xtb index c1f7749..9867190 100644 --- a/components/strings/components_strings_hu.xtb +++ b/components/strings/components_strings_hu.xtb
@@ -2714,6 +2714,7 @@ <translation id="7815407501681723534"><ph name="NUMBER_OF_RESULTS" /> <ph name="SEARCH_RESULTS" /> található a(z) „<ph name="SEARCH_STRING" />” kifejezésre</translation> <translation id="7822320754433038727">Vadászat és lövészet</translation> <translation id="782886543891417279">Az Ön által használt Wi-Fi-hálózat (<ph name="WIFI_NAME" />) megkövetelheti a bejelentkezést a bejelentkezési oldalán.</translation> +<translation id="7840103971441592723">A képernyőfelvétel elindult</translation> <translation id="7844689747373518809">{COUNT,plural, =0{Nincs}=1{1 alkalmazás (<ph name="EXAMPLE_APP_1" />)}=2{2 alkalmazás (<ph name="EXAMPLE_APP_1" />, <ph name="EXAMPLE_APP_2" />)}other{# alkalmazás (<ph name="EXAMPLE_APP_1" />, <ph name="EXAMPLE_APP_2" /> <ph name="AND_MORE" />)}}</translation> <translation id="7855695075675558090"><ph name="TOTAL_LABEL" />: <ph name="FORMATTED_TOTAL_AMOUNT" /> <ph name="CURRENCY_CODE" /></translation> <translation id="7862185352068345852">Elhagyja a webhelyet?</translation> @@ -2892,6 +2893,7 @@ <translation id="8282947398454257691">Az egyedi eszközazonosító megtekintése</translation> <translation id="8284769179630993263">A Biztonságos böngészés és más funkciók kezelése a Chrome-beállítások között</translation> <translation id="8286036467436129157">Bejelentkezés</translation> +<translation id="8286799286781881307">A rendszergazda által engedélyezett alkalmazások az eszközhöz csatlakoztatott összes képernyőről képesek felvételt készíteni. Ezek az információk feldolgozhatók helyben, vagy fel lehet tölteni őket a szervezet szervereire.</translation> <translation id="8288807391153049143">Tanúsítvány megjelenítése</translation> <translation id="8289355894181816810">Forduljon a hálózati rendszergazdához, ha nem tudja, hogy ez mit jelent.</translation> <translation id="8293206222192510085">Könyvjelző hozzáadása</translation>
diff --git a/components/strings/components_strings_nl.xtb b/components/strings/components_strings_nl.xtb index 6b9b538..9207be9 100644 --- a/components/strings/components_strings_nl.xtb +++ b/components/strings/components_strings_nl.xtb
@@ -2710,6 +2710,7 @@ <translation id="7815407501681723534"><ph name="NUMBER_OF_RESULTS" /> <ph name="SEARCH_RESULTS" /> gevonden voor '<ph name="SEARCH_STRING" />'</translation> <translation id="7822320754433038727">Jacht en schietsport</translation> <translation id="782886543891417279">Het is mogelijk dat je de inlogpagina moet bezoeken van het wifi-netwerk (<ph name="WIFI_NAME" />) dat je gebruikt.</translation> +<translation id="7840103971441592723">Schermopname is gestart</translation> <translation id="7844689747373518809">{COUNT,plural, =0{Geen}=1{1 app (<ph name="EXAMPLE_APP_1" />)}=2{2 apps (<ph name="EXAMPLE_APP_1" />, <ph name="EXAMPLE_APP_2" />)}other{# apps (<ph name="EXAMPLE_APP_1" />, <ph name="EXAMPLE_APP_2" />, <ph name="AND_MORE" />)}}</translation> <translation id="7855695075675558090"><ph name="TOTAL_LABEL" /> <ph name="CURRENCY_CODE" /> <ph name="FORMATTED_TOTAL_AMOUNT" /></translation> <translation id="7862185352068345852">Site verlaten?</translation> @@ -2888,6 +2889,7 @@ <translation id="8282947398454257691">Je unieke apparaat-ID weten</translation> <translation id="8284769179630993263">Safe Browsing en meer beheren in de Chrome-instellingen</translation> <translation id="8286036467436129157">Inloggen</translation> +<translation id="8286799286781881307">Apps die zijn geautoriseerd door je beheerder kunnen alle schermen vastleggen die zijn verbonden met je apparaat. Deze informatie kan lokaal worden verwerkt of geüpload naar de servers van je organisatie.</translation> <translation id="8288807391153049143">Certificaat bekijken</translation> <translation id="8289355894181816810">Neem contact op met je netwerkbeheerder als je niet zeker weet wat dit betekent.</translation> <translation id="8293206222192510085">Bookmark toevoegen</translation>
diff --git a/components/strings/components_strings_sl.xtb b/components/strings/components_strings_sl.xtb index d0b3d4f0..2c4c78e3 100644 --- a/components/strings/components_strings_sl.xtb +++ b/components/strings/components_strings_sl.xtb
@@ -2716,6 +2716,7 @@ <translation id="7815407501681723534">Za »<ph name="SEARCH_STRING" />« je bilo najdenih toliko <ph name="SEARCH_RESULTS" />: <ph name="NUMBER_OF_RESULTS" />.</translation> <translation id="7822320754433038727">Lov in streljanje</translation> <translation id="782886543891417279">Omrežje Wi-Fi, ki ga uporabljate (<ph name="WIFI_NAME" />), morda zahteva, da obiščete stran za prijavo.</translation> +<translation id="7840103971441592723">Začel se je zajem zaslonske slike.</translation> <translation id="7844689747373518809">{COUNT,plural, =0{Brez}=1{1 aplikacija (<ph name="EXAMPLE_APP_1" />)}=2{2 aplikaciji (<ph name="EXAMPLE_APP_1" />, <ph name="EXAMPLE_APP_2" />)}one{# aplikacija (<ph name="EXAMPLE_APP_1" />, <ph name="EXAMPLE_APP_2" />, <ph name="AND_MORE" />)}two{# aplikaciji (<ph name="EXAMPLE_APP_1" />, <ph name="EXAMPLE_APP_2" />, <ph name="AND_MORE" />)}few{# aplikacije (<ph name="EXAMPLE_APP_1" />, <ph name="EXAMPLE_APP_2" />, <ph name="AND_MORE" />)}other{# aplikacij (<ph name="EXAMPLE_APP_1" />, <ph name="EXAMPLE_APP_2" />, <ph name="AND_MORE" />)}}</translation> <translation id="7855695075675558090"><ph name="TOTAL_LABEL" />: <ph name="FORMATTED_TOTAL_AMOUNT" /> <ph name="CURRENCY_CODE" /></translation> <translation id="7862185352068345852">Želite zapustiti spletno mesto?</translation> @@ -2894,6 +2895,7 @@ <translation id="8282947398454257691">podatke o edinstvenem identifikatorju naprave</translation> <translation id="8284769179630993263">Upravljajte Varno brskanje in drugo v Chromovih nastavitvah.</translation> <translation id="8286036467436129157">Prijava</translation> +<translation id="8286799286781881307">Aplikacije, ki jih je pooblastil skrbnik, lahko zajamejo vsebino vseh zaslonov, priključenih na napravo. Te podatke je mogoče obdelati lokalno ali naložiti v strežnike organizacije.</translation> <translation id="8288807391153049143">Prikaz potrdila</translation> <translation id="8289355894181816810">Če niste prepričani, kaj to pomeni, se obrnite na skrbnika omrežja.</translation> <translation id="8293206222192510085">Dodaj zaznamek</translation>
diff --git a/components/strings/components_strings_sv.xtb b/components/strings/components_strings_sv.xtb index 34e3658..fde3e1d 100644 --- a/components/strings/components_strings_sv.xtb +++ b/components/strings/components_strings_sv.xtb
@@ -2716,6 +2716,7 @@ <translation id="7815407501681723534">Hittade <ph name="NUMBER_OF_RESULTS" /> <ph name="SEARCH_RESULTS" /> för <ph name="SEARCH_STRING" /></translation> <translation id="7822320754433038727">Jakt och skytte</translation> <translation id="782886543891417279">wifi-nätverket du använder (<ph name="WIFI_NAME" />) kanske kräver att du besöker dess inloggningssida.</translation> +<translation id="7840103971441592723">Skärmbild/skärminspelning har startats</translation> <translation id="7844689747373518809">{COUNT,plural, =0{Inga}=1{1 app (<ph name="EXAMPLE_APP_1" />)}=2{2 appar (<ph name="EXAMPLE_APP_1" />, <ph name="EXAMPLE_APP_2" />)}other{# appar (<ph name="EXAMPLE_APP_1" />, <ph name="EXAMPLE_APP_2" />, <ph name="AND_MORE" />)}}</translation> <translation id="7855695075675558090"><ph name="TOTAL_LABEL" /> <ph name="FORMATTED_TOTAL_AMOUNT" /> <ph name="CURRENCY_CODE" /></translation> <translation id="7862185352068345852">Vill du lämna webbplatsen?</translation> @@ -2894,6 +2895,7 @@ <translation id="8282947398454257691">Veta din unika enhetsidentifierare</translation> <translation id="8284769179630993263">Hantera Säker webbsökning med mera i inställningarna för Chrome</translation> <translation id="8286036467436129157">Logga in</translation> +<translation id="8286799286781881307">Appar som har godkänts av administratören kan ta skärmbilder på alla skärmar som är kopplade till enheten. Den här informationen kan behandlas lokalt eller laddas upp till organisationens servrar.</translation> <translation id="8288807391153049143">Visa certifikat</translation> <translation id="8289355894181816810">Kontakta din nätverksadministratör om du är osäker på vad det här innebär.</translation> <translation id="8293206222192510085">Lägg till bokmärke</translation>
diff --git a/components/strings/components_strings_zu.xtb b/components/strings/components_strings_zu.xtb index dcebce58..a7ee0f8e 100644 --- a/components/strings/components_strings_zu.xtb +++ b/components/strings/components_strings_zu.xtb
@@ -2713,6 +2713,7 @@ <translation id="7815407501681723534">Kutholakele <ph name="NUMBER_OF_RESULTS" /> <ph name="SEARCH_RESULTS" /> kwe-'<ph name="SEARCH_STRING" />'</translation> <translation id="7822320754433038727">Ukuzingela nokudubula</translation> <translation id="782886543891417279">I-Wi-Fi oyisebenzisayo (<ph name="WIFI_NAME" />) ingadinga ukuthi uvakashele ikhasi layo lokungena ngemvume.</translation> +<translation id="7840103971441592723">Ukuthwebula isikrini kuqalile</translation> <translation id="7844689747373518809">{COUNT,plural, =0{Lutho}=1{1 uhlelo lokusebenza (<ph name="EXAMPLE_APP_1" />)}=2{2 izinhlelo zokusebenza (<ph name="EXAMPLE_APP_1" />, <ph name="EXAMPLE_APP_2" />)}one{# izinhlelo zokusebenza (<ph name="EXAMPLE_APP_1" />, <ph name="EXAMPLE_APP_2" />, <ph name="AND_MORE" />)}other{# izinhlelo zokusebenza (<ph name="EXAMPLE_APP_1" />, <ph name="EXAMPLE_APP_2" />, <ph name="AND_MORE" />)}}</translation> <translation id="7855695075675558090"><ph name="TOTAL_LABEL" /> <ph name="CURRENCY_CODE" /> <ph name="FORMATTED_TOTAL_AMOUNT" /></translation> <translation id="7862185352068345852">Shiya isayithi?</translation> @@ -2891,6 +2892,7 @@ <translation id="8282947398454257691">Yazi isikhombi sedivayisi yakho ehlukile</translation> <translation id="8284769179630993263">Phatha Ukuphequlula kwakho okuphephile nokuningi kumasethingi we-Chrome</translation> <translation id="8286036467436129157">Ngena Ngemvume</translation> +<translation id="8286799286781881307">Ama-application agunyazwe umlawuli wakho angathwebula zonke izikrini ezinanyathiselwe kudivayisi yakho. Lolu lwazi lungacutshungulwa endaweni noma lulayishwe eziphakelini zenhlangano yakho.</translation> <translation id="8288807391153049143">Bonisa isitifiketi</translation> <translation id="8289355894181816810">Xhumana nomlawuli wenethiwekhi yakho uma ngabe ungenaso isiqiniseko sokuthi lokhu kusho ukuthini.</translation> <translation id="8293206222192510085">Engeza ibhukhimakhi</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_bn.xtb b/ios/chrome/app/strings/resources/ios_strings_bn.xtb index c48c671..5d7913f 100644 --- a/ios/chrome/app/strings/resources/ios_strings_bn.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_bn.xtb
@@ -510,6 +510,7 @@ <translation id="481968316161811770">কুকিজ, সাইট ডেটা</translation> <translation id="4824497107140370669">{count,plural, =0{{domain}}=1{{domain} এবং আরও ১টি}one{{domain} এবং আরও {count}টি}other{{domain} এবং আরও {count}টি}}</translation> <translation id="4826218269716039351">থার্ড-পার্টি ব্লক করুন</translation> +<translation id="4826588772550366629">ক্যামেরা এবং মাইক্রোফোন</translation> <translation id="4826726074642088322">হাইলাইট শেয়ার করুন</translation> <translation id="48274138579728272">'পড়া হয়েছে' হিসেবে চিহ্নিত করুন</translation> <translation id="4833686396768033263">'সাম্প্রতিক ট্যাব' উপলভ্য নেই</translation> @@ -562,6 +563,7 @@ <translation id="5190835502935405962">বুকমার্ক বার</translation> <translation id="519530786644929958">ডাউনলোড করা যায়নি এবং আবার চেষ্টা করা যাবে না।</translation> <translation id="5197255632782567636">ইন্টারনেট</translation> +<translation id="5211488077761630279">আপনার <ph name="PERMISSION" /> ব্যবহার করতে "<ph name="SITE_NAME" />"-কে অনুমতি দেবেন?</translation> <translation id="5219295696240154694">সকলের জন্য ওয়েবে নিরাপত্তা উন্নত করতে সাহায্য করে</translation> <translation id="5228579091201413441">সিঙ্ক সক্ষম করুন</translation> <translation id="5232485538978018676">ম্যানেজ করা অ্যাকাউন্ট ব্যবহার করে সাইন-ইন করুন</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_bs.xtb b/ios/chrome/app/strings/resources/ios_strings_bs.xtb index 27d2d5c..022ecda 100644 --- a/ios/chrome/app/strings/resources/ios_strings_bs.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_bs.xtb
@@ -4,6 +4,7 @@ <translation id="1005230401424685968">GGGG</translation> <translation id="1013952917065545813">Možete se vratiti ovdje da ponovo otvorite kartice koje ste nedavno zatvorili</translation> <translation id="1016495303386450659">Stavka je ažurirana</translation> +<translation id="1035980983510608210">Zatvaranjem svih kartica zatvorit će se i prikvačene kartice.</translation> <translation id="1044891598689252897">Web lokacije će normalno funkcionirati</translation> <translation id="1049743911850919806">Anonimno</translation> <translation id="105093091697134113">Sljedeći računi koriste lozinke koje su izložene u narušavanju podataka trećih strana ili koje su unesene na obmanujućoj web lokaciji. Odmah promijenite te lozinke da zaštitite račune.</translation> @@ -208,6 +209,7 @@ <translation id="2578571896248130439">Pošalji web stranicu</translation> <translation id="2584132361465095047">Dodaj račun…</translation> <translation id="2600682495497606169">Obriši kolačiće web lokacije</translation> +<translation id="2609008503159898744">Zatvoriti sve kartice?</translation> <translation id="2625189173221582860">Zaporka je kopirana</translation> <translation id="2626236249646841566">Provjerite vezu i ponovo se pokušajte prijaviti.</translation> <translation id="2637313651144986786">Pretraživanje kartica...</translation> @@ -299,6 +301,7 @@ <translation id="3174662312949010067">Također možete koristiti sačuvane lozinke na drugim uređajima.</translation> <translation id="3175081911749765310">Web usluge</translation> <translation id="3178650076442119961">Aktivan danas</translation> +<translation id="3181261441371833039">Zatvori samo uobičajene kartice</translation> <translation id="3181825792072797598">Uključi Sinkronizaciju</translation> <translation id="3181954750937456830">Sigurno pregledavanje (štiti vas i vaš uređaj od opasnih web-lokacija)</translation> <translation id="3184767182050912705">Koristi <ph name="BIOMETRIC_AUTHENITCATION_TYPE" /> za otključavanje</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_cy.xtb b/ios/chrome/app/strings/resources/ios_strings_cy.xtb index ac91020..68fe86a0 100644 --- a/ios/chrome/app/strings/resources/ios_strings_cy.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_cy.xtb
@@ -510,6 +510,7 @@ <translation id="481968316161811770">Cwcis, Data Gwefan</translation> <translation id="4824497107140370669">{count,plural, =0{{domain}}=1{{domain} ac 1 arall}two{{domain} a {count} arall}few{{domain} a {count} arall}many{{domain} a {count} arall}other{{domain} a {count} arall}}</translation> <translation id="4826218269716039351">Rhwystro Trydydd Parti</translation> +<translation id="4826588772550366629">camera a meicroffon</translation> <translation id="4826726074642088322">Rhannu'r Testun a Amlygir</translation> <translation id="48274138579728272">Marcio fel wedi'i Ddarllen</translation> <translation id="4833686396768033263">Nid yw'r Tabiau Diweddar ar gael</translation> @@ -562,6 +563,7 @@ <translation id="5190835502935405962">Bar Nodau Tudalen</translation> <translation id="519530786644929958">Lawrlwytho wedi methu ac ni ellir rhoi cynni arall arni.</translation> <translation id="5197255632782567636">Rhyngrwyd</translation> +<translation id="5211488077761630279">Caniatáu i "<ph name="SITE_NAME" />" ddefnyddio eich <ph name="PERMISSION" />?</translation> <translation id="5219295696240154694">Helpwch i Wella Diogelwch ar y We i Bawb</translation> <translation id="5228579091201413441">Galluogi cysoni</translation> <translation id="5232485538978018676">Mewngofnodwch gyda Chyfrif a Reolir</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_da.xtb b/ios/chrome/app/strings/resources/ios_strings_da.xtb index eba468e..ebb4bf4 100644 --- a/ios/chrome/app/strings/resources/ios_strings_da.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_da.xtb
@@ -510,6 +510,7 @@ <translation id="481968316161811770">Cookies, websitedata</translation> <translation id="4824497107140370669">{count,plural, =0{{domain}}=1{{domain} og 1 mere}one{{domain} og {count} mere}other{{domain} og {count} mere}}</translation> <translation id="4826218269716039351">Bloker cookies fra tredjeparter</translation> +<translation id="4826588772550366629">kameraet og mikrofonen</translation> <translation id="4826726074642088322">Del fremhævning</translation> <translation id="48274138579728272">Markér som læst</translation> <translation id="4833686396768033263">Seneste faner er ikke tilgængelige</translation> @@ -562,6 +563,7 @@ <translation id="5190835502935405962">Bogmærkelinje</translation> <translation id="519530786644929958">Downloaden mislykkedes og kan ikke gentages.</translation> <translation id="5197255632782567636">Internet</translation> +<translation id="5211488077761630279">Vil du tillade, at "<ph name="SITE_NAME" />" bruger <ph name="PERMISSION" />?</translation> <translation id="5219295696240154694">Vær med til at forbedre sikkerheden for alle på nettet</translation> <translation id="5228579091201413441">Aktivér synkronisering</translation> <translation id="5232485538978018676">Log ind med Managerkonto</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 fb8645f..0fe2992 100644 --- a/ios/chrome/app/strings/resources/ios_strings_en-GB.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_en-GB.xtb
@@ -4,6 +4,7 @@ <translation id="1005230401424685968">YYYY</translation> <translation id="1013952917065545813">You can come back here to reopen tabs that you've recently closed</translation> <translation id="1016495303386450659">Item updated</translation> +<translation id="1035980983510608210">Closing all tabs will close pinned tabs as well.</translation> <translation id="1044891598689252897">Sites will work normally</translation> <translation id="1049743911850919806">Incognito</translation> <translation id="105093091697134113">The following accounts use passwords which were exposed in a third-party data breach or entered on a deceptive website. Change these passwords immediately to keep your accounts safe.</translation> @@ -208,6 +209,7 @@ <translation id="2578571896248130439">Send Web Page</translation> <translation id="2584132361465095047">Add Account…</translation> <translation id="2600682495497606169">Clear site cookies</translation> +<translation id="2609008503159898744">Close all tabs?</translation> <translation id="2625189173221582860">Password copied</translation> <translation id="2626236249646841566">Check your connection and try signing in again.</translation> <translation id="2637313651144986786">Search Tabs…</translation> @@ -299,6 +301,7 @@ <translation id="3174662312949010067">You can also use saved passwords on your other devices.</translation> <translation id="3175081911749765310">Web Services</translation> <translation id="3178650076442119961">Active today</translation> +<translation id="3181261441371833039">Close regular tabs only</translation> <translation id="3181825792072797598">Turn on Sync</translation> <translation id="3181954750937456830">Safe Browsing (protects you and your device from dangerous sites)</translation> <translation id="3184767182050912705">Unlock with <ph name="BIOMETRIC_AUTHENITCATION_TYPE" /></translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_fa.xtb b/ios/chrome/app/strings/resources/ios_strings_fa.xtb index f4cdcc8..d131e21 100644 --- a/ios/chrome/app/strings/resources/ios_strings_fa.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_fa.xtb
@@ -510,6 +510,7 @@ <translation id="481968316161811770">کوکیها، دادههای سایت</translation> <translation id="4824497107140370669">{count,plural, =0{{domain}}=1{{domain}، و ۱ مورد دیگر}one{{domain} و {count} مورد دیگر}other{{domain} و {count} مورد دیگر}}</translation> <translation id="4826218269716039351">مسدود کردن کوکیهای شخص ثالث</translation> +<translation id="4826588772550366629">دوربین و میکروفون</translation> <translation id="4826726074642088322">همرسانی مورد برجسته</translation> <translation id="48274138579728272">علامتگذاری بهعنوان خواندهشده</translation> <translation id="4833686396768033263">«برگههای اخیر» دردسترس نیست</translation> @@ -562,6 +563,7 @@ <translation id="5190835502935405962">نوار نشانکها</translation> <translation id="519530786644929958">بارگیری موفق نبود و نمیتوان آن را دوباره انجام داد.</translation> <translation id="5197255632782567636">اینترنت</translation> +<translation id="5211488077761630279">«<ph name="SITE_NAME" />» مجاز باشد از <ph name="PERMISSION" /> استفاده کند؟</translation> <translation id="5219295696240154694">به بهبود امنیت برای همه کاربران وب کمک کنید</translation> <translation id="5228579091201413441">فعال کردن همگامسازی</translation> <translation id="5232485538978018676">ورود به سیستم با «حساب مدیریتشده»</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_fi.xtb b/ios/chrome/app/strings/resources/ios_strings_fi.xtb index fb0e5f9..1e7ca4509 100644 --- a/ios/chrome/app/strings/resources/ios_strings_fi.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_fi.xtb
@@ -510,6 +510,7 @@ <translation id="481968316161811770">Evästeet, sivuston tiedot</translation> <translation id="4824497107140370669">{count,plural, =0{{domain}}=1{{domain} ja 1 muu}other{{domain} ja {count} muuta}}</translation> <translation id="4826218269716039351">Estä kolmannen osapuolen evästeet</translation> +<translation id="4826588772550366629">kameraasi ja mikrofoniasi</translation> <translation id="4826726074642088322">Jaa korostettu</translation> <translation id="48274138579728272">Merkitse luetuksi</translation> <translation id="4833686396768033263">Viimeaikaiset välilehdet eivät ole saatavilla</translation> @@ -562,6 +563,7 @@ <translation id="5190835502935405962">Kirjanmerkkipalkki</translation> <translation id="519530786644929958">Lataus epäonnistui, eikä sitä voi yrittää uudelleen.</translation> <translation id="5197255632782567636">Internet</translation> +<translation id="5211488077761630279">Saako <ph name="SITE_NAME" /> käyttää <ph name="PERMISSION" />?</translation> <translation id="5219295696240154694">Auta lisäämään verkon turvallisuutta kaikille</translation> <translation id="5228579091201413441">Ota synkronointi käyttöön</translation> <translation id="5232485538978018676">Kirjaudu sisään hallinnoidulla tilillä</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 312a9c1..60228f7 100644 --- a/ios/chrome/app/strings/resources/ios_strings_fr-CA.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_fr-CA.xtb
@@ -510,6 +510,7 @@ <translation id="481968316161811770">Témoins, données de sites</translation> <translation id="4824497107140370669">{count,plural, =0{{domain}}=1{{domain} et 1 autre}one{{domain} et {count} autre}other{{domain} et {count} autres}}</translation> <translation id="4826218269716039351">Bloquer les témoins tiers</translation> +<translation id="4826588772550366629">caméra et microphone</translation> <translation id="4826726074642088322">Partager le contenu mis en évidence</translation> <translation id="48274138579728272">Marquer comme lu</translation> <translation id="4833686396768033263">Les onglets récents ne sont pas accessibles</translation> @@ -562,6 +563,7 @@ <translation id="5190835502935405962">Barre de favoris</translation> <translation id="519530786644929958">Le téléchargement a échoué et ne peut pas être réessayé.</translation> <translation id="5197255632782567636">Internet</translation> +<translation id="5211488077761630279">Autoriser « <ph name="SITE_NAME" /> » à utiliser votre <ph name="PERMISSION" />?</translation> <translation id="5219295696240154694">Contribuer à l'amélioration de la sécurité sur le Web pour tous</translation> <translation id="5228579091201413441">Activer la synchronisation</translation> <translation id="5232485538978018676">Se connecter avec un compte géré</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_fr.xtb b/ios/chrome/app/strings/resources/ios_strings_fr.xtb index 53aa751..269ff8b2 100644 --- a/ios/chrome/app/strings/resources/ios_strings_fr.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_fr.xtb
@@ -510,6 +510,7 @@ <translation id="481968316161811770">Cookies/données site</translation> <translation id="4824497107140370669">{count,plural, =0{{domain}}=1{{domain} et 1 autre}one{{domain} et {count} autre}other{{domain} et {count} autres}}</translation> <translation id="4826218269716039351">Bloquer les cookies tiers</translation> +<translation id="4826588772550366629">votre caméra et votre micro</translation> <translation id="4826726074642088322">Partager le texte en surbrillance</translation> <translation id="48274138579728272">Marquer comme lu</translation> <translation id="4833686396768033263">Onglets récents indisponibles</translation> @@ -562,6 +563,7 @@ <translation id="5190835502935405962">Barre de favoris</translation> <translation id="519530786644929958">Échec du téléchargement. Nouvelle tentative impossible.</translation> <translation id="5197255632782567636">Internet</translation> +<translation id="5211488077761630279">Autoriser <ph name="SITE_NAME" /> à utiliser <ph name="PERMISSION" /> ?</translation> <translation id="5219295696240154694">Contribuer à améliorer la sécurité sur le Web pour tous</translation> <translation id="5228579091201413441">Activer la synchronisation</translation> <translation id="5232485538978018676">Se connecter avec un compte géré</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_hr.xtb b/ios/chrome/app/strings/resources/ios_strings_hr.xtb index 481b493..9739acb3 100644 --- a/ios/chrome/app/strings/resources/ios_strings_hr.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_hr.xtb
@@ -4,6 +4,7 @@ <translation id="1005230401424685968">GGGG</translation> <translation id="1013952917065545813">Ovdje se možete vratiti da biste ponovo otvorili kartice koje ste nedavno zatvorili</translation> <translation id="1016495303386450659">Stavka je ažurirana</translation> +<translation id="1035980983510608210">Zatvaranjem svih kartica zatvorit će se i prikvačene kartice.</translation> <translation id="1044891598689252897">Web-lokacije će normalno raditi</translation> <translation id="1049743911850919806">Anonimno</translation> <translation id="105093091697134113">Sljedeći računi koriste zaporke koje su ugrožene zbog povrede podataka treće strane ili unesene na obmanjujuću web-lokaciju. Odmah promijenite te zaporke da biste zaštitili svoje račune.</translation> @@ -208,6 +209,7 @@ <translation id="2578571896248130439">Pošalji web-stranicu</translation> <translation id="2584132361465095047">Dodaj račun…</translation> <translation id="2600682495497606169">Izbriši kolačiće web-lokacija</translation> +<translation id="2609008503159898744">Zatvoriti sve kartice?</translation> <translation id="2625189173221582860">Zaporka je kopirana</translation> <translation id="2626236249646841566">Provjerite vezu i pokušajte se ponovno prijaviti.</translation> <translation id="2637313651144986786">Pretraži kartice...</translation> @@ -299,6 +301,7 @@ <translation id="3174662312949010067">Spremljene zaporke možete upotrebljavati i na vašim ostalim uređajima.</translation> <translation id="3175081911749765310">Web-usluge</translation> <translation id="3178650076442119961">Aktivan danas</translation> +<translation id="3181261441371833039">Zatvori samo uobičajene kartice</translation> <translation id="3181825792072797598">Uključi Sinkronizaciju</translation> <translation id="3181954750937456830">Sigurno pregledavanje (štiti vas i vaš uređaj od opasnih web-lokacija)</translation> <translation id="3184767182050912705">Otključaj pomoću opcije <ph name="BIOMETRIC_AUTHENITCATION_TYPE" /></translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_hu.xtb b/ios/chrome/app/strings/resources/ios_strings_hu.xtb index 97d782fe..d5f469f 100644 --- a/ios/chrome/app/strings/resources/ios_strings_hu.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_hu.xtb
@@ -510,6 +510,7 @@ <translation id="481968316161811770">Cookie-k, webhelyadatok</translation> <translation id="4824497107140370669">{count,plural, =0{{domain}}=1{{domain} és további 1}other{{domain} és további {count}}}</translation> <translation id="4826218269716039351">Harmadik féltől származó cookie-k letiltása</translation> +<translation id="4826588772550366629">kamera és mikrofon</translation> <translation id="4826726074642088322">Kiemelés megosztása</translation> <translation id="48274138579728272">Megjelölés olvasottként</translation> <translation id="4833686396768033263">A nemrég megnyitott lapok nem állnak rendelkezésre</translation> @@ -562,6 +563,7 @@ <translation id="5190835502935405962">Könyvjelzősáv</translation> <translation id="519530786644929958">A letöltés meghiúsult, nem lehet újrapróbálni.</translation> <translation id="5197255632782567636">Internet</translation> +<translation id="5211488077761630279">Engedélyezi a(z) „<ph name="SITE_NAME" />” számára a(z) <ph name="PERMISSION" /> használatát?</translation> <translation id="5219295696240154694">Segítsen nekünk abban, hogy mindenkinek biztonságosabbá tegyük az internetezést</translation> <translation id="5228579091201413441">Szinkronizálás bekapcsolása</translation> <translation id="5232485538978018676">Bejelentkezés felügyelt fiókkal</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_nl.xtb b/ios/chrome/app/strings/resources/ios_strings_nl.xtb index 8e4e2dff..29d46895 100644 --- a/ios/chrome/app/strings/resources/ios_strings_nl.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_nl.xtb
@@ -510,6 +510,7 @@ <translation id="481968316161811770">Cookies en sitegegevens</translation> <translation id="4824497107140370669">{count,plural, =0{{domain}}=1{{domain} en 1 andere}other{{domain} en {count} andere}}</translation> <translation id="4826218269716039351">Cookies van derden blokkeren</translation> +<translation id="4826588772550366629">camera en microfoon</translation> <translation id="4826726074642088322">Gemarkeerde tekst delen</translation> <translation id="48274138579728272">Markeren als gelezen</translation> <translation id="4833686396768033263">Recente tabbladen zijn niet beschikbaar</translation> @@ -562,6 +563,7 @@ <translation id="5190835502935405962">Bookmarkbalk</translation> <translation id="519530786644929958">Downloaden is mislukt en kan niet opnieuw worden geprobeerd.</translation> <translation id="5197255632782567636">Internet</translation> +<translation id="5211488077761630279">Toestaan dat <ph name="SITE_NAME" /> je <ph name="PERMISSION" /> gebruikt?</translation> <translation id="5219295696240154694">Helpen om het internet voor iedereen veiliger te maken</translation> <translation id="5228579091201413441">Synchronisatie aanzetten</translation> <translation id="5232485538978018676">Inloggen met een beheerd account</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 f679bf7..78d3f90 100644 --- a/ios/chrome/app/strings/resources/ios_strings_pt-PT.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_pt-PT.xtb
@@ -4,6 +4,7 @@ <translation id="1005230401424685968">AAAA</translation> <translation id="1013952917065545813">Pode voltar aqui para reabrir separadores que tenha fechado recentemente.</translation> <translation id="1016495303386450659">Item atualizado</translation> +<translation id="1035980983510608210">Se fechar todos os separadores, os separadores fixos também são fechados.</translation> <translation id="1044891598689252897">Os sites funcionam normalmente.</translation> <translation id="1049743911850919806">Navegação anónima</translation> <translation id="105093091697134113">As seguintes contas utilizam palavras-passe que foram expostas numa violação de dados de terceiros ou introduzidas num Website fraudulento. Altere estas palavras-passe imediatamente para manter as suas contas seguras.</translation> @@ -208,6 +209,7 @@ <translation id="2578571896248130439">Envie a página Web</translation> <translation id="2584132361465095047">Adicionar conta...</translation> <translation id="2600682495497606169">Limpar cookies de sites</translation> +<translation id="2609008503159898744">Fechar todos os separadores?</translation> <translation id="2625189173221582860">Palavra-passe copiada</translation> <translation id="2626236249646841566">Verifique a sua ligação e experimente iniciar sessão novamente.</translation> <translation id="2637313651144986786">Pesquisar separadores…</translation> @@ -299,6 +301,7 @@ <translation id="3174662312949010067">Também pode utilizar palavras-passe guardadas nos outros dispositivos.</translation> <translation id="3175081911749765310">Serviços Web</translation> <translation id="3178650076442119961">Ativo hoje</translation> +<translation id="3181261441371833039">Fechar apenas separadores normais</translation> <translation id="3181825792072797598">Ativar Sincronização</translation> <translation id="3181954750937456830">Navegação segura (protege o utilizador e o seu dispositivo contra sites perigosos)</translation> <translation id="3184767182050912705">Desbloquear com <ph name="BIOMETRIC_AUTHENITCATION_TYPE" /></translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_sl.xtb b/ios/chrome/app/strings/resources/ios_strings_sl.xtb index 5f75541a..a224d69 100644 --- a/ios/chrome/app/strings/resources/ios_strings_sl.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_sl.xtb
@@ -510,6 +510,7 @@ <translation id="481968316161811770">Cookies, Site Data</translation> <translation id="4824497107140370669">{count,plural, =0{{domain}}=1{{domain} in še 1}one{{domain} in še {count}}two{{domain} in še {count}}few{{domain} in še {count}}other{{domain} in še {count}}}</translation> <translation id="4826218269716039351">Blokiraj piškotke drugih spletnih mest</translation> +<translation id="4826588772550366629">kamero in mikrofon</translation> <translation id="4826726074642088322">Deli oznako</translation> <translation id="48274138579728272">Označi kot prebrano</translation> <translation id="4833686396768033263">Nedavni zavihki niso na voljo</translation> @@ -562,6 +563,7 @@ <translation id="5190835502935405962">Vrstica z zaznamki</translation> <translation id="519530786644929958">Prenos ni uspel in ga ni mogoče poskusiti znova.</translation> <translation id="5197255632782567636">Internet</translation> +<translation id="5211488077761630279">Ali spletnemu mestu »<ph name="SITE_NAME" />« dovolite uporabo dovoljenja za <ph name="PERMISSION" />?</translation> <translation id="5219295696240154694">Pomagajte izboljšati varnost v spletu za vse</translation> <translation id="5228579091201413441">Omogoči sinhronizacijo</translation> <translation id="5232485538978018676">Prijava z upravljanim računom</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_sv.xtb b/ios/chrome/app/strings/resources/ios_strings_sv.xtb index d4fbe8a..5d108de 100644 --- a/ios/chrome/app/strings/resources/ios_strings_sv.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_sv.xtb
@@ -510,6 +510,7 @@ <translation id="481968316161811770">Cookies, webbplatsdata</translation> <translation id="4824497107140370669">{count,plural, =0{{domain}}=1{{domain} och 1 till}other{{domain} och {count} till}}</translation> <translation id="4826218269716039351">Blockera cookies från tredje part</translation> +<translation id="4826588772550366629">kamera och mikrofon</translation> <translation id="4826726074642088322">Dela markering</translation> <translation id="48274138579728272">Markera som läst</translation> <translation id="4833686396768033263">De senaste flikarna är inte tillgängliga</translation> @@ -562,6 +563,7 @@ <translation id="5190835502935405962">Bokmärkesfältet</translation> <translation id="519530786644929958">Nedladdningen misslyckades. Det går inte att försöka igen.</translation> <translation id="5197255632782567636">Internet</translation> +<translation id="5211488077761630279">Vill du tillåta att <ph name="SITE_NAME" /> använder din <ph name="PERMISSION" />?</translation> <translation id="5219295696240154694">Hjälp till att förbättra säkerheten på webben för alla</translation> <translation id="5228579091201413441">Aktivera synkronisering</translation> <translation id="5232485538978018676">Logga in med ett hanterat konto</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_zu.xtb b/ios/chrome/app/strings/resources/ios_strings_zu.xtb index 84c03547..50033e9 100644 --- a/ios/chrome/app/strings/resources/ios_strings_zu.xtb +++ b/ios/chrome/app/strings/resources/ios_strings_zu.xtb
@@ -510,6 +510,7 @@ <translation id="481968316161811770">Amakhukhi, idatha yesayithi</translation> <translation id="4824497107140370669">{count,plural, =0{{domain}}=1{{domain}, nolunye olungu-1}one{{domain} nabanye abangu-{count}}other{{domain} nabanye abangu-{count}}}</translation> <translation id="4826218269716039351">Vimba inkampani yangaphandle</translation> +<translation id="4826588772550366629">ikhamela nemakrofoni</translation> <translation id="4826726074642088322">Yabelana Ngokugqamile</translation> <translation id="48274138579728272">Maka njengokufundiwe</translation> <translation id="4833686396768033263">Amathebhu wakamuva Awatholakali</translation> @@ -562,6 +563,7 @@ <translation id="5190835502935405962">Ibha yamabhukhimakhi</translation> <translation id="519530786644929958">Ukudawuniloda kuhlulekile futhi akukwazi ukuphinda kuzanywe.</translation> <translation id="5197255632782567636">I-inthanethi</translation> +<translation id="5211488077761630279">Vumela "<ph name="SITE_NAME" />" ukuthi isebenzise i-<ph name="PERMISSION" /> yakho?</translation> <translation id="5219295696240154694">Siza Ukuthuthukisa Ukuvikelwa Kuwebhu Kwawo Wonke Umuntu</translation> <translation id="5228579091201413441">Nika amandla ukuvumelanisa</translation> <translation id="5232485538978018676">Ngena ngemvume nge-akhawunti ephethwe</translation>
diff --git a/ios/chrome/browser/commerce/push_notification/BUILD.gn b/ios/chrome/browser/commerce/push_notification/BUILD.gn index 878903a3..7b7fd91 100644 --- a/ios/chrome/browser/commerce/push_notification/BUILD.gn +++ b/ios/chrome/browser/commerce/push_notification/BUILD.gn
@@ -13,11 +13,40 @@ deps = [ "//base", "//components/commerce/core:feature_list", + "//components/commerce/core:proto", + "//components/optimization_guide/proto:optimization_guide_proto", + "//ios/chrome/browser/application_context:application_context", + "//ios/chrome/browser/browser_state:browser_state", + "//ios/chrome/browser/main:public", "//ios/chrome/browser/optimization_guide", "//ios/chrome/browser/push_notification:push_notification_client", + "//ios/chrome/browser/url_loading", + "//url:url", ] frameworks = [ "UserNotifications.framework" ] configs += [ "//build/config/compiler:enable_arc" ] } + +source_set("unit_tests") { + configs += [ "//build/config/compiler:enable_arc" ] + testonly = true + sources = [ "commerce_push_notification_client_unittest.mm" ] + deps = [ + ":push_notification", + "//base", + "//base/test:test_support", + "//components/commerce/core:proto", + "//components/optimization_guide/proto:optimization_guide_proto", + "//ios/chrome/browser/browser_state", + "//ios/chrome/browser/browser_state:test_support", + "//ios/chrome/browser/main:public", + "//ios/chrome/browser/main:test_support", + "//ios/chrome/browser/url_loading:test_support", + "//ios/chrome/browser/url_loading:url_loading", + "//ios/web/public/test", + "//ios/web/public/test/fakes", + "//testing/gtest", + ] +}
diff --git a/ios/chrome/browser/commerce/push_notification/commerce_push_notification_client.h b/ios/chrome/browser/commerce/push_notification/commerce_push_notification_client.h index 39a1d40..46e4b17 100644 --- a/ios/chrome/browser/commerce/push_notification/commerce_push_notification_client.h +++ b/ios/chrome/browser/commerce/push_notification/commerce_push_notification_client.h
@@ -11,6 +11,8 @@ #import <Foundation/Foundation.h> #import <UserNotifications/UserNotifications.h> +class CommercePushNotificationClientTest; + class CommercePushNotificationClient : public OptimizationGuidePushNotificationClient { public: @@ -23,5 +25,13 @@ UIBackgroundFetchResult HandleNotificationReception( NSDictionary<NSString*, id>* notification) override; NSArray<UNNotificationCategory*>* RegisterActionableNotifications() override; + + private: + friend class ::CommercePushNotificationClientTest; + + // Handle the interaction from the user be it tapping the notification or + // long pressing and then presing 'Visit Site' or 'Untrack Price'. + void HandleNotificationInteraction(NSString* action_identifier, + NSDictionary* user_info); }; #endif // IOS_CHROME_BROWSER_COMMERCE_PUSH_NOTIFICATION_COMMERCE_PUSH_NOTIFICATION_CLIENT_H_
diff --git a/ios/chrome/browser/commerce/push_notification/commerce_push_notification_client.mm b/ios/chrome/browser/commerce/push_notification/commerce_push_notification_client.mm index 6cd2847..bc542d6 100644 --- a/ios/chrome/browser/commerce/push_notification/commerce_push_notification_client.mm +++ b/ios/chrome/browser/commerce/push_notification/commerce_push_notification_client.mm
@@ -4,22 +4,52 @@ #import "ios/chrome/browser/commerce/push_notification/commerce_push_notification_client.h" +#import "components/commerce/core/proto/price_tracking.pb.h" +#import "components/optimization_guide/proto/push_notification.pb.h" +#import "ios/chrome/browser/application_context/application_context.h" +#import "ios/chrome/browser/browser_state/chrome_browser_state_manager.h" +#import "ios/chrome/browser/main/browser_list.h" +#import "ios/chrome/browser/main/browser_list_factory.h" #import "ios/chrome/browser/push_notification/push_notification_client_id.h" +#import "ios/chrome/browser/url_loading/url_loading_browser_agent.h" +#import "ios/chrome/browser/url_loading/url_loading_params.h" +#import "url/gurl.h" #if !defined(__has_feature) || !__has_feature(objc_arc) #error "This file requires ARC support." #endif +namespace { + +// Identifier for long press on notification and open menu categories. +NSString* kCommerceCategoryIdentifier = @"PriceDropNotifications"; +// Identifier if user taps notification (doesn't long press and +// choose from options). +NSString* kDefaultActionIdentifier = + @"com.apple.UNNotificationDefaultActionIdentifier"; +// Opaque payload key from notification service. +NSString* kSerializedPayloadKey = @"op"; +// Identifier for user pressing 'Visit site' option after long pressing +// notification. +NSString* kVisitSiteActionIdentifier = @"visit_site"; +// Text for option for long press. +NSString* kVisitSiteTitle = @"Visit Site"; + +} // namespace + CommercePushNotificationClient::CommercePushNotificationClient() : OptimizationGuidePushNotificationClient( PushNotificationClientId::kCommerce) {} + CommercePushNotificationClient::~CommercePushNotificationClient() = default; void CommercePushNotificationClient::HandleNotificationInteraction( - UNNotificationResponse* notification) { - // TODO(crbug.com/1362341) handle taking user to the shopping - // website corresponding to their notification. - // TODO(crbug.com/1362342) handle the user clicking 'untrack price'. + UNNotificationResponse* notification_response) { + NSDictionary* user_info = + notification_response.notification.request.content.userInfo; + DCHECK(user_info); + HandleNotificationInteraction(notification_response.actionIdentifier, + user_info); } UIBackgroundFetchResult @@ -30,6 +60,53 @@ NSArray<UNNotificationCategory*>* CommercePushNotificationClient::RegisterActionableNotifications() { - // Add actional notifications as new notification types are added. - return @[]; + UNNotificationAction* kVisitSiteAction = [UNNotificationAction + actionWithIdentifier:kVisitSiteActionIdentifier + title:kVisitSiteTitle + options:UNNotificationActionOptionForeground]; + return @[ [UNNotificationCategory + categoryWithIdentifier:kCommerceCategoryIdentifier + actions:@[ kVisitSiteAction ] + intentIdentifiers:@[] + options:UNNotificationCategoryOptionNone] ]; +} + +void CommercePushNotificationClient::HandleNotificationInteraction( + NSString* action_identifier, + NSDictionary* user_info) { + // TODO(crbug.com/1362342) handle the user tapping 'untrack price'. + // User taps notification or long presses notification and presses 'Visit + // Site'. + if ([action_identifier isEqualToString:kVisitSiteActionIdentifier] || + [action_identifier isEqualToString:kDefaultActionIdentifier]) { + // TODO(crbug.com/1403190) implement alternate Open URL handler which + // attempts to find if a Tab with the URL already exists and switch + // to that Tab. + std::unique_ptr<optimization_guide::proto::HintNotificationPayload> + hint_notification_payload = OptimizationGuidePushNotificationClient:: + ParseHintNotificationPayload( + [user_info objectForKey:kSerializedPayloadKey]); + if (!hint_notification_payload) { + return; + } + + commerce::PriceDropNotificationPayload price_drop_notification; + if (!hint_notification_payload->has_payload() || + !price_drop_notification.ParseFromString( + hint_notification_payload->payload().value())) { + return; + } + + BrowserList* browser_list = + BrowserListFactory::GetForBrowserState(GetLastUsedBrowserState()); + if (!browser_list->AllRegularBrowsers().size()) { + return; + } + // TODO(crbug.com/1403199) find first foregrounded browser instead of simply + // first browser here. + Browser* browser = *browser_list->AllRegularBrowsers().begin(); + UrlLoadParams params = UrlLoadParams::InNewTab( + GURL(price_drop_notification.destination_url())); + UrlLoadingBrowserAgent::FromBrowser(browser)->Load(params); + } }
diff --git a/ios/chrome/browser/commerce/push_notification/commerce_push_notification_client_unittest.mm b/ios/chrome/browser/commerce/push_notification/commerce_push_notification_client_unittest.mm new file mode 100644 index 0000000..60f06a1 --- /dev/null +++ b/ios/chrome/browser/commerce/push_notification/commerce_push_notification_client_unittest.mm
@@ -0,0 +1,132 @@ +// Copyright 2022 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#import "ios/chrome/browser/commerce/push_notification/commerce_push_notification_client.h" + +#import "base/base64.h" +#import "base/strings/sys_string_conversions.h" +#import "base/test/task_environment.h" +#import "components/commerce/core/proto/price_tracking.pb.h" +#import "components/optimization_guide/proto/push_notification.pb.h" +#import "ios/chrome/browser/browser_state/test_chrome_browser_state.h" +#import "ios/chrome/browser/main/browser_list.h" +#import "ios/chrome/browser/main/browser_list_factory.h" +#import "ios/chrome/browser/main/test_browser.h" +#import "ios/chrome/browser/url_loading/fake_url_loading_browser_agent.h" +#import "ios/chrome/browser/url_loading/url_loading_notifier_browser_agent.h" +#import "testing/gmock/include/gmock/gmock.h" +#import "testing/gtest/include/gtest/gtest.h" +#import "testing/platform_test.h" + +#if !defined(__has_feature) || !__has_feature(objc_arc) +#error "This file requires ARC support." +#endif + +namespace { + +constexpr char kHintKey[] = "https://www.merchant.com/price_drop_product"; +NSString* kSerializedPayloadKey = @"op"; +NSString* kVisitSiteActionId = @"visit_site"; +NSString* kVisitSiteTitle = @"Visit Site"; + +} // namespace + +class CommercePushNotificationClientTest : public PlatformTest { + public: + CommercePushNotificationClientTest() {} + ~CommercePushNotificationClientTest() override = default; + + void SetUp() override { + PlatformTest::SetUp(); + TestChromeBrowserState::Builder test_browser_state_builder; + chrome_browser_state_ = test_browser_state_builder.Build(); + browser_list_ = + BrowserListFactory::GetForBrowserState(chrome_browser_state_.get()); + browser_ = std::make_unique<TestBrowser>(chrome_browser_state_.get()); + browser_list_->AddBrowser(browser_.get()); + UrlLoadingNotifierBrowserAgent::CreateForBrowser(browser_.get()); + FakeUrlLoadingBrowserAgent::InjectForBrowser(browser_.get()); + commerce_push_notification_client_.SetLastUsedChromeBrowserStateForTesting( + chrome_browser_state_.get()); + } + + CommercePushNotificationClient* GetCommercePushNotificationClient() { + return &commerce_push_notification_client_; + } + + Browser* GetBrowser() { return browser_.get(); } + + void HandleNotificationInteraction(NSString* action_identifier, + NSDictionary* user_info) { + commerce_push_notification_client_.HandleNotificationInteraction( + action_identifier, user_info); + } + + protected: + base::test::TaskEnvironment task_environment_; + CommercePushNotificationClient commerce_push_notification_client_; + std::unique_ptr<Browser> browser_; + std::unique_ptr<TestChromeBrowserState> chrome_browser_state_; + BrowserList* browser_list_; +}; + +TEST_F(CommercePushNotificationClientTest, TestNotificationInteraction) { + // Serialized PriceDropNotificationPayload + commerce::PriceDropNotificationPayload price_drop_notification; + price_drop_notification.set_destination_url(kHintKey); + std::string serialized_price_drop_notification; + price_drop_notification.SerializeToString( + &serialized_price_drop_notification); + + // Serialized HintNotificationPayload with PriceDropNotificationPayload + // injected. + optimization_guide::proto::HintNotificationPayload hint_notification_payload; + hint_notification_payload.set_hint_key(kHintKey); + hint_notification_payload.set_optimization_type( + optimization_guide::proto::PRICE_TRACKING); + hint_notification_payload.set_key_representation( + optimization_guide::proto::HOST); + optimization_guide::proto::Any* payload = + hint_notification_payload.mutable_payload(); + payload->set_type_url(kHintKey); + payload->set_value(serialized_price_drop_notification.c_str()); + std::string serialized_hint_notification_payload; + hint_notification_payload.SerializeToString( + &serialized_hint_notification_payload); + + // Serialized Any with HintNotificationPayload injected + optimization_guide::proto::Any any; + any.set_value(serialized_hint_notification_payload.c_str()); + std::string serialized_any; + any.SerializeToString(&serialized_any); + + // Base 64 encoding + std::string serialized_any_escaped; + base::Base64Encode(serialized_any, &serialized_any_escaped); + + NSDictionary* user_info = @{ + kSerializedPayloadKey : base::SysUTF8ToNSString(serialized_any_escaped) + }; + + // Simulate user clicking 'visit site'. + HandleNotificationInteraction(kVisitSiteActionId, user_info); + + // Check PriceDropNotification Destination URL loaded. + FakeUrlLoadingBrowserAgent* url_loader = + FakeUrlLoadingBrowserAgent::FromUrlLoadingBrowserAgent( + UrlLoadingBrowserAgent::FromBrowser(GetBrowser())); + EXPECT_EQ(price_drop_notification.destination_url(), + url_loader->last_params.web_params.url); +} + +TEST_F(CommercePushNotificationClientTest, TestActionableNotifications) { + NSArray<UNNotificationCategory*>* actionable_notifications = + GetCommercePushNotificationClient()->RegisterActionableNotifications(); + EXPECT_EQ(1u, [actionable_notifications count]); + UNNotificationCategory* notification_category = actionable_notifications[0]; + EXPECT_TRUE([notification_category.actions[0].identifier + isEqualToString:kVisitSiteActionId]); + EXPECT_TRUE( + [notification_category.actions[0].title isEqualToString:kVisitSiteTitle]); +}
diff --git a/ios/chrome/browser/optimization_guide/optimization_guide_push_notification_client.h b/ios/chrome/browser/optimization_guide/optimization_guide_push_notification_client.h index 71b854d..0abddc6b 100644 --- a/ios/chrome/browser/optimization_guide/optimization_guide_push_notification_client.h +++ b/ios/chrome/browser/optimization_guide/optimization_guide_push_notification_client.h
@@ -38,9 +38,10 @@ last_used_browser_state_for_testing_ = chrome_browser_state; } - private: + protected: ChromeBrowserState* GetLastUsedBrowserState(); + private: // Allows tests to override the last used ChromeBrowserState returned in // GetLastUsedBrowserState(). ChromeBrowserState* last_used_browser_state_for_testing_ = nullptr;
diff --git a/ios/chrome/test/BUILD.gn b/ios/chrome/test/BUILD.gn index e6c0416..91394b0 100644 --- a/ios/chrome/test/BUILD.gn +++ b/ios/chrome/test/BUILD.gn
@@ -195,6 +195,7 @@ "//ios/chrome/browser/browser_state:unit_tests", "//ios/chrome/browser/browsing_data:unit_tests", "//ios/chrome/browser/commerce:unit_tests", + "//ios/chrome/browser/commerce/push_notification:unit_tests", "//ios/chrome/browser/complex_tasks:unit_tests", "//ios/chrome/browser/crash_report:unit_tests", "//ios/chrome/browser/crash_report/breadcrumbs:unit_tests",
diff --git a/net/BUILD.gn b/net/BUILD.gn index f87eb48..3aff371 100644 --- a/net/BUILD.gn +++ b/net/BUILD.gn
@@ -3410,8 +3410,10 @@ "data/verify_certificate_chain_unittest/pkits_errors/4.1.4.txt", "data/verify_certificate_chain_unittest/pkits_errors/4.1.5.txt", "data/verify_certificate_chain_unittest/pkits_errors/4.1.6.txt", - "data/verify_certificate_chain_unittest/pkits_errors/4.10.1.txt", + "data/verify_certificate_chain_unittest/pkits_errors/4.10.1.2.txt", + "data/verify_certificate_chain_unittest/pkits_errors/4.10.1.3.txt", "data/verify_certificate_chain_unittest/pkits_errors/4.10.10.txt", + "data/verify_certificate_chain_unittest/pkits_errors/4.10.13.txt", "data/verify_certificate_chain_unittest/pkits_errors/4.10.2.txt", "data/verify_certificate_chain_unittest/pkits_errors/4.10.3.txt", "data/verify_certificate_chain_unittest/pkits_errors/4.10.4.txt",
diff --git a/net/cert/pki/verify_certificate_chain.cc b/net/cert/pki/verify_certificate_chain.cc index 1957a9a..857b5d51 100644 --- a/net/cert/pki/verify_certificate_chain.cc +++ b/net/cert/pki/verify_certificate_chain.cc
@@ -439,30 +439,11 @@ bool has_any_policy = false; }; - // Initializes the ValidPolicyGraph for the given "user_initial_policy_set". - // - // In RFC 5280, the valid_policy_tree is initialized to a root node at level - // 0 of "anyPolicy"; the intersection with the "user_initial_policy_set" is - // done at the end (Wrap Up) as described in section 6.1.5 step g. - // - // Whereas in this implementation, the restriction on policies is added here, - // and intersecting during Wrap Up is no longer needed. - // - // The final "user_constrained_policy_set" obtained will be the same. The - // advantages of this approach is simpler code. - // - // TODO(davidben): It is not quite the same in some edge cases around - // anyPolicy. Switch this to match RFC 5280's formulation. - void Init(const std::set<der::Input>& user_constained_policy_set) { + // Initializes the ValidPolicyGraph. + void Init() { SetNull(); StartLevel(); - for (der::Input policy : user_constained_policy_set) { - if (policy == der::Input(kAnyPolicyOid)) { - AddAnyPolicyNode(); - } else { - AddNode(policy, {}); - } - } + AddAnyPolicyNode(); } // In RFC 5280 valid_policy_tree may be set to null. That is represented here @@ -495,19 +476,24 @@ } // Gets the set of policies (in terms of root authority's policy domain) that - // are valid at the bottom level of the policy graph. This is what X.509 calls + // are valid at the bottom level of the policy graph, intersected with + // |user_initial_policy_set|. This is what X.509 calls // "user-constrained-policy-set". // // This method may only be called once, after the policy graph is constructed. - void GetValidRootPolicySet(std::set<der::Input>* policy_set) { - policy_set->clear(); + std::set<der::Input> GetUserConstrainedPolicySet( + const std::set<der::Input>& user_initial_policy_set) { if (levels_.empty()) { - return; + return {}; } + bool user_has_any_policy = + user_initial_policy_set.count(der::Input(kAnyPolicyOid)) != 0; if (current_level_.has_any_policy) { - *policy_set = {der::Input(kAnyPolicyOid)}; - return; + if (user_has_any_policy) { + return {der::Input(kAnyPolicyOid)}; + } + return user_initial_policy_set; } // The root's policy domain is determined by nodes with anyPolicy as a @@ -516,6 +502,7 @@ for (auto& [policy, node] : levels_.back()) { node.reachable = true; } + std::set<der::Input> policy_set; for (size_t i = levels_.size() - 1; i < levels_.size(); i--) { for (auto& [policy, node] : levels_[i]) { if (!node.reachable) { @@ -523,7 +510,11 @@ } if (node.parent_policies.empty()) { // |node|'s parent is anyPolicy, so this is in the root policy domain. - policy_set->insert(policy); + // Add it to the set if it is also in user's list. + if (user_has_any_policy || + user_initial_policy_set.count(policy) > 0) { + policy_set.insert(policy); + } } else if (i > 0) { // Otherwise, continue searching the previous level. for (der::Input parent : node.parent_policies) { @@ -535,6 +526,7 @@ } } } + return policy_set; } // Adds a node with policy anyPolicy to the current level. @@ -667,6 +659,7 @@ // Procedure". It does processing for the final certificate (the target cert). void WrapUp(const ParsedCertificate& cert, KeyPurpose required_key_purpose, + const std::set<der::Input>& user_initial_policy_set, CertErrors* errors); // Enforces trust anchor constraints compatibile with RFC 5937. @@ -694,6 +687,8 @@ ValidPolicyGraph valid_policy_graph_; + std::set<der::Input> user_constrained_policy_set_; + // Will contain a NameConstraints for each previous cert in the chain which // had nameConstraints. This corresponds to the permitted_subtrees and // excluded_subtrees state variables from RFC 5280. @@ -853,8 +848,8 @@ // this step until there are no nodes of depth i-1 or less // without children. // - // This implementation does this as part of GetValidRootPolicySet(). Only - // the current level needs to be pruned to compute the policy graph. + // This implementation does this as part of GetUserConstrainedPolicySet(). + // Only the current level needs to be pruned to compute the policy graph. } // (e) If the certificate policies extension is not present, set the @@ -936,6 +931,8 @@ // i-1 or less without any child nodes, delete that // node. Repeat this step until there are no nodes of // depth i-1 or less without children. + // + // Step (ii) is deferred to part of GetUserConstrainedPolicySet(). if (policy_mapping_ == 0) { for (const ParsedPolicyMapping& mapping : cert.policy_mappings()) { valid_policy_graph_.DeleteNode(mapping.issuer_domain_policy); @@ -1178,6 +1175,7 @@ void PathVerifier::WrapUp(const ParsedCertificate& cert, KeyPurpose required_key_purpose, + const std::set<der::Input>& user_initial_policy_set, CertErrors* errors) { // From RFC 5280 section 6.1.5: // (a) If explicit_policy is not 0, decrement explicit_policy by 1. @@ -1207,13 +1205,18 @@ // directly match the procedures in RFC 5280's section 6.1. VerifyNoUnconsumedCriticalExtensions(cert, errors); - // RFC 5280 section 6.1.5 step g is skipped, as the intersection of valid - // policies was computed during previous steps. + // This calculates the intersection from RFC 5280 section 6.1.5 step g, as + // well as applying the deferred recursive node that were skipped earlier in + // the process. + user_constrained_policy_set_ = + valid_policy_graph_.GetUserConstrainedPolicySet(user_initial_policy_set); + + // From RFC 5280 section 6.1.5 step g: // // If either (1) the value of explicit_policy variable is greater than // zero or (2) the valid_policy_tree is not NULL, then path processing - // has succeeded. - if (!(explicit_policy_ > 0 || !valid_policy_graph_.IsNull())) { + // has succeeded. + if (explicit_policy_ == 0 && user_constrained_policy_set_.empty()) { errors->AddError(cert_errors::kNoValidPolicy); } @@ -1380,7 +1383,7 @@ // if n is used in place of n+1). const size_t n = certs.size() - 1; - valid_policy_graph_.Init(user_initial_policy_set); + valid_policy_graph_.Init(); // RFC 5280 section section 6.1.2: // @@ -1470,14 +1473,12 @@ if (!is_target_cert) { PrepareForNextCertificate(cert, cert_errors); } else { - WrapUp(cert, required_key_purpose, cert_errors); + WrapUp(cert, required_key_purpose, user_initial_policy_set, cert_errors); } } if (user_constrained_policy_set) { - // valid_policy_graph_ already contains the intersection of valid policies - // with user_initial_policy_set. - valid_policy_graph_.GetValidRootPolicySet(user_constrained_policy_set); + *user_constrained_policy_set = user_constrained_policy_set_; } // TODO(eroman): RFC 5280 forbids duplicate certificates per section 6.1:
diff --git a/net/data/verify_certificate_chain_unittest/pkits_errors/4.10.1.2.txt b/net/data/verify_certificate_chain_unittest/pkits_errors/4.10.1.2.txt new file mode 100644 index 0000000..708d5801 --- /dev/null +++ b/net/data/verify_certificate_chain_unittest/pkits_errors/4.10.1.2.txt
@@ -0,0 +1,3 @@ +----- Certificate i=0 (CN=Valid Policy Mapping EE Certificate Test1,O=Test Certificates 2011,C=US) ----- +ERROR: No valid policy +
diff --git a/net/data/verify_certificate_chain_unittest/pkits_errors/4.10.1.txt b/net/data/verify_certificate_chain_unittest/pkits_errors/4.10.1.3.txt similarity index 100% rename from net/data/verify_certificate_chain_unittest/pkits_errors/4.10.1.txt rename to net/data/verify_certificate_chain_unittest/pkits_errors/4.10.1.3.txt
diff --git a/net/data/verify_certificate_chain_unittest/pkits_errors/4.10.13.txt b/net/data/verify_certificate_chain_unittest/pkits_errors/4.10.13.txt new file mode 100644 index 0000000..70d5f44 --- /dev/null +++ b/net/data/verify_certificate_chain_unittest/pkits_errors/4.10.13.txt
@@ -0,0 +1,3 @@ +----- Certificate i=0 (CN=Valid Policy Mapping EE Certificate Test13,O=Test Certificates 2011,C=US) ----- +ERROR: No valid policy +
diff --git a/net/data/verify_certificate_chain_unittest/pkits_errors/4.10.3.txt b/net/data/verify_certificate_chain_unittest/pkits_errors/4.10.3.txt index 110ad20ac..cd2c8c08 100644 --- a/net/data/verify_certificate_chain_unittest/pkits_errors/4.10.3.txt +++ b/net/data/verify_certificate_chain_unittest/pkits_errors/4.10.3.txt
@@ -1,10 +1,3 @@ ----- Certificate i=0 (CN=Valid Policy Mapping EE Certificate Test3,O=Test Certificates 2011,C=US) ----- ERROR: No valid policy -ERROR: No valid policy - ------ Certificate i=1 (CN=P12 Mapping 1to3 subsubCA,O=Test Certificates 2011,C=US) ----- -ERROR: No valid policy - ------ Certificate i=2 (CN=P12 Mapping 1to3 subCA,O=Test Certificates 2011,C=US) ----- -ERROR: No valid policy
diff --git a/net/data/verify_certificate_chain_unittest/pkits_errors/4.10.5.txt b/net/data/verify_certificate_chain_unittest/pkits_errors/4.10.5.txt index 13df79f..402aa0c6 100644 --- a/net/data/verify_certificate_chain_unittest/pkits_errors/4.10.5.txt +++ b/net/data/verify_certificate_chain_unittest/pkits_errors/4.10.5.txt
@@ -1,7 +1,3 @@ ----- Certificate i=0 (CN=Valid Policy Mapping EE Certificate Test5,O=Test Certificates 2011,C=US) ----- ERROR: No valid policy -ERROR: No valid policy - ------ Certificate i=1 (CN=P1 Mapping 1to234 subCA,O=Test Certificates 2011,C=US) ----- -ERROR: No valid policy
diff --git a/net/data/verify_certificate_chain_unittest/pkits_errors/4.10.6.txt b/net/data/verify_certificate_chain_unittest/pkits_errors/4.10.6.txt index f7500ed3..40f7d32 100644 --- a/net/data/verify_certificate_chain_unittest/pkits_errors/4.10.6.txt +++ b/net/data/verify_certificate_chain_unittest/pkits_errors/4.10.6.txt
@@ -1,7 +1,3 @@ ----- Certificate i=0 (CN=Valid Policy Mapping EE Certificate Test6,O=Test Certificates 2011,C=US) ----- ERROR: No valid policy -ERROR: No valid policy - ------ Certificate i=1 (CN=P1 Mapping 1to234 subCA,O=Test Certificates 2011,C=US) ----- -ERROR: No valid policy
diff --git a/net/data/verify_certificate_chain_unittest/pkits_errors/4.8.1.txt b/net/data/verify_certificate_chain_unittest/pkits_errors/4.8.1.txt index 421d300..5becaeb 100644 --- a/net/data/verify_certificate_chain_unittest/pkits_errors/4.8.1.txt +++ b/net/data/verify_certificate_chain_unittest/pkits_errors/4.8.1.txt
@@ -1,7 +1,3 @@ ----- Certificate i=0 (CN=Valid EE Certificate Test1,O=Test Certificates 2011,C=US) ----- ERROR: No valid policy -ERROR: No valid policy - ------ Certificate i=1 (CN=Good CA,O=Test Certificates 2011,C=US) ----- -ERROR: No valid policy
diff --git a/net/data/verify_certificate_chain_unittest/pkits_errors/4.8.14.txt b/net/data/verify_certificate_chain_unittest/pkits_errors/4.8.14.txt index ed3a8b2..70e720a5 100644 --- a/net/data/verify_certificate_chain_unittest/pkits_errors/4.8.14.txt +++ b/net/data/verify_certificate_chain_unittest/pkits_errors/4.8.14.txt
@@ -1,4 +1,3 @@ ----- Certificate i=0 (CN=anyPolicy EE Certificate Test14,O=Test Certificates 2011,C=US) ----- ERROR: No valid policy -ERROR: No valid policy
diff --git a/net/data/verify_certificate_chain_unittest/pkits_errors/4.8.6.txt b/net/data/verify_certificate_chain_unittest/pkits_errors/4.8.6.txt index 1dbcee2d..c603390 100644 --- a/net/data/verify_certificate_chain_unittest/pkits_errors/4.8.6.txt +++ b/net/data/verify_certificate_chain_unittest/pkits_errors/4.8.6.txt
@@ -1,4 +1,3 @@ ----- Certificate i=0 (CN=Overlapping Policies EE Certificate Test6,O=Test Certificates 2011,C=US) ----- ERROR: No valid policy -ERROR: No valid policy
diff --git a/net/http/transport_security_state_static.pins b/net/http/transport_security_state_static.pins index 0e9c3e0..9a7ae40 100644 --- a/net/http/transport_security_state_static.pins +++ b/net/http/transport_security_state_static.pins
@@ -43,9 +43,9 @@ # hash function for preloaded entries again (we have already done so once). # -# Last updated: 2022-12-23 12:54 UTC +# Last updated: 2022-12-25 12:54 UTC PinsListTimestamp -1671800059 +1671972886 TestSPKI sha256/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
diff --git a/net/third_party/nist-pkits/generate_tests.py b/net/third_party/nist-pkits/generate_tests.py index 2711d233..a6548bc 100644 --- a/net/third_party/nist-pkits/generate_tests.py +++ b/net/third_party/nist-pkits/generate_tests.py
@@ -70,6 +70,9 @@ default_info = TestInfo(None) + if info.include_subpart_in_test_number: + test_number = "%s.%d" % (test_number, subpart_number) + output.write('''PkitsTestInfo info; info.test_number = "%s"; info.should_validate = %s; @@ -245,13 +248,15 @@ # In all of the tests that are not related to policy processing, # each certificate in the path asserts the certificate policy # 2.16.840.1.101.3.2.1.48.1 - user_constrained_policy_set = [TEST_POLICY_1]): + user_constrained_policy_set = [TEST_POLICY_1], + include_subpart_in_test_number = False): self.should_validate = should_validate self.initial_policy_set = initial_policy_set self.initial_explicit_policy = initial_explicit_policy self.initial_policy_mapping_inhibit = initial_policy_mapping_inhibit self.initial_inhibit_any_policy = initial_inhibit_any_policy self.user_constrained_policy_set = user_constrained_policy_set + self.include_subpart_in_test_number = include_subpart_in_test_number TEST_OVERRIDES = { @@ -615,20 +620,26 @@ ], '4.10.1': [ # Valid Policy Mapping Test1 + # The errors in subparts 2 and 3 vary slightly, so we set + # include_subpart_in_test_number. + # 1. default settings, but with initial-policy-set = {NIST-test-policy-1}. # The path should validate successfully. TestInfo(True, initial_policy_set=[TEST_POLICY_1], - user_constrained_policy_set=[TEST_POLICY_1]), + user_constrained_policy_set=[TEST_POLICY_1], + include_subpart_in_test_number=True), # 2. default settings, but with initial-policy-set = {NIST-test-policy-2}. # The path should not validate successfully. TestInfo(False, initial_policy_set=[TEST_POLICY_2], - user_constrained_policy_set=[]), + user_constrained_policy_set=[], + include_subpart_in_test_number=True), # 3. default settings, but with initial-policy-mapping-inhibit set. The # path should not validate successfully. TestInfo(False, initial_policy_mapping_inhibit=True, - user_constrained_policy_set=[]), + user_constrained_policy_set=[], + include_subpart_in_test_number=True), ], '4.10.2': [ # Invalid Policy Mapping Test2 @@ -793,6 +804,16 @@ # the path is accepted, the application should display the user notice # associated with NIST-testpolicy-1 in the intermediate certificate. TestInfo(True, user_constrained_policy_set=[TEST_POLICY_1]), + + # While not explicitly divided into sub-parts, the above describes what + # should happen given various values of initial-policy-set. Test some + # combinations, as these cover an interesting interaction with anyPolicy. + # + # These extra tests are a regression test for https://crbug.com/1403258. + TestInfo(True, initial_policy_set=[TEST_POLICY_1, TEST_POLICY_2], + user_constrained_policy_set=[TEST_POLICY_1]), + TestInfo(False, initial_policy_set=[TEST_POLICY_2], + user_constrained_policy_set=[]), ], '4.10.14': [ # Valid Policy Mapping Test14
diff --git a/net/third_party/nist-pkits/pkits_testcases-inl.h b/net/third_party/nist-pkits/pkits_testcases-inl.h index 6fee958..7fab820e 100644 --- a/net/third_party/nist-pkits/pkits_testcases-inl.h +++ b/net/third_party/nist-pkits/pkits_testcases-inl.h
@@ -2047,7 +2047,7 @@ "ValidPolicyMappingTest1EE"}; const char* const crls[] = {"TrustAnchorRootCRL", "Mapping1to2CACRL"}; PkitsTestInfo info; - info.test_number = "4.10.1"; + info.test_number = "4.10.1.1"; info.should_validate = true; info.SetInitialPolicySet("NIST-test-policy-1"); @@ -2062,7 +2062,7 @@ "ValidPolicyMappingTest1EE"}; const char* const crls[] = {"TrustAnchorRootCRL", "Mapping1to2CACRL"}; PkitsTestInfo info; - info.test_number = "4.10.1"; + info.test_number = "4.10.1.2"; info.should_validate = false; info.SetInitialPolicySet("NIST-test-policy-2"); info.SetUserConstrainedPolicySet(""); @@ -2078,7 +2078,7 @@ "ValidPolicyMappingTest1EE"}; const char* const crls[] = {"TrustAnchorRootCRL", "Mapping1to2CACRL"}; PkitsTestInfo info; - info.test_number = "4.10.1"; + info.test_number = "4.10.1.3"; info.should_validate = false; info.SetInitialPolicyMappingInhibit(true); info.SetUserConstrainedPolicySet(""); @@ -2347,9 +2347,9 @@ this->RunTest(certs, crls, info); } -// 4.10.13 Valid Policy Mapping Test13 +// 4.10.13 Valid Policy Mapping Test13 (Subpart 1) WRAPPED_TYPED_TEST_P(PkitsTest10PolicyMappings, - Section10ValidPolicyMappingTest13) { + Section10ValidPolicyMappingTest13Subpart1) { const char* const certs[] = {"TrustAnchorRootCertificate", "P1anyPolicyMapping1to2CACert", "ValidPolicyMappingTest13EE"}; @@ -2362,6 +2362,39 @@ this->RunTest(certs, crls, info); } +// 4.10.13 Valid Policy Mapping Test13 (Subpart 2) +WRAPPED_TYPED_TEST_P(PkitsTest10PolicyMappings, + Section10ValidPolicyMappingTest13Subpart2) { + const char* const certs[] = {"TrustAnchorRootCertificate", + "P1anyPolicyMapping1to2CACert", + "ValidPolicyMappingTest13EE"}; + const char* const crls[] = {"TrustAnchorRootCRL", + "P1anyPolicyMapping1to2CACRL"}; + PkitsTestInfo info; + info.test_number = "4.10.13"; + info.should_validate = true; + info.SetInitialPolicySet("NIST-test-policy-1,NIST-test-policy-2"); + + this->RunTest(certs, crls, info); +} + +// 4.10.13 Valid Policy Mapping Test13 (Subpart 3) +WRAPPED_TYPED_TEST_P(PkitsTest10PolicyMappings, + Section10ValidPolicyMappingTest13Subpart3) { + const char* const certs[] = {"TrustAnchorRootCertificate", + "P1anyPolicyMapping1to2CACert", + "ValidPolicyMappingTest13EE"}; + const char* const crls[] = {"TrustAnchorRootCRL", + "P1anyPolicyMapping1to2CACRL"}; + PkitsTestInfo info; + info.test_number = "4.10.13"; + info.should_validate = false; + info.SetInitialPolicySet("NIST-test-policy-2"); + info.SetUserConstrainedPolicySet(""); + + this->RunTest(certs, crls, info); +} + // 4.10.14 Valid Policy Mapping Test14 WRAPPED_TYPED_TEST_P(PkitsTest10PolicyMappings, Section10ValidPolicyMappingTest14) { @@ -2397,7 +2430,9 @@ Section10ValidPolicyMappingTest11, Section10ValidPolicyMappingTest12Subpart1, Section10ValidPolicyMappingTest12Subpart2, - Section10ValidPolicyMappingTest13, + Section10ValidPolicyMappingTest13Subpart1, + Section10ValidPolicyMappingTest13Subpart2, + Section10ValidPolicyMappingTest13Subpart3, Section10ValidPolicyMappingTest14); template <typename PkitsTestDelegate>
diff --git a/third_party/blink/renderer/core/paint/box_painter_base.cc b/third_party/blink/renderer/core/paint/box_painter_base.cc index 38c1bb6..2c22b67 100644 --- a/third_party/blink/renderer/core/paint/box_painter_base.cc +++ b/third_party/blink/renderer/core/paint/box_painter_base.cc
@@ -1190,7 +1190,7 @@ GraphicsContextStateSaver background_clip_state_saver(context, false); background_clip_state_saver.Save(); context.Clip(mask_rect); - context.BeginLayer(1, composite_op); + context.BeginLayer(composite_op); PaintFillLayerBackground(document_, context, info, node_, style_, image, SkBlendMode::kSrcOver, geometry, @@ -1199,7 +1199,7 @@ // Create the text mask layer and draw the text into the mask. We do this by // painting using a special paint phase that signals to InlineTextBoxes that // they should just add their contents to the clip. - context.BeginLayer(1, SkBlendMode::kDstIn); + context.BeginLayer(SkBlendMode::kDstIn); PaintTextClipMask(paint_info, mask_rect, scrolled_paint_rect.offset, object_has_multiple_boxes);
diff --git a/third_party/blink/renderer/core/paint/clip_path_clipper.cc b/third_party/blink/renderer/core/paint/clip_path_clipper.cc index aa9ca3a..c8f6115 100644 --- a/third_party/blink/renderer/core/paint/clip_path_clipper.cc +++ b/third_party/blink/renderer/core/paint/clip_path_clipper.cc
@@ -335,10 +335,11 @@ if (!resource_clipper) break; - if (is_first) + if (is_first) { context.Save(); - else - context.BeginLayer(1.f, SkBlendMode::kDstIn); + } else { + context.BeginLayer(SkBlendMode::kDstIn); + } if (resource_clipper->StyleRef().HasClipPath()) { // Try to apply nested clip-path as path-based clip.
diff --git a/third_party/blink/renderer/core/paint/ng/ng_text_painter_base.cc b/third_party/blink/renderer/core/paint/ng/ng_text_painter_base.cc index afecde7..008d800 100644 --- a/third_party/blink/renderer/core/paint/ng/ng_text_painter_base.cc +++ b/third_party/blink/renderer/core/paint/ng/ng_text_painter_base.cc
@@ -89,11 +89,9 @@ DCHECK_GE(blur, 0); const auto sigma = BlurRadiusToStdDev(blur); - context.BeginLayer( - 1.0f, SkBlendMode::kSrcOver, nullptr, kColorFilterNone, - sk_make_sp<DropShadowPaintFilter>( - offset.x(), offset.y(), sigma, sigma, color.toSkColor4f(), - DropShadowPaintFilter::ShadowMode::kDrawShadowOnly, nullptr)); + context.BeginLayer(sk_make_sp<DropShadowPaintFilter>( + offset.x(), offset.y(), sigma, sigma, color.toSkColor4f(), + DropShadowPaintFilter::ShadowMode::kDrawShadowOnly, nullptr)); PaintUnderOrOverLineDecorations(fragment_paint_info, decoration_offset, decoration_info, lines_to_paint, flags,
diff --git a/third_party/blink/renderer/core/paint/svg_mask_painter.cc b/third_party/blink/renderer/core/paint/svg_mask_painter.cc index 7cf360a..3c2a5924 100644 --- a/third_party/blink/renderer/core/paint/svg_mask_painter.cc +++ b/third_party/blink/renderer/core/paint/svg_mask_painter.cc
@@ -73,8 +73,7 @@ bool needs_luminance_layer = masker->StyleRef().MaskType() == EMaskType::kLuminance; if (needs_luminance_layer) { - context.BeginLayer(1.0f, SkBlendMode::kSrcOver, nullptr, - kColorFilterLuminanceToAlpha); + context.BeginLayer(kColorFilterLuminanceToAlpha); } context.DrawRecord(std::move(record)); if (needs_luminance_layer)
diff --git a/third_party/blink/renderer/core/scroll/scrollbar_theme_mac.cc b/third_party/blink/renderer/core/scroll/scrollbar_theme_mac.cc index afd1e80..23564a39 100644 --- a/third_party/blink/renderer/core/scroll/scrollbar_theme_mac.cc +++ b/third_party/blink/renderer/core/scroll/scrollbar_theme_mac.cc
@@ -264,7 +264,6 @@ GraphicsContextStateSaver state_saver(context); context.Translate(rect.x(), rect.y()); - gfx::Rect local_rect(rect.size()); if (!scrollbar.Enabled()) return; @@ -297,8 +296,7 @@ } if (opacity != 1.0f) { - gfx::RectF float_local_rect(local_rect); - context.BeginLayer(opacity, SkBlendMode::kSrcOver, &float_local_rect); + context.BeginLayer(opacity); } WebThemeEngine::Part thumb_part =
diff --git a/third_party/blink/renderer/core/svg/graphics/svg_image.cc b/third_party/blink/renderer/core/svg/graphics/svg_image.cc index 5f3d974..591b0aa 100644 --- a/third_party/blink/renderer/core/svg/graphics/svg_image.cc +++ b/third_party/blink/renderer/core/svg/graphics/svg_image.cc
@@ -611,7 +611,7 @@ PaintCanvasAutoRestore ar(canvas, false); if (DrawNeedsLayer(flags)) { SkRect layer_rect = gfx::RectFToSkRect(dst_rect); - canvas->saveLayer(&layer_rect, &flags); + canvas->saveLayer(layer_rect, flags); } // We can only draw the entire frame, clipped to the rect we want. So // compute where the top left of the image would be if we were drawing
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 e2fee9d..219077b8 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
@@ -204,7 +204,7 @@ flags.setImageFilter(GetState().ShouldDrawShadows() ? GetState().ShadowAndForegroundImageFilter() : StateGetFilter()); - canvas->saveLayer(nullptr, &flags); + canvas->saveLayer(flags); // Push to state stack to keep stack size up to date. state_stack_.push_back(MakeGarbageCollected<CanvasRenderingContext2DState>( @@ -219,7 +219,7 @@ extra_flags.setAlpha(globalAlpha() * 255); if (GetState().ShouldDrawShadows()) extra_flags.setImageFilter(StateGetFilter()); - canvas->saveLayer(nullptr, &extra_flags); + canvas->saveLayer(extra_flags); } else { cc::PaintFlags flags; GetState().FillStyle()->ApplyToFlags(flags); @@ -230,7 +230,7 @@ flags.setImageFilter(sk_make_sp<ComposePaintFilter>( GetState().ShadowAndForegroundImageFilter(), StateGetFilter())); flags.setAlpha(globalAlpha() * 255); - canvas->saveLayer(nullptr, &flags); + canvas->saveLayer(flags); } ValidateStateStack(); @@ -1515,7 +1515,7 @@ layer_flags.setBlendMode(flags->getBlendMode()); layer_flags.setImageFilter(flags->getImageFilter()); - c->saveLayer(&bounds, &layer_flags); + c->saveLayer(bounds, layer_flags); c->concat(ctm); image_flags.setBlendMode(SkBlendMode::kSrcOver); image_flags.setImageFilter(nullptr);
diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.h b/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.h index 14f2903..7463140 100644 --- a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.h +++ b/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.h
@@ -821,14 +821,14 @@ // Saving the shadow layer before setting the matrix, so the shadow offset // does not get modified by the transformation matrix shadow_flags.setBlendMode(state.GlobalComposite()); - c->saveLayer(nullptr, &shadow_flags); + c->saveLayer(shadow_flags); foreground_flags.setBlendMode(SkBlendMode::kSrcOver); c->setMatrix(ctm); draw_func(c, &foreground_flags); } else { DCHECK(IsFullCanvasCompositeMode(state.GlobalComposite()) || BlendModeRequiresCompositedDraw(state.GlobalComposite())); - c->saveLayer(nullptr, &composite_flags); + c->saveLayer(composite_flags); shadow_flags.setBlendMode(SkBlendMode::kSrcOver); c->setMatrix(ctm); draw_func(c, &shadow_flags); @@ -837,7 +837,7 @@ } composite_flags.setImageFilter(std::move(canvas_filter)); - c->saveLayer(nullptr, &composite_flags); + c->saveLayer(composite_flags); cc::PaintFlags foreground_flags = *state.GetFlags(paint_type, kDrawForegroundOnly, image_type); foreground_flags.setBlendMode(SkBlendMode::kSrcOver);
diff --git a/third_party/blink/renderer/platform/graphics/compositing/paint_chunks_to_cc_layer.cc b/third_party/blink/renderer/platform/graphics/compositing/paint_chunks_to_cc_layer.cc index 62fa38df2..a43ee1af 100644 --- a/third_party/blink/renderer/platform/graphics/compositing/paint_chunks_to_cc_layer.cc +++ b/third_party/blink/renderer/platform/graphics/compositing/paint_chunks_to_cc_layer.cc
@@ -599,10 +599,10 @@ cc::PaintFlags flags; flags.setBlendMode(effect.BlendMode()); flags.setAlpha(alpha); - save_layer_id = push<cc::SaveLayerOp>(nullptr, &flags); + save_layer_id = push<cc::SaveLayerOp>(flags); } else { - save_layer_id = push<cc::SaveLayerAlphaOp>( - nullptr, static_cast<float>(alpha / 255.0f)); + save_layer_id = + push<cc::SaveLayerAlphaOp>(static_cast<float>(alpha / 255.0f)); } } else { // Handle filter effect. @@ -612,7 +612,7 @@ cc::PaintFlags filter_flags; filter_flags.setImageFilter(cc::RenderSurfaceFilters::BuildImageFilter( effect.Filter().AsCcFilterOperations(), empty)); - save_layer_id = push<cc::SaveLayerOp>(nullptr, &filter_flags); + save_layer_id = push<cc::SaveLayerOp>(filter_flags); } result_.EndPaintOfPairedBegin();
diff --git a/third_party/blink/renderer/platform/graphics/crossfade_generated_image.cc b/third_party/blink/renderer/platform/graphics/crossfade_generated_image.cc index 7b197bf5..a1a0e2f 100644 --- a/third_party/blink/renderer/platform/graphics/crossfade_generated_image.cc +++ b/third_party/blink/renderer/platform/graphics/crossfade_generated_image.cc
@@ -56,7 +56,7 @@ cc::PaintFlags layer_flags; layer_flags.setBlendMode(flags.getBlendMode()); PaintCanvasAutoRestore ar(canvas, false); - canvas->saveLayer(nullptr, &layer_flags); + canvas->saveLayer(layer_flags); cc::PaintFlags image_flags(flags); image_flags.setBlendMode(SkBlendMode::kSrcOver);
diff --git a/third_party/blink/renderer/platform/graphics/graphics_context.cc b/third_party/blink/renderer/platform/graphics/graphics_context.cc index 0537805..2518b71 100644 --- a/third_party/blink/renderer/platform/graphics/graphics_context.cc +++ b/third_party/blink/renderer/platform/graphics/graphics_context.cc
@@ -223,17 +223,6 @@ } #endif -void GraphicsContext::SaveLayer(const SkRect* bounds, - const cc::PaintFlags* flags) { - DCHECK(canvas_); - canvas_->saveLayer(bounds, flags); -} - -void GraphicsContext::RestoreLayer() { - DCHECK(canvas_); - canvas_->restore(); -} - void GraphicsContext::SetInDrawingRecorder(bool val) { // Nested drawing recorers are not allowed. DCHECK(!val || !in_drawing_recorder_); @@ -277,23 +266,36 @@ canvas_->concat(matrix); } -void GraphicsContext::BeginLayer(float opacity, - SkBlendMode xfermode, - const gfx::RectF* bounds, - ColorFilter color_filter, - sk_sp<PaintFilter> image_filter) { - cc::PaintFlags layer_flags; - layer_flags.setAlpha(static_cast<unsigned char>(opacity * 255)); - layer_flags.setBlendMode(xfermode); - layer_flags.setColorFilter(WebCoreColorFilterToSkiaColorFilter(color_filter)); - layer_flags.setImageFilter(std::move(image_filter)); +void GraphicsContext::BeginLayer(float opacity) { + DCHECK(canvas_); + canvas_->saveLayerAlpha(static_cast<uint8_t>(opacity * 255)); - if (bounds) { - SkRect sk_bounds = gfx::RectFToSkRect(*bounds); - SaveLayer(&sk_bounds, &layer_flags); - } else { - SaveLayer(nullptr, &layer_flags); - } +#if DCHECK_IS_ON() + ++layer_count_; +#endif +} + +void GraphicsContext::BeginLayer(SkBlendMode xfermode) { + cc::PaintFlags flags; + flags.setBlendMode(xfermode); + BeginLayer(flags); +} + +void GraphicsContext::BeginLayer(ColorFilter color_filter) { + cc::PaintFlags flags; + flags.setColorFilter(WebCoreColorFilterToSkiaColorFilter(color_filter)); + BeginLayer(flags); +} + +void GraphicsContext::BeginLayer(sk_sp<PaintFilter> image_filter) { + cc::PaintFlags flags; + flags.setImageFilter(std::move(image_filter)); + BeginLayer(flags); +} + +void GraphicsContext::BeginLayer(const cc::PaintFlags& flags) { + DCHECK(canvas_); + canvas_->saveLayer(flags); #if DCHECK_IS_ON() ++layer_count_; @@ -301,7 +303,8 @@ } void GraphicsContext::EndLayer() { - RestoreLayer(); + DCHECK(canvas_); + canvas_->restore(); #if DCHECK_IS_ON() DCHECK_GT(layer_count_--, 0);
diff --git a/third_party/blink/renderer/platform/graphics/graphics_context.h b/third_party/blink/renderer/platform/graphics/graphics_context.h index 3d4a766..ca6ada2 100644 --- a/third_party/blink/renderer/platform/graphics/graphics_context.h +++ b/third_party/blink/renderer/platform/graphics/graphics_context.h
@@ -459,14 +459,13 @@ const AutoDarkMode& auto_dark_mode, const cc::PaintFlags* flags = nullptr); - // beginLayer()/endLayer() behave like save()/restore() for CTM and clip - // states. Apply SkBlendMode when the layer is composited on the backdrop - // (i.e. endLayer()). - void BeginLayer(float opacity = 1.0f, - SkBlendMode = SkBlendMode::kSrcOver, - const gfx::RectF* = nullptr, - ColorFilter = kColorFilterNone, - sk_sp<PaintFilter> = nullptr); + // BeginLayer()/EndLayer() behave like Save()/Restore() for CTM and clip + // states. Apply opacity, blend mode, filter when the layer is composited on + // the backdrop (i.e. EndLayer()). + void BeginLayer(float opacity = 1.0f); + void BeginLayer(SkBlendMode); + void BeginLayer(ColorFilter); + void BeginLayer(sk_sp<PaintFilter>); void EndLayer(); // Instead of being dispatched to the active canvas, draw commands following @@ -582,8 +581,7 @@ template <typename DrawTextFunc> void DrawTextPasses(const AutoDarkMode& auto_dark_mode, const DrawTextFunc&); - void SaveLayer(const SkRect* bounds, const cc::PaintFlags*); - void RestoreLayer(); + void BeginLayer(const cc::PaintFlags&); // SkCanvas wrappers. void ClipRRect(const SkRRect&, @@ -618,7 +616,7 @@ PaintController& paint_controller_; // Paint states stack. The state controls the appearance of drawn content, so - // this stack enables local drawing state changes with save()/restore() calls. + // this stack enables local drawing state changes with Save()/Restore() calls. // We do not delete from this stack to avoid memory churn. Vector<std::unique_ptr<GraphicsContextState>> paint_state_stack_;
diff --git a/third_party/blink/renderer/platform/graphics/paint_generated_image.cc b/third_party/blink/renderer/platform/graphics/paint_generated_image.cc index 6f4f6ec..cb746c0 100644 --- a/third_party/blink/renderer/platform/graphics/paint_generated_image.cc +++ b/third_party/blink/renderer/platform/graphics/paint_generated_image.cc
@@ -21,7 +21,7 @@ SkRect sk_src_rect = gfx::RectFToSkRect(src_rect); canvas->clipRect(sk_dest_rect); canvas->concat(SkM44::RectToRect(sk_src_rect, sk_dest_rect)); - canvas->saveLayer(&sk_src_rect, &flags); + canvas->saveLayer(sk_src_rect, flags); canvas->drawPicture(record_); }
diff --git a/third_party/blink/renderer/platform/graphics/test/mock_paint_canvas.h b/third_party/blink/renderer/platform/graphics/test/mock_paint_canvas.h index 9c2d15a..8f17ab0 100644 --- a/third_party/blink/renderer/platform/graphics/test/mock_paint_canvas.h +++ b/third_party/blink/renderer/platform/graphics/test/mock_paint_canvas.h
@@ -26,9 +26,11 @@ MOCK_METHOD1(setNodeId, void(int)); MOCK_METHOD0(flush, void()); MOCK_METHOD0(save, int()); + MOCK_METHOD1(saveLayer, int(const cc::PaintFlags& flags)); MOCK_METHOD2(saveLayer, - int(const SkRect* bounds, const cc::PaintFlags* flags)); - MOCK_METHOD2(saveLayerAlpha, int(const SkRect* bounds, uint8_t alpha)); + int(const SkRect& bounds, const cc::PaintFlags& flags)); + MOCK_METHOD1(saveLayerAlpha, int(uint8_t alpha)); + MOCK_METHOD2(saveLayerAlpha, int(const SkRect& bounds, uint8_t alpha)); MOCK_METHOD0(restore, void()); MOCK_CONST_METHOD0(getSaveCount, int()); MOCK_METHOD1(restoreToCount, void(int save_count));
diff --git a/third_party/blink/web_tests/SlowTests b/third_party/blink/web_tests/SlowTests index 60e3aa0..8787379 100644 --- a/third_party/blink/web_tests/SlowTests +++ b/third_party/blink/web_tests/SlowTests
@@ -744,7 +744,6 @@ crbug.com/1195814 [ Mac11 ] external/wpt/IndexedDB/idb-explicit-commit.any.html [ Slow ] crbug.com/1195814 [ Mac11 ] external/wpt/IndexedDB/idbindex_getAll.html [ Slow ] crbug.com/1195814 [ Mac11 ] external/wpt/IndexedDB/idbindex_getAllKeys.html [ Slow ] -crbug.com/1195814 [ Mac11 ] external/wpt/IndexedDB/keygenerator-explicit.html [ Slow ] crbug.com/1195814 [ Mac11 ] external/wpt/IndexedDB/keypath-special-identifiers.htm [ Slow ] crbug.com/1263580 editing/deleting/delete-many-lines-of-text.html [ Slow ]
diff --git a/third_party/blink/web_tests/TestExpectations b/third_party/blink/web_tests/TestExpectations index d48fa44..b9526d4f 100644 --- a/third_party/blink/web_tests/TestExpectations +++ b/third_party/blink/web_tests/TestExpectations
@@ -1929,7 +1929,6 @@ # Flaky tests on Mac after enabling scroll animations in web_tests crbug.com/944583 [ Mac ] fast/events/platform-wheelevent-paging-xy-in-scrolling-div.html [ Failure Pass ] crbug.com/944583 [ Mac ] fast/scrolling/percentage-mousewheel-scroll-on-iframe.html [ Failure Pass ] -crbug.com/944583 [ Mac ] fast/scrolling/percentage-mousewheel-scroll.html [ Failure Pass ] crbug.com/944583 [ Mac ] fast/events/platform-wheelevent-paging-x-in-scrolling-page.html [ Failure Pass Timeout ] crbug.com/944583 [ Mac ] fast/events/platform-wheelevent-paging-y-in-scrolling-page.html [ Failure Pass Timeout ] # Sheriff: 2020-05-18 @@ -3261,10 +3260,6 @@ crbug.com/626703 [ Mac ] external/wpt/speculation-rules/prerender/media-autoplay.html [ Skip Timeout ] crbug.com/626703 [ Win ] external/wpt/speculation-rules/prerender/media-autoplay.html [ Skip Timeout ] crbug.com/626703 external/wpt/geolocation-API/idlharness.https.window.html [ Skip Timeout ] -crbug.com/626703 external/wpt/geolocation-API/enabled-by-feature-policy-attribute-redirect-on-load.https.sub.html [ Timeout ] -crbug.com/626703 external/wpt/geolocation-API/enabled-by-feature-policy-attribute.https.sub.html [ Timeout ] -crbug.com/626703 external/wpt/geolocation-API/enabled-by-feature-policy.https.sub.html [ Timeout ] -crbug.com/626703 external/wpt/geolocation-API/enabled-on-self-origin-by-feature-policy.https.sub.html [ Timeout ] crbug.com/626703 external/wpt/resource-timing/object-not-found-adds-entry.html [ Failure Pass Timeout ] crbug.com/1385265 virtual/plz-dedicated-worker/external/wpt/resource-timing/object-not-found-adds-entry.html [ Failure Pass Skip ] crbug.com/1385278 external/wpt/resource-timing/iframe-failed-commit.html [ Failure Pass Skip Timeout ] @@ -4591,7 +4586,6 @@ crbug.com/1249043 external/wpt/html/cross-origin-embedder-policy/reporting-subresource-corp.https.html [ Pass Timeout ] crbug.com/1249043 external/wpt/html/cross-origin-embedder-policy/reporting-navigation.https.html [ Failure Pass ] crbug.com/1249043 external/wpt/html/cross-origin-embedder-policy/reporting-to-endpoint.https.html [ Failure Pass ] -crbug.com/1249043 external/wpt/html/cross-origin-embedder-policy/report-only-require-corp.https.html [ Failure Pass ] crbug.com/1287036 external/wpt/html/cross-origin-opener-policy/iframe-popup-same-origin-to-same-origin.https.html [ Skip Timeout ] crbug.com/1287036 virtual/plz-dedicated-worker/external/wpt/html/cross-origin-embedder-policy/multi-globals/workers-coep-report.https.html [ Failure Pass ] crbug.com/1265587 external/wpt/html/user-activation/activation-trigger-pointerevent.html?pen [ Failure ] @@ -4715,7 +4709,6 @@ crbug.com/1046784 [ Linux ] http/tests/devtools/tracing/timeline-misc/timeline-event-causes.js [ Failure Pass ] # Sheriff 2020-07-23 -crbug.com/1108786 [ Linux ] http/tests/devtools/tracing/timeline-js/timeline-gc-event.js [ Failure Pass ] crbug.com/1092794 fast/canvas/OffscreenCanvas-2d-placeholder-willReadFrequently.html [ Failure Pass ] @@ -4911,7 +4904,6 @@ crbug.com/1179461 [ Linux ] external/wpt/webxr/depth-sensing/gpu/depth_sensing_gpu_staleView.https.html [ Failure ] # Sheriff 2021-02-17 -crbug.com/1179117 [ Linux ] http/tests/devtools/a11y-axe-core/sources/scope-pane-a11y-test.js [ Pass Timeout ] # Sheriff 2021-02-19 crbug.com/1180227 [ Mac ] virtual/feature-policy-permissions/external/wpt/mediacapture-streams/MediaStream-default-feature-policy.https.html [ Crash Failure Pass ] @@ -6377,7 +6369,6 @@ crbug.com/1374264 [ Mac ] external/wpt/screen-capture/permissions-policy-audio.https.sub.html [ Failure ] crbug.com/1374264 [ Mac ] external/wpt/screen-capture/permissions-policy-video.https.sub.html [ Failure ] -crbug.com/1372181 external/wpt/scroll-animations/css/printing/scroll-timeline-default-iframe-print.html [ Failure ] # Sheriff 2022-10-04 crbug.com/1145491 [ Mac ] virtual/controls-refresh-hc/fast/forms/color-scheme/media/video-overlay-menu.html [ Crash Failure Pass Timeout ]
diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums.xml index 58735f9..6e32ed2 100644 --- a/tools/metrics/histograms/enums.xml +++ b/tools/metrics/histograms/enums.xml
@@ -32321,6 +32321,7 @@ <int value="1051" label="PrivacySandboxAdMeasurementEnabled"/> <int value="1052" label="AppStoreRatingEnabled"/> <int value="1053" label="KerberosUseCustomPrefilledConfig"/> + <int value="1054" label="DeviceHindiInscriptLayoutEnabled"/> </enum> <enum name="EnterprisePoliciesSources"> @@ -90922,6 +90923,7 @@ <int value="17" label="FeedUserSegment"/> <int value="18" label="ContextualPageActions"/> <int value="23" label="SearchUserSegment"/> + <int value="28" label="AdaptiveToolbar"/> </enum> <enum name="SegmentationPlatformTrainingDataCollectionEvent">
diff --git a/tools/metrics/histograms/metadata/optimization/histograms.xml b/tools/metrics/histograms/metadata/optimization/histograms.xml index cd50dc5..6111c1f 100644 --- a/tools/metrics/histograms/metadata/optimization/histograms.xml +++ b/tools/metrics/histograms/metadata/optimization/histograms.xml
@@ -45,6 +45,8 @@ <variant name="PageTopicsV2" summary="Page topics v2"/> <variant name="PageVisibility" summary="Page visibility"/> <variant name="PainfulPageLoad" summary="Painful page load"/> + <variant name="SegmentationAdaptiveToolbar" + summary="Segmentation: Adaptive toolbar button"/> <variant name="SegmentationChromeLowUserEngagement" summary="Segmentation: Low user engagement with Chrome"/> <variant name="SegmentationChromeStartAndroid"
diff --git a/tools/metrics/histograms/metadata/segmentation_platform/histograms.xml b/tools/metrics/histograms/metadata/segmentation_platform/histograms.xml index 15f976f..852b448 100644 --- a/tools/metrics/histograms/metadata/segmentation_platform/histograms.xml +++ b/tools/metrics/histograms/metadata/segmentation_platform/histograms.xml
@@ -61,6 +61,7 @@ </variants> <variants name="SegmentationModel"> + <variant name="AdaptiveToolbar"/> <variant name="ChromeLowUserEngagement"/> <variant name="ChromeStartAndroid"/> <variant name="ChromeStartAndroidV2"/>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_as.xtb b/ui/chromeos/translations/ui_chromeos_strings_as.xtb index b12fdf4..5474927 100644 --- a/ui/chromeos/translations/ui_chromeos_strings_as.xtb +++ b/ui/chromeos/translations/ui_chromeos_strings_as.xtb
@@ -144,6 +144,7 @@ <translation id="2208919847696382164">Linuxৰ জৰিয়তে ইনষ্টল কৰক</translation> <translation id="2225536596944493418">আপুনি <ph name="NUMBER_OF_ITEMS" />টা বস্তু মচি পেলাবলৈ নিশ্চিতনে?</translation> <translation id="2230062665678605299">"<ph name="FOLDER_NAME" />" ফল্ডাৰ সৃষ্টি কৰিব পৰা নগ’ল। <ph name="ERROR_MESSAGE" /></translation> +<translation id="2236732657580416950">আপোনাৰ Google Driveৰ কেশ্ব মচা হৈছে।</translation> <translation id="2239068707900391003">কফিৰ সৈতে ব্যক্তিৰ ছবি</translation> <translation id="2251368349685848079">ট্ৰেশ্বৰ পৰা পুনঃস্থাপন কৰক</translation> <translation id="2282155092769082568">স্বয়ংক্ৰিয় কনফিগাৰেশ্বন URL:</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_be.xtb b/ui/chromeos/translations/ui_chromeos_strings_be.xtb index 9a748b7..f7fb605 100644 --- a/ui/chromeos/translations/ui_chromeos_strings_be.xtb +++ b/ui/chromeos/translations/ui_chromeos_strings_be.xtb
@@ -144,6 +144,7 @@ <translation id="2208919847696382164">Усталюйце пакет Linux</translation> <translation id="2225536596944493418">Сапраўды выдаліць гэтыя элементы (<ph name="NUMBER_OF_ITEMS" />)?</translation> <translation id="2230062665678605299">Не ўдалося стварыць папку "<ph name="FOLDER_NAME" />". <ph name="ERROR_MESSAGE" /></translation> +<translation id="2236732657580416950">Кэш Google Дыска ачышчаны.</translation> <translation id="2239068707900391003">Чалавек з кубкам кавы</translation> <translation id="2251368349685848079">Аднавіць са сметніцы</translation> <translation id="2282155092769082568">URL-адрас аўтаматычнай канфігурацыі:</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_bs.xtb b/ui/chromeos/translations/ui_chromeos_strings_bs.xtb index 9c7e16f..b5dd77c 100644 --- a/ui/chromeos/translations/ui_chromeos_strings_bs.xtb +++ b/ui/chromeos/translations/ui_chromeos_strings_bs.xtb
@@ -679,6 +679,7 @@ <translation id="6607272825297743757">Informacije o fajlu</translation> <translation id="6609332149380188670">Broj foldera koji su podijeljeni pomoću aplikacije Parallels Desktop: <ph name="NUMBER_OF_ITEMS" /></translation> <translation id="6629518321609546825">Unesite najmanje 4 broja</translation> +<translation id="6639661343369899134">Datoteke se ne mogu prenijeti jer na disku <ph name="SHARED_DRIVE_NAME" /> nema dovoljno prostora za pohranu.</translation> <translation id="6643016212128521049">Obriši</translation> <translation id="6650726141019353908">Ružičasti leptir</translation> <translation id="6657585470893396449">Lozinka</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_en-GB.xtb b/ui/chromeos/translations/ui_chromeos_strings_en-GB.xtb index 33cdc0909..c4cbbbf 100644 --- a/ui/chromeos/translations/ui_chromeos_strings_en-GB.xtb +++ b/ui/chromeos/translations/ui_chromeos_strings_en-GB.xtb
@@ -679,6 +679,7 @@ <translation id="6607272825297743757">File info</translation> <translation id="6609332149380188670"><ph name="NUMBER_OF_ITEMS" /> folders shared with Parallels Desktop</translation> <translation id="6629518321609546825">Enter at least 4 numbers</translation> +<translation id="6639661343369899134">Files can't be uploaded because <ph name="SHARED_DRIVE_NAME" /> doesn't have enough storage.</translation> <translation id="6643016212128521049">Clear</translation> <translation id="6650726141019353908">Pink butterfly</translation> <translation id="6657585470893396449">Password</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_es.xtb b/ui/chromeos/translations/ui_chromeos_strings_es.xtb index 610e6b2..d97caf419 100644 --- a/ui/chromeos/translations/ui_chromeos_strings_es.xtb +++ b/ui/chromeos/translations/ui_chromeos_strings_es.xtb
@@ -144,6 +144,7 @@ <translation id="2208919847696382164">Instalar con Linux</translation> <translation id="2225536596944493418">¿Seguro que quieres eliminar estos <ph name="NUMBER_OF_ITEMS" /> elementos?</translation> <translation id="2230062665678605299">No se puede crear la carpeta "<ph name="FOLDER_NAME" />". <ph name="ERROR_MESSAGE" /></translation> +<translation id="2236732657580416950">Se ha borrado la caché de tu Google Drive.</translation> <translation id="2239068707900391003">Persona con un café</translation> <translation id="2251368349685848079">Restaurar de la papelera</translation> <translation id="2282155092769082568">URL de configuración automática:</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_fr-CA.xtb b/ui/chromeos/translations/ui_chromeos_strings_fr-CA.xtb index 84abf1fe..2958116 100644 --- a/ui/chromeos/translations/ui_chromeos_strings_fr-CA.xtb +++ b/ui/chromeos/translations/ui_chromeos_strings_fr-CA.xtb
@@ -144,6 +144,7 @@ <translation id="2208919847696382164">Installer avec Linux</translation> <translation id="2225536596944493418">Voulez-vous vraiment supprimer <ph name="NUMBER_OF_ITEMS" /> éléments?</translation> <translation id="2230062665678605299">Impossible de créer le dossier « <ph name="FOLDER_NAME" /> ». <ph name="ERROR_MESSAGE" /></translation> +<translation id="2236732657580416950">Votre cache Google Disque a été vidé.</translation> <translation id="2239068707900391003">Personne avec un café</translation> <translation id="2251368349685848079">Restaurer à partir de la corbeille</translation> <translation id="2282155092769082568">URL d'autoconfiguration :</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_gl.xtb b/ui/chromeos/translations/ui_chromeos_strings_gl.xtb index 600a6d20..4cf1266 100644 --- a/ui/chromeos/translations/ui_chromeos_strings_gl.xtb +++ b/ui/chromeos/translations/ui_chromeos_strings_gl.xtb
@@ -144,6 +144,7 @@ <translation id="2208919847696382164">Instalar con Linux</translation> <translation id="2225536596944493418">Seguro que queres eliminar <ph name="NUMBER_OF_ITEMS" /> elementos?</translation> <translation id="2230062665678605299">Non se puido crear o cartafol "<ph name="FOLDER_NAME" />". <ph name="ERROR_MESSAGE" /></translation> +<translation id="2236732657580416950">Borrouse a memoria caché da túa conta de Google Drive.</translation> <translation id="2239068707900391003">Persoa con café</translation> <translation id="2251368349685848079">Restaurar desde a papeleira</translation> <translation id="2282155092769082568">URL de configuración automática:</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_gu.xtb b/ui/chromeos/translations/ui_chromeos_strings_gu.xtb index 72c481b1..fce06b8 100644 --- a/ui/chromeos/translations/ui_chromeos_strings_gu.xtb +++ b/ui/chromeos/translations/ui_chromeos_strings_gu.xtb
@@ -144,6 +144,7 @@ <translation id="2208919847696382164">Linux વડે ઇન્સ્ટૉલ કરો</translation> <translation id="2225536596944493418">શું તમે ખરેખર <ph name="NUMBER_OF_ITEMS" /> આઇટમને ડિલીટ કરવા માંગો છો?</translation> <translation id="2230062665678605299">ફોલ્ડર "<ph name="FOLDER_NAME" />" બનાવવામાં અક્ષમ. <ph name="ERROR_MESSAGE" /></translation> +<translation id="2236732657580416950">તમારી Google Drive કૅશ ફાઇલ સાફ કરી હતી.</translation> <translation id="2239068707900391003">કૉફીનો કપ પકડીને ઉભેલી વ્યક્તિ</translation> <translation id="2251368349685848079">ટ્રેશમાંથી રિસ્ટોર કરો</translation> <translation id="2282155092769082568">સ્વતઃગોઠવણી URL:</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_hr.xtb b/ui/chromeos/translations/ui_chromeos_strings_hr.xtb index bf47413..4bf97c0 100644 --- a/ui/chromeos/translations/ui_chromeos_strings_hr.xtb +++ b/ui/chromeos/translations/ui_chromeos_strings_hr.xtb
@@ -679,6 +679,7 @@ <translation id="6607272825297743757">Informacije o datoteci</translation> <translation id="6609332149380188670">S Parallels Desktopom dijeli se sljedeći broj mapa: <ph name="NUMBER_OF_ITEMS" /></translation> <translation id="6629518321609546825">Unesite najmanje četiri broja</translation> +<translation id="6639661343369899134">Datoteke se ne mogu prenijeti jer na disku <ph name="SHARED_DRIVE_NAME" /> nema dovoljno prostora za pohranu.</translation> <translation id="6643016212128521049">Izbriši</translation> <translation id="6650726141019353908">Ružičasti leptir</translation> <translation id="6657585470893396449">Zaporka</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_hy.xtb b/ui/chromeos/translations/ui_chromeos_strings_hy.xtb index b506559..dba5f74 100644 --- a/ui/chromeos/translations/ui_chromeos_strings_hy.xtb +++ b/ui/chromeos/translations/ui_chromeos_strings_hy.xtb
@@ -144,6 +144,7 @@ <translation id="2208919847696382164">Տեղադրել Լինուքսի միջոցով</translation> <translation id="2225536596944493418">Իսկապե՞ս ուզում եք ջնջել <ph name="NUMBER_OF_ITEMS" /> տարրերը։</translation> <translation id="2230062665678605299">Հնարավոր չէ ստեղծել «<ph name="FOLDER_NAME" />» պանակը: <ph name="ERROR_MESSAGE" /></translation> +<translation id="2236732657580416950">Google Drive-ի ձեր քեշը մաքրվել է։</translation> <translation id="2239068707900391003">Սուրճով մարդ</translation> <translation id="2251368349685848079">Վերականգնել աղբարկղից</translation> <translation id="2282155092769082568">Ինքնակազմաձևման URL-ը՝</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_mr.xtb b/ui/chromeos/translations/ui_chromeos_strings_mr.xtb index b0c48f7..c7d30ba 100644 --- a/ui/chromeos/translations/ui_chromeos_strings_mr.xtb +++ b/ui/chromeos/translations/ui_chromeos_strings_mr.xtb
@@ -144,6 +144,7 @@ <translation id="2208919847696382164">Linux सह इंस्टॉल करा</translation> <translation id="2225536596944493418">तुम्हाला नक्की <ph name="NUMBER_OF_ITEMS" /> आयटम हटवायचे आहेत का?</translation> <translation id="2230062665678605299">फोल्डर "<ph name="FOLDER_NAME" />" तयार करण्यात अक्षम. <ph name="ERROR_MESSAGE" /></translation> +<translation id="2236732657580416950">तुमची Google Drive कॅशे साफ केली आहे.</translation> <translation id="2239068707900391003">कॉफी पीत असलेली व्यक्ती</translation> <translation id="2251368349685848079">ट्रॅशमधून रिस्टोअर करा</translation> <translation id="2282155092769082568">स्वयंकॉन्फिगरेशन URL:</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_pt-PT.xtb b/ui/chromeos/translations/ui_chromeos_strings_pt-PT.xtb index 81822c2..4d36740 100644 --- a/ui/chromeos/translations/ui_chromeos_strings_pt-PT.xtb +++ b/ui/chromeos/translations/ui_chromeos_strings_pt-PT.xtb
@@ -679,6 +679,7 @@ <translation id="6607272825297743757">Informações do ficheiro</translation> <translation id="6609332149380188670"><ph name="NUMBER_OF_ITEMS" /> pastas partilhadas com o Parallels Desktop.</translation> <translation id="6629518321609546825">Introduza, pelo menos, 4 números</translation> +<translation id="6639661343369899134">Não é possível carregar os ficheiros porque <ph name="SHARED_DRIVE_NAME" /> não tem armazenamento suficiente.</translation> <translation id="6643016212128521049">Limpar</translation> <translation id="6650726141019353908">Borboleta cor-de-rosa</translation> <translation id="6657585470893396449">Palavra-passe</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_ru.xtb b/ui/chromeos/translations/ui_chromeos_strings_ru.xtb index cf4e210..628c6a7 100644 --- a/ui/chromeos/translations/ui_chromeos_strings_ru.xtb +++ b/ui/chromeos/translations/ui_chromeos_strings_ru.xtb
@@ -144,6 +144,7 @@ <translation id="2208919847696382164">Установить с помощью Linux</translation> <translation id="2225536596944493418">Вы действительно хотите удалить объекты (<ph name="NUMBER_OF_ITEMS" />)?</translation> <translation id="2230062665678605299">Не удалось создать папку "<ph name="FOLDER_NAME" />". <ph name="ERROR_MESSAGE" /></translation> +<translation id="2236732657580416950">Кеш Google Диска очищен.</translation> <translation id="2239068707900391003">Человек с чашкой кофе</translation> <translation id="2251368349685848079">Восстановить из корзины</translation> <translation id="2282155092769082568">URL автоматической настройки:</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_si.xtb b/ui/chromeos/translations/ui_chromeos_strings_si.xtb index 486cae9b..3618d21 100644 --- a/ui/chromeos/translations/ui_chromeos_strings_si.xtb +++ b/ui/chromeos/translations/ui_chromeos_strings_si.xtb
@@ -144,6 +144,7 @@ <translation id="2208919847696382164">Linux සමග ස්ථාපනය කරන්න</translation> <translation id="2225536596944493418">ඔබට අයිතම <ph name="NUMBER_OF_ITEMS" /> මැකීමට අවශ්ය බව ඔබට තහවුරුද?</translation> <translation id="2230062665678605299">මෙම ෆෝල්ඩරය සෑදීමට නොහැක "<ph name="FOLDER_NAME" />". <ph name="ERROR_MESSAGE" /></translation> +<translation id="2236732657580416950">ඔබේ Google Drive කෑෂය හිස් කරන ලදි.</translation> <translation id="2239068707900391003">කෝපි සමග පුද්ගලයා</translation> <translation id="2251368349685848079">කුණු කූඩය වෙතින් ප්රතිස්ථාපනය කරන්න</translation> <translation id="2282155092769082568">ස්වයංවින්යාසකරණ URL:</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_sk.xtb b/ui/chromeos/translations/ui_chromeos_strings_sk.xtb index abb3f6b..adbfdc97 100644 --- a/ui/chromeos/translations/ui_chromeos_strings_sk.xtb +++ b/ui/chromeos/translations/ui_chromeos_strings_sk.xtb
@@ -144,6 +144,7 @@ <translation id="2208919847696382164">Inštalovať pomocou systému Linux</translation> <translation id="2225536596944493418">Naozaj chcete odstrániť príslušné položky (<ph name="NUMBER_OF_ITEMS" />)?</translation> <translation id="2230062665678605299">Priečinok <ph name="FOLDER_NAME" /> sa nepodarilo vytvoriť. <ph name="ERROR_MESSAGE" /></translation> +<translation id="2236732657580416950">Vyrovnávacia pamäť Disku Google bola vymazaná.</translation> <translation id="2239068707900391003">Osoba s kávou</translation> <translation id="2251368349685848079">Obnoviť z koša</translation> <translation id="2282155092769082568">Webová adresa automatickej konfigurácie</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_sl.xtb b/ui/chromeos/translations/ui_chromeos_strings_sl.xtb index abe5e2d..e70ee67d 100644 --- a/ui/chromeos/translations/ui_chromeos_strings_sl.xtb +++ b/ui/chromeos/translations/ui_chromeos_strings_sl.xtb
@@ -144,6 +144,7 @@ <translation id="2208919847696382164">Namestitev z Linuxom</translation> <translation id="2225536596944493418">Ali ste prepričani, da želite izbrisati toliko elementov: <ph name="NUMBER_OF_ITEMS" />?</translation> <translation id="2230062665678605299">Ni bilo mogoče ustvariti mape »<ph name="FOLDER_NAME" />«. <ph name="ERROR_MESSAGE" /></translation> +<translation id="2236732657580416950">Predpomnilnik Googla Drive je izbrisan.</translation> <translation id="2239068707900391003">Oseba s kavo</translation> <translation id="2251368349685848079">Obnovi iz smetnjaka</translation> <translation id="2282155092769082568">Spletni naslov samodejne konfiguracije:</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_sv.xtb b/ui/chromeos/translations/ui_chromeos_strings_sv.xtb index bb1ad88..1764e7c 100644 --- a/ui/chromeos/translations/ui_chromeos_strings_sv.xtb +++ b/ui/chromeos/translations/ui_chromeos_strings_sv.xtb
@@ -144,6 +144,7 @@ <translation id="2208919847696382164">Installera med Linux</translation> <translation id="2225536596944493418">Vill du ta bort <ph name="NUMBER_OF_ITEMS" /> objekt?</translation> <translation id="2230062665678605299">Det går inte att skapa mappen <ph name="FOLDER_NAME" />. <ph name="ERROR_MESSAGE" /></translation> +<translation id="2236732657580416950">Ditt cacheminne har rensats på Google Drive.</translation> <translation id="2239068707900391003">Person med en kopp kaffe</translation> <translation id="2251368349685848079">Återställ från papperskorgen</translation> <translation id="2282155092769082568">Webbadress för automatisk konfiguration:</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_ta.xtb b/ui/chromeos/translations/ui_chromeos_strings_ta.xtb index a39e45c..45ed097 100644 --- a/ui/chromeos/translations/ui_chromeos_strings_ta.xtb +++ b/ui/chromeos/translations/ui_chromeos_strings_ta.xtb
@@ -144,6 +144,7 @@ <translation id="2208919847696382164">Linux தொகுப்பை நிறுவு</translation> <translation id="2225536596944493418"><ph name="NUMBER_OF_ITEMS" /> உள்ளடக்கங்களை நிச்சயமாக நீக்க விரும்புகிறீர்களா?</translation> <translation id="2230062665678605299">"<ph name="FOLDER_NAME" />" ஃபோல்டரை உருவாக்க முடியவில்லை. <ph name="ERROR_MESSAGE" /></translation> +<translation id="2236732657580416950">உங்கள் Google Drive தற்காலிகச் சேமிப்பு அழிக்கப்பட்டது.</translation> <translation id="2239068707900391003">காஃபியுடன் இருக்கும் நபர்</translation> <translation id="2251368349685848079">நீக்கியவையில் இருந்து மீட்டெடு</translation> <translation id="2282155092769082568">தானியங்கு உள்ளமைவு URL:</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_uk.xtb b/ui/chromeos/translations/ui_chromeos_strings_uk.xtb index c5623b5..d42d0b7 100644 --- a/ui/chromeos/translations/ui_chromeos_strings_uk.xtb +++ b/ui/chromeos/translations/ui_chromeos_strings_uk.xtb
@@ -144,6 +144,7 @@ <translation id="2208919847696382164">Установити для Linux</translation> <translation id="2225536596944493418">Видалити елементи (<ph name="NUMBER_OF_ITEMS" />)?</translation> <translation id="2230062665678605299">Не вдається створити папку "<ph name="FOLDER_NAME" />". <ph name="ERROR_MESSAGE" /></translation> +<translation id="2236732657580416950">Кеш Google Диска очищено.</translation> <translation id="2239068707900391003">Людина з кавою</translation> <translation id="2251368349685848079">Відновити з кошика</translation> <translation id="2282155092769082568">URL-адреса автоконфігурації:</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_ur.xtb b/ui/chromeos/translations/ui_chromeos_strings_ur.xtb index eaad61e8..abea780 100644 --- a/ui/chromeos/translations/ui_chromeos_strings_ur.xtb +++ b/ui/chromeos/translations/ui_chromeos_strings_ur.xtb
@@ -144,6 +144,7 @@ <translation id="2208919847696382164">Linux کے ساتھ انسٹال کریں</translation> <translation id="2225536596944493418">کیا آپ واقعی <ph name="NUMBER_OF_ITEMS" /> آئٹمز حذف کرنا چاہتے ہیں؟</translation> <translation id="2230062665678605299">فولڈر "<ph name="FOLDER_NAME" />" بنانے سے قاصر۔ <ph name="ERROR_MESSAGE" /></translation> +<translation id="2236732657580416950">Your Google Drive cache was cleared.</translation> <translation id="2239068707900391003">کافی لیے ہوئے شخص</translation> <translation id="2251368349685848079">کوڑے دان سے بحال کریں</translation> <translation id="2282155092769082568">خودکار کنفیگریشن URL:</translation>
diff --git a/ui/file_manager/integration_tests/file_manager/dlp.js b/ui/file_manager/integration_tests/file_manager/dlp.js index 96e8ca1..7ce093d 100644 --- a/ui/file_manager/integration_tests/file_manager/dlp.js +++ b/ui/file_manager/integration_tests/file_manager/dlp.js
@@ -60,20 +60,6 @@ * detail list and a tooltip is displayed when hovering over that icon. */ testcase.dlpShowManagedIcon = async () => { - // Add entries to Downloads and setup the fake source URLs. - await addEntries(['local'], BASIC_LOCAL_ENTRY_SET); - await sendTestMessage({ - name: 'setGetFilesSourcesMock', - fileNames: BASIC_LOCAL_ENTRY_SET.map(e => e.nameText), - sourceUrls: [ - 'https://blocked.com', - 'https://allowed.com', - 'https://blocked.com', - 'https://warned.com', - 'https://not-set.com', - ], - }); - // Setup the restrictions. await sendTestMessage({name: 'setIsRestrictedByAnyRuleRestrictions'}); @@ -104,18 +90,11 @@ * menu item appears and is enabled. */ testcase.dlpContextMenuRestrictionDetails = async () => { - // Add entries to Downloads and setup the fake source URLs. - const entry = ENTRIES.hello; - await addEntries(['local'], [entry]); - await sendTestMessage({ - name: 'setGetFilesSourcesMock', - fileNames: [entry.nameText], - sourceUrls: ['https://blocked.com'], - }); - // Setup the restrictions. await sendTestMessage({name: 'setIsRestrictedByAnyRuleBlocked'}); + const entry = ENTRIES.hello; + // Open Files app. const appId = await setupAndWaitUntilReady(RootPath.DOWNLOADS, [entry], []); @@ -352,25 +331,20 @@ * disabled. */ testcase.openDlpRestrictedFile = async () => { - // Add entries to Downloads and setup the fake source URLs. - await addEntries(['local'], BASIC_LOCAL_ENTRY_SET); - await sendTestMessage({ - name: 'setGetFilesSourcesMock', - fileNames: BASIC_LOCAL_ENTRY_SET.map(e => e.nameText), - sourceUrls: [ - 'https://blocked.com', - 'https://allowed.com', - 'https://blocked.com', - 'https://warned.com', - 'https://not-set.com', - ], - }); - // Setup the restrictions. await sendTestMessage({name: 'setIsRestrictedByAnyRuleRestrictions'}); await sendTestMessage({name: 'setIsRestrictedDestinationRestriction'}); - const okButton = '.button-panel button.ok:enabled'; + // TODO(b/263079195): Add mix of dirs and files when mocking is improved. + // Add entries to Downloads. + const entries = [ + ENTRIES.hello, /** blocked */ + ENTRIES.world, /** not blocked */ + ENTRIES.beautiful, /** not blocked */ + ENTRIES.desktop, /** blocked */ + ]; + await addEntries(['local'], entries); + const disabledOkButton = '.button-panel button.ok:disabled'; const cancelButton = '.button-panel button.cancel'; @@ -378,25 +352,15 @@ // Wait for the file list to appear. await remoteCall.waitForElement(dialog, '#file-list'); // Wait for the DLP managed icon to be shown - this means that metadata has - // been fetched, including the disabled status. Three are managed, but only - // two disabled. + // been fetched and we can check the disabled status as well. await remoteCall.waitForElementsCount( - dialog, ['#file-list .dlp-managed-icon'], 3); + dialog, ['#file-list .dlp-managed-icon'], 2); await remoteCall.waitForElementsCount( dialog, ['#file-list .file[disabled]'], 2); - // Verify that the button is enabled when a non-blocked (warning level) file - // is selected. - await remoteCall.waitUntilSelected(dialog, ENTRIES.beautiful.nameText); - await remoteCall.waitForElement(dialog, okButton); - - // Verify that the button is enabled when a directory is selected. - await remoteCall.waitUntilSelected(dialog, ENTRIES.photos.nameText); - await remoteCall.waitForElement(dialog, okButton); - // Verify that the button is disabled when a blocked file is selected. - await remoteCall.waitUntilSelected(dialog, ENTRIES.hello.nameText); + await remoteCall.waitUntilSelected(dialog, entries[3].nameText); await remoteCall.waitForElement(dialog, disabledOkButton); // Click the close button to dismiss the dialog. @@ -408,5 +372,5 @@ chrome.test.assertEq( undefined, await openAndWaitForClosingDialog( - {type: 'openFile'}, 'downloads', BASIC_LOCAL_ENTRY_SET, closer)); + {type: 'openFile'}, 'downloads', entries, closer)); };
diff --git a/ui/gfx/canvas.cc b/ui/gfx/canvas.cc index 7d924f2f..57c53ca 100644 --- a/ui/gfx/canvas.cc +++ b/ui/gfx/canvas.cc
@@ -111,16 +111,15 @@ } void Canvas::SaveLayerAlpha(uint8_t alpha) { - canvas_->saveLayerAlpha(NULL, alpha); + canvas_->saveLayerAlpha(alpha); } void Canvas::SaveLayerAlpha(uint8_t alpha, const Rect& layer_bounds) { - SkRect bounds(RectToSkRect(layer_bounds)); - canvas_->saveLayerAlpha(&bounds, alpha); + canvas_->saveLayerAlpha(RectToSkRect(layer_bounds), alpha); } void Canvas::SaveLayerWithFlags(const cc::PaintFlags& flags) { - canvas_->saveLayer(nullptr /* bounds */, &flags); + canvas_->saveLayer(flags); } void Canvas::Restore() { @@ -319,7 +318,7 @@ SkFloatToScalar(1.0f / bitmap_scale)); canvas_->translate(SkFloatToScalar(std::round(x * bitmap_scale)), SkFloatToScalar(std::round(y * bitmap_scale))); - canvas_->saveLayer(nullptr, &flags); + canvas_->saveLayer(flags); canvas_->drawPicture(image_rep.GetPaintRecord()); canvas_->restore(); }
diff --git a/ui/views/controls/button/label_button_border.cc b/ui/views/controls/button/label_button_border.cc index 2eda120..367001d9079 100644 --- a/ui/views/controls/button/label_button_border.cc +++ b/ui/views/controls/button/label_button_border.cc
@@ -101,12 +101,12 @@ const SkRect sk_rect = gfx::RectToSkRect(rect); cc::PaintCanvasAutoRestore auto_restore(canvas->sk_canvas(), false); - canvas->sk_canvas()->saveLayer(&sk_rect, nullptr); + canvas->sk_canvas()->saveLayer(sk_rect, cc::PaintFlags()); { // First, modulate the background by 1 - alpha. cc::PaintCanvasAutoRestore auto_restore_alpha(canvas->sk_canvas(), false); - canvas->sk_canvas()->saveLayerAlpha(&sk_rect, 255 - fg_alpha); + canvas->sk_canvas()->saveLayerAlpha(sk_rect, 255 - fg_alpha); state = native_theme_delegate->GetBackgroundThemeState(&extra); PaintHelper(this, canvas, state, rect, extra); } @@ -115,7 +115,7 @@ cc::PaintFlags flags; flags.setAlpha(fg_alpha); flags.setBlendMode(SkBlendMode::kPlus); - canvas->sk_canvas()->saveLayer(&sk_rect, &flags); + canvas->sk_canvas()->saveLayer(sk_rect, flags); state = native_theme_delegate->GetForegroundThemeState(&extra); PaintHelper(this, canvas, state, rect, extra); } else {