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