WebContentServer.ipc 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. #include <LibURL/URL.h>
  2. #include <LibIPC/File.h>
  3. #include <LibGfx/Rect.h>
  4. #include <LibWeb/CSS/PreferredColorScheme.h>
  5. #include <LibWeb/CSS/PreferredContrast.h>
  6. #include <LibWeb/CSS/PreferredMotion.h>
  7. #include <LibWeb/CSS/Selector.h>
  8. #include <LibWeb/HTML/ColorPickerUpdateState.h>
  9. #include <LibWeb/HTML/SelectedFile.h>
  10. #include <LibWeb/Page/InputEvent.h>
  11. #include <LibWeb/WebDriver/ExecuteScript.h>
  12. #include <LibWebView/Attribute.h>
  13. endpoint WebContentServer
  14. {
  15. get_window_handle(u64 page_id) => (String handle)
  16. set_window_handle(u64 page_id, String handle) =|
  17. connect_to_webdriver(u64 page_id, ByteString webdriver_ipc_path) =|
  18. update_system_theme(u64 page_id, Core::AnonymousBuffer theme_buffer) =|
  19. update_screen_rects(u64 page_id, Vector<Web::DevicePixelRect> rects, u32 main_screen_index) =|
  20. load_url(u64 page_id, URL::URL url) =|
  21. load_html(u64 page_id, ByteString html) =|
  22. reload(u64 page_id) =|
  23. traverse_the_history_by_delta(u64 page_id, i32 delta) =|
  24. ready_to_paint(u64 page_id) =|
  25. set_viewport_size(u64 page_id, Web::DevicePixelSize size) =|
  26. key_event(u64 page_id, Web::KeyEvent event) =|
  27. mouse_event(u64 page_id, Web::MouseEvent event) =|
  28. debug_request(u64 page_id, ByteString request, ByteString argument) =|
  29. get_source(u64 page_id) =|
  30. inspect_dom_tree(u64 page_id) =|
  31. inspect_dom_node(u64 page_id, i32 node_id, Optional<Web::CSS::Selector::PseudoElement::Type> pseudo_element) =|
  32. inspect_accessibility_tree(u64 page_id) =|
  33. get_hovered_node_id(u64 page_id) =|
  34. js_console_input(u64 page_id, ByteString js_source) =|
  35. js_console_request_messages(u64 page_id, i32 start_index) =|
  36. set_dom_node_text(u64 page_id, i32 node_id, String text) =|
  37. set_dom_node_tag(u64 page_id, i32 node_id, String name) =|
  38. add_dom_node_attributes(u64 page_id, i32 node_id, Vector<WebView::Attribute> attributes) =|
  39. replace_dom_node_attribute(u64 page_id, i32 node_id, String name, Vector<WebView::Attribute> replacement_attributes) =|
  40. create_child_element(u64 page_id, i32 node_id) =|
  41. create_child_text_node(u64 page_id, i32 node_id) =|
  42. clone_dom_node(u64 page_id, i32 node_id) =|
  43. remove_dom_node(u64 page_id, i32 node_id) =|
  44. get_dom_node_html(u64 page_id, i32 node_id) =|
  45. take_document_screenshot(u64 page_id) =|
  46. take_dom_node_screenshot(u64 page_id, i32 node_id) =|
  47. dump_gc_graph(u64 page_id) => (String json)
  48. run_javascript(u64 page_id, ByteString js_source) =|
  49. dump_layout_tree(u64 page_id) => (ByteString dump)
  50. dump_paint_tree(u64 page_id) => (ByteString dump)
  51. dump_text(u64 page_id) => (ByteString dump)
  52. get_selected_text(u64 page_id) => (ByteString selection)
  53. select_all(u64 page_id) =|
  54. paste(u64 page_id, String text) =|
  55. find_in_page(u64 page_id, String query, AK::CaseSensitivity case_sensitivity) =|
  56. find_in_page_next_match(u64 page_id) =|
  57. find_in_page_previous_match(u64 page_id) =|
  58. set_content_filters(u64 page_id, Vector<String> filters) =|
  59. set_autoplay_allowed_on_all_websites(u64 page_id) =|
  60. set_autoplay_allowlist(u64 page_id, Vector<String> allowlist) =|
  61. set_proxy_mappings(u64 page_id, Vector<ByteString> proxies, HashMap<ByteString, size_t> mappings) =|
  62. set_preferred_color_scheme(u64 page_id, Web::CSS::PreferredColorScheme color_scheme) =|
  63. set_preferred_contrast(u64 page_id, Web::CSS::PreferredContrast contrast) =|
  64. set_preferred_motion(u64 page_id, Web::CSS::PreferredMotion motion) =|
  65. set_has_focus(u64 page_id, bool has_focus) =|
  66. set_is_scripting_enabled(u64 page_id, bool is_scripting_enabled) =|
  67. set_device_pixels_per_css_pixel(u64 page_id, float device_pixels_per_css_pixel) =|
  68. set_window_position(u64 page_id, Web::DevicePixelPoint position) =|
  69. set_window_size(u64 page_id, Web::DevicePixelSize size) =|
  70. get_local_storage_entries(u64 page_id) => (OrderedHashMap<String, String> entries)
  71. get_session_storage_entries(u64 page_id) => (OrderedHashMap<String, String> entries)
  72. handle_file_return(u64 page_id, i32 error, Optional<IPC::File> file, i32 request_id) =|
  73. set_system_visibility_state(u64 page_id, bool visible) =|
  74. alert_closed(u64 page_id) =|
  75. confirm_closed(u64 page_id, bool accepted) =|
  76. prompt_closed(u64 page_id, Optional<String> response) =|
  77. color_picker_update(u64 page_id, Optional<Color> picked_color, Web::HTML::ColorPickerUpdateState state) =|
  78. file_picker_closed(u64 page_id, Vector<Web::HTML::SelectedFile> selected_files) =|
  79. select_dropdown_closed(u64 page_id, Optional<u32> selected_item_id) =|
  80. toggle_media_play_state(u64 page_id) =|
  81. toggle_media_mute_state(u64 page_id) =|
  82. toggle_media_loop_state(u64 page_id) =|
  83. toggle_media_controls_state(u64 page_id) =|
  84. toggle_page_mute_state(u64 page_id) =|
  85. set_user_style(u64 page_id, String source) =|
  86. enable_inspector_prototype(u64 page_id) =|
  87. }