mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-07-30 20:59:16 +00:00
LibDevTools: Add a helper to extract a DOM node JSON object more easily
The pattern of: auto tab = get_tab(); auto walker = get_walker(); if (tab && walker) { if (auto node = walker->dom_node(node_id)) { delegate().do_something(tab->description(), node); } } Is getting a bit unergonomic and is often repeated. This patch just adds a helper to WalkerActor to do most of this work, so now we have: if (auto node = WalkerActor::dom_node_for(get_walker(), node_id)) { delegate().do_something(node->tab->description(), node); }
This commit is contained in:
parent
1fc5744aa4
commit
ee88edc750
Notes:
github-actions[bot]
2025-03-08 00:28:09 +00:00
Author: https://github.com/trflynn89
Commit: ee88edc750
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/3850
5 changed files with 22 additions and 19 deletions
|
@ -39,15 +39,11 @@ void HighlighterActor::handle_message(StringView type, JsonObject const& message
|
|||
return;
|
||||
}
|
||||
|
||||
auto tab = InspectorActor::tab_for(m_inspector);
|
||||
auto walker = InspectorActor::walker_for(m_inspector);
|
||||
response.set("value"sv, false);
|
||||
|
||||
if (tab && walker) {
|
||||
if (auto const& dom_node = walker->dom_node(*node); dom_node.has_value()) {
|
||||
devtools().delegate().highlight_dom_node(tab->description(), dom_node->id, dom_node->pseudo_element);
|
||||
response.set("value"sv, true);
|
||||
}
|
||||
if (auto dom_node = WalkerActor::dom_node_for(InspectorActor::walker_for(m_inspector), *node); dom_node.has_value()) {
|
||||
devtools().delegate().highlight_dom_node(dom_node->tab->description(), dom_node->id, dom_node->pseudo_element);
|
||||
response.set("value"sv, true);
|
||||
}
|
||||
|
||||
send_message(move(response));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue