diff --git a/DEPS b/DEPS index 47df6264c695c..5ca023e9f61f3 100644 --- a/DEPS +++ b/DEPS @@ -2,7 +2,7 @@ gclient_gn_args_from = 'src' vars = { 'chromium_version': - '144.0.7521.0', + '144.0.7522.0', 'node_version': 'v24.11.0', 'nan_version': diff --git a/patches/boringssl/feat_expose_several_extra_cipher_functions.patch b/patches/boringssl/feat_expose_several_extra_cipher_functions.patch index c0f3497ce7835..4d60a5e2e75f4 100644 --- a/patches/boringssl/feat_expose_several_extra_cipher_functions.patch +++ b/patches/boringssl/feat_expose_several_extra_cipher_functions.patch @@ -118,7 +118,7 @@ index 891a73f229e3f0838cb2fa99b8fb24fdeac1962b..f7d0c5dc66f016eb9338c15e7f5ef59e callback(EVP_des_ede3_cbc(), "des-ede3-cbc", nullptr, arg); callback(EVP_rc2_cbc(), "rc2-cbc", nullptr, arg); diff --git a/include/openssl/cipher.h b/include/openssl/cipher.h -index 8b473699eb502cdd151a641d9ff242a7edcb42e8..a0a26d7c984a3d0f18d9fdf0424ced22580784a9 100644 +index ed2eeab57779d827eb19edcd435b4664d4079859..74bb77e03b562698cb887b25cc8a779631a809fb 100644 --- a/include/openssl/cipher.h +++ b/include/openssl/cipher.h @@ -552,6 +552,7 @@ OPENSSL_EXPORT const EVP_CIPHER *EVP_des_ede3_ecb(void); diff --git a/patches/chromium/build_do_not_depend_on_packed_resource_integrity.patch b/patches/chromium/build_do_not_depend_on_packed_resource_integrity.patch index b0b37cb1c869e..7e0c9e2e9ad15 100644 --- a/patches/chromium/build_do_not_depend_on_packed_resource_integrity.patch +++ b/patches/chromium/build_do_not_depend_on_packed_resource_integrity.patch @@ -33,10 +33,10 @@ index 606b3bd43179a5b4179a6ec9f58e531d55c1acb5..4d503a53290b4deaea016bb6867f3c07 "//base", "//build:branding_buildflags", diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn -index 1b6ba974b641ba9f352cf15e311fa93e1268b06c..f26b6e92617a6df6f8adb1bce51f26f06e66c701 100644 +index 0056e03965f8f0e00a51483f30edd461351b3a1f..333eb7958074fd4962acdbb57c089974f268c4cc 100644 --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -4825,7 +4825,7 @@ static_library("browser") { +@@ -4830,7 +4830,7 @@ static_library("browser") { ] } @@ -46,10 +46,10 @@ index 1b6ba974b641ba9f352cf15e311fa93e1268b06c..f26b6e92617a6df6f8adb1bce51f26f0 # than here in :chrome_dll. deps += [ "//chrome:packed_resources_integrity_header" ] diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn -index f99c95ff5d2bab35f4976c1bb9d39fc83de2494a..f124fc3885e509df46e8d8653ffb97f8b0b25060 100644 +index 1ee26f9edde72481eae0557007daa21f0845c2ac..35535ab1ca79aefe514b5021966a855853b8ce06 100644 --- a/chrome/test/BUILD.gn +++ b/chrome/test/BUILD.gn -@@ -7595,9 +7595,12 @@ test("unit_tests") { +@@ -7596,9 +7596,12 @@ test("unit_tests") { "//chrome/notification_helper", ] @@ -63,7 +63,7 @@ index f99c95ff5d2bab35f4976c1bb9d39fc83de2494a..f124fc3885e509df46e8d8653ffb97f8 "//chrome//services/util_win:unit_tests", "//chrome/app:chrome_dll_resources", "//chrome/app:win_unit_tests", -@@ -8539,6 +8542,10 @@ test("unit_tests") { +@@ -8540,6 +8543,10 @@ test("unit_tests") { "../browser/performance_manager/policies/background_tab_loading_policy_unittest.cc", ] @@ -74,7 +74,7 @@ index f99c95ff5d2bab35f4976c1bb9d39fc83de2494a..f124fc3885e509df46e8d8653ffb97f8 sources += [ # The importer code is not used on Android. "../common/importer/firefox_importer_utils_unittest.cc", -@@ -8595,7 +8602,6 @@ test("unit_tests") { +@@ -8596,7 +8603,6 @@ test("unit_tests") { # TODO(crbug.com/417513088): Maybe merge with the non-android `deps` declaration above? deps += [ "../browser/screen_ai:screen_ai_install_state", diff --git a/patches/chromium/can_create_window.patch b/patches/chromium/can_create_window.patch index cd1033a3ac124..dc63dd45b03ba 100644 --- a/patches/chromium/can_create_window.patch +++ b/patches/chromium/can_create_window.patch @@ -9,7 +9,7 @@ potentially prevent a window from being created. TODO(loc): this patch is currently broken. diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc -index 6e79165d538668580a1061857dfdefd4b3d5906c..469cfce5b48987268f7e95ea0e5edd75623558e8 100644 +index 5fd88f202c3024caaee12d00f6128af96172d06e..8e1228336a141f9812b03a9a4e810c797f14446b 100644 --- a/content/browser/renderer_host/render_frame_host_impl.cc +++ b/content/browser/renderer_host/render_frame_host_impl.cc @@ -9965,6 +9965,7 @@ void RenderFrameHostImpl::CreateNewWindow( @@ -232,7 +232,7 @@ index 82e9d3dfb5f7da76d89fe15ae61d379fa46e177d..fd035512099a54dff6cc951a2226c23a } // namespace blink diff --git a/third_party/blink/renderer/core/frame/local_dom_window.cc b/third_party/blink/renderer/core/frame/local_dom_window.cc -index c583c10c0f3d6e0a7e02bcd54bc8237e932914fe..139c4f7f39d5d43bd4ddae4afedf7e60ac8437c7 100644 +index 270f3f5e94bf2d07d44105488e2f8b02f951ae7b..0fba63098ae66f3537427132e38978aa91c992d9 100644 --- a/third_party/blink/renderer/core/frame/local_dom_window.cc +++ b/third_party/blink/renderer/core/frame/local_dom_window.cc @@ -2340,6 +2340,8 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate, @@ -242,5 +242,5 @@ index c583c10c0f3d6e0a7e02bcd54bc8237e932914fe..139c4f7f39d5d43bd4ddae4afedf7e60 + window_features.raw_features = features; + if (window_features.is_partitioned_popin) { - UseCounter::Count(*entered_window, - WebFeature::kPartitionedPopin_OpenAttempt); + if (!IsFeatureEnabled( + network::mojom::PermissionsPolicyFeature::kPartitionedPopins, diff --git a/patches/chromium/chore_grandfather_in_electron_views_and_delegates.patch b/patches/chromium/chore_grandfather_in_electron_views_and_delegates.patch index a940a178926ed..5aa7e7763f79c 100644 --- a/patches/chromium/chore_grandfather_in_electron_views_and_delegates.patch +++ b/patches/chromium/chore_grandfather_in_electron_views_and_delegates.patch @@ -10,7 +10,7 @@ Subject: chore: "grandfather in" Electron Views and Delegates 6448510: Lock further access to View::set_owned_by_client(). | https://chromium-review.googlesource.com/c/chromium/src/+/6448510 diff --git a/ui/views/view.h b/ui/views/view.h -index a6d23b384136e27eeb8d864af154aa020cab0fb1..bdc88396c84b0cccc2933a19a7772c1483cdb63d 100644 +index 42d29651bb0985c09f04019c2970258d97ecc730..670a6ec9b859fb13f4cd0813cabf8debd33c06a1 100644 --- a/ui/views/view.h +++ b/ui/views/view.h @@ -81,6 +81,19 @@ class ArcNotificationContentView; diff --git a/patches/chromium/feat_add_data_parameter_to_processsingleton.patch b/patches/chromium/feat_add_data_parameter_to_processsingleton.patch index d0f6a882fc05d..f969439c2dccf 100644 --- a/patches/chromium/feat_add_data_parameter_to_processsingleton.patch +++ b/patches/chromium/feat_add_data_parameter_to_processsingleton.patch @@ -180,7 +180,7 @@ index 08cbe32a258bf478f1da0a07064d3e9ef14c44a5..b9f2a43cb90fac4b031a4b4da38d6435 if (!WriteToSocket(socket.fd(), to_send.data(), to_send.length())) { // Try to kill the other process, because it might have been dead. diff --git a/chrome/browser/process_singleton_win.cc b/chrome/browser/process_singleton_win.cc -index 8bff42918d0780b3c89ad06886e0853a8e5b9052..3e89d1333e97ca3e32807a52612e0c3e83c83b88 100644 +index ae659d84a5ae2f2e87ce288477506575f8d86839..d93c7e8487ab1a2bbb5f56f2ca44868f947e6bfc 100644 --- a/chrome/browser/process_singleton_win.cc +++ b/chrome/browser/process_singleton_win.cc @@ -81,10 +81,12 @@ BOOL CALLBACK BrowserWindowEnumeration(HWND window, LPARAM param) { diff --git a/patches/chromium/feat_allow_code_cache_in_custom_schemes.patch b/patches/chromium/feat_allow_code_cache_in_custom_schemes.patch index aeac732052bfe..5b1e716e6d484 100644 --- a/patches/chromium/feat_allow_code_cache_in_custom_schemes.patch +++ b/patches/chromium/feat_allow_code_cache_in_custom_schemes.patch @@ -405,7 +405,7 @@ index 33e2ff42e4d9da442d522b959a4a21c2f7032b6b..a0d81212327fc17e1f4704e78803c1d7 std::vector extension_schemes; // Registers a URL scheme with a predefined default custom handler. diff --git a/url/url_util.cc b/url/url_util.cc -index 5eee7b4b0ffc5d8fc7c570f41ff5596d04ab77a3..beb2a5598bfbdc8a4617ee6627cf09951c64821c 100644 +index 94cbe0bb382b4b64db390dcd6d725e13f54b6666..5c3949c01f27cab5e4f8a56bbbf11c0f9718eed2 100644 --- a/url/url_util.cc +++ b/url/url_util.cc @@ -136,6 +136,9 @@ struct SchemeRegistry { @@ -418,7 +418,7 @@ index 5eee7b4b0ffc5d8fc7c570f41ff5596d04ab77a3..beb2a5598bfbdc8a4617ee6627cf0995 // Schemes with a predefined default custom handler. std::vector predefined_handler_schemes; -@@ -674,6 +677,15 @@ const std::vector& GetEmptyDocumentSchemes() { +@@ -673,6 +676,15 @@ const std::vector& GetEmptyDocumentSchemes() { return GetSchemeRegistry().empty_document_schemes; } diff --git a/patches/chromium/feat_corner_smoothing_css_rule_and_blink_painting.patch b/patches/chromium/feat_corner_smoothing_css_rule_and_blink_painting.patch index 0a4b7b2970cbc..1fdf4dc461216 100644 --- a/patches/chromium/feat_corner_smoothing_css_rule_and_blink_painting.patch +++ b/patches/chromium/feat_corner_smoothing_css_rule_and_blink_painting.patch @@ -20,7 +20,7 @@ making three primary changes to Blink: * Controls whether the CSS rule is available. diff --git a/third_party/blink/public/mojom/use_counter/metrics/css_property_id.mojom b/third_party/blink/public/mojom/use_counter/metrics/css_property_id.mojom -index 555b4c5dfa44a40cd2c558241d030cca6d9ae9fe..ff77a0ea897d673b21ec57f443b851ec5c52c67e 100644 +index e8b4cb12e28b62f3955810e47e590cb7fcba60f0..bff96df0400accdb6738701e1c41070cca64e73f 100644 --- a/third_party/blink/public/mojom/use_counter/metrics/css_property_id.mojom +++ b/third_party/blink/public/mojom/use_counter/metrics/css_property_id.mojom @@ -48,6 +48,7 @@ enum CSSSampleId { @@ -45,7 +45,7 @@ index e189d584f05f2ce6354c03a9b19f56985df8a15e..41b430e8f2416be098494f5c49fb97ca 'internal-forced-visited-'): internal_visited_order = 0 diff --git a/third_party/blink/renderer/core/css/css_properties.json5 b/third_party/blink/renderer/core/css/css_properties.json5 -index 86adddbca5900d86db526dc5c700ecbe56575d7d..7495443cf85408fced315c407c322bf27f328638 100644 +index a163c1a0790cb8deb4b09f6605876c24a4f79b64..a9a0548173ac9c903a208e4ef142a14a8506693f 100644 --- a/third_party/blink/renderer/core/css/css_properties.json5 +++ b/third_party/blink/renderer/core/css/css_properties.json5 @@ -9153,6 +9153,26 @@ @@ -76,7 +76,7 @@ index 86adddbca5900d86db526dc5c700ecbe56575d7d..7495443cf85408fced315c407c322bf2 { name: "-internal-visited-color", diff --git a/third_party/blink/renderer/core/css/css_property_equality.cc b/third_party/blink/renderer/core/css/css_property_equality.cc -index aaf56976e7ac7a4efe904a5275722fdc02172bae..670d3f91ec556e415a80bb01341c4047745455f2 100644 +index 1bff2c29379c4a1c1022440ce3d0048e08f63bd9..72b8c6f6c75a4c5d7455fa12180e574eb724a905 100644 --- a/third_party/blink/renderer/core/css/css_property_equality.cc +++ b/third_party/blink/renderer/core/css/css_property_equality.cc @@ -354,6 +354,8 @@ bool CSSPropertyEquality::PropertiesEqual(const PropertyHandle& property, @@ -89,10 +89,10 @@ index aaf56976e7ac7a4efe904a5275722fdc02172bae..670d3f91ec556e415a80bb01341c4047 return a.EmptyCells() == b.EmptyCells(); case CSSPropertyID::kFill: diff --git a/third_party/blink/renderer/core/css/properties/longhands/longhands_custom.cc b/third_party/blink/renderer/core/css/properties/longhands/longhands_custom.cc -index 739fdb04466eb5b4d29e3f642fe96c622c4bf5bf..f5aa8d719a54554f0798290475a3d4bd000beca5 100644 +index 4d9c0422443a98ab9226f8b0f580a67cc3e41ff3..9be2a613df6e1ab4ebe1bf6929aed767d46dd753 100644 --- a/third_party/blink/renderer/core/css/properties/longhands/longhands_custom.cc +++ b/third_party/blink/renderer/core/css/properties/longhands/longhands_custom.cc -@@ -12629,5 +12629,36 @@ const CSSValue* InternalEmptyLineHeight::ParseSingleValue( +@@ -12628,5 +12628,36 @@ const CSSValue* InternalEmptyLineHeight::ParseSingleValue( CSSValueID::kNone>(stream); } @@ -201,7 +201,7 @@ index 0802c73aa4aaf4e1fb5efd367758f19c36691f71..5f06c0af277a7c937e694470beac707a return result; } diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/renderer/platform/BUILD.gn -index 0fb769875acfe214407159e689f6190a5feba7c3..d764a52863dfa46dd828682cb9c8501fdc95a0c0 100644 +index 30e90d51c0f3ab884e5525471f279c410ce15d55..bb479ac88f556ae76abbb57867bddb379f4db2be 100644 --- a/third_party/blink/renderer/platform/BUILD.gn +++ b/third_party/blink/renderer/platform/BUILD.gn @@ -1671,6 +1671,8 @@ component("platform") { diff --git a/patches/chromium/fix_crash_loading_non-standard_schemes_in_iframes.patch b/patches/chromium/fix_crash_loading_non-standard_schemes_in_iframes.patch index f4f6fbe7ed4ab..e0ee7fa3c95c9 100644 --- a/patches/chromium/fix_crash_loading_non-standard_schemes_in_iframes.patch +++ b/patches/chromium/fix_crash_loading_non-standard_schemes_in_iframes.patch @@ -28,10 +28,10 @@ The patch should be removed in favor of either: Upstream bug https://bugs.chromium.org/p/chromium/issues/detail?id=1081397. diff --git a/content/browser/renderer_host/navigation_request.cc b/content/browser/renderer_host/navigation_request.cc -index 1182d246f0f32d75fc02cd5ce17e0dd1be936bc4..8f7117987e8e3e97cbd76f0c0fd9e6e52e0da459 100644 +index 310198673bf513ddaf57f37ec98e818cf3f51baf..f643131d7854845c1f77007946270790d87519f4 100644 --- a/content/browser/renderer_host/navigation_request.cc +++ b/content/browser/renderer_host/navigation_request.cc -@@ -11461,6 +11461,11 @@ url::Origin NavigationRequest::GetOriginForURLLoaderFactoryUnchecked() { +@@ -11469,6 +11469,11 @@ url::Origin NavigationRequest::GetOriginForURLLoaderFactoryUnchecked() { target_rph_id); } diff --git a/patches/chromium/fix_linux_tray_id.patch b/patches/chromium/fix_linux_tray_id.patch index 8a265eaae70de..44e657298b898 100644 --- a/patches/chromium/fix_linux_tray_id.patch +++ b/patches/chromium/fix_linux_tray_id.patch @@ -13,10 +13,10 @@ https://github.com/electron/electron/pull/48675#issuecomment-3452781711 for more info. diff --git a/chrome/browser/ui/views/status_icons/status_icon_linux_dbus.cc b/chrome/browser/ui/views/status_icons/status_icon_linux_dbus.cc -index 27b65721dc9f127b15f92821d3f3ea4ce0a2f19c..ff69b5cab40156a30872ee1793f4e72a38d91b03 100644 +index 72a61f80eb5dfafe2609ec9e3f8f34c7c84f7abe..c5c3092607b4dc0e1fa7f7fc39b8f7e82d59ffd7 100644 --- a/chrome/browser/ui/views/status_icons/status_icon_linux_dbus.cc +++ b/chrome/browser/ui/views/status_icons/status_icon_linux_dbus.cc -@@ -131,8 +131,8 @@ int NextServiceId() { +@@ -133,8 +133,8 @@ int NextServiceId() { return ++status_icon_count; } @@ -27,7 +27,7 @@ index 27b65721dc9f127b15f92821d3f3ea4ce0a2f19c..ff69b5cab40156a30872ee1793f4e72a } using DbusImage = std::tupleSetProperty<"s">(kInterfaceStatusNotifierItem, kPropertyCategory, kPropertyValueCategory, false); properties_->SetProperty<"s">(kInterfaceStatusNotifierItem, kPropertyId, @@ -53,10 +53,10 @@ index 27b65721dc9f127b15f92821d3f3ea4ce0a2f19c..ff69b5cab40156a30872ee1793f4e72a kPropertyOverlayIconName, "", false); properties_->SetProperty<"s">(kInterfaceStatusNotifierItem, kPropertyStatus, diff --git a/chrome/browser/ui/views/status_icons/status_icon_linux_dbus.h b/chrome/browser/ui/views/status_icons/status_icon_linux_dbus.h -index 7b6b005f98e5de8b858a39e733dbf95888df3bc3..bf85004d8f42b30f12662078b24b684ea5c0c924 100644 +index 5457f98158a094a5b8768352d2868e3005afd395..13ac4e51019ea68fdccd17aac8a4855bde50964b 100644 --- a/chrome/browser/ui/views/status_icons/status_icon_linux_dbus.h +++ b/chrome/browser/ui/views/status_icons/status_icon_linux_dbus.h -@@ -36,7 +36,7 @@ class StatusIconLinuxDbus : public ui::StatusIconLinux, +@@ -37,7 +37,7 @@ class StatusIconLinuxDbus : public ui::StatusIconLinux, public ui::SimpleMenuModel::Delegate, public base::RefCounted { public: @@ -65,7 +65,7 @@ index 7b6b005f98e5de8b858a39e733dbf95888df3bc3..bf85004d8f42b30f12662078b24b684e StatusIconLinuxDbus(const StatusIconLinuxDbus&) = delete; StatusIconLinuxDbus& operator=(const StatusIconLinuxDbus&) = delete; -@@ -137,6 +137,8 @@ class StatusIconLinuxDbus : public ui::StatusIconLinux, +@@ -135,6 +135,8 @@ class StatusIconLinuxDbus : public ui::StatusIconLinux, size_t icon_file_id_ = 0; base::FilePath icon_file_; diff --git a/patches/chromium/fix_move_autopipsettingshelper_behind_branding_buildflag.patch b/patches/chromium/fix_move_autopipsettingshelper_behind_branding_buildflag.patch index d89f9b19a5f85..2123f36cd5102 100644 --- a/patches/chromium/fix_move_autopipsettingshelper_behind_branding_buildflag.patch +++ b/patches/chromium/fix_move_autopipsettingshelper_behind_branding_buildflag.patch @@ -83,10 +83,10 @@ index a8a1ec300d9286f641f4676be54121eddc9c0ba1..b25a7fe369207f24b52cf1c98abe70f4 PictureInPictureOcclusionTracker* diff --git a/chrome/browser/ui/views/overlay/video_overlay_window_views.cc b/chrome/browser/ui/views/overlay/video_overlay_window_views.cc -index c204274499a520aeeb2aaaad12e4aafd43738d23..56afbbf55148b5077253c0189bf6444c2daaf7ba 100644 +index 601b178ef0e90753559083f506c9a62a7434c530..2a0f9f87d833504e34ad7d72c0cdd974c0318639 100644 --- a/chrome/browser/ui/views/overlay/video_overlay_window_views.cc +++ b/chrome/browser/ui/views/overlay/video_overlay_window_views.cc -@@ -476,11 +476,13 @@ std::unique_ptr VideoOverlayWindowViews::Create( +@@ -451,11 +451,13 @@ std::unique_ptr VideoOverlayWindowViews::Create( #endif // BUILDFLAG(IS_WIN) diff --git a/patches/chromium/mas_avoid_private_macos_api_usage.patch.patch b/patches/chromium/mas_avoid_private_macos_api_usage.patch.patch index d1391f1f0d7bb..f0bd233136f61 100644 --- a/patches/chromium/mas_avoid_private_macos_api_usage.patch.patch +++ b/patches/chromium/mas_avoid_private_macos_api_usage.patch.patch @@ -581,7 +581,7 @@ index f69cd6100f2ac5ccb6f185e0d0bf186073ed5953..29a40923a55287b608c2ffae63a1dbbc return kAttributes; } diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn -index 1ffce9951a2f82c1052cfa8c434f43bd7d32d604..e44e635927026a2d3dd0627668b5e89aa7104050 100644 +index 4b2d7e9ce68ad678f6f7f4b8379b6b6437967be1..10317f8dcaf990dec20a0fcc4b48af9b15934ad3 100644 --- a/content/browser/BUILD.gn +++ b/content/browser/BUILD.gn @@ -343,6 +343,7 @@ source_set("browser") { diff --git a/patches/chromium/picture-in-picture.patch b/patches/chromium/picture-in-picture.patch index 85390051553bb..23eb19a4eef37 100644 --- a/patches/chromium/picture-in-picture.patch +++ b/patches/chromium/picture-in-picture.patch @@ -9,13 +9,13 @@ don't get errors for Chrome's generated resources, which are non-existent because we don't generate them in our build. diff --git a/chrome/browser/ui/views/overlay/close_image_button.cc b/chrome/browser/ui/views/overlay/close_image_button.cc -index 85df555841ac0d32d2f097547c9991cecf0f4b1a..7a108339448fad3105e87c9d9af678c2f85b8ed5 100644 +index a7a637438116a1c7846194dea4412100a45c9331..bb3877d546bfea141d3d6ebb396b88faab6ee34e 100644 --- a/chrome/browser/ui/views/overlay/close_image_button.cc +++ b/chrome/browser/ui/views/overlay/close_image_button.cc -@@ -5,9 +5,12 @@ +@@ -4,9 +4,12 @@ + #include "chrome/browser/ui/views/overlay/close_image_button.h" - #include "base/feature_list.h" +#include "build/branding_buildflags.h" #include "chrome/browser/ui/color/chrome_color_id.h" #include "chrome/grit/generated_resources.h" @@ -25,7 +25,7 @@ index 85df555841ac0d32d2f097547c9991cecf0f4b1a..7a108339448fad3105e87c9d9af678c2 #include "ui/base/l10n/l10n_util.h" #include "ui/base/metadata/metadata_impl_macros.h" #include "ui/base/models/image_model.h" -@@ -28,7 +31,10 @@ CloseImageButton::CloseImageButton(PressedCallback callback) +@@ -27,7 +30,10 @@ CloseImageButton::CloseImageButton(PressedCallback callback) : OverlayWindowImageButton(std::move(callback)) { SetSize(gfx::Size(kCloseButtonSize, kCloseButtonSize)); @@ -38,7 +38,7 @@ index 85df555841ac0d32d2f097547c9991cecf0f4b1a..7a108339448fad3105e87c9d9af678c2 ui::ImageModel::FromVectorIcon(*icon, kColorPipWindowForeground, kCloseButtonIconSize)); diff --git a/chrome/browser/ui/views/overlay/video_overlay_window_views.cc b/chrome/browser/ui/views/overlay/video_overlay_window_views.cc -index 3d9673db6bf535d3bc9518e7981ba8e84f4485bc..c204274499a520aeeb2aaaad12e4aafd43738d23 100644 +index 6cfeed24487c026d13034b5ea7a8fb275bff4006..601b178ef0e90753559083f506c9a62a7434c530 100644 --- a/chrome/browser/ui/views/overlay/video_overlay_window_views.cc +++ b/chrome/browser/ui/views/overlay/video_overlay_window_views.cc @@ -18,12 +18,16 @@ @@ -78,7 +78,7 @@ index 3d9673db6bf535d3bc9518e7981ba8e84f4485bc..c204274499a520aeeb2aaaad12e4aafd #include "chrome/browser/shell_integration_win.h" #include "content/public/browser/render_widget_host_view.h" #include "ui/aura/window.h" -@@ -434,7 +440,7 @@ std::unique_ptr VideoOverlayWindowViews::Create( +@@ -409,7 +415,7 @@ std::unique_ptr VideoOverlayWindowViews::Create( overlay_window->Init(std::move(params)); overlay_window->OnRootViewReady(); @@ -87,7 +87,7 @@ index 3d9673db6bf535d3bc9518e7981ba8e84f4485bc..c204274499a520aeeb2aaaad12e4aafd std::wstring app_user_model_id; Browser* browser = chrome::FindBrowserWithTab(controller->GetWebContents()); if (browser) { -@@ -734,6 +740,7 @@ void VideoOverlayWindowViews::OnMouseEvent(ui::MouseEvent* event) { +@@ -702,6 +708,7 @@ void VideoOverlayWindowViews::OnMouseEvent(ui::MouseEvent* event) { } case ui::EventType::kMousePressed: @@ -95,7 +95,7 @@ index 3d9673db6bf535d3bc9518e7981ba8e84f4485bc..c204274499a520aeeb2aaaad12e4aafd // Hide the live caption dialog if it's visible and the user clicks // outside of it. if (live_caption_dialog_ && live_caption_dialog_->GetVisible() && -@@ -742,6 +749,7 @@ void VideoOverlayWindowViews::OnMouseEvent(ui::MouseEvent* event) { +@@ -710,6 +717,7 @@ void VideoOverlayWindowViews::OnMouseEvent(ui::MouseEvent* event) { SetLiveCaptionDialogVisibility(false); return; } @@ -103,83 +103,81 @@ index 3d9673db6bf535d3bc9518e7981ba8e84f4485bc..c204274499a520aeeb2aaaad12e4aafd break; default: -@@ -1136,9 +1144,11 @@ void VideoOverlayWindowViews::SetUpViews() { - std::unique_ptr hang_up_button; - std::unique_ptr progress_view; - std::unique_ptr timestamp; -+#if 0 - std::unique_ptr live_status; - std::unique_ptr live_caption_button; - std::unique_ptr live_caption_dialog; -+#endif +@@ -1213,6 +1221,7 @@ void VideoOverlayWindowViews::SetUpViews() { + timestamp->SetBackgroundColor(SK_ColorTRANSPARENT); + timestamp->SetHorizontalAlignment(gfx::ALIGN_LEFT); - if (Use2024UI()) { - play_pause_controls_view->SetSize({kCenterButtonSize, kCenterButtonSize}); -@@ -1261,6 +1271,7 @@ void VideoOverlayWindowViews::SetUpViews() { - timestamp->SetEnabledColor(ui::kColorSysOnSurfaceSubtle); - timestamp->SetBackgroundColor(SK_ColorTRANSPARENT); - timestamp->SetHorizontalAlignment(gfx::ALIGN_LEFT); +#if 0 - live_status = std::make_unique( - l10n_util::GetStringUTF16(IDS_PICTURE_IN_PICTURE_LIVE_STATUS_TEXT), - views::style::CONTEXT_LABEL, views::style::STYLE_CAPTION_BOLD); -@@ -1279,6 +1290,7 @@ void VideoOverlayWindowViews::SetUpViews() { - Profile::FromBrowserContext( - controller_->GetWebContents()->GetBrowserContext())); - live_caption_dialog->SetVisible(false); + auto live_status = std::make_unique( + l10n_util::GetStringUTF16(IDS_PICTURE_IN_PICTURE_LIVE_STATUS_TEXT), + views::style::CONTEXT_LABEL, views::style::STYLE_CAPTION_BOLD); +@@ -1232,6 +1241,7 @@ void VideoOverlayWindowViews::SetUpViews() { + Profile::FromBrowserContext( + controller_->GetWebContents()->GetBrowserContext())); + live_caption_dialog->SetVisible(false); +#endif - toggle_microphone_button = - std::make_unique(base::BindRepeating( - [](VideoOverlayWindowViews* overlay) { -@@ -1494,6 +1506,7 @@ void VideoOverlayWindowViews::SetUpViews() { - timestamp->layer()->SetFillsBoundsOpaquely(false); - timestamp->layer()->SetName("Timestamp"); + + auto toggle_microphone_button = + std::make_unique(base::BindRepeating( +@@ -1367,6 +1377,7 @@ void VideoOverlayWindowViews::SetUpViews() { + timestamp->layer()->SetFillsBoundsOpaquely(false); + timestamp->layer()->SetName("Timestamp"); +#if 0 - live_status->SetPaintToLayer(ui::LAYER_TEXTURED); - live_status->layer()->SetFillsBoundsOpaquely(false); - live_status->layer()->SetName("LiveStatus"); -@@ -1505,6 +1518,7 @@ void VideoOverlayWindowViews::SetUpViews() { - live_caption_dialog->SetPaintToLayer(ui::LAYER_TEXTURED); - live_caption_dialog->layer()->SetFillsBoundsOpaquely(false); - live_caption_dialog->layer()->SetName("LiveCaptionDialog"); + live_status->SetPaintToLayer(ui::LAYER_TEXTURED); + live_status->layer()->SetFillsBoundsOpaquely(false); + live_status->layer()->SetName("LiveStatus"); +@@ -1378,6 +1389,7 @@ void VideoOverlayWindowViews::SetUpViews() { + live_caption_dialog->SetPaintToLayer(ui::LAYER_TEXTURED); + live_caption_dialog->layer()->SetFillsBoundsOpaquely(false); + live_caption_dialog->layer()->SetName("LiveCaptionDialog"); +#endif - } else { - // views::View that holds the skip-ad label button. - // ------------------------- -@@ -1596,13 +1610,14 @@ void VideoOverlayWindowViews::SetUpViews() { - timestamp_ = - playback_controls_container_view_->AddChildView(std::move(timestamp)); + toggle_microphone_button->SetPaintToLayer(ui::LAYER_TEXTURED); + toggle_microphone_button->layer()->SetFillsBoundsOpaquely(false); +@@ -1441,13 +1453,15 @@ void VideoOverlayWindowViews::SetUpViews() { + + timestamp_ = + playback_controls_container_view_->AddChildView(std::move(timestamp)); ++ +#if 0 - live_status_ = - playback_controls_container_view_->AddChildView(std::move(live_status)); + live_status_ = + playback_controls_container_view_->AddChildView(std::move(live_status)); - - live_caption_button_ = playback_controls_container_view_->AddChildView( - std::move(live_caption_button)); - live_caption_dialog_ = - controls_container_view->AddChildView(std::move(live_caption_dialog)); + live_caption_button_ = playback_controls_container_view_->AddChildView( + std::move(live_caption_button)); + live_caption_dialog_ = + controls_container_view->AddChildView(std::move(live_caption_dialog)); +#endif - toggle_camera_button_ = - vc_container->AddChildView(std::move(toggle_camera_button)); -@@ -1897,6 +1912,7 @@ void VideoOverlayWindowViews::OnUpdateControlsBounds() { - timestamp_->SetSize({max_timestamp_width, kTimestampHeight}); - timestamp_->SetVisible(!is_live_); + toggle_camera_button_ = vc_controls_container_view_->AddChildView( + std::move(toggle_camera_button)); +@@ -1709,6 +1723,7 @@ void VideoOverlayWindowViews::OnUpdateControlsBounds() { + timestamp_->SetSize({max_timestamp_width, kTimestampHeight}); + timestamp_->SetVisible(!is_live_); +#if 0 - live_status_->SetPosition(timestamp_position); - live_status_->SetMaximumWidthSingleLine(max_timestamp_width); - live_status_->SetSize( -@@ -1917,6 +1933,7 @@ void VideoOverlayWindowViews::OnUpdateControlsBounds() { - live_caption_dialog_->SetPosition( - {live_caption_button_bounds.right() - live_caption_dialog_->width(), - live_caption_button_bounds.y() - live_caption_dialog_->height()}); + live_status_->SetPosition(timestamp_position); + live_status_->SetMaximumWidthSingleLine(max_timestamp_width); + live_status_->SetSize( +@@ -1716,7 +1731,6 @@ void VideoOverlayWindowViews::OnUpdateControlsBounds() { + .width(), + kTimestampHeight}); + live_status_->SetVisible(is_live_); +- + gfx::Rect live_caption_button_bounds( + bottom_controls_bounds.right() - kBottomControlsHorizontalMargin - + kActionButtonSize.width(), +@@ -1729,7 +1743,7 @@ void VideoOverlayWindowViews::OnUpdateControlsBounds() { + live_caption_dialog_->SetPosition( + {live_caption_button_bounds.right() - live_caption_dialog_->width(), + live_caption_button_bounds.y() - live_caption_dialog_->height()}); +- +#endif - - // The play/pause button and replay/forward 10 seconds buttons should not be - // visible while dragging the progress bar or for live media. -@@ -2407,6 +2424,7 @@ void VideoOverlayWindowViews::OnGestureEvent(ui::GestureEvent* event) { + // The play/pause button and replay/forward 10 seconds buttons should not be + // visible while dragging the progress bar or for live media. + const bool is_dragging_progress_bar = +@@ -2053,6 +2067,7 @@ void VideoOverlayWindowViews::OnGestureEvent(ui::GestureEvent* event) { return; } @@ -187,7 +185,7 @@ index 3d9673db6bf535d3bc9518e7981ba8e84f4485bc..c204274499a520aeeb2aaaad12e4aafd if (live_caption_dialog_ && live_caption_dialog_->GetVisible()) { if (!GetLiveCaptionDialogBounds().Contains(event->location())) { // Hide the live caption dialog if it's visible and the user taps outside -@@ -2415,11 +2433,11 @@ void VideoOverlayWindowViews::OnGestureEvent(ui::GestureEvent* event) { +@@ -2061,11 +2076,11 @@ void VideoOverlayWindowViews::OnGestureEvent(ui::GestureEvent* event) { event->SetHandled(); return; } @@ -200,14 +198,11 @@ index 3d9673db6bf535d3bc9518e7981ba8e84f4485bc..c204274499a520aeeb2aaaad12e4aafd if (GetBackToTabControlsBounds().Contains(event->location())) { controller_->CloseAndFocusInitiator(); -@@ -2561,21 +2579,28 @@ gfx::Rect VideoOverlayWindowViews::GetProgressViewBounds() { +@@ -2171,18 +2186,25 @@ gfx::Rect VideoOverlayWindowViews::GetProgressViewBounds() { } gfx::Rect VideoOverlayWindowViews::GetLiveCaptionButtonBounds() { +#if 0 - if (!Use2024UI()) { - return gfx::Rect(); - } return live_caption_button_->GetMirroredBounds(); +#endif + return gfx::Rect(); @@ -215,7 +210,7 @@ index 3d9673db6bf535d3bc9518e7981ba8e84f4485bc..c204274499a520aeeb2aaaad12e4aafd gfx::Rect VideoOverlayWindowViews::GetLiveCaptionDialogBounds() { +#if 0 - if (!Use2024UI() || !live_caption_dialog_->GetVisible()) { + if (!live_caption_dialog_->GetVisible()) { return gfx::Rect(); } return live_caption_dialog_->GetMirroredBounds(); @@ -229,7 +224,7 @@ index 3d9673db6bf535d3bc9518e7981ba8e84f4485bc..c204274499a520aeeb2aaaad12e4aafd MediaEngagementService* service = MediaEngagementService::Get(Profile::FromBrowserContext( GetController()->GetWebContents()->GetBrowserContext())); -@@ -2584,6 +2609,8 @@ bool VideoOverlayWindowViews::HasHighMediaEngagement( +@@ -2191,6 +2213,8 @@ bool VideoOverlayWindowViews::HasHighMediaEngagement( } return service->HasHighEngagement(origin); @@ -238,7 +233,7 @@ index 3d9673db6bf535d3bc9518e7981ba8e84f4485bc..c204274499a520aeeb2aaaad12e4aafd } bool VideoOverlayWindowViews::IsTrustedForMediaPlayback() const { -@@ -2850,16 +2877,20 @@ void VideoOverlayWindowViews::UpdateTimestampLabel(base::TimeDelta current_time, +@@ -2447,16 +2471,20 @@ void VideoOverlayWindowViews::UpdateTimestampLabel(base::TimeDelta current_time, } void VideoOverlayWindowViews::OnLiveCaptionButtonPressed() { diff --git a/patches/chromium/process_singleton.patch b/patches/chromium/process_singleton.patch index 846b18810d5a7..03e259fc23d20 100644 --- a/patches/chromium/process_singleton.patch +++ b/patches/chromium/process_singleton.patch @@ -165,7 +165,7 @@ index 9d7be37f1d1fbde55773b4005878d8ff03cac22a..08cbe32a258bf478f1da0a07064d3e9e int dir_mode = 0; CHECK(base::GetPosixFilePermissions(socket_dir_.GetPath(), &dir_mode) && diff --git a/chrome/browser/process_singleton_win.cc b/chrome/browser/process_singleton_win.cc -index b1c5ce01eb052989bafadd320ac662ee1129d0ad..8bff42918d0780b3c89ad06886e0853a8e5b9052 100644 +index ff44618efa8f8082b5da2c416802b781290c6cac..ae659d84a5ae2f2e87ce288477506575f8d86839 100644 --- a/chrome/browser/process_singleton_win.cc +++ b/chrome/browser/process_singleton_win.cc @@ -29,7 +29,9 @@ @@ -226,7 +226,7 @@ index b1c5ce01eb052989bafadd320ac662ee1129d0ad..8bff42918d0780b3c89ad06886e0853a // without ownership and explicitly get the ownership afterward. - base::win::ScopedHandle only_me(::CreateMutex(NULL, FALSE, kMutexName)); + base::win::ScopedHandle only_me(::CreateMutex(NULL, FALSE, mutexName.c_str())); - if (!only_me.IsValid()) { + if (!only_me.is_valid()) { DPLOG(FATAL) << "CreateMutex failed"; return false; @@ -429,6 +440,17 @@ bool ProcessSingleton::Create() { diff --git a/patches/chromium/revert_views_remove_desktopwindowtreehostwin_window_enlargement.patch b/patches/chromium/revert_views_remove_desktopwindowtreehostwin_window_enlargement.patch index 917dfed1da821..db32d9487ded2 100644 --- a/patches/chromium/revert_views_remove_desktopwindowtreehostwin_window_enlargement.patch +++ b/patches/chromium/revert_views_remove_desktopwindowtreehostwin_window_enlargement.patch @@ -10,10 +10,10 @@ on Windows. We should refactor our code so that this patch isn't necessary. diff --git a/testing/variations/fieldtrial_testing_config.json b/testing/variations/fieldtrial_testing_config.json -index b808b58c1aabdf262c6ed697a64871ee870f845d..d64abbdd535c3487f6edff89df8bfeca2f5fe9e3 100644 +index fde149ffb99e0662ccea6d2f964835960c826fea..f73c2b6e44eac62af53926322a3d5a06773f1b8a 100644 --- a/testing/variations/fieldtrial_testing_config.json +++ b/testing/variations/fieldtrial_testing_config.json -@@ -25694,6 +25694,21 @@ +@@ -25673,6 +25673,21 @@ ] } ], diff --git a/patches/chromium/webview_fullscreen.patch b/patches/chromium/webview_fullscreen.patch index 6c85a975a5199..bd16ef2db5161 100644 --- a/patches/chromium/webview_fullscreen.patch +++ b/patches/chromium/webview_fullscreen.patch @@ -15,7 +15,7 @@ Note that we also need to manually update embedder's `api::WebContents::IsFullscreenForTabOrPending` value. diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc -index 469cfce5b48987268f7e95ea0e5edd75623558e8..7e48c91c75cba91ea76541634c61bdf73836474d 100644 +index 8e1228336a141f9812b03a9a4e810c797f14446b..913919047d0f968bc9eac13b049618d05b222e06 100644 --- a/content/browser/renderer_host/render_frame_host_impl.cc +++ b/content/browser/renderer_host/render_frame_host_impl.cc @@ -9051,6 +9051,17 @@ void RenderFrameHostImpl::EnterFullscreen( diff --git a/patches/devtools_frontend/chore_expose_ui_to_allow_electron_to_set_dock_side.patch b/patches/devtools_frontend/chore_expose_ui_to_allow_electron_to_set_dock_side.patch index 899aba129edf9..fe7eb54a64437 100644 --- a/patches/devtools_frontend/chore_expose_ui_to_allow_electron_to_set_dock_side.patch +++ b/patches/devtools_frontend/chore_expose_ui_to_allow_electron_to_set_dock_side.patch @@ -10,10 +10,10 @@ to handle this without patching, but this is fairly clean for now and no longer patching legacy devtools code. diff --git a/front_end/entrypoints/main/MainImpl.ts b/front_end/entrypoints/main/MainImpl.ts -index b2a211f875fb88a4be8ed47c1b4ccae4025c34c9..f65f13d00b99f2300fbb4126eb09301a8c961b11 100644 +index 064720d2c68c3f73f2d3909af7dc0c5036802769..af313a1d6b39a60763e9e0b54c0642d13a02fc91 100644 --- a/front_end/entrypoints/main/MainImpl.ts +++ b/front_end/entrypoints/main/MainImpl.ts -@@ -768,6 +768,8 @@ export class MainImpl { +@@ -771,6 +771,8 @@ export class MainImpl { globalThis.Main = globalThis.Main || {}; // @ts-expect-error Exported for Tests.js globalThis.Main.Main = MainImpl; diff --git a/shell/browser/api/electron_api_app.cc b/shell/browser/api/electron_api_app.cc index 2632282b52f2b..b5cfbd2368178 100644 --- a/shell/browser/api/electron_api_app.cc +++ b/shell/browser/api/electron_api_app.cc @@ -1789,7 +1789,8 @@ void ConfigureHostResolver(v8::Isolate* isolate, // NetworkContext is created, but before anything has the chance to use it. content::GetNetworkService()->ConfigureStubHostResolver( enable_built_in_resolver, enable_happy_eyeballs_v3, secure_dns_mode, - doh_config, additional_dns_query_types_enabled); + doh_config, additional_dns_query_types_enabled, + {} /*fallback_doh_nameservers*/); } // static diff --git a/shell/browser/net/system_network_context_manager.cc b/shell/browser/net/system_network_context_manager.cc index 1b2819ebf441f..fe5d783c3b620 100644 --- a/shell/browser/net/system_network_context_manager.cc +++ b/shell/browser/net/system_network_context_manager.cc @@ -272,7 +272,8 @@ void SystemNetworkContextManager::OnNetworkServiceCreated( content::GetNetworkService()->ConfigureStubHostResolver( base::FeatureList::IsEnabled(net::features::kAsyncDns), base::FeatureList::IsEnabled(net::features::kHappyEyeballsV3), - default_secure_dns_mode, doh_config, additional_dns_query_types_enabled); + default_secure_dns_mode, doh_config, additional_dns_query_types_enabled, + {} /*fallback_doh_nameservers*/); // The OSCrypt keys are process bound, so if network service is out of // process, send it the required key.