OLD | NEW |
---|---|
1 /* | 1 /* |
2 * Copyright (C) 2011 Google Inc. All rights reserved. | 2 * Copyright (C) 2011 Google Inc. All rights reserved. |
3 * Copyright (C) 2011, 2012, 2013 Apple Inc. All rights reserved. | 3 * Copyright (C) 2011, 2012, 2013 Apple Inc. All rights reserved. |
4 * | 4 * |
5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
6 * modification, are permitted provided that the following conditions are | 6 * modification, are permitted provided that the following conditions are |
7 * met: | 7 * met: |
8 * | 8 * |
9 * * Redistributions of source code must retain the above copyright | 9 * * Redistributions of source code must retain the above copyright |
10 * notice, this list of conditions and the following disclaimer. | 10 * notice, this list of conditions and the following disclaimer. |
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
149 | 149 |
150 m_trackList = trackList; | 150 m_trackList = trackList; |
151 invalidateTrackIndex(); | 151 invalidateTrackIndex(); |
152 } | 152 } |
153 | 153 |
154 void TextTrack::setKind(const AtomicString& newKind) | 154 void TextTrack::setKind(const AtomicString& newKind) |
155 { | 155 { |
156 AtomicString oldKind = kind(); | 156 AtomicString oldKind = kind(); |
157 TrackBase::setKind(newKind); | 157 TrackBase::setKind(newKind); |
158 | 158 |
159 if (mediaElement() && oldKind != kind()) | 159 // If kind changes from visual to non-visual and mode is 'showing', then for ce mode to 'hidden'. |
philipj_slow
2015/02/23 13:41:46
Does this correspond to anything in the HTML spec?
fs
2015/02/23 14:00:02
AFAIK, no. The spec says "The kind of track can ch
| |
160 mediaElement()->textTrackKindChanged(this); | 160 if (oldKind != kind() && mode() == showingKeyword()) { |
161 if (kind() != captionsKeyword() && kind() != subtitlesKeyword()) | |
162 setMode(hiddenKeyword()); | |
163 } | |
161 } | 164 } |
162 | 165 |
163 void TextTrack::setMode(const AtomicString& mode) | 166 void TextTrack::setMode(const AtomicString& mode) |
164 { | 167 { |
165 ASSERT(mode == disabledKeyword() || mode == hiddenKeyword() || mode == showi ngKeyword()); | 168 ASSERT(mode == disabledKeyword() || mode == hiddenKeyword() || mode == showi ngKeyword()); |
166 | 169 |
167 // On setting, if the new value isn't equal to what the attribute would curr ently | 170 // On setting, if the new value isn't equal to what the attribute would curr ently |
168 // return, the new value must be processed as follows ... | 171 // return, the new value must be processed as follows ... |
169 if (m_mode == mode) | 172 if (m_mode == mode) |
170 return; | 173 return; |
(...skipping 278 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
449 DEFINE_TRACE(TextTrack) | 452 DEFINE_TRACE(TextTrack) |
450 { | 453 { |
451 visitor->trace(m_cues); | 454 visitor->trace(m_cues); |
452 visitor->trace(m_regions); | 455 visitor->trace(m_regions); |
453 visitor->trace(m_trackList); | 456 visitor->trace(m_trackList); |
454 TrackBase::trace(visitor); | 457 TrackBase::trace(visitor); |
455 EventTargetWithInlineData::trace(visitor); | 458 EventTargetWithInlineData::trace(visitor); |
456 } | 459 } |
457 | 460 |
458 } // namespace blink | 461 } // namespace blink |
OLD | NEW |