chore: bump chromium to 138.0.7175.0 (37-x-y) (#47078)
* chore: bump chromium in DEPS to 138.0.7166.0 Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com> * chore: bump chromium in DEPS to 138.0.7166.2 Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com> * 6508373: Add WebContents, Tab getters for future Clank navigation capture rework https://chromium-review.googlesource.com/c/chromium/src/+/6508373 Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * 6470924: Introduce auto-populated Search Engine icons. https://chromium-review.googlesource.com/c/chromium/src/+/6470924 Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * 6502977: Force same tab navigation while actor coordinator is acting on a tab https://chromium-review.googlesource.com/c/chromium/src/+/6502977 Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * chore: bump chromium in DEPS to 138.0.7168.0 Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com> * chore: update patches Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org> * fix grit patch Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * chore: bump Chromium to 138.0.7169.2 Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * fixup! 6508373: Add WebContents, Tab getters for future Clank navigation capture rework Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * 6493688: NavigationThrottleRunner2: void CreateThrottlesForNavigation https://chromium-review.googlesource.com/c/chromium/src/+/6493688 Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * 6488755: Reland "WebSQL: Remove WebPreference" https://chromium-review.googlesource.com/c/chromium/src/+/6488755 Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * 6428707: FSA: Only normalize the hardcoded rules once during initialization https://chromium-review.googlesource.com/c/chromium/src/+/6428707 Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * chore: fixup patch indices Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * chore: bump chromium in DEPS to 138.0.7170.0 Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com> * 6514121: Remove origin calculation debug info and related methods https://chromium-review.googlesource.com/c/chromium/src/+/6514121 Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * chore: bump chromium in DEPS to 138.0.7172.0 Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com> * chore: bump chromium in DEPS to 138.0.7173.0 Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com> * chore: bump chromium in DEPS to 138.0.7175.0 Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com> * fixup! 6514121: Remove origin calculation debug info and related methods Refs https://chromium-review.googlesource.com/c/chromium/src/+/6514121 Co-authored-by: David Sanders <dsanders11@ucsbalum.com> * 6531585: Don't retry LayerTreeSink creation on the high priority queue Refs https://chromium-review.googlesource.com/c/chromium/src/+/6531585 Co-authored-by: David Sanders <dsanders11@ucsbalum.com> * 6512253: Modernize base::apple's base bundle ID Refs https://chromium-review.googlesource.com/c/chromium/src/+/6512253 Co-authored-by: David Sanders <dsanders11@ucsbalum.com> * fixup! 6428707: FSA: Only normalize the hardcoded rules once during initialization Refs https://chromium-review.googlesource.com/c/chromium/src/+/6428707 Co-authored-by: David Sanders <dsanders11@ucsbalum.com> * fixup! 6508373: Add WebContents, Tab getters for future Clank navigation capture rework Refs https://chromium-review.googlesource.com/c/chromium/src/+/6508373 Co-authored-by: David Sanders <dsanders11@ucsbalum.com> * chore: update patches Co-authored-by: David Sanders <dsanders11@ucsbalum.com> * chore: update patches --------- Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com> Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com> Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org> Co-authored-by: David Sanders <dsanders11@ucsbalum.com>
This commit is contained in:
parent
25c7f0017a
commit
8de0bb5bc3
63 changed files with 818 additions and 681 deletions
2
DEPS
2
DEPS
|
@ -2,7 +2,7 @@ gclient_gn_args_from = 'src'
|
||||||
|
|
||||||
vars = {
|
vars = {
|
||||||
'chromium_version':
|
'chromium_version':
|
||||||
'138.0.7165.0',
|
'138.0.7175.0',
|
||||||
'node_version':
|
'node_version':
|
||||||
'v22.15.0',
|
'v22.15.0',
|
||||||
'nan_version':
|
'nan_version':
|
||||||
|
|
|
@ -120,7 +120,6 @@ build_run_reclient_cfg_generator_after_chrome.patch
|
||||||
fix_getcursorscreenpoint_wrongly_returns_0_0.patch
|
fix_getcursorscreenpoint_wrongly_returns_0_0.patch
|
||||||
fix_add_support_for_skipping_first_2_no-op_refreshes_in_thumb_cap.patch
|
fix_add_support_for_skipping_first_2_no-op_refreshes_in_thumb_cap.patch
|
||||||
refactor_expose_file_system_access_blocklist.patch
|
refactor_expose_file_system_access_blocklist.patch
|
||||||
partially_revert_is_newly_created_to_allow_for_browser_initiated.patch
|
|
||||||
feat_add_support_for_missing_dialog_features_to_shell_dialogs.patch
|
feat_add_support_for_missing_dialog_features_to_shell_dialogs.patch
|
||||||
fix_font_face_resolution_when_renderer_is_blocked.patch
|
fix_font_face_resolution_when_renderer_is_blocked.patch
|
||||||
feat_enable_passing_exit_code_on_service_process_crash.patch
|
feat_enable_passing_exit_code_on_service_process_crash.patch
|
||||||
|
@ -130,7 +129,6 @@ build_allow_electron_mojom_interfaces_to_depend_on_blink.patch
|
||||||
osr_shared_texture_remove_keyed_mutex_on_win_dxgi.patch
|
osr_shared_texture_remove_keyed_mutex_on_win_dxgi.patch
|
||||||
feat_allow_usage_of_sccontentsharingpicker_on_supported_platforms.patch
|
feat_allow_usage_of_sccontentsharingpicker_on_supported_platforms.patch
|
||||||
chore_partial_revert_of.patch
|
chore_partial_revert_of.patch
|
||||||
fix_software_compositing_infinite_loop.patch
|
|
||||||
fix_adjust_headless_mode_handling_in_native_widget.patch
|
fix_adjust_headless_mode_handling_in_native_widget.patch
|
||||||
refactor_unfilter_unresponsive_events.patch
|
refactor_unfilter_unresponsive_events.patch
|
||||||
build_disable_thin_lto_mac.patch
|
build_disable_thin_lto_mac.patch
|
||||||
|
@ -146,4 +144,3 @@ fix_enable_wrap_iter_in_string_view_and_array.patch
|
||||||
fix_linter_error.patch
|
fix_linter_error.patch
|
||||||
chore_grandfather_in_electron_views_and_delegates.patch
|
chore_grandfather_in_electron_views_and_delegates.patch
|
||||||
refactor_patch_electron_permissiontypes_into_blink.patch
|
refactor_patch_electron_permissiontypes_into_blink.patch
|
||||||
make_focus_methods_in_webcontentsviewchildframe_notimplemented.patch
|
|
||||||
|
|
|
@ -10,10 +10,10 @@ Allows Electron to restore WER when ELECTRON_DEFAULT_ERROR_MODE is set.
|
||||||
This should be upstreamed.
|
This should be upstreamed.
|
||||||
|
|
||||||
diff --git a/content/gpu/gpu_main.cc b/content/gpu/gpu_main.cc
|
diff --git a/content/gpu/gpu_main.cc b/content/gpu/gpu_main.cc
|
||||||
index cadb96febde3fb3fe90929873b1db452a6d8fb8f..09f5504127b5a5ec3d0d69d9eb6d0cd93e0e75cd 100644
|
index 73be6273b320574c22fd12e07b93dc3cffaa1be9..58a34cc5b583a7111decf14b755afbb82ba94765 100644
|
||||||
--- a/content/gpu/gpu_main.cc
|
--- a/content/gpu/gpu_main.cc
|
||||||
+++ b/content/gpu/gpu_main.cc
|
+++ b/content/gpu/gpu_main.cc
|
||||||
@@ -254,6 +254,10 @@ int GpuMain(MainFunctionParams parameters) {
|
@@ -268,6 +268,10 @@ int GpuMain(MainFunctionParams parameters) {
|
||||||
// to the GpuProcessHost once the GpuServiceImpl has started.
|
// to the GpuProcessHost once the GpuServiceImpl has started.
|
||||||
viz::GpuServiceImpl::InstallPreInitializeLogHandler();
|
viz::GpuServiceImpl::InstallPreInitializeLogHandler();
|
||||||
|
|
||||||
|
@ -24,7 +24,7 @@ index cadb96febde3fb3fe90929873b1db452a6d8fb8f..09f5504127b5a5ec3d0d69d9eb6d0cd9
|
||||||
// We are experiencing what appear to be memory-stomp issues in the GPU
|
// We are experiencing what appear to be memory-stomp issues in the GPU
|
||||||
// process. These issues seem to be impacting the task executor and listeners
|
// process. These issues seem to be impacting the task executor and listeners
|
||||||
// registered to it. Create the task executor on the heap to guard against
|
// registered to it. Create the task executor on the heap to guard against
|
||||||
@@ -363,7 +367,6 @@ int GpuMain(MainFunctionParams parameters) {
|
@@ -377,7 +381,6 @@ int GpuMain(MainFunctionParams parameters) {
|
||||||
#endif
|
#endif
|
||||||
const bool dead_on_arrival = !init_success;
|
const bool dead_on_arrival = !init_success;
|
||||||
|
|
||||||
|
|
|
@ -23,10 +23,10 @@ index db655a7b52eacb74f2a8637db36abd87f6b86792..8014cb08e2090a12ea8b9e92cb8f93c9
|
||||||
int32_t world_id) {}
|
int32_t world_id) {}
|
||||||
virtual void DidClearWindowObject() {}
|
virtual void DidClearWindowObject() {}
|
||||||
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
|
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
|
||||||
index 6c569b4a0f4ddea5d071753bb4a72002ba174171..d1085ca830b5a98f1550e6c01728cd760df6141a 100644
|
index 3fa43adedd6ff0258edd195bde1e68977cff3a7c..7fe443aad2ad6207aa46daddea46baa3eb998bc3 100644
|
||||||
--- a/content/renderer/render_frame_impl.cc
|
--- a/content/renderer/render_frame_impl.cc
|
||||||
+++ b/content/renderer/render_frame_impl.cc
|
+++ b/content/renderer/render_frame_impl.cc
|
||||||
@@ -4807,6 +4807,12 @@ void RenderFrameImpl::DidCreateScriptContext(v8::Local<v8::Context> context,
|
@@ -4808,6 +4808,12 @@ void RenderFrameImpl::DidCreateScriptContext(v8::Local<v8::Context> context,
|
||||||
observer.DidCreateScriptContext(context, world_id);
|
observer.DidCreateScriptContext(context, world_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -40,10 +40,10 @@ index 6c569b4a0f4ddea5d071753bb4a72002ba174171..d1085ca830b5a98f1550e6c01728cd76
|
||||||
int world_id) {
|
int world_id) {
|
||||||
for (auto& observer : observers_)
|
for (auto& observer : observers_)
|
||||||
diff --git a/content/renderer/render_frame_impl.h b/content/renderer/render_frame_impl.h
|
diff --git a/content/renderer/render_frame_impl.h b/content/renderer/render_frame_impl.h
|
||||||
index a7383e4a5ccb8ca1de10bc3efb3043f1dbbf2f6f..41075015aa2dd347c9847072dd76f9cea9ad2d94 100644
|
index 6a9e696762cc0276f10971933363257591d12bfe..3cd045ed24c47465788c40cc68b050be11ed6f97 100644
|
||||||
--- a/content/renderer/render_frame_impl.h
|
--- a/content/renderer/render_frame_impl.h
|
||||||
+++ b/content/renderer/render_frame_impl.h
|
+++ b/content/renderer/render_frame_impl.h
|
||||||
@@ -652,6 +652,8 @@ class CONTENT_EXPORT RenderFrameImpl
|
@@ -653,6 +653,8 @@ class CONTENT_EXPORT RenderFrameImpl
|
||||||
void DidObserveLayoutShift(double score, bool after_input_or_scroll) override;
|
void DidObserveLayoutShift(double score, bool after_input_or_scroll) override;
|
||||||
void DidCreateScriptContext(v8::Local<v8::Context> context,
|
void DidCreateScriptContext(v8::Local<v8::Context> context,
|
||||||
int world_id) override;
|
int world_id) override;
|
||||||
|
@ -92,7 +92,7 @@ index e52a535450964b0938b66f7506225fda0cde04a2..841e9b36df4c32040d2b3c71514266fc
|
||||||
int32_t world_id) = 0;
|
int32_t world_id) = 0;
|
||||||
virtual bool AllowScriptExtensions() = 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
|
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 479dd8a7294ca6f0abb72350cc1a6c61e09c7c27..45226050aea1036f2c3a2fc15cabee893d12b1a7 100644
|
index 96fc9e0646f943e86e927de2686a8da94625ae6c..30e9721cccd285a347f35e2d7a539547ac41247c 100644
|
||||||
--- a/third_party/blink/renderer/core/frame/local_frame_client_impl.cc
|
--- a/third_party/blink/renderer/core/frame/local_frame_client_impl.cc
|
||||||
+++ b/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(
|
@@ -295,6 +295,13 @@ void LocalFrameClientImpl::DidCreateScriptContext(
|
||||||
|
|
|
@ -10,7 +10,7 @@ usage of BrowserList and Browser as we subclass related methods and use our
|
||||||
WindowList.
|
WindowList.
|
||||||
|
|
||||||
diff --git a/chrome/browser/ui/webui/accessibility/accessibility_ui.cc b/chrome/browser/ui/webui/accessibility/accessibility_ui.cc
|
diff --git a/chrome/browser/ui/webui/accessibility/accessibility_ui.cc b/chrome/browser/ui/webui/accessibility/accessibility_ui.cc
|
||||||
index ce3840087d3becac116e57ed8c690b73e360f95f..a929b2d4f6c4b34f9e278aada9f8f793477c6d19 100644
|
index d7a9cff6401f0953297acd18708ec2952f60407f..b4777ce0bcda2bdb9645a4ed86040f62ce4027eb 100644
|
||||||
--- a/chrome/browser/ui/webui/accessibility/accessibility_ui.cc
|
--- a/chrome/browser/ui/webui/accessibility/accessibility_ui.cc
|
||||||
+++ b/chrome/browser/ui/webui/accessibility/accessibility_ui.cc
|
+++ b/chrome/browser/ui/webui/accessibility/accessibility_ui.cc
|
||||||
@@ -48,6 +48,7 @@
|
@@ -48,6 +48,7 @@
|
||||||
|
|
|
@ -6,10 +6,10 @@ Subject: allow disabling blink scheduler throttling per RenderView
|
||||||
This allows us to disable throttling for hidden windows.
|
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
|
diff --git a/content/browser/renderer_host/navigation_controller_impl_unittest.cc b/content/browser/renderer_host/navigation_controller_impl_unittest.cc
|
||||||
index 495daa75895a4545287da53f305e6cd348db7183..fd749047a7d505d02c4e8e4631da823275c27822 100644
|
index b9e7ef002a8d7842b4e97dbcaa59aa289ba652a1..81bd39f47d8411da53824d47e053b39f8fa24721 100644
|
||||||
--- a/content/browser/renderer_host/navigation_controller_impl_unittest.cc
|
--- a/content/browser/renderer_host/navigation_controller_impl_unittest.cc
|
||||||
+++ b/content/browser/renderer_host/navigation_controller_impl_unittest.cc
|
+++ b/content/browser/renderer_host/navigation_controller_impl_unittest.cc
|
||||||
@@ -166,6 +166,12 @@ class MockPageBroadcast : public blink::mojom::PageBroadcast {
|
@@ -167,6 +167,12 @@ class MockPageBroadcast : public blink::mojom::PageBroadcast {
|
||||||
(network::mojom::AttributionSupport support),
|
(network::mojom::AttributionSupport support),
|
||||||
(override));
|
(override));
|
||||||
|
|
||||||
|
@ -23,10 +23,10 @@ index 495daa75895a4545287da53f305e6cd348db7183..fd749047a7d505d02c4e8e4631da8232
|
||||||
return receiver_.BindNewEndpointAndPassDedicatedRemote();
|
return receiver_.BindNewEndpointAndPassDedicatedRemote();
|
||||||
}
|
}
|
||||||
diff --git a/content/browser/renderer_host/render_view_host_impl.cc b/content/browser/renderer_host/render_view_host_impl.cc
|
diff --git a/content/browser/renderer_host/render_view_host_impl.cc b/content/browser/renderer_host/render_view_host_impl.cc
|
||||||
index 4a70fd017915c1d631a47096c735d9c4b6e2c2af..0b2eb574f86e4c192d7cd986abea72e85163a7bd 100644
|
index 6e6d9a3ea76b3b578c452050afde6b89468c8841..f3abefb6e4a0e11ae2cdc12558af844c4153a103 100644
|
||||||
--- a/content/browser/renderer_host/render_view_host_impl.cc
|
--- a/content/browser/renderer_host/render_view_host_impl.cc
|
||||||
+++ b/content/browser/renderer_host/render_view_host_impl.cc
|
+++ b/content/browser/renderer_host/render_view_host_impl.cc
|
||||||
@@ -759,6 +759,11 @@ void RenderViewHostImpl::SetBackgroundOpaque(bool opaque) {
|
@@ -761,6 +761,11 @@ void RenderViewHostImpl::SetBackgroundOpaque(bool opaque) {
|
||||||
GetWidget()->GetAssociatedFrameWidget()->SetBackgroundOpaque(opaque);
|
GetWidget()->GetAssociatedFrameWidget()->SetBackgroundOpaque(opaque);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -39,7 +39,7 @@ index 4a70fd017915c1d631a47096c735d9c4b6e2c2af..0b2eb574f86e4c192d7cd986abea72e8
|
||||||
return is_active();
|
return is_active();
|
||||||
}
|
}
|
||||||
diff --git a/content/browser/renderer_host/render_view_host_impl.h b/content/browser/renderer_host/render_view_host_impl.h
|
diff --git a/content/browser/renderer_host/render_view_host_impl.h b/content/browser/renderer_host/render_view_host_impl.h
|
||||||
index 56e52f079d1ad7c7a22764b976f0c8b2cc48dff2..1231fe522ad103e94d3c30ad7d5e5d23df9b3554 100644
|
index f9dc4c4aa4e3c65124c975f5bc5ea255fbb43cfb..1e7151d8d45bfc5ef01b79eee9d80df3df5c856c 100644
|
||||||
--- a/content/browser/renderer_host/render_view_host_impl.h
|
--- a/content/browser/renderer_host/render_view_host_impl.h
|
||||||
+++ b/content/browser/renderer_host/render_view_host_impl.h
|
+++ b/content/browser/renderer_host/render_view_host_impl.h
|
||||||
@@ -135,6 +135,7 @@ class CONTENT_EXPORT RenderViewHostImpl
|
@@ -135,6 +135,7 @@ class CONTENT_EXPORT RenderViewHostImpl
|
||||||
|
@ -80,10 +80,10 @@ index 20ca763ff7f55e8176b77349b41917b11e051ae6..a50c122064b5f0092f57e3d508fb1938
|
||||||
// This interface should only be implemented inside content.
|
// This interface should only be implemented inside content.
|
||||||
friend class RenderViewHostImpl;
|
friend class RenderViewHostImpl;
|
||||||
diff --git a/content/test/test_page_broadcast.h b/content/test/test_page_broadcast.h
|
diff --git a/content/test/test_page_broadcast.h b/content/test/test_page_broadcast.h
|
||||||
index 58895f0ed0e18703c45eee37210003150c24550a..6a138d4cd852f6f2b9fd2294062c9b6ab4f08855 100644
|
index 3f4fdfcdf2f701a394e182bd61baf226338ef7f8..f2faa1225e8ca6abb190e6f7a0775545fa3f785d 100644
|
||||||
--- a/content/test/test_page_broadcast.h
|
--- a/content/test/test_page_broadcast.h
|
||||||
+++ b/content/test/test_page_broadcast.h
|
+++ b/content/test/test_page_broadcast.h
|
||||||
@@ -50,6 +50,7 @@ class TestPageBroadcast : public blink::mojom::PageBroadcast {
|
@@ -51,6 +51,7 @@ class TestPageBroadcast : public blink::mojom::PageBroadcast {
|
||||||
network::mojom::AttributionSupport support) override;
|
network::mojom::AttributionSupport support) override;
|
||||||
void UpdateColorProviders(
|
void UpdateColorProviders(
|
||||||
const blink::ColorProviderColorMaps& color_provider_colors) override;
|
const blink::ColorProviderColorMaps& color_provider_colors) override;
|
||||||
|
@ -92,10 +92,10 @@ index 58895f0ed0e18703c45eee37210003150c24550a..6a138d4cd852f6f2b9fd2294062c9b6a
|
||||||
mojo::AssociatedReceiver<blink::mojom::PageBroadcast> receiver_;
|
mojo::AssociatedReceiver<blink::mojom::PageBroadcast> receiver_;
|
||||||
};
|
};
|
||||||
diff --git a/third_party/blink/public/mojom/page/page.mojom b/third_party/blink/public/mojom/page/page.mojom
|
diff --git a/third_party/blink/public/mojom/page/page.mojom b/third_party/blink/public/mojom/page/page.mojom
|
||||||
index 4614f84c3d8f709fb2a12d662e5a13dc12c59e8a..76444fcbf68b91ad64c46debc565ffc35a3e2c68 100644
|
index b6a4e3609af1f090f1f845d77fa0589e5b178d8a..989b2cf76ce88614b57e75ce2fcace101225f43e 100644
|
||||||
--- a/third_party/blink/public/mojom/page/page.mojom
|
--- a/third_party/blink/public/mojom/page/page.mojom
|
||||||
+++ b/third_party/blink/public/mojom/page/page.mojom
|
+++ b/third_party/blink/public/mojom/page/page.mojom
|
||||||
@@ -172,4 +172,7 @@ interface PageBroadcast {
|
@@ -175,4 +175,7 @@ interface PageBroadcast {
|
||||||
// 2. The ColorProvider associated with the WebContents changes as a result
|
// 2. The ColorProvider associated with the WebContents changes as a result
|
||||||
// of theme changes.
|
// of theme changes.
|
||||||
UpdateColorProviders(ColorProviderColorMaps color_provider_colors);
|
UpdateColorProviders(ColorProviderColorMaps color_provider_colors);
|
||||||
|
@ -116,7 +116,7 @@ index 7c1eb9baabfb9e0f3645421b5cbe467862252638..00d2cd41d795cb550e16fb80944b2382
|
||||||
// Visibility -----------------------------------------------------------
|
// 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
|
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 6b056decc43e9ba9e7970a7d8fefaed6a86d9a2d..0b2956425d2feb84f1d0db7be4f3d4b0875b1d10 100644
|
index 73f25b18478ae93dbf7a5f225adce40da89681c9..3c3c0247ca56ba99b48583a4218712f172458845 100644
|
||||||
--- a/third_party/blink/renderer/core/exported/web_view_impl.cc
|
--- a/third_party/blink/renderer/core/exported/web_view_impl.cc
|
||||||
+++ b/third_party/blink/renderer/core/exported/web_view_impl.cc
|
+++ b/third_party/blink/renderer/core/exported/web_view_impl.cc
|
||||||
@@ -2466,6 +2466,10 @@ void WebViewImpl::SetPageLifecycleStateInternal(
|
@@ -2466,6 +2466,10 @@ void WebViewImpl::SetPageLifecycleStateInternal(
|
||||||
|
@ -155,10 +155,10 @@ index 6b056decc43e9ba9e7970a7d8fefaed6a86d9a2d..0b2956425d2feb84f1d0db7be4f3d4b0
|
||||||
// Do not throttle if the page should be painting.
|
// Do not throttle if the page should be painting.
|
||||||
bool is_visible =
|
bool is_visible =
|
||||||
diff --git a/third_party/blink/renderer/core/exported/web_view_impl.h b/third_party/blink/renderer/core/exported/web_view_impl.h
|
diff --git a/third_party/blink/renderer/core/exported/web_view_impl.h b/third_party/blink/renderer/core/exported/web_view_impl.h
|
||||||
index aff99e7e1feb7addcdf631b7e3ac4209da6b502d..b759aca8d1e61c19904db146840e6f0c57a3d86a 100644
|
index eaa593b41ec2e9a12fca53eb9925e6b868a4d9f1..8ce3ea0e5d6e5bdff982b956de305047347b4385 100644
|
||||||
--- a/third_party/blink/renderer/core/exported/web_view_impl.h
|
--- a/third_party/blink/renderer/core/exported/web_view_impl.h
|
||||||
+++ b/third_party/blink/renderer/core/exported/web_view_impl.h
|
+++ b/third_party/blink/renderer/core/exported/web_view_impl.h
|
||||||
@@ -447,6 +447,7 @@ class CORE_EXPORT WebViewImpl final : public WebView,
|
@@ -448,6 +448,7 @@ class CORE_EXPORT WebViewImpl final : public WebView,
|
||||||
LocalDOMWindow* PagePopupWindow() const;
|
LocalDOMWindow* PagePopupWindow() const;
|
||||||
|
|
||||||
PageScheduler* Scheduler() const override;
|
PageScheduler* Scheduler() const override;
|
||||||
|
@ -166,7 +166,7 @@ index aff99e7e1feb7addcdf631b7e3ac4209da6b502d..b759aca8d1e61c19904db146840e6f0c
|
||||||
void SetVisibilityState(mojom::blink::PageVisibilityState visibility_state,
|
void SetVisibilityState(mojom::blink::PageVisibilityState visibility_state,
|
||||||
bool is_initial_state) override;
|
bool is_initial_state) override;
|
||||||
mojom::blink::PageVisibilityState GetVisibilityState() override;
|
mojom::blink::PageVisibilityState GetVisibilityState() override;
|
||||||
@@ -935,6 +936,8 @@ class CORE_EXPORT WebViewImpl final : public WebView,
|
@@ -936,6 +937,8 @@ class CORE_EXPORT WebViewImpl final : public WebView,
|
||||||
// If true, we send IPC messages when |preferred_size_| changes.
|
// If true, we send IPC messages when |preferred_size_| changes.
|
||||||
bool send_preferred_size_changes_ = false;
|
bool send_preferred_size_changes_ = false;
|
||||||
|
|
||||||
|
|
|
@ -8,10 +8,10 @@ WebPreferences of in-process child windows, rather than relying on
|
||||||
process-level command line switches, as before.
|
process-level command line switches, as before.
|
||||||
|
|
||||||
diff --git a/third_party/blink/common/web_preferences/web_preferences_mojom_traits.cc b/third_party/blink/common/web_preferences/web_preferences_mojom_traits.cc
|
diff --git a/third_party/blink/common/web_preferences/web_preferences_mojom_traits.cc b/third_party/blink/common/web_preferences/web_preferences_mojom_traits.cc
|
||||||
index 009f3563df63bc2ba2eadeecaea4f328d6a409ec..769ff8faaddf543fba1a41aff939f23741127247 100644
|
index 9fe216ae76191985751c5aff735cb38ba747a5cb..274dbe4fe45f5ca03e4f93fa1ef94f22ca3559ed 100644
|
||||||
--- a/third_party/blink/common/web_preferences/web_preferences_mojom_traits.cc
|
--- a/third_party/blink/common/web_preferences/web_preferences_mojom_traits.cc
|
||||||
+++ b/third_party/blink/common/web_preferences/web_preferences_mojom_traits.cc
|
+++ b/third_party/blink/common/web_preferences/web_preferences_mojom_traits.cc
|
||||||
@@ -150,6 +150,19 @@ bool StructTraits<blink::mojom::WebPreferencesDataView,
|
@@ -149,6 +149,19 @@ bool StructTraits<blink::mojom::WebPreferencesDataView,
|
||||||
out->v8_cache_options = data.v8_cache_options();
|
out->v8_cache_options = data.v8_cache_options();
|
||||||
out->record_whole_document = data.record_whole_document();
|
out->record_whole_document = data.record_whole_document();
|
||||||
out->stylus_handwriting_enabled = data.stylus_handwriting_enabled();
|
out->stylus_handwriting_enabled = data.stylus_handwriting_enabled();
|
||||||
|
@ -32,7 +32,7 @@ index 009f3563df63bc2ba2eadeecaea4f328d6a409ec..769ff8faaddf543fba1a41aff939f237
|
||||||
out->accelerated_video_decode_enabled =
|
out->accelerated_video_decode_enabled =
|
||||||
data.accelerated_video_decode_enabled();
|
data.accelerated_video_decode_enabled();
|
||||||
diff --git a/third_party/blink/public/common/web_preferences/web_preferences.h b/third_party/blink/public/common/web_preferences/web_preferences.h
|
diff --git a/third_party/blink/public/common/web_preferences/web_preferences.h b/third_party/blink/public/common/web_preferences/web_preferences.h
|
||||||
index 85f312a9ea1eca0ff7ba4c679fabb3156aabbc0b..a9dc007a93003610d68e3118b4a47a86d4e16f6e 100644
|
index 2d9ef567d7aba3d78ecb0637fc7a31cbaaba564b..9c6c5e3b2668bdfa3ec1f5f0482bc1294bfed9b0 100644
|
||||||
--- a/third_party/blink/public/common/web_preferences/web_preferences.h
|
--- a/third_party/blink/public/common/web_preferences/web_preferences.h
|
||||||
+++ b/third_party/blink/public/common/web_preferences/web_preferences.h
|
+++ b/third_party/blink/public/common/web_preferences/web_preferences.h
|
||||||
@@ -9,6 +9,7 @@
|
@@ -9,6 +9,7 @@
|
||||||
|
@ -43,7 +43,7 @@ index 85f312a9ea1eca0ff7ba4c679fabb3156aabbc0b..a9dc007a93003610d68e3118b4a47a86
|
||||||
#include "build/build_config.h"
|
#include "build/build_config.h"
|
||||||
#include "net/nqe/effective_connection_type.h"
|
#include "net/nqe/effective_connection_type.h"
|
||||||
#include "third_party/blink/public/common/common_export.h"
|
#include "third_party/blink/public/common/common_export.h"
|
||||||
@@ -451,6 +452,20 @@ struct BLINK_COMMON_EXPORT WebPreferences {
|
@@ -450,6 +451,20 @@ struct BLINK_COMMON_EXPORT WebPreferences {
|
||||||
// WebView and by `kWebPayments` feature flag everywhere.
|
// WebView and by `kWebPayments` feature flag everywhere.
|
||||||
bool payment_request_enabled = false;
|
bool payment_request_enabled = false;
|
||||||
|
|
||||||
|
@ -65,7 +65,7 @@ index 85f312a9ea1eca0ff7ba4c679fabb3156aabbc0b..a9dc007a93003610d68e3118b4a47a86
|
||||||
// chrome, except for the cases where it would require lots of extra work for
|
// chrome, except for the cases where it would require lots of extra work for
|
||||||
// the embedder to use the same default value.
|
// the embedder to use the same default value.
|
||||||
diff --git a/third_party/blink/public/common/web_preferences/web_preferences_mojom_traits.h b/third_party/blink/public/common/web_preferences/web_preferences_mojom_traits.h
|
diff --git a/third_party/blink/public/common/web_preferences/web_preferences_mojom_traits.h b/third_party/blink/public/common/web_preferences/web_preferences_mojom_traits.h
|
||||||
index 1173ace39b6256edc188a4c6649e7cd4c4484899..c1d53122af52f7785a016f6fc62d9aa684a4be8c 100644
|
index 86e4152b85d85ed3c620458567509e0eaa2ad5d8..6f39bf14c42278dc8ada95902868608bd6a6f171 100644
|
||||||
--- a/third_party/blink/public/common/web_preferences/web_preferences_mojom_traits.h
|
--- a/third_party/blink/public/common/web_preferences/web_preferences_mojom_traits.h
|
||||||
+++ b/third_party/blink/public/common/web_preferences/web_preferences_mojom_traits.h
|
+++ b/third_party/blink/public/common/web_preferences/web_preferences_mojom_traits.h
|
||||||
@@ -8,6 +8,7 @@
|
@@ -8,6 +8,7 @@
|
||||||
|
@ -76,7 +76,7 @@ index 1173ace39b6256edc188a4c6649e7cd4c4484899..c1d53122af52f7785a016f6fc62d9aa6
|
||||||
#include "mojo/public/cpp/bindings/struct_traits.h"
|
#include "mojo/public/cpp/bindings/struct_traits.h"
|
||||||
#include "net/nqe/effective_connection_type.h"
|
#include "net/nqe/effective_connection_type.h"
|
||||||
#include "third_party/blink/public/common/common_export.h"
|
#include "third_party/blink/public/common/common_export.h"
|
||||||
@@ -442,6 +443,52 @@ struct BLINK_COMMON_EXPORT StructTraits<blink::mojom::WebPreferencesDataView,
|
@@ -438,6 +439,52 @@ struct BLINK_COMMON_EXPORT StructTraits<blink::mojom::WebPreferencesDataView,
|
||||||
return r.stylus_handwriting_enabled;
|
return r.stylus_handwriting_enabled;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -130,7 +130,7 @@ index 1173ace39b6256edc188a4c6649e7cd4c4484899..c1d53122af52f7785a016f6fc62d9aa6
|
||||||
return r.cookie_enabled;
|
return r.cookie_enabled;
|
||||||
}
|
}
|
||||||
diff --git a/third_party/blink/public/mojom/webpreferences/web_preferences.mojom b/third_party/blink/public/mojom/webpreferences/web_preferences.mojom
|
diff --git a/third_party/blink/public/mojom/webpreferences/web_preferences.mojom b/third_party/blink/public/mojom/webpreferences/web_preferences.mojom
|
||||||
index ffd46eb579c7c6bf9263b02e9bbe0dee013ac76d..be40f76fae9653e8d3fdcfa74979089d3d317533 100644
|
index 41d33c9ecebf615162dc8a9fa1653d32bdaa8d66..6891f25242b83c113a26c2919663a33da8a9b2d7 100644
|
||||||
--- a/third_party/blink/public/mojom/webpreferences/web_preferences.mojom
|
--- a/third_party/blink/public/mojom/webpreferences/web_preferences.mojom
|
||||||
+++ b/third_party/blink/public/mojom/webpreferences/web_preferences.mojom
|
+++ b/third_party/blink/public/mojom/webpreferences/web_preferences.mojom
|
||||||
@@ -8,9 +8,11 @@ import "third_party/blink/public/mojom/css/preferred_color_scheme.mojom";
|
@@ -8,9 +8,11 @@ import "third_party/blink/public/mojom/css/preferred_color_scheme.mojom";
|
||||||
|
@ -145,7 +145,7 @@ index ffd46eb579c7c6bf9263b02e9bbe0dee013ac76d..be40f76fae9653e8d3fdcfa74979089d
|
||||||
enum PointerType {
|
enum PointerType {
|
||||||
kPointerNone = 1, // 1 << 0
|
kPointerNone = 1, // 1 << 0
|
||||||
kPointerFirstType = kPointerNone,
|
kPointerFirstType = kPointerNone,
|
||||||
@@ -219,6 +221,19 @@ struct WebPreferences {
|
@@ -218,6 +220,19 @@ struct WebPreferences {
|
||||||
// If true, stylus handwriting recognition to text input will be available in
|
// If true, stylus handwriting recognition to text input will be available in
|
||||||
// editable input fields which are non-password type.
|
// editable input fields which are non-password type.
|
||||||
bool stylus_handwriting_enabled;
|
bool stylus_handwriting_enabled;
|
||||||
|
|
|
@ -6,7 +6,7 @@ Subject: allow new privileges in unsandboxed child processes
|
||||||
This allows unsandboxed child process to launch setuid processes on Linux.
|
This allows unsandboxed child process to launch setuid processes on Linux.
|
||||||
|
|
||||||
diff --git a/content/browser/child_process_launcher_helper_linux.cc b/content/browser/child_process_launcher_helper_linux.cc
|
diff --git a/content/browser/child_process_launcher_helper_linux.cc b/content/browser/child_process_launcher_helper_linux.cc
|
||||||
index add20a2f81d66e51e1be5a3f3b35ef6b340b4cc3..31a2a14a95540477297943df9b09b1e4659a884d 100644
|
index 75cafbe0dbd7d4b3dca4c8fe56e17cd836123588..8f551374e1ffc729081f7d50e73671313c641bb6 100644
|
||||||
--- a/content/browser/child_process_launcher_helper_linux.cc
|
--- a/content/browser/child_process_launcher_helper_linux.cc
|
||||||
+++ b/content/browser/child_process_launcher_helper_linux.cc
|
+++ b/content/browser/child_process_launcher_helper_linux.cc
|
||||||
@@ -64,6 +64,15 @@ bool ChildProcessLauncherHelper::BeforeLaunchOnLauncherThread(
|
@@ -64,6 +64,15 @@ bool ChildProcessLauncherHelper::BeforeLaunchOnLauncherThread(
|
||||||
|
|
|
@ -15,7 +15,7 @@ Refs changes in:
|
||||||
This patch reverts the changes to fix associated crashes in Electron.
|
This patch reverts the changes to fix associated crashes in Electron.
|
||||||
|
|
||||||
diff --git a/third_party/blink/renderer/core/frame/frame.cc b/third_party/blink/renderer/core/frame/frame.cc
|
diff --git a/third_party/blink/renderer/core/frame/frame.cc b/third_party/blink/renderer/core/frame/frame.cc
|
||||||
index 2072f6b14289b1f3a76dbccc98f29aa178c1c35c..d7017437a7e7e6ac130677e52731d0482bf20664 100644
|
index c9f34fa47702504ccdefb8d61c55f5eaae501085..26df03d777c9ea487cae37f3df91d1df233b75e2 100644
|
||||||
--- a/third_party/blink/renderer/core/frame/frame.cc
|
--- a/third_party/blink/renderer/core/frame/frame.cc
|
||||||
+++ b/third_party/blink/renderer/core/frame/frame.cc
|
+++ b/third_party/blink/renderer/core/frame/frame.cc
|
||||||
@@ -134,14 +134,6 @@ bool Frame::Detach(FrameDetachType type) {
|
@@ -134,14 +134,6 @@ bool Frame::Detach(FrameDetachType type) {
|
||||||
|
@ -33,7 +33,7 @@ index 2072f6b14289b1f3a76dbccc98f29aa178c1c35c..d7017437a7e7e6ac130677e52731d048
|
||||||
if (type == FrameDetachType::kRemove) {
|
if (type == FrameDetachType::kRemove) {
|
||||||
if (provisional_frame_) {
|
if (provisional_frame_) {
|
||||||
provisional_frame_->Detach(FrameDetachType::kRemove);
|
provisional_frame_->Detach(FrameDetachType::kRemove);
|
||||||
@@ -165,6 +157,14 @@ bool Frame::Detach(FrameDetachType type) {
|
@@ -166,6 +158,14 @@ bool Frame::Detach(FrameDetachType type) {
|
||||||
GetWindowProxyManager()->ClearForSwap();
|
GetWindowProxyManager()->ClearForSwap();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -49,7 +49,7 @@ index 2072f6b14289b1f3a76dbccc98f29aa178c1c35c..d7017437a7e7e6ac130677e52731d048
|
||||||
// its owning reference back to our owning LocalFrame.
|
// its owning reference back to our owning LocalFrame.
|
||||||
client_->Detached(type);
|
client_->Detached(type);
|
||||||
diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc
|
diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc
|
||||||
index f075d02c0695ca5fe06152295179b6ec76e3597a..e5d629937aaa175d11731bc1048a1b459927e93a 100644
|
index 9cb436569b94eec3e72ef3d1c018127b65a04314..e567f331968b1b1b9d6b85e31397b6a4f7ea7a84 100644
|
||||||
--- a/third_party/blink/renderer/core/frame/local_frame.cc
|
--- a/third_party/blink/renderer/core/frame/local_frame.cc
|
||||||
+++ b/third_party/blink/renderer/core/frame/local_frame.cc
|
+++ b/third_party/blink/renderer/core/frame/local_frame.cc
|
||||||
@@ -727,10 +727,6 @@ bool LocalFrame::DetachImpl(FrameDetachType type) {
|
@@ -727,10 +727,6 @@ bool LocalFrame::DetachImpl(FrameDetachType type) {
|
||||||
|
|
|
@ -8,7 +8,7 @@ categories in use are known / declared. This patch is required for us
|
||||||
to introduce a new Electron category for Electron-specific tracing.
|
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
|
diff --git a/base/trace_event/builtin_categories.h b/base/trace_event/builtin_categories.h
|
||||||
index e9f891a025771899ffc888ea0095200342e48558..39d6f580c0cb5a0de41f32e9d7e103e05cefd0f0 100644
|
index d4c70f285fa6798798558974d7d79604dd388909..31f396bb437b7089930c05e6b1067bc156155be1 100644
|
||||||
--- a/base/trace_event/builtin_categories.h
|
--- a/base/trace_event/builtin_categories.h
|
||||||
+++ b/base/trace_event/builtin_categories.h
|
+++ b/base/trace_event/builtin_categories.h
|
||||||
@@ -102,6 +102,7 @@ PERFETTO_DEFINE_CATEGORIES_IN_NAMESPACE_WITH_ATTRS(
|
@@ -102,6 +102,7 @@ PERFETTO_DEFINE_CATEGORIES_IN_NAMESPACE_WITH_ATTRS(
|
||||||
|
@ -16,6 +16,6 @@ index e9f891a025771899ffc888ea0095200342e48558..39d6f580c0cb5a0de41f32e9d7e103e0
|
||||||
perfetto::Category("drmcursor"),
|
perfetto::Category("drmcursor"),
|
||||||
perfetto::Category("dwrite"),
|
perfetto::Category("dwrite"),
|
||||||
+ perfetto::Category("electron"),
|
+ perfetto::Category("electron"),
|
||||||
perfetto::Category("evdev"),
|
perfetto::Category("evdev").SetTags("input"),
|
||||||
perfetto::Category("event"),
|
perfetto::Category("event"),
|
||||||
perfetto::Category("exo"),
|
perfetto::Category("exo"),
|
||||||
|
|
|
@ -11,10 +11,10 @@ if we ever align our .pak file generation with Chrome we can remove this
|
||||||
patch.
|
patch.
|
||||||
|
|
||||||
diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn
|
diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn
|
||||||
index 4b3f01018a9dea91b46b5917e099f272582991b2..8250f2e447ff19829cfae3f00b3df70b47749874 100644
|
index 84fab7fcdb1a7ded880c0ff4867e09c740e7a5d2..f03f0e67c083880dc13f8f90d9375ff62717ba00 100644
|
||||||
--- a/chrome/BUILD.gn
|
--- a/chrome/BUILD.gn
|
||||||
+++ b/chrome/BUILD.gn
|
+++ b/chrome/BUILD.gn
|
||||||
@@ -200,11 +200,16 @@ if (!is_android && !is_mac) {
|
@@ -197,11 +197,16 @@ if (!is_android && !is_mac) {
|
||||||
"common/crash_keys.h",
|
"common/crash_keys.h",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -33,10 +33,10 @@ index 4b3f01018a9dea91b46b5917e099f272582991b2..8250f2e447ff19829cfae3f00b3df70b
|
||||||
"//base",
|
"//base",
|
||||||
"//build:branding_buildflags",
|
"//build:branding_buildflags",
|
||||||
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||||
index 73f7fc927f1c14c038e0ca91066dbb4e9bd8be62..d7d46198d11b7454d07188641f46617c924d63b1 100644
|
index e44a7794f3a1f019835fb4ecbf5b62e1bd17c53d..1c6bda2d5e4f4a5282792260efbf2fa49a37823e 100644
|
||||||
--- a/chrome/browser/BUILD.gn
|
--- a/chrome/browser/BUILD.gn
|
||||||
+++ b/chrome/browser/BUILD.gn
|
+++ b/chrome/browser/BUILD.gn
|
||||||
@@ -4633,7 +4633,7 @@ static_library("browser") {
|
@@ -4650,7 +4650,7 @@ static_library("browser") {
|
||||||
[ "//chrome/browser/ui/webui/signin:profile_impl" ]
|
[ "//chrome/browser/ui/webui/signin:profile_impl" ]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -46,10 +46,10 @@ index 73f7fc927f1c14c038e0ca91066dbb4e9bd8be62..d7d46198d11b7454d07188641f46617c
|
||||||
# than here in :chrome_dll.
|
# than here in :chrome_dll.
|
||||||
deps += [ "//chrome:packed_resources_integrity_header" ]
|
deps += [ "//chrome:packed_resources_integrity_header" ]
|
||||||
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
|
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
|
||||||
index 4866689b354bc9d963638edabf1eb02d16ba984c..c5b383f2c78592a57f0d138538733937b8e76ecd 100644
|
index e62e29e8a16572f8fcaf0efe977163b17bb5bf27..5444ca916f559050a47f5caa90a8fb7b8f6f185f 100644
|
||||||
--- a/chrome/test/BUILD.gn
|
--- a/chrome/test/BUILD.gn
|
||||||
+++ b/chrome/test/BUILD.gn
|
+++ b/chrome/test/BUILD.gn
|
||||||
@@ -7210,9 +7210,12 @@ test("unit_tests") {
|
@@ -7196,9 +7196,12 @@ test("unit_tests") {
|
||||||
"//chrome/notification_helper",
|
"//chrome/notification_helper",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -63,7 +63,7 @@ index 4866689b354bc9d963638edabf1eb02d16ba984c..c5b383f2c78592a57f0d138538733937
|
||||||
"//chrome//services/util_win:unit_tests",
|
"//chrome//services/util_win:unit_tests",
|
||||||
"//chrome/app:chrome_dll_resources",
|
"//chrome/app:chrome_dll_resources",
|
||||||
"//chrome/app:win_unit_tests",
|
"//chrome/app:win_unit_tests",
|
||||||
@@ -8170,6 +8173,10 @@ test("unit_tests") {
|
@@ -8168,6 +8171,10 @@ test("unit_tests") {
|
||||||
"../browser/performance_manager/policies/background_tab_loading_policy_unittest.cc",
|
"../browser/performance_manager/policies/background_tab_loading_policy_unittest.cc",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -74,7 +74,7 @@ index 4866689b354bc9d963638edabf1eb02d16ba984c..c5b383f2c78592a57f0d138538733937
|
||||||
sources += [
|
sources += [
|
||||||
# The importer code is not used on Android.
|
# The importer code is not used on Android.
|
||||||
"../common/importer/firefox_importer_utils_unittest.cc",
|
"../common/importer/firefox_importer_utils_unittest.cc",
|
||||||
@@ -8225,7 +8232,6 @@ test("unit_tests") {
|
@@ -8223,7 +8230,6 @@ test("unit_tests") {
|
||||||
# Non-android deps for "unit_tests" target.
|
# Non-android deps for "unit_tests" target.
|
||||||
deps += [
|
deps += [
|
||||||
"../browser/screen_ai:screen_ai_install_state",
|
"../browser/screen_ai:screen_ai_install_state",
|
||||||
|
|
|
@ -7,23 +7,10 @@ Build libc++ as static library to compile and pass
|
||||||
nan tests
|
nan tests
|
||||||
|
|
||||||
diff --git a/buildtools/third_party/libc++/BUILD.gn b/buildtools/third_party/libc++/BUILD.gn
|
diff --git a/buildtools/third_party/libc++/BUILD.gn b/buildtools/third_party/libc++/BUILD.gn
|
||||||
index f411f2d51a397db52ba28eb7ed430f6f16c5396d..219e99e56cbf35aac8e18cff96601143f9f44ebf 100644
|
index 2b4c153a67fda5effaac8d2932a985d87539fe69..c0c310ecbf74b8c1649bcd23ebe1c142c088fc9f 100644
|
||||||
--- a/buildtools/third_party/libc++/BUILD.gn
|
--- a/buildtools/third_party/libc++/BUILD.gn
|
||||||
+++ b/buildtools/third_party/libc++/BUILD.gn
|
+++ b/buildtools/third_party/libc++/BUILD.gn
|
||||||
@@ -295,7 +295,11 @@ libcxx_modules("std_wctype_h") {
|
@@ -298,6 +298,7 @@ target(libcxx_target_type, "libc++") {
|
||||||
if (libcxx_is_shared) {
|
|
||||||
_libcxx_target_type = "shared_library"
|
|
||||||
} else {
|
|
||||||
- _libcxx_target_type = "source_set"
|
|
||||||
+ if (is_win) {
|
|
||||||
+ _libcxx_target_type = "source_set"
|
|
||||||
+ } else {
|
|
||||||
+ _libcxx_target_type = "static_library"
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
|
|
||||||
target(_libcxx_target_type, "libc++") {
|
|
||||||
@@ -304,6 +308,7 @@ target(_libcxx_target_type, "libc++") {
|
|
||||||
# need to explicitly depend on libc++.
|
# need to explicitly depend on libc++.
|
||||||
visibility = [
|
visibility = [
|
||||||
"//build/config:common_deps",
|
"//build/config:common_deps",
|
||||||
|
@ -31,16 +18,3 @@ index f411f2d51a397db52ba28eb7ed430f6f16c5396d..219e99e56cbf35aac8e18cff96601143
|
||||||
"//third_party/catapult/devil:devil",
|
"//third_party/catapult/devil:devil",
|
||||||
]
|
]
|
||||||
if (is_linux) {
|
if (is_linux) {
|
||||||
diff --git a/buildtools/third_party/libc++abi/BUILD.gn b/buildtools/third_party/libc++abi/BUILD.gn
|
|
||||||
index 331ea447ea15e9f439396d4c7d41832de60adf4a..b96a994c43ac2ed0b0d5ec599f907ea0b501156e 100644
|
|
||||||
--- a/buildtools/third_party/libc++abi/BUILD.gn
|
|
||||||
+++ b/buildtools/third_party/libc++abi/BUILD.gn
|
|
||||||
@@ -6,7 +6,7 @@ import("//build/config/android/config.gni")
|
|
||||||
import("//build/config/c++/c++.gni")
|
|
||||||
import("//build/config/unwind.gni")
|
|
||||||
|
|
||||||
-source_set("libc++abi") {
|
|
||||||
+static_library("libc++abi") {
|
|
||||||
if (export_libcxxabi_from_executables) {
|
|
||||||
visibility = [ "//build/config:executable_deps" ]
|
|
||||||
} else {
|
|
||||||
|
|
|
@ -9,10 +9,10 @@ potentially prevent a window from being created.
|
||||||
TODO(loc): this patch is currently broken.
|
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
|
diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc
|
||||||
index ddfefbacebd5d89e112a15f29328c9674f7df3ae..ef8a80d2148c0ec0d8a3493ae58a4e723a9601e1 100644
|
index c66512a270828be3b436c1e880917f0638771cfd..f4231fa2549083e8132affa6e424ac18f28b4f41 100644
|
||||||
--- a/content/browser/renderer_host/render_frame_host_impl.cc
|
--- a/content/browser/renderer_host/render_frame_host_impl.cc
|
||||||
+++ b/content/browser/renderer_host/render_frame_host_impl.cc
|
+++ b/content/browser/renderer_host/render_frame_host_impl.cc
|
||||||
@@ -9776,6 +9776,7 @@ void RenderFrameHostImpl::CreateNewWindow(
|
@@ -9703,6 +9703,7 @@ void RenderFrameHostImpl::CreateNewWindow(
|
||||||
last_committed_origin_, params->window_container_type,
|
last_committed_origin_, params->window_container_type,
|
||||||
params->target_url, params->referrer.To<Referrer>(),
|
params->target_url, params->referrer.To<Referrer>(),
|
||||||
params->frame_name, params->disposition, *params->features,
|
params->frame_name, params->disposition, *params->features,
|
||||||
|
@ -21,12 +21,12 @@ index ddfefbacebd5d89e112a15f29328c9674f7df3ae..ef8a80d2148c0ec0d8a3493ae58a4e72
|
||||||
&no_javascript_access);
|
&no_javascript_access);
|
||||||
|
|
||||||
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
|
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
|
||||||
index cb039c0ac747feefd5e8a13ed03715508ae874d0..b6fc96993cdea489450978495ca4c1f3c58166af 100644
|
index c7e153a0ff9de1b1d5ed760099121db6d531589e..e42e462f3c8109444e6dadb0557e38cdd05c362a 100644
|
||||||
--- a/content/browser/web_contents/web_contents_impl.cc
|
--- a/content/browser/web_contents/web_contents_impl.cc
|
||||||
+++ b/content/browser/web_contents/web_contents_impl.cc
|
+++ b/content/browser/web_contents/web_contents_impl.cc
|
||||||
@@ -5139,6 +5139,12 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
@@ -5162,6 +5162,12 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||||
SetPartitionedPopinOpenerOnNewWindowIfNeeded(new_contents_impl, params,
|
// Sets the newly created WebContents WindowOpenDisposition.
|
||||||
opener);
|
new_contents_impl->original_window_open_disposition_ = params.disposition;
|
||||||
|
|
||||||
+ if (delegate_) {
|
+ if (delegate_) {
|
||||||
+ delegate_->WebContentsCreatedWithFullParams(this, render_process_id,
|
+ delegate_->WebContentsCreatedWithFullParams(this, render_process_id,
|
||||||
|
@ -37,7 +37,7 @@ index cb039c0ac747feefd5e8a13ed03715508ae874d0..b6fc96993cdea489450978495ca4c1f3
|
||||||
// If the new frame has a name, make sure any SiteInstances that can find
|
// If the new frame has a name, make sure any SiteInstances that can find
|
||||||
// this named frame have proxies for it. Must be called after
|
// this named frame have proxies for it. Must be called after
|
||||||
// SetSessionStorageNamespace, since this calls CreateRenderView, which uses
|
// SetSessionStorageNamespace, since this calls CreateRenderView, which uses
|
||||||
@@ -5180,12 +5186,6 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
@@ -5203,12 +5209,6 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||||
AddWebContentsDestructionObserver(new_contents_impl);
|
AddWebContentsDestructionObserver(new_contents_impl);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -51,10 +51,10 @@ index cb039c0ac747feefd5e8a13ed03715508ae874d0..b6fc96993cdea489450978495ca4c1f3
|
||||||
new_contents_impl, opener, params.target_url,
|
new_contents_impl, opener, params.target_url,
|
||||||
params.referrer.To<Referrer>(), params.disposition,
|
params.referrer.To<Referrer>(), params.disposition,
|
||||||
diff --git a/content/common/frame.mojom b/content/common/frame.mojom
|
diff --git a/content/common/frame.mojom b/content/common/frame.mojom
|
||||||
index d1e8581724adeca8b6776ded7e7c7e921f68905c..6c4abeaf847328f73b4e53a552a038b29421d9aa 100644
|
index 09f1899c9b044a05b2e40c291f17fdf1f9f2fcac..89643bf7059d4fc0d6de6116ffe0fdac883b3fc9 100644
|
||||||
--- a/content/common/frame.mojom
|
--- a/content/common/frame.mojom
|
||||||
+++ b/content/common/frame.mojom
|
+++ b/content/common/frame.mojom
|
||||||
@@ -645,6 +645,10 @@ struct CreateNewWindowParams {
|
@@ -653,6 +653,10 @@ struct CreateNewWindowParams {
|
||||||
pending_associated_remote<blink.mojom.Widget> widget;
|
pending_associated_remote<blink.mojom.Widget> widget;
|
||||||
pending_associated_receiver<blink.mojom.FrameWidgetHost> frame_widget_host;
|
pending_associated_receiver<blink.mojom.FrameWidgetHost> frame_widget_host;
|
||||||
pending_associated_remote<blink.mojom.FrameWidget> frame_widget;
|
pending_associated_remote<blink.mojom.FrameWidget> frame_widget;
|
||||||
|
@ -66,7 +66,7 @@ index d1e8581724adeca8b6776ded7e7c7e921f68905c..6c4abeaf847328f73b4e53a552a038b2
|
||||||
|
|
||||||
// Operation result when the renderer asks the browser to create a new window.
|
// Operation result when the renderer asks the browser to create a new window.
|
||||||
diff --git a/content/public/browser/content_browser_client.cc b/content/public/browser/content_browser_client.cc
|
diff --git a/content/public/browser/content_browser_client.cc b/content/public/browser/content_browser_client.cc
|
||||||
index 1f5468c6f81db64929fbfc6715a586c69a29afc9..4c37155c240c3ef2c54523cfe12e0c0054a6e603 100644
|
index 4aa669a0f869359e8d8304cab6cca0a89e1e3ff3..e8701e20e5d339edc1d9089d2b236f2cf8fe6c34 100644
|
||||||
--- a/content/public/browser/content_browser_client.cc
|
--- a/content/public/browser/content_browser_client.cc
|
||||||
+++ b/content/public/browser/content_browser_client.cc
|
+++ b/content/public/browser/content_browser_client.cc
|
||||||
@@ -828,6 +828,8 @@ bool ContentBrowserClient::CanCreateWindow(
|
@@ -828,6 +828,8 @@ bool ContentBrowserClient::CanCreateWindow(
|
||||||
|
@ -79,10 +79,10 @@ index 1f5468c6f81db64929fbfc6715a586c69a29afc9..4c37155c240c3ef2c54523cfe12e0c00
|
||||||
bool opener_suppressed,
|
bool opener_suppressed,
|
||||||
bool* no_javascript_access) {
|
bool* no_javascript_access) {
|
||||||
diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h
|
diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h
|
||||||
index a0f6c7e63a32d4cfc8a8e25cdbd90f23dbce8f24..4a995e6c35abba567bb8be826effb06ba7e2119a 100644
|
index 3e363b85b57478ca7228379ed089746a6eb52f2d..17b11b2a4e70f419721649568179c31228612c73 100644
|
||||||
--- a/content/public/browser/content_browser_client.h
|
--- a/content/public/browser/content_browser_client.h
|
||||||
+++ b/content/public/browser/content_browser_client.h
|
+++ b/content/public/browser/content_browser_client.h
|
||||||
@@ -199,6 +199,7 @@ class NetworkService;
|
@@ -200,6 +200,7 @@ class NetworkService;
|
||||||
class TrustedURLLoaderHeaderClient;
|
class TrustedURLLoaderHeaderClient;
|
||||||
} // namespace mojom
|
} // namespace mojom
|
||||||
struct ResourceRequest;
|
struct ResourceRequest;
|
||||||
|
@ -90,7 +90,7 @@ index a0f6c7e63a32d4cfc8a8e25cdbd90f23dbce8f24..4a995e6c35abba567bb8be826effb06b
|
||||||
} // namespace network
|
} // namespace network
|
||||||
|
|
||||||
namespace sandbox {
|
namespace sandbox {
|
||||||
@@ -1385,6 +1386,8 @@ class CONTENT_EXPORT ContentBrowserClient {
|
@@ -1386,6 +1387,8 @@ class CONTENT_EXPORT ContentBrowserClient {
|
||||||
const std::string& frame_name,
|
const std::string& frame_name,
|
||||||
WindowOpenDisposition disposition,
|
WindowOpenDisposition disposition,
|
||||||
const blink::mojom::WindowFeatures& features,
|
const blink::mojom::WindowFeatures& features,
|
||||||
|
@ -100,7 +100,7 @@ index a0f6c7e63a32d4cfc8a8e25cdbd90f23dbce8f24..4a995e6c35abba567bb8be826effb06b
|
||||||
bool opener_suppressed,
|
bool opener_suppressed,
|
||||||
bool* no_javascript_access);
|
bool* no_javascript_access);
|
||||||
diff --git a/content/public/browser/web_contents_delegate.cc b/content/public/browser/web_contents_delegate.cc
|
diff --git a/content/public/browser/web_contents_delegate.cc b/content/public/browser/web_contents_delegate.cc
|
||||||
index b390356721fa226c348923f33601c4a1a2d9702d..97a3ea6f292563a41fd41f812ac72526a96d8471 100644
|
index aabcebe8e49f42e3c0680d8d20f64ed6a48a7266..8c1d83692daccfbdda90f292b5a3fb9a8f1b118f 100644
|
||||||
--- a/content/public/browser/web_contents_delegate.cc
|
--- a/content/public/browser/web_contents_delegate.cc
|
||||||
+++ b/content/public/browser/web_contents_delegate.cc
|
+++ b/content/public/browser/web_contents_delegate.cc
|
||||||
@@ -32,6 +32,17 @@ namespace content {
|
@@ -32,6 +32,17 @@ namespace content {
|
||||||
|
@ -122,7 +122,7 @@ index b390356721fa226c348923f33601c4a1a2d9702d..97a3ea6f292563a41fd41f812ac72526
|
||||||
WebContents* source,
|
WebContents* source,
|
||||||
const OpenURLParams& params,
|
const OpenURLParams& params,
|
||||||
diff --git a/content/public/browser/web_contents_delegate.h b/content/public/browser/web_contents_delegate.h
|
diff --git a/content/public/browser/web_contents_delegate.h b/content/public/browser/web_contents_delegate.h
|
||||||
index da319cb20733150366d85bee95609f0f2d9def7f..8a18958035cc1dd26be558349f64f7727570c4ba 100644
|
index a9be46fcd13f397c34a2cf3e7444efad81a5e19b..c4cee108b0caac7d6a2a9115586882dd32bab714 100644
|
||||||
--- a/content/public/browser/web_contents_delegate.h
|
--- a/content/public/browser/web_contents_delegate.h
|
||||||
+++ b/content/public/browser/web_contents_delegate.h
|
+++ b/content/public/browser/web_contents_delegate.h
|
||||||
@@ -18,6 +18,7 @@
|
@@ -18,6 +18,7 @@
|
||||||
|
@ -133,7 +133,7 @@ index da319cb20733150366d85bee95609f0f2d9def7f..8a18958035cc1dd26be558349f64f772
|
||||||
#include "content/public/browser/eye_dropper.h"
|
#include "content/public/browser/eye_dropper.h"
|
||||||
#include "content/public/browser/fullscreen_types.h"
|
#include "content/public/browser/fullscreen_types.h"
|
||||||
#include "content/public/browser/invalidate_type.h"
|
#include "content/public/browser/invalidate_type.h"
|
||||||
@@ -376,6 +377,13 @@ class CONTENT_EXPORT WebContentsDelegate {
|
@@ -380,6 +381,13 @@ class CONTENT_EXPORT WebContentsDelegate {
|
||||||
const StoragePartitionConfig& partition_config,
|
const StoragePartitionConfig& partition_config,
|
||||||
SessionStorageNamespace* session_storage_namespace);
|
SessionStorageNamespace* session_storage_namespace);
|
||||||
|
|
||||||
|
@ -148,10 +148,10 @@ index da319cb20733150366d85bee95609f0f2d9def7f..8a18958035cc1dd26be558349f64f772
|
||||||
// typically happens when popups are created.
|
// typically happens when popups are created.
|
||||||
virtual void WebContentsCreated(WebContents* source_contents,
|
virtual void WebContentsCreated(WebContents* source_contents,
|
||||||
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
|
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
|
||||||
index 4d40964aa6bb93759dd73f63e48a36c66b50a61d..6c569b4a0f4ddea5d071753bb4a72002ba174171 100644
|
index b6da726a70555c2074077a2105b078e1850824d9..3fa43adedd6ff0258edd195bde1e68977cff3a7c 100644
|
||||||
--- a/content/renderer/render_frame_impl.cc
|
--- a/content/renderer/render_frame_impl.cc
|
||||||
+++ b/content/renderer/render_frame_impl.cc
|
+++ b/content/renderer/render_frame_impl.cc
|
||||||
@@ -6938,6 +6938,10 @@ WebView* RenderFrameImpl::CreateNewWindow(
|
@@ -6937,6 +6937,10 @@ WebView* RenderFrameImpl::CreateNewWindow(
|
||||||
request.HasUserGesture(), GetWebFrame()->IsAdFrame(),
|
request.HasUserGesture(), GetWebFrame()->IsAdFrame(),
|
||||||
GetWebFrame()->IsAdScriptInStack());
|
GetWebFrame()->IsAdScriptInStack());
|
||||||
|
|
||||||
|
@ -163,10 +163,10 @@ index 4d40964aa6bb93759dd73f63e48a36c66b50a61d..6c569b4a0f4ddea5d071753bb4a72002
|
||||||
// moved on send.
|
// moved on send.
|
||||||
bool is_background_tab =
|
bool is_background_tab =
|
||||||
diff --git a/content/web_test/browser/web_test_content_browser_client.cc b/content/web_test/browser/web_test_content_browser_client.cc
|
diff --git a/content/web_test/browser/web_test_content_browser_client.cc b/content/web_test/browser/web_test_content_browser_client.cc
|
||||||
index e5f7596c1b3e525e1d64efbd6b7e0703b980dac9..0b4523200651c1edfd7678b177a24b7e64de6ddf 100644
|
index 7f265db63f3fa34ab568e30e356db3cb259e7067..b55188e4b75913a531c2def09343b9ed3d589940 100644
|
||||||
--- a/content/web_test/browser/web_test_content_browser_client.cc
|
--- a/content/web_test/browser/web_test_content_browser_client.cc
|
||||||
+++ b/content/web_test/browser/web_test_content_browser_client.cc
|
+++ b/content/web_test/browser/web_test_content_browser_client.cc
|
||||||
@@ -538,6 +538,8 @@ bool WebTestContentBrowserClient::CanCreateWindow(
|
@@ -531,6 +531,8 @@ bool WebTestContentBrowserClient::CanCreateWindow(
|
||||||
const std::string& frame_name,
|
const std::string& frame_name,
|
||||||
WindowOpenDisposition disposition,
|
WindowOpenDisposition disposition,
|
||||||
const blink::mojom::WindowFeatures& features,
|
const blink::mojom::WindowFeatures& features,
|
||||||
|
@ -176,10 +176,10 @@ index e5f7596c1b3e525e1d64efbd6b7e0703b980dac9..0b4523200651c1edfd7678b177a24b7e
|
||||||
bool opener_suppressed,
|
bool opener_suppressed,
|
||||||
bool* no_javascript_access) {
|
bool* no_javascript_access) {
|
||||||
diff --git a/content/web_test/browser/web_test_content_browser_client.h b/content/web_test/browser/web_test_content_browser_client.h
|
diff --git a/content/web_test/browser/web_test_content_browser_client.h b/content/web_test/browser/web_test_content_browser_client.h
|
||||||
index e4eaba65b25262ce5ed27d78da13a260ec57f6db..ddd3be9aa7aac43140a1e664eefce7ac195ba119 100644
|
index b50d5628cfe6dc3009d889b6a8c4a0925d19592b..43d67de5ef7552bec5ced1496318724c01a806ce 100644
|
||||||
--- a/content/web_test/browser/web_test_content_browser_client.h
|
--- a/content/web_test/browser/web_test_content_browser_client.h
|
||||||
+++ b/content/web_test/browser/web_test_content_browser_client.h
|
+++ b/content/web_test/browser/web_test_content_browser_client.h
|
||||||
@@ -95,6 +95,8 @@ class WebTestContentBrowserClient : public ShellContentBrowserClient {
|
@@ -94,6 +94,8 @@ class WebTestContentBrowserClient : public ShellContentBrowserClient {
|
||||||
const std::string& frame_name,
|
const std::string& frame_name,
|
||||||
WindowOpenDisposition disposition,
|
WindowOpenDisposition disposition,
|
||||||
const blink::mojom::WindowFeatures& features,
|
const blink::mojom::WindowFeatures& features,
|
||||||
|
@ -210,7 +210,7 @@ index 82e9d3dfb5f7da76d89fe15ae61d379fa46e177d..fd035512099a54dff6cc951a2226c23a
|
||||||
|
|
||||||
} // namespace blink
|
} // 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
|
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 de39a688207f81143c59ad54385642389b0fcc4e..93c5b79727674ff1c5344d39fd7bcd07c3101424 100644
|
index 6de4ad918b8c1d2a3dfb977ed80ea232dbbee9c1..f983903112efd76c8bd73656a0de5e54026e6d1b 100644
|
||||||
--- a/third_party/blink/renderer/core/frame/local_dom_window.cc
|
--- a/third_party/blink/renderer/core/frame/local_dom_window.cc
|
||||||
+++ b/third_party/blink/renderer/core/frame/local_dom_window.cc
|
+++ b/third_party/blink/renderer/core/frame/local_dom_window.cc
|
||||||
@@ -2280,6 +2280,8 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate,
|
@@ -2280,6 +2280,8 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate,
|
||||||
|
|
|
@ -61,10 +61,10 @@ index dab595aacaeca4f6f735fd04004c27a4949278d2..177134d439866db9dbbde657ff358a76
|
||||||
Widget* GetWidget();
|
Widget* GetWidget();
|
||||||
const Widget* GetWidget() const;
|
const Widget* GetWidget() const;
|
||||||
diff --git a/ui/views/win/hwnd_message_handler.cc b/ui/views/win/hwnd_message_handler.cc
|
diff --git a/ui/views/win/hwnd_message_handler.cc b/ui/views/win/hwnd_message_handler.cc
|
||||||
index 5919efa661c3b1ed210f7a67f85fdd3882011bae..5b17d5bf0b32405ae9515b941a17b68a04a3b317 100644
|
index 9747e945b2ebfc113ffd12839c28a98fcccf2872..6f2e2702d3b982fe7e8d258f303c8055d3d37df8 100644
|
||||||
--- a/ui/views/win/hwnd_message_handler.cc
|
--- a/ui/views/win/hwnd_message_handler.cc
|
||||||
+++ b/ui/views/win/hwnd_message_handler.cc
|
+++ b/ui/views/win/hwnd_message_handler.cc
|
||||||
@@ -3178,15 +3178,19 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message,
|
@@ -3167,15 +3167,19 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message,
|
||||||
}
|
}
|
||||||
// We must let Windows handle the caption buttons if it's drawing them, or
|
// We must let Windows handle the caption buttons if it's drawing them, or
|
||||||
// they won't work.
|
// they won't work.
|
||||||
|
@ -86,7 +86,7 @@ index 5919efa661c3b1ed210f7a67f85fdd3882011bae..5b17d5bf0b32405ae9515b941a17b68a
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3209,6 +3213,7 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message,
|
@@ -3198,6 +3202,7 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message,
|
||||||
// handle alt-space, or in the frame itself.
|
// handle alt-space, or in the frame itself.
|
||||||
is_right_mouse_pressed_on_caption_ = false;
|
is_right_mouse_pressed_on_caption_ = false;
|
||||||
ReleaseCapture();
|
ReleaseCapture();
|
||||||
|
@ -94,7 +94,7 @@ index 5919efa661c3b1ed210f7a67f85fdd3882011bae..5b17d5bf0b32405ae9515b941a17b68a
|
||||||
// |point| is in window coordinates, but WM_NCHITTEST and TrackPopupMenu()
|
// |point| is in window coordinates, but WM_NCHITTEST and TrackPopupMenu()
|
||||||
// expect screen coordinates.
|
// expect screen coordinates.
|
||||||
POINT screen_point = CR_POINT_INITIALIZER_FROM_LPARAM(l_param);
|
POINT screen_point = CR_POINT_INITIALIZER_FROM_LPARAM(l_param);
|
||||||
@@ -3216,7 +3221,17 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message,
|
@@ -3205,7 +3210,17 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message,
|
||||||
w_param = static_cast<WPARAM>(SendMessage(
|
w_param = static_cast<WPARAM>(SendMessage(
|
||||||
hwnd(), WM_NCHITTEST, 0, MAKELPARAM(screen_point.x, screen_point.y)));
|
hwnd(), WM_NCHITTEST, 0, MAKELPARAM(screen_point.x, screen_point.y)));
|
||||||
if (w_param == HTCAPTION || w_param == HTSYSMENU) {
|
if (w_param == HTCAPTION || w_param == HTSYSMENU) {
|
||||||
|
|
|
@ -14,10 +14,10 @@ track down the source of this problem & figure out if we can fix it
|
||||||
by changing something in Electron.
|
by changing something in Electron.
|
||||||
|
|
||||||
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
|
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
|
||||||
index e3085847de7875afa655b3cfa4aa39892be626eb..46fc6d6683c50fb8a340680de2eda340f5be4cca 100644
|
index 70b3c4a2da0e1d79a7626e0bb2ed45b8fbbe0024..d0f42ceedfac643443e3c7c5757b831f481a72eb 100644
|
||||||
--- a/content/browser/web_contents/web_contents_impl.cc
|
--- a/content/browser/web_contents/web_contents_impl.cc
|
||||||
+++ b/content/browser/web_contents/web_contents_impl.cc
|
+++ b/content/browser/web_contents/web_contents_impl.cc
|
||||||
@@ -5058,7 +5058,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
@@ -5078,7 +5078,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||||
: IsGuest();
|
: IsGuest();
|
||||||
// While some guest types do not have a guest SiteInstance, the ones that
|
// While some guest types do not have a guest SiteInstance, the ones that
|
||||||
// don't all override WebContents creation above.
|
// don't all override WebContents creation above.
|
||||||
|
|
|
@ -7,10 +7,10 @@ Pending upstream patch, this gives us fuller access to the window.open params
|
||||||
so that we will be able to decide whether to cancel it or not.
|
so that we will be able to decide whether to cancel it or not.
|
||||||
|
|
||||||
diff --git a/chrome/browser/media/offscreen_tab.cc b/chrome/browser/media/offscreen_tab.cc
|
diff --git a/chrome/browser/media/offscreen_tab.cc b/chrome/browser/media/offscreen_tab.cc
|
||||||
index bfcdf050e603b953d15a0898200c8f031a1f84c6..b1f163b6da4d2197d404a5a0fbd31a5b346d3d69 100644
|
index 7a9effeec99682ef063ebe71f209e6ed9fc4cad4..71ef44be47a8665ee36449a38333ddf9cff33ad4 100644
|
||||||
--- a/chrome/browser/media/offscreen_tab.cc
|
--- a/chrome/browser/media/offscreen_tab.cc
|
||||||
+++ b/chrome/browser/media/offscreen_tab.cc
|
+++ b/chrome/browser/media/offscreen_tab.cc
|
||||||
@@ -286,8 +286,7 @@ bool OffscreenTab::IsWebContentsCreationOverridden(
|
@@ -287,8 +287,7 @@ bool OffscreenTab::IsWebContentsCreationOverridden(
|
||||||
content::SiteInstance* source_site_instance,
|
content::SiteInstance* source_site_instance,
|
||||||
content::mojom::WindowContainerType window_container_type,
|
content::mojom::WindowContainerType window_container_type,
|
||||||
const GURL& opener_url,
|
const GURL& opener_url,
|
||||||
|
@ -21,10 +21,10 @@ index bfcdf050e603b953d15a0898200c8f031a1f84c6..b1f163b6da4d2197d404a5a0fbd31a5b
|
||||||
// uses this to spawn new windows/tabs, which is also not allowed for
|
// uses this to spawn new windows/tabs, which is also not allowed for
|
||||||
// offscreen tabs.
|
// offscreen tabs.
|
||||||
diff --git a/chrome/browser/media/offscreen_tab.h b/chrome/browser/media/offscreen_tab.h
|
diff --git a/chrome/browser/media/offscreen_tab.h b/chrome/browser/media/offscreen_tab.h
|
||||||
index 2fa0d6e1be27cc429e4a0237b5bfafa7aaa06c56..3decb327b10e3cd3edc1765491a7eb6056be7a51 100644
|
index 231e3595f218aeebe28d0b13ce6182e7a4d6f4e1..609bd205d1cd0404cab3471765bef8b0e053d061 100644
|
||||||
--- a/chrome/browser/media/offscreen_tab.h
|
--- a/chrome/browser/media/offscreen_tab.h
|
||||||
+++ b/chrome/browser/media/offscreen_tab.h
|
+++ b/chrome/browser/media/offscreen_tab.h
|
||||||
@@ -107,8 +107,7 @@ class OffscreenTab final : public ProfileObserver,
|
@@ -108,8 +108,7 @@ class OffscreenTab final : public ProfileObserver,
|
||||||
content::SiteInstance* source_site_instance,
|
content::SiteInstance* source_site_instance,
|
||||||
content::mojom::WindowContainerType window_container_type,
|
content::mojom::WindowContainerType window_container_type,
|
||||||
const GURL& opener_url,
|
const GURL& opener_url,
|
||||||
|
@ -35,10 +35,10 @@ index 2fa0d6e1be27cc429e4a0237b5bfafa7aaa06c56..3decb327b10e3cd3edc1765491a7eb60
|
||||||
content::RenderFrameHost* requesting_frame,
|
content::RenderFrameHost* requesting_frame,
|
||||||
const blink::mojom::FullscreenOptions& options) final;
|
const blink::mojom::FullscreenOptions& options) final;
|
||||||
diff --git a/chrome/browser/ui/ash/keyboard/chrome_keyboard_web_contents.cc b/chrome/browser/ui/ash/keyboard/chrome_keyboard_web_contents.cc
|
diff --git a/chrome/browser/ui/ash/keyboard/chrome_keyboard_web_contents.cc b/chrome/browser/ui/ash/keyboard/chrome_keyboard_web_contents.cc
|
||||||
index a0c24e09a5dffa8be119309738abe57e82ef76b3..3e362f622b72d7cb97a838e71014b035c47728c0 100644
|
index a17c406b59530a8f57f6cb48905a697dd208a41f..0e22e90c1d570eb4c86ac1f24c5a6e9159be8ea1 100644
|
||||||
--- a/chrome/browser/ui/ash/keyboard/chrome_keyboard_web_contents.cc
|
--- a/chrome/browser/ui/ash/keyboard/chrome_keyboard_web_contents.cc
|
||||||
+++ b/chrome/browser/ui/ash/keyboard/chrome_keyboard_web_contents.cc
|
+++ b/chrome/browser/ui/ash/keyboard/chrome_keyboard_web_contents.cc
|
||||||
@@ -79,8 +79,7 @@ class ChromeKeyboardContentsDelegate : public content::WebContentsDelegate,
|
@@ -80,8 +80,7 @@ class ChromeKeyboardContentsDelegate : public content::WebContentsDelegate,
|
||||||
content::SiteInstance* source_site_instance,
|
content::SiteInstance* source_site_instance,
|
||||||
content::mojom::WindowContainerType window_container_type,
|
content::mojom::WindowContainerType window_container_type,
|
||||||
const GURL& opener_url,
|
const GURL& opener_url,
|
||||||
|
@ -49,10 +49,10 @@ index a0c24e09a5dffa8be119309738abe57e82ef76b3..3e362f622b72d7cb97a838e71014b035
|
||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/chrome/browser/ui/ash/web_view/ash_web_view_impl.cc b/chrome/browser/ui/ash/web_view/ash_web_view_impl.cc
|
diff --git a/chrome/browser/ui/ash/web_view/ash_web_view_impl.cc b/chrome/browser/ui/ash/web_view/ash_web_view_impl.cc
|
||||||
index 44be6359d6a7acf88072569d8d4f85c688f5ed81..ee377313b25e13c011b1ed4aa31ea059f020a5b7 100644
|
index 08c84ca91f7e477e4e8d6370513d90d2fb9801f1..41e04444274f40fdedbf8d97bfd149f2ac682e53 100644
|
||||||
--- a/chrome/browser/ui/ash/web_view/ash_web_view_impl.cc
|
--- a/chrome/browser/ui/ash/web_view/ash_web_view_impl.cc
|
||||||
+++ b/chrome/browser/ui/ash/web_view/ash_web_view_impl.cc
|
+++ b/chrome/browser/ui/ash/web_view/ash_web_view_impl.cc
|
||||||
@@ -120,10 +120,9 @@ bool AshWebViewImpl::IsWebContentsCreationOverridden(
|
@@ -121,10 +121,9 @@ bool AshWebViewImpl::IsWebContentsCreationOverridden(
|
||||||
content::SiteInstance* source_site_instance,
|
content::SiteInstance* source_site_instance,
|
||||||
content::mojom::WindowContainerType window_container_type,
|
content::mojom::WindowContainerType window_container_type,
|
||||||
const GURL& opener_url,
|
const GURL& opener_url,
|
||||||
|
@ -66,10 +66,10 @@ index 44be6359d6a7acf88072569d8d4f85c688f5ed81..ee377313b25e13c011b1ed4aa31ea059
|
||||||
/*from_user_gesture=*/true);
|
/*from_user_gesture=*/true);
|
||||||
return true;
|
return true;
|
||||||
diff --git a/chrome/browser/ui/ash/web_view/ash_web_view_impl.h b/chrome/browser/ui/ash/web_view/ash_web_view_impl.h
|
diff --git a/chrome/browser/ui/ash/web_view/ash_web_view_impl.h b/chrome/browser/ui/ash/web_view/ash_web_view_impl.h
|
||||||
index 4fd8dff1089cd6afa6a66dc185734d7671657281..0a1f4268ea771a3d5d4a2668928c6e5d1b618c68 100644
|
index b6582b4013d9682d32bd524b4053b443a4df00f8..afcbce72e0f247b4d5a637b27c9f25d913cfa14b 100644
|
||||||
--- a/chrome/browser/ui/ash/web_view/ash_web_view_impl.h
|
--- a/chrome/browser/ui/ash/web_view/ash_web_view_impl.h
|
||||||
+++ b/chrome/browser/ui/ash/web_view/ash_web_view_impl.h
|
+++ b/chrome/browser/ui/ash/web_view/ash_web_view_impl.h
|
||||||
@@ -59,8 +59,7 @@ class AshWebViewImpl : public ash::AshWebView,
|
@@ -60,8 +60,7 @@ class AshWebViewImpl : public ash::AshWebView,
|
||||||
content::SiteInstance* source_site_instance,
|
content::SiteInstance* source_site_instance,
|
||||||
content::mojom::WindowContainerType window_container_type,
|
content::mojom::WindowContainerType window_container_type,
|
||||||
const GURL& opener_url,
|
const GURL& opener_url,
|
||||||
|
@ -80,29 +80,33 @@ index 4fd8dff1089cd6afa6a66dc185734d7671657281..0a1f4268ea771a3d5d4a2668928c6e5d
|
||||||
content::WebContents* source,
|
content::WebContents* source,
|
||||||
const content::OpenURLParams& params,
|
const content::OpenURLParams& params,
|
||||||
diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc
|
diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc
|
||||||
index de3f9f56b47628e1104b5f64b3c17cc35e10bfc7..3a19c28386fd3a0b8755a06510895c685f2c0cdb 100644
|
index 75c32a1af7011cb8a5bcf96f5c92f66ec86609c0..ac87e2f219fb79a69ab1afb68f29525b09ab8538 100644
|
||||||
--- a/chrome/browser/ui/browser.cc
|
--- a/chrome/browser/ui/browser.cc
|
||||||
+++ b/chrome/browser/ui/browser.cc
|
+++ b/chrome/browser/ui/browser.cc
|
||||||
@@ -2327,12 +2327,11 @@ bool Browser::IsWebContentsCreationOverridden(
|
@@ -2413,8 +2413,7 @@ bool Browser::IsWebContentsCreationOverridden(
|
||||||
content::SiteInstance* source_site_instance,
|
content::SiteInstance* source_site_instance,
|
||||||
content::mojom::WindowContainerType window_container_type,
|
content::mojom::WindowContainerType window_container_type,
|
||||||
const GURL& opener_url,
|
const GURL& opener_url,
|
||||||
- const std::string& frame_name,
|
- const std::string& frame_name,
|
||||||
- const GURL& target_url) {
|
- const GURL& target_url) {
|
||||||
+ const content::mojom::CreateNewWindowParams& params) {
|
+ const content::mojom::CreateNewWindowParams& params) {
|
||||||
return window_container_type ==
|
if (IsActorCoordinatorActingOnTab(
|
||||||
content::mojom::WindowContainerType::BACKGROUND &&
|
profile(), content::WebContents::FromRenderFrameHost(opener))) {
|
||||||
ShouldCreateBackgroundContents(source_site_instance, opener_url,
|
// If an ActorCoordinator is acting on the opener, prevent it from creating
|
||||||
- frame_name);
|
@@ -2426,7 +2425,7 @@ bool Browser::IsWebContentsCreationOverridden(
|
||||||
+ params.frame_name);
|
return (window_container_type ==
|
||||||
|
content::mojom::WindowContainerType::BACKGROUND &&
|
||||||
|
ShouldCreateBackgroundContents(source_site_instance, opener_url,
|
||||||
|
- frame_name));
|
||||||
|
+ params.frame));
|
||||||
}
|
}
|
||||||
|
|
||||||
WebContents* Browser::CreateCustomWebContents(
|
WebContents* Browser::CreateCustomWebContents(
|
||||||
diff --git a/chrome/browser/ui/browser.h b/chrome/browser/ui/browser.h
|
diff --git a/chrome/browser/ui/browser.h b/chrome/browser/ui/browser.h
|
||||||
index 0bcb2fc072e47c2c259b724209b4814486329fe1..db674988cf87f198ed1af7e0f4def24776fbaa89 100644
|
index 8cb8eb633a7b90ee8ad5d39b01d02d0785e97980..a90ff9bc0361a78ca12cae930d604e8834beddc8 100644
|
||||||
--- a/chrome/browser/ui/browser.h
|
--- a/chrome/browser/ui/browser.h
|
||||||
+++ b/chrome/browser/ui/browser.h
|
+++ b/chrome/browser/ui/browser.h
|
||||||
@@ -1027,8 +1027,7 @@ class Browser : public TabStripModelObserver,
|
@@ -1047,8 +1047,7 @@ class Browser : public TabStripModelObserver,
|
||||||
content::SiteInstance* source_site_instance,
|
content::SiteInstance* source_site_instance,
|
||||||
content::mojom::WindowContainerType window_container_type,
|
content::mojom::WindowContainerType window_container_type,
|
||||||
const GURL& opener_url,
|
const GURL& opener_url,
|
||||||
|
@ -113,10 +117,10 @@ index 0bcb2fc072e47c2c259b724209b4814486329fe1..db674988cf87f198ed1af7e0f4def247
|
||||||
content::RenderFrameHost* opener,
|
content::RenderFrameHost* opener,
|
||||||
content::SiteInstance* source_site_instance,
|
content::SiteInstance* source_site_instance,
|
||||||
diff --git a/chrome/browser/ui/media_router/presentation_receiver_window_controller.cc b/chrome/browser/ui/media_router/presentation_receiver_window_controller.cc
|
diff --git a/chrome/browser/ui/media_router/presentation_receiver_window_controller.cc b/chrome/browser/ui/media_router/presentation_receiver_window_controller.cc
|
||||||
index 0d2a68ea6b9f08b5c1f1113181b08d55a3265192..0dfa27fa14d1308c059534953e190922ddb3bc0a 100644
|
index a05510eadf5c9ff24bb7999aa76229946319280f..a80ecc46f8a6b84de83d608257d45ae61ccc2170 100644
|
||||||
--- a/chrome/browser/ui/media_router/presentation_receiver_window_controller.cc
|
--- a/chrome/browser/ui/media_router/presentation_receiver_window_controller.cc
|
||||||
+++ b/chrome/browser/ui/media_router/presentation_receiver_window_controller.cc
|
+++ b/chrome/browser/ui/media_router/presentation_receiver_window_controller.cc
|
||||||
@@ -205,8 +205,7 @@ bool PresentationReceiverWindowController::IsWebContentsCreationOverridden(
|
@@ -206,8 +206,7 @@ bool PresentationReceiverWindowController::IsWebContentsCreationOverridden(
|
||||||
content::SiteInstance* source_site_instance,
|
content::SiteInstance* source_site_instance,
|
||||||
content::mojom::WindowContainerType window_container_type,
|
content::mojom::WindowContainerType window_container_type,
|
||||||
const GURL& opener_url,
|
const GURL& opener_url,
|
||||||
|
@ -127,10 +131,10 @@ index 0d2a68ea6b9f08b5c1f1113181b08d55a3265192..0dfa27fa14d1308c059534953e190922
|
||||||
// uses this to spawn new windows/tabs, which is also not allowed for
|
// uses this to spawn new windows/tabs, which is also not allowed for
|
||||||
// local presentations.
|
// local presentations.
|
||||||
diff --git a/chrome/browser/ui/media_router/presentation_receiver_window_controller.h b/chrome/browser/ui/media_router/presentation_receiver_window_controller.h
|
diff --git a/chrome/browser/ui/media_router/presentation_receiver_window_controller.h b/chrome/browser/ui/media_router/presentation_receiver_window_controller.h
|
||||||
index ca72b324bf7c3b81ac94b53f0ff454d2df177950..d60ef3075d126e2bbd50c8469f2bf67cfa05c6f7 100644
|
index 3fc06be01f20e8cd314d95d73a3f58c2f0742fe9..c07910ae59a185442f37ea6e7b96fdf3a33aba82 100644
|
||||||
--- a/chrome/browser/ui/media_router/presentation_receiver_window_controller.h
|
--- a/chrome/browser/ui/media_router/presentation_receiver_window_controller.h
|
||||||
+++ b/chrome/browser/ui/media_router/presentation_receiver_window_controller.h
|
+++ b/chrome/browser/ui/media_router/presentation_receiver_window_controller.h
|
||||||
@@ -105,8 +105,7 @@ class PresentationReceiverWindowController final
|
@@ -106,8 +106,7 @@ class PresentationReceiverWindowController final
|
||||||
content::SiteInstance* source_site_instance,
|
content::SiteInstance* source_site_instance,
|
||||||
content::mojom::WindowContainerType window_container_type,
|
content::mojom::WindowContainerType window_container_type,
|
||||||
const GURL& opener_url,
|
const GURL& opener_url,
|
||||||
|
@ -141,10 +145,10 @@ index ca72b324bf7c3b81ac94b53f0ff454d2df177950..d60ef3075d126e2bbd50c8469f2bf67c
|
||||||
// The profile used for the presentation.
|
// The profile used for the presentation.
|
||||||
raw_ptr<Profile, DanglingUntriaged> otr_profile_;
|
raw_ptr<Profile, DanglingUntriaged> otr_profile_;
|
||||||
diff --git a/chrome/browser/ui/views/hats/hats_next_web_dialog.cc b/chrome/browser/ui/views/hats/hats_next_web_dialog.cc
|
diff --git a/chrome/browser/ui/views/hats/hats_next_web_dialog.cc b/chrome/browser/ui/views/hats/hats_next_web_dialog.cc
|
||||||
index 1085003ab18d471d5c018ac68041924d458fcec7..4aac70febec9f0abadd1ecb96d9066e6c270efca 100644
|
index 1c30afe192809d85ced6af595347353ec3cb5364..af48bb2755c33f6c372be6b51048b3cf3fd0be0b 100644
|
||||||
--- a/chrome/browser/ui/views/hats/hats_next_web_dialog.cc
|
--- a/chrome/browser/ui/views/hats/hats_next_web_dialog.cc
|
||||||
+++ b/chrome/browser/ui/views/hats/hats_next_web_dialog.cc
|
+++ b/chrome/browser/ui/views/hats/hats_next_web_dialog.cc
|
||||||
@@ -100,8 +100,7 @@ class HatsNextWebDialog::HatsWebView : public views::WebView {
|
@@ -101,8 +101,7 @@ class HatsNextWebDialog::HatsWebView : public views::WebView {
|
||||||
content::SiteInstance* source_site_instance,
|
content::SiteInstance* source_site_instance,
|
||||||
content::mojom::WindowContainerType window_container_type,
|
content::mojom::WindowContainerType window_container_type,
|
||||||
const GURL& opener_url,
|
const GURL& opener_url,
|
||||||
|
@ -155,10 +159,10 @@ index 1085003ab18d471d5c018ac68041924d458fcec7..4aac70febec9f0abadd1ecb96d9066e6
|
||||||
}
|
}
|
||||||
content::WebContents* CreateCustomWebContents(
|
content::WebContents* CreateCustomWebContents(
|
||||||
diff --git a/components/embedder_support/android/delegate/web_contents_delegate_android.cc b/components/embedder_support/android/delegate/web_contents_delegate_android.cc
|
diff --git a/components/embedder_support/android/delegate/web_contents_delegate_android.cc b/components/embedder_support/android/delegate/web_contents_delegate_android.cc
|
||||||
index e0264aff5b60bb5e76ac7687222403dfba516e66..915abd2475f6be95d973f827522f7ef12052a81c 100644
|
index 37260552fcc42edcac08422bdf6cb9f0f4b09c39..461fb20c1093cf2de06f9bb6f41f80ab0017b6a1 100644
|
||||||
--- a/components/embedder_support/android/delegate/web_contents_delegate_android.cc
|
--- a/components/embedder_support/android/delegate/web_contents_delegate_android.cc
|
||||||
+++ b/components/embedder_support/android/delegate/web_contents_delegate_android.cc
|
+++ b/components/embedder_support/android/delegate/web_contents_delegate_android.cc
|
||||||
@@ -189,14 +189,13 @@ bool WebContentsDelegateAndroid::IsWebContentsCreationOverridden(
|
@@ -190,14 +190,13 @@ bool WebContentsDelegateAndroid::IsWebContentsCreationOverridden(
|
||||||
content::SiteInstance* source_site_instance,
|
content::SiteInstance* source_site_instance,
|
||||||
content::mojom::WindowContainerType window_container_type,
|
content::mojom::WindowContainerType window_container_type,
|
||||||
const GURL& opener_url,
|
const GURL& opener_url,
|
||||||
|
@ -176,10 +180,10 @@ index e0264aff5b60bb5e76ac7687222403dfba516e66..915abd2475f6be95d973f827522f7ef1
|
||||||
java_gurl);
|
java_gurl);
|
||||||
}
|
}
|
||||||
diff --git a/components/embedder_support/android/delegate/web_contents_delegate_android.h b/components/embedder_support/android/delegate/web_contents_delegate_android.h
|
diff --git a/components/embedder_support/android/delegate/web_contents_delegate_android.h b/components/embedder_support/android/delegate/web_contents_delegate_android.h
|
||||||
index 67a01b48ae88c7e25aeb5c5103b26afa037f4f97..0ceb539c9c3051b5521236cf866ccb107727c8a9 100644
|
index 996b3d453b375fec2a823a0dd0d3122ba626b5f2..5a5c6ed67f698fdd914e79df528e2ca391e056b7 100644
|
||||||
--- a/components/embedder_support/android/delegate/web_contents_delegate_android.h
|
--- a/components/embedder_support/android/delegate/web_contents_delegate_android.h
|
||||||
+++ b/components/embedder_support/android/delegate/web_contents_delegate_android.h
|
+++ b/components/embedder_support/android/delegate/web_contents_delegate_android.h
|
||||||
@@ -82,8 +82,7 @@ class WebContentsDelegateAndroid : public content::WebContentsDelegate {
|
@@ -83,8 +83,7 @@ class WebContentsDelegateAndroid : public content::WebContentsDelegate {
|
||||||
content::SiteInstance* source_site_instance,
|
content::SiteInstance* source_site_instance,
|
||||||
content::mojom::WindowContainerType window_container_type,
|
content::mojom::WindowContainerType window_container_type,
|
||||||
const GURL& opener_url,
|
const GURL& opener_url,
|
||||||
|
@ -190,10 +194,10 @@ index 67a01b48ae88c7e25aeb5c5103b26afa037f4f97..0ceb539c9c3051b5521236cf866ccb10
|
||||||
bool DidAddMessageToConsole(content::WebContents* source,
|
bool DidAddMessageToConsole(content::WebContents* source,
|
||||||
blink::mojom::ConsoleMessageLevel log_level,
|
blink::mojom::ConsoleMessageLevel log_level,
|
||||||
diff --git a/components/offline_pages/content/background_loader/background_loader_contents.cc b/components/offline_pages/content/background_loader/background_loader_contents.cc
|
diff --git a/components/offline_pages/content/background_loader/background_loader_contents.cc b/components/offline_pages/content/background_loader/background_loader_contents.cc
|
||||||
index e0e9a5a8c1d8c242d39935e2456052619af33cc6..80518793447c70e8fc1dae9b42a59d40427ae52b 100644
|
index 9dcf196de0d70fda966162473408968bfd9d16e0..2d2007e60c3512d002b7e1a858afb2908201e964 100644
|
||||||
--- a/components/offline_pages/content/background_loader/background_loader_contents.cc
|
--- a/components/offline_pages/content/background_loader/background_loader_contents.cc
|
||||||
+++ b/components/offline_pages/content/background_loader/background_loader_contents.cc
|
+++ b/components/offline_pages/content/background_loader/background_loader_contents.cc
|
||||||
@@ -89,8 +89,7 @@ bool BackgroundLoaderContents::IsWebContentsCreationOverridden(
|
@@ -90,8 +90,7 @@ bool BackgroundLoaderContents::IsWebContentsCreationOverridden(
|
||||||
content::SiteInstance* source_site_instance,
|
content::SiteInstance* source_site_instance,
|
||||||
content::mojom::WindowContainerType window_container_type,
|
content::mojom::WindowContainerType window_container_type,
|
||||||
const GURL& opener_url,
|
const GURL& opener_url,
|
||||||
|
@ -204,10 +208,10 @@ index e0e9a5a8c1d8c242d39935e2456052619af33cc6..80518793447c70e8fc1dae9b42a59d40
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
diff --git a/components/offline_pages/content/background_loader/background_loader_contents.h b/components/offline_pages/content/background_loader/background_loader_contents.h
|
diff --git a/components/offline_pages/content/background_loader/background_loader_contents.h b/components/offline_pages/content/background_loader/background_loader_contents.h
|
||||||
index c6838c83ef971b88769b1f3fba8095025ae25464..2da6a4e08340e72ba7de5d03444c2f17250c5eca 100644
|
index b3fef77c892a21565235c1a13ff50e11536d360c..2400dbbc53acca6871ae16a610a337134b61aafe 100644
|
||||||
--- a/components/offline_pages/content/background_loader/background_loader_contents.h
|
--- a/components/offline_pages/content/background_loader/background_loader_contents.h
|
||||||
+++ b/components/offline_pages/content/background_loader/background_loader_contents.h
|
+++ b/components/offline_pages/content/background_loader/background_loader_contents.h
|
||||||
@@ -66,8 +66,7 @@ class BackgroundLoaderContents : public content::WebContentsDelegate {
|
@@ -67,8 +67,7 @@ class BackgroundLoaderContents : public content::WebContentsDelegate {
|
||||||
content::SiteInstance* source_site_instance,
|
content::SiteInstance* source_site_instance,
|
||||||
content::mojom::WindowContainerType window_container_type,
|
content::mojom::WindowContainerType window_container_type,
|
||||||
const GURL& opener_url,
|
const GURL& opener_url,
|
||||||
|
@ -218,24 +222,24 @@ index c6838c83ef971b88769b1f3fba8095025ae25464..2da6a4e08340e72ba7de5d03444c2f17
|
||||||
content::WebContents* AddNewContents(
|
content::WebContents* AddNewContents(
|
||||||
content::WebContents* source,
|
content::WebContents* source,
|
||||||
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
|
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
|
||||||
index 94b4429fffb474304c1d43d1cf1337fde90d9e45..2a683ac9a810d7bc7286e56ce50dd51adfc4f25f 100644
|
index 2eb45ae773f9fbd28fa05b14e5684f4b7d17cc85..7b416ade6fe632d7fab319460876cb42f5b5dd83 100644
|
||||||
--- a/content/browser/web_contents/web_contents_impl.cc
|
--- a/content/browser/web_contents/web_contents_impl.cc
|
||||||
+++ b/content/browser/web_contents/web_contents_impl.cc
|
+++ b/content/browser/web_contents/web_contents_impl.cc
|
||||||
@@ -5021,8 +5021,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
@@ -5041,8 +5041,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||||
// TODO(crbug.com/40202416): Support a way for MPArch guests to support this.
|
if (delegate_ &&
|
||||||
if (delegate_ && delegate_->IsWebContentsCreationOverridden(
|
delegate_->IsWebContentsCreationOverridden(
|
||||||
source_site_instance, params.window_container_type,
|
opener, source_site_instance, params.window_container_type,
|
||||||
- opener->GetLastCommittedURL(), params.frame_name,
|
- opener->GetLastCommittedURL(), params.frame_name,
|
||||||
- params.target_url)) {
|
- params.target_url)) {
|
||||||
+ opener->GetLastCommittedURL(), params)) {
|
+ opener->GetLastCommittedURL(), params)) {
|
||||||
auto* web_contents_impl =
|
auto* web_contents_impl =
|
||||||
static_cast<WebContentsImpl*>(delegate_->CreateCustomWebContents(
|
static_cast<WebContentsImpl*>(delegate_->CreateCustomWebContents(
|
||||||
opener, source_site_instance, is_new_browsing_instance,
|
opener, source_site_instance, is_new_browsing_instance,
|
||||||
diff --git a/content/public/browser/web_contents_delegate.cc b/content/public/browser/web_contents_delegate.cc
|
diff --git a/content/public/browser/web_contents_delegate.cc b/content/public/browser/web_contents_delegate.cc
|
||||||
index 97a3ea6f292563a41fd41f812ac72526a96d8471..b299dd5659100d317a3574e902bf2c29c5defd2c 100644
|
index 8c1d83692daccfbdda90f292b5a3fb9a8f1b118f..c836a731050027fd101aea0cd65782a4a7b5627b 100644
|
||||||
--- a/content/public/browser/web_contents_delegate.cc
|
--- a/content/public/browser/web_contents_delegate.cc
|
||||||
+++ b/content/public/browser/web_contents_delegate.cc
|
+++ b/content/public/browser/web_contents_delegate.cc
|
||||||
@@ -159,8 +159,7 @@ bool WebContentsDelegate::IsWebContentsCreationOverridden(
|
@@ -160,8 +160,7 @@ bool WebContentsDelegate::IsWebContentsCreationOverridden(
|
||||||
SiteInstance* source_site_instance,
|
SiteInstance* source_site_instance,
|
||||||
mojom::WindowContainerType window_container_type,
|
mojom::WindowContainerType window_container_type,
|
||||||
const GURL& opener_url,
|
const GURL& opener_url,
|
||||||
|
@ -246,10 +250,10 @@ index 97a3ea6f292563a41fd41f812ac72526a96d8471..b299dd5659100d317a3574e902bf2c29
|
||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/content/public/browser/web_contents_delegate.h b/content/public/browser/web_contents_delegate.h
|
diff --git a/content/public/browser/web_contents_delegate.h b/content/public/browser/web_contents_delegate.h
|
||||||
index 8a18958035cc1dd26be558349f64f7727570c4ba..7d9c9b06bcc57ef5eb0a2ca74ee20632a1393f9e 100644
|
index c4cee108b0caac7d6a2a9115586882dd32bab714..a9ce49d79b613c58c2e6ae4b7b9a1076a2252ee1 100644
|
||||||
--- a/content/public/browser/web_contents_delegate.h
|
--- a/content/public/browser/web_contents_delegate.h
|
||||||
+++ b/content/public/browser/web_contents_delegate.h
|
+++ b/content/public/browser/web_contents_delegate.h
|
||||||
@@ -355,8 +355,7 @@ class CONTENT_EXPORT WebContentsDelegate {
|
@@ -359,8 +359,7 @@ class CONTENT_EXPORT WebContentsDelegate {
|
||||||
SiteInstance* source_site_instance,
|
SiteInstance* source_site_instance,
|
||||||
mojom::WindowContainerType window_container_type,
|
mojom::WindowContainerType window_container_type,
|
||||||
const GURL& opener_url,
|
const GURL& opener_url,
|
||||||
|
@ -260,10 +264,10 @@ index 8a18958035cc1dd26be558349f64f7727570c4ba..7d9c9b06bcc57ef5eb0a2ca74ee20632
|
||||||
// Allow delegate to creates a custom WebContents when
|
// Allow delegate to creates a custom WebContents when
|
||||||
// WebContents::CreateNewWindow() is called. This function is only called
|
// WebContents::CreateNewWindow() is called. This function is only called
|
||||||
diff --git a/extensions/browser/guest_view/app_view/app_view_guest.cc b/extensions/browser/guest_view/app_view/app_view_guest.cc
|
diff --git a/extensions/browser/guest_view/app_view/app_view_guest.cc b/extensions/browser/guest_view/app_view/app_view_guest.cc
|
||||||
index 8d6fc67cb9b1d653bce64d1ba22aa7ec2d79257c..d5ce746373a1a4310e1eb530aee011a785e1d68c 100644
|
index 0f2c21513e07e8ddb387c165754d7ec67942a719..c381abf67c261b92f1c65c485b69321f44080343 100644
|
||||||
--- a/extensions/browser/guest_view/app_view/app_view_guest.cc
|
--- a/extensions/browser/guest_view/app_view/app_view_guest.cc
|
||||||
+++ b/extensions/browser/guest_view/app_view/app_view_guest.cc
|
+++ b/extensions/browser/guest_view/app_view/app_view_guest.cc
|
||||||
@@ -153,8 +153,7 @@ bool AppViewGuest::IsWebContentsCreationOverridden(
|
@@ -154,8 +154,7 @@ bool AppViewGuest::IsWebContentsCreationOverridden(
|
||||||
content::SiteInstance* source_site_instance,
|
content::SiteInstance* source_site_instance,
|
||||||
content::mojom::WindowContainerType window_container_type,
|
content::mojom::WindowContainerType window_container_type,
|
||||||
const GURL& opener_url,
|
const GURL& opener_url,
|
||||||
|
@ -274,7 +278,7 @@ index 8d6fc67cb9b1d653bce64d1ba22aa7ec2d79257c..d5ce746373a1a4310e1eb530aee011a7
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
diff --git a/extensions/browser/guest_view/app_view/app_view_guest.h b/extensions/browser/guest_view/app_view/app_view_guest.h
|
diff --git a/extensions/browser/guest_view/app_view/app_view_guest.h b/extensions/browser/guest_view/app_view/app_view_guest.h
|
||||||
index 775cfbf5adac0017f343bc091daee1b8883c75bb..dc97e5d60d3663ef7f7c78c28603f9e1c5aea4ff 100644
|
index 7695578f626f2a0c7fefae2bc1d5c35e5ac154f2..78958bff12ce41ae5ad77f43279a4b35b9408a12 100644
|
||||||
--- a/extensions/browser/guest_view/app_view/app_view_guest.h
|
--- a/extensions/browser/guest_view/app_view/app_view_guest.h
|
||||||
+++ b/extensions/browser/guest_view/app_view/app_view_guest.h
|
+++ b/extensions/browser/guest_view/app_view/app_view_guest.h
|
||||||
@@ -10,6 +10,7 @@
|
@@ -10,6 +10,7 @@
|
||||||
|
@ -285,7 +289,7 @@ index 775cfbf5adac0017f343bc091daee1b8883c75bb..dc97e5d60d3663ef7f7c78c28603f9e1
|
||||||
#include "extensions/browser/guest_view/app_view/app_view_guest_delegate.h"
|
#include "extensions/browser/guest_view/app_view/app_view_guest_delegate.h"
|
||||||
#include "extensions/browser/lazy_context_task_queue.h"
|
#include "extensions/browser/lazy_context_task_queue.h"
|
||||||
|
|
||||||
@@ -79,8 +80,7 @@ class AppViewGuest : public guest_view::GuestView<AppViewGuest> {
|
@@ -80,8 +81,7 @@ class AppViewGuest : public guest_view::GuestView<AppViewGuest> {
|
||||||
content::SiteInstance* source_site_instance,
|
content::SiteInstance* source_site_instance,
|
||||||
content::mojom::WindowContainerType window_container_type,
|
content::mojom::WindowContainerType window_container_type,
|
||||||
const GURL& opener_url,
|
const GURL& opener_url,
|
||||||
|
@ -296,10 +300,10 @@ index 775cfbf5adac0017f343bc091daee1b8883c75bb..dc97e5d60d3663ef7f7c78c28603f9e1
|
||||||
content::RenderFrameHost* opener,
|
content::RenderFrameHost* opener,
|
||||||
content::SiteInstance* source_site_instance,
|
content::SiteInstance* source_site_instance,
|
||||||
diff --git a/extensions/browser/guest_view/extension_options/extension_options_guest.cc b/extensions/browser/guest_view/extension_options/extension_options_guest.cc
|
diff --git a/extensions/browser/guest_view/extension_options/extension_options_guest.cc b/extensions/browser/guest_view/extension_options/extension_options_guest.cc
|
||||||
index 2fca443b4bebf29c2835440a9db8a56f7373032f..6b704b57c08714b0a314e98d49e58676987d2995 100644
|
index 5bd9d59a961a03f3cd3a806bc1af58c3eaee2b58..40d7ae8d6248163524a8c1350b625e107a8ae64a 100644
|
||||||
--- a/extensions/browser/guest_view/extension_options/extension_options_guest.cc
|
--- a/extensions/browser/guest_view/extension_options/extension_options_guest.cc
|
||||||
+++ b/extensions/browser/guest_view/extension_options/extension_options_guest.cc
|
+++ b/extensions/browser/guest_view/extension_options/extension_options_guest.cc
|
||||||
@@ -262,8 +262,7 @@ bool ExtensionOptionsGuest::IsWebContentsCreationOverridden(
|
@@ -263,8 +263,7 @@ bool ExtensionOptionsGuest::IsWebContentsCreationOverridden(
|
||||||
content::SiteInstance* source_site_instance,
|
content::SiteInstance* source_site_instance,
|
||||||
content::mojom::WindowContainerType window_container_type,
|
content::mojom::WindowContainerType window_container_type,
|
||||||
const GURL& opener_url,
|
const GURL& opener_url,
|
||||||
|
@ -310,10 +314,10 @@ index 2fca443b4bebf29c2835440a9db8a56f7373032f..6b704b57c08714b0a314e98d49e58676
|
||||||
|
|
||||||
// This method handles opening links from within the guest. Since this guest
|
// This method handles opening links from within the guest. Since this guest
|
||||||
diff --git a/extensions/browser/guest_view/extension_options/extension_options_guest.h b/extensions/browser/guest_view/extension_options/extension_options_guest.h
|
diff --git a/extensions/browser/guest_view/extension_options/extension_options_guest.h b/extensions/browser/guest_view/extension_options/extension_options_guest.h
|
||||||
index e39031afd8fff7cb6e278555cc58a48d86407d65..f67f6a5603c1fa9e66ccdde9b601df9a11cae738 100644
|
index 56d86e3d1179df2d5f34eb6216989aef2687f49f..236f3ccf8354b156737e03929ee538f99f1f4adf 100644
|
||||||
--- a/extensions/browser/guest_view/extension_options/extension_options_guest.h
|
--- a/extensions/browser/guest_view/extension_options/extension_options_guest.h
|
||||||
+++ b/extensions/browser/guest_view/extension_options/extension_options_guest.h
|
+++ b/extensions/browser/guest_view/extension_options/extension_options_guest.h
|
||||||
@@ -73,8 +73,7 @@ class ExtensionOptionsGuest
|
@@ -74,8 +74,7 @@ class ExtensionOptionsGuest
|
||||||
content::SiteInstance* source_site_instance,
|
content::SiteInstance* source_site_instance,
|
||||||
content::mojom::WindowContainerType window_container_type,
|
content::mojom::WindowContainerType window_container_type,
|
||||||
const GURL& opener_url,
|
const GURL& opener_url,
|
||||||
|
@ -324,10 +328,10 @@ index e39031afd8fff7cb6e278555cc58a48d86407d65..f67f6a5603c1fa9e66ccdde9b601df9a
|
||||||
content::RenderFrameHost* opener,
|
content::RenderFrameHost* opener,
|
||||||
content::SiteInstance* source_site_instance,
|
content::SiteInstance* source_site_instance,
|
||||||
diff --git a/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc b/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc
|
diff --git a/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc b/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc
|
||||||
index 60de0d74ee40fedcbae96e5049e21dc238bf33bf..c568d4d08f772e1d381820bed826a0b64a631449 100644
|
index 0bba5f4b0abdaa55b7e406d39ccf3de33bf53194..ed4b8e0215a12adf95273109f7e4968d7b0cbf2a 100644
|
||||||
--- a/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc
|
--- a/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc
|
||||||
+++ b/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc
|
+++ b/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc
|
||||||
@@ -452,8 +452,7 @@ bool MimeHandlerViewGuest::IsWebContentsCreationOverridden(
|
@@ -453,8 +453,7 @@ bool MimeHandlerViewGuest::IsWebContentsCreationOverridden(
|
||||||
content::SiteInstance* source_site_instance,
|
content::SiteInstance* source_site_instance,
|
||||||
content::mojom::WindowContainerType window_container_type,
|
content::mojom::WindowContainerType window_container_type,
|
||||||
const GURL& opener_url,
|
const GURL& opener_url,
|
||||||
|
@ -338,10 +342,10 @@ index 60de0d74ee40fedcbae96e5049e21dc238bf33bf..c568d4d08f772e1d381820bed826a0b6
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
diff --git a/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h b/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h
|
diff --git a/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h b/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h
|
||||||
index 2dcf51f335f5dac39f431c3e0f56f8789f33d40b..2b433624d0604e0b9da5117b9e83cc1559b74740 100644
|
index 7eeffdfbda9611806c6f260f0c68f6d84689cb7e..5d8f6d132068d7fabaa52bc61354c71a8ac8cd20 100644
|
||||||
--- a/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h
|
--- a/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h
|
||||||
+++ b/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h
|
+++ b/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h
|
||||||
@@ -186,8 +186,7 @@ class MimeHandlerViewGuest
|
@@ -187,8 +187,7 @@ class MimeHandlerViewGuest
|
||||||
content::SiteInstance* source_site_instance,
|
content::SiteInstance* source_site_instance,
|
||||||
content::mojom::WindowContainerType window_container_type,
|
content::mojom::WindowContainerType window_container_type,
|
||||||
const GURL& opener_url,
|
const GURL& opener_url,
|
||||||
|
@ -352,10 +356,10 @@ index 2dcf51f335f5dac39f431c3e0f56f8789f33d40b..2b433624d0604e0b9da5117b9e83cc15
|
||||||
content::RenderFrameHost* opener,
|
content::RenderFrameHost* opener,
|
||||||
content::SiteInstance* source_site_instance,
|
content::SiteInstance* source_site_instance,
|
||||||
diff --git a/fuchsia_web/webengine/browser/frame_impl.cc b/fuchsia_web/webengine/browser/frame_impl.cc
|
diff --git a/fuchsia_web/webengine/browser/frame_impl.cc b/fuchsia_web/webengine/browser/frame_impl.cc
|
||||||
index c10903a8e7e5fb66a1b038eab9015658a93672df..5a3afdb8ababf6e465c6166ca6229af7b4d6941d 100644
|
index c61784e1d0717063e5aefd05d7c09358bae5b8c5..b987c5660942e94f89ff19cc55e032e4cb693863 100644
|
||||||
--- a/fuchsia_web/webengine/browser/frame_impl.cc
|
--- a/fuchsia_web/webengine/browser/frame_impl.cc
|
||||||
+++ b/fuchsia_web/webengine/browser/frame_impl.cc
|
+++ b/fuchsia_web/webengine/browser/frame_impl.cc
|
||||||
@@ -576,8 +576,7 @@ bool FrameImpl::IsWebContentsCreationOverridden(
|
@@ -579,8 +579,7 @@ bool FrameImpl::IsWebContentsCreationOverridden(
|
||||||
content::SiteInstance* source_site_instance,
|
content::SiteInstance* source_site_instance,
|
||||||
content::mojom::WindowContainerType window_container_type,
|
content::mojom::WindowContainerType window_container_type,
|
||||||
const GURL& opener_url,
|
const GURL& opener_url,
|
||||||
|
@ -366,10 +370,10 @@ index c10903a8e7e5fb66a1b038eab9015658a93672df..5a3afdb8ababf6e465c6166ca6229af7
|
||||||
// can catch bad client behavior while not interfering with normal operation.
|
// can catch bad client behavior while not interfering with normal operation.
|
||||||
constexpr size_t kMaxPendingWebContentsCount = 10;
|
constexpr size_t kMaxPendingWebContentsCount = 10;
|
||||||
diff --git a/fuchsia_web/webengine/browser/frame_impl.h b/fuchsia_web/webengine/browser/frame_impl.h
|
diff --git a/fuchsia_web/webengine/browser/frame_impl.h b/fuchsia_web/webengine/browser/frame_impl.h
|
||||||
index 1012a909ef1fcae51c218ae519fe7e0db65ab087..127b1ae940bc9313aecb635e2b01bb6f541d9adb 100644
|
index 756d4192271d6a65cfe8e1511737c565b543cb1f..5688f6f745056565c3c01947f741c4d13e27b6ae 100644
|
||||||
--- a/fuchsia_web/webengine/browser/frame_impl.h
|
--- a/fuchsia_web/webengine/browser/frame_impl.h
|
||||||
+++ b/fuchsia_web/webengine/browser/frame_impl.h
|
+++ b/fuchsia_web/webengine/browser/frame_impl.h
|
||||||
@@ -307,8 +307,7 @@ class WEB_ENGINE_EXPORT FrameImpl : public fuchsia::web::Frame,
|
@@ -308,8 +308,7 @@ class WEB_ENGINE_EXPORT FrameImpl : public fuchsia::web::Frame,
|
||||||
content::SiteInstance* source_site_instance,
|
content::SiteInstance* source_site_instance,
|
||||||
content::mojom::WindowContainerType window_container_type,
|
content::mojom::WindowContainerType window_container_type,
|
||||||
const GURL& opener_url,
|
const GURL& opener_url,
|
||||||
|
@ -380,10 +384,10 @@ index 1012a909ef1fcae51c218ae519fe7e0db65ab087..127b1ae940bc9313aecb635e2b01bb6f
|
||||||
int opener_render_process_id,
|
int opener_render_process_id,
|
||||||
int opener_render_frame_id,
|
int opener_render_frame_id,
|
||||||
diff --git a/headless/lib/browser/headless_web_contents_impl.cc b/headless/lib/browser/headless_web_contents_impl.cc
|
diff --git a/headless/lib/browser/headless_web_contents_impl.cc b/headless/lib/browser/headless_web_contents_impl.cc
|
||||||
index 7ca1e83ba1fd2dc5ea7c7ce644c3b7c54b9999f9..c1639653714d6973bcb5a0b37cb7028db8406742 100644
|
index b8f48c883d7adfd765b1561fd00e563ab54d20f5..0b3d8eef0ed0021d3546ff963e721eae277dcb1b 100644
|
||||||
--- a/headless/lib/browser/headless_web_contents_impl.cc
|
--- a/headless/lib/browser/headless_web_contents_impl.cc
|
||||||
+++ b/headless/lib/browser/headless_web_contents_impl.cc
|
+++ b/headless/lib/browser/headless_web_contents_impl.cc
|
||||||
@@ -206,8 +206,7 @@ class HeadlessWebContentsImpl::Delegate : public content::WebContentsDelegate {
|
@@ -207,8 +207,7 @@ class HeadlessWebContentsImpl::Delegate : public content::WebContentsDelegate {
|
||||||
content::SiteInstance* source_site_instance,
|
content::SiteInstance* source_site_instance,
|
||||||
content::mojom::WindowContainerType window_container_type,
|
content::mojom::WindowContainerType window_container_type,
|
||||||
const GURL& opener_url,
|
const GURL& opener_url,
|
||||||
|
@ -394,10 +398,10 @@ index 7ca1e83ba1fd2dc5ea7c7ce644c3b7c54b9999f9..c1639653714d6973bcb5a0b37cb7028d
|
||||||
->options()
|
->options()
|
||||||
->block_new_web_contents();
|
->block_new_web_contents();
|
||||||
diff --git a/ui/views/controls/webview/web_dialog_view.cc b/ui/views/controls/webview/web_dialog_view.cc
|
diff --git a/ui/views/controls/webview/web_dialog_view.cc b/ui/views/controls/webview/web_dialog_view.cc
|
||||||
index 250e7f524a9ab1cc6fda2bfefb3c78a8e971b625..55a0db02885a85e538d267402cfd0ac8ce52b921 100644
|
index 42e0654da5659ba647529c4b0b97ec5df61d59a1..406e2ca73c182005014b56824e89ddfb25fd28f5 100644
|
||||||
--- a/ui/views/controls/webview/web_dialog_view.cc
|
--- a/ui/views/controls/webview/web_dialog_view.cc
|
||||||
+++ b/ui/views/controls/webview/web_dialog_view.cc
|
+++ b/ui/views/controls/webview/web_dialog_view.cc
|
||||||
@@ -489,8 +489,7 @@ bool WebDialogView::IsWebContentsCreationOverridden(
|
@@ -490,8 +490,7 @@ bool WebDialogView::IsWebContentsCreationOverridden(
|
||||||
content::SiteInstance* source_site_instance,
|
content::SiteInstance* source_site_instance,
|
||||||
content::mojom::WindowContainerType window_container_type,
|
content::mojom::WindowContainerType window_container_type,
|
||||||
const GURL& opener_url,
|
const GURL& opener_url,
|
||||||
|
@ -408,10 +412,10 @@ index 250e7f524a9ab1cc6fda2bfefb3c78a8e971b625..55a0db02885a85e538d267402cfd0ac8
|
||||||
return delegate_->HandleShouldOverrideWebContentsCreation();
|
return delegate_->HandleShouldOverrideWebContentsCreation();
|
||||||
}
|
}
|
||||||
diff --git a/ui/views/controls/webview/web_dialog_view.h b/ui/views/controls/webview/web_dialog_view.h
|
diff --git a/ui/views/controls/webview/web_dialog_view.h b/ui/views/controls/webview/web_dialog_view.h
|
||||||
index c96aeb2571961fa2ad033ca38600006e0e657699..2c733734103bf2cc0af9bcfb32d753053a287775 100644
|
index 0fa7e807d22f6f04b84f2d949fbdf892b94996bf..b0490ae36c9999a766bbf346e35807740f4f9af6 100644
|
||||||
--- a/ui/views/controls/webview/web_dialog_view.h
|
--- a/ui/views/controls/webview/web_dialog_view.h
|
||||||
+++ b/ui/views/controls/webview/web_dialog_view.h
|
+++ b/ui/views/controls/webview/web_dialog_view.h
|
||||||
@@ -167,8 +167,7 @@ class WEBVIEW_EXPORT WebDialogView : public ClientView,
|
@@ -168,8 +168,7 @@ class WEBVIEW_EXPORT WebDialogView : public ClientView,
|
||||||
content::SiteInstance* source_site_instance,
|
content::SiteInstance* source_site_instance,
|
||||||
content::mojom::WindowContainerType window_container_type,
|
content::mojom::WindowContainerType window_container_type,
|
||||||
const GURL& opener_url,
|
const GURL& opener_url,
|
||||||
|
|
|
@ -11,7 +11,7 @@ not need this dependency.
|
||||||
refs https://chromium-review.googlesource.com/c/chromium/src/+/5573603
|
refs https://chromium-review.googlesource.com/c/chromium/src/+/5573603
|
||||||
|
|
||||||
diff --git a/chrome/browser/ui/color/BUILD.gn b/chrome/browser/ui/color/BUILD.gn
|
diff --git a/chrome/browser/ui/color/BUILD.gn b/chrome/browser/ui/color/BUILD.gn
|
||||||
index 77c7485b0fa885ddff38f336d1c7a52f2e969c73..045c0751a0c43f3360e334dd227b6cff7ddfd681 100644
|
index 29c3dafa96df631e36aa1ced6798990c768adeaa..0281a50f04fecfc4ded3805a8f9637e184288581 100644
|
||||||
--- a/chrome/browser/ui/color/BUILD.gn
|
--- a/chrome/browser/ui/color/BUILD.gn
|
||||||
+++ b/chrome/browser/ui/color/BUILD.gn
|
+++ b/chrome/browser/ui/color/BUILD.gn
|
||||||
@@ -84,9 +84,6 @@ source_set("mixers") {
|
@@ -84,9 +84,6 @@ source_set("mixers") {
|
||||||
|
|
|
@ -41,7 +41,7 @@ index a82e0b1a7e999817c8ee420ceddeb7ca9ee78caf..e07f4ded61a7a64983da1b6d07315aee
|
||||||
|
|
||||||
int DesktopMediaListBase::GetSourceCount() const {
|
int DesktopMediaListBase::GetSourceCount() const {
|
||||||
diff --git a/chrome/browser/media/webrtc/desktop_media_list_base.h b/chrome/browser/media/webrtc/desktop_media_list_base.h
|
diff --git a/chrome/browser/media/webrtc/desktop_media_list_base.h b/chrome/browser/media/webrtc/desktop_media_list_base.h
|
||||||
index 9368d56f2b434b1a7101f28908f070ad9908be7e..804eb2c7ede137b8c9d0cf43042ff7f20dad5b91 100644
|
index de56c9b94f92e9abf69b1d4894e5d386cad6d3cd..f8955ef7cc43b1854b29841ed65260a1966a4b19 100644
|
||||||
--- a/chrome/browser/media/webrtc/desktop_media_list_base.h
|
--- a/chrome/browser/media/webrtc/desktop_media_list_base.h
|
||||||
+++ b/chrome/browser/media/webrtc/desktop_media_list_base.h
|
+++ b/chrome/browser/media/webrtc/desktop_media_list_base.h
|
||||||
@@ -39,7 +39,7 @@ class DesktopMediaListBase : public DesktopMediaList {
|
@@ -39,7 +39,7 @@ class DesktopMediaListBase : public DesktopMediaList {
|
||||||
|
|
|
@ -21,10 +21,10 @@ index 00583269d16f4b8eacb4875b12a3e69155839d12..23d5baa267333e18551d449317f3e3a6
|
||||||
// Prompts should remain open and functional across tab switches.
|
// Prompts should remain open and functional across tab switches.
|
||||||
if (!delegate_ || !delegate_->IsWaitingForPointerLockPrompt(this)) {
|
if (!delegate_ || !delegate_->IsWaitingForPointerLockPrompt(this)) {
|
||||||
diff --git a/content/browser/renderer_host/render_widget_host_impl.h b/content/browser/renderer_host/render_widget_host_impl.h
|
diff --git a/content/browser/renderer_host/render_widget_host_impl.h b/content/browser/renderer_host/render_widget_host_impl.h
|
||||||
index 86a80795fb931f569b21c3138697b90d8b38d750..6268d7e3a64bac17b94f0bfb8e24c44a61cf7d3f 100644
|
index 70acc7b54d862e9aac9ec8a0867893e22512f77c..03ee050653c48a22d68881151cdf8f787161a32b 100644
|
||||||
--- a/content/browser/renderer_host/render_widget_host_impl.h
|
--- a/content/browser/renderer_host/render_widget_host_impl.h
|
||||||
+++ b/content/browser/renderer_host/render_widget_host_impl.h
|
+++ b/content/browser/renderer_host/render_widget_host_impl.h
|
||||||
@@ -1012,6 +1012,9 @@ class CONTENT_EXPORT RenderWidgetHostImpl
|
@@ -1016,6 +1016,9 @@ class CONTENT_EXPORT RenderWidgetHostImpl
|
||||||
// Requests a commit and forced redraw in the renderer compositor.
|
// Requests a commit and forced redraw in the renderer compositor.
|
||||||
void ForceRedrawForTesting();
|
void ForceRedrawForTesting();
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,7 @@ index 6ad16425f2fb3438be178cb06a85ef72f8d09e22..61509e2eb982797845098abf5f36e031
|
||||||
excluded_margin);
|
excluded_margin);
|
||||||
}
|
}
|
||||||
diff --git a/ui/views/win/hwnd_message_handler.cc b/ui/views/win/hwnd_message_handler.cc
|
diff --git a/ui/views/win/hwnd_message_handler.cc b/ui/views/win/hwnd_message_handler.cc
|
||||||
index ac502dee8a21725db9de2e232cb5092a0670f1d9..db2b841e973f05049f712c732ae8d4815a8aff7a 100644
|
index 9a42a64f52ccbab2cab6119c91b69ab44eeeb9e5..2cd46f4692c84cffff0775bbb67d3585f24e900d 100644
|
||||||
--- a/ui/views/win/hwnd_message_handler.cc
|
--- a/ui/views/win/hwnd_message_handler.cc
|
||||||
+++ b/ui/views/win/hwnd_message_handler.cc
|
+++ b/ui/views/win/hwnd_message_handler.cc
|
||||||
@@ -992,8 +992,11 @@ void HWNDMessageHandler::SetFullscreen(bool fullscreen,
|
@@ -992,8 +992,11 @@ void HWNDMessageHandler::SetFullscreen(bool fullscreen,
|
||||||
|
|
|
@ -12,7 +12,7 @@ Ideally we could add an embedder observer pattern here but that can be
|
||||||
done in future work.
|
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
|
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 0b2956425d2feb84f1d0db7be4f3d4b0875b1d10..f2e37be51049caab4fd6385b5b55f1151708bd82 100644
|
index 3c3c0247ca56ba99b48583a4218712f172458845..c996ded8e1cf83ca0ebb4b3fc18b8d6d80409c9a 100644
|
||||||
--- a/third_party/blink/renderer/core/exported/web_view_impl.cc
|
--- a/third_party/blink/renderer/core/exported/web_view_impl.cc
|
||||||
+++ b/third_party/blink/renderer/core/exported/web_view_impl.cc
|
+++ b/third_party/blink/renderer/core/exported/web_view_impl.cc
|
||||||
@@ -171,6 +171,7 @@
|
@@ -171,6 +171,7 @@
|
||||||
|
|
|
@ -19,7 +19,7 @@ to STDOUT_FILENO/STD_OUTPUT_HANDLE and STDERR_FILENO/STD_ERROR_HANDLE allowing t
|
||||||
parent process to read from the pipe.
|
parent process to read from the pipe.
|
||||||
|
|
||||||
diff --git a/content/browser/child_process_launcher.h b/content/browser/child_process_launcher.h
|
diff --git a/content/browser/child_process_launcher.h b/content/browser/child_process_launcher.h
|
||||||
index ac6f72c99800d5437ddc4aa203870242fb9220b9..93055bda5478f4b7b401ae06dcddce36a26f5ad7 100644
|
index 4c3d9917baee848b673d2895a54d96528ef14286..a3735de9aa88cef41be61fe742d8beb85de96a6e 100644
|
||||||
--- a/content/browser/child_process_launcher.h
|
--- a/content/browser/child_process_launcher.h
|
||||||
+++ b/content/browser/child_process_launcher.h
|
+++ b/content/browser/child_process_launcher.h
|
||||||
@@ -33,6 +33,7 @@
|
@@ -33,6 +33,7 @@
|
||||||
|
@ -30,7 +30,7 @@ index ac6f72c99800d5437ddc4aa203870242fb9220b9..93055bda5478f4b7b401ae06dcddce36
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if BUILDFLAG(IS_POSIX)
|
#if BUILDFLAG(IS_POSIX)
|
||||||
@@ -188,7 +189,10 @@ struct ChildProcessLauncherFileData {
|
@@ -193,7 +194,10 @@ struct ChildProcessLauncherFileData {
|
||||||
delete;
|
delete;
|
||||||
~ChildProcessLauncherFileData();
|
~ChildProcessLauncherFileData();
|
||||||
|
|
||||||
|
@ -42,7 +42,7 @@ index ac6f72c99800d5437ddc4aa203870242fb9220b9..93055bda5478f4b7b401ae06dcddce36
|
||||||
// Files opened by the browser and passed as corresponding file descriptors
|
// Files opened by the browser and passed as corresponding file descriptors
|
||||||
// in the child process. If a FilePath is provided, the file will be opened
|
// in the child process. If a FilePath is provided, the file will be opened
|
||||||
// and the descriptor cached for future process launches. If a ScopedFD is
|
// and the descriptor cached for future process launches. If a ScopedFD is
|
||||||
@@ -203,6 +207,15 @@ struct ChildProcessLauncherFileData {
|
@@ -208,6 +212,15 @@ struct ChildProcessLauncherFileData {
|
||||||
std::map<std::string, std::variant<base::FilePath, base::ScopedFD>>
|
std::map<std::string, std::variant<base::FilePath, base::ScopedFD>>
|
||||||
files_to_preload;
|
files_to_preload;
|
||||||
#endif
|
#endif
|
||||||
|
@ -59,7 +59,7 @@ index ac6f72c99800d5437ddc4aa203870242fb9220b9..93055bda5478f4b7b401ae06dcddce36
|
||||||
|
|
||||||
// Launches a process asynchronously and notifies the client of the process
|
// Launches a process asynchronously and notifies the client of the process
|
||||||
diff --git a/content/browser/child_process_launcher_helper_linux.cc b/content/browser/child_process_launcher_helper_linux.cc
|
diff --git a/content/browser/child_process_launcher_helper_linux.cc b/content/browser/child_process_launcher_helper_linux.cc
|
||||||
index 31a2a14a95540477297943df9b09b1e4659a884d..c02a81b1bd14a300dbbb47ad7aac2d2d7f3bb10f 100644
|
index 8f551374e1ffc729081f7d50e73671313c641bb6..6e7a3f46b82f82035f612f9700281d0edb363de5 100644
|
||||||
--- a/content/browser/child_process_launcher_helper_linux.cc
|
--- a/content/browser/child_process_launcher_helper_linux.cc
|
||||||
+++ b/content/browser/child_process_launcher_helper_linux.cc
|
+++ b/content/browser/child_process_launcher_helper_linux.cc
|
||||||
@@ -64,6 +64,11 @@ bool ChildProcessLauncherHelper::BeforeLaunchOnLauncherThread(
|
@@ -64,6 +64,11 @@ bool ChildProcessLauncherHelper::BeforeLaunchOnLauncherThread(
|
||||||
|
@ -111,7 +111,7 @@ index 1d981cec12769d145b694b61772b4c09616df9f0..cf9d9bfe7af12e16520354ebd1f7bc40
|
||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/content/browser/child_process_launcher_helper_win.cc b/content/browser/child_process_launcher_helper_win.cc
|
diff --git a/content/browser/child_process_launcher_helper_win.cc b/content/browser/child_process_launcher_helper_win.cc
|
||||||
index cb0e7d5c5dc0154c6e88ad08ce097afdce4041f9..09b9cff76d9585297fe60f91970c610ac445f06a 100644
|
index 0791b5317fc6846389f65f93734ae5e816d04623..48948b409d6da58ade72c60ed848df4931d0eaab 100644
|
||||||
--- a/content/browser/child_process_launcher_helper_win.cc
|
--- a/content/browser/child_process_launcher_helper_win.cc
|
||||||
+++ b/content/browser/child_process_launcher_helper_win.cc
|
+++ b/content/browser/child_process_launcher_helper_win.cc
|
||||||
@@ -24,6 +24,8 @@
|
@@ -24,6 +24,8 @@
|
||||||
|
|
|
@ -112,10 +112,10 @@ index 6e991652d242795e292cea4c94cff59aaea078fa..b6834c78575520bb6e584dd2ce3333ac
|
||||||
'internal-forced-visited-'):
|
'internal-forced-visited-'):
|
||||||
internal_visited_order = 0
|
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
|
diff --git a/third_party/blink/renderer/core/css/css_properties.json5 b/third_party/blink/renderer/core/css/css_properties.json5
|
||||||
index c3dfa4c1f53a6ebba5735214037e0d1c6a88961d..17a08450227844dceccbaab7ff9de60d6e058b1f 100644
|
index cc8657b515dd791e910343122e73be6fc8c1d38e..78299aca166e20c1e5f1f049beab915334d1612d 100644
|
||||||
--- a/third_party/blink/renderer/core/css/css_properties.json5
|
--- a/third_party/blink/renderer/core/css/css_properties.json5
|
||||||
+++ b/third_party/blink/renderer/core/css/css_properties.json5
|
+++ b/third_party/blink/renderer/core/css/css_properties.json5
|
||||||
@@ -8822,6 +8822,24 @@
|
@@ -8823,6 +8823,24 @@
|
||||||
property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"],
|
property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"],
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -154,10 +154,10 @@ index ff1cc33c1787df522300a220000ad3d3123cd7bd..6b9e72f60db9af5ceeac7cc663ac666b
|
||||||
return a.EmptyCells() == b.EmptyCells();
|
return a.EmptyCells() == b.EmptyCells();
|
||||||
case CSSPropertyID::kFill:
|
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
|
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 4bc9534e12a7f71f9837ea8de4c85572d2e4af11..0d9368c96b175b767c8ed912daf434a334093123 100644
|
index cefbbebae039bb9cdbdf57612feff660dfe94d87..3c3dea18f97a3df1ef6eb095c34951492285cee0 100644
|
||||||
--- a/third_party/blink/renderer/core/css/properties/longhands/longhands_custom.cc
|
--- a/third_party/blink/renderer/core/css/properties/longhands/longhands_custom.cc
|
||||||
+++ b/third_party/blink/renderer/core/css/properties/longhands/longhands_custom.cc
|
+++ b/third_party/blink/renderer/core/css/properties/longhands/longhands_custom.cc
|
||||||
@@ -12050,5 +12050,25 @@ const CSSValue* InternalEmptyLineHeight::ParseSingleValue(
|
@@ -12071,5 +12071,25 @@ const CSSValue* InternalEmptyLineHeight::ParseSingleValue(
|
||||||
CSSValueID::kNone>(stream);
|
CSSValueID::kNone>(stream);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -239,7 +239,7 @@ index 5e8d2bfbccd0625c2598544a9cba3d71373eded2..e68a97ee75754fc7196f11cf5c731550
|
||||||
bool RenderVSyncNotificationEnabled() const {
|
bool RenderVSyncNotificationEnabled() const {
|
||||||
return render_v_sync_notification_enabled_;
|
return render_v_sync_notification_enabled_;
|
||||||
diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_party/blink/renderer/core/exported/web_view_impl.cc
|
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 f2e37be51049caab4fd6385b5b55f1151708bd82..c0078bff37cfd1a4e5da111f6ec1aa817987a7ab 100644
|
index c996ded8e1cf83ca0ebb4b3fc18b8d6d80409c9a..d589a8a5264b2a7c2b21aa83e8c1faa5fb8f93a1 100644
|
||||||
--- a/third_party/blink/renderer/core/exported/web_view_impl.cc
|
--- a/third_party/blink/renderer/core/exported/web_view_impl.cc
|
||||||
+++ b/third_party/blink/renderer/core/exported/web_view_impl.cc
|
+++ b/third_party/blink/renderer/core/exported/web_view_impl.cc
|
||||||
@@ -3574,6 +3574,9 @@ void WebViewImpl::UpdateRendererPreferences(
|
@@ -3574,6 +3574,9 @@ void WebViewImpl::UpdateRendererPreferences(
|
||||||
|
@ -307,7 +307,7 @@ index 2c2f4f405074e5baa4a26f255283404f86b40e21..ebeb7d6988ee9e6a4e78cb82fc01fdad
|
||||||
|
|
||||||
ContouredRect PixelSnappedContouredBorderInternal(
|
ContouredRect PixelSnappedContouredBorderInternal(
|
||||||
diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/renderer/platform/BUILD.gn
|
diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/renderer/platform/BUILD.gn
|
||||||
index b5a309cb7bad79f80fb43dcbcccbd8dc2fcdfef8..c90d8f2f283e9bd05184171d3971d0060731f67d 100644
|
index 3788f76b50f6a1776baef2131033a62875e101b9..f3e2226021d1de6a5cb787538ca6c0f18f208670 100644
|
||||||
--- a/third_party/blink/renderer/platform/BUILD.gn
|
--- a/third_party/blink/renderer/platform/BUILD.gn
|
||||||
+++ b/third_party/blink/renderer/platform/BUILD.gn
|
+++ b/third_party/blink/renderer/platform/BUILD.gn
|
||||||
@@ -1658,6 +1658,8 @@ component("platform") {
|
@@ -1658,6 +1658,8 @@ component("platform") {
|
||||||
|
|
|
@ -7,7 +7,7 @@ This allows embedders to call SetDefersLoading without reaching into Blink inter
|
||||||
This might be upstreamable?
|
This might be upstreamable?
|
||||||
|
|
||||||
diff --git a/third_party/blink/public/web/web_document_loader.h b/third_party/blink/public/web/web_document_loader.h
|
diff --git a/third_party/blink/public/web/web_document_loader.h b/third_party/blink/public/web/web_document_loader.h
|
||||||
index 0527831e1f8d7923ba0f687a5c0da8573189d867..f72af0e6cfcf06d47bd917def993f081530ab66b 100644
|
index 33e23680b927d417b0882c7572fe32dc2d2b90c3..9413492f8e0fd6c5371c66329e1ad6d4163ba670 100644
|
||||||
--- a/third_party/blink/public/web/web_document_loader.h
|
--- a/third_party/blink/public/web/web_document_loader.h
|
||||||
+++ b/third_party/blink/public/web/web_document_loader.h
|
+++ b/third_party/blink/public/web/web_document_loader.h
|
||||||
@@ -38,6 +38,7 @@
|
@@ -38,6 +38,7 @@
|
||||||
|
@ -28,10 +28,10 @@ index 0527831e1f8d7923ba0f687a5c0da8573189d867..f72af0e6cfcf06d47bd917def993f081
|
||||||
|
|
||||||
// Returns the http referrer of original request which initited this load.
|
// 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
|
diff --git a/third_party/blink/renderer/core/loader/document_loader.h b/third_party/blink/renderer/core/loader/document_loader.h
|
||||||
index 10682e129daf40104a71d0067aa126cc13a1e8b7..fb8696d850fc3fbbcd66087c8cafc53acee462aa 100644
|
index 01b97e569a69fb1395e63492ac75432d648bb71f..6e58d859e2afd3bd8b9b17c53ba9ccc6dbdcd458 100644
|
||||||
--- a/third_party/blink/renderer/core/loader/document_loader.h
|
--- a/third_party/blink/renderer/core/loader/document_loader.h
|
||||||
+++ b/third_party/blink/renderer/core/loader/document_loader.h
|
+++ b/third_party/blink/renderer/core/loader/document_loader.h
|
||||||
@@ -328,7 +328,7 @@ class CORE_EXPORT DocumentLoader : public GarbageCollected<DocumentLoader>,
|
@@ -325,7 +325,7 @@ class CORE_EXPORT DocumentLoader : public GarbageCollected<DocumentLoader>,
|
||||||
soft_navigation_heuristics_task_id,
|
soft_navigation_heuristics_task_id,
|
||||||
bool should_skip_screenshot);
|
bool should_skip_screenshot);
|
||||||
|
|
||||||
|
|
|
@ -112,7 +112,7 @@ index 99bf736ebe303d46ab1ced924ba929a0cd258909..e10c8782d2704ff9cff8062d201a4339
|
||||||
string mime_type;
|
string mime_type;
|
||||||
|
|
||||||
diff --git a/services/network/url_loader.cc b/services/network/url_loader.cc
|
diff --git a/services/network/url_loader.cc b/services/network/url_loader.cc
|
||||||
index 7d04e7f5f7f4261909fe06d6894849db34d7552b..6af6e0a32e59523ff7b3ba3a5d32e711ba422f87 100644
|
index 565d77c76805898c7dccc472daf2853cdafd9fbb..fd62b19ef22e162f3f4ea6ac510996bccec8fe2f 100644
|
||||||
--- a/services/network/url_loader.cc
|
--- a/services/network/url_loader.cc
|
||||||
+++ b/services/network/url_loader.cc
|
+++ b/services/network/url_loader.cc
|
||||||
@@ -388,6 +388,9 @@ URLLoader::URLLoader(
|
@@ -388,6 +388,9 @@ URLLoader::URLLoader(
|
||||||
|
|
|
@ -14,7 +14,7 @@ This patch likely can't be upstreamed as-is, as Chromium doesn't have
|
||||||
this use case in mind currently.
|
this use case in mind currently.
|
||||||
|
|
||||||
diff --git a/ui/views/win/hwnd_message_handler.cc b/ui/views/win/hwnd_message_handler.cc
|
diff --git a/ui/views/win/hwnd_message_handler.cc b/ui/views/win/hwnd_message_handler.cc
|
||||||
index 6e706c32ca4c2a5d0831588ee2eea8a8059f04fe..09509acd13511525b0eb7b9afa972e20d8d3601c 100644
|
index 88f658aeb32a3181e3a0cd45fbd2aacad95116aa..cef61dcf3ab89f06cba16f309e800dbab5a7cc05 100644
|
||||||
--- a/ui/views/win/hwnd_message_handler.cc
|
--- a/ui/views/win/hwnd_message_handler.cc
|
||||||
+++ b/ui/views/win/hwnd_message_handler.cc
|
+++ b/ui/views/win/hwnd_message_handler.cc
|
||||||
@@ -936,13 +936,13 @@ void HWNDMessageHandler::FrameTypeChanged() {
|
@@ -936,13 +936,13 @@ void HWNDMessageHandler::FrameTypeChanged() {
|
||||||
|
@ -33,7 +33,7 @@ index 6e706c32ca4c2a5d0831588ee2eea8a8059f04fe..09509acd13511525b0eb7b9afa972e20
|
||||||
}
|
}
|
||||||
|
|
||||||
void HWNDMessageHandler::SetWindowIcons(const gfx::ImageSkia& window_icon,
|
void HWNDMessageHandler::SetWindowIcons(const gfx::ImageSkia& window_icon,
|
||||||
@@ -1739,7 +1739,7 @@ void HWNDMessageHandler::OnActivateApp(BOOL active, DWORD thread_id) {
|
@@ -1728,7 +1728,7 @@ void HWNDMessageHandler::OnActivateApp(BOOL active, DWORD thread_id) {
|
||||||
if (delegate_->HasNonClientView() && !active &&
|
if (delegate_->HasNonClientView() && !active &&
|
||||||
thread_id != GetCurrentThreadId()) {
|
thread_id != GetCurrentThreadId()) {
|
||||||
// Update the native frame if it is rendering the non-client area.
|
// Update the native frame if it is rendering the non-client area.
|
||||||
|
@ -42,7 +42,7 @@ index 6e706c32ca4c2a5d0831588ee2eea8a8059f04fe..09509acd13511525b0eb7b9afa972e20
|
||||||
DefWindowProcWithRedrawLock(WM_NCACTIVATE, FALSE, 0);
|
DefWindowProcWithRedrawLock(WM_NCACTIVATE, FALSE, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2347,17 +2347,18 @@ LRESULT HWNDMessageHandler::OnNCActivate(UINT message,
|
@@ -2336,17 +2336,18 @@ LRESULT HWNDMessageHandler::OnNCActivate(UINT message,
|
||||||
delegate_->SchedulePaint();
|
delegate_->SchedulePaint();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -11,10 +11,10 @@ enlarge window above dimensions set during creation of the
|
||||||
BrowserWindow.
|
BrowserWindow.
|
||||||
|
|
||||||
diff --git a/ui/views/win/hwnd_message_handler.cc b/ui/views/win/hwnd_message_handler.cc
|
diff --git a/ui/views/win/hwnd_message_handler.cc b/ui/views/win/hwnd_message_handler.cc
|
||||||
index db2b841e973f05049f712c732ae8d4815a8aff7a..5919efa661c3b1ed210f7a67f85fdd3882011bae 100644
|
index 2cd46f4692c84cffff0775bbb67d3585f24e900d..9747e945b2ebfc113ffd12839c28a98fcccf2872 100644
|
||||||
--- a/ui/views/win/hwnd_message_handler.cc
|
--- a/ui/views/win/hwnd_message_handler.cc
|
||||||
+++ b/ui/views/win/hwnd_message_handler.cc
|
+++ b/ui/views/win/hwnd_message_handler.cc
|
||||||
@@ -3782,15 +3782,30 @@ void HWNDMessageHandler::SizeWindowToAspectRatio(UINT param,
|
@@ -3771,15 +3771,30 @@ void HWNDMessageHandler::SizeWindowToAspectRatio(UINT param,
|
||||||
delegate_->GetMinMaxSize(&min_window_size, &max_window_size);
|
delegate_->GetMinMaxSize(&min_window_size, &max_window_size);
|
||||||
min_window_size = delegate_->DIPToScreenSize(min_window_size);
|
min_window_size = delegate_->DIPToScreenSize(min_window_size);
|
||||||
max_window_size = delegate_->DIPToScreenSize(max_window_size);
|
max_window_size = delegate_->DIPToScreenSize(max_window_size);
|
||||||
|
|
|
@ -28,27 +28,26 @@ The patch should be removed in favor of either:
|
||||||
Upstream bug https://bugs.chromium.org/p/chromium/issues/detail?id=1081397.
|
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
|
diff --git a/content/browser/renderer_host/navigation_request.cc b/content/browser/renderer_host/navigation_request.cc
|
||||||
index 0dbbaddc1bef8b5a1b253297f47c33601dc6fe67..0c84f727b29c742ba4c2edd38dfa16d1f48df76f 100644
|
index e5776378633dba0b60a79a9044991ceaafe86e72..2beccf1bb05e8695e3e2191683e0a9bc1184544a 100644
|
||||||
--- a/content/browser/renderer_host/navigation_request.cc
|
--- a/content/browser/renderer_host/navigation_request.cc
|
||||||
+++ b/content/browser/renderer_host/navigation_request.cc
|
+++ b/content/browser/renderer_host/navigation_request.cc
|
||||||
@@ -11110,6 +11110,12 @@ NavigationRequest::GetOriginForURLLoaderFactoryUncheckedWithDebugInfo() {
|
@@ -11076,6 +11076,11 @@ url::Origin NavigationRequest::GetOriginForURLLoaderFactoryUnchecked() {
|
||||||
"blob");
|
target_rph_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
+ if (!common_params().url.IsStandard() && !common_params().url.IsAboutBlank()) {
|
+ if (!common_params().url.IsStandard() && !common_params().url.IsAboutBlank()) {
|
||||||
+ return std::make_pair(url::Origin::Resolve(common_params().url,
|
+ return url::Origin::Resolve(common_params().url,
|
||||||
+ url::Origin()),
|
+ url::Origin());
|
||||||
+ "url_non_standard");
|
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
// In cases not covered above, URLLoaderFactory should be associated with the
|
// In cases not covered above, URLLoaderFactory should be associated with the
|
||||||
// origin of |common_params.url| and/or |common_params.initiator_origin|.
|
// origin of |common_params.url| and/or |common_params.initiator_origin|.
|
||||||
url::Origin resolved_origin = url::Origin::Resolve(
|
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
|
diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_party/blink/renderer/core/loader/document_loader.cc
|
||||||
index abcc4436479e7c9bc0dbf77c70c628e48d6ea1b8..510c088fd06d5989e710ba6674e1798bd5d63954 100644
|
index 59e909f5b9b3b9e2cb648359d3a0b4db2f1671b7..297aa66d55a62557deafe1d723809d68f898095c 100644
|
||||||
--- a/third_party/blink/renderer/core/loader/document_loader.cc
|
--- a/third_party/blink/renderer/core/loader/document_loader.cc
|
||||||
+++ b/third_party/blink/renderer/core/loader/document_loader.cc
|
+++ b/third_party/blink/renderer/core/loader/document_loader.cc
|
||||||
@@ -2333,6 +2333,10 @@ Frame* DocumentLoader::CalculateOwnerFrame() {
|
@@ -2332,6 +2332,10 @@ Frame* DocumentLoader::CalculateOwnerFrame() {
|
||||||
scoped_refptr<SecurityOrigin> DocumentLoader::CalculateOrigin(
|
scoped_refptr<SecurityOrigin> DocumentLoader::CalculateOrigin(
|
||||||
Document* owner_document) {
|
Document* owner_document) {
|
||||||
scoped_refptr<SecurityOrigin> origin;
|
scoped_refptr<SecurityOrigin> origin;
|
||||||
|
@ -56,17 +55,16 @@ index abcc4436479e7c9bc0dbf77c70c628e48d6ea1b8..510c088fd06d5989e710ba6674e1798b
|
||||||
+ std::string protocol = url_.Protocol().Ascii();
|
+ std::string protocol = url_.Protocol().Ascii();
|
||||||
+ is_standard = url::IsStandard(
|
+ is_standard = url::IsStandard(
|
||||||
+ protocol.data(), url::Component(0, static_cast<int>(protocol.size())));
|
+ protocol.data(), url::Component(0, static_cast<int>(protocol.size())));
|
||||||
StringBuilder debug_info_builder;
|
|
||||||
// Whether the origin is newly created within this call, instead of copied
|
// 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
|
// from an existing document's origin or from `origin_to_commit_`. If this is
|
||||||
@@ -2386,6 +2390,10 @@ scoped_refptr<SecurityOrigin> DocumentLoader::CalculateOrigin(
|
// true, we won't try to compare the nonce of this origin (if it's opaque) to
|
||||||
|
@@ -2368,6 +2372,9 @@ scoped_refptr<SecurityOrigin> DocumentLoader::CalculateOrigin(
|
||||||
|
// non-renderer only origin bits will be the same, which will be asserted at
|
||||||
// the end of this function.
|
// the end of this function.
|
||||||
origin = origin_to_commit_;
|
origin = origin_to_commit_;
|
||||||
debug_info_builder.Append("use_origin_to_commit");
|
|
||||||
+ } else if (!SecurityOrigin::ShouldUseInnerURL(url_) &&
|
+ } else if (!SecurityOrigin::ShouldUseInnerURL(url_) &&
|
||||||
+ !is_standard) {
|
+ !is_standard) {
|
||||||
+ debug_info_builder.Append("use_url_with_non_standard_scheme");
|
|
||||||
+ origin = SecurityOrigin::Create(url_);
|
+ origin = SecurityOrigin::Create(url_);
|
||||||
} else {
|
} else {
|
||||||
debug_info_builder.Append("use_url_with_precursor");
|
|
||||||
// Otherwise, create an origin that propagates precursor information
|
// Otherwise, create an origin that propagates precursor information
|
||||||
|
// as needed. For non-opaque origins, this creates a standard tuple
|
||||||
|
|
|
@ -87,10 +87,10 @@ index 75df43e3cd2721a92c90c18154d53d5c203e2465..ce42c75c8face36d21f53f44c0201ac4
|
||||||
// The view with active text input state, i.e., a focused <input> element.
|
// The view with active text input state, i.e., a focused <input> element.
|
||||||
// It will be nullptr if no such view exists. Note that the active view
|
// It will be nullptr if no such view exists. Note that the active view
|
||||||
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
|
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
|
||||||
index e96a656473e0d18a8053dab92dbeb1afb174d27f..e3085847de7875afa655b3cfa4aa39892be626eb 100644
|
index 020d8d111d756dbe8bbae47a0e7dc74b63501b54..70b3c4a2da0e1d79a7626e0bb2ed45b8fbbe0024 100644
|
||||||
--- a/content/browser/web_contents/web_contents_impl.cc
|
--- a/content/browser/web_contents/web_contents_impl.cc
|
||||||
+++ b/content/browser/web_contents/web_contents_impl.cc
|
+++ b/content/browser/web_contents/web_contents_impl.cc
|
||||||
@@ -9997,7 +9997,7 @@ void WebContentsImpl::OnFocusedElementChangedInFrame(
|
@@ -10019,7 +10019,7 @@ void WebContentsImpl::OnFocusedElementChangedInFrame(
|
||||||
"WebContentsImpl::OnFocusedElementChangedInFrame",
|
"WebContentsImpl::OnFocusedElementChangedInFrame",
|
||||||
"render_frame_host", frame);
|
"render_frame_host", frame);
|
||||||
RenderWidgetHostViewBase* root_view =
|
RenderWidgetHostViewBase* root_view =
|
||||||
|
|
|
@ -102,10 +102,10 @@ index 2808248f6eb3f5c75f20775d61c9d0d20aaaecf6..7c186bd5653e9bdf1c4046398b138cac
|
||||||
} else {
|
} else {
|
||||||
// No need to bother, we don't know how many pages are available.
|
// No need to bother, we don't know how many pages are available.
|
||||||
diff --git a/ui/gtk/printing/print_dialog_gtk.cc b/ui/gtk/printing/print_dialog_gtk.cc
|
diff --git a/ui/gtk/printing/print_dialog_gtk.cc b/ui/gtk/printing/print_dialog_gtk.cc
|
||||||
index 2f9738b2b0612eb1ae579e49edaa22b4df136739..470c88b898bb7e7bfd87204816f5042684f69fb6 100644
|
index 6fc177bdd111c3f0478dc614a2e71ab6f43cf8b9..3de8c0157cd781638f0281edfe6cc34f4f792da7 100644
|
||||||
--- a/ui/gtk/printing/print_dialog_gtk.cc
|
--- a/ui/gtk/printing/print_dialog_gtk.cc
|
||||||
+++ b/ui/gtk/printing/print_dialog_gtk.cc
|
+++ b/ui/gtk/printing/print_dialog_gtk.cc
|
||||||
@@ -258,6 +258,24 @@ void PrintDialogGtk::UpdateSettings(
|
@@ -256,6 +256,24 @@ void PrintDialogGtk::UpdateSettings(
|
||||||
|
|
||||||
gtk_print_settings_set_n_copies(gtk_settings_, settings->copies());
|
gtk_print_settings_set_n_copies(gtk_settings_, settings->copies());
|
||||||
gtk_print_settings_set_collate(gtk_settings_, settings->collate());
|
gtk_print_settings_set_collate(gtk_settings_, settings->collate());
|
||||||
|
|
|
@ -18,10 +18,10 @@ or resizing, but Electron does not seem to run into that issue
|
||||||
for opaque frameless windows even with that block commented out.
|
for opaque frameless windows even with that block commented out.
|
||||||
|
|
||||||
diff --git a/ui/views/win/hwnd_message_handler.cc b/ui/views/win/hwnd_message_handler.cc
|
diff --git a/ui/views/win/hwnd_message_handler.cc b/ui/views/win/hwnd_message_handler.cc
|
||||||
index 5b17d5bf0b32405ae9515b941a17b68a04a3b317..6e706c32ca4c2a5d0831588ee2eea8a8059f04fe 100644
|
index 6f2e2702d3b982fe7e8d258f303c8055d3d37df8..88f658aeb32a3181e3a0cd45fbd2aacad95116aa 100644
|
||||||
--- a/ui/views/win/hwnd_message_handler.cc
|
--- a/ui/views/win/hwnd_message_handler.cc
|
||||||
+++ b/ui/views/win/hwnd_message_handler.cc
|
+++ b/ui/views/win/hwnd_message_handler.cc
|
||||||
@@ -1807,7 +1807,23 @@ LRESULT HWNDMessageHandler::OnCreate(CREATESTRUCT* create_struct) {
|
@@ -1796,7 +1796,23 @@ LRESULT HWNDMessageHandler::OnCreate(CREATESTRUCT* create_struct) {
|
||||||
SendMessage(hwnd(), WM_CHANGEUISTATE, MAKELPARAM(UIS_CLEAR, UISF_HIDEFOCUS),
|
SendMessage(hwnd(), WM_CHANGEUISTATE, MAKELPARAM(UIS_CLEAR, UISF_HIDEFOCUS),
|
||||||
0);
|
0);
|
||||||
|
|
||||||
|
|
|
@ -20,7 +20,7 @@ index fc9cb7e68bdad4c40fab63f70243e09ad005ab80..199fbceda530da31aab9126d78b4bd21
|
||||||
injector_->ExpectsResults(), injector_->ShouldWaitForPromise());
|
injector_->ExpectsResults(), injector_->ShouldWaitForPromise());
|
||||||
}
|
}
|
||||||
diff --git a/third_party/blink/public/web/web_local_frame.h b/third_party/blink/public/web/web_local_frame.h
|
diff --git a/third_party/blink/public/web/web_local_frame.h b/third_party/blink/public/web/web_local_frame.h
|
||||||
index 6ea4a0f04eab4e85ec4c9b67f50c5c4e5c6e01e1..5f055fe422904c95e05af5cb0e92241a5d9d53c1 100644
|
index 202a7b6771ce1890a4bb33b66c533584bce746ed..3c5edffc6d623aaabc62bfc134fb968db6bc5345 100644
|
||||||
--- a/third_party/blink/public/web/web_local_frame.h
|
--- a/third_party/blink/public/web/web_local_frame.h
|
||||||
+++ b/third_party/blink/public/web/web_local_frame.h
|
+++ b/third_party/blink/public/web/web_local_frame.h
|
||||||
@@ -461,6 +461,7 @@ class BLINK_EXPORT WebLocalFrame : public WebFrame {
|
@@ -461,6 +461,7 @@ class BLINK_EXPORT WebLocalFrame : public WebFrame {
|
||||||
|
@ -59,10 +59,10 @@ index cba373664bec3a32abad6fe0396bd67b53b7e67f..a54f1b3351efd2d8f324436f7f35cd43
|
||||||
|
|
||||||
#endif // THIRD_PARTY_BLINK_PUBLIC_WEB_WEB_SCRIPT_EXECUTION_CALLBACK_H_
|
#endif // THIRD_PARTY_BLINK_PUBLIC_WEB_WEB_SCRIPT_EXECUTION_CALLBACK_H_
|
||||||
diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc
|
diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc
|
||||||
index e5d629937aaa175d11731bc1048a1b459927e93a..5fa2f36b65a876edc8f2e5905b695b9e5d88afbd 100644
|
index e567f331968b1b1b9d6b85e31397b6a4f7ea7a84..9650e99108cefb8b2963913fb39049f69496a65e 100644
|
||||||
--- a/third_party/blink/renderer/core/frame/local_frame.cc
|
--- a/third_party/blink/renderer/core/frame/local_frame.cc
|
||||||
+++ b/third_party/blink/renderer/core/frame/local_frame.cc
|
+++ b/third_party/blink/renderer/core/frame/local_frame.cc
|
||||||
@@ -3081,6 +3081,7 @@ void LocalFrame::RequestExecuteScript(
|
@@ -3085,6 +3085,7 @@ void LocalFrame::RequestExecuteScript(
|
||||||
mojom::blink::EvaluationTiming evaluation_timing,
|
mojom::blink::EvaluationTiming evaluation_timing,
|
||||||
mojom::blink::LoadEventBlockingOption blocking_option,
|
mojom::blink::LoadEventBlockingOption blocking_option,
|
||||||
WebScriptExecutionCallback callback,
|
WebScriptExecutionCallback callback,
|
||||||
|
@ -70,7 +70,7 @@ index e5d629937aaa175d11731bc1048a1b459927e93a..5fa2f36b65a876edc8f2e5905b695b9e
|
||||||
BackForwardCacheAware back_forward_cache_aware,
|
BackForwardCacheAware back_forward_cache_aware,
|
||||||
mojom::blink::WantResultOption want_result_option,
|
mojom::blink::WantResultOption want_result_option,
|
||||||
mojom::blink::PromiseResultOption promise_behavior) {
|
mojom::blink::PromiseResultOption promise_behavior) {
|
||||||
@@ -3113,7 +3114,7 @@ void LocalFrame::RequestExecuteScript(
|
@@ -3117,7 +3118,7 @@ void LocalFrame::RequestExecuteScript(
|
||||||
PausableScriptExecutor::CreateAndRun(
|
PausableScriptExecutor::CreateAndRun(
|
||||||
script_state, std::move(script_sources), execute_script_policy,
|
script_state, std::move(script_sources), execute_script_policy,
|
||||||
user_gesture, evaluation_timing, blocking_option, want_result_option,
|
user_gesture, evaluation_timing, blocking_option, want_result_option,
|
||||||
|
@ -80,10 +80,10 @@ index e5d629937aaa175d11731bc1048a1b459927e93a..5fa2f36b65a876edc8f2e5905b695b9e
|
||||||
|
|
||||||
void LocalFrame::SetEvictCachedSessionStorageOnFreezeOrUnload() {
|
void LocalFrame::SetEvictCachedSessionStorageOnFreezeOrUnload() {
|
||||||
diff --git a/third_party/blink/renderer/core/frame/local_frame.h b/third_party/blink/renderer/core/frame/local_frame.h
|
diff --git a/third_party/blink/renderer/core/frame/local_frame.h b/third_party/blink/renderer/core/frame/local_frame.h
|
||||||
index 80c57253678d1aa6e655c84f4ccd9c0899eb5a5b..4d6b860409d35da509b7ef8c5d52fa9f92f1b542 100644
|
index a65d5821a23a965ad715377ab15ca9df20ade075..63be18b05aa31ca48202e2809b235348fec61b0e 100644
|
||||||
--- a/third_party/blink/renderer/core/frame/local_frame.h
|
--- a/third_party/blink/renderer/core/frame/local_frame.h
|
||||||
+++ b/third_party/blink/renderer/core/frame/local_frame.h
|
+++ b/third_party/blink/renderer/core/frame/local_frame.h
|
||||||
@@ -830,6 +830,7 @@ class CORE_EXPORT LocalFrame final
|
@@ -834,6 +834,7 @@ class CORE_EXPORT LocalFrame final
|
||||||
mojom::blink::EvaluationTiming,
|
mojom::blink::EvaluationTiming,
|
||||||
mojom::blink::LoadEventBlockingOption,
|
mojom::blink::LoadEventBlockingOption,
|
||||||
WebScriptExecutionCallback,
|
WebScriptExecutionCallback,
|
||||||
|
@ -215,7 +215,7 @@ index 5e12b61ba14cd1afb07b71ff15e73e905da0addc..685a2ebb6694c173471d045014932125
|
||||||
mojom::blink::WantResultOption::kWantResult, wait_for_promise);
|
mojom::blink::WantResultOption::kWantResult, wait_for_promise);
|
||||||
}
|
}
|
||||||
diff --git a/third_party/blink/renderer/core/frame/web_local_frame_impl.cc b/third_party/blink/renderer/core/frame/web_local_frame_impl.cc
|
diff --git a/third_party/blink/renderer/core/frame/web_local_frame_impl.cc b/third_party/blink/renderer/core/frame/web_local_frame_impl.cc
|
||||||
index dd0c441d45ebb30c5a32822365f2ebe273b8cd16..164daddaccb84a28cf4bd387f382afddfc2613d3 100644
|
index b9adaba2543608f91815ca5e1aca443da5813d9d..966210be0d0b2d89c0b24ea12686ebe0289087a1 100644
|
||||||
--- a/third_party/blink/renderer/core/frame/web_local_frame_impl.cc
|
--- a/third_party/blink/renderer/core/frame/web_local_frame_impl.cc
|
||||||
+++ b/third_party/blink/renderer/core/frame/web_local_frame_impl.cc
|
+++ b/third_party/blink/renderer/core/frame/web_local_frame_impl.cc
|
||||||
@@ -1111,14 +1111,15 @@ void WebLocalFrameImpl::RequestExecuteScript(
|
@@ -1111,14 +1111,15 @@ void WebLocalFrameImpl::RequestExecuteScript(
|
||||||
|
@ -237,7 +237,7 @@ index dd0c441d45ebb30c5a32822365f2ebe273b8cd16..164daddaccb84a28cf4bd387f382afdd
|
||||||
|
|
||||||
bool WebLocalFrameImpl::IsInspectorConnected() {
|
bool WebLocalFrameImpl::IsInspectorConnected() {
|
||||||
diff --git a/third_party/blink/renderer/core/frame/web_local_frame_impl.h b/third_party/blink/renderer/core/frame/web_local_frame_impl.h
|
diff --git a/third_party/blink/renderer/core/frame/web_local_frame_impl.h b/third_party/blink/renderer/core/frame/web_local_frame_impl.h
|
||||||
index 87d933b2e413f404a9b80480bdf676eb0c8a2bfa..17329fb46c0d19645ad5411bbfba33dadfea4529 100644
|
index 7ec474cece9a73818ef7e8bdca751d4ac8a4b789..640cdc71a67ed4cbf009a93a7b66154d4b36e03c 100644
|
||||||
--- a/third_party/blink/renderer/core/frame/web_local_frame_impl.h
|
--- a/third_party/blink/renderer/core/frame/web_local_frame_impl.h
|
||||||
+++ b/third_party/blink/renderer/core/frame/web_local_frame_impl.h
|
+++ b/third_party/blink/renderer/core/frame/web_local_frame_impl.h
|
||||||
@@ -198,6 +198,7 @@ class CORE_EXPORT WebLocalFrameImpl final
|
@@ -198,6 +198,7 @@ class CORE_EXPORT WebLocalFrameImpl final
|
||||||
|
|
|
@ -6,7 +6,7 @@ Subject: fix: select the first menu item when opened via keyboard
|
||||||
This fixes an accessibility issue where the root view is 'focused' to the screen reader instead of the first menu item as with all other native menus. This patch will be upstreamed.
|
This fixes an accessibility issue where the root view is 'focused' to the screen reader instead of the first menu item as with all other native menus. This patch will be upstreamed.
|
||||||
|
|
||||||
diff --git a/ui/views/controls/menu/menu_controller.cc b/ui/views/controls/menu/menu_controller.cc
|
diff --git a/ui/views/controls/menu/menu_controller.cc b/ui/views/controls/menu/menu_controller.cc
|
||||||
index d3e06148b22f06e6676bcda5fd8907595389887e..35f22b679494940ae1b1d64fa4eb17c41c0cc623 100644
|
index 05dfc40b27072ee8f67930508e9005a9ba569348..9d5ad3940c1dd2228cc651d6d99cb52137626a7e 100644
|
||||||
--- a/ui/views/controls/menu/menu_controller.cc
|
--- a/ui/views/controls/menu/menu_controller.cc
|
||||||
+++ b/ui/views/controls/menu/menu_controller.cc
|
+++ b/ui/views/controls/menu/menu_controller.cc
|
||||||
@@ -711,6 +711,16 @@ void MenuController::Run(Widget* parent,
|
@@ -711,6 +711,16 @@ void MenuController::Run(Widget* parent,
|
||||||
|
@ -26,7 +26,7 @@ index d3e06148b22f06e6676bcda5fd8907595389887e..35f22b679494940ae1b1d64fa4eb17c4
|
||||||
if (button_controller) {
|
if (button_controller) {
|
||||||
pressed_lock_ = button_controller->TakeLock(
|
pressed_lock_ = button_controller->TakeLock(
|
||||||
false, ui::LocatedEvent::FromIfValid(event));
|
false, ui::LocatedEvent::FromIfValid(event));
|
||||||
@@ -2426,19 +2436,15 @@ void MenuController::OpenMenuImpl(MenuItemView* item, bool show) {
|
@@ -2440,19 +2450,15 @@ void MenuController::OpenMenuImpl(MenuItemView* item, bool show) {
|
||||||
}
|
}
|
||||||
item->GetSubmenu()->ShowAt(params);
|
item->GetSubmenu()->ShowAt(params);
|
||||||
|
|
||||||
|
|
|
@ -1,31 +0,0 @@
|
||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Samuel Maddock <smaddock@slack-corp.com>
|
|
||||||
Date: Fri, 18 Oct 2024 11:11:11 -0400
|
|
||||||
Subject: fix: software compositing infinite loop
|
|
||||||
|
|
||||||
When GPU compositing is unavailable, LayerTreeView::RequestNewLayerTreeFrameSink
|
|
||||||
may run in an infinite loop due to a race condition. Need to allow time to
|
|
||||||
process CompositingModeFallbackToSoftware IPC to disable GPU compositing.
|
|
||||||
|
|
||||||
https://issues.chromium.org/345275130
|
|
||||||
|
|
||||||
diff --git a/third_party/blink/renderer/platform/widget/compositing/layer_tree_view.cc b/third_party/blink/renderer/platform/widget/compositing/layer_tree_view.cc
|
|
||||||
index 7253162094080c992bbb9f58dd9856d75a1f7476..14b74a675f7363b7aa3449459e0034f21d31dd87 100644
|
|
||||||
--- a/third_party/blink/renderer/platform/widget/compositing/layer_tree_view.cc
|
|
||||||
+++ b/third_party/blink/renderer/platform/widget/compositing/layer_tree_view.cc
|
|
||||||
@@ -387,9 +387,13 @@ void LayerTreeView::DidFailToInitializeLayerTreeFrameSink() {
|
|
||||||
// unable to be killed after Chrome is closed.
|
|
||||||
// https://issues.chromium.org/336164423
|
|
||||||
if (!Platform::Current()->IsGpuRemoteDisconnected()) {
|
|
||||||
- layer_tree_host_->GetTaskRunnerProvider()->MainThreadTaskRunner()->PostTask(
|
|
||||||
+ // CompositingModeFallbackToSoftware IPC will disable GPU compositing in
|
|
||||||
+ // RenderThread. Post task with delay to give time to receive this IPC and
|
|
||||||
+ // prevent infinite loop of retries for software renderers.
|
|
||||||
+ // https://issues.chromium.org/345275130
|
|
||||||
+ layer_tree_host_->GetTaskRunnerProvider()->MainThreadTaskRunner()->PostDelayedTask(
|
|
||||||
FROM_HERE, base::BindOnce(&LayerTreeView::RequestNewLayerTreeFrameSink,
|
|
||||||
- weak_factory_.GetWeakPtr()));
|
|
||||||
+ weak_factory_.GetWeakPtr()), base::Milliseconds(10));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -15,10 +15,10 @@ capturer was window or screen-specific, as the IDs remain valid for
|
||||||
generic capturer as well.
|
generic capturer as well.
|
||||||
|
|
||||||
diff --git a/content/browser/media/capture/desktop_capture_device.cc b/content/browser/media/capture/desktop_capture_device.cc
|
diff --git a/content/browser/media/capture/desktop_capture_device.cc b/content/browser/media/capture/desktop_capture_device.cc
|
||||||
index 03c74299de1558ed4ce0e8273e936a60e53e6154..fa168fd69a3a9e6679f942651b23b4012a8a9c48 100644
|
index a6a63ac98221f2a5c240eab2a437a3279c18cda6..259791f19d5940161887cd455e200b5185d4cbda 100644
|
||||||
--- a/content/browser/media/capture/desktop_capture_device.cc
|
--- a/content/browser/media/capture/desktop_capture_device.cc
|
||||||
+++ b/content/browser/media/capture/desktop_capture_device.cc
|
+++ b/content/browser/media/capture/desktop_capture_device.cc
|
||||||
@@ -915,8 +915,14 @@ std::unique_ptr<media::VideoCaptureDevice> DesktopCaptureDevice::Create(
|
@@ -955,8 +955,14 @@ std::unique_ptr<media::VideoCaptureDevice> DesktopCaptureDevice::Create(
|
||||||
|
|
||||||
switch (source.type) {
|
switch (source.type) {
|
||||||
case DesktopMediaID::TYPE_SCREEN: {
|
case DesktopMediaID::TYPE_SCREEN: {
|
||||||
|
@ -35,7 +35,7 @@ index 03c74299de1558ed4ce0e8273e936a60e53e6154..fa168fd69a3a9e6679f942651b23b401
|
||||||
if (screen_capturer && screen_capturer->SelectSource(source.id)) {
|
if (screen_capturer && screen_capturer->SelectSource(source.id)) {
|
||||||
capturer = std::make_unique<webrtc::DesktopAndCursorComposer>(
|
capturer = std::make_unique<webrtc::DesktopAndCursorComposer>(
|
||||||
std::move(screen_capturer), options);
|
std::move(screen_capturer), options);
|
||||||
@@ -929,8 +935,14 @@ std::unique_ptr<media::VideoCaptureDevice> DesktopCaptureDevice::Create(
|
@@ -969,8 +975,14 @@ std::unique_ptr<media::VideoCaptureDevice> DesktopCaptureDevice::Create(
|
||||||
}
|
}
|
||||||
|
|
||||||
case DesktopMediaID::TYPE_WINDOW: {
|
case DesktopMediaID::TYPE_WINDOW: {
|
||||||
|
|
|
@ -6,10 +6,10 @@ Subject: frame_host_manager.patch
|
||||||
Allows embedder to intercept site instances created by chromium.
|
Allows embedder to intercept site instances created by chromium.
|
||||||
|
|
||||||
diff --git a/content/browser/renderer_host/render_frame_host_manager.cc b/content/browser/renderer_host/render_frame_host_manager.cc
|
diff --git a/content/browser/renderer_host/render_frame_host_manager.cc b/content/browser/renderer_host/render_frame_host_manager.cc
|
||||||
index b61dfcc8e3306a2c3eb8808c204254af4ad8c248..cec49ddafd46b0296cc548a17efd67527a48f157 100644
|
index a8eea524f693c4f15c08e1c2f48b13c97d28ce75..47e0b121ced6ea129ccffe6364c5a91f826036eb 100644
|
||||||
--- a/content/browser/renderer_host/render_frame_host_manager.cc
|
--- a/content/browser/renderer_host/render_frame_host_manager.cc
|
||||||
+++ b/content/browser/renderer_host/render_frame_host_manager.cc
|
+++ b/content/browser/renderer_host/render_frame_host_manager.cc
|
||||||
@@ -4684,6 +4684,9 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest(
|
@@ -4714,6 +4714,9 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest(
|
||||||
request->ResetStateForSiteInstanceChange();
|
request->ResetStateForSiteInstanceChange();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -20,10 +20,10 @@ index b61dfcc8e3306a2c3eb8808c204254af4ad8c248..cec49ddafd46b0296cc548a17efd6752
|
||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h
|
diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h
|
||||||
index 4a995e6c35abba567bb8be826effb06ba7e2119a..c9636db4a29ae4af408a84eb58d863ae07caf2a2 100644
|
index 17b11b2a4e70f419721649568179c31228612c73..e094c512f71eef3714ed0dd6090fd6c5efab3063 100644
|
||||||
--- a/content/public/browser/content_browser_client.h
|
--- a/content/public/browser/content_browser_client.h
|
||||||
+++ b/content/public/browser/content_browser_client.h
|
+++ b/content/public/browser/content_browser_client.h
|
||||||
@@ -341,6 +341,11 @@ class CONTENT_EXPORT ContentBrowserClient {
|
@@ -342,6 +342,11 @@ class CONTENT_EXPORT ContentBrowserClient {
|
||||||
|
|
||||||
virtual ~ContentBrowserClient() = default;
|
virtual ~ContentBrowserClient() = default;
|
||||||
|
|
||||||
|
|
|
@ -6,13 +6,13 @@ Subject: gritsettings_resource_ids.patch
|
||||||
Add electron resources file to the list of resource ids generation.
|
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
|
diff --git a/tools/gritsettings/resource_ids.spec b/tools/gritsettings/resource_ids.spec
|
||||||
index e9d1729c376bc36ac2c5b0a2c03ae03eb7e3dbff..18f1797d64573ee676e7f3337256d3199f91f29f 100644
|
index 78d72ec8ed37f4a551ff091038e6741e3f0b9efb..1c9de5cc18ab8656e7a91d5ce3f5a5424b7d8739 100644
|
||||||
--- a/tools/gritsettings/resource_ids.spec
|
--- a/tools/gritsettings/resource_ids.spec
|
||||||
+++ b/tools/gritsettings/resource_ids.spec
|
+++ b/tools/gritsettings/resource_ids.spec
|
||||||
@@ -1508,6 +1508,11 @@
|
@@ -1524,6 +1524,11 @@
|
||||||
"<(SHARED_INTERMEDIATE_DIR)/third_party/blink/public/strings/permission_element_generated_strings.grd": {
|
|
||||||
"META": {"sizes": {"messages": [2000],}},
|
"third_party/search_engines_data/resources/search_engines_scaled_resources.grd": {
|
||||||
"messages": [10080],
|
"structures": [10100],
|
||||||
+ },
|
+ },
|
||||||
+
|
+
|
||||||
+ "electron/build/electron_resources.grd": {
|
+ "electron/build/electron_resources.grd": {
|
||||||
|
|
|
@ -11,7 +11,7 @@ If removing this patch causes no sync failures, it's safe to delete :+1:
|
||||||
Ref https://chromium-review.googlesource.com/c/chromium/src/+/2953903
|
Ref https://chromium-review.googlesource.com/c/chromium/src/+/2953903
|
||||||
|
|
||||||
diff --git a/tools/clang/scripts/update.py b/tools/clang/scripts/update.py
|
diff --git a/tools/clang/scripts/update.py b/tools/clang/scripts/update.py
|
||||||
index f274064efd55d7c4691e207c7274f2cee677f4d8..a69cc4107d94268190a0f19a6e53dae231e227ef 100755
|
index 420c106a5f6fbbcfc77f2409e6272689ec71cf87..dad329cec5786323a981e150129c97357122c617 100755
|
||||||
--- a/tools/clang/scripts/update.py
|
--- a/tools/clang/scripts/update.py
|
||||||
+++ b/tools/clang/scripts/update.py
|
+++ b/tools/clang/scripts/update.py
|
||||||
@@ -307,6 +307,8 @@ def GetDefaultHostOs():
|
@@ -307,6 +307,8 @@ def GetDefaultHostOs():
|
||||||
|
|
|
@ -1,50 +0,0 @@
|
||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Shelley Vohr <shelley.vohr@gmail.com>
|
|
||||||
Date: Wed, 7 May 2025 05:08:18 -0700
|
|
||||||
Subject: Make focus methods in WebContentsViewChildFrame NOTIMPLEMENTED
|
|
||||||
|
|
||||||
Change focus methods in WebContentsViewChildFrame to NOTIMPLEMENTED.
|
|
||||||
It's possible to for focus to be called on the child frame, e.g. in the
|
|
||||||
context of chrome.webviewTag, and shouldn't necessarily crash.
|
|
||||||
|
|
||||||
This also fixes an associated crash in Electron, where the NOTREACHED is
|
|
||||||
hit when PointerLockController::LockPointer calls web_contents->Focus().
|
|
||||||
|
|
||||||
Change-Id: Ide58aae2187fbdd807be4ec176d13c76e459ba9c
|
|
||||||
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6508949
|
|
||||||
Commit-Queue: Bo Liu <boliu@chromium.org>
|
|
||||||
Reviewed-by: Bo Liu <boliu@chromium.org>
|
|
||||||
Reviewed-by: Rakina Zata Amni <rakina@chromium.org>
|
|
||||||
Cr-Commit-Position: refs/heads/main@{#1456886}
|
|
||||||
|
|
||||||
diff --git a/content/browser/web_contents/web_contents_view_child_frame.cc b/content/browser/web_contents/web_contents_view_child_frame.cc
|
|
||||||
index b89d4621dc2acc84f7d8c749f34f7f5563543c72..9c206f6ee424fc423d5f772c7559e60ec0df6eef 100644
|
|
||||||
--- a/content/browser/web_contents/web_contents_view_child_frame.cc
|
|
||||||
+++ b/content/browser/web_contents/web_contents_view_child_frame.cc
|
|
||||||
@@ -6,6 +6,7 @@
|
|
||||||
|
|
||||||
#include <utility>
|
|
||||||
|
|
||||||
+#include "base/notimplemented.h"
|
|
||||||
#include "build/build_config.h"
|
|
||||||
#include "content/browser/renderer_host/render_frame_proxy_host.h"
|
|
||||||
#include "content/browser/renderer_host/render_widget_host_view_child_frame.h"
|
|
||||||
@@ -160,15 +161,15 @@ void WebContentsViewChildFrame::DestroyBackForwardTransitionAnimationManager() {
|
|
||||||
}
|
|
||||||
|
|
||||||
void WebContentsViewChildFrame::RestoreFocus() {
|
|
||||||
- NOTREACHED();
|
|
||||||
+ NOTIMPLEMENTED();
|
|
||||||
}
|
|
||||||
|
|
||||||
void WebContentsViewChildFrame::Focus() {
|
|
||||||
- NOTREACHED();
|
|
||||||
+ NOTIMPLEMENTED();
|
|
||||||
}
|
|
||||||
|
|
||||||
void WebContentsViewChildFrame::StoreFocus() {
|
|
||||||
- NOTREACHED();
|
|
||||||
+ NOTIMPLEMENTED();
|
|
||||||
}
|
|
||||||
|
|
||||||
void WebContentsViewChildFrame::FocusThroughTabTraversal(bool reverse) {
|
|
|
@ -7,10 +7,10 @@ Allows embedders to get a handle to the gdk_pixbuf
|
||||||
library already loaded in the process.
|
library already loaded in the process.
|
||||||
|
|
||||||
diff --git a/ui/gtk/gtk_compat.cc b/ui/gtk/gtk_compat.cc
|
diff --git a/ui/gtk/gtk_compat.cc b/ui/gtk/gtk_compat.cc
|
||||||
index 946eb3eef6b0c546ace65de0c7f14b4642208090..9c9a35d439602ea3612ed648931990ec224c8799 100644
|
index 37bb48273cf4833c88622f1158aebfee9423d085..2009a095abfae3207d73c47245e061ff3f9cef80 100644
|
||||||
--- a/ui/gtk/gtk_compat.cc
|
--- a/ui/gtk/gtk_compat.cc
|
||||||
+++ b/ui/gtk/gtk_compat.cc
|
+++ b/ui/gtk/gtk_compat.cc
|
||||||
@@ -70,11 +70,6 @@ void* GetLibGio() {
|
@@ -69,11 +69,6 @@ void* GetLibGio() {
|
||||||
return libgio;
|
return libgio;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -22,7 +22,7 @@ index 946eb3eef6b0c546ace65de0c7f14b4642208090..9c9a35d439602ea3612ed648931990ec
|
||||||
void* GetLibGdk3() {
|
void* GetLibGdk3() {
|
||||||
static void* libgdk3 = DlOpen("libgdk-3.so.0");
|
static void* libgdk3 = DlOpen("libgdk-3.so.0");
|
||||||
return libgdk3;
|
return libgdk3;
|
||||||
@@ -170,6 +165,11 @@ gfx::Insets InsetsFromGtkBorder(const GtkBorder& border) {
|
@@ -169,6 +164,11 @@ gfx::Insets InsetsFromGtkBorder(const GtkBorder& border) {
|
||||||
|
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
|
|
|
@ -35,7 +35,7 @@ system font by checking if it's kCTFontPriorityAttribute is set to
|
||||||
system priority.
|
system priority.
|
||||||
|
|
||||||
diff --git a/base/BUILD.gn b/base/BUILD.gn
|
diff --git a/base/BUILD.gn b/base/BUILD.gn
|
||||||
index 02ac517502a51603a689c74d8073b2e5862f1e45..f0d167bb6c3a53950c431170eaa45a69408f93d9 100644
|
index 7860ff639da1116f007fda4ecf3010d065203f8c..c61bc8d60d69d348da992c980c6222c7c21623af 100644
|
||||||
--- a/base/BUILD.gn
|
--- a/base/BUILD.gn
|
||||||
+++ b/base/BUILD.gn
|
+++ b/base/BUILD.gn
|
||||||
@@ -1046,6 +1046,7 @@ component("base") {
|
@@ -1046,6 +1046,7 @@ component("base") {
|
||||||
|
@ -582,10 +582,10 @@ index d83f420d25e2c108ad400ebecae02b1ac327c058..77852c5c315ac09dddb7227adf3b840e
|
||||||
return kAttributes;
|
return kAttributes;
|
||||||
}
|
}
|
||||||
diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
|
diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
|
||||||
index 86e30304014f4811578595013a20a76790b1e84d..7964ac6af0fc3821b8208e34be766a712ccd2026 100644
|
index b40575d6a1201e3543927f8d71ebf76d61a61ab7..088555a527f6a93486cd2cede7f4ba0b46b22fa1 100644
|
||||||
--- a/content/browser/BUILD.gn
|
--- a/content/browser/BUILD.gn
|
||||||
+++ b/content/browser/BUILD.gn
|
+++ b/content/browser/BUILD.gn
|
||||||
@@ -343,6 +343,7 @@ source_set("browser") {
|
@@ -342,6 +342,7 @@ source_set("browser") {
|
||||||
"//ui/webui/resources",
|
"//ui/webui/resources",
|
||||||
"//v8",
|
"//v8",
|
||||||
"//v8:v8_version",
|
"//v8:v8_version",
|
||||||
|
@ -797,7 +797,7 @@ index a1068589ad844518038ee7bc15a3de9bc5cba525..1ff781c49f086ec8015c7d3c44567dbe
|
||||||
|
|
||||||
} // namespace content
|
} // namespace content
|
||||||
diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn
|
diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn
|
||||||
index 2c8e8e9b4260366b5312be7f2a3bbf9d332fe916..fb9e07491c93593904db7fd55c24e67820de982c 100644
|
index 4df384721ee529863d35ae7afe8249e3989697b0..2369ebc00ff008a94409d68404d3017f85592f74 100644
|
||||||
--- a/content/test/BUILD.gn
|
--- a/content/test/BUILD.gn
|
||||||
+++ b/content/test/BUILD.gn
|
+++ b/content/test/BUILD.gn
|
||||||
@@ -664,6 +664,7 @@ static_library("test_support") {
|
@@ -664,6 +664,7 @@ static_library("test_support") {
|
||||||
|
@ -937,7 +937,7 @@ index f89dbdfb0c4e8e31d387d1ce2e5304277ac4df26..7b75bfeba59345d63f4ac81153697941
|
||||||
|
|
||||||
namespace ui {
|
namespace ui {
|
||||||
diff --git a/media/audio/BUILD.gn b/media/audio/BUILD.gn
|
diff --git a/media/audio/BUILD.gn b/media/audio/BUILD.gn
|
||||||
index 8bcbb663710445e977a3080209cd518d3fc2c6e0..0680d3af1f219235e20c0e83b80c0ea9cbf7b3a1 100644
|
index 4f663e28aa078bd2e692a79d06dbdde055287f3c..8588214d7f30384cc37aaf0062c941a854d4bba5 100644
|
||||||
--- a/media/audio/BUILD.gn
|
--- a/media/audio/BUILD.gn
|
||||||
+++ b/media/audio/BUILD.gn
|
+++ b/media/audio/BUILD.gn
|
||||||
@@ -198,6 +198,7 @@ source_set("audio") {
|
@@ -198,6 +198,7 @@ source_set("audio") {
|
||||||
|
@ -1448,10 +1448,10 @@ index 1b5e616ebd3c610739a9dcf3fd6694f1e442d783..8449d7eb65687fa82db0f23c7627807e
|
||||||
|
|
||||||
if (is_mac) {
|
if (is_mac) {
|
||||||
diff --git a/third_party/blink/renderer/core/editing/build.gni b/third_party/blink/renderer/core/editing/build.gni
|
diff --git a/third_party/blink/renderer/core/editing/build.gni b/third_party/blink/renderer/core/editing/build.gni
|
||||||
index 0645e5e49137b753bbc17138c88eabc53969bed8..8dcf005f4ae7bcf996b4d868e6f4855a6148d4b1 100644
|
index 8e0ca95409bf8d350658effa26c53453e2d434a0..373e3b8f9522be27ab78448557139054e98ad589 100644
|
||||||
--- a/third_party/blink/renderer/core/editing/build.gni
|
--- a/third_party/blink/renderer/core/editing/build.gni
|
||||||
+++ b/third_party/blink/renderer/core/editing/build.gni
|
+++ b/third_party/blink/renderer/core/editing/build.gni
|
||||||
@@ -362,10 +362,14 @@ blink_core_sources_editing = [
|
@@ -364,10 +364,14 @@ blink_core_sources_editing = [
|
||||||
if (is_mac) {
|
if (is_mac) {
|
||||||
blink_core_sources_editing += [
|
blink_core_sources_editing += [
|
||||||
"commands/smart_replace_cf.cc",
|
"commands/smart_replace_cf.cc",
|
||||||
|
@ -1801,10 +1801,10 @@ index fc25ba79d2b0e1acdb7ba54b89e7d6e16f94771b..de771ef414b9a69e331261524f08e9a1
|
||||||
|
|
||||||
} // namespace
|
} // namespace
|
||||||
diff --git a/ui/display/BUILD.gn b/ui/display/BUILD.gn
|
diff --git a/ui/display/BUILD.gn b/ui/display/BUILD.gn
|
||||||
index e598004da50257f4ee37a6431222c2b9e9f24b62..3f2ea7a469d6580d25fe51b657555d77a9ce9b80 100644
|
index 491b8006c83c8602122a77d60e161c2167744756..abbf5248199598eadb57af99c3e3dc4c72f58af9 100644
|
||||||
--- a/ui/display/BUILD.gn
|
--- a/ui/display/BUILD.gn
|
||||||
+++ b/ui/display/BUILD.gn
|
+++ b/ui/display/BUILD.gn
|
||||||
@@ -127,6 +127,12 @@ component("display") {
|
@@ -129,6 +129,12 @@ component("display") {
|
||||||
"//ui/gfx/geometry",
|
"//ui/gfx/geometry",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -1818,18 +1818,18 @@ index e598004da50257f4ee37a6431222c2b9e9f24b62..3f2ea7a469d6580d25fe51b657555d77
|
||||||
deps += [ "//build:ios_buildflags" ]
|
deps += [ "//build:ios_buildflags" ]
|
||||||
}
|
}
|
||||||
diff --git a/ui/display/mac/screen_mac.mm b/ui/display/mac/screen_mac.mm
|
diff --git a/ui/display/mac/screen_mac.mm b/ui/display/mac/screen_mac.mm
|
||||||
index 874ac9d572931fe175ccab8beb7738fe0a7b3c1b..b70e2a8a7be9e00a379f47c77589dde6b8b1f081 100644
|
index 033ebc0036bcd373b011ca829d255e8c83701a6d..ad06707f31872c58217d2d034f050c5570010ba5 100644
|
||||||
--- a/ui/display/mac/screen_mac.mm
|
--- a/ui/display/mac/screen_mac.mm
|
||||||
+++ b/ui/display/mac/screen_mac.mm
|
+++ b/ui/display/mac/screen_mac.mm
|
||||||
@@ -30,6 +30,7 @@
|
@@ -32,6 +32,7 @@
|
||||||
#include "base/trace_event/trace_event.h"
|
#include "base/trace_event/trace_event.h"
|
||||||
#include "build/build_config.h"
|
#include "build/build_config.h"
|
||||||
#include "components/device_event_log/device_event_log.h"
|
#include "components/device_event_log/device_event_log.h"
|
||||||
+#include "electron/mas.h"
|
+#include "electron/mas.h"
|
||||||
#include "ui/display/display.h"
|
#include "ui/display/display.h"
|
||||||
#include "ui/display/display_change_notifier.h"
|
#include "ui/display/display_change_notifier.h"
|
||||||
#include "ui/display/util/display_util.h"
|
#include "ui/display/mac/screen_mac_headless.h"
|
||||||
@@ -177,7 +178,17 @@ DisplayMac BuildDisplayForScreen(NSScreen* screen) {
|
@@ -181,7 +182,17 @@ DisplayMac BuildDisplayForScreen(NSScreen* screen) {
|
||||||
display.set_color_depth(Display::kDefaultBitsPerPixel);
|
display.set_color_depth(Display::kDefaultBitsPerPixel);
|
||||||
display.set_depth_per_component(Display::kDefaultBitsPerComponent);
|
display.set_depth_per_component(Display::kDefaultBitsPerComponent);
|
||||||
}
|
}
|
||||||
|
@ -1848,7 +1848,7 @@ index 874ac9d572931fe175ccab8beb7738fe0a7b3c1b..b70e2a8a7be9e00a379f47c77589dde6
|
||||||
// Query the display's refresh rate.
|
// Query the display's refresh rate.
|
||||||
if (@available(macos 12.0, *)) {
|
if (@available(macos 12.0, *)) {
|
||||||
diff --git a/ui/gfx/BUILD.gn b/ui/gfx/BUILD.gn
|
diff --git a/ui/gfx/BUILD.gn b/ui/gfx/BUILD.gn
|
||||||
index c8f01a88e0d1797baf53c517341c735d9c6e6b4a..345743dd19f862cf2b4304d70cb47ce68e6895d1 100644
|
index af66f53bbec8e3cf9b1e2e69e602173725958706..381498a4d51b32a30a206d9ec3878d9ab3109386 100644
|
||||||
--- a/ui/gfx/BUILD.gn
|
--- a/ui/gfx/BUILD.gn
|
||||||
+++ b/ui/gfx/BUILD.gn
|
+++ b/ui/gfx/BUILD.gn
|
||||||
@@ -337,6 +337,12 @@ component("gfx") {
|
@@ -337,6 +337,12 @@ component("gfx") {
|
||||||
|
|
|
@ -133,7 +133,7 @@ index 5be62a3fb27e37f3c1db6b811172f6dfebe18f61..34349f9832fe4b9a3d48db613a789afb
|
||||||
const GURL& document_url,
|
const GURL& document_url,
|
||||||
const WeakDocumentPtr& weak_document_ptr,
|
const WeakDocumentPtr& weak_document_ptr,
|
||||||
diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
|
diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
|
||||||
index 3b2c512edec286bcc283a1cff14d96d469d8b4db..6e435b12521d663086be770bb89106368b06d159 100644
|
index 2dcb080a4bd9b2cd6a9f8f8ae41305dfd4400066..332f611678e53c0ea56c8baea71ca123d8cc0a95 100644
|
||||||
--- a/content/browser/renderer_host/render_process_host_impl.cc
|
--- a/content/browser/renderer_host/render_process_host_impl.cc
|
||||||
+++ b/content/browser/renderer_host/render_process_host_impl.cc
|
+++ b/content/browser/renderer_host/render_process_host_impl.cc
|
||||||
@@ -2217,7 +2217,7 @@ void RenderProcessHostImpl::CreateNotificationService(
|
@@ -2217,7 +2217,7 @@ void RenderProcessHostImpl::CreateNotificationService(
|
||||||
|
|
|
@ -1,26 +0,0 @@
|
||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Samuel Attard <marshallofsound@electronjs.org>
|
|
||||||
Date: Wed, 1 May 2024 11:12:44 -0700
|
|
||||||
Subject: partially revert is_newly_created to allow for browser initiated
|
|
||||||
about:blank loads
|
|
||||||
|
|
||||||
We should either wire in debug info from about:blank loads or more cleanly add
|
|
||||||
an about:blank check to this area.
|
|
||||||
|
|
||||||
Ref: https://chromium-review.googlesource.com/c/chromium/src/+/5403876
|
|
||||||
|
|
||||||
diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc
|
|
||||||
index 71174dc9f0e15622c67a2d33dc119594de68fc69..d73dced1fa1ad073a75df83657380a78659a8a1e 100644
|
|
||||||
--- a/content/browser/renderer_host/render_frame_host_impl.cc
|
|
||||||
+++ b/content/browser/renderer_host/render_frame_host_impl.cc
|
|
||||||
@@ -808,8 +808,8 @@ void VerifyThatBrowserAndRendererCalculatedOriginsToCommitMatch(
|
|
||||||
// TODO(crbug.com/40092527): Consider adding a separate boolean that
|
|
||||||
// tracks this instead of piggybacking `origin_calculation_debug_info`.
|
|
||||||
if (renderer_side_origin.opaque() &&
|
|
||||||
- browser_side_origin_and_debug_info.first->opaque() &&
|
|
||||||
- params.origin_calculation_debug_info.ends_with("is_newly_created")) {
|
|
||||||
+ browser_side_origin_and_debug_info.first->opaque() /*&&
|
|
||||||
+ params.origin_calculation_debug_info.ends_with("is_newly_created")*/) {
|
|
||||||
origins_match = (renderer_side_origin.GetTupleOrPrecursorTupleIfOpaque() ==
|
|
||||||
browser_side_origin_and_debug_info.first
|
|
||||||
->GetTupleOrPrecursorTupleIfOpaque());
|
|
|
@ -881,10 +881,10 @@ index 97cb6458bc9eec767db89b56abfc5f4b4136ff7b..d9a0b343158b8464b5c9aa8e0e655c0b
|
||||||
ScriptingThrottler scripting_throttler_;
|
ScriptingThrottler scripting_throttler_;
|
||||||
|
|
||||||
diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
|
diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
|
||||||
index 7964ac6af0fc3821b8208e34be766a712ccd2026..5bb585cb7f0ec4e15038bba89179817d43256719 100644
|
index 088555a527f6a93486cd2cede7f4ba0b46b22fa1..c04a351865e2fc49481f5068f91e53ec909dfce1 100644
|
||||||
--- a/content/browser/BUILD.gn
|
--- a/content/browser/BUILD.gn
|
||||||
+++ b/content/browser/BUILD.gn
|
+++ b/content/browser/BUILD.gn
|
||||||
@@ -3158,8 +3158,9 @@ source_set("browser") {
|
@@ -3161,8 +3161,9 @@ source_set("browser") {
|
||||||
"//ppapi/shared_impl",
|
"//ppapi/shared_impl",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
|
@ -44,10 +44,10 @@ index 23d5baa267333e18551d449317f3e3a6520f34a6..2551b4a2b9dfca9767c39e2e9bd79ed1
|
||||||
|
|
||||||
void RenderWidgetHostImpl::ShowContextMenuAtPoint(
|
void RenderWidgetHostImpl::ShowContextMenuAtPoint(
|
||||||
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
|
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
|
||||||
index b6fc96993cdea489450978495ca4c1f3c58166af..94b4429fffb474304c1d43d1cf1337fde90d9e45 100644
|
index e42e462f3c8109444e6dadb0557e38cdd05c362a..2eb45ae773f9fbd28fa05b14e5684f4b7d17cc85 100644
|
||||||
--- a/content/browser/web_contents/web_contents_impl.cc
|
--- a/content/browser/web_contents/web_contents_impl.cc
|
||||||
+++ b/content/browser/web_contents/web_contents_impl.cc
|
+++ b/content/browser/web_contents/web_contents_impl.cc
|
||||||
@@ -5891,6 +5891,11 @@ TextInputManager* WebContentsImpl::GetTextInputManager() {
|
@@ -5914,6 +5914,11 @@ TextInputManager* WebContentsImpl::GetTextInputManager() {
|
||||||
return text_input_manager_.get();
|
return text_input_manager_.get();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -60,10 +60,10 @@ index b6fc96993cdea489450978495ca4c1f3c58166af..94b4429fffb474304c1d43d1cf1337fd
|
||||||
RenderWidgetHostImpl* render_widget_host) {
|
RenderWidgetHostImpl* render_widget_host) {
|
||||||
return render_widget_host == GetPrimaryMainFrame()->GetRenderWidgetHost();
|
return render_widget_host == GetPrimaryMainFrame()->GetRenderWidgetHost();
|
||||||
diff --git a/content/browser/web_contents/web_contents_impl.h b/content/browser/web_contents/web_contents_impl.h
|
diff --git a/content/browser/web_contents/web_contents_impl.h b/content/browser/web_contents/web_contents_impl.h
|
||||||
index 54e9de12419c5e70775116b404d8ea4d370197bb..e1535116bbffeda9b6a881849c0a7d9de001c248 100644
|
index 08497c589757778543bedbfa920554c5fb9a298e..aa428be6f3701dc5d856e288180c54cf7559cc6f 100644
|
||||||
--- a/content/browser/web_contents/web_contents_impl.h
|
--- a/content/browser/web_contents/web_contents_impl.h
|
||||||
+++ b/content/browser/web_contents/web_contents_impl.h
|
+++ b/content/browser/web_contents/web_contents_impl.h
|
||||||
@@ -1183,6 +1183,7 @@ class CONTENT_EXPORT WebContentsImpl
|
@@ -1188,6 +1188,7 @@ class CONTENT_EXPORT WebContentsImpl
|
||||||
void SendScreenRects() override;
|
void SendScreenRects() override;
|
||||||
void SendActiveState(bool active) override;
|
void SendActiveState(bool active) override;
|
||||||
TextInputManager* GetTextInputManager() override;
|
TextInputManager* GetTextInputManager() override;
|
||||||
|
|
|
@ -8,18 +8,24 @@ it in Electron and prevent drift from Chrome's blocklist. We should look for a w
|
||||||
to upstream this change to Chrome.
|
to upstream this change to Chrome.
|
||||||
|
|
||||||
diff --git a/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc b/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc
|
diff --git a/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc b/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc
|
||||||
index 3514864559de0d2f2f36fda9b0add0b7b88f3b2a..5ffe260596202bacc58aa83d68855d05f7e76108 100644
|
index 5b543e82abb17cbb91bf37fa6bac016b6053eb93..117b6b05b3a1c39183a45830b97255cab529c646 100644
|
||||||
--- a/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc
|
--- a/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc
|
||||||
+++ b/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc
|
+++ b/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc
|
||||||
@@ -45,7 +45,6 @@
|
@@ -82,11 +82,13 @@
|
||||||
#include "chrome/browser/ui/file_system_access/file_system_access_dangerous_file_dialog.h"
|
#include "chrome/browser/ui/browser_window.h"
|
||||||
#include "chrome/browser/ui/file_system_access/file_system_access_dialogs.h"
|
#include "chrome/browser/ui/tabs/public/tab_features.h"
|
||||||
#include "chrome/browser/ui/file_system_access/file_system_access_restricted_directory_dialog.h"
|
#include "chrome/browser/ui/views/file_system_access/file_system_access_page_action_controller.h"
|
||||||
-#include "chrome/common/chrome_paths.h"
|
+#if 0
|
||||||
#include "chrome/grit/generated_resources.h"
|
#include "chrome/browser/web_applications/proto/web_app_install_state.pb.h"
|
||||||
#include "components/content_settings/core/browser/host_content_settings_map.h"
|
#include "chrome/browser/web_applications/web_app_install_manager.h"
|
||||||
#include "components/content_settings/core/common/content_settings.h"
|
#include "chrome/browser/web_applications/web_app_install_manager_observer.h"
|
||||||
@@ -261,114 +260,13 @@ bool MaybeIsLocalUNCPath(const base::FilePath& path) {
|
#include "chrome/browser/web_applications/web_app_provider.h"
|
||||||
|
#include "chrome/browser/web_applications/web_app_registrar.h"
|
||||||
|
+#endif
|
||||||
|
#include "components/tabs/public/tab_interface.h"
|
||||||
|
#if BUILDFLAG(ENABLE_PLATFORM_APPS)
|
||||||
|
#include "extensions/browser/extension_registry.h" // nogncheck
|
||||||
|
@@ -262,182 +264,10 @@ bool MaybeIsLocalUNCPath(const base::FilePath& path) {
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -27,264 +33,448 @@ index 3514864559de0d2f2f36fda9b0add0b7b88f3b2a..5ffe260596202bacc58aa83d68855d05
|
||||||
-// the struct below.
|
-// the struct below.
|
||||||
-constexpr const int kNoBasePathKey = -1;
|
-constexpr const int kNoBasePathKey = -1;
|
||||||
-
|
-
|
||||||
|
-// A wrapper around `base::NormalizeFilePath` that returns its result instead of
|
||||||
|
-// using an out parameter.
|
||||||
|
-base::FilePath NormalizeFilePath(const base::FilePath& path) {
|
||||||
|
- CHECK(path.IsAbsolute());
|
||||||
|
- // TODO(crbug.com/368130513O): On Windows, this call will fail if the target
|
||||||
|
- // file path is greater than MAX_PATH. We should decide how to handle this
|
||||||
|
- // scenario.
|
||||||
|
- base::FilePath normalized_path;
|
||||||
|
- if (!base::NormalizeFilePath(path, &normalized_path)) {
|
||||||
|
- return path;
|
||||||
|
- }
|
||||||
|
- CHECK_EQ(path.empty(), normalized_path.empty());
|
||||||
|
- return normalized_path;
|
||||||
|
-}
|
||||||
|
-
|
||||||
-using BlockType = ChromeFileSystemAccessPermissionContext::BlockType;
|
-using BlockType = ChromeFileSystemAccessPermissionContext::BlockType;
|
||||||
-
|
-
|
||||||
-std::vector<ChromeFileSystemAccessPermissionContext::BlockedPath>
|
-std::unique_ptr<ChromeFileSystemAccessPermissionContext::BlockPathRules>
|
||||||
-GenerateBlockedPath() {
|
-GenerateBlockPaths(bool should_normalize_file_path) {
|
||||||
- return {
|
- static constexpr ChromeFileSystemAccessPermissionContext::BlockPath
|
||||||
- // Don't allow users to share their entire home directory, entire desktop
|
- kBlockPaths[] = {
|
||||||
- // or entire documents folder, but do allow sharing anything inside those
|
- // Don't allow users to share their entire home directory, entire
|
||||||
- // directories not otherwise blocked.
|
- // desktop or entire documents folder, but do allow sharing anything
|
||||||
- {base::DIR_HOME, nullptr, BlockType::kDontBlockChildren},
|
- // inside those directories not otherwise blocked.
|
||||||
- {base::DIR_USER_DESKTOP, nullptr, BlockType::kDontBlockChildren},
|
- {base::DIR_HOME, nullptr, BlockType::kDontBlockChildren},
|
||||||
- {chrome::DIR_USER_DOCUMENTS, nullptr, BlockType::kDontBlockChildren},
|
- {base::DIR_USER_DESKTOP, nullptr, BlockType::kDontBlockChildren},
|
||||||
- // Similar restrictions for the downloads directory.
|
- {chrome::DIR_USER_DOCUMENTS, nullptr, BlockType::kDontBlockChildren},
|
||||||
- {chrome::DIR_DEFAULT_DOWNLOADS, nullptr, BlockType::kDontBlockChildren},
|
- // Similar restrictions for the downloads directory.
|
||||||
- {chrome::DIR_DEFAULT_DOWNLOADS_SAFE, nullptr,
|
- {chrome::DIR_DEFAULT_DOWNLOADS, nullptr,
|
||||||
- BlockType::kDontBlockChildren},
|
- BlockType::kDontBlockChildren},
|
||||||
- // The Chrome installation itself should not be modified by the web.
|
- {chrome::DIR_DEFAULT_DOWNLOADS_SAFE, nullptr,
|
||||||
- {base::DIR_EXE, nullptr, BlockType::kBlockAllChildren},
|
- BlockType::kDontBlockChildren},
|
||||||
- {base::DIR_MODULE, nullptr, BlockType::kBlockAllChildren},
|
- // The Chrome installation itself should not be modified by the web.
|
||||||
- {base::DIR_ASSETS, nullptr, BlockType::kBlockAllChildren},
|
- {base::DIR_EXE, nullptr, BlockType::kBlockAllChildren},
|
||||||
- // And neither should the configuration of at least the currently running
|
- {base::DIR_MODULE, nullptr, BlockType::kBlockAllChildren},
|
||||||
- // Chrome instance (note that this does not take --user-data-dir command
|
- {base::DIR_ASSETS, nullptr, BlockType::kBlockAllChildren},
|
||||||
- // line overrides into account).
|
- // And neither should the configuration of at least the currently
|
||||||
- {chrome::DIR_USER_DATA, nullptr, BlockType::kBlockAllChildren},
|
- // running
|
||||||
- // ~/.ssh is pretty sensitive on all platforms, so block access to that.
|
- // Chrome instance (note that this does not take --user-data-dir
|
||||||
- {base::DIR_HOME, FILE_PATH_LITERAL(".ssh"), BlockType::kBlockAllChildren},
|
- // command
|
||||||
- // And limit access to ~/.gnupg as well.
|
- // line overrides into account).
|
||||||
- {base::DIR_HOME, FILE_PATH_LITERAL(".gnupg"),
|
- {chrome::DIR_USER_DATA, nullptr, BlockType::kBlockAllChildren},
|
||||||
- BlockType::kBlockAllChildren},
|
- // ~/.ssh is pretty sensitive on all platforms, so block access to
|
||||||
|
- // that.
|
||||||
|
- {base::DIR_HOME, FILE_PATH_LITERAL(".ssh"),
|
||||||
|
- BlockType::kBlockAllChildren},
|
||||||
|
- // And limit access to ~/.gnupg as well.
|
||||||
|
- {base::DIR_HOME, FILE_PATH_LITERAL(".gnupg"),
|
||||||
|
- BlockType::kBlockAllChildren},
|
||||||
-#if BUILDFLAG(IS_WIN)
|
-#if BUILDFLAG(IS_WIN)
|
||||||
- // Some Windows specific directories to block, basically all apps, the
|
- // Some Windows specific directories to block, basically all apps, the
|
||||||
- // operating system itself, as well as configuration data for apps.
|
- // operating system itself, as well as configuration data for apps.
|
||||||
- {base::DIR_PROGRAM_FILES, nullptr, BlockType::kBlockAllChildren},
|
- {base::DIR_PROGRAM_FILES, nullptr, BlockType::kBlockAllChildren},
|
||||||
- {base::DIR_PROGRAM_FILESX86, nullptr, BlockType::kBlockAllChildren},
|
- {base::DIR_PROGRAM_FILESX86, nullptr, BlockType::kBlockAllChildren},
|
||||||
- {base::DIR_PROGRAM_FILES6432, nullptr, BlockType::kBlockAllChildren},
|
- {base::DIR_PROGRAM_FILES6432, nullptr, BlockType::kBlockAllChildren},
|
||||||
- {base::DIR_WINDOWS, nullptr, BlockType::kBlockAllChildren},
|
- {base::DIR_WINDOWS, nullptr, BlockType::kBlockAllChildren},
|
||||||
- {base::DIR_ROAMING_APP_DATA, nullptr, BlockType::kBlockAllChildren},
|
- {base::DIR_ROAMING_APP_DATA, nullptr, BlockType::kBlockAllChildren},
|
||||||
- {base::DIR_LOCAL_APP_DATA, nullptr, BlockType::kBlockAllChildren},
|
- {base::DIR_LOCAL_APP_DATA, nullptr, BlockType::kBlockAllChildren},
|
||||||
- {base::DIR_COMMON_APP_DATA, nullptr, BlockType::kBlockAllChildren},
|
- {base::DIR_COMMON_APP_DATA, nullptr, BlockType::kBlockAllChildren},
|
||||||
- // Opening a file from an MTP device, such as a smartphone or a camera, is
|
- // Opening a file from an MTP device, such as a smartphone or a
|
||||||
- // implemented by Windows as opening a file in the temporary internet
|
- // camera, is
|
||||||
- // files directory. To support that, allow opening files in that
|
- // implemented by Windows as opening a file in the temporary internet
|
||||||
- // directory, but not whole directories.
|
- // files directory. To support that, allow opening files in that
|
||||||
- {base::DIR_IE_INTERNET_CACHE, nullptr,
|
- // directory, but not whole directories.
|
||||||
- BlockType::kBlockNestedDirectories},
|
- {base::DIR_IE_INTERNET_CACHE, nullptr,
|
||||||
|
- BlockType::kBlockNestedDirectories},
|
||||||
-#endif
|
-#endif
|
||||||
-#if BUILDFLAG(IS_MAC)
|
-#if BUILDFLAG(IS_MAC)
|
||||||
- // Similar Mac specific blocks.
|
- // Similar Mac specific blocks.
|
||||||
- {base::DIR_APP_DATA, nullptr, BlockType::kBlockAllChildren},
|
- {base::DIR_APP_DATA, nullptr, BlockType::kBlockAllChildren},
|
||||||
- // Block access to the current bundle directory.
|
- // Block access to the current bundle directory.
|
||||||
- {chrome::DIR_OUTER_BUNDLE, nullptr, BlockType::kBlockAllChildren},
|
- {chrome::DIR_OUTER_BUNDLE, nullptr, BlockType::kBlockAllChildren},
|
||||||
- // Block access to the user's Applications directory.
|
- // Block access to the user's Applications directory.
|
||||||
- {base::DIR_HOME, FILE_PATH_LITERAL("Applications"),
|
- {base::DIR_HOME, FILE_PATH_LITERAL("Applications"),
|
||||||
- BlockType::kBlockAllChildren},
|
- BlockType::kBlockAllChildren},
|
||||||
- // Block access to the root Applications directory.
|
- // Block access to the root Applications directory.
|
||||||
- {kNoBasePathKey, FILE_PATH_LITERAL("/Applications"),
|
- {kNoBasePathKey, FILE_PATH_LITERAL("/Applications"),
|
||||||
- BlockType::kBlockAllChildren},
|
- BlockType::kBlockAllChildren},
|
||||||
- {base::DIR_HOME, FILE_PATH_LITERAL("Library"),
|
- {base::DIR_HOME, FILE_PATH_LITERAL("Library"),
|
||||||
- BlockType::kBlockAllChildren},
|
- BlockType::kBlockAllChildren},
|
||||||
- // Allow access to other cloud files, such as Google Drive.
|
- // Allow access to other cloud files, such as Google Drive.
|
||||||
- {base::DIR_HOME, FILE_PATH_LITERAL("Library/CloudStorage"),
|
- {base::DIR_HOME, FILE_PATH_LITERAL("Library/CloudStorage"),
|
||||||
- BlockType::kDontBlockChildren},
|
- BlockType::kDontBlockChildren},
|
||||||
- // Allow the site to interact with data from its corresponding natively
|
- // Allow the site to interact with data from its corresponding
|
||||||
- // installed (sandboxed) application. It would be nice to limit a site to
|
- // natively
|
||||||
- // access only _its_ corresponding natively installed application, but
|
- // installed (sandboxed) application. It would be nice to limit a site
|
||||||
- // unfortunately there's no straightforward way to do that. See
|
- // to
|
||||||
- // https://crbug.com/984641#c22.
|
- // access only _its_ corresponding natively installed application, but
|
||||||
- {base::DIR_HOME, FILE_PATH_LITERAL("Library/Containers"),
|
- // unfortunately there's no straightforward way to do that. See
|
||||||
- BlockType::kDontBlockChildren},
|
- // https://crbug.com/984641#c22.
|
||||||
- // Allow access to iCloud files...
|
- {base::DIR_HOME, FILE_PATH_LITERAL("Library/Containers"),
|
||||||
- {base::DIR_HOME, FILE_PATH_LITERAL("Library/Mobile Documents"),
|
- BlockType::kDontBlockChildren},
|
||||||
- BlockType::kDontBlockChildren},
|
- // Allow access to iCloud files...
|
||||||
- // ... which may also appear at this directory.
|
- {base::DIR_HOME, FILE_PATH_LITERAL("Library/Mobile Documents"),
|
||||||
- {base::DIR_HOME,
|
- BlockType::kDontBlockChildren},
|
||||||
- FILE_PATH_LITERAL("Library/Mobile Documents/com~apple~CloudDocs"),
|
- // ... which may also appear at this directory.
|
||||||
- BlockType::kDontBlockChildren},
|
- {base::DIR_HOME,
|
||||||
|
- FILE_PATH_LITERAL("Library/Mobile Documents/com~apple~CloudDocs"),
|
||||||
|
- BlockType::kDontBlockChildren},
|
||||||
-#endif
|
-#endif
|
||||||
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)
|
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)
|
||||||
- // On Linux also block access to devices via /dev.
|
- // On Linux also block access to devices via /dev.
|
||||||
- {kNoBasePathKey, FILE_PATH_LITERAL("/dev"), BlockType::kBlockAllChildren},
|
- {kNoBasePathKey, FILE_PATH_LITERAL("/dev"),
|
||||||
- // And security sensitive data in /proc and /sys.
|
- BlockType::kBlockAllChildren},
|
||||||
- {kNoBasePathKey, FILE_PATH_LITERAL("/proc"),
|
- // And security sensitive data in /proc and /sys.
|
||||||
- BlockType::kBlockAllChildren},
|
- {kNoBasePathKey, FILE_PATH_LITERAL("/proc"),
|
||||||
- {kNoBasePathKey, FILE_PATH_LITERAL("/sys"), BlockType::kBlockAllChildren},
|
- BlockType::kBlockAllChildren},
|
||||||
- // And system files in /boot and /etc.
|
- {kNoBasePathKey, FILE_PATH_LITERAL("/sys"),
|
||||||
- {kNoBasePathKey, FILE_PATH_LITERAL("/boot"),
|
- BlockType::kBlockAllChildren},
|
||||||
- BlockType::kBlockAllChildren},
|
- // And system files in /boot and /etc.
|
||||||
- {kNoBasePathKey, FILE_PATH_LITERAL("/etc"), BlockType::kBlockAllChildren},
|
- {kNoBasePathKey, FILE_PATH_LITERAL("/boot"),
|
||||||
- // And block all of ~/.config, matching the similar restrictions on mac
|
- BlockType::kBlockAllChildren},
|
||||||
- // and windows.
|
- {kNoBasePathKey, FILE_PATH_LITERAL("/etc"),
|
||||||
- {base::DIR_HOME, FILE_PATH_LITERAL(".config"),
|
- BlockType::kBlockAllChildren},
|
||||||
- BlockType::kBlockAllChildren},
|
- // And block all of ~/.config, matching the similar restrictions on
|
||||||
- // Block ~/.dbus as well, just in case, although there probably isn't much
|
- // mac
|
||||||
- // a website can do with access to that directory and its contents.
|
- // and windows.
|
||||||
- {base::DIR_HOME, FILE_PATH_LITERAL(".dbus"),
|
- {base::DIR_HOME, FILE_PATH_LITERAL(".config"),
|
||||||
- BlockType::kBlockAllChildren},
|
- BlockType::kBlockAllChildren},
|
||||||
|
- // Block ~/.dbus as well, just in case, although there probably isn't
|
||||||
|
- // much
|
||||||
|
- // a website can do with access to that directory and its contents.
|
||||||
|
- {base::DIR_HOME, FILE_PATH_LITERAL(".dbus"),
|
||||||
|
- BlockType::kBlockAllChildren},
|
||||||
-#endif
|
-#endif
|
||||||
-#if BUILDFLAG(IS_ANDROID)
|
-#if BUILDFLAG(IS_ANDROID)
|
||||||
- {base::DIR_ANDROID_APP_DATA, nullptr, BlockType::kBlockAllChildren},
|
- {base::DIR_ANDROID_APP_DATA, nullptr, BlockType::kBlockAllChildren},
|
||||||
- {base::DIR_CACHE, nullptr, BlockType::kBlockAllChildren},
|
- {base::DIR_CACHE, nullptr, BlockType::kBlockAllChildren},
|
||||||
-#endif
|
-#endif
|
||||||
- // TODO(crbug.com/40095723): Refine this list, for example add
|
- // TODO(crbug.com/40095723): Refine this list, for example add
|
||||||
- // XDG_CONFIG_HOME when it is not set ~/.config?
|
- // XDG_CONFIG_HOME when it is not set ~/.config?
|
||||||
- };
|
- };
|
||||||
|
-
|
||||||
|
- // ChromeOS supports multi-user sign-in. base::DIR_HOME only returns the
|
||||||
|
- // profile path for the primary user, the first user to sign in. We want to
|
||||||
|
- // use the `profile_path` instead since that's associated with user that
|
||||||
|
- // initiated this blocklist check.
|
||||||
|
- //
|
||||||
|
- // TODO(crbug.com/375490221): Improve the ChromeOS blocklist logic.
|
||||||
|
- constexpr bool kUseProfilePathForDirHome = BUILDFLAG(IS_CHROMEOS);
|
||||||
|
- // Populate the hard-coded rules.
|
||||||
|
- auto block_path_rules = std::make_unique<
|
||||||
|
- ChromeFileSystemAccessPermissionContext::BlockPathRules>();
|
||||||
|
-
|
||||||
|
- for (const auto& blocked_path : kBlockPaths) {
|
||||||
|
- base::FilePath path;
|
||||||
|
- if (blocked_path.base_path_key != kNoBasePathKey) {
|
||||||
|
- if (kUseProfilePathForDirHome &&
|
||||||
|
- blocked_path.base_path_key == base::DIR_HOME) {
|
||||||
|
- block_path_rules->profile_based_block_path_rules_.emplace_back(
|
||||||
|
- blocked_path.path, blocked_path.type);
|
||||||
|
- continue;
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- if (!base::PathService::Get(blocked_path.base_path_key, &path)) {
|
||||||
|
- continue;
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- if (blocked_path.path) {
|
||||||
|
- path = path.Append(blocked_path.path);
|
||||||
|
- }
|
||||||
|
- } else {
|
||||||
|
- DCHECK(blocked_path.path);
|
||||||
|
- path = base::FilePath(blocked_path.path);
|
||||||
|
- }
|
||||||
|
- block_path_rules->block_path_rules_.emplace_back(
|
||||||
|
- should_normalize_file_path ? NormalizeFilePath(path) : path,
|
||||||
|
- blocked_path.type);
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- return block_path_rules;
|
||||||
-}
|
-}
|
||||||
+// This patch moves the deleted content from this file over to
|
+// This patch moves the deleted content from this file over to
|
||||||
+// chrome/browser/file_system_access/chrome_file_system_access_permission_context.h.
|
+// chrome/browser/file_system_access/chrome_file_system_access_permission_context.h.
|
||||||
+// NOTE IF THERE IS A CONFLICT ABOVE, you will need to copy the changes in the
|
+// NOTE IF THERE IS A CONFLICT ABOVE, you will need to copy the changes in the
|
||||||
+// removed block over to chrome_file_system_access_permission_context.h.
|
+// removed block over to chrome_file_system_access_permission_context.h.
|
||||||
+
|
|
||||||
+// Describes a rule for blocking a directory, which can be constructed
|
|
||||||
+// dynamically (based on state) or statically (from kBlockedPaths).
|
|
||||||
|
|
||||||
// A wrapper around `base::NormalizeFilePath` that returns its result instead of
|
// Checks if `path` should be blocked by the `rules`.
|
||||||
// using an out parameter.
|
// The BlockType of the nearest ancestor of a path to check is what
|
||||||
|
@@ -1261,16 +1091,6 @@ struct ChromeFileSystemAccessPermissionContext::OriginState {
|
||||||
|
std::unique_ptr<base::RetainingOneShotTimer> cleanup_timer;
|
||||||
|
};
|
||||||
|
|
||||||
|
-ChromeFileSystemAccessPermissionContext::BlockPathRules::BlockPathRules() =
|
||||||
|
- default;
|
||||||
|
-ChromeFileSystemAccessPermissionContext::BlockPathRules::~BlockPathRules() =
|
||||||
|
- default;
|
||||||
|
-ChromeFileSystemAccessPermissionContext::BlockPathRules::BlockPathRules(
|
||||||
|
- const BlockPathRules& other) = default;
|
||||||
|
-ChromeFileSystemAccessPermissionContext::BlockPathRules&
|
||||||
|
-ChromeFileSystemAccessPermissionContext::BlockPathRules::operator=(
|
||||||
|
- const BlockPathRules& other) = default;
|
||||||
|
-
|
||||||
|
ChromeFileSystemAccessPermissionContext::
|
||||||
|
ChromeFileSystemAccessPermissionContext(content::BrowserContext* context,
|
||||||
|
const base::Clock* clock)
|
||||||
|
@@ -1289,7 +1109,7 @@ ChromeFileSystemAccessPermissionContext::
|
||||||
|
#if BUILDFLAG(IS_ANDROID)
|
||||||
|
one_time_permissions_tracker_.Observe(
|
||||||
|
OneTimePermissionsTrackerFactory::GetForBrowserContext(context));
|
||||||
|
-#else
|
||||||
|
+#elif 0
|
||||||
|
auto* provider = web_app::WebAppProvider::GetForWebApps(
|
||||||
|
Profile::FromBrowserContext(profile_));
|
||||||
|
if (provider) {
|
||||||
|
@@ -2551,7 +2371,7 @@ void ChromeFileSystemAccessPermissionContext::OnShutdown() {
|
||||||
|
one_time_permissions_tracker_.Reset();
|
||||||
|
}
|
||||||
|
|
||||||
|
-#if !BUILDFLAG(IS_ANDROID)
|
||||||
|
+#if 0
|
||||||
|
void ChromeFileSystemAccessPermissionContext::OnWebAppInstalled(
|
||||||
|
const webapps::AppId& app_id) {
|
||||||
|
if (!base::FeatureList::IsEnabled(
|
||||||
|
@@ -3108,11 +2928,7 @@ bool ChromeFileSystemAccessPermissionContext::OriginHasExtendedPermission(
|
||||||
|
const url::Origin& origin) {
|
||||||
|
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
|
||||||
|
|
||||||
|
-#if BUILDFLAG(IS_ANDROID)
|
||||||
|
- // TODO(crbug.com/40101963): Enable when android persisted permissions are
|
||||||
|
- // implemented.
|
||||||
|
- return false;
|
||||||
|
-#else
|
||||||
|
+#if 0
|
||||||
|
if (!base::FeatureList::IsEnabled(
|
||||||
|
features::kFileSystemAccessPersistentPermissions)) {
|
||||||
|
return false;
|
||||||
|
@@ -3156,6 +2972,7 @@ bool ChromeFileSystemAccessPermissionContext::OriginHasExtendedPermission(
|
||||||
|
: WebAppInstallStatus::kUninstalled;
|
||||||
|
return app_has_os_integration;
|
||||||
|
#endif // BUILDFLAG(IS_ANDROID)
|
||||||
|
+ return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
void ChromeFileSystemAccessPermissionContext::SetOriginExtendedPermissionByUser(
|
||||||
diff --git a/chrome/browser/file_system_access/chrome_file_system_access_permission_context.h b/chrome/browser/file_system_access/chrome_file_system_access_permission_context.h
|
diff --git a/chrome/browser/file_system_access/chrome_file_system_access_permission_context.h b/chrome/browser/file_system_access/chrome_file_system_access_permission_context.h
|
||||||
index 46a2019587b534add3c89f464cdf7261a67e7cce..7d313934b24b32830976ce19479cf3b00d3ddca8 100644
|
index 5e1aa12c6337e8d0dee9f24d7ec233a894763053..e1e6a8163be4c95031a464481f55357af253cfb2 100644
|
||||||
--- a/chrome/browser/file_system_access/chrome_file_system_access_permission_context.h
|
--- a/chrome/browser/file_system_access/chrome_file_system_access_permission_context.h
|
||||||
+++ b/chrome/browser/file_system_access/chrome_file_system_access_permission_context.h
|
+++ b/chrome/browser/file_system_access/chrome_file_system_access_permission_context.h
|
||||||
@@ -21,7 +21,7 @@
|
@@ -9,10 +9,13 @@
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
#include "base/auto_reset.h"
|
||||||
|
+#include "base/base_paths.h"
|
||||||
|
#include "base/callback_list.h"
|
||||||
|
#include "base/files/file_path.h"
|
||||||
|
+#include "base/files/file_util.h"
|
||||||
|
#include "base/memory/raw_ptr.h"
|
||||||
|
#include "base/memory/weak_ptr.h"
|
||||||
|
+#include "base/path_service.h"
|
||||||
|
#include "base/scoped_observation.h"
|
||||||
|
#include "base/sequence_checker.h"
|
||||||
|
#include "base/time/clock.h"
|
||||||
|
@@ -22,6 +25,7 @@
|
||||||
#include "chrome/browser/file_system_access/file_system_access_permission_request_manager.h"
|
#include "chrome/browser/file_system_access/file_system_access_permission_request_manager.h"
|
||||||
#include "chrome/browser/permissions/one_time_permissions_tracker.h"
|
#include "chrome/browser/permissions/one_time_permissions_tracker.h"
|
||||||
#include "chrome/browser/permissions/one_time_permissions_tracker_observer.h"
|
#include "chrome/browser/permissions/one_time_permissions_tracker_observer.h"
|
||||||
-#include "components/enterprise/buildflags/buildflags.h"
|
|
||||||
+#include "chrome/common/chrome_paths.h"
|
+#include "chrome/common/chrome_paths.h"
|
||||||
|
#include "components/enterprise/buildflags/buildflags.h"
|
||||||
#include "components/permissions/features.h"
|
#include "components/permissions/features.h"
|
||||||
#include "components/permissions/object_permission_context_base.h"
|
#include "components/permissions/object_permission_context_base.h"
|
||||||
#include "content/public/browser/file_system_access_permission_context.h"
|
@@ -399,6 +403,183 @@ class ChromeFileSystemAccessPermissionContext
|
||||||
@@ -31,7 +31,7 @@
|
// This is needed when updating path with ScopedPathOverride.
|
||||||
#include "chrome/browser/web_applications/web_app_install_manager_observer.h"
|
void ResetBlockPathsForTesting();
|
||||||
#endif
|
|
||||||
|
|
||||||
-#if BUILDFLAG(ENTERPRISE_CLOUD_CONTENT_ANALYSIS)
|
|
||||||
+#if 0
|
|
||||||
#include "components/enterprise/common/files_scan_data.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
@@ -371,6 +371,115 @@ class ChromeFileSystemAccessPermissionContext
|
|
||||||
// KeyedService:
|
|
||||||
void Shutdown() override;
|
|
||||||
|
|
||||||
+ // Sentinel used to indicate that no PathService key is specified for a path in
|
+ // Sentinel used to indicate that no PathService key is specified for a path in
|
||||||
+ // the struct below.
|
+ // the struct below.
|
||||||
+ static constexpr const int kNoBasePathKey = -1;
|
+ static constexpr const int kNoBasePathKey = -1;
|
||||||
+
|
+
|
||||||
|
+ // A wrapper around `base::NormalizeFilePath` that returns its result instead of
|
||||||
|
+ // using an out parameter.
|
||||||
|
+ static base::FilePath NormalizeFilePath(const base::FilePath& path) {
|
||||||
|
+ CHECK(path.IsAbsolute());
|
||||||
|
+ // TODO(crbug.com/368130513O): On Windows, this call will fail if the target
|
||||||
|
+ // file path is greater than MAX_PATH. We should decide how to handle this
|
||||||
|
+ // scenario.
|
||||||
|
+ base::FilePath normalized_path;
|
||||||
|
+ if (!base::NormalizeFilePath(path, &normalized_path)) {
|
||||||
|
+ return path;
|
||||||
|
+ }
|
||||||
|
+ CHECK_EQ(path.empty(), normalized_path.empty());
|
||||||
|
+ return normalized_path;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
+ using BlockType = ChromeFileSystemAccessPermissionContext::BlockType;
|
+ using BlockType = ChromeFileSystemAccessPermissionContext::BlockType;
|
||||||
+
|
+
|
||||||
+ static std::vector<ChromeFileSystemAccessPermissionContext::BlockedPath>
|
+ static std::unique_ptr<ChromeFileSystemAccessPermissionContext::BlockPathRules>
|
||||||
+ GenerateBlockedPath() {
|
+ GenerateBlockPaths(bool should_normalize_file_path) {
|
||||||
+ return {
|
+ static constexpr ChromeFileSystemAccessPermissionContext::BlockPath
|
||||||
+ // Don't allow users to share their entire home directory, entire desktop
|
+ kBlockPaths[] = {
|
||||||
+ // or entire documents folder, but do allow sharing anything inside those
|
+ // Don't allow users to share their entire home directory, entire
|
||||||
+ // directories not otherwise blocked.
|
+ // desktop or entire documents folder, but do allow sharing anything
|
||||||
+ {base::DIR_HOME, nullptr, BlockType::kDontBlockChildren},
|
+ // inside those directories not otherwise blocked.
|
||||||
+ {base::DIR_USER_DESKTOP, nullptr, BlockType::kDontBlockChildren},
|
+ {base::DIR_HOME, nullptr, BlockType::kDontBlockChildren},
|
||||||
+ {chrome::DIR_USER_DOCUMENTS, nullptr, BlockType::kDontBlockChildren},
|
+ {base::DIR_USER_DESKTOP, nullptr, BlockType::kDontBlockChildren},
|
||||||
+ // Similar restrictions for the downloads directory.
|
+ {chrome::DIR_USER_DOCUMENTS, nullptr, BlockType::kDontBlockChildren},
|
||||||
+ {chrome::DIR_DEFAULT_DOWNLOADS, nullptr, BlockType::kDontBlockChildren},
|
+ // Similar restrictions for the downloads directory.
|
||||||
+ {chrome::DIR_DEFAULT_DOWNLOADS_SAFE, nullptr,
|
+ {chrome::DIR_DEFAULT_DOWNLOADS, nullptr,
|
||||||
+ BlockType::kDontBlockChildren},
|
+ BlockType::kDontBlockChildren},
|
||||||
+ // The Chrome installation itself should not be modified by the web.
|
+ {chrome::DIR_DEFAULT_DOWNLOADS_SAFE, nullptr,
|
||||||
+ {base::DIR_EXE, nullptr, BlockType::kBlockAllChildren},
|
+ BlockType::kDontBlockChildren},
|
||||||
+ {base::DIR_MODULE, nullptr, BlockType::kBlockAllChildren},
|
+ // The Chrome installation itself should not be modified by the web.
|
||||||
+ {base::DIR_ASSETS, nullptr, BlockType::kBlockAllChildren},
|
+ {base::DIR_EXE, nullptr, BlockType::kBlockAllChildren},
|
||||||
+ // And neither should the configuration of at least the currently running
|
+ {base::DIR_MODULE, nullptr, BlockType::kBlockAllChildren},
|
||||||
+ // Chrome instance (note that this does not take --user-data-dir command
|
+ {base::DIR_ASSETS, nullptr, BlockType::kBlockAllChildren},
|
||||||
+ // line overrides into account).
|
+ // And neither should the configuration of at least the currently
|
||||||
+ {chrome::DIR_USER_DATA, nullptr, BlockType::kBlockAllChildren},
|
+ // running
|
||||||
+ // ~/.ssh is pretty sensitive on all platforms, so block access to that.
|
+ // Chrome instance (note that this does not take --user-data-dir
|
||||||
+ {base::DIR_HOME, FILE_PATH_LITERAL(".ssh"), BlockType::kBlockAllChildren},
|
+ // command
|
||||||
+ // And limit access to ~/.gnupg as well.
|
+ // line overrides into account).
|
||||||
+ {base::DIR_HOME, FILE_PATH_LITERAL(".gnupg"),
|
+ {chrome::DIR_USER_DATA, nullptr, BlockType::kBlockAllChildren},
|
||||||
+ BlockType::kBlockAllChildren},
|
+ // ~/.ssh is pretty sensitive on all platforms, so block access to
|
||||||
|
+ // that.
|
||||||
|
+ {base::DIR_HOME, FILE_PATH_LITERAL(".ssh"),
|
||||||
|
+ BlockType::kBlockAllChildren},
|
||||||
|
+ // And limit access to ~/.gnupg as well.
|
||||||
|
+ {base::DIR_HOME, FILE_PATH_LITERAL(".gnupg"),
|
||||||
|
+ BlockType::kBlockAllChildren},
|
||||||
+ #if BUILDFLAG(IS_WIN)
|
+ #if BUILDFLAG(IS_WIN)
|
||||||
+ // Some Windows specific directories to block, basically all apps, the
|
+ // Some Windows specific directories to block, basically all apps, the
|
||||||
+ // operating system itself, as well as configuration data for apps.
|
+ // operating system itself, as well as configuration data for apps.
|
||||||
+ {base::DIR_PROGRAM_FILES, nullptr, BlockType::kBlockAllChildren},
|
+ {base::DIR_PROGRAM_FILES, nullptr, BlockType::kBlockAllChildren},
|
||||||
+ {base::DIR_PROGRAM_FILESX86, nullptr, BlockType::kBlockAllChildren},
|
+ {base::DIR_PROGRAM_FILESX86, nullptr, BlockType::kBlockAllChildren},
|
||||||
+ {base::DIR_PROGRAM_FILES6432, nullptr, BlockType::kBlockAllChildren},
|
+ {base::DIR_PROGRAM_FILES6432, nullptr, BlockType::kBlockAllChildren},
|
||||||
+ {base::DIR_WINDOWS, nullptr, BlockType::kBlockAllChildren},
|
+ {base::DIR_WINDOWS, nullptr, BlockType::kBlockAllChildren},
|
||||||
+ {base::DIR_ROAMING_APP_DATA, nullptr, BlockType::kBlockAllChildren},
|
+ {base::DIR_ROAMING_APP_DATA, nullptr, BlockType::kBlockAllChildren},
|
||||||
+ {base::DIR_LOCAL_APP_DATA, nullptr, BlockType::kBlockAllChildren},
|
+ {base::DIR_LOCAL_APP_DATA, nullptr, BlockType::kBlockAllChildren},
|
||||||
+ {base::DIR_COMMON_APP_DATA, nullptr, BlockType::kBlockAllChildren},
|
+ {base::DIR_COMMON_APP_DATA, nullptr, BlockType::kBlockAllChildren},
|
||||||
+ // Opening a file from an MTP device, such as a smartphone or a camera, is
|
+ // Opening a file from an MTP device, such as a smartphone or a
|
||||||
+ // implemented by Windows as opening a file in the temporary internet
|
+ // camera, is
|
||||||
+ // files directory. To support that, allow opening files in that
|
+ // implemented by Windows as opening a file in the temporary internet
|
||||||
+ // directory, but not whole directories.
|
+ // files directory. To support that, allow opening files in that
|
||||||
+ {base::DIR_IE_INTERNET_CACHE, nullptr,
|
+ // directory, but not whole directories.
|
||||||
+ BlockType::kBlockNestedDirectories},
|
+ {base::DIR_IE_INTERNET_CACHE, nullptr,
|
||||||
|
+ BlockType::kBlockNestedDirectories},
|
||||||
+ #endif
|
+ #endif
|
||||||
+ #if BUILDFLAG(IS_MAC)
|
+ #if BUILDFLAG(IS_MAC)
|
||||||
+ // Similar Mac specific blocks.
|
+ // Similar Mac specific blocks.
|
||||||
+ {base::DIR_APP_DATA, nullptr, BlockType::kBlockAllChildren},
|
+ {base::DIR_APP_DATA, nullptr, BlockType::kBlockAllChildren},
|
||||||
+ // Block access to the current bundle directory.
|
+ // Block access to the current bundle directory.
|
||||||
+ {chrome::DIR_OUTER_BUNDLE, nullptr, BlockType::kBlockAllChildren},
|
+ {chrome::DIR_OUTER_BUNDLE, nullptr, BlockType::kBlockAllChildren},
|
||||||
+ // Block access to the user's Applications directory.
|
+ // Block access to the user's Applications directory.
|
||||||
+ {base::DIR_HOME, FILE_PATH_LITERAL("Applications"),
|
+ {base::DIR_HOME, FILE_PATH_LITERAL("Applications"),
|
||||||
+ BlockType::kBlockAllChildren},
|
+ BlockType::kBlockAllChildren},
|
||||||
+ // Block access to the root Applications directory.
|
+ // Block access to the root Applications directory.
|
||||||
+ {kNoBasePathKey, FILE_PATH_LITERAL("/Applications"),
|
+ {kNoBasePathKey, FILE_PATH_LITERAL("/Applications"),
|
||||||
+ BlockType::kBlockAllChildren},
|
+ BlockType::kBlockAllChildren},
|
||||||
+ {base::DIR_HOME, FILE_PATH_LITERAL("Library"),
|
+ {base::DIR_HOME, FILE_PATH_LITERAL("Library"),
|
||||||
+ BlockType::kBlockAllChildren},
|
+ BlockType::kBlockAllChildren},
|
||||||
+ // Allow access to other cloud files, such as Google Drive.
|
+ // Allow access to other cloud files, such as Google Drive.
|
||||||
+ {base::DIR_HOME, FILE_PATH_LITERAL("Library/CloudStorage"),
|
+ {base::DIR_HOME, FILE_PATH_LITERAL("Library/CloudStorage"),
|
||||||
+ BlockType::kDontBlockChildren},
|
+ BlockType::kDontBlockChildren},
|
||||||
+ // Allow the site to interact with data from its corresponding natively
|
+ // Allow the site to interact with data from its corresponding
|
||||||
+ // installed (sandboxed) application. It would be nice to limit a site to
|
+ // natively
|
||||||
+ // access only _its_ corresponding natively installed application, but
|
+ // installed (sandboxed) application. It would be nice to limit a site
|
||||||
+ // unfortunately there's no straightforward way to do that. See
|
+ // to
|
||||||
+ // https://crbug.com/984641#c22.
|
+ // access only _its_ corresponding natively installed application, but
|
||||||
+ {base::DIR_HOME, FILE_PATH_LITERAL("Library/Containers"),
|
+ // unfortunately there's no straightforward way to do that. See
|
||||||
+ BlockType::kDontBlockChildren},
|
+ // https://crbug.com/984641#c22.
|
||||||
+ // Allow access to iCloud files...
|
+ {base::DIR_HOME, FILE_PATH_LITERAL("Library/Containers"),
|
||||||
+ {base::DIR_HOME, FILE_PATH_LITERAL("Library/Mobile Documents"),
|
+ BlockType::kDontBlockChildren},
|
||||||
+ BlockType::kDontBlockChildren},
|
+ // Allow access to iCloud files...
|
||||||
+ // ... which may also appear at this directory.
|
+ {base::DIR_HOME, FILE_PATH_LITERAL("Library/Mobile Documents"),
|
||||||
+ {base::DIR_HOME,
|
+ BlockType::kDontBlockChildren},
|
||||||
+ FILE_PATH_LITERAL("Library/Mobile Documents/com~apple~CloudDocs"),
|
+ // ... which may also appear at this directory.
|
||||||
+ BlockType::kDontBlockChildren},
|
+ {base::DIR_HOME,
|
||||||
|
+ FILE_PATH_LITERAL("Library/Mobile Documents/com~apple~CloudDocs"),
|
||||||
|
+ BlockType::kDontBlockChildren},
|
||||||
+ #endif
|
+ #endif
|
||||||
+ #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)
|
+ #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)
|
||||||
+ // On Linux also block access to devices via /dev.
|
+ // On Linux also block access to devices via /dev.
|
||||||
+ {kNoBasePathKey, FILE_PATH_LITERAL("/dev"), BlockType::kBlockAllChildren},
|
+ {kNoBasePathKey, FILE_PATH_LITERAL("/dev"),
|
||||||
+ // And security sensitive data in /proc and /sys.
|
+ BlockType::kBlockAllChildren},
|
||||||
+ {kNoBasePathKey, FILE_PATH_LITERAL("/proc"),
|
+ // And security sensitive data in /proc and /sys.
|
||||||
+ BlockType::kBlockAllChildren},
|
+ {kNoBasePathKey, FILE_PATH_LITERAL("/proc"),
|
||||||
+ {kNoBasePathKey, FILE_PATH_LITERAL("/sys"), BlockType::kBlockAllChildren},
|
+ BlockType::kBlockAllChildren},
|
||||||
+ // And system files in /boot and /etc.
|
+ {kNoBasePathKey, FILE_PATH_LITERAL("/sys"),
|
||||||
+ {kNoBasePathKey, FILE_PATH_LITERAL("/boot"),
|
+ BlockType::kBlockAllChildren},
|
||||||
+ BlockType::kBlockAllChildren},
|
+ // And system files in /boot and /etc.
|
||||||
+ {kNoBasePathKey, FILE_PATH_LITERAL("/etc"), BlockType::kBlockAllChildren},
|
+ {kNoBasePathKey, FILE_PATH_LITERAL("/boot"),
|
||||||
+ // And block all of ~/.config, matching the similar restrictions on mac
|
+ BlockType::kBlockAllChildren},
|
||||||
+ // and windows.
|
+ {kNoBasePathKey, FILE_PATH_LITERAL("/etc"),
|
||||||
+ {base::DIR_HOME, FILE_PATH_LITERAL(".config"),
|
+ BlockType::kBlockAllChildren},
|
||||||
+ BlockType::kBlockAllChildren},
|
+ // And block all of ~/.config, matching the similar restrictions on
|
||||||
+ // Block ~/.dbus as well, just in case, although there probably isn't much
|
+ // mac
|
||||||
+ // a website can do with access to that directory and its contents.
|
+ // and windows.
|
||||||
+ {base::DIR_HOME, FILE_PATH_LITERAL(".dbus"),
|
+ {base::DIR_HOME, FILE_PATH_LITERAL(".config"),
|
||||||
+ BlockType::kBlockAllChildren},
|
+ BlockType::kBlockAllChildren},
|
||||||
|
+ // Block ~/.dbus as well, just in case, although there probably isn't
|
||||||
|
+ // much
|
||||||
|
+ // a website can do with access to that directory and its contents.
|
||||||
|
+ {base::DIR_HOME, FILE_PATH_LITERAL(".dbus"),
|
||||||
|
+ BlockType::kBlockAllChildren},
|
||||||
+ #endif
|
+ #endif
|
||||||
+ #if BUILDFLAG(IS_ANDROID)
|
+ #if BUILDFLAG(IS_ANDROID)
|
||||||
+ {base::DIR_ANDROID_APP_DATA, nullptr, BlockType::kBlockAllChildren},
|
+ {base::DIR_ANDROID_APP_DATA, nullptr, BlockType::kBlockAllChildren},
|
||||||
+ {base::DIR_CACHE, nullptr, BlockType::kBlockAllChildren},
|
+ {base::DIR_CACHE, nullptr, BlockType::kBlockAllChildren},
|
||||||
+ #endif
|
+ #endif
|
||||||
+ // TODO(crbug.com/40095723): Refine this list, for example add
|
+ // TODO(crbug.com/40095723): Refine this list, for example add
|
||||||
+ // XDG_CONFIG_HOME when it is not set ~/.config?
|
+ // XDG_CONFIG_HOME when it is not set ~/.config?
|
||||||
+ };
|
+ };
|
||||||
|
+
|
||||||
|
+ // ChromeOS supports multi-user sign-in. base::DIR_HOME only returns the
|
||||||
|
+ // profile path for the primary user, the first user to sign in. We want to
|
||||||
|
+ // use the `profile_path` instead since that's associated with user that
|
||||||
|
+ // initiated this blocklist check.
|
||||||
|
+ //
|
||||||
|
+ // TODO(crbug.com/375490221): Improve the ChromeOS blocklist logic.
|
||||||
|
+ constexpr bool kUseProfilePathForDirHome = BUILDFLAG(IS_CHROMEOS);
|
||||||
|
+ // Populate the hard-coded rules.
|
||||||
|
+ auto block_path_rules = std::make_unique<
|
||||||
|
+ ChromeFileSystemAccessPermissionContext::BlockPathRules>();
|
||||||
|
+
|
||||||
|
+ for (const auto& blocked_path : kBlockPaths) {
|
||||||
|
+ base::FilePath path;
|
||||||
|
+ if (blocked_path.base_path_key != kNoBasePathKey) {
|
||||||
|
+ if (kUseProfilePathForDirHome &&
|
||||||
|
+ blocked_path.base_path_key == base::DIR_HOME) {
|
||||||
|
+ block_path_rules->profile_based_block_path_rules_.emplace_back(
|
||||||
|
+ blocked_path.path, blocked_path.type);
|
||||||
|
+ continue;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ if (!base::PathService::Get(blocked_path.base_path_key, &path)) {
|
||||||
|
+ continue;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ if (blocked_path.path) {
|
||||||
|
+ path = path.Append(blocked_path.path);
|
||||||
|
+ }
|
||||||
|
+ } else {
|
||||||
|
+ DCHECK(blocked_path.path);
|
||||||
|
+ path = base::FilePath(blocked_path.path);
|
||||||
|
+ }
|
||||||
|
+ block_path_rules->block_path_rules_.emplace_back(
|
||||||
|
+ should_normalize_file_path ? NormalizeFilePath(path) : path,
|
||||||
|
+ blocked_path.type);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ return block_path_rules;
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
protected:
|
protected:
|
||||||
SEQUENCE_CHECKER(sequence_checker_);
|
SEQUENCE_CHECKER(sequence_checker_);
|
||||||
|
|
||||||
@@ -390,7 +499,7 @@ class ChromeFileSystemAccessPermissionContext
|
|
||||||
|
|
||||||
void PermissionGrantDestroyed(PermissionGrantImpl* grant);
|
|
||||||
|
|
||||||
-#if BUILDFLAG(ENTERPRISE_CLOUD_CONTENT_ANALYSIS)
|
|
||||||
+#if 0
|
|
||||||
void OnContentAnalysisComplete(
|
|
||||||
std::vector<content::PathInfo> entries,
|
|
||||||
EntriesAllowedByEnterprisePolicyCallback callback,
|
|
||||||
|
|
|
@ -15,10 +15,10 @@ This CL removes these filters so the unresponsive event can still be
|
||||||
accessed from our JS event. The filtering is moved into Electron's code.
|
accessed from our JS event. The filtering is moved into Electron's code.
|
||||||
|
|
||||||
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
|
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
|
||||||
index 46fc6d6683c50fb8a340680de2eda340f5be4cca..2be25d84a831b0fa2baefeb95d413a5503d64b1b 100644
|
index d0f42ceedfac643443e3c7c5757b831f481a72eb..b6e0304e561bd81dc09924cab04887437dca84b7 100644
|
||||||
--- a/content/browser/web_contents/web_contents_impl.cc
|
--- a/content/browser/web_contents/web_contents_impl.cc
|
||||||
+++ b/content/browser/web_contents/web_contents_impl.cc
|
+++ b/content/browser/web_contents/web_contents_impl.cc
|
||||||
@@ -10134,25 +10134,13 @@ void WebContentsImpl::RendererUnresponsive(
|
@@ -10156,25 +10156,13 @@ void WebContentsImpl::RendererUnresponsive(
|
||||||
base::RepeatingClosure hang_monitor_restarter) {
|
base::RepeatingClosure hang_monitor_restarter) {
|
||||||
OPTIONAL_TRACE_EVENT1("content", "WebContentsImpl::RendererUnresponsive",
|
OPTIONAL_TRACE_EVENT1("content", "WebContentsImpl::RendererUnresponsive",
|
||||||
"render_widget_host", render_widget_host);
|
"render_widget_host", render_widget_host);
|
||||||
|
|
|
@ -52,10 +52,10 @@ Some alternatives to this patch:
|
||||||
None of these options seems like a substantial maintainability win over this patch to me (@nornagon).
|
None of these options seems like a substantial maintainability win over this patch to me (@nornagon).
|
||||||
|
|
||||||
diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn
|
diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn
|
||||||
index 97f843f8133c49d684b415f61ef4b4084c4d345c..4b3f01018a9dea91b46b5917e099f272582991b2 100644
|
index f47270687b9a12fb74be2e90cc1e9f25e2e2d34e..84fab7fcdb1a7ded880c0ff4867e09c740e7a5d2 100644
|
||||||
--- a/chrome/BUILD.gn
|
--- a/chrome/BUILD.gn
|
||||||
+++ b/chrome/BUILD.gn
|
+++ b/chrome/BUILD.gn
|
||||||
@@ -1554,7 +1554,7 @@ if (is_chrome_branded && !is_android) {
|
@@ -1551,7 +1551,7 @@ if (is_chrome_branded && !is_android) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -64,7 +64,7 @@ index 97f843f8133c49d684b415f61ef4b4084c4d345c..4b3f01018a9dea91b46b5917e099f272
|
||||||
chrome_paks("packed_resources") {
|
chrome_paks("packed_resources") {
|
||||||
if (is_mac) {
|
if (is_mac) {
|
||||||
output_dir = "$root_gen_dir/repack"
|
output_dir = "$root_gen_dir/repack"
|
||||||
@@ -1600,6 +1600,12 @@ repack("browser_tests_pak") {
|
@@ -1597,6 +1597,12 @@ repack("browser_tests_pak") {
|
||||||
deps = [ "//chrome/test/data/webui:resources" ]
|
deps = [ "//chrome/test/data/webui:resources" ]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -233,10 +233,10 @@ index 7c99a9512e6f65713fe8483cef7b7c9b494b4491..8fb6cf252961c9773d1a6a09d47bec6a
|
||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/content/common/features.cc b/content/common/features.cc
|
diff --git a/content/common/features.cc b/content/common/features.cc
|
||||||
index 9119155650ed4249c699cc57eaef9149b99e7297..13e2c0da07938d73b5a689cea19df4a445c4e5e5 100644
|
index 201f17f35a4657f43c70b7b44871a7dfea681635..2ec678b805c8c8eda47c3dbf88f567a061cc63dc 100644
|
||||||
--- a/content/common/features.cc
|
--- a/content/common/features.cc
|
||||||
+++ b/content/common/features.cc
|
+++ b/content/common/features.cc
|
||||||
@@ -294,6 +294,14 @@ BASE_FEATURE(kIOSurfaceCapturer,
|
@@ -301,6 +301,14 @@ BASE_FEATURE(kIOSurfaceCapturer,
|
||||||
base::FEATURE_ENABLED_BY_DEFAULT);
|
base::FEATURE_ENABLED_BY_DEFAULT);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -252,10 +252,10 @@ index 9119155650ed4249c699cc57eaef9149b99e7297..13e2c0da07938d73b5a689cea19df4a4
|
||||||
// invalidated upon notifications sent by base::SystemMonitor. If disabled, the
|
// invalidated upon notifications sent by base::SystemMonitor. If disabled, the
|
||||||
// cache is considered invalid on every enumeration request.
|
// cache is considered invalid on every enumeration request.
|
||||||
diff --git a/content/common/features.h b/content/common/features.h
|
diff --git a/content/common/features.h b/content/common/features.h
|
||||||
index 0764c2fd1086bb0da16df91c95b171eea0a06bb1..3bc7a54999ec5e1f3afa45fe59d43ba12ec10286 100644
|
index 4dc19d79152a1f4cf29e8c484d0acdf7d42ed61e..dbe555a29e96f83d7b8122b3d05578ac83863888 100644
|
||||||
--- a/content/common/features.h
|
--- a/content/common/features.h
|
||||||
+++ b/content/common/features.h
|
+++ b/content/common/features.h
|
||||||
@@ -99,6 +99,9 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE(kInterestGroupUpdateIfOlderThan);
|
@@ -100,6 +100,9 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE(kInterestGroupUpdateIfOlderThan);
|
||||||
#if BUILDFLAG(IS_MAC)
|
#if BUILDFLAG(IS_MAC)
|
||||||
CONTENT_EXPORT BASE_DECLARE_FEATURE(kIOSurfaceCapturer);
|
CONTENT_EXPORT BASE_DECLARE_FEATURE(kIOSurfaceCapturer);
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -6,10 +6,10 @@ Subject: scroll_bounce_flag.patch
|
||||||
Patch to make scrollBounce option work.
|
Patch to make scrollBounce option work.
|
||||||
|
|
||||||
diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc
|
diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc
|
||||||
index 0a5556cb6eac8be8af3a1691687205e683157794..a88f184db56cc3aab5d67cd1a0f73dff0f002a34 100644
|
index 4176c771c26f67be6bb378c7b923f848bcf7cd1b..915e6b3098cea99e2ea2fca79cfb87026c1ba758 100644
|
||||||
--- a/content/renderer/render_thread_impl.cc
|
--- a/content/renderer/render_thread_impl.cc
|
||||||
+++ b/content/renderer/render_thread_impl.cc
|
+++ b/content/renderer/render_thread_impl.cc
|
||||||
@@ -1324,7 +1324,7 @@ bool RenderThreadImpl::IsLcdTextEnabled() {
|
@@ -1331,7 +1331,7 @@ bool RenderThreadImpl::IsLcdTextEnabled() {
|
||||||
}
|
}
|
||||||
|
|
||||||
bool RenderThreadImpl::IsElasticOverscrollEnabled() {
|
bool RenderThreadImpl::IsElasticOverscrollEnabled() {
|
||||||
|
|
|
@ -22,7 +22,7 @@ However, the patch would need to be reviewed by the security team, as it
|
||||||
does touch a security-sensitive class.
|
does touch a security-sensitive class.
|
||||||
|
|
||||||
diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
|
diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
|
||||||
index 6e435b12521d663086be770bb89106368b06d159..2c53f5575bdc96ba53bacf8a40e752e7a41576d9 100644
|
index 332f611678e53c0ea56c8baea71ca123d8cc0a95..6a1b182868157c91742c6b652cbdfc0f4373a27a 100644
|
||||||
--- a/content/browser/renderer_host/render_process_host_impl.cc
|
--- a/content/browser/renderer_host/render_process_host_impl.cc
|
||||||
+++ b/content/browser/renderer_host/render_process_host_impl.cc
|
+++ b/content/browser/renderer_host/render_process_host_impl.cc
|
||||||
@@ -1825,6 +1825,10 @@ bool RenderProcessHostImpl::Init() {
|
@@ -1825,6 +1825,10 @@ bool RenderProcessHostImpl::Init() {
|
||||||
|
|
|
@ -9,10 +9,10 @@ is needed for OSR.
|
||||||
Originally landed in https://github.com/electron/libchromiumcontent/pull/226.
|
Originally landed in https://github.com/electron/libchromiumcontent/pull/226.
|
||||||
|
|
||||||
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
|
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
|
||||||
index 2a683ac9a810d7bc7286e56ce50dd51adfc4f25f..8bf17cff8a1bea7cc73a91cec52887671f2c8aa4 100644
|
index 7b416ade6fe632d7fab319460876cb42f5b5dd83..f26744c0046ed8bda0495de4bf10b8d12f1a7911 100644
|
||||||
--- a/content/browser/web_contents/web_contents_impl.cc
|
--- a/content/browser/web_contents/web_contents_impl.cc
|
||||||
+++ b/content/browser/web_contents/web_contents_impl.cc
|
+++ b/content/browser/web_contents/web_contents_impl.cc
|
||||||
@@ -3960,6 +3960,13 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
|
@@ -3965,6 +3965,13 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
|
||||||
params.main_frame_name, GetOpener(), primary_main_frame_policy,
|
params.main_frame_name, GetOpener(), primary_main_frame_policy,
|
||||||
base::UnguessableToken::Create());
|
base::UnguessableToken::Create());
|
||||||
|
|
||||||
|
@ -26,7 +26,7 @@ index 2a683ac9a810d7bc7286e56ce50dd51adfc4f25f..8bf17cff8a1bea7cc73a91cec5288767
|
||||||
std::unique_ptr<WebContentsViewDelegate> delegate =
|
std::unique_ptr<WebContentsViewDelegate> delegate =
|
||||||
GetContentClient()->browser()->GetWebContentsViewDelegate(this);
|
GetContentClient()->browser()->GetWebContentsViewDelegate(this);
|
||||||
|
|
||||||
@@ -3970,6 +3977,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
|
@@ -3975,6 +3982,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
|
||||||
view_ = CreateWebContentsView(this, std::move(delegate),
|
view_ = CreateWebContentsView(this, std::move(delegate),
|
||||||
&render_view_host_delegate_view_);
|
&render_view_host_delegate_view_);
|
||||||
}
|
}
|
||||||
|
@ -35,7 +35,7 @@ index 2a683ac9a810d7bc7286e56ce50dd51adfc4f25f..8bf17cff8a1bea7cc73a91cec5288767
|
||||||
CHECK(view_.get());
|
CHECK(view_.get());
|
||||||
|
|
||||||
diff --git a/content/public/browser/web_contents.h b/content/public/browser/web_contents.h
|
diff --git a/content/public/browser/web_contents.h b/content/public/browser/web_contents.h
|
||||||
index 9360a2b080ebe4d6c0a475b0a536a5d7212c8a86..6e5eebfb199d322028f6b2bc72d666c24f334bba 100644
|
index ea5856a886ae49c161c7b7a1e4ea108a77c2534c..1da1ee16f70ea430c163ec0676ddb2b0a13c8c43 100644
|
||||||
--- a/content/public/browser/web_contents.h
|
--- a/content/public/browser/web_contents.h
|
||||||
+++ b/content/public/browser/web_contents.h
|
+++ b/content/public/browser/web_contents.h
|
||||||
@@ -121,10 +121,13 @@ class BrowserPluginGuestDelegate;
|
@@ -121,10 +121,13 @@ class BrowserPluginGuestDelegate;
|
||||||
|
|
|
@ -15,10 +15,10 @@ Note that we also need to manually update embedder's
|
||||||
`api::WebContents::IsFullscreenForTabOrPending` value.
|
`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
|
diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc
|
||||||
index ef8a80d2148c0ec0d8a3493ae58a4e723a9601e1..71174dc9f0e15622c67a2d33dc119594de68fc69 100644
|
index f4231fa2549083e8132affa6e424ac18f28b4f41..32d4d22f4d0106c8f598e8e44545788c32665947 100644
|
||||||
--- a/content/browser/renderer_host/render_frame_host_impl.cc
|
--- a/content/browser/renderer_host/render_frame_host_impl.cc
|
||||||
+++ b/content/browser/renderer_host/render_frame_host_impl.cc
|
+++ b/content/browser/renderer_host/render_frame_host_impl.cc
|
||||||
@@ -8882,6 +8882,17 @@ void RenderFrameHostImpl::EnterFullscreen(
|
@@ -8809,6 +8809,17 @@ void RenderFrameHostImpl::EnterFullscreen(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -37,10 +37,10 @@ index ef8a80d2148c0ec0d8a3493ae58a4e723a9601e1..71174dc9f0e15622c67a2d33dc119594
|
||||||
if (had_fullscreen_token && !GetView()->HasFocus())
|
if (had_fullscreen_token && !GetView()->HasFocus())
|
||||||
GetView()->Focus();
|
GetView()->Focus();
|
||||||
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
|
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
|
||||||
index 8bf17cff8a1bea7cc73a91cec52887671f2c8aa4..e96a656473e0d18a8053dab92dbeb1afb174d27f 100644
|
index f26744c0046ed8bda0495de4bf10b8d12f1a7911..020d8d111d756dbe8bbae47a0e7dc74b63501b54 100644
|
||||||
--- a/content/browser/web_contents/web_contents_impl.cc
|
--- a/content/browser/web_contents/web_contents_impl.cc
|
||||||
+++ b/content/browser/web_contents/web_contents_impl.cc
|
+++ b/content/browser/web_contents/web_contents_impl.cc
|
||||||
@@ -4235,21 +4235,25 @@ KeyboardEventProcessingResult WebContentsImpl::PreHandleKeyboardEvent(
|
@@ -4254,21 +4254,25 @@ KeyboardEventProcessingResult WebContentsImpl::PreHandleKeyboardEvent(
|
||||||
const input::NativeWebKeyboardEvent& event) {
|
const input::NativeWebKeyboardEvent& event) {
|
||||||
OPTIONAL_TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("content.verbose"),
|
OPTIONAL_TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("content.verbose"),
|
||||||
"WebContentsImpl::PreHandleKeyboardEvent");
|
"WebContentsImpl::PreHandleKeyboardEvent");
|
||||||
|
@ -78,7 +78,7 @@ index 8bf17cff8a1bea7cc73a91cec52887671f2c8aa4..e96a656473e0d18a8053dab92dbeb1af
|
||||||
}
|
}
|
||||||
|
|
||||||
bool WebContentsImpl::HandleMouseEvent(const blink::WebMouseEvent& event) {
|
bool WebContentsImpl::HandleMouseEvent(const blink::WebMouseEvent& event) {
|
||||||
@@ -4408,7 +4412,7 @@ void WebContentsImpl::EnterFullscreenMode(
|
@@ -4427,7 +4431,7 @@ void WebContentsImpl::EnterFullscreenMode(
|
||||||
OPTIONAL_TRACE_EVENT0("content", "WebContentsImpl::EnterFullscreenMode");
|
OPTIONAL_TRACE_EVENT0("content", "WebContentsImpl::EnterFullscreenMode");
|
||||||
DCHECK(CanEnterFullscreenMode(requesting_frame));
|
DCHECK(CanEnterFullscreenMode(requesting_frame));
|
||||||
DCHECK(requesting_frame->IsActive());
|
DCHECK(requesting_frame->IsActive());
|
||||||
|
|
|
@ -26,10 +26,10 @@ index 7a2d251ba2d13d0a34df176111e6524a27b87f55..cbbe0fbdd25a0f7859b113fdb3dcd9ce
|
||||||
// An empty URL is returned if the URL is not overriden.
|
// An empty URL is returned if the URL is not overriden.
|
||||||
virtual GURL OverrideFlashEmbedWithHTML(const GURL& url);
|
virtual GURL OverrideFlashEmbedWithHTML(const GURL& url);
|
||||||
diff --git a/content/renderer/renderer_blink_platform_impl.cc b/content/renderer/renderer_blink_platform_impl.cc
|
diff --git a/content/renderer/renderer_blink_platform_impl.cc b/content/renderer/renderer_blink_platform_impl.cc
|
||||||
index 5747f9452788737375f0e67e588f98e9b89b381c..a01f865ae54476ffb55feae026329d06d0dabea8 100644
|
index 64655ef0370c22eb4adb995b5ca640e9756e800e..d9deae4ffb30dc3b22c2c1bc8fc53ff9c64b1183 100644
|
||||||
--- a/content/renderer/renderer_blink_platform_impl.cc
|
--- a/content/renderer/renderer_blink_platform_impl.cc
|
||||||
+++ b/content/renderer/renderer_blink_platform_impl.cc
|
+++ b/content/renderer/renderer_blink_platform_impl.cc
|
||||||
@@ -893,6 +893,12 @@ void RendererBlinkPlatformImpl::WillStopWorkerThread() {
|
@@ -903,6 +903,12 @@ void RendererBlinkPlatformImpl::WillStopWorkerThread() {
|
||||||
WorkerThreadRegistry::Instance()->WillStopCurrentWorkerThread();
|
WorkerThreadRegistry::Instance()->WillStopCurrentWorkerThread();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -35,10 +35,10 @@ index cbbe0fbdd25a0f7859b113fdb3dcd9ce57e597d6..1345bb5008e1b4fc3a450f7e353d52ec
|
||||||
// from the worker thread.
|
// from the worker thread.
|
||||||
virtual void WillDestroyWorkerContextOnWorkerThread(
|
virtual void WillDestroyWorkerContextOnWorkerThread(
|
||||||
diff --git a/content/renderer/renderer_blink_platform_impl.cc b/content/renderer/renderer_blink_platform_impl.cc
|
diff --git a/content/renderer/renderer_blink_platform_impl.cc b/content/renderer/renderer_blink_platform_impl.cc
|
||||||
index a01f865ae54476ffb55feae026329d06d0dabea8..57eadd71e6f46bda772f5c1326df7483010089ba 100644
|
index d9deae4ffb30dc3b22c2c1bc8fc53ff9c64b1183..3a0bb8b4d8eba3d67e444541b06326b9a3440eee 100644
|
||||||
--- a/content/renderer/renderer_blink_platform_impl.cc
|
--- a/content/renderer/renderer_blink_platform_impl.cc
|
||||||
+++ b/content/renderer/renderer_blink_platform_impl.cc
|
+++ b/content/renderer/renderer_blink_platform_impl.cc
|
||||||
@@ -905,6 +905,12 @@ void RendererBlinkPlatformImpl::WorkerContextCreated(
|
@@ -915,6 +915,12 @@ void RendererBlinkPlatformImpl::WorkerContextCreated(
|
||||||
worker);
|
worker);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,7 @@ to handle this without patching, but this is fairly clean for now and no longer
|
||||||
patching legacy devtools code.
|
patching legacy devtools code.
|
||||||
|
|
||||||
diff --git a/front_end/entrypoints/main/MainImpl.ts b/front_end/entrypoints/main/MainImpl.ts
|
diff --git a/front_end/entrypoints/main/MainImpl.ts b/front_end/entrypoints/main/MainImpl.ts
|
||||||
index 69673b4aa636c2b55065aa11ce65dbc4a45c39b8..bdf133c0cdd524a72d3ad78fa97102b44c336f51 100644
|
index 691e308b52493ed235196b7b75505b7a08911180..8cba1cd242a17c83f330bb3f4aac15505b363cab 100644
|
||||||
--- a/front_end/entrypoints/main/MainImpl.ts
|
--- a/front_end/entrypoints/main/MainImpl.ts
|
||||||
+++ b/front_end/entrypoints/main/MainImpl.ts
|
+++ b/front_end/entrypoints/main/MainImpl.ts
|
||||||
@@ -730,6 +730,8 @@ export class MainImpl {
|
@@ -730,6 +730,8 @@ export class MainImpl {
|
||||||
|
|
|
@ -76,7 +76,7 @@ void ElectronMainDelegate::SetUpBundleOverrides() {
|
||||||
NSString* team_id = [bundle objectForInfoDictionaryKey:@"ElectronTeamID"];
|
NSString* team_id = [bundle objectForInfoDictionaryKey:@"ElectronTeamID"];
|
||||||
if (team_id)
|
if (team_id)
|
||||||
base_bundle_id = base::SysNSStringToUTF8(team_id) + "." + base_bundle_id;
|
base_bundle_id = base::SysNSStringToUTF8(team_id) + "." + base_bundle_id;
|
||||||
base::apple::SetBaseBundleID(base_bundle_id.c_str());
|
base::apple::SetBaseBundleIDOverride(base_bundle_id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1172,6 +1172,7 @@ void WebContents::WebContentsCreatedWithFullParams(
|
||||||
}
|
}
|
||||||
|
|
||||||
bool WebContents::IsWebContentsCreationOverridden(
|
bool WebContents::IsWebContentsCreationOverridden(
|
||||||
|
content::RenderFrameHost* opener,
|
||||||
content::SiteInstance* source_site_instance,
|
content::SiteInstance* source_site_instance,
|
||||||
content::mojom::WindowContainerType window_container_type,
|
content::mojom::WindowContainerType window_container_type,
|
||||||
const GURL& opener_url,
|
const GURL& opener_url,
|
||||||
|
|
|
@ -488,6 +488,7 @@ class WebContents final : public ExclusiveAccessContext,
|
||||||
|
|
||||||
// content::WebContentsDelegate:
|
// content::WebContentsDelegate:
|
||||||
bool IsWebContentsCreationOverridden(
|
bool IsWebContentsCreationOverridden(
|
||||||
|
content::RenderFrameHost* opener,
|
||||||
content::SiteInstance* source_site_instance,
|
content::SiteInstance* source_site_instance,
|
||||||
content::mojom::WindowContainerType window_container_type,
|
content::mojom::WindowContainerType window_container_type,
|
||||||
const GURL& opener_url,
|
const GURL& opener_url,
|
||||||
|
|
|
@ -412,7 +412,6 @@ void ElectronBrowserClient::OverrideWebPreferences(
|
||||||
prefs->javascript_can_access_clipboard = false;
|
prefs->javascript_can_access_clipboard = false;
|
||||||
prefs->allow_scripts_to_close_windows = true;
|
prefs->allow_scripts_to_close_windows = true;
|
||||||
prefs->local_storage_enabled = true;
|
prefs->local_storage_enabled = true;
|
||||||
prefs->databases_enabled = true;
|
|
||||||
prefs->allow_universal_access_from_file_urls =
|
prefs->allow_universal_access_from_file_urls =
|
||||||
electron::fuses::IsGrantFileProtocolExtraPrivilegesEnabled();
|
electron::fuses::IsGrantFileProtocolExtraPrivilegesEnabled();
|
||||||
prefs->allow_file_access_from_file_urls =
|
prefs->allow_file_access_from_file_urls =
|
||||||
|
@ -953,26 +952,23 @@ bool ElectronBrowserClient::HandleExternalProtocol(
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<std::unique_ptr<content::NavigationThrottle>>
|
void ElectronBrowserClient::CreateThrottlesForNavigation(
|
||||||
ElectronBrowserClient::CreateThrottlesForNavigation(
|
|
||||||
content::NavigationThrottleRegistry& registry) {
|
content::NavigationThrottleRegistry& registry) {
|
||||||
std::vector<std::unique_ptr<content::NavigationThrottle>> throttles;
|
|
||||||
|
|
||||||
content::NavigationHandle* handle = ®istry.GetNavigationHandle();
|
content::NavigationHandle* handle = ®istry.GetNavigationHandle();
|
||||||
throttles.push_back(std::make_unique<ElectronNavigationThrottle>(handle));
|
registry.MaybeAddThrottle(
|
||||||
|
std::make_unique<ElectronNavigationThrottle>(handle));
|
||||||
|
|
||||||
#if BUILDFLAG(ENABLE_ELECTRON_EXTENSIONS)
|
#if BUILDFLAG(ENABLE_ELECTRON_EXTENSIONS)
|
||||||
throttles.push_back(
|
registry.MaybeAddThrottle(
|
||||||
std::make_unique<extensions::ExtensionNavigationThrottle>(handle));
|
std::make_unique<extensions::ExtensionNavigationThrottle>(handle));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if BUILDFLAG(ENABLE_PDF_VIEWER)
|
#if BUILDFLAG(ENABLE_PDF_VIEWER)
|
||||||
throttles.push_back(std::make_unique<PDFIFrameNavigationThrottle>(handle));
|
registry.MaybeAddThrottle(
|
||||||
throttles.push_back(std::make_unique<pdf::PdfNavigationThrottle>(
|
std::make_unique<PDFIFrameNavigationThrottle>(handle));
|
||||||
|
registry.MaybeAddThrottle(std::make_unique<pdf::PdfNavigationThrottle>(
|
||||||
handle, std::make_unique<ChromePdfStreamDelegate>()));
|
handle, std::make_unique<ChromePdfStreamDelegate>()));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return throttles;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
content::MediaObserver* ElectronBrowserClient::GetMediaObserver() {
|
content::MediaObserver* ElectronBrowserClient::GetMediaObserver() {
|
||||||
|
|
|
@ -76,8 +76,7 @@ class ElectronBrowserClient : public content::ContentBrowserClient,
|
||||||
base::OnceCallback<void(bool, bool)> callback);
|
base::OnceCallback<void(bool, bool)> callback);
|
||||||
|
|
||||||
// content::NavigatorDelegate
|
// content::NavigatorDelegate
|
||||||
std::vector<std::unique_ptr<content::NavigationThrottle>>
|
void CreateThrottlesForNavigation(
|
||||||
CreateThrottlesForNavigation(
|
|
||||||
content::NavigationThrottleRegistry& registry) override;
|
content::NavigationThrottleRegistry& registry) override;
|
||||||
|
|
||||||
// content::ContentBrowserClient:
|
// content::ContentBrowserClient:
|
||||||
|
|
|
@ -10,6 +10,7 @@
|
||||||
|
|
||||||
#include "base/base_paths.h"
|
#include "base/base_paths.h"
|
||||||
#include "base/files/file_path.h"
|
#include "base/files/file_path.h"
|
||||||
|
#include "base/files/file_util.h"
|
||||||
#include "base/json/values_util.h"
|
#include "base/json/values_util.h"
|
||||||
#include "base/path_service.h"
|
#include "base/path_service.h"
|
||||||
#include "base/task/bind_post_task.h"
|
#include "base/task/bind_post_task.h"
|
||||||
|
@ -39,6 +40,16 @@
|
||||||
#include "ui/base/l10n/l10n_util.h"
|
#include "ui/base/l10n/l10n_util.h"
|
||||||
#include "url/origin.h"
|
#include "url/origin.h"
|
||||||
|
|
||||||
|
ChromeFileSystemAccessPermissionContext::BlockPathRules::BlockPathRules() =
|
||||||
|
default;
|
||||||
|
ChromeFileSystemAccessPermissionContext::BlockPathRules::~BlockPathRules() =
|
||||||
|
default;
|
||||||
|
ChromeFileSystemAccessPermissionContext::BlockPathRules::BlockPathRules(
|
||||||
|
const BlockPathRules& other) = default;
|
||||||
|
ChromeFileSystemAccessPermissionContext::BlockPathRules&
|
||||||
|
ChromeFileSystemAccessPermissionContext::BlockPathRules::operator=(
|
||||||
|
const BlockPathRules& other) = default;
|
||||||
|
|
||||||
namespace gin {
|
namespace gin {
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
|
@ -141,51 +152,53 @@ bool MaybeIsLocalUNCPath(const base::FilePath& path) {
|
||||||
}
|
}
|
||||||
#endif // BUILDFLAG(IS_WIN)
|
#endif // BUILDFLAG(IS_WIN)
|
||||||
|
|
||||||
// Describes a rule for blocking a directory, which can be constructed
|
bool ShouldBlockAccessToPath(
|
||||||
// dynamically (based on state) or statically (from kBlockedPaths).
|
base::FilePath path,
|
||||||
struct BlockPathRule {
|
HandleType handle_type,
|
||||||
base::FilePath path;
|
std::vector<ChromeFileSystemAccessPermissionContext::BlockPathRule>
|
||||||
BlockType type;
|
extra_rules,
|
||||||
};
|
ChromeFileSystemAccessPermissionContext::BlockPathRules block_path_rules) {
|
||||||
|
|
||||||
bool ShouldBlockAccessToPath(const base::FilePath& path,
|
|
||||||
HandleType handle_type,
|
|
||||||
std::vector<BlockPathRule> rules) {
|
|
||||||
DCHECK(!path.empty());
|
DCHECK(!path.empty());
|
||||||
DCHECK(path.IsAbsolute());
|
DCHECK(path.IsAbsolute());
|
||||||
|
|
||||||
|
path = ChromeFileSystemAccessPermissionContext::NormalizeFilePath(path);
|
||||||
|
for (auto& rule : extra_rules) {
|
||||||
|
rule.path =
|
||||||
|
ChromeFileSystemAccessPermissionContext::NormalizeFilePath(rule.path);
|
||||||
|
}
|
||||||
|
|
||||||
#if BUILDFLAG(IS_WIN)
|
#if BUILDFLAG(IS_WIN)
|
||||||
// On Windows, local UNC paths are rejected, as UNC path can be written in a
|
// On Windows, local UNC paths are rejected, as UNC path can be written in a
|
||||||
// way that can bypass the blocklist.
|
// way that can bypass the blocklist.
|
||||||
if (MaybeIsLocalUNCPath(path))
|
if (MaybeIsLocalUNCPath(path)) {
|
||||||
return true;
|
return true;
|
||||||
#endif // BUILDFLAG(IS_WIN)
|
|
||||||
|
|
||||||
// Add the hard-coded rules to the dynamic rules.
|
|
||||||
for (auto const& [key, rule_path, type] :
|
|
||||||
ChromeFileSystemAccessPermissionContext::GenerateBlockedPath()) {
|
|
||||||
if (key == ChromeFileSystemAccessPermissionContext::kNoBasePathKey) {
|
|
||||||
rules.emplace_back(base::FilePath{rule_path}, type);
|
|
||||||
} else if (base::FilePath block_path;
|
|
||||||
base::PathService::Get(key, &block_path)) {
|
|
||||||
rules.emplace_back(rule_path ? block_path.Append(rule_path) : block_path,
|
|
||||||
type);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
base::FilePath nearest_ancestor;
|
base::FilePath nearest_ancestor;
|
||||||
BlockType nearest_ancestor_block_type = BlockType::kDontBlockChildren;
|
BlockType nearest_ancestor_block_type = BlockType::kDontBlockChildren;
|
||||||
for (const auto& block : rules) {
|
auto should_block_with_rule = [&](const base::FilePath& block_path,
|
||||||
if (path == block.path || path.IsParent(block.path)) {
|
BlockType block_type) -> bool {
|
||||||
DLOG(INFO) << "Blocking access to " << path
|
if (path == block_path || path.IsParent(block_path)) {
|
||||||
<< " because it is a parent of " << block.path;
|
VLOG(1) << "Blocking access to " << path << " because it is a parent of "
|
||||||
|
<< block_path;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (block.path.IsParent(path) &&
|
if (block_path.IsParent(path) &&
|
||||||
(nearest_ancestor.empty() || nearest_ancestor.IsParent(block.path))) {
|
(nearest_ancestor.empty() || nearest_ancestor.IsParent(block_path))) {
|
||||||
nearest_ancestor = block.path;
|
nearest_ancestor = block_path;
|
||||||
nearest_ancestor_block_type = block.type;
|
nearest_ancestor_block_type = block_type;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
};
|
||||||
|
|
||||||
|
for (const auto* block_rules_ptr :
|
||||||
|
{&extra_rules, &block_path_rules.block_path_rules_}) {
|
||||||
|
for (const auto& block : *block_rules_ptr) {
|
||||||
|
if (should_block_with_rule(block.path, block.type)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -193,6 +206,8 @@ bool ShouldBlockAccessToPath(const base::FilePath& path,
|
||||||
// nearest ancestor does not block access to its children. Grant access.
|
// nearest ancestor does not block access to its children. Grant access.
|
||||||
if (nearest_ancestor.empty() ||
|
if (nearest_ancestor.empty() ||
|
||||||
nearest_ancestor_block_type == BlockType::kDontBlockChildren) {
|
nearest_ancestor_block_type == BlockType::kDontBlockChildren) {
|
||||||
|
VLOG(1) << "Not blocking access to " << path << " because it is inside "
|
||||||
|
<< nearest_ancestor << " and it's kDontBlockChildren";
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -200,12 +215,14 @@ bool ShouldBlockAccessToPath(const base::FilePath& path,
|
||||||
// access to directories. Grant access.
|
// access to directories. Grant access.
|
||||||
if (handle_type == HandleType::kFile &&
|
if (handle_type == HandleType::kFile &&
|
||||||
nearest_ancestor_block_type == BlockType::kBlockNestedDirectories) {
|
nearest_ancestor_block_type == BlockType::kBlockNestedDirectories) {
|
||||||
|
VLOG(1) << "Not blocking access to " << path << " because it is inside "
|
||||||
|
<< nearest_ancestor << " and it's kBlockNestedDirectories";
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// The nearest ancestor blocks access to its children, so block access.
|
// The nearest ancestor blocks access to its children, so block access.
|
||||||
DLOG(INFO) << "Blocking access to " << path << " because it is inside "
|
VLOG(1) << "Blocking access to " << path << " because it is inside "
|
||||||
<< nearest_ancestor;
|
<< nearest_ancestor << " and it's kBlockAllChildren";
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -446,11 +463,30 @@ FileSystemAccessPermissionContext::FileSystemAccessPermissionContext(
|
||||||
const base::Clock* clock)
|
const base::Clock* clock)
|
||||||
: browser_context_(browser_context), clock_(clock) {
|
: browser_context_(browser_context), clock_(clock) {
|
||||||
DETACH_FROM_SEQUENCE(sequence_checker_);
|
DETACH_FROM_SEQUENCE(sequence_checker_);
|
||||||
|
ResetBlockPaths();
|
||||||
}
|
}
|
||||||
|
|
||||||
FileSystemAccessPermissionContext::~FileSystemAccessPermissionContext() =
|
FileSystemAccessPermissionContext::~FileSystemAccessPermissionContext() =
|
||||||
default;
|
default;
|
||||||
|
|
||||||
|
void FileSystemAccessPermissionContext::ResetBlockPaths() {
|
||||||
|
is_block_path_rules_init_complete_ = false;
|
||||||
|
base::ThreadPool::PostTaskAndReplyWithResult(
|
||||||
|
FROM_HERE, {base::MayBlock(), base::TaskPriority::USER_VISIBLE},
|
||||||
|
base::BindOnce(
|
||||||
|
&ChromeFileSystemAccessPermissionContext::GenerateBlockPaths, true),
|
||||||
|
base::BindOnce(&FileSystemAccessPermissionContext::UpdateBlockPaths,
|
||||||
|
weak_factory_.GetWeakPtr()));
|
||||||
|
}
|
||||||
|
|
||||||
|
void FileSystemAccessPermissionContext::UpdateBlockPaths(
|
||||||
|
std::unique_ptr<ChromeFileSystemAccessPermissionContext::BlockPathRules>
|
||||||
|
block_path_rules) {
|
||||||
|
block_path_rules_ = std::move(block_path_rules);
|
||||||
|
is_block_path_rules_init_complete_ = true;
|
||||||
|
block_rules_check_callbacks_.Notify(*block_path_rules_.get());
|
||||||
|
}
|
||||||
|
|
||||||
scoped_refptr<content::FileSystemAccessPermissionGrant>
|
scoped_refptr<content::FileSystemAccessPermissionGrant>
|
||||||
FileSystemAccessPermissionContext::GetReadPermissionGrant(
|
FileSystemAccessPermissionContext::GetReadPermissionGrant(
|
||||||
const url::Origin& origin,
|
const url::Origin& origin,
|
||||||
|
@ -604,12 +640,26 @@ void FileSystemAccessPermissionContext::ConfirmSensitiveEntryAccess(
|
||||||
std::move(after_blocklist_check_callback));
|
std::move(after_blocklist_check_callback));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void FileSystemAccessPermissionContext::CheckShouldBlockAccessToPathAndReply(
|
||||||
|
base::FilePath path,
|
||||||
|
HandleType handle_type,
|
||||||
|
std::vector<ChromeFileSystemAccessPermissionContext::BlockPathRule>
|
||||||
|
extra_rules,
|
||||||
|
base::OnceCallback<void(bool)> callback,
|
||||||
|
ChromeFileSystemAccessPermissionContext::BlockPathRules block_path_rules) {
|
||||||
|
base::ThreadPool::PostTaskAndReplyWithResult(
|
||||||
|
FROM_HERE, {base::MayBlock(), base::TaskPriority::USER_VISIBLE},
|
||||||
|
base::BindOnce(&ShouldBlockAccessToPath, path, handle_type, extra_rules,
|
||||||
|
block_path_rules),
|
||||||
|
std::move(callback));
|
||||||
|
}
|
||||||
|
|
||||||
void FileSystemAccessPermissionContext::CheckPathAgainstBlocklist(
|
void FileSystemAccessPermissionContext::CheckPathAgainstBlocklist(
|
||||||
const content::PathInfo& path_info,
|
const content::PathInfo& path_info,
|
||||||
HandleType handle_type,
|
HandleType handle_type,
|
||||||
base::OnceCallback<void(bool)> callback) {
|
base::OnceCallback<void(bool)> callback) {
|
||||||
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
|
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
|
||||||
// TODO(https://crbug.com/1009970): Figure out what external paths should be
|
// TODO(crbug.com/40101272): Figure out what external paths should be
|
||||||
// blocked. We could resolve the external path to a local path, and check for
|
// blocked. We could resolve the external path to a local path, and check for
|
||||||
// blocked directories based on that, but that doesn't work well. Instead we
|
// blocked directories based on that, but that doesn't work well. Instead we
|
||||||
// should have a separate Chrome OS only code path to block for example the
|
// should have a separate Chrome OS only code path to block for example the
|
||||||
|
@ -619,15 +669,27 @@ void FileSystemAccessPermissionContext::CheckPathAgainstBlocklist(
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<BlockPathRule> extra_rules;
|
// Unlike the DIR_USER_DATA check, this handles the --user-data-dir override.
|
||||||
extra_rules.emplace_back(browser_context_->GetPath().DirName(),
|
// We check for the user data dir in two different ways: directly, via the
|
||||||
BlockType::kBlockAllChildren);
|
// profile manager, where it exists (it does not in unit tests), and via the
|
||||||
|
// profile's directory, assuming the profile dir is a child of the user data
|
||||||
base::ThreadPool::PostTaskAndReplyWithResult(
|
// dir.
|
||||||
FROM_HERE, {base::MayBlock(), base::TaskPriority::USER_VISIBLE},
|
std::vector<ChromeFileSystemAccessPermissionContext::BlockPathRule>
|
||||||
base::BindOnce(&ShouldBlockAccessToPath, path_info.path, handle_type,
|
extra_rules;
|
||||||
extra_rules),
|
if (is_block_path_rules_init_complete_) {
|
||||||
std::move(callback));
|
// The rules initialization is completed, we can just post the task to a
|
||||||
|
// anonymous blocking traits.
|
||||||
|
CheckShouldBlockAccessToPathAndReply(path_info.path, handle_type,
|
||||||
|
extra_rules, std::move(callback),
|
||||||
|
*block_path_rules_.get());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// The check must be performed after the rules initialization is done.
|
||||||
|
block_rules_check_subscription_.push_back(block_rules_check_callbacks_.Add(
|
||||||
|
base::BindOnce(&FileSystemAccessPermissionContext::
|
||||||
|
CheckShouldBlockAccessToPathAndReply,
|
||||||
|
weak_factory_.GetWeakPtr(), path_info.path, handle_type,
|
||||||
|
extra_rules, std::move(callback))));
|
||||||
}
|
}
|
||||||
|
|
||||||
void FileSystemAccessPermissionContext::PerformAfterWriteChecks(
|
void FileSystemAccessPermissionContext::PerformAfterWriteChecks(
|
||||||
|
|
|
@ -12,13 +12,14 @@
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
|
#include "base/callback_list.h"
|
||||||
#include "base/functional/callback_forward.h"
|
#include "base/functional/callback_forward.h"
|
||||||
#include "base/memory/weak_ptr.h"
|
#include "base/memory/weak_ptr.h"
|
||||||
#include "base/time/clock.h"
|
#include "base/time/clock.h"
|
||||||
#include "base/time/default_clock.h"
|
#include "base/time/default_clock.h"
|
||||||
#include "base/values.h"
|
#include "base/values.h"
|
||||||
|
#include "chrome/browser/file_system_access/chrome_file_system_access_permission_context.h" // nogncheck
|
||||||
#include "components/keyed_service/core/keyed_service.h"
|
#include "components/keyed_service/core/keyed_service.h"
|
||||||
#include "content/public/browser/file_system_access_permission_context.h"
|
|
||||||
|
|
||||||
class GURL;
|
class GURL;
|
||||||
|
|
||||||
|
@ -135,6 +136,14 @@ class FileSystemAccessPermissionContext
|
||||||
|
|
||||||
void PermissionGrantDestroyed(PermissionGrantImpl* grant);
|
void PermissionGrantDestroyed(PermissionGrantImpl* grant);
|
||||||
|
|
||||||
|
void CheckShouldBlockAccessToPathAndReply(
|
||||||
|
base::FilePath path,
|
||||||
|
HandleType handle_type,
|
||||||
|
std::vector<ChromeFileSystemAccessPermissionContext::BlockPathRule>
|
||||||
|
extra_rules,
|
||||||
|
base::OnceCallback<void(bool)> callback,
|
||||||
|
ChromeFileSystemAccessPermissionContext::BlockPathRules block_path_rules);
|
||||||
|
|
||||||
void CheckPathAgainstBlocklist(const content::PathInfo& path,
|
void CheckPathAgainstBlocklist(const content::PathInfo& path,
|
||||||
HandleType handle_type,
|
HandleType handle_type,
|
||||||
base::OnceCallback<void(bool)> callback);
|
base::OnceCallback<void(bool)> callback);
|
||||||
|
@ -159,6 +168,11 @@ class FileSystemAccessPermissionContext
|
||||||
const base::FilePath& path,
|
const base::FilePath& path,
|
||||||
GrantType grant_type) const;
|
GrantType grant_type) const;
|
||||||
|
|
||||||
|
void ResetBlockPaths();
|
||||||
|
void UpdateBlockPaths(
|
||||||
|
std::unique_ptr<ChromeFileSystemAccessPermissionContext::BlockPathRules>
|
||||||
|
block_path_rules);
|
||||||
|
|
||||||
base::WeakPtr<FileSystemAccessPermissionContext> GetWeakPtr();
|
base::WeakPtr<FileSystemAccessPermissionContext> GetWeakPtr();
|
||||||
|
|
||||||
const raw_ptr<content::BrowserContext, DanglingUntriaged> browser_context_;
|
const raw_ptr<content::BrowserContext, DanglingUntriaged> browser_context_;
|
||||||
|
@ -176,6 +190,14 @@ class FileSystemAccessPermissionContext
|
||||||
std::map<base::FilePath, base::OnceCallback<void(SensitiveEntryResult)>>
|
std::map<base::FilePath, base::OnceCallback<void(SensitiveEntryResult)>>
|
||||||
callback_map_;
|
callback_map_;
|
||||||
|
|
||||||
|
std::unique_ptr<ChromeFileSystemAccessPermissionContext::BlockPathRules>
|
||||||
|
block_path_rules_;
|
||||||
|
bool is_block_path_rules_init_complete_ = false;
|
||||||
|
std::vector<base::CallbackListSubscription> block_rules_check_subscription_;
|
||||||
|
base::OnceCallbackList<void(
|
||||||
|
ChromeFileSystemAccessPermissionContext::BlockPathRules)>
|
||||||
|
block_rules_check_callbacks_;
|
||||||
|
|
||||||
base::WeakPtrFactory<FileSystemAccessPermissionContext> weak_factory_{this};
|
base::WeakPtrFactory<FileSystemAccessPermissionContext> weak_factory_{this};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue