2022-11-03 12:51:44 -04:00
|
|
|
#include <LibGfx/Rect.h>
|
2024-11-13 11:24:16 -05:00
|
|
|
#include <LibIPC/File.h>
|
|
|
|
|
#include <LibURL/URL.h>
|
2025-05-01 11:38:31 -04:00
|
|
|
#include <LibWeb/Clipboard/SystemClipboard.h>
|
2021-10-26 17:00:10 +01:00
|
|
|
#include <LibWeb/CSS/PreferredColorScheme.h>
|
2024-06-13 01:03:56 +02:00
|
|
|
#include <LibWeb/CSS/PreferredContrast.h>
|
2024-06-13 16:15:59 +02:00
|
|
|
#include <LibWeb/CSS/PreferredMotion.h>
|
2022-03-04 16:29:05 +00:00
|
|
|
#include <LibWeb/CSS/Selector.h>
|
2024-08-23 11:18:35 +01:00
|
|
|
#include <LibWeb/CSS/StyleSheetIdentifier.h>
|
2023-12-11 06:53:10 +01:00
|
|
|
#include <LibWeb/HTML/ColorPickerUpdateState.h>
|
2024-02-25 13:02:47 -05:00
|
|
|
#include <LibWeb/HTML/SelectedFile.h>
|
2024-11-13 11:24:16 -05:00
|
|
|
#include <LibWeb/HTML/VisibilityState.h>
|
2024-03-05 17:06:32 -05:00
|
|
|
#include <LibWeb/Page/InputEvent.h>
|
2022-11-02 18:02:19 +00:00
|
|
|
#include <LibWeb/WebDriver/ExecuteScript.h>
|
2023-11-19 10:42:11 -05:00
|
|
|
#include <LibWebView/Attribute.h>
|
2025-03-19 15:50:56 -04:00
|
|
|
#include <LibWebView/DOMNodeProperties.h>
|
2024-09-19 10:40:00 -04:00
|
|
|
#include <LibWebView/PageInfo.h>
|
2021-07-02 21:40:44 -07:00
|
|
|
|
2021-04-25 13:19:53 +02:00
|
|
|
endpoint WebContentServer
|
2020-06-17 17:31:42 +02:00
|
|
|
{
|
2025-01-03 21:19:46 +05:00
|
|
|
init_transport(int peer_pid) => (int peer_pid)
|
2024-06-30 19:12:22 -06:00
|
|
|
close_server() =|
|
|
|
|
|
|
2024-02-02 18:00:48 -07:00
|
|
|
get_window_handle(u64 page_id) => (String handle)
|
|
|
|
|
set_window_handle(u64 page_id, String handle) =|
|
2023-03-14 07:05:57 +03:00
|
|
|
|
2024-02-02 18:00:48 -07:00
|
|
|
connect_to_webdriver(u64 page_id, ByteString webdriver_ipc_path) =|
|
2025-03-24 09:27:36 -04:00
|
|
|
connect_to_web_ui(u64 page_id, IPC::File socket_fd) =|
|
2024-06-26 13:44:42 -06:00
|
|
|
connect_to_image_decoder(IPC::File socket_fd) =|
|
2022-11-08 10:03:07 -05:00
|
|
|
|
2024-02-02 18:00:48 -07:00
|
|
|
update_system_theme(u64 page_id, Core::AnonymousBuffer theme_buffer) =|
|
|
|
|
|
update_screen_rects(u64 page_id, Vector<Web::DevicePixelRect> rects, u32 main_screen_index) =|
|
2020-06-17 17:31:42 +02:00
|
|
|
|
2024-03-18 16:22:27 +13:00
|
|
|
load_url(u64 page_id, URL::URL url) =|
|
2024-02-02 18:00:48 -07:00
|
|
|
load_html(u64 page_id, ByteString html) =|
|
2024-04-13 18:51:27 +02:00
|
|
|
reload(u64 page_id) =|
|
2024-04-13 22:33:48 +02:00
|
|
|
traverse_the_history_by_delta(u64 page_id, i32 delta) =|
|
2020-06-17 17:31:42 +02:00
|
|
|
|
2024-02-02 18:00:48 -07:00
|
|
|
ready_to_paint(u64 page_id) =|
|
2021-01-16 23:15:32 +01:00
|
|
|
|
2024-06-03 17:53:55 +03:00
|
|
|
set_viewport_size(u64 page_id, Web::DevicePixelSize size) =|
|
2020-06-17 17:31:42 +02:00
|
|
|
|
2024-03-05 17:06:32 -05:00
|
|
|
key_event(u64 page_id, Web::KeyEvent event) =|
|
|
|
|
|
mouse_event(u64 page_id, Web::MouseEvent event) =|
|
2024-08-17 13:36:28 -04:00
|
|
|
drag_event(u64 page_id, Web::DragEvent event) =|
|
2021-01-31 09:06:25 +01:00
|
|
|
|
2024-02-02 18:00:48 -07:00
|
|
|
debug_request(u64 page_id, ByteString request, ByteString argument) =|
|
|
|
|
|
get_source(u64 page_id) =|
|
|
|
|
|
inspect_dom_tree(u64 page_id) =|
|
2025-03-20 16:56:46 +00:00
|
|
|
inspect_dom_node(u64 page_id, WebView::DOMNodeProperties::Type property_type, Web::UniqueNodeID node_id, Optional<Web::CSS::PseudoElement> pseudo_element) =|
|
2025-03-19 15:50:56 -04:00
|
|
|
clear_inspected_dom_node(u64 page_id) =|
|
2025-03-20 16:56:46 +00:00
|
|
|
highlight_dom_node(u64 page_id, Web::UniqueNodeID node_id, Optional<Web::CSS::PseudoElement> pseudo_element) =|
|
2024-02-02 18:00:48 -07:00
|
|
|
inspect_accessibility_tree(u64 page_id) =|
|
|
|
|
|
get_hovered_node_id(u64 page_id) =|
|
2025-02-23 08:57:40 -05:00
|
|
|
|
|
|
|
|
js_console_input(u64 page_id, String js_source) =|
|
2024-02-02 18:00:48 -07:00
|
|
|
js_console_request_messages(u64 page_id, i32 start_index) =|
|
2025-02-23 08:57:40 -05:00
|
|
|
run_javascript(u64 page_id, String js_source) =|
|
|
|
|
|
|
2024-08-23 11:18:35 +01:00
|
|
|
list_style_sheets(u64 page_id) =|
|
|
|
|
|
request_style_sheet_source(u64 page_id, Web::CSS::StyleSheetIdentifier identifier) =|
|
2021-07-14 08:32:55 -04:00
|
|
|
|
2025-03-06 17:32:43 -05:00
|
|
|
set_listen_for_dom_mutations(u64 page_id, bool listen_for_dom_mutations) =|
|
2025-03-10 18:15:31 -04:00
|
|
|
get_dom_node_inner_html(u64 page_id, Web::UniqueNodeID node_id) =|
|
2025-03-10 17:36:41 -04:00
|
|
|
get_dom_node_outer_html(u64 page_id, Web::UniqueNodeID node_id) =|
|
|
|
|
|
set_dom_node_outer_html(u64 page_id, Web::UniqueNodeID node_id, String html) =|
|
2024-10-20 10:37:44 +02:00
|
|
|
set_dom_node_text(u64 page_id, Web::UniqueNodeID node_id, String text) =|
|
|
|
|
|
set_dom_node_tag(u64 page_id, Web::UniqueNodeID node_id, String name) =|
|
|
|
|
|
add_dom_node_attributes(u64 page_id, Web::UniqueNodeID node_id, Vector<WebView::Attribute> attributes) =|
|
|
|
|
|
replace_dom_node_attribute(u64 page_id, Web::UniqueNodeID node_id, String name, Vector<WebView::Attribute> replacement_attributes) =|
|
|
|
|
|
create_child_element(u64 page_id, Web::UniqueNodeID node_id) =|
|
|
|
|
|
create_child_text_node(u64 page_id, Web::UniqueNodeID node_id) =|
|
2025-03-10 18:01:29 -04:00
|
|
|
insert_dom_node_before(u64 page_id, Web::UniqueNodeID node_id, Web::UniqueNodeID parent_node_id, Optional<Web::UniqueNodeID> sibling_node_id) =|
|
2024-10-20 10:37:44 +02:00
|
|
|
clone_dom_node(u64 page_id, Web::UniqueNodeID node_id) =|
|
|
|
|
|
remove_dom_node(u64 page_id, Web::UniqueNodeID node_id) =|
|
2023-11-19 10:42:11 -05:00
|
|
|
|
2024-02-02 18:00:48 -07:00
|
|
|
take_document_screenshot(u64 page_id) =|
|
2024-10-20 10:37:44 +02:00
|
|
|
take_dom_node_screenshot(u64 page_id, Web::UniqueNodeID node_id) =|
|
2022-10-18 12:40:14 +02:00
|
|
|
|
2024-09-19 10:40:00 -04:00
|
|
|
request_internal_page_info(u64 page_id, WebView::PageInfoType type) =|
|
2023-12-12 13:25:06 +01:00
|
|
|
|
2024-02-02 18:00:48 -07:00
|
|
|
get_selected_text(u64 page_id) => (ByteString selection)
|
|
|
|
|
select_all(u64 page_id) =|
|
2024-03-22 11:56:49 +01:00
|
|
|
paste(u64 page_id, String text) =|
|
2021-09-27 11:39:17 +02:00
|
|
|
|
2024-05-31 16:01:34 -04:00
|
|
|
find_in_page(u64 page_id, String query, AK::CaseSensitivity case_sensitivity) =|
|
2024-05-29 20:09:33 +01:00
|
|
|
find_in_page_next_match(u64 page_id) =|
|
|
|
|
|
find_in_page_previous_match(u64 page_id) =|
|
|
|
|
|
|
2024-02-02 18:00:48 -07:00
|
|
|
set_content_filters(u64 page_id, Vector<String> filters) =|
|
|
|
|
|
set_autoplay_allowed_on_all_websites(u64 page_id) =|
|
|
|
|
|
set_autoplay_allowlist(u64 page_id, Vector<String> allowlist) =|
|
2024-04-06 19:48:37 +01:00
|
|
|
set_proxy_mappings(u64 page_id, Vector<ByteString> proxies, HashMap<ByteString, size_t> mappings) =|
|
2024-02-02 18:00:48 -07:00
|
|
|
set_preferred_color_scheme(u64 page_id, Web::CSS::PreferredColorScheme color_scheme) =|
|
2024-06-13 01:03:56 +02:00
|
|
|
set_preferred_contrast(u64 page_id, Web::CSS::PreferredContrast contrast) =|
|
2024-06-13 16:15:59 +02:00
|
|
|
set_preferred_motion(u64 page_id, Web::CSS::PreferredMotion motion) =|
|
2024-07-23 21:10:24 +01:00
|
|
|
set_preferred_languages(u64 page_id, Vector<String> preferred_languages) =|
|
2024-07-02 20:29:43 +01:00
|
|
|
set_enable_do_not_track(u64 page_id, bool enable) =|
|
2024-02-02 18:00:48 -07:00
|
|
|
set_has_focus(u64 page_id, bool has_focus) =|
|
|
|
|
|
set_is_scripting_enabled(u64 page_id, bool is_scripting_enabled) =|
|
|
|
|
|
set_device_pixels_per_css_pixel(u64 page_id, float device_pixels_per_css_pixel) =|
|
2022-02-06 19:03:13 +01:00
|
|
|
|
2024-02-02 18:00:48 -07:00
|
|
|
set_window_position(u64 page_id, Web::DevicePixelPoint position) =|
|
|
|
|
|
set_window_size(u64 page_id, Web::DevicePixelSize size) =|
|
2024-10-28 23:37:11 -04:00
|
|
|
did_update_window_rect(u64 page_id) =|
|
2022-11-01 14:55:53 -04:00
|
|
|
|
2024-02-02 18:00:48 -07:00
|
|
|
handle_file_return(u64 page_id, i32 error, Optional<IPC::File> file, i32 request_id) =|
|
2022-09-19 20:50:33 +02:00
|
|
|
|
2024-11-13 11:24:16 -05:00
|
|
|
set_system_visibility_state(u64 page_id, Web::HTML::VisibilityState visibility_state) =|
|
2022-11-15 15:49:36 -05:00
|
|
|
|
2024-02-02 18:00:48 -07:00
|
|
|
alert_closed(u64 page_id) =|
|
|
|
|
|
confirm_closed(u64 page_id, bool accepted) =|
|
|
|
|
|
prompt_closed(u64 page_id, Optional<String> response) =|
|
|
|
|
|
color_picker_update(u64 page_id, Optional<Color> picked_color, Web::HTML::ColorPickerUpdateState state) =|
|
2024-02-25 13:02:47 -05:00
|
|
|
file_picker_closed(u64 page_id, Vector<Web::HTML::SelectedFile> selected_files) =|
|
2024-04-03 19:19:08 +02:00
|
|
|
select_dropdown_closed(u64 page_id, Optional<u32> selected_item_id) =|
|
2023-05-15 11:17:58 -04:00
|
|
|
|
2025-05-01 11:38:31 -04:00
|
|
|
retrieved_clipboard_entries(u64 page_id, u64 request_id, Vector<Web::Clipboard::SystemClipboardItem> items) =|
|
|
|
|
|
|
2024-02-02 18:00:48 -07:00
|
|
|
toggle_media_play_state(u64 page_id) =|
|
|
|
|
|
toggle_media_mute_state(u64 page_id) =|
|
|
|
|
|
toggle_media_loop_state(u64 page_id) =|
|
|
|
|
|
toggle_media_controls_state(u64 page_id) =|
|
2023-08-21 15:50:31 +01:00
|
|
|
|
2024-03-30 09:41:15 -04:00
|
|
|
toggle_page_mute_state(u64 page_id) =|
|
|
|
|
|
|
2024-02-02 18:00:48 -07:00
|
|
|
set_user_style(u64 page_id, String source) =|
|
2023-11-23 12:22:23 -05:00
|
|
|
|
2024-08-24 12:15:20 -04:00
|
|
|
system_time_zone_changed() =|
|
2020-06-17 17:31:42 +02:00
|
|
|
}
|