OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012, 2013 Apple Inc. All rights
reserved. | 2 * Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012, 2013 Apple Inc. All rights
reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
6 * are met: | 6 * are met: |
7 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
(...skipping 1217 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1228 } | 1228 } |
1229 | 1229 |
1230 for (size_t i = 0; !m_paused && i < missedCuesSize; ++i) { | 1230 for (size_t i = 0; !m_paused && i < missedCuesSize; ++i) { |
1231 if (missedCues[i].data()->pauseOnExit()) | 1231 if (missedCues[i].data()->pauseOnExit()) |
1232 pause(); | 1232 pause(); |
1233 } | 1233 } |
1234 | 1234 |
1235 // 8 - Let events be a list of tasks, initially empty. Each task in this | 1235 // 8 - Let events be a list of tasks, initially empty. Each task in this |
1236 // list will be associated with a text track, a text track cue, and a time, | 1236 // list will be associated with a text track, a text track cue, and a time, |
1237 // which are used to sort the list before the tasks are queued. | 1237 // which are used to sort the list before the tasks are queued. |
1238 Vector<std::pair<double, TextTrackCue*> > eventTasks; | 1238 WillBeHeapVector<std::pair<double, RawPtrWillBeMember<TextTrackCue> > > even
tTasks; |
1239 | 1239 |
1240 // 8 - Let affected tracks be a list of text tracks, initially empty. | 1240 // 8 - Let affected tracks be a list of text tracks, initially empty. |
1241 Vector<TextTrack*> affectedTracks; | 1241 WillBeHeapVector<RawPtrWillBeMember<TextTrack> > affectedTracks; |
1242 | 1242 |
1243 for (size_t i = 0; i < missedCuesSize; ++i) { | 1243 for (size_t i = 0; i < missedCuesSize; ++i) { |
1244 // 9 - For each text track cue in missed cues, prepare an event named en
ter | 1244 // 9 - For each text track cue in missed cues, prepare an event named en
ter |
1245 // for the TextTrackCue object with the text track cue start time. | 1245 // for the TextTrackCue object with the text track cue start time. |
1246 eventTasks.append(std::make_pair(missedCues[i].data()->startTime(), | 1246 eventTasks.append(std::make_pair(missedCues[i].data()->startTime(), |
1247 missedCues[i].data())); | 1247 missedCues[i].data())); |
1248 | 1248 |
1249 // 10 - For each text track [...] in missed cues, prepare an event | 1249 // 10 - For each text track [...] in missed cues, prepare an event |
1250 // named exit for the TextTrackCue object with the with the later of | 1250 // named exit for the TextTrackCue object with the with the later of |
1251 // the text track cue end time and the text track cue start time. | 1251 // the text track cue end time and the text track cue start time. |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1321 for (size_t i = 0; i < affectedTracks.size(); ++i) { | 1321 for (size_t i = 0; i < affectedTracks.size(); ++i) { |
1322 RefPtrWillBeRawPtr<Event> event = Event::create(EventTypeNames::cuechang
e); | 1322 RefPtrWillBeRawPtr<Event> event = Event::create(EventTypeNames::cuechang
e); |
1323 event->setTarget(affectedTracks[i]); | 1323 event->setTarget(affectedTracks[i]); |
1324 | 1324 |
1325 m_asyncEventQueue->enqueueEvent(event.release()); | 1325 m_asyncEventQueue->enqueueEvent(event.release()); |
1326 | 1326 |
1327 // ... if the text track has a corresponding track element, to then fire
a | 1327 // ... if the text track has a corresponding track element, to then fire
a |
1328 // simple event named cuechange at the track element as well. | 1328 // simple event named cuechange at the track element as well. |
1329 if (affectedTracks[i]->trackType() == TextTrack::TrackElement) { | 1329 if (affectedTracks[i]->trackType() == TextTrack::TrackElement) { |
1330 RefPtrWillBeRawPtr<Event> event = Event::create(EventTypeNames::cuec
hange); | 1330 RefPtrWillBeRawPtr<Event> event = Event::create(EventTypeNames::cuec
hange); |
1331 HTMLTrackElement* trackElement = static_cast<LoadableTextTrack*>(aff
ectedTracks[i])->trackElement(); | 1331 HTMLTrackElement* trackElement = static_cast<LoadableTextTrack*>(aff
ectedTracks[i].get())->trackElement(); |
1332 ASSERT(trackElement); | 1332 ASSERT(trackElement); |
1333 event->setTarget(trackElement); | 1333 event->setTarget(trackElement); |
1334 | 1334 |
1335 m_asyncEventQueue->enqueueEvent(event.release()); | 1335 m_asyncEventQueue->enqueueEvent(event.release()); |
1336 } | 1336 } |
1337 } | 1337 } |
1338 | 1338 |
1339 // 16 - Set the text track cue active flag of all the cues in the current | 1339 // 16 - Set the text track cue active flag of all the cues in the current |
1340 // cues, and unset the text track cue active flag of all the cues in the | 1340 // cues, and unset the text track cue active flag of all the cues in the |
1341 // other cues. | 1341 // other cues. |
(...skipping 2632 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3974 | 3974 |
3975 #if ENABLE(WEB_AUDIO) | 3975 #if ENABLE(WEB_AUDIO) |
3976 void HTMLMediaElement::clearWeakMembers(Visitor* visitor) | 3976 void HTMLMediaElement::clearWeakMembers(Visitor* visitor) |
3977 { | 3977 { |
3978 if (!visitor->isAlive(m_audioSourceNode) && audioSourceProvider()) | 3978 if (!visitor->isAlive(m_audioSourceNode) && audioSourceProvider()) |
3979 audioSourceProvider()->setClient(0); | 3979 audioSourceProvider()->setClient(0); |
3980 } | 3980 } |
3981 #endif | 3981 #endif |
3982 | 3982 |
3983 } | 3983 } |
OLD | NEW |