Chromium Code Reviews| Index: third_party/WebKit/LayoutTests/media/video-capture-canvas.html |
| diff --git a/third_party/WebKit/LayoutTests/media/video-capture-canvas.html b/third_party/WebKit/LayoutTests/media/video-capture-canvas.html |
| index 4eff21c18ccd172047cd2a3170c3203b06df0c34..a0fed54e058642e6119aceaf73fea7813f523344 100644 |
| --- a/third_party/WebKit/LayoutTests/media/video-capture-canvas.html |
| +++ b/third_party/WebKit/LayoutTests/media/video-capture-canvas.html |
| @@ -1,70 +1,36 @@ |
| -<!DOCTYPE HTML"> |
| -<html> |
| -<head> |
| -<script src=media-file.js></script> |
| -<!-- TODO(foolip): Convert test to testharness.js. crbug.com/588956 |
| - (Please avoid writing new tests using video-test.js) --> |
| -<script src=video-test.js></script> |
| -<script src=video-played.js></script> |
| -<script src="../resources/js-test.js"></script> |
| - |
| -<script type="text/javascript"> |
| - |
| -if (window.internals) |
| - window.internals.settings.setMediaPlaybackRequiresUserGesture(true); |
| - |
| -function gotStream(stream) |
| -{ |
| - consoleWrite("got a stream"); |
| - previewURL = URL.createObjectURL(stream); |
| - video.src = previewURL; |
| - consoleWrite("start preview"); |
| -} |
| - |
| -function gotStreamFailed(error) |
| -{ |
| - consoleWrite("Failed to get access to local media. Error code was " + error.code); |
| -} |
| - |
| -function canplaythrough() |
| -{ |
| - width = canvas.width; |
| - height = canvas.height; |
| - ctx = canvas.getContext("2d"); |
| - ctx.fillStyle = 'black'; |
| - ctx.fillRect(0, 0, width, height); |
| - |
| - consoleWrite("paint to canvas"); |
| - ctx.drawImage(video, 0, 0, width, height); |
| - shouldBeTrue("!!ctx.getImageData(0, 0, width, height)"); |
| - |
| - frame = ctx.getImageData(0, 0, width, height); |
| - r = frame.data[0]; |
| - g = frame.data[1]; |
| - b = frame.data[2]; |
| - testExpected("r+g+b", 0, "!="); |
| - endTest(); |
| -} |
| - |
| -function playPreview() |
| -{ |
| - findMediaElement(); |
| - canvas = document.getElementsByTagName('canvas')[0]; |
| - try { |
| - consoleWrite("request access to local media"); |
| - navigator.webkitGetUserMedia({video:true}, gotStream, gotStreamFailed); |
| - } catch (e) { |
| - consoleWrite("getUserMedia error " + "(" + e.name + " / " + e.message + ")"); |
| +<!DOCTYPE html> |
| +<title>Verify drawing video frames to canvas using media stream.</title> |
| +<script src="../resources/testharness.js"></script> |
| +<script src="../resources/testharnessreport.js"></script> |
| +<video></video> |
| +<canvas width="1" height="1"></canvas> |
| +<script> |
| +async_test(function(t) { |
| + var video = document.querySelector("video"); |
| + var canvas = document.querySelector("canvas"); |
| + navigator.webkitGetUserMedia({ video: true }, gotStream, getStreamFailed); |
| + |
| + function gotStream(stream) { |
|
fs
2016/06/30 18:43:42
Use an anonymous function?
Srirama
2016/06/30 19:16:22
Done.
|
| + // start preview. |
| + video.src = URL.createObjectURL(stream); |
| } |
| - waitForEvent('canplaythrough', canplaythrough); |
| -} |
| - |
| -</script> |
| -</head> |
| + function getStreamFailed(error) { |
|
fs
2016/06/30 18:43:42
Use t.unreached_func() instead of this?
Srirama
2016/06/30 19:16:21
Done.
|
| + assert_unreached(); |
| + } |
| -<body onload="playPreview()"> |
| -<video width="320" height="240" autoplay="autoplay"></video> |
| -<canvas width="1" height="1" ></canvas> |
| -</body> |
| -</html> |
| + video.oncanplaythrough = t.step_func_done(function() { |
| + var width = canvas.width; |
| + var height = canvas.height; |
| + var ctx = canvas.getContext("2d"); |
| + ctx.fillStyle = "black"; |
| + ctx.fillRect(0, 0, width, height); |
| + |
| + // paint to canvas. |
| + ctx.drawImage(video, 0, 0, width, height); |
| + var frame = ctx.getImageData(0, 0, width, height); |
| + assert_not_equals(frame, null); |
| + assert_not_equals(frame.data[0] + frame.data[1] + frame.data[2], 0); |
| + }); |
| +}); |
| +</script> |