Index: Source/core/html/HTMLMediaElement.h |
diff --git a/Source/core/html/HTMLMediaElement.h b/Source/core/html/HTMLMediaElement.h |
index e1706610fe53f2519267eaa2daa3379d166dd87a..d472f3e78b63f9496cd96d504d788e42b073956f 100644 |
--- a/Source/core/html/HTMLMediaElement.h |
+++ b/Source/core/html/HTMLMediaElement.h |
@@ -59,6 +59,7 @@ class HTMLTrackElement; |
class KURL; |
class MediaController; |
class MediaControls; |
+class MediaProvider; |
class MediaError; |
class HTMLMediaSource; |
class TextTrackList; |
@@ -111,6 +112,8 @@ public: |
// network state |
void setSrc(const AtomicString&); |
+ void setSrcObject(RawPtr<MediaProvider>); |
+ MediaProvider* srcObject() const; |
const KURL& currentSrc() const { return m_currentSrc; } |
enum NetworkState { NETWORK_EMPTY, NETWORK_IDLE, NETWORK_LOADING, NETWORK_NO_SOURCE }; |
@@ -389,6 +392,8 @@ private: |
void setPlayerPreload(); |
blink::WebMediaPlayer::LoadType loadType() const; |
void scheduleNextSourceChild(); |
+ void loadSourceFromObject(); |
+ void loadSourceFromAttribute(); |
void loadNextSourceChild(); |
void userCancelledLoad(); |
void clearMediaPlayer(int flags); |
@@ -506,8 +511,9 @@ private: |
double m_defaultPlaybackStartPosition; |
// Loading state. |
- enum LoadState { WaitingForSource, LoadingFromSrcAttr, LoadingFromSourceElement }; |
+ enum LoadState { WaitingForSource, LoadingFromSrcObject, LoadingFromSrcAttr, LoadingFromSourceElement }; |
LoadState m_loadState; |
+ RawPtrWillBeMember<MediaProvider> m_srcObject; |
RefPtrWillBeMember<HTMLSourceElement> m_currentSourceNode; |
RefPtrWillBeMember<Node> m_nextChildNodeToConsider; |