chore_provide_iswebcontentscreationoverridden_with_full_params.patch 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415
  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/android/document/document_web_contents_delegate.cc b/chrome/browser/android/document/document_web_contents_delegate.cc
  8. index eb480c840e0a39485472349e2b276daa03c5ee52..c1523c09fe3a400d311c6df59aa46ef6897dc43b 100644
  9. --- a/chrome/browser/android/document/document_web_contents_delegate.cc
  10. +++ b/chrome/browser/android/document/document_web_contents_delegate.cc
  11. @@ -46,8 +46,7 @@ bool DocumentWebContentsDelegate::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. NOTREACHED();
  19. return true;
  20. }
  21. diff --git a/chrome/browser/android/document/document_web_contents_delegate.h b/chrome/browser/android/document/document_web_contents_delegate.h
  22. index 6f4a0f157fb226d78cdff9a7c6be52b580dbcd2a..df34af06b2f808d66c6284676d70be937bd8fe19 100644
  23. --- a/chrome/browser/android/document/document_web_contents_delegate.h
  24. +++ b/chrome/browser/android/document/document_web_contents_delegate.h
  25. @@ -41,8 +41,7 @@ class DocumentWebContentsDelegate
  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) override;
  31. + const content::mojom::CreateNewWindowParams& params) override;
  32. };
  33. #endif // CHROME_BROWSER_ANDROID_DOCUMENT_DOCUMENT_WEB_CONTENTS_DELEGATE_H_
  34. diff --git a/chrome/browser/media/offscreen_tab.cc b/chrome/browser/media/offscreen_tab.cc
  35. index 3289268d3ddb3fbb625b8498c2f84370c37acdff..89920af3e44257b6091bb558537fe07d2bb2d899 100644
  36. --- a/chrome/browser/media/offscreen_tab.cc
  37. +++ b/chrome/browser/media/offscreen_tab.cc
  38. @@ -285,8 +285,7 @@ bool OffscreenTab::IsWebContentsCreationOverridden(
  39. content::SiteInstance* source_site_instance,
  40. content::mojom::WindowContainerType window_container_type,
  41. const GURL& opener_url,
  42. - const std::string& frame_name,
  43. - const GURL& target_url) {
  44. + const content::mojom::CreateNewWindowParams& params) {
  45. // Disallow creating separate WebContentses. The WebContents implementation
  46. // uses this to spawn new windows/tabs, which is also not allowed for
  47. // offscreen tabs.
  48. diff --git a/chrome/browser/media/offscreen_tab.h b/chrome/browser/media/offscreen_tab.h
  49. index faa684c429e8cd5817c043db48dcbea33c6c8782..8b5991bc8279585cc0749f6816aa8a03a2c4e558 100644
  50. --- a/chrome/browser/media/offscreen_tab.h
  51. +++ b/chrome/browser/media/offscreen_tab.h
  52. @@ -107,8 +107,7 @@ class OffscreenTab final : public ProfileObserver,
  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) final;
  58. + const content::mojom::CreateNewWindowParams& params) override;
  59. void EnterFullscreenModeForTab(
  60. content::RenderFrameHost* requesting_frame,
  61. const blink::mojom::FullscreenOptions& options) final;
  62. diff --git a/chrome/browser/ui/ash/ash_web_view_impl.cc b/chrome/browser/ui/ash/ash_web_view_impl.cc
  63. index a3083a16b1317cc58b87e13f30498bcf3e475eaf..50deda6f7ee9b2cbf57288d54a30a44022be808a 100644
  64. --- a/chrome/browser/ui/ash/ash_web_view_impl.cc
  65. +++ b/chrome/browser/ui/ash/ash_web_view_impl.cc
  66. @@ -96,10 +96,9 @@ bool AshWebViewImpl::IsWebContentsCreationOverridden(
  67. content::SiteInstance* source_site_instance,
  68. content::mojom::WindowContainerType window_container_type,
  69. const GURL& opener_url,
  70. - const std::string& frame_name,
  71. - const GURL& target_url) {
  72. + const content::mojom::CreateNewWindowParams& params) {
  73. if (params_.suppress_navigation) {
  74. - NotifyDidSuppressNavigation(target_url,
  75. + NotifyDidSuppressNavigation(params.target_url,
  76. WindowOpenDisposition::NEW_FOREGROUND_TAB,
  77. /*from_user_gesture=*/true);
  78. return true;
  79. diff --git a/chrome/browser/ui/ash/ash_web_view_impl.h b/chrome/browser/ui/ash/ash_web_view_impl.h
  80. index f0333177f885000fb22818ffa30a0c4ad520a161..03e82957f9d7bf009dcbf5fcd43718c9d2ac9bb8 100644
  81. --- a/chrome/browser/ui/ash/ash_web_view_impl.h
  82. +++ b/chrome/browser/ui/ash/ash_web_view_impl.h
  83. @@ -47,8 +47,7 @@ class AshWebViewImpl : public ash::AshWebView,
  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) override;
  89. + const content::mojom::CreateNewWindowParams& params) override;
  90. content::WebContents* OpenURLFromTab(
  91. content::WebContents* source,
  92. const content::OpenURLParams& params) override;
  93. diff --git a/chrome/browser/ui/ash/keyboard/chrome_keyboard_web_contents.cc b/chrome/browser/ui/ash/keyboard/chrome_keyboard_web_contents.cc
  94. index 1318d5e04d5448d2b357454c3ce4207264288760..3b0324c35d5b18ed2e29264aae860c4887cdd382 100644
  95. --- a/chrome/browser/ui/ash/keyboard/chrome_keyboard_web_contents.cc
  96. +++ b/chrome/browser/ui/ash/keyboard/chrome_keyboard_web_contents.cc
  97. @@ -71,8 +71,7 @@ class ChromeKeyboardContentsDelegate : public content::WebContentsDelegate,
  98. content::SiteInstance* source_site_instance,
  99. content::mojom::WindowContainerType window_container_type,
  100. const GURL& opener_url,
  101. - const std::string& frame_name,
  102. - const GURL& target_url) override {
  103. + const content::mojom::CreateNewWindowParams& params) override {
  104. return true;
  105. }
  106. diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc
  107. index fc0083d2dcdf72a92cef4e1e830015341df4d65e..d8a82c7d06b58038f8b6a13fbdb31f96599f9e28 100644
  108. --- a/chrome/browser/ui/browser.cc
  109. +++ b/chrome/browser/ui/browser.cc
  110. @@ -1812,12 +1812,11 @@ bool Browser::IsWebContentsCreationOverridden(
  111. content::SiteInstance* source_site_instance,
  112. content::mojom::WindowContainerType window_container_type,
  113. const GURL& opener_url,
  114. - const std::string& frame_name,
  115. - const GURL& target_url) {
  116. + const content::mojom::CreateNewWindowParams& params) {
  117. return window_container_type ==
  118. content::mojom::WindowContainerType::BACKGROUND &&
  119. ShouldCreateBackgroundContents(source_site_instance, opener_url,
  120. - frame_name);
  121. + params.frame_name);
  122. }
  123. WebContents* Browser::CreateCustomWebContents(
  124. diff --git a/chrome/browser/ui/browser.h b/chrome/browser/ui/browser.h
  125. index 490f14db4bec628ab2e6d2c2d3582e41f8cf6723..23004cb8b7d494cbf7badc18f5a122155e3552e2 100644
  126. --- a/chrome/browser/ui/browser.h
  127. +++ b/chrome/browser/ui/browser.h
  128. @@ -852,8 +852,7 @@ class Browser : public TabStripModelObserver,
  129. content::SiteInstance* source_site_instance,
  130. content::mojom::WindowContainerType window_container_type,
  131. const GURL& opener_url,
  132. - const std::string& frame_name,
  133. - const GURL& target_url) override;
  134. + const content::mojom::CreateNewWindowParams& params) override;
  135. content::WebContents* CreateCustomWebContents(
  136. content::RenderFrameHost* opener,
  137. content::SiteInstance* source_site_instance,
  138. diff --git a/chrome/browser/ui/media_router/presentation_receiver_window_controller.cc b/chrome/browser/ui/media_router/presentation_receiver_window_controller.cc
  139. index 27b0f262235a58d546358ea12d7d7ea05f250c15..4f3cb2d63313703c98fd2149c07c60c95f263cdb 100644
  140. --- a/chrome/browser/ui/media_router/presentation_receiver_window_controller.cc
  141. +++ b/chrome/browser/ui/media_router/presentation_receiver_window_controller.cc
  142. @@ -202,8 +202,7 @@ bool PresentationReceiverWindowController::IsWebContentsCreationOverridden(
  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) {
  148. + const content::mojom::CreateNewWindowParams& params) {
  149. // Disallow creating separate WebContentses. The WebContents implementation
  150. // uses this to spawn new windows/tabs, which is also not allowed for
  151. // local presentations.
  152. diff --git a/chrome/browser/ui/media_router/presentation_receiver_window_controller.h b/chrome/browser/ui/media_router/presentation_receiver_window_controller.h
  153. index b6833e34c5840a4d3a545d1c4a44b2b08d7fc9ea..5ebc16a3545a73e58516cb0fbdddca43e789fd24 100644
  154. --- a/chrome/browser/ui/media_router/presentation_receiver_window_controller.h
  155. +++ b/chrome/browser/ui/media_router/presentation_receiver_window_controller.h
  156. @@ -105,8 +105,7 @@ class PresentationReceiverWindowController final
  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) override;
  162. + const content::mojom::CreateNewWindowParams& params) override;
  163. // The profile used for the presentation.
  164. raw_ptr<Profile> otr_profile_;
  165. diff --git a/chrome/browser/ui/views/hats/hats_next_web_dialog.cc b/chrome/browser/ui/views/hats/hats_next_web_dialog.cc
  166. index ed23267cd9f28f4e02d8374177f0bb697547cc2a..a979719f75ab4c9b49775ec3df5eff13f4429a49 100644
  167. --- a/chrome/browser/ui/views/hats/hats_next_web_dialog.cc
  168. +++ b/chrome/browser/ui/views/hats/hats_next_web_dialog.cc
  169. @@ -70,8 +70,7 @@ class HatsNextWebDialog::HatsWebView : public views::WebView {
  170. content::SiteInstance* source_site_instance,
  171. content::mojom::WindowContainerType window_container_type,
  172. const GURL& opener_url,
  173. - const std::string& frame_name,
  174. - const GURL& target_url) override {
  175. + const content::mojom::CreateNewWindowParams& params) override {
  176. return true;
  177. }
  178. content::WebContents* CreateCustomWebContents(
  179. diff --git a/components/embedder_support/android/delegate/web_contents_delegate_android.cc b/components/embedder_support/android/delegate/web_contents_delegate_android.cc
  180. index 9d5265c5774c5e1196af3d0a66b796896676469c..40b9842bed30fd79252aa0fd19daa78e1c9baa5c 100644
  181. --- a/components/embedder_support/android/delegate/web_contents_delegate_android.cc
  182. +++ b/components/embedder_support/android/delegate/web_contents_delegate_android.cc
  183. @@ -169,14 +169,13 @@ bool WebContentsDelegateAndroid::IsWebContentsCreationOverridden(
  184. content::SiteInstance* source_site_instance,
  185. content::mojom::WindowContainerType window_container_type,
  186. const GURL& opener_url,
  187. - const std::string& frame_name,
  188. - const GURL& target_url) {
  189. + const content::mojom::CreateNewWindowParams& params) {
  190. JNIEnv* env = AttachCurrentThread();
  191. ScopedJavaLocalRef<jobject> obj = GetJavaDelegate(env);
  192. if (obj.is_null())
  193. return false;
  194. ScopedJavaLocalRef<jobject> java_gurl =
  195. - url::GURLAndroid::FromNativeGURL(env, target_url);
  196. + url::GURLAndroid::FromNativeGURL(env, params.target_url.spec());
  197. return !Java_WebContentsDelegateAndroid_shouldCreateWebContents(env, obj,
  198. java_gurl);
  199. }
  200. diff --git a/components/embedder_support/android/delegate/web_contents_delegate_android.h b/components/embedder_support/android/delegate/web_contents_delegate_android.h
  201. index 2930898b03d7b7ef86d13733cec3cbe84105c166..76625339f42a867c8b68840253e91648721c9343 100644
  202. --- a/components/embedder_support/android/delegate/web_contents_delegate_android.h
  203. +++ b/components/embedder_support/android/delegate/web_contents_delegate_android.h
  204. @@ -78,8 +78,7 @@ class WebContentsDelegateAndroid : public content::WebContentsDelegate {
  205. content::SiteInstance* source_site_instance,
  206. content::mojom::WindowContainerType window_container_type,
  207. const GURL& opener_url,
  208. - const std::string& frame_name,
  209. - const GURL& target_url) override;
  210. + const content::mojom::CreateNewWindowParams& params) override;
  211. void CloseContents(content::WebContents* source) override;
  212. void SetContentsBounds(content::WebContents* source,
  213. const gfx::Rect& bounds) override;
  214. diff --git a/components/offline_pages/content/background_loader/background_loader_contents.cc b/components/offline_pages/content/background_loader/background_loader_contents.cc
  215. index 40e1d8312d64452beeac4eeb216c156132cd16e1..9b9a34f50d96b8fcae5a6b4133bd292002aa3cf6 100644
  216. --- a/components/offline_pages/content/background_loader/background_loader_contents.cc
  217. +++ b/components/offline_pages/content/background_loader/background_loader_contents.cc
  218. @@ -83,8 +83,7 @@ bool BackgroundLoaderContents::IsWebContentsCreationOverridden(
  219. content::SiteInstance* source_site_instance,
  220. content::mojom::WindowContainerType window_container_type,
  221. const GURL& opener_url,
  222. - const std::string& frame_name,
  223. - const GURL& target_url) {
  224. + const content::mojom::CreateNewWindowParams& params) {
  225. // Background pages should not create other webcontents/tabs.
  226. return true;
  227. }
  228. diff --git a/components/offline_pages/content/background_loader/background_loader_contents.h b/components/offline_pages/content/background_loader/background_loader_contents.h
  229. index 58c032fe666591be0a72c350b752ad07326253f0..23c8aa67c698ee6208a89b36c38a5fd39080b299 100644
  230. --- a/components/offline_pages/content/background_loader/background_loader_contents.h
  231. +++ b/components/offline_pages/content/background_loader/background_loader_contents.h
  232. @@ -66,8 +66,7 @@ class BackgroundLoaderContents : public content::WebContentsDelegate {
  233. content::SiteInstance* source_site_instance,
  234. content::mojom::WindowContainerType window_container_type,
  235. const GURL& opener_url,
  236. - const std::string& frame_name,
  237. - const GURL& target_url) override;
  238. + const content::mojom::CreateNewWindowParams& params) override;
  239. void AddNewContents(content::WebContents* source,
  240. std::unique_ptr<content::WebContents> new_contents,
  241. diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
  242. index b48f62fb5ba99e7399e739d9d23346c48218c247..84b48011e5a9d5b890a26debce68d0efd3c013c4 100644
  243. --- a/content/browser/web_contents/web_contents_impl.cc
  244. +++ b/content/browser/web_contents/web_contents_impl.cc
  245. @@ -3932,8 +3932,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(
  246. if (delegate_ && delegate_->IsWebContentsCreationOverridden(
  247. source_site_instance, params.window_container_type,
  248. - opener->GetLastCommittedURL(), params.frame_name,
  249. - params.target_url)) {
  250. + opener->GetLastCommittedURL(), params)) {
  251. auto* web_contents_impl =
  252. static_cast<WebContentsImpl*>(delegate_->CreateCustomWebContents(
  253. opener, source_site_instance, is_new_browsing_instance,
  254. diff --git a/content/public/browser/web_contents_delegate.cc b/content/public/browser/web_contents_delegate.cc
  255. index 3ddcc2d403a68fdc2b4b0246899cd9507ecc6195..eecc92f2ffce2c2eeb5fde977da6b94a29923b67 100644
  256. --- a/content/public/browser/web_contents_delegate.cc
  257. +++ b/content/public/browser/web_contents_delegate.cc
  258. @@ -134,8 +134,7 @@ bool WebContentsDelegate::IsWebContentsCreationOverridden(
  259. 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 mojom::CreateNewWindowParams& params) {
  265. return false;
  266. }
  267. diff --git a/content/public/browser/web_contents_delegate.h b/content/public/browser/web_contents_delegate.h
  268. index 04eff05d01eb94e5020cdd6e1cc2555077692ba0..42a80fbe1d6a574b04d07fb1da3ae4b65854287c 100644
  269. --- a/content/public/browser/web_contents_delegate.h
  270. +++ b/content/public/browser/web_contents_delegate.h
  271. @@ -320,8 +320,7 @@ class CONTENT_EXPORT WebContentsDelegate {
  272. 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);
  277. + const mojom::CreateNewWindowParams& params);
  278. // Allow delegate to creates a custom WebContents when
  279. // WebContents::CreateNewWindow() is called. This function is only called
  280. diff --git a/extensions/browser/guest_view/extension_options/extension_options_guest.cc b/extensions/browser/guest_view/extension_options/extension_options_guest.cc
  281. index 0549e437ca79b1926da1e7ac3cd4371d2116cc17..fceb6c073d1e023c722196d907d98b73a379c6a0 100644
  282. --- a/extensions/browser/guest_view/extension_options/extension_options_guest.cc
  283. +++ b/extensions/browser/guest_view/extension_options/extension_options_guest.cc
  284. @@ -199,8 +199,7 @@ bool ExtensionOptionsGuest::IsWebContentsCreationOverridden(
  285. content::SiteInstance* source_site_instance,
  286. content::mojom::WindowContainerType window_container_type,
  287. const GURL& opener_url,
  288. - const std::string& frame_name,
  289. - const GURL& target_url) {
  290. + const content::mojom::CreateNewWindowParams& params) {
  291. // This method handles opening links from within the guest. Since this guest
  292. // view is used for displaying embedded extension options, we want any
  293. // external links to be opened in a new tab, not in a new guest view so we
  294. diff --git a/extensions/browser/guest_view/extension_options/extension_options_guest.h b/extensions/browser/guest_view/extension_options/extension_options_guest.h
  295. index 33c6e87c19f67ce6f2cbded50b860e7e009e7d98..174570ed505f3948494f85a7e63433ccffafb9d0 100644
  296. --- a/extensions/browser/guest_view/extension_options/extension_options_guest.h
  297. +++ b/extensions/browser/guest_view/extension_options/extension_options_guest.h
  298. @@ -58,8 +58,7 @@ class ExtensionOptionsGuest
  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) final;
  304. + const content::mojom::CreateNewWindowParams& params) final;
  305. content::WebContents* CreateCustomWebContents(
  306. content::RenderFrameHost* opener,
  307. content::SiteInstance* source_site_instance,
  308. 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
  309. index 75a2534e3be7102a221378afbfef3df8e6a8555e..495fc687379c6456384acc3a1864c5f0c49ad47f 100644
  310. --- a/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc
  311. +++ b/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc
  312. @@ -399,8 +399,7 @@ bool MimeHandlerViewGuest::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. return true;
  320. }
  321. 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
  322. index 26dc86a7534d9296f1b1f772ec95f5313c61061c..925152a6c1fb645dfff5bd7238b620a8344de734 100644
  323. --- a/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h
  324. +++ b/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h
  325. @@ -170,8 +170,7 @@ class MimeHandlerViewGuest
  326. content::SiteInstance* source_site_instance,
  327. content::mojom::WindowContainerType window_container_type,
  328. const GURL& opener_url,
  329. - const std::string& frame_name,
  330. - const GURL& target_url) override;
  331. + const content::mojom::CreateNewWindowParams& params) override;
  332. content::WebContents* CreateCustomWebContents(
  333. content::RenderFrameHost* opener,
  334. content::SiteInstance* source_site_instance,
  335. diff --git a/fuchsia_web/webengine/browser/frame_impl.cc b/fuchsia_web/webengine/browser/frame_impl.cc
  336. index fbbd630fcc3c684c5f79a526e53e8240897d6f6b..ba0c18a6f6430cafefa21bf73717cd3f3b0fde94 100644
  337. --- a/fuchsia_web/webengine/browser/frame_impl.cc
  338. +++ b/fuchsia_web/webengine/browser/frame_impl.cc
  339. @@ -413,8 +413,7 @@ bool FrameImpl::IsWebContentsCreationOverridden(
  340. content::SiteInstance* source_site_instance,
  341. content::mojom::WindowContainerType window_container_type,
  342. const GURL& opener_url,
  343. - const std::string& frame_name,
  344. - const GURL& target_url) {
  345. + const content::mojom::CreateNewWindowParams& params) {
  346. // Specify a generous upper bound for unacknowledged popup windows, so that we
  347. // can catch bad client behavior while not interfering with normal operation.
  348. constexpr size_t kMaxPendingWebContentsCount = 10;
  349. diff --git a/fuchsia_web/webengine/browser/frame_impl.h b/fuchsia_web/webengine/browser/frame_impl.h
  350. index 93fb79392c573b48d30136b0e2147b94e73158e6..0bed243e6947f7b54ee5bed9621f6482ca6364f4 100644
  351. --- a/fuchsia_web/webengine/browser/frame_impl.h
  352. +++ b/fuchsia_web/webengine/browser/frame_impl.h
  353. @@ -310,8 +310,7 @@ class WEB_ENGINE_EXPORT FrameImpl : public fuchsia::web::Frame,
  354. content::SiteInstance* source_site_instance,
  355. content::mojom::WindowContainerType window_container_type,
  356. const GURL& opener_url,
  357. - const std::string& frame_name,
  358. - const GURL& target_url) override;
  359. + const content::mojom::CreateNewWindowParams& params) override;
  360. void WebContentsCreated(content::WebContents* source_contents,
  361. int opener_render_process_id,
  362. int opener_render_frame_id,
  363. diff --git a/headless/lib/browser/headless_web_contents_impl.cc b/headless/lib/browser/headless_web_contents_impl.cc
  364. index 1c1425fcd27aae25a6569762824cdaf4ebf19ffd..b8c06b3519fcfe3da08ea4d1769b7833effb0f69 100644
  365. --- a/headless/lib/browser/headless_web_contents_impl.cc
  366. +++ b/headless/lib/browser/headless_web_contents_impl.cc
  367. @@ -182,8 +182,7 @@ class HeadlessWebContentsImpl::Delegate : public content::WebContentsDelegate {
  368. content::SiteInstance* source_site_instance,
  369. content::mojom::WindowContainerType window_container_type,
  370. const GURL& opener_url,
  371. - const std::string& frame_name,
  372. - const GURL& target_url) override {
  373. + const content::mojom::CreateNewWindowParams& params) override {
  374. return headless_web_contents_->browser_context()
  375. ->options()
  376. ->block_new_web_contents();
  377. diff --git a/ui/views/controls/webview/web_dialog_view.cc b/ui/views/controls/webview/web_dialog_view.cc
  378. index 6928d3f618de83e7d468b2204dba187a0361c892..0ae568044e6eaee3e486e4dc550be04b7e2ef545 100644
  379. --- a/ui/views/controls/webview/web_dialog_view.cc
  380. +++ b/ui/views/controls/webview/web_dialog_view.cc
  381. @@ -427,8 +427,7 @@ bool WebDialogView::IsWebContentsCreationOverridden(
  382. content::SiteInstance* source_site_instance,
  383. content::mojom::WindowContainerType window_container_type,
  384. const GURL& opener_url,
  385. - const std::string& frame_name,
  386. - const GURL& target_url) {
  387. + const content::mojom::CreateNewWindowParams& params) {
  388. if (delegate_)
  389. return delegate_->HandleShouldOverrideWebContentsCreation();
  390. return false;
  391. diff --git a/ui/views/controls/webview/web_dialog_view.h b/ui/views/controls/webview/web_dialog_view.h
  392. index 3c6f0ed5f14251455c8dd295ffc5418ae8d360da..c9ba35edbbc8d2a60fcc53b51e998a9d5a0148ff 100644
  393. --- a/ui/views/controls/webview/web_dialog_view.h
  394. +++ b/ui/views/controls/webview/web_dialog_view.h
  395. @@ -155,8 +155,7 @@ class WEBVIEW_EXPORT WebDialogView : public ClientView,
  396. content::SiteInstance* source_site_instance,
  397. content::mojom::WindowContainerType window_container_type,
  398. const GURL& opener_url,
  399. - const std::string& frame_name,
  400. - const GURL& target_url) override;
  401. + const content::mojom::CreateNewWindowParams& params) override;
  402. void RequestMediaAccessPermission(
  403. content::WebContents* web_contents,
  404. const content::MediaStreamRequest& request,