Index: Source/core/dom/ScriptElement.cpp |
diff --git a/Source/core/dom/ScriptElement.cpp b/Source/core/dom/ScriptElement.cpp |
index 22a1db41c7b0b49f843335ed3055fc1df014bd32..2d470289031c7be61305e77099e6c2b5b2aafde0 100644 |
--- a/Source/core/dom/ScriptElement.cpp |
+++ b/Source/core/dom/ScriptElement.cpp |
@@ -277,7 +277,24 @@ bool ScriptElement::requestScript(const String& sourceUrl) |
bool isHTMLScriptElement(Element* element) |
{ |
- return element->isHTMLElement() && element->hasTagName(HTMLNames::scriptTag); |
+ return element->hasTagName(HTMLNames::scriptTag); |
+} |
+ |
+bool isSVGScriptElement(Element* element) |
+{ |
+ return element->hasTagName(SVGNames::scriptTag); |
+} |
+ |
+HTMLScriptElement* toHTMLScriptElement(Element* element) |
+{ |
+ ASSERT_WITH_SECURITY_IMPLICATION(element->hasTagName(HTMLNames::scriptTag)); |
+ return static_cast<HTMLScriptElement*>(element); |
+} |
abarth-chromium
2013/06/11 18:18:23
We usually put these functions in the header that
arv (Not doing code reviews)
2013/06/11 18:44:01
Thanks. I moved these to {HTML,SVG}ScriptElement.h
|
+ |
+SVGScriptElement* toSVGScriptElement(Element* element) |
+{ |
+ ASSERT_WITH_SECURITY_IMPLICATION(element->hasTagName(SVGNames::scriptTag)); |
+ return static_cast<SVGScriptElement*>(element); |
} |
void ScriptElement::executeScript(const ScriptSourceCode& sourceCode) |
@@ -305,7 +322,7 @@ void ScriptElement::executeScript(const ScriptSourceCode& sourceCode) |
IgnoreDestructiveWriteCountIncrementer ignoreDesctructiveWriteCountIncrementer(m_isExternalScript ? document.get() : 0); |
if (isHTMLScriptElement(m_element)) |
- document->pushCurrentScript(static_cast<HTMLScriptElement*>(m_element)); |
+ document->pushCurrentScript(toHTMLScriptElement(m_element)); |
// Create a script from the script element node, using the script |
// block's source and the script block's type. |
@@ -425,10 +442,10 @@ String ScriptElement::scriptContent() const |
ScriptElement* toScriptElementIfPossible(Element* element) |
{ |
if (isHTMLScriptElement(element)) |
- return static_cast<HTMLScriptElement*>(element); |
+ return toHTMLScriptElement(element); |
- if (element->isSVGElement() && element->hasTagName(SVGNames::scriptTag)) |
- return static_cast<SVGScriptElement*>(element); |
+ if (isSVGScriptElement(element)) |
+ return toSVGScriptElement(element); |
return 0; |
} |