OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2010, Google Inc. All rights reserved. | 2 * Copyright (c) 2010, Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
142 } | 142 } |
143 | 143 |
144 v8::Local<v8::String> JavaScriptCallFrame::scopeName(int scopeIndex) const | 144 v8::Local<v8::String> JavaScriptCallFrame::scopeName(int scopeIndex) const |
145 { | 145 { |
146 v8::Local<v8::Object> callFrame = v8::Local<v8::Object>::New(m_isolate, m_ca
llFrame); | 146 v8::Local<v8::Object> callFrame = v8::Local<v8::Object>::New(m_isolate, m_ca
llFrame); |
147 v8::Local<v8::Function> func = v8::Local<v8::Function>::Cast(callFrame->Get(
toV8StringInternalized(m_isolate, "scopeName"))); | 147 v8::Local<v8::Function> func = v8::Local<v8::Function>::Cast(callFrame->Get(
toV8StringInternalized(m_isolate, "scopeName"))); |
148 v8::Local<v8::Array> scopeType = v8::Local<v8::Array>::Cast(m_client->callIn
ternalFunction(func, callFrame, 0, nullptr).ToLocalChecked()); | 148 v8::Local<v8::Array> scopeType = v8::Local<v8::Array>::Cast(m_client->callIn
ternalFunction(func, callFrame, 0, nullptr).ToLocalChecked()); |
149 return scopeType->Get(scopeIndex)->ToString(); | 149 return scopeType->Get(scopeIndex)->ToString(); |
150 } | 150 } |
151 | 151 |
| 152 v8::Local<v8::Value> JavaScriptCallFrame::scopeStartLocation(int scopeIndex) con
st |
| 153 { |
| 154 return callScopeLocationFunction("scopeStartLocation", scopeIndex); |
| 155 } |
| 156 |
| 157 v8::Local<v8::Value> JavaScriptCallFrame::scopeEndLocation(int scopeIndex) const |
| 158 { |
| 159 return callScopeLocationFunction("scopeEndLocation", scopeIndex); |
| 160 } |
| 161 |
| 162 v8::Local<v8::Value> JavaScriptCallFrame::callScopeLocationFunction(const char*
name, int scopeIndex) const |
| 163 { |
| 164 v8::Local<v8::Object> callFrame = v8::Local<v8::Object>::New(m_isolate, m_ca
llFrame); |
| 165 v8::Local<v8::Function> func = v8::Local<v8::Function>::Cast(callFrame->Get(
toV8StringInternalized(m_isolate, name))); |
| 166 v8::Local<v8::Array> locations = v8::Local<v8::Array>::Cast(m_client->callIn
ternalFunction(func, callFrame, 0, nullptr).ToLocalChecked()); |
| 167 return locations->Get(scopeIndex); |
| 168 } |
| 169 |
152 v8::Local<v8::Value> JavaScriptCallFrame::thisObject() const | 170 v8::Local<v8::Value> JavaScriptCallFrame::thisObject() const |
153 { | 171 { |
154 return v8::Local<v8::Object>::New(m_isolate, m_callFrame)->Get(toV8StringInt
ernalized(m_isolate, "thisObject")); | 172 return v8::Local<v8::Object>::New(m_isolate, m_callFrame)->Get(toV8StringInt
ernalized(m_isolate, "thisObject")); |
155 } | 173 } |
156 | 174 |
157 String JavaScriptCallFrame::stepInPositions() const | 175 String JavaScriptCallFrame::stepInPositions() const |
158 { | 176 { |
159 return callV8FunctionReturnString("stepInPositions"); | 177 return callV8FunctionReturnString("stepInPositions"); |
160 } | 178 } |
161 | 179 |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
226 exceptionDetails->Set(v8::String::NewFromUtf8(isolate, "line"), v8::Integer:
:New(isolate, message->GetLineNumber())); | 244 exceptionDetails->Set(v8::String::NewFromUtf8(isolate, "line"), v8::Integer:
:New(isolate, message->GetLineNumber())); |
227 exceptionDetails->Set(v8::String::NewFromUtf8(isolate, "column"), v8::Intege
r::New(isolate, message->GetStartColumn())); | 245 exceptionDetails->Set(v8::String::NewFromUtf8(isolate, "column"), v8::Intege
r::New(isolate, message->GetStartColumn())); |
228 if (!message->GetStackTrace().IsEmpty()) | 246 if (!message->GetStackTrace().IsEmpty()) |
229 exceptionDetails->Set(v8::String::NewFromUtf8(isolate, "stackTrace"), me
ssage->GetStackTrace()->AsArray()); | 247 exceptionDetails->Set(v8::String::NewFromUtf8(isolate, "stackTrace"), me
ssage->GetStackTrace()->AsArray()); |
230 else | 248 else |
231 exceptionDetails->Set(v8::String::NewFromUtf8(isolate, "stackTrace"), v8
::Undefined(isolate)); | 249 exceptionDetails->Set(v8::String::NewFromUtf8(isolate, "stackTrace"), v8
::Undefined(isolate)); |
232 return exceptionDetails; | 250 return exceptionDetails; |
233 } | 251 } |
234 | 252 |
235 } // namespace blink | 253 } // namespace blink |
OLD | NEW |