64 lines
1.8 KiB
HTML
64 lines
1.8 KiB
HTML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<script src="../../fast/repaint/resources/repaint.js"></script>
|
|
<title>The rectangle should be green.</title></head>
|
|
<script>
|
|
|
|
var W = 200;
|
|
var H = 200;
|
|
var SVGNS = "http://www.w3.org/2000/svg";
|
|
var currentColor = 0;
|
|
var colors = ["red", "green"];
|
|
|
|
function resetFill(parentNode) {
|
|
var rootPattern = document.createElementNS(SVGNS, "pattern");
|
|
rootPattern.setAttribute("id", "pat");
|
|
rootPattern.setAttribute("patternUnits", "userSpaceOnUse");
|
|
rootPattern.setAttribute("width", W);
|
|
rootPattern.setAttribute("height", H);
|
|
parentNode.appendChild(rootPattern);
|
|
|
|
var rect = document.createElementNS(SVGNS, "rect");
|
|
rect.setAttribute("width", W);
|
|
rect.setAttribute("height", H);
|
|
rect.setAttribute("fill", colors[currentColor++]);
|
|
rootPattern.appendChild(rect);
|
|
|
|
return rect;
|
|
}
|
|
|
|
function updateFill() {
|
|
var el = document.getElementById("shape");
|
|
var defs = document.getElementById("defs");
|
|
|
|
while (defs.firstChild)
|
|
defs.removeChild(defs.firstChild);
|
|
|
|
resetFill(defs);
|
|
|
|
el.setAttribute("fill", "url(#pat)");
|
|
|
|
if(currentColor == 2)
|
|
if(window.testRunner)
|
|
testRunner.notifyDone();
|
|
}
|
|
|
|
function repaintTest() {
|
|
if(window.testRunner)
|
|
testRunner.waitUntilDone();
|
|
|
|
updateFill();
|
|
setTimeout("updateFill()", 0);
|
|
}
|
|
</script>
|
|
<body onload="runRepaintTest()">
|
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="position: absolute; top: 0px; left: 0px; width: 100%; height: 100%">
|
|
<defs id="defs"></defs>
|
|
<rect id="shape" width="200" height="200"></rect>
|
|
</svg>
|
|
</body>
|
|
</html>
|