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

Side by Side Diff: src/inspector/v8-inspector-session-impl.cc

Issue 2523583005: Roll third_party/inspector_protocol to 4ad35c45aca9834b67ec2cb152c816ea1b7ceb48 (Closed)
Patch Set: added default implementation Created 4 years 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 the V8 project authors. All rights reserved. 1 // Copyright 2016 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "src/inspector/v8-inspector-session-impl.h" 5 #include "src/inspector/v8-inspector-session-impl.h"
6 6
7 #include "src/inspector/injected-script.h" 7 #include "src/inspector/injected-script.h"
8 #include "src/inspector/inspected-context.h" 8 #include "src/inspector/inspected-context.h"
9 #include "src/inspector/protocol/Protocol.h" 9 #include "src/inspector/protocol/Protocol.h"
10 #include "src/inspector/remote-object-id.h" 10 #include "src/inspector/remote-object-id.h"
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
119 protocol::DictionaryValue* state = m_state->getObject(name); 119 protocol::DictionaryValue* state = m_state->getObject(name);
120 if (!state) { 120 if (!state) {
121 std::unique_ptr<protocol::DictionaryValue> newState = 121 std::unique_ptr<protocol::DictionaryValue> newState =
122 protocol::DictionaryValue::create(); 122 protocol::DictionaryValue::create();
123 state = newState.get(); 123 state = newState.get();
124 m_state->setObject(name, std::move(newState)); 124 m_state->setObject(name, std::move(newState));
125 } 125 }
126 return state; 126 return state;
127 } 127 }
128 128
129 void V8InspectorSessionImpl::sendProtocolResponse(int callId, 129 namespace {
130 const String16& message) { 130
131 m_channel->sendProtocolResponse(callId, toStringView(message)); 131 class MessageBuffer : public StringBuffer {
132 public:
133 static std::unique_ptr<MessageBuffer> create(
134 std::unique_ptr<protocol::Serializable> message) {
135 return std::unique_ptr<MessageBuffer>(
136 new MessageBuffer(std::move(message)));
137 }
138
139 const StringView& string() override {
140 if (!m_serialized) {
141 m_serialized = StringBuffer::create(toStringView(m_message->serialize()));
142 m_message.reset(nullptr);
143 }
144 return m_serialized->string();
145 }
146
147 private:
148 explicit MessageBuffer(std::unique_ptr<protocol::Serializable> message)
149 : m_message(std::move(message)) {}
150
151 std::unique_ptr<protocol::Serializable> m_message;
152 std::unique_ptr<StringBuffer> m_serialized;
153 };
154
155 } // namespace
156
157 void V8InspectorSessionImpl::sendProtocolResponse(
158 int callId, std::unique_ptr<protocol::Serializable> message) {
159 m_channel->sendResponse(callId, MessageBuffer::create(std::move(message)));
132 } 160 }
133 161
134 void V8InspectorSessionImpl::sendProtocolNotification(const String16& message) { 162 void V8InspectorSessionImpl::sendProtocolNotification(
135 m_channel->sendProtocolNotification(toStringView(message)); 163 std::unique_ptr<protocol::Serializable> message) {
164 m_channel->sendNotification(MessageBuffer::create(std::move(message)));
136 } 165 }
137 166
138 void V8InspectorSessionImpl::flushProtocolNotifications() { 167 void V8InspectorSessionImpl::flushProtocolNotifications() {
139 m_channel->flushProtocolNotifications(); 168 m_channel->flushProtocolNotifications();
140 } 169 }
141 170
142 void V8InspectorSessionImpl::reset() { 171 void V8InspectorSessionImpl::reset() {
143 m_debuggerAgent->reset(); 172 m_debuggerAgent->reset();
144 m_runtimeAgent->reset(); 173 m_runtimeAgent->reset();
145 discardInjectedScripts(); 174 discardInjectedScripts();
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
302 for (auto& idContext : *contexts) 331 for (auto& idContext : *contexts)
303 agent->reportExecutionContextCreated(idContext.second.get()); 332 agent->reportExecutionContextCreated(idContext.second.get());
304 } 333 }
305 334
306 void V8InspectorSessionImpl::dispatchProtocolMessage( 335 void V8InspectorSessionImpl::dispatchProtocolMessage(
307 const StringView& message) { 336 const StringView& message) {
308 m_dispatcher.dispatch(protocol::StringUtil::parseJSON(message)); 337 m_dispatcher.dispatch(protocol::StringUtil::parseJSON(message));
309 } 338 }
310 339
311 std::unique_ptr<StringBuffer> V8InspectorSessionImpl::stateJSON() { 340 std::unique_ptr<StringBuffer> V8InspectorSessionImpl::stateJSON() {
312 String16 json = m_state->toJSONString(); 341 String16 json = m_state->serialize();
313 return StringBufferImpl::adopt(json); 342 return StringBufferImpl::adopt(json);
314 } 343 }
315 344
316 std::vector<std::unique_ptr<protocol::Schema::API::Domain>> 345 std::vector<std::unique_ptr<protocol::Schema::API::Domain>>
317 V8InspectorSessionImpl::supportedDomains() { 346 V8InspectorSessionImpl::supportedDomains() {
318 std::vector<std::unique_ptr<protocol::Schema::Domain>> domains = 347 std::vector<std::unique_ptr<protocol::Schema::Domain>> domains =
319 supportedDomainsImpl(); 348 supportedDomainsImpl();
320 std::vector<std::unique_ptr<protocol::Schema::API::Domain>> result; 349 std::vector<std::unique_ptr<protocol::Schema::API::Domain>> result;
321 for (size_t i = 0; i < domains.size(); ++i) 350 for (size_t i = 0; i < domains.size(); ++i)
322 result.push_back(std::move(domains[i])); 351 result.push_back(std::move(domains[i]));
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
398 std::vector<std::unique_ptr<protocol::Debugger::SearchMatch>> matches = 427 std::vector<std::unique_ptr<protocol::Debugger::SearchMatch>> matches =
399 searchInTextByLinesImpl(this, toString16(text), toString16(query), 428 searchInTextByLinesImpl(this, toString16(text), toString16(query),
400 caseSensitive, isRegex); 429 caseSensitive, isRegex);
401 std::vector<std::unique_ptr<protocol::Debugger::API::SearchMatch>> result; 430 std::vector<std::unique_ptr<protocol::Debugger::API::SearchMatch>> result;
402 for (size_t i = 0; i < matches.size(); ++i) 431 for (size_t i = 0; i < matches.size(); ++i)
403 result.push_back(std::move(matches[i])); 432 result.push_back(std::move(matches[i]));
404 return result; 433 return result;
405 } 434 }
406 435
407 } // namespace v8_inspector 436 } // namespace v8_inspector
OLDNEW
« no previous file with comments | « src/inspector/v8-inspector-session-impl.h ('k') | third_party/inspector_protocol/CodeGenerator.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698