Index: third_party/WebKit/Source/platform/v8_inspector/V8DebuggerImpl.cpp |
diff --git a/third_party/WebKit/Source/platform/v8_inspector/V8DebuggerImpl.cpp b/third_party/WebKit/Source/platform/v8_inspector/V8DebuggerImpl.cpp |
index 53f471674c78bdea0d03b675e2ceaa13dbb4aabe..ea3e18e8518d633c010ab95eb55196859dbe0fe4 100644 |
--- a/third_party/WebKit/Source/platform/v8_inspector/V8DebuggerImpl.cpp |
+++ b/third_party/WebKit/Source/platform/v8_inspector/V8DebuggerImpl.cpp |
@@ -35,8 +35,10 @@ |
#include "platform/v8_inspector/DebuggerScript.h" |
#include "platform/v8_inspector/InspectedContext.h" |
#include "platform/v8_inspector/ScriptBreakpoint.h" |
+#include "platform/v8_inspector/V8Console.h" |
#include "platform/v8_inspector/V8DebuggerAgentImpl.h" |
#include "platform/v8_inspector/V8InspectorSessionImpl.h" |
+#include "platform/v8_inspector/V8ProfilerAgentImpl.h" |
#include "platform/v8_inspector/V8RuntimeAgentImpl.h" |
#include "platform/v8_inspector/V8StackTraceImpl.h" |
#include "platform/v8_inspector/V8StringUtil.h" |
@@ -151,6 +153,17 @@ void V8DebuggerImpl::debuggerAgentDisabled() |
disable(); |
} |
+V8ProfilerAgentImpl* V8DebuggerImpl::findEnabledProfilerAgent(v8::Local<v8::Context> context) |
+{ |
+ int contextGroupId = getGroupId(context); |
+ if (!contextGroupId) |
+ return nullptr; |
+ V8InspectorSessionImpl* session = m_sessions.get(contextGroupId); |
+ if (session && session->profileAgentImpl()->enabled()) |
+ return session->profileAgentImpl(); |
+ return nullptr; |
+} |
+ |
V8DebuggerAgentImpl* V8DebuggerImpl::findEnabledDebuggerAgent(int contextGroupId) |
{ |
if (!contextGroupId) |
@@ -766,6 +779,8 @@ void V8DebuggerImpl::contextCreated(const V8ContextInfo& info) |
v8::Context::Scope contextScope(info.context); |
info.context->SetEmbedderData(static_cast<int>(v8::Context::kDebugIdIndex), toV8String(m_isolate, debugData)); |
+ installConsole(info.context, info.hasMemoryOnConsole); |
dgozman
2016/04/12 03:32:16
Let's move this to InspectedContext constructor.
kozy
2016/04/12 21:58:32
Done.
|
+ |
if (!m_contexts.contains(info.contextGroupId)) |
m_contexts.set(info.contextGroupId, adoptPtr(new ContextByIdMap())); |
ASSERT(!m_contexts.get(info.contextGroupId)->contains(contextId)); |
@@ -778,6 +793,16 @@ void V8DebuggerImpl::contextCreated(const V8ContextInfo& info) |
session->runtimeAgentImpl()->reportExecutionContextCreated(inspectedContext); |
} |
+bool V8DebuggerImpl::installConsole(v8::Local<v8::Context> context, bool hasMemoryAttribute) |
+{ |
+ v8::Isolate* isolate = context->GetIsolate(); |
+ v8::Local<v8::Object> global = context->Global(); |
+ v8::Local<v8::Object> console; |
+ if (!V8Console::create(context, this, hasMemoryAttribute).ToLocal(&console)) |
+ return false; |
+ return global->Set(context, toV8StringInternalized(isolate, "console"), console).FromMaybe(false); |
+} |
+ |
void V8DebuggerImpl::contextDestroyed(v8::Local<v8::Context> context) |
{ |
int contextId = V8Debugger::contextId(context); |