| <!DOCTYPE html> |
| <!-- |
| Distributed under both the W3C Test Suite License [1] and the W3C |
| 3-clause BSD License [2]. To contribute to a W3C Test Suite, see the |
| policies and contribution forms [3]. |
| |
| [1] http://www.w3.org/Consortium/Legal/2008/04-testsuite-license |
| [2] http://www.w3.org/Consortium/Legal/2008/03-bsd-license |
| [3] http://www.w3.org/2004/10/27-testcases |
| --> |
| <html> |
| <head> |
| <title>Shadow DOM Test: A_04_01_11</title> |
| <link rel="author" title="Sergey G. Grekhov" href="mailto:sgrekhov@unipro.ru"> |
| <link rel="help" href="http://www.w3.org/TR/2013/WD-shadow-dom-20130514/#upper-boundary-encapsulation"> |
| <meta name="assert" content="Upper-boundary encapsulation:The style sheets, represented by the shadow nodes are not accessible using shadow host document's CSSOM extensions"> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="../../testcommon.js"></script> |
| <link rel="stylesheet" href="/resources/testharness.css"> |
| </head> |
| <body> |
| <div id="log"></div> |
| <script> |
| // check that <style> element added to head is not exposed |
| var A_04_01_11_T1 = async_test('A_04_01_11_T01'); |
| |
| A_04_01_11_T1.step(function () { |
| var ctx = newContext(); |
| var iframe = newIFrame(ctx, '../../resources/blank.html'); |
| iframe.onload = A_04_01_11_T1.step_func(step_unit(function () { |
| var d = iframe.contentDocument; |
| var initialStyleSheetsCount = d.styleSheets.length; |
| var s = d.head.createShadowRoot(); |
| var style = d.createElement('style'); |
| s.appendChild(style); |
| assert_equals(d.styleSheets.length, initialStyleSheetsCount, 'style elements in shadow DOM must not be exposed via ' + |
| 'the document.styleSheets collection '); |
| |
| }, ctx, A_04_01_11_T1)); |
| }); |
| |
| |
| // check that <link> element added to head is not exposed |
| test(unit(function (ctx) { |
| |
| var d = newRenderedHTMLDocument(ctx); |
| var initialStyleSheetsCount = d.styleSheets.length; |
| |
| var link = d.createElement('link'); |
| link.setAttribute('href', 'testharness.css'); |
| link.setAttribute('rel', 'stylesheet'); |
| d.body.appendChild(link); |
| |
| //create Shadow root |
| var root = d.createElement('div'); |
| d.body.appendChild(root); |
| var s = root.createShadowRoot(); |
| |
| s.appendChild(link); |
| |
| assert_equals(d.styleSheets.length, initialStyleSheetsCount, 'stylesheet link elements in shadow DOM must not be ' + |
| 'exposed via the document.styleSheets collection'); |
| |
| |
| }), 'A_04_01_11_T2'); |
| |
| // TODO check selectedStyleSheetSet, lastStyleSheetSet, preferredStyleSheetSet, styleSheetSets |
| </script> |
| </body> |
| </html> |