Chromium Code Reviews| Index: third_party/WebKit/Source/core/dom/Document.cpp |
| diff --git a/third_party/WebKit/Source/core/dom/Document.cpp b/third_party/WebKit/Source/core/dom/Document.cpp |
| index b4fde8e7cfcc90578583eb715896d7731fe159c5..e8b430c6d85d0a3c1374aa4b5a9189c2b80cf59c 100644 |
| --- a/third_party/WebKit/Source/core/dom/Document.cpp |
| +++ b/third_party/WebKit/Source/core/dom/Document.cpp |
| @@ -196,6 +196,7 @@ |
| #include "core/page/scrolling/RootScroller.h" |
| #include "core/page/scrolling/ScrollingCoordinator.h" |
| #include "core/svg/SVGDocumentExtensions.h" |
| +#include "core/svg/SVGScriptElement.h" |
| #include "core/svg/SVGTitleElement.h" |
| #include "core/svg/SVGUseElement.h" |
| #include "core/timing/DOMWindowPerformance.h" |
| @@ -4582,17 +4583,27 @@ KURL Document::openSearchDescriptionURL() |
| return KURL(); |
| } |
| -HTMLScriptElement* Document::currentScriptForBinding() const |
| +void Document::currentScriptForBinding(ScriptElement& scriptElement) const |
| { |
| - if (HTMLScriptElement* script = currentScript()) |
| - return script->isInV1ShadowTree() ? nullptr : script; |
| - return nullptr; |
| + if (Element* script = currentScript()) { |
| + if (script->isInV1ShadowTree()) |
| + return; |
| + if (isHTMLScriptElement(script)) |
| + scriptElement.setHTMLScriptElement(toHTMLScriptElement(script)); |
| + else if (isSVGScriptElement(script)) |
| + scriptElement.setSVGScriptElement(toSVGScriptElement(script)); |
| + } |
|
fs
2016/05/03 10:56:00
NOTREACHED()?
ramya.v
2016/05/04 04:18:41
Below test cases are failing if we put ASSERT_NOT_
fs
2016/05/04 08:42:54
Well, the placement in PS3 is definitely wrong - c
ramya.v
2016/05/04 09:35:51
Got your point. Thanks.
Done.
|
| } |
| -void Document::pushCurrentScript(HTMLScriptElement* newCurrentScript) |
| +void Document::pushCurrentScript(const ScriptElement& newCurrentScript) |
| { |
| - DCHECK(newCurrentScript); |
| - m_currentScriptStack.append(newCurrentScript); |
| + DCHECK(!newCurrentScript.isNull()); |
| + Element* scriptToPush; |
| + if (newCurrentScript.isHTMLScriptElement()) |
| + scriptToPush = newCurrentScript.getAsHTMLScriptElement(); |
| + else |
| + scriptToPush = newCurrentScript.getAsSVGScriptElement(); |
| + m_currentScriptStack.append(scriptToPush); |
| } |
| void Document::popCurrentScript() |