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

Side by Side Diff: src/inspector/injected-script.cc

Issue 2523583005: Roll third_party/inspector_protocol to 4ad35c45aca9834b67ec2cb152c816ea1b7ceb48 (Closed)
Patch Set: added default implementation Created 4 years 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
« no previous file with comments | « include/v8-inspector.h ('k') | src/inspector/v8-debugger-agent-impl.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2012 Google Inc. All rights reserved. 2 * Copyright (C) 2012 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after
143 // FIXME: make properties optional 143 // FIXME: make properties optional
144 *properties = Array<PropertyDescriptor>::create(); 144 *properties = Array<PropertyDescriptor>::create();
145 return Response::OK(); 145 return Response::OK();
146 } 146 }
147 if (resultValue.IsEmpty()) return Response::InternalError(); 147 if (resultValue.IsEmpty()) return Response::InternalError();
148 std::unique_ptr<protocol::Value> protocolValue; 148 std::unique_ptr<protocol::Value> protocolValue;
149 Response response = toProtocolValue(context, resultValue, &protocolValue); 149 Response response = toProtocolValue(context, resultValue, &protocolValue);
150 if (!response.isSuccess()) return response; 150 if (!response.isSuccess()) return response;
151 protocol::ErrorSupport errors; 151 protocol::ErrorSupport errors;
152 std::unique_ptr<Array<PropertyDescriptor>> result = 152 std::unique_ptr<Array<PropertyDescriptor>> result =
153 Array<PropertyDescriptor>::parse(protocolValue.get(), &errors); 153 Array<PropertyDescriptor>::fromValue(protocolValue.get(), &errors);
154 if (errors.hasErrors()) return Response::Error(errors.errors()); 154 if (errors.hasErrors()) return Response::Error(errors.errors());
155 *properties = std::move(result); 155 *properties = std::move(result);
156 return Response::OK(); 156 return Response::OK();
157 } 157 }
158 158
159 void InjectedScript::releaseObject(const String16& objectId) { 159 void InjectedScript::releaseObject(const String16& objectId) {
160 std::unique_ptr<protocol::Value> parsedObjectId = 160 std::unique_ptr<protocol::Value> parsedObjectId =
161 protocol::StringUtil::parseJSON(objectId); 161 protocol::StringUtil::parseJSON(objectId);
162 if (!parsedObjectId) return; 162 if (!parsedObjectId) return;
163 protocol::DictionaryValue* object = 163 protocol::DictionaryValue* object =
(...skipping 13 matching lines...) Expand all
177 v8::Local<v8::Context> context = m_context->context(); 177 v8::Local<v8::Context> context = m_context->context();
178 Response response = wrapValue(value, groupName, forceValueType, 178 Response response = wrapValue(value, groupName, forceValueType,
179 generatePreview, &wrappedObject); 179 generatePreview, &wrappedObject);
180 if (!response.isSuccess()) return response; 180 if (!response.isSuccess()) return response;
181 protocol::ErrorSupport errors; 181 protocol::ErrorSupport errors;
182 std::unique_ptr<protocol::Value> protocolValue; 182 std::unique_ptr<protocol::Value> protocolValue;
183 response = toProtocolValue(context, wrappedObject, &protocolValue); 183 response = toProtocolValue(context, wrappedObject, &protocolValue);
184 if (!response.isSuccess()) return response; 184 if (!response.isSuccess()) return response;
185 185
186 *result = 186 *result =
187 protocol::Runtime::RemoteObject::parse(protocolValue.get(), &errors); 187 protocol::Runtime::RemoteObject::fromValue(protocolValue.get(), &errors);
188 if (!result->get()) return Response::Error(errors.errors()); 188 if (!result->get()) return Response::Error(errors.errors());
189 return Response::OK(); 189 return Response::OK();
190 } 190 }
191 191
192 Response InjectedScript::wrapObjectProperty(v8::Local<v8::Object> object, 192 Response InjectedScript::wrapObjectProperty(v8::Local<v8::Object> object,
193 v8::Local<v8::Name> key, 193 v8::Local<v8::Name> key,
194 const String16& groupName, 194 const String16& groupName,
195 bool forceValueType, 195 bool forceValueType,
196 bool generatePreview) const { 196 bool generatePreview) const {
197 v8::Local<v8::Value> property; 197 v8::Local<v8::Value> property;
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
253 function.appendArgument(false); 253 function.appendArgument(false);
254 else 254 else
255 function.appendArgument(columns); 255 function.appendArgument(columns);
256 bool hadException = false; 256 bool hadException = false;
257 v8::Local<v8::Value> r = function.call(hadException); 257 v8::Local<v8::Value> r = function.call(hadException);
258 if (hadException || r.IsEmpty()) return nullptr; 258 if (hadException || r.IsEmpty()) return nullptr;
259 std::unique_ptr<protocol::Value> protocolValue; 259 std::unique_ptr<protocol::Value> protocolValue;
260 Response response = toProtocolValue(context, r, &protocolValue); 260 Response response = toProtocolValue(context, r, &protocolValue);
261 if (!response.isSuccess()) return nullptr; 261 if (!response.isSuccess()) return nullptr;
262 protocol::ErrorSupport errors; 262 protocol::ErrorSupport errors;
263 return protocol::Runtime::RemoteObject::parse(protocolValue.get(), &errors); 263 return protocol::Runtime::RemoteObject::fromValue(protocolValue.get(),
264 &errors);
264 } 265 }
265 266
266 Response InjectedScript::findObject(const RemoteObjectId& objectId, 267 Response InjectedScript::findObject(const RemoteObjectId& objectId,
267 v8::Local<v8::Value>* outObject) const { 268 v8::Local<v8::Value>* outObject) const {
268 *outObject = m_native->objectForId(objectId.id()); 269 *outObject = m_native->objectForId(objectId.id());
269 if (outObject->IsEmpty()) 270 if (outObject->IsEmpty())
270 return Response::Error("Could not find object with given id"); 271 return Response::Error("Could not find object with given id");
271 return Response::OK(); 272 return Response::OK();
272 } 273 }
273 274
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
310 if (!response.isSuccess()) return response; 311 if (!response.isSuccess()) return response;
311 if (remoteObjectId->contextId() != m_context->contextId()) 312 if (remoteObjectId->contextId() != m_context->contextId())
312 return Response::Error( 313 return Response::Error(
313 "Argument should belong to the same JavaScript world as target " 314 "Argument should belong to the same JavaScript world as target "
314 "object"); 315 "object");
315 return findObject(*remoteObjectId, result); 316 return findObject(*remoteObjectId, result);
316 } 317 }
317 if (callArgument->hasValue() || callArgument->hasUnserializableValue()) { 318 if (callArgument->hasValue() || callArgument->hasUnserializableValue()) {
318 String16 value = 319 String16 value =
319 callArgument->hasValue() 320 callArgument->hasValue()
320 ? callArgument->getValue(nullptr)->toJSONString() 321 ? callArgument->getValue(nullptr)->serialize()
321 : "Number(\"" + callArgument->getUnserializableValue("") + "\")"; 322 : "Number(\"" + callArgument->getUnserializableValue("") + "\")";
322 if (!m_context->inspector() 323 if (!m_context->inspector()
323 ->compileAndRunInternalScript( 324 ->compileAndRunInternalScript(
324 m_context->context(), toV8String(m_context->isolate(), value)) 325 m_context->context(), toV8String(m_context->isolate(), value))
325 .ToLocal(result)) { 326 .ToLocal(result)) {
326 return Response::Error("Couldn't parse value object in call argument"); 327 return Response::Error("Couldn't parse value object in call argument");
327 } 328 }
328 return Response::OK(); 329 return Response::OK();
329 } 330 }
330 *result = v8::Undefined(m_context->isolate()); 331 *result = v8::Undefined(m_context->isolate());
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after
533 Response InjectedScript::CallFrameScope::findInjectedScript( 534 Response InjectedScript::CallFrameScope::findInjectedScript(
534 V8InspectorSessionImpl* session) { 535 V8InspectorSessionImpl* session) {
535 std::unique_ptr<RemoteCallFrameId> remoteId; 536 std::unique_ptr<RemoteCallFrameId> remoteId;
536 Response response = RemoteCallFrameId::parse(m_remoteCallFrameId, &remoteId); 537 Response response = RemoteCallFrameId::parse(m_remoteCallFrameId, &remoteId);
537 if (!response.isSuccess()) return response; 538 if (!response.isSuccess()) return response;
538 m_frameOrdinal = static_cast<size_t>(remoteId->frameOrdinal()); 539 m_frameOrdinal = static_cast<size_t>(remoteId->frameOrdinal());
539 return session->findInjectedScript(remoteId.get(), m_injectedScript); 540 return session->findInjectedScript(remoteId.get(), m_injectedScript);
540 } 541 }
541 542
542 } // namespace v8_inspector 543 } // namespace v8_inspector
OLDNEW
« no previous file with comments | « include/v8-inspector.h ('k') | src/inspector/v8-debugger-agent-impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698