mirror of
https://github.com/RGBCube/serenity
synced 2025-07-24 23:07:34 +00:00
LibWeb: Define steps to queue a media element task on a HTMLMediaElement
This commit is contained in:
parent
0a45554bf4
commit
9f8da9798a
2 changed files with 16 additions and 0 deletions
|
@ -25,6 +25,14 @@ JS::ThrowCompletionOr<void> HTMLMediaElement::initialize(JS::Realm& realm)
|
||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// https://html.spec.whatwg.org/multipage/media.html#queue-a-media-element-task
|
||||||
|
void HTMLMediaElement::queue_a_media_element_task(JS::SafeFunction<void()> steps)
|
||||||
|
{
|
||||||
|
// To queue a media element task with a media element element and a series of steps steps, queue an element task on the media element's
|
||||||
|
// media element event task source given element and steps.
|
||||||
|
queue_an_element_task(media_element_event_task_source(), move(steps));
|
||||||
|
}
|
||||||
|
|
||||||
// https://html.spec.whatwg.org/multipage/media.html#dom-navigator-canplaytype
|
// https://html.spec.whatwg.org/multipage/media.html#dom-navigator-canplaytype
|
||||||
Bindings::CanPlayTypeResult HTMLMediaElement::can_play_type(DeprecatedString const& type) const
|
Bindings::CanPlayTypeResult HTMLMediaElement::can_play_type(DeprecatedString const& type) const
|
||||||
{
|
{
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
#include <LibWeb/HTML/EventLoop/Task.h>
|
||||||
#include <LibWeb/HTML/HTMLElement.h>
|
#include <LibWeb/HTML/HTMLElement.h>
|
||||||
|
|
||||||
namespace Web::HTML {
|
namespace Web::HTML {
|
||||||
|
@ -16,6 +17,8 @@ class HTMLMediaElement : public HTMLElement {
|
||||||
public:
|
public:
|
||||||
virtual ~HTMLMediaElement() override;
|
virtual ~HTMLMediaElement() override;
|
||||||
|
|
||||||
|
void queue_a_media_element_task(JS::SafeFunction<void()> steps);
|
||||||
|
|
||||||
enum class NetworkState : u16 {
|
enum class NetworkState : u16 {
|
||||||
Empty,
|
Empty,
|
||||||
Idle,
|
Idle,
|
||||||
|
@ -35,6 +38,11 @@ protected:
|
||||||
virtual JS::ThrowCompletionOr<void> initialize(JS::Realm&) override;
|
virtual JS::ThrowCompletionOr<void> initialize(JS::Realm&) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
Task::Source media_element_event_task_source() const { return m_media_element_event_task_source.source; }
|
||||||
|
|
||||||
|
// https://html.spec.whatwg.org/multipage/media.html#media-element-event-task-source
|
||||||
|
UniqueTaskSource m_media_element_event_task_source {};
|
||||||
|
|
||||||
// https://html.spec.whatwg.org/multipage/media.html#dom-media-networkstate
|
// https://html.spec.whatwg.org/multipage/media.html#dom-media-networkstate
|
||||||
NetworkState m_network_state { NetworkState::Empty };
|
NetworkState m_network_state { NetworkState::Empty };
|
||||||
};
|
};
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue