aboutsummaryrefslogtreecommitdiffstats
path: root/components/net/tests/main.rs
diff options
context:
space:
mode:
authorDelan Azabani <dazabani@igalia.com>2025-01-30 19:15:35 +0800
committerGitHub <noreply@github.com>2025-01-30 11:15:35 +0000
commit5e9de2cb61fbfd82b27343bf03439838458b9848 (patch)
tree64574624cda94237bbfc443a29b792229fde0ee2 /components/net/tests/main.rs
parent9eeb602f7afca502753bb8211ab646c952951761 (diff)
downloadservo-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/tests/main.rs')
-rw-r--r--components/net/tests/main.rs17
1 files changed, 8 insertions, 9 deletions
diff --git a/components/net/tests/main.rs b/components/net/tests/main.rs
index a897d5d5bfa..ef18bef2427 100644
--- a/components/net/tests/main.rs
+++ b/components/net/tests/main.rs
@@ -26,9 +26,9 @@ use std::net::TcpListener as StdTcpListener;
use std::path::{Path, PathBuf};
use std::sync::{Arc, LazyLock, Mutex, RwLock, Weak};
-use crossbeam_channel::{unbounded, Sender};
+use crossbeam_channel::{unbounded, Receiver, Sender};
use devtools_traits::DevtoolsControlMsg;
-use embedder_traits::{EmbedderProxy, EmbedderReceiver, EventLoopWaker};
+use embedder_traits::{EmbedderMsg, EmbedderProxy, EventLoopWaker};
use futures::future::ready;
use http_body_util::combinators::BoxBody;
use http_body_util::{BodyExt, Empty, Full};
@@ -96,7 +96,7 @@ fn create_embedder_proxy() -> EmbedderProxy {
}
}
-fn create_embedder_proxy_and_receiver() -> (EmbedderProxy, EmbedderReceiver) {
+fn create_embedder_proxy_and_receiver() -> (EmbedderProxy, Receiver<EmbedderMsg>) {
let (sender, receiver) = unbounded();
let event_loop_waker = || {
struct DummyEventLoopWaker {}
@@ -120,19 +120,18 @@ fn create_embedder_proxy_and_receiver() -> (EmbedderProxy, EmbedderReceiver) {
event_loop_waker: event_loop_waker(),
};
- let embedder_receiver = EmbedderReceiver { receiver };
- (embedder_proxy, embedder_receiver)
+ (embedder_proxy, receiver)
}
fn receive_credential_prompt_msgs(
- mut embedder_receiver: EmbedderReceiver,
+ embedder_receiver: Receiver<EmbedderMsg>,
username: Option<String>,
password: Option<String>,
) -> std::thread::JoinHandle<()> {
std::thread::spawn(move || loop {
- let (_browser_context_id, embedder_msg) = embedder_receiver.recv_embedder_msg();
+ let embedder_msg = embedder_receiver.recv().unwrap();
match embedder_msg {
- embedder_traits::EmbedderMsg::Prompt(prompt_definition, _prompt_origin) => {
+ embedder_traits::EmbedderMsg::Prompt(_, prompt_definition, _prompt_origin) => {
match prompt_definition {
embedder_traits::PromptDefinition::Credentials(ipc_sender) => {
ipc_sender
@@ -143,7 +142,7 @@ fn receive_credential_prompt_msgs(
}
break;
},
- embedder_traits::EmbedderMsg::WebResourceRequested(_, _) => {},
+ embedder_traits::EmbedderMsg::WebResourceRequested(..) => {},
_ => unreachable!(),
}
})