| <?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> |