blob: 9bb70dcbecef0977f06bb269d8592fd751094649 [file] [log] [blame]
{
"domain": "OverlayTypes",
"description": "Exposes types to be used by the inspector overlay.",
"types": [
{
"id": "Point",
"type": "object",
"properties": [
{ "name": "x", "type": "number" },
{ "name": "y", "type": "number" }
]
},
{
"id": "Size",
"type": "object",
"properties": [
{ "name": "width", "type": "integer" },
{ "name": "height", "type": "integer" }
]
},
{
"id": "Quad",
"description": "A quad is a collection of 4 points. When initialized from a rect, the points are in clockwise order from top left.",
"type": "array",
"items": { "$ref": "Point" }
},
{
"id": "Rect",
"description": "A rectangle specified by a reference coordinate and width/height offsets.",
"type": "object",
"properties": [
{ "name": "x", "type": "number" },
{ "name": "y", "type": "number" },
{ "name": "width", "type": "number" },
{ "name": "height", "type": "number" }
]
},
{
"id": "DisplayPath",
"description": "A vector path described using SVG path syntax.",
"type": "array",
"items": { "type": "any" }
},
{
"id": "ShapeOutsideData",
"type": "object",
"properties": [
{ "name": "bounds", "$ref": "Quad", "description": "Bounds for the shape-outside paths." },
{ "name": "shape", "$ref": "DisplayPath", "description": "Path for the element's shape.", "optional": true },
{ "name": "marginShape", "$ref": "DisplayPath", "description": "Path for the element's margin shape.", "optional": true }
]
},
{
"id": "ElementData",
"description": "Data that describes an element to be highlighted.",
"type": "object",
"properties": [
{ "name": "tagName", "type": "string" },
{ "name": "idValue", "type": "string", "description": "The value of the element's 'id' attribute." },
{ "name": "classes", "type": "array", "items": { "type": "string" }, "optional": true },
{ "name": "size", "$ref": "Size", "optional": true },
{ "name": "role", "type": "string", "description": "Computed accessibility role for the element.", "optional": true },
{ "name": "pseudoElement", "type": "string", "optional": true },
{ "name": "shapeOutsideData", "$ref": "ShapeOutsideData", "optional": true }
]
},
{
"id": "FragmentHighlightData",
"description": "Data required to highlight multiple quads.",
"type": "object",
"properties": [
{ "name": "quads", "type": "array", "items": { "$ref": "Quad" }, "description": "Quads for which the highlight should be applied."},
{ "name": "contentColor", "type": "string" },
{ "name": "contentOutlineColor", "type": "string" },
{ "name": "paddingColor", "type": "string" },
{ "name": "borderColor", "type": "string" },
{ "name": "marginColor", "type": "string" }
]
},
{
"id": "NodeHighlightData",
"description": "Data required to highlight a DOM node.",
"type": "object",
"properties": [
{ "name": "scrollOffset", "$ref": "Point", "description": "Scroll offset for the MainFrame's FrameView that is shared across all quads." },
{ "name": "fragments", "type": "array", "items": { "$ref": "FragmentHighlightData" } },
{ "name": "elementData", "$ref": "ElementData", "optional": true }
]
},
{
"id": "OverlayConfiguration",
"description": "Data required to configure the overlay's size and scaling behavior.",
"type": "object",
"properties": [
{ "name": "deviceScaleFactor", "type": "number" },
{ "name": "viewportSize", "$ref": "Size" },
{ "name": "frameViewFullSize", "$ref": "Size" }
]
}
]
}