Chromium Code Reviews| Index: Source/core/html/MediaProvider.h |
| diff --git a/Source/core/dom/custom/CustomElementAsyncImportMicrotaskQueue.cpp b/Source/core/html/MediaProvider.h |
| similarity index 67% |
| copy from Source/core/dom/custom/CustomElementAsyncImportMicrotaskQueue.cpp |
| copy to Source/core/html/MediaProvider.h |
| index d5e946c4b0c7c7c94903f766a0981b4648e30b69..02efeda73a0412b7268c7c511d73e36d4f07d4af 100644 |
| --- a/Source/core/dom/custom/CustomElementAsyncImportMicrotaskQueue.cpp |
| +++ b/Source/core/html/MediaProvider.h |
| @@ -28,28 +28,32 @@ |
| * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| */ |
| -#include "config.h" |
| -#include "core/dom/custom/CustomElementAsyncImportMicrotaskQueue.h" |
| +#ifndef MediaProvider_h |
| +#define MediaProvider_h |
| -#include "core/dom/custom/CustomElementMicrotaskImportStep.h" |
| +#include "platform/heap/Handle.h" |
| +#include "wtf/Functional.h" |
| namespace blink { |
| -void CustomElementAsyncImportMicrotaskQueue::enqueue(PassOwnPtrWillBeRawPtr<CustomElementMicrotaskStep> step) |
| -{ |
| - m_queue.append(step); |
| -} |
| +class EventTarget; |
| +class MediaProvider; |
| +class ScriptValue; |
| -void CustomElementAsyncImportMicrotaskQueue::doDispatch() |
| -{ |
| - WillBeHeapVector<OwnPtrWillBeMember<CustomElementMicrotaskStep> > remaining; |
| +class MediaProvider : public WillBeGarbageCollectedMixin { |
|
sof
2014/09/18 07:33:17
Do you need to derive from WillBeGarbageCollectedM
perkj_chrome
2014/09/18 14:47:09
I do right? Since HTMLMediaElement must be able to
|
| +public: |
| + // Converter must be a static function and is used for converting between a ScriptValue and a MediaProvider instance. |
| + // If the ScriptValue can not be converted to a MediaProvider, the function must return null. |
| + typedef Function<MediaProvider*(const ScriptValue&)> Converter; |
| + static MediaProvider* convert(const ScriptValue&); |
| - for (unsigned i = 0; i < m_queue.size(); ++i) { |
| - if (CustomElementMicrotaskStep::Processing == m_queue[i]->process()) |
| - remaining.append(m_queue[i].release()); |
| - } |
| + MediaProvider(const String& interfaceName, const Converter&); |
| + virtual ~MediaProvider() { }; |
|
sof
2014/09/18 07:33:17
nit: remove ";"
perkj_chrome
2014/09/18 14:47:09
Done.
|
| - m_queue.swap(remaining); |
| -} |
| + virtual EventTarget* eventTarget() = 0; |
| + virtual const String& getObjectUrl() = 0; |
| +}; |
| } // namespace blink |
| + |
| +#endif |