1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 03:07:36 +00:00

LibWeb+WebContent: Implement asynchronous DOM Node properties call

This lets us "push" a new style-properties list to the DOM Inspector,
for example when JS changes the style of the inspected node.
This commit is contained in:
Sam Atkins 2021-08-27 12:47:30 +01:00 committed by Andreas Kling
parent 1da07734bb
commit 3b07f49d48
7 changed files with 20 additions and 1 deletions

View file

@ -341,6 +341,12 @@ void OutOfProcessWebView::notify_server_did_get_dom_tree(const String& dom_tree)
on_get_dom_tree(dom_tree);
}
void OutOfProcessWebView::notify_server_did_get_dom_node_properties(i32 node_id, String const& specified_style, String const& computed_style)
{
if (on_get_dom_node_properties)
on_get_dom_node_properties(node_id, specified_style, computed_style);
}
void OutOfProcessWebView::notify_server_did_js_console_output(const String& method, const String& line)
{
if (on_js_console_output)

View file

@ -72,6 +72,7 @@ public:
String notify_server_did_request_prompt(Badge<WebContentClient>, const String& message, const String& default_);
void notify_server_did_get_source(const URL& url, const String& source);
void notify_server_did_get_dom_tree(const String& dom_tree);
void notify_server_did_get_dom_node_properties(i32 node_id, String const& specified_style, String const& computed_style);
void notify_server_did_js_console_output(const String& method, const String& line);
void notify_server_did_change_favicon(const Gfx::Bitmap& favicon);
String notify_server_did_request_cookie(Badge<WebContentClient>, const URL& url, Cookie::Source source);

View file

@ -136,11 +136,16 @@ void WebContentClient::did_get_source(URL const& url, String const& source)
m_view.notify_server_did_get_source(url, source);
}
void WebContentClient::did_get_dom_tree(const String& dom_tree)
void WebContentClient::did_get_dom_tree(String const& dom_tree)
{
m_view.notify_server_did_get_dom_tree(dom_tree);
}
void WebContentClient::did_get_dom_node_properties(i32 node_id, String const& specified_style, String const& computed_style)
{
m_view.notify_server_did_get_dom_node_properties(node_id, specified_style, computed_style);
}
void WebContentClient::did_js_console_output(String const& method, String const& line)
{
m_view.notify_server_did_js_console_output(method, line);

View file

@ -50,6 +50,7 @@ private:
virtual void did_request_image_context_menu(Gfx::IntPoint const&, URL const&, String const&, unsigned, Gfx::ShareableBitmap const&) override;
virtual void did_get_source(URL const&, String const&) override;
virtual void did_get_dom_tree(String const&) override;
virtual void did_get_dom_node_properties(i32 node_id, String const& specified_style, String const& computed_style) override;
virtual void did_js_console_output(String const&, String const&) override;
virtual void did_change_favicon(Gfx::ShareableBitmap const&) override;
virtual void did_request_alert(String const&) override;

View file

@ -28,6 +28,7 @@ public:
Function<void(DOM::Document*)> on_set_document;
Function<void(const URL&, const String&)> on_get_source;
Function<void(const String&)> on_get_dom_tree;
Function<void(i32 node_id, String const& specified_style, String const& computed_style)> on_get_dom_node_properties;
Function<void(const String& method, const String& line)> on_js_console_output;
Function<String(const URL& url, Cookie::Source source)> on_get_cookie;
Function<void(const URL& url, const Cookie::ParsedCookie& cookie, Cookie::Source source)> on_set_cookie;