HTML parser instantiates a custom element inside a template element with a wrong...
authorrniwa@webkit.org <rniwa@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 3 Mar 2016 01:20:56 +0000 (01:20 +0000)
committerrniwa@webkit.org <rniwa@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 3 Mar 2016 01:20:56 +0000 (01:20 +0000)
https://bugs.webkit.org/show_bug.cgi?id=154936

Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

Updated the expected results for newly passing test cases.

One test case in additions-to-parsing-xhtml-documents/node-document.html starts failing due to a bug in the test.
The bug in the test will be fixed in https://github.com/w3c/web-platform-tests/pull/2651

Finally, remove duplicated HTML template element tests in html-templates since there is a new copy under
web-platform-tests/html/semantics/scripting-1/the-template-element/. Unfortunately, we can't remove
html-templates/parsing-html-templates/ because we haven't imported web-platform-tests/html/syntax yet.

* html-templates/additions-to-parsing-xhtml-documents: Removed.
* html-templates/additions-to-serializing-xhtml-documents: Removed.
* html-templates/additions-to-the-css-user-agent-style-sheet: Removed.
* html-templates/additions-to-the-steps-to-clone-a-node: Removed.
* html-templates/definitions: Removed.
* html-templates/innerhtml-on-templates: Removed.
* html-templates/serializing-html-templates: Removed.
* html-templates/template-element: Removed.
* web-platform-tests/html/semantics/scripting-1/the-template-element/additions-to-parsing-xhtml-documents/node-document.html:
* web-platform-tests/html/semantics/scripting-1/the-template-element/definitions/template-contents-owner-test-001-expected.txt:
* web-platform-tests/html/semantics/scripting-1/the-template-element/template-element/node-document-changes-expected.txt:

Source/WebCore:

The bug was caused by our implementation following the old spec which didn't create a appropriate template
contents owner document [1] for a document without a browsing context. The new spec no longer has this clause,
and we should be always creating the appropriate template contents owner document unless the document itself
is an appropriate template contents owner document for another document (comes up in nested template elements).

No new tests since the behavior change is covered by existing tests.

[1] https://html.spec.whatwg.org/#appropriate-template-contents-owner-document

* dom/Document.h:
(WebCore::Document::templateDocument):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@197481 268f45cc-cd09-0410-ab3c-d52691b4dbfc

50 files changed:
LayoutTests/imported/w3c/ChangeLog
LayoutTests/imported/w3c/html-templates/additions-to-parsing-xhtml-documents/node-document-expected.txt [deleted file]
LayoutTests/imported/w3c/html-templates/additions-to-parsing-xhtml-documents/node-document.html [deleted file]
LayoutTests/imported/w3c/html-templates/additions-to-parsing-xhtml-documents/template-child-nodes-expected.txt [deleted file]
LayoutTests/imported/w3c/html-templates/additions-to-parsing-xhtml-documents/template-child-nodes.html [deleted file]
LayoutTests/imported/w3c/html-templates/additions-to-serializing-xhtml-documents/outerhtml-expected.txt [deleted file]
LayoutTests/imported/w3c/html-templates/additions-to-serializing-xhtml-documents/outerhtml.html [deleted file]
LayoutTests/imported/w3c/html-templates/additions-to-the-css-user-agent-style-sheet/css-user-agent-style-sheet-test-001-expected.html [deleted file]
LayoutTests/imported/w3c/html-templates/additions-to-the-css-user-agent-style-sheet/css-user-agent-style-sheet-test-001.html [deleted file]
LayoutTests/imported/w3c/html-templates/additions-to-the-css-user-agent-style-sheet/css-user-agent-style-sheet-test-002-expected.html [deleted file]
LayoutTests/imported/w3c/html-templates/additions-to-the-css-user-agent-style-sheet/css-user-agent-style-sheet-test-002.html [deleted file]
LayoutTests/imported/w3c/html-templates/additions-to-the-css-user-agent-style-sheet/css-user-agent-style-sheet-test-003-expected.html [deleted file]
LayoutTests/imported/w3c/html-templates/additions-to-the-css-user-agent-style-sheet/css-user-agent-style-sheet-test-003.html [deleted file]
LayoutTests/imported/w3c/html-templates/additions-to-the-steps-to-clone-a-node/template-clone-children-expected.txt [deleted file]
LayoutTests/imported/w3c/html-templates/additions-to-the-steps-to-clone-a-node/template-clone-children.html [deleted file]
LayoutTests/imported/w3c/html-templates/additions-to-the-steps-to-clone-a-node/templates-copy-document-owner-expected.txt [deleted file]
LayoutTests/imported/w3c/html-templates/additions-to-the-steps-to-clone-a-node/templates-copy-document-owner.html [deleted file]
LayoutTests/imported/w3c/html-templates/definitions/template-contents-expected.txt [deleted file]
LayoutTests/imported/w3c/html-templates/definitions/template-contents-owner-document-type-expected.txt [deleted file]
LayoutTests/imported/w3c/html-templates/definitions/template-contents-owner-document-type.html [deleted file]
LayoutTests/imported/w3c/html-templates/definitions/template-contents-owner-test-001-expected.txt [deleted file]
LayoutTests/imported/w3c/html-templates/definitions/template-contents-owner-test-001.html [deleted file]
LayoutTests/imported/w3c/html-templates/definitions/template-contents-owner-test-002-expected.txt [deleted file]
LayoutTests/imported/w3c/html-templates/definitions/template-contents-owner-test-002.html [deleted file]
LayoutTests/imported/w3c/html-templates/definitions/template-contents.html [deleted file]
LayoutTests/imported/w3c/html-templates/innerhtml-on-templates/innerhtml-expected.txt [deleted file]
LayoutTests/imported/w3c/html-templates/innerhtml-on-templates/innerhtml.html [deleted file]
LayoutTests/imported/w3c/html-templates/serializing-html-templates/outerhtml-expected.txt [deleted file]
LayoutTests/imported/w3c/html-templates/serializing-html-templates/outerhtml.html [deleted file]
LayoutTests/imported/w3c/html-templates/template-element/content-attribute-expected.txt [deleted file]
LayoutTests/imported/w3c/html-templates/template-element/content-attribute.html [deleted file]
LayoutTests/imported/w3c/html-templates/template-element/node-document-changes-expected.txt [deleted file]
LayoutTests/imported/w3c/html-templates/template-element/node-document-changes.html [deleted file]
LayoutTests/imported/w3c/html-templates/template-element/template-as-a-descendant-expected.txt [deleted file]
LayoutTests/imported/w3c/html-templates/template-element/template-as-a-descendant.html [deleted file]
LayoutTests/imported/w3c/html-templates/template-element/template-content-expected.txt [deleted file]
LayoutTests/imported/w3c/html-templates/template-element/template-content-node-document-expected.txt [deleted file]
LayoutTests/imported/w3c/html-templates/template-element/template-content-node-document.html [deleted file]
LayoutTests/imported/w3c/html-templates/template-element/template-content.html [deleted file]
LayoutTests/imported/w3c/html-templates/template-element/template-descendant-body-expected.txt [deleted file]
LayoutTests/imported/w3c/html-templates/template-element/template-descendant-body.html [deleted file]
LayoutTests/imported/w3c/html-templates/template-element/template-descendant-frameset-expected.txt [deleted file]
LayoutTests/imported/w3c/html-templates/template-element/template-descendant-frameset.html [deleted file]
LayoutTests/imported/w3c/html-templates/template-element/template-descendant-head-expected.txt [deleted file]
LayoutTests/imported/w3c/html-templates/template-element/template-descendant-head.html [deleted file]
LayoutTests/imported/w3c/web-platform-tests/html/semantics/scripting-1/the-template-element/additions-to-parsing-xhtml-documents/node-document-expected.txt
LayoutTests/imported/w3c/web-platform-tests/html/semantics/scripting-1/the-template-element/definitions/template-contents-owner-test-001-expected.txt
LayoutTests/imported/w3c/web-platform-tests/html/semantics/scripting-1/the-template-element/template-element/node-document-changes-expected.txt
Source/WebCore/ChangeLog
Source/WebCore/dom/Document.h

index 369cd31..bd57619 100644 (file)
@@ -1,3 +1,31 @@
+2016-03-02  Ryosuke Niwa  <rniwa@webkit.org>
+
+        HTML parser instantiates a custom element inside a template element with a wrong owner document
+        https://bugs.webkit.org/show_bug.cgi?id=154936
+
+        Reviewed by Chris Dumez.
+
+        Updated the expected results for newly passing test cases.
+
+        One test case in additions-to-parsing-xhtml-documents/node-document.html starts failing due to a bug in the test.
+        The bug in the test will be fixed in https://github.com/w3c/web-platform-tests/pull/2651
+
+        Finally, remove duplicated HTML template element tests in html-templates since there is a new copy under
+        web-platform-tests/html/semantics/scripting-1/the-template-element/. Unfortunately, we can't remove
+        html-templates/parsing-html-templates/ because we haven't imported web-platform-tests/html/syntax yet.
+
+        * html-templates/additions-to-parsing-xhtml-documents: Removed.
+        * html-templates/additions-to-serializing-xhtml-documents: Removed.
+        * html-templates/additions-to-the-css-user-agent-style-sheet: Removed.
+        * html-templates/additions-to-the-steps-to-clone-a-node: Removed.
+        * html-templates/definitions: Removed.
+        * html-templates/innerhtml-on-templates: Removed.
+        * html-templates/serializing-html-templates: Removed.
+        * html-templates/template-element: Removed.
+        * web-platform-tests/html/semantics/scripting-1/the-template-element/additions-to-parsing-xhtml-documents/node-document.html:
+        * web-platform-tests/html/semantics/scripting-1/the-template-element/definitions/template-contents-owner-test-001-expected.txt:
+        * web-platform-tests/html/semantics/scripting-1/the-template-element/template-element/node-document-changes-expected.txt:
+
 2016-03-02  Chris Dumez  <cdumez@apple.com>
 
         Align HTMLInputElement.maxLength with the specification
