Changeset 124780 in webkit
- Timestamp:
- Aug 6, 2012 10:28:12 AM (12 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 1 added
- 20 edited
- 4 copied
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/CMakeLists.txt
r124759 r124780 195 195 Modules/intents/NavigatorIntents.idl 196 196 197 Modules/mediasource/MediaSource.idl 197 198 Modules/mediasource/SourceBuffer.idl 198 199 Modules/mediasource/SourceBufferList.idl … … 825 826 Modules/intents/NavigatorIntents.cpp 826 827 828 Modules/mediasource/MediaSource.cpp 827 829 Modules/mediasource/SourceBuffer.cpp 828 830 Modules/mediasource/SourceBufferList.cpp -
trunk/Source/WebCore/ChangeLog
r124779 r124780 1 2012-08-06 Anna Cavender <annacc@chromium.org> 2 3 Create a MediaSource object. 4 https://bugs.webkit.org/show_bug.cgi?id=91773 5 6 Reviewed by Eric Carlson. 7 8 MediaSource object is needed in order to implement the new 9 object-oriented MediaSource API: 10 http://dvcs.w3.org/hg/html-media/raw-file/tip/media-source/media-source.html 11 12 No new tests - will be able to test after landing: 13 https://bugs.webkit.org/show_bug.cgi?id=91775 14 15 Adding new files to build files: 16 * CMakeLists.txt: 17 * DerivedSources.cpp: 18 * DerivedSources.make: 19 * DerivedSources.pri: 20 * GNUmakefile.list.am: 21 * Target.pri: 22 * WebCore.gypi: 23 * WebCore.vcproj/WebCore.vcproj: 24 * WebCore.xcodeproj/project.pbxproj: 25 26 New MediaSource object: 27 * Modules/mediasource/MediaSource.cpp: Added. 28 * Modules/mediasource/MediaSource.h: Added. 29 * Modules/mediasource/MediaSource.idl: Added. 30 31 Create a registry for the blob storage and lookup: 32 * Modules/mediasource/MediaSourceRegistry.cpp: Added. 33 * Modules/mediasource/MediaSourceRegistry.h: Added. 34 35 Connect SourceBuffer to MediaSource: 36 * Modules/mediasource/SourceBuffer.cpp: 37 (WebCore::SourceBuffer::SourceBuffer): 38 (WebCore::SourceBuffer::buffered): Forward call to MediaSource. 39 (WebCore::SourceBuffer::append): Ditto. 40 (WebCore::SourceBuffer::abort): Ditto. 41 * Modules/mediasource/SourceBuffer.h: 42 (WebCore::SourceBuffer::create): Add a MediaSource to the constructor. 43 (WebCore::SourceBuffer::clear): Clear the MediaSource. 44 (SourceBuffer): 45 * Modules/mediasource/SourceBufferList.cpp: include SourceBuffer.h 46 * Modules/mediasource/SourceBufferList.h: 47 48 Make MediaSource an EventTarget: 49 * dom/EventTarget.h: 50 (WebCore): 51 * dom/EventTargetFactory.in: 52 53 Enable creation of MediaSource object URL from JavaScript: 54 * html/DOMURL.cpp: 55 (WebCore): 56 (WebCore::DOMURL::createObjectURL): 57 * html/DOMURL.h: 58 (WebCore): 59 (DOMURL): 60 * html/DOMURL.idl: 61 62 New MediaSource constructor: 63 * page/DOMWindow.idl: 64 1 65 2012-08-06 Andreas Kling <kling@webkit.org> 2 66 -
trunk/Source/WebCore/DerivedSources.cpp
r123722 r124780 238 238 #include "JSMediaList.cpp" 239 239 #include "JSMediaQueryList.cpp" 240 #if ENABLE(MEDIA_SOURCE) 241 #include "JSMediaSource.cpp" 242 #endif 240 243 #include "JSMemoryInfo.cpp" 241 244 #include "JSMessageChannel.cpp" -
trunk/Source/WebCore/DerivedSources.make
r124389 r124780 107 107 $(WebCore)/Modules/indexeddb/IDBVersionChangeRequest.idl \ 108 108 $(WebCore)/Modules/indexeddb/WorkerContextIndexedDatabase.idl \ 109 $(WebCore)/Modules/mediasource/MediaSource.idl \ 109 110 $(WebCore)/Modules/mediasource/SourceBuffer.idl \ 110 111 $(WebCore)/Modules/mediasource/SourceBufferList.idl \ -
trunk/Source/WebCore/DerivedSources.pri
r123773 r124780 625 625 contains(DEFINES, ENABLE_MEDIA_SOURCE=1) { 626 626 IDL_BINDINGS += \ 627 $$PWD/Modules/mediasource/MediaSource.idl \ 627 628 $$PWD/Modules/mediasource/SourceBuffer.idl \ 628 629 $$PWD/Modules/mediasource/SourceBufferList.idl -
trunk/Source/WebCore/GNUmakefile.list.am
r124757 r124780 384 384 DerivedSources/WebCore/JSMediaList.cpp \ 385 385 DerivedSources/WebCore/JSMediaList.h \ 386 DerivedSources/WebCore/JSMediaSource.cpp \ 387 DerivedSources/WebCore/JSMediaSource.h \ 386 388 DerivedSources/WebCore/JSMediaStream.cpp \ 387 389 DerivedSources/WebCore/JSMediaStream.h \ … … 701 703 $(WebCore)/Modules/geolocation/PositionError.idl \ 702 704 $(WebCore)/Modules/geolocation/PositionErrorCallback.idl \ 705 $(WebCore)/Modules/mediasource/MediaSource.idl \ 703 706 $(WebCore)/Modules/mediasource/SourceBuffer.idl \ 704 707 $(WebCore)/Modules/mediasource/SourceBufferList.idl \ … … 1173 1176 Source/WebCore/Modules/indexeddb/WorkerContextIndexedDatabase.cpp \ 1174 1177 Source/WebCore/Modules/indexeddb/WorkerContextIndexedDatabase.h \ 1178 Source/WebCore/Modules/mediasource/MediaSource.cpp \ 1179 Source/WebCore/Modules/mediasource/MediaSource.h \ 1180 Source/WebCore/Modules/mediasource/MediaSourceRegistry.cpp \ 1181 Source/WebCore/Modules/mediasource/MediaSourceRegistry.h \ 1175 1182 Source/WebCore/Modules/mediasource/SourceBuffer.cpp \ 1176 1183 Source/WebCore/Modules/mediasource/SourceBuffer.h \ -
trunk/Source/WebCore/Modules/mediasource/MediaSource.h
r124779 r124780 29 29 */ 30 30 31 #ifndef SourceBufferList_h32 #define SourceBufferList_h31 #ifndef MediaSource_h 32 #define MediaSource_h 33 33 34 34 #if ENABLE(MEDIA_SOURCE) 35 35 36 #include "EventTarget.h" 36 #include "ContextDestructionObserver.h" 37 #include "MediaPlayer.h" 37 38 #include "SourceBuffer.h" 39 #include "SourceBufferList.h" 38 40 #include <wtf/RefCounted.h> 39 #include <wtf/Vector.h>40 41 41 42 namespace WebCore { 42 43 43 class SourceBufferList : public RefCounted<SourceBufferList>, public EventTarget{44 class MediaSource : public RefCounted<MediaSource>, public EventTarget, public ContextDestructionObserver { 44 45 public: 45 static PassRefPtr<SourceBufferList> create(ScriptExecutionContext* context)46 static const String& openKeyword() 46 47 { 47 return adoptRef(new SourceBufferList(context)); 48 DEFINE_STATIC_LOCAL(const String, open, ("open")); 49 return open; 48 50 } 49 virtual ~SourceBufferList() { }50 51 51 unsigned long length() const; 52 SourceBuffer* item(unsigned index) const; 52 static const String& closedKeyword() 53 { 54 DEFINE_STATIC_LOCAL(const String, closed, ("closed")); 55 return closed; 56 } 53 57 54 void add(PassRefPtr<SourceBuffer>); 55 bool remove(SourceBuffer*); 56 void clear(); 58 static const String& endedKeyword() 59 { 60 DEFINE_STATIC_LOCAL(const String, ended, ("ended")); 61 return ended; 62 } 63 64 static PassRefPtr<MediaSource> create(ScriptExecutionContext*); 65 virtual ~MediaSource() { } 66 67 SourceBufferList* sourceBuffers(); 68 SourceBufferList* activeSourceBuffers(); 69 70 SourceBuffer* addSourceBuffer(const String& type, ExceptionCode&); 71 void removeSourceBuffer(SourceBuffer*, ExceptionCode&); 72 73 const String& readyState() const; 74 void setReadyState(const String&); 75 76 void endOfStream(const String& error, ExceptionCode&); 77 78 void setMediaPlayer(MediaPlayer* player) { m_player = player; } 79 80 PassRefPtr<TimeRanges> buffered(const String& id, ExceptionCode&) const; 81 void append(const String& id, PassRefPtr<Uint8Array> data, ExceptionCode&); 82 void abort(const String& id, ExceptionCode&); 57 83 58 84 // EventTarget interface … … 60 86 virtual ScriptExecutionContext* scriptExecutionContext() const OVERRIDE; 61 87 62 using RefCounted< SourceBufferList>::ref;63 using RefCounted< SourceBufferList>::deref;88 using RefCounted<MediaSource>::ref; 89 using RefCounted<MediaSource>::deref; 64 90 65 protected: 91 private: 92 explicit MediaSource(ScriptExecutionContext*); 93 66 94 virtual EventTargetData* eventTargetData() OVERRIDE; 67 95 virtual EventTargetData* ensureEventTargetData() OVERRIDE; 68 69 private:70 explicit SourceBufferList(ScriptExecutionContext*);71 72 void createAndFireEvent(const AtomicString&);73 96 74 97 virtual void refEventTarget() OVERRIDE { ref(); } … … 76 99 77 100 EventTargetData m_eventTargetData; 78 ScriptExecutionContext* m_scriptExecutionContext;79 101 80 Vector<RefPtr<SourceBuffer> > m_list; 102 String m_readyState; 103 MediaPlayer* m_player; 104 105 RefPtr<SourceBufferList> m_sourceBuffers; 106 RefPtr<SourceBufferList> m_activeSourceBuffers; 107 int m_nextSourceBufferId; 81 108 }; 82 109 -
trunk/Source/WebCore/Modules/mediasource/MediaSource.idl
r124779 r124780 28 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 29 */ 30 31 module html { 30 32 31 #include "config.h" 32 #include "SourceBuffer.h" 33 interface [ 34 Conditional=MEDIA_SOURCE, 35 V8EnabledAtRuntime=mediaSource, 36 EventTarget, 37 Constructor, 38 CallWith=ScriptExecutionContext 39 ] MediaSource { 40 // All the source buffers created by this object. 41 readonly attribute SourceBufferList sourceBuffers; 33 42 34 #if ENABLE(MEDIA_SOURCE) 43 // Subset of sourceBuffers that provide data for the selected/enabled tracks. 44 readonly attribute SourceBufferList activeSourceBuffers; 35 45 36 #include "TimeRanges.h" 37 #include <wtf/Uint8Array.h> 46 SourceBuffer addSourceBuffer(in DOMString type) raises (DOMException); 47 void removeSourceBuffer(in SourceBuffer buffer) raises (DOMException); 38 48 39 namespace WebCore { 49 readonly attribute DOMString readyState; 50 51 void endOfStream(in [Optional=DefaultIsNullString] DOMString error) 52 raises (DOMException); 53 54 // EventTarget interface 55 void addEventListener(in DOMString type, 56 in EventListener listener, 57 in [Optional] boolean useCapture); 58 void removeEventListener(in DOMString type, 59 in EventListener listener, 60 in [Optional] boolean useCapture); 61 boolean dispatchEvent(in Event event) 62 raises(EventException); 63 }; 40 64 41 SourceBuffer::SourceBuffer(const String& id)42 : m_id(id)43 {44 65 } 45 46 SourceBuffer::~SourceBuffer()47 {48 }49 50 PassRefPtr<TimeRanges> SourceBuffer::buffered(ExceptionCode&) const51 {52 // FIXME(91773): return buffered data from media source.53 return 0;54 }55 56 void SourceBuffer::append(PassRefPtr<Uint8Array>, ExceptionCode&)57 {58 // FIXME(91773): append the data to the media source.59 }60 61 void SourceBuffer::abort(ExceptionCode&)62 {63 // FIXME(91773): signal the media source to abort this source buffer.64 }65 66 } // namespace WebCore67 68 #endif -
trunk/Source/WebCore/Modules/mediasource/MediaSourceRegistry.cpp
r124779 r124780 30 30 31 31 #include "config.h" 32 #include " SourceBuffer.h"32 #include "MediaSourceRegistry.h" 33 33 34 34 #if ENABLE(MEDIA_SOURCE) 35 35 36 #include "TimeRanges.h" 37 #include <wtf/Uint8Array.h> 36 #include "KURL.h" 37 #include "MediaSource.h" 38 #include <wtf/MainThread.h> 38 39 39 40 namespace WebCore { 40 41 41 SourceBuffer::SourceBuffer(const String& id) 42 : m_id(id) 42 MediaSourceRegistry& MediaSourceRegistry::registry() 43 43 { 44 // Since WebWorkers cannot obtain MediaSource objects, we should be on the main thread. 45 ASSERT(isMainThread()); 46 DEFINE_STATIC_LOCAL(MediaSourceRegistry, instance, ()); 47 return instance; 44 48 } 45 49 46 SourceBuffer::~SourceBuffer()50 void MediaSourceRegistry::registerMediaSourceURL(const KURL& url, PassRefPtr<MediaSource> source) 47 51 { 52 ASSERT(isMainThread()); 53 m_mediaSources.set(url.string(), source); 48 54 } 49 55 50 PassRefPtr<TimeRanges> SourceBuffer::buffered(ExceptionCode&) const 56 void MediaSourceRegistry::unregisterMediaSourceURL(const KURL& url) 51 57 { 52 // FIXME(91773): return buffered data from media source.53 return 0;58 ASSERT(isMainThread()); 59 m_mediaSources.remove(url.string()); 54 60 } 55 61 56 void SourceBuffer::append(PassRefPtr<Uint8Array>, ExceptionCode&)62 MediaSource* MediaSourceRegistry::lookupMediaSource(const String& url) 57 63 { 58 // FIXME(91773): append the data to the media source. 59 } 60 61 void SourceBuffer::abort(ExceptionCode&) 62 { 63 // FIXME(91773): signal the media source to abort this source buffer. 64 ASSERT(isMainThread()); 65 return m_mediaSources.get(url).get(); 64 66 } 65 67 -
trunk/Source/WebCore/Modules/mediasource/MediaSourceRegistry.h
r124779 r124780 29 29 */ 30 30 31 #i nclude "config.h"32 # include "SourceBuffer.h"31 #ifndef MediaSourceRegistry_h 32 #define MediaSourceRegistry_h 33 33 34 34 #if ENABLE(MEDIA_SOURCE) 35 35 36 #include "TimeRanges.h" 37 #include <wtf/Uint8Array.h> 36 #include <wtf/HashMap.h> 37 #include <wtf/PassRefPtr.h> 38 #include <wtf/text/StringHash.h> 38 39 39 40 namespace WebCore { 40 41 41 SourceBuffer::SourceBuffer(const String& id) 42 : m_id(id) 43 { 44 } 42 class KURL; 43 class MediaSource; 45 44 46 SourceBuffer::~SourceBuffer() 47 { 48 } 45 class MediaSourceRegistry { 46 public: 47 // Returns a single instance of MediaSourceRegistry. 48 static MediaSourceRegistry& registry(); 49 49 50 PassRefPtr<TimeRanges> SourceBuffer::buffered(ExceptionCode&) const 51 { 52 // FIXME(91773): return buffered data from media source. 53 return 0; 54 } 50 // Registers a blob URL referring to the specified media source. 51 void registerMediaSourceURL(const KURL&, PassRefPtr<MediaSource>); 52 void unregisterMediaSourceURL(const KURL&); 55 53 56 void SourceBuffer::append(PassRefPtr<Uint8Array>, ExceptionCode&) 57 { 58 // FIXME(91773): append the data to the media source. 59 } 54 MediaSource* lookupMediaSource(const String& url); 60 55 61 void SourceBuffer::abort(ExceptionCode&) 62 { 63 // FIXME(91773): signal the media source to abort this source buffer. 64 } 56 private: 57 HashMap<String, RefPtr<MediaSource> > m_mediaSources; 58 }; 65 59 66 60 } // namespace WebCore 67 61 68 62 #endif 63 #endif -
trunk/Source/WebCore/Modules/mediasource/SourceBuffer.cpp
r123522 r124780 39 39 namespace WebCore { 40 40 41 SourceBuffer::SourceBuffer(const String& id )41 SourceBuffer::SourceBuffer(const String& id, PassRefPtr<MediaSource> source) 42 42 : m_id(id) 43 , m_source(source) 43 44 { 44 45 } … … 48 49 } 49 50 50 PassRefPtr<TimeRanges> SourceBuffer::buffered(ExceptionCode& ) const51 PassRefPtr<TimeRanges> SourceBuffer::buffered(ExceptionCode& ec) const 51 52 { 52 // FIXME(91773): return buffered data from media source. 53 return 0; 53 if (!m_source) { 54 ec = INVALID_STATE_ERR; 55 return 0; 56 } 57 58 return m_source->buffered(id(), ec); 54 59 } 55 60 56 void SourceBuffer::append(PassRefPtr<Uint8Array> , ExceptionCode&)61 void SourceBuffer::append(PassRefPtr<Uint8Array> data, ExceptionCode& ec) 57 62 { 58 // FIXME(91773): append the data to the media source. 63 if (!m_source) { 64 ec = INVALID_STATE_ERR; 65 return; 66 } 67 68 m_source->append(id(), data, ec); 59 69 } 60 70 61 void SourceBuffer::abort(ExceptionCode& )71 void SourceBuffer::abort(ExceptionCode& ec) 62 72 { 63 // FIXME(91773): signal the media source to abort this source buffer. 73 if (!m_source) { 74 ec = INVALID_STATE_ERR; 75 return; 76 } 77 78 m_source->abort(id(), ec); 64 79 } 65 80 -
trunk/Source/WebCore/Modules/mediasource/SourceBuffer.h
r123522 r124780 35 35 36 36 #include "ExceptionCode.h" 37 #include "MediaSource.h" 37 38 #include <wtf/PassRefPtr.h> 38 39 #include <wtf/RefCounted.h> … … 45 46 class SourceBuffer : public RefCounted<SourceBuffer> { 46 47 public: 47 static PassRefPtr<SourceBuffer> create(const String& id )48 static PassRefPtr<SourceBuffer> create(const String& id, PassRefPtr<MediaSource> source) 48 49 { 49 return adoptRef(new SourceBuffer(id ));50 return adoptRef(new SourceBuffer(id, source)); 50 51 } 51 52 … … 60 61 const String& id() const { return m_id; } 61 62 62 void clear() { }63 void clear() { m_source.clear(); } 63 64 64 65 private: 65 explicit SourceBuffer(const String& id );66 explicit SourceBuffer(const String& id, PassRefPtr<MediaSource>); 66 67 67 68 String m_id; 69 RefPtr<MediaSource> m_source; 68 70 }; 69 71 -
trunk/Source/WebCore/Modules/mediasource/SourceBufferList.cpp
r123522 r124780 35 35 36 36 #include "Event.h" 37 #include "SourceBuffer.h" 37 38 38 39 namespace WebCore { -
trunk/Source/WebCore/Modules/mediasource/SourceBufferList.h
r123522 r124780 35 35 36 36 #include "EventTarget.h" 37 #include "SourceBuffer.h"38 37 #include <wtf/RefCounted.h> 39 38 #include <wtf/Vector.h> 40 39 41 40 namespace WebCore { 41 42 class SourceBuffer; 42 43 43 44 class SourceBufferList : public RefCounted<SourceBufferList>, public EventTarget { -
trunk/Source/WebCore/Target.pri
r124397 r124780 3023 3023 contains(DEFINES, ENABLE_MEDIA_SOURCE=1) { 3024 3024 HEADERS += \ 3025 Modules/mediasource/MediaSource.h \ 3026 Modules/mediasource/MediaSourceRegistry.h \ 3025 3027 Modules/mediasource/SourceBuffer.h \ 3026 3028 Modules/mediasource/SourceBufferList.h 3027 3029 SOURCES += \ 3030 Modules/mediasource/MediaSource.cpp \ 3031 Modules/mediasource/MediaSourceRegistry.cpp \ 3028 3032 Modules/mediasource/SourceBuffer.cpp \ 3029 3033 Modules/mediasource/SourceBufferList.cpp -
trunk/Source/WebCore/WebCore.gypi
r124735 r124780 830 830 'Modules/intents/IntentResultCallback.idl', 831 831 'Modules/intents/NavigatorIntents.idl', 832 'Modules/mediasource/MediaSource.idl', 832 833 'Modules/mediasource/SourceBuffer.idl', 833 834 'Modules/mediasource/SourceBufferList.idl', … … 1544 1545 'Modules/intents/NavigatorIntents.cpp', 1545 1546 'Modules/intents/NavigatorIntents.h', 1547 'Modules/mediasource/MediaSource.cpp', 1548 'Modules/mediasource/MediaSource.h', 1549 'Modules/mediasource/MediaSourceRegistry.cpp', 1550 'Modules/mediasource/MediaSourceRegistry.h', 1546 1551 'Modules/mediasource/SourceBuffer.cpp', 1547 1552 'Modules/mediasource/SourceBuffer.h', -
trunk/Source/WebCore/WebCore.vcproj/WebCore.vcproj
r124638 r124780 25087 25087 > 25088 25088 <File 25089 RelativePath="..\Modules\mediasource\MediaSource.cpp" 25090 > 25091 </File> 25092 <File 25093 RelativePath="..\Modules\mediasource\MediaSource.h" 25094 > 25095 </File> 25096 <File 25097 RelativePath="..\Modules\mediasource\MediaSourceRegistry.cpp" 25098 > 25099 </File> 25100 <File 25101 RelativePath="..\Modules\mediasource\MediaSourceRegistry.h" 25102 > 25103 </File> 25104 <File 25089 25105 RelativePath="..\Modules\mediasource\SourceBuffer.cpp" 25090 25106 > -
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
r124517 r124780 11617 11617 B10B697F140C174000BC1C26 /* WebVTTTokenizer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebVTTTokenizer.h; sourceTree = "<group>"; }; 11618 11618 B1827492134CA4C100B98C2D /* CallbackFunction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CallbackFunction.cpp; sourceTree = "<group>"; }; 11619 B1A942DE15B5CE2200D525D1 /* MediaSource.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MediaSource.cpp; sourceTree = "<group>"; }; 11620 B1A942DF15B5CE2200D525D1 /* MediaSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MediaSource.h; sourceTree = "<group>"; }; 11621 B1A942E015B5CE2200D525D1 /* MediaSource.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = MediaSource.idl; sourceTree = "<group>"; }; 11622 B1A942E115B5CE2200D525D1 /* MediaSourceRegistry.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MediaSourceRegistry.cpp; sourceTree = "<group>"; }; 11623 B1A942E215B5CE2200D525D1 /* MediaSourceRegistry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MediaSourceRegistry.h; sourceTree = "<group>"; }; 11619 11624 B1A942E315B5CE2200D525D1 /* SourceBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SourceBuffer.cpp; sourceTree = "<group>"; }; 11620 11625 B1A942E415B5CE2200D525D1 /* SourceBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SourceBuffer.h; sourceTree = "<group>"; }; … … 19059 19064 isa = PBXGroup; 19060 19065 children = ( 19066 B1A942DE15B5CE2200D525D1 /* MediaSource.cpp */, 19067 B1A942DF15B5CE2200D525D1 /* MediaSource.h */, 19068 B1A942E015B5CE2200D525D1 /* MediaSource.idl */, 19069 B1A942E115B5CE2200D525D1 /* MediaSourceRegistry.cpp */, 19070 B1A942E215B5CE2200D525D1 /* MediaSourceRegistry.h */, 19061 19071 B1A942E315B5CE2200D525D1 /* SourceBuffer.cpp */, 19062 19072 B1A942E415B5CE2200D525D1 /* SourceBuffer.h */, -
trunk/Source/WebCore/dom/EventTarget.h
r124350 r124780 57 57 class LocalMediaStream; 58 58 class MediaController; 59 class MediaSource; 59 60 class MediaStream; 60 61 class MessagePort; -
trunk/Source/WebCore/dom/EventTargetFactory.in
r124350 r124780 16 16 LocalMediaStream conditional=MEDIA_STREAM 17 17 MediaController conditional=VIDEO 18 MediaSource conditional=MEDIA_SOURCE 18 19 MediaStream conditional=MEDIA_STREAM 19 20 MediaStreamTrack conditional=MEDIA_STREAM -
trunk/Source/WebCore/html/DOMURL.cpp
r120433 r124780 43 43 #include <wtf/MainThread.h> 44 44 45 #if ENABLE(MEDIA_SOURCE) 46 #include "MediaSource.h" 47 #include "MediaSourceRegistry.h" 48 #endif 49 45 50 #if ENABLE(MEDIA_STREAM) 46 51 #include "MediaStream.h" … … 49 54 50 55 namespace WebCore { 56 57 #if ENABLE(MEDIA_SOURCE) 58 String DOMURL::createObjectURL(ScriptExecutionContext* scriptExecutionContext, MediaSource* source) 59 { 60 // Since WebWorkers cannot obtain MediaSource objects, we should be on the main thread. 61 ASSERT(isMainThread()); 62 63 if (!scriptExecutionContext || !source) 64 return String(); 65 66 KURL publicURL = BlobURL::createPublicURL(scriptExecutionContext->securityOrigin()); 67 if (publicURL.isEmpty()) 68 return String(); 69 70 MediaSourceRegistry::registry().registerMediaSourceURL(publicURL, source); 71 scriptExecutionContext->publicURLManager().streamURLs().add(publicURL.string()); 72 73 return publicURL.string(); 74 } 75 #endif 51 76 52 77 #if ENABLE(MEDIA_STREAM) -
trunk/Source/WebCore/html/DOMURL.h
r107082 r124780 37 37 38 38 class Blob; 39 class MediaSource; 39 40 class MediaStream; 40 41 class ScriptExecutionContext; … … 50 51 static String createObjectURL(ScriptExecutionContext*, Blob*); 51 52 static void revokeObjectURL(ScriptExecutionContext*, const String&); 53 #if ENABLE(MEDIA_SOURCE) 54 static String createObjectURL(ScriptExecutionContext*, MediaSource*); 55 #endif 52 56 #if ENABLE(MEDIA_STREAM) 53 57 static String createObjectURL(ScriptExecutionContext*, MediaStream*); -
trunk/Source/WebCore/html/DOMURL.idl
r121714 r124780 34 34 InterfaceName=URL 35 35 ] DOMURL { 36 #if defined(ENABLE_MEDIA_SOURCE) && ENABLE_MEDIA_SOURCE 37 [CallWith=ScriptExecutionContext,TreatReturnedNullStringAs=Null] static DOMString createObjectURL(in MediaSource? source); 38 #endif 36 39 #if defined(ENABLE_MEDIA_STREAM) && ENABLE_MEDIA_STREAM 37 40 [CallWith=ScriptExecutionContext,TreatReturnedNullStringAs=Null] static DOMString createObjectURL(in MediaStream? stream); -
trunk/Source/WebCore/page/DOMWindow.idl
r124759 r124780 786 786 attribute [Conditional=MUTATION_OBSERVERS] MutationObserverConstructor WebKitMutationObserver; 787 787 788 attribute [Conditional=MEDIA_SOURCE, V8EnabledAtRuntime=mediaSource] MediaSourceConstructor MediaSource; 788 789 attribute [Conditional=MEDIA_SOURCE, V8EnabledAtRuntime=mediaSource] SourceBufferConstructor SourceBuffer; 789 790 attribute [Conditional=MEDIA_SOURCE, V8EnabledAtRuntime=mediaSource] SourceBufferListConstructor SourceBufferList;
Note: See TracChangeset
for help on using the changeset viewer.