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

Unified Diff: third_party/WebKit/Source/core/xml/parser/XMLDocumentParser.cpp

Issue 2723793002: De-Element ScriptLoader (Closed)
Patch Set: De-Element ScriptLoader Created 3 years, 10 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 side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/xml/parser/XMLDocumentParser.cpp
diff --git a/third_party/WebKit/Source/core/xml/parser/XMLDocumentParser.cpp b/third_party/WebKit/Source/core/xml/parser/XMLDocumentParser.cpp
index 800abaeba2f1045c1f6ff6d4db4f6a2cd8dfe1fc..5303175be3582ffcf50d9c5206a57583079adcd3 100644
--- a/third_party/WebKit/Source/core/xml/parser/XMLDocumentParser.cpp
+++ b/third_party/WebKit/Source/core/xml/parser/XMLDocumentParser.cpp
@@ -448,7 +448,8 @@ void XMLDocumentParser::notifyFinished(Resource* unusedResource) {
Element* e = m_scriptElement;
m_scriptElement = nullptr;
- ScriptLoader* scriptLoader = toScriptLoaderIfPossible(e);
+ ScriptLoader* scriptLoader =
+ ScriptLoaderClient::fromElementIfPossible(e)->loader();
DCHECK(scriptLoader);
if (errorOccurred) {
@@ -1029,8 +1030,7 @@ void XMLDocumentParser::startElementNs(const AtomicString& localName,
newElement->beginParsingChildren();
- ScriptLoader* scriptLoader = toScriptLoaderIfPossible(newElement);
- if (scriptLoader)
+ if (ScriptLoaderClient::fromElementIfPossible(newElement))
hiroshige 2017/03/01 00:58:15 Same as HTMLOptionElement.cpp.
Nate Chapin 2017/03/01 21:35:00 Done.
m_scriptStartPosition = textPosition();
m_currentNode->parserAppendChild(newElement);
@@ -1075,8 +1075,12 @@ void XMLDocumentParser::endElementNs() {
if (m_currentNode->isElementNode())
toElement(n)->finishParsingChildren();
+ ScriptLoaderClient* scriptLoaderClient =
+ n->isElementNode()
+ ? ScriptLoaderClient::fromElementIfPossible(toElement(n))
+ : nullptr;
if (!scriptingContentIsAllowed(getParserContentPolicy()) &&
- n->isElementNode() && toScriptLoaderIfPossible(toElement(n))) {
+ scriptLoaderClient) {
popCurrentNode();
n->remove(IGNORE_EXCEPTION_FOR_TESTING);
return;
@@ -1096,7 +1100,8 @@ void XMLDocumentParser::endElementNs() {
return;
}
- ScriptLoader* scriptLoader = toScriptLoaderIfPossible(element);
+ ScriptLoader* scriptLoader =
+ scriptLoaderClient ? scriptLoaderClient->loader() : nullptr;
if (!scriptLoader) {
popCurrentNode();
return;

Powered by Google App Engine
This is Rietveld 408576698