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

Side by Side Diff: third_party/WebKit/Source/platform/v8_inspector/V8ConsoleMessage.cpp

Issue 2139363003: [DevTools] Cleanup v8_inspector API part 1. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebased Created 4 years, 5 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium 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 "platform/v8_inspector/V8ConsoleMessage.h" 5 #include "platform/v8_inspector/V8ConsoleMessage.h"
6 6
7 #include "platform/v8_inspector/InspectedContext.h" 7 #include "platform/v8_inspector/InspectedContext.h"
8 #include "platform/v8_inspector/V8ConsoleAgentImpl.h" 8 #include "platform/v8_inspector/V8ConsoleAgentImpl.h"
9 #include "platform/v8_inspector/V8DebuggerImpl.h" 9 #include "platform/v8_inspector/V8DebuggerImpl.h"
10 #include "platform/v8_inspector/V8InspectorSessionImpl.h" 10 #include "platform/v8_inspector/V8InspectorSessionImpl.h"
(...skipping 18 matching lines...) Expand all
29 case RenderingMessageSource: return protocol::Console::ConsoleMessage::Sourc eEnum::Rendering; 29 case RenderingMessageSource: return protocol::Console::ConsoleMessage::Sourc eEnum::Rendering;
30 case SecurityMessageSource: return protocol::Console::ConsoleMessage::Source Enum::Security; 30 case SecurityMessageSource: return protocol::Console::ConsoleMessage::Source Enum::Security;
31 case OtherMessageSource: return protocol::Console::ConsoleMessage::SourceEnu m::Other; 31 case OtherMessageSource: return protocol::Console::ConsoleMessage::SourceEnu m::Other;
32 case DeprecationMessageSource: return protocol::Console::ConsoleMessage::Sou rceEnum::Deprecation; 32 case DeprecationMessageSource: return protocol::Console::ConsoleMessage::Sou rceEnum::Deprecation;
33 case WorkerMessageSource: return protocol::Console::ConsoleMessage::SourceEn um::Worker; 33 case WorkerMessageSource: return protocol::Console::ConsoleMessage::SourceEn um::Worker;
34 } 34 }
35 return protocol::Console::ConsoleMessage::SourceEnum::Other; 35 return protocol::Console::ConsoleMessage::SourceEnum::Other;
36 } 36 }
37 37
38 38
39 String16 messageTypeValue(MessageType type) 39 String16 consoleAPITypeValue(ConsoleAPIType type)
40 { 40 {
41 switch (type) { 41 switch (type) {
42 case LogMessageType: return protocol::Console::ConsoleMessage::TypeEnum::Log ; 42 case ConsoleAPIType::kLog: return protocol::Console::ConsoleMessage::TypeEnu m::Log;
43 case ClearMessageType: return protocol::Console::ConsoleMessage::TypeEnum::C lear; 43 case ConsoleAPIType::kClear: return protocol::Console::ConsoleMessage::TypeE num::Clear;
44 case DirMessageType: return protocol::Console::ConsoleMessage::TypeEnum::Dir ; 44 case ConsoleAPIType::kDir: return protocol::Console::ConsoleMessage::TypeEnu m::Dir;
45 case DirXMLMessageType: return protocol::Console::ConsoleMessage::TypeEnum:: Dirxml; 45 case ConsoleAPIType::kDirXML: return protocol::Console::ConsoleMessage::Type Enum::Dirxml;
46 case TableMessageType: return protocol::Console::ConsoleMessage::TypeEnum::T able; 46 case ConsoleAPIType::kTable: return protocol::Console::ConsoleMessage::TypeE num::Table;
47 case TraceMessageType: return protocol::Console::ConsoleMessage::TypeEnum::T race; 47 case ConsoleAPIType::kTrace: return protocol::Console::ConsoleMessage::TypeE num::Trace;
48 case StartGroupMessageType: return protocol::Console::ConsoleMessage::TypeEn um::StartGroup; 48 case ConsoleAPIType::kStartGroup: return protocol::Console::ConsoleMessage:: TypeEnum::StartGroup;
49 case StartGroupCollapsedMessageType: return protocol::Console::ConsoleMessag e::TypeEnum::StartGroupCollapsed; 49 case ConsoleAPIType::kStartGroupCollapsed: return protocol::Console::Console Message::TypeEnum::StartGroupCollapsed;
50 case EndGroupMessageType: return protocol::Console::ConsoleMessage::TypeEnum ::EndGroup; 50 case ConsoleAPIType::kEndGroup: return protocol::Console::ConsoleMessage::Ty peEnum::EndGroup;
51 case AssertMessageType: return protocol::Console::ConsoleMessage::TypeEnum:: Assert; 51 case ConsoleAPIType::kAssert: return protocol::Console::ConsoleMessage::Type Enum::Assert;
52 case TimeEndMessageType: return protocol::Console::ConsoleMessage::TypeEnum: :Log; 52 case ConsoleAPIType::kTimeEnd: return protocol::Console::ConsoleMessage::Typ eEnum::Log;
53 case CountMessageType: return protocol::Console::ConsoleMessage::TypeEnum::L og; 53 case ConsoleAPIType::kCount: return protocol::Console::ConsoleMessage::TypeE num::Log;
54 } 54 }
55 return protocol::Console::ConsoleMessage::TypeEnum::Log; 55 return protocol::Console::ConsoleMessage::TypeEnum::Log;
56 } 56 }
57 57
58 String16 messageLevelValue(MessageLevel level) 58 String16 messageLevelValue(MessageLevel level)
59 { 59 {
60 switch (level) { 60 switch (level) {
61 case DebugMessageLevel: return protocol::Console::ConsoleMessage::LevelEnum: :Debug; 61 case DebugMessageLevel: return protocol::Console::ConsoleMessage::LevelEnum: :Debug;
62 case LogMessageLevel: return protocol::Console::ConsoleMessage::LevelEnum::L og; 62 case LogMessageLevel: return protocol::Console::ConsoleMessage::LevelEnum::L og;
63 case WarningMessageLevel: return protocol::Console::ConsoleMessage::LevelEnu m::Warning; 63 case WarningMessageLevel: return protocol::Console::ConsoleMessage::LevelEnu m::Warning;
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
203 V8ConsoleMessage::V8ConsoleMessage(V8MessageOrigin origin, double timestamp, Mes sageSource source, MessageLevel level, const String16& message) 203 V8ConsoleMessage::V8ConsoleMessage(V8MessageOrigin origin, double timestamp, Mes sageSource source, MessageLevel level, const String16& message)
204 : m_origin(origin) 204 : m_origin(origin)
205 , m_timestamp(timestamp) 205 , m_timestamp(timestamp)
206 , m_source(source) 206 , m_source(source)
207 , m_level(level) 207 , m_level(level)
208 , m_message(message) 208 , m_message(message)
209 , m_lineNumber(0) 209 , m_lineNumber(0)
210 , m_columnNumber(0) 210 , m_columnNumber(0)
211 , m_scriptId(0) 211 , m_scriptId(0)
212 , m_contextId(0) 212 , m_contextId(0)
213 , m_type(LogMessageType) 213 , m_type(ConsoleAPIType::kLog)
214 , m_exceptionId(0) 214 , m_exceptionId(0)
215 , m_revokedExceptionId(0) 215 , m_revokedExceptionId(0)
216 { 216 {
217 } 217 }
218 218
219 V8ConsoleMessage::~V8ConsoleMessage() 219 V8ConsoleMessage::~V8ConsoleMessage()
220 { 220 {
221 } 221 }
222 222
223 void V8ConsoleMessage::setLocation(const String16& url, unsigned lineNumber, uns igned columnNumber, std::unique_ptr<V8StackTrace> stackTrace, int scriptId) 223 void V8ConsoleMessage::setLocation(const String16& url, unsigned lineNumber, uns igned columnNumber, std::unique_ptr<V8StackTrace> stackTrace, int scriptId)
224 { 224 {
225 m_url = url; 225 m_url = url;
226 m_lineNumber = lineNumber; 226 m_lineNumber = lineNumber;
227 m_columnNumber = columnNumber; 227 m_columnNumber = columnNumber;
228 m_stackTrace = std::move(stackTrace); 228 m_stackTrace = std::move(stackTrace);
229 m_scriptId = scriptId; 229 m_scriptId = scriptId;
230 } 230 }
231 231
232 void V8ConsoleMessage::reportToFrontend(protocol::Console::Frontend* frontend, V 8InspectorSessionImpl* session, bool generatePreview) const 232 void V8ConsoleMessage::reportToFrontend(protocol::Console::Frontend* frontend, V 8InspectorSessionImpl* session, bool generatePreview) const
233 { 233 {
234 DCHECK_EQ(V8MessageOrigin::kConsole, m_origin); 234 DCHECK_EQ(V8MessageOrigin::kConsole, m_origin);
235 std::unique_ptr<protocol::Console::ConsoleMessage> result = 235 std::unique_ptr<protocol::Console::ConsoleMessage> result =
236 protocol::Console::ConsoleMessage::create() 236 protocol::Console::ConsoleMessage::create()
237 .setSource(messageSourceValue(m_source)) 237 .setSource(messageSourceValue(m_source))
238 .setLevel(messageLevelValue(m_level)) 238 .setLevel(messageLevelValue(m_level))
239 .setText(m_message) 239 .setText(m_message)
240 .setTimestamp(m_timestamp / 1000) // TODO(dgozman): migrate this to mill iseconds. 240 .setTimestamp(m_timestamp / 1000) // TODO(dgozman): migrate this to mill iseconds.
241 .build(); 241 .build();
242 result->setType(messageTypeValue(m_type)); 242 result->setType(consoleAPITypeValue(m_type));
243 result->setLine(static_cast<int>(m_lineNumber)); 243 result->setLine(static_cast<int>(m_lineNumber));
244 result->setColumn(static_cast<int>(m_columnNumber)); 244 result->setColumn(static_cast<int>(m_columnNumber));
245 if (m_scriptId) 245 if (m_scriptId)
246 result->setScriptId(String16::number(m_scriptId)); 246 result->setScriptId(String16::number(m_scriptId));
247 result->setUrl(m_url); 247 result->setUrl(m_url);
248 if (m_source == NetworkMessageSource && !m_requestIdentifier.isEmpty()) 248 if (m_source == NetworkMessageSource && !m_requestIdentifier.isEmpty())
249 result->setNetworkRequestId(m_requestIdentifier); 249 result->setNetworkRequestId(m_requestIdentifier);
250 if (m_contextId) 250 if (m_contextId)
251 result->setExecutionContextId(m_contextId); 251 result->setExecutionContextId(m_contextId);
252 std::unique_ptr<protocol::Array<protocol::Runtime::RemoteObject>> args = wra pArguments(session, generatePreview); 252 std::unique_ptr<protocol::Array<protocol::Runtime::RemoteObject>> args = wra pArguments(session, generatePreview);
(...skipping 12 matching lines...) Expand all
265 return nullptr; 265 return nullptr;
266 InspectedContext* inspectedContext = session->debugger()->getContext(session ->contextGroupId(), m_contextId); 266 InspectedContext* inspectedContext = session->debugger()->getContext(session ->contextGroupId(), m_contextId);
267 if (!inspectedContext) 267 if (!inspectedContext)
268 return nullptr; 268 return nullptr;
269 269
270 v8::Isolate* isolate = inspectedContext->isolate(); 270 v8::Isolate* isolate = inspectedContext->isolate();
271 v8::HandleScope handles(isolate); 271 v8::HandleScope handles(isolate);
272 v8::Local<v8::Context> context = inspectedContext->context(); 272 v8::Local<v8::Context> context = inspectedContext->context();
273 273
274 std::unique_ptr<protocol::Array<protocol::Runtime::RemoteObject>> args = pro tocol::Array<protocol::Runtime::RemoteObject>::create(); 274 std::unique_ptr<protocol::Array<protocol::Runtime::RemoteObject>> args = pro tocol::Array<protocol::Runtime::RemoteObject>::create();
275 if (m_type == TableMessageType && generatePreview) { 275 if (m_type == ConsoleAPIType::kTable && generatePreview) {
276 v8::Local<v8::Value> table = m_arguments[0]->Get(isolate); 276 v8::Local<v8::Value> table = m_arguments[0]->Get(isolate);
277 v8::Local<v8::Value> columns = m_arguments.size() > 1 ? m_arguments[1]-> Get(isolate) : v8::Local<v8::Value>(); 277 v8::Local<v8::Value> columns = m_arguments.size() > 1 ? m_arguments[1]-> Get(isolate) : v8::Local<v8::Value>();
278 std::unique_ptr<protocol::Runtime::RemoteObject> wrapped = session->wrap Table(context, table, columns); 278 std::unique_ptr<protocol::Runtime::RemoteObject> wrapped = session->wrap Table(context, table, columns);
279 if (wrapped) 279 if (wrapped)
280 args->addItem(std::move(wrapped)); 280 args->addItem(std::move(wrapped));
281 else 281 else
282 args = nullptr; 282 args = nullptr;
283 } else { 283 } else {
284 for (size_t i = 0; i < m_arguments.size(); ++i) { 284 for (size_t i = 0; i < m_arguments.size(); ++i) {
285 std::unique_ptr<protocol::Runtime::RemoteObject> wrapped = session-> wrapObject(context, m_arguments[i]->Get(isolate), "console", generatePreview); 285 std::unique_ptr<protocol::Runtime::RemoteObject> wrapped = session-> wrapObject(context, m_arguments[i]->Get(isolate), "console", generatePreview);
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
341 V8MessageOrigin V8ConsoleMessage::origin() const 341 V8MessageOrigin V8ConsoleMessage::origin() const
342 { 342 {
343 return m_origin; 343 return m_origin;
344 } 344 }
345 345
346 unsigned V8ConsoleMessage::argumentCount() const 346 unsigned V8ConsoleMessage::argumentCount() const
347 { 347 {
348 return m_arguments.size(); 348 return m_arguments.size();
349 } 349 }
350 350
351 MessageType V8ConsoleMessage::type() const 351 ConsoleAPIType V8ConsoleMessage::type() const
352 { 352 {
353 return m_type; 353 return m_type;
354 } 354 }
355 355
356 // static 356 // static
357 std::unique_ptr<V8ConsoleMessage> V8ConsoleMessage::createForConsoleAPI(double t imestamp, MessageType type, MessageLevel level, const String16& messageText, std ::vector<v8::Local<v8::Value>>* arguments, std::unique_ptr<V8StackTrace> stackTr ace, InspectedContext* context) 357 std::unique_ptr<V8ConsoleMessage> V8ConsoleMessage::createForConsoleAPI(double t imestamp, ConsoleAPIType type, MessageLevel level, const String16& messageText, std::vector<v8::Local<v8::Value>>* arguments, std::unique_ptr<V8StackTrace> stac kTrace, InspectedContext* context)
358 { 358 {
359 String16 url; 359 String16 url;
360 unsigned lineNumber = 0; 360 unsigned lineNumber = 0;
361 unsigned columnNumber = 0; 361 unsigned columnNumber = 0;
362 if (stackTrace && !stackTrace->isEmpty()) { 362 if (stackTrace && !stackTrace->isEmpty()) {
363 url = stackTrace->topSourceURL(); 363 url = stackTrace->topSourceURL();
364 lineNumber = stackTrace->topLineNumber(); 364 lineNumber = stackTrace->topLineNumber();
365 columnNumber = stackTrace->topColumnNumber(); 365 columnNumber = stackTrace->topColumnNumber();
366 } 366 }
367 367
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
438 { 438 {
439 } 439 }
440 440
441 V8ConsoleMessageStorage::~V8ConsoleMessageStorage() 441 V8ConsoleMessageStorage::~V8ConsoleMessageStorage()
442 { 442 {
443 clear(); 443 clear();
444 } 444 }
445 445
446 void V8ConsoleMessageStorage::addMessage(std::unique_ptr<V8ConsoleMessage> messa ge) 446 void V8ConsoleMessageStorage::addMessage(std::unique_ptr<V8ConsoleMessage> messa ge)
447 { 447 {
448 if (message->type() == ClearMessageType) 448 if (message->type() == ConsoleAPIType::kClear)
449 clear(); 449 clear();
450 450
451 V8InspectorSessionImpl* session = m_debugger->sessionForContextGroup(m_conte xtGroupId); 451 V8InspectorSessionImpl* session = m_debugger->sessionForContextGroup(m_conte xtGroupId);
452 if (session) { 452 if (session) {
453 if (message->origin() == V8MessageOrigin::kConsole) 453 if (message->origin() == V8MessageOrigin::kConsole)
454 session->consoleAgent()->messageAdded(message.get()); 454 session->consoleAgent()->messageAdded(message.get());
455 else 455 else
456 session->runtimeAgent()->exceptionMessageAdded(message.get()); 456 session->runtimeAgent()->exceptionMessageAdded(message.get());
457 } 457 }
458 458
(...skipping 17 matching lines...) Expand all
476 } 476 }
477 } 477 }
478 478
479 void V8ConsoleMessageStorage::contextDestroyed(int contextId) 479 void V8ConsoleMessageStorage::contextDestroyed(int contextId)
480 { 480 {
481 for (size_t i = 0; i < m_messages.size(); ++i) 481 for (size_t i = 0; i < m_messages.size(); ++i)
482 m_messages[i]->contextDestroyed(contextId); 482 m_messages[i]->contextDestroyed(contextId);
483 } 483 }
484 484
485 } // namespace blink 485 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698