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

Side by Side Diff: third_party/WebKit/Source/platform/v8_inspector/V8InjectedScriptHost.cpp

Issue 1916023002: [DevTools] Move last inspected objects to V8InspectorSessionImpl (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@move-part-command-line-api-to-native
Patch Set: Created 4 years, 8 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 unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium 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 "platform/v8_inspector/V8InjectedScriptHost.h" 5 #include "platform/v8_inspector/V8InjectedScriptHost.h"
6 6
7 #include "platform/inspector_protocol/String16.h" 7 #include "platform/inspector_protocol/String16.h"
8 #include "platform/inspector_protocol/Values.h" 8 #include "platform/inspector_protocol/Values.h"
9 #include "platform/v8_inspector/InjectedScript.h" 9 #include "platform/v8_inspector/InjectedScript.h"
10 #include "platform/v8_inspector/InjectedScriptHost.h" 10 #include "platform/v8_inspector/InjectedScriptHost.h"
(...skipping 25 matching lines...) Expand all
36 } 36 }
37 37
38 template<typename CallbackInfo> 38 template<typename CallbackInfo>
39 inline void v8SetReturnValue(const CallbackInfo& info, bool value) 39 inline void v8SetReturnValue(const CallbackInfo& info, bool value)
40 { 40 {
41 info.GetReturnValue().Set(value); 41 info.GetReturnValue().Set(value);
42 } 42 }
43 43
44 } 44 }
45 45
46 void V8InjectedScriptHost::inspectedObjectCallback(const v8::FunctionCallbackInf o<v8::Value>& info)
47 {
48 if (info.Length() < 1)
49 return;
50
51 v8::Isolate* isolate = info.GetIsolate();
52 if (!info[0]->IsInt32() && !isolate->IsExecutionTerminating()) {
53 isolate->ThrowException(v8::Exception::TypeError(toV8String(isolate, "ar gument has to be an integer")));
54 return;
55 }
56
57 v8::Local<v8::Context> context = isolate->GetCurrentContext();
58 InjectedScriptHost* host = V8InjectedScriptHost::unwrap(context, info.Holder ());
59 V8RuntimeAgent::Inspectable* object = host->inspectedObject(info[0].As<v8::I nt32>()->Value());
60 v8SetReturnValue(info, object ? object->get(context) : v8::Local<v8::Value>( ));
61 }
62
63 void V8InjectedScriptHost::internalConstructorNameCallback(const v8::FunctionCal lbackInfo<v8::Value>& info) 46 void V8InjectedScriptHost::internalConstructorNameCallback(const v8::FunctionCal lbackInfo<v8::Value>& info)
64 { 47 {
65 if (info.Length() < 1 || !info[0]->IsObject()) 48 if (info.Length() < 1 || !info[0]->IsObject())
66 return; 49 return;
67 50
68 v8::Local<v8::Object> object = info[0].As<v8::Object>(); 51 v8::Local<v8::Object> object = info[0].As<v8::Object>();
69 v8::Local<v8::String> result = object->GetConstructorName(); 52 v8::Local<v8::String> result = object->GetConstructorName();
70 53
71 v8SetReturnValue(info, result); 54 v8SetReturnValue(info, result);
72 } 55 }
(...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after
295 } 278 }
296 279
297 namespace { 280 namespace {
298 281
299 char hiddenPropertyName[] = "v8inspector::InjectedScriptHost"; 282 char hiddenPropertyName[] = "v8inspector::InjectedScriptHost";
300 char className[] = "V8InjectedScriptHost"; 283 char className[] = "V8InjectedScriptHost";
301 using InjectedScriptHostWrapper = InspectorWrapper<InjectedScriptHost, hiddenPro pertyName, className>; 284 using InjectedScriptHostWrapper = InspectorWrapper<InjectedScriptHost, hiddenPro pertyName, className>;
302 285
303 const InjectedScriptHostWrapper::V8MethodConfiguration V8InjectedScriptHostMetho ds[] = { 286 const InjectedScriptHostWrapper::V8MethodConfiguration V8InjectedScriptHostMetho ds[] = {
304 {"inspect", V8InjectedScriptHost::inspectCallback}, 287 {"inspect", V8InjectedScriptHost::inspectCallback},
305 {"inspectedObject", V8InjectedScriptHost::inspectedObjectCallback},
306 {"internalConstructorName", V8InjectedScriptHost::internalConstructorNameCal lback}, 288 {"internalConstructorName", V8InjectedScriptHost::internalConstructorNameCal lback},
307 {"formatAccessorsAsProperties", V8InjectedScriptHost::formatAccessorsAsPrope rties}, 289 {"formatAccessorsAsProperties", V8InjectedScriptHost::formatAccessorsAsPrope rties},
308 {"isTypedArray", V8InjectedScriptHost::isTypedArrayCallback}, 290 {"isTypedArray", V8InjectedScriptHost::isTypedArrayCallback},
309 {"subtype", V8InjectedScriptHost::subtypeCallback}, 291 {"subtype", V8InjectedScriptHost::subtypeCallback},
310 {"collectionEntries", V8InjectedScriptHost::collectionEntriesCallback}, 292 {"collectionEntries", V8InjectedScriptHost::collectionEntriesCallback},
311 {"getInternalProperties", V8InjectedScriptHost::getInternalPropertiesCallbac k}, 293 {"getInternalProperties", V8InjectedScriptHost::getInternalPropertiesCallbac k},
312 {"getEventListeners", V8InjectedScriptHost::getEventListenersCallback}, 294 {"getEventListeners", V8InjectedScriptHost::getEventListenersCallback},
313 {"callFunction", V8InjectedScriptHost::callFunctionCallback}, 295 {"callFunction", V8InjectedScriptHost::callFunctionCallback},
314 {"suppressWarningsAndCallFunction", V8InjectedScriptHost::suppressWarningsAn dCallFunctionCallback}, 296 {"suppressWarningsAndCallFunction", V8InjectedScriptHost::suppressWarningsAn dCallFunctionCallback},
315 {"setNonEnumProperty", V8InjectedScriptHost::setNonEnumPropertyCallback}, 297 {"setNonEnumProperty", V8InjectedScriptHost::setNonEnumPropertyCallback},
(...skipping 14 matching lines...) Expand all
330 { 312 {
331 return InjectedScriptHostWrapper::wrap(constructorTemplate, context, host); 313 return InjectedScriptHostWrapper::wrap(constructorTemplate, context, host);
332 } 314 }
333 315
334 InjectedScriptHost* V8InjectedScriptHost::unwrap(v8::Local<v8::Context> context, v8::Local<v8::Object> object) 316 InjectedScriptHost* V8InjectedScriptHost::unwrap(v8::Local<v8::Context> context, v8::Local<v8::Object> object)
335 { 317 {
336 return InjectedScriptHostWrapper::unwrap(context, object); 318 return InjectedScriptHostWrapper::unwrap(context, object);
337 } 319 }
338 320
339 } // namespace blink 321 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698