From 5e9de2cb61fbfd82b27343bf03439838458b9848 Mon Sep 17 00:00:00 2001 From: Delan Azabani Date: Thu, 30 Jan 2025 19:15:35 +0800 Subject: Include `WebViewId` into EmbedderMsg variants where possible (#35211) `EmbedderMsg` was previously paired with an implicit `Option`, even though almost all variants were either always `Some` or always `None`, depending on whether there was a `WebView involved. This patch adds the `WebViewId` to as many `EmbedderMsg` variants as possible, so we can call their associated `WebView` delegate methods without needing to check and unwrap the `Option`. In many cases, this required more changes to plumb through the `WebViewId`. Notably, all `Request`s now explicitly need a `WebView` or not, in order to ensure that it is passed when appropriate. Signed-off-by: Delan Azabani Co-authored-by: Martin Robinson --- components/script/fetch.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'components/script/fetch.rs') diff --git a/components/script/fetch.rs b/components/script/fetch.rs index e7236e6319f..da49d12c841 100644 --- a/components/script/fetch.rs +++ b/components/script/fetch.rs @@ -5,6 +5,7 @@ use std::rc::Rc; use std::sync::{Arc, Mutex}; +use base::id::WebViewId; use ipc_channel::ipc; use net_traits::policy_container::RequestPolicyContainer; use net_traits::request::{ @@ -113,7 +114,7 @@ fn request_init_from_request(request: NetTraitsRequest) -> RequestBuilder { referrer: request.referrer.clone(), referrer_policy: request.referrer_policy, pipeline_id: request.pipeline_id, - target_browsing_context_id: request.target_browsing_context_id, + target_webview_id: request.target_webview_id, redirect_mode: request.redirect_mode, integrity_metadata: request.integrity_metadata.clone(), url_list: vec![], @@ -366,13 +367,14 @@ pub(crate) fn load_whole_resource( /// pub(crate) fn create_a_potential_cors_request( + webview_id: Option, url: ServoUrl, destination: Destination, cors_setting: Option, same_origin_fallback: Option, referrer: Referrer, ) -> RequestBuilder { - RequestBuilder::new(url, referrer) + RequestBuilder::new(webview_id, url, referrer) // https://html.spec.whatwg.org/multipage/#create-a-potential-cors-request // Step 1 .mode(match cors_setting { -- cgit v1.2.3