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 0e90487923c57c0570e73ef0f0e8c5acc2576932..20fece7e761c28d8d13f53de5b5b521a73f4f168 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 5b4d70991e19edcdfee731c56251932bf43e535f..4d996e3821410b2325ef85499f8c307c6e043b2a 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 27452df45433e4aeb7b9008f8e5b91dd4b5f50db..5c6f9936e6d3d2647d7efbc70efda8551c5516c7 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 88b68339823142f9b2b2d4730d6ebc1033ac86a3..e2d53e1b233adced355be667d006d5d2ba3d5110 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 4df94c57d6be19d6e76430391386e84d2816d94a..f1c0c6e8bec7ef17292c2a5a3b33800f402c889b 100644
  64. --- a/chrome/browser/ui/ash/ash_web_view_impl.cc
  65. +++ b/chrome/browser/ui/ash/ash_web_view_impl.cc
  66. @@ -77,10 +77,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 fd2bccf8f718683b55646ef200aaacc2df6ac485..b62b61fbcf4b8f1eff26546c5da020f88e4599fa 100644
  81. --- a/chrome/browser/ui/ash/ash_web_view_impl.h
  82. +++ b/chrome/browser/ui/ash/ash_web_view_impl.h
  83. @@ -46,8 +46,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 6688ba8ba2fb7d930773144cdbc43f1f6fa2b685..22015c7b9b50e1264551ce226757f90e29191d8f 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 a7a64effed043a75371e5dde0837ce7fbfa631ad..8f190e6d33497f52b536aef82505025b74602337 100644
  108. --- a/chrome/browser/ui/browser.cc
  109. +++ b/chrome/browser/ui/browser.cc
  110. @@ -1760,12 +1760,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 1cda4516162907a047b67edbc2d020e36cceb8f0..2d222d43c0c55d976eceb189a2d955793a6824ce 100644
  126. --- a/chrome/browser/ui/browser.h
  127. +++ b/chrome/browser/ui/browser.h
  128. @@ -810,8 +810,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 2c560d379ee6c08465455ea1dc2c5a59ddb65487..4fd703722db5d679b08acdb8fc080b089dd8c433 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 1911b0558fad1d5834befa98e57a978e6e0b72da..cb85515f79617a32e2809ad6eb7f55e4ecc36b3f 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. @@ -170,14 +170,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 2834e3ee5778185741779a473cf5157788a76cc5..64fcddc952065e574a84edd99e5b1b80febd3d26 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. @@ -81,8 +81,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 c6bd5c19f8a7ceec17c9e32af5296a9617f3a619..02199b439fba7fdc617b7f7980d958b76d09c4e8 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 2e91c4f052501e4067cf8fee21f2f3c2674f1c1a..74e6928041145fd6f37ec4ce7acc6be0649b944d 100644
  243. --- a/content/browser/web_contents/web_contents_impl.cc
  244. +++ b/content/browser/web_contents/web_contents_impl.cc
  245. @@ -3815,8 +3815,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 5647a94ace369de0c7e0096c885865b7b5b04c61..bf3e958a5f883c2408846f4954e58a30c76bee26 100644
  256. --- a/content/public/browser/web_contents_delegate.cc
  257. +++ b/content/public/browser/web_contents_delegate.cc
  258. @@ -135,8 +135,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 5092190243d3eb95a4180cb44937e3d25c4a3ad9..23a11de7c25b81e72c81db20caaa799191b70e45 100644
  269. --- a/content/public/browser/web_contents_delegate.h
  270. +++ b/content/public/browser/web_contents_delegate.h
  271. @@ -322,8 +322,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 b1c4872e8139e4e6c7c38f94e6e1619ef1730bce..314a418c8d0ff43f115744a0229511dd409b48d6 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. @@ -213,8 +213,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 0d6ab312e2bdfac8f1d75ecb5df990d3d158b288..edcdae5183d5a2bcca31b440870f40ed12d7e02c 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 2a8095bb93264360d2cdb0a54ff3330671905852..8a2745c318f865564368d5d3d90af61b5c20fb00 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. @@ -388,8 +388,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 1b388778aac1420769de8c411489e026abbc75a4..b21d262c7014097e35ee83289fab400ab9d3bdc5 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. @@ -171,8 +171,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/engine/browser/frame_impl.cc b/fuchsia/engine/browser/frame_impl.cc
  336. index c0fc74673903a0c54164bddb5be0c96f3f7b73a4..2466675e80708aa0ba27e0431cbfb2a277abde32 100644
  337. --- a/fuchsia/engine/browser/frame_impl.cc
  338. +++ b/fuchsia/engine/browser/frame_impl.cc
  339. @@ -403,8 +403,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/engine/browser/frame_impl.h b/fuchsia/engine/browser/frame_impl.h
  350. index ea50835c2f8631851659db6abb3ba779a5fcb6e0..14207edb850689c126b2d09eff8d8feb1246ebb7 100644
  351. --- a/fuchsia/engine/browser/frame_impl.h
  352. +++ b/fuchsia/engine/browser/frame_impl.h
  353. @@ -292,8 +292,7 @@ class 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 4cb2c255877182406158258c0fb3e88e50f612c7..0f314be5d9d88b60b925a1e25db30408f0b26dff 100644
  365. --- a/headless/lib/browser/headless_web_contents_impl.cc
  366. +++ b/headless/lib/browser/headless_web_contents_impl.cc
  367. @@ -177,8 +177,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 1c3eebdc2cc3f5d8f110562eb3e18a1f45521c4f..11b7b0c6617c40c766d64cd0d4e60d22e569bfb1 100644
  379. --- a/ui/views/controls/webview/web_dialog_view.cc
  380. +++ b/ui/views/controls/webview/web_dialog_view.cc
  381. @@ -426,8 +426,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 eb5c113cab56f28d3bca3ac722c6e2b1ed3b50e8..26263aec5b8e401d3fd79b898651b9635daa36d8 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,