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 25b7fc49f6b5ebfee5a4a823ea18435871071c24..fe1ef8e8cd849023c654b07cc69738ba917a942c 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 9433ce4602414df4999f6ced8b371d4e847819ce..f38afaafcd6710f9cfcef816bf152cd2538d1ab0 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 8309281d321256e118e7086b29692f63be6aa9e6..96c433b8a3a42bf477c6467595b58a50c46499b4 100644
  37. --- a/chrome/browser/ui/ash/ash_web_view_impl.cc
  38. +++ b/chrome/browser/ui/ash/ash_web_view_impl.cc
  39. @@ -111,10 +111,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 f47e14bc5dda6b84d1ae63148d7ee3bfb4797eb7..74838fd3621fd1d271ce8e3b037b1c785dd05651 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 018602d17271ca421188098326ad6090a219ac2a..af6dd489b2d85fbb7d5a53a1059ec80992de7849 100644
  81. --- a/chrome/browser/ui/browser.cc
  82. +++ b/chrome/browser/ui/browser.cc
  83. @@ -1890,12 +1890,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 12a7f47ed24e8ceaa40ee3684b3fb8334481908b..e712e7471b04d1e7f2f70332fbe540134b2e94a9 100644
  99. --- a/chrome/browser/ui/browser.h
  100. +++ b/chrome/browser/ui/browser.h
  101. @@ -908,8 +908,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 4f9040c4fd3127cec4473b36f818a12796710ec0..a4e8d400404b44b7ec3269fcab3ecb8dd4374840 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 8b1ebe377d69d335e648ce32eb0c2de5077c3ede..82e984382b3a484919702ac1e0d7d9c21dee223b 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. @@ -77,8 +77,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 ae7e7189cee9f033d528275fa27e1e5a0d4b4b49..02ee0c513babcac48fe8e0c9e8de483b3e1b2626 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 e5b1bd6bb831f9e1e17520015d09068464ecb098..f8094fb78f30d6f3145b6ee704305281a5b302df 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 292e69378d6e2e4a22e8a10c7d8eea25850a27d4..770c6bf3d792b4c3914ae9ef975739abf6e03136 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. @@ -85,8 +85,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 c5b0d3b23b8da318ae55fcac2515a1187f261469..16ed1f46c9afde0ff25750128b4fcff6da639647 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 038cef59809065f0a775e1a0282bfeb9f31a4551..8baab27c7bc1bd7e0bbc6342388327a33304f713 100644
  216. --- a/content/browser/web_contents/web_contents_impl.cc
  217. +++ b/content/browser/web_contents/web_contents_impl.cc
  218. @@ -4403,8 +4403,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 aa401c609d1062cfd4149bbd7677f66a2554c3b4..40ff83b2dc575463aeac3b20ae74abe8036a548c 100644
  229. --- a/content/public/browser/web_contents_delegate.cc
  230. +++ b/content/public/browser/web_contents_delegate.cc
  231. @@ -138,8 +138,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 b9168a2488f5c4977eba5856882b561e07195c7f..db05eabb345e3759e24f85dd95c81e9af2f7f401 100644
  242. --- a/content/public/browser/web_contents_delegate.h
  243. +++ b/content/public/browser/web_contents_delegate.h
  244. @@ -324,8 +324,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 871d4bf48e3267cb518ebf2d4b2aaebdf9f4b0dc..d1f434fd9e23a172928aed23ca194b0b7bc2d884 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. @@ -213,8 +213,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 2578fa3fe9709cccd116290b4646c4426c41f8c8..32e7f992af1830e619b80f454051044ad80a77c2 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. @@ -62,8 +62,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 02f204564a67e7088fc5c84331df51ae461b0225..7640b0df6e30a58afa9ee41a7283cfe75b4c1e8b 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. @@ -385,8 +385,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 a5066da1a593cfb9033b31dc45beed29bdc58410..563224db005f79b3f5f0d5a604d5be109c2c8e8d 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. @@ -174,8 +174,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 397427c79781e1c19f0915c9ee5db2ec7824e4da..5f0d1284a237c1cf9881e4a9bfa20fd4e053083e 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 74e45b266dcac7f81d330a5cedeff92b0f1ac6f9..4431966af5c501b195a12141a795dbac1e4a7ef7 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 719b23a9b3c03324a1be5cb80f4bc77b88cd8f9d..99039fcc3918c5bdbc00a808870d0dfd1e8d6d2d 100644
  352. --- a/ui/views/controls/webview/web_dialog_view.cc
  353. +++ b/ui/views/controls/webview/web_dialog_view.cc
  354. @@ -426,8 +426,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 6f7713dee8fa997be326384548c995b2e4887ccb..f8b81dcbd00c5f4eb6279f763663a224d19973a5 100644
  366. --- a/ui/views/controls/webview/web_dialog_view.h
  367. +++ b/ui/views/controls/webview/web_dialog_view.h
  368. @@ -158,8 +158,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,