1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 13:57:35 +00:00

LibWeb+WebContent: Add APIs to control video playback state

This allows for the browser process to control the play/pause state,
whether we paint user agent controls on the video, and whether the video
loops when it finishes playing.
This commit is contained in:
Timothy Flynn 2023-05-15 11:17:58 -04:00 committed by Andreas Kling
parent d8f03dda08
commit c82f678fc6
9 changed files with 146 additions and 0 deletions

View file

@ -116,10 +116,15 @@ public:
void accept_dialog();
void did_request_video_context_menu(i32 video_id, CSSPixelPoint, AK::URL const&, DeprecatedString const& target, unsigned modifiers, bool is_playing, bool has_user_agent_controls, bool is_looping);
WebIDL::ExceptionOr<void> toggle_video_play_state();
WebIDL::ExceptionOr<void> toggle_video_loop_state();
WebIDL::ExceptionOr<void> toggle_video_controls_state();
bool pdf_viewer_supported() const { return m_pdf_viewer_supported; }
private:
JS::GCPtr<HTML::HTMLVideoElement> video_context_menu_element();
PageClient& m_client;
JS::Handle<HTML::BrowsingContext> m_top_level_browsing_context;