<!DOCTYPE html> <!-- Any copyright is dedicated to the Public Domain. http://creativecommons.org/publicdomain/zero/1.0/ --> <html lang="en-US" class="reftest-wait"> <head> <meta charset="utf-8"> <title>CSS Test: CSS display:contents; style inheritance, DOM mutations</title> <link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=907396"> <link rel="help" href="http://dev.w3.org/csswg/css-display"> <style type="text/css"> body,span { color:black; background-color:white; } .test { display:contents; } .green { color:green; } .border { border-left:1px solid green; } b { border:inherit; font-weight:normal; } </style> <script> function $(id) { return document.getElementById(id); } function text(s) { return document.createTextNode(s); } function b(s) { var e = document.createElement('b'); e.appendChild(document.createTextNode(s)); return e; } function div(s) { var e = document.createElement('div'); e.setAttribute('class','test'); e.appendChild(document.createTextNode(s)); return e; } function runTest() { document.body.offsetHeight; var e = $('t1'); var c = e.firstChild; e.insertBefore(text('g'), c); e.insertBefore(text('r'), c); e.appendChild(text('n')); var e = $('t1b'); var c = e.firstChild; e.insertBefore(text('g'), c); e.insertBefore(text('r'), c); e.appendChild(text('n')); var e = $('t2'); var c = e.firstChild; e.insertBefore(text('gr'), c); e.appendChild(text('n')); var e = $('t2b'); var c = e.firstChild; e.insertBefore(text('gr'), c); e.appendChild(text('n')); var e = $('t3'); var c = e.firstChild; e.insertBefore(text('n'), c); e.insertBefore(text('o'), c); e.appendChild(text('er')); var e = $('t4'); var c = e.firstChild; e.insertBefore(text('n'), c); e.insertBefore(text('o'), c); e.appendChild(text('er')); var e = $('t5'); var c = e.firstChild; e.insertBefore(b('1px green left '), c); e.appendChild(text('er')); var e = $('t6'); e.appendChild(b('2px green left border')); var e = $('t7'); e.appendChild(div('green')); var e = $('t8'); e.appendChild(div('green')); var e = $('t9'); var c = b("1px green left border"); var d = div(''); d.appendChild(c); e.appendChild(d); var e = $('t10'); var c = b("1px green left border"); var d = div(''); d.setAttribute('style','border:inherit'); d.appendChild(c); e.appendChild(d); var e = $('t11'); var c = b("2px green left border"); var d = div(''); d.setAttribute('style','border:inherit'); d.appendChild(c); e.appendChild(d); var e = $('t12'); var c = e.firstChild; e.insertBefore(text("This text"), c); e.insertBefore(b(" should be"), c); e.appendChild(text(" green")); var e = $('t13'); e.className = 'test'; var e = $('t14'); e.removeAttribute('style') var e = $('t15'); e.innerHTML=':scope{color:green}'; var e = $('t16'); e.innerHTML=':scope{color:inherit}'; var e = $('t17'); e.innerHTML=':scope{color:inherit}'; e.parentNode.appendChild(text("green")); var e = $('t18'); var c = e.appendChild(div("green")); document.body.offsetHeight; document.styleSheets[8].cssRules[0].style.setProperty('color','green'); document.body.offsetHeight; document.documentElement.className = ''; } </script> </head> <body onload="runTest()"> <span class="green"><div class="test" id="t1">ee</div></span> <span class="green"><div class="test" id="t1b">ee</div>x</span> <span><div class="test green" id="t2">ee</div></span> <span><div class="test green" id="t2b">ee</div>x</span> <br> <span><div class="test border" id="t3"> bord</div></span> <span><div class="test border" id="t4"><span> bord</span></div></span> <span class="border"><div class="test" id="t5">bord</div></span> <span class="border"><div class="test" style="border:inherit" id="t6"></div></span> <br> <span class="green"><div class="test" id="t7"></div></span> <span><div class="test green" id="t8"></div></span> <br> <span class="border"><div class="test" id="t9"></div></span> <span class="border"><div class="test" id="t10"></div></span> <span class="border"><div class="test" style="border:inherit" id="t11"></div></span> <br> <span style="color:red"><div class="test green" id="t12"></div></span> <span style="color:red"><span><style scoped>:scope{color:green}</style><di id="t13"v>green</div></span></span> <span style="color:red"><span class="test"><style scoped>:scope{color:green}</style><div id="t14" class="test" style="color:red">green</div></span></span> <span style="color:red"><div class="test"><style id="t15" scoped></style>green</div></span> <span style="color:red"><div class="test"><style scoped>:scope{color:green}</style> <div class="test"><style scoped id="t16"></style>green</div> <div class="test"><style scoped id="t17"></style></div></div></span> <span style="color:red"><div class="test"><style scoped>:scope{color:red}</style> <div class="test" id="t18"><style scoped>:scope{color:red}</style></div></div></span> </body> </html>