chore_provide_iswebcontentscreationoverridden_with_full_params.patch 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433
  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 0e90487923c57c0570e73ef0f0e8c5acc2576932..fcdc88233b2277f3b37a2a2b0bdee7d71b721bf8 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 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 5b4d70991e19edcdfee731c56251932bf43e535f..fe1977c5e6ce0f5b30e8be529b9efa51785db57f 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 mojom::CreateNewWindowParams& params) override;
  32. };
  33. #endif // CHROME_BROWSER_ANDROID_DOCUMENT_DOCUMENT_WEB_CONTENTS_DELEGATE_H_
  34. diff --git a/chrome/browser/chromeos/first_run/drive_first_run_controller.cc b/chrome/browser/chromeos/first_run/drive_first_run_controller.cc
  35. index da0ad734988065816dc32198d2aaac0062786813..ab83950ac2a90b773635fdfb6016623c0b40c9f9 100644
  36. --- a/chrome/browser/chromeos/first_run/drive_first_run_controller.cc
  37. +++ b/chrome/browser/chromeos/first_run/drive_first_run_controller.cc
  38. @@ -124,8 +124,7 @@ class DriveWebContentsManager : public content::WebContentsObserver,
  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) override;
  44. + const mojom::CreateNewWindowParams& params) override;
  45. content::WebContents* CreateCustomWebContents(
  46. content::RenderFrameHost* opener,
  47. content::SiteInstance* source_site_instance,
  48. @@ -239,15 +238,14 @@ bool DriveWebContentsManager::IsWebContentsCreationOverridden(
  49. content::SiteInstance* source_site_instance,
  50. content::mojom::WindowContainerType window_container_type,
  51. const GURL& opener_url,
  52. - const std::string& frame_name,
  53. - const GURL& target_url) {
  54. + const mojom::CreateNewWindowParams& params) {
  55. if (window_container_type == content::mojom::WindowContainerType::NORMAL)
  56. return false;
  57. // Check that the target URL is for the Drive app.
  58. const extensions::Extension* extension =
  59. extensions::ExtensionRegistry::Get(profile_)
  60. - ->enabled_extensions().GetAppByURL(target_url);
  61. + ->enabled_extensions().GetAppByURL(params.target_url);
  62. return extension && extension->id() == app_id_;
  63. }
  64. diff --git a/chrome/browser/media/offscreen_tab.cc b/chrome/browser/media/offscreen_tab.cc
  65. index 412e6b05265a97077c3b617e12908c88719e6e73..8365a0d5923beb2ffbd837535db2abc23e32e891 100644
  66. --- a/chrome/browser/media/offscreen_tab.cc
  67. +++ b/chrome/browser/media/offscreen_tab.cc
  68. @@ -282,8 +282,7 @@ bool OffscreenTab::IsWebContentsCreationOverridden(
  69. content::SiteInstance* source_site_instance,
  70. content::mojom::WindowContainerType window_container_type,
  71. const GURL& opener_url,
  72. - const std::string& frame_name,
  73. - const GURL& target_url) {
  74. + const mojom::CreateNewWindowParams& params) {
  75. // Disallow creating separate WebContentses. The WebContents implementation
  76. // uses this to spawn new windows/tabs, which is also not allowed for
  77. // offscreen tabs.
  78. diff --git a/chrome/browser/media/offscreen_tab.h b/chrome/browser/media/offscreen_tab.h
  79. index fb09bf2c5d22e3838575403b53867d0021e13b67..36e7982bbcc7c8b50bb2942ada39862bad4bbc22 100644
  80. --- a/chrome/browser/media/offscreen_tab.h
  81. +++ b/chrome/browser/media/offscreen_tab.h
  82. @@ -106,8 +106,7 @@ class OffscreenTab final : public ProfileObserver,
  83. content::SiteInstance* source_site_instance,
  84. content::mojom::WindowContainerType window_container_type,
  85. const GURL& opener_url,
  86. - const std::string& frame_name,
  87. - const GURL& target_url) final;
  88. + const mojom::CreateNewWindowParams& params) override;
  89. void EnterFullscreenModeForTab(
  90. content::RenderFrameHost* requesting_frame,
  91. const blink::mojom::FullscreenOptions& options) final;
  92. diff --git a/chrome/browser/ui/ash/assistant/assistant_web_view_impl.cc b/chrome/browser/ui/ash/assistant/assistant_web_view_impl.cc
  93. index e4f3632c84ebe4dcbbc3deb2f49e351c75ec93fd..58902fdaf316ad371ddb3e79e6ebc74cbbafc138 100644
  94. --- a/chrome/browser/ui/ash/assistant/assistant_web_view_impl.cc
  95. +++ b/chrome/browser/ui/ash/assistant/assistant_web_view_impl.cc
  96. @@ -77,10 +77,9 @@ bool AssistantWebViewImpl::IsWebContentsCreationOverridden(
  97. content::SiteInstance* source_site_instance,
  98. content::mojom::WindowContainerType window_container_type,
  99. const GURL& opener_url,
  100. - const std::string& frame_name,
  101. - const GURL& target_url) {
  102. + const mojom::CreateNewWindowParams& params) {
  103. if (params_.suppress_navigation) {
  104. - NotifyDidSuppressNavigation(target_url,
  105. + NotifyDidSuppressNavigation(params.target_url,
  106. WindowOpenDisposition::NEW_FOREGROUND_TAB,
  107. /*from_user_gesture=*/true);
  108. return true;
  109. diff --git a/chrome/browser/ui/ash/assistant/assistant_web_view_impl.h b/chrome/browser/ui/ash/assistant/assistant_web_view_impl.h
  110. index 07014765f33bdddebcc5bc32a2713d6523faf394..f866f69f9c810d89f1a0e9e4952293f66804602a 100644
  111. --- a/chrome/browser/ui/ash/assistant/assistant_web_view_impl.h
  112. +++ b/chrome/browser/ui/ash/assistant/assistant_web_view_impl.h
  113. @@ -48,8 +48,7 @@ class AssistantWebViewImpl : public ash::AssistantWebView,
  114. content::SiteInstance* source_site_instance,
  115. content::mojom::WindowContainerType window_container_type,
  116. const GURL& opener_url,
  117. - const std::string& frame_name,
  118. - const GURL& target_url) override;
  119. + const mojom::CreateNewWindowParams& params) override;
  120. content::WebContents* OpenURLFromTab(
  121. content::WebContents* source,
  122. const content::OpenURLParams& params) override;
  123. diff --git a/chrome/browser/ui/ash/keyboard/chrome_keyboard_web_contents.cc b/chrome/browser/ui/ash/keyboard/chrome_keyboard_web_contents.cc
  124. index ef84e04d628fb5cdbaf8fbbf84af3bf23e00c522..f1ee0bee5bfd08227a29498f8410d5d3582e02c3 100644
  125. --- a/chrome/browser/ui/ash/keyboard/chrome_keyboard_web_contents.cc
  126. +++ b/chrome/browser/ui/ash/keyboard/chrome_keyboard_web_contents.cc
  127. @@ -66,8 +66,7 @@ class ChromeKeyboardContentsDelegate : public content::WebContentsDelegate,
  128. content::SiteInstance* source_site_instance,
  129. content::mojom::WindowContainerType window_container_type,
  130. const GURL& opener_url,
  131. - const std::string& frame_name,
  132. - const GURL& target_url) override {
  133. + const mojom::CreateNewWindowParams& params) override {
  134. return true;
  135. }
  136. diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc
  137. index 8fdddbadf5e9a202fc20ac9e326a4631f91f4a0d..4d2dc5f30fd7d17adaa6f05aa5a2b23854c543c6 100644
  138. --- a/chrome/browser/ui/browser.cc
  139. +++ b/chrome/browser/ui/browser.cc
  140. @@ -1785,12 +1785,11 @@ bool Browser::IsWebContentsCreationOverridden(
  141. content::SiteInstance* source_site_instance,
  142. content::mojom::WindowContainerType window_container_type,
  143. const GURL& opener_url,
  144. - const std::string& frame_name,
  145. - const GURL& target_url) {
  146. + const mojom::CreateNewWindowParams& params) {
  147. return window_container_type ==
  148. content::mojom::WindowContainerType::BACKGROUND &&
  149. ShouldCreateBackgroundContents(source_site_instance, opener_url,
  150. - frame_name);
  151. + params->frame_name);
  152. }
  153. WebContents* Browser::CreateCustomWebContents(
  154. diff --git a/chrome/browser/ui/browser.h b/chrome/browser/ui/browser.h
  155. index 2908b4b70815d02afff0c78c1aa54ab74c79dd83..4c469294529851a975384657567a62ece4d03f37 100644
  156. --- a/chrome/browser/ui/browser.h
  157. +++ b/chrome/browser/ui/browser.h
  158. @@ -803,8 +803,7 @@ class Browser : public TabStripModelObserver,
  159. content::SiteInstance* source_site_instance,
  160. content::mojom::WindowContainerType window_container_type,
  161. const GURL& opener_url,
  162. - const std::string& frame_name,
  163. - const GURL& target_url) override;
  164. + const mojom::CreateNewWindowParams& params) override;
  165. content::WebContents* CreateCustomWebContents(
  166. content::RenderFrameHost* opener,
  167. content::SiteInstance* source_site_instance,
  168. diff --git a/chrome/browser/ui/media_router/presentation_receiver_window_controller.cc b/chrome/browser/ui/media_router/presentation_receiver_window_controller.cc
  169. index ff97ac6e97c688d677053a5f01546a4c2d91ff1d..1da6a9c32b883a17975e61d60363918251c78ffd 100644
  170. --- a/chrome/browser/ui/media_router/presentation_receiver_window_controller.cc
  171. +++ b/chrome/browser/ui/media_router/presentation_receiver_window_controller.cc
  172. @@ -201,8 +201,7 @@ bool PresentationReceiverWindowController::IsWebContentsCreationOverridden(
  173. content::SiteInstance* source_site_instance,
  174. content::mojom::WindowContainerType window_container_type,
  175. const GURL& opener_url,
  176. - const std::string& frame_name,
  177. - const GURL& target_url) {
  178. + const mojom::CreateNewWindowParams& params) {
  179. // Disallow creating separate WebContentses. The WebContents implementation
  180. // uses this to spawn new windows/tabs, which is also not allowed for
  181. // local presentations.
  182. diff --git a/chrome/browser/ui/media_router/presentation_receiver_window_controller.h b/chrome/browser/ui/media_router/presentation_receiver_window_controller.h
  183. index 058ec72442d59989c4d6df4a7c791ecfeff0ef99..f7c8c2139382cb2e290c561624291afe647383cf 100644
  184. --- a/chrome/browser/ui/media_router/presentation_receiver_window_controller.h
  185. +++ b/chrome/browser/ui/media_router/presentation_receiver_window_controller.h
  186. @@ -99,8 +99,7 @@ class PresentationReceiverWindowController final
  187. content::SiteInstance* source_site_instance,
  188. content::mojom::WindowContainerType window_container_type,
  189. const GURL& opener_url,
  190. - const std::string& frame_name,
  191. - const GURL& target_url) override;
  192. + const mojom::CreateNewWindowParams& params) override;
  193. // The profile used for the presentation.
  194. Profile* otr_profile_;
  195. diff --git a/components/embedder_support/android/delegate/web_contents_delegate_android.cc b/components/embedder_support/android/delegate/web_contents_delegate_android.cc
  196. index 9364a722de5183c077a9c50b8c8a48ffa3a0fea6..ddde17de38bc5ca904046702a28a88d7c00f18c4 100644
  197. --- a/components/embedder_support/android/delegate/web_contents_delegate_android.cc
  198. +++ b/components/embedder_support/android/delegate/web_contents_delegate_android.cc
  199. @@ -170,14 +170,13 @@ bool WebContentsDelegateAndroid::IsWebContentsCreationOverridden(
  200. content::SiteInstance* source_site_instance,
  201. content::mojom::WindowContainerType window_container_type,
  202. const GURL& opener_url,
  203. - const std::string& frame_name,
  204. - const GURL& target_url) {
  205. + const mojom::CreateNewWindowParams& params) {
  206. JNIEnv* env = AttachCurrentThread();
  207. ScopedJavaLocalRef<jobject> obj = GetJavaDelegate(env);
  208. if (obj.is_null())
  209. return false;
  210. ScopedJavaLocalRef<jobject> java_gurl =
  211. - url::GURLAndroid::FromNativeGURL(env, target_url);
  212. + url::GURLAndroid::FromNativeGURL(env, params.target_url.spec());
  213. return !Java_WebContentsDelegateAndroid_shouldCreateWebContents(env, obj,
  214. java_gurl);
  215. }
  216. diff --git a/components/embedder_support/android/delegate/web_contents_delegate_android.h b/components/embedder_support/android/delegate/web_contents_delegate_android.h
  217. index 4b832f4c3a051eefca57909958334631335e03e1..8aed42112d8fad7df813524cf700d8082ad75c47 100644
  218. --- a/components/embedder_support/android/delegate/web_contents_delegate_android.h
  219. +++ b/components/embedder_support/android/delegate/web_contents_delegate_android.h
  220. @@ -78,8 +78,7 @@ class WebContentsDelegateAndroid : public content::WebContentsDelegate {
  221. content::SiteInstance* source_site_instance,
  222. content::mojom::WindowContainerType window_container_type,
  223. const GURL& opener_url,
  224. - const std::string& frame_name,
  225. - const GURL& target_url) override;
  226. + const mojom::CreateNewWindowParams& params) override;
  227. void CloseContents(content::WebContents* source) override;
  228. void SetContentsBounds(content::WebContents* source,
  229. const gfx::Rect& bounds) override;
  230. diff --git a/components/offline_pages/content/background_loader/background_loader_contents.cc b/components/offline_pages/content/background_loader/background_loader_contents.cc
  231. index 53fad64f87a952fd0d7398958288ecde259b57bf..0b8359b6179bf16e58978e5f3e51a911ad3d0a3f 100644
  232. --- a/components/offline_pages/content/background_loader/background_loader_contents.cc
  233. +++ b/components/offline_pages/content/background_loader/background_loader_contents.cc
  234. @@ -80,8 +80,7 @@ bool BackgroundLoaderContents::IsWebContentsCreationOverridden(
  235. content::SiteInstance* source_site_instance,
  236. content::mojom::WindowContainerType window_container_type,
  237. const GURL& opener_url,
  238. - const std::string& frame_name,
  239. - const GURL& target_url) {
  240. + const mojom::CreateNewWindowParams& params) {
  241. // Background pages should not create other webcontents/tabs.
  242. return true;
  243. }
  244. diff --git a/components/offline_pages/content/background_loader/background_loader_contents.h b/components/offline_pages/content/background_loader/background_loader_contents.h
  245. index c5c5a7b63b5b3b62a9517cbef3ae23ce57a3c89c..4f1b7e88d6d2ae89a60311c8aeb1fceea87f2b02 100644
  246. --- a/components/offline_pages/content/background_loader/background_loader_contents.h
  247. +++ b/components/offline_pages/content/background_loader/background_loader_contents.h
  248. @@ -60,8 +60,7 @@ class BackgroundLoaderContents : public content::WebContentsDelegate {
  249. content::SiteInstance* source_site_instance,
  250. content::mojom::WindowContainerType window_container_type,
  251. const GURL& opener_url,
  252. - const std::string& frame_name,
  253. - const GURL& target_url) override;
  254. + const mojom::CreateNewWindowParams& params) override;
  255. void AddNewContents(content::WebContents* source,
  256. std::unique_ptr<content::WebContents> new_contents,
  257. diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
  258. index 534bd5132267ae883e181e688acf9f68647361fe..5939da8d016b245b9ce322764b90015463c2c2d3 100644
  259. --- a/content/browser/web_contents/web_contents_impl.cc
  260. +++ b/content/browser/web_contents/web_contents_impl.cc
  261. @@ -3677,8 +3677,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(
  262. if (delegate_ && delegate_->IsWebContentsCreationOverridden(
  263. source_site_instance, params.window_container_type,
  264. - opener->GetLastCommittedURL(), params.frame_name,
  265. - params.target_url)) {
  266. + opener->GetLastCommittedURL(), params)) {
  267. auto* web_contents_impl =
  268. static_cast<WebContentsImpl*>(delegate_->CreateCustomWebContents(
  269. opener, source_site_instance, is_new_browsing_instance,
  270. diff --git a/content/public/browser/web_contents_delegate.cc b/content/public/browser/web_contents_delegate.cc
  271. index 3c059e6e709759fe3f7aba342f9a0f4b36f329ff..c39d3cddfec0ea06c97a3c0a9c6493c398bbbea8 100644
  272. --- a/content/public/browser/web_contents_delegate.cc
  273. +++ b/content/public/browser/web_contents_delegate.cc
  274. @@ -136,8 +136,7 @@ bool WebContentsDelegate::IsWebContentsCreationOverridden(
  275. SiteInstance* source_site_instance,
  276. content::mojom::WindowContainerType window_container_type,
  277. const GURL& opener_url,
  278. - const std::string& frame_name,
  279. - const GURL& target_url) {
  280. + const mojom::CreateNewWindowParams& params) {
  281. return false;
  282. }
  283. diff --git a/content/public/browser/web_contents_delegate.h b/content/public/browser/web_contents_delegate.h
  284. index a2a3550272da12eee911a7ef0d9a21dd85dd23be..6ad04f6be7b6fa89ca7f910b34eea20eea18cce5 100644
  285. --- a/content/public/browser/web_contents_delegate.h
  286. +++ b/content/public/browser/web_contents_delegate.h
  287. @@ -317,8 +317,7 @@ class CONTENT_EXPORT WebContentsDelegate {
  288. SiteInstance* source_site_instance,
  289. content::mojom::WindowContainerType window_container_type,
  290. const GURL& opener_url,
  291. - const std::string& frame_name,
  292. - const GURL& target_url);
  293. + const mojom::CreateNewWindowParams& params);
  294. // Allow delegate to creates a custom WebContents when
  295. // WebContents::CreateNewWindow() is called. This function is only called
  296. diff --git a/extensions/browser/guest_view/extension_options/extension_options_guest.cc b/extensions/browser/guest_view/extension_options/extension_options_guest.cc
  297. index 5f49edfabed15d691dc6cc7b17896165297735a7..d64baa43afcf5a0f87797995b84b60d84e1f05a2 100644
  298. --- a/extensions/browser/guest_view/extension_options/extension_options_guest.cc
  299. +++ b/extensions/browser/guest_view/extension_options/extension_options_guest.cc
  300. @@ -212,8 +212,7 @@ bool ExtensionOptionsGuest::IsWebContentsCreationOverridden(
  301. content::SiteInstance* source_site_instance,
  302. content::mojom::WindowContainerType window_container_type,
  303. const GURL& opener_url,
  304. - const std::string& frame_name,
  305. - const GURL& target_url) {
  306. + const content::mojom::CreateNewWindowParams& params) {
  307. // This method handles opening links from within the guest. Since this guest
  308. // view is used for displaying embedded extension options, we want any
  309. // external links to be opened in a new tab, not in a new guest view so we
  310. diff --git a/extensions/browser/guest_view/extension_options/extension_options_guest.h b/extensions/browser/guest_view/extension_options/extension_options_guest.h
  311. index 9b293d0df6c634bf44a69d607c4eee839a74b4a1..7e5b9cbdcc232c5e20eae0130d800f508411b827 100644
  312. --- a/extensions/browser/guest_view/extension_options/extension_options_guest.h
  313. +++ b/extensions/browser/guest_view/extension_options/extension_options_guest.h
  314. @@ -55,8 +55,7 @@ class ExtensionOptionsGuest
  315. content::SiteInstance* source_site_instance,
  316. content::mojom::WindowContainerType window_container_type,
  317. const GURL& opener_url,
  318. - const std::string& frame_name,
  319. - const GURL& target_url) final;
  320. + const content::mojom::CreateNewWindowParams& params) final;
  321. content::WebContents* CreateCustomWebContents(
  322. content::RenderFrameHost* opener,
  323. content::SiteInstance* source_site_instance,
  324. 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
  325. index 2dc016e4be765413b4cef0f5471dcf9240f73ff5..224cd2be71670ac565d02ecb2838123154255dc6 100644
  326. --- a/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc
  327. +++ b/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc
  328. @@ -386,8 +386,7 @@ bool MimeHandlerViewGuest::IsWebContentsCreationOverridden(
  329. content::SiteInstance* source_site_instance,
  330. content::mojom::WindowContainerType window_container_type,
  331. const GURL& opener_url,
  332. - const std::string& frame_name,
  333. - const GURL& target_url) {
  334. + const content::mojom::CreateNewWindowParams& params) {
  335. return true;
  336. }
  337. 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
  338. index bb90319f768ed2f3a3e530d64bf622de585ce163..d84de1d218267887f6b8624f913438ebc4aa7a79 100644
  339. --- a/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h
  340. +++ b/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h
  341. @@ -158,8 +158,7 @@ class MimeHandlerViewGuest
  342. content::SiteInstance* source_site_instance,
  343. content::mojom::WindowContainerType window_container_type,
  344. const GURL& opener_url,
  345. - const std::string& frame_name,
  346. - const GURL& target_url) override;
  347. + const content::mojom::CreateNewWindowParams& params) override;
  348. content::WebContents* CreateCustomWebContents(
  349. content::RenderFrameHost* opener,
  350. content::SiteInstance* source_site_instance,
  351. diff --git a/fuchsia/engine/browser/frame_impl.cc b/fuchsia/engine/browser/frame_impl.cc
  352. index bfe73ea9811890f3a0175f2b8cd14459fec980c1..fc4a2a879cd4b1914849b5cadba78caf4c16d804 100644
  353. --- a/fuchsia/engine/browser/frame_impl.cc
  354. +++ b/fuchsia/engine/browser/frame_impl.cc
  355. @@ -388,8 +388,7 @@ bool FrameImpl::IsWebContentsCreationOverridden(
  356. content::SiteInstance* source_site_instance,
  357. content::mojom::WindowContainerType window_container_type,
  358. const GURL& opener_url,
  359. - const std::string& frame_name,
  360. - const GURL& target_url) {
  361. + const mojom::CreateNewWindowParams& params) {
  362. // Specify a generous upper bound for unacknowledged popup windows, so that we
  363. // can catch bad client behavior while not interfering with normal operation.
  364. constexpr size_t kMaxPendingWebContentsCount = 10;
  365. diff --git a/fuchsia/engine/browser/frame_impl.h b/fuchsia/engine/browser/frame_impl.h
  366. index e2736c5329d9516fdd417df4dff8039f991e800e..11081373e0d70e7ec366c6917c21db61c4e18cca 100644
  367. --- a/fuchsia/engine/browser/frame_impl.h
  368. +++ b/fuchsia/engine/browser/frame_impl.h
  369. @@ -245,8 +245,7 @@ class FrameImpl : public fuchsia::web::Frame,
  370. content::SiteInstance* source_site_instance,
  371. content::mojom::WindowContainerType window_container_type,
  372. const GURL& opener_url,
  373. - const std::string& frame_name,
  374. - const GURL& target_url) override;
  375. + const mojom::CreateNewWindowParams& params) override;
  376. void WebContentsCreated(content::WebContents* source_contents,
  377. int opener_render_process_id,
  378. int opener_render_frame_id,
  379. diff --git a/headless/lib/browser/headless_web_contents_impl.cc b/headless/lib/browser/headless_web_contents_impl.cc
  380. index dd1f6129173a0e19023f4ec9b66c44486b080456..d10468c06f84b59387af0a8fd5bc1c06108865eb 100644
  381. --- a/headless/lib/browser/headless_web_contents_impl.cc
  382. +++ b/headless/lib/browser/headless_web_contents_impl.cc
  383. @@ -192,8 +192,7 @@ class HeadlessWebContentsImpl::Delegate : public content::WebContentsDelegate {
  384. content::SiteInstance* source_site_instance,
  385. content::mojom::WindowContainerType window_container_type,
  386. const GURL& opener_url,
  387. - const std::string& frame_name,
  388. - const GURL& target_url) override {
  389. + const mojom::CreateNewWindowParams& params) override {
  390. return headless_web_contents_->browser_context()
  391. ->options()
  392. ->block_new_web_contents();
  393. diff --git a/ui/views/controls/webview/web_dialog_view.cc b/ui/views/controls/webview/web_dialog_view.cc
  394. index aba1ecfde2be3371099bf9c729794b22a8849f02..8919bf1cab7a3bc3faac10ed0d86b9390af009b8 100644
  395. --- a/ui/views/controls/webview/web_dialog_view.cc
  396. +++ b/ui/views/controls/webview/web_dialog_view.cc
  397. @@ -426,8 +426,7 @@ bool WebDialogView::IsWebContentsCreationOverridden(
  398. content::SiteInstance* source_site_instance,
  399. content::mojom::WindowContainerType window_container_type,
  400. const GURL& opener_url,
  401. - const std::string& frame_name,
  402. - const GURL& target_url) {
  403. + const content::mojom::CreateNewWindowParams& params) {
  404. if (delegate_)
  405. return delegate_->HandleShouldOverrideWebContentsCreation();
  406. return false;
  407. diff --git a/ui/views/controls/webview/web_dialog_view.h b/ui/views/controls/webview/web_dialog_view.h
  408. index d4d633809610215c589405d20e1137280c55468b..f66a83101c5e5518705c4d23ad963bf0a170241e 100644
  409. --- a/ui/views/controls/webview/web_dialog_view.h
  410. +++ b/ui/views/controls/webview/web_dialog_view.h
  411. @@ -155,8 +155,7 @@ class WEBVIEW_EXPORT WebDialogView : public ClientView,
  412. content::SiteInstance* source_site_instance,
  413. content::mojom::WindowContainerType window_container_type,
  414. const GURL& opener_url,
  415. - const std::string& frame_name,
  416. - const GURL& target_url) override;
  417. + const content::mojom::CreateNewWindowParams& params) override;
  418. void RequestMediaAccessPermission(
  419. content::WebContents* web_contents,
  420. const content::MediaStreamRequest& request,