OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved. | 2 * Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved. |
3 * Copyright (C) 2011 Google Inc. All rights reserved. | 3 * Copyright (C) 2011 Google Inc. All rights reserved. |
4 * | 4 * |
5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
6 * modification, are permitted provided that the following conditions | 6 * modification, are permitted provided that the following conditions |
7 * are met: | 7 * are met: |
8 * | 8 * |
9 * 1. Redistributions of source code must retain the above copyright | 9 * 1. Redistributions of source code must retain the above copyright |
10 * notice, this list of conditions and the following disclaimer. | 10 * notice, this list of conditions and the following disclaimer. |
(...skipping 12 matching lines...) Expand all Loading... |
23 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | 23 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
24 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | 24 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
25 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 25 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
26 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | 26 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
27 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 27 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
28 */ | 28 */ |
29 | 29 |
30 #include "config.h" | 30 #include "config.h" |
31 #include "core/loader/DocumentLoader.h" | 31 #include "core/loader/DocumentLoader.h" |
32 | 32 |
| 33 #include "core/dom/CustomElementRegistrationContextualizer.h" |
33 #include "core/dom/DOMImplementation.h" | 34 #include "core/dom/DOMImplementation.h" |
34 #include "core/dom/Document.h" | 35 #include "core/dom/Document.h" |
35 #include "core/dom/DocumentParser.h" | 36 #include "core/dom/DocumentParser.h" |
36 #include "core/dom/Event.h" | 37 #include "core/dom/Event.h" |
37 #include "core/dom/WebCoreMemoryInstrumentation.h" | 38 #include "core/dom/WebCoreMemoryInstrumentation.h" |
38 #include "core/html/HTMLFrameOwnerElement.h" | 39 #include "core/html/HTMLFrameOwnerElement.h" |
39 #include "core/inspector/InspectorInstrumentation.h" | 40 #include "core/inspector/InspectorInstrumentation.h" |
40 #include "core/loader/DocumentWriter.h" | 41 #include "core/loader/DocumentWriter.h" |
41 #include "core/loader/FrameLoader.h" | 42 #include "core/loader/FrameLoader.h" |
42 #include "core/loader/FrameLoaderClient.h" | 43 #include "core/loader/FrameLoaderClient.h" |
(...skipping 1005 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1048 m_writer->end(); | 1049 m_writer->end(); |
1049 m_writer.clear(); | 1050 m_writer.clear(); |
1050 } | 1051 } |
1051 | 1052 |
1052 | 1053 |
1053 PassRefPtr<DocumentWriter> DocumentLoader::createWriterFor(Frame* frame, const D
ocument* ownerDocument, const KURL& url, const String& mimeType, const String& e
ncoding, bool userChosen, bool dispatch) | 1054 PassRefPtr<DocumentWriter> DocumentLoader::createWriterFor(Frame* frame, const D
ocument* ownerDocument, const KURL& url, const String& mimeType, const String& e
ncoding, bool userChosen, bool dispatch) |
1054 { | 1055 { |
1055 // Create a new document before clearing the frame, because it may need to | 1056 // Create a new document before clearing the frame, because it may need to |
1056 // inherit an aliased security context. | 1057 // inherit an aliased security context. |
1057 RefPtr<Document> document = DOMImplementation::createDocument(mimeType, fram
e, url, frame->inViewSourceMode()); | 1058 RefPtr<Document> document = DOMImplementation::createDocument(mimeType, fram
e, url, frame->inViewSourceMode()); |
| 1059 CustomElementRegistrationContextualizer::didCreateDocument(CustomElementRegi
strationContextualizer::Loader, document.get()); |
1058 if (document->isPluginDocument() && document->isSandboxed(SandboxPlugins)) | 1060 if (document->isPluginDocument() && document->isSandboxed(SandboxPlugins)) |
1059 document = SinkDocument::create(frame, url); | 1061 document = SinkDocument::create(frame, url); |
1060 bool shouldReuseDefaultView = frame->loader()->stateMachine()->isDisplayingI
nitialEmptyDocument() && frame->document()->isSecureTransitionTo(url); | 1062 bool shouldReuseDefaultView = frame->loader()->stateMachine()->isDisplayingI
nitialEmptyDocument() && frame->document()->isSecureTransitionTo(url); |
1061 | 1063 |
1062 RefPtr<DOMWindow> originalDOMWindow; | 1064 RefPtr<DOMWindow> originalDOMWindow; |
1063 if (shouldReuseDefaultView) | 1065 if (shouldReuseDefaultView) |
1064 originalDOMWindow = frame->domWindow(); | 1066 originalDOMWindow = frame->domWindow(); |
1065 frame->loader()->clear(!shouldReuseDefaultView, !shouldReuseDefaultView); | 1067 frame->loader()->clear(!shouldReuseDefaultView, !shouldReuseDefaultView); |
1066 | 1068 |
1067 if (!shouldReuseDefaultView) { | 1069 if (!shouldReuseDefaultView) { |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1099 void DocumentLoader::replaceDocument(const String& source, Document* ownerDocume
nt) | 1101 void DocumentLoader::replaceDocument(const String& source, Document* ownerDocume
nt) |
1100 { | 1102 { |
1101 m_frame->loader()->stopAllLoaders(); | 1103 m_frame->loader()->stopAllLoaders(); |
1102 m_writer = createWriterFor(m_frame, ownerDocument, m_frame->document()->url(
), mimeType(), m_writer ? m_writer->encoding() : "", m_writer ? m_writer->encod
ingWasChosenByUser() : false, true); | 1104 m_writer = createWriterFor(m_frame, ownerDocument, m_frame->document()->url(
), mimeType(), m_writer ? m_writer->encoding() : "", m_writer ? m_writer->encod
ingWasChosenByUser() : false, true); |
1103 if (!source.isNull()) | 1105 if (!source.isNull()) |
1104 m_writer->appendReplacingData(source); | 1106 m_writer->appendReplacingData(source); |
1105 endWriting(m_writer.get()); | 1107 endWriting(m_writer.get()); |
1106 } | 1108 } |
1107 | 1109 |
1108 } // namespace WebCore | 1110 } // namespace WebCore |
OLD | NEW |