| Index: third_party/WebKit/LayoutTests/imported/web-platform-tests/shadow-dom/leaktests/html-collection.html
|
| diff --git a/third_party/WebKit/LayoutTests/imported/web-platform-tests/shadow-dom/leaktests/html-collection.html b/third_party/WebKit/LayoutTests/imported/web-platform-tests/shadow-dom/leaktests/html-collection.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..5c35f6b66010464b0f5cff6d69626dab5f5afd8c
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/imported/web-platform-tests/shadow-dom/leaktests/html-collection.html
|
| @@ -0,0 +1,72 @@
|
| +<!DOCTYPE html>
|
| +<html>
|
| +<head>
|
| +<meta name='author' title='Google' href='http://www.google.com'>
|
| +<meta name='assert' content='document attributes that returns HTMLCollection should not expose nodes in shadow tree.'>
|
| +<link rel='help' href='https://w3c.github.io/webcomponents/spec/shadow/'>
|
| +<script src='../../../../resources/testharness.js'></script>
|
| +<script src='../../../../resources/testharnessreport.js'></script>
|
| +</head>
|
| +<body>
|
| +<template id='collection-template'>
|
| + <img>
|
| + <embed></embed>
|
| + <plugin></plugin>
|
| + <applet></applet>
|
| + <object type='application/x-java-applet'></object>
|
| + <a href='http://example.com'></a>
|
| + <a name='test'></a>
|
| + <form name='test'></form>
|
| + <script></script>
|
| +</template>
|
| +<div id='doc'></div>
|
| +<div id='host'></div>
|
| +</body>
|
| +<script>
|
| +'use strict';
|
| +
|
| +function fillTemplate(root, prefix) {
|
| + var tmpl = document.getElementById('collection-template');
|
| + root.appendChild(document.importNode(tmpl.content, true));
|
| + for (var i = 0; i < root.childNodes.length; ++i) {
|
| + var el = root.childNodes[i];
|
| + if (el.nodeType != 1)
|
| + continue;
|
| + el.id = prefix + el.tagName.toLowerCase();
|
| + }
|
| +}
|
| +
|
| +// Construct subtree with 'doc-*' ids.
|
| +var doc = document.getElementById('doc');
|
| +fillTemplate(doc, 'doc-');
|
| +
|
| +// Construct shadow subtree with 'shadow-*' ids.
|
| +var host = document.getElementById('host');
|
| +var shadow = host.attachShadow({mode: 'open'});
|
| +fillTemplate(shadow, 'shadow-');
|
| +
|
| +function testCollection(collection) {
|
| + var elements = document[collection];
|
| + assert_greater_than(elements.length, 0, 'document.' + collection + ' should have at least 1 element.');
|
| + for (var i = 0; i < elements.length; ++i) {
|
| + if (elements[i].id) {
|
| + assert_equals(elements[i].id.indexOf('shadow-'), -1, 'document.' + collection + ' should not contain elements in shadow tree.');
|
| + }
|
| + }
|
| +}
|
| +
|
| +var testParams = [
|
| + ['document.scripts should not contain shadow nodes', 'scripts'],
|
| + ['document.all should not contain shadow nodes', 'all'],
|
| + ['document.forms should not contain shadow nodes', 'forms'],
|
| + ['document.images should not contain shadow nodes', 'images'],
|
| + ['document.links should not contain shadow nodes', 'links'],
|
| + ['document.anchors should not contain shadow nodes', 'anchors'],
|
| + ['document.embeds should not contain shadow nodes', 'embeds'],
|
| + ['document.plugins should not contain shadow nodes', 'plugins'],
|
| + ['document.applets should not contain shadow nodes', 'applets']];
|
| +
|
| +generate_tests(testCollection, testParams);
|
| +
|
| +</script>
|
| +</html>
|
|
|