| 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 Ericsson AB. All rights reserved. | 3 * Copyright (C) 2011, 2012 Ericsson AB. 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 | 6 * modification, are permitted provided that the following conditions |
| 7 * are met: | 7 * are met: |
| 8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
| (...skipping 347 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 358 return; | 358 return; |
| 359 | 359 |
| 360 m_descriptor->removeComponent(component); | 360 m_descriptor->removeComponent(component); |
| 361 | 361 |
| 362 RefPtr<MediaStreamTrack> track = (*tracks)[index]; | 362 RefPtr<MediaStreamTrack> track = (*tracks)[index]; |
| 363 track->removeObserver(this); | 363 track->removeObserver(this); |
| 364 tracks->remove(index); | 364 tracks->remove(index); |
| 365 scheduleDispatchEvent(MediaStreamTrackEvent::create(EventTypeNames::removetr
ack, false, false, track)); | 365 scheduleDispatchEvent(MediaStreamTrackEvent::create(EventTypeNames::removetr
ack, false, false, track)); |
| 366 } | 366 } |
| 367 | 367 |
| 368 void MediaStream::scheduleDispatchEvent(PassRefPtr<Event> event) | 368 void MediaStream::scheduleDispatchEvent(PassRefPtrWillBeRawPtr<Event> event) |
| 369 { | 369 { |
| 370 m_scheduledEvents.append(event); | 370 m_scheduledEvents.append(event); |
| 371 | 371 |
| 372 if (!m_scheduledEventTimer.isActive()) | 372 if (!m_scheduledEventTimer.isActive()) |
| 373 m_scheduledEventTimer.startOneShot(0, FROM_HERE); | 373 m_scheduledEventTimer.startOneShot(0, FROM_HERE); |
| 374 } | 374 } |
| 375 | 375 |
| 376 void MediaStream::scheduledEventTimerFired(Timer<MediaStream>*) | 376 void MediaStream::scheduledEventTimerFired(Timer<MediaStream>*) |
| 377 { | 377 { |
| 378 if (m_stopped) | 378 if (m_stopped) |
| 379 return; | 379 return; |
| 380 | 380 |
| 381 Vector<RefPtr<Event> > events; | 381 WillBeHeapVector<RefPtrWillBeMember<Event> > events; |
| 382 events.swap(m_scheduledEvents); | 382 events.swap(m_scheduledEvents); |
| 383 | 383 |
| 384 Vector<RefPtr<Event> >::iterator it = events.begin(); | 384 WillBeHeapVector<RefPtrWillBeMember<Event> >::iterator it = events.begin(); |
| 385 for (; it != events.end(); ++it) | 385 for (; it != events.end(); ++it) |
| 386 dispatchEvent((*it).release()); | 386 dispatchEvent((*it).release()); |
| 387 | 387 |
| 388 events.clear(); | 388 events.clear(); |
| 389 } | 389 } |
| 390 | 390 |
| 391 URLRegistry& MediaStream::registry() const | 391 URLRegistry& MediaStream::registry() const |
| 392 { | 392 { |
| 393 return MediaStreamRegistry::registry(); | 393 return MediaStreamRegistry::registry(); |
| 394 } | 394 } |
| 395 | 395 |
| 396 } // namespace WebCore | 396 } // namespace WebCore |
| OLD | NEW |