Home | History | Annotate | Download | only in track
      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.
      4 
      5 #ifndef VideoTrack_h
      6 #define VideoTrack_h
      7 
      8 #include "bindings/v8/ScriptWrappable.h"
      9 #include "core/html/track/TrackBase.h"
     10 
     11 namespace WebCore {
     12 
     13 class VideoTrack FINAL : public TrackBase, public ScriptWrappable {
     14 public:
     15     static PassRefPtrWillBeRawPtr<VideoTrack> create(const String& id, const AtomicString& kind, const AtomicString& label, const AtomicString& language, bool selected)
     16     {
     17         return adoptRefWillBeRefCountedGarbageCollected(new VideoTrack(id, kind, label, language, selected));
     18     }
     19     virtual ~VideoTrack();
     20 
     21     bool selected() const { return m_selected; }
     22     void setSelected(bool);
     23 
     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; }
     27 
     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();
     35 
     36 private:
     37     VideoTrack(const String& id, const AtomicString& kind, const AtomicString& label, const AtomicString& language, bool selected);
     38 
     39     // TrackBase
     40     virtual bool isValidKind(const AtomicString&) const OVERRIDE;
     41     virtual AtomicString defaultKind() const OVERRIDE;
     42 
     43     bool m_selected;
     44 };
     45 
     46 }
     47 
     48 #endif
     49