#include <AK/URL.h>
#include <LibCore/AnonymousBuffer.h>
#include <LibGfx/ShareableBitmap.h>

endpoint WebContentClient
{
    did_start_loading(URL url) =|
    did_finish_loading(URL url) =|
    did_paint(Gfx::IntRect content_rect, i32 bitmap_id) =|
    did_invalidate_content_rect(Gfx::IntRect content_rect) =|
    did_change_selection() =|
    did_request_cursor_change(i32 cursor_type) =|
    did_layout(Gfx::IntSize content_size) =|
    did_change_title(String title) =|
    did_request_scroll(i32 x_delta, i32 y_delta) =|
    did_request_scroll_to(Gfx::IntPoint scroll_position) =|
    did_request_scroll_into_view(Gfx::IntRect rect) =|
    did_enter_tooltip_area(Gfx::IntPoint content_position, String title) =|
    did_leave_tooltip_area() =|
    did_hover_link(URL url) =|
    did_unhover_link() =|
    did_click_link(URL url, String target, unsigned modifiers) =|
    did_middle_click_link(URL url, String target, unsigned modifiers) =|
    did_request_context_menu(Gfx::IntPoint content_position) =|
    did_request_link_context_menu(Gfx::IntPoint content_position, URL url, String target, unsigned modifiers) =|
    did_request_image_context_menu(Gfx::IntPoint content_position, URL url, String target, unsigned modifiers, Gfx::ShareableBitmap bitmap) =|
    did_request_alert(String message) => ()
    did_request_confirm(String message) => (bool result)
    did_request_prompt(String message, String default_) => (String response)
    did_get_source(URL url, String source) =|
    did_get_dom_tree(String dom_tree) =|
    did_get_dom_node_properties(i32 node_id, String specified_style, String computed_style, String custom_properties) =|
    did_change_favicon(Gfx::ShareableBitmap favicon) =|
    did_request_cookie(URL url, u8 source) => (String cookie)
    did_set_cookie(URL url, Web::Cookie::ParsedCookie cookie, u8 source) =|

    did_output_js_console_message(i32 message_index) =|
    did_get_js_console_messages(i32 start_index, Vector<String> message_types, Vector<String> messages) =|

}
