1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
8 #include "bindings/core/v8/ScriptWrappable.h"
9 #include "core/html/track/TrackBase.h"
13 class VideoTrack FINAL : public TrackBase, public ScriptWrappable {
15 static PassRefPtrWillBeRawPtr<VideoTrack> create(const String& id, const AtomicString& kind, const AtomicString& label, const AtomicString& language, bool selected)
17 return adoptRefWillBeRefCountedGarbageCollected(new VideoTrack(id, kind, label, language, selected));
19 virtual ~VideoTrack();
21 bool selected() const { return m_selected; }
22 void setSelected(bool);
24 // Set selected to false without notifying the owner media element. Used when
25 // another video track is selected, implicitly deselecting this one.
26 void clearSelected() { m_selected = false; }
28 // Valid kind keywords.
29 static const AtomicString& alternativeKeyword();
30 static const AtomicString& captionsKeyword();
31 static const AtomicString& mainKeyword();
32 static const AtomicString& signKeyword();
33 static const AtomicString& subtitlesKeyword();
34 static const AtomicString& commentaryKeyword();
37 VideoTrack(const String& id, const AtomicString& kind, const AtomicString& label, const AtomicString& language, bool selected);
40 virtual bool isValidKind(const AtomicString&) const OVERRIDE;
41 virtual AtomicString defaultKind() const OVERRIDE;
46 DEFINE_TRACK_TYPE_CASTS(VideoTrack, TrackBase::VideoTrack);