Changeset 268477 in webkit
- Timestamp:
- Oct 14, 2020 11:56:04 AM (4 years ago)
- Location:
- trunk
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/imported/w3c/ChangeLog
r268424 r268477 1 2020-10-14 Youenn Fablet <youenn@apple.com> 2 3 MediaRecorder .stop should not throw in Inactive state 4 https://bugs.webkit.org/show_bug.cgi?id=217705 5 6 Reviewed by Eric Carlson. 7 8 fix-217705 9 10 * web-platform-tests/mediacapture-record/MediaRecorder-stop-expected.txt: 11 * web-platform-tests/mediacapture-record/MediaRecorder-stop.html: 12 1 13 2020-10-13 Chris Dumez <cdumez@apple.com> 2 14 -
trunk/LayoutTests/imported/w3c/web-platform-tests/mediacapture-record/MediaRecorder-stop-expected.txt
r268119 r268477 2 2 PASS MediaRecorder will stop recording and fire a stop event when all tracks are ended 3 3 PASS MediaRecorder will stop recording and fire a stop event when stop() is called 4 PASS MediaRecorder will fire an exception when stopped after creation5 PASS MediaRecorder will fire an exception when stopped after having just been stopped6 PASS MediaRecorder will fire an exception when stopped after having just been spontaneously stopped4 PASS MediaRecorder will not fire an exception when stopped after creation 5 PASS MediaRecorder will not fire an exception when stopped after having just been stopped 6 PASS MediaRecorder will not fire an exception when stopped after having just been spontaneously stopped 7 7 PASS MediaRecorder will fire start event even if stopped synchronously 8 8 PASS MediaRecorder will fire start event even if a track is removed synchronously -
trunk/LayoutTests/imported/w3c/web-platform-tests/mediacapture-record/MediaRecorder-stop.html
r268119 r268477 84 84 promise_test(async t => { 85 85 const recorder = new MediaRecorder(createVideoStream()); 86 assert_throws_dom("InvalidStateError", () => { recorder.stop(); });86 recorder.stop(); 87 87 await Promise.race([ 88 88 new Promise((_, reject) => recorder.onstop = 89 89 _ => reject(new Error("onstop should never have been called"))), 90 90 new Promise(r => t.step_timeout(r, 0))]); 91 }, "MediaRecorder will fire an exception when stopped after creation");91 }, "MediaRecorder will not fire an exception when stopped after creation"); 92 92 93 93 promise_test(async t => { … … 96 96 recorder.stop(); 97 97 let event = await new Promise(r => recorder.onstop = r); 98 assert_throws_dom("InvalidStateError", () => { recorder.stop(); });98 recorder.stop(); 99 99 await Promise.race([ 100 100 new Promise((_, reject) => recorder.onstop = 101 101 _ => reject(new Error("onstop should never have been called"))), 102 102 new Promise(r => t.step_timeout(r, 0))]); 103 }, "MediaRecorder will fire an exception when stopped after having just been stopped");103 }, "MediaRecorder will not fire an exception when stopped after having just been stopped"); 104 104 105 105 promise_test(async t => { … … 109 109 stream.getVideoTracks()[0].stop(); 110 110 let event = await new Promise(r => recorder.onstop = r); 111 assert_throws_dom("InvalidStateError", () => { recorder.stop(); });111 recorder.stop(); 112 112 await Promise.race([ 113 113 new Promise((_, reject) => recorder.onstop = 114 114 _ => reject(new Error("onstop should never have been called"))), 115 115 new Promise(r => t.step_timeout(r, 0))]); 116 }, "MediaRecorder will fire an exception when stopped after having just been spontaneously stopped");116 }, "MediaRecorder will not fire an exception when stopped after having just been spontaneously stopped"); 117 117 118 118 promise_test(async t => { -
trunk/Source/WebCore/ChangeLog
r268476 r268477 1 2020-10-14 Youenn Fablet <youenn@apple.com> 2 3 MediaRecorder .stop should not throw in Inactive state 4 https://bugs.webkit.org/show_bug.cgi?id=217705 5 6 Reviewed by Eric Carlson. 7 8 Update according spec changes in https://github.com/w3c/mediacapture-record/pull/158. 9 stop no longer throws if media recorder is inactive. 10 Covered by updated test. 11 12 * Modules/mediarecorder/MediaRecorder.cpp: 13 (WebCore::MediaRecorder::stopRecording): 14 * Modules/mediarecorder/MediaRecorder.h: 15 * Modules/mediarecorder/MediaRecorder.idl: 16 1 17 2020-10-13 Simon Fraser <simon.fraser@apple.com> 2 18 -
trunk/Source/WebCore/Modules/mediarecorder/MediaRecorder.cpp
r268363 r268477 203 203 } 204 204 205 ExceptionOr<void>MediaRecorder::stopRecording()205 void MediaRecorder::stopRecording() 206 206 { 207 207 if (state() == RecordingState::Inactive) 208 return Exception { InvalidStateError, "The MediaRecorder's state cannot be inactive"_s };208 return; 209 209 210 210 stopRecordingInternal(); … … 219 219 dispatchEvent(Event::create(eventNames().stopEvent, Event::CanBubble::No, Event::IsCancelable::No)); 220 220 }, TakePrivateRecorder::Yes); 221 return { };221 return; 222 222 } 223 223 -
trunk/Source/WebCore/Modules/mediarecorder/MediaRecorder.h
r268363 r268477 70 70 71 71 ExceptionOr<void> startRecording(Optional<unsigned>); 72 ExceptionOr<void>stopRecording();72 void stopRecording(); 73 73 ExceptionOr<void> requestData(); 74 74 ExceptionOr<void> pauseRecording(); -
trunk/Source/WebCore/Modules/mediarecorder/MediaRecorder.idl
r268363 r268477 47 47 48 48 [MayThrowException, ImplementedAs=startRecording] undefined start(optional unsigned long timeslice); 49 [ MayThrowException,ImplementedAs=stopRecording] undefined stop();49 [ImplementedAs=stopRecording] undefined stop(); 50 50 [MayThrowException, ImplementedAs=pauseRecording] undefined pause(); 51 51 [MayThrowException, ImplementedAs=resumeRecording] undefined resume();
Note: See TracChangeset
for help on using the changeset viewer.