| Index: LayoutTests/imported/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/window-named-properties-001.html
|
| diff --git a/LayoutTests/imported/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/window-named-properties-001.html b/LayoutTests/imported/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/window-named-properties-001.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..8b6b33964a56fdc0bf04bef2377a38b5b2652c72
|
| --- /dev/null
|
| +++ b/LayoutTests/imported/web-platform-tests/shadow-dom/shadow-trees/upper-boundary-encapsulation/window-named-properties-001.html
|
| @@ -0,0 +1,91 @@
|
| +<!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: Window object named properties: Frames</title>
|
| +<link rel="author" title="Aleksei Yu. Semenov" href="mailto:a.semenov@unipro.ru">
|
| +<link rel="author" title="Sergey G. Grekhov" href="mailto:sgrekhov@unipro.ru">
|
| +<link rel="author" title="Yuta Kitamura" href="mailto:yutak@google.com">
|
| +<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 nodes and named elements are not accessible from Window object named properties.">
|
| +<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>
|
| +test(function () {
|
| + var host = document.createElement('div');
|
| + try {
|
| + host.style.display = 'none';
|
| + document.body.appendChild(host);
|
| + var shadowRoot = host.createShadowRoot();
|
| + var iframe = document.createElement('iframe');
|
| + iframe.style.display = 'none';
|
| + iframe.name = 'test-name';
|
| + shadowRoot.appendChild(iframe);
|
| + assert_false('test-name' in window);
|
| + } finally {
|
| + if (host.parentNode)
|
| + host.parentNode.removeChild(host);
|
| + }
|
| +},
|
| + 'An iframe element in a shadow tree should not be accessible from ' +
|
| + 'window\'s named properties with its "name" attribute value.'
|
| +);
|
| +
|
| +var frameTest = async_test(
|
| + 'A frame element in a shadow tree should not be accessible from ' +
|
| + 'window\'s named properties with its "name" attribute value.');
|
| +
|
| +frameTest.step(function () {
|
| + // To test a document with frames, an iframe containing frames is created.
|
| + var srcdoc = [
|
| + '<!DOCTYPE html>',
|
| + '<html>',
|
| + '<head>',
|
| + '<title>Frames Test</title>',
|
| + '<script src="../../testcommon.js"><' + '/script>',
|
| + '</head>',
|
| + '<frameset id="host" cols="50%,*">',
|
| + '<frame src="about:blank" name="host-frame1">',
|
| + '<frame src="about:blank" name="host-frame2">',
|
| + '</frameset>',
|
| + '</html>'
|
| + ].join('\n');
|
| + var iframe = document.createElement('iframe');
|
| + iframe.srcdoc = srcdoc;
|
| + iframe.style.display = 'none';
|
| +
|
| + iframe.addEventListener('load', frameTest.step_func(function (event) {
|
| + try {
|
| + var doc = iframe.contentDocument;
|
| + var win = iframe.contentWindow;
|
| + var shadowRoot = doc.getElementById('host').createShadowRoot();
|
| + shadowRoot.innerHTML =
|
| + '<frame src="about:blank" name="shadow-frame1">\n' +
|
| + '<frame src="about:blank" name="shadow-frame2">';
|
| + assert_false('shadow-frame1' in win);
|
| + assert_false('shadow-frame2' in win);
|
| + frameTest.done();
|
| + } finally {
|
| + if (iframe.parentNode)
|
| + iframe.parentNode.removeChild(iframe);
|
| + }
|
| + }));
|
| +
|
| + document.body.appendChild(iframe);
|
| +});
|
| +</script>
|
| +</body>
|
| +</html>
|
|
|