mirror of
https://github.com/electron/electron.git
synced 2026-01-09 15:38:08 -05:00
416 lines
24 KiB
Diff
416 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/android/document/document_web_contents_delegate.cc b/chrome/browser/android/document/document_web_contents_delegate.cc
|
|
index 0e90487923c57c0570e73ef0f0e8c5acc2576932..20fece7e761c28d8d13f53de5b5b521a73f4f168 100644
|
|
--- a/chrome/browser/android/document/document_web_contents_delegate.cc
|
|
+++ b/chrome/browser/android/document/document_web_contents_delegate.cc
|
|
@@ -46,8 +46,7 @@ bool DocumentWebContentsDelegate::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) {
|
|
NOTREACHED();
|
|
return true;
|
|
}
|
|
diff --git a/chrome/browser/android/document/document_web_contents_delegate.h b/chrome/browser/android/document/document_web_contents_delegate.h
|
|
index 5b4d70991e19edcdfee731c56251932bf43e535f..4d996e3821410b2325ef85499f8c307c6e043b2a 100644
|
|
--- a/chrome/browser/android/document/document_web_contents_delegate.h
|
|
+++ b/chrome/browser/android/document/document_web_contents_delegate.h
|
|
@@ -41,8 +41,7 @@ class DocumentWebContentsDelegate
|
|
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;
|
|
};
|
|
|
|
#endif // CHROME_BROWSER_ANDROID_DOCUMENT_DOCUMENT_WEB_CONTENTS_DELEGATE_H_
|
|
diff --git a/chrome/browser/media/offscreen_tab.cc b/chrome/browser/media/offscreen_tab.cc
|
|
index 3289268d3ddb3fbb625b8498c2f84370c37acdff..89920af3e44257b6091bb558537fe07d2bb2d899 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 faa684c429e8cd5817c043db48dcbea33c6c8782..8b5991bc8279585cc0749f6816aa8a03a2c4e558 100644
|
|
--- a/chrome/browser/media/offscreen_tab.h
|
|
+++ b/chrome/browser/media/offscreen_tab.h
|
|
@@ -107,8 +107,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/ash_web_view_impl.cc b/chrome/browser/ui/ash/ash_web_view_impl.cc
|
|
index 268355f22577cf21926e209a9fcdb3f52314f2ac..80f998cdb10d9955e438ba5ef4599b35c448fae2 100644
|
|
--- a/chrome/browser/ui/ash/ash_web_view_impl.cc
|
|
+++ b/chrome/browser/ui/ash/ash_web_view_impl.cc
|
|
@@ -84,10 +84,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/ash_web_view_impl.h b/chrome/browser/ui/ash/ash_web_view_impl.h
|
|
index f0333177f885000fb22818ffa30a0c4ad520a161..03e82957f9d7bf009dcbf5fcd43718c9d2ac9bb8 100644
|
|
--- a/chrome/browser/ui/ash/ash_web_view_impl.h
|
|
+++ b/chrome/browser/ui/ash/ash_web_view_impl.h
|
|
@@ -47,8 +47,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) override;
|
|
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 1318d5e04d5448d2b357454c3ce4207264288760..3b0324c35d5b18ed2e29264aae860c4887cdd382 100644
|
|
--- a/chrome/browser/ui/ash/keyboard/chrome_keyboard_web_contents.cc
|
|
+++ b/chrome/browser/ui/ash/keyboard/chrome_keyboard_web_contents.cc
|
|
@@ -71,8 +71,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/browser.cc b/chrome/browser/ui/browser.cc
|
|
index ecf7d1e17ec8aa8f593b6f1b17d2d1c98928879a..8fa9f8b224526c7a41c16f0f6fd51c4ca6b3b66e 100644
|
|
--- a/chrome/browser/ui/browser.cc
|
|
+++ b/chrome/browser/ui/browser.cc
|
|
@@ -1821,12 +1821,11 @@ bool Browser::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) {
|
|
return window_container_type ==
|
|
content::mojom::WindowContainerType::BACKGROUND &&
|
|
ShouldCreateBackgroundContents(source_site_instance, opener_url,
|
|
- frame_name);
|
|
+ params.frame_name);
|
|
}
|
|
|
|
WebContents* Browser::CreateCustomWebContents(
|
|
diff --git a/chrome/browser/ui/browser.h b/chrome/browser/ui/browser.h
|
|
index b0f70cfaa60d28547f74b199d41ce81a5cdc8891..74efdc0a0ba5e5b862e12180dbfdb9534e9e0a5d 100644
|
|
--- a/chrome/browser/ui/browser.h
|
|
+++ b/chrome/browser/ui/browser.h
|
|
@@ -855,8 +855,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 27b0f262235a58d546358ea12d7d7ea05f250c15..4f3cb2d63313703c98fd2149c07c60c95f263cdb 100644
|
|
--- a/chrome/browser/ui/media_router/presentation_receiver_window_controller.cc
|
|
+++ b/chrome/browser/ui/media_router/presentation_receiver_window_controller.cc
|
|
@@ -202,8 +202,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 b6833e34c5840a4d3a545d1c4a44b2b08d7fc9ea..5ebc16a3545a73e58516cb0fbdddca43e789fd24 100644
|
|
--- a/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
|
|
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> 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 ed23267cd9f28f4e02d8374177f0bb697547cc2a..a979719f75ab4c9b49775ec3df5eff13f4429a49 100644
|
|
--- a/chrome/browser/ui/views/hats/hats_next_web_dialog.cc
|
|
+++ b/chrome/browser/ui/views/hats/hats_next_web_dialog.cc
|
|
@@ -70,8 +70,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 1a6bbeea689901e23717d660e67f8d1abb21f799..85f7b42e7aadce3abcae9f9596403f9856771993 100644
|
|
--- a/components/embedder_support/android/delegate/web_contents_delegate_android.cc
|
|
+++ b/components/embedder_support/android/delegate/web_contents_delegate_android.cc
|
|
@@ -170,14 +170,13 @@ 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 2930898b03d7b7ef86d13733cec3cbe84105c166..76625339f42a867c8b68840253e91648721c9343 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;
|
|
void SetContentsBounds(content::WebContents* source,
|
|
const gfx::Rect& bounds) override;
|
|
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 186711550a45f4bf383cdceeabac9e1f46aeca89..df1ecec4bf56de72a6164644d3094557a7a52896 100644
|
|
--- a/components/offline_pages/content/background_loader/background_loader_contents.cc
|
|
+++ b/components/offline_pages/content/background_loader/background_loader_contents.cc
|
|
@@ -83,8 +83,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 c6bd5c19f8a7ceec17c9e32af5296a9617f3a619..02199b439fba7fdc617b7f7980d958b76d09c4e8 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;
|
|
|
|
void AddNewContents(content::WebContents* source,
|
|
std::unique_ptr<content::WebContents> new_contents,
|
|
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
|
|
index a2f1f72a30f694d53f28d38d823341e7b4f008e1..7ff6febe70e9ec82becfbe036883fbc7572b5b01 100644
|
|
--- a/content/browser/web_contents/web_contents_impl.cc
|
|
+++ b/content/browser/web_contents/web_contents_impl.cc
|
|
@@ -3922,8 +3922,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
|
|
|
if (delegate_ && delegate_->IsWebContentsCreationOverridden(
|
|
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 3ddcc2d403a68fdc2b4b0246899cd9507ecc6195..eecc92f2ffce2c2eeb5fde977da6b94a29923b67 100644
|
|
--- a/content/public/browser/web_contents_delegate.cc
|
|
+++ b/content/public/browser/web_contents_delegate.cc
|
|
@@ -134,8 +134,7 @@ bool WebContentsDelegate::IsWebContentsCreationOverridden(
|
|
SiteInstance* source_site_instance,
|
|
content::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 1ea3e1fdf067ea54ce54d31f494ac2bf42b2de3f..aa9af63f6d4708660496e5892f00766281be22c9 100644
|
|
--- a/content/public/browser/web_contents_delegate.h
|
|
+++ b/content/public/browser/web_contents_delegate.h
|
|
@@ -317,8 +317,7 @@ class CONTENT_EXPORT WebContentsDelegate {
|
|
SiteInstance* source_site_instance,
|
|
content::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/extension_options/extension_options_guest.cc b/extensions/browser/guest_view/extension_options/extension_options_guest.cc
|
|
index add3f3f73b1e44401b31330cd06f8c9211c62516..a64b0d6dac663b23e6cec32c2898ae88157ad602 100644
|
|
--- a/extensions/browser/guest_view/extension_options/extension_options_guest.cc
|
|
+++ b/extensions/browser/guest_view/extension_options/extension_options_guest.cc
|
|
@@ -199,8 +199,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) {
|
|
// This method handles opening links from within the guest. Since this guest
|
|
// view is used for displaying embedded extension options, we want any
|
|
// external links to be opened in a new tab, not in a new guest view so we
|
|
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 f1c474143b087988b8084ad1bdf01b8ba80327e8..47ffb7d406eb04622fffce9f0671eddab4ff8fe3 100644
|
|
--- a/extensions/browser/guest_view/extension_options/extension_options_guest.h
|
|
+++ b/extensions/browser/guest_view/extension_options/extension_options_guest.h
|
|
@@ -58,8 +58,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 75a2534e3be7102a221378afbfef3df8e6a8555e..495fc687379c6456384acc3a1864c5f0c49ad47f 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
|
|
@@ -399,8 +399,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) {
|
|
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 26dc86a7534d9296f1b1f772ec95f5313c61061c..925152a6c1fb645dfff5bd7238b620a8344de734 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
|
|
@@ -170,8 +170,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 b9e21613a8ae3409477d659b0e12181e4db015c3..9d454bd8f8bde3624dd28f8effc0b7fc8a2b4f41 100644
|
|
--- a/fuchsia_web/webengine/browser/frame_impl.cc
|
|
+++ b/fuchsia_web/webengine/browser/frame_impl.cc
|
|
@@ -412,8 +412,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 0661fd642dcee69a7c8f955490dadf32dc0eb468..e3fa74da87513fbfcd035fa872dc938db96c2766 100644
|
|
--- a/fuchsia_web/webengine/browser/frame_impl.h
|
|
+++ b/fuchsia_web/webengine/browser/frame_impl.h
|
|
@@ -310,8 +310,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 aa488570851f68e892b024c901f31b658929fc72..efe6a6bc939a6bdea0eaca65e12242e23f3e6d59 100644
|
|
--- a/headless/lib/browser/headless_web_contents_impl.cc
|
|
+++ b/headless/lib/browser/headless_web_contents_impl.cc
|
|
@@ -179,8 +179,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 fb5239100bdc35d2d5cf47765c1bf1b285b20cf5..b4b2609ddbe0a0adfccffb4f4a0a56849579dd2d 100644
|
|
--- a/ui/views/controls/webview/web_dialog_view.cc
|
|
+++ b/ui/views/controls/webview/web_dialog_view.cc
|
|
@@ -427,8 +427,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();
|
|
return false;
|
|
diff --git a/ui/views/controls/webview/web_dialog_view.h b/ui/views/controls/webview/web_dialog_view.h
|
|
index eb5c113cab56f28d3bca3ac722c6e2b1ed3b50e8..26263aec5b8e401d3fd79b898651b9635daa36d8 100644
|
|
--- a/ui/views/controls/webview/web_dialog_view.h
|
|
+++ b/ui/views/controls/webview/web_dialog_view.h
|
|
@@ -155,8 +155,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,
|