| <!DOCTYPE html> | |
| <meta charset="utf-8"> | |
| <title>CSS Test: CSSOM StyleSheet insertRule across context</title> | |
| <link rel="author" title="Kagami Sascha Rosylight" href="mailto:saschanaz@outlook.com"> | |
| <link rel="author" title="Mozilla" href="https://mozilla.org"> | |
| <link rel="help" href="https://drafts.csswg.org/cssom/"> | |
| <script src="/resources/testharness.js" type="text/javascript"></script> | |
| <script src="/resources/testharnessreport.js" type="text/javascript"></script> | |
| <iframe id="iframe"></iframe> | |
| <script> | |
| function createSheet() { | |
| const tempStyleElement = iframe.contentDocument.createElement('style'); | |
| iframe.contentDocument.head.append(tempStyleElement); | |
| const tempStyle = tempStyleElement.sheet; | |
| tempStyleElement.remove(); | |
| return tempStyle; | |
| } | |
| test(() => { | |
| const sheet = createSheet(); | |
| sheet.insertRule(".kaoru {}"); | |
| assert_equals(sheet.rules[0].constructor, iframe.contentWindow.CSSStyleRule); | |
| }, "The constructor of inserted rule object must be from iframe"); | |
| test(() => { | |
| const sheet = new iframe.contentWindow.CSSStyleSheet(); | |
| sheet.insertRule(".kaoru {}"); | |
| assert_equals(sheet.rules[0].constructor, iframe.contentWindow.CSSStyleRule); | |
| }, "The constructor of inserted rule object must be from iframe for new CSSStyleSheet()"); | |
| </script> |