Commit b2436c3b authored by Nate Chapin's avatar Nate Chapin Committed by Commit Bot

Ensure cloning a template element into an inactive document does not crash.

Bug: 1092047
Test: html/semantics/scripting-1/the-template-element/template-element/template-element-clone-into-inactive-document-crash.html
Change-Id: I7d515c25294fe661781d14d53053dbf1d3be49f9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2236245
Auto-Submit: Nate Chapin <japhet@chromium.org>
Commit-Queue: Kentaro Hara <haraken@chromium.org>
Reviewed-by: default avatarKentaro Hara <haraken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#776274}
parent 5c6779da
...@@ -66,7 +66,7 @@ DocumentFragment* HTMLTemplateElement::DeclarativeShadowContent() const { ...@@ -66,7 +66,7 @@ DocumentFragment* HTMLTemplateElement::DeclarativeShadowContent() const {
void HTMLTemplateElement::CloneNonAttributePropertiesFrom( void HTMLTemplateElement::CloneNonAttributePropertiesFrom(
const Element& source, const Element& source,
CloneChildrenFlag flag) { CloneChildrenFlag flag) {
if (flag == CloneChildrenFlag::kSkip) if (flag == CloneChildrenFlag::kSkip || !GetExecutionContext())
return; return;
DCHECK_NE(flag, CloneChildrenFlag::kCloneWithShadows); DCHECK_NE(flag, CloneChildrenFlag::kCloneWithShadows);
auto& html_template_element = To<HTMLTemplateElement>(source); auto& html_template_element = To<HTMLTemplateElement>(source);
......
<template id="t"> </template>
<iframe id="i"></iframe>
<script>
var doc = i.contentDocument;
i.remove();
doc.importNode(t, true);
</script>
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment