Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / core / html / track / AudioTrack.cpp
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 #include "config.h"
6 #include "core/html/track/AudioTrack.h"
7
8 #include "core/html/HTMLMediaElement.h"
9
10 namespace blink {
11
12 AudioTrack::AudioTrack(const String& id, const AtomicString& kind, const AtomicString& label, const AtomicString& language, bool enabled)
13     : TrackBase(TrackBase::AudioTrack, label, language, id)
14     , m_enabled(enabled)
15 {
16     ScriptWrappable::init(this);
17     setKind(kind);
18 }
19
20 AudioTrack::~AudioTrack()
21 {
22 }
23
24 void AudioTrack::setEnabled(bool enabled)
25 {
26     if (enabled == m_enabled)
27         return;
28
29     m_enabled = enabled;
30
31     if (mediaElement())
32         mediaElement()->audioTrackChanged();
33 }
34
35 const AtomicString& AudioTrack::alternativeKeyword()
36 {
37     DEFINE_STATIC_LOCAL(const AtomicString, keyword, ("alternative", AtomicString::ConstructFromLiteral));
38     return keyword;
39 }
40
41 const AtomicString& AudioTrack::descriptionsKeyword()
42 {
43     DEFINE_STATIC_LOCAL(const AtomicString, keyword, ("descriptions", AtomicString::ConstructFromLiteral));
44     return keyword;
45 }
46
47 const AtomicString& AudioTrack::mainKeyword()
48 {
49     DEFINE_STATIC_LOCAL(const AtomicString, keyword, ("main", AtomicString::ConstructFromLiteral));
50     return keyword;
51 }
52
53 const AtomicString& AudioTrack::mainDescriptionsKeyword()
54 {
55     DEFINE_STATIC_LOCAL(const AtomicString, keyword, ("main-desc", AtomicString::ConstructFromLiteral));
56     return keyword;
57 }
58
59 const AtomicString& AudioTrack::translationKeyword()
60 {
61     DEFINE_STATIC_LOCAL(const AtomicString, keyword, ("translation", AtomicString::ConstructFromLiteral));
62     return keyword;
63 }
64
65 const AtomicString& AudioTrack::commentaryKeyword()
66 {
67     DEFINE_STATIC_LOCAL(const AtomicString, keyword, ("commentary", AtomicString::ConstructFromLiteral));
68     return keyword;
69 }
70
71 bool AudioTrack::isValidKind(const AtomicString& kind) const
72 {
73     return (kind == alternativeKeyword())
74         || (kind == descriptionsKeyword())
75         || (kind == mainKeyword())
76         || (kind == mainDescriptionsKeyword())
77         || (kind == translationKeyword())
78         || (kind == commentaryKeyword());
79 }
80
81 AtomicString AudioTrack::defaultKind() const
82 {
83     return emptyAtom;
84 }
85
86 }