]> git.saurik.com Git - apple/javascriptcore.git/blame - inspector/protocol/LayerTree.json
JavaScriptCore-7601.1.46.3.tar.gz
[apple/javascriptcore.git] / inspector / protocol / LayerTree.json
CommitLineData
ed1e77d3
A
1{
2 "domain": "LayerTree",
3 "availability": "web",
4 "types": [
5 {
6 "id": "LayerId",
7 "type": "string",
8 "description": "Unique RenderLayer identifier."
9 },
10 {
11 "id": "PseudoElementId",
12 "type": "string",
13 "description": "Unique PseudoElement identifier."
14 },
15 {
16 "id": "IntRect",
17 "type": "object",
18 "description": "A rectangle.",
19 "properties": [
20 { "name": "x", "type": "integer", "description": "The x position." },
21 { "name": "y", "type": "integer", "description": "The y position." },
22 { "name": "width", "type": "integer", "description": "The width metric." },
23 { "name": "height", "type": "integer", "description": "The height metric." }
24 ]
25 },
26 {
27 "id": "Layer",
28 "type": "object",
29 "description": "Information about a compositing layer.",
30 "properties": [
31 { "name": "layerId", "$ref": "LayerId", "description": "The unique id for this layer." },
32 { "name": "nodeId", "$ref": "DOM.NodeId", "description": "The id for the node associated with this layer." },
33 { "name": "bounds", "$ref": "IntRect", "description": "Bounds of the layer in absolute page coordinates." },
34 { "name": "paintCount", "type": "integer", "description": "Indicates how many time this layer has painted." },
35 { "name": "memory", "type": "integer", "description": "Estimated memory used by this layer." },
36 { "name": "compositedBounds", "$ref": "IntRect", "description": "The bounds of the composited layer." },
37 { "name": "isInShadowTree", "type": "boolean", "optional": true, "description": "Indicates whether this layer is associated with an element hosted in a shadow tree." },
38 { "name": "isReflection", "type": "boolean", "optional": true, "description": "Indicates whether this layer was used to provide a reflection for the element." },
39 { "name": "isGeneratedContent", "type": "boolean", "optional": true, "description": "Indicates whether the layer is attached to a pseudo element that is CSS generated content." },
40 { "name": "isAnonymous", "type": "boolean", "optional": true, "description": "Indicates whether the layer was created for a CSS anonymous block or box." },
41 { "name": "pseudoElementId", "$ref": "PseudoElementId", "optional": true, "description": "The id for the pseudo element associated with this layer." },
42 { "name": "pseudoElement", "type": "string", "optional": true, "description": "The name of the CSS pseudo-element that prompted the layer to be generated." }
43 ]
44 },
45 {
46 "id": "CompositingReasons",
47 "type": "object",
48 "description": "An object containing the reasons why the layer was composited as properties.",
49 "properties": [
50 { "name": "transform3D", "type": "boolean", "optional": true, "description": "Composition due to association with an element with a CSS 3D transform." },
51 { "name": "video", "type": "boolean", "optional": true, "description": "Composition due to association with a <video> element." },
52 { "name": "canvas", "type": "boolean", "optional": true, "description": "Composition due to the element being a <canvas> element." },
53 { "name": "plugin", "type": "boolean", "optional": true, "description": "Composition due to association with a plugin." },
54 { "name": "iFrame", "type": "boolean", "optional": true, "description": "Composition due to association with an <iframe> element." },
55 { "name": "backfaceVisibilityHidden", "type": "boolean", "optional": true, "description": "Composition due to association with an element with a \"backface-visibility: hidden\" style." },
56 { "name": "clipsCompositingDescendants", "type": "boolean", "optional": true, "description": "Composition due to association with an element clipping compositing descendants." },
57 { "name": "animation", "type": "boolean", "optional": true, "description": "Composition due to association with an animated element." },
58 { "name": "filters", "type": "boolean", "optional": true, "description": "Composition due to association with an element with CSS filters applied." },
59 { "name": "positionFixed", "type": "boolean", "optional": true, "description": "Composition due to association with an element with a \"position: fixed\" style." },
60 { "name": "positionSticky", "type": "boolean", "optional": true, "description": "Composition due to association with an element with a \"position: sticky\" style." },
61 { "name": "overflowScrollingTouch", "type": "boolean", "optional": true, "description": "Composition due to association with an element with a \"overflow-scrolling: touch\" style." },
62 { "name": "stacking", "type": "boolean", "optional": true, "description": "Composition due to association with an element establishing a stacking context." },
63 { "name": "overlap", "type": "boolean", "optional": true, "description": "Composition due to association with an element overlapping other composited elements." },
64 { "name": "negativeZIndexChildren", "type": "boolean", "optional": true, "description": "Composition due to association with an element with descendants that have a negative z-index." },
65 { "name": "transformWithCompositedDescendants", "type": "boolean", "optional": true, "description": "Composition due to association with an element with composited descendants." },
66 { "name": "opacityWithCompositedDescendants", "type": "boolean", "optional": true, "description": "Composition due to association with an element with opacity applied and composited descendants." },
67 { "name": "maskWithCompositedDescendants", "type": "boolean", "optional": true, "description": "Composition due to association with a masked element and composited descendants." },
68 { "name": "reflectionWithCompositedDescendants", "type": "boolean", "optional": true, "description": "Composition due to association with an element with a reflection and composited descendants." },
69 { "name": "filterWithCompositedDescendants", "type": "boolean", "optional": true, "description": "Composition due to association with an element with CSS filters applied and composited descendants." },
70 { "name": "blendingWithCompositedDescendants", "type": "boolean", "optional": true, "description": "Composition due to association with an element with CSS blending applied and composited descendants." },
71 { "name": "isolatesCompositedBlendingDescendants", "type": "boolean", "optional": true, "description": "Composition due to association with an element isolating compositing descendants having CSS blending applied." },
72 { "name": "perspective", "type": "boolean", "optional": true, "description": "Composition due to association with an element with perspective applied." },
73 { "name": "preserve3D", "type": "boolean", "optional": true, "description": "Composition due to association with an element with a \"transform-style: preserve-3d\" style." },
74 { "name": "root", "type": "boolean", "optional": true, "description": "Composition due to association with the root element." },
75 { "name": "blending", "type": "boolean", "optional": true, "description": "Composition due to association with an element with a \"blend-mode\" style." }
76 ]
77 }
78 ],
79 "commands": [
80 {
81 "name": "enable",
82 "description": "Enables compositing tree inspection."
83 },
84 {
85 "name": "disable",
86 "description": "Disables compositing tree inspection."
87 },
88 {
89 "name": "layersForNode",
90 "parameters": [
91 { "name": "nodeId", "$ref": "DOM.NodeId", "description": "Root of the subtree for which we want to gather layers." } ],
92 "description": "Returns the layer tree structure of the current page.",
93 "returns": [
94 { "name": "layers", "type": "array", "items": { "$ref": "Layer" }, "description": "Child layers." }
95 ]
96 },
97 {
98 "name": "reasonsForCompositingLayer",
99 "parameters": [
100 { "name": "layerId", "$ref": "LayerId", "description": "The id of the layer for which we want to get the reasons it was composited." }
101 ],
102 "description": "Provides the reasons why the given layer was composited.",
103 "returns": [
104 { "name": "compositingReasons", "$ref": "CompositingReasons", "description": "An object containing the reasons why the layer was composited as properties." }
105 ]
106 }
107 ],
108 "events": [
109 {
110 "name": "layerTreeDidChange"
111 }
112 ]
113}