ea04c6671a
In current implementation Object.getOwnPropertyDescriptor calls native getter. It can produce side effects. We can avoid calling it. DevTools frontend will show clickable dots and on click returns value. This CL does not affect Blink and only affect several Node.js properties, e.g. process.title. R=yangguo@chromium.org Bug: v8:6945 Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I5764c779ceed4d50832edf68b2b4c6ee2c2dd65c Reviewed-on: https://chromium-review.googlesource.com/754223 Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#49152}
30 lines
1.1 KiB
JavaScript
30 lines
1.1 KiB
JavaScript
// Copyright 2017 the V8 project authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
let {session, contextGroup, Protocol} =
|
|
InspectorTest.start('Runtime.getProperties for objects with accessor');
|
|
|
|
(async function test() {
|
|
let {result:{result:{objectId}}} = await Protocol.Runtime.evaluate({
|
|
expression: 'inspector.createObjectWithAccessor(\'title\', true)'
|
|
});
|
|
let {result:{result}} = await Protocol.Runtime.getProperties({
|
|
objectId,
|
|
ownProperties: true
|
|
});
|
|
InspectorTest.log('title property with getter and setter:');
|
|
InspectorTest.logMessage(result.find(property => property.name === 'title'));
|
|
|
|
({result:{result:{objectId}}} = await Protocol.Runtime.evaluate({
|
|
expression: 'inspector.createObjectWithAccessor(\'title\', false)'
|
|
}));
|
|
({result:{result}} = await Protocol.Runtime.getProperties({
|
|
objectId,
|
|
ownProperties: true
|
|
}));
|
|
InspectorTest.log('title property with getter only:');
|
|
InspectorTest.logMessage(result.find(property => property.name === 'title'));
|
|
InspectorTest.completeTest();
|
|
})()
|