51 lines
1.1 KiB
HTML
51 lines
1.1 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<style>
|
|
canvas {
|
|
width: 100px;
|
|
height: 100px;
|
|
background-color: red;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<p>This test requires Internals.</p>
|
|
<canvas id="canvas1"></canvas>
|
|
<canvas id="canvas2"></canvas>
|
|
<script>
|
|
function run() {
|
|
if (!window.testRunner)
|
|
return;
|
|
|
|
window.testRunner.dumpAsText();
|
|
|
|
const MAX_WIDTH = 2000;
|
|
const MAX_HEIGHT = MAX_WIDTH;
|
|
|
|
function fillCanvas(id, width, height) {
|
|
const canvas = document.getElementById(id);
|
|
canvas.width = width;
|
|
canvas.height = height;
|
|
|
|
const ctx = canvas.getContext("2d");
|
|
if (!ctx)
|
|
return;
|
|
|
|
ctx.fillStyle = "lime";
|
|
ctx.fillRect(0, 0, width, height);
|
|
}
|
|
|
|
// This one should always work.
|
|
fillCanvas("canvas2", 10, 10);
|
|
|
|
window.internals.setMaxCanvasPixelMemory(MAX_WIDTH * MAX_HEIGHT * 4);
|
|
|
|
// And this one should exceed the memory limit.
|
|
fillCanvas("canvas1", MAX_WIDTH + 1, MAX_HEIGHT + 1);
|
|
}
|
|
run();
|
|
</script>
|
|
</body>
|
|
</html>
|