Index: Source/core/html/HTMLMediaElement.h |
diff --git a/Source/core/html/HTMLMediaElement.h b/Source/core/html/HTMLMediaElement.h |
index e1706610fe53f2519267eaa2daa3379d166dd87a..1f4ee72d6f9dc2d7396a38d3c7488f4e52c3c522 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&); |
+ MediaProvider* srcObject() const; |
+ void setSrcObject(MediaProvider*); |
const KURL& currentSrc() const { return m_currentSrc; } |
enum NetworkState { NETWORK_EMPTY, NETWORK_IDLE, NETWORK_LOADING, NETWORK_NO_SOURCE }; |
@@ -384,11 +387,14 @@ private: |
void prepareForLoad(); |
void loadInternal(); |
void selectMediaResource(); |
+ void loadResource(const KURL&); |
void loadResource(const KURL&, ContentType&, const String& keySystem); |
void startPlayerLoad(); |
void setPlayerPreload(); |
blink::WebMediaPlayer::LoadType loadType() const; |
void scheduleNextSourceChild(); |
+ void loadFromObject(); |
+ void loadFromAttribute(); |
void loadNextSourceChild(); |
void userCancelledLoad(); |
void clearMediaPlayer(int flags); |
@@ -506,8 +512,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; |