fb86158a3b
This is a reland of ce8cef36aa
Original change's description:
> [inspector] Consistently format all native accessors as own properties.
>
> Previously the V8 inspector would only turn embedder accessors on the
> prototype chain into data properties, but would not do the same for
> ECMAScript builtins, which is kind of inconsistent and weird behavior.
>
> This leaves in the hack that the inspector reports native accessor
> properties as (own) data properties, but now at least the very least
> does so consistently. In the absence of a better solution, we'll go
> with this for now.
>
> Bug: chromium:1076820, chromium:1199247
> Change-Id: I593f909a46cb714dbec629a2944eeb892881ba6f
> Before: https://imgur.com/kPuSldj.png
> After: https://imgur.com/eFau45m.png
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3067319
> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
> Reviewed-by: Kim-Anh Tran <kimanh@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#76059}
Bug: chromium:1076820, chromium:1199247
Change-Id: I11987194b0d0b8b250eda4f8ce0ae5fc743eb27c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3070701
Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Kim-Anh Tran <kimanh@chromium.org>
Auto-Submit: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by: Kim-Anh Tran <kimanh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#76084}
890 lines
17 KiB
Plaintext
890 lines
17 KiB
Plaintext
Tests that Runtime.evaluate will generate correct previews.
|
|
|
|
Running test: testObjectPropertiesPreview
|
|
{
|
|
description : Object
|
|
overflow : false
|
|
properties : [
|
|
[0] : {
|
|
name : p1
|
|
type : object
|
|
value : Object
|
|
}
|
|
[1] : {
|
|
name : p2
|
|
type : object
|
|
value : Object
|
|
}
|
|
[2] : {
|
|
name : p3
|
|
type : function
|
|
value :
|
|
}
|
|
[3] : {
|
|
name : p4
|
|
type : accessor
|
|
}
|
|
[4] : {
|
|
name : p6
|
|
type : accessor
|
|
}
|
|
]
|
|
type : object
|
|
}
|
|
|
|
Running test: testArrayPropertiesPreview
|
|
{
|
|
description : Array(8)
|
|
overflow : false
|
|
properties : [
|
|
[0] : {
|
|
name : 2
|
|
type : number
|
|
value : 1
|
|
}
|
|
[1] : {
|
|
name : 3
|
|
subtype : array
|
|
type : object
|
|
value : Array(1)
|
|
}
|
|
[2] : {
|
|
name : 4
|
|
type : function
|
|
value :
|
|
}
|
|
[3] : {
|
|
name : nonEntryFunction
|
|
type : function
|
|
value :
|
|
}
|
|
[4] : {
|
|
name : 5
|
|
type : accessor
|
|
}
|
|
[5] : {
|
|
name : 7
|
|
type : accessor
|
|
}
|
|
]
|
|
subtype : array
|
|
type : object
|
|
}
|
|
|
|
Running test: testInheritingObjectPropertiesPreview
|
|
{
|
|
description : Object
|
|
overflow : false
|
|
properties : [
|
|
[0] : {
|
|
name : prototype
|
|
type : object
|
|
value : Object
|
|
}
|
|
]
|
|
type : object
|
|
}
|
|
|
|
Running test: testInheritingArrayPropertiesPreview
|
|
{
|
|
description : Array(0)
|
|
overflow : false
|
|
properties : [
|
|
[0] : {
|
|
name : prototype
|
|
subtype : array
|
|
type : object
|
|
value : Array(8)
|
|
}
|
|
]
|
|
subtype : array
|
|
type : object
|
|
}
|
|
|
|
Running test: testShortTypedArrayPropertiesPreview
|
|
{
|
|
description : Uint8Array(3)
|
|
overflow : false
|
|
properties : [
|
|
[0] : {
|
|
name : 0
|
|
type : number
|
|
value : 0
|
|
}
|
|
[1] : {
|
|
name : 1
|
|
type : number
|
|
value : 0
|
|
}
|
|
[2] : {
|
|
name : 2
|
|
type : number
|
|
value : 0
|
|
}
|
|
[3] : {
|
|
name : buffer
|
|
subtype : arraybuffer
|
|
type : object
|
|
value : ArrayBuffer(3)
|
|
}
|
|
[4] : {
|
|
name : byteLength
|
|
type : number
|
|
value : 3
|
|
}
|
|
[5] : {
|
|
name : byteOffset
|
|
type : number
|
|
value : 0
|
|
}
|
|
[6] : {
|
|
name : length
|
|
type : number
|
|
value : 3
|
|
}
|
|
]
|
|
subtype : typedarray
|
|
type : object
|
|
}
|
|
|
|
Running test: testLongTypedArrayPropertiesPreview
|
|
{
|
|
description : Uint8Array(500001)
|
|
overflow : true
|
|
properties : [
|
|
[0] : {
|
|
name : 0
|
|
type : number
|
|
value : 0
|
|
}
|
|
[1] : {
|
|
name : 1
|
|
type : number
|
|
value : 0
|
|
}
|
|
[2] : {
|
|
name : 2
|
|
type : number
|
|
value : 0
|
|
}
|
|
[3] : {
|
|
name : 3
|
|
type : number
|
|
value : 0
|
|
}
|
|
[4] : {
|
|
name : 4
|
|
type : number
|
|
value : 0
|
|
}
|
|
[5] : {
|
|
name : 5
|
|
type : number
|
|
value : 0
|
|
}
|
|
[6] : {
|
|
name : 6
|
|
type : number
|
|
value : 0
|
|
}
|
|
[7] : {
|
|
name : 7
|
|
type : number
|
|
value : 0
|
|
}
|
|
[8] : {
|
|
name : 8
|
|
type : number
|
|
value : 0
|
|
}
|
|
[9] : {
|
|
name : 9
|
|
type : number
|
|
value : 0
|
|
}
|
|
[10] : {
|
|
name : 10
|
|
type : number
|
|
value : 0
|
|
}
|
|
[11] : {
|
|
name : 11
|
|
type : number
|
|
value : 0
|
|
}
|
|
[12] : {
|
|
name : 12
|
|
type : number
|
|
value : 0
|
|
}
|
|
[13] : {
|
|
name : 13
|
|
type : number
|
|
value : 0
|
|
}
|
|
[14] : {
|
|
name : 14
|
|
type : number
|
|
value : 0
|
|
}
|
|
[15] : {
|
|
name : 15
|
|
type : number
|
|
value : 0
|
|
}
|
|
[16] : {
|
|
name : 16
|
|
type : number
|
|
value : 0
|
|
}
|
|
[17] : {
|
|
name : 17
|
|
type : number
|
|
value : 0
|
|
}
|
|
[18] : {
|
|
name : 18
|
|
type : number
|
|
value : 0
|
|
}
|
|
[19] : {
|
|
name : 19
|
|
type : number
|
|
value : 0
|
|
}
|
|
[20] : {
|
|
name : 20
|
|
type : number
|
|
value : 0
|
|
}
|
|
[21] : {
|
|
name : 21
|
|
type : number
|
|
value : 0
|
|
}
|
|
[22] : {
|
|
name : 22
|
|
type : number
|
|
value : 0
|
|
}
|
|
[23] : {
|
|
name : 23
|
|
type : number
|
|
value : 0
|
|
}
|
|
[24] : {
|
|
name : 24
|
|
type : number
|
|
value : 0
|
|
}
|
|
[25] : {
|
|
name : 25
|
|
type : number
|
|
value : 0
|
|
}
|
|
[26] : {
|
|
name : 26
|
|
type : number
|
|
value : 0
|
|
}
|
|
[27] : {
|
|
name : 27
|
|
type : number
|
|
value : 0
|
|
}
|
|
[28] : {
|
|
name : 28
|
|
type : number
|
|
value : 0
|
|
}
|
|
[29] : {
|
|
name : 29
|
|
type : number
|
|
value : 0
|
|
}
|
|
[30] : {
|
|
name : 30
|
|
type : number
|
|
value : 0
|
|
}
|
|
[31] : {
|
|
name : 31
|
|
type : number
|
|
value : 0
|
|
}
|
|
[32] : {
|
|
name : 32
|
|
type : number
|
|
value : 0
|
|
}
|
|
[33] : {
|
|
name : 33
|
|
type : number
|
|
value : 0
|
|
}
|
|
[34] : {
|
|
name : 34
|
|
type : number
|
|
value : 0
|
|
}
|
|
[35] : {
|
|
name : 35
|
|
type : number
|
|
value : 0
|
|
}
|
|
[36] : {
|
|
name : 36
|
|
type : number
|
|
value : 0
|
|
}
|
|
[37] : {
|
|
name : 37
|
|
type : number
|
|
value : 0
|
|
}
|
|
[38] : {
|
|
name : 38
|
|
type : number
|
|
value : 0
|
|
}
|
|
[39] : {
|
|
name : 39
|
|
type : number
|
|
value : 0
|
|
}
|
|
[40] : {
|
|
name : 40
|
|
type : number
|
|
value : 0
|
|
}
|
|
[41] : {
|
|
name : 41
|
|
type : number
|
|
value : 0
|
|
}
|
|
[42] : {
|
|
name : 42
|
|
type : number
|
|
value : 0
|
|
}
|
|
[43] : {
|
|
name : 43
|
|
type : number
|
|
value : 0
|
|
}
|
|
[44] : {
|
|
name : 44
|
|
type : number
|
|
value : 0
|
|
}
|
|
[45] : {
|
|
name : 45
|
|
type : number
|
|
value : 0
|
|
}
|
|
[46] : {
|
|
name : 46
|
|
type : number
|
|
value : 0
|
|
}
|
|
[47] : {
|
|
name : 47
|
|
type : number
|
|
value : 0
|
|
}
|
|
[48] : {
|
|
name : 48
|
|
type : number
|
|
value : 0
|
|
}
|
|
[49] : {
|
|
name : 49
|
|
type : number
|
|
value : 0
|
|
}
|
|
[50] : {
|
|
name : 50
|
|
type : number
|
|
value : 0
|
|
}
|
|
[51] : {
|
|
name : 51
|
|
type : number
|
|
value : 0
|
|
}
|
|
[52] : {
|
|
name : 52
|
|
type : number
|
|
value : 0
|
|
}
|
|
[53] : {
|
|
name : 53
|
|
type : number
|
|
value : 0
|
|
}
|
|
[54] : {
|
|
name : 54
|
|
type : number
|
|
value : 0
|
|
}
|
|
[55] : {
|
|
name : 55
|
|
type : number
|
|
value : 0
|
|
}
|
|
[56] : {
|
|
name : 56
|
|
type : number
|
|
value : 0
|
|
}
|
|
[57] : {
|
|
name : 57
|
|
type : number
|
|
value : 0
|
|
}
|
|
[58] : {
|
|
name : 58
|
|
type : number
|
|
value : 0
|
|
}
|
|
[59] : {
|
|
name : 59
|
|
type : number
|
|
value : 0
|
|
}
|
|
[60] : {
|
|
name : 60
|
|
type : number
|
|
value : 0
|
|
}
|
|
[61] : {
|
|
name : 61
|
|
type : number
|
|
value : 0
|
|
}
|
|
[62] : {
|
|
name : 62
|
|
type : number
|
|
value : 0
|
|
}
|
|
[63] : {
|
|
name : 63
|
|
type : number
|
|
value : 0
|
|
}
|
|
[64] : {
|
|
name : 64
|
|
type : number
|
|
value : 0
|
|
}
|
|
[65] : {
|
|
name : 65
|
|
type : number
|
|
value : 0
|
|
}
|
|
[66] : {
|
|
name : 66
|
|
type : number
|
|
value : 0
|
|
}
|
|
[67] : {
|
|
name : 67
|
|
type : number
|
|
value : 0
|
|
}
|
|
[68] : {
|
|
name : 68
|
|
type : number
|
|
value : 0
|
|
}
|
|
[69] : {
|
|
name : 69
|
|
type : number
|
|
value : 0
|
|
}
|
|
[70] : {
|
|
name : 70
|
|
type : number
|
|
value : 0
|
|
}
|
|
[71] : {
|
|
name : 71
|
|
type : number
|
|
value : 0
|
|
}
|
|
[72] : {
|
|
name : 72
|
|
type : number
|
|
value : 0
|
|
}
|
|
[73] : {
|
|
name : 73
|
|
type : number
|
|
value : 0
|
|
}
|
|
[74] : {
|
|
name : 74
|
|
type : number
|
|
value : 0
|
|
}
|
|
[75] : {
|
|
name : 75
|
|
type : number
|
|
value : 0
|
|
}
|
|
[76] : {
|
|
name : 76
|
|
type : number
|
|
value : 0
|
|
}
|
|
[77] : {
|
|
name : 77
|
|
type : number
|
|
value : 0
|
|
}
|
|
[78] : {
|
|
name : 78
|
|
type : number
|
|
value : 0
|
|
}
|
|
[79] : {
|
|
name : 79
|
|
type : number
|
|
value : 0
|
|
}
|
|
[80] : {
|
|
name : 80
|
|
type : number
|
|
value : 0
|
|
}
|
|
[81] : {
|
|
name : 81
|
|
type : number
|
|
value : 0
|
|
}
|
|
[82] : {
|
|
name : 82
|
|
type : number
|
|
value : 0
|
|
}
|
|
[83] : {
|
|
name : 83
|
|
type : number
|
|
value : 0
|
|
}
|
|
[84] : {
|
|
name : 84
|
|
type : number
|
|
value : 0
|
|
}
|
|
[85] : {
|
|
name : 85
|
|
type : number
|
|
value : 0
|
|
}
|
|
[86] : {
|
|
name : 86
|
|
type : number
|
|
value : 0
|
|
}
|
|
[87] : {
|
|
name : 87
|
|
type : number
|
|
value : 0
|
|
}
|
|
[88] : {
|
|
name : 88
|
|
type : number
|
|
value : 0
|
|
}
|
|
[89] : {
|
|
name : 89
|
|
type : number
|
|
value : 0
|
|
}
|
|
[90] : {
|
|
name : 90
|
|
type : number
|
|
value : 0
|
|
}
|
|
[91] : {
|
|
name : 91
|
|
type : number
|
|
value : 0
|
|
}
|
|
[92] : {
|
|
name : 92
|
|
type : number
|
|
value : 0
|
|
}
|
|
[93] : {
|
|
name : 93
|
|
type : number
|
|
value : 0
|
|
}
|
|
[94] : {
|
|
name : 94
|
|
type : number
|
|
value : 0
|
|
}
|
|
[95] : {
|
|
name : 95
|
|
type : number
|
|
value : 0
|
|
}
|
|
[96] : {
|
|
name : 96
|
|
type : number
|
|
value : 0
|
|
}
|
|
[97] : {
|
|
name : 97
|
|
type : number
|
|
value : 0
|
|
}
|
|
[98] : {
|
|
name : 98
|
|
type : number
|
|
value : 0
|
|
}
|
|
[99] : {
|
|
name : 99
|
|
type : number
|
|
value : 0
|
|
}
|
|
]
|
|
subtype : typedarray
|
|
type : object
|
|
}
|
|
|
|
Running test: testSetPropertiesPreview
|
|
{
|
|
description : Set(3)
|
|
entries : [
|
|
[0] : {
|
|
value : {
|
|
description : 1
|
|
overflow : false
|
|
properties : [
|
|
]
|
|
type : number
|
|
}
|
|
}
|
|
[1] : {
|
|
value : {
|
|
description : 2
|
|
overflow : false
|
|
properties : [
|
|
]
|
|
type : number
|
|
}
|
|
}
|
|
[2] : {
|
|
value : {
|
|
description : 3
|
|
overflow : false
|
|
properties : [
|
|
]
|
|
type : number
|
|
}
|
|
}
|
|
]
|
|
overflow : false
|
|
properties : [
|
|
[0] : {
|
|
name : size
|
|
type : number
|
|
value : 3
|
|
}
|
|
]
|
|
subtype : set
|
|
type : object
|
|
}
|
|
|
|
Running test: testBigSetPropertiesPreview
|
|
{
|
|
description : Set(10)
|
|
entries : [
|
|
[0] : {
|
|
value : {
|
|
description : 0
|
|
overflow : false
|
|
properties : [
|
|
]
|
|
type : number
|
|
}
|
|
}
|
|
[1] : {
|
|
value : {
|
|
description : 1
|
|
overflow : false
|
|
properties : [
|
|
]
|
|
type : number
|
|
}
|
|
}
|
|
[2] : {
|
|
value : {
|
|
description : 2
|
|
overflow : false
|
|
properties : [
|
|
]
|
|
type : number
|
|
}
|
|
}
|
|
[3] : {
|
|
value : {
|
|
description : 3
|
|
overflow : false
|
|
properties : [
|
|
]
|
|
type : number
|
|
}
|
|
}
|
|
[4] : {
|
|
value : {
|
|
description : 4
|
|
overflow : false
|
|
properties : [
|
|
]
|
|
type : number
|
|
}
|
|
}
|
|
]
|
|
overflow : true
|
|
properties : [
|
|
[0] : {
|
|
name : size
|
|
type : number
|
|
value : 10
|
|
}
|
|
]
|
|
subtype : set
|
|
type : object
|
|
}
|
|
|
|
Running test: testMixedSetPropertiesPreview
|
|
{
|
|
description : Set(10)
|
|
entries : [
|
|
[0] : {
|
|
value : {
|
|
description : 0
|
|
overflow : false
|
|
properties : [
|
|
]
|
|
type : number
|
|
}
|
|
}
|
|
[1] : {
|
|
value : {
|
|
description : 1
|
|
overflow : false
|
|
properties : [
|
|
]
|
|
type : number
|
|
}
|
|
}
|
|
[2] : {
|
|
value : {
|
|
description : 2
|
|
overflow : false
|
|
properties : [
|
|
]
|
|
type : number
|
|
}
|
|
}
|
|
[3] : {
|
|
value : {
|
|
description : 3
|
|
overflow : false
|
|
properties : [
|
|
]
|
|
type : number
|
|
}
|
|
}
|
|
[4] : {
|
|
value : {
|
|
description : 4
|
|
overflow : false
|
|
properties : [
|
|
]
|
|
type : number
|
|
}
|
|
}
|
|
]
|
|
overflow : true
|
|
properties : [
|
|
[0] : {
|
|
name : _prop_0
|
|
type : number
|
|
value : 1
|
|
}
|
|
[1] : {
|
|
name : _prop_1
|
|
type : number
|
|
value : 1
|
|
}
|
|
[2] : {
|
|
name : _prop_2
|
|
type : number
|
|
value : 1
|
|
}
|
|
[3] : {
|
|
name : _prop_3
|
|
type : number
|
|
value : 1
|
|
}
|
|
[4] : {
|
|
name : _prop_4
|
|
type : number
|
|
value : 1
|
|
}
|
|
]
|
|
subtype : set
|
|
type : object
|
|
}
|
|
|
|
Running test: testObjInheritsGetterProperty
|
|
{
|
|
description : Object
|
|
overflow : false
|
|
properties : [
|
|
[0] : {
|
|
name : propNotNamedProto
|
|
type : number
|
|
value : NaN
|
|
}
|
|
]
|
|
type : object
|
|
}
|
|
|
|
Running test: testObjWithArrayAsProto
|
|
{
|
|
description : Array
|
|
overflow : false
|
|
properties : [
|
|
]
|
|
type : object
|
|
}
|
|
|
|
Running test: testArrayWithLongValues
|
|
{
|
|
description : Array(2)
|
|
overflow : false
|
|
properties : [
|
|
[0] : {
|
|
name : 0
|
|
type : string
|
|
value : aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa…aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
}
|
|
[1] : {
|
|
name : 1
|
|
type : bigint
|
|
value : 51644997561738171793118383440060237486594115856584…033682389259290706560275662871806343945494986752n
|
|
}
|
|
]
|
|
subtype : array
|
|
type : object
|
|
}
|