<script>
    if (window.testRunner)
        testRunner.dumpAsText();
    var rules = getMatchedCSSRules(null, "", false);
</script>
SUCCESS (<code>getMatchedCSSRule(null, ...)</code> did not crash).
