Index: Source/bindings/core/v8/PageScriptDebugServer.cpp |
diff --git a/Source/bindings/core/v8/PageScriptDebugServer.cpp b/Source/bindings/core/v8/PageScriptDebugServer.cpp |
index 8a0ac68a1cd15f5cff89e854705fa8b2dd1f6098..0e517a9a4b8570313cc9b6177987300787f150b1 100644 |
--- a/Source/bindings/core/v8/PageScriptDebugServer.cpp |
+++ b/Source/bindings/core/v8/PageScriptDebugServer.cpp |
@@ -59,10 +59,12 @@ static LocalFrame* retrieveFrameWithGlobalObjectCheck(v8::Local<v8::Context> con |
return toLocalFrame(toFrameIfNotDetached(context)); |
} |
+// TODO(Oilpan): avoid keeping a raw reference separate from the |
+// owner one; does not enable heap-movable objects. |
PageScriptDebugServer* PageScriptDebugServer::s_instance = nullptr; |
haraken
2015/05/09 14:37:28
This looks nasty, not only in oilpan but also in n
|
PageScriptDebugServer::PageScriptDebugServer(PassOwnPtr<ClientMessageLoop> clientMessageLoop, v8::Isolate* isolate) |
- : PerIsolateDebuggerClient(isolate, adoptPtr(new ScriptDebugServer(isolate, this))) |
+ : PerIsolateDebuggerClient(isolate, ScriptDebugServer::create(isolate, this)) |
, m_clientMessageLoop(clientMessageLoop) |
, m_pausedFrame(nullptr) |
{ |
@@ -84,6 +86,15 @@ Mutex& PageScriptDebugServer::creationMutex() |
return mutex; |
} |
+DEFINE_TRACE(PageScriptDebugServer) |
+{ |
+#if ENABLE(OILPAN) |
+ visitor->trace(m_pausedFrame); |
+ visitor->trace(m_listenersMap); |
+#endif |
+ PerIsolateDebuggerClient::trace(visitor); |
+} |
+ |
void PageScriptDebugServer::setContextDebugData(v8::Local<v8::Context> context, const String& type, int contextDebugId) |
{ |
String debugData = "[" + type + "," + String::number(contextDebugId) + "]"; |