diff --git a/LayoutTests/imported/w3c/html-templates/additions-to-parsing-xhtml-documents/node-document-expected.txt b/LayoutTests/imported/w3c/html-templates/additions-to-parsing-xhtml-documents/node-document-expected.txt
deleted file mode 100644 (file)
index e8dd697..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-
-PASS Parsing XHTML: Node's node document must be set to that of the element to which it will be appended. Test empty template 
-PASS Parsing XHTML: Node's node document must be set to that of the element to which it will be appended. Test not empty template 
-PASS Parsing XHTML: Node's node document must be set to that of the element to which it will be appended. Test nested templates 
-PASS Parsing XHTML: Node's node document must be set to that of the element to which it will be appended. Test loading XHTML document from a file 
-PASS Parsing XHTML: Node's node document must be set to that of the element to which it will be appended. Test loading of XHTML document with nested templates from a file 
-
diff --git a/LayoutTests/imported/w3c/html-templates/additions-to-parsing-xhtml-documents/node-document.html b/LayoutTests/imported/w3c/html-templates/additions-to-parsing-xhtml-documents/node-document.html
deleted file mode 100644 (file)
index 0635d01..0000000
+++ /dev/null
@@ -1,148 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<title>HTML Templates: Parsing XHTML: Node's node document</title>
-<meta name="author" title="Sergey G. Grekhov" href="mailto:sgrekhov@unipro.ru">
-<meta name="author" title="Aleksei Yu. Semenov" href="mailto:a.semenov@unipro.ru">
-<meta name="assert" content="Parsing XHTML: Node's node document must be set to that of the element to which it will be appended">
-<link rel="help" href="http://www.w3.org/TR/2013/WD-html-templates-20130214/#parsing-xhtml-documents">
-<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 type="text/javascript">
-
-
-
-test(function() {
-    var doc = newXHTMLDocument();
-    doc.body = doc.createElement('body');
-    doc.body.innerHTML = '<template id="tmpl"></template>';
-
-    var template = doc.querySelector('#tmpl');
-
-    assert_not_equals(template, null, 'Template element should not be null');
-    assert_not_equals(template.content, undefined,
-            'Content attribute of template element should not be undefined');
-    assert_not_equals(template.content, null,
-            'Content attribute of template element should not be null');
-
-    assert_equals(template.ownerDocument, doc.body.ownerDocument,
-            'Wrong template node owner document');
-    assert_equals(template.content.ownerDocument, doc,
-            'Wrong template content owner document');
-
-}, 'Parsing XHTML: Node\'s node document must be set to that of the element '
-    + 'to which it will be appended. Test empty template');
-
-
-
-test(function() {
-    var doc = newXHTMLDocument();
-
-    doc.body = doc.createElement('body');
-    doc.body.innerHTML = '<template id="tmpl"><div>Div content</div></template>';
-
-    var template = doc.querySelector('#tmpl');
-
-    assert_equals(template.ownerDocument, doc.body.ownerDocument,
-            'Wrong template node owner document');
-
-    assert_not_equals(template, null, 'Template element should not be null');
-    assert_not_equals(template.content, undefined,
-            'Content attribute of template element should not be undefined');
-    assert_not_equals(template.content, null,
-            'Content attribute of template element should not be null');
-
-    var div = template.content.querySelector('div');
-    assert_equals(template.content.ownerDocument, div.ownerDocument,
-            'Wrong DIV node owner document');
-
-}, 'Parsing XHTML: Node\'s node document must be set to that of the element '
-    + 'to which it will be appended. Test not empty template');
-
-
-
-test(function() {
-    var doc = newXHTMLDocument();
-    doc.body = doc.createElement('body');
-    doc.body.innerHTML = ''
-            + '<template id="tmpl"><div>Div content</div> And some more text'
-            + '<template id="tmpl2"><div>Template content</div></template>'
-            + '</template>';
-
-    var template = doc.querySelector('#tmpl');
-    assert_not_equals(template, null, 'Template element should not be null');
-    assert_equals(template.ownerDocument, doc, 'Wrong template node owner document');
-    assert_not_equals(template.content, undefined,
-            'Content attribute of template element should not be undefined');
-    assert_not_equals(template.content, null,
-            'Content attribute of template element should not be null');
-
-    var nestedTemplate = template.content.querySelector('#tmpl2');
-    assert_not_equals(nestedTemplate, null, 'Nested template element should not be null');
-    assert_not_equals(nestedTemplate.content, undefined,
-            'Content attribute of nested template element should not be undefined');
-    assert_not_equals(nestedTemplate.content, null,
-            'Content attribute of nested template element should not be null');
-
-    assert_equals(nestedTemplate.ownerDocument, template.content.ownerDocument,
-            'Wrong nested template node owner document');
-
-
-    var div = nestedTemplate.content.querySelector('div');
-    assert_equals(nestedTemplate.content.ownerDocument, div.ownerDocument,
-            'Wrong DIV node owner document');
-
-}, 'Parsing XHTML: Node\'s node document must be set to that of the element '
-    + 'to which it will be appended. Test nested templates');
-
-
-
-testInIFrame('../resources/template-child-nodes-div.xhtml', function(context) {
-    var doc = context.iframes[0].contentDocument;
-
-    var template = doc.querySelector('template');
-
-    assert_equals(template.ownerDocument, doc, 'Wrong template node owner document');
-
-    assert_not_equals(template.content, undefined,
-            'Content attribute of template element should not be undefined');
-    assert_not_equals(template.content, null,
-            'Content attribute of template element should not be null');
-
-    var div = template.content.querySelector('div');
-    assert_equals(template.content.ownerDocument, div.ownerDocument,
-            'Wrong DIV node owner document');
-
-}, 'Parsing XHTML: Node\'s node document must be set to that of the element '
-    + 'to which it will be appended. Test loading XHTML document from a file');
-
-
-
-testInIFrame('../resources/template-child-nodes-nested.xhtml', function(context) {
-    var doc = context.iframes[0].contentDocument;
-
-    var template = doc.querySelector('template');
-
-    assert_equals(template.ownerDocument, doc, 'Wrong template node owner document');
-
-    var nestedTemplate = template.content.querySelector('template');
-
-    assert_equals(nestedTemplate.ownerDocument, template.content.ownerDocument,
-            'Wrong template node owner document');
-
-    var div = nestedTemplate.content.querySelector('div');
-    assert_equals(nestedTemplate.content.ownerDocument, div.ownerDocument,
-            'Wrong DIV node owner document');
-
-}, 'Parsing XHTML: Node\'s node document must be set to that of the element '
-    + 'to which it will be appended. Test loading of XHTML document '
-    + 'with nested templates from a file');
-
-</script>
-</body>
-</html>
diff --git a/LayoutTests/imported/w3c/html-templates/additions-to-parsing-xhtml-documents/template-child-nodes-expected.txt b/LayoutTests/imported/w3c/html-templates/additions-to-parsing-xhtml-documents/template-child-nodes-expected.txt
deleted file mode 100644 (file)
index e64a62b..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-
-PASS Child nodes of template element in XHTML documents must be appended to template content 
-PASS Child nodes of nested template element in XHTML documents must be appended to template content 
-PASS Child nodes of template element in XHTML documents must be appended to template content. Test loading XHTML document from a file 
-PASS Child nodes of nested template element in XHTML documents must be appended to template content. Test loading XHTML document from a file 
-
diff --git a/LayoutTests/imported/w3c/html-templates/additions-to-parsing-xhtml-documents/template-child-nodes.html b/LayoutTests/imported/w3c/html-templates/additions-to-parsing-xhtml-documents/template-child-nodes.html
deleted file mode 100644 (file)
index 90565ed..0000000
+++ /dev/null
@@ -1,103 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<title>HTML Templates: Child nodes of template element in XHTML documents</title>
-<meta name="author" title="Sergey G. Grekhov" href="mailto:sgrekhov@unipro.ru">
-<meta name="author" title="Aleksei Yu. Semenov" href="a.semenov@unipro.ru">
-<meta name="assert" content="Child nodes of template element in XHTML documents are always appended to the template content (instead of template itself)">
-<link rel="help" href="http://www.w3.org/TR/2013/WD-html-templates-20130214/#parsing-xhtml-documents">
-<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 type="text/javascript">
-
-
-test(function() {
-    var doc = newXHTMLDocument();
-
-    doc.body = doc.createElement('body');
-    doc.body.innerHTML = '<template id="tmpl1">'
-            + '<div id="div1">This is div inside template</div>'
-            + '<div id="div2">This is another div inside template</div>'
-            + '</template>';
-
-    var template = doc.querySelector('#tmpl1');
-
-    assert_equals(template.childNodes.length, 0,
-            'Wrong number of template child nodes');
-    assert_equals(template.content.childNodes.length, 2,
-            'Wrong number of template content child nodes');
-
-}, 'Child nodes of template element in XHTML documents must be appended to template content');
-
-
-
-test(function() {
-    var doc = newXHTMLDocument();
-    doc.body = doc.createElement('body');
-    doc.body.innerHTML = '<template id="tmpl1">'
-            + '<div id="div1">This is div inside template</div>'
-            + '<div id="div2">This is another div inside template</div>'
-            + '<template id="tmpl2">'
-            + '<div id="div3">This is div inside nested template</div>'
-            + '<div id="div4">This is another div inside nested template</div>'
-            + '</template>' + '</template>';
-
-    var template = doc.querySelector('#tmpl1');
-
-    assert_equals(template.childNodes.length, 0,
-            'Wrong number of template child nodes');
-    assert_equals(template.content.childNodes.length, 3,
-            'Wrong number of template content child nodes');
-
-    var nestedTemplate = template.content.querySelector('#tmpl2');
-
-    assert_equals(nestedTemplate.childNodes.length, 0,
-            'Wrong number of template child nodes');
-    assert_equals(nestedTemplate.content.childNodes.length, 2,
-            'Wrong number of nested template content child nodes');
-
-}, 'Child nodes of nested template element in XHTML documents must be appended to template content');
-
-
-
-testInIFrame('../resources/template-child-nodes-div.xhtml', function(context) {
-    var doc = context.iframes[0].contentDocument;
-
-    var template = doc.querySelector('template');
-
-    assert_equals(template.childNodes.length, 0,
-            'Wrong number of template child nodes');
-    assert_equals(template.content.querySelectorAll('div').length, 2,
-            'Wrong number of template content child nodes');
-
-}, 'Child nodes of template element in XHTML documents must be appended to template content. '
-    + 'Test loading XHTML document from a file');
-
-
-testInIFrame('../resources/template-child-nodes-nested.xhtml', function(context) {
-    var doc = context.iframes[0].contentDocument;
-
-    var template = doc.querySelector('template');
-
-    assert_equals(template.childNodes.length, 0,
-            'Wrong number of template child nodes');
-
-    var nestedTemplate = template.content.querySelector('template');
-
-    assert_equals(nestedTemplate.childNodes.length, 0,
-            'Wrong number of template child nodes');
-
-    assert_equals(nestedTemplate.content.querySelectorAll('div').length, 2,
-            'Wrong number of template content child nodes');
-
-}, 'Child nodes of nested template element in XHTML documents must be appended to template content. '
-    + 'Test loading XHTML document from a file');
-
-</script>
-</body>
-</html>
diff --git a/LayoutTests/imported/w3c/html-templates/additions-to-serializing-xhtml-documents/outerhtml-expected.txt b/LayoutTests/imported/w3c/html-templates/additions-to-serializing-xhtml-documents/outerhtml-expected.txt
deleted file mode 100644 (file)
index 4cb1c1a..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-
-PASS Template contents should be serialized instead of template element if serializing template element 
-PASS Template contents should be serialized instead of template element if serializing template element. Test nested template 
-PASS Template contents should be serialized instead of template element if serializing template element. Test serializing whole document 
-
diff --git a/LayoutTests/imported/w3c/html-templates/additions-to-serializing-xhtml-documents/outerhtml.html b/LayoutTests/imported/w3c/html-templates/additions-to-serializing-xhtml-documents/outerhtml.html
deleted file mode 100644 (file)
index efef6f0..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<title>HTML Templates: serialize template contents instead of template element</title>
-<meta name="author" title="Aleksei Yu. Semenov" href="a.semenov@unipro.ru">
-<meta name="assert" content="Template contents should be serialized instead of template element if serializing template element in XHTML document">
-<link rel="help" href="http://www.w3.org/TR/2013/WD-html-templates-20130214/#serializing-xhtml-documents">
-<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 type="text/javascript">
-
-test(function () {
-    var doc = newXHTMLDocument();
-    var template = doc.createElement('template');
-
-    var div = doc.createElement('div');
-    div.setAttribute('id', 'div1');
-    div.innerHTML = 'some text';
-    template.content.appendChild(div);
-
-    assert_equals(template.outerHTML, '<template xmlns="http://www.w3.org/1999/xhtml"><div id="div1">some text</div></template>',
-       'template element is serialized incorrectly');
-
-}, 'Template contents should be serialized instead of template element if serializing template element');
-
-
-
-test(function () {
-    var doc = newXHTMLDocument();
-    var template = doc.createElement('template');
-    var nestedTemplate = doc.createElement('template');
-
-    template.content.appendChild(nestedTemplate);
-
-    var div = doc.createElement('div');
-    div.setAttribute('id', 'div1');
-    div.innerHTML = 'some text';
-    nestedTemplate.content.appendChild(div);
-
-    assert_equals(template.outerHTML, '<template xmlns="http://www.w3.org/1999/xhtml"><template><div id="div1">some text</div></template></template>',
-       'template element is serialized incorrectly');
-
-
-}, 'Template contents should be serialized instead of template element if serializing template element. '
-    + 'Test nested template');
-
-
-test(function () {
-    var doc = newXHTMLDocument();
-    var template = doc.createElement('template');
-
-    var div = doc.createElement('div');
-    div.setAttribute('id', 'div1');
-    div.innerHTML = 'some text';
-    template.content.appendChild(div);
-    doc.body = doc.createElement('body');
-    doc.body.appendChild(template);
-
-    assert_equals(doc.documentElement.outerHTML, '<html xmlns="http://www.w3.org/1999/xhtml"><body><template><div id="div1">some text</div></template></body></html>',
-       'template element is serialized incorrectly');
-
-}, 'Template contents should be serialized instead of template element if serializing template element. '
-    + 'Test serializing whole document');
-
-</script>
-</body>
-</html>
diff --git a/LayoutTests/imported/w3c/html-templates/additions-to-the-css-user-agent-style-sheet/css-user-agent-style-sheet-test-001-expected.html b/LayoutTests/imported/w3c/html-templates/additions-to-the-css-user-agent-style-sheet/css-user-agent-style-sheet-test-001-expected.html
deleted file mode 100644 (file)
index 55c8b2e..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<!DOCTYPE html>
-<title>Template Reftest Reference</title>
-<link rel="author" title="Sergey G. Grekhov" href="mailto:sgrekhov@unipro.ru"/>
-<body>
-  <p>Test passes if there's no anything below this line.</p>
-</body>
diff --git a/LayoutTests/imported/w3c/html-templates/additions-to-the-css-user-agent-style-sheet/css-user-agent-style-sheet-test-001.html b/LayoutTests/imported/w3c/html-templates/additions-to-the-css-user-agent-style-sheet/css-user-agent-style-sheet-test-001.html
deleted file mode 100644 (file)
index fc310f4..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<!DOCTYPE html>
-    <title>Template Test: check that template content is invisible by default</title>
-    <link rel="author" title="Sergey G. Grekhov" href="mailto:sgrekhov@unipro.ru">
-    <link rel="help" href="http://www.w3.org/TR/2013/WD-html-templates-20130214/#css-additions">
-    <meta name="assert" content="Test checks that the template contents are hidden implicitly">
-    <link rel="match" href="css-user-agent-style-sheet-test-001-ref.html">
-<body>
-    <p>Test passes if there's no anything below this line.</p>
-    <template>
-        <span style="color:red">Test fails if you can see this text</span>
-    </template>
-</body>
diff --git a/LayoutTests/imported/w3c/html-templates/additions-to-the-css-user-agent-style-sheet/css-user-agent-style-sheet-test-002-expected.html b/LayoutTests/imported/w3c/html-templates/additions-to-the-css-user-agent-style-sheet/css-user-agent-style-sheet-test-002-expected.html
deleted file mode 100644 (file)
index 55c8b2e..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<!DOCTYPE html>
-<title>Template Reftest Reference</title>
-<link rel="author" title="Sergey G. Grekhov" href="mailto:sgrekhov@unipro.ru"/>
-<body>
-  <p>Test passes if there's no anything below this line.</p>
-</body>
diff --git a/LayoutTests/imported/w3c/html-templates/additions-to-the-css-user-agent-style-sheet/css-user-agent-style-sheet-test-002.html b/LayoutTests/imported/w3c/html-templates/additions-to-the-css-user-agent-style-sheet/css-user-agent-style-sheet-test-002.html
deleted file mode 100644 (file)
index 92f3d81..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<!DOCTYPE html>
-    <title>Template Test: check that template content is invisible by default</title>
-    <link rel="author" title="Sergey G. Grekhov" href="mailto:sgrekhov@unipro.ru">
-    <link rel="help" href="http://www.w3.org/TR/2013/WD-html-templates-20130214/#css-additions">
-    <meta name="assert" content="The template element itself must be hidden by default">
-    <link rel="match" href="css-user-agent-style-sheet-test-001-ref.html">
-<body>
-    <p>Test passes if there's no anything below this line.</p>
-    <template style="border: 1px solid; width: 100px; height: 100px">
-        <span style="color:red">Test fails if you can see this text or border around it</span>
-    </template>
-</body>
diff --git a/LayoutTests/imported/w3c/html-templates/additions-to-the-css-user-agent-style-sheet/css-user-agent-style-sheet-test-003-expected.html b/LayoutTests/imported/w3c/html-templates/additions-to-the-css-user-agent-style-sheet/css-user-agent-style-sheet-test-003-expected.html
deleted file mode 100644 (file)
index 55c8b2e..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<!DOCTYPE html>
-<title>Template Reftest Reference</title>
-<link rel="author" title="Sergey G. Grekhov" href="mailto:sgrekhov@unipro.ru"/>
-<body>
-  <p>Test passes if there's no anything below this line.</p>
-</body>
diff --git a/LayoutTests/imported/w3c/html-templates/additions-to-the-css-user-agent-style-sheet/css-user-agent-style-sheet-test-003.html b/LayoutTests/imported/w3c/html-templates/additions-to-the-css-user-agent-style-sheet/css-user-agent-style-sheet-test-003.html
deleted file mode 100644 (file)
index dfb5ce2..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-<!DOCTYPE html>
-    <title>HTML Templates: template content is invisible by default</title>
-    <link rel="author" title="Sergey G. Grekhov" href="mailto:sgrekhov@unipro.ru">
-    <link rel="help" href="http://www.w3.org/TR/2013/WD-html-templates-20130214/#css-additions">
-    <meta name="assert" content="The template element itself must be hidden by default">
-    <link rel="match" href="css-user-agent-style-sheet-test-001-ref.html">
-    <style>
-        template {
-            border: 1px solid; 
-            width: 100px; 
-            height: 100px; 
-        }
-    </style>
-<body>
-    <p>Test passes if there's no anything below this line.</p>
-    <template>
-        <span style="color:red">Test fails if you can see this text or border around it</span>
-    </template>
-</body>
diff --git a/LayoutTests/imported/w3c/html-templates/additions-to-the-steps-to-clone-a-node/template-clone-children-expected.txt b/LayoutTests/imported/w3c/html-templates/additions-to-the-steps-to-clone-a-node/template-clone-children-expected.txt
deleted file mode 100644 (file)
index 4e4da7d..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-
-PASS Clone template node. Test call to cloneNode(true) 
-PASS Clone template node. Test call to cloneNode() with the default parameter (false by default) 
-PASS Clone template node. Test call to cloneNode(false) 
-
diff --git a/LayoutTests/imported/w3c/html-templates/additions-to-the-steps-to-clone-a-node/template-clone-children.html b/LayoutTests/imported/w3c/html-templates/additions-to-the-steps-to-clone-a-node/template-clone-children.html
deleted file mode 100644 (file)
index bf32666..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<title>HTML Templates: Clone template node: All the children of template content are copied if 'copy children flag' set to true</title>
-<meta name="author" title="Sergey G. Grekhov" href="mailto:sgrekhov@unipro.ru">
-<meta name="assert" content="Clone template node: all the children of template content are copied if 'copy children flag' set to true">
-<link rel="help" href="http://www.w3.org/TR/2013/WD-html-templates-20130214/#node-clone-additions">
-<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 type="text/javascript">
-
-test(function () {
-    var doc = newHTMLDocument();
-    doc.body.innerHTML = '<template id="tmpl1">' +
-        '<div id="div1">This is div inside template</div>' +
-        '<div id="div2">This is another div inside template</div>' +
-        '</template>';
-
-    var template = doc.querySelector('#tmpl1');
-    var copy = template.cloneNode(true);
-
-    assert_not_equals(copy.content, undefined, 'Template clone content attribute should not be undefined');
-    assert_not_equals(copy.content, null, 'Template clone content attribute should not be null');
-
-    assert_equals(copy.content.childNodes.length, 2,
-            'Wrong number of template content\'s copy child nodes');
-    assert_not_equals(copy.content.querySelector('#div1'), null,
-            'Template child node should be copied');
-    assert_not_equals(copy.content.querySelector('#div2'), null,
-            'Template child node should be copied');
-
-}, 'Clone template node. Test call to cloneNode(true)');
-
-
-
-test(function () {
-    var doc = newHTMLDocument();
-    doc.body.innerHTML = '<template id="tmpl1">' +
-        '<div id="div1">This is div inside template</div>' +
-        '<div id="div2">This is another div inside template</div>' +
-        '</template>';
-
-    var template = doc.querySelector('#tmpl1');
-    var copy = template.cloneNode();
-
-    assert_not_equals(copy.content, undefined, 'Template clone content attribute should not be undefined');
-    assert_not_equals(copy.content, null, 'Template clone content attribute should not be null');
-
-    assert_equals(copy.content.childNodes.length, 0,
-            'Wrong number of template content\'s copy child nodes');
-
-}, 'Clone template node. Test call to cloneNode() with the default parameter '
-    + '(false by default)');
-
-
-
-test(function () {
-    var doc = newHTMLDocument();
-    doc.body.innerHTML = '<template id="tmpl1">' +
-        '<div id="div1">This is div inside template</div>' +
-        '<div id="div2">This is another div inside template</div>' +
-        '</template>';
-
-    var template = doc.querySelector('#tmpl1');
-    var copy = template.cloneNode(false);
-
-    assert_not_equals(copy.content, undefined, 'Template clone content attribute is undefined');
-    assert_not_equals(copy.content, null, 'Template clone content attribute is null');
-
-    assert_equals(copy.content.childNodes.length, 0,
-            'Wrong number of template content\'s copy child nodes');
-
-}, 'Clone template node. Test call to cloneNode(false)');
-
-
-</script>
-</body>
-</html>
diff --git a/LayoutTests/imported/w3c/html-templates/additions-to-the-steps-to-clone-a-node/templates-copy-document-owner-expected.txt b/LayoutTests/imported/w3c/html-templates/additions-to-the-steps-to-clone-a-node/templates-copy-document-owner-expected.txt
deleted file mode 100644 (file)
index 659c713..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-
-PASS ownerDocument of cloned template content is set to template content owner. Test cloning with children 
-PASS ownerDocument of cloned template content is set to template content owner. Test cloning without children 
-PASS ownerDocument of cloned template content is set to template content owner. Test cloneNode() with no arguments (false by default) 
-PASS ownerDocument of cloned template content is set to template content owner. Test cloning nested template 
-PASS ownerDocument of cloned template content is set to template content owner. Test loading HTML document from file 
-
diff --git a/LayoutTests/imported/w3c/html-templates/additions-to-the-steps-to-clone-a-node/templates-copy-document-owner.html b/LayoutTests/imported/w3c/html-templates/additions-to-the-steps-to-clone-a-node/templates-copy-document-owner.html
deleted file mode 100644 (file)
index 3cf03f3..0000000
+++ /dev/null
@@ -1,127 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<title>HTML Templates: ownerDocument of cloned template content is set to template content owner</title>
-<meta name="author" title="Sergey G. Grekhov" href="mailto:sgrekhov@unipro.ru">
-<meta name="author" title="Aleksei Yu. Semenov" href="a.semenov@unipro.ru">
-<meta name="assert" content="ownerDocument of cloned template content is set to template content owner">
-<link rel="help" href="http://www.w3.org/TR/2013/WD-html-templates-20130214/#node-clone-additions">
-<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 type="text/javascript">
-
-function checkOwnerDocument(node, doc) {
-    if ((node !== null) && (node !== undefined)) {
-        assert_equals(node.ownerDocument, doc,
-                'Wrong ownerDocument of the template copy\'s node ' + node.nodeName);
-        for (var i = 0; i < node.childNodes.length; i++) {
-            if (node.childNodes[i].nodeType === Node.ELEMENT_NODE) {
-                checkOwnerDocument(node.childNodes[i], doc);
-                if (node.childNodes[i].nodeName === 'TEMPLATE') {
-                    checkOwnerDocument(node.childNodes[i].content, doc);
-                }
-            }
-        }
-    }
-}
-
-
-test(function () {
-    var doc = newHTMLDocument();
-    doc.body.innerHTML = '<template id="tmpl1">' +
-        '<div id="div1">This is div inside template</div>' +
-        '<div id="div2">This is another div inside template</div>' +
-        '</template>';
-
-    var template = doc.querySelector('#tmpl1');
-    var copy = template.cloneNode(true);
-
-    assert_equals(copy.content.childNodes.length, 2,
-            'Wrong number of template content\'s copy child nodes');
-    checkOwnerDocument(copy.content, template.content.ownerDocument);
-
-}, 'ownerDocument of cloned template content is set to template content owner. '
-       + 'Test cloning with children');
-
-
-
-test(function () {
-    var doc = newHTMLDocument();
-    doc.body.innerHTML = '<template id="tmpl1">' +
-        '<div id="div1">This is div inside template</div>' +
-        '<div id="div2">This is another div inside template</div>' +
-        '</template>';
-
-    var template = doc.querySelector('#tmpl1');
-    var copy = template.cloneNode(false);
-
-    assert_equals(copy.content.childNodes.length, 0,
-            'Wrong number of template content\'s copy child nodes');
-    checkOwnerDocument(copy.content, template.content.ownerDocument);
-
-}, 'ownerDocument of cloned template content is set to template content owner. '
-      + 'Test cloning without children');
-
-
-
-test(function () {
-    var doc = newHTMLDocument();
-    doc.body.innerHTML = '<template id="tmpl1">' +
-        '<div id="div1">This is div inside template</div>' +
-        '<div id="div2">This is another div inside template</div>' +
-        '</template>';
-
-    var template = doc.querySelector('#tmpl1');
-    var copy = template.cloneNode();
-
-    assert_equals(copy.content.childNodes.length, 0,
-            'Wrong number of template content\'s copy child nodes');
-    checkOwnerDocument(copy.content, template.content.ownerDocument);
-
-}, 'ownerDocument of cloned template content is set to template content owner. '
-      + 'Test cloneNode() with no arguments (false by default)');
-
-
-
-test(function () {
-    var doc = newHTMLDocument();
-    doc.body.innerHTML = '<template id="tmpl1">' +
-        '<div id="div1">This is div inside template</div>' +
-        '<div id="div2">This is another div inside template</div>' +
-        '<template id="tmpl2">' +
-        '<div id="div3">This is div inside nested template</div>' +
-        '<div id="div4">This is another div inside nested template</div>' +
-        '</template>' +
-        '</template>';
-
-    var template = doc.querySelector('#tmpl1');
-    var copy = template.cloneNode(true);
-
-    assert_equals(copy.content.childNodes.length, 3,
-            'Wrong number of template content\'s copy child nodes');
-    checkOwnerDocument(copy.content, template.content.ownerDocument);
-
-}, 'ownerDocument of cloned template content is set to template content owner. '
-    + 'Test cloning nested template');
-
-
-
-testInIFrame('../resources/template-contents.html', function(context) {
-    var doc = context.iframes[0].contentDocument;
-
-    var template = doc.body.querySelector('template');
-    var copy = template.cloneNode(true);
-
-    checkOwnerDocument(copy.content, template.content.ownerDocument);
-
-}, 'ownerDocument of cloned template content is set to template content owner. '
-   + 'Test loading HTML document from file');
-
-</script>
-</body>
-</html>
diff --git a/LayoutTests/imported/w3c/html-templates/definitions/template-contents-expected.txt b/LayoutTests/imported/w3c/html-templates/definitions/template-contents-expected.txt
deleted file mode 100644 (file)
index 7a02da9..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-
-PASS The template contents must be a DocumentFragment (empty template) 
-PASS The template contents must be a DocumentFragment (non empty template) 
-PASS The template contents must be a DocumentFragment (non empty template containing div which is an Element instance) 
-PASS The template contents must be a DocumentFragment (not empty template containing text node) 
-PASS The template contents must be a DocumentFragment (nested template containing a text node) 
-PASS The template contents must be a DocumentFragment (the empty template tag inside HTML file loaded in iframe) 
-PASS The template contents must be a DocumentFragment (non empty template tag inside HTML file loaded in iframe) 
-PASS The template contents must be a DocumentFragment (the template tag with some text inside HTML file loaded in iframe) 
-PASS The template contents must be a DocumentFragment (the template tag with nested template tag inside HTML file loaded in iframe) 
-
diff --git a/LayoutTests/imported/w3c/html-templates/definitions/template-contents-owner-document-type-expected.txt b/LayoutTests/imported/w3c/html-templates/definitions/template-contents-owner-document-type-expected.txt
deleted file mode 100644 (file)
index a8279a0..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-
-PASS The template contents owner document type is HTML document (case when document has browsing context and the template is created by HTML parser) 
-PASS The template contents owner document type is HTML document (case when document has browsing context and the template is created by createElement()) 
-PASS The template contents owner document type is HTML document (case when document has no browsing context and the template is created by createElement()) 
-PASS The template contents owner document type is HTML document (case when document has no browsing context and the template is created via innerHTML) 
-
diff --git a/LayoutTests/imported/w3c/html-templates/definitions/template-contents-owner-document-type.html b/LayoutTests/imported/w3c/html-templates/definitions/template-contents-owner-document-type.html
deleted file mode 100644 (file)
index 3729484..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-<!DOCTYPE html>\r
-<html>\r
-<head>\r
-<title>HTML Templates: The template contents owner document type is HTML document</title>\r
-<meta name="author" title="Sergey G. Grekhov" href="mailto:sgrekhov@unipro.ru">\r
-<meta name="assert" content="The template contents owner document type is HTML document, if template is declared in HTML document">\r
-<link rel="help" href="http://www.w3.org/TR/2013/WD-html-templates-20130214/#definitions">\r
-<script src="../../../../resources/testharness.js"></script>\r
-<script src="../../../../resources/testharnessreport.js"></script>\r
-<script src='../testcommon.js'></script>\r
-<link rel="stylesheet" href="../../../../resources/testharness.css">\r
-</head>\r
-<body>\r
-<div id="log"></div>\r
-<script type="text/javascript">\r
-\r
-testInIFrame('../resources/template-contents.html', function(context) {\r
-    var doc = context.iframes[0].contentDocument;\r
-    var template = doc.querySelector('template');\r
-\r
-    assert_class_string(template.content.ownerDocument, 'HTMLDocument',\r
-            'Template content owner should be a HTML document');\r
-\r
-}, 'The template contents owner document type is HTML document ' +\r
-    '(case when document has browsing context and the template ' +\r
-    'is created by HTML parser)');\r
-\r
-\r
-testInIFrame('../resources/template-contents.html', function(context) {\r
-    var doc = context.iframes[0].contentDocument;\r
-    var template = doc.createElement('template');\r
-    var div = doc.createElement('div');\r
-    template.appendChild(div);\r
-\r
-    doc.body.appendChild(template);\r
-\r
-    assert_class_string(template.content.ownerDocument, 'HTMLDocument',\r
-            'Template content owner should be a HTML document');\r
-\r
-}, 'The template contents owner document type is HTML document ' +\r
-    '(case when document has browsing context and the template ' +\r
-    'is created by createElement())');\r
-\r
-\r
-test(function() {\r
-    var doc = newHTMLDocument();\r
-    var template = doc.createElement('template');\r
-    var div = doc.createElement('div');\r
-    template.appendChild(div);\r
-\r
-    doc.body.appendChild(template);\r
-\r
-    assert_class_string(template.content.ownerDocument, 'HTMLDocument',\r
-            'Template content owner should be a HTML document');\r
-\r
-}, 'The template contents owner document type is HTML document ' +\r
-    '(case when document has no browsing context and the template is created ' +\r
-    'by createElement())');\r
-\r
-test(function() {\r
-    var doc = newHTMLDocument();\r
-    doc.body.innerHTML = '<template><div>Hello!</div></template>';\r
-    var template = doc.querySelector('template');\r
-\r
-    assert_class_string(template.content.ownerDocument, 'HTMLDocument',\r
-            'Template content owner should be a HTML document');\r
-\r
-}, 'The template contents owner document type is HTML document ' +\r
-    '(case when document has no browsing context and the template is created via innerHTML)');\r
-</script>\r
-</body>\r
-</html>\r
diff --git a/LayoutTests/imported/w3c/html-templates/definitions/template-contents-owner-test-001-expected.txt b/LayoutTests/imported/w3c/html-templates/definitions/template-contents-owner-test-001-expected.txt
deleted file mode 100644 (file)
index c81904a..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-
-PASS Test the template contents owner document when enclosing document has no browsing content. Template element is created by createElement() 
-PASS Test the template contents owner document when enclosing document has no browsing content. Template element is created by innerHTML 
-
diff --git a/LayoutTests/imported/w3c/html-templates/definitions/template-contents-owner-test-001.html b/LayoutTests/imported/w3c/html-templates/definitions/template-contents-owner-test-001.html
deleted file mode 100644 (file)
index 960f250..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-<!DOCTYPE html>\r
-<html>\r
-<head>\r
-<title>HTML Templates: The template contents owner document (no browsing context)</title>\r
-<meta name="author" title="Sergey G. Grekhov" href="mailto:sgrekhov@unipro.ru">\r
-<meta name="assert" content="If template's enclosing document has no browsing context, it must be template contents owner">\r
-<link rel="help" href="http://www.w3.org/TR/2013/WD-html-templates-20130214/#definitions">\r
-<script src="../../../../resources/testharness.js"></script>\r
-<script src="../../../../resources/testharnessreport.js"></script>\r
-<script src='../testcommon.js'></script>\r
-<link rel="stylesheet" href="../../../../resources/testharness.css">\r
-</head>\r
-<body>\r
-<div id="log"></div>\r
-<script type="text/javascript">\r
-\r
-\r
-test(function() {\r
-    var doc = newHTMLDocument();\r
-    var template = doc.createElement('template');\r
-\r
-    doc.body.appendChild(template);\r
-\r
-    assert_equals(template.content.ownerDocument, doc, 'Wrong template content owner');\r
-\r
-}, 'Test the template contents owner document when enclosing document has '\r
-    + 'no browsing content. Template element is created by createElement()');\r
-\r
-\r
-\r
-test(function() {\r
-    var doc = newHTMLDocument();\r
-\r
-    doc.body.innerHTML = '<template><div>some text</div></template>';\r
-\r
-    var template = doc.querySelector('template');\r
-\r
-    assert_equals(template.content.ownerDocument, doc, 'Wrong template content owner');\r
-\r
-}, 'Test the template contents owner document when enclosing document has '\r
-    + 'no browsing content. Template element is created by innerHTML');\r
-\r
-</script>\r
-</body>\r
-</html>\r
diff --git a/LayoutTests/imported/w3c/html-templates/definitions/template-contents-owner-test-002-expected.txt b/LayoutTests/imported/w3c/html-templates/definitions/template-contents-owner-test-002-expected.txt
deleted file mode 100644 (file)
index 741eef9..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-
-PASS The template contents owner document must be different from template owner document, which has browsing context. Template element is created by createElement() 
-PASS The template contents owner document must be different from template owner document, which has browsing context. Template element is created via innerHTML 
-PASS The template contents owner document must be different from template owner document, which has browsing context. Template element is created by HTML parser 
-
diff --git a/LayoutTests/imported/w3c/html-templates/definitions/template-contents-owner-test-002.html b/LayoutTests/imported/w3c/html-templates/definitions/template-contents-owner-test-002.html
deleted file mode 100644 (file)
index 27a68d5..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-<!DOCTYPE html>\r
-<html>\r
-<head>\r
-<title>HTML Templates: The template contents owner document (there's browsing context)</title>\r
-<meta name="author" title="Sergey G. Grekhov" href="mailto:sgrekhov@unipro.ru">\r
-<meta name="assert" content="If template's enclosing document has browsing context, then templates content owner must be a new Document node without browsing context">\r
-<link rel="help" href="http://www.w3.org/TR/2013/WD-html-templates-20130214/#definitions">\r
-<script src="../../../../resources/testharness.js"></script>\r
-<script src="../../../../resources/testharnessreport.js"></script>\r
-<script src='../testcommon.js'></script>\r
-<link rel="stylesheet" href="../../../../resources/testharness.css">\r
-</head>\r
-<body>\r
-<div id="log"></div>\r
-<script type="text/javascript">\r
-\r
-\r
-testInIFrame(null, function(context) {\r
-    var doc = context.iframes[0].contentDocument;\r
-    var template = doc.createElement('template');\r
-\r
-    var div = doc.createElement('div');\r
-    div.setAttribute('id', 'div1');\r
-    div.innerText = 'Some text';\r
-\r
-    template.appendChild(div);\r
-\r
-    doc.body.appendChild(template);\r
-\r
-    // doc has browsing context. There should be another document as a template\r
-    // content owner\r
-    assert_not_equals(template.content.ownerDocument, doc, 'Wrong template owner document');\r
-\r
-}, 'The template contents owner document must be different from template owner document,' +\r
-     ' which has browsing context. Template element is created by createElement()');\r
-\r
-\r
-\r
-testInIFrame(null, function(context) {\r
-    var doc = context.iframes[0].contentDocument;\r
-\r
-    doc.body.innerHTML = '<template><div>some text</div></template>';\r
-\r
-    var template = doc.querySelector('template');\r
-\r
-    // doc has browsing context. There should be another document as a template\r
-    // content owner\r
-    assert_not_equals(template.content.ownerDocument, doc, 'Wrong template owner document');\r
-\r
-}, 'The template contents owner document must be different from template owner document,' +\r
-     ' which has browsing context. Template element is created via innerHTML');\r
-\r
-\r
-\r
-testInIFrame('../resources/template-contents.html', function(context) {\r
-    var doc = context.iframes[0].contentDocument;\r
-\r
-    var template = doc.querySelector('template');\r
-\r
-    // doc has browsing context. There should be another document as a template\r
-    // content owner\r
-    assert_not_equals(template.content.ownerDocument, doc, 'Wrong template owner document');\r
-\r
-}, 'The template contents owner document must be different from template owner document,' +\r
-     ' which has browsing context. Template element is created by HTML parser');\r
-\r
-</script>\r
-</body>\r
-</html>\r
diff --git a/LayoutTests/imported/w3c/html-templates/definitions/template-contents.html b/LayoutTests/imported/w3c/html-templates/definitions/template-contents.html
deleted file mode 100644 (file)
index 4895db5..0000000
+++ /dev/null
@@ -1,173 +0,0 @@
-<!DOCTYPE html>\r
-<html>\r
-<head>\r
-<title>HTML Templates: The template contents is a DocumentFragment</title>\r
-<meta name="author" title="Sergey G. Grekhov" href="mailto:sgrekhov@unipro.ru">\r
-<meta name="assert" content="The template contents must be a DocumentFragment">\r
-<link rel="help" href="http://www.w3.org/TR/2013/WD-html-templates-20130214/#definitions">\r
-<script src="../../../../resources/testharness.js"></script>\r
-<script src="../../../../resources/testharnessreport.js"></script>\r
-<script src='../testcommon.js'></script>\r
-<link rel="stylesheet" href="../../../../resources/testharness.css">\r
-</head>\r
-<body>\r
-<div id="log"></div>\r
-<script type="text/javascript">\r
-\r
-\r
-test(function() {\r
-    var doc = newHTMLDocument();\r
-    var template = doc.createElement('template');\r
-\r
-    doc.body.appendChild(template);\r
-\r
-    assert_equals(template.content.nodeType, Node.DOCUMENT_FRAGMENT_NODE,\r
-            'Template content should be a DocumentFragment');\r
-\r
-    assert_class_string(template.content, 'DocumentFragment',\r
-            'Template content class should be a DocumentFragment');\r
-\r
-}, 'The template contents must be a DocumentFragment (empty template)');\r
-\r
-\r
-test(function() {\r
-    var doc = newHTMLDocument();\r
-    var template = doc.createElement('template');\r
-\r
-    template.innerHTML = '<div>This is a div</div><span>This is a span</span>';\r
-\r
-    doc.body.appendChild(template);\r
-\r
-    assert_equals(template.content.nodeType, Node.DOCUMENT_FRAGMENT_NODE,\r
-            'Template content should be a DocumentFragment');\r
-\r
-    assert_class_string(template.content, 'DocumentFragment',\r
-            'Template content class should be a DocumentFragment');\r
-\r
-}, 'The template contents must be a DocumentFragment (non empty template)');\r
-\r
-\r
-\r
-test(function() {\r
-    var doc = newHTMLDocument();\r
-    var template = doc.createElement('template');\r
-\r
-    template.innerHTML = '<div>This is a div</div>';\r
-\r
-    doc.body.appendChild(template);\r
-\r
-    assert_equals(template.content.nodeType, Node.DOCUMENT_FRAGMENT_NODE,\r
-            'Template content should be a documentFragment');\r
-\r
-}, 'The template contents must be a DocumentFragment (non empty template '\r
-        + 'containing div which is an Element instance)');\r
-\r
-\r
-test(function() {\r
-    var doc = newHTMLDocument();\r
-    var template = doc.createElement('template');\r
-\r
-    template.innerHTML = 'Some text';\r
-\r
-    doc.body.appendChild(template);\r
-\r
-    assert_equals(template.content.nodeType, Node.DOCUMENT_FRAGMENT_NODE,\r
-            'Template content should be a documentFragment');\r
-\r
-    assert_class_string(template.content, 'DocumentFragment',\r
-            'Template content class should be a DocumentFragment');\r
-\r
-}, 'The template contents must be a DocumentFragment (not empty template '\r
-        + 'containing text node)');\r
-\r
-\r
-test(function() {\r
-    var doc = newHTMLDocument();\r
-    var template = doc.createElement('template');\r
-\r
-    template.innerHTML = '<template id="t2">Some text</template>';\r
-\r
-    doc.body.appendChild(template);\r
-\r
-    assert_equals(template.content.nodeType, Node.DOCUMENT_FRAGMENT_NODE,\r
-            'Template content should be a documentFragment');\r
-    assert_class_string(template.content, 'DocumentFragment',\r
-            'Template content class should be a DocumentFragment');\r
-\r
-    var nestedTemplate = template.content.querySelector("#t2");\r
-    assert_equals(nestedTemplate.content.nodeType, Node.DOCUMENT_FRAGMENT_NODE,\r
-            'Nested template content should be a documentFragment');\r
-\r
-    assert_class_string(nestedTemplate.content, 'DocumentFragment',\r
-            'Nested template content class should be a DocumentFragment');\r
-\r
-\r
-}, 'The template contents must be a DocumentFragment (nested template '\r
-        + 'containing a text node)');\r
-\r
-\r
-testInIFrame('../resources/template-contents-empty.html', function(context) {\r
-    var doc = context.iframes[0].contentDocument;\r
-\r
-    var template = doc.querySelector('template');\r
-\r
-    assert_equals(template.content.nodeType, Node.DOCUMENT_FRAGMENT_NODE,\r
-            'Template content should be a documentFragment');\r
-    assert_class_string(template.content, 'DocumentFragment',\r
-            'Template content class should be a DocumentFragment');\r
-\r
-\r
-}, 'The template contents must be a DocumentFragment (the empty template tag '\r
-        + 'inside HTML file loaded in iframe)');\r
-\r
-\r
-testInIFrame('../resources/template-contents.html', function(context) {\r
-    var doc = context.iframes[0].contentDocument;\r
-\r
-    var template = doc.querySelector('template');\r
-\r
-    assert_equals(template.content.nodeType, Node.DOCUMENT_FRAGMENT_NODE,\r
-            'Template content should be a documentFragment');\r
-    assert_class_string(template.content, 'DocumentFragment',\r
-            'Template content class should be a DocumentFragment');\r
-\r
-}, 'The template contents must be a DocumentFragment (non empty template '\r
-        + 'tag inside HTML file loaded in iframe)');\r
-\r
-\r
-testInIFrame('../resources/template-contents-text.html', function(context) {\r
-    var doc = context.iframes[0].contentDocument;\r
-\r
-    var template = doc.querySelector('template');\r
-\r
-    assert_equals(template.content.nodeType, Node.DOCUMENT_FRAGMENT_NODE,\r
-            'Template content should be a documentFragment');\r
-    assert_class_string(template.content, 'DocumentFragment',\r
-            'Template content class should be a DocumentFragment');\r
-\r
-}, 'The template contents must be a DocumentFragment (the template tag '\r
-        + 'with some text inside HTML file loaded in iframe)');\r
-\r
-\r
-testInIFrame('../resources/template-contents-nested.html', function(context) {\r
-    var doc = context.iframes[0].contentDocument;\r
-\r
-    var template = doc.querySelector('template');\r
-\r
-    assert_equals(template.content.nodeType, Node.DOCUMENT_FRAGMENT_NODE,\r
-            'Template content should be a documentFragment');\r
-    assert_class_string(template.content, 'DocumentFragment',\r
-            'Template content class should be a DocumentFragment');\r
-\r
-    var nestedTemplate = template.content.querySelector("template");\r
-\r
-    assert_equals(nestedTemplate.content.nodeType, Node.DOCUMENT_FRAGMENT_NODE,\r
-            'Nested template content should be a documentFragment');\r
-    assert_class_string(nestedTemplate.content, 'DocumentFragment',\r
-            'Nested template content class should be a DocumentFragment');\r
-\r
-}, 'The template contents must be a DocumentFragment (the template tag '\r
-        + 'with nested template tag inside HTML file loaded in iframe)');\r
-</script>\r
-</body>\r
-</html>\r
diff --git a/LayoutTests/imported/w3c/html-templates/innerhtml-on-templates/innerhtml-expected.txt b/LayoutTests/imported/w3c/html-templates/innerhtml-on-templates/innerhtml-expected.txt
deleted file mode 100644 (file)
index a65b2c1..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-
-PASS innerHTML of template element replaces all referenced by the content attribute 
-PASS innerHTML of template element replaces all referenced by the content attribute. Test nested template 
-PASS innerHTML of template element replaces all referenced by the content attribute. Test loading of HTML document from a file 
-
diff --git a/LayoutTests/imported/w3c/html-templates/innerhtml-on-templates/innerhtml.html b/LayoutTests/imported/w3c/html-templates/innerhtml-on-templates/innerhtml.html
deleted file mode 100644 (file)
index 37f7d9b..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<title>HTML Templates: innerHTML of template element replaces all referenced by the content attribute</title>
-<meta name="author" title="Sergey G. Grekhov" href="mailto:sgrekhov@unipro.ru">
-<meta name="author" title="Aleksei Yu. Semenov" href="a.semenov@unipro.ru">
-<meta name="assert" content="innerHTML of template element replaces all referenced by the content attribute">
-<link rel="help" href="http://www.w3.org/TR/2013/WD-html-templates-20130214/#innerhtml-on-templates">
-<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 type="text/javascript">
-
-test(function () {
-    var doc = newHTMLDocument();
-    var template = doc.createElement('template');
-
-    var div1 = doc.createElement('div');
-    div1.setAttribute('id', 'div1');
-    template.content.appendChild(div1);
-
-    assert_not_equals(template.content.querySelector('#div1'), null,
-            'Element should present in template content');
-
-    template.innerHTML = '<div id="div2"></div>';
-
-    assert_equals(template.content.querySelector('#div1'), null,
-            'Template content should be replaced by innerHTML');
-    assert_not_equals(template.content.querySelector('#div2'), null,
-            'Element should present in template content');
-
-}, 'innerHTML of template element replaces all referenced by the content attribute');
-
-
-
-test(function () {
-    var doc = newHTMLDocument();
-    var template = doc.createElement('template');
-    var nestedTemplate = doc.createElement('template');
-
-    template.content.appendChild(nestedTemplate);
-
-    var div1 = doc.createElement('div');
-    div1.setAttribute('id', 'div1');
-    nestedTemplate.content.appendChild(div1);
-
-    assert_not_equals(nestedTemplate.content.querySelector('#div1'), null,
-            'Element should present in template content');
-
-    nestedTemplate.innerHTML = '<div id="div2"></div>';
-
-    assert_equals(nestedTemplate.content.querySelector('#div1'), null,
-            'Template content should be replaced by innerHTML');
-    assert_not_equals(nestedTemplate.content.querySelector('#div2'), null,
-            'Element should present in template content');
-
-}, 'innerHTML of template element replaces all referenced by the content attribute. '
-    + 'Test nested template');
-
-
-testInIFrame('../resources/template-contents.html', function(context) {
-    var doc = context.iframes[0].contentDocument;
-
-    var template = doc.querySelector('template');
-    assert_not_equals(template.content.querySelector('div'), null,
-           'Div element should present in template content');
-
-    template.innerHTML = '<span>span internals</span>';
-
-    assert_equals(template.content.querySelector('div'), null,
-           'div element should be replaced by span in template content');
-
-    assert_not_equals(template.content.querySelector('span'), null,
-           'span element should present in template content');
-
-
-}, 'innerHTML of template element replaces all referenced by the content attribute. '
-    + 'Test loading of HTML document from a file');
-
-
-</script>
-</body>
-</html>
diff --git a/LayoutTests/imported/w3c/html-templates/serializing-html-templates/outerhtml-expected.txt b/LayoutTests/imported/w3c/html-templates/serializing-html-templates/outerhtml-expected.txt
deleted file mode 100644 (file)
index 4cb1c1a..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-
-PASS Template contents should be serialized instead of template element if serializing template element 
-PASS Template contents should be serialized instead of template element if serializing template element. Test nested template 
-PASS Template contents should be serialized instead of template element if serializing template element. Test serializing whole document 
-
diff --git a/LayoutTests/imported/w3c/html-templates/serializing-html-templates/outerhtml.html b/LayoutTests/imported/w3c/html-templates/serializing-html-templates/outerhtml.html
deleted file mode 100644 (file)
index 444148f..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<title>HTML Templates: serialize template contents instead of template element</title>
-<meta name="author" title="Aleksei Yu. Semenov" href="a.semenov@unipro.ru">
-<meta name="assert" content="template contents should be serialized instead of template element if serializing template element">
-<link rel="help" href="http://www.w3.org/TR/2013/WD-html-templates-20130214/#serializing-html-templates">
-<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 type="text/javascript">
-
-test(function () {
-    var doc = newHTMLDocument();
-    var template = doc.createElement('template');
-
-    var div = doc.createElement('div');
-    div.setAttribute('id', 'div1');
-    div.innerHTML = 'some text';
-    template.content.appendChild(div);
-
-    assert_equals(template.outerHTML, '<template><div id="div1">some text</div></template>',
-       'template element is serialized incorrectly');
-
-}, 'Template contents should be serialized instead of template element if serializing template element');
-
-
-
-test(function () {
-    var doc = newHTMLDocument();
-    var template = doc.createElement('template');
-    var nestedTemplate = doc.createElement('template');
-
-    template.content.appendChild(nestedTemplate);
-
-    var div = doc.createElement('div');
-    div.setAttribute('id', 'div1');
-    div.innerHTML = 'some text';
-    nestedTemplate.content.appendChild(div);
-
-    assert_equals(template.outerHTML, '<template><template><div id="div1">some text</div></template></template>',
-       'template element is serialized incorrectly');
-
-
-}, 'Template contents should be serialized instead of template element if serializing template element. '
-    + 'Test nested template');
-
-
-test(function () {
-    var doc = newHTMLDocument();
-    var template = doc.createElement('template');
-
-    var div = doc.createElement('div');
-    div.setAttribute('id', 'div1');
-    div.innerHTML = 'some text';
-    template.content.appendChild(div);
-    doc.body.appendChild(template);
-
-    assert_equals(doc.documentElement.outerHTML, '<html><head><title>Test Document</title></head><body><template><div id="div1">some text</div></template></body></html>',
-       'template element is serialized incorrectly');
-
-}, 'Template contents should be serialized instead of template element if serializing template element. '
-    + 'Test serializing whole document');
-
-</script>
-</body>
-</html>
diff --git a/LayoutTests/imported/w3c/html-templates/template-element/content-attribute-expected.txt b/LayoutTests/imported/w3c/html-templates/template-element/content-attribute-expected.txt
deleted file mode 100644 (file)
index f130814..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-
-PASS Content attribute of template element is read-only. Test empty template 
-PASS Content attribute of template element is read-only. Test not empty template populated by appendchild() 
-PASS Content attribute of template element is read-only. Test not empty template populated by innerHTML 
-PASS Content attribute of template element is read-only. Test that custom content attribute named 'content' doesn't make content IDL attribute writable 
-PASS Content attribute of template element is read-only. Test that custom content attribute named 'content' doesn't affect content IDL attribute 
-PASS Content attribute of template element is read-only. Text value of content attribute of template tag should be ignored, when loading document from a file 
-PASS Content attribute of template element is read-only. Test content attribute of a document loaded from a file 
-
diff --git a/LayoutTests/imported/w3c/html-templates/template-element/content-attribute.html b/LayoutTests/imported/w3c/html-templates/template-element/content-attribute.html
deleted file mode 100644 (file)
index f47dc90..0000000
+++ /dev/null
@@ -1,115 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<title>HTML Templates: Content attribute of template element is read-only</title>
-<meta name="author" title="Sergey G. Grekhov" href="mailto:sgrekhov@unipro.ru">
-<meta name="author" title="Aleksei Yu. Semenov" href="mailto:a.semenov@unipro.ru">
-<meta name="assert" content="Content attribute of template element is read-only">
-<link rel="help" href="http://www.w3.org/TR/2013/WD-html-templates-20130214/#template-element">
-<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 type="text/javascript">
-
-test(function() {
-    var doc = newHTMLDocument();
-    var template = doc.createElement('template');
-
-    assert_readonly(template, 'content',
-            'Content attribute of template element should be read-only');
-
-}, 'Content attribute of template element is read-only. ' +
-    'Test empty template');
-
-
-test(function() {
-    var doc = newHTMLDocument();
-    var template = doc.createElement('template');
-    var el1 = doc.createElement('div');
-    var el2 = doc.createElement('span');
-    el1.appendChild(el2);
-
-    template.content.appendChild(el1);
-
-    assert_readonly(template, 'content',
-            'Content attribute of template element should be read-only');
-
-}, 'Content attribute of template element is read-only. ' +
-    'Test not empty template populated by appendchild()');
-
-
-test(function() {
-    var doc = newHTMLDocument();
-    doc.body.innerHTML = '<template>Text<div>DIV</div></template>';
-
-    var template = doc.querySelector('template');
-
-    assert_readonly(template, 'content',
-            'Content attribute of template element should be read-only');
-
-}, 'Content attribute of template element is read-only. ' +
-    'Test not empty template populated by innerHTML');
-
-
-test(function() {
-    var doc = newHTMLDocument();
-    doc.body.innerHTML = '<template id="template1" content="Some text as a content"></template>';
-
-    var template = doc.querySelector('#template1');
-
-    assert_readonly(template, 'content',
-            'Content attribute of template element should be read-only');
-
-}, 'Content attribute of template element is read-only. ' +
-    'Test that custom content attribute named \'content\' doesn\'t ' +
-    'make content IDL attribute writable');
-
-
-test(function() {
-    var doc = newHTMLDocument();
-    doc.body.innerHTML = '<template id="template1" content="<div id=div1>Div content</div>"></template>';
-
-    var template = doc.querySelector('#template1');
-
-    assert_readonly(template, 'content',
-            'Content attribute of template element should be read-only');
-
-    assert_equals(template.content.childNodes.length, 0,
-            'Content attribute of template element should be read-only');
-
-}, 'Content attribute of template element is read-only. ' +
-    'Test that custom content attribute named \'content\' doesn\'t ' +
-    'affect content IDL attribute');
-
-
-testInIFrame('../resources/template-contents-attribute.html', function(context) {
-    var doc = context.iframes[0].contentDocument;
-
-    var template = doc.body.querySelector('template');
-
-    assert_readonly(template, 'content',
-            'Content attribute of template element should be read-only');
-
-}, 'Content attribute of template element is read-only. '
-    + 'Text value of content attribute of template tag should be ignored, '
-    + 'when loading document from a file');
-
-
-testInIFrame('../resources/template-contents.html', function(context) {
-    var doc = context.iframes[0].contentDocument;
-
-    var template = doc.body.querySelector('template');
-
-    assert_readonly(template, 'content',
-            'Content attribute of template element should be read-only');
-
-}, 'Content attribute of template element is read-only. '
-    + 'Test content attribute of a document loaded from a file');
-
-</script>
-</body>
-</html>
diff --git a/LayoutTests/imported/w3c/html-templates/template-element/node-document-changes-expected.txt b/LayoutTests/imported/w3c/html-templates/template-element/node-document-changes-expected.txt
deleted file mode 100644 (file)
index 2bdd4ca..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-
-PASS Changing of template element's node document. Test that ownerDocument of an empty template and its content changes 
-PASS Changing of template element's node document. Test that ownerDocument of a not empty template and its content changes 
-PASS Changing of template element's node document. Test that ownerDocument of nested template and its content changes 
-PASS Changing of template element's node document. Test document loaded from a file 
-PASS Changing of template element's node document. Adobt template element into a document that has a browsing context 
-PASS Changing of template element's node document. Test the case when both old and new owner documents of template element have browsing context 
-
diff --git a/LayoutTests/imported/w3c/html-templates/template-element/node-document-changes.html b/LayoutTests/imported/w3c/html-templates/template-element/node-document-changes.html
deleted file mode 100644 (file)
index c9f01d4..0000000
+++ /dev/null
@@ -1,200 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<title>HTML Templates: When node's document changes its owner document should be changed</title>
-<meta name="author" title="Sergey G. Grekhov" href="mailto:sgrekhov@unipro.ru">
-<meta name="author" title="Aleksei Yu. Semenov" href="mailto:a.semenov@unipro.ru">
-<meta name="assert" content="When a template element's node document changes, the template element's content DocumentFragment must be adopted into the new node document's template contents owner document">
-<link rel="help" href="http://www.w3.org/TR/2013/WD-html-templates-20130214/#template-element">
-<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 type="text/javascript">
-
-
-test(function() {
-    var doc1 = newHTMLDocument();
-    var template = doc1.createElement('template');
-
-    assert_equals(template.ownerDocument, doc1, 'Wrong template node owner document');
-    assert_equals(template.content.ownerDocument, doc1,
-            'Wrong template content owner document');
-
-    var doc2 = newHTMLDocument();
-    var template2 = doc2.createElement('template');
-    doc2.body.appendChild(template);
-
-    assert_equals(template.ownerDocument, template2.ownerDocument,
-            'Template node owner document should be changed');
-    assert_equals(template.content.ownerDocument, template2.content.ownerDocument,
-            'Template content owner document should be changed');
-
-}, 'Changing of template element\'s node document. ' +
-    'Test that ownerDocument of an empty template and its content changes');
-
-
-test(function() {
-    var doc1 = newHTMLDocument();
-    doc1.body.innerHTML = '<template id="tmpl"><div>Div content</div> And some more text</template>';
-
-    var template = doc1.querySelector('#tmpl');
-
-    assert_equals(template.ownerDocument, doc1,
-            'Wrong template node owner document');
-    assert_equals(template.content.ownerDocument, doc1,
-            'Wrong template content owner document');
-
-    var doc2 = newHTMLDocument();
-    var template2 = doc2.createElement('template');
-    doc2.body.appendChild(template);
-
-    assert_equals(template.ownerDocument, template2.ownerDocument,
-            'Template node owner document should be changed');
-    assert_equals(template.content.ownerDocument, template2.content.ownerDocument,
-            'Template content owner document should be changed');
-
-    assert_equals(template.content.querySelector('div').ownerDocument,
-            template2.content.ownerDocument,
-            'Template content descendants owner document should be changed');
-
-}, 'Changing of template element\'s node document. ' +
-    'Test that ownerDocument of a not empty template and its content changes');
-
-
-test(function() {
-    var doc1 = newHTMLDocument();
-    doc1.body.innerHTML = ''
-            + '<template id="tmpl"><div>Div content</div> And some more text'
-            + '<template id="tmpl2"><div>Template content</div></template>'
-            + '</template>';
-
-    var template = doc1.querySelector('#tmpl');
-
-    assert_equals(template.ownerDocument, doc1, 'Wrong template node owner document');
-    assert_equals(template.content.ownerDocument, doc1,
-            'Wrong template content owner document');
-
-    var nestedTemplate = template.content.querySelector('#tmpl2');
-
-    assert_equals(nestedTemplate.ownerDocument, doc1,
-            'Wrong nested template node owner document');
-    assert_equals(nestedTemplate.content.ownerDocument, doc1,
-            'Wrong nested template content owner document');
-
-    var doc2 = newHTMLDocument();
-    var template2 = doc2.createElement('template');
-    doc2.body.appendChild(template);
-
-    assert_equals(template.ownerDocument, template2.ownerDocument,
-            'Template node owner document should be changed');
-    assert_equals(template.content.ownerDocument, template2.content.ownerDocument,
-            'Template content owner document should be changed');
-    assert_equals(template.content.querySelector('div').ownerDocument,
-            template2.content.ownerDocument,
-            'Template content descendants owner document should be changed');
-
-    assert_equals(nestedTemplate.ownerDocument,
-            template2.content.ownerDocument,
-            'Nested template node owner document should be changed');
-    assert_equals(nestedTemplate.content.ownerDocument,
-            template2.content.ownerDocument,
-            'Nested template content owner document should be changed');
-    assert_equals(nestedTemplate.content.querySelector('div').ownerDocument,
-            template2.content.ownerDocument,
-            'Owner document of the nested template content descendants should be changed');
-
-}, 'Changing of template element\'s node document. ' +
-    'Test that ownerDocument of nested template and its content changes');
-
-
-testInIFrame('../resources/template-contents.html', function(context) {
-    var doc1 = context.iframes[0].contentDocument;
-
-    var template = doc1.body.querySelector('template');
-
-    var doc2 = newHTMLDocument();
-    var template2 = doc2.createElement('template');
-    doc2.body.appendChild(template);
-
-    assert_equals(template.ownerDocument, template2.ownerDocument,
-            'Template node owner document should be changed');
-    assert_equals(template.content.ownerDocument,
-            template2.content.ownerDocument,
-            'Template content owner document should be changed');
-    assert_equals(template.content.querySelector('div').ownerDocument,
-            template2.content.ownerDocument,
-            'Template content descendants owner document should be changed');
-
-}, 'Changing of template element\'s node document. ' +
-    'Test document loaded from a file');
-
-
-testInIFrame('../resources/template-contents.html', function(context) {
-    var doc1 = context.iframes[0].contentDocument;
-
-    var doc2 = newHTMLDocument();
-    var template = doc2.createElement('template');
-    var div = doc2.createElement('div');
-    template.content.appendChild(div);
-
-    doc1.body.appendChild(template);
-
-    assert_not_equals(template.ownerDocument, doc2,
-            'Template node owner document should be changed');
-    assert_not_equals(template.content.ownerDocument, doc2,
-            'Template content owner document should be changed');
-    assert_not_equals(div.ownerDocument, doc2,
-            'Template content descendants owner document should be changed');
-
-    assert_equals(template.ownerDocument, doc1,
-            'Template node owner document should be changed');
-    // doc1 has browsing context so it cannot be template.content.ownerDocument
-    assert_not_equals(template.content.ownerDocument, doc1,
-            'Template content owner document should be a new document');
-    assert_equals(div.ownerDocument, template.content.ownerDocument,
-            'Template content descendants owner document should be ' +
-            'template content document owner');
-
-}, 'Changing of template element\'s node document. ' +
-    'Adobt template element into a document that has a browsing context');
-
-
-testInIFrame('../resources/template-contents.html', function(context) {
-    var doc1 = context.iframes[0].contentDocument;
-
-    var template = doc1.querySelector('template');
-    var div = template.content.querySelector('div');
-    var templateContentOwner = template.content.ownerDocument;
-
-    var doc2 = document;
-
-    doc2.body.appendChild(template);
-
-
-    assert_not_equals(template.ownerDocument, doc1,
-            'Template node owner document should be changed');
-    assert_not_equals(template.content.ownerDocument, templateContentOwner,
-            'Template content owner document should be changed');
-    assert_not_equals(div.ownerDocument, templateContentOwner,
-            'Template content descendants owner document should be changed');
-
-    assert_equals(template.ownerDocument, doc2,
-            'Template node owner document should be changed');
-    // doc2 has browsing context, so it cannot be template.content.ownerDocument
-    assert_not_equals(template.content.ownerDocument, doc2,
-            'Template content owner document should be a new document');
-    assert_equals(div.ownerDocument, template.content.ownerDocument,
-            'Template content descendants owner document should be ' +
-            'template content document owner');
-
-}, 'Changing of template element\'s node document. ' +
-    'Test the case when both old and new owner documents of template element ' +
-    'have browsing context');
-
-</script>
-</body>
-</html>
diff --git a/LayoutTests/imported/w3c/html-templates/template-element/template-as-a-descendant-expected.txt b/LayoutTests/imported/w3c/html-templates/template-element/template-as-a-descendant-expected.txt
deleted file mode 100644 (file)
index 4cd4510..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-
-PASS Template element as a descendant of the BODY element. Template element is created by innerHTML 
-PASS Template element as a descendant of the HEAD element. Template element is created by innerHTML 
-PASS Template element as a descendant of the FRAMESET element. Template element is created by innerHTML 
-PASS Template element as an indirect descendant of the BODY element. Template element is created by innerHTML 
-PASS Template element as an indirect descendant of the HEAD element. Template element is created by innerHTML 
-PASS Template element as an indirect descendant of the FRAMESET element. Template element is created by innerHTML 
-PASS Template element as a descendant of the BODY element. Template element is appended by appendChild() 
-PASS Template element as a descendant of the HEAD element. Template element is appended by appendChild() 
-PASS Template element as a descendant of the FRAMESET element. Template element is  appended by appendChild() 
-PASS Template element as an indirect descendant of the BODY element. Template element is appended by appendChild() 
-PASS Template element as an indirect descendant of the HEAD element. Template element is appended by appendChild() 
-PASS Template element as an indirect descendant of the FRAMESET element. Template element is  appended by appendChild() 
-
diff --git a/LayoutTests/imported/w3c/html-templates/template-element/template-as-a-descendant.html b/LayoutTests/imported/w3c/html-templates/template-element/template-as-a-descendant.html
deleted file mode 100644 (file)
index c722bdc..0000000
+++ /dev/null
@@ -1,115 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<title>HTML Templates: Template element as a descendant of the body element.</title>
-<meta name="author" title="Sergey G. Grekhov" href="mailto:sgrekhov@unipro.ru">
-<meta name="author" title="Aleksei Yu. Semenov" href="mailto:a.semenov@unipro.ru">
-<meta name="assert" content="Template element can be a descendant of the body element">
-<link rel="help" href="http://www.w3.org/TR/2013/WD-html-templates-20130214/#template-element">
-<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 type="text/javascript">
-
-function templateIsAChild(element) {
-    element.innerHTML = '<template>some text</template>';
-
-    assert_not_equals(element.querySelector('template'), null,
-        'Template element should be a descendant of the ' + element.tagName + ' element');
-}
-
-function templateIsAnIndirectChild(element) {
-    element.innerHTML = '<div><template>some text</template></div>';
-
-    assert_not_equals(element.querySelector('template'), null,
-        'Template element should be a descendant of the ' + element.tagName + ' element');
-}
-
-function templateIsAnAppendedChild(doc, element) {
-    var template = doc.createElement('template');
-
-    element.appendChild(template);
-
-    assert_not_equals(element.querySelector('template'), null,
-        'Template element should be a descendant of the ' + element.tagName + ' element');
-}
-
-function templateIsAnAppendedIndirectChild(doc, element) {
-    var template = doc.createElement('template');
-    var div = doc.createElement('div');
-    div.appendChild(template);
-
-    element.appendChild(div);
-
-    assert_not_equals(element.querySelector('template'), null,
-        'Template element should be a descendant of the ' + element.tagName + ' element');
-}
-
-var doc = newHTMLDocument();
-var frameset = doc.createElement('frameset');
-
-var parameters = [['Template element as a descendant of the BODY element. ' +
-                   'Template element is created by innerHTML',
-                   doc.body],
-                  ['Template element as a descendant of the HEAD element. ' +
-                   'Template element is created by innerHTML',
-                   doc.head],
-                   ['Template element as a descendant of the FRAMESET element. ' +
-                    'Template element is created by innerHTML',
-                    frameset]
-                   ];
-generate_tests(templateIsAChild, parameters,
-        'Template element as a descendant of the HEAD, BODY and FRAMESET elements');
-
-
-
-parameters = [['Template element as an indirect descendant of the BODY element. ' +
-               'Template element is created by innerHTML',
-               doc.body],
-              ['Template element as an indirect descendant of the HEAD element. ' +
-               'Template element is created by innerHTML',
-               doc.head],
-               ['Template element as an indirect descendant of the FRAMESET element. ' +
-                'Template element is created by innerHTML',
-                frameset]
-               ];
-generate_tests(templateIsAnIndirectChild, parameters,
-        'Template element as an indirect descendant of the HEAD, BODY and FRAMESET elements');
-
-
-
-parameters = [['Template element as a descendant of the BODY element. ' +
-               'Template element is appended by appendChild()',
-               doc, doc.body],
-              ['Template element as a descendant of the HEAD element. ' +
-               'Template element is appended by appendChild()',
-               doc, doc.head],
-               ['Template element as a descendant of the FRAMESET element. ' +
-                'Template element is  appended by appendChild()',
-                doc, frameset]
-               ];
-generate_tests(templateIsAnAppendedChild, parameters,
-        'Template element as a descendant of the HEAD, BODY and FRAMESET elements');
-
-
-
-parameters = [['Template element as an indirect descendant of the BODY element. ' +
-               'Template element is appended by appendChild()',
-               doc, doc.body],
-              ['Template element as an indirect descendant of the HEAD element. ' +
-               'Template element is appended by appendChild()',
-               doc, doc.head],
-               ['Template element as an indirect descendant of the FRAMESET element. ' +
-                'Template element is  appended by appendChild()',
-                doc, frameset]
-               ];
-generate_tests(templateIsAnAppendedIndirectChild, parameters,
-        'Template element as a descendant of the HEAD, BODY and FRAMESET elements');
-
-</script>
-</body>
-</html>
diff --git a/LayoutTests/imported/w3c/html-templates/template-element/template-content-expected.txt b/LayoutTests/imported/w3c/html-templates/template-element/template-content-expected.txt
deleted file mode 100644 (file)
index a6e083a..0000000
+++ /dev/null
@@ -1,210 +0,0 @@
-
-PASS Template may contain a element 
-PASS Template may contain abbr element 
-PASS Template may contain address element 
-PASS Template may contain area element 
-PASS Template may contain article element 
-PASS Template may contain aside element 
-PASS Template may contain audio element 
-PASS Template may contain b element 
-PASS Template may contain base element 
-PASS Template may contain bdi element 
-PASS Template may contain bdo element 
-PASS Template may contain blockquote element 
-PASS Template may contain br element 
-PASS Template may contain button element 
-PASS Template may contain canvas element 
-PASS Template may contain caption element 
-PASS Template may contain cite element 
-PASS Template may contain code element 
-PASS Template may contain col element 
-PASS Template may contain colgroup element 
-PASS Template may contain command element 
-PASS Template may contain datalist element 
-PASS Template may contain dd element 
-PASS Template may contain del element 
-PASS Template may contain details element 
-PASS Template may contain dfn element 
-PASS Template may contain dialog element 
-PASS Template may contain div element 
-PASS Template may contain dl element 
-PASS Template may contain dt element 
-PASS Template may contain em element 
-PASS Template may contain embed element 
-PASS Template may contain fieldset element 
-PASS Template may contain figcaption element 
-PASS Template may contain figure element 
-PASS Template may contain footer element 
-PASS Template may contain form element 
-PASS Template may contain h1 element 
-PASS Template may contain h2 element 
-PASS Template may contain h3 element 
-PASS Template may contain h4 element 
-PASS Template may contain h5 element 
-PASS Template may contain h6 element 
-PASS Template may contain header element 
-PASS Template may contain hgroup element 
-PASS Template may contain hr element 
-PASS Template may contain i element 
-PASS Template may contain iframe element 
-PASS Template may contain img element 
-PASS Template may contain input element 
-PASS Template may contain ins element 
-PASS Template may contain kbd element 
-PASS Template may contain keygen element 
-PASS Template may contain label element 
-PASS Template may contain legend element 
-PASS Template may contain li element 
-PASS Template may contain link element 
-PASS Template may contain map element 
-PASS Template may contain mark element 
-PASS Template may contain menu element 
-PASS Template may contain meta element 
-PASS Template may contain meter element 
-PASS Template may contain nav element 
-PASS Template may contain noscript element 
-PASS Template may contain object element 
-PASS Template may contain ol element 
-PASS Template may contain optgroup element 
-PASS Template may contain option element 
-PASS Template may contain output element 
-PASS Template may contain p element 
-PASS Template may contain param element 
-PASS Template may contain pre element 
-PASS Template may contain progress element 
-PASS Template may contain q element 
-PASS Template may contain rp element 
-PASS Template may contain rt element 
-PASS Template may contain ruby element 
-PASS Template may contain s element 
-PASS Template may contain samp element 
-PASS Template may contain script element 
-PASS Template may contain section element 
-PASS Template may contain select element 
-PASS Template may contain small element 
-PASS Template may contain source element 
-PASS Template may contain span element 
-PASS Template may contain strong element 
-PASS Template may contain style element 
-PASS Template may contain sub element 
-PASS Template may contain table element 
-PASS Template may contain tbody element 
-PASS Template may contain td element 
-PASS Template may contain textarea element 
-PASS Template may contain tfoot element 
-PASS Template may contain th element 
-PASS Template may contain thead element 
-PASS Template may contain time element 
-PASS Template may contain title element 
-PASS Template may contain tr element 
-PASS Template may contain track element 
-PASS Template may contain u element 
-PASS Template may contain ul element 
-PASS Template may contain var element 
-PASS Template may contain video element 
-PASS Template may contain wbr element 
-PASS Template may contain a element. The template element and contents are added via body.innerHTML 
-PASS Template may contain abbr element. The template element and contents are added via body.innerHTML 
-PASS Template may contain address element. The template element and contents are added via body.innerHTML 
-PASS Template may contain area element. The template element and contents are added via body.innerHTML 
-PASS Template may contain article element. The template element and contents are added via body.innerHTML 
-PASS Template may contain aside element. The template element and contents are added via body.innerHTML 
-PASS Template may contain audio element. The template element and contents are added via body.innerHTML 
-PASS Template may contain b element. The template element and contents are added via body.innerHTML 
-PASS Template may contain base element. The template element and contents are added via body.innerHTML 
-PASS Template may contain bdi element. The template element and contents are added via body.innerHTML 
-PASS Template may contain bdo element. The template element and contents are added via body.innerHTML 
-PASS Template may contain blockquote element. The template element and contents are added via body.innerHTML 
-PASS Template may contain br element. The template element and contents are added via body.innerHTML 
-PASS Template may contain button element. The template element and contents are added via body.innerHTML 
-PASS Template may contain canvas element. The template element and contents are added via body.innerHTML 
-PASS Template may contain caption element. The template element and contents are added via body.innerHTML 
-PASS Template may contain cite element. The template element and contents are added via body.innerHTML 
-PASS Template may contain code element. The template element and contents are added via body.innerHTML 
-PASS Template may contain col element. The template element and contents are added via body.innerHTML 
-PASS Template may contain colgroup element. The template element and contents are added via body.innerHTML 
-PASS Template may contain command element. The template element and contents are added via body.innerHTML 
-PASS Template may contain datalist element. The template element and contents are added via body.innerHTML 
-PASS Template may contain dd element. The template element and contents are added via body.innerHTML 
-PASS Template may contain del element. The template element and contents are added via body.innerHTML 
-PASS Template may contain details element. The template element and contents are added via body.innerHTML 
-PASS Template may contain dfn element. The template element and contents are added via body.innerHTML 
-PASS Template may contain dialog element. The template element and contents are added via body.innerHTML 
-PASS Template may contain div element. The template element and contents are added via body.innerHTML 
-PASS Template may contain dl element. The template element and contents are added via body.innerHTML 
-PASS Template may contain dt element. The template element and contents are added via body.innerHTML 
-PASS Template may contain em element. The template element and contents are added via body.innerHTML 
-PASS Template may contain embed element. The template element and contents are added via body.innerHTML 
-PASS Template may contain fieldset element. The template element and contents are added via body.innerHTML 
-PASS Template may contain figcaption element. The template element and contents are added via body.innerHTML 
-PASS Template may contain figure element. The template element and contents are added via body.innerHTML 
-PASS Template may contain footer element. The template element and contents are added via body.innerHTML 
-PASS Template may contain form element. The template element and contents are added via body.innerHTML 
-PASS Template may contain h1 element. The template element and contents are added via body.innerHTML 
-PASS Template may contain h2 element. The template element and contents are added via body.innerHTML 
-PASS Template may contain h3 element. The template element and contents are added via body.innerHTML 
-PASS Template may contain h4 element. The template element and contents are added via body.innerHTML 
-PASS Template may contain h5 element. The template element and contents are added via body.innerHTML 
-PASS Template may contain h6 element. The template element and contents are added via body.innerHTML 
-PASS Template may contain header element. The template element and contents are added via body.innerHTML 
-PASS Template may contain hgroup element. The template element and contents are added via body.innerHTML 
-PASS Template may contain hr element. The template element and contents are added via body.innerHTML 
-PASS Template may contain i element. The template element and contents are added via body.innerHTML 
-PASS Template may contain iframe element. The template element and contents are added via body.innerHTML 
-PASS Template may contain img element. The template element and contents are added via body.innerHTML 
-PASS Template may contain input element. The template element and contents are added via body.innerHTML 
-PASS Template may contain ins element. The template element and contents are added via body.innerHTML 
-PASS Template may contain kbd element. The template element and contents are added via body.innerHTML 
-PASS Template may contain keygen element. The template element and contents are added via body.innerHTML 
-PASS Template may contain label element. The template element and contents are added via body.innerHTML 
-PASS Template may contain legend element. The template element and contents are added via body.innerHTML 
-PASS Template may contain li element. The template element and contents are added via body.innerHTML 
-PASS Template may contain link element. The template element and contents are added via body.innerHTML 
-PASS Template may contain map element. The template element and contents are added via body.innerHTML 
-PASS Template may contain mark element. The template element and contents are added via body.innerHTML 
-PASS Template may contain menu element. The template element and contents are added via body.innerHTML 
-PASS Template may contain meta element. The template element and contents are added via body.innerHTML 
-PASS Template may contain meter element. The template element and contents are added via body.innerHTML 
-PASS Template may contain nav element. The template element and contents are added via body.innerHTML 
-PASS Template may contain noscript element. The template element and contents are added via body.innerHTML 
-PASS Template may contain object element. The template element and contents are added via body.innerHTML 
-PASS Template may contain ol element. The template element and contents are added via body.innerHTML 
-PASS Template may contain optgroup element. The template element and contents are added via body.innerHTML 
-PASS Template may contain option element. The template element and contents are added via body.innerHTML 
-PASS Template may contain output element. The template element and contents are added via body.innerHTML 
-PASS Template may contain p element. The template element and contents are added via body.innerHTML 
-PASS Template may contain param element. The template element and contents are added via body.innerHTML 
-PASS Template may contain pre element. The template element and contents are added via body.innerHTML 
-PASS Template may contain progress element. The template element and contents are added via body.innerHTML 
-PASS Template may contain q element. The template element and contents are added via body.innerHTML 
-PASS Template may contain rp element. The template element and contents are added via body.innerHTML 
-PASS Template may contain rt element. The template element and contents are added via body.innerHTML 
-PASS Template may contain ruby element. The template element and contents are added via body.innerHTML 
-PASS Template may contain s element. The template element and contents are added via body.innerHTML 
-PASS Template may contain samp element. The template element and contents are added via body.innerHTML 
-PASS Template may contain script element. The template element and contents are added via body.innerHTML 
-PASS Template may contain section element. The template element and contents are added via body.innerHTML 
-PASS Template may contain select element. The template element and contents are added via body.innerHTML 
-PASS Template may contain small element. The template element and contents are added via body.innerHTML 
-PASS Template may contain source element. The template element and contents are added via body.innerHTML 
-PASS Template may contain span element. The template element and contents are added via body.innerHTML 
-PASS Template may contain strong element. The template element and contents are added via body.innerHTML 
-PASS Template may contain style element. The template element and contents are added via body.innerHTML 
-PASS Template may contain sub element. The template element and contents are added via body.innerHTML 
-PASS Template may contain table element. The template element and contents are added via body.innerHTML 
-PASS Template may contain tbody element. The template element and contents are added via body.innerHTML 
-PASS Template may contain td element. The template element and contents are added via body.innerHTML 
-PASS Template may contain textarea element. The template element and contents are added via body.innerHTML 
-PASS Template may contain tfoot element. The template element and contents are added via body.innerHTML 
-PASS Template may contain th element. The template element and contents are added via body.innerHTML 
-PASS Template may contain thead element. The template element and contents are added via body.innerHTML 
-PASS Template may contain time element. The template element and contents are added via body.innerHTML 
-PASS Template may contain title element. The template element and contents are added via body.innerHTML 
-PASS Template may contain tr element. The template element and contents are added via body.innerHTML 
-PASS Template may contain track element. The template element and contents are added via body.innerHTML 
-PASS Template may contain u element. The template element and contents are added via body.innerHTML 
-PASS Template may contain ul element. The template element and contents are added via body.innerHTML 
-PASS Template may contain var element. The template element and contents are added via body.innerHTML 
-PASS Template may contain video element. The template element and contents are added via body.innerHTML 
-PASS Template may contain wbr element. The template element and contents are added via body.innerHTML 
-
diff --git a/LayoutTests/imported/w3c/html-templates/template-element/template-content-node-document-expected.txt b/LayoutTests/imported/w3c/html-templates/template-element/template-content-node-document-expected.txt
deleted file mode 100644 (file)
index 86aa715..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-
-PASS Node document of the template content attribute must be template contents owner. Template element created by createElement 
-PASS Node document of the template content attribute must be template contents owner. Template element created via innerHTML 
-PASS Node document of the template content attribute must be template contents owner. Nested template element created by createElement 
-PASS Node document of the template content attribute must be template contents owner. Nested template element created by innerHTML 
-PASS Node document of the template content attribute must be template contents owner. Load HTML file with multiple template elements 
-
diff --git a/LayoutTests/imported/w3c/html-templates/template-element/template-content-node-document.html b/LayoutTests/imported/w3c/html-templates/template-element/template-content-node-document.html
deleted file mode 100644 (file)
index ef57b84..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<title>HTML Templates: Node document of the template content attribute must be template contents owner</title>
-<meta name="author" title="Sergey G. Grekhov" href="mailto:sgrekhov@unipro.ru">
-<meta name="author" title="Aleksei Yu. Semenov" href="mailto:a.semenov@unipro.ru">
-<meta name="assert" content="Node document of the template content attribute must be template contents owner">
-<link rel="help" href="http://www.w3.org/TR/2013/WD-html-templates-20130214/#template-element">
-<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 type="text/javascript">
-
-test(function() {
-    var doc = newHTMLDocument();
-    var template = doc.createElement('template');
-
-    // document have no browsing context, therefore it is the template contents owner
-    assert_equals(template.content.ownerDocument, doc,
-            'Wrong node document of the template content attribute');
-
-}, 'Node document of the template content attribute must be template contents owner. ' +
-    'Template element created by createElement');
-
-
-test(function() {
-    var doc = newHTMLDocument();
-    doc.body.innerHTML = '<template></template>';
-    var template = doc.querySelector('template');
-
-    // document have no browsing context, therefore it is the template contents owner
-    assert_equals(template.content.ownerDocument, doc,
-            'Wrong node document of the template content attribute');
-
-}, 'Node document of the template content attribute must be template contents owner. ' +
-    'Template element created via innerHTML');
-
-
-test(function() {
-    var doc = newHTMLDocument();
-    var template = doc.createElement('template');
-    var nestedTemplate = doc.createElement('template');
-    template.appendChild(nestedTemplate);
-
-    // document have no browsing context, therefore it is the template contents owner
-    assert_equals(nestedTemplate.content.ownerDocument, doc,
-            'Wrong node document of the template content attribute');
-
-}, 'Node document of the template content attribute must be template contents owner. ' +
-    'Nested template element created by createElement');
-
-
-test(function() {
-    var doc = newHTMLDocument();
-    doc.body.innerHTML = '<template><template></template></template>';
-    var template = doc.querySelector('template');
-    var nestedTemplate = template.content.querySelector('template');
-
-    // document have no browsing context, therefore it is the template contents owner
-    assert_equals(nestedTemplate.content.ownerDocument, doc,
-            'Wrong node document of the template content attribute');
-
-}, 'Node document of the template content attribute must be template contents owner. ' +
-    'Nested template element created by innerHTML');
-
-testInIFrame('../resources/two-templates.html', function(context) {
-    var doc = context.iframes[0].contentDocument;
-
-    var template1 = doc.querySelector('#template1');
-    var template2 = doc.querySelector('#template2');
-
-    // when there is a browsing context, template contents owner is only accessible via template.content.ownerDocument
-    // because template contents owner is bounded to document
-    // verify that multiple templates share the same instance of template contents owner
-
-    assert_equals(template1.content.ownerDocument, template2.content.ownerDocument,
-            'Wrong node document of the template content attribute');
-}, 'Node document of the template content attribute must be template contents owner. ' +
-    'Load HTML file with multiple template elements');
-
-</script>
-</body>
-</html>
diff --git a/LayoutTests/imported/w3c/html-templates/template-element/template-content.html b/LayoutTests/imported/w3c/html-templates/template-element/template-content.html
deleted file mode 100644 (file)
index 81e0fe2..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<title>HTML Templates: HTML elements in template content</title>
-<meta name="author" title="Sergey G. Grekhov" href="mailto:sgrekhov@unipro.ru">
-<meta name="author" title="Aleksei Yu. Semenov" href="a.semenov@unipro.ru">
-<meta name="assert" content="Template may contain any element, except the html element, the head element, the body element, or the frameset element">
-<link rel="help" href="http://www.w3.org/TR/2013/WD-html-templates-20130214/#template-element">
-<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 type="text/javascript">
-
-var parameters = [];
-
-HTML5_ELEMENTS.forEach(function(value) {
-    if (value !== 'body' && value !== 'html' && value !== 'head' && value !== 'frameset') {
-
-        var doc = newHTMLDocument();
-        var template = doc.createElement('template');
-        var element = doc.createElement(value);
-        template.content.appendChild(element);
-        var valueToTest = template.content.querySelector(value);
-
-        doc.body.appendChild(template);
-
-        parameters.push([
-                'Template may contain ' + value + ' element',
-                valueToTest,
-                null
-            ]);
-    }
-});
-
-generate_tests(assert_not_equals, parameters,
-        'Template may contain any element, except the html element, '
-        + 'the head element, the body element, or the frameset element');
-
-
-
-
-var parameters = [];
-
-HTML5_ELEMENTS.forEach(function(value) {
-   if (value !== 'body' && value !== 'html' && value !== 'head' && value !== 'frameset') {
-
-      var doc = newHTMLDocument();
-
-      if (isVoidElement(value)) {
-         doc.body.innerHTML = '<template><' + value + '/></template>';
-      } else {
-         doc.body.innerHTML = '<template><' + value + '></' + value + '></template>';
-      }
-
-      var template = doc.querySelector('template');
-      var element = template.content.querySelector(value);
-
-      parameters.push([
-              'Template may contain ' + value + ' element. '
-              +'The template element and contents are added via body.innerHTML',
-              element,
-              null
-          ]);
-      }
-});
-
-generate_tests(assert_not_equals, parameters,
-        'Template may contain any element, except the html element, '
-        + 'the head element, the body element, or the frameset element. '
-        +'The template element and contents are added via body.innerHTML');
-
-</script>
-</body>
-</html>
diff --git a/LayoutTests/imported/w3c/html-templates/template-element/template-descendant-body-expected.txt b/LayoutTests/imported/w3c/html-templates/template-element/template-descendant-body-expected.txt
deleted file mode 100644 (file)
index a72dfd5..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-
-PASS Template element as a descendant of the body element. Test loading from a file 
-
diff --git a/LayoutTests/imported/w3c/html-templates/template-element/template-descendant-body.html b/LayoutTests/imported/w3c/html-templates/template-element/template-descendant-body.html
deleted file mode 100644 (file)
index a343c4d..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<title>HTML Templates: Template element as a descendant of the body element.</title>
-<meta name="author" title="Aleksei Yu. Semenov" href="mailto:a.semenov@unipro.ru">
-<meta name="assert" content="Template element can be a descendant of the body element">
-<link rel="help" href="http://www.w3.org/TR/2013/WD-html-templates-20130214/#template-element">
-<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 type="text/javascript">
-
-testInIFrame('../resources/template-contents.html', function(ctx) {
-    var doc = ctx.iframes[0].contentDocument;
-
-    assert_not_equals(doc.body.querySelector('template'), null,
-        'Template element should be a descendant of the body element');
-
-}, 'Template element as a descendant of the body element. Test loading from a file');
-
-</script>
-</body>
-</html>
diff --git a/LayoutTests/imported/w3c/html-templates/template-element/template-descendant-frameset-expected.txt b/LayoutTests/imported/w3c/html-templates/template-element/template-descendant-frameset-expected.txt
deleted file mode 100644 (file)
index dbfbe7b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-
-PASS Template element as a descendant of the frameset element. Test loading from a file 
-PASS Template element as a descendant of the frameset element. Test template element is assigned to frameset's innerHTML) 
-PASS Template element as a descendant of the frameset element. Test template element appended to frameset by appendChild() 
-
diff --git a/LayoutTests/imported/w3c/html-templates/template-element/template-descendant-frameset.html b/LayoutTests/imported/w3c/html-templates/template-element/template-descendant-frameset.html
deleted file mode 100644 (file)
index a1953a1..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<title>HTML Templates: Template element as a descendant of the frameset element.</title>
-<meta name="author" title="Aleksei Yu. Semenov" href="mailto:a.semenov@unipro.ru">
-<meta name="assert" content="Template element can be a descendant of the frameset element">
-<link rel="help" href="http://www.w3.org/TR/2013/WD-html-templates-20130214/#template-element">
-<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 type="text/javascript">
-
-testInIFrame('../resources/template-descendant-frameset.html', function(context) {
-    var doc = context.iframes[0].contentDocument;
-
-    var frameset = doc.querySelector('frameset');
-
-    assert_not_equals(frameset.querySelector('template'), null,
-        'Template element should be a descendant of the frameset element');
-
-}, 'Template element as a descendant of the frameset element. Test loading from a file');
-
-
-testInIFrame('../resources/template-descendant-frameset.html', function(context) {
-    var doc = context.iframes[0].contentDocument;
-
-    var frameset = doc.querySelector('frameset');
-
-    frameset.innerHTML = '';
-    assert_equals(doc.querySelector('template'), null,
-            'Initial conditions are not satisfied');
-
-    frameset.innerHTML = '<template>some text</template>';
-
-    assert_not_equals(frameset.querySelector('template'), null,
-        'Template element should be a descendant of the frameset element');
-
-}, 'Template element as a descendant of the frameset element. '
-    + 'Test template element is assigned to frameset\'s innerHTML)');
-
-
-testInIFrame('../resources/template-descendant-frameset.html', function(context) {
-    var doc = context.iframes[0].contentDocument;
-
-    var frameset = doc.querySelector('frameset');
-
-    var template = doc.createElement('template');
-    frameset.appendChild(template);
-
-    assert_equals(frameset.querySelectorAll('template').length, 2,
-        'Template element should be a descendant of the frameset element');
-
-}, 'Template element as a descendant of the frameset element. '
-    + 'Test template element appended to frameset by appendChild()');
-
-
-</script>
-</body>
-</html>
diff --git a/LayoutTests/imported/w3c/html-templates/template-element/template-descendant-head-expected.txt b/LayoutTests/imported/w3c/html-templates/template-element/template-descendant-head-expected.txt
deleted file mode 100644 (file)
index c5b7ff8..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-
-PASS Template element as a descendant of the head element. Test loading from a file 
-
diff --git a/LayoutTests/imported/w3c/html-templates/template-element/template-descendant-head.html b/LayoutTests/imported/w3c/html-templates/template-element/template-descendant-head.html
deleted file mode 100644 (file)
index 7dcfde4..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<title>HTML Templates: Template element as a descendant of the head element.</title>
-<meta name="author" title="Aleksei Yu. Semenov" href="mailto:a.semenov@unipro.ru">
-<meta name="assert" content="Template element can be a descendant of the head element">
-<link rel="help" href="http://www.w3.org/TR/2013/WD-html-templates-20130214/#template-element">
-<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 type="text/javascript">
-
-testInIFrame('../resources/template-descendant-head.html', function(context) {
-    var doc = context.iframes[0].contentDocument;
-
-    assert_not_equals(doc.head.querySelector('template'), null,
-        'Template element should be a descendant of the head element');
-
-}, 'Template element as a descendant of the head element. Test loading from a file');
-
-</script>
-</body>
-</html>
index e8dd697..9b09b07 100644 (file)
@@ -1,5 +1,5 @@
 
-PASS Parsing XHTML: Node's node document must be set to that of the element to which it will be appended. Test empty template 
+FAIL Parsing XHTML: Node's node document must be set to that of the element to which it will be appended. Test empty template assert_equals: Wrong template content owner document expected Document node with 2 children but got Document node with 0 children
 PASS Parsing XHTML: Node's node document must be set to that of the element to which it will be appended. Test not empty template 
 PASS Parsing XHTML: Node's node document must be set to that of the element to which it will be appended. Test nested templates 
 PASS Parsing XHTML: Node's node document must be set to that of the element to which it will be appended. Test loading XHTML document from a file 
index 4af67f9..c81904a 100644 (file)
@@ -1,4 +1,4 @@
 
-FAIL Test the template contents owner document when enclosing document has no browsing content. Template element is created by createElement() assert_not_equals: Wrong template content owner got disallowed value Document node with 2 children
-FAIL Test the template contents owner document when enclosing document has no browsing content. Template element is created by innerHTML assert_not_equals: Wrong template content owner got disallowed value Document node with 2 children
+PASS Test the template contents owner document when enclosing document has no browsing content. Template element is created by createElement() 
+PASS Test the template contents owner document when enclosing document has no browsing content. Template element is created by innerHTML 
 
index 9c4fd8a..2bdd4ca 100644 (file)
@@ -1,7 +1,7 @@
 
-FAIL Changing of template element's node document. Test that ownerDocument of an empty template and its content changes assert_not_equals: Wrong template content owner document got disallowed value Document node with 2 children
-FAIL Changing of template element's node document. Test that ownerDocument of a not empty template and its content changes assert_not_equals: Wrong template content owner document got disallowed value Document node with 2 children
-FAIL Changing of template element's node document. Test that ownerDocument of nested template and its content changes assert_not_equals: Wrong template content owner document got disallowed value Document node with 2 children
+PASS Changing of template element's node document. Test that ownerDocument of an empty template and its content changes 
+PASS Changing of template element's node document. Test that ownerDocument of a not empty template and its content changes 
+PASS Changing of template element's node document. Test that ownerDocument of nested template and its content changes 
 PASS Changing of template element's node document. Test document loaded from a file 
 PASS Changing of template element's node document. Adobt template element into a document that has a browsing context 
 PASS Changing of template element's node document. Test the case when both old and new owner documents of template element have browsing context 
index 82d3dff..b079025 100644 (file)
@@ -1,3 +1,22 @@
+2016-03-02  Ryosuke Niwa  <rniwa@webkit.org>
+
+        HTML parser instantiates a custom element inside a template element with a wrong owner document
+        https://bugs.webkit.org/show_bug.cgi?id=154936
+
+        Reviewed by Chris Dumez.
+
+        The bug was caused by our implementation following the old spec which didn't create a appropriate template
+        contents owner document [1] for a document without a browsing context. The new spec no longer has this clause,
+        and we should be always creating the appropriate template contents owner document unless the document itself
+        is an appropriate template contents owner document for another document (comes up in nested template elements).
+
+        No new tests since the behavior change is covered by existing tests.
+
+        [1] https://html.spec.whatwg.org/#appropriate-template-contents-owner-document
+
+        * dom/Document.h:
+        (WebCore::Document::templateDocument):
+
 2016-03-02  Gavin Barraclough  <barraclough@apple.com>
 
         PageThrottler should apply hysteresis to media activity
index 78c7669..1d72fde 100644 (file)
@@ -1798,11 +1798,7 @@ inline TextEncoding Document::textEncoding() const
 #if ENABLE(TEMPLATE_ELEMENT)
 inline const Document* Document::templateDocument() const
 {
-    // If DOCUMENT does not have a browsing context, Let TEMPLATE CONTENTS OWNER be DOCUMENT and abort these steps.
-    if (!m_frame)
-        return this;
-
-    return m_templateDocument.get();
+    return m_templateDocumentHost ? this : m_templateDocument.get();
 }
 #endif