Diff
Modified: trunk/LayoutTests/ChangeLog (272612 => 272613)
--- trunk/LayoutTests/ChangeLog 2021-02-09 22:07:12 UTC (rev 272612)
+++ trunk/LayoutTests/ChangeLog 2021-02-09 22:12:57 UTC (rev 272613)
@@ -1,3 +1,15 @@
+2021-02-09 Ryan Haddad <[email protected]>
+
+ Unreviewed, reverting r272426.
+
+ Caused test failures / flakiness
+
+ Reverted changeset:
+
+ "Remove GPUProcess flag in MediaRecorder tests"
+ https://bugs.webkit.org/show_bug.cgi?id=221401
+ https://trac.webkit.org/changeset/272426
+
2021-02-09 Martin Robinson <[email protected]>
Implement scroll-snap-stop for scroll snapping
Modified: trunk/LayoutTests/http/wpt/mediarecorder/MediaRecorder-AV-audio-video-dataavailable-expected.txt (272612 => 272613)
--- trunk/LayoutTests/http/wpt/mediarecorder/MediaRecorder-AV-audio-video-dataavailable-expected.txt 2021-02-09 22:07:12 UTC (rev 272612)
+++ trunk/LayoutTests/http/wpt/mediarecorder/MediaRecorder-AV-audio-video-dataavailable-expected.txt 2021-02-09 22:12:57 UTC (rev 272613)
@@ -1,4 +1,5 @@
+
PASS MediaRecorder can successfully record the video for a audio-video stream
Added: trunk/LayoutTests/http/wpt/mediarecorder/MediaRecorder-AV-audio-video-dataavailable-gpuprocess-expected.txt (0 => 272613)
--- trunk/LayoutTests/http/wpt/mediarecorder/MediaRecorder-AV-audio-video-dataavailable-gpuprocess-expected.txt (rev 0)
+++ trunk/LayoutTests/http/wpt/mediarecorder/MediaRecorder-AV-audio-video-dataavailable-gpuprocess-expected.txt 2021-02-09 22:12:57 UTC (rev 272613)
@@ -0,0 +1,4 @@
+
+
+PASS Verify MediaRecorder is working in GPUProcess
+
Copied: trunk/LayoutTests/http/wpt/mediarecorder/MediaRecorder-AV-audio-video-dataavailable-gpuprocess.html (from rev 272612, trunk/LayoutTests/http/wpt/mediarecorder/MediaRecorder-AV-audio-video-dataavailable.html) (0 => 272613)
--- trunk/LayoutTests/http/wpt/mediarecorder/MediaRecorder-AV-audio-video-dataavailable-gpuprocess.html (rev 0)
+++ trunk/LayoutTests/http/wpt/mediarecorder/MediaRecorder-AV-audio-video-dataavailable-gpuprocess.html 2021-02-09 22:12:57 UTC (rev 272613)
@@ -0,0 +1,79 @@
+<!doctype html>
+<html>
+<head>
+ <title>MediaRecorder Dataavailable</title>
+ <link rel="help" href=""
+ <script src=""
+ <script src=""
+ <script src=""
+ <link rel="stylesheet" href=""
+</head>
+<body>
+<div>
+ <video id="player">
+ </video>
+</div>
+<div>
+ <canvas id="canvas" width="200" height="200">
+ </canvas>
+ <canvas id="frame" width="200" height="200">
+ </canvas>
+</div>
+<script>
+ var context;
+ var drawStartTime;
+
+ function createVideoStream() {
+ const canvas = document.getElementById("canvas");
+ context = canvas.getContext('2d');
+ return canvas.captureStream();
+ }
+
+ function doRedImageDraw() {
+ if (context) {
+ context.fillStyle = "#ff0000";
+ context.fillRect(0, 0, 200, 200);
+ if (Date.now() - drawStartTime < 500) {
+ window.requestAnimationFrame(doRedImageDraw);
+ } else {
+ drawStartTime = Date.now();
+ doGreenImageDraw();
+ }
+ }
+ }
+
+ function doGreenImageDraw() {
+ if (context) {
+ context.fillStyle = "#00ff00";
+ context.fillRect(0, 0, 200, 200);
+ if (Date.now() - drawStartTime < 2000) {
+ window.requestAnimationFrame(doGreenImageDraw);
+ }
+ }
+ }
+
+ async_test(t => {
+ const video = createVideoStream();
+ const recorder = new MediaRecorder(video);
+ let mode = 0;
+
+ recorder._ondataavailable_ = t.step_func(blobEvent => {
+ assert_true(blobEvent instanceof BlobEvent, 'the type of event should be BlobEvent');
+ assert_equals(blobEvent.type, 'dataavailable', 'the event type should be dataavailable');
+ assert_true(blobEvent.isTrusted, 'isTrusted should be true when the event is created by C++');
+ assert_true(blobEvent.data instanceof Blob, 'the type of data should be Blob');
+ assert_true(blobEvent.data.size > 0, 'the blob should contain some buffers');
+ t.done();
+ });
+ drawStartTime = Date.now();
+ doRedImageDraw();
+ recorder.start();
+ assert_equals(recorder.state, 'recording', 'MediaRecorder has been started successfully');
+ setTimeout(() => {
+ recorder.stop();
+ }, 2000);
+ }, 'Verify MediaRecorder is working in GPUProcess');
+
+</script>
+</body>
+</html>
Modified: trunk/LayoutTests/http/wpt/mediarecorder/MediaRecorder-AV-audio-video-dataavailable.html (272612 => 272613)
--- trunk/LayoutTests/http/wpt/mediarecorder/MediaRecorder-AV-audio-video-dataavailable.html 2021-02-09 22:07:12 UTC (rev 272612)
+++ trunk/LayoutTests/http/wpt/mediarecorder/MediaRecorder-AV-audio-video-dataavailable.html 2021-02-09 22:12:57 UTC (rev 272613)
@@ -1,3 +1,4 @@
+<!-- webkit-test-runner [ WebRTCPlatformCodecsInGPUProcessEnabled=false ] -->
<!doctype html>
<html>
<head>
@@ -6,7 +7,6 @@
<script src=""
<script src=""
<script src=""
- <link rel="stylesheet" href=""
</head>
<body>
<div>
Modified: trunk/LayoutTests/http/wpt/mediarecorder/pause-recording.html (272612 => 272613)
--- trunk/LayoutTests/http/wpt/mediarecorder/pause-recording.html 2021-02-09 22:07:12 UTC (rev 272612)
+++ trunk/LayoutTests/http/wpt/mediarecorder/pause-recording.html 2021-02-09 22:12:57 UTC (rev 272613)
@@ -1,3 +1,4 @@
+<!-- webkit-test-runner [ WebRTCPlatformCodecsInGPUProcessEnabled=false ] -->
<!DOCTYPE html>
<html>
<head>
@@ -27,7 +28,7 @@
setTimeout(() => recorder.pause(), 50);
setTimeout(() => recorder.resume(), 950);
- await waitFor(2000);
+ await waitFor(1000);
recorder.stop();
const blob = await dataPromise;
@@ -35,7 +36,7 @@
video1.src = ""
await video1.play();
- assert_less_than(video1.duration, 1.5);
+ assert_less_than(video1.duration, 0.5);
URL.revokeObjectURL(url);
}, "Pausing and resuming the recording should impact the video duration");
Modified: trunk/LayoutTests/platform/mac-wk2/TestExpectations (272612 => 272613)
--- trunk/LayoutTests/platform/mac-wk2/TestExpectations 2021-02-09 22:07:12 UTC (rev 272612)
+++ trunk/LayoutTests/platform/mac-wk2/TestExpectations 2021-02-09 22:12:57 UTC (rev 272613)
@@ -875,6 +875,8 @@
webkit.org/b/207149 [ Mojave ] imported/w3c/web-platform-tests/webrtc/RTCDtlsTransport-state.html [ Pass Failure ]
+webkit.org/b/207166 http/wpt/mediarecorder/MediaRecorder-AV-audio-video-dataavailable-gpuprocess.html [ Pass Failure ]
+
webkit.org/b/207199 webgpu/whlsl/loops.html [ Pass ImageOnlyFailure ]
webkit.org/b/207200 webgpu/whlsl/while-loop-continue.html [ Pass ImageOnlyFailure ]