<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet"
      href="http://localhost:8000/security/resources/cssStyle.css">
<link rel="stylesheet" href="resources/cssStyle.css">
<link rel="stylesheet"
      href="http://localhost:8000/security/resources/cssStyle.css" crossorigin="">
<link rel="stylesheet"
      href="http://localhost:8000/security/resources/xorigincss1-allow-star.py" crossorigin="">
<script>
if (window.testRunner)
    testRunner.dumpAsText();

function log(msg) {
    var div = document.createElement("div");
    div.textContent = msg;
    document.getElementById("console").appendChild(div);
}

function checkCSSRules(sheet)
{
    try {
        var cssRules = sheet.cssRules;
        log("cssRules: " + cssRules);
        if (cssRules)
            log("cssRules length: " + cssRules.length);
    } catch(e) {
        log("exception thrown for cssRules: " + e);
    }
    try {
        var rules = sheet.rules;
        log("rules: " + rules);
        if (rules)
            log("rules length: " + rules.length);
    } catch(e) {
        log("exception thrown for rules: " + e);
    }
}

window.onload = function() {
    log("Test begins.");
    log("== Cross-Origin resource, no-cors mode ==");
    checkCSSRules(document.styleSheets[0]);
    log("== Same-Origin resource, no-cors mode ==");
    checkCSSRules(document.styleSheets[1]);
    log("== Cross-Origin resource, cors mode, failing cors check ==");
    checkCSSRules(document.styleSheets[2]);
    log("== Cross-Origin resource, cors mode, successful cors check ==");
    checkCSSRules(document.styleSheets[3]);
    log("Test ends.");
}
</script>
</head>
<body>
<p>This test whether a script can read the rules from a cross-origin style
sheet.  For more information on why we block this, please see
<a href="https://bugs.webkit.org/show_bug.cgi?id=20527">https://bugs.webkit.org/show_bug.cgi?id=20527</a>.
</p>
<div id="console"></div>
</body>
</html>
