mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-07-28 19:59:17 +00:00
LibDevTools+LibWebView+WebContent: Selectively fetch DOM node properties
When we inspect a DOM node, we currently serialize many properties for that node, including its layout, computed style, used fonts, etc. Now that we aren't piggy-backing on the Inspector interface, we can instead only serialize the specific information required by DevTools.
This commit is contained in:
parent
19529590b9
commit
daca9f5995
Notes:
github-actions[bot]
2025-03-20 08:02:26 +00:00
Author: https://github.com/trflynn89
Commit: daca9f5995
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/4006
Reviewed-by: https://github.com/gmta ✅
18 changed files with 287 additions and 276 deletions
|
@ -9,7 +9,6 @@
|
|||
|
||||
#include <AK/Forward.h>
|
||||
#include <AK/Function.h>
|
||||
#include <AK/JsonArray.h>
|
||||
#include <AK/JsonObject.h>
|
||||
#include <AK/LexicalPath.h>
|
||||
#include <AK/Queue.h>
|
||||
|
@ -26,6 +25,7 @@
|
|||
#include <LibWeb/HTML/SelectItem.h>
|
||||
#include <LibWeb/Page/EventResult.h>
|
||||
#include <LibWeb/Page/InputEvent.h>
|
||||
#include <LibWebView/DOMNodeProperties.h>
|
||||
#include <LibWebView/Forward.h>
|
||||
#include <LibWebView/PageInfo.h>
|
||||
#include <LibWebView/WebContentClient.h>
|
||||
|
@ -36,15 +36,6 @@ class ViewImplementation {
|
|||
public:
|
||||
virtual ~ViewImplementation();
|
||||
|
||||
struct DOMNodeProperties {
|
||||
JsonObject computed_style;
|
||||
JsonObject resolved_style;
|
||||
JsonObject custom_properties;
|
||||
JsonObject node_box_sizing;
|
||||
JsonObject aria_properties_state;
|
||||
JsonArray fonts;
|
||||
};
|
||||
|
||||
static void for_each_view(Function<IterationDecision(ViewImplementation&)>);
|
||||
static Optional<ViewImplementation&> find_view_by_id(u64);
|
||||
|
||||
|
@ -108,7 +99,7 @@ public:
|
|||
void inspect_accessibility_tree();
|
||||
void get_hovered_node_id();
|
||||
|
||||
void inspect_dom_node(Web::UniqueNodeID node_id, Optional<Web::CSS::Selector::PseudoElement::Type> pseudo_element);
|
||||
void inspect_dom_node(Web::UniqueNodeID node_id, DOMNodeProperties::Type, Optional<Web::CSS::Selector::PseudoElement::Type> pseudo_element);
|
||||
void clear_inspected_dom_node();
|
||||
|
||||
void highlight_dom_node(Web::UniqueNodeID node_id, Optional<Web::CSS::Selector::PseudoElement::Type> pseudo_element);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue