| Index: Source/core/dom/Document.cpp
|
| diff --git a/Source/core/dom/Document.cpp b/Source/core/dom/Document.cpp
|
| index 90e8afb08463db1fc27d15d38f0514117fc655b1..c625eede4694084d6b6b39b7b039123d5b4be9a8 100644
|
| --- a/Source/core/dom/Document.cpp
|
| +++ b/Source/core/dom/Document.cpp
|
| @@ -521,7 +521,7 @@ Document::~Document()
|
| ASSERT(m_visibilityObservers.isEmpty());
|
|
|
| if (m_templateDocument)
|
| - m_templateDocument->setTemplateDocumentHost(0); // balanced in templateDocument().
|
| + m_templateDocument->m_templateDocumentHost = 0; // balanced in ensureTemplateDocument().
|
|
|
| m_scriptRunner.clear();
|
|
|
| @@ -5322,8 +5322,11 @@ Locale& Document::getCachedLocale(const AtomicString& locale)
|
|
|
| Document& Document::ensureTemplateDocument()
|
| {
|
| - if (const Document* document = templateDocument())
|
| - return *const_cast<Document*>(document);
|
| + if (isTemplateDocument())
|
| + return *this;
|
| +
|
| + if (m_templateDocument)
|
| + return *m_templateDocument;
|
|
|
| if (isHTMLDocument()) {
|
| DocumentInit init = DocumentInit::fromContext(contextDocument(), blankURL()).withNewRegistrationContext();
|
| @@ -5332,7 +5335,7 @@ Document& Document::ensureTemplateDocument()
|
| m_templateDocument = Document::create(DocumentInit(blankURL()));
|
| }
|
|
|
| - m_templateDocument->setTemplateDocumentHost(this); // balanced in dtor.
|
| + m_templateDocument->m_templateDocumentHost = this; // balanced in dtor.
|
|
|
| return *m_templateDocument.get();
|
| }
|
|
|