Index: gin/runner.h |
diff --git a/gin/runner.h b/gin/runner.h |
index 3e999e1fe7558637548999e164400878da2c72d7..9396207e8a666b017215283923e6e757473134dd 100644 |
--- a/gin/runner.h |
+++ b/gin/runner.h |
@@ -6,11 +6,13 @@ |
#define GIN_RUNNER_H_ |
#include <string> |
+#include "base/memory/weak_ptr.h" |
#include "gin/context_holder.h" |
namespace gin { |
class Runner; |
+class TryCatch; |
class RunnerDelegate { |
public: |
@@ -19,8 +21,10 @@ class RunnerDelegate { |
// Returns the template for the global object. |
virtual v8::Handle<v8::ObjectTemplate> GetGlobalTemplate(Runner* runner); |
- |
virtual void DidCreateContext(Runner* runner); |
+ virtual void WillRunScript(Runner* runner, v8::Handle<v8::Script> script); |
+ virtual void DidRunScript(Runner* runner, v8::Handle<v8::Script> script); |
+ virtual void UnhandledException(Runner* runner, TryCatch& try_catch); |
}; |
class Runner : public ContextHolder { |
@@ -35,6 +39,10 @@ class Runner : public ContextHolder { |
return context()->Global(); |
} |
+ base::WeakPtr<Runner> GetWeakPtr() { |
+ return weak_factory_.GetWeakPtr(); |
+ } |
+ |
class Scope { |
public: |
explicit Scope(Runner* runner); |
@@ -52,6 +60,8 @@ class Runner : public ContextHolder { |
RunnerDelegate* delegate_; |
+ base::WeakPtrFactory<Runner> weak_factory_; |
+ |
DISALLOW_COPY_AND_ASSIGN(Runner); |
}; |