3 <!-- https://bugzilla.mozilla.org/show_bug.cgi?id=524223 -->
5 <title>Test cross-domain CSS loading
</title>
6 <script src=
"/tests/SimpleTest/SimpleTest.js"></script>
7 <link rel=
"stylesheet" type=
"text/css"
8 href=
"/tests/SimpleTest/test.css"/>
9 <style type=
"text/css">
10 hr
{ border: none
; clear: both
}
22 h2
{ font-weight: normal
; padding: 0 }
23 ol
, h2
{ font-size: 13px; line-height: 20px; }
24 ol
{ padding-left: 1em;
25 list-style-type: upper-roman
}
26 ol ol
{ list-style-type: upper-alpha
}
27 ol ol ol
{ list-style-type: decimal
}
32 href=
"https://bugzilla.mozilla.org/show_bug.cgi?id=524223">Mozilla
39 <ol><li>text/css
<ol><li>same origin
<ol><li>valid
</li>
41 <li>http error
</li></ol></li>
42 <li>cross origin
<ol><li>valid
</li>
44 <li>http error
</li></ol></li>
45 <li>same to cross
<ol><li>valid
</li>
47 <li>http error
</li></ol></li>
48 <li>cross to same
<ol><li>valid
</li>
50 <li>http error
</li></ol></li></ol></li>
51 <li>text/html
<ol><li>same origin
<ol><li>valid
</li>
53 <li>http error
</li></ol></li>
54 <li>cross origin
<ol><li>valid
</li>
56 <li>http error
</li></ol></li>
57 <li>same to cross
<ol><li>valid
</li>
59 <li>http error
</li></ol></li>
60 <li>cross to same
<ol><li>valid
</li>
62 <li>http error
</li></ol></li></ol></li>
68 <div id=
"quirks-placeholder"></div>
73 <div id=
"standards-placeholder"></div>
76 <script type=
"application/javascript">
78 const COLOR = {red:
"rgb(255, 0, 0)", lime:
"rgb(0, 255, 0)"};
80 /** Test for Bug
524223 **/
81 function check_iframe(ifr) {
82 var doc = ifr.contentDocument;
83 var cases = doc.getElementsByTagName(
"p");
85 for (var i =
0; i < cases.length; i++) {
86 var color = doc.defaultView.getComputedStyle(cases[i])
87 .getPropertyValue(
"background-color");
90 is(color, COLOR.lime, ifr.id +
" " + id);
94 SimpleTest.waitForExplicitFinish();
96 function insertIFrames(src, id) {
97 const quirks = document.createElement(
"iframe");
98 quirks.src =
"ccd-quirks.html";
100 document.getElementById(
"quirks-placeholder").replaceWith(quirks);
102 const standards = document.createElement(
"iframe");
103 standards.src =
"ccd-standards.html";
104 standards.id =
"standards";
105 document.getElementById(
"standards-placeholder").replaceWith(standards);
108 var hasQuirksLoaded = false;
109 var hasStandardsLoaded = false;
111 function quirksLoaded() {
112 hasQuirksLoaded = true;
116 function standardsLoaded() {
117 hasStandardsLoaded = true;
122 check_iframe(document.getElementById(
"quirks"));
123 check_iframe(document.getElementById(
"standards"));
126 function MaybeRunTest() {
127 if (!hasQuirksLoaded || !hasStandardsLoaded) {
135 window.onload = async function() {
136 await SpecialPowers.pushPrefEnv(
139 ['browser.opaqueResponseBlocking', false],