| OLD | NEW |
| 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 271 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 282 return v8::MaybeLocal<v8::Value>(); | 282 return v8::MaybeLocal<v8::Value>(); |
| 283 if (remoteObjectId->contextId() != m_context->contextId()) { | 283 if (remoteObjectId->contextId() != m_context->contextId()) { |
| 284 *errorString = "Argument should belong to the same JavaScript world
as target object"; | 284 *errorString = "Argument should belong to the same JavaScript world
as target object"; |
| 285 return v8::MaybeLocal<v8::Value>(); | 285 return v8::MaybeLocal<v8::Value>(); |
| 286 } | 286 } |
| 287 v8::Local<v8::Value> object; | 287 v8::Local<v8::Value> object; |
| 288 if (!findObject(errorString, *remoteObjectId, &object)) | 288 if (!findObject(errorString, *remoteObjectId, &object)) |
| 289 return v8::MaybeLocal<v8::Value>(); | 289 return v8::MaybeLocal<v8::Value>(); |
| 290 return object; | 290 return object; |
| 291 } | 291 } |
| 292 if (callArgument->hasValue()) { | 292 if (callArgument->hasValue() || callArgument->hasUnserializableValue()) { |
| 293 String16 value = callArgument->getValue(nullptr)->toJSONString(); | 293 String16 value = callArgument->hasValue() ? |
| 294 if (callArgument->getType(String16()) == "number") | 294 callArgument->getValue(nullptr)->toJSONString() : |
| 295 value = "Number(" + value + ")"; | 295 "Number(\"" + callArgument->getUnserializableValue("") + "\")"; |
| 296 v8::Local<v8::Value> object; | 296 v8::Local<v8::Value> object; |
| 297 if (!m_context->inspector()->compileAndRunInternalScript(m_context->cont
ext(), toV8String(m_context->isolate(), value)).ToLocal(&object)) { | 297 if (!m_context->inspector()->compileAndRunInternalScript(m_context->cont
ext(), toV8String(m_context->isolate(), value)).ToLocal(&object)) { |
| 298 *errorString = "Couldn't parse value object in call argument"; | 298 *errorString = "Couldn't parse value object in call argument"; |
| 299 return v8::MaybeLocal<v8::Value>(); | 299 return v8::MaybeLocal<v8::Value>(); |
| 300 } | 300 } |
| 301 return object; | 301 return object; |
| 302 } | 302 } |
| 303 return v8::Undefined(m_context->isolate()); | 303 return v8::Undefined(m_context->isolate()); |
| 304 } | 304 } |
| 305 | 305 |
| (...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 488 void InjectedScript::CallFrameScope::findInjectedScript(V8InspectorSessionImpl*
session) | 488 void InjectedScript::CallFrameScope::findInjectedScript(V8InspectorSessionImpl*
session) |
| 489 { | 489 { |
| 490 std::unique_ptr<RemoteCallFrameId> remoteId = RemoteCallFrameId::parse(m_err
orString, m_remoteCallFrameId); | 490 std::unique_ptr<RemoteCallFrameId> remoteId = RemoteCallFrameId::parse(m_err
orString, m_remoteCallFrameId); |
| 491 if (!remoteId) | 491 if (!remoteId) |
| 492 return; | 492 return; |
| 493 m_frameOrdinal = static_cast<size_t>(remoteId->frameOrdinal()); | 493 m_frameOrdinal = static_cast<size_t>(remoteId->frameOrdinal()); |
| 494 m_injectedScript = session->findInjectedScript(m_errorString, remoteId.get()
); | 494 m_injectedScript = session->findInjectedScript(m_errorString, remoteId.get()
); |
| 495 } | 495 } |
| 496 | 496 |
| 497 } // namespace blink | 497 } // namespace blink |
| OLD | NEW |