https://bugs.webkit.org/show_bug.cgi?id=30131, make beforeload fire on script elements.
Reviewed by Adam Roben.
WebCore:
Added tests in fast/dom/beforeload/.
* dom/ScriptElement.cpp:
(WebCore::ScriptElementData::requestScript):
* dom/ScriptElement.h:
* dom/XMLTokenizerLibxml2.cpp:
(WebCore::XMLTokenizer::endElementNs):
* html/HTMLAttributeNames.in:
* html/HTMLScriptElement.cpp:
(WebCore::HTMLScriptElement::parseMappedAttribute):
(WebCore::HTMLScriptElement::dispatchBeforeLoadEvent):
* html/HTMLScriptElement.h:
* html/HTMLTokenizer.cpp:
(WebCore::HTMLTokenizer::scriptHandler):
* svg/SVGScriptElement.cpp:
(WebCore::SVGScriptElement::dispatchBeforeLoadEvent):
* svg/SVGScriptElement.h:
LayoutTests:
* fast/dom/beforeload: Added.
* fast/dom/beforeload/resources: Added.
* fast/dom/beforeload/script-before-load-dynamic-expected.txt: Added.
* fast/dom/beforeload/script-before-load-dynamic.html: Added.
* fast/dom/beforeload/script-before-load-expected.txt: Added.
* fast/dom/beforeload/script-before-load-xhtml-expected.txt: Added.
* fast/dom/beforeload/script-before-load-xhtml.xhtml: Added.
* fast/dom/beforeload/script-before-load.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@49194 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/dom/ScriptElement.cpp b/WebCore/dom/ScriptElement.cpp
index fe38b46..a6db8ba 100644
--- a/WebCore/dom/ScriptElement.cpp
+++ b/WebCore/dom/ScriptElement.cpp
@@ -151,6 +151,9 @@
if (!document->frame())
return;
+ if (!m_scriptElement->dispatchBeforeLoadEvent(sourceUrl))
+ return;
+
ASSERT(!m_cachedScript);
m_cachedScript = document->docLoader()->requestScript(sourceUrl, scriptCharset());
m_requested = true;