| <!DOCTYPE html> |
| <html class="reftest-wait"> |
| <meta charset="utf-8"> |
| <title>Adoptedstylesheets.concat should work when starting empty</title> |
| <link rel="author" href="mailto:masonf@chromium.org"> |
| <link rel="help" href="https://drafts.csswg.org/cssom/#extensions-to-the-document-or-shadow-root-interface"> |
| <link rel="match" href="CSSStyleSheet-constructable-concat-ref.html"> |
| |
| <span>This should be green</span> |
| <div id=host></div> |
| <pre id=tests>Tests: |
| </pre> |
| |
| <script> |
| function assert_equals(val1,val2) { |
| const t = val1 === val2 ? 'PASS' : `FAIL! ${val1} !== ${val2}`; |
| tests.appendChild(document.createTextNode(`${t}\n`)); |
| } |
| window.onload = () => { |
| const sheet = new CSSStyleSheet(); |
| sheet.replaceSync('span {background-color:green;}'); |
| assert_equals(document.adoptedStyleSheets.length,0); |
| document.adoptedStyleSheets = document.adoptedStyleSheets.concat([sheet]); |
| assert_equals(document.adoptedStyleSheets.length,1); |
| |
| const host = document.getElementById('host'); |
| const shadow = host.attachShadow({mode: 'open'}); |
| shadow.innerHTML = '<span>This should be green</span>'; |
| assert_equals(shadow.adoptedStyleSheets.length,0); |
| shadow.adoptedStyleSheets = shadow.adoptedStyleSheets.concat([sheet]); |
| assert_equals(shadow.adoptedStyleSheets.length,1); |
| document.documentElement.classList.remove("reftest-wait"); |
| }; |
| </script> |