OLD | NEW |
1 // Copyright 2016 the V8 project authors. All rights reserved. | 1 // Copyright 2016 the V8 project 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 "src/inspector/v8-heap-profiler-agent-impl.h" | 5 #include "src/inspector/v8-heap-profiler-agent-impl.h" |
6 | 6 |
7 #include "src/inspector/injected-script.h" | 7 #include "src/inspector/injected-script.h" |
8 #include "src/inspector/protocol/Protocol.h" | 8 #include "src/inspector/protocol/Protocol.h" |
9 #include "src/inspector/string-util.h" | 9 #include "src/inspector/string-util.h" |
10 #include "src/inspector/v8-debugger.h" | 10 #include "src/inspector/v8-debugger.h" |
(...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
237 | 237 |
238 v8::HandleScope handles(m_isolate); | 238 v8::HandleScope handles(m_isolate); |
239 v8::Local<v8::Object> heapObject = objectByHeapObjectId(m_isolate, id); | 239 v8::Local<v8::Object> heapObject = objectByHeapObjectId(m_isolate, id); |
240 if (heapObject.IsEmpty()) return Response::Error("Object is not available"); | 240 if (heapObject.IsEmpty()) return Response::Error("Object is not available"); |
241 | 241 |
242 if (!m_session->inspector()->client()->isInspectableHeapObject(heapObject)) | 242 if (!m_session->inspector()->client()->isInspectableHeapObject(heapObject)) |
243 return Response::Error("Object is not available"); | 243 return Response::Error("Object is not available"); |
244 | 244 |
245 *result = m_session->wrapObject(heapObject->CreationContext(), heapObject, | 245 *result = m_session->wrapObject(heapObject->CreationContext(), heapObject, |
246 objectGroup.fromMaybe(""), false); | 246 objectGroup.fromMaybe(""), false); |
247 if (!result) return Response::Error("Object is not available"); | 247 if (!*result) return Response::Error("Object is not available"); |
248 return Response::OK(); | 248 return Response::OK(); |
249 } | 249 } |
250 | 250 |
251 Response V8HeapProfilerAgentImpl::addInspectedHeapObject( | 251 Response V8HeapProfilerAgentImpl::addInspectedHeapObject( |
252 const String16& inspectedHeapObjectId) { | 252 const String16& inspectedHeapObjectId) { |
253 bool ok; | 253 bool ok; |
254 int id = inspectedHeapObjectId.toInteger(&ok); | 254 int id = inspectedHeapObjectId.toInteger(&ok); |
255 if (!ok) return Response::Error("Invalid heap snapshot object id"); | 255 if (!ok) return Response::Error("Invalid heap snapshot object id"); |
256 | 256 |
257 v8::HandleScope handles(m_isolate); | 257 v8::HandleScope handles(m_isolate); |
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
373 if (!v8Profile) | 373 if (!v8Profile) |
374 return Response::Error("Cannot access v8 sampled heap profile."); | 374 return Response::Error("Cannot access v8 sampled heap profile."); |
375 v8::AllocationProfile::Node* root = v8Profile->GetRootNode(); | 375 v8::AllocationProfile::Node* root = v8Profile->GetRootNode(); |
376 *profile = protocol::HeapProfiler::SamplingHeapProfile::create() | 376 *profile = protocol::HeapProfiler::SamplingHeapProfile::create() |
377 .setHead(buildSampingHeapProfileNode(root)) | 377 .setHead(buildSampingHeapProfileNode(root)) |
378 .build(); | 378 .build(); |
379 return Response::OK(); | 379 return Response::OK(); |
380 } | 380 } |
381 | 381 |
382 } // namespace v8_inspector | 382 } // namespace v8_inspector |
OLD | NEW |