Create source actors from Debugger API notifications

Co-authored-by: atbrakhi <atbrakhi@igalia.com>
Signed-off-by: Delan Azabani <dazabani@igalia.com>
This commit is contained in:
Delan Azabani 2025-07-29 18:45:20 +08:00
parent e2eabd41c9
commit 048d0b0538
13 changed files with 193 additions and 64 deletions

View file

@ -53,6 +53,8 @@ pub struct SourceActor {
pub content: Option<String>,
pub content_type: Option<String>,
pub spidermonkey_id: u32,
}
#[derive(Serialize)]
@ -91,6 +93,7 @@ impl SourceActor {
url: ServoUrl,
content: Option<String>,
content_type: Option<String>,
spidermonkey_id: u32,
) -> SourceActor {
SourceActor {
name,
@ -98,6 +101,7 @@ impl SourceActor {
content,
content_type,
is_black_boxed: false,
spidermonkey_id,
}
}
@ -107,10 +111,17 @@ impl SourceActor {
url: ServoUrl,
content: Option<String>,
content_type: Option<String>,
spidermonkey_id: u32,
) -> &SourceActor {
let source_actor_name = actors.new_name("source");
let source_actor = SourceActor::new(source_actor_name.clone(), url, content, content_type);
let source_actor = SourceActor::new(
source_actor_name.clone(),
url,
content,
content_type,
spidermonkey_id,
);
actors.register(Box::new(source_actor));
actors.register_source_actor(pipeline_id, &source_actor_name);

View file

@ -552,6 +552,7 @@ impl DevtoolsInstance {
source_info.url,
source_content,
source_info.content_type,
source_info.spidermonkey_id,
);
let source_actor_name = source_actor.name.clone();
let source_form = source_actor.source_form();