mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-07-30 12:49:19 +00:00
LibDevTools+LibWebView+WebContent: Implement moving DOM nodes
This allows for click-and-dragging DOM nodes in DevTools to move them.
This commit is contained in:
parent
01c44a5c66
commit
cbefa797d4
Notes:
github-actions[bot]
2025-03-11 13:51:48 +00:00
Author: https://github.com/trflynn89
Commit: cbefa797d4
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/3898
9 changed files with 88 additions and 0 deletions
|
@ -578,6 +578,13 @@ void Application::create_child_element(DevTools::TabDescription const& descripti
|
|||
});
|
||||
}
|
||||
|
||||
void Application::insert_dom_node_before(DevTools::TabDescription const& description, Web::UniqueNodeID node_id, Web::UniqueNodeID parent_node_id, Optional<Web::UniqueNodeID> sibling_node_id, OnDOMNodeEditComplete on_complete) const
|
||||
{
|
||||
edit_dom_node(description, move(on_complete), [&](auto& view) {
|
||||
view.insert_dom_node_before(node_id, parent_node_id, sibling_node_id);
|
||||
});
|
||||
}
|
||||
|
||||
void Application::clone_dom_node(DevTools::TabDescription const& description, Web::UniqueNodeID node_id, OnDOMNodeEditComplete on_complete) const
|
||||
{
|
||||
edit_dom_node(description, move(on_complete), [&](auto& view) {
|
||||
|
|
|
@ -108,6 +108,7 @@ private:
|
|||
virtual void add_dom_node_attributes(DevTools::TabDescription const&, Web::UniqueNodeID, ReadonlySpan<Attribute>, OnDOMNodeEditComplete) const override;
|
||||
virtual void replace_dom_node_attribute(DevTools::TabDescription const&, Web::UniqueNodeID, String const&, ReadonlySpan<Attribute>, OnDOMNodeEditComplete) const override;
|
||||
virtual void create_child_element(DevTools::TabDescription const&, Web::UniqueNodeID, OnDOMNodeEditComplete) const override;
|
||||
virtual void insert_dom_node_before(DevTools::TabDescription const&, Web::UniqueNodeID, Web::UniqueNodeID, Optional<Web::UniqueNodeID>, OnDOMNodeEditComplete) const override;
|
||||
virtual void clone_dom_node(DevTools::TabDescription const&, Web::UniqueNodeID, OnDOMNodeEditComplete) const override;
|
||||
virtual void remove_dom_node(DevTools::TabDescription const&, Web::UniqueNodeID, OnDOMNodeEditComplete) const override;
|
||||
virtual void evaluate_javascript(DevTools::TabDescription const&, String const&, OnScriptEvaluationComplete) const override;
|
||||
|
|
|
@ -399,6 +399,11 @@ void ViewImplementation::create_child_text_node(Web::UniqueNodeID node_id)
|
|||
client().async_create_child_text_node(page_id(), node_id);
|
||||
}
|
||||
|
||||
void ViewImplementation::insert_dom_node_before(Web::UniqueNodeID node_id, Web::UniqueNodeID parent_node_id, Optional<Web::UniqueNodeID> sibling_node_id)
|
||||
{
|
||||
client().async_insert_dom_node_before(page_id(), node_id, parent_node_id, sibling_node_id);
|
||||
}
|
||||
|
||||
void ViewImplementation::clone_dom_node(Web::UniqueNodeID node_id)
|
||||
{
|
||||
client().async_clone_dom_node(page_id(), node_id);
|
||||
|
|
|
@ -124,6 +124,7 @@ public:
|
|||
void replace_dom_node_attribute(Web::UniqueNodeID node_id, String const& name, ReadonlySpan<Attribute> replacement_attributes);
|
||||
void create_child_element(Web::UniqueNodeID node_id);
|
||||
void create_child_text_node(Web::UniqueNodeID node_id);
|
||||
void insert_dom_node_before(Web::UniqueNodeID node_id, Web::UniqueNodeID parent_node_id, Optional<Web::UniqueNodeID> sibling_node_id);
|
||||
void clone_dom_node(Web::UniqueNodeID node_id);
|
||||
void remove_dom_node(Web::UniqueNodeID node_id);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue