WebContentServer.ipc 5.1 KB

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