Index: third_party/WebKit/Source/core/html/HTMLScriptElement.cpp |
diff --git a/third_party/WebKit/Source/core/html/HTMLScriptElement.cpp b/third_party/WebKit/Source/core/html/HTMLScriptElement.cpp |
index e48b70460928144da4fbf581aef440c20c8e1090..f424afcd081071d816bb6e4d1f7b49c838488934 100644 |
--- a/third_party/WebKit/Source/core/html/HTMLScriptElement.cpp |
+++ b/third_party/WebKit/Source/core/html/HTMLScriptElement.cpp |
@@ -24,6 +24,7 @@ |
#include "core/html/HTMLScriptElement.h" |
#include "bindings/core/v8/ExceptionState.h" |
+#include "bindings/core/v8/HTMLScriptElementOrSVGScriptElement.h" |
#include "bindings/core/v8/ScriptEventListener.h" |
#include "core/HTMLNames.h" |
#include "core/dom/Attribute.h" |
@@ -43,11 +44,10 @@ inline HTMLScriptElement::HTMLScriptElement(Document& document, |
bool wasInsertedByParser, |
bool alreadyStarted, |
bool createdDuringDocumentWrite) |
- : HTMLElement(scriptTag, document), |
- m_loader(ScriptLoader::create(this, |
- wasInsertedByParser, |
- alreadyStarted, |
- createdDuringDocumentWrite)) {} |
+ : HTMLElement(scriptTag, document) { |
+ initializeScriptLoader(wasInsertedByParser, alreadyStarted, |
+ createdDuringDocumentWrite); |
+} |
HTMLScriptElement* HTMLScriptElement::create(Document& document, |
bool wasInsertedByParser, |
@@ -157,6 +157,22 @@ String HTMLScriptElement::eventAttributeValue() const { |
return getAttribute(eventAttr).getString(); |
} |
+String HTMLScriptElement::crossOriginAttributeValue() const { |
+ return getAttribute(crossoriginAttr); |
+} |
+ |
+String HTMLScriptElement::integrityAttributeValue() const { |
+ return getAttribute(integrityAttr); |
+} |
+ |
+String HTMLScriptElement::textFromChildren() { |
+ return Element::textFromChildren(); |
+} |
+ |
+String HTMLScriptElement::textContent() const { |
+ return Element::textContent(); |
+} |
+ |
bool HTMLScriptElement::asyncAttributeValue() const { |
return fastHasAttribute(asyncAttr); |
} |
@@ -169,19 +185,57 @@ bool HTMLScriptElement::hasSourceAttribute() const { |
return fastHasAttribute(srcAttr); |
} |
+bool HTMLScriptElement::isConnected() const { |
+ return Node::isConnected(); |
+} |
+ |
+bool HTMLScriptElement::hasChildren() const { |
+ return Node::hasChildren(); |
+} |
+ |
+bool HTMLScriptElement::isNonceableElement() const { |
+ return ContentSecurityPolicy::isNonceableElement(this); |
+} |
+ |
+bool HTMLScriptElement::allowInlineScriptForCSP( |
+ const AtomicString& nonce, |
+ const WTF::OrdinalNumber& contextLine, |
+ const String& scriptContent) { |
+ return document().contentSecurityPolicy()->allowInlineScript( |
+ this, document().url(), nonce, contextLine, scriptContent); |
+} |
+ |
+AtomicString HTMLScriptElement::initiatorName() const { |
+ return Element::localName(); |
+} |
+ |
+Document& HTMLScriptElement::document() const { |
+ return Node::document(); |
+} |
+ |
void HTMLScriptElement::dispatchLoadEvent() { |
DCHECK(!m_loader->haveFiredLoadEvent()); |
dispatchEvent(Event::create(EventTypeNames::load)); |
} |
+void HTMLScriptElement::dispatchErrorEvent() { |
+ dispatchEvent(Event::create(EventTypeNames::error)); |
+} |
+ |
+void HTMLScriptElement::setScriptElementForBinding( |
+ HTMLScriptElementOrSVGScriptElement& element) { |
+ if (!isInV1ShadowTree()) |
+ element.setHTMLScriptElement(this); |
+} |
+ |
Element* HTMLScriptElement::cloneElementWithoutAttributesAndChildren() { |
return new HTMLScriptElement(document(), false, m_loader->alreadyStarted(), |
false); |
} |
DEFINE_TRACE(HTMLScriptElement) { |
- visitor->trace(m_loader); |
HTMLElement::trace(visitor); |
+ ScriptElementBase::trace(visitor); |
} |
} // namespace blink |