When muting or unmuting a tab that plays audio, we currently disable any other tab capturing. We should make sure to only disable other tabs capturing if the tab will or is capturing.
rdar://problem/33223988
Created attachment 315083 [details] Patch
I was not sure what to do with interrupted sources. Currently, they are not taken into account.
Comment on attachment 315083 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=315083&action=review > Source/WebKit2/UIProcess/WebPageProxy.cpp:4147 > + bool hasMutedCaptureStreams = (m_mediaState & WebCore::MediaProducer::HasMutedAudioCaptureDevice) || (m_mediaState & WebCore::MediaProducer::HasMutedVideoCaptureDevice); Nit: "bool hasMutedCaptureStreams = m_mediaState & (WebCore::MediaProducer::HasMutedAudioCaptureDevice | WebCore::MediaProducer::HasMutedVideoCaptureDevice);" would be slightly easier to read
Created attachment 315109 [details] Patch for landing
Thanks for the review. (In reply to Eric Carlson from comment #4) > Comment on attachment 315083 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=315083&action=review > > > Source/WebKit2/UIProcess/WebPageProxy.cpp:4147 > > + bool hasMutedCaptureStreams = (m_mediaState & WebCore::MediaProducer::HasMutedAudioCaptureDevice) || (m_mediaState & WebCore::MediaProducer::HasMutedVideoCaptureDevice); > > Nit: "bool hasMutedCaptureStreams = m_mediaState & > (WebCore::MediaProducer::HasMutedAudioCaptureDevice | > WebCore::MediaProducer::HasMutedVideoCaptureDevice);" would be slightly > easier to read Done
Comment on attachment 315109 [details] Patch for landing Clearing flags on attachment: 315109 Committed r219330: <http://trac.webkit.org/changeset/219330>
All reviewed patches have been landed. Closing bug.
(In reply to WebKit Commit Bot from comment #7) > Comment on attachment 315109 [details] > Patch for landing > > Clearing flags on attachment: 315109 > > Committed r219330: <http://trac.webkit.org/changeset/219330> I think this broke with ! ENABLE(MEDIA_STREAM) FAILED: [...] -o Source/WebKit2/CMakeFiles/WebKit2.dir/UIProcess/WebPageProxy.cpp.o -c ../../Source/WebKit2/UIProcess/WebPageProxy.cpp ../../Source/WebKit2/UIProcess/WebPageProxy.cpp: In member function ‘void WebKit::WebPageProxy::activateMediaStreamCaptureInPage()’: ../../Source/WebKit2/UIProcess/WebPageProxy.cpp:1672:5: error: ‘UserMediaProcessManager’ has not been declared UserMediaProcessManager::singleton().muteCaptureMediaStreamsExceptIn(*this); ^ At global scope: https://build.webkit.org/builders/GTK%20Linux%2064-bit%20Release%20Ubuntu%20LTS%20%28Build%29/builds/3615/steps/compile-webkit/logs/stdio
Will fix it
Reopening to attach new patch.
Created attachment 315115 [details] Fixing build
WPEbot seems happy now, sorry for not catching its red bubble!
The commit queue is taking two much to land this (2 hours already). And the WPE bots/EWS are currently broken due to this. I'm landing it manually.
Comment on attachment 315115 [details] Fixing build Clearing flags on attachment: 315115 Committed r219344: <http://trac.webkit.org/changeset/219344>