<html>
<head>
    <title>Calling WebKitCSSMatrix constructor as function should not cause a crash</title>
    <script>
        if (window.testRunner)
            testRunner.dumpAsText();

        function runTest()
        {
            var result = document.getElementById("result");
            try {
                WebKitCSSMatrix();
                
            }
            catch (e) {
                result.innerHTML = "PASS";
                return;
            }
            result.innerHTML = "FAIL";
        }

    </script>
</head>
<body onload="runTest()">
    <p>Calling <code>WebKitCSSMatrix</code> constructor as function should throw an exception and not cause a crash.</p>
    <div id="result"></div>
</html>