Index: Source/core/html/HTMLMediaElement.h |
diff --git a/Source/core/html/HTMLMediaElement.h b/Source/core/html/HTMLMediaElement.h |
index d3094784e3570e14964e54449d6bf4b6282639bc..548fb1b1beba3bb02f33b0feccc24e51d7a848cf 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(RawPtr<MediaProvider>); |
philipj_slow
2014/09/16 13:39:51
Can this simply be MediaProvider*, since that's th
perkj_chrome
2014/09/17 19:26:13
Done.
|
+ 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; |
+ RawPtrWillBeMember<MediaProvider> m_srcObject; |
RefPtrWillBeMember<HTMLSourceElement> m_currentSourceNode; |
RefPtrWillBeMember<Node> m_nextChildNodeToConsider; |