OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2013 Google Inc. All rights reserved. | 2 * Copyright (C) 2013 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
43 namespace blink { | 43 namespace blink { |
44 class WebSourceBuffer; | 44 class WebSourceBuffer; |
45 } | 45 } |
46 | 46 |
47 namespace WebCore { | 47 namespace WebCore { |
48 | 48 |
49 class ExceptionState; | 49 class ExceptionState; |
50 class GenericEventQueue; | 50 class GenericEventQueue; |
51 | 51 |
52 class MediaSourceBase : public RefCountedWillBeRefCountedGarbageCollected<MediaS
ourceBase>, public HTMLMediaSource, public ActiveDOMObject, public EventTargetWi
thInlineData { | 52 class MediaSourceBase : public RefCountedWillBeRefCountedGarbageCollected<MediaS
ourceBase>, public HTMLMediaSource, public ActiveDOMObject, public EventTargetWi
thInlineData { |
53 DEFINE_EVENT_TARGET_REFCOUNTING(RefCountedWillBeRefCountedGarbageCollected<M
ediaSourceBase>); | 53 REFCOUNTED_EVENT_TARGET(MediaSourceBase); |
| 54 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(MediaSourceBase); |
54 public: | 55 public: |
55 static const AtomicString& openKeyword(); | 56 static const AtomicString& openKeyword(); |
56 static const AtomicString& closedKeyword(); | 57 static const AtomicString& closedKeyword(); |
57 static const AtomicString& endedKeyword(); | 58 static const AtomicString& endedKeyword(); |
58 | 59 |
59 virtual ~MediaSourceBase(); | 60 virtual ~MediaSourceBase(); |
60 | 61 |
61 void addedToRegistry(); | 62 void addedToRegistry(); |
62 void removedFromRegistry(); | 63 void removedFromRegistry(); |
63 void openIfInEndedState(); | 64 void openIfInEndedState(); |
(...skipping 18 matching lines...) Expand all Loading... |
82 // ActiveDOMObject interface | 83 // ActiveDOMObject interface |
83 virtual bool hasPendingActivity() const OVERRIDE FINAL; | 84 virtual bool hasPendingActivity() const OVERRIDE FINAL; |
84 virtual void stop() OVERRIDE FINAL; | 85 virtual void stop() OVERRIDE FINAL; |
85 | 86 |
86 // EventTarget interface | 87 // EventTarget interface |
87 virtual ExecutionContext* executionContext() const OVERRIDE FINAL; | 88 virtual ExecutionContext* executionContext() const OVERRIDE FINAL; |
88 | 89 |
89 // URLRegistrable interface | 90 // URLRegistrable interface |
90 virtual URLRegistry& registry() const OVERRIDE FINAL; | 91 virtual URLRegistry& registry() const OVERRIDE FINAL; |
91 | 92 |
92 virtual void trace(Visitor*) { } | |
93 | |
94 protected: | 93 protected: |
95 explicit MediaSourceBase(ExecutionContext*); | 94 explicit MediaSourceBase(ExecutionContext*); |
96 | 95 |
97 virtual void onReadyStateChange(const AtomicString& oldState, const AtomicSt
ring& newState) = 0; | 96 virtual void onReadyStateChange(const AtomicString& oldState, const AtomicSt
ring& newState) = 0; |
98 virtual Vector<RefPtr<TimeRanges> > activeRanges() const = 0; | 97 virtual Vector<RefPtr<TimeRanges> > activeRanges() const = 0; |
99 virtual bool isUpdating() const = 0; | 98 virtual bool isUpdating() const = 0; |
100 | 99 |
101 PassOwnPtr<blink::WebSourceBuffer> createWebSourceBuffer(const String& type,
const Vector<String>& codecs, ExceptionState&); | 100 PassOwnPtr<blink::WebSourceBuffer> createWebSourceBuffer(const String& type,
const Vector<String>& codecs, ExceptionState&); |
102 void scheduleEvent(const AtomicString& eventName); | 101 void scheduleEvent(const AtomicString& eventName); |
103 GenericEventQueue* asyncEventQueue() const { return m_asyncEventQueue.get();
} | 102 GenericEventQueue* asyncEventQueue() const { return m_asyncEventQueue.get();
} |
104 | 103 |
105 private: | 104 private: |
106 void endOfStreamInternal(const blink::WebMediaSource::EndOfStreamStatus, Exc
eptionState&); | 105 void endOfStreamInternal(const blink::WebMediaSource::EndOfStreamStatus, Exc
eptionState&); |
107 OwnPtr<blink::WebMediaSource> m_webMediaSource; | 106 OwnPtr<blink::WebMediaSource> m_webMediaSource; |
108 AtomicString m_readyState; | 107 AtomicString m_readyState; |
109 OwnPtr<GenericEventQueue> m_asyncEventQueue; | 108 OwnPtr<GenericEventQueue> m_asyncEventQueue; |
110 // FIXME: oilpan: This should become a Member. For now, m_attachedElement wi
ll be cleared by the HTMLMediaElement destructor. | 109 // FIXME: oilpan: This should become a Member. For now, m_attachedElement wi
ll be cleared by the HTMLMediaElement destructor. |
111 HTMLMediaElement* m_attachedElement; | 110 HTMLMediaElement* m_attachedElement; |
112 }; | 111 }; |
113 | 112 |
114 } | 113 } |
115 | 114 |
116 #endif | 115 #endif |
OLD | NEW |