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 8642c20123ec62fd6c90c8945d78bc3e04116c5b..f33ad843cc4b602c0e3312be426b81a0332afe66 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. @@ -123,8 +123,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. @@ -234,15 +233,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 e6caf513b77c8f59627ba090a6f1bcd97a213c83..1fda47d0397c44792da895055a06e4ef60bfa43b 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 33f1168f834d138aefb190b7718271d6962b3532..aeb30a22349e0682586bd1bad20dc5e21fd0b08d 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. @@ -65,8 +65,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 37b121e2b667d2f3f3fca2de20cc78c1d473fcab..87b76090dd396b529b7e42fc9df88389cc4ccfed 100644
  138. --- a/chrome/browser/ui/browser.cc
  139. +++ b/chrome/browser/ui/browser.cc
  140. @@ -1776,12 +1776,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 f1c66751bff73836e58c6550f16dba060b88bd8d..94550c33ac0c84cbc37e30a4a569098af20520ab 100644
  156. --- a/chrome/browser/ui/browser.h
  157. +++ b/chrome/browser/ui/browser.h
  158. @@ -795,8 +795,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 03e8c4f0a78567e487603f1f6a686d489c9f8ffc..27223fce30c9de33fde3fd2bdcf7ce866452d35b 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. @@ -200,8 +200,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 e878f49dd6cc69f5ba0b43e666277d29ed8c0d91..3a8eb296fee0ac2dda52435b58537a98d90e4467 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. @@ -169,14 +169,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 cf50204a6aeb099d25dc41d4180f8a1e32a63eda..642e88a4de3044173423fae5bfe2e30ef442f366 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 0f8ab5c4eeb78b3997e4af2ef2bd9a0902803887..e91e0f35fe3ec98d299da675acfad996a0801faf 100644
  259. --- a/content/browser/web_contents/web_contents_impl.cc
  260. +++ b/content/browser/web_contents/web_contents_impl.cc
  261. @@ -3560,8 +3560,7 @@ RenderFrameHostDelegate* 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. return static_cast<WebContentsImpl*>(delegate_->CreateCustomWebContents(
  268. opener, source_site_instance, is_new_browsing_instance,
  269. opener->GetLastCommittedURL(), params.frame_name, params.target_url,
  270. diff --git a/content/public/browser/web_contents_delegate.cc b/content/public/browser/web_contents_delegate.cc
  271. index 412fa31a6fb853eb757e19e64efb0829753faed9..1378593a48932b8272bafbe70c4797befdc32f02 100644
  272. --- a/content/public/browser/web_contents_delegate.cc
  273. +++ b/content/public/browser/web_contents_delegate.cc
  274. @@ -135,8 +135,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 4982f8d2641c3d3162db4f553f3b6726d1bc3593..87e11c21bd4a6f07f2897e0027b47f3e74d6e192 100644
  285. --- a/content/public/browser/web_contents_delegate.h
  286. +++ b/content/public/browser/web_contents_delegate.h
  287. @@ -319,8 +319,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 e2b5240255bfdd77ed7513b26ec404f2ec244151..8e45bb4e1817e5bce6465f895026bbf953920339 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. @@ -380,8 +380,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 7d27e12c4e9a7f32af8a26f672359057a643dd67..7a30ac31f79871f2a9afa0345e0e88affe7fe72f 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 f50f4343ed5a487538ef9ce819cd19300623a3dd..282bca34f82e5a3b27bc66f0cab494e388f35b9e 100644
  353. --- a/fuchsia/engine/browser/frame_impl.cc
  354. +++ b/fuchsia/engine/browser/frame_impl.cc
  355. @@ -372,8 +372,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 fea7e90aa11231009c442e8a449478f63a6d98eb..7b8802fcec4a2fff3b3d147e1bbd97e54a9b18c6 100644
  367. --- a/fuchsia/engine/browser/frame_impl.h
  368. +++ b/fuchsia/engine/browser/frame_impl.h
  369. @@ -237,8 +237,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 4fdbf1c7030bb2b3765780d1e8c5a502679745de..5b59ce27eaa03897e5cbb3115b485a3ea931e871 100644
  381. --- a/headless/lib/browser/headless_web_contents_impl.cc
  382. +++ b/headless/lib/browser/headless_web_contents_impl.cc
  383. @@ -198,8 +198,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 9b312a0604c38ea95f03b0ef9885ebaf08ed896c..87d57b3be4609dd1847620d58cb8b61a29114b89 100644
  395. --- a/ui/views/controls/webview/web_dialog_view.cc
  396. +++ b/ui/views/controls/webview/web_dialog_view.cc
  397. @@ -429,8 +429,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 8c5edd6b46b828bba2422ae11e451625ee4e6894..cc4a53e149fab62a72b321c9a3ec994fb9d87622 100644
  409. --- a/ui/views/controls/webview/web_dialog_view.h
  410. +++ b/ui/views/controls/webview/web_dialog_view.h
  411. @@ -159,8 +159,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,