From f6407b49495b4f9e46d366b46fec8d6a45d723e3 Mon Sep 17 00:00:00 2001 From: "electron-roller[bot]" <84116207+electron-roller[bot]@users.noreply.github.com> Date: Mon, 28 Jul 2025 15:31:54 -0700 Subject: [PATCH] chore: bump chromium to 140.0.7314.0 (main) (#47882) * chore: bump chromium in DEPS to 140.0.7314.0 * 6769821: Delegate checking whether preconnect is enabled. Refs https://chromium-review.googlesource.com/c/chromium/src/+/6769821 * 6632993: PDF Searchify IPH: Use embedder WebContents for GuestView PDF Refs https://chromium-review.googlesource.com/c/chromium/src/+/6632993 * 6769214: [ios blink] Set IOSurface shared memory region on all GMB handles Refs https://chromium-review.googlesource.com/c/chromium/src/+/6769214 * chore: update patches * 6769572: [soft navs]: Move AsyncSameDocumentNavigationStarted to TaskAttributionTracker Refs https://chromium-review.googlesource.com/c/chromium/src/+/6769572 * chore: node gen-libc++-filenames.js * 6765740: [SxS] Implement support for split view in extensions API Refs https://chromium-review.googlesource.com/c/chromium/src/+/6765740 * 6769821: Delegate checking whether preconnect is enabled. Refs https://chromium-review.googlesource.com/c/chromium/src/+/6769821 --------- Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com> Co-authored-by: David Sanders --- DEPS | 2 +- filenames.gni | 2 + filenames.libcxx.gni | 2 +- patches/chromium/.patches | 2 +- .../add_didinstallconditionalfeatures.patch | 6 +-- ..._scheduler_throttling_per_renderview.patch | 8 ++-- .../build_add_electron_tracing_category.patch | 4 +- ..._depend_on_packed_resource_integrity.patch | 12 ++--- patches/chromium/build_gn.patch | 2 +- ...hore_add_electron_deps_to_gitignores.patch | 4 +- ...nclude_in_preconnect_manager_impl_cc.patch | 26 +++++++++++ ...e_browser_v8_snapshot_file_name_fuse.patch | 2 +- patches/chromium/disable_hidden.patch | 2 +- .../extend_apply_webpreferences.patch | 2 +- ...sharingpicker_on_supported_platforms.patch | 2 +- ...e_launch_options_for_service_process.patch | 2 +- ...moothing_css_rule_and_blink_painting.patch | 16 +++---- ...same_application_can_use_safestorage.patch | 4 +- ...etdefersloading_on_webdocumentloader.patch | 6 +-- ...allback_for_sync_and_async_clipboard.patch | 4 +- ...ding_non-standard_schemes_in_iframes.patch | 6 +-- ...original_resize_performance_on_macos.patch | 2 +- .../chromium/gritsettings_resource_ids.patch | 4 +- .../load_v8_snapshot_in_browser_process.patch | 2 +- ..._avoid_private_macos_api_usage.patch.patch | 12 ++--- patches/chromium/preconnect_manager.patch | 40 ---------------- ...r_changes_to_the_webcontentsobserver.patch | 2 +- ..._electron_permissiontypes_into_blink.patch | 4 +- ...ssivethrottlingwithwebsocket_feature.patch | 2 +- ...windowtreehostwin_window_enlargement.patch | 4 +- shell/browser/electron_browser_context.cc | 6 ++- shell/browser/electron_browser_context.h | 3 ++ .../electron_pdf_document_helper_client.cc | 6 +-- .../electron_pdf_document_helper_client.h | 2 +- .../electron_preconnect_manager_delegate.cc | 18 ++++++++ .../electron_preconnect_manager_delegate.h | 46 +++++++++++++++++++ shell/browser/extensions/api/tabs/tabs_api.cc | 6 +++ shell/browser/osr/osr_video_consumer.cc | 2 +- shell/common/extensions/api/tabs.json | 20 ++++++++ 39 files changed, 189 insertions(+), 108 deletions(-) create mode 100644 patches/chromium/chore_remove_unused_include_in_preconnect_manager_impl_cc.patch delete mode 100644 patches/chromium/preconnect_manager.patch create mode 100644 shell/browser/electron_preconnect_manager_delegate.cc create mode 100644 shell/browser/electron_preconnect_manager_delegate.h diff --git a/DEPS b/DEPS index ca4d22173b89..dcd76cb89565 100644 --- a/DEPS +++ b/DEPS @@ -2,7 +2,7 @@ gclient_gn_args_from = 'src' vars = { 'chromium_version': - '140.0.7312.0', + '140.0.7314.0', 'node_version': 'v22.17.1', 'nan_version': diff --git a/filenames.gni b/filenames.gni index 530e33c45864..a3984c7873a4 100644 --- a/filenames.gni +++ b/filenames.gni @@ -380,6 +380,8 @@ filenames = { "shell/browser/electron_navigation_throttle.h", "shell/browser/electron_permission_manager.cc", "shell/browser/electron_permission_manager.h", + "shell/browser/electron_preconnect_manager_delegate.cc", + "shell/browser/electron_preconnect_manager_delegate.h", "shell/browser/electron_speech_recognition_manager_delegate.cc", "shell/browser/electron_speech_recognition_manager_delegate.h", "shell/browser/electron_web_contents_utility_handler_impl.cc", diff --git a/filenames.libcxx.gni b/filenames.libcxx.gni index 2097af9e5887..5562a4451a0d 100644 --- a/filenames.libcxx.gni +++ b/filenames.libcxx.gni @@ -1324,6 +1324,7 @@ libcxx_headers = [ "//third_party/libc++/src/include/__ranges/transform_view.h", "//third_party/libc++/src/include/__ranges/view_interface.h", "//third_party/libc++/src/include/__ranges/views.h", + "//third_party/libc++/src/include/__ranges/zip_transform_view.h", "//third_party/libc++/src/include/__ranges/zip_view.h", "//third_party/libc++/src/include/__split_buffer", "//third_party/libc++/src/include/__std_mbstate_t.h", @@ -1367,7 +1368,6 @@ libcxx_headers = [ "//third_party/libc++/src/include/__tuple/make_tuple_types.h", "//third_party/libc++/src/include/__tuple/sfinae_helpers.h", "//third_party/libc++/src/include/__tuple/tuple_element.h", - "//third_party/libc++/src/include/__tuple/tuple_indices.h", "//third_party/libc++/src/include/__tuple/tuple_like.h", "//third_party/libc++/src/include/__tuple/tuple_like_ext.h", "//third_party/libc++/src/include/__tuple/tuple_like_no_subrange.h", diff --git a/patches/chromium/.patches b/patches/chromium/.patches index a3a1baedc1b8..be5fd3bdca28 100644 --- a/patches/chromium/.patches +++ b/patches/chromium/.patches @@ -84,7 +84,6 @@ create_browser_v8_snapshot_file_name_fuse.patch feat_configure_launch_options_for_service_process.patch feat_ensure_mas_builds_of_the_same_application_can_use_safestorage.patch fix_on-screen-keyboard_hides_on_input_blur_in_webview.patch -preconnect_manager.patch fix_remove_caption-removing_style_call.patch build_allow_electron_to_use_exec_script.patch chore_introduce_blocking_api_for_electron.patch @@ -137,3 +136,4 @@ revert_update_siso-chromium_image.patch build_set_mac_sdk_minimum_to_10.patch fix_add_macos_memory_query_fallback_to_avoid_crash.patch fix_resolve_dynamic_background_material_update_issue_on_windows_11.patch +chore_remove_unused_include_in_preconnect_manager_impl_cc.patch diff --git a/patches/chromium/add_didinstallconditionalfeatures.patch b/patches/chromium/add_didinstallconditionalfeatures.patch index f4a2bff9f379..ea8543a76e48 100644 --- a/patches/chromium/add_didinstallconditionalfeatures.patch +++ b/patches/chromium/add_didinstallconditionalfeatures.patch @@ -79,10 +79,10 @@ index b963abd8c4bf6ffaea1930a8d1f647a8a8c266bc..2e8653654686f4fc775288f059ff27da if (World().IsMainWorld()) { probe::DidCreateMainWorldContext(GetFrame()); diff --git a/third_party/blink/renderer/core/frame/local_frame_client.h b/third_party/blink/renderer/core/frame/local_frame_client.h -index 1a4500439ffb8ee38b28386e62d96b8011cc892a..e6bc766e971218c3d8def94d1b954d81b4a04a35 100644 +index 17d2181db4a0f657aa5052632e3d81f8799d5465..fb565dcbde4c735e101f7bca6eecdc631987c400 100644 --- a/third_party/blink/renderer/core/frame/local_frame_client.h +++ b/third_party/blink/renderer/core/frame/local_frame_client.h -@@ -301,6 +301,8 @@ class CORE_EXPORT LocalFrameClient : public FrameClient { +@@ -300,6 +300,8 @@ class CORE_EXPORT LocalFrameClient : public FrameClient { virtual void DidCreateScriptContext(v8::Local, int32_t world_id) = 0; @@ -92,7 +92,7 @@ index 1a4500439ffb8ee38b28386e62d96b8011cc892a..e6bc766e971218c3d8def94d1b954d81 int32_t world_id) = 0; virtual bool AllowScriptExtensions() = 0; diff --git a/third_party/blink/renderer/core/frame/local_frame_client_impl.cc b/third_party/blink/renderer/core/frame/local_frame_client_impl.cc -index 327a013b77c09bd3c7b781d67d8d9ec64807fb5b..51ade9075a184597ed7580a5243ce5ada220ca4c 100644 +index 477ddbe72e05e691d807f480717a4b4975a22c01..62c59370129ed0b77bfe67fe5e75ddde96e8ae43 100644 --- a/third_party/blink/renderer/core/frame/local_frame_client_impl.cc +++ b/third_party/blink/renderer/core/frame/local_frame_client_impl.cc @@ -295,6 +295,13 @@ void LocalFrameClientImpl::DidCreateScriptContext( diff --git a/patches/chromium/allow_disabling_blink_scheduler_throttling_per_renderview.patch b/patches/chromium/allow_disabling_blink_scheduler_throttling_per_renderview.patch index edb9dd426378..285ee2093770 100644 --- a/patches/chromium/allow_disabling_blink_scheduler_throttling_per_renderview.patch +++ b/patches/chromium/allow_disabling_blink_scheduler_throttling_per_renderview.patch @@ -6,7 +6,7 @@ Subject: allow disabling blink scheduler throttling per RenderView This allows us to disable throttling for hidden windows. diff --git a/content/browser/renderer_host/navigation_controller_impl_unittest.cc b/content/browser/renderer_host/navigation_controller_impl_unittest.cc -index 3b996644e4bdeed5128d6cfb8b5f4fb9ddf4a00f..3c72cd28acbcc57aa086953942175cf33dfbd28a 100644 +index d321fe74be7af24d1246224d7a28c9dede3635b2..af2cb60c42863b1fdad487c28d544b7a7dade805 100644 --- a/content/browser/renderer_host/navigation_controller_impl_unittest.cc +++ b/content/browser/renderer_host/navigation_controller_impl_unittest.cc @@ -167,6 +167,12 @@ class MockPageBroadcast : public blink::mojom::PageBroadcast { @@ -116,10 +116,10 @@ index c8d27cfee8ef3fe244291f4667b59df1037c359b..92ed53a689991ec8eca9572bf2f7a212 // Visibility ----------------------------------------------------------- diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_party/blink/renderer/core/exported/web_view_impl.cc -index 70dad492f1a4f056d2b706a09721090b2752ad8b..f2a332453e3bd421ff563a0b11c1aae5ef185db2 100644 +index aae07d5bfdc7dd9020caaa03281c68f9e41080a8..c1d980558293ac6aedcc6ebbf79de5130e0ba22a 100644 --- a/third_party/blink/renderer/core/exported/web_view_impl.cc +++ b/third_party/blink/renderer/core/exported/web_view_impl.cc -@@ -2493,6 +2493,10 @@ void WebViewImpl::SetPageLifecycleStateInternal( +@@ -2482,6 +2482,10 @@ void WebViewImpl::SetPageLifecycleStateInternal( TRACE_EVENT2("navigation", "WebViewImpl::SetPageLifecycleStateInternal", "old_state", old_state, "new_state", new_state); @@ -130,7 +130,7 @@ index 70dad492f1a4f056d2b706a09721090b2752ad8b..f2a332453e3bd421ff563a0b11c1aae5 bool storing_in_bfcache = new_state->is_in_back_forward_cache && !old_state->is_in_back_forward_cache; bool restoring_from_bfcache = !new_state->is_in_back_forward_cache && -@@ -3990,10 +3994,23 @@ PageScheduler* WebViewImpl::Scheduler() const { +@@ -3979,10 +3983,23 @@ PageScheduler* WebViewImpl::Scheduler() const { return GetPage()->GetPageScheduler(); } diff --git a/patches/chromium/build_add_electron_tracing_category.patch b/patches/chromium/build_add_electron_tracing_category.patch index 781c8a0ac839..b17b604aa8ee 100644 --- a/patches/chromium/build_add_electron_tracing_category.patch +++ b/patches/chromium/build_add_electron_tracing_category.patch @@ -8,10 +8,10 @@ categories in use are known / declared. This patch is required for us to introduce a new Electron category for Electron-specific tracing. diff --git a/base/trace_event/builtin_categories.h b/base/trace_event/builtin_categories.h -index 5cd2f29af7cb7cbb50d88164ab790bc6cadaf456..3c62b85e903efb3bb800d39cba22bf29fe5b76b2 100644 +index 92500570c5423dfb655f5d22797c997f35c6b451..bb3f98765c5fcb0d8eadaf4921ae97f832c5e8b9 100644 --- a/base/trace_event/builtin_categories.h +++ b/base/trace_event/builtin_categories.h -@@ -123,6 +123,7 @@ PERFETTO_DEFINE_CATEGORIES_IN_NAMESPACE_WITH_ATTRS( +@@ -126,6 +126,7 @@ PERFETTO_DEFINE_CATEGORIES_IN_NAMESPACE_WITH_ATTRS( perfetto::Category("drm"), perfetto::Category("drmcursor"), perfetto::Category("dwrite"), 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 71af2e116b7c..a212774bf713 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 2fb245ad4daabdf430be1f593e73b2da90504419..2f7cd882b6c6d893917b1f7850ee0843 "//base", "//build:branding_buildflags", diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn -index d090c2ac6d075915f7533ddcc3f75608fbaa18ea..29bd19809f7c50187b84fb9e6577df8e9aca8204 100644 +index eb9c64fa031f9650229c4f805ba4234b16685dce..070f9dc35630afdc665cef0aa20140072c6d72cc 100644 --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -4760,7 +4760,7 @@ static_library("browser") { +@@ -4761,7 +4761,7 @@ static_library("browser") { [ "//chrome/browser/ui/webui/signin:profile_impl" ] } @@ -46,10 +46,10 @@ index d090c2ac6d075915f7533ddcc3f75608fbaa18ea..29bd19809f7c50187b84fb9e6577df8e # than here in :chrome_dll. deps += [ "//chrome:packed_resources_integrity_header" ] diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn -index b4592a79623dc2659a75249b716085e88b483955..de666e79b0d5f261ab1528593e0b85b74cae8bb6 100644 +index 6a3137e01498f2454ce52b86288cb5c55643a72b..92b10e55d74267866b339124316330ba0bd4809d 100644 --- a/chrome/test/BUILD.gn +++ b/chrome/test/BUILD.gn -@@ -7458,9 +7458,12 @@ test("unit_tests") { +@@ -7456,9 +7456,12 @@ test("unit_tests") { "//chrome/notification_helper", ] @@ -63,7 +63,7 @@ index b4592a79623dc2659a75249b716085e88b483955..de666e79b0d5f261ab1528593e0b85b7 "//chrome//services/util_win:unit_tests", "//chrome/app:chrome_dll_resources", "//chrome/app:win_unit_tests", -@@ -8391,6 +8394,10 @@ test("unit_tests") { +@@ -8389,6 +8392,10 @@ test("unit_tests") { "../browser/performance_manager/policies/background_tab_loading_policy_unittest.cc", ] @@ -74,7 +74,7 @@ index b4592a79623dc2659a75249b716085e88b483955..de666e79b0d5f261ab1528593e0b85b7 sources += [ # The importer code is not used on Android. "../common/importer/firefox_importer_utils_unittest.cc", -@@ -8446,7 +8453,6 @@ test("unit_tests") { +@@ -8444,7 +8451,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/build_gn.patch b/patches/chromium/build_gn.patch index 51ec51851800..ff44d4369d28 100644 --- a/patches/chromium/build_gn.patch +++ b/patches/chromium/build_gn.patch @@ -7,7 +7,7 @@ These are variables we add to the root BUILDCONFIG so that they're available everywhere, without having to import("//electron/.../flags.gni"). diff --git a/build/config/BUILDCONFIG.gn b/build/config/BUILDCONFIG.gn -index 7b1e29e99375a030c7e654d88da921bf6f95a52b..4c54c15e7c2f60c41b2c72231b5089ac806b06ba 100644 +index 5183d7525acbf4f317248b049ea4180ccbec7f0d..0ba04c218f69488eb06c834854cef8cb8af0a5b4 100644 --- a/build/config/BUILDCONFIG.gn +++ b/build/config/BUILDCONFIG.gn @@ -123,6 +123,9 @@ if (current_os == "") { diff --git a/patches/chromium/chore_add_electron_deps_to_gitignores.patch b/patches/chromium/chore_add_electron_deps_to_gitignores.patch index 0c1a849caa16..775bdf4a4695 100644 --- a/patches/chromium/chore_add_electron_deps_to_gitignores.patch +++ b/patches/chromium/chore_add_electron_deps_to_gitignores.patch @@ -6,10 +6,10 @@ Subject: chore: add electron deps to gitignores Makes things like "git status" quicker when developing electron locally diff --git a/.gitignore b/.gitignore -index 70e57234120a3096aba70516c257a4227beb31db..ab74f51319d113be4009f89dd064e7694594188e 100644 +index a47e3367c85f371097748299b872e40c3e333302..8de26c54b57345121e986dab0bbd33d3842bc511 100644 --- a/.gitignore +++ b/.gitignore -@@ -225,6 +225,7 @@ vs-chromium-project.txt +@@ -224,6 +224,7 @@ vs-chromium-project.txt /data /delegate_execute /device/serial/device_serial_mojo.xml diff --git a/patches/chromium/chore_remove_unused_include_in_preconnect_manager_impl_cc.patch b/patches/chromium/chore_remove_unused_include_in_preconnect_manager_impl_cc.patch new file mode 100644 index 000000000000..cf30925a042b --- /dev/null +++ b/patches/chromium/chore_remove_unused_include_in_preconnect_manager_impl_cc.patch @@ -0,0 +1,26 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: David Sanders +Date: Wed, 23 Jul 2025 22:07:13 -0700 +Subject: chore: remove unused include in preconnect_manager_impl.cc + +This include isn't used but pulls in parts of //chrome that +we don't build, so snip it. This was previously being done +as part of another patch but that patch went away in this +Chromium roll so this is a new patch just to snip it. + +This is being upstreamed at https://chromium-review.googlesource.com/c/chromium/src/+/6782507 + +Change-Id: If13767d94f3522e7224f24ea45d6feeab01bafbc + +diff --git a/chrome/browser/predictors/preconnect_manager_impl.cc b/chrome/browser/predictors/preconnect_manager_impl.cc +index 58d19bed9ca5004a5322dbbe52e7f1075b2188ea..2dd50c6107590ece770d3a348a32c4996a2a7f83 100644 +--- a/chrome/browser/predictors/preconnect_manager_impl.cc ++++ b/chrome/browser/predictors/preconnect_manager_impl.cc +@@ -13,7 +13,6 @@ + #include "base/trace_event/trace_event.h" + #include "base/types/optional_util.h" + #include "chrome/browser/predictors/predictors_features.h" +-#include "chrome/browser/predictors/resource_prefetch_predictor.h" + #include "content/public/browser/browser_context.h" + #include "content/public/browser/browser_task_traits.h" + #include "content/public/browser/browser_thread.h" diff --git a/patches/chromium/create_browser_v8_snapshot_file_name_fuse.patch b/patches/chromium/create_browser_v8_snapshot_file_name_fuse.patch index c9f3e4844d3d..1608cc745c18 100644 --- a/patches/chromium/create_browser_v8_snapshot_file_name_fuse.patch +++ b/patches/chromium/create_browser_v8_snapshot_file_name_fuse.patch @@ -7,7 +7,7 @@ By default, chromium sets up one v8 snapshot to be used in all v8 contexts. This to have a dedicated browser process v8 snapshot defined by the file `browser_v8_context_snapshot.bin`. diff --git a/content/app/content_main_runner_impl.cc b/content/app/content_main_runner_impl.cc -index c53bea0517ba3e2f7e127a27737240f054d6b6ed..2ed4e422f0ff0f3dd0194f767c976244be02c3d2 100644 +index ad93ffc5f17fbff592dc7cfc64aab245de8a296c..75ee8f7ee167b334565dd0976c04a2961fa479c7 100644 --- a/content/app/content_main_runner_impl.cc +++ b/content/app/content_main_runner_impl.cc @@ -270,8 +270,13 @@ void AsanProcessInfoCB(const char*, bool*) { diff --git a/patches/chromium/disable_hidden.patch b/patches/chromium/disable_hidden.patch index e81dc0990d7e..ce72ceb5ac1e 100644 --- a/patches/chromium/disable_hidden.patch +++ b/patches/chromium/disable_hidden.patch @@ -6,7 +6,7 @@ Subject: disable_hidden.patch Electron uses this to disable background throttling for hidden windows. diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc -index 3cd4d698ef5e302bd2913adfcaffedcf46e9dc8e..eac923378ce1e73f51f182f4dadb7e6f98ee0cfd 100644 +index 59431be07a19a274256e328d75191d03c5b717de..09faffd038c9a119ccb8d51ed44569dbd3fed908 100644 --- a/content/browser/renderer_host/render_widget_host_impl.cc +++ b/content/browser/renderer_host/render_widget_host_impl.cc @@ -835,6 +835,10 @@ void RenderWidgetHostImpl::WasHidden() { diff --git a/patches/chromium/extend_apply_webpreferences.patch b/patches/chromium/extend_apply_webpreferences.patch index 4190d53dfdf6..487fc23f14c7 100644 --- a/patches/chromium/extend_apply_webpreferences.patch +++ b/patches/chromium/extend_apply_webpreferences.patch @@ -15,7 +15,7 @@ Ideally we could add an embedder observer pattern here but that can be done in future work. diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_party/blink/renderer/core/exported/web_view_impl.cc -index f2a332453e3bd421ff563a0b11c1aae5ef185db2..655fc4ee7a3f38bec066c49ff628616d3e09370d 100644 +index c1d980558293ac6aedcc6ebbf79de5130e0ba22a..b4fe66b564f475f1fcda8c00618be655f0ffd85c 100644 --- a/third_party/blink/renderer/core/exported/web_view_impl.cc +++ b/third_party/blink/renderer/core/exported/web_view_impl.cc @@ -1884,6 +1884,8 @@ void WebView::ApplyWebPreferences(const web_pref::WebPreferences& prefs, diff --git a/patches/chromium/feat_allow_usage_of_sccontentsharingpicker_on_supported_platforms.patch b/patches/chromium/feat_allow_usage_of_sccontentsharingpicker_on_supported_platforms.patch index ef5ba59a8741..f5e7abc1fb76 100644 --- a/patches/chromium/feat_allow_usage_of_sccontentsharingpicker_on_supported_platforms.patch +++ b/patches/chromium/feat_allow_usage_of_sccontentsharingpicker_on_supported_platforms.patch @@ -20,7 +20,7 @@ index afb657b7c9e1ede1273532b16428d37cc5d75c59..16707cf516cd34682c84ea2ccebddaa0 requested_format_.pixel_format = media::PIXEL_FORMAT_NV12; DCHECK_GT(requested_format_.frame_size.GetArea(), 0); diff --git a/content/browser/media/capture/io_surface_capture_device_base_mac.cc b/content/browser/media/capture/io_surface_capture_device_base_mac.cc -index 827264f204eefeef188a568fd4660bdbb65d42a6..c342c8cde09d2392ba14047847fba3aec92802a0 100644 +index 7a76550922d97a835dae15be6a951c91a9b351b0..ce3e22e437fa208652326798e12952c40372197a 100644 --- a/content/browser/media/capture/io_surface_capture_device_base_mac.cc +++ b/content/browser/media/capture/io_surface_capture_device_base_mac.cc @@ -20,7 +20,7 @@ void IOSurfaceCaptureDeviceBase::AllocateAndStart( diff --git a/patches/chromium/feat_configure_launch_options_for_service_process.patch b/patches/chromium/feat_configure_launch_options_for_service_process.patch index 7fdf5649b402..497cd42f9106 100644 --- a/patches/chromium/feat_configure_launch_options_for_service_process.patch +++ b/patches/chromium/feat_configure_launch_options_for_service_process.patch @@ -348,7 +348,7 @@ index 580fa663e729a43bef44a10de8983c4aecc312fb..f39af3df87786a472f987309ac0dea69 // Whether or not to bind viz::mojom::Gpu to the utility process. bool allowed_gpu_; diff --git a/content/browser/service_host/utility_sandbox_delegate.cc b/content/browser/service_host/utility_sandbox_delegate.cc -index ff9941f1f46658574e8ac53bc80fdf665f873bc0..51dfb23c8ebba7ec075ecab597bd84734773f924 100644 +index 8f89c28144e1ecf3d7dbf9a3b43031cbad12a8ea..faa49bb63bd2e9080da441286bdbf427f22cd26f 100644 --- a/content/browser/service_host/utility_sandbox_delegate.cc +++ b/content/browser/service_host/utility_sandbox_delegate.cc @@ -43,17 +43,19 @@ UtilitySandboxedProcessLauncherDelegate:: 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 8c06c521486f..bfa30c18a89a 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 10a7bf7440587c732e90e800094ce97d2bb9d10c..dd3ff00b626d7042798c17758473651af9f26742 100644 +index e22f8bcb34f86fab48ac2dfb1b2b804d1d13d485..95f63af327359d9b16fd1002a85874c7ea39ac74 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,10 +45,10 @@ 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 919f23e8774419a2aeabe39b6cd4d4105046ad54..5e904a2bbb7edf398fdfd737145837c751145036 100644 +index da70e0ec00aecfe7eaa861ef9c34aa8165ca296f..1f5a81688fa04fd3574e2678a60e69458089bf88 100644 --- a/third_party/blink/renderer/core/css/css_properties.json5 +++ b/third_party/blink/renderer/core/css/css_properties.json5 -@@ -8939,6 +8939,26 @@ +@@ -8959,6 +8959,26 @@ property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"], }, @@ -76,10 +76,10 @@ index 919f23e8774419a2aeabe39b6cd4d4105046ad54..5e904a2bbb7edf398fdfd737145837c7 { 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 b3c6edce43c4b894f6e93df2f8356416a626c335..f917ff67620e627af21c7f2e9f0605e1f3f97089 100644 +index b935117bfbae950ba7918636179824482799a2e1..bab451fbfa36178c9f7286db5d19d087a9df00fa 100644 --- a/third_party/blink/renderer/core/css/css_property_equality.cc +++ b/third_party/blink/renderer/core/css/css_property_equality.cc -@@ -350,6 +350,8 @@ bool CSSPropertyEquality::PropertiesEqual(const PropertyHandle& property, +@@ -352,6 +352,8 @@ bool CSSPropertyEquality::PropertiesEqual(const PropertyHandle& property, return a.DominantBaseline() == b.DominantBaseline(); case CSSPropertyID::kDynamicRangeLimit: return a.GetDynamicRangeLimit() == b.GetDynamicRangeLimit(); @@ -89,10 +89,10 @@ index b3c6edce43c4b894f6e93df2f8356416a626c335..f917ff67620e627af21c7f2e9f0605e1 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 2f7d7fbb8d95791dd287170b9f99dd420cfa9487..b705afe19cbb3a39a42a869eb994e7aa976ce98e 100644 +index 6cb39c5ccf6b5411e1adb991a5e64a68819ec1c4..b1e636674321d6225755d3be3681a001b0bfaa6d 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 -@@ -12263,5 +12263,36 @@ const CSSValue* InternalEmptyLineHeight::ParseSingleValue( +@@ -12262,5 +12262,36 @@ const CSSValue* InternalEmptyLineHeight::ParseSingleValue( CSSValueID::kNone>(stream); } @@ -312,7 +312,7 @@ index 7e3d46902fbf736b4240eb3fcb89975a7b222197..57fdc89fc265ad70cb0bff8443cc1026 auto DrawAsSinglePath = [&]() { diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5 -index 52ae779fed980c7fb06d770fd3395d56c247b065..664c87d634730b22369007922c967a4089635197 100644 +index a6d35fad5e98c768ad168442592d9756ec53245f..4250093e1766b5e6f3fb3bc2786fd599b4190e6b 100644 --- a/third_party/blink/renderer/platform/runtime_enabled_features.json5 +++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5 @@ -214,6 +214,10 @@ diff --git a/patches/chromium/feat_ensure_mas_builds_of_the_same_application_can_use_safestorage.patch b/patches/chromium/feat_ensure_mas_builds_of_the_same_application_can_use_safestorage.patch index 9000eb5608b9..c66312cf1c08 100644 --- a/patches/chromium/feat_ensure_mas_builds_of_the_same_application_can_use_safestorage.patch +++ b/patches/chromium/feat_ensure_mas_builds_of_the_same_application_can_use_safestorage.patch @@ -131,10 +131,10 @@ index 1632c22c669607f9da8b4fe7783ee716c6467f6e..3f0e3e0af568627a0aae352a65be4cc7 OSStatus AddGenericPassword( std::string_view service_name, diff --git a/crypto/apple_keychain_secitem.mm b/crypto/apple_keychain_secitem.mm -index 12b400a1f2d6c11bc4ac67d0a2c98984d0be24e0..1abb4623bfabacbca34068113fac2030fea2c065 100644 +index 14d72650c81ad7f48cac56cb04f3f75fa1508af5..df416ad2a52c92f8304fa5a40c4d9e67eabb14df 100644 --- a/crypto/apple_keychain_secitem.mm +++ b/crypto/apple_keychain_secitem.mm -@@ -118,7 +118,8 @@ +@@ -161,7 +161,8 @@ base::expected, OSStatus> AppleKeychainSecItem::FindGenericPassword(std::string_view service_name, diff --git a/patches/chromium/feat_expose_documentloader_setdefersloading_on_webdocumentloader.patch b/patches/chromium/feat_expose_documentloader_setdefersloading_on_webdocumentloader.patch index 8b11c3ad7ee1..221bd48845ca 100644 --- a/patches/chromium/feat_expose_documentloader_setdefersloading_on_webdocumentloader.patch +++ b/patches/chromium/feat_expose_documentloader_setdefersloading_on_webdocumentloader.patch @@ -28,11 +28,11 @@ index 33e23680b927d417b0882c7572fe32dc2d2b90c3..9413492f8e0fd6c5371c66329e1ad6d4 // Returns the http referrer of original request which initited this load. diff --git a/third_party/blink/renderer/core/loader/document_loader.h b/third_party/blink/renderer/core/loader/document_loader.h -index bcf51f743caa1e7da6cb80f2e219661cde0efab6..ddb36c1757ec7e0a3a1f19a2687a1f3e3d590b6e 100644 +index a41f344dca8ec3a9004874f4820b742c27999738..222c1d749174e434878cc762625ac8aabe10f5e6 100644 --- a/third_party/blink/renderer/core/loader/document_loader.h +++ b/third_party/blink/renderer/core/loader/document_loader.h -@@ -325,7 +325,7 @@ class CORE_EXPORT DocumentLoader : public GarbageCollected, - soft_navigation_heuristics_task_id, +@@ -322,7 +322,7 @@ class CORE_EXPORT DocumentLoader : public GarbageCollected, + std::optional task_state_id, bool should_skip_screenshot); - void SetDefersLoading(LoaderFreezeMode); diff --git a/patches/chromium/feat_separate_content_settings_callback_for_sync_and_async_clipboard.patch b/patches/chromium/feat_separate_content_settings_callback_for_sync_and_async_clipboard.patch index 1466dd33d5d9..569b0af3f100 100644 --- a/patches/chromium/feat_separate_content_settings_callback_for_sync_and_async_clipboard.patch +++ b/patches/chromium/feat_separate_content_settings_callback_for_sync_and_async_clipboard.patch @@ -32,10 +32,10 @@ index 62e00207d37fc22b35b801e701d0a1d6c3799569..a946c15689ffcebc1509fdb8fc27c69e break; } diff --git a/content/browser/permissions/permission_controller_impl.cc b/content/browser/permissions/permission_controller_impl.cc -index 8fed0c928df594a80bebf0017d47e1bfef841c16..b9590ecbb95da6858eac104fbf69df056ccbf449 100644 +index dc5f30d89dd78af5cfa305bc74ad18dac815caf0..80aa7a3056e275f1a54752e59df5a1c7eb316746 100644 --- a/content/browser/permissions/permission_controller_impl.cc +++ b/content/browser/permissions/permission_controller_impl.cc -@@ -87,6 +87,7 @@ PermissionToSchedulingFeature(PermissionType permission_name) { +@@ -88,6 +88,7 @@ PermissionToSchedulingFeature(PermissionType permission_name) { case PermissionType::AUTOMATIC_FULLSCREEN: case PermissionType::WEB_APP_INSTALLATION: case PermissionType::LOCAL_NETWORK_ACCESS: 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 def9e780603d..36755b0aa83c 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 @@ -44,10 +44,10 @@ index 5018ddade9e6198ad770949696a80ab14482b7e2..5d63cd4e6b33364a1134d4e23eee26e7 // origin of |common_params.url| and/or |common_params.initiator_origin|. url::Origin resolved_origin = url::Origin::Resolve( diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_party/blink/renderer/core/loader/document_loader.cc -index 7b386c451719f164dd1a44efc8fa7132893c48dd..280c488db15f22f807ee8aeb598e85fa8cdb3340 100644 +index 3c0e7a6e8e63fd6ca06de278ff8544124e7bb8c8..ff80074db26650f95a1dc5bac7bb90824541426b 100644 --- a/third_party/blink/renderer/core/loader/document_loader.cc +++ b/third_party/blink/renderer/core/loader/document_loader.cc -@@ -2330,6 +2330,10 @@ Frame* DocumentLoader::CalculateOwnerFrame() { +@@ -2322,6 +2322,10 @@ Frame* DocumentLoader::CalculateOwnerFrame() { scoped_refptr DocumentLoader::CalculateOrigin( Document* owner_document) { scoped_refptr origin; @@ -58,7 +58,7 @@ index 7b386c451719f164dd1a44efc8fa7132893c48dd..280c488db15f22f807ee8aeb598e85fa // Whether the origin is newly created within this call, instead of copied // from an existing document's origin or from `origin_to_commit_`. If this is // true, we won't try to compare the nonce of this origin (if it's opaque) to -@@ -2366,6 +2370,9 @@ scoped_refptr DocumentLoader::CalculateOrigin( +@@ -2358,6 +2362,9 @@ scoped_refptr DocumentLoader::CalculateOrigin( // non-renderer only origin bits will be the same, which will be asserted at // the end of this function. origin = origin_to_commit_; diff --git a/patches/chromium/fix_restore_original_resize_performance_on_macos.patch b/patches/chromium/fix_restore_original_resize_performance_on_macos.patch index cfe7b666d007..b21f87f51659 100644 --- a/patches/chromium/fix_restore_original_resize_performance_on_macos.patch +++ b/patches/chromium/fix_restore_original_resize_performance_on_macos.patch @@ -11,7 +11,7 @@ This patch should be upstreamed as a conditional revert of the logic in desktop vs mobile runtimes. i.e. restore the old logic only on desktop platforms diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc -index c8e0d79667fe725b360f43352578bc523cc25ef7..76289b9f0ebfb02b0bc6f2177e542d14cf00a967 100644 +index 3eb5ee73231e9dfc08a825808e4be5c0ad260234..99f644663e1e1b80fe4ac953dd0c0666697da8c0 100644 --- a/content/browser/renderer_host/render_widget_host_impl.cc +++ b/content/browser/renderer_host/render_widget_host_impl.cc @@ -2137,9 +2137,8 @@ RenderWidgetHostImpl::GetWidgetInputHandler() { diff --git a/patches/chromium/gritsettings_resource_ids.patch b/patches/chromium/gritsettings_resource_ids.patch index b6f5570911ce..365d22124e92 100644 --- a/patches/chromium/gritsettings_resource_ids.patch +++ b/patches/chromium/gritsettings_resource_ids.patch @@ -6,10 +6,10 @@ Subject: gritsettings_resource_ids.patch Add electron resources file to the list of resource ids generation. diff --git a/tools/gritsettings/resource_ids.spec b/tools/gritsettings/resource_ids.spec -index 40441331934df92b9903c005065e6eedcfed69e1..96fc4ccc3f1dd65cf59df4a32adb587193afe6d0 100644 +index 560f975e7de98a61387ffae7af416c777665df3b..7bb65739ab1e687c2170c432c5d49cbf9dcf7dc7 100644 --- a/tools/gritsettings/resource_ids.spec +++ b/tools/gritsettings/resource_ids.spec -@@ -1547,6 +1547,11 @@ +@@ -1543,6 +1543,11 @@ "structures": [10100], }, diff --git a/patches/chromium/load_v8_snapshot_in_browser_process.patch b/patches/chromium/load_v8_snapshot_in_browser_process.patch index da30c290e03f..a339fff295d4 100644 --- a/patches/chromium/load_v8_snapshot_in_browser_process.patch +++ b/patches/chromium/load_v8_snapshot_in_browser_process.patch @@ -9,7 +9,7 @@ but due to the nature of electron, we need to load the v8 snapshot in the browser process. diff --git a/content/app/content_main_runner_impl.cc b/content/app/content_main_runner_impl.cc -index c16307602fdb4f3b149962876afd8e3ef76fd305..c53bea0517ba3e2f7e127a27737240f054d6b6ed 100644 +index bae4cc39933ab7c565f66e4aad1b19c7e04bd63f..ad93ffc5f17fbff592dc7cfc64aab245de8a296c 100644 --- a/content/app/content_main_runner_impl.cc +++ b/content/app/content_main_runner_impl.cc @@ -291,11 +291,8 @@ void LoadV8SnapshotFile(const base::CommandLine& command_line) { 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 b06d525048e9..6b6aaf91d6ed 100644 --- a/patches/chromium/mas_avoid_private_macos_api_usage.patch.patch +++ b/patches/chromium/mas_avoid_private_macos_api_usage.patch.patch @@ -797,7 +797,7 @@ index a1068589ad844518038ee7bc15a3de9bc5cba525..1ff781c49f086ec8015c7d3c44567dbe } // namespace content diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn -index a235974eccd4e62e6bc4bf10d37e7057ebc9dd5a..8412aaaae5866994fe2d30c1d5c421ef81343e0d 100644 +index 2588b79f726fda56dcc53dc8313a6aa883934409..664ab8325c8b9824077da8cafdfd82d09701809b 100644 --- a/content/test/BUILD.gn +++ b/content/test/BUILD.gn @@ -670,6 +670,7 @@ static_library("test_support") { @@ -817,7 +817,7 @@ index a235974eccd4e62e6bc4bf10d37e7057ebc9dd5a..8412aaaae5866994fe2d30c1d5c421ef } mojom("content_test_mojo_bindings") { -@@ -1988,6 +1991,7 @@ test("content_browsertests") { +@@ -2002,6 +2005,7 @@ test("content_browsertests") { "//ui/shell_dialogs", "//ui/snapshot", "//ui/webui:test_support", @@ -825,7 +825,7 @@ index a235974eccd4e62e6bc4bf10d37e7057ebc9dd5a..8412aaaae5866994fe2d30c1d5c421ef ] if (!(is_chromeos && target_cpu == "arm64" && current_cpu == "arm")) { -@@ -3297,6 +3301,7 @@ test("content_unittests") { +@@ -3311,6 +3315,7 @@ test("content_unittests") { "//ui/shell_dialogs:shell_dialogs", "//ui/webui:test_support", "//url", @@ -846,7 +846,7 @@ index ea0d03e4eb473a2eec4164191c02184577de4366..af2d64f0cf19c4325013d5f62da5079f if (is_mac) { diff --git a/device/bluetooth/BUILD.gn b/device/bluetooth/BUILD.gn -index e69ef178a08ef322764809e6afeffa20ffc0cd13..d2e182ed0dad5aeecb48e5a39771880bd8fb408b 100644 +index 70882e695ad383c9362c9b7e692a9273b3f36801..4ab8d7b3e567e8be373c8dff790d41146c5b8a9d 100644 --- a/device/bluetooth/BUILD.gn +++ b/device/bluetooth/BUILD.gn @@ -256,6 +256,7 @@ component("bluetooth") { @@ -938,10 +938,10 @@ index d288ffce5c1265adbdefc571f840851026e7479e..e9a6e8c31401750d270fcc55ef1116b2 namespace ui { diff --git a/media/audio/BUILD.gn b/media/audio/BUILD.gn -index 5064c9e21892333cf91579b49642ba500156c201..673e11336c5f5bb350b4622436c80c7299cfb607 100644 +index e2e8e314aa5915f6b3be2ea739878d7efcc46efe..aae1bf8e0990792992227199e18c1f14f108c05d 100644 --- a/media/audio/BUILD.gn +++ b/media/audio/BUILD.gn -@@ -202,6 +202,7 @@ source_set("audio") { +@@ -201,6 +201,7 @@ source_set("audio") { "CoreMedia.framework", ] weak_frameworks = [ "ScreenCaptureKit.framework" ] # macOS 13.0 diff --git a/patches/chromium/preconnect_manager.patch b/patches/chromium/preconnect_manager.patch deleted file mode 100644 index daa869f1a333..000000000000 --- a/patches/chromium/preconnect_manager.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: deepak1556 -Date: Thu, 13 Oct 2022 20:30:12 +0900 -Subject: Preconnect manager - -* Patch disables the profile related changes added in -https://chromium-review.googlesource.com/c/chromium/src/+/3928470. - -diff --git a/chrome/browser/predictors/preconnect_manager_impl.cc b/chrome/browser/predictors/preconnect_manager_impl.cc -index 57d544c0b03c80bdc015ce79d3aa78054d43c6e7..e9547e23d8bb2a5ac120c901405720cbde89737c 100644 ---- a/chrome/browser/predictors/preconnect_manager_impl.cc -+++ b/chrome/browser/predictors/preconnect_manager_impl.cc -@@ -13,9 +13,11 @@ - #include "base/trace_event/trace_event.h" - #include "base/types/optional_util.h" - #include "chrome/browser/predictors/predictors_features.h" -+#if 0 - #include "chrome/browser/predictors/resource_prefetch_predictor.h" - #include "chrome/browser/preloading/preloading_prefs.h" - #include "chrome/browser/profiles/profile.h" -+#endif - #include "content/public/browser/browser_context.h" - #include "content/public/browser/browser_task_traits.h" - #include "content/public/browser/browser_thread.h" -@@ -106,12 +108,15 @@ PreconnectManagerImpl::PreconnectManagerImpl( - PreconnectManagerImpl::~PreconnectManagerImpl() = default; - - bool PreconnectManagerImpl::IsEnabled() { -+#if 0 - Profile* profile = Profile::FromBrowserContext(browser_context_); - if (!profile) { - return false; - } - return prefetch::IsSomePreloadingEnabled(*profile->GetPrefs()) == - content::PreloadingEligibility::kEligible; -+#endif -+ return true; - } - - base::WeakPtr PreconnectManagerImpl::GetWeakPtr() { diff --git a/patches/chromium/refactor_expose_cursor_changes_to_the_webcontentsobserver.patch b/patches/chromium/refactor_expose_cursor_changes_to_the_webcontentsobserver.patch index cd9a36f148aa..65456e9bb1be 100644 --- a/patches/chromium/refactor_expose_cursor_changes_to_the_webcontentsobserver.patch +++ b/patches/chromium/refactor_expose_cursor_changes_to_the_webcontentsobserver.patch @@ -30,7 +30,7 @@ index 18c6ee6657e5edb5e90102dd9a20e5c0efeed843..af763ad4e441e54556854cd40c4cb909 // RenderWidgetHost on the primary main frame, and false otherwise. virtual bool IsWidgetForPrimaryMainFrame(RenderWidgetHostImpl*); diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc -index eac923378ce1e73f51f182f4dadb7e6f98ee0cfd..c8e0d79667fe725b360f43352578bc523cc25ef7 100644 +index 09faffd038c9a119ccb8d51ed44569dbd3fed908..3eb5ee73231e9dfc08a825808e4be5c0ad260234 100644 --- a/content/browser/renderer_host/render_widget_host_impl.cc +++ b/content/browser/renderer_host/render_widget_host_impl.cc @@ -2071,6 +2071,9 @@ void RenderWidgetHostImpl::SetCursor(const ui::Cursor& cursor) { diff --git a/patches/chromium/refactor_patch_electron_permissiontypes_into_blink.patch b/patches/chromium/refactor_patch_electron_permissiontypes_into_blink.patch index b3f566c561fc..697f8dfe3bb1 100644 --- a/patches/chromium/refactor_patch_electron_permissiontypes_into_blink.patch +++ b/patches/chromium/refactor_patch_electron_permissiontypes_into_blink.patch @@ -28,10 +28,10 @@ index a946c15689ffcebc1509fdb8fc27c69e3923a1cb..dffca6d28d2f04cd4c0d722c7c096473 break; } diff --git a/content/browser/permissions/permission_controller_impl.cc b/content/browser/permissions/permission_controller_impl.cc -index b9590ecbb95da6858eac104fbf69df056ccbf449..61cdfa6549c539ec73437d221ffdd82fbef39e23 100644 +index 80aa7a3056e275f1a54752e59df5a1c7eb316746..056a23bb485356cbe6795e69db9be33b75e26703 100644 --- a/content/browser/permissions/permission_controller_impl.cc +++ b/content/browser/permissions/permission_controller_impl.cc -@@ -87,7 +87,15 @@ PermissionToSchedulingFeature(PermissionType permission_name) { +@@ -88,7 +88,15 @@ PermissionToSchedulingFeature(PermissionType permission_name) { case PermissionType::AUTOMATIC_FULLSCREEN: case PermissionType::WEB_APP_INSTALLATION: case PermissionType::LOCAL_NETWORK_ACCESS: diff --git a/patches/chromium/revert_remove_the_allowaggressivethrottlingwithwebsocket_feature.patch b/patches/chromium/revert_remove_the_allowaggressivethrottlingwithwebsocket_feature.patch index 7e0887b4e1cd..9b65125aef09 100644 --- a/patches/chromium/revert_remove_the_allowaggressivethrottlingwithwebsocket_feature.patch +++ b/patches/chromium/revert_remove_the_allowaggressivethrottlingwithwebsocket_feature.patch @@ -6,7 +6,7 @@ Subject: Revert "Remove the AllowAggressiveThrottlingWithWebSocket feature." This reverts commit 615c1810a187840ffeb04096087efff86edb37de. diff --git a/third_party/blink/renderer/modules/websockets/websocket_channel_impl.cc b/third_party/blink/renderer/modules/websockets/websocket_channel_impl.cc -index 2678fd5ec188cb5eac7a5cc493eb4adf7f0434af..a6b77a8284cf92448eb782a02097737985271f04 100644 +index b5dde9f0b46663db5c7cf072cc58e271f83995eb..88a503e23ea4fa787a91a2a7934dc1783264a700 100644 --- a/third_party/blink/renderer/modules/websockets/websocket_channel_impl.cc +++ b/third_party/blink/renderer/modules/websockets/websocket_channel_impl.cc @@ -101,6 +101,17 @@ enum WebSocketOpCode { diff --git a/patches/chromium/revert_views_remove_desktopwindowtreehostwin_window_enlargement.patch b/patches/chromium/revert_views_remove_desktopwindowtreehostwin_window_enlargement.patch index 436cdf0d87d9..caf0ecffba02 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 b087a48440b25561991ce4c4002bf0d9e2acf10e..7bbed72665f0bea9eff33cd4a7412b81621308e8 100644 +index 576165f78dc3844a7a109043418d49a4f18415a0..fac211bcda95e2e4ce3c654402cf698d1fe06351 100644 --- a/testing/variations/fieldtrial_testing_config.json +++ b/testing/variations/fieldtrial_testing_config.json -@@ -24561,6 +24561,21 @@ +@@ -24570,6 +24570,21 @@ ] } ], diff --git a/shell/browser/electron_browser_context.cc b/shell/browser/electron_browser_context.cc index 2d4186dd1942..685688f6ab4b 100644 --- a/shell/browser/electron_browser_context.cc +++ b/shell/browser/electron_browser_context.cc @@ -49,6 +49,7 @@ #include "shell/browser/electron_browser_main_parts.h" #include "shell/browser/electron_download_manager_delegate.h" #include "shell/browser/electron_permission_manager.h" +#include "shell/browser/electron_preconnect_manager_delegate.h" #include "shell/browser/file_system_access/file_system_access_permission_context_factory.h" #include "shell/browser/media/media_device_id_salt.h" #include "shell/browser/net/resolve_proxy_helper.h" @@ -559,7 +560,10 @@ std::string ElectronBrowserContext::GetUserAgent() const { predictors::PreconnectManager* ElectronBrowserContext::GetPreconnectManager() { if (!preconnect_manager_) { - preconnect_manager_ = predictors::PreconnectManager::Create(nullptr, this); + preconnect_manager_delegate_ = + std::make_unique(); + preconnect_manager_ = predictors::PreconnectManager::Create( + preconnect_manager_delegate_->GetWeakPtr(), this); } return preconnect_manager_.get(); } diff --git a/shell/browser/electron_browser_context.h b/shell/browser/electron_browser_context.h index 974be551a1e9..3960a1b01382 100644 --- a/shell/browser/electron_browser_context.h +++ b/shell/browser/electron_browser_context.h @@ -43,6 +43,7 @@ namespace electron { class CookieChangeNotifier; class ElectronDownloadManagerDelegate; class ElectronPermissionManager; +class ElectronPreconnectManagerDelegate; class MediaDeviceIDSalt; class ProtocolRegistry; class ResolveProxyHelper; @@ -192,6 +193,8 @@ class ElectronBrowserContext : public content::BrowserContext { scoped_refptr resolve_proxy_helper_; scoped_refptr storage_policy_; std::unique_ptr preconnect_manager_; + std::unique_ptr + preconnect_manager_delegate_; std::unique_ptr protocol_registry_; std::optional user_agent_; diff --git a/shell/browser/electron_pdf_document_helper_client.cc b/shell/browser/electron_pdf_document_helper_client.cc index 01cf55a5e6bd..6b142ee869c6 100644 --- a/shell/browser/electron_pdf_document_helper_client.cc +++ b/shell/browser/electron_pdf_document_helper_client.cc @@ -76,9 +76,5 @@ void ElectronPDFDocumentHelperClient::SetPluginCanSave( #if BUILDFLAG(ENABLE_SCREEN_AI_SERVICE) void ElectronPDFDocumentHelperClient::OnSearchifyStarted( - content::WebContents* contents) { - // TODO(crbug.com/360803943): Add test. - // Show the promo only when ScreenAI component is available and OCR can be - // done. -} + content::RenderFrameHost* render_frame_host) {} #endif diff --git a/shell/browser/electron_pdf_document_helper_client.h b/shell/browser/electron_pdf_document_helper_client.h index 137af0f2514d..3532e599a999 100644 --- a/shell/browser/electron_pdf_document_helper_client.h +++ b/shell/browser/electron_pdf_document_helper_client.h @@ -24,7 +24,7 @@ class ElectronPDFDocumentHelperClient : public pdf::PDFDocumentHelperClient { void SetPluginCanSave(content::RenderFrameHost* render_frame_host, bool can_save) override; #if BUILDFLAG(ENABLE_SCREEN_AI_SERVICE) - void OnSearchifyStarted(content::WebContents* contents) override; + void OnSearchifyStarted(content::RenderFrameHost* render_frame_host) override; #endif }; diff --git a/shell/browser/electron_preconnect_manager_delegate.cc b/shell/browser/electron_preconnect_manager_delegate.cc new file mode 100644 index 000000000000..d73e0b1d2e22 --- /dev/null +++ b/shell/browser/electron_preconnect_manager_delegate.cc @@ -0,0 +1,18 @@ +// Copyright (c) 2025 Microsoft, Inc. +// Use of this source code is governed by the MIT license that can be +// found in the LICENSE file. + +#include "shell/browser/electron_preconnect_manager_delegate.h" + +namespace electron { + +ElectronPreconnectManagerDelegate::ElectronPreconnectManagerDelegate() = + default; +ElectronPreconnectManagerDelegate::~ElectronPreconnectManagerDelegate() = + default; + +bool ElectronPreconnectManagerDelegate::IsPreconnectEnabled() { + return true; +} + +} // namespace electron diff --git a/shell/browser/electron_preconnect_manager_delegate.h b/shell/browser/electron_preconnect_manager_delegate.h new file mode 100644 index 000000000000..889ed77f391c --- /dev/null +++ b/shell/browser/electron_preconnect_manager_delegate.h @@ -0,0 +1,46 @@ +// Copyright (c) 2025 Microsoft, Inc. +// Use of this source code is governed by the MIT license that can be +// found in the LICENSE file. + +#ifndef ELECTRON_SHELL_BROWSER_ELECTRON_PRECONNECT_MANAGER_DELEGATE_H_ +#define ELECTRON_SHELL_BROWSER_ELECTRON_PRECONNECT_MANAGER_DELEGATE_H_ + +#include + +#include "base/memory/weak_ptr.h" +#include "chrome/browser/predictors/preconnect_manager.h" + +class GURL; + +namespace electron { + +class ElectronPreconnectManagerDelegate + : public predictors::PreconnectManager::Delegate { + public: + ElectronPreconnectManagerDelegate(); + ~ElectronPreconnectManagerDelegate() override; + + // disable copy + ElectronPreconnectManagerDelegate(const ElectronPreconnectManagerDelegate&) = + delete; + ElectronPreconnectManagerDelegate& operator=( + const ElectronPreconnectManagerDelegate&) = delete; + + // preconnect_manager::Delegate + void PreconnectInitiated(const GURL& url, + const GURL& preconnect_url) override {} + void PreconnectFinished( + std::unique_ptr stats) override {} + bool IsPreconnectEnabled() override; + + base::WeakPtr GetWeakPtr() { + return weak_factory_.GetWeakPtr(); + } + + private: + base::WeakPtrFactory weak_factory_{this}; +}; + +} // namespace electron + +#endif // ELECTRON_SHELL_BROWSER_ELECTRON_PRECONNECT_MANAGER_DELEGATE_H_ diff --git a/shell/browser/extensions/api/tabs/tabs_api.cc b/shell/browser/extensions/api/tabs/tabs_api.cc index c84d9fb19a07..010f7ae15521 100644 --- a/shell/browser/extensions/api/tabs/tabs_api.cc +++ b/shell/browser/extensions/api/tabs/tabs_api.cc @@ -321,6 +321,8 @@ ExtensionFunction::ResponseAction TabsQueryFunction::Run() { tab.active = contents->IsFocused(); tab.audible = contents->IsCurrentlyAudible(); tab.muted_info = CreateMutedInfo(wc); + // TODO: Add proper support for split views + tab.split_view_id = -1; result.Append(tab.ToValue()); } @@ -353,6 +355,8 @@ ExtensionFunction::ResponseAction TabsGetFunction::Run() { tab.active = contents->IsFocused(); tab.last_accessed = wc->GetLastActiveTime().InMillisecondsFSinceUnixEpoch(); + // TODO: Add proper support for split views + tab.split_view_id = -1; return RespondNow(ArgumentList(tabs::Get::Results::Create(std::move(tab)))); } @@ -696,6 +700,8 @@ ExtensionFunction::ResponseValue TabsUpdateFunction::GetResult() { tab.active = api_web_contents->IsFocused(); tab.muted_info = CreateMutedInfo(web_contents_); tab.audible = web_contents_->IsCurrentlyAudible(); + // TODO: Add proper support for split views + tab.split_view_id = -1; return ArgumentList(tabs::Get::Results::Create(std::move(tab))); } diff --git a/shell/browser/osr/osr_video_consumer.cc b/shell/browser/osr/osr_video_consumer.cc index f1307bb62fb0..00f80701072f 100644 --- a/shell/browser/osr/osr_video_consumer.cc +++ b/shell/browser/osr/osr_video_consumer.cc @@ -107,7 +107,7 @@ void OffScreenVideoConsumer::OnFrameCaptured( reinterpret_cast(gmb_handle.dxgi_handle().buffer_handle()); #elif BUILDFLAG(IS_APPLE) texture.shared_texture_handle = - reinterpret_cast(gmb_handle.io_surface.get()); + reinterpret_cast(gmb_handle.io_surface().get()); #elif BUILDFLAG(IS_LINUX) const auto& native_pixmap = gmb_handle.native_pixmap_handle(); texture.modifier = native_pixmap.modifier; diff --git a/shell/common/extensions/api/tabs.json b/shell/common/extensions/api/tabs.json index b6c907d63bfa..843e95cc2d7c 100644 --- a/shell/common/extensions/api/tabs.json +++ b/shell/common/extensions/api/tabs.json @@ -61,6 +61,14 @@ // TODO(kalman): Investigate how this is ending up as -1 (based on window type? a bug?) and whether it should be optional instead. "index": {"type": "integer", "minimum": -1, "description": "The zero-based index of the tab within its window."}, "groupId": {"type": "integer", "minimum": -1, "description": "The ID of the group that the tab belongs to."}, + "splitViewId": { + "type": "integer", + "minimum": -1, + "optional": "true", + "description": "The ID of the Split View that the tab belongs to.", + // TODO(crbug.com/433273595): Enable documentation when ready for launch. + "nodoc": "true" + }, "windowId": {"type": "integer", "minimum": 0, "description": "The ID of the window that contains the tab."}, "openerTabId": {"type": "integer", "minimum": 0, "optional": true, "description": "The ID of the tab that opened this tab, if any. This property is only present if the opener tab still exists."}, "selected": {"type": "boolean", "description": "Whether the tab is selected.", "deprecated": "Please use $(ref:tabs.Tab.highlighted)."}, @@ -524,6 +532,12 @@ "minimum": -1, "description": "The ID of the group that the tabs are in, or $(ref:tabGroups.TAB_GROUP_ID_NONE) for ungrouped tabs." }, + "splitViewId": { + "type": "integer", + "minimum": -1, + "optional": true, + "description": "The ID of the Split View that the tabs are in, or $(ref:tabs.SPLIT_TAB_ID_NONE) for tabs that aren't in a Split View." + }, "windowId": { "type": "integer", "optional": true, @@ -680,6 +694,12 @@ "minimum": -1, "description": "The tab's new group." }, + "splitViewId": { + "type": "integer", + "minimum": -1, + "optional": true, + "description": "The tab's new Split View." + }, "pinned": { "type": "boolean", "optional": true,