| Index: third_party/WebKit/LayoutTests/http/tests/security/cross-origin-createImageBitmap-structured-clone.html
|
| diff --git a/third_party/WebKit/LayoutTests/http/tests/security/cross-origin-createImageBitmap-structured-clone.html b/third_party/WebKit/LayoutTests/http/tests/security/cross-origin-createImageBitmap-structured-clone.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..776fa17be86133ce9c0f9f2df3af2abc2d05d021
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/http/tests/security/cross-origin-createImageBitmap-structured-clone.html
|
| @@ -0,0 +1,47 @@
|
| +<!DOCTYPE html>
|
| +<html>
|
| +<body>
|
| +<script src="../../resources/testharness.js"></script>
|
| +<script src="../../resources/testharnessreport.js"></script>
|
| +<script id="myWorker" type="text/worker">
|
| +self.onmessage = function(e) {
|
| + postMessage(e.data);
|
| +};
|
| +</script>
|
| +<script>
|
| +async_test(function(t) {
|
| + function makeWorker(script) {
|
| + var blob = new Blob([script]);
|
| + return new Worker(URL.createObjectURL(blob));
|
| + }
|
| + var worker = makeWorker(document.getElementById('myWorker').textContent);
|
| + var returnedBitmap;
|
| +
|
| + var image = new Image();
|
| + image.onload = function() {
|
| + shouldBeTainted(image);
|
| + createImageBitmap(image).then(imageBitmap => {
|
| + worker.postMessage({data:imageBitmap}, [imageBitmap]);
|
| + worker.onmessage = t.step_func(onMessage);
|
| + });
|
| + }
|
| + image.src = 'http://localhost:8080/security/resources/abe.png';
|
| +
|
| + function onMessage(e) {
|
| + returnedBitmap = e.data.data;
|
| + shouldBeTainted(returnedBitmap);
|
| + t.done();
|
| + }
|
| +
|
| + 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);
|
| + assert_throws(null, function () { context.getImageData(0, 0, 10, 10); }, 'ImageBitmap should be tainted');
|
| + }
|
| +}, 'Transfer and structured-clone an ImageBitmap should preserve the originClean flag.');
|
| +</script>
|
| +</body>
|
| +</html>
|
|
|