| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2012 Google Inc. All rights reserved. | 2 * Copyright (C) 2012 Google 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 296 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 307 | 307 |
| 308 if (!m_scheduledEventTimer.isActive()) | 308 if (!m_scheduledEventTimer.isActive()) |
| 309 m_scheduledEventTimer.startOneShot(0, FROM_HERE); | 309 m_scheduledEventTimer.startOneShot(0, FROM_HERE); |
| 310 } | 310 } |
| 311 | 311 |
| 312 void RTCDataChannel::scheduledEventTimerFired(Timer<RTCDataChannel>*) | 312 void RTCDataChannel::scheduledEventTimerFired(Timer<RTCDataChannel>*) |
| 313 { | 313 { |
| 314 if (m_stopped) | 314 if (m_stopped) |
| 315 return; | 315 return; |
| 316 | 316 |
| 317 WillBeHeapVector<RefPtrWillBeMember<Event> > events; | 317 WillBeHeapVector<RefPtrWillBeMember<Event>> events; |
| 318 events.swap(m_scheduledEvents); | 318 events.swap(m_scheduledEvents); |
| 319 | 319 |
| 320 WillBeHeapVector<RefPtrWillBeMember<Event> >::iterator it = events.begin(); | 320 WillBeHeapVector<RefPtrWillBeMember<Event>>::iterator it = events.begin(); |
| 321 for (; it != events.end(); ++it) | 321 for (; it != events.end(); ++it) |
| 322 dispatchEvent((*it).release()); | 322 dispatchEvent((*it).release()); |
| 323 | 323 |
| 324 events.clear(); | 324 events.clear(); |
| 325 } | 325 } |
| 326 | 326 |
| 327 void RTCDataChannel::clearWeakMembers(Visitor* visitor) | 327 void RTCDataChannel::clearWeakMembers(Visitor* visitor) |
| 328 { | 328 { |
| 329 if (visitor->isAlive(m_connection)) | 329 if (visitor->isAlive(m_connection)) |
| 330 return; | 330 return; |
| 331 stop(); | 331 stop(); |
| 332 m_connection = nullptr; | 332 m_connection = nullptr; |
| 333 } | 333 } |
| 334 | 334 |
| 335 void RTCDataChannel::trace(Visitor* visitor) | 335 void RTCDataChannel::trace(Visitor* visitor) |
| 336 { | 336 { |
| 337 visitor->trace(m_scheduledEvents); | 337 visitor->trace(m_scheduledEvents); |
| 338 visitor->registerWeakMembers<RTCDataChannel, &RTCDataChannel::clearWeakMembe
rs>(this); | 338 visitor->registerWeakMembers<RTCDataChannel, &RTCDataChannel::clearWeakMembe
rs>(this); |
| 339 RefCountedGarbageCollectedEventTargetWithInlineData<RTCDataChannel>::trace(v
isitor); | 339 RefCountedGarbageCollectedEventTargetWithInlineData<RTCDataChannel>::trace(v
isitor); |
| 340 } | 340 } |
| 341 | 341 |
| 342 } // namespace blink | 342 } // namespace blink |
| OLD | NEW |