chore_provide_iswebcontentscreationoverridden_with_full_params.patch 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423
  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 bfcdf050e603b953d15a0898200c8f031a1f84c6..b1f163b6da4d2197d404a5a0fbd31a5b346d3d69 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 2fa0d6e1be27cc429e4a0237b5bfafa7aaa06c56..3decb327b10e3cd3edc1765491a7eb6056be7a51 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/keyboard/chrome_keyboard_web_contents.cc b/chrome/browser/ui/ash/keyboard/chrome_keyboard_web_contents.cc
  36. index a0c24e09a5dffa8be119309738abe57e82ef76b3..3e362f622b72d7cb97a838e71014b035c47728c0 100644
  37. --- a/chrome/browser/ui/ash/keyboard/chrome_keyboard_web_contents.cc
  38. +++ b/chrome/browser/ui/ash/keyboard/chrome_keyboard_web_contents.cc
  39. @@ -79,8 +79,7 @@ class ChromeKeyboardContentsDelegate : public content::WebContentsDelegate,
  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) override {
  45. + const content::mojom::CreateNewWindowParams& params) override {
  46. return true;
  47. }
  48. 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
  49. index 44be6359d6a7acf88072569d8d4f85c688f5ed81..ee377313b25e13c011b1ed4aa31ea059f020a5b7 100644
  50. --- a/chrome/browser/ui/ash/web_view/ash_web_view_impl.cc
  51. +++ b/chrome/browser/ui/ash/web_view/ash_web_view_impl.cc
  52. @@ -120,10 +120,9 @@ bool AshWebViewImpl::IsWebContentsCreationOverridden(
  53. content::SiteInstance* source_site_instance,
  54. content::mojom::WindowContainerType window_container_type,
  55. const GURL& opener_url,
  56. - const std::string& frame_name,
  57. - const GURL& target_url) {
  58. + const content::mojom::CreateNewWindowParams& params) {
  59. if (params_.suppress_navigation) {
  60. - NotifyDidSuppressNavigation(target_url,
  61. + NotifyDidSuppressNavigation(params.target_url,
  62. WindowOpenDisposition::NEW_FOREGROUND_TAB,
  63. /*from_user_gesture=*/true);
  64. return true;
  65. 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
  66. index 4fd8dff1089cd6afa6a66dc185734d7671657281..0a1f4268ea771a3d5d4a2668928c6e5d1b618c68 100644
  67. --- a/chrome/browser/ui/ash/web_view/ash_web_view_impl.h
  68. +++ b/chrome/browser/ui/ash/web_view/ash_web_view_impl.h
  69. @@ -59,8 +59,7 @@ class AshWebViewImpl : public ash::AshWebView,
  70. content::SiteInstance* source_site_instance,
  71. content::mojom::WindowContainerType window_container_type,
  72. const GURL& opener_url,
  73. - const std::string& frame_name,
  74. - const GURL& target_url) override;
  75. + const content::mojom::CreateNewWindowParams& params) override;
  76. content::WebContents* OpenURLFromTab(
  77. content::WebContents* source,
  78. const content::OpenURLParams& params,
  79. diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc
  80. index fafd84d08e33622aee01f1792c043180a13dd48d..4490915e0b5c8e93255c6d526d5f37eb6f6b362d 100644
  81. --- a/chrome/browser/ui/browser.cc
  82. +++ b/chrome/browser/ui/browser.cc
  83. @@ -2222,12 +2222,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 8fda0dfbe8e10a3830bd03a994e7d39817584d36..baf24bbeb9f57fe2609a1af51a6ee4f5abd86ce2 100644
  99. --- a/chrome/browser/ui/browser.h
  100. +++ b/chrome/browser/ui/browser.h
  101. @@ -980,8 +980,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 0d2a68ea6b9f08b5c1f1113181b08d55a3265192..0dfa27fa14d1308c059534953e190922ddb3bc0a 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. @@ -205,8 +205,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 83a0a538fef0da1d3674293d20dac7b8a252273f..155c8a0af46e20f68f8b028c056092b404062861 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. @@ -99,8 +99,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 fb08ed752db063c5a295c479bc5ad990826104cd..659e642cb660263a1cba9bb485ed3f67c2939c0f 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. @@ -188,14 +188,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 45d0fc1b9dbeb1c1b5a28a07fb8cf26d3388bfd9..d311ea8dc016659ee8355bc4e7742b4e3ebc413c 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. @@ -82,8 +82,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. bool DidAddMessageToConsole(content::WebContents* source,
  186. blink::mojom::ConsoleMessageLevel log_level,
  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 e0e9a5a8c1d8c242d39935e2456052619af33cc6..80518793447c70e8fc1dae9b42a59d40427ae52b 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. @@ -89,8 +89,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 c6838c83ef971b88769b1f3fba8095025ae25464..2da6a4e08340e72ba7de5d03444c2f17250c5eca 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. content::WebContents* AddNewContents(
  213. content::WebContents* source,
  214. diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
  215. index 9f18308873306e841bbc15d9ba36c93ba5603a15..9d6ad368980202f74d36785623d27354beef3f03 100644
  216. --- a/content/browser/web_contents/web_contents_impl.cc
  217. +++ b/content/browser/web_contents/web_contents_impl.cc
  218. @@ -4914,8 +4914,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(
  219. // TODO(crbug.com/40202416): Support a way for MPArch guests to support this.
  220. if (delegate_ && delegate_->IsWebContentsCreationOverridden(
  221. source_site_instance, params.window_container_type,
  222. - opener->GetLastCommittedURL(), params.frame_name,
  223. - params.target_url)) {
  224. + opener->GetLastCommittedURL(), params)) {
  225. auto* web_contents_impl =
  226. static_cast<WebContentsImpl*>(delegate_->CreateCustomWebContents(
  227. opener, source_site_instance, is_new_browsing_instance,
  228. diff --git a/content/public/browser/web_contents_delegate.cc b/content/public/browser/web_contents_delegate.cc
  229. index f688e6d1e6c11f0dd80f498e6361fa822e8c2eb8..dc47ebfd61f16901b7f8e0e4c30c79eaf5d0710e 100644
  230. --- a/content/public/browser/web_contents_delegate.cc
  231. +++ b/content/public/browser/web_contents_delegate.cc
  232. @@ -159,8 +159,7 @@ bool WebContentsDelegate::IsWebContentsCreationOverridden(
  233. SiteInstance* source_site_instance,
  234. mojom::WindowContainerType window_container_type,
  235. const GURL& opener_url,
  236. - const std::string& frame_name,
  237. - const GURL& target_url) {
  238. + const mojom::CreateNewWindowParams& params) {
  239. return false;
  240. }
  241. diff --git a/content/public/browser/web_contents_delegate.h b/content/public/browser/web_contents_delegate.h
  242. index 96cb58b1a88499cf8f78d748dc5a1cc1c6b6a128..8ff56b56da764c8af14c40babc529ee4cb089c7e 100644
  243. --- a/content/public/browser/web_contents_delegate.h
  244. +++ b/content/public/browser/web_contents_delegate.h
  245. @@ -354,8 +354,7 @@ class CONTENT_EXPORT WebContentsDelegate {
  246. SiteInstance* source_site_instance,
  247. mojom::WindowContainerType window_container_type,
  248. const GURL& opener_url,
  249. - const std::string& frame_name,
  250. - const GURL& target_url);
  251. + const mojom::CreateNewWindowParams& params);
  252. // Allow delegate to creates a custom WebContents when
  253. // WebContents::CreateNewWindow() is called. This function is only called
  254. diff --git a/extensions/browser/guest_view/app_view/app_view_guest.cc b/extensions/browser/guest_view/app_view/app_view_guest.cc
  255. index f8b00fec3f2786822b22c052051c524f766c059d..85a535d0b1e49619fec8c9f5c67896204c9fb164 100644
  256. --- a/extensions/browser/guest_view/app_view/app_view_guest.cc
  257. +++ b/extensions/browser/guest_view/app_view/app_view_guest.cc
  258. @@ -153,8 +153,7 @@ bool AppViewGuest::IsWebContentsCreationOverridden(
  259. content::SiteInstance* source_site_instance,
  260. content::mojom::WindowContainerType window_container_type,
  261. const GURL& opener_url,
  262. - const std::string& frame_name,
  263. - const GURL& target_url) {
  264. + const content::mojom::CreateNewWindowParams& params) {
  265. CHECK(!base::FeatureList::IsEnabled(features::kGuestViewMPArch));
  266. return true;
  267. diff --git a/extensions/browser/guest_view/app_view/app_view_guest.h b/extensions/browser/guest_view/app_view/app_view_guest.h
  268. index 136448c9df06b9704e95d2797a60907d7ec5170a..21cc7b08dd8f9e4a32d29dd35c42ec2ce9f6cd53 100644
  269. --- a/extensions/browser/guest_view/app_view/app_view_guest.h
  270. +++ b/extensions/browser/guest_view/app_view/app_view_guest.h
  271. @@ -10,6 +10,7 @@
  272. #include "base/containers/id_map.h"
  273. #include "base/values.h"
  274. #include "components/guest_view/browser/guest_view.h"
  275. +#include "content/common/frame.mojom-shared.h"
  276. #include "extensions/browser/guest_view/app_view/app_view_guest_delegate.h"
  277. #include "extensions/browser/lazy_context_task_queue.h"
  278. @@ -79,8 +80,7 @@ class AppViewGuest : public guest_view::GuestView<AppViewGuest> {
  279. content::SiteInstance* source_site_instance,
  280. content::mojom::WindowContainerType window_container_type,
  281. const GURL& opener_url,
  282. - const std::string& frame_name,
  283. - const GURL& target_url) final;
  284. + const content::mojom::CreateNewWindowParams& params) final;
  285. content::WebContents* CreateCustomWebContents(
  286. content::RenderFrameHost* opener,
  287. content::SiteInstance* source_site_instance,
  288. diff --git a/extensions/browser/guest_view/extension_options/extension_options_guest.cc b/extensions/browser/guest_view/extension_options/extension_options_guest.cc
  289. index 2fca443b4bebf29c2835440a9db8a56f7373032f..6b704b57c08714b0a314e98d49e58676987d2995 100644
  290. --- a/extensions/browser/guest_view/extension_options/extension_options_guest.cc
  291. +++ b/extensions/browser/guest_view/extension_options/extension_options_guest.cc
  292. @@ -262,8 +262,7 @@ bool ExtensionOptionsGuest::IsWebContentsCreationOverridden(
  293. content::SiteInstance* source_site_instance,
  294. content::mojom::WindowContainerType window_container_type,
  295. const GURL& opener_url,
  296. - const std::string& frame_name,
  297. - const GURL& target_url) {
  298. + const content::mojom::CreateNewWindowParams& params) {
  299. CHECK(!base::FeatureList::IsEnabled(features::kGuestViewMPArch));
  300. // This method handles opening links from within the guest. Since this guest
  301. diff --git a/extensions/browser/guest_view/extension_options/extension_options_guest.h b/extensions/browser/guest_view/extension_options/extension_options_guest.h
  302. index e39031afd8fff7cb6e278555cc58a48d86407d65..f67f6a5603c1fa9e66ccdde9b601df9a11cae738 100644
  303. --- a/extensions/browser/guest_view/extension_options/extension_options_guest.h
  304. +++ b/extensions/browser/guest_view/extension_options/extension_options_guest.h
  305. @@ -73,8 +73,7 @@ class ExtensionOptionsGuest
  306. content::SiteInstance* source_site_instance,
  307. content::mojom::WindowContainerType window_container_type,
  308. const GURL& opener_url,
  309. - const std::string& frame_name,
  310. - const GURL& target_url) final;
  311. + const content::mojom::CreateNewWindowParams& params) final;
  312. content::WebContents* CreateCustomWebContents(
  313. content::RenderFrameHost* opener,
  314. content::SiteInstance* source_site_instance,
  315. 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
  316. index 16babdc7affdaef1af24850cf35494b8b4fe1479..1e77b091d94457c892788f7a441a83e7a96a49cc 100644
  317. --- a/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc
  318. +++ b/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc
  319. @@ -452,8 +452,7 @@ bool MimeHandlerViewGuest::IsWebContentsCreationOverridden(
  320. content::SiteInstance* source_site_instance,
  321. content::mojom::WindowContainerType window_container_type,
  322. const GURL& opener_url,
  323. - const std::string& frame_name,
  324. - const GURL& target_url) {
  325. + const content::mojom::CreateNewWindowParams& params) {
  326. CHECK(!base::FeatureList::IsEnabled(features::kGuestViewMPArch));
  327. return true;
  328. 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
  329. index 2dcf51f335f5dac39f431c3e0f56f8789f33d40b..2b433624d0604e0b9da5117b9e83cc1559b74740 100644
  330. --- a/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h
  331. +++ b/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h
  332. @@ -186,8 +186,7 @@ class MimeHandlerViewGuest
  333. content::SiteInstance* source_site_instance,
  334. content::mojom::WindowContainerType window_container_type,
  335. const GURL& opener_url,
  336. - const std::string& frame_name,
  337. - const GURL& target_url) override;
  338. + const content::mojom::CreateNewWindowParams& params) override;
  339. content::WebContents* CreateCustomWebContents(
  340. content::RenderFrameHost* opener,
  341. content::SiteInstance* source_site_instance,
  342. diff --git a/fuchsia_web/webengine/browser/frame_impl.cc b/fuchsia_web/webengine/browser/frame_impl.cc
  343. index 635050eedc20fb89608677bcebeb5f8187bd4b59..1220f377169f8209db39654b7ddbf1da52c017b7 100644
  344. --- a/fuchsia_web/webengine/browser/frame_impl.cc
  345. +++ b/fuchsia_web/webengine/browser/frame_impl.cc
  346. @@ -575,8 +575,7 @@ bool FrameImpl::IsWebContentsCreationOverridden(
  347. content::SiteInstance* source_site_instance,
  348. content::mojom::WindowContainerType window_container_type,
  349. const GURL& opener_url,
  350. - const std::string& frame_name,
  351. - const GURL& target_url) {
  352. + const content::mojom::CreateNewWindowParams& params) {
  353. // Specify a generous upper bound for unacknowledged popup windows, so that we
  354. // can catch bad client behavior while not interfering with normal operation.
  355. constexpr size_t kMaxPendingWebContentsCount = 10;
  356. diff --git a/fuchsia_web/webengine/browser/frame_impl.h b/fuchsia_web/webengine/browser/frame_impl.h
  357. index 1012a909ef1fcae51c218ae519fe7e0db65ab087..127b1ae940bc9313aecb635e2b01bb6f541d9adb 100644
  358. --- a/fuchsia_web/webengine/browser/frame_impl.h
  359. +++ b/fuchsia_web/webengine/browser/frame_impl.h
  360. @@ -307,8 +307,7 @@ class WEB_ENGINE_EXPORT FrameImpl : public fuchsia::web::Frame,
  361. content::SiteInstance* source_site_instance,
  362. content::mojom::WindowContainerType window_container_type,
  363. const GURL& opener_url,
  364. - const std::string& frame_name,
  365. - const GURL& target_url) override;
  366. + const content::mojom::CreateNewWindowParams& params) override;
  367. void WebContentsCreated(content::WebContents* source_contents,
  368. int opener_render_process_id,
  369. int opener_render_frame_id,
  370. diff --git a/headless/lib/browser/headless_web_contents_impl.cc b/headless/lib/browser/headless_web_contents_impl.cc
  371. index 62be493c74423875af45a92c98b2ffceb928189f..ec82d8e47bf0a33f832b8ca242f395fe59a1bbee 100644
  372. --- a/headless/lib/browser/headless_web_contents_impl.cc
  373. +++ b/headless/lib/browser/headless_web_contents_impl.cc
  374. @@ -206,8 +206,7 @@ class HeadlessWebContentsImpl::Delegate : public content::WebContentsDelegate {
  375. content::SiteInstance* source_site_instance,
  376. content::mojom::WindowContainerType window_container_type,
  377. const GURL& opener_url,
  378. - const std::string& frame_name,
  379. - const GURL& target_url) override {
  380. + const content::mojom::CreateNewWindowParams& params) override {
  381. return headless_web_contents_->browser_context()
  382. ->options()
  383. ->block_new_web_contents();
  384. diff --git a/ui/views/controls/webview/web_dialog_view.cc b/ui/views/controls/webview/web_dialog_view.cc
  385. index bf432db4ca8463f2451dc09d5ca484da1235634f..e144be74ce2d34f50d26d08d5bf206f7aa64c5d3 100644
  386. --- a/ui/views/controls/webview/web_dialog_view.cc
  387. +++ b/ui/views/controls/webview/web_dialog_view.cc
  388. @@ -487,8 +487,7 @@ bool WebDialogView::IsWebContentsCreationOverridden(
  389. content::SiteInstance* source_site_instance,
  390. content::mojom::WindowContainerType window_container_type,
  391. const GURL& opener_url,
  392. - const std::string& frame_name,
  393. - const GURL& target_url) {
  394. + const content::mojom::CreateNewWindowParams& params) {
  395. if (delegate_) {
  396. return delegate_->HandleShouldOverrideWebContentsCreation();
  397. }
  398. diff --git a/ui/views/controls/webview/web_dialog_view.h b/ui/views/controls/webview/web_dialog_view.h
  399. index c96aeb2571961fa2ad033ca38600006e0e657699..2c733734103bf2cc0af9bcfb32d753053a287775 100644
  400. --- a/ui/views/controls/webview/web_dialog_view.h
  401. +++ b/ui/views/controls/webview/web_dialog_view.h
  402. @@ -167,8 +167,7 @@ class WEBVIEW_EXPORT WebDialogView : public ClientView,
  403. content::SiteInstance* source_site_instance,
  404. content::mojom::WindowContainerType window_container_type,
  405. const GURL& opener_url,
  406. - const std::string& frame_name,
  407. - const GURL& target_url) override;
  408. + const content::mojom::CreateNewWindowParams& params) override;
  409. void RequestMediaAccessPermission(
  410. content::WebContents* web_contents,
  411. const content::MediaStreamRequest& request,