| 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 26b5607e93724ed1b27914bb54499b7b59cb43dd..27518e5cd2d06351775372eef3afd612d76067a4 100644
|
| --- a/third_party/WebKit/Source/platform/v8_inspector/V8InspectorSessionImpl.cpp
|
| +++ b/third_party/WebKit/Source/platform/v8_inspector/V8InspectorSessionImpl.cpp
|
| @@ -21,21 +21,21 @@
|
| namespace v8_inspector {
|
|
|
| // static
|
| -bool V8InspectorSession::canDispatchMethod(const String16& method)
|
| +bool V8InspectorSession::canDispatchMethod(const StringView& method)
|
| {
|
| - return method.startsWith(protocol::Runtime::Metainfo::commandPrefix)
|
| - || method.startsWith(protocol::Debugger::Metainfo::commandPrefix)
|
| - || method.startsWith(protocol::Profiler::Metainfo::commandPrefix)
|
| - || method.startsWith(protocol::HeapProfiler::Metainfo::commandPrefix)
|
| - || method.startsWith(protocol::Console::Metainfo::commandPrefix);
|
| + return stringViewStartsWith(method, protocol::Runtime::Metainfo::commandPrefix)
|
| + || stringViewStartsWith(method, protocol::Debugger::Metainfo::commandPrefix)
|
| + || stringViewStartsWith(method, protocol::Profiler::Metainfo::commandPrefix)
|
| + || stringViewStartsWith(method, protocol::HeapProfiler::Metainfo::commandPrefix)
|
| + || stringViewStartsWith(method, protocol::Console::Metainfo::commandPrefix);
|
| }
|
|
|
| -std::unique_ptr<V8InspectorSessionImpl> V8InspectorSessionImpl::create(V8InspectorImpl* inspector, int contextGroupId, protocol::FrontendChannel* channel, const String16* state)
|
| +std::unique_ptr<V8InspectorSessionImpl> V8InspectorSessionImpl::create(V8InspectorImpl* inspector, int contextGroupId, protocol::FrontendChannel* channel, const StringView& state)
|
| {
|
| return wrapUnique(new V8InspectorSessionImpl(inspector, contextGroupId, channel, state));
|
| }
|
|
|
| -V8InspectorSessionImpl::V8InspectorSessionImpl(V8InspectorImpl* inspector, int contextGroupId, protocol::FrontendChannel* channel, const String16* savedState)
|
| +V8InspectorSessionImpl::V8InspectorSessionImpl(V8InspectorImpl* inspector, int contextGroupId, protocol::FrontendChannel* channel, const StringView& savedState)
|
| : m_contextGroupId(contextGroupId)
|
| , m_inspector(inspector)
|
| , m_customObjectFormatterEnabled(false)
|
| @@ -47,8 +47,8 @@ V8InspectorSessionImpl::V8InspectorSessionImpl(V8InspectorImpl* inspector, int c
|
| , m_profilerAgent(nullptr)
|
| , m_consoleAgent(nullptr)
|
| {
|
| - if (savedState) {
|
| - std::unique_ptr<protocol::Value> state = protocol::parseJSON(*savedState);
|
| + if (savedState.length()) {
|
| + std::unique_ptr<protocol::Value> state = protocol::parseJSON(toString16(savedState));
|
| if (state)
|
| m_state = protocol::DictionaryValue::cast(std::move(state));
|
| if (!m_state)
|
| @@ -72,7 +72,7 @@ V8InspectorSessionImpl::V8InspectorSessionImpl(V8InspectorImpl* inspector, int c
|
| m_consoleAgent = wrapUnique(new V8ConsoleAgentImpl(this, channel, agentState(protocol::Console::Metainfo::domainName)));
|
| protocol::Console::Dispatcher::wire(&m_dispatcher, m_consoleAgent.get());
|
|
|
| - if (savedState) {
|
| + if (savedState.length()) {
|
| m_runtimeAgent->restore();
|
| m_debuggerAgent->restore();
|
| m_heapProfilerAgent->restore();
|
| @@ -170,6 +170,11 @@ InjectedScript* V8InspectorSessionImpl::findInjectedScript(ErrorString* errorStr
|
| return objectId ? findInjectedScript(errorString, objectId->contextId()) : nullptr;
|
| }
|
|
|
| +void V8InspectorSessionImpl::releaseObjectGroup(const StringView& objectGroup)
|
| +{
|
| + releaseObjectGroup(toString16(objectGroup));
|
| +}
|
| +
|
| void V8InspectorSessionImpl::releaseObjectGroup(const String16& objectGroup)
|
| {
|
| const V8InspectorImpl::ContextByIdMap* contexts = m_inspector->contextGroup(m_contextGroupId);
|
| @@ -192,6 +197,14 @@ void V8InspectorSessionImpl::releaseObjectGroup(const String16& objectGroup)
|
| }
|
| }
|
|
|
| +bool V8InspectorSessionImpl::unwrapObject(ErrorString* errorString, const StringView& objectId, v8::Local<v8::Value>* object, v8::Local<v8::Context>* context, StringView* objectGroup)
|
| +{
|
| + String16 group;
|
| + bool result = unwrapObject(errorString, toString16(objectId), object, context, &group);
|
| + *objectGroup = toStringView(group);
|
| + 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);
|
| @@ -207,9 +220,9 @@ bool V8InspectorSessionImpl::unwrapObject(ErrorString* errorString, const String
|
| return true;
|
| }
|
|
|
| -std::unique_ptr<protocol::Runtime::API::RemoteObject> V8InspectorSessionImpl::wrapObject(v8::Local<v8::Context> context, v8::Local<v8::Value> value, const String16& groupName)
|
| +std::unique_ptr<protocol::Runtime::API::RemoteObject> V8InspectorSessionImpl::wrapObject(v8::Local<v8::Context> context, v8::Local<v8::Value> value, const StringView& groupName)
|
| {
|
| - return wrapObject(context, value, groupName, false);
|
| + return wrapObject(context, value, toString16(groupName), false);
|
| }
|
|
|
| std::unique_ptr<protocol::Runtime::RemoteObject> V8InspectorSessionImpl::wrapObject(v8::Local<v8::Context> context, v8::Local<v8::Value> value, const String16& groupName, bool generatePreview)
|
| @@ -252,14 +265,15 @@ void V8InspectorSessionImpl::reportAllContexts(V8RuntimeAgentImpl* agent)
|
| agent->reportExecutionContextCreated(idContext.second.get());
|
| }
|
|
|
| -void V8InspectorSessionImpl::dispatchProtocolMessage(const String16& message)
|
| +void V8InspectorSessionImpl::dispatchProtocolMessage(const StringView& message)
|
| {
|
| - m_dispatcher.dispatch(message);
|
| + m_dispatcher.dispatch(parseJSON(message));
|
| }
|
|
|
| -String16 V8InspectorSessionImpl::stateJSON()
|
| +StringView V8InspectorSessionImpl::stateJSON()
|
| {
|
| - return m_state->toJSONString();
|
| + String16 json = m_state->toJSONString();
|
| + return toStringView(json);
|
| }
|
|
|
| void V8InspectorSessionImpl::addInspectedObject(std::unique_ptr<V8InspectorSession::Inspectable> inspectable)
|
| @@ -276,9 +290,9 @@ V8InspectorSession::Inspectable* V8InspectorSessionImpl::inspectedObject(unsigne
|
| return m_inspectedObjects[num].get();
|
| }
|
|
|
| -void V8InspectorSessionImpl::schedulePauseOnNextStatement(const String16& breakReason, const String16& breakDetails)
|
| +void V8InspectorSessionImpl::schedulePauseOnNextStatement(const StringView& breakReason, const StringView& breakDetails)
|
| {
|
| - m_debuggerAgent->schedulePauseOnNextStatement(breakReason, protocol::DictionaryValue::cast(parseJSON(breakDetails)));
|
| + m_debuggerAgent->schedulePauseOnNextStatement(toString16(breakReason), protocol::DictionaryValue::cast(parseJSON(breakDetails)));
|
| }
|
|
|
| void V8InspectorSessionImpl::cancelPauseOnNextStatement()
|
| @@ -286,9 +300,9 @@ void V8InspectorSessionImpl::cancelPauseOnNextStatement()
|
| m_debuggerAgent->cancelPauseOnNextStatement();
|
| }
|
|
|
| -void V8InspectorSessionImpl::breakProgram(const String16& breakReason, const String16& breakDetails)
|
| +void V8InspectorSessionImpl::breakProgram(const StringView& breakReason, const StringView& breakDetails)
|
| {
|
| - m_debuggerAgent->breakProgram(breakReason, protocol::DictionaryValue::cast(parseJSON(breakDetails)));
|
| + m_debuggerAgent->breakProgram(toString16(breakReason), protocol::DictionaryValue::cast(parseJSON(breakDetails)));
|
| }
|
|
|
| void V8InspectorSessionImpl::setSkipAllPauses(bool skip)
|
| @@ -309,9 +323,10 @@ void V8InspectorSessionImpl::stepOver()
|
| m_debuggerAgent->stepOver(&errorString);
|
| }
|
|
|
| -std::unique_ptr<protocol::Array<protocol::Debugger::API::SearchMatch>> V8InspectorSessionImpl::searchInTextByLines(const String16& text, const String16& query, bool caseSensitive, bool isRegex)
|
| +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::SearchMatch>> matches = searchInTextByLinesImpl(this, text, query, caseSensitive, 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();
|
| for (size_t i = 0; i < matches.size(); ++i)
|
| result->addItem(std::move(matches[i]));
|
|
|