2b94e5677f
Previously the inspector was trying to add a special `__proto__` property to every JSObject, which looked and behaved like a real data property on the object. But this is confusing to developers since `__proto__` is not a real data property, but usually an accessor property on the `Object.prototype`. Additionally all other internal properties are reported using the [[Name]] notation, with the [[Prototype]] having been the strange outlier. Drive-by-cleanup: Use an ArrayList to collect the name/value pairs inside Runtime::GetInternalProperties(), which makes this function more readable and easier to add things. Bug: chromuium:1162229 Fixed: chromium:1197019 Screenshot: https://imgur.com/a/b7TZ32s.png Change-Id: Ic4c1e35e2e65f90619fcc12bf3a72806cadb0794 Doc: http://doc/1Xetnc9s6r0yy4LnPbqeCwsnsOtBlvJsV4OCdXMZ1wCM Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2814565 Auto-Submit: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#73881}
98 lines
2.3 KiB
Plaintext
98 lines
2.3 KiB
Plaintext
Tests that multiple sessions do not interfere with each other's remote objects.
|
|
Evaluating in 1
|
|
Evaluating in 2
|
|
Retrieving properties in 2
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
internalProperties : [
|
|
[0] : {
|
|
name : [[Prototype]]
|
|
value : {
|
|
className : Object
|
|
description : Object
|
|
objectId : <objectId>
|
|
type : object
|
|
}
|
|
}
|
|
]
|
|
result : [
|
|
[0] : {
|
|
configurable : true
|
|
enumerable : true
|
|
isOwn : true
|
|
name : a
|
|
value : {
|
|
description : 17
|
|
type : number
|
|
value : 17
|
|
}
|
|
writable : true
|
|
}
|
|
]
|
|
}
|
|
}
|
|
Retrieving properties in 1
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
internalProperties : [
|
|
[0] : {
|
|
name : [[Prototype]]
|
|
value : {
|
|
className : Object
|
|
description : Object
|
|
objectId : <objectId>
|
|
type : object
|
|
}
|
|
}
|
|
]
|
|
result : [
|
|
[0] : {
|
|
configurable : true
|
|
enumerable : true
|
|
isOwn : true
|
|
name : a
|
|
value : {
|
|
description : 42
|
|
type : number
|
|
value : 42
|
|
}
|
|
writable : true
|
|
}
|
|
]
|
|
}
|
|
}
|
|
Disconnecting 2
|
|
Retrieving properties in 1
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
internalProperties : [
|
|
[0] : {
|
|
name : [[Prototype]]
|
|
value : {
|
|
className : Object
|
|
description : Object
|
|
objectId : <objectId>
|
|
type : object
|
|
}
|
|
}
|
|
]
|
|
result : [
|
|
[0] : {
|
|
configurable : true
|
|
enumerable : true
|
|
isOwn : true
|
|
name : a
|
|
value : {
|
|
description : 42
|
|
type : number
|
|
value : 42
|
|
}
|
|
writable : true
|
|
}
|
|
]
|
|
}
|
|
}
|