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

Unified Diff: Source/core/dom/ExecutionContext.h

Issue 559553002: Merge ExecutionContextClient and ExecutionContext (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@tmp1
Patch Set: Rebased Created 6 years, 3 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
« no previous file with comments | « Source/core/dom/Document.cpp ('k') | Source/core/dom/ExecutionContext.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/dom/ExecutionContext.h
diff --git a/Source/core/dom/ExecutionContext.h b/Source/core/dom/ExecutionContext.h
index f1f0c3ef9c2813a3bf6bd111df5beda07d9c7923..840698044bb057c3e1e084d9412daca69cffd064 100644
--- a/Source/core/dom/ExecutionContext.h
+++ b/Source/core/dom/ExecutionContext.h
@@ -29,7 +29,6 @@
#define ExecutionContext_h
#include "core/dom/ActiveDOMObject.h"
-#include "core/dom/ExecutionContextClient.h"
#include "core/dom/SandboxFlags.h"
#include "core/dom/SecurityContext.h"
#include "core/fetch/CrossOriginAccessControl.h"
@@ -62,22 +61,22 @@ class ExecutionContext
public:
virtual void trace(Visitor*) OVERRIDE;
- // Delegating to ExecutionContextClient
- bool isDocument() const { return m_client && m_client->isDocument(); }
- bool isWorkerGlobalScope() const { return m_client && m_client->isWorkerGlobalScope(); }
- bool isDedicatedWorkerGlobalScope() const { return m_client && m_client->isDedicatedWorkerGlobalScope(); }
- bool isSharedWorkerGlobalScope() const { return m_client && m_client->isSharedWorkerGlobalScope(); }
- bool isServiceWorkerGlobalScope() const { return m_client && m_client->isServiceWorkerGlobalScope(); }
- bool isJSExecutionForbidden() { return m_client && m_client->isJSExecutionForbidden(); }
- SecurityOrigin* securityOrigin() const;
- ContentSecurityPolicy* contentSecurityPolicy() const;
+ virtual bool isDocument() const { return false; }
+ virtual bool isWorkerGlobalScope() const { return false; }
+ virtual bool isDedicatedWorkerGlobalScope() const { return false; }
+ virtual bool isSharedWorkerGlobalScope() const { return false; }
+ virtual bool isServiceWorkerGlobalScope() const { return false; }
+ virtual bool isJSExecutionForbidden() const { return false; }
+ SecurityOrigin* securityOrigin();
+ ContentSecurityPolicy* contentSecurityPolicy();
+ virtual void didUpdateSecurityOrigin() = 0;
const KURL& url() const;
KURL completeURL(const String& url) const;
- void disableEval(const String& errorMessage);
- LocalDOMWindow* executingWindow() const;
- String userAgent(const KURL&) const;
- void postTask(PassOwnPtr<ExecutionContextTask>);
- double timerAlignmentInterval() const;
+ virtual void disableEval(const String& errorMessage) = 0;
+ virtual LocalDOMWindow* executingWindow() { return 0; }
+ virtual String userAgent(const KURL&) const = 0;
+ virtual void postTask(PassOwnPtr<ExecutionContextTask>) = 0; // Executes the task on context's thread asynchronously.
+ virtual double timerAlignmentInterval() const = 0;
virtual void reportBlockedScriptExecutionToInspector(const String& directiveText) = 0;
@@ -88,7 +87,8 @@ public:
bool shouldSanitizeScriptError(const String& sourceURL, AccessControlStatus);
void reportException(PassRefPtrWillBeRawPtr<ErrorEvent>, int scriptId, PassRefPtrWillBeRawPtr<ScriptCallStack>, AccessControlStatus);
- void addConsoleMessage(PassRefPtrWillBeRawPtr<ConsoleMessage>);
+ virtual void addConsoleMessage(PassRefPtrWillBeRawPtr<ConsoleMessage>) = 0;
+ virtual void logExceptionToConsole(const String& errorMessage, int scriptId, const String& sourceURL, int lineNumber, int columnNumber, PassRefPtrWillBeRawPtr<ScriptCallStack>) = 0;
PublicURLManager& publicURLManager();
@@ -103,6 +103,8 @@ public:
virtual void suspendScheduledTasks();
virtual void resumeScheduledTasks();
virtual bool tasksNeedSuspension() { return false; }
+ virtual void tasksWereSuspended() { }
+ virtual void tasksWereResumed() { }
bool activeDOMObjectsAreSuspended() const { return m_activeDOMObjectsAreSuspended; }
bool activeDOMObjectsAreStopped() const { return m_activeDOMObjectsAreStopped; }
@@ -126,14 +128,13 @@ public:
PassOwnPtr<LifecycleNotifier<ExecutionContext> > createLifecycleNotifier();
+ virtual EventTarget* errorEventTarget() = 0;
virtual EventQueue* eventQueue() const = 0;
protected:
ExecutionContext();
virtual ~ExecutionContext();
- void setClient(ExecutionContextClient* client) { m_client = client; }
-
virtual const KURL& virtualURL() const = 0;
virtual KURL virtualCompleteURL(const String&) const = 0;
@@ -154,7 +155,6 @@ private:
int installNewTimeout(PassOwnPtr<ScheduledAction>, int timeout, bool singleShot);
void removeTimeoutByID(int timeoutID); // This makes underlying DOMTimer instance destructed.
- ExecutionContextClient* m_client;
SandboxFlags m_sandboxFlags;
int m_circularSequentialID;
« no previous file with comments | « Source/core/dom/Document.cpp ('k') | Source/core/dom/ExecutionContext.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698