Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 316 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 327 message->m_columnNumber = stackTrace->topColumnNumber(); | 327 message->m_columnNumber = stackTrace->topColumnNumber(); |
| 328 } | 328 } |
| 329 message->m_stackTrace = std::move(stackTrace); | 329 message->m_stackTrace = std::move(stackTrace); |
| 330 message->m_type = type; | 330 message->m_type = type; |
| 331 message->m_contextId = context->contextId(); | 331 message->m_contextId = context->contextId(); |
| 332 for (size_t i = 0; i < arguments.size(); ++i) | 332 for (size_t i = 0; i < arguments.size(); ++i) |
| 333 message->m_arguments.push_back(wrapUnique(new v8::Global<v8::Value>(cont ext->isolate(), arguments.at(i)))); | 333 message->m_arguments.push_back(wrapUnique(new v8::Global<v8::Value>(cont ext->isolate(), arguments.at(i)))); |
| 334 if (arguments.size()) | 334 if (arguments.size()) |
| 335 message->m_message = V8ValueStringBuilder::toString(arguments[0], contex t->isolate()); | 335 message->m_message = V8ValueStringBuilder::toString(arguments[0], contex t->isolate()); |
| 336 | 336 |
| 337 MessageLevel level = LogMessageLevel; | 337 V8ConsoleAPIType clientType = V8ConsoleAPIType::kLog; |
| 338 if (type == ConsoleAPIType::kDebug || type == ConsoleAPIType::kCount || type == ConsoleAPIType::kTimeEnd) | 338 if (type == ConsoleAPIType::kDebug || type == ConsoleAPIType::kCount || type == ConsoleAPIType::kTimeEnd) |
| 339 level = DebugMessageLevel; | 339 clientType = V8ConsoleAPIType::kDebug; |
| 340 if (type == ConsoleAPIType::kError || type == ConsoleAPIType::kAssert) | 340 if (type == ConsoleAPIType::kError || type == ConsoleAPIType::kAssert) |
|
kozy
2016/07/29 16:57:37
if -> else if
dgozman
2016/07/29 17:15:43
Done.
| |
| 341 level = ErrorMessageLevel; | 341 clientType = V8ConsoleAPIType::kError; |
| 342 if (type == ConsoleAPIType::kWarning) | 342 if (type == ConsoleAPIType::kWarning) |
| 343 level = WarningMessageLevel; | 343 clientType = V8ConsoleAPIType::kWarning; |
| 344 if (type == ConsoleAPIType::kInfo) | 344 if (type == ConsoleAPIType::kInfo) |
| 345 level = InfoMessageLevel; | 345 clientType = V8ConsoleAPIType::kInfo; |
| 346 context->debugger()->client()->consoleAPIMessage(context->contextGroupId(), level, message->m_message, message->m_url, message->m_lineNumber, message->m_col umnNumber, message->m_stackTrace.get()); | 346 if (type == ConsoleAPIType::kClear) |
| 347 clientType = V8ConsoleAPIType::kClear; | |
| 348 context->debugger()->client()->consoleAPIMessage(context->contextGroupId(), clientType, message->m_message, message->m_url, message->m_lineNumber, message-> m_columnNumber, message->m_stackTrace.get()); | |
| 347 | 349 |
| 348 return message; | 350 return message; |
| 349 } | 351 } |
| 350 | 352 |
| 351 // static | 353 // static |
| 352 std::unique_ptr<V8ConsoleMessage> V8ConsoleMessage::createForException(double ti mestamp, const String16& messageText, const String16& url, unsigned lineNumber, unsigned columnNumber, std::unique_ptr<V8StackTraceImpl> stackTrace, int scriptI d, v8::Isolate* isolate, int contextId, v8::Local<v8::Value> exception, unsigned exceptionId) | 354 std::unique_ptr<V8ConsoleMessage> V8ConsoleMessage::createForException(double ti mestamp, const String16& messageText, const String16& url, unsigned lineNumber, unsigned columnNumber, std::unique_ptr<V8StackTraceImpl> stackTrace, int scriptI d, v8::Isolate* isolate, int contextId, v8::Local<v8::Value> exception, unsigned exceptionId) |
| 353 { | 355 { |
| 354 std::unique_ptr<V8ConsoleMessage> message = wrapUnique(new V8ConsoleMessage( V8MessageOrigin::kException, timestamp, messageText)); | 356 std::unique_ptr<V8ConsoleMessage> message = wrapUnique(new V8ConsoleMessage( V8MessageOrigin::kException, timestamp, messageText)); |
| 355 message->setLocation(url, lineNumber, columnNumber, std::move(stackTrace), s criptId); | 357 message->setLocation(url, lineNumber, columnNumber, std::move(stackTrace), s criptId); |
| 356 message->m_exceptionId = exceptionId; | 358 message->m_exceptionId = exceptionId; |
| (...skipping 28 matching lines...) Expand all Loading... | |
| 385 V8ConsoleMessageStorage::V8ConsoleMessageStorage(V8DebuggerImpl* debugger, int c ontextGroupId) | 387 V8ConsoleMessageStorage::V8ConsoleMessageStorage(V8DebuggerImpl* debugger, int c ontextGroupId) |
| 386 : m_debugger(debugger) | 388 : m_debugger(debugger) |
| 387 , m_contextGroupId(contextGroupId) | 389 , m_contextGroupId(contextGroupId) |
| 388 , m_expiredCount(0) | 390 , m_expiredCount(0) |
| 389 { | 391 { |
| 390 } | 392 } |
| 391 | 393 |
| 392 V8ConsoleMessageStorage::~V8ConsoleMessageStorage() | 394 V8ConsoleMessageStorage::~V8ConsoleMessageStorage() |
| 393 { | 395 { |
| 394 clear(); | 396 clear(); |
| 395 notifyClear(); | |
| 396 } | 397 } |
| 397 | 398 |
| 398 void V8ConsoleMessageStorage::addMessage(std::unique_ptr<V8ConsoleMessage> messa ge) | 399 void V8ConsoleMessageStorage::addMessage(std::unique_ptr<V8ConsoleMessage> messa ge) |
| 399 { | 400 { |
| 400 if (message->type() == ConsoleAPIType::kClear) { | 401 if (message->type() == ConsoleAPIType::kClear) |
| 401 clear(); | 402 clear(); |
| 402 notifyClear(); | |
| 403 } | |
| 404 | 403 |
| 405 V8InspectorSessionImpl* session = m_debugger->sessionForContextGroup(m_conte xtGroupId); | 404 V8InspectorSessionImpl* session = m_debugger->sessionForContextGroup(m_conte xtGroupId); |
| 406 if (session) { | 405 if (session) { |
| 407 if (message->origin() == V8MessageOrigin::kConsole) | 406 if (message->origin() == V8MessageOrigin::kConsole) |
| 408 session->consoleAgent()->messageAdded(message.get()); | 407 session->consoleAgent()->messageAdded(message.get()); |
| 409 session->runtimeAgent()->messageAdded(message.get()); | 408 session->runtimeAgent()->messageAdded(message.get()); |
| 410 } | 409 } |
| 411 | 410 |
| 412 DCHECK(m_messages.size() <= maxConsoleMessageCount); | 411 DCHECK(m_messages.size() <= maxConsoleMessageCount); |
| 413 if (m_messages.size() == maxConsoleMessageCount) { | 412 if (m_messages.size() == maxConsoleMessageCount) { |
| (...skipping 10 matching lines...) Expand all Loading... | |
| 424 if (V8InspectorSessionImpl* session = m_debugger->sessionForContextGroup(m_c ontextGroupId)) | 423 if (V8InspectorSessionImpl* session = m_debugger->sessionForContextGroup(m_c ontextGroupId)) |
| 425 session->releaseObjectGroup("console"); | 424 session->releaseObjectGroup("console"); |
| 426 } | 425 } |
| 427 | 426 |
| 428 void V8ConsoleMessageStorage::contextDestroyed(int contextId) | 427 void V8ConsoleMessageStorage::contextDestroyed(int contextId) |
| 429 { | 428 { |
| 430 for (size_t i = 0; i < m_messages.size(); ++i) | 429 for (size_t i = 0; i < m_messages.size(); ++i) |
| 431 m_messages[i]->contextDestroyed(contextId); | 430 m_messages[i]->contextDestroyed(contextId); |
| 432 } | 431 } |
| 433 | 432 |
| 434 void V8ConsoleMessageStorage::notifyClear() | |
| 435 { | |
| 436 if (V8InspectorSessionImpl* session = m_debugger->sessionForContextGroup(m_c ontextGroupId)) | |
| 437 session->client()->consoleCleared(); | |
| 438 } | |
| 439 | |
| 440 } // namespace blink | 433 } // namespace blink |
| OLD | NEW |