Chromium Code Reviews| Index: src/api.cc |
| diff --git a/src/api.cc b/src/api.cc |
| index 0f04cd1c28204e2782402aca1f4dee01e40b1e75..f9fadbe31a3ef175352e80bf525d0e93780de0ec 100644 |
| --- a/src/api.cc |
| +++ b/src/api.cc |
| @@ -1944,19 +1944,27 @@ Local<String> Message::Get() const { |
| } |
| -v8::Handle<Value> Message::GetScriptResourceName() const { |
| +ScriptOrigin Message::GetScriptOrigin() const { |
| i::Isolate* isolate = Utils::OpenHandle(this)->GetIsolate(); |
| - ENTER_V8(isolate); |
| - EscapableHandleScope scope(reinterpret_cast<Isolate*>(isolate)); |
| i::Handle<i::JSMessageObject> message = |
| i::Handle<i::JSMessageObject>::cast(Utils::OpenHandle(this)); |
| - // Return this.script.name. |
| - i::Handle<i::JSValue> script = |
| + i::Handle<i::JSValue> scriptValue = |
| i::Handle<i::JSValue>::cast(i::Handle<i::Object>(message->script(), |
| - isolate)); |
| - i::Handle<i::Object> resource_name(i::Script::cast(script->value())->name(), |
| - isolate); |
| - return scope.Escape(Utils::ToLocal(resource_name)); |
| + isolate)); |
|
yurys
2014/06/16 12:40:53
style: wrong indentation.
|
| + i::Handle<i::Script> script(i::Script::cast(scriptValue->value())); |
|
yurys
2014/06/16 12:40:53
Why not i::Script::cast(message->script()) without
|
| + i::Handle<i::Object> scriptName(i::Script::GetNameOrSourceURL(script)); |
| + v8::Isolate* v8_isolate = |
| + reinterpret_cast<v8::Isolate*>(script->GetIsolate()); |
| + v8::ScriptOrigin origin( |
| + Utils::ToLocal(scriptName), |
| + v8::Integer::New(v8_isolate, script->line_offset()->value()), |
| + v8::Integer::New(v8_isolate, script->column_offset()->value())); |
| + return origin; |
| +} |
| + |
| + |
| +v8::Handle<Value> Message::GetScriptResourceName() const { |
| + return GetScriptOrigin().ResourceName(); |
| } |