mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-04-20 19:45:12 +00:00
LibDevTools+LibWebView: Take advantage of IPC encoding improvements
This commit is contained in:
parent
62912b985a
commit
5f76324af5
Notes:
github-actions[bot]
2025-03-09 15:15:42 +00:00
Author: https://github.com/trflynn89 Commit: https://github.com/LadybirdBrowser/ladybird/commit/5f76324af57 Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/3865
9 changed files with 55 additions and 55 deletions
|
@ -131,7 +131,7 @@ void NodeActor::handle_message(StringView type, JsonObject const& message)
|
|||
};
|
||||
|
||||
if (attribute_to_replace.has_value()) {
|
||||
devtools().delegate().replace_dom_node_attribute(dom_node->tab->description(), dom_node->identifier.id, attribute_to_replace.release_value(), move(replacement_attributes), move(on_complete));
|
||||
devtools().delegate().replace_dom_node_attribute(dom_node->tab->description(), dom_node->identifier.id, *attribute_to_replace, move(replacement_attributes), move(on_complete));
|
||||
} else {
|
||||
devtools().delegate().add_dom_node_attributes(dom_node->tab->description(), dom_node->identifier.id, move(replacement_attributes), move(on_complete));
|
||||
}
|
||||
|
@ -151,7 +151,7 @@ void NodeActor::handle_message(StringView type, JsonObject const& message)
|
|||
auto block_token = block_responses();
|
||||
|
||||
devtools().delegate().set_dom_node_text(
|
||||
dom_node->tab->description(), dom_node->identifier.id, value.release_value(),
|
||||
dom_node->tab->description(), dom_node->identifier.id, *value,
|
||||
[weak_self = make_weak_ptr<NodeActor>(), block_token = move(block_token)](ErrorOr<Web::UniqueNodeID> node_id) mutable {
|
||||
if (node_id.is_error()) {
|
||||
dbgln_if(DEVTOOLS_DEBUG, "Unable to edit DOM node: {}", node_id.error());
|
||||
|
|
|
@ -117,7 +117,7 @@ void WalkerActor::handle_message(StringView type, JsonObject const& message)
|
|||
auto block_token = block_responses();
|
||||
|
||||
devtools().delegate().set_dom_node_tag(
|
||||
dom_node->tab->description(), dom_node->identifier.id, tag_name.release_value(),
|
||||
dom_node->tab->description(), dom_node->identifier.id, *tag_name,
|
||||
[weak_self = make_weak_ptr<WalkerActor>(), block_token = move(block_token)](ErrorOr<Web::UniqueNodeID> node_id) mutable {
|
||||
if (node_id.is_error()) {
|
||||
dbgln_if(DEVTOOLS_DEBUG, "Unable to edit DOM node: {}", node_id.error());
|
||||
|
|
|
@ -42,16 +42,16 @@ public:
|
|||
virtual void stop_listening_for_dom_mutations(TabDescription const&) const { }
|
||||
|
||||
using OnDOMNodeEditComplete = Function<void(ErrorOr<Web::UniqueNodeID>)>;
|
||||
virtual void set_dom_node_text(TabDescription const&, Web::UniqueNodeID, String, OnDOMNodeEditComplete) const { }
|
||||
virtual void set_dom_node_tag(TabDescription const&, Web::UniqueNodeID, String, OnDOMNodeEditComplete) const { }
|
||||
virtual void add_dom_node_attributes(TabDescription const&, Web::UniqueNodeID, Vector<WebView::Attribute>, OnDOMNodeEditComplete) const { }
|
||||
virtual void replace_dom_node_attribute(TabDescription const&, Web::UniqueNodeID, String, Vector<WebView::Attribute>, OnDOMNodeEditComplete) const { }
|
||||
virtual void set_dom_node_text(TabDescription const&, Web::UniqueNodeID, String const&, OnDOMNodeEditComplete) const { }
|
||||
virtual void set_dom_node_tag(TabDescription const&, Web::UniqueNodeID, String const&, OnDOMNodeEditComplete) const { }
|
||||
virtual void add_dom_node_attributes(TabDescription const&, Web::UniqueNodeID, ReadonlySpan<WebView::Attribute>, OnDOMNodeEditComplete) const { }
|
||||
virtual void replace_dom_node_attribute(TabDescription const&, Web::UniqueNodeID, String const&, ReadonlySpan<WebView::Attribute>, OnDOMNodeEditComplete) const { }
|
||||
virtual void create_child_element(TabDescription const&, Web::UniqueNodeID, OnDOMNodeEditComplete) const { }
|
||||
virtual void clone_dom_node(TabDescription const&, Web::UniqueNodeID, OnDOMNodeEditComplete) const { }
|
||||
virtual void remove_dom_node(TabDescription const&, Web::UniqueNodeID, OnDOMNodeEditComplete) const { }
|
||||
|
||||
using OnScriptEvaluationComplete = Function<void(ErrorOr<JsonValue>)>;
|
||||
virtual void evaluate_javascript(TabDescription const&, String, OnScriptEvaluationComplete) const { }
|
||||
virtual void evaluate_javascript(TabDescription const&, String const&, OnScriptEvaluationComplete) const { }
|
||||
|
||||
using OnConsoleMessageAvailable = Function<void(i32 message_id)>;
|
||||
using OnReceivedConsoleMessages = Function<void(i32 start_index, Vector<WebView::ConsoleOutput>)>;
|
||||
|
|
|
@ -458,31 +458,31 @@ static void edit_dom_node(DevTools::TabDescription const& description, Applicati
|
|||
edit(*view);
|
||||
}
|
||||
|
||||
void Application::set_dom_node_text(DevTools::TabDescription const& description, Web::UniqueNodeID node_id, String value, OnDOMNodeEditComplete on_complete) const
|
||||
void Application::set_dom_node_text(DevTools::TabDescription const& description, Web::UniqueNodeID node_id, String const& value, OnDOMNodeEditComplete on_complete) const
|
||||
{
|
||||
edit_dom_node(description, move(on_complete), [&](auto& view) {
|
||||
view.set_dom_node_text(node_id, move(value));
|
||||
view.set_dom_node_text(node_id, value);
|
||||
});
|
||||
}
|
||||
|
||||
void Application::set_dom_node_tag(DevTools::TabDescription const& description, Web::UniqueNodeID node_id, String value, OnDOMNodeEditComplete on_complete) const
|
||||
void Application::set_dom_node_tag(DevTools::TabDescription const& description, Web::UniqueNodeID node_id, String const& value, OnDOMNodeEditComplete on_complete) const
|
||||
{
|
||||
edit_dom_node(description, move(on_complete), [&](auto& view) {
|
||||
view.set_dom_node_tag(node_id, move(value));
|
||||
view.set_dom_node_tag(node_id, value);
|
||||
});
|
||||
}
|
||||
|
||||
void Application::add_dom_node_attributes(DevTools::TabDescription const& description, Web::UniqueNodeID node_id, Vector<Attribute> replacement_attributes, OnDOMNodeEditComplete on_complete) const
|
||||
void Application::add_dom_node_attributes(DevTools::TabDescription const& description, Web::UniqueNodeID node_id, ReadonlySpan<Attribute> replacement_attributes, OnDOMNodeEditComplete on_complete) const
|
||||
{
|
||||
edit_dom_node(description, move(on_complete), [&](auto& view) {
|
||||
view.add_dom_node_attributes(node_id, move(replacement_attributes));
|
||||
view.add_dom_node_attributes(node_id, replacement_attributes);
|
||||
});
|
||||
}
|
||||
|
||||
void Application::replace_dom_node_attribute(DevTools::TabDescription const& description, Web::UniqueNodeID node_id, String name, Vector<Attribute> replacement_attributes, OnDOMNodeEditComplete on_complete) const
|
||||
void Application::replace_dom_node_attribute(DevTools::TabDescription const& description, Web::UniqueNodeID node_id, String const& name, ReadonlySpan<Attribute> replacement_attributes, OnDOMNodeEditComplete on_complete) const
|
||||
{
|
||||
edit_dom_node(description, move(on_complete), [&](auto& view) {
|
||||
view.replace_dom_node_attribute(node_id, move(name), move(replacement_attributes));
|
||||
view.replace_dom_node_attribute(node_id, name, replacement_attributes);
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -507,7 +507,7 @@ void Application::remove_dom_node(DevTools::TabDescription const& description, W
|
|||
});
|
||||
}
|
||||
|
||||
void Application::evaluate_javascript(DevTools::TabDescription const& description, String script, OnScriptEvaluationComplete on_complete) const
|
||||
void Application::evaluate_javascript(DevTools::TabDescription const& description, String const& script, OnScriptEvaluationComplete on_complete) const
|
||||
{
|
||||
auto view = ViewImplementation::find_view_by_id(description.id);
|
||||
if (!view.has_value()) {
|
||||
|
@ -520,7 +520,7 @@ void Application::evaluate_javascript(DevTools::TabDescription const& descriptio
|
|||
on_complete(move(result));
|
||||
};
|
||||
|
||||
view->js_console_input(move(script));
|
||||
view->js_console_input(script);
|
||||
}
|
||||
|
||||
void Application::listen_for_console_messages(DevTools::TabDescription const& description, OnConsoleMessageAvailable on_console_message_available, OnReceivedConsoleMessages on_received_console_output) const
|
||||
|
|
|
@ -98,14 +98,14 @@ private:
|
|||
virtual void clear_highlighted_dom_node(DevTools::TabDescription const&) const override;
|
||||
virtual void listen_for_dom_mutations(DevTools::TabDescription const&, OnDOMMutationReceived) const override;
|
||||
virtual void stop_listening_for_dom_mutations(DevTools::TabDescription const&) const override;
|
||||
virtual void set_dom_node_text(DevTools::TabDescription const&, Web::UniqueNodeID, String, OnDOMNodeEditComplete) const override;
|
||||
virtual void set_dom_node_tag(DevTools::TabDescription const&, Web::UniqueNodeID, String, OnDOMNodeEditComplete) const override;
|
||||
virtual void add_dom_node_attributes(DevTools::TabDescription const&, Web::UniqueNodeID, Vector<Attribute>, OnDOMNodeEditComplete) const override;
|
||||
virtual void replace_dom_node_attribute(DevTools::TabDescription const&, Web::UniqueNodeID, String, Vector<Attribute>, OnDOMNodeEditComplete) const override;
|
||||
virtual void set_dom_node_text(DevTools::TabDescription const&, Web::UniqueNodeID, String const&, OnDOMNodeEditComplete) const override;
|
||||
virtual void set_dom_node_tag(DevTools::TabDescription const&, Web::UniqueNodeID, String const&, OnDOMNodeEditComplete) const override;
|
||||
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 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, OnScriptEvaluationComplete) const override;
|
||||
virtual void evaluate_javascript(DevTools::TabDescription const&, String const&, OnScriptEvaluationComplete) const override;
|
||||
virtual void listen_for_console_messages(DevTools::TabDescription const&, OnConsoleMessageAvailable, OnReceivedConsoleMessages) const override;
|
||||
virtual void stop_listening_for_console_messages(DevTools::TabDescription const&) const override;
|
||||
virtual void request_console_messages(DevTools::TabDescription const&, i32) const override;
|
||||
|
|
|
@ -196,7 +196,7 @@ void ViewImplementation::enqueue_input_event(Web::InputEvent event)
|
|||
auto cloned_event = event.clone_without_chrome_data();
|
||||
cloned_event.files = move(event.files);
|
||||
|
||||
client().async_drag_event(m_client_state.page_index, move(cloned_event));
|
||||
client().async_drag_event(m_client_state.page_index, cloned_event);
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -236,9 +236,9 @@ void ViewImplementation::set_preferred_motion(Web::CSS::PreferredMotion motion)
|
|||
client().async_set_preferred_motion(page_id(), motion);
|
||||
}
|
||||
|
||||
void ViewImplementation::set_preferred_languages(Vector<String> preferred_languages)
|
||||
void ViewImplementation::set_preferred_languages(ReadonlySpan<String> preferred_languages)
|
||||
{
|
||||
client().async_set_preferred_languages(page_id(), move(preferred_languages));
|
||||
client().async_set_preferred_languages(page_id(), preferred_languages);
|
||||
}
|
||||
|
||||
void ViewImplementation::set_enable_do_not_track(bool enable)
|
||||
|
@ -315,7 +315,7 @@ void ViewImplementation::get_hovered_node_id()
|
|||
|
||||
void ViewImplementation::inspect_dom_node(Web::UniqueNodeID node_id, Optional<Web::CSS::Selector::PseudoElement::Type> pseudo_element)
|
||||
{
|
||||
client().async_inspect_dom_node(page_id(), node_id, move(pseudo_element));
|
||||
client().async_inspect_dom_node(page_id(), node_id, pseudo_element);
|
||||
}
|
||||
|
||||
void ViewImplementation::clear_inspected_dom_node()
|
||||
|
@ -325,7 +325,7 @@ void ViewImplementation::clear_inspected_dom_node()
|
|||
|
||||
void ViewImplementation::highlight_dom_node(Web::UniqueNodeID node_id, Optional<Web::CSS::Selector::PseudoElement::Type> pseudo_element)
|
||||
{
|
||||
client().async_highlight_dom_node(page_id(), node_id, move(pseudo_element));
|
||||
client().async_highlight_dom_node(page_id(), node_id, pseudo_element);
|
||||
}
|
||||
|
||||
void ViewImplementation::clear_highlighted_dom_node()
|
||||
|
@ -338,24 +338,24 @@ void ViewImplementation::set_listen_for_dom_mutations(bool listen_for_dom_mutati
|
|||
client().async_set_listen_for_dom_mutations(page_id(), listen_for_dom_mutations);
|
||||
}
|
||||
|
||||
void ViewImplementation::set_dom_node_text(Web::UniqueNodeID node_id, String text)
|
||||
void ViewImplementation::set_dom_node_text(Web::UniqueNodeID node_id, String const& text)
|
||||
{
|
||||
client().async_set_dom_node_text(page_id(), node_id, move(text));
|
||||
client().async_set_dom_node_text(page_id(), node_id, text);
|
||||
}
|
||||
|
||||
void ViewImplementation::set_dom_node_tag(Web::UniqueNodeID node_id, String name)
|
||||
void ViewImplementation::set_dom_node_tag(Web::UniqueNodeID node_id, String const& name)
|
||||
{
|
||||
client().async_set_dom_node_tag(page_id(), node_id, move(name));
|
||||
client().async_set_dom_node_tag(page_id(), node_id, name);
|
||||
}
|
||||
|
||||
void ViewImplementation::add_dom_node_attributes(Web::UniqueNodeID node_id, Vector<Attribute> attributes)
|
||||
void ViewImplementation::add_dom_node_attributes(Web::UniqueNodeID node_id, ReadonlySpan<Attribute> attributes)
|
||||
{
|
||||
client().async_add_dom_node_attributes(page_id(), node_id, move(attributes));
|
||||
client().async_add_dom_node_attributes(page_id(), node_id, attributes);
|
||||
}
|
||||
|
||||
void ViewImplementation::replace_dom_node_attribute(Web::UniqueNodeID node_id, String name, Vector<Attribute> replacement_attributes)
|
||||
void ViewImplementation::replace_dom_node_attribute(Web::UniqueNodeID node_id, String const& name, ReadonlySpan<Attribute> replacement_attributes)
|
||||
{
|
||||
client().async_replace_dom_node_attribute(page_id(), node_id, move(name), move(replacement_attributes));
|
||||
client().async_replace_dom_node_attribute(page_id(), node_id, name, replacement_attributes);
|
||||
}
|
||||
|
||||
void ViewImplementation::create_child_element(Web::UniqueNodeID node_id)
|
||||
|
@ -398,14 +398,14 @@ void ViewImplementation::debug_request(ByteString const& request, ByteString con
|
|||
client().async_debug_request(page_id(), request, argument);
|
||||
}
|
||||
|
||||
void ViewImplementation::run_javascript(String js_source)
|
||||
void ViewImplementation::run_javascript(String const& js_source)
|
||||
{
|
||||
client().async_run_javascript(page_id(), move(js_source));
|
||||
client().async_run_javascript(page_id(), js_source);
|
||||
}
|
||||
|
||||
void ViewImplementation::js_console_input(String js_source)
|
||||
void ViewImplementation::js_console_input(String const& js_source)
|
||||
{
|
||||
client().async_js_console_input(page_id(), move(js_source));
|
||||
client().async_js_console_input(page_id(), js_source);
|
||||
}
|
||||
|
||||
void ViewImplementation::js_console_request_messages(i32 start_index)
|
||||
|
@ -423,9 +423,9 @@ void ViewImplementation::confirm_closed(bool accepted)
|
|||
client().async_confirm_closed(page_id(), accepted);
|
||||
}
|
||||
|
||||
void ViewImplementation::prompt_closed(Optional<String> response)
|
||||
void ViewImplementation::prompt_closed(Optional<String> const& response)
|
||||
{
|
||||
client().async_prompt_closed(page_id(), move(response));
|
||||
client().async_prompt_closed(page_id(), response);
|
||||
}
|
||||
|
||||
void ViewImplementation::color_picker_update(Optional<Color> picked_color, Web::HTML::ColorPickerUpdateState state)
|
||||
|
@ -740,9 +740,9 @@ ErrorOr<LexicalPath> ViewImplementation::dump_gc_graph()
|
|||
return path;
|
||||
}
|
||||
|
||||
void ViewImplementation::set_user_style_sheet(String source)
|
||||
void ViewImplementation::set_user_style_sheet(String const& source)
|
||||
{
|
||||
client().async_set_user_style(page_id(), move(source));
|
||||
client().async_set_user_style(page_id(), source);
|
||||
}
|
||||
|
||||
void ViewImplementation::use_native_user_style_sheet()
|
||||
|
|
|
@ -86,7 +86,7 @@ public:
|
|||
void set_preferred_contrast(Web::CSS::PreferredContrast);
|
||||
void set_preferred_motion(Web::CSS::PreferredMotion);
|
||||
|
||||
void set_preferred_languages(Vector<String>);
|
||||
void set_preferred_languages(ReadonlySpan<String>);
|
||||
|
||||
void set_enable_do_not_track(bool);
|
||||
|
||||
|
@ -113,10 +113,10 @@ public:
|
|||
void clear_highlighted_dom_node();
|
||||
|
||||
void set_listen_for_dom_mutations(bool);
|
||||
void set_dom_node_text(Web::UniqueNodeID node_id, String text);
|
||||
void set_dom_node_tag(Web::UniqueNodeID node_id, String name);
|
||||
void add_dom_node_attributes(Web::UniqueNodeID node_id, Vector<Attribute> attributes);
|
||||
void replace_dom_node_attribute(Web::UniqueNodeID node_id, String name, Vector<Attribute> replacement_attributes);
|
||||
void set_dom_node_text(Web::UniqueNodeID node_id, String const& text);
|
||||
void set_dom_node_tag(Web::UniqueNodeID node_id, String const& name);
|
||||
void add_dom_node_attributes(Web::UniqueNodeID node_id, ReadonlySpan<Attribute> attributes);
|
||||
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 clone_dom_node(Web::UniqueNodeID node_id);
|
||||
|
@ -128,13 +128,13 @@ public:
|
|||
|
||||
void debug_request(ByteString const& request, ByteString const& argument = {});
|
||||
|
||||
void run_javascript(String);
|
||||
void js_console_input(String);
|
||||
void run_javascript(String const&);
|
||||
void js_console_input(String const&);
|
||||
void js_console_request_messages(i32 start_index);
|
||||
|
||||
void alert_closed();
|
||||
void confirm_closed(bool accepted);
|
||||
void prompt_closed(Optional<String> response);
|
||||
void prompt_closed(Optional<String> const& response);
|
||||
void color_picker_update(Optional<Color> picked_color, Web::HTML::ColorPickerUpdateState state);
|
||||
void file_picker_closed(Vector<Web::HTML::SelectedFile> selected_files);
|
||||
void select_dropdown_closed(Optional<u32> const& selected_item_id);
|
||||
|
@ -170,7 +170,7 @@ public:
|
|||
|
||||
ErrorOr<LexicalPath> dump_gc_graph();
|
||||
|
||||
void set_user_style_sheet(String source);
|
||||
void set_user_style_sheet(String const& source);
|
||||
// Load Native.css as the User style sheet, which attempts to make WebView content look as close to
|
||||
// native GUI widgets as possible.
|
||||
void use_native_user_style_sheet();
|
||||
|
|
|
@ -994,7 +994,7 @@ void Tab::set_navigator_compatibility_mode(ByteString const& compatibility_mode)
|
|||
debug_request("navigator-compatibility-mode", compatibility_mode);
|
||||
}
|
||||
|
||||
void Tab::set_preferred_languages(Vector<String> const& preferred_languages)
|
||||
void Tab::set_preferred_languages(ReadonlySpan<String> preferred_languages)
|
||||
{
|
||||
m_view->set_preferred_languages(preferred_languages);
|
||||
}
|
||||
|
|
|
@ -94,7 +94,7 @@ public:
|
|||
void set_user_agent_string(ByteString const&);
|
||||
void set_navigator_compatibility_mode(ByteString const&);
|
||||
|
||||
void set_preferred_languages(Vector<String> const& preferred_languages);
|
||||
void set_preferred_languages(ReadonlySpan<String> preferred_languages);
|
||||
|
||||
void set_enable_do_not_track(bool);
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue