<html xmlns="http://www.w3.org/1999/xhtml">  
  <body>
    This test is to ensure that we do not crash when loading a SVG image with an invalid feColorMatrix filter
    <div id="log"><span style='color: red;'>FAIL:</span> Did not complete test</div>
    <svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="10" height="10">
    <defs id="base_defs">
        <filter id="m1">
            <feColorMatrix type="matrix" values="1"/>
        </filter>
    </defs>
    <g id="base_g">
        <rect width="10" height="10" x="0" y="0" fill="green" style="filter:url(#m1)" />
    </g>
    </svg>
    <script><![CDATA[
        if (window.testRunner)
            testRunner.dumpAsText();

        var log = document.getElementById("log");
        while (log.childNodes.length)
            log.removeChild(log.firstChild);
        var msg = document.createElementNS("http://www.w3.org/1999/xhtml", "span");
        msg.style.color = "green";
        msg.appendChild(document.createTextNode("PASS:"));
        log.appendChild(msg);
        log.appendChild(document.createTextNode(" Did not crash when rendering the SVG image."));
    ]]></script>
  </body>
</html>