| Index: Source/core/html/MediaProvider.cpp
|
| diff --git a/Source/core/dom/custom/CustomElementAsyncImportMicrotaskQueue.cpp b/Source/core/html/MediaProvider.cpp
|
| similarity index 51%
|
| copy from Source/core/dom/custom/CustomElementAsyncImportMicrotaskQueue.cpp
|
| copy to Source/core/html/MediaProvider.cpp
|
| index d5e946c4b0c7c7c94903f766a0981b4648e30b69..5760387823ea4783f186f7f80e66b36aae8f61b8 100644
|
| --- a/Source/core/dom/custom/CustomElementAsyncImportMicrotaskQueue.cpp
|
| +++ b/Source/core/html/MediaProvider.cpp
|
| @@ -29,27 +29,63 @@
|
| */
|
|
|
| #include "config.h"
|
| -#include "core/dom/custom/CustomElementAsyncImportMicrotaskQueue.h"
|
| +#include "core/html/MediaProvider.h"
|
|
|
| -#include "core/dom/custom/CustomElementMicrotaskImportStep.h"
|
| +#include "core/dom/DOMURL.h"
|
| +#include "modules/mediasource/MediaSource.h"
|
| +#include "modules/mediastream/MediaStream.h"
|
| +#include "wtf/PassRefPtr.h"
|
|
|
| namespace blink {
|
|
|
| -void CustomElementAsyncImportMicrotaskQueue::enqueue(PassOwnPtrWillBeRawPtr<CustomElementMicrotaskStep> step)
|
| +MediaProvider::MediaProvider(PassRefPtrWillBeRawPtr<MediaStream> stream)
|
| + : m_mediastream(stream.get())
|
| {
|
| - m_queue.append(step);
|
| }
|
|
|
| -void CustomElementAsyncImportMicrotaskQueue::doDispatch()
|
| +MediaProvider::MediaProvider(PassRefPtrWillBeRawPtr<MediaSource> source)
|
| + : m_mediasource(source.get())
|
| {
|
| - WillBeHeapVector<OwnPtrWillBeMember<CustomElementMicrotaskStep> > remaining;
|
| +}
|
| +
|
| +MediaStream* MediaProvider::mediaStream() const {
|
| + return m_mediastream.get();
|
| +}
|
|
|
| - for (unsigned i = 0; i < m_queue.size(); ++i) {
|
| - if (CustomElementMicrotaskStep::Processing == m_queue[i]->process())
|
| - remaining.append(m_queue[i].release());
|
| +MediaSource* MediaProvider::mediaSource() const {
|
| + return m_mediasource.get();
|
| +}
|
| +
|
| +String MediaProvider::createObjectUrl() {
|
| + blink::ExecutionContext* context = NULL;
|
| + URLRegistrable* registrable = NULL;
|
| + if (m_mediastream) {
|
| + context = m_mediastream->executionContext();
|
| + registrable = m_mediastream.get();
|
| + } else if (m_mediasource) {
|
| + context = m_mediasource->executionContext();
|
| + registrable = m_mediasource.get();
|
| }
|
| + return DOMURL::createPublicURL(context, registrable);
|
| +}
|
|
|
| - m_queue.swap(remaining);
|
| +PassRefPtrWillBeRawPtr<MediaProvider> MediaProvider::createFromMediaStream(PassRefPtrWillBeRawPtr<MediaStream> stream)
|
| +{
|
| + if (!stream)
|
| + return nullptr;
|
| + return adoptRefWillBeNoop(new MediaProvider(stream));
|
| +}
|
| +
|
| +PassRefPtrWillBeRawPtr<MediaProvider> MediaProvider::createFromMediaSource(PassRefPtrWillBeRawPtr<MediaSource> source)
|
| +{
|
| + if (!source)
|
| + return nullptr;
|
| + return adoptRefWillBeNoop(new MediaProvider(source));
|
| +}
|
| +
|
| +void MediaProvider::trace(Visitor* visitor)
|
| +{
|
| + visitor->trace(m_mediastream);
|
| }
|
|
|
| -} // namespace blink
|
| +} // namespace blink
|
|
|