Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1166)

Unified Diff: Source/core/html/track/TrackBase.h

Issue 92783002: Move code that applies to audio and video tracks into TrackBase. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@tmp
Patch Set: Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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

Powered by Google App Engine
This is Rietveld 408576698