| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
| 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
| 4 * (C) 2001 Dirk Mueller (mueller@kde.org) | 4 * (C) 2001 Dirk Mueller (mueller@kde.org) |
| 5 * (C) 2006 Alexey Proskuryakov (ap@webkit.org) | 5 * (C) 2006 Alexey Proskuryakov (ap@webkit.org) |
| 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2011, 2012 Apple Inc. All r
ights reserved. | 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2011, 2012 Apple Inc. All r
ights reserved. |
| 7 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t
orchmobile.com/) | 7 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t
orchmobile.com/) |
| 8 * Copyright (C) 2008, 2009, 2011, 2012 Google Inc. All rights reserved. | 8 * Copyright (C) 2008, 2009, 2011, 2012 Google Inc. All rights reserved. |
| 9 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) | 9 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) |
| 10 * Copyright (C) Research In Motion Limited 2010-2011. All rights reserved. | 10 * Copyright (C) Research In Motion Limited 2010-2011. All rights reserved. |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 46 #include "core/css/MediaQueryMatcher.h" | 46 #include "core/css/MediaQueryMatcher.h" |
| 47 #include "core/css/StylePropertySet.h" | 47 #include "core/css/StylePropertySet.h" |
| 48 #include "core/css/StyleSheetContents.h" | 48 #include "core/css/StyleSheetContents.h" |
| 49 #include "core/css/StyleSheetList.h" | 49 #include "core/css/StyleSheetList.h" |
| 50 #include "core/css/resolver/StyleResolver.h" | 50 #include "core/css/resolver/StyleResolver.h" |
| 51 #include "core/dom/Attr.h" | 51 #include "core/dom/Attr.h" |
| 52 #include "core/dom/CDATASection.h" | 52 #include "core/dom/CDATASection.h" |
| 53 #include "core/dom/Comment.h" | 53 #include "core/dom/Comment.h" |
| 54 #include "core/dom/ContextFeatures.h" | 54 #include "core/dom/ContextFeatures.h" |
| 55 #include "core/dom/CustomElementRegistrationContext.h" | 55 #include "core/dom/CustomElementRegistrationContext.h" |
| 56 #include "core/dom/CustomElementRegistrationContextualizer.h" |
| 56 #include "core/dom/DOMImplementation.h" | 57 #include "core/dom/DOMImplementation.h" |
| 57 #include "core/dom/DOMNamedFlowCollection.h" | 58 #include "core/dom/DOMNamedFlowCollection.h" |
| 58 #include "core/dom/DocumentEventQueue.h" | 59 #include "core/dom/DocumentEventQueue.h" |
| 59 #include "core/dom/DocumentFragment.h" | 60 #include "core/dom/DocumentFragment.h" |
| 60 #include "core/dom/DocumentLifecycleObserver.h" | 61 #include "core/dom/DocumentLifecycleObserver.h" |
| 61 #include "core/dom/DocumentMarkerController.h" | 62 #include "core/dom/DocumentMarkerController.h" |
| 62 #include "core/dom/DocumentSharedObjectPool.h" | 63 #include "core/dom/DocumentSharedObjectPool.h" |
| 63 #include "core/dom/DocumentStyleSheetCollection.h" | 64 #include "core/dom/DocumentStyleSheetCollection.h" |
| 64 #include "core/dom/DocumentType.h" | 65 #include "core/dom/DocumentType.h" |
| 65 #include "core/dom/Element.h" | 66 #include "core/dom/Element.h" |
| (...skipping 406 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 472 if ((m_frame && m_frame->ownerElement()) || !url.isEmpty()) | 473 if ((m_frame && m_frame->ownerElement()) || !url.isEmpty()) |
| 473 setURL(url); | 474 setURL(url); |
| 474 | 475 |
| 475 initSecurityContext(); | 476 initSecurityContext(); |
| 476 initDNSPrefetch(); | 477 initDNSPrefetch(); |
| 477 | 478 |
| 478 for (unsigned i = 0; i < WTF_ARRAY_LENGTH(m_nodeListCounts); i++) | 479 for (unsigned i = 0; i < WTF_ARRAY_LENGTH(m_nodeListCounts); i++) |
| 479 m_nodeListCounts[i] = 0; | 480 m_nodeListCounts[i] = 0; |
| 480 | 481 |
| 481 InspectorCounters::incrementCounter(InspectorCounters::DocumentCounter); | 482 InspectorCounters::incrementCounter(InspectorCounters::DocumentCounter); |
| 482 | |
| 483 bool shouldProcessCustomElements = | |
| 484 (isHTMLDocument() || isXHTMLDocument()) | |
| 485 && RuntimeEnabledFeatures::customDOMElementsEnabled(); | |
| 486 m_registrationContext = shouldProcessCustomElements | |
| 487 ? CustomElementRegistrationContext::create() | |
| 488 : CustomElementRegistrationContext::nullRegistrationContext(); | |
| 489 } | 483 } |
| 490 | 484 |
| 491 static void histogramMutationEventUsage(const unsigned short& listenerTypes) | 485 static void histogramMutationEventUsage(const unsigned short& listenerTypes) |
| 492 { | 486 { |
| 493 HistogramSupport::histogramEnumeration("DOMAPI.PerDocumentMutationEventUsage
.DOMSubtreeModified", static_cast<bool>(listenerTypes & Document::DOMSUBTREEMODI
FIED_LISTENER), 2); | 487 HistogramSupport::histogramEnumeration("DOMAPI.PerDocumentMutationEventUsage
.DOMSubtreeModified", static_cast<bool>(listenerTypes & Document::DOMSUBTREEMODI
FIED_LISTENER), 2); |
| 494 HistogramSupport::histogramEnumeration("DOMAPI.PerDocumentMutationEventUsage
.DOMNodeInserted", static_cast<bool>(listenerTypes & Document::DOMNODEINSERTED_L
ISTENER), 2); | 488 HistogramSupport::histogramEnumeration("DOMAPI.PerDocumentMutationEventUsage
.DOMNodeInserted", static_cast<bool>(listenerTypes & Document::DOMNODEINSERTED_L
ISTENER), 2); |
| 495 HistogramSupport::histogramEnumeration("DOMAPI.PerDocumentMutationEventUsage
.DOMNodeRemoved", static_cast<bool>(listenerTypes & Document::DOMNODEREMOVED_LIS
TENER), 2); | 489 HistogramSupport::histogramEnumeration("DOMAPI.PerDocumentMutationEventUsage
.DOMNodeRemoved", static_cast<bool>(listenerTypes & Document::DOMNODEREMOVED_LIS
TENER), 2); |
| 496 HistogramSupport::histogramEnumeration("DOMAPI.PerDocumentMutationEventUsage
.DOMNodeRemovedFromDocument", static_cast<bool>(listenerTypes & Document::DOMNOD
EREMOVEDFROMDOCUMENT_LISTENER), 2); | 490 HistogramSupport::histogramEnumeration("DOMAPI.PerDocumentMutationEventUsage
.DOMNodeRemovedFromDocument", static_cast<bool>(listenerTypes & Document::DOMNOD
EREMOVEDFROMDOCUMENT_LISTENER), 2); |
| 497 HistogramSupport::histogramEnumeration("DOMAPI.PerDocumentMutationEventUsage
.DOMNodeInsertedIntoDocument", static_cast<bool>(listenerTypes & Document::DOMNO
DEINSERTEDINTODOCUMENT_LISTENER), 2); | 491 HistogramSupport::histogramEnumeration("DOMAPI.PerDocumentMutationEventUsage
.DOMNodeInsertedIntoDocument", static_cast<bool>(listenerTypes & Document::DOMNO
DEINSERTEDINTODOCUMENT_LISTENER), 2); |
| 498 HistogramSupport::histogramEnumeration("DOMAPI.PerDocumentMutationEventUsage
.DOMCharacterDataModified", static_cast<bool>(listenerTypes & Document::DOMCHARA
CTERDATAMODIFIED_LISTENER), 2); | 492 HistogramSupport::histogramEnumeration("DOMAPI.PerDocumentMutationEventUsage
.DOMCharacterDataModified", static_cast<bool>(listenerTypes & Document::DOMCHARA
CTERDATAMODIFIED_LISTENER), 2); |
| (...skipping 262 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 761 return registerElement(state, name, Dictionary(), ec); | 755 return registerElement(state, name, Dictionary(), ec); |
| 762 } | 756 } |
| 763 | 757 |
| 764 ScriptValue Document::registerElement(WebCore::ScriptState* state, const AtomicS
tring& name, const Dictionary& options, ExceptionCode& ec) | 758 ScriptValue Document::registerElement(WebCore::ScriptState* state, const AtomicS
tring& name, const Dictionary& options, ExceptionCode& ec) |
| 765 { | 759 { |
| 766 CustomElementConstructorBuilder constructorBuilder(state, &options); | 760 CustomElementConstructorBuilder constructorBuilder(state, &options); |
| 767 registrationContext()->registerElement(this, &constructorBuilder, name, ec); | 761 registrationContext()->registerElement(this, &constructorBuilder, name, ec); |
| 768 return constructorBuilder.bindingsReturnValue(); | 762 return constructorBuilder.bindingsReturnValue(); |
| 769 } | 763 } |
| 770 | 764 |
| 765 void Document::setRegistrationContext(PassRefPtr<CustomElementRegistrationContex
t> context) |
| 766 { |
| 767 ASSERT(!registrationContext()); |
| 768 m_registrationContext = context; |
| 769 } |
| 770 |
| 771 void Document::setImport(HTMLImport* import) | 771 void Document::setImport(HTMLImport* import) |
| 772 { | 772 { |
| 773 ASSERT(!m_import || !import); | 773 ASSERT(!m_import || !import); |
| 774 m_import = import; | 774 m_import = import; |
| 775 } | 775 } |
| 776 | 776 |
| 777 void Document::didLoadAllImports() | 777 void Document::didLoadAllImports() |
| 778 { | 778 { |
| 779 executeScriptsWaitingForResourcesIfNeeded(); | 779 executeScriptsWaitingForResourcesIfNeeded(); |
| 780 } | 780 } |
| (...skipping 3117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3898 UseCounter::count(this, UseCounter::XSLProcessingInstruction); | 3898 UseCounter::count(this, UseCounter::XSLProcessingInstruction); |
| 3899 RefPtr<XSLTProcessor> processor = XSLTProcessor::create(); | 3899 RefPtr<XSLTProcessor> processor = XSLTProcessor::create(); |
| 3900 processor->setXSLStyleSheet(static_cast<XSLStyleSheet*>(pi->sheet())); | 3900 processor->setXSLStyleSheet(static_cast<XSLStyleSheet*>(pi->sheet())); |
| 3901 String resultMIMEType; | 3901 String resultMIMEType; |
| 3902 String newSource; | 3902 String newSource; |
| 3903 String resultEncoding; | 3903 String resultEncoding; |
| 3904 if (!processor->transformToString(this, resultMIMEType, newSource, resultEnc
oding)) | 3904 if (!processor->transformToString(this, resultMIMEType, newSource, resultEnc
oding)) |
| 3905 return; | 3905 return; |
| 3906 // FIXME: If the transform failed we should probably report an error (like M
ozilla does). | 3906 // FIXME: If the transform failed we should probably report an error (like M
ozilla does). |
| 3907 Frame* ownerFrame = frame(); | 3907 Frame* ownerFrame = frame(); |
| 3908 processor->createDocumentFromSource(newSource, resultEncoding, resultMIMETyp
e, this, ownerFrame); | 3908 processor->createDocumentFromSource(newSource, resultEncoding, resultMIMETyp
e, this, ownerFrame, CustomElementRegistrationContextualizer::DocumentWithXSLTPI
); |
| 3909 InspectorInstrumentation::frameDocumentUpdated(ownerFrame); | 3909 InspectorInstrumentation::frameDocumentUpdated(ownerFrame); |
| 3910 } | 3910 } |
| 3911 | 3911 |
| 3912 void Document::setTransformSource(PassOwnPtr<TransformSource> source) | 3912 void Document::setTransformSource(PassOwnPtr<TransformSource> source) |
| 3913 { | 3913 { |
| 3914 m_transformSource = source; | 3914 m_transformSource = source; |
| 3915 } | 3915 } |
| 3916 | 3916 |
| 3917 void Document::setDesignMode(InheritedBool value) | 3917 void Document::setDesignMode(InheritedBool value) |
| 3918 { | 3918 { |
| (...skipping 1197 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5116 { | 5116 { |
| 5117 if (const Document* document = templateDocument()) | 5117 if (const Document* document = templateDocument()) |
| 5118 return const_cast<Document*>(document); | 5118 return const_cast<Document*>(document); |
| 5119 | 5119 |
| 5120 if (isHTMLDocument()) | 5120 if (isHTMLDocument()) |
| 5121 m_templateDocument = HTMLDocument::create(0, blankURL()); | 5121 m_templateDocument = HTMLDocument::create(0, blankURL()); |
| 5122 else | 5122 else |
| 5123 m_templateDocument = Document::create(0, blankURL()); | 5123 m_templateDocument = Document::create(0, blankURL()); |
| 5124 | 5124 |
| 5125 m_templateDocument->setTemplateDocumentHost(this); // balanced in dtor. | 5125 m_templateDocument->setTemplateDocumentHost(this); // balanced in dtor. |
| 5126 CustomElementRegistrationContextualizer::didCreateRelatedDocument(registrati
onContext(), CustomElementRegistrationContextualizer::Template, m_templateDocume
nt.get()); |
| 5126 | 5127 |
| 5127 return m_templateDocument.get(); | 5128 return m_templateDocument.get(); |
| 5128 } | 5129 } |
| 5129 | 5130 |
| 5130 PassRefPtr<FontLoader> Document::fontloader() | 5131 PassRefPtr<FontLoader> Document::fontloader() |
| 5131 { | 5132 { |
| 5132 if (!m_fontloader) | 5133 if (!m_fontloader) |
| 5133 m_fontloader = FontLoader::create(this); | 5134 m_fontloader = FontLoader::create(this); |
| 5134 return m_fontloader; | 5135 return m_fontloader; |
| 5135 } | 5136 } |
| (...skipping 24 matching lines...) Expand all Loading... |
| 5160 { | 5161 { |
| 5161 return DocumentLifecycleNotifier::create(this); | 5162 return DocumentLifecycleNotifier::create(this); |
| 5162 } | 5163 } |
| 5163 | 5164 |
| 5164 DocumentLifecycleNotifier* Document::lifecycleNotifier() | 5165 DocumentLifecycleNotifier* Document::lifecycleNotifier() |
| 5165 { | 5166 { |
| 5166 return static_cast<DocumentLifecycleNotifier*>(ScriptExecutionContext::lifec
ycleNotifier()); | 5167 return static_cast<DocumentLifecycleNotifier*>(ScriptExecutionContext::lifec
ycleNotifier()); |
| 5167 } | 5168 } |
| 5168 | 5169 |
| 5169 } // namespace WebCore | 5170 } // namespace WebCore |
| OLD | NEW |