Index: samples/shell.cc |
diff --git a/samples/shell.cc b/samples/shell.cc |
index 06bd8f67eb6b2eac867998b36edd151ea1a36e5a..f65185084b46982c0392be12d41441b2cbaabaa8 100644 |
--- a/samples/shell.cc |
+++ b/samples/shell.cc |
@@ -58,7 +58,7 @@ void Read(const v8::FunctionCallbackInfo<v8::Value>& args); |
void Load(const v8::FunctionCallbackInfo<v8::Value>& args); |
void Quit(const v8::FunctionCallbackInfo<v8::Value>& args); |
void Version(const v8::FunctionCallbackInfo<v8::Value>& args); |
-v8::Handle<v8::String> ReadFile(const char* name); |
+v8::Handle<v8::String> ReadFile(v8::Isolate* isolate, const char* name); |
void ReportException(v8::Isolate* isolate, v8::TryCatch* handler); |
@@ -100,15 +100,20 @@ v8::Handle<v8::Context> CreateShellContext(v8::Isolate* isolate) { |
// Create a template for the global object. |
v8::Handle<v8::ObjectTemplate> global = v8::ObjectTemplate::New(); |
// Bind the global 'print' function to the C++ Print callback. |
- global->Set(v8::String::New("print"), v8::FunctionTemplate::New(Print)); |
+ global->Set(v8::String::NewFromUtf8(isolate, "print"), |
+ v8::FunctionTemplate::New(Print)); |
// Bind the global 'read' function to the C++ Read callback. |
- global->Set(v8::String::New("read"), v8::FunctionTemplate::New(Read)); |
+ global->Set(v8::String::NewFromUtf8(isolate, "read"), |
+ v8::FunctionTemplate::New(Read)); |
// Bind the global 'load' function to the C++ Load callback. |
- global->Set(v8::String::New("load"), v8::FunctionTemplate::New(Load)); |
+ global->Set(v8::String::NewFromUtf8(isolate, "load"), |
+ v8::FunctionTemplate::New(Load)); |
// Bind the 'quit' function |
- global->Set(v8::String::New("quit"), v8::FunctionTemplate::New(Quit)); |
+ global->Set(v8::String::NewFromUtf8(isolate, "quit"), |
+ v8::FunctionTemplate::New(Quit)); |
// Bind the 'version' function |
- global->Set(v8::String::New("version"), v8::FunctionTemplate::New(Version)); |
+ global->Set(v8::String::NewFromUtf8(isolate, "version"), |
+ v8::FunctionTemplate::New(Version)); |
return v8::Context::New(isolate, NULL, global); |
} |
@@ -141,19 +146,19 @@ void Print(const v8::FunctionCallbackInfo<v8::Value>& args) { |
void Read(const v8::FunctionCallbackInfo<v8::Value>& args) { |
if (args.Length() != 1) { |
args.GetIsolate()->ThrowException( |
- v8::String::New("Bad parameters")); |
+ v8::String::NewFromUtf8(args.GetIsolate(), "Bad parameters")); |
return; |
} |
v8::String::Utf8Value file(args[0]); |
if (*file == NULL) { |
args.GetIsolate()->ThrowException( |
- v8::String::New("Error loading file")); |
+ v8::String::NewFromUtf8(args.GetIsolate(), "Error loading file")); |
return; |
} |
- v8::Handle<v8::String> source = ReadFile(*file); |
+ v8::Handle<v8::String> source = ReadFile(args.GetIsolate(), *file); |
if (source.IsEmpty()) { |
args.GetIsolate()->ThrowException( |
- v8::String::New("Error loading file")); |
+ v8::String::NewFromUtf8(args.GetIsolate(), "Error loading file")); |
return; |
} |
args.GetReturnValue().Set(source); |
@@ -169,22 +174,22 @@ void Load(const v8::FunctionCallbackInfo<v8::Value>& args) { |
v8::String::Utf8Value file(args[i]); |
if (*file == NULL) { |
args.GetIsolate()->ThrowException( |
- v8::String::New("Error loading file")); |
+ v8::String::NewFromUtf8(args.GetIsolate(), "Error loading file")); |
return; |
} |
- v8::Handle<v8::String> source = ReadFile(*file); |
+ v8::Handle<v8::String> source = ReadFile(args.GetIsolate(), *file); |
if (source.IsEmpty()) { |
args.GetIsolate()->ThrowException( |
- v8::String::New("Error loading file")); |
+ v8::String::NewFromUtf8(args.GetIsolate(), "Error loading file")); |
return; |
} |
if (!ExecuteString(args.GetIsolate(), |
source, |
- v8::String::New(*file), |
+ v8::String::NewFromUtf8(args.GetIsolate(), *file), |
false, |
false)) { |
args.GetIsolate()->ThrowException( |
- v8::String::New("Error executing file")); |
+ v8::String::NewFromUtf8(args.GetIsolate(), "Error executing file")); |
return; |
} |
} |
@@ -204,12 +209,13 @@ void Quit(const v8::FunctionCallbackInfo<v8::Value>& args) { |
void Version(const v8::FunctionCallbackInfo<v8::Value>& args) { |
- args.GetReturnValue().Set(v8::String::New(v8::V8::GetVersion())); |
+ args.GetReturnValue().Set( |
+ v8::String::NewFromUtf8(args.GetIsolate(), v8::V8::GetVersion())); |
} |
// Reads a file into a v8 string. |
-v8::Handle<v8::String> ReadFile(const char* name) { |
+v8::Handle<v8::String> ReadFile(v8::Isolate* isolate, const char* name) { |
FILE* file = fopen(name, "rb"); |
if (file == NULL) return v8::Handle<v8::String>(); |
@@ -224,7 +230,8 @@ v8::Handle<v8::String> ReadFile(const char* name) { |
i += read; |
} |
fclose(file); |
- v8::Handle<v8::String> result = v8::String::New(chars, size); |
+ v8::Handle<v8::String> result = |
+ v8::String::NewFromUtf8(isolate, chars, v8::String::kNormalString, size); |
delete[] chars; |
return result; |
} |
@@ -245,13 +252,15 @@ int RunMain(v8::Isolate* isolate, int argc, char* argv[]) { |
"Warning: unknown flag %s.\nTry --help for options\n", str); |
} else if (strcmp(str, "-e") == 0 && i + 1 < argc) { |
// Execute argument given to -e option directly. |
- v8::Handle<v8::String> file_name = v8::String::New("unnamed"); |
- v8::Handle<v8::String> source = v8::String::New(argv[++i]); |
+ v8::Handle<v8::String> file_name = |
+ v8::String::NewFromUtf8(isolate, "unnamed"); |
+ v8::Handle<v8::String> source = |
+ v8::String::NewFromUtf8(isolate, argv[++i]); |
if (!ExecuteString(isolate, source, file_name, false, true)) return 1; |
} else { |
// Use all other arguments as names of files to load and run. |
- v8::Handle<v8::String> file_name = v8::String::New(str); |
- v8::Handle<v8::String> source = ReadFile(str); |
+ v8::Handle<v8::String> file_name = v8::String::NewFromUtf8(isolate, str); |
+ v8::Handle<v8::String> source = ReadFile(isolate, str); |
if (source.IsEmpty()) { |
fprintf(stderr, "Error reading '%s'\n", str); |
continue; |
@@ -269,7 +278,8 @@ void RunShell(v8::Handle<v8::Context> context) { |
static const int kBufferSize = 256; |
// Enter the execution environment before evaluating any code. |
v8::Context::Scope context_scope(context); |
- v8::Local<v8::String> name(v8::String::New("(shell)")); |
+ v8::Local<v8::String> name( |
+ v8::String::NewFromUtf8(context->GetIsolate(), "(shell)")); |
while (true) { |
char buffer[kBufferSize]; |
fprintf(stderr, "> "); |
@@ -277,7 +287,7 @@ void RunShell(v8::Handle<v8::Context> context) { |
if (str == NULL) break; |
v8::HandleScope handle_scope(context->GetIsolate()); |
ExecuteString(context->GetIsolate(), |
- v8::String::New(str), |
+ v8::String::NewFromUtf8(context->GetIsolate(), str), |
name, |
true, |
true); |