<!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"
      href="/resources/redirect.py?url=http://localhost:8000/security/resources/xorigincss1.css"></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('id3'), 'rgb(255, 255, 0)');
    }, 'xorigincss1.css should be loaded via &lt;link&gt;');

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