| Index: src/inspector/v8-inspector-session-impl.cc
|
| diff --git a/src/inspector/v8-inspector-session-impl.cc b/src/inspector/v8-inspector-session-impl.cc
|
| index 542fde734dce7f39c766dd34ae6718b17d600d25..76de18bb408c3a154541b3db60ff5b55517d1168 100644
|
| --- a/src/inspector/v8-inspector-session-impl.cc
|
| +++ b/src/inspector/v8-inspector-session-impl.cc
|
| @@ -104,12 +104,12 @@ V8InspectorSessionImpl::V8InspectorSessionImpl(V8InspectorImpl* inspector,
|
| }
|
|
|
| V8InspectorSessionImpl::~V8InspectorSessionImpl() {
|
| - ErrorString errorString;
|
| + protocol::ErrorString errorString;
|
| m_consoleAgent->disable();
|
| m_profilerAgent->disable();
|
| m_heapProfilerAgent->disable();
|
| m_debuggerAgent->disable(&errorString);
|
| - m_runtimeAgent->disable(&errorString);
|
| + m_runtimeAgent->disable();
|
|
|
| discardInjectedScripts();
|
| m_inspector->disconnect(this);
|
| @@ -165,42 +165,35 @@ void V8InspectorSessionImpl::discardInjectedScripts() {
|
| }
|
| }
|
|
|
| -InjectedScript* V8InspectorSessionImpl::findInjectedScript(
|
| - ErrorString* errorString, int contextId) {
|
| - if (!contextId) {
|
| - *errorString = "Cannot find context with specified id";
|
| - return nullptr;
|
| - }
|
| +Response V8InspectorSessionImpl::findInjectedScript(
|
| + int contextId, InjectedScript*& injectedScript) {
|
| + injectedScript = nullptr;
|
| + if (!contextId)
|
| + return Response::Error("Cannot find context with specified id");
|
|
|
| const V8InspectorImpl::ContextByIdMap* contexts =
|
| m_inspector->contextGroup(m_contextGroupId);
|
| - if (!contexts) {
|
| - *errorString = "Cannot find context with specified id";
|
| - return nullptr;
|
| - }
|
| + if (!contexts)
|
| + return Response::Error("Cannot find context with specified id");
|
|
|
| auto contextsIt = contexts->find(contextId);
|
| - if (contextsIt == contexts->end()) {
|
| - *errorString = "Cannot find context with specified id";
|
| - return nullptr;
|
| - }
|
| + if (contextsIt == contexts->end())
|
| + return Response::Error("Cannot find context with specified id");
|
|
|
| const std::unique_ptr<InspectedContext>& context = contextsIt->second;
|
| if (!context->getInjectedScript()) {
|
| - if (!context->createInjectedScript()) {
|
| - *errorString = "Cannot access specified execution context";
|
| - return nullptr;
|
| - }
|
| + if (!context->createInjectedScript())
|
| + return Response::Error("Cannot access specified execution context");
|
| if (m_customObjectFormatterEnabled)
|
| context->getInjectedScript()->setCustomObjectFormatterEnabled(true);
|
| }
|
| - return context->getInjectedScript();
|
| + injectedScript = context->getInjectedScript();
|
| + return Response::OK();
|
| }
|
|
|
| -InjectedScript* V8InspectorSessionImpl::findInjectedScript(
|
| - ErrorString* errorString, RemoteObjectIdBase* objectId) {
|
| - return objectId ? findInjectedScript(errorString, objectId->contextId())
|
| - : nullptr;
|
| +Response V8InspectorSessionImpl::findInjectedScript(
|
| + RemoteObjectIdBase* objectId, InjectedScript*& injectedScript) {
|
| + return findInjectedScript(objectId->contextId(), injectedScript);
|
| }
|
|
|
| void V8InspectorSessionImpl::releaseObjectGroup(const StringView& objectGroup) {
|
| @@ -230,31 +223,35 @@ bool V8InspectorSessionImpl::unwrapObject(
|
| std::unique_ptr<StringBuffer>* error, const StringView& objectId,
|
| v8::Local<v8::Value>* object, v8::Local<v8::Context>* context,
|
| std::unique_ptr<StringBuffer>* objectGroup) {
|
| - ErrorString errorString;
|
| String16 objectGroupString;
|
| - bool result =
|
| - unwrapObject(&errorString, toString16(objectId), object, context,
|
| - objectGroup ? &objectGroupString : nullptr);
|
| - if (error) *error = StringBufferImpl::adopt(errorString);
|
| + Response response = unwrapObject(toString16(objectId), object, context,
|
| + objectGroup ? &objectGroupString : nullptr);
|
| + if (!response.isSuccess()) {
|
| + if (error) {
|
| + String16 errorMessage = response.errorMessage();
|
| + *error = StringBufferImpl::adopt(errorMessage);
|
| + }
|
| + return false;
|
| + }
|
| if (objectGroup) *objectGroup = StringBufferImpl::adopt(objectGroupString);
|
| - return result;
|
| + return true;
|
| }
|
|
|
| -bool V8InspectorSessionImpl::unwrapObject(ErrorString* errorString,
|
| - const String16& objectId,
|
| - v8::Local<v8::Value>* object,
|
| - v8::Local<v8::Context>* context,
|
| - String16* objectGroup) {
|
| - std::unique_ptr<RemoteObjectId> remoteId =
|
| - RemoteObjectId::parse(errorString, objectId);
|
| - if (!remoteId) return false;
|
| - InjectedScript* injectedScript =
|
| - findInjectedScript(errorString, remoteId.get());
|
| - if (!injectedScript) return false;
|
| - if (!injectedScript->findObject(errorString, *remoteId, object)) return false;
|
| +Response V8InspectorSessionImpl::unwrapObject(const String16& objectId,
|
| + v8::Local<v8::Value>* object,
|
| + v8::Local<v8::Context>* context,
|
| + String16* objectGroup) {
|
| + std::unique_ptr<RemoteObjectId> remoteId;
|
| + Response response = RemoteObjectId::parse(objectId, &remoteId);
|
| + if (!response.isSuccess()) return response;
|
| + InjectedScript* injectedScript = nullptr;
|
| + response = findInjectedScript(remoteId.get(), injectedScript);
|
| + if (!response.isSuccess()) return response;
|
| + response = injectedScript->findObject(*remoteId, object);
|
| + if (!response.isSuccess()) return response;
|
| *context = injectedScript->context()->context();
|
| if (objectGroup) *objectGroup = injectedScript->objectGroupName(*remoteId);
|
| - return true;
|
| + return Response::OK();
|
| }
|
|
|
| std::unique_ptr<protocol::Runtime::API::RemoteObject>
|
| @@ -269,21 +266,20 @@ V8InspectorSessionImpl::wrapObject(v8::Local<v8::Context> context,
|
| v8::Local<v8::Value> value,
|
| const String16& groupName,
|
| bool generatePreview) {
|
| - ErrorString errorString;
|
| - InjectedScript* injectedScript =
|
| - findInjectedScript(&errorString, V8Debugger::contextId(context));
|
| + InjectedScript* injectedScript = nullptr;
|
| + findInjectedScript(V8Debugger::contextId(context), injectedScript);
|
| if (!injectedScript) return nullptr;
|
| - return injectedScript->wrapObject(&errorString, value, groupName, false,
|
| - generatePreview);
|
| + std::unique_ptr<protocol::Runtime::RemoteObject> result;
|
| + injectedScript->wrapObject(value, groupName, false, generatePreview, &result);
|
| + return result;
|
| }
|
|
|
| std::unique_ptr<protocol::Runtime::RemoteObject>
|
| V8InspectorSessionImpl::wrapTable(v8::Local<v8::Context> context,
|
| v8::Local<v8::Value> table,
|
| v8::Local<v8::Value> columns) {
|
| - ErrorString errorString;
|
| - InjectedScript* injectedScript =
|
| - findInjectedScript(&errorString, V8Debugger::contextId(context));
|
| + InjectedScript* injectedScript = nullptr;
|
| + findInjectedScript(V8Debugger::contextId(context), injectedScript);
|
| if (!injectedScript) return nullptr;
|
| return injectedScript->wrapTable(table, columns);
|
| }
|
| @@ -386,17 +382,17 @@ void V8InspectorSessionImpl::breakProgram(const StringView& breakReason,
|
| }
|
|
|
| void V8InspectorSessionImpl::setSkipAllPauses(bool skip) {
|
| - ErrorString errorString;
|
| + protocol::ErrorString errorString;
|
| m_debuggerAgent->setSkipAllPauses(&errorString, skip);
|
| }
|
|
|
| void V8InspectorSessionImpl::resume() {
|
| - ErrorString errorString;
|
| + protocol::ErrorString errorString;
|
| m_debuggerAgent->resume(&errorString);
|
| }
|
|
|
| void V8InspectorSessionImpl::stepOver() {
|
| - ErrorString errorString;
|
| + protocol::ErrorString errorString;
|
| m_debuggerAgent->stepOver(&errorString);
|
| }
|
|
|
|
|