Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / core / html / parser / HTMLScriptRunner.h
index 6c1a1f6..d044163 100644 (file)
 namespace blink {
 
 class Resource;
-class ScriptResource;
 class Document;
 class Element;
-class LocalFrame;
 class HTMLScriptRunnerHost;
-class ScriptSourceCode;
 
-class HTMLScriptRunner FINAL : public NoBaseWillBeGarbageCollectedFinalized<HTMLScriptRunner>, private ResourceClient {
+class HTMLScriptRunner final : public NoBaseWillBeGarbageCollectedFinalized<HTMLScriptRunner>, private ScriptResourceClient {
     WTF_MAKE_NONCOPYABLE(HTMLScriptRunner); WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED;
 public:
     static PassOwnPtrWillBeRawPtr<HTMLScriptRunner> create(Document* document, HTMLScriptRunnerHost* host)
@@ -66,20 +63,15 @@ public:
     bool isExecutingScript() const { return !!m_scriptNestingLevel; }
 
     // ResourceClient
-    virtual void notifyFinished(Resource*) OVERRIDE;
+    virtual void notifyFinished(Resource*) override;
 
     void trace(Visitor*);
 
 private:
     HTMLScriptRunner(Document*, HTMLScriptRunnerHost*);
 
-    enum PendingScriptType {
-        PendingScriptBlockingParser,
-        PendingScriptDeferred
-    };
-
     void executeParsingBlockingScript();
-    void executePendingScriptAndDispatchEvent(PendingScript&, PendingScriptType);
+    void executePendingScriptAndDispatchEvent(PendingScript&, PendingScript::Type);
     void executeParsingBlockingScripts();
 
     void requestParsingBlockingScript(Element*);
@@ -88,11 +80,7 @@ private:
 
     void runScript(Element*, const TextPosition& scriptStartPosition);
 
-    // Helpers for dealing with HTMLScriptRunnerHost
-    void watchForLoad(PendingScript&);
-    void stopWatchingForLoad(PendingScript&);
     bool isPendingScriptReady(const PendingScript&);
-    ScriptSourceCode sourceFromPendingScript(const PendingScript&, bool& errorOccurred) const;
 
     RawPtrWillBeMember<Document> m_document;
     RawPtrWillBeMember<HTMLScriptRunnerHost> m_host;
@@ -105,6 +93,11 @@ private:
     // cause nested script execution when parsing <style> tags since </style>
     // tags can cause Document to call executeScriptsWaitingForResources.
     bool m_hasScriptsWaitingForResources;
+
+    // For tracking the times between script load and compilation, we need to
+    // know whether a parser blocking script was loaded previously, or whether
+    // it's really loaded when requested.
+    bool m_parserBlockingScriptAlreadyLoaded;
 };
 
 }