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

Unified Diff: third_party/WebKit/Source/platform/v8_inspector/V8InspectorSessionImpl.cpp

Issue 2251343003: [DevTools] Generate separate copies of inspector_protocol. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: win compile Created 4 years, 4 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: third_party/WebKit/Source/platform/v8_inspector/V8InspectorSessionImpl.cpp
diff --git a/third_party/WebKit/Source/platform/v8_inspector/V8InspectorSessionImpl.cpp b/third_party/WebKit/Source/platform/v8_inspector/V8InspectorSessionImpl.cpp
index 3aacf5ad95ba836c79ff2b3c7c82e4fcf56c1ac6..f2e7156cd9519993b16d5996603510b6c53b1c78 100644
--- a/third_party/WebKit/Source/platform/v8_inspector/V8InspectorSessionImpl.cpp
+++ b/third_party/WebKit/Source/platform/v8_inspector/V8InspectorSessionImpl.cpp
@@ -7,6 +7,8 @@
#include "platform/v8_inspector/InjectedScript.h"
#include "platform/v8_inspector/InspectedContext.h"
#include "platform/v8_inspector/RemoteObjectId.h"
+#include "platform/v8_inspector/SearchUtil.h"
+#include "platform/v8_inspector/StringUtil.h"
#include "platform/v8_inspector/V8ConsoleAgentImpl.h"
#include "platform/v8_inspector/V8Debugger.h"
#include "platform/v8_inspector/V8DebuggerAgentImpl.h"
@@ -15,7 +17,7 @@
#include "platform/v8_inspector/V8ProfilerAgentImpl.h"
#include "platform/v8_inspector/V8RuntimeAgentImpl.h"
#include "platform/v8_inspector/V8SchemaAgentImpl.h"
-#include "platform/v8_inspector/V8StringUtil.h"
+#include "platform/v8_inspector/protocol/Protocol.h"
#include "platform/v8_inspector/public/V8ContextInfo.h"
#include "platform/v8_inspector/public/V8InspectorClient.h"
@@ -32,16 +34,17 @@ bool V8InspectorSession::canDispatchMethod(const StringView& method)
|| stringViewStartsWith(method, protocol::Schema::Metainfo::commandPrefix);
}
-std::unique_ptr<V8InspectorSessionImpl> V8InspectorSessionImpl::create(V8InspectorImpl* inspector, int contextGroupId, protocol::FrontendChannel* channel, const StringView& state)
+std::unique_ptr<V8InspectorSessionImpl> V8InspectorSessionImpl::create(V8InspectorImpl* inspector, int contextGroupId, V8Inspector::Channel* channel, const StringView& state)
{
return wrapUnique(new V8InspectorSessionImpl(inspector, contextGroupId, channel, state));
}
-V8InspectorSessionImpl::V8InspectorSessionImpl(V8InspectorImpl* inspector, int contextGroupId, protocol::FrontendChannel* channel, const StringView& savedState)
+V8InspectorSessionImpl::V8InspectorSessionImpl(V8InspectorImpl* inspector, int contextGroupId, V8Inspector::Channel* channel, const StringView& savedState)
: m_contextGroupId(contextGroupId)
, m_inspector(inspector)
+ , m_channel(channel)
, m_customObjectFormatterEnabled(false)
- , m_dispatcher(channel)
+ , m_dispatcher(this)
, m_state(nullptr)
, m_runtimeAgent(nullptr)
, m_debuggerAgent(nullptr)
@@ -60,22 +63,22 @@ V8InspectorSessionImpl::V8InspectorSessionImpl(V8InspectorImpl* inspector, int c
m_state = protocol::DictionaryValue::create();
}
- m_runtimeAgent = wrapUnique(new V8RuntimeAgentImpl(this, channel, agentState(protocol::Runtime::Metainfo::domainName)));
+ m_runtimeAgent = wrapUnique(new V8RuntimeAgentImpl(this, this, agentState(protocol::Runtime::Metainfo::domainName)));
protocol::Runtime::Dispatcher::wire(&m_dispatcher, m_runtimeAgent.get());
- m_debuggerAgent = wrapUnique(new V8DebuggerAgentImpl(this, channel, agentState(protocol::Debugger::Metainfo::domainName)));
+ m_debuggerAgent = wrapUnique(new V8DebuggerAgentImpl(this, this, agentState(protocol::Debugger::Metainfo::domainName)));
protocol::Debugger::Dispatcher::wire(&m_dispatcher, m_debuggerAgent.get());
- m_profilerAgent = wrapUnique(new V8ProfilerAgentImpl(this, channel, agentState(protocol::Profiler::Metainfo::domainName)));
+ m_profilerAgent = wrapUnique(new V8ProfilerAgentImpl(this, this, agentState(protocol::Profiler::Metainfo::domainName)));
protocol::Profiler::Dispatcher::wire(&m_dispatcher, m_profilerAgent.get());
- m_heapProfilerAgent = wrapUnique(new V8HeapProfilerAgentImpl(this, channel, agentState(protocol::HeapProfiler::Metainfo::domainName)));
+ m_heapProfilerAgent = wrapUnique(new V8HeapProfilerAgentImpl(this, this, agentState(protocol::HeapProfiler::Metainfo::domainName)));
protocol::HeapProfiler::Dispatcher::wire(&m_dispatcher, m_heapProfilerAgent.get());
- m_consoleAgent = wrapUnique(new V8ConsoleAgentImpl(this, channel, agentState(protocol::Console::Metainfo::domainName)));
+ m_consoleAgent = wrapUnique(new V8ConsoleAgentImpl(this, this, agentState(protocol::Console::Metainfo::domainName)));
protocol::Console::Dispatcher::wire(&m_dispatcher, m_consoleAgent.get());
- m_schemaAgent = wrapUnique(new V8SchemaAgentImpl(this, channel, agentState(protocol::Schema::Metainfo::domainName)));
+ m_schemaAgent = wrapUnique(new V8SchemaAgentImpl(this, this, agentState(protocol::Schema::Metainfo::domainName)));
protocol::Schema::Dispatcher::wire(&m_dispatcher, m_schemaAgent.get());
if (savedState.length()) {
@@ -111,6 +114,21 @@ protocol::DictionaryValue* V8InspectorSessionImpl::agentState(const String16& na
return state;
}
+void V8InspectorSessionImpl::sendProtocolResponse(int callId, const String16& message)
+{
+ m_channel->sendProtocolResponse(callId, toStringView(message));
+}
+
+void V8InspectorSessionImpl::sendProtocolNotification(const String16& message)
+{
+ m_channel->sendProtocolNotification(toStringView(message));
+}
+
+void V8InspectorSessionImpl::flushProtocolNotifications()
+{
+ m_channel->flushProtocolNotifications();
+}
+
void V8InspectorSessionImpl::reset()
{
m_debuggerAgent->reset();
@@ -203,9 +221,21 @@ void V8InspectorSessionImpl::releaseObjectGroup(const String16& objectGroup)
}
}
-bool V8InspectorSessionImpl::unwrapObject(ErrorString* errorString, const StringView& objectId, v8::Local<v8::Value>* object, v8::Local<v8::Context>* context, std::unique_ptr<StringBuffer>* objectGroup)
+bool V8InspectorSessionImpl::unwrapObject(std::unique_ptr<StringBuffer>* error, const StringView& objectId, v8::Local<v8::Value>* object, v8::Local<v8::Context>* context, std::unique_ptr<StringBuffer>* objectGroup)
{
- std::unique_ptr<RemoteObjectId> remoteId = RemoteObjectId::parse(errorString, toString16(objectId));
+ ErrorString errorString;
+ String16 objectGroupString;
+ bool result = unwrapObject(&errorString, toString16(objectId), object, context, objectGroup ? &objectGroupString : nullptr);
+ if (error)
+ *error = StringBufferImpl::adopt(errorString);
+ if (objectGroup)
+ *objectGroup = StringBufferImpl::adopt(objectGroupString);
+ return result;
+}
+
+bool V8InspectorSessionImpl::unwrapObject(ErrorString* errorString, const String16& objectId, v8::Local<v8::Value>* object, v8::Local<v8::Context>* context, String16* objectGroup)
+{
+ std::unique_ptr<RemoteObjectId> remoteId = RemoteObjectId::parse(errorString, objectId);
if (!remoteId)
return false;
InjectedScript* injectedScript = findInjectedScript(errorString, remoteId.get());
@@ -214,10 +244,8 @@ bool V8InspectorSessionImpl::unwrapObject(ErrorString* errorString, const String
if (!injectedScript->findObject(errorString, *remoteId, object))
return false;
*context = injectedScript->context()->context();
- if (objectGroup) {
- String16 group = injectedScript->objectGroupName(*remoteId);
- *objectGroup = StringBufferImpl::adopt(group);
- }
+ if (objectGroup)
+ *objectGroup = injectedScript->objectGroupName(*remoteId);
return true;
}
@@ -268,7 +296,7 @@ void V8InspectorSessionImpl::reportAllContexts(V8RuntimeAgentImpl* agent)
void V8InspectorSessionImpl::dispatchProtocolMessage(const StringView& message)
{
- m_dispatcher.dispatch(parseJSON(message));
+ m_dispatcher.dispatch(protocol::parseJSON(message));
}
std::unique_ptr<StringBuffer> V8InspectorSessionImpl::stateJSON()
@@ -277,12 +305,12 @@ std::unique_ptr<StringBuffer> V8InspectorSessionImpl::stateJSON()
return StringBufferImpl::adopt(json);
}
-std::unique_ptr<protocol::Array<protocol::Schema::API::Domain>> V8InspectorSessionImpl::supportedDomains()
+std::vector<std::unique_ptr<protocol::Schema::API::Domain>> V8InspectorSessionImpl::supportedDomains()
{
std::vector<std::unique_ptr<protocol::Schema::Domain>> domains = supportedDomainsImpl();
- std::unique_ptr<protocol::Array<protocol::Schema::API::Domain>> result = protocol::Array<protocol::Schema::API::Domain>::create();
+ std::vector<std::unique_ptr<protocol::Schema::API::Domain>> result;
for (size_t i = 0; i < domains.size(); ++i)
- result->addItem(std::move(domains[i]));
+ result.push_back(std::move(domains[i]));
return result;
}
@@ -313,7 +341,7 @@ V8InspectorSession::Inspectable* V8InspectorSessionImpl::inspectedObject(unsigne
void V8InspectorSessionImpl::schedulePauseOnNextStatement(const StringView& breakReason, const StringView& breakDetails)
{
- m_debuggerAgent->schedulePauseOnNextStatement(toString16(breakReason), protocol::DictionaryValue::cast(parseJSON(breakDetails)));
+ m_debuggerAgent->schedulePauseOnNextStatement(toString16(breakReason), protocol::DictionaryValue::cast(protocol::parseJSON(breakDetails)));
}
void V8InspectorSessionImpl::cancelPauseOnNextStatement()
@@ -323,7 +351,7 @@ void V8InspectorSessionImpl::cancelPauseOnNextStatement()
void V8InspectorSessionImpl::breakProgram(const StringView& breakReason, const StringView& breakDetails)
{
- m_debuggerAgent->breakProgram(toString16(breakReason), protocol::DictionaryValue::cast(parseJSON(breakDetails)));
+ m_debuggerAgent->breakProgram(toString16(breakReason), protocol::DictionaryValue::cast(protocol::parseJSON(breakDetails)));
}
void V8InspectorSessionImpl::setSkipAllPauses(bool skip)
@@ -344,13 +372,13 @@ void V8InspectorSessionImpl::stepOver()
m_debuggerAgent->stepOver(&errorString);
}
-std::unique_ptr<protocol::Array<protocol::Debugger::API::SearchMatch>> V8InspectorSessionImpl::searchInTextByLines(const StringView& text, const StringView& query, bool caseSensitive, bool isRegex)
+std::vector<std::unique_ptr<protocol::Debugger::API::SearchMatch>> V8InspectorSessionImpl::searchInTextByLines(const StringView& text, const StringView& query, bool caseSensitive, bool isRegex)
{
// TODO(dgozman): search may operate on StringView and avoid copying |text|.
std::vector<std::unique_ptr<protocol::Debugger::SearchMatch>> matches = searchInTextByLinesImpl(this, toString16(text), toString16(query), caseSensitive, isRegex);
- std::unique_ptr<protocol::Array<protocol::Debugger::API::SearchMatch>> result = protocol::Array<protocol::Debugger::API::SearchMatch>::create();
+ std::vector<std::unique_ptr<protocol::Debugger::API::SearchMatch>> result;
for (size_t i = 0; i < matches.size(); ++i)
- result->addItem(std::move(matches[i]));
+ result.push_back(std::move(matches[i]));
return result;
}

Powered by Google App Engine
This is Rietveld 408576698