<head>
<script>
let useAlternateContent = false;
let sz = 2;
let color = 255;
function tick() {
let canvas = document.getElementById('canvas');
let c = canvas.getContext('2d');
if (useAlternateContent) {
let fillStyle = 'rgba(' + color + ',0,0,1.0)';
c.fillStyle = fillStyle;
--color;
} else {
c.fillStyle = 'rgba(255,255,255,1.0)';
}
useAlternateContent = !useAlternateContent;
c.fillRect(0, 0, sz, sz);
setTimeout(tick, 1000);
}
function main() {
if (window.domAutomationController) {
domAutomationController.send("SUCCESS");
}
let canvas = document.getElementById('canvas');
canvas.width = sz;
canvas.height = sz;
// This page is used in the main tab in a couple of dual-GPU tests
// on macOS. When running on the passthrough command decoder and
// ANGLE, ANGLE can only detect the need to switch GPUs upon context
// switch. Schedule a small amount of periodic rasterization work so
// that context switches occur in the GPU process.
setTimeout(tick, 1000);
}
</script>
</head>
<body onload="main()">
<canvas id="canvas"></canvas>
</body>