| Index: third_party/WebKit/LayoutTests/imported/web-platform-tests/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/dom-tree-accessors-001.html
|
| diff --git a/third_party/WebKit/LayoutTests/imported/web-platform-tests/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/dom-tree-accessors-001.html b/third_party/WebKit/LayoutTests/imported/web-platform-tests/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/dom-tree-accessors-001.html
|
| deleted file mode 100644
|
| index 8963cee476983bf606e043a914e0fd16163a7b00..0000000000000000000000000000000000000000
|
| --- a/third_party/WebKit/LayoutTests/imported/web-platform-tests/shadow-dom/untriaged/shadow-trees/upper-boundary-encapsulation/dom-tree-accessors-001.html
|
| +++ /dev/null
|
| @@ -1,227 +0,0 @@
|
| -<!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: Upper-boundary encapsulation: document's DOM tree accessors</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="Mikhail Fursov" href="mailto:mfursov@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 shadow nodes and named shadow elements are not accessible using shadow host's document DOM tree accessors.">
|
| -<script src="../../../../../../resources/testharness.js"></script>
|
| -<script src="../../../../../../resources/testharnessreport.js"></script>
|
| -<script src="../../../../html/resources/common.js"></script>
|
| -</head>
|
| -<body>
|
| -<div id="log"></div>
|
| -<script>
|
| -// A document's "DOM tree accessors" include:
|
| -// (document.)head, title, body, images, embeds, plugins, links, forms,
|
| -// scripts, getElementsByName(), cssElementMap, and currentScript
|
| -//
|
| -// Of these, it is unclear how document.cssElementMap can be tested.
|
| -// Except for it, there is a test corresponding to each accessor.
|
| -//
|
| -// Additionally, there are obsolete accessors
|
| -// <http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#other-elements,-attributes-and-apis>:
|
| -// (document.)anchors, applets, and all.
|
| -//
|
| -// and some accessors defined in the DOM specification (formerly known as
|
| -// "DOM Core") <http://dom.spec.whatwg.org/#interface-document>:
|
| -// (document.)documentElement, getElementsByTagName(),
|
| -// getElementsByTagNameNS(), getElementsByClassName(), and getElementById().
|
| -//
|
| -// As it seems reasonable to have tests for these accessors, this file also
|
| -// includes tests for them, except for document.documentElement which is
|
| -// unclear whether we can test; the distribution process of Shadow DOM does not
|
| -// alter the host element, so the document element (e.g. <html>) cannot be
|
| -// replaced with an element in a shadow tree.
|
| -
|
| -// ----------------------------------------------------------------------------
|
| -// Constants and utility functions
|
| -
|
| -// Place the same HTML content into both the host document and the shadow root.
|
| -// To differentiate these two, a class name is assigned to every element by
|
| -// populateTestContentToHostDocument() and populateTestContentToShadowRoot().
|
| -var HTML_CONTENT = [
|
| - '<head>',
|
| - '<title></title>',
|
| - '<link rel="help" href="#">',
|
| - '</head>',
|
| - '<body>',
|
| - '<p></p>',
|
| - '<a name="test-name"></a>',
|
| - '<a href="#"></a>',
|
| - '<area href="#">',
|
| - '<img src="#" alt="">',
|
| - '<embed></embed>',
|
| - '<form></form>',
|
| - '<script><' + '/script>',
|
| - '</body>'
|
| -].join('\n');
|
| -
|
| -function addClassNameToAllElements(document, root, className) {
|
| - var nodeIterator = document.createNodeIterator(
|
| - root, NodeFilter.SHOW_ELEMENT, null);
|
| - var node;
|
| - while (node = nodeIterator.nextNode())
|
| - node.className = className;
|
| -}
|
| -
|
| -function populateTestContentToHostDocument(document) {
|
| - document.documentElement.innerHTML = HTML_CONTENT;
|
| - addClassNameToAllElements(document, document.documentElement, 'host');
|
| -}
|
| -
|
| -function populateTestContentToShadowRoot(shadowRoot) {
|
| - shadowRoot.innerHTML = HTML_CONTENT;
|
| - addClassNameToAllElements(shadowRoot.ownerDocument, shadowRoot, 'shadow');
|
| -}
|
| -
|
| -function createDocumentForTesting() {
|
| - var doc = document.implementation.createHTMLDocument('');
|
| - populateTestContentToHostDocument(doc);
|
| - var shadowRoot = doc.body.attachShadow({mode: 'open'});
|
| - populateTestContentToShadowRoot(shadowRoot);
|
| - return doc;
|
| -}
|
| -
|
| -// Make sure the given HTMLCollection contains at least one elements and
|
| -// all elements have the class named "host". This function works well with
|
| -// HTMLCollection, HTMLAllCollection, and NodeList consisting of elements.
|
| -function assert_collection(collection) {
|
| - assert_true(collection.length > 0);
|
| - Array.prototype.forEach.call(collection, function (element) {
|
| - assert_equals(element.className, 'host');
|
| - });
|
| -}
|
| -
|
| -// ----------------------------------------------------------------------------
|
| -// Tests for DOM tree accessors defined in HTML specification
|
| -
|
| -test(function () {
|
| - var doc = createDocumentForTesting();
|
| - assert_equals(doc.head.className, 'host');
|
| - assert_equals(doc.body.className, 'host');
|
| -},
|
| - '<head> and <body> in a shadow tree should not be accessible from ' +
|
| - 'owner document\'s "head" and "body" properties, respectively.'
|
| -);
|
| -
|
| -test(function () {
|
| - var doc = document.implementation.createHTMLDocument('');
|
| - populateTestContentToHostDocument(doc);
|
| -
|
| - // Note: this test is originally written to replace document.documentElement
|
| - // with shadow contents, but among Shadow DOM V1 allowed elements body is the
|
| - // most approximate to it, though some test may make lesser sense.
|
| - var shadowRoot = doc.body.attachShadow({mode: 'open'});
|
| - populateTestContentToShadowRoot(shadowRoot);
|
| -
|
| - // Replace the content of <title> to distinguish elements in a host
|
| - // document and a shadow tree.
|
| - doc.getElementsByTagName('title')[0].textContent = 'Title of host document';
|
| - shadowRoot.querySelector('title').textContent =
|
| - 'Title of shadow tree';
|
| -
|
| - assert_equals(doc.title, 'Title of host document');
|
| -},
|
| - 'The content of title element in a shadow tree should not be accessible ' +
|
| - 'from owner document\'s "title" attribute.'
|
| -);
|
| -
|
| -function testHTMLCollection(accessor) {
|
| - var doc = createDocumentForTesting();
|
| - assert_collection(doc[accessor]);
|
| -}
|
| -
|
| -generate_tests(
|
| - testHTMLCollection,
|
| - ['images', 'embeds', 'plugins', 'links', 'forms', 'scripts'].map(
|
| - function (accessor) {
|
| - return [
|
| - 'Elements in a shadow tree should not be accessible from ' +
|
| - 'owner document\'s "' + accessor + '" attribute.',
|
| - accessor
|
| - ];
|
| - }));
|
| -
|
| -test(function () {
|
| - var doc = createDocumentForTesting();
|
| - assert_collection(doc.getElementsByName('test-name'));
|
| -},
|
| - 'Elements in a shadow tree should not be accessible from owner ' +
|
| - 'document\'s getElementsByName() method.'
|
| -);
|
| -
|
| -// ----------------------------------------------------------------------------
|
| -// Tests for obsolete accessors
|
| -
|
| -generate_tests(
|
| - testHTMLCollection,
|
| - ['anchors', 'all'].map(
|
| - function (accessor) {
|
| - return [
|
| - 'Elements in a shadow tree should not be accessible from ' +
|
| - 'owner document\'s "' + accessor + '" attribute.',
|
| - accessor
|
| - ];
|
| - }));
|
| -
|
| -// ----------------------------------------------------------------------------
|
| -// Tests for accessors defined in DOM specification
|
| -
|
| -test(function () {
|
| - var doc = createDocumentForTesting();
|
| - assert_collection(doc.getElementsByTagName('p'));
|
| -},
|
| - 'Elements in a shadow tree should not be accessible from owner ' +
|
| - 'document\'s getElementsByTagName() method.'
|
| -);
|
| -
|
| -test(function () {
|
| - // Create a XML document.
|
| - var namespace = 'http://www.w3.org/1999/xhtml';
|
| - var doc = document.implementation.createDocument(namespace, 'html');
|
| - doc.documentElement.appendChild(doc.createElementNS(namespace, 'head'));
|
| - var body = doc.createElementNS(namespace, 'body');
|
| - var pHost = doc.createElementNS(namespace, 'p');
|
| - pHost.className = "host";
|
| - body.appendChild(pHost);
|
| - doc.documentElement.appendChild(body);
|
| -
|
| - var shadowRoot = body.attachShadow({mode: 'open'});
|
| - var pShadow = doc.createElementNS(namespace, 'p');
|
| - pShadow.className = "shadow";
|
| - shadowRoot.appendChild(pShadow);
|
| -
|
| - assert_collection(doc.getElementsByTagNameNS(namespace, 'p'));
|
| -},
|
| - 'Elements in a shadow tree should not be accessible from owner ' +
|
| - 'document\'s getElementsByTagNameNS() method.'
|
| -);
|
| -
|
| -test(function () {
|
| - var doc = document.implementation.createHTMLDocument('');
|
| - populateTestContentToHostDocument(doc);
|
| - var shadowRoot = doc.body.attachShadow({mode: 'open'});
|
| - populateTestContentToShadowRoot(shadowRoot);
|
| -
|
| - shadowRoot.querySelectorAll('p')[0].id = 'test-id';
|
| - assert_equals(doc.getElementById('test-id'), null);
|
| -},
|
| - 'Elements in a shadow tree should not be accessible from owner ' +
|
| - 'document\'s getElementById() method.'
|
| -);
|
| -</script>
|
| -</body>
|
| -</html>
|
|
|