<!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>

<style>
@import "/resources/redirect.py?url=http://localhost:8000/security/resources/xorigincss4.html";
</style>
<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('id5'), 'rgba(0, 0, 0, 0)');
    }, 'xorigincss4.html should not be loaded via @import.');

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