2026-02-01 15:27:19 -03:00
|
|
|
#include <LibCore/SharedVersion.h>
|
2022-11-03 13:51:44 -03:00
|
|
|
#include <LibGfx/Rect.h>
|
2026-02-07 13:13:47 -03:00
|
|
|
#include <LibHTTP/Cookie/Cookie.h>
|
2024-11-13 13:24:16 -03:00
|
|
|
#include <LibIPC/File.h>
|
2026-03-11 16:10:08 -03:00
|
|
|
#include <LibIPC/TransportHandle.h>
|
2024-11-13 13:24:16 -03:00
|
|
|
#include <LibURL/URL.h>
|
2025-05-01 12:38:31 -03:00
|
|
|
#include <LibWeb/Clipboard/SystemClipboard.h>
|
2021-10-26 13:00:10 -03:00
|
|
|
#include <LibWeb/CSS/PreferredColorScheme.h>
|
2024-06-12 20:03:56 -03:00
|
|
|
#include <LibWeb/CSS/PreferredContrast.h>
|
2024-06-13 11:15:59 -03:00
|
|
|
#include <LibWeb/CSS/PreferredMotion.h>
|
2022-03-04 13:29:05 -03:00
|
|
|
#include <LibWeb/CSS/Selector.h>
|
2024-08-23 07:18:35 -03:00
|
|
|
#include <LibWeb/CSS/StyleSheetIdentifier.h>
|
2023-12-11 02:53:10 -03:00
|
|
|
#include <LibWeb/HTML/ColorPickerUpdateState.h>
|
2026-04-10 16:18:00 -03:00
|
|
|
#include <LibWeb/HTML/BroadcastChannelMessage.h>
|
2024-02-25 15:02:47 -03:00
|
|
|
#include <LibWeb/HTML/SelectedFile.h>
|
2024-11-13 13:24:16 -03:00
|
|
|
#include <LibWeb/HTML/VisibilityState.h>
|
2024-03-05 19:06:32 -03:00
|
|
|
#include <LibWeb/Page/InputEvent.h>
|
2026-03-16 21:28:02 -03:00
|
|
|
#include <LibWeb/Page/ViewportIsFullscreen.h>
|
2022-11-02 15:02:19 -03:00
|
|
|
#include <LibWeb/WebDriver/ExecuteScript.h>
|
2023-11-19 12:42:11 -03:00
|
|
|
#include <LibWebView/Attribute.h>
|
2025-03-19 16:50:56 -03:00
|
|
|
#include <LibWebView/DOMNodeProperties.h>
|
2024-09-19 11:40:00 -03:00
|
|
|
#include <LibWebView/PageInfo.h>
|
2026-04-13 11:55:24 -03:00
|
|
|
#include <LibWebView/Settings.h>
|
2021-07-03 01:40:44 -03:00
|
|
|
|
2021-04-25 08:19:53 -03:00
|
|
|
endpoint WebContentServer
|
2020-06-17 12:31:42 -03:00
|
|
|
{
|
2025-01-03 13:19:46 -03:00
|
|
|
init_transport(int peer_pid) => (int peer_pid)
|
2024-06-30 22:12:22 -03:00
|
|
|
close_server() =|
|
|
|
|
|
|
2024-02-02 22:00:48 -03:00
|
|
|
get_window_handle(u64 page_id) => (String handle)
|
|
|
|
|
set_window_handle(u64 page_id, String handle) =|
|
2023-03-14 01:05:57 -03:00
|
|
|
|
2026-03-22 15:59:08 -03:00
|
|
|
connect_to_webdriver(u64 page_id, ByteString webdriver_endpoint) =|
|
2026-03-11 16:10:08 -03:00
|
|
|
connect_to_web_ui(u64 page_id, IPC::TransportHandle handle) =|
|
|
|
|
|
connect_to_request_server(IPC::TransportHandle handle) =|
|
|
|
|
|
connect_to_image_decoder(IPC::TransportHandle handle) =|
|
2026-05-11 16:02:29 -03:00
|
|
|
connect_to_compositor(IPC::TransportHandle handle) =|
|
2026-05-22 11:02:42 -03:00
|
|
|
connect_to_compositor_process(IPC::TransportHandle handle) =|
|
2022-11-08 12:03:07 -03:00
|
|
|
|
2024-02-02 22:00:48 -03: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 12:31:42 -03:00
|
|
|
|
2024-03-18 00:22:27 -03:00
|
|
|
load_url(u64 page_id, URL::URL url) =|
|
2024-02-02 22:00:48 -03:00
|
|
|
load_html(u64 page_id, ByteString html) =|
|
2026-05-20 11:42:08 -03:00
|
|
|
load_html_with_url(u64 page_id, ByteString html, URL::URL url) =|
|
2024-04-13 13:51:27 -03:00
|
|
|
reload(u64 page_id) =|
|
2024-04-13 17:33:48 -03:00
|
|
|
traverse_the_history_by_delta(u64 page_id, i32 delta) =|
|
2020-06-17 12:31:42 -03:00
|
|
|
|
2026-03-16 21:28:02 -03:00
|
|
|
set_viewport(u64 page_id, Web::DevicePixelSize size, double device_pixel_ratio, Web::ViewportIsFullscreen is_fullscreen) =|
|
2020-06-17 12:31:42 -03:00
|
|
|
|
2024-03-05 19:06:32 -03:00
|
|
|
key_event(u64 page_id, Web::KeyEvent event) =|
|
|
|
|
|
mouse_event(u64 page_id, Web::MouseEvent event) =|
|
2024-08-17 14:36:28 -03:00
|
|
|
drag_event(u64 page_id, Web::DragEvent event) =|
|
2025-10-08 18:59:50 -03:00
|
|
|
pinch_event(u64 page_id, Web::PinchEvent event) =|
|
2021-01-31 05:06:25 -03:00
|
|
|
|
2024-02-02 22:00:48 -03:00
|
|
|
debug_request(u64 page_id, ByteString request, ByteString argument) =|
|
|
|
|
|
get_source(u64 page_id) =|
|
|
|
|
|
inspect_dom_tree(u64 page_id) =|
|
2025-03-20 13:56:46 -03: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 16:50:56 -03:00
|
|
|
clear_inspected_dom_node(u64 page_id) =|
|
2025-03-20 13:56:46 -03:00
|
|
|
highlight_dom_node(u64 page_id, Web::UniqueNodeID node_id, Optional<Web::CSS::PseudoElement> pseudo_element) =|
|
2024-02-02 22:00:48 -03:00
|
|
|
inspect_accessibility_tree(u64 page_id) =|
|
|
|
|
|
get_hovered_node_id(u64 page_id) =|
|
2025-02-23 10:57:40 -03:00
|
|
|
|
|
|
|
|
js_console_input(u64 page_id, String js_source) =|
|
|
|
|
|
run_javascript(u64 page_id, String js_source) =|
|
|
|
|
|
|
2024-08-23 07:18:35 -03:00
|
|
|
list_style_sheets(u64 page_id) =|
|
|
|
|
|
request_style_sheet_source(u64 page_id, Web::CSS::StyleSheetIdentifier identifier) =|
|
2021-07-14 09:32:55 -03:00
|
|
|
|
2025-03-06 19:32:43 -03:00
|
|
|
set_listen_for_dom_mutations(u64 page_id, bool listen_for_dom_mutations) =|
|
2026-01-15 10:28:42 -03:00
|
|
|
did_connect_devtools_client(u64 page_id) =|
|
|
|
|
|
did_disconnect_devtools_client(u64 page_id) =|
|
2025-03-10 19:15:31 -03:00
|
|
|
get_dom_node_inner_html(u64 page_id, Web::UniqueNodeID node_id) =|
|
2025-03-10 18:36:41 -03: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 05:37:44 -03: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 19:01:29 -03: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 05:37:44 -03:00
|
|
|
clone_dom_node(u64 page_id, Web::UniqueNodeID node_id) =|
|
|
|
|
|
remove_dom_node(u64 page_id, Web::UniqueNodeID node_id) =|
|
2023-11-19 12:42:11 -03:00
|
|
|
|
2024-02-02 22:00:48 -03:00
|
|
|
take_document_screenshot(u64 page_id) =|
|
2024-10-20 05:37:44 -03:00
|
|
|
take_dom_node_screenshot(u64 page_id, Web::UniqueNodeID node_id) =|
|
2022-10-18 07:40:14 -03:00
|
|
|
|
2024-09-19 11:40:00 -03:00
|
|
|
request_internal_page_info(u64 page_id, WebView::PageInfoType type) =|
|
2023-12-12 09:25:06 -03:00
|
|
|
|
2024-02-02 22:00:48 -03:00
|
|
|
get_selected_text(u64 page_id) => (ByteString selection)
|
2026-05-06 13:00:59 -03:00
|
|
|
cut_selected_text(u64 page_id) => (ByteString selection)
|
2024-02-02 22:00:48 -03:00
|
|
|
select_all(u64 page_id) =|
|
2025-09-18 10:18:54 -03:00
|
|
|
paste(u64 page_id, Utf16String text) =|
|
2021-09-27 06:39:17 -03:00
|
|
|
|
2024-05-31 17:01:34 -03:00
|
|
|
find_in_page(u64 page_id, String query, AK::CaseSensitivity case_sensitivity) =|
|
2024-05-29 16:09:33 -03:00
|
|
|
find_in_page_next_match(u64 page_id) =|
|
|
|
|
|
find_in_page_previous_match(u64 page_id) =|
|
|
|
|
|
|
2026-05-21 12:46:17 -03:00
|
|
|
set_content_blockers(u64 page_id, Core::AnonymousBuffer patterns) =|
|
2024-02-02 22:00:48 -03:00
|
|
|
set_autoplay_allowed_on_all_websites(u64 page_id) =|
|
|
|
|
|
set_autoplay_allowlist(u64 page_id, Vector<String> allowlist) =|
|
2024-04-06 15:48:37 -03:00
|
|
|
set_proxy_mappings(u64 page_id, Vector<ByteString> proxies, HashMap<ByteString, size_t> mappings) =|
|
2024-02-02 22:00:48 -03:00
|
|
|
set_preferred_color_scheme(u64 page_id, Web::CSS::PreferredColorScheme color_scheme) =|
|
2024-06-12 20:03:56 -03:00
|
|
|
set_preferred_contrast(u64 page_id, Web::CSS::PreferredContrast contrast) =|
|
2024-06-13 11:15:59 -03:00
|
|
|
set_preferred_motion(u64 page_id, Web::CSS::PreferredMotion motion) =|
|
2024-07-23 17:10:24 -03:00
|
|
|
set_preferred_languages(u64 page_id, Vector<String> preferred_languages) =|
|
2026-04-13 11:55:24 -03:00
|
|
|
set_browsing_behavior(u64 page_id, WebView::BrowsingBehavior browsing_behavior) =|
|
2025-04-02 10:30:34 -03:00
|
|
|
set_enable_global_privacy_control(u64 page_id, bool enable) =|
|
2024-02-02 22:00:48 -03:00
|
|
|
set_has_focus(u64 page_id, bool has_focus) =|
|
|
|
|
|
set_is_scripting_enabled(u64 page_id, bool is_scripting_enabled) =|
|
2026-01-05 22:05:10 -03:00
|
|
|
set_zoom_level(u64 page_id, double zoom_level) =|
|
2025-07-25 09:10:00 -03:00
|
|
|
set_maximum_frames_per_second(u64 page_id, double maximum_frames_per_second) =|
|
2022-02-06 15:03:13 -03:00
|
|
|
|
2024-02-02 22:00:48 -03:00
|
|
|
set_window_position(u64 page_id, Web::DevicePixelPoint position) =|
|
|
|
|
|
set_window_size(u64 page_id, Web::DevicePixelSize size) =|
|
2024-10-29 00:37:11 -03:00
|
|
|
did_update_window_rect(u64 page_id) =|
|
2025-10-09 15:29:12 -03:00
|
|
|
reset_zoom(u64 page_id) =|
|
2022-11-01 15:55:53 -03:00
|
|
|
|
2024-02-02 22:00:48 -03:00
|
|
|
handle_file_return(u64 page_id, i32 error, Optional<IPC::File> file, i32 request_id) =|
|
2022-09-19 15:50:33 -03:00
|
|
|
|
2024-11-13 13:24:16 -03:00
|
|
|
set_system_visibility_state(u64 page_id, Web::HTML::VisibilityState visibility_state) =|
|
2022-11-15 17:49:36 -03:00
|
|
|
|
2024-02-02 22:00:48 -03: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 15:02:47 -03:00
|
|
|
file_picker_closed(u64 page_id, Vector<Web::HTML::SelectedFile> selected_files) =|
|
2024-04-03 14:19:08 -03:00
|
|
|
select_dropdown_closed(u64 page_id, Optional<u32> selected_item_id) =|
|
2023-05-15 12:17:58 -03:00
|
|
|
|
2025-05-01 12:38:31 -03:00
|
|
|
retrieved_clipboard_entries(u64 page_id, u64 request_id, Vector<Web::Clipboard::SystemClipboardItem> items) =|
|
|
|
|
|
|
2024-02-02 22:00:48 -03:00
|
|
|
toggle_media_play_state(u64 page_id) =|
|
|
|
|
|
toggle_media_mute_state(u64 page_id) =|
|
|
|
|
|
toggle_media_loop_state(u64 page_id) =|
|
2026-02-28 11:36:32 -03:00
|
|
|
toggle_media_fullscreen_state(u64 page_id) =|
|
2024-02-02 22:00:48 -03:00
|
|
|
toggle_media_controls_state(u64 page_id) =|
|
2023-08-21 11:50:31 -03:00
|
|
|
|
2024-03-30 10:41:15 -03:00
|
|
|
toggle_page_mute_state(u64 page_id) =|
|
|
|
|
|
|
2024-02-02 22:00:48 -03:00
|
|
|
set_user_style(u64 page_id, String source) =|
|
2023-11-23 14:22:23 -03:00
|
|
|
|
2024-08-24 13:15:20 -03:00
|
|
|
system_time_zone_changed() =|
|
2026-01-30 10:52:34 -03:00
|
|
|
|
2026-02-01 15:27:19 -03:00
|
|
|
set_document_cookie_version_buffer(u64 page_id, Core::AnonymousBuffer document_cookie_version_buffer) =|
|
|
|
|
|
set_document_cookie_version_index(u64 page_id, i64 document_id, Core::SharedVersionIndex document_index) =|
|
2026-02-07 13:13:47 -03:00
|
|
|
cookies_changed(u64 page_id, Vector<HTTP::Cookie::Cookie> cookies) =|
|
2026-04-10 16:18:00 -03:00
|
|
|
broadcast_channel_message(Web::HTML::BroadcastChannelMessage message) =|
|
2025-11-07 12:35:05 -03:00
|
|
|
|
|
|
|
|
request_close(u64 page_id) =|
|
2026-02-28 11:36:32 -03:00
|
|
|
|
2025-04-01 09:23:04 -03:00
|
|
|
exit_fullscreen(u64 page_id) =|
|
2020-06-17 12:31:42 -03:00
|
|
|
}
|