| Index: Source/core/dom/Document.cpp
|
| diff --git a/Source/core/dom/Document.cpp b/Source/core/dom/Document.cpp
|
| index c9369c2a2348a719612179199e3bcb51bb314a85..31013c281514abef907aacea36110edb28e906bc 100644
|
| --- a/Source/core/dom/Document.cpp
|
| +++ b/Source/core/dom/Document.cpp
|
| @@ -53,6 +53,7 @@
|
| #include "core/dom/Comment.h"
|
| #include "core/dom/ContextFeatures.h"
|
| #include "core/dom/CustomElementRegistrationContext.h"
|
| +#include "core/dom/CustomElementRegistrationContextualizer.h"
|
| #include "core/dom/DOMImplementation.h"
|
| #include "core/dom/DOMNamedFlowCollection.h"
|
| #include "core/dom/DocumentEventQueue.h"
|
| @@ -479,13 +480,6 @@ Document::Document(Frame* frame, const KURL& url, DocumentClassFlags documentCla
|
| m_nodeListCounts[i] = 0;
|
|
|
| InspectorCounters::incrementCounter(InspectorCounters::DocumentCounter);
|
| -
|
| - bool shouldProcessCustomElements =
|
| - (isHTMLDocument() || isXHTMLDocument())
|
| - && RuntimeEnabledFeatures::customDOMElementsEnabled();
|
| - m_registrationContext = shouldProcessCustomElements
|
| - ? CustomElementRegistrationContext::create()
|
| - : CustomElementRegistrationContext::nullRegistrationContext();
|
| }
|
|
|
| static void histogramMutationEventUsage(const unsigned short& listenerTypes)
|
| @@ -768,6 +762,12 @@ ScriptValue Document::registerElement(WebCore::ScriptState* state, const AtomicS
|
| return constructorBuilder.bindingsReturnValue();
|
| }
|
|
|
| +void Document::setRegistrationContext(PassRefPtr<CustomElementRegistrationContext> context)
|
| +{
|
| + ASSERT(!registrationContext());
|
| + m_registrationContext = context;
|
| +}
|
| +
|
| void Document::setImport(HTMLImport* import)
|
| {
|
| ASSERT(!m_import || !import);
|
| @@ -3905,7 +3905,7 @@ void Document::applyXSLTransform(ProcessingInstruction* pi)
|
| return;
|
| // FIXME: If the transform failed we should probably report an error (like Mozilla does).
|
| Frame* ownerFrame = frame();
|
| - processor->createDocumentFromSource(newSource, resultEncoding, resultMIMEType, this, ownerFrame);
|
| + processor->createDocumentFromSource(newSource, resultEncoding, resultMIMEType, this, ownerFrame, CustomElementRegistrationContextualizer::DocumentWithXSLTPI);
|
| InspectorInstrumentation::frameDocumentUpdated(ownerFrame);
|
| }
|
|
|
| @@ -5123,6 +5123,7 @@ Document* Document::ensureTemplateDocument()
|
| m_templateDocument = Document::create(0, blankURL());
|
|
|
| m_templateDocument->setTemplateDocumentHost(this); // balanced in dtor.
|
| + CustomElementRegistrationContextualizer::didCreateRelatedDocument(registrationContext(), CustomElementRegistrationContextualizer::Template, m_templateDocument.get());
|
|
|
| return m_templateDocument.get();
|
| }
|
|
|