| <!DOCTYPE html> |
| <!-- DO NOT EDIT! This test has been generated by tools/gentest.py. --> |
| <title>Canvas test: security.pattern.canvas.fillStyle.cross</title> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="/common/media.js"></script> |
| <script src="/common/namespaces.js"></script> |
| <script src="/common/canvas-tests.js"></script> |
| |
| <body> |
| <p class="desc">Setting fillStyle to a pattern of an unclean canvas makes the canvas origin-unclean</p> |
| |
| <script> |
| |
| forEachCanvasSource("http://{{domains[www1]}}:{{ports[http][0]}}", |
| "http://{{domains[]}}:{{ports[http][0]}}", |
| (name, factory) => { |
| promise_test(_ => { |
| return factory().then(source => { |
| const canvas = document.createElement('canvas'); |
| const ctx = canvas.getContext('2d'); |
| const pattern = ctx.createPattern(source, 'repeat'); |
| ctx.fillStyle = pattern; |
| ctx.fillStyle = 'red'; |
| assert_throws("SECURITY_ERR", function() { canvas.toDataURL(); }); |
| assert_throws("SECURITY_ERR", function() { ctx.getImageData(0, 0, 1, 1); }); |
| }); |
| }, `${name}: Setting fillStyle to an origin-unclear pattern makes the canvas origin-unclean`); |
| }); |
| |
| </script> |