Diff
Modified: trunk/Source/WebCore/ChangeLog (208686 => 208687)
--- trunk/Source/WebCore/ChangeLog 2016-11-14 17:40:41 UTC (rev 208686)
+++ trunk/Source/WebCore/ChangeLog 2016-11-14 17:46:10 UTC (rev 208687)
@@ -1,3 +1,24 @@
+2016-11-14 Youenn Fablet <[email protected]>
+
+ MediaStreamPrivate::create should take vectors of Ref
+ https://bugs.webkit.org/show_bug.cgi?id=164670
+
+ Reviewed by Sam Weinig.
+
+ No change of behavior.
+
+ * Modules/webaudio/MediaStreamAudioDestinationNode.cpp:
+ (WebCore::MediaStreamAudioDestinationNode::MediaStreamAudioDestinationNode):
+ * platform/mediastream/MediaStreamPrivate.cpp:
+ (WebCore::MediaStreamPrivate::create):
+ * platform/mediastream/MediaStreamPrivate.h:
+ * platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp:
+ (WebCore::RealtimeMediaSourceCenterMac::createMediaStream):
+ * platform/mediastream/openwebrtc/RealtimeMediaSourceCenterOwr.cpp:
+ (WebCore::RealtimeMediaSourceCenterOwr::mediaSourcesAvailable):
+ * platform/mock/MockRealtimeMediaSourceCenter.cpp:
+ (WebCore::MockRealtimeMediaSourceCenter::createMediaStream):
+
2016-11-14 Joanmarie Diggs <[email protected]>
AX: [ATK] Expose STATE_SINGLE_LINE and STATE_MULTI_LINE for ARIA searchbox role
Modified: trunk/Source/WebCore/Modules/webaudio/MediaStreamAudioDestinationNode.cpp (208686 => 208687)
--- trunk/Source/WebCore/Modules/webaudio/MediaStreamAudioDestinationNode.cpp 2016-11-14 17:40:41 UTC (rev 208686)
+++ trunk/Source/WebCore/Modules/webaudio/MediaStreamAudioDestinationNode.cpp 2016-11-14 17:46:10 UTC (rev 208687)
@@ -49,8 +49,9 @@
setNodeType(NodeTypeMediaStreamAudioDestination);
m_source = MediaStreamAudioSource::create();
- Vector<RefPtr<RealtimeMediaSource>> audioSources(1, m_source);
- m_stream = MediaStream::create(*context.scriptExecutionContext(), MediaStreamPrivate::create(WTFMove(audioSources), Vector<RefPtr<RealtimeMediaSource>>()));
+ Vector<Ref<RealtimeMediaSource>> audioSources;
+ audioSources.append(*m_source);
+ m_stream = MediaStream::create(*context.scriptExecutionContext(), MediaStreamPrivate::create(audioSources, { }));
m_source->setAudioFormat(numberOfChannels, context.sampleRate());
Modified: trunk/Source/WebCore/platform/mediastream/MediaStreamPrivate.cpp (208686 => 208687)
--- trunk/Source/WebCore/platform/mediastream/MediaStreamPrivate.cpp 2016-11-14 17:40:41 UTC (rev 208686)
+++ trunk/Source/WebCore/platform/mediastream/MediaStreamPrivate.cpp 2016-11-14 17:46:10 UTC (rev 208687)
@@ -45,27 +45,23 @@
namespace WebCore {
-RefPtr<MediaStreamPrivate> MediaStreamPrivate::create(const Vector<RefPtr<RealtimeMediaSource>>& audioSources, const Vector<RefPtr<RealtimeMediaSource>>& videoSources)
+Ref<MediaStreamPrivate> MediaStreamPrivate::create(const Vector<Ref<RealtimeMediaSource>>& audioSources, const Vector<Ref<RealtimeMediaSource>>& videoSources)
{
MediaStreamTrackPrivateVector tracks;
- tracks.reserveCapacity(audioSources.size() + videoSources.size());
+ tracks.reserveInitialCapacity(audioSources.size() + videoSources.size());
- for (auto source : audioSources) {
- ASSERT(source);
- tracks.append(MediaStreamTrackPrivate::create(source.releaseNonNull()));
- }
+ for (auto& source : audioSources)
+ tracks.uncheckedAppend(MediaStreamTrackPrivate::create(source.copyRef()));
- for (auto source : videoSources) {
- ASSERT(source);
- tracks.append(MediaStreamTrackPrivate::create(source.releaseNonNull()));
- }
+ for (auto& source : videoSources)
+ tracks.uncheckedAppend(MediaStreamTrackPrivate::create(source.copyRef()));
return MediaStreamPrivate::create(tracks);
}
-RefPtr<MediaStreamPrivate> MediaStreamPrivate::create(const MediaStreamTrackPrivateVector& tracks)
+Ref<MediaStreamPrivate> MediaStreamPrivate::create(const MediaStreamTrackPrivateVector& tracks)
{
- return adoptRef(new MediaStreamPrivate(createCanonicalUUIDString(), tracks));
+ return adoptRef(*new MediaStreamPrivate(createCanonicalUUIDString(), tracks));
}
MediaStreamPrivate::MediaStreamPrivate(const String& id, const MediaStreamTrackPrivateVector& tracks)
Modified: trunk/Source/WebCore/platform/mediastream/MediaStreamPrivate.h (208686 => 208687)
--- trunk/Source/WebCore/platform/mediastream/MediaStreamPrivate.h 2016-11-14 17:40:41 UTC (rev 208686)
+++ trunk/Source/WebCore/platform/mediastream/MediaStreamPrivate.h 2016-11-14 17:46:10 UTC (rev 208687)
@@ -68,8 +68,8 @@
virtual void didRemoveTrack(MediaStreamTrackPrivate&) { }
};
- static RefPtr<MediaStreamPrivate> create(const Vector<RefPtr<RealtimeMediaSource>>& audioSources, const Vector<RefPtr<RealtimeMediaSource>>& videoSources);
- static RefPtr<MediaStreamPrivate> create(const MediaStreamTrackPrivateVector&);
+ static Ref<MediaStreamPrivate> create(const Vector<Ref<RealtimeMediaSource>>& audioSources, const Vector<Ref<RealtimeMediaSource>>& videoSources);
+ static Ref<MediaStreamPrivate> create(const MediaStreamTrackPrivateVector&);
virtual ~MediaStreamPrivate();
Modified: trunk/Source/WebCore/platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp (208686 => 208687)
--- trunk/Source/WebCore/platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp 2016-11-14 17:40:41 UTC (rev 208686)
+++ trunk/Source/WebCore/platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp 2016-11-14 17:46:10 UTC (rev 208687)
@@ -93,8 +93,8 @@
void RealtimeMediaSourceCenterMac::createMediaStream(NewMediaStreamHandler completionHandler, const String& audioDeviceID, const String& videoDeviceID, const MediaConstraints* audioConstraints, const MediaConstraints* videoConstraints)
{
- Vector<RefPtr<RealtimeMediaSource>> audioSources;
- Vector<RefPtr<RealtimeMediaSource>> videoSources;
+ Vector<Ref<RealtimeMediaSource>> audioSources;
+ Vector<Ref<RealtimeMediaSource>> videoSources;
String invalidConstraint;
if (!audioDeviceID.isEmpty()) {
@@ -105,7 +105,7 @@
#endif
if (audioSource)
- audioSources.append(WTFMove(audioSource));
+ audioSources.append(audioSource.releaseNonNull());
}
if (!videoDeviceID.isEmpty()) {
auto videoSource = AVCaptureDeviceManager::singleton().sourceWithUID(videoDeviceID, RealtimeMediaSource::Video, videoConstraints, invalidConstraint);
@@ -114,7 +114,7 @@
LOG(Media, "RealtimeMediaSourceCenterMac::createMediaStream(%p), video constraints failed to apply: %s", this, invalidConstraint.utf8().data());
#endif
if (videoSource)
- videoSources.append(WTFMove(videoSource));
+ videoSources.append(videoSource.releaseNonNull());
}
if (videoSources.isEmpty() && audioSources.isEmpty())
Modified: trunk/Source/WebCore/platform/mediastream/openwebrtc/RealtimeMediaSourceCenterOwr.cpp (208686 => 208687)
--- trunk/Source/WebCore/platform/mediastream/openwebrtc/RealtimeMediaSourceCenterOwr.cpp 2016-11-14 17:40:41 UTC (rev 208686)
+++ trunk/Source/WebCore/platform/mediastream/openwebrtc/RealtimeMediaSourceCenterOwr.cpp 2016-11-14 17:46:10 UTC (rev 208687)
@@ -120,8 +120,8 @@
void RealtimeMediaSourceCenterOwr::mediaSourcesAvailable(GList* sources)
{
- Vector<RefPtr<RealtimeMediaSource>> audioSources;
- Vector<RefPtr<RealtimeMediaSource>> videoSources;
+ Vector<Ref<RealtimeMediaSource>> audioSources;
+ Vector<Ref<RealtimeMediaSource>> videoSources;
for (auto item = sources; item; item = item->next) {
OwrMediaSource* source = OWR_MEDIA_SOURCE(item->data);
@@ -149,16 +149,16 @@
ASSERT_NOT_REACHED();
}
- RefPtr<RealtimeMediaSourceOwr> mediaSource = adoptRef(new RealtimeMediaSourceOwr(source, id, mediaSourceType, sourceName));
+ auto mediaSource = adoptRef(*new RealtimeMediaSourceOwr(source, id, mediaSourceType, sourceName));
RealtimeMediaSourceOwrMap::iterator sourceIterator = m_sourceMap.find(id);
if (sourceIterator == m_sourceMap.end())
- m_sourceMap.add(id, mediaSource);
+ m_sourceMap.add(id, mediaSource.copyRef());
if (mediaType & OWR_MEDIA_TYPE_AUDIO)
- audioSources.append(mediaSource);
+ audioSources.append(WTFMove(mediaSource));
else if (mediaType & OWR_MEDIA_TYPE_VIDEO)
- videoSources.append(mediaSource);
+ videoSources.append(WTFMove(mediaSource));
}
if (videoSources.isEmpty() && audioSources.isEmpty())
Modified: trunk/Source/WebCore/platform/mock/MockRealtimeMediaSourceCenter.cpp (208686 => 208687)
--- trunk/Source/WebCore/platform/mock/MockRealtimeMediaSourceCenter.cpp 2016-11-14 17:40:41 UTC (rev 208686)
+++ trunk/Source/WebCore/platform/mock/MockRealtimeMediaSourceCenter.cpp 2016-11-14 17:46:10 UTC (rev 208687)
@@ -100,19 +100,19 @@
void MockRealtimeMediaSourceCenter::createMediaStream(NewMediaStreamHandler completionHandler, const String& audioDeviceID, const String& videoDeviceID, const MediaConstraints* audioConstraints, const MediaConstraints* videoConstraints)
{
- Vector<RefPtr<RealtimeMediaSource>> audioSources;
- Vector<RefPtr<RealtimeMediaSource>> videoSources;
+ Vector<Ref<RealtimeMediaSource>> audioSources;
+ Vector<Ref<RealtimeMediaSource>> videoSources;
if (audioDeviceID == MockRealtimeMediaSource::mockAudioSourcePersistentID()) {
auto source = MockRealtimeAudioSource::create(MockRealtimeMediaSource::mockAudioSourceName(), audioConstraints);
if (source)
- audioSources.append(source.leakRef());
+ audioSources.append(source.releaseNonNull());
}
if (videoDeviceID == MockRealtimeMediaSource::mockVideoSourcePersistentID()) {
auto source = MockRealtimeVideoSource::create(MockRealtimeMediaSource::mockVideoSourceName(), videoConstraints);
if (source)
- videoSources.append(source.leakRef());
+ videoSources.append(source.releaseNonNull());
}
if (videoSources.isEmpty() && audioSources.isEmpty())