diff --git a/components/devtools/actors/inspector/node.rs b/components/devtools/actors/inspector/node.rs index df3cdb179ae..5e31c4deb98 100644 --- a/components/devtools/actors/inspector/node.rs +++ b/components/devtools/actors/inspector/node.rs @@ -258,6 +258,30 @@ impl Actor for NodeActor { } } +impl NodeActor { + pub fn register( + registry: &ActorRegistry, + script_id: String, + script_chan: GenericSender, + pipeline: PipelineId, + walker: String, + ) -> String { + let name = registry.new_name::(); + + registry.register_script_actor(script_id, name.clone()); + + let actor = Self { + name: name.clone(), + script_chan, + pipeline, + walker, + style_rules: AtomicRefCell::new(HashMap::new()), + }; + + registry.register(actor); + name + } +} pub trait NodeInfoToProtocol { fn encode( self, @@ -278,18 +302,13 @@ impl NodeInfoToProtocol for NodeInfo { ) -> NodeActorMsg { let get_or_register_node_actor = |id: &str| { if !registry.script_actor_registered(id.to_string()) { - let node_name = registry.new_name::(); - registry.register_script_actor(id.to_string(), node_name.clone()); - - let node_actor = NodeActor { - name: node_name.clone(), - script_chan: script_chan.clone(), + NodeActor::register( + registry, + id.to_string(), + script_chan.clone(), pipeline, - walker: walker.clone(), - style_rules: AtomicRefCell::new(HashMap::new()), - }; - registry.register(node_actor); - node_name + walker.clone(), + ) } else { registry.script_to_actor(id.to_string()) }