mirror of
https://github.com/RGBCube/serenity
synced 2025-05-15 11:54:58 +00:00

The IPC layer between chromes and LibWeb now understands that multiple top level traversables can live in each WebContent process. This largely mechanical change adds a billion page_id/page_index arguments to make sure that pages that end up opening new WebViews through mechanisms like window.open() still work properly with those extra windows.
106 lines
5.2 KiB
Text
106 lines
5.2 KiB
Text
#include <AK/URL.h>
|
|
#include <LibIPC/File.h>
|
|
#include <LibCore/AnonymousBuffer.h>
|
|
#include <LibGfx/Rect.h>
|
|
#include <LibGfx/ShareableBitmap.h>
|
|
#include <LibWeb/CSS/PreferredColorScheme.h>
|
|
#include <LibWeb/CSS/Selector.h>
|
|
#include <LibWeb/HTML/ColorPickerUpdateState.h>
|
|
#include <LibWeb/WebDriver/ExecuteScript.h>
|
|
#include <LibWebView/Attribute.h>
|
|
|
|
endpoint WebContentServer
|
|
{
|
|
get_window_handle(u64 page_id) => (String handle)
|
|
set_window_handle(u64 page_id, String handle) =|
|
|
|
|
connect_to_webdriver(u64 page_id, ByteString webdriver_ipc_path) =|
|
|
|
|
update_system_theme(u64 page_id, Core::AnonymousBuffer theme_buffer) =|
|
|
update_system_fonts(u64 page_id, ByteString default_font_query, ByteString fixed_width_font_query, ByteString window_title_font_query) =|
|
|
update_screen_rects(u64 page_id, Vector<Web::DevicePixelRect> rects, u32 main_screen_index) =|
|
|
|
|
load_url(u64 page_id, URL url) =|
|
|
load_html(u64 page_id, ByteString html) =|
|
|
|
|
add_backing_store(u64 page_id, i32 front_bitmap_id, Gfx::ShareableBitmap front_bitmap, i32 back_bitmap_id, Gfx::ShareableBitmap back_bitmap) =|
|
|
ready_to_paint(u64 page_id) =|
|
|
|
|
set_viewport_rect(u64 page_id, Web::DevicePixelRect rect) =|
|
|
|
|
mouse_down(u64 page_id, Web::DevicePixelPoint position, Web::DevicePixelPoint screen_position, u32 button, u32 buttons, u32 modifiers) =|
|
|
mouse_move(u64 page_id, Web::DevicePixelPoint position, Web::DevicePixelPoint screen_position, u32 button, u32 buttons, u32 modifiers) =|
|
|
mouse_up(u64 page_id, Web::DevicePixelPoint position, Web::DevicePixelPoint screen_position, u32 button, u32 buttons, u32 modifiers) =|
|
|
mouse_wheel(u64 page_id, Web::DevicePixelPoint position, Web::DevicePixelPoint screen_position, u32 button, u32 buttons, u32 modifiers, Web::DevicePixels wheel_delta_x, Web::DevicePixels wheel_delta_y) =|
|
|
doubleclick(u64 page_id, Web::DevicePixelPoint position, Web::DevicePixelPoint screen_position, u32 button, u32 buttons, u32 modifiers) =|
|
|
|
|
key_down(u64 page_id, i32 key, u32 modifiers, u32 code_point) =|
|
|
key_up(u64 page_id, i32 key, u32 modifiers, u32 code_point) =|
|
|
|
|
debug_request(u64 page_id, ByteString request, ByteString argument) =|
|
|
get_source(u64 page_id) =|
|
|
inspect_dom_tree(u64 page_id) =|
|
|
inspect_dom_node(u64 page_id, i32 node_id, Optional<Web::CSS::Selector::PseudoElement::Type> pseudo_element) =|
|
|
inspect_accessibility_tree(u64 page_id) =|
|
|
get_hovered_node_id(u64 page_id) =|
|
|
js_console_input(u64 page_id, ByteString js_source) =|
|
|
js_console_request_messages(u64 page_id, i32 start_index) =|
|
|
|
|
set_dom_node_text(u64 page_id, i32 node_id, String text) =|
|
|
set_dom_node_tag(u64 page_id, i32 node_id, String name) =|
|
|
add_dom_node_attributes(u64 page_id, i32 node_id, Vector<WebView::Attribute> attributes) =|
|
|
replace_dom_node_attribute(u64 page_id, i32 node_id, String name, Vector<WebView::Attribute> replacement_attributes) =|
|
|
create_child_element(u64 page_id, i32 node_id) =|
|
|
create_child_text_node(u64 page_id, i32 node_id) =|
|
|
clone_dom_node(u64 page_id, i32 node_id) =|
|
|
remove_dom_node(u64 page_id, i32 node_id) =|
|
|
get_dom_node_html(u64 page_id, i32 node_id) =|
|
|
|
|
take_document_screenshot(u64 page_id) =|
|
|
take_dom_node_screenshot(u64 page_id, i32 node_id) =|
|
|
|
|
dump_gc_graph(u64 page_id) => (String json)
|
|
|
|
run_javascript(u64 page_id, ByteString js_source) =|
|
|
|
|
dump_layout_tree(u64 page_id) => (ByteString dump)
|
|
dump_paint_tree(u64 page_id) => (ByteString dump)
|
|
dump_text(u64 page_id) => (ByteString dump)
|
|
|
|
get_selected_text(u64 page_id) => (ByteString selection)
|
|
select_all(u64 page_id) =|
|
|
|
|
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) =|
|
|
set_proxy_mappings(u64 page_id, Vector<ByteString> proxies, HashMap<ByteString,size_t> mappings) =|
|
|
set_preferred_color_scheme(u64 page_id, Web::CSS::PreferredColorScheme color_scheme) =|
|
|
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) =|
|
|
|
|
set_window_position(u64 page_id, Web::DevicePixelPoint position) =|
|
|
set_window_size(u64 page_id, Web::DevicePixelSize size) =|
|
|
|
|
get_local_storage_entries(u64 page_id) => (OrderedHashMap<String,String> entries)
|
|
get_session_storage_entries(u64 page_id) => (OrderedHashMap<String,String> entries)
|
|
|
|
handle_file_return(u64 page_id, i32 error, Optional<IPC::File> file, i32 request_id) =|
|
|
|
|
set_system_visibility_state(u64 page_id, bool visible) =|
|
|
|
|
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) =|
|
|
select_dropdown_closed(u64 page_id, Optional<String> value) =|
|
|
|
|
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) =|
|
|
|
|
set_user_style(u64 page_id, String source) =|
|
|
|
|
enable_inspector_prototype(u64 page_id) =|
|
|
}
|