<!DOCTYPE html>
<html>
<head>
<title>Cross-origin CSS</title>

<script>
// Prune memory cache to make sure we don't use a cached parsed stylesheet, in which case
// the console warning would not be shown and the test would be flaky.
internals.pruneMemoryCacheToSize(0);
</script>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>

<link rel="stylesheet" type="text/css" href="/resources/redirect.py?url=http://localhost:8000/security/resources/xorigincss2.html"></link>
<script>
function getBackgroundColorForId(id) {
    return window.getComputedStyle(document.getElementById(id), null).getPropertyValue('background-color')
}

var onloadTest = async_test("Testing cross-origin and MIME behavior for CSS.");

window.onload = function () {
    test(function () {
        assert_equals(getBackgroundColorForId('id2'), 'rgba(0, 0, 0, 0)');
    }, 'xorigincss2.html should not be loaded either via &lt;link&gt; or @import.');

    onloadTest.done();
};
</script>
</head>
<body>
    <div id="id2" class="id2"></div>
</body>
</html>
