Update the MediaStream API to match the latest Media Capture and Streams specification [1]. In WebKit, the MediaStream API is mainly implemented by MediaStream and MediaStreamTrack with their corresponding platform representations, and RealtimeMediaSource. [1] http://w3c.github.io/mediacapture-main/archives/20150523/getusermedia.html
Created attachment 255723 [details] Proposed patch Proposed patch
Comment on attachment 255723 [details] Proposed patch View in context: https://bugs.webkit.org/attachment.cgi?id=255723&action=review > Source/WebCore/platform/mediastream/MediaStreamPrivate.cpp:90 > + Vector<RefPtr<MediaStreamTrackPrivate>> tracks; > + tracks.reserveCapacity(m_trackSet.size()); > > - unsigned providedTracksSize = audioPrivateTracks.size() + videoPrivateTracks.size(); > - unsigned tracksSize = m_audioPrivateTracks.size() + m_videoPrivateTracks.size(); > + for (auto& track : m_trackSet.values()) > + tracks.append(track); > > - if (providedTracksSize > 0 && tracksSize > 0) > - m_isActive = true; > + return tracks; Nit: you could use copyValuesToVector here. > Source/WebCore/platform/mediastream/MediaStreamPrivate.h:65 > + enum NotifyClientOption { NotifyClient, DontNotifyClient }; This should be "enum class".
(In reply to comment #2) > Comment on attachment 255723 [details] > Proposed patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=255723&action=review > > > Source/WebCore/platform/mediastream/MediaStreamPrivate.cpp:90 > > + Vector<RefPtr<MediaStreamTrackPrivate>> tracks; > > + tracks.reserveCapacity(m_trackSet.size()); > > > > - unsigned providedTracksSize = audioPrivateTracks.size() + videoPrivateTracks.size(); > > - unsigned tracksSize = m_audioPrivateTracks.size() + m_videoPrivateTracks.size(); > > + for (auto& track : m_trackSet.values()) > > + tracks.append(track); > > > > - if (providedTracksSize > 0 && tracksSize > 0) > > - m_isActive = true; > > + return tracks; > > Nit: you could use copyValuesToVector here. Fixed. > > Source/WebCore/platform/mediastream/MediaStreamPrivate.h:65 > > + enum NotifyClientOption { NotifyClient, DontNotifyClient }; > > This should be "enum class". Fixed (fixed other enum as well)
Created attachment 255747 [details] Patch for landing
Thanks Eric for reviewing. I'll let the EWS complete before setting cq+.
Created attachment 255764 [details] Patch for landing With reviewer name added
Comment on attachment 255764 [details] Patch for landing Clearing flags on attachment: 255764 Committed r186081: <http://trac.webkit.org/changeset/186081>
All reviewed patches have been landed. Closing bug.