mirror of
https://github.com/servo/servo.git
synced 2025-07-23 07:13:52 +01:00
devtools: Allow highlighting elements from the inspector (#35822)
This change connects the `HighlighterActor` from the devtools with the document, which will draw a blue rectangle over any highlighted dom node. https://github.com/user-attachments/assets/571b2dab-497f-4102-9e55-517cdcc040ba --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [X] `./mach build -d` does not report any errors - [X] `./mach test-tidy` does not report any errors - [X] These changes do not require tests because we don't have devtools tests Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
This commit is contained in:
parent
20f20a07f2
commit
8608e328a1
11 changed files with 305 additions and 4 deletions
|
@ -538,3 +538,21 @@ pub(crate) fn handle_get_css_database(reply: IpcSender<HashMap<String, CssDataba
|
|||
.collect();
|
||||
let _ = reply.send(database);
|
||||
}
|
||||
|
||||
pub(crate) fn handle_highlight_dom_node(
|
||||
documents: &DocumentCollection,
|
||||
id: PipelineId,
|
||||
node_id: Option<String>,
|
||||
) {
|
||||
let node = node_id.and_then(|node_id| {
|
||||
let node = find_node_by_unique_id(documents, id, &node_id);
|
||||
if node.is_none() {
|
||||
log::warn!("Node id {node_id} for pipeline id {id} is not found",);
|
||||
}
|
||||
node
|
||||
});
|
||||
|
||||
if let Some(window) = documents.find_window(id) {
|
||||
window.Document().highlight_dom_node(node.as_deref());
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue