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 AudioTrack_h
      6 #define AudioTrack_h
      7 
      8 #include "bindings/core/v8/ScriptWrappable.h"
      9 #include "core/html/track/TrackBase.h"
     10 
     11 namespace blink {
     12 
     13 class AudioTrack FINAL : public TrackBase, public ScriptWrappable {
     14     DEFINE_WRAPPERTYPEINFO();
     15 public:
     16     static PassRefPtrWillBeRawPtr<AudioTrack> create(const String& id, const AtomicString& kind, const AtomicString& label, const AtomicString& language, bool enabled)
     17     {
     18         return adoptRefWillBeNoop(new AudioTrack(id, kind, label, language, enabled));
     19     }
     20     virtual ~AudioTrack();
     21 
     22     bool enabled() const { return m_enabled; }
     23     void setEnabled(bool);
     24 
     25     // Valid kind keywords.
     26     static const AtomicString& alternativeKeyword();
     27     static const AtomicString& descriptionsKeyword();
     28     static const AtomicString& mainKeyword();
     29     static const AtomicString& mainDescriptionsKeyword();
     30     static const AtomicString& translationKeyword();
     31     static const AtomicString& commentaryKeyword();
     32 
     33 private:
     34     AudioTrack(const String& id, const AtomicString& kind, const AtomicString& label, const AtomicString& language, bool enabled);
     35 
     36     // TrackBase
     37     virtual bool isValidKind(const AtomicString&) const OVERRIDE;
     38     virtual AtomicString defaultKind() const OVERRIDE;
     39 
     40     bool m_enabled;
     41 };
     42 
     43 DEFINE_TRACK_TYPE_CASTS(AudioTrack, TrackBase::AudioTrack);
     44 
     45 } // namespace blink
     46 
     47 #endif // AudioTrack_h
     48