diff options
author | Delan Azabani <dazabani@igalia.com> | 2025-01-30 19:15:35 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-01-30 11:15:35 +0000 |
commit | 5e9de2cb61fbfd82b27343bf03439838458b9848 (patch) | |
tree | 64574624cda94237bbfc443a29b792229fde0ee2 /components/net/fetch/methods.rs | |
parent | 9eeb602f7afca502753bb8211ab646c952951761 (diff) | |
download | servo-5e9de2cb61fbfd82b27343bf03439838458b9848.tar.gz servo-5e9de2cb61fbfd82b27343bf03439838458b9848.zip |
Include `WebViewId` into EmbedderMsg variants where possible (#35211)
`EmbedderMsg` was previously paired with an implicit
`Option<WebViewId>`, 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 <dazabani@igalia.com>
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
Diffstat (limited to 'components/net/fetch/methods.rs')
-rw-r--r-- | components/net/fetch/methods.rs | 18 |
1 files changed, 5 insertions, 13 deletions
diff --git a/components/net/fetch/methods.rs b/components/net/fetch/methods.rs index cfaa22fc455..828d524b40f 100644 --- a/components/net/fetch/methods.rs +++ b/components/net/fetch/methods.rs @@ -195,18 +195,6 @@ pub fn should_request_be_blocked_by_csp( .unwrap_or(csp::CheckResult::Allowed) } -pub fn maybe_intercept_request( - request: &mut Request, - context: &FetchContext, - response: &mut Option<Response>, -) { - context - .request_intercepter - .lock() - .unwrap() - .intercept_request(request, response, context); -} - /// [Main fetch](https://fetch.spec.whatwg.org/#concept-main-fetch) pub async fn main_fetch( fetch_params: &mut FetchParams, @@ -314,7 +302,11 @@ pub async fn main_fetch( let current_scheme = current_url.scheme(); // Intercept the request and maybe override the response. - maybe_intercept_request(request, context, &mut response); + context + .request_intercepter + .lock() + .unwrap() + .intercept_request(request, &mut response, context); let mut response = match response { Some(res) => res, |