v8/test/inspector/sessions/runtime-remote-object-expected.txt
Benedikt Meurer 2b94e5677f [inspector] Report [[Prototype]] as internal property.
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}
2021-04-09 12:30:13 +00:00

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
}
]
}
}