summaryrefslogtreecommitdiff
path: root/Ladybird/WebContentView.cpp
diff options
context:
space:
mode:
authorMacDue <macdue@dueutil.tech>2023-05-08 21:15:35 +0100
committerAndreas Kling <kling@serenityos.org>2023-05-09 06:16:58 +0200
commit09773048b6a15d19bb9843a018ce33b832525837 (patch)
tree42138b71e228dfa3a970f557a4155a12fda00279 /Ladybird/WebContentView.cpp
parent15211cd753440c16db4526b94e9c0d8eb85ea351 (diff)
downloadserenity-09773048b6a15d19bb9843a018ce33b832525837.zip
Ladybird: Allow right clicking and inspecting elements
This adds "Inspect Element" (currently the only entry) to the context menu for the page, which will do what you expect (most of the time), and bring up the Inspector with hovered element selected.
Diffstat (limited to 'Ladybird/WebContentView.cpp')
-rw-r--r--Ladybird/WebContentView.cpp16
1 files changed, 13 insertions, 3 deletions
diff --git a/Ladybird/WebContentView.cpp b/Ladybird/WebContentView.cpp
index f371dfa187..20f9781b8b 100644
--- a/Ladybird/WebContentView.cpp
+++ b/Ladybird/WebContentView.cpp
@@ -540,12 +540,22 @@ bool WebContentView::is_inspector_open() const
return m_inspector_widget && m_inspector_widget->isVisible();
}
-void WebContentView::show_inspector()
+void WebContentView::show_inspector(InspectorTarget inspector_target)
{
+ bool inspector_previously_loaded = m_inspector_widget;
ensure_inspector_widget();
+ if (!inspector_previously_loaded || !m_inspector_widget->dom_loaded()) {
+ inspect_dom_tree();
+ inspect_accessibility_tree();
+ }
m_inspector_widget->show();
- inspect_dom_tree();
- inspect_accessibility_tree();
+
+ if (inspector_target == InspectorTarget::HoveredElement) {
+ auto hovered_node = get_hovered_node_id();
+ m_inspector_widget->set_selection({ hovered_node });
+ } else {
+ m_inspector_widget->select_default_node();
+ }
}
void WebContentView::update_zoom()