Upstream version 11.40.277.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     setKind(kind);
17 }
18
19 AudioTrack::~AudioTrack()
20 {
21 }
22
23 void AudioTrack::setEnabled(bool enabled)
24 {
25     if (enabled == m_enabled)
26         return;
27
28     m_enabled = enabled;
29
30     if (mediaElement())
31         mediaElement()->audioTrackChanged();
32 }
33
34 const AtomicString& AudioTrack::alternativeKeyword()
35 {
36     DEFINE_STATIC_LOCAL(const AtomicString, keyword, ("alternative", AtomicString::ConstructFromLiteral));
37     return keyword;
38 }
39
40 const AtomicString& AudioTrack::descriptionsKeyword()
41 {
42     DEFINE_STATIC_LOCAL(const AtomicString, keyword, ("descriptions", AtomicString::ConstructFromLiteral));
43     return keyword;
44 }
45
46 const AtomicString& AudioTrack::mainKeyword()
47 {
48     DEFINE_STATIC_LOCAL(const AtomicString, keyword, ("main", AtomicString::ConstructFromLiteral));
49     return keyword;
50 }
51
52 const AtomicString& AudioTrack::mainDescriptionsKeyword()
53 {
54     DEFINE_STATIC_LOCAL(const AtomicString, keyword, ("main-desc", AtomicString::ConstructFromLiteral));
55     return keyword;
56 }
57
58 const AtomicString& AudioTrack::translationKeyword()
59 {
60     DEFINE_STATIC_LOCAL(const AtomicString, keyword, ("translation", AtomicString::ConstructFromLiteral));
61     return keyword;
62 }
63
64 const AtomicString& AudioTrack::commentaryKeyword()
65 {
66     DEFINE_STATIC_LOCAL(const AtomicString, keyword, ("commentary", AtomicString::ConstructFromLiteral));
67     return keyword;
68 }
69
70 bool AudioTrack::isValidKind(const AtomicString& kind) const
71 {
72     return (kind == alternativeKeyword())
73         || (kind == descriptionsKeyword())
74         || (kind == mainKeyword())
75         || (kind == mainDescriptionsKeyword())
76         || (kind == translationKeyword())
77         || (kind == commentaryKeyword());
78 }
79
80 AtomicString AudioTrack::defaultKind() const
81 {
82     return emptyAtom;
83 }
84
85 }