Move v8 into third_party.

BUG=
R=robertphillips@google.com

Author: jcgregorio@google.com

Review URL: https://codereview.chromium.org/116693004

git-svn-id: http://skia.googlecode.com/svn/trunk@12954 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/experimental/SkV8Example/Global.cpp b/experimental/SkV8Example/Global.cpp
index 998f92b..e8ad318 100644
--- a/experimental/SkV8Example/Global.cpp
+++ b/experimental/SkV8Example/Global.cpp
@@ -127,7 +127,7 @@
     evt->setFast32(id);
     evt->postDelay(delay);
 
-    args.GetReturnValue().Set(Integer::New(id));
+    args.GetReturnValue().Set(Integer::New(gGlobal->fIsolate, id));
 }
 
 // Callback function for SkEvents used to implement timeouts.
@@ -180,11 +180,11 @@
   Handle<ObjectTemplate> global = ObjectTemplate::New();
 
   global->Set(v8::String::NewFromUtf8(fIsolate, "print"),
-              v8::FunctionTemplate::New(Global::Print));
+              v8::FunctionTemplate::New(fIsolate, Global::Print));
   global->Set(v8::String::NewFromUtf8(fIsolate, "setTimeout"),
-              v8::FunctionTemplate::New(Global::SetTimeout));
+              v8::FunctionTemplate::New(fIsolate, Global::SetTimeout));
   global->Set(v8::String::NewFromUtf8(fIsolate, "inval"),
-              v8::FunctionTemplate::New(Global::Inval));
+              v8::FunctionTemplate::New(fIsolate, Global::Inval));
 
 
   return Context::New(fIsolate, NULL, global);
diff --git a/experimental/SkV8Example/JsContext.cpp b/experimental/SkV8Example/JsContext.cpp
index cb25dae..5778172 100644
--- a/experimental/SkV8Example/JsContext.cpp
+++ b/experimental/SkV8Example/JsContext.cpp
@@ -208,7 +208,8 @@
     JsContext* jsContext = Unwrap(info.This());
     SkISize size = jsContext->fCanvas->getDeviceSize();
 
-    info.GetReturnValue().Set(Int32::New(size.fWidth));
+    info.GetReturnValue().Set(
+            Int32::New(jsContext->fGlobal->getIsolate(), size.fWidth));
 }
 
 void JsContext::GetHeight(Local<String> name,
@@ -216,7 +217,8 @@
     JsContext* jsContext = Unwrap(info.This());
     SkISize size = jsContext->fCanvas->getDeviceSize();
 
-    info.GetReturnValue().Set(Int32::New(size.fHeight));
+    info.GetReturnValue().Set(
+            Int32::New(jsContext->fGlobal->getIsolate(), size.fHeight));
 }
 
 
@@ -226,7 +228,7 @@
     result->Set(String::NewFromUtf8( \
             fGlobal->getIsolate(), name, \
             String::kInternalizedString), \
-                FunctionTemplate::New(fn))
+                FunctionTemplate::New(fGlobal->getIsolate(), fn))
 
 Handle<ObjectTemplate> JsContext::makeContextTemplate() {
     EscapableHandleScope handleScope(fGlobal->getIsolate());
diff --git a/experimental/SkV8Example/Path.cpp b/experimental/SkV8Example/Path.cpp
index bce9667..2b53a0f 100644
--- a/experimental/SkV8Example/Path.cpp
+++ b/experimental/SkV8Example/Path.cpp
@@ -15,7 +15,8 @@
 void Path::ConstructPath(const v8::FunctionCallbackInfo<Value>& args) {
     HandleScope handleScope(gGlobal->getIsolate());
     Path* path = new Path();
-    args.This()->SetInternalField(0, External::New(path));
+    args.This()->SetInternalField(
+            0, External::New(gGlobal->getIsolate(), path));
 }
 
 #define ADD_METHOD(name, fn) \
@@ -23,7 +24,7 @@
             String::NewFromUtf8( \
                     global->getIsolate(), name, \
                     String::kInternalizedString), \
-            FunctionTemplate::New(fn))
+            FunctionTemplate::New(global->getIsolate(), fn))
 
 // Install the constructor in the global scope so Paths can be constructed
 // in JS.
@@ -39,7 +40,7 @@
     Context::Scope contextScope(context);
 
     Local<FunctionTemplate> constructor = FunctionTemplate::New(
-            Path::ConstructPath);
+            gGlobal->getIsolate(), Path::ConstructPath);
     constructor->InstanceTemplate()->SetInternalFieldCount(1);
 
     ADD_METHOD("close", ClosePath);
@@ -50,7 +51,8 @@
     ADD_METHOD("arc", Arc);
     ADD_METHOD("rect", Rect);
 
-    context->Global()->Set(String::New("Path"), constructor->GetFunction());
+    context->Global()->Set(String::NewFromUtf8(
+            gGlobal->getIsolate(), "Path"), constructor->GetFunction());
 }
 
 Path* Path::Unwrap(const v8::FunctionCallbackInfo<Value>& args) {
diff --git a/experimental/SkV8Example/README b/experimental/SkV8Example/README
new file mode 100644
index 0000000..f69509d
--- /dev/null
+++ b/experimental/SkV8Example/README
@@ -0,0 +1,16 @@
+Build Instructions
+==================
+
+V8 gyp is not quite standard and Chromium uses a Python script
+to work around that, for now we have some manual steps to do
+before you can compile and run this sample:
+
+1. Uncomment out the v8 dep in DEPS and re-run gclient sync.
+2. Run 'make dependencies' in third_pary/externals/v8.
+3. Run 'make native' in third_pary/externals/v8.
+4. Uncomment SkV8Example in gyp/everything.gyp.
+5. Run 'make -C out/ SkV8Example BUILDTYPE=Debugmake'
+6. Run the sample as:
+     ./out/Debug/SkV8Example --infile experimental/SkV8Example/speed.js
+
+