56 lines
1.3 KiB
HTML
56 lines
1.3 KiB
HTML
<script>
|
|
if (window.testRunner) {
|
|
testRunner.dumpAsText();
|
|
testRunner.waitUntilDone();
|
|
}
|
|
|
|
function log(msg)
|
|
{
|
|
let p = document.createElement("p");
|
|
p.textContent = msg;
|
|
document.body.appendChild(p);
|
|
}
|
|
|
|
function runTest()
|
|
{
|
|
log("We should see three changed events.");
|
|
|
|
let changedEventsSeen = 0;
|
|
|
|
let handleChangedEvent = (event) => {
|
|
log("Saw webglcontextchanged event.");
|
|
let gl = event.target.getContext("webgl");
|
|
gl.clearColor(0, 1, 0, 1);
|
|
gl.clear(gl.COLOR_BUFFER_BIT);
|
|
changedEventsSeen++;
|
|
if (changedEventsSeen == 3) {
|
|
if (window.testRunner)
|
|
testRunner.notifyDone();
|
|
else
|
|
log("Test done.");
|
|
}
|
|
}
|
|
|
|
document.querySelectorAll("canvas").forEach((c) =>
|
|
{
|
|
c.addEventListener("webglcontextchanged", handleChangedEvent, false);
|
|
let gl = c.getContext("webgl");
|
|
gl.clearColor(1, 0, 0, 1);
|
|
gl.clear(gl.COLOR_BUFFER_BIT);
|
|
});
|
|
|
|
let gl = document.querySelector("canvas").getContext("webgl");
|
|
if (window.internals)
|
|
window.internals.simulateEventForWebGLContext("ContextChange", gl);
|
|
else
|
|
log("To run the test, trigger a GPU change manually.");
|
|
}
|
|
|
|
|
|
window.addEventListener("load", runTest, false);
|
|
</script>
|
|
|
|
<canvas></canvas>
|
|
<canvas></canvas>
|
|
<canvas></canvas>
|