| <!DOCTYPE html> |
| <html> |
| <body> |
| <script src="../../resources/gc.js"></script> |
| <p>This tests that StyleSheetList of a shadow root does not get collected as long as the shadow root is alive.</p> |
| <pre><script> |
| |
| if (window.testRunner) |
| testRunner.dumpAsText(); |
| |
| function createShadow() { |
| const host = document.createElement('div'); |
| const shadowRoot = host.attachShadow({mode: 'closed'}); |
| shadowRoot.styleSheets.alive = true; |
| return shadowRoot; |
| } |
| |
| for (let i = 0; i < 10; i++) { |
| const shadowRoot = createShadow(); |
| gc(); |
| document.write(shadowRoot.styleSheets.alive ? 'PASS' : 'FAIL - styleSheets got collected'); |
| document.write('<br>'); |
| } |
| |
| </script></pre> |
| </body> |
| </html> |