chore_provide_iswebcontentscreationoverridden_with_full_params.patch 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387
  1. From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
  2. From: Andy Locascio <[email protected]>
  3. Date: Wed, 9 Sep 2020 16:56:06 -0700
  4. Subject: chore: provide IsWebContentsCreationOverridden with full params
  5. Pending upstream patch, this gives us fuller access to the window.open params
  6. so that we will be able to decide whether to cancel it or not.
  7. diff --git a/chrome/browser/media/offscreen_tab.cc b/chrome/browser/media/offscreen_tab.cc
  8. index 25b7fc49f6b5ebfee5a4a823ea18435871071c24..fe1ef8e8cd849023c654b07cc69738ba917a942c 100644
  9. --- a/chrome/browser/media/offscreen_tab.cc
  10. +++ b/chrome/browser/media/offscreen_tab.cc
  11. @@ -286,8 +286,7 @@ bool OffscreenTab::IsWebContentsCreationOverridden(
  12. content::SiteInstance* source_site_instance,
  13. content::mojom::WindowContainerType window_container_type,
  14. const GURL& opener_url,
  15. - const std::string& frame_name,
  16. - const GURL& target_url) {
  17. + const content::mojom::CreateNewWindowParams& params) {
  18. // Disallow creating separate WebContentses. The WebContents implementation
  19. // uses this to spawn new windows/tabs, which is also not allowed for
  20. // offscreen tabs.
  21. diff --git a/chrome/browser/media/offscreen_tab.h b/chrome/browser/media/offscreen_tab.h
  22. index 9433ce4602414df4999f6ced8b371d4e847819ce..f38afaafcd6710f9cfcef816bf152cd2538d1ab0 100644
  23. --- a/chrome/browser/media/offscreen_tab.h
  24. +++ b/chrome/browser/media/offscreen_tab.h
  25. @@ -107,8 +107,7 @@ class OffscreenTab final : public ProfileObserver,
  26. content::SiteInstance* source_site_instance,
  27. content::mojom::WindowContainerType window_container_type,
  28. const GURL& opener_url,
  29. - const std::string& frame_name,
  30. - const GURL& target_url) final;
  31. + const content::mojom::CreateNewWindowParams& params) override;
  32. void EnterFullscreenModeForTab(
  33. content::RenderFrameHost* requesting_frame,
  34. const blink::mojom::FullscreenOptions& options) final;
  35. diff --git a/chrome/browser/ui/ash/ash_web_view_impl.cc b/chrome/browser/ui/ash/ash_web_view_impl.cc
  36. index 75ef1f12f23c9a3fd6a11049430b636dfeb319e4..58d9575f1f83a319912e792a960bed69e807e5a2 100644
  37. --- a/chrome/browser/ui/ash/ash_web_view_impl.cc
  38. +++ b/chrome/browser/ui/ash/ash_web_view_impl.cc
  39. @@ -112,10 +112,9 @@ bool AshWebViewImpl::IsWebContentsCreationOverridden(
  40. content::SiteInstance* source_site_instance,
  41. content::mojom::WindowContainerType window_container_type,
  42. const GURL& opener_url,
  43. - const std::string& frame_name,
  44. - const GURL& target_url) {
  45. + const content::mojom::CreateNewWindowParams& params) {
  46. if (params_.suppress_navigation) {
  47. - NotifyDidSuppressNavigation(target_url,
  48. + NotifyDidSuppressNavigation(params.target_url,
  49. WindowOpenDisposition::NEW_FOREGROUND_TAB,
  50. /*from_user_gesture=*/true);
  51. return true;
  52. diff --git a/chrome/browser/ui/ash/ash_web_view_impl.h b/chrome/browser/ui/ash/ash_web_view_impl.h
  53. index 01b4c3fbc427636d355a4d0bc241f1d89bf3e7bc..60486ae8188926775f626f8aa207d810e02bf141 100644
  54. --- a/chrome/browser/ui/ash/ash_web_view_impl.h
  55. +++ b/chrome/browser/ui/ash/ash_web_view_impl.h
  56. @@ -58,8 +58,7 @@ class AshWebViewImpl : public ash::AshWebView,
  57. content::SiteInstance* source_site_instance,
  58. content::mojom::WindowContainerType window_container_type,
  59. const GURL& opener_url,
  60. - const std::string& frame_name,
  61. - const GURL& target_url) override;
  62. + const content::mojom::CreateNewWindowParams& params) override;
  63. content::WebContents* OpenURLFromTab(
  64. content::WebContents* source,
  65. const content::OpenURLParams& params) override;
  66. diff --git a/chrome/browser/ui/ash/keyboard/chrome_keyboard_web_contents.cc b/chrome/browser/ui/ash/keyboard/chrome_keyboard_web_contents.cc
  67. index aaaa61d5c3a1d5ade2fd355e38a3985ef5cc4e7d..b45746ba0f38a381a2ee5ca17f3a1685ab623bf7 100644
  68. --- a/chrome/browser/ui/ash/keyboard/chrome_keyboard_web_contents.cc
  69. +++ b/chrome/browser/ui/ash/keyboard/chrome_keyboard_web_contents.cc
  70. @@ -74,8 +74,7 @@ class ChromeKeyboardContentsDelegate : public content::WebContentsDelegate,
  71. content::SiteInstance* source_site_instance,
  72. content::mojom::WindowContainerType window_container_type,
  73. const GURL& opener_url,
  74. - const std::string& frame_name,
  75. - const GURL& target_url) override {
  76. + const content::mojom::CreateNewWindowParams& params) override {
  77. return true;
  78. }
  79. diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc
  80. index 0791cc8f55a922c6c9e0bd6b69d863ed0e0b8dd0..7a423f19ffdb6819c7ca8973fe08221bc27b5ee4 100644
  81. --- a/chrome/browser/ui/browser.cc
  82. +++ b/chrome/browser/ui/browser.cc
  83. @@ -1935,12 +1935,11 @@ bool Browser::IsWebContentsCreationOverridden(
  84. content::SiteInstance* source_site_instance,
  85. content::mojom::WindowContainerType window_container_type,
  86. const GURL& opener_url,
  87. - const std::string& frame_name,
  88. - const GURL& target_url) {
  89. + const content::mojom::CreateNewWindowParams& params) {
  90. return window_container_type ==
  91. content::mojom::WindowContainerType::BACKGROUND &&
  92. ShouldCreateBackgroundContents(source_site_instance, opener_url,
  93. - frame_name);
  94. + params.frame_name);
  95. }
  96. WebContents* Browser::CreateCustomWebContents(
  97. diff --git a/chrome/browser/ui/browser.h b/chrome/browser/ui/browser.h
  98. index 36ae82017f790810f58eb85b478c5d26acd20e05..42bbd163d82e99054435ec0459282c0c5fb61cbd 100644
  99. --- a/chrome/browser/ui/browser.h
  100. +++ b/chrome/browser/ui/browser.h
  101. @@ -924,8 +924,7 @@ class Browser : public TabStripModelObserver,
  102. content::SiteInstance* source_site_instance,
  103. content::mojom::WindowContainerType window_container_type,
  104. const GURL& opener_url,
  105. - const std::string& frame_name,
  106. - const GURL& target_url) override;
  107. + const content::mojom::CreateNewWindowParams& params) override;
  108. content::WebContents* CreateCustomWebContents(
  109. content::RenderFrameHost* opener,
  110. content::SiteInstance* source_site_instance,
  111. diff --git a/chrome/browser/ui/media_router/presentation_receiver_window_controller.cc b/chrome/browser/ui/media_router/presentation_receiver_window_controller.cc
  112. index 4f9040c4fd3127cec4473b36f818a12796710ec0..a4e8d400404b44b7ec3269fcab3ecb8dd4374840 100644
  113. --- a/chrome/browser/ui/media_router/presentation_receiver_window_controller.cc
  114. +++ b/chrome/browser/ui/media_router/presentation_receiver_window_controller.cc
  115. @@ -203,8 +203,7 @@ bool PresentationReceiverWindowController::IsWebContentsCreationOverridden(
  116. content::SiteInstance* source_site_instance,
  117. content::mojom::WindowContainerType window_container_type,
  118. const GURL& opener_url,
  119. - const std::string& frame_name,
  120. - const GURL& target_url) {
  121. + const content::mojom::CreateNewWindowParams& params) {
  122. // Disallow creating separate WebContentses. The WebContents implementation
  123. // uses this to spawn new windows/tabs, which is also not allowed for
  124. // local presentations.
  125. diff --git a/chrome/browser/ui/media_router/presentation_receiver_window_controller.h b/chrome/browser/ui/media_router/presentation_receiver_window_controller.h
  126. index ca72b324bf7c3b81ac94b53f0ff454d2df177950..d60ef3075d126e2bbd50c8469f2bf67cfa05c6f7 100644
  127. --- a/chrome/browser/ui/media_router/presentation_receiver_window_controller.h
  128. +++ b/chrome/browser/ui/media_router/presentation_receiver_window_controller.h
  129. @@ -105,8 +105,7 @@ class PresentationReceiverWindowController final
  130. content::SiteInstance* source_site_instance,
  131. content::mojom::WindowContainerType window_container_type,
  132. const GURL& opener_url,
  133. - const std::string& frame_name,
  134. - const GURL& target_url) override;
  135. + const content::mojom::CreateNewWindowParams& params) override;
  136. // The profile used for the presentation.
  137. raw_ptr<Profile, DanglingUntriaged> otr_profile_;
  138. diff --git a/chrome/browser/ui/views/hats/hats_next_web_dialog.cc b/chrome/browser/ui/views/hats/hats_next_web_dialog.cc
  139. index e785bdab92baf63d7df8886446716b16dfc2dfcd..fa57a97084015f02a250a068b15eb3ac8a68276e 100644
  140. --- a/chrome/browser/ui/views/hats/hats_next_web_dialog.cc
  141. +++ b/chrome/browser/ui/views/hats/hats_next_web_dialog.cc
  142. @@ -78,8 +78,7 @@ class HatsNextWebDialog::HatsWebView : public views::WebView {
  143. content::SiteInstance* source_site_instance,
  144. content::mojom::WindowContainerType window_container_type,
  145. const GURL& opener_url,
  146. - const std::string& frame_name,
  147. - const GURL& target_url) override {
  148. + const content::mojom::CreateNewWindowParams& params) override {
  149. return true;
  150. }
  151. content::WebContents* CreateCustomWebContents(
  152. diff --git a/components/embedder_support/android/delegate/web_contents_delegate_android.cc b/components/embedder_support/android/delegate/web_contents_delegate_android.cc
  153. index ae7e7189cee9f033d528275fa27e1e5a0d4b4b49..02ee0c513babcac48fe8e0c9e8de483b3e1b2626 100644
  154. --- a/components/embedder_support/android/delegate/web_contents_delegate_android.cc
  155. +++ b/components/embedder_support/android/delegate/web_contents_delegate_android.cc
  156. @@ -169,14 +169,13 @@ bool WebContentsDelegateAndroid::IsWebContentsCreationOverridden(
  157. content::SiteInstance* source_site_instance,
  158. content::mojom::WindowContainerType window_container_type,
  159. const GURL& opener_url,
  160. - const std::string& frame_name,
  161. - const GURL& target_url) {
  162. + const content::mojom::CreateNewWindowParams& params) {
  163. JNIEnv* env = AttachCurrentThread();
  164. ScopedJavaLocalRef<jobject> obj = GetJavaDelegate(env);
  165. if (obj.is_null())
  166. return false;
  167. ScopedJavaLocalRef<jobject> java_gurl =
  168. - url::GURLAndroid::FromNativeGURL(env, target_url);
  169. + url::GURLAndroid::FromNativeGURL(env, params.target_url.spec());
  170. return !Java_WebContentsDelegateAndroid_shouldCreateWebContents(env, obj,
  171. java_gurl);
  172. }
  173. diff --git a/components/embedder_support/android/delegate/web_contents_delegate_android.h b/components/embedder_support/android/delegate/web_contents_delegate_android.h
  174. index e5b1bd6bb831f9e1e17520015d09068464ecb098..f8094fb78f30d6f3145b6ee704305281a5b302df 100644
  175. --- a/components/embedder_support/android/delegate/web_contents_delegate_android.h
  176. +++ b/components/embedder_support/android/delegate/web_contents_delegate_android.h
  177. @@ -78,8 +78,7 @@ class WebContentsDelegateAndroid : public content::WebContentsDelegate {
  178. content::SiteInstance* source_site_instance,
  179. content::mojom::WindowContainerType window_container_type,
  180. const GURL& opener_url,
  181. - const std::string& frame_name,
  182. - const GURL& target_url) override;
  183. + const content::mojom::CreateNewWindowParams& params) override;
  184. void CloseContents(content::WebContents* source) override;
  185. void SetContentsBounds(content::WebContents* source,
  186. const gfx::Rect& bounds) override;
  187. diff --git a/components/offline_pages/content/background_loader/background_loader_contents.cc b/components/offline_pages/content/background_loader/background_loader_contents.cc
  188. index 292e69378d6e2e4a22e8a10c7d8eea25850a27d4..770c6bf3d792b4c3914ae9ef975739abf6e03136 100644
  189. --- a/components/offline_pages/content/background_loader/background_loader_contents.cc
  190. +++ b/components/offline_pages/content/background_loader/background_loader_contents.cc
  191. @@ -85,8 +85,7 @@ bool BackgroundLoaderContents::IsWebContentsCreationOverridden(
  192. content::SiteInstance* source_site_instance,
  193. content::mojom::WindowContainerType window_container_type,
  194. const GURL& opener_url,
  195. - const std::string& frame_name,
  196. - const GURL& target_url) {
  197. + const content::mojom::CreateNewWindowParams& params) {
  198. // Background pages should not create other webcontents/tabs.
  199. return true;
  200. }
  201. diff --git a/components/offline_pages/content/background_loader/background_loader_contents.h b/components/offline_pages/content/background_loader/background_loader_contents.h
  202. index c5b0d3b23b8da318ae55fcac2515a1187f261469..16ed1f46c9afde0ff25750128b4fcff6da639647 100644
  203. --- a/components/offline_pages/content/background_loader/background_loader_contents.h
  204. +++ b/components/offline_pages/content/background_loader/background_loader_contents.h
  205. @@ -66,8 +66,7 @@ class BackgroundLoaderContents : public content::WebContentsDelegate {
  206. content::SiteInstance* source_site_instance,
  207. content::mojom::WindowContainerType window_container_type,
  208. const GURL& opener_url,
  209. - const std::string& frame_name,
  210. - const GURL& target_url) override;
  211. + const content::mojom::CreateNewWindowParams& params) override;
  212. void AddNewContents(content::WebContents* source,
  213. std::unique_ptr<content::WebContents> new_contents,
  214. diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
  215. index d1ba45523d4a3ca1c2797bdffcc4091512becafc..c726b36539a3adbfa05739a1c712b0119feec803 100644
  216. --- a/content/browser/web_contents/web_contents_impl.cc
  217. +++ b/content/browser/web_contents/web_contents_impl.cc
  218. @@ -4426,8 +4426,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(
  219. if (delegate_ && delegate_->IsWebContentsCreationOverridden(
  220. source_site_instance, params.window_container_type,
  221. - opener->GetLastCommittedURL(), params.frame_name,
  222. - params.target_url)) {
  223. + opener->GetLastCommittedURL(), params)) {
  224. auto* web_contents_impl =
  225. static_cast<WebContentsImpl*>(delegate_->CreateCustomWebContents(
  226. opener, source_site_instance, is_new_browsing_instance,
  227. diff --git a/content/public/browser/web_contents_delegate.cc b/content/public/browser/web_contents_delegate.cc
  228. index 8930b2f6c532418a5de97813645783bc2bbad1ba..cfa7dc3805897a7e7b09bcf3fa4ebde05092c510 100644
  229. --- a/content/public/browser/web_contents_delegate.cc
  230. +++ b/content/public/browser/web_contents_delegate.cc
  231. @@ -138,8 +138,7 @@ bool WebContentsDelegate::IsWebContentsCreationOverridden(
  232. SiteInstance* source_site_instance,
  233. mojom::WindowContainerType window_container_type,
  234. const GURL& opener_url,
  235. - const std::string& frame_name,
  236. - const GURL& target_url) {
  237. + const mojom::CreateNewWindowParams& params) {
  238. return false;
  239. }
  240. diff --git a/content/public/browser/web_contents_delegate.h b/content/public/browser/web_contents_delegate.h
  241. index 7217c90d0c65203056c622120ae161206d341a83..681aa45b93e648157d018be425024dceef6a0708 100644
  242. --- a/content/public/browser/web_contents_delegate.h
  243. +++ b/content/public/browser/web_contents_delegate.h
  244. @@ -328,8 +328,7 @@ class CONTENT_EXPORT WebContentsDelegate {
  245. SiteInstance* source_site_instance,
  246. mojom::WindowContainerType window_container_type,
  247. const GURL& opener_url,
  248. - const std::string& frame_name,
  249. - const GURL& target_url);
  250. + const mojom::CreateNewWindowParams& params);
  251. // Allow delegate to creates a custom WebContents when
  252. // WebContents::CreateNewWindow() is called. This function is only called
  253. diff --git a/extensions/browser/guest_view/extension_options/extension_options_guest.cc b/extensions/browser/guest_view/extension_options/extension_options_guest.cc
  254. index 871d4bf48e3267cb518ebf2d4b2aaebdf9f4b0dc..d1f434fd9e23a172928aed23ca194b0b7bc2d884 100644
  255. --- a/extensions/browser/guest_view/extension_options/extension_options_guest.cc
  256. +++ b/extensions/browser/guest_view/extension_options/extension_options_guest.cc
  257. @@ -213,8 +213,7 @@ bool ExtensionOptionsGuest::IsWebContentsCreationOverridden(
  258. content::SiteInstance* source_site_instance,
  259. content::mojom::WindowContainerType window_container_type,
  260. const GURL& opener_url,
  261. - const std::string& frame_name,
  262. - const GURL& target_url) {
  263. + const content::mojom::CreateNewWindowParams& params) {
  264. // This method handles opening links from within the guest. Since this guest
  265. // view is used for displaying embedded extension options, we want any
  266. // external links to be opened in a new tab, not in a new guest view so we
  267. diff --git a/extensions/browser/guest_view/extension_options/extension_options_guest.h b/extensions/browser/guest_view/extension_options/extension_options_guest.h
  268. index 2578fa3fe9709cccd116290b4646c4426c41f8c8..32e7f992af1830e619b80f454051044ad80a77c2 100644
  269. --- a/extensions/browser/guest_view/extension_options/extension_options_guest.h
  270. +++ b/extensions/browser/guest_view/extension_options/extension_options_guest.h
  271. @@ -62,8 +62,7 @@ class ExtensionOptionsGuest
  272. content::SiteInstance* source_site_instance,
  273. content::mojom::WindowContainerType window_container_type,
  274. const GURL& opener_url,
  275. - const std::string& frame_name,
  276. - const GURL& target_url) final;
  277. + const content::mojom::CreateNewWindowParams& params) final;
  278. content::WebContents* CreateCustomWebContents(
  279. content::RenderFrameHost* opener,
  280. content::SiteInstance* source_site_instance,
  281. 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
  282. index 39def4c0d8ad58b51a6a71f5ad46b308bf7ff3a5..2357963cc6f83eb5536c01e1a25a7d12d8efce06 100644
  283. --- a/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc
  284. +++ b/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc
  285. @@ -386,8 +386,7 @@ bool MimeHandlerViewGuest::IsWebContentsCreationOverridden(
  286. content::SiteInstance* source_site_instance,
  287. content::mojom::WindowContainerType window_container_type,
  288. const GURL& opener_url,
  289. - const std::string& frame_name,
  290. - const GURL& target_url) {
  291. + const content::mojom::CreateNewWindowParams& params) {
  292. return true;
  293. }
  294. 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
  295. index 5709e978f2d8e6e287beb0b152595b937ebaeaf9..bf4e162439e6143470b24335ffb87381a79aae98 100644
  296. --- a/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h
  297. +++ b/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h
  298. @@ -174,8 +174,7 @@ class MimeHandlerViewGuest
  299. content::SiteInstance* source_site_instance,
  300. content::mojom::WindowContainerType window_container_type,
  301. const GURL& opener_url,
  302. - const std::string& frame_name,
  303. - const GURL& target_url) override;
  304. + const content::mojom::CreateNewWindowParams& params) override;
  305. content::WebContents* CreateCustomWebContents(
  306. content::RenderFrameHost* opener,
  307. content::SiteInstance* source_site_instance,
  308. diff --git a/fuchsia_web/webengine/browser/frame_impl.cc b/fuchsia_web/webengine/browser/frame_impl.cc
  309. index faa8416c8d625fac0cdb15dc9d54855417dce252..4f3e06a2e9945980f8b12418f7b31e0f73e11e61 100644
  310. --- a/fuchsia_web/webengine/browser/frame_impl.cc
  311. +++ b/fuchsia_web/webengine/browser/frame_impl.cc
  312. @@ -574,8 +574,7 @@ bool FrameImpl::IsWebContentsCreationOverridden(
  313. content::SiteInstance* source_site_instance,
  314. content::mojom::WindowContainerType window_container_type,
  315. const GURL& opener_url,
  316. - const std::string& frame_name,
  317. - const GURL& target_url) {
  318. + const content::mojom::CreateNewWindowParams& params) {
  319. // Specify a generous upper bound for unacknowledged popup windows, so that we
  320. // can catch bad client behavior while not interfering with normal operation.
  321. constexpr size_t kMaxPendingWebContentsCount = 10;
  322. diff --git a/fuchsia_web/webengine/browser/frame_impl.h b/fuchsia_web/webengine/browser/frame_impl.h
  323. index 10e649957e102376fb8847c5ad12c44d910a172c..1f7e5fb237837c630831b382acedba28f2059755 100644
  324. --- a/fuchsia_web/webengine/browser/frame_impl.h
  325. +++ b/fuchsia_web/webengine/browser/frame_impl.h
  326. @@ -306,8 +306,7 @@ class WEB_ENGINE_EXPORT FrameImpl : public fuchsia::web::Frame,
  327. content::SiteInstance* source_site_instance,
  328. content::mojom::WindowContainerType window_container_type,
  329. const GURL& opener_url,
  330. - const std::string& frame_name,
  331. - const GURL& target_url) override;
  332. + const content::mojom::CreateNewWindowParams& params) override;
  333. void WebContentsCreated(content::WebContents* source_contents,
  334. int opener_render_process_id,
  335. int opener_render_frame_id,
  336. diff --git a/headless/lib/browser/headless_web_contents_impl.cc b/headless/lib/browser/headless_web_contents_impl.cc
  337. index b52ab6ecdf078b601d0040f8cd704e1f34278da1..36e78eb758cc368bed3ab5c399ce70433de0303c 100644
  338. --- a/headless/lib/browser/headless_web_contents_impl.cc
  339. +++ b/headless/lib/browser/headless_web_contents_impl.cc
  340. @@ -182,8 +182,7 @@ class HeadlessWebContentsImpl::Delegate : public content::WebContentsDelegate {
  341. content::SiteInstance* source_site_instance,
  342. content::mojom::WindowContainerType window_container_type,
  343. const GURL& opener_url,
  344. - const std::string& frame_name,
  345. - const GURL& target_url) override {
  346. + const content::mojom::CreateNewWindowParams& params) override {
  347. return headless_web_contents_->browser_context()
  348. ->options()
  349. ->block_new_web_contents();
  350. diff --git a/ui/views/controls/webview/web_dialog_view.cc b/ui/views/controls/webview/web_dialog_view.cc
  351. index cbe26a6ee46b24334a68beb8e14af07153da1646..53b0404811766209a045a69dfa579b5b42e46369 100644
  352. --- a/ui/views/controls/webview/web_dialog_view.cc
  353. +++ b/ui/views/controls/webview/web_dialog_view.cc
  354. @@ -434,8 +434,7 @@ bool WebDialogView::IsWebContentsCreationOverridden(
  355. content::SiteInstance* source_site_instance,
  356. content::mojom::WindowContainerType window_container_type,
  357. const GURL& opener_url,
  358. - const std::string& frame_name,
  359. - const GURL& target_url) {
  360. + const content::mojom::CreateNewWindowParams& params) {
  361. if (delegate_)
  362. return delegate_->HandleShouldOverrideWebContentsCreation();
  363. return false;
  364. diff --git a/ui/views/controls/webview/web_dialog_view.h b/ui/views/controls/webview/web_dialog_view.h
  365. index 283a61a467498a0b397c9486b3ae43b9539ba352..ed90983c5304317a548d85748d93e2de3e2ffa2f 100644
  366. --- a/ui/views/controls/webview/web_dialog_view.h
  367. +++ b/ui/views/controls/webview/web_dialog_view.h
  368. @@ -163,8 +163,7 @@ class WEBVIEW_EXPORT WebDialogView : public ClientView,
  369. content::SiteInstance* source_site_instance,
  370. content::mojom::WindowContainerType window_container_type,
  371. const GURL& opener_url,
  372. - const std::string& frame_name,
  373. - const GURL& target_url) override;
  374. + const content::mojom::CreateNewWindowParams& params) override;
  375. void RequestMediaAccessPermission(
  376. content::WebContents* web_contents,
  377. const content::MediaStreamRequest& request,