| 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'. |
| 160 mediaElement()->textTrackKindChanged(this); | 160 // FIXME: This is not per spec. crbug.com/460923 |
| 161 if (oldKind != kind() && mode() == showingKeyword()) { |
| 162 if (kind() != captionsKeyword() && kind() != subtitlesKeyword()) |
| 163 setMode(hiddenKeyword()); |
| 164 } |
| 161 } | 165 } |
| 162 | 166 |
| 163 void TextTrack::setMode(const AtomicString& mode) | 167 void TextTrack::setMode(const AtomicString& mode) |
| 164 { | 168 { |
| 165 ASSERT(mode == disabledKeyword() || mode == hiddenKeyword() || mode == showi
ngKeyword()); | 169 ASSERT(mode == disabledKeyword() || mode == hiddenKeyword() || mode == showi
ngKeyword()); |
| 166 | 170 |
| 167 // On setting, if the new value isn't equal to what the attribute would curr
ently | 171 // 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 ... | 172 // return, the new value must be processed as follows ... |
| 169 if (m_mode == mode) | 173 if (m_mode == mode) |
| 170 return; | 174 return; |
| (...skipping 278 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 449 DEFINE_TRACE(TextTrack) | 453 DEFINE_TRACE(TextTrack) |
| 450 { | 454 { |
| 451 visitor->trace(m_cues); | 455 visitor->trace(m_cues); |
| 452 visitor->trace(m_regions); | 456 visitor->trace(m_regions); |
| 453 visitor->trace(m_trackList); | 457 visitor->trace(m_trackList); |
| 454 TrackBase::trace(visitor); | 458 TrackBase::trace(visitor); |
| 455 EventTargetWithInlineData::trace(visitor); | 459 EventTargetWithInlineData::trace(visitor); |
| 456 } | 460 } |
| 457 | 461 |
| 458 } // namespace blink | 462 } // namespace blink |
| OLD | NEW |