Index: LayoutTests/imported/web-platform-tests/html/semantics/scripting-1/the-template-element/definitions/template-contents-owner-test-002.html |
diff --git a/LayoutTests/imported/web-platform-tests/html/semantics/scripting-1/the-template-element/definitions/template-contents-owner-test-002.html b/LayoutTests/imported/web-platform-tests/html/semantics/scripting-1/the-template-element/definitions/template-contents-owner-test-002.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..dd824e54a483d45df8654cccc81fb9bbe25f6f9a |
--- /dev/null |
+++ b/LayoutTests/imported/web-platform-tests/html/semantics/scripting-1/the-template-element/definitions/template-contents-owner-test-002.html |
@@ -0,0 +1,69 @@ |
+<!DOCTYPE html> |
+<html> |
+<head> |
+<title>HTML Templates: The template contents owner document (there's browsing context)</title> |
+<meta name="author" title="Sergey G. Grekhov" href="mailto:sgrekhov@unipro.ru"> |
+<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"> |
+<link rel="help" href="http://www.w3.org/TR/2013/WD-html-templates-20130214/#definitions"> |
+<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(null, function(context) { |
+ var doc = context.iframes[0].contentDocument; |
+ var template = doc.createElement('template'); |
+ |
+ var div = doc.createElement('div'); |
+ div.setAttribute('id', 'div1'); |
+ div.innerText = 'Some text'; |
+ |
+ template.appendChild(div); |
+ |
+ doc.body.appendChild(template); |
+ |
+ // doc has browsing context. There should be another document as a template |
+ // content owner |
+ assert_not_equals(template.content.ownerDocument, doc, 'Wrong template owner document'); |
+ |
+}, 'The template contents owner document must be different from template owner document,' + |
+ ' which has browsing context. Template element is created by createElement()'); |
+ |
+ |
+ |
+testInIFrame(null, function(context) { |
+ var doc = context.iframes[0].contentDocument; |
+ |
+ doc.body.innerHTML = '<template><div>some text</div></template>'; |
+ |
+ var template = doc.querySelector('template'); |
+ |
+ // doc has browsing context. There should be another document as a template |
+ // content owner |
+ assert_not_equals(template.content.ownerDocument, doc, 'Wrong template owner document'); |
+ |
+}, 'The template contents owner document must be different from template owner document,' + |
+ ' which has browsing context. Template element is created via innerHTML'); |
+ |
+ |
+ |
+testInIFrame('../resources/template-contents.html', function(context) { |
+ var doc = context.iframes[0].contentDocument; |
+ |
+ var template = doc.querySelector('template'); |
+ |
+ // doc has browsing context. There should be another document as a template |
+ // content owner |
+ assert_not_equals(template.content.ownerDocument, doc, 'Wrong template owner document'); |
+ |
+}, 'The template contents owner document must be different from template owner document,' + |
+ ' which has browsing context. Template element is created by HTML parser'); |
+ |
+</script> |
+</body> |
+</html> |