<!DOCTYPE html>
<html>
<script src="../resources/run-after-layout-and-paint.js"></script>
<style>
canvas { will-change: opacity; }
img, canvas { margin: 5px; width: 48% }
</style>
<body style="overflow: hidden">
<!-- The _blue_ sector of the <img> image should be at 12 o'clock. -->
<img>
<!-- The red sector of the <canvas> image should be at 12 o'clock. -->
<canvas></canvas>
</body>
<script>
window.onload = function() {
var image = document.querySelector('img');
image.onload = function() {
runAfterLayoutAndPaint(drawImagePatternToCanvas);
};
image.src = 'resources/red-at-12-oclock-with-color-profile.jpg';
};
function drawImagePatternToCanvas() {
var canvas = document.querySelector('canvas');
var ctx = canvas.getContext('2d');
var pattern = ctx.createPattern(document.querySelector('img'), null);
var scale = 0.1870;
ctx.clearRect(0, 0, canvas.width = 300, canvas.height = 300);
ctx.save();
ctx.scale(scale, scale);
ctx.fillStyle = pattern;
ctx.fillRect(0, 0, canvas.width / scale, canvas.height / scale);
ctx.restore();
if (window.testRunner)
testRunner.notifyDone();
}
if (window.testRunner)
testRunner.waitUntilDone();
</script>
</html>