Index: Source/core/inspector/JavaScriptCallFrame.cpp |
diff --git a/Source/core/inspector/JavaScriptCallFrame.cpp b/Source/core/inspector/JavaScriptCallFrame.cpp |
index 813d0b800737a9e99b00366eb17910ecb1a255ea..e47eb7ccfb97b705c859aa9be0867f35f89d2df9 100644 |
--- a/Source/core/inspector/JavaScriptCallFrame.cpp |
+++ b/Source/core/inspector/JavaScriptCallFrame.cpp |
@@ -74,6 +74,17 @@ int JavaScriptCallFrame::callV8FunctionReturnInt(const char* name) const |
return 0; |
} |
+double JavaScriptCallFrame::callV8FunctionReturnDouble(const char* name) const |
+{ |
+ v8::HandleScope handleScope(m_isolate); |
+ v8::Handle<v8::Object> callFrame = m_callFrame.newLocal(m_isolate); |
+ v8::Handle<v8::Function> func = v8::Handle<v8::Function>::Cast(callFrame->Get(v8AtomicString(m_isolate, name))); |
+ v8::Handle<v8::Value> result = func->Call(callFrame, 0, 0); |
+ if (result->IsNumber()) |
+ return result->NumberValue(); |
+ return 0; |
+} |
+ |
String JavaScriptCallFrame::callV8FunctionReturnString(const char* name) const |
{ |
v8::HandleScope handleScope(m_isolate); |
@@ -98,6 +109,11 @@ int JavaScriptCallFrame::column() const |
return callV8FunctionReturnInt("column"); |
} |
+double JavaScriptCallFrame::framePointer() const |
+{ |
+ return callV8FunctionReturnDouble("framePointer"); |
+} |
+ |
String JavaScriptCallFrame::functionName() const |
{ |
return callV8FunctionReturnString("functionName"); |