4401ac4461
This reverts commit d9fbfeb894
.
Reason for revert: see bug.
Bug: 906847
Original change's description:
> inspector: return [[StableObjectId]] as internal property
>
> This property might be useful for fast '===' check.
>
> R=dgozman@chromium.org,yangguo@chromium.org
>
> Bug: none
> Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;luci.chromium.try:linux_chromium_rel_ng;master.tryserver.blink:linux_trusty_blink_rel
> Change-Id: Iabc3555ce1ec2c14cf0ccd40b7d964ae144e7352
> Reviewed-on: https://chromium-review.googlesource.com/1226411
> Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
> Reviewed-by: Yang Guo <yangguo@chromium.org>
> Reviewed-by: Jakob Gruber <jgruber@chromium.org>
> Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#56095}
TBR=dgozman@chromium.org,yangguo@chromium.org,kozyatinskiy@chromium.org,jgruber@chromium.org
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: none
Change-Id: I68c700b7b8fd0a015f099460c15665d74e4da183
Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;luci.chromium.try:linux_chromium_rel_ng;master.tryserver.blink:linux_trusty_blink_rel
Reviewed-on: https://chromium-review.googlesource.com/c/1363558
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Reviewed-by: Alexei Filippov <alph@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58077}
603 lines
16 KiB
Plaintext
603 lines
16 KiB
Plaintext
Checks internal properties in Runtime.getProperties output
|
|
|
|
Running test: generatorFunction
|
|
expression: (function* foo() { yield 1 })
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
internalProperties : [
|
|
[0] : {
|
|
name : [[FunctionLocation]]
|
|
value : {
|
|
description : Object
|
|
subtype : internal#location
|
|
type : object
|
|
value : {
|
|
columnNumber : 14
|
|
lineNumber : 0
|
|
scriptId : <scriptId>
|
|
}
|
|
}
|
|
}
|
|
[1] : {
|
|
name : [[IsGenerator]]
|
|
value : {
|
|
type : boolean
|
|
value : true
|
|
}
|
|
}
|
|
[2] : {
|
|
name : [[Scopes]]
|
|
value : {
|
|
className : Array
|
|
description : Scopes[1]
|
|
objectId : <objectId>
|
|
subtype : internal#scopeList
|
|
type : object
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
|
|
Running test: regularFunction
|
|
expression: (function foo() {})
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
internalProperties : [
|
|
[0] : {
|
|
name : [[FunctionLocation]]
|
|
value : {
|
|
description : Object
|
|
subtype : internal#location
|
|
type : object
|
|
value : {
|
|
columnNumber : 13
|
|
lineNumber : 0
|
|
scriptId : <scriptId>
|
|
}
|
|
}
|
|
}
|
|
[1] : {
|
|
name : [[Scopes]]
|
|
value : {
|
|
className : Array
|
|
description : Scopes[1]
|
|
objectId : <objectId>
|
|
subtype : internal#scopeList
|
|
type : object
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
|
|
Running test: boxedObjects
|
|
expression: new Number(239)
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
internalProperties : [
|
|
[0] : {
|
|
name : [[PrimitiveValue]]
|
|
value : {
|
|
description : 239
|
|
type : number
|
|
value : 239
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
expression: new Boolean(false)
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
internalProperties : [
|
|
[0] : {
|
|
name : [[PrimitiveValue]]
|
|
value : {
|
|
type : boolean
|
|
value : false
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
expression: new String('abc')
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
internalProperties : [
|
|
[0] : {
|
|
name : [[PrimitiveValue]]
|
|
value : {
|
|
type : string
|
|
value : abc
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
expression: Object(Symbol(42))
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
internalProperties : [
|
|
[0] : {
|
|
name : [[PrimitiveValue]]
|
|
value : {
|
|
description : Symbol(42)
|
|
objectId : <objectId>
|
|
type : symbol
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
expression: Object(BigInt(2))
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
internalProperties : [
|
|
[0] : {
|
|
name : [[PrimitiveValue]]
|
|
value : {
|
|
description : 2n
|
|
type : bigint
|
|
unserializableValue : 2n
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
|
|
Running test: promise
|
|
expression: Promise.resolve(42)
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
internalProperties : [
|
|
[0] : {
|
|
name : [[PromiseStatus]]
|
|
value : {
|
|
type : string
|
|
value : resolved
|
|
}
|
|
}
|
|
[1] : {
|
|
name : [[PromiseValue]]
|
|
value : {
|
|
description : 42
|
|
type : number
|
|
value : 42
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
expression: new Promise(() => undefined)
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
internalProperties : [
|
|
[0] : {
|
|
name : [[PromiseStatus]]
|
|
value : {
|
|
type : string
|
|
value : pending
|
|
}
|
|
}
|
|
[1] : {
|
|
name : [[PromiseValue]]
|
|
value : {
|
|
type : undefined
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
|
|
Running test: generatorObject
|
|
expression: gen1
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
internalProperties : [
|
|
[0] : {
|
|
name : [[GeneratorLocation]]
|
|
value : {
|
|
description : Object
|
|
subtype : internal#location
|
|
type : object
|
|
value : {
|
|
columnNumber : 13
|
|
lineNumber : 8
|
|
scriptId : <scriptId>
|
|
}
|
|
}
|
|
}
|
|
[1] : {
|
|
name : [[GeneratorStatus]]
|
|
value : {
|
|
type : string
|
|
value : suspended
|
|
}
|
|
}
|
|
[2] : {
|
|
name : [[GeneratorFunction]]
|
|
value : {
|
|
className : GeneratorFunction
|
|
description : function* foo() { yield 1; }
|
|
objectId : <objectId>
|
|
type : function
|
|
}
|
|
}
|
|
[3] : {
|
|
name : [[GeneratorReceiver]]
|
|
value : {
|
|
className : global
|
|
description : global
|
|
objectId : <objectId>
|
|
type : object
|
|
}
|
|
}
|
|
[4] : {
|
|
name : [[Scopes]]
|
|
value : {
|
|
className : Array
|
|
description : Scopes[2]
|
|
objectId : <objectId>
|
|
subtype : internal#scopeList
|
|
type : object
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
expression: gen1.next();gen1
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
internalProperties : [
|
|
[0] : {
|
|
name : [[GeneratorLocation]]
|
|
value : {
|
|
description : Object
|
|
subtype : internal#location
|
|
type : object
|
|
value : {
|
|
columnNumber : 2
|
|
lineNumber : 9
|
|
scriptId : <scriptId>
|
|
}
|
|
}
|
|
}
|
|
[1] : {
|
|
name : [[GeneratorStatus]]
|
|
value : {
|
|
type : string
|
|
value : suspended
|
|
}
|
|
}
|
|
[2] : {
|
|
name : [[GeneratorFunction]]
|
|
value : {
|
|
className : GeneratorFunction
|
|
description : function* foo() { yield 1; }
|
|
objectId : <objectId>
|
|
type : function
|
|
}
|
|
}
|
|
[3] : {
|
|
name : [[GeneratorReceiver]]
|
|
value : {
|
|
className : global
|
|
description : global
|
|
objectId : <objectId>
|
|
type : object
|
|
}
|
|
}
|
|
[4] : {
|
|
name : [[Scopes]]
|
|
value : {
|
|
className : Array
|
|
description : Scopes[2]
|
|
objectId : <objectId>
|
|
subtype : internal#scopeList
|
|
type : object
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
expression: gen1.next();gen1
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
internalProperties : [
|
|
[0] : {
|
|
name : [[GeneratorLocation]]
|
|
value : {
|
|
description : Object
|
|
subtype : internal#location
|
|
type : object
|
|
value : {
|
|
columnNumber : 13
|
|
lineNumber : 8
|
|
scriptId : <scriptId>
|
|
}
|
|
}
|
|
}
|
|
[1] : {
|
|
name : [[GeneratorStatus]]
|
|
value : {
|
|
type : string
|
|
value : closed
|
|
}
|
|
}
|
|
[2] : {
|
|
name : [[GeneratorFunction]]
|
|
value : {
|
|
className : GeneratorFunction
|
|
description : function* foo() { yield 1; }
|
|
objectId : <objectId>
|
|
type : function
|
|
}
|
|
}
|
|
[3] : {
|
|
name : [[GeneratorReceiver]]
|
|
value : {
|
|
className : global
|
|
description : global
|
|
objectId : <objectId>
|
|
type : object
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
|
|
Running test: generatorObjectDebuggerDisabled
|
|
expression: gen2
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
internalProperties : [
|
|
[0] : {
|
|
name : [[GeneratorLocation]]
|
|
value : {
|
|
description : Object
|
|
subtype : internal#location
|
|
type : object
|
|
value : {
|
|
columnNumber : 13
|
|
lineNumber : 8
|
|
scriptId : <scriptId>
|
|
}
|
|
}
|
|
}
|
|
[1] : {
|
|
name : [[GeneratorStatus]]
|
|
value : {
|
|
type : string
|
|
value : suspended
|
|
}
|
|
}
|
|
[2] : {
|
|
name : [[GeneratorFunction]]
|
|
value : {
|
|
className : GeneratorFunction
|
|
description : function* foo() { yield 1; }
|
|
objectId : <objectId>
|
|
type : function
|
|
}
|
|
}
|
|
[3] : {
|
|
name : [[GeneratorReceiver]]
|
|
value : {
|
|
className : global
|
|
description : global
|
|
objectId : <objectId>
|
|
type : object
|
|
}
|
|
}
|
|
[4] : {
|
|
name : [[Scopes]]
|
|
value : {
|
|
className : Array
|
|
description : Scopes[2]
|
|
objectId : <objectId>
|
|
subtype : internal#scopeList
|
|
type : object
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
expression: gen2.next();gen2
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
internalProperties : [
|
|
[0] : {
|
|
name : [[GeneratorLocation]]
|
|
value : {
|
|
description : Object
|
|
subtype : internal#location
|
|
type : object
|
|
value : {
|
|
columnNumber : 2
|
|
lineNumber : 9
|
|
scriptId : <scriptId>
|
|
}
|
|
}
|
|
}
|
|
[1] : {
|
|
name : [[GeneratorStatus]]
|
|
value : {
|
|
type : string
|
|
value : suspended
|
|
}
|
|
}
|
|
[2] : {
|
|
name : [[GeneratorFunction]]
|
|
value : {
|
|
className : GeneratorFunction
|
|
description : function* foo() { yield 1; }
|
|
objectId : <objectId>
|
|
type : function
|
|
}
|
|
}
|
|
[3] : {
|
|
name : [[GeneratorReceiver]]
|
|
value : {
|
|
className : global
|
|
description : global
|
|
objectId : <objectId>
|
|
type : object
|
|
}
|
|
}
|
|
[4] : {
|
|
name : [[Scopes]]
|
|
value : {
|
|
className : Array
|
|
description : Scopes[2]
|
|
objectId : <objectId>
|
|
subtype : internal#scopeList
|
|
type : object
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
expression: gen2.next();gen2
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
internalProperties : [
|
|
[0] : {
|
|
name : [[GeneratorLocation]]
|
|
value : {
|
|
description : Object
|
|
subtype : internal#location
|
|
type : object
|
|
value : {
|
|
columnNumber : 13
|
|
lineNumber : 8
|
|
scriptId : <scriptId>
|
|
}
|
|
}
|
|
}
|
|
[1] : {
|
|
name : [[GeneratorStatus]]
|
|
value : {
|
|
type : string
|
|
value : closed
|
|
}
|
|
}
|
|
[2] : {
|
|
name : [[GeneratorFunction]]
|
|
value : {
|
|
className : GeneratorFunction
|
|
description : function* foo() { yield 1; }
|
|
objectId : <objectId>
|
|
type : function
|
|
}
|
|
}
|
|
[3] : {
|
|
name : [[GeneratorReceiver]]
|
|
value : {
|
|
className : global
|
|
description : global
|
|
objectId : <objectId>
|
|
type : object
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
|
|
Running test: iteratorObject
|
|
expression: (new Map([[1,2]])).entries()
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
internalProperties : [
|
|
[0] : {
|
|
name : [[IteratorHasMore]]
|
|
value : {
|
|
type : boolean
|
|
value : true
|
|
}
|
|
}
|
|
[1] : {
|
|
name : [[IteratorIndex]]
|
|
value : {
|
|
description : 0
|
|
type : number
|
|
value : 0
|
|
}
|
|
}
|
|
[2] : {
|
|
name : [[IteratorKind]]
|
|
value : {
|
|
type : string
|
|
value : entries
|
|
}
|
|
}
|
|
[3] : {
|
|
name : [[Entries]]
|
|
value : {
|
|
className : Array
|
|
description : Array(1)
|
|
objectId : <objectId>
|
|
subtype : array
|
|
type : object
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
expression: (new Set([[1,2]])).entries()
|
|
{
|
|
id : <messageId>
|
|
result : {
|
|
internalProperties : [
|
|
[0] : {
|
|
name : [[IteratorHasMore]]
|
|
value : {
|
|
type : boolean
|
|
value : true
|
|
}
|
|
}
|
|
[1] : {
|
|
name : [[IteratorIndex]]
|
|
value : {
|
|
description : 0
|
|
type : number
|
|
value : 0
|
|
}
|
|
}
|
|
[2] : {
|
|
name : [[IteratorKind]]
|
|
value : {
|
|
type : string
|
|
value : entries
|
|
}
|
|
}
|
|
[3] : {
|
|
name : [[Entries]]
|
|
value : {
|
|
className : Array
|
|
description : Array(1)
|
|
objectId : <objectId>
|
|
subtype : array
|
|
type : object
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|