Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(175)

Unified Diff: Source/bindings/core/v8/V8Debugger.cpp

Issue 1161323002: DevTools: implement JavaScriptCallFrame binding based on v8 API (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Moved V8JavaScriptCallFrame to bindings/core/v8/inspector/ Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/bindings/core/v8/V8Debugger.cpp
diff --git a/Source/bindings/core/v8/V8Debugger.cpp b/Source/bindings/core/v8/V8Debugger.cpp
index 3e3966e7c3e8619f034b5779c82dd7fd1e634639..2a36ffd974f66ed069aeafd6fa661646a68fcd81 100644
--- a/Source/bindings/core/v8/V8Debugger.cpp
+++ b/Source/bindings/core/v8/V8Debugger.cpp
@@ -32,8 +32,9 @@
#include "bindings/core/v8/V8Debugger.h"
#include "bindings/core/v8/ScriptValue.h"
-#include "bindings/core/v8/V8JavaScriptCallFrame.h"
+#include "bindings/core/v8/V8Binding.h"
#include "bindings/core/v8/V8ScriptRunner.h"
+#include "bindings/core/v8/inspector/V8JavaScriptCallFrame.h"
#include "core/inspector/JavaScriptCallFrame.h"
#include "core/inspector/ScriptDebugListener.h"
#include "platform/JSONValues.h"
@@ -103,6 +104,7 @@ void V8Debugger::enable()
v8::HandleScope scope(m_isolate);
v8::Debug::SetDebugEventListener(&V8Debugger::v8DebugEventCallback, v8::External::New(m_isolate, this));
m_debuggerContext.Reset(m_isolate, v8::Debug::GetDebugContext());
+ m_callFrameWrapperTemplate.Reset(m_isolate, V8JavaScriptCallFrame::createWrapperTemplate(m_isolate));
compileDebuggerScript();
}
@@ -112,6 +114,7 @@ void V8Debugger::disable()
clearBreakpoints();
m_debuggerScript.Reset();
m_debuggerContext.Reset();
+ m_callFrameWrapperTemplate.Reset();
v8::Debug::SetDebugEventListener(nullptr);
}
@@ -408,7 +411,7 @@ PassRefPtrWillBeRawPtr<JavaScriptCallFrame> V8Debugger::toJavaScriptCallFrameUns
return nullptr;
ScriptState::Scope scope(scriptState);
ASSERT(value.isObject());
- return V8JavaScriptCallFrame::toImpl(v8::Local<v8::Object>::Cast(value.v8ValueUnsafe()));
+ return V8JavaScriptCallFrame::unwrap(v8::Local<v8::Object>::Cast(value.v8ValueUnsafe()));
}
PassRefPtrWillBeRawPtr<JavaScriptCallFrame> V8Debugger::wrapCallFrames(int maximumLimit, ScopeInfoDetails scopeDetails)
@@ -447,9 +450,11 @@ ScriptValue V8Debugger::currentCallFramesInner(ScopeInfoDetails scopeDetails)
if (!currentCallFrame)
return ScriptValue();
+ v8::Local<v8::FunctionTemplate> wrapperTemplate = v8::Local<v8::FunctionTemplate>::New(m_isolate, m_callFrameWrapperTemplate);
ScriptState* scriptState = m_pausedScriptState ? m_pausedScriptState.get() : ScriptState::current(m_isolate);
ScriptState::Scope scope(scriptState);
- return ScriptValue(scriptState, toV8(currentCallFrame.release(), scriptState->context()->Global(), m_isolate));
+ v8::Local<v8::Object> wrapper = V8JavaScriptCallFrame::wrap(wrapperTemplate, scriptState->context(), currentCallFrame.release());
+ return ScriptValue(scriptState, wrapper);
}
ScriptValue V8Debugger::currentCallFrames()
« no previous file with comments | « Source/bindings/core/v8/V8Debugger.h ('k') | Source/bindings/core/v8/custom/V8JavaScriptCallFrameCustom.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698