| Index: third_party/WebKit/LayoutTests/http/tests/security/cross-origin-createImageBitmap.html
|
| diff --git a/third_party/WebKit/LayoutTests/http/tests/security/cross-origin-createImageBitmap.html b/third_party/WebKit/LayoutTests/http/tests/security/cross-origin-createImageBitmap.html
|
| index 3ddf8576564a9f8e6c6312b882810ea034fee8f1..b5b56246330c1651dda1cd7b99ac56b1721b2f14 100644
|
| --- a/third_party/WebKit/LayoutTests/http/tests/security/cross-origin-createImageBitmap.html
|
| +++ b/third_party/WebKit/LayoutTests/http/tests/security/cross-origin-createImageBitmap.html
|
| @@ -3,80 +3,44 @@
|
| <body>
|
| <script src="/js-test-resources/js-test.js"></script>
|
| <script>
|
| -description("The image bitmap factories should not throw exceptions on cross-origin access.");
|
| +description("The image bitmap factories should throw exceptions on cross-origin access.");
|
|
|
| window.jsTestIsAsync = true;
|
| var reason;
|
|
|
| -function shouldBeAcceptedAndTainted(promise, message) {
|
| - return promise.then(function(imageBitmap) {
|
| - testPassed('Resolved as expected: ' + message);
|
| - shouldBeTainted(imageBitmap);
|
| +function shouldBeRejected(promise, message) {
|
| + return promise.then(function() {
|
| + testFailed('Resolved unexpectedly: ' + message);
|
| }, function(e) {
|
| reason = e;
|
| - testFailed('Rejected unexpectedly: ' + message);
|
| + testPassed('Rejected as expected: ' + message);
|
| shouldBeTrue('reason instanceof Error');
|
| debug(e);
|
| });
|
| }
|
|
|
| -function shouldBeTainted(imageBitmap) {
|
| - var canvas = document.createElement("canvas");
|
| - canvas.width = 10;
|
| - canvas.height = 10;
|
| - var context = canvas.getContext("2d");
|
| - context.drawImage(imageBitmap, 0, 0, 10, 10);
|
| - try {
|
| - var imageData = context.getImageData(0, 0, 10, 10);
|
| - testFailed("ImageBitmap is not tainted.");
|
| - } catch (e) {
|
| - testPassed("ImageBitmap is tainted. Threw error: " + e);
|
| - }
|
| -}
|
| -
|
| -var image = document.createElement('img');
|
| -image.src = 'http://localhost:8080/security/resources/abe.png';
|
| -var video = document.createElement('video');
|
| -video.src = 'http://localhost:8080/media/resources/load-video.php?name=test.ogv&type=video/ogv';
|
| -
|
| -image.addEventListener('load', function() {
|
| - document.body.appendChild(image);
|
| - shouldBeAcceptedAndTainted(createImageBitmap(image, 0, 0, 10, 10), 'image')
|
| -.then(function() {
|
| - var canvas = document.createElement("canvas");
|
| - canvas.width = 10;
|
| - canvas.height = 10;
|
| - var context = canvas.getContext("2d");
|
| - // taint the canvas
|
| - context.drawImage(image, 0, 0, 10, 10);
|
| - shouldBeAcceptedAndTainted(createImageBitmap(canvas, 0, 0, 10, 10), 'canvas')
|
| -.then(function() {
|
| - createImageBitmap(image).then(imageBitmap => {
|
| - shouldBeAcceptedAndTainted(createImageBitmap(imageBitmap, 0, 0, 10, 10), 'imageBitmap')
|
| -.then(function() {
|
| - document.body.appendChild(video);
|
| - video.play();
|
| - video.addEventListener('playing', function() {
|
| - shouldBeAcceptedAndTainted(createImageBitmap(video, 0, 0, 10, 10), 'video')
|
| -.then(finishJSTest, ()=> {
|
| - testFailed("Unexpected failure");
|
| - finishJSTest();
|
| -});
|
| -});
|
| -}, ()=> {
|
| - testFailed("Unexpected failure");
|
| - finishJSTest();
|
| -});
|
| -});
|
| -}, ()=> {
|
| - testFailed("Unexpected failure");
|
| - finishJSTest();
|
| -});
|
| -}, ()=> {
|
| - testFailed("Unexpected failure");
|
| - finishJSTest();
|
| -});
|
| -});
|
| +Promise.resolve().then(function() {
|
| + return new Promise(function(resolve, reject) {
|
| + var image = document.createElement('img');
|
| + image.addEventListener('load', resolve.bind(undefined, image));
|
| + image.src = 'http://localhost:8080/security/resources/abe.png';
|
| + document.body.appendChild(image);
|
| + }).then(function(image) {
|
| + return shouldBeRejected(createImageBitmap(image, 0, 0, 10, 10), 'image');
|
| + });
|
| +}).then(function() {
|
| + return new Promise(function(resolve, reject) {
|
| + var video = document.createElement('video');
|
| + video.src = 'http://localhost:8080/media/resources/load-video.php?name=test.ogv&type=video/ogv';
|
| + video.addEventListener('playing', resolve.bind(undefined, video));
|
| + document.body.appendChild(video);
|
| + video.play();
|
| + }).then(function(video) {
|
| + return shouldBeRejected(createImageBitmap(video, 0, 0, 10, 10), 'video');
|
| + });
|
| +}).catch(function(e) {
|
| + testFailed('Unexpected rejection: ' + e);
|
| +}).then(finishJSTest, finishJSTest);
|
| </script>
|
| </body>
|
| </html>
|
|
|