Support navigating browsing contexts in the devtools.

Break the association between pipelines and browsing context actors.
Now there is one browsing context actor per actual browsing context,
and individual actors keep track of known pipelines as necessary.
There is also one console/performance/timeline/inspector/etc. actor
per browsing context.

This also centralizes more information in the browsing context actor.
Rather than duplicating state for the active pipeline in actors that
need to use it, each actor now remembers the name of its associated
browsing context actor and obtains that state whenever it's necessary.
This commit is contained in:
Josh Matthews 2020-04-25 12:21:18 -04:00
parent 0540c4a284
commit 7c48644cad
9 changed files with 348 additions and 184 deletions

View file

@ -87,7 +87,11 @@ impl ServiceWorkerManager {
url: scope_things.script_url.clone(),
};
let _ = chan.send(ScriptToDevtoolsControlMsg::NewGlobal(
(scope_things.init.pipeline_id, Some(scope_things.worker_id)),
(
None,
scope_things.init.pipeline_id,
Some(scope_things.worker_id),
),
devtools_sender,
page_info,
));