diff options
author | Sam Atkins <atkinssj@gmail.com> | 2021-09-01 12:50:47 +0100 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2021-09-02 22:16:41 +0200 |
commit | 724f45c7841e18962184a5b486b62b8f98358d5f (patch) | |
tree | 4beb8d3ff270c95e121fcf28fcb827d47bb86fc9 /Userland/Applications/Browser | |
parent | 73c95bcd5f4031a7049ec5af515208e14d2ee7b8 (diff) | |
download | serenity-724f45c7841e18962184a5b486b62b8f98358d5f.zip |
Browser: Reload the DOM Inspector's JSON data when loading a new page
Of course, there are other reasons the DOM might change, but one thing
at a time. :^)
Diffstat (limited to 'Userland/Applications/Browser')
-rw-r--r-- | Userland/Applications/Browser/InspectorWidget.cpp | 7 | ||||
-rw-r--r-- | Userland/Applications/Browser/InspectorWidget.h | 1 | ||||
-rw-r--r-- | Userland/Applications/Browser/Tab.cpp | 10 |
3 files changed, 17 insertions, 1 deletions
diff --git a/Userland/Applications/Browser/InspectorWidget.cpp b/Userland/Applications/Browser/InspectorWidget.cpp index eaac3ae982..fb7ddd997a 100644 --- a/Userland/Applications/Browser/InspectorWidget.cpp +++ b/Userland/Applications/Browser/InspectorWidget.cpp @@ -117,6 +117,13 @@ void InspectorWidget::set_dom_json(String json) } } +void InspectorWidget::clear_dom_json() +{ + m_dom_json.clear(); + m_dom_tree_view->set_model(nullptr); + clear_style_json(); +} + void InspectorWidget::set_dom_node_properties_json(i32 node_id, String specified_values_json, String computed_values_json) { if (node_id != m_inspected_node_id) { diff --git a/Userland/Applications/Browser/InspectorWidget.h b/Userland/Applications/Browser/InspectorWidget.h index 5c36d27ae5..58e1464ccc 100644 --- a/Userland/Applications/Browser/InspectorWidget.h +++ b/Userland/Applications/Browser/InspectorWidget.h @@ -19,6 +19,7 @@ public: void set_web_view(NonnullRefPtr<Web::OutOfProcessWebView> web_view) { m_web_view = web_view; } void set_dom_json(String); + void clear_dom_json(); void set_dom_node_properties_json(i32 node_id, String specified_values_json, String computed_values_json); void set_inspected_node(i32 node_id); diff --git a/Userland/Applications/Browser/Tab.cpp b/Userland/Applications/Browser/Tab.cpp index cee913d7c4..570d7a82b6 100644 --- a/Userland/Applications/Browser/Tab.cpp +++ b/Userland/Applications/Browser/Tab.cpp @@ -175,6 +175,14 @@ Tab::Tab(BrowserWindow& window) update_actions(); update_bookmark_button(url.to_string()); + + if (m_dom_inspector_widget) + m_dom_inspector_widget->clear_dom_json(); + }; + + hooks().on_load_finish = [this](auto&) { + if (m_dom_inspector_widget) + m_web_content_view->inspect_dom_tree(); }; hooks().on_link_click = [this](auto& url, auto& target, unsigned modifiers) { @@ -478,8 +486,8 @@ void Tab::show_inspector_window(Browser::Tab::InspectorTarget inspector_target) }; m_dom_inspector_widget = window->set_main_widget<InspectorWidget>(); m_dom_inspector_widget->set_web_view(*m_web_content_view); + m_web_content_view->inspect_dom_tree(); } - m_web_content_view->inspect_dom_tree(); if (inspector_target == InspectorTarget::HoveredElement) { Optional<i32> hovered_node = m_web_content_view->get_hovered_node_id(); |