Index: Source/bindings/core/v8/WorkerScriptController.h |
diff --git a/Source/bindings/core/v8/WorkerScriptController.h b/Source/bindings/core/v8/WorkerScriptController.h |
index 6ae5d2846edfa200e5e0db6eae25bc28620ab372..a947ec0e68004c81cb7249178e2039ce32aad344 100644 |
--- a/Source/bindings/core/v8/WorkerScriptController.h |
+++ b/Source/bindings/core/v8/WorkerScriptController.h |
@@ -43,52 +43,50 @@ namespace blink { |
class ErrorEvent; |
class ExceptionState; |
class ScriptSourceCode; |
-class ScriptValue; |
class WorkerGlobalScope; |
-class WorkerGlobalScopeExecutionState; |
class WorkerScriptController { |
public: |
explicit WorkerScriptController(WorkerGlobalScope&); |
~WorkerScriptController(); |
- WorkerGlobalScope& workerGlobalScope() { return m_workerGlobalScope; } |
- |
- bool initializeContextIfNeeded(); |
- |
+ bool isExecutionForbidden() const; |
+ bool isExecutionTerminating() const; |
void evaluate(const ScriptSourceCode&, RefPtrWillBeRawPtr<ErrorEvent>* = 0); |
- void rethrowExceptionFromImportedScript(PassRefPtrWillBeRawPtr<ErrorEvent>, ExceptionState&); |
+ // Prevents future JavaScript execution. See |
+ // scheduleExecutionTermination, isExecutionForbidden. |
+ void forbidExecution(); |
- // Async request to terminate a future JS execution. Eventually causes termination |
- // exception raised during JS execution, if the worker thread happens to run JS. |
- // After JS execution was terminated in this way, the Worker thread has to use |
- // forbidExecution()/isExecutionForbidden() to guard against reentry into JS. |
- // Can be called from any thread. |
+ // Used by WorkerThread: |
+ bool initializeContextIfNeeded(); |
+ // Async request to terminate future JavaScript execution on the |
+ // worker thread. JavaScript evaluation exits with a |
+ // non-continuable exception and WorkerScriptController calls |
+ // forbidExecution to prevent further JavaScript execution. Use |
+ // forbidExecution()/isExecutionForbidden() to guard against |
+ // reentry into JavaScript. |
void scheduleExecutionTermination(); |
- bool isExecutionTerminating() const; |
- |
- // Called on Worker thread when JS exits with termination exception caused by forbidExecution() request, |
- // or by Worker thread termination code to prevent future entry into JS. |
- void forbidExecution(); |
- bool isExecutionForbidden() const; |
+ // Used by WorkerGlobalScope: |
+ void rethrowExceptionFromImportedScript(PassRefPtrWillBeRawPtr<ErrorEvent>, ExceptionState&); |
void disableEval(const String&); |
- |
- v8::Isolate* isolate() const { return m_isolate; } |
- DOMWrapperWorld& world() const { return *m_world; } |
- ScriptState* scriptState() { return m_scriptState.get(); } |
- v8::Local<v8::Context> context() { return m_scriptState ? m_scriptState->context() : v8::Local<v8::Context>(); } |
- bool isContextInitialized() { return m_scriptState && !!m_scriptState->perContextData(); } |
- |
// Send a notification about current thread is going to be idle. |
// Returns true if the embedder should stop calling idleNotification |
// until real work has been done. |
bool idleNotification() { return m_isolate->IdleNotification(1000); } |
+ // Used by Inspector agents: |
+ ScriptState* scriptState() { return m_scriptState.get(); } |
+ |
+ // Used by V8 bindings: |
+ v8::Local<v8::Context> context() { return m_scriptState ? m_scriptState->context() : v8::Local<v8::Context>(); } |
+ |
private: |
class WorkerGlobalScopeExecutionState; |
+ bool isContextInitialized() { return m_scriptState && !!m_scriptState->perContextData(); } |
+ |
// Evaluate a script file in the current execution environment. |
ScriptValue evaluate(const String& script, const String& fileName, const TextPosition& scriptStartPosition); |