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: create(const String & id,const AtomicString & kind,const AtomicString & label,const AtomicString & language,bool enabled)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 enabled()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