ASSIGNED 171292
[MediaStream] Allow host application to enable/disable media capture
https://bugs.webkit.org/show_bug.cgi?id=171292
Summary [MediaStream] Allow host application to enable/disable media capture
Andrew Gold
Reported 2017-04-25 14:40:35 PDT
Because the media stream has been cut off by the system when the app enters the background, muting the page while the host application is in the background does not properly update the state, and therefore when the app re-enters the foreground the media stream becomes unmuted.
Attachments
Proposed patch. (47.79 KB, patch)
2017-05-03 15:24 PDT, Eric Carlson
jer.noble: review+
Rebased patch. (47.78 KB, patch)
2017-05-03 15:31 PDT, Eric Carlson
no flags
Patch for landing. (48.01 KB, patch)
2017-05-03 15:44 PDT, Eric Carlson
commit-queue: commit-queue-
Updated patch. (47.64 KB, patch)
2017-05-03 16:40 PDT, Eric Carlson
no flags
Another patch for landing. (47.92 KB, patch)
2017-05-03 16:57 PDT, Eric Carlson
no flags
Update patch. (46.90 KB, patch)
2017-05-03 21:07 PDT, Eric Carlson
no flags
One more time. (47.08 KB, patch)
2017-05-04 10:23 PDT, Eric Carlson
buildbot: commit-queue-
Archive of layout-test-results from ews125 for ios-simulator-wk2 (11.35 MB, application/zip)
2017-05-04 12:11 PDT, Build Bot
no flags
Radar WebKit Bug Importer
Comment 1 2017-04-25 14:41:11 PDT
Eric Carlson
Comment 2 2017-05-03 15:24:03 PDT
Created attachment 308966 [details] Proposed patch.
Eric Carlson
Comment 3 2017-05-03 15:31:15 PDT
Created attachment 308972 [details] Rebased patch.
Jer Noble
Comment 4 2017-05-03 15:33:50 PDT
Comment on attachment 308966 [details] Proposed patch. View in context: https://bugs.webkit.org/attachment.cgi?id=308966&action=review > Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp:129 > - m_ended = true; > + if (mode == StopMode::Silently) > + m_ended = true; > + > + > m_private->endTrack(); > + m_ended = true; Nit: I think this may deserve a comment; the side effects here are subtle, and it would be a shame if a future developer (e.g., me) accidentally broke this.
Eric Carlson
Comment 5 2017-05-03 15:44:13 PDT
Created attachment 308977 [details] Patch for landing.
Build Bot
Comment 6 2017-05-03 15:46:12 PDT
Attachment 308977 [details] did not pass style-queue: ERROR: Source/WebKit2/UIProcess/UserMediaProcessManager.cpp:250: One line control clauses should not use braces. [whitespace/braces] [4] Total errors found: 1 in 35 files If any of these errors are false positives, please file a bug against check-webkit-style.
WebKit Commit Bot
Comment 7 2017-05-03 16:25:36 PDT
Comment on attachment 308977 [details] Patch for landing. Rejecting attachment 308977 [details] from commit-queue. Failed to run "['/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch', '--status-host=webkit-queues.webkit.org', '--bot-id=webkit-cq-01', 'build', '--no-clean', '--no-update', '--build-style=release', '--port=mac']" exit_code: 2 cwd: /Volumes/Data/EWS/WebKit Last 500 characters of output: WebKit/Tools/WebKitTestRunner/WorkQueueManager.cpp -o /Volumes/Data/EWS/WebKit/WebKitBuild/WebKitTestRunner.build/Release/WebKitTestRunner\ (Library).build/Objects-normal/x86_64/WorkQueueManager.o ** BUILD FAILED ** The following build commands failed: CompileC /Volumes/Data/EWS/WebKit/WebKitBuild/WebKitTestRunner.build/Release/WebKitTestRunner\ (Library).build/Objects-normal/x86_64/TestController.o TestController.cpp normal x86_64 c++ com.apple.compilers.llvm.clang.1_0.compiler (1 failure) Full output: http://webkit-queues.webkit.org/results/3667447
Eric Carlson
Comment 8 2017-05-03 16:40:50 PDT
Created attachment 308983 [details] Updated patch.
Eric Carlson
Comment 9 2017-05-03 16:57:16 PDT
Created attachment 308988 [details] Another patch for landing.
Eric Carlson
Comment 10 2017-05-03 17:04:11 PDT
Comment on attachment 308988 [details] Another patch for landing. Committed r216160: https://trac.webkit.org/r216160
Matt Lewis
Comment 11 2017-05-03 18:03:44 PDT
Ryan Haddad
Comment 12 2017-05-03 18:07:22 PDT
It also looks like there was an API test failures on macOS before this was rolled out: https://build.webkit.org/builders/Apple%20Sierra%20Release%20WK1%20(Tests)/builds/1252 FAIL MediaCaptureDisabledTest.EnableAndDisable /Volumes/Data/slave/sierra-release/build/Tools/TestWebKitAPI/Tests/WebKit2Cocoa/UserMediaDisabled.mm:119 Value of: message Actual: "allowed" Expected: [(NSString *)[lastScriptMessage body] UTF8String] Which is: "gUM allowed" /Volumes/Data/slave/sierra-release/build/Tools/TestWebKitAPI/Tests/WebKit2Cocoa/UserMediaDisabled.mm:119 Value of: message Actual: "denied" Expected: [(NSString *)[lastScriptMessage body] UTF8String] Which is: "gUM denied" /Volumes/Data/slave/sierra-release/build/Tools/TestWebKitAPI/Tests/WebKit2Cocoa/UserMediaDisabled.mm:119 Value of: message Actual: "allowed" Expected: [(NSString *)[lastScriptMessage body] UTF8String] Which is: "gUM allowed"
Eric Carlson
Comment 13 2017-05-03 21:07:09 PDT
Created attachment 309008 [details] Update patch.
WebKit Commit Bot
Comment 14 2017-05-03 21:48:11 PDT
Comment on attachment 309008 [details] Update patch. Clearing flags on attachment: 309008 Committed r216172: <http://trac.webkit.org/changeset/216172>
Eric Carlson
Comment 15 2017-05-04 09:47:48 PDT
Rolled out in r216183.
Eric Carlson
Comment 16 2017-05-04 10:23:46 PDT
Created attachment 309060 [details] One more time.
WebKit Commit Bot
Comment 17 2017-05-04 11:32:34 PDT
Comment on attachment 309060 [details] One more time. Clearing flags on attachment: 309060 Committed r216197: <http://trac.webkit.org/changeset/216197>
Build Bot
Comment 18 2017-05-04 12:11:15 PDT
Comment on attachment 309060 [details] One more time. Attachment 309060 [details] did not pass ios-sim-ews (ios-simulator-wk2): Output: http://webkit-queues.webkit.org/results/3673639 New failing tests: webrtc/audio-replace-track.html
Build Bot
Comment 19 2017-05-04 12:11:17 PDT
Created attachment 309080 [details] Archive of layout-test-results from ews125 for ios-simulator-wk2 The attached test failures were seen while running run-webkit-tests on the ios-sim-ews. Bot: ews125 Port: ios-simulator-wk2 Platform: Mac OS X 10.11.6
Ryan Haddad
Comment 20 2017-05-04 23:50:46 PDT
(In reply to Build Bot from comment #18) > Comment on attachment 309060 [details] > One more time. > > Attachment 309060 [details] did not pass ios-sim-ews (ios-simulator-wk2): > Output: http://webkit-queues.webkit.org/results/3673639 > > New failing tests: > webrtc/audio-replace-track.html This test is failing on iOS simulator after r216197 landed (alongside a timeout seen with webrtc/video-replace-track.html) https://build.webkit.org/builders/Apple%20iOS%2010%20Simulator%20Release%20WK2%20(Tests)/builds/1185
Eric Carlson
Comment 21 2017-05-05 08:56:17 PDT
(In reply to Ryan Haddad from comment #20) > (In reply to Build Bot from comment #18) > > Comment on attachment 309060 [details] > > One more time. > > > > Attachment 309060 [details] did not pass ios-sim-ews (ios-simulator-wk2): > > Output: http://webkit-queues.webkit.org/results/3673639 > > > > New failing tests: > > webrtc/audio-replace-track.html > > This test is failing on iOS simulator after r216197 landed (alongside a > timeout seen with webrtc/video-replace-track.html) > > https://build.webkit.org/builders/ > Apple%20iOS%2010%20Simulator%20Release%20WK2%20(Tests)/builds/1185 Filed https://bugs.webkit.org/show_bug.cgi?id=171728.
Jon Lee
Comment 22 2017-05-16 11:08:32 PDT
*** Bug 169304 has been marked as a duplicate of this bug. ***
Note You need to log in before you can comment on or make changes to this bug.