Index: Source/core/html/track/TrackBase.h |
diff --git a/Source/core/html/track/TrackBase.h b/Source/core/html/track/TrackBase.h |
index 38ead6489f06ed437ee6bd750dffa58f5be083d1..f116602dc678ff4fd292acbd2c58b548f3fc9752 100644 |
--- a/Source/core/html/track/TrackBase.h |
+++ b/Source/core/html/track/TrackBase.h |
@@ -31,19 +31,43 @@ |
namespace WebCore { |
-class TrackBase : public RefCounted<TrackBase>, public EventTargetWithInlineData { |
- REFCOUNTED_EVENT_TARGET(TrackBase); |
+class HTMLMediaElement; |
+ |
+class TrackBase : public RefCounted<TrackBase> { |
public: |
- virtual ~TrackBase() { } |
+ virtual ~TrackBase(); |
enum Type { TextTrack, AudioTrack, VideoTrack }; |
Type type() const { return m_type; } |
+ void setMediaElement(HTMLMediaElement* element) { m_mediaElement = element; } |
acolwell GONE FROM CHROMIUM
2013/11/28 03:02:17
Does the base really need a reference to the media
|
+ HTMLMediaElement* mediaElement() { return m_mediaElement; } |
+ |
+ AtomicString kind() const { return m_kind; } |
+ virtual void setKind(const AtomicString&); |
+ |
+ AtomicString label() const { return m_label; } |
+ void setLabel(const AtomicString& label) { m_label = label; } |
+ |
+ AtomicString language() const { return m_language; } |
+ void setLanguage(const AtomicString& language) { m_language = language; } |
+ |
+ AtomicString id() const { return m_id; } |
+ void setId(const AtomicString& id) { m_id = id; } |
+ |
protected: |
- explicit TrackBase(Type type) : m_type(type) { } |
+ explicit TrackBase(Type, const AtomicString& label, const AtomicString& language, const AtomicString& id); |
acolwell GONE FROM CHROMIUM
2013/11/28 03:02:17
nit: remove explicit
|
+ |
+ virtual bool isValidKind(const AtomicString&) const = 0; |
+ virtual AtomicString defaultKind() const = 0; |
private: |
Type m_type; |
+ HTMLMediaElement* m_mediaElement; |
+ AtomicString m_kind; |
+ AtomicString m_label; |
+ AtomicString m_language; |
+ AtomicString m_id; |
}; |
} // namespace WebCore |