<!DOCTYPE html>
<html>
<head>
<title>Same-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.php?url=/security/resources/xorigincss4.html";
</style>
<script>
function getBackgroundColorForId(id) {
    return window.getComputedStyle(document.getElementById(id), null).getPropertyValue('background-color')
}

var onloadTest = async_test("Testing same-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>
