Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1)

Side by Side Diff: third_party/WebKit/Source/core/dom/Document.cpp

Issue 2200613002: The HTML parser synchronously creates custom elements (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add tests for innerHTML. Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
100 #include "core/dom/StaticNodeList.h" 100 #include "core/dom/StaticNodeList.h"
101 #include "core/dom/StyleChangeReason.h" 101 #include "core/dom/StyleChangeReason.h"
102 #include "core/dom/StyleEngine.h" 102 #include "core/dom/StyleEngine.h"
103 #include "core/dom/TaskRunnerHelper.h" 103 #include "core/dom/TaskRunnerHelper.h"
104 #include "core/dom/TouchList.h" 104 #include "core/dom/TouchList.h"
105 #include "core/dom/TransformSource.h" 105 #include "core/dom/TransformSource.h"
106 #include "core/dom/TreeWalker.h" 106 #include "core/dom/TreeWalker.h"
107 #include "core/dom/VisitedLinkState.h" 107 #include "core/dom/VisitedLinkState.h"
108 #include "core/dom/XMLDocument.h" 108 #include "core/dom/XMLDocument.h"
109 #include "core/dom/custom/CustomElement.h" 109 #include "core/dom/custom/CustomElement.h"
110 #include "core/dom/custom/CustomElementsRegistry.h"
110 #include "core/dom/custom/V0CustomElementMicrotaskRunQueue.h" 111 #include "core/dom/custom/V0CustomElementMicrotaskRunQueue.h"
111 #include "core/dom/custom/V0CustomElementRegistrationContext.h" 112 #include "core/dom/custom/V0CustomElementRegistrationContext.h"
112 #include "core/dom/shadow/ElementShadow.h" 113 #include "core/dom/shadow/ElementShadow.h"
113 #include "core/dom/shadow/FlatTreeTraversal.h" 114 #include "core/dom/shadow/FlatTreeTraversal.h"
114 #include "core/dom/shadow/ShadowRoot.h" 115 #include "core/dom/shadow/ShadowRoot.h"
115 #include "core/editing/DragCaretController.h" 116 #include "core/editing/DragCaretController.h"
116 #include "core/editing/EditingUtilities.h" 117 #include "core/editing/EditingUtilities.h"
117 #include "core/editing/Editor.h" 118 #include "core/editing/Editor.h"
118 #include "core/editing/FrameSelection.h" 119 #include "core/editing/FrameSelection.h"
119 #include "core/editing/InputMethodController.h" 120 #include "core/editing/InputMethodController.h"
(...skipping 334 matching lines...) Expand 10 before | Expand all | Expand 10 after
454 , m_hasViewportUnits(false) 455 , m_hasViewportUnits(false)
455 , m_parserSyncPolicy(AllowAsynchronousParsing) 456 , m_parserSyncPolicy(AllowAsynchronousParsing)
456 , m_nodeCount(0) 457 , m_nodeCount(0)
457 { 458 {
458 if (m_frame) { 459 if (m_frame) {
459 DCHECK(m_frame->page()); 460 DCHECK(m_frame->page());
460 provideContextFeaturesToDocumentFrom(*this, *m_frame->page()); 461 provideContextFeaturesToDocumentFrom(*this, *m_frame->page());
461 462
462 m_fetcher = m_frame->loader().documentLoader()->fetcher(); 463 m_fetcher = m_frame->loader().documentLoader()->fetcher();
463 FrameFetchContext::provideDocumentToContext(m_fetcher->context(), this); 464 FrameFetchContext::provideDocumentToContext(m_fetcher->context(), this);
465
466 CustomElementsRegistry* registry = m_frame->localDOMWindow()
467 ? m_frame->localDOMWindow()->maybeCustomElements()
468 : nullptr;
469 if (registry && m_registrationContext)
470 registry->entangle(m_registrationContext);
464 } else if (m_importsController) { 471 } else if (m_importsController) {
465 m_fetcher = FrameFetchContext::createContextAndFetcher(nullptr, this); 472 m_fetcher = FrameFetchContext::createContextAndFetcher(nullptr, this);
466 } else { 473 } else {
467 m_fetcher = ResourceFetcher::create(nullptr); 474 m_fetcher = ResourceFetcher::create(nullptr);
468 } 475 }
469 476
470 m_rootScrollerController = RootScrollerController::create(*this); 477 m_rootScrollerController = RootScrollerController::create(*this);
471 478
472 // We depend on the url getting immediately set in subframes, but we 479 // We depend on the url getting immediately set in subframes, but we
473 // also depend on the url NOT getting immediately set in opened windows. 480 // also depend on the url NOT getting immediately set in opened windows.
(...skipping 5558 matching lines...) Expand 10 before | Expand all | Expand 10 after
6032 } 6039 }
6033 6040
6034 void showLiveDocumentInstances() 6041 void showLiveDocumentInstances()
6035 { 6042 {
6036 WeakDocumentSet& set = liveDocumentSet(); 6043 WeakDocumentSet& set = liveDocumentSet();
6037 fprintf(stderr, "There are %u documents currently alive:\n", set.size()); 6044 fprintf(stderr, "There are %u documents currently alive:\n", set.size());
6038 for (Document* document : set) 6045 for (Document* document : set)
6039 fprintf(stderr, "- Document %p URL: %s\n", document, document->url().get String().utf8().data()); 6046 fprintf(stderr, "- Document %p URL: %s\n", document, document->url().get String().utf8().data());
6040 } 6047 }
6041 #endif 6048 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698