Chromium Code Reviews| Index: Source/modules/mediastream/MediaStream.cpp |
| diff --git a/Source/modules/mediastream/MediaStream.cpp b/Source/modules/mediastream/MediaStream.cpp |
| index bfde31b33394c5d664505278a5aa0e5211aefd1b..8617965117d7d3aebfcc1b75c7a96ad68503f78e 100644 |
| --- a/Source/modules/mediastream/MediaStream.cpp |
| +++ b/Source/modules/mediastream/MediaStream.cpp |
| @@ -55,15 +55,15 @@ static void processTrack(MediaStreamTrack* track, MediaStreamTrackVector& trackV |
| trackVector.append(track); |
| } |
| -PassRefPtr<MediaStream> MediaStream::create(ExecutionContext* context) |
| +PassRefPtrWillBeRawPtr<MediaStream> MediaStream::create(ExecutionContext* context) |
| { |
| MediaStreamTrackVector audioTracks; |
| MediaStreamTrackVector videoTracks; |
| - return adoptRef(new MediaStream(context, audioTracks, videoTracks)); |
| + return adoptRefWillBeRefCountedGarbageCollected(new MediaStream(context, audioTracks, videoTracks)); |
| } |
| -PassRefPtr<MediaStream> MediaStream::create(ExecutionContext* context, PassRefPtr<MediaStream> stream) |
| +PassRefPtrWillBeRawPtr<MediaStream> MediaStream::create(ExecutionContext* context, PassRefPtrWillBeRawPtr<MediaStream> stream) |
| { |
| ASSERT(stream); |
| @@ -76,10 +76,10 @@ PassRefPtr<MediaStream> MediaStream::create(ExecutionContext* context, PassRefPt |
| for (size_t i = 0; i < stream->m_videoTracks.size(); ++i) |
| processTrack(stream->m_videoTracks[i].get(), videoTracks); |
| - return adoptRef(new MediaStream(context, audioTracks, videoTracks)); |
| + return adoptRefWillBeRefCountedGarbageCollected(new MediaStream(context, audioTracks, videoTracks)); |
| } |
| -PassRefPtr<MediaStream> MediaStream::create(ExecutionContext* context, const MediaStreamTrackVector& tracks) |
| +PassRefPtrWillBeRawPtr<MediaStream> MediaStream::create(ExecutionContext* context, const MediaStreamTrackVector& tracks) |
| { |
| MediaStreamTrackVector audioTracks; |
| MediaStreamTrackVector videoTracks; |
| @@ -87,12 +87,12 @@ PassRefPtr<MediaStream> MediaStream::create(ExecutionContext* context, const Med |
| for (size_t i = 0; i < tracks.size(); ++i) |
| processTrack(tracks[i].get(), tracks[i]->kind() == "audio" ? audioTracks : videoTracks); |
| - return adoptRef(new MediaStream(context, audioTracks, videoTracks)); |
| + return adoptRefWillBeRefCountedGarbageCollected(new MediaStream(context, audioTracks, videoTracks)); |
| } |
| -PassRefPtr<MediaStream> MediaStream::create(ExecutionContext* context, PassRefPtr<MediaStreamDescriptor> streamDescriptor) |
| +PassRefPtrWillBeRawPtr<MediaStream> MediaStream::create(ExecutionContext* context, PassRefPtr<MediaStreamDescriptor> streamDescriptor) |
| { |
| - return adoptRef(new MediaStream(context, streamDescriptor)); |
| + return adoptRefWillBeRefCountedGarbageCollected(new MediaStream(context, streamDescriptor)); |
| } |
| MediaStream::MediaStream(ExecutionContext* context, PassRefPtr<MediaStreamDescriptor> streamDescriptor) |
| @@ -107,7 +107,7 @@ MediaStream::MediaStream(ExecutionContext* context, PassRefPtr<MediaStreamDescri |
| size_t numberOfAudioTracks = m_descriptor->numberOfAudioComponents(); |
| m_audioTracks.reserveCapacity(numberOfAudioTracks); |
| for (size_t i = 0; i < numberOfAudioTracks; i++) { |
| - RefPtr<MediaStreamTrack> newTrack = MediaStreamTrack::create(context, m_descriptor->audioComponent(i)); |
| + RefPtrWillBeRawPtr<MediaStreamTrack> newTrack = MediaStreamTrack::create(context, m_descriptor->audioComponent(i)); |
| newTrack->addObserver(this); |
| m_audioTracks.append(newTrack.release()); |
| } |
| @@ -115,7 +115,7 @@ MediaStream::MediaStream(ExecutionContext* context, PassRefPtr<MediaStreamDescri |
| size_t numberOfVideoTracks = m_descriptor->numberOfVideoComponents(); |
| m_videoTracks.reserveCapacity(numberOfVideoTracks); |
| for (size_t i = 0; i < numberOfVideoTracks; i++) { |
| - RefPtr<MediaStreamTrack> newTrack = MediaStreamTrack::create(context, m_descriptor->videoComponent(i)); |
| + RefPtrWillBeRawPtr<MediaStreamTrack> newTrack = MediaStreamTrack::create(context, m_descriptor->videoComponent(i)); |
| newTrack->addObserver(this); |
| m_videoTracks.append(newTrack.release()); |
| } |
| @@ -165,7 +165,7 @@ bool MediaStream::ended() const |
| return m_stopped || m_descriptor->ended(); |
| } |
| -void MediaStream::addTrack(PassRefPtr<MediaStreamTrack> prpTrack, ExceptionState& exceptionState) |
| +void MediaStream::addTrack(PassRefPtrWillBeRawPtr<MediaStreamTrack> prpTrack, ExceptionState& exceptionState) |
| { |
| if (ended()) { |
| exceptionState.throwDOMException(InvalidStateError, "The MediaStream is finished."); |
| @@ -177,7 +177,7 @@ void MediaStream::addTrack(PassRefPtr<MediaStreamTrack> prpTrack, ExceptionState |
| return; |
| } |
| - RefPtr<MediaStreamTrack> track = prpTrack; |
| + RefPtrWillBeRawPtr<MediaStreamTrack> track = prpTrack; |
| if (getTrackById(track->id())) |
| return; |
| @@ -195,7 +195,7 @@ void MediaStream::addTrack(PassRefPtr<MediaStreamTrack> prpTrack, ExceptionState |
| MediaStreamCenter::instance().didAddMediaStreamTrack(m_descriptor.get(), track->component()); |
| } |
| -void MediaStream::removeTrack(PassRefPtr<MediaStreamTrack> prpTrack, ExceptionState& exceptionState) |
| +void MediaStream::removeTrack(PassRefPtrWillBeRawPtr<MediaStreamTrack> prpTrack, ExceptionState& exceptionState) |
| { |
| if (ended()) { |
| exceptionState.throwDOMException(InvalidStateError, "The MediaStream is finished."); |
| @@ -207,7 +207,7 @@ void MediaStream::removeTrack(PassRefPtr<MediaStreamTrack> prpTrack, ExceptionSt |
| return; |
| } |
| - RefPtr<MediaStreamTrack> track = prpTrack; |
| + RefPtrWillBeRawPtr<MediaStreamTrack> track = prpTrack; |
| size_t pos = kNotFound; |
| switch (track->component()->source()->type()) { |
| @@ -250,14 +250,14 @@ MediaStreamTrack* MediaStream::getTrackById(String id) |
| return 0; |
| } |
| -PassRefPtr<MediaStream> MediaStream::clone(ExecutionContext* context) |
| +PassRefPtrWillBeRawPtr<MediaStream> MediaStream::clone(ExecutionContext* context) |
| { |
| MediaStreamTrackVector tracks; |
| for (MediaStreamTrackVector::iterator iter = m_audioTracks.begin(); iter != m_audioTracks.end(); ++iter) |
| tracks.append((*iter)->clone(context)); |
| for (MediaStreamTrackVector::iterator iter = m_videoTracks.begin(); iter != m_videoTracks.end(); ++iter) |
| tracks.append((*iter)->clone(context)); |
| - RefPtr<MediaStream> clonedStream = MediaStream::create(context, tracks); |
| + RefPtrWillBeRawPtr<MediaStream> clonedStream = MediaStream::create(context, tracks); |
|
sof
2014/04/07 14:22:16
No need to bind this to 'clonedStream' before retu
keishi
2014/04/11 20:03:06
Done.
|
| return clonedStream.release(); |
| } |
| @@ -317,7 +317,7 @@ void MediaStream::addRemoteTrack(MediaStreamComponent* component) |
| if (ended()) |
| return; |
| - RefPtr<MediaStreamTrack> track = MediaStreamTrack::create(executionContext(), component); |
| + RefPtrWillBeRawPtr<MediaStreamTrack> track = MediaStreamTrack::create(executionContext(), component); |
| switch (component->source()->type()) { |
| case MediaStreamSource::TypeAudio: |
| m_audioTracks.append(track); |
| @@ -359,7 +359,7 @@ void MediaStream::removeRemoteTrack(MediaStreamComponent* component) |
| m_descriptor->removeComponent(component); |
| - RefPtr<MediaStreamTrack> track = (*tracks)[index]; |
| + RefPtrWillBeRawPtr<MediaStreamTrack> track = (*tracks)[index]; |
| track->removeObserver(this); |
| tracks->remove(index); |
| scheduleDispatchEvent(MediaStreamTrackEvent::create(EventTypeNames::removetrack, false, false, track)); |
| @@ -393,4 +393,11 @@ URLRegistry& MediaStream::registry() const |
| return MediaStreamRegistry::registry(); |
| } |
| +void MediaStream::trace(Visitor* visitor) |
| +{ |
| + visitor->trace(m_audioTracks); |
| + visitor->trace(m_videoTracks); |
| + visitor->trace(m_scheduledEvents); |
| +} |
| + |
| } // namespace WebCore |