| 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/V8Console.h" | 5 #include "platform/v8_inspector/V8Console.h" |
| 6 | 6 |
| 7 #include "platform/v8_inspector/InjectedScript.h" | 7 #include "platform/v8_inspector/InjectedScript.h" |
| 8 #include "platform/v8_inspector/InspectedContext.h" | 8 #include "platform/v8_inspector/InspectedContext.h" |
| 9 #include "platform/v8_inspector/V8Compat.h" | 9 #include "platform/v8_inspector/V8Compat.h" |
| 10 #include "platform/v8_inspector/V8ConsoleMessage.h" | 10 #include "platform/v8_inspector/V8ConsoleMessage.h" |
| (...skipping 340 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 351 | 351 |
| 352 void V8Console::countCallback(const v8::FunctionCallbackInfo<v8::Value>& info) | 352 void V8Console::countCallback(const v8::FunctionCallbackInfo<v8::Value>& info) |
| 353 { | 353 { |
| 354 ConsoleHelper helper(info); | 354 ConsoleHelper helper(info); |
| 355 | 355 |
| 356 String16 title = helper.firstArgToString(String16()); | 356 String16 title = helper.firstArgToString(String16()); |
| 357 String16 identifier; | 357 String16 identifier; |
| 358 if (title.isEmpty()) { | 358 if (title.isEmpty()) { |
| 359 std::unique_ptr<V8StackTraceImpl> stackTrace = V8StackTraceImpl::capture
(nullptr, 0, 1); | 359 std::unique_ptr<V8StackTraceImpl> stackTrace = V8StackTraceImpl::capture
(nullptr, 0, 1); |
| 360 if (stackTrace) | 360 if (stackTrace) |
| 361 identifier = stackTrace->topSourceURL() + ":" + String16::fromIntege
r(stackTrace->topLineNumber()); | 361 identifier = toString16(stackTrace->topSourceURL()) + ":" + String16
::fromInteger(stackTrace->topLineNumber()); |
| 362 } else { | 362 } else { |
| 363 identifier = title + "@"; | 363 identifier = title + "@"; |
| 364 } | 364 } |
| 365 | 365 |
| 366 v8::Local<v8::Map> countMap; | 366 v8::Local<v8::Map> countMap; |
| 367 if (!helper.privateMap("V8Console#countMap").ToLocal(&countMap)) | 367 if (!helper.privateMap("V8Console#countMap").ToLocal(&countMap)) |
| 368 return; | 368 return; |
| 369 int64_t count = helper.getIntFromMap(countMap, identifier, 0) + 1; | 369 int64_t count = helper.getIntFromMap(countMap, identifier, 0) + 1; |
| 370 helper.setIntOnMap(countMap, identifier, count); | 370 helper.setIntOnMap(countMap, identifier, count); |
| 371 helper.reportCallWithArgument(ConsoleAPIType::kCount, title + ": " + String1
6::fromInteger(count)); | 371 helper.reportCallWithArgument(ConsoleAPIType::kCount, title + ": " + String1
6::fromInteger(count)); |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 408 profilerAgent->consoleProfileEnd(helper.firstArgToString(String16())); | 408 profilerAgent->consoleProfileEnd(helper.firstArgToString(String16())); |
| 409 } | 409 } |
| 410 | 410 |
| 411 static void timeFunction(const v8::FunctionCallbackInfo<v8::Value>& info, bool t
imelinePrefix) | 411 static void timeFunction(const v8::FunctionCallbackInfo<v8::Value>& info, bool t
imelinePrefix) |
| 412 { | 412 { |
| 413 ConsoleHelper helper(info); | 413 ConsoleHelper helper(info); |
| 414 if (V8InspectorClient* client = helper.ensureDebuggerClient()) { | 414 if (V8InspectorClient* client = helper.ensureDebuggerClient()) { |
| 415 String16 protocolTitle = helper.firstArgToString("default"); | 415 String16 protocolTitle = helper.firstArgToString("default"); |
| 416 if (timelinePrefix) | 416 if (timelinePrefix) |
| 417 protocolTitle = "Timeline '" + protocolTitle + "'"; | 417 protocolTitle = "Timeline '" + protocolTitle + "'"; |
| 418 client->consoleTime(protocolTitle); | 418 client->consoleTime(toStringView(protocolTitle)); |
| 419 | 419 |
| 420 v8::Local<v8::Map> timeMap; | 420 v8::Local<v8::Map> timeMap; |
| 421 if (!helper.privateMap("V8Console#timeMap").ToLocal(&timeMap)) | 421 if (!helper.privateMap("V8Console#timeMap").ToLocal(&timeMap)) |
| 422 return; | 422 return; |
| 423 helper.setDoubleOnMap(timeMap, protocolTitle, client->currentTimeMS()); | 423 helper.setDoubleOnMap(timeMap, protocolTitle, client->currentTimeMS()); |
| 424 } | 424 } |
| 425 } | 425 } |
| 426 | 426 |
| 427 static void timeEndFunction(const v8::FunctionCallbackInfo<v8::Value>& info, boo
l timelinePrefix) | 427 static void timeEndFunction(const v8::FunctionCallbackInfo<v8::Value>& info, boo
l timelinePrefix) |
| 428 { | 428 { |
| 429 ConsoleHelper helper(info); | 429 ConsoleHelper helper(info); |
| 430 if (V8InspectorClient* client = helper.ensureDebuggerClient()) { | 430 if (V8InspectorClient* client = helper.ensureDebuggerClient()) { |
| 431 String16 protocolTitle = helper.firstArgToString("default"); | 431 String16 protocolTitle = helper.firstArgToString("default"); |
| 432 if (timelinePrefix) | 432 if (timelinePrefix) |
| 433 protocolTitle = "Timeline '" + protocolTitle + "'"; | 433 protocolTitle = "Timeline '" + protocolTitle + "'"; |
| 434 client->consoleTimeEnd(protocolTitle); | 434 client->consoleTimeEnd(toStringView(protocolTitle)); |
| 435 | 435 |
| 436 v8::Local<v8::Map> timeMap; | 436 v8::Local<v8::Map> timeMap; |
| 437 if (!helper.privateMap("V8Console#timeMap").ToLocal(&timeMap)) | 437 if (!helper.privateMap("V8Console#timeMap").ToLocal(&timeMap)) |
| 438 return; | 438 return; |
| 439 double elapsed = client->currentTimeMS() - helper.getDoubleFromMap(timeM
ap, protocolTitle, 0.0); | 439 double elapsed = client->currentTimeMS() - helper.getDoubleFromMap(timeM
ap, protocolTitle, 0.0); |
| 440 String16 message = protocolTitle + ": " + String16::fromDoublePrecision3
(elapsed) + "ms"; | 440 String16 message = protocolTitle + ": " + String16::fromDoublePrecision3
(elapsed) + "ms"; |
| 441 helper.reportCallWithArgument(ConsoleAPIType::kTimeEnd, message); | 441 helper.reportCallWithArgument(ConsoleAPIType::kTimeEnd, message); |
| 442 } | 442 } |
| 443 } | 443 } |
| 444 | 444 |
| (...skipping 15 matching lines...) Expand all Loading... |
| 460 } | 460 } |
| 461 | 461 |
| 462 void V8Console::timeEndCallback(const v8::FunctionCallbackInfo<v8::Value>& info) | 462 void V8Console::timeEndCallback(const v8::FunctionCallbackInfo<v8::Value>& info) |
| 463 { | 463 { |
| 464 timeEndFunction(info, false); | 464 timeEndFunction(info, false); |
| 465 } | 465 } |
| 466 | 466 |
| 467 void V8Console::timeStampCallback(const v8::FunctionCallbackInfo<v8::Value>& inf
o) | 467 void V8Console::timeStampCallback(const v8::FunctionCallbackInfo<v8::Value>& inf
o) |
| 468 { | 468 { |
| 469 ConsoleHelper helper(info); | 469 ConsoleHelper helper(info); |
| 470 if (V8InspectorClient* client = helper.ensureDebuggerClient()) | 470 if (V8InspectorClient* client = helper.ensureDebuggerClient()) { |
| 471 client->consoleTimeStamp(helper.firstArgToString(String16())); | 471 String16 title = helper.firstArgToString(String16()); |
| 472 client->consoleTimeStamp(toStringView(title)); |
| 473 } |
| 472 } | 474 } |
| 473 | 475 |
| 474 void V8Console::memoryGetterCallback(const v8::FunctionCallbackInfo<v8::Value>&
info) | 476 void V8Console::memoryGetterCallback(const v8::FunctionCallbackInfo<v8::Value>&
info) |
| 475 { | 477 { |
| 476 if (V8InspectorClient* client = ConsoleHelper(info).ensureDebuggerClient())
{ | 478 if (V8InspectorClient* client = ConsoleHelper(info).ensureDebuggerClient())
{ |
| 477 v8::Local<v8::Value> memoryValue; | 479 v8::Local<v8::Value> memoryValue; |
| 478 if (!client->memoryInfo(info.GetIsolate(), info.GetIsolate()->GetCurrent
Context()).ToLocal(&memoryValue)) | 480 if (!client->memoryInfo(info.GetIsolate(), info.GetIsolate()->GetCurrent
Context()).ToLocal(&memoryValue)) |
| 479 return; | 481 return; |
| 480 info.GetReturnValue().Set(memoryValue); | 482 info.GetReturnValue().Set(memoryValue); |
| 481 } | 483 } |
| (...skipping 339 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 821 continue; | 823 continue; |
| 822 if (name->IsString()) { | 824 if (name->IsString()) { |
| 823 v8::Local<v8::Value> descriptor; | 825 v8::Local<v8::Value> descriptor; |
| 824 bool success = m_global->GetOwnPropertyDescriptor(m_context, v8::Loc
al<v8::String>::Cast(name)).ToLocal(&descriptor); | 826 bool success = m_global->GetOwnPropertyDescriptor(m_context, v8::Loc
al<v8::String>::Cast(name)).ToLocal(&descriptor); |
| 825 DCHECK(success); | 827 DCHECK(success); |
| 826 } | 828 } |
| 827 } | 829 } |
| 828 } | 830 } |
| 829 | 831 |
| 830 } // namespace v8_inspector | 832 } // namespace v8_inspector |
| OLD | NEW |