aboutsummaryrefslogtreecommitdiffhomepage
path: root/experimental/SkV8Example/Global.h
diff options
context:
space:
mode:
Diffstat (limited to 'experimental/SkV8Example/Global.h')
-rw-r--r--experimental/SkV8Example/Global.h84
1 files changed, 0 insertions, 84 deletions
diff --git a/experimental/SkV8Example/Global.h b/experimental/SkV8Example/Global.h
deleted file mode 100644
index a50f24442a..0000000000
--- a/experimental/SkV8Example/Global.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Copyright 2013 Google Inc.
- *
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- *
- */
-
-#ifndef SkV8Example_Global_DEFINED
-#define SkV8Example_Global_DEFINED
-
-#include <map>
-
-#include <v8.h>
-
-
-#include "SkTypes.h"
-#include "SkEvent.h"
-
-class SkOSWindow;
-
-typedef v8::Persistent<v8::Function, v8::CopyablePersistentTraits<v8::Function> > CopyablePersistentFn;
-
-// Provides the global isolate and context for our V8 instance.
-// Also implements all the global level functions.
-class Global : SkNoncopyable {
-public:
- Global(v8::Isolate* isolate)
- : fIsolate(isolate)
- , fWindow(NULL)
- , fLastTimerID(0)
- {
- gGlobal = this;
- this->initialize();
- }
- virtual ~Global() {}
-
- // The script will be parsed into the context this Global contains.
- bool parseScript(const char script[]);
-
- v8::Local<v8::Context> getContext() {
- return v8::Local<v8::Context>::New(fIsolate, fContext);
- }
-
- v8::Isolate* getIsolate() {
- return fIsolate;
- }
-
- void setWindow(SkOSWindow* win) {
- fWindow = win;
- }
- SkOSWindow* getWindow() {
- return fWindow;
- }
-
- void reportException(v8::TryCatch* tryCatch);
-
-private:
- void initialize();
- v8::Handle<v8::Context> createRootContext();
- int32_t getNextTimerID();
-
- static bool TimeOutProc(const SkEvent& evt);
-
- // Static functions that implement the global JS functions we add to
- // the context.
- static void SetTimeout(const v8::FunctionCallbackInfo<v8::Value>& args);
- static void Print(const v8::FunctionCallbackInfo<v8::Value>& args);
- static void Inval(const v8::FunctionCallbackInfo<v8::Value>& args);
-
- v8::Persistent<v8::Context> fContext;
- v8::Isolate* fIsolate;
- SkOSWindow* fWindow;
- static Global* gGlobal;
-
- // Handle to the functions to call when a timeout triggers as indexed by id.
- std::map<int32_t, CopyablePersistentFn > fTimeouts;
-
- // Last timer ID generated.
- int32_t fLastTimerID;
-};
-
-#endif