blob: 74c4e292c886f6e4de7219c1b9bac491bac5467b [file] [log] [blame]
<!doctype html>
<title>CSS shorthand filters never taint the canvas</title>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<script>
function assert_not_tainted(performCommands, description) {
let ctx = document.createElement('canvas').getContext('2d');
performCommands(ctx);
assert_not_equals(ctx.getImageData(0, 0, 1, 1), null, description);
}
test(function() {
assert_not_tainted(ctx => {
ctx.fillStyle = '#0f0';
ctx.filter = 'brightness(0.5)';
ctx.fillRect(5, 5, 10, 10);
}, 'brightness(0.5)');
assert_not_tainted(ctx => {
ctx.filter = 'blur(5px)';
ctx.fillRect(5, 5, 10, 10);
}, 'blur(5px)');
assert_not_tainted(ctx => {
ctx.filter = 'hue-rotate(45deg) drop-shadow(16px 16px 20px blue)';
ctx.fillRect(5, 5, 10, 10);
}, 'hue-rotate(45deg) drop-shadow(16px 16px 20px blue)');
});
</script>