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

Unified Diff: third_party/WebKit/Source/core/inspector/MainThreadDebugger.cpp

Issue 2260233002: [DevTools] Migrate v8_inspector/public from String16 to String{View,Buffer}. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: styling Created 4 years, 4 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 side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/inspector/MainThreadDebugger.cpp
diff --git a/third_party/WebKit/Source/core/inspector/MainThreadDebugger.cpp b/third_party/WebKit/Source/core/inspector/MainThreadDebugger.cpp
index a84b01f9ccd7b9914eb0b0e19e50c5f385d6e14e..3182be4144d1cb9b8b79469b9709064b92d48223 100644
--- a/third_party/WebKit/Source/core/inspector/MainThreadDebugger.cpp
+++ b/third_party/WebKit/Source/core/inspector/MainThreadDebugger.cpp
@@ -56,6 +56,7 @@
#include "core/inspector/IdentifiersFactory.h"
#include "core/inspector/InspectedFrames.h"
#include "core/inspector/InspectorTaskRunner.h"
+#include "core/inspector/V8InspectorString.h"
#include "core/timing/MemoryInfo.h"
#include "core/workers/MainThreadWorkletGlobalScope.h"
#include "core/xml/XPathEvaluator.h"
@@ -145,13 +146,15 @@ void MainThreadDebugger::contextCreated(ScriptState* scriptState, LocalFrame* fr
ASSERT(isMainThread());
v8::HandleScope handles(scriptState->isolate());
DOMWrapperWorld& world = scriptState->world();
- std::unique_ptr<protocol::DictionaryValue> auxData = protocol::DictionaryValue::create();
- auxData->setBoolean("isDefault", world.isMainWorld());
- auxData->setString("frameId", IdentifiersFactory::frameId(frame));
- v8_inspector::V8ContextInfo contextInfo(scriptState->context(), contextGroupId(frame), world.isIsolatedWorld() ? world.isolatedWorldHumanReadableName() : "");
- if (origin)
- contextInfo.origin = origin->toRawString();
- contextInfo.auxData = auxData->toJSONString();
+ std::unique_ptr<protocol::DictionaryValue> auxDataValue = protocol::DictionaryValue::create();
+ auxDataValue->setBoolean("isDefault", world.isMainWorld());
+ auxDataValue->setString("frameId", IdentifiersFactory::frameId(frame));
+ String auxData = auxDataValue->toJSONString();
+ String humanReadableName = world.isIsolatedWorld() ? world.isolatedWorldHumanReadableName() : String();
+ String originString = origin ? origin->toRawString() : String();
+ v8_inspector::V8ContextInfo contextInfo(scriptState->context(), contextGroupId(frame), toV8InspectorStringView(humanReadableName));
+ contextInfo.origin = toV8InspectorStringView(originString);
+ contextInfo.auxData = toV8InspectorStringView(auxData);
contextInfo.hasMemoryOnConsole = scriptState->getExecutionContext()->isDocument();
v8Inspector()->contextCreated(contextInfo);
}
@@ -182,12 +185,14 @@ void MainThreadDebugger::exceptionThrown(ExecutionContext* context, ErrorEvent*
frame->console().reportMessageToClient(JSMessageSource, ErrorMessageLevel, event->messageForConsole(), event->location());
- const String16 defaultMessage = "Uncaught";
+ const String defaultMessage = "Uncaught";
if (scriptState && scriptState->contextIsValid()) {
ScriptState::Scope scope(scriptState);
v8::Local<v8::Value> exception = V8ErrorHandler::loadExceptionFromErrorEventWrapper(scriptState, event, scriptState->context()->Global());
SourceLocation* location = event->location();
- v8Inspector()->exceptionThrown(scriptState->context(), defaultMessage, exception, event->messageForConsole(), location->url(), location->lineNumber(), location->columnNumber(), location->takeStackTrace(), location->scriptId());
+ String message = event->messageForConsole();
+ String url = location->url();
+ v8Inspector()->exceptionThrown(scriptState->context(), toV8InspectorStringView(defaultMessage), exception, toV8InspectorStringView(message), toV8InspectorStringView(url), location->lineNumber(), location->columnNumber(), location->takeStackTrace(), location->scriptId());
}
}
@@ -287,15 +292,16 @@ void MainThreadDebugger::runIfWaitingForDebugger(int contextGroupId)
m_clientMessageLoop->runIfWaitingForDebugger(frame);
}
-void MainThreadDebugger::consoleAPIMessage(int contextGroupId, v8_inspector::V8ConsoleAPIType type, const String16& message, const String16& url, unsigned lineNumber, unsigned columnNumber, v8_inspector::V8StackTrace* stackTrace)
+void MainThreadDebugger::consoleAPIMessage(int contextGroupId, v8_inspector::V8ConsoleAPIType type, const v8_inspector::StringView& message, const v8_inspector::StringView& url, unsigned lineNumber, unsigned columnNumber, v8_inspector::V8StackTrace* stackTrace)
{
LocalFrame* frame = WeakIdentifierMap<LocalFrame>::lookup(contextGroupId);
if (!frame)
return;
if (type == v8_inspector::V8ConsoleAPIType::kClear && frame->host())
frame->host()->consoleMessageStorage().clear();
- std::unique_ptr<SourceLocation> location = SourceLocation::create(url, lineNumber, columnNumber, stackTrace ? stackTrace->clone() : nullptr, 0);
- frame->console().reportMessageToClient(ConsoleAPIMessageSource, consoleAPITypeToMessageLevel(type), message, location.get());
+ // TODO(dgozman): we can save a copy of message and url here by making FrameConsole work with StringView.
+ std::unique_ptr<SourceLocation> location = SourceLocation::create(toCoreString(url), lineNumber, columnNumber, stackTrace ? stackTrace->clone() : nullptr, 0);
+ frame->console().reportMessageToClient(ConsoleAPIMessageSource, consoleAPITypeToMessageLevel(type), toCoreString(message), location.get());
}
v8::MaybeLocal<v8::Value> MainThreadDebugger::memoryInfo(v8::Isolate* isolate, v8::Local<v8::Context> context)

Powered by Google App Engine
This is Rietveld 408576698