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 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 0163968067f2607507493a5e0816aa814de3ba0b..34b94af6a4e3f031a35520fde4173e186ebec0b7 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 00aec167d625e7f0377f5c437a343cdd7a494886..ce7af63b948ec9c6baeec2e68c2f559ddc195749 100644
  81. --- a/chrome/browser/ui/browser.cc
  82. +++ b/chrome/browser/ui/browser.cc
  83. @@ -2087,12 +2087,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 ede585e30530a096f2295a081ed7cfd1ffd032e6..4ecbfcfb80d1732000137646ca23484acb3ca2d2 100644
  99. --- a/chrome/browser/ui/browser.h
  100. +++ b/chrome/browser/ui/browser.h
  101. @@ -965,8 +965,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 520674b0a5061057fa4b769ba5db93da81531d3f..b364e20f7bba27f3f167aa201e26c9160f1128cd 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 e0f1e382cac773b9ad10bac1166eeea29aa57ffc..d54b9d27802a0f2f6fe269a0c8184b846b01df0d 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. @@ -183,14 +183,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 704317b01ca869211b3da5e148b7445a39c10384..06f81b78911d8f3176bf0bede20bd287a8bed7a4 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 9a9189517762d3fe1273dd49a9fbf66be7bce61b..b5015fa8de8dd3cbf8e366326575c7e8268e384c 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 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 362b94678c1add8d3d3baeb6dd1caec0dab87f16..2101c84a1af87ad01825fa0f683647363ae02e18 100644
  216. --- a/content/browser/web_contents/web_contents_impl.cc
  217. +++ b/content/browser/web_contents/web_contents_impl.cc
  218. @@ -4691,8 +4691,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 dfb3c2401074c95c129290ec68149e1aab81d1cb..f843b336189849bf1a1dbe9b79afeb20cd21b5a6 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 4826eea9747c4860d7f5b4b8d478e62cb48a675b..4bd15ce68cbf3c393b2b51883f19835f40a6e285 100644
  242. --- a/content/public/browser/web_contents_delegate.h
  243. +++ b/content/public/browser/web_contents_delegate.h
  244. @@ -345,8 +345,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 c9492327c30d41eab2425c037d23cae5b50d24eb..f7627e2fd5b2e419a3d00f6966535bd5f1fe94f6 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. @@ -221,8 +221,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 2ee922084c82edb7e49ec1c894b517b88f56f54d..9c12c8e9bab2ac59b16cb4a638e099cafc4cb36f 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. @@ -66,8 +66,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 fad08e33e16e4408a295c3c0b755e9e050f4b48f..23fb05dac66b271ad465d548167fbd6b0bf355d9 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. @@ -389,8 +389,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 f0b71aba6dfb4682ce2e5b4c834b2526dcacb75c..d4b1857ca468ff97914d91d0c31298b73577547f 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. @@ -177,8 +177,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 2052ea2d325cf7b6c4c831d92fc493528746d343..04949a2c52feef18f21e10e8f4c5dcea38042b5e 100644
  310. --- a/fuchsia_web/webengine/browser/frame_impl.cc
  311. +++ b/fuchsia_web/webengine/browser/frame_impl.cc
  312. @@ -574,8 +574,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 6d1f959d85f7c96d5d9ac84d4ae7831bec5cc706..682ff6a2f4cbde454c1ab06db43dd1281275dc14 100644
  324. --- a/fuchsia_web/webengine/browser/frame_impl.h
  325. +++ b/fuchsia_web/webengine/browser/frame_impl.h
  326. @@ -306,8 +306,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 0b9e6f37e0a5fcf1c4a1871f6750708abc5d0a1c..eb30d03da8dfa5e1a701f2b871bdfe9879a59e75 100644
  338. --- a/headless/lib/browser/headless_web_contents_impl.cc
  339. +++ b/headless/lib/browser/headless_web_contents_impl.cc
  340. @@ -197,8 +197,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 fde8b6ded980b38cfbeb44acfd5f8c6b05b5fef8..7f6e2e4b4b413014e42aa428477d151b41fc4503 100644
  352. --- a/ui/views/controls/webview/web_dialog_view.cc
  353. +++ b/ui/views/controls/webview/web_dialog_view.cc
  354. @@ -449,8 +449,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 5ffd43b4907b7083c5fe0eb30279c75aac1a1800..2caa4140f2dca8c81e24d3738800fc0bce40287a 100644
  366. --- a/ui/views/controls/webview/web_dialog_view.h
  367. +++ b/ui/views/controls/webview/web_dialog_view.h
  368. @@ -167,8 +167,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,