| Index: third_party/WebKit/LayoutTests/fast/canvas/canvas-lose-restore-googol-size.html
|
| diff --git a/third_party/WebKit/LayoutTests/fast/canvas/canvas-lose-restore-googol-size.html b/third_party/WebKit/LayoutTests/fast/canvas/canvas-lose-restore-googol-size.html
|
| index f8d7bd12fe96006419438e64465bc2102263226a..e13341c96fc65976366eaa620c85654138d2d1b6 100644
|
| --- a/third_party/WebKit/LayoutTests/fast/canvas/canvas-lose-restore-googol-size.html
|
| +++ b/third_party/WebKit/LayoutTests/fast/canvas/canvas-lose-restore-googol-size.html
|
| @@ -1,71 +1,46 @@
|
| -<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
|
| -<html>
|
| -<head>
|
| -<script src="../../resources/js-test.js"></script>
|
| -</head>
|
| -<body>
|
| +<!doctype html>
|
| +<title>Canvas loss and restoration when size is extremely large and then restored to a reasonable value</title>
|
| +<script src="../../resources/testharness.js"></script>
|
| +<script src="../../resources/testharnessreport.js"></script>
|
| <script>
|
| -description("Tests to ensure correct behaviour of canvas loss and restoration when size is extremely large then, restored to a reasonable value.");
|
| -
|
| -if (window.testRunner) {
|
| - testRunner.dumpAsText();
|
| - testRunner.waitUntilDone();
|
| -}
|
| -
|
| -var canvas = document.createElement('canvas')
|
| -canvas.addEventListener('contextlost', contextLost);
|
| -canvas.addEventListener('contextrestored', contextRestored);
|
| -var ctx = canvas.getContext('2d');
|
| -var lostEventHasFired = false;
|
| -verifyContextLost(false);
|
| -
|
| -var bigsize = 1000000000;
|
| -canvas.width = bigsize;
|
| -canvas.height = bigsize;
|
| -verifyContextLost(true);
|
| -canvas.width = bigsize;
|
| -verifyContextLost(true);
|
| -canvas.width = 100;
|
| -canvas.height = 100;
|
| -verifyContextLost(true); // Restoration is async.
|
| +async_test(t => {
|
| + var canvas = document.createElement('canvas')
|
| + canvas.addEventListener('contextlost', t.step_func(contextLost));
|
| + canvas.addEventListener('contextrestored', t.step_func(contextRestored));
|
| + var ctx = canvas.getContext('2d');
|
| + var lostEventHasFired = false;
|
| + verifyContextLost(false);
|
|
|
| -// Restore a sane dimension
|
| + var bigsize = 1000000000;
|
| + canvas.width = bigsize;
|
| + canvas.height = bigsize;
|
| + verifyContextLost(true);
|
| + canvas.width = bigsize;
|
| + verifyContextLost(true);
|
| + // Restore a reasonable dimension
|
| + canvas.width = 100;
|
| + canvas.height = 100;
|
| + verifyContextLost(true); // Restoration is async.
|
|
|
| -function verifyContextLost(shouldBeLost) {
|
| - // Verify context loss experimentally as well as isContextLost()
|
| - ctx.fillStyle = '#0f0';
|
| - ctx.fillRect(0, 0, 1, 1);
|
| - contextLostTest = ctx.getImageData(0, 0, 1, 1).data[1] == 0;
|
| - if (shouldBeLost) {
|
| - shouldBeTrue('contextLostTest');
|
| - shouldBeTrue('ctx.isContextLost()');
|
| - } else {
|
| - shouldBeFalse('contextLostTest');
|
| - shouldBeFalse('ctx.isContextLost()');
|
| + function verifyContextLost(shouldBeLost) {
|
| + // Verify context loss experimentally as well as isContextLost()
|
| + ctx.fillStyle = '#0f0';
|
| + ctx.fillRect(0, 0, 1, 1);
|
| + var contextLostTest = ctx.getImageData(0, 0, 1, 1).data[1] == 0;
|
| + assert_equals(contextLostTest, shouldBeLost, 'image data is blank');
|
| + assert_equals(ctx.isContextLost(), shouldBeLost, 'context is lost');
|
| }
|
| -}
|
|
|
| -function contextLost() {
|
| - if (lostEventHasFired) {
|
| - testFailed('Context lost event was dispatched more than once.');
|
| - } else {
|
| - testPassed('Graphics context lost event dispatched.');
|
| + function contextLost() {
|
| + assert_false(lostEventHasFired, 'contextlost event has fired');
|
| + lostEventHasFired = true;
|
| + verifyContextLost(true);
|
| }
|
| - lostEventHasFired = true;
|
| - verifyContextLost(true);
|
| -}
|
|
|
| -function contextRestored() {
|
| - if (lostEventHasFired) {
|
| - testPassed('Context restored event dispatched after context lost.');
|
| - } else {
|
| - testFailed('Context restored event was dispatched before a context lost event.');
|
| - }
|
| - verifyContextLost(false);
|
| - if (window.testRunner) {
|
| - testRunner.notifyDone();
|
| + function contextRestored() {
|
| + assert_true(lostEventHasFired, 'contextlost event has fired');
|
| + verifyContextLost(false);
|
| + t.done();
|
| }
|
| -}
|
| +});
|
| </script>
|
| -</body>
|
| -</html>
|
|
|