mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 00:37:45 +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
|
@ -151,19 +151,19 @@ void ViewImplementation::js_console_request_messages(i32 start_index)
|
|||
client().async_js_console_request_messages(start_index);
|
||||
}
|
||||
|
||||
void ViewImplementation::toggle_video_play_state()
|
||||
void ViewImplementation::toggle_media_play_state()
|
||||
{
|
||||
client().async_toggle_video_play_state();
|
||||
client().async_toggle_media_play_state();
|
||||
}
|
||||
|
||||
void ViewImplementation::toggle_video_loop_state()
|
||||
void ViewImplementation::toggle_media_loop_state()
|
||||
{
|
||||
client().async_toggle_video_loop_state();
|
||||
client().async_toggle_media_loop_state();
|
||||
}
|
||||
|
||||
void ViewImplementation::toggle_video_controls_state()
|
||||
void ViewImplementation::toggle_media_controls_state()
|
||||
{
|
||||
client().async_toggle_video_controls_state();
|
||||
client().async_toggle_media_controls_state();
|
||||
}
|
||||
|
||||
void ViewImplementation::handle_resize()
|
||||
|
|
|
@ -74,9 +74,9 @@ public:
|
|||
void js_console_input(DeprecatedString const& js_source);
|
||||
void js_console_request_messages(i32 start_index);
|
||||
|
||||
void toggle_video_play_state();
|
||||
void toggle_video_loop_state();
|
||||
void toggle_video_controls_state();
|
||||
void toggle_media_play_state();
|
||||
void toggle_media_loop_state();
|
||||
void toggle_media_controls_state();
|
||||
|
||||
enum class ScreenshotType {
|
||||
Visible,
|
||||
|
@ -90,7 +90,7 @@ public:
|
|||
Function<void(Gfx::IntPoint screen_position)> on_context_menu_request;
|
||||
Function<void(const AK::URL&, Gfx::IntPoint screen_position)> on_link_context_menu_request;
|
||||
Function<void(const AK::URL&, Gfx::IntPoint screen_position, Gfx::ShareableBitmap const&)> on_image_context_menu_request;
|
||||
Function<void(const AK::URL&, Gfx::IntPoint screen_position, bool, bool, bool)> on_video_context_menu_request;
|
||||
Function<void(Gfx::IntPoint screen_position, Web::Page::MediaContextMenu const&)> on_media_context_menu_request;
|
||||
Function<void(const AK::URL&)> on_link_hover;
|
||||
Function<void()> on_link_unhover;
|
||||
Function<void(const AK::URL&, DeprecatedString const& target, unsigned modifiers)> on_link_click;
|
||||
|
|
|
@ -176,10 +176,10 @@ void WebContentClient::did_request_image_context_menu(Gfx::IntPoint content_posi
|
|||
m_view.on_image_context_menu_request(url, m_view.to_widget_position(content_position), bitmap);
|
||||
}
|
||||
|
||||
void WebContentClient::did_request_video_context_menu(Gfx::IntPoint content_position, AK::URL const& url, DeprecatedString const&, unsigned, bool is_playing, bool has_user_agent_controls, bool is_looping)
|
||||
void WebContentClient::did_request_media_context_menu(Gfx::IntPoint content_position, DeprecatedString const&, unsigned, Web::Page::MediaContextMenu const& menu)
|
||||
{
|
||||
if (m_view.on_video_context_menu_request)
|
||||
m_view.on_video_context_menu_request(url, m_view.to_widget_position(content_position), is_playing, has_user_agent_controls, is_looping);
|
||||
if (m_view.on_media_context_menu_request)
|
||||
m_view.on_media_context_menu_request(m_view.to_widget_position(content_position), menu);
|
||||
}
|
||||
|
||||
void WebContentClient::did_get_source(AK::URL const& url, DeprecatedString const& source)
|
||||
|
|
|
@ -52,7 +52,7 @@ private:
|
|||
virtual void did_request_context_menu(Gfx::IntPoint) override;
|
||||
virtual void did_request_link_context_menu(Gfx::IntPoint, AK::URL const&, DeprecatedString const&, unsigned) override;
|
||||
virtual void did_request_image_context_menu(Gfx::IntPoint, AK::URL const&, DeprecatedString const&, unsigned, Gfx::ShareableBitmap const&) override;
|
||||
virtual void did_request_video_context_menu(Gfx::IntPoint, AK::URL const&, DeprecatedString const&, unsigned, bool, bool, bool) override;
|
||||
virtual void did_request_media_context_menu(Gfx::IntPoint, DeprecatedString const&, unsigned, Web::Page::MediaContextMenu const&) override;
|
||||
virtual void did_get_source(AK::URL const&, DeprecatedString const&) override;
|
||||
virtual void did_get_dom_tree(DeprecatedString const&) override;
|
||||
virtual void did_get_dom_node_properties(i32 node_id, DeprecatedString const& computed_style, DeprecatedString const& resolved_style, DeprecatedString const& custom_properties, DeprecatedString const& node_box_sizing) override;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue