mirror of
https://github.com/electron/electron.git
synced 2026-01-06 22:24:03 -05:00
* chore: bump chromium in DEPS to 145.0.7562.0 * fix(patch-conflict): update code cache patch for PersistentCache refactor Upstream refactored code cache to use PersistentCache with new class-based implementation (NoopCodeCacheHost, LocalCodeCacheHost, CodeCacheWithPersistentCacheHost). Updated patch to integrate custom scheme support into the new structure while preserving ProcessLockURLIsCodeCacheScheme checks for embedder-registered schemes. Ref: https://chromium-review.googlesource.com/c/chromium/src/+/7044986 Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com> * fix(patch-conflict): update dialog patch for RequestXdgDesktopPortal API Upstream changed from SetSystemdScopeUnitNameForXdgPortal to RequestXdgDesktopPortal API pattern. Updated OnServiceStarted signature and kept OnSystemdUnitStarted callback that calls Electron's file_dialog::StartPortalAvailabilityTestInBackground(). Ref: https://chromium-review.googlesource.com/c/chromium/src/+/7204285 Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com> * fix(patch-conflict): remove reference to deleted AbortByPlaceholderLayout flag Upstream removed the AbortByPlaceholderLayout runtime flag from runtime_enabled_features.json5. Updated patch to only add ElectronCSSCornerSmoothing without the removed flag reference. Ref: https://chromium-review.googlesource.com/c/chromium/src/+/7226494 Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com> * chore: update patch hunk headers Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com> * fix(build): guard media_file_system_registry for ChromeOS only Upstream CL https://chromium-review.googlesource.com/c/chromium/src/+/7100719 moved media_file_system_registry to be ChromeOS-only since Media Galleries is a Chrome Apps API and Chrome Apps are only available on Chrome OS now. Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com> * fix(build): update VideoPixelFormat API for SharedImageFormat Upstream CL https://chromium-review.googlesource.com/c/chromium/src/+/7207153 removed VideoPixelFormatToGfxBufferFormat as part of migration to SharedImageFormat. Update to use VideoPixelFormatToSharedImageFormat which directly returns the SharedImageFormat. Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com> * fix(build): extend profile methods patch for ShouldEnableXfaForms The ShouldEnableXfaForms function uses Profile::FromBrowserContext() which is not available in Electron. Wrap the profile-dependent code in #if 0 to fall through to the feature flag default. Co-Authored-By: Claude <noreply@anthropic.com> * chore: bump chromium in DEPS to 145.0.7563.0 * chore: bump chromium in DEPS to 145.0.7565.0 * chore: bump chromium in DEPS to 145.0.7567.0 * chore: bump chromium in DEPS to 145.0.7568.0 * fix(patch-conflict): update content_main_delegate.h context for IsInitFeatureListEarly Upstream added a new IsInitFeatureListEarly() virtual method to ContentMainDelegate just before where our GetBrowserV8SnapshotFilename() method is added. Updated patch context to account for this new method. Ref: https://chromium-review.googlesource.com/c/chromium/src/+/7092856 Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com> * chore: update patch hunk headers Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com> * fix(patch-update): include v8-cppgc.h for CppHeap complete type The std::unique_ptr<v8::CppHeap> default argument in node.h requires the complete CppHeap type definition for the destructor. Added the v8-cppgc.h include to provide the full type definition. Ref: Unable to locate CL - libc++ unique_ptr requires complete type for destructor Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com> * chore: update patch hunk headers Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com> * fix(build): move NativeAppWindowFrameViewMacClient before constructor The std::unique_ptr<NativeAppWindowFrameViewMacClient> member requires the complete type definition to be visible at the point of the constructor because the unique_ptr destructor may be instantiated during exception handling. Moved the class definition before the NativeWindowMac constructor. Ref: Unable to locate CL - libc++ unique_ptr requires complete type for destructor Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com> * fix(patch-conflict): update create_browser_v8_snapshot_file_name_fuse context for IsInitFeatureListEarly The upstream added IsInitFeatureListEarly() virtual method declaration to ContentMainDelegate class. Updated the patch context to account for this new function being present before the GetBrowserV8SnapshotFilename() declaration we add. Ref: https://chromium-review.googlesource.com/c/chromium/src/+/7092856 Co-Authored-By: Claude <noreply@anthropic.com> * chore: update patch hunk headers Co-Authored-By: Claude <noreply@anthropic.com> * fix(patch-update): remove reverted IsInitFeatureListEarly from v8 snapshot patch The upstream added IsInitFeatureListEarly() was reverted, so the patch should not include this declaration. Only GetBrowserV8SnapshotFilename() should be added by the create_browser_v8_snapshot_file_name_fuse patch. Ref: https://chromium-review.googlesource.com/c/chromium/src/+/7230430 Co-Authored-By: Claude <noreply@anthropic.com> * 6171655: include single_thread_task_runner.h for complete type Added include for base/task/single_thread_task_runner.h in osr_converter.cc to resolve incomplete type error when using base::SingleThreadTaskRunner::GetCurrentDefault(). Ref: https://chromium-review.googlesource.com/c/chromium/src/+/6171655 Co-Authored-By: Claude <noreply@anthropic.com> * 7224136: use CHROMIUM_GIT_REVISION directly instead of removed function Upstream removed GetChromiumGitRevision() function from embedder_support. Updated to use CHROMIUM_GIT_REVISION macro directly via build/util/chromium_git_revision.h as recommended in the Chromium CL. Ref: https://chromium-review.googlesource.com/c/chromium/src/+/7224136 Co-Authored-By: Claude <noreply@anthropic.com> * fixup! 7224136: use CHROMIUM_GIT_REVISION directly instead of removed function * fix(build): add missing include `components/dbus/xdg/systemd.h` for `void OnSystemdUnitStarted(dbus_xdg::SystemdUnitStatus)` in the same patch. * fix(build): adapt to string-view-ification change in windows jump_list.cc 7186922: Fix unsafe buffer usage in base/win/win_util.cc https://chromium-review.googlesource.com/c/chromium/src/+/7186922 * chore: update libc++ filenames * fixup! fix(build): add missing include * fixup! fix(build): extend profile methods patch for ShouldEnableXfaForms * fixup! fix(build): guard media_file_system_registry for ChromeOS only * fixup! fixup! fix(build): extend profile methods patch for ShouldEnableXfaForms --------- Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com> Co-authored-by: Keeley Hammond <khammond@slack-corp.com> Co-authored-by: Claude <svc-devxp-claude@slack-corp.com> Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: clavin <clavin@electronjs.org>
429 lines
24 KiB
Diff
429 lines
24 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Andy Locascio <andy@slack-corp.com>
|
|
Date: Wed, 9 Sep 2020 16:56:06 -0700
|
|
Subject: chore: provide IsWebContentsCreationOverridden with full params
|
|
|
|
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.
|
|
|
|
diff --git a/chrome/browser/media/offscreen_tab.cc b/chrome/browser/media/offscreen_tab.cc
|
|
index 047f1258f951f763df2ca0ba355b19d19337826b..9fc7114312212fbe38ddec740b4aebbcd72cb0f8 100644
|
|
--- a/chrome/browser/media/offscreen_tab.cc
|
|
+++ b/chrome/browser/media/offscreen_tab.cc
|
|
@@ -285,8 +285,7 @@ bool OffscreenTab::IsWebContentsCreationOverridden(
|
|
content::SiteInstance* source_site_instance,
|
|
content::mojom::WindowContainerType window_container_type,
|
|
const GURL& opener_url,
|
|
- const std::string& frame_name,
|
|
- const GURL& target_url) {
|
|
+ const content::mojom::CreateNewWindowParams& params) {
|
|
// Disallow creating separate WebContentses. The WebContents implementation
|
|
// uses this to spawn new windows/tabs, which is also not allowed for
|
|
// offscreen tabs.
|
|
diff --git a/chrome/browser/media/offscreen_tab.h b/chrome/browser/media/offscreen_tab.h
|
|
index 231e3595f218aeebe28d0b13ce6182e7a4d6f4e1..609bd205d1cd0404cab3471765bef8b0e053d061 100644
|
|
--- a/chrome/browser/media/offscreen_tab.h
|
|
+++ b/chrome/browser/media/offscreen_tab.h
|
|
@@ -108,8 +108,7 @@ class OffscreenTab final : public ProfileObserver,
|
|
content::SiteInstance* source_site_instance,
|
|
content::mojom::WindowContainerType window_container_type,
|
|
const GURL& opener_url,
|
|
- const std::string& frame_name,
|
|
- const GURL& target_url) final;
|
|
+ const content::mojom::CreateNewWindowParams& params) override;
|
|
void EnterFullscreenModeForTab(
|
|
content::RenderFrameHost* requesting_frame,
|
|
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
|
|
index 7f99bf8c0c79de2cb8a812a7bfe8b4255697444a..d39aee929900cca756a6293b782a44228725f6fc 100644
|
|
--- a/chrome/browser/ui/ash/keyboard/chrome_keyboard_web_contents.cc
|
|
+++ b/chrome/browser/ui/ash/keyboard/chrome_keyboard_web_contents.cc
|
|
@@ -80,8 +80,7 @@ class ChromeKeyboardContentsDelegate : public content::WebContentsDelegate,
|
|
content::SiteInstance* source_site_instance,
|
|
content::mojom::WindowContainerType window_container_type,
|
|
const GURL& opener_url,
|
|
- const std::string& frame_name,
|
|
- const GURL& target_url) override {
|
|
+ const content::mojom::CreateNewWindowParams& params) override {
|
|
return true;
|
|
}
|
|
|
|
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 e4e42249c476ccae58f0ba42e7dbae299f1e36bd..670c30ed4b7f1a07eb4b8abaa95e5a8a9d94bd8d 100644
|
|
--- a/chrome/browser/ui/ash/web_view/ash_web_view_impl.cc
|
|
+++ b/chrome/browser/ui/ash/web_view/ash_web_view_impl.cc
|
|
@@ -121,10 +121,9 @@ bool AshWebViewImpl::IsWebContentsCreationOverridden(
|
|
content::SiteInstance* source_site_instance,
|
|
content::mojom::WindowContainerType window_container_type,
|
|
const GURL& opener_url,
|
|
- const std::string& frame_name,
|
|
- const GURL& target_url) {
|
|
+ const content::mojom::CreateNewWindowParams& params) {
|
|
if (params_.suppress_navigation) {
|
|
- NotifyDidSuppressNavigation(target_url,
|
|
+ NotifyDidSuppressNavigation(params.target_url,
|
|
WindowOpenDisposition::NEW_FOREGROUND_TAB,
|
|
/*from_user_gesture=*/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
|
|
index 39fa45f0a0f9076bd7ac0be6f455dd540a276512..3d0381d463eed73470b28085830f2a23751659a7 100644
|
|
--- a/chrome/browser/ui/ash/web_view/ash_web_view_impl.h
|
|
+++ b/chrome/browser/ui/ash/web_view/ash_web_view_impl.h
|
|
@@ -60,8 +60,7 @@ class AshWebViewImpl : public ash::AshWebView,
|
|
content::SiteInstance* source_site_instance,
|
|
content::mojom::WindowContainerType window_container_type,
|
|
const GURL& opener_url,
|
|
- const std::string& frame_name,
|
|
- const GURL& target_url) override;
|
|
+ const content::mojom::CreateNewWindowParams& params) override;
|
|
content::WebContents* OpenURLFromTab(
|
|
content::WebContents* source,
|
|
const content::OpenURLParams& params,
|
|
diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc
|
|
index 56d1cbcdc5a9044b6cbffa07c81f6d04a70878ca..f5572c4d415138007412360efb77c487b352ce83 100644
|
|
--- a/chrome/browser/ui/browser.cc
|
|
+++ b/chrome/browser/ui/browser.cc
|
|
@@ -2388,7 +2388,8 @@ bool Browser::IsWebContentsCreationOverridden(
|
|
content::mojom::WindowContainerType window_container_type,
|
|
const GURL& opener_url,
|
|
const std::string& frame_name,
|
|
- const GURL& target_url) {
|
|
+ const GURL& target_url,
|
|
+ const content::mojom::CreateNewWindowParams& params) {
|
|
if (HasActorTask(profile(), opener)) {
|
|
// If an ExecutionEngine is acting on the opener, prevent it from creating a
|
|
// new WebContents. We'll instead force the navigation to happen in the same
|
|
@@ -2401,7 +2402,7 @@ bool Browser::IsWebContentsCreationOverridden(
|
|
return (window_container_type ==
|
|
content::mojom::WindowContainerType::BACKGROUND &&
|
|
ShouldCreateBackgroundContents(source_site_instance, opener_url,
|
|
- frame_name));
|
|
+ params.frame));
|
|
}
|
|
|
|
WebContents* Browser::CreateCustomWebContents(
|
|
diff --git a/chrome/browser/ui/browser.h b/chrome/browser/ui/browser.h
|
|
index 84aa1286e865cf32a2bed9444c2ef6b2b650ed5c..7d262aa7236656af0b1b9507e4251757d3727e68 100644
|
|
--- a/chrome/browser/ui/browser.h
|
|
+++ b/chrome/browser/ui/browser.h
|
|
@@ -942,8 +942,7 @@ class Browser : public TabStripModelObserver,
|
|
content::SiteInstance* source_site_instance,
|
|
content::mojom::WindowContainerType window_container_type,
|
|
const GURL& opener_url,
|
|
- const std::string& frame_name,
|
|
- const GURL& target_url) override;
|
|
+ const content::mojom::CreateNewWindowParams& params) override;
|
|
content::WebContents* CreateCustomWebContents(
|
|
content::RenderFrameHost* opener,
|
|
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
|
|
index a05510eadf5c9ff24bb7999aa76229946319280f..a80ecc46f8a6b84de83d608257d45ae61ccc2170 100644
|
|
--- a/chrome/browser/ui/media_router/presentation_receiver_window_controller.cc
|
|
+++ b/chrome/browser/ui/media_router/presentation_receiver_window_controller.cc
|
|
@@ -206,8 +206,7 @@ bool PresentationReceiverWindowController::IsWebContentsCreationOverridden(
|
|
content::SiteInstance* source_site_instance,
|
|
content::mojom::WindowContainerType window_container_type,
|
|
const GURL& opener_url,
|
|
- const std::string& frame_name,
|
|
- const GURL& target_url) {
|
|
+ const content::mojom::CreateNewWindowParams& params) {
|
|
// Disallow creating separate WebContentses. The WebContents implementation
|
|
// uses this to spawn new windows/tabs, which is also not allowed for
|
|
// 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
|
|
index 3fc06be01f20e8cd314d95d73a3f58c2f0742fe9..c07910ae59a185442f37ea6e7b96fdf3a33aba82 100644
|
|
--- a/chrome/browser/ui/media_router/presentation_receiver_window_controller.h
|
|
+++ b/chrome/browser/ui/media_router/presentation_receiver_window_controller.h
|
|
@@ -106,8 +106,7 @@ class PresentationReceiverWindowController final
|
|
content::SiteInstance* source_site_instance,
|
|
content::mojom::WindowContainerType window_container_type,
|
|
const GURL& opener_url,
|
|
- const std::string& frame_name,
|
|
- const GURL& target_url) override;
|
|
+ const content::mojom::CreateNewWindowParams& params) override;
|
|
|
|
// The profile used for the presentation.
|
|
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
|
|
index 3bbd4e568ba99245622a96f0801d2b6cd203025f..1e0b7d16b33daed980961dd49c667a3b254c186f 100644
|
|
--- a/chrome/browser/ui/views/hats/hats_next_web_dialog.cc
|
|
+++ b/chrome/browser/ui/views/hats/hats_next_web_dialog.cc
|
|
@@ -104,8 +104,7 @@ class HatsNextWebDialog::HatsWebView : public views::WebView {
|
|
content::SiteInstance* source_site_instance,
|
|
content::mojom::WindowContainerType window_container_type,
|
|
const GURL& opener_url,
|
|
- const std::string& frame_name,
|
|
- const GURL& target_url) override {
|
|
+ const content::mojom::CreateNewWindowParams& params) override {
|
|
return true;
|
|
}
|
|
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
|
|
index 717730dd4e29dfd0d0bea33f83ae48ff11197953..454d4d1e40989d84de2f9bb3f2e01bc31cc5e3ac 100644
|
|
--- a/components/embedder_support/android/delegate/web_contents_delegate_android.cc
|
|
+++ b/components/embedder_support/android/delegate/web_contents_delegate_android.cc
|
|
@@ -215,15 +215,14 @@ bool WebContentsDelegateAndroid::IsWebContentsCreationOverridden(
|
|
content::SiteInstance* source_site_instance,
|
|
content::mojom::WindowContainerType window_container_type,
|
|
const GURL& opener_url,
|
|
- const std::string& frame_name,
|
|
- const GURL& target_url) {
|
|
+ const content::mojom::CreateNewWindowParams& params) {
|
|
JNIEnv* env = AttachCurrentThread();
|
|
ScopedJavaLocalRef<jobject> obj = GetJavaDelegate(env);
|
|
if (obj.is_null()) {
|
|
return false;
|
|
}
|
|
ScopedJavaLocalRef<jobject> java_gurl =
|
|
- url::GURLAndroid::FromNativeGURL(env, target_url);
|
|
+ url::GURLAndroid::FromNativeGURL(env, params.target_url.spec());
|
|
return !Java_WebContentsDelegateAndroid_shouldCreateWebContents(env, obj,
|
|
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
|
|
index 1676a7d1e1734d196aeb3d2e27997de1743f034c..9be7c579c08af7b9b0de947a9d9af39b4d510b3c 100644
|
|
--- a/components/embedder_support/android/delegate/web_contents_delegate_android.h
|
|
+++ b/components/embedder_support/android/delegate/web_contents_delegate_android.h
|
|
@@ -78,8 +78,7 @@ class WebContentsDelegateAndroid : public content::WebContentsDelegate {
|
|
content::SiteInstance* source_site_instance,
|
|
content::mojom::WindowContainerType window_container_type,
|
|
const GURL& opener_url,
|
|
- const std::string& frame_name,
|
|
- const GURL& target_url) override;
|
|
+ const content::mojom::CreateNewWindowParams& params) override;
|
|
void CloseContents(content::WebContents* source) override;
|
|
bool DidAddMessageToConsole(content::WebContents* source,
|
|
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
|
|
index 14f2758f2d71d4d4ba77e4fcb9be40bb878526e0..536db4f8fe9771b60f0359df5c680b298c89cad4 100644
|
|
--- a/components/offline_pages/content/background_loader/background_loader_contents.cc
|
|
+++ b/components/offline_pages/content/background_loader/background_loader_contents.cc
|
|
@@ -86,8 +86,7 @@ bool BackgroundLoaderContents::IsWebContentsCreationOverridden(
|
|
content::SiteInstance* source_site_instance,
|
|
content::mojom::WindowContainerType window_container_type,
|
|
const GURL& opener_url,
|
|
- const std::string& frame_name,
|
|
- const GURL& target_url) {
|
|
+ const content::mojom::CreateNewWindowParams& params) {
|
|
// Background pages should not create other webcontents/tabs.
|
|
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
|
|
index b969f1d97b7e3396119b579cfbe61e19ff7d2dd4..b8d6169652da28266a514938b45b39c58df53573 100644
|
|
--- a/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 {
|
|
content::SiteInstance* source_site_instance,
|
|
content::mojom::WindowContainerType window_container_type,
|
|
const GURL& opener_url,
|
|
- const std::string& frame_name,
|
|
- const GURL& target_url) override;
|
|
+ const content::mojom::CreateNewWindowParams& params) override;
|
|
|
|
content::WebContents* AddNewContents(
|
|
content::WebContents* source,
|
|
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
|
|
index f791952d5c33ba617d93600b84a42e2b6dc2b7c5..ec2814dc6d2e86d1508d3bd9889491c362c2130b 100644
|
|
--- a/content/browser/web_contents/web_contents_impl.cc
|
|
+++ b/content/browser/web_contents/web_contents_impl.cc
|
|
@@ -5262,8 +5262,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
|
if (delegate_ &&
|
|
delegate_->IsWebContentsCreationOverridden(
|
|
opener, source_site_instance, params.window_container_type,
|
|
- opener->GetLastCommittedURL(), params.frame_name,
|
|
- params.target_url)) {
|
|
+ opener->GetLastCommittedURL(), params)) {
|
|
auto* web_contents_impl =
|
|
static_cast<WebContentsImpl*>(delegate_->CreateCustomWebContents(
|
|
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
|
|
index badec4ea2cc0ecf1920839cf6cf731a6c81d6940..6c3ac2cf54bd7c20165b552f8c26da14cab94242 100644
|
|
--- a/content/public/browser/web_contents_delegate.cc
|
|
+++ b/content/public/browser/web_contents_delegate.cc
|
|
@@ -161,8 +161,7 @@ bool WebContentsDelegate::IsWebContentsCreationOverridden(
|
|
SiteInstance* source_site_instance,
|
|
mojom::WindowContainerType window_container_type,
|
|
const GURL& opener_url,
|
|
- const std::string& frame_name,
|
|
- const GURL& target_url) {
|
|
+ const mojom::CreateNewWindowParams& params) {
|
|
return false;
|
|
}
|
|
|
|
diff --git a/content/public/browser/web_contents_delegate.h b/content/public/browser/web_contents_delegate.h
|
|
index d1f16f9c48bb2c60094f4644a9c41526a73a45a0..320a7288dd87f6e9c100fcff046ddfa7f0f6e179 100644
|
|
--- a/content/public/browser/web_contents_delegate.h
|
|
+++ b/content/public/browser/web_contents_delegate.h
|
|
@@ -380,8 +380,7 @@ class CONTENT_EXPORT WebContentsDelegate {
|
|
SiteInstance* source_site_instance,
|
|
mojom::WindowContainerType window_container_type,
|
|
const GURL& opener_url,
|
|
- const std::string& frame_name,
|
|
- const GURL& target_url);
|
|
+ const mojom::CreateNewWindowParams& params);
|
|
|
|
// Allow delegate to creates a custom WebContents when
|
|
// 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
|
|
index af80323215e2cb6ff7bdb802f8da4bdbe0067f71..187816751bde435e9c622921c457873d4b3172cd 100644
|
|
--- a/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(
|
|
content::SiteInstance* source_site_instance,
|
|
content::mojom::WindowContainerType window_container_type,
|
|
const GURL& opener_url,
|
|
- const std::string& frame_name,
|
|
- const GURL& target_url) {
|
|
+ const content::mojom::CreateNewWindowParams& params) {
|
|
CHECK(!base::FeatureList::IsEnabled(features::kGuestViewMPArch));
|
|
|
|
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
|
|
index 7695578f626f2a0c7fefae2bc1d5c35e5ac154f2..78958bff12ce41ae5ad77f43279a4b35b9408a12 100644
|
|
--- a/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 @@
|
|
#include "base/containers/id_map.h"
|
|
#include "base/values.h"
|
|
#include "components/guest_view/browser/guest_view.h"
|
|
+#include "content/common/frame.mojom-shared.h"
|
|
#include "extensions/browser/guest_view/app_view/app_view_guest_delegate.h"
|
|
#include "extensions/browser/lazy_context_task_queue.h"
|
|
|
|
@@ -80,8 +81,7 @@ class AppViewGuest : public guest_view::GuestView<AppViewGuest> {
|
|
content::SiteInstance* source_site_instance,
|
|
content::mojom::WindowContainerType window_container_type,
|
|
const GURL& opener_url,
|
|
- const std::string& frame_name,
|
|
- const GURL& target_url) final;
|
|
+ const content::mojom::CreateNewWindowParams& params) final;
|
|
content::WebContents* CreateCustomWebContents(
|
|
content::RenderFrameHost* opener,
|
|
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
|
|
index 0ab40dfd23d1071212c4d30d01fa8e7755458d4a..f032127a94c52beb3f509d6ea84c7e55f21084e2 100644
|
|
--- a/extensions/browser/guest_view/extension_options/extension_options_guest.cc
|
|
+++ b/extensions/browser/guest_view/extension_options/extension_options_guest.cc
|
|
@@ -263,8 +263,7 @@ bool ExtensionOptionsGuest::IsWebContentsCreationOverridden(
|
|
content::SiteInstance* source_site_instance,
|
|
content::mojom::WindowContainerType window_container_type,
|
|
const GURL& opener_url,
|
|
- const std::string& frame_name,
|
|
- const GURL& target_url) {
|
|
+ const content::mojom::CreateNewWindowParams& params) {
|
|
CHECK(!base::FeatureList::IsEnabled(features::kGuestViewMPArch));
|
|
|
|
// 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
|
|
index 56d86e3d1179df2d5f34eb6216989aef2687f49f..236f3ccf8354b156737e03929ee538f99f1f4adf 100644
|
|
--- a/extensions/browser/guest_view/extension_options/extension_options_guest.h
|
|
+++ b/extensions/browser/guest_view/extension_options/extension_options_guest.h
|
|
@@ -74,8 +74,7 @@ class ExtensionOptionsGuest
|
|
content::SiteInstance* source_site_instance,
|
|
content::mojom::WindowContainerType window_container_type,
|
|
const GURL& opener_url,
|
|
- const std::string& frame_name,
|
|
- const GURL& target_url) final;
|
|
+ const content::mojom::CreateNewWindowParams& params) final;
|
|
content::WebContents* CreateCustomWebContents(
|
|
content::RenderFrameHost* opener,
|
|
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
|
|
index 23705fa50cf79865b68d8352f6ec72444ca5233e..efa5e78ed92464a6d47319f7b2087555d683bd8c 100644
|
|
--- 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
|
|
@@ -424,8 +424,7 @@ bool MimeHandlerViewGuest::IsWebContentsCreationOverridden(
|
|
content::SiteInstance* source_site_instance,
|
|
content::mojom::WindowContainerType window_container_type,
|
|
const GURL& opener_url,
|
|
- const std::string& frame_name,
|
|
- const GURL& target_url) {
|
|
+ const content::mojom::CreateNewWindowParams& params) {
|
|
CHECK(!base::FeatureList::IsEnabled(features::kGuestViewMPArch));
|
|
|
|
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
|
|
index 7eeffdfbda9611806c6f260f0c68f6d84689cb7e..5d8f6d132068d7fabaa52bc61354c71a8ac8cd20 100644
|
|
--- 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
|
|
@@ -187,8 +187,7 @@ class MimeHandlerViewGuest
|
|
content::SiteInstance* source_site_instance,
|
|
content::mojom::WindowContainerType window_container_type,
|
|
const GURL& opener_url,
|
|
- const std::string& frame_name,
|
|
- const GURL& target_url) override;
|
|
+ const content::mojom::CreateNewWindowParams& params) override;
|
|
content::WebContents* CreateCustomWebContents(
|
|
content::RenderFrameHost* opener,
|
|
content::SiteInstance* source_site_instance,
|
|
diff --git a/fuchsia_web/webengine/browser/frame_impl.cc b/fuchsia_web/webengine/browser/frame_impl.cc
|
|
index 44fdb7377fc4d09137d0718de0f960b0d190c99f..46bde9f83510116f8723d400d5947f9cc6ba3ab5 100644
|
|
--- a/fuchsia_web/webengine/browser/frame_impl.cc
|
|
+++ b/fuchsia_web/webengine/browser/frame_impl.cc
|
|
@@ -585,8 +585,7 @@ bool FrameImpl::IsWebContentsCreationOverridden(
|
|
content::SiteInstance* source_site_instance,
|
|
content::mojom::WindowContainerType window_container_type,
|
|
const GURL& opener_url,
|
|
- const std::string& frame_name,
|
|
- const GURL& target_url) {
|
|
+ const content::mojom::CreateNewWindowParams& params) {
|
|
// Specify a generous upper bound for unacknowledged popup windows, so that we
|
|
// can catch bad client behavior while not interfering with normal operation.
|
|
constexpr size_t kMaxPendingWebContentsCount = 10;
|
|
diff --git a/fuchsia_web/webengine/browser/frame_impl.h b/fuchsia_web/webengine/browser/frame_impl.h
|
|
index 756d4192271d6a65cfe8e1511737c565b543cb1f..5688f6f745056565c3c01947f741c4d13e27b6ae 100644
|
|
--- a/fuchsia_web/webengine/browser/frame_impl.h
|
|
+++ b/fuchsia_web/webengine/browser/frame_impl.h
|
|
@@ -308,8 +308,7 @@ class WEB_ENGINE_EXPORT FrameImpl : public fuchsia::web::Frame,
|
|
content::SiteInstance* source_site_instance,
|
|
content::mojom::WindowContainerType window_container_type,
|
|
const GURL& opener_url,
|
|
- const std::string& frame_name,
|
|
- const GURL& target_url) override;
|
|
+ const content::mojom::CreateNewWindowParams& params) override;
|
|
void WebContentsCreated(content::WebContents* source_contents,
|
|
int opener_render_process_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
|
|
index 3af22f9e041996cedebc1d9ffd402e9fcccceaea..e488b8d4d8f81ad2a0b8a6a1cc13fb886fd26e62 100644
|
|
--- a/headless/lib/browser/headless_web_contents_impl.cc
|
|
+++ b/headless/lib/browser/headless_web_contents_impl.cc
|
|
@@ -208,8 +208,7 @@ class HeadlessWebContentsImpl::Delegate : public content::WebContentsDelegate {
|
|
content::SiteInstance* source_site_instance,
|
|
content::mojom::WindowContainerType window_container_type,
|
|
const GURL& opener_url,
|
|
- const std::string& frame_name,
|
|
- const GURL& target_url) override {
|
|
+ const content::mojom::CreateNewWindowParams& params) override {
|
|
return headless_web_contents_->browser_context()
|
|
->options()
|
|
->block_new_web_contents();
|
|
diff --git a/ui/views/controls/webview/web_dialog_view.cc b/ui/views/controls/webview/web_dialog_view.cc
|
|
index f56882565de72fa9ab660b4a8d86f08c7392becd..439586a03288822bab8f5f21d0c38b678ed52fb6 100644
|
|
--- a/ui/views/controls/webview/web_dialog_view.cc
|
|
+++ b/ui/views/controls/webview/web_dialog_view.cc
|
|
@@ -489,8 +489,7 @@ bool WebDialogView::IsWebContentsCreationOverridden(
|
|
content::SiteInstance* source_site_instance,
|
|
content::mojom::WindowContainerType window_container_type,
|
|
const GURL& opener_url,
|
|
- const std::string& frame_name,
|
|
- const GURL& target_url) {
|
|
+ const content::mojom::CreateNewWindowParams& params) {
|
|
if (delegate_) {
|
|
return delegate_->HandleShouldOverrideWebContentsCreation();
|
|
}
|
|
diff --git a/ui/views/controls/webview/web_dialog_view.h b/ui/views/controls/webview/web_dialog_view.h
|
|
index 720611a58300a0252d5dd66e1e7c98282dc82646..eb0abf978651266fe7e4d6a8e9af30024fceb7d1 100644
|
|
--- a/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,
|
|
content::SiteInstance* source_site_instance,
|
|
content::mojom::WindowContainerType window_container_type,
|
|
const GURL& opener_url,
|
|
- const std::string& frame_name,
|
|
- const GURL& target_url) override;
|
|
+ const content::mojom::CreateNewWindowParams& params) override;
|
|
void RequestMediaAccessPermission(
|
|
content::WebContents* web_contents,
|
|
const content::MediaStreamRequest& request,
|