diff options
Diffstat (limited to 'chromium/third_party/blink/renderer/core/html/media/html_media_element.h')
-rw-r--r-- | chromium/third_party/blink/renderer/core/html/media/html_media_element.h | 29 |
1 files changed, 13 insertions, 16 deletions
diff --git a/chromium/third_party/blink/renderer/core/html/media/html_media_element.h b/chromium/third_party/blink/renderer/core/html/media/html_media_element.h index 26988639146..865fc83725b 100644 --- a/chromium/third_party/blink/renderer/core/html/media/html_media_element.h +++ b/chromium/third_party/blink/renderer/core/html/media/html_media_element.h @@ -38,13 +38,14 @@ #include "third_party/blink/renderer/core/dom/pausable_object.h" #include "third_party/blink/renderer/core/html/html_element.h" #include "third_party/blink/renderer/core/html/media/media_controls.h" +#include "third_party/blink/renderer/core/intersection_observer/intersection_observer.h" #include "third_party/blink/renderer/platform/audio/audio_source_provider.h" #include "third_party/blink/renderer/platform/bindings/exception_state.h" #include "third_party/blink/renderer/platform/bindings/trace_wrapper_member.h" #include "third_party/blink/renderer/platform/network/mime/mime_type_registry.h" +#include "third_party/blink/renderer/platform/scheduler/public/post_cancellable_task.h" #include "third_party/blink/renderer/platform/supplementable.h" #include "third_party/blink/renderer/platform/timer.h" -#include "third_party/blink/renderer/platform/web_task_runner.h" namespace cc { class Layer; @@ -76,7 +77,6 @@ class TextTrack; class TextTrackContainer; class TextTrackList; class TimeRanges; -class URLRegistry; class VideoTrack; class VideoTrackList; class WebAudioSourceProvider; @@ -101,8 +101,6 @@ class CORE_EXPORT HTMLMediaElement enum class RecordMetricsBehavior { kDoNotRecord, kDoRecord }; - static void SetMediaStreamRegistry(URLRegistry*); - static bool IsMediaStreamURL(const String& url); static bool IsHLSURL(const KURL&); // If HTMLMediaElement is using MediaTracks (either placeholder or provided @@ -303,9 +301,8 @@ class CORE_EXPORT HTMLMediaElement enum InvalidURLAction { kDoNothing, kComplain }; bool IsSafeToLoadURL(const KURL&, InvalidURLAction); - // Checks to see if current media data is CORS-same-origin as the - // specified origin. - bool IsMediaDataCORSSameOrigin(const SecurityOrigin*) const; + // Checks to see if current media data is CORS-same-origin. + bool IsMediaDataCorsSameOrigin() const; // Returns this media element is in a cross-origin frame. bool IsInCrossOriginFrame() const; @@ -445,7 +442,8 @@ class CORE_EXPORT HTMLMediaElement void ProgressEventTimerFired(TimerBase*); void PlaybackProgressTimerFired(TimerBase*); void ScheduleTimeupdateEvent(bool periodic_event); - void CheckViewportIntersectionTimerFired(TimerBase*); + void OnViewportIntersectionChanged( + const HeapVector<Member<IntersectionObserverEntry>>& entries); void StartPlaybackProgressTimer(); void StartProgressEventTimer(); void StopPeriodicTimers(); @@ -529,7 +527,7 @@ class CORE_EXPORT HTMLMediaElement void ChangeNetworkStateFromLoadingToIdle(); - WebMediaPlayer::CORSMode CorsMode() const; + WebMediaPlayer::CorsMode CorsMode() const; // Returns the "direction of playback" value as specified in the HTML5 spec. enum DirectionOfPlayback { kBackward, kForward }; @@ -564,9 +562,10 @@ class CORE_EXPORT HTMLMediaElement TaskRunnerTimer<HTMLMediaElement> progress_event_timer_; TaskRunnerTimer<HTMLMediaElement> playback_progress_timer_; TaskRunnerTimer<HTMLMediaElement> audio_tracks_timer_; - TaskRunnerTimer<HTMLMediaElement> check_viewport_intersection_timer_; TaskRunnerTimer<HTMLMediaElement> removed_from_document_timer_; + Member<IntersectionObserver> viewport_intersection_observer_; + Member<TimeRanges> played_time_ranges_; Member<EventQueue> async_event_queue_; @@ -660,6 +659,8 @@ class CORE_EXPORT HTMLMediaElement bool processing_preference_change_ : 1; bool playing_remotely_ : 1; + // The following is always false unless viewport intersection monitoring is + // turned on via ActivateViewportIntersectionMonitoring(). bool mostly_filling_viewport_ : 1; bool was_always_muted_ : 1; @@ -696,7 +697,7 @@ class CORE_EXPORT HTMLMediaElement ~AudioClientImpl() override = default; // WebAudioSourceProviderClient - void SetFormat(size_t number_of_channels, float sample_rate) override; + void SetFormat(uint32_t number_of_channels, float sample_rate) override; void Trace(blink::Visitor*); @@ -719,7 +720,7 @@ class CORE_EXPORT HTMLMediaElement // AudioSourceProvider void SetClient(AudioSourceProviderClient*) override; - void ProvideInput(AudioBus*, size_t frames_to_process) override; + void ProvideInput(AudioBus*, uint32_t frames_to_process) override; void Trace(blink::Visitor*); @@ -750,14 +751,10 @@ class CORE_EXPORT HTMLMediaElement WebRemotePlaybackClient* remote_playback_client_; - IntRect current_intersect_rect_; - Member<MediaControls> media_controls_; Member<HTMLMediaElementControlsList> controls_list_; Member<ElementVisibilityObserver> lazy_load_visibility_observer_; - - static URLRegistry* media_stream_registry_; }; inline bool IsHTMLMediaElement(const HTMLElement& element) { |