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

Unified Diff: third_party/WebKit/Source/core/dom/ScriptElementBase.h

Issue 2723793002: De-Element ScriptLoader (Closed)
Patch Set: ScriptLoaderClient->ScriptElementBase, pure virtual interface, add fixme Created 3 years, 9 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/dom/ScriptElementBase.h
diff --git a/third_party/WebKit/Source/core/dom/ScriptLoaderClient.h b/third_party/WebKit/Source/core/dom/ScriptElementBase.h
similarity index 53%
rename from third_party/WebKit/Source/core/dom/ScriptLoaderClient.h
rename to third_party/WebKit/Source/core/dom/ScriptElementBase.h
index 3e9fd7ed9ac79467943a03de6331b91203eb7faa..1a07ed7e9623026d72dbf7ec5f71ac7ae6c0d127 100644
--- a/third_party/WebKit/Source/core/dom/ScriptLoaderClient.h
+++ b/third_party/WebKit/Source/core/dom/ScriptElementBase.h
@@ -18,34 +18,71 @@
* Boston, MA 02110-1301, USA.
*
*/
-#ifndef ScriptLoaderClient_h
-#define ScriptLoaderClient_h
+#ifndef ScriptElementBase_h
+#define ScriptElementBase_h
#include "core/CoreExport.h"
+#include "platform/heap/Handle.h"
+#include "platform/heap/Heap.h"
#include "wtf/text/AtomicString.h"
+#include "wtf/text/TextPosition.h"
#include "wtf/text/WTFString.h"
namespace blink {
+class Document;
+class Element;
+class HTMLScriptElementOrSVGScriptElement;
+class ScriptLoader;
-class CORE_EXPORT ScriptLoaderClient {
+class CORE_EXPORT ScriptElementBase : public GarbageCollectedMixin {
public:
- virtual ~ScriptLoaderClient() {}
+ virtual ~ScriptElementBase() {}
+
+ static ScriptElementBase* fromElementIfPossible(Element*);
virtual void dispatchLoadEvent() = 0;
+ virtual void dispatchErrorEvent() = 0;
- virtual String sourceAttributeValue() const = 0;
- virtual String charsetAttributeValue() const = 0;
- virtual String typeAttributeValue() const = 0;
- virtual String languageAttributeValue() const = 0;
- virtual String forAttributeValue() const = 0;
- virtual String eventAttributeValue() const = 0;
virtual bool asyncAttributeValue() const = 0;
+ virtual String charsetAttributeValue() const = 0;
+ virtual String crossOriginAttributeValue() const = 0;
virtual bool deferAttributeValue() const = 0;
+ virtual String eventAttributeValue() const = 0;
+ virtual String forAttributeValue() const = 0;
+ virtual String integrityAttributeValue() const = 0;
+ virtual String languageAttributeValue() const = 0;
+ virtual String sourceAttributeValue() const = 0;
+ virtual String typeAttributeValue() const = 0;
+
+ virtual String textFromChildren() = 0;
+ virtual String textContent() const = 0;
virtual bool hasSourceAttribute() const = 0;
+ virtual bool isConnected() const = 0;
+ virtual bool hasChildren() const = 0;
+ virtual bool isNonceableElement() const = 0;
+ virtual AtomicString initiatorName() const = 0;
+
+ virtual bool allowInlineScriptForCSP(const AtomicString& nonce,
+ const WTF::OrdinalNumber&,
+ const String& scriptContent) = 0;
+ virtual Document& document() const = 0;
+ virtual void setScriptElementForBinding(
+ HTMLScriptElementOrSVGScriptElement&) = 0;
+
+ ScriptLoader* loader() const { return m_loader.get(); }
AtomicString nonce() const { return m_nonce; }
void setNonce(const String& nonce) { m_nonce = AtomicString(nonce); }
+ DECLARE_VIRTUAL_TRACE();
+
+ protected:
+ void initializeScriptLoader(bool parserInserted,
+ bool alreadyStarted,
+ bool createdDuringDocumentWrite);
+
+ Member<ScriptLoader> m_loader;
+
private:
AtomicString m_nonce;
};
« no previous file with comments | « third_party/WebKit/Source/core/dom/PendingScript.cpp ('k') | third_party/WebKit/Source/core/dom/ScriptElementBase.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698