Web Inspector: Restrict domains at the target level instead of only at the window...
[WebKit-https.git] / Source / JavaScriptCore / inspector / protocol / Recording.json
1 {
2     "domain": "Recording",
3     "description": "General types used for recordings of actions performed in the inspected page.",
4     "availability": ["web"],
5     "types": [
6         {
7             "id": "Type",
8             "type": "string",
9             "enum": ["canvas-2d", "canvas-bitmaprenderer", "canvas-webgl"],
10             "description": "The type of the recording."
11         },
12         {
13             "id": "Initiator",
14             "type": "string",
15             "enum": ["frontend", "console", "auto-capture"]
16         },
17         {
18             "id": "InitialState",
19             "type": "object",
20             "description": "Information about the initial state of the recorded object.",
21             "properties": [
22                 { "name": "attributes", "type": "object", "optional": true, "description": "Key-value map for each attribute of the state." },
23                 { "name": "states", "type": "array", "items": { "type": "object" }, "optional": true, "description": "Array of saved states of the context." },
24                 { "name": "parameters", "type": "array", "items": { "type": "any" }, "optional": true, "description": "Array of values that were used to construct the recorded object." },
25                 { "name": "content", "type": "string", "optional": true, "description": "Current content at the start of the recording." }
26             ]
27         },
28         {
29             "id": "Frame",
30             "type": "object",
31             "description": "Container object for a single frame of the recording.",
32             "properties": [
33                 { "name": "actions", "type": "array", "items": { "type": "any" }, "description": "Information about an action made to the recorded object. Follows the structure [name, parameters, swizzleTypes, trace], where name is a string, parameters is an array, swizzleTypes is an array, and trace is an array."},
34                 { "name": "duration", "type": "number", "optional": true, "description": "Total execution time of all actions recorded in this frame in milliseconds. " },
35                 { "name": "incomplete", "type": "boolean", "optional": true, "description": "Flag indicating if the recording was stopped before this frame ended." }
36             ]
37         },
38         {
39             "id": "Recording",
40             "type": "object",
41             "properties": [
42                 { "name": "version", "type": "integer", "description": "Used for future/backwards compatibility." },
43                 { "name": "type", "$ref": "Type" },
44                 { "name": "initialState", "$ref": "InitialState", "description": "JSON data of inital state of object before recording." },
45                 { "name": "data", "type": "array", "items": { "type": "any" }, "description": "Array of objects that can be referenced by index. Used to avoid duplicating objects." },
46                 { "name": "name", "type": "string", "optional": true }
47             ]
48         }
49     ]
50 }