Index: Source/core/html/HTMLMediaElement.h |
diff --git a/Source/core/html/HTMLMediaElement.h b/Source/core/html/HTMLMediaElement.h |
index d3094784e3570e14964e54449d6bf4b6282639bc..4d419ad5169703e1192f21fa337f2cbbe5016af9 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; |
@@ -115,6 +116,8 @@ public: |
// network state |
void setSrc(const AtomicString&); |
+ void setSrcObject(PassRefPtrWillBeRawPtr<MediaProvider> mediaProvider); |
+ MediaProvider* srcObject() const; |
const KURL& currentSrc() const { return m_currentSrc; } |
enum NetworkState { NETWORK_EMPTY, NETWORK_IDLE, NETWORK_LOADING, NETWORK_NO_SOURCE }; |
@@ -393,6 +396,8 @@ private: |
void setPlayerPreload(); |
blink::WebMediaPlayer::LoadType loadType() const; |
void scheduleNextSourceChild(); |
+ void loadSourceFromObject(); |
+ void loadSourceFromAttribute(); |
void loadNextSourceChild(); |
void userCancelledLoad(); |
void clearMediaPlayer(int flags); |
@@ -510,8 +515,9 @@ private: |
double m_lastTimeUpdateEventMovieTime; |
// Loading state. |
- enum LoadState { WaitingForSource, LoadingFromSrcAttr, LoadingFromSourceElement }; |
+ enum LoadState { WaitingForSource, LoadingFromSrcObject, LoadingFromSrcAttr, LoadingFromSourceElement }; |
LoadState m_loadState; |
+ RefPtrWillBeMember<MediaProvider> m_srcObject; |
RefPtrWillBeMember<HTMLSourceElement> m_currentSourceNode; |
RefPtrWillBeMember<Node> m_nextChildNodeToConsider; |