chore_provide_iswebcontentscreationoverridden_with_full_params.patch 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387
  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 3205aa98621b855a8e1dcea19daf5c4bf660dc09..54a994670a6ce84baf74e1939aba88ca8f1648b3 100644
  9. --- a/chrome/browser/media/offscreen_tab.cc
  10. +++ b/chrome/browser/media/offscreen_tab.cc
  11. @@ -285,8 +285,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 155296ba7ee5495be62045bc620bb1cd31d3ceb3..954efde9e7a58f8b556c6ceabb81643f453f7dc3 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/ash_web_view_impl.cc b/chrome/browser/ui/ash/ash_web_view_impl.cc
  36. index 878b5cfde7847990e41e1c5dc2de5c1d39c6c4d7..bc019bfb7540c38204316d46e9f46fe8b90395d4 100644
  37. --- a/chrome/browser/ui/ash/ash_web_view_impl.cc
  38. +++ b/chrome/browser/ui/ash/ash_web_view_impl.cc
  39. @@ -104,10 +104,9 @@ bool AshWebViewImpl::IsWebContentsCreationOverridden(
  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) {
  45. + const content::mojom::CreateNewWindowParams& params) {
  46. if (params_.suppress_navigation) {
  47. - NotifyDidSuppressNavigation(target_url,
  48. + NotifyDidSuppressNavigation(params.target_url,
  49. WindowOpenDisposition::NEW_FOREGROUND_TAB,
  50. /*from_user_gesture=*/true);
  51. return true;
  52. diff --git a/chrome/browser/ui/ash/ash_web_view_impl.h b/chrome/browser/ui/ash/ash_web_view_impl.h
  53. index 5735c7d58e6d94c6061e49c2862eb052b43cd081..00f95272aef6be1e29eaae45f6a1e0f9a850515f 100644
  54. --- a/chrome/browser/ui/ash/ash_web_view_impl.h
  55. +++ b/chrome/browser/ui/ash/ash_web_view_impl.h
  56. @@ -51,8 +51,7 @@ class AshWebViewImpl : public ash::AshWebView,
  57. content::SiteInstance* source_site_instance,
  58. content::mojom::WindowContainerType window_container_type,
  59. const GURL& opener_url,
  60. - const std::string& frame_name,
  61. - const GURL& target_url) override;
  62. + const content::mojom::CreateNewWindowParams& params) override;
  63. content::WebContents* OpenURLFromTab(
  64. content::WebContents* source,
  65. const content::OpenURLParams& params) override;
  66. diff --git a/chrome/browser/ui/ash/keyboard/chrome_keyboard_web_contents.cc b/chrome/browser/ui/ash/keyboard/chrome_keyboard_web_contents.cc
  67. index aaaa61d5c3a1d5ade2fd355e38a3985ef5cc4e7d..b45746ba0f38a381a2ee5ca17f3a1685ab623bf7 100644
  68. --- a/chrome/browser/ui/ash/keyboard/chrome_keyboard_web_contents.cc
  69. +++ b/chrome/browser/ui/ash/keyboard/chrome_keyboard_web_contents.cc
  70. @@ -74,8 +74,7 @@ class ChromeKeyboardContentsDelegate : public content::WebContentsDelegate,
  71. content::SiteInstance* source_site_instance,
  72. content::mojom::WindowContainerType window_container_type,
  73. const GURL& opener_url,
  74. - const std::string& frame_name,
  75. - const GURL& target_url) override {
  76. + const content::mojom::CreateNewWindowParams& params) override {
  77. return true;
  78. }
  79. diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc
  80. index 9125b6d7e3e8771458eaa1675bf0dac8f53f7be2..11fbe3bb7d9ee7b0b1c594c5ae32573308e276a9 100644
  81. --- a/chrome/browser/ui/browser.cc
  82. +++ b/chrome/browser/ui/browser.cc
  83. @@ -1860,12 +1860,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 55d2b674f847b9e1eddc08b32ae46503cadb1df5..0c20fa453f36cd6bec50bb704f07ba0e543f9379 100644
  99. --- a/chrome/browser/ui/browser.h
  100. +++ b/chrome/browser/ui/browser.h
  101. @@ -864,8 +864,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 114e765ae7780922b0db688e381447c2e4b73cd3..c187ddf65418f4f3068593c6d4165d50524e1bfc 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. @@ -202,8 +202,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 0c8f72c7e6cbe38c2e05381e97c58a3a6c991f8e..2afc5dc73d6e23555faf39bf144b43a19a7c1118 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 69d39ab12f7a1895e1ca50914a4f8dc37e10e6cd..eaa9156721de98d19f6110e7b2ab55afa30a8f81 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. @@ -71,8 +71,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 eb2d28e7df5e4430f24799d051ba864b25a4da38..4af0e5792e875d9fcf55293707d2cdcdae5b5007 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. @@ -169,14 +169,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 d42e4b793677188c090593ad6aa612e48058dfbb..25aebc2aaffd1f43274ffc52a20b5979afc5aaec 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. @@ -78,8 +78,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 e055852342aef9ab1b49a9d8a630fae1173862e4..cc3ce00fb16ad560852aae6c3dcab29d920faec1 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. @@ -83,8 +83,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 4e32d708ecf4afd3913d86ec1602ef2dc9a60998..1dd2f50fba1387b5eeb554dd540957d7cc461b0a 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. void AddNewContents(content::WebContents* source,
  213. std::unique_ptr<content::WebContents> new_contents,
  214. diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
  215. index caedd4d4e657bf49e9b0b76fce7bf7adfea1bb7b..a96bc70457ab3bb7339361ab82e5643382fd364f 100644
  216. --- a/content/browser/web_contents/web_contents_impl.cc
  217. +++ b/content/browser/web_contents/web_contents_impl.cc
  218. @@ -4163,8 +4163,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 8019a5c687a87a4257f9f7c0581781095fc20043..d7ccb0f7a7b15fb19640b1b0491750b179a77693 100644
  229. --- a/content/public/browser/web_contents_delegate.cc
  230. +++ b/content/public/browser/web_contents_delegate.cc
  231. @@ -136,8 +136,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 989778079d5dc91127989e43f3ce6b25a9df56d4..71b5a7c30f6546e3172ea31f9b0572c0e6a9f660 100644
  242. --- a/content/public/browser/web_contents_delegate.h
  243. +++ b/content/public/browser/web_contents_delegate.h
  244. @@ -322,8 +322,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/extension_options/extension_options_guest.cc b/extensions/browser/guest_view/extension_options/extension_options_guest.cc
  254. index b6413e636b411a525a27bef0ec1dd68a6f06c2b4..55e458137786a722bd07e203c572438ad41fce2d 100644
  255. --- a/extensions/browser/guest_view/extension_options/extension_options_guest.cc
  256. +++ b/extensions/browser/guest_view/extension_options/extension_options_guest.cc
  257. @@ -207,8 +207,7 @@ bool ExtensionOptionsGuest::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. // This method handles opening links from within the guest. Since this guest
  265. // view is used for displaying embedded extension options, we want any
  266. // external links to be opened in a new tab, not in a new guest view so we
  267. diff --git a/extensions/browser/guest_view/extension_options/extension_options_guest.h b/extensions/browser/guest_view/extension_options/extension_options_guest.h
  268. index 583da1abe9cb405dc02806564b99a4619fc81473..8131afeee37a60ae3b10731bc708efd99114838c 100644
  269. --- a/extensions/browser/guest_view/extension_options/extension_options_guest.h
  270. +++ b/extensions/browser/guest_view/extension_options/extension_options_guest.h
  271. @@ -61,8 +61,7 @@ class ExtensionOptionsGuest
  272. content::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) final;
  277. + const content::mojom::CreateNewWindowParams& params) final;
  278. content::WebContents* CreateCustomWebContents(
  279. content::RenderFrameHost* opener,
  280. content::SiteInstance* source_site_instance,
  281. 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
  282. index 1e1712fdf38ecbd41f998896cca98db14448fa18..d2cd1003c224f49338595dc91fe9cd05a4549f4a 100644
  283. --- a/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc
  284. +++ b/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc
  285. @@ -380,8 +380,7 @@ bool MimeHandlerViewGuest::IsWebContentsCreationOverridden(
  286. content::SiteInstance* source_site_instance,
  287. content::mojom::WindowContainerType window_container_type,
  288. const GURL& opener_url,
  289. - const std::string& frame_name,
  290. - const GURL& target_url) {
  291. + const content::mojom::CreateNewWindowParams& params) {
  292. return true;
  293. }
  294. 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
  295. index 397bee1fc011be7d949f62c50f6acfb05c7251e1..165026320324c3295b7152731d19efd65fd90b07 100644
  296. --- a/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h
  297. +++ b/extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h
  298. @@ -172,8 +172,7 @@ class MimeHandlerViewGuest
  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) override;
  304. + const content::mojom::CreateNewWindowParams& params) override;
  305. content::WebContents* CreateCustomWebContents(
  306. content::RenderFrameHost* opener,
  307. content::SiteInstance* source_site_instance,
  308. diff --git a/fuchsia_web/webengine/browser/frame_impl.cc b/fuchsia_web/webengine/browser/frame_impl.cc
  309. index 109b251204ede578be1664a8935926c7b61d0419..a741be8feed5b7b6d322630bf494c0feaec38268 100644
  310. --- a/fuchsia_web/webengine/browser/frame_impl.cc
  311. +++ b/fuchsia_web/webengine/browser/frame_impl.cc
  312. @@ -567,8 +567,7 @@ bool FrameImpl::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. // Specify a generous upper bound for unacknowledged popup windows, so that we
  320. // can catch bad client behavior while not interfering with normal operation.
  321. constexpr size_t kMaxPendingWebContentsCount = 10;
  322. diff --git a/fuchsia_web/webengine/browser/frame_impl.h b/fuchsia_web/webengine/browser/frame_impl.h
  323. index 0ba76ffa875efe29e576310cfb210e4e86cc3478..e565a89da74fe1b455a03ede05cb302ae81d6e21 100644
  324. --- a/fuchsia_web/webengine/browser/frame_impl.h
  325. +++ b/fuchsia_web/webengine/browser/frame_impl.h
  326. @@ -305,8 +305,7 @@ class WEB_ENGINE_EXPORT FrameImpl : public fuchsia::web::Frame,
  327. content::SiteInstance* source_site_instance,
  328. content::mojom::WindowContainerType window_container_type,
  329. const GURL& opener_url,
  330. - const std::string& frame_name,
  331. - const GURL& target_url) override;
  332. + const content::mojom::CreateNewWindowParams& params) override;
  333. void WebContentsCreated(content::WebContents* source_contents,
  334. int opener_render_process_id,
  335. int opener_render_frame_id,
  336. diff --git a/headless/lib/browser/headless_web_contents_impl.cc b/headless/lib/browser/headless_web_contents_impl.cc
  337. index 60acb83c8d76f71db689f9d188bb6e8f64a74ffb..aa6cee708d1e451b443bc26528b56cc89d0805ac 100644
  338. --- a/headless/lib/browser/headless_web_contents_impl.cc
  339. +++ b/headless/lib/browser/headless_web_contents_impl.cc
  340. @@ -182,8 +182,7 @@ class HeadlessWebContentsImpl::Delegate : public content::WebContentsDelegate {
  341. content::SiteInstance* source_site_instance,
  342. content::mojom::WindowContainerType window_container_type,
  343. const GURL& opener_url,
  344. - const std::string& frame_name,
  345. - const GURL& target_url) override {
  346. + const content::mojom::CreateNewWindowParams& params) override {
  347. return headless_web_contents_->browser_context()
  348. ->options()
  349. ->block_new_web_contents();
  350. diff --git a/ui/views/controls/webview/web_dialog_view.cc b/ui/views/controls/webview/web_dialog_view.cc
  351. index aa3148852ff61323cb9bf20817c6677cffe34ded..82790630067f11da8c4eac785b242d5cd131d3e3 100644
  352. --- a/ui/views/controls/webview/web_dialog_view.cc
  353. +++ b/ui/views/controls/webview/web_dialog_view.cc
  354. @@ -428,8 +428,7 @@ bool WebDialogView::IsWebContentsCreationOverridden(
  355. content::SiteInstance* source_site_instance,
  356. content::mojom::WindowContainerType window_container_type,
  357. const GURL& opener_url,
  358. - const std::string& frame_name,
  359. - const GURL& target_url) {
  360. + const content::mojom::CreateNewWindowParams& params) {
  361. if (delegate_)
  362. return delegate_->HandleShouldOverrideWebContentsCreation();
  363. return false;
  364. diff --git a/ui/views/controls/webview/web_dialog_view.h b/ui/views/controls/webview/web_dialog_view.h
  365. index 63a3eb7b4a73e8d28662ca1175008b7e4225ed36..df1fd8f901507854bc6fbed5ba8b94c15b58b56d 100644
  366. --- a/ui/views/controls/webview/web_dialog_view.h
  367. +++ b/ui/views/controls/webview/web_dialog_view.h
  368. @@ -155,8 +155,7 @@ class WEBVIEW_EXPORT WebDialogView : public ClientView,
  369. content::SiteInstance* source_site_instance,
  370. content::mojom::WindowContainerType window_container_type,
  371. const GURL& opener_url,
  372. - const std::string& frame_name,
  373. - const GURL& target_url) override;
  374. + const content::mojom::CreateNewWindowParams& params) override;
  375. void RequestMediaAccessPermission(
  376. content::WebContents* web_contents,
  377. const content::MediaStreamRequest& request,