mirror of
https://github.com/RGBCube/serenity
synced 2025-07-28 14:47:34 +00:00
Ladybird+LibWeb+WebContent: Generalize video context menus for all media
The data we want to send out of the WebContent process is identical for audio and video elements. Rather than just duplicating all of this for audio, generalize the names used for this IPC for all media elements. This also encapsulates that data into a struct. This makes adding new fields to be sent much easier (such as an upcoming field for muting the element).
This commit is contained in:
parent
e81abbde7b
commit
14ca04de25
17 changed files with 198 additions and 147 deletions
|
@ -785,19 +785,19 @@ void ConnectionFromClient::prompt_closed(Optional<String> const& response)
|
|||
m_page_host->prompt_closed(response);
|
||||
}
|
||||
|
||||
void ConnectionFromClient::toggle_video_play_state()
|
||||
void ConnectionFromClient::toggle_media_play_state()
|
||||
{
|
||||
m_page_host->toggle_video_play_state().release_value_but_fixme_should_propagate_errors();
|
||||
m_page_host->toggle_media_play_state().release_value_but_fixme_should_propagate_errors();
|
||||
}
|
||||
|
||||
void ConnectionFromClient::toggle_video_loop_state()
|
||||
void ConnectionFromClient::toggle_media_loop_state()
|
||||
{
|
||||
m_page_host->toggle_video_loop_state().release_value_but_fixme_should_propagate_errors();
|
||||
m_page_host->toggle_media_loop_state().release_value_but_fixme_should_propagate_errors();
|
||||
}
|
||||
|
||||
void ConnectionFromClient::toggle_video_controls_state()
|
||||
void ConnectionFromClient::toggle_media_controls_state()
|
||||
{
|
||||
m_page_host->toggle_video_controls_state().release_value_but_fixme_should_propagate_errors();
|
||||
m_page_host->toggle_media_controls_state().release_value_but_fixme_should_propagate_errors();
|
||||
}
|
||||
|
||||
void ConnectionFromClient::inspect_accessibility_tree()
|
||||
|
|
|
@ -96,9 +96,9 @@ private:
|
|||
virtual void confirm_closed(bool accepted) override;
|
||||
virtual void prompt_closed(Optional<String> const& response) override;
|
||||
|
||||
virtual void toggle_video_play_state() override;
|
||||
virtual void toggle_video_loop_state() override;
|
||||
virtual void toggle_video_controls_state() override;
|
||||
virtual void toggle_media_play_state() override;
|
||||
virtual void toggle_media_loop_state() override;
|
||||
virtual void toggle_media_controls_state() override;
|
||||
|
||||
virtual Messages::WebContentServer::TakeDocumentScreenshotResponse take_document_screenshot() override;
|
||||
|
||||
|
|
|
@ -334,19 +334,19 @@ void PageHost::prompt_closed(Optional<String> response)
|
|||
page().prompt_closed(move(response));
|
||||
}
|
||||
|
||||
Web::WebIDL::ExceptionOr<void> PageHost::toggle_video_play_state()
|
||||
Web::WebIDL::ExceptionOr<void> PageHost::toggle_media_play_state()
|
||||
{
|
||||
return page().toggle_video_play_state();
|
||||
return page().toggle_media_play_state();
|
||||
}
|
||||
|
||||
Web::WebIDL::ExceptionOr<void> PageHost::toggle_video_loop_state()
|
||||
Web::WebIDL::ExceptionOr<void> PageHost::toggle_media_loop_state()
|
||||
{
|
||||
return page().toggle_video_loop_state();
|
||||
return page().toggle_media_loop_state();
|
||||
}
|
||||
|
||||
Web::WebIDL::ExceptionOr<void> PageHost::toggle_video_controls_state()
|
||||
Web::WebIDL::ExceptionOr<void> PageHost::toggle_media_controls_state()
|
||||
{
|
||||
return page().toggle_video_controls_state();
|
||||
return page().toggle_media_controls_state();
|
||||
}
|
||||
|
||||
void PageHost::page_did_request_accept_dialog()
|
||||
|
@ -370,9 +370,9 @@ void PageHost::page_did_request_image_context_menu(Web::CSSPixelPoint content_po
|
|||
m_client.async_did_request_image_context_menu({ content_position.x().to_int(), content_position.y().to_int() }, url, target, modifiers, bitmap);
|
||||
}
|
||||
|
||||
void PageHost::page_did_request_video_context_menu(Web::CSSPixelPoint content_position, URL const& url, DeprecatedString const& target, unsigned modifiers, bool is_playing, bool has_user_agent_controls, bool is_looping)
|
||||
void PageHost::page_did_request_media_context_menu(Web::CSSPixelPoint content_position, DeprecatedString const& target, unsigned modifiers, Web::Page::MediaContextMenu menu)
|
||||
{
|
||||
m_client.async_did_request_video_context_menu({ content_position.x().to_int(), content_position.y().to_int() }, url, target, modifiers, is_playing, has_user_agent_controls, is_looping);
|
||||
m_client.async_did_request_media_context_menu({ content_position.x().to_int(), content_position.y().to_int() }, target, modifiers, move(menu));
|
||||
}
|
||||
|
||||
Vector<Web::Cookie::Cookie> PageHost::page_did_request_all_cookies(URL const& url)
|
||||
|
|
|
@ -49,9 +49,9 @@ public:
|
|||
void confirm_closed(bool accepted);
|
||||
void prompt_closed(Optional<String> response);
|
||||
|
||||
Web::WebIDL::ExceptionOr<void> toggle_video_play_state();
|
||||
Web::WebIDL::ExceptionOr<void> toggle_video_loop_state();
|
||||
Web::WebIDL::ExceptionOr<void> toggle_video_controls_state();
|
||||
Web::WebIDL::ExceptionOr<void> toggle_media_play_state();
|
||||
Web::WebIDL::ExceptionOr<void> toggle_media_loop_state();
|
||||
Web::WebIDL::ExceptionOr<void> toggle_media_controls_state();
|
||||
|
||||
[[nodiscard]] Gfx::Color background_color() const;
|
||||
|
||||
|
@ -98,7 +98,7 @@ private:
|
|||
virtual void page_did_request_dismiss_dialog() override;
|
||||
virtual void page_did_change_favicon(Gfx::Bitmap const&) override;
|
||||
virtual void page_did_request_image_context_menu(Web::CSSPixelPoint, const URL&, DeprecatedString const& target, unsigned modifiers, Gfx::Bitmap const*) override;
|
||||
virtual void page_did_request_video_context_menu(Web::CSSPixelPoint, const URL&, DeprecatedString const& target, unsigned modifiers, bool is_playing, bool has_user_agent_controls, bool is_looping) override;
|
||||
virtual void page_did_request_media_context_menu(Web::CSSPixelPoint, DeprecatedString const& target, unsigned modifiers, Web::Page::MediaContextMenu) override;
|
||||
virtual Vector<Web::Cookie::Cookie> page_did_request_all_cookies(URL const&) override;
|
||||
virtual Optional<Web::Cookie::Cookie> page_did_request_named_cookie(URL const&, DeprecatedString const&) override;
|
||||
virtual DeprecatedString page_did_request_cookie(const URL&, Web::Cookie::Source) override;
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
#include <LibWeb/Cookie/Cookie.h>
|
||||
#include <LibWeb/Cookie/ParsedCookie.h>
|
||||
#include <LibWeb/HTML/ActivateTab.h>
|
||||
#include <LibWeb/Page/Page.h>
|
||||
|
||||
endpoint WebContentClient
|
||||
{
|
||||
|
@ -30,7 +31,7 @@ endpoint WebContentClient
|
|||
did_request_context_menu(Gfx::IntPoint content_position) =|
|
||||
did_request_link_context_menu(Gfx::IntPoint content_position, URL url, DeprecatedString target, unsigned modifiers) =|
|
||||
did_request_image_context_menu(Gfx::IntPoint content_position, URL url, DeprecatedString target, unsigned modifiers, Gfx::ShareableBitmap bitmap) =|
|
||||
did_request_video_context_menu(Gfx::IntPoint content_position, URL url, DeprecatedString target, unsigned modifiers, bool is_playing, bool has_user_agent_controls, bool is_looping) =|
|
||||
did_request_media_context_menu(Gfx::IntPoint content_position, DeprecatedString target, unsigned modifiers, Web::Page::MediaContextMenu menu) =|
|
||||
did_request_alert(String message) =|
|
||||
did_request_confirm(String message) =|
|
||||
did_request_prompt(String message, String default_) =|
|
||||
|
|
|
@ -78,7 +78,7 @@ endpoint WebContentServer
|
|||
confirm_closed(bool accepted) =|
|
||||
prompt_closed(Optional<String> response) =|
|
||||
|
||||
toggle_video_play_state() =|
|
||||
toggle_video_loop_state() =|
|
||||
toggle_video_controls_state() =|
|
||||
toggle_media_play_state() =|
|
||||
toggle_media_loop_state() =|
|
||||
toggle_media_controls_state() =|
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue