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 11namespace blink { 12 13class AudioTrack FINAL : public TrackBase, public ScriptWrappable { 14 DEFINE_WRAPPERTYPEINFO(); 15public: 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 33private: 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 43DEFINE_TRACK_TYPE_CASTS(AudioTrack, TrackBase::AudioTrack); 44 45} // namespace blink 46 47#endif // AudioTrack_h 48