| Index: third_party/WebKit/Source/core/html/HTMLMediaElement.h
|
| diff --git a/third_party/WebKit/Source/core/html/HTMLMediaElement.h b/third_party/WebKit/Source/core/html/HTMLMediaElement.h
|
| index 2a0ec2e9f3a4f7dae2749d73f9c5738d08013f5e..5af06f17469d9ca4ade4ff1dd829dd3ae7f6658b 100644
|
| --- a/third_party/WebKit/Source/core/html/HTMLMediaElement.h
|
| +++ b/third_party/WebKit/Source/core/html/HTMLMediaElement.h
|
| @@ -280,6 +280,8 @@ protected:
|
| virtual void setDisplayMode(DisplayMode mode) { m_displayMode = mode; }
|
|
|
| private:
|
| + class Task;
|
| +
|
| void resetMediaPlayerAndMediaSource();
|
|
|
| bool alwaysCreateUserAgentShadowRoot() const final { return true; }
|
| @@ -331,7 +333,7 @@ private:
|
| void connectedToRemoteDevice() final;
|
| void disconnectedFromRemoteDevice() final;
|
|
|
| - void loadTimerFired(Timer<HTMLMediaElement>*);
|
| + void textTrackLoadTimerFired(Timer<HTMLMediaElement>*);
|
| void progressEventTimerFired(Timer<HTMLMediaElement>*);
|
| void playbackProgressTimerFired(Timer<HTMLMediaElement>*);
|
| void startPlaybackProgressTimer();
|
| @@ -348,13 +350,14 @@ private:
|
| // loading
|
| void invokeLoadAlgorithm();
|
| void invokeResourceSelectionAlgorithm();
|
| + void continueResourceSelectionAlgorithm();
|
| + void enqueueMicrotask();
|
| void loadInternal();
|
| void selectMediaResource();
|
| void loadResource(const KURL&, ContentType&);
|
| void startPlayerLoad();
|
| void setPlayerPreload();
|
| WebMediaPlayer::LoadType loadType() const;
|
| - void scheduleNextSourceChild();
|
| void loadNextSourceChild();
|
| void clearMediaPlayer();
|
| void clearMediaPlayerAndAudioSourceProviderClientWithoutLocking();
|
| @@ -465,7 +468,7 @@ private:
|
| void rejectPlayPromises();
|
| void rejectPlayPromises(ExceptionCode, const String&);
|
|
|
| - UnthrottledTimer<HTMLMediaElement> m_loadTimer;
|
| + UnthrottledTimer<HTMLMediaElement> m_textTrackLoadTimer;
|
| UnthrottledTimer<HTMLMediaElement> m_progressEventTimer;
|
| UnthrottledTimer<HTMLMediaElement> m_playbackProgressTimer;
|
| UnthrottledTimer<HTMLMediaElement> m_audioTracksTimer;
|
| @@ -533,9 +536,6 @@ private:
|
|
|
| double m_fragmentEndTime;
|
|
|
| - typedef unsigned PendingActionFlags;
|
| - PendingActionFlags m_pendingActionFlags;
|
| -
|
| // FIXME: HTMLMediaElement has way too many state bits.
|
| bool m_userGestureRequiredForPlay : 1;
|
| bool m_playing : 1;
|
| @@ -582,6 +582,8 @@ private:
|
| GC_PLUGIN_IGNORE("http://crbug.com/404577")
|
| RawPtrWillBeWeakMember<AudioSourceProviderClient> m_audioSourceNode;
|
|
|
| + WeakPtr<Task> m_pendingTask; // owned by Microtask
|
| +
|
| // AudioClientImpl wraps an AudioSourceProviderClient.
|
| // When the audio format is known, Chromium calls setFormat().
|
| class AudioClientImpl final : public GarbageCollectedFinalized<AudioClientImpl>, public WebAudioSourceProviderClient {
|
|
|