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 28cd699814f32a7a569d63936b9544567a66d9c4..fd461fa448d983481dc4c0c7d03b1945a7a13c46 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 05fa4a72491658b542804912b0509089b9604e20..1304ed22fe3d1ae080cff3d085567c3d873daf51 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. @@ -118,10 +118,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 b078a4a06c7b3f767e2e01f0bef2ba440f729620..0459568581a3073333ae6afabd3680f25b9196e4 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 a62c82aab7a350c01c7b4288977895c4f9bb9c56..bc0f6ac675b93992bd017acbd4c9919552cdd401 100644
  81. --- a/chrome/browser/ui/browser.cc
  82. +++ b/chrome/browser/ui/browser.cc
  83. @@ -2176,12 +2176,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 1455dcab97edbd2b2b63401643aa288ed08dd52e..20e411aad535f892d903beb022b248b3a0b184e3 100644
  99. --- a/chrome/browser/ui/browser.h
  100. +++ b/chrome/browser/ui/browser.h
  101. @@ -978,8 +978,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 58506f1c2e9e20c77cd26172e6b52e71ffb8e515..052c00d29e3f517440e28f56cf61fd33655e2804 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. @@ -203,8 +203,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 8622cff1530c63414eea23687500b1a61746beb8..9288b232e73f9133004573b0d242872bbe7c4890 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. @@ -96,8 +96,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 ff8fe40db4e4d2b76c57e4b3a987c6ba13e30b7f..6049f8c69567e60364f212e69cc33cb6a858f6b8 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 9484a324478d3fe746a51e645368eb3b602ce91d..0676e60fe7773cfcb22e62abff67a66ef6153128 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 70cb6b43f214c7f5210e99edc930428520f02b7c..9b9edea9eb076f29dd8349ee784e9b2c1ab5a71c 100644
  216. --- a/content/browser/web_contents/web_contents_impl.cc
  217. +++ b/content/browser/web_contents/web_contents_impl.cc
  218. @@ -4818,8 +4818,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(
  219. if (delegate_ && delegate_->IsWebContentsCreationOverridden(
  220. source_site_instance, params.window_container_type,
  221. - opener->GetLastCommittedURL(), params.frame_name,
  222. - params.target_url)) {
  223. + opener->GetLastCommittedURL(), params)) {
  224. auto* web_contents_impl =
  225. static_cast<WebContentsImpl*>(delegate_->CreateCustomWebContents(
  226. opener, source_site_instance, is_new_browsing_instance,
  227. diff --git a/content/public/browser/web_contents_delegate.cc b/content/public/browser/web_contents_delegate.cc
  228. index d5a7a639089ad37cb611c2ae253675b119ac357b..fca239fa24512aed69c420dcdc99be9b161f54d9 100644
  229. --- a/content/public/browser/web_contents_delegate.cc
  230. +++ b/content/public/browser/web_contents_delegate.cc
  231. @@ -152,8 +152,7 @@ bool WebContentsDelegate::IsWebContentsCreationOverridden(
  232. SiteInstance* source_site_instance,
  233. mojom::WindowContainerType window_container_type,
  234. const GURL& opener_url,
  235. - const std::string& frame_name,
  236. - const GURL& target_url) {
  237. + const mojom::CreateNewWindowParams& params) {
  238. return false;
  239. }
  240. diff --git a/content/public/browser/web_contents_delegate.h b/content/public/browser/web_contents_delegate.h
  241. index 7413c1bef86f5e4633db7220c5de4de7fbdcc654..0d649bcd408eb02968acd9e479b4d3e78ad639b4 100644
  242. --- a/content/public/browser/web_contents_delegate.h
  243. +++ b/content/public/browser/web_contents_delegate.h
  244. @@ -344,8 +344,7 @@ class CONTENT_EXPORT WebContentsDelegate {
  245. SiteInstance* source_site_instance,
  246. mojom::WindowContainerType window_container_type,
  247. const GURL& opener_url,
  248. - const std::string& frame_name,
  249. - const GURL& target_url);
  250. + const mojom::CreateNewWindowParams& params);
  251. // Allow delegate to creates a custom WebContents when
  252. // WebContents::CreateNewWindow() is called. This function is only called
  253. diff --git a/extensions/browser/guest_view/app_view/app_view_guest.cc b/extensions/browser/guest_view/app_view/app_view_guest.cc
  254. index 05441db095b801f0dc625d16f901c8ea8306c7ba..d0bb3a13b8d3ac7e032c721aed92129081e6c165 100644
  255. --- a/extensions/browser/guest_view/app_view/app_view_guest.cc
  256. +++ b/extensions/browser/guest_view/app_view/app_view_guest.cc
  257. @@ -153,8 +153,7 @@ bool AppViewGuest::IsWebContentsCreationOverridden(
  258. content::SiteInstance* source_site_instance,
  259. content::mojom::WindowContainerType window_container_type,
  260. const GURL& opener_url,
  261. - const std::string& frame_name,
  262. - const GURL& target_url) {
  263. + const content::mojom::CreateNewWindowParams& params) {
  264. CHECK(!base::FeatureList::IsEnabled(features::kGuestViewMPArch));
  265. return true;
  266. diff --git a/extensions/browser/guest_view/app_view/app_view_guest.h b/extensions/browser/guest_view/app_view/app_view_guest.h
  267. index 78dcd52ef5f26094af8619d4a3a5776fab2b6a8f..a7b76de2a2d9445e8e05ee6050a6960ef6db183d 100644
  268. --- a/extensions/browser/guest_view/app_view/app_view_guest.h
  269. +++ b/extensions/browser/guest_view/app_view/app_view_guest.h
  270. @@ -10,6 +10,7 @@
  271. #include "base/containers/id_map.h"
  272. #include "base/values.h"
  273. #include "components/guest_view/browser/guest_view.h"
  274. +#include "content/common/frame.mojom-shared.h"
  275. #include "extensions/browser/guest_view/app_view/app_view_guest_delegate.h"
  276. #include "extensions/browser/lazy_context_task_queue.h"
  277. @@ -77,8 +78,7 @@ class AppViewGuest : public guest_view::GuestView<AppViewGuest> {
  278. content::SiteInstance* source_site_instance,
  279. content::mojom::WindowContainerType window_container_type,
  280. const GURL& opener_url,
  281. - const std::string& frame_name,
  282. - const GURL& target_url) final;
  283. + const content::mojom::CreateNewWindowParams& params) final;
  284. content::WebContents* CreateCustomWebContents(
  285. content::RenderFrameHost* opener,
  286. content::SiteInstance* source_site_instance,
  287. diff --git a/extensions/browser/guest_view/extension_options/extension_options_guest.cc b/extensions/browser/guest_view/extension_options/extension_options_guest.cc
  288. index 444592ac14ecd84a9408c30bfb967d12c4875b67..1582e8ad928cffbaad9ed6cbd864981d0fc4b606 100644
  289. --- a/extensions/browser/guest_view/extension_options/extension_options_guest.cc
  290. +++ b/extensions/browser/guest_view/extension_options/extension_options_guest.cc
  291. @@ -249,8 +249,7 @@ bool ExtensionOptionsGuest::IsWebContentsCreationOverridden(
  292. content::SiteInstance* source_site_instance,
  293. content::mojom::WindowContainerType window_container_type,
  294. const GURL& opener_url,
  295. - const std::string& frame_name,
  296. - const GURL& target_url) {
  297. + const content::mojom::CreateNewWindowParams& params) {
  298. CHECK(!base::FeatureList::IsEnabled(features::kGuestViewMPArch));
  299. // This method handles opening links from within the guest. Since this guest
  300. diff --git a/extensions/browser/guest_view/extension_options/extension_options_guest.h b/extensions/browser/guest_view/extension_options/extension_options_guest.h
  301. index 8df60108aeaabcb5fa6634e6a5e87d67d6b30e90..88a52eae92eb9b105c41b8d467cc7cd0c83a355b 100644
  302. --- a/extensions/browser/guest_view/extension_options/extension_options_guest.h
  303. +++ b/extensions/browser/guest_view/extension_options/extension_options_guest.h
  304. @@ -70,8 +70,7 @@ class ExtensionOptionsGuest
  305. content::SiteInstance* source_site_instance,
  306. content::mojom::WindowContainerType window_container_type,
  307. const GURL& opener_url,
  308. - const std::string& frame_name,
  309. - const GURL& target_url) final;
  310. + const content::mojom::CreateNewWindowParams& params) final;
  311. content::WebContents* CreateCustomWebContents(
  312. content::RenderFrameHost* opener,
  313. content::SiteInstance* source_site_instance,
  314. 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
  315. index ccaf9eee37f6f663761839111d2233c6c934b84b..2a5459b31d15c14cd329c96679703a8e93102515 100644
  316. --- a/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc
  317. +++ b/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc
  318. @@ -449,8 +449,7 @@ bool MimeHandlerViewGuest::IsWebContentsCreationOverridden(
  319. content::SiteInstance* source_site_instance,
  320. content::mojom::WindowContainerType window_container_type,
  321. const GURL& opener_url,
  322. - const std::string& frame_name,
  323. - const GURL& target_url) {
  324. + const content::mojom::CreateNewWindowParams& params) {
  325. CHECK(!base::FeatureList::IsEnabled(features::kGuestViewMPArch));
  326. return true;
  327. 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
  328. index f08e2017a9737167e149962e13c0e049777b295a..36c962ef5b81e1331c753d7e5a16096695105fc9 100644
  329. --- a/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h
  330. +++ b/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h
  331. @@ -185,8 +185,7 @@ class MimeHandlerViewGuest
  332. content::SiteInstance* source_site_instance,
  333. content::mojom::WindowContainerType window_container_type,
  334. const GURL& opener_url,
  335. - const std::string& frame_name,
  336. - const GURL& target_url) override;
  337. + const content::mojom::CreateNewWindowParams& params) override;
  338. content::WebContents* CreateCustomWebContents(
  339. content::RenderFrameHost* opener,
  340. content::SiteInstance* source_site_instance,
  341. diff --git a/fuchsia_web/webengine/browser/frame_impl.cc b/fuchsia_web/webengine/browser/frame_impl.cc
  342. index 6668c3ec029dcb0d253492780c1cef70ae7f1ab7..80f9b3a55d7456d2f169c416cea4ac28db841ee3 100644
  343. --- a/fuchsia_web/webengine/browser/frame_impl.cc
  344. +++ b/fuchsia_web/webengine/browser/frame_impl.cc
  345. @@ -575,8 +575,7 @@ bool FrameImpl::IsWebContentsCreationOverridden(
  346. content::SiteInstance* source_site_instance,
  347. content::mojom::WindowContainerType window_container_type,
  348. const GURL& opener_url,
  349. - const std::string& frame_name,
  350. - const GURL& target_url) {
  351. + const content::mojom::CreateNewWindowParams& params) {
  352. // Specify a generous upper bound for unacknowledged popup windows, so that we
  353. // can catch bad client behavior while not interfering with normal operation.
  354. constexpr size_t kMaxPendingWebContentsCount = 10;
  355. diff --git a/fuchsia_web/webengine/browser/frame_impl.h b/fuchsia_web/webengine/browser/frame_impl.h
  356. index 1012a909ef1fcae51c218ae519fe7e0db65ab087..127b1ae940bc9313aecb635e2b01bb6f541d9adb 100644
  357. --- a/fuchsia_web/webengine/browser/frame_impl.h
  358. +++ b/fuchsia_web/webengine/browser/frame_impl.h
  359. @@ -307,8 +307,7 @@ class WEB_ENGINE_EXPORT FrameImpl : public fuchsia::web::Frame,
  360. content::SiteInstance* source_site_instance,
  361. content::mojom::WindowContainerType window_container_type,
  362. const GURL& opener_url,
  363. - const std::string& frame_name,
  364. - const GURL& target_url) override;
  365. + const content::mojom::CreateNewWindowParams& params) override;
  366. void WebContentsCreated(content::WebContents* source_contents,
  367. int opener_render_process_id,
  368. int opener_render_frame_id,
  369. diff --git a/headless/lib/browser/headless_web_contents_impl.cc b/headless/lib/browser/headless_web_contents_impl.cc
  370. index d3623f93527244f6672242eb9b239b827a651035..05ea2df28e5e65937458e4c6cf0a04e16fa2dc80 100644
  371. --- a/headless/lib/browser/headless_web_contents_impl.cc
  372. +++ b/headless/lib/browser/headless_web_contents_impl.cc
  373. @@ -206,8 +206,7 @@ class HeadlessWebContentsImpl::Delegate : public content::WebContentsDelegate {
  374. content::SiteInstance* source_site_instance,
  375. content::mojom::WindowContainerType window_container_type,
  376. const GURL& opener_url,
  377. - const std::string& frame_name,
  378. - const GURL& target_url) override {
  379. + const content::mojom::CreateNewWindowParams& params) override {
  380. return headless_web_contents_->browser_context()
  381. ->options()
  382. ->block_new_web_contents();
  383. diff --git a/ui/views/controls/webview/web_dialog_view.cc b/ui/views/controls/webview/web_dialog_view.cc
  384. index 1a3b4a9408d8dd72ae704b3f48924d56132fe173..2a96dec82efbdbe4fb5fcd714b63b4d9baec2c42 100644
  385. --- a/ui/views/controls/webview/web_dialog_view.cc
  386. +++ b/ui/views/controls/webview/web_dialog_view.cc
  387. @@ -456,8 +456,7 @@ bool WebDialogView::IsWebContentsCreationOverridden(
  388. content::SiteInstance* source_site_instance,
  389. content::mojom::WindowContainerType window_container_type,
  390. const GURL& opener_url,
  391. - const std::string& frame_name,
  392. - const GURL& target_url) {
  393. + const content::mojom::CreateNewWindowParams& params) {
  394. if (delegate_)
  395. return delegate_->HandleShouldOverrideWebContentsCreation();
  396. return false;
  397. diff --git a/ui/views/controls/webview/web_dialog_view.h b/ui/views/controls/webview/web_dialog_view.h
  398. index c96aeb2571961fa2ad033ca38600006e0e657699..2c733734103bf2cc0af9bcfb32d753053a287775 100644
  399. --- a/ui/views/controls/webview/web_dialog_view.h
  400. +++ b/ui/views/controls/webview/web_dialog_view.h
  401. @@ -167,8 +167,7 @@ class WEBVIEW_EXPORT WebDialogView : public ClientView,
  402. content::SiteInstance* source_site_instance,
  403. content::mojom::WindowContainerType window_container_type,
  404. const GURL& opener_url,
  405. - const std::string& frame_name,
  406. - const GURL& target_url) override;
  407. + const content::mojom::CreateNewWindowParams& params) override;
  408. void RequestMediaAccessPermission(
  409. content::WebContents* web_contents,
  410. const content::MediaStreamRequest& request,