chore_provide_iswebcontentscreationoverridden_with_full_params.patch 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423
  1. From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
  2. From: Andy Locascio <[email protected]>
  3. Date: Wed, 9 Sep 2020 16:56:06 -0700
  4. Subject: chore: provide IsWebContentsCreationOverridden with full params
  5. Pending upstream patch, this gives us fuller access to the window.open params
  6. so that we will be able to decide whether to cancel it or not.
  7. diff --git a/chrome/browser/media/offscreen_tab.cc b/chrome/browser/media/offscreen_tab.cc
  8. index bfcdf050e603b953d15a0898200c8f031a1f84c6..b1f163b6da4d2197d404a5a0fbd31a5b346d3d69 100644
  9. --- a/chrome/browser/media/offscreen_tab.cc
  10. +++ b/chrome/browser/media/offscreen_tab.cc
  11. @@ -286,8 +286,7 @@ bool OffscreenTab::IsWebContentsCreationOverridden(
  12. content::SiteInstance* source_site_instance,
  13. content::mojom::WindowContainerType window_container_type,
  14. const GURL& opener_url,
  15. - const std::string& frame_name,
  16. - const GURL& target_url) {
  17. + const content::mojom::CreateNewWindowParams& params) {
  18. // Disallow creating separate WebContentses. The WebContents implementation
  19. // uses this to spawn new windows/tabs, which is also not allowed for
  20. // offscreen tabs.
  21. diff --git a/chrome/browser/media/offscreen_tab.h b/chrome/browser/media/offscreen_tab.h
  22. index 2fa0d6e1be27cc429e4a0237b5bfafa7aaa06c56..3decb327b10e3cd3edc1765491a7eb6056be7a51 100644
  23. --- a/chrome/browser/media/offscreen_tab.h
  24. +++ b/chrome/browser/media/offscreen_tab.h
  25. @@ -107,8 +107,7 @@ class OffscreenTab final : public ProfileObserver,
  26. content::SiteInstance* source_site_instance,
  27. content::mojom::WindowContainerType window_container_type,
  28. const GURL& opener_url,
  29. - const std::string& frame_name,
  30. - const GURL& target_url) final;
  31. + const content::mojom::CreateNewWindowParams& params) override;
  32. void EnterFullscreenModeForTab(
  33. content::RenderFrameHost* requesting_frame,
  34. const blink::mojom::FullscreenOptions& options) final;
  35. diff --git a/chrome/browser/ui/ash/keyboard/chrome_keyboard_web_contents.cc b/chrome/browser/ui/ash/keyboard/chrome_keyboard_web_contents.cc
  36. index a0c24e09a5dffa8be119309738abe57e82ef76b3..3e362f622b72d7cb97a838e71014b035c47728c0 100644
  37. --- a/chrome/browser/ui/ash/keyboard/chrome_keyboard_web_contents.cc
  38. +++ b/chrome/browser/ui/ash/keyboard/chrome_keyboard_web_contents.cc
  39. @@ -79,8 +79,7 @@ class ChromeKeyboardContentsDelegate : public content::WebContentsDelegate,
  40. content::SiteInstance* source_site_instance,
  41. content::mojom::WindowContainerType window_container_type,
  42. const GURL& opener_url,
  43. - const std::string& frame_name,
  44. - const GURL& target_url) override {
  45. + const content::mojom::CreateNewWindowParams& params) override {
  46. return true;
  47. }
  48. diff --git a/chrome/browser/ui/ash/web_view/ash_web_view_impl.cc b/chrome/browser/ui/ash/web_view/ash_web_view_impl.cc
  49. index 44be6359d6a7acf88072569d8d4f85c688f5ed81..ee377313b25e13c011b1ed4aa31ea059f020a5b7 100644
  50. --- a/chrome/browser/ui/ash/web_view/ash_web_view_impl.cc
  51. +++ b/chrome/browser/ui/ash/web_view/ash_web_view_impl.cc
  52. @@ -120,10 +120,9 @@ bool AshWebViewImpl::IsWebContentsCreationOverridden(
  53. content::SiteInstance* source_site_instance,
  54. content::mojom::WindowContainerType window_container_type,
  55. const GURL& opener_url,
  56. - const std::string& frame_name,
  57. - const GURL& target_url) {
  58. + const content::mojom::CreateNewWindowParams& params) {
  59. if (params_.suppress_navigation) {
  60. - NotifyDidSuppressNavigation(target_url,
  61. + NotifyDidSuppressNavigation(params.target_url,
  62. WindowOpenDisposition::NEW_FOREGROUND_TAB,
  63. /*from_user_gesture=*/true);
  64. return true;
  65. diff --git a/chrome/browser/ui/ash/web_view/ash_web_view_impl.h b/chrome/browser/ui/ash/web_view/ash_web_view_impl.h
  66. index 4fd8dff1089cd6afa6a66dc185734d7671657281..0a1f4268ea771a3d5d4a2668928c6e5d1b618c68 100644
  67. --- a/chrome/browser/ui/ash/web_view/ash_web_view_impl.h
  68. +++ b/chrome/browser/ui/ash/web_view/ash_web_view_impl.h
  69. @@ -59,8 +59,7 @@ class AshWebViewImpl : public ash::AshWebView,
  70. content::SiteInstance* source_site_instance,
  71. content::mojom::WindowContainerType window_container_type,
  72. const GURL& opener_url,
  73. - const std::string& frame_name,
  74. - const GURL& target_url) override;
  75. + const content::mojom::CreateNewWindowParams& params) override;
  76. content::WebContents* OpenURLFromTab(
  77. content::WebContents* source,
  78. const content::OpenURLParams& params,
  79. diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc
  80. index e0582db3e8e88bbafeeb9f1aa9bd0bbbeb265a17..a485afdd0283983b6e9de67ebdcbc0ec321b1146 100644
  81. --- a/chrome/browser/ui/browser.cc
  82. +++ b/chrome/browser/ui/browser.cc
  83. @@ -2212,12 +2212,11 @@ bool Browser::IsWebContentsCreationOverridden(
  84. content::SiteInstance* source_site_instance,
  85. content::mojom::WindowContainerType window_container_type,
  86. const GURL& opener_url,
  87. - const std::string& frame_name,
  88. - const GURL& target_url) {
  89. + const content::mojom::CreateNewWindowParams& params) {
  90. return window_container_type ==
  91. content::mojom::WindowContainerType::BACKGROUND &&
  92. ShouldCreateBackgroundContents(source_site_instance, opener_url,
  93. - frame_name);
  94. + params.frame_name);
  95. }
  96. WebContents* Browser::CreateCustomWebContents(
  97. diff --git a/chrome/browser/ui/browser.h b/chrome/browser/ui/browser.h
  98. index 0ee8fee2166f023f1fedc5ea9733ed2d37acd8d1..0743620d722d48caba2a1f4ac91d353169049239 100644
  99. --- a/chrome/browser/ui/browser.h
  100. +++ b/chrome/browser/ui/browser.h
  101. @@ -976,8 +976,7 @@ class Browser : public TabStripModelObserver,
  102. content::SiteInstance* source_site_instance,
  103. content::mojom::WindowContainerType window_container_type,
  104. const GURL& opener_url,
  105. - const std::string& frame_name,
  106. - const GURL& target_url) override;
  107. + const content::mojom::CreateNewWindowParams& params) override;
  108. content::WebContents* CreateCustomWebContents(
  109. content::RenderFrameHost* opener,
  110. content::SiteInstance* source_site_instance,
  111. diff --git a/chrome/browser/ui/media_router/presentation_receiver_window_controller.cc b/chrome/browser/ui/media_router/presentation_receiver_window_controller.cc
  112. index 0d2a68ea6b9f08b5c1f1113181b08d55a3265192..0dfa27fa14d1308c059534953e190922ddb3bc0a 100644
  113. --- a/chrome/browser/ui/media_router/presentation_receiver_window_controller.cc
  114. +++ b/chrome/browser/ui/media_router/presentation_receiver_window_controller.cc
  115. @@ -205,8 +205,7 @@ bool PresentationReceiverWindowController::IsWebContentsCreationOverridden(
  116. content::SiteInstance* source_site_instance,
  117. content::mojom::WindowContainerType window_container_type,
  118. const GURL& opener_url,
  119. - const std::string& frame_name,
  120. - const GURL& target_url) {
  121. + const content::mojom::CreateNewWindowParams& params) {
  122. // Disallow creating separate WebContentses. The WebContents implementation
  123. // uses this to spawn new windows/tabs, which is also not allowed for
  124. // local presentations.
  125. diff --git a/chrome/browser/ui/media_router/presentation_receiver_window_controller.h b/chrome/browser/ui/media_router/presentation_receiver_window_controller.h
  126. index ca72b324bf7c3b81ac94b53f0ff454d2df177950..d60ef3075d126e2bbd50c8469f2bf67cfa05c6f7 100644
  127. --- a/chrome/browser/ui/media_router/presentation_receiver_window_controller.h
  128. +++ b/chrome/browser/ui/media_router/presentation_receiver_window_controller.h
  129. @@ -105,8 +105,7 @@ class PresentationReceiverWindowController final
  130. content::SiteInstance* source_site_instance,
  131. content::mojom::WindowContainerType window_container_type,
  132. const GURL& opener_url,
  133. - const std::string& frame_name,
  134. - const GURL& target_url) override;
  135. + const content::mojom::CreateNewWindowParams& params) override;
  136. // The profile used for the presentation.
  137. raw_ptr<Profile, DanglingUntriaged> otr_profile_;
  138. diff --git a/chrome/browser/ui/views/hats/hats_next_web_dialog.cc b/chrome/browser/ui/views/hats/hats_next_web_dialog.cc
  139. index f2c33e0a67040bf445797c3d09296ee07c1480c0..e9f6c6fb9e562516c876b132ab142a0733e3ca6f 100644
  140. --- a/chrome/browser/ui/views/hats/hats_next_web_dialog.cc
  141. +++ b/chrome/browser/ui/views/hats/hats_next_web_dialog.cc
  142. @@ -97,8 +97,7 @@ class HatsNextWebDialog::HatsWebView : public views::WebView {
  143. content::SiteInstance* source_site_instance,
  144. content::mojom::WindowContainerType window_container_type,
  145. const GURL& opener_url,
  146. - const std::string& frame_name,
  147. - const GURL& target_url) override {
  148. + const content::mojom::CreateNewWindowParams& params) override {
  149. return true;
  150. }
  151. content::WebContents* CreateCustomWebContents(
  152. diff --git a/components/embedder_support/android/delegate/web_contents_delegate_android.cc b/components/embedder_support/android/delegate/web_contents_delegate_android.cc
  153. index be627a347fb9888c978c0e7d11498491e880e301..97293f41a905d9bcc97e0e57b12524d5ba7263ca 100644
  154. --- a/components/embedder_support/android/delegate/web_contents_delegate_android.cc
  155. +++ b/components/embedder_support/android/delegate/web_contents_delegate_android.cc
  156. @@ -185,14 +185,13 @@ bool WebContentsDelegateAndroid::IsWebContentsCreationOverridden(
  157. content::SiteInstance* source_site_instance,
  158. content::mojom::WindowContainerType window_container_type,
  159. const GURL& opener_url,
  160. - const std::string& frame_name,
  161. - const GURL& target_url) {
  162. + const content::mojom::CreateNewWindowParams& params) {
  163. JNIEnv* env = AttachCurrentThread();
  164. ScopedJavaLocalRef<jobject> obj = GetJavaDelegate(env);
  165. if (obj.is_null())
  166. return false;
  167. ScopedJavaLocalRef<jobject> java_gurl =
  168. - url::GURLAndroid::FromNativeGURL(env, target_url);
  169. + url::GURLAndroid::FromNativeGURL(env, params.target_url.spec());
  170. return !Java_WebContentsDelegateAndroid_shouldCreateWebContents(env, obj,
  171. java_gurl);
  172. }
  173. diff --git a/components/embedder_support/android/delegate/web_contents_delegate_android.h b/components/embedder_support/android/delegate/web_contents_delegate_android.h
  174. index d97d10767fe420f598998e04f4d6429bf9a5f2f8..ee52cd7a3d4738c273c96528adde5bb9de880bdb 100644
  175. --- a/components/embedder_support/android/delegate/web_contents_delegate_android.h
  176. +++ b/components/embedder_support/android/delegate/web_contents_delegate_android.h
  177. @@ -82,8 +82,7 @@ class WebContentsDelegateAndroid : public content::WebContentsDelegate {
  178. content::SiteInstance* source_site_instance,
  179. content::mojom::WindowContainerType window_container_type,
  180. const GURL& opener_url,
  181. - const std::string& frame_name,
  182. - const GURL& target_url) override;
  183. + const content::mojom::CreateNewWindowParams& params) override;
  184. void CloseContents(content::WebContents* source) override;
  185. void SetContentsBounds(content::WebContents* source,
  186. const gfx::Rect& bounds) override;
  187. diff --git a/components/offline_pages/content/background_loader/background_loader_contents.cc b/components/offline_pages/content/background_loader/background_loader_contents.cc
  188. index e0e9a5a8c1d8c242d39935e2456052619af33cc6..80518793447c70e8fc1dae9b42a59d40427ae52b 100644
  189. --- a/components/offline_pages/content/background_loader/background_loader_contents.cc
  190. +++ b/components/offline_pages/content/background_loader/background_loader_contents.cc
  191. @@ -89,8 +89,7 @@ bool BackgroundLoaderContents::IsWebContentsCreationOverridden(
  192. content::SiteInstance* source_site_instance,
  193. content::mojom::WindowContainerType window_container_type,
  194. const GURL& opener_url,
  195. - const std::string& frame_name,
  196. - const GURL& target_url) {
  197. + const content::mojom::CreateNewWindowParams& params) {
  198. // Background pages should not create other webcontents/tabs.
  199. return true;
  200. }
  201. diff --git a/components/offline_pages/content/background_loader/background_loader_contents.h b/components/offline_pages/content/background_loader/background_loader_contents.h
  202. index c6838c83ef971b88769b1f3fba8095025ae25464..2da6a4e08340e72ba7de5d03444c2f17250c5eca 100644
  203. --- a/components/offline_pages/content/background_loader/background_loader_contents.h
  204. +++ b/components/offline_pages/content/background_loader/background_loader_contents.h
  205. @@ -66,8 +66,7 @@ class BackgroundLoaderContents : public content::WebContentsDelegate {
  206. content::SiteInstance* source_site_instance,
  207. content::mojom::WindowContainerType window_container_type,
  208. const GURL& opener_url,
  209. - const std::string& frame_name,
  210. - const GURL& target_url) override;
  211. + const content::mojom::CreateNewWindowParams& params) override;
  212. content::WebContents* AddNewContents(
  213. content::WebContents* source,
  214. diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
  215. index 7bbe1f1d7052f45c1e17fe9d4e8fe3164d3b0ba5..90d93722ef9fbb1ab4072f722db17af96faea062 100644
  216. --- a/content/browser/web_contents/web_contents_impl.cc
  217. +++ b/content/browser/web_contents/web_contents_impl.cc
  218. @@ -4873,8 +4873,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(
  219. // TODO(crbug.com/40202416): Support a way for MPArch guests to support this.
  220. if (delegate_ && delegate_->IsWebContentsCreationOverridden(
  221. source_site_instance, params.window_container_type,
  222. - opener->GetLastCommittedURL(), params.frame_name,
  223. - params.target_url)) {
  224. + opener->GetLastCommittedURL(), params)) {
  225. auto* web_contents_impl =
  226. static_cast<WebContentsImpl*>(delegate_->CreateCustomWebContents(
  227. opener, source_site_instance, is_new_browsing_instance,
  228. diff --git a/content/public/browser/web_contents_delegate.cc b/content/public/browser/web_contents_delegate.cc
  229. index 17933dabfe7818fc815d016b8ca0f314a4c8b953..f2e4a7f7d5f202dec875c1d8149149a6249d260c 100644
  230. --- a/content/public/browser/web_contents_delegate.cc
  231. +++ b/content/public/browser/web_contents_delegate.cc
  232. @@ -152,8 +152,7 @@ bool WebContentsDelegate::IsWebContentsCreationOverridden(
  233. SiteInstance* source_site_instance,
  234. mojom::WindowContainerType window_container_type,
  235. const GURL& opener_url,
  236. - const std::string& frame_name,
  237. - const GURL& target_url) {
  238. + const mojom::CreateNewWindowParams& params) {
  239. return false;
  240. }
  241. diff --git a/content/public/browser/web_contents_delegate.h b/content/public/browser/web_contents_delegate.h
  242. index f318aa37654d668a95fb2f97b5a85c5786f5407d..8b2740bccd8670cc49a162d510e3deb53a534b14 100644
  243. --- a/content/public/browser/web_contents_delegate.h
  244. +++ b/content/public/browser/web_contents_delegate.h
  245. @@ -345,8 +345,7 @@ class CONTENT_EXPORT WebContentsDelegate {
  246. SiteInstance* source_site_instance,
  247. mojom::WindowContainerType window_container_type,
  248. const GURL& opener_url,
  249. - const std::string& frame_name,
  250. - const GURL& target_url);
  251. + const mojom::CreateNewWindowParams& params);
  252. // Allow delegate to creates a custom WebContents when
  253. // WebContents::CreateNewWindow() is called. This function is only called
  254. diff --git a/extensions/browser/guest_view/app_view/app_view_guest.cc b/extensions/browser/guest_view/app_view/app_view_guest.cc
  255. index f8b00fec3f2786822b22c052051c524f766c059d..85a535d0b1e49619fec8c9f5c67896204c9fb164 100644
  256. --- a/extensions/browser/guest_view/app_view/app_view_guest.cc
  257. +++ b/extensions/browser/guest_view/app_view/app_view_guest.cc
  258. @@ -153,8 +153,7 @@ bool AppViewGuest::IsWebContentsCreationOverridden(
  259. content::SiteInstance* source_site_instance,
  260. content::mojom::WindowContainerType window_container_type,
  261. const GURL& opener_url,
  262. - const std::string& frame_name,
  263. - const GURL& target_url) {
  264. + const content::mojom::CreateNewWindowParams& params) {
  265. CHECK(!base::FeatureList::IsEnabled(features::kGuestViewMPArch));
  266. return true;
  267. diff --git a/extensions/browser/guest_view/app_view/app_view_guest.h b/extensions/browser/guest_view/app_view/app_view_guest.h
  268. index 136448c9df06b9704e95d2797a60907d7ec5170a..21cc7b08dd8f9e4a32d29dd35c42ec2ce9f6cd53 100644
  269. --- a/extensions/browser/guest_view/app_view/app_view_guest.h
  270. +++ b/extensions/browser/guest_view/app_view/app_view_guest.h
  271. @@ -10,6 +10,7 @@
  272. #include "base/containers/id_map.h"
  273. #include "base/values.h"
  274. #include "components/guest_view/browser/guest_view.h"
  275. +#include "content/common/frame.mojom-shared.h"
  276. #include "extensions/browser/guest_view/app_view/app_view_guest_delegate.h"
  277. #include "extensions/browser/lazy_context_task_queue.h"
  278. @@ -79,8 +80,7 @@ class AppViewGuest : public guest_view::GuestView<AppViewGuest> {
  279. content::SiteInstance* source_site_instance,
  280. content::mojom::WindowContainerType window_container_type,
  281. const GURL& opener_url,
  282. - const std::string& frame_name,
  283. - const GURL& target_url) final;
  284. + const content::mojom::CreateNewWindowParams& params) final;
  285. content::WebContents* CreateCustomWebContents(
  286. content::RenderFrameHost* opener,
  287. content::SiteInstance* source_site_instance,
  288. diff --git a/extensions/browser/guest_view/extension_options/extension_options_guest.cc b/extensions/browser/guest_view/extension_options/extension_options_guest.cc
  289. index ccba95521c54a893ea5168f6b25f86db4a5471c7..1aeae4978dea95d17c7ae76942e294aad7968630 100644
  290. --- a/extensions/browser/guest_view/extension_options/extension_options_guest.cc
  291. +++ b/extensions/browser/guest_view/extension_options/extension_options_guest.cc
  292. @@ -262,8 +262,7 @@ bool ExtensionOptionsGuest::IsWebContentsCreationOverridden(
  293. content::SiteInstance* source_site_instance,
  294. content::mojom::WindowContainerType window_container_type,
  295. const GURL& opener_url,
  296. - const std::string& frame_name,
  297. - const GURL& target_url) {
  298. + const content::mojom::CreateNewWindowParams& params) {
  299. CHECK(!base::FeatureList::IsEnabled(features::kGuestViewMPArch));
  300. // This method handles opening links from within the guest. Since this guest
  301. diff --git a/extensions/browser/guest_view/extension_options/extension_options_guest.h b/extensions/browser/guest_view/extension_options/extension_options_guest.h
  302. index e39031afd8fff7cb6e278555cc58a48d86407d65..f67f6a5603c1fa9e66ccdde9b601df9a11cae738 100644
  303. --- a/extensions/browser/guest_view/extension_options/extension_options_guest.h
  304. +++ b/extensions/browser/guest_view/extension_options/extension_options_guest.h
  305. @@ -73,8 +73,7 @@ class ExtensionOptionsGuest
  306. content::SiteInstance* source_site_instance,
  307. content::mojom::WindowContainerType window_container_type,
  308. const GURL& opener_url,
  309. - const std::string& frame_name,
  310. - const GURL& target_url) final;
  311. + const content::mojom::CreateNewWindowParams& params) final;
  312. content::WebContents* CreateCustomWebContents(
  313. content::RenderFrameHost* opener,
  314. content::SiteInstance* source_site_instance,
  315. diff --git a/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc b/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc
  316. index 61f132263c03d95870ecdc5bf3bdebb918ad7b4f..4ecf934005d01463bee92b3caf82c9161dab97e3 100644
  317. --- a/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc
  318. +++ b/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc
  319. @@ -452,8 +452,7 @@ bool MimeHandlerViewGuest::IsWebContentsCreationOverridden(
  320. content::SiteInstance* source_site_instance,
  321. content::mojom::WindowContainerType window_container_type,
  322. const GURL& opener_url,
  323. - const std::string& frame_name,
  324. - const GURL& target_url) {
  325. + const content::mojom::CreateNewWindowParams& params) {
  326. CHECK(!base::FeatureList::IsEnabled(features::kGuestViewMPArch));
  327. return true;
  328. diff --git a/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h b/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h
  329. index 2dcf51f335f5dac39f431c3e0f56f8789f33d40b..2b433624d0604e0b9da5117b9e83cc1559b74740 100644
  330. --- a/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h
  331. +++ b/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h
  332. @@ -186,8 +186,7 @@ class MimeHandlerViewGuest
  333. content::SiteInstance* source_site_instance,
  334. content::mojom::WindowContainerType window_container_type,
  335. const GURL& opener_url,
  336. - const std::string& frame_name,
  337. - const GURL& target_url) override;
  338. + const content::mojom::CreateNewWindowParams& params) override;
  339. content::WebContents* CreateCustomWebContents(
  340. content::RenderFrameHost* opener,
  341. content::SiteInstance* source_site_instance,
  342. diff --git a/fuchsia_web/webengine/browser/frame_impl.cc b/fuchsia_web/webengine/browser/frame_impl.cc
  343. index 635050eedc20fb89608677bcebeb5f8187bd4b59..1220f377169f8209db39654b7ddbf1da52c017b7 100644
  344. --- a/fuchsia_web/webengine/browser/frame_impl.cc
  345. +++ b/fuchsia_web/webengine/browser/frame_impl.cc
  346. @@ -575,8 +575,7 @@ bool FrameImpl::IsWebContentsCreationOverridden(
  347. content::SiteInstance* source_site_instance,
  348. content::mojom::WindowContainerType window_container_type,
  349. const GURL& opener_url,
  350. - const std::string& frame_name,
  351. - const GURL& target_url) {
  352. + const content::mojom::CreateNewWindowParams& params) {
  353. // Specify a generous upper bound for unacknowledged popup windows, so that we
  354. // can catch bad client behavior while not interfering with normal operation.
  355. constexpr size_t kMaxPendingWebContentsCount = 10;
  356. diff --git a/fuchsia_web/webengine/browser/frame_impl.h b/fuchsia_web/webengine/browser/frame_impl.h
  357. index 1012a909ef1fcae51c218ae519fe7e0db65ab087..127b1ae940bc9313aecb635e2b01bb6f541d9adb 100644
  358. --- a/fuchsia_web/webengine/browser/frame_impl.h
  359. +++ b/fuchsia_web/webengine/browser/frame_impl.h
  360. @@ -307,8 +307,7 @@ class WEB_ENGINE_EXPORT FrameImpl : public fuchsia::web::Frame,
  361. content::SiteInstance* source_site_instance,
  362. content::mojom::WindowContainerType window_container_type,
  363. const GURL& opener_url,
  364. - const std::string& frame_name,
  365. - const GURL& target_url) override;
  366. + const content::mojom::CreateNewWindowParams& params) override;
  367. void WebContentsCreated(content::WebContents* source_contents,
  368. int opener_render_process_id,
  369. int opener_render_frame_id,
  370. diff --git a/headless/lib/browser/headless_web_contents_impl.cc b/headless/lib/browser/headless_web_contents_impl.cc
  371. index 0101dbe4aa8cfe3103ba6ca9c9ac62ee46cffb2d..87b7cb41635c47a3ff7d19a7b46f63ed576be33d 100644
  372. --- a/headless/lib/browser/headless_web_contents_impl.cc
  373. +++ b/headless/lib/browser/headless_web_contents_impl.cc
  374. @@ -207,8 +207,7 @@ class HeadlessWebContentsImpl::Delegate : public content::WebContentsDelegate {
  375. content::SiteInstance* source_site_instance,
  376. content::mojom::WindowContainerType window_container_type,
  377. const GURL& opener_url,
  378. - const std::string& frame_name,
  379. - const GURL& target_url) override {
  380. + const content::mojom::CreateNewWindowParams& params) override {
  381. return headless_web_contents_->browser_context()
  382. ->options()
  383. ->block_new_web_contents();
  384. diff --git a/ui/views/controls/webview/web_dialog_view.cc b/ui/views/controls/webview/web_dialog_view.cc
  385. index d51816a633efee5aca5a5b7a0135bd331d604c14..0c0c937020ef486e6bfbeaa52cb2643a093d206a 100644
  386. --- a/ui/views/controls/webview/web_dialog_view.cc
  387. +++ b/ui/views/controls/webview/web_dialog_view.cc
  388. @@ -487,8 +487,7 @@ bool WebDialogView::IsWebContentsCreationOverridden(
  389. content::SiteInstance* source_site_instance,
  390. content::mojom::WindowContainerType window_container_type,
  391. const GURL& opener_url,
  392. - const std::string& frame_name,
  393. - const GURL& target_url) {
  394. + const content::mojom::CreateNewWindowParams& params) {
  395. if (delegate_) {
  396. return delegate_->HandleShouldOverrideWebContentsCreation();
  397. }
  398. diff --git a/ui/views/controls/webview/web_dialog_view.h b/ui/views/controls/webview/web_dialog_view.h
  399. index c96aeb2571961fa2ad033ca38600006e0e657699..2c733734103bf2cc0af9bcfb32d753053a287775 100644
  400. --- a/ui/views/controls/webview/web_dialog_view.h
  401. +++ b/ui/views/controls/webview/web_dialog_view.h
  402. @@ -167,8 +167,7 @@ class WEBVIEW_EXPORT WebDialogView : public ClientView,
  403. content::SiteInstance* source_site_instance,
  404. content::mojom::WindowContainerType window_container_type,
  405. const GURL& opener_url,
  406. - const std::string& frame_name,
  407. - const GURL& target_url) override;
  408. + const content::mojom::CreateNewWindowParams& params) override;
  409. void RequestMediaAccessPermission(
  410. content::WebContents* web_contents,
  411. const content::MediaStreamRequest& request,