2010-05-31 Yury Semikhatsky <yurys@chromium.org>
[WebKit-https.git] / WebKit / chromium / src / DebuggerAgentManager.cpp
index e14cf64a0bc6f24617503f650777654565d9c042..a30675d31f8b3b93a50ba91010a82a266ed06321 100644 (file)
@@ -54,6 +54,8 @@ bool DebuggerAgentManager::s_inUtilityContext = false;
 
 bool DebuggerAgentManager::s_debugBreakDelayed = false;
 
+bool DebuggerAgentManager::s_exposeV8DebuggerProtocol = false;
+
 namespace {
 
 class CallerIdWrapper : public v8::Debug::ClientData, public Noncopyable {
@@ -118,7 +120,8 @@ DebuggerAgentManager::AttachedAgentsMap* DebuggerAgentManager::s_attachedAgentsM
 void DebuggerAgentManager::debugAttach(DebuggerAgentImpl* debuggerAgent)
 {
 #if ENABLE(V8_SCRIPT_DEBUG_SERVER)
-    return;
+    if (!s_exposeV8DebuggerProtocol)
+        return;
 #endif
     if (!s_attachedAgentsMap) {
         s_attachedAgentsMap = new AttachedAgentsMap();
@@ -133,7 +136,8 @@ void DebuggerAgentManager::debugAttach(DebuggerAgentImpl* debuggerAgent)
 void DebuggerAgentManager::debugDetach(DebuggerAgentImpl* debuggerAgent)
 {
 #if ENABLE(V8_SCRIPT_DEBUG_SERVER)
-    return;
+    if (!s_exposeV8DebuggerProtocol)
+        return;
 #endif
     if (!s_attachedAgentsMap) {
         ASSERT_NOT_REACHED();
@@ -258,6 +262,12 @@ void DebuggerAgentManager::setMessageLoopDispatchHandler(WebDevToolsAgent::Messa
     s_messageLoopDispatchHandler = handler;
 }
 
+void DebuggerAgentManager::setExposeV8DebuggerProtocol(bool value)
+{
+    s_exposeV8DebuggerProtocol = value;
+}
+
+
 void DebuggerAgentManager::setHostId(WebFrameImpl* webframe, int hostId)
 {
     ASSERT(hostId > 0